Task ツールによる計画
Plan モードと Claude Code の構造化 Task ツールを組み合わせ、調査、承認、実行、検証を行う。
学ぶこと
複雑な作業には、承認されたアプローチと更新され続ける実行チェックリストの両方が必要です。関連はありますが、同じ仕組みではありません。
- Plan モードでは、Claude がソースファイルを編集せずに調査し、承認のためのアプローチを提示します。
TaskCreate、TaskGet、TaskList、TaskUpdateは、分解された作業を追跡します。
このセッションを終えると、計画の権限とタスクの状態を混同せずに両方を使えるようになります。
現在の Task システム
Claude Code v2.1.142 以降、構造化 Task ツールがデフォルトで TodoWrite を置き換えます。
| ツール | 用途 |
|---|---|
TaskCreate | 一つのタスクを作成して ID を受け取る |
TaskUpdate | 状態、詳細、owner、依存関係を変更する |
TaskGet | 一つのタスクの完全なレコードを読む |
TaskList | 現在の全タスクのスナップショットを読む |
TodoWrite は従来互換の経路であり、現在の対話型セッションではデフォルトで無効です。新しいチュートリアルや統合では Task ツールを使ってください。
タスクは通常、次のライフサイクルを進みます。
pending → in_progress → completed
不要になったタスクは、TaskUpdate で状態を deleted に設定できます。
計画、実行、検証
計画
読み取り専用ツールでリポジトリを調査
範囲、リスク、依存関係を特定
計画を提示して承認を得る
↓ 承認済み
実行
TaskCreate でタスクを作成
作業中の一つを in_progress にする
新しい事実に合わせて一覧を更新
↓ 実装完了
検証
関連テストとチェックを実行
最終 diff を確認
証拠がある場合だけ completed にする
タスクリスト自体は完了の証拠ではありません。受け入れ条件を実際に確認した後だけ completed にします。
Plan モードへの正しい入り方
CLI から Plan モードで起動します。
claude --permission-mode plan
対話型 CLI セッションでは、Shift+Tab で Plan モードに切り替えるか、一つのプロンプトの先頭に /plan を付けます。
Plan モードでは、Claude はファイルを読み、読み取り専用 shell コマンドでコードベースを理解できますが、ソースファイルを編集しません。読み取り専用ではない shell コマンドは引き続き承認が必要です。計画が提示されたら、承認する、計画を続ける、実行前に計画を編集する、のいずれかを選べます。
Plan モードはすべての読み取りに承認が必要という意味ではありません。起動時は上記の公式な --permission-mode plan を使います。
計画優先のプロンプト
/plan このアプリケーションに通知システムを追加してください。
実装案を提示する前に:
1. 既存のアーキテクチャとテストを調べる。
2. DB、API、UI、migration、rollout の作業を特定する。
3. 依存関係と検証条件を明示する。
4. 計画を承認するまでファイルを変更しない。
承認後、実行を追跡するよう依頼します。
承認済みの計画から構造化タスクリストを作成してください。独立した作業を
意図的に並列化する場合を除き、in_progress は一つだけにします。
各タスクに具体的な完了チェックを付け、進行に合わせて状態を更新してください。
Claude は概念上、次のような呼び出しを行います。
{"tool": "TaskCreate", "subject": "通知スキーマを追加", "description": "migration を追加し rollback を検証"}
{"tool": "TaskUpdate", "taskId": "1", "status": "in_progress"}
{"tool": "TaskUpdate", "taskId": "1", "status": "completed"}
{"tool": "TaskList"}
実際のタスク ID は TaskCreate の結果から返されます。SDK 統合で ID を作り出してはいけません。
良い計画が変えること
| 計画チェックポイントなし | Plan モード + Task ツール |
|---|---|
| 範囲を理解する前に編集を開始 | 最初に読み取り専用で調査 |
| 関連変更を見落とす | 受け入れチェック付きで作業を分解 |
| 進捗は文章だけ | タスク状態が常に見える |
| 「完了」は編集が止まったこと | 「完了」は検証が通ったこと |
次のセッション
セッション 4 ではサブエージェントとコンテキスト分離を学びます。セッション 7 では、このタスクリストを依存関係グラフに拡張します。
公式ソース
最終確認:2026-07-20。