はじめに
Claude Codeを使っていて「いきなり実装を始めて途中で方針がブレる」「大きな変更で予想外のファイルが壊れる」と感じたことはないでしょうか。Plan Modeを使えば、実装前にコードベースを分析し、詳細な計画を立ててから作業を進めることができます。
本記事では、Plan Modeの基本から実践的な使い方までを解説します。
Plan Modeとは
Plan Modeは、Claude Codeの読み取り専用の計画フェーズです。ファイルを編集したりコマンドを実行したりせず、コードベースを分析して実装計画を作成します。
3つのモード
Claude Codeには3つの実行モードがあります。
| モード | 名称 | 特徴 |
|---|---|---|
| Mode 1 | Ask before edits | デフォルト。編集時に確認を要求 |
| Mode 2 | Edit automatically | 自動で編集(コマンド実行は要確認) |
| Mode 3 | Plan mode | 読み取り専用で計画を作成 |
なぜPlan Modeが必要か
いきなり実装を始めると、以下の問題が起きやすいです。
- 影響範囲が見えない: 修正すべきファイルを見落とす
- 方針がブレる: 途中で「こっちのほうがいいかも」と迷走する
- 手戻りが発生する: 実装後に設計ミスに気づく
Plan Modeを使うことで、実装前に全体像を把握し、計画に沿って作業を進められます。
起動方法
キーボードショートカット
Shift+Tab を2回押す → Plan Modeに切り替え
通常モード → Edit automatically → Plan Mode の順で循環します。
CLIオプション
# Plan Modeで起動
claude --permission-mode plan
# 非対話モードで実行
claude --permission-mode plan -p "認証システムを分析して改善案を提案して"
セッション中の切り替え
> /plan
Plan Modeでできること・できないこと
できること
| ツール | 用途 |
|---|---|
| Read | ファイルの読み取り |
| Glob | ディレクトリのリスティング |
| Grep | コード検索 |
| WebFetch | Web情報の取得 |
| AskUserQuestion | ユーザーへの質問 |
できないこと
- ファイルの編集・作成
- コマンドの実行
- ファイルシステムの変更
Plan Modeは「調査と計画」に特化したモードです。
計画ファイルの保存場所
デフォルト
~/.claude/plans/
プロジェクト内に保存(推奨)
.claude/settings.jsonで以下を設定すると、プロジェクト内に保存できます。
{
"plansDirectory": ".claude/plans"
}
プロジェクト内に保存すると、Gitで管理してチームで共有できます。
基本フロー
ユーザー
│
▼ 「認証システムをOAuth2に移行したい」
Plan Mode(分析)
│ コードベースを調査
│ 影響範囲を特定
│ 実装計画を作成
│
▼ plan.md を生成
ユーザー(レビュー)
│ 計画を確認・修正
│
▼ 承認
通常モード(実装)
│ 計画に沿って実装
│
▼
完了
実践例
例1: 大規模リファクタリング
claude --permission-mode plan
> 認証システムをJWTからOAuth2に移行したい。
> 影響範囲を分析して、移行計画を作成してください。
Claudeは以下のような計画を作成します。
## 移行計画: JWT → OAuth2
### 影響範囲
- src/modules/auth/ - 認証ロジック全体
- src/libs/guards/ - 認証ガード
- src/modules/user/ - ユーザー情報取得部分
### 実装ステップ
#### Phase 1: 準備
1. OAuth2プロバイダーの設定追加
2. 新しい認証エンドポイントの作成
#### Phase 2: 移行
3. 既存のJWT検証をOAuth2に置き換え
4. ユーザーセッション管理の更新
#### Phase 3: クリーンアップ
5. 古いJWT関連コードの削除
6. テストの更新
### リスク
- 既存セッションの無効化
- 外部連携への影響
### 検証手順
- 全認証フローのE2Eテスト
- 既存ユーザーのログイン確認
例2: 新機能の設計
> ユーザープロフィール編集機能を追加したい。
> 既存のコードパターンを分析して、実装計画を立ててください。
Plan Modeは既存のコードを分析し、プロジェクトのパターンに沿った計画を提案します。
例3: 未知のコードベース理解
> このプロジェクトに参加したばかりです。
> 認証システムの仕組みを分析して説明してください。
Plan Modeはコードを読み取り、構造を説明します。実装せずに理解だけしたい場合に便利です。
Tips
計画を編集してから実装
計画に納得いかない部分があれば、修正を依頼できます。
> Phase 2の順番を変えたい。3と4を入れ替えて。
または、生成されたplan.mdを直接編集することもできます。
Ctrl+G # エディタで計画ファイルを開く
サブエージェントとの組み合わせ
Plan Modeで計画を立て、PMエージェントにタスク分解を任せる流れが効果的です。
1. Plan Mode: 全体の実装計画を作成
2. PM: 計画をタスクに分解
3. Engineer: 各タスクを並列実装
4. Reviewer: 成果物をレビュー
30分以内の単位に分ける
大きすぎるタスクは、30分以内で完了する単位に分けましょう。Plan Modeで全体像を把握してから、フェーズごとに実装を進めると管理しやすいです。
デフォルトでPlan Modeを使う
慎重に進めたいプロジェクトでは、デフォルトをPlan Modeに設定できます。
// .claude/settings.json
{
"permissions": {
"defaultMode": "plan"
}
}
推奨される使用シーン
| シーン | 理由 |
|---|---|
| 大規模リファクタリング | 影響範囲を事前に把握できる |
| 複数ファイルへの修正 | 漏れを防げる |
| 未知のコードベース理解 | 実装せずに調査できる |
| 設計の検討 | 複数のアプローチを比較できる |
| チームでの合意形成 | 計画をGitで共有して議論できる |
プロジェクト構成例
project-root/
├── .claude/
│ ├── settings.json # plansDirectoryを設定
│ ├── plans/ # 計画ファイルの保存先
│ │ ├── auth-refactor.md
│ │ └── new-feature.md
│ └── agents/
│ ├── pm.md
│ ├── engineer.md
│ └── reviewer.md
└── ...
まとめ
Plan Modeを使うことで、実装前にコードベースを分析し、計画を立ててから作業を進められます。
- Shift+Tab×2 でPlan Modeに切り替え
- 読み取り専用で調査・計画に集中
- plan.mdに計画を出力し、レビュー後に実装
- plansDirectoryを設定してGitで管理
「いきなり実装」ではなく「まず計画」を習慣にすることで、手戻りを減らし、品質の高い開発ができます。