Claude Code スケジュールタスク
デスクトップスケジュールタスクによる堅牢な自動化、CLI /loop によるセッション内ポーリング、キャッチアップルール、ワークツリーの分離、そしてチームが毎朝実際に使用するプロンプトについて解説します。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。
課題: 毎朝新しいセッションを開いて、同じ「エラーログを確認する」プロンプトを入力し続けていませんか。日次コードレビューを実行し忘れることもあるでしょう。スケジュールタスクはその問題を解決します。プロンプトを一度保存し、実行頻度を設定すれば、あとは Claude が自動的に処理してくれます。Channels と連携すれば、出力が Telegram や Discord に届き、指一本動かす必要もありません。
2種類のタスクがあります。デスクトップスケジュールタスクは永続性のあるタイプです。再起動後も維持され、設定したスケジュールで実行され、アプリが開いている限り動き続けます。CLIセッションスコープタスクは、高速なセッション内ポーリングのために /loop と cron ツールを使用しますが、セッション終了時に消えます。どちらもここで説明します。
デスクトップスケジュールタスク
Claude Code での繰り返し作業には、デスクトップスケジュールタスクがメインの手段です。各タスクはあなたのマシン上で実行され、設定した時刻と頻度で新しいセッションを起動します。各実行では、ファイル、MCPサーバー、スキル、コネクター、プラグインへのフルアクセスが付与されます。
タスクの作成
デスクトップのサイドバーにある Schedule をクリックし、次に + New task をクリックします。以下のフィールドを入力します:
| フィールド | 説明 |
|---|---|
| Name | タスクの識別子(小文字のケバブケースに変換され、ディスク上のフォルダ名として使用されます。一意である必要があります) |
| Description | タスク一覧に表示される短い説明 |
| Prompt | 各実行時に Claude に送られる指示。プロンプトボックスに入力するメッセージと同じ形式です |
| Frequency | タスクの実行頻度(以下の頻度オプションを参照) |
プロンプトフィールドの下には追加のコントロールが表示されます: モデルの選択、パーミッションモード、作業フォルダ、ワークツリーの分離です。ワークツリートグルを有効にすると、各実行に独自の Git ワークツリーが割り当てられるため、スケジュール実行が手動編集と競合することがなくなります。
会話形式での作成も可能です。任意のデスクトップセッション内で次のように入力します:「毎朝9時に実行される日次コードレビューを設定して」。Claude が設定してくれます。
頻度オプション
| 頻度 | 動作 |
|---|---|
| Manual | スケジュールなし。Run now をクリックした時のみ実行 |
| Hourly | 1時間ごと。トラフィックを分散するために最大10分の固定オフセットあり |
| Daily | 時刻ピッカー。デフォルトはローカル時間の午前9:00 |
| Weekdays | Daily と同じだが、土曜日と日曜日はスキップ |
| Weekly | 時刻ピッカーと曜日ピッカー |
ピッカーで対応していない頻度(15分ごと、毎月初日など)は、任意のデスクトップセッション内で Claude に普通の英語で依頼することで設定できます。例:「6時間ごとにすべてのテストを実行するタスクをスケジュールして」
デスクトップタスクの起動方法
アプリが開いている間、デスクトップは1分ごとにスケジュールをスキャンします。実行時刻になったタスクは、画面上の作業に影響を与えない新しいセッションを起動します。API トラフィックを分散するため、各タスクはスケジュールされた時刻から最大10分の確定的なオフセット後に実行されます。同じタスクは常に同じオフセットを使用します。
タスク起動時にデスクトップ通知が表示されます。サイドバーの Scheduled セクションに新しいセッションが表示されます。それを開くと、Claude が何をしたか確認でき、差分を確認したり、保留中のパーミッションプロンプトに応答したりできます。そのセッション内で Claude はファイルの編集、コマンドの実行、コミットの作成、プルリクエストのオープンが可能です。通常のセッションと同様に動作します。
実行漏れとキャッチアップ
起動時(またはコンピューターがスリープから復帰した時)、デスクトップは過去7日間を遡り、各タスクが逃した実行を探します。見つかった場合は、最も最近の実行漏れ時刻に対して1回だけキャッチアップ実行を行い、残りは破棄します。6日分の日次実行漏れは、復帰時に1回の実行になります。キャッチアップ開始時に通知が表示されます。
この動作を踏まえてプロンプトを書いてください。午前9時のタスクが、ノートパソコンが一日中スリープしていた後に午後11時に実行される場合があります。それが問題になる場合は、ガードレールを追加してください:「今日のコミットのみを確認する。午後5時以降の場合は、レビューをスキップして逃した内容の要約を投稿する」
スケジュールタスクのパーミッション
各タスクには、作成時または編集時に設定された独自のパーミッションモードがあります。~/.claude/settings.json からの許可ルールはその上にも適用されます。Ask モードでタスクを実行し、タスクが使用できないツールに当たると、あなたが承認するまで実行が停止します。セッションはサイドバーで待機状態になり、都合のいい時に応答できます。
停止を回避するコツ: タスク作成直後に Run now をクリックし、プロンプトを確認して、各ツールに「always allow」を選択します。それ以降の実行では同じツールが自動承認されます。承認済みの内容は、タスクの詳細ページの Always allowed パネルで確認(および取り消し)できます。
タスクの管理
Schedule リスト内のタスクをクリックして詳細ページを開きます:
- Run now: 次のスケジュール時刻を待たずにすぐにタスクを開始
- Toggle repeats: タスクを削除せずにスケジュール実行を一時停止または再開
- Edit: プロンプト、頻度、フォルダ、モデル、パーミッションモードを変更
- Review history: スキップされたものを含む、すべての過去の実行を確認
- Review allowed permissions: 保存されたツール承認を確認および取り消し
- Delete: タスクを削除し、作成されたすべてのセッションをアーカイブ
音声での管理も可能です。任意のセッションから次のように試してみてください:「dependency-auditタスクを一時停止して」、「standup-prepタスクを削除して」、「スケジュールされたタスクを表示して」
タスクのプロンプトは ~/.claude/scheduled-tasks/<task-name>/SKILL.md にディスク上で保存されており、名前と説明のための YAML フロントマターが含まれています。ファイルを直接編集すると、次の実行時に変更が反映されます。
CLI スケジュールタスク: /loop と Cron ツール
CLIにはより軽量なスケジューリングシステムが搭載されています。これはセッションスコープです。タスクは現在の Claude Code プロセス内に存在し、終了すると消えます。高速なポーリングとセッション内モニタリングに使用します。永続的なものには向きません。
/loop コマンド
CLI で繰り返しプロンプトをスケジュールする最速の方法:
/loop 5m デプロイが完了したか確認して結果を教えて
Claude はインターバルを解析し、cron 式に変換してジョブをスケジュールし、頻度とジョブ ID を通知します。
柔軟なインターバル構文:
| 形式 | 例 | 解析されるインターバル |
|---|---|---|
| 先頭トークン | /loop 30m ビルドを確認 | 30分ごと |
末尾の every 句 | /loop ビルドを2時間ごとに確認 | 2時間ごと |
| インターバルなし | /loop ビルドを確認 | デフォルトで10分ごと |
サポートされる単位: s(秒、最小1分に切り上げ)、m(分)、h(時間)、d(日)
他のコマンドもループできます:
/loop 20m /review-pr 1234
ジョブが実行されるたびに、Claude は /review-pr 1234 を入力したかのように実行します。
1回限りのリマインダー
単発タスクはさらにシンプルです。普通の言葉で指定できます:
午後3時にリリースブランチをプッシュするよう教えて
45分後に統合テストが通ったか確認して
Claude は実行時刻を特定の cron 式に固定し、実行時刻を確認します。
内部の仕組み: CronCreate、CronList、CronDelete
/loop と自然言語スケジューリングは、以下のツールを使用します:
| ツール | 目的 |
|---|---|
CronCreate | 5フィールドの cron 式とプロンプトで新しいタスクをスケジュール |
CronList | ID、スケジュール、プロンプトを含むすべてのスケジュールタスクを一覧表示 |
CronDelete | 8文字の ID でタスクをキャンセル |
セッションごとに最大50のスケジュールタスク。時刻はローカルタイムゾーンで実行されます。
CLI スケジューリングの制約
- セッションスコープ: ターミナルを閉じるか Claude Code を終了すると、すべてキャンセルされます
- キャッチアップなし: タスクの実行時刻に Claude がビジー状態の場合、アイドル時に1回だけ実行されます(逃した間隔ごとではありません)
- 3日後に期限切れ: 繰り返しタスクは、忘れたループが長期間実行されないよう3日後に自動削除されます
- 永続性なし: Claude Code を再起動すると、セッションスコープのタスクがすべてクリアされます
CLAUDE_CODE_DISABLE_CRON=1で完全に無効化可能
デスクトップ vs CLI: どちらを使うべきか
| 側面 | デスクトップスケジュールタスク | CLI /loop + Cron ツール |
|---|---|---|
| 永続性 | 再起動後も維持。アプリが開いている限り実行 | セッション終了時に消える |
| セットアップ | サイドバーのビジュアルフォーム | /loop 5m プロンプト インライン |
| 実行漏れ | 過去7日分をキャッチアップ(1回の実行) | キャッチアップなし |
| 有効期限 | なし(削除するまで実行) | 3日後に自動削除 |
| 最大タスク数 | 制限なし | セッションあたり50 |
| パーミッション | 「always allow」承認付きのタスクごとのパーミッションモード | セッションパーミッションを継承 |
| Git 分離 | 実行ごとのオプションのワークツリー | 分離なし |
| 最適な用途 | 日次レビュー、週次レポート、朝のブリーフィング | デプロイのポーリング、PR の監視、クイックチェック |
デスクトップスケジュールタスクは、明日、来週、または永続的に実行したいものすべてをカバーします。「このデプロイを次の1時間監視する」という範囲には CLI /loop を使用します。
実際に役立つユースケース
エラーログモニタリング
Claude Code チームの Thariq がお気に入りとして紹介:「数時間ごとにエラーログを確認し、対処可能なエラーに対して PR を作成するように依頼する」
デスクトップで毎時間に設定します。MCP 経由でロギングサービスを接続します。エージェントは最近のエラーを読み込み、ノイズを除去し、対応価値のあるものについてプルリクエストをオープンします。ログのスキャンが PR のレビューに置き換わります。
朝のブリーフィング
平日の午前8時30分に設定します。コネクター経由で Slack、メール、カレンダーを接続します。エージェントは夜間のメッセージをまとめ、緊急事項を浮上させ、その日の概要を作成します。トリアージに30分費やす代わりに、Claude Desktop を開くとすでにブリーフィングが待っています。
週次レポート
1つの週次タスクが Google Drive、スプレッドシート、プロジェクト管理ツールからデータを取得します。メトリクスがまとめられ、トレンドが検出され、フォーマットされたレポートが生成されます。ステータス更新が6つものアプリに散らばっている非同期チームに特に役立ちます。
PR 監視(CLI)
PR を起動してCI が終了するのを知りたい場合は、CLI で:
/loop 5m PR #247 のCI ステータスを確認して、合格または失敗したか教えて
Claude は5分ごとにポーリングしてレポートします。CI が終了したら、ループをキャンセルして次に進みます。
依存関係の監査
npm audit または pip audit を実行し、結果を読み込み、対処可能な脆弱性の修正が含まれた PR をオープンする週次タスクを作成します。月曜日の朝にスケジュールすると、週の始まりを健全な状態で迎えられます。
定期的なリサーチ
競合他社、業界ニュース、テクノロジートレンドを日次または週次で追跡します。設定されたソースがブラウズされ、関連する更新情報が収集され、要約が返ってきます。より広いカバレッジのためにウェブ検索を接続します。
OpenClaw エフェクト
OpenClaw の波を掴んだ人は、この機能の形を見覚えがあるでしょう。OpenClaw の売り文句はシンプルでした: あなたのアプリに接続し、スケジュールに従って監視なしでタスクを実行する自律型 AI エージェント。その売り文句で GitHub スター 199K と主流メディアの注目を集め、この需要が存在することを証明しました。
Anthropic はそれに注目していたことは明らかです。Remote Control は2月に OpenClaw の「スマートフォンからコンピューターを制御する」機能への直接的な回答として公開されました。スケジュールタスクは次のギャップを埋めます: ループなしで繰り返しの頻度でエージェントを動作させること。
毎回同じパターンです。OpenClaw がバイラルな採用を通じて需要を証明します。Anthropic は数週間後にネイティブで統合されたセキュリティ優先バージョンを公開します。Remote Control は OpenClaw の WebSocket ベースのリモートアクセスを暗号化されたアウトバウンド専用ブリッジで置き換えました。スケジュールタスクは「常時接続のパーソナルアシスタント」コンセプトを、完全な MCP とプラグインセットアップを利用する構造化されたパーミッション制御エージェントスケジューラーで置き換えます。
実行こそが重要です。OpenClaw はデフォルトで広範なシステムアクセスを付与し、途中でセキュリティインシデントが発生しています(CVE-2026-25253 は50K以上のインスタンスに影響)。Claude Code のスケジュールタスクは、明示的なパーミッション境界とタスクごとの承認コントロールで実行されます。OpenClaw はセルフホスティング、ポート転送、手動設定を求めます。Claude Code はフォームとサイドバーを提供します。
これは OpenClaw への批判ではありません。OpenClaw はそのカテゴリーを証明しました。しかし Claude エコシステムの中で生活している開発者にとって、Anthropic がこれらの機能をネイティブに提供することは、より緊密な統合、より優れたセキュリティ、そしてゼロのインフラオーバーヘッドで同じ自律エージェントパターンが得られることを意味します。
よくある質問
スケジュールタスクは Claude Code CLI で動作しますか? はい、ただし形が異なります。CLI には、終了すると消えるセッションスコープのスケジューリングのための /loop と cron ツールがあります。永続的なスケジューリングはデスクトップスケジュールタスクに属します。常時稼働のクラウドスケジューリングは、schedule トリガーを使用した GitHub Actions に属します。
タスクがスケジュールされている時にコンピューターがスリープ状態だとどうなりますか? その実行はスキップされます。スリープからの復帰時、または Claude Desktop を再度開いた時に、デスクトップは過去7日間のミスした実行をスキャンし、最も最近のミスした時刻に対してキャッチアップを1回実行し、通知を表示します。アイドルスリープをブロックするには、Desktop Settings > General で Keep computer awake をオンにします。ただし、蓋を閉じるとまだスリープします。
Linux でスケジュールタスクを使用できますか? デスクトップスケジュールタスクは Linux では提供されていません(macOS と Windows のみ)。Linux ユーザーには2つの選択肢があります: セッションスコープのスケジューリングには CLI /loop コマンドを使用するか、永続的なスケジューリングにはヘッドレスモードで claude -p を呼び出す cron ジョブを実行します。
スケジュールタスクは使用制限にカウントされますか? はい。各実行は完全な Claude Code セッションを開始します。制限が厳しい Pro プランのユーザーはそれを考慮する必要があります。Max および Enterprise プランにはより多くのヘッドルームがあります。
スケジュールタスクはプルリクエストを作成できますか? はい。各実行はローカルの git セットアップと設定された MCPサーバーへのアクセスを持つ完全な Claude Code セッションです。MCP またはコネクター経由で GitHub を接続すれば、エージェントはブランチの作成、変更のコミット、PR のオープンが可能です。
タスクのプロンプトはどこに保存されますか? ディスク上の ~/.claude/scheduled-tasks/<task-name>/SKILL.md に保存されています。このファイルは名前と説明のための YAML フロントマターを使用し、プロンプトが本文となっています。直接編集すると、次の実行時に変更が反映されます。
開発ワークフローへの影響
スケジュールタスクは Claude を、あなたが呼び出すツールから、一定の頻度であなたと並行して動作するエージェントへと変えます。プロンプトを実行するよう覚える必要がなくなります。意図を一度宣言すると、システムがタイミングを処理します。
Remote Control(スマートフォンからセッションを監視する)と自律エージェントループ(長時間のエージェント作業)を組み合わせると、Claude が持続的な開発コンパニオンとしての全体像が見えてきます。Remote Control はどこからでもセッションを操縦します。自律ループはエージェントを何時間も動作させ続けます。スケジュールタスクはトリガーを処理します。
マルチエージェントのセットアップでは、実用的なパターンが生まれます: 夜間のエージェント作業をレビューし、結果をまとめ、人間が必要なものをフラグする日次タスクです。エージェントはワーカーであり、シフトスーパーバイザーでもあります。
まだ手動でやっている繰り返しタスクを1つ選んでください。朝の受信トレイのトリアージ、週次のメトリクス取得、エラーログスキャン。それをスケジュールタスクとして設定してください。1週間実行してください。取り戻せる時間を数えてください。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。