Claude Media
useAutoModeDuringPlanとは — Plan mode中の審査を切り替える設定

useAutoModeDuringPlanとは — Plan mode中の審査を切り替える設定

useAutoModeDuringPlanは、Plan mode中のBashコマンドをauto modeの分類器に審査させるか都度確認するかを切り替える設定です。既定値とfalseでも止まらないコマンドを解説します。

useAutoModeDuringPlanとは何か

Claude CodeのPlan mode(計画モード)は、ファイルを編集せずに調査と計画づくりだけを行うモードです。編集は止まりますが、調査のためのBashコマンドは実行する必要があります。useAutoModeDuringPlanは、そのBashコマンドをどう審査するかを決めるbool型の設定です。settings.jsonのPermission settingsに属し、/configには「Use auto mode during plan」として表示されます。

既定値はtrueです。auto modeが利用できるセッションでは、Plan mode中のBashコマンドをauto modeの分類器(classifier)が審査し、承認されたコマンドはプロンプトなしで実行されます。falseにすると、組み込みの読み取り専用コマンド以外のすべてのコマンドで、実行前に確認を求められます。

Plan modeのBashコマンドはどの順で扱われるか

「確認が出るか出ないか」は、セッションの状態を上から順に当てはめ、最初に合致したものが決めます。

判定順

Plan mode中のBashコマンドの判定順

  1. 1

    対話端末で、bypass permissionsが使えるか

    該当するなら、分類器もプロンプトも働きません。計画中のコマンドもファイル編集もそのまま実行されます。明示的なaskルールと、rm -rf /やrm -rf ~のようなcritical path(保護対象のディレクトリ)への削除だけは、この場合も確認が出ます。

  2. 2

    auto modeが利用でき、設定が`true`か

    該当するなら、critical pathへの削除を除くシェルコマンドを分類器が審査します。承認されたコマンドは実行され、拒否されたコマンドはブロックされます。

  3. 3

    それ以外(auto modeが使えない、または`false`)

    組み込みの読み取り専用コマンド以外は、すべて確認プロンプトになります。サンドボックスのauto-allowモードを有効にしていても同じです。

1番目が働くのは対話端末のセッションに限られます。-pによる非対話実行、Agent SDK、VS Code拡張のチャットパネルでは、bypass permissionsを使えるようにしてもPlan modeのブロックは維持されます。

trueとfalseで何が変わるか

くらべる

審査の主体が分類器か利用者か

分類器が審査

true(既定)

承認されたコマンドはプロンプトなしで実行され、拒否されたコマンドは実行前に止まります。falseの確認プロンプトが出る場面が減る代わりに、判断を分類器に預けます。

利用者が審査

false

読み取り専用コマンド以外は毎回プロンプトが出ます。分類器が止めるはずの操作でも、許可すれば実行されます。

falseにしても、編集のブロックと計画の承認フローはそのまま働きます。変わるのはBashコマンドの確認方法だけで、Plan modeを使う意味が薄れるわけではありません。

毎回確認が出るときの切り分け

trueのまま変えていないのに毎回確認を求められるなら、疑う先は設定値より先にauto modeの利用可否です。auto modeが使えないセッションでは、trueにしていてもfalseと同じ挙動になります。利用条件は次の4点です。

条件内容
組織内容Team・Enterpriseでは既定で利用可能。管理者がmanaged settingsのdisableAutoModeで無効化できる
モデル内容Anthropic API・Claude Platform on AWSではOpus 4.6以降・Sonnet 4.6以降・Fableモデル系。Amazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry・サインイン済みのClaude apps gatewayではSonnet 5・Opus 4.7以降・Fableモデル系に限る
プロバイダー内容上記の各プロバイダーで既定有効
サーバー側の一時停止内容Anthropicがサーバー側で無効化している場合や、アカウントがサーバーに拒否された場合がある。その応答を受けたセッションは、終了までautoが戻らない

サーバー側の一時停止が原因のときは、設定を直しても同じセッションでは戻りません。新しいセッションを開き直す必要があります。auto modeの判定内容そのものはauto mode分類器は何を止めているかで扱っています。

--permission-modeで指定できる値は、v2.1.287のclaude --helpではacceptEdits・auto・bypassPermissions・manual・dontAsk・planの6つです。Plan modeから始めたいときはclaude --permission-mode planと指定します。

falseにしても止まらないコマンド

falseでプロンプトを出さない「読み取り専用コマンド」の集合は、Plan mode固有ではなく、Claude Code全体で共通の組み込みリストです。

分類該当コマンド
基本コマンド該当コマンドls cat echo pwd head tail grep find wc which diff stat du cd
バージョン管理該当コマンド読み取り専用の形のgit

このリストは設定で増減できません。特定のコマンドを確認対象にしたいときは、/permissionsコマンドでaskかdenyのルールを足します。

サンドボックスを使っている場合は、Plan modeだけ扱いが違います。サンドボックス内のBashを確認なしで通すauto-allowの代替は、Plan modeでは働きません。bareなBashのaskルールがあると、サンドボックス内の読み取り専用コマンドを含め、すべてのBashコマンドが確認になります。v2.1.212より前は、Plan modeでもこの代替が働いていました。

分類器はPlan mode中に何を通し何を止めるか

