ANTHROPIC_DEFAULT_FABLE_MODELとは — fableエイリアスの解決先を変える環境変数
Claude Codeの環境変数ANTHROPIC_DEFAULT_FABLE_MODELは、fableエイリアスが指すモデルを固定します。ANTHROPIC_MODELとの違い、優先順位、確認方法をまとめます。
ANTHROPIC_DEFAULT_FABLE_MODEL は、Claude Codeで fable エイリアスを選んだときに実際に呼ばれるモデルを指定する環境変数です。役割は2つあり、エイリアスの解決先を固定することと、サードパーティ経由の利用でClaude CodeにFable 5を認識させることを担います。設定のしかた、ANTHROPIC_MODEL との違い、優先順位、そして設定が効いているかを確かめる手順を順に見ます。
この環境変数が担う2つの役割
ANTHROPIC_DEFAULT_FABLE_MODEL の役割は、公式ドキュメントで次の2点として定義されています。
fableエイリアスに使うモデルを決める- サードパーティの提供元で、自動モデルフォールバックの際にClaude CodeがFable 5として認識するモデルIDを伝える
1つ目が主な用途です。Claude Codeには fable / opus / sonnet / haiku といったモデルエイリアスがあり、正確なバージョン番号を覚えずにモデルを選べるようになっています。ただしエイリアスが指す先は提供元ごとに違い、時期とともに更新もされます。この変数に完全なモデル名を入れておくと、fable の解決先がそこに固定されます。
同じ形の変数はモデルの系統ごとに用意されており、4つで一組です。
| 環境変数 | 解決先を決めるエイリアス |
|---|---|
ANTHROPIC_DEFAULT_FABLE_MODEL | 解決先を決めるエイリアスfable |
ANTHROPIC_DEFAULT_OPUS_MODEL | 解決先を決めるエイリアスopus(プランモード中の opusplan を含む) |
ANTHROPIC_DEFAULT_SONNET_MODEL | 解決先を決めるエイリアスsonnet(プランモード外の opusplan を含む) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | 解決先を決めるエイリアスhaiku、およびバックグラウンド処理 |
値には完全なモデル名を入れます。提供元がAmazon BedrockやMicrosoft Foundryなら、そちらの識別子の形に合わせます。
なおOpus / Sonnet向けの変数は古くからあり、Claude Code v1.0.88で ANTHROPIC_DEFAULT_SONNET_MODEL と ANTHROPIC_DEFAULT_OPUS_MODEL が追加されています。Fable向けの変数が何番のバージョンで加わったかは変更履歴に記載がありませんが、Fable 5の選択自体がv2.1.170以降で対応なので、実務上はそれ以降が前提になります。
設定のしかた
シェルの環境変数として渡すのが基本形です。
export ANTHROPIC_DEFAULT_FABLE_MODEL='claude-fable-5'
claudeチームや端末をまたいで揃えたいときは、設定ファイルの env キーに書く方法もあります。この形なら、Claude Codeが起動する全セッションとその子プロセスに同じ値が渡ります。
{
"env": {
"ANTHROPIC_DEFAULT_FABLE_MODEL": "claude-fable-5"
}
}Amazon Bedrockのようなサードパーティ経由でClaude Codeを配布する場合、公式ドキュメントは利用者へ展開する前にモデルのバージョンを固定しておくことを推奨しています。固定しないとエイリアスは提供元ごとの組み込みの既定値に解決され、その既定が最新のリリースに追いついていなかったり、利用者のアカウントで有効になっていなかったりするためです。
このとき値に入れる文字列は提供元ごとに形が変わります。Opus向けの変数を例に取ると、同じモデルでも次のように書き分けます。
| 提供元 | 値の例 |
|---|---|
| Amazon Bedrock | 値の例us.anthropic.claude-opus-4-8 |
| Google Cloud's Agent Platform | 値の例claude-opus-4-8 |
| Microsoft Foundry | 値の例claude-opus-4-8 |
Fable / Sonnet / Haiku向けの変数も同じ書き方に従います。利用者を新しいモデルへ上げるときは、この環境変数の値を書き換えて再配布する流れです。
なお、この4つの変数は系統ごとに1つのモデルIDしか持てません。同じ系統の複数バージョンをそれぞれ別の提供元IDへ振り分けたい場合は、設定ファイルの modelOverrides を使います。設定ファイル全体の構成はClaude Code設定完全ガイドで扱っています。
ANTHROPIC_MODELとは効く層が違う
名前が似ている ANTHROPIC_MODEL と混同しやすいところですが、この2つは別の層で働きます。片方はセッションのモデルそのものを決め、もう片方はエイリアスの意味を決めます。
| 環境変数 | 何を決めるか | 値の例 |
|---|---|---|
ANTHROPIC_MODEL | 何を決めるかそのセッションで使うモデル | 値の例fable、claude-fable-5 |
ANTHROPIC_DEFAULT_FABLE_MODEL | 何を決めるかfable というエイリアスが指すモデル | 値の例claude-fable-5 |
ANTHROPIC_MODEL はエイリアスでもモデル名でも受け取ります。ここに fable を入れた場合、そのエイリアスが何に解決されるかは ANTHROPIC_DEFAULT_FABLE_MODEL 側が決めます。2つは競合せず、順に働く関係です。
セッションのモデルを決める経路は4つあり、公式ドキュメントでは優先度の高い順に次のように並べられています。
- セッション中の
/model <エイリアスまたはモデル名> - 起動時の
claude --model <エイリアスまたはモデル名> - 環境変数
ANTHROPIC_MODEL - 設定ファイルの
modelフィールド
ANTHROPIC_DEFAULT_FABLE_MODEL はこの4段のどこにも入りません。どの経路で fable が選ばれたとしても、その解決先を書き換えるのがこの変数の立ち位置です。
もう1点、セッションを再開したときの挙動があります。claude --resume などで再開したセッションは、記録された時点のモデルを保ちます。ただし --model や ANTHROPIC_MODEL での指定はそれより優先され、v2.1.195以降は ANTHROPIC_DEFAULT_OPUS_MODEL 系の変数も同様に優先されます。
サードパーティ経由では、フォールバックの目印にもなる
2つ目の役割は、Amazon BedrockやGoogle Cloud、Microsoft Foundry経由でClaude Codeを使うときに効いてきます。
Fable 5は安全分類器がリクエストをフラグしたとき、自動で別のモデルへ切り替えて処理を続けます。この切り替えが成立するには、Claude Codeが「いま動いているのはFable 5だ」と認識できている必要があります。認識の条件は3つで、モデルIDに claude-fable-5 が含まれること、ANTHROPIC_DEFAULT_FABLE_MODEL の値と一致すること、modelOverrides で対応付けられていること、のいずれかです。
提供元固有のIDを使っていて claude-fable-5 という文字列が含まれない場合、この変数を設定しておかないとFable 5だと判別できません。そのときフラグされたリクエストは自動で切り替わらず、拒否メッセージで終わります。手動で /model を開いて選び直すことになります。安全分類器の発動条件やフォールバック全体の設計はClaude Fable 5の仕様解説にまとめています。
表示名と対応機能を補う3つの派生変数
サードパーティ経由でモデルを固定すると、/model ピッカーには提供元固有のIDがそのまま並びます。ARNや配置名は読みづらく、Claude Code側もそのモデルがどの機能に対応しているか判別できません。これを補う派生変数が3つあります。
ANTHROPIC_DEFAULT_FABLE_MODEL_NAME:ピッカーに出す表示名ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION:ピッカーに出す説明文ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES:対応する機能をカンマ区切りで宣言
_SUPPORTED_CAPABILITIES に指定できる値は effort / xhigh_effort / max_effort / thinking / adaptive_thinking / interleaved_thinking です。この変数を設定すると、書いた機能だけが有効になり、書かなかった機能は無効になります。未設定のままならモデルIDのパターンから自動判定されます。
同じ3つの接尾辞は ANTHROPIC_DEFAULT_OPUS_MODEL などにも用意されています。ただし _NAME と _DESCRIPTION が効くのはサードパーティ経由とLLMゲートウェイ利用時のみで、api.anthropic.com へ直接つないでいる場合は反映されません。
設定が効いているかを確認する
設定したつもりで反映されていない、というのが最も起こりやすい状態です。次の順で切り分けられます。
まず、シェルに値が入っているかを確かめます。
echo $ANTHROPIC_DEFAULT_FABLE_MODEL
claude --version値が空なら、export した端末と claude を起動した端末が別だった、あるいは設定ファイルの env に書いたつもりで別の階層のファイルを編集していた、というあたりが疑わしいところです。Claude Codeのバージョンがv2.1.170より前なら、そもそもFable 5がピッカーに出ません。
次に、Claude Codeのなかから現在のモデルと設定の状態を見ます。
/model
/status
/doctor/model を引数なしで開くとピッカーが出て、いまどのモデルが選ばれているかが分かります。サードパーティ経由で _NAME を設定していれば、ここに指定した表示名が出ているかも同時に確認できます。/status は現在のセッションの状態を、/doctor は設定まわりの点検結果を返します。
設定ファイル側の反映状況は、起動時のヘッダーからも読み取れます。起動時点で有効なモデルが自分の選択ではなくプロジェクト設定や管理設定から来ている場合、どの設定ファイルがそれを決めたかがヘッダーに表示されます。
よくある質問
ANTHROPIC_DEFAULT_FABLE_MODELを設定すればFable 5が既定になりますか?
なりません。この変数が決めるのは fable エイリアスの解決先だけで、セッションの既定モデルは別の経路で決まります。Fable 5はどのアカウント種別でも既定にならないため、/model fable などの明示的な選択が必要です。
値に1Mコンテキストの接尾辞を付ける必要はありますか?
不要です。[1m] の接尾辞は ANTHROPIC_DEFAULT_OPUS_MODEL と ANTHROPIC_DEFAULT_SONNET_MODEL に付けるもので、Fable 5はもともと1Mトークンのコンテキストを既定で持ちます。
ANTHROPIC_SMALL_FAST_MODELとの関係は?
直接の関係はありません。ANTHROPIC_SMALL_FAST_MODEL は非推奨となっており、ANTHROPIC_DEFAULT_HAIKU_MODEL への移行が案内されています。
Claude APIへ直接つないでいる場合も設定する意味はありますか?
エイリアスの解決先を固定したい場合には意味があります。一方、自動フォールバックの認識という2つ目の役割はサードパーティの提供元向けの仕組みで、表示名まわりの _NAME / _DESCRIPTION も api.anthropic.com への直接接続では反映されません。
まとめ
ANTHROPIC_DEFAULT_FABLE_MODEL は、fable エイリアスの解決先を完全なモデル名で固定する環境変数です。セッションのモデルを直接決める ANTHROPIC_MODEL とは層が違い、/model や --model の優先順位にも割り込みません。サードパーティ経由では、自動フォールバックのためにClaude CodeがFable 5を認識する目印としても働きます。
設定が効かないときは、シェルの値・Claude Codeのバージョン・/model の表示という3点から順に確かめると切り分けが早く済みます。現行モデルの顔ぶれとIDの一覧はClaudeモデル一覧に、Claude Code全体の使い方はClaude Code完全ガイド2026にまとめています。