auto modeがShift+Tabで有効化できない原因と対処法
Claude CodeでShift+Tabやdefaultモード設定からauto modeに入れないときの原因を、バージョン・プラン・モデル・設定ファイルの4系統で切り分けます。
Auto modeに入れないときは、まず起動時の判定を疑う
Shift+Tabを押しても、auto modeが切り替え候補に出ないことがあります。permissions.defaultModeに"auto"を書いたのに、Manualで起動することもあります。どちらの場合も、原因は大きく5系統に分かれます。バージョンが古い、プラン・モデル・プロバイダーが対応外、defaultModeやdisableAutoModeの設定、feature-flag取得の停止、Anthropic側の一時的な無効化です。
共通の前提が1つあります。auto modeが利用できないと判定されたセッションは、そのままManualで起動します。エラーは出ません。この判定はセッションの開始時に行われます。サーバー側で止められた場合は、そのセッションが終わるまでauto modeに戻りません。設定やモデルを直したときも、新しいセッションを開き直して確認するのが確実です。
auto modeの既定の扱いは、v2.1.283を境に変わりました。古いガイドを読んで原因を探すと、すでに当てはまらない条件を追うことになります。
auto modeが既定で起動する条件
v2.1.283以降
ターミナルとVS Codeの対話セッションは、defaultModeを設定していなければauto modeで起動します。プランもプロバイダーも問いません。
v2.1.282以前
既定でautoになるのは、Pro・Max・Teamのうち、feature-flagを取得できているセッションだけです。それ以外はManualで始まります。
「Shift+Tabの候補に出ない」は別の問題です。候補に出るかどうかは、起動時の既定ではなく、auto modeを使える条件(プラン・モデル・プロバイダー・組織設定)で決まります。この記事では、起動時に入れない場合と候補に出ない場合の両方を扱います。
auto modeでは、通常のプロンプトの代わりに分類器(classifier)が操作を審査します。分類器が何を許可・拒否するかはClaude Codeのauto mode分類器は何を止めているかで扱っています。ここでは、そもそも有効化できない手前の問題を切り分けます。
バージョンが古いと既定にならない
auto modeを既定の起動モードにする仕組みは、v2.1.228以降(macOS・Linux・WSL)またはv2.1.233以降(Windows)で使えます。これより古いと、既定は常にManualです。さらに、プランやプロバイダーを問わず既定でautoになるのはv2.1.283以降です。
公式ドキュメントの本文は、全プラン・全プロバイダーで既定になる境目をv2.1.283と書いています。一方、changelogのv2.1.283の項目は、第三者プロバイダーやテレメトリー無効の対話セッションをautoで始める変更です。「全プラン・全プロバイダー」の変更は、v2.1.284の項目に載っています。ドキュメント同士で境目が1つずれているため、v2.1.283で試して既定にならなければ、v2.1.284以降へ上げて確認する選択肢があります。
手元のバージョンは次のコマンドで確認できます。v2.1.287では、claude --helpの--permission-modeの選択肢にautoが含まれていました。
claude --version
claude --help | grep -A3 "permission-mode"v2.1.287で実際に出力された内容は次のとおりです。
2.1.287 (Claude Code)
--permission-mode <mode> Permission mode to use for the session
(choices: "acceptEdits", "auto",
"bypassPermissions", "manual",
"dontAsk", "plan")選択肢にmanualがあり、ドキュメントのdefaultとは表記が違います。ドキュメントの表はclaude --permission-mode defaultと書いており、どちらの語も同じManualを指す書き方です。バージョンを上げるときは更新コマンドを使います。
claude updateバージョンを上げても改善しないときは、次の節でプラン・モデルの条件を確認します。
プラン・モデル・プロバイダーの組み合わせが対応外になっていないか
auto modeを使える条件は、プラン・組織設定・モデル・プロバイダーの4点です。どれか1つでも外れると、Shift+Tabの候補からautoが消えます。
| 観点 | 条件 |
|---|---|
| プラン | 条件全プランが対象 |
| 組織設定 | 条件TeamとEnterpriseは既定で利用可能。管理者がdisableAutoModeを"disable"にすると無効化される |
| モデル(Anthropic API・Claude Platform on AWS) | 条件Opus 4.6以降、Sonnet 4.6以降、Fableモデルのいずれか |
| モデル(Bedrock・Agent Platform・Foundry・gateway) | 条件Sonnet 5以降、Opus 4.7以降、Fableモデルのいずれか |
Sonnet 4.5・Opus 4.5・Haiku・claude-3系のモデルは、どのプロバイダーでもauto modeに対応していません。使用中のモデルがこれらに当たるなら、バージョンや設定を直しても選択肢には出ません。切り替えの手段としては、/modelでモデルを選び直す方法があります。
claude -pのような非対話実行やAgent SDK経由は、起動時の既定の決まり方が対話セッションと逆になります。feature-flagを取得できるセッションではdefault(Manual)で始まり、取得しないセッションではv2.1.285以降ならautoで始まります。取得しないセッションとは、第三者プロバイダー経由やテレメトリーを止めた環境です。組織のポリシーが既定のautoを止めている場合は、どちらでもdefaultになります。v2.1.285のchangelogが挙げているのは、Python Agent SDKです。
非対話実行でauto modeを使いたいときは、--permission-mode autoを指定するか、defaultModeに"auto"を設定します。
defaultModeを設定したのに反映されない
defaultMode: "auto"を書いたのにManualで起動するなら、v2.1.282以前やclaude -pでは、書いた場所が原因である可能性が高くなります。"auto"と"bypassPermissions"は、.claude/settings.jsonと.claude/settings.local.jsonに書いても効きません。~/.claude/settings.jsonか管理者設定(managed settings)に書いた場合だけ有効です。
{
"permissions": {
"defaultMode": "auto"
}
}このJSONは~/.claude/settings.jsonに置きます。プロジェクトの.claude/settings.jsonに置くと、Claude Codeは値を使わず、組み込みの既定にフォールバックします。ここに落とし穴があります。そのとき~/.claude/settings.json側のdefaultModeも読まれません。
つまり、プロジェクト側に"auto"を書くと、ユーザー設定で別のモードを選んでいても、組み込みの既定(v2.1.283以降ならauto)に戻ります。"bypassPermissions"をプロジェクト側に書いた場合は、Manualで起動します。この2つの値だけは、チームでリポジトリに設定を共有する運用で効かない点に注意が必要です。acceptEditsやplanなどほかの値は、どの設定ファイルからでも効きます。
組織側が意図的にauto modeを止めているケースもあります。disableAutoModeを"disable"にすると、Shift+Tabの候補からautoが外れ、--permission-mode autoで起動したセッションもManualで始まります。設定の適用範囲は、リファレンス上は「どの設定ファイルでも可」です。管理者設定に置くと利用者が上書きできないので、組織の制限として使われます。
実行中のセッションに管理者配布の設定が届くと、auto mode disabled by settingsと表示されてautoを離れます。v2.1.251より前は、離脱はセッション終了まで起きませんでした。個人設定のミスか組織の制限かを見分ける目印です。制限の条件はClaude CodeのdisableAutoMode設定で扱っています。
feature-flag取得が止まっている環境
v2.1.282以前では、auto modeが既定になるかどうかをfeature-flagで決めていました。次のセッションでは、Anthropicからのfeature-flag取得自体が止まります。
DISABLE_GROWTHBOOK・DISABLE_TELEMETRY・DO_NOT_TRACK・CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICのいずれかを設定している- Bedrock・Claude Platform on AWS・Agent Platform・Foundryなどの第三者経由で、ホスト側が
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTを設定していない - Claude apps gateway経由のセッションである
該当する環境変数を設定したかどうかは、シェルで確認できます。
env | grep -E 'DISABLE_(GROWTHBOOK|TELEMETRY|NONESSENTIAL)|DO_NOT_TRACK'注意したいのは、DISABLE_TELEMETRYとDO_NOT_TRACKの値の読み方が違う点です。DISABLE_TELEMETRYは0やfalseでもオプトアウトになり、止めるには変数自体を外す必要があります。DO_NOT_TRACKは標準的な真偽値として読まれ、0なら取得は止まりません。CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICも0で効果が残ります。
v2.1.283以降の対話セッションは、この取得に頼らずにauto modeで始まります。それでも古い手順書の「テレメトリーを止めたせいでautoが既定にならない」という説明を見かけたら、バージョンの方を先に疑います。
インストール直後や更新直後の最初のセッションも例外です。フラグがまだ届かないうちに起動モードが決まるので、次のセッションとは違うモードで始まることがあります。claude -p・Agent SDK・VS Code拡張の場合は、フラグを先に取得できます。
サーバー側で一時的に無効化されるケース
Anthropicがauto modeをサーバー側で止めている場合や、サーバーがアカウントへのauto modeを断った場合があります。どちらの判定でも、受けたセッションが終わるまでauto modeは使えません。バージョン・プラン・モデル・設定に問題がなく、画面に手がかりが出ないときは、このケースの可能性があります。
この動きが目立った例が、GitHub issue #33587です。v2.1.74を使うMaxの利用者が、defaultMode: "auto"を設定してもauto modeに入れないと報告しました。ステータスバーにはauto mode temporarily unavailableと出続け、Shift+Tabでも入れなかったといいます。2026年3月12日に起票され、同じ症状の報告が続きました。2026年4月17日にMaxで使えるようになり、起票者がクローズしました。
コメントの中では、~/.claude.jsonの内部フラグが"disabled"になっているという報告が相次ぎました。また、auto modeは当時Teamプラン向けの研究プレビューで、ほかのプランへ順に広がると推測するコメントもありました。後には、ステータスの文言が「unavailable for your plan」に変わったという報告も出ています。
当時コミュニティが見つけた内部フラグ(参考情報)
当時のコメントでは、~/.claude.json内のcachedGrowthBookFeatures.tengu_auto_mode_configを調べた報告が相次ぎました。値は"enabled": "disabled"になっていたといいます。この内部キーは公式に文書化されておらず、現在の診断には使えません。段階的な公開の様子を伝える記録として残します。
現行のドキュメントでは、Pro・Max・Teamを含む全プランがauto modeの対象です。当時のプラン制限は解消した一方、Anthropicがサーバー側で止める仕組みは、ドキュメントに今も書かれています。
Bedrock・Agent Platform・Foundryでの違い
Amazon Bedrock・Google Cloud's Agent Platform・Microsoft Foundryでは、auto modeは既定で使えます。signed-inのClaude apps gatewayのセッションも同じです。v2.1.158からv2.1.206までの間だけ、CLAUDE_CODE_ENABLE_AUTO_MODE=1を設定しないと有効になりませんでした。v2.1.207以降は、この環境変数は受け付けられても効果がありません。古い手順書や社内Wikiに「必須」と残っていれば、不要な作業です。経緯はCLAUDE_CODE_ENABLE_AUTO_MODEとはで扱っています。
これらのプロバイダーは、v2.1.283から、ほかの設定がなければ起動時の既定もautoになります。起動時のモードを自分で決めたいときは、permissions.defaultModeを設定するか、VS Code拡張ならモードのインジケーターから選びます。
プロバイダーによっては、使えるモデルがAnthropic APIより絞られる点に注意が要ります。Bedrockなどでは、Sonnet 5以降・Opus 4.7以降・Fableモデルでなければauto modeに入れません。Opus 4.6やSonnet 4.6を使っているなら、Anthropic APIでは対応でも、ここでは対象外です。
起動後に出るメッセージは別の問題
次の3つは、auto modeに入れない問題とは別の話です。原因が違うので、対処も違います。
auto modeが出す3つのメッセージ
入れない(起動時)
候補にautoが出ない、またはManualで始まる。この記事の対象です。条件を満たさない、または止められている状態です。
判定できない(操作の最中)
<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right nowの形で出ます。分類器への要求が失敗した表示です。原因と対処はClaude Codeのauto mode安全性判断エラーで扱っています。サーバーの判定が来ない
10回続けて判定が返らないと、そのターンが止まります。表示は
Auto mode is unavailable — the server returned no safety verdict for the last 10 responsesです。
3つ目は、サーバー側の分類器審査(server-side classifier review)を使っているセッションで起きます。待機中のスピナーにはAuto mode check unavailableとカウントダウンが出て、Escでターンを中断できます。メッセージにあるとおり、メッセージを送り直すか、autoから抜けるかを選べます。
切り分けの順番
原因の候補が多いため、確認の順番で絞り込みます。上から進めて、当てはまった時点で止めます。
auto modeに入れないときの確認順
- 1
バージョンを確認する
claude --versionでv2.1.283(安全を見るならv2.1.284)以上か見ます。古ければclaude updateで更新します。 - 2
使用モデルを確認する
Sonnet 4.5・Opus 4.5・Haiku・claude-3系なら、対応外です。プロバイダーがBedrockなどなら、Sonnet 5以降・Opus 4.7以降・Fableに絞られます。
- 3
defaultModeの置き場所を確認する
プロジェクトの
.claude/配下に"bypassPermissions"を書いていないか見ます。v2.1.282以前やclaude -pなら、"auto"も同様です。書いていれば~/.claude/settings.jsonへ移します。 - 4
disableAutoModeを確認する
どの設定ファイルにも
disableAutoMode(permissions.disableAutoModeの書き方もあります)が"disable"で入っていないか見ます。管理者設定にあれば、組織の制限です。 - 5
v2.1.282以前ならfeature-flagの環境変数を確認する
テレメトリー系の環境変数を外し、次のセッションを開きます。
- 6
新しいセッションで試す
上のどれにも当たらないなら、サーバー側の一時停止の可能性があります。セッションを終了し、時間を置いて開き直します。
設定ファイルの妥当性はclaude doctorでも確認できます。claude doctorは、セッションを開始せずにインストール状態と設定ファイルの検証エラーを表示する、読み取り専用の検査です。セッション内の/doctorは、より広い点検に加えて、修復の提案もします。
claude doctorまとめ
v2.1.283以降なら、auto modeはプランに関係なく既定で始まります。入れないときは、v2.1.282以前のままか、使用モデルが対応外か、disableAutoModeが入っているかを確認します。v2.1.282以前では、defaultMode: "auto"をプロジェクト側に書いたことも原因になります。確認しても原因が見つからないなら、サーバー側の停止を受けたセッションの可能性があり、開き直して試す価値があります。