何のためのものか
scheduled task は、指定した時刻と頻度で新しいセッションを自動的に開始する。日次のコードレビュー、依存関係の更新確認、朝のブリーフィングのような繰り返し作業に使う。
ローカルのタスクは、アプリが開いていてコンピュータが起きている間しか発火しない。 落ちていても動かしたい場合はリモートの routine を使う。
触る
- Code タブのサイドバーで Routines → New routine → Local
- Name・Description・Instructions・Schedule を埋める。Name は小文字の kebab-case に変換され、ディスク上のフォルダ名になる
- Run now で即座に走らせ、サイドバーの Scheduled セクションに出るセッションを開く
任意のセッションで言葉にしても作れる。1 回限りのタスクは発火後に自分を無効化する。
入れる
- スケジュール — Manual(Run now のみ)/ Hourly / Daily(既定はローカル時刻の 9:00 AM)/ Weekdays / Weekly。ピッカーに無い間隔は言葉で頼む
- permission を先に通す — タスクごとに permission mode を持つ。Manual のタスクが権限の無いツールに当たると承認するまで実行が止まる。作成直後に Run now して always-allow を選んでおくと、以後の実行は確認なしで進む
- 土台を決める — 既定では**作業ディレクトリの現在の状態(未コミットの変更を含む)**に対して走る。各実行を隔離するには worktree のトグルを有効にする
効かせる
- 取りこぼしの設計を知る — アプリの起動時やコンピュータの復帰時に直近 7 日の取りこぼしを確認し、最も新しい 1 回分だけを追いかけて実行する
- プロンプトにガードを書く — 9 時のつもりのタスクが 23 時に走ることがある。「今日のコミットだけを見る」「17 時を過ぎていたら要約だけ残す」のように、時刻の前提を本文に書く
- タスクに自分を組み替えさせる — 実行中のセッションから
update_scheduled_taskMCP ツールで、自分のスケジュールやプロンプトを変更できる - 履歴で理由を見る — 詳細ページの Review history で、飛ばされた実行の理由(スリープ、前回がまだ実行中、他の scheduled task が実行中)が分かる
落とし穴
- アプリが動いていないと走らない。 Keep computer awake でアイドルスリープは防げるが、ノートを閉じればスリープする
- 毎回止まるツールがある。 組織が
askに設定した connector ツールとrequiresUserInteractionの MCP ツールは always-allow を提供しない - Claude Desktop 1.1.5368 より前ではローカルの scheduled task を利用できない
- 削除は詳細ページの Delete ボタンのみ。Claude に頼めるのは一覧・作成・編集・一時停止まで