2026年9月4日 金曜日
AI時短ラボ
検証· 約13

ANTHROPIC_DEFAULT_MODELとANTHROPIC_MODELは別物──Claude Codeの新環境変数を公式リリースノートで確認する

anthropics/claude-codeのv2.1.236で、新セッションの起動モデルを指定する環境変数ANTHROPIC_DEFAULT_MODELが追加されました。/modelでの選択がこの値を上書きし、再起動後も持続する点が既存のANTHROPIC_MODELとの違いです。GitHub公式リリースノートの1行から、2つの環境変数の役割分担を読み解きます。

ANTHROPIC_DEFAULT_MODELとANTHROPIC_MODELは別物──Claude Codeの新環境変数を公式リリースノートで確認する
執筆・編集:
目次

2026年8月27日、GitHubの公式リリースノート(anthropics/claude-code)を実際に開いて確認した内容です。 v2.1.236(2026年8月19日公開)の変更点一覧の先頭に、次の記載があります(原文と訳)。

"Added ANTHROPIC_DEFAULT_MODEL environment variable: sets the model new sessions start on, while a /model pick still overrides it and persists across restarts (unlike ANTHROPIC_MODEL)"

(訳:ANTHROPIC_DEFAULT_MODEL環境変数を追加。新しいセッションが起動するモデルを設定する。/modelでの選択はこの値を上書きし、(ANTHROPIC_MODELとは異なり)再起動後も持続する)

3行まとめ

  • ANTHROPIC_DEFAULT_MODELは「新セッションの初期モデル」を指定する環境変数で、/modelコマンドでの選択が優先され、その選択は再起動を跨いで保持される
  • 既存のANTHROPIC_MODELは、リリースノートの1行が示唆する限り「/modelでの選択が再起動後は持続しない」という別の挙動を持つ
  • 両者は名前が非常に似ているため、既存のANTHROPIC_MODEL利用者が混同しないよう注意が必要

何が違うのか:「上書きが持続するかどうか」

この1文だけから読み取れる、2つの環境変数の違いを整理すると次のようになります。

ANTHROPIC_DEFAULT_MODEL(新設)

  • 新しいセッションが最初に起動するモデルを指定する
  • /modelコマンドでモデルを選び直すと、その選択がこの環境変数の指定を上書きする
  • その上書きは、Claude Codeを再起動した後も持続する

ANTHROPIC_MODEL(既存)

  • リリースノートの文言「unlike ANTHROPIC_MODEL」から、ANTHROPIC_MODEL使用時に/modelで選択を変えても、再起動するとANTHROPIC_MODELの値に戻ってしまう(=上書きが持続しない)という挙動だと推測できます

つまり、ANTHROPIC_DEFAULT_MODELは文字通り「デフォルト(初期値)」としてのみ機能し、いったんユーザーが/modelで明示的に選び直せば、その選択が優先され続ける設計です。一方、既存のANTHROPIC_MODELはより強制力の強い指定で、再起動のたびに指定モデルへ戻ってしまう、という違いがあると考えられます。

公式ドキュメントで裏付けが取れた

上記はリリースノート1文からの推測だったが、公式ドキュメント「Model configuration」ページを確認したところ、この推測は正しく、かつ元のリリースノートより詳細な仕様が明記されていた。同ページには「モデルの設定方法は優先度順に次の通り」という5段階のリストがある。

  1. セッション中:/model <alias|name>で即座に切り替え
  2. 起動時:claude --model <alias|name>
  3. 環境変数:ANTHROPIC_MODEL=<alias|name>
  4. 設定ファイル:modelフィールドに恒久的に設定
  5. 新セッションのデフォルト:ANTHROPIC_DEFAULT_MODEL=<alias|name>

そしてANTHROPIC_DEFAULT_MODELの節には、次のように明記されている。

"A choice you save with /model takes precedence over the variable on later launches too. With ANTHROPIC_MODEL set instead, Claude Code returns to that variable's model on the next launch, whatever you saved with /model."

/modelで保存した選択は、以降の起動でもこの変数〔ANTHROPIC_DEFAULT_MODEL〕より優先される。一方ANTHROPIC_MODELが設定されている場合は、/modelで何を保存していても、次回起動時にはその変数のモデルへ戻る)

ANTHROPIC_DEFAULT_MODELが実際に効くのは、--modelフラグ・ANTHROPIC_MODEL・(/modelで保存した選択を含む)設定ファイルのmodel値・組織デフォルトモデルのいずれもモデルを指定していない場合のみ、とも明記されている。つまり優先順位のリスト通り、ANTHROPIC_DEFAULT_MODELは最も弱い指定で、他の4つのいずれかが存在すればそちらが勝つ。

誰にとって意味のある変更か

