Claude Media
Claude Codeの組織デフォルトモデル — Org defaultと上書きの優先順位

Claude Codeの組織デフォルトモデル — Org defaultと上書きの優先順位

管理者が配った組織デフォルトモデルがClaude Codeの/modelにOrg defaultと出る条件と、--model・managed settings・保存済みmodelとの優先順位、上書きオンの挙動を解説します。

Default行にOrg defaultと出る条件

Claude Codeの/modelピッカーでDefault行に「Org default」と出ていたら、管理者が管理コンソールで組織デフォルトモデルを設定しています。対象はClaude Enterpriseプランで、組織全体にも、カスタムロール単位にも設定できます。設定が入ると、Defaultの選択肢はそのモデルに解決されます。

要件はClaude Code v2.1.196以降です。この機能が導入されたのもv2.1.196で、手元のバージョンが古いと管理者が設定しても反映されません。

もう一つの条件が認証です。組織デフォルトが届くのは、Anthropic APIで認証したセッションだけです。LLMゲートウェイ経由のデプロイなどでは届かないため、managed settingsのmodelキーで配ります。

管理コンソール側の設定手順とロール別の解決ルールはClaude組織のデフォルトモデル設定で扱っています。この記事は逆に、メンバーのターミナルで何が起きるかを追います。

何が組織デフォルトに勝つか

組織デフォルトは「開始地点」であって制限ではありません。次の指定は、どれも組織デフォルトより優先されます。

くらべる

組織デフォルトを上書きできる指定

起動ごと

その場の指定

--modelフラグとANTHROPIC_MODEL環境変数です。起動したセッションにだけ効きます。

永続

設定ファイルの指定

managed settingsまたは--settingsで渡したmodel、そしてuser・project・localの各settingsのmodelです。/modelで保存した値もここに入ります。

つまり、設定ファイルにmodelが1つでも書かれていれば、組織デフォルトは使われません。管理者が配ったのに「自分のところだけ別のモデルで起動する」とき、まず疑うのは~/.claude/settings.jsonのmodelです。

ANTHROPIC_DEFAULT_MODEL(v2.1.236以降)は、さらに下位です。--model・ANTHROPIC_MODEL・設定ファイルのmodel・組織デフォルトのどれも無いときだけ効きます。詳しい条件はANTHROPIC_DEFAULT_MODELの解説にあります。

上書きオンのとき/modelの保存はどうなるか

管理者は、組織デフォルトがユーザーの選択を上書きする設定にもできます。上書きがオンだと、組織デフォルトはuser・project・localのmodelより優先されます。

挙動は次のとおりです。

  • /modelで選んだモデルは、現在のセッションにだけ適用される
  • 次回の起動では、組織デフォルトに戻る
  • 選択が組織デフォルトと違うと、/modelにYour organization's default (<model>) applies on restartと出る

上書きがオンでも、--model・ANTHROPIC_MODEL・managed settings・--settingsは組織デフォルトより強いままです。上書きの対象は、ユーザー自身が書く3種類の設定ファイルに限られます。

上書きがオフの場合は逆の挙動です。管理者が組織デフォルトを変えたあと、最初の対話起動で、user settingsのmodelキーが1回だけ消されます。新しいデフォルトを効かせるための処理で、ファイルのほかの項目は変わりません。その後に/modelで保存した値は、そのまま残ります。

設定が効かないときの切り分け

組織デフォルトが期待どおりに出ないときは、上から順に確かめます。

切り分け

組織デフォルトが効かないときの確認順

  1. QClaude Codeはv2.1.196以降か
    答えがいいえ

    アップデートします。それ以前の版には機能がありません。

    答えがはい
  2. QAnthropic APIで認証したセッションか
    答えがいいえ

    ゲートウェイ等では届きません。managed settingsのmodelで配る構成にします。

    答えがはい
  3. Q--modelもANTHROPIC_MODELも使っていないか
    答えがいいえ

    シェルの環境変数とエイリアスを確認します。

    答えがはい
  4. Quser・project・localのsettingsにmodelを書いていないか
    答えがいいえ

    あれば組織デフォルトより優先されます。上書きがオンなら無視されます。

    答えがはい

Default行にOrg defaultが出る

ここまでの原因に当たらなければ、Defaultは組織デフォルトのモデルに解決されます。

調べる道具は、/modelピッカーと設定ファイルだけで足ります。

claude --version
grep -n '"model"' ~/.claude/settings.json .claude/settings.json \
  .claude/settings.local.json
env | grep -E 'ANTHROPIC_(DEFAULT_)?MODEL'

プロジェクトやmanaged settingsが起動モデルを決めているときは、起動時のヘッダにどの設定ファイルが決めたかが出ます。この表示も手掛かりになります。

組織デフォルトが通る検査

組織デフォルトは、採用される前にいくつかの制限チェックを通ります。制限そのものではない、という位置づけは変わりません。

