Claude Codeがdefault modelを拒否されて起動しないときの原因と対処
Claude Codeがdefault modelの拒否で起動しないときの原因を、deniedModelsとavailableModelsの文言別に切り分けます。allowedProvidersの拒否との見分け方も扱います。
起動時に出る「block the default model」は何を意味するか
Claude Codeの起動直後に次の1行が出て終了する場合、原因は組織の管理設定(managed settings)です。
Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".メッセージの意味は2段です。まず、「Default」オプションが解決するモデル(ここではclaude-opus-5-5)が管理設定で禁止されています。さらに、そこから降りていく候補もすべて許可されていません。両方が揃ったときだけ、Claude Codeは禁止されたモデルで動かさず、起動そのものを止めます。
個人の設定ファイルでは直せません。管理側のavailableModelsとdeniedModelsは、ユーザー・プロジェクト・ローカルの設定で広げられないためです。
文言は2種類ある
どのキーが原因かで、文言が変わります。
| 原因のキー | メッセージの中心部分 |
|---|---|
deniedModels | メッセージの中心部分block the default model (<モデルID>) in "deniedModels" |
availableModels(availableModelsMatchが"exact") | メッセージの中心部分allows only the models listed in "availableModels", and none of them can be used as the default model (<モデルID> isn't listed) |
後者は、許可リストが完全一致モードで、Defaultの解決先が載っていない場合です。どちらも末尾はAsk your administrator to update ...で、直すキーの名前を挙げています。
同じ原因は、起動後にも別の形で出ます。セッション中に/model defaultを選ぶか、ピッカーのDefault行を選ぶと、Can't switch to the default model: ...となって切り替えが拒否され、今のモデルのまま続きます。こちらは起動を止めないので、/modelで許可されたモデルを名前で選べば足ります。
なぜ「降りる先」もすべて駄目になるのか
deniedModelsでDefaultの解決先が禁止されても、すぐには終了しません。Defaultは次の順で、許可されたモデルに降りていきます。
禁止されたDefaultが降りる順番
- 1
同じファミリーの最新の許可バージョン
たとえばOpusの最新が禁止なら、許可されている一つ前のOpusが候補です。
- 2
低コストのファミリー
SonnetとHaikuを、この順に見ます。それぞれ最新の許可モデルが候補です。
- 3
availableModelsの先頭の許可エントリ
許可リストの中で、使えるモデルを指す最初のエントリが選ばれます。
3段とも許可モデルが見つからなかったときだけ、冒頭のエラーで起動が止まります。つまり、このエラーが出る環境では、禁止リストが広すぎるか、許可リストがDefaultの降り先を一つも含んでいません。
許可リストの書き方で降り先が消えることもあります。許可リストの中に、ファミリー内の特定モデル(バージョン接頭辞かフルID)を書いたエントリがあると、そのファミリーのワイルドカード(sonnetのようなエイリアス)は無効になります。["sonnet", "claude-sonnet-4-5"]はSonnet 4.5系だけを許可し、ほかのSonnetは対象外です。Sonnetを降り先にするつもりで、新しいバージョンの許可を足し忘れていると、3段とも空振りします。
availableModelsが空でない構成では、動きが少し変わります。enforceAvailableModelsを有効にしている場合は、禁止されたDefaultを「許可リスト外のモデル」と数えます。リストの先頭エントリへの置き換えはenforceAvailableModelsの解説にあります。
"exact"の影響範囲にも注意が必要です。この設定がDefaultに効くのは、管理側のavailableModelsが1つ以上のモデルかファミリーを挙げているときだけです。
名指しで指定したモデルが禁止されたときは起動する
禁止されたモデルIDを--model、ANTHROPIC_MODEL、model設定のどれかで名指ししても、それだけでは起動は止まりません。Claude Codeはその指定を起動時に捨て、Defaultの解決に切り替えます。その結果として、上の降り先が使われます。
フックやバックグラウンドのリクエストが禁止モデルを指した場合も、そのリクエストはセッションのモデルで実行されます。起動を止めるのは、Defaultで始まるセッションの降り先が尽きたときだけです。
「Can't switch」の3つ目の文言
起動後のCan't switch to the default modelには、上の2種類に加えて3つ目の文言があります。Claude Code couldn't read your organization's managed settings to check which models they allowです。管理設定が読めなかったため、確認なしに切り替えるより拒否を選んだ、という意味になります。
この場合はClaude Codeを再起動します。繰り返し出るなら、管理設定の配布状態を管理者に確認してもらいます。設定ファイルがJSONとして解釈できないときは、ソース名を挙げた別のメッセージで終了する仕様で、モデルの許可・禁止とは無関係です。
管理者が直す手順
メッセージが挙げたキーの側を直します。直し方は2通りです。
availableModelsに、利用者が実際に動かせるモデルを足す- 降り先をすべて塞いでいる
deniedModelsのエントリを狭める
次の例は、Opusは許可しつつclaude-opus-5-5だけを止め、降り先を残す構成です。
{
"availableModels": ["opus", "sonnet"],
"deniedModels": ["claude-opus-5-5"]
}これなら、Defaultの解決先がOpus 5.5でも、同じファミリーで許可された別バージョンかSonnetへ降りられます。deniedModelsは許可リストなしでも効きます。
deniedModelsとexactが必要になる理由
availableModelsにclaude-opus-5のようなエントリを書くと、それを延長した後継リリース(Opus 5.5など)も、Claude Codeが対応した時点で自動的に許可されます。新しいモデルを自分のタイミングで解禁したい組織は、deniedModelsで止めるか、availableModelsMatchを"exact"にして、各エントリが名指ししたバージョンだけを許可する形にします。
deniedModelsのclaude-opus-5-5は、日付付きやプロバイダー固有のIDを含む、あらゆる表記のOpus 5.5を止めます。禁止されたモデルは/modelピッカーから消え、/model <name>で指定しても拒否されます。ピッカーに見当たらないモデルは、バグではなく管理設定の効果だと考えられます。
2つのキーには、v2.1.283以降という条件があります。それ以前のバージョンはどちらも無視するため、古い端末を止めたいならrequiredMinimumVersionを併用します。また、どちらのキーも管理設定でしか読まれず、ユーザー・プロジェクト・ローカルの設定や--settingsに書くと警告つきで無視されます。
管理設定が実際にどう解決されたかは、監査ログに残せます。OTEL_LOG_MANAGED_SETTINGSの記事で手順を扱っています。
利用者の手元でできること
利用者にできるのは、管理者にメッセージを渡すことです。許可されたモデルが分かっている場合は、名前を指定して起動する手があります。
claude --model sonnetsonnetの部分は、組織が許可しているモデルに読み替えてください。Defaultで始まるセッションだけが対象のエラーなので、許可範囲のモデルを名指しすれば起動できる、という読み方になります。許可されていないモデルを指すと、その指定は捨てられて、同じDefaultの解決に戻ります。
管理設定とは別経路の「組織によるモデル制限」
Claude Enterpriseでは、管理者がclaude.aiの管理コンソールで個別のモデルを無効にできます。この制限は、Claude Codeが認証するときにアカウントの権限と一緒に配布され、v2.1.187以降で効きます。サーバー側でもセッション作成時に同じ制限が別途強制されるため、設定ファイルのavailableModelsやdeniedModelsとは経路が違います。
制限されたモデルはピッカーに出ません。--model、ANTHROPIC_MODEL、model設定で名指しすると、組織の設定で制限されている旨の通知が出て、許可されたモデルで始まります。/model <name>は拒否され、今のモデルのまま続きます。この経路は、サインインした利用者か自分のAPIキーに適用されます。組織スコープのサービスキーは利用者に紐づかないので対象外です。
管理設定のキーを探しても見つからないときは、こちらの経路を疑います。解除はclaude.aiの管理コンソール側で、組織の管理者が行います。
同じ「起動しない」でもallowedProvidersは別の原因
起動を拒否するもう一つの管理設定がallowedProvidersです。モデルではなく、接続先のAPIプロバイダーを絞るキーで、メッセージの出だしが違います。
Your organization's managed settings allow Claude Code to use: Anthropic API, Amazon Bedrock.この文は、許可されたプロバイダーの一覧から始まります。セッションのプロバイダーがリストにないか、エンドポイントがそのエントリの求めるpinと合っていないときに出ます。拒否のタイミングは、起動時、ログイン前、次にAPIへ通信するときです。
リストが空なら、(allowedProviders is an empty list)を含む文言になります。全エントリが認識できないときは、かっこ内がallowedProviders lists only unrecognized entriesに変わります。
どちらの拒否かを出だしで見分ける
Claude Code can't start: ...
deniedModelsかavailableModelsが原因です。直すのはモデルの許可と禁止のリストです。
Your organization's managed settings allow Claude Code to use: ...
allowedProvidersが原因です。メッセージのTo continue:とAdmins:の行に従います。
プロバイダー側の設定値と書き分けは、allowedProvidersの解説にまとめています。
切り分けの順番
起動しない端末を前にしたときは、メッセージの1行目だけで原因のキーが分かります。
管理設定による起動拒否の切り分け
- Qメッセージは「Claude Code can't start」で始まるか?答えがallowedProvidersの拒否です。メッセージのTo continue:の手順に従います。答えがはい
- Qメッセージに「deniedModels」が含まれるか?答えがavailableModelsが完全一致モードで、Defaultの解決先を含んでいません。許可リストにモデルを足します。答えがはい
deniedModelsが原因
禁止リストを狭めるか、降り先になるモデルをavailableModelsへ足します。
組織の管理設定全体の考え方はClaude Code組織管理ガイドが入口です。