環境変数でデフォルトモデルを指定しつつ、セッションごとに/modelで別モデルへ一時的に切り替えたい、という使い方をしているユーザーにとって、この違いは実用上重要です。ANTHROPIC_MODELのままだと、切り替えても再起動するたびに元のモデルへ戻されてしまうため、「毎回/modelし直す」か「環境変数自体を変更する」必要がありました。ANTHROPIC_DEFAULT_MODELに切り替えることで、初期値だけを固定しつつ、セッション単位での切り替えを再起動後も保持できるようになります。

チーム開発など、組織として「デフォルトはこのモデルにしておきたいが、個々の開発者が必要に応じて別モデルに切り替えることも許容したい」という運用方針がある場合には、ANTHROPIC_DEFAULT_MODELのほうが実態に合った挙動だと考えられます。

優先順位を表にまとめると次の通り。

優先度 設定方法 説明
1(最上位) /model(セッション中) 即座に切り替え、以降のデフォルトとしても保存される
2 --model起動フラグ その起動セッション限定
3 ANTHROPIC_MODEL環境変数 /modelで変えても次回起動時にはこの変数の値へ戻る
4 設定ファイルのmodelフィールド /modelが保存する先もここ
5(最下位) ANTHROPIC_DEFAULT_MODEL環境変数 上記いずれもモデルを指定していない場合のみ効く

ANTHROPIC_DEFAULT_MODELが無視される4つのケース

公式ドキュメントには、ANTHROPIC_DEFAULT_MODELを設定していても無視される条件も明記されている。

  • 値をdefaultinheritopusplanhaikuのいずれかに設定した場合
  • 組織設定でenforceAvailableModelsが有効な場合
  • availableModels(利用可能モデルの許可リスト)や組織のモデル制限がそのモデルを除外している場合
  • そのモデルがアカウントで利用できない場合

これらの場合、ANTHROPIC_DEFAULT_MODELを設定していないのと同じ扱いになり、/modelピッカーの「Default」欄も通常の挙動に戻る。逆に、この変数が実際に効いているときは、/modelピッカーの「Default」行に「Set by ANTHROPIC_DEFAULT_MODEL」というラベルが表示される、とも説明されている。

紛らわしい別の環境変数群:ANTHROPIC_DEFAULT_OPUS_MODELなど

公式ドキュメントを確認する過程で、ANTHROPIC_DEFAULT_MODELとは別に、ANTHROPIC_DEFAULT_OPUS_MODELANTHROPIC_DEFAULT_SONNET_MODELANTHROPIC_DEFAULT_HAIKU_MODELANTHROPIC_DEFAULT_FABLE_MODELという、名前がさらに似た別系統の環境変数群が存在することも確認できた。こちらは「新セッションの起動モデル」を決めるものではなく、opussonnethaikufableというエイリアス自体がどのモデルIDに解決されるかを制御するためのものだ。例えばAmazon Bedrockのようなサードパーティ環境で、opusというエイリアスを特定のモデルIDに固定したい場合などに使う。名前が非常に似ているため、ANTHROPIC_DEFAULT_MODEL(新セッションの初期モデル)とANTHROPIC_DEFAULT_OPUS_MODEL等(エイリアスの解決先)は、目的が異なる別物として区別する必要がある。

同じリリースにあったモデル選択UIの変更

v2.1.236の変更点一覧には、モデル選択に関する別の変更も含まれていました。

"Changed the /model picker to highlight only the newest model's name, so the highlight marks the new release rather than an arbitrary subset of the list"

(訳:/modelピッカーの挙動を変更し、最新モデルの名前だけをハイライトするようにした。これにより、ハイライトが新リリースを示すようになり、リストの中の任意の一部を示すものではなくなった)

モデル選択のUI自体も同時に改善されている、という点から、このリリースはモデル切り替え体験全般を見直すタイミングだったことがうかがえます。

訂正と、それでも確認できなかったこと

本記事は当初、GitHubリリースノートの1文のみを根拠にしており、「両方の環境変数が同時に設定されている場合にどちらが優先されるか」を「リリースノートには記載がなく不明」としていた。今回、公式ドキュメント「Model configuration」「Environment variables」「Settings」の3ページを追加で確認し、この点は解決した。ANTHROPIC_MODELANTHROPIC_DEFAULT_MODELより優先されることが、5段階の優先順位リストとして明記されていた。

それでも確認できなかった点を挙げておく。

  • enforceAvailableModelsavailableModels・組織のモデル制限機能自体の詳細な設定方法(管理者向けの設定画面・管理ポリシーファイルの具体的な書式)までは、本記事の調査範囲では確認していない
  • ANTHROPIC_DEFAULT_OPUS_MODEL等のエイリアス解決系の環境変数について、Amazon Bedrock・Google Cloud's Agent Platform・Microsoft Foundry以外の環境(Anthropic API直接利用時など)でどこまで挙動が同じかは、本記事では個別に検証していない
  • これらの環境変数を実際に手元のClaude Codeで設定して動作確認する、という実機検証は行っておらず、公式ドキュメントの記述の確認にとどめている

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事