> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 模型配置

> 了解 Claude Code 模型配置，包括模型別名如 `opusplan`

<h2 id="available-models">
  可用模型
</h2>

對於 Claude Code 中的 `model` 設定，您可以配置以下任一項：

* 一個**模型別名**
* 一個**模型名稱**
  * Anthropic API：完整的\*\*[模型名稱](https://platform.claude.com/docs/zh-TW/about-claude/models/overview)\*\*
  * Bedrock：推論設定檔 ARN
  * Foundry：部署名稱
  * Vertex：版本名稱

<Note>
  `ANTHROPIC_BASE_URL` 改變請求的發送位置，而不是哪個模型回答它們。若要透過 LLM 閘道路由 Claude，請參閱 [LLM 閘道](/zh-TW/llm-gateway)。
</Note>

<h3 id="model-aliases">
  模型別名
</h3>

模型別名提供了一種便捷的方式來選擇模型設定，無需記住確切的版本號：

| 模型別名             | 行為                                                                                                                                                                                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **`default`**    | 特殊值，可清除任何模型覆蓋並還原為您帳戶類型的推薦模型。本身不是模型別名                                                                                                                                                                                                                         |
| **`best`**       | 在您的組織有權限的地方使用 Fable 5，否則使用最新的 Opus 模型                                                                                                                                                                                                                        |
| **`fable`**      | 使用 Claude Fable 5 進行您最困難和最長時間執行的任務                                                                                                                                                                                                                           |
| **`sonnet`**     | 使用最新的 Sonnet 模型進行日常編碼任務                                                                                                                                                                                                                                      |
| **`opus`**       | 使用最新的 Opus 模型進行複雜推理任務                                                                                                                                                                                                                                        |
| **`haiku`**      | 使用快速高效的 Haiku 模型進行簡單任務                                                                                                                                                                                                                                       |
| **`sonnet[1m]`** | 使用 Sonnet 搭配[100 萬個 token 的 context window](https://platform.claude.com/docs/zh-TW/build-with-claude/context-windows#1m-token-context-window)進行長時間會話。當 `sonnet` 已解析為具有原生 1M window 的 Sonnet 5 時無效；在 [LLM 閘道](/zh-TW/llm-gateway)後方時，會為 Sonnet 5 選擇 1M window |
| **`opus[1m]`**   | 使用 Opus 搭配[100 萬個 token 的 context window](https://platform.claude.com/docs/zh-TW/build-with-claude/context-windows#1m-token-context-window)進行長時間會話                                                                                                           |
| **`opusplan`**   | 特殊模式，在 Plan Mode 期間使用 `opus`，然後在執行時切換到 `sonnet`                                                                                                                                                                                                              |

在 Anthropic API 上，`opus` 解析為 Opus 4.8，`sonnet` 解析為 Sonnet 5。在 [AWS 上的 Claude Platform](/zh-TW/claude-platform-on-aws) 上，`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`。

<Note>
  Sonnet 5 需要 Claude Code v2.1.197 或更新版本。Opus 4.8 需要 v2.1.154 或更新版本。執行 `claude update` 以升級。
</Note>

<h3 id="work-with-fable-5">
  使用 Fable 5
</h3>

[Claude Fable 5](https://platform.claude.com/docs/zh-TW/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) 是 Claude Code 中最強大的模型，適合於超過單次會話的任務。它能維持長時間的自主會話，在行動前進行調查，並比較小的模型更頻繁地驗證其工作。

Fable 5 不是預設模型。使用 `/model fable` 選擇它。其安全分類器標記的請求，最常見於網路安全和生物學領域，會觸發[自動模型回退](#automatic-model-fallback)。

若要充分利用 Fable 5：

* **描述結果，而不是步驟**：給它您想要的結果，讓它規劃路徑。若要讓它持續工作直到該結果成立，[設定目標](/zh-TW/goal)。
* **交給它模糊的問題**：根本原因調查、中斷除錯和架構決策是額外調查和驗證發揮作用的地方。
* **跳過驗證提醒**：它以較少的提示驗證自己的工作，所以測試或檢查的提醒通常是不必要的。
* **規劃更大的任務**：給它您通常會分成多個部分的工作。它能維持長時間的會話而不失去思路。

<Note>
  Fable 5 需要 Claude Code v2.1.170 或更新版本。較舊的版本不會在模型選擇器中顯示 Fable 5，也無法選擇它。執行 `claude update` 以升級。Fable 5 在[零資料保留](/zh-TW/zero-data-retention)下不可用，其中 `/model` 選擇器要麼省略它，要麼將其顯示為已停用。
</Note>

<h3 id="setting-your-model">
  設定您的模型
</h3>

您可以透過多種方式配置模型，按優先順序列出：

1. **在會話期間**：使用 `/model <alias|name>` 立即切換，或執行 `/model` 不帶任何引數以開啟選擇器。當會話有先前的輸出時，選擇器會要求確認，因為下一個回應會重新讀取完整歷史記錄而不使用快取的 context
2. **在啟動時**：使用 `claude --model <alias|name>` 啟動
3. **環境變數**：設定 `ANTHROPIC_MODEL=<alias|name>`
4. **設定**：在設定檔中使用 `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` 設定如何。如果該模型已被淘汰或被 [`availableModels`](#restrict-model-selection) 排除，會話會回到正常的優先順序。這可防止另一個會話的 `/model` 選擇在恢復時改變模型。

當啟動時的活動模型來自專案或受管設定而非您自己的選擇時，啟動標題會顯示哪個設定檔設定了它。執行 `/model` 以覆蓋；專案或受管設定會在下次啟動時重新應用。

當請求的模型有排定的淘汰日期或自動重新對應到較新版本時，Claude Code 會顯示一個警告，其中命名了請求的模型。互動式會話會將其顯示為啟動通知。從 v2.1.182 起，當使用預設文字輸出格式時，相同的警告會在[非互動模式](/zh-TW/headless)中寫入 stderr。檢查也涵蓋在[子代理 frontmatter](/zh-TW/sub-agents) 中設定的 `model`。對於 `--output-format json` 和 `stream-json`，stderr 警告會被抑制；改為從[結果訊息](/zh-TW/headless#get-structured-output)的 `modelUsage` 欄位讀取實際模型。

使用範例：

```bash theme={null}
# 使用 Opus 啟動
claude --model opus

# 在會話期間切換到 Sonnet
/model sonnet
```

設定檔範例：

```json theme={null}
{
    "permissions": {
        ...
    },
    "model": "opus"
}
```

<h2 id="restrict-model-selection">
  限制模型選擇
</h2>

企業管理員可以在[受管理或政策設定](/zh-TW/settings#settings-files)中使用 `availableModels` 來限制使用者可以選擇的模型。項目符合模型系列（例如 `sonnet`）、版本前綴（例如 `claude-sonnet-4-5`）或完整模型 ID（例如 `claude-sonnet-4-5-20250929`）。

設定 `availableModels` 後，允許清單適用於使用者可以指定模型的每個位置：

* **主要會話模型**：`/model`、`--model` 旗標、`ANTHROPIC_MODEL` 環境變數、`model` 設定，以及[恢復會話](#setting-your-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 模型時拒絕切換，並顯示訊息「不在您組織的允許模型中」
* **子代理模型**：[子代理](/zh-TW/sub-agents#choose-a-model) frontmatter 中的 `model` 欄位、Agent 工具的 `model` 參數、`/agents` 中的模型選擇器，以及 `CLAUDE_CODE_SUBAGENT_MODEL`
* **技能和命令模型**：[技能和命令](/zh-TW/skills)中的 `model` frontmatter
* **顧問模型**：已設定的 [`advisorModel`](/zh-TW/advisor) 設定和 `--advisor` 旗標
* **背景代理模型**：在[分派選擇器](/zh-TW/agent-view)中選擇的模型

使用 `/model` 切換到被阻止的模型會被拒絕並出現錯誤，而被阻止的 `--model` 旗標、`ANTHROPIC_MODEL` 或 `model` 設定值在啟動時會被替換為警告，命名所要求和替代的模型，會話會在預設模型上啟動。被阻止的子代理、技能或命令覆蓋會回退到繼承或預設模型，而不是使請求失敗；被阻止的 `advisorModel` 設定會停用該會話的顧問，而被阻止的 `--advisor` 旗標值會在啟動時以錯誤退出。排除的模型會從 `/model` 選擇器中隱藏。

自動模型變更的檢查方式相同：[後備模型鏈](#fallback-model-chains)中清單外的元素會被捨棄，計畫模式升級（例如 [`opusplan`](#opusplan-model-setting)）到排除的模型會被跳過，以便計畫在會話的模型上繼續進行，而[自動模型後備](#automatic-model-fallback)的目標被排除時不會執行，因此標記的請求會以拒絕結束。當會話之後執行的模型在允許清單外時，啟用[快速模式](/zh-TW/fast-mode)會被拒絕。

```json theme={null}
{
  "availableModels": ["sonnet", "haiku"]
}
```

<h3 id="surface-coverage">
  表面覆蓋
</h3>

每個表面都會強制執行它接收的允許清單。哪個傳遞機制到達每個表面不同：

| 傳遞機制                                               | CLI 和 IDE | 桌面本機會話 | Web、行動和雲端會話 | Agent SDK 和非互動式 | Cowork    |
| :------------------------------------------------- | :-------- | :----- | :---------- | :-------------- | :-------- |
| 來自管理員主控台的[伺服器管理設定](/zh-TW/server-managed-settings) | 強制執行      | 強制執行   | 強制執行        | 強制執行            | 未傳遞       |
| [MDM 或受管理設定檔](/zh-TW/settings#settings-files)      | 強制執行      | 強制執行   | 未傳遞         | 強制執行            | 在部署位置強制執行 |

* 雲端會話在[網路上的 Claude Code](/zh-TW/claude-code-on-the-web) 或桌面應用程式中執行，在 Anthropic 管理的 VM 上執行：部署到您的裝置的設定無法到達它們，因此請透過伺服器管理設定傳遞允許清單。雲端會話中的中途會話模型切換在要求的模型被允許清單排除時被拒絕。會話建立時的伺服器端拒絕適用於[組織模型限制](#organization-model-restrictions)，而不是 `availableModels` 設定鍵。
* Cowork 是 Claude 桌面應用程式中的代理工作標籤，不是 Claude Code 表面，根據設計不接收伺服器管理設定。受管理設定檔在會話執行的位置存在時適用於 Cowork 會話；遠端 Cowork 會話在 Anthropic 管理的 VM 上執行，其中不存在裝置部署的檔案。
* [第三方提供者](/zh-TW/server-managed-settings#platform-availability)（例如 Bedrock、Vertex AI、Foundry 和 [AWS 上的 Claude Platform](/zh-TW/claude-platform-on-aws)）上的會話不接收伺服器管理設定，因此請在那裡透過 MDM 或受管理設定檔傳遞允許清單。
* 伺服器管理傳遞也需要會話使用組織登入或直接設定的 API 金鑰進行驗證。只透過 [`apiKeyHelper`](/zh-TW/settings#available-settings) 指令碼產生金鑰的艦隊應透過 MDM 或受管理設定檔傳遞允許清單。
* 桌面代碼標籤也裝載 [SSH 會話](/zh-TW/desktop#ssh-sessions)，它們從執行所在的遠端主機讀取受管理設定檔。請參閱[桌面受管理設定](/zh-TW/desktop#managed-settings)。
* claude.ai 和桌面應用程式中的模型選擇器會隱藏或灰顯您組織的允許清單排除的模型。選擇器狀態是使用者的便利；強制執行發生在會話中。

<h3 id="default-model-behavior">
  預設模型行為
</h3>

根據預設，模型選擇器中的「預設」選項不受 `availableModels` 影響，除非也設定了 [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)。單獨使用 `availableModels` 會保持「預設」可用，根據帳戶的[執行時預設](#default-model-setting)解析為系統預設值。如果該預設值是您想要限制的模型，也請設定 `enforceAvailableModels`。

空的 `availableModels` 陣列永遠不會啟用「預設」模型強制執行：使用 `availableModels: []` 時，具名模型選擇會被阻止，但帳戶類型的「預設」模型無論 `enforceAvailableModels` 為何都保持可用。

<h3 id="enforce-the-allowlist-for-the-default-model">
  對「預設」模型強制執行允許清單
</h3>

在受管理設定中將 `enforceAvailableModels: true` 與非空的 `availableModels` 一起設定，以將允許清單擴展到「預設」選項。這需要 Claude Code v2.1.175 或更新版本。

```json theme={null}
{
  "availableModels": ["sonnet", "haiku"],
  "enforceAvailableModels": true
}
```

當使用者帳戶類型的預設模型不在允許清單中時，「預設」選項會改為解析為第一個 `availableModels` 項目，該項目命名允許的、可用的模型，而 `/model` 選擇器的「預設」列會顯示該模型。這適用於到達預設值的每個位置：會話啟動、在 `/model` 中選擇「預設」、[後備模型鏈](#fallback-model-chains)中的 `"default"` 關鍵字，以及排除選擇被捨棄時使用的後備。

當 `availableModels` 未設定或為空時，`enforceAvailableModels` 無效：使用 `availableModels: []` 時，帳戶類型的「預設」模型保持可用，因此該設定無法將使用者鎖定在每個模型之外。當 `availableModels` 非空但沒有項目解析為允許的、可用的模型時，強制執行會降級，「預設」會回退到帳戶類型預設值，警告僅在 `--debug` 下可見。在清單中保留至少一個保證可用的項目以避免這種情況。

在[最高優先順序受管理來源](/zh-TW/settings#settings-precedence)中部署兩個鍵：管理員部署的受管理來源不會合併，因此放在受管理設定檔中的一對在管理員主控台傳遞任何設定時會被忽略。

<h3 id="control-the-model-users-run-on">
  控制使用者執行的模型
</h3>

`model` 設定是初始選擇，而非強制執行。它設定會話啟動時哪個模型處於活動狀態，但使用者仍然可以開啟 `/model` 並選擇「預設」，這會解析為系統的[執行時預設](#default-model-setting)，無論 `model` 設定為何，除非 [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-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，並確保「預設」解析為允許清單上的模型，而不是層級預設值：

```json theme={null}
{
  "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` 區塊。

<h3 id="merge-behavior">
  合併行為
</h3>

當[最高優先順序受管理設定來源](/zh-TW/server-managed-settings#settings-precedence)定義 `availableModels` 時，該清單單獨適用：使用者、專案或本機設定中的項目無法擴展它，而管理員部署的受管理來源不會彼此合併，因此在伺服器管理設定傳遞任何鍵時，部署在受管理設定檔中的清單會被忽略。否則，來自使用者、專案和本機設定的清單會像其他陣列設定一樣[連接和去重](/zh-TW/settings#settings-precedence)。{/* min-version: 2.1.175 */}自 Claude Code v2.1.175 起，受管理清單會取代較低優先順序的項目；較早版本會合併它們。

在有效清單中，命名系列中特定模型的項目（無論是版本前綴還是完整模型 ID）會停用該系列的萬用字元項目：`["sonnet", "claude-sonnet-4-5"]` 只允許 Sonnet 4.5 版本，而不是每個 Sonnet 模型。

<h3 id="mantle-model-ids">
  Mantle 模型 ID
</h3>

當[Bedrock Mantle 端點](/zh-TW/amazon-bedrock#use-the-mantle-endpoint)啟用時，`availableModels` 中以 `anthropic.` 開頭的項目會作為自訂選項新增到 `/model` 選擇器，並路由到 Mantle 端點。這是[為第三方部署固定模型](#pin-models-for-third-party-deployments)中描述的別名符合的例外。該設定仍然將選擇器限制為列出的項目，而 Mantle ID 嵌入系列名稱，因此它計為特定項目並停用該系列的萬用字元：在任何 Mantle ID 旁邊，列出您想要保持可選擇的版本前綴或完整 ID。請參閱[合併行為](#merge-behavior)。

<h3 id="organization-model-restrictions">
  組織模型限制
</h3>

組織管理員透過在 Claude 主控台中停用個別模型來限制成員可以執行的模型。當您的成員透過 Anthropic API 進行驗證，且您想要一個組織範圍的開關而不部署設定檔時，請使用主控台切換而不是 `availableModels`。此限制在 Claude Code 驗證時與帳戶的權利一起傳遞，與設定中的任何 `availableModels` 清單分開，而伺服器在建立會話時獨立強制執行相同的限制。需要 Claude Code v2.1.187 或更新版本。

受限制的模型會從 `/model` 選擇器中隱藏。使用 `--model`、`ANTHROPIC_MODEL` 環境變數或 `model` 設定按名稱選擇它會顯示通知 `Model "<name>" is restricted by your organization's settings. Using <model> instead.`，會話會在允許的模型上啟動。為受限制的模型輸入 `/model <name>` 會被拒絕，並顯示 `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.`，會話會保持其目前模型。

這兩個限制組合：只有當模型被 `availableModels` 允許且未被組織限制時，它才可選擇。組織限制會傳遞到 Anthropic API 和 [LLM 閘道](/zh-TW/llm-gateway)部署上的會話。Bedrock、Vertex AI、Foundry 和 AWS 上的 Claude Platform 上的會話不接收它們，因此請改為在這些提供者上使用 `availableModels`。

<h2 id="special-model-behavior">
  特殊模型行為
</h2>

<h3 id="default-model-setting">
  `default` 模型設定
</h3>

`default` 的行為取決於您的帳戶類型：

* **Max、Team Premium、Enterprise 隨用隨付和 Anthropic API**：預設為 Opus 4.8
* **AWS 上的 Claude Platform**：預設為 Opus 4.7
* **Pro、Team Standard 和 Enterprise 訂閱席位**：預設為 Sonnet 5
* **Bedrock、Vertex 和 Foundry**：預設為 Sonnet 4.5

Enterprise 隨用隨付是指按使用量計費而非按訂閱席位計費的 Enterprise 組織。

當受管設定[強制執行 Default 模型的允許清單](#enforce-the-allowlist-for-the-default-model)且帳戶類型預設不在 `availableModels` 中時，`default` 會解析為強制執行的 Default，而不是上述帳戶類型預設。

Fable 5 不是任何帳戶類型的預設模型。會話僅在您選擇 Fable 5 後才使用它，使用 `/model fable`、`model` 設定或 `best` 別名（其中 Fable 5 可用）。使用 `/model` 選擇它會將其儲存為您使用者設定中的選定模型，因此後續會話會在 Fable 5 上啟動，直到您變更模型。

<h3 id="opusplan-model-setting">
  `opusplan` 模型設定
</h3>

`opusplan` 模型別名提供了一種自動化的混合方法：

* **在 Plan Mode 中**：使用 `opus` 進行複雜推理和架構決策
* **在執行模式中**：自動切換到 `sonnet` 進行程式碼生成和實現

這為您提供了兩全其美的方案：Opus 優越的推理能力用於計畫，Sonnet 的效率用於執行。

Plan Mode Opus 階段使用與 `opus` 模型設定相同的 context window。在訂閱層級上，Opus 會[自動升級到 1M context](#extended-context)，`opusplan` 在 Plan Mode 中也會獲得升級。若要在您不在自動升級層級上時強制兩個階段都使用 1M context，請將模型設定為 `opusplan[1m]`。

當 [`availableModels`](#restrict-model-selection) 排除 Opus 時，`opusplan` 在 Plan Mode 中保持在 Sonnet 上，而不是切換。當 Sonnet 被排除時，隱含的 Haiku 到 Sonnet Plan Mode 升級也適用相同情況。

如需混合方法，其中 Claude 在任務中途決定何時諮詢第二個模型，而不是在計畫邊界處切換，請參閱 [advisor tool](/zh-TW/advisor)。

<h3 id="fallback-model-chains">
  回退模型鏈
</h3>

當主要模型過載、不可用或傳回另一個不可重試的伺服器錯誤時，Claude Code 可以切換到回退模型，而不是使請求失敗。驗證、計費、速率限制、請求大小和傳輸錯誤永遠不會觸發切換；這些遵循其正常的重試和錯誤處理。

配置一個或多個回退模型，Claude Code 會按順序嘗試它們，在切換時顯示通知。切換僅持續目前輪次，因此您的下一條訊息會再次首先嘗試主要模型。鏈在重複移除後限制為三個模型，額外項目會被忽略。

使用 `--fallback-model` 旗標為一個會話設定鏈，該旗標接受逗號分隔的清單：

```bash theme={null}
claude --fallback-model sonnet,haiku
```

若要在會話間持續保存鏈，請在 [settings](/zh-TW/settings) 中設定 `fallbackModel` 為陣列：

```json theme={null}
{
  "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]
}
```

`--fallback-model` 旗標優先於 `fallbackModel` 設定。每個元素接受模型名稱或別名，`"default"` 會展開為預設模型。

兩種情況會導致元素被跳過：

* **不可用的模型**：無法到達的模型，例如在設定中固定的已停用模型，會被跳過，Claude Code 會繼續到下一個元素。
* **超出允許清單**：不被 [`availableModels`](#restrict-model-selection) 允許的元素在讀取鏈時會被刪除，永遠不會被嘗試。

<h3 id="automatic-model-fallback">
  自動模型回退
</h3>

本節涵蓋來自 Fable 5 的基於內容的回退。如需模型過載或不可用時的基於可用性的回退，請參閱 [Fallback model chains](#fallback-model-chains)。

Fable 5 使用網路安全和生物學內容的安全分類器執行。當分類器標記請求時，Claude Code 會在預設 Opus 模型上重新執行該請求，並在記錄中顯示通知：Anthropic API 和 [LLM gateway](/zh-TW/llm-gateway) 部署上的 Opus 4.8，或 [Claude Platform on AWS](/zh-TW/claude-platform-on-aws) 上的 Opus 4.7。

會話隨後在該 Opus 模型上繼續。若要返回 Fable 5，請執行 `/model fable`。

回退目標會根據 [`availableModels`](#restrict-model-selection) 進行檢查。當它被阻止時，不會發生回退。拒絕會作為正常錯誤出現，會話的模型保持不變。

<h4 id="check-what-triggered-fallback">
  檢查觸發回退的原因
</h4>

回退可以在會話的第一個請求上觸發，在您發送任何不尋常的內容之前，因為第一個請求會攜帶工作區上下文，例如您的 CLAUDE.md 內容和 git 狀態。包含安全或生物學材料的儲存庫可以單獨在該上下文上觸發分類器。

若要檢查自訂是否是觸發器，請使用 `claude --safe-mode` 啟動會話，這會禁用自訂，例如 CLAUDE.md、skills、MCP 伺服器和 hooks。Git 狀態和目錄名稱不是自訂，仍然包含在內。

<h4 id="ask-before-switching">
  在切換前詢問
</h4>

若要決定每次請求被標記時發生的情況，而不是自動切換，請執行 `/config` 並關閉「當訊息被標記時切換模型」。標記的請求隨後會暫停會話，有兩個選項：切換到 Opus 模型，或編輯提示並在 Fable 5 上重試。

某些情況的行為不同：

* 如果兩個模型都標記相同的請求，您可以編輯提示並重試，或啟動新會話。
* 在行動裝置 [Claude Code on the web](/zh-TW/claude-code-on-the-web) 會話上，不支援編輯和重試。切換模型，或從桌面瀏覽器或桌面應用程式繼續會話。
* 在 [non-interactive mode](/zh-TW/cli-reference#cli-flags) 和無法顯示提示的 SDK 整合中，標記的請求以拒絕結束輪次。
* 當回退目標被 [`availableModels`](#restrict-model-selection) 阻止時，不會顯示提示。標記的請求以拒絕結束，與目標被阻止時的自動回退相同。

<h4 id="enable-fallback-on-bedrock-vertex-ai-and-foundry">
  在 Bedrock、Vertex AI 和 Foundry 上啟用回退
</h4>

在 [Amazon Bedrock](/zh-TW/amazon-bedrock)、[Google Vertex AI](/zh-TW/google-vertex-ai) 和 [Microsoft Foundry](/zh-TW/microsoft-foundry) 上，模型 ID 是提供者特定的，因此自動回退僅在 Claude Code 可以識別涉及的兩個模型時運作：

* Claude Code 必須將目前模型識別為 Fable 5：模型 ID 包含 `claude-fable-5`、符合 `ANTHROPIC_DEFAULT_FABLE_MODEL` 的值，或使用 [`modelOverrides`](#override-model-ids-per-version) 對應。
* 回退目標必須解析為 Opus 模型：`ANTHROPIC_DEFAULT_OPUS_MODEL` 的值（如果設定），否則提供者模型清單中的 Opus 4.8 項目。

如果任一模型無法識別，Claude Code 不會自動切換。標記的請求以拒絕訊息結束，您可以使用 [`/model`](#setting-your-model) 切換模型並重試。若要在這些提供者上啟用自動回退，請將 `ANTHROPIC_DEFAULT_FABLE_MODEL` 設定為您的 Fable 5 模型 ID，並將 `ANTHROPIC_DEFAULT_OPUS_MODEL` 設定為您的 Opus 4.8 模型 ID。

<h4 id="security-research-and-biology-workloads">
  安全研究和生物學工作負載
</h4>

進攻性安全或生物學中的工作負載，包括滲透測試、Capture the Flag (CTF) 練習和生物學相鄰程式碼庫，經常觸發回退，通常在第一個請求上。對於實質性生物學工作，預期幾乎所有請求都會重新路由。

這是這些領域的預期路由，不是帳戶標記。如果您的組織需要 Fable 級別的能力來進行此工作，請詢問您的 Anthropic 帳戶團隊有關受信任存取計畫。

<h3 id="adjust-effort-level">
  調整努力等級
</h3>

[努力等級](https://platform.claude.com/docs/en/build-with-claude/effort)控制自適應推理，讓模型根據任務複雜性決定是否以及在每一步上思考多少。較低的努力對於直接的任務更快且更便宜，而較高的努力為複雜問題提供更深入的推理。

可用的努力等級取決於模型。此處未列出的模型不支援努力：

| 模型                           | 等級                                  |
| :--------------------------- | :---------------------------------- |
| Fable 5                      | `low`、`medium`、`high`、`xhigh`、`max` |
| Sonnet 5、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、Sonnet 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 為實質性任務協調[動態工作流程](/zh-TW/workflows)。它僅適用於目前會話。透過 `/effort` 設定，或透過 `--settings` 或 Agent SDK 控制請求傳遞 `"ultracode": true`。它不是 `effortLevel` 設定、`--effort` 旗標或 `CLAUDE_CODE_EFFORT_LEVEL` 的一部分。

<h4 id="choose-an-effort-level">
  選擇努力等級
</h4>

每個等級都在 token 支出和能力之間進行權衡。預設值適合大多數編碼任務；當您想要不同的平衡時進行調整。

| 等級          | 何時使用                                                                          |
| :---------- | :---------------------------------------------------------------------------- |
| `low`       | 保留用於短期、範圍有限、延遲敏感且不是智能敏感的任務                                                    |
| `medium`    | 減少成本敏感工作的 token 使用，可以權衡一些智能                                                   |
| `high`      | 平衡 token 使用和智能。Fable 5、Sonnet 5、Opus 4.8、Opus 4.6 和 Sonnet 4.6 上的預設值          |
| `xhigh`     | 更深入的推理，token 支出更高。Opus 4.7 上的預設值                                              |
| `max`       | 可以改善困難任務的效能，但可能顯示遞減回報，容易過度思考。在廣泛採用前進行測試                                       |
| `ultracode` | 一個 Claude Code 設定，為每個實質性任務規劃[動態工作流程](/zh-TW/workflows)，每條訊息進行 `xhigh` 推理。僅限會話 |

努力量表按模型進行校準，因此相同的等級名稱在模型之間不代表相同的基礎值。

<h4 id="use-ultrathink-for-one-off-deep-reasoning">
  使用 ultrathink 進行一次性深入推理
</h4>

在您的提示中的任何地方包含 `ultrathink` 以請求在該輪上進行更深入的推理，而不改變您的會話努力設定。Claude Code 識別該關鍵字並新增一個上下文指令。發送到 API 的努力等級保持不變。其他短語如「think」、「think hard」和「think more」會作為普通提示文本傳遞，不被識別為關鍵字。

<h4 id="set-the-effort-level">
  設定努力等級
</h4>

您可以透過以下任何方式改變努力：

* **`/effort`**：執行 `/effort` 不帶引數以開啟互動式滑塊，執行 `/effort` 後跟等級名稱以直接設定，或執行 `/effort auto` 以重設為模型預設值
* **在 `/model` 中**：選擇模型時使用左/右箭頭鍵調整努力滑塊
* **`--effort` 旗標**：在啟動 Claude Code 時傳遞等級名稱以為單一會話設定
* **環境變數**：設定 `CLAUDE_CODE_EFFORT_LEVEL` 為等級名稱或 `auto`
* **設定**：在設定檔中設定 `effortLevel` 為 `low`、`medium`、`high` 或 `xhigh`。`max` 和 `ultracode` 是[僅限會話](#adjust-effort-level)，此處不接受
* **Skill 和 subagent frontmatter**：在 [skill](/zh-TW/skills#frontmatter-reference) 或 [subagent](/zh-TW/sub-agents#supported-frontmatter-fields) markdown 檔案中設定 `effort` 以在該 skill 或 subagent 執行時覆蓋努力等級

環境變數優先於所有其他方法，然後是您配置的等級，然後是模型預設值。Frontmatter 努力在該 skill 或 subagent 活動時適用，覆蓋會話等級但不覆蓋環境變數。

當選擇支援的模型時，努力滑塊會出現在 `/model` 中。目前的努力等級也會顯示在標誌和微調器旁邊，例如「with low effort」，因此您可以確認哪個設定處於活動狀態，而無需開啟 `/model`。

<h4 id="adaptive-reasoning-and-fixed-thinking-budgets">
  自適應推理和固定思考預算
</h4>

自適應推理使思考在每一步上都是可選的，因此 Claude 可以更快地回應常規提示，並為受益於思考的步驟保留更深入的思考。如果您想要 Claude 比目前等級產生的更頻繁或更少地思考，您可以直接在您的提示或 `CLAUDE.md` 中說明；模型在其努力設定範圍內回應該指導。

Fable 5、Sonnet 5 和 Opus 4.7 及更新版本始終使用自適應推理。固定思考預算模式和 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 不適用於它們。

在 Opus 4.6 和 Sonnet 4.6 上，您可以設定 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` 以恢復到由 `MAX_THINKING_TOKENS` 控制的先前固定思考預算。請參閱[環境變數](/zh-TW/env-vars)。

<h3 id="extended-thinking">
  擴展思考
</h3>

擴展思考是 Claude 在回應前發出的推理。在支援[自適應推理](#adjust-effort-level)的模型上，努力等級是控制發生多少思考的主要控制項；下面的設定會開啟或關閉思考，並控制其顯示方式。

| 控制項      | 如何設定                                                                                                                                                                                                                            |
| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 目前會話的切換  | 在 macOS 上按 `Option+T` 或在 Windows 和 Linux 上按 `Alt+T`                                                                                                                                                                             |
| 設定全域預設值  | 執行 `/config` 並切換思考模式。儲存為 `~/.claude/settings.json` 中的 `alwaysThinkingEnabled`                                                                                                                                                   |
| 無論努力如何禁用 | 設定 [`MAX_THINKING_TOKENS=0`](/zh-TW/env-vars)，這會在 Anthropic API 上關閉思考，除了 Fable 5。在[第三方提供者](/zh-TW/third-party-integrations)上，這會改為省略 `thinking` 參數，自適應推理模型可能仍然思考。其他值僅適用於[固定思考預算](#adaptive-reasoning-and-fixed-thinking-budgets) |

思考無法在 Fable 5 上關閉。會話切換、`alwaysThinkingEnabled` 和 `MAX_THINKING_TOKENS=0` 在那裡沒有效果，Fable 5 根據努力等級決定每一步思考多少。

思考輸出預設為摺疊。按 `Ctrl+O` 以切換詳細模式並將推理視為灰色斜體文本。Anthropic API 上的互動式會話預設會收到編輯的思考區塊，因此如果您想要在展開時可用的完整摘要，請在[設定](/zh-TW/settings)中設定 `showThinkingSummaries: true`。您需要為所有生成的思考 token 付費，即使它們被摺疊或編輯。

<h3 id="extended-context">
  擴展 context
</h3>

Fable 5、Sonnet 5、Opus 4.6 及更新版本和 Sonnet 4.6 支援[100 萬個 token 的 context window](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)，用於具有大型程式碼庫的長時間會話。

可用性因模型和計畫而異。在 Anthropic API 上，Fable 5、Sonnet 5、Opus 4.8 和 Opus 4.7 始終使用 1M window 執行。在 Max、Team 和 Enterprise 計畫上，Opus 會自動升級到 1M context，無需額外配置。這適用於 Team Standard 和 Team Premium 席位。Sonnet 4.6 搭配 1M context 不是自動升級的一部分，需要在每個訂閱計畫上進行[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)，包括 Max。

| 計畫                    | Opus 搭配 1M context                                                                          | Sonnet 4.6 搭配 1M context                                                                    |
| --------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| Max、Team 和 Enterprise | 包含在訂閱中                                                                                      | 需要[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |
| Pro                   | 需要[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | 需要[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |
| API 和隨用隨付             | 完全存取                                                                                        | 完全存取                                                                                        |

若要完全禁用 1M context，請設定 `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`。這會從模型選擇器中移除 1M 模型變體。請參閱[環境變數](/zh-TW/env-vars)。

1M context window 使用標準模型定價，超過 200K 的 token 無需額外費用。對於訂閱中包含擴展 context 的計畫，使用量仍由您的訂閱涵蓋。對於透過使用額度存取擴展 context 的計畫，token 會計入使用額度。

如果您的帳戶支援 1M context，該選項會出現在最新版本 Claude Code 的模型選擇器（`/model`）中。如果您看不到它，請嘗試重新啟動您的會話。

您也可以將 `[1m]` 後綴與模型別名或完整模型名稱一起使用：

```bash theme={null}
# 使用 opus[1m] 或 sonnet[1m] 別名
/model opus[1m]
/model sonnet[1m]

# 或將 [1m] 附加到完整模型名稱
/model claude-opus-4-8[1m]
```

<h4 id="sonnet-5-context-window">
  Sonnet 5 的 context window
</h4>

在 Anthropic API 上，Sonnet 5 始終使用 1M context window 執行。沒有 200K 變體，沒有可選擇的 `[1m]` 後綴，任何計畫都不需要使用額度。會話會在 window 填滿前自動壓縮，預設約在 967K 個 token 時；設定 [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/zh-TW/env-vars) 以選擇不同的閾值。

兩種配置會改為以 200K 計算 window，並在該邊界自動壓縮：

* **LLM 閘道**：當 `ANTHROPIC_BASE_URL` 指向[閘道](/zh-TW/llm-gateway)時，Claude Code 無法驗證 1M 支援。若要使用完整的 window，請在模型選擇器中選擇 Sonnet 5 (1M context)，它會對應到 `sonnet[1m]`。
* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**：將 Sonnet 5 會話視為具有 200K window，適用於需要限制 context 的部署。

<h2 id="checking-your-current-model">
  檢查您目前的模型
</h2>

您可以在兩個地方查看您目前使用的模型：

* 在[狀態行](/zh-TW/statusline)中（如果已配置）
* 在 `/status` 中，它也會顯示您的帳戶資訊

<h2 id="add-a-custom-model-option">
  新增自訂模型選項
</h2>

使用 `ANTHROPIC_CUSTOM_MODEL_OPTION` 將單一自訂項目新增到 `/model` 選擇器，而無需取代內建別名。這對於測試 Claude Code 預設不列出的模型 ID 很有用。對於 LLM 閘道部署，當設定 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` 時，Claude Code 可以從閘道的 `/v1/models` 端點填入選擇器，因此只有在探索被停用或未傳回您想要的模型時，才需要此變數。請參閱 [閘道模型探索](/zh-TW/llm-gateway-protocol#model-discovery)。

此範例設定所有三個變數以使閘道路由的 Opus 部署可選擇：

```bash theme={null}
export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-8"
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 端點接受的任何字串。當設定 [`availableModels`](#restrict-model-selection) 時，也要在允許清單中包含自訂模型 ID：自訂項目會從選擇器中篩選出來，對其進行 `--model` 選擇會被拒絕，就像任何其他被排除的模型一樣。嵌入家族名稱的自訂 ID（例如 `my-gateway/claude-opus-4-8`）會計為該家族的特定項目，並停用其萬用字元，因此也要列出您打算保持可選擇的版本。請參閱 [合併行為](#merge-behavior)。

<h2 id="environment-variables">
  環境變數
</h2>

您可以使用以下環境變數來控制別名對應到的模型名稱。每個值必須是完整的模型名稱，或您的 API 提供者的等效識別碼。

| 環境變數                             | 描述                                                                                                                                                                      |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ANTHROPIC_DEFAULT_FABLE_MODEL`  | 用於 `fable` 的模型，以及 Claude Code 識別為 Fable 5 的模型 ID，用於第三方提供者上的[自動模型回退](#automatic-model-fallback)                                                                          |
| `ANTHROPIC_DEFAULT_OPUS_MODEL`   | 用於 `opus` 的模型，或在 Plan Mode 活動時用於 `opusplan` 的模型。                                                                                                                        |
| `ANTHROPIC_DEFAULT_SONNET_MODEL` | 用於 `sonnet` 的模型，或在 Plan Mode 未活動時用於 `opusplan` 的模型。                                                                                                                     |
| `ANTHROPIC_DEFAULT_HAIKU_MODEL`  | 用於 `haiku` 的模型，或[背景功能](/zh-TW/costs#background-token-usage)                                                                                                             |
| `CLAUDE_CODE_SUBAGENT_MODEL`     | 用於所有 [subagents](/zh-TW/sub-agents#choose-a-model) 和 [agent teams](/zh-TW/agent-teams) 的模型。覆蓋每次調用的 `model` 參數和 subagent 定義的 `model` frontmatter。設定為 `inherit` 以改用一般模型解析 |

注意：`ANTHROPIC_SMALL_FAST_MODEL` 已棄用，改用 `ANTHROPIC_DEFAULT_HAIKU_MODEL`。

<h3 id="pin-models-for-third-party-deployments">
  為第三方部署固定模型
</h3>

當透過 [Bedrock](/zh-TW/amazon-bedrock)、[Vertex AI](/zh-TW/google-vertex-ai)、[Foundry](/zh-TW/microsoft-foundry) 或 [Claude Platform on AWS](/zh-TW/claude-platform-on-aws) 部署 Claude Code 時，在向使用者推出前固定模型版本。

不固定模型時，Claude Code 使用模型別名（例如 `fable`、`opus`、`sonnet` 和 `haiku`），這些別名會解析為每個提供者的內建預設模型 ID。該預設值可能落後於最新的 Anthropic 版本，而且它指向的模型可能尚未在使用者的帳戶中啟用。當預設值不可用時，Bedrock 和 Vertex AI 使用者會看到通知並回退到該會話的先前版本，而 Foundry 使用者會看到錯誤，因為 Foundry 沒有等效的啟動檢查。

<Warning>
  在初始設定中將模型環境變數設定為特定版本 ID。固定讓您控制使用者何時移動到新模型。
</Warning>

使用以下環境變數搭配您提供者的版本特定模型 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，請參閱[模型概述](https://platform.claude.com/docs/en/about-claude/models/overview)。若要將使用者升級到新模型版本，請更新這些環境變數並重新部署。

若要為固定模型啟用[擴展 context](#extended-context)，請將 `[1m]` 附加到 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 中的模型 ID：

```bash theme={null}
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'
```

`[1m]` 後綴將 1M context window 應用於 `opus` 和 `sonnet` 別名的所有使用，包括 [`opusplan`](#opusplan-model-setting) 的 plan-mode Opus 階段。

* Claude Code 在將模型 ID 發送到您的提供者之前會移除該後綴。
* 只有當基礎模型[支援 1M context](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) 時，才附加 `[1m]`。
* 後綴是按變數讀取的，而不是按模型讀取的。在 Bedrock、Vertex 和 Foundry 上，一個變數中沒有 `[1m]` 的模型 ID 會使用 200K context，即使另一個變數設定相同的模型並帶有後綴。Sonnet 5 在這些提供者上始終以 1M window 執行，永遠不需要後綴。

<Note>
  使用第三方提供者時，透過 [MDM 或受管設定檔](/zh-TW/settings#settings-files) 傳遞的 `availableModels` 允許清單仍然適用；[伺服器管理的設定不會在那裡傳遞](/zh-TW/server-managed-settings#platform-availability)。篩選會根據模型別名（例如 `opus`）、版本前綴（例如 `claude-opus-4-8`）或完整提供者形式模型 ID 進行匹配。提供者特定的前綴（例如 `us.anthropic.`）不會被移除，因此若要允許特定模型，請列出選擇器顯示的相同提供者形式 ID，或透過 [`modelOverrides`](#override-model-ids-per-version) 對應它。任何 `[1m]` 後綴會從允許清單項目和請求的模型中移除，然後進行匹配。
</Note>

<h3 id="customize-pinned-model-display-and-capabilities">
  自訂固定模型顯示和能力
</h3>

當您在第三方提供者上固定模型時，提供者特定的 ID 會按原樣出現在 `/model` 選擇器中，Claude Code 可能無法識別模型支援的功能。您可以使用每個固定模型的伴隨環境變數覆蓋顯示名稱並宣告能力。

這些變數在 Bedrock、Vertex AI 和 Foundry 等第三方提供者上生效。`_NAME` 和 `_DESCRIPTION` 變數在 `ANTHROPIC_BASE_URL` 指向 [LLM gateway](/zh-TW/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 與已知模式進行匹配來啟用[努力等級](#adjust-effort-level)和[擴展思考](#extended-thinking)等功能。提供者特定的 ID（例如 Bedrock ARN 或自訂部署名稱）通常不符合這些模式，導致支援的功能被禁用。設定 `_SUPPORTED_CAPABILITIES` 以告訴 Claude Code 模型實際支援的功能：

| 能力值                    | 啟用                                         |
| ---------------------- | ------------------------------------------ |
| `effort`               | [努力等級](#adjust-effort-level)和 `/effort` 命令 |
| `xhigh_effort`         | {/* min-version: 2.1.111 */}`xhigh` 努力等級   |
| `max_effort`           | `max` 努力等級                                 |
| `thinking`             | [擴展思考](#extended-thinking)                 |
| `adaptive_thinking`    | 根據任務複雜性動態分配思考的自適應推理                        |
| `interleaved_thinking` | 工具呼叫之間的思考                                  |

當設定 `_SUPPORTED_CAPABILITIES` 時，列出的能力會為匹配的固定模型啟用，未列出的能力會被禁用。當變數未設定時，Claude Code 會回退到基於模型 ID 的內建檢測。

此範例將 Opus 固定到 Bedrock 自訂模型 ARN，設定友善名稱，並宣告其能力：

```bash theme={null}
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'
```

<h3 id="override-model-ids-per-version">
  按版本覆蓋模型 ID
</h3>

家族級環境變數上述為每個家族別名配置一個模型 ID。如果您需要將同一家族內的多個版本對應到不同的提供者 ID，請改用 `modelOverrides` 設定。

`modelOverrides` 將個別 Anthropic 模型 ID 對應到 Claude Code 發送到您提供者 API 的提供者特定字串。當使用者在 `/model` 選擇器中選擇對應的模型時，Claude Code 會使用您配置的值而不是內建預設值。

這讓企業管理員可以將每個模型版本路由到特定的 Bedrock 推論設定檔 ARN、Vertex AI 版本名稱或 Foundry 部署名稱，以進行治理、成本分配或區域路由。

在您的[設定檔](/zh-TW/settings#settings-files)中設定 `modelOverrides`：

```json theme={null}
{
  "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"
  }
}
```

鍵必須是[模型概述](https://platform.claude.com/docs/en/about-claude/models/overview)中列出的 Anthropic 模型 ID。對於日期模型 ID，請包含日期後綴，完全如其所示。未知的鍵會被忽略。

覆蓋會取代支援 `/model` 選擇器中每個項目的內建模型 ID。在 Bedrock 上，覆蓋優先於 Claude Code 在啟動時自動發現的任何推論設定檔。您直接透過 `ANTHROPIC_MODEL`、`--model` 或 `ANTHROPIC_DEFAULT_*_MODEL` 環境變數提供的值會按原樣傳遞給提供者，不會由 `modelOverrides` 轉換。

`modelOverrides` 與 `availableModels` 一起運作。允許清單會根據 Anthropic 模型 ID 進行評估，而不是覆蓋值，因此 `availableModels` 中的項目（如 `"opus"`）即使 Opus 版本對應到 ARN 時仍會繼續匹配。當在受管設定中設定 `enforceAvailableModels` 時，強制執行的預設值會從[最高優先順序受管來源](/zh-TW/server-managed-settings#settings-precedence)透過 `modelOverrides` 解析。管理員的對應（例如固定到推論設定檔 ARN 的版本）會在強制執行的預設值中受到尊重。來自使用者或專案設定的覆蓋不會影響它。

<h3 id="prompt-caching-configuration">
  Prompt caching 配置
</h3>

Claude Code 自動使用 [prompt caching](/zh-TW/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](/zh-TW/prompt-caching)。
