Claude CodeのdisableAutoMode設定 — auto modeを消す方法と戻し方
disableAutoMode設定でauto modeをShift+Tabの候補から消す方法と、auto mode disabled by settingsが出たときに元へ戻す手順、置き場所ごとの効き方を解説します。
disableAutoModeは、autoモードをShift+Tabの巡回から外し、起動時の選択肢からも消す設定キーです。値は文字列"disable"の1種類だけで、書ける場所は任意の設定ファイルです。ただし、利用者本人が上書きできないのは管理設定に置いたときに限ります。
autoをやめて手動確認に戻す手順そのものはClaude Codeの自動承認オフ — 手動モードに戻す手順にあります。ここでは、disableAutoModeでautoが消えたときの戻し方と、キーの読まれ方・置き場所ごとの効き方・実行中セッションへの届き方を扱います。
auto mode disabled by settingsと出た・autoを選べないときに戻す手順
セッションにauto mode disabled by settingsと表示された場合、管理者が配った経路からdisableAutoModeが届き、実行中のセッションがautoを離れた状態です。Shift+Tabの巡回にautoが出ない、--permission-mode autoで起動してもManualで始まる、という症状も同じ原因で起こります。
戻すには、キーを持っているファイルを突き止めて、そこからdisableAutoModeを消します。
disableAutoModeを外して戻す流れ
- 1
どの経路から届いたかを見る
セッション内で
/statusを実行し、Setting sourcesの行を確かめます。読み方は後述の「設定が届いたか確かめる」にあります。 - 2
自分で触れるファイルなら、キーを消す
~/.claude/settings.json、プロジェクトの.claude/settings.json、.claude/settings.local.jsonのどれかにあれば、disableAutoModeの行を削除します。"disable"以外の値を書いて打ち消す方法はありません。 - 3
管理設定なら、管理者に外してもらう
管理設定の値は利用者のファイルでは上書きできません。サーバー管理設定なら反映に最長1時間のポーリング待ちがあります。
- 4
新しいセッションで試す
キーを消したあとは、セッションを開き直して
autoが選べるか確かめます。
どのファイルにもキーが見当たらず、管理設定も使っていない場合は、disableAutoMode以外の要因が考えられます。プランやモデルの条件、Anthropic側でのサーバー側の無効化やアカウント単位の拒否は、auto modeがShift+Tabで有効化できない原因と対処法で切り分けられます。
値を間違えるとどうなるか — 管理設定と個人のファイルで扱いが違う
設定リファレンスの型欄は「文字列"disable"」で、既定は未設定です。書き方は2通りあり、どちらも同じ効果です。
{
"disableAutoMode": "disable"
}permissionsの内側にpermissions.disableAutoModeとして書くこともできます。他の権限系キーとまとめたいときはこちらが収まります。
ではtrueや"enabled"のような別の値を書くとどうなるのか。答えは書いた場所で分かれます。
読めない値を書いたときの扱い
管理設定に書いた場合
1つの制限値だけを持つキーは、読めない値が来ると"disable"として扱われます(v2.1.282以降)。disableAutoModeはこの対象に名前が挙がっています。設定の報告にはwas present but invalidと出ます。
ユーザー・プロジェクトのファイルに書いた場合
管理設定のような読み替えの救済はありません。JSONやトップレベルの形が壊れたファイルは丸ごと拒否されて報告され、不正な項目が1つだけなら警告付きで読み飛ばされて残りは有効になります。trueが"disable"に読み替えられる規定は見当たらないため、値は"disable"と正確に書きます。disableAutoModeの不正値がどちらの扱いになるかは、キー単位では書かれていません。
つまり「trueと書いたが効かない」という話は、少なくとも管理設定では逆に働きます。意図せずautoを禁止してしまう向きです。無効化をやめたいときは、値を書き換えずにキーを消します。管理設定ではnullを書いてもキーが削除された扱いになります。
管理設定ファイルの構文が壊れている場合はもっと厳しく、Claude Codeは起動を拒否して、原因になった管理ソースを示すエラーを出します。落とされた値の一覧はclaude doctorで確認できます。
誰のautoを消したいかで置き場所を選ぶ
disableAutoModeのScopeはAny fileです。allowManagedPermissionRulesOnlyのような管理設定専用のキーとは違い、どの設定ファイルに書いても値は読まれます。置き場所を選ぶ基準は、効かせたい範囲と、その範囲の人が外せるかどうかです。
disableAutoModeを置く場所と効く範囲
~/.claude/settings.json
自分の端末のセッションだけが対象です。他の人には届きません。
プロジェクトの.claude/settings.json
そのリポジトリを開いた全員に届きます。リポジトリを編集できる立場なら、管理者権限は要りません。
管理設定
組織の端末すべてが対象で、利用者の設定ファイルでは上書きされません。
設定の優先順位は、強い方から管理設定、コマンドラインの--settings、プロジェクトのローカル設定(.claude/settings.local.json)、共有のプロジェクト設定、ユーザー設定です。管理設定のページは、管理値について「利用者の設定ファイル・--settings・プロジェクトファイルのどれも管理値を上書きしない」と説明しています。
一方、共有の.claude/settings.jsonに書いたdisableAutoModeを、手元のローカル設定で打ち消せるかどうかは、公式のどのページにも書かれていません。このキーの有効な値は"disable"だけなので、下位のファイルに「無効化しない」と書く値がそもそもありません。この点は型定義からの推論で、公式の明記ではありません。少なくとも、共有ファイルを手元で書き換えれば効かなくなります。組織として確実に固定したいなら、管理設定に置く運用になります。
消えるのはどこからか — 起動経路と利用形態
有効な間は、次の4つのどれがautoを選ぼうとしても、セッションはdefault(Manual)で始まります。
Shift+Tabの巡回(autoが候補から消える)--permission-mode autoの起動フラグ- 設定ファイルの
defaultMode: "auto" - 組み込みの既定値(v2.1.283以降、対話型のターミナルとVS Codeでは全プランで
auto)
--permission-mode autoを指定しても起動が失敗する記述は公式にありません。Manualで始まる、とだけ書かれています。
管理設定は、ターミナルだけでなく、VS CodeとJetBrainsの拡張、デスクトップアプリのCodeタブ、Agent SDKのセッションも読みます。Agent SDKは、settingSourcesでユーザー・プロジェクト・ローカルの各ファイルを除外していても、管理設定は読み込みます。Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryでも、この設定がautoを選択肢から外す点は同じです。
一方、Claude DesktopのCoworkタブは対象外です。Coworkは独自の権限モードを持ち、標準の状態ではモードのセレクターすら表示されません。
実行中のセッションはいつ抜けるか
すでにautoで動いているセッションについては、設定の届き方で反応が変わります。
disableAutoModeまわりの挙動が変わったバージョン
- v2.1.251より前実行中のセッションは変わらない
管理設定で
disableAutoModeが配られても、動いているセッションは終了するまでautoのままでした。 - v2.1.251以降届いた時点でautoを抜ける
管理者が配布した経路(管理設定)から届くと、実行中のセッションは
autoを離れ、auto mode disabled by settingsと表示します。 - v2.1.282以降読めない値がdisableとして扱われる
管理設定に置いた
disableAutoModeが壊れていても、制限がかかったままになります。
反映までの時間も配布方法で違います。管理設定のファイルは、起動時に読み込まれ、ファイルが変わったときにも再読み込みされます。MDMやOSのポリシーは起動時に読み、30分ごとに変更を確認します。サーバー管理設定は起動時に取得し、稼働中は1時間ごとにポーリングします。設定を配った直後に一部の端末でautoが選べるのは、このポーリング待ちの可能性があります。
なおuseAutoModeDuringPlanは別物です。Plan mode中にシェルコマンドを分類器で審査するかを決めるキーで、Scopeはユーザー・ローカル・管理設定です。falseはどのファイルにあっても有効なままで、リポジトリ側からは切れません。autoの初回案内だけを消したいときはskipAutoPermissionPromptでauto mode案内の初回表示を止める設定が近い選択です。
設定が届いたか確かめる
配布が届いたかは、セッション内で/statusを実行し、Setting sourcesの行を見ます。管理設定が効いていれば、Enterprise managed settingsの横に、選ばれた配布経路がかっこ書きで出ます。
/statusかっこの中は配布経路を表します。(remote)はサーバー管理設定、(plist)と(HKLM)はMDMやOSのポリシー、(file)と(drop-ins)はmanaged-settings.jsonとドロップインのディレクトリです。行そのものが出ないときは、管理ソースがどれも届いていません。別の経路が出るときは、より優先度の高いソースが先に選ばれています。v2.1.242以降はSkipped sourcesの行に、選ばれなかったソースの名前が出ます。
なおclaude doctorのOrganization policy行は、Remote Controlとクラウドセッションの組織設定が届いたかを見るためのものです(v2.1.261以降)。disableAutoModeの到達確認はこの行では見ず、/statusのSetting sourcesで確かめます。
手元の設定ファイルで試す場合は、次の起動フラグが使えます。v2.1.285のclaude --helpでは、次のように表示されました。
--setting-sources <sources> Comma-separated list of setting sources
to load (user, project, local).
--settings <file-or-json> Path to a settings JSON file or a JSON
string to load additional settings from--setting-sourcesで読むファイルを絞り、--settingsでJSONを追加すれば、どの置き場所で効いているかを切り分けられます。--setting-sourcesの選択肢はuser・project・localの3つで、管理設定は含まれません。
よくあるつまずき
- 個人設定に書いたのにチームに効かない:
~/.claude/settings.jsonや自分の.claude/settings.local.jsonに書いた設定は、自分のセッションにしか届きません。チームに効かせるなら共有の.claude/settings.json、組織全体なら管理設定です permissions.defaultModeだけを"default"にした: 変わるのは開始モードだけで、Shift+Tabや--permission-mode autoではまだautoに入れます。autoという選択肢を消すにはdisableAutoModeが必要ですpermissions.disableBypassPermissionsModeと取り違える: 名前は似ていますが、こちらはbypassPermissionsモードを禁止する別のキーです。autoには影響しません
まとめ
持ち帰る判断は置き場所です。自分の端末だけで使わなくしたいなら~/.claude/settings.json、共有の.claude/settings.jsonは手元で書き換えれば外れるので、組織で外せなくするなら管理設定という選び方になります。個人のファイルには管理設定のような読み替えの救済がなく、検査は厳格です。
autoが既定になる条件はauto mode既定化で確認したい設定、allow/ask/denyルール全体はClaude Codeの/permissionsコマンドで権限ルールとauto mode拒否を管理する、分類器が止める操作はauto modeブロック一覧 — 既定で何を止めるかにあります。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。