
こんにちは。よっしーです(^^)
背景
この連載では、Claude Codeの公式ドキュメントを1ページずつ読み解いていきます。公式ドキュメントは情報が網羅されている分、「結局どの機能を、どんな場面で使えばいいのか」は自分で考える必要があり、読むのに意外と時間がかかります。そこで、私が実務で使うために読み込んだ内容を「使う場面→実例コード」の順に整理して残していくことにしました。専門家の解説というより、一次情報を読んだ記録です。推測や動作を確認していない部分には、その都度そう書きます。
一言でいうと何か
デスクトップアプリの Routines ページで、選んだ時刻と頻度に新しいセッションを自動で開始する「ローカルのスケジュール済みタスク」を作る機能です。毎日のコードレビュー、依存関係の更新チェック、カレンダーやインボックスから情報を取る朝のブリーフィングなど、定期作業に使います。同じ Routines ページからは Anthropic 管理クラウドで動くリモートの routines(第27回)も作れますが、このページはマシン上で動きローカルのファイル・ツールに直接アクセスできる「ローカルタスク」の解説です。
どういう場面で役立つか
定期的な作業をローカルのファイルやツールに触れさせながら自動実行したいとき。ローカルタスクはマシン上で動くので、Claude がファイルを編集し、コマンドを実行し、コミットや PR 作成まで行えます。
朝のブリーフィングのように、決まった時刻に毎回同じ指示を回したいとき。時刻・頻度を選ぶだけで、開いている手動セッションとは独立して新しいセッションが立ち上がります。
タスク自身に状況に応じた再スケジュールをさせたいとき。実行中のセッション内から update_scheduled_task MCP ツールで自分のスケジュールやプロンプトを変更でき、たとえばリリースブランチ作成を検知したらレビューを前倒しする、といったことができます。
不要・向かないケース:ローカルタスクはデスクトップアプリが開いていてコンピュータが起動しているときだけ実行されます。コンピュータがオフでも確実に動かしたい、あるいは API 呼び出しや GitHub イベントでトリガーしたいなら、クラウドで動くリモートの routine のほうが適します。セッション中の軽いポーリングだけなら CLI の /loop が向きます。
作成・スケジュール・実行・権限・管理
このページには “` で囲むコードブロックはなく、~/.claude/scheduled-tasks/<task-name>/SKILL.md・~/.claude/settings.json・update_scheduled_task などパスやツール名のインライン言及があるのみです。ここでは作成から管理までを順に説明します。
3つのスケジューリング手段の位置づけ
Claude Code には定期/単発の作業をスケジュールする手段が3つあります。**Cloud(routines)**は既定で Anthropic 管理のクラウドで動き、マシンの起動もセッションも不要で、最小間隔は1時間、ローカルファイルには触れません(新規クローン)。**Desktop(このページ)は自分のマシンで動き、マシンの起動は必要ですがセッションは不要で、最小間隔は1分、ローカルファイルに直接アクセスでき、権限はタスクごとに設定します。/loop**も自分のマシンで動きますが開いたセッションが必要で、最小間隔1分、権限や MCP はセッションから継承します。使い分けは「マシンなしで確実に回すならクラウド」「ローカルのファイル・ツールが要るなら Desktop」「セッション中の手早いポーリングなら /loop」です。なお既定では、タスクは未コミット変更を含む作業ディレクトリの現状に対して実行され、作成時に worktree トグルを有効にすると各実行が独立した Git worktree を取得します。
タスクを作成する
サイドバーの Routines → New routine → Local を選び、フィールドを設定します。Name(小文字ケバブケースに変換されディスク上のフォルダ名になる。タスク間で一意)、Description(一覧に出る短い概要)、Instructions(実行時に Claude が行う内容。プロンプトボックスと同じ書き方で、権限モードとモデルのピッカー、作業フォルダ選択、分離 worktree で実行するかの選択を含む)、Schedule(頻度)です。保存にはフォルダが必要で、未信頼なら保存前に信頼を求められます。任意の Desktop セッションで「毎朝9時に実行する毎日のコードレビューを設定して」のように話しかけて作ることもでき、「明日午後3時にデプロイをチェックするよう通知して」と言えば実行後に自分を無効化する1回限りのタスクになります。
スケジュールの選択肢
Schedule ではプリセットを選びます。Manual(スケジュールなし、Run now のときだけ実行=オンデマンド用にプロンプトを保存)、Hourly、Daily(時刻ピッカー、既定は現地時間の午前9時)、Weekdays(Daily と同じで土日をスキップ)、Weekly(時刻+曜日ピッカー)です。15分ごと・毎月1日・特定時刻の1回限りなど、プリセットに無い間隔は、任意の Desktop セッションで「6時間ごとに全テストを実行するタスクをスケジュールして」のようにプレーンテキストで頼みます。
実行のされ方
タスクはマシン上で実行されます。Desktop はアプリが開いている間、毎分スケジュールをチェックし、期限が来たら手動セッションとは独立して新しいセッションを開始します。各タスクは API トラフィック分散のためスケジュール時刻から数分の小さな遅延を取り、この遅延は決定的(同じタスクは常に同じオフセット)です。実行時はデスクトップ通知が出て、新しいセッションがサイドバーの Scheduled に現れ、開けば内容確認・変更レビュー・権限応答ができます。ただしアプリが動いていてコンピュータが起動しているときだけ実行され、その時刻にスリープしていると実行はスキップされます(アイドルスリープを防ぐには Settings の Desktop app → General の Keep computer awake。ふたを閉じるとスリープします)。
見落とされた実行(キャッチアップ)
アプリやコンピュータの起動時、Desktop は各タスクが過去7日間に実行を見落としたかを確認し、見落としがあれば「直近の見落とし時刻」に対して正確に1回だけキャッチアップ実行を開始し、それより古いものは破棄します(6日間見落とした毎日のタスクは起動時に1回実行)。キャッチアップ実行時には通知が出ます。この挙動を踏まえ、午前9時のタスクが一日中スリープなら午後11時に走りうるため、タイミングが重要ならプロンプト自体にガードレールを入れます(例:「今日のコミットだけをレビュー。午後5時以降ならレビューを飛ばし、見落とし分の概要だけ投稿」)。
権限
各タスクは独自の権限モードを持ち、作成/編集時に設定します。~/.claude/settings.json の許可ルールもスケジュールタスクのセッションに適用されます。Ask モードで権限のないツールを実行しようとすると、承認まで実行は停止します(セッションはサイドバーに開いたままなので後で応答可)。停止を避けるには、作成後に Run now を押して権限プロンプトを監視し、各プロンプトで「常に許可」を選ぶと、将来の実行はそのツールを自動承認します(承認はタスク詳細ページで確認・取り消し可)。ただし、組織が ask に設定したコネクタツールや requiresUserInteraction の MCP ツールは毎回プロンプトが出て「常に許可」が提供されないため、それらを呼ぶ実行は毎回停止します。
管理
Routines リストでタスクを開くと、Run now、Status(Active/Paused の切り替えで削除せず一時停止/再開)、Edit(指示・スケジュール・フォルダ等の変更)、Review history(スキップ理由=スリープ中・前実行が進行中・他タスクが実行中、を含む全履歴)、Review allowed permissions(保存済みツール承認の確認・取り消し)、Delete(タスク削除と作成セッションのアーカイブ。Also delete files on disk で SKILL.md と ~/.claude/scheduled-tasks/ の関連データも削除)ができます。任意の Desktop セッションで「dependency-audit タスクを一時停止して」のように頼んで一覧・作成・編集・一時停止することもできます。ディスク上のプロンプトを直接編集するには ~/.claude/scheduled-tasks/<task-name>/SKILL.md(CLAUDE_CONFIG_DIR が設定されていればその下)を開きます。このファイルは name と description の YAML frontmatter とプロンプト本文からなり、変更は次回実行時に有効になります(スケジュール・フォルダ・モデル・有効状態はこのファイルには無く、Edit フォームか Claude への依頼で変更します)。
まとめ
デスクトップのローカルスケジュールタスクは、選んだ時刻・頻度で新しいセッションを自動開始し、ローカルのファイル・ツールに触れながら定期作業を回す機能です。作成は Routines → New routine → Local(または会話で依頼)、スケジュールは Manual/Hourly/Daily/Weekdays/Weekly から選び、細かい間隔はプレーンテキストで指定します。マシンが起動しアプリが開いているときだけ実行され、見落としは7日以内に1回だけキャッチアップされます。権限はタスクごとに設定し「常に許可」で停止を避けられ、管理は詳細ページか SKILL.md の直接編集、あるいは update_scheduled_task による自己再スケジュールも可能です。マシンなしで確実に回すならクラウドの routine、という住み分けを押さえておくとよいでしょう。
次回は、このページの関連リソースにも挙がっている /loop・セッション内スケジューリング(scheduled-tasks)や GitHub Actions などの未執筆ページ、あるいは長く保留している引き継ぎ課題(第5回欠番の補完・第1/2回の照合)に着手する予定です。
この記事は執筆時点の公式ドキュメントに基づいています。最新の情報は必ず公式ドキュメントをご確認ください。

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)

コメント