コンテンツにスキップ

Desktop の scheduled tasks

facts /Claude Code /desktop-scheduled-tasks

stable1 か月前 · 2026-08-23

概要

scheduled task は、指定した時刻と頻度で新しいセッションを自動的に開始する。日次のコードレビュー、依存関係の更新確認、カレンダーや受信箱をまとめる朝のブリーフィングのような繰り返し作業に使う。

Desktop の Routines ページからは、ローカルの scheduled task とリモートの routine の両方を作れる。ローカルのタスクは自分のマシンで動き、ファイルとツールに直接アクセスできるが、アプリが開いていてコンピュータが起きている間しか発火しない。 リモートの routine はコンピュータが落ちていてもクラウドで動き、API 呼び出しや GitHub イベントでも発火する。

仕様

3 つのスケジューリング手段の比較

Cloud(routines)Desktop(scheduled tasks)/loop
実行場所既定では Anthropic 管理のクラウド自分のマシン自分のマシン
マシンの起動が必要不要必要必要
セッションを開いておく必要不要不要必要
再起動をまたぐするする期限内なら --resume で復元
ローカルファイルへのアクセス無い(新しい clone)あるある
MCP サーバータスクごとに connector を設定設定ファイルと connectorセッションから継承
permission prompt無い(自律実行)タスクごとに設定できるセッションから継承
スケジュールの自由度CLI の /schedule 経由ありあり
最短間隔1 時間1 分1 分

作成

  • Claude Desktop 1.1.5368 より前ではローカルの scheduled task を利用できない
  • Code タブのサイドバーで Routines → New routine → Local。サイドバーに Routines が無い場合はアプリを更新し、組織のポリシーで routines が無効化されていないか確認する
フィールド内容
Nameタスクの識別子。小文字の kebab-case に変換され、ディスク上のフォルダ名になる。 タスク間で一意である必要がある
Description一覧に表示される短い要約
Instructions実行時に Claude がすること。プロンプトボックスに書くのと同じ書き方をする。permission mode とモデルのピッカーを含み、その下で作業フォルダと隔離した worktree で動かすかを選ぶ
Schedule実行の頻度
  • 保存にはフォルダの指定が必須。 未信頼のフォルダなら、保存前に信頼するかを尋ねられる
  • 任意のセッションで言葉にしても作れる。「毎朝 9 時に走る日次コードレビューを設定して」で繰り返しのタスク、「明日 15 時にデプロイの確認をリマインドして」で発火後に自分を無効化する 1 回限りのタスクになる

スケジュールの選択肢

  • Manual: スケジュール無し。Run now でのみ実行する。オンデマンドで叩くプロンプトの保存に使う
  • Hourly: 毎時
  • Daily: 時刻ピッカー。既定はローカル時刻の 9:00 AM
  • Weekdays: Daily と同じで土日を飛ばす
  • Weekly: 時刻ピッカーと曜日ピッカー

15 分ごと・毎月 1 日・将来の一度きり、のようにピッカーに無い間隔は、Desktop のセッションで平易な言葉で頼む。

実行のされ方

  • アプリが開いている間、Desktop は毎分スケジュールを確認し、期限が来たタスクについて新しいセッションを開始する(手動で開いているセッションとは独立)
  • API トラフィックをばらけさせるため、予定時刻の後に数分の遅延が入る。この遅延は決定的で、同じタスクは常に同じオフセットで開始する
  • 発火するとデスクトップ通知が出て、サイドバーの Scheduled セクションに新しいセッションが現れる
  • Claude は自分で始めたセッションと同じようにファイル編集・コマンド実行・コミット・PR 作成ができる。ただしデスクトップアプリのセッション面を通じたセッション間のメッセージ送受信はできない
  • コンピュータがスリープしていた時刻の実行は飛ばされる。 アイドルスリープを防ぐには Settings の Desktop app → General で Keep computer awake を有効にする。ノートを閉じればスリープはする

取りこぼした実行

  • アプリの起動時やコンピュータの復帰時に、直近 7 日間に取りこぼした実行がないかを確認する
  • あれば、最も新しい取りこぼし 1 回分だけを追いかけて実行し、それより古いものは破棄する。追いかけ実行の開始時には通知が出る
  • タスクのプロンプト側にガードを書く。 9 時のつもりのタスクが、一日中スリープしていた結果 23 時に走ることがある

permission

  • タスクごとに permission mode を持つ(作成・編集時に設定する)。~/.claude/settings.json の allow ルールも scheduled task のセッションに適用される
  • Manual モードのタスクが権限の無いツールを使おうとすると、承認するまで実行が止まる。 セッションはサイドバーに残るので後から答えられる
  • 止まらないようにするには、作成後に Run now を押し、確認が出たら "always allow" を選ぶ。以後の実行は同じツールを確認なしで承認する。承認はタスクの詳細ページから確認・取り消しできる
  • 組織が ask に設定した connector ツールと、requiresUserInteraction が付いた MCP ツールは毎回確認を求め、always-allow を提供しない。 これらを呼ぶ実行は毎回止まる

管理

Code タブの Routines 一覧でタスクをクリックすると詳細ページが開く。

  • Run now: 次の予定を待たずに即時実行する

  • Status: Active / Paused の切り替え。削除せずに停止・再開できる

  • Edit: 指示・スケジュール・フォルダなどを変更する

  • Review history: 過去の実行(飛ばされた実行を含む)を見る。飛ばされた項目にホバーすると理由が出る(コンピュータがスリープしていた、前回の実行がまだ動いていた、他の scheduled task が実行中だった)

  • Review allowed permissions: Always allowed パネルで保存済みのツール承認を確認・取り消す

  • Delete: タスクを削除し、作成したセッションをすべてアーカイブする。確認ダイアログの Also delete files on disk をチェックすると ~/.claude/scheduled-tasks/ の SKILL.md と関連データも消す

  • 一覧・作成・編集・一時停止は、任意の Desktop セッションで Claude に頼んでもできる。削除だけは詳細ページの Delete ボタンを使う

  • 実行中のセッションから update_scheduled_task MCP ツールで自分のスケジュールやプロンプトを変更できる。 見つけたものに応じて自分を組み替えられる

  • ディスク上のプロンプトは ~/.claude/scheduled-tasks/<task-name>/SKILL.md(CLAUDE_CONFIG_DIR を設定していればその下)。YAML frontmatter の name と description、本文がプロンプト。変更は次回の実行から効く。スケジュール・フォルダ・モデル・有効状態はこのファイルに無い

制約・注意点

  • 既定では作業ディレクトリの現在の状態(未コミットの変更を含む)に対して実行される。 各実行に隔離した git worktree を与えるには、作成時に worktree のトグルを有効にする
  • アプリが動いていてコンピュータが起きている間しか実行されない。 落ちていても動かしたい、API 呼び出しや GitHub イベントで発火させたい場合はリモートの routine を使う
  • 取りこぼしの追いかけは 1 回だけ。 6 日分飛ばした日次タスクは復帰時に 1 回走る

関連

  • facts/claude-code/desktop.md
  • facts/claude-code/desktop-sessions.md
  • facts/claude-code/permission-modes.md
  • facts/claude-code/mcp.md
  • facts/claude-code/settings.md
  • facts/claude-code/headless.md