trueのときPlan mode中のBashコマンドを審査するのは、通常のauto modeと同じ分類器です。v2.1.287のclaude auto-mode defaultsは、既定ルールをJSONで出力します。claude --helpにはこのサブコマンドが「Inspect or reset auto mode classifier configuration」として載っています。件数は次のとおりです。

ルールの種類件数
allow件数17
soft_deny件数72
hard_deny件数1
environment件数21

代表的なコマンドを既定ルールに当てると、次のように分かれます。ルール名は出力にあった見出しです。

コマンド例true(分類器)false
git push origin feature-branchtrue(分類器)allowの「Git Push Destination」が、セッションのリポジトリへのpushを通常操作として扱うfalseプロンプトが出る
リポジトリ内のファイル操作true(分類器)allowの「Local Operations」が、プロジェクト範囲内の操作として扱うfalse読み取り専用以外はプロンプトが出る
curl ... | bashtrue(分類器)soft_denyの「Code from External」が、外部由来のコードの実行を対象にするfalseプロンプトが出る
セッション前から存在するファイルへのrm -rftrue(分類器)soft_denyの「Irreversible Local Destruction」が対象にするfalseプロンプトが出る

soft_denyは、利用者の明示的な指示やallowの例外で解除できるルールです。hard_denyは無条件に止めるルールで、既定では1件だけです。個別ルールの全文は、claude auto-mode defaults --labelにルール名の先頭部分を渡すと読めます。v2.1.208以降です。

rm -rf /やrm -rf ~のようなcritical pathへの削除は、既定では分類器が審査しません。critical pathへの削除はallowルールでも通りません。対話端末では2分のカウントダウン付きで確認が出て、時間内に答えなければ拒否されます。-pのように端末がない実行では拒否されます。denyルールが一致すれば、確認なしで拒否されます。この扱いはv2.1.281以降です。

設定できる場所とできない場所

useAutoModeDuringPlanのスコープは「User、Local、Managed」で、プロジェクト共有のsettings.jsonは対象外です。

{
  "useAutoModeDuringPlan": false
}

書けるのは~/.claude/settings.json(User)・.claude/settings.local.json(Local)・組織のmanaged settingsの3か所です。リポジトリで共有する.claude/settings.jsonに書いても、チームメンバーの挙動は変わりません。

trueは未設定と同じ扱いで、どれか1つのファイルにfalseがあれば、そのfalseが効きます。permissions.allowやpermissions.askのようにリポジトリで共有してチームの挙動を揃えるキーとは、ここが違います。組織で一律に確認を挟ませたいならmanaged settings、個人で慎重にしたいならUserかLocalに書く、という2択です。

Bashコマンド以外にも及ぶ範囲

分類器の審査対象はBashコマンドだけではありません。サブエージェントなど別のエージェントへSendMessageで送るメッセージも、平文とagent teamsの構造化メッセージの両方が、配信前に分類器の審査を受けます。auto modeでの審査に加えて、Plan modeで分類器がコマンドを審査している間も同じです。この送信審査はv2.1.222以降です。調査を複数のサブエージェントに分担させながらPlan modeで進める場合、コマンドだけでなくエージェント間のメッセージにも、この切り替えが影響します。

この挙動が今の形になった経緯

Plan modeのBash審査は、2026年7月から8月にかけて3回変わっています。

あゆみ

Plan mode中のBash審査の変遷

  1. 2026年7月17日v2.1.212

    Plan mode中にtouchやrmのようなファイル変更コマンドが、確認なしで実行される不具合が修正されました。

  2. 2026年7月22日v2.1.218

    静的解析が読み取り専用と証明できないBashコマンドについて、Plan modeでauto modeを使っているときは確認を出さず、分類器が判断する形に変わりました。

  3. 2026年8月4日v2.1.222

    SendMessageで他のエージェントへ送るメッセージも、送信前に分類器が評価されるようになりました。

関連する設定との役割の違い

Plan mode中の確認まわりには、名前の似た設定がいくつかあります。

設定

名前の似た設定4つ

  • useAutoModeDuringPlan

    対象はPlan mode中のシェルコマンドです。

  • autoMode.classifyAllShell

    Plan modeに限らず、auto modeが有効なあいだ全般に効く設定です。trueにすると、Bash(npm test)のような個別のallowルールに一致するコマンドも分類器へ回します。既定のfalseでは、Bash(*)やBash(python *)のように任意のコードを実行できるallowルールだけが一時停止され、狭いallowルールに一致したコマンドは分類器を通りません。スコープはUserかManagedで、v2.1.193以降です。

  • disableAutoMode

    Shift+Tabのモード循環からauto modeを外します。managed settingsに置くと、利用者が上書きできません。

  • permissions.defaultMode: plan

    セッションをPlan modeで始める設定です。シェルコマンドの審査主体は変えません。

分類器の判定基準そのものを調整したいなら、useAutoModeDuringPlanをfalseにするより、autoModeのallow・soft_deny・hard_denyを編集する選択肢があります。falseは分類器を使うかどうかの切り替えで、特定のコマンドだけを確認対象にする細かい制御はできません。なお、soft_denyなどに"$defaults"を書かずに配列を設定すると、その節の既定ルールが丸ごと置き換わります。

まとめ

毎回確認が出る原因は、設定値よりauto modeの利用可否にあることが多く、設定を触る前に利用条件を見ます。

この記事を共有:XはてブLinkedIn