Claude Codeを使い始めてしばらくすると、「コードを書く前にまず全体像を把握させたい」「計画だけ作ってもらって、実装は自分で確認してから進めたい」という場面が出てきます。そのときに使うのがPlan Modeです。
Plan ModeはClaude Codeがファイルの読み取りと分析のみを行い、一切の変更・コマンド実行をしないモードです。コードベースを安全に調査・設計できるため、大規模リファクタリングや複雑なバグ調査の前に「まず計画を立てる」フェーズとして使います。
この記事では、Claude Codeの3つの実行モードの仕組みから、Plan Modeと/effortコマンドを組み合わせた深い推論、実際の開発フローへの組み込み方まで解説します。Claude Code全般の使い方はClaude Code完全ガイドを参照してください。
Claude Codeの3つの実行モード
Claude CodeにはShift+Tabで切り替えられる3つの実行モードがあります。セッション中にいつでも切り替えられ、作業フェーズに応じて使い分けます。
| モード | インジケーター表示 | 動作 | 向いているシーン |
|---|---|---|---|
| 通常モード | (表示なし) | ツール使用のたびに確認ダイアログを表示 | はじめてのコードベース・リスクの高い変更 |
| 自動承認モード | ⏵⏵ accept edits on |
許可済みツールの使用を確認なしで自動実行 | よく知っているコードベース・繰り返し作業 |
| Plan Mode | ⏸ plan mode on |
読み取り専用。ファイル変更・コマンド実行を完全ブロック | 実装前の調査・設計・リファクタリング計画 |
Shift+Tabで3つのモードを循環する
セッション中にShift+Tabを押すたびに、通常モード → 自動承認モード → Plan Mode → 通常モード… と循環します。現在のモードはプロンプトのインジケーターで確認できます。
# 最初: 通常モード > (プロンプト入力) # Shift+Tab 1回目 ⏵⏵ accept edits on ← 自動承認モード # Shift+Tab 2回目 ⏸ plan mode on ← Plan Mode # Shift+Tab 3回目 (インジケーター消える) ← 通常モードに戻る
キーボードショートカットが使いにくい環境では
/planコマンドを入力することでPlan Modeに直接切り替えられます。Windowsの一部の環境でShift+Tabが正常に動作しない場合もこの方法を使ってください。Plan Modeでできること・できないこと
Plan ModeはClaude Codeに「読んで考えるだけ、触るな」と指示するモードです。意図せずファイルが書き換わったり、コマンドが実行されたりする心配がなくなります。
Plan Modeでできること(読み取り専用操作)
- ファイルの読み取り(Read, Glob, Grep)
- ディレクトリ一覧の取得(LS)
- Web検索・URL取得(WebSearch, WebFetch)
- コードベース全体の分析(依存関係・アーキテクチャの把握)
- 計画・設計案の作成(実装手順書・変更リスト・TODO作成)
- バグの原因特定(コードを読んで原因を推論)
- Todo管理(TodoRead, TodoWrite)
Plan Modeでできないこと(完全にブロック)
- ファイルの編集・作成・削除(Write, Edit, Delete)
- シェルコマンドの実行(Bash)
- ファイルの移動・リネーム
- git操作(commit, push等)
- パッケージのインストール
Plan Modeをアクティブにしている間は、どんなプロンプトを送ってもClaudeは物理的にファイルを変更できません。「修正はしないで分析だけして」と毎回書く必要がなくなります。
Plan Modeの典型的な使い方
大規模リファクタリング前の計画作成
数十ファイルにまたがるリファクタリングを実施する前に、Plan Modeで全体像を把握して変更計画を作ります。計画が確認できてから通常モードに戻して実装を進めます。
# Plan Modeに切り替え /plan # プロンプトを送る > src/services/ ディレクトリ全体を読んで、 > 現在のアーキテクチャを把握してください。 > 次に、データアクセスロジックをRepositoryパターンに分離するための > 変更計画を、ファイル単位で作成してください。 > どのファイルを新規作成・編集・削除するか一覧にしてください。 # Claude が計画を作成する(ファイルは一切変更されない) # → 計画を確認・承認してから、Shift+Tab で通常モードに戻して実装
バグの原因調査
再現しにくいバグを調査するとき、Plan Modeでコードを読み込んで原因を特定します。「とりあえず試しにいじってみる」という危険な操作なしに、まず原因を確定させてから修正できます。
# Plan Modeに切り替え /plan # バグの症状を説明する > 注文確定後に在庫数が正しく減算されないバグが発生しています。 > 症状: 同時に複数注文が入ったときのみ発生する。 > > src/services/order.ts と src/repositories/inventory.ts を読んで、 > 競合状態(race condition)が起きそうな箇所を特定してください。 > 修正案も提示してください(実際の修正はまだしなくていいです)。 # 原因と修正案が出たら確認 → 通常モードに戻して修正
新機能の設計レビュー
新しい機能を実装する前にAPIの設計・データモデルの変更・影響範囲を調査するフェーズでも有効です。既存コードを読み込んで「この設計でいくと他のどこに影響するか」を事前に把握できます。
# Plan Modeに切り替え /plan > 新しく「定期購入」機能を追加しようとしています。 > src/ 全体を読んで、以下を調べてください: > > 1. 既存の注文処理フローのどこに影響するか > 2. DBスキーマ(prisma/schema.prisma)への追加が必要なテーブル・カラム > 3. 影響を受けるAPIエンドポイント一覧 > 4. フロントエンド(src/components/)で変更が必要なコンポーネント > > 実装開始前に影響範囲を把握したいだけなので、変更はしないでください。
/effortコマンドで推論の深さを調整する
Claude Code v2.1.68以降(2026年3月追加)では、/effortコマンドでClaude の推論に使うリソースを調整できます。Plan Modeと組み合わせると、複雑な設計問題に対して特に深い分析を行わせることができます。
| /effortの値 | 推論の深さ | 向いているシーン | レスポンス速度 |
|---|---|---|---|
/effort low |
最小限 | 単純な質問・確認作業 | 速い |
/effort medium |
標準 | 通常の実装タスク(デフォルト) | 普通 |
/effort high |
深い推論 | 複雑な設計・アーキテクチャ決定・難解なバグ | 遅くなる |
/effort auto |
自動(デフォルトに戻す) | — | — |
Plan Mode + /effort highの組み合わせ
Plan Modeで読み取りと/effort highで深い推論を組み合わせると、大規模コードベースのアーキテクチャ分析・技術的負債の特定・設計上のトレードオフ検討が格段に精度よくなります。
# Step 1: Plan Modeに入る /plan # Step 2: 推論深度を上げる(複雑な問題のとき) /effort high # Step 3: 深い分析を依頼する > このリポジトリ全体のアーキテクチャを分析してください。 > 特に以下の観点で問題点と改善案を提示してください: > > 1. 現在の依存関係グラフと循環依存の有無 > 2. 責務が分散している箇所・Godクラス化しているファイル > 3. テストしやすさ(DI・モック可能性)の評価 > 4. スケールした場合にボトルネックになりそうな箇所 > 5. 優先度付きの改善ロードマップ(3ヶ月・6ヶ月・1年) # 分析完了後: 推論深度を戻してコスト節約 /effort auto # Plan Modeを終了して実装へ /plan (トグル)
/effort highは思考に使うトークンが増えるため、APIコストが増加します- 通常の実装タスクは
/effort medium(デフォルト)で十分です - 設計レビュー・アーキテクチャ分析・難解なデバッグのときだけ
highに切り替えるのが効率的です - 終わったら
/effort autoでデフォルトに戻す習慣をつけましょう
Plan → 実装 → レビューの実践ワークフロー
Plan Modeを取り入れることで、Claude Codeとの作業を「計画フェーズ」と「実装フェーズ」に分けて管理できるようになります。以下のワークフローが実際の開発で使いやすいパターンです。
- Plan Modeで計画: コードベースを読ませて変更計画・影響範囲・実装手順を作成させる
- 計画をレビュー: 人間が計画を確認し、方向性を修正・承認する
- 通常モードで実装: 承認した計画に沿って実装を進める
- 差分を確認:
git diffで変更内容を確認する - Plan Modeでレビュー: 実装済みコードをPlan Modeで読ませてレビューさせる(変更せず)
大規模リファクタリングの実例
# ── フェーズ1: 計画 ──────────────────────────── /plan /effort high > src/models/ 以下のActiveRecordパターンを > Repository + Serviceパターンに移行したい。 > まず全ファイルを読んで移行計画を作成してください。 > 変更が必要なファイル一覧と、推奨する作業順序を提示してください。 # 計画が出力される # → 計画内容を確認・修正 # ── フェーズ2: 段階的な実装 ──────────────────── /effort auto ← 推論深度を標準に戻す /plan ← Plan Modeを終了して通常モードへ > 計画のステップ1「UserRepositoryの作成」を実装してください。 # 実装後 → git diff で確認 # ── フェーズ3: レビュー ──────────────────────── /plan ← Plan Modeに入る > 実装したsrc/repositories/UserRepository.tsと > 変更されたsrc/services/UserService.tsを読んで、 > 以下を評価してください: > 1. 計画どおりの実装になっているか > 2. エラーハンドリングの漏れ > 3. テスト可能性(DI・モック可能か) > ※コードは変更しないでください # レビュー結果を確認 → 必要なら通常モードで修正
Worktreeを使って計画と実装を並行する
claude --worktreeを使うと、同じリポジトリで独立したgit作業ディレクトリを持つ複数のClaudeセッションを起動できます。Plan Modeと組み合わせると、一方のセッションで計画を立てながらもう一方で並行して別タスクの実装を進めるといった使い方が可能です。
# ターミナル1: メインブランチで計画フェーズ claude # ターミナル2: feature/auth ブランチで実装 claude --worktree feature-auth # ターミナル3: feature/payment ブランチで別の実装 claude --worktree feature-payment
Worktreeで起動したセッションは独立したgit状態を持つため、一方のセッションでの変更がもう一方に影響しません。作業が終わったらWorktreeセッションを終了し、変更があれば保持・なければ自動削除されます。SubagentsでのWorktree活用についてはClaude Code Subagents完全ガイドも参照してください。
Plan Modeが特に効果的なシーン
| シーン | Plan Modeでやること | 通常モードでやること |
|---|---|---|
| はじめてのコードベース | 全体構造・命名規則・パターンを把握する | 把握した内容をもとに最初の変更を加える |
| 大規模リファクタリング | 影響ファイルの特定・変更順序の計画 | 計画に沿って段階的に実装 |
| 本番バグの緊急対応 | 原因の特定(コードを壊さずに) | 特定した原因に対して最小限の修正 |
| 新人レビュー | 既存コードを読んでコードの問題点を列挙 | (レビューは人間が実施) |
| 技術選定 | 現状調査・各選択肢のトレードオフ分析 | 選定した技術の導入 |
| テスト戦略設計 | テストが薄い箇所の特定・テスト計画の作成 | 計画に沿ってテストを追加 |
まとめ
Plan Modeは「Claudeに考えさせるが、触らせない」という安全な分析フェーズを提供します。Shift+Tabで通常→自動承認→Plan Modeと循環でき、セッション中にいつでも切り替えられます。
/effort highと組み合わせると、大規模コードベースのアーキテクチャ分析・技術的負債の特定・設計レビューといった深い思考が必要なタスクを安全に実行できます。分析が終わったら/effort autoでコストを節約することを忘れずに。
権限設定でさらに細かくツールの使用範囲を制御したい場合は、Claude Code 権限・パーミッション設定完全ガイドも参考にしてください。
よくある質問
QPlan Modeに入ってもClaudeがファイルを変更しようとします
APlan Modeが正しく有効になっているかインジケーターで確認してください(⏸ plan mode onが表示されているか)。インジケーターが表示されているにもかかわらず変更が発生する場合は、Hookの設定が影響している可能性があります。または/planコマンドを使ってPlan Modeを確実に有効化してください。
QShift+TabでPlan Modeが表示されず2つのモードしか切り替わりません
A一部のWindowsターミナル環境でShift+Tabが正常に認識されないケースがあります。その場合は/planコマンドを入力してPlan Modeに切り替えてください。ターミナルの設定(キーバインドの競合)を確認することも有効です。
QPlan Modeと通常のプロンプトへの「変更しないで」という指示の違いは何ですか?
APlan Modeは物理的にファイル変更・コマンド実行ツールをブロックします。プロンプトで「変更しないで」と指示しても、Claudeが誤解して変更を行う可能性はゼロではありません。Plan Modeを使えば仕組みとして変更が不可能になるため、指示ミスや誤解のリスクがなくなります。
Q/effort highにするとどのくらい遅くなりますか?
Aタスクの複雑さによって異なりますが、/effort highは通常より多くの思考トークンを使います。単純なコードの説明は数秒の差ですが、大規模なアーキテクチャ分析では数分の差が出ることがあります。複雑な設計問題への深い分析という目的には見合うコストと時間ですが、通常の実装タスクには/effort medium(デフォルト)で十分です。
QPlan Modeで作成した計画をファイルに保存できますか?
APlan Mode中にClaudeが生成した計画テキストをコピーして手動でファイルに貼り付けるか、Plan Modeを終了した後に「先ほどの計画をdocs/refactoring-plan.mdに保存して」と指示することで保存できます。Claude Code v2.1.59以降のAuto Memory機能(.claude/MEMORY.md)に記録させる方法も有効です。
Q自動承認モード(Auto-Accept)とPlan Modeはどう使い分けますか?
A自動承認モードは「確認ダイアログを省略して実装を速く進めたいとき」、Plan Modeは「実装はまだせず調査・設計だけさせたいとき」に使います。よく慣れたコードベースでスピード重視なら自動承認、はじめてのコードベースや重要な変更の前にはPlan Modeというのが基本的な使い分けです。