状況結果
availableModelsだけが設定され、許可リスト外結果そのまま適用される
enforceAvailableModelsも設定され、許可リスト外結果許可リストの先頭エントリに置き換わる
組織のモデル制限で自分のアカウントには拒否結果同じファミリーで許可されている最新モデルに置き換わる。ファミリー全体が制限なら、低コストのファミリー
そもそもアカウントで使えない結果読み飛ばされ、Defaultは組織デフォルトが無い場合と同じに解決される

「availableModelsだけでは組織デフォルトを縛れない」点は見落としやすいところです。許可リスト外のモデルを配ってしまうと、そのまま届きます。許可リストをDefaultにまで効かせる設定はenforceAvailableModelsの解説にあります。

deniedModelsで名指しされたモデルや、"exact"指定のリストに載っていないモデルがDefaultの行き先になる場合は、同じファミリーで許可されている最新版、次にSonnet、Haikuの順に下がり、最後にavailableModelsの先頭の許可モデルが選ばれます。どれも許可されていなければ、Defaultで始まるセッションは起動を拒否します。これらのキーはmanaged settingsからしか読まれず、ユーザー・プロジェクト・ローカルの設定に書いても警告つきで無視されます。

保存したのに次の起動で戻る3つのパターン

上書きがオンの組織では、/modelの保存が次回起動で組織デフォルトに戻ります。ただし、同じ症状が出る原因はほかにもあります。

  • セッション限りの選択だった: ピッカーでsを押す、--modelで起動する、-pの非対話モードで/modelを使う(v2.1.205以降)は、どれも現在のセッションにだけ効き、保存済みの値は変わりません
  • より優先度の高い指定がある: projectやmanaged settingsのmodel、シェルのANTHROPIC_MODEL、上書きオンの組織デフォルトは、起動のたびに再適用されます。/modelの選択は保存されていても、順位で負けています
  • resumeしたセッションだった: claude --resumeや--continueで再開したセッションは、保存時のモデルを引き継ぐのが通常です。引き継いだモデルが退役済みかavailableModelsの外なら、通常の優先順位に戻ります

非対話モードで/modelを使っても、組織デフォルトが上書きオンなら次の起動で再適用されます。スクリプトで固定したいモデルは、--modelで毎回渡すほうが確実です。

# このセッションだけSonnetで起動する(保存済みの値は変わらない)
claude --model sonnet

/modelをEnterで確定すると、user settingsのmodelに書き込まれます。この書き込みは~/.claude/settings.jsonが書き込み可能でないと失敗します。他のツールが生成して読み取り専用にしているファイルでは、選んだモデルがそのセッション限りで終わり、次の起動は古い値を読みます。

配信タイミングとv2.1.199の変更

Claude Codeは、組織デフォルトを起動時に1回だけ読みます。管理者が使用中に変更しても、反映は次回の起動です。

v2.1.199からは、もう一つ変わりました。組織デフォルトが、アカウント種別の通常のデフォルトと別のモデルファミリーのとき、ピッカーに通常のファミリーの行が別に残ります。その行を選べば、セッション単位で通常のモデルへ切り替えられます。v2.1.196から198では、この行がピッカーにありません。

表示ラベルは「Org default」と「Role default」のどちらか

v2.1.196のchangelogには、/modelに「Org default」(または「Role default」)と出る、と書かれています。一方、モデル設定のページには、組織全体に設定した場合も自分のロールに設定した場合も、ラベルは「Org default」になる、とあります。

ロール単位の設定でもOrg defaultと表示される、という後者の説明が詳細です。画面にRole defaultが出ないからといって、ロールの設定が効いていないとは限りません。ロールのデフォルトが優先される仕組みと、複数ロール所属時に最も高性能なモデルが採用される規則はロール別の優先順位の記事に詳しくあります。

managed settingsで同じことをする場合

ゲートウェイ経由など、組織デフォルトが届かない環境では、managed settingsのmodelが代わりになります。形は次のとおりです。

{
  "model": "sonnet"
}

これは上書きオンの組織デフォルトより強い指定で、ユーザーが/modelで保存した値にも勝ちます。ユーザーが切り替えを試しても、次回起動でmanaged settingsの値に戻ります。配信経路や読み込み順はClaude Code組織管理ガイドにまとめています。

使えるモデルの範囲を絞りたい場合は、組織デフォルトではなくavailableModelsか組織のモデル制限を使います。/modelの基本操作はClaude Codeの/modelで確認できます。

まとめ

組織デフォルトは、Enterpriseの管理者がv2.1.196以降のClaude Codeに配る「開始地点」です。拘束力が欲しいなら、上書きをオンにするか、managed settingsのmodelを使います。

  • 設定ファイルにmodelがあって上書きがオフなら、組織デフォルトは出ない
  • 上書きがオンでも、--model・ANTHROPIC_MODEL・managed settingsが勝つ
  • 変更は次回起動から効く
この記事を共有:XはてブLinkedIn