Claude Code の plan モード(プランモード)とは|切り替え方・承認の選び方・opusplan まで
Claude Code の plan モードは、コードを変更する前に Claude に調べさせ、計画を出させるモードです。Shift+Tab・/plan・--permission-mode plan での切り替え方、計画を承認するときの3つの選択肢、VS Code・デスクトップアプリでの使い方、既定にする設定、opusplan、計画ファイルの保存先まで、公式ドキュメントと実際に動かした結果で解説します。

Claude Code の plan モード(プランモード) は、ファイルを書き換える前に、Claude にコードを読ませて調べさせ、変更の計画だけを出させるモードです。計画を人が確認して承認するまで、Claude はソースコードを編集しません。
切り替えはかんたんで、ターミナルなら Shift+Tab を押して画面下に ⏸ plan mode on と出るまで切り替えるか、指示の頭に /plan を付けます。計画ができると承認画面が出て、「auto モードで実装する」「編集を1つずつ確認しながら実装する」「計画を練り直す」の3つから選べます。
本記事の情報について:2026年10月4日時点の Claude Code 公式ドキュメント(Permission modes、Common workflows、Commands、Model configuration、Subagents、All settings)と CHANGELOG(最新は v2.1.289)にもとづいています。あわせて、編集部が Claude Code v2.1.287 で plan モードを実際に動かし、ファイルが変更されないことと計画ファイルの保存先を確かめました。
この記事を読むとわかること
- plan モードで Claude ができること・できないことと、ほかの権限モードとの違い
- ターミナル・VS Code・デスクトップアプリ・Web での切り替え方
- 計画を承認するときの3つの選択肢の違いと、計画を直接書き直す方法
- plan モードを既定にする設定、計画ファイルの保存先、opusplan の使い方
- plan モードを使うべき作業と、計画を確認するときのチェックポイント
plan モードでできること・できないこと
公式ドキュメントは、plan モードを「変更はせずに調べて提案させるモード」と説明しています。Claude はファイルを読み、調べるためのシェルコマンドを実行し、計画を書きます。ただし、計画を承認するまでソースの編集はブロックされます。
例外が1つあります。--dangerously-skip-permissions や --allow-dangerously-skip-permissions などで起動し、bypass permissions がモードの切り替えに入っている対話ターミナルセッションでは、plan モードのブロックが効きません。Claude は「計画だけをする」よう指示されますが、計画中に試みたファイル編集やシェルコマンドは確認なしで実行されます(明示した ask ルールと、重要なパスを消す rm などは確認が出ます)。一方、-p での実行、Agent SDK、VS Code 拡張のチャットパネルでは、bypass を許可していてもブロックは維持されます(Permission modes)。
Claude Code には、確認なしにどこまで実行させるかを決める「権限モード」が6つあり、plan モードはその1つです。公式ドキュメント(Available modes)の表を整理すると、次のようになります。
| モード | 確認なしで実行されること | 向いている作業 |
|---|---|---|
Manual(設定値は default) | 読み取りだけ | すべての操作を自分で確認したい、慎重な作業 |
acceptEdits | 読み取り、ファイル編集、mkdir・mv・cp などのよく使うファイル操作 | 自分でレビューしながらコードを直していく |
plan | 読み取り。auto モードが使える環境では、分類器が承認したコマンドも | 変更する前にコードベースを調べる |
auto | すべて(裏で安全チェックがかかる) | 長い作業、確認の多さを減らしたい |
dontAsk | 読み取りと、事前に許可したツールだけ。確認が必要な操作は拒否 | 固定した CI やスクリプト |
bypassPermissions | すべて | 隔離したコンテナや VM の中だけ |
計画中のシェルコマンドはどう扱われるか
plan モード中でも、Claude は調べるためにシェルコマンドを使います。このとき確認が出るかどうかは、環境によって変わります。公式ドキュメントでは、次の上から順に当てはまるものが適用されます。
- bypass permissions が使える状態で起動した対話セッション:計画中のコマンドに分類器も確認もかからない(前述のとおり、編集のブロックも効かない)
- auto モードが使える環境で、設定
useAutoModeDuringPlanがオン(既定):分類器がコマンドを審査し、承認されたものは確認なしで実行、却下されたものはブロックされる。重要なパスを消すrmなどは別扱い - auto モードが使えない、または
useAutoModeDuringPlanがオフ:組み込みの読み取り専用コマンド以外は、実行のたびに確認が出る
計画中のコマンドも毎回自分で確かめたい場合は、ユーザー設定(~/.claude/settings.json)に "useAutoModeDuringPlan": false を書きます。auto モード自体の仕組みはClaude Code auto モード完全ガイドで解説しています。
調べものは Plan サブエージェントに任される
plan モードで Claude がコードベースを理解する必要があるとき、調査は組み込みの Plan サブエージェントに任されます(Subagents)。Plan サブエージェントは読み取り専用のツールだけを使い(Write と Edit は使えない)、モデルはメインの会話と同じものを使います。調べた結果の細かい出力は別のコンテキストにとどまるので、メインの会話の文脈を汚しません。
サブエージェント全般の仕組みと使い分けは、Claude Code サブエージェント活用ガイドにまとめています。
plan モードへの切り替え方
ターミナル(CLI)・JetBrains
ターミナルで使う方法は3つあります。JetBrains IDE のプラグインもターミナルで動くので、同じ操作です。
| 方法 | 操作 | 使いどころ |
|---|---|---|
| キーで切り替える | Shift+Tab を、画面下に ⏸ plan mode on と出るまで押す | 会話の途中で計画から始めたいとき |
指示の頭に /plan を付ける | /plan 認証のバグを直して | 次の指示だけ plan モードで始めたいとき |
| 起動時に指定する | claude --permission-mode plan | 最初から計画だけさせたいとき |
Shift+Tab を押すたびに、権限モードが順に切り替わります。公式ドキュメントでは、auto モードから押すと Manual → acceptEdits → plan の順に進み、その先に auto などの追加のモードが入ります。v2.1.283 以降は対話セッションが auto モードで始まるので、起動直後から plan モードまでは3回押します(auto → Manual → acceptEdits → plan)。「Shift+Tab を2回」と書いた解説は、Manual から始まっていた以前のバージョンの説明です。画面下の表示は、Manual が ⏸ manual mode on、acceptEdits が ⏵⏵ accept edits on、plan が ⏸ plan mode on です。
計画を承認せずに plan モードを抜けたいときは、もう一度 Shift+Tab を押します。
/plan に続けて内容を書くと、plan モードに入ると同時にその作業の計画を始めます(v2.1.72 で追加)。内容を書かずに /plan だけを送ると、plan モードに切り替わるだけです。
VS Code 拡張
入力欄の下にあるモード表示をクリックし、Plan を選びます。VS Code での表示名と、設定値の対応は次のとおりです。
| VS Code の表示 | モード |
|---|---|
| Manual | default |
| Edit automatically | acceptEdits |
| Plan | plan |
| Auto | auto |
| Bypass permissions | bypassPermissions |
VS Code 拡張では、Plan を選んでも、その会話だけに適用されます。次の会話は元のモードで始まります。計画ができると、VS Code は計画を Markdown の文書として開き、行ごとにコメントを付けてから Claude に返せます。
入力欄で /plan と打つこともできます(v2.1.280 以降)。
/plan:plan モードに切り替える。すでに plan モードなら、いまの計画を表示する/plan 認証のバグを直して:plan モードに切り替えて、その作業の計画を始める/plan open:plan モード中に、計画ファイルをエディタで開く
デスクトップアプリ・Web・モバイル
- デスクトップアプリ(Code タブ):送信ボタンの横にあるモードの選択で Plan を選びます。ほかのモードはフォルダごとに記憶されますが、Plan だけはそのセッション限りです
- Web(claude.ai/code)・モバイルアプリ:入力欄の横のドロップダウンから選びます。クラウドで動くセッションでは、Accept edits・Plan・Auto が選べます
計画を承認するときの3つの選択肢
計画ができると、Claude は計画を見せて、どう進めるかを聞いてきます。選択肢と、その後の動きを図にまとめました。
| 選択肢 | その後の動き | 向いている場面 |
|---|---|---|
| Yes, and use auto mode | 計画を承認し、auto モードで実装を始める。auto モードが使えない環境では Yes, auto-accept edits(編集を自動で承認) | 計画の中身に納得していて、細かい確認は任せたい |
| Yes, manually approve edits | 計画を承認し、編集を1つずつ確認しながら実装する | 本番に近いコードや、初めて触るコードベース |
| No, keep planning | plan モードのまま、直してほしい点を伝える | 方針が違う、抜けている作業がある |
計画を承認すると plan モードは終わり、選んだ選択肢の権限モードに切り替わって、Claude が編集を始めます。もう一度計画から始めたいときは、Shift+Tab で plan モードに戻すか、次の指示の頭に /plan を付けます。
--dangerously-skip-permissions などで bypass permissions を有効にして起動した場合は、1つめの選択肢が Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session に変わります。この選択肢を選ぶと、その後は確認なしで実行されるので、隔離した環境以外では選ばないでください。
計画を自分で書き直す(Ctrl+G)
承認画面で Ctrl+G を押すと、Claude が出した計画が既定のテキストエディタで開きます。「この手順は不要」「テストを先に書く」などを直接書き換えてから、Claude に進ませることができます。
修正を言葉で伝えるときは、No, keep planning を選んで入力します。この入力欄は複数行に対応していて、\ + Enter や Shift+Enter で改行できます(v2.1.69 で対応)。ターミナルごとの改行キーはClaude Code で改行する方法を参照してください。
計画のあとに文脈を消してから実装する
計画を立てる途中でファイルをたくさん読むと、コンテキスト(会話の記憶)を多く使います。設定 showClearContextOnPlanAccept を true にすると、承認画面の一番上に Yes, clear context and … という選択肢が加わります。これを選ぶと、計画を承認したうえで会話の文脈を消し、計画だけを頼りに実装を始めます。表示には、計画にコンテキストをどれだけ使ったかも出ます。
{
"showClearContextOnPlanAccept": true
}
この選択肢は v2.1.81(2026年3月)から既定で非表示になっています。コンテキストの管理全般はClaude Code コンテキスト圧縮 完全ガイドで解説しています。
なお、計画を承認すると、まだ名前を付けていないセッションには、計画の内容をもとにしたタイトルが付きます。
実際に plan モードで動かしてみた
編集部は、2026年10月4日に Claude Code v2.1.287 で、plan モードの動きを確かめました。add 関数だけを持つ calc.py を置いた Git リポジトリで、次のコマンドを実行しています。
claude -p --permission-mode plan "calc.py に引き算の関数 subtract を追加し、簡単なテストも書いてください"
結果は次のとおりでした。
- ファイルは1つも変更されなかった:実行後の
git statusで、calc.pyは変更なし。テストファイルも作られていない - 計画ファイルが
~/.claude/plans/に保存された:calc-py-subtract-glimmering-dragon.mdのような名前で、「Context」「変更」の見出しを持つ Markdown の計画が書かれていた - 計画の中身:先に
test_calc.pyを作ってテストが失敗することを確かめ、calc.pyにsubtractを足し、テストが通ることを確かめる、という4段階だった - 承認画面は出なかった:
-p(対話しない実行)では承認のための画面を出せないため、Claude は計画を返答として表示し、「進めてよければ plan モードを解除して指示してください」と返した。ターン数は4、所要時間は約22秒
-p と組み合わせると、コードを変えずに計画だけを取り出せるので、CI で変更案を作ってレビューに回すような使い方もできます。計画の保存先は、次の節の plansDirectory で変えられます。
plan モードを既定にする・計画の保存先を変える
プロジェクトで最初から plan モードにする
プロジェクトのターミナルセッションを常に plan モードで始めたい場合は、プロジェクトの .claude/settings.json に次のように書きます。
{
"permissions": {
"defaultMode": "plan"
}
}
VS Code 拡張は、開始時の権限モードをプロジェクトの設定から読みません。VS Code では、ユーザー設定で claudeCode.initialPermissionMode を "plan" にします。デスクトップアプリは、CLI と同じ設定ファイルの defaultMode を読みます。
計画ファイルの保存先
plan モードで書かれた計画ファイルは、既定では ~/.claude/plans に保存されます。プロジェクトの中に残してチームで見たい場合は、設定 plansDirectory でプロジェクトのルートからの相対パスを指定します。プロジェクトの外を指すパスは無視され、既定の場所が使われます。
{
"plansDirectory": "./plans"
}
計画は Opus、実装は Sonnet:opusplan
モデルの選択に opusplan を指定すると、plan モードの間は Opus、実装に移ると Sonnet に自動で切り替わります(Model configuration)。設計や方針決めには推論の強い Opus を使い、コードを書く段階では Sonnet で効率よく進める、という使い分けです。
/model opusplan
起動時に claude --model opusplan と指定することもできます。それぞれの段階で実際にどのモデルが使われるかは、環境変数 ANTHROPIC_DEFAULT_OPUS_MODEL(plan モード中)と ANTHROPIC_DEFAULT_SONNET_MODEL(それ以外)で変えられます。モデルごとの特徴と effort の選び方はClaude Code のモデル使い分けで比較しています。
Ultraplan は廃止された
以前は、計画づくりをクラウドのセッションに送り、ブラウザで計画を確認できる Ultraplan(/ultraplan コマンド)という試験的な機能がありました。この機能は v2.1.222(2026年8月4日)で廃止されています(Ultraplan is no longer available)。廃止されたのは次の3つです。
/ultraplanコマンド- 指示に「ultraplan」と書いて起動する方法
- 承認画面の No, refine with Ultraplan on Claude Code on the web という選択肢
それより前に書かれた解説記事では、Ultraplan が使える前提で説明されていることがあります。いまは、手元のセッションでは plan モードを、ブラウザで確認したい場合は Claude Code on the web(クラウドのセッション)を使います。
plan モードを使うべき作業
公式ドキュメントは、plan モードを「変更する前にコードベースを調べたいとき」と「ディスクに書き込む前に変更を確認したいとき」に勧めています。これを具体的な作業に当てはめた目安は次のとおりです。
| plan モードを使う | plan モードを使わなくてよい |
|---|---|
| 複数のファイルにまたがる変更、設計の変更 | 1行の修正、文言の変更 |
| 初めて触るコードベース、他人が書いたコード | 自分が直前まで触っていたファイル |
| 認証・課金・データベースなど、間違えると影響が大きい部分 | 試しに書いて捨てるコード |
| 何をどう変えるか、自分でもまだ決めていない | やることが決まっていて、手順も明らか |
計画を確認するときのチェックポイント
計画を承認する前に、次の点を確かめると、実装後の手戻りを減らせます。
- 変更するファイルの一覧が出ているか:想定外のファイルが含まれていないか、必要なファイルが抜けていないか
- テストをどう確かめるかが書かれているか:実行するコマンドや、追加するテストが具体的に書かれているか
- 頼んでいないことが入っていないか:リファクタリングや設定の追加など、依頼の範囲を超えた作業が混ざっていないか
- 前提が合っているか:使っているライブラリやバージョン、既存の書き方の理解が正しいか
気になる点があれば No, keep planning で伝えるか、Ctrl+G で計画を直接書き換えます。仕様書を先に作ってから実装させる進め方は、仕様駆動開発(SDD)× Claude Code 完全ガイドで詳しく解説しています。プロジェクトの決まりごとを CLAUDE.md に書いておくと、計画の段階からそれに沿った提案が出やすくなります(CLAUDE.md の書き方)。
よくある質問
まとめ
- plan モードは、Claude にコードを調べさせて計画だけを出させるモード。計画を承認するまでソースは編集されない
- ターミナルは
Shift+Tab(⏸ plan mode onが出るまで)、/plan、claude --permission-mode planで切り替える。VS Code・デスクトップアプリ・Web はモードの選択から Plan を選ぶ - 承認画面の選択肢は Yes, and use auto mode/Yes, manually approve edits/No, keep planning の3つ。
Ctrl+Gで計画を直接書き換えられる - 既定にするならプロジェクトの
.claude/settings.jsonに"defaultMode": "plan"。計画ファイルは~/.claude/plansに保存され、plansDirectoryで変えられる opusplanを使うと、計画は Opus、実装は Sonnet に自動で切り替わる- Ultraplan は v2.1.222 で廃止済み。古い解説記事に注意
Claude Code の全体像はClaude Code 完全ガイド、うまく動かないときはClaude Code トラブルシューティング完全ガイドを参照してください。
参考:
- https://code.claude.com/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode
- https://code.claude.com/docs/en/permission-modes#switch-permission-modes
- https://code.claude.com/docs/en/common-workflows#plan-before-editing
- https://code.claude.com/docs/en/commands
- https://code.claude.com/docs/en/sub-agents
- https://code.claude.com/docs/en/model-config#opusplan-model-setting
- https://code.claude.com/docs/en/settings-reference
- https://code.claude.com/docs/en/ultraplan
- https://code.claude.com/docs/en/changelog
Claude Code をチームや自社の開発に広げるなら
Claude Code を個人の開発環境で使っていて、手元で解決できたなら、ここまでで十分です。
チームへの展開や、開発そのものの依頼を検討している立場の方は、次の窓口から相談できます。
初回の壁打ち(30分)は無料です。


