ankuro.dev
← ブログ一覧に戻る
【Claude Code中級編 #4】Plan Modeを使いこなす——大きなタスクを安全に進める
2026-03-23#Claude Code#AI#Plan Mode

【Claude Code中級編 #4】Plan Modeを使いこなす——大きなタスクを安全に進める

Plan Modeを使うと、Claude Codeは実行前に「何をするか」を提示して承認を待つようになる。

ファイルを大量に変更するリファクタリング、本番環境に影響するデプロイ作業、削除を伴うクリーンアップ——こういった「間違えたら戻せない」タスクで特に効果を発揮する。この記事ではPlan Modeの仕組みと、実際にどう使うかを解説する。


Plan Modeとは

通常のClaude Codeはリクエストを受け取ると即座にツールを実行する。ファイルを編集し、コマンドを走らせ、結果を返す。

Plan Modeではこの流れが変わる。

【通常モード】
リクエスト → ツール実行 → 結果

【Plan Mode】
リクエスト → 計画を提示 → ユーザーが承認 → ツール実行 → 結果

実行前に「これをやろうとしています」という計画が表示され、承認しないと先に進まない。計画を見て「それは違う」と思えば修正を依頼できるし、「やっぱりやめる」こともできる。


有効にする方法

キーボードショートカット(セッション中に切り替え)

Shift + Tab を2回押すと Plan Mode に切り替わる。プロンプトの表示が変わって、Plan Modeに入ったことがわかる。もう一度 Shift + Tab 2回で通常モードに戻る。

設定で常時有効化

毎回切り替えるのが面倒な場合は settings.json で常時有効にできる。

{
  "planMode": true
}

プロジェクト単位で有効にしたい場合は .claude/settings.json、全プロジェクト共通にしたい場合は ~/.claude/settings.json に書く。


承認フローの実際

Plan Modeで大きなタスクを依頼すると、以下のような流れになる。

1. 計画の提示

以下の計画で進めます:

1. src/components/ 以下の全コンポーネントで
   `className="text-sm"` を `className="text-body"` に統一
2. 対象ファイル: Button.tsx, Card.tsx, Modal.tsx, Form.tsx(計4ファイル)
3. tailwind.config.ts に `text-body` のカスタムクラスを追加

実行してよいですか?

2. 承認または修正依頼

  • yes または y → 実行に移る
  • 「3番はやらなくていい」などの修正指示 → 計画が更新されて再提示される
  • no または別の指示 → キャンセルして別の方向に進む

3. 実行

承認後は通常モードと同じように順番に処理が進む。


どんなタスクに使うか

使うべき場面

多数のファイルを一括変更するとき

「このAPI呼び出しを新しい形式に全部書き換えて」のような変更は、ファイルを一つひとつ確認しながら進めるより、計画を見て一括承認した方がコントロールしやすい。

# こういうリクエストはPlan Modeが向いている
「fetchUser() の呼び出し箇所を全部 getUser() に変更して」
「全ページのmetaタグにOGPを追加して」
「tsconfig.json の変更に合わせてimportパスを修正して」

破壊的な操作が含まれるとき

ファイルの削除・移動・リネームは元に戻しにくい。計画段階で対象を確認してから実行できる。

「dist/ と .cache/ 以下のファイルを全部消して」
「components/ を feature/ 以下に整理し直して」

本番環境に影響するコマンドを実行するとき

デプロイ・マイグレーション・環境変数の変更など、本番に直結する作業は計画を見てから承認したい。

「本番DBのマイグレーションを流して」
「AWSのデプロイコマンドを実行して」

使わなくていい場面

小さなバグ修正や一行の変更にPlan Modeを使うと、承認ステップが増えてかえって面倒になる。

# こういうリクエストは通常モードの方がスムーズ
「このtypoを直して」
「console.logを消して」
「変数名をわかりやすくして」

実践例:リファクタリングをPlan Modeで進める

実際にどう使うか、TypeScriptプロジェクトのリファクタリングを例に見てみる。

リクエスト:
「src/lib/ 以下のユーティリティ関数を機能ごとにファイルを分けて整理して」

Plan Modeの応答例:

以下の計画で進めます:

【現状の確認】
src/lib/utils.ts に237行のユーティリティ関数が集中している

【分割方針】
- src/lib/date.ts   → 日付フォーマット関連(5関数)
- src/lib/string.ts → 文字列操作関連(8関数)
- src/lib/array.ts  → 配列操作関連(6関数)
- src/lib/utils.ts  → 残りの汎用関数(削除または維持)

【影響範囲】
- import文の変更が必要なファイル: 12ファイル
- 変更量: 約40箇所のimport文

実行してよいですか?

計画を見て「array.tsは今回いらない」「utils.tsは消さないで」などの修正が可能。承認してから実行に移れるので、途中で「あれ、想定と違う」となるリスクが減る。


Plan Modeのショートカットまとめ

操作 キー
Plan Modeに切り替え Shift + Tab(2回)
通常モードに戻す Shift + Tab(2回)
計画を承認 y または yes と入力してEnter
計画を修正依頼 そのまま修正指示を入力
キャンセル no と入力または Ctrl + C

まとめ

  • Plan Modeは Shift + Tab 2回で切り替え。常時有効にするなら settings.json"planMode": true
  • 実行前に計画が提示されて承認しないと進まない——「間違えたら戻せない」タスクに向いている
  • 多数ファイルの一括変更・削除・本番環境への操作はPlan Modeを使うと安全
  • 小さな変更に使うと承認ステップが増えて逆に面倒。使いどころを見極める

第3回:Hooksで自動化する——保存前バリデーション・通知・ログ第5回:サブエージェントで並列処理する——Agentツールの使い方