模型配置
了解 Claude Code 模型配置,包括模型別名如
opusplan
可用模型
對於 Claude Code 中的 model 設定,您可以配置以下任一項:
- 一個模型別名
- 一個模型名稱
- Anthropic API:完整的**模型名稱**
- Bedrock:推論設定檔 ARN
- Foundry:部署名稱
- Vertex:版本名稱
ANTHROPIC_BASE_URL 改變請求的發送位置,而不是哪個模型回答它們。若要透過 LLM 閘道路由 Claude,請參閱 LLM 閘道配置。
模型別名
模型別名提供了一種便捷的方式來選擇模型設定,無需記住確切的版本號:
| 模型別名 | 行為 |
|---|---|
default |
特殊值,可清除任何模型覆蓋並還原為您帳戶類型的推薦模型。本身不是模型別名 |
best |
在您的組織有權限的地方使用 Fable 5,否則使用最新的 Opus 模型 |
fable |
使用 Claude Fable 5 進行您最困難和最長時間執行的任務 |
sonnet |
使用最新的 Sonnet 模型進行日常編碼任務 |
opus |
使用最新的 Opus 模型進行複雜推理任務 |
haiku |
使用快速高效的 Haiku 模型進行簡單任務 |
sonnet[1m] |
使用 Sonnet 搭配100 萬個 token 的 context window進行長時間會話 |
opus[1m] |
使用 Opus 搭配100 萬個 token 的 context window進行長時間會話 |
opusplan |
特殊模式,在 Plan Mode 期間使用 opus,然後在執行時切換到 sonnet |
在 Anthropic API 上,opus 解析為 Opus 4.8,sonnet 解析為 Sonnet 4.6。在 AWS 上的 Claude Platform 上,opus 解析為 Opus 4.7,sonnet 解析為 Sonnet 4.6。在 Bedrock、Vertex 和 Foundry 上,opus 解析為 Opus 4.6,sonnet 解析為 Sonnet 4.5;透過明確選擇完整模型名稱或設定 ANTHROPIC_DEFAULT_OPUS_MODEL 或 ANTHROPIC_DEFAULT_SONNET_MODEL,這些提供者上可以使用更新的模型。
別名指向您提供者的推薦版本,並隨著時間推移而更新。若要固定到特定版本,請使用完整模型名稱(例如 claude-opus-4-8)或設定相應的環境變數,如 ANTHROPIC_DEFAULT_OPUS_MODEL。
Opus 4.8 需要 Claude Code v2.1.154 或更新版本。執行 claude update 以升級。
使用 Fable 5
Claude Fable 5 是 Claude Code 中最強大的模型,適合於超過單次會話的任務。它能維持長時間的自主會話,在行動前進行調查,並比較小的模型更頻繁地驗證其工作。
Fable 5 不是預設模型。使用 /model fable 選擇它。其安全分類器標記的請求,最常見於網路安全和生物學領域,會觸發自動模型回退。
若要充分利用 Fable 5:
- 描述結果,而不是步驟:給它您想要的結果,讓它規劃路徑。若要讓它持續工作直到該結果成立,設定目標。
- 交給它模糊的問題:根本原因調查、中斷除錯和架構決策是額外調查和驗證發揮作用的地方。
- 跳過驗證提醒:它以較少的提示驗證自己的工作,所以測試或檢查的提醒通常是不必要的。
- 規劃更大的任務:給它您通常會分成多個部分的工作。它能維持長時間的會話而不失去思路。
Fable 5 需要 Claude Code v2.1.170 或更新版本。較舊的版本不會在模型選擇器中顯示 Fable 5,也無法選擇它。執行 claude update 以升級。Fable 5 在零資料保留下不可用,其中 /model 選擇器要麼省略它,要麼將其顯示為已停用。
設定您的模型
您可以透過多種方式配置模型,按優先順序列出:
- 在會話期間 - 使用
/model <alias|name>立即切換,或執行/model不帶任何引數以開啟選擇器。當會話有先前的輸出時,選擇器會要求確認,因為下一個回應會重新讀取完整歷史記錄而不使用快取的 context - 在啟動時 - 使用
claude --model <alias|name>啟動 - 環境變數 - 設定
ANTHROPIC_MODEL=<alias|name> - 設定 - 在設定檔中使用
model欄位永久配置。
自 v2.1.153 起,/model 會透過在您的使用者設定中寫入 model 欄位,將您的選擇儲存為新會話的預設值。在選擇器中:
Enter:切換模型並儲存為您的預設值s:僅針對此會話切換模型
直接輸入 /model <name> 的行為類似於 Enter。專案和受管設定仍然優先,並在下次啟動時重新應用。
在 v2.1.144 至 v2.1.152 中,/model 僅適用於目前會話,選擇器中的 d 儲存預設值。
--model 旗標和 ANTHROPIC_MODEL 環境變數僅適用於您啟動它們的會話。若要同時在不同終端中執行不同的模型,請使用各自的 --model 旗標啟動每個終端,而不是使用 /model 切換。
使用 claude --resume、--continue 或 /resume 選擇器啟動的已恢復會話會保持它們在儲存文字記錄時使用的模型,無論目前的 model 設定如何。如果該模型已被淘汰,會話會回到正常的優先順序。這可防止另一個會話的 /model 選擇在恢復時改變模型。
當啟動時的活動模型來自專案或受管設定而非您自己的選擇時,啟動標題會顯示哪個設定檔設定了它。執行 /model 以覆蓋;專案或受管設定會在下次啟動時重新應用。
使用範例:
# 使用 Opus 啟動
claude --model opus
# 在會話期間切換到 Sonnet
/model sonnet
設定檔範例:
{
"permissions": {
...
},
"model": "opus"
}
限制模型選擇
企業管理員可以在受管理或政策設定中使用 availableModels 來限制使用者可以選擇的模型。
設定 availableModels 後,允許清單適用於使用者可以指定模型的每個位置:
- 主要會話模型:
/model、--model旗標和ANTHROPIC_MODEL環境變數 - 別名解析:{/* min-version: 2.1.176 */}
ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL和ANTHROPIC_DEFAULT_FABLE_MODEL環境變數無法將允許的別名重新導向到清單外的模型 - 快速模式:{/* min-version: 2.1.176 */}
/fast在隱含切換到清單外的 Opus 模型時拒絕切換,並顯示訊息「不在您組織的允許模型中」 - 子代理模型:子代理 frontmatter 中的
model欄位、Agent 工具的model參數、/agents中的模型選擇器,以及CLAUDE_CODE_SUBAGENT_MODEL - 顧問模型:已設定的
advisorModel設定 - 後備鏈:後備模型鏈外清單中的元素會被捨棄
使用 /model 切換到被阻止的模型會被拒絕並出現錯誤,而被阻止的 --model 旗標或 ANTHROPIC_MODEL 值在啟動時會被替換為警告,命名所要求和替代的模型,會話會在預設模型上啟動。被阻止的子代理或顧問覆蓋會回退到繼承或預設模型,而不是使請求失敗。
{
"availableModels": ["sonnet", "haiku"]
}
預設模型行為
根據預設,模型選擇器中的「預設」選項不受 availableModels 影響。它始終保持可用,並代表系統的執行時預設值基於使用者的訂閱層級。
若要將允許清單擴展到「預設」選項,請在受管理或政策設定中將 enforceAvailableModels 設定為 true,並搭配非空的 availableModels 清單。當層級預設值不在允許清單中時,「預設」會解析為第一個允許的項目,而不是層級預設值。這需要 Claude Code v2.1.175 或更新版本。
空的 availableModels 陣列永遠不會啟用強制執行。即使使用 availableModels: [],使用者仍然可以使用其層級的「預設」模型來使用 Claude Code,無論 enforceAvailableModels 為何。
控制使用者執行的模型
model 設定是初始選擇,而非強制執行。它設定會話啟動時哪個模型處於活動狀態,但使用者仍然可以開啟 /model 並選擇「預設」,這會解析為其層級的系統預設值,無論 model 設定為何。
若要完全控制模型體驗,請結合這些設定:
availableModels:限制使用者可以切換到的具名模型enforceAvailableModels:將availableModels允許清單擴展到「預設」選項,因此「預設」無法解析為清單外的模型model:設定會話啟動時的初始模型選擇ANTHROPIC_DEFAULT_SONNET_MODEL/ANTHROPIC_DEFAULT_OPUS_MODEL/ANTHROPIC_DEFAULT_HAIKU_MODEL/ANTHROPIC_DEFAULT_FABLE_MODEL:控制「預設」選項以及sonnet、opus、haiku和fable別名解析為什麼
此範例在 Sonnet 4.5 上啟動使用者,將選擇器限制為 Sonnet 和 Haiku,並確保「預設」解析為允許清單上的模型,而不是層級預設值:
{
"model": "claude-sonnet-4-5",
"availableModels": ["claude-sonnet-4-5", "haiku"],
"enforceAvailableModels": true,
"env": {
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
}
}
沒有 enforceAvailableModels 或 env 區塊,在選擇器中選擇「預設」的使用者會獲得其層級的最新版本,繞過 model 和 availableModels 中的版本固定。這兩個設定涵蓋不同的範圍:enforceAvailableModels 使「預設」遵守允許清單,而 env 區塊固定允許的別名(例如 sonnet)解析為哪個版本。當限制模型系列就足夠時,單獨使用 enforceAvailableModels;當您還需要固定特定版本時,新增 env 區塊。
合併行為
當 availableModels 僅在使用者、專案和本機設定中設定時,陣列會在這些層級中合併並去重。
當 availableModels 在受管理或政策設定中設定時,受管理或政策值會完全取代合併結果:在使用者或專案設定中新增的項目無法擴大它。受管理和政策設定以相同方式取代 enforceAvailableModels 的較低優先順序值。自 Claude Code v2.1.175 起,這是強制執行嚴格允許清單的唯一方式;較早版本會將受管理清單與較低優先順序項目合併。
Mantle 模型 ID
當Bedrock Mantle 端點啟用時,availableModels 中以 anthropic. 開頭的項目會作為自訂選項新增到 /model 選擇器,並路由到 Mantle 端點。該設定仍然將選擇器限制為列出的項目,因此請在任何 Mantle ID 旁邊包含標準別名。
特殊模型行為
`default` 模型設定
default 的行為取決於您的帳戶類型:
- Max、Team Premium、Enterprise 隨用隨付和 Anthropic API:預設為 Opus 4.8
- AWS 上的 Claude Platform:預設為 Opus 4.7
- Pro、Team Standard 和 Enterprise 訂閱席位:預設為 Sonnet 4.6
- Bedrock、Vertex 和 Foundry:預設為 Sonnet 4.5
Enterprise 隨用隨付是指按使用量計費而非按訂閱席位計費的 Enterprise 組織。
Fable 5 不是任何帳戶類型的預設模型。會話僅在您選擇 Fable 5 後才使用它,使用 /model fable、model 設定或 best 別名(其中 Fable 5 可用)。使用 /model 選擇它會將其儲存為您使用者設定中的選定模型,因此後續會話會在 Fable 5 上啟動,直到您變更模型。
`opusplan` 模型設定
opusplan 模型別名提供了一種自動化的混合方法:
- 在 Plan Mode 中 - 使用
opus進行複雜推理和架構決策 - 在執行模式中 - 自動切換到
sonnet進行程式碼生成和實現
這為您提供了兩全其美的方案:Opus 優越的推理能力用於計畫,Sonnet 的效率用於執行。
Plan Mode Opus 階段使用與 opus 模型設定相同的 context window。在訂閱層級上,Opus 會自動升級到 1M context,opusplan 在 Plan Mode 中也會獲得升級。若要在您不在自動升級層級上時強制兩個階段都使用 1M context,請將模型設定為 opusplan[1m]。
當 availableModels 排除 Opus 時,opusplan 在 Plan Mode 中保持在 Sonnet 上,而不是切換。當 Sonnet 被排除時,隱含的 Haiku 到 Sonnet Plan Mode 升級也適用相同情況。
如需混合方法,其中 Claude 在任務中途決定何時諮詢第二個模型,而不是在計畫邊界處切換,請參閱 advisor tool。
回退模型鏈
當主要模型過載、不可用或傳回另一個不可重試的伺服器錯誤時,Claude Code 可以切換到回退模型,而不是使請求失敗。驗證、計費、速率限制、請求大小和傳輸錯誤永遠不會觸發切換;這些遵循其正常的重試和錯誤處理。
配置一個或多個回退模型,Claude Code 會按順序嘗試它們,在切換時顯示通知。切換僅持續目前輪次,因此您的下一條訊息會再次首先嘗試主要模型。鏈在重複移除後限制為三個模型,額外項目會被忽略。
使用 --fallback-model 旗標為一個會話設定鏈,該旗標接受逗號分隔的清單:
claude --fallback-model sonnet,haiku
若要在會話間持續保存鏈,請在 settings 中設定 fallbackModel 為陣列:
{
"fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}
--fallback-model 旗標優先於 fallbackModel 設定。每個元素接受模型名稱或別名,"default" 會展開為預設模型。
兩種情況會導致元素被跳過:
- 不可用的模型:無法到達的模型,例如在設定中固定的已停用模型,會被跳過,Claude Code 會繼續到下一個元素。
- 超出允許清單:不被
availableModels允許的元素在讀取鏈時會被刪除,永遠不會被嘗試。
自動模型回退
本節涵蓋來自 Fable 5 的基於內容的回退。如需模型過載或不可用時的基於可用性的回退,請參閱 Fallback model chains。
Fable 5 使用網路安全和生物學內容的安全分類器執行。當分類器標記請求時,Claude Code 會在預設 Opus 模型上重新執行該請求,並在記錄中顯示通知:Anthropic API 和 LLM gateway 部署上的 Opus 4.8,或 Claude Platform on AWS 上的 Opus 4.7。
會話隨後在該 Opus 模型上繼續。若要返回 Fable 5,請執行 /model fable。
檢查觸發回退的原因
回退可以在會話的第一個請求上觸發,在您發送任何不尋常的內容之前,因為第一個請求會攜帶工作區上下文,例如您的 CLAUDE.md 內容和 git 狀態。包含安全或生物學材料的儲存庫可以單獨在該上下文上觸發分類器。
若要檢查自訂是否是觸發器,請使用 claude --safe-mode 啟動會話,這會禁用自訂,例如 CLAUDE.md、skills、MCP 伺服器和 hooks。Git 狀態和目錄名稱不是自訂,仍然包含在內。
在切換前詢問
若要決定每次請求被標記時發生的情況,而不是自動切換,請執行 /config 並關閉「當訊息被標記時切換模型」。標記的請求隨後會暫停會話,有兩個選項:切換到 Opus 模型,或編輯提示並在 Fable 5 上重試。
某些情況的行為不同:
- 如果兩個模型都標記相同的請求,您可以編輯提示並重試,或啟動新會話。
- 在行動裝置 Claude Code on the web 會話上,不支援編輯和重試。切換模型,或從桌面瀏覽器或桌面應用程式繼續會話。
- 在 non-interactive mode 和無法顯示提示的 SDK 整合中,標記的請求以拒絕結束輪次。
在 Bedrock、Vertex AI 和 Foundry 上啟用回退
在 Amazon Bedrock、Google Vertex AI 和 Microsoft Foundry 上,模型 ID 是提供者特定的,因此自動回退僅在 Claude Code 可以識別涉及的兩個模型時運作:
- Claude Code 必須將目前模型識別為 Fable 5:模型 ID 包含
claude-fable-5、符合ANTHROPIC_DEFAULT_FABLE_MODEL的值,或使用modelOverrides對應。 - 回退目標必須解析為 Opus 模型:
ANTHROPIC_DEFAULT_OPUS_MODEL的值(如果設定),否則提供者模型清單中的 Opus 4.8 項目。
如果任一模型無法識別,Claude Code 不會自動切換。標記的請求以拒絕訊息結束,您可以使用 /model 切換模型並重試。若要在這些提供者上啟用自動回退,請將 ANTHROPIC_DEFAULT_FABLE_MODEL 設定為您的 Fable 5 模型 ID,並將 ANTHROPIC_DEFAULT_OPUS_MODEL 設定為您的 Opus 4.8 模型 ID。
安全研究和生物學工作負載
進攻性安全或生物學中的工作負載,包括滲透測試、Capture the Flag (CTF) 練習和生物學相鄰程式碼庫,經常觸發回退,通常在第一個請求上。對於實質性生物學工作,預期幾乎所有請求都會重新路由。
這是這些領域的預期路由,不是帳戶標記。如果您的組織需要 Fable 級別的能力來進行此工作,請詢問您的 Anthropic 帳戶團隊有關受信任存取計畫。
調整努力等級
努力等級控制自適應推理,讓模型根據任務複雜性決定是否以及在每一步上思考多少。較低的努力對於直接的任務更快且更便宜,而較高的努力為複雜問題提供更深入的推理。
可用的努力等級取決於模型。此處未列出的模型不支援努力:
| 模型 | 等級 |
|---|---|
| Fable 5 | low、medium、high、xhigh、max |
| Opus 4.8 和 Opus 4.7 | low、medium、high、xhigh、max |
| Opus 4.6 和 Sonnet 4.6 | low、medium、high、max |
如果您設定活動模型不支援的等級,Claude Code 會回退到您設定的等級處或以下的最高支援等級。例如,xhigh 在 Opus 4.6 上執行為 high。
Fable 5、Opus 4.8、Opus 4.6 和 Sonnet 4.6 上的預設努力為 high,Opus 4.7 上的預設努力為 xhigh。
當您首次執行 Fable 5、Opus 4.8 或 Opus 4.7 時,Claude Code 會應用該模型的預設努力,即使您之前為另一個模型設定了不同的等級:Fable 5 和 Opus 4.8 上的 high,以及 Opus 4.7 上的 xhigh。執行 /effort 以在切換後選擇不同的等級。
low、medium、high 和 xhigh 在會話間持續存在。max 提供最深入的推理,對 token 支出沒有限制,並且僅適用於目前會話,除非透過 CLAUDE_CODE_EFFORT_LEVEL 環境變數設定。
/effort 選單也提供 ultracode。Ultracode 是 Claude Code 設定而非模型努力等級:它向模型發送 xhigh,並額外讓 Claude 為實質性任務協調動態工作流程。它僅適用於目前會話。透過 /effort 設定,或透過 --settings 或 Agent SDK 控制請求傳遞 "ultracode": true。它不是 effortLevel 設定、--effort 旗標或 CLAUDE_CODE_EFFORT_LEVEL 的一部分。
選擇努力等級
每個等級都在 token 支出和能力之間進行權衡。預設值適合大多數編碼任務;當您想要不同的平衡時進行調整。
| 等級 | 何時使用 |
|---|---|
low |
保留用於短期、範圍有限、延遲敏感且不是智能敏感的任務 |
medium |
減少成本敏感工作的 token 使用,可以權衡一些智能 |
high |
平衡 token 使用和智能。Fable 5、Opus 4.8、Opus 4.6 和 Sonnet 4.6 上的預設值 |
xhigh |
更深入的推理,token 支出更高。Opus 4.7 上的預設值 |
max |
可以改善困難任務的效能,但可能顯示遞減回報,容易過度思考。在廣泛採用前進行測試 |
ultracode |
一個 Claude Code 設定,為每個實質性任務規劃動態工作流程,每條訊息進行 xhigh 推理。僅限會話 |
努力量表按模型進行校準,因此相同的等級名稱在模型之間不代表相同的基礎值。
使用 ultrathink 進行一次性深入推理
在您的提示中的任何地方包含 ultrathink 以請求在該輪上進行更深入的推理,而不改變您的會話努力設定。Claude Code 識別該關鍵字並新增一個上下文指令。發送到 API 的努力等級保持不變。其他短語如「think」、「think hard」和「think more」會作為普通提示文本傳遞,不被識別為關鍵字。
設定努力等級
您可以透過以下任何方式改變努力:
/effort:執行/effort不帶引數以開啟互動式滑塊,執行/effort後跟等級名稱以直接設定,或執行/effort auto以重設為模型預設值- 在
/model中:選擇模型時使用左/右箭頭鍵調整努力滑塊 --effort旗標:在啟動 Claude Code 時傳遞等級名稱以為單一會話設定- 環境變數:設定
CLAUDE_CODE_EFFORT_LEVEL為等級名稱或auto - 設定:在設定檔中設定
effortLevel為low、medium、high或xhigh。max和ultracode是僅限會話,此處不接受 - Skill 和 subagent frontmatter:在 skill 或 subagent markdown 檔案中設定
effort以在該 skill 或 subagent 執行時覆蓋努力等級
環境變數優先於所有其他方法,然後是您配置的等級,然後是模型預設值。Frontmatter 努力在該 skill 或 subagent 活動時適用,覆蓋會話等級但不覆蓋環境變數。
當選擇支援的模型時,努力滑塊會出現在 /model 中。目前的努力等級也會顯示在標誌和微調器旁邊,例如「with low effort」,因此您可以確認哪個設定處於活動狀態,而無需開啟 /model。
自適應推理和固定思考預算
自適應推理使思考在每一步上都是可選的,因此 Claude 可以更快地回應常規提示,並為受益於思考的步驟保留更深入的思考。如果您想要 Claude 比目前等級產生的更頻繁或更少地思考,您可以直接在您的提示或 CLAUDE.md 中說明;模型在其努力設定範圍內回應該指導。
Opus 4.7 及更新版本始終使用自適應推理,Fable 5 也是如此。固定思考預算模式和 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING 不適用於它們。
在 Opus 4.6 和 Sonnet 4.6 上,您可以設定 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 以恢復到由 MAX_THINKING_TOKENS 控制的先前固定思考預算。請參閱環境變數。
擴展思考
擴展思考是 Claude 在回應前發出的推理。在支援自適應推理的模型上,努力等級是控制發生多少思考的主要控制項;下面的設定會開啟或關閉思考,並控制其顯示方式。
| 控制項 | 如何設定 |
|---|---|
| 目前會話的切換 | 在 macOS 上按 Option+T 或在 Windows 和 Linux 上按 Alt+T |
| 設定全域預設值 | 執行 /config 並切換思考模式。儲存為 ~/.claude/settings.json 中的 alwaysThinkingEnabled |
| 無論努力如何禁用 | 設定 MAX_THINKING_TOKENS=0,這會在 Anthropic API 上關閉思考,除了 Fable 5。在第三方提供者上,這會改為省略 thinking 參數,自適應推理模型可能仍然思考。其他值僅適用於固定思考預算 |
思考無法在 Fable 5 上關閉。會話切換、alwaysThinkingEnabled 和 MAX_THINKING_TOKENS=0 在那裡沒有效果,Fable 5 根據努力等級決定每一步思考多少。
思考輸出預設為摺疊。按 Ctrl+O 以切換詳細模式並將推理視為灰色斜體文本。Anthropic API 上的互動式會話預設會收到編輯的思考區塊,因此如果您想要在展開時可用的完整摘要,請在設定中設定 showThinkingSummaries: true。您需要為所有生成的思考 token 付費,即使它們被摺疊或編輯。
擴展 context
Fable 5、Opus 4.6 及更新版本和 Sonnet 4.6 支援100 萬個 token 的 context window,用於具有大型程式碼庫的長時間會話。
可用性因模型和計畫而異。在 Max、Team 和 Enterprise 計畫上,Opus 會自動升級到 1M context,無需額外配置。這適用於 Team Standard 和 Team Premium 席位。在 Anthropic API 上,Fable 5、Opus 4.8 和 Opus 4.7 始終使用 1M window 執行。Sonnet 搭配 1M context 不是自動升級的一部分,需要在每個訂閱計畫上進行使用額度,包括 Max。
| 計畫 | Opus 搭配 1M context | Sonnet 搭配 1M context |
|---|---|---|
| Max、Team 和 Enterprise | 包含在訂閱中 | 需要使用額度 |
| Pro | 需要使用額度 | 需要使用額度 |
| API 和隨用隨付 | 完全存取 | 完全存取 |
若要完全禁用 1M context,請設定 CLAUDE_CODE_DISABLE_1M_CONTEXT=1。這會從模型選擇器中移除 1M 模型變體。請參閱環境變數。
1M context window 使用標準模型定價,超過 200K 的 token 無需額外費用。對於訂閱中包含擴展 context 的計畫,使用量仍由您的訂閱涵蓋。對於透過使用額度存取擴展 context 的計畫,token 會計入使用額度。
如果您的帳戶支援 1M context,該選項會出現在最新版本 Claude Code 的模型選擇器(/model)中。如果您看不到它,請嘗試重新啟動您的會話。
您也可以將 [1m] 後綴與模型別名或完整模型名稱一起使用:
# 使用 opus[1m] 或 sonnet[1m] 別名
/model opus[1m]
/model sonnet[1m]
# 或將 [1m] 附加到完整模型名稱
/model claude-opus-4-8[1m]
檢查您目前的模型
您可以透過多種方式查看您目前使用的模型:
- 在狀態行中(如果已配置)
- 在
/status中,它也會顯示您的帳戶資訊。
新增自訂模型選項
使用 ANTHROPIC_CUSTOM_MODEL_OPTION 將單一自訂項目新增到 /model 選擇器,而無需取代內建別名。這對於測試 Claude Code 預設不列出的模型 ID 很有用。對於 LLM 閘道部署,當設定 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 時,Claude Code 可以從閘道的 /v1/models 端點填入選擇器,因此只有在探索被停用或未傳回您想要的模型時,才需要此變數。請參閱 LLM 閘道模型選擇。
此範例設定所有三個變數以使閘道路由的 Opus 部署可選擇:
export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-7"
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"
自訂項目出現在 /model 選擇器的底部。ANTHROPIC_CUSTOM_MODEL_OPTION_NAME 和 ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION 是可選的。如果省略,模型 ID 會用作名稱,描述預設為 Custom model (<model-id>)。
Claude Code 會跳過在 ANTHROPIC_CUSTOM_MODEL_OPTION 中設定的模型 ID 的驗證,因此您可以使用您的 API 端點接受的任何字串。
環境變數
您可以使用以下環境變數,這些變數必須是完整的模型名稱(或您的 API 提供者的等效項),以控制別名對應到的模型名稱。
| 環境變數 | 描述 |
|---|---|
ANTHROPIC_DEFAULT_FABLE_MODEL |
用於 fable 的模型,以及 Claude Code 識別為 Fable 5 的模型 ID,用於第三方提供者上的自動模型回退 |
ANTHROPIC_DEFAULT_OPUS_MODEL |
用於 opus 的模型,或在 Plan Mode 活動時用於 opusplan 的模型。 |
ANTHROPIC_DEFAULT_SONNET_MODEL |
用於 sonnet 的模型,或在 Plan Mode 未活動時用於 opusplan 的模型。 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
用於 haiku 的模型,或背景功能 |
CLAUDE_CODE_SUBAGENT_MODEL |
用於所有 subagents 和 agent teams 的模型。覆蓋每次調用的 model 參數和 subagent 定義的 model frontmatter。設定為 inherit 以改用一般模型解析 |
注意:ANTHROPIC_SMALL_FAST_MODEL 已棄用,改用 ANTHROPIC_DEFAULT_HAIKU_MODEL。
為第三方部署固定模型
當透過 Bedrock、Vertex AI、Foundry 或 Claude Platform on AWS 部署 Claude Code 時,在向使用者推出前固定模型版本。
不固定模型時,Claude Code 使用模型別名(例如 fable、opus、sonnet 和 haiku),這些別名會解析為每個提供者的內建預設模型 ID。該預設值可能落後於最新的 Anthropic 版本,而且它指向的模型可能尚未在使用者的帳戶中啟用。當預設值不可用時,Bedrock 和 Vertex AI 使用者會看到通知並回退到該會話的先前版本,而 Foundry 使用者會看到錯誤,因為 Foundry 沒有等效的啟動檢查。
在初始設定中將模型環境變數設定為特定版本 ID。固定讓您控制使用者何時移動到新模型。
使用以下環境變數搭配您提供者的版本特定模型 ID:
| 提供者 | 範例 |
|---|---|
| Bedrock | export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8' |
| Vertex AI | export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8' |
| Foundry | export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8' |
對 ANTHROPIC_DEFAULT_FABLE_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL 和 ANTHROPIC_DEFAULT_HAIKU_MODEL 應用相同的模式。有關所有提供者的目前和舊版模型 ID,請參閱模型概述。若要將使用者升級到新模型版本,請更新這些環境變數並重新部署。
若要為固定模型啟用擴展 context,請將 [1m] 附加到 ANTHROPIC_DEFAULT_OPUS_MODEL 或 ANTHROPIC_DEFAULT_SONNET_MODEL 中的模型 ID:
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'
[1m] 後綴將 1M context window 應用於 opus 和 sonnet 別名的所有使用,包括 opusplan 的 plan-mode Opus 階段。
- Claude Code 在將模型 ID 發送到您的提供者之前會移除該後綴。
- 只有當基礎模型支援 1M context 時,才附加
[1m]。 - 後綴是按變數讀取的,而不是按模型讀取的。在 Bedrock、Vertex 和 Foundry 上,一個變數中沒有
[1m]的模型 ID 會使用 200K context,即使另一個變數設定相同的模型並帶有後綴。
使用第三方提供者時,settings.availableModels 允許清單仍然適用。篩選會根據模型別名(例如 opus)、版本前綴(例如 claude-opus-4-8)或完整模型 ID 進行匹配。任何 [1m] 後綴會從允許清單項目和請求的模型中移除,因此 claude-opus-4-8 的項目允許標準和 1M-context Opus 列。提供者特定的前綴(例如 us.anthropic.)不會被移除:在 availableModels 中列出選擇器顯示的相同形式,或透過 modelOverrides 對應它。
自訂固定模型顯示和能力
當您在第三方提供者上固定模型時,提供者特定的 ID 會按原樣出現在 /model 選擇器中,Claude Code 可能無法識別模型支援的功能。您可以使用每個固定模型的伴隨環境變數覆蓋顯示名稱並宣告能力。
這些變數在 Bedrock、Vertex AI 和 Foundry 等第三方提供者上生效。_NAME 和 _DESCRIPTION 變數在 ANTHROPIC_BASE_URL 指向 LLM gateway 時也會生效。當直接連接到 api.anthropic.com 時無效。
| 環境變數 | 描述 |
|---|---|
ANTHROPIC_DEFAULT_OPUS_MODEL_NAME |
/model 選擇器中固定 Opus 模型的顯示名稱。未設定時預設為模型 ID |
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION |
/model 選擇器中固定 Opus 模型的顯示描述。未設定時預設為 Custom Opus model |
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES |
固定 Opus 模型支援的能力的逗號分隔清單 |
相同的 _NAME、_DESCRIPTION 和 _SUPPORTED_CAPABILITIES 後綴可用於 ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL、ANTHROPIC_DEFAULT_FABLE_MODEL 和 ANTHROPIC_CUSTOM_MODEL_OPTION。
Claude Code 透過將模型 ID 與已知模式進行匹配來啟用努力等級和擴展思考等功能。提供者特定的 ID(例如 Bedrock ARN 或自訂部署名稱)通常不符合這些模式,導致支援的功能被禁用。設定 _SUPPORTED_CAPABILITIES 以告訴 Claude Code 模型實際支援的功能:
| 能力值 | 啟用 |
|---|---|
effort |
努力等級和 /effort 命令 |
xhigh_effort |
{/* min-version: 2.1.111 */}xhigh 努力等級 |
max_effort |
max 努力等級 |
thinking |
擴展思考 |
adaptive_thinking |
根據任務複雜性動態分配思考的自適應推理 |
interleaved_thinking |
工具呼叫之間的思考 |
當設定 _SUPPORTED_CAPABILITIES 時,列出的能力會為匹配的固定模型啟用,未列出的能力會被禁用。當變數未設定時,Claude Code 會回退到基於模型 ID 的內建檢測。
此範例將 Opus 固定到 Bedrock 自訂模型 ARN,設定友善名稱,並宣告其能力:
export ANTHROPIC_DEFAULT_OPUS_MODEL='arn:aws:bedrock:us-east-1:123456789012:custom-model/abc'
export ANTHROPIC_DEFAULT_OPUS_MODEL_NAME='Opus via Bedrock'
export ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION='Opus 4.7 routed through a Bedrock custom endpoint'
export ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES='effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking'
按版本覆蓋模型 ID
家族級環境變數上述為每個家族別名配置一個模型 ID。如果您需要將同一家族內的多個版本對應到不同的提供者 ID,請改用 modelOverrides 設定。
modelOverrides 將個別 Anthropic 模型 ID 對應到 Claude Code 發送到您提供者 API 的提供者特定字串。當使用者在 /model 選擇器中選擇對應的模型時,Claude Code 會使用您配置的值而不是內建預設值。
這讓企業管理員可以將每個模型版本路由到特定的 Bedrock 推論設定檔 ARN、Vertex AI 版本名稱或 Foundry 部署名稱,以進行治理、成本分配或區域路由。
在您的設定檔中設定 modelOverrides:
{
"modelOverrides": {
"claude-opus-4-7": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-prod",
"claude-opus-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-46-prod",
"claude-sonnet-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/sonnet-prod"
}
}
鍵必須是模型概述中列出的 Anthropic 模型 ID。對於日期模型 ID,請包含日期後綴,完全如其所示。未知的鍵會被忽略。
覆蓋會取代支援 /model 選擇器中每個項目的內建模型 ID。在 Bedrock 上,覆蓋優先於 Claude Code 在啟動時自動發現的任何推論設定檔。您直接透過 ANTHROPIC_MODEL、--model 或 ANTHROPIC_DEFAULT_*_MODEL 環境變數提供的值會按原樣傳遞給提供者,不會由 modelOverrides 轉換。
modelOverrides 與 availableModels 一起運作。允許清單會根據 Anthropic 模型 ID 進行評估,而不是覆蓋值,因此 availableModels 中的項目(如 "opus")即使 Opus 版本對應到 ARN 時仍會繼續匹配。
Prompt caching 配置
Claude Code 自動使用 prompt caching 來優化效能並降低成本。您可以全域禁用 prompt caching 或針對特定模型層級禁用:
| 環境變數 | 描述 |
|---|---|
DISABLE_PROMPT_CACHING |
設定為 1 以禁用所有模型的 prompt caching。優先於每個模型的設定 |
DISABLE_PROMPT_CACHING_HAIKU |
設定為 1 以僅禁用 Haiku 模型的 prompt caching |
DISABLE_PROMPT_CACHING_SONNET |
設定為 1 以僅禁用 Sonnet 模型的 prompt caching |
DISABLE_PROMPT_CACHING_OPUS |
設定為 1 以僅禁用 Opus 模型的 prompt caching |
DISABLE_PROMPT_CACHING_FABLE |
設定為 1 以僅禁用 Fable 模型的 prompt caching |
若要變更快取 TTL 或瞭解什麼會觸發快取未命中,請參閱 Claude Code 如何使用 prompt caching。