Claude Codeで指示の出し戻しが多くて疲れてる人向け
影響範囲が広い依頼(複数ファイルにまたがる書き換え・移行作業・大きめの機能追加など)を出す前に、Claude Codeにいきなり書き換えさせず、先に方針案を見せてもらってから本番作業に入りたいときに、依頼メッセージの先頭に <code>/plan</code> を付けて送る
Claude Codeに「いきなり書き換えに入らないで、まず計画を立ててから見せて」と頼める専用の合図です。コマンドの後ろに何をやってほしいかを書いて送ると、その1往復だけClaude Codeはファイルを読みに行ったり中身を調べたりはするものの、ソースを直接書き換えにはいきません。
料理ブログのリニューアルみたいに、影響範囲が広くて先に方針合わせをしたい依頼にちょうど噛みます。
噛み砕くと
引っ越し業者を呼ぶ前の現地調査だと思ってください。家の中身を見て、何を持っていって何を捨てるか、どの順番で運ぶか、見積もりだけ先に紙でくれる動きです。実際の搬出は、その紙にOKを出してから始まる。
Claude Codeにとっての「現地調査」は、フォルダのファイルを読んだり、シェルのコマンドを叩いて中身の構成を確認したりする動きで、これは /plan を付けたプロンプトでも普通にやります。やらないのは「中身を書き換える」「新しいファイルを保存する」の方だけ。
大事な前提:これは「単発でプランモードに入る」コマンド
名前が紛らわしいので最初に整理します。Claude Codeには /plan というスラッシュコマンドと、plan modeという許可モードの2つがあって、別物です。
許可モード(permission mode)は、Claude Codeが「ファイルを書き換えていいか」「コマンドを実行していいか」をどこまで自動で判断するかの設定で、デフォルト・acceptEdits・plan・auto などの種類があります。plan modeはその一種で、「読み取りはしていいけど書き換えはダメ」状態。
一方 /plan スラッシュコマンドは「いま送るこのメッセージ1往復だけ、plan modeで動いて」という単発スイッチです。コマンドの後ろに依頼内容を書いて送ると、その依頼に対してClaude Codeはplan modeで応答する。次のメッセージからは元の許可モードに戻ります。
「ずっとplan modeで作業したい」なら別の入り方があって、これは後の落とし穴で書きます。
「料理ブログのリニューアル方針」を例に、実際の手順を見る
題材として、3年運営してきたWordPressの料理ブログ ~/projects/cooking-blog を、CMSなしの静的サイト(HTMLファイルを直接置く形)に移行したい、という依頼を出します。記事数は150本くらい、画像も多い。
このまま「移行して」と頼むと、Claude Codeがいきなりファイルを作り始める可能性があります。先に方針だけ確認したい。ここで /plan の出番。
ステップ1: フォルダの中で Claude Code を起動する
ターミナルで対象のフォルダに移動して、Claude Codeを起動します。
$ cd ~/projects/cooking-blog
$ claude
普通に起動するので、許可モードはデフォルト(読み取り以外は毎回確認)の状態です。
ステップ2: /plan を頭に付けて依頼を送る
チャット欄の頭に /plan を打って、半角スペースを空けて、その後ろに依頼内容を書きます。
/plan 既存の料理ブログをCMSなしの静的サイトに移行する方針を立てて。150記事ある。SEOのURL構造はなるべく維持したい
送信。これでこの1メッセージはplan modeで処理されます。
ステップ3: Claude Codeが調査を始める
Claude Codeが ls で構成を見て、wp-content/themes/ の中を覗いて、データベースのエクスポートが必要かを判断したり、画像の総量を du -sh uploads/ で測ったりします。これは plan mode でも普通に走ります(読み取り系コマンドだから)。
途中、本来書き換えが必要そうな操作(例: npm install で新しい依存を入れる)が出てきても、plan mode中はやらず「計画にこういう手順を入れます」とプランの中に書く形になります。
ステップ4: プランが提示される
調査が終わると、Claude Codeがマークダウンで方針案を出してきます。
## 移行プラン案
### 現状把握
- 記事数: 152本(公開)/ 8本(下書き)
- 画像: 約340MB(uploads配下)
- 現行URL構造: /YYYY/MM/post-name/
### 移行先候補
1. Astro(推奨): 動的→静的の変換が楽、URL構造維持しやすい
2. Hugo: ビルド速いが日本語の扱いに癖
3. 11ty: 軽量だが画像処理は別途
### 推奨ステップ
1. WordPressからエクスポート(XML)...
2. Astroプロジェクト初期化...
(以下続く)
ここで初心者がやりがちな勘違いが1つ。プランが出た時点ではまだ何も書き換わっていません。cooking-blog/ の中身は /plan を打つ前と1バイトも変わってないです。これがplan modeの本領。
ステップ5: プラン承認の選択肢が出る
プランの下に、Claude Codeが「次どうする?」を5択で出してきます。
- Approve and start in auto mode(承認してauto modeで実行)
- Approve and accept edits(承認してacceptEditsで実行)
- Approve and review each edit manually(承認して各書き換えを手動レビュー)
- Keep planning with feedback(フィードバックして計画を続ける)
- Refine with Ultraplan(Ultraplanでブラウザレビュー)
各「Approve」系には「プラン用の調査メモを一回クリアしてから実行」も選べます。長い調査履歴を引きずらずに本番作業に入りたい時に使う。
ステップ6: 「フィードバックして計画継続」を選ぶ
今回は方針2(Hugo)をもう少し検討してほしいので、4番目を選んで「Hugoで日本語URLを維持できるか具体例を出して」と返します。
するとClaude Codeはplan modeのまま追加調査して、プランを更新してくれます。納得できる案になるまで、この往復をひたすら繰り返せる。本番作業に入るのは、Approve系のどれかを選んだ瞬間だけです。
つまり /plan は何をしてくれるのか
- やってくれる: いま送る1メッセージだけplan modeで処理する。Claude Codeは読み取り・調査だけして、ファイルを書き換えずに方針案を出す
- やってくれる: 提示されたプランに対して、auto / acceptEdits / 手動レビューのどれで本番実行するかを選ばせてくれる
- やってくれない: 次のメッセージ以降の継続的なplan mode化(これはShift+Tabキーか、Claude Code起動時の
--permission-mode plan指定でやる) - やってくれない: 完全な書き換えロック。テンプレ的なアプリ設定変更(vimのswapファイルとか)はそもそもClaude Code経由じゃないので、
/planは関与しない - 意味が薄い場面: 「ちょっと1行直して」みたいな影響範囲が極小の依頼。プラン提示の往復が手間になるだけで、デフォルトモードで都度確認する方が速い
使いどころ3シナリオ(具体題材で再現)
シナリオ1: WordPress料理ブログを静的サイトに移行する初日
記事150本+画像340MBの引っ越しは、移行先候補が複数ある(Astro / Hugo / 11ty)し、URL構造をどう維持するかも先に決めたい。/plan こういう移行をしたい、候補と比較してプラン出して で方針案を3案並べてもらって、「URL維持しやすいAstroで」を確定してから本番作業に入る。後戻りが減る。
シナリオ2: 家計簿アプリの認証まわりを書き直したい
個人開発の家計簿アプリで、ログイン処理を「メアド+パスワード」から「メアド+ワンタイムパスワード」に切り替えたい。複数ファイル(ログイン画面・サーバ側・データベース)に手が入る。/plan 認証をワンタイムパスワード方式に切り替えたい、影響範囲を洗い出して順番にやる手順を立てて で先に作業手順を可視化。先に直すべきファイルが分かるから、途中で詰まりにくい。
シナリオ3: GitHubでcloneしてきたOSSを自分用に改造する直前
面白そうなOSS(オープンソースソフト)を見つけて手元にcloneしたけど、コードベースが大きくて全体像が見えない。/plan このプロジェクトの構造を読んで、機能Xを追加するならどこを直せばいいか見立てて で、Claude Codeに先に「読書感想文」を書かせる。これだけでも価値がある。プランに納得したら「Keep planning with feedback」で深掘りしていって、最後に承認して実装に入る。
初心者が踏みやすい落とし穴
- 「
/planを1回打てば以降ずっとプランモード」だと勘違いする。/planはその1メッセージ限定。継続的にplan modeで作業したいなら、起動中にShift+Tabを押すか、起動時にclaude --permission-mode planで立ち上げる - plan modeは「ファイル編集が一切できないモード」だと思い込む。実際にはClaude Codeが書き換え系の操作をしようとした瞬間に止まる仕組みで、許可確認の動き自体はデフォルトモードと同じ。Claudeの自主規制じゃなくて仕組み側のブレーキ
- Shift+Tabサイクルで行き過ぎる。デフォルト → acceptEdits → plan の順で回るので、押しすぎるとacceptEdits(自動承認モード)を素通りしてplanに飛ぶ。aut o やbypassPermissionsを有効化してると、サイクルにそれらも混ざるので操作ミスしやすい。落ち着いて画面下のステータスバーで現在モードを確認する
- プランが出た時点で何かが書き換わってると思う。プラン提示は完全に「紙」の状態で、フォルダの中身は1バイトも変わってない。承認ボタンを押すまで本番作業は始まらない
- 「Approve and start in auto mode」を脊髄反射で押す。auto modeはMax/Team/Enterprise/APIプランの一部でしか動かない。Proプランで使えないから選んでも進まない、みたいな引っかかりがある。Proなら「Approve and accept edits」か手動レビューを選ぶ
- クラウドセッションだと選択肢が違う。Claude Code on the web のクラウドセッションでは plan mode と acceptEdits は使えるけど、auto と bypassPermissions は出てこない。承認画面の選択肢も環境ごとに違うので、いつもの感覚で選ぼうとすると無いことがある
- 「ちょっと修正」案件で乱用する。1ファイルの1行直しに
/planを付けると、調査と提案の往復で時間が倍になる。影響範囲が小さい依頼はデフォルトモードで都度確認の方が速い - VS Codeでのラベルが違うのに気付かず迷う。VS Codeの拡張機能版だと「Plan mode」というUIラベルで表示されて、ターミナル版の
/planとは別の場所から切り替える。同じ機能なんだけど、UIが違うから「あれ、同じ/planなのに動きが違う?」と混乱しがち
書き方
/plan [依頼内容]
やってみるとこうなる
入力
/plan 既存の料理ブログをCMSなしの静的サイトに移行する方針を立てて。150記事ある。SEOのURL構造はなるべく維持したい
出力例
Claude Codeがフォルダ構成を読んで「移行プラン案」をマークダウンで返す。記事数の集計、移行先候補の比較(Astro / Hugo / 11ty)、推奨ステップが並んだ後、画面下に5択(auto modeで実行 / acceptEditsで実行 / 各書き換えを手動レビュー / フィードバックして計画継続 / Ultraplanでブラウザレビュー)が出る。承認するまでファイルは1バイトも変わらない
このページに出てきた言葉
- スラッシュコマンド
- Claude Codeのチャット欄で「/」から始まるコマンド。<code>/plan</code> <code>/clear</code> <code>/init</code> など
- プロンプト
- Claude Codeに送る指示の1メッセージ分のこと。チャットで送る1発言と同じ意味
- 許可モード(permission mode)
- Claude Codeがファイル書き換えやコマンド実行をどこまで自動で承認するかの設定。Shift+Tabキーで切り替えられる
- plan mode
- 許可モードの1種類。読み取り・調査は普通にやるが、ファイル書き換え・新規ファイル作成は止まる
- acceptEdits
- ファイルの書き換えを毎回確認せず自動承認する許可モード
- auto mode
- Claude Codeが書き換えやコマンド実行を自動承認するモード。Max/Team/Enterprise/APIプランで使え、Proプランでは使えない
- Ultraplan
- ブラウザ上でplan modeのプランをレビュー・編集できるClaude Codeの機能
- OSS
- オープンソースソフトの略。誰でもソースコードを見られて、改造したり再配布したりできるソフト
- clone
- GitHubなどに置いてあるプロジェクトのファイル一式を、自分のパソコンにコピーしてくる操作
- ターミナル
- 黒い画面で文字のコマンドを打ち込む画面。Macだと「ターミナル」アプリ、Windowsだと「コマンドプロンプト」「PowerShell」
- シェル
- ターミナルの中で動いていて、コマンドを受け付けてくれるプログラム
- CMS
- Contents Management Systemの略。WordPressみたいに、記事の保存・編集・公開を一括で管理してくれるソフトのこと
- 静的サイト
- あらかじめHTMLファイルを書き出しておいて、それをそのまま配信するだけのサイト。表示が速く、サーバ負荷が軽い