SpyBara
Go Premium

Documentation 2026-10-20 23:00 UTC to 2026-10-21 23:02 UTC

84 files changed +1,782 −853. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59

admin-setup.md +1 −1

Details

91| [Permission lockdown](/docs/zh-TW/permissions#managed-only-settings) | 使受管設定成為[唯一的權限規則設定來源](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly)。禁用 `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`、`permissions.disableBypassPermissionsMode` |91| [Permission lockdown](/docs/zh-TW/permissions#managed-only-settings) | 使受管設定成為[唯一的權限規則設定來源](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly)。禁用 `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`、`permissions.disableBypassPermissionsMode` |

92| [Starting permission mode](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) | 選擇開發人員終端會話啟動時的權限模式,而不是內建的啟動權限模式,或移除自動模式。[切換權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)列出 VS Code 擴充功能讀取您設定的 `defaultMode` 的時機 | `permissions.defaultMode`、`permissions.disableAutoMode` |92| [Starting permission mode](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) | 選擇開發人員終端會話啟動時的權限模式,而不是內建的啟動權限模式,或移除自動模式。[切換權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)列出 VS Code 擴充功能讀取您設定的 `defaultMode` 的時機 | `permissions.defaultMode`、`permissions.disableAutoMode` |

93| [Sandboxing](/docs/zh-TW/sandboxing) | 作業系統級別的檔案系統和網路隔離,具有網域允許清單 | `sandbox.enabled`、`sandbox.network.allowedDomains` |93| [Sandboxing](/docs/zh-TW/sandboxing) | 作業系統級別的檔案系統和網路隔離,具有網域允許清單 | `sandbox.enabled`、`sandbox.network.allowedDomains` |

94| [Managed policy CLAUDE.md](/docs/zh-TW/memory#deploy-organization-wide-claude-md) | 在每個會話中載入的組織範圍指令,無法排除 | 受管政策路徑中的檔案 |94| [Managed policy CLAUDE.md](/docs/zh-TW/memory#deploy-organization-wide-claude-md) | 為 Claude 提供的組織範圍行為指引,而非由用戶端強制執行的規則 | 受管政策路徑中的檔案 |

95| [MCP server control](/docs/zh-TW/managed-mcp) | 限制使用者可以新增或連接的 MCP 伺服器、部署固定集合,或為每個使用者提供遠端伺服器以及他們自己的伺服器 | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly`、`managedMcpServers`,或已部署的 `managed-mcp.json` 檔案 |95| [MCP server control](/docs/zh-TW/managed-mcp) | 限制使用者可以新增或連接的 MCP 伺服器、部署固定集合,或為每個使用者提供遠端伺服器以及他們自己的伺服器 | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly`、`managedMcpServers`,或已部署的 `managed-mcp.json` 檔案 |

96| [Plugin marketplace control](/docs/zh-TW/plugins/org#restrict-what-users-can-install) | 限制使用者可以新增和安裝的市場來源、拒絕為單次執行側載外掛程式、agents 和 MCP 伺服器的 CLI 旗標、阻止[`command` 外掛程式來源](/docs/zh-TW/plugins/marketplace-reference#command-plugin-source),以及允許清單哪些市場的外掛程式可以被建議 | `strictKnownMarketplaces`、`blockedMarketplaces`、`disableSideloadFlags`、`disableCommandPluginSources`、`pluginSuggestionMarketplaces` |96| [Plugin marketplace control](/docs/zh-TW/plugins/org#restrict-what-users-can-install) | 限制使用者可以新增和安裝的市場來源、拒絕為單次執行側載外掛程式、agents 和 MCP 伺服器的 CLI 旗標、阻止[`command` 外掛程式來源](/docs/zh-TW/plugins/marketplace-reference#command-plugin-source),以及允許清單哪些市場的外掛程式可以被建議 | `strictKnownMarketplaces`、`blockedMarketplaces`、`disableSideloadFlags`、`disableCommandPluginSources`、`pluginSuggestionMarketplaces` |

97| [Customization lockdown](/docs/zh-TW/settings-reference#strictpluginonlycustomization) | 阻止 skills、agents、hooks 和 MCP 伺服器來自使用者和專案來源,使其只能來自外掛程式或受管設定。鎖定 skills 也會停止[您的開發人員在 claude.ai 上啟用的 skills](/docs/zh-TW/skills#where-synced-skills-load)同步 | `strictPluginOnlyCustomization` |97| [Customization lockdown](/docs/zh-TW/settings-reference#strictpluginonlycustomization) | 阻止 skills、agents、hooks 和 MCP 伺服器來自使用者和專案來源,使其只能來自外掛程式或受管設定。鎖定 skills 也會停止[您的開發人員在 claude.ai 上啟用的 skills](/docs/zh-TW/skills#where-synced-skills-load)同步 | `strictPluginOnlyCustomization` |

advisor.md +1 −1

Details

83 83 

84如果您使用 `--advisor` 啟動[背景工作階段](/docs/zh-TW/agent-view),且上述任何情況成立,Claude Code 會在沒有顧問的情況下啟動工作階段,而不是退出。84如果您使用 `--advisor` 啟動[背景工作階段](/docs/zh-TW/agent-view),且上述任何情況成立,Claude Code 會在沒有顧問的情況下啟動工作階段,而不是退出。

85 85 

86如果要求的模型可以充當顧問,但[排名低於](#choose-an-advisor-model)工作階段的主要模型,Claude Code 仍會啟動工作階段。在背景工作階段之外,它也會在啟動時警告該模型 `cannot advise` 主要模型。86如果您傳遞的模型可以充當顧問,但[排名低於您的主要模型](#choose-an-advisor-model),無論是否為背景工作階段,工作階段都會啟動。此時您的主要模型會在沒有顧問的情況下執行。

87 87 

88## 選擇顧問模型88## 選擇顧問模型

89 89 

Details

372 372 

373### 設定允許的工具373### 設定允許的工具

374 374 

375`tools` 選項和允許/不允許清單會影響兩個層級:可用性(控制工具是否出現在 Claude 的上下文中)和權限(控制 Claude 嘗試呼叫後是否獲得批准)。`tools` 和裸名稱 `disallowedTools` 項目會變更可用性。`allowedTools` 和限定範圍的 `disallowedTools` 規則會變更權限。如果您在 `allowedTools` 中命名其中一個[任務追蹤工具](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會選擇加入工作階段。375`tools` 選項和允許/不允許清單會影響兩個層級:可用性(控制工具是否出現在 Claude 的上下文中)和權限(控制 Claude 嘗試呼叫後是否獲得批准)。`tools` 和裸名稱 `disallowedTools` 項目會變更可用性。`allowedTools` 和限定範圍的 `disallowedTools` 規則會變更權限。如果您在 `allowedTools` 中命名其中一個[任務追蹤工具](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會為該工作階段啟用這些工具。

376 376 

377| 選項 | 層級 | 效果 |377| 選項 | 層級 | 效果 |

378| :- | :- | :- |378| :- | :- | :- |

Details

20 20 

21[`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) 中的應用程式是本機開發的示範,從電子郵件用戶端到多代理研究系統。複製其形狀與您正在建置的內容相符的示範。21[`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) 中的應用程式是本機開發的示範,從電子郵件用戶端到多代理研究系統。複製其形狀與您正在建置的內容相符的示範。

22 22 

23## Fork 完整專案

24 

25若要使用 Python SDK 打造購物 agent 或商家 agent,請從 [Claude for commerce 參考實作](https://platform.claude.com/docs/en/about-claude/use-case-guides/commerce-agents)開始。

26 

23## 進行 Python 配方27## 進行 Python 配方

24 28 

25Claude Cookbook 的 Agent SDK 系列是一系列配方,每個配方都是 Python 筆記本,從簡單的研究代理進展到複雜的多代理系統。每個筆記本都以前一個為基礎,引入新的概念和功能。從[單行研究代理](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent)開始並向前進行。29Claude Cookbook 的 Agent SDK 系列是一系列配方,每個配方都是 Python 筆記本,從簡單的研究代理進展到複雜的多代理系統。每個筆記本都以前一個為基礎,引入新的概念和功能。從[單行研究代理](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent)開始並向前進行。

Details

638 638 

639* [`permission_prompt`](/docs/zh-TW/hooks#notification) 一旦權限請求在您的 [`canUseTool` 回調](/docs/zh-TW/agent-sdk/user-input) 上等待約六秒。需要 TypeScript Agent SDK v0.3.233 或更新版本,或 Python Agent SDK v0.2.139 或更新版本639* [`permission_prompt`](/docs/zh-TW/hooks#notification) 一旦權限請求在您的 [`canUseTool` 回調](/docs/zh-TW/agent-sdk/user-input) 上等待約六秒。需要 TypeScript Agent SDK v0.3.233 或更新版本,或 Python Agent SDK v0.2.139 或更新版本

640* `elicitation_complete` 和 `elicitation_response` 用於使用者提示引導流程640* `elicitation_complete` 和 `elicitation_response` 用於使用者提示引導流程

641* `plugin_notification`:當 [mod](/docs/zh-TW/plugins/mods/api#show-something-without-starting-a-turn) 呼叫 `$.ui.notify` 時

641 642 

642Claude Code 從 SDK 工作階段不執行的互動式 UI 發出其他類型,例如 `idle_prompt`、`auth_success` 和 `elicitation_dialog`。643Claude Code 從 SDK 工作階段不執行的互動式 UI 發出其他類型,例如 `idle_prompt`、`auth_success` 和 `elicitation_dialog`。

643 644 

agent-sdk/mcp.md +29 −11

Details

142 142 

143## 連線時序143## 連線時序

144 144 

145Claude Code 在啟動時註冊您在 `options.mcpServers` 中傳遞的伺服器,並在第一輪等待(如果有的話)解決後發出 [init 訊息](#error-handling)。每個 `options.mcpServers` 伺服器是否延遲第一輪,以及何時連線,取決於其類型:145Claude Code 會在工作階段開始時開始連線您的 MCP 伺服器,並在第一回合的等待(如果有的話)結束後發送 [init 訊息](#error-handling)。第一回合等待伺服器的時間長短,取決於您在何處設定該伺服器。如果您設定了 `permissionPromptToolName`,無論您在何處設定該工具的伺服器,第一回合一律會等待它,最多等待 `MCP_TIMEOUT`。

146 

147對於 `options.mcpServers` 中的伺服器,請在第一欄中找到其類型,以查看第一回合會等待它多久。

146 148 

147| 伺服器類型 | 延遲第一輪? | 第一輪等待逾時 |149| 伺服器類型 | 延遲第一輪? | 第一輪等待逾時 |

148| :- | :- | :- |150| :- | :- | :- |


150| 具有快取工具清單的遠端伺服器,由 Claude Code 從先前的連線儲存 | 否;快取的工具從第一輪開始可用 | 無;在其第一次工具呼叫時連線,該延遲連線有其自己的逾時 |152| 具有快取工具清單的遠端伺服器,由 Claude Code 從先前的連線儲存 | 否;快取的工具從第一輪開始可用 | 無;在其第一次工具呼叫時連線,該延遲連線有其自己的逾時 |

151| 同處理序 [SDK 伺服器](#sdk-mcp-servers) | 是,直到連線並列出其工具為止 | [`MCP_TIMEOUT`](/docs/zh-TW/env-vars),預設為 30 秒,每次連線嘗試;連線在該期限失敗 |153| 同處理序 [SDK 伺服器](#sdk-mcp-servers) | 是,直到連線並列出其工具為止 | [`MCP_TIMEOUT`](/docs/zh-TW/env-vars),預設為 30 秒,每次連線嘗試;連線在該期限失敗 |

152 154 

153從 [設定檔](#from-a-config-file)(例如 `.mcp.json`)或從外掛程式載入的伺服器通常在 init 訊息中顯示 `pending`。當 `options.mcpServers` 包含 stdio、HTTP 或 SSE 伺服器時,第一輪也會等待這些待處理的伺服器,最多等待 `MCP_TIMEOUT`。當 `options.mcpServers` 為空或僅包含 SDK 伺服器時,第一輪改為最多等待 2 秒:155只有在 [MCP 探索快取](/docs/zh-TW/mcp#server-status-detail) 開啟時,伺服器才會有快取的工具清單。

156 

157來自 [設定檔](#from-a-config-file)(例如 `.mcp.json`)或來自外掛的伺服器,通常在 init 訊息中仍顯示 `pending`。第一回合等待這些伺服器的時間長短,取決於 `options.mcpServers` 和工具搜尋:

158 

159* **`options.mcpServers` 包含 stdio、HTTP 或 SSE 伺服器**:第一回合也會等待待處理的設定檔伺服器和外掛伺服器,最多等待 `MCP_TIMEOUT`。

160* **否則,當 `ANTHROPIC_BASE_URL` 指向 [閘道](/docs/zh-TW/mcp#tool-search-through-a-gateway) 且未設定 [`ENABLE_TOOL_SEARCH`](/docs/zh-TW/mcp#configure-tool-search) 時**:第一回合會為每個待處理的設定檔伺服器和外掛伺服器等待最多 2 秒。

161* **否則,在 [工具搜尋](/docs/zh-TW/agent-sdk/tool-search) 開啟時(此為預設)**:第一回合最多等待 2 秒,且僅等待設定了 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 或您已[指名](#named-servers)的待處理伺服器。其餘伺服器會在背景中繼續連線,Claude 會在它們連線後[存取其工具](/docs/zh-TW/mcp#tool-availability)。

162* **否則,在工具搜尋關閉時**:第一回合會為每個待處理的設定檔伺服器和外掛伺服器等待最多 2 秒。當您的 [`ENABLE_TOOL_SEARCH` 值或模型](/docs/zh-TW/agent-sdk/tool-search#configure-tool-search) 將工具搜尋關閉,或當您排除 `ToolSearch` 工具(例如透過 `disallowedTools`)時,工具搜尋即為關閉。

163 

164### 已指名伺服器

165 

166您可以在 [`allowedTools`](#allow-mcp-tools) 中,或在 `settings` 選項的 `permissions.allow` 規則中,列出伺服器的任一工具(例如 `mcp__github__list_issues` 或 `mcp__github__*`),藉此指名該伺服器。當您在提示提交、工具使用、權限、subagent、任務、elicitation 或 worktree 事件上設定 [`mcp_tool` hook](/docs/zh-TW/hooks#mcp-tool-hook-fields) 時,它也會指名其所呼叫的伺服器。在 v2.1.284 之前,指名伺服器對第一回合等待沒有影響。

167 

168### 自行設定第一回合等待時間

169 

170若要自行選擇第一回合等待時間,請在 [`env` 選項](/docs/zh-TW/agent-sdk/configuration#set-environment-variables) 中設定 `CLAUDE_CODE_MCP_STARTUP_WAIT_MS`,例如 `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`。無論工具搜尋是否開啟,第一回合隨後都會為待處理的設定檔伺服器和外掛伺服器等待最多該毫秒數。相同的期限也會取代 `options.mcpServers` 中 stdio、HTTP 和 SSE 伺服器的 `MCP_TIMEOUT` 等待。

154 171 

155* **使用 [工具搜尋](/docs/zh-TW/agent-sdk/tool-search)(預設)**:等待涵蓋仍待處理且使用 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 設定的伺服器,不涵蓋其餘伺服器。其餘伺服器在背景中繼續連線。[工具可用性](/docs/zh-TW/mcp#tool-availability) 說明 Claude 在連線後如何存取其工具。172無論您設定的值為何(包括 `0`),下列三種等待都會套用:

156* **不使用工具搜尋**:等待涵蓋每個待處理的伺服器。[設定工具搜尋](/docs/zh-TW/agent-sdk/tool-search#configure-tool-search) 涵蓋關閉工具搜尋的內容。例如,如果您透過 `disallowedTools` 從工作階段中排除 `ToolSearch` 工具,工作階段也會在沒有工具搜尋的情況下執行。

157 173 

158如果您設定 `permissionPromptToolName`,第一輪在所有情況下也會等待該工具的伺服器,最多等待 `MCP_TIMEOUT`。174* **`permissionPromptToolName` 伺服器**:最多等待 `MCP_TIMEOUT`。

175* **同處理序 [SDK 伺服器](#sdk-mcp-servers)**:每次連線嘗試最多等待 `MCP_TIMEOUT`。

176* **仍在連線中的[已指名伺服器](#named-servers)**:至少等待最多 2 秒,因此低於 `2000` 的值不會縮短其等待時間。

159 177 

160若要自行設定第一輪等待,請將 `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` 新增至 [`env` 選項](/docs/zh-TW/agent-sdk/configuration#set-environment-variables),例如 `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`。第一輪隨後會等待最多該毫秒數以等待每個待處理的伺服器,無論工具搜尋是否可用。此期限也會取代 `options.mcpServers` 中 stdio、HTTP 和 SSE 伺服器的 `MCP_TIMEOUT` 第一輪等待。`CLAUDE_CODE_MCP_STARTUP_WAIT_MS` 需要 Claude Code v2.1.274 或更新版本。178將變數設定為 `0` 即可跳過其他所有伺服器的等待。等待結束時仍待處理的伺服器會在背景中繼續連線。`CLAUDE_CODE_MCP_STARTUP_WAIT_MS` 需要 Claude Code v2.1.274 或更新版本。

161 179 

162等待結束時仍待處理的伺服器會在背景中繼續連線。將變數設定為 `0` 以跳過等待。`permissionPromptToolName` 伺服器無論變數值為何,都會保持其自己的 `MCP_TIMEOUT` 等待。180### 讓啟動等待伺服器

163 181 

164若要在發送 init 訊息之前,在與第一輪等待不同的早期階段阻止啟動本身:182有兩項設定會讓啟動本身在 Claude Code 發送 init 訊息之前等待:

165 183 

166* 將 [`MCP_CONNECTION_NONBLOCKING`](/docs/zh-TW/env-vars) 設定為 `0` 以阻止整個連線批次。Claude Code 預設將該等待上限設為 5 秒。使用 [`MCP_CONNECT_TIMEOUT_MS`](/docs/zh-TW/env-vars) 環境變數調整上限,單位為毫秒。在該期限仍待處理的伺服器會在背景中繼續連線。184* **將 [`MCP_CONNECTION_NONBLOCKING`](/docs/zh-TW/env-vars) 設定為 `0`**:啟動會等待整個連線批次,預設上限為 5 秒。設定 [`MCP_CONNECT_TIMEOUT_MS`](/docs/zh-TW/env-vars)(單位為毫秒)即可變更該上限。達到上限時仍待處理的伺服器會在背景中繼續連線。

167* 在伺服器的設定上設定 `alwaysLoad: true` 以使其工具在第一輪時以完整結構描述可用,[豁免於工具搜尋延遲](/docs/zh-TW/mcp#exempt-a-server-from-deferral)。Claude Code 在啟動時等待該伺服器的工具,上限為相同的期限,而其他伺服器在背景中繼續連線;具有快取工具清單的遠端伺服器會在不連線的情況下提供它們,如上表所示。185* **在伺服器的設定上使用 `alwaysLoad: true`**:啟動會為該伺服器的工具等待最多相同的上限,讓第一回合能以完整 schema 取得這些工具,並[豁免於工具搜尋延遲](/docs/zh-TW/mcp#exempt-a-server-from-deferral)。具有快取工具清單的遠端伺服器會在不連線、也不阻擋啟動的情況下提供這些工具。

168 186 

169具有 `init` 子類型的 `system` 訊息在發出時報告每個伺服器的狀態;請參閱 [錯誤處理](#error-handling) 以讀取這些狀態。187init 訊息會報告 Claude Code 發送該訊息當下每個伺服器的狀態。

170 188 

171## 允許 MCP 工具189## 允許 MCP 工具

172 190 

Details

69 69 

70## 允許和拒絕規則70## 允許和拒絕規則

71 71 

72`allowed_tools` 和 `disallowed_tools`(TypeScript:`allowedTools` / `disallowedTools`)在上述評估流程中新增允許和拒絕規則清單的項目。如果您在 `allowed_tools` 中命名其中一個[任務追蹤工具](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會選擇加入該工作階段。任何未列在 `allowed_tools` 中的其他工具仍可供 Claude 使用,對其進行的需要批准的呼叫會進入權限模式。拒絕規則的行為取決於它們是命名工具還是在工具內限定模式。72`allowed_tools` 和 `disallowed_tools`(TypeScript:`allowedTools` / `disallowedTools`)在上述評估流程中新增允許和拒絕規則清單的項目。如果您在 `allowed_tools` 中命名其中一個[任務追蹤工具](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會為該工作階段啟用這些工具。任何未列在 `allowed_tools` 中的其他工具仍可供 Claude 使用,對其進行的需要批准的呼叫會進入權限模式。拒絕規則的行為取決於它們是命名工具還是在工具內限定模式。

73 73 

74| 選項 | 效果 |74| 選項 | 效果 |

75| :- | :- |75| :- | :- |


78| `disallowed_tools=["Bash(rm *)"]` | `Bash` 保持可用。符合 `rm *` [如所寫](/docs/zh-TW/permissions#bash-rule-limits)的呼叫在每個權限模式中都會被拒絕,包括 `bypassPermissions`。其他 `Bash` 呼叫(包括 `/bin/rm`)會進入權限模式。 |78| `disallowed_tools=["Bash(rm *)"]` | `Bash` 保持可用。符合 `rm *` [如所寫](/docs/zh-TW/permissions#bash-rule-limits)的呼叫在每個權限模式中都會被拒絕,包括 `bypassPermissions`。其他 `Bash` 呼叫(包括 `/bin/rm`)會進入權限模式。 |

79| `disallowed_tools=["*"]` | 每個工具定義都會從請求中移除。拒絕規則支援工具名稱萬用字元:`"*"` 符合每個工具,`"mcp__*"` 符合所有伺服器上的每個 MCP 工具。 |79| `disallowed_tools=["*"]` | 每個工具定義都會從請求中移除。拒絕規則支援工具名稱萬用字元:`"*"` 符合每個工具,`"mcp__*"` 符合所有伺服器上的每個 MCP 工具。 |

80 80 

81允許規則僅在字面 `mcp__<server>__` 前綴之後接受工具名稱萬用字元。伺服器段必須無萬用字元,以便規則命名您設定的特定伺服器:`mcp__puppeteer__*` 符合來自 `puppeteer` 伺服器的每個工具,`mcp__github__get_*` 符合其 `get_` 工具。未錨定的項目(如 `allowed_tools=["*"]` 或 `allowed_tools=["mcp__*"]`)會被忽略並顯示啟動警告,不會自動批准任何內容。81允許規則僅在字面 `mcp__<server>__` 前綴之後接受工具名稱萬用字元。伺服器段必須無萬用字元,以便規則命名您設定的特定伺服器:`mcp__puppeteer__*` 符合來自 `puppeteer` 伺服器的每個工具,`mcp__github__get_*` 符合其 `get_` 工具。未錨定的項目(如 `allowed_tools=["*"]` 或 `allowed_tools=["mcp__*"]`)會被忽略,不會自動核准任何內容。

82 82 

83`Read` 和 `Edit` 的限定規則採用路徑模式。`Edit(path)` 規則管理所有寫入檔案的內建工具,包括 `Write` 和 `NotebookEdit`;`Write(path)` 規則永遠不會被檔案權限檢查符合。83`Read` 和 `Edit` 的限定規則採用路徑模式。`Edit(path)` 規則管理所有寫入檔案的內建工具,包括 `Write` 和 `NotebookEdit`;`Write(path)` 規則永遠不會被檔案權限檢查符合。

84 84 

Details

535| `set_model(model)` | 變更目前 session 的模型。傳遞 `None` 以重設為 [Claude Code 的預設模型](/docs/zh-TW/model-config)。若新模型不支援自動模式,處於 `auto` 模式的 session 會[變更為 `default` 模式](/docs/zh-TW/agent-sdk/permissions#auto-mode-auto) |535| `set_model(model)` | 變更目前 session 的模型。傳遞 `None` 以重設為 [Claude Code 的預設模型](/docs/zh-TW/model-config)。若新模型不支援自動模式,處於 `auto` 模式的 session 會[變更為 `default` 模式](/docs/zh-TW/agent-sdk/permissions#auto-mode-auto) |

536| `rewind_files(user_message_id)` | 將檔案還原到指定使用者訊息時的狀態。需要 `enable_file_checkpointing=True`。見 [檔案 checkpointing](/docs/zh-TW/agent-sdk/file-checkpointing) |536| `rewind_files(user_message_id)` | 將檔案還原到指定使用者訊息時的狀態。需要 `enable_file_checkpointing=True`。見 [檔案 checkpointing](/docs/zh-TW/agent-sdk/file-checkpointing) |

537| `get_mcp_status()` | 取得所有已設定 MCP 伺服器的狀態。返回 [`McpStatusResponse`](#mcpstatusresponse) |537| `get_mcp_status()` | 取得所有已設定 MCP 伺服器的狀態。返回 [`McpStatusResponse`](#mcpstatusresponse) |

538| `get_context_usage()` | 取得按類別、skill 和工具分類的內容視窗使用情況的詳細資訊。與 `/context` 在互動式 session 中顯示的資料相同。返回 [`ContextUsageResponse`](#contextusageresponse)。為了計算詳細資訊,Claude Code 會進行多個不出現在訊息流中的 token 計數 API 請求;見 [這些請求如何被處理](#contextusageresponse) |538| `get_context_usage()` | 取得按類別、skill 和工具分類的上下文視窗使用情況的詳細資訊。包含 `/context` 在互動式工作階段中顯示的資料。返回 [`ContextUsageResponse`](#contextusageresponse)。為了計算詳細資訊,Claude Code 會進行多個不出現在訊息串流中的 token 計數 API 請求;見 [這些請求如何被處理](#contextusageresponse) |

539| `reconnect_mcp_server(server_name)` | 重試連接到失敗或斷開連接的 MCP 伺服器 |539| `reconnect_mcp_server(server_name)` | 重試連接到失敗或斷開連接的 MCP 伺服器 |

540| `toggle_mcp_server(server_name, enabled)` | 在 session 中途啟用或停用 MCP 伺服器。停用會移除其 tools |540| `toggle_mcp_server(server_name, enabled)` | 在 session 中途啟用或停用 MCP 伺服器。停用會移除其 tools |

541| `stop_task(task_id)` | 停止執行中的背景任務。[`TaskNotificationMessage`](#tasknotificationmessage) 的狀態為 `"stopped"` 在訊息流中跟隨 |541| `stop_task(task_id)` | 停止執行中的背景任務。[`TaskNotificationMessage`](#tasknotificationmessage) 的狀態為 `"stopped"` 在訊息流中跟隨 |


1524 1524 

1525### `ContextUsageResponse`1525### `ContextUsageResponse`

1526 1526 

1527來自 [`ClaudeSDKClient.get_context_usage()`](#methods) 的回應。這是 Claude Code 為互動式工作階段中的 `/context` 命令呈現的相同 payload,因此除了 token 計數外,它還帶有顯示欄位,例如 `color` 和 `gridRows`,Claude Code 使用這些欄位來繪製 `/context` 使用量網格。1527來自 [`ClaudeSDKClient.get_context_usage()`](#methods) 的回應。此回應包含 Claude Code 在互動式工作階段中為 `/context` 命令呈現的 payload。除了 token 計數外,該 payload 還帶有顯示欄位,例如 `color` 和 `gridRows`,Claude Code 使用這些欄位來繪製 `/context` 使用量網格。

1528 1528 

1529Claude Code 透過向 [token 計數](https://platform.claude.com/docs/en/build-with-claude/token-counting) API 傳送多個請求來建立此 payload。這些請求不會出現在訊息串流中,因此讀取串流的成本追蹤不會看到它們。在 Anthropic API 上,token 計數不計費。1529Claude Code 透過向 [token 計數](https://platform.claude.com/docs/en/build-with-claude/token-counting) API 傳送多個請求來建立此 payload。這些請求不會出現在訊息串流中,因此讀取串流的成本追蹤不會看到它們。在 Anthropic API 上,token 計數不計費。

1530 1530 


1715 1715 

1716多個欄位會帶有診斷詳細資訊,說明對話如何結束:1716多個欄位會帶有診斷詳細資訊,說明對話如何結束:

1717 1717 

1718* `is_error`:當對話以錯誤狀態結束時為 `True`。在 `error_*` subtypes 上始終為 `True`。在 `subtype="success"` 上,當最終模型請求失敗時為 `True`,表示代理迴圈已完成但最後一個 API 呼叫返回了錯誤。1718* `is_error`:當對話以錯誤狀態結束時為 `True`。在 `error_*` subtypes 上始終為 `True`。在 `subtype="success"` 上,有三種情況會為 `True`。請檢查 `stop_reason` 加以區分:

1719 * `"refusal"`:模型拒絕回應。請在 `result` 中讀取拒絕文字,若 `result` 為空,則在前面的 `AssistantMessage` 中讀取。

1720 * `"tool_deferred_unavailable"`:當您恢復工作階段時,[延遲的工具](/docs/zh-TW/hooks#defer-a-tool-call-for-later)已不再可用,例如因為其 MCP 伺服器未連線。在以下兩種情況中,恢復後傳送的提示詞與隨恢復一起傳遞的提示詞視為相同:

1721 * 沒有提示詞:該呼叫仍待處理。讓工具可用後,再次在不附提示詞的情況下恢復,該呼叫會先執行。

1722 * 有提示詞:Claude Code 會在沒有工具結果的情況下回答該提示詞,且延遲的呼叫會消失。如果您仍需要呼叫該工具,請傳送新的提示詞。

1723 * 任何其他值:該回合以 Claude Code 取代模型回應而回報的錯誤結束,例如 API 錯誤。請讀取 `terminal_reason` 以了解原因、讀取 `result` 以取得訊息,並在 API 傳回 HTTP 狀態時讀取 `api_error_status` 以取得該狀態。

1719* `api_error_status`:終止 API 錯誤的 HTTP 狀態碼。當轉在沒有錯誤的情況下結束時為 `None`。僅在 `subtype="success"` 上填入。1724* `api_error_status`:終止 API 錯誤的 HTTP 狀態碼。當轉在沒有錯誤的情況下結束時為 `None`。僅在 `subtype="success"` 上填入。

1720* `result`:在 `subtype="success"` 上為最終助手消息的文字,或在 `error_*` subtypes 上為 `None`。當 `subtype="success"` 且 `is_error=True` 時,如果可用,此欄位會保存 API 錯誤字串,但可能為空,因此請檢查 `api_error_status` 和前面的 `AssistantMessage` 內容以獲取詳細資訊。1725* `result`:在 `subtype="success"` 上為最終助手消息的文字,或在 `error_*` subtypes 上為 `None`。當 `subtype="success"` 且 `is_error=True` 時,如果可用,此欄位會保存 API 錯誤字串,但可能為空,因此請檢查 `api_error_status` 和前面的 `AssistantMessage` 內容以獲取詳細資訊。

1721* `errors`:迴圈級別的錯誤字串,例如最大轉數消息。僅在 `error_*` subtypes 上填入。1726* `errors`:迴圈級別的錯誤字串,例如最大轉數消息。僅在 `error_*` subtypes 上填入。


2062 errors: list[str] # an empty list when the result message reported none2067 errors: list[str] # an empty list when the result message reported none

2063 result: str | None2068 result: str | None

2064 api_error_status: int | None2069 api_error_status: int | None

2065 terminal_reason: str | None # "max_turns", "api_error", ...; check this before subtype2070 terminal_reason: str | None # "max_turns", "api_error", ...; check after data["stop_reason"], before subtype

2066 session_id: str | None2071 session_id: str | None

2067 data: dict[str, Any] # the raw result message payload2072 data: dict[str, Any] # the raw result message payload

2068```2073```

2069 2074 

2070若要區分失敗,請在檢查 `subtype` 之前先檢查 `terminal_reason`。當最終請求失敗時(例如 API 錯誤),Claude Code 會報告 `subtype` 為 `"success"`,原因在 `terminal_reason` 中,例如 `"api_error"`;當您設定的限制結束執行時(例如 `max_turns` 或 `max_budget_usd`),它會報告 `error_*` 子類型。2075若要區分失敗,請先檢查 `data["stop_reason"]`,接著檢查 `terminal_reason`,最後檢查 `subtype`。被拒絕的回應其 `stop_reason` 為 `"refusal"`,`subtype` 通常為 `"success"`;其 `terminal_reason` 無法將其區分出來,可能顯示為 `"completed"` 或 `"api_error"`。最終請求失敗時,`subtype` 為 `"success"`,原因則在 `terminal_reason` 中,例如 API 錯誤為 `"api_error"`。當執行達到您設定的限制(例如 `max_turns` 或 `max_budget_usd`)時,您會得到 `error_*` 子類型。

2071 2076 

2072### `CLIJSONDecodeError`2077### `CLIJSONDecodeError`

2073 2078 


2574 "subagent_type": str | None, # 要使用的專門 agent 類型2579 "subagent_type": str | None, # 要使用的專門 agent 類型

2575 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # 此 agent 的模型覆寫2580 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # 此 agent 的模型覆寫

2576 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # 此 agent 的推理投入程度2581 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # 此 agent 的推理投入程度

2577 "run_in_background": bool | None, # agent 預設在背景執行;設定為 False 以同步執行2582 "run_in_background": bool | None, # 省略時的預設:您的主 agent 的呼叫會在背景執行新 agent,而 subagent 的呼叫會等待它

2578 "name": str | None, # 生成的 agent 的名稱2583 "name": str | None, # 生成的 agent 的名稱

2579 "team_name": str | None, # 已棄用;被忽略2584 "team_name": str | None, # 已棄用;被忽略

2580 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # 已棄用;被忽略。subagent 繼承規則決定 subagent 的權限模式2585 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # 已棄用;被忽略。subagent 繼承規則決定 subagent 的權限模式


2584 2589 

2585啟動新 agent 以自主處理複雜的多步驟任務。2590啟動新 agent 以自主處理複雜的多步驟任務。

2586 2591 

2592當 Claude 在 `Agent` 呼叫中省略 `run_in_background` 時,預設情況下您的主 agent 不會等待新 agent,而 subagent 會等待:

2593 

2594* **從您的主 agent**:新 agent 在背景執行,結果具有 `status: "async_launched"`。若要讓您的主 agent 改為等待新 agent,請參閱 [選擇 Claude 是否等待 subagent](/docs/zh-TW/agent-sdk/subagents#choose-whether-claude-waits-for-subagents)。

2595* **從您的其中一個 subagent**:呼叫的 subagent [會等待新 agent](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)。當新 agent 的定義將 [`background`](#agentdefinition) 設定為 `True`,或當您將 `CLAUDE_CODE_FORK_SUBAGENT` 設定為 `0` 以[關閉分叉模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off)時,新 agent 改為在背景執行。

2596 

2597在 Python SDK v0.2.169 之前,由您的 subagent 啟動的 agent 預設也會在背景執行。該版本是第一個內含 Claude Code v2.1.302 或更新版本的版本。

2598 

2587**輸出(狀態:`"completed"`):**2599**輸出(狀態:`"completed"`):**

2588 2600 

2589```python theme={null}2601```python theme={null}


3519 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"3531 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"

3520 )3532 )

3521 # Catch ResultError before ProcessError, which it subclasses. Its message3533 # Catch ResultError before ProcessError, which it subclasses. Its message

3522 # carries the error text. A failed final request, such as an API error,3534 # carries the error text. A refusal and a failed final request both usually

3523 # arrives with subtype "success", so branch on terminal_reason first.3535 # arrive with subtype "success", so check stop_reason, then terminal_reason.

3524 except ResultError as e:3536 except ResultError as e:

3525 if e.terminal_reason == "api_error":3537 if e.data.get("stop_reason") == "refusal":

3538 print(f"Model declined to respond: {e}")

3539 elif e.terminal_reason == "api_error":

3526 print(f"API request failed: {e}")3540 print(f"API request failed: {e}")

3527 else:3541 else:

3528 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")3542 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")

Details

318 318 

319## 已知限制319## 已知限制

320 320 

321* **結構化輸出**:啟用部分訊息時,JSON 會以工具呼叫的未驗證 `input_json_delta` 區塊形式串流,只有驗證後的結果才會到達最終的 `ResultMessage.structured_output`。詳細資訊請參閱[結構化輸出](/docs/zh-TW/agent-sdk/structured-outputs)。321* **結構化輸出**:啟用部分訊息時,JSON 會以工具呼叫的未驗證 `input_json_delta` 區塊形式串流,只有驗證後的結果才會到達最終的 `ResultMessage.structured_output`。[辨識 StructuredOutput 工具呼叫](/docs/zh-TW/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call)說明了該呼叫在您的串流中如何呈現。

322 322 

323## 後續步驟323## 後續步驟

324 324 

Details

368asyncio.run(main())368asyncio.run(main())

369```369```

370 370 

371## 辨識 StructuredOutput 工具呼叫

372 

373當您在 TypeScript 中設定 `outputFormat`,或在 Python 中設定 `output_format` 時,訊息串流中會出現一個名為 `StructuredOutput` 的工具呼叫,而這個工具並非由您定義。Claude Code 會將此工具加入工作階段,agent 則透過呼叫它來傳回答案。[系統初始化訊息](/docs/zh-TW/agent-sdk/typescript#sdksystemmessage)會在 `tools` 陣列中列出此工具,而每次呼叫都會以兩個區塊的形式送達:

374 

375* 一個名為 `StructuredOutput` 的 `tool_use` 區塊,其輸入是 agent 依據您的 schema 所產生的物件

376* 一個內容為 `Structured output provided successfully` 的 `tool_result` 區塊

377 

378當該物件不符合您的 schema 時,`tool_result` 會改為帶有 `is_error: true`,且 agent 會再次呼叫 `StructuredOutput`,因此一次查詢的串流中可能包含多次呼叫。請從結果訊息的 `structured_output` 讀取已驗證的資料,而非從 `tool_use` 區塊讀取;若所有嘗試皆未成功,請參閱[錯誤處理](#error-handling)以了解您會收到的結果。

379 

380如果您的應用程式會顯示工具呼叫或將其寫入日誌,請略過名為 `StructuredOutput` 的呼叫,以免此機制看起來像是 agent 自行選擇的步驟。`tool_result` 區塊不包含工具名稱,只帶有其所回應之呼叫的 `tool_use_id`,因此請將其與您略過的每個呼叫的 `id` 進行比對。

381 

371## 錯誤處理382## 錯誤處理

372 383 

373當 agent 無法生成與您的 schema 相符的有效 JSON 時,結構化輸出生成可能會失敗。這通常發生在 schema 對於任務過於複雜、任務本身不明確,或 agent 在嘗試修復驗證錯誤時達到重試限制時。它也可能在沒有任何驗證失敗的情況下發生:[模型備援](/docs/zh-TW/model-config#automatic-model-fallback)可以在串流中途收回已完成的輸出,如果沒有重試替換它,執行將以相同的錯誤結束。在對您的 schema 進行除錯之前,請檢查錯誤結果訊息上的 `errors` 清單以區分這兩個原因。384當 agent 無法生成與您的 schema 相符的有效 JSON 時,結構化輸出生成可能會失敗。這通常發生在 schema 對於任務過於複雜、任務本身不明確,或 agent 在嘗試修復驗證錯誤時達到重試限制時。它也可能在沒有任何驗證失敗的情況下發生:[模型備援](/docs/zh-TW/model-config#automatic-model-fallback)可以在串流中途收回已完成的輸出,如果沒有重試替換它,執行將以相同的錯誤結束。在對您的 schema 進行除錯之前,請檢查錯誤結果訊息上的 `errors` 清單以區分這兩個原因。

Details

147| `tools` | `string[]` | 否 | 允許的工具名稱陣列。如果省略,會繼承[子代理可用的每個工具](/docs/zh-TW/sub-agents#available-tools) |147| `tools` | `string[]` | 否 | 允許的工具名稱陣列。如果省略,會繼承[子代理可用的每個工具](/docs/zh-TW/sub-agents#available-tools) |

148| `disallowedTools` | `string[]` | 否 | 要從代理工具集中移除的工具名稱陣列。也接受 MCP 伺服器層級的模式:`mcp__server` 或 `mcp__server__*` 會移除該伺服器的每個工具,而 `mcp__*` 會移除任何伺服器的每個 MCP 工具 |148| `disallowedTools` | `string[]` | 否 | 要從代理工具集中移除的工具名稱陣列。也接受 MCP 伺服器層級的模式:`mcp__server` 或 `mcp__server__*` 會移除該伺服器的每個工具,而 `mcp__*` 會移除任何伺服器的每個 MCP 工具 |

149| `model` | `string` | 否 | 此代理的模型覆寫。接受別名,例如 `'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'`,或完整的模型 ID。`'inherit'` 使用主要模型。當您省略它時,Claude Code 會選擇[子代理模型順序](/docs/zh-TW/sub-agents#choose-a-model)中的模型 |149| `model` | `string` | 否 | 此代理的模型覆寫。接受別名,例如 `'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'`,或完整的模型 ID。`'inherit'` 使用主要模型。當您省略它時,Claude Code 會選擇[子代理模型順序](/docs/zh-TW/sub-agents#choose-a-model)中的模型 |

150| `skills` | `string[]` | 否 | 在啟動時預先載入代理上下文的技能名稱清單。未列出的技能仍可透過 Skill 工具叫用 |150| `skills` | `string[]` | 否 | 在啟動時預先載入 agent 上下文的 skill 名稱清單。清單中最多只會預先載入[前 32 個不重複的名稱](/docs/zh-TW/sub-agents#preload-skills-into-subagents)。未列出的 skill 仍可透過 Skill 工具叫用 |

151| `memory` | `'user' \| 'project' \| 'local'` | 否 | 此代理的記憶來源 |151| `memory` | `'user' \| 'project' \| 'local'` | 否 | 此代理的記憶來源 |

152| `mcpServers` | `(string \| object)[]` | 否 | 此代理可用的 MCP 伺服器,按名稱或內嵌設定 |152| `mcpServers` | `(string \| object)[]` | 否 | 此代理可用的 MCP 伺服器,按名稱或內嵌設定 |

153| `initialPrompt` | `string` | 否 | 當此代理作為主執行緒代理執行時,自動提交為第一個使用者回合。當代理作為子代理叫用時忽略 |153| `initialPrompt` | `string` | 否 | 當此代理作為主執行緒代理執行時,自動提交為第一個使用者回合。當代理作為子代理叫用時忽略 |


323 323 

324Claude 透過 Agent 工具叫用 subagent。若要偵測何時叫用 subagent,請檢查 `tool_use` 區塊,其中 `name` 為 `"Agent"`。324Claude 透過 Agent 工具叫用 subagent。若要偵測何時叫用 subagent,請檢查 `tool_use` 區塊,其中 `name` 為 `"Agent"`。

325 325 

326來自 subagent 內容中的訊息包含 `parent_tool_use_id` 欄位。在 TypeScript 中,subagent 產生的每則助理訊息和使用者訊息也帶有 [`agent_id`](/docs/zh-TW/agent-sdk/typescript#sdkassistantmessage):即該 subagent 之[任務事件](/docs/zh-TW/agent-sdk/typescript#sdktaskstartedmessage)的 `task_id`。`agent_id` 需要 TypeScript Agent SDK v0.3.292 或更新版本。326來自 subagent 內容中的訊息包含 `parent_tool_use_id` 欄位。在 TypeScript 中,subagent 產生的每則助理訊息和使用者訊息也帶有 [`agent_id`](/docs/zh-TW/agent-sdk/typescript#sdkassistantmessage):即該 subagent 之[任務事件](/docs/zh-TW/agent-sdk/typescript#sdktaskstartedmessage)的 `task_id`。當您[恢復 subagent](#resume-subagents) 時,`agent_id` 會保持不變。`agent_id` 需要 TypeScript Agent SDK v0.3.292 或更新版本。

327 327 

328> [!NOTE]328> [!NOTE]

329>329>

Details

660| `supportedModels()` | 回傳可用的模型及其顯示資訊 |660| `supportedModels()` | 回傳可用的模型及其顯示資訊 |

661| `supportedAgents()` | 以 [`AgentInfo`](#agentinfo)`[]` 回傳可用的 subagent |661| `supportedAgents()` | 以 [`AgentInfo`](#agentinfo)`[]` 回傳可用的 subagent |

662| `mcpServerStatus()` | 以 [`McpServerStatus`](#mcpserverstatus)`[]` 回傳已連線 MCP 伺服器的狀態 |662| `mcpServerStatus()` | 以 [`McpServerStatus`](#mcpserverstatus)`[]` 回傳已連線 MCP 伺服器的狀態 |

663| `getContextUsage(opts?)` | 回傳 [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse),依類別、skill 和工具細分工作階段的上下文視窗使用量。使用預設的 `detail` 時,這與互動式工作階段中 `/context` 顯示的資料相同,是以不會出現在訊息串流中的 token 計數 API 請求計算而得;請參閱[這些請求的處理方式](#sdkcontrolgetcontextusageresponse)。[`detail` 選項](#sdkcontrolgetcontextusageresponse)需要 Agent SDK v0.3.257 或更新版本 |663| `getContextUsage(opts?)` | 回傳 [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse),依類別、skill 與工具細分工作階段的上下文視窗用量。使用預設的 `detail` 時,它包含 `/context` 在互動式工作階段中顯示的資料,並透過不會出現在訊息串流中的 token 計數 API 請求計算;請參閱[這些請求的處理方式](#sdkcontrolgetcontextusageresponse)。[`detail` 選項](#sdkcontrolgetcontextusageresponse)需要 Agent SDK v0.3.257 或更新版本 |

664| `readFile(path, options?)` | 從工作階段的檔案系統讀取檔案。Claude Code 會相對於 `cwd` 解析路徑;[`readFile()` 可以讀取的內容](#what-readfile-can-read)列出了它會提供的檔案。傳遞 `{ maxBytes }` 以變更讀取上限(預設 1 MB,最高 10 MB),二進位檔案(例如圖片)則傳遞 `{ encoding: 'base64' }`。會以 [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) 解析,或在權限遭拒、檔案不存在或傳輸錯誤時解析為 `null`。需要 TypeScript SDK v0.2.121 或更新版本 |664| `readFile(path, options?)` | 從工作階段的檔案系統讀取檔案。Claude Code 會相對於 `cwd` 解析路徑;[`readFile()` 可以讀取的內容](#what-readfile-can-read)列出了它會提供的檔案。傳遞 `{ maxBytes }` 以變更讀取上限(預設 1 MB,最高 10 MB),二進位檔案(例如圖片)則傳遞 `{ encoding: 'base64' }`。會以 [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) 解析,或在權限遭拒、檔案不存在或傳輸錯誤時解析為 `null`。需要 TypeScript SDK v0.2.121 或更新版本 |

665| `reloadPlugins(options?)` | 從磁碟重新載入外掛,讓您在工作階段中途安裝或編輯的外掛能送達正在執行的工作階段。會以 [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) 解析,其中列出工作階段的命令、subagent、外掛和 MCP 伺服器狀態。需要 Agent SDK v0.2.85 或更新版本。[`holdOnCacheImpact` 選項](#sdkcontrolreloadpluginsresponse)需要 Agent SDK v0.3.268 或更新版本 |665| `reloadPlugins(options?)` | 從磁碟重新載入外掛,讓您在工作階段中途安裝或編輯的外掛能送達正在執行的工作階段。會以 [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) 解析,其中列出工作階段的命令、subagent、外掛和 MCP 伺服器狀態。需要 Agent SDK v0.2.85 或更新版本。[`holdOnCacheImpact` 選項](#sdkcontrolreloadpluginsresponse)需要 Agent SDK v0.3.268 或更新版本 |

666| `reloadSkills()` | 從磁碟重新載入 skill,讓您在工作階段中途新增或編輯的 skill 可供正在執行的工作階段使用。會以 [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) 解析,其中列出重新載入後可用的 skill。需要 Agent SDK v0.3.163 或更新版本 |666| `reloadSkills()` | 從磁碟重新載入 skill,讓您在工作階段中途新增或編輯的 skill 可供正在執行的工作階段使用。會以 [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) 解析,其中列出重新載入後可用的 skill。需要 Agent SDK v0.3.163 或更新版本 |


863 863 

864### `SDKControlGetContextUsageResponse`864### `SDKControlGetContextUsageResponse`

865 865 

866[`getContextUsage()`](#query-object) 的回傳型別。使用預設的 `detail` 時,這與 Claude Code 在互動式工作階段中為 `/context` 命令呈現的 payload 相同,因此除了 token 計數之外,它還帶有 `color` 和 `gridRows` 等顯示欄位,Claude Code 用它們來繪製 `/context` 使用量網格。866[`getContextUsage()`](#query-object) 的回傳類型。使用預設的 `detail` 時,回應包含 Claude Code 在互動式工作階段中為 `/context` 命令所呈現的 payload。除了 token 計數之外,該 payload 還攜帶 `color` 與 `gridRows` 等顯示欄位,Claude Code 用它們來繪製 `/context` 用量方格。

867 867 

868此方法的選用 `detail` 引數決定 Claude Code 如何計算每個類別。`detail` 引數需要 Agent SDK v0.3.257 或更新版本。868此方法的選用 `detail` 引數決定 Claude Code 如何計算每個類別。`detail` 引數需要 Agent SDK v0.3.257 或更新版本。

869 869 


872 872 

873當您將 `/context` 作為提示詞傳送而不是呼叫此方法時,Claude Code 會將 [`SDKContextUsage`](#sdkcontextusage) payload 附加到傳遞結果之 assistant 訊息的 `context_usage` 欄位。該欄位需要 Agent SDK v0.3.232 或更新版本。873當您將 `/context` 作為提示詞傳送而不是呼叫此方法時,Claude Code 會將 [`SDKContextUsage`](#sdkcontextusage) payload 附加到傳遞結果之 assistant 訊息的 `context_usage` 欄位。該欄位需要 Agent SDK v0.3.232 或更新版本。

874 874 

875在 `SDKControlGetContextUsageResponse` 中,`categories[].id`、`mcpInstructions`,以及 `agents` 與 `skills.skillFrontmatter` 項目的 `pluginId` 和 `path` 欄位需要 Agent SDK v0.3.304 或更新版本。

876 

875```typescript theme={null}877```typescript theme={null}

876type SDKControlGetContextUsageResponse = {878type SDKControlGetContextUsageResponse = {

877 categories: {879 categories: {

880 id?:

881 | "system_prompt"

882 | "system_tools"

883 | "mcp_tools"

884 | "mcp_instructions"

885 | "mcp_tools_deferred"

886 | "system_tools_deferred"

887 | "custom_agents"

888 | "memory_files"

889 | "skills"

890 | "messages"

891 | "autocompact_buffer"

892 | "compact_buffer"

893 | "free_space";

878 name: string;894 name: string;

879 tokens: number;895 tokens: number;

880 color: string;896 color: string;


905 tokens: number;921 tokens: number;

906 isLoaded?: boolean;922 isLoaded?: boolean;

907 }[];923 }[];

924 mcpInstructions?: {

925 serverName: string;

926 tokens: number;

927 }[];

908 deferredBuiltinTools?: {928 deferredBuiltinTools?: {

909 name: string;929 name: string;

910 tokens: number;930 tokens: number;


921 agents: {941 agents: {

922 agentType: string;942 agentType: string;

923 source: string;943 source: string;

944 pluginId?: string;

945 path?: string;

924 tokens: number;946 tokens: number;

925 }[];947 }[];

926 slashCommands?: {948 slashCommands?: {


935 skillFrontmatter: {957 skillFrontmatter: {

936 name: string;958 name: string;

937 source: string;959 source: string;

960 pluginName?: string;

961 pluginId?: string;

962 path?: string;

938 tokens: number;963 tokens: number;

939 }[];964 }[];

940 };965 };


978 1003 

979Claude Code 不會設定選用的 `deferredBuiltinTools`、`systemTools` 和 `systemPromptSections` 診斷欄位,因此即使型別宣告了它們,也請預期它們不存在。1004Claude Code 不會設定選用的 `deferredBuiltinTools`、`systemTools` 和 `systemPromptSections` 診斷欄位,因此即使型別宣告了它們,也請預期它們不存在。

980 1005 

1006#### 依 ID 尋找列、伺服器的指令 token,或項目的外掛與檔案

1007 

1008MCP 伺服器指令是已連線伺服器提供、由 Claude Code 加入上下文的使用說明,而 `categories` 的 `mcp_instructions` 列會計算它們的 token。使用這些 [`getContextUsage()`](#query-object) 欄位,依 `id` 挑出一個 `categories` 列、依伺服器拆分 `mcp_instructions` 的 token,或找出 agent 或 skill 項目背後的外掛和檔案:

1009 

1010| 欄位 | 所在位置 | 內容 |

1011| :- | :- | :- |

1012| `id` | 每個 `categories` 列 | 該列的識別碼,為[回應類型](#sdkcontrolgetcontextusageresponse)所列值之一,例如 `mcp_instructions`。依 `id` 比對以挑出一列,或依 `kind` 將列分組。較新的 Claude Code 版本可能會傳送您已安裝之類型未列出的值,因此請將無法辨識的 `id` 視為不存在 |

1013| `mcpInstructions` | 回應 | 每個提供指令的已連線 MCP 伺服器各有一個 `{ serverName, tokens }` 項目,若沒有任何伺服器提供則為空陣列。`tokens` 值為估算值,加總等於 `mcp_instructions` 列的 `tokens`。`serverName` 是 [`mcpServerStatus()`](#query-object) 為該伺服器回報的 `name` |

1014| `pluginId` | `agents` 和 `skills.skillFrontmatter` 項目 | 以 `name@marketplace` 形式的 ID 指出項目來自的外掛,對於並非來自外掛的項目則不存在。當外掛並非來自市集時,`@` 之後的部分會改為指出[其來源](/docs/zh-TW/plugins/loading#find-where-a-plugin-came-from),例如透過 [`plugins`](#options) 選項載入的外掛為 `inline` |

1015| `path` | `agents` 和 `skills.skillFrontmatter` 項目 | 定義該 agent 或 skill 之檔案的絕對路徑,位於 Claude Code 執行所在的機器上。當沒有檔案定義該項目時(例如來自 [`agents`](#options) 選項的 agent 或 Claude Code 內建的 skill),此欄位不存在 |

1016 

1017作為依 `id` 比對的範例,此範例會找出 `mcp_instructions` 列:

1018 

1019```typescript theme={null}

1020// q is the Query object that query() returned

1021const usage = await q.getContextUsage();

1022// undefined if no connected server supplies instructions

1023const row = usage.categories.find((c) => c.id === "mcp_instructions");

1024```

1025 

981### `SDKControlReadFileResponse`1026### `SDKControlReadFileResponse`

982 1027 

983[`readFile()`](#query-object) 的回傳型別。1028[`readFile()`](#query-object) 的回傳型別。


2990 3035 

2991內建 Claude Code 工具的輸入 schema 文件。這些類型從 `@anthropic-ai/claude-agent-sdk/sdk-tools` 匯出,可用於類型安全的工具互動。3036內建 Claude Code 工具的輸入 schema 文件。這些類型從 `@anthropic-ai/claude-agent-sdk/sdk-tools` 匯出,可用於類型安全的工具互動。

2992 3037 

3038`StructuredOutput` 工具在此沒有類型:Claude Code 會根據您傳遞給 `outputFormat` 的 schema 建置其輸入 schema,因此沒有固定的內容可匯出。如需了解該呼叫在訊息串流中的樣貌,詳見[辨識 StructuredOutput 工具呼叫](/docs/zh-TW/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call)。

3039 

2993### `ToolInputSchemas`3040### `ToolInputSchemas`

2994 3041 

2995從 `@anthropic-ai/claude-agent-sdk/sdk-tools` 匯出的工具輸入類型的聯合;成員包括:3042從 `@anthropic-ai/claude-agent-sdk/sdk-tools` 匯出的工具輸入類型的聯合;成員包括:


5205* **呼叫未命名的伺服器**:在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)之外,Claude Code 會中斷先前 `setMcpServers()` 呼叫所新增的伺服器以及進程內 SDK 伺服器的連線,並在 `removed` 中列出它們。其他伺服器會持續執行,且不會列在 `removed` 中,其中包括來自 [`mcpServers`](#options) 選項的 stdio、HTTP 和 SSE 伺服器、來自設定檔的伺服器,以及外掛提供的伺服器。5252* **呼叫未命名的伺服器**:在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)之外,Claude Code 會中斷先前 `setMcpServers()` 呼叫所新增的伺服器以及進程內 SDK 伺服器的連線,並在 `removed` 中列出它們。其他伺服器會持續執行,且不會列在 `removed` 中,其中包括來自 [`mcpServers`](#options) 選項的 stdio、HTTP 和 SSE 伺服器、來自設定檔的伺服器,以及外掛提供的伺服器。

5206* **呼叫命名的伺服器**:對於先前 `setMcpServers()` 呼叫所新增的 stdio、HTTP 或 SSE 伺服器,Claude Code 只在其設定與您傳遞的設定不同時才替換它。已以該名稱註冊的進程內 SDK 伺服器會保持不變,因此若要替換它,請在一次呼叫中將其省略,並在下一次呼叫中新增它。5253* **呼叫命名的伺服器**:對於先前 `setMcpServers()` 呼叫所新增的 stdio、HTTP 或 SSE 伺服器,Claude Code 只在其設定與您傳遞的設定不同時才替換它。已以該名稱註冊的進程內 SDK 伺服器會保持不變,因此若要替換它,請在一次呼叫中將其省略,並在下一次呼叫中新增它。

5207* **CLI 在啟動時啟動的內建伺服器**:如果呼叫命名一個,Claude Code 會捨棄該項目並在 `errors` 中報告它。5254* **CLI 在啟動時啟動的內建伺服器**:如果呼叫命名一個,Claude Code 會捨棄該項目並在 `errors` 中報告它。

5255* **與 MCP 安裝範圍(例如 `.mcp.json`)中的伺服器同名的 stdio、HTTP 或 SSE 伺服器**:在該名稱下,工作階段會使用您的伺服器的工具,而非[安裝範圍伺服器](/docs/zh-TW/mcp#mcp-installation-scopes)的工具。在 Claude Code v2.1.305 之前,當您的應用程式[重新載入外掛](#query-object)時,Claude Code 可能會中斷您的伺服器連線,改為連線至安裝範圍伺服器。

5208 5256 

5209承諾在新增的 stdio、HTTP 和 SSE 伺服器連線或失敗後解決,因此來自已連線伺服器的工具在下一回合可用。5257承諾在新增的 stdio、HTTP 和 SSE 伺服器連線或失敗後解決,因此來自已連線伺服器的工具在下一回合可用。

5210 5258 

agent-teams.md +5 −3

Details

34| | Subagents | Agent teams |34| | Subagents | Agent teams |

35| :- | :- | :- |35| :- | :- | :- |

36| **Context** | 自己的 context window;結果返回給呼叫者 | 自己的 context window;完全獨立 |36| **Context** | 自己的 context window;結果返回給呼叫者 | 自己的 context window;完全獨立 |

37| **溝通** | 將結果返回給呼叫者。Claude 在生成時命名的 Subagents 也可以[彼此訊息傳遞](/docs/zh-TW/sub-agents#what-loads-at-startup) | 隊友直接相互訊息傳遞 |37| **溝通** | 將結果返回給呼叫者。Claude 在生成時[命名](/docs/zh-TW/sub-agents#subagent-names)的 Subagents 也可以[彼此訊息傳遞](/docs/zh-TW/sub-agents#what-loads-at-startup) | 隊友直接相互訊息傳遞 |

38| **協調** | 主代理管理所有工作 | 透過訊息進行自我協調,加上具有 [Task tools 的代理](/docs/zh-TW/tools-reference#task-tool-availability)的共享任務列表 |38| **協調** | 主代理管理所有工作 | 透過訊息進行自我協調,加上具有 [Task tools 的代理](/docs/zh-TW/tools-reference#task-tool-availability)的共享任務列表 |

39| **最適合** | 只有結果重要的專注任務 | 需要討論和協作的複雜工作 |39| **最適合** | 只有結果重要的專注任務 | 需要討論和協作的複雜工作 |

40| **Token 成本** | 較低:結果摘要返回到主 context | 較高:每個隊友是一個獨立的 Claude 實例 |40| **Token 成本** | 較低:結果摘要返回到主 context | 較高:每個隊友是一個獨立的 Claude 實例 |


166Spawn an architect teammate to refactor the authentication module.166Spawn an architect teammate to refactor the authentication module.

167```167```

168 168 

169當隊友完成計畫時,它向主管發送計畫批准請求。Claude Code 在主管的工作階段中批准計畫,一旦請求到達,無需主管審查。隊友的編輯和命令仍然會通過[權限](#permissions)中描述的權限提示。一旦批准,隊友退出計畫模式並開始實施。169當該隊友完成計畫時,它向主管發送計畫核准請求。如果您自該隊友生成以來未變更其權限模式,Claude Code 會在請求到達時立即核准計畫,無需主管審查。隊友的編輯和命令仍然會通過[權限](#permissions)中描述的權限提示。一旦核准,隊友退出 plan mode 並開始實施。

170 

171如果您在查看正在運行的 in-process 隊友的工作階段時,按下 [`Shift+Tab`](/docs/zh-TW/permission-modes#switch-permission-modes) 將其置於 plan mode,則該次運行的計畫會由主管審查,而非由 Claude Code 核准。系統不會要求您核准;主管會核准它,或將其退回修訂。

170 172 

171### 直接與隊友交談173### 直接與隊友交談

172 174 


286 288 

287隊友開始時具有主管的權限模式,除了 [`dontAsk` 模式](/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode),他們不會繼承。如果主管使用 `--dangerously-skip-permissions` 運行,所有隊友也會這樣做。生成後,您可以更改個別隊友的權限模式,但在生成時無法設定每個隊友的權限模式。289隊友開始時具有主管的權限模式,除了 [`dontAsk` 模式](/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode),他們不會繼承。如果主管使用 `--dangerously-skip-permissions` 運行,所有隊友也會這樣做。生成後,您可以更改個別隊友的權限模式,但在生成時無法設定每個隊友的權限模式。

288 290 

289隊友權限提示會出現在主管工作階段中,因此請在那裡自己批准它們。[Plan approval](#have-teammates-plan-before-implementing) 是設計的例外:主管工作階段會授予隊友 plan approvals,無需向您發出單獨的提示。291隊友權限提示會出現在主管工作階段中,因此請在那裡自己核准它們。您不需要核准[隊友的計畫](#have-teammates-plan-before-implementing)。

290 292 

291#### 代理之間的訊息293#### 代理之間的訊息

292 294 

agent-view.md +93 −35

Details

276 276 

277約十秒後,Claude Code 會不再等待,直接將工作階段移至背景,但以下這類情況除外:277約十秒後,Claude Code 會不再等待,直接將工作階段移至背景,但以下這類情況除外:

278 278 

279* **前景 subagent 仍在執行**:Claude Code 會持續等待,讓 Claude 啟動的 [前景 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) 的工作得以轉移,並顯示 `Still backgrounding after the current tool`。再按一次 `←` 即可不等待直接移至背景,這會讓這些 subagent 從頭重新開始。279* **前景 subagent 仍在執行中**:Claude Code 會繼續等待,讓 Claude 啟動的[前景 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) 的工作得以延續,並顯示 `Still backgrounding after the current tool`。再按一次 `←` 即可不等待直接轉至背景,這會讓這些 subagent 從頭重新開始。

280* **權限提示或問題正在等待您的回答**:當權限提示或 Claude 提出的問題正在等待時,Claude Code 會持續等待並顯示 `Still backgrounding after the current tool — a question is waiting for your answer.` 如果您的回答讓回合得以繼續,例如在權限提示上選擇 **Yes**,Claude Code 會在目前工具完成時將工作階段移至背景。280* **權限提示或問題正在等待您的回答**:當權限提示或 Claude 提出的問題正在等待時,Claude Code 會持續等待並顯示 `Still backgrounding after the current tool — a question is waiting for your answer.` 如果您的回答讓回合得以繼續,例如在權限提示上選擇 **Yes**,Claude Code 會在目前工具完成時將工作階段移至背景。

281* **您在提示詞輸入中輸入文字**:Claude Code 會取消切換,因為未發送的文字會留在您終端機的輸入框中,不會移至背景工作階段。它會顯示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`281* **您在提示詞輸入中輸入文字**:Claude Code 會取消切換,因為未發送的文字會留在您終端機的輸入框中,不會移至背景工作階段。它會顯示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` Claude 會繼續在前景工作。

282* **您停止了回合**:Claude Code 會取消切換並顯示 `Backgrounding cancelled — the turn was stopped.` 例如,當您 [使用 `Esc` 中斷 Claude](/docs/zh-TW/interactive-mode#general-controls)、在主對話的權限提示上 [不附註解](/docs/zh-TW/permissions#add-a-comment-when-you-answer-a-permission-prompt) 選擇 **No**,或在主對話中對 Claude 提出的問題按 `Esc` 時,回合就會停止。再按一次 `←` 即可將工作階段移至背景。282* **您停止了回合**:Claude Code 會取消切換並顯示 `Backgrounding cancelled — the turn was stopped.` 例如,當您 [使用 `Esc` 中斷 Claude](/docs/zh-TW/interactive-mode#general-controls)、在主對話的權限提示上 [不附註解](/docs/zh-TW/permissions#add-a-comment-when-you-answer-a-permission-prompt) 選擇 **No**,或在主對話中對 Claude 提出的問題按 `Esc` 時,回合就會停止。再按一次 `←` 即可將工作階段移至背景。

283* **佇列中的訊息無法移動**:您 [在 Claude 工作時加入佇列](/docs/zh-TW/interactive-mode#queue-messages-while-claude-works) 的訊息會隨對話移至背景工作階段。當其中某則訊息無法移動時,工作階段會留在前景,而 Claude Code 會顯示如 `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.` 的通知。283* **佇列中的訊息無法移動**:您 [在 Claude 工作時加入佇列](/docs/zh-TW/interactive-mode#queue-messages-while-claude-works) 的訊息會隨對話移至背景工作階段。當其中某則訊息無法移動時,工作階段會留在前景,而 Claude Code 會顯示如 `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.` 的通知。

284 284 


288 288 

289您可以使用 `/config` 中的 [`leftArrowOpensAgents`](/docs/zh-TW/settings-reference#leftarrowopensagents) 設定,為前景工作階段關閉此快捷鍵。289您可以使用 `/config` 中的 [`leftArrowOpensAgents`](/docs/zh-TW/settings-reference#leftarrowopensagents) 設定,為前景工作階段關閉此快捷鍵。

290 290 

291##### 工作階段移至背景時發送的提示詞

292 

293如果您在工作階段移至背景的那一刻輸入提示詞或 `!` shell 命令,它會被停止或保持未發送:

294 

295* **在對話關閉時發送**:回應或命令會在對話關閉且 agent 檢視開啟時停止

296* **當時仍在等待 [hook](/docs/zh-TW/hooks)**:提示詞不會被發送,且畫面上不會有任何說明。這包括您在 [`SessionStart` hook](/docs/zh-TW/hooks#sessionstart) 仍在執行時輸入的提示詞

297 

298在這兩種情況下,您輸入的文字都會保留在 [提示詞歷史記錄](/docs/zh-TW/interactive-mode#command-history) 中。若要再次發送,請開啟已移至背景的工作階段,並在其提示詞輸入上按 `↑` 以取回文字。

299 

291### 組織清單300### 組織清單

292 301 

293agent 檢視會將工作階段分組,讓需要輸入的工作階段位於頂部,`Ready for review` 和 `Needs input` 位於 `Working` 和 `Completed` 上方。這些群組名稱並非與上述 [狀態](#read-session-state) 一一對應:當工作階段有需要審查或檢查失敗的開啟中 pull request 時,它會移至 `Ready for review`,而 `Completed` 會將已完成、失敗和已停止的工作階段集中在一起。302agent 檢視會將工作階段分組,讓需要輸入的工作階段位於頂部,`Ready for review` 和 `Needs input` 位於 `Working` 和 `Completed` 上方。這些群組名稱並非與上述 [狀態](#read-session-state) 一一對應:當工作階段有需要審查或檢查失敗的開啟中 pull request 時,它會移至 `Ready for review`,而 `Completed` 會將已完成、失敗和已停止的工作階段集中在一起。


300* 按 `Shift+↑` 或 `Shift+↓` 重新排序工作階段309* 按 `Shift+↑` 或 `Shift+↓` 重新排序工作階段

301* 按 `Ctrl+R` 重新命名工作階段310* 按 `Ctrl+R` 重新命名工作階段

302* 在群組標題上按 `Enter` 以摺疊群組,但 [篩選](#filter-sessions) 啟用時除外,此時所有群組都會保持展開311* 在群組標題上按 `Enter` 以摺疊群組,但 [篩選](#filter-sessions) 啟用時除外,此時所有群組都會保持展開

312* 按 `Ctrl+X` 停止工作階段,並在兩秒內再次按 `Ctrl+X` 將其從清單中刪除,或按 `Esc` 關閉確認而不刪除。即使停止嘗試失敗(例如因為 [背景服務沒有回應](#agent-view-says-the-background-service-did-not-respond)),第二次按下仍會刪除工作階段。在這種情況下,確認狀態會再維持兩秒,而刪除動作會自行結束工作階段的程序

303 313 

304若要從清單中移除工作階段,按 `Ctrl+X` 停止它,然後在兩秒內再次按 `Ctrl+X` 以刪除它。在群組標題上按 `Ctrl+X` 會在確認後刪除該群組中的每個工作階段。314在群組標題上按 `Ctrl+X` 會在確認後刪除該群組中的每個工作階段。除了 [刪除工作階段會移除什麼](#what-deleting-a-session-removes) 中說明的保留情況外,刪除會將工作階段從清單中移除。Claude 為其建立的 worktree 會被移除、保留或留在原位,取決於您的刪除方式以及 worktree 中的內容。對話逐字稿保留在您的本機上,可透過 `claude --resume` 取得。

305 315 

306即使停止嘗試失敗(例如因為 [背景服務沒有回應](#agent-view-says-the-background-service-did-not-respond)),第二次按下仍會刪除工作階段:確認狀態會再維持兩秒,而刪除動作會自行結束工作階段的程序。按 `Esc` 即可關閉確認而不刪除。316螢幕上放不下的已完成工作階段會摺疊成 `… N more` 列。`Completed` 群組會填滿即時群組之後剩餘的垂直空間。在較矮的終端機上,標題會壓縮成單一摘要行,讓工作中或需要輸入的工作階段保持可見。

307 317 

308除了 [刪除工作階段會移除什麼](#what-deleting-a-session-removes) 中說明的保留情況外,刪除會將工作階段從清單中移除,而 Claude 為其建立的 worktree 會被移除、保留或留在原位,取決於您的刪除方式以及 worktree 中的內容。對話逐字稿保留在您的本機上,可透過 `claude --resume` 取得。318#### 找回過去的工作階段

309 319 

310若要在 Claude Code v2.1.212 或更新版本上找回工作階段,請在分派輸入中輸入 `/resume`。選擇器會開啟,依最新優先的順序列出您開啟 agent 檢視時所在儲存庫的過去工作階段,包括您已從清單中刪除的工作階段;已有列的工作階段不會列出。`↑`/`↓` 移動選擇,`Enter` 會將選定的工作階段恢復為背景工作階段,使其以列的形式重新加入清單,`Esc` 則關閉選擇器。320若要在 Claude Code v2.1.212 或更新版本上找回工作階段,請在 [分派輸入](#dispatch-an-agent-from-agent-view) 中輸入 `/resume`。選擇器會開啟,依最新優先的順序列出您開啟 agent 檢視時所在儲存庫的過去工作階段,包括您已從清單中刪除的工作階段。已有列的工作階段不會列出。按 `Enter` 會將選定的工作階段恢復為背景工作階段,使其以列的形式重新加入清單。

311 321 

312選擇器只會在單純輸入 `/resume` 時開啟。指定目標、限定範圍或受限制的恢復無法由選擇器處理,因此在以下情況下,agent 檢視會改為顯示 `attach to a session to run it` 提示:322在以下情況下,`/resume` 會失敗並顯示 `isn't available in agent view`:

313 323 

314* `/resume` 指定了 id 或搜尋詞324* `/resume` 指定了 id 或搜尋詞

315* 檢視以 `--cwd` 限定範圍325* 檢視以 `--cwd` 限定範圍

316* 檢視以 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags) 啟動326* 檢視以 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags) 啟動

317* 檢視以 `--permission-mode` 或 `--settings` 等旗標開啟327* 檢視以 `--permission-mode` 或 `--settings` 等旗標開啟

318 328 

319螢幕上放不下的已完成工作階段會摺疊成 `… N more` 列。`Completed` 群組會填滿即時群組之後剩餘的垂直空間,而在較矮的終端機上,標題會壓縮成單一摘要行,讓工作中或需要輸入的工作階段保持可見。329如果您在 `/resume` 後輸入了任何內容,請不帶該內容重新輸入。如果您使用了上述其中一個旗標,請在 shell 中不帶該旗標執行 `claude agents`,然後單獨輸入 `/resume`。

320 330 

321### 篩選工作階段331### 篩選工作階段

322 332 


361| `Ctrl+X` | 停止工作階段;在兩秒內再次按下以刪除它 |371| `Ctrl+X` | 停止工作階段;在兩秒內再次按下以刪除它 |

362| `Shift+↑` / `Shift+↓` | 重新排序選定的工作階段 |372| `Shift+↑` / `Shift+↓` | 重新排序選定的工作階段 |

363| `Esc` | 關閉查看面板、清除輸入或退出。當您是透過 `←` 將工作階段移至背景而開啟 agent 檢視時,最後一次 `Esc` 會返回該對話而不是退出。啟用 [vim 編輯器模式](/docs/zh-TW/interactive-mode#vim-editor-mode) 時,在輸入中按 `Esc` 會從 INSERT 切換到 NORMAL 模式並保留您的文字,與主提示詞輸入相同 |373| `Esc` | 關閉查看面板、清除輸入或退出。當您是透過 `←` 將工作階段移至背景而開啟 agent 檢視時,最後一次 `Esc` 會返回該對話而不是退出。啟用 [vim 編輯器模式](/docs/zh-TW/interactive-mode#vim-editor-mode) 時,在輸入中按 `Esc` 會從 INSERT 切換到 NORMAL 模式並保留您的文字,與主提示詞輸入相同 |

364| `Ctrl+C` | 清除輸入;按兩次以退出 |374| `Ctrl+C` | 清除輸入;按兩次以退出。當畫面上有選取的文字時,按下會改為清除選取;除非 [選取時已複製](/docs/zh-TW/settings-reference#copyonselect),否則會先複製該文字 |

365| `?` | 顯示快捷鍵 |375| `?` | 顯示快捷鍵 |

366 376 

367在 [`Agents` 情境](/docs/zh-TW/keybindings#agents-actions) 中具有動作的快捷鍵會遵循您的 [`keybindings.json`](/docs/zh-TW/keybindings)。`Ctrl+G` 也是如此,透過 `Chat` 情境的 `chat:externalEditor` 繫結。377在 [`Agents` 情境](/docs/zh-TW/keybindings#agents-actions) 中具有動作的快捷鍵會遵循您的 [`keybindings.json`](/docs/zh-TW/keybindings)。`Ctrl+G` 也是如此,透過 `Chat` 情境的 `chat:externalEditor` 繫結。


395 405 

396* `/exit` 和 `/quit` 會關閉 agent view406* `/exit` 和 `/quit` 會關閉 agent view

397* `/logout` 會將您登出407* `/logout` 會將您登出

398* `/model` 會設定[分派模型](#set-the-model)408* `/model`、`/effort` 和 `/fast` 會設定[您接下來分派的工作階段的啟動方式](#set-the-model-effort-and-fast-mode)。`/effort` 和 `/fast` 需要 Claude Code v2.1.299 或更新版本。

399* `/login` 會開啟登入對話框,讓您無需附加到工作階段即可重新登入409* `/login` 會開啟登入對話框,讓您無需附加到工作階段即可重新登入

400* 單獨的 `/resume` 或其別名 `/continue` 會開啟儲存庫過去工作階段的選擇器,以將其作為背景工作階段[帶回](#organize-the-list)。需要 Claude Code v2.1.212 或更新版本410* 單獨的 `/resume` 或其別名 `/continue` 會開啟儲存庫過去工作階段的選擇器,以將其作為背景工作階段[帶回](#bring-back-a-past-session)。需要 Claude Code v2.1.212 或更新版本

401 411 

402Skill、您自己的命令,以及會展開提示詞的內建命令(例如 `/init`)會作為第一個提示詞傳送到新的背景工作階段。其他內建命令則會顯示 `attach to a session to run it` 提示。您輸入的所有內容都會保留在該提示旁的輸入框中,以便您編輯。412Skill、您自己的命令,以及會展開提示詞的內建命令(例如 `/init`)會作為第一個提示詞傳送到新的背景工作階段。提示 `isn't available in agent view` 表示您輸入的內建命令並未執行。若要執行它,請[附加到工作階段](#attach-to-a-session)並在該處輸入。您輸入的所有內容都會保留在該提示旁的輸入框中,以便您編輯。

403 413 

404將重複性任務打包為 [skill](/docs/zh-TW/skills),可讓您從 agent view 重複啟動相同的工作流程,而無需重新輸入提示詞。414將重複性任務打包為 [skill](/docs/zh-TW/skills),可讓您從 agent view 重複啟動相同的工作流程,而無需重新輸入提示詞。

405 415 


458 468 

459#### 移到背景時會帶入的內容469#### 移到背景時會帶入的內容

460 470 

461移到背景會啟動一個從已儲存對話繼續的新程序,進行中的背景工作會轉移到該程序:執行中的背景 shell 命令、已移到背景的 subagent、動態工作流程、您使用 [`/loop`](/docs/zh-TW/scheduled-tasks) 建立的排程任務,以及 Claude [對 artifact 留言的自動回覆](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own),都會轉移過去並在該處繼續執行。subagent 會與它啟動的所有內容一起移動,因此只有當所有這些工作都能移動時,它才會轉移。若要停止進行中的背景工作而不是轉移它,請設定 [`CLAUDE_DISABLE_ADOPT=1`](/docs/zh-TW/env-vars#variables) 環境變數;Claude Code 接著會在移到背景前要求您確認。471移到背景會啟動一個從已儲存對話繼續的新程序,進行中的背景工作會轉移到該程序。執行中的背景 shell 命令、已移到背景的 subagent、動態工作流程、您使用 [`/loop`](/docs/zh-TW/scheduled-tasks) 建立的排程任務,以及 Claude [對 artifact 留言的自動回覆](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own),都會轉移過去並在該處繼續執行。subagent 會與它啟動的所有內容一起移動,因此只有當所有這些工作都能移動時,它才會轉移。

462 472 

463當[動態工作流程](/docs/zh-TW/workflows)仍有 subagent 在執行時,Claude Code 會在移到背景前以 `Background this session?` 對話框詢問,並說明有多少 subagent 會重新啟動。選擇 `Stay` 可讓它們先完成。如果您確認,Claude Code 會在背景工作階段中重播該次執行:仍在執行的 subagent 會從頭開始,因此它們目前為止使用的 token 會再次消耗。關於哪些已完成的 subagent 會傳回其已儲存的結果、哪些會再次執行,請參閱[暫停後繼續](/docs/zh-TW/workflows#resume-after-a-pause)。473當[動態工作流程](/docs/zh-TW/workflows)仍有 subagent 在執行時,Claude Code 會在移到背景前以 `Background this session?` 對話框詢問,並說明有多少 subagent 會重新啟動。選擇 `Stay` 可讓它們先完成。如果您確認,Claude Code 會在背景工作階段中重播該次執行:仍在執行的 subagent 會從頭開始,因此它們目前為止使用的 token 會再次消耗。關於哪些已完成的 subagent 會傳回其已儲存的結果、哪些會再次執行,請參閱[暫停後繼續](/docs/zh-TW/workflows#resume-after-a-pause)。

464 474 


526 claude stop 7c5dcf5d stop this session536 claude stop 7c5dcf5d stop this session

527```537```

528 538 

539#### 包含 `--bg` 的提示詞

540 

541提及 `--bg` 或 `--background` 的提示詞會按您輸入的原樣傳送,您傳送給背景工作階段的 `--bg` 回覆也是如此。例如,以下命令會啟動一個背景工作階段,而第二個 `--bg` 是其提示詞的一部分:

542 

543```bash theme={null}

544claude --bg "find out why --bg sessions are slow to start on this machine"

545```

546 

547Claude Code 只有在旗標可以出現的位置,才會將整個引數讀取為旗標:位於任何單獨的 `--` 分隔符號之前,且不在另一個旗標預期其值的位置。請將旗標放在最前面,如 `claude --bg "<prompt>"`。

548 

549當位置不明確時(例如在一連串合併的短旗標之後),Claude Code 不會啟動任何內容,而是改以 [`Couldn't tell whether --bg is a flag or text here`](/docs/zh-TW/errors#couldnt-tell-whether-bg-is-a-flag-or-text) 結束。

550 

529#### 執行 shell 命令551#### 執行 shell 命令

530 552 

531若要將 shell 命令作為背景工作執行,而不是 Claude 工作階段,請傳遞 `--exec`。以下範例將 `pytest -x` 作為背景工作執行:553若要將 shell 命令作為背景工作執行,而不是 Claude 工作階段,請傳遞 `--exec`。以下範例將 `pytest -x` 作為背景工作執行:


626 648 

627無論哪種方式,都會保留另一個已完成工作階段的記錄所指向的目錄。649無論哪種方式,都會保留另一個已完成工作階段的記錄所指向的目錄。

628 650 

629### 設定模型651### 設定模型、effort 與快速模式

630 652 

631agent view 標頭中顯示的模型名稱是分派預設值。您從輸入框啟動的新工作階段會使用此模型,它來自您使用者設定中的 [`model` 設定](/docs/zh-TW/settings-reference#model)。您可以在 [`/model` 選擇器](/docs/zh-TW/model-config)中選取模型來設定,或直接編輯該設定。653在 agent view 中,於[分派輸入框](#dispatch-an-agent-from-agent-view)中輸入 `/model`、`/effort` 或 `/fast` 並按 `Enter`,之後您分派的工作階段就會以您設定的內容啟動。您的選擇會保留在該 agent view 視窗中,不會儲存到設定檔。`/effort` 和 `/fast` 需要 Claude Code v2.1.299 或更新版本,不接任何內容而單獨輸入的 `/model` 也是如此。

632 654 

633若要為整個 agent view 工作階段覆寫分派預設值,請在開啟 agent view 時傳遞 `--model`。請參閱[權限模式、模型與 effort](#permission-mode-model-and-effort)。655在命令後提供值,或單獨輸入命令以從清單中選擇一個:

634 656 

635若要從 agent view 內部變更分派預設值,請在分派輸入框中輸入 `/model` 並接著輸入模型名稱,然後按 `Enter`。標頭會更新以顯示該模型並帶有 `(session)` 標記,之後您分派的工作階段都會使用它。輸入 `/model default` 可清除覆寫並返回分派預設值。此覆寫會在目前 `claude agents` 執行的剩餘期間持續有效,且不會寫入您的設定檔。以下範例在 Opus 上分派一個工作階段,接著在 Sonnet 上分派下一個:657* **模型**:`/model <name>`,例如 `/model opus`

658* **[Effort 等級](/docs/zh-TW/model-config#adjust-effort-level)**:`/effort` 搭配 `low`、`medium`、`high`、`xhigh` 或 `max`,例如 `/effort high`。若要以 [ultracode](/docs/zh-TW/workflows#let-claude-decide-with-ultracode) 啟動工作階段,請改為從您的 shell 使用 [`claude agents --effort ultracode`](#dispatch-defaults) 開啟 agent view;分派輸入框不接受 `/effort ultracode`

659* **快速模式**:`/fast on` 或 `/fast off`。只有在快速模式[可供您使用](/docs/zh-TW/fast-mode#requirements)且其模型支援快速模式時,工作階段才會以快速模式啟動。在不支援的模型上,工作階段會以關閉快速模式的狀態啟動,因此請先使用 `/model` 挑選一個[支援快速模式的模型](/docs/zh-TW/fast-mode)。確認新工作階段是否取得快速模式的是輸入框下方的提示,而不是標頭。

660 

661若要復原選擇,請以 `default` 作為值,例如 `/effort default`。

662 

663以下範例在 Opus 上分派一個工作階段,接著在 Sonnet 上分派下一個:

636 664 

637```text theme={null}665```text theme={null}

638/model opus666/model opus


644每個背景工作階段都可以使用不同的模型執行。若要為單一工作階段覆寫模型:672每個背景工作階段都可以使用不同的模型執行。若要為單一工作階段覆寫模型:

645 673 

646* 從 shell 中,搭配 `claude --bg` 傳遞 `--model`。674* 從 shell 中,搭配 `claude --bg` 傳遞 `--model`。

647* 附加到執行中的工作階段並執行 `/model` 進行切換:從選擇器中挑選,或輸入 `/model <name>`,都會儲存為您新工作階段的預設值,除非您在選擇器中按 `s` 進行僅限此工作階段的切換。如果工作階段被重新產生,僅限此工作階段的切換仍會保留。675* 附加到執行中的工作階段並執行 `/model` 進行切換。從選擇器中挑選,或輸入 `/model <name>`,都會儲存為您新工作階段的預設值,除非您在選擇器中按 `s` 進行僅限此工作階段的切換。如果工作階段被重新產生,僅限此工作階段的切換仍會保留。

648* 分派其 frontmatter 設定了 `model` 欄位的 [subagent](/docs/zh-TW/sub-agents)。676* 以其名稱開頭提示詞或提及 `@name`,分派其 frontmatter 設定了 `model` 的 [subagent](/docs/zh-TW/sub-agents)。當分派輸入框中的 `/model` 選擇生效時,不會使用該 subagent 的 `model`,因此請在該處輸入 `/model default`。如果您是以 [`claude agents --model`](#dispatch-defaults) 啟動,也不會使用該 subagent 的模型,因此請在 shell 中不帶 `--model` 執行 `claude agents`。

649 677 

650### 權限模式、模型與 effort678### 權限模式、模型與 effort

651 679 


666* 您使用 `←` 或 `/background` 將自己的工作階段移到背景694* 您使用 `←` 或 `/background` 將自己的工作階段移到背景

667* 您將工作階段分派到您所在的目錄695* 您將工作階段分派到您所在的目錄

668* 您透過附加或回覆,喚醒您所在目錄中已停止的工作階段696* 您透過附加或回覆,喚醒您所在目錄中已停止的工作階段

697* 您使用 [`claude respawn`](#manage-sessions-from-the-shell) 重新啟動您所在目錄中的工作階段

669 698 

670Claude Code 會轉送位於雲端供應商前方的閘道。如果您分派所在的 shell 選擇了該供應商,並匯出其閘道端點及其驗證略過旗標,Claude Code 會在適用於 `ANTHROPIC_BASE_URL` 的條件下,將該端點與旗標組合連同 `ANTHROPIC_CUSTOM_HEADERS` 一起轉送到工作階段。例如,匯出 `CLAUDE_CODE_USE_VERTEX=1` 以及 `ANTHROPIC_VERTEX_BASE_URL` 和 `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`,Claude Code 就會轉送該端點和旗標。699Claude Code 會轉送位於雲端供應商前方的閘道。如果您分派所在的 shell 選擇了該供應商,並匯出其閘道端點及其驗證略過旗標,Claude Code 會在適用於 `ANTHROPIC_BASE_URL` 的條件下,將該端點與旗標組合連同 `ANTHROPIC_CUSTOM_HEADERS` 一起轉送到工作階段。例如,匯出 `CLAUDE_CODE_USE_VERTEX=1` 以及 `ANTHROPIC_VERTEX_BASE_URL` 和 `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`,Claude Code 就會轉送該端點和旗標。

671 700 


673 702 

674#### 權限模式703#### 權限模式

675 704 

676[權限模式](/docs/zh-TW/permissions)取決於您啟動工作階段的方式:705* **使用 `/bg` 或 `←` 移到背景**:Claude Code 會保留工作階段原本的[權限模式](/docs/zh-TW/permissions),因此您切換到 `acceptEdits` 或 `auto` 的工作階段在分離後仍維持該模式

677 

678* **使用 `/bg` 或 `←` 移到背景**:Claude Code 會保留工作階段原本的權限模式,因此您切換到 `acceptEdits` 或 `auto` 的工作階段在分離後仍維持該模式

679* **從您使用 `←` 開啟的 agent view 分派**:Claude Code 會先從目標目錄的設定取得新工作階段的權限模式,其次才從您來源的工作階段取得

680* **從在 shell 中啟動的 `claude agents` 分派,或使用 `claude --bg`**:新工作階段會以在該目錄中啟動新 `claude` 工作階段的方式開始,除非您是從以[分派預設值](#dispatch-defaults)開啟的 agent view 分派。[工作階段以哪種權限模式啟動](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)列出了順序706* **從在 shell 中啟動的 `claude agents` 分派,或使用 `claude --bg`**:新工作階段會以在該目錄中啟動新 `claude` 工作階段的方式開始,除非您是從以[分派預設值](#dispatch-defaults)開啟的 agent view 分派。[工作階段以哪種權限模式啟動](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)列出了順序

681 707 

682對於您從使用 `←` 開啟的 agent view 分派的工作階段,Claude Code 會從以下第一個適用的來源取得權限模式:708對於您從使用 `←` 開啟的 agent view 分派的工作階段,Claude Code 會從以下第一個適用的來源取得權限模式:

683 709 

6841. 目標目錄的 [`permissions.defaultMode`](/docs/zh-TW/settings-reference#permissions-defaultmode)。適用兩條來源規則:7101. 目標目錄的 [`permissions.defaultMode`](/docs/zh-TW/settings-reference#permissions-defaultmode)。`auto` 和 `bypassPermissions` [只有來自受管設定、`--settings` 檔案或 `~/.claude/settings.json` 時才會生效](/docs/zh-TW/settings-reference#permissions-defaultmode)。若專案的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的 `defaultMode` 選擇了比您來源工作階段更寬鬆的模式,Claude Code 會拒絕它。

685 * `auto` 和 `bypassPermissions` [只有來自受管設定、`--settings` 檔案或 `~/.claude/settings.json` 時才會生效](/docs/zh-TW/settings-reference#permissions-defaultmode)。7112. 您來源工作階段的權限模式。

686 * 若專案的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的 `defaultMode` 選擇了比您來源工作階段更寬鬆的模式,Claude Code 會拒絕它。712 

6872. 您來源工作階段的權限模式。如果該工作階段處於 `bypassPermissions` 模式,新工作階段可能會改以 Manual 模式啟動,並顯示 `Bypass permissions was requested at launch and ignored` 通知。當您接受略過免責聲明的記錄只存在於 `.claude/settings.local.json` 或 `--settings` 檔案中時,就會發生這種情況。請以 Manual 模式繼續,或[將該接受記錄新增到 `~/.claude/settings.json`](/docs/zh-TW/permission-modes#bypass-permissions-acceptance)。713 如果該工作階段處於 `bypassPermissions` 模式,新工作階段可能會改以 Manual 模式啟動,並顯示 `Bypass permissions was requested at launch and ignored` 通知。當您接受略過免責聲明的記錄只存在於 `.claude/settings.local.json` 或 `--settings` 檔案中時,就會發生這種情況。請以 Manual 模式繼續,或[將該接受記錄新增到 `~/.claude/settings.json`](/docs/zh-TW/permission-modes#bypass-permissions-ignored-in-a-background-session)。

688 714 

689當 Claude Code 因某個來源的模式過於寬鬆而拒絕時,由清單中的下一個來源決定。例如,如果您從 plan mode 工作階段分派到一個其簽入設定要求 `acceptEdits` 的目錄,新工作階段會以 plan mode 啟動。如果您將該 `defaultMode` 移到 `~/.claude/settings.json`,則無論您來源工作階段的權限模式為何,它都會套用。715當 Claude Code 因某個來源的模式過於寬鬆而拒絕時,由清單中的下一個來源決定。例如,如果您從 plan mode 工作階段分派到一個其簽入設定要求 `acceptEdits` 的目錄,新工作階段會以 plan mode 啟動。如果您將該 `defaultMode` 移到 `~/.claude/settings.json`,則無論您來源工作階段的權限模式為何,它都會套用。

690 716 


816* **已完成或等待您的下一條訊息,且未連接約一小時**:監督程序停止程序以釋放資源。透過提出問題結束其回合的工作階段計為等待您的下一條訊息。對話保存在磁碟上,下次您連接或回覆時,工作階段從中斷的地方恢復。使用 `Ctrl+T` 釘選工作階段以保持其程序執行。842* **已完成或等待您的下一條訊息,且未連接約一小時**:監督程序停止程序以釋放資源。透過提出問題結束其回合的工作階段計為等待您的下一條訊息。對話保存在磁碟上,下次您連接或回覆時,工作階段從中斷的地方恢復。使用 `Ctrl+T` 釘選工作階段以保持其程序執行。

817* **在監督程序執行時意外退出**:監督程序重新啟動程序。結束您自己使用 `←` 或 `/background` 背景化的工作階段(例如使用 `kill`)會將其標記為已停止而不是重新啟動。對於以關閉結束的工作階段,請參閱[工作階段在關閉後顯示為失敗或已停止](#sessions-show-as-failed-after-shutdown)。843* **在監督程序執行時意外退出**:監督程序重新啟動程序。結束您自己使用 `←` 或 `/background` 背景化的工作階段(例如使用 `kill`)會將其標記為已停止而不是重新啟動。對於以關閉結束的工作階段,請參閱[工作階段在關閉後顯示為失敗或已停止](#sessions-show-as-failed-after-shutdown)。

818* **自動更新後**:監督程序重新啟動自身到新版本,並在背景中移動閒置工作階段。正在工作、等待您或已連接的工作階段不會被中斷。844* **自動更新後**:監督程序重新啟動自身到新版本,並在背景中移動閒置工作階段。正在工作、等待您或已連接的工作階段不會被中斷。

819* **監督程序本身停止**,例如因為其程序從 Claude Code 外部被結束:在 macOS 和 Linux 上,每個工作階段的程序會等待約一分鐘,讓新的監督程序重新連接到它,若沒有則停止。請在這一分鐘內於 shell 中執行 `claude agents`,以啟動新的監督程序並保持您的工作階段執行。如果一分鐘先過去,工作階段會停止,但其保存的對話仍保留在磁碟上:連接或回覆工作階段,它便會從保存的對話重新啟動,如[工作階段在關閉後顯示為失敗或已停止](#sessions-show-as-failed-after-shutdown)中所述。845* **監督程序本身停止**,例如因為其程序從 Claude Code 外部被結束:在 macOS 和 Linux 上,除非新的監督程序在約一分鐘內連接,否則您的工作階段會停止。要啟動新的監督程序,請在 shell 中執行 `claude agents`。超過那一分鐘後,請參閱[在監督程序停止後保持工作階段執行](#keep-sessions-running-after-the-supervisor-stops)。

820 846 

821當工作階段的程序停止或重新啟動時,Claude 在其中啟動的背景 shell 命令、動態工作流程和背景 subagent 會轉移到其下一個程序;執行中的監視器和 subagent 啟動的 shell 命令會隨程序停止。刪除工作階段會停止它轉移的所有內容。要讓所有內容隨程序停止而不是轉移,請將 [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/zh-TW/env-vars#variables) 設定為 `1`。847當工作階段的程序停止或重新啟動時,Claude 在其中啟動的背景 shell 命令、動態工作流程和背景 subagent 會轉移到其下一個程序;執行中的監視器和 subagent 啟動的 shell 命令會隨程序停止。刪除工作階段會停止它轉移的所有內容。要讓所有內容隨程序停止而不是轉移,請將 [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/zh-TW/env-vars#variables) 設定為 `1`。

822 848 

823監督程序及其工作階段使用與您的互動工作階段相同的儲存憑證進行身分驗證。對於哪些設定和 shell 變數到達工作階段(包括 `PATH`),請參閱[設定和提供者](#settings-and-provider)。對於閘道端點,請參閱 [LLM 閘道](#llm-gateway)。849監督程序及其工作階段使用與您的互動工作階段相同的儲存憑證進行身分驗證。對於哪些設定和 shell 變數到達工作階段(包括 `PATH`),請參閱[設定和提供者](#settings-and-provider)。對於閘道端點,請參閱 [LLM 閘道](#llm-gateway)。

824 850 

851#### 在監督程序停止後保持工作階段執行

852 

853如果 agent view 在退出時顯示此通知,表示沒有[監督程序](#the-supervisor-process)正在執行:

854 

855```text theme={null}

856Background sessions still running will stop in about a minute. Run 'claude agents' to keep them.

857```

858 

859請在這一分鐘內於 shell 中執行 `claude agents`,以啟動新的監督程序並保持您的工作階段執行。

860 

861如果一分鐘先過去,工作階段會停止,但其保存的對話仍保留在磁碟上。要從保存的對話重新啟動工作階段,請[連接](#attach-to-a-session)或[回覆](#peek-and-reply)該工作階段,如[工作階段在關閉後顯示為失敗或已停止](#sessions-show-as-failed-after-shutdown)中所述。

862 

825### 狀態存儲位置863### 狀態存儲位置

826 864 

827工作階段狀態存儲在您的 Claude Code 設定目錄下。如果您設定 [`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars),監督程序改用該目錄而不是 `~/.claude`,並作為具有其自己工作階段的單獨實例執行。865工作階段狀態存儲在您的 Claude Code 設定目錄下。如果您設定 [`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars),監督程序改用該目錄而不是 `~/.claude`,並作為具有其自己工作階段的單獨實例執行。


930claude daemon stop --any --keep-workers968claude daemon stop --any --keep-workers

931```969```

932 970 

933接著在 shell 中執行 `claude agents` 以啟動新的監督程序。如果您在停止後[約一分鐘](#the-supervisor-process)內執行,它會重新連接到仍在執行中的工作階段,其工作會不中斷地繼續。如果您花費更長時間,在 macOS 和 Linux 上,這些工作階段屆時已自行停止,附加或回覆其中一個會從其已儲存的對話重新啟動它。如果沒有 `--keep-workers`,該命令也會結束背景工作階段。`--any` 旗標可讓該命令停止由 Claude Code 按需啟動的監督程序。971接著在 shell 中執行 `claude agents` 以啟動新的監督程序。在 macOS 和 Linux 上,請在舊的監督程序結束後約一分鐘內執行,否則這些工作階段會[在沒有監督程序的情況下停止](#the-supervisor-process)。如果您看到 `stopped`,但相同的錯誤再次出現,且您使用的是 macOS 或 Linux 上早於 v2.1.300 的 Claude Code,請執行 `claude update`,然後再次執行這兩個命令。

934 

935啟動但無法接受連接的監督程序會自行退出並釋放其鎖定,因此下一個 `claude agents` 會啟動新的監督程序,無需此手動停止。上述步驟適用於執行中的監督程序停滯的情況。

936 972 

937如果命令改為退出,並表示記錄的程序無法驗證為監督程序,請檢查回報的程序 ID:如果它是您擁有的監督程序,請自行停止它,然後刪除 `~/.claude/daemon.lock`,以便下一個 `claude agents` 重新啟動。973如果停止命令改為列印以下四則訊息之一,表示舊程序並未被停止。請在 shell 中執行對應列所述的動作,然後執行 `claude agents`:

938 974 

939在 Windows 上,如果監督程序未回應停止請求,該命令會列印其程序 ID。使用 `taskkill /PID <pid>` 結束該程序以完成復原。若您傳遞了 `--keep-workers`,背景工作階段仍會被保留。975| 訊息包含 | 平台 | 動作 |

976| :- | :- | :- |

977| `could not be verified as the daemon, so it was not signalled` | 全部 | 找出哪個程式擁有該程序 ID。如果它是您自己的監督程序,請停止它;其他程式則不要處理。然後刪除 `~/.claude/daemon.lock`。 |

978| `is still running after SIGKILL` | macOS、Linux | 等待該程序退出。如果它始終未退出,請重新啟動電腦。 |

979| `was not sent SIGKILL` | macOS、Linux | 再次執行停止命令。如果程序仍然存在,請使用 `ps -ww -o args= -p <pid>` 檢查:以 `daemon` 啟動的 Claude Code 是監督程序,請執行 `kill -9 <pid>`。其他程序則不要處理;如果之後 `claude agents` 無法啟動監督程序,請刪除 `~/.claude/daemon.lock`。 |

980| `supervisor (pid=<pid>) is still running` | Windows | 使用 `taskkill /PID <pid>` 結束該程序 |

940 981 

941### 分派失敗,出現 `Could not resolve authentication method`982### 分派失敗,出現 `Could not resolve authentication method`

942 983 


950 991 

951請參閱[錯誤參考](/docs/zh-TW/errors#could-not-resolve-authentication-method)以取得完整的原因和修復清單。992請參閱[錯誤參考](/docs/zh-TW/errors#could-not-resolve-authentication-method)以取得完整的原因和修復清單。

952 993 

994### 背景工作階段顯示 `No LLM gateway`

995 

996如果背景工作階段顯示 [`No LLM gateway`](/docs/zh-TW/errors#no-llm-gateway-opened-from-another-folder),表示它未取得您閘道的 `ANTHROPIC_BASE_URL`,因此其請求會失敗。Claude Code 未提供該設定,是因為您從訊息所指名資料夾以外的目錄分派、喚醒或重新啟動了該工作階段。

997 

998例如,當您使用 [`@<repo>`](#dispatch-to-a-specific-directory) 分派到某個儲存庫,或從其他目錄執行 `claude attach` 喚醒已停止的工作階段後,就會看到此訊息。若要讓工作階段使用您的閘道,請依閘道的設定位置選擇對應的修正方式:

999 

1000* **您在終端機中匯出了閘道**:在已匯出閘道變數的終端機中,`cd` 到訊息所指名的資料夾,並執行訊息中的 [`claude respawn <id>`](#manage-sessions-from-the-shell) 命令。

1001 * 只有當[監督程序](#the-supervisor-process)本身是從匯出了相同閘道的 shell 啟動時,閘道才會傳遞到工作階段。如果監督程序並非如此啟動,請依照[分派失敗,出現 `Could not resolve authentication method`](#dispatch-fails-with-could-not-resolve-authentication-method) 所述,從您執行 respawn 命令的終端機重新啟動監督程序,然後再次執行該命令。

1002* **您在專案設定中設定了閘道的專案內使用 agent view**:將 `ANTHROPIC_BASE_URL` 及其憑證放入[設定檔的 `env` 區塊](/docs/zh-TW/llm-gateway-connect#set-in-a-settings-file)。請使用 `~/.claude/settings.json`,或工作階段所屬專案中的 `.claude/settings.local.json`,重新產生的工作階段會讀取這兩者。然後在 shell 中從任何目錄執行 [`claude respawn <id>`](#manage-sessions-from-the-shell),以透過閘道重新啟動此工作階段。

1003 

953### 背景工作階段無法在 macOS 上讀取 Desktop、Documents 或 Downloads1004### 背景工作階段無法在 macOS 上讀取 Desktop、Documents 或 Downloads

954 1005 

955在 macOS 上,背景工作階段主機作為獨立的程序執行,並與您的終端機分開請求對受保護資料夾的存取權。如果背景工作階段在讀取 `~/Desktop`、`~/Documents`、`~/Downloads` 或其他受保護位置時回報 `Operation not permitted`,請在系統設定中的隱私權與安全性 > 檔案與檔案夾下授予存取權,或為該項目啟用完整磁碟取用權限。1006在 macOS 上,背景工作階段主機作為獨立的程序執行,並與您的終端機分開請求對受保護資料夾的存取權。如果背景工作階段在讀取 `~/Desktop`、`~/Documents`、`~/Downloads` 或其他受保護位置時回報 `Operation not permitted`,請在系統設定中的隱私權與安全性 > 檔案與檔案夾下授予存取權,或為該項目啟用完整磁碟取用權限。


996 1047 

997| 版本 | 變更 |1048| 版本 | 變更 |

998| - | - |1049| - | - |

1050| v2.1.299 | [分派輸入中的 `/effort` 和 `/fast`](#set-the-model-effort-and-fast-mode) 會為您接下來分派的工作階段設定 effort 等級和快速模式。不帶值輸入 `/model`、`/effort` 或 `/fast` 會開啟選擇器。 |

1051| v2.1.299 | Claude Code 僅在任何單獨的 `--` 分隔符之前、且不在另一個旗標的值中時,才[將 `--bg` 和 `--background` 讀取為旗標](#from-your-shell),並在位置不明確時拒絕執行,而不是猜測。在此版本之前,內容為 `--bg` 或 `--background` 的提示詞或傳給背景工作階段的回覆可能會被當成旗標。這可能會反覆啟動新的背景工作階段,而不是傳遞該文字。 |

1052| v2.1.296 | 您在[工作階段移到背景時](#switch-sessions-without-leaving-the-terminal)輸入的提示詞或 `!` shell 命令會被停止或保持未傳送,其文字會保留在提示詞歷史中。在此版本之前,回應或命令會在您再也看不到的地方持續執行,而在 `←` 之後立即傳送的提示詞可能會在看不見的情況下再執行一次。在 `SessionStart` hook 仍在執行時輸入的提示詞會遺失:既未傳送,也不在提示詞歷史中。 |

1053| v2.1.295 | 在[附加的背景工作階段](#attach-to-a-session)的閒置提示詞輸入處按 `Ctrl+C`,不會影響[自訂步調的 `/loop`](/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval) 待決的喚醒,因此按兩次會分離,而迴圈會持續執行。在該輸入處按 `Esc` 會[停止自訂步調的迴圈](/docs/zh-TW/scheduled-tasks#stop-a-loop)並顯示 `Pending wakeup cancelled` 通知。在此版本之前,第一次 `Ctrl+C` 可能會在無提示的情況下結束自訂步調的迴圈,而 `Esc` 無法停止已隨工作階段移到背景的迴圈。 |

1054| v2.1.295 | 在 macOS 和 Linux 上,當 `claude agents` 在沒有[監督程序](#keep-sessions-running-after-the-supervisor-stops)執行時退出,它不會自行啟動新的監督程序。除非您再次執行 `claude agents`,否則執行中的工作階段會在約一分鐘後停止,且 agent view 在退出時可能會列印說明此情況的通知。在此版本之前,退出中的 `claude agents` 會啟動新的監督程序。 |

1055| v2.1.295 | 在使用原生安裝程式的 macOS 上,更新後一起重新啟動的背景工作階段,會在持有您所授予之[受保護資料夾存取權](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos)的同一個 Claude Code 項目下執行。在此版本之前,這些工作階段可能改為在二進位檔本身的路徑下執行。macOS 會將該路徑列為獨立的項目,因此資料夾存取提示可能會在更新後再次出現。 |

999| v2.1.290 | [`claude attach` 和 `claude logs`](#manage-sessions-from-the-shell) 可以接受工作階段名稱的一部分來取代 ID。 |1056| v2.1.290 | [`claude attach` 和 `claude logs`](#manage-sessions-from-the-shell) 可以接受工作階段名稱的一部分來取代 ID。 |

1000| v2.1.290 | 作為[查看回覆](#peek-and-reply)傳送給工作中工作階段的 `/model`、`/effort`、`/rename` 和 `/usage` 會立即執行。 |1057| v2.1.290 | 作為[查看回覆](#peek-and-reply)傳送給工作中工作階段的 `/model`、`/effort`、`/rename` 和 `/usage` 會立即執行。 |

1001| v2.1.290 | 無法傳遞的[查看回覆](#peek-and-reply)在以 `/` 開頭時,或在工作階段的程序執行期間回答具有預定義選項的問題時,不再被儲存以供下次重新啟動時使用。 |1058| v2.1.290 | 無法傳遞的[查看回覆](#peek-and-reply)在以 `/` 開頭時,或在工作階段的程序執行期間回答具有預定義選項的問題時,不再被儲存以供下次重新啟動時使用。 |


1048| v2.1.216 | `/fork`:[確認訊息](#from-inside-a-session)為一行,顯示副本的狀態、其 agent view 列的名稱及供 `claude attach` 使用的工作階段 ID,僅當副本在主要工作樹中執行或編輯您開啟的簽出時,才會以 `runs in the origin tree` 或 `edits this checkout` 結尾。點擊名稱會背景化此工作階段,並在副本的工作階段中開啟 agent view。確認訊息不再重述副本繼承的權限模式;較早版本會列印多行確認訊息,且沒有可點擊的名稱。 需要輸入:在沒有人附加時執行的 `/install-github-app` 和 `/mcp` 設定清單,會將工作階段顯示在 `Needs input` 下,並以一列指出該命令,附加並重新執行命令即可繼續;從 v2.1.208 到 v2.1.215,它們在該狀態下會被直接拒絕。 `--agent` 還原:當工作區受信任時,恢復或重新啟動[背景化的 `--agent` 工作階段](#from-your-shell)會還原 agent 的系統提示詞和工具限制,並優先在工作階段自己的目錄中搜尋該 agent;其 agent 已不存在的工作階段會以預設工具和系統提示詞繼續,並在開啟時顯示可見的警告,而不是在無提示的情況下還原為預設 agent。 `Ctrl+X`:按兩次會刪除工作階段,即使停止嘗試失敗,而不是讓失敗的停止取消待決的刪除,且工作程序已終止的已刪除工作階段不再於下一次重新整理時重新出現。 Worktree 刪除:worktree 目錄不屬於任何 git 儲存庫的工作階段可以被刪除;在此版本之前,每次刪除這類工作階段的嘗試都會被拒絕。已不存在的目錄會立即清除。Agent view 的雙按會移除仍有檔案的目錄,對於由 hook 建立的目錄會執行您的 `WorktreeRemove` hook,除非另一個工作階段的記錄也指向它。`claude rm` 只要檔案仍存在就會保留這類目錄。 |1105| v2.1.216 | `/fork`:[確認訊息](#from-inside-a-session)為一行,顯示副本的狀態、其 agent view 列的名稱及供 `claude attach` 使用的工作階段 ID,僅當副本在主要工作樹中執行或編輯您開啟的簽出時,才會以 `runs in the origin tree` 或 `edits this checkout` 結尾。點擊名稱會背景化此工作階段,並在副本的工作階段中開啟 agent view。確認訊息不再重述副本繼承的權限模式;較早版本會列印多行確認訊息,且沒有可點擊的名稱。 需要輸入:在沒有人附加時執行的 `/install-github-app` 和 `/mcp` 設定清單,會將工作階段顯示在 `Needs input` 下,並以一列指出該命令,附加並重新執行命令即可繼續;從 v2.1.208 到 v2.1.215,它們在該狀態下會被直接拒絕。 `--agent` 還原:當工作區受信任時,恢復或重新啟動[背景化的 `--agent` 工作階段](#from-your-shell)會還原 agent 的系統提示詞和工具限制,並優先在工作階段自己的目錄中搜尋該 agent;其 agent 已不存在的工作階段會以預設工具和系統提示詞繼續,並在開啟時顯示可見的警告,而不是在無提示的情況下還原為預設 agent。 `Ctrl+X`:按兩次會刪除工作階段,即使停止嘗試失敗,而不是讓失敗的停止取消待決的刪除,且工作程序已終止的已刪除工作階段不再於下一次重新整理時重新出現。 Worktree 刪除:worktree 目錄不屬於任何 git 儲存庫的工作階段可以被刪除;在此版本之前,每次刪除這類工作階段的嘗試都會被拒絕。已不存在的目錄會立即清除。Agent view 的雙按會移除仍有檔案的目錄,對於由 hook 建立的目錄會執行您的 `WorktreeRemove` hook,除非另一個工作階段的記錄也指向它。`claude rm` 只要檔案仍存在就會保留這類目錄。 |

1049| v2.1.214 | 使用 `←` 或 `/background` 背景化、且閒置時沒有任何執行中項目的工作階段,會像任何其他閒置工作階段一樣停止其程序,而不是讓其程序和背景服務無限期執行。已完成的工作階段可在背景服務閒置後使用 `claude rm` 或從 agent view 移除,而從非 git 儲存庫目錄(例如多儲存庫工作區資料夾)分派後進入 worktree 的工作階段,當 worktree 本身屬於 git 儲存庫時,可以從 agent view 刪除,因為清理是從 worktree 而不是從分派工作階段的目錄解析的;這兩種移除在之前的每次嘗試都會被拒絕。重新開啟已停止的工作階段會還原其已儲存的對話,即使逐字稿儲存區中的某個資料夾無法讀取。 |1106| v2.1.214 | 使用 `←` 或 `/background` 背景化、且閒置時沒有任何執行中項目的工作階段,會像任何其他閒置工作階段一樣停止其程序,而不是讓其程序和背景服務無限期執行。已完成的工作階段可在背景服務閒置後使用 `claude rm` 或從 agent view 移除,而從非 git 儲存庫目錄(例如多儲存庫工作區資料夾)分派後進入 worktree 的工作階段,當 worktree 本身屬於 git 儲存庫時,可以從 agent view 刪除,因為清理是從 worktree 而不是從分派工作階段的目錄解析的;這兩種移除在之前的每次嘗試都會被拒絕。重新開啟已停止的工作階段會還原其已儲存的對話,即使逐字稿儲存區中的某個資料夾無法讀取。 |

1050| v2.1.213 | `/install-github-app`、[`/mcp`](/docs/zh-TW/mcp) 設定清單和 MCP 身分驗證動作在附加終端機時可在背景工作階段中運作,僅在沒有人附加時被拒絕,並顯示訊息告訴您附加後再次執行命令;從 v2.1.208 到 v2.1.212,即使附加了終端機也會被拒絕。 |1107| v2.1.213 | `/install-github-app`、[`/mcp`](/docs/zh-TW/mcp) 設定清單和 MCP 身分驗證動作在附加終端機時可在背景工作階段中運作,僅在沒有人附加時被拒絕,並顯示訊息告訴您附加後再次執行命令;從 v2.1.208 到 v2.1.212,即使附加了終端機也會被拒絕。 |

1051| v2.1.212 | [互動工作階段中的 `/fork`](#from-inside-a-session) 會將對話複製到一個顯示為獨立列的新背景工作階段,以其來源工作階段命名,或對於未命名工作階段的帶提示詞分支,以分支提示詞命名,而原始工作階段會持續執行;`/fork` 較早的分支 subagent 行為已移到 `/subtask`。在[關閉 agent view](#turn-off-agent-view) 時,`/fork` 保持分支 subagent 行為。等待其第一個提示詞的焦點列會顯示 `space to send it a prompt`。在支援延伸按鍵回報的終端機上,`Ctrl+J` 會在分派輸入中插入換行(先前該按鍵會被忽略),`?` 覆蓋層會列出此快捷鍵。當背景工作階段完成且沒有任何工作階段需要您輸入時,互動工作階段中的 `←` 頁尾提示會短暫顯示 `N done`。在 agent view 中輸入不帶參數的 `/resume` 會開啟您開啟 agent view 所在儲存庫的過去工作階段選擇器,包括已從清單刪除的工作階段,選擇其中一個會將其恢復為背景工作階段;在此版本之前,`/resume` 在 agent view 中不可用,已刪除的工作階段只能透過 `claude --resume` 或互動工作階段中的 `/resume` 存取。指定目標、限定範圍和受限的形式會保留較早版本對所有形式都顯示的 `attach to a session to run it` 提示。等待沙箱網路主機提示、MCP 輸入請求或受管設定提示的工作階段,在 agent view 和 `claude agents --json` 中會顯示為 `Needs input` 而不是 `Working`,Claude 提出的問題會回報 `waitingFor: input needed` 而不是 `permission prompt`。附加到程序已停止的工作階段會以執行中工作階段的呈現方式顯示其逐字稿,而不是原始文字。逐字稿位於非預期位置的已停止工作階段,會透過對您已儲存逐字稿的最後手段掃描從中恢復,而開啟沒有已儲存逐字稿的列會顯示 `Press enter again to restart this session fresh`,並在第二次按下時重新全新啟動;v2.1.211 會顯示拒絕訊息,且無法從 agent view 重新啟動。 |1108| v2.1.212 | [互動工作階段中的 `/fork`](#from-inside-a-session) 會將對話複製到新的背景工作階段,而原始工作階段會持續執行;`/fork` 較早的分支 subagent 行為已移到 `/subtask`。在[關閉 agent view](#turn-off-agent-view) 時,`/fork` 保持分支 subagent 行為。 |

1109| v2.1.212 | [在 agent view 中輸入不帶參數的 `/resume`](#bring-back-a-past-session) 會開啟您開啟 agent view 所在儲存庫的過去工作階段選擇器。 |

1052| v2.1.211 | 透過附加或從其執行目錄回覆來喚醒已停止的工作階段時,會再次以與全新分派相同的條件轉發您 shell 的閘道 `ANTHROPIC_BASE_URL`,所以透過閘道 `ANTHROPIC_AUTH_TOKEN` 進行身分驗證的工作階段會在閘道上恢復,而不是回報 `Not logged in`。附加到在第一個回應完成前就從另一個對話背景化的已停止工作階段,會被拒絕並出現 `This session has no saved transcript`,而不是在無提示的情況下以相同工作階段 ID 啟動空白對話;從 agent view 開啟相同的列會在頁尾顯示拒絕訊息。從 Claude Code 外部結束 `←` 或 `/background` 工作階段的程序會將其標記為已停止,而不是讓監督程序重新啟動它;已記錄在磁碟上的停止會被遵守,除非您傳送的回覆仍在等待傳遞;當機後重新啟動的工作階段會被告知它已重新啟動;重新啟動的 `←` 或 `/background` 工作階段不會恢復超過約一小時前中斷的回應。回答或拒絕提示詞而不是為其加上標籤的工作階段命名回覆,例如對於主要是連結的提示詞,會被丟棄,該列會保留從提示詞文字取得的名稱。刪除其 worktree 已不被 git 識別的工作階段會成功,在磁碟上保留 worktree 目錄並指出其路徑,而不是每次嘗試都被拒絕。被拒絕的刪除會在工作階段列上顯示原因,包括 worktree 無法移除時的底層 git 錯誤,而不是讓該列在無提示的情況下重新出現。 |1110| v2.1.211 | 透過附加或從其執行目錄回覆來喚醒已停止的工作階段時,會再次以與全新分派相同的條件轉發您 shell 的閘道 `ANTHROPIC_BASE_URL`,所以透過閘道 `ANTHROPIC_AUTH_TOKEN` 進行身分驗證的工作階段會在閘道上恢復,而不是回報 `Not logged in`。附加到在第一個回應完成前就從另一個對話背景化的已停止工作階段,會被拒絕並出現 `This session has no saved transcript`,而不是在無提示的情況下以相同工作階段 ID 啟動空白對話;從 agent view 開啟相同的列會在頁尾顯示拒絕訊息。從 Claude Code 外部結束 `←` 或 `/background` 工作階段的程序會將其標記為已停止,而不是讓監督程序重新啟動它;已記錄在磁碟上的停止會被遵守,除非您傳送的回覆仍在等待傳遞;當機後重新啟動的工作階段會被告知它已重新啟動;重新啟動的 `←` 或 `/background` 工作階段不會恢復超過約一小時前中斷的回應。回答或拒絕提示詞而不是為其加上標籤的工作階段命名回覆,例如對於主要是連結的提示詞,會被丟棄,該列會保留從提示詞文字取得的名稱。刪除其 worktree 已不被 git 識別的工作階段會成功,在磁碟上保留 worktree 目錄並指出其路徑,而不是每次嘗試都被拒絕。被拒絕的刪除會在工作階段列上顯示原因,包括 worktree 無法移除時的底層 git 錯誤,而不是讓該列在無提示的情況下重新出現。 |

1053| v2.1.210 | `claude attach` 會在背景服務啟動或重新連線時等待,而不是以 `job not found` 或 `still starting` 錯誤失敗,會將在附加期間完成的工作階段回報為已退出,並在附加完成時套用緩慢附加期間進行的終端機大小調整。提示詞頁尾的 `←` 需要輸入計數會出現在每個提供者上,包括先前顯示純 `← for agents` 形式的第三方提供者。使用 `←` 背景化工作階段會將 Claude 的任務清單帶到背景工作階段,而不是丟棄它。您按下 `←` 時所在的列在選取移動後會保留粗體、未變暗的名稱。`claude agents --effort` 會接受 `ultracode`,而不是在無提示的情況下丟棄它。 |1111| v2.1.210 | `claude attach` 會在背景服務啟動或重新連線時等待,而不是以 `job not found` 或 `still starting` 錯誤失敗,會將在附加期間完成的工作階段回報為已退出,並在附加完成時套用緩慢附加期間進行的終端機大小調整。提示詞頁尾的 `←` 需要輸入計數會出現在每個提供者上,包括先前顯示純 `← for agents` 形式的第三方提供者。使用 `←` 背景化工作階段會將 Claude 的任務清單帶到背景工作階段,而不是丟棄它。您按下 `←` 時所在的列在選取移動後會保留粗體、未變暗的名稱。`claude agents --effort` 會接受 `ultracode`,而不是在無提示的情況下丟棄它。 |

1054| v2.1.208 | 附加到程序已停止的工作階段時,會在程序啟動期間顯示其逐字稿的最後一個畫面,而不是只顯示 `Session is starting` 備註。因背景服務無法連線或傳送失敗而無法傳遞的回覆會被儲存,並在其程序再次啟動時作為工作階段的下一個提示詞傳送;在此版本之前,背景服務無法連線時遺失的回覆會被丟棄。自身二進位檔已被更新取代的程序,仍可從已安裝的 `claude` 啟動器或磁碟上的最新版本啟動監督程序,而不是在 Claude Code 重新啟動前持續失敗。執行較舊版本的監督程序永遠不會將由較新版本啟動的閒置工作階段重新啟動到其自身較舊的二進位檔上。刪除工作階段會移除其 worktree,即使工作階段已將 worktree 切換到不同的分支;而當 worktree 有未推送到任何地方的提交或另一個工作階段宣告擁有它時,會將 worktree 與工作階段列一起保留,而不是銷毀提交或讓 worktree 成為孤立狀態。`/install-github-app` 和 `/mcp` 設定清單及其身分驗證動作在背景工作階段中會被拒絕,並顯示指出替代方案的訊息;僅在 v2.1.208 中,`/model` 選擇器也以相同方式被拒絕,且輸入的 `/model <name>` 只會切換該工作階段,而不會同時儲存您的預設模型。 |1112| v2.1.208 | 附加到程序已停止的工作階段時,會在程序啟動期間顯示其逐字稿的最後一個畫面,而不是只顯示 `Session is starting` 備註。因背景服務無法連線或傳送失敗而無法傳遞的回覆會被儲存,並在其程序再次啟動時作為工作階段的下一個提示詞傳送;在此版本之前,背景服務無法連線時遺失的回覆會被丟棄。自身二進位檔已被更新取代的程序,仍可從已安裝的 `claude` 啟動器或磁碟上的最新版本啟動監督程序,而不是在 Claude Code 重新啟動前持續失敗。執行較舊版本的監督程序永遠不會將由較新版本啟動的閒置工作階段重新啟動到其自身較舊的二進位檔上。刪除工作階段會移除其 worktree,即使工作階段已將 worktree 切換到不同的分支;而當 worktree 有未推送到任何地方的提交或另一個工作階段宣告擁有它時,會將 worktree 與工作階段列一起保留,而不是銷毀提交或讓 worktree 成為孤立狀態。`/install-github-app` 和 `/mcp` 設定清單及其身分驗證動作在背景工作階段中會被拒絕,並顯示指出替代方案的訊息;僅在 v2.1.208 中,`/model` 選擇器也以相同方式被拒絕,且輸入的 `/model <name>` 只會切換該工作階段,而不會同時儲存您的預設模型。 |


1061| v2.1.199 | 在低記憶體主機上,其程序在完成啟動前就退出的背景工作階段,會在其列狀態中顯示 `possibly low memory — free some up and retry`,而不是只顯示單純的退出原因。使用 `←` 或 `/background` 背景化工作階段會將其 `/color` 帶到新列。 |1119| v2.1.199 | 在低記憶體主機上,其程序在完成啟動前就退出的背景工作階段,會在其列狀態中顯示 `possibly low memory — free some up and retry`,而不是只顯示單純的退出原因。使用 `←` 或 `/background` 背景化工作階段會將其 `/color` 帶到新列。 |

1062| v2.1.198 | 當背景工作階段需要輸入、完成或失敗時,Agent view 會透過 `preferredNotifChannel` 傳送通知,並以 `agent_needs_input` 或 `agent_completed` 類型觸發 `Notification` hook。在 `claude attach <id>` 內的 `←` 和 `/exit` 會返回 agent view,而不是退出到 shell;`Ctrl+Z` 會返回 shell。在 worktree 中隔離其工作的背景工作階段完成時,會提交、推送其自己的隔離分支(絕不是 `main` 或 `master`),並開啟草稿 pull request,而不是先詢問。`/login` 可在 agent view 中執行並開啟登入對話框。`Background work is running` 退出對話框提供 `Move to background and exit`。退出交接也涵蓋背景 subagent,它們會在下次喚醒時從其逐字稿恢復,而不是被回報為失敗。`claude --bg` 與 `-p` 或 `--print` 合併使用會被拒絕並出現錯誤。背景工作階段主機會在首次存取 LAN 時請求 macOS 本機網路權限,而不是以 `connect: no route to host` 失敗。 |1120| v2.1.198 | 當背景工作階段需要輸入、完成或失敗時,Agent view 會透過 `preferredNotifChannel` 傳送通知,並以 `agent_needs_input` 或 `agent_completed` 類型觸發 `Notification` hook。在 `claude attach <id>` 內的 `←` 和 `/exit` 會返回 agent view,而不是退出到 shell;`Ctrl+Z` 會返回 shell。在 worktree 中隔離其工作的背景工作階段完成時,會提交、推送其自己的隔離分支(絕不是 `main` 或 `master`),並開啟草稿 pull request,而不是先詢問。`/login` 可在 agent view 中執行並開啟登入對話框。`Background work is running` 退出對話框提供 `Move to background and exit`。退出交接也涵蓋背景 subagent,它們會在下次喚醒時從其逐字稿恢復,而不是被回報為失敗。`claude --bg` 與 `-p` 或 `--print` 合併使用會被拒絕並出現錯誤。背景工作階段主機會在首次存取 LAN 時請求 macOS 本機網路權限,而不是以 `connect: no route to host` 失敗。 |

1063| v2.1.196 | 按一次 `←` 即可背景化前景工作階段;較早的版本需要按兩次,並附有頁尾提示和確認。傳遞給 `claude agents` 的 `--dangerously-skip-permissions` 會顯示繞過免責聲明,而不是在無提示的情況下被丟棄。您從未命名的互動工作階段在工作階段清單和 `claude agents --json` 中會帶有預設名稱,例如 `my-app-3f`。背景 shell 命令和動態工作流程在工作階段的程序被停止、重新啟動或更新時仍會存續,包括在 Windows 上;設定 `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` 可關閉此交接。在重新啟動時被誤判為空的逐字稿會加上 `.orphaned-` 後綴重新命名,而不是被刪除。 |1121| v2.1.196 | 按一次 `←` 即可背景化前景工作階段;較早的版本需要按兩次,並附有頁尾提示和確認。傳遞給 `claude agents` 的 `--dangerously-skip-permissions` 會顯示繞過免責聲明,而不是在無提示的情況下被丟棄。您從未命名的互動工作階段在工作階段清單和 `claude agents --json` 中會帶有預設名稱,例如 `my-app-3f`。背景 shell 命令和動態工作流程在工作階段的程序被停止、重新啟動或更新時仍會存續,包括在 Windows 上;設定 `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` 可關閉此交接。在重新啟動時被誤判為空的逐字稿會加上 `.orphaned-` 後綴重新命名,而不是被刪除。 |

1064| v2.1.195 | 在 Windows 上背景化工作階段時,進行中的背景工作也會轉移;設定 `CLAUDE_DISABLE_ADOPT=1` 可改為停止它。`Completed` 群組會填滿剩餘的垂直空間,標題在較矮的終端機上會壓縮。較舊的 Claude Code 版本不再丟棄較新工作階段的 `state.json` 欄位,也不再從 `claude agents` 中隱藏這些工作階段。附加到已停止的工作階段會立即切換,而不是顯示空白畫面長達五秒。無法接受連線的監督程序會自行退出並釋放其鎖定。 |1122| v2.1.195 | 在 Windows 上背景化工作階段時,進行中的背景工作也會轉移。`Completed` 群組會填滿剩餘的垂直空間,標題在較矮的終端機上會壓縮。較舊的 Claude Code 版本不再丟棄較新工作階段的 `state.json` 欄位,也不再從 `claude agents` 中隱藏這些工作階段。附加到已停止的工作階段會立即切換,而不是顯示空白畫面長達五秒。無法接受連線的監督程序會自行退出並釋放其鎖定。 |

1065| v2.1.191 | `claude --bg` 搭配不符合您任何 subagent 的 `--agent` 名稱時會啟動失敗:工作階段會立即退出並出現 `--agent '<name>' not found` 錯誤,而不是以預設 agent 執行。 |1123| v2.1.191 | `claude --bg` 搭配不符合您任何 subagent 的 `--agent` 名稱時會啟動失敗:工作階段會立即退出並出現 `--agent '<name>' not found` 錯誤,而不是以預設 agent 執行。 |

1066| v2.1.174 | 背景工作階段不再從監督程序的啟動 shell 繼承閘道端點變數,例如 `ANTHROPIC_BASE_URL`;監督程序會向預熱的工作程序提供新的憑證快照,修正了虛假的 `Could not resolve authentication method` 錯誤。 |1124| v2.1.174 | 背景工作階段不再從監督程序的啟動 shell 繼承閘道端點變數,例如 `ANTHROPIC_BASE_URL`;監督程序會向預熱的工作程序提供新的憑證快照,修正了虛假的 `Could not resolve authentication method` 錯誤。 |

1067| v2.1.172 | 分派輸入中的 `/model` 會設定工作階段範圍的分派模型覆寫。 |1125| v2.1.172 | 分派輸入中的 `/model` 會設定工作階段範圍的分派模型覆寫。 |

artifacts.md +17 −6

Details

98* **`Enter`**:若該 artifact 已附加到目前的工作階段,則在瀏覽器中開啟它;若尚未附加,則將其附加到目前的工作階段。在 v2.1.216 之前,`Enter` 會在瀏覽器中開啟它98* **`Enter`**:若該 artifact 已附加到目前的工作階段,則在瀏覽器中開啟它;若尚未附加,則將其附加到目前的工作階段。在 v2.1.216 之前,`Enter` 會在瀏覽器中開啟它

99* **`o`**:在瀏覽器中開啟它99* **`o`**:在瀏覽器中開啟它

100* **`c`**:複製其連結100* **`c`**:複製其連結

101* **`d`**:在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)以外,經您確認後永久刪除您擁有的 artifact。其連結將對所有人失效,包括您自己

101 102 

102Claude Code 從您的 claude.ai 帳戶讀取清單,因此即使連結已從終端機捲出,它在新工作階段中以及執行 `/clear` 之後仍可運作。103Claude Code 從您的 claude.ai 帳戶讀取清單,因此當 artifact 的連結已從終端機捲出時,`/artifacts` 在新工作階段中以及執行 `/clear` 之後仍可運作。

103 104 

104## 分享成品105## 分享成品

105 106 

106新的成品只有你能看到。若要分享,請在瀏覽器中開啟成品,並使用頁面標題中的**分享**控制項。標題也會連結到你的圖庫 [claude.ai/code/artifacts](https://claude.ai/code/artifacts),其中列出你建立的每個成品。107新的成品只有你能看到。若要分享,請在瀏覽器中開啟成品,並使用頁面標題中的**分享**控制項。標題也會連結到你的圖庫 [claude.ai/code/artifacts](https://claude.ai/code/artifacts),其中列出你建立的每個成品。

107 108 

108你組織中的檢視者可以看到誰發佈了該頁面:在組織內分享的成品上,你的名稱會在標題選單中;在公開成品上,已登入的組織成員檢視者會在頁面標題中看到你的名稱。未登入或來自組織外部的檢視者開啟公開連結時,會看到標籤 `內容由使用者產生且未經驗證。` 而不是你的名稱。109您組織中的檢視者可以看到誰發佈了該頁面:在組織內分享的 artifact 上,您的名稱會在標題選單中;在公開 artifact 上,已登入的組織成員檢視者會在頁面標題中看到您的名稱。未登入或來自組織外部的檢視者開啟公開連結時,會看到標籤 `Content is user-generated and unverified.` 而不是您的名稱。

109 110 

110你可以分享給誰取決於你的方案:111你可以分享給誰取決於你的方案:

111 112 

112* **在組織內**:在 Team 和 Enterprise 方案上,授予組織中特定人員或所有人的存取權。檢視者以組織成員身分登入 claude.ai 以查看該頁面。113* **在組織內**:在 Team 和 Enterprise 方案上,授予組織中特定人員或所有人的存取權。檢視者以組織成員身分登入 claude.ai 以查看該頁面。

113* **公開**:分享一個連結,網際網路上的任何人都可以開啟,無需 claude.ai 登入。在 Team 和 Enterprise 方案上,公開分享處於關閉狀態,直到擁有者[為組織啟用它](#control-public-sharing)。114* **公開**:分享一個連結,網際網路上的任何人都可以開啟,無需 claude.ai 登入。在 Team 和 Enterprise 方案上,公開分享處於關閉狀態,直到擁有者[為組織啟用它](#control-public-sharing)。

114 115 

116### 連結到特定檢視

117 

118如果頁面有多個檢視,例如分頁或區段,您可以直接連結到其中一個。請向 Claude 索取連結:

119 

120```text wrap theme={null}

121Give me a link to each tab of the deploy failures dashboard.

122```

123 

124每個連結都是 artifact 的連結,並在結尾加上錨點,例如 `#overview`。

125 

115### 讓某人與你一起編輯126### 讓某人與你一起編輯

116 127 

117與你分享的人預設為檢視者:他們可以看到你發佈的每個版本,但無法變更頁面。在 Team 和 Enterprise 方案上,你也可以讓某人成為編輯者。在分享對話中,新增一個人並將其角色從**檢視者**切換為**編輯者**。128與你分享的人預設為檢視者:他們可以看到你發佈的每個版本,但無法變更頁面。在 Team 和 Enterprise 方案上,你也可以讓某人成為編輯者。在分享對話中,新增一個人並將其角色從**檢視者**切換為**編輯者**。


424 435 

425| 方法 | 端點 |436| 方法 | 端點 |

426| :- | :- |437| :- | :- |

427| `GET` | `/v1/compliance/code/artifacts` |438| `GET` | `/v1/compliance/apps/code/artifacts` |

428| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |439| `GET` | `/v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}` |

429| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |440| `DELETE` | `/v1/compliance/apps/code/artifacts/{artifact_id}` |

430 441 

431有關請求和回應架構,請參閱 [Compliance API 參考](https://docs.claude.com/en/api/compliance/code/artifacts)。442有關請求和回應 schema,請參閱 [Compliance API 參考](https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts)。

432 443 

433## 相關資源444## 相關資源

434 445 

Details

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` 需要 Pro、Max 或 Team 方案,以及 Claude Code v2.1.228 或更新版本。在原生 Windows 上需要 v2.1.233 或更新版本。您無法在 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 中執行它。它也需要[功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching),所以您無法在已關閉旗標擷取的工作階段中執行它。164> `/auto-mode-setup` 適用於 Pro、Max、Team 和 Enterprise 方案,以及使用 Claude Console API 金鑰時。在 Pro、Max 或 Team 方案上,您需要 v2.1.228 或更新版本,在原生 Windows 上則需要 v2.1.233 或更新版本。在 Enterprise 方案上或使用 Claude Console API 金鑰時,您需要 v2.1.283 或更新版本。如果您的工作階段中沒有此命令,請參閱 [`/auto-mode-setup` returns "Unknown command"](#auto-mode-setup-returns-unknown-command)。

165 165 

166### `/auto-mode-setup` 讀取的內容166### `/auto-mode-setup` 讀取的內容

167 167 


202 202 

203`/auto-mode-setup` 是內建命令而不是[捆綁技能](/docs/zh-TW/skills#bundled-skills),所以此 `skillOverrides` 項目仍然適用於它,但 [`disableBundledSkills`](/docs/zh-TW/settings-reference#disablebundledskills) 不會將其關閉。203`/auto-mode-setup` 是內建命令而不是[捆綁技能](/docs/zh-TW/skills#bundled-skills),所以此 `skillOverrides` 項目仍然適用於它,但 [`disableBundledSkills`](/docs/zh-TW/settings-reference#disablebundledskills) 不會將其關閉。

204 204 

205### `/auto-mode-setup` returns "Unknown command"

206 

207如果在 Claude Code 提示字元中輸入 `/auto-mode-setup` 時顯示 `Unknown command: /auto-mode-setup`,請檢查以下原因:

208 

209* **安裝或升級後的第一個工作階段**:啟動新的工作階段。如果該工作階段中仍然沒有此命令,請參閱[之後的工作階段也會在沒有此命令的情況下啟動的設定](/docs/zh-TW/env-vars#first-session-after-an-install-or-upgrade)。

210* **版本過舊**:在您的 shell 中執行 `claude --version`。如果版本低於[您方案的最低要求](#generate-environment-entries),請[更新 Claude Code](/docs/zh-TW/setup#update-claude-code)。

211* **遙測已關閉、第三方供應商或 Claude apps 閘道**:在 v2.1.304 之前,此命令在[已關閉功能旗標擷取的工作階段](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)中無法使用。如果您的工作階段屬於其中之一,請將 [Claude Code 更新](/docs/zh-TW/setup#update-claude-code)至 v2.1.304 或更新版本。

212 

213在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中,此命令會改為顯示 `/auto-mode-setup isn't available in this environment.`。請在終端機的互動式工作階段中執行它。

214 

205## 覆蓋阻止和允許規則215## 覆蓋阻止和允許規則

206 216 

207三個額外的欄位讓您取代分類器的內建規則清單:217三個額外的欄位讓您取代分類器的內建規則清單:

Details

44 44 

45選擇「從此處之前總結」會讓您留在對話末尾,輸入為空。使用任一總結選項,**已總結對話**標記會出現在對話中被壓縮訊息的位置。45選擇「從此處之前總結」會讓您留在對話末尾,輸入為空。使用任一總結選項,**已總結對話**標記會出現在對話中被壓縮訊息的位置。

46 46 

47#### 如果您在下一個提示詞之前退出,已回溯的訊息可能會重新出現

48 

49若要再次移除重新出現的訊息,請在該工作階段中執行 `/rewind` 並選擇相同的提示詞,然後選擇**恢復對話**。在退出之前,請傳送一個提示詞給 Claude,因為 Claude Code 會將回溯後的對話與該提示詞一起儲存。您已還原的檔案會維持回溯後的狀態。

50 

47#### 回溯過去已清除的對話51#### 回溯過去已清除的對話

48 52 

49如果您在同一個 Claude Code 程序中較早執行了 `/clear`,回溯選單會在清單頂部顯示一個額外的項目,標記為 `/resume <session-id> (previous session)`。選擇它以恢復在 `/clear` 執行前活躍的對話。該項目在您退出 Claude Code 或恢復不同會話之前可用。53如果您在同一個 Claude Code 程序中較早執行了 `/clear`,回溯選單會在清單頂部顯示一個額外的項目,標記為 `/resume <session-id> (previous session)`。選擇它以恢復在 `/clear` 執行前活躍的對話。該項目在您退出 Claude Code 或恢復不同會話之前可用。

Details

825`match: {}` 全部捕捉(按慣例列在最後)被視為基礎層。每個其他原則從全部捕捉繼承它未設定的任何金鑰,因此每個角色項目只需列出與組織預設不同的內容。合併規則取決於金鑰類型:825`match: {}` 全部捕捉(按慣例列在最後)被視為基礎層。每個其他原則從全部捕捉繼承它未設定的任何金鑰,因此每個角色項目只需列出與組織預設不同的內容。合併規則取決於金鑰類型:

826 826 

827* **允許清單**:`availableModels` 和 `permissions.allow`。特定原則的清單完全替換基礎的。827* **允許清單**:`availableModels` 和 `permissions.allow`。特定原則的清單完全替換基礎的。

828* **拒絕清單和 hook 陣列**:`permissions.deny`、`permissions.ask`、`disabledMcpjsonServers`、`deniedMcpServers`、`blockedMarketplaces` 和每個 `hooks` 事件類型陣列。這些取基礎和原則的聯集,因此組織範圍的拒絕或稽核 hook 不會被每個角色覆寫意外丟棄。828* **拒絕清單與 hook 陣列**:`permissions.deny`、`permissions.ask`、`disabledMcpjsonServers`、`deniedMcpServers`、`blockedMarketplaces`、`deniedModels`,以及每個 `hooks` 事件類型陣列。這些會取基礎與政策的聯集,因此全組織的拒絕規則或稽核 hook 不會因各角色的覆寫而被意外移除。

829* **記錄類型金鑰**:`env`、`modelOverrides` 和 `skillOverrides`。這些淺合併,因此每個角色 `env` 區塊覆寫它設定的金鑰並從基礎繼承其餘的。829* **記錄類型金鑰**:`env`、`modelOverrides` 和 `skillOverrides`。這些淺合併,因此每個角色 `env` 區塊覆寫它設定的金鑰並從基礎繼承其餘的。

830 830 

831`availableModels` 也在 `/v1/messages` 伺服器端強制執行,因此被拒絕的模型返回 `400`,無論用戶端傳送什麼。空清單會拒絕每個模型。此檢查也涵蓋開發者選擇模型之前工作階段啟動時所使用的模型,因此請[讓工作階段從原則允許的模型啟動](#start-sessions-on-a-model-the-policy-allows)。831`availableModels` 也在 `/v1/messages` 伺服器端強制執行,因此被拒絕的模型返回 `400`,無論用戶端傳送什麼。空清單會拒絕每個模型。此檢查也涵蓋開發者選擇模型之前工作階段啟動時所使用的模型,因此請[讓工作階段從原則允許的模型啟動](#start-sessions-on-a-model-the-policy-allows)。


971| 金鑰 | 由以下強制執行 | 效果 |971| 金鑰 | 由以下強制執行 | 效果 |

972| - | - | - |972| - | - | - |

973| `availableModels` | Gateway + CLI | 模型允許清單。也在 `/v1/messages` 檢查,因此修補的用戶端無法繞過它。 |973| `availableModels` | Gateway + CLI | 模型允許清單。也在 `/v1/messages` 檢查,因此修補的用戶端無法繞過它。 |

974| [`deniedModels`](/docs/zh-TW/settings-reference#deniedmodels)、[`availableModelsMatch`](/docs/zh-TW/settings-reference#availablemodelsmatch) | 閘道 + CLI | [封鎖特定模型或版本](/docs/zh-TW/model-config#block-specific-models-or-versions),即使 `availableModels` 原本會允許它們。遭封鎖的模型會在 `/v1/messages` 以 `400` 拒絕,並從 `/v1/models` 中排除。閘道自身的檢查需要閘道伺服器上為 Claude Code v2.1.299 或更新版本。CLI 的檢查需要用戶端上為 v2.1.283 或更新版本,較早的用戶端會忽略這兩個鍵。 |

974| `permissions.allow` / `.deny` | CLI | 工具和命令規則。請參閱[權限](/docs/zh-TW/permissions)。 |975| `permissions.allow` / `.deny` | CLI | 工具和命令規則。請參閱[權限](/docs/zh-TW/permissions)。 |

975| `permissions.disableBypassPermissionsMode` | CLI | 設定為 `disable` 以阻止 [`bypassPermissions`](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode),跳過權限提示的模式,以及 `--dangerously-skip-permissions` 旗標 |976| `permissions.disableBypassPermissionsMode` | CLI | 設定為 `disable` 以阻止 [`bypassPermissions`](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode),跳過權限提示的模式,以及 `--dangerously-skip-permissions` 旗標 |

976| `allowManagedPermissionRulesOnly` | CLI | 當 `true` 時,受管設定成為權限規則的唯一設定來源。[`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) 項目列出 Claude Code 隨後忽略的每個來源。 |977| `allowManagedPermissionRulesOnly` | CLI | 當 `true` 時,受管設定成為權限規則的唯一設定來源。[`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) 項目列出 Claude Code 隨後忽略的每個來源。 |


1043 1044 

1044閘道會從符合原則的 `cli` 或 `code` 區塊以及頂層閘道設定衍生出大部分的 bootstrap 回應:1045閘道會從符合原則的 `cli` 或 `code` 區塊以及頂層閘道設定衍生出大部分的 bootstrap 回應:

1045 1046 

1046* 模型清單,來自 `availableModels`。[Claude Desktop 中的延伸上下文](#extended-context-in-claude-desktop)涵蓋每個模型的 1M 上下文選項1047* 模型清單,來自 `availableModels`。清單會排除政策以 [`deniedModels` 或 `availableModelsMatch: exact`](#what-goes-in-cli) 封鎖的模型。此篩選需要閘道伺服器上為 Claude Code v2.1.299 或更新版本。[Claude Desktop 中的延伸上下文](#extended-context-in-claude-desktop)說明每個模型的 1M 上下文選項

1047* 禁用的工具,來自裸工具名稱 `permissions.deny` 項目。如果您在原則的 `desktop` 區塊中設定 `disabledBuiltinTools`,gateway 提供您的值和衍生清單的聯集,因此您可以透過此方式禁用更多工具,但無法重新啟用您透過 `permissions.deny` 禁用的工具1048* 禁用的工具,來自裸工具名稱 `permissions.deny` 項目。如果您在原則的 `desktop` 區塊中設定 `disabledBuiltinTools`,gateway 提供您的值和衍生清單的聯集,因此您可以透過此方式禁用更多工具,但無法重新啟用您透過 `permissions.deny` 禁用的工具

1048* 輸出允許清單,來自 `sandbox.network.allowedDomains`。若您在原則的 `desktop` 區塊中設定 `coworkEgressAllowedHosts`,閘道會改用該值,而非衍生清單。若閘道提供的允許清單包含 `*`,且閘道未同時提供 Claude Desktop 的 [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy),Claude Desktop 就不會在 Code 分頁中開啟 [Bash 沙箱](/docs/zh-TW/sandboxing)1049* 輸出允許清單,來自 `sandbox.network.allowedDomains`。若您在原則的 `desktop` 區塊中設定 `coworkEgressAllowedHosts`,閘道會改用該值,而非衍生清單。若閘道提供的允許清單包含 `*`,且閘道未同時提供 Claude Desktop 的 [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy),Claude Desktop 就不會在 Code 分頁中開啟 [Bash 沙箱](/docs/zh-TW/sandboxing)

1049* 指向 gateway 本身的 OTLP 端點,以及已登入使用者的身分屬性。gateway 轉發它在該端點接收的匯出到您的 `forward_to` 目的地。當您同時設定 [`telemetry.forward_to`](#telemetry) 和 `listen.public_url` 時,它包括端點和屬性。1050* 指向 gateway 本身的 OTLP 端點,以及已登入使用者的身分屬性。gateway 轉發它在該端點接收的匯出到您的 `forward_to` 目的地。當您同時設定 [`telemetry.forward_to`](#telemetry) 和 `listen.public_url` 時,它包括端點和屬性。

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> 雲端工作階段適用於 Pro、Max 和 Team 方案,以及具有高級席位或 Chat + Claude Code 席位的 Enterprise 使用者。11> 雲端工作階段適用於 Pro、Max 和 Team 方案,以及具有高級席位或 Chat + Claude Code 席位的 Enterprise 使用者。如果您的 Enterprise 組織使用[自訂角色](https://support.claude.com/en/articles/13930452)管理您的存取權,您還需要一個包含雲端工作階段權限的角色。請 Owner 檢查您的角色,如果缺少該權限,請在 [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) 中新增。

12 12 

13雲端工作階段是在雲端基礎設施上執行的 Claude Code 工作階段,而不是在您的機器上執行。預設情況下,它在 Anthropic 管理的基礎設施上執行,或在您的組織的[自託管環境](/docs/zh-TW/self-hosted-environments)上執行(如果路由到那裡)。工作階段在您關閉筆記型電腦後仍會繼續執行,您可以從任何裝置檢查或控制它。它會與您其餘的 Claude 和 Claude Code 使用量一起計入您方案的用量上限,雲端 VM 不另外收費。13雲端工作階段是在雲端基礎設施上執行的 Claude Code 工作階段,而不是在您的機器上執行。預設情況下,它在 Anthropic 管理的基礎設施上執行,或在您的組織的[自託管環境](/docs/zh-TW/self-hosted-environments)上執行(如果路由到那裡)。工作階段在您關閉筆記型電腦後仍會繼續執行,您可以從任何裝置檢查或控制它。它會與您其餘的 Claude 和 Claude Code 使用量一起計入您方案的用量上限,雲端 VM 不另外收費。

14 14 


264 264 

265* **`/model`、`/effort`、`/color` 和 `/rename`**:將值作為引數傳遞,例如 `/model sonnet`,而不是開啟終端機選擇器或滑塊。引數形式遵循每個命令的[可用性說明](/docs/zh-TW/commands#all-commands)。265* **`/model`、`/effort`、`/color` 和 `/rename`**:將值作為引數傳遞,例如 `/model sonnet`,而不是開啟終端機選擇器或滑塊。引數形式遵循每個命令的[可用性說明](/docs/zh-TW/commands#all-commands)。

266* **`/fast`**:當快速模式在[您的帳戶上可用](/docs/zh-TW/fast-mode#requirements)時,為工作階段切換[快速模式](/docs/zh-TW/fast-mode#use-fast-mode-in-cloud-sessions)。需要工作階段環境中的 Claude Code v2.1.271 或更新版本。266* **`/fast`**:當快速模式在[您的帳戶上可用](/docs/zh-TW/fast-mode#requirements)時,為工作階段切換[快速模式](/docs/zh-TW/fast-mode#use-fast-mode-in-cloud-sessions)。需要工作階段環境中的 Claude Code v2.1.271 或更新版本。

267* **`/config`**:在您的瀏覽器上的 claude.ai/code,開啟您設定的 Claude Code 部分,而不是設定值,命令後的文字(包括 `key=value`)會被忽略。若要變更雲端工作階段的設定,請設定環境上的[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables),或在具有一個儲存庫的工作階段中,將該設定鍵提交到該儲存庫的 `.claude/settings.json`。[雲端工作階段中的設定](/docs/zh-TW/settings#settings-in-cloud-sessions)列出每個工作階段讀取的內容。267* **`/config`**:在您的瀏覽器上的 claude.ai/code,開啟您設定的 Claude Code 部分,而不是設定值,命令後的文字(包括 `key=value`)會被忽略。若要變更雲端工作階段的設定,請設定環境上的[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)。在[專案](/docs/zh-TW/claude-projects)之外具有一個儲存庫的工作階段中,則改為將該設定鍵提交到該儲存庫的 `.claude/settings.json`。[雲端工作階段中的設定](/docs/zh-TW/settings#settings-in-cloud-sessions)列出每個工作階段讀取的內容。

268 268 

269對於上下文管理特別:269對於上下文管理特別:

270 270 


278 278 

279若要改為變更自動壓縮視窗,請在您的環境變數中設定 [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/zh-TW/env-vars),或在未設定變數的工作階段中執行 [`/autocompact`](/docs/zh-TW/commands#all-commands),搭配令牌計數。279若要改為變更自動壓縮視窗,請在您的環境變數中設定 [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/zh-TW/env-vars),或在未設定變數的工作階段中執行 [`/autocompact`](/docs/zh-TW/commands#all-commands),搭配令牌計數。

280 280 

281[Subagents](/docs/zh-TW/sub-agents) 的運作方式與本機相同。Claude 可以使用 Agent 工具生成它們,以將研究或並行工作卸載到單獨的上下文視窗中,保持主對話更輕。在您的儲存庫的 `.claude/agents/` 中定義的 Subagents 會自動選擇。281[Subagents](/docs/zh-TW/sub-agents) 的運作方式與本機相同。Claude 可以使用 Agent 工具生成它們,以將研究或並行工作卸載到單獨的上下文視窗中,保持主對話更輕。在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)的討論串之外,在您的儲存庫的 `.claude/agents/` 中定義的 subagents 會自動載入。

282 282 

283[Agent teams](/docs/zh-TW/agent-teams) 預設關閉,但可以通過將 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 新增到您的[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)來啟用。283[Agent teams](/docs/zh-TW/agent-teams) 預設關閉,但可以通過將 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 新增到您的[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)來啟用。

284 284 


428從 [claude.ai/code](https://claude.ai/code) 重新開啟工作階段以佈建新 VM:428從 [claude.ai/code](https://claude.ai/code) 重新開啟工作階段以佈建新 VM:

429 429 

430* **會恢復**:您的對話歷史記錄430* **會恢復**:您的對話歷史記錄

431* **不會恢復**:在 VM 被回收時仍在執行的背景工作,例如 subagents 和 shell 命令,以及[自行決定節奏的 `/loop`](/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval) 尚待執行的喚醒。若要重新啟動迴圈,請再次執行 `/loop`。431* **不會恢復**:在 VM 被回收時仍在執行或尚待執行的背景工作,包括:

432 * **Shell 命令**:Claude Code 會告知 Claude 哪些命令已停止。請要求 Claude 重新執行您仍需要的命令。

433 * **Subagents**:Claude Code 會告知 Claude 哪些 subagents 已停止,以及其中哪些可以[繼續執行](/docs/zh-TW/sub-agents#resume-subagents)而不必從頭開始。請要求 Claude 繼續它們的工作。

434 * **工作階段範圍的排程任務**:您[在工作階段中排程](/docs/zh-TW/scheduled-tasks)的任務,以及正在等待下一次迭代的 `/loop`,都不會延續到重新開啟的工作階段。請要求 Claude 再次排程這些任務,或再次執行 `/loop` 以重新啟動迴圈。

432 435 

433## 限制436## 限制

434 437 

Details

175 175 

176| `~/.claude/` 下的路徑 | 內容 |176| `~/.claude/` 下的路徑 | 內容 |

177| - | - |177| - | - |

178| `history.jsonl` | 您輸入的每個提示詞,附有時間戳記和專案路徑。用於向上箭頭叫回、`Ctrl+R` 歷史搜尋和 `!` shell 命令補全。當 [HIPAA 設定套用於您的工作階段](/docs/zh-TW/hipaa-setup#check-how-developers-sign-in-and-connect)時,每次掃描都會移除超過 `cleanupPeriodDays` 的項目。 |178| `history.jsonl` | 您輸入的提示詞,附有時間戳記和專案路徑。用於向上箭頭叫回、`Ctrl+R` 歷史搜尋和 `!` shell 命令補全。當 [HIPAA 設定套用於您的工作階段](/docs/zh-TW/hipaa-setup#check-how-developers-sign-in-and-connect)時,每次掃描都會移除超過 `cleanupPeriodDays` 的項目。 |

179| `stats-cache.json` | 由 `/usage` 顯示的彙總權杖和成本計數 |179| `stats-cache.json` | 由 `/usage` 顯示的彙總權杖和成本計數 |

180| `remote-settings.json` | [伺服器受管設定](/docs/zh-TW/server-managed-settings) 的快取副本,用於你的組織,或當你的組織未配置任何設定時為 `{}`。只有在工作階段 [擷取它們](/docs/zh-TW/server-managed-settings#platform-availability) 時才存在。Claude Code 在啟動時和工作階段期間每小時檢查更新。Claude Code 在你登出時刪除它。 |180| `remote-settings.json` | [伺服器受管設定](/docs/zh-TW/server-managed-settings) 的快取副本,用於你的組織,或當你的組織未配置任何設定時為 `{}`。只有在工作階段 [擷取它們](/docs/zh-TW/server-managed-settings#platform-availability) 時才存在。Claude Code 在啟動時和工作階段期間每小時檢查更新。Claude Code 在你登出時刪除它。 |

181| `cache/changelog.md` | Claude Code 變更日誌的快取副本,由 `/release-notes` 顯示。在背景中重新整理。 |181| `cache/changelog.md` | Claude Code 變更日誌的快取副本,由 `/release-notes` 顯示。在背景中重新整理。 |

claude-projects.md +18 −22

Details

52* **執行緒**:工作者。每個都是一個單獨的工作階段,有自己的上下文視窗,完成一項工作並在完成時報告回對話。雲端執行緒在自己的分支上工作,並在工作需要時打開提取請求。52* **執行緒**:工作者。每個都是一個單獨的工作階段,有自己的上下文視窗,完成一項工作並在完成時報告回對話。雲端執行緒在自己的分支上工作,並在工作需要時打開提取請求。

53* **每個雲端執行緒開始時的內容**:53* **每個雲端執行緒開始時的內容**:

54 * project 的儲存庫和檔案,加上其 [指示和記憶](#give-a-project-standing-context)54 * project 的儲存庫和檔案,加上其 [指示和記憶](#give-a-project-standing-context)

55 * `CLAUDE.md` 和 [project 每個儲存庫](#what-threads-pick-up-from-your-repositories) 中的 skill,以及在有一個儲存庫的 project 中,該儲存庫的權限規則和 hook55 * [project 每個儲存庫](#what-threads-pick-up-from-your-repositories) 中的 `CLAUDE.md`,但不包括這些儲存庫的 skill、`.claude/settings.json` 或 `.mcp.json`

56 * 您 claude.ai 帳戶上的 [連接器](#get-skills-plugins-connectors-and-tools-into-threads)56 * 您 claude.ai 帳戶上的 [連接器](#get-skills-plugins-connectors-and-tools-into-threads)

57 * 一個 [雲端環境](#choose-an-environment-for-threads),設定其網路存取、環境變數、網路密鑰和已安裝的工具57 * 一個 [雲端環境](#choose-an-environment-for-threads),設定其網路存取、環境變數、網路密鑰和已安裝的工具

58* **Overview 窗格**:您在其中 [一次看到所有執行緒](#see-what-needs-you-in-overview) 以及其中哪些需要您。其他標籤是 **Library** 用於您添加的檔案和執行緒產生的檔案,**Pull requests** 用於執行緒開啟的 pull request,**Scheduled tasks** 用於 project 中的排程工作。58* **Overview 窗格**:您在其中 [一次看到所有執行緒](#see-what-needs-you-in-overview) 以及其中哪些需要您。其他標籤是 **Library** 用於您添加的檔案和執行緒產生的檔案,**Pull requests** 用於執行緒開啟的 pull request,**Scheduled tasks** 用於 project 中的排程工作。


239 239 

240當執行緒的模型支援時,執行緒在 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中執行,因此大多數工具呼叫執行而不詢問您。當執行緒需要您的批准時,提示在該執行緒內,執行緒等待直到您在那裡回答。在 project 對話中告訴 Claude 繼續不會到達它。240當執行緒的模型支援時,執行緒在 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中執行,因此大多數工具呼叫執行而不詢問您。當執行緒需要您的批准時,提示在該執行緒內,執行緒等待直到您在那裡回答。在 project 對話中告訴 Claude 繼續不會到達它。

241 241 

242每次核准涵蓋該權限提示,或者如果您選擇更廣泛的選項,則涵蓋該執行緒的其餘部分。242每次核准涵蓋該權限提示,或者如果您選擇更廣泛的選項,則涵蓋該執行緒的其餘部分。雲端執行緒不會從儲存庫的 `.claude/settings.json` 讀取[權限規則](/docs/zh-TW/permissions),因此您依賴自動模式以及您在每個執行緒內給予的核准。

243 

244要讓每個執行緒執行某些命令而不詢問,或封鎖某些命令,請將[權限規則](/docs/zh-TW/permissions)新增到儲存庫的 `.claude/settings.json`。請確認您 project 中的雲端執行緒會套用它們:

245 

246* **一個儲存庫**:雲端執行緒會套用這些規則。請參閱[執行緒從您的儲存庫中取得什麼](#what-threads-pick-up-from-your-repositories)。

247* **多個儲存庫,Anthropic 託管的環境**:沒有任何儲存庫的權限規則會傳達到雲端執行緒,因此您依賴自動模式以及您在每個執行緒內給予的核准。

248* **多個儲存庫,自行託管的環境**:請參閱[哪個儲存庫的設定會套用](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)。

249 243 

250### 在您自己的電腦上執行執行緒244### 在您自己的電腦上執行執行緒

251 245 


313 307 

314### 決定要新增哪些儲存庫308### 決定要新增哪些儲存庫

315 309 

316您新增到專案的儲存庫在每個雲端執行緒中都帶有其中的所有內容、其程式碼、`CLAUDE.md` 和技能。您不新增的儲存庫仍在範圍內:雲端執行緒在其任務需要時可以將其新增到自己。大多數專案同時使用兩者:310您新增到專案的儲存庫會在每個雲端執行緒中帶入其程式碼和 `CLAUDE.md`,但[不包括其 skill、`.claude/settings.json` 或 `.mcp.json`](#what-threads-pick-up-from-your-repositories)。您不新增的儲存庫仍在範圍內:雲端執行緒在其任務需要時可以將其新增到自己。大多數專案同時使用兩者:

317 311 

318* **將其新增到專案**,在**新專案**對話中、在**專案設定 > 環境**中,或通過在對話中要求 Claude 將其新增到專案。從那時起,每個雲端執行緒都會複製它並開始使用其 `CLAUDE.md` 和技能,無論任務是否涉及它。從一個儲存庫轉到多個儲存庫也會改變執行緒從每個儲存庫的 `.claude/settings.json` 中取得的內容;請參閱[執行緒從您的儲存庫中取得什麼](#what-threads-pick-up-from-your-repositories)。312* **將其新增到專案**,在**新專案**對話方塊中、在**專案設定 > 環境**中,或透過在對話中要求 Claude 將其新增到專案。從那時起,每個雲端執行緒都會複製它,並在啟動時載入其 `CLAUDE.md`,無論任務是否涉及它。

319* **不要新增它,讓執行緒在需要時自行新增。** 其任務需要專案沒有的儲存庫的雲端執行緒可以將其新增到自己,執行緒中的筆記表示它僅被新增到此執行緒。複製發生在任務進行中途,因此該儲存庫的 `CLAUDE.md` 和技能在執行緒啟動時不存在。下一個執行緒再次啟動時沒有它。執行緒新增的儲存庫需要與專案儲存庫相同的[先決條件](#check-the-prerequisites):在其上安裝的 Claude GitHub App 和來自您的 GitHub 帳戶的推送存取。313* **不要新增它,讓執行緒在需要時自行新增。** 其任務需要專案沒有的儲存庫的雲端執行緒可以將其新增到自己,執行緒中的筆記表示它僅被新增到此執行緒。複製發生在任務進行中途,因此該儲存庫的 `CLAUDE.md` 在執行緒啟動時不存在。下一個執行緒啟動時沒有它。以這種方式新增的儲存庫需要與專案儲存庫相同的[先決條件](#check-the-prerequisites):在其上安裝的 Claude GitHub App 和來自您的 GitHub 帳戶的推送存取。

320 314 

321專案根本不需要儲存庫。其雲端執行緒仍然可以進行研究、寫入文件,以及在自己的沙箱中寫入和執行程式碼,並將檔案傳遞到**程式庫**標籤。那裡的任何雲端執行緒也可以在任務需要時將儲存庫新增到自己。315專案根本不需要儲存庫。其雲端執行緒仍然可以進行研究、寫入文件,以及在自己的沙箱中寫入和執行程式碼,並將檔案傳遞到**程式庫**標籤。那裡的任何雲端執行緒也可以在任務需要時將儲存庫新增到自己。

322 316 


335 329 

336### 執行緒從您的儲存庫中取得什麼330### 執行緒從您的儲存庫中取得什麼

337 331 

338每個雲端執行緒複製專案中的每個儲存庫,並從所有儲存庫載入 `CLAUDE.md` 和 skill。權限規則、hook 和 `env` 僅來自執行緒啟動所在目錄中的 `.claude/settings.json`。332無論專案有一個或多個儲存庫,雲端執行緒都會載入每個儲存庫的 `CLAUDE.md` 指示,但不會載入其 skill、`.mcp.json` 伺服器或 `.claude/settings.json`。

339 333 

340| 在每個儲存庫中 | 一個儲存庫 | 多個儲存庫 |334| 在每個儲存庫中 | 在雲端執行緒中 |

341| :- | :- | :- |335| :- | :- |

342| `CLAUDE.md` | 在執行緒啟動時載入 | 在執行緒啟動時從每個儲存庫載入 |336| 儲存庫根目錄中的 `CLAUDE.md`、`.claude/CLAUDE.md` 和 `.claude/rules/` | 在執行緒啟動時從每個儲存庫載入。子目錄中的 `CLAUDE.md` 檔案和[路徑特定規則](/docs/zh-TW/memory#path-specific-rules)不會載入 |

343| `.claude/` 下的技能、代理和命令 | 已載入 | 從每個儲存庫載入 |337| `.claude/skills/` 下的 skill | 未載入。改為為您的 claude.ai 帳戶啟用 skill,如[將 skill、外掛、連接器和工具引入執行緒](#get-skills-plugins-connectors-and-tools-into-threads)所述 |

344| 在 `.claude/settings.json` 中啟用的外掛程式 | 未載入。改為在**專案設定 > 外掛程式**中新增外掛程式 | 未載入。改為在**專案設定 > 外掛程式**中新增外掛程式 |338| `.claude/` 下的 agent 和命令 | 未載入。若要使用它們,請[在您自己的電腦上執行執行緒](#run-a-thread-on-your-own-computer) |

345| 在 `.claude/settings.json` 中定義的權限規則、hook 和 `env` | 套用到執行緒,除了[沒有雲端工作階段遵守](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)的 `env` 鍵 | 在 Anthropic 託管的環境中不套用。對於自行託管的環境,請參閱[套用哪個儲存庫的設定](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |339| `.mcp.json` 中的 MCP 伺服器 | 未載入。改為使用您 claude.ai 帳戶上的連接器,如[將 skill、外掛、連接器和工具引入執行緒](#get-skills-plugins-connectors-and-tools-into-threads)所述 |

346 340| 在 `.claude/settings.json` 中啟用的外掛 | 未載入。改為在**專案設定 > 外掛**中新增外掛 |

347在具有多個儲存庫的專案中,將常設規則放在專案指示中,並通過[雲端環境](#choose-an-environment-for-threads)為執行緒提供環境變數。341| `.claude/settings.json` 中的權限規則 | 不套用。在執行緒內核准工具呼叫,如[解除等待核准的執行緒](#unblock-a-thread-waiting-on-approval)所述,或[在您自己的電腦上執行執行緒](#run-a-thread-on-your-own-computer) |

342| `.claude/settings.json` 中的 hook | 不執行。若要使用您的 hook,請[在您自己的電腦上執行執行緒](#run-a-thread-on-your-own-computer) |

343| `.claude/settings.json` 中的 `env` | 不套用。在[雲端環境](#choose-an-environment-for-threads)中設定環境變數 |

348 344 

349### 為執行緒選擇環境345### 為執行緒選擇環境

350 346 


356 352 

357雲端執行緒沒有僅在您的機器上安裝的技能、MCP 伺服器、外掛程式和工具。通過[遠端控制](/docs/zh-TW/remote-control)在您的機器上執行的執行緒使用那裡安裝的內容。要使這些中的每一個對雲端執行緒可用:353雲端執行緒沒有僅在您的機器上安裝的技能、MCP 伺服器、外掛程式和工具。通過[遠端控制](/docs/zh-TW/remote-control)在您的機器上執行的執行緒使用那裡安裝的內容。要使這些中的每一個對雲端執行緒可用:

358 354 

359* Skill、subagent 和命令:將它們提交到您新增到專案的儲存庫,例如 `.claude/skills/<skill-name>/SKILL.md` 中的 skill。每個雲端執行緒複製專案中的每個儲存庫,並從每個儲存庫載入 `.claude/skills/`、`.claude/agents/` 和 `.claude/commands/`,因此提交到一個儲存庫的 skill 在每個雲端執行緒中可用。雲端執行緒也載入[您為 claude.ai 帳戶啟用的 skill](/docs/zh-TW/skills#skills-in-cowork-and-cloud-sessions)。355* Skill:為您的 claude.ai 帳戶啟用它們,雲端執行緒就會載入[您在那裡啟用的 skill](/docs/zh-TW/skills#skills-in-cowork-and-cloud-sessions),但[自行託管環境中的部分執行緒](/docs/zh-TW/self-hosted-environments-configuration#how-each-session’s-config-is-assembled)除外。提交到儲存庫 `.claude/skills/` 的 skill 不會在雲端執行緒中載入。

360* 外掛程式:在**專案設定 > 外掛程式**中新增它們;它們載入到每個新雲端執行緒。儲存庫在其 `.claude/settings.json` 中宣告的外掛程式[不會在雲端執行緒中載入](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。356* 外掛程式:在**專案設定 > 外掛程式**中新增它們;它們載入到每個新雲端執行緒。儲存庫在其 `.claude/settings.json` 中宣告的外掛程式[不會在雲端執行緒中載入](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。

361* MCP 伺服器:雲端執行緒從您的 claude.ai 帳戶上的連接器獲取其 MCP 工具,這些是您在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 連接一次的 MCP 伺服器。每個雲端執行緒可以使用所有它們,無需每個專案的設定。專案對話本身沒有連接器,因此將需要連接器的工作作為雲端執行緒的任務傳送。在具有一個儲存庫的專案中,雲端執行緒也從該儲存庫的 [`.mcp.json`](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup) 載入 MCP 伺服器。[連接器如何到達 Claude Code](/docs/zh-TW/mcp#how-connectors-reach-claude-code) 列出雲端工作階段的規則和關閉連接器的設定。357* MCP 伺服器:雲端執行緒從您的 claude.ai 帳戶上的連接器獲取其 MCP 工具,這些是您在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 連接一次的 MCP 伺服器。每個雲端執行緒可以使用所有它們,無需每個專案的設定。專案對話本身沒有連接器,因此將需要連接器的工作作為雲端執行緒的任務傳送。[連接器如何到達 Claude Code](/docs/zh-TW/mcp#how-connectors-reach-claude-code) 列出雲端工作階段的規則和關閉連接器的設定。

362* 命令列工具和套件:在環境的[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts)中安裝它們。358* 命令列工具和套件:在環境的[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts)中安裝它們。

363 359 

364要查看執行中的雲端執行緒在 claude.ai/code 有哪些連接器,請開啟執行緒並從其訊息框旁邊的 **+** 功能表中選擇**連接器**。關閉連接器會將其從該執行緒中移除,並將其儲存為您的帳戶預設值,因此新執行緒和 claude.ai 聊天在您重新開啟它之前開始時沒有它。執行緒在您傳送給它的下一條訊息後取得您新增或重新連接的連接器。360要查看執行中的雲端執行緒在 claude.ai/code 有哪些連接器,請開啟執行緒並從其訊息框旁邊的 **+** 功能表中選擇**連接器**。關閉連接器會將其從該執行緒中移除,並將其儲存為您的帳戶預設值,因此新執行緒和 claude.ai 聊天在您重新開啟它之前開始時沒有它。執行緒在您傳送給它的下一條訊息後取得您新增或重新連接的連接器。

Details

8 8 

9Claude Security plugin 在 Claude Code 工作階段內執行程式碼庫的多代理漏洞掃描。一個 Claude 代理團隊會對您的架構進行對應、建立威脅模型、搜尋漏洞,並在撰寫報告前獨立檢視每項發現。使用此 plugin 掃描整個儲存庫或[僅掃描一組變更](#scan-only-your-changes),例如分支的差異、提取請求的差異或單一提交,然後將您選擇的發現轉換為您可以自行檢視和應用的修補程式。9Claude Security plugin 在 Claude Code 工作階段內執行程式碼庫的多代理漏洞掃描。一個 Claude 代理團隊會對您的架構進行對應、建立威脅模型、搜尋漏洞,並在撰寫報告前獨立檢視每項發現。使用此 plugin 掃描整個儲存庫或[僅掃描一組變更](#scan-only-your-changes),例如分支的差異、提取請求的差異或單一提交,然後將您選擇的發現轉換為您可以自行檢視和應用的修補程式。

10 10 

11此 plugin 在您的工作階段中本地執行,使用[您在 Claude Code 中可存取的任何模型](#models-and-providers),每次掃描都會計入您的[使用量](/docs/zh-TW/costs)。如果您想要一個監控您的儲存庫的受管服務,或想要在 [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) 上執行掃描,請參閱 [Claude Security](https://claude.com/product/claude-security) 產品,可在企業方案上取得。此 plugin 可以存取受管產品無法存取的程式碼,例如託管在 GitLab 或 Bitbucket 上的儲存庫,或在不允許入站連線的網路上的儲存庫。11此外掛在您的工作階段中本地執行,使用[您在 Claude Code 中可存取的任何模型](#models-and-providers),每次掃描都會計入您的[使用量](/docs/zh-TW/costs)。如果您想要一個監控您的儲存庫的受管服務,或想要在 [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) 上執行掃描,請參閱 [Claude Security](https://claude.com/product/claude-security) 產品,可在企業方案上取得。

12 12 

13此 plugin 也不同於 Claude Code 中已有的檢視工具:[security guidance plugin](/docs/zh-TW/security-guidance) 在 Claude 撰寫程式碼時檢視程式碼,[`/security-review`](/docs/zh-TW/commands#all-commands) 對您的分支執行單一次掃描,而 [Code Review](/docs/zh-TW/code-review) 檢視提取請求。如需了解這些層級如何堆疊,請參閱 [此 plugin 如何與其他安全工具配合](#how-the-plugin-fits-with-other-security-tools)。13此 plugin 也不同於 Claude Code 中已有的檢視工具:[security guidance plugin](/docs/zh-TW/security-guidance) 在 Claude 撰寫程式碼時檢視程式碼,[`/security-review`](/docs/zh-TW/commands#all-commands) 對您的分支執行單一次掃描,而 [Code Review](/docs/zh-TW/code-review) 檢視提取請求。如需了解這些層級如何堆疊,請參閱 [此 plugin 如何與其他安全工具配合](#how-the-plugin-fits-with-other-security-tools)。

14 14 

Details

164 164 

165### 封存環境165### 封存環境

166 166 

167若要封存您自己的環境之一,請開啟它進行編輯,選擇**封存環境**,然後確認。如果該環境已[與您的組織共用](#organization-shared-environments),則改由擁有者從[管理設定](https://claude.ai/admin-settings)中的**雲端環境**頁面封存,因此除非您本身是擁有者,否則請詢問擁有者。您無法刪除環境,只能封存它。167若要封存您自己的環境之一,請開啟它進行編輯,選擇**封存環境**,然後確認。如果該環境已[與您的組織共用](#organization-shared-environments),則改由擁有者從[管理設定](https://claude.ai/admin-settings)中的**雲端環境**頁面封存,因此除非您本身是擁有者,否則請詢問擁有者。

168 168 

169封存會影響新工作階段,而不是執行中的工作階段:169封存會影響新工作階段,而不是執行中的工作階段:

170 170 


175 * **已儲存的 CLI 預設**:如果環境是您儲存的 [CLI 預設](#select-an-environment-from-the-cli),當您的清單有 Anthropic 託管環境時,Claude Code 會在其中啟動 CLI 雲端工作階段。否則,會在清單中第一個不是 [Remote Control 橋接環境](#the-default-environment)的環境中啟動。175 * **已儲存的 CLI 預設**:如果環境是您儲存的 [CLI 預設](#select-an-environment-from-the-cli),當您的清單有 Anthropic 託管環境時,Claude Code 會在其中啟動 CLI 雲端工作階段。否則,會在清單中第一個不是 [Remote Control 橋接環境](#the-default-environment)的環境中啟動。

176 * **明確設定**:任何明確設定使用該環境的項目,例如[雲端排程任務](/docs/zh-TW/routines#environments-and-network-access),無法在其中啟動新工作階段。請將其指向另一個環境。176 * **明確設定**:任何明確設定使用該環境的項目,例如[雲端排程任務](/docs/zh-TW/routines#environments-and-network-access),無法在其中啟動新工作階段。請將其指向另一個環境。

177 177 

178當您不再需要某個 Anthropic 託管環境時,請將其封存。環境對話框和**雲端環境**管理頁面都沒有刪除 Anthropic 託管環境的選項。如果該環境是[自託管](/docs/zh-TW/self-hosted-environments)的,擁有者可以從管理設定中的**雲端環境**頁面將其刪除。如果您不是擁有者,請請擁有者將其刪除。

179 

178### 組織共用環境180### 組織共用環境

179 181 

180在 Team 和 Enterprise 方案上,擁有者可以建立與組織的每個成員共用的雲端環境。相同的角色管理**雲端環境**管理頁面上的所有其他內容,包括[自託管環境](/docs/zh-TW/self-hosted-environments);管理員角色無法開啟該頁面。可以開啟它的完整角色清單是[管理伺服器管理的設定](/docs/zh-TW/server-managed-settings#access-control)的角色清單。182在 Team 和 Enterprise 方案上,擁有者可以建立與組織的每個成員共用的雲端環境。相同的角色管理**雲端環境**管理頁面上的所有其他內容,包括[自託管環境](/docs/zh-TW/self-hosted-environments);管理員角色無法開啟該頁面。可以開啟它的完整角色清單是[管理伺服器管理的設定](/docs/zh-TW/server-managed-settings#access-control)的角色清單。


275 277 

276### 從您的設定中保留的內容278### 從您的設定中保留的內容

277 279 

280> [!NOTE]

281>

282> 在此表中的儲存庫設定中,[專案](/docs/zh-TW/claude-projects)中的雲端對話串只會載入儲存庫根目錄的 `CLAUDE.md`、`.claude/CLAUDE.md`,以及非[路徑特定](/docs/zh-TW/memory#path-specific-rules)的 `.claude/rules/` 檔案。請參閱[對話串會從您的儲存庫中取得哪些內容](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)。

283 

278雲端工作階段從您儲存庫的全新複製開始。您提交到儲存庫的任何內容都可用。您只在自己的機器上安裝或設定的任何內容在工作階段中都不可用。您的組織政策透過[伺服器管理的設定](/docs/zh-TW/server-managed-settings)單獨到達。284雲端工作階段從您儲存庫的全新複製開始。您提交到儲存庫的任何內容都可用。您只在自己的機器上安裝或設定的任何內容在工作階段中都不可用。您的組織政策透過[伺服器管理的設定](/docs/zh-TW/server-managed-settings)單獨到達。

279 285 

280| | 在雲端工作階段中可用 | 原因 |286| | 在雲端工作階段中可用 | 原因 |


465 471 

466如果您在使用者層級 `~/.claude/settings.json` 中有 SessionStart hooks,不要期望它們在雲端中:使用者層級設定保留在您的機器上。其他 hooks 執行的位置取決於工作階段執行的位置:472如果您在使用者層級 `~/.claude/settings.json` 中有 SessionStart hooks,不要期望它們在雲端中:使用者層級設定保留在您的機器上。其他 hooks 執行的位置取決於工作階段執行的位置:

467 473 

468* **Anthropic 託管環境**:Claude Code 執行來自儲存庫和您組織的[伺服器管理設定](/docs/zh-TW/server-managed-settings)的 hooks。[Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段不會接收伺服器管理設定,因此來自伺服器管理設定的 hooks 不會在那裡執行。474* **Anthropic 託管環境**:Claude Code 執行來自您組織的[伺服器管理設定](/docs/zh-TW/server-managed-settings)的 hooks,並且在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)討論串之外,也執行來自儲存庫的 hooks。[Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段不會接收伺服器管理設定,因此來自伺服器管理設定的 hooks 不會在那裡執行。

469* **[自託管環境](/docs/zh-TW/self-hosted-environments-configuration#permissions-and-tool-approval)**:Claude Code 也執行操作員從執行器主機的 `~/.claude/` 中植入的 hooks,以及執行器映像的受管設定檔中的 hooks,當該檔案是 Claude Code 應用的[受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)之一時。475* **[自託管環境](/docs/zh-TW/self-hosted-environments-configuration#permissions-and-tool-approval)**:Claude Code 也執行操作員從執行器主機的 `~/.claude/` 中植入的 hooks,以及執行器映像的受管設定檔中的 hooks,當該檔案是 Claude Code 應用的[受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)之一時。

470 476 

471### 使用 SessionStart hook 安裝相依性477### 使用 SessionStart hook 安裝相依性

472 478 

473若要僅在雲端工作階段中安裝相依性,請將 SessionStart hook 與檢查其執行位置的指令碼配對。479若要僅在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)之外的雲端工作階段中安裝相依性,請將 SessionStart hook 與檢查其執行位置的指令碼配對。

474 480 

475首先,將 SessionStart hook 新增至您的儲存庫的 `.claude/settings.json`。此設定告訴 Claude Code 在工作階段啟動或恢復時執行儲存庫中的 `scripts/install_pkgs.sh`:481首先,將 SessionStart hook 新增至您的儲存庫的 `.claude/settings.json`。此設定告訴 Claude Code 在工作階段啟動或恢復時執行儲存庫中的 `scripts/install_pkgs.sh`:

476 482 


532SessionStart hooks 在雲端中的行為與本機相同,但有以下注意事項:538SessionStart hooks 在雲端中的行為與本機相同,但有以下注意事項:

533 539 

534* **每個工作階段一個儲存庫**:在 Anthropic 託管環境中,具有多個儲存庫的工作階段不會從任何儲存庫的 `.claude/settings.json` 載入 hooks,因此您在其中定義的 SessionStart hook 不會執行。請改用[設定指令碼](#setup-scripts)為這些工作階段安裝相依性。若為自託管環境,請參閱[適用哪個儲存庫的設定](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)。540* **每個工作階段一個儲存庫**:在 Anthropic 託管環境中,具有多個儲存庫的工作階段不會從任何儲存庫的 `.claude/settings.json` 載入 hooks,因此您在其中定義的 SessionStart hook 不會執行。請改用[設定指令碼](#setup-scripts)為這些工作階段安裝相依性。若為自託管環境,請參閱[適用哪個儲存庫的設定](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)。

541* **不適用於專案的雲端討論串**:[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)中的雲端討論串不會執行來自儲存庫 `.claude/settings.json` 的 hooks,無論儲存庫數量為何。在 Anthropic 託管環境中,請使用[設定指令碼](#setup-scripts)為討論串安裝相依性。在自託管環境中,請改用[執行器主機設定](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)中的 hook。

535* **無雲端專用範圍**:hooks 在本機和雲端工作階段中執行。若要跳過本機執行,請在 `CLAUDE_CODE_REMOTE` 環境變數不為 `true` 時提前結束,如[相依性安裝指令碼](#install-dependencies-with-a-sessionstart-hook)所示。542* **無雲端專用範圍**:hooks 在本機和雲端工作階段中執行。若要跳過本機執行,請在 `CLAUDE_CODE_REMOTE` 環境變數不為 `true` 時提前結束,如[相依性安裝指令碼](#install-dependencies-with-a-sessionstart-hook)所示。

536* **需要網路存取**:安裝命令需要連接到套件登錄檔。如果您的環境使用 **None** 網路存取,這些 hooks 會失敗。**Trusted** 下的[預設允許清單](#default-allowed-domains)涵蓋 npm、PyPI、RubyGems 和 crates.io。543* **需要網路存取**:安裝命令需要連接到套件登錄檔。如果您的環境使用 **None** 網路存取,這些 hooks 會失敗。**Trusted** 下的[預設允許清單](#default-allowed-domains)涵蓋 npm、PyPI、RubyGems 和 crates.io。

537* **Proxy 相容性**:在 Anthropic 託管環境中,所有出站流量都通過[安全 proxy](#security-proxy),某些套件管理員無法與此 proxy 正確搭配運作;Bun 是一個已知的範例。在[自託管環境](/docs/zh-TW/self-hosted-environments-deploy#default-deny-egress)中,出站流量通過您自己的網路邊界。544* **Proxy 相容性**:在 Anthropic 託管環境中,所有出站流量都通過[安全 proxy](#security-proxy),某些套件管理員無法與此 proxy 正確搭配運作;Bun 是一個已知的範例。在[自託管環境](/docs/zh-TW/self-hosted-environments-deploy#default-deny-egress)中,出站流量通過您自己的網路邊界。

Details

92 92 

93請讓 `REVIEW.md` 只包含會改變審查行為的指令,並將一般專案脈絡留在 `CLAUDE.md` 中。93請讓 `REVIEW.md` 只包含會改變審查行為的指令,並將一般專案脈絡留在 `CLAUDE.md` 中。

94 94 

95### 在 REVIEW\.md 中納入其他檔案

96 

97您可以將審查指令拆分到多個檔案中,再將它們引入根目錄的 `REVIEW.md`。當 `REVIEW.md` 變得冗長,或您已經將審查規則保存在其他檔案中時,可以使用此方式。

98 

99若要納入檔案,請在根目錄的 `REVIEW.md` 中新增一行,該行只包含 `@` 和檔案名稱。Code Review 會以該檔案的內容取代這一行,因此這些內容會作為 `REVIEW.md` 的一部分套用。在此範例中,根目錄檔案提供了一條自己的指令,然後納入兩個規則檔案:

100 

101```markdown theme={null}

102# Review instructions

103 

104Report at most five Nits per review.

105 

106@review-security.md

107@review-api.md

108```

109 

110請將被納入的檔案儲存在儲存庫根目錄,與 `REVIEW.md` 放在一起:

111 

112```text theme={null}

113your-repo/

114├── REVIEW.md

115├── review-security.md

116└── review-api.md

117```

118 

119Code Review 從受保護分支讀取 `REVIEW.md` 時才會納入這些檔案,因此請檢查[審查會為您的儲存庫讀取哪個分支](#what-a-review-reads-for-each-branch-setup):

120 

121* **受保護分支**:Code Review 會以被納入的檔案取代其 `@` 行

122* **未受保護的預設分支**:`@` 行會以純文字形式保留在 `REVIEW.md` 中。如果 pull request 變更了該行所指名的檔案,該行會被略去。

123 

124當審查未套用被納入的檔案時,請逐一檢查下列項目:

125 

126* **位置**:將檔案移至儲存庫根目錄。指向子目錄的路徑,例如 `@docs/review-rules.md`,不會被納入。

127* **名稱**:檔案名稱必須完全相符(包括大小寫),並使用不含空格的名稱。如果某一行的名稱與 `REVIEW.md` 旁的任何檔案都不相符,該行會以純文字形式保留在 `REVIEW.md` 中,而檢查執行不會將其回報為已略過的納入。

128* **僅限一層**:請在根目錄的 `REVIEW.md` 中列出每個檔案。被納入的檔案或子目錄 `REVIEW.md` 中的 `@` 行會保留為純文字,而指向其他檔案的 Markdown 連結也不算是納入。

129* **限制**:最多納入八個不同的檔案,並讓 `REVIEW.md` 及其納入的檔案合計小於 150,000 位元組。會使總量達到位元組上限的檔案會被整個略過,而不是被截斷。檢查執行會回報因任一限制而略過了多少個納入行。

130* **連結**:`REVIEW.md` 及其納入的檔案中,Markdown 連結總數請保持在 64 個以內。指向 `http`、`https` 或 `mailto` 位址以及 `#` 錨點的連結不計入。超過此限制時,審查會略過您整個根目錄 `REVIEW.md`,而不只是被納入的檔案。檢查執行接著會[說明指令未被套用](/docs/zh-TW/code-review-troubleshooting#the-check-run-mentions-review-md)。

131* **已合併的副本**:將被納入的檔案合併到[讀取 `REVIEW.md` 的分支](#which-branch-review-md-is-read-from)。審查會從同一個提交讀取兩者,絕不會從 pull request 本身的變更中讀取。

132 

95### 從哪個分支讀取 REVIEW\.md133### 從哪個分支讀取 REVIEW\.md

96 134 

97Code Review 會從 pull request 的基礎分支或預設分支讀取 `REVIEW.md`,絕不會從 pull request 本身的變更中讀取。若要變更審查行為,請先合併 `REVIEW.md` 的變更。135Code Review 會從 pull request 的基礎分支或預設分支讀取 `REVIEW.md`,絕不會從 pull request 本身的變更中讀取。若要變更審查行為,請先合併 `REVIEW.md` 的變更。


117 155 

118| 分支保護 | 讀取的副本 | 讀取的檔案 |156| 分支保護 | 讀取的副本 | 讀取的檔案 |

119| :- | :- | :- |157| :- | :- | :- |

120| 預設分支受保護,且 pull request 的目標是預設分支,或是未受任何 ruleset 保護的分支 | 預設分支 | 根目錄與子目錄檔案 |158| 預設分支受保護,且 pull request 的目標是預設分支,或是未受任何 ruleset 保護的分支 | 預設分支 | 根目錄檔案、其納入的檔案,以及子目錄檔案 |

121| pull request 的目標是受 ruleset 保護的其他分支 | 該基礎分支 | 根目錄與子目錄檔案 |159| pull request 的目標是受 ruleset 保護的其他分支 | 該基礎分支 | 根目錄檔案、其納入的檔案,以及子目錄檔案 |

122| 預設分支未受保護,且基礎分支沒有任何一種保護規則 | 預設分支 | 根目錄檔案 |160| 預設分支未受保護,且基礎分支沒有任何一種保護規則 | 預設分支 | 根目錄檔案 |

123| Code Review 無法確認保護設定。這包括預設分支未受保護、而基礎分支僅有傳統規則的情況 | 無 | 無 |161| Code Review 無法確認保護設定。這包括預設分支未受保護、而基礎分支僅有傳統規則的情況 | 無 | 無 |

124 162 

Details

55 55 

56### 從指令碼讀取結果56### 從指令碼讀取結果

57 57 

58若要從您自己的 CI 控管合併或發佈摘要,請使用 `gh` 和 jq 剖析 Details 文字的最後一行。該行是一則機器可讀的註解。58若要從您自己的 CI 控管合併或發佈摘要,請使用 `gh` 和 jq 剖析 Details 文字的最後一行。該行是一則 HTML 註解,以 JSON 格式存放嚴重性計數:

59 

60```text theme={null}

61<!-- bughunter-severity: {"nit":1,"normal":2,"pre_existing":0} -->

62```

63 

64其上方的各行可能包含來自 pull request 的檔案名稱。如果您以自己的方式剖析該文字,請僅從最後一行取得計數,如同這些步驟中的命令所做的一樣。

59 65 

60**1. 找出 check run ID**66**1. 找出 check run ID**

61 67 


67 73 

68**2. 讀取嚴重性計數**74**2. 讀取嚴重性計數**

69 75 

70從該 check run 讀取計數,並將 `CHECK_RUN_ID` 替換為該 ID:76從該 check run 的 `output.text` 欄位讀取計數,該欄位存放 Details 文字。將 `CHECK_RUN_ID` 替換為該 ID:

71 77 

72```bash theme={null}78```bash theme={null}

73gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID --jq '

74 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'80 (.output.text | split("\n") | last

81 | scan("^<!-- bughunter-severity: (.*) -->$")[0] | fromjson)?

82 // error("no severity line")'

75```83```

76 84 

77這會印出一個 JSON 物件,其中包含每種嚴重性的計數,且鍵依字母順序排列,例如 `{"nit": 1, "normal": 2, "pre_existing": 0}`。這些計數包含 pull request 先前審查中、其討論串仍未解決的發現項目。85這會印出一個 JSON 物件,其中包含每種嚴重性的計數,且鍵依字母順序排列,例如 `{"nit": 1, "normal": 2, "pre_existing": 0}`。這些計數包含 pull request 先前審查中、其討論串仍未解決的發現項目。


80 88 

81讓您的指令碼處理以下情況:89讓您的指令碼處理以下情況:

82 90 

83* **`normal` 大於零**:如果您想控管合併,請讓該作業失敗。`normal` 鍵存放的是 Important 發現項目的計數,因此表示 Claude 至少發現了一個值得在合併前修正的錯誤。91* **`normal` 大於零**:如果您想控管合併,請讓該作業失敗。`normal` 鍵存放的是 Important 發現項目的計數,因此表示 Claude 至少發現了一個值得在合併前修正的錯誤。若只要印出該計數,請在結尾的單引號前加上 `| .normal`。

84* **缺少該行**:將其視為沒有判定結果,而非零個發現項目。失敗、逾時、被取消或被較新審查取代的審查,其 check run 不會有這一行,而某些已完成的審查也沒有。92* **缺少該行**:該命令會印出包含 `no severity line` 的錯誤而非計數,並以非零狀態結束。請將其視為沒有判定結果,而非零個發現項目。失敗、逾時、被取消或被較新審查取代的審查,其 check run 不會有這一行,而某些已完成的審查也沒有。

85 93 

86## 請求審查94## 請求審查

87 95 


99 107 

100| 命令 | 作用 | 使用時機 |108| 命令 | 作用 | 使用時機 |

101| :- | :- | :- |109| :- | :- | :- |

102| `@claude review` | 啟動單次審查,不會讓 PR 訂閱未來的推送 | 您現在想要一次審查,例如在設定為 Manual 的儲存庫中的 pull request 上,或在其他模式下立即再進行一次審查 |110| `@claude review` | 啟動單次審查,不會讓 PR 訂閱未來的推送 | 您現在想要一次審查,例如在設定為 **Manual** 的儲存庫中的 pull request 上,或在其他模式下立即再進行一次審查 |

103| `@claude review always` | 啟動審查,並讓 PR 訂閱之後由推送觸發的審查 | 您希望之後的每次推送都啟動新的審查,例如在設定為 Manual 的儲存庫中的高優先順序 PR 上 |111| `@claude review always` | 啟動審查,並讓 PR 訂閱之後由推送觸發的審查 | 您希望之後的每次推送都啟動新的審查,例如在設定為 **Manual** 的儲存庫中的高優先順序 PR 上 |

104| `@claude review once` | 與 `@claude review` 相同:啟動單次審查而不訂閱 | 與 `@claude review` 相同的情況 |112| `@claude review once` | 與 `@claude review` 相同:啟動單次審查而不訂閱 | 與 `@claude review` 相同的情況 |

113| `@claude review stop` | 結束 PR 對由推送觸發之審查的訂閱,不會啟動審查,也不會取消已排入佇列或正在執行的審查。Claude 會以留言回覆,而非 check run。 | 您在設定為 **Manual** 或 **Once after PR creation** 的儲存庫中,已使用 `@claude review always` 訂閱某個 PR,且不再希望每次推送都啟動審查 |

114| `@claude review off` 或 `@claude review pause` | 與 `@claude review stop` 相同 | 與 `@claude review stop` 相同的情況 |

115 

116在設定為 **After every push** 的儲存庫中,您無法透過留言停止審查,因為在該處無論是否有訂閱,推送都會啟動審查。若要在該處讓推送不再對某個 pull request 啟動審查,請將其轉換為[草稿](#review-drafts-and-pull-requests-from-forks)。當您再次將其標記為可供審查時,就會啟動審查。

105 117 

106若要讓這些命令中的任何一個啟動審查,必須同時符合下列所有條件:118若要讓任何留言命令生效,必須同時符合下列所有條件:

107 119 

108* 以新的頂層 pull request 留言形式發佈,而不是差異行上的行內留言,也不是審查的內文。編輯先前的留言不算數。120* 以新的頂層 pull request 留言形式發佈,而不是差異行上的行內留言,也不是審查的內文。編輯先前的留言不算數。

109* 將命令放在留言開頭,且 `always` 必須與命令的其餘部分位於同一行。大小寫不影響。121* 將整個命令放在留言開頭的同一行。命令之後可以接其他文字。如果 `always` 或 `stop` 拼錯或位於後面的行,Claude 會將該留言視為單純的 `@claude review`,並啟動單次審查。大小寫不影響。

110* 您需要具備儲存庫的 write、maintain 或 admin 權限。Claude 會向 GitHub 檢查每位留言者的權限,而來自 bot 的留言不會啟動審查。122* 您需要具備儲存庫的 write、maintain 或 admin 權限。Claude 會向 GitHub 檢查每位留言者的權限,而來自 bot 的留言不會啟動審查。

111* Pull request 必須處於開啟狀態。123* Pull request 必須處於開啟狀態。

112 124 

113命令被接受後,pull request 上會出現一個標題為 **Code review queued...** 的 **Claude Code Review** check run。審查開始時,標題會變更為 **Code review in progress...**。Claude 也可能以 👀 回應您的留言,但即使沒有啟動審查,該回應也可能出現,因此請改以 check run 為準。125當啟動審查的命令被接受後,pull request 上會出現一個標題為 **Code review queued...** 的 **Claude Code Review** check run。審查開始時,標題會變更為 **Code review in progress...**。Claude 也可能以 👀 回應您的留言,但即使沒有啟動審查,該回應也可能出現,因此請改以 check run 為準。

114 126 

115如果 pull request 的最新提交上已有審查正在執行,新的請求不會啟動第二次審查。127如果 pull request 的最新提交上已有審查正在執行,新的請求不會啟動第二次審查。

116 128 

Details

66 66 

67## Check run 提及 REVIEW\.md67## Check run 提及 REVIEW\.md

68 68 

69Check run 中可能出現的 `REVIEW.md` 相關訊息中,有兩則與分支保護有關:69以下是 check run 中可能出現的三則 `REVIEW.md` 相關訊息:

70 70 

71* **「This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes.」**:此審查僅讀取了根目錄的檔案。關於保護分支會帶來哪些改變,請參閱[從哪個分支讀取 REVIEW.md](/docs/zh-TW/code-review-customize#which-branch-review-md-is-read-from)。71* **「This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes.」**:此審查僅讀取了根目錄的檔案。關於保護分支會帶來哪些改變,請參閱[從哪個分支讀取 REVIEW.md](/docs/zh-TW/code-review-customize#which-branch-review-md-is-read-from)。

72* **「were not applied to this review: branch protection could not be confirmed」**:此審查未讀取任何 `REVIEW.md`。72* **「were not applied to this review: branch protection could not be confirmed」**:此審查未讀取任何 `REVIEW.md`。

73* **「they link to a file this pull request modifies, or carry more links than the review checks」**:此審查略過了根目錄的 `REVIEW.md`,或略過了訊息中所列數量的子目錄 `REVIEW.md` 檔案。請針對每個原因檢查被略過的檔案。若是根目錄的 `REVIEW.md`,也請檢查[它所引入的檔案](/docs/zh-TW/code-review-customize#include-other-files-in-review-md):

74 * **連結過多**:檔案中含有超過 64 個 Markdown 連結。請將連結減少至 [64 個或更少](/docs/zh-TW/code-review-customize#include-other-files-in-review-md)。

75 * **審查無法解析的連結**:檔案中有格式錯誤的 Markdown 連結。請修正或移除該連結。

76 * **指向已變更檔案的連結**:檔案連結至此 pull request 所變更的檔案或資料夾,且審查無法僅排除含有該連結的那幾行。請直接在 `REVIEW.md` 中撰寫該規則。

73 77 

74## 設定問題78## 設定問題

75 79 

commands.md +5 −5

Details

26 26 

27**在您發佈前。** `/diff` 顯示變更的內容。`/code-review` 檢查目前的 diff 是否有正確性錯誤,並可以使用 `--fix` 套用發現;傳遞 PR 編號,例如 `/code-review high 1234`,以改為檢查 pull request。`/review` 是別名。`/code-review ultra` 在雲端執行多代理檢查。`/security-review` 檢查 diff 是否有安全漏洞。27**在您發佈前。** `/diff` 顯示變更的內容。`/code-review` 檢查目前的 diff 是否有正確性錯誤,並可以使用 `--fix` 套用發現;傳遞 PR 編號,例如 `/code-review high 1234`,以改為檢查 pull request。`/review` 是別名。`/code-review ultra` 在雲端執行多代理檢查。`/security-review` 檢查 diff 是否有安全漏洞。

28 28 

29**工作階段之間。** `/clear` 在保持專案記憶的同時開始新工作。`/resume` 返回較早的對話,`/branch` 分支目前的對話以嘗試不同的方向,`/fork` 將其複製到新的 [background session](/docs/zh-TW/agent-view)。`/teleport` 將網路工作階段拉入此終端,`/remote-control` 讓您從另一個裝置繼續此本機工作階段。29**工作階段之間。** `/clear` 在保持專案記憶的同時開始新工作。`/resume` 返回較早的對話,`/branch` 分支目前的對話以嘗試不同的方向,`/fork` 將其複製到新的 [背景工作階段](/docs/zh-TW/agent-view)。`/teleport` 將雲端工作階段拉入此終端機,`/remote-control` 讓您從另一個裝置繼續此本機工作階段。

30 30 

31**當出現問題時。** `/rewind` 將程式碼和對話回復到檢查點,或摘要對話的一部分。`/doctor` 執行設定檢查,診斷安裝和設定問題,並可以修復它們,`/debug` 診斷執行時問題,`/feedback` 報告附加工作階段內容的錯誤。31**當出現問題時。** `/rewind` 將程式碼和對話回復到檢查點,或摘要對話的一部分。`/doctor` 執行設定檢查,診斷安裝和設定問題,並可以修復它們,`/debug` 診斷執行時問題,`/feedback` 報告附加工作階段內容的錯誤。

32 32 


55| `/artifact-capabilities` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 載入已發佈 [artifact](/docs/zh-TW/artifacts) 可以使用的執行時功能的參考,例如[呼叫您的連接器](/docs/zh-TW/artifacts#pull-live-data-with-mcp-connectors)或[提供檔案下載](/docs/zh-TW/artifacts#offer-a-file-download),包括您的帳戶擁有的功能。Claude 通常在建立使用其中一個的頁面前自行載入它。在 [artifact](/docs/zh-TW/artifacts#availability) 可用的地方可用 |55| `/artifact-capabilities` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 載入已發佈 [artifact](/docs/zh-TW/artifacts) 可以使用的執行時功能的參考,例如[呼叫您的連接器](/docs/zh-TW/artifacts#pull-live-data-with-mcp-connectors)或[提供檔案下載](/docs/zh-TW/artifacts#offer-a-file-download),包括您的帳戶擁有的功能。Claude 通常在建立使用其中一個的頁面前自行載入它。在 [artifact](/docs/zh-TW/artifacts#availability) 可用的地方可用 |

56| `/artifact-diagramming` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 為 Claude 在 [artifact](/docs/zh-TW/artifacts) 中遵循的圖表載入指導:何時圖表有幫助、要繪製什麼以及如何編寫在淺色和深色主題中保持清晰的內聯 SVG。需要 Claude Code v2.1.221 或更新版本 |56| `/artifact-diagramming` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 為 Claude 在 [artifact](/docs/zh-TW/artifacts) 中遵循的圖表載入指導:何時圖表有幫助、要繪製什麼以及如何編寫在淺色和深色主題中保持清晰的內聯 SVG。需要 Claude Code v2.1.221 或更新版本 |

57| `/artifacts` | 列出您擁有或與您共享的 [artifact](/docs/zh-TW/artifacts#find-an-artifact-again),然後將其附加到工作階段、在瀏覽器中打開它或複製其連結。在 [artifact](/docs/zh-TW/artifacts#availability) 可用的地方可用。需要 Claude Code v2.1.208 或更新版本;使用 `Enter` 附加需要 v2.1.216 |57| `/artifacts` | 列出您擁有或與您共享的 [artifact](/docs/zh-TW/artifacts#find-an-artifact-again),然後將其附加到工作階段、在瀏覽器中打開它或複製其連結。在 [artifact](/docs/zh-TW/artifacts#availability) 可用的地方可用。需要 Claude Code v2.1.208 或更新版本;使用 `Enter` 附加需要 v2.1.216 |

58| `/auto-mode-setup` | [從您的專案和最近的工作階段草擬 `autoMode.environment` 項目](/docs/zh-TW/auto-mode-config#generate-environment-entries),然後檢查草稿並將其保存到您的使用者設定。需要 Pro、Max 或 Team 方案以及 Claude Code v2.1.228 或更新版本。在原生 Windows 上,需要 v2.1.233 或更新版本 |58| `/auto-mode-setup` | [從您的專案和最近的工作階段草擬 `autoMode.environment` 項目](/docs/zh-TW/auto-mode-config#generate-environment-entries),然後檢查草稿並將其保存到您的使用者設定。在 Pro、Max 或 Team 方案上,需要 Claude Code v2.1.228 或更新版本,在原生 Windows 上則需要 v2.1.233 或更新版本。在 Enterprise 方案上或使用 Claude Console API 金鑰時,需要 v2.1.283 或更新版本。如果此命令不存在,請參閱[`/auto-mode-setup` 傳回 "Unknown command"](/docs/zh-TW/auto-mode-config#auto-mode-setup-returns-unknown-command) |

59| `/autocompact [auto\|<tokens>]` | 設定自動壓縮視窗:在 Claude Code 自動壓縮之前上下文視窗有多滿。傳遞大小(例如 `500k`)或 `auto` 以返回為您的模型調整的視窗。Claude Code 將該值保存到使用者設定並將其應用於目前工作階段。有關接受的值以及覆寫它的內容,請參閱[設定自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window)。沒有引數時,打開顯示目前視窗的對話框。需要 Claude Code v2.1.221 或更新版本 |59| `/autocompact [auto\|<tokens>]` | 設定自動壓縮視窗:在 Claude Code 自動壓縮之前上下文視窗有多滿。傳遞大小(例如 `500k`)或 `auto` 以返回為您的模型調整的視窗。Claude Code 將該值保存到使用者設定並將其應用於目前工作階段。有關接受的值以及覆寫它的內容,請參閱[設定自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window)。沒有引數時,打開顯示目前視窗的對話框。需要 Claude Code v2.1.221 或更新版本 |

60| `/autofix-pr [prompt]` | 生成一個[雲端工作階段](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests),監視目前分支的 PR 並在 CI 失敗或審查者留下評論時推送修復。使用 `gh pr view` 從您簽出的分支檢測打開的 PR;要監視不同的 PR,請先簽出其分支。預設情況下,雲端工作階段被告知修復每個 CI 失敗和審查評論;傳遞提示詞以給它不同的指示,例如 `/autofix-pr only fix lint and type errors`。需要 `gh` CLI 和[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)的存取 |60| `/autofix-pr [prompt]` | 生成一個[雲端工作階段](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests),監視目前分支的 PR 並在 CI 失敗或審查者留下評論時推送修復。使用 `gh pr view` 從您簽出的分支檢測打開的 PR;要監視不同的 PR,請先簽出其分支。預設情況下,雲端工作階段被告知修復每個 CI 失敗和審查評論;傳遞提示詞以給它不同的指示,例如 `/autofix-pr only fix lint and type errors`。需要 `gh` CLI 和[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)的存取 |

61| `/background [prompt]` | 分離目前工作階段以作為[背景 agent](/docs/zh-TW/agent-view) 運行並釋放此終端機。傳遞提示詞以在分離前發送一個進一步的指示。使用 `claude agents` 監視工作階段。要將對話複製到新的背景工作階段,同時此工作階段保持運行,請使用 `/fork`。別名:`/bg` |61| `/background [prompt]` | 分離目前工作階段以作為[背景 agent](/docs/zh-TW/agent-view) 運行並釋放此終端機。傳遞提示詞以在分離前發送一個進一步的指示。使用 `claude agents` 監視工作階段。要將對話複製到新的背景工作階段,同時此工作階段保持運行,請使用 `/fork`。別名:`/bg` |


65| `/bug [report]` | 報告錯誤或分享您的對話。您選擇要包含多少工作階段歷史記錄,並在發送任何內容之前在同意螢幕上確認。當您在第一方連線上登入 Anthropic 時,報告會發送給 Anthropic;在第三方提供者上,或沒有 Anthropic 憑證,Claude Code 會將報告寫入[`~/.claude/feedback-bundles/` 下的本地存檔](/docs/zh-TW/data-usage#telemetry-services),您可以自己轉發。在 [VS Code 擴充功能](/docs/zh-TW/vs-code#use-the-prompt-box)中,`/bug` 改為打開擴充功能自己的回饋對話框;需要 Claude Code v2.1.229 或更新版本。當您在 Claude 回應時運行它時,Claude Code 會立即打開對話框。在 v2.1.232 之前,Claude Code 會將命令排隊直到該回合完成。別名:`/share`。在 v2.1.212 之前,`/bug` 和 `/share` 是 `/feedback` 的別名 |65| `/bug [report]` | 報告錯誤或分享您的對話。您選擇要包含多少工作階段歷史記錄,並在發送任何內容之前在同意螢幕上確認。當您在第一方連線上登入 Anthropic 時,報告會發送給 Anthropic;在第三方提供者上,或沒有 Anthropic 憑證,Claude Code 會將報告寫入[`~/.claude/feedback-bundles/` 下的本地存檔](/docs/zh-TW/data-usage#telemetry-services),您可以自己轉發。在 [VS Code 擴充功能](/docs/zh-TW/vs-code#use-the-prompt-box)中,`/bug` 改為打開擴充功能自己的回饋對話框;需要 Claude Code v2.1.229 或更新版本。當您在 Claude 回應時運行它時,Claude Code 會立即打開對話框。在 v2.1.232 之前,Claude Code 會將命令排隊直到該回合完成。別名:`/share`。在 v2.1.212 之前,`/bug` 和 `/share` 是 `/feedback` 的別名 |

66| `/cd <path>` | 將此工作階段移動到新的工作目錄,保持對話。輸入部分路徑以查看匹配的目錄建議;按 `Tab` 接受一個。有關 Claude Code 從新目錄立即應用的內容以及 `/cd` 與 `/add-dir` 的區別,請參閱[將工作階段移動到另一個目錄](/docs/zh-TW/permissions#move-the-session-to-another-directory) |66| `/cd <path>` | 將此工作階段移動到新的工作目錄,保持對話。輸入部分路徑以查看匹配的目錄建議;按 `Tab` 接受一個。有關 Claude Code 從新目錄立即應用的內容以及 `/cd` 與 `/add-dir` 的區別,請參閱[將工作階段移動到另一個目錄](/docs/zh-TW/permissions#move-the-session-to-another-directory) |

67| `/chrome` | 設定 [Claude in Chrome](/docs/zh-TW/chrome) 設定 |67| `/chrome` | 設定 [Claude in Chrome](/docs/zh-TW/chrome) 設定 |

68| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|managed-agents-secure\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 為您的專案語言載入 [Claude API](https://platform.claude.com/docs/en/api/overview) 和 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 參考資料。當您的程式碼匯入 `anthropic` 或 `@anthropic-ai/sdk` 時也會自動啟動。有關每個子命令的作用以及它需要的版本,請參閱[在 Claude API 專案上工作](/docs/zh-TW/skills#work-on-claude-api-projects) |68| `/claude-api [migrate\|upgrade\|api-version\|managed-agents-onboard\|managed-agents-secure\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 為您的專案語言載入 [Claude API](https://platform.claude.com/docs/en/api/overview) 和 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 參考資料。當您的程式碼匯入 `anthropic` 或 `@anthropic-ai/sdk` 時也會自動啟動。有關每個子命令的作用以及它需要的版本,請參閱[在 Claude API 專案上工作](/docs/zh-TW/skills#work-on-claude-api-projects) |

69| `/claude-in-chrome [task]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 讓 Claude 通過 [Claude in Chrome](/docs/zh-TW/chrome) 在您的瀏覽器中執行任務,例如測試頁面、填充表單或讀取控制台日誌。在為工作階段啟用 Chrome 整合時可用,例如使用 `claude --chrome`,或當 Claude Code 可以提供[安裝擴充功能](/docs/zh-TW/chrome#install-the-extension-when-claude-asks)時 |69| `/claude-in-chrome [task]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 讓 Claude 通過 [Claude in Chrome](/docs/zh-TW/chrome) 在您的瀏覽器中執行任務,例如測試頁面、填充表單或讀取控制台日誌。在為工作階段啟用 Chrome 整合時可用,例如使用 `claude --chrome`,或當 Claude Code 可以提供[安裝擴充功能](/docs/zh-TW/chrome#install-the-extension-when-claude-asks)時 |

70| `/clear [name]` | 使用空上下文啟動新對話。傳遞名稱以在 `/resume` 選擇器中標記先前的對話。要在繼續相同對話的同時釋放上下文,請改用 `/compact`。使用 `/resume` 恢復先前的對話,或在同一 Claude Code 程序中,從[倒帶選單的上一個工作階段項目](/docs/zh-TW/checkpointing#rewind-past-a-cleared-conversation)恢復它。別名:`/reset`、`/new` |70| `/clear [name]` | 使用空上下文啟動新對話。傳遞名稱以在 `/resume` 選擇器中標記先前的對話。要在繼續相同對話的同時釋放上下文,請改用 `/compact`。使用 `/resume` 恢復先前的對話,或在同一 Claude Code 程序中,從[倒帶選單的上一個工作階段項目](/docs/zh-TW/checkpointing#rewind-past-a-cleared-conversation)恢復它。別名:`/reset`、`/new` |

71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 檢查目前差異或您傳遞的 PR 編號、分支或路徑,以查找正確性錯誤。根據您的模型和 effort 等級,檢查也涵蓋清理機會。傳遞 `--fix` 以應用發現,`--comment` 以在 GitHub PR 或 GitLab merge request 上發佈它們,或 `ultra` 以運行深度[雲端審查](/docs/zh-TW/ultrareview)。發佈到 GitLab merge request 需要 Claude Code v2.1.257 或更新版本。在 `github.com` PR 目標上使用 `ultra` 時,傳遞 `--post` 以在啟動對話框中預先選擇[將完成的發現發佈到 PR](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request);`--post` 需要 Claude Code v2.1.227 或更新版本。有關 effort 等級、目標設定以及它與 `/simplify` 的關係,請參閱[使用 `/code-review` 在本地檢查](/docs/zh-TW/code-review-local)。別名:`/review` |71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 檢查目前差異或您傳遞的 PR 編號、分支或路徑,以查找正確性錯誤。根據您的模型和 effort 等級,檢查也涵蓋清理機會。傳遞 `--fix` 以應用發現,`--comment` 以在 GitHub PR 或 GitLab merge request 上發佈它們,或 `ultra` 以運行深度[雲端審查](/docs/zh-TW/ultrareview)。發佈到 GitLab merge request 需要 Claude Code v2.1.257 或更新版本。在 `github.com` PR 目標上使用 `ultra` 時,傳遞 `--post` 以在啟動對話框中預先選擇[將完成的發現發佈到 PR](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request);`--post` 需要 Claude Code v2.1.227 或更新版本。有關 effort 等級、目標設定以及它與 `/simplify` 的關係,請參閱[使用 `/code-review` 在本地檢查](/docs/zh-TW/code-review-local)。別名:`/review` |


80| `/deep-research <question>` | **[Workflow](/docs/zh-TW/workflows#bundled-workflows)。** 在問題上展開網路搜尋、擷取和交叉檢查來源,並合成引用的報告 |80| `/deep-research <question>` | **[Workflow](/docs/zh-TW/workflows#bundled-workflows)。** 在問題上展開網路搜尋、擷取和交叉檢查來源,並合成引用的報告 |

81| `/design [brief]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 在一個畫布上草擬 UI 模型、螢幕流程、登陸頁面或海報作為畫板,發佈為 Claude Design [artifact](/docs/zh-TW/artifacts#draft-a-design-canvas),例如 `/design a settings screen for a mobile banking app`。您在桌面瀏覽器中編輯畫板,您的編輯會自動保存。您可以將每個畫板匯出為 PNG 或 PDF。需要 Claude Code v2.1.265 或更新版本、[artifact 可用](/docs/zh-TW/artifacts#availability)的工作階段,以及[設計範本可用](/docs/zh-TW/artifacts#start-from-a-slides-design-or-docs-template)的帳戶;如果您的組織已關閉該範本,`/design` 不會草擬設計。在 Anthropic API 上可用。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上,artifact 不可用,因此命令在那裡不可用 |81| `/design [brief]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 在一個畫布上草擬 UI 模型、螢幕流程、登陸頁面或海報作為畫板,發佈為 Claude Design [artifact](/docs/zh-TW/artifacts#draft-a-design-canvas),例如 `/design a settings screen for a mobile banking app`。您在桌面瀏覽器中編輯畫板,您的編輯會自動保存。您可以將每個畫板匯出為 PNG 或 PDF。需要 Claude Code v2.1.265 或更新版本、[artifact 可用](/docs/zh-TW/artifacts#availability)的工作階段,以及[設計範本可用](/docs/zh-TW/artifacts#start-from-a-slides-design-or-docs-template)的帳戶;如果您的組織已關閉該範本,`/design` 不會草擬設計。在 Anthropic API 上可用。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上,artifact 不可用,因此命令在那裡不可用 |

82| `/design consent`, `/design revoke` | 授予 Claude 對 [Claude Design](https://claude.ai/design) 的存取權,或撤回該存取權。當 Claude 的回覆要求您運行 `/design consent` 時,請自行在 Claude Code 的提示字元中輸入它 |82| `/design consent`, `/design revoke` | 授予 Claude 對 [Claude Design](https://claude.ai/design) 的存取權,或撤回該存取權。當 Claude 的回覆要求您運行 `/design consent` 時,請自行在 Claude Code 的提示字元中輸入它 |

83| `/design-login` | 使用您的 claude.ai 帳戶授權 `/design-sync` 的設計系統存取。每當 `/design-sync` 或 `/design consent` 告訴您需要登入時,請使用 `/design-login` 登入 |83| `/design-login` | 使用您的 claude.ai 帳戶授權 `/design-sync` 的設計系統存取。每當 `/design-sync` 或 `/design consent` 告訴您需要登入時,請使用 `/design-login` 登入。此登入適用於位於 claude.ai/design 的獨立 Claude Design 網站,該網站將於 2026 年 12 月 14 日前關閉;請參閱[從獨立 Claude Design 遷移至 Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

84| `/design-sync [hint]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 轉換您的儲存庫的 React 設計系統並將其上傳到 [Claude Design](https://claude.ai/design),以便它生成的設計使用您的真實元件。可選地命名設計系統,例如 `/design-sync Acme DS`。首次同步會驗證每個元件,在大型儲存庫上可能需要幾個小時。在 Anthropic API 上可用。它需要 claude.ai,而 CLI 在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上,或通過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)時不會聯絡它,因此命令在那裡不可用 |84| `/design-sync [hint]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 轉換您的儲存庫的 React 設計系統並將其上傳到 [Claude Design](https://claude.ai/design),以便它生成的設計使用您的真實元件。可選地命名設計系統,例如 `/design-sync Acme DS`。首次同步會驗證每個元件,在大型儲存庫上可能需要幾個小時。在 Anthropic API 上可用。它需要 claude.ai,而 CLI 在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上,或通過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)時不會聯絡它。命令在那裡不可用。此命令會上傳到獨立的 claude.ai/design 網站,該網站將於 2026 年 12 月 14 日前關閉;請參閱[從獨立 Claude Design 遷移至 Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

85| `/desktop` | 在 Claude Code Desktop 應用程式中繼續目前工作階段。需要 macOS 或 x64 Windows 以及 Claude 訂閱。別名:`/app` |85| `/desktop` | 在 Claude Code Desktop 應用程式中繼續目前工作階段。需要 macOS 或 x64 Windows 以及 Claude 訂閱。別名:`/app` |

86| `/diff` | 檢查工作樹中的變更,包括 Claude 到目前為止所做的編輯。請參閱[使用 /diff 檢查變更](/docs/zh-TW/interactive-mode#review-changes-with-%2Fdiff) |86| `/diff` | 檢查工作樹中的變更,包括 Claude 到目前為止所做的編輯。請參閱[使用 /diff 檢查變更](/docs/zh-TW/interactive-mode#review-changes-with-%2Fdiff) |

87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 運行設定檢查,診斷安裝、設定、擴充功能和 `CLAUDE.md` 問題,並提出修復建議,Claude 會在您確認後應用這些修復。有關檢查涵蓋的內容,或改用 `prompt-audit` 審計您的指示,請參閱[使用 `/doctor` 檢查您的設定](/docs/zh-TW/skills#check-your-setup-with-/doctor)。`prompt-audit` 子命令需要 Claude Code v2.1.283 或更新版本。別名:`/checkup` |87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 運行設定檢查,診斷安裝、設定、擴充功能和 `CLAUDE.md` 問題,並提出修復建議,Claude 會在您確認後應用這些修復。有關檢查涵蓋的內容,或改用 `prompt-audit` 審計您的指示,請參閱[使用 `/doctor` 檢查您的設定](/docs/zh-TW/skills#check-your-setup-with-/doctor)。`prompt-audit` 子命令需要 Claude Code v2.1.283 或更新版本。別名:`/checkup` |

Details

379 379 

380若要阻止 `@` 參考在您的訊息中包含檔案內容和目錄清單,請在您的 shell 或使用者設定中設定 [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/zh-TW/env-vars#variables)。Claude 隨後會收到您參考的路徑,並附帶一則說明,指示其使用檔案工具讀取這些路徑。此變數需要 Claude Code v2.1.299 或更新版本,且 Claude Code 會在專案和本機設定中忽略它。380若要阻止 `@` 參考在您的訊息中包含檔案內容和目錄清單,請在您的 shell 或使用者設定中設定 [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/zh-TW/env-vars#variables)。Claude 隨後會收到您參考的路徑,並附帶一則說明,指示其使用檔案工具讀取這些路徑。此變數需要 Claude Code v2.1.299 或更新版本,且 Claude Code 會在專案和本機設定中忽略它。

381 381 

382當 Claude Code 包含您以 `@` 參考的檔案時,您的 [`PreToolUse` hook](/docs/zh-TW/hooks#pretooluse) 不會執行,因為它不會進行任何工具呼叫。如果您依賴這些 hook 來控制 Claude 讀取的內容,請封鎖特定路徑,或阻止 `@` 參考包含檔案:

383 

384* **封鎖特定路徑**:為這些路徑新增 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)。Claude Code 不會包含符合該規則的檔案。

385* **阻止 `@` 參考包含檔案**:設定 `CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`,這會阻止您訊息中的 `@` 檔案和目錄參考包含內容,即使是您的 hook 未檢查的路徑也是如此。之後,在 Claude 使用 `Read` 等工具開啟所參考的路徑之前,您相符的 hook 會先執行。

386 

382***387***

383 388 

384### 按排程執行 Claude389### 按排程執行 Claude

costs.md +24 −5

Details

55 55 

56#### 計畫使用情況明細56#### 計畫使用情況明細

57 57 

58在 Pro、Max、Team 或 Enterprise 計畫上,`/usage` 還會顯示計入您計畫限制的內容明細:58在 Pro、Max、Team 或 Enterprise 計畫上,`/usage` 還會顯示計入您計畫限制的內容明細,並附上建議:

59 59 

60* **Attribution**:最近使用情況歸因於 skills、subagents、plugins 和個別 MCP servers,每個都顯示為總數的百分比。MCP server 的份額僅計算消耗其工具結果之一的請求。在 v2.1.222 之前,在一次呼叫 MCP server 後,Claude Code 將每個後續請求歸因於該伺服器,高估了其份額。60* **Attribution**:最近使用情況歸因於 skills、subagents、plugins 和個別 MCP servers,每個都顯示為總數的百分比。MCP server 的份額僅計算消耗其工具結果之一的請求。在 v2.1.222 之前,在一次呼叫 MCP server 後,Claude Code 將每個後續請求歸因於該伺服器,高估了其份額。

61* **Behavior flags**:行為,例如長上下文或快取未命中,當其佔最近使用情況的 10% 或更多時被標記。61* **Recommendations**:可降低用量的變更,每列一項。每一列開頭為其所處理的近期用量佔比(至少 10%),例如 `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`。若要讓 Claude Code 套用其能處理的建議,請參閱[使用修正快捷鍵套用建議](#apply-recommendations-with-the-fix-shortcut)。

62* **Loops**:最近執行的最重的每個 [`/loop` 或其他工作階段範圍的排程任務](/docs/zh-TW/scheduled-tasks)各佔一列,按總 token 排序,並附上其餘項目的計數。需要 Claude Code v2.1.242 或更新版本。62* **Loops**:最近執行的最重的每個 [`/loop` 或其他工作階段範圍的排程任務](/docs/zh-TW/scheduled-tasks)各佔一列,按總 token 排序,並附上其餘項目的計數。需要 Claude Code v2.1.242 或更新版本。

63 * **每一列報告的內容**:任務的執行頻率、執行次數、其總 token 和每次執行的 token,以及上次執行的時間63 * **每一列報告的內容**:任務的執行頻率、執行次數、其總 token 和每次執行的 token,以及上次執行的時間

64 * **停止後重新建立的迴圈**:Claude Code 以任務的提示詞作為列的鍵,因此您停止並重新建立的迴圈仍保持為一列64 * **停止後重新建立的迴圈**:Claude Code 以任務的提示詞作為列的鍵,因此您停止並重新建立的迴圈仍保持為一列

65 65 

66按 `d` 或 `w` 在過去 24 小時和過去 7 天之間切換。這些數字是近似值,根據此機器上的本地工作階段歷史記錄計算,因此不包括來自其他裝置或 claude.ai 的使用情況。66按 `d` 或 `w` 在過去 24 小時和過去 7 天之間切換。這些數字是近似值,根據此機器上的本地工作階段歷史記錄計算,因此不包括來自其他裝置或 claude.ai 的使用情況。

67 67 

68在 [VS Code 擴充功能](/docs/zh-TW/vs-code#check-account-and-usage)中,歸因份額和行為標記會出現在「帳戶與使用情況」對話框中,並提供「日」和「週」切換,不包括「迴圈」行。68在 [VS Code 擴充功能](/docs/zh-TW/vs-code#check-account-and-usage)中,歸因份額和建議會出現在「帳戶與使用情況」對話框中,並提供「日」和「週」切換,不包括「迴圈」列。

69 

70#### 使用修正快捷鍵套用建議

71 

72當 `/usage` 頁尾顯示 `f to fix 2 of 3` 之類的提示時,按 `f` 即可讓 Claude Code 針對其能處理的建議採取行動。`f` 快捷鍵需要 Claude Code v2.1.305 或更新版本。

73 

741. 任何進行中的回合結束後,Claude Code 會執行列中顯示、前面沒有 `run` 的每個 [`/effort`](/docs/zh-TW/model-config#adjust-effort-level) 命令。

752. 接著 Claude 會收到一個提示詞,其中針對其能處理的其他每一列各有一個步驟。該提示詞會要求 Claude 在進行每項變更之前先向您展示。

76 

77若要了解按下 `f` 會如何處理您的每一列,請在第一欄中找出該列的形式:

78 

79| 列的形式 | 範例列 | 按下 `f` 時 |

80| :- | :- | :- |

81| 以 `/effort` 命令結尾,且前面沒有 `run` | `40% Switch from max to high effort · /effort high` | Claude Code 會執行該命令 |

82| 以 `run` 和命令結尾 | `30% Compact before you step away · run /compact` | 此列不會有任何動作。請自行在 Claude Code 提示字元中執行該命令 |

83| 以其他任何內容結尾 | `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request` | Claude 會在提示詞中針對其中部分列取得一個步驟,其餘列則不會有任何動作。如果 Claude 沒有針對某一列向您展示任何變更,請自行依照該建議操作 |

84 

85在 `f to fix 2 of 3` 中,第一個數字計算您按下 `f` 時 Claude Code 會處理的列數,第二個數字計算顯示的列數。不含 `of` 的提示(例如 `f to fix both`)表示 Claude Code 會處理顯示的每一列。

86 

87當 [Remote Control](/docs/zh-TW/remote-control) 已連線時,頁尾不會顯示 `f` 提示。如果按下 `f` 後 `/usage` 關閉並顯示 `Nothing was sent. Turn off Remote Control to use fixes.`,表示 Remote Control 在 `/usage` 開啟期間連線。若要再次使用 `f`,請[中斷 Remote Control 連線](/docs/zh-TW/remote-control#check-connection-status),然後在 Claude Code 提示字元中執行 `/usage` 並再次按下 `f`。

69 88 

70#### 檢查您的使用額度支出89#### 檢查您的使用額度支出

71 90 


367已開啟數小時的工作階段可能會使用遠超過您的活動所暗示的計畫限額,通常是由於以下原因之一:386已開啟數小時的工作階段可能會使用遠超過您的活動所暗示的計畫限額,通常是由於以下原因之一:

368 387 

369* **長上下文**:Claude Code 在每次請求時都會傳送您與其的完整對話,每當 Claude 使用工具時,它會傳送另一個請求,其中包含該批工具結果。使用 [prompt caching](/docs/zh-TW/prompt-caching),Claude Code 會以 [快取代幣費率](https://platform.claude.com/docs/en/about-claude/pricing) 重新讀取該歷史記錄,因此在已開啟一整天的工作階段中提出的一行問題仍然會為整個對話消耗使用量。請參閱 [主動管理上下文](#manage-context-proactively) 以了解保持上下文較小的方法388* **長上下文**:Claude Code 在每次請求時都會傳送您與其的完整對話,每當 Claude 使用工具時,它會傳送另一個請求,其中包含該批工具結果。使用 [prompt caching](/docs/zh-TW/prompt-caching),Claude Code 會以 [快取代幣費率](https://platform.claude.com/docs/en/about-claude/pricing) 重新讀取該歷史記錄,因此在已開啟一整天的工作階段中提出的一行問題仍然會為整個對話消耗使用量。請參閱 [主動管理上下文](#manage-context-proactively) 以了解保持上下文較小的方法

370* **快取未命中**:在超過 [快取生命週期](/docs/zh-TW/prompt-caching#cache-lifetime) 的中斷後的第一條訊息會未命中快取並重新處理您的完整上下文。在訂閱上生命週期為一小時,一旦您開始使用 [用量點數](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans),生命週期會降至五分鐘;在 API 金鑰或雲端提供者上,預設為五分鐘。若要在使用用量點數時保持一小時的生命週期,[自行選擇 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)389* **快取未命中**:在超過 [快取生命週期](/docs/zh-TW/prompt-caching#cache-lifetime) 的中斷後的第一條訊息會未命中快取並重新處理您的完整上下文。請參閱 [您的請求會獲得哪種生命週期](/docs/zh-TW/prompt-caching#which-ttl-each-request-gets) 以及 [設定生命週期的控制項](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)

371* **排程任務**:[工作階段範圍的排程任務](/docs/zh-TW/scheduled-tasks) 會依其間隔執行,即使工作階段處於閒置狀態,每次都傳送您的完整上下文390* **排程任務**:[工作階段範圍的排程任務](/docs/zh-TW/scheduled-tasks) 會依其間隔執行,即使工作階段處於閒置狀態,每次都傳送您的完整上下文

372* **跨工作階段訊息**:Claude Code 在此工作階段處於閒置時,將 [來自您另一個工作階段的訊息](/docs/zh-TW/cross-session-messaging) 作為新回合傳送,每次都傳送您的完整上下文。若要保留入站訊息而不是傳送它們,請將 [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) 設定為 `hold`391* **跨工作階段訊息**:Claude Code 在此工作階段處於閒置時,將 [來自您另一個工作階段的訊息](/docs/zh-TW/cross-session-messaging) 作為新回合傳送,每次都傳送您的完整上下文。若要保留入站訊息而不是傳送它們,請將 [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) 設定為 `hold`

373* **目標檢查**:當背景工作保持活躍 [目標](/docs/zh-TW/goal) 等待時,Claude Code [要求 Claude 檢查該工作](/docs/zh-TW/goal#background-work-defers-evaluation),即使工作階段處於閒置狀態,啟動傳送您完整上下文的新回合。Claude Code 在您的提示之間每個目標最多啟動三個閒置檢查。在 v2.1.246 之前,閒置檢查是無上限的。若要關閉檢查,請將 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/zh-TW/env-vars) 設定為 `0`。閒置檢查需要 Claude Code v2.1.236 或更新版本392* **目標檢查**:當背景工作保持活躍 [目標](/docs/zh-TW/goal) 等待時,Claude Code [要求 Claude 檢查該工作](/docs/zh-TW/goal#background-work-defers-evaluation),即使工作階段處於閒置狀態,啟動傳送您完整上下文的新回合。Claude Code 在您的提示之間每個目標最多啟動三個閒置檢查。在 v2.1.246 之前,閒置檢查是無上限的。若要關閉檢查,請將 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/zh-TW/env-vars) 設定為 `0`。閒置檢查需要 Claude Code v2.1.236 或更新版本


375* **代理隊友**:每個活躍 [隊友](#agent-team-token-costs) 會持續消耗代幣,直到它退出394* **代理隊友**:每個活躍 [隊友](#agent-team-token-costs) 會持續消耗代幣,直到它退出

376* **壓縮**:`/compact` 讀取它摘要的對話,因此 [壓縮大型上下文](/docs/zh-TW/prompt-caching#compacting-the-conversation) 本身是一個大型請求。當您想要全新開始而不是連續性時,`/clear` 不需要任何成本395* **壓縮**:`/compact` 讀取它摘要的對話,因此 [壓縮大型上下文](/docs/zh-TW/prompt-caching#compacting-the-conversation) 本身是一個大型請求。當您想要全新開始而不是連續性時,`/clear` 不需要任何成本

377 396 

378在 Pro、Max、Team 或 Enterprise 計畫上,`/usage` 細目會標記佔您最近使用量 10% 或以上的行為,例如長上下文或快取未命中,每個都附帶減少它的提示。397在 Pro、Max、Team 或 Enterprise 計畫上,[`/usage` 細目](#plan-usage-breakdown) 會針對佔您最近使用量 10% 或以上的行為(例如長上下文或快取未命中)建議調整方式。

379 398 

380## 了解 Claude Code 行為的變更399## 了解 Claude Code 行為的變更

381 400 

Details

228* **在截止時間之前**:如果模式或設定變更允許訊息,Claude Code 會傳遞它。228* **在截止時間之前**:如果模式或設定變更允許訊息,Claude Code 會傳遞它。

229* **在截止時間之後**:Claude Code 會丟棄訊息,並向它可以到達的寄件者報告為已過期。229* **在截止時間之後**:Claude Code 會丟棄訊息,並向它可以到達的寄件者報告為已過期。

230 230 

231將 `dialogExpiry` 設定為 `"never"` 以在工作階段結束前保留預設保留的訊息。由明確 `hold` 設定保留的訊息不會過期;Claude Code 只有在稍後應用 `accept` 時才會傳遞它。231將 `dialogExpiry` 設定為 `"never"` 以在工作階段結束前保留預設保留的訊息。由明確 `hold` 設定保留的訊息不會過期;Claude Code 會在稍後應用 `accept` 時傳遞它。

232 232 

233若要讓 `-p` 背景工作程式無人值守地接收訊息,請使用 `--settings` 值中設定為 `accept` 的 `crossSessionInbound` 啟動它。您使用者設定中的 `accept` 也有效,但適用於您執行的每個工作階段。233若要讓 `-p` 背景工作程式無人值守地接收訊息,請使用 `--settings` 值中設定為 `accept` 的 `crossSessionInbound` 啟動它。您使用者設定中的 `accept` 也有效,但適用於您執行的每個工作階段。

234 234 

desktop.md +15 −8

Details

6 6 

7> 充分利用 Claude Code Desktop:具有 Git 隔離的並行會話、拖放窗格佈局、整合終端機和檔案編輯器、側邊聊天、電腦使用、從您的手機 Dispatch 會話、視覺化差異檢查、應用程式預覽、PR 監控、連接器和企業配置。7> 充分利用 Claude Code Desktop:具有 Git 隔離的並行會話、拖放窗格佈局、整合終端機和檔案編輯器、側邊聊天、電腦使用、從您的手機 Dispatch 會話、視覺化差異檢查、應用程式預覽、PR 監控、連接器和企業配置。

8 8 

9Claude Desktop 應用程式有三個標籤:**Chat** 用於對話、**Cowork** 用於 [Dispatch 和更長的代理工作](https://claude.com/product/cowork),以及 **Code** 用於軟體開發。本頁面是 Code 標籤的參考。9在 Claude Desktop 應用程式中,Claude Code 就是 **Code** 標籤。此應用程式也提供聊天和 [Cowork](https://claude.com/product/cowork),後者負責處理 Dispatch 和更長的代理工作。本頁面是 Code 標籤的參考。

10 10 

11> **[下載 macOS 版本](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**11> **[下載 macOS 版本](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>12>


214 214 

215### 查看工作階段詳細資訊215### 查看工作階段詳細資訊

216 216 

217工作階段詳細資訊面板是聊天旁的一組卡片,顯示工作階段在何處執行、變更了什麼以及正在執行什麼。此面板會在您啟動工作階段後出現,前提是聊天區域的寬度足以容納它。217工作階段詳細資訊面板是聊天旁的一組卡片,顯示工作階段在何處執行、變更了什麼、正在執行什麼,以及其上下文使用情況。此面板會在您啟動工作階段後出現,前提是聊天區域的寬度足以容納它。

218 218 

219#### 隱藏或顯示工作階段詳細資訊面板219#### 隱藏或顯示工作階段詳細資訊面板

220 220 


298 298 

299### 檢查使用情況299### 檢查使用情況

300 300 

301點擊模型選擇器旁的使用情況環,以查看您目前的上下文視窗使用情況,以及您的方案在該期間的使用情況。上下文使用情況是按工作階段計算的;方案使用情況在您所有的 Claude Code 使用介面中共用。301若要查看此工作階段的上下文視窗已使用多少,請先確認您的 Code 標籤佈局:

302 

303* **目前佈局**:[工作階段詳細資訊面板](#see-session-details)中 **Context** 卡片的標題會以百分比顯示。開啟該卡片即可依類別查看占用視窗的內容。

304* **[較早的佈局](#check-which-layout-you-have)**:點擊模型選擇器旁的使用情況環。其彈出視窗會顯示您的上下文視窗使用情況。

305 

306無論使用哪種佈局,在提示詞輸入框中輸入 `/context`,即可在聊天中列出此工作階段上下文視窗的分類明細。

307 

308兩種佈局的模型選擇器旁都有使用情況環。點擊它即可查看您的方案使用情況,該使用情況在您所有的 Claude Code 使用介面中共用。

302 309 

303## 讓 Claude 使用您的電腦310## 讓 Claude 使用您的電腦

304 311 


398 405 

399> [!NOTE]406> [!NOTE]

400>407>

401> 工作階段隔離需要 [Git](https://git-scm.com/downloads)。大多數 Mac 預設包含 Git。在終端機中執行 `git --version` 進行檢查;如果它列印版本號,表示已安裝 Git。如果您遇到 Git 錯誤,請在 [Cowork 標籤](https://claude.com/product/cowork) 中詢問 Claude 以幫助排除您的設定問題。408> 工作階段隔離需要 [Git](https://git-scm.com/downloads)。大多數 Mac 預設包含 Git。在終端機中執行 `git --version` 進行檢查;如果它列印版本號,表示已安裝 Git。如果您遇到 Git 錯誤,請在 [Cowork](https://claude.com/product/cowork) 中詢問 Claude 以幫助排除您的設定問題。

402 409 

403### 將資料夾新增到工作階段410### 將資料夾新增到工作階段

404 411 


462 469 

463當 Claude 透過此使用介面傳送訊息到另一個工作階段時,Claude Code 會在那裡將其顯示為一張卡片,標籤為傳送工作階段的標題和返回連結,因此您總是可以看到訊息來自何處。如果接收工作階段正在執行任務中,Claude Code 會保留訊息,Claude 會在目前工作完成後讀取它。接收端的 Claude 可以回覆,Claude Code 會透過此使用介面傳遞回覆。Claude 無法傳遞到已存檔的工作階段,並會在訊息未送達時告訴您。470當 Claude 透過此使用介面傳送訊息到另一個工作階段時,Claude Code 會在那裡將其顯示為一張卡片,標籤為傳送工作階段的標題和返回連結,因此您總是可以看到訊息來自何處。如果接收工作階段正在執行任務中,Claude Code 會保留訊息,Claude 會在目前工作完成後讀取它。接收端的 Claude 可以回覆,Claude Code 會透過此使用介面傳遞回覆。Claude 無法傳遞到已存檔的工作階段,並會在訊息未送達時告訴您。

464 471 

465Claude Code 在工作階段間應用四個安全行為:472Claude Code 在工作階段間應用三個安全行為:

466 473 

467* 在 Claude 存檔工作階段之前,您會收到核准卡片,但自動模式和略過權限模式除外,在這兩種模式下,Claude 可以在沒有核准卡片的情況下存檔工作階段。若要被詢問,請切換到 Manual。474* 在 Claude 存檔工作階段之前,您會收到核准卡片,但自動模式和略過權限模式除外,在這兩種模式下,Claude 可以在沒有核准卡片的情況下存檔工作階段。若要被詢問,請切換到 Manual。

468* 透過此使用介面,Claude 無法從沒有人監視的工作階段(例如排程任務執行)傳送跨工作階段訊息,也無法傳遞訊息到這類工作階段。

469* Claude Code 會根據接收工作階段的[入站控制](/docs/zh-TW/cross-session-messaging#control-inbound-messages)檢查來自此使用介面的每條訊息,即使接收工作階段本身沒有[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging#availability)。如果您在接收工作階段中將 [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) 設定為 `refuse`,Claude Code 會丟棄來自此使用介面的訊息。Claude Code 會向 Claude 桌面應用程式報告拒絕。在 v2.1.234 之前,Claude Code 會丟棄來自此使用介面到沒有跨工作階段傳訊的接收工作階段的每條訊息。475* Claude Code 會根據接收工作階段的[入站控制](/docs/zh-TW/cross-session-messaging#control-inbound-messages)檢查來自此使用介面的每條訊息,即使接收工作階段本身沒有[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging#availability)。如果您在接收工作階段中將 [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) 設定為 `refuse`,Claude Code 會丟棄來自此使用介面的訊息。Claude Code 會向 Claude 桌面應用程式報告拒絕。在 v2.1.234 之前,Claude Code 會丟棄來自此使用介面到沒有跨工作階段傳訊的接收工作階段的每條訊息。

470* Claude Code 引用每條傳入訊息並將其歸因於傳送它的工作階段,Claude 在對其進行操作時仍然遵循接收工作階段自己的權限設定。476* Claude Code 引用每條傳入訊息並將其歸因於傳送它的工作階段,Claude 在對其進行操作時仍然遵循接收工作階段自己的權限設定。

471 477 


514 520 

515### 來自 Dispatch 的工作階段521### 來自 Dispatch 的工作階段

516 522 

517[Dispatch](https://support.claude.com/en/articles/13947068) 是與 Claude 的持久對話,存在於 [Cowork](https://claude.com/product/cowork) 標籤中。您向 Dispatch 傳送任務,它決定如何處理它。523[Dispatch](https://support.claude.com/en/articles/13947068) 是與 Claude 的持久對話,存在於 [Cowork](https://claude.com/product/cowork) 中。您向 Dispatch 傳送任務,它決定如何處理它。

518 524 

519任務可以透過兩種方式成為 Code 工作階段:您直接要求一個,例如「開啟 Claude Code 工作階段並修復登入錯誤」,或 Dispatch 決定任務是開發工作並自行產生一個。通常路由到 Code 的任務包括修復錯誤、更新相依性、執行測試或開啟 pull request。研究、文件編輯和試算表工作保留在 Cowork 中。525任務可以透過兩種方式成為 Code 工作階段:您直接要求一個,例如「開啟 Claude Code 工作階段並修復登入錯誤」,或 Dispatch 決定任務是開發工作並自行產生一個。通常路由到 Code 的任務包括修復錯誤、更新相依性、執行測試或開啟 pull request。研究、文件編輯和試算表工作保留在 Cowork 中。

520 526 


528 534 

529## 擴展 Claude Code535## 擴展 Claude Code

530 536 

531連接外部服務、新增可重複使用的工作流程、自訂 Claude 的行為,並配置預覽伺服器。若要在一個地方管理連接器、skills 和 plugins,請點擊側邊欄中的 **Customize**。[Cowork](https://claude.com/product/cowork) 標籤在桌面應用程式中從此 Customize 配置取得其 skills、plugins 和連接器,該配置透過您的 claude.ai 帳戶同步,而不是從 CLI 的 `~/.claude` 目錄。537連接外部服務、新增可重複使用的工作流程、自訂 Claude 的行為,並設定預覽伺服器。若要在一個地方管理連接器、skills 和外掛,請點擊側邊欄中的 **Customize**。[Cowork](https://claude.com/product/cowork) 在桌面應用程式中從此 Customize 設定取得其 skills、外掛和連接器,該設定透過您的 claude.ai 帳戶同步,而不是從 CLI 的 `~/.claude` 目錄。

532 538 

533Claude Code 也會在您使用相同帳戶登入的終端機會話中載入為您的 claude.ai 帳戶啟用的 skills 和 plugins。請參閱 [Skills synced from claude.ai](/docs/zh-TW/skills#how-synced-skills-behave) 和 [Plugins synced from claude.ai](/docs/zh-TW/plugins/loading#synced-plugins)。539Claude Code 也會在您使用相同帳戶登入的終端機會話中載入為您的 claude.ai 帳戶啟用的 skills 和 plugins。請參閱 [Skills synced from claude.ai](/docs/zh-TW/skills#how-synced-skills-behave) 和 [Plugins synced from claude.ai](/docs/zh-TW/plugins/loading#synced-plugins)。

534 540 


1659*.livepreview.claude.ai1665*.livepreview.claude.ai

1660claude.com1666claude.com

1661platform.claude.com1667platform.claude.com

1668sso.claude.com

1662*.livepreview.claude.app1669*.livepreview.claude.app

1663*.claudeusercontent.com1670*.claudeusercontent.com

1664*.claudemcpcontent.com1671*.claudemcpcontent.com

Details

21 21 

22### Cowork 需求22### Cowork 需求

23 23 

24Cowork 是 [Dispatch 和更長時間代理工作](https://claude.com/docs/cowork/overview) 的桌面標籤。在 Linux 上,Cowork 在桌面應用程式使用 QEMU 和 KVM 託管的虛擬機器中執行這些工作。若要使用 Cowork,您的機器需要:24Cowork 是桌面應用程式中用於 [Dispatch 和更長時間代理工作](https://claude.com/docs/cowork/overview) 的部分。在 Linux 上,Cowork 在桌面應用程式使用 QEMU 和 KVM 託管的虛擬機器中執行這些工作。若要使用 Cowork,您的機器需要:

25 25 

26* **硬體虛擬化**:在您的韌體設定中開啟。沒有它,Cowork 標籤會報告「Cowork requires hardware virtualization (KVM)」。26* **硬體虛擬化**:在您的韌體設定中開啟。沒有它,Cowork 會報告「Cowork requires hardware virtualization (KVM)」。

27* **QEMU 和 UEFI 韌體**:x86\_64 上的 `qemu-system-x86`、`ovmf` 和 `virtiofsd`,或 arm64 上的 `qemu-system-arm`、`qemu-efi-aarch64` 和 `virtiofsd`。`apt install claude-desktop` 預設會將它們安裝為建議的套件。如果您使用 `--no-install-recommends` 安裝,或您的系統是跳過建議套件的最小映像,Cowork 標籤會報告「Cowork requires QEMU」並顯示要執行的 `apt install` 命令。Ubuntu 22.04 沒有 `virtiofsd` 套件;應用程式在那裡使用捆綁的副本。27* **QEMU 和 UEFI 韌體**:x86\_64 上的 `qemu-system-x86`、`ovmf` 和 `virtiofsd`,或 arm64 上的 `qemu-system-arm`、`qemu-efi-aarch64` 和 `virtiofsd`。`apt install claude-desktop` 預設會將它們安裝為建議的套件。如果您使用 `--no-install-recommends` 安裝,或您的系統是跳過建議套件的最小映像,Cowork 會報告「Cowork requires QEMU」並顯示要執行的 `apt install` 命令。Ubuntu 22.04 沒有 `virtiofsd` 套件;應用程式在那裡使用捆綁的副本。

28* **存取 `/dev/kvm`**:使用 `sudo usermod -aG kvm $USER` 將您的使用者新增到 `kvm` 群組,然後登出並重新登入。某些桌面環境會授予已登入的使用者存取 `/dev/kvm` 的權限而不需要群組,但 Cowork 也需要 `/dev/vhost-vsock`,只有 `kvm` 群組成員可以開啟。即使 `/dev/kvm` 已經對您有效,也要加入群組。28* **存取 `/dev/kvm`**:使用 `sudo usermod -aG kvm $USER` 將您的使用者新增到 `kvm` 群組,然後登出並重新登入。某些桌面環境會授予已登入的使用者存取 `/dev/kvm` 的權限而不需要群組,但 Cowork 也需要 `/dev/vhost-vsock`,只有 `kvm` 群組成員可以開啟。即使 `/dev/kvm` 已經對您有效,也要加入群組。

29 29 

30應用程式在啟動時檢查這些需求一次:安裝套件後重新啟動它,加入群組後登出並重新登入。如果 `/dev/vhost-vsock` 遺失且您執行的核心在 `/lib/modules` 下沒有模組目錄,Cowork 標籤會報告核心不包含 Cowork 需要的虛擬化支援,且無法手動新增。這種組合在 ChromeOS 和基於容器的 Linux 環境中很常見。30應用程式在啟動時檢查這些需求一次:安裝套件後重新啟動它,加入群組後登出並重新登入。如果 `/dev/vhost-vsock` 遺失且您執行的核心在 `/lib/modules` 下沒有模組目錄,Cowork 會報告核心不包含 Cowork 需要的虛擬化支援,且無法手動新增。這種組合在 ChromeOS 和基於容器的 Linux 環境中很常見。

31 31 

32## 安裝32## 安裝

33 33 


71 71 

72從您的應用程式啟動器啟動 **Claude**,或從終端機執行 `claude-desktop`,然後使用您的 Anthropic 帳戶登入。72從您的應用程式啟動器啟動 **Claude**,或從終端機執行 `claude-desktop`,然後使用您的 Anthropic 帳戶登入。

73 73 

74Linux 應用程式的登入方式與 macOS 和 Windows 上相同:使用 claude.ai 訂閱,或透過您組織的 SSO。Desktop 不直接接受 Claude Console API 金鑰;請使用 [CLI](/docs/zh-TW/quickstart) 進行 API 金鑰驗證。對於將 Desktop 路由到 Google Cloud 的 Agent Platform 或 LLM 閘道的企業部署,請參閱 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) 和 [網路配置](/docs/zh-TW/network-config)。74Linux 應用程式的登入方式與 macOS 和 Windows 上相同:使用 claude.ai 訂閱,或透過您組織的 SSO。若要使用 API 金鑰身分驗證,請使用 [CLI](/docs/zh-TW/quickstart)。若要改為搭配 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 LLM 閘道使用 Desktop,請參閱 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。關於這些部署中的代理伺服器和自訂憑證授權單位,請參閱 [網路設定](/docs/zh-TW/network-config)。

75 75 

76### 從下載的檔案安裝76### 從下載的檔案安裝

77 77 


153 153 

154### Cowork 無法使用154### Cowork 無法使用

155 155 

156如果 Cowork 索引標籤顯示以下其中一則訊息,請修正它所列出的需求,然後重新啟動應用程式:156如果 Cowork 顯示以下其中一則訊息,請修正它所列出的需求,然後重新啟動應用程式:

157 157 

158* **Cowork 需要 QEMU**:安裝訊息所列出的 [QEMU 和 UEFI 韌體套件](#cowork-requirements)。158* **Cowork 需要 QEMU**:安裝訊息所列出的 [QEMU 和 UEFI 韌體套件](#cowork-requirements)。

159* **Cowork 需要硬體虛擬化 (KVM)**:在您的韌體設定中開啟[硬體虛擬化](#cowork-requirements)。159* **Cowork 需要硬體虛擬化 (KVM)**:在您的韌體設定中開啟[硬體虛擬化](#cowork-requirements)。

Details

6 6 

7> 安裝 Claude 桌面應用程式、開啟 Code 標籤,並在您電腦上的專案資料夾開始您的第一個 Claude Code 會話。7> 安裝 Claude 桌面應用程式、開啟 Code 標籤,並在您電腦上的專案資料夾開始您的第一個 Claude Code 會話。

8 8 

9桌面應用程式為您提供具有圖形介面的 Claude Code,因此您可以要求 Claude 處理電腦上資料夾中的程式碼,並檢查其變更,無需使用終端機。本頁面將引導您安裝應用程式並在 **Code** 標籤中開始您的第一個會話。Claude Code 需要 [Pro、Max、Team 或 Enterprise 訂閱](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing)。9桌面應用程式為您提供具有圖形介面的 Claude Code。您可以要求 Claude 處理電腦上資料夾中的程式碼,並檢查其變更,無需使用終端機。

10 

11Claude Code 位於應用程式側邊欄頂端的 **Code** 標籤中。本頁面將引導您安裝應用程式,並在該處開始您的第一個工作階段。Claude Code 需要 [Pro、Max、Team 或 Enterprise 訂閱](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing)。

10 12 

11> **[下載 macOS 版本](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**13> **[下載 macOS 版本](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>14>


28>30>

29> * **已設定完成**:請參閱 [使用 Claude Code Desktop](/docs/zh-TW/desktop) 以了解 Code 標籤可以執行的所有操作31> * **已設定完成**:請參閱 [使用 Claude Code Desktop](/docs/zh-TW/desktop) 以了解 Code 標籤可以執行的所有操作

30> * **想在終端機中使用 `claude`**:[分別安裝 CLI](/docs/zh-TW/quickstart)32> * **想在終端機中使用 `claude`**:[分別安裝 CLI](/docs/zh-TW/quickstart)

31 33> * **使用 Chat 或 Cowork**:請參閱 [Claude 說明中心](https://support.claude.com/)

32桌面應用程式有三個標籤:34> * **需要更多關於安裝或部署桌面應用程式的資訊**:請參閱 [Claude Desktop 支援文章](https://support.claude.com/en/collections/16163169-claude-desktop)

33 

34* **Chat**:無檔案存取的一般對話,類似於 claude.ai。

35* **Cowork**:一個自主背景代理,在您進行其他工作時獨立處理任務。

36* **Code**:具有直接存取本機檔案的互動式編碼助手。根據權限模式,您可以在 Claude 提出每項變更時批准,或在 Claude 進行變更後檢查變更。

37 

38Chat 和 Cowork 涵蓋在 [Claude 說明中心](https://support.claude.com/);安裝和部署桌面應用程式涵蓋在 [Claude Desktop 支援文章](https://support.claude.com/en/collections/16163169-claude-desktop)。本頁面重點關注 **Code** 標籤。

39 35 

40## 安裝36## 安裝

41 37 


45 41 

46**2. 開啟 Code 標籤**42**2. 開啟 Code 標籤**

47 43 

48點擊頂部中央的 **Code** 標籤。如果點擊 Code 提示您升級,您需要先 [訂閱付費方案](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade)。如果它提示您線上登入,請完成登入並重新啟動應用程式。如果您看到 403 錯誤,請參閱 [驗證疑難排解](/docs/zh-TW/desktop#403-or-authentication-errors-in-the-code-tab)。44點擊側邊欄頂部的 **Code** 標籤。如果標籤只顯示圖示,請將滑鼠游標停留在圖示上以查看其名稱。如果點擊 **Code** 後出現提示或錯誤,請依照對應的解決方式處理:

45 

46* **提示升級**:您需要先[訂閱付費方案](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade)

47* **提示線上登入**:請完成登入並重新啟動應用程式

48* **403 錯誤**:請參閱[身分驗證疑難排解](/docs/zh-TW/desktop#403-or-authentication-errors-in-the-code-tab)

49 49 

50桌面應用程式包含 Claude Code,因此您無需安裝 Node.js 或 CLI 即可使用 Code 標籤。50桌面應用程式包含 Claude Code,因此您無需安裝 Node.js 或 CLI 即可使用 Code 標籤。

51 51 


87 87 

88查看提示詞輸入框下方那一列中的[權限模式](/docs/zh-TW/desktop#choose-a-permission-mode),以了解 Claude 是否會等待您的核准:88查看提示詞輸入框下方那一列中的[權限模式](/docs/zh-TW/desktop#choose-a-permission-mode),以了解 Claude 是否會等待您的核准:

89 89 

90* **Auto or Accept edits**:Claude 套用其檔案變更,並出現指示器(例如 `+12 -1`),以便您可以在 diff 檢視中檢視它們90* **Auto or Accept edits**:Claude 套用其檔案變更,並出現指示器(例如 `+12 -1`),以便您可以在[差異檢視](/docs/zh-TW/desktop#review-changes-with-diff-view)中檢視它們

91* **Manual**:Claude 提議每項變更並等待您的核准後才套用91* **Manual**:Claude 提議每項變更並等待您的核准後才套用

92 92 

93在 Manual 模式中,您會看到:93在 Manual 模式中,您會看到:

94 94 

951. [diff view](/docs/zh-TW/desktop#review-changes-with-diff-view) 顯示每個檔案中將確切變更的內容951. 確切顯示將變更內容的差異

962. Accept/Reject 按鈕以批准或拒絕每項變更962. 用於核准或拒絕每項變更的按鈕

973. Claude 處理您的請求時的即時更新973. Claude 處理您的請求時的即時更新

98 98 

99## 接下來呢?99## 接下來呢?

Details

28| 存取本機檔案 | 否(全新複製) | 是 | 是 |28| 存取本機檔案 | 否(全新複製) | 是 | 是 |

29| MCP 伺服器 | 每個工作配置的連接器 | [設定檔](/docs/zh-TW/mcp)和連接器 | 繼承自工作階段 |29| MCP 伺服器 | 每個工作配置的連接器 | [設定檔](/docs/zh-TW/mcp)和連接器 | 繼承自工作階段 |

30| 權限提示 | 否(自主執行) | 每個工作可設定 | 繼承自工作階段 |30| 權限提示 | 否(自主執行) | 每個工作可設定 | 繼承自工作階段 |

31| 可自訂排程 | 透過 CLI 中的 `/schedule` | 是 | 是 |31| 可自訂排程 | 是 | 是 | 是 |

32| 最小間隔 | 1 小時 | 1 分鐘 | 1 分鐘 |32| 最小間隔 | 1 小時 | 由 Claude 設定時為 1 分鐘,[在表單中為 1 小時](/docs/zh-TW/desktop-scheduled-tasks#schedule-options) | 1 分鐘 |

33 33 

34> [!TIP]34> [!TIP]

35>35>


61 61 

62**5. 開啟 Only on this computer**62**5. 開啟 Only on this computer**

63 63 

64先跳過 **Trigger** 卡片,展開其下方的 **Advanced settings**。在 **General** 標籤上,開啟 **Only on this computer**。開啟後,任務會在您的電腦上的本機資料夾中執行,且 **Trigger** 卡片會提供[排程選項](#schedule-options)中列出的預設選項。64先跳過 **Trigger** 卡片,展開其下方的 **Advanced settings**。在 **General** 標籤上,開啟 **Only on this computer**。開啟後,任務會在您的電腦上的本機資料夾中執行。

65 65 

66如果該開關無法使用,請清除儲存庫或 GitHub 事件或 API 觸發條件,因為這些會使任務成為[雲端排程任務](/docs/zh-TW/routines)。66如果該開關無法使用,請清除儲存庫或 GitHub 事件或 API 觸發條件,因為這些會使任務成為[雲端排程任務](/docs/zh-TW/routines)。

67 67 


81 81 

82按一下 **Create**。如果您尚未信任該資料夾,Desktop 會在此時要求您信任它。任務的詳細資料頁面隨即開啟。82按一下 **Create**。如果您尚未信任該資料夾,Desktop 會在此時要求您信任它。任務的詳細資料頁面隨即開啟。

83 83 

84在詳細資料頁面上,按一下鉛筆圖示以開啟 [**Edit** 表單](#manage-scheduled-tasks)。您可以在其中變更 Desktop 根據您的指示填入的 **Description**、選擇 **Worktree**,或將排程切換為 **Manual**。84在詳細資料頁面上,按一下鉛筆圖示以開啟 [**Edit** 表單](#manage-scheduled-tasks)。您可以在其中變更 Desktop 根據您的指示填入的 **Description**、選擇 **Worktree**,或將排程切換為 **Manual** 或 **Custom**。

85 85 

86您也可以透過在任何工作階段中描述您想要的內容來建立任務。例如,「設定每天早上 9 點執行的每日程式碼審查」會建立定期任務。像「提醒我明天下午 3 點檢查部署」這樣的請求會建立一次性任務,在觸發後會自動停用。86您也可以透過在任何工作階段中描述您想要的內容來建立任務。例如,「設定每天早上 9 點執行的每日程式碼審查」會建立定期任務。像「提醒我明天下午 3 點檢查部署」這樣的請求會建立一次性任務,在觸發後會自動停用。

87 87 


95* **Description**:輸入說明。在您輸入之前,**Create** 會保持無法使用。95* **Description**:輸入說明。在您輸入之前,**Create** 會保持無法使用。

96* **指示方塊**:輸入 Claude 在任務執行時應執行的操作。從方塊中的選單選擇權限模式和模型。96* **指示方塊**:輸入 Claude 在任務執行時應執行的操作。從方塊中的選單選擇權限模式和模型。

97* **Working folder**:選擇任務執行所在的資料夾。在您選擇資料夾之前,**Create** 會保持無法使用。97* **Working folder**:選擇任務執行所在的資料夾。在您選擇資料夾之前,**Create** 會保持無法使用。

98* **Trigger**:選擇排程。**Custom** 接受 cron 運算式。關於其他預設選項,請參閱[排程選項](#schedule-options)。98* **Trigger**:選擇排程。關於預設選項,請參閱[排程選項](#schedule-options)。

99 99 

100按一下 **Create**。任務的詳細資料頁面隨即開啟。100按一下 **Create**。任務的詳細資料頁面隨即開啟。

101 101 

102## 排程選項102## 排程選項

103 103 

104當您在 **Advanced settings** 下開啟 **Only on this computer** 時,**Trigger** 卡片會提供 Hourly、Daily、Weekdays 和 Weekly。任務的 [**Edit** 表單](#manage-scheduled-tasks)還提供 **Manual**。104當您在 **Advanced settings** 下開啟 **Only on this computer** 時,**Trigger** 卡片會提供 Hourly、Daily、Weekdays 和 Weekly。若要為此類任務使用 **Manual** 或 **Custom**,請在建立任務後開啟其 [**Edit** 表單](#manage-scheduled-tasks)。該表單以及[頂部有 **Only on this computer** 的對話框](#dialog-with-only-on-this-computer-at-the-top)提供以下六個選項:

105 105 

106* **Hourly**:每小時執行一次106* **Hourly**:每小時執行一次

107* **Daily**:每天在您選擇的本機時間執行107* **Daily**:每天在您選擇的本機時間執行

108* **Weekdays**:與 Daily 相同,但跳過星期六和星期日108* **Weekdays**:與 Daily 相同,但跳過星期六和星期日

109* **Weekly**:顯示時間選擇器和日期選擇器109* **Weekly**:顯示時間選擇器和日期選擇器

110* **Manual**:無排程,只有在您按一下 **Run now** 時才執行。適用於儲存您按需觸發的提示詞110* **Manual**:無排程,只有在您按一下 **Run now** 時才執行。適用於儲存您按需觸發的提示詞

111* **Custom**:依照您輸入的 cron 運算式執行,並以您的本機時間進行計算,例如 `0 9 * * *` 代表每天上午 9:00。星期幾和月份請以數字表示,因為不接受其名稱。星期日為 `0`,而非 `7`。表單會拒絕執行頻率高於每小時一次的運算式。

111 112 

112對於選擇器不提供的間隔,例如每 15 分鐘、每月的第一天或在特定未來時間的單次執行,請在任何 Desktop 工作階段中詢問 Claude 以設定排程。使用純文字;例如,「排程任務每 6 小時執行一次所有測試」。113您也可以在任何 Desktop 工作階段中請 Claude 設定排程。Claude 不受每小時一次的限制,並且可以設定在未來特定時間的單次執行。例如,請它「每 30 分鐘執行一次測試套件」或「下週一上午 9 點,摘要自週五以來合併的 pull request」。

113 114 

114## 排程任務如何執行115## 排程任務如何執行

115 116 


121>122>

122> 對於需要在電腦關閉時執行,或應該透過 API 呼叫或 GitHub 事件觸發的任務,請改為建立[雲端排程任務](/docs/zh-TW/routines)。123> 對於需要在電腦關閉時執行,或應該透過 API 呼叫或 GitHub 事件觸發的任務,請改為建立[雲端排程任務](/docs/zh-TW/routines)。

123 124 

124當本機任務觸發時,新的工作階段會在側邊欄的 **Scheduled** 部分下出現。開啟它以查看 Claude 執行的操作、審查變更或回應權限提示。Claude 可以編輯檔案、執行命令、建立提交和開啟 pull request,與您自己啟動的工作階段相同。125### 尋找某次執行的工作階段

126 

127若要開啟某次執行所啟動的工作階段,請前往該任務的[詳細資訊頁面](#manage-scheduled-tasks),並在 **History** 清單中點選該次執行的列。

128 

129側邊欄的工作階段清單也可以顯示 **Scheduled** 群組,每個任務佔一列。若要開啟某任務最近一次執行的工作階段,請在該群組中點選該任務的列。若要顯示此群組,請先[確認您使用的版面配置](/docs/zh-TW/desktop#check-which-layout-you-have):

130 

131* **目前的版面配置**:開啟 [**Group and sort** 選單](/docs/zh-TW/desktop#organize-and-find-sessions),選取 **Show**,然後選取 **Scheduled**。此群組預設為收合狀態,請點選其標題以展開。當您至少有一個任務為 **Active**(即任務詳細資訊頁面所顯示的 **Status**)時,**Show** 才會列出 **Scheduled**。如果未列出,請使用 **History** 清單,無論群組是否顯示皆可使用。

132* **較早的版面配置**:此群組已位於工作階段清單中,無需額外開啟

133 

134無論透過哪種方式進入某次執行的工作階段,您都可以查看 Claude 執行的操作、審查變更,以及回應權限提示。Claude 可以編輯檔案、執行命令、建立提交和開啟 pull request,與您自己啟動的工作階段相同。

125 135 

126## 錯過的執行136## 錯過的執行

127 137 


131 141 

132## 排程任務的權限142## 排程任務的權限

133 143 

134每個任務都有其自己的權限模式,您在建立或編輯任務時設定。來自 `~/.claude/settings.json` 的允許規則也適用於排程任務工作階段。如果任務在 [Manual 模式](/docs/zh-TW/desktop#choose-a-permission-mode)下執行,並且需要執行它沒有權限的工具,執行會停滯,直到您批准它。工作階段保持在側邊欄中開啟,以便您稍後可以回答。144每個任務都有其自己的權限模式,您在建立或編輯任務時設定。來自 `~/.claude/settings.json` 的允許規則也適用於排程任務工作階段。如果任務在 [Manual 模式](/docs/zh-TW/desktop#choose-a-permission-mode)下執行,並且需要執行它沒有權限的工具,執行會停滯,直到您核准它。若要核准,請[找到該次執行的工作階段](#find-a-runs-session),並在其中回答權限提示。

135 145 

136為了避免停滯,在建立任務後按一下 **Run now**,監視權限提示,並為每個提示選擇「always allow」。該任務的未來執行會自動批准相同的工具,無需提示。您可以從任務的詳細資料頁面審查和撤銷這些批准。146為了避免停滯,在建立任務後按一下 **Run now**,監視權限提示,並為每個提示選擇「always allow」。該任務的未來執行會自動批准相同的工具,無需提示。您可以從任務的詳細資料頁面審查和撤銷這些批准。

137 147 


146* **Edit**:變更 instructions、排程、資料夾或其他設定156* **Edit**:變更 instructions、排程、資料夾或其他設定

147* **Review history**:查看每次過去的執行,包括跳過的執行。將滑鼠懸停在跳過的項目上以查看原因:您的電腦在睡眠狀態、前一次執行仍在進行中,或其他排程任務已在執行。按一下 **Show more** 以載入較舊的項目。157* **Review history**:查看每次過去的執行,包括跳過的執行。將滑鼠懸停在跳過的項目上以查看原因:您的電腦在睡眠狀態、前一次執行仍在進行中,或其他排程任務已在執行。按一下 **Show more** 以載入較舊的項目。

148* **Review allowed permissions**:從 **Always allowed** 面板查看和撤銷此任務的已儲存工具批准158* **Review allowed permissions**:從 **Always allowed** 面板查看和撤銷此任務的已儲存工具批准

149* **Delete**:移除任務並封存它建立的所有工作階段。確認對話方塊中會出現 **Also delete files on disk** 核取方塊;勾選它也會移除任務的 `SKILL.md` 檔案和 `~/.claude/scheduled-tasks/` 中的相關資料。159* **Delete**:移除任務。任務建立的工作階段會被[封存](/docs/zh-TW/desktop#organize-and-find-sessions),而非刪除。存放任務 `SKILL.md` 檔案的資料夾會保留在磁碟上的 `~/.claude/scheduled-tasks/<task-name>/`,或者如果您設定了 [`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars) 變數,則位於其下的 `scheduled-tasks/<task-name>/`。若要移除該資料夾,請自行刪除。

150 160 

151您也可以透過在任何 Desktop 工作階段中詢問 Claude 來列出、建立、編輯和暫停任務。例如,「暫停我的 dependency-audit 任務」或「顯示我的排程任務」。若要刪除任務,請使用其詳細資料頁面上的 **Delete** 按鈕。161您也可以透過在任何 Desktop 工作階段中詢問 Claude 來列出、建立、編輯和暫停任務。例如,「暫停我的 dependency-audit 任務」或「顯示我的排程任務」。若要刪除任務,請使用其詳細資料頁面上的 **Delete** 按鈕。

152 162 

env-vars.md +10 −19

Details

124> * `DISABLE_TELEMETRY`124> * `DISABLE_TELEMETRY`

125> * `DISABLE_ERROR_REPORTING`125> * `DISABLE_ERROR_REPORTING`

126> * `CLAUDE_CODE_TMUX_TRUECOLOR`126> * `CLAUDE_CODE_TMUX_TRUECOLOR`

127> * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

128> * `IS_DEMO`127> * `IS_DEMO`

129>128>

130> 另有一個變數有自己的規則:`FORCE_HYPERLINK` 讀取的是數字,因此只有 `0` 會將其關閉。每個變數的列中也會說明其自己的規則。129> 另有一個變數有自己的規則:`FORCE_HYPERLINK` 讀取的是數字,因此只有 `0` 會將其關閉。每個變數的列中也會說明其自己的規則。


136| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 的工作區 API 金鑰,於 AWS Console 中產生。以 `x-api-key` 傳送,且優先於 AWS SigV4 |135| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 的工作區 API 金鑰,於 AWS Console 中產生。以 `x-api-key` 傳送,且優先於 AWS SigV4 |

137| `ANTHROPIC_AWS_BASE_URL` | 覆寫 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 端點 URL。用於自訂區域或透過 [LLM 閘道](/docs/zh-TW/llm-gateway)路由時。預設為 `https://aws-external-anthropic.{region}.api.aws`。Claude Code 解析區域時採用[與 Amazon Bedrock 相同的優先順序](/docs/zh-TW/amazon-bedrock#3-configure-claude-code) |136| `ANTHROPIC_AWS_BASE_URL` | 覆寫 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 端點 URL。用於自訂區域或透過 [LLM 閘道](/docs/zh-TW/llm-gateway)路由時。預設為 `https://aws-external-anthropic.{region}.api.aws`。Claude Code 解析區域時採用[與 Amazon Bedrock 相同的優先順序](/docs/zh-TW/amazon-bedrock#3-configure-claude-code) |

138| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 的必要設定。在每個請求中以 `anthropic-workspace-id` 標頭傳送 |137| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 的必要設定。在每個請求中以 `anthropic-workspace-id` 標頭傳送 |

139| `ANTHROPIC_BASE_URL` | 覆寫 API 端點,以透過代理伺服器或閘道路由請求。設定為非第一方主機時,[MCP tool search](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 預設會停用。若您的代理伺服器會轉送 `tool_reference` 區塊,請設定 `ENABLE_TOOL_SEARCH=true`。自 v2.1.196 起,當此變數指向 `api.anthropic.com` 以外的主機時,[Remote Control](/docs/zh-TW/remote-control#requirements) 會停用,與其在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上的行為一致 |138| `ANTHROPIC_BASE_URL` | 覆寫 API 端點,以透過代理伺服器或閘道路由請求。關於該閘道拒絕 MCP 工具搜尋時會發生什麼情況,請參閱[透過 LLM 閘道進行工具搜尋](/docs/zh-TW/mcp#tool-search-through-a-gateway)。自 v2.1.196 起,當此變數指向 `api.anthropic.com` 以外的主機時,[Remote Control](/docs/zh-TW/remote-control#requirements) 會停用,與其在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上的行為一致 |

140| `ANTHROPIC_BEDROCK_BASE_URL` | 覆寫 Amazon Bedrock 端點 URL。用於自訂 Amazon Bedrock 端點或透過 [LLM 閘道](/docs/zh-TW/llm-gateway)路由時。請參閱 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) |139| `ANTHROPIC_BEDROCK_BASE_URL` | 覆寫 Amazon Bedrock 端點 URL。用於自訂 Amazon Bedrock 端點或透過 [LLM 閘道](/docs/zh-TW/llm-gateway)路由時。請參閱 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) |

141| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 覆寫 Amazon Bedrock Mantle 端點 URL。請參閱 [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 覆寫 Amazon Bedrock Mantle 端點 URL。請參閱 [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint) |

142| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Claude Code 優先嘗試的跨區域推論設定檔前綴(`us`、`eu`、`apac`、`jp`、`au` 或 `global`),而非從 AWS 區域推導出的前綴。在 AWS GovCloud 區域中會被忽略。需要 Claude Code v2.1.224 或更新版本。請參閱 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock#cross-region-inference-profile-prefixes) |141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Claude Code 優先嘗試的跨區域推論設定檔前綴(`us`、`eu`、`apac`、`jp`、`au` 或 `global`),而非從 AWS 區域推導出的前綴。在 AWS GovCloud 區域中會被忽略。需要 Claude Code v2.1.224 或更新版本。請參閱 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock#cross-region-inference-profile-prefixes) |


178| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform 請求所指向的 GCP 專案 ID。請參閱[設定 GCP 憑證](/docs/zh-TW/google-vertex-ai#3-configure-gcp-credentials) |177| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform 請求所指向的 GCP 專案 ID。請參閱[設定 GCP 憑證](/docs/zh-TW/google-vertex-ai#3-configure-gcp-credentials) |

179| `ANTHROPIC_WORKSPACE_ID` | [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作區 ID。當您的聯合規則範圍涵蓋多個工作區時設定此變數,讓 token 交換知道要指向哪個工作區 |178| `ANTHROPIC_WORKSPACE_ID` | [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作區 ID。當您的聯合規則範圍涵蓋多個工作區時設定此變數,讓 token 交換知道要指向哪個工作區 |

180| `API_FORCE_IDLE_TIMEOUT` | 覆寫 5 分鐘的本文閒置逾時,此逾時會在沒有任何位元組抵達時中止串流模型回應。設定為 `0` 可關閉逾時,例如當緩慢的[閘道](/docs/zh-TW/llm-gateway)或本機模型在區塊之間暫停超過 5 分鐘時;設定為 `1` 則可對所有提供者保持開啟。未設定時,此逾時會在直接 Anthropic API、[Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws),以及設定了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 以外的提供者上啟用。[串流監視機制](/docs/zh-TW/network-config#streaming-idle-watchdogs)獨立於此執行,即使您在此設定 `0`,仍會中止長時間的靜默暫停 |179| `API_FORCE_IDLE_TIMEOUT` | 覆寫 5 分鐘的本文閒置逾時,此逾時會在沒有任何位元組抵達時中止串流模型回應。設定為 `0` 可關閉逾時,例如當緩慢的[閘道](/docs/zh-TW/llm-gateway)或本機模型在區塊之間暫停超過 5 分鐘時;設定為 `1` 則可對所有提供者保持開啟。未設定時,此逾時會在直接 Anthropic API、[Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws),以及設定了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 以外的提供者上啟用。[串流監視機制](/docs/zh-TW/network-config#streaming-idle-watchdogs)獨立於此執行,即使您在此設定 `0`,仍會中止長時間的靜默暫停 |

181| `API_TIMEOUT_MS` | 每次 API 請求嘗試接收回應標頭的時間,以毫秒為單位(預設:600000,即 10 分鐘;最大值:2147483647)。它不會限制串流回應在那之後執行的時間長度。當您設定正值時,每次[非串流請求](/docs/zh-TW/errors#streaming-response-ended-before-any-complete-data-was-received)的嘗試都必須在此時間內完成。當請求在慢速網路上逾時或透過代理伺服器路由時,請提高此值 |180| `API_TIMEOUT_MS` | 每次 API 請求嘗試接收回應標頭的時間(毫秒)。它不會限制串流回應在此之後執行多久。預設值為 600000,即 10 分鐘,最大值為 2147483647。當您設定正值時,每次[非串流請求](/docs/zh-TW/errors#streaming-response-ended-before-any-complete-data-was-received)嘗試都必須在此時間內完成。當請求在緩慢網路上逾時,或透過代理伺服器路由時,請調高此值。設定為 `0` 可移除此限制,這需要 Claude Code v2.1.305 或更新版本。設定為 `0` 時,在本機工作階段中,非串流嘗試仍會在 300 秒後逾時 |

182| `AWS_BEARER_TOKEN_BEDROCK` | 用於身分驗證的 Amazon Bedrock API 金鑰(請參閱 [Amazon Bedrock API 金鑰](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |181| `AWS_BEARER_TOKEN_BEDROCK` | 用於身分驗證的 Amazon Bedrock API 金鑰(請參閱 [Amazon Bedrock API 金鑰](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

183| `BASH_DEFAULT_TIMEOUT_MS` | 前景 Bash 或 PowerShell 工具命令的預設逾時,單位為毫秒(預設:120000,即 2 分鐘)。若值高於[背景命令的預設時間限制](/docs/zh-TW/tools-reference#time-limit-for-background-commands),則會在無人值守的工作階段中取代該預設值。背景時間限制需要 Claude Code v2.1.285 或更新版本 |182| `BASH_DEFAULT_TIMEOUT_MS` | 前景 Bash 或 PowerShell 工具命令的預設逾時,單位為毫秒(預設:120000,即 2 分鐘)。若值高於[背景命令的預設時間限制](/docs/zh-TW/tools-reference#time-limit-for-background-commands),則會在無人值守的工作階段中取代該預設值。背景時間限制需要 Claude Code v2.1.285 或更新版本 |

184| `BASH_MAX_OUTPUT_LENGTH` | Claude Code 讀回命令結果中的 bash 輸出最大字元數(預設:30000;最大值:150000)。若您設定了 [`bashOutputMaxChars`](/docs/zh-TW/settings-reference#bashoutputmaxchars) 設定,Claude Code 會忽略此變數。請參閱[輸出限制](/docs/zh-TW/tools-reference#output-limits) |183| `BASH_MAX_OUTPUT_LENGTH` | Claude Code 讀回命令結果中的 bash 輸出最大字元數(預設:30000;最大值:150000)。若您設定了 [`bashOutputMaxChars`](/docs/zh-TW/settings-reference#bashoutputmaxchars) 設定,Claude Code 會忽略此變數。請參閱[輸出限制](/docs/zh-TW/tools-reference#output-limits) |


186| `BETA_TRACING_ENDPOINT` | 用於[詳細 beta 追蹤](/docs/zh-TW/monitoring-usage#traces-beta)的 OTLP/HTTP 端點:搭配 `ENABLE_BETA_TRACING_DETAILED=1` 時,日誌與追蹤會傳送至此處,而非已設定的匯出器。請在您的 shell、使用者設定或受管設定中設定。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |185| `BETA_TRACING_ENDPOINT` | 用於[詳細 beta 追蹤](/docs/zh-TW/monitoring-usage#traces-beta)的 OTLP/HTTP 端點:搭配 `ENABLE_BETA_TRACING_DETAILED=1` 時,日誌與追蹤會傳送至此處,而非已設定的匯出器。請在您的 shell、使用者設定或受管設定中設定。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |

187| `CCR_FORCE_BUNDLE` | 設定為 `1` 可強制 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github) 打包並上傳您的本機儲存庫,而非從其遠端複製 |186| `CCR_FORCE_BUNDLE` | 設定為 `1` 可強制 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github) 打包並上傳您的本機儲存庫,而非從其遠端複製 |

188| `CLAUDECODE` | 在 Claude Code 產生的子程序中設定為 `1`(Bash 與 PowerShell 工具、tmux 工作階段、[hook](/docs/zh-TW/hooks) 命令、[狀態列](/docs/zh-TW/statusline)命令、stdio [MCP 伺服器](/docs/zh-TW/mcp)子程序)。IDE 擴充功能也會在其整合式終端機中設定此變數。用於偵測腳本是否在 Claude Code 產生的子程序中執行。若要檢查目前程序是否由工具呼叫或 hook 直接產生,而非在 Claude Code 啟動的 stdio MCP 伺服器內,請改用 `CLAUDE_CODE_CHILD_SESSION` |187| `CLAUDECODE` | 在 Claude Code 產生的子程序中設定為 `1`(Bash 與 PowerShell 工具、tmux 工作階段、[hook](/docs/zh-TW/hooks) 命令、[狀態列](/docs/zh-TW/statusline)命令、stdio [MCP 伺服器](/docs/zh-TW/mcp)子程序)。IDE 擴充功能也會在其整合式終端機中設定此變數。用於偵測腳本是否在 Claude Code 產生的子程序中執行。若要檢查目前程序是否由工具呼叫或 hook 直接產生,而非在 Claude Code 啟動的 stdio MCP 伺服器內,請改用 `CLAUDE_CODE_CHILD_SESSION` |

189| `CLAUDE_AFK_COUNTDOWN_MS` | 在未回答的 [`AskUserQuestion`](/docs/zh-TW/tools-reference) 對話框自動繼續之前多少毫秒,螢幕上會出現倒數計時。預設 `20000`(20 秒),上限為自動繼續逾時。除非已開啟自動繼續,否則沒有作用;請參閱 [`askUserQuestionTimeout`](/docs/zh-TW/settings-reference#askuserquestiontimeout) 設定與 `CLAUDE_AFK_TIMEOUT_MS`。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略。需要 Claude Code v2.1.198 或更新版本 |

190| `CLAUDE_AFK_TIMEOUT_MS` | 未回答的 [`AskUserQuestion`](/docs/zh-TW/tools-reference) 對話框在閒置多少毫秒後,會在沒有您的情況下自動繼續。自動繼續預設為關閉;請透過 [`askUserQuestionTimeout`](/docs/zh-TW/settings-reference#askuserquestiontimeout) 設定選擇加入。此變數是供示範與自動化測試使用的覆寫:設定後,它會優先於該設定,即使該設定未設定或為 `never`,也會開啟自動繼續。設定 `0` 不會關閉逾時,而是會立即關閉對話框。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略。在 v2.1.200 之前,自動繼續預設為開啟,逾時為 `60000`(60 秒)。需要 Claude Code v2.1.198 或更新版本 |

191| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 設定為 `1` 可停用所有內建 [subagent](/docs/zh-TW/sub-agents) 類型,例如 Explore 與 Plan。僅適用於非互動模式(`-p` 旗標)。適合想要從零開始的 SDK 使用者。這也會移除 `general-purpose`,也就是當 Agent 工具呼叫省略 `subagent_type` 時 Claude Code 執行的 subagent。此類呼叫隨後會因 [`subagent_type is required`](/docs/zh-TW/errors#subagent-type-is-required) 而失敗 |188| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 設定為 `1` 可停用所有內建 [subagent](/docs/zh-TW/sub-agents) 類型,例如 Explore 與 Plan。僅適用於非互動模式(`-p` 旗標)。適合想要從零開始的 SDK 使用者。這也會移除 `general-purpose`,也就是當 Agent 工具呼叫省略 `subagent_type` 時 Claude Code 執行的 subagent。此類呼叫隨後會因 [`subagent_type is required`](/docs/zh-TW/errors#subagent-type-is-required) 而失敗 |

192| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | 設定為 `1` 可略過 SDK 建立的 MCP 伺服器工具名稱上的 `mcp__<server>__` 前綴。工具會使用其原始名稱。僅限 SDK 使用 |189| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | 設定為 `1` 可略過 SDK 建立的 MCP 伺服器工具名稱上的 `mcp__<server>__` 前綴。工具會使用其原始名稱。僅限 SDK 使用 |

193| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | subagent 的停滯逾時,單位為毫秒。在 Claude Code v2.1.286 或更新版本中也涵蓋[工作流程 agent](/docs/zh-TW/workflows#when-an-agent-stalls-and-restarts)。預設 `600000`(10 分鐘);若您在串流監視機制開啟時調高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,預設值也會隨之提高,如[處理緩慢或停滯的 API 回應](/docs/zh-TW/agent-sdk/typescript#handle-slow-or-stalled-api-responses)所述 |190| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | subagent 的停滯逾時,單位為毫秒。在 Claude Code v2.1.286 或更新版本中也涵蓋[工作流程 agent](/docs/zh-TW/workflows#when-an-agent-stalls-and-restarts)。預設 `600000`(10 分鐘);若您在串流監視機制開啟時調高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,預設值也會隨之提高,如[處理緩慢或停滯的 API 回應](/docs/zh-TW/agent-sdk/typescript#handle-slow-or-stalled-api-responses)所述 |


229| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 寫入偵錯日誌檔案的最低日誌等級。值:`verbose`、`debug`(預設)、`info`、`warn`、`error`。設定為 `verbose` 可包含大量診斷資訊,例如完整的狀態列命令輸出;或提高至 `error` 以減少雜訊 |226| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 寫入偵錯日誌檔案的最低日誌等級。值:`verbose`、`debug`(預設)、`info`、`warn`、`error`。設定為 `verbose` 可包含大量診斷資訊,例如完整的狀態列命令輸出;或提高至 `error` 以減少雜訊 |

230| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 設定為 `1` 可關閉 [1M 上下文視窗](/docs/zh-TW/model-config#extended-context)支援。Claude Code 會從模型選擇器中移除 `[1m]` 模型變體,並將預設以 1M 視窗執行的模型限制為 200K 視窗。請參閱[關閉 1M 上下文](/docs/zh-TW/model-config#turn-off-1m-context)。適用於有合規要求的企業環境。關於其在修正無法辨識的 `[1m]` 模型 ID 視窗方面的作用,請參閱[修正閘道或自訂模型 ID 的視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |227| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 設定為 `1` 可關閉 [1M 上下文視窗](/docs/zh-TW/model-config#extended-context)支援。Claude Code 會從模型選擇器中移除 `[1m]` 模型變體,並將預設以 1M 視窗執行的模型限制為 200K 視窗。請參閱[關閉 1M 上下文](/docs/zh-TW/model-config#turn-off-1m-context)。適用於有合規要求的企業環境。關於其在修正無法辨識的 `[1m]` 模型 ID 視窗方面的作用,請參閱[修正閘道或自訂模型 ID 的視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

231| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 設定為 `1` 可在 Opus 4.6 與 Sonnet 4.6 上停用[自適應推理](/docs/zh-TW/model-config#adjust-effort-level),並改用由 `MAX_THINKING_TOKENS` 控制的固定思考預算。對 [Fable 模型](/docs/zh-TW/model-config#extended-thinking)、Sonnet 5 及更新版本、Haiku 5.5 或 Opus 4.7 及更新版本沒有作用,這些模型一律使用自適應推理 |228| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 設定為 `1` 可在 Opus 4.6 與 Sonnet 4.6 上停用[自適應推理](/docs/zh-TW/model-config#adjust-effort-level),並改用由 `MAX_THINKING_TOKENS` 控制的固定思考預算。對 [Fable 模型](/docs/zh-TW/model-config#extended-thinking)、Sonnet 5 及更新版本、Haiku 5.5 或 Opus 4.7 及更新版本沒有作用,這些模型一律使用自適應推理 |

232| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | 設定為 `1` 可阻止 Claude Code 跨管理來源逐鍵合併[受管設定](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier)的 `env` 區塊,因此只會套用最高優先順序來源的整個 `env` 區塊,與 v2.1.223 之前相同。請在啟動 Claude Code 的環境中設定,因為 Claude Code 會忽略透過設定 `env` 區塊傳遞的副本。需要 Claude Code v2.1.223 或更新版本 |

233| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | 設定為 `1` 可停用 [advisor 工具](/docs/zh-TW/advisor)。`/advisor` 命令將無法使用,任何已設定的 `advisorModel` 都會被忽略,而 `--advisor` 旗標會被接受但沒有作用,因此傳遞此旗標的現有腳本仍可繼續運作而不會出錯 |229| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | 設定為 `1` 可停用 [advisor 工具](/docs/zh-TW/advisor)。`/advisor` 命令將無法使用,任何已設定的 `advisorModel` 都會被忽略,而 `--advisor` 旗標會被接受但沒有作用,因此傳遞此旗標的現有腳本仍可繼續運作而不會出錯 |

234| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 設定為 `1` 可關閉[背景 agent 與 agent view](/docs/zh-TW/agent-view):`claude agents`、`--bg`、`/background` 以及隨需啟動的 supervisor。等同於 [`disableAgentView`](/docs/zh-TW/settings-reference#disableagentview) 設定 |230| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 設定為 `1` 可關閉[背景 agent 與 agent view](/docs/zh-TW/agent-view):`claude agents`、`--bg`、`/background` 以及隨需啟動的 supervisor。等同於 [`disableAgentView`](/docs/zh-TW/settings-reference#disableagentview) 設定 |

235| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 設定為 `1` 可停用[全螢幕呈現](/docs/zh-TW/fullscreen)並使用傳統的主畫面呈現器。對話會保留在終端機的原生捲動緩衝區中,因此 `Cmd+f` 與 tmux 複製模式可照常運作。優先於 `CLAUDE_CODE_NO_FLICKER` 與 [`tui`](/docs/zh-TW/settings-reference#tui) 設定。您也可以使用 `/tui default` 切換。不適用於從 [agent view](/docs/zh-TW/agent-view) 開啟的背景工作階段,這些工作階段一律使用全螢幕呈現 |231| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 設定為 `1` 可停用[全螢幕呈現](/docs/zh-TW/fullscreen)並使用傳統的主畫面呈現器。對話會保留在終端機的原生捲動緩衝區中,因此 `Cmd+f` 與 tmux 複製模式可照常運作。優先於 `CLAUDE_CODE_NO_FLICKER` 與 [`tui`](/docs/zh-TW/settings-reference#tui) 設定。您也可以使用 `/tui default` 切換。不適用於從 [agent view](/docs/zh-TW/agent-view) 開啟的背景工作階段,這些工作階段一律使用全螢幕呈現 |


240| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 設定為 `1` 可停用所有背景任務功能,包括 Bash 與 subagent 工具上的 `run_in_background` 參數、自動背景化,以及 Ctrl+B 快速鍵 |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 設定為 `1` 可停用所有背景任務功能,包括 Bash 與 subagent 工具上的 `run_in_background` 參數、自動背景化,以及 Ctrl+B 快速鍵 |

241| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | 設定為 `1` 可阻止 Claude Code 將缺少或為空 `Content-Type` 標頭的 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應視為 Amazon Bedrock 的二進位事件串流。預設情況下,Claude Code 假設是閘道從原本未經修改的回應中移除了該標頭,因此會解碼本文,讓串流持續運作。僅針對也會將串流重新輸出為 server-sent events 的閘道設定此變數;Claude Code 隨後會將沒有標頭的本文讀取為 server-sent events。需要 Claude Code v2.1.239 或更新版本 |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | 設定為 `1` 可阻止 Claude Code 將缺少或為空 `Content-Type` 標頭的 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應視為 Amazon Bedrock 的二進位事件串流。預設情況下,Claude Code 假設是閘道從原本未經修改的回應中移除了該標頭,因此會解碼本文,讓串流持續運作。僅針對也會將串流重新輸出為 server-sent events 的閘道設定此變數;Claude Code 隨後會將沒有標頭的本文讀取為 server-sent events。需要 Claude Code v2.1.239 或更新版本 |

242| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 設定為 `1` 可略過檢查 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應是否帶有 `application/vnd.amazon.eventstream` content-type。若未設定此變數,當回應帶有不同的 content-type 時,Claude Code 會使請求失敗,並顯示指出該類型的錯誤,這表示[閘道或代理伺服器正在轉換回應](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。請將閘道設定為原封不動地轉送 `Content-Type` 標頭與本文,而非設定此變數。需要 Claude Code v2.1.208 或更新版本 |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 設定為 `1` 可略過檢查 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應是否帶有 `application/vnd.amazon.eventstream` content-type。若未設定此變數,當回應帶有不同的 content-type 時,Claude Code 會使請求失敗,並顯示指出該類型的錯誤,這表示[閘道或代理伺服器正在轉換回應](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。請將閘道設定為原封不動地轉送 `Content-Type` 標頭與本文,而非設定此變數。需要 Claude Code v2.1.208 或更新版本 |

243| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 設定為 `1` 可在 [supervisor](/docs/zh-TW/agent-view#the-supervisor-process) 停止、重新啟動或更新[背景工作階段](/docs/zh-TW/agent-view)的程序時,停止該工作階段正在執行的背景 shell 命令、動態工作流程,以及(自 v2.1.198 起)背景 subagent,而非將它們交給該工作階段的下一個程序。僅影響該交接:使用 `←` 或 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 將工作階段移至背景時,仍會延續進行中的背景工作,而 `CLAUDE_DISABLE_ADOPT` 會同時關閉兩者。需要 Claude Code v2.1.196 或更新版本 |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 設定為 `1` 可在[監督程式](/docs/zh-TW/agent-view#the-supervisor-process)停止、重新啟動或更新[背景工作階段](/docs/zh-TW/agent-view)的程序時,停止該工作階段進行中的工作,而非將其交接給該工作階段的下一個程序。該工作包括工作階段中正在執行的背景 shell 命令與動態工作流程,自 v2.1.198 起還包括背景 subagent。僅影響該交接:使用 `←` 或 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 將工作階段移至背景時,仍會將進行中的背景工作帶過去。需要 Claude Code v2.1.196 或更新版本 |

244| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 設定為 `1` 可阻止 Claude Code 在記憶體壓力下終止[背景 shell 命令](/docs/zh-TW/interactive-mode#background-bash-commands)。預設情況下,在 macOS 與 Linux 上,當作業系統回報嚴重記憶體壓力,且工作階段已閒置 30 分鐘、沒有任何回合或 subagent 正在執行時,Claude Code 會終止背景 shell。Windows 沒有記憶體壓力訊號,因此此變數在該平台上沒有作用。需要 Claude Code v2.1.193 或更新版本 |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 設定為 `1` 可阻止 Claude Code 在記憶體壓力下終止[背景 shell 命令](/docs/zh-TW/interactive-mode#background-bash-commands)。預設情況下,在 macOS 與 Linux 上,當作業系統回報嚴重記憶體壓力,且工作階段已閒置 30 分鐘、沒有任何回合或 subagent 正在執行時,Claude Code 會終止背景 shell。Windows 沒有記憶體壓力訊號,因此此變數在該平台上沒有作用。需要 Claude Code v2.1.193 或更新版本 |

245| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 設定為 `1` 可停用 Claude Code 隨附的 [skill](/docs/zh-TW/skills) 與工作流程:隨附的 skill 與工作流程會被完全移除,而 `/init` 等內建命令仍可輸入,但會對模型隱藏。`/doctor` 與內建命令一樣仍可輸入;請改用 `DISABLE_DOCTOR_COMMAND` 將其隱藏。來自外掛、`.claude/skills/` 與 `.claude/commands/` 的 skill 不受影響。等同於 [`disableBundledSkills`](/docs/zh-TW/settings-reference#disablebundledskills) 設定 |241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 設定為 `1` 可停用 Claude Code 隨附的 [skill](/docs/zh-TW/skills) 與工作流程:隨附的 skill 與工作流程會被完全移除,而 `/init` 等內建命令仍可輸入,但會對模型隱藏。`/doctor` 與內建命令一樣仍可輸入;請改用 `DISABLE_DOCTOR_COMMAND` 將其隱藏。來自外掛、`.claude/skills/` 與 `.claude/commands/` 的 skill 不受影響。等同於 [`disableBundledSkills`](/docs/zh-TW/settings-reference#disablebundledskills) 設定 |

246| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 設定為 `1` 可讓 [Claude in Chrome](/docs/zh-TW/chrome) 瀏覽器工具保持可用,同時省略系統提示詞中的 Chrome 區段與 `/claude-in-chrome` [隨附 skill](/docs/zh-TW/skills#bundled-skills)。適用於嵌入 Claude Code 並自行提供瀏覽器指引的主機。需要 Claude Code v2.1.257 或更新版本 |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 設定為 `1` 可讓 [Claude in Chrome](/docs/zh-TW/chrome) 瀏覽器工具保持可用,同時省略系統提示詞中的 Chrome 區段與 `/claude-in-chrome` [隨附 skill](/docs/zh-TW/skills#bundled-skills)。適用於嵌入 Claude Code 並自行提供瀏覽器指引的主機。需要 Claude Code v2.1.257 或更新版本 |


299| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 設為 `1` 可強制保存逐字稿、提示詞歷史與 `claude agents` 註冊,即使這個 `claude` 是從另一個 Claude Code 工作階段內部啟動的。當繼承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如來自 `screen` 工作階段,或最初由 Claude Code 的 Bash 工具啟動的背景啟動器)導致真正的最上層工作階段被誤判為巢狀工作階段時使用。自 v2.1.178 起,Claude Code 會自動偵測 tmux 的情況並忽略繼承的標記,因此 tmux 不再需要此變數。在 v2.1.169 及更早版本中也有效;在 v2.1.170 與 v2.1.171 中沒有作用,因為其所覆寫的巢狀工作階段偵測在這些版本中已被移除 |295| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 設為 `1` 可強制保存逐字稿、提示詞歷史與 `claude agents` 註冊,即使這個 `claude` 是從另一個 Claude Code 工作階段內部啟動的。當繼承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如來自 `screen` 工作階段,或最初由 Claude Code 的 Bash 工具啟動的背景啟動器)導致真正的最上層工作階段被誤判為巢狀工作階段時使用。自 v2.1.178 起,Claude Code 會自動偵測 tmux 的情況並忽略繼承的標記,因此 tmux 不再需要此變數。在 v2.1.169 及更早版本中也有效;在 v2.1.170 與 v2.1.171 中沒有作用,因為其所覆寫的巢狀工作階段偵測在這些版本中已被移除 |

300| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 設為 `1` 可在終端機支援但未被自動偵測到時(例如透過 SSH 且未轉送 `TERM_PROGRAM`),強制將 Claude 回應中的 `~~text~~` 呈現為刪除線。若未設定,未被偵測到的終端機會顯示字面上的 `~~` 標記,而不會將文字呈現為刪除線。需要 Claude Code v2.1.186 或更新版本 |296| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 設為 `1` 可在終端機支援但未被自動偵測到時(例如透過 SSH 且未轉送 `TERM_PROGRAM`),強制將 Claude 回應中的 `~~text~~` 呈現為刪除線。若未設定,未被偵測到的終端機會顯示字面上的 `~~` 標記,而不會將文字呈現為刪除線。需要 Claude Code v2.1.186 或更新版本 |

301| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 設為 `1` 可在終端機支援但未被自動偵測到時,強制啟用 DEC private mode 2026 [同步輸出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。適用於實作 BSU/ESU 但不回應功能探測的模擬器,例如 Emacs `eat`。在 tmux 下沒有作用。不同於會切換至[全螢幕呈現](/docs/zh-TW/fullscreen)的 `CLAUDE_CODE_NO_FLICKER`,此變數不會變更呈現器 |297| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 設為 `1` 可在終端機支援但未被自動偵測到時,強制啟用 DEC private mode 2026 [同步輸出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。適用於實作 BSU/ESU 但不回應功能探測的模擬器,例如 Emacs `eat`。在 tmux 下沒有作用。不同於會切換至[全螢幕呈現](/docs/zh-TW/fullscreen)的 `CLAUDE_CODE_NO_FLICKER`,此變數不會變更呈現器 |

302| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | 設為 `1` 可在終端機以 Unicode 預留位置繪製 kitty graphics protocol 圖片但未被自動偵測到時,將 [mod `Image` 元素](/docs/zh-TW/plugins/mods/reference#elements)繪製為圖片。請參閱 [Claude Code 會偵測哪些終端機](/docs/zh-TW/plugins/mods/gallery#image-and-client),以及為何此變數在 tmux 或 screen 內無效 |298| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | 當您的終端機能以 Unicode 預留位置繪製 kitty graphics protocol 圖片,但您仍看到 `Image` 的暗色 `alt` 文字時,設定為 `1` 可將 [mod `Image` 元素](/docs/zh-TW/plugins/mods/reference#elements)繪製為圖片。請參閱[哪些終端機會繪製 `Image`](/docs/zh-TW/plugins/mods/gallery#image-and-client),以及為何此變數在 tmux 或 screen 中無效 |

303| `CLAUDE_CODE_FORK_SUBAGENT` | 控制 fork 模式,此模式預設為開啟,可讓 Claude 自行啟動 [fork](/docs/zh-TW/sub-agents#fork-the-current-conversation)。在 fork 模式開啟時,Claude 也無法在您機器上的互動式終端機、VS Code 或桌面工作階段中[等待 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)。設定為 `0` 以關閉 fork 模式。關於版本,請參閱[關閉 fork 模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off) |299| `CLAUDE_CODE_FORK_SUBAGENT` | 控制 fork 模式,此模式預設為開啟,可讓 Claude 自行啟動 [fork](/docs/zh-TW/sub-agents#fork-the-current-conversation)。在 fork 模式開啟時,Claude 也無法在您機器上的互動式終端機、VS Code 或桌面工作階段中[等待 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)。設定為 `0` 以關閉 fork 模式。關於版本,請參閱[關閉 fork 模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off) |

304| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | 設為 `1` 可在 `claude -p --output-format stream-json` 輸出中發出 [subagent](/docs/zh-TW/sub-agents) 文字與思考區塊,行為與 [`--forward-subagent-text`](/docs/zh-TW/cli-reference#cli-flags) 旗標相同。當叫用 `claude` 的 harness 無法自行傳遞旗標時使用此變數。該旗標在非互動模式搭配 stream-json 輸出以外的情況下會以錯誤結束,但此變數在這些情況下會被忽略,因此在整個程序範圍設定時,巢狀叫用仍可正常運作。需要 Claude Code v2.1.211 或更新版本 |300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | 設為 `1` 可在 `claude -p --output-format stream-json` 輸出中發出 [subagent](/docs/zh-TW/sub-agents) 文字與思考區塊,行為與 [`--forward-subagent-text`](/docs/zh-TW/cli-reference#cli-flags) 旗標相同。當叫用 `claude` 的 harness 無法自行傳遞旗標時使用此變數。該旗標在非互動模式搭配 stream-json 輸出以外的情況下會以錯誤結束,但此變數在這些情況下會被忽略,因此在整個程序範圍設定時,巢狀叫用仍可正常運作。需要 Claude Code v2.1.211 或更新版本 |

305| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | 設為 `1` 可在自訂代理伺服器或第三方供應商(例如 Amazon Bedrock 或 Claude Platform on AWS)上傳送[閘道提示標頭](/docs/zh-TW/llm-gateway-protocol#gateway-hint-headers),例如 `x-claude-code-request-class` 與 `x-claude-code-compaction`。設為 `0` 可停止在每個連線上傳送這些標頭,包括直接連線至 Anthropic API 的情況,Claude Code 在該情況下預設會傳送它們。需要 Claude Code v2.1.273 或更新版本 |301| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | 設為 `1` 可在自訂代理伺服器或第三方供應商(例如 Amazon Bedrock 或 Claude Platform on AWS)上傳送[閘道提示標頭](/docs/zh-TW/llm-gateway-protocol#gateway-hint-headers),例如 `x-claude-code-request-class` 與 `x-claude-code-compaction`。設為 `0` 可停止在每個連線上傳送這些標頭,包括直接連線至 Anthropic API 的情況,Claude Code 在該情況下預設會傳送它們。需要 Claude Code v2.1.273 或更新版本 |


319| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | 覆寫 Claude Code 為作用中模型假設的上下文視窗大小。自 v2.1.193 起,其套用方式取決於 Claude Code 如何解析模型 ID;請參閱[為閘道或自訂模型 ID 修正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。當透過 `ANTHROPIC_BASE_URL` 路由至某個模型,而其上下文視窗與其名稱對應的內建大小不符時使用 |315| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | 覆寫 Claude Code 為作用中模型假設的上下文視窗大小。自 v2.1.193 起,其套用方式取決於 Claude Code 如何解析模型 ID;請參閱[為閘道或自訂模型 ID 修正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。當透過 `ANTHROPIC_BASE_URL` 路由至某個模型,而其上下文視窗與其名稱對應的內建大小不符時使用 |

320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code 傳送給模型的 MCP 工具描述和 MCP 伺服器指令的最大長度(字元數)。您設定的值會取代兩個[預設上限](/docs/zh-TW/mcp#for-mcp-server-authors):4096,以及 Claude 透過工具搜尋載入的工具描述所用的 16384。接受以純數字表示的正整數。其他任何值都會被忽略並套用預設值。需要 Claude Code v2.1.280 或更新版本 |316| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code 傳送給模型的 MCP 工具描述和 MCP 伺服器指令的最大長度(字元數)。您設定的值會取代兩個[預設上限](/docs/zh-TW/mcp#for-mcp-server-authors):4096,以及 Claude 透過工具搜尋載入的工具描述所用的 16384。接受以純數字表示的正整數。其他任何值都會被忽略並套用預設值。需要 Claude Code v2.1.280 或更新版本 |

321| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 設定大多數請求的最大輸出 token 數。預設值與上限因模型而異;請參閱[最大輸出 token 數](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)。Claude Code 會將超過模型上限的值降至上限。對於 Claude Code 無法解析為已知模型的模型 ID,預設值為 32000,上限為 128000。增加此值會減少觸發[自動壓縮](/docs/zh-TW/costs#reduce-token-usage)之前可用的有效上下文視窗 |317| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 設定大多數請求的最大輸出 token 數。預設值與上限因模型而異;請參閱[最大輸出 token 數](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)。Claude Code 會將超過模型上限的值降至上限。對於 Claude Code 無法解析為已知模型的模型 ID,預設值為 32000,上限為 128000。增加此值會減少觸發[自動壓縮](/docs/zh-TW/costs#reduce-token-usage)之前可用的有效上下文視窗 |

322| `CLAUDE_CODE_MAX_RETRIES` | 覆寫失敗 API 請求的重試次數(預設:10)。自 v2.1.186 起上限為 15;自 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。對於需要等候較長服務中斷的無人值守工作階段,請改為設定 `CLAUDE_CODE_RETRY_WATCHDOG` |318| `CLAUDE_CODE_MAX_RETRIES` | 覆寫失敗 API 請求的重試次數(預設:10)。遇到 `529` 過載錯誤時,重試可能會提早停止。例如,在 Opus 模型上使用 API 金鑰時,會在第三次 `529` 時停止,並顯示 [Repeated 529 Overloaded errors](/docs/zh-TW/errors#api-error-repeated-529-overloaded-errors)。若您設定了[備援模型](/docs/zh-TW/settings-reference#fallbackmodel),Claude Code 會切換至該模型,而非顯示錯誤。自 v2.1.186 起上限為 15;自 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。對於需要等過較長時間服務中斷的無人值守工作階段,請改為設定 `CLAUDE_CODE_RETRY_WATCHDOG` |

323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | 已於 v2.1.224 移除,現在不具作用。先前用於限制 Claude 在一個工作階段中可透過 Agent 工具產生的 [subagent](/docs/zh-TW/sub-agents) 總數(預設:200);超過上限的產生會以 `Subagent spawn limit reached` 失敗。[同時執行的 subagent 上限](/docs/zh-TW/sub-agents#concurrent-subagent-limit)與[深度上限](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)仍然適用 |319| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | 已於 v2.1.224 移除,現在不具作用。先前用於限制 Claude 在一個工作階段中可透過 Agent 工具產生的 [subagent](/docs/zh-TW/sub-agents) 總數(預設:200);超過上限的產生會以 `Subagent spawn limit reached` 失敗。[同時執行的 subagent 上限](/docs/zh-TW/sub-agents#concurrent-subagent-limit)與[深度上限](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)仍然適用 |

324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 主對話下方允許的 [subagent 層數](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) (預設:3)。在預設值下,subagent 可以產生自己的 subagent,而位於第三層的 subagent 無法再進一步產生;設為 `1` 可關閉巢狀。在 v2.1.217 至 v2.1.218 中,預設值為 1,因此除非您提高上限,否則 subagent 無法產生自己的 subagent;v2.1.219 將預設值提高為 3。接受純數字的正整數;其他任何值都會被忽略,因此上限可以調整但無法移除。需要 Claude Code v2.1.217 或更新版本 |320| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 主對話下方允許的 [subagent 層數](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) (預設:3)。在預設值下,subagent 可以產生自己的 subagent,而位於第三層的 subagent 無法再進一步產生;設為 `1` 可關閉巢狀。在 v2.1.217 至 v2.1.218 中,預設值為 1,因此除非您提高上限,否則 subagent 無法產生自己的 subagent;v2.1.219 將預設值提高為 3。接受純數字的正整數;其他任何值都會被忽略,因此上限可以調整但無法移除。需要 Claude Code v2.1.217 或更新版本 |

325| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 可平行執行的唯讀工具與 subagent 的最大數量(預設:10)。較高的值會提高平行度,但會消耗更多資源 |

326| `CLAUDE_CODE_MAX_TURNS` | 在未傳遞明確上限時,限制 agentic 回合數。等同於傳遞 [`--max-turns`](/docs/zh-TW/cli-reference#cli-flags),兩者皆設定時以該旗標為優先。非正整數的值會在啟動時以錯誤拒絕,而不會被視為無上限 |321| `CLAUDE_CODE_MAX_TURNS` | 在未傳遞明確上限時,限制 agentic 回合數。等同於傳遞 [`--max-turns`](/docs/zh-TW/cli-reference#cli-flags),兩者皆設定時以該旗標為優先。非正整數的值會在啟動時以錯誤拒絕,而不會被視為無上限 |

327| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | [WebSearch](/docs/zh-TW/tools-reference#session-search-limit) 呼叫次數上限(預設:200)。當 Claude 達到上限時,後續的 WebSearch 呼叫會傳回一則通知,要求它以已收集到的資訊繼續進行,並在回答中說明這一點。接受沒有上限的正整數。其他任何值都會被忽略並套用預設值,因此上限可以提高但無法關閉。需要 Claude Code v2.1.212 或更新版本 |322| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | [WebSearch](/docs/zh-TW/tools-reference#session-search-limit) 呼叫次數上限(預設:200)。當 Claude 達到上限時,後續的 WebSearch 呼叫會傳回一則通知,要求它以已收集到的資訊繼續進行,並在回答中說明這一點。接受沒有上限的正整數。其他任何值都會被忽略並套用預設值,因此上限可以提高但無法關閉。需要 Claude Code v2.1.212 或更新版本 |

328| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 設為 `1` 可讓 stdio MCP 伺服器僅以安全的基準環境加上該伺服器設定的 `env` 啟動,而不是繼承您的 shell 環境 |323| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 設為 `1` 可讓 stdio MCP 伺服器僅以安全的基準環境加上該伺服器設定的 `env` 啟動,而不是繼承您的 shell 環境 |

329| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 仍在執行的 MCP 工具呼叫[移至背景任務](/docs/zh-TW/mcp#automatic-backgrounding-of-long-tool-calls)之前經過的時間(毫秒)(預設:120000,即 2 分鐘)。設為 `0` 可關閉自動背景執行。需要 Claude Code v2.1.212 或更新版本 |324| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 仍在執行的 MCP 工具呼叫[移至背景任務](/docs/zh-TW/mcp#automatic-backgrounding-of-long-tool-calls)之前經過的時間(毫秒)(預設:120000,即 2 分鐘)。設為 `0` 可關閉自動背景執行。需要 Claude Code v2.1.212 或更新版本 |

330| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非互動](/docs/zh-TW/headless)工作階段的第一個回合等待仍在連線中之 MCP 伺服器的時間(毫秒),取代預設的[第一回合等待](/docs/zh-TW/agent-sdk/mcp#connection-timing)。設定後,等待會涵蓋所有待處理的伺服器;在[自行託管環境](/docs/zh-TW/self-hosted-environments-configuration#connection-timing)中,只會變更等待持續的時間。設為 `0` 可略過等待。無論此值為何,[`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 伺服器都會保留自己的 `MCP_TIMEOUT` 等待。需要 Claude Code v2.1.274 或更新版本 |325| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非互動](/docs/zh-TW/headless)工作階段的第一個回合等待仍在連線中之 MCP 伺服器的時間(毫秒),取代預設的[第一回合等待](/docs/zh-TW/agent-sdk/mcp#connection-timing)。在[自行託管環境](/docs/zh-TW/self-hosted-environments-configuration#connection-timing)中,它只會變更等待持續的時間。某些伺服器無論此值為何都會保有自己的等待;[連線時機](/docs/zh-TW/agent-sdk/mcp#connection-timing)列出了這些伺服器。設為 `0` 可略過對其他所有伺服器的等待。需要 Claude Code v2.1.274 或更新版本 |

331| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 工具呼叫的閒置逾時(毫秒)。當 stdio、HTTP、SSE、WebSocket 或 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) MCP 伺服器在這段時間內沒有傳送任何回應或進度通知時,工具呼叫會以錯誤中止,而不會等待整體的 `MCP_TOOL_TIMEOUT`。覆寫各傳輸方式的預設值:網路伺服器為 300000(5 分鐘),stdio 伺服器為 1800000(30 分鐘)。設為 `0` 可停用閒置檢查。低於 1000 的值會提高為一秒,且此值的上限為有效的 `MCP_TOOL_TIMEOUT`。`.mcp.json` 中至少為 1000 的個別伺服器 `timeout` 會將該伺服器的閒置時間窗提高至至少為 `timeout` 值。不適用於 IDE 伺服器或 SDK 同程序伺服器。需要 Claude Code v2.1.187 或更新版本。在 v2.1.203 之前,stdio 伺服器不受閒置逾時限制 |326| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 工具呼叫的閒置逾時(毫秒)。當 stdio、HTTP、SSE、WebSocket 或 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) MCP 伺服器在這段時間內沒有傳送任何回應或進度通知時,工具呼叫會以錯誤中止,而不會等待整體的 `MCP_TOOL_TIMEOUT`。覆寫各傳輸方式的預設值:網路伺服器為 300000(5 分鐘),stdio 伺服器為 1800000(30 分鐘)。設為 `0` 可停用閒置檢查。低於 1000 的值會提高為一秒,且此值的上限為有效的 `MCP_TOOL_TIMEOUT`。`.mcp.json` 中至少為 1000 的個別伺服器 `timeout` 會將該伺服器的閒置時間窗提高至至少為 `timeout` 值。不適用於 IDE 伺服器或 SDK 同程序伺服器。需要 Claude Code v2.1.187 或更新版本。在 v2.1.203 之前,stdio 伺服器不受閒置逾時限制 |

332| `CLAUDE_CODE_MESSAGING_SOCKET` | 由 Claude Code 設定,而非由您設定:在繫結[收件匣 socket](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 會在繫結 socket 時將該 socket 的路徑匯出給 hook 與 Bash 命令。在以開啟訊息功能啟動的工作階段中,Claude Code 會在任何 hook 執行之前繫結 socket。機器上的其他工作階段會將訊息傳遞至此路徑。每個工作階段會匯出自己的 socket,而非從父工作階段繼承的 socket,且抵達該 socket 的訊息會經過工作階段的[傳入控制](/docs/zh-TW/cross-session-messaging#control-inbound-messages)。設定的 `env` 區塊無法設定此變數。需要 Claude Code v2.1.224 或更新版本 |327| `CLAUDE_CODE_MESSAGING_SOCKET` | 由 Claude Code 設定,而非由您設定:在繫結[收件匣 socket](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 會在繫結 socket 時將該 socket 的路徑匯出給 hook 與 Bash 命令。在以開啟訊息功能啟動的工作階段中,Claude Code 會在任何 hook 執行之前繫結 socket。機器上的其他工作階段會將訊息傳遞至此路徑。每個工作階段會匯出自己的 socket,而非從父工作階段繼承的 socket,且抵達該 socket 的訊息會經過工作階段的[傳入控制](/docs/zh-TW/cross-session-messaging#control-inbound-messages)。設定的 `env` 區塊無法設定此變數。需要 Claude Code v2.1.224 或更新版本 |

333| `CLAUDE_CODE_MESSAGING_TOKEN` | 由 Claude Code 設定,而非由您設定:在繫結[收件匣 socket](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 會將此工作階段專屬的 token 與 `CLAUDE_CODE_MESSAGING_SOCKET` 一起匯出給 hook 與 Bash 命令。張貼至 socket 的指令碼可傳送 `{"type":"auth","token":"<token>"}` 作為第一行,以證明其屬於該工作階段。在原生 Windows 上,Claude Code 要求此行,並會關閉任何未以有效此行開頭的連線。[own-child 規則](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket)說明 Claude Code 何時會參考此 token。每個工作階段會匯出自己的 token,絕不會是從父工作階段繼承的 token。設定的 `env` 區塊無法設定此變數。需要 Claude Code v2.1.228 或更新版本 |328| `CLAUDE_CODE_MESSAGING_TOKEN` | 由 Claude Code 設定,而非由您設定:在繫結[收件匣 socket](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 會將此工作階段專屬的 token 與 `CLAUDE_CODE_MESSAGING_SOCKET` 一起匯出給 hook 與 Bash 命令。張貼至 socket 的指令碼可傳送 `{"type":"auth","token":"<token>"}` 作為第一行,以證明其屬於該工作階段。在原生 Windows 上,Claude Code 要求此行,並會關閉任何未以有效此行開頭的連線。[own-child 規則](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket)說明 Claude Code 何時會參考此 token。每個工作階段會匯出自己的 token,絕不會是從父工作階段繼承的 token。設定的 `env` 區塊無法設定此變數。需要 Claude Code v2.1.228 或更新版本 |


372| `CLAUDE_CODE_RESUME_PROMPT` | 覆寫當 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 接續中斷的回合而非重新傳送其提示詞時,或當您以 `-p` 繼續[延後的工具呼叫](/docs/zh-TW/hooks#defer-a-tool-call-for-later)時,Claude Code 傳送給 Claude 的接續訊息。預設為 `Continue from where you left off.`。空字串會使用預設值 |367| `CLAUDE_CODE_RESUME_PROMPT` | 覆寫當 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 接續中斷的回合而非重新傳送其提示詞時,或當您以 `-p` 繼續[延後的工具呼叫](/docs/zh-TW/hooks#defer-a-tool-call-for-later)時,Claude Code 傳送給 Claude 的接續訊息。預設為 `Continue from where you left off.`。空字串會使用預設值 |

373| `CLAUDE_CODE_RETRY_WATCHDOG` | 針對無人值守的工作階段(例如 eval harness、CI 作業或遠端 worker)設為 `1`。無限期重試 `429` 與 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 次嘗試後失敗。當標準速度請求收到回報支出上限或用量點數已用盡的 `429` 時,Claude Code 會立即失敗,即使是來自會依排程重設的[閘道支出上限](/docs/zh-TW/errors#spend-limit-reached)也是如此。在 v2.1.239 之前,watchdog 會無限期重試這些錯誤。關於快速模式請求,請參閱[處理速率限制](/docs/zh-TW/fast-mode#handle-rate-limits)。watchdog 在每次嘗試之間最多退避 5 分鐘,或在回應攜帶速率限制重設時間時等到限制重設為止,因此達到用量上限的工作階段會等候剩餘的時間範圍。在 v2.1.199 或更新版本中,它也會將其他暫時性錯誤(例如伺服器錯誤、逾時與中斷的連線)的預設重試次數提高至 300 次,約為三小時的退避時間,並在您明確設定 `CLAUDE_CODE_MAX_RETRIES` 時移除其 15 次的上限。需要 Claude Code v2.1.186 或更新版本 |368| `CLAUDE_CODE_RETRY_WATCHDOG` | 針對無人值守的工作階段(例如 eval harness、CI 作業或遠端 worker)設為 `1`。無限期重試 `429` 與 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 次嘗試後失敗。當標準速度請求收到回報支出上限或用量點數已用盡的 `429` 時,Claude Code 會立即失敗,即使是來自會依排程重設的[閘道支出上限](/docs/zh-TW/errors#spend-limit-reached)也是如此。在 v2.1.239 之前,watchdog 會無限期重試這些錯誤。關於快速模式請求,請參閱[處理速率限制](/docs/zh-TW/fast-mode#handle-rate-limits)。watchdog 在每次嘗試之間最多退避 5 分鐘,或在回應攜帶速率限制重設時間時等到限制重設為止,因此達到用量上限的工作階段會等候剩餘的時間範圍。在 v2.1.199 或更新版本中,它也會將其他暫時性錯誤(例如伺服器錯誤、逾時與中斷的連線)的預設重試次數提高至 300 次,約為三小時的退避時間,並在您明確設定 `CLAUDE_CODE_MAX_RETRIES` 時移除其 15 次的上限。需要 Claude Code v2.1.186 或更新版本 |

374| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | 設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,每個 API 請求等候 `429` 與 `529` 錯誤的最長時間(毫秒)。用完該時間後,下一個此類錯誤會結束請求。請以純數字提供正整數,例如 `1800000` 代表 30 分鐘。未設定時,等待沒有上限。需要 Claude Code v2.1.295 或更新版本 |369| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | 設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,每個 API 請求等候 `429` 與 `529` 錯誤的最長時間(毫秒)。用完該時間後,下一個此類錯誤會結束請求。請以純數字提供正整數,例如 `1800000` 代表 30 分鐘。未設定時,等待沒有上限。需要 Claude Code v2.1.295 或更新版本 |

370| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | 在設定 `CLAUDE_CODE_RETRY_WATCHDOG` 的情況下,請求等待[用量上限](/docs/zh-TW/errors#youve-hit-your-session-limit)重設期間,檢查該上限是否已提前解除的最短間隔(毫秒)。當檢查發現上限已解除時,請求會立即送出。請以純數字提供 `60000`(一分鐘)至 `10800000`(三小時)之間的整數。僅會在未使用用量點數時針對 claude.ai 訂閱的工作階段或每週上限進行檢查,且在設定 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 時不會檢查。當此變數未設定或其值超出該範圍時,不會進行任何檢查。需要 Claude Code v2.1.305 或更新版本 |

375| `CLAUDE_CODE_SAFE_MODE` | 設為 `1` 以安全模式啟動:CLAUDE.md、skill、外掛、hook、MCP 伺服器、自訂命令與 agent、輸出風格、工作流程、自訂佈景主題、自訂快捷鍵、狀態列與檔案建議命令、LSP 伺服器以及自動記憶都不會載入,用於疑難排解損壞的設定。受管設定原則仍然適用,包括原則設定的 hook、狀態列與檔案建議命令;受管外掛、受管 skill、受管 CLAUDE.md 與原則設定的 MCP 伺服器則不會載入。等同於傳遞 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags)。直接產生的子程序會繼承此變數 |371| `CLAUDE_CODE_SAFE_MODE` | 設為 `1` 以安全模式啟動:CLAUDE.md、skill、外掛、hook、MCP 伺服器、自訂命令與 agent、輸出風格、工作流程、自訂佈景主題、自訂快捷鍵、狀態列與檔案建議命令、LSP 伺服器以及自動記憶都不會載入,用於疑難排解損壞的設定。受管設定原則仍然適用,包括原則設定的 hook、狀態列與檔案建議命令;受管外掛、受管 skill、受管 CLAUDE.md 與原則設定的 MCP 伺服器則不會載入。等同於傳遞 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags)。直接產生的子程序會繼承此變數 |

376| `CLAUDE_CODE_SCRIPT_CAPS` | JSON 物件,在設定 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 時限制特定指令碼在每個工作階段中可被叫用的次數。鍵為與命令文字比對的子字串;值為整數呼叫上限。例如,`{"deploy.sh": 2}` 允許 `deploy.sh` 最多被呼叫兩次。比對以子字串為基礎,因此像 `./scripts/deploy.sh $(evil)` 這類 shell 展開技巧仍會計入上限。透過 `xargs` 或 `find -exec` 的執行時期擴散不會被偵測到;這是一項縱深防禦控制 |372| `CLAUDE_CODE_SCRIPT_CAPS` | JSON 物件,在設定 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 時限制特定指令碼在每個工作階段中可被叫用的次數。鍵為與命令文字比對的子字串;值為整數呼叫上限。例如,`{"deploy.sh": 2}` 允許 `deploy.sh` 最多被呼叫兩次。比對以子字串為基礎,因此像 `./scripts/deploy.sh $(evil)` 這類 shell 展開技巧仍會計入上限。透過 `xargs` 或 `find -exec` 的執行時期擴散不會被偵測到;這是一項縱深防禦控制 |

377| `CLAUDE_CODE_SCROLL_SPEED` | 設定[全螢幕呈現](/docs/zh-TW/fullscreen#mouse-wheel-scrolling)中的滑鼠滾輪捲動倍數。接受最大為 20 的任何正值,包括低於 1 的小數值,例如 `0.5`,以在已放大滾輪事件的終端機中減慢加速的觸控板與滾輪捲動。若您的終端機每一格只傳送一個滾輪事件且未放大,請設為 `3` 以與 `vim` 一致。在 JetBrains IDE 終端機中會被忽略,Claude Code 在其中使用自己的捲動處理 |373| `CLAUDE_CODE_SCROLL_SPEED` | 設定[全螢幕呈現](/docs/zh-TW/fullscreen#mouse-wheel-scrolling)中的滑鼠滾輪捲動倍數。接受最大為 20 的任何正值,包括低於 1 的小數值,例如 `0.5`,以在已放大滾輪事件的終端機中減慢加速的觸控板與滾輪捲動。若您的終端機每一格只傳送一個滾輪事件且未放大,請設為 `3` 以與 `vim` 一致。在 JetBrains IDE 終端機中會被忽略,Claude Code 在其中使用自己的捲動處理 |


405| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | 設定 `CLAUDE_CODE_SYNC_SKILLS` 時,第一個查詢等待初始 skill 清單的逾時時間(毫秒)(預設:5000)。超過時,第一個查詢會以已到達的 skill 執行。無論如何,下載都會在背景完成,且 Claude 在叫用某個 skill 時會等待該 skill 下載完成 |401| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | 設定 `CLAUDE_CODE_SYNC_SKILLS` 時,第一個查詢等待初始 skill 清單的逾時時間(毫秒)(預設:5000)。超過時,第一個查詢會以已到達的 skill 執行。無論如何,下載都會在背景完成,且 Claude 在叫用某個 skill 時會等待該 skill 下載完成 |

406| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 設為 `false` 可停用差異輸出中的語法醒目提示。在顏色干擾您的終端機設定時很有用。若也要停用程式碼區塊與檔案預覽中的醒目提示,請使用 [`syntaxHighlightingDisabled`](/docs/zh-TW/settings-reference#syntaxhighlightingdisabled) 設定 |402| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 設為 `false` 可停用差異輸出中的語法醒目提示。在顏色干擾您的終端機設定時很有用。若也要停用程式碼區塊與檔案預覽中的醒目提示,請使用 [`syntaxHighlightingDisabled`](/docs/zh-TW/settings-reference#syntaxhighlightingdisabled) 設定 |

407| `CLAUDE_CODE_TASK_LIST_ID` | 在工作階段之間共用任務清單。在多個 Claude Code 執行個體中設定相同的 ID,以在[具備 Task 工具的工作階段](/docs/zh-TW/tools-reference#task-tool-availability)中協調共用的任務清單。請參閱[任務清單](/docs/zh-TW/interactive-mode#task-list) |403| `CLAUDE_CODE_TASK_LIST_ID` | 在工作階段之間共用任務清單。在多個 Claude Code 執行個體中設定相同的 ID,以在[具備 Task 工具的工作階段](/docs/zh-TW/tools-reference#task-tool-availability)中協調共用的任務清單。請參閱[任務清單](/docs/zh-TW/interactive-mode#task-list) |

408| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 以毫秒覆寫非互動式工作階段在結束時等待其 [agent team](/docs/zh-TW/agent-teams) 完成拆除的時間。接受 1000 至 60000;超出範圍的值會被忽略並套用預設值 10000。需要 Claude Code v2.1.206 或更新版本 |

409| `CLAUDE_CODE_TMPDIR` | 覆寫用於內部暫存檔的暫存目錄。Claude Code 在 Unix 上會於此路徑附加 `/claude-{uid}/`,在 Windows 上附加 `/claude/`。預設:macOS 上為 `/tmp`,Linux 與 Windows 上為 `os.tmpdir()`。在 macOS 與 Linux 上,當您的覆寫值為長路徑時,[沙箱化](/docs/zh-TW/sandboxing)的 Bash 子程序會收到位於系統預設位置下的簡短備援 `$TMPDIR`,因為某些工具在暫存路徑過長時會失敗。未沙箱化的 Bash 命令會在您 shell 的 `$TMPDIR` 已設定時繼承它。在原生 Windows 上,當您的 shell 未設定 `$TMPDIR` 時,參照 `$TMPDIR` 的 Bash 命令會收到您的覆寫值,若您未設定覆寫值則收到 `%TEMP%`。Claude Code 自身的暫存檔一律使用您的覆寫值。請在您的 shell、使用者設定或受管設定中設定。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |404| `CLAUDE_CODE_TMPDIR` | 覆寫用於內部暫存檔的暫存目錄。Claude Code 在 Unix 上會於此路徑附加 `/claude-{uid}/`,在 Windows 上附加 `/claude/`。預設:macOS 上為 `/tmp`,Linux 與 Windows 上為 `os.tmpdir()`。在 macOS 與 Linux 上,當您的覆寫值為長路徑時,[沙箱化](/docs/zh-TW/sandboxing)的 Bash 子程序會收到位於系統預設位置下的簡短備援 `$TMPDIR`,因為某些工具在暫存路徑過長時會失敗。未沙箱化的 Bash 命令會在您 shell 的 `$TMPDIR` 已設定時繼承它。在原生 Windows 上,當您的 shell 未設定 `$TMPDIR` 時,參照 `$TMPDIR` 的 Bash 命令會收到您的覆寫值,若您未設定覆寫值則收到 `%TEMP%`。Claude Code 自身的暫存檔一律使用您的覆寫值。請在您的 shell、使用者設定或受管設定中設定。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |

410| `CLAUDE_CODE_TMUX_TRUECOLOR` | 設為任何非空值(例如 `1`)以允許在 tmux 內輸出 24 位元真彩色。**設為 `0` 或 `false` 仍會允許真彩色**,這與大多數開關變數不同;取消設定此變數可恢復 256 色限制。預設情況下,當設定了 `$TMUX` 時,Claude Code 會限制為 256 色,因為除非經過設定,否則 tmux 不會傳遞真彩色跳脫序列。請在將 `set -ga terminal-overrides ',*:Tc'` 加入您的 `~/.tmux.conf` 之後設定此變數。其他 tmux 設定請參閱[終端機設定](/docs/zh-TW/terminal-config) |405| `CLAUDE_CODE_TMUX_TRUECOLOR` | 設為任何非空值(例如 `1`)以允許在 tmux 內輸出 24 位元真彩色。**設為 `0` 或 `false` 仍會允許真彩色**,這與大多數開關變數不同;取消設定此變數可恢復 256 色限制。預設情況下,當設定了 `$TMUX` 時,Claude Code 會限制為 256 色,因為除非經過設定,否則 tmux 不會傳遞真彩色跳脫序列。請在將 `set -ga terminal-overrides ',*:Tc'` 加入您的 `~/.tmux.conf` 之後設定此變數。其他 tmux 設定請參閱[終端機設定](/docs/zh-TW/terminal-config) |

411| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | 在 Linux 與 WSL 上,設為以逗號分隔的程序類型清單,Claude Code 會將這些類型[排除在工具記憶體上限之外](/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl),例如 `mcp` 或 `lsp`。設為 `none` 可限制所有類型,或設為 `all-new` 僅限制 Bash、PowerShell 與 Monitor 工具命令。無論您列出什麼,Claude Code 都會讓 Bash、PowerShell 與 Monitor 工具命令受上限約束。需要 Claude Code v2.1.246 或更新版本 |406| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | 在 Linux 與 WSL 上,設為以逗號分隔的程序類型清單,Claude Code 會將這些類型[排除在工具記憶體上限之外](/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl),例如 `mcp` 或 `lsp`。設為 `none` 可限制所有類型,或設為 `all-new` 僅限制 Bash、PowerShell 與 Monitor 工具命令。無論您列出什麼,Claude Code 都會讓 Bash、PowerShell 與 Monitor 工具命令受上限約束。需要 Claude Code v2.1.246 或更新版本 |

412| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | 在 Linux 與 WSL 上,設為 `4G` 等大小,以[限制 Bash 與 PowerShell 工具命令可使用的記憶體](/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl),在 v2.1.246 或更新版本中也包括 Monitor 工具命令。請以純數字寫入大小,單獨使用代表位元組數,或加上 `K`、`M`、`G` 或 `T` 後綴。設為 `0` 或 `off` 可關閉上限。一旦 Claude Code 啟動的第一個程序已開啟或關閉上限,變更後的值會在您下次啟動 `claude` 時生效。需要 Claude Code v2.1.233 或更新版本 |407| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | 在 Linux 與 WSL 上,設為 `4G` 等大小,以[限制 Bash 與 PowerShell 工具命令可使用的記憶體](/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl),在 v2.1.246 或更新版本中也包括 Monitor 工具命令。請以純數字寫入大小,單獨使用代表位元組數,或加上 `K`、`M`、`G` 或 `T` 後綴。設為 `0` 或 `off` 可關閉上限。一旦 Claude Code 啟動的第一個程序已開啟或關閉上限,變更後的值會在您下次啟動 `claude` 時生效。需要 Claude Code v2.1.233 或更新版本 |

413| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | 設為 `1` 可限制長時間 `-p` 或 Agent SDK 工作階段的[逐字稿檔案](/docs/zh-TW/sessions#where-transcripts-are-stored)成長的大小。每次壓縮後,當檔案大於 5 MB 時,Claude Code 會移除該次壓縮之前的歷史記錄。無論檔案是否經過修剪,繼續工作階段都會還原相同的對話。請在您啟動 Claude Code 的環境中設定,因為設定的 `env` 區塊無法開啟此功能。需要 Claude Code v2.1.287 或更新版本 |408| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | 設定為 `1` 以限制長時間 `-p` 或 Agent SDK 工作階段的[逐字稿檔案](/docs/zh-TW/sessions#where-transcripts-are-stored)成長的大小。每次上下文壓縮後,一旦檔案大於 5 MB,Claude Code 就會移除該次上下文壓縮之前的歷史記錄。在 v2.1.296 或更新版本中,若移除該歷史記錄只能使檔案縮小不到 10%,檔案會保持原樣。無論檔案是否經過修剪,繼續工作階段都會還原相同的對話。請在您啟動 Claude Code 的環境中設定此變數,因為設定中的 `env` 區塊無法開啟它。需要 Claude Code v2.1.287 或更新版本 |

414| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code 取消轉送至遠端用戶端(例如 [Remote Control](/docs/zh-TW/remote-control) 或 SDK 主機)的對話框,或[被暫留的跨工作階段訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)之核准對話框前的期限(毫秒);權限提示與 `AskUserQuestion` 問題使用各自的流程,不受此變數控制。在 Claude Code v2.1.236 或更新版本中,它也會限制可能在無人看管狀態下執行的工作階段中,於工作階段中途出現的 [Fable 用量點數同意提示](/docs/zh-TW/model-config#fable-and-usage-credits)。[控制傳入訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)與[非互動工作階段](/docs/zh-TW/cross-session-messaging#non-interactive-sessions)涵蓋完整的暫留訊息到期規則,包括期限不適用的情況。覆寫 [`dialogExpiry`](/docs/zh-TW/settings-reference#dialogexpiry) 設定。`0` 或負值會停用期限。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |409| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code 取消轉送至遠端用戶端(例如 [Remote Control](/docs/zh-TW/remote-control) 或 SDK 主機)的對話框,或[被暫留的跨工作階段訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)之核准對話框前的期限(毫秒);權限提示與 `AskUserQuestion` 問題使用各自的流程,不受此變數控制。在 Claude Code v2.1.236 或更新版本中,它也會限制可能在無人看管狀態下執行的工作階段中,於工作階段中途出現的 [Fable 用量點數同意提示](/docs/zh-TW/model-config#fable-and-usage-credits)。[控制傳入訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)與[非互動工作階段](/docs/zh-TW/cross-session-messaging#non-interactive-sessions)涵蓋完整的暫留訊息到期規則,包括期限不適用的情況。覆寫 [`dialogExpiry`](/docs/zh-TW/settings-reference#dialogexpiry) 設定。`0` 或負值會停用期限。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |

415| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) |410| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) |

416| `CLAUDE_CODE_USE_BEDROCK` | 使用 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) |411| `CLAUDE_CODE_USE_BEDROCK` | 使用 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) |

417| `CLAUDE_CODE_USE_FOUNDRY` | 使用 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) |412| `CLAUDE_CODE_USE_FOUNDRY` | 使用 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) |

418| `CLAUDE_CODE_USE_MANTLE` | 使用 Amazon Bedrock [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint) |413| `CLAUDE_CODE_USE_MANTLE` | 使用 Amazon Bedrock [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint) |

419| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | 設定為 `1` 以使用 Node.js 檔案 API 而非 ripgrep 來探索自訂命令、subagent 與輸出風格。若內建的 ripgrep 二進位檔在您的環境中無法使用或遭封鎖,請設定此變數。不會影響 Grep 或檔案搜尋工具 |

420| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | 控制 PowerShell 工具。在未安裝 Git Bash 的 Windows 上,此工具會自動啟用;設定為 `0` 可停用。在已安裝 Git Bash 的 Windows 上,claude.ai 與 Console 帳戶預設會開啟此工具;設定為 `1` 可在 Amazon Bedrock、Google Cloud's Agent Platform 與 Microsoft Foundry 工作階段中啟用,或設定為 `0` 將其關閉。在 Linux、macOS 與 WSL 上,設定為 `1` 可啟用,這需要 `PATH` 中有 `pwsh`。在 Windows 上啟用時,Claude 可以原生執行 PowerShell 命令,而不必透過 Git Bash 轉送。請參閱 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool) |414| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | 控制 PowerShell 工具。在未安裝 Git Bash 的 Windows 上,此工具會自動啟用;設定為 `0` 可停用。在已安裝 Git Bash 的 Windows 上,claude.ai 與 Console 帳戶預設會開啟此工具;設定為 `1` 可在 Amazon Bedrock、Google Cloud's Agent Platform 與 Microsoft Foundry 工作階段中啟用,或設定為 `0` 將其關閉。在 Linux、macOS 與 WSL 上,設定為 `1` 可啟用,這需要 `PATH` 中有 `pwsh`。在 Windows 上啟用時,Claude 可以原生執行 PowerShell 命令,而不必透過 Git Bash 轉送。請參閱 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool) |

421| `CLAUDE_CODE_USE_VERTEX` | 使用 [Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) |415| `CLAUDE_CODE_USE_VERTEX` | 使用 [Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) |

422| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | 設定 [WebFetch](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 將每個已擷取 URL 的回應保留在快取中的毫秒數。預設值為 `900000`,即 15 分鐘。僅接受純數字;`0`、小數或任何其他寫法都會保留預設值。Claude Code 每次啟動時只讀取一次此值,因此在設定的 `env` 區塊中所做的變更會在您下次啟動 `claude` 時生效。需要 Claude Code v2.1.233 或更新版本 |416| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | 設定 [WebFetch](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 將每個已擷取 URL 的回應保留在快取中的毫秒數。預設值為 `900000`,即 15 分鐘。僅接受純數字;`0`、小數或任何其他寫法都會保留預設值。Claude Code 每次啟動時只讀取一次此值,因此在設定的 `env` 區塊中所做的變更會在您下次啟動 `claude` 時生效。需要 Claude Code v2.1.233 或更新版本 |


427| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [工作流程](/docs/zh-TW/workflows) agent 在送出自己的第一個請求之前,等待具有相同前綴的同層 agent 開始第一個回應的時間上限(毫秒)。當扇出啟動多個共用[提示快取前綴](/docs/zh-TW/workflows#prompt-caching-in-a-fan-out)的 agent 時,Claude Code 會將第一個以外的所有 agent 暫停最多這段時間,讓其餘 agent 讀取已快取的前綴,而不是各自在未快取的情況下處理。預設值為 `5000`。設定為 `0` 可停用等待。設定 `DISABLE_PROMPT_CACHING` 時,agent 永遠不會等待。需要 Claude Code v2.1.229 或更新版本 |421| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [工作流程](/docs/zh-TW/workflows) agent 在送出自己的第一個請求之前,等待具有相同前綴的同層 agent 開始第一個回應的時間上限(毫秒)。當扇出啟動多個共用[提示快取前綴](/docs/zh-TW/workflows#prompt-caching-in-a-fan-out)的 agent 時,Claude Code 會將第一個以外的所有 agent 暫停最多這段時間,讓其餘 agent 讀取已快取的前綴,而不是各自在未快取的情況下處理。預設值為 `5000`。設定為 `0` 可停用等待。設定 `DISABLE_PROMPT_CACHING` 時,agent 永遠不會等待。需要 Claude Code v2.1.229 或更新版本 |

428| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | 設為 `1` 可在提示詞上方,為 [You should know mod](/docs/zh-TW/interactive-mode#you-should-know-suggestions) 在此工作階段中進行的最近三次檢查各顯示一行。可用於在沒有出現任何提示時,確認該 mod 是否正在進行檢查。需要 Claude Code v2.1.287 或更新版本 |422| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | 設為 `1` 可在提示詞上方,為 [You should know mod](/docs/zh-TW/interactive-mode#you-should-know-suggestions) 在此工作階段中進行的最近三次檢查各顯示一行。可用於在沒有出現任何提示時,確認該 mod 是否正在進行檢查。需要 Claude Code v2.1.287 或更新版本 |

429| `CLAUDE_CONFIG_DIR` | 覆寫設定目錄(預設:`~/.claude`)。所有設定、工作階段歷史記錄與外掛都儲存在此路徑下。關於憑證,請參閱 [Claude Code 儲存憑證的位置](/docs/zh-TW/authentication#credential-management)。適用於並行執行多個帳戶:例如 `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`。請在您的 shell、使用者設定或受管設定中設定。在設定檔中,請寫入[絕對路徑](#in-settings-files)。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |423| `CLAUDE_CONFIG_DIR` | 覆寫設定目錄(預設:`~/.claude`)。所有設定、工作階段歷史記錄與外掛都儲存在此路徑下。關於憑證,請參閱 [Claude Code 儲存憑證的位置](/docs/zh-TW/authentication#credential-management)。適用於並行執行多個帳戶:例如 `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`。請在您的 shell、使用者設定或受管設定中設定。在設定檔中,請寫入[絕對路徑](#in-settings-files)。在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略 |

430| `CLAUDE_DISABLE_ADOPT` | 設定為 `1`,在您按下 `←` 或使用 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 將工作階段移至背景時,停止進行中的背景工作,而不是將其延續。Claude Code 會在移至背景前要求您確認,然後停止原本會延續的任務。需要 Claude Code v2.1.195 或更新版本 |

431| `CLAUDE_EFFORT` | 在 Bash 工具子程序與 hook 命令中自動設定為子程序啟動時生效的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level):`low`、`medium`、`high`、`xhigh` 或 `max`。與傳遞給 [hook](/docs/zh-TW/hooks) 的 `effort.level` 欄位相符。僅在目前模型支援 effort 參數時設定 |424| `CLAUDE_EFFORT` | 在 Bash 工具子程序與 hook 命令中自動設定為子程序啟動時生效的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level):`low`、`medium`、`high`、`xhigh` 或 `max`。與傳遞給 [hook](/docs/zh-TW/hooks) 的 `effort.level` 欄位相符。僅在目前模型支援 effort 參數時設定 |

432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 設定為 `1` 可強制啟用位元組層級串流閒置監視器,設定為 `0` 可強制停用。`0` 也會在執行[首位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs)的連線上關閉該期限。未設定時,此監視器預設會針對直接 Anthropic API 與 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 連線,以及透過 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 連到的[閘道](/docs/zh-TW/gateways)連線上的串流回應啟用;在 v2.1.222 之前,它不會在這些閘道連線上執行,因此即使 keep-alive ping 持續抵達,事件層級監視器仍可能在那裡回報停滯。關於逾時以及各計時器如何交互作用,請參閱[串流閒置監視器](/docs/zh-TW/network-config#streaming-idle-watchdogs) |425| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 設定為 `1` 可強制啟用位元組層級串流閒置監視器,設定為 `0` 可強制停用。`0` 也會在執行[首位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs)的連線上關閉該期限。未設定時,此監視器預設會針對直接 Anthropic API 與 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 連線,以及透過 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 連到的[閘道](/docs/zh-TW/gateways)連線上的串流回應啟用;在 v2.1.222 之前,它不會在這些閘道連線上執行,因此即使 keep-alive ping 持續抵達,事件層級監視器仍可能在那裡回報停滯。關於逾時以及各計時器如何交互作用,請參閱[串流閒置監視器](/docs/zh-TW/network-config#streaming-idle-watchdogs) |

433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | 設定為 `1` 可在 Amazon Bedrock `vnd.amazon.eventstream` 回應上啟用位元組層級串流閒置監視器,這也會在 Bedrock 串流請求上啟用[首位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs)。預設為關閉。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 設定逾時 |426| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | 設定為 `1` 可在 Amazon Bedrock `vnd.amazon.eventstream` 回應上啟用位元組層級串流閒置監視器,這也會在 Bedrock 串流請求上啟用[首位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs)。預設為關閉。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 設定逾時 |


465| `DO_NOT_TRACK` | 設定為 `1` 可選擇退出遙測,效果與 `DISABLE_TELEMETRY` 相同,包括對[功能旗標擷取](#features-that-need-feature-flag-fetching)的影響。Claude Code 將此變數讀取為標準布林值,因此 `0` 會保持遙測開啟,並將其視為許多開發者 CLI 所認可的跨工具慣例加以遵循 |458| `DO_NOT_TRACK` | 設定為 `1` 可選擇退出遙測,效果與 `DISABLE_TELEMETRY` 相同,包括對[功能旗標擷取](#features-that-need-feature-flag-fetching)的影響。Claude Code 將此變數讀取為標準布林值,因此 `0` 會保持遙測開啟,並將其視為許多開發者 CLI 所認可的跨工具慣例加以遵循 |

466| `ENABLE_BETA_TRACING_DETAILED` | 設定為 `1`,並將 `BETA_TRACING_ENDPOINT` 設定為您的 OTLP/HTTP 收集器端點,即可開啟[詳細 beta 追蹤](/docs/zh-TW/monitoring-usage#traces-beta),這會新增帶有內容的 span 屬性以及 `claude_code.hook` span。互動式 CLI 工作階段還需要您的組織已列入此 beta 的允許清單。兩個變數在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中都會被忽略 |459| `ENABLE_BETA_TRACING_DETAILED` | 設定為 `1`,並將 `BETA_TRACING_ENDPOINT` 設定為您的 OTLP/HTTP 收集器端點,即可開啟[詳細 beta 追蹤](/docs/zh-TW/monitoring-usage#traces-beta),這會新增帶有內容的 span 屬性以及 `claude_code.hook` span。互動式 CLI 工作階段還需要您的組織已列入此 beta 的允許清單。兩個變數在[專案與本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中都會被忽略 |

467| `ENABLE_CLAUDEAI_MCP_SERVERS` | 設定為 `false` 可讓 Claude Code 停止擷取 [claude.ai MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。對已登入的使用者預設為啟用。若要針對個別專案或組織停用,請改在設定中設定 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors) |460| `ENABLE_CLAUDEAI_MCP_SERVERS` | 設定為 `false` 可讓 Claude Code 停止擷取 [claude.ai MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。對已登入的使用者預設為啟用。若要針對個別專案或組織停用,請改在設定中設定 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors) |

468| `ENABLE_PROMPT_CACHING_1H` | 設定為 `1` 可請求 1 小時的[提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime),而非預設的 5 分鐘。適用於 API 金鑰、[Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 與 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 使用者。在包含用量範圍內的訂閱使用者會在[主要對話](/docs/zh-TW/prompt-caching#which-ttl-each-request-gets)上自動獲得 1 小時 TTL。使用[用量點數](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)的訂閱使用者可以設定此變數以保留 1 小時 TTL。1 小時快取寫入會以較高的費率計費。若要改為依請求類別選擇 TTL,請使用 `CLAUDE_CODE_PROMPT_CACHE_TTL` 與 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`,兩者優先於此變數 |461| `ENABLE_PROMPT_CACHING_1H` | 設為 `1` 以請求 1 小時的[提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime),而非預設的 5 分鐘。適用於 API 金鑰、[Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 與 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 使用者。對於在內含用量範圍內的訂閱使用者,Claude Code 會在[主要對話](/docs/zh-TW/prompt-caching#which-ttl-each-request-gets)上自動請求 1 小時 TTL。使用[用量點數](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)的訂閱使用者可設定此變數以保留 1 小時 TTL。1 小時快取寫入以較高費率計費。若要分別為主要對話與其以外的請求選擇 TTL,請使用 `CLAUDE_CODE_PROMPT_CACHE_TTL` 與 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`,它們優先於此變數 |

469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已棄用。請改用 `ENABLE_PROMPT_CACHING_1H` |462| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已棄用。請改用 `ENABLE_PROMPT_CACHING_1H` |

470| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)。未設定時,Claude Code 預設會延後載入所有 MCP 工具,而當 `ANTHROPIC_BASE_URL` 指向非第一方主機時則改為預先載入。`true` 會讓它們在這類主機上也保持延後載入。`auto` 會在工具定義可容納於上下文的 10% 以內時預先載入。`auto:N` 可設定自訂閾值,例如 `auto:5` 表示 5%。`false` 會預先載入所有工具。關於無論此值為何都會預先載入所有工具的模型和部署,請參閱[設定工具搜尋](/docs/zh-TW/mcp#configure-tool-search) |463| `ENABLE_TOOL_SEARCH` | 控制 [MCP Tool Search](/docs/zh-TW/mcp#scale-with-mcp-tool-search)。未設定或 `true` 時會延遲載入 MCP 工具,但[讓 tool search 保持關閉的情況](/docs/zh-TW/mcp#configure-tool-search)除外。`auto` 會在定義達到上下文視窗的 10% 時開啟 tool search。`auto:N` 設定自訂閾值,例如 `auto:5` 表示 5%。`false` 會預先載入所有工具。如果閘道拒絕 tool search,請參閱[透過 LLM 閘道使用 tool search](/docs/zh-TW/mcp#tool-search-through-a-gateway) |

471| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 設定為任何非空值(例如 `1`),可在未設定備援模型時,讓 Claude Code 對每個模型在重複發生過載錯誤時停止重試。**與大多數開關變數不同,設定為 `0` 或 `false` 仍會啟用此行為**;取消設定此變數即可恢復預設的重試行為。若未設定,當您使用 API 金鑰或[第三方提供者](/docs/zh-TW/third-party-integrations)而非 Claude 訂閱進行身分驗證時,Claude Code 只會對其識別為 Opus、Fable 或 Mythos 的模型以此方式停止重試。在 Claude Code v2.1.160 或更新版本中,Claude Code 會在任何主要模型重複發生過載錯誤時切換至您設定的[備援模型鏈](/docs/zh-TW/model-config#fallback-model-chains),因此此變數不會影響切換至備援模型 |

472| `FORCE_AUTOUPDATE_PLUGINS` | 設定為 `1` 可強制外掛自動更新,即使主要自動更新程式已透過 `DISABLE_AUTOUPDATER` 停用 |464| `FORCE_AUTOUPDATE_PLUGINS` | 設定為 `1` 可強制外掛自動更新,即使主要自動更新程式已透過 `DISABLE_AUTOUPDATER` 停用 |

473| `FORCE_HYPERLINK` | 當您的終端機支援可點擊的 OSC 8 超連結但未被自動偵測到時,設定為 `1` 可啟用它們,設定為 `0` 則可停用。未設定時,Claude Code 僅在偵測到終端機支援時啟用超連結。Claude Code 會將此值解析為數字而非布林值,因此 `false`、`no` 或 `off` 等值會啟用超連結而非停用。即使 Claude Code 無法偵測終端機支援(例如透過 SSH),頁尾的 [PR 或合併請求徽章](/docs/zh-TW/interactive-mode#pr-review-status)仍會顯示為超連結。設定 `0` 可將徽章顯示為純文字 |465| `FORCE_HYPERLINK` | 當您的終端機支援可點擊的 OSC 8 超連結但未被自動偵測到時,設定為 `1` 可啟用它們,設定為 `0` 則可停用。未設定時,Claude Code 僅在偵測到終端機支援時啟用超連結。Claude Code 會將此值解析為數字而非布林值,因此 `false`、`no` 或 `off` 等值會啟用超連結而非停用。即使 Claude Code 無法偵測終端機支援(例如透過 SSH),頁尾的 [PR 或合併請求徽章](/docs/zh-TW/interactive-mode#pr-review-status)仍會顯示為超連結。設定 `0` 可將徽章顯示為純文字 |

474| `FORCE_PROMPT_CACHING_5M` | 設定為 `1` 可強制使用 5 分鐘提示快取 TTL,即使原本會套用 1 小時 TTL。覆寫 `CLAUDE_CODE_PROMPT_CACHE_TTL`、`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`、`ENABLE_PROMPT_CACHING_1H`,以及 `promptCacheTtl` 與 `subagentPromptCacheTtl` 設定 |466| `FORCE_PROMPT_CACHING_5M` | 設定為 `1` 可強制使用 5 分鐘提示快取 TTL,即使原本會套用 1 小時 TTL。覆寫 `CLAUDE_CODE_PROMPT_CACHE_TTL`、`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`、`ENABLE_PROMPT_CACHING_1H`,以及 `promptCacheTtl` 與 `subagentPromptCacheTtl` 設定 |


572 564 

573關閉擷取時,您無法:565關閉擷取時,您無法:

574 566 

575* 執行 [`/auto-mode-setup`](/docs/zh-TW/auto-mode-config#generate-environment-entries) 來草擬 `autoMode.environment` 項目

576* 在設定了 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK` 的情況下使用 [Remote Control](/docs/zh-TW/remote-control)。關於 `DISABLE_TELEMETRY` 和 `DO_NOT_TRACK`,請參閱 [Remote Control 需求](/docs/zh-TW/remote-control#requirements)567* 在設定了 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK` 的情況下使用 [Remote Control](/docs/zh-TW/remote-control)。關於 `DISABLE_TELEMETRY` 和 `DO_NOT_TRACK`,請參閱 [Remote Control 需求](/docs/zh-TW/remote-control#requirements)

577* 在 [Remote Control](/docs/zh-TW/remote-control#requirements) 無法使用時,[傳送訊息給此機器以外的工作階段](/docs/zh-TW/cross-session-messaging#message-sessions-on-other-machines)。關閉擷取時,此機器上工作階段之間的訊息傳送仍可運作568* 在 [Remote Control](/docs/zh-TW/remote-control#requirements) 無法使用時,[傳送訊息給此機器以外的工作階段](/docs/zh-TW/cross-session-messaging#message-sessions-on-other-machines)。關閉擷取時,此機器上工作階段之間的訊息傳送仍可運作

578* 執行 [`claude import` 或 `/import` 命令](/docs/zh-TW/cli-reference#cli-commands)569* 執行 [`claude import` 或 `/import` 命令](/docs/zh-TW/cli-reference#cli-commands)

errors.md +289 −42

Details

83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [身分驗證](#oauth-token-revoked-or-expired) |83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [身分驗證](#oauth-token-revoked-or-expired) |

84| `API Error: 401 Invalid authentication credentials` | [身分驗證](#api-error-401-invalid-authentication-credentials) |84| `API Error: 401 Invalid authentication credentials` | [身分驗證](#api-error-401-invalid-authentication-credentials) |

85| `Login expired · Please run /login` | [身分驗證](#login-expired) |85| `Login expired · Please run /login` | [身分驗證](#login-expired) |

86| `The browser can't return the sign-in to Claude Code automatically` | [身分驗證](#couldnt-start-the-local-sign-in-listener) |

87| `Couldn't start the local listener that receives the browser sign-in. Try again.` | [身分驗證](#couldnt-start-the-local-sign-in-listener) |

86| `Failed to start OAuth callback server` | [身分驗證](#failed-to-start-oauth-callback-server) |88| `Failed to start OAuth callback server` | [身分驗證](#failed-to-start-oauth-callback-server) |

87| `Claude login not accepted · Run /login, then try again` | [身分驗證](#claude-login-not-accepted) |89| `Claude login not accepted · Run /login, then try again` | [身分驗證](#claude-login-not-accepted) |

88| `Artifacts need a claude.ai login` | [身分驗證](#artifacts-need-a-claude-ai-login) |90| `Artifacts need a claude.ai login` | [身分驗證](#artifacts-need-a-claude-ai-login) |


100| `claude.ai rejected the session token` / `session token rejected` | [身分驗證](#claude-ai-rejected-the-session-token) |102| `claude.ai rejected the session token` / `session token rejected` | [身分驗證](#claude-ai-rejected-the-session-token) |

101| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |103| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |

102| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |104| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |

105| `(check the helper, then start a new task or chat)` / `(update it, then start a new task or chat)` | [身分驗證](#mcp-credential-rejected-in-cowork) |

103| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |106| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |

104| `MCP server "<name>" requires re-authorization (token expired)` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |107| `MCP server "<name>" requires re-authorization (token expired)` | [身分驗證](#mcp-server-needs-you-to-sign-in-again) |

105| `This server's URL is missing or not a valid URL, so sign-in can't start` | [身分驗證](#mcp-server-url-is-missing-or-not-a-valid-url) |108| `This server's URL is missing or not a valid URL, so sign-in can't start` | [身分驗證](#mcp-server-url-is-missing-or-not-a-valid-url) |


200| `Installation was killed before it could finish (exit code 137)` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#installation-was-killed-before-it-could-finish) |203| `Installation was killed before it could finish (exit code 137)` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#installation-was-killed-before-it-could-finish) |

201| `The connection dropped while downloading the update` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |204| `The connection dropped while downloading the update` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

202| `Download timed out: exceeded the total deadline` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |205| `Download timed out: exceeded the total deadline` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

206| `Release verification failed for Claude Code <version> (<reason>). The update was not installed.` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#release-verification-failed) |

207| `Auto-update failed · Run claude doctor` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#auto-update-failed) |

203| `--bg and --print conflict` | [命令列錯誤](#conflict-between-bg-and-print) |208| `--bg and --print conflict` | [命令列錯誤](#conflict-between-bg-and-print) |

204| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [命令列錯誤](#couldnt-tell-whether-bg-is-a-flag-or-text) |209| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [命令列錯誤](#couldnt-tell-whether-bg-is-a-flag-or-text) |

205| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [命令列錯誤](#conflict-between-a-system-prompt-flag-and-its-file-form) |210| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [命令列錯誤](#conflict-between-a-system-prompt-flag-and-its-file-form) |


270| `Custom output styles can't be selected over Remote Control or from a relayed message` | [命令列錯誤](#custom-output-styles-cant-be-selected-over-remote-control) |275| `Custom output styles can't be selected over Remote Control or from a relayed message` | [命令列錯誤](#custom-output-styles-cant-be-selected-over-remote-control) |

271| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [命令列錯誤](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |276| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [命令列錯誤](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

272| `/recap only runs when you ask for it yourself in this session` | [命令列錯誤](#recap-only-runs-when-you-ask-for-it-yourself) |277| `/recap only runs when you ask for it yourself in this session` | [命令列錯誤](#recap-only-runs-when-you-ask-for-it-yourself) |

278| `/feedback is disabled by your organization's policy`,或 `/bug` 或 `/share` 的相同訊息 | [命令列錯誤](#feedback-is-disabled-by-your-organizations-policy) |

273| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [外掛錯誤](#plugin-eval-is-currently-in-early-access) |279| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [外掛錯誤](#plugin-eval-is-currently-in-early-access) |

274| `cannot be evaluated where sessions load it` | [使用 evals 測試外掛](/docs/zh-TW/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |280| `cannot be evaluated where sessions load it` | [使用 evals 測試外掛](/docs/zh-TW/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |

275| `Marketplace "<name>" is registered from an untrusted source` | [外掛錯誤](#marketplace-is-registered-from-an-untrusted-source) |281| `Marketplace "<name>" is registered from an untrusted source` | [外掛錯誤](#marketplace-is-registered-from-an-untrusted-source) |


289| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [外掛疑難排解](/docs/zh-TW/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |295| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [外掛疑難排解](/docs/zh-TW/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

290| `does not load (...), so Claude Code ignores the whole file` | [外掛疑難排解](/docs/zh-TW/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |296| `does not load (...), so Claude Code ignores the whole file` | [外掛疑難排解](/docs/zh-TW/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

291| `path escapes plugin directory` | [外掛錯誤](#path-escapes-plugin-directory) |297| `path escapes plugin directory` | [外掛錯誤](#path-escapes-plugin-directory) |

298| `Plugin not loaded: its manifest <path> was not read` | [外掛錯誤](#plugin-not-loaded-its-manifest-was-not-read) |

292| `path could not be checked` | [外掛錯誤](#path-could-not-be-checked) |299| `path could not be checked` | [外掛錯誤](#path-could-not-be-checked) |

293| `its marketplace entry path does not stay inside the marketplace directory` | [外掛錯誤](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |300| `its marketplace entry path does not stay inside the marketplace directory` | [外掛錯誤](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |

294| `Plugin source path refused` | [外掛錯誤](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |301| `Plugin source path refused` | [外掛錯誤](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


304| `File is covered by a Read deny rule in your permission settings` | [工具錯誤](#file-is-covered-by-a-read-deny-rule) |311| `File is covered by a Read deny rule in your permission settings` | [工具錯誤](#file-is-covered-by-a-read-deny-rule) |

305| `cannot contain null bytes (\0)` | [工具錯誤](#path-cannot-contain-null-bytes) |312| `cannot contain null bytes (\0)` | [工具錯誤](#path-cannot-contain-null-bytes) |

306| `Path contains null bytes` | [工具錯誤](#path-cannot-contain-null-bytes) |313| `Path contains null bytes` | [工具錯誤](#path-cannot-contain-null-bytes) |

314| `File is too large to read as an image (the limit is 128MB)` | [工具錯誤](#file-is-too-large-to-read-as-an-image) |

315| `Cannot read this as an image: <path> is a pipe or a device` | [工具錯誤](#file-is-too-large-to-read-as-an-image) |

307| `subagent_type is required: the general-purpose agent is not available in this session` | [工具錯誤](#subagent-type-is-required) |316| `subagent_type is required: the general-purpose agent is not available in this session` | [工具錯誤](#subagent-type-is-required) |

308| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [工具錯誤](#memory-index-is-over-its-read-limit) |317| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [工具錯誤](#memory-index-is-over-its-read-limit) |

309| `pkill: refusing to run` | [工具錯誤](#pkill-pattern-matches-the-claude-code-process) |318| `pkill: refusing to run` | [工具錯誤](#pkill-pattern-matches-the-claude-code-process) |

310| `Failed to write to <name>'s inbox — nothing was sent` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |319| `Failed to write to <name>'s inbox — nothing was sent` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |

311| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |320| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |

312| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [工具錯誤](#teammate-agent-definition-not-restored) |321| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [工具錯誤](#teammate-agent-definition-not-restored) |

322| `Only a teammate can approve a shutdown request` | [工具錯誤](#only-a-teammate-can-approve-a-shutdown-request) |

313| `Message too large for cross-session delivery` | [工具錯誤](#message-too-large-for-cross-session-delivery) |323| `Message too large for cross-session delivery` | [工具錯誤](#message-too-large-for-cross-session-delivery) |

314| `Too many messages to this session just now` | [工具錯誤](#too-many-messages-to-this-session-just-now) |324| `Too many messages to this session just now` | [工具錯誤](#too-many-messages-to-this-session-just-now) |

315| `Cross-session message was dropped at the recipient session's inbox` | [工具錯誤](#cross-session-message-dropped-at-the-inbox) |325| `Cross-session message was dropped at the recipient session's inbox` | [工具錯誤](#cross-session-message-dropped-at-the-inbox) |


325| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |335| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |

326| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |336| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |

327| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |337| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |

338| `The command was not started: this computer's disk is full (ENOSPC)` / `(EDQUOT)` | [工具錯誤](#disk-quota-or-temp-filesystem-is-full) |

328| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [工具錯誤](#file-is-not-valid-utf-8) |339| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [工具錯誤](#file-is-not-valid-utf-8) |

329| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |340| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |

330| `the source file has the replacement character U+FFFD` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |341| `the source file has the replacement character U+FFFD` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |

331| `Not published: that file is on a network share` | [工具錯誤](#not-published-that-file-is-on-a-network-share) |342| `Not published: that file is on a network share` | [工具錯誤](#not-published-that-file-is-on-a-network-share) |

343| `Not published: Claude sent the same content again after a newer version of the artifact turned it away` / `Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away` | [工具錯誤](#not-published-a-newer-version-of-the-artifact-turned-it-away) |

332| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [工具錯誤](#reading-a-local-file-from-outside-the-connected-folders) |344| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [工具錯誤](#reading-a-local-file-from-outside-the-connected-folders) |

333| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [工具錯誤](#reading-a-local-file-from-outside-the-connected-folders) |345| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [工具錯誤](#reading-a-local-file-from-outside-the-connected-folders) |

334| `WebFetch cannot fetch localhost or other hostnames without a dot` | [工具錯誤](#webfetch-cannot-fetch-localhost) |346| `WebFetch cannot fetch localhost or other hostnames without a dot` | [工具錯誤](#webfetch-cannot-fetch-localhost) |


345| `Can't open — this session is running in another terminal` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |357| `Can't open — this session is running in another terminal` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |

346| `This conversation is already open in another running Claude session` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |358| `This conversation is already open in another running Claude session` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |

347| `This session's saved conversation is no longer on disk` | [背景工作階段錯誤](#this-sessions-saved-conversation-is-no-longer-on-disk) |359| `This session's saved conversation is no longer on disk` | [背景工作階段錯誤](#this-sessions-saved-conversation-is-no-longer-on-disk) |

348| `Bypass permissions was requested at launch and ignored` | [使用 bypassPermissions 模式略過所有檢查](/docs/zh-TW/permission-modes#bypass-permissions-acceptance) |360| `Bypass permissions was requested at launch and ignored` | [在背景工作階段中 Bypass permissions 遭到忽略](/docs/zh-TW/permission-modes#bypass-permissions-ignored-in-a-background-session) |

349| `kept <id> — its worktree is still at <path>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |361| `kept <id> — its worktree is still at <path>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |

350| `kept <id> — <n> unpushed commits on <branch>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |362| `kept <id> — <n> unpushed commits on <branch>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |

351| `kept <id> — worktree has commits that are not pushed anywhere` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |363| `kept <id> — worktree has commits that are not pushed anywhere` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |


354| `Session <id> was stopped while the respawn was in flight` | [背景工作階段錯誤](#session-was-stopped-while-the-respawn-was-in-flight) |366| `Session <id> was stopped while the respawn was in flight` | [背景工作階段錯誤](#session-was-stopped-while-the-respawn-was-in-flight) |

355| `This session was running agent '<name>', which is no longer available` | [背景工作階段錯誤](#session-agent-no-longer-available) |367| `This session was running agent '<name>', which is no longer available` | [背景工作階段錯誤](#session-agent-no-longer-available) |

356| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [背景工作階段錯誤](#restarted-after-its-next-loop-wakeup-was-due) |368| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [背景工作階段錯誤](#restarted-after-its-next-loop-wakeup-was-due) |

369| `No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder` | [背景工作階段錯誤](#no-llm-gateway-opened-from-another-folder) |

370| `No LLM gateway: opened from another folder · respawn from <folder>` | [背景工作階段錯誤](#no-llm-gateway-opened-from-another-folder) |

357| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [背景工作階段錯誤](#claude_code_process_wrapper-launcher-errors) |371| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [背景工作階段錯誤](#claude_code_process_wrapper-launcher-errors) |

358| `EUNKNOWN: unknown error, uv_spawn` | [背景工作階段錯誤](#eunknown-when-starting-a-background-session) |372| `EUNKNOWN: unknown error, uv_spawn` | [背景工作階段錯誤](#eunknown-when-starting-a-background-session) |

359| `EACCES: permission denied, posix_spawn` | [背景工作階段錯誤](#eacces-when-starting-a-background-session) |373| `EACCES: permission denied, posix_spawn` | [背景工作階段錯誤](#eacces-when-starting-a-background-session) |


394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [設定警告](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |408| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [設定警告](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |

395| `headersHelper not run — this workspace has no persisted trust` | [設定警告](#headershelper-not-run) |409| `headersHelper not run — this workspace has no persisted trust` | [設定警告](#headershelper-not-run) |

396| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [設定警告](#malformed-tool-content-rule) |410| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [設定警告](#malformed-tool-content-rule) |

411| `matches no tool · check for typos` / `matches no known tool — check for typos` | [設定警告](#matches-no-tool) |

397| `... is not matched by file permission checks` | [設定警告](#is-not-matched-by-file-permission-checks) |412| `... is not matched by file permission checks` | [設定警告](#is-not-matched-by-file-permission-checks) |

413| `Write(<path>) never matches · use Edit(<path>)` / `Glob(<path>) never matches · use Read(<path>)` | [設定警告](#is-not-matched-by-file-permission-checks) |

398| `... has a wildcard before the rest of the command` | [設定警告](#has-a-wildcard-before-the-rest-of-the-command) |414| `... has a wildcard before the rest of the command` | [設定警告](#has-a-wildcard-before-the-rest-of-the-command) |

415| `allows any option at its * · use an exact value` | [設定警告](#has-a-wildcard-before-the-rest-of-the-command) |

399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [設定警告](#denying-bash-also-turns-off-the-powershell-tool) |416| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [設定警告](#denying-bash-also-turns-off-the-powershell-tool) |

400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [設定警告](#the-200k-limit-isnt-enforced) |417| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [設定警告](#the-200k-limit-isnt-enforced) |

418| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" reads as <N> tokens, so Claude Code treats it as the 100k minimum` | [`CLAUDE_CODE_AUTO_COMPACT_WINDOW` 的值與警告](/docs/zh-TW/model-config#claude_code_auto_compact_window-values) |

419| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" is too large, so Claude Code treats it as the 1M maximum` | [`CLAUDE_CODE_AUTO_COMPACT_WINDOW` 的值與警告](/docs/zh-TW/model-config#claude_code_auto_compact_window-values) |

420| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [`CLAUDE_CODE_AUTO_COMPACT_WINDOW` 的值與警告](/docs/zh-TW/model-config#claude_code_auto_compact_window-values) |

401| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [修正閘道或自訂模型 ID 的上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |421| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [修正閘道或自訂模型 ID 的上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [修正閘道或自訂模型 ID 的上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |422| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [修正閘道或自訂模型 ID 的上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

403| `[claude-code:unrecognized_model]` | [設定警告](#unrecognized-model-id-on-a-request) |423| `[claude-code:unrecognized_model]` | [設定警告](#unrecognized-model-id-on-a-request) |


462| [`CLAUDE_CODE_MAX_RETRIES`](/docs/zh-TW/env-vars) | 10 | 重試嘗試次數。從 v2.1.186 開始上限為 15;從 v2.1.199 開始 `CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。降低它以在指令碼中更快地顯示故障。 |482| [`CLAUDE_CODE_MAX_RETRIES`](/docs/zh-TW/env-vars) | 10 | 重試嘗試次數。從 v2.1.186 開始上限為 15;從 v2.1.199 開始 `CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。降低它以在指令碼中更快地顯示故障。 |

463| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-TW/env-vars) | 未設定 | 在無人值守的工作階段(例如 CI 工作)中設定為 `1`,以無限期重試 `429` 和 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 次嘗試後失敗。當標準速度的請求收到報告支出限制或用量點數耗盡的 `429` 時,Claude Code 會立即失敗,即使該 `429` 來自按排程重設的 [gateway spend cap](#spend-limit-reached)。在 v2.1.239 之前,看門狗會無限期重試這些錯誤。如需快速模式請求,請參閱 [Handle rate limits](/docs/zh-TW/fast-mode#handle-rate-limits)。在 v2.1.199 或更新版本上,它也會將其他暫時性錯誤(例如伺服器錯誤、逾時和連線中斷)的預設重試次數提高至 300,大約三小時的退避,並在您明確設定 `CLAUDE_CODE_MAX_RETRIES` 時移除其上限 15。 |483| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-TW/env-vars) | 未設定 | 在無人值守的工作階段(例如 CI 工作)中設定為 `1`,以無限期重試 `429` 和 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 次嘗試後失敗。當標準速度的請求收到報告支出限制或用量點數耗盡的 `429` 時,Claude Code 會立即失敗,即使該 `429` 來自按排程重設的 [gateway spend cap](#spend-limit-reached)。在 v2.1.239 之前,看門狗會無限期重試這些錯誤。如需快速模式請求,請參閱 [Handle rate limits](/docs/zh-TW/fast-mode#handle-rate-limits)。在 v2.1.199 或更新版本上,它也會將其他暫時性錯誤(例如伺服器錯誤、逾時和連線中斷)的預設重試次數提高至 300,大約三小時的退避,並在您明確設定 `CLAUDE_CODE_MAX_RETRIES` 時移除其上限 15。 |

464| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/zh-TW/env-vars) | 未設定 | 設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,每個 API 請求等待 `429` 和 `529` 錯誤所花費的最長時間(毫秒)。未設定時,等待時間沒有限制。需要 Claude Code v2.1.295 或更新版本。 |484| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/zh-TW/env-vars) | 未設定 | 設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,每個 API 請求等待 `429` 和 `529` 錯誤所花費的最長時間(毫秒)。未設定時,等待時間沒有限制。需要 Claude Code v2.1.295 或更新版本。 |

485| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](/docs/zh-TW/env-vars) | 未設定 | 設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,在請求等待[用量上限](#youve-hit-your-session-limit)重設期間,檢查該上限是否已解除的最短間隔(毫秒)。當檢查發現上限已解除時,請求會立即送出。請提供 `60000` 到 `10800000` 之間的純數字。未設定或超出該範圍時,不會進行任何檢查。關於 Claude Code 何時略過這些檢查,請參閱[環境變數參考](/docs/zh-TW/env-vars)。需要 Claude Code v2.1.305 或更新版本。 |

465| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/zh-TW/env-vars) | 500 | API 以 `529` 過載錯誤拒絕的請求,其重試之間退避的起始延遲(毫秒)。當 API 容量已滿時,可提高此值(最高 32000),以將重試分散在較長的時間範圍內。當 `CLAUDE_CODE_RETRY_WATCHDOG` 設定為 `1`,或被拒絕的請求是以[快速模式](/docs/zh-TW/fast-mode#handle-rate-limits)發送時,此設定無效。需要 Claude Code v2.1.292 或更新版本。 |486| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/zh-TW/env-vars) | 500 | API 以 `529` 過載錯誤拒絕的請求,其重試之間退避的起始延遲(毫秒)。當 API 容量已滿時,可提高此值(最高 32000),以將重試分散在較長的時間範圍內。當 `CLAUDE_CODE_RETRY_WATCHDOG` 設定為 `1`,或被拒絕的請求是以[快速模式](/docs/zh-TW/fast-mode#handle-rate-limits)發送時,此設定無效。需要 Claude Code v2.1.292 或更新版本。 |

466| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/zh-TW/env-vars) | 32000 | API 以 `529` 過載錯誤拒絕的請求,其重試之間退避的上限(毫秒)。當 API 容量已滿時,可提高此值(最高 64000),讓後續的重試間隔持續拉長。當 `CLAUDE_CODE_RETRY_WATCHDOG` 設定為 `1`,或被拒絕的請求是以[快速模式](/docs/zh-TW/fast-mode#handle-rate-limits)發送時,此設定無效。需要 Claude Code v2.1.296 或更新版本。 |487| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/zh-TW/env-vars) | 32000 | API 以 `529` 過載錯誤拒絕的請求,其重試之間退避的上限(毫秒)。當 API 容量已滿時,可提高此值(最高 64000),讓後續的重試間隔持續拉長。當 `CLAUDE_CODE_RETRY_WATCHDOG` 設定為 `1`,或被拒絕的請求是以[快速模式](/docs/zh-TW/fast-mode#handle-rate-limits)發送時,此設定無效。需要 Claude Code v2.1.296 或更新版本。 |

467| [`API_TIMEOUT_MS`](/docs/zh-TW/env-vars) | 600000 | 每次請求嘗試接收其回應標頭的可用時間(毫秒)。它不會限制串流回應在此之後持續執行的時間。在慢速網路或代理伺服器上請提高此值。關於它如何限制首位元組截止時間,請參閱 [No response from API](#no-response-from-api)。 |488| [`API_TIMEOUT_MS`](/docs/zh-TW/env-vars) | 600000 | 每次請求嘗試接收其回應標頭的可用時間(毫秒)。它不會限制串流回應在此之後持續執行的時間。在慢速網路或代理伺服器上請提高此值。關於它如何限制首位元組截止時間,請參閱 [No response from API](#no-response-from-api)。 |


490 511 

491* 檢查 [status.claude.com](https://status.claude.com) 或訊息中指明的提供者狀態頁面,查看是否有活躍的事件512* 檢查 [status.claude.com](https://status.claude.com) 或訊息中指明的提供者狀態頁面,查看是否有活躍的事件

492* 等待一分鐘,然後再次傳送您的訊息。您的原始訊息仍在對話中,因此對於較長的提示詞,您可以輸入 `try again` 而不是貼上整個內容。513* 等待一分鐘,然後再次傳送您的訊息。您的原始訊息仍在對話中,因此對於較長的提示詞,您可以輸入 `try again` 而不是貼上整個內容。

514* 如果 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 [LLM 閘道](/docs/zh-TW/llm-gateway),且每個請求都以此方式失敗,請檢查您的閘道是否拒絕了 Claude Code 預設傳送的工具搜尋欄位。若要檢查,請依照[透過 LLM 閘道使用工具搜尋](/docs/zh-TW/mcp#tool-search-through-a-gateway)中的說明設定 `ENABLE_TOOL_SEARCH=false`,然後再試一次。在 v2.1.304 之前,除非您使用 `ENABLE_TOOL_SEARCH` 將其開啟,否則在閘道後方工具搜尋是關閉的。

493* 如果錯誤持續存在且沒有發佈的事件,請執行 `/feedback`,以便 Anthropic 可以使用您的請求詳細資訊進行調查。如果您的環境中無法使用 `/feedback`,請參閱[報告錯誤](#report-an-error)。515* 如果錯誤持續存在且沒有發佈的事件,請執行 `/feedback`,以便 Anthropic 可以使用您的請求詳細資訊進行調查。如果您的環境中無法使用 `/feedback`,請參閱[報告錯誤](#report-an-error)。

494 516 

495### API Error: Repeated 529 Overloaded errors517### API Error: Repeated 529 Overloaded errors


520Request timed out542Request timed out

521```543```

522 544 

523預設請求逾時為 10 分鐘。545預設請求逾時為 10 分鐘。如果您將 [`API_TIMEOUT_MS`](/docs/zh-TW/env-vars) 設定為 `0`,此請求逾時會關閉。設定 `0` 時,[第一個位元組的截止時間](#no-response-from-api)和正文閒置逾時不會關閉,因此串流請求仍會受到[適用於您連線的那些限制](/docs/zh-TW/network-config#streaming-idle-watchdogs)約束。非串流嘗試在本機工作階段中會保留其 300 秒的限制,仍可能以此訊息結束。

524 546 

525**該怎麼做:**547**該怎麼做:**

526 548 

549* 如果每個請求都以此訊息失敗,且您將 `API_TIMEOUT_MS` 設定為 `0`,請檢查 `claude --version`。若版本早於 v2.1.305,請更新 Claude Code 或設定正值。

527* 重試請求550* 重試請求

528* 如果緩慢的網路或代理伺服器是原因,請按照[自動重試](#automatic-retries)中的說明提高 `API_TIMEOUT_MS`551* 如果緩慢的網路或代理伺服器是原因,請按照[自動重試](#automatic-retries)中的說明提高 `API_TIMEOUT_MS`

529* 如果逾時頻繁且您的網路在其他方面狀況良好,請參閱下面的[網路和連線錯誤](#network-and-connection-errors)552* 如果逾時頻繁且您的網路在其他方面狀況良好,請參閱下面的[網路和連線錯誤](#network-and-connection-errors)


541* **第一次嘗試**:當您將其設定為 1 或更多時,[`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/zh-TW/env-vars),限制在 10 秒到 30 分鐘之間。否則 Claude Code 會使用[串流空閒監視程式](/docs/zh-TW/network-config#streaming-idle-watchdogs)中列出的位元組級監視程式逾時,因此改變該逾時的變數也會改變此等待。無論哪種方式,Claude Code 都會為請求正文的每 32KB 添加一秒。564* **第一次嘗試**:當您將其設定為 1 或更多時,[`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/zh-TW/env-vars),限制在 10 秒到 30 分鐘之間。否則 Claude Code 會使用[串流空閒監視程式](/docs/zh-TW/network-config#streaming-idle-watchdogs)中列出的位元組級監視程式逾時,因此改變該逾時的變數也會改變此等待。無論哪種方式,Claude Code 都會為請求正文的每 32KB 添加一秒。

542* **重試**:比 `API_TIMEOUT_MS` 少一秒,預設略低於 10 分鐘,以便重試可以超過保持回應直到生成完成的代理伺服器或閘道。在 Amazon Bedrock 上,重試使用與第一次嘗試相同的截止時間,訊息顯示一個持續時間而不是兩個。565* **重試**:比 `API_TIMEOUT_MS` 少一秒,預設略低於 10 分鐘,以便重試可以超過保持回應直到生成完成的代理伺服器或閘道。在 Amazon Bedrock 上,重試使用與第一次嘗試相同的截止時間,訊息顯示一個持續時間而不是兩個。

543 566 

567 除 Amazon Bedrock 外,如果您將 `API_TIMEOUT_MS` 設定為 `0`,重試會等待 10 分鐘加上每 32KB 一秒,若第一次嘗試的等待時間更長,則等待與第一次嘗試相同的時間。

568 

544兩個等待都不超過正 `API_TIMEOUT_MS` 少一秒,正 `API_TIMEOUT_MS` 在 11 秒以下會關閉截止時間。位元組級監視程式僅在回應標頭到達後才開始,因此在此之後停止傳送位元組的回應遵循[停滯串流規則](#automatic-retries)而不是此截止時間。569兩個等待都不超過正 `API_TIMEOUT_MS` 少一秒,正 `API_TIMEOUT_MS` 在 11 秒以下會關閉截止時間。位元組級監視程式僅在回應標頭到達後才開始,因此在此之後停止傳送位元組的回應遵循[停滯串流規則](#automatic-retries)而不是此截止時間。

545 570 

546**該怎麼做:**571**該怎麼做:**


845* 執行 `/status` 並確認作用中的憑證是您預期的憑證。環境中殘留的 `ANTHROPIC_API_KEY` 可能會透過低階金鑰而不是您的訂閱路由請求。870* 執行 `/status` 並確認作用中的憑證是您預期的憑證。環境中殘留的 `ANTHROPIC_API_KEY` 可能會透過低階金鑰而不是您的訂閱路由請求。

846* 檢查您的提供者主控台以了解作用中的限制,並在需要時請求更高的層級871* 檢查您的提供者主控台以了解作用中的限制,並在需要時請求更高的層級

847* 對於 Anthropic API 金鑰,請參閱[速率限制參考](https://platform.claude.com/docs/en/api/rate-limits)以了解層級如何運作以及如何設定每個工作區的上限872* 對於 Anthropic API 金鑰,請參閱[速率限制參考](https://platform.claude.com/docs/en/api/rate-limits)以了解層級如何運作以及如何設定每個工作區的上限

848* 降低並行性:降低 [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/zh-TW/env-vars)、避免執行許多平行 subagent,或使用 `/model` 切換到較小的模型以進行高容量指令碼執行873* 降低並行性:避免執行許多平行 subagent,或使用 `/model` 切換到較小的模型以進行高容量指令碼執行

849 874 

850### You've hit your monthly spend limit875### You've hit your monthly spend limit

851 876 


1267* 如果 `/status` 只顯示您的登入,請執行一次 `/login`。如果憑證已被撤銷,新的登入會取代它。1292* 如果 `/status` 只顯示您的登入,請執行一次 `/login`。如果憑證已被撤銷,新的登入會取代它。

1268* 如果相同的登入帳戶再次出現相同訊息,表示該帳戶或組織已不再有效。請檢查 `/status` 所回報的帳戶與組織,並請您的組織管理員恢復存取權。1293* 如果相同的登入帳戶再次出現相同訊息,表示該帳戶或組織已不再有效。請檢查 `/status` 所回報的帳戶與組織,並請您的組織管理員恢復存取權。

1269* 如果 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 [LLM 閘道](/docs/zh-TW/llm-gateway),`401` 之後的文字是您閘道的訊息而非 Anthropic 的訊息,`/login` 無法改變它。請改為修正您閘道所預期的憑證。1294* 如果 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 [LLM 閘道](/docs/zh-TW/llm-gateway),`401` 之後的文字是您閘道的訊息而非 Anthropic 的訊息,`/login` 無法改變它。請改為修正您閘道所預期的憑證。

1295* 如果在閘道已取得所需憑證後每個請求仍以 `401` 失敗,請檢查閘道是否拒絕了 Claude Code 預設傳送的工具搜尋欄位。若要檢查,請依照[透過 LLM 閘道進行工具搜尋](/docs/zh-TW/mcp#tool-search-through-a-gateway)的說明設定 `ENABLE_TOOL_SEARCH=false`,然後再試一次。在 v2.1.304 之前,除非您以 `ENABLE_TOOL_SEARCH` 開啟,否則在閘道後方時工具搜尋是關閉的。

1270 1296 

1271### 登入已過期1297### 登入已過期

1272 1298 


1338* 在其他平台上,再次執行 `/login`1364* 在其他平台上,再次執行 `/login`

1339* 如果登入仍無法儲存,請參閱[未登入或 token 已過期](/docs/zh-TW/troubleshoot-install#not-logged-in-or-token-expired),了解鑰匙圈解鎖命令及其他憑證儲存復原步驟1365* 如果登入仍無法儲存,請參閱[未登入或 token 已過期](/docs/zh-TW/troubleshoot-install#not-logged-in-or-token-expired),了解鑰匙圈解鎖命令及其他憑證儲存復原步驟

1340 1366 

1341### 無法啟動 OAuth 回呼伺服器1367### Couldn't start the local listener that receives the browser sign-in

1342 1368 

1343當 `/login`、`claude auth login` 或 `claude setup-token` 透過瀏覽器為您登入時,Claude Code 會在 `127.0.0.1` 上開啟一個監聽埠,讓您的瀏覽器能將登入結果傳回給它。此訊息表示 Claude Code 無法開啟該埠,登入會在瀏覽器視窗或登入 URL 出現之前停止:1369來自 `/login`、`claude auth login` 或 `claude setup-token` 的這些訊息,都表示 Claude Code 無法開啟 `127.0.0.1` 上讓瀏覽器傳回登入結果的連接埠。

1344 1370 

1345```text theme={null}1371若出現以 `The browser can't return the sign-in to Claude Code automatically` 開頭的通知,登入會在不使用該連接埠的情況下繼續進行。不會開啟瀏覽器,而通知會顯示在一個 URL 上方,請改從該 URL 登入:

1346Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1372 

1373```text wrap theme={null}

1374The browser can't return the sign-in to Claude Code automatically. After you sign in, paste the code shown.

1347```1375```

1348 1376 

1349如果您的訊息以 `Is port 0 in use?` 結尾,表示在 IPv4 回送位址 `127.0.0.1` 上監聽的嘗試直接失敗了。由於失敗發生在登入 URL 產生之前,`Paste code here if prompted` 流程無法作為替代方案。1377若出現包含 `Couldn't start the local listener` 的訊息,表示登入已停止。例如,當您將輸入以管線傳入 `claude auth login` 時就會發生這種情況:

1378 

1379```text theme={null}

1380Couldn't start the local listener that receives the browser sign-in. Try again.

1381```

1350 1382 

1351**處理方式:**1383**處理方式:**

1352 1384 

1353* 若要在不使用本機監聽器的情況下立即登入:如果您使用 claude.ai 訂閱,請在可以正常登入的機器上執行 [`claude setup-token`](/docs/zh-TW/authentication#generate-a-long-lived-token),並在這台機器上將其輸出的 token 設定為 `CLAUDE_CODE_OAUTH_TOKEN`。否則,請將 `ANTHROPIC_API_KEY` 設定為來自 [Claude Console](https://platform.claude.com/settings/keys) 的金鑰。[身分驗證優先順序](/docs/zh-TW/authentication#authentication-precedence)說明了 Claude Code 如何在多個憑證之間做選擇。1385* **`The browser can't return the sign-in to Claude Code automatically`**:您不需要先修正任何東西。在瀏覽器中開啟通知下方顯示的 URL 並登入。瀏覽器接著會顯示一組代碼:在 `Paste code here >` 提示字元處將其貼到 Claude Code 中,登入就會從那裡繼續。

1354* 若要改為在這台機器上使用瀏覽器登入,Claude Code 必須能夠在 `127.0.0.1` 上監聽。如果它在沙箱中執行,請確認沙箱的政策允許在本機埠上監聽,然後再次執行 `/login`。如果它理應可以監聽卻仍然失敗,請執行 `/feedback`,讓回報中包含您的環境詳細資訊。1386* **`Couldn't start the local listener that receives the browser sign-in`**:再次執行相同的命令。如果仍以相同方式停止,請改用 token 或 API 金鑰登入,而非透過瀏覽器。或者,如果您是以管線將輸入傳入 `claude auth login`,請在終端機中執行它,使其可以接受貼上的代碼。

1387* **改用 token 或 API 金鑰登入,而非透過瀏覽器**:如果您使用 claude.ai 訂閱,請在可以正常登入的機器上執行 [`claude setup-token`](/docs/zh-TW/authentication#generate-a-long-lived-token),然後在這台機器上將它輸出的 token 設定為 [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/zh-TW/env-vars) 環境變數。否則,請將 `ANTHROPIC_API_KEY` 環境變數設定為來自 [Claude Console](https://platform.claude.com/settings/keys) 的金鑰。[身分驗證優先順序](/docs/zh-TW/authentication#authentication-precedence)說明了 Claude Code 如何在多個憑證之間做選擇。

1388* **恢復自動的瀏覽器回傳**:Claude Code 必須能夠在 `127.0.0.1` 上監聽。如果它在沙箱中執行,請確認沙箱的政策允許監聽本機連接埠,然後重新登入。如果在該環境中監聽應可正常運作而通知仍然出現,請執行 `/feedback`,讓回報內容包含您的環境詳細資訊。

1389 

1390在 v2.1.305 之前,一旦無法開啟連接埠,登入就會立即停止,且不會顯示可供登入的 URL。訊息內容例如 `Failed to start OAuth callback server: Failed to start server. Is port 0 in use?`。在這些版本中,請更新 Claude Code 並重新登入,或改用 token 或 API 金鑰登入,而非透過瀏覽器。

1355 1391 

1356### 不接受 Claude 登入1392### 不接受 Claude 登入

1357 1393 


1513 1549 

1514在設定該伺服器的位置更新標頭值,然後從 `/mcp` 重新連線。1550在設定該伺服器的位置更新標頭值,然後從 `/mcp` 重新連線。

1515 1551 

1516在 v2.1.273 之前,登入過期、`headersHelper` 與 `Authorization` 標頭這幾種情況都會顯示 `MCP server "<name>" requires re-authorization (token expired)`。1552在您電腦上 Claude Desktop 應用程式中的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段裡,這些訊息表示 MCP 伺服器拒絕了提供給它的憑證。請修正訊息所指出的那一項,然後在 Cowork 中開始新的任務或聊天:

1553 

1554```text theme={null}

1555MCP server "<name>" rejected the credential from its headersHelper (check the helper, then start a new task or chat)

1556MCP server "<name>" rejected the Authorization header in its config (update it, then start a new task or chat)

1557```

1558 

1559* **`headersHelper` 憑證遭拒絕**:確認 helper 傳回的是伺服器可接受的憑證,然後在 Cowork 中開始新的任務或聊天

1560* **`Authorization` 標頭遭拒絕**:更新該伺服器設定中 `headers` 底下的 `Authorization` 值,然後在 Cowork 中開始新的任務或聊天

1561 

1562在 v2.1.302 之前,Cowork 工作階段會改為顯示 `run /mcp to reconnect` 結尾,儘管那裡無法使用 `/mcp`。如果您在 Cowork 中看到此類結尾,仍請檢查 helper 或更新標頭,然後開始新的任務或聊天。在 v2.1.273 之前,登入過期、`headersHelper` 和 `Authorization` 標頭的情況都會顯示 `MCP server "<name>" requires re-authorization (token expired)`。

1517 1563 

1518伺服器也可能以 HTTP 403 `insufficient_scope` 拒絕工具呼叫,要求您授權某個範圍,有時是您的 token 已列出的範圍。訊息會指出該範圍:1564伺服器也可能以 HTTP 403 `insufficient_scope` 拒絕工具呼叫,要求您授權某個範圍,有時是您的 token 已列出的範圍。訊息會指出該範圍:

1519 1565 


1812* 透過從同一個 shell 執行 `curl -I https://api.anthropic.com` 來確認您可以到達 API 主機。在 Windows PowerShell 上使用 `curl.exe -I https://api.anthropic.com`,以便不使用內建的 `Invoke-WebRequest` 別名。1858* 透過從同一個 shell 執行 `curl -I https://api.anthropic.com` 來確認您可以到達 API 主機。在 Windows PowerShell 上使用 `curl.exe -I https://api.anthropic.com`,以便不使用內建的 `Invoke-WebRequest` 別名。

1813* 如果您在公司代理伺服器後面,在啟動 Claude Code 之前設定 `HTTPS_PROXY` 並查看[網路設定](/docs/zh-TW/network-config)1859* 如果您在公司代理伺服器後面,在啟動 Claude Code 之前設定 `HTTPS_PROXY` 並查看[網路設定](/docs/zh-TW/network-config)

1814* 如果您透過 LLM 閘道或中繼路由,將 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 設定為其位址。請參閱[將 Claude Code 連線到 LLM 閘道](/docs/zh-TW/llm-gateway-connect)以進行設定。1860* 如果您透過 LLM 閘道或中繼路由,將 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 設定為其位址。請參閱[將 Claude Code 連線到 LLM 閘道](/docs/zh-TW/llm-gateway-connect)以進行設定。

1861* 如果 `ANTHROPIC_BASE_URL` 已指向您的閘道,且每個請求都以 `Connection dropped` 結束,請檢查您的閘道是否拒絕 Claude Code 預設傳送的工具搜尋欄位。若要檢查,請依照[透過 LLM 閘道進行工具搜尋](/docs/zh-TW/mcp#tool-search-through-a-gateway)所述設定 `ENABLE_TOOL_SEARCH=false`,然後再試一次。在 v2.1.304 之前,在閘道後面工具搜尋為關閉狀態,除非您使用 `ENABLE_TOOL_SEARCH` 將其開啟。

1815* 確保您的防火牆允許[網路存取要求](/docs/zh-TW/network-config#network-access-requirements)中列出的主機1862* 確保您的防火牆允許[網路存取要求](/docs/zh-TW/network-config#network-access-requirements)中列出的主機

1816* 間歇性故障會[自動重試](#automatic-retries);持續故障指向本機網路問題1863* 間歇性故障會[自動重試](#automatic-retries)

1817 1864 

1818如果 `curl` 成功但 Claude Code 仍然失敗,原因通常是執行時和網路之間的某些東西,而不是網路本身:1865如果 `curl` 成功但 Claude Code 仍然失敗,原因通常是執行時和網路之間的某些東西,而不是網路本身:

1819 1866 


2166* 修剪大型 `CLAUDE.md` 記憶檔案,或將指示移至[路徑範圍規則](/docs/zh-TW/memory#path-specific-rules),這些規則僅在相關時載入2213* 修剪大型 `CLAUDE.md` 記憶檔案,或將指示移至[路徑範圍規則](/docs/zh-TW/memory#path-specific-rules),這些規則僅在相關時載入

2167* 自動壓縮預設為開啟,通常可防止此錯誤。如果您在 `/config` 中或使用 [`DISABLE_AUTO_COMPACT`](/docs/zh-TW/env-vars) 關閉了它,請將其重新開啟。如果您保持關閉,請在視窗填滿之前自己執行 `/compact`。2214* 自動壓縮預設為開啟,通常可防止此錯誤。如果您在 `/config` 中或使用 [`DISABLE_AUTO_COMPACT`](/docs/zh-TW/env-vars) 關閉了它,請將其重新開啟。如果您保持關閉,請在視窗填滿之前自己執行 `/compact`。

2168* 若錯誤在接受更多 token 的模型上於接近 200K token 時出現,原因之一是 Claude Code 無法辨識的模型 ID。Claude Code 會為這類 ID 假設 200K 的視窗,因此若要在超過該點後繼續工作,請[提供模型的實際上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。2215* 若錯誤在接受更多 token 的模型上於接近 200K token 時出現,原因之一是 Claude Code 無法辨識的模型 ID。Claude Code 會為這類 ID 假設 200K 的視窗,因此若要在超過該點後繼續工作,請[提供模型的實際上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。

2216* 如果錯誤是在您於 Claude 壓縮對話期間停止它之後立即出現,您的對話並未變更,且仍大到需要壓縮。請執行 `/compact` 並再次送出您的訊息。若要避免此錯誤再次發生,請將 Claude Code [更新](/docs/zh-TW/setup#update-claude-code)至 v2.1.304 或更新版本。在 v2.1.304 之前,在那個時間點停止可能會使該回合以此錯誤結束。

2169 2217 

2170請參閱[探索上下文視窗](/docs/zh-TW/context-window)以獲得上下文如何填滿的互動式檢視。2218請參閱[探索上下文視窗](/docs/zh-TW/context-window)以獲得上下文如何填滿的互動式檢視。

2171 2219 


2298 2346 

2299### Extra inputs are not permitted2347### Extra inputs are not permitted

2300 2348 

2301Claude Code 和 API 之間的代理伺服器或 LLM 閘道去除了 `anthropic-beta` 請求標頭,因此 API 拒絕了依賴它的欄位。2349接收請求的端點將請求中的某個欄位視為其不接受的輸入而拒絕,且端點的訊息會指出該欄位。

2302 2350 

2303```text theme={null}2351```text theme={null}

2304API Error: 400 ... Extra inputs are not permitted ... context_management2352API Error: 400 ... context_management: Extra inputs are not permitted

2305```2353```

2306 2354 

2307Claude Code 會發送測試版專用欄位(例如 `context_management`),並附上啟用它們的 `anthropic-beta` 標頭。當閘道轉發本文但刪除標頭時,API 會看到它無法識別的欄位。2355Claude Code 會傳送僅限 beta 的欄位,例如 `context_management` 和工具搜尋的 `defer_loading`,並一同傳送啟用它們的 `anthropic-beta` 標頭。當閘道轉送主體但捨棄了標頭時,API 會看到它無法辨識的欄位。當閘道將 Anthropic 格式的主體轉送至具有不同 schema 的上游時,該上游會拒絕這類欄位。[Beta 標頭與主體欄位配對](/docs/zh-TW/llm-gateway-protocol#beta-header-and-body-field-pairs)涵蓋了這兩種情況。

2308 2356 

2309**該怎麼辦:**2357**該怎麼辦:**

2310 2358 

2311* 設定您的閘道以轉發 `anthropic-beta` 標頭。請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through)以了解閘道必須轉發的內容。2359* 如果訊息包含 `context_management: Extra inputs are not permitted`,請[更新 Claude Code](/docs/zh-TW/setup#update-claude-code) 至 v2.1.304 或更新版本。更新後,Claude Code 會在遇到此拒絕時,不帶該欄位再傳送一次請求。在 v2.1.304 之前,Claude Code 不會針對此拒絕進行重試。

2360* 如果訊息提到 `defer_loading` 或 `tool_reference`,請更新 Claude Code 或關閉[工具搜尋](/docs/zh-TW/mcp#tool-search-through-a-gateway):

2361 * [更新 Claude Code](/docs/zh-TW/setup#update-claude-code) 至 v2.1.305 或更新版本。接著 Claude Code 會在遇到此拒絕時,不帶工具搜尋欄位再傳送一次請求。

2362 * 如果您無法更新,或更新後訊息仍然出現,請在您的 shell 或[設定 `env`](/docs/zh-TW/settings-reference#env) 中設定 `ENABLE_TOOL_SEARCH=false`。如果某個設定檔已設定此變數,請在該處變更,因為該值[可能會覆寫 shell 匯出](/docs/zh-TW/settings-reference#how-env-values-interact-with-your-shell)。接著 Claude Code 會預先載入 MCP 工具。

2363* 如果您的閘道捨棄了標頭,請將其設定為轉送 `anthropic-beta` 標頭。如需閘道必須轉送的內容,請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through)。

2312* 作為備援,在啟動前設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/zh-TW/env-vars)。[禁用預發行功能](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities)涵蓋確切範圍。2364* 作為備援,在啟動前設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/zh-TW/env-vars)。[禁用預發行功能](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities)涵蓋確切範圍。

2313 2365 

2366在 v2.1.302 之前,即使不涉及閘道,此錯誤也可能列出欄位 `diagnostics`。當已使用 Anthropic API 的工作階段在未重新啟動的情況下移至 Amazon Bedrock 或 Google Cloud's Agent Platform 時,就會出現此錯誤。例如,當您在另一個 Claude Code 視窗中執行 [`/setup-bedrock`](/docs/zh-TW/commands) 時,您保持開啟的工作階段會移至 Bedrock。在這些版本中,請在該工作階段中執行 `/clear` 或重新啟動它。

2367 

2314### 工具輸入 schema 無效2368### 工具輸入 schema 無效

2315 2369 

2316請求中的工具聲明了 `input_schema`,該 schema 未通過 API 的 JSON Schema 驗證,因此 API 拒絕了整個請求。`tools.` 後面的數字是失敗工具在請求的工具列表中的位置,而不是您可以查找的名稱。2370請求中的工具聲明了 `input_schema`,該 schema 未通過 API 的 JSON Schema 驗證,因此 API 拒絕了整個請求。`tools.` 後面的數字是失敗工具在請求的工具列表中的位置,而不是您可以查找的名稱。


2384* 使用別名(例如 `sonnet` 或 `opus`)而不是完整的版本化 ID。別名解析為維護的預設值,因此它們不會過時。請參閱[模型設定](/docs/zh-TW/model-config)。2438* 使用別名(例如 `sonnet` 或 `opus`)而不是完整的版本化 ID。別名解析為維護的預設值,因此它們不會過時。請參閱[模型設定](/docs/zh-TW/model-config)。

2385* 如果錯誤的模型在 CLI 中不斷出現,則某處設定了過時的 ID。按[優先順序](/docs/zh-TW/model-config#setting-your-model)檢查您可以設定模型的位置,並移除過時的值。2439* 如果錯誤的模型在 CLI 中不斷出現,則某處設定了過時的 ID。按[優先順序](/docs/zh-TW/model-config#setting-your-model)檢查您可以設定模型的位置,並移除過時的值。

2386* Claude Code 將過期的 claude.ai 登入報告為 [Login expired](#login-expired),而不是此錯誤。在 v2.1.206 之前,無法再刷新的過期登入對每個模型都失敗,並出現此錯誤;如果您在較舊版本上看到此錯誤,請執行 `/login`。2440* Claude Code 將過期的 claude.ai 登入報告為 [Login expired](#login-expired),而不是此錯誤。在 v2.1.206 之前,無法再刷新的過期登入對每個模型都失敗,並出現此錯誤;如果您在較舊版本上看到此錯誤,請執行 `/login`。

2441* 如果 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 [LLM 閘道](/docs/zh-TW/llm-gateway),且每個模型都以此方式失敗,請檢查您的閘道是否拒絕了 Claude Code 預設送出的工具搜尋欄位。若要檢查,請依[透過 LLM 閘道使用工具搜尋](/docs/zh-TW/mcp#tool-search-through-a-gateway)的說明設定 `ENABLE_TOOL_SEARCH=false`,然後再試一次。在 v2.1.304 之前,在閘道後方時工具搜尋預設為關閉,除非您使用 `ENABLE_TOOL_SEARCH` 開啟它。

2387* 對於 Google Cloud 的 Agent Platform 部署,請參閱 [Google Cloud 的 Agent Platform 疑難排解](/docs/zh-TW/google-vertex-ai#troubleshooting)。2442* 對於 Google Cloud 的 Agent Platform 部署,請參閱 [Google Cloud 的 Agent Platform 疑難排解](/docs/zh-TW/google-vertex-ai#troubleshooting)。

2388 2443 

2389### Model is not a recognized model id2444### Model is not a recognized model id


2590其他訊息也會報告相同狀況:2645其他訊息也會報告相同狀況:

2591 2646 

2592* 在互動式工作階段中,通知讀取 `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`。2647* 在互動式工作階段中,通知讀取 `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`。

2593* 使用 `--advisor` 旗標啟動時,警告讀取 `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.`,而工作階段仍會啟動。2648* 當您在[非互動模式](/docs/zh-TW/headless)中以 `--advisor` 旗標啟動,且該執行不是[背景工作階段](/docs/zh-TW/agent-view)時,警告會輸出至 stderr,而執行仍會開始。警告內容為 `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.`。互動式工作階段只會將該警告寫入[偵錯日誌](#configuration-warnings)。

2594 2649 

2595**該怎麼辦:**2650**該怎麼辦:**

2596 2651 


3361 3416 

3362以下同類字串會在命令執行之前就觸發:3417以下同類字串會在命令執行之前就觸發:

3363 3418 

3364* `Shell command permission check failed for pattern "..."`:該命令的權限檢查未允許它。[注入命令的權限檢查](/docs/zh-TW/skills#permission-checks-on-injected-commands)說明了在各權限模式下哪些結果會中止,以及如何以 `allowed-tools` 預先核准命令3419* `Shell command permission check failed for pattern "..."`:該命令的權限檢查不允許它執行。[注入命令的權限檢查](/docs/zh-TW/skills#permission-checks-on-injected-commands)說明了在每種權限模式下哪些結果會中止,以及如何使用 `allowed-tools` 預先核准命令

3365* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:該 skill 的 frontmatter 要求在沒有 bash 的機器上使用 bash。請安裝 Git for Windows,或將 frontmatter 改為 `shell: powershell`。請參閱[注入命令的執行方式](/docs/zh-TW/skills#how-injected-commands-run)3420* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:該 skill 的 frontmatter 要求在沒有 bash 的機器上使用 bash。請安裝 Git for Windows,或將 frontmatter 改為 `shell: powershell`。請參閱[注入命令的執行方式](/docs/zh-TW/skills#how-injected-commands-run)

3366* `No shell command in <name> was run`:該檔案的某個 `!` 命令包含了 tab 或換行以外的原始控制字元,因此這些命令都不會執行。請參閱[如何找出並移除該字元](#no-shell-command-was-run)3421* `No shell command in <name> was run`:該檔案的其中一個 `!` 命令包含 tab 或換行以外的原始控制字元,因此這些命令都不會執行。請參閱[如何找出並移除該字元](#no-shell-command-was-run)

3367 3422 

3368**處理方式:**3423**處理方式:**

3369 3424 


3464Claude Code 會建議選單在此工作階段中列出的最接近的命令名稱或別名。當沒有相近的名稱時,訊息會在名稱之後結束。原因通常是以下其中之一:3519Claude Code 會建議選單在此工作階段中列出的最接近的命令名稱或別名。當沒有相近的名稱時,訊息會在名稱之後結束。原因通常是以下其中之一:

3465 3520 

3466* 打字錯誤,例如將 `/help` 打成 `/hepl`。[命令選單如何比對您輸入的內容](/docs/zh-TW/commands#how-the-command-menu-matches-what-you-type)說明了如何在提交前挑選相近的符合項目3521* 打字錯誤,例如將 `/help` 打成 `/hepl`。[命令選單如何比對您輸入的內容](/docs/zh-TW/commands#how-the-command-menu-matches-what-you-type)說明了如何在提交前挑選相近的符合項目

3467* 命令存在,但因為某項需求未滿足(例如您的平台、方案或身分驗證方式)而在此工作階段中無法使用。[`/web-setup`](/docs/zh-TW/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) 與 [`/schedule`](/docs/zh-TW/routines#schedule-returns-unknown-command) 的疑難排解項目說明了兩種常見情況。有些命令在被您組織的政策停用時,會以它們自己的訊息回應,例如 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3522* 命令存在,但由於未滿足某項要求(例如您的平台、方案或身分驗證方式),在此工作階段中無法使用。請參閱 [`/web-setup`](/docs/zh-TW/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command)、[`/schedule`](/docs/zh-TW/routines#schedule-returns-unknown-command) 或 [`/auto-mode-setup`](/docs/zh-TW/auto-mode-config#auto-mode-setup-returns-unknown-command) 的相關項目。某些命令在您組織的政策停用它們時,會以自己的訊息回應,例如 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

3468* 來自[外掛](/docs/zh-TW/plugins/overview)或 [MCP 伺服器](/docs/zh-TW/mcp#use-mcp-prompts-as-commands)的命令,但該外掛或伺服器在此工作階段中未安裝或未連線3523* 來自[外掛](/docs/zh-TW/plugins/overview)或 [MCP 伺服器](/docs/zh-TW/mcp#use-mcp-prompts-as-commands)的命令,但該外掛或伺服器在此工作階段中未安裝或未連線

3469 3524 

3470只有在互動式終端機工作階段中,Claude Code 才會以這種方式回應不相符的 `/` 名稱。在其他所有工作階段中,它會改將提示詞作為一般訊息傳送給 Claude,並附上一則說明該命令未執行的備註,以及 Claude 在該工作階段中可執行的命令清單。這些工作階段包括:3525只有在互動式終端機工作階段中,Claude Code 才會以這種方式回應不相符的 `/` 名稱。在其他所有工作階段中,它會改將提示詞作為一般訊息傳送給 Claude,並附上一則說明該命令未執行的備註,以及 Claude 在該工作階段中可執行的命令清單。這些工作階段包括:


3513 3568 

3514* **您沒有傳入基底分支**:Claude Code 與儲存庫的預設分支進行比較,並建議您明確傳入基底分支,如上例所示3569* **您沒有傳入基底分支**:Claude Code 與儲存庫的預設分支進行比較,並建議您明確傳入基底分支,如上例所示

3515* **您傳入的基底分支已存在於您的複製中**:提示內容為 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3570* **您傳入的基底分支已存在於您的複製中**:提示內容為 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3516* **您傳入的基準分支不在您的 clone 中**:Claude Code 在比較之前從 origin fetch 了它。提示為 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``;當 Claude Code 無法判斷您的 clone 是否為淺層 clone 時,它會改為建議 `git fetch --unshallow origin`。在 v2.1.221 之前,對於每個被 fetch 的基準分支,提示都會建議 `git fetch --unshallow origin`,而在完整的 clone 上,該命令會以 `fatal: --unshallow on a complete repository does not make sense` 失敗。3571* **您傳入的基礎分支不在您的 clone 中**:Claude Code 在比較之前已從 origin 擷取該分支。提示為 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``;當 Claude Code 無法判斷您的 clone 是否為淺層 clone 時,它會改為建議 `git fetch --unshallow origin`。在 v2.1.221 之前,對於每個擷取的基礎分支,提示都會建議 `git fetch --unshallow origin`,而在完整的 clone 上,該命令會以 `fatal: --unshallow on a complete repository does not make sense` 失敗。

3517 3572 

3518**處理方式:**3573**處理方式:**

3519 3574 


3856* 親自開啟該工作階段並在其中執行 `/recap`:在其終端機中、在 [Desktop 應用程式](/docs/zh-TW/desktop)或[行動應用程式](/docs/zh-TW/mobile)中、在 [claude.ai/code](https://claude.ai/code),或透過 [Remote Control](/docs/zh-TW/remote-control)3911* 親自開啟該工作階段並在其中執行 `/recap`:在其終端機中、在 [Desktop 應用程式](/docs/zh-TW/desktop)或[行動應用程式](/docs/zh-TW/mobile)中、在 [claude.ai/code](https://claude.ai/code),或透過 [Remote Control](/docs/zh-TW/remote-control)

3857* 如果是雲端排程任務或其他程式傳送的,請從該提示詞中移除 `/recap`3912* 如果是雲端排程任務或其他程式傳送的,請從該提示詞中移除 `/recap`

3858 3913 

3914### /feedback is disabled by your organization's policy

3915 

3916此訊息表示您組織的政策不允許從 Claude Code 提供產品意見回饋,因此 `/feedback`、`/bug` 與 `/share` 不會開啟意見回饋對話框。訊息會指出您在 Claude Code 提示字元輸入的命令:

3917 

3918```text wrap theme={null}

3919/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

3920```

3921 

3922訊息也可能只有第一句。

3923 

3924**處理方式:**

3925 

3926* 若要回報錯誤,請在 [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) 建立 issue。任何人都可以閱讀該處的 issue,因此請勿包含程式碼、逐字稿及任何其他機密內容。

3927 

3928在 v2.1.302 之前,完整訊息為 `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`

3929 

3859## Plugin 錯誤3930## Plugin 錯誤

3860 3931 

3861這些錯誤來自 [plugin](/docs/zh-TW/plugins/overview) 和 [marketplace](/docs/zh-TW/plugins/overview) 設定。對於不會產生此頁面上其中一則訊息的 plugin 問題,例如無法載入的 marketplace URL 或已安裝但未出現的 plugin,請參閱 [Plugin 疑難排解](/docs/zh-TW/plugins/troubleshooting)。3932這些錯誤來自 [plugin](/docs/zh-TW/plugins/overview) 和 [marketplace](/docs/zh-TW/plugins/overview) 設定。對於不會產生此頁面上其中一則訊息的 plugin 問題,例如無法載入的 marketplace URL 或已安裝但未出現的 plugin,請參閱 [Plugin 疑難排解](/docs/zh-TW/plugins/troubleshooting)。


4001 4072 

4002### 路徑逃逸 plugin 目錄4073### 路徑逃逸 plugin 目錄

4003 4074 

4004Plugin 元件路徑(在 plugin 的 `plugin.json` 或其 [marketplace 項目](/docs/zh-TW/plugins/marketplace-reference#plugin-entries) 中宣告)解析到 plugin 自己的目錄之外。Claude Code 捨棄該路徑並載入 plugin 的其餘部分。訊息中的元件名稱(例如 `commands` 或 `hooks`)命名了宣告路徑的欄位。4075Plugin 的其中一個元件路徑導向 plugin 目錄之外,或無法確認其位於 plugin 目錄內,因此 Claude Code 捨棄該路徑並載入 plugin 的其餘部分。對於 plugin 在 `plugin.json` 或其 [marketplace 項目](/docs/zh-TW/plugins/marketplace-reference#plugin-entries) 中宣告的路徑,訊息中的元件名稱(例如 `commands` 或 `hooks`)命名了宣告該路徑的欄位。

4005 4076 

4006```text theme={null}4077```text theme={null}

4007commands path escapes plugin directory: ./../shared.md4078commands path escapes plugin directory: ./../shared.md


4015commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4086commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4016```4087```

4017 4088 

4089如果訊息提供了 marketplace plugin 自身檔案之一(例如 `hooks/hooks.json`)的完整路徑,表示 Claude Code 略過了該檔案。當 Claude Code 無法確認該檔案位於 plugin 內,或者對於 [本機 marketplace](/docs/zh-TW/plugins/loading#in-place-and-copied-plugins) 中的 plugin,無法確認該檔案位於該 marketplace 內時,就會發生這種情況。訊息會以下列所示的元件名稱回報這些檔案:

4090 

4091* `hooks/hooks.json`:`hooks`

4092* `monitors/monitors.json`:`monitors`

4093* `settings.json`:`settings`

4094* plugin 根目錄的 `SKILL.md`:`skills`

4095 

4096例如,以下訊息針對的是解析到 plugin 及其本機 marketplace 兩者之外的 `hooks/hooks.json`:

4097 

4098```text theme={null}

4099hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory

4100```

4101 

4018在 macOS 和 Linux 上,Claude Code 也拒絕任何位置包含反斜線的元件路徑,即使路徑保持在 plugin 內。使用 Windows 風格分隔符的元件路徑的 plugin 在 Windows 上載入並在其他平台上觸發此拒絕:4102在 macOS 和 Linux 上,Claude Code 也拒絕任何位置包含反斜線的元件路徑,即使路徑保持在 plugin 內。使用 Windows 風格分隔符的元件路徑的 plugin 在 Windows 上載入並在其他平台上觸發此拒絕:

4019 4103 

4020```text theme={null}4104```text theme={null}


4023 4107 

4024在 v2.1.251 之前,Claude Code 載入在 marketplace 項目中宣告的 `commands` 路徑,即使它指向 plugin 目錄外。4108在 v2.1.251 之前,Claude Code 載入在 marketplace 項目中宣告的 `commands` 路徑,即使它指向 plugin 目錄外。

4025 4109 

4026在 v2.1.257 之前,檢查只查看路徑的拼寫,而不是符號連結導向的位置。4110在 v2.1.257 之前,對 plugin 宣告之路徑的檢查只查看路徑的拼寫,而不是符號連結導向的位置。

4027 4111 

4028**該怎麼做:**4112**該怎麼做:**

4029 4113 

4030* 將參考的檔案移到 plugin 目錄內,並使用 `./` 相對路徑指向它4114* 如果您安裝了該 plugin 但並未維護它,請將訊息回報給其作者

4031* 如果路徑是指向 plugin 外部檔案的符號連結,請用檔案副本替換符號連結4115* 對於 plugin 宣告的路徑,將參考的檔案移到 plugin 目錄內,並使用 `./` 相對路徑指向它

4032* 如果訊息說路徑包含反斜線,請使用正斜線寫入路徑,例如 `./commands/deploy.md`4116* 如果該路徑,或 plugin 內位於其上層的資料夾,是導向 plugin 外部的符號連結,請用其所指向內容的副本替換該符號連結

4117* 如果訊息說 plugin 宣告的路徑包含反斜線,請使用正斜線寫入路徑,例如 `./commands/deploy.md`

4118* 如果訊息以 `EACCES` 結尾,請恢復您在通往該路徑所指檔案或資料夾的每個目錄上的執行權限。檢查該路徑上方的目錄,然後追蹤您遇到的每個符號連結,並檢查通往其指向位置的目錄。對於任何其他錯誤代碼,請在 [無法檢查之路徑的原因與步驟](#path-could-not-be-checked) 中查詢。

4033* 若要與同一 marketplace 中的其他 plugin 共享檔案,請使用 plugin 目錄內的符號連結連結它們,遵循 [符號連結規則](/docs/zh-TW/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)4119* 若要與同一 marketplace 中的其他 plugin 共享檔案,請使用 plugin 目錄內的符號連結連結它們,遵循 [符號連結規則](/docs/zh-TW/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)

4034 4120 

4121### Plugin 未載入:未讀取其 manifest

4122 

4123Claude Code 無法確認 marketplace plugin 位於 `.claude-plugin/plugin.json` 的 [manifest](/docs/zh-TW/plugins/manifest-reference) 在 plugin 內,因此不會從該 plugin 載入任何內容。對於 [本機 marketplace](/docs/zh-TW/plugins/loading#in-place-and-copied-plugins) 中的 plugin,Claude Code 也無法確認該 manifest 位於該 marketplace 內。此訊息會出現在 `/plugin` **錯誤** 標籤中,而訊息結尾的原因說明了 Claude Code 發現的情況。

4124 

4125例如,以下訊息針對的是本機 marketplace 中的 plugin,其 `.claude-plugin` 資料夾是導向 marketplace 外部的符號連結:

4126 

4127```text theme={null}

4128Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory

4129```

4130 

4131**該怎麼做:**

4132 

4133* 如果原因以 `EACCES` 結尾,請恢復您在通往 manifest 的每個目錄上的執行權限。檢查 manifest 上方的目錄,然後追蹤您遇到的每個符號連結,並檢查通往其指向位置的目錄。對於任何其他錯誤代碼,請在 [無法檢查之路徑的原因與步驟](#path-could-not-be-checked) 中查詢。

4134* 如果您維護該 plugin,且原因說明了 manifest 解析到的位置,表示 `.claude-plugin` 資料夾或 `plugin.json` 本身是導向該處的符號連結。請用其所指向內容的副本替換該連結。

4135* 如果您安裝了該 plugin 但並未維護它,請將訊息回報給其作者

4136 

4035### 無法檢查路徑4137### 無法檢查路徑

4036 4138 

4037Claude Code 詢問作業系統 plugin 路徑是否存在,並收到除「找不到」以外的錯誤,因此它不會載入路徑命名的內容。plugin 的多少部分載入取決於哪個路徑失敗:4139Claude Code 詢問作業系統 plugin 路徑是否存在,並收到除「找不到」以外的錯誤,因此它不會載入路徑命名的內容。plugin 的多少部分載入取決於哪個路徑失敗:


4226 4328 

4227在 v2.1.281 之前,Read、Write、Edit 或 NotebookEdit 路徑中的 null 位元組會以指出 `Path contains null bytes` 的錯誤結束整個回合,且工具從未執行。4329在 v2.1.281 之前,Read、Write、Edit 或 NotebookEdit 路徑中的 null 位元組會以指出 `Path contains null bytes` 的錯誤結束整個回合,且工具從未執行。

4228 4330 

4331### File is too large to read as an image

4332 

4333Claude 嘗試使用 [Read 工具](/docs/zh-TW/tools-reference#read-tool-behavior) 將檔案作為圖片讀取,而該檔案大於 128 MB,也就是 Read 從圖片檔案載入的上限。沒有讀取任何內容,Claude 會收到此錯誤作為工具結果:

4334 

4335```text wrap theme={null}

4336File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.

4337```

4338 

4339當路徑是管道或裝置而非一般檔案時,Read 會在收到超過 128 MB 後停止,並改為傳回此錯誤:

4340 

4341```text wrap theme={null}

4342Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.

4343```

4344 

4345**處理方式:**

4346 

4347* 如果 Claude 依照 `File is too large` 訊息,接著調整了圖片大小或讀取了較小的副本,則無需任何動作

4348* 如果 Claude 在錯誤處停止,請自行匯出小於 128 MB 的副本(例如使用較低的解析度),然後讓 Claude 改讀該檔案

4349* 如果路徑是管道或裝置,請改為讓 Claude 讀取一般的圖片檔案

4350 

4229### subagent\_type is required4351### subagent\_type is required

4230 4352 

4231```text theme={null}4353```text theme={null}


4316* 在 [除錯日誌](/docs/zh-TW/debug-your-config) 指出的資料夾中執行 `claude`,並接受信任對話框。下次 Claude Code 恢復該隊員時,便會重新套用定義;您不需要重新啟動組長工作階段4438* 在 [除錯日誌](/docs/zh-TW/debug-your-config) 指出的資料夾中執行 `claude`,並接受信任對話框。下次 Claude Code 恢復該隊員時,便會重新套用定義;您不需要重新啟動組長工作階段

4317* 或者,在 `~/.claude.json` 中將 `hasTrustDialogAccepted` 項目設為 `true`,並使用除錯日誌印出的確切 `projects["<path>"]` 鍵4439* 或者,在 `~/.claude.json` 中將 `hasTrustDialogAccepted` 項目設為 `true`,並使用除錯日誌印出的確切 `projects["<path>"]` 鍵

4318 4440 

4441### Only a teammate can approve a shutdown request

4442 

4443Claude Code 拒絕了一項 [agent team](/docs/zh-TW/agent-teams) 關閉核准,因為傳送它的工作階段並非以隊員身分執行。沒有傳送任何內容,也沒有任何項目被關閉。拒絕訊息會出現在傳送端工作階段的工具結果中:

4444 

4445```text wrap theme={null}

4446Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.

4447```

4448 

4449**處理方式:**

4450 

4451* 如果拒絕訊息出現在您的組長工作階段中,請先檢查該隊員是否已在此後關閉。拒絕會連同改為傳送 `shutdown_request` 的指示傳回給 Claude,回合則會繼續進行。在互動式組長工作階段中,當隊員核准關閉請求時,會出現 `<name> has shut down.`。

4452* 如果該隊員仍在執行,請在組長的提示詞輸入框中要求組長關閉該隊員,例如 `Ask the researcher teammate to shut down`。請參閱 [關閉隊員](/docs/zh-TW/agent-teams#shut-down-teammates)。

4453* 如果是您自己以 `claude --resume` 恢復的前隊員收到此拒絕,則沒有傳送任何內容。若要結束該工作階段,請在其提示詞輸入框中執行 `/exit`。

4454 

4319### Message too large for cross-session delivery4455### Message too large for cross-session delivery

4320 4456 

4321Claude 傳送給您在此機器上另一個工作階段的 [跨工作階段訊息](/docs/zh-TW/cross-session-messaging) 過長,無法傳送。Claude Code 拒絕了它,接收端工作階段沒有收到任何內容。拒絕訊息會出現在傳送端工作階段的工具結果中,而不是以橫幅形式出現在您的終端機中。它會指出兩個大小以及如何讓訊息符合限制:4457Claude 傳送給您在此機器上另一個工作階段的 [跨工作階段訊息](/docs/zh-TW/cross-session-messaging) 過長,無法傳送。Claude Code 拒絕了它,接收端工作階段沒有收到任何內容。拒絕訊息會出現在傳送端工作階段的工具結果中,而不是以橫幅形式出現在您的終端機中。它會指出兩個大小以及如何讓訊息符合限制:


4449 4585 

4450### Disk quota or temp filesystem is full4586### Disk quota or temp filesystem is full

4451 4587 

4452Claude Code 會將每個 Bash 和 PowerShell 命令的輸出儲存到其暫存目錄下的檔案中。當命令以非零代碼結束且完全沒有輸出時,Claude Code 會檢查存放該檔案的檔案系統是否已用盡空間或 inode,或您在其上的磁碟配額是否已用完。若是如此,命令的結果中會以診斷訊息取代空白輸出:4588Claude Code 會將每個 Bash 和 PowerShell 命令的輸出儲存到其暫存目錄下的檔案中。命令結果中出現這些訊息,表示存放該目錄的檔案系統,或您在其上的磁碟配額已滿。

4589 

4590如果 Claude Code 因為檔案系統或您在其上的配額已滿而無法建立該檔案,您的命令就不會啟動,結果內容如下:

4591 

4592```text wrap theme={null}

4593The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran. If this is the user's own computer, tell them before deleting anything to make room.

4594```

4595 

4596當命令以非零代碼結束且完全沒有輸出時,Claude Code 會檢查存放輸出檔案的檔案系統。如果該檔案系統已用盡空間或 inode,或您在其上的磁碟配額已用完,命令的結果中會以診斷訊息取代空白輸出:

4453 4597 

4454```text wrap theme={null}4598```text wrap theme={null}

4455Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.4599Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.


4460* `Your disk quota is full ... (EDQUOT)`:您自己在該檔案系統上的配額已用完。即使檔案系統仍顯示有可用空間,配額也可能已滿4604* `Your disk quota is full ... (EDQUOT)`:您自己在該檔案系統上的配額已用完。即使檔案系統仍顯示有可用空間,配額也可能已滿

4461* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`:檔案系統或您在其上的配額已沒有剩餘空間4605* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`:檔案系統或您在其上的配額已沒有剩餘空間

4462* `Command output was lost: the temp filesystem at ... is full` 或 `... is out of inodes`:檔案系統幾乎沒有剩餘的可用空間,或 inode 即將用盡4606* `Command output was lost: the temp filesystem at ... is full` 或 `... is out of inodes`:檔案系統幾乎沒有剩餘的可用空間,或 inode 即將用盡

4607* `The command was not started: this computer's disk is full (ENOSPC)` 或 `... (EDQUOT)`:檔案系統已沒有空間可建立輸出檔案,或在 `EDQUOT` 的情況下,您自己在其上的配額已用完

4463 4608 

4464**處理方式:**4609**處理方式:**

4465 4610 

4466* 刪除存放 Claude Code 暫存目錄之檔案系統上不再需要的檔案。對於 `EDQUOT`,請刪除計入您自己配額的檔案。對於 `out of inodes`,請刪除大量檔案,而不是少數幾個大型檔案,因為無論大小,每個檔案都會佔用一個 inode4611* 刪除存放 Claude Code 暫存目錄之檔案系統上不再需要的檔案。如果您的訊息沒有指出該目錄,請在 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 參考資料中查詢其預設位置。對於 `EDQUOT`,請刪除計入您自己配額的檔案。對於 `out of inodes`,請刪除大量檔案,而不是少數幾個大型檔案,因為無論大小,每個檔案都會佔用一個 inode

4467* 或者,將 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 設為位於有空間之檔案系統上的目錄,然後重新啟動 Claude Code4612* 或者,將 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 設為位於有空間之檔案系統上的目錄,然後重新啟動 Claude Code

4468* 接著讓 Claude 再次執行該命令。它先前印出的輸出已遺失,而不是被截斷4613* 接著讓 Claude 再次執行該命令

4614 

4615在 v2.1.305 之前,Claude Code 因磁碟已滿而無法啟動的命令,只會傳回作業系統的錯誤文字。該文字的內容例如 `ENOSPC: no space left on device, open <path>.output`。

4469 4616 

4470### File is not valid UTF-84617### File is not valid UTF-8

4471 4618 


4524* 在 Windows 上,若要讓 Claude 直接從共用資料夾發佈,請將其對應至磁碟機代號,並在啟動 Claude Code 時傳入該磁碟機。例如在 PowerShell 中,執行 `net use Z: \\server\share`,然後執行 `claude --add-dir Z:\`。Claude 便可以從該磁碟機發佈檔案。在工作階段進行中以 `/add-dir` 新增該磁碟機是不夠的。4671* 在 Windows 上,若要讓 Claude 直接從共用資料夾發佈,請將其對應至磁碟機代號,並在啟動 Claude Code 時傳入該磁碟機。例如在 PowerShell 中,執行 `net use Z: \\server\share`,然後執行 `claude --add-dir Z:\`。Claude 便可以從該磁碟機發佈檔案。在工作階段進行中以 `/add-dir` 新增該磁碟機是不夠的。

4525* 在 macOS 或 Linux 上,將共用資料夾掛載至某個目錄,例如 `/mnt` 或 `/Volumes` 下的目錄,並從該路徑發佈,而非從自動掛載路徑發佈4672* 在 macOS 或 Linux 上,將共用資料夾掛載至某個目錄,例如 `/mnt` 或 `/Volumes` 下的目錄,並從該路徑發佈,而非從自動掛載路徑發佈

4526 4673 

4674### Not published: Claude sent the same content again after a newer version of the artifact turned it away

4675 

4676Artifact 呼叫下方的這行紅字表示 Claude Code 阻止了一次重複的發佈:[artifact](/docs/zh-TW/artifacts) 並未更新,Claude 用來發佈的檔案也沒有寫入任何內容。除非 Claude 在未發佈的情況下停止,否則您無需採取任何動作。

4677 

4678在工作階段稍早,Claude Code 因為該 artifact 有較新的版本而拒絕了一次發佈,例如由 [編輯者](/docs/zh-TW/artifacts#let-someone-edit-with-you) 或您的另一個工作階段所發佈的版本。這一行的結尾會說明 Claude 接下來必須做什麼:

4679 

4680```text wrap theme={null}

4681Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.

4682Not published: Claude sent the same content again after a newer version of the artifact turned it away. The artifact hasn't changed since, so publishing it once more should go through.

4683Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. Claude needs to work from that newer version first.

4684Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.

4685```

4686 

4687**處理方式:**

4688 

4689* **結尾為 `Claude needs to work from that newer version first`**:如果 Claude 在此停止,請要求它擷取該 artifact 的目前版本、將其變更合併進去,然後再次發佈

4690* **結尾為 `should go through`**:如果 Claude 在此停止,請要求它再次發佈

4691 

4527### Reading a local file from outside the connected folders in a Cowork session4692### Reading a local file from outside the connected folders in a Cowork session

4528 4693 

4529在 Claude Desktop 應用程式中於您的機器上執行的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段裡,Claude 為 [artifact](/docs/zh-TW/artifacts) 指定了一個本機檔案。Claude Code 無法確認該檔案是位於工作階段已連接資料夾內的一般檔案:該路徑位於這些資料夾之外、經過符號連結,或其寫法可能指向與表面上不同的檔案。讀取這類檔案需要您的核准,而在無法向您顯示核准卡片的工作階段中(例如設定為略過所有核准的工作階段),Claude Code 會拒絕該讀取。4694在 Claude Desktop 應用程式中於您的機器上執行的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段裡,Claude 為 [artifact](/docs/zh-TW/artifacts) 指定了一個本機檔案。Claude Code 無法確認該檔案是位於工作階段已連接資料夾內的一般檔案:該路徑位於這些資料夾之外、經過符號連結,或其寫法可能指向與表面上不同的檔案。讀取這類檔案需要您的核准,而在無法向您顯示核准卡片的工作階段中(例如設定為略過所有核准的工作階段),Claude Code 會拒絕該讀取。


4816* 若要繼續迴圈,請[回覆該工作階段](/docs/zh-TW/agent-view#peek-and-reply)並如此說明,例如 `keep the loop running`。Claude 會連同您的回覆一起讀取通知,並可以排程下一次喚醒4981* 若要繼續迴圈,請[回覆該工作階段](/docs/zh-TW/agent-view#peek-and-reply)並如此說明,例如 `keep the loop running`。Claude 會連同您的回覆一起讀取通知,並可以排程下一次喚醒

4817* 如果您已不需要該迴圈,則什麼都不用做。它已經停止4982* 如果您已不需要該迴圈,則什麼都不用做。它已經停止

4818 4983 

4984### No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder

4985 

4986顯示此訊息的[背景工作階段](/docs/zh-TW/agent-view)並未使用您的 [LLM 閘道](/docs/zh-TW/llm-gateway):它沒有取得閘道的位址,因此其請求會失敗。此訊息會出現在對話中取代 Claude 的回覆,並填入您工作階段的 ID 和資料夾:

4987 

4988```text wrap theme={null}

4989No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder. To fix, run `claude respawn abc12345` from ~/project in another terminal where your gateway is set, or set ANTHROPIC_BASE_URL and its API key or token in a settings file's env block.

4990```

4991 

4992當您附加到該工作階段時,其提示字元下方的通知會顯示簡短形式 `No LLM gateway: opened from another folder · respawn from ~/project`。

4993 

4994您在 `ANTHROPIC_BASE_URL` 設定為您的閘道時,從訊息所指資料夾以外的資料夾分派、喚醒或重新啟動了該工作階段。關於在 shell 中匯出的閘道確實會傳遞到背景工作階段的情況,請參閱 [LLM 閘道](/docs/zh-TW/agent-view#llm-gateway)。

4995 

4996**該怎麼做:**

4997 

4998* **您在設定檔中設定了閘道的專案中使用 agent 檢視**:將 `ANTHROPIC_BASE_URL` 及其 API 金鑰或 token 放入[設定檔的 `env` 區塊](/docs/zh-TW/llm-gateway-connect#set-in-a-settings-file)。請使用 `~/.claude/settings.json`,或工作階段自身專案中的 `.claude/settings.local.json`,重新產生的工作階段都會讀取這兩者。然後從任何資料夾在您的 shell 中執行 `claude respawn <id>`。

4999* **您在終端機中匯出了閘道**:在已匯出閘道變數的終端機中,`cd` 到訊息所指的資料夾,並執行訊息中的 `claude respawn <id>` 命令。工作階段會從其已儲存的對話重新啟動。

5000 * 只有當 [supervisor](/docs/zh-TW/agent-view#the-supervisor-process) 本身是從匯出了相同閘道的 shell 啟動時,閘道才會傳遞到工作階段。如果 supervisor 不是如此,請依照 [Dispatch fails with `Could not resolve authentication method`](/docs/zh-TW/agent-view#dispatch-fails-with-could-not-resolve-authentication-method) 所述,從該終端機重新啟動它,然後再次執行 respawn 命令。

5001 

5002在 v2.1.302 之前,處於此情況的背景工作階段會改為顯示登入錯誤,例如 [`Not logged in · Please run /login`](#not-logged-in),且不會指出資料夾。

5003 

4819### CLAUDE\_CODE\_PROCESS\_WRAPPER 啟動器錯誤5004### CLAUDE\_CODE\_PROCESS\_WRAPPER 啟動器錯誤

4820 5005 

4821[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/zh-TW/corporate-launcher) 已設定,但其值無法使用,因此 Claude Code 拒絕啟動受影響的程序,而不是在沒有啟動器的情況下執行它。設定問題會以變數名稱開頭並說明原因的訊息報告,例如:5006[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/zh-TW/corporate-launcher) 已設定,但其值無法使用,因此 Claude Code 拒絕啟動受影響的程序,而不是在沒有啟動器的情況下執行它。設定問題會以變數名稱開頭並說明原因的訊息報告,例如:


5094 5279 

5095## 設定警告5280## 設定警告

5096 5281 

5097Claude Code 會將這些訊息大多寫入 stderr,而非寫入對話中,且大多在啟動時寫入。若某個項目的訊息出現在其他位置(例如除錯日誌中,或在對話檢視中作為啟動通知),或出現在其他時間點(例如在請求時出現的[無法辨識模型診斷行](#unrecognized-model-id-on-a-request)),該項目會加以說明。5282若要找出 Claude Code 在互動式工作階段啟動時發出的警告,請先查看啟動橫幅下方,再查看除錯日誌:

5283 

5284* **啟動橫幅下方的列**:部分關於[權限規則](/docs/zh-TW/permissions)的警告,例如 [`⚠ Deny rule Bsh matches no tool · check for typos`](#matches-no-tool)

5285* **除錯日誌**:Claude Code 只會在除錯模式下保留此日誌。若要閱讀其中的警告,請從您的 shell 以 `claude --debug-file <path>` 啟動 Claude Code,然後開啟該路徑上的檔案。

5286 

5287在使用文字輸出的[非互動模式](/docs/zh-TW/headless)下,且不在[背景工作階段](/docs/zh-TW/agent-view)中時,請在 stderr 上查看啟動警告。

5288 

5289在 v2.1.305 之前,互動式工作階段中也請查看 stderr,包括現在以橫幅下方列顯示的權限規則警告。

5098 5290 

5099### Claude Code exited after an unrecoverable interface error5291### Claude Code exited after an unrecoverable interface error

5100 5292 


5214 5406 

5215### 工作目錄是網路路徑5407### 工作目錄是網路路徑

5216 5408 

5217Claude Code 不會將網路路徑加入為工作目錄。查詢網路路徑可能會連線到其所指定的主機,而在 Windows 上,該連線可能會將您的憑證傳送給該主機,因此 Claude Code 會在不查詢的情況下直接拒絕該路徑。當您以此類路徑執行 `/add-dir` 時,或在啟動時以警告形式,您會看到此訊息。若在啟動時出現,Claude Code 會在不包含該目錄的情況下啟動。5409Claude Code 不會將網路路徑加入為工作目錄。查詢網路路徑可能會連線到其所指定的主機,而在 Windows 上,該連線可能會將您的憑證傳送給該主機。因此 Claude Code 會在不查詢的情況下直接拒絕該路徑。

5410 

5411當您以網路路徑執行 `/add-dir` 時,會看到此訊息:

5218 5412 

5219```text theme={null}5413```text theme={null}

5220\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).5414\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).

5221```5415```

5222 5416 

5417若您改為在啟動時傳入網路路徑(使用 `--add-dir` 或在 `permissions.additionalDirectories` 中),Claude Code 會在不包含該目錄的情況下啟動。在互動式工作階段中,您不會在啟動時看到此訊息,因為它會與其他[啟動警告](#configuration-warnings)一起寫入除錯日誌。

5418 

5223Claude Code 以此方式拒絕的路徑包括:5419Claude Code 以此方式拒絕的路徑包括:

5224 5420 

5225* UNC 共用,例如 `\\server\share`5421* UNC 共用,例如 `\\server\share`


5465 5661 

5466在 v2.1.260 之前,Claude Code 會將括號不成對的規則回報為 `Mismatched parentheses`。5662在 v2.1.260 之前,Claude Code 會將括號不成對的規則回報為 `Mismatched parentheses`。

5467 5663 

5468### Is not matched by file permission checks5664### Matches no tool · check for typos

5665 

5666啟動橫幅下方的這一列會指出某條拒絕或詢問[權限規則](/docs/zh-TW/permissions),其工具名稱是 Claude Code 無法辨識的,因此該規則不會套用到您原本想指定的工具。寫成 `Bsh` 的拒絕規則不會套用到 Bash;使用工具在逐字稿中顯示的標籤、而非其正式名稱的規則也是如此。此列會重複顯示您所寫的規則:

5667 

5668```text theme={null}

5669⚠ Deny rule Bsh matches no tool · check for typos

5670```

5469 5671 

5470Claude Code 在您的某個[設定檔](/docs/zh-TW/settings#where-settings-live)、[受管設定](/docs/zh-TW/managed-settings),或 `--allowedTools`、`--disallowedTools` 或 `--settings` 旗標值中,找到了帶有路徑的 `Write`、`NotebookEdit`、`MultiEdit` 或 `Glob` [權限規則](/docs/zh-TW/permissions#read-and-edit)。它只會依據 `Edit` 和 `Read` 規則檢查檔案權限,因此永遠不會參考指定其他檔案工具的路徑規則。它會保留該規則,不做其他變更;警告會列出該規則、括號中的來源,以及應改寫成的替代寫法:5672在使用文字輸出的[非互動模式](/docs/zh-TW/headless)下,Claude Code 會改為在 stderr 上印出較長形式的警告:

5471 5673 

5472```text theme={null}5674```text theme={null}

5473Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).5675Permission deny rule "Bsh" matches no known tool — check for typos.

5474```5676```

5475 5677 

5476**處理方式:**5678**處理方式:**

5477 5679 

5680* 修正規則中的工具名稱,例如以 `Bash` 取代 `Bsh`。請在[工具參考](/docs/zh-TW/tools-reference)中查詢正式名稱。

5681* 若要找出規則的定義位置,請在工作階段中執行 `/permissions` 並選取該規則。其詳細資訊會說明規則的來源,例如 `From project local settings`,或對於 `--disallowedTools` 值則為 `From CLI argument`。

5682* 若詳細資訊顯示 `From enterprise managed settings`,請將此列轉給負責維護您[受管設定](/docs/zh-TW/managed-settings)的人員,因為您無法自行變更該規則。

5683 

5684在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。

5685 

5686在 v2.1.305 之前,互動式工作階段會在啟動時於 stderr 上印出較長形式,而非顯示此列。

5687 

5688### Is not matched by file permission checks

5689 

5690Claude Code 在您的某個[設定檔](/docs/zh-TW/settings#where-settings-live)、[受管設定](/docs/zh-TW/managed-settings),或 `--allowedTools`、`--disallowedTools` 或 `--settings` 旗標值中,找到了帶有路徑的 `Write`、`NotebookEdit`、`MultiEdit` 或 `Glob` [權限規則](/docs/zh-TW/permissions#read-and-edit)。它只會依據 `Edit` 和 `Read` 規則檢查檔案權限,因此永遠不會參考指定其他檔案工具的路徑規則。它會保留該規則,不做其他變更。

5691 

5692* **互動式工作階段**:完整警告會寫入[除錯日誌](#configuration-warnings),而此形式的拒絕或詢問規則也會以這一列顯示在啟動橫幅下方:

5693 

5694 ```text theme={null}

5695 ⚠ Deny rule Write(docs/**) never matches · use Edit(docs/**)

5696 ```

5697 

5698 此形式的允許規則不會顯示列。若要找出規則的定義位置,請在工作階段中執行 `/permissions` 並選取該規則。

5699* **使用文字輸出的[非互動模式](/docs/zh-TW/headless)**:stderr 上的完整警告會列出該規則、括號中的來源,以及應改寫成的替代寫法:

5700 

5701 ```text theme={null}

5702 Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).

5703 ```

5704* **[背景工作階段](/docs/zh-TW/agent-view),或使用 `--output-format json` 或 `stream-json` 時**:完整警告會寫入除錯日誌而非 stderr,以保持機器讀取的輸出乾淨。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。

5705 

5706**處理方式:**

5707 

5478* 將 `Write(path)`、`NotebookEdit(path)` 及舊版的 `MultiEdit(path)` 規則替換為 `Edit(path)`。`Edit` 規則涵蓋所有檔案編輯工具。5708* 將 `Write(path)`、`NotebookEdit(path)` 及舊版的 `MultiEdit(path)` 規則替換為 `Edit(path)`。`Edit` 規則涵蓋所有檔案編輯工具。

5479* 除了在 `--allowedTools` 中(Claude Code 在此接受 `Glob` 規則且不會發出警告)之外,請將 `Glob(path)` 規則替換為 `Read(path)`。5709* 除了在 `--allowedTools` 中(Claude Code 在此接受 `Glob` 規則且不會發出警告)之外,請將 `Glob(path)` 規則替換為 `Read(path)`。

5480* 在警告括號中所指的來源修正規則:設定檔路徑,或對於 `--allowed-tools` 和 `--disallowed-tools` 則是旗標本身。磁碟上不存在的 `claude-settings-<hash>.json` 路徑代表的是內嵌的 `--settings` 值。請修正您傳給該旗標的 JSON。5710* 在完整警告括號中所指的來源修正規則:設定檔路徑,或對於 `--allowed-tools` 和 `--disallowed-tools` 則是旗標本身。磁碟上不存在的 `claude-settings-<hash>.json` 路徑代表的是內嵌的 `--settings` 值。請修正您傳給該旗標的 JSON。

5481* 像 `Write` 或 `Glob` 這類僅有工具名稱的規則保持不變即可。Claude Code 會在[工具層級](/docs/zh-TW/permissions#match-all-uses-of-a-tool)比對它們,且不會對其發出警告。5711* 像 `Write` 或 `Glob` 這類僅有工具名稱的規則保持不變即可。Claude Code 會在[工具層級](/docs/zh-TW/permissions#match-all-uses-of-a-tool)比對它們,且不會對其發出警告。

5482* 若來源顯示為 `managed policy settings`,請將警告轉給負責維護受管設定的人員,因為您無法自行消除它。5712* 對於來自受管設定的規則,完整警告的括號內容會顯示 `managed policy settings`,而 `/permissions` 中該規則的詳細資訊會顯示 `From enterprise managed settings`。請將該警告轉給負責維護受管設定的人員,因為您無法自行消除它。

5483 5713 

5484在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr,以保持機器讀取的輸出乾淨。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。在 v2.1.210 之前,Claude Code 會接受這些規則而不發出警告。5714在 v2.1.210 之前,Claude Code 會接受這些規則而不發出警告。在 v2.1.305 之前,互動式工作階段會在 stderr 上印出完整警告。

5485 5715 

5486### Has a wildcard before the rest of the command5716### Has a wildcard before the rest of the command

5487 5717 

5488Claude Code 在您的某個[設定檔](/docs/zh-TW/settings#where-settings-live)、[受管設定](/docs/zh-TW/managed-settings),或 `--allowedTools` 或 `--settings` 旗標值中,找到了一條 `Bash` 允許規則,其 `*` 出現在決定命令為何的後續字詞之前,例如 `Bash(git * main)` 或 `Bash(git -C * status *)`。`*` 會比對任何文字,包括插入在該位置的選項:`Bash(git * main)` 也會核准 `git -c core.fsmonitor=<script> diff main`,其中 `-c` 會讓 git 執行命令中所指定的程式。[萬用字元模式](/docs/zh-TW/permissions#wildcard-patterns)說明了比對規則。5718Claude Code 在您的某個[設定檔](/docs/zh-TW/settings#where-settings-live)、[受管設定](/docs/zh-TW/managed-settings),或 `--allowedTools` 或 `--settings` 旗標值中,找到了一條 `Bash` 允許規則,其 `*` 出現在決定命令為何的後續字詞之前,例如 `Bash(git * main)` 或 `Bash(git -C * status *)`。`*` 會比對任何文字,包括插入在該位置的選項:`Bash(git * main)` 也會核准 `git -c core.fsmonitor=<script> diff main`,其中 `-c` 會讓 git 執行命令中所指定的程式。[萬用字元模式](/docs/zh-TW/permissions#wildcard-patterns)說明了比對規則。

5489 5719 

5490此警告的目的是讓您能縮小萬用字元範圍比預期更廣的規則。Claude Code 會保留該規則,且不會改變其比對方式;警告會列出該規則及括號中的來源:5720此警告的目的是讓您能縮小萬用字元範圍比預期更廣的規則。Claude Code 會保留該規則,且不會改變其比對方式。在使用文字輸出的[非互動模式](/docs/zh-TW/headless)下,stderr 上的警告會列出該規則及括號中的來源:

5491 5721 

5492```text theme={null}5722```text theme={null}

5493Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).5723Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).

5494```5724```

5495 5725 

5726在互動式工作階段中,完整警告會寫入[除錯日誌](#configuration-warnings),而該規則會以這一列顯示在啟動橫幅下方:

5727 

5728```text theme={null}

5729⚠ Allow rule Bash(git -C * status *) allows any option at its * · use an exact value

5730```

5731 

5732若要找出規則的定義位置,請在工作階段中執行 `/permissions` 並選取該規則。

5733 

5496**處理方式:**5734**處理方式:**

5497 5735 

5498* 將子命令之前的 `*` 替換為您所指的確切值:以 `Bash(git checkout main)` 取代 `Bash(git * main)`。5736* 將子命令之前的 `*` 替換為您所指的確切值:以 `Bash(git checkout main)` 取代 `Bash(git * main)`。

5499* 將每個 `*` 移到子命令之後:以 `Bash(git status *)` 取代 `Bash(git -C * status *)`。為每個您想允許的子命令各寫一條規則。5737* 將每個 `*` 移到子命令之後:以 `Bash(git status *)` 取代 `Bash(git -C * status *)`。為每個您想允許的子命令各寫一條規則。

5500* 在警告括號中所指的來源修正規則:設定檔路徑,或 `--allowed-tools` 旗標本身。磁碟上不存在的 `claude-settings-<hash>.json` 路徑代表的是內嵌的 `--settings` 值。請修正您傳給該旗標的 JSON。5738* 在完整警告括號中所指的來源修正規則:設定檔路徑,或 `--allowed-tools` 旗標本身。磁碟上不存在的 `claude-settings-<hash>.json` 路徑代表的是內嵌的 `--settings` 值。請修正您傳給該旗標的 JSON。

5501* 若來源顯示為 `managed policy settings`,請將警告轉給負責維護受管設定的人員,因為您無法自行消除它。5739* 對於來自受管設定的規則,完整警告的括號內容會顯示 `managed policy settings`,而 `/permissions` 中該規則的詳細資訊會顯示 `From enterprise managed settings`。請將該警告轉給負責維護受管設定的人員,因為您無法自行消除它。

5502 5740 

5503在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr,以保持機器讀取的輸出乾淨。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。在 v2.1.246 之前,Claude Code 會接受這些規則而不發出警告。5741在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr,以保持機器讀取的輸出乾淨。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。在 v2.1.246 之前,Claude Code 會接受這些規則而不發出警告。

5504 5742 

5743在 v2.1.305 之前,互動式工作階段會在 stderr 上印出完整警告,而非顯示列。

5744 

5505### Denying Bash also turns off the PowerShell tool5745### Denying Bash also turns off the PowerShell tool

5506 5746 

5507您移除了整個 Bash 工具,例如使用 `--disallowedTools Bash`,或在某個設定檔中使用僅有 `Bash` 或 `Bash(*)` 的[拒絕規則](/docs/zh-TW/permissions#match-all-uses-of-a-tool)。在安裝了 Git Bash 的 Windows 上,[拒絕 Bash 也會關閉 PowerShell 工具](/docs/zh-TW/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool),因此工作階段啟動時不會有任何 shell 工具。Claude Code 會在啟動時印出此警告:5747您移除了整個 Bash 工具,例如使用 `--disallowedTools Bash`,或在某個設定檔中使用僅有 `Bash` 或 `Bash(*)` 的[拒絕規則](/docs/zh-TW/permissions#match-all-uses-of-a-tool)。在安裝了 Git Bash 的 Windows 上,[拒絕 Bash 也會關閉 PowerShell 工具](/docs/zh-TW/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool),因此工作階段啟動時不會有任何 shell 工具。

5748 

5749在使用文字輸出的[非互動模式](/docs/zh-TW/headless)下,Claude Code 會在啟動時於 stderr 上印出此警告,而互動式工作階段只會將其寫入[除錯日誌](#configuration-warnings):

5508 5750 

5509```text theme={null}5751```text theme={null}

5510Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.5752Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.


5517 5759 

5518在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。在 v2.1.287 之前,Claude Code 會以相同方式關閉 PowerShell 工具,但不會印出警告。5760在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。在 v2.1.287 之前,Claude Code 會以相同方式關閉 PowerShell 工具,但不會印出警告。

5519 5761 

5762在 v2.1.305 之前,互動式工作階段也會在啟動時於 stderr 上印出此警告。

5763 

5520### crossSessionInbound must be one of accept, hold, refuse5764### crossSessionInbound must be one of accept, hold, refuse

5521 5765 

5522某個設定檔將 [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) 設為 Claude Code 無法辨識的值,例如拼錯的 `"reject"`。警告的第二句取決於哪個檔案包含該值;在使用者、專案、本機或 `--settings` 檔案中,內容如下:5766某個設定檔將 [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) 設為 Claude Code 無法辨識的值,例如拼錯的 `"reject"`。警告的第二句取決於哪個檔案包含該值;在使用者、專案、本機或 `--settings` 檔案中,內容如下:


5566* 若訊息提及此版本無法辨識的模型 ID,請執行 `claude update`。能將該 ID 辨識為 1M 上下文模型的版本,無需額外設定即可強制執行該上限。5810* 若訊息提及此版本無法辨識的模型 ID,請執行 `claude update`。能將該 ID 辨識為 1M 上下文模型的版本,無需額外設定即可強制執行該上限。

5567* 若您希望工作階段改為使用模型的完整視窗,請取消設定 `CLAUDE_CODE_DISABLE_1M_CONTEXT`;此警告只是回報 200K 上限未被強制執行5811* 若您希望工作階段改為使用模型的完整視窗,請取消設定 `CLAUDE_CODE_DISABLE_1M_CONTEXT`;此警告只是回報 200K 上限未被強制執行

5568 5812 

5569在[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,Claude Code 會將警告寫入除錯日誌而非 stderr。5813在使用文字輸出的[非互動模式](/docs/zh-TW/headless)下,此警告會出現在 stderr 上。在互動式工作階段、[背景工作階段](/docs/zh-TW/agent-view)中,或使用 `--output-format json` 或 `stream-json` 時,它會改為寫入除錯日誌。使用 `--debug` 執行即可在 `~/.claude/debug/<session-id>.txt` 中擷取它。

5814 

5815在 v2.1.305 之前,互動式工作階段會在啟動時於 stderr 上印出此警告。

5570 5816 

5571### 請求中包含無法辨識的模型 ID5817### 請求中包含無法辨識的模型 ID

5572 5818 


5678如果此處未列出錯誤或建議的修正方法無法幫助:5924如果此處未列出錯誤或建議的修正方法無法幫助:

5679 5925 

5680* 在 Claude Code 內執行 `/feedback` 以將文字記錄和說明傳送給 Anthropic。該命令也提供開啟預先填入的 GitHub issue 的選項。傳送給 Anthropic 需要[驗證](/docs/zh-TW/authentication)。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和其他第三方提供者上,或當未設定 Anthropic 認證時,`/feedback` 會儲存本機封存,您可以改為傳送給您的 Anthropic 帳戶代表。5926* 在 Claude Code 內執行 `/feedback` 以將文字記錄和說明傳送給 Anthropic。該命令也提供開啟預先填入的 GitHub issue 的選項。傳送給 Anthropic 需要[驗證](/docs/zh-TW/authentication)。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和其他第三方提供者上,或當未設定 Anthropic 認證時,`/feedback` 會儲存本機封存,您可以改為傳送給您的 Anthropic 帳戶代表。

5927* 如果 `/feedback` 回應它已被您組織的政策停用,請參閱[該訊息的條目](#feedback-is-disabled-by-your-organizations-policy)

5681* 從您的 shell 執行 `claude doctor` 以進行安裝的唯讀診斷,或在 Claude Code 內執行 `/doctor` 檢查以尋找並修正設定問題5928* 從您的 shell 執行 `claude doctor` 以進行安裝的唯讀診斷,或在 Claude Code 內執行 `/doctor` 檢查以尋找並修正設定問題

5682* 檢查 [status.claude.com](https://status.claude.com) 以了解活躍的事件5929* 檢查 [status.claude.com](https://status.claude.com) 以了解活躍的事件

5683* 在 GitHub 上搜尋[現有 issue](https://github.com/anthropics/claude-code/issues)5930* 在 GitHub 上搜尋[現有 issue](https://github.com/anthropics/claude-code/issues)

Details

34 34 

35這些有提供者特定的差異:35這些有提供者特定的差異:

36 36 

37* **MCP 伺服器**:[來自 claude.ai 的連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)僅在您的 claude.ai 訂閱是作用中驗證方法時才會載入。[工具搜尋](/docs/zh-TW/mcp#configure-tool-search)在 `ANTHROPIC_BASE_URL` 指向非第一方主機時預設為關閉,在 Google Cloud's Agent Platform 上早於 Claude Opus 4.5、Claude Sonnet 4.5 和 Claude Haiku 4.5 的模型或在 Microsoft Foundry [部署於 Azure 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)時不受支援37* **MCP 伺服器**:[來自 claude.ai 的連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)僅在您的 claude.ai 訂閱是作用中驗證方法時才會載入。[工具搜尋](/docs/zh-TW/mcp#configure-tool-search)在 Microsoft Foundry [部署於 Azure 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)時不受支援。在 Google Cloud's Agent Platform 上,早於 Claude Opus 4.5、Claude Sonnet 4.5 和 Claude Haiku 4.5 的模型不支援工具搜尋

38* **Subagents**:當主要對話執行 Fable 時,內建的 [Explore subagent](/docs/zh-TW/sub-agents#built-in-subagents) 在使用 Claude 訂閱、Anthropic Console 帳戶,或透過 `ANTHROPIC_BASE_URL` 連線的 [LLM 閘道](/docs/zh-TW/llm-gateway)時會在 Opus 上執行。在其他提供者上(包括 AWS 上的 Claude Platform),它會在 Fable 上執行38* **Subagents**:當主要對話執行 Fable 時,內建的 [Explore subagent](/docs/zh-TW/sub-agents#built-in-subagents) 在使用 Claude 訂閱、Anthropic Console 帳戶,或透過 `ANTHROPIC_BASE_URL` 連線的 [LLM 閘道](/docs/zh-TW/llm-gateway)時會在 Opus 上執行。在其他提供者上(包括 AWS 上的 Claude Platform),它會在 Fable 上執行

39* **[Commands](/docs/zh-TW/commands#all-commands)**:39* **[Commands](/docs/zh-TW/commands#all-commands)**:

40 * `/design-sync` 和 `/import` 及其 `claude import` 子命令形式在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和 AWS 上的 Claude Platform 上不可用,以及透過 [Claude apps gateway](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)40 * `/design-sync` 和 `/import` 及其 `claude import` 子命令形式在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和 AWS 上的 Claude Platform 上不可用,以及透過 [Claude apps gateway](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)


57* [Artifacts](/docs/zh-TW/artifacts):Pro、Max、Team 和 Enterprise 計畫57* [Artifacts](/docs/zh-TW/artifacts):Pro、Max、Team 和 Enterprise 計畫

58* [Voice dictation](/docs/zh-TW/voice-dictation)58* [Voice dictation](/docs/zh-TW/voice-dictation)

59 59 

60Desktop 是部分例外:[閘道路由可以在應用程式中或由管理員配置](/docs/zh-TW/llm-gateway-connect#desktop-app)、Enterprise 部署可以透過[受管設定](https://claude.com/docs/third-party/claude-desktop/configuration)將 Desktop 路由到 Google Cloud's Agent Platform 或閘道提供者,而[在 3P 上的 Claude Desktop](https://claude.com/docs/third-party/claude-desktop/overview)在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 或自託管 LLM 閘道上執行 Code 標籤。如需這些功能的按計畫可用性,請參閱[按訂閱計畫的可用性](#availability-by-subscription-plan)。60Desktop 是部分例外:[閘道路由可以在應用程式中或由管理員設定](/docs/zh-TW/llm-gateway-connect#desktop-app)。[在 3P 上的 Claude Desktop](https://claude.com/docs/third-party/claude-desktop/overview) 也可在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 或自託管 LLM 閘道上執行 Code 標籤。它也可以搭配 Anthropic Console API 金鑰,在 [Claude API](https://claude.com/docs/third-party/claude-desktop/claude-api) 上執行 Code 標籤。如需這些功能的按計畫可用性,請參閱[按訂閱計畫的可用性](#availability-by-subscription-plan)。

61 61 

62### 按提供者變化的 CLI 功能62### 按提供者變化的 CLI 功能

63 63 


287 287 

288[按提供者變化的 CLI 功能](#cli-capabilities-that-vary-by-provider)中的所有功能都可用,除了 [fast mode](/docs/zh-TW/fast-mode) 需要[已佈建的存取](/docs/zh-TW/fast-mode#enable-fast-mode-for-your-organization)。您在 claude.ai Team 或 Enterprise 組織中設定的[伺服器管理的設定](/docs/zh-TW/server-managed-settings)不會套用到使用 Console API 金鑰進行身分驗證的工作階段。如需如何涵蓋這些工作階段,請參閱[平台可用性](/docs/zh-TW/server-managed-settings#platform-availability)。288[按提供者變化的 CLI 功能](#cli-capabilities-that-vary-by-provider)中的所有功能都可用,除了 [fast mode](/docs/zh-TW/fast-mode) 需要[已佈建的存取](/docs/zh-TW/fast-mode#enable-fast-mode-for-your-organization)。您在 claude.ai Team 或 Enterprise 組織中設定的[伺服器管理的設定](/docs/zh-TW/server-managed-settings)不會套用到使用 Console API 金鑰進行身分驗證的工作階段。如需如何涵蓋這些工作階段,請參閱[平台可用性](/docs/zh-TW/server-managed-settings#platform-availability)。

289 289 

290**部分支援:**

291 

292* [Desktop](/docs/zh-TW/desktop):透過[搭配 Claude API 的 Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/claude-api)

293 

290## 按訂閱計畫的可用性294## 按訂閱計畫的可用性

291 295 

292如果您透過 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Anthropic Console API 金鑰進行驗證,本節不適用於您。當您使用 claude.ai 帳戶登入時,您的計畫決定了下列功能中哪些可用。296如果您透過 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Anthropic Console API 金鑰進行驗證,本節不適用於您。當您使用 claude.ai 帳戶登入時,您的計畫決定了下列功能中哪些可用。

Details

148* **Subagent** 是 Claude 產生的工作者,每個都會將摘要回傳給產生它的對話148* **Subagent** 是 Claude 產生的工作者,每個都會將摘要回傳給產生它的對話

149* **[動態工作流程](/docs/zh-TW/workflows)** 是由 Claude 撰寫的指令碼,會在背景執行多個 subagent 並回傳單一結果149* **[動態工作流程](/docs/zh-TW/workflows)** 是由 Claude 撰寫的指令碼,會在背景執行多個 subagent 並回傳單一結果

150 150 

151**使用 subagent** 的時機是需要快速、專注的工作者時:研究某個問題、驗證某項主張、審查某個檔案。Subagent 完成工作後回傳摘要,讓您的主要對話保持整潔。Claude 在產生時為其命名的 subagent 也可以[彼此傳訊](/docs/zh-TW/sub-agents#what-loads-at-startup)。151**使用 subagent** 的時機是需要快速、專注的工作者時:研究某個問題、驗證某項主張、審查某個檔案。Subagent 完成工作後回傳摘要,讓您的主要對話保持整潔。Claude 在產生時為其[命名](/docs/zh-TW/sub-agents#subagent-names)的 subagent 也可以[彼此傳訊](/docs/zh-TW/sub-agents#what-loads-at-startup)。

152 152 

153**使用動態工作流程** 的時機是某項工作[超出少數幾個 subagent 能處理的範圍](/docs/zh-TW/workflows#when-to-use-a-workflow),或您希望在看到發現之前先交叉驗證時,例如整個程式碼庫的稽核、大型遷移,或從多個角度起草的計畫。若要啟動工作流程,請[在提示詞中要求使用工作流程](/docs/zh-TW/workflows#ask-for-a-workflow-in-your-prompt)。153**使用動態工作流程** 的時機是某項工作[超出少數幾個 subagent 能處理的範圍](/docs/zh-TW/workflows#when-to-use-a-workflow),或您希望在看到發現之前先交叉驗證時,例如整個程式碼庫的稽核、大型遷移,或從多個角度起草的計畫。若要啟動工作流程,請[在提示詞中要求使用工作流程](/docs/zh-TW/workflows#ask-for-a-workflow-in-your-prompt)。

154 154 

fullscreen.md +1 −0

Details

32* 您的[權限模式](/docs/zh-TW/permission-modes)和[努力等級](/docs/zh-TW/model-config#adjust-effort-level)32* 您的[權限模式](/docs/zh-TW/permission-modes)和[努力等級](/docs/zh-TW/model-config#adjust-effort-level)

33* 您上次使用 [`/model`](/docs/zh-TW/model-config#setting-your-model) 選擇的模型33* 您上次使用 [`/model`](/docs/zh-TW/model-config#setting-your-model) 選擇的模型

34* 您使用 [`--allowed-tools` 或 `--disallowed-tools`](/docs/zh-TW/cli-reference#cli-flags) 傳遞的規則,以及您的 `--agent`、`--agents`、`--append-system-prompt` 和 `--system-prompt-snapshot` 旗標34* 您使用 [`--allowed-tools` 或 `--disallowed-tools`](/docs/zh-TW/cli-reference#cli-flags) 傳遞的規則,以及您的 `--agent`、`--agents`、`--append-system-prompt` 和 `--system-prompt-snapshot` 旗標

35* 您啟動時使用的 `--chrome` 或 `--no-chrome` 旗標,讓 [Chrome 整合](/docs/zh-TW/chrome)依照您為此工作階段所做的選擇保持開啟或關閉

35 36 

36Claude Code 會拒絕重新啟動,如果工作階段有它無法傳遞給重新啟動程序的限制。它無法傳遞的限制包括:37Claude Code 會拒絕重新啟動,如果工作階段有它無法傳遞給重新啟動程序的限制。它無法傳遞的限制包括:

37 38 

hipaa-setup.md +1 −0

Details

93| :- | :- |93| :- | :- |

94| `api.anthropic.com` | Claude API 請求、遙測,以及告知 Claude Code 已開啟 HIPAA 設定的組織政策 |94| `api.anthropic.com` | Claude API 請求、遙測,以及告知 Claude Code 已開啟 HIPAA 設定的組織政策 |

95| `claude.ai`、`claude.com`、`platform.claude.com` | 登入及 token 重新整理 |95| `claude.ai`、`claude.com`、`platform.claude.com` | 登入及 token 重新整理 |

96| `sso.claude.com` | 登入(當您的組織使用單一登入時) |

96| `downloads.claude.ai` | 原生安裝程式及其更新 |97| `downloads.claude.ai` | 原生安裝程式及其更新 |

97| `mcp-proxy.anthropic.com` | [來自 claude.ai 的連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) |98| `mcp-proxy.anthropic.com` | [來自 claude.ai 的連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) |

98 99 

hooks.md +12 −6

Details

294| `SessionStart` | 工作階段的啟動方式 | `startup`、`resume`、`clear`、`compact`、`fork` |294| `SessionStart` | 工作階段的啟動方式 | `startup`、`resume`、`clear`、`compact`、`fork` |

295| `Setup` | 觸發 setup 的 CLI 旗標 | `init`、`maintenance` |295| `Setup` | 觸發 setup 的 CLI 旗標 | `init`、`maintenance` |

296| `SessionEnd` | 工作階段結束的原因 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |296| `SessionEnd` | 工作階段結束的原因 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |

297| `Notification` | 通知類型 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` |297| `Notification` | 通知類型 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled`、`plugin_notification` |

298| `SubagentStart` | agent 類型 | `general-purpose`、`Explore`、`Plan`、自訂 agent 名稱,或外掛範圍的名稱,例如 `^my-plugin:reviewer$` |298| `SubagentStart` | agent 類型 | `general-purpose`、`Explore`、`Plan`、自訂 agent 名稱,或外掛範圍的名稱,例如 `^my-plugin:reviewer$` |

299| `PreCompact`、`PostCompact` | 觸發壓縮的原因 | `manual`、`auto` |299| `PreCompact`、`PostCompact` | 觸發壓縮的原因 | `manual`、`auto` |

300| `PreModelSwitch`、`PostModelSwitch` | 工作階段要切換到的模型之標準名稱,如 [PreModelSwitch](#premodelswitch) 中所述 | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |300| `PreModelSwitch`、`PostModelSwitch` | 工作階段要切換到的模型之標準名稱,如 [PreModelSwitch](#premodelswitch) 中所述 | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |


1923 1923 

1924| 欄位 | 說明 |1924| 欄位 | 說明 |

1925| :- | :- |1925| :- | :- |

1926| `permissionDecision` | `"allow"` 會略過權限提示,但[任何模式都不會自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)和[從網路路徑讀取](/docs/zh-TW/permissions#network-paths)除外。`AskUserQuestion` 和 `ExitPlanMode` 需要[搭配 `"allow"` 的 `updatedInput`](#allow-with-updatedinput)。關於 plan mode,請參閱 [plan mode 中的 hook 核准](/docs/zh-TW/permissions#hook-approvals-in-plan-mode)。`"deny"` 會阻止工具呼叫。`"ask"` 會提示使用者確認。`"defer"` 會正常結束,讓工具稍後可以恢復。無論 hook 回傳什麼,[拒絕與詢問規則](/docs/zh-TW/permissions#manage-permissions)仍會被評估 |1926| `permissionDecision` | `"allow"` 會略過權限提示,但[任何模式都不會自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)與[從網路路徑讀取](/docs/zh-TW/permissions#network-paths)除外。`AskUserQuestion` 與 `ExitPlanMode` 需要[與 `"allow"` 搭配的 `updatedInput`](#allow-with-updatedinput)。關於 plan mode,請參閱 [plan mode 中的 hook 核准](/docs/zh-TW/permissions#hook-approvals-in-plan-mode)。`"deny"` 會阻止工具呼叫。`"ask"` 會提示使用者確認。`"defer"` 會結束回合,讓工具稍後可以繼續,且需要使用 `-p` 旗標的[非互動模式](#defer-a-tool-call-for-later)。無論 hook 傳回什麼,[拒絕與詢問規則](/docs/zh-TW/permissions#manage-permissions)仍會被評估 |

1927| `permissionDecisionReason` | 對於 `"ask"`,會在權限提示中向使用者顯示。當 Claude Code 在沒有人能回應該提示的 `-p` 執行中[拒絕呼叫](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs)時,Claude 會改為在工具結果中讀到原因。對於 `"deny"`,會向 Claude 顯示。對於 `"allow"` 和 `"defer"`,只會寫入[除錯日誌](#debug-hooks) |1927| `permissionDecisionReason` | 對於 `"ask"`,會在權限提示中向使用者顯示。當 Claude Code 在沒有人能回應該提示的 `-p` 執行中[拒絕呼叫](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs)時,Claude 會改為在工具結果中讀到原因。對於 `"deny"`,會向 Claude 顯示。對於 `"allow"` 和 `"defer"`,只會寫入[除錯日誌](#debug-hooks) |

1928| `updatedInput` | 在執行前修改工具的輸入參數。會取代整個輸入物件,因此請將未變更的欄位與修改過的欄位一併包含。Claude Code 會根據您 hook 回傳的輸入(而非 Claude 傳送的輸入)評估權限規則,以及 Bash 命令的[自動移至背景資格](/docs/zh-TW/tools-reference#foreground-commands-that-move-to-the-background)。與 `"allow"` 搭配可自動核准,或與 `"ask"` 搭配向使用者顯示修改後的輸入。對於 `"defer"`,會被忽略 |1928| `updatedInput` | 在執行前修改工具的輸入參數。會取代整個輸入物件,因此請將未變更的欄位與修改過的欄位一併包含。Claude Code 會根據您 hook 回傳的輸入(而非 Claude 傳送的輸入)評估權限規則,以及 Bash 命令的[自動移至背景資格](/docs/zh-TW/tools-reference#foreground-commands-that-move-to-the-background)。與 `"allow"` 搭配可自動核准,或與 `"ask"` 搭配向使用者顯示修改後的輸入。對於 `"defer"`,會被忽略 |

1929| `additionalContext` | 與工具結果一同加入 Claude 情境的字串。當 `permissionDecision` 為 `"defer"` 時會被忽略。請參閱[為 Claude 新增情境](#add-context-for-claude) |1929| `additionalContext` | 與工具結果一同加入 Claude 情境的字串。當 `permissionDecision` 為 `"defer"` 時會被忽略。請參閱[為 Claude 新增情境](#add-context-for-claude) |


1997`AskUserQuestion` 工具是典型的情況:Claude 想詢問使用者某件事,但沒有終端機可供回答。`-p` 執行只有在具有[權限主機](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs)時才會提供 `AskUserQuestion`,例如您以 `--permission-prompt-tool` 傳入的 MCP 工具,因此請以此方式啟動執行。來回流程如下:1997`AskUserQuestion` 工具是典型的情況:Claude 想詢問使用者某件事,但沒有終端機可供回答。`-p` 執行只有在具有[權限主機](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs)時才會提供 `AskUserQuestion`,例如您以 `--permission-prompt-tool` 傳入的 MCP 工具,因此請以此方式啟動執行。來回流程如下:

1998 1998 

19991. Claude 呼叫 `AskUserQuestion`。`PreToolUse` hook 觸發。19991. Claude 呼叫 `AskUserQuestion`。`PreToolUse` hook 觸發。

20002. hook 回傳 `permissionDecision: "defer"`。工具不會執行。程序以 `stop_reason: "tool_deferred"` 結束,待處理的工具呼叫保留在逐字稿中。20002. hook 傳回 `permissionDecision: "defer"`。工具不會執行。回合以一個帶有 `stop_reason: "tool_deferred"` 的結果結束,而待處理的工具呼叫會保留在逐字稿中。

20013. 呼叫端程序從 SDK 結果讀取 `deferred_tool_use`,在自己的 UI 中呈現問題,並等待答案。20013. 呼叫端程序從 SDK 結果讀取 `deferred_tool_use`,在自己的 UI 中呈現問題,並等待答案。

20024. 呼叫端程序以相同的權限主機執行 `claude -p --resume <session-id>`。同一個工具呼叫再次觸發 `PreToolUse`。20024. 呼叫端程序以相同的權限主機執行 `claude -p --resume <session-id>`。同一個工具呼叫再次觸發 `PreToolUse`。

20035. hook 回傳 `permissionDecision: "allow"`,並在 `updatedInput` 中附上答案。工具執行,Claude 繼續。20035. hook 回傳 `permissionDecision: "allow"`,並在 `updatedInput` 中附上答案。工具執行,Claude 繼續。


2018}2018}

2019```2019```

2020 2020 

2021沒有逾時或重試次數限制。工作階段會保留在磁碟上直到您恢復它,但受 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 保留期清理的約束,該清理預設會在 30 天後依照[保留期清理規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)刪除工作階段檔案。若恢復時答案尚未準備好,hook 可以再次回傳 `"defer"`,程序會以相同方式結束。呼叫端程序最終從 hook 回傳 `"allow"` 或 `"deny"`,藉此控制何時跳出迴圈。2021沒有逾時或重試次數限制。工作階段會保留在磁碟上直到您繼續它,但受 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 保留期清理的約束,該清理預設會在 30 天後刪除工作階段檔案,並遵循[保留期清理規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)。

2022 2022 

2023`"defer"` 只在 Claude 於該回合中進行單一工具呼叫時有效。若 Claude 同時進行多個工具呼叫,`"defer"` 會被忽略並顯示警告,工具則會經由一般的權限流程繼續。此限制的原因在於恢復時只能重新執行一個工具:無法在不讓其他呼叫懸而未決的情況下,延遲一批呼叫中的其中一個。2023如果在您繼續時延後的工具已不再可用,繼續後的第一個結果會帶有 `stop_reason: "tool_deferred_unavailable"` 和 `is_error: true`,且 hook 不會觸發。當提供該工具的 MCP 伺服器在繼續的工作階段中未連線時,就會發生這種情況。`deferred_tool_use` payload 仍會包含在內,讓您可以識別遺失的是哪個工具。

2024 

2025* **如果您在繼續時或之後未傳送提示詞**,該呼叫仍處於待處理狀態。在工具可用時再次繼續,它會最先執行。

2026* **如果您在繼續時或之後傳送了提示詞**,Claude Code 會在沒有工具結果的情況下回答它,並捨棄延後的呼叫。如果您仍需要呼叫該工具,請在工具可用後傳送新的提示詞。

2024 2027 

2025若恢復時延遲的工具已不可用,程序會在 hook 觸發前以 `stop_reason: "tool_deferred_unavailable"` 和 `is_error: true` 結束。當提供該工具的 MCP 伺服器在恢復的工作階段中未連線時,就會發生這種情況。`deferred_tool_use` payload 仍會包含在內,讓您能辨識是哪個工具遺失了。2028如果在您不帶提示詞繼續時,所等待的答案尚未就緒,hook 可以再次傳回 `"defer"`。如果您傳送了提示詞而 hook 再次延後,Claude Code 會以相同方式處理該提示詞:在沒有工具結果的情況下回答,並捨棄該呼叫。請在不帶提示詞的情況下繼續,直到 hook 傳回 `"allow"` 或 `"deny"`,這就是呼叫端程序跳出迴圈的方式。

2029 

2030`"defer"` 只在 Claude 於該回合中進行單一工具呼叫時有效。若 Claude 同時進行多個工具呼叫,`"defer"` 會被忽略並顯示警告,工具則會經由一般的權限流程繼續。此限制的原因在於恢復時只能重新執行一個工具:無法在不讓其他呼叫懸而未決的情況下,延遲一批呼叫中的其中一個。

2026 2031 

2027> [!NOTE]2032> [!NOTE]

2028>2033>


2424| `quota_auto_resume_fired` | Claude Code 在 claude.ai 用量上限暫停您的任務後繼續執行:在重設時,或在等待期間您於 Claude Code 中所做的某些動作(例如新增用量點數、升級方案或切換模型)使用量再次可用時提前繼續,但有[模型設定例外](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset) |2429| `quota_auto_resume_fired` | Claude Code 在 claude.ai 用量上限暫停您的任務後繼續執行:在重設時,或在等待期間您於 Claude Code 中所做的某些動作(例如新增用量點數、升級方案或切換模型)使用量再次可用時提前繼續,但有[模型設定例外](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset) |

2425| `quota_auto_resume_stale` | claude.ai 用量上限在您的電腦休眠超過約 30 分鐘期間重設。Claude Code 會等待您按下 `Enter`,而非繼續執行。若休眠時間較短,它會繼續執行並改為觸發 `quota_auto_resume_fired` |2430| `quota_auto_resume_stale` | claude.ai 用量上限在您的電腦休眠超過約 30 分鐘期間重設。Claude Code 會等待您按下 `Enter`,而非繼續執行。若休眠時間較短,它會繼續執行並改為觸發 `quota_auto_resume_fired` |

2426| `quota_auto_resume_disabled` | Claude Code 結束對 claude.ai 用量上限的等待,且未繼續您的任務:[`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit) 已關閉,或在 Claude Code 自行開始的等待期間重設時間延後超過 24 小時、繼續的任務持續觸及上限,或繼續執行在抵達模型之前遭到封鎖。當您按下 `Esc` 或 `Ctrl+C`,或選擇 **Don't continue automatically** 時不會觸發 |2431| `quota_auto_resume_disabled` | Claude Code 結束對 claude.ai 用量上限的等待,且未繼續您的任務:[`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit) 已關閉,或在 Claude Code 自行開始的等待期間重設時間延後超過 24 小時、繼續的任務持續觸及上限,或繼續執行在抵達模型之前遭到封鎖。當您按下 `Esc` 或 `Ctrl+C`,或選擇 **Don't continue automatically** 時不會觸發 |

2432| `plugin_notification` | [mod](/docs/zh-TW/plugins/mods/api#show-something-without-starting-a-turn) 以 `$.ui.notify` 發出通知。除非 mod 另行設定,否則 hook 的 `title` 為該 mod 的名稱 |

2427 2433 

2428`quota_auto_resume_fired`、`quota_auto_resume_stale` 與 `quota_auto_resume_disabled` 類型需要 Claude Code v2.1.234 或更新版本。2434`quota_auto_resume_fired`、`quota_auto_resume_stale` 與 `quota_auto_resume_disabled` 類型需要 Claude Code v2.1.234 或更新版本。

2429 2435 

hooks-guide.md +4 −3

Details

193| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暫停後繼續您的任務:在重設時,或更早當您在等待期間於 Claude Code 中執行的操作(例如新增使用額度、升級計畫或切換模型)使使用量再次可用時,但有[模型設定例外](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset) |193| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暫停後繼續您的任務:在重設時,或更早當您在等待期間於 Claude Code 中執行的操作(例如新增使用額度、升級計畫或切換模型)使使用量再次可用時,但有[模型設定例外](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset) |

194| `quota_auto_resume_stale` | claude.ai 使用限制在您的電腦睡眠超過約 30 分鐘時重設。Claude Code 等待您按 `Enter` 而不是繼續。在較短的睡眠後,它會繼續並改為觸發 `quota_auto_resume_fired` |194| `quota_auto_resume_stale` | claude.ai 使用限制在您的電腦睡眠超過約 30 分鐘時重設。Claude Code 等待您按 `Enter` 而不是繼續。在較短的睡眠後,它會繼續並改為觸發 `quota_auto_resume_fired` |

195| `quota_auto_resume_disabled` | Claude Code 結束其對 claude.ai 使用限制的等待而不繼續您的任務:[`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit) 已關閉,或重設在 Claude Code 自行啟動的等待期間移動超過 24 小時,繼續的任務持續觸發限制,或在到達模型之前阻止了繼續。當您按 `Esc` 或 `Ctrl+C` 或選擇**不自動繼續**時不觸發 |195| `quota_auto_resume_disabled` | Claude Code 結束其對 claude.ai 使用限制的等待而不繼續您的任務:[`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit) 已關閉,或重設在 Claude Code 自行啟動的等待期間移動超過 24 小時,繼續的任務持續觸發限制,或在到達模型之前阻止了繼續。當您按 `Esc` 或 `Ctrl+C` 或選擇**不自動繼續**時不觸發 |

196| `plugin_notification` | [mod](/docs/zh-TW/plugins/mods/api#show-something-without-starting-a-turn) 透過 `$.ui.notify` 發出通知。除非 mod 自行設定,否則 hook 的 `title` 為該 mod 的名稱 |

196 197 

197Claude Code 在終端和在 Claude Desktop、VS Code 擴充功能和其他透過 Agent SDK 回答權限請求的主機中以不同方式計時 `permission_prompt`。請參閱[每個通知類型何時觸發](/docs/zh-TW/hooks#notification)以了解兩種計時。198Claude Code 在終端和在 Claude Desktop、VS Code 擴充功能和其他透過 Agent SDK 回答權限請求的主機中以不同方式計時 `permission_prompt`。請參閱[每個通知類型何時觸發](/docs/zh-TW/hooks#notification)以了解兩種計時。

198 199 


393 394 

394在每個具有 `.envrc` 的目錄中執行一次 `direnv allow`,以便允許 direnv 載入它。如果您使用 devbox 或 nix 而不是 direnv,相同的模式適用於 `devbox shellenv` 或 `devbox global shellenv` 代替 `direnv export bash`。395在每個具有 `.envrc` 的目錄中執行一次 `direnv allow`,以便允許 direnv 載入它。如果您使用 devbox 或 nix 而不是 direnv,相同的模式適用於 `devbox shellenv` 或 `devbox global shellenv` 代替 `direnv export bash`。

395 396 

396若要對特定檔案而不是每次目錄變更做出反應,請使用 `FileChanged` 搭配 `matcher` 列出要監視的檔案名稱(以 `|` 分隔)。建立監視清單時,Claude Code 會將此值分割為字面檔案名稱,而不是作為正規表達式進行評估。有關輸入架構、`watchPaths` 輸出和 `CLAUDE_ENV_FILE` 詳細資訊,請參閱 [FileChanged](/docs/zh-TW/hooks#filechanged)。此範例監視工作目錄中 `.envrc` 和 `.env` 的變更:397若要對特定檔案而不是每次目錄變更做出反應,請使用 `FileChanged` 搭配 `matcher` 列出要監視的檔案名稱(以 `|` 分隔)。建立監視清單時,Claude Code 會將此值分割為字面檔案名稱,而不是作為正規表達式進行評估。有關同一個值如何在檔案變更時也篩選要執行哪些 hook 群組,請參閱 [FileChanged](/docs/zh-TW/hooks#filechanged)。此範例監視工作目錄中的 `.envrc` 和 `.env`:

397 398 

398```json theme={null}399```json theme={null}

399{400{


632 633 

633 關於 `"allow"` 在 plan mode 中的作用,請參閱 [plan mode 中的 hook 核准](/docs/zh-TW/permissions#hook-approvals-in-plan-mode)。634 關於 `"allow"` 在 plan mode 中的作用,請參閱 [plan mode 中的 hook 核准](/docs/zh-TW/permissions#hook-approvals-in-plan-mode)。

634 635 

635第四個值 `"defer"` 在 [非互動模式](/docs/zh-TW/headless) 中使用 `-p` 旗標時可用。它以保留的工具呼叫結束程序,以便 Agent SDK 包裝器可以收集輸入並繼續。請參閱參考中的 [延遲工具呼叫以供稍後使用](/docs/zh-TW/hooks#defer-a-tool-call-for-later)。636第四個值 `"defer"` 在 [非互動模式](/docs/zh-TW/headless) 中使用 `-p` 旗標時可用。傳回此值會結束該回合並保留工具呼叫,以便 Agent SDK 包裝器可以收集輸入並繼續。請參閱參考中的 [延遲工具呼叫以供稍後使用](/docs/zh-TW/hooks#defer-a-tool-call-for-later)。

636 637 

637`PreModelSwitch` hook 傳回相同的 `permissionDecision` 欄位:`"allow"` 允許模型切換進行,`"deny"` 取消它。`"ask"` 在您在互動式會話中執行 `/model` 時要求您確認切換;在其他地方,Claude Code 將 `"ask"` 視為拒絕。請參閱 [PreModelSwitch 決定控制](/docs/zh-TW/hooks#premodelswitch-decision-control)。638`PreModelSwitch` hook 傳回相同的 `permissionDecision` 欄位:`"allow"` 允許模型切換進行,`"deny"` 取消它。`"ask"` 在您在互動式會話中執行 `/model` 時要求您確認切換;在其他地方,Claude Code 將 `"ask"` 視為拒絕。請參閱 [PreModelSwitch 決定控制](/docs/zh-TW/hooks#premodelswitch-decision-control)。

638 639 


686| `SessionStart` | 會話如何開始 | `startup`、`resume`、`clear`、`compact`、`fork` |687| `SessionStart` | 會話如何開始 | `startup`、`resume`、`clear`、`compact`、`fork` |

687| `Setup` | 哪個 CLI 旗標觸發設定 | `init`、`maintenance` |688| `Setup` | 哪個 CLI 旗標觸發設定 | `init`、`maintenance` |

688| `SessionEnd` | 會話為什麼結束 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |689| `SessionEnd` | 會話為什麼結束 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |

689| `Notification` | 通知類型 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` |690| `Notification` | 通知類型 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled`、`plugin_notification` |

690| `SubagentStart` | 代理類型 | `general-purpose`、`Explore`、`Plan` 或自訂代理名稱 |691| `SubagentStart` | 代理類型 | `general-purpose`、`Explore`、`Plan` 或自訂代理名稱 |

691| `PreCompact`、`PostCompact` | 什麼觸發了壓縮 | `manual`、`auto` |692| `PreCompact`、`PostCompact` | 什麼觸發了壓縮 | `manual`、`auto` |

692| `PreModelSwitch`、`PostModelSwitch` | 會話切換到的模型的規範名稱,如 [PreModelSwitch](/docs/zh-TW/hooks#premodelswitch) 下所述 | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |693| `PreModelSwitch`、`PostModelSwitch` | 會話切換到的模型的規範名稱,如 [PreModelSwitch](/docs/zh-TW/hooks#premodelswitch) 下所述 | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |

Details

18 18 

19| 快捷鍵 | 說明 | 內容 |19| 快捷鍵 | 說明 | 內容 |

20| :- | :- | :- |20| :- | :- | :- |

21| `Ctrl+C` | 中斷或清除輸入 | 中斷執行中的操作。如果沒有任何操作執行中,第一次按下會清除提示詞輸入,第二次按下會退出 Claude Code。在提示詞仍為空時按 `Up` 可取回已清除的草稿,此功能需要 Claude Code v2.1.288 或更新版本 |21| `Ctrl+C` | 中斷或清除輸入 | 中斷執行中的操作。如果沒有任何操作執行中,第一次按下會清除提示詞輸入,第二次按下會退出 Claude Code。若要取回已清除的草稿,請參閱[取回已清除的草稿](#bring-back-a-cleared-draft) |

22| `Ctrl+X Ctrl+K` | 停止此工作階段中所有執行中的[背景 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background),並在此工作階段剩餘期間關閉 [artifact 自動回覆](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。在 3 秒內按兩次以確認。即使背景 subagent 的權限提示正開啟,您也可以按下此鍵 | Subagent 控制 |22| `Ctrl+X Ctrl+K` | 停止此工作階段中所有執行中的[背景 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background),並在此工作階段剩餘期間關閉 [artifact 自動回覆](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。在 3 秒內按兩次以確認。即使背景 subagent 的權限提示正開啟,您也可以按下此鍵 | Subagent 控制 |

23| `Ctrl+D` | 退出 Claude Code 工作階段 | 第一次按下會顯示確認提示,第二次在 800ms 內按下會退出。當提示有文字時,`Ctrl+D` 會刪除游標後的字元 |23| `Ctrl+D` | 退出 Claude Code 工作階段 | 第一次按下會顯示確認提示,第二次在 800ms 內按下會退出。當提示有文字時,`Ctrl+D` 會刪除游標後的字元 |

24| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在預設文字編輯器中開啟 | 在您的預設文字編輯器中編輯您的提示或自訂回應。`Ctrl+X Ctrl+E` 是 readline 原生繫結。在 `/config` 中開啟**在外部編輯器中顯示最後回應**以在您的提示上方將 Claude 的先前回覆作為 `#` 註解內容前置;Claude Code 會在您儲存時移除註解區塊 |24| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在預設文字編輯器中開啟 | 在您的預設文字編輯器中編輯您的提示或自訂回應。`Ctrl+X Ctrl+E` 是 readline 原生繫結。在 `/config` 中開啟**在外部編輯器中顯示最後回應**以在您的提示上方將 Claude 的先前回覆作為 `#` 註解內容前置;Claude Code 會在您儲存時移除註解區塊 |


262 262 

263不支援使用 `Ctrl+V` 的區塊式視覺模式。263不支援使用 `Ctrl+V` 的區塊式視覺模式。

264 264 

265### 在 vim 模式中取消問題

266 

267當您在 [Claude 提出的問題](/docs/zh-TW/tools-reference#askuserquestion-tool-behavior)的 `Other` 列中輸入自己的答案時,按兩次 `Esc` 即可取消該問題。

268 

269若要改為只按一個鍵就取消,請[綁定另一個鍵來取消問題](/docs/zh-TW/keybindings#cancel-a-question-with-one-key-press)。

270 

265## 命令歷史271## 命令歷史

266 272 

267Claude Code 會保留您輸入的提示詞歷史,並且向上箭頭可以回憶同一專案過去工作階段的提示詞:273Claude Code 會保留您輸入的提示詞歷史,並且向上箭頭可以回憶同一專案過去工作階段的提示詞:


272* 當您回憶包含貼上文字的提示詞時,Claude Code 會在您重新提交時再次傳送完整的貼上內容。如果內容已被[自動清理](/docs/zh-TW/claude-directory#cleaned-up-automatically),Claude Code 不會傳送字面上的 `[Pasted text #N]` 字串;請參閱[貼上大型內容](/docs/zh-TW/terminal-config#paste-large-content)以了解提示詞會發生什麼情況278* 當您回憶包含貼上文字的提示詞時,Claude Code 會在您重新提交時再次傳送完整的貼上內容。如果內容已被[自動清理](/docs/zh-TW/claude-directory#cleaned-up-automatically),Claude Code 不會傳送字面上的 `[Pasted text #N]` 字串;請參閱[貼上大型內容](/docs/zh-TW/terminal-config#paste-large-content)以了解提示詞會發生什麼情況

273* 使用 `!` 的歷史展開預設為停用279* 使用 `!` 的歷史展開預設為停用

274 280 

281### 找回已清除的草稿

282 

283若要找回您以 `Ctrl+C` 清除的草稿,請按 `Up`,可以在清除後立即按,也可以在傳送訊息或命令之後按:

284 

285* **清除草稿後立即找回**:在提示詞仍為空白時按一次 `Up`。需要 Claude Code v2.1.288 或更新版本。

286* **傳送訊息或命令之後找回**:按 `Up` 回到該草稿。Claude Code 會為目前的工作階段保留最近十個已清除的草稿,包含其貼上的文字和圖片,並在您結束時捨棄它們。需要 Claude Code v2.1.292 或更新版本。

287 

275### 使用 Ctrl+R 進行反向搜尋288### 使用 Ctrl+R 進行反向搜尋

276 289 

277按 `Ctrl+R` 以互動方式搜尋您的命令歷史。在[全螢幕渲染](/docs/zh-TW/fullscreen)中,`Ctrl+R` 會開啟搜尋對話框:輸入以篩選、按 `Up` 和 `Down` 在符合項目中移動,以及按 `Ctrl+S` 循環切換範圍(此工作階段、此專案和所有專案)。按 `Enter` 或 `Tab` 將符合項目放在提示詞輸入中,或按 `Esc` 取消。下面的步驟說明傳統渲染器的內嵌搜尋:290按 `Ctrl+R` 以互動方式搜尋您的命令歷史。在[全螢幕渲染](/docs/zh-TW/fullscreen)中,`Ctrl+R` 會開啟搜尋對話框:輸入以篩選、按 `Up` 和 `Down` 在符合項目中移動,以及按 `Ctrl+S` 循環切換範圍(此工作階段、此專案和所有專案)。按 `Enter` 或 `Tab` 將符合項目放在提示詞輸入中,或按 `Esc` 取消。下面的步驟說明傳統渲染器的內嵌搜尋:


386* [`/effort`](/docs/zh-TW/model-config#adjust-effort-level):一旦您確認 [快取警告](/docs/zh-TW/prompt-caching#changing-effort-level)(如果 Claude Code 顯示的話),Claude Code 會將您的變更應用於該回合中它進行的下一個請求399* [`/effort`](/docs/zh-TW/model-config#adjust-effort-level):一旦您確認 [快取警告](/docs/zh-TW/prompt-caching#changing-effort-level)(如果 Claude Code 顯示的話),Claude Code 會將您的變更應用於該回合中它進行的下一個請求

387* [`/fast`](/docs/zh-TW/fast-mode#toggle-fast-mode):Claude Code 保留回合開始時啟用的快速模式設定,因此您的速度變更從您的下一回合開始應用。如果您目前的模型不支援快速模式,開啟它也會 [切換您的模型](/docs/zh-TW/prompt-caching#turning-on-fast-mode),Claude Code 會從該回合中的下一個請求開始使用新模型400* [`/fast`](/docs/zh-TW/fast-mode#toggle-fast-mode):Claude Code 保留回合開始時啟用的快速模式設定,因此您的速度變更從您的下一回合開始應用。如果您目前的模型不支援快速模式,開啟它也會 [切換您的模型](/docs/zh-TW/prompt-caching#turning-on-fast-mode),Claude Code 會從該回合中的下一個請求開始使用新模型

388 401 

402### 在有排隊訊息時將工作階段移至背景

403 

404當您 [按下 `←`](/docs/zh-TW/agent-view#switch-sessions-without-leaving-the-terminal) 後工作階段移至背景時,您已排隊的訊息會隨之移動。Claude 會在背景中按照您傳送的順序讀取它們。

405 

406命令和 `!` shell 命令無法移動,某些訊息也無法移動,例如附加了 [IDE 選取項目](/docs/zh-TW/vs-code#the-built-in-ide-mcp-server)的訊息。如果您在其中任何一個仍在排隊時按下 `←`,工作階段會留在前景,並出現以 `Cannot open agents` 開頭的通知。若要將工作階段移至背景,請先將該項目移出佇列,然後再次按下 `←`:

407 

408* **命令和 `!` shell 命令**:等待它們在回合結束時執行,或 [取回它們](#take-back-what-you-queued)並清除輸入框。當有其他任何項目在排隊時,您無法取回 `!` shell 命令,因此請等待它們執行。

409* **無法移動的訊息**:等待 Claude 讀取它們

410 

389### 取回您排隊的內容411### 取回您排隊的內容

390 412 

391從輸入框的第一行按 `Up` 以取回排隊的訊息和命令。Claude Code 會將它們從佇列中移除並放入輸入框,每行一個,位於您已輸入的任何文字之前。編輯文字並按 `Enter` 以將其作為一個項目再次排隊,或清除輸入框以捨棄它。413從輸入框的第一行按 `Up` 以取回排隊的訊息和命令。Claude Code 會將它們從佇列中移除並放入輸入框,每行一個,位於您已輸入的任何文字之前。編輯文字並按 `Enter` 以將其作為一個項目再次排隊,或清除輸入框以捨棄它。

keybindings.md +188 −165

Details

76 76 

77在 v2.1.205 之前,`/doctor` 診斷畫面存在 `Doctor` 上下文和 `doctor:fix` 動作。77在 v2.1.205 之前,`/doctor` 診斷畫面存在 `Doctor` 上下文和 `doctor:fix` 動作。

78 78 

79## 可用的動作79## 可用動作

80 80 

81動作遵循 `namespace:action` 格式,例如 `chat:submit` 用於傳送訊息,或 `app:toggleTodos` 用於顯示工作清單。每個上下文都有特定的可用動作。81動作採用 `namespace:action` 格式,例如 `chat:submit` 用於傳送訊息,`app:toggleTodos` 用於顯示任務清單。每個情境都有其特定的可用動作。

82 82 

83### 應用程式動作83### 應用程式動作

84 84 

85在 `Global` 上下文中可用的動作:85在 `Global` 情境中可用的動作:

86 86 

87| 動作 | 預設 | 說明 |87| 動作 | 預設 | 說明 |

88| :- | :- | :- |88| :- | :- | :- |

89| `app:interrupt` | Ctrl+C | 取消目前的操作 |89| `app:interrupt` | Ctrl+C | 取消目前的操作 |

90| `app:exit` | Ctrl+D | 結束 Claude Code。在 800ms 內按兩次以確認 |90| `app:exit` | Ctrl+D | 結束 Claude Code。在 800ms 內按兩次以確認 |

91| `app:redraw` | (未綁定) | 強制終端機重繪 |91| `app:redraw` | (未繫結) | 強制重繪終端機 |

92| `app:toggleTodos` | Ctrl+T | 切換 Claude 待辦事項清單的可見性。這不是 [`/tasks`](/docs/zh-TW/commands) 背景工作檢視 |92| `app:toggleTodos` | Ctrl+T | 切換 Claude 待辦檢查清單的顯示。這不是 [`/tasks`](/docs/zh-TW/commands) 背景任務檢視 |

93| `app:toggleTranscript` | Ctrl+O | 切換詳細文字記錄 |93| `app:toggleTranscript` | Ctrl+O | 切換詳細逐字稿 |

94 94 

95### 歷史記錄動作95### 歷史記錄動作

96 96 

97用於導覽命令歷史記錄的動作:97用於瀏覽命令歷史記錄的動作:

98 98 

99| 動作 | 預設 | 說明 |99| 動作 | 預設 | 說明 |

100| :- | :- | :- |100| :- | :- | :- |


104 104 

105### 聊天動作105### 聊天動作

106 106 

107在 `Chat` 上下文中可用的動作:107在 `Chat` 情境中可用的動作:

108 108 

109| 動作 | 預設 | 說明 |109| 動作 | 預設 | 說明 |

110| :- | :- | :- |110| :- | :- | :- |

111| `chat:cancel` | Escape | 取消目前的輸入 |111| `chat:cancel` | Escape | 取消目前的輸入 |

112| `chat:clearInput` | Ctrl+L | 強制進行完整螢幕重繪,保留輸入和對話 |112| `chat:clearInput` | Ctrl+L | 強制完整重繪畫面,保留輸入與對話 |

113| `chat:clearScreen` | Cmd+K | 與 `chat:clearInput` 相同。請參閱 [清除對話](/docs/zh-TW/fullscreen#clear-the-conversation) 以了解 Cmd+K 在 iTerm2 和 Terminal.app 上的行為 |113| `chat:clearScreen` | Cmd+K | 與 `chat:clearInput` 相同。關於 Cmd+K 在 iTerm2 和 Terminal.app 上的行為,請參閱[清除對話](/docs/zh-TW/fullscreen#clear-the-conversation) |

114| `chat:killAgents` | Ctrl+X Ctrl+K | 停止此工作階段中所有執行中的 [背景 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background),並在此工作階段的剩餘期間關閉 [artifact 自動回覆](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。在 3 秒內按兩次快捷鍵以確認。即使背景 subagent 的權限提示正在開啟,您也可以按下此快捷鍵 |114| `chat:killAgents` | Ctrl+X Ctrl+K | 停止此工作階段中所有正在執行的[背景 subagent](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background),並在此工作階段的剩餘時間內關閉 [artifact 自動回覆](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。在 3 秒內按兩次快捷鍵以確認。即使背景 subagent 的權限提示正在開啟,也可以按下此快捷鍵 |

115| `chat:cycleMode` | Shift+Tab\* | 循環權限模式 |115| `chat:cycleMode` | Shift+Tab\* | 循環切換權限模式 |

116| `chat:modelPicker` | Meta+P | 開啟模型選擇器 |116| `chat:modelPicker` | Meta+P | 開啟模型選擇器 |

117| `chat:fastMode` | Meta+O | 切換快速模式 |117| `chat:fastMode` | Meta+O | 切換快速模式 |

118| `chat:thinkingToggle` | Meta+T | 切換延伸思考 |118| `chat:thinkingToggle` | Meta+T | 切換延伸思考 |

119| `chat:submit` | Enter | 提交訊息 |119| `chat:submit` | Enter | 送出訊息 |

120| `chat:queueSubmit` | Ctrl+X Enter | 提交訊息,標記為等待輪次:當 Claude 正在工作時,Claude Code [將其排隊](/docs/zh-TW/interactive-mode#queue-messages-while-claude-works),永遠不會中斷輪次。與 `chat:submit` 不同,即使自動完成建議被突出顯示,它也會提交草稿。需要 v2.1.247 或更新版本 |120| `chat:queueSubmit` | Ctrl+X Enter | 送出訊息並標記為等待輪到它:當 Claude 正在工作時,Claude Code 會[將其排入佇列](/docs/zh-TW/interactive-mode#queue-messages-while-claude-works),且絕不中斷目前的回合。與 `chat:submit` 不同,即使自動完成建議正處於醒目提示狀態,它也會送出草稿。需要 v2.1.247 或更新版本 |

121| `chat:sendNow` | Ctrl+Enter, Ctrl+X Ctrl+S | 立即傳送您的 [排隊訊息](/docs/zh-TW/interactive-mode#queue-messages-while-claude-works) 和您的草稿。[Claude Code 傳送您排隊的內容時](/docs/zh-TW/interactive-mode#when-claude-code-sends-what-you-queued) 涵蓋 Claude 正在處理的輪次會發生什麼。當沒有任何內容執行時,該按鍵會提交草稿,在 [shell 模式](/docs/zh-TW/interactive-mode#shell-mode-with-prefix) 中,它只會排隊命令。不報告延伸按鍵的終端機會將 `Ctrl+Enter` 傳遞為純 `Enter`,因此 `Ctrl+X Ctrl+S` 是在任何終端機中都能運作的綁定。需要 v2.1.275 或更新版本 |121| `chat:sendNow` | Ctrl+Enter, Ctrl+X Ctrl+S | 立即傳送您[排入佇列的訊息](/docs/zh-TW/interactive-mode#queue-messages-while-claude-works),連同您的草稿一起傳送。[Claude Code 何時傳送您排入佇列的內容](/docs/zh-TW/interactive-mode#when-claude-code-sends-what-you-queued)說明了 Claude 正在處理的回合會如何處理。當沒有任何項目在執行時,此按鍵會送出草稿,而在 [shell 模式](/docs/zh-TW/interactive-mode#shell-mode-with-prefix)中則只會將命令排入佇列。不回報延伸按鍵的終端機會將 `Ctrl+Enter` 當作一般的 `Enter` 傳送,因此 `Ctrl+X Ctrl+S` 是在任何終端機中都能運作的繫結。需要 v2.1.275 或更新版本 |

122| `chat:newline` | Ctrl+J | 插入新行而不提交 |122| `chat:newline` | Ctrl+J | 插入換行而不送出 |

123| `chat:undo` | Ctrl+\_, Ctrl+Shift+- | 復原上一個動作 |123| `chat:undo` | Ctrl+\_, Ctrl+Shift+- | 復原上一個動作 |

124| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | 在外部編輯器中開啟。[代理檢視分派輸入](/docs/zh-TW/agent-view#keyboard-shortcuts) 也遵循此動作的單按鍵綁定 |124| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | 在外部編輯器中開啟。[agent 檢視的 dispatch 輸入](/docs/zh-TW/agent-view#keyboard-shortcuts)也會遵循此動作的單一按鍵繫結 |

125| `chat:stash` | Ctrl+S | 暫存目前的提示 |125| `chat:stash` | Ctrl+S | 暫存目前的提示詞 |

126| `chat:imagePaste` | Ctrl+V (Windows 和 WSL 上為 Alt+V) | 從剪貼簿貼上圖片。在 WSL 上,預設會綁定兩個快捷鍵 |126| `chat:imagePaste` | Ctrl+V(在 Windows 和 WSL 上為 Alt+V) | 從剪貼簿貼上圖片。在 WSL 上,兩個快捷鍵預設都已繫結 |

127 127 

128\*在沒有 VT 模式的 Windows 上 (Node \<24.2.0/\<22.17.0, Bun \<1.2.23),預設為 Meta+M。128\*在未啟用 VT 模式的 Windows 上(Node \<24.2.0/\<22.17.0、Bun \<1.2.23),預設為 Meta+M。

129 129 

130### 自動完成動作130### 自動完成動作

131 131 

132在 `Autocomplete` 上下文中可用的動作:132在 `Autocomplete` 情境中可用的動作:

133 133 

134| 動作 | 預設 | 說明 |134| 動作 | 預設 | 說明 |

135| :- | :- | :- |135| :- | :- | :- |

136| `autocomplete:accept` | Tab | 接受建議 |136| `autocomplete:accept` | Tab | 接受建議 |

137| `autocomplete:dismiss` | Escape | 關閉功能表 |137| `autocomplete:dismiss` | Escape | 關閉選單 |

138| `autocomplete:previous` | Up | 上一個建議 |138| `autocomplete:previous` | Up | 上一個建議 |

139| `autocomplete:next` | Down | 下一個建議 |139| `autocomplete:next` | Down | 下一個建議 |

140 140 

141### 確認動作141### 確認動作

142 142 

143在 `Confirmation` 上下文中可用的動作:143在 `Confirmation` 情境中可用的動作:

144 144 

145| 動作 | 預設 | 說明 |145| 動作 | 預設 | 說明 |

146| :- | :- | :- |146| :- | :- | :- |


149| `confirm:previous` | Up | 上一個選項 |149| `confirm:previous` | Up | 上一個選項 |

150| `confirm:next` | Down | 下一個選項 |150| `confirm:next` | Down | 下一個選項 |

151| `confirm:nextField` | Tab | 在 `/fast` 對話框中,開啟或關閉快速模式 |151| `confirm:nextField` | Tab | 在 `/fast` 對話框中,開啟或關閉快速模式 |

152| `confirm:previousField` | (未綁定) | Claude Code 不會回應此動作,且命名它的 `keybindings.json` 仍然有效 |152| `confirm:previousField` | (未繫結) | Claude Code 不會回應此動作,而指定此動作的 `keybindings.json` 仍然有效 |

153| `confirm:toggle` | Space | 切換選擇 |153| `confirm:toggle` | Space | 切換選取 |

154| `confirm:cycleMode` | Shift+Tab\* | 在檔案權限提示上,關閉開啟的 [評論欄位](/docs/zh-TW/permissions#add-a-comment-when-you-answer-a-permission-prompt);沒有開啟的欄位時,選擇允許該動作用於工作階段其餘部分的選項,當提示提供該選項時 |154| `confirm:cycleMode` | Shift+Tab\* | 在檔案權限提示上,關閉已開啟的[註解欄位](/docs/zh-TW/permissions#add-a-comment-when-you-answer-a-permission-prompt);若沒有開啟的欄位,且提示提供該選項時,則選取允許此動作在工作階段剩餘時間內執行的選項 |

155 155 

156\*在沒有 VT 模式的 Windows 上 (Node \<24.2.0/\<22.17.0, Bun \<1.2.23),預設為 Meta+M。156\*在未啟用 VT 模式的 Windows 上(Node \<24.2.0/\<22.17.0、Bun \<1.2.23),預設為 Meta+M。

157 157 

158在 v2.1.257 之前,`confirm:toggleExplanation` 動作綁定到 `Ctrl+E`,預設情況下在 Bash 和 PowerShell 權限提示上顯示模型生成的命令說明。158在 v2.1.257 之前,有一個預設繫結至 `Ctrl+E` 的 `confirm:toggleExplanation` 動作,會在 Bash 和 PowerShell 權限提示上顯示由模型產生的命令說明。

159 159 

160對話框使用 `confirm:yes` 和 `confirm:no` 來接受和取消,即使它們不提出是或否的問題。如果您在此上下文中綁定裸字母(例如 `y` 或 `n`),該字母也會作用於從不將其顯示為按鍵的對話框。顯示 `y` 和 `n` 作為其按鍵的對話框會自行讀取這些字母,不需要綁定。160對話框使用 `confirm:yes` 和 `confirm:no` 來接受與取消,即使對話框並未提出是非問題也是如此。如果您在此情境中繫結單一字母(例如 `y` 或 `n`),該字母也會作用於從未將其顯示為按鍵的對話框。將 `y` 和 `n` 顯示為按鍵的對話框會自行讀取這些字母,不需要繫結。

161 161 

162在大多數對話框中,按 `Ctrl+C` 或 `Ctrl+D` 兩次會關閉對話框,而不是結束 Claude Code。第一次按下後的提示會說明第二次按下是關閉對話框還是結束。兩個按鍵都是 [保留的](#reserved-shortcuts),無法重新綁定。162在大多數對話框中,按兩次 `Ctrl+C` 或 `Ctrl+D` 會關閉對話框,而不是結束 Claude Code。第一次按下後的提示會說明第二次按下是關閉對話框還是結束。這兩個按鍵都是[保留的](#reserved-shortcuts),無法重新繫結。

163 163 

164此範例將 `y` 綁定到 `confirm:yes`,將 `n` 綁定到 `confirm:no`:164此範例將 `y` 繫結至 `confirm:yes`,將 `n` 繫結至 `confirm:no`:

165 165 

166```json theme={null}166```json theme={null}

167{167{


177}177}

178```178```

179 179 

180使用這些綁定,當 [文字欄位](#text-fields) 有焦點時,`y` 和 `n` 仍然會輸入為字母。180使用這些繫結時,當[文字欄位](#text-fields)取得焦點時,`y` 和 `n` 仍會以字母形式輸入。

181 181 

182在 v2.1.280 之前,`y` 也預設綁定到 `confirm:yes`,`n` 綁定到 `confirm:no`。如果您在 v2.1.280 之前使用 `/keybindings` 建立了 `keybindings.json`,該檔案會列出兩個綁定,它們會保持有效,直到您刪除這兩行。182在 v2.1.280 之前,`y` 預設也繫結至 `confirm:yes`,`n` 則繫結至 `confirm:no`。如果您在 v2.1.280 之前使用 `/keybindings` 建立了 `keybindings.json`,該檔案會列出這兩個繫結,且在您刪除這兩行之前它們會持續生效。

183 183 

184### 權限動作184### 權限動作

185 185 

186在 `Confirmation` 上下文中可用的動作,用於權限對話框:186在 `Confirmation` 情境中可用於權限對話框的動作:

187 187 

188| 動作 | 預設 | 說明 |188| 動作 | 預設 | 說明 |

189| :- | :- | :- |189| :- | :- | :- |

190| `permission:toggleDebug` | (未綁定) | Claude Code 不會回應此動作,且命名它的 `keybindings.json` 仍然有效 |190| `permission:toggleDebug` | (未繫結) | Claude Code 不會回應此動作,而指定此動作的 `keybindings.json` 仍然有效 |

191 191 

192### 文字記錄動作192### 逐字稿動作

193 193 

194在 `Transcript` 上下文中可用的動作:194在 `Transcript` 情境中可用的動作:

195 195 

196| 動作 | 預設 | 說明 |196| 動作 | 預設 | 說明 |

197| :- | :- | :- |197| :- | :- | :- |

198| `transcript:toggleShowAll` | Ctrl+E | 切換顯示所有內容 |198| `transcript:toggleShowAll` | Ctrl+E | 切換顯示所有內容 |

199| `transcript:exit` | q, Ctrl+C, Escape | 結束文字記錄檢視 |199| `transcript:exit` | q, Ctrl+C, Escape | 結束逐字稿檢視 |

200 200 

201`transcript:toggleShowAll` 僅在經典轉譯器中適用;在 [全螢幕轉譯](/docs/zh-TW/fullscreen) 中,文字記錄檢視器不提供顯示全部切換。201`transcript:toggleShowAll` 僅適用於傳統渲染器;在[全螢幕渲染](/docs/zh-TW/fullscreen)中,逐字稿檢視器不提供顯示全部的切換功能。

202 202 

203### 歷史記錄搜尋動作203### 歷史記錄搜尋動作

204 204 

205在 `HistorySearch` 上下文中可用的動作:205在 `HistorySearch` 情境中可用的動作:

206 206 

207| 動作 | 預設 | 說明 |207| 動作 | 預設 | 說明 |

208| :- | :- | :- |208| :- | :- | :- |

209| `historySearch:next` | Ctrl+R | 下一個符合項 |209| `historySearch:next` | Ctrl+R | 下一個符合項目 |

210| `historySearch:accept` | Escape, Tab | 接受選擇 |210| `historySearch:accept` | Escape, Tab | 接受選取 |

211| `historySearch:cancel` | Ctrl+C | 取消搜尋 |211| `historySearch:cancel` | Ctrl+C | 取消搜尋 |

212| `historySearch:execute` | Enter | 執行選定的命令 |212| `historySearch:execute` | Enter | 執行選取的命令 |

213| `historySearch:cycleScope` | Ctrl+S | 循環範圍:工作階段、專案、任何地方 |213| `historySearch:cycleScope` | Ctrl+S | 循環切換範圍:工作階段、專案、所有位置 |

214 214 

215`historySearch:next`、`historySearch:accept`、`historySearch:cancel` 和 `historySearch:execute` 預設值適用於經典轉譯器中的內嵌歷史記錄搜尋,它始終搜尋來自所有專案的提示。`historySearch:cycleScope` 僅在 [全螢幕轉譯](/docs/zh-TW/fullscreen) 中生效,其中 `Ctrl+R` 開啟搜尋對話框,`Ctrl+S` 循環其範圍。對話框的其他按鍵是固定的,無法重新綁定:`Enter` 或 `Tab` 將突出顯示的符合項放在提示輸入中,`Esc` 取消。215`historySearch:next`、`historySearch:accept`、`historySearch:cancel` 和 `historySearch:execute` 的預設值適用於傳統渲染器中的行內歷史記錄搜尋,該搜尋一律會搜尋所有專案的提示詞。`historySearch:cycleScope` 僅在[全螢幕渲染](/docs/zh-TW/fullscreen)中生效,在此模式下 `Ctrl+R` 會改為開啟搜尋對話框,而 `Ctrl+S` 會循環切換其範圍。該對話框的其他按鍵是固定的,無法重新繫結:`Enter` 或 `Tab` 會將醒目提示的符合項目放入提示詞輸入中,`Esc` 則會取消。

216 216 

217### 工作動作217### 任務動作

218 218 

219在 `Task` 上下文中可用的動作:219在 `Task` 情境中可用的動作:

220 220 

221| 動作 | 預設 | 說明 |221| 動作 | 預設 | 說明 |

222| :- | :- | :- |222| :- | :- | :- |


224 224 

225### 主題動作225### 主題動作

226 226 

227在 `ThemePicker` 上下文中可用的動作:227在 `ThemePicker` 情境中可用的動作:

228 228 

229| 動作 | 預設 | 說明 |229| 動作 | 預設 | 說明 |

230| :- | :- | :- |230| :- | :- | :- |

231| `theme:toggleSyntaxHighlighting` | Ctrl+T | 切換語法突出顯示 |231| `theme:toggleSyntaxHighlighting` | Ctrl+T | 切換語法醒目提示 |

232 232 

233### 說明動作233### 說明動作

234 234 

235在 `Help` 上下文中可用的動作:235在 `Help` 情境中可用的動作:

236 236 

237| 動作 | 預設 | 說明 |237| 動作 | 預設 | 說明 |

238| :- | :- | :- |238| :- | :- | :- |

239| `help:dismiss` | Escape | 關閉說明功能表 |239| `help:dismiss` | Escape | 關閉說明選單 |

240 240 

241### 標籤動作241### 分頁動作

242 242 

243在 `Tabs` 上下文中可用的動作:243在 `Tabs` 情境中可用的動作:

244 244 

245| 動作 | 預設 | 說明 |245| 動作 | 預設 | 說明 |

246| :- | :- | :- |246| :- | :- | :- |

247| `tabs:next` | Tab, Right | 下一個標籤 |247| `tabs:next` | Tab, Right | 下一個分頁 |

248| `tabs:previous` | Shift+Tab, Left | 上一個標籤 |248| `tabs:previous` | Shift+Tab, Left | 上一個分頁 |

249 249 

250在標籤式對話框中,當標籤列有焦點時,`tabs:next` 和 `tabs:previous` 會切換標籤。在某些對話框中,例如 `/help` 和 `/sandbox`,標籤切換按鍵也可以從標籤的內容內部運作。250在含有分頁的對話框中,當分頁列取得焦點時,`tabs:next` 和 `tabs:previous` 會切換分頁。在某些對話框中(例如 `/help` 和 `/sandbox`),分頁切換按鍵在分頁內容中也能運作。

251 251 

252`Up` 和 `Down` 在標籤列和標籤的內容之間移動焦點,內容中的清單僅在有焦點時才會回應按鍵。252`Up` 和 `Down` 會在分頁列與分頁內容之間移動焦點,而內容中的清單只有在取得焦點時才會回應按鍵。

253 253 

254### 附件動作254### 附件動作

255 255 

256在 `Attachments` 上下文中可用的動作:256在 `Attachments` 情境中可用的動作:

257 257 

258| 動作 | 預設 | 說明 |258| 動作 | 預設 | 說明 |

259| :- | :- | :- |259| :- | :- | :- |

260| `attachments:next` | Right | 下一個附件 |260| `attachments:next` | Right | 下一個附件 |

261| `attachments:previous` | Left | 上一個附件 |261| `attachments:previous` | Left | 上一個附件 |

262| `attachments:remove` | Backspace, Delete | 移除選定的附件 |262| `attachments:remove` | Backspace, Delete | 移除選取的附件 |

263| `attachments:exit` | Down, Escape | 結束附件導覽 |263| `attachments:exit` | Down, Escape | 結束附件瀏覽 |

264 264 

265### 頁尾動作265### 頁尾動作

266 266 

267在 `Footer` 上下文中可用的動作:267在 `Footer` 情境中可用的動作:

268 268 

269| 動作 | 預設 | 說明 |269| 動作 | 預設 | 說明 |

270| :- | :- | :- |270| :- | :- | :- |

271| `footer:next` | Right | 下一個頁尾項目 |271| `footer:next` | Right | 下一個頁尾項目 |

272| `footer:previous` | Left | 上一個頁尾項目 |272| `footer:previous` | Left | 上一個頁尾項目 |

273| `footer:up` | Up, Ctrl+P | 在頁尾中向上導覽 (在頂部取消選擇) |273| `footer:up` | Up, Ctrl+P | 在頁尾中向上瀏覽(在頂端時取消選取) |

274| `footer:down` | Down, Ctrl+N | 在頁尾中向下導覽 |274| `footer:down` | Down, Ctrl+N | 在頁尾中向下瀏覽 |

275| `footer:openSelected` | Enter | 開啟選定的頁尾項目 |275| `footer:openSelected` | Enter | 開啟選取的頁尾項目 |

276| `footer:clearSelection` | Escape | 清除頁尾選擇 |276| `footer:clearSelection` | Escape | 清除頁尾選取 |

277| `footer:close` | x | 停止選定的 [agent](/docs/zh-TW/sub-agents#observe-and-steer-running-forks) 或 [工作流程](/docs/zh-TW/workflows#manage-runs),若其已不再執行,則關閉其列 |277| `footer:close` | x | 停止選取的 [agent](/docs/zh-TW/sub-agents#observe-and-steer-running-forks) 或[工作流程](/docs/zh-TW/workflows#manage-runs),若其已不再執行,則關閉其所在列 |

278| `footer:dismiss` | (未綁定) | 將按鍵綁定到此動作沒有效果,命名它的 `keybindings.json` 保持有效。在 v2.1.281 之前,Backspace 和 Delete 被綁定到它,並從頁尾中關閉選定的成品連結。 |278| `footer:dismiss` | (未繫結) | 將按鍵繫結至此動作不會有任何效果,而指定此動作的 `keybindings.json` 仍然有效。在 v2.1.281 之前,Backspace 和 Delete 繫結至此動作,用於從頁尾關閉選取的 artifact 連結。 |

279 279 

280當選定頁尾項目時,例如提示下方代理面板中的列,即使您在 `Chat` 上下文中將 `Enter` 重新綁定到 `chat:queueSubmit` 或 `chat:newline`,按 `Enter` 也會開啟它。280當選取了頁尾項目(例如提示詞下方 agent 面板中的某一列)時,即使您在 `Chat` 情境中將 `Enter` 重新繫結至 `chat:queueSubmit` 或 `chat:newline`,`Enter` 仍會開啟該項目。

281 281 

282`Chat` 在 `Footer` 上下文未綁定的按鍵上的綁定,例如 `Shift+Tab` 用於 `chat:cycleMode`,在選定項目時保持運作。282`Footer` 情境未繫結之按鍵上的 `Chat` 繫結(例如用於 `chat:cycleMode` 的 `Shift+Tab`),在選取項目時仍會繼續運作。

283 283 

284### 訊息選擇器動作284### 訊息選擇器動作

285 285 

286在 [倒帶功能表](/docs/zh-TW/checkpointing) 的訊息清單中,您可以使用 [選擇動作](#select-actions) 及其預設按鍵在訊息中移動並選擇一個。您對這些動作的 `Select` 綁定也適用於此處。`MessageSelector` 上下文沒有自己的動作或預設綁定。使用它來僅為此清單變更按鍵,方法是在 `MessageSelector` 區塊中綁定選擇動作,例如 `select:accept`。286在[倒轉選單](/docs/zh-TW/checkpointing)的訊息清單中,您可以使用 [Select 動作](#select-actions)及其預設按鍵來瀏覽訊息並挑選其中一則。您為這些動作設定的 `Select` 繫結也適用於此處。`MessageSelector` 情境本身沒有任何動作或預設繫結。您可以使用它來僅針對此清單變更按鍵,方法是在 `MessageSelector` 區塊中繫結 Select 動作,例如 `select:accept`。

287 287 

288此範例將 `o` 綁定到在倒帶功能表中選擇突出顯示的訊息,而不變更任何其他清單:288此範例將 `o` 繫結為在倒轉選單中挑選醒目提示的訊息,而不變更任何其他清單:

289 289 

290```json theme={null}290```json theme={null}

291{291{


300}300}

301```301```

302 302 

303在 v2.1.283 之前,此清單忽略了 `Select` 綁定,並有自己的動作:`messageSelector:up`、`messageSelector:down`、`messageSelector:top`、`messageSelector:bottom` 和 `messageSelector:select`。如果您的 `keybindings.json` 綁定了其中一個名稱,綁定會在此清單中保持運作,作為執行相同操作的選擇動作。`Home` 和 `End` 跳轉到清單的任一端;在 v2.1.283 之前,`Shift+K` 和 `Shift+J` 等按鍵預設會執行此操作。303在 v2.1.283 之前,此清單會忽略 `Select` 繫結,並擁有自己的動作:`messageSelector:up`、`messageSelector:down`、`messageSelector:top`、`messageSelector:bottom` 和 `messageSelector:select`。如果您的 `keybindings.json` 繫結了其中一個名稱,該繫結會在此清單中繼續運作,作為執行相同功能的 Select 動作。`Home` 和 `End` 會跳至清單的任一端;在 v2.1.283 之前,預設是由 `Shift+K` 和 `Shift+J` 等按鍵執行此功能。

304 304 

305### 差異動作305### 差異動作

306 306 

307這些動作僅適用於 Claude Code 較早的差異檢視器;在您於 `/plugin` 中停用 [`cc-plugin-diff` mod](/docs/zh-TW/plugins/mods/overview#mods-built-into-claude-code) 後,`/diff` 會在 [全螢幕轉譯](/docs/zh-TW/fullscreen) 之外開啟該檢視器。啟用該 mod 時,`/diff` 會改為開啟 [差異對話框](/docs/zh-TW/interactive-mode#diff-dialog)。無論哪種情況,命名這些動作的 `keybindings.json` 都會正常載入,不會出現錯誤。307這些動作僅作用於 Claude Code 較早期的差異檢視器,也就是在您於 `/plugin` 中停用 [`cc-plugin-diff` mod](/docs/zh-TW/plugins/mods/overview#mods-built-into-claude-code) 後,`/diff` 在[全螢幕渲染](/docs/zh-TW/fullscreen)以外開啟的檢視器。當該 mod 啟用時,`/diff` 會改為開啟[差異對話框](/docs/zh-TW/interactive-mode#diff-dialog)。無論哪種情況,指定這些動作的 `keybindings.json` 都能正常載入而不會出錯。

308 308 

309在 `DiffDialog` 上下文中可用的動作:309在 `DiffDialog` 情境中可用的動作:

310 310 

311| 動作 | 預設 | 說明 |311| 動作 | 預設 | 說明 |

312| :- | :- | :- |312| :- | :- | :- |

313| `diff:dismiss` | Escape | 關閉差異檢視器;從詳細檢視返回到檔案清單 |313| `diff:dismiss` | Escape | 關閉差異檢視器;若在詳細檢視中,則改為返回檔案清單,而不關閉檢視器 |

314| `diff:previousSource` | Left | 上一個差異來源 |314| `diff:previousSource` | Left | 上一個差異來源 |

315| `diff:nextSource` | Right | 下一個差異來源 |315| `diff:nextSource` | Right | 下一個差異來源 |

316| `diff:previousFile` | Up, K | 檔案清單中的上一個檔案;在詳細檢視中向上捲動一行 |316| `diff:previousFile` | Up, K | 檔案清單中的上一個檔案;在詳細檢視中向上捲動一行 |

317| `diff:nextFile` | Down, J | 檔案清單中的下一個檔案;在詳細檢視中向下捲動一行 |317| `diff:nextFile` | Down, J | 檔案清單中的下一個檔案;在詳細檢視中向下捲動一行 |

318| `diff:back` | (未綁定) | 在差異檢視器中返回。Escape 透過 `diff:dismiss` 執行返回動作。詳細檢視中 Left 的先前預設值在 v2.1.203 中被移除 |318| `diff:back` | (未繫結) | 在差異檢視器中返回。Escape 會透過 `diff:dismiss` 執行返回動作。先前在詳細檢視中預設的 Left 已於 v2.1.203 移除 |

319 319 

320檔案清單也透過 [選擇動作](#select-actions) 回應,透過其預設按鍵和您的 `Select` 綁定。`select:previous` 和 `select:next` 移動到上一個和下一個檔案,`Enter` 透過 `select:accept` 開啟選定檔案的差異。若要僅為檔案清單變更其中一個按鍵,請在 `DiffDialog` 區塊中綁定選擇動作。320檔案清單也會透過 [Select 動作](#select-actions)的預設按鍵和您的 `Select` 繫結來回應這些動作。`select:previous` 和 `select:next` 會移至上一個和下一個檔案,而 `Enter` 會透過 `select:accept` 開啟所選檔案的差異。若要僅針對檔案清單變更其中一個按鍵,請在 `DiffDialog` 區塊中繫結該 Select 動作。

321 321 

322在 v2.1.283 之前,檔案清單忽略了 `Select` 綁定,`Enter` 透過單獨的 `diff:viewDetails` 動作開啟選定檔案的差異。如果您的 `keybindings.json` 綁定了 `diff:viewDetails`,綁定會在檔案清單中保持運作,作為 `select:accept`。322在 v2.1.283 之前,檔案清單會忽略 `Select` 繫結,而 `Enter` 是透過獨立的 `diff:viewDetails` 動作開啟所選檔案的差異。如果您的 `keybindings.json` 繫結了 `diff:viewDetails`,該繫結會在檔案清單中繼續作為 `select:accept` 運作。

323 323 

324差異詳細檢視也將尋呼機樣式按鍵綁定到標準 [捲動動作](#scroll-actions)。這些綁定是 `DiffDialog` 上下文的一部分,僅在詳細檢視中適用;[捲動動作](#scroll-actions) 下列出的 `Scroll` 上下文預設值保持不變。324差異詳細檢視也將分頁器風格的按鍵繫結至標準的[捲動動作](#scroll-actions)。這些繫結屬於 `DiffDialog` 情境,且僅適用於詳細檢視;[捲動動作](#scroll-actions)下列出的 `Scroll` 情境預設值保持不變。

325 325 

326| 動作 | 預設 | 說明 |326| 動作 | 預設 | 說明 |

327| :- | :- | :- |327| :- | :- | :- |

328| `scroll:pageUp` | PageUp | 向上捲動半個檢視區 |328| `scroll:pageUp` | PageUp | 向上捲動半個檢視區 |

329| `scroll:pageDown` | PageDown | 向下捲動半個檢視區 |329| `scroll:pageDown` | PageDown | 向下捲動半個檢視區 |

330| `scroll:fullPageUp` | Shift+Space, B | 向上捲動完整檢視區 |330| `scroll:fullPageUp` | Shift+Space, B | 向上捲動一整個檢視區 |

331| `scroll:fullPageDown` | Space | 向下捲動完整檢視區 |331| `scroll:fullPageDown` | Space | 向下捲動一整個檢視區 |

332| `scroll:top` | G, Home | 跳到頂部 |332| `scroll:top` | G, Home | 跳至頂端 |

333| `scroll:bottom` | Shift+G, End | 跳到底部 |333| `scroll:bottom` | Shift+G, End | 跳至底端 |

334 334 

335### 差異面板動作335### 差異面板動作

336 336 

337用於 `/diff` 在全螢幕轉譯中開啟的 [差異面板](/docs/zh-TW/interactive-mode#diff-panel) 的動作。`app:cycleDiffBase` 在 `DiffPanel` 上下文中,在面板開啟時有效;其他的在 `Global` 中。337用於在全螢幕渲染中由 `/diff` 開啟之[差異面板](/docs/zh-TW/interactive-mode#diff-panel)的動作。`app:cycleDiffBase` 屬於 `DiffPanel` 情境,該情境在面板開啟時啟用;其他動作則屬於 `Global`。

338 338 

339內建的 [`cc-plugin-diff` mod](/docs/zh-TW/plugins/mods/overview#mods-built-into-claude-code) 會繪製此面板,並處理 `app:cycleDiffBase`、`app:diffFileListUp` 和 `app:diffFileListDown`。`app:toggleReplTab`、`app:toggleDiffNoiseFilter` 和 `app:toggleDiffPreSession` 僅適用於 Claude Code 較早的面板;在您於 `/plugin` 中停用 `cc-plugin-diff` 後,`/diff` 會開啟該面板。339內建的 [`cc-plugin-diff` mod](/docs/zh-TW/plugins/mods/overview#mods-built-into-claude-code) 會繪製此面板,並處理 `app:cycleDiffBase`、`app:diffFileListUp` 和 `app:diffFileListDown`。`app:toggleReplTab`、`app:toggleDiffNoiseFilter` 和 `app:toggleDiffPreSession` 僅作用於 Claude Code 較早期的面板,也就是在您於 `/plugin` 中停用 `cc-plugin-diff` 後由 `/diff` 開啟的面板。

340 340 

341| 動作 | 預設 | 說明 |341| 動作 | 預設 | 說明 |

342| :- | :- | :- |342| :- | :- | :- |

343| `app:toggleReplTab` | (未綁定) | 開啟或關閉差異面板 |343| `app:toggleReplTab` | (未繫結) | 開啟或關閉差異面板 |

344| `app:cycleDiffBase` | Ctrl+X B | 循環面板的比較基礎:此工作階段、未提交、然後分支 |344| `app:cycleDiffBase` | Ctrl+X B | 循環切換面板的比較基準:此工作階段、未提交,接著是分支 |

345| `app:diffFileListUp` | Ctrl+Up, Meta+Up | 當面板的檔案清單溢出時向上捲動 |345| `app:diffFileListUp` | Ctrl+Up, Meta+Up | 當面板的檔案清單超出範圍時向上捲動 |

346| `app:diffFileListDown` | Ctrl+Down, Meta+Down | 當面板的檔案清單溢出時向下捲動 |346| `app:diffFileListDown` | Ctrl+Down, Meta+Down | 當面板的檔案清單超出範圍時向下捲動 |

347| `app:toggleDiffNoiseFilter` | (未綁定) | 在面板中顯示或隱藏測試和生成的檔案 |347| `app:toggleDiffNoiseFilter` | (未繫結) | 在面板中顯示或隱藏測試檔案與產生的檔案 |

348| `app:toggleDiffPreSession` | (未綁定) | 展開或摺疊此工作階段之前的變更 |348| `app:toggleDiffPreSession` | (未繫結) | 展開或摺疊此工作階段之前的變更 |

349 349 

350### 模型選擇器動作350### 模型選擇器動作

351 351 

352在 `ModelPicker` 上下文中可用的動作:352在 `ModelPicker` 情境中可用的動作:

353 353 

354| 動作 | 預設 | 說明 |354| 動作 | 預設 | 說明 |

355| :- | :- | :- |355| :- | :- | :- |

356| `modelPicker:decreaseEffort` | Left | 降低努力等級 |356| `modelPicker:decreaseEffort` | Left | 降低 effort 等級 |

357| `modelPicker:increaseEffort` | Right | 提高努力等級 |357| `modelPicker:increaseEffort` | Right | 提高 effort 等級 |

358| `modelPicker:thisSessionOnly` | s | 將突出顯示的模型套用到此工作階段 |358| `modelPicker:thisSessionOnly` | s | 僅將醒目提示的模型套用至此工作階段 |

359 359 

360### 努力滑塊動作360### Effort 滑桿動作

361 361 

362在 `EffortSlider` 上下文中可用的動作,當您執行不帶引數的 `/effort` 時開啟的滑塊。滑塊的 Enter 和 Escape 按鍵無法重新綁定。362在 `EffortSlider` 情境中可用的動作,該情境即為您在不帶引數執行 `/effort` 時開啟的滑桿。滑桿的 Enter 和 Escape 按鍵無法重新繫結。

363 363 

364| 動作 | 預設 | 說明 |364| 動作 | 預設 | 說明 |

365| :- | :- | :- |365| :- | :- | :- |

366| `effortSlider:decreaseEffort` | Left | 將滑塊移動到下一個較低的努力等級。需要 v2.1.284 或更新版本 |366| `effortSlider:decreaseEffort` | Left | 將滑桿移至下一個較低的 effort 等級。需要 v2.1.284 或更新版本 |

367| `effortSlider:increaseEffort` | Right | 將滑塊移動到下一個較高的努力等級。需要 v2.1.284 或更新版本 |367| `effortSlider:increaseEffort` | Right | 將滑桿移至下一個較高的 effort 等級。需要 v2.1.284 或更新版本 |

368| `effortSlider:toggleUltracode` | Tab | 為此工作階段開啟或關閉 [ultracode](/docs/zh-TW/workflows#let-claude-decide-with-ultracode),當滑塊 [提供它](/docs/zh-TW/model-config#when-ultracode-is-available) 時。需要 v2.1.284 或更新版本 |368| `effortSlider:toggleUltracode` | Tab | 當滑桿[提供此選項](/docs/zh-TW/model-config#when-ultracode-is-available)時,為此工作階段開啟或關閉 [ultracode](/docs/zh-TW/workflows#let-claude-decide-with-ultracode)。需要 v2.1.284 或更新版本 |

369| `effortSlider:thisSessionOnly` | s | 將焦點 [努力等級](/docs/zh-TW/model-config#adjust-effort-level) 套用到此工作階段。需要 v2.1.257 或更新版本 |369| `effortSlider:thisSessionOnly` | s | 僅將取得焦點的 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)套用至此工作階段。需要 v2.1.257 或更新版本 |

370 370 

371### 選擇動作371### Select 動作

372 372 

373在 `Select` 上下文中可用的動作:373在 `Select` 情境中可用的動作:

374 374 

375| 動作 | 預設 | 說明 |375| 動作 | 預設 | 說明 |

376| :- | :- | :- |376| :- | :- | :- |


380| `select:pageDown` | PageDown | 向下移動一頁選項 |380| `select:pageDown` | PageDown | 向下移動一頁選項 |

381| `select:first` | Home | 第一個選項 |381| `select:first` | Home | 第一個選項 |

382| `select:last` | End | 最後一個選項 |382| `select:last` | End | 最後一個選項 |

383| `select:accept` | Enter | 接受選擇 |383| `select:accept` | Enter | 接受選取 |

384| `select:cancel` | Escape | 取消選擇 |384| `select:cancel` | Escape | 取消選取 |

385 385 

386在清單面板中,例如 `/skills`、`/mcp` 和 `/tasks`,Claude Code 會套用您的 `select:pageUp`、`select:pageDown`、`select:first` 和 `select:last` 綁定。在大多數其他清單中,例如 `/model` 選擇器,您的 `select:first` 和 `select:last` 綁定會套用。PageUp 和 PageDown 會在這些清單中分頁選項,無論您的綁定如何。386在 `/skills`、`/mcp` 和 `/tasks` 等清單面板中,Claude Code 會套用您的 `select:pageUp`、`select:pageDown`、`select:first` 和 `select:last` 繫結。在大多數其他清單中(例如 `/model` 選擇器),會套用您的 `select:first` 和 `select:last` 繫結。無論您的繫結為何,PageUp 和 PageDown 都會在這些清單中翻頁瀏覽選項。

387 387 

388在 v2.1.280 之前,這些其他清單忽略了 Home、End 和您的 `select:first` 和 `select:last` 綁定。388在 v2.1.280 之前,這些其他清單會忽略 Home、End 以及您的 `select:first` 和 `select:last` 繫結。

389 389 

390在 v2.1.283 之前,`/mcp` 工具清單使用固定的 PageUp 和 PageDown 按鍵進行分頁,無論您的綁定如何。390在 v2.1.283 之前,無論您的繫結為何,`/mcp` 工具清單都使用固定的 PageUp 和 PageDown 按鍵翻頁。

391 391 

392### 外掛程式動作392### 外掛動作

393 393 

394在 `Plugin` 上下文中可用的動作:394在 `Plugin` 情境中可用的動作:

395 395 

396| 動作 | 預設 | 說明 |396| 動作 | 預設 | 說明 |

397| :- | :- | :- |397| :- | :- | :- |

398| `plugin:toggle` | Space | 切換外掛程式選擇 |398| `plugin:toggle` | Space | 切換外掛選取 |

399| `plugin:install` | I | 安裝選定的外掛程式 |399| `plugin:install` | I | 安裝選取的外掛 |

400| `plugin:favorite` | F | 將選定的外掛程式設為最愛,使其在已安裝標籤附近排序 |400| `plugin:favorite` | F | 將選取的外掛加入最愛,使其排序在 Installed 分頁的頂端附近 |

401 401 

402### 提示詞上方動作402### 提示詞上方動作

403 403 

404用於提示詞上方區帶的動作,這是 [mod](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) 繪製按鈕、輸入欄位和選單的共用區域。`abovePrompt:toggle` 和 `abovePrompt:focus` 適用於 `Chat` 上下文。其他動作適用於區帶或窗格中具有鍵盤焦點之元素的 [上下文](#contexts)。404用於提示詞上方區帶的動作,該區帶是 [mod](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) 繪製按鈕、輸入欄位和選擇框的共用區域。`abovePrompt:toggle` 和 `abovePrompt:focus` 適用於 `Chat` 情境。其他動作則適用於區帶或窗格中目前取得鍵盤焦點之項目的[情境](#contexts)。

405 405 

406| 動作 | 預設 | 說明 |406| 動作 | 預設 | 說明 |

407| :- | :- | :- |407| :- | :- | :- |

408| `abovePrompt:toggle` | Ctrl+X Ctrl+A | 將區帶摺疊為單列提示,或再次展開 |408| `abovePrompt:toggle` | Ctrl+X Ctrl+A | 將區帶摺疊為單列提示,或再次展開 |

409| `abovePrompt:focus` | Ctrl+X Tab | 將鍵盤焦點移入區帶,然後移至每個開啟的 [窗格](#pane-actions),並從最後一個窗格返回提示詞 |409| `abovePrompt:focus` | Ctrl+X Tab | 將鍵盤焦點移至區帶,接著移至每個開啟的[窗格](#pane-actions),並從最後一個窗格返回提示詞 |

410| `abovePrompt:next` | Tab | 聚焦下一個控制項 |410| `abovePrompt:next` | Tab | 將焦點移至下一個控制項 |

411| `abovePrompt:previous` | Shift+Tab | 聚焦上一個控制項 |411| `abovePrompt:previous` | Shift+Tab | 將焦點移至上一個控制項 |

412| `abovePrompt:press` | Enter | 按下聚焦的按鈕、提交聚焦的輸入欄位,或在選單中選擇突出顯示的選項 |412| `abovePrompt:press` | Enter | 按下取得焦點的按鈕、送出取得焦點的輸入欄位,或在選擇框中挑選醒目提示的選項 |

413| `abovePrompt:leave` | Escape | 將鍵盤焦點返回提示詞 |413| `abovePrompt:leave` | Escape | 將鍵盤焦點返回至提示詞 |

414| `abovePrompt:highlightNext` | Down | 在聚焦的選單中突出顯示下一個選項 |414| `abovePrompt:highlightNext` | Down | 在取得焦點的選擇框中醒目提示下一個選項 |

415| `abovePrompt:highlightPrevious` | Up | 在聚焦的選單中突出顯示上一個選項 |415| `abovePrompt:highlightPrevious` | Up | 在取得焦點的選擇框中醒目提示上一個選項 |

416 416 

417在 [`AbovePrompt` 上下文](#contexts) 中,Right 和 Left 預設也會執行 `abovePrompt:next` 和 `abovePrompt:previous`,Space 也會執行 `abovePrompt:press`。417在 [`AbovePrompt` 情境](#contexts)中,Right 和 Left 預設也會執行 `abovePrompt:next` 和 `abovePrompt:previous`,而 Space 也會執行 `abovePrompt:press`。

418 418 

419`AbovePrompt` 上下文也將 Up、Down、PageUp、PageDown、Home 和 End 綁定到 [窗格捲動動作](#pane-actions) `pane:scrollUp` 至 `pane:bottom`,因此若要為區帶變更其中一個按鍵,請在 `AbovePrompt` 區塊中綁定該捲動動作。419`AbovePrompt` 情境也將 Up、Down、PageUp、PageDown、Home 和 End 繫結至[窗格捲動動作](#pane-actions) `pane:scrollUp` 至 `pane:bottom`,因此若要為區帶變更其中一個按鍵,請在 `AbovePrompt` 區塊中繫結該捲動動作。

420 420 

421### 窗格動作421### 窗格動作

422 422 

423用於由 [mod](/docs/zh-TW/plugins/mods/interface#know-which-keys-your-mod-can-receive) 繪製之窗格的動作。捲動、調整大小和關閉動作適用於 `Pane` [上下文](#contexts)。`pane:close` 也適用於 `PaneField` 上下文,因此在窗格的某個欄位有焦點時也能運作。當開啟多個窗格時,`pane:next` 和 `pane:previous` 適用於 `Global` 上下文。423用於由 [mod](/docs/zh-TW/plugins/mods/interface#know-which-keys-your-mod-can-receive) 繪製之窗格的動作。捲動、調整大小和關閉動作適用於 `Pane` [情境](#contexts)。`pane:close` 也適用於 `PaneField` 情境,因此在窗格的某個欄位取得焦點時也能運作。`pane:next` 和 `pane:previous` 在開啟多個窗格時適用於 `Global` 情境。

424 424 

425| 動作 | 預設 | 說明 |425| 動作 | 預設 | 說明 |

426| :- | :- | :- |426| :- | :- | :- |

427| `pane:scrollUp` | Up | 當窗格的列數超過可顯示範圍時向上捲動窗格 |427| `pane:scrollUp` | Up | 當窗格的列數多於可顯示的數量時,向上捲動窗格 |

428| `pane:scrollDown` | Down | 當窗格的列數超過可顯示範圍時向下捲動窗格 |428| `pane:scrollDown` | Down | 當窗格的列數多於可顯示的數量時,向下捲動窗格 |

429| `pane:pageUp` | PageUp | 將窗格向上捲動一頁 |429| `pane:pageUp` | PageUp | 將窗格向上捲動一頁 |

430| `pane:pageDown` | PageDown | 將窗格向下捲動一頁 |430| `pane:pageDown` | PageDown | 將窗格向下捲動一頁 |

431| `pane:top` | Home | 跳到窗格頂部 |431| `pane:top` | Home | 跳至窗格頂端 |

432| `pane:bottom` | End | 跳到窗格底部 |432| `pane:bottom` | End | 跳至窗格底端 |

433| `pane:grow` | Ctrl+X Left, Ctrl+X Up | 給予窗格更多空間:位於逐字稿旁時增加寬度,位於提示詞上方時增加高度 |433| `pane:grow` | Ctrl+X Left, Ctrl+X Up | 給予窗格更多空間:位於逐字稿旁時增加寬度,位於提示詞上方時增加高度 |

434| `pane:shrink` | Ctrl+X Right, Ctrl+X Down | 給予窗格較少空間:位於逐字稿旁時減少寬度,位於提示詞上方時減少高度 |434| `pane:shrink` | Ctrl+X Right, Ctrl+X Down | 給予窗格較少空間:位於逐字稿旁時減少寬度,位於提示詞上方時減少高度 |

435| `pane:close` | Ctrl+X X | 關閉窗格 |435| `pane:close` | Ctrl+X X | 關閉窗格 |

436| `pane:next` | (未綁定) | 顯示下一個開啟的窗格 |436| `pane:next` | (未繫結) | 顯示下一個開啟的窗格 |

437| `pane:previous` | (未綁定) | 顯示上一個開啟的窗格 |437| `pane:previous` | (未繫結) | 顯示上一個開啟的窗格 |

438 438 

439`Pane` 上下文也將 Tab、Shift+Tab、Enter 和 Escape 綁定到與區帶相同的 [提示詞上方動作](#above-prompt-actions),而窗格的輸入欄位和選單使用 `AbovePromptInput` 和 `AbovePromptSelect` 上下文。[鍵盤焦點與快速鍵](/docs/zh-TW/plugins/mods/interface#know-which-keys-your-mod-can-receive) 列出了每個按鍵在窗格中的作用。439`Pane` 情境也將 Tab、Shift+Tab、Enter 和 Escape 繫結至與區帶相同的[提示詞上方動作](#above-prompt-actions),而窗格的輸入欄位和選擇框則使用 `AbovePromptInput` 和 `AbovePromptSelect` 情境。[鍵盤焦點與快速鍵](/docs/zh-TW/plugins/mods/interface#know-which-keys-your-mod-can-receive)列出了每個按鍵在窗格中的作用。

440 440 

441### 設定動作441### 設定動作

442 442 

443在 `Settings` 上下文中可用的動作。`select:accept` 和 `confirm:no` 動作會從 [選擇](#select-actions) 和 [確認](#confirmation-actions) 上下文重複使用,具有設定特定的行為:變更會在您變更時立即套用到每個設定,因此 Escape 會關閉面板並保存您的變更,而不是拒絕。443在 `Settings` 情境中可用的動作。`select:accept` 和 `confirm:no` 動作沿用自 [Select](#select-actions) 和 [Confirmation](#confirmation-actions) 情境,但具有 Settings 特有的行為:每個設定在您變更後會立即套用,因此 Escape 會在儲存您的變更後關閉面板,而非拒絕變更。

444 444 

445| 動作 | 預設 | 說明 |445| 動作 | 預設 | 說明 |

446| :- | :- | :- |446| :- | :- | :- |

447| `settings:search` | / | 進入搜尋模式 |447| `settings:search` | / | 進入搜尋模式 |

448| `settings:retry` | R | 在錯誤時重試載入使用量資料 |448| `settings:retry` | R | 發生錯誤時重試載入使用量資料 |

449| `select:accept` | Enter, Space | 變更選定的設定或開啟其子功能表 |449| `settings:fixUsage` | F | 當 `/usage` 頁尾提供修正時,將 Claude Code 可套用的 [`/usage` 建議](/docs/zh-TW/costs#apply-recommendations-with-the-fix-shortcut)傳送至您的工作階段。需要 v2.1.305 或更新版本 |

450| `confirm:no` | Escape | 關閉面板。變更已保存 |450| `select:accept` | Enter, Space | 變更選取的設定或開啟其子選單 |

451| `confirm:no` | Escape | 關閉面板。變更已儲存 |

451 452 

452### 代理動作453### Agents 動作

453 454 

454在 `Agents` 上下文中可用的動作,適用於 [代理檢視](/docs/zh-TW/agent-view),使用 `claude agents` 開啟。需要 v2.1.257 或更新版本。455在 `Agents` 情境中可用的動作,該情境適用於以 `claude agents` 開啟的 [agent 檢視](/docs/zh-TW/agent-view)。需要 v2.1.257 或更新版本。

455 456 

456| 動作 | 預設 | 說明 |457| 動作 | 預設 | 說明 |

457| :- | :- | :- |458| :- | :- | :- |

458| `agents:switchView` | Ctrl+S | 在 [工作階段分組](/docs/zh-TW/agent-view#organize-the-list) 之間切換狀態和目錄 |459| `agents:switchView` | Ctrl+S | 在狀態與目錄之間切換[工作階段分組](/docs/zh-TW/agent-view#organize-the-list) |

459| `agents:togglePin` | Ctrl+T | [釘選或取消釘選](/docs/zh-TW/agent-view#organize-the-list) 選定的工作階段 |460| `agents:togglePin` | Ctrl+T | [釘選或取消釘選](/docs/zh-TW/agent-view#organize-the-list)選取的工作階段 |

460| `agents:find` | Ctrl+F | 使用 [`n:` 篩選器](/docs/zh-TW/agent-view#filter-sessions) 依名稱尋找工作階段。需要 v2.1.288 或更新版本 |461| `agents:find` | Ctrl+F | 使用 [`n:` 篩選器](/docs/zh-TW/agent-view#filter-sessions)依名稱尋找工作階段。需要 v2.1.288 或更新版本 |

461| `agents:rename` | Ctrl+R | [重新命名](/docs/zh-TW/agent-view#organize-the-list) 選定的工作階段。需要 v2.1.288 或更新版本 |462| `agents:rename` | Ctrl+R | [重新命名](/docs/zh-TW/agent-view#organize-the-list)選取的工作階段。需要 v2.1.288 或更新版本 |

462| `agents:previousGroup` | Ctrl+Up, Meta+Up | 跳到上一個 [群組標題](/docs/zh-TW/agent-view#organize-the-list)。需要 v2.1.288 或更新版本 |463| `agents:previousGroup` | Ctrl+Up, Meta+Up | 跳至上一個[群組標題](/docs/zh-TW/agent-view#organize-the-list)。需要 v2.1.288 或更新版本 |

463| `agents:nextGroup` | Ctrl+Down, Meta+Down | 跳到下一個群組標題。需要 v2.1.288 或更新版本 |464| `agents:nextGroup` | Ctrl+Down, Meta+Down | 跳至下一個群組標題。需要 v2.1.288 或更新版本 |

464 465 

465當代理檢視開啟時,Claude Code 會對 `Agents` 上下文綁定的任何按鍵使用 `Agents` 綁定,並忽略同一按鍵上的 `Chat` 或 `Global` 綁定。例如,在代理檢視中按 Ctrl+S 會切換工作階段分組,而不是觸發預設的 `chat:stash`。466當 agent 檢視開啟時,對於 `Agents` 情境所繫結的任何按鍵,Claude Code 都會使用 `Agents` 繫結,並忽略同一按鍵上的 `Chat` 或 `Global` 繫結。例如,在 agent 檢視中按下 Ctrl+S 會切換工作階段分組,而不是觸發預設的 `chat:stash`。

466 467 

467分派輸入的外部編輯器快捷鍵不是 `Agents` 動作。代理檢視遵循 `Chat` 上下文的 `chat:externalEditor` 綁定,預設為 Ctrl+G。468dispatch 輸入的外部編輯器快捷鍵不是 `Agents` 動作。agent 檢視會遵循 `Chat` 情境的 `chat:externalEditor` 繫結,預設為 Ctrl+G。

468 469 

469綁定在代理檢視中的單個按鍵上觸發,因此綁定到 `chat:externalEditor` 的 Ctrl+X Ctrl+E 組合不會在那裡開啟編輯器。470在 agent 檢視中,繫結會在單一按鍵時觸發,因此繫結至 `chat:externalEditor` 的 Ctrl+X Ctrl+E 組合鍵不會在該處開啟編輯器。

470 471 

471### 語音動作472### 語音動作

472 473 

473當 [語音聽寫](/docs/zh-TW/voice-dictation) 啟用時,在 `Chat` 上下文中可用的動作:474啟用[語音聽寫](/docs/zh-TW/voice-dictation)時,在 `Chat` 情境中可用的動作:

474 475 

475| 動作 | 預設 | 說明 |476| 動作 | 預設 | 說明 |

476| :- | :- | :- |477| :- | :- | :- |

477| `voice:pushToTalk` | Space | 聽寫提示。根據 `/voice` 模式按住或點擊 |478| `voice:pushToTalk` | Space | 聽寫提示詞。依 `/voice` 模式按住或輕按 |

478 479 

479### 捲動動作480### 捲動動作

480 481 

481當 [全螢幕轉譯](/docs/zh-TW/fullscreen) 啟用時,在 `Scroll` 上下文中可用的動作:482啟用[全螢幕渲染](/docs/zh-TW/fullscreen)時,在 `Scroll` 情境中可用的動作:

482 483 

483| 動作 | 預設 | 說明 |484| 動作 | 預設 | 說明 |

484| :- | :- | :- |485| :- | :- | :- |

485| `scroll:lineUp` | `wheelup` | 向上捲動一行。滑鼠滾輪捲動會觸發此動作 |486| `scroll:lineUp` | `wheelup` | 向上捲動一行。滑鼠滾輪捲動會觸發此動作 |

486| `scroll:lineDown` | `wheeldown` | 向下捲動一行。滑鼠滾輪捲動會觸發此動作 |487| `scroll:lineDown` | `wheeldown` | 向下捲動一行。滑鼠滾輪捲動會觸發此動作 |

487| `scroll:pageUp` | PageUp | 向上捲動檢視區高度的一半 |488| `scroll:pageUp` | PageUp | 向上捲動半個檢視區高度 |

488| `scroll:pageDown` | PageDown | 向下捲動檢視區高度的一半 |489| `scroll:pageDown` | PageDown | 向下捲動半個檢視區高度 |

489| `scroll:top` | Ctrl+Home | 跳到對話的開始 |490| `scroll:top` | Ctrl+Home | 跳至對話的開頭 |

490| `scroll:bottom` | Ctrl+End | 跳到最新訊息並重新啟用自動跟隨 |491| `scroll:bottom` | Ctrl+End | 跳至最新訊息並重新啟用自動跟隨 |

491| `scroll:halfPageUp` | (未綁定) | 向上捲動檢視區高度的一半。與 `scroll:pageUp` 相同的行為,為 vi 樣式重新綁定提供 |492| `scroll:halfPageUp` | (未繫結) | 向上捲動半個檢視區高度。行為與 `scroll:pageUp` 相同,提供給 vi 風格的重新繫結使用 |

492| `scroll:halfPageDown` | (未綁定) | 向下捲動檢視區高度的一半。與 `scroll:pageDown` 相同的行為,為 vi 樣式重新綁定提供 |493| `scroll:halfPageDown` | (未繫結) | 向下捲動半個檢視區高度。行為與 `scroll:pageDown` 相同,提供給 vi 風格的重新繫結使用 |

493| `scroll:fullPageUp` | (未綁定) | 向上捲動完整檢視區高度 |494| `scroll:fullPageUp` | (未繫結) | 向上捲動一整個檢視區高度 |

494| `scroll:fullPageDown` | (未綁定) | 向下捲動完整檢視區高度 |495| `scroll:fullPageDown` | (未繫結) | 向下捲動一整個檢視區高度 |

495| `selection:copy` | Ctrl+Shift+C / Cmd+C | 將選定的文字複製到剪貼簿 |496| `selection:copy` | Ctrl+Shift+C / Cmd+C | 將選取的文字複製到剪貼簿 |

496| `selection:clear` | (未綁定) | 清除有效的文字選擇。需要 v2.1.234 或更新版本 |497| `selection:clear` | (未繫結) | 清除目前的文字選取。需要 v2.1.234 或更新版本 |

497| `selection:extendLeft` | Shift+Left | 將有效選擇向左延伸一欄 |498| `selection:extendLeft` | Shift+Left | 將目前的選取範圍向左延伸一欄 |

498| `selection:extendRight` | Shift+Right | 將有效選擇向右延伸一欄 |499| `selection:extendRight` | Shift+Right | 將目前的選取範圍向右延伸一欄 |

499| `selection:extendUp` | Shift+Up | 將有效選擇向上延伸一列。當選擇到達頂部邊緣時捲動檢視區 |500| `selection:extendUp` | Shift+Up | 將目前的選取範圍向上延伸一列。當選取範圍到達頂端邊緣時會捲動檢視區 |

500| `selection:extendDown` | Shift+Down | 將有效選擇向下延伸一列。當選擇到達底部邊緣時捲動檢視區 |501| `selection:extendDown` | Shift+Down | 將目前的選取範圍向下延伸一列。當選取範圍到達底端邊緣時會捲動檢視區 |

501| `selection:extendLineStart` | Shift+Home | 將有效選擇延伸到行的開始 |502| `selection:extendLineStart` | Shift+Home | 將目前的選取範圍延伸至行首 |

502| `selection:extendLineEnd` | Shift+End | 將有效選擇延伸到行的結尾 |503| `selection:extendLineEnd` | Shift+End | 將目前的選取範圍延伸至行尾 |

503 504 

504## 按鍵組合語法505## 按鍵組合語法

505 506 


688 689 

689在 Claude 提出的問題的 `Other` 列中,vim 模式下的 Escape 不會立即取消該問題。除了在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中以外,每次您將焦點移至該列時,該列都會從 INSERT 模式開始。當您在 `Other` 列中按下 Escape 時,該列會切換到 NORMAL 模式或捨棄輸入到一半的 vim 命令,而問題仍會保持開啟。在 NORMAL 模式中再按一次 Escape 即可取消該問題。690在 Claude 提出的問題的 `Other` 列中,vim 模式下的 Escape 不會立即取消該問題。除了在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中以外,每次您將焦點移至該列時,該列都會從 INSERT 模式開始。當您在 `Other` 列中按下 Escape 時,該列會切換到 NORMAL 模式或捨棄輸入到一半的 vim 命令,而問題仍會保持開啟。在 NORMAL 模式中再按一次 Escape 即可取消該問題。

690 691 

692### 按一個鍵取消問題

693 

694若要在 vim 模式中按一個鍵即取消問題,請在 `Select` 情境中將另一個鍵綁定至 `select:cancel`。您可以在只能選擇一個選項的問題的 `Other` 列中以此方式取消。在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中,或在可選擇多個選項的問題中,綁定的鍵不會取消問題,因此請改用 Escape 取消。

695 

696請選擇搭配 Ctrl 或 Alt 按下的鍵。單獨的字母或數字會改為[輸入至 `Other` 列](#text-fields),而不會觸發您的綁定。例如,若要綁定 `Ctrl+Q`,請將以下內容新增至 `~/.claude/keybindings.json`:

697 

698```json theme={null}

699{

700 "bindings": [

701 {

702 "context": "Select",

703 "bindings": {

704 "ctrl+q": "select:cancel"

705 }

706 }

707 ]

708}

709```

710 

711儲存檔案後,在只能選擇一個選項的問題的 `Other` 列中按下 `Ctrl+Q`。無論該列處於 INSERT 或 NORMAL 模式,問題都會關閉。

712 

691## 驗證713## 驗證

692 714 

693Claude Code 驗證您的快捷鍵並為以下項目寫入警告到偵錯日誌:715Claude Code 驗證您的快捷鍵並為以下項目寫入警告到偵錯日誌:

694 716 

695* 解析錯誤(無效的 JSON 或結構)717* 解析錯誤(無效的 JSON 或結構)

696* 拼寫錯誤的修飾鍵,例如 `ctl+k`。Claude Code 會捨棄它無法識別的部分,並將繫結應用於剩餘的按鍵,在此範例中為 `k`。718* 拼寫錯誤的修飾鍵,例如 `ctl+k`。Claude Code 會捨棄它無法識別的部分,並將繫結應用於剩餘的按鍵,在此範例中為 `k`。

719* 按鍵字串中 `+` 旁邊有空格,例如 `ctrl+ k`。Claude Code 會將該字串解讀為由 `ctrl+` 後接 `k` 組成的[組合鍵](#chords)。沒有任何按鍵會單獨符合 `ctrl+`,因此該繫結永遠不會觸發。請移除該空格。

697* 無效的上下文名稱720* 無效的上下文名稱

698* 無效的動作值,例如不是字串或 `null` 的動作721* 無效的動作值,例如不是字串或 `null` 的動作

699* 未知的動作名稱,例如已註冊動作的拼寫錯誤。Claude Code 會跳過該繫結並保持該按鍵的任何預設繫結有效。722* 未知的動作名稱,例如已註冊動作的拼寫錯誤。Claude Code 會跳過該繫結並保持該按鍵的任何預設繫結有效。

Details

141* `"**/packages/legacy-*/**"`:排除每個名稱與 glob 匹配的套件,包括規則141* `"**/packages/legacy-*/**"`:排除每個名稱與 glob 匹配的套件,包括規則

142* `"/home/user/monorepo/legacy/CLAUDE.md"`:按絕對路徑排除一個特定檔案142* `"/home/user/monorepo/legacy/CLAUDE.md"`:按絕對路徑排除一個特定檔案

143 143 

144受管理的原則 CLAUDE.md 檔案無法排除,因此組織範圍的指令始終適用。您可以在任何[設定範圍](/docs/zh-TW/settings#where-settings-live)設定 `claudeMdExcludes`:使用者、專案、本地或受管理。陣列在範圍內合併,因此團隊可以設定專案級別的預設值,而個人添加本地覆蓋。144您可以在任何[設定範圍](/docs/zh-TW/settings#where-settings-live)設定 `claudeMdExcludes`:使用者、專案、本地或受管理。陣列會跨範圍合併,因此團隊可以設定專案級別的預設值,而個人添加本地覆寫。如果您的組織部署了[受管理的 CLAUDE.md 檔案](/docs/zh-TW/memory#deploy-organization-wide-claude-md),與其匹配的模式並不會跳過它,無論該模式是在哪個範圍設定的。

145 145 

146有關完整的排除文件,請參閱[排除特定 CLAUDE.md 檔案](/docs/zh-TW/memory#exclude-specific-claude-md-files)。146有關完整的排除文件,請參閱[排除特定 CLAUDE.md 檔案](/docs/zh-TW/memory#exclude-specific-claude-md-files)。

147 147 


349 349 

350不同的子目錄以相同方式保存不同的 skills:`packages/web/.claude/skills/component-patterns/` 描述前端的元件慣例,而不是測試。當 Claude 在 `packages/api/` 中的檔案上工作時,它會載入 api-testing skill。當它在 `packages/web/` 中工作時,它會改為載入 component-patterns。在另一個目錄的任務期間,每個目錄的 skills 都不會載入。350不同的子目錄以相同方式保存不同的 skills:`packages/web/.claude/skills/component-patterns/` 描述前端的元件慣例,而不是測試。當 Claude 在 `packages/api/` 中的檔案上工作時,它會載入 api-testing skill。當它在 `packages/web/` 中工作時,它會改為載入 component-patterns。在另一個目錄的任務期間,每個目錄的 skills 都不會載入。

351 351 

352您也可以按檔案模式而不是按位置來限定 skill 的範圍。[`paths` frontmatter 欄位](/docs/zh-TW/skills#frontmatter-reference)採用 glob 模式,當 Claude 使用符合的檔案時,它會自動載入 skill。使用此方法可以讓 skill 位於儲存庫根目錄的 `.claude/skills/` 中,但僅適用於特定檔案(無論它們出現在何處),例如限定於 `**/migrations/**` 的資料庫遷移 skill。352您也可以按檔案模式而不是按位置來限定 skill 的範圍。[`paths` frontmatter 欄位](/docs/zh-TW/skills#frontmatter-reference)採用 glob 模式,只有當 Claude 使用符合的檔案時,它才會自動載入 skill。使用此方法可以讓 skill 位於儲存庫根目錄的 `.claude/skills/` 中,但僅適用於特定檔案,例如限定於 `**/migrations/**` 的資料庫遷移 skill。

353 353 

354如需更多關於建立和組織 skills 的資訊,請參閱 [Skills](/docs/zh-TW/skills)。354如需更多關於建立和組織 skills 的資訊,請參閱 [Skills](/docs/zh-TW/skills)。

355 355 

Details

513| `Your apiKeyHelper script is failing`,或在非互動模式下 stderr 上的 `apiKeyHelper failed:` | [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 設定中的命令未產生可用的金鑰,因此請求帶有預留位置金鑰 | 直接執行命令以查看失敗原因,並在認證提供者報告過期會話時重新驗證;請參閱[錯誤參考](/docs/zh-TW/errors#your-apikeyhelper-script-is-failing) |513| `Your apiKeyHelper script is failing`,或在非互動模式下 stderr 上的 `apiKeyHelper failed:` | [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 設定中的命令未產生可用的金鑰,因此請求帶有預留位置金鑰 | 直接執行命令以查看失敗原因,並在認證提供者報告過期會話時重新驗證;請參閱[錯誤參考](/docs/zh-TW/errors#your-apikeyhelper-script-is-failing) |

514| 當沒有任何東西在地址應答時 `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`,或當主機名無法解析時 `Can't reach the API server — check your internet or DNS (ENOTFOUND)`,通常在 Claude Code [使用退避重試](/docs/zh-TW/errors#automatic-retries)時無聲暫停後。括號中的代碼會有所不同;[Unable to connect to API](/docs/zh-TW/errors#unable-to-connect-to-api) 涵蓋代碼拼寫和較早的措辭 | 沒有任何東西在基礎 URL 應答:地址錯誤,或 VPN 或防火牆阻止了到閘道的路徑 | 執行上面的 [curl 測試](#verify-the-connection),它立即以相同的原因失敗,並與您的閘道團隊確認 URL 和網路路徑 |514| 當沒有任何東西在地址應答時 `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`,或當主機名無法解析時 `Can't reach the API server — check your internet or DNS (ENOTFOUND)`,通常在 Claude Code [使用退避重試](/docs/zh-TW/errors#automatic-retries)時無聲暫停後。括號中的代碼會有所不同;[Unable to connect to API](/docs/zh-TW/errors#unable-to-connect-to-api) 涵蓋代碼拼寫和較早的措辭 | 沒有任何東西在基礎 URL 應答:地址錯誤,或 VPN 或防火牆阻止了到閘道的路徑 | 執行上面的 [curl 測試](#verify-the-connection),它立即以相同的原因失敗,並與您的閘道團隊確認 URL 和網路路徑 |

515| `API returned an empty or malformed response (HTTP 200)` | 閘道或中間代理返回了非 API 回應,通常是 HTML 錯誤或登入頁面 | 使用上面的 [curl 請求](#verify-the-connection)測試;修復返回非 Claude API 回應的閘道路由。[錯誤參考](/docs/zh-TW/errors#api-returned-an-empty-or-malformed-response)解釋了訊息報告的詳細資訊 |515| `API returned an empty or malformed response (HTTP 200)` | 閘道或中間代理返回了非 API 回應,通常是 HTML 錯誤或登入頁面 | 使用上面的 [curl 請求](#verify-the-connection)測試;修復返回非 Claude API 回應的閘道路由。[錯誤參考](/docs/zh-TW/errors#api-returned-an-empty-or-malformed-response)解釋了訊息報告的詳細資訊 |

516| `400` 錯誤命名 `context_management`、`Extra inputs are not permitted` 或其他無法識別的欄位 | 閘道將請求轉發到上游,該上游拒絕 Claude Code 發送到 Anthropic 格式端點的欄位 | 設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`,它抑制大多數預發佈欄位;請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through)。某些 beta 不受此標誌限制;對於那些,設定匹配的 `CLAUDE_CODE_USE_*` 提供者變數,以便 Claude Code 僅發送該提供者接受的內容 |516| `400` 錯誤指出 `context_management`、`Extra inputs are not permitted` 或其他無法識別的欄位 | 閘道將請求轉發到上游,而該上游拒絕 Claude Code 傳送到 Anthropic 格式端點的欄位 | 設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`,這會抑制大多數預發行欄位;請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through)。某些 beta 不受此旗標控制;對於這些情況,請設定相對應的 `CLAUDE_CODE_USE_*` 提供者變數,讓 Claude Code 只傳送該提供者接受的內容。若要依訊息所指出的欄位採取對應步驟,請參閱 [Extra inputs are not permitted](/docs/zh-TW/errors#extra-inputs-are-not-permitted) |

517| `400` 錯誤指出 `thinking` 或 `adaptive`,例如 `Input tag 'adaptive' found` | 上游模型建置不接受自適應推理,而 Claude Code 會為 Claude Opus 4.6、Claude Sonnet 4.6、Claude Haiku 5.5、Claude Fable 5 及更新的模型請求自適應推理 | 升級閘道的上游。在 Opus 4.6 和 Sonnet 4.6 上,也可改用 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`。[模型設定](/docs/zh-TW/model-config)中的功能變數僅適用於提供者設定(例如 `CLAUDE_CODE_USE_BEDROCK` 和 `CLAUDE_CODE_USE_VERTEX`),不適用於 `ANTHROPIC_BASE_URL` 閘道之後 |517| `400` 錯誤指出 `thinking` 或 `adaptive`,例如 `Input tag 'adaptive' found` | 上游模型建置不接受自適應推理,而 Claude Code 會為 Claude Opus 4.6、Claude Sonnet 4.6、Claude Haiku 5.5、Claude Fable 5 及更新的模型請求自適應推理 | 升級閘道的上游。在 Opus 4.6 和 Sonnet 4.6 上,也可改用 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`。[模型設定](/docs/zh-TW/model-config)中的功能變數僅適用於提供者設定(例如 `CLAUDE_CODE_USE_BEDROCK` 和 `CLAUDE_CODE_USE_VERTEX`),不適用於 `ANTHROPIC_BASE_URL` 閘道之後 |

518| `400` 錯誤陳述閘道自己的詞語中的上下文或令牌限制,例如 `ContextWindowExceededError` 或 `prompt token count of N exceeds the limit of M` | 閘道強制執行比模型的本機視窗更小的上下文,並重寫上游錯誤,因此 Claude Code 不會將其識別為[過長錯誤](/docs/zh-TW/errors#prompt-is-too-long),並且不會自動壓縮和重試 | 執行 `/compact` 以恢復會話。要防止它,請將 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 設定為閘道的限制;Claude Code 將該值限制在至少 100,000 令牌和最多模型的上下文視窗,因此您無法匹配低於 100,000 的閘道限制,`/compact` 在那裡仍然是恢復。還要將 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 設定為低於閘道模型的輸出限制 |518| `400` 錯誤陳述閘道自己的詞語中的上下文或令牌限制,例如 `ContextWindowExceededError` 或 `prompt token count of N exceeds the limit of M` | 閘道強制執行比模型的本機視窗更小的上下文,並重寫上游錯誤,因此 Claude Code 不會將其識別為[過長錯誤](/docs/zh-TW/errors#prompt-is-too-long),並且不會自動壓縮和重試 | 執行 `/compact` 以恢復會話。要防止它,請將 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 設定為閘道的限制;Claude Code 將該值限制在至少 100,000 令牌和最多模型的上下文視窗,因此您無法匹配低於 100,000 的閘道限制,`/compact` 在那裡仍然是恢復。還要將 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 設定為低於閘道模型的輸出限制 |

519| `400` 錯誤在每個請求上,在閘道自己的詞語中拒絕工具的輸入架構或其 `pattern`,在 Claude Code v2.1.265 至 v2.1.267 上 | 在這些版本上的逐步推出中,[Artifact 工具](/docs/zh-TW/artifacts#availability)架構帶有包含 `\p{...}` Unicode 字元類的正規表達式。Anthropic API 接受它,但檢查每個工具架構的 `pattern` 的閘道或上游使用自己的正規表達式引擎會拒絕整個請求 | 更新到 v2.1.268 或更高版本,不發送正規表達式。在受影響的版本上,[關閉 artifacts](/docs/zh-TW/artifacts#disable-artifacts),這會從請求中移除工具及其架構 |519| `400` 錯誤在每個請求上,在閘道自己的詞語中拒絕工具的輸入架構或其 `pattern`,在 Claude Code v2.1.265 至 v2.1.267 上 | 在這些版本上的逐步推出中,[Artifact 工具](/docs/zh-TW/artifacts#availability)架構帶有包含 `\p{...}` Unicode 字元類的正規表達式。Anthropic API 接受它,但檢查每個工具架構的 `pattern` 的閘道或上游使用自己的正規表達式引擎會拒絕整個請求 | 更新到 v2.1.268 或更高版本,不發送正規表達式。在受影響的版本上,[關閉 artifacts](/docs/zh-TW/artifacts#disable-artifacts),這會從請求中移除工具及其架構 |

Details

100| :- | :- | :- | :- |100| :- | :- | :- | :- |

101| 預設情況下請求中的模型 ID | 提供者的形式,例如 Amazon Bedrock 上的 `us.anthropic.claude-opus-4-8` | Anthropic ID,例如 `claude-opus-4-8` | Anthropic ID |101| 預設情況下請求中的模型 ID | 提供者的形式,例如 Amazon Bedrock 上的 `us.anthropic.claude-opus-4-8` | Anthropic ID,例如 `claude-opus-4-8` | Anthropic ID |

102| 傳送的 `anthropic-beta` 值 | Amazon Bedrock 和 Agent Platform 接受的子集 | [功能傳遞](#feature-pass-through)下描述的完整集合,除非開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Amazon Bedrock 和 Agent Platform 接受的子集 |102| 傳送的 `anthropic-beta` 值 | Amazon Bedrock 和 Agent Platform 接受的子集 | [功能傳遞](#feature-pass-through)下描述的完整集合,除非開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Amazon Bedrock 和 Agent Platform 接受的子集 |

103| Claude Code 無法識別的模型 ID(例如閘道別名)的請求欄位 | 使用固定預算進行思考而非自適應推理,且沒有努力或內容管理欄位 | 目前 Claude 模型在 Claude API 上接受的所有內容,包括自適應推理、努力和內容管理,Amazon Bedrock 或 Agent Platform 上游可能會拒絕 | 與 Amazon Bedrock 或 Agent Platform 格式相同 |103| Claude Code 無法識別的模型 ID(例如閘道別名)的請求欄位 | 使用固定預算進行思考而非自適應推理,且沒有努力或內容管理欄位。Claude Code 仍會傳送[對話中途的系統訊息](#feature-pass-through) | 目前 Claude 模型在 Claude API 上接受的所有內容,包括自適應推理、努力和內容管理,Amazon Bedrock 或 Agent Platform 上游可能會拒絕 | 與 Amazon Bedrock 或 Agent Platform 格式相同 |

104| 開發人員選擇加入時的一小時 [prompt 快取 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself) | 透過 `cache_control` 中的 `ttl` 欄位請求,沒有測試版值 | 透過 `ttl` 欄位加上 `anthropic-beta` 中的 `extended-cache-ttl` 值請求,您必須轉發 | 請參閱 Claude apps 閘道 [可用性和限制](/docs/zh-TW/claude-apps-gateway#availability-and-limitations) 表 |104| 開發人員選擇加入時的一小時 [prompt 快取 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself) | 透過 `cache_control` 中的 `ttl` 欄位請求,沒有測試版值 | 透過 `ttl` 欄位加上 `anthropic-beta` 中的 `extended-cache-ttl` 值請求,您必須轉發 | 請參閱 Claude apps 閘道 [可用性和限制](/docs/zh-TW/claude-apps-gateway#availability-and-limitations) 表 |

105| [背景工作](/docs/zh-TW/costs#background-token-usage) 的模型,除非 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 固定一個 | 預設 Sonnet 模型,或選擇主模型後的主模型,如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock#4-pin-model-versions) 和 [Agent Platform](/docs/zh-TW/google-vertex-ai#5-pin-model-versions) 頁面所述 | 主模型,或當 `ANTHROPIC_API_KEY` 或 `apiKeyHelper` 提供 Anthropic Console 金鑰且 `ANTHROPIC_AUTH_TOKEN` 未設定時的預設 Haiku 模型 | 主模型 |105| [背景工作](/docs/zh-TW/costs#background-token-usage) 的模型,除非 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 固定一個 | 預設 Sonnet 模型,或選擇主模型後的主模型,如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock#4-pin-model-versions) 和 [Agent Platform](/docs/zh-TW/google-vertex-ai#5-pin-model-versions) 頁面所述 | 主模型,或當 `ANTHROPIC_API_KEY` 或 `apiKeyHelper` 提供 Anthropic Console 金鑰且 `ANTHROPIC_AUTH_TOKEN` 未設定時的預設 Haiku 模型 | 主模型 |

106 106 


207 207 

208Claude Code 將 `ANTHROPIC_BASE_URL` gateway 視為 Anthropic 格式端點,並向其發送它發送給 `api.anthropic.com` 的測試版標頭和請求體欄位,除了為直接連接保留的一小組診斷和預設值,例如下面涵蓋的細粒度工具串流預設。該集合因版本而異,因此不要依賴其內容。208Claude Code 將 `ANTHROPIC_BASE_URL` gateway 視為 Anthropic 格式端點,並向其發送它發送給 `api.anthropic.com` 的測試版標頭和請求體欄位,除了為直接連接保留的一小組診斷和預設值,例如下面涵蓋的細粒度工具串流預設。該集合因版本而異,因此不要依賴其內容。

209 209 

210添加請求體欄位的功能將它們與測試版標頭配對,該對一起傳遞。移除標頭同時傳遞請求體的 gateway,或將 Anthropic 格式請求體轉發到具有不同架構的上游,會產生硬 `400` 錯誤;只有當兩個部分一起不存在時,功能才會安靜地關閉。重寫或編輯請求體以進行內容檢查的 gateway 會以與移除相同的方式破壞配對,因此請在不修改的情況下檢查。該表注意了功能偏離配對的位置。

211 

212細粒度工具串流是直接連接預設值之一:每當請求通過自訂基礎 URL 路由時,它預設為關閉,當開發人員設定 [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/zh-TW/env-vars) 時,gateway 會接收它。210細粒度工具串流是直接連接預設值之一:每當請求通過自訂基礎 URL 路由時,它預設為關閉,當開發人員設定 [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/zh-TW/env-vars) 時,gateway 會接收它。

213 211 

212### 測試版標頭和請求體欄位配對

213 

214添加請求體欄位的功能將它們與測試版標頭配對,該對一起傳遞。移除標頭同時傳遞請求體的閘道,或將 Anthropic 格式請求體轉發到具有不同 schema 的上游,會產生 `400` 錯誤。當兩個部分一起不存在時,功能會安靜地關閉。

215 

216重寫或編輯請求體以進行內容檢查的閘道會以與移除相同的方式破壞配對,因此請在不修改的情況下檢查。該表注意了功能偏離配對的位置。

217 

214| 功能 | 標頭和請求體對 | 破壞時的症狀 | 補救 |218| 功能 | 標頭和請求體對 | 破壞時的症狀 | 補救 |

215| :- | :- | :- | :- |219| :- | :- | :- | :- |

216| [自適應推理](/docs/zh-TW/model-config#adjust-effort-level) | 無測試版標頭。Claude Code 為 Claude Opus 4.6、Claude Sonnet 4.6、Claude Haiku 5.5、Claude Fable 5 及更新的模型發送 `thinking: {"type": "adaptive"}`,並將它不識別的模型名稱(如閘道別名)視為接收該欄位的目前模型 | 當上游模型建置不接受它時,命名 `thinking` 欄位或 `adaptive` 標籤的 `400` | 升級上游。在 Opus 4.6 和 Sonnet 4.6 上,開發人員可以改為設定 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |220| [自適應推理](/docs/zh-TW/model-config#adjust-effort-level) | 無測試版標頭。Claude Code 為 Claude Opus 4.6、Claude Sonnet 4.6、Claude Haiku 5.5、Claude Fable 5 及更新的模型發送 `thinking: {"type": "adaptive"}`,並將它不識別的模型名稱(如閘道別名)視為接收該欄位的目前模型 | 當上游模型建置不接受它時,命名 `thinking` 欄位或 `adaptive` 標籤的 `400` | 升級上游。在 Opus 4.6 和 Sonnet 4.6 上,開發人員可以改為設定 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |

217| [上下文管理](https://platform.claude.com/docs/en/build-with-claude/context-editing) | 上下文管理測試版標頭與 `context_management` 請求體欄位配對 | `400` 搭配 `Extra inputs are not permitted`。常見於閘道接受 Anthropic 格式請求但將其轉發到 Amazon Bedrock 時 | 轉發兩者,或 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |221| [上下文管理](https://platform.claude.com/docs/en/build-with-claude/context-editing) | 上下文管理測試版標頭與 `context_management` 請求體欄位配對 | `400` 搭配 `Extra inputs are not permitted`。常見於閘道接受 Anthropic 格式請求但將其轉發到 Amazon Bedrock 時。在 v2.1.304 或更新版本上,Claude Code 會[自行在不含該配對的情況下重試](#automatic-retry-and-error-forwarding) | 轉發兩者,或 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

218| [擴展上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)和[交錯思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | 僅測試版標頭,無請求體欄位 | 當標頭被移除時無聲地不可用;上游永遠不會看到功能請求 | 逐字轉發 `anthropic-beta` |222| [擴展上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)和[交錯思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | 僅測試版標頭,無請求體欄位 | 當標頭被移除時無聲地不可用;上游永遠不會看到功能請求 | 逐字轉發 `anthropic-beta` |

219| 測試版[工具欄位](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | 工具相關的測試版標頭與工具架構欄位(如 `strict` 和 `defer_loading`)配對 | 當請求體在沒有其標頭的情況下通過時,命名無法識別的工具架構欄位的 `400` | 轉發兩者,或 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |223| 測試版[工具欄位](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | 工具相關的測試版標頭與工具 schema 欄位(如 `strict` 和 `defer_loading`)配對 | 當請求體在沒有其標頭的情況下通過時,命名無法識別的工具 schema 欄位的 `400`。關於 `defer_loading`,請參閱[不使用工具搜尋重試](#retry-without-tool-search) | 轉發兩者,或 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

220| [努力](https://platform.claude.com/docs/en/build-with-claude/effort)和[結構化輸出](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | `output_config` 請求體欄位攜帶努力、結構化輸出格式和任務預算設定;每個都與其自己的測試版標頭配對 | 在 Amazon Bedrock 和 Google Cloud 的 Agent Platform 上游上命名 `output_config` 的 `400`,通常是 `Extra inputs are not permitted` | 一起轉發欄位及其標頭,或讓開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities),這會移除格式和任務預算設定,但不會移除努力。若只要移除格式,他們可以改為設定 [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/zh-TW/env-vars),這需要 v2.1.288 或更新版本 |224| [努力](https://platform.claude.com/docs/en/build-with-claude/effort)和[結構化輸出](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | `output_config` 請求體欄位攜帶努力、結構化輸出格式和任務預算設定;每個都與其自己的測試版標頭配對 | 在 Amazon Bedrock 和 Google Cloud 的 Agent Platform 上游上命名 `output_config` 的 `400`,通常是 `Extra inputs are not permitted` | 一起轉發欄位及其標頭,或讓開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities),這會移除格式和任務預算設定,但不會移除努力。若只要移除格式,他們可以改為設定 [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/zh-TW/env-vars),這需要 v2.1.288 或更新版本 |

225| 對話中途的系統訊息 | 無測試版標頭。Claude Code 針對 Claude Opus 4.8、在其之後發布的模型以及無法識別的模型 ID,將部分提醒和附件文字作為 `messages` 中的 `role: "system"` 項目發送 | `400`,例如 `Unexpected role "system"` | Claude Code 會[在不含系統訊息的情況下重試](#automatic-retry-and-error-forwarding)。若要在 Claude Opus 4.8 之前發布之模型的別名上停止系統訊息,請在您分發的設定中新增 [`modelOverrides` 項目](#settings-for-unrecognized-model-ids) |

226| [每回合設定的努力](/docs/zh-TW/prompt-caching#changing-effort-level) | 在 Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 5.1 上,測試版標頭與 `role: "system"` 項目上的 `output_config.effort` 配對,該項目可以是系統訊息,也可以是內容為空的項目 | 當您的閘道從空項目中移除該欄位時,出現 `400` 並顯示 `messages.N: system content must contain at least one block` | 轉發兩者,或讓開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) 以停止發送該欄位和空項目 |

221| [提示詞快取](/docs/zh-TW/prompt-caching) | 無測試版配對。Claude Code 將 `cache_control` 標記附加到 `system` 區塊和 `messages` 項目,包括在對話中途附加的 `role: "system"` 項目 | 無錯誤:對話在每個回合上都計費為未快取的輸入,在 `usage` 中可見為高 `input_tokens` 且很少或沒有快取活動 | 無論在何處出現,都逐字轉發 `cache_control`,並且不要將區塊形式的 `system` 或訊息內容轉換為純字串 |227| [提示詞快取](/docs/zh-TW/prompt-caching) | 無測試版配對。Claude Code 將 `cache_control` 標記附加到 `system` 區塊和 `messages` 項目,包括在對話中途附加的 `role: "system"` 項目 | 無錯誤:對話在每個回合上都計費為未快取的輸入,在 `usage` 中可見為高 `input_tokens` 且很少或沒有快取活動 | 無論在何處出現,都逐字轉發 `cache_control`,並且不要將區塊形式的 `system` 或訊息內容轉換為純字串 |

222| [令牌計數](https://platform.claude.com/docs/en/build-with-claude/token-counting) | 無測試版配對;使用 `count_tokens` 端點 | 無錯誤:Claude Code 回退到基於字元的估計,因此 `/context` 顯示近似計數 | 公開端點以取得精確令牌計數 |228| [令牌計數](https://platform.claude.com/docs/en/build-with-claude/token-counting) | 無測試版配對;使用 `count_tokens` 端點 | 無錯誤:Claude Code 回退到基於字元的估計,因此 `/context` 顯示近似計數 | 公開端點以取得精確令牌計數 |

223 229 


225 231 

226### 自動重試和錯誤轉發232### 自動重試和錯誤轉發

227 233 

228Claude Code 在上游拒絕後的行為取決於被拒絕的內容:234當上游拒絕其中一項功能時,Claude Code 可以自行在移除或變更被拒絕部分的情況下重試請求:

229 235 

230* 當上游拒絕 `thinking` 欄位、中途對話系統訊息或這類訊息上的 `cache_control` 標記時,Claude Code 會重試請求並為對話的其餘部分禁用被拒絕的功能236* 當 `400` 指出不支援 `thinking.type` 值 `enabled` 或 `adaptive` 時,Claude Code 會以另一種類型重試一次,並保留 `thinking` 欄位。在 Claude Code 退出之前,對該模型的後續請求會維持切換後的類型。在 v2.1.121 之前,Claude Code 不會重試,因此 [`thinking.type.enabled is not supported`](/docs/zh-TW/errors#thinking-type-enabled-is-not-supported-for-this-model) 會到達開發人員

237* 當上游拒絕 `messages` 中的 `role: "system"` 項目時,Claude Code 會在不含這些對話中途系統訊息的情況下重試一次,並改為將其文字放在使用者訊息中。在開發人員執行 `/clear` 或對話壓縮之前,該對話中的後續請求會維持此形式

238* 當上游僅拒絕對話中途系統訊息上的 `cache_control` 標記時,Claude Code 會保留系統訊息,並在移動標記後重試一次。在該次重試以及 Claude Code 退出之前的後續請求中,標記會放在 `messages` 中最後一個不是系統訊息的項目上

231* 當上游拒絕[思考簽名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)時,包括以 `400` 拒絕其中區塊 `bound to a different conversation` 時,Claude Code 會從請求中移除較早的思考區塊、重試,並將它們排除在每個後續請求之外。新回應仍包含思考239* 當上游拒絕[思考簽名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)時,包括以 `400` 拒絕其中區塊 `bound to a different conversation` 時,Claude Code 會從請求中移除較早的思考區塊、重試,並將它們排除在每個後續請求之外。新回應仍包含思考

232* 當 gateway 或其上游將[顧問工具](/docs/zh-TW/advisor)項目在 `tools` 中拒絕為無法識別的工具類型時,Claude Code 會重試一次請求,不包含該項目及其 `anthropic-beta` 值。對該基礎 URL 的後續請求會將顧問排除在外,直到 Claude Code 退出,且 `/advisor` 對開發人員在該時間內不可用。Claude Code 通過 `400` 或 `422` 回應識別此拒絕,其訊息在 `Input tag` 後命名工具類型,例如 `Input tag 'advisor_20260301'`。在 v2.1.280 之前,Claude Code 沒有重試此拒絕240* 當 gateway 或其上游將[顧問工具](/docs/zh-TW/advisor)項目在 `tools` 中拒絕為無法識別的工具類型時,Claude Code 會重試一次請求,不包含該項目及其 `anthropic-beta` 值。對該基礎 URL 的後續請求會將顧問排除在外,直到 Claude Code 退出,且 `/advisor` 對開發人員在該時間內不可用。Claude Code 通過 `400` 或 `422` 回應識別此拒絕,其訊息在 `Input tag` 後命名工具類型,例如 `Input tag 'advisor_20260301'`。在 v2.1.280 之前,Claude Code 沒有重試此拒絕

233* 當上游拒絕 `output_config.effort` 時,Claude Code 會在不包含努力的情況下重試請求,並在 Claude Code 退出之前,對該模型的後續請求中將其排除。Claude Code 通過 `400` 識別此拒絕,其訊息同時命名 `output_config.effort` 和 `Extra inputs are not permitted`,或指出該模型不支援努力參數241* 當上游拒絕 `output_config.effort` 時,Claude Code 會在不包含努力的情況下重試請求,並在 Claude Code 退出之前,對該模型的後續請求中將其排除。Claude Code 通過 `400` 識別此拒絕,其訊息同時命名 `output_config.effort` 和 `Extra inputs are not permitted`,或指出該模型不支援努力參數

234* Claude Code 不會重試上下文管理或工具架構欄位的拒絕,因此這些 `400` 錯誤會到達開發人員242* 當上游拒絕 `context_management` 欄位或其 `anthropic-beta` 值時,閘道會再收到一次不含它們的請求。如果閘道在後續請求中再次看到它們且上游再次拒絕,則會進行相同的重試。Claude Code 透過其訊息識別此拒絕,例如包含 `context_management: Extra inputs are not permitted` 的訊息。在 v2.1.304 之前,Claude Code 沒有重試此拒絕

243* 當上游拒絕 `defer_loading` 以外的測試版工具欄位(例如 `strict`)時,`400` 會到達開發人員。在此之前,閘道可能會再次收到[不含工具搜尋欄位](#retry-without-tool-search)的請求。若要停止發送這類欄位,請讓開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)

235 244 

236`bound to a different conversation` 拒絕來自 API 的[保留思考](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking)檢查,當 `system`、`tools` 或較早的 `messages` 內容與產生思考的請求不同時,該檢查會失敗。重寫任何該內容的 gateway 可能會導致拒絕本身;[程式庫、代理和 gateway](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways)涵蓋要逐字轉發的內容。245`bound to a different conversation` 拒絕來自 API 的[保留思考](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking)檢查,當 `system`、`tools` 或較早的 `messages` 內容與產生思考的請求不同時,該檢查會失敗。重寫任何該內容的 gateway 可能會導致拒絕本身;[程式庫、代理和 gateway](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways)涵蓋要逐字轉發的內容。

237 246 

238重試邏輯與上游的錯誤措辭相匹配,因此不修改地轉發錯誤回應體。在自己的信封中包裝上游錯誤的 gateway 會破壞恢復路徑,即使它保留了狀態碼,除非信封的訊息攜帶穩定的 `capability_rejected:` 令牌。[Claude 應用程式 gateway 為雲端提供者的錯誤措辭替換這些令牌](/docs/zh-TW/claude-apps-gateway-config#upstream-error-messages),例如 `capability_rejected: prompt_too_long`。247大部分重試邏輯與上游的錯誤措辭相匹配,因此不修改地轉發錯誤回應體。在自己的信封中包裝上游錯誤的閘道會破壞恢復路徑,即使它保留了狀態碼,除非信封的訊息攜帶穩定的 `capability_rejected:` token。[Claude 應用程式閘道為雲端提供者的錯誤措辭替換這些 token](/docs/zh-TW/claude-apps-gateway-config#upstream-error-messages),例如 `capability_rejected: prompt_too_long`。

248 

249#### 不使用工具搜尋重試

250 

251在 v2.1.305 或更新版本上,攜帶 [`defer_loading` 欄位和 `tool_reference` 區塊](/docs/zh-TW/mcp#tool-search-through-a-gateway)的請求,在收到 Claude Code 無法識別原因的 `400` 或 `422` 後,可能會以不含它們的形式再次送達。重試成功後,後續請求也會省略它們。

252 

253開發人員的請求無需對閘道進行任何變更即可繼續運作,其 MCP 工具會預先載入。Claude Code 稍後會再次嘗試工具搜尋,因此閘道可能會看到另一個被拒絕的請求及其重試。若要讓每個請求都不含這些欄位,請讓開發人員設定 `ENABLE_TOOL_SEARCH=false`。對於工具搜尋本身,Claude Code 預期閘道會轉發 `defer_loading` 欄位和 `tool_reference` 區塊及其 `anthropic-beta` 值。

239 254 

240### 禁用預發佈功能255### 禁用預發佈功能

241 256 


250該變數不會移除所有 `anthropic-beta` 值。它保留的內容包括:265該變數不會移除所有 `anthropic-beta` 值。它保留的內容包括:

251 266 

252* 擴展上下文、交錯思考和努力的 `anthropic-beta` 值,雲端提供者也接受這些值267* 擴展上下文、交錯思考和努力的 `anthropic-beta` 值,雲端提供者也接受這些值

253* `output_config.effort` 欄位。[自動重試和錯誤轉發](#automatic-retry-and-error-forwarding)涵蓋拒絕它的上游268* 頂層的 `output_config.effort` 欄位。[自動重試和錯誤轉發](#automatic-retry-and-error-forwarding)涵蓋拒絕它的上游

254* 自適應推理的 `thinking` 欄位,它沒有測試版標頭269* 自適應推理的 `thinking` 欄位,它沒有測試版標頭

270* 承載[對話中途系統訊息](#feature-pass-through)的 `role: "system"` 項目

255* 訂閱身分驗證所需的 OAuth `anthropic-beta` 值271* 訂閱身分驗證所需的 OAuth `anthropic-beta` 值

256* 開發人員透過 [`ANTHROPIC_BETAS`](/docs/zh-TW/env-vars) 或 [`CLAUDE_CODE_EXTRA_BODY`](/docs/zh-TW/env-vars) 自行添加的標頭值和請求體欄位272* 開發人員透過 [`ANTHROPIC_BETAS`](/docs/zh-TW/env-vars) 或 [`CLAUDE_CODE_EXTRA_BODY`](/docs/zh-TW/env-vars) 自行添加的標頭值和請求體欄位

257 273 

Details

86 * **在完整 VM 沙箱中**:當您的 Claude Desktop 受管設定將 [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox) 設定時,Claude Code 在虛擬機器內執行,其中裝置的 MDM 原則和受管設定檔案不存在。86 * **在完整 VM 沙箱中**:當您的 Claude Desktop 受管設定將 [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox) 設定時,Claude Code 在虛擬機器內執行,其中裝置的 MDM 原則和受管設定檔案不存在。

87 * **遠端共同工作工作階段**:這些在 Anthropic 受管 VM 上執行,其中 Claude Code 沒有裝置原則可讀取。87 * **遠端共同工作工作階段**:這些在 Anthropic 受管 VM 上執行,其中 Claude Code 沒有裝置原則可讀取。

88 88 

89 無論工作階段在何處執行,claude.ai 在任何人從 claude.ai 上的 git 儲存庫或從 Cowork 標籤中的**自訂**新增市集時,會自行應用管理主控台的 [`strictKnownMarketplaces`](/docs/zh-TW/settings-reference#strictknownmarketplaces) 和 [`blockedMarketplaces`](/docs/zh-TW/settings-reference#blockedmarketplaces) 列表。[限制如何運作](/docs/zh-TW/plugins/org#restrict-what-users-can-install)描述該檢查。[表面涵蓋](/docs/zh-TW/model-config#surface-coverage)表比較共同工作與其他表面。89 無論工作階段在何處執行,claude.ai 在任何人從 claude.ai 上的 git 儲存庫或從 Cowork 中的**自訂**新增市集時,會自行應用管理主控台的 [`strictKnownMarketplaces`](/docs/zh-TW/settings-reference#strictknownmarketplaces) 和 [`blockedMarketplaces`](/docs/zh-TW/settings-reference#blockedmarketplaces) 列表。[限制如何運作](/docs/zh-TW/plugins/org#restrict-what-users-can-install)描述該檢查。[使用介面涵蓋範圍](/docs/zh-TW/model-config#surface-coverage)表比較 Cowork 與其他使用介面。

90* **執行中的工作階段**:大多數變更在[傳遞機制表](#choose-a-delivery-mechanism)中的排程上到達執行中的工作階段,無需重新啟動。90* **執行中的工作階段**:大多數變更在[傳遞機制表](#choose-a-delivery-mechanism)中的排程上到達執行中的工作階段,無需重新啟動。

91 * 對 [`forceRemoteSettingsRefresh`](/docs/zh-TW/settings-reference#forceremotesettingsrefresh)、[`requiredMinimumVersion`](/docs/zh-TW/settings-reference#requiredminimumversion) 和[某些使用者可編輯的金鑰](/docs/zh-TW/settings#when-edits-take-effect)的變更在下一個工作階段啟動時生效。91 * 對 [`forceRemoteSettingsRefresh`](/docs/zh-TW/settings-reference#forceremotesettingsrefresh)、[`requiredMinimumVersion`](/docs/zh-TW/settings-reference#requiredminimumversion) 和[某些使用者可編輯的金鑰](/docs/zh-TW/settings#when-edits-take-effect)的變更在下一個工作階段啟動時生效。

92 * 新的或變更的 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 項目在下一次啟動時生效。如果伺服器受管設定在該啟動時遮蔽協助程式,協助程式會在擷取報告這些設定已移除時立即執行。92 * 新的或變更的 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 項目在下一次啟動時生效。如果伺服器受管設定在該啟動時遮蔽協助程式,協助程式會在擷取報告這些設定已移除時立即執行。

mcp.md +88 −64

Details

302如果您的請求需要仍在背景連接的伺服器中的工具,Claude 會在繼續之前等待該伺服器。等待的方式取決於您的設定:302如果您的請求需要仍在背景連接的伺服器中的工具,Claude 會在繼續之前等待該伺服器。等待的方式取決於您的設定:

303 303 

304* **使用 [工具搜尋](#scale-with-mcp-tool-search)(預設)**:等待發生在 `ToolSearch` 呼叫內。304* **使用 [工具搜尋](#scale-with-mcp-tool-search)(預設)**:等待發生在 `ToolSearch` 呼叫內。

305* **沒有工具搜尋**:Claude 改為使用 `WaitForMcpServers` 工具。沒有工具搜尋的設定包括自訂 `ANTHROPIC_BASE_URL`、`ENABLE_TOOL_SEARCH=false`,以及 Google Cloud 的 Agent Platform 上早於 Claude Opus 4.5、Claude Sonnet 4.5 和 Claude Haiku 4.5 的模型。305* **沒有工具搜尋**:Claude 改為使用 `WaitForMcpServers` 工具。沒有工具搜尋的設定包括 `ENABLE_TOOL_SEARCH=false`,以及 Google Cloud 的 Agent Platform 上早於 Claude Opus 4.5、Claude Sonnet 4.5 和 Claude Haiku 4.5 的模型。對於 `ANTHROPIC_BASE_URL` 閘道,請參閱 [透過 LLM 閘道進行工具搜尋](#tool-search-through-a-gateway)。

306* **在 Microsoft Foundry [部署託管在 Azure 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**:Claude 開始於工具搜尋路徑而不是 `WaitForMcpServers`,因為 Claude Code 只從 API 發現部署的伺服器端拒絕。Claude Code 將該部署切換到 [前期載入](#scale-with-mcp-tool-search)後,來自完成連接的伺服器的工具在 Claude 的下一個請求上變得可用。306* **在 Microsoft Foundry [部署託管在 Azure 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**:Claude 開始於工具搜尋路徑而不是 `WaitForMcpServers`,因為 Claude Code 只從 API 發現部署的伺服器端拒絕。Claude Code 將該部署切換到 [前期載入](#scale-with-mcp-tool-search)後,來自完成連接的伺服器的工具在 Claude 的下一個請求上變得可用。

307 307 

308啟用工具搜尋後,當伺服器在 Claude 工作時完成連接時,Claude Code 在同一回合中的下一個請求上將伺服器的工具名稱列出給 Claude。Claude 然後可以搜尋並呼叫這些工具,而無需等待您的下一條訊息。308啟用工具搜尋後,當伺服器在 Claude 工作時完成連接時,Claude Code 在同一回合中的下一個請求上將伺服器的工具名稱列出給 Claude。Claude 然後可以搜尋並呼叫這些工具,而無需等待您的下一條訊息。


509 509 

510外掛伺服器出現在 `/mcp` 中,指標顯示它們來自外掛。510外掛伺服器出現在 `/mcp` 中,指標顯示它們來自外掛。

511 511 

512對於外掛的 stdio 伺服器,`claude mcp get` 列印 `Command: stdio`、空 `Args:` 行和每個環境變數作為 `NAME=[REDACTED]`。值被隱藏,因為它們可能攜帶憑證。512`claude mcp get` 會隱藏為外掛的 stdio 或 WebSocket 伺服器設定的值,因為它們可能攜帶憑證:

513 

514* **stdio 伺服器**:它列印 `Command: stdio`、空 `Args:` 行,並將每個環境變數列印為 `NAME=[REDACTED]`

515* **WebSocket 伺服器**:它列印 `URL: ws`,並將每個標頭列印為 `<name>: [REDACTED]`,而 `claude mcp list` 會以 `ws` 取代 URL 顯示

516 

517若要查看外掛設定的內容,請 [在磁碟上找到外掛](/docs/zh-TW/plugins/loading#find-plugins-on-disk)並讀取其 `.mcp.json` 或 `plugin.json`。

513 518 

514**外掛 MCP 工具名稱**:519**外掛 MCP 工具名稱**:

515 520 


527 532 

528## MCP 安裝範圍533## MCP 安裝範圍

529 534 

530MCP servers 可以在三個不同的範圍級別進行配置。您選擇的範圍控制 server 在哪些專案中載入,以及配置是否與您的團隊共享。管理員也可以透過[受管配置](#managed-mcp-configuration)為每個使用者部署或提供 servers。535MCP 伺服器可以在三種範圍中設定。您選擇的範圍決定伺服器會在哪些專案中載入,以及該設定是否與團隊共享。管理員也可以透過[受管設定](#managed-mcp-configuration)為每位使用者部署或提供伺服器。

531 536 

532| 範圍 | 載入位置 | 與團隊共享 | 儲存位置 |537| 範圍 | 載入於 | 與團隊共享 | 儲存位置 |

533| - | - | - | - |538| - | - | - | - |

534| [Local](#local-scope) | 僅目前專案 | 否 | `~/.claude.json` |539| [Local](#local-scope) | 僅目前專案 | 否 | `~/.claude.json` |

535| [Project](#project-scope) | 僅目前專案 | 是,透過版本控制 | 專案根目錄中的 `.mcp.json` |540| [Project](#project-scope) | 僅目前專案 | 是,透過版本控制 | 專案根目錄中的 `.mcp.json` |

536| [User](#user-scope) | 您的所有專案 | 否 | `~/.claude.json` |541| [User](#user-scope) | 您的所有專案 | 否 | `~/.claude.json` |

537 542 

538### Local scope543### Local 範圍

539 544 

540Local scope 是預設值。本機範圍的 server 僅在您新增它的專案中載入,並對您保持私密。Claude Code 將其儲存在 `~/.claude.json` 中該專案的路徑下,因此相同的 server 不會出現在您的其他專案中。使用本機範圍進行個人開發 servers、實驗配置或包含您不想在版本控制中的認證的 servers。545Local 範圍是預設值。Local 範圍的伺服器只會在您新增它的專案中載入,且僅限您私人使用。Claude Code 會將其儲存在 `~/.claude.json` 中該專案路徑之下,因此同一個伺服器不會出現在您的其他專案中。請將 local 範圍用於個人開發伺服器、實驗性設定,或含有您不希望放入版本控制之憑證的伺服器。

541 546 

542> [!NOTE]547> [!NOTE]

543>548>

544> MCP servers 的「local scope」術語與一般本機設定不同。MCP 本機範圍的 servers 儲存在 `~/.claude.json` (您的主目錄) 中,而一般本機設定使用 `.claude/settings.local.json` (在專案目錄中)。請參閱 [Settings](/docs/zh-TW/settings#where-settings-live) 了解設定檔案位置的詳細資訊。549> MCP 伺服器的「local 範圍」一詞與一般的本機設定不同。MCP local 範圍的伺服器儲存在 `~/.claude.json`(您的家目錄)中,而一般的本機設定則使用 `.claude/settings.local.json`(位於專案目錄中)。如需設定檔位置的詳細資訊,請參閱[設定](/docs/zh-TW/settings#where-settings-live)。

545 550 

546```bash theme={null}551```bash theme={null}

547# 新增本機範圍的 server (預設)552# Add a local-scoped server (default)

548claude mcp add --transport http stripe https://mcp.stripe.com553claude mcp add --transport http stripe https://mcp.stripe.com

549 554 

550# 明確指定本機範圍555# Explicitly specify local scope

551claude mcp add --transport http stripe --scope local https://mcp.stripe.com556claude mcp add --transport http stripe --scope local https://mcp.stripe.com

552```557```

553 558 

554當您從 `/path/to/your/project` 執行命令時,該命令會將 server 寫入 `~/.claude.json` 中您目前專案的項目。下面的範例顯示結果:559此命令會將伺服器寫入 `~/.claude.json` 中您目前專案的項目。以下範例顯示從 `/path/to/your/project` 執行時的結果:

555 560 

556```json theme={null}561```json theme={null}

557{562{


568}573}

569```574```

570 575 

571### Project scope576### Project 範圍

572 577 

573Project scope 的 servers 透過在專案根目錄中儲存配置在 `.mcp.json` 檔案中來啟用團隊協作。當您新增 project scope 的 server 時,Claude Code 會自動建立或更新此檔案,使用適當的配置結構。將 `.mcp.json` 簽入版本控制,以便您的團隊中的每個人都能取得相同的 MCP 工具和服務。578Project 範圍的伺服器會將設定儲存在專案根目錄的 `.mcp.json` 檔案中,以實現團隊協作。當您新增 project 範圍的伺服器時,Claude Code 會自動建立或更新此檔案,並套用適當的設定結構。請將 `.mcp.json` 提交至版本控制,讓團隊中的每個人都能取得相同的 MCP 工具與服務。

574 579 

575```bash theme={null}580```bash theme={null}

576# 新增 project scope 的 server581# Add a project-scoped server

577claude mcp add --transport http shared-server --scope project https://example.com/mcp582claude mcp add --transport http shared-server --scope project https://example.com/mcp

578```583```

579 584 


590}595}

591```596```

592 597 

593出於安全考慮,Claude Code 在互動式工作階段中使用來自 `.mcp.json` 檔案的 project scope servers 之前會提示批准。若要重設這些批准選擇,請執行 `claude mcp reset-project-choices`。598基於安全考量,Claude Code 在互動式工作階段中使用 `.mcp.json` 檔案中的 project 範圍伺服器之前,會提示您核准。若要重設這些核准選擇,請執行 `claude mcp reset-project-choices`。

594 599 

595在 `claude -p` 執行、[Agent SDK](/docs/zh-TW/headless) 工作階段和[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中,Claude Code 無法顯示該提示:它會載入 project scope servers 而不詢問。Claude Code 也會在您以 `bypassPermissions` 模式啟動的工作階段中跳過提示,其中在您的使用者設定或受管設定中設定了 [`skipDangerousModePermissionPrompt`](/docs/zh-TW/settings-reference#skipdangerousmodepermissionprompt)。若要無論如何保持 server 不被使用:600在 `claude -p` 執行、[Agent SDK](/docs/zh-TW/headless) 工作階段,以及位於[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)之外的[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中,Claude Code 無法顯示該提示:它會直接載入 project 範圍的伺服器而不詢問。若您在使用者設定或受管設定中設定了 [`skipDangerousModePermissionPrompt`](/docs/zh-TW/settings-reference#skipdangerousmodepermissionprompt),並以 `bypassPermissions` 模式啟動工作階段,Claude Code 也會略過該提示。若仍要排除某個伺服器:

596 601 

597* 將其新增到 [`disabledMcpjsonServers`](/docs/zh-TW/settings-reference#disabledmcpjsonservers),這會在每個權限模式中阻止它。602* 將其加入 [`disabledMcpjsonServers`](/docs/zh-TW/settings-reference#disabledmcpjsonservers),這會在每種權限模式中封鎖它。

598* 使用 [`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 或 SDK 的 `settingSources` 選項完全排除專案設定。603* 使用 [`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 或 SDK 的 `settingSources` 選項完全排除專案設定。

599* 使用 [`--strict-mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 啟動工作階段。Claude Code 隨後只使用您透過 `--mcp-config` 傳遞的 MCP servers。跳過 Claude Code 未載入的 project scope servers 的批准提示需要 Claude Code v2.1.246 或更新版本;在 v2.1.246 之前,嚴格工作階段仍會等待它們的批准,這會導致背景工作階段在啟動時等待。請參閱[使用 managed-mcp.json 進行獨佔控制](/docs/zh-TW/managed-mcp#exclusive-control-with-managed-mcp-json)了解該旗標在受管 MCP 檔案下的作用。604* 使用 [`--strict-mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 啟動工作階段。Claude Code 隨後只會使用您透過 `--mcp-config` 傳入的 MCP 伺服器。對於 Claude Code 未載入的 project 範圍伺服器略過核准提示,需要 Claude Code v2.1.246 或更新版本;在 v2.1.246 之前,strict 工作階段仍會等待這些伺服器的核准,導致背景工作階段在啟動時停滯等待。如需此旗標在受管 MCP 檔案下的作用,請參閱[使用 managed-mcp.json 進行獨佔控制](/docs/zh-TW/managed-mcp#exclusive-control-with-managed-mcp-json)。

600 605 

601[Project server 批准和工作區信任](#project-server-approvals-and-workspace-trust)涵蓋提交到儲存庫的批准如何與工作區信任互動。606[Project 伺服器核准與工作區信任](#project-server-approvals-and-workspace-trust)說明提交至儲存庫的核准如何與工作區信任互動。

602 607 

603### User scope608### User 範圍

604 609 

605User scope 的 servers 儲存在 `~/.claude.json` 中,並提供跨專案可存取性,使其在您機器上的所有專案中可用,同時對您的使用者帳戶保持私密。此範圍非常適合個人公用程式 servers、開發工具或您在不同專案中經常使用的服務。610User 範圍的伺服器儲存在 `~/.claude.json` 中,提供跨專案的存取能力,使其可在您電腦上的所有專案中使用,同時僅限您的使用者帳戶私人使用。此範圍適用於個人工具伺服器、開發工具,或您在不同專案中經常使用的服務。

606 611 

607```bash theme={null}612```bash theme={null}

608# 新增使用者 server613# Add a user server

609claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic614claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

610```615```

611 616 

612### Scope 階層和優先順序617### 範圍階層與優先順序

613 618 

614當相同的 server 在多個位置定義時,Claude Code 連接到它一次,使用來自最高優先順序來源的定義。整個 server 項目來自該來源;欄位不會跨範圍合併。619當同一個伺服器在多個位置中定義時,Claude Code 只會連線一次,並使用優先順序最高之來源的定義。系統會使用該來源的完整伺服器項目;欄位不會跨範圍合併。

615 620 

6161. Local scope6211. Local 範圍

6172. Project scope6222. Project 範圍

6183. User scope6233. User 範圍

6194. [Plugin-provided servers](/docs/zh-TW/plugins/components#mcp-servers)6244. [外掛提供的伺服器](/docs/zh-TW/plugins/components#mcp-servers)

6205. [claude.ai connectors](#use-mcp-servers-from-claude-ai)6255. [claude.ai 連接器](#use-mcp-servers-from-claude-ai)

621 626 

622Claude Code 按名稱符合三個範圍中的重複項。它按端點符合 plugins 和 connectors,因此指向與上述 server 相同 URL 或命令的端點被視為重複項。627Claude Code 依名稱比對三種範圍之間的重複項目。外掛與連接器則依端點比對,因此若其指向的 URL 或命令與上方某個已啟用伺服器相同,即視為重複。

623 628 

624當兩個 URL 拼寫僅在配置或主機的字母大小寫、配置的預設連接埠 (例如 `https` 上的 `:443`) 或尾部斜線上有所不同時,它們被視為相同的端點。不同的路徑、查詢字串、使用者資訊或非預設連接埠會使兩個 servers 不同。629當兩種 URL 寫法的差異僅在於通訊協定(scheme)或主機名稱的大小寫、通訊協定的預設連接埠(例如 `https` 上的 `:443`),或結尾斜線時,它們會被視為同一個端點。若路徑、查詢字串、userinfo 或非預設連接埠不同,則視為兩個伺服器。

625 630 

626您的組織透過 [`managedMcpServers`](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings) 受管設定提供的 server 排名高於所有這些,因此當其中一個重複它時,Claude Code 連接組織的定義。需要 Claude Code v2.1.259 或更新版本。631您的組織透過 [`managedMcpServers`](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings) 受管設定提供的伺服器,其優先順序高於上述所有來源,因此當其中任一來源與之重複時,Claude Code 會連線至組織的定義。需要 Claude Code v2.1.259 或更新版本。

627 632 

628如果您在[桌面應用程式的 Code 標籤](/docs/zh-TW/desktop#mcp-servers-from-the-claude-desktop-chat-app)中開啟本機工作階段,其中 `~/.claude.json` (user scope) 的頂層和 `.mcp.json` 中有相同的 stdio server 名稱,Code 標籤會使用 `~/.claude.json` 定義。633若您在 [Desktop 應用程式的 Code 分頁](/docs/zh-TW/desktop#mcp-servers-from-the-claude-desktop-chat-app)中開啟本機工作階段,且 `~/.claude.json` 的最上層(user 範圍)與 `.mcp.json` 中有相同名稱的 stdio 伺服器,Code 分頁會使用 `~/.claude.json` 的定義。

629 634 

630### `.mcp.json` 中的環境變數擴展635### `.mcp.json` 中的環境變數展開

631 636 

632Claude Code 支援 `.mcp.json` 檔案中的環境變數擴展,允許團隊共享配置,同時保持機器特定路徑和 API 金鑰等敏感值的靈活性。637Claude Code 支援在 `.mcp.json` 檔案中展開環境變數,讓團隊能夠共享設定,同時保有針對特定機器路徑與 API 金鑰等敏感值的彈性。

633 638 

634#### 支援的語法639#### 支援的語法

635 640 

636* `${VAR}`:擴展為環境變數 `VAR` 的值641* `${VAR}`:展開為環境變數 `VAR` 的值

637* `${VAR:-default}`:如果設定了 `VAR`,則擴展為 `VAR`,否則使用 `default`642* `${VAR:-default}`:若已設定 `VAR` 則展開為 `VAR`,否則使用 `default`

638 643 

639#### 擴展位置644#### 展開位置

640 645 

641環境變數可以在以下位置擴展:646環境變數可在以下位置展開:

642 647 

643* `command`:server 可執行檔路徑648* `command`:伺服器執行檔路徑

644* `args`:命令列引數649* `args`:命令列引數

645* `env`:傳遞給 server 的環境變數650* `env`:傳遞給伺服器的環境變數

646* `url`:對於 HTTP server 類型651* `url`:用於 HTTP 伺服器類型

647* `headers`:對於 HTTP server 驗證652* `headers`:用於 HTTP 伺服器身分驗證

648 653 

649#### 使用變數擴展的範例654#### 變數展開範例

650 655 

651```json theme={null}656```json theme={null}

652{657{


662}667}

663```668```

664 669 

665#### 未設定預設值的未設定變數670#### 未設定且沒有預設值的變數

666 671 

667如果參考的環境變數未設定且沒有預設值,配置仍會載入:Claude Code 在 `claude mcp list` 輸出中為該 server 報告遺漏變數警告,並按原樣使用未擴展的 `${VAR}` 文字。設定變數或新增 `:-default` 後備,以便 server 使用您預期的值啟動。在遠端 server 的 `url` 和 `headers` 中,某些認證變數[讀取為空](#credential-variables-that-read-as-empty),沒有警告。672若參照的環境變數未設定且沒有預設值,設定仍會載入:Claude Code 會在 `claude mcp list` 輸出中針對該伺服器回報缺少變數的警告,並直接使用未展開的 `${VAR}` 文字。請設定該變數或加入 `:-default` 備援值,讓伺服器以您預期的值啟動。在遠端伺服器的 `url` 與 `headers` 中,某些憑證變數則會[讀取為空值](#credential-variables-that-read-as-empty),且不會有警告。

668 673 

669#### 讀取為空的認證變數674#### 讀取為空值的憑證變數

670 675 

671在遠端 server 的 `url` 和 `headers` 中,Claude Code 從您的環境讀取認證變數為空,而不是擴展它們。這可防止專案的 `.mcp.json` 或 plugin 將您的 Claude Code 或雲端提供者認證傳送到它命名的 server。如果您寫入 `Bearer ${ANTHROPIC_AUTH_TOKEN}`,server 會收到 `Bearer ` 且沒有認證,並拒絕請求,通常會出現 `401`。Claude Code 將其報告為連接失敗。676在遠端伺服器的 `url` 與 `headers` 中,Claude Code 會將環境中的憑證變數讀取為空值,而不會展開它們。這可防止專案的 `.mcp.json` 或外掛將您的 Claude Code 或雲端供應商憑證傳送至其指定的伺服器。若您寫入 `Bearer ${ANTHROPIC_AUTH_TOKEN}`,伺服器會收到不含憑證的 `Bearer `,並拒絕該請求,通常會回傳 `401`。Claude Code 會將其回報為連線失敗。

672 677 

673涵蓋的名稱包括:678涵蓋的名稱包括:

674 679 

675* Claude Code 自己的認證,例如 `ANTHROPIC_API_KEY` 和 `ANTHROPIC_AUTH_TOKEN`680* Claude Code 本身的憑證,例如 `ANTHROPIC_API_KEY` 與 `ANTHROPIC_AUTH_TOKEN`

676* 您的雲端提供者的認證,例如 `AWS_BEARER_TOKEN_BEDROCK`681* 您雲端供應商的憑證,例如 `AWS_BEARER_TOKEN_BEDROCK`

677* 您的環境攜帶的其他認證,例如 `HTTPS_PROXY` 和 `NPM_TOKEN`682* 您環境中攜帶的其他憑證,例如 `HTTPS_PROXY` 與 `NPM_TOKEN`

678 683 

679涵蓋的名稱讀取為空,無論您是否設定了變數,其上的 `:-default` 後備會被忽略。提供者基礎 URL (例如 `ANTHROPIC_BASE_URL`) 仍會擴展,因此 `"url": "${ANTHROPIC_BASE_URL}/mcp"` 有效,除非 URL 的值本身嵌入認證,例如使用者名稱和密碼。684無論您是否已設定該變數,涵蓋的名稱都會讀取為空值,且其上的 `:-default` 備援值會被忽略。供應商基礎 URL(例如 `ANTHROPIC_BASE_URL`)仍會展開,因此 `"url": "${ANTHROPIC_BASE_URL}/mcp"` 可正常運作,除非該 URL 的值本身嵌入了憑證,例如使用者名稱與密碼。

680 685 

681此集合外的名稱 (例如 `API_KEY`) 按原樣擴展。若要為 server 提供涵蓋的認證之一,請將其複製到具有您自己名稱的變數中,並改為參考該名稱。686不在此集合中的名稱(例如 `API_KEY`)會依原樣展開。若要將其中一項涵蓋的憑證提供給伺服器,請將其複製到您自行命名的變數中,並改為參照該名稱。

682 687 

683當遠端 server 的 `url` 或 `headers` 參考您已設定的涵蓋變數時,Claude Code 在偵錯日誌行中命名它。若要讀取該行,請執行 `claude --debug-file /tmp/claude-debug.log` 並在該檔案中搜尋 `never expanded toward a remote server`。688當遠端伺服器的 `url` 或 `headers` 參照了您已設定的涵蓋變數時,Claude Code 會在一行除錯日誌中列出其名稱。若要查看該行,請執行 `claude --debug-file /tmp/claude-debug.log`,並在該檔案中搜尋 `never expanded toward a remote server`。

684 689 

685#### 參考在 `/mcp` 和 CLI 輸出中的顯示方式690#### 參照在 `/mcp` 與 CLI 輸出中的顯示方式

686 691 

687對於本機、專案或使用者[範圍](#mcp-installation-scopes)中的 server,以下表面按名稱而不是其解析值顯示 `${VAR}` 參考:692對於位於 local、project 或 user [範圍](#mcp-installation-scopes)的伺服器,以下使用介面會以名稱顯示 `${VAR}` 參照,而非其解析後的值:

688 693 

689* server 的 `/mcp` 詳細檢視中的 URL 或命令行694* 伺服器 `/mcp` 詳細資訊檢視中的 URL 或命令列

690* `claude mcp list` 和 `claude mcp get` 輸出695* `claude mcp list` 與 `claude mcp get` 輸出

691 696 

692`/mcp` 詳細檢視在 Claude Code v2.1.268 或更新版本中以這種方式顯示參考。697`/mcp` 詳細資訊檢視在 Claude Code v2.1.268 或更新版本中會以此方式顯示參照。

693 698 

694對於您的組織透過 `managedMcpServers` 設定提供的 server,這些表面顯示[僅 URL 的主機](/docs/zh-TW/managed-mcp#what-users-can-see-and-change)。699對於您的組織透過 `managedMcpServers` 設定提供的伺服器,這些使用介面只會顯示 [URL 的主機名稱](/docs/zh-TW/managed-mcp#what-users-can-see-and-change)。

695 700 

696若要檢查當連接失敗時 `claude mcp list`、`claude mcp get` 和 `/mcp` 顯示的內容,請參閱 [Server 狀態詳細資訊](#server-status-detail)。701若要查看連線失敗時 `claude mcp list`、`claude mcp get` 與 `/mcp` 顯示的內容,請參閱[伺服器狀態詳細資訊](#server-status-detail)。

697 702 

698## 實用範例703## 實用範例

699 704 


1483 1488 

1484### 設定工具搜尋1489### 設定工具搜尋

1485 1490 

1486工具搜尋預設為啟用:MCP 工具被延遲並按需發現。當 `ANTHROPIC_BASE_URL` 指向非第一方主機時,Claude Code 會停用它,因為大多數代理伺服器不轉發 `tool_reference` 區塊。明確設定 `ENABLE_TOOL_SEARCH` 可覆寫該備援行為。1491工具搜尋預設為啟用:MCP 工具被延遲並按需發現。

1487 1492 

1488設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/zh-TW/env-vars) 會保持工具搜尋關閉。您無法透過自己設定 `ENABLE_TOOL_SEARCH` 來覆寫它。在 Claude Code v2.1.227 或更新版本上,您的組織可以透過[受管設定](/docs/zh-TW/managed-settings)在此變數之下保持工具搜尋開啟。在[套用 HIPAA 設定](/docs/zh-TW/hipaa-setup#check-how-developers-sign-in-and-connect)的工作階段中,工具搜尋會關閉,且 `ENABLE_TOOL_SEARCH` 和受管設定都無法將其重新開啟。[停用預發行功能](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities) 涵蓋覆寫適用的位置以及變數移除的內容。1493設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/zh-TW/env-vars) 會保持工具搜尋關閉。您無法透過自己設定 `ENABLE_TOOL_SEARCH` 來覆寫它。在 Claude Code v2.1.227 或更新版本上,您的組織可以透過[受管設定](/docs/zh-TW/managed-settings)在此變數之下保持工具搜尋開啟。在[套用 HIPAA 設定](/docs/zh-TW/hipaa-setup#check-how-developers-sign-in-and-connect)的工作階段中,工具搜尋會關閉,且 `ENABLE_TOOL_SEARCH` 和受管設定都無法將其重新開啟。[停用預發行功能](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities) 涵蓋覆寫適用的位置以及變數移除的內容。

1489 1494 


1500 1505 

1501| 值 | 行為 |1506| 值 | 行為 |

1502| :- | :- |1507| :- | :- |

1503| (未設定) | 所有 MCP 工具延遲並按需載入。在早於 Opus 4 和 Sonnet 4 的模型上、在早於 Opus 4.5、Sonnet 4.5 和 Haiku 4.5 的 Google Cloud Agent Platform 模型上、當 `ANTHROPIC_BASE_URL` 是非第一方主機時,或在部署於 Azure 的 Microsoft Foundry 部署上,改為預先載入 |1508| (未設定) | 所有 MCP 工具延遲並按需載入。在早於 Opus 4 和 Sonnet 4 的模型上、在[較早的 Agent Platform 模型](#configure-tool-search)上,以及在部署於 Azure 的 Microsoft Foundry 部署上,改為預先載入 |

1504| `true` | 當 `ANTHROPIC_BASE_URL` 是非第一方主機時,MCP 工具仍保持延遲。其他(未設定時的)備援情況仍然適用。Claude Code 會透過代理伺服器傳送測試版標頭,在不支援 `tool_reference` 區塊的代理伺服器上請求會失敗 |1509| `true` | MCP 工具延遲載入,備援情況與(未設定)時相同 |

1505| `auto` | 閾值模式:Claude Code 預先載入它會延遲的工具,同時它們的定義總計少於上下文視窗的 10%,一旦定義達到 10% 就延遲所有工具 |1510| `auto` | 閾值模式。原本會被延遲的工具,在其定義總計少於上下文視窗的 10% 時會預先載入。達到 10% 或以上時,工具搜尋會開啟,且即使總計之後降到 10% 以下,這些工具仍可能[保持延遲](#tools-that-stay-deferred-below-the-threshold) |

1506| `auto:N` | 具有自訂百分比的閾值模式,其中 `N` 是 0-100。例如,`auto:5` 表示 5% |1511| `auto:N` | 具有自訂百分比的閾值模式,其中 `N` 是 0-100。例如,`auto:5` 表示 5% |

1507| `false` | 所有 MCP 工具預先載入,無延遲 |1512| `false` | 所有 MCP 工具預先載入,無延遲 |

1508 1513 


1526}1531}

1527```1532```

1528 1533 

1534如果您拒絕 `ToolSearch` 或未將其納入 [`--tools`](/docs/zh-TW/cli-reference#cli-flags),MCP 工具會改為預先載入,但請求仍可能帶有一個佔位的 `defer_loading` 項目。如果閘道拒絕該項目,請參閱[透過 LLM 閘道使用工具搜尋](#tool-search-through-a-gateway)。

1535 

1536#### 透過 LLM 閘道使用工具搜尋

1537 

1538> [!NOTE]

1539>

1540> 以下情況在其他地方說明:

1541>

1542> * **您已設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`**:請參閱[它如何影響工具搜尋](#configure-tool-search)

1543> * **請求失敗,且錯誤中提及 `defer_loading` 或 `tool_reference`**:請參閱 [Extra inputs are not permitted](/docs/zh-TW/errors#extra-inputs-are-not-permitted)

1544 

1545當 `ANTHROPIC_BASE_URL` 指向閘道時,工具搜尋預設為開啟,因此請求會包含 `defer_loading` 工具欄位和 `tool_reference` 區塊,供閘道轉發。工具搜尋開啟時,MCP 工具會被[延遲](#scale-with-mcp-tool-search)。若要改為預先載入所有工具,請在您的 shell 或 [設定的 `env`](/docs/zh-TW/settings-reference#env) 中設定 `ENABLE_TOOL_SEARCH=false`。在 v2.1.304 之前,透過閘道時工具搜尋為關閉,除非 `ENABLE_TOOL_SEARCH` 為 `true`、`auto` 或 `auto:N`。

1546 

1547在 v2.1.305 或更新版本上,當發生原因無法識別的 `400` 或 `422` 時,Claude Code 可以[不使用工具搜尋重試請求](/docs/zh-TW/llm-gateway-protocol#retry-without-tool-search)。重試成功時,畫面上不會顯示任何內容,您也不需要採取任何動作:MCP 工具會改為預先載入。Claude Code 稍後會再次嘗試工具搜尋,代價是多一次被拒絕的請求。若要略過這些請求,請設定 `ENABLE_TOOL_SEARCH=false`。

1548 

1549#### 低於 `ENABLE_TOOL_SEARCH=auto` 閾值時仍保持延遲的工具

1550 

1551如果 [`/context`](/docs/zh-TW/commands#all-commands) 將工具標示為 `(deferred)` 或 `(loaded on-demand)`,但其定義總計低於 `auto` 閾值,表示工具搜尋在此對話中已經開啟並保持開啟。總計可能在之後下降,例如在您恢復工作階段後 MCP 伺服器重新連線期間。您不需要採取任何動作:當任務需要時,Claude 會載入這些工具中的每一個。

1552 

1529### 豁免伺服器不延遲1553### 豁免伺服器不延遲

1530 1554 

1531如果伺服器的工具應始終對 Claude 可見而無需搜尋步驟,請在該伺服器的設定中將 `alwaysLoad` 設定為 `true`。該伺服器的工具隨後會載入到上下文中,無論 `ENABLE_TOOL_SEARCH` 設定如何。對於 Claude 在每個回合都需要的少量工具使用此設定,因為每個預先載入的工具會消耗原本可用於您的對話的上下文。1555如果伺服器的工具應始終對 Claude 可見而無需搜尋步驟,請在該伺服器的設定中將 `alwaysLoad` 設定為 `true`。該伺服器的工具隨後會載入到上下文中,無論 `ENABLE_TOOL_SEARCH` 設定如何。對於 Claude 在每個回合都需要的少量工具使用此設定,因為每個預先載入的工具會消耗原本可用於您的對話的上下文。

Details

278* **Claude Code 桌面應用程式**:透過[連接器 UI](/docs/zh-TW/desktop#connect-external-tools) 新增伺服器。278* **Claude Code 桌面應用程式**:透過[連接器 UI](/docs/zh-TW/desktop#connect-external-tools) 新增伺服器。

279* **Claude Desktop 聊天應用程式**:與 Claude Code 不同的應用程式。若要將其 `claude_desktop_config.json` 中的伺服器複製到 CLI,請在 macOS 或 WSL 上執行 `claude mcp add-from-claude-desktop`。279* **Claude Desktop 聊天應用程式**:與 Claude Code 不同的應用程式。若要將其 `claude_desktop_config.json` 中的伺服器複製到 CLI,請在 macOS 或 WSL 上執行 `claude mcp add-from-claude-desktop`。

280* **VS Code**:請參閱[使用 MCP 連接到外部工具](/docs/zh-TW/vs-code#connect-to-external-tools-with-mcp)。280* **VS Code**:請參閱[使用 MCP 連接到外部工具](/docs/zh-TW/vs-code#connect-to-external-tools-with-mcp)。

281* **雲端工作階段**:將 `.mcp.json` 提交到您的儲存庫;載入一個儲存庫的工作階段會載入它。請參閱[直接編輯 .mcp.json](#edit-mcp-json-directly) 和[您的設定中有哪些會保留](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。281* **雲端工作階段**:在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)之外,將 `.mcp.json` 提交到您的儲存庫;載入一個儲存庫的工作階段會載入它。專案中的雲端對話串則會改用您的 claude.ai 連接器。請參閱[直接編輯 .mcp.json](#edit-mcp-json-directly) 和[您的設定中有哪些會保留](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。

282* **Claude.ai**:您在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 新增的連接器在您使用該帳戶登入時自動載入 CLI。請參閱[從 Claude.ai 使用 MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。282* **Claude.ai**:您在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 新增的連接器在您使用該帳戶登入時自動載入 CLI。請參閱[從 Claude.ai 使用 MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。

283 283 

284## 疑難排解284## 疑難排解

memory.md +10 −5

Details

208 208 

209沒有 `paths` 欄位的規則無條件載入並適用於所有檔案。當 Claude 對匹配的檔案使用 Read、Write 或 Edit 工具時,路徑範圍規則就會載入。當 Claude 使用 [算作讀取](/docs/zh-TW/tools-reference#edit-tool-behavior) 的 Bash 命令檢視匹配的檔案時(例如對單一檔案執行 `cat` 或 `head`),該規則也會載入。當 Claude 透過到專案目錄的符號連結路徑到達檔案時,匹配也有效,例如在符號連結簽出中。209沒有 `paths` 欄位的規則無條件載入並適用於所有檔案。當 Claude 對匹配的檔案使用 Read、Write 或 Edit 工具時,路徑範圍規則就會載入。當 Claude 使用 [算作讀取](/docs/zh-TW/tools-reference#edit-tool-behavior) 的 Bash 命令檢視匹配的檔案時(例如對單一檔案執行 `cat` 或 `head`),該規則也會載入。當 Claude 透過到專案目錄的符號連結路徑到達檔案時,匹配也有效,例如在符號連結簽出中。

210 210 

211每個模式都相對於規則的基礎目錄:

212 

213* **專案規則**:包含該規則的 `.claude` 資料夾的目錄

214* **[使用者級規則](#user-level-rules)**:工作階段的[主要工作目錄](/docs/zh-TW/permissions#working-directories)

215 

216若要讓路徑範圍規則針對同層級 git worktree 中的檔案載入,請在該 worktree 中啟動 Claude Code,或[使用 `/cd` 將工作階段移至該處](/docs/zh-TW/permissions#move-the-session-to-another-directory)。

217 

211在 `paths` 欄位中使用 glob 模式以按副檔名、目錄或任何組合匹配檔案:218在 `paths` 欄位中使用 glob 模式以按副檔名、目錄或任何組合匹配檔案:

212 219 

213| 模式 | 匹配 |220| 模式 | 匹配 |


279 286 

280#### 部署組織範圍 CLAUDE.md287#### 部署組織範圍 CLAUDE.md

281 288 

282組織可以部署適用於機器上所有使用者的集中管理 CLAUDE.md。此檔案無法由個別設定排除。289組織可以部署適用於機器上所有使用者的集中管理 CLAUDE.md。開發人員可以使用 `claudeMdExcludes` 設定 [排除其他 CLAUDE.md 檔案](#exclude-specific-claude-md-files),但無法排除此檔案。如果開發人員在完全關閉 CLAUDE.md 載入的情況下啟動工作階段,該工作階段也不會載入受管理的內容。請將此檔案用於指導,並使用 [managed settings](/docs/zh-TW/managed-settings)(例如 `permissions.deny`)強制執行規則。

283 290 

284**1. 在受管理的原則位置建立檔案**291**1. 在受管理的原則位置建立檔案**

285 292 


293 300 

294`claudeMd` 金鑰可讓您將受管理的 CLAUDE.md 內容直接放入 `managed-settings.json` 中,而不是部署單獨的檔案。301`claudeMd` 金鑰可讓您將受管理的 CLAUDE.md 內容直接放入 `managed-settings.json` 中,而不是部署單獨的檔案。

295 302 

296**範圍**:機器上的每個 Claude Code 工作階段,在每個儲存庫中。對於儲存庫特定的指導,請改為提交專案 CLAUDE.md。303**範圍**:機器上的所有使用者,在任何儲存庫中。對於儲存庫特定的指導,請改為提交專案 CLAUDE.md。

297 304 

298**優先順序**:與受管理的 CLAUDE.md 檔案相同。在使用者和專案 CLAUDE.md 之前載入。305**優先順序**:與受管理的 CLAUDE.md 檔案相同。在使用者和專案 CLAUDE.md 之前載入。

299 306 


323 330 

324#### 排除特定 CLAUDE.md 檔案331#### 排除特定 CLAUDE.md 檔案

325 332 

326在大型 monorepos 中,祖先 CLAUDE.md 檔案可能包含與您的工作無關的指令。`claudeMdExcludes` 設定可讓您按路徑或 glob 模式跳過特定檔案。333在大型 monorepos 中,祖先 CLAUDE.md 檔案可能包含與您的工作無關的指令。`claudeMdExcludes` 設定可讓您按路徑或 glob 模式跳過特定檔案。您無法使用 `claudeMdExcludes` 排除 [受管理的 CLAUDE.md 檔案](#deploy-organization-wide-claude-md)。

327 334 

328此範例排除頂級 CLAUDE.md 和來自父資料夾的規則目錄。將其新增至 `.claude/settings.local.json`,以便排除保持本機於您的機器:335此範例排除頂級 CLAUDE.md 和來自父資料夾的規則目錄。將其新增至 `.claude/settings.local.json`,以便排除保持本機於您的機器:

329 336 


340 347 

341若要排除您透過 [symlink](#share-rules-across-projects-with-symlinks) 到達的規則檔案(無論檔案或其目錄是連結),請針對任一路徑編寫模式:檔案在 `.claude/rules/` 下的路徑或其連結目標。匹配任一路徑的模式會排除檔案。在 v2.1.239 之前,僅匹配連結目標的模式會排除檔案。348若要排除您透過 [symlink](#share-rules-across-projects-with-symlinks) 到達的規則檔案(無論檔案或其目錄是連結),請針對任一路徑編寫模式:檔案在 `.claude/rules/` 下的路徑或其連結目標。匹配任一路徑的模式會排除檔案。在 v2.1.239 之前,僅匹配連結目標的模式會排除檔案。

342 349 

343受管理原則 CLAUDE.md 檔案無法排除。這確保組織範圍指令始終適用,無論個別設定如何。

344 

345## AGENTS.md350## AGENTS.md

346 351 

347Claude Code 可以將 [`AGENTS.md`](/docs/zh-TW/glossary#agents-md) 讀取為您的專案指示,因此已為其他編碼代理設定的儲存庫無需新增 `CLAUDE.md`、匯入或設定即可運作。此表格顯示 Claude 在您的儲存庫中指示檔案的每種組合下預設讀取的內容:352Claude Code 可以將 [`AGENTS.md`](/docs/zh-TW/glossary#agents-md) 讀取為您的專案指示,因此已為其他編碼代理設定的儲存庫無需新增 `CLAUDE.md`、匯入或設定即可運作。此表格顯示 Claude 在您的儲存庫中指示檔案的每種組合下預設讀取的內容:

model-config.md +6 −2

Details

441 441 

442您的組織可以透過兩種方式限制 [effort 等級](#adjust-effort-level)。在 Claude Enterprise 方案中,組織管理員可設定各角色的 effort 限制,詳見下文。在任何方案與任何供應商上,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 以及 Microsoft Foundry,[`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) 受管設定則改為在用戶端限制 effort。當兩者同時適用於某個模型時,將套用較低的上限。442您的組織可以透過兩種方式限制 [effort 等級](#adjust-effort-level)。在 Claude Enterprise 方案中,組織管理員可設定各角色的 effort 限制,詳見下文。在任何方案與任何供應商上,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 以及 Microsoft Foundry,[`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) 受管設定則改為在用戶端限制 effort。當兩者同時適用於某個模型時,將套用較低的上限。

443 443 

444Claude Enterprise 方案的組織管理員可以為每個自訂角色,針對各模型設定最高 [effort 等級](#adjust-effort-level),並搭配角色層級的[組織模型限制](#organization-model-restrictions)。高於上限的等級不會出現在 `/effort` 選擇器中,而透過 `--effort` 或 `/effort` 指定更高等級時,則會改以上限等級執行。在互動式工作階段與純文字 `--print` 執行中,會顯示一則警告,列出所要求的等級與實際套用的等級;若使用 `json` 或 `stream-json` 輸出,或在背景 agent 中,則會靜默套用限制。上限是以模型為單位,因此切換模型可能會改變可用的等級。當您的多個角色授予同一個模型時,將套用限制最寬鬆的上限。需要 Claude Code v2.1.195 或更新版本。444Claude Enterprise 方案的組織管理員可以為每個自訂角色,針對各模型設定最高 [effort 等級](#adjust-effort-level),並搭配角色層級的[組織模型限制](#organization-model-restrictions)。需要 Claude Code v2.1.195 或更新版本。

445 

446* 高於上限的等級不會出現在 `/effort` 選擇器中,而透過 `--effort` 或 `/effort` 指定更高等級時,則會改以上限等級執行。若您以高於上限的 `--effort` 啟動純文字 `--print` 執行,stderr 上會顯示一則警告,列出所要求的等級與實際套用的等級。在互動式工作階段中、使用 `json` 或 `stream-json` 輸出時,或在背景 agent 中,該警告則會改為寫入[除錯日誌](/docs/zh-TW/errors#configuration-warnings)。

447* 上限是以模型為單位,因此切換模型可能會改變可用的等級。

448* 當您的多個角色授予同一個模型時,將套用限制最寬鬆的上限。

445 449 

446Effort 限制會與[組織模型限制](#organization-model-restrictions)一同傳送,並套用至相同的工作階段。450Effort 限制會與[組織模型限制](#organization-model-restrictions)一同傳送,並套用至相同的工作階段。

447 451 


843* 若 Claude Code 無法將供應商或自訂拼寫解析為其可辨識的模型,且 ID 不包含 `[1m]`,則此變數會直接套用,主動壓縮會在宣告的視窗繼續進行。847* 若 Claude Code 無法將供應商或自訂拼寫解析為其可辨識的模型,且 ID 不包含 `[1m]`,則此變數會直接套用,主動壓縮會在宣告的視窗繼續進行。

844* 若 Claude Code 無法將供應商或自訂拼寫解析為其可辨識的模型,且 ID 包含 `[1m]`(不分大小寫),Claude Code 會為其假定 1M 視窗,此變數單獨設定時不會套用。若要在保留主動壓縮的同時修正視窗,請一併設定 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/zh-TW/env-vars)。設定該變數後,Claude Code 會將此 ID 的大小視同不含 `[1m]` 的相同拼寫,因此 `CLAUDE_CODE_MAX_CONTEXT_TOKENS` 會在其適用於該未標記拼寫時套用。848* 若 Claude Code 無法將供應商或自訂拼寫解析為其可辨識的模型,且 ID 包含 `[1m]`(不分大小寫),Claude Code 會為其假定 1M 視窗,此變數單獨設定時不會套用。若要在保留主動壓縮的同時修正視窗,請一併設定 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/zh-TW/env-vars)。設定該變數後,Claude Code 會將此 ID 的大小視同不含 `[1m]` 的相同拼寫,因此 `CLAUDE_CODE_MAX_CONTEXT_TOKENS` 會在其適用於該未標記拼寫時套用。

845 849 

846 當宣告的視窗超過 200K 時,Claude Code 接著會顯示 200K 限制未被強制執行的[啟動警告](/docs/zh-TW/errors#the-200k-limit-isnt-enforced)。在此設定下出現此警告是預期的行為。850 當宣告的視窗超過 200K 時,在此設定下出現[200K 限制未被強制執行](/docs/zh-TW/errors#the-200k-limit-isnt-enforced)的警告是預期的行為。

847* 若 ID 解析為 Claude Code 可辨識的模型,或 ID 是沒有可供 Claude Code 去除之後綴的單純 `claude-` 名稱(不分大小寫),則只有在您同時設定 [`DISABLE_COMPACT`](/docs/zh-TW/env-vars)(此設定會停用所有壓縮)時,此變數才會生效。851* 若 ID 解析為 Claude Code 可辨識的模型,或 ID 是沒有可供 Claude Code 去除之後綴的單純 `claude-` 名稱(不分大小寫),則只有在您同時設定 [`DISABLE_COMPACT`](/docs/zh-TW/env-vars)(此設定會停用所有壓縮)時,此變數才會生效。

848 852 

849 例如,包含 Claude Code 已知之 Claude 模型名稱的 ID,例如 `anthropic/claude-opus-4-8`、`us.anthropic.claude-…-v1:0` 或帶日期的 `claude-sonnet-4-5@20250929`,會解析為該模型。這也包括同時包含 `[1m]` 的 ID:即使設定了 `CLAUDE_CODE_DISABLE_1M_CONTEXT`,Claude Code 仍會將 `claude-opus-4-8[1m]` 解析為 Opus 4.8。853 例如,包含 Claude Code 已知之 Claude 模型名稱的 ID,例如 `anthropic/claude-opus-4-8`、`us.anthropic.claude-…-v1:0` 或帶日期的 `claude-sonnet-4-5@20250929`,會解析為該模型。這也包括同時包含 `[1m]` 的 ID:即使設定了 `CLAUDE_CODE_DISABLE_1M_CONTEXT`,Claude Code 仍會將 `claude-opus-4-8[1m]` 解析為 Opus 4.8。

Details

220| `claude.ai` | claude.ai 帳戶驗證 |220| `claude.ai` | claude.ai 帳戶驗證 |

221| `claude.com` | claude.ai 帳戶登入會在瀏覽器中開啟 `claude.com` 頁面,該頁面會重新導向到 `claude.ai`;預先核准的 WebFetch 文件查詢也會從 CLI 連線到此主機 |221| `claude.com` | claude.ai 帳戶登入會在瀏覽器中開啟 `claude.com` 頁面,該頁面會重新導向到 `claude.ai`;預先核准的 WebFetch 文件查詢也會從 CLI 連線到此主機 |

222| `platform.claude.com` | Anthropic Console 帳戶驗證。OAuth 權杖交換、重新整理和撤銷也會連線到此主機以供 claude.ai 帳戶使用,因此 Console 和 claude.ai 登入都需要它 |222| `platform.claude.com` | Anthropic Console 帳戶驗證。OAuth 權杖交換、重新整理和撤銷也會連線到此主機以供 claude.ai 帳戶使用,因此 Console 和 claude.ai 登入都需要它 |

223| `sso.claude.com` | 使用單一登入(SSO)之組織的瀏覽器登入流程的一部分。如果代理伺服器封鎖此主機,這些登入可能會失敗 |

223| `mcp-proxy.anthropic.com` | [來自 claude.ai 的 MCP 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai),包括組織管理員設定的連接器。連接器流量會透過此代理路由;對於 claude.ai 驗證的使用者,連接器預設為啟用。若要停止 Claude Code 擷取它們,請設定 [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/zh-TW/env-vars) 或 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors) 設定 |224| `mcp-proxy.anthropic.com` | [來自 claude.ai 的 MCP 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai),包括組織管理員設定的連接器。連接器流量會透過此代理路由;對於 claude.ai 驗證的使用者,連接器預設為啟用。若要停止 Claude Code 擷取它們,請設定 [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/zh-TW/env-vars) 或 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors) 設定 |

224| `downloads.claude.ai` | 外掛程式可執行檔下載;原生安裝程式、原生自動更新程式和更新版本檢查 |225| `downloads.claude.ai` | 外掛程式可執行檔下載;原生安裝程式、原生自動更新程式和更新版本檢查 |

225| `storage.googleapis.com` | 在 `/plugin` 中顯示的外掛程式安裝計數和中繼資料 |226| `storage.googleapis.com` | 在 `/plugin` 中顯示的外掛程式安裝計數和中繼資料 |

overview.md +5 −5

Details

22 22 

23**macOS、Linux、WSL:**23**macOS、Linux、WSL:**

24 24 

25```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}25```bash theme={null}

26curl -fsSL https://claude.ai/install.sh | bash26curl -fsSL https://claude.ai/install.sh | bash

27```27```

28 28 


30 30 

31**Windows PowerShell:**31**Windows PowerShell:**

32 32 

33```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}33```powershell theme={null}

34irm https://claude.ai/install.ps1 | iex34irm https://claude.ai/install.ps1 | iex

35```35```

36 36 

37**Windows CMD:**37**Windows CMD:**

38 38 

39```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}39```batch theme={null}

40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41```41```

42 42 


54 54 

55**Homebrew**55**Homebrew**

56 56 

57```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}57```bash theme={null}

58brew install --cask claude-code58brew install --cask claude-code

59```59```

60 60 


66 66 

67**WinGet**67**WinGet**

68 68 

69```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}69```powershell theme={null}

70winget install Anthropic.ClaudeCode70winget install Anthropic.ClaudeCode

71```71```

72 72 

Details

172 172 

173請觀察此片段中以自動模式啟動的工作階段的狀態列。每次按下 `Shift+Tab`,它會從 `auto mode on` 變更為 `manual mode on`、`accept edits on`、`plan mode on`,然後回到 `auto mode on`。173請觀察此片段中以自動模式啟動的工作階段的狀態列。每次按下 `Shift+Tab`,它會從 `auto mode on` 變更為 `manual mode on`、`accept edits on`、`plan mode on`,然後回到 `auto mode on`。

174 174 

175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/oa7CKjMeIChox26S/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=oa7CKjMeIChox26S&q=85&s=198ca90aeb2e3675b3d01b7d686aab0b" aria-label="Claude Code 提示詞下方的狀態列隨著每次按下 Shift+Tab 而變更:auto mode on、manual mode on、accept edits on、plan mode on,然後再次回到 auto mode on。" />175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="Claude Code 提示詞下方的狀態列隨著每次按下 Shift+Tab 而變更:auto mode on、manual mode on、accept edits on、plan mode on,然後再次回到 auto mode on。" />

176 176 

177並非每個模式都在預設循環中:177並非每個模式都在預設循環中:

178 178 


236* **Auto**:當[自動模式可用](#eliminate-prompts-with-auto-mode)時出現236* **Auto**:當[自動模式可用](#eliminate-prompts-with-auto-mode)時出現

237* **Bypass permissions**:在 Pro 和 Max 方案上需要 Desktop 設定中的 **Allow bypass permissions mode** 切換;在 Team 和 Enterprise 方案上,組織政策改為控制它237* **Bypass permissions**:在 Pro 和 Max 方案上需要 Desktop 設定中的 **Allow bypass permissions mode** 切換;在 Team 和 Enterprise 方案上,組織政策改為控制它

238 238 

239Cowork 標籤不使用這些模式。Cowork 有自己的權限模式,單獨啟用,Cowork 標籤在為您的帳戶啟用超出其預設值的模式之前根本不顯示模式選擇器。請參閱 [Cowork 文件](https://claude.com/docs/cowork/overview)。239Cowork 不使用這些模式。它有自己的權限模式,需另外啟用,而且在為您的帳戶啟用超出其預設值的模式之前,完全不會顯示模式選擇器。請參閱 [Cowork 文件](https://claude.com/docs/cowork/overview)。

240 240 

241如需桌面特定的詳細資訊,請參閱 Desktop 指南中的[選擇權限模式](/docs/zh-TW/desktop#choose-a-permission-mode)。241如需桌面特定的詳細資訊,請參閱 Desktop 指南中的[選擇權限模式](/docs/zh-TW/desktop#choose-a-permission-mode)。

242 242 


579>579>

580> 您安裝的處理 `tool.check` 的 [mod](/docs/zh-TW/plugins/mods/overview) 也可以核准操作。關於其核准無法越過您的規則和 hook 的情況,請參閱[使用 hook 擴充權限](/docs/zh-TW/permissions#precedence-among-rules-hooks-and-mods)。580> 您安裝的處理 `tool.check` 的 [mod](/docs/zh-TW/plugins/mods/overview) 也可以核准操作。關於其核准無法越過您的規則和 hook 的情況,請參閱[使用 hook 擴充權限](/docs/zh-TW/permissions#precedence-among-rules-hooks-and-mods)。

581>581>

582> 在 VS Code 擴充功能中,[Claude in Chrome](/docs/zh-TW/chrome) 瀏覽器操作如何獲得核准,取決於工作階段如何連線到瀏覽器:請參閱[VS Code 工作階段中的權限提示](/docs/zh-TW/chrome#permission-prompts-in-vs-code-sessions)。582> 關於 [Claude in Chrome](/docs/zh-TW/chrome) 瀏覽器操作在 VS Code 擴充功能中如何獲得核准,請參閱[VS Code 工作階段中的權限提示](/docs/zh-TW/chrome#permission-prompts-in-vs-code-sessions)。

583>583>

584> 進入自動模式時,授予任意程式碼執行能力的廣泛允許規則會被移除:584> 進入自動模式時,授予任意程式碼執行能力的廣泛允許規則會被移除:

585>585>


633claude --permission-mode dontAsk633claude --permission-mode dontAsk

634```634```

635 635 

636## 使用 bypassPermissions 模式跳過所有檢查636## 使用 bypassPermissions 模式略過所有檢查

637 637 

638`bypassPermissions` 模式會停用權限提示和安全檢查,使工具呼叫立即執行,包括寫入[受保護路徑](#protected-paths)。638`bypassPermissions` 模式會停用權限提示與安全檢查,讓工具呼叫立即執行,包括寫入[受保護路徑](#protected-paths)。

639 639 

640[任何模式都不會自動核准的操作](#actions-no-mode-auto-approves)在此模式中仍會提示。讀取[其他組織的公開 artifact](/docs/zh-TW/artifacts#read-an-artifact-shared-with-you) 需要您的核准,而此模式不會詢問核准,因此 Claude 無法讀取。[PowerShell 中的 Remove-Item](#remove-item-in-powershell) 拒絕也適用於此模式。640[任何模式都不會自動核准的動作](#actions-no-mode-auto-approves)在此模式下仍會提示。讀取[其他組織的公開 artifact](/docs/zh-TW/artifacts#read-an-artifact-shared-with-you) 需要您的核准,而此模式不會請求核准,因此 Claude 無法讀取這類 artifact。[PowerShell 中的 Remove-Item](#remove-item-in-powershell) 拒絕規則在此模式下同樣適用。

641 641 

642兩個[跨工作階段訊息傳遞](/docs/zh-TW/cross-session-messaging)保護措施在此模式中仍然適用,以及在有可用的略過權限的 Plan Mode 工作階段中:642有兩項[跨工作階段訊息](/docs/zh-TW/cross-session-messaging)保護措施在此模式下仍然適用,在可使用略過權限的互動式終端機 plan mode 工作階段中也同樣適用:

643 643 

644* 針對超出此機器的工作階段訊息的 [`isolatePeerMachines`](/docs/zh-TW/settings-reference#isolatepeermachines) 核准提示仍會出現。644* 針對傳送至本機以外之您的工作階段的訊息,[`isolatePeerMachines`](/docs/zh-TW/settings-reference#isolatepeermachines) 核准提示仍會出現。

645* 當沒有 [`crossSessionInbound`](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 值適用時,Claude Code 會保留來自您另一個工作階段的入站訊息以供您核准,只有當傳送工作階段識別自己也在略過權限提示時才會無需詢問即傳遞。如果您在保留訊息時離開權限模式,Claude Code 會重新套用入站規則,並傳遞任何現在接受的保留訊息。645* 當沒有適用的 [`crossSessionInbound`](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 值時,Claude Code 會保留來自您其他工作階段的傳入訊息以待您核准,只有在傳送端工作階段表明自己也正在略過權限提示時,才會不經詢問直接傳遞。如果您在訊息被保留期間離開此權限模式,Claude Code 會重新套用傳入規則,並傳遞這些規則現在接受的任何保留訊息。

646 646 

647在有可用略過權限的互動式終端工作階段中,Claude Code 也不會強制執行[計畫模式的](#analyze-before-you-edit-with-plan-mode)區塊。Claude 仍被指示在計畫時不進行編輯,但它在計畫期間嘗試的任何檔案編輯或 shell 命令都會無需提示即執行。明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)和針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除仍會提示。647在可使用略過權限的互動式終端機工作階段中,Claude Code 也不會強制執行 [plan mode](#analyze-before-you-edit-with-plan-mode) 的封鎖。Claude 仍會被指示在不編輯的情況下進行規劃,但它在規劃期間嘗試的檔案編輯或 shell 命令會在不提示的情況下執行。明確的 [ask 規則](/docs/zh-TW/permissions#manage-permissions),以及針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除操作,仍會提示。

648 648 

649計畫模式在 Claude Code 執行時沒有互動式終端的任何地方都保持其區塊,包括使用 `-p` 的[非互動式執行](/docs/zh-TW/headless)、[Agent SDK](/docs/zh-TW/agent-sdk/permissions#plan-mode-plan) 工作階段,以及 [VS Code 擴充功能](/docs/zh-TW/vs-code)的聊天面板中的對話。在那裡,`--allow-dangerously-skip-permissions` 使 `bypassPermissions` 稍後可選。649在 Claude Code 於沒有互動式終端機的環境中執行時,plan mode 都會保留其封鎖,包括使用 `-p` 的[非互動式執行](/docs/zh-TW/headless)、[Agent SDK](/docs/zh-TW/agent-sdk/permissions#plan-mode-plan) 工作階段,以及 [VS Code 擴充功能](/docs/zh-TW/vs-code)聊天面板中的對話。在這些環境中,`--allow-dangerously-skip-permissions` 可讓 `bypassPermissions` 稍後成為可選擇的模式。

650 650 

651> [!WARNING]651> [!WARNING]

652>652>

653> 只在隔離環境(如容器、虛擬機或沒有網際網路存取的開發容器)中使用此模式,其中 Claude Code 無法損害您的主機系統。653> 僅在隔離環境中使用此模式,例如沒有網際網路存取的容器、虛擬機器或 dev container,讓 Claude Code 無法損害您的主機系統。

654 654 

655您無法從未啟用此模式的工作階段進入 `bypassPermissions`。在啟動時使用 [`permissions.defaultMode: "bypassPermissions"`](/docs/zh-TW/settings-reference#permissions-defaultmode) 或使用啟用旗標來啟用它:655您無法從啟動時未啟用此模式的工作階段進入 `bypassPermissions`。請在啟動時透過 [`permissions.defaultMode: "bypassPermissions"`](/docs/zh-TW/settings-reference#permissions-defaultmode) 或啟用旗標來啟用它:

656 656 

657```bash theme={null}657```bash theme={null}

658claude --permission-mode bypassPermissions658claude --permission-mode bypassPermissions

659```659```

660 660 

661`--dangerously-skip-permissions` 旗標是等效的。661`--dangerously-skip-permissions` 旗標與此等效。

662 662 

663Claude Code 拒絕在您使用 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 啟動的工作階段中使用 `bypassPermissions`。`--restricted` 需要 Claude Code v2.1.248 或更新版本。663在您以 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 啟動的工作階段中,Claude Code 會拒絕 `bypassPermissions`。`--restricted` 需要 Claude Code v2.1.248 或更新版本。

664 664 

665第一次使用此模式啟動互動式工作階段時,Claude Code 會顯示警告對話框,要求您接受對無權限檢查執行的動作負責:665當您第一次在啟用此模式的情況下啟動互動式工作階段時,Claude Code 會顯示警告對話框,要求您為未經權限檢查所採取的動作承擔責任:

666 666 

667* **如果您接受**:Claude Code 會在 `~/.claude/settings.json` 中將 `skipDangerousModePermissionPrompt` 設定為 `true`,因此後續工作階段會跳過對話框。若要再次看到對話框,請從該檔案中移除該鍵或將其設定為 `false`。[`skipDangerousModePermissionPrompt` 參考](/docs/zh-TW/settings-reference#skipdangerousmodepermissionprompt)列出了您或您的組織可以設定它的其他設定檔。667* **如果您接受**:Claude Code 會在 `~/.claude/settings.json` 中將 `skipDangerousModePermissionPrompt` 設為 `true`,之後的工作階段便會略過此對話框。若要再次看到對話框,請從該檔案中移除此設定鍵或將其設為 `false`。[`skipDangerousModePermissionPrompt` 參考](/docs/zh-TW/settings-reference#skipdangerousmodepermissionprompt)列出了您或您的組織可以設定它的其他設定檔。

668* **如果您拒絕**:Claude Code 會結束。668* **如果您拒絕**:Claude Code 會結束。

669 669 

670在[非互動模式](/docs/zh-TW/headless)中不會顯示對話框。當您的接受記錄在使用者設定或受管設定中時,[背景工作階段](/docs/zh-TW/agent-view)會遵循該接受:670在[非互動模式](/docs/zh-TW/headless)中不會顯示對話框。

671 671 

672* 若未記錄任何接受,`claude --bg --permission-mode bypassPermissions` 會被拒絕,直到您在互動式工作階段中接受對話框。672當您的接受記錄在使用者設定或受管設定中時,[背景工作階段](/docs/zh-TW/agent-view)會予以採用:

673* 若 `skipDangerousModePermissionPrompt` 僅在 `.claude/settings.local.json` 中設定,背景工作階段啟動時會忽略略過請求,並固定顯示通知 `Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true`。請將該鍵新增至 `~/.claude/settings.json`,然後啟動新的背景工作階段。顯示該通知的工作階段仍會執行:

674 * 若忽略的是 `--allow-dangerously-skip-permissions`,`bypassPermissions` 會被排除在其 `Shift+Tab` 循環之外。

675 * 若忽略的是 `--permission-mode bypassPermissions` 或 `--dangerously-skip-permissions`,工作階段會改為以手動模式啟動。

676 673 

677在 Linux 和 macOS 上,當以 root 或 `sudo` 身份執行時,Claude Code 拒絕以 `bypassPermissions` 模式啟動:674* 如果沒有記錄接受,`claude --bg --permission-mode bypassPermissions` 會被拒絕。請先在互動式工作階段中接受對話框。

675* 如果 `skipDangerousModePermissionPrompt` 僅設定在 `.claude/settings.local.json` 中,背景工作階段會在[略過請求被忽略](#bypass-permissions-ignored-in-a-background-session)的狀態下啟動:

676 

677 * 當 `--allow-dangerously-skip-permissions` 被忽略時,`bypassPermissions` 不會出現在其 `Shift+Tab` 循環中。

678 * 當 `--permission-mode bypassPermissions` 或 `--dangerously-skip-permissions` 被忽略時,工作階段會改以手動模式啟動。

679 

680 請將 `"skipDangerousModePermissionPrompt": true` 加入 `~/.claude/settings.json`,然後啟動新的背景工作階段。

681 

682在 Linux 和 macOS 上,當以 root 身分或在 `sudo` 下執行時,Claude Code 會拒絕以 `bypassPermissions` 模式啟動:

678 683 

679```text theme={null}684```text theme={null}

680--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons685--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

681```686```

682 687 

683在識別的沙箱內會自動跳過檢查。若要在容器中自主執行,請使用[開發容器](/docs/zh-TW/devcontainer)設定,它以非 root 使用者身份執行 Claude Code。688在可識別的沙箱內會自動略過此檢查。若要在容器中自主執行,請使用 [dev container](/docs/zh-TW/devcontainer) 設定,它會以非 root 使用者身分執行 Claude Code。

684 689 

685[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 不會遵守您設定檔中的 `defaultMode: "bypassPermissions"` 或 `"dontAsk"`,因此儲存庫的簽入設定無法在略過權限模式下啟動雲端工作階段。該設定會被無聲地忽略,工作階段會改為以模式下拉式選單中顯示的權限模式啟動。請參閱[切換權限模式](#switch-permission-modes)以了解雲端工作階段提供哪些模式。690[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)不會採用您設定檔中的 `defaultMode: "bypassPermissions"` 或 `"dontAsk"`,因此儲存庫中簽入的設定無法以略過權限模式啟動雲端工作階段。此設定會被靜默忽略,工作階段會改以模式下拉選單中顯示的權限模式啟動。請參閱[切換權限模式](#switch-permission-modes),了解雲端工作階段提供哪些模式。

686 691 

687> [!WARNING]692> [!WARNING]

688>693>

689> `bypassPermissions` 不提供針對提示注入或意外動作的保護。若要進行背景安全檢查且權限提示大幅減少,請改用[自動模式](#eliminate-prompts-with-auto-mode)。管理員可以透過在[受管設定](/docs/zh-TW/managed-settings)中將 `permissions.disableBypassPermissionsMode` 設定為 `"disable"` 來封鎖此模式。694> `bypassPermissions` 無法防範提示詞注入或非預期的動作。若要在權限提示大幅減少的情況下進行背景安全檢查,請改用[自動模式](#eliminate-prompts-with-auto-mode)。管理員可以在[受管設定](/docs/zh-TW/managed-settings)中將 `permissions.disableBypassPermissionsMode` 設為 `"disable"` 來封鎖此模式。

695 

696### 背景工作階段中的略過權限請求被忽略

697 

698此通知表示[背景工作階段](/docs/zh-TW/agent-view)未在使用者設定或受管設定中找到您對[略過權限警告](#bypass-permissions-acceptance)的接受,因此忽略了啟動時提出的略過請求:

699 

700```text theme={null}

701Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true

702```

703 

704請將 `"skipDangerousModePermissionPrompt": true` 加入 `~/.claude/settings.json`,然後啟動新的背景工作階段。

705 

706### `claude agents` 顯示互動式工作階段會略過的略過權限警告

707 

708如果 [`claude agents`](/docs/zh-TW/agent-view#dispatch-defaults) 顯示了[略過權限警告](#bypass-permissions-acceptance),但您的互動式工作階段會略過它,請檢查 `skipDangerousModePermissionPrompt` 是否設定在 `.claude/settings.local.json` 或 `--settings` 檔案中。互動式工作階段會將該處的設定鍵視為您對警告的接受,而 `claude agents` 不會。無論您是否在該處找到它,請接受警告,將此設定鍵加入 `~/.claude/settings.json`,也就是 `claude agents` 尋找它的位置。

690 709 

691## 受保護的路徑710## 受保護的路徑

692 711 

permissions.md +188 −165

Details

202}202}

203```203```

204 204 

205允許規則僅在字面 `mcp__<server>__` 前綴之後接受工具名稱 glob。伺服器區段必須無 glob,以便規則命名您設定的特定伺服器。`mcp__puppeteer__*` 符合來自 `puppeteer` 伺服器的每個工具,而 `mcp__github__get_*` 符合其 `get_` 工具。未錨定的允許 glob(例如 `"*"`、`"B*"` 或 `"mcp__*"`)會被跳過並顯示警告,不會自動核准任何內容。205允許規則僅在字面 `mcp__<server>__` 前綴之後接受工具名稱 glob。伺服器區段必須無 glob,以便規則命名您設定的特定伺服器。`mcp__puppeteer__*` 符合來自 `puppeteer` 伺服器的每個工具,而 `mcp__github__get_*` 符合其 `get_` 工具。未錨定的允許 glob(例如 `"*"`、`"B*"` 或 `"mcp__*"`)會被跳過,不會自動核准任何內容。

206 206 

207拒絕或詢問規則,其工具名稱不符合任何已知工具,會在啟動時產生警告以捕捉拼寫錯誤。包含 `_` 或 `*` 的工具名稱不受檢查限制。207拒絕或詢問規則,其工具名稱不符合任何已知工具,會產生[啟動警告](/docs/zh-TW/errors#matches-no-tool)以捕捉拼寫錯誤。包含 `_` 或 `*` 的工具名稱不受檢查限制,Claude Code 已移除的工具名稱(例如 `TaskOutput`)也是如此。

208 208 

209工具在文字記錄和權限對話框中顯示的標籤可能與其規範名稱不同。例如,文字記錄中標記為 `Stop Task` 的工具具有規範名稱 `TaskStop`。權限規則和 [hook 匹配器](/docs/zh-TW/hooks) 不符合標籤,因此寫成 `Stop Task` 的規則不符合。對於拒絕和詢問規則,上述啟動警告會捕捉不匹配。使用 [工具參考](/docs/zh-TW/tools-reference) 中列出的規範名稱。209工具在文字記錄和權限對話框中顯示的標籤可能與其規範名稱不同。例如,文字記錄中標記為 `Stop Task` 的工具具有規範名稱 `TaskStop`。權限規則和 [hook 匹配器](/docs/zh-TW/hooks) 不符合標籤,因此寫成 `Stop Task` 的規則不符合。對於拒絕和詢問規則,上述啟動警告會捕捉不匹配。使用 [工具參考](/docs/zh-TW/tools-reference) 中列出的規範名稱。

210 210 

211## 工具特定的權限規則211## 特定工具的權限規則

212 212 

213### Bash213### Bash

214 214 

215Bash 規則符合整個命令文字,其中 `*` 代表任何文字。[萬用字元模式](#wildcard-patterns)顯示每個規則形式符合哪些命令以及在哪裡放置 `*`。本節的其餘部分涵蓋 Claude Code 如何符合複合命令和包裝器、前綴規則無法核准哪些包裝器和 `find` 動作、規則不符合的內容、唯讀命令和重新導向。215Bash 規則會比對整個命令文字,其中 `*` 代表任意文字。[萬用字元模式](#wildcard-patterns)說明了每種規則形式會比對哪些命令,以及 `*` 應放在哪裡。本節其餘部分涵蓋 Claude Code 如何比對複合命令與包裝器、前綴規則無法核准哪些包裝器與 `find` 動作、規則不會比對的內容、唯讀命令,以及重新導向。

216 216 

217#### 複合命令217#### 複合命令

218 218 

219> [!TIP]219> [!TIP]

220>220>

221> Claude Code 知道 shell 運算子,所以像 `Bash(safe-cmd *)` 這樣的規則不會給它執行命令 `safe-cmd && other-cmd` 的權限。已識別的命令分隔符是 `&&`、`||`、`;`、`|`、`|&`、`&` 和換行符。規則必須獨立符合每個子命令。221> Claude Code 能辨識 shell 運算子,因此像 `Bash(safe-cmd *)` 這樣的規則不會授予它執行 `safe-cmd && other-cmd` 命令的權限。可辨識的命令分隔符號為 `&&`、`||`、`;`、`|`、`|&`、`&` 以及換行。規則必須各自獨立地比對每個子命令。

222 222 

223Deny 和 ask 規則在任何子命令符合它們時適用,包括子殼層內的嵌套命令、命令替換或控制流主體(如 `for` 迴圈)。像 `Bash(git clean *)` 這樣的 ask 規則仍然會提示您 `cd /tmp && git clean -f` 或 `echo "$(git clean -f)"`,即使在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中也是如此。223只要有任何子命令符合,拒絕規則與詢問規則就會套用,包括巢狀於子 shell、命令替換或控制流程主體(例如 `for` 迴圈)內的命令。像 `Bash(git clean *)` 這樣的詢問規則,對於 `cd /tmp && git clean -f` 或 `echo "$(git clean -f)"` 仍會提示您,即使在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)下也是如此。

224 224 

225當 `&&` 或 `||` 後面沒有任何內容時,例如在 `npm test &&` 中,Claude Code 會將命令視為無法解析,不會將其分割為子命令以進行允許規則符合,所以像 `Bash(npm *)` 這樣的規則不會批准它。225當 `&&` 或 `||` 後面沒有任何內容時,例如 `npm test &&`,Claude Code 會將該命令視為無法解析,且不會為了比對允許規則而將其拆分為子命令,因此像 `Bash(npm *)` 這樣的規則不會核准它。

226 226 

227當您使用「是,不要再問」批准複合命令時,Claude Code 會為每個需要批准的子命令儲存一個單獨的規則,而不是為完整複合字串儲存單一規則。例如,批准 `git status && npm test` 會為 `npm test` 儲存一個規則,因此未來的 `npm test` 呼叫會被識別,無論 `&&` 前面是什麼。子命令如 `cd` 進入工作目錄外的目錄會為該路徑產生自己的 Read 規則。單一複合命令最多可能儲存 5 個規則。227當您以「Yes, and don't ask again」核准複合命令時,Claude Code 會為每個需要核准的子命令分別儲存一條規則,而不是為完整的複合字串儲存單一規則。例如,核准 `git status && npm test` 會為 `npm test` 儲存一條規則,因此日後不論 `&&` 前面是什麼,`npm test` 的呼叫都會被辨識。像 `cd` 進入工作目錄外部目錄這類子命令,會為該路徑產生自己的 Read 規則。單一複合命令最多可儲存 5 條規則。

228 228 

229#### 包裝器229#### 包裝器

230 230 

231在符合 Bash 規則之前,Claude Code 會移除一組固定的包裝器,所以像 `Bash(npm test *)` 這樣的規則也符合 `timeout 30 npm test`。已移除的包裝器是 `timeout`、`time`、`nice`、`nohup` 和 `stdbuf`,加上 shell 內建的 `command` 和 `builtin`,以及 zsh 的 `noglob`。每個都將其引數作為實際命令執行。兩個相關的形式不會被移除:查詢形式 `command -v`(查詢命令而不是執行它)和 zsh 的 `nocorrect`。231在比對 Bash 規則之前,Claude Code 會剝除一組固定的包裝器,因此像 `Bash(npm test *)` 這樣的規則也會比對 `timeout 30 npm test`。會被剝除的包裝器為 `timeout`、`time`、`nice`、`nohup` 與 `stdbuf`,以及 shell 內建命令 `command` 與 `builtin`,還有 zsh 的 `noglob`。它們都會將其引數作為實際命令執行。有兩種相關形式不會被剝除:查詢形式 `command -v`(它查詢命令而非執行命令),以及 zsh 的 `nocorrect`。

232 232 

233Claude Code 也會移除某些已知安全環境變數的前導指派,所以 `Bash(npm test *)` 符合 `NODE_ENV=test npm test`。允許規則不會符合任何其他變數的指派。Deny 或 ask 規則符合任何前導指派,所以 deny 中的 `Bash(rm *)` 仍然符合 `FOO=bar rm -rf tmp/`。233Claude Code 也會剝除開頭對某些已知安全環境變數的指派,因此 `Bash(npm test *)` 會比對 `NODE_ENV=test npm test`。允許規則不會越過對任何其他變數的指派進行比對。拒絕或詢問規則則會越過任何開頭的指派進行比對,因此拒絕清單中的 `Bash(rm *)` 仍會比對 `FOO=bar rm -rf tmp/`。

234 234 

235裸 `xargs` 也會被移除,所以 `Bash(grep *)` 符合 `xargs grep pattern`。移除僅在 `xargs` 沒有旗標時適用:像 `xargs -n1 grep pattern` 這樣的呼叫被符合為 `xargs` 命令,所以為內部命令編寫的規則不涵蓋它。235不帶參數的 `xargs` 也會被剝除,因此 `Bash(grep *)` 會比對 `xargs grep pattern`。只有在 `xargs` 沒有旗標時才會剝除:像 `xargs -n1 grep pattern` 這樣的呼叫會被當作 `xargs` 命令比對,因此為內部命令撰寫的規則不會涵蓋它。

236 236 

237此包裝器清單是內建的,不可設定。開發環境執行器如 `direnv exec`、`devbox run`、`mise exec`、`npx` 和 `docker exec` 不在清單中。因為這些工具將其引數作為命令執行,像 `Bash(devbox run *)` 這樣的規則符合 `run` 後面的任何內容,包括 `devbox run rm -rf .`。若要批准環境執行器內的工作,請編寫包含執行器和內部命令的特定規則,如 `Bash(devbox run npm test)`。為您想要允許的每個內部命令新增一個規則。237此包裝器清單為內建,無法設定。`direnv exec`、`devbox run`、`mise exec`、`npx` 與 `docker exec` 等開發環境執行器不在清單中。由於這些工具會將其引數作為命令執行,像 `Bash(devbox run *)` 這樣的規則會比對 `run` 之後的任何內容,包括 `devbox run rm -rf .`。若要核准在環境執行器內的工作,請撰寫同時包含執行器與內部命令的特定規則,例如 `Bash(devbox run npm test)`。為每個您想允許的內部命令各新增一條規則。

238 238 

239#### Exec 包裝器和 `find` 動作239#### Exec 包裝器與 `find` 動作

240 240 

241像 `Bash(watch *)` 或 `Bash(find *)` 這樣的前綴規則無法自動核准以下命令,所以在 Manual 模式中它們會提示:241像 `Bash(watch *)` 或 `Bash(find *)` 這樣的前綴規則無法自動核准下列命令,因此在 Manual 模式下它們會提示:

242 242 

243* **Exec 包裝器**:如 `watch`、`setsid`、`ionice` 和 `flock`243* **Exec 包裝器**:例如 `watch`、`setsid`、`ionice` 與 `flock`

244* **`find`**:帶有執行命令、刪除檔案或寫入檔案的動作,如 `-exec`、`-delete` 或 `-fprint`,或帶有 `-files0-from`(從檔案取得要搜尋的路徑)244* **`find`**:帶有會執行命令、刪除檔案或寫入檔案的動作,例如 `-exec`、`-delete`、`-rm` 或 `-fprint`,或帶有 `-files0-from`(它會從檔案讀取要搜尋的路徑)

245 245 

246若要核准不含 `*` 的特定呼叫,請為完整命令字串編寫精確符合規則,如 `Bash(find build -type f -delete)`。246若要核准其中不含 `*` 的特定呼叫,請為完整的命令字串撰寫完全比對規則,例如 `Bash(find build -type f -delete)`。

247 247 

248當命令含有 `*` 時,如 `find . -name '*.tmp' -delete`,Claude Code 會將規則讀取為[萬用字元模式](#wildcard-patterns)而不是精確符合,所以該命令仍然會提示。請在每次提示時核准它,或使用為其傳回 `"allow"` 的 [PreToolUse hook](/docs/zh-TW/hooks#pretooluse-decision-control)。248當命令含有 `*` 時,例如 `find . -name '*.tmp' -delete`,Claude Code 會將規則解讀為[萬用字元模式](#wildcard-patterns)而非完全比對,因此該命令仍會提示。請在每次提示時核准,或使用針對它回傳 `"allow"` 的 [PreToolUse hook](/docs/zh-TW/hooks#pretooluse-decision-control)。

249 249 

250#### Bash 規則不符合的內容250#### Bash 規則不會比對的內容

251 251 

252Bash 規則符合 Claude 編寫的命令文字,在 Claude Code 分割[複合命令](#compound-commands)和移除[包裝器](#process-wrappers)之後。它不符合以不同形式呼叫的相同程式,所以 deny 或 ask 規則涵蓋 Claude 通常產生的呼叫,而不是程式周圍的安全邊界。`deny` 或 `ask` 中的這些規則會停止第一種形式,而不是其他形式:252Bash 規則會在 Claude Code 拆分[複合命令](#compound-commands)並剝除[包裝器](#process-wrappers)之後,比對 Claude 撰寫的命令文字。它不會比對以不同形式呼叫的同一程式,因此拒絕或詢問規則涵蓋的是 Claude 通常產生的呼叫方式,並不是圍繞該程式的安全邊界。下列規則放在 `deny` 或 `ask` 中時,會阻止第一種形式,但不會阻止其他形式:

253 253 

254| 規則 | 停止 | 不停止 |254| 規則 | 會阻止 | 不會阻止 |

255| :- | :- | :- |255| :- | :- | :- |

256| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`、`sh -c 'curl https://example.com'` |256| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`、`sh -c 'curl https://example.com'` |

257| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`、`bash -c 'rm -rf build/'` |257| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`、`bash -c 'rm -rf build/'` |

258| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`、`git -c push.default=current push origin main`、`git 'push' origin main` |258| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`、`git -c push.default=current push origin main`、`git 'push' origin main` |

259 259 

260您的其他規則和權限模式決定最後一欄中的命令。260最後一欄中的命令由您的其他規則與權限模式決定。

261 261 

262對於不依賴命令文字的檔案系統和網路強制執行,請使用[沙箱](/docs/zh-TW/sandboxing)。若要在執行前使用您自己的邏輯檢查完整命令文字,請使用 [PreToolUse hook](#extend-permissions-with-hooks)。262若需要不依賴命令文字的檔案系統與網路強制執行,請使用[沙箱機制](/docs/zh-TW/sandboxing)。若要在命令執行前以您自己的邏輯檢查完整的命令文字,請使用 [PreToolUse hook](#extend-permissions-with-hooks)。

263 263 

264#### 唯讀命令264#### 唯讀命令

265 265 

266Claude Code 將一組內建的 Bash 命令識別為唯讀,並在每種模式中無需權限提示即可執行它們,除了 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 限制的路徑。該集合包括 `ls`、`cat`、`echo`、`pwd`、`head`、`tail`、`grep`、`find`、`wc`、`which`、`diff`、`stat`、`du`、`cd` 和 `git` 的唯讀形式。該集合不可設定;若要要求其中一個命令的提示,請為其新增 `ask` 或 `deny` 規則。在自動模式中,這些命令也可以等待分類器的檢查;請參閱[分類器如何評估動作](/docs/zh-TW/permission-modes#how-the-classifier-evaluates-actions)。266Claude Code 會將一組內建的 Bash 命令辨識為唯讀,並在每種模式下不經權限提示即執行它們,除非 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 針對工作目錄外部的路徑改變此行為。此組合包括 `ls`、`cat`、`echo`、`pwd`、`head`、`tail`、`grep`、`find`、`wc`、`which`、`diff`、`stat`、`du`、`cd`,以及 `git` 的唯讀形式。此組合無法設定;若要讓其中某個命令需要提示,請為它新增 `ask` 或 `deny` 規則。在自動模式下,這些命令也可能等待分類器的審查;請參閱[分類器如何評估動作](/docs/zh-TW/permission-modes#how-the-classifier-evaluates-actions)。

267 267 

268像 `ls > out.txt` 這樣的重新導向會在目標上新增檢查。請參閱[重新導向](#redirections)。268像 `ls > out.txt` 這樣的重新導向會對目標加上檢查。請參閱[重新導向](#redirections)。

269 269 

270對於每個旗標都是唯讀的命令,允許未引用的 glob 模式,所以 `ls *.ts` 和 `wc -l src/*.py` 無需提示即可執行。270對於所有旗標皆為唯讀的命令,允許使用未加引號的 glob 模式,因此 `ls *.ts` 與 `wc -l src/*.py` 會不經提示即執行。

271 271 

272在 Manual 模式中,此集合中的命令在以下情況下仍然提示:272在 Manual 模式下,此組合中的命令在下列情況仍會提示:

273 273 

274* **具有寫入能力旗標的命令的未引用 glob**:具有寫入能力或執行能力旗標的命令,如 `find`、`sort`、`sed` 和 `git`,在存在未引用的 glob 時提示,因為 glob 可能會擴展為像 `-delete` 這樣的旗標。274* **具有可寫入旗標之命令的未加引號 glob**:具有可寫入或可執行旗標的命令,例如 `find`、`sort`、`sed` 與 `git`,在出現未加引號的 glob 時會提示,因為 glob 可能展開成像 `-delete` 這樣的旗標。

275* **`docker` 指向另一個守護程序**:唯讀形式的 `docker` 在命令帶有選擇不同守護程序的旗標時提示,如 `-H`、`--context` 或 Podman 的 `--url` 和 `--connection`。275* **指向其他 daemon 的 `docker`**:當命令帶有選擇不同 daemon 的旗標時,例如 `-H`、`--context`,或 Podman 的 `--url` 與 `--connection`,`docker` 的唯讀形式會提示。

276* **`file` 帶有路徑開啟旗標**:`file` 在傳遞 `-m`/`--magic-file` 或 `-f`/`--files-from` 時提示,因為這些旗標使 `file` 開啟旗標值中命名的路徑。276* **帶有開啟路徑旗標的 `file`**:當 `file` 傳入 `-m`/`--magic-file` 或 `-f`/`--files-from` 時會提示,因為這些旗標會讓 `file` 開啟旗標值中所指定的路徑。

277* **可能列印環境變數的 `ps`**:當 `ps` 的其中一個引數可能作為 `e` 選項時,例如在 `ps auxe` 或 `ps aux -e` 中,`ps` 會提示,因為該選項會列印程序環境變數。`ps aux` 和 `ps -ef` 無需提示即可執行。對 `ps aux -e` 等帶破折號形式的檢查需要 Claude Code v2.1.290 或更新版本。277* **可能印出環境變數的 `ps`**:當 `ps` 的某個引數可能作為 `e` 選項時會提示,例如 `ps auxe` 或 `ps aux -e`,因為該選項會印出程序的環境變數。`ps aux` 與 `ps -ef` 會不經提示即執行。對 `ps aux -e` 等帶連字號形式的檢查需要 Claude Code v2.1.290 或更新版本。

278* **Windows 上的網路路徑**:其引數包括網路 (UNC) 路徑(如 `\\server\share\file`)的命令會提示,因為存取網路路徑可能會將您的 Windows 認證傳送到它命名的主機。同樣的檢查適用於 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool)命令。278* **Windows 上的網路路徑**:引數包含網路(UNC)路徑(例如 `\\server\share\file`)的命令會提示,因為存取網路路徑可能會將您的 Windows 憑證傳送給其所指定的主機。相同的檢查也適用於 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool)命令。

279* **寫入特殊 shell 變數**:設定、取消設定或迴圈某些特殊 shell 變數(如 `PATH` 或 `IFS`)的命令會提示,即使命令的其餘部分是唯讀的。279* **寫入特殊 shell 變數**:設定、取消設定或迴圈遍歷某些特殊 shell 變數(例如 `PATH` 或 `IFS`)的命令,即使命令的其餘部分為唯讀也會提示。

280* **分析無法解析的命令**:當 Claude Code 無法完全解析命令時,它會要求批准而不是將命令視為唯讀。超過 10,000 個字元的命令始終提示,因為它們超過分析解析的內容。280* **分析無法解析的命令**:當 Claude Code 無法完整解析某個命令時,它會要求核准,而不是將該命令視為唯讀。超過 10,000 個字元的命令一律會提示,因為它們超出分析所能解析的範圍。

281 281 

282`cd` 進入工作目錄或[額外目錄](#working-directories)內的路徑也是唯讀的,像 `cd packages/api && ls` 這樣的複合命令在每個部分都符合時無需提示即可執行。即使每個部分都是唯讀的,這些組合也會提示:282`cd` 進入工作目錄或[額外目錄](#working-directories)內的路徑也屬於唯讀,而像 `cd packages/api && ls` 這樣的複合命令,當每個部分各自符合條件時,會不經提示即執行。下列組合即使每個部分都是唯讀也會提示:

283 283 

284* **`cd` 與 `git`**:當 `cd` 變更進入不同目錄時提示,因為在新目錄中執行 `git` 可能會執行該目錄的 hooks。其目標解析為目前工作目錄的 `cd` 是無操作的,不會觸發提示。284* **`cd` 搭配 `git`**:當 `cd` 切換到不同目錄時會提示,因為在新目錄中執行 `git` 可能會執行該目錄的 hook。目標解析為目前工作目錄的 `cd` 不會產生任何作用,也不會觸發提示。

285* **`cd` 與重新導向**:當 Claude Code 無法判斷重新導向目標在 `cd` 執行後針對哪個目錄解析時提示。其唯一重新導向目標是 `/dev/null` 的命令,如 `cd app; grep -r pattern . 2>/dev/null`,不會提示,因為 `/dev/null` 不依賴於工作目錄。285* **`cd` 搭配重新導向**:當 Claude Code 無法判斷 `cd` 執行後重新導向目標會相對於哪個目錄解析時會提示。唯一重新導向目標為 `/dev/null` 的命令,例如 `cd app; grep -r pattern . 2>/dev/null`,不會提示,因為 `/dev/null` 不依賴工作目錄。

286 286 

287> [!WARNING]287> [!WARNING]

288>288>

289> 嘗試限制命令引數的 Bash 權限模式很脆弱。例如,`Bash(curl http://github.com/ *)` 旨在將 curl 限制為 GitHub URL,但不會符合以下變化:289> 試圖限制命令引數的 Bash 權限模式相當脆弱。例如,`Bash(curl http://github.com/ *)` 的用意是將 curl 限制為 GitHub URL,但不會比對下列變化形式:

290>290>

291> * URL 前的選項:`curl -X GET http://github.com/...`291> * URL 前面的選項:`curl -X GET http://github.com/...`

292> * 不同的協定:`curl https://github.com/...`292> * 不同的協定:`curl https://github.com/...`

293> * 重新導向:`curl -L http://short.example.com/xyz`(重新導向到 GitHub)293> * 重新導向:`curl -L http://short.example.com/xyz`,它會重新導向至 GitHub

294> * 變數:`URL=http://github.com && curl $URL`294> * 變數:`URL=http://github.com && curl $URL`

295>295>

296> 為了更可靠的 URL 篩選,請考慮:296> 若要更可靠地篩選 URL,請考慮:

297>297>

298> * **限制 Bash 網路工具**:使用 deny 規則阻止 `curl`、`wget` 和類似命令,然後使用 WebFetch 工具搭配 `WebFetch(domain:github.com)` 權限以允許的網域。Deny 規則不符合按路徑呼叫的相同程式或 `sh -c` 內的程式,所以當限制必須成立時,將其與[沙箱網路允許清單](/docs/zh-TW/sandboxing#network-isolation)配對;請參閱 [Bash 規則不符合的內容](#bash-rule-limits)298> * **限制 Bash 網路工具**:使用拒絕規則阻止 `curl`、`wget` 及類似命令,然後針對允許的網域使用帶有 `WebFetch(domain:github.com)` 權限的 WebFetch 工具。拒絕規則不會比對以路徑呼叫或在 `sh -c` 內呼叫的同一程式,因此當限制必須確實生效時,請搭配[沙箱網路允許清單](/docs/zh-TW/sandboxing#network-isolation)使用;請參閱 [Bash 規則不會比對的內容](#bash-rule-limits)

299> * **使用 PreToolUse hooks**:實作一個 hook 來驗證 Bash 命令中的 URL 並阻止不允許的網域299> * **使用 PreToolUse hook**:實作一個 hook,驗證 Bash 命令中的 URL 並封鎖不允許的網域

300> * **新增 CLAUDE.md 指導**:在 `CLAUDE.md` 中描述您允許的 curl 模式。這會形塑 Claude 嘗試的內容,但不會強制執行邊界,所以請將其與上述選項之一配對300> * **新增 CLAUDE.md 指引**:在 `CLAUDE.md` 中描述您允許的 curl 模式。這會影響 Claude 的嘗試方向,但不會強制執行邊界,因此請搭配上述其中一個選項使用

301>301>

302> 請注意,單獨使用 WebFetch 不會防止網路存取。如果允許 Bash,Claude 仍然可以使用 `curl`、`wget` 或其他工具來存取任何 URL。302> 請注意,單獨使用 WebFetch 並不會阻止網路存取。如果允許 Bash,Claude 仍可使用 `curl`、`wget` 或其他工具存取任何 URL。

303 303 

304#### 重新導向304#### 重新導向

305 305 

306當命令重新導向輸出或輸入時,Claude Code 會根據您的檔案規則檢查重新導向目標,就像 Claude 直接寫入或讀取該檔案一樣:306當命令重新導向輸出或輸入時,Claude Code 會依據您的檔案規則檢查重新導向目標,就如同 Claude 直接寫入或讀取該檔案一樣:

307 307 

308* **輸出重新導向**:對於 `> file`、`>> file` 或 `2> file`,檢查涵蓋您的 `Edit` 允許和 deny 規則、[受保護的路徑](/docs/zh-TW/permission-modes#protected-paths)和[工作目錄](#working-directories)。像 `Bash(git commit *)` 這樣的規則允許命令,而不是目標。以 `~` 開頭或包含 glob 字元的目標需要您的批准。308* **輸出重新導向**:對於 `> file`、`>> file` 或 `2> file`,檢查涵蓋您的 `Edit` 允許與拒絕規則、[受保護路徑](/docs/zh-TW/permission-modes#protected-paths)以及[工作目錄](#working-directories)。像 `Bash(git commit *)` 這樣的規則允許的是命令,而非目標。以 `~` 開頭或包含 glob 字元的目標需要您的核准。

309* **輸入重新導向**:對於 `< file`,檢查涵蓋您的 `Read` 允許和 deny 規則以及工作目錄。工作目錄外的目標需要您的批准,除非允許規則涵蓋它。包含 glob 模式的目標或在同一命令中 `cd` 後面的相對路徑需要您的批准,即使允許規則涵蓋它。Claude Code 在 v2.1.257 及更新版本中檢查輸入目標。309* **輸入重新導向**:對於 `< file`,檢查涵蓋您的 `Read` 允許與拒絕規則以及工作目錄。工作目錄外部的目標需要您的核准,除非有允許規則涵蓋它。包含 glob 模式的目標,或在同一命令中位於 `cd` 之後的相對路徑,即使有允許規則涵蓋也需要您的核准。Claude Code 在 v2.1.257 及更新版本中會檢查輸入目標。

310 310 

311沒有檔案的目標不會被檢查:`/dev/null`、檔案描述符形式如 `2>&1` 和 `<&3`,以及 here-docs 和 here-strings。311背後沒有檔案的目標不會被檢查:`/dev/null`、`2>&1` 與 `<&3` 等檔案描述符形式,以及 here-doc 與 here-string。

312 312 

313Claude Code 也會檢查 `tee` 命令寫入的檔案,包括在管道中如 `make | tee build.log`。檢查涵蓋您的 `Edit` 允許和 deny 規則、[受保護的路徑](/docs/zh-TW/permission-modes#protected-paths)和[工作目錄](#working-directories)。像 `Bash(tee *)` 這樣的允許規則不涵蓋工作目錄外的目標。Claude Code 在 v2.1.269 及更新版本中檢查 `tee` 目標。313Claude Code 也會檢查 `tee` 命令寫入的檔案,包括在像 `make | tee build.log` 這樣的管線中。檢查涵蓋您的 `Edit` 允許與拒絕規則、[受保護路徑](/docs/zh-TW/permission-modes#protected-paths)以及[工作目錄](#working-directories)。像 `Bash(tee *)` 這樣的允許規則不會涵蓋工作目錄外部的目的地。Claude Code 在 v2.1.269 及更新版本中會檢查 `tee` 目標。

314 314 

315### PowerShell315### PowerShell

316 316 

317PowerShell 權限規則使用與 Bash 規則相同的形式。帶有 `*` 的萬用字元在任何位置符合,`:*` 後綴等同於尾部 ` *`,而裸 `PowerShell` 或 `PowerShell(*)` 符合每個命令。此設定允許 `Get-ChildItem` 和 `git commit` 命令,同時阻止 `Remove-Item`:317PowerShell 權限規則使用與 Bash 規則相同的形式。使用 `*` 的萬用字元可在任何位置比對,`:*` 後綴等同於結尾的 ` *`,而不帶參數的 `PowerShell` 或 `PowerShell(*)` 會比對每個命令。下列設定允許 `Get-ChildItem` 與 `git commit` 命令,同時封鎖 `Remove-Item`:

318 318 

319```json theme={null}319```json theme={null}

320{320{


330}330}

331```331```

332 332 

333常見別名在符合前會被正規化。為 cmdlet 名稱編寫的規則也符合其別名,所以 `PowerShell(Get-ChildItem *)` 符合 `gci`、`ls` 和 `dir`。符合不區分大小寫。333常見別名會在比對前標準化。為 cmdlet 名稱撰寫的規則也會比對其別名,因此 `PowerShell(Get-ChildItem *)` 也會比對 `gci`、`ls` 與 `dir`。比對不區分大小寫。

334 334 

335Claude Code 解析 PowerShell AST 並獨立檢查複合命令中的每個命令。管道運算子 `|`、陳述式分隔符 `;` 和在 PowerShell 7+ 上的鏈運算子 `&&` 和 `||` 將複合命令分割為子命令。規則必須符合每個子命令才能允許複合命令。335Claude Code 會解析 PowerShell AST,並獨立檢查複合命令中的每個命令。管線運算子 `|`、陳述式分隔符號 `;`,以及在 PowerShell 7+ 上的鏈結運算子 `&&` 與 `||`,會將複合命令拆分為子命令。規則必須比對每個子命令,複合命令才會被允許。

336 336 

337### Read 和 Edit337### Read 和 Edit

338 338 

339若要阻止 Claude 的檔案工具讀取檔案或目錄,請為其路徑新增 `Read` deny 規則,如 `Read(./.env)` 或 `Read(./secrets/**)`;[排除敏感檔案](/docs/zh-TW/settings-reference#exclude-sensitive-files)有一個可貼上的範例。如果您的專案有 `.claudeignore` 檔案,它不會有任何作用,所以請將其項目移至 `Read` deny 規則中。339若要封鎖 Claude 的檔案工具讀取某個檔案或目錄,請為其路徑新增 `Read` 拒絕規則,例如 `Read(./.env)` 或 `Read(./secrets/**)`;[排除敏感檔案](/docs/zh-TW/settings-reference#exclude-sensitive-files)中有可直接貼上的範例。如果您的專案有 `.claudeignore` 檔案,它不會有任何作用,因此請將其項目移至 `Read` 拒絕規則中。

340 340 

341`Edit` 規則適用於所有編輯檔案的內建工具。Claude 會盡力嘗試將 `Read` 規則應用於所有讀取檔案的內建工具(如 Grep 和 Glob)、您提示中的 `@file` 提及,以及連接的 [IDE](/docs/zh-TW/vs-code#the-built-in-ide-mcp-server) 與 Claude 共享的選擇和開啟檔案內容。341`Edit` 規則適用於所有編輯檔案的內建工具。Claude 會盡力將 `Read` 規則套用至所有讀取檔案的內建工具(例如 Grep 與 Glob)、提示詞中的 `@file` 提及,以及已連線的 [IDE](/docs/zh-TW/vs-code#the-built-in-ide-mcp-server) 與 Claude 共用的選取內容與開啟檔案脈絡。

342 342 

343`Read(path)` deny 規則也適用於您貼到提示詞中的圖片路徑,以及您 @ 提及的目錄:343`Read(path)` 拒絕規則也適用於您貼到提示詞中的圖片路徑,以及您 @ 提及的目錄:

344 344 

345* **圖片路徑**:當您在終端機中將圖片路徑貼上或將圖片檔案拖曳到提示詞中,且規則符合該路徑時,Claude Code 不會附加該圖片。如果貼上的內容不含其他圖片,該路徑會以文字形式保留在您的提示詞中。345* **圖片路徑**:當您在終端機中將圖片路徑貼上或將圖片檔案拖曳到提示詞中,且規則比對到該路徑時,Claude Code 不會附加該圖片。如果貼上的內容中沒有其他圖片,該路徑會以文字形式保留在您的提示詞中。

346* **目錄**:[Claude 收到的清單](/docs/zh-TW/common-workflows#reference-files-and-directories)會省略規則符合的檔案和目錄名稱。346* **目錄**:[Claude 收到的清單](/docs/zh-TW/common-workflows#reference-files-and-directories)會省略規則比對到的檔案與目錄名稱。

347 347 

348Claude Code 在 v2.1.290 及更新版本中檢查貼上的圖片路徑和目錄清單。348Claude Code 在 v2.1.290 及更新版本中會檢查貼上的圖片路徑與目錄清單。

349 349 

350`Read` deny 規則也會阻止同一路徑上的 [Edit 和 Write 工具](/docs/zh-TW/errors#file-is-covered-by-a-read-deny-rule),包括在該處建立新檔案。NotebookEdit 不在涵蓋範圍內,所以請為任何工具都不可變更的路徑新增 `Edit` deny 規則。對於 Write 工具,此檢查需要 Claude Code v2.1.228 或更新版本。350`Read` 拒絕規則也會封鎖同一路徑上的 [Edit 與 Write 工具](/docs/zh-TW/errors#file-is-covered-by-a-read-deny-rule),包括在該處建立新檔案。NotebookEdit 不在涵蓋範圍內,因此請為任何工具都不得變更的路徑新增 `Edit` 拒絕規則。對於 Write 工具,此檢查需要 Claude Code v2.1.228 或更新版本。

351 351 

352Claude Code 僅根據 `Edit(path)` 和 `Read(path)` 規則檢查檔案權限。如果您改為為 `Write`、`NotebookEdit`、`Glob` 或舊版 `MultiEdit` 工具編寫路徑規則,Claude Code 會接受規則但永遠不會查詢它,並在啟動時[發出警告](/docs/zh-TW/errors#is-not-matched-by-file-permission-checks),除了在 `--allowedTools` 中傳遞的 `Glob` 規則。使用 `Edit(docs/**)` 代替 `Write(docs/**)`、`NotebookEdit(docs/**)` 或 `MultiEdit(docs/**)`,以及 `Read(docs/**)` 代替 `Glob(docs/**)`。Claude Code 不會警告沒有路徑的工具名稱規則,如 `Write` 的 deny 規則;它會在任何地方以工具層級符合該規則。352Claude Code 只會依據 `Edit(path)` 與 `Read(path)` 規則檢查檔案權限。如果您改為針對 `Write`、`NotebookEdit`、`Glob` 或舊版 `MultiEdit` 工具撰寫路徑規則,Claude Code 會接受該規則但永遠不會參考它,並會[在啟動時發出警告](/docs/zh-TW/errors#is-not-matched-by-file-permission-checks),但透過 `--allowedTools` 傳入的 `Glob` 規則除外。請使用 `Edit(docs/**)` 取代 `Write(docs/**)`、`NotebookEdit(docs/**)` 或 `MultiEdit(docs/**)`,並使用 `Read(docs/**)` 取代 `Glob(docs/**)`。對於沒有路徑的工具名稱規則(例如針對 `Write` 的拒絕規則),Claude Code 不會發出警告;它會在所有地方以工具層級比對該規則。

353 353 

354> [!WARNING]354> [!WARNING]

355>355>

356> Read 和 Edit deny 規則適用於 Claude 的內建檔案工具、Claude Code 在 Bash 中識別的檔案命令(如 `cat`、`head`、`tail`、`sed` 和 `tee`)以及 Bash [重新導向](#redirections)的目標(如 `> file` 和 `< file`)。它們不適用於讀取檔案而不命名它們的命令,如從保存檔案的目錄執行的 `grep -r pattern .`,或間接讀取或寫入檔案的任意子程序,如自行開啟檔案的 Python 或 Node 指令碼。為了進行作業系統級別的強制執行,以阻止所有程序存取路徑,請[啟用沙箱](/docs/zh-TW/sandboxing)。356> Read 與 Edit 拒絕規則適用於 Claude 的內建檔案工具、Claude Code 在 Bash 中辨識的檔案命令(例如 `cat`、`head`、`tail`、`sed` 與 `tee`),以及 Bash [重新導向](#redirections)的目標(例如 `> file` 與 `< file`)。它們不適用於未指名檔案即讀取檔案的命令,例如從包含該檔案的目錄執行的 `grep -r pattern .`,也不適用於間接讀取或寫入檔案的任意子程序,例如自行開啟檔案的 Python 或 Node 腳本。若需要在作業系統層級強制執行、封鎖所有程序存取某個路徑,請[啟用沙箱](/docs/zh-TW/sandboxing)。

357 357 

358Read 和 Edit 規則都使用 [gitignore](https://git-scm.com/docs/gitignore) 模式語法,具有四種不同的模式類型;對於單一段目錄模式,符合深度也取決於規則類型,稍後在本節中描述:358Read 與 Edit 規則皆使用 [gitignore](https://git-scm.com/docs/gitignore) 模式語法,具有四種不同的模式類型;對於單一區段的目錄模式,比對深度也取決於規則類型,本節稍後會說明:

359 359 

360| 模式 | 意義 | 範例 | 符合 |360| 模式 | 意義 | 範例 | 比對 |

361| - | - | - | - |361| - | - | - | - |

362| `//path` | 來自檔案系統根目錄的絕對路徑 | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |362| `//path` | 從檔案系統根目錄起算的絕對路徑 | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

363| `~/path` | 來自主目錄的路徑 | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |363| `~/path` | 從家目錄起算的路徑 | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

364| `/path` | 相對於設定來源的路徑 | `Edit(/src/**/*.ts)` | 專案設定中的 `<primary working directory>/src/**/*.ts` |364| `/path` | 相對於設定來源的路徑 | `Edit(/src/**/*.ts)` | 在專案設定中為 `<primary working directory>/src/**/*.ts` |

365| `path` 或 `./path` | 相對於目前目錄的路徑 | `Read(*.env)` | `<cwd>/*.env` |365| `path` 或 `./path` | 相對於目前目錄的路徑 | `Read(*.env)` | `<cwd>/*.env` |

366 366 

367> [!WARNING]367> [!WARNING]

368>368>

369> 像 `/Users/alice/file` 這樣的模式不是絕對路徑。單一前導斜線錨定在設定來源,而不是檔案系統根目錄。使用 `//Users/alice/file` 表示絕對路徑。369> 像 `/Users/alice/file` 這樣的模式並不是絕對路徑。單一開頭斜線會錨定在設定來源,而非檔案系統根目錄。請使用 `//Users/alice/file` 表示絕對路徑。

370 370 

371`/path` 模式錨定在與定義它的設定來源相關聯的目錄,所以相同的規則根據您放置它的位置符合不同的位置:371`/path` 模式會錨定在與定義它的設定來源相關聯的目錄,因此同一條規則會依您放置的位置而比對不同的位置:

372 372 

373| 規則定義在 | `/path` 解析為 |373| 規則定義於 | `/path` 解析為 |

374| :- | :- |374| :- | :- |

375| `.claude/settings.json` 中的專案設定 | `<primary working directory>/path` |375| 位於 `.claude/settings.json` 的專案設定 | `<primary working directory>/path` |

376| `.claude/settings.local.json` 中的本機設定 | `<primary working directory>/path` |376| 位於 `.claude/settings.local.json` 的本機設定 | `<primary working directory>/path` |

377| `~/.claude/settings.json` 中的使用者設定 | `~/.claude/path` |377| 位於 `~/.claude/settings.json` 的使用者設定 | `~/.claude/path` |

378| 使用 `--settings <file>` 傳遞的檔案 | `<directory of file>/path` |378| 以 `--settings <file>` 傳入的檔案 | `<directory of file>/path` |

379| CLI 旗標或工作階段規則 | `<primary working directory>/path` |379| CLI 旗標或工作階段規則 | `<primary working directory>/path` |

380 380 

381您透過 `/permissions` 新增的規則遵循您儲存它的設定檔案的列。381透過 `/permissions` 新增的規則,會依照您將它儲存至的設定檔所對應的那一列。

382 382 

383本機設定規則錨定在工作階段的[主要工作目錄](#working-directories),而不是 Claude Code 在 v2.1.211 及更新版本中[儲存檔案](#permission-system)的儲存庫根目錄。在從儲存庫根目錄啟動的工作階段中,兩個目錄相同;在 [worktree](/docs/zh-TW/worktrees) 工作階段中,像 `Edit(/src/**)` 這樣的共享規則符合該 worktree 自己的 `src/` 目錄。383在 v2.1.211 及更新版本中,本機設定規則會錨定在工作階段的[主要工作目錄](#working-directories),而不是 Claude Code [儲存該檔案](#permission-system)的儲存庫根目錄。在從儲存庫根目錄啟動的工作階段中,這兩個目錄相同;在 [worktree](/docs/zh-TW/worktrees) 工作階段中,像 `Edit(/src/**)` 這樣的共用規則會比對該 worktree 自己的 `src/` 目錄。

384 384 

385像 `Read(/secrets/**)` 這樣的 deny 規則在使用者設定中會阻止 `~/.claude/secrets/**`,而不是您專案中的 `secrets` 目錄。若要在使用者設定中編寫適用於每個專案內部的規則,請改用 `//` 絕對路徑或 `~/` 主目錄相對路徑。385使用者設定中像 `Read(/secrets/**)` 這樣的拒絕規則,封鎖的是 `~/.claude/secrets/**`,而不是您專案中的 `secrets` 目錄。若要在使用者設定中撰寫適用於每個專案內部的規則,請改用 `//` 絕對路徑或 `~/` 相對於家目錄的路徑。

386 386 

387在 Windows 上,路徑在符合前會被正規化為 POSIX 形式。`C:\Users\alice` 變成 `/c/Users/alice`,所以使用 `//c/**/.env` 來符合該磁碟上任何位置的 `.env` 檔案。若要符合所有磁碟,請使用 `//**/.env`。387在 Windows 上,路徑會在比對前正規化為 POSIX 形式。`C:\Users\alice` 會變成 `/c/Users/alice`,因此請使用 `//c/**/.env` 來比對該磁碟機上任何位置的 `.env` 檔案。若要跨所有磁碟機比對,請使用 `//**/.env`。

388 388 

389範例:389範例:

390 390 

391* `Edit(/docs/**)`:編輯 `<primary working directory>/docs/` 中的檔案,而不是 `/docs/` 或 `<primary working directory>/.claude/docs/`391* `Edit(/docs/**)`:編輯 `<primary working directory>/docs/` 中的內容,而不是 `/docs/` 或 `<primary working directory>/.claude/docs/`

392* `Read(~/.zshrc)`:讀取您主目錄的 `.zshrc`392* `Read(~/.zshrc)`:讀取您家目錄的 `.zshrc`

393* `Edit(//tmp/scratch.txt)`:編輯絕對路徑 `/tmp/scratch.txt`393* `Edit(//tmp/scratch.txt)`:編輯絕對路徑 `/tmp/scratch.txt`

394* `Read(src/**)`:作為允許規則,僅從 `<current-directory>/src/` 讀取;作為 deny 或 ask 規則,符合目前目錄下任何深度的 `src` 目錄394* `Read(src/**)`:作為允許規則時,只讀取 `<current-directory>/src/`;作為拒絕或詢問規則時,會比對目前目錄下任何深度的 `src` 目錄

395 395 

396規則只符合其錨點下的檔案;在該邊界內,符合深度取決於模式形式,以及對於單一段目錄模式,規則類型(稍後描述)。裸檔案名稱遵循 gitignore 語義,並在任何深度符合,所以 `Read(.env)` 和 `Read(**/.env)` 是等價的:396規則只會比對其錨點下的檔案;在此範圍內,比對深度取決於模式形式,以及(對於單一區段目錄模式而言)規則類型,如下所述。單純的檔名遵循 gitignore 語意並在任何深度比對,因此 `Read(.env)` 與 `Read(**/.env)` 是等價的:

397 397 

398| Deny 規則 | 阻止 | 不阻止 |398| 拒絕規則 | 會封鎖 | 不會封鎖 |

399| - | - | - |399| - | - | - |

400| `Read(.env)` 或 `Read(**/.env)` | 目前目錄或其下的任何 `.env` | 父目錄或另一個專案中的 `.env` |400| `Read(.env)` 或 `Read(**/.env)` | 目前目錄或其下的任何 `.env` | 父目錄或其他專案中的 `.env` |

401| `Read(//**/.env)` | 檔案系統上任何位置的任何 `.env` | 無;規則錨定在檔案系統根目錄 |401| `Read(//**/.env)` | 檔案系統上任何位置的任何 `.env` | 無;此規則錨定在檔案系統根目錄 |

402 402 

403具有單一目錄段的相對模式,如 `src/**`,根據規則類型在不同深度符合:403具有單一目錄區段的相對模式(例如 `src/**`)會依規則類型在不同深度比對:

404 404 

405* **允許規則**:`Edit(src/**)` 僅符合 `<cwd>/src` 及其下的檔案。若要允許任何深度的目錄名稱,請編寫 `Edit(**/src/**)`。405* **允許規則**:`Edit(src/**)` 只比對 `<cwd>/src` 及其下的檔案。若要允許任何深度的目錄名稱,請撰寫 `Edit(**/src/**)`。

406* **Deny 和 ask 規則**:`Read(secrets/**)` 符合目前目錄下任何深度的名為 `secrets` 的目錄,所以規則也適用於嵌套副本。406* **拒絕與詢問規則**:`Read(secrets/**)` 會比對目前目錄下任何深度名為 `secrets` 的目錄,因此該規則也適用於巢狀的副本。

407 407 

408每個其他模式形式在每種規則類型中都在相同深度符合:`Edit(/src/**)` 和 `Edit(src/components/**)` 僅在其錨定位置符合,而 `Edit(**/src/**)` 在任何深度符合。408其他所有模式形式在每種規則類型中都以相同深度比對:`Edit(/src/**)` 與 `Edit(src/components/**)` 只在其錨定位置比對,而 `Edit(**/src/**)` 會在任何深度比對。

409 409 

410以下範例針對具有頂級 `src/` 目錄和 `vendor/` 下嵌套副本的專案顯示每個模式形式:410下列範例以一個具有頂層 `src/` 目錄以及位於 `vendor/` 下之巢狀副本的專案,展示各種模式形式:

411 411 

412```text theme={null}412```text theme={null}

413<current-directory>/413<current-directory>/


419 └── lib.js419 └── lib.js

420```420```

421 421 

422| 規則 | 符合 `src/app.ts` | 符合 `vendor/pkg/src/lib.js` |422| 規則 | 比對 `src/app.ts` | 比對 `vendor/pkg/src/lib.js` |

423| :- | :- | :- |423| :- | :- | :- |

424| `Edit(src/**)` 作為允許規則 | 是 | 否 |424| `Edit(src/**)` 作為允許規則 | 是 | 否 |

425| `Edit(src/**)` 作為 deny 或 ask 規則 | 是 | 是 |425| `Edit(src/**)` 作為拒絕或詢問規則 | 是 | 是 |

426| `Edit(/src/**)` 在任何規則類型中 | 是 | 否 |426| `Edit(/src/**)` 於任何規則類型 | 是 | 否 |

427| `Edit(**/src/**)` 在任何規則類型中 | 是 | 是 |427| `Edit(**/src/**)` 於任何規則類型 | 是 | 是 |

428 428 

429> [!NOTE]429> [!NOTE]

430>430>

431> 在 gitignore 模式中,`*` 符合單一路徑段內的內容,可以出現在模式中的任何位置,而 `**` 符合跨目錄。431> 在 gitignore 模式中,`*` 會在單一路徑區段內比對,且可出現在模式中的任何位置,而 `**` 會跨目錄比對。

432 432 

433當您使用「是,不要再問」核准檔案路徑時,Claude Code 會逸出該路徑中的 gitignore 模式字元,如 `[`、`]` 和 `*`,所以產生的規則只符合您核准的字面路徑。您自己編寫的規則不會被逸出。433當您以「Yes, and don't ask again」核准檔案路徑時,Claude Code 會跳脫該路徑中的 gitignore 模式字元,例如 `[`、`]` 與 `*`,因此產生的規則只會比對您所核准的字面路徑。您自行撰寫的規則不會被跳脫。

434 434 

435您不需要逸出路徑中的括號,所以 `Edit(./Finance (2024)/**)` 符合 `Finance (2024)` 資料夾。435您不需要跳脫路徑中的括號,因此 `Edit(./Finance (2024)/**)` 會比對拼寫如此的 `Finance (2024)` 資料夾。

436 436 

437其路徑不可用作 gitignore 模式的 deny 或 ask 規則仍然保護該確切路徑。具有不可用模式的允許規則不會批准任何內容。437路徑無法作為 gitignore 模式使用的拒絕或詢問規則,仍會保護該確切路徑。模式無法使用的允許規則不會核准任何內容。

438 438 

439一個 deny 或 ask 規則,其路徑以 `!` 開頭,是一個 gitignore 否定。它從其前面列出的 `path` 或 `./path` 規則中切割出它符合的路徑。在一個設定檔案的 `deny` 清單中,`Read(*.env)` 後跟 `Read(!sample.env)` 會阻止名稱以 `.env` 結尾的每個檔案在任何深度,除了名為 `sample.env` 的檔案。首先列出的 `!` 規則不切割任何內容。439以 `!` 開頭的拒絕或詢問模式是 gitignore 否定。它會從列在它之前的 `path` 或 `./path` 規則中排除它所比對的路徑。在單一設定檔的 `deny` 清單中,`Read(*.env)` 後接 `Read(!sample.env)` 會封鎖任何深度中名稱以 `.env` 結尾的每個檔案,但名為 `sample.env` 的檔案除外。列在最前面的 `!` 規則不會排除任何內容。

440 440 

441切割出的內容僅到達來自相同來源的規則。專案設定或 `--disallowedTools` 中的 `Read(!.env)` 不會取消來自受管理設定或任何其他設定檔案的 `Read(./.env)` deny。441排除只會影響來自同一來源的規則。專案設定或 `--disallowedTools` 中的 `Read(!.env)` 不會取消來自受管設定或任何其他設定檔的 `Read(./.env)` 拒絕規則。

442 442 

443兩個限制縮小了 `!` 模式可以切割出的內容:443有兩項限制會縮小 `!` 模式所能排除的範圍:

444 444 

445* Claude Code 讀取 `!` 模式相對於目前目錄,即使 `/`、`~/` 或 `//` 跟隨 `!`,所以模式無法到達以其中一個前綴錨定的規則。`Read(!~/notes/public/**)` 不切割 `Read(~/notes/**)` 中的任何內容。445* 即使 `!` 後面接著 `/`、`~/` 或 `//`,Claude Code 仍會相對於目前目錄解讀 `!` 模式,因此該模式無法影響以這些前綴錨定的規則。`Read(!~/notes/public/**)` 不會從 `Read(~/notes/**)` 中排除任何內容。

446* 切割出無法重新開啟規則整體阻止的目錄內的檔案。使用 `Read(secrets/**)` 和 `Read(!secrets/public/**)`,Claude Code 仍然阻止 `secrets/public` 以及 `secrets` 的其餘部分。446* 排除無法重新開放被規則整體封鎖之目錄內的檔案。在 `Read(secrets/**)` 與 `Read(!secrets/public/**)` 的情況下,Claude Code 仍會封鎖 `secrets/public` 以及 `secrets` 的其餘部分。

447 447 

448#### 符號連結448#### 符號連結

449 449 

450當 Claude 存取符號連結時,權限檢查涵蓋兩個路徑:符號連結本身和它解析到的檔案。這適用於 macOS、Linux 和 Windows 上的符號連結,以及 Windows 上的目錄連接。450當 Claude 請求的檔案路徑經過符號連結時,權限檢查會涵蓋兩個路徑:Claude 請求的路徑,以及它解析後的檔案。這適用於 macOS、Linux 與 Windows 上的符號連結,以及 Windows 上的目錄連接點(junction)。

451 451 

452##### 規則如何符合符號連結路徑452##### 規則如何比對經符號連結的路徑

453 453 

454Allow 和 deny 規則對該對的處理方式不同:454允許規則與拒絕規則對請求的路徑與其解析後的檔案有不同的處理方式:

455 455 

456* **允許規則**:僅在符號連結路徑及其目標都符合時適用。允許目錄內的符號連結指向外部仍會提示您。456* **允許規則**:只有在請求的路徑與其解析後的檔案都符合時才會套用。透過允許目錄內、指向該目錄外部的符號連結所進行的讀取,不符合該規則。

457* **Deny 規則**:在符號連結路徑或其目標符合時適用。指向被拒絕檔案的符號連結本身被拒絕。例如,使用 `Read(./project/**)` 允許和 `Read(~/.ssh/**)` 拒絕,位於 `./project/key` 指向 `~/.ssh/id_rsa` 的符號連結被阻止:目標未通過允許規則且符合 deny 規則。457* **拒絕規則**:只要請求的路徑或其解析後的檔案任一符合就會套用。指向被拒絕檔案的符號連結本身也會被拒絕。例如,在允許 `Read(./project/**)` 且拒絕 `Read(~/.ssh/**)` 的情況下,位於 `./project/key` 且指向 `~/.ssh/id_rsa` 的符號連結會被封鎖:目標不符合允許規則,且符合拒絕規則。

458 458 

459在 macOS 和 Linux 上,透過符號連結目錄編寫的 deny 或 ask 規則(帶有 `//`、`~/` 或 `/` 模式)也適用於目錄的真實位置。例如,在 macOS 上,其中 `/etc` 解析為 `/private/etc`,`Read(//etc/**)` 也會阻止 `/private/etc/hosts`。在 v2.1.268 之前,透過符號連結目錄編寫的 deny 或 ask 規則不適用於由其真實位置給出的路徑。459在 macOS 與 Linux 上,透過符號連結目錄以 `//`、`~/` 或 `/` 模式撰寫的拒絕或詢問規則,也會套用於該目錄的實際位置。例如,在 `/etc` 解析為 `/private/etc` 的 macOS 上,`Read(//etc/**)` 也會封鎖 `/private/etc/hosts`。在 v2.1.268 之前,透過符號連結目錄撰寫的拒絕或詢問規則,不會套用於以其實際位置指定的路徑。

460 460 

461Grep 和 Glob 搜尋 `path` 引數解析到的目錄。Claude Code 將 `Read` deny 規則應用於該目錄。461Grep 與 Glob 會搜尋 `path` 引數所解析到的目錄。Claude Code 會對該目錄套用 `Read` 拒絕規則。

462 462 

463##### 透過符號連結的寫入463##### 經由符號連結的附件

464 464 

465如果 Claude 要求編輯或寫入的路徑本身是符號連結,Edit 和 Write 工具[拒絕寫入並將 Claude 導向連結的目標](/docs/zh-TW/errors#refusing-after-a-symlink-changed)。465`Read` 拒絕規則也涵蓋下列附件,對每個附件依其指名的路徑或解析後的檔案進行比對。當規則比對到附件時,Claude Code 會將該附件排除在對話之外:

466 466 

467當目錄在檔案路徑上是符號連結,或當 Bash 或 PowerShell 命令進行寫入時,寫入仍然可以通過符號連結。對於這些寫入,發生的情況取決於寫入解析到的檔案相對於您的[工作目錄](#working-directories)和[受保護的路徑](/docs/zh-TW/permission-modes#protected-paths)的位置:467* **`@` 提及**:您在提示詞中提及的檔案或目錄。被拒絕的檔案不會在對話中留下任何內容,而[目錄的清單](#read-and-edit)會省略規則所涵蓋的名稱。

468* **貼上的圖片**:您在終端機中將其路徑貼上或拖曳到提示詞中的圖片

469* **已變更的檔案**:Claude Code 在磁碟上的檔案變更後重新讀取的檔案

470* **IDE 脈絡**:已連線 IDE 共用的選取內容與開啟檔案脈絡

468 471 

469* **解析到工作目錄外**:當請求的路徑在您的工作目錄內,而它解析到的檔案不在時,寫入在 [`acceptEdits` 模式](/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)中不會自動批准。在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中,除非允許規則批准寫入,否則您會被提示而不是分類器決定。提示會命名寫入解析到的路徑。472當啟用 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories),或在 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 工作階段中,若這些附件來自該設定或旗標會拒絕 Claude 檔案讀取的路徑,也會被排除。

470* **解析到請求的路徑不命名的受保護路徑**:[受保護的路徑表](/docs/zh-TW/permission-modes#protected-paths)給出每個權限模式的結果,除了表將寫入路由到分類器的地方,此寫入會提示您。

471 473 

472##### 無法解析或變更的路徑474在您 `@` 提及的檔案位置出現下列這行文字,表示 Claude Code 無法判斷該路徑指向何處,例如因為其符號連結形成迴圈:

473 475 

474當 Claude Code 無法判斷路徑在磁碟上的位置時,例如因為路徑上的符號連結形成迴圈,Read、Edit 和 Write 工具[拒絕操作](/docs/zh-TW/errors#refusing-after-a-symlink-changed)。476```text theme={null}

477Referenced <path> (not read: could not be examined)

478```

479 

480Claude 會被告知改用其檔案工具讀取該路徑,若 Claude Code 只是沒有足夠時間檢查該路徑,這樣做便可能成功。

481 

482當路徑的符號連結無法解析時,該讀取也會被[拒絕](/docs/zh-TW/errors#refusing-after-a-symlink-changed),因此請修正磁碟上的連結,或以可解析的路徑 `@` 提及該檔案。

483 

484##### 經由符號連結的寫入

485 

486如果 Claude 要求編輯或寫入的路徑本身是符號連結,Edit 與 Write 工具會[拒絕寫入並引導 Claude 前往連結的目標](/docs/zh-TW/errors#refusing-after-a-symlink-changed)。

475 487 

476當工具隨後開啟已批准的檔案時,它[確認路徑仍然解析到權限檢查批准的位置](/docs/zh-TW/errors#refusing-after-a-symlink-changed)。488當通往檔案途中的某個目錄是符號連結,或由 Bash 或 PowerShell 命令執行寫入時,寫入仍可能經由符號連結進行。對於這些寫入,結果取決於寫入所解析到的檔案相對於您的[工作目錄](#working-directories)與[受保護路徑](/docs/zh-TW/permission-modes#protected-paths)的位置:

489 

490* **解析至工作目錄外部**:當請求的路徑位於您的工作目錄內,而其解析後的檔案不在其中時,該寫入在 [`acceptEdits` 模式](/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)下不會被自動核准。在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)下,除非有允許規則核准該寫入,否則會提示您,而不是由分類器決定。提示會指明寫入所解析到的路徑。

491* **解析至請求路徑未指名的受保護路徑**:[受保護路徑表格](/docs/zh-TW/permission-modes#protected-paths)列出了每種權限模式下的結果,但在表格將寫入交由分類器處理之處,此類寫入會改為提示您。

492 

493##### 無法解析或會變更的路徑

494 

495當 Claude Code 無法判斷某個路徑在磁碟上指向何處時,例如因為其上的符號連結形成迴圈,Read、Edit 與 Write 工具會[拒絕該操作](/docs/zh-TW/errors#refusing-after-a-symlink-changed)。

496 

497當工具接著開啟已核准的檔案時,它會[確認該路徑仍解析至權限檢查所核准的位置](/docs/zh-TW/errors#refusing-after-a-symlink-changed)。

477 498 

478#### 網路路徑499#### 網路路徑

479 500 

480當 Claude 的檔案讀取工具(如 Read、Grep 和 Glob)從網路路徑讀取時,該讀取會有自己的權限檢查。網路路徑是可以連到另一台電腦的路徑:在 Windows 上,是 UNC 路徑,如 `\\server\share\file`;在 macOS 和 Linux 上,是 `/net` 自動掛載路徑,如 `/net/fileserver/notes.txt`。查詢此類路徑可能會聯繫它命名的主機,而在 Windows 上,該聯繫可能會將您的憑證傳送給該主機。Shell 命令有自己的檢查:在 Manual 模式中,引數包括 UNC 路徑的唯讀 Bash 或 PowerShell 命令[在 Windows 上仍然會提示](#read-only-commands)。501當 Claude 的檔案讀取工具(例如 Read、Grep 與 Glob)從網路路徑讀取時,該讀取會經過獨立的權限檢查。網路路徑是可以連到另一部電腦的路徑:在 Windows 上是 UNC 路徑,例如 `\\server\share\file`;在 macOS 與 Linux 上是 `/net` 自動掛載路徑,例如 `/net/fileserver/notes.txt`。查詢這類路徑可能會連絡其所指定的主機,而在 Windows 上,該連絡可能會將您的憑證傳送給該主機。shell 命令有其各自的檢查:在 Manual 模式下,引數包含 UNC 路徑的唯讀 Bash 或 PowerShell 命令[在 Windows 上仍會提示](#read-only-commands)。

481 502 

482在 Claude Code v2.1.292 及更新版本中,以下每一項都會保留提示:503在 Claude Code v2.1.292 及更新版本中,下列每一項都會保留提示:

483 504 

484* **允許規則**:規則不會預先核准讀取,包括整個工具的規則,如 `Read`505* **允許規則**:規則不會預先核准該讀取,包括針對整個工具的規則,例如 `Read`

485* **PreToolUse hook**:傳回 `"allow"` 的 [hook](#extend-permissions-with-hooks) 不會略過提示506* **PreToolUse hook**:回傳 `"allow"` 的 [hook](#extend-permissions-with-hooks) 不會略過提示

486* **自動模式**:提示會交給您,而不是由[分類器](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)決定讀取507* **自動模式**:提示會交給您,而[分類器](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)不會決定該讀取

487 508 

488在 `dontAsk` 模式中,Claude Code 會拒絕讀取而不是提示。在 `bypassPermissions` 模式中,以及在可使用[略過權限](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode)的 plan mode 互動式終端機工作階段中,讀取會在沒有此提示的情況下執行。509在 `dontAsk` 模式下,Claude Code 會拒絕該讀取而非提示。在 `bypassPermissions` 模式下,以及在可使用[略過權限](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode)的 plan mode 互動式終端機工作階段中,該讀取會在沒有此提示的情況下執行。

489 510 

490若要在沒有此提示的情況下讀取網路共用上的檔案,請先為該共用提供本機路徑:511若要在沒有此提示的情況下讀取網路共用上的檔案,請先為該共用提供本機路徑:

491 512 

492* **Windows**:將共用對應到磁碟機代號,並在啟動 Claude Code 時使用 `--add-dir` 傳遞該磁碟機,如[工作目錄](#working-directories)所述513* **Windows**:將共用對應至磁碟機代號,並在啟動 Claude Code 時以 `--add-dir` 傳入該磁碟機,如[工作目錄](#working-directories)所述。在您稍後以 `/add-dir` 新增、或在設定檔的 `additionalDirectories` 中列出的磁碟機下進行的讀取仍會提示。若要停止對應至 `Z:` 之共用的這些提示,請在 PowerShell 中以 `claude --add-dir Z:\` 啟動新的工作階段。

493* **macOS 和 Linux**:將共用掛載到本機路徑,如 `/mnt` 或 `/Volumes` 下的目錄,並從該處讀取檔案,如[工作目錄是網路路徑](/docs/zh-TW/errors#working-directory-is-a-network-path)所述514* **macOS 與 Linux**:將共用掛載至本機路徑,例如 `/mnt` 或 `/Volumes` 下的目錄,並從該處讀取檔案,如[工作目錄是網路路徑](/docs/zh-TW/errors#working-directory-is-a-network-path)所述

494 515 

495### WebFetch516### WebFetch

496 517 

497WebFetch 規則使用 `domain:` 前綴,並針對請求 URL 的主機名進行符合。符合不區分大小寫,支援 `*` 萬用字元,並從規則和主機名中移除尾部 `.`,所以 `example.com.` 和 `example.com` 被視為相同。518WebFetch 規則使用 `domain:` 前綴,並比對所請求 URL 的主機名稱。比對不區分大小寫、支援 `*` 萬用字元,並會從規則與主機名稱兩者中剝除結尾的 `.`,因此 `example.com.` 與 `example.com` 會被視為相同。

498 519 

499* `WebFetch(domain:example.com)` 僅符合對 `example.com` 的請求。若要同時涵蓋 `api.example.com` 等子網域,請新增 `WebFetch(domain:*.example.com)` 規則520* `WebFetch(domain:example.com)` 只比對對 `example.com` 的請求。若也要涵蓋 `api.example.com` 等子網域,請新增 `WebFetch(domain:*.example.com)` 規則

500* `WebFetch(domain:*.example.com)` 符合任何深度的任何子網域,如 `api.example.com` 或 `a.b.example.com`,但不符合 `example.com` 本身521* `WebFetch(domain:*.example.com)` 會比對任何深度的子網域,例如 `api.example.com` 或 `a.b.example.com`,但不包括 `example.com` 本身

501* `WebFetch(domain:*)` 符合每個網域。它與裸 `WebFetch` 規則不同;請參閱[允許或拒絕每次擷取](#allow-or-deny-every-fetch)522* `WebFetch(domain:*)` 會比對每個網域。它與不帶參數的 `WebFetch` 規則不同;請參閱[允許或拒絕每次擷取](#allow-or-deny-every-fetch)

502 523 

503在前導 `*.` 或裸 `*` 以外的任何位置,萬用字元僅符合兩個點之間的文字。`WebFetch(domain:example.*)` 符合 `example.org`,其中 `*` 變成 `org`,但不符合 `example.evil.com`,其中 `*` 必須變成 `evil.com` 並跨越一個點。這可防止尾部萬用字元符合攻擊者可以註冊的網域。524在開頭的 `*.` 或單獨的 `*` 以外的任何位置,萬用字元只會比對兩個點之間的文字。`WebFetch(domain:example.*)` 會比對 `example.org`(其中 `*` 成為 `org`),但不會比對 `example.evil.com`(其中 `*` 必須成為 `evil.com` 並跨越一個點)。這可防止結尾萬用字元比對到攻擊者可能註冊的網域。

504 525 

505`WebFetch` 規則中的萬用字元需要 Claude Code v2.1.172 或更新版本才能符合擷取。526`WebFetch` 規則中的萬用字元需要 Claude Code v2.1.172 或更新版本才能比對擷取。

506 527 

507#### 允許或拒絕每次擷取528#### 允許或拒絕每次擷取

508 529 

509裸 `WebFetch` 規則是沒有 `domain:` 部分的工具名稱,如 `"deny": ["WebFetch"]`。它和 `WebFetch(domain:*)` 都涵蓋每個 URL,但 Claude Code 以不同方式應用它們,只有 `domain:` 形式也會將其網域新增到沙箱的[允許或拒絕網域清單](/docs/zh-TW/sandboxing#network-isolation)。該節列出沙箱支援的萬用字元形式和新增裸 `*` 的版本。530不帶參數的 `WebFetch` 規則是沒有 `domain:` 部分的工具名稱,例如 `"deny": ["WebFetch"]`。它與 `WebFetch(domain:*)` 都涵蓋每個 URL,但 Claude Code 套用它們的方式不同,而且只有 `domain:` 形式會同時將其網域加入沙箱的[允許或拒絕網域清單](/docs/zh-TW/sandboxing#network-isolation)。該章節列出沙箱所接受的萬用字元形式,以及新增單獨 `*` 的版本。

510 531 

511每一列顯示規則在 `allow` 清單中和 `deny` 清單中的作用:532每一列顯示規則在 `allow` 清單與 `deny` 清單中的作用:

512 533 

513| 規則 | 在 `allow` 中 | 在 `deny` 中 |534| 規則 | 在 `allow` 中 | 在 `deny` 中 |

514| :- | :- | :- |535| :- | :- | :- |

515| `WebFetch` | Claude 無需提示您即可擷取。不會變更沙箱命令可以到達的主機。 | Claude Code 移除 `WebFetch` 工具,所以 Claude 根本無法擷取。不會變更沙箱命令可以到達的主機。 |536| `WebFetch` | Claude 擷取時不會提示您。不會改變沙箱化命令可連線的主機。 | Claude Code 會移除 `WebFetch` 工具,因此 Claude 完全無法擷取。不會改變沙箱化命令可連線的主機。 |

516| `WebFetch(domain:*)` | Claude 無需提示您即可擷取,沙箱命令可以到達任何主機。 | Claude Code 保留工具並拒絕每次擷取,沙箱命令無法到達任何主機。 |537| `WebFetch(domain:*)` | Claude 擷取時不會提示您,且沙箱化命令可連線至任何主機。 | Claude Code 保留該工具並拒絕每次擷取,且沙箱化命令無法連線至任何主機。 |

517 538 

518兩種形式在[成品](/docs/zh-TW/artifacts)的讀取上也有所不同,即成品工具在 claude.ai 上發佈的頁面。裸 `WebFetch` deny 或 ask 規則不適用於這些讀取。涵蓋 `claude.ai` 或 `*.claudeusercontent.com` 內容主機的 `domain:` 規則,如 `WebFetch(domain:claude.ai)` 或 `WebFetch(domain:*)`,會拒絕每次讀取或在讀取前提示。[`Artifact` 規則](/docs/zh-TW/artifacts#disable-artifacts)也會執行相同操作。539這兩種形式在讀取 [artifact](/docs/zh-TW/artifacts)(Artifact 工具在 claude.ai 上發佈的頁面)時也有所不同。不帶參數的 `WebFetch` 拒絕或詢問規則不適用於這些讀取。涵蓋 `claude.ai` 或 `*.claudeusercontent.com` 內容主機的 `domain:` 規則,例如 `WebFetch(domain:claude.ai)` 或 `WebFetch(domain:*)`,會拒絕每次讀取或在讀取前提示。[`Artifact` 規則](/docs/zh-TW/artifacts#disable-artifacts)也有相同作用。

519 540 

520當規則阻止讀取時,拒絕會命名規則。在 v2.1.268 之前,裸 `WebFetch` deny 規則會阻止每次成品讀取,裸 ask 規則會在每次讀取前提示。541當規則封鎖讀取時,拒絕訊息會指明該規則。在 v2.1.268 之前,不帶參數的 `WebFetch` 拒絕規則會封鎖每次 artifact 讀取,而不帶參數的詢問規則會在每次讀取前提示。

521 542 

522若要讓 Claude 自由擷取,同時保持沙箱允許清單不變,請使用裸形式。此 `settings.json` 執行此操作:543若要讓 Claude 自由擷取,同時保持沙箱允許清單不變,請使用不帶參數的形式。下列 `settings.json` 即是如此:

523 544 

524```json theme={null}545```json theme={null}

525{546{


529}550}

530```551```

531 552 

532當您要求 Claude 擷取頁面時,它無需提示即可擷取。當您要求它針對沙箱允許清單外的主機執行[沙箱](/docs/zh-TW/sandboxing) `curl` 時,Claude Code 仍然會提示您該主機,因為裸規則未將主機新增到允許清單。553當您要求 Claude 擷取頁面時,它會不經提示即擷取。當您要求它針對沙箱允許清單以外的主機執行[沙箱化](/docs/zh-TW/sandboxing)的 `curl` 時,Claude Code 仍會針對該主機提示您,因為不帶參數的規則並未將該主機加入允許清單。

533 554 

534在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中,Claude 改為在命令的[每個命令允許的網域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)中命名主機供分類器檢查。555在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)下,Claude 則會在命令的[個別命令允許網域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)中指明該主機,交由分類器審查。

535 556 

536### MCP557### MCP

537 558 

538若要符合來自某個 MCP 伺服器的每個工具,請編寫 `mcp__<server>__*`。若要符合單一工具,請編寫其完整名稱 `mcp__<server>__<tool>`。559若要比對來自某個 MCP 伺服器的每個工具,請撰寫 `mcp__<server>__*`。若要比對單一工具,請撰寫其完整名稱 `mcp__<server>__<tool>`。

560 

561* `mcp__puppeteer` 會比對 `puppeteer` 伺服器提供的任何工具

562* `mcp__puppeteer__*` 使用萬用字元語法,同樣會比對 `puppeteer` 伺服器的所有工具

563* `mcp__puppeteer__puppeteer_navigate` 會比對 `puppeteer` 伺服器提供的 `puppeteer_navigate` 工具

539 564 

540* `mcp__puppeteer` 符合由 `puppeteer` 伺服器提供的任何工具565對於 `<server>`,請依該伺服器工具名稱中出現的方式撰寫伺服器名稱。下列範例展示針對包含特殊字元的名稱、來自外掛的伺服器,以及包含 `__` 或以 `_` 結尾的名稱所應撰寫的規則:

541* `mcp__puppeteer__*` 使用萬用字元語法,也符合來自 `puppeteer` 伺服器的所有工具

542* `mcp__puppeteer__puppeteer_navigate` 符合由 `puppeteer` 伺服器提供的 `puppeteer_navigate` 工具

543 566 

544對於 `<server>`,請依照伺服器名稱在該伺服器工具名稱中出現的方式編寫。以下範例顯示名稱含有特殊字元、來自外掛的伺服器,以及名稱包含 `__` 或以 `_` 結尾時應編寫的規則:567* **包含 `.` 或空格等字元的名稱**:這些字元會變成 `_`,因此對於您設定為 `my.server` 的伺服器,請撰寫 `mcp__my_server__*`

568* **由外掛提供的伺服器**:`<server>` 採用[外掛範圍形式](/docs/zh-TW/mcp#plugin-provided-mcp-servers),因此對於名為 `my-plugin` 之外掛中的 `database-tools` 伺服器,請撰寫 `mcp__plugin_my-plugin_database-tools__*`

569* **包含 `__` 或以 `_` 結尾的 `<server>`**:請以完整名稱撰寫萬用字元形式 `mcp__<server>__*`。對於名為 `reports__v2` 的伺服器,請撰寫 `mcp__reports__v2__*`。不帶參數的 `mcp__reports__v2` 與較短的 `mcp__reports` 作為允許規則時不會比對其工具,因為 Claude Code 會將兩者都解讀為名為 `reports` 之伺服器的規則。

545 570 

546* **含有 `.` 或空格等字元的名稱**:這些字元會變成 `_`,所以對於您設定為 `my.server` 的伺服器,請編寫 `mcp__my_server__*`571 不過,作為拒絕或詢問規則時,這兩個名稱也都會涵蓋 `reports__v2` 伺服器的每個工具。若只要涵蓋名為 `reports` 的伺服器,請以 `mcp__reports__<tool>` 形式為每個工具各撰寫一條規則,或重新命名其中一個伺服器。

547* **由外掛提供的伺服器**:`<server>` 採用[外掛範圍形式](/docs/zh-TW/mcp#plugin-provided-mcp-servers),所以對於名為 `my-plugin` 的外掛中的 `database-tools` 伺服器,請編寫 `mcp__plugin_my-plugin_database-tools__*`

548* **包含 `__` 或以 `_` 結尾的 `<server>`**:使用完整名稱編寫萬用字元形式 `mcp__<server>__*`。對於名為 `reports__v2` 的伺服器,請編寫 `mcp__reports__v2__*`。裸 `mcp__reports__v2` 和較短的 `mcp__reports` 作為允許規則時不會符合其工具,因為 Claude Code 會將兩者都讀取為名為 `reports` 的伺服器的規則

549 572 

550如果您的組織已將 [claude.ai 連接器](/docs/zh-TW/mcp#organization-controls-on-connector-tools)工具設定為 `ask`,且該設定在您的工作階段中到達 Claude Code,該工具的允許規則不會生效:Claude Code 會在每次呼叫時提示,即使在 `auto` 和 `bypassPermissions` 模式中也是如此。在 `dontAsk` 模式中(永不提示),Claude Code 會改為拒絕呼叫。Claude Code 自行擷取的連接器工具顯示為 `mcp__claude_ai_<server>__<tool>`。573如果您的組織已將某個 [claude.ai 連接器](/docs/zh-TW/mcp#organization-controls-on-connector-tools)工具設為 `ask`,且該設定在您的工作階段中傳達到 Claude Code,則針對該工具的允許規則不會生效:Claude Code 會在每次呼叫時提示,即使在 `auto` 與 `bypassPermissions` 模式下也是如此。在永不提示的 `dontAsk` 模式下,Claude Code 會改為拒絕該呼叫。Claude Code 自行擷取之連接器的工具會以 `mcp__claude_ai_<server>__<tool>` 形式出現。

551 574 

552在 Claude Desktop 應用程式中的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段中,Claude 透過 Cowork 的 `mcp__workspace__bash` 工具而不是內建 `Bash` 工具執行 shell 命令,Cowork 同樣為網路擷取提供 `mcp__workspace__web_fetch`。Claude Code 也將命名整個 `Bash` 或 `WebFetch` 工具的 deny 規則應用於這些 Cowork 工具,所以受管理的 `Bash` deny 規則會阻止 Claude 在 Cowork 中執行 shell 命令。當 Claude Code 阻止此類呼叫時,訊息會命名 Cowork 工具:`Permission to use mcp__workspace__bash has been denied.` 允許規則不會進行:Claude Code 永遠不會將 `Bash` 允許規則應用於 `mcp__workspace__bash`。575在 Claude Desktop 應用程式的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段中,Claude 會透過 Cowork 的 `mcp__workspace__bash` 工具而非內建的 `Bash` 工具執行 shell 命令,而 Cowork 同樣提供 `mcp__workspace__web_fetch` 用於網頁擷取。Claude Code 也會將指名整個 `Bash` 或 `WebFetch` 工具的拒絕規則套用至這些 Cowork 工具,因此受管的 `Bash` 拒絕規則會阻止 Claude 在 Cowork 中執行 shell 命令。當 Claude Code 封鎖這類呼叫時,訊息會指明該 Cowork 工具:`Permission to use mcp__workspace__bash has been denied.` 允許規則不會延續:Claude Code 永遠不會將 `Bash` 允許規則套用至 `mcp__workspace__bash`。

553 576 

554### Agent(subagents)577### Agent (subagents)

555 578 

556使用 `Agent(AgentName)` 規則來控制 Claude 可以使用哪些 [subagents](/docs/zh-TW/sub-agents):579使用 `Agent(AgentName)` 規則來控制 Claude 可以使用哪些 [subagent](/docs/zh-TW/sub-agents):

557 580 

558* `Agent(Explore)` 符合 Explore subagent581* `Agent(Explore)` 會比對 Explore subagent

559* `Agent(Plan)` 符合 Plan subagent582* `Agent(Plan)` 會比對 Plan subagent

560* `Agent(my-custom-agent)` 符合名為 `my-custom-agent` 的自訂 subagent583* `Agent(my-custom-agent)` 會比對名為 `my-custom-agent` 的自訂 subagent

561 584 

562將這些規則新增到您設定中的 `deny` 陣列,或使用 `--disallowedTools` CLI 旗標來停用特定代理。若要停用 Explore 代理:585將這些規則新增至設定中的 `deny` 陣列,或使用 `--disallowedTools` CLI 旗標來停用特定 agent。若要停用 Explore agent:

563 586 

564```json theme={null}587```json theme={null}

565{588{


571 594 

572### Cd595### Cd

573 596 

574`Cd` 規則控制 [`/cd` 命令](/docs/zh-TW/commands)可以將工作階段移動到哪些目錄。`Cd` 不是模型可呼叫的工具:Claude 無法呼叫它,規則僅在您自己執行 `/cd` 時適用。597`Cd` 規則控制 [`/cd` 命令](/docs/zh-TW/commands)可以將工作階段移動到哪些目錄。`Cd` 不是模型可呼叫的工具:Claude 無法呼叫它,這些規則只在您自行執行 `/cd` 時套用。

575 598 

576裸 `Cd` deny 規則會完全停用 `/cd`。`Cd(<path-pattern>)` deny 規則會阻止符合的目標。Deny 規則檢查目標的每個拼寫,包括它解析通過的每個符號連結跳躍,所以為一個路徑編寫的規則也會阻止解析到它的目標。599不帶參數的 `Cd` 拒絕規則會完全停用 `/cd`。`Cd(<path-pattern>)` 拒絕規則會封鎖符合的目標。拒絕規則會檢查目標的每種寫法,包括其解析過程中經過的每個符號連結節點,因此為某個路徑撰寫的規則也會封鎖解析至該路徑的目標。

577 600 

578新增任何 `Cd` 允許規則會將 `/cd` 切換到允許清單模式:已解析的目標目錄必須符合您的其中一個允許規則,否則 `/cd` 會拒絕。未設定 `Cd` 規則時,`/cd` 會保持其預設行為並提示您信任不熟悉的目錄。601新增任何 `Cd` 允許規則都會將 `/cd` 切換為允許清單模式:解析後的目標目錄必須符合您的其中一條允許規則,否則 `/cd` 會拒絕。若未設定任何 `Cd` 規則,`/cd` 會維持其預設行為,並提示您信任不熟悉的目錄。

579 602 

580路徑模式共享來自 [Read 和 Edit 規則](#read-and-edit) 的 `//`、`~/` 和 `/` 錨點,但符合是錨定到整個目錄路徑而不是 gitignore 風格。`*` 符合恰好一個路徑段,`**` 符合跨段。尾部 `/**` 也符合其命名根。603路徑模式與 [Read 和 Edit 規則](#read-and-edit)共用 `//`、`~/` 與 `/` 錨點,但比對是錨定於整個目錄路徑,而非 gitignore 風格。`*` 恰好比對一個路徑區段,而 `**` 會跨區段比對。結尾的 `/**` 也會比對其所指名的根目錄。

581 604 

582| 規則 | 符合 | 不符合 |605| 規則 | 比對 | 不比對 |

583| - | - | - |606| - | - | - |

584| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`、`~/code` |607| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`、`~/code` |

585| `Cd(~/code/**)` | `~/code` 和其下的任何目錄 | `~/code` 外的目錄 |608| `Cd(~/code/**)` | `~/code` 及其下的任何目錄 | `~/code` 以外的目錄 |

586| `Cd(**/node_modules)` | 任何深度的任何 `node_modules` 目錄 | `node_modules/pkg` |609| `Cd(**/node_modules)` | 目前目錄下任何深度的任何 `node_modules` 目錄 | `node_modules/pkg` |

587 610 

588## 使用 hooks 擴展權限611## 使用 hooks 擴展權限

589 612 


593 616 

594PreToolUse hook 決定不會繞過權限規則。Claude Code 會評估 deny 和 ask 規則,無論 PreToolUse hook 返回什麼:符合的 deny 規則會阻止呼叫,符合的 ask 規則即使在 hook 返回 `"allow"` 或 `"ask"` 時仍會提示。這保留了 [Manage permissions](#manage-permissions) 中描述的 deny 優先順序,包括在受管理設定中設定的 deny 規則。617PreToolUse hook 決定不會繞過權限規則。Claude Code 會評估 deny 和 ask 規則,無論 PreToolUse hook 返回什麼:符合的 deny 規則會阻止呼叫,符合的 ask 規則即使在 hook 返回 `"allow"` 或 `"ask"` 時仍會提示。這保留了 [Manage permissions](#manage-permissions) 中描述的 deny 優先順序,包括在受管理設定中設定的 deny 規則。

595 618 

596該優先順序涵蓋設定檔中的 hook 和外掛 `hooks/hooks.json` 中的 hook。您安裝的處理 [`tool.check`](/docs/zh-TW/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) 事件的 [mod](/docs/zh-TW/plugins/mods/overview) 會在權限規則和 `PreToolUse` hook 做出決定之後才給出答案。當機器上有[受管理設定](/docs/zh-TW/settings#check-what-your-organization-enforces),或工作階段的憑證為 Team 或 Enterprise 的 [`/login`](/docs/zh-TW/authentication#authentication-precedence) 時,在 mod 核准呼叫的情況下,以下結果預設維持不變:619該優先順序涵蓋設定檔中的 hook 和外掛 `hooks/hooks.json` 中的 hook。您安裝的處理 [`tool.check`](/docs/zh-TW/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) 事件的 [mod](/docs/zh-TW/plugins/mods/overview) 會在 `PreToolUse` hook 執行之後才給出答案。當機器上有[受管理設定](/docs/zh-TW/settings#check-what-your-organization-enforces),或工作階段的憑證為 Team 或 Enterprise 的 [`/login`](/docs/zh-TW/authentication#authentication-precedence) 時,在 mod 核准呼叫的情況下,以下結果預設維持不變:

597 620 

598* deny 規則拒絕的呼叫仍會被拒絕,您的組織可以改變這一點。621* deny 規則拒絕的呼叫仍會被拒絕,您的組織可以改變這一點。

599* ask 規則會提示的呼叫仍會提示您。622* ask 規則會提示的呼叫仍會提示您。

Details

211| `$.ui.status(text)` | 提示下方的一行,保持到您變更它為止。它以 `⚠` 和 mod 的名稱開頭,如 `⚠ my-mod: checks: 3 passing`。 |211| `$.ui.status(text)` | 提示下方的一行,保持到您變更它為止。它以 `⚠` 和 mod 的名稱開頭,如 `⚠ my-mod: checks: 3 passing`。 |

212| `$.ui.toast(text)` | 帶有 mod 名稱的快顯通知,幾秒後消失。在[全螢幕渲染](/docs/zh-TW/fullscreen)中,它是右上角的一個方框;在傳統渲染器中,它是提示下方右側的一行。 |212| `$.ui.toast(text)` | 帶有 mod 名稱的快顯通知,幾秒後消失。在[全螢幕渲染](/docs/zh-TW/fullscreen)中,它是右上角的一個方框;在傳統渲染器中,它是提示下方右側的一行。 |

213| `$.ui.log(text)` | 文字記錄中的一條暗線,Claude 不讀取。它以 `●` 和 mod 的名稱開頭,如 `● my-mod: build finished`。 |213| `$.ui.log(text)` | 文字記錄中的一條暗線,Claude 不讀取。它以 `●` 和 mod 的名稱開頭,如 `● my-mod: build finished`。 |

214| `$.ui.notify(text)` | 來自使用者終端機的通知,位於 Claude Code 之外,依照其 [`preferredNotifChannel`](/docs/zh-TW/settings-reference#preferrednotifchannel) 設定所指定的方式傳送。除非您傳入非空的 `{ title }`,否則 mod 的名稱即為其標題;若有傳入,則會依您提供的內容顯示。 |

215 

216`$.ui.notify` 是其中唯一會回應的呼叫。當使用者的通道將通知寫入其終端機時,它會解析為 `{ isSent: true, channel }`。`channel` 是傳送該通知的設定值,例如 `kitty` 或 `terminal_bell`。`terminal_bell` 通道會響鈴,既不顯示您的文字,也不顯示標題。

217 

218否則,呼叫會解析為 `{ isSent: false, reason }`:

219 

220| `reason` | 意義 |

221| :- | :- |

222| `disabled` | 使用者將 `preferredNotifChannel` 設為 `notifications_disabled` |

223| `no-channel` | 設定為 `auto`,且使用者的終端機沒有 Claude Code 可傳送的通知 |

224| `no-surface` | 工作階段沒有終端機,例如 `-p` 執行、Agent SDK、桌面應用程式、VS Code 擴充功能或雲端工作階段。在工作階段開始前(您的 mod 正在載入時)進行的呼叫,以及在 Claude Code 結束時進行的呼叫,也會得到此回應 |

225| `refused` | 另一個 mod 在 `ui.notify` 上的 hook 代替 Claude Code 回應,且未傳送 |

226 

227當 `text` 不是字串、另一個 mod 在 `ui.notify` 上的 hook 傳回 `{ deny }`,或寫入終端機失敗時,呼叫會拒絕而非解析。

228 

229您的 mod 無法選擇通道,且 Claude Code 不會限制 mod 傳送通知的頻率。使用者的設定是唯一的開關。

230 

231當呼叫抵達執行中的工作階段時,使用者的 [`Notification` hook](/docs/zh-TW/hooks#notification) 會以類型 `plugin_notification` 執行。即使回應為 `disabled`,以及在沒有終端機、回應為 `no-surface` 的工作階段中,它們也會執行。在工作階段開始前或 Claude Code 結束時進行的呼叫,則不會執行任何 hook。您的 mod 從中呼叫 `$.ui.notify` 的 hook 會被排除在該次執行之外,因此會傳送通知的 `classic.Notification` hook 不會因其自身的通知而再次被呼叫。

232 

233終端機不會回報是否已顯示通知,因此 `isSent: true` 代表通知已傳送,而非使用者已看到。

234 

235此範例會在主要對話的回合未經中斷而結束時傳送通知,並在沒有帶文字的通知送出時改用快顯通知。它不會等待通知完成才將事件傳遞下去,因為使用者的 `Notification` hook 會先執行,且可能需要一段時間:

236 

237```javascript theme={null}

238on('turn.complete', ($, e, next) => {

239 const isMainTurn = e.agentId === undefined && !e.isAborted

240 const fallBack = () => $.ui.toast('Turn finished')

241 if (isMainTurn) {

242 $.ui.notify('Turn finished').then(sent => {

243 const hasText = sent.isSent && sent.channel !== 'terminal_bell'

244 if (!hasText) fallBack()

245 }, fallBack)

246 }

247 return next(e)

248})

249```

214 250 

215在 [VS Code 擴充功能](/docs/zh-TW/plugins/mods/interface#draw-in-the-vs-code-extension)中,狀態列和快顯通知改為顯示在提示詞輸入框上方,而日誌行則顯示在對話中。251在 [VS Code 擴充功能](/docs/zh-TW/plugins/mods/interface#draw-in-the-vs-code-extension)中,狀態列和快顯通知改為顯示在提示詞輸入框上方,而日誌行則顯示在對話中。

216 252 

Details

181 181 

182#### 在詢問使用者之前核准或拒絕工具呼叫182#### 在詢問使用者之前核准或拒絕工具呼叫

183 183 

184若要決定工具呼叫是否可以執行,請處理 [`tool.check`](/docs/zh-TW/plugins/mods/reference#tools),這是 Claude Code 做出該決定的事件。它會在權限規則和設定 hook 做出決定之後觸發,而 `next(e)` 會解析為它們的決定:`allow`、`ask` 或 `deny`。您的 hook 會傳回該決定或不同的決定。`e.input` 保存工具的引數,例如 Bash 的 `command`。184若要決定工具呼叫是否可以執行,請處理 [`tool.check`](/docs/zh-TW/plugins/mods/reference#tools),這是 Claude Code 做出該決定的事件。

185 185 

186對於固定的命令或路徑,請使用[權限規則](/docs/zh-TW/permissions#permission-rule-syntax),例如 `Bash(npm test)`,不需要撰寫程式碼。當決定取決於當下的狀況時,例如目前的 Git 分支或另一個 hook 記錄的值,請處理 `tool.check`。186對於固定的命令或路徑,請使用[權限規則](/docs/zh-TW/permissions#permission-rule-syntax),例如 `Bash(npm test)`,不需要撰寫程式碼。當決定取決於當下的狀況時,例如目前的 Git 分支或另一個 hook 記錄的值,請處理 `tool.check`。

187 187 

188* **要傳回的內容**:若要自行決定該呼叫,請傳回您自己的物件,例如 `{ decision: 'allow' }` 或 `{ decision: 'deny', reason }`。若要保留原有的決定,請傳回 `await next(e)` 給您的內容。

189* **`await next(e)` 給您的內容**:Claude Code 本身的決定,為一個 `decision` 為 `allow`、`ask` 或 `deny` 的物件。`next(e)` 執行期間不會出現權限提示。

190* **引數**:`e.input` 保存工具的引數,例如 Bash 的 `command`

191* **`tool.check` 觸發時機**:在 [`PreToolUse` hook](/docs/zh-TW/hooks#pretooluse) 執行之後,且在權限提示、[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)的分類器或 [`PermissionRequest`](/docs/zh-TW/hooks#permissionrequest) hook 之前

192 

188此 hook 會在目前分支為 `main` 時拒絕 `git push`:193此 hook 會在目前分支為 `main` 時拒絕 `git push`:

189 194 

190```javascript theme={null}195```javascript theme={null}

191on('tool.check', { tool: 'Bash' }, async ($, e, next) => {196on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

192 // What the permission rules and settings hooks decided: 'allow', 'ask', or 'deny'197 // Claude Code's own decision

193 const decided = await next(e)198 const decided = await next(e)

194 if (!e.input.command.includes('git push')) return decided199 if (!e.input.command.includes('git push')) return decided

195 const branch = await $.process.run(['git', 'branch', '--show-current'])200 const branch = await $.process.run(['git', 'branch', '--show-current'])


209>214>

210> `tool.check` hook 也可以傳回 `allow` 或 `ask`。在 [plan mode](/docs/zh-TW/permissions#hook-approvals-in-plan-mode) 中,對於非唯讀的呼叫(例如檔案編輯),您的 hook 可以收緊 `next(e)` 傳回的決定,但無法放寬它。如需您的 hook 的 `allow` 無法取代的權限規則和 `PreToolUse` hook 決定,請參閱[使用 hook 擴充權限](/docs/zh-TW/permissions#precedence-among-rules-hooks-and-mods)。215> `tool.check` hook 也可以傳回 `allow` 或 `ask`。在 [plan mode](/docs/zh-TW/permissions#hook-approvals-in-plan-mode) 中,對於非唯讀的呼叫(例如檔案編輯),您的 hook 可以收緊 `next(e)` 傳回的決定,但無法放寬它。如需您的 hook 的 `allow` 無法取代的權限規則和 `PreToolUse` hook 決定,請參閱[使用 hook 擴充權限](/docs/zh-TW/permissions#precedence-among-rules-hooks-and-mods)。

211 216 

217#### 檢查工具呼叫是否為唯讀

218 

219在 [`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) hook 中,當工具回報該呼叫為唯讀時,`e.isReadOnly` 為 `true`。否則該欄位不存在,而非 `false`。`e.isReadOnly` 需要 Claude Code v2.1.304 或更新版本。

220 

221某些工具(例如 Read、Grep、Glob 和 WebSearch)會將每個呼叫都回報為唯讀。Bash 和 MCP 工具會在以下情況將呼叫回報為唯讀:

222 

223* **Bash**:命令通過 Claude Code 內建的[唯讀命令檢查](/docs/zh-TW/permissions#read-only-commands)

224* **MCP 工具**:伺服器將該工具的 `readOnlyHint` 註解設為 `true`

225 

226此值是工具本身的回報,因此請勿僅憑此欄位就核准呼叫。例如,WebFetch 和 Agent 呼叫會回報為唯讀,但 [WebFetch](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 會請求 URL,而 [Agent](/docs/zh-TW/tools-reference#agent-tool-behavior) 會啟動一個執行自己工具的 subagent。

227 

228此 hook 會針對每個非唯讀且尚未被拒絕的 `mcp__github__` 呼叫傳回 `ask`:

229 

230```javascript theme={null}

231on('tool.check', { tool: /^mcp__github__/ }, async ($, e, next) => {

232 const decided = await next(e)

233 // Read-only calls and denied calls pass through unchanged

234 if (e.isReadOnly || decided.decision === 'deny') return decided

235 return { decision: 'ask', reason: 'This tool can change the GitHub repository' }

236})

237```

238 

239#### 依呼叫是否為唯讀篩選 `tool.check` hook

240 

241若要依 [`e.isReadOnly`](#check-whether-a-tool-call-is-read-only) 限制您的 hook 所處理的呼叫,請針對唯讀呼叫使用 [matcher](#filter-which-events-a-hook-handles),其餘則在 hook 主體中處理:

242 

243* **僅限唯讀呼叫**:在 matcher 中加入 `isReadOnly: true`,例如 `on('tool.check', { tool: 'Bash', isReadOnly: true }, hook)`

244* **非唯讀的呼叫**:在 hook 主體中測試 `e.isReadOnly`,如 [`mcp__github__` 範例](#check-whether-a-tool-call-is-read-only)所示。如果您在 matcher 中放入 `isReadOnly: false`,您的 hook 將永遠不會執行。

245 

212### 改寫或補充提示詞246### 改寫或補充提示詞

213 247 

214`prompt.submit` hook 會在回合開始之前看到每個提示詞,因此可以改寫文字或加入內容。`e.text` 是輸入的內容。248`prompt.submit` hook 會在回合開始之前看到每個提示詞,因此可以改寫文字或加入內容。`e.text` 是輸入的內容。


312* **來自受管設定的 `PreToolUse` hook**:在第一個 mod 的 `tool.call` hook 之前執行。當受管 hook 封鎖呼叫時,該呼叫不會執行任何 mod 的 `tool.call` hook。346* **來自受管設定的 `PreToolUse` hook**:在第一個 mod 的 `tool.call` hook 之前執行。當受管 hook 封鎖呼叫時,該呼叫不會執行任何 mod 的 `tool.call` hook。

313* **來自每個其他設定檔和外掛程式 `hooks/hooks.json` 的 `PreToolUse` hook**:在最後一個 mod 呼叫 `next` 後執行,作為 Claude Code 自己行為的一部分。回答 `tool.call` 而不呼叫 `next` 的 mod 會阻止它們執行,呼叫 `next` 的 mod 會在它傳回的結果中看到它們的決定。347* **來自每個其他設定檔和外掛程式 `hooks/hooks.json` 的 `PreToolUse` hook**:在最後一個 mod 呼叫 `next` 後執行,作為 Claude Code 自己行為的一部分。回答 `tool.call` 而不呼叫 `next` 的 mod 會阻止它們執行,呼叫 `next` 的 mod 會在它傳回的結果中看到它們的決定。

314 348 

315[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) 會在權限規則和兩組 `PreToolUse` hook 都做出決定後才觸發。若要了解 `tool.check` hook 的 `allow` 無法取代其中哪些決定,請參閱[使用 hook 擴充權限](/docs/zh-TW/permissions#precedence-among-rules-hooks-and-mods)。349[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) 會在 `PreToolUse` hook 執行完畢後才觸發。若要了解 `tool.check` hook 的 `allow` 無法取代哪些權限規則與 `PreToolUse` hook 決定,請參閱[使用 hook 擴充權限](/docs/zh-TW/permissions#precedence-among-rules-hooks-and-mods)。

316 350 

317### 處理失敗的 hook351### 處理失敗的 hook

318 352 

Details

306| `closeOnEscape` | 使 Esc 關閉窗格 |306| `closeOnEscape` | 使 Esc 關閉窗格 |

307| `holdToasts` | 在終端機中,當此窗格是正在顯示的窗格時保留快顯通知。請參閱[在對話框後方保留快顯通知](#hold-toasts-behind-a-dialog)。 |307| `holdToasts` | 在終端機中,當此窗格是正在顯示的窗格時保留快顯通知。請參閱[在對話框後方保留快顯通知](#hold-toasts-behind-a-dialog)。 |

308| `rows` | 當窗格位於提示詞上方時請求的高度。預設值是空間的三分之一。 |308| `rows` | 當窗格位於提示詞上方時請求的高度。預設值是空間的三分之一。 |

309| `columns` | 當窗格位於逐字稿旁邊時請求的寬度 |309| `columns` | 當窗格位於逐字稿旁邊時請求的寬度,最多為終端機寬度的 45%。一旦使用者在此工作階段或先前的工作階段中調整過逐字稿旁邊窗格的大小,之後在該處開啟的窗格就會改用使用者設定的寬度。該寬度同樣適用 45% 的上限。 |

310 310 

311[VS Code 擴充功能](#draw-in-the-vs-code-extension)會忽略 `rows` 和 `columns`,並自行決定窗格的大小。311[VS Code 擴充功能](#draw-in-the-vs-code-extension)會忽略 `rows` 和 `columns`,並自行決定窗格的大小。

312 312 


537| Enter | 按下焦點 `Button`、提交焦點 `Input` 或在 `Select` 中選擇 |537| Enter | 按下焦點 `Button`、提交焦點 `Input` 或在 `Select` 中選擇 |

538| 按鈕的快捷鍵 | 按下該按鈕。當 `Input` 具有焦點時,每個可列印鍵都進入欄位。 |538| 按鈕的快捷鍵 | 按下該按鈕。當 `Input` 具有焦點時,每個可列印鍵都進入欄位。 |

539| Page Up、Page Down、Home 和 End | 當您的窗格或帶狀區域的列數超過它可以顯示的列數時,滾動它 |539| Page Up、Page Down、Home 和 End | 當您的窗格或帶狀區域的列數超過它可以顯示的列數時,滾動它 |

540| Ctrl+X 然後方向鍵 | 調整您的窗格大小。向左或向上會給它更多空間,向右或向下則會歸還空間。 |540| Ctrl+X 然後方向鍵 | 調整您的窗格大小。向左或向上會給它更多空間,向右或向下則會歸還空間。位於逐字稿旁的窗格在達到終端機寬度的 45% 時會停止加寬。 |

541| Ctrl+X 然後 X | 關閉您的窗格,即使它的某個欄位具有焦點 |541| Ctrl+X 然後 X | 關閉您的窗格,即使它的某個欄位具有焦點 |

542| Esc | 將鍵盤焦點返回到提示詞輸入區。使用 `closeOnEscape: true` 時,它也會關閉窗格。 |542| Esc | 將鍵盤焦點返回到提示詞輸入區。使用 `closeOnEscape: true` 時,它也會關閉窗格。 |

543 543 

Details

56| 事件 | 觸發時機 | hook 可回傳 |56| 事件 | 觸發時機 | hook 可回傳 |

57| :- | :- | :- |57| :- | :- | :- |

58| [`tool.call`](/docs/zh-TW/plugins/mods/events#guard-or-change-a-tool-call) | 工具即將執行時 | `next(e)`、`{ deny: reason }` 或 `{ result }` |58| [`tool.call`](/docs/zh-TW/plugins/mods/events#guard-or-change-a-tool-call) | 工具即將執行時 | `next(e)`、`{ deny: reason }` 或 `{ result }` |

59| [`tool.check`](/docs/zh-TW/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code 在 `tool.call` 與 `PreToolUse` hook 之後,決定工具呼叫是否可以執行時。`next(e)` 會解析為規則、權限模式與這些 hook 所得出的決定。 | `{ decision }`,值為 `allow`、`ask` 或 `deny` |59| [`tool.check`](/docs/zh-TW/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code 在 `tool.call` 與 `PreToolUse` hook 之後,決定工具呼叫是否可以執行時。`next(e)` 會解析為規則、權限模式與這些 hook 所得出的決定。 | `next(e)` 或 `{ decision }`,其中 `decision` 設為 `allow`、`ask` 或 `deny`,並可選擇附上 `reason` |

60| `tool.describe` | 每個工具一次,在其說明首次傳送給 Claude 時。當 Claude 透過[工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)載入 MCP 工具時會再觸發一次,此時 `e.description` 設為 Claude 針對已載入工具所讀取的文字。 | `{ description }`,可選擇將 `isDeferred` 設為 `true` 以將該工具置於工具搜尋之後,或設為 `false` 以預先載入 |60| `tool.describe` | 每個工具一次,在其說明首次傳送給 Claude 時。當 Claude 透過[工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)載入 MCP 工具時會再觸發一次,此時 `e.description` 設為 Claude 針對已載入工具所讀取的文字。 | `{ description }`,可選擇將 `isDeferred` 設為 `true` 以將該工具置於工具搜尋之後,或設為 `false` 以預先載入 |

61 61 

62#### `tool.check` 上的 agent 與組織欄位62#### `tool.check` 上的 agent 與組織欄位


68 68 

69在 `tool.check` 上,`e.agentId` 與 `e.ceiling` 需要 Claude Code v2.1.290 或更新版本。69在 `tool.check` 上,`e.agentId` 與 `e.ceiling` 需要 Claude Code v2.1.290 或更新版本。

70 70 

71#### `tool.check` 上的 `e.isReadOnly` 欄位

72 

73在 `tool.check` hook 中,當工具回報此呼叫為唯讀時,`e.isReadOnly` 為 `true`。否則該欄位不存在,而非 `false`。此值是工具自身的回報,因此在僅依據此欄位核准呼叫之前,請先閱讀[檢查工具呼叫是否為唯讀](/docs/zh-TW/plugins/mods/events#check-whether-a-tool-call-is-read-only)。

74 

75在 `tool.check` 上,`e.isReadOnly` 需要 Claude Code v2.1.304 或更新版本。

76 

71### 提示詞與 Claude 讀取的內容77### 提示詞與 Claude 讀取的內容

72 78 

73提示詞事件涵蓋使用者輸入的文字,以及 Claude Code 自行傳送給 Claude 的文字,例如系統提示詞與提醒:79提示詞事件涵蓋使用者輸入的文字,以及 Claude Code 自行傳送給 Claude 的文字,例如系統提示詞與提醒:


196| 命名空間 | 方法 |202| 命名空間 | 方法 |

197| :- | :- |203| :- | :- |

198| `$.plugin` | `name`、`root`:此外掛的名稱與目錄 |204| `$.plugin` | `name`、`root`:此外掛的名稱與目錄 |

199| [`$.ui`](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) | `resolve`、`invalidate`、`open`、`close`、`panes`、`focus`、`scroll`、`toast`、`status`、`log`、`notice`、`ask`、`copy`、`selection`、`blit` |205| [`$.ui`](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) | `resolve`、`invalidate`、`open`、`close`、`panes`、`focus`、`scroll`、`toast`、`notify`、`status`、`log`、`notice`、`ask`、`copy`、`selection`、`blit` |

200| [`$.command`](/docs/zh-TW/plugins/mods/api#add-a-command) | `register`、`run`、`list` |206| [`$.command`](/docs/zh-TW/plugins/mods/api#add-a-command) | `register`、`run`、`list` |

201| [`$.tool`](/docs/zh-TW/plugins/mods/api#add-a-tool) | `register`、`call`、`check`、`list` |207| [`$.tool`](/docs/zh-TW/plugins/mods/api#add-a-tool) | `register`、`call`、`check`、`list` |

202| `$.agent` | `register`、`spawn`、`list`。`list()` 會回傳此工作階段的 subagent 與隊友,每個都帶有 `status`,其值為 `pending`、`running`、`waiting`、`idle`、`completed`、`failed` 或 `killed`,其中 `idle` 與 `waiting` 需要 Claude Code v2.1.289 或更新版本。 |208| `$.agent` | `register`、`spawn`、`list`。`list()` 會回傳此工作階段的 subagent 與隊友,每個都帶有 `status`,其值為 `pending`、`running`、`waiting`、`idle`、`completed`、`failed` 或 `killed`,其中 `idle` 與 `waiting` 需要 Claude Code v2.1.289 或更新版本。 |


266| `Svg` | SVG 文件,最多 131,072 個字元 | | ✓ | ✓ |272| `Svg` | SVG 文件,最多 131,072 個字元 | | ✓ | ✓ |

267| [`Client`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key` | ✓ | ✓ | |273| [`Client`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key` | ✓ | ✓ | |

268| [`Raster`](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`、最多 512 的 `columns`、最多 256 的 `rows`、`cells`。請參閱[繪製彩色儲存格網格](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells)。 | ✓ | | |274| [`Raster`](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`、最多 512 的 `columns`、最多 256 的 `rows`、`cells`。請參閱[繪製彩色儲存格網格](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells)。 | ✓ | | |

269| `Image` | 最多 2 MiB 的 PNG 或 RGBA 位元組,或檔案路徑、最多 255 的 `columns` 和 `rows`,以及 `alt` 文字。 | ✓ | | |275| `Image` | 最多 2 MiB 的 PNG 或 RGBA 位元組,或檔案路徑、最多 255 的 `columns` 和 `rows`,以及 `alt` 文字。請參閱[哪些終端機會繪製它](/docs/zh-TW/plugins/mods/gallery#image-and-client)。 | ✓ | | |

270 276 

271更多 `Button` 規則:`action` 指定 Claude Code 本身的某個[快捷鍵動作](/docs/zh-TW/keybindings),當使用者對該動作的綁定為組合鍵或修飾鍵時,該綁定會按下此按鈕。橫帶中按鈕上的數字 `hotkey`,在使用者於空白提示詞中單獨輸入該數字並停頓時也會觸發。當同一次繪製中有兩個按鈕指定相同的 `hotkey` 時,由後者取得。`autoFocus` 在任何控制項上都只接受 `true`,因此若要關閉,請省略此 prop。277更多 `Button` 規則:`action` 指定 Claude Code 本身的某個[快捷鍵動作](/docs/zh-TW/keybindings),當使用者對該動作的綁定為組合鍵或修飾鍵時,該綁定會按下此按鈕。橫帶中按鈕上的數字 `hotkey`,在使用者於空白提示詞中單獨輸入該數字並停頓時也會觸發。當同一次繪製中有兩個按鈕指定相同的 `hotkey` 時,由後者取得。`autoFocus` 在任何控制項上都只接受 `true`,因此若要關閉,請省略此 prop。

272 278 

Details

187| `prompt.fill` | `() => ({ isFilled: true })` |187| `prompt.fill` | `() => ({ isFilled: true })` |

188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |

189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |

190| `$.ui.notify` | `() => ({ value: { isSent: true, channel: 'terminal_bell' } })`。文字是 `e.text`,標題是 `e.title`。 |

190| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |191| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |

191| `$.session.id`、`$.agent.list` | `() => ({ value: 'abc123' })`、`() => ({ value: [] })` |192| `$.session.id`、`$.agent.list` | `() => ({ value: 'abc123' })`、`() => ({ value: [] })` |

192| `session.send` | `() => ({ isDelivered: true })`。`e.to` 作為字串到達,即使您的 mod 傳遞了 `{ sessionId }`。 |193| `session.send` | `() => ({ isDelivered: true })`。`e.to` 作為字串到達,即使您的 mod 傳遞了 `{ sessionId }`。 |

Details

830 830 

831* **`Failed to load hooks from <path>: <reason>`**:`hooks/hooks.json` 不是有效的 JSON 或失敗 hooks 架構。原因命名解析或驗證錯誤。修復檔案。若要在發佈外掛程式前在 `hooks/hooks.json` 中捕捉 JSON 語法問題,請在您的 shell 中執行 `claude plugin validate <plugin-directory>`831* **`Failed to load hooks from <path>: <reason>`**:`hooks/hooks.json` 不是有效的 JSON 或失敗 hooks 架構。原因命名解析或驗證錯誤。修復檔案。若要在發佈外掛程式前在 `hooks/hooks.json` 中捕捉 JSON 語法問題,請在您的 shell 中執行 `claude plugin validate <plugin-directory>`

832* **`hooks path not found: <path>`**:清單的 `hooks` 欄位命名在相對於外掛程式根目錄的該路徑處不存在的檔案。修復路徑或新增檔案832* **`hooks path not found: <path>`**:清單的 `hooks` 欄位命名在相對於外掛程式根目錄的該路徑處不存在的檔案。修復路徑或新增檔案

833* **`hooks path escapes plugin directory: <path>`**:請參閱 [Path escapes plugin directory](/docs/zh-TW/errors#path-escapes-plugin-directory)

833 834 

834#### `hook error` notices in the transcript835#### `hook error` notices in the transcript

835 836 


948 949 

949Claude Code 從您的 `plugin.json` 或市集項目解析了一個路徑,相對於外掛程式根目錄,但在該處找不到任何內容。訊息中的路徑是它檢查的絕對路徑,因此請將其與磁碟上的內容進行比較。修正路徑或建立目錄,然後執行 `/reload-plugins`。950Claude Code 從您的 `plugin.json` 或市集項目解析了一個路徑,相對於外掛程式根目錄,但在該處找不到任何內容。訊息中的路徑是它檢查的絕對路徑,因此請將其與磁碟上的內容進行比較。修正路徑或建立目錄,然後執行 `/reload-plugins`。

950 951 

952> [!NOTE]

953>

954> 在 v2.1.299 之前,此訊息可能會在啟動時出現在標示為 `synced[0]` 等標籤的列上。該列代表[從 claude.ai 同步](/docs/zh-TW/plugins/loading#synced-plugins)的外掛程式。當您電腦上的另一個 Claude Code 工作階段在片刻前更新了該外掛程式並移動了其檔案時,就會出現此訊息。若要載入該外掛程式,請重新啟動 Claude Code。若要避免此訊息因這個原因出現,請更新至 v2.1.299 或更新版本。

955 

951資訊清單中的路徑相對於外掛程式根目錄,並以 `./` 開頭。解析到外掛程式根目錄外的路徑會改為報告為 `<component> path escapes plugin directory`,並被捨棄。956資訊清單中的路徑相對於外掛程式根目錄,並以 `./` 開頭。解析到外掛程式根目錄外的路徑會改為報告為 `<component> path escapes plugin directory`,並被捨棄。

952 957 

953### `--plugin-dir` 在市集根目錄不會載入 `plugins/` 下的外掛程式958### `--plugin-dir` 在市集根目錄不會載入 `plugins/` 下的外掛程式

Details

55當您的請求通過 [LLM gateway](/docs/zh-TW/llm-gateway)、自訂 `ANTHROPIC_BASE_URL` 或雲端提供者基礎 URL 覆寫(例如 [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/zh-TW/env-vars))時,保留的快取取決於閘道如何處理 Claude Code 傳送的 [`cache_control` 標記](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints):55當您的請求通過 [LLM gateway](/docs/zh-TW/llm-gateway)、自訂 `ANTHROPIC_BASE_URL` 或雲端提供者基礎 URL 覆寫(例如 [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/zh-TW/env-vars))時,保留的快取取決於閘道如何處理 Claude Code 傳送的 [`cache_control` 標記](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints):

56 56 

57* **原封不動地轉發它們**:該區塊和您的對話快取方式與在提供者自己的端點上相同。57* **原封不動地轉發它們**:該區塊和您的對話快取方式與在提供者自己的端點上相同。

58* **以命名 `cache_control` 的 `400` 錯誤拒絕標記的請求**:Claude Code 會重新傳送請求,將標記從區塊移到您的最後一條對話訊息上,並在對話的其餘部分保持在那裡。該區塊計費為未快取的輸入;您的對話保持快取。58* **以命名 `cache_control` 的 `400` 錯誤拒絕標記的請求**:Claude Code 會重新傳送請求,將標記從區塊移到您的最後一條對話訊息上,並保持在那裡,直到 Claude Code 結束為止。該區塊計費為未快取的輸入;您的對話保持快取。

59* **在返回成功時移除標記**:您的整個對話歷史記錄在每個回合上計費為未快取的輸入。將區塊形式的系統內容轉換為純字串的閘道會以相同的方式丟棄標記。59* **在返回成功時移除標記**:您的整個對話歷史記錄在每個回合上計費為未快取的輸入。將區塊形式的系統內容轉換為純字串的閘道會以相同的方式丟棄標記。

60 60 

61有關每個提供者儲存和處理的內容,請參閱 [data usage](/docs/zh-TW/data-usage)。無論快取位於何處,條目在一段時間不活動後過期,下面的 [Cache lifetime](#cache-lifetime) 涵蓋 TTL 以及如何延長它。61有關每個提供者儲存和處理的內容,請參閱 [data usage](/docs/zh-TW/data-usage)。無論快取位於何處,條目在一段時間不活動後過期,下面的 [Cache lifetime](#cache-lifetime) 涵蓋 TTL 以及如何延長它。


109工具定義位於系統提示詞層,因此當請求中的工具定義集合在回合之間變更時,快取會失效。切換[顧問工具](/docs/zh-TW/advisor)是一個例外:其定義位於快取中斷點之後,因此啟用或停用 `/advisor` 會保留快取的前綴完整。[MCP 伺服器](/docs/zh-TW/mcp)變更是否執行此操作取決於[工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)是否延遲工作階段的 MCP 工具,在支援的模型上為預設值:109工具定義位於系統提示詞層,因此當請求中的工具定義集合在回合之間變更時,快取會失效。切換[顧問工具](/docs/zh-TW/advisor)是一個例外:其定義位於快取中斷點之後,因此啟用或停用 `/advisor` 會保留快取的前綴完整。[MCP 伺服器](/docs/zh-TW/mcp)變更是否執行此操作取決於[工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)是否延遲工作階段的 MCP 工具,在支援的模型上為預設值:

110 110 

111* **工具延遲**:Claude Code 會為整個對話保留對話第一個請求中的工具清單,因此伺服器在工作階段中途連接或斷開不會擾亂已快取的任何內容。在第一個請求後完成連接的伺服器會提供其工具作為延遲定義,Claude 會按需載入。111* **工具延遲**:Claude Code 會為整個對話保留對話第一個請求中的工具清單,因此伺服器在工作階段中途連接或斷開不會擾亂已快取的任何內容。在第一個請求後完成連接的伺服器會提供其工具作為延遲定義,Claude 會按需載入。

112* **預先載入工具**:新增定義會使快取失效,刻意移除定義也會如此。這適用於[工具搜尋低於其 `auto` 閾值、已停用或不可用](/docs/zh-TW/mcp#configure-tool-search)時,例如在早於 Opus 4.5、Sonnet 4.5 和 Haiku 4.5 的 Google Cloud Agent Platform 模型上、使用自訂 `ANTHROPIC_BASE_URL` 閘道,或在 Microsoft Foundry [託管於 Azure 的部署](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)上且 Claude Code 偵測到該部署拒絕工具搜尋時。112* **預先載入工具**:新增定義會使快取失效,刻意移除定義也會如此。這適用於工具搜尋[已關閉或不可用](/docs/zh-TW/mcp#configure-tool-search)時,例如在:

113 * 早於 Opus 4.5、Sonnet 4.5 和 Haiku 4.5 的 Google Cloud Agent Platform 模型上

114 * Microsoft Foundry [託管於 Azure 的部署](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)上,且 Claude Code 偵測到該部署拒絕工具搜尋時

113 115 

114在沒有工具搜尋的情況下,工作階段中途的伺服器變更是否使快取失效取決於變更的內容。對於每個變更,此表格說明快取是否保留以及下一個請求中工具定義會發生什麼。116在沒有工具搜尋的情況下,工作階段中途的伺服器變更是否使快取失效取決於變更的內容。對於每個變更,此表格說明快取是否保留以及下一個請求中工具定義會發生什麼。

115 117 


169 171 

170### 壓縮對話172### 壓縮對話

171 173 

172[壓縮](/docs/zh-TW/context-window#what-survives-compaction)會用摘要取代您的訊息歷史記錄。根據設計,這會使對話層失效,因為下一個請求具有新的、較短的歷史記錄,不與舊歷史記錄共享前綴。Claude Code 會重複使用系統提示詞層,除非對話是[在保留原本會變更的系統提示詞的情況下繼續](#resuming-a-session);在這種情況下,第一次壓縮會切換到目前的提示詞,該層會重建一次。它會從磁碟重新載入專案上下文,只有在工作階段開始以來 CLAUDE.md 和記憶未變更時才會快取命中。174[壓縮](/docs/zh-TW/context-window#what-survives-compaction)會用摘要取代您的訊息歷史記錄。根據設計,這會使對話層失效:下一個請求具有新的、較短的歷史記錄,不與舊歷史記錄共享前綴。系統提示詞層和專案上下文層可以保持快取:

173 175 

174為了產生摘要,Claude Code 會傳送一個單獨的請求,其中包含與您的對話相同的系統提示詞、工具和歷史記錄,加上作為最終使用者訊息附加的摘要指令。當快取溫暖時,該請求會從快取讀取您的前綴,因此工作階段中途的 `/compact` 成本只是上下文大小所暗示的一小部分,並且大部分時間花在產生摘要上。176* **系統提示詞**:下一個請求會從快取讀取此層,除非[繼續的對話](#resuming-a-session)保留了現已過時的系統提示詞。該對話第一次被壓縮時,Claude Code 會將其切換為目前的提示詞,下一個請求會重建此層的快取一次。

177* **專案上下文**:Claude Code 會從磁碟重新載入此層。只有在工作階段開始以來 CLAUDE.md 和記憶未變更時,下一個請求才會從快取讀取它。

175 178 

176在超過[快取生命週期](#cache-lifetime)的中斷後,沒有快取可讀取,因此摘要請求會將完整歷史記錄重新處理為未快取的輸入。這就是為什麼當您[繼續舊工作階段](/docs/zh-TW/sessions#resume-a-session)時 `/compact` 成本最高。在溫暖和冷的情況下,壓縮後的回合只會為更短的摘要重建對話快取,因此該回合不是較慢的部分。179為了產生摘要,Claude Code 會傳送一個單獨的請求。該請求會重複您對話的系統提示詞、工具以及要摘要的歷史記錄,並以一則摘要指令作結。當快取溫暖時,該請求會從快取讀取您的前綴。因此,工作階段中途的 `/compact` 成本只是上下文大小所暗示的一小部分,並且大部分時間花在產生摘要上。

180 

181在超過[快取生命週期](#cache-lifetime)的中斷後,沒有快取可讀取,因此摘要請求會將該歷史記錄重新處理為未快取的輸入。這就是為什麼當您[繼續舊工作階段](/docs/zh-TW/sessions#resume-a-session)時 `/compact` 成本最高。在溫暖和冷的情況下,壓縮後的回合只會為更短的摘要重建對話快取,因此該回合不是較慢的部分。

177 182 

178> [!TIP]183> [!TIP]

179>184>

Details

26在使用遠端控制之前,請確認您的環境符合以下條件:26在使用遠端控制之前,請確認您的環境符合以下條件:

27 27 

28* **訂閱**:適用於 Pro、Max、Team 和 Enterprise 方案。不支援 API 金鑰。在 Team 和 Enterprise 上,擁有者必須先在 [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code)中啟用遠端控制切換。28* **訂閱**:適用於 Pro、Max、Team 和 Enterprise 方案。不支援 API 金鑰。在 Team 和 Enterprise 上,擁有者必須先在 [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code)中啟用遠端控制切換。

29* **自訂角色**:如果您的 Enterprise 組織使用[自訂角色](https://support.claude.com/en/articles/13930452)管理您的存取權,您的角色必須同時授予您雲端工作階段權限與 **Claude Code remote control** 權限。若缺少其中任一項,啟動 Remote Control 時會顯示 [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy)。請要求擁有者檢查您的角色,並在 [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) 中新增缺少的權限。

29* **驗證**:執行 `claude` 並使用 `/login` 透過 claude.ai 登入(如果您還未登入)。沒有符合條件的登入,`claude remote-control` 會以錯誤結束,而 `claude --remote-control` 仍會啟動互動式工作階段,並在啟動後不久顯示遠端控制失敗通知。30* **驗證**:執行 `claude` 並使用 `/login` 透過 claude.ai 登入(如果您還未登入)。沒有符合條件的登入,`claude remote-control` 會以錯誤結束,而 `claude --remote-control` 仍會啟動互動式工作階段,並在啟動後不久顯示遠端控制失敗通知。

30* **API 端點**:在以下任何配置中都不可用:31* **API 端點**:在以下任何配置中都不可用:

31 * 您使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。32 * 您使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。

32 * 您將 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 `api.anthropic.com` 以外的主機,例如 [LLM 閘道](/docs/zh-TW/llm-gateway)或代理。取消設定該變數以使用遠端控制。33 * 您將 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 `api.anthropic.com` 以外的主機,例如 [LLM 閘道](/docs/zh-TW/llm-gateway)或代理。取消設定該變數以使用遠端控制。

33 * 您透過企業 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)登入。34 * 您透過企業 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)登入。

34* **功能旗標評估**:如果您設定了[關閉功能旗標評估的環境變數](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching),遠端控制是否可用取決於您設定的是哪一個:35* **功能旗標評估**:如果您設定了[關閉功能旗標評估的環境變數](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching),Remote Control 是否可用取決於您設定的是哪一個:

35 * 如果您設定了 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK`,遠端控制將不可用。在您的 shell 環境或 [`settings.json` 檔案](/docs/zh-TW/settings-reference#all-settings)的 `env` 區塊中取消設定該變數,以使用遠端控制。36 * 如果您設定了 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK`,Remote Control 將不可用。在您的 shell 環境或 [`settings.json` 檔案](/docs/zh-TW/settings-reference#all-settings)的 `env` 區塊中取消設定該變數,以使用 Remote Control。

36 * 如果您只設定了 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK`,遠端控制保持可用,除非您的組織要求[受信任的裝置](#trusted-devices)。如果是這樣,請取消設定該變數以使用遠端控制。使用遠端控制搭配任一變數設定需要 Claude Code v2.1.283 或更新版本。37 * 如果您只設定了 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK`,Remote Control 保持可用,除非您的組織要求[受信任的裝置](#trusted-devices)。如果是這樣,請取消設定該變數以使用 Remote Control。在設定任一變數的情況下使用 Remote Control,需要 Claude Code v2.1.283 或更新版本,若在 Claude Desktop 應用程式中則需要 v2.1.304 或更新版本。

37* **工作區信任**:在您尚未信任的目錄中,`claude remote-control` 會列印信任該目錄會啟用的功能,並在啟動前詢問 `Trust <directory>? [y/N]`。回答 `y` 會儲存該選擇,但在您的主目錄中除外,該目錄中信任永遠不會被儲存,每次執行時都會重新詢問。當其標準輸入或輸出不是終端機時,該命令無法詢問並會以 [`Workspace not trusted`](/docs/zh-TW/errors#workspace-not-trusted-when-starting-remote-control) 錯誤結束。38* **工作區信任**:在您尚未信任的目錄中,`claude remote-control` 會列印信任該目錄會啟用的功能,並在啟動前詢問 `Trust <directory>? [y/N]`。回答 `y` 會儲存該選擇,但在您的主目錄中除外,該目錄中信任永遠不會被儲存,每次執行時都會重新詢問。當其標準輸入或輸出不是終端機時,該命令無法詢問並會以 [`Workspace not trusted`](/docs/zh-TW/errors#workspace-not-trusted-when-starting-remote-control) 錯誤結束。

38 39 

39## 啟動 Remote Control 工作階段40## 啟動 Remote Control 工作階段


60| `--remote-control-session-name-prefix <prefix>` | 未設定明確名稱時,自動產生之工作階段名稱的前綴。預設為您機器的主機名稱,產生如 `myhost-graceful-unicorn` 的名稱。設定 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` 亦可達到相同效果。 |61| `--remote-control-session-name-prefix <prefix>` | 未設定明確名稱時,自動產生之工作階段名稱的前綴。預設為您機器的主機名稱,產生如 `myhost-graceful-unicorn` 的名稱。設定 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` 亦可達到相同效果。 |

61| `-c`, `--continue` | 恢復此目錄中上一個伺服器啟動時所建立的工作階段,而非建立新的工作階段。請參閱[停止伺服器後恢復工作階段](#resume-sessions-after-stopping-the-server)。不可與 `--session-id`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 合併使用。需要 Claude Code v2.1.200 或更新版本。 |62| `-c`, `--continue` | 恢復此目錄中上一個伺服器啟動時所建立的工作階段,而非建立新的工作階段。請參閱[停止伺服器後恢復工作階段](#resume-sessions-after-stopping-the-server)。不可與 `--session-id`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 合併使用。需要 Claude Code v2.1.200 或更新版本。 |

62| `--session-id <id>` | 依 ID 恢復單一工作階段。請參閱[停止伺服器後恢復工作階段](#resume-sessions-after-stopping-the-server)。不可與 `--continue`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 合併使用。需要 Claude Code v2.1.200 或更新版本。 |63| `--session-id <id>` | 依 ID 恢復單一工作階段。請參閱[停止伺服器後恢復工作階段](#resume-sessions-after-stopping-the-server)。不可與 `--continue`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 合併使用。需要 Claude Code v2.1.200 或更新版本。 |

63| `--spawn <mode>` | 伺服器建立工作階段的方式。 • `same-dir`(預設):所有工作階段共用目前的工作目錄,因此若編輯相同檔案可能會發生衝突。 • `worktree`:每個隨需建立的工作階段都會取得自己的 [git worktree](/docs/zh-TW/worktrees)。需要 git 儲存庫或 [`WorktreeCreate` hook](/docs/zh-TW/hooks#worktreecreate)。 • `session`:單一工作階段模式。僅服務一個工作階段,並拒絕其他連線。僅能在啟動時設定。 在執行期間按 `w` 可在 `same-dir` 與 `worktree` 之間切換。 |64| `--spawn <mode>` | 伺服器建立工作階段的方式。 • `same-dir`(未儲存模式時的預設值):所有工作階段共用目前的工作目錄,因此若編輯相同檔案可能會發生衝突。 • `worktree`:每個隨需建立的工作階段都會取得自己的 [git worktree](/docs/zh-TW/worktrees)。需要 git 儲存庫或 [`WorktreeCreate` hook](/docs/zh-TW/hooks#worktreecreate)。 • `session`:單一工作階段模式。僅服務一個工作階段,並拒絕其他連線。僅能在啟動時設定。 在執行期間按 `w` 可在 `same-dir` 與 `worktree` 之間切換。您切換到的模式會成為[此專案的預設值](#set-the-default-spawn-mode-for-a-project)。 |

64| `--capacity <N>` | 同時進行的工作階段數量上限。預設為 32。不可與 `--spawn=session` 一起使用。 |65| `--capacity <N>` | 同時進行的工作階段數量上限。預設為 32。不可與 `--spawn=session` 一起使用。 |

65| `--[no-]create-session-in-dir` | 在伺服器啟動時於目前目錄預先建立一個工作階段,讓您可以立即開始輸入。在 `worktree` 模式下,此工作階段會留在目前目錄,而隨需建立的工作階段則會取得隔離的 worktree。預設為開啟。若您傳入 `--no-create-session-in-dir` 以不建立任何工作階段的方式啟動,Claude Code 會在您停止伺服器時封存伺服器的工作階段,因此將沒有可[恢復](#resume-sessions-after-stopping-the-server)的工作階段。 |66| `--[no-]create-session-in-dir` | 在伺服器啟動時於目前目錄預先建立一個工作階段,讓您可以立即開始輸入。在 `worktree` 模式下,此工作階段會留在目前目錄,而隨需建立的工作階段則會取得隔離的 worktree。預設為開啟。若您傳入 `--no-create-session-in-dir` 以不建立任何工作階段的方式啟動,Claude Code 會在您停止伺服器時封存伺服器的工作階段,因此將沒有可[恢復](#resume-sessions-after-stopping-the-server)的工作階段。 |

66| `--permission-mode <mode>` | 設定伺服器工作階段的起始[權限模式](/docs/zh-TW/permission-modes),例如 `acceptEdits`。接受 `manual` 作為 `default` 的別名;無法辨識的模式會在啟動時停止伺服器並列出有效的模式。 |67| `--permission-mode <mode>` | 設定伺服器工作階段的起始[權限模式](/docs/zh-TW/permission-modes),例如 `acceptEdits`。接受 `manual` 作為 `default` 的別名;無法辨識的模式會在啟動時停止伺服器並列出有效的模式。 |


203 204 

204若僅設定了 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK`,您的工作階段不會透過組織的管理員預設值或 Claude Code 本身的預設值自動連線。若有其他因素導致您無法使用 Remote Control,例如 `DISABLE_GROWTHBOOK` 或 LLM 閘道,請改從[需求](#requirements)開始。205若僅設定了 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK`,您的工作階段不會透過組織的管理員預設值或 Claude Code 本身的預設值自動連線。若有其他因素導致您無法使用 Remote Control,例如 `DISABLE_GROWTHBOOK` 或 LLM 閘道,請改從[需求](#requirements)開始。

205 206 

206在僅設定 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 的情況下開啟自動連線,需要 Claude Code v2.1.283 或更新版本。若要自動連線,請確認您的組織是否要求 [Trusted Devices](#trusted-devices):207在僅設定 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 的情況下開啟自動連線之前,請確認您的 Claude Code 版本符合[這些變數的需求](#requirements)。接著確認您的組織是否要求 [Trusted Devices](#trusted-devices):

207 208 

208* **未要求**:在 `/config` 中將 **Enable Remote Control for all sessions** 設為 `true`。209* **未要求**:在 `/config` 中將 **Enable Remote Control for all sessions** 設為 `true`。

209* **已要求**:設定 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 時無法使用 Remote Control。請取消設定這兩個變數中您所設定的那一個。若您的工作階段仍未自動連線,請在 `/config` 中將 **Enable Remote Control for all sessions** 設為 `true`。210* **已要求**:設定 `DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 時無法使用 Remote Control。請取消設定這兩個變數中您所設定的那一個。若您的工作階段仍未自動連線,請在 `/config` 中將 **Enable Remote Control for all sessions** 設為 `true`。


224 225 

225當您在 Claude Desktop 或 IDE 擴充功能中恢復一個曾開啟 Remote Control 的對話時,Claude Code 會將其重新連結至現有的 claude.ai 工作階段,而不會在工作階段清單中新增一個工作階段。226當您在 Claude Desktop 或 IDE 擴充功能中恢復一個曾開啟 Remote Control 的對話時,Claude Code 會將其重新連結至現有的 claude.ai 工作階段,而不會在工作階段清單中新增一個工作階段。

226 227 

228### 為專案設定預設的 spawn 模式

229 

230若 `claude remote-control` 在啟動時列印 `Spawn mode: <mode> (saved for this folder; press w to change)`,表示伺服器正以先前為此專案儲存的 spawn 模式啟動。

231 

232儲存的模式來自您在自己的終端機中所做的選擇。若 `claude remote-control` 曾在該處詢問 `Spawn mode for this project:`,Claude Code 會保留您的回答:`1` 代表 `same-dir`,`2` 代表 `worktree`。若您在其執行期間按下 `w`,Claude Code 會保留您切換到的模式,即使該次執行是以 `--spawn same-dir` 或 `--spawn worktree` 啟動的亦然。

233 

234* 當伺服器以 `same-dir` 或 `worktree` 模式執行時,在伺服器的終端機中按 `w` 即可切換至另一種模式。切換需要 git 儲存庫或 `WorktreeCreate` hook。

235* 若要在單次執行中使用不同的模式,請傳入 `--spawn <mode>`。

236 

227## 連接和安全性237## 連接和安全性

228 238 

229您的本地 Claude Code 會話僅發出出站 HTTPS 請求,永遠不會在您的機器上開啟入站連接埠。當您啟動 Remote Control 時,它會向 Anthropic API 註冊並輪詢工作。當您從另一個裝置連接時,伺服器會透過串流連接在網頁或行動用戶端與您的本地會話之間路由訊息。239您的本地 Claude Code 會話僅發出出站 HTTPS 請求,永遠不會在您的機器上開啟入站連接埠。當您啟動 Remote Control 時,它會向 Anthropic API 註冊並輪詢工作。當您從另一個裝置連接時,伺服器會透過串流連接在網頁或行動用戶端與您的本地會話之間路由訊息。


426設定了[環境變數](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)以關閉功能旗標評估,完整訊息會命名 Claude Code 找到的變數。在 2.1.154 之前的版本上,相同的設定會改為產生「Remote Control is not yet enabled for your account」。要執行的操作取決於訊息命名的變數:436設定了[環境變數](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)以關閉功能旗標評估,完整訊息會命名 Claude Code 找到的變數。在 2.1.154 之前的版本上,相同的設定會改為產生「Remote Control is not yet enabled for your account」。要執行的操作取決於訊息命名的變數:

427 437 

428* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK`**:在設定的位置取消設定變數,在您的 shell 環境或 [`settings.json` 檔案](/docs/zh-TW/settings-reference#all-settings)的 `env` 區塊中。438* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK`**:在設定的位置取消設定變數,在您的 shell 環境或 [`settings.json` 檔案](/docs/zh-TW/settings-reference#all-settings)的 `env` 區塊中。

429* **`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK`**:在 Pro、Max、Team 或 Enterprise 計畫上且 `DISABLE_GROWTHBOOK` 未設定的情況下,這些變數會保持 Remote Control 可用,除非您的組織需要[信任裝置](#trusted-devices)。如果需要,在設定的位置取消設定變數以使用 Remote Control。從 v2.1.154 到 v2.1.282,任一變數都會產生此訊息,因此請將 Claude Code 更新至 v2.1.283 或更新版本。439* **`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK`**:在 Pro、Max、Team 或 Enterprise 計畫上且 `DISABLE_GROWTHBOOK` 未設定的情況下,這些變數會保持 Remote Control 可用,除非您的組織需要[信任裝置](#trusted-devices)。如果需要,在設定的位置取消設定變數以使用 Remote Control。在 v2.1.154 到 v2.1.282 上,設定任一變數時都會看到此訊息,因此請將 Claude Code 更新至符合[這些變數需求](#requirements)的版本。

430 440 

431### "Remote Control is only available when using Claude via api.anthropic.com"441### "Remote Control is only available when using Claude via api.anthropic.com"

432 442 


441* **錯誤提及 `disableRemoteControl`**:您的 IT 管理員已透過[受管設定](/docs/zh-TW/managed-settings)在此裝置上停用 Remote Control,獨立於組織範圍的切換和您的登入方式。451* **錯誤提及 `disableRemoteControl`**:您的 IT 管理員已透過[受管設定](/docs/zh-TW/managed-settings)在此裝置上停用 Remote Control,獨立於組織範圍的切換和您的登入方式。

442* **您的 claude.ai 計畫是 Pro 或 Max**:Claude Code 仍在來自較早登入的 Team 或 Enterprise 組織下登入,因此它會檢查該組織的 Remote Control 原則。執行 `/status` 以查看您的登入使用哪個計畫和組織。執行 `claude auth logout` 然後 `claude auth login` 以在您目前的計畫下重新登入。452* **您的 claude.ai 計畫是 Pro 或 Max**:Claude Code 仍在來自較早登入的 Team 或 Enterprise 組織下登入,因此它會檢查該組織的 Remote Control 原則。執行 `/status` 以查看您的登入使用哪個計畫和組織。執行 `claude auth logout` 然後 `claude auth login` 以在您目前的計畫下重新登入。

443* **訊息未說要聯絡您的組織管理員**:您的組織已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup),這會關閉 Remote Control。若要確認,請執行 `/status` 並在 `Organization configuration` 列中尋找 `HIPAA`。擁有者會在[管理設定](https://claude.ai/admin-settings/claude-code)中看到 **Remote Control** 切換呈灰色,且無法將其開啟。如果您對此設定有疑問,請詢問擁有者,擁有者可以聯絡您組織的 Anthropic 客戶團隊。在 v2.1.267 之前,此情況顯示「Remote Control isn't available for your organization due to its compliance policy」。453* **訊息未說要聯絡您的組織管理員**:您的組織已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup),這會關閉 Remote Control。若要確認,請執行 `/status` 並在 `Organization configuration` 列中尋找 `HIPAA`。擁有者會在[管理設定](https://claude.ai/admin-settings/claude-code)中看到 **Remote Control** 切換呈灰色,且無法將其開啟。如果您對此設定有疑問,請詢問擁有者,擁有者可以聯絡您組織的 Anthropic 客戶團隊。在 v2.1.267 之前,此情況顯示「Remote Control isn't available for your organization due to its compliance policy」。

454* **Remote Control 對組織中的其他人有效,但對您無效**:如果您的 Enterprise 組織透過[自訂角色](https://support.claude.com/en/articles/13930452)管理您的存取權,您的角色可能是原因。Remote Control 同時需要雲端工作階段權限和 **Claude Code remote control** 權限。請擁有者檢查您的角色是否包含這兩項權限,並在 [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) 新增缺少的權限。

444* **否則,擁有者尚未為您的組織啟用它**:Remote Control 在 Team 和 Enterprise 計畫上預設為關閉。擁有者可以在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 啟用它,方法是開啟 **Remote Control** 切換。此切換是伺服器端組織設定。455* **否則,擁有者尚未為您的組織啟用它**:Remote Control 在 Team 和 Enterprise 計畫上預設為關閉。擁有者可以在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 啟用它,方法是開啟 **Remote Control** 切換。此切換是伺服器端組織設定。

445 456 

446在 v2.1.281 之前,當 Claude Code 未在此機器上載入您的組織原則時,此訊息也會出現,例如在離線啟動後。更新版本會改為將該狀態報告為 [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control)。457在 v2.1.281 之前,當 Claude Code 未在此機器上載入您的組織原則時,此訊息也會出現,例如在離線啟動後。更新版本會改為將該狀態報告為 [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control)。

routines.md +10 −9

Details

33 33 

34Team 和 Enterprise 的擁有者可以在 [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) 透過 **Scheduled tasks (Was Routines)** 切換開關,為所有成員關閉排程任務。關閉此開關後,現有的排程任務會停止執行,成員也無法建立新的排程任務。34Team 和 Enterprise 的擁有者可以在 [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) 透過 **Scheduled tasks (Was Routines)** 切換開關,為所有成員關閉排程任務。關閉此開關後,現有的排程任務會停止執行,成員也無法建立新的排程任務。

35 35 

36如果您的 Enterprise 組織透過[自訂角色](https://support.claude.com/en/articles/13930452)管理您的存取權,您還需要具備包含排程任務權限的角色。擁有者可以在 [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) 中,於角色的 **Remote sessions** 區段新增此權限。

37 

36## 使用案例範例38## 使用案例範例

37 39 

38每個範例都將一種觸發條件類型與適合排程任務的工作類型配對:無人值守、可重複執行,且有明確的結果。40每個範例都將一種觸發條件類型與適合排程任務的工作類型配對:無人值守、可重複執行,且有明確的結果。


48 50 

49您可以從 [claude.ai/code/routines](https://claude.ai/code/routines) 網頁、Desktop 應用程式或 CLI 建立排程任務。這三個使用介面都會寫入同一個雲端帳戶,因此您在其中一個介面建立的排程任務會立即出現在其他介面中。在 Desktop 應用程式的 **Code** 標籤中,按一下側邊欄或側邊欄 **More** 選單中的 **Scheduled**,然後按 **New task**,再依照[從網頁建立](#create-from-the-web)繼續操作。51您可以從 [claude.ai/code/routines](https://claude.ai/code/routines) 網頁、Desktop 應用程式或 CLI 建立排程任務。這三個使用介面都會寫入同一個雲端帳戶,因此您在其中一個介面建立的排程任務會立即出現在其他介面中。在 Desktop 應用程式的 **Code** 標籤中,按一下側邊欄或側邊欄 **More** 選單中的 **Scheduled**,然後按 **New task**,再依照[從網頁建立](#create-from-the-web)繼續操作。

50 52 

51排程任務以完整的 Claude Code 雲端工作階段自主執行。您無需選擇權限模式。工作階段會執行 shell 命令、使用已提交至所複製儲存庫中的 [skills](/docs/zh-TW/skills),並呼叫您包含的任何連接器,除了某些 [artifact 動作](#when-a-run-publishes-an-artifact-without-asking)之外,全程都不會停下來等待核准。53排程任務以完整的 Claude Code 雲端工作階段自主執行。您無需選擇權限模式。工作階段會執行 shell 命令、使用 [skills](/docs/zh-TW/skills),並呼叫您包含的任何連接器,除了某些 [artifact 動作](#when-a-run-publishes-an-artifact-without-asking)之外,全程都不會停下來等待核准。在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)之外,這些 skills 也包括已提交至所複製儲存庫中的 skills。

52 54 

53排程任務可以存取的內容取決於:55排程任務可以存取的內容取決於:

54 56 


116 118 

117按一下 **Create**。對話方塊會關閉,並開啟新任務的詳細資料頁面。任務會在下次其中一個觸發條件符合時執行。若要立即開始執行,請按一下詳細資料頁面上的 **Run now**。119按一下 **Create**。對話方塊會關閉,並開啟新任務的詳細資料頁面。任務會在下次其中一個觸發條件符合時執行。若要立即開始執行,請按一下詳細資料頁面上的 **Run now**。

118 120 

119每次執行都會在您的其他工作階段旁建立一個新的工作階段,您可以在其中查看 Claude 做了什麼、檢閱變更並建立 pull request。121若要查看某次執行做了什麼,請在詳細資料頁面的 **History** 清單中按一下該次執行。該次執行會[以完整工作階段開啟](#view-and-interact-with-runs)(每次執行都是一個新的工作階段),您可以在其中查看 Claude 做了什麼、檢閱變更並建立 pull request。

120 122 

121#### 主檢視中包含 Repositories 和 Environment 的對話方塊123#### 主檢視中包含 Repositories 和 Environment 的對話方塊

122 124 


147 149 

148排程觸發條件會依照定期節奏執行任務,或在特定的未來時間執行一次。在網頁上任務的建立或編輯對話方塊中,選擇預設頻率,例如每小時、每天或每週:150排程觸發條件會依照定期節奏執行任務,或在特定的未來時間執行一次。在網頁上任務的建立或編輯對話方塊中,選擇預設頻率,例如每小時、每天或每週:

149 151 

150* **時區**:時間以您的本地時區輸入並自動轉換,因此無論雲端基礎設施位於何處,任務都會在該當地時間執行。

151* **整點執行**:如果您將執行排程在剛好整點(例如 9:00),它可能會晚幾分鐘才開始。若要在接近排程時間時開始,請選擇整點後幾分鐘,例如 9:07。152* **整點執行**:如果您將執行排程在剛好整點(例如 9:00),它可能會晚幾分鐘才開始。若要在接近排程時間時開始,請選擇整點後幾分鐘,例如 9:07。

152* **自訂間隔**:若需要自訂間隔(例如每兩小時),請在對話方塊中選擇最接近的預設,然後在 CLI 中執行 `/schedule update` 以設定特定的 cron 運算式。最短間隔為一小時;執行頻率更高的運算式會被拒絕。153* **自訂間隔**:若需要預設選項未提供的節奏,請建立任務並在其[編輯對話方塊](#edit-and-control-scheduled-tasks)中選擇 **Custom**。接著輸入 cron 運算式,例如 `0 */2 * * *` 代表每兩小時執行一次。若要從 CLI 設定,請執行 [`/schedule update`](#manage-scheduled-tasks-from-the-cli)。執行頻率高於每小時一次的運算式會被拒絕。

154* **時區**:選擇預設頻率時,請以您的本地時區輸入時間。

153 155 

154#### 排程一次性執行156#### 排程一次性執行

155 157 


159* 在推出完成後開啟清理 PR161* 在推出完成後開啟清理 PR

160* 在上游變更發布後開始後續工作162* 在上游變更發布後開始後續工作

161 163 

162任務執行後會自動關閉,網頁 UI 會將其標記為 **Completed**。若要再次執行,請在網頁上開啟任務的編輯對話方塊(該對話方塊會為一次性任務提供 **One-time** 選項),並設定新的時間。164任務執行後會自動關閉,網頁 UI 會將其標記為 **Completed**。若要再次執行,請在網頁上開啟任務的[編輯對話方塊](#edit-and-control-scheduled-tasks),並選擇 **One-time** 或 **Once**(依您的對話方塊所顯示的標籤而定)。接著以您的本地時區設定新的日期和時間並儲存。

163 165 

164從 CLI 以自然語言描述時間即可建立一次性執行。Claude 會根據目前時間解析該描述,並在儲存前確認絕對時間戳記。166從 CLI 以自然語言描述時間即可建立一次性執行。Claude 會根據目前時間解析該描述,並在儲存前確認絕對時間戳記。

165 167 


171/schedule in 2 weeks, open a cleanup PR that removes the feature flag173/schedule in 2 weeks, open a cleanup PR that removes the feature flag

172```174```

173 175 

174與定期排程相同的本地時間轉 UTC 轉換也適用於一次性時間戳記。

175 

176一次性執行會計入與其他排程執行相同的每小時限制。詳情請參閱[用量與限制](#usage-and-limits)。176一次性執行會計入與其他排程執行相同的每小時限制。詳情請參閱[用量與限制](#usage-and-limits)。

177 177 

178### 新增 API 觸發條件178### 新增 API 觸發條件


356連接器是您帳戶上的 [claude.ai 整合](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。您在 CLI 中使用 `claude mcp add` 於本機新增的 MCP 伺服器儲存在您的機器上,而非您的 claude.ai 帳戶中,因此不會出現在連接器清單中。若要在排程任務中使用其中一個伺服器:356連接器是您帳戶上的 [claude.ai 整合](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。您在 CLI 中使用 `claude mcp add` 於本機新增的 MCP 伺服器儲存在您的機器上,而非您的 claude.ai 帳戶中,因此不會出現在連接器清單中。若要在排程任務中使用其中一個伺服器:

357 357 

358* **作為連接器**:在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 將其新增為連接器358* **作為連接器**:在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 將其新增為連接器

359* **在儲存庫中**:對於只有一個儲存庫的排程任務,您也可以改為在已提交的 [`.mcp.json`](/docs/zh-TW/mcp#project-scope) 中宣告該伺服器,使其成為所複製儲存庫的一部分359* **在儲存庫中**:對於位於[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)之外且只有一個儲存庫的排程任務,您也可以改為在已提交的 [`.mcp.json`](/docs/zh-TW/mcp#project-scope) 中宣告該伺服器。專案中的排程任務不會載入 `.mcp.json`,因此請將該伺服器新增為連接器

360 360 

361建立排程任務時,預設會包含您目前所有已連接的連接器。請移除不需要的連接器,以限制 Claude 在執行期間可以存取的工具。您也可以直接從任務的建立或編輯對話方塊新增連接器。361建立排程任務時,預設會包含您目前所有已連接的連接器。請移除不需要的連接器,以限制 Claude 在執行期間可以存取的工具。您也可以直接從任務的建立或編輯對話方塊新增連接器。

362 362 


452* 您位於雲端工作階段中,在此情況下送出 `/schedule` 會回覆該命令在該環境中無法使用。請改從[網頁 UI](https://claude.ai/code/routines) 管理排程任務452* 您位於雲端工作階段中,在此情況下送出 `/schedule` 會回覆該命令在該環境中無法使用。請改從[網頁 UI](https://claude.ai/code/routines) 管理排程任務

453* 您組織的政策停用了排程任務所需的[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。在此情況下,送出 `/schedule` 會改為回覆 [`Cloud sessions are disabled by your organization's policy`](/docs/zh-TW/errors#cloud-sessions-are-disabled-by-your-organizations-policy)。在 v2.1.268 之前,它會傳回 `Unknown command: /schedule`453* 您組織的政策停用了排程任務所需的[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。在此情況下,送出 `/schedule` 會改為回覆 [`Cloud sessions are disabled by your organization's policy`](/docs/zh-TW/errors#cloud-sessions-are-disabled-by-your-organizations-policy)。在 v2.1.268 之前,它會傳回 `Unknown command: /schedule`

454* 擁有者為您的 Team 或 Enterprise 組織[關閉了排程任務](#routines-are-disabled-by-your-organizations-policy)。在 v2.1.227 之前,此情況下命令仍會出現,而 claude.ai 會在 Claude 嘗試建立或執行任務時拒絕它454* 擁有者為您的 Team 或 Enterprise 組織[關閉了排程任務](#routines-are-disabled-by-your-organizations-policy)。在 v2.1.227 之前,此情況下命令仍會出現,而 claude.ai 會在 Claude 嘗試建立或執行任務時拒絕它

455* 您的 Enterprise 組織以[自訂角色](https://support.claude.com/en/articles/13930452)管理您的存取權,而您的角色中沒有任何一個包含 **Remote sessions** 下的排程任務權限。請聯絡擁有者將其新增至您的其中一個角色

455 456 

456除非您組織的政策停用了排程任務或雲端工作階段,否則無論 CLI 如何設定,您都可以在 [claude.ai/code/routines](https://claude.ai/code/routines) 建立和管理排程任務。457如果原因在於您的 CLI 登入方式或您位於雲端工作階段中,您仍可在 [claude.ai/code/routines](https://claude.ai/code/routines) 建立和管理排程任務。您在該處需要 Pro、Max、Team 或 Enterprise 帳戶。如果您的組織關閉了排程任務或雲端工作階段,或您的角色中缺少這些權限,您也無法在網頁上建立排程任務。

457 458 

458### "Routines are disabled by your organization's policy"459### "Routines are disabled by your organization's policy"

459 460 

sandboxing.md +16 −2

Details

546 546 

547如果 `git merge` 或 `git checkout` 在其中某個路徑上因 `unable to unlink old` 而失敗,請參閱[git 命令因 `unable to unlink old` 而失敗](#a-git-command-fails-with-unable-to-unlink-old)。547如果 `git merge` 或 `git checkout` 在其中某個路徑上因 `unable to unlink old` 而失敗,請參閱[git 命令因 `unable to unlink old` 而失敗](#a-git-command-fails-with-unable-to-unlink-old)。

548 548 

549#### 經過符號連結的被拒絕路徑

550 

551在 macOS 上,當被拒絕的路徑經過符號連結時(例如 `~/.claude` 是連結到 dotfiles 儲存庫的符號連結),沙箱也會拒絕該路徑的實際位置。這涵蓋沙箱本身的拒絕項目,以及您以字面形式寫下的 `denyWrite` 和 `denyRead` 項目。

552 

549### 網路隔離553### 網路隔離

550 554 

551沙箱化命令沒有直接連到網路的路徑:555沙箱化命令沒有直接連到網路的路徑:


974✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.978✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.

975```979```

976 980 

977如果括號中的原因是 `EACCES`、`EPERM` 或 `EROFS`,請在您可以寫入的專案資料夾中啟動 Claude Code,然後在該工作階段中再次執行 `/sandbox`。981如果括號中的原因是 `EACCES`、`EPERM` 或 `EROFS`,請在您可以寫入的專案資料夾中啟動 Claude Code,然後在該工作階段中再次執行 `/sandbox`。如果原因以 `Invalid JSON syntax in settings file` 開頭,請修正專案 `.claude/settings.local.json` 中的 JSON,然後再次執行 `/sandbox`。

982 

983如果您沒有可寫入的專案資料夾,請改為從您的使用者設定開啟沙箱。將以下內容新增到 `~/.claude/settings.json`:

984 

985```json theme={null}

986{

987 "sandbox": {

988 "enabled": true

989 }

990}

991```

978 992 

979如果原因以 `Invalid JSON syntax in settings file` 開頭,請修正專案 `.claude/settings.local.json` 中的 JSON,然後再次執行 `/sandbox`。993這會開啟[自動允許模式](#sandbox-modes)。若要使用一般權限模式,請同時將 [`sandbox.autoAllowBashIfSandboxed`](/docs/zh-TW/settings-reference#sandbox-autoallowbashifsandboxed) 設定為 `false`。此變更會在 Claude 執行下一個 shell 命令時於您執行中的工作階段生效,之後 `/sandbox` 的 **Mode** 分頁會標示目前生效的模式。

980 994 

981## 限制995## 限制

982 996 

scheduled-tasks.md +44 −38

Details

30| 存取本機檔案 | 否(全新複製) | 是 | 是 |30| 存取本機檔案 | 否(全新複製) | 是 | 是 |

31| MCP 伺服器 | 每個工作配置的連接器 | [設定檔](/docs/zh-TW/mcp)和連接器 | 繼承自工作階段 |31| MCP 伺服器 | 每個工作配置的連接器 | [設定檔](/docs/zh-TW/mcp)和連接器 | 繼承自工作階段 |

32| 權限提示 | 否(自主執行) | 每個工作可設定 | 繼承自工作階段 |32| 權限提示 | 否(自主執行) | 每個工作可設定 | 繼承自工作階段 |

33| 可自訂排程 | 透過 CLI 中的 `/schedule` | 是 | 是 |33| 可自訂排程 | 是 | 是 | 是 |

34| 最小間隔 | 1 小時 | 1 分鐘 | 1 分鐘 |34| 最小間隔 | 1 小時 | 由 Claude 設定時為 1 分鐘,[在表單中為 1 小時](/docs/zh-TW/desktop-scheduled-tasks#schedule-options) | 1 分鐘 |

35 35 

36> [!TIP]36> [!TIP]

37>37>

38> 使用**雲端工作**來執行應該在沒有您的機器的情況下可靠執行的工作。當您需要存取本機檔案和工具時,使用**Desktop 工作**。使用 **`/loop`** 進行工作階段期間的快速輪詢。38> 使用**雲端工作**來執行應該在沒有您的機器的情況下可靠執行的工作。當您需要存取本機檔案和工具時,使用**Desktop 工作**。使用 **`/loop`** 進行工作階段期間的快速輪詢。

39 39 

40## 使用 /loop 重複執行提示40## 使用 /loop 重複執行提示詞

41 41 

42`/loop` [bundled skill](/docs/zh-TW/commands) 是在工作階段保持開啟的情況下重複執行提示的最快方式。間隔和提示都是選用的,您提供的內容決定了迴圈的行為方式。42`/loop` [隨附 skill](/docs/zh-TW/commands) 是在工作階段保持開啟期間重複執行提示詞最快速的方式。間隔與提示詞皆為選填,您提供的內容決定了迴圈的行為方式。

43 43 

44| 您提供的內容 | 範例 | 發生的情況 |44| 您提供的內容 | 範例 | 結果 |

45| :- | :- | :- |45| :- | :- | :- |

46| 間隔和提示 | `/loop 5m check the deploy` | 您的提示在[固定排程](#run-on-a-fixed-interval)上執行 |46| 間隔與提示詞 | `/loop 5m check the deploy` | 您的提示詞依[固定排程](#run-on-a-fixed-interval)執行 |

47| 僅提示 | `/loop check the deploy` | 您的提示在 [Claude 選擇的間隔](#let-claude-choose-the-interval)上執行,每次迭代 |47| 僅提示詞 | `/loop check the deploy` | 您的提示詞每次迭代依 [Claude 選擇的間隔](#let-claude-choose-the-interval)執行 |

48| 僅間隔或無 | `/loop` | [內建維護提示](#run-the-built-in-maintenance-prompt)執行,或您的 `loop.md`(如果存在) |48| 僅間隔,或什麼都不提供 | `/loop` | 執行[內建維護提示詞](#run-the-built-in-maintenance-prompt),若存在 `loop.md` 則執行該檔案 |

49 49 

50您也可以傳遞一個 skill 作為提示,例如 `/loop 20m /review-pr 1234`,以在每次迭代時重新執行該 skill。排程的執行只會執行 Claude [允許自行叫用](/docs/zh-TW/skills#control-who-invokes-a-skill)的 skill。以下內容會以純文字形式傳達給 Claude,而不是執行:50您也可以將 skill 作為提示詞傳入,例如 `/loop 20m /review-pr 1234`,以在每次迭代時重新執行該 skill。排程觸發只會執行 Claude [被允許自行叫用](/docs/zh-TW/skills#control-who-invokes-a-skill)的 skill。以下項目會以純文字形式傳給 Claude,而不會被執行:

51 51 

52* 內建命令,例如 `/permissions`、`/model` 或 `/clear`52* 內建命令,例如 `/permissions`、`/model` 或 `/clear`

53* 標記為 [`disable-model-invocation: true`](/docs/zh-TW/skills#frontmatter-reference) 的 skill,包括 bundled `/verify` skill53* 標記為 [`disable-model-invocation: true`](/docs/zh-TW/skills#frontmatter-reference) 的 skill,包括隨附的 `/verify` skill

54* 由 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 設定或 `Skill` [deny rule](/docs/zh-TW/skills#restrict-claude%E2%80%99s-skill-access) 從 Claude 隱藏的 skill54* 被 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 設定或 `Skill` [拒絕規則](/docs/zh-TW/skills#restrict-claude’s-skill-access)對 Claude 隱藏的 skill

55* [MCP prompts](/docs/zh-TW/mcp#use-mcp-prompts-as-commands),例如 `/mcp__github__list_prs`55* [MCP 提示詞](/docs/zh-TW/mcp#use-mcp-prompts-as-commands),例如 `/mcp__github__list_prs`

56 56 

57### 在固定間隔上執行57### 以固定間隔執行

58 58 

59當您提供間隔時,Claude 會將其轉換為 cron 表達式、排程工作,並確認頻率和工作 ID。59當您提供間隔時,Claude 會將其轉換為 cron 運算式、排程該工作,並確認執行頻率與工作 ID。

60 60 

61```text theme={null}61```text theme={null}

62/loop 5m check if the deployment finished and tell me what happened62/loop 5m check if the deployment finished and tell me what happened

63```63```

64 64 

65間隔可以作為裸令牌(如 `30m`)在提示前面,或作為子句(如 `every 2 hours`)在後面。支援的單位為 `s`(秒)、`m`(分鐘)、`h`(小時)和 `d`(天)。65間隔可以用 `30m` 這樣的單獨 token 放在提示詞前面,或以 `every 2 hours` 這樣的子句放在提示詞後面。支援的單位為 `s`(秒)、`m`(分鐘)、`h`(小時)與 `d`(天)。

66 66 

67秒數會四捨五入到最近的分鐘,因為 cron 的粒度為一分鐘。不能均勻分割其單位的間隔(例如 `7m` 或 `90m`)會四捨五入到最近的整潔間隔,Claude 會告訴您它選擇了什麼。67由於 cron 的最小單位為一分鐘,秒數會無條件進位至最接近的分鐘。無法對應到整齊 cron 間隔的值,例如 `7m` 或 `90m`,會被調整為最接近的可對應間隔,Claude 會告知您所選的值。

68 68 

69### 讓 Claude 選擇間隔69### 讓 Claude 選擇間隔

70 70 

71當您省略間隔時,Claude 會動態選擇一個,而不是在固定的 cron 排程上執行。在每次迭代後,它會根據觀察到的情況選擇一個介於一分鐘到一小時之間的延遲:在建置完成或 PR 活躍時短暫等待,當沒有待處理項目時較長等待。選擇的延遲和原因會在每次迭代結束時列印。71當您省略間隔時,Claude 會動態選擇間隔,而不是依固定的 cron 排程執行。每次迭代後,它會根據觀察到的情況選擇介於一分鐘到一小時之間的延遲:在建置即將完成或 PR 處於活躍狀態時等待較短時間,在沒有待處理事項時等待較長時間。所選的延遲及其原因會在每次迭代結束時顯示。

72 72 

73下面的範例檢查 CI 和審查評論,Claude 在 PR 變得安靜後在迭代之間等待更長時間:73以下範例會檢查 CI 與審查留言,當 PR 趨於沉寂後,Claude 會在迭代之間等待較長時間:

74 74 

75```text theme={null}75```text theme={null}

76/loop check whether CI passed and address any review comments76/loop check whether CI passed and address any review comments

77```77```

78 78 

79在[提供 Monitor 工具](/docs/zh-TW/tools-reference#monitor-tool)的工作階段中,當您要求動態 `/loop` 排程時,Claude 可能會直接使用它。Monitor 執行背景指令碼並串流回每個輸出行,這完全避免了輪詢,通常比在間隔上重新執行提示更具令牌效率和回應性。79在 [Monitor 工具可用](/docs/zh-TW/tools-reference#monitor-tool)的工作階段中,當您要求動態 `/loop` 排程時,Claude 可能會直接使用該工具。Monitor 會執行背景指令碼並將每一行輸出串流回傳,完全免除輪詢,通常比以固定間隔重新執行提示詞更節省 token 且反應更即時。

80 80 

81動態排程的迴圈會像任何其他任務一樣出現在您的[排程任務清單](#manage-scheduled-tasks)中,因此您可以以相同的方式列出或取消它。清單會將其待處理的喚醒顯示為一次性任務,因此排程在 `:00` 或 `:30` 的喚醒可能會[稍微提早執行](#when-a-one-shot-task-runs-early)。[七天過期](#seven-day-expiry)同樣適用於此迴圈。81動態排程的迴圈會像其他任務一樣出現在您的[排程任務清單](#manage-scheduled-tasks)中,因此您可以用相同方式列出或取消它。清單會將其待處理的喚醒顯示為一次性任務,因此排定於 `:00` 或 `:30` 的喚醒可能會[稍微提前執行](#when-a-one-shot-task-runs-early)。[七天到期](#seven-day-expiry)規則同樣適用於此迴圈。

82 82 

83> [!NOTE]83> [!NOTE]

84>84>

85> 動態選擇的間隔和[內建維護提示](#run-the-built-in-maintenance-prompt)在每個提供者上都有效,並且[功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)已關閉。在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,或擷取已關閉時,兩者都需要 Claude Code v2.1.248 或更新版本。85> 動態選擇的間隔與[內建維護提示詞](#run-the-built-in-maintenance-prompt)適用於所有供應商,即使關閉[功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)也能運作。在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 與 Microsoft Foundry 上,或在關閉擷取的情況下,兩者都需要 Claude Code v2.1.248 或更新版本。

86 86 

87### 執行內建維護提示87### 執行內建維護提示詞

88 88 

89當您省略提示時,Claude 會使用內建維護提示而不是您提供的提示。在每次迭代上,它會按順序進行以下操作:89當您省略提示詞時,Claude 會使用內建的維護提示詞,而非您提供的提示詞。每次迭代時,它會依序處理以下事項:

90 90 

91* 繼續對話中任何未完成的工作91* 繼續對話中任何未完成的工作

92* 照顧目前分支的拉取請求:審查評論、失敗的 CI 執行、合併衝突92* 處理目前分支的 pull request:審查留言、失敗的 CI 執行、合併衝突

93* 執行清理通過,例如當沒有其他待處理項目時的錯誤搜尋或簡化93* 在沒有其他待處理事項時,執行清理作業,例如尋找錯誤或簡化程式碼

94 94 

95Claude 不會在該範圍之外啟動新的計畫,不可逆的操作(例如推送或刪除)只在它們繼續文字記錄已授權的內容時進行。95Claude 不會在此範圍之外啟動新的工作項目,而推送或刪除等不可逆的動作,只有在延續逐字稿中已授權的事項時才會執行。

96 96 

97```text theme={null}97```text theme={null}

98/loop98/loop

99```99```

100 100 

101裸 `/loop` 在[動態選擇的間隔](#let-claude-choose-the-interval)上執行此提示。新增間隔(例如 `/loop 15m`)以改為在固定排程上執行它。若要用您自己的預設值替換內建提示,請參閱[使用 loop.md 自訂預設提示](#customize-the-default-prompt-with-loop-md)。101單獨的 `/loop` 會以[動態選擇的間隔](#let-claude-choose-the-interval)執行此提示詞。加上間隔,例如 `/loop 15m`,即可改為依固定排程執行。若要以您自己的預設提示詞取代內建提示詞,請參閱[使用 loop.md 自訂預設提示詞](#customize-the-default-prompt-with-loop-md)。

102 102 

103### 使用 loop.md 自訂預設提示103### 使用 loop.md 自訂預設提示詞

104 104 

105建立 `loop.md` 檔案以用您自己的指示替換[內建維護提示](#run-the-built-in-maintenance-prompt)。它為裸 `/loop` 定義單一預設提示,而不是單獨排程任務的清單,並且每當您在命令行上提供提示時 Claude Code 都會忽略它。若要在其旁邊排程其他提示,請使用 `/loop <prompt>` 或[直接要求 Claude](#manage-scheduled-tasks)。105建立 `loop.md` 檔案,即可用您自己的指令取代[內建維護提示詞](#run-the-built-in-maintenance-prompt)。它為單獨的 `/loop` 定義單一預設提示詞,而非一份獨立排程任務的清單,且只要您在命令列中提供提示詞,Claude Code 就會忽略它。若要在其之外排程其他提示詞,請使用 `/loop <prompt>` 或[直接詢問 Claude](#manage-scheduled-tasks)。

106 106 

107Claude 在兩個位置尋找檔案,並使用它找到的第一個。107Claude 會在兩個位置尋找此檔案,並使用最先找到的那一個。

108 108 

109| 路徑 | 範圍 |109| 路徑 | 範圍 |

110| :- | :- |110| :- | :- |

111| `.claude/loop.md` | 專案層級。當兩個檔案都存在時優先。 |111| `.claude/loop.md` | 專案層級。兩個檔案同時存在時優先採用。 |

112| `~/.claude/loop.md` | 使用者層級。適用於任何未定義自己的專案。 |112| `~/.claude/loop.md` | 使用者層級。適用於任何未定義自己檔案的專案。 |

113 113 

114該檔案是純 Markdown,沒有必需的結構。將其寫成您直接輸入 `/loop` 提示的方式。以下範例保持發行分支健康:114此檔案為純 Markdown,沒有必要的結構。請以直接輸入 `/loop` 提示詞的方式撰寫。以下範例用於維持發行分支的健全狀態:

115 115 

116```markdown title=".claude/loop.md" theme={null}116```markdown title=".claude/loop.md" theme={null}

117Check the `release/next` PR. If CI is red, pull the failing job log,117Check the `release/next` PR. If CI is red, pull the failing job log,


120quiet, say so in one line.120quiet, say so in one line.

121```121```

122 122 

123對 `loop.md` 的編輯在下次迭代時生效,因此您可以在迴圈執行時精煉指示。當任一位置都不存在 `loop.md` 時,迴圈會回退到內建維護提示。保持檔案簡潔:超過 25,000 位元組的內容會被截斷。123對 `loop.md` 的編輯會在下一次迭代時生效,因此您可以在迴圈執行期間調整指令。當兩個位置都不存在 `loop.md` 時,迴圈會改用內建維護提示詞。請保持檔案簡潔:超過 25,000 位元組的內容會被截斷。

124 124 

125### 停止迴圈125### 停止迴圈

126 126 

127若要在[自我調整 `/loop`](#let-claude-choose-the-interval) 等待下一次迭代時停止它,請按 `Esc`。這會清除待處理的喚醒,使迴圈不會再次執行。您透過[直接要求 Claude](#manage-scheduled-tasks) 排程的任務不受 `Esc` 影響,會保留在原位,直到您刪除它們。127* **[自行調整節奏的迴圈](#let-claude-choose-the-interval)**:在迴圈等待下一次迭代時,按下 `Esc` 即可停止。您也可以在 Claude 閒置時使用 `Ctrl+C` 停止,但在[您已連接的背景工作階段](#detach-without-stopping-a-loop)中除外。`Pending wakeup cancelled` 通知會確認迴圈不會再次觸發。

128* **[固定間隔迴圈](#run-on-a-fixed-interval)**:若要停止 `/loop 5m` 這類迴圈,請要求 Claude 取消它,例如 `cancel the deploy check loop`。`Esc` 與 `Ctrl+C` 無法停止它,也無法停止任何您[直接詢問 Claude 所排程](#manage-scheduled-tasks)的任務。未取消的迴圈會在[經過七天後](#seven-day-expiry)結束。

128 129 

129在[自我調整模式](#let-claude-choose-the-interval)中,Claude 也可以在任務完成後自行結束迴圈。Claude 呼叫 [`ScheduleWakeup` tool](/docs/zh-TW/tools-reference),其中 `stop: true`,這會立即取消待處理的喚醒。如果迭代結束時既未重新排程也未停止,Claude Code 會排程一個大約 20 分鐘後的備用喚醒,並在該迭代也不重新排程時結束迴圈。130在[自行調整節奏模式](#let-claude-choose-the-interval)下,Claude 也可以在任務完成後自行結束迴圈。Claude 會以 `stop: true` 呼叫 [`ScheduleWakeup` 工具](/docs/zh-TW/tools-reference),立即取消待處理的喚醒。若某次迭代結束時既未重新排程也未停止,Claude Code 會在約 20 分鐘後排程一次備援喚醒,若該次迭代也未重新排程,則結束迴圈。

130 131 

131固定間隔上的迴圈會持續執行,直到您[像任何其他排程任務一樣取消它們](#manage-scheduled-tasks)或[七天過去](#seven-day-expiry)。132#### 中斷連接而不停止迴圈

133 

134當您[已連接至背景工作階段](/docs/zh-TW/agent-view#attach-to-a-session)且 Claude 處於閒置狀態時,在空白提示字元上按兩次 `Ctrl+C` 即可中斷連接。在該處等待下一次迭代的自行調整節奏迴圈會繼續執行,且該次迭代會如期開始。若要改為停止迴圈,請在中斷連接前按下 `Esc`。使用 `Ctrl+C` 中斷連接而不停止迴圈,需要 Claude Code v2.1.295 或更新版本。

132 135 

133## 設定一次性提醒136## 設定一次性提醒

134 137 


232 235 

233* 任務只在 Claude Code 執行且閒置時執行。關閉終端或讓工作階段退出會停止它們執行。[將工作階段放在背景執行](/docs/zh-TW/agent-view#from-inside-a-session)會將 `/loop` 任務帶到背景工作階段,該工作階段會持續執行而無需終端。236* 任務只在 Claude Code 執行且閒置時執行。關閉終端或讓工作階段退出會停止它們執行。[將工作階段放在背景執行](/docs/zh-TW/agent-view#from-inside-a-session)會將 `/loop` 任務帶到背景工作階段,該工作階段會持續執行而無需終端。

234* 沒有錯過執行的追趕。如果任務的排程時間在 Claude 忙於長時間執行的請求時經過,它會在 Claude 變為閒置時執行一次,而不是每個錯過的間隔執行一次。237* 沒有錯過執行的追趕。如果任務的排程時間在 Claude 忙於長時間執行的請求時經過,它會在 Claude 變為閒置時執行一次,而不是每個錯過的間隔執行一次。

235* 當您使用 `claude --resume` 或 `claude --continue` 繼續工作階段時,Claude Code 會復原使用 `CronCreate` 排程的任務,除了已[過期](#seven-day-expiry)的重複執行任務和排程時間已經過去的一次性任務。自我調整的 `/loop`([不會被復原](#let-claude-choose-the-interval)),因此請再次執行 `/loop` 以重新啟動它。背景 Bash 和監視任務在繼續時永遠不會被復原。238* 在[背景工作階段](/docs/zh-TW/agent-view#from-inside-a-session)中,如果[自我調整的迴圈](#let-claude-choose-the-interval)的下一次喚醒到期時,工作階段的程序未在執行(例如發生當機之後),該迴圈就會停止。當程序再次啟動時,逐字稿會顯示[喚醒不會觸發的通知](/docs/zh-TW/errors#restarted-after-its-next-loop-wakeup-was-due)。若要繼續迴圈,請[回覆該工作階段](/docs/zh-TW/agent-view#peek-and-reply)並要求 Claude 讓它持續執行。

239* 當您使用 `claude --resume` 或 `claude --continue` 繼續工作階段時,Claude Code 會復原使用 `CronCreate` 排程的任務,除了已[過期](#seven-day-expiry)的重複執行任務和排程時間已經過去的一次性任務。[自我調整的 `/loop`](#let-claude-choose-the-interval) 不會被復原,因此請再次執行 `/loop` 以重新啟動它。

240* 已復原的重複執行任務不會針對工作階段未執行期間錯過的執行次數進行觸發。它的下一次執行是您繼續工作階段後第一個到期的執行,且該次執行會套用[抖動](#jitter)。

241* 當您使用 `claude --resume` 或 `claude --continue` 繼續時,Claude Code 不會重新啟動工作階段結束時正在執行的背景 Bash 命令和監視器。如果您仍需要其中某一個,請要求 Claude 再次啟動它。

236* 當[功能旗標擷取關閉](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)時,Claude Code 會將您要求跨工作階段保留的任務儲存在專案的 `.claude/scheduled_tasks.json` 檔案中。當 `.claude` 目錄或該檔案是符號連結時,Claude Code 會傳回錯誤,而不是排程任務。已儲存的任務只在您建立它的專案資料夾中執行。如果您將檔案複製到另一個資料夾(例如新的 worktree),該處的工作階段會列出複製的任務,但不會執行它們,因此請在該資料夾中再次建立任務。242* 當[功能旗標擷取關閉](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)時,Claude Code 會將您要求跨工作階段保留的任務儲存在專案的 `.claude/scheduled_tasks.json` 檔案中。當 `.claude` 目錄或該檔案是符號連結時,Claude Code 會傳回錯誤,而不是排程任務。已儲存的任務只在您建立它的專案資料夾中執行。如果您將檔案複製到另一個資料夾(例如新的 worktree),該處的工作階段會列出複製的任務,但不會執行它們,因此請在該資料夾中再次建立任務。

237 243 

238對於需要無人值守執行的 cron 驅動自動化:244對於需要無人值守執行的 cron 驅動自動化:

Details

252 252 

253始終 `exec` 執行器自己的二進位檔案,而不是 PATH 解析的 `claude`;否則您會破壞[版本固定](/docs/zh-TW/self-hosted-environments-deploy#pin-the-version)。253始終 `exec` 執行器自己的二進位檔案,而不是 PATH 解析的 `claude`;否則您會破壞[版本固定](/docs/zh-TW/self-hosted-environments-deploy#pin-the-version)。

254 254 

255## 隨需啟動的執行器255## 隨需 runner

256 256 

257您可以不使用固定的執行器群組,而是每個工作階段啟動一個執行器。協調器是一個獨立的、無狀態的子命令,它會輪詢 Anthropic 以取得啟動請求,每個沒有可用執行器的已排隊工作階段一個請求,並為每個請求執行您的 `spawn-runner` hook。您的 hook 會將工作負載提交到您的平台:Kubernetes Job、EC2 執行個體、Nomad dispatch。257您可以為每個工作階段啟動一個 runner,而不必執行固定的機群。orchestrator 是一個獨立、無狀態的子命令,它會向 Anthropic 輪詢產生請求(每個已排入佇列但沒有可用 runner 的工作階段各一個),並針對每個請求執行您的 `spawn-runner` hook。您的 hook 會向您的平台提交工作負載:Kubernetes Job、EC2 執行個體、Nomad dispatch。

258 258 

259隨需啟動的執行器改善了認證衛生。在固定群組上,環境祕密存在於每個執行器主機上,這與執行使用者工作階段的主機相同。使用協調器,環境祕密只保留在協調器主機上,該主機永遠不會執行使用者程式碼;每個啟動的執行器都會收到一個一次性工作單,它只註冊一個執行器,然後過期。259隨需 runner 可改善憑證衛生。在固定機群上,環境密鑰存放在每一台 runner 主機上,而這些主機也正是執行使用者工作階段的主機。使用 orchestrator 時,環境密鑰只會留在 orchestrator 主機上,而該主機從不執行使用者程式碼;每個產生的 runner 會收到一份一次性的工作單,該工作單僅註冊恰好一個 runner,之後便會過期。

260 260 

261若要啟動協調器,請傳遞環境祕密和包含可執行 `spawn-runner` 指令碼的 hooks 目錄:261若要啟動 orchestrator,請傳入環境密鑰以及一個包含可執行 `spawn-runner` 指令碼的 hooks 目錄:

262 262 

263```bash theme={null}263```bash theme={null}

264claude self-hosted-runner orchestrator \264claude self-hosted-runner orchestrator \


266 --hooks-dir /etc/claude/hooks266 --hooks-dir /etc/claude/hooks

267```267```

268 268 

269協調器在輪詢之間不保留任何狀態,因此您可以針對同一環境執行兩個或多個副本以實現可用性。每個啟動請求由伺服器端的恰好一個副本聲稱。所有副本必須使用相同的 `--expected-spawn-seconds` 值;請參閱 [hook 合約](#the-spawn-runner-hook)。269orchestrator 在輪詢之間不保留任何狀態,因此您可以針對同一個環境執行兩個或更多副本以提升可用性。每個產生請求在伺服器端只會由恰好一個副本認領。所有副本都必須使用相同的 `--expected-spawn-seconds` 值;請參閱 [hook 合約](#the-spawn-runner-hook)。

270 270 

271### spawn-runner hook271### spawn-runner hook

272 272 

273協調器為每個啟動請求執行一次 `${hooks-dir}/spawn-runner`。hook 必須非同步提交工作,不等待執行器啟動,並在 `--hook-timeout` 內返回,預設為 60 秒。hook 接收:273orchestrator 會針對每個產生請求執行一次 `${hooks-dir}/spawn-runner`。hook 必須以非同步方式提交工作,不等待 runner 啟動,並在 `--hook-timeout`(預設 60 秒)內返回。hook 會收到:

274 274 

275| 變數 | 說明 |275| 變數 | 說明 |

276| :- | :- |276| :- | :- |

277| `CLAUDE_RUNNER_WORK_ORDER_FILE` | 包含已簽署工作單 JWT 的暫存檔案路徑,新執行器使用此 JWT 進行註冊。hook 退出後刪除。不要記錄檔案的內容。 |277| `CLAUDE_RUNNER_WORK_ORDER_FILE` | 暫存檔案的路徑,內含新 runner 用於註冊的已簽署工作單 JWT。hook 結束後即會刪除。請勿記錄該檔案的內容。 |

278| `CLAUDE_RUNNER_ORDER_ID` | 不透明的冪等性金鑰,每個啟動請求唯一,對 Kubernetes 資源名稱安全。將其用作您的佈建程式的去重金鑰。 |278| `CLAUDE_RUNNER_ORDER_ID` | 不透明的冪等性金鑰,每個產生請求皆唯一,且可安全用於 Kubernetes 資源名稱。請只將訂單 ID 作為您佈建工具的去重金鑰,不得使用其他值。 |

279| `CLAUDE_RUNNER_SESSION_ID` | 此請求所針對的工作階段。它在每次重新請求工作階段時重複,因此將其用於記錄和路由,而不是作為去重金鑰。對於預熱請求為空,預熱請求會在設定 [`--min-idle`](/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags) 時在任何特定工作階段之前啟動待命執行器,因此不要假設變數已設定。 |279| `CLAUDE_RUNNER_SESSION_ID` | 此請求所屬的工作階段。該工作階段的每次重新請求都會重複此值,因此請將其用於日誌與路由,而非作為去重金鑰。對於預熱請求則為空值;預熱請求會在設定 [`--min-idle`](/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags) 時,於任何特定工作階段之前先啟動一個待命 runner,因此請勿假設此變數一定已設定。 |

280| `CLAUDE_RUNNER_SESSION_UUID` | 相同的工作階段 ID,採用規範 UUID 形式。對於預熱請求為空。 |280| `CLAUDE_RUNNER_SESSION_UUID` | 相同的工作階段 ID,採標準 UUID 格式。預熱請求時為空值。 |

281| `CLAUDE_RUNNER_ATTEMPT` | 用於記錄的每個工作階段計數器。它不是重試次數,也不是請求次數。對於預熱請求為 `0`,但針對某個工作階段的請求也可能帶有 `0`。 |281| `CLAUDE_RUNNER_ATTEMPT` | 用於日誌的每工作階段計數器。它不是重試次數,也不是請求次數。預熱請求時為 `0`,但某個工作階段的請求也可能帶有 `0`。 |

282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | 來自輪詢回應的 HTTP `Date` 標頭的伺服器時間。當 hook 驗證工作單 JWT 的 `exp` 時,請與此值進行比較,而不是本地時鐘,以容許時間偏差。當閘道省略標頭時為空。 |282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | 取自輪詢回應 HTTP `Date` 標頭的伺服器時間。當 hook 驗證工作單 JWT 的 `exp` 時,請與此值比較而非本機時鐘,以容忍時鐘偏差。若閘道省略了該標頭則為空值。 |

283| `CLAUDE_RUNNER_POOL_ID` | 新執行器應加入的環境的 ID,採用 `ccpool_...` 形式 |283| `CLAUDE_RUNNER_POOL_ID` | 新 runner 應加入的環境 ID,格式為 `ccpool_...` |

284| `CLAUDE_RUNNER_ACCOUNT_ID` | 排隊工作階段的帳戶的標記 ID,用於按帳戶路由、配額或退款。不可用時為空,Claude Tag 頻道工作階段始終為空,這些工作階段沒有帳戶排隊。 |284| `CLAUDE_RUNNER_ACCOUNT_ID` | 將該工作階段排入佇列之帳戶的帶標籤 ID。請將其用於依帳戶路由、配額或成本分攤,而非作為去重金鑰。無法取得時為空值;對於 Claude Tag 頻道工作階段則一律為空值,因為沒有任何帳戶將其排入佇列。 |

285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | 排隊工作階段的帳戶的電子郵件。不可用時為空。將電子郵件視為個人可識別資訊,不要記錄它。 |285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | 將該工作階段排入佇列之帳戶的電子郵件。無法取得時為空值。請將此電子郵件視為個人識別資訊,不要記錄它。 |

286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | 工作階段的第一個 git 來源的 URL,用於路由到預先準備了該儲存庫的執行器。工作階段沒有 git 來源時為空。 |286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | 工作階段第一個 git 來源的 URL,用於路由到已預熱該儲存庫的 runner。工作階段沒有 git 來源時為空值。 |

287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | 工作階段的第一個 git 來源的修訂版本:分支、SHA、標籤或完整參照名稱。未指定時為空。 |287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | 工作階段第一個 git 來源的修訂版本:分支、SHA、標籤或完整參照名稱。未指定時為空值。 |

288| `CLAUDE_RUNNER_REPO_SOURCES` | 所有工作階段的 git 來源的 `{url, revision}` 的 JSON 陣列,用於在次要儲存庫上路由的 hook。沒有來源時為空。 |288| `CLAUDE_RUNNER_REPO_SOURCES` | 工作階段所有 git 來源的 `{url, revision}` JSON 陣列,供依次要儲存庫路由的 hook 使用。沒有來源時為空值。 |

289| `CLAUDE_RUNNER_CORRELATION_ID` | 在工作階段建立時提供的相關 ID,回顯以便 hook 可以將此工作單對應到建立工作階段的請求。工作階段沒有時為空。 |289| `CLAUDE_RUNNER_CORRELATION_ID` | 建立工作階段時提供的關聯 ID,會原樣回傳,讓 hook 可將此工作單對應到建立該工作階段的請求。工作階段沒有關聯 ID 時為空值。 |

290| `CLAUDE_RUNNER_CLIENT_PLATFORM` | 建立工作階段的用戶端表面,例如 `web_claude_ai`、`desktop_app`、`ios` 或 `scheduled_trigger`,用於採用分析。當工作階段沒有記錄或識別的表面時未設定,對於預熱請求也未設定;使用 `[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]` 檢查它,在 `set -u` 下保持安全。 |290| `CLAUDE_RUNNER_CLIENT_PLATFORM` | 建立該工作階段的用戶端使用介面,例如 `web_claude_ai`、`desktop_app`、`ios` 或 `scheduled_trigger`,用於採用情況分析。當工作階段沒有已記錄或可辨識的使用介面時,以及對於預熱請求,此變數不會設定;請使用 `[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]` 檢查,此寫法在 `set -u` 下仍然安全。 |

291 291 

292啟動的執行器使用工作單代替環境祕密進行註冊:292產生的 runner 會以工作單取代環境密鑰來進行註冊:

293 293 

294* **使用工作單啟動它**:將 [`--environment-secret-file`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags) 指向包含工作單 JWT 的檔案,或將 `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` 設定為 JWT 值。294* **以工作單啟動它**:將 [`--environment-secret-file`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags) 指向包含工作單 JWT 的檔案,或將 `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` 設為該 JWT 值。

295* **在 hook 退出前複製 JWT**:協調器在 hook 退出後刪除工作單檔案,因此將 JWT 複製到您提交的工作負載中,例如啟動的 Job 上的 Kubernetes Secret,而不是透過檔案路徑。295* **在 hook 結束前複製 JWT**:orchestrator 會在 hook 結束後刪除工作單檔案,因此請將 JWT 複製到您提交的工作負載中(例如產生之 Job 上的 Kubernetes Secret),而不要只傳遞檔案路徑。

296* **在啟動的執行器上使用 `--capacity 1`**:工作階段綁定的工作單恰好註冊一個綁定到該工作階段的執行器,因此更高的容量會新增永遠不會接收工作的插槽,執行器在啟動時會記錄警告。296* **在產生的 runner 上使用 `--capacity 1`**:綁定工作階段的工作單只會註冊恰好一個綁定到該工作階段的 runner,因此較高的容量只會增加永遠不會收到工作的槽位,且 runner 會在啟動時記錄警告。

297* **預熱工作單註冊未綁定**:待命執行器未綁定到工作階段,並像固定群組執行器一樣聲稱已排隊的工作。297* **預熱工作單以未綁定方式註冊**:待命 runner 不會綁定到工作階段,並會像固定機群 runner 一樣認領佇列中的工作。

298 298 

299無論您的 hook 在哪個平台上佈建,合約都有四條規則:299無論您的 hook 在哪個平台上佈建,此合約都有四條規則:

300 300 

3011. **在 `CLAUDE_RUNNER_ORDER_ID` 上保持冪等性。** 重新傳遞相同的請求最多必須啟動一個執行器。從 ID 衍生確定性資源名稱,並讓您的平台拒絕重複項。不要改為在 `CLAUDE_RUNNER_SESSION_ID` 上進行金鑰設定。每次重新請求工作階段都會使用相同的工作階段 ID 和新的訂單 ID,因此按工作階段 ID 命名或去重的工作負載會為該工作階段建立一次,之後永遠不會再建立。3011. **以 `CLAUDE_RUNNER_ORDER_ID` 實現冪等。** 同一請求重新遞送時,最多只能產生一個 runner。請從訂單 ID 推導出確定性的資源名稱,並讓您的平台拒絕重複項目。請勿改用 `CLAUDE_RUNNER_SESSION_ID` 作為金鑰。某工作階段的每次重新請求都帶有相同的工作階段 ID 與新的訂單 ID,因此以工作階段 ID 命名或去重的工作負載只會建立一次,之後該工作階段便再也不會建立。

3022. **不要重試工作負載。** 一個訂單 ID 最多意味著建立一個工作負載。如果執行器永遠不註冊,Anthropic 會在 `--expected-spawn-seconds` 後使用新的訂單 ID 重新請求。3022. **不要重試工作負載。** 一個訂單 ID 代表最多建立一個工作負載。若 runner 從未註冊,Anthropic 會在 `--expected-spawn-seconds` 之後以新的訂單 ID 重新請求。

3033. **使用退出碼合約。** 以符合結果的狀態退出:3033. **遵循退出碼合約。** 以符合結果的狀態結束:

304 304 

305 * **退出 0**:已提交。305 * **Exit 0**:已提交。

306 * **退出 1,或在 `--hook-timeout` 結束時仍在執行**:可重試的失敗。工作階段會退避並被重新提供。306 * **Exit 1,或在 `--hook-timeout` 結束時仍在執行**:可重試的失敗。工作階段會退避並重新提供。

307 * **退出 2 或更高**:不可重試的失敗。工作階段會被阻止再次啟動,直到使用者向其傳送新訊息,或 [Owner](/docs/zh-TW/cloud-environments#organization-shared-environments) 在環境的 **Activity** 標籤中對其選擇 **Retry**。307 * **Exit 2 或更高**:不可重試的失敗。該工作階段會被封鎖而無法再次產生,直到使用者向其傳送新訊息,或 [Owner](/docs/zh-TW/cloud-environments#organization-shared-environments) 在環境的 **Activity** 分頁中對其選取 **Retry**。

308 308 

309 在非零退出時,hook 的 stderr 的尾部會作為失敗原因出現在 **Activity** 標籤中,因此將可操作的錯誤寫入 stderr,且永遠不要將祕密寫入其中。在 shell hook 中,請[保持暫時性失敗可重試](#keep-transient-failures-retryable-in-a-shell-hook)。309 工作階段退避期間,它會在 **Activity** 分頁中顯示為 **Queued**,且沒有產生錯誤,因此請在 orchestrator 的日誌中查看 hook 的輸出。一旦被封鎖,工作階段會顯示為 **Failed**。展開它即可查看產生錯誤,其內容取自 hook stderr 的最後 512 個字元。請將可據以採取行動的錯誤寫入 stderr,且不要包含任何密鑰。在 shell hook 中,請[讓暫時性失敗保持可重試](#keep-transient-failures-retryable-in-a-shell-hook)。

310 310 

311 預熱請求沒有可失敗的工作階段:協調器只在本地記錄非零退出,伺服器會在 `--expected-spawn-seconds` 租約到期後重新請求啟動。311 預熱請求沒有可失敗的工作階段:orchestrator 只會在本機記錄非零的結束狀態,而伺服器會在 `--expected-spawn-seconds` 租約到期後重新請求產生。

3124. **將 `--expected-spawn-seconds` 設定為至少您從啟動請求到執行器註冊的 p99 時間。** 從協調器收到啟動請求時開始計算,並包含在您的平台上等待容量的時間以及啟動時間。此值是伺服器端租約,工作單會隨之過期,因此工作負載耗時更長的執行器將無法註冊。所有協調器副本必須使用相同的值。3124. **將 `--expected-spawn-seconds` 設為至少等於您從產生請求到 runner 註冊的 p99 時間。** 請從 orchestrator 收到產生請求時開始計算,並將在您平台上等待容量的時間與啟動時間都納入。此值是伺服器端租約,工作單會隨之過期,因此工作負載耗時更久的 runner 將無法註冊。所有 orchestrator 副本都必須使用相同的值。

313 313 

314hook 寫入 stdout 或 stderr 的所有內容都會出現在協調器的日誌中,認證會自動編輯。如果工作階段保持排隊,請檢查協調器的 `/healthz` 主體以取得佇列計數,然後在 [**Cloud environments** 管理頁面](https://claude.ai/admin-settings/cloud-environments) 上開啟您環境的 **Activity** 標籤:在那裡展開失敗的工作階段以查看其啟動錯誤,並選擇 **Retry** 以重新請求它。314hook 寫入 stdout 或 stderr 的所有內容都會出現在 orchestrator 的日誌中,且憑證會自動遮蔽。若工作階段持續停留在佇列中,請檢查 orchestrator 的 `/healthz` 回應內容以取得佇列計數,然後在 [**Cloud environments** 管理頁面](https://claude.ai/admin-settings/cloud-environments)開啟您環境的 **Activity** 分頁:在該處展開失敗的工作階段以查看其產生錯誤,並選取 **Retry** 以重新請求。

315 315 

316保持排隊且在 **Activity** 標籤中沒有啟動錯誤的工作階段可能意味著 hook 是在工作階段 ID 上進行金鑰設定的。若要確認,請檢查您的平台是否有該工作階段的第一個啟動請求的工作負載,以及沒有重新請求的工作負載。如果是這樣,請改為在 `CLAUDE_RUNNER_ORDER_ID` 上進行工作負載金鑰設定。316若工作階段持續停留在佇列中,而 **Activity** 分頁中沒有產生錯誤,可能表示 hook 是以工作階段 ID 作為金鑰。若要確認,請檢查您的平台是否有該工作階段第一次產生請求的工作負載,而重新請求則沒有任何工作負載。若是如此,請改以 `CLAUDE_RUNNER_ORDER_ID` 作為工作負載的金鑰。

317 317 

318#### 讓隨需啟動的執行器在閒置時退出318#### 讓隨需 runner 在閒置時結束

319 319 

320預設情況下,您的 hook 啟動的執行器不會在其工作階段的回合結束時退出,因此您提交的工作負載會持續執行。若要讓執行器退出,請讓您的 hook 傳遞以下[執行器旗標](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags):320預設情況下,您的 hook 啟動的 runner 在其工作階段的回合結束時不會結束,因此您提交的工作負載會持續執行。若要讓 runner 結束,請讓您的 hook 傳入下列 [runner 旗標](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags):

321 321 

322| 旗標與範例值 | 傳遞給 | 作用 |322| 旗標(含範例值) | 傳給 | 作用 |

323| :- | :- | :- |323| :- | :- | :- |

324| `--release-idle-session-min 30` | 您的 hook 啟動的每個執行器 | 執行器在閒置達指定分鐘數後釋放其工作階段,然後以 0 退出。工作階段會在其使用者傳送下一則訊息時恢復,但[尚未推送的工作會遺失](/docs/zh-TW/self-hosted-environments-deploy#additional-limitations)。 |324| `--release-idle-session-min 30` | 您的 hook 啟動的每個 runner | runner 會在閒置達該分鐘數後釋放其工作階段,然後以 0 結束。該工作階段會在其使用者傳送下一則訊息時繼續,但[尚未推送的工作將會遺失](/docs/zh-TW/self-hosted-environments-deploy#additional-limitations)。 |

325| `--kill-session-after-min 480` | 您的 hook 啟動的每個執行器 | 將每個工作階段限制在指定分鐘數內,作為[不算閒置的工作階段](/docs/zh-TW/self-hosted-environments-deploy#some-sessions-don’t-count-as-idle)的備援機制,因此請將其設定為高於您預期最長的工作階段 |325| `--kill-session-after-min 480` | 您的 hook 啟動的每個 runner | 將每個工作階段限制在該分鐘數內,作為[不計為閒置之工作階段](/docs/zh-TW/self-hosted-environments-deploy#some-sessions-don’t-count-as-idle)的防線,因此請將其設定為高於您預期最長的工作階段 |

326| `--exit-if-unused-min 60` | 待命執行器,即您的 hook 為預熱請求啟動的執行器 | 從未接手工作階段的待命執行器會在指定分鐘數後退出。如果您設定了 [`--min-idle`](/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags),除非該待命執行器是多餘的,否則您會獲得替代執行器,因此請使用遠高於您啟動時間的值。 |326| `--exit-if-unused-min 60` | 待命 runner,即您的 hook 為預熱請求所啟動的 runner | 從未接手工作階段的待命 runner 會在該分鐘數後結束。若您設定了 [`--min-idle`](/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags),除非該待命 runner 屬於多餘,否則您會得到一個替代者,因此請使用遠高於啟動時間的值。 |

327 327 

328在執行器退出時移除工作負載,例如在 Kubernetes Job 上設定 `ttlSecondsAfterFinished`,或讓 VM 的啟動指令碼在之後刪除該 VM。328在 runner 結束時移除工作負載,例如在 Kubernetes Job 上設定 `ttlSecondsAfterFinished`,或讓 VM 的啟動指令碼在之後刪除該 VM。

329 329 

330#### 在 shell hook 中保持暫時性失敗可重試330#### 將背景程序的輸出傳送到檔案

331 331 

332在使用 `set -e` 的 shell hook 中,原本重試即可排除的失敗可能會阻止工作階段。hook 會在失敗的命令處停止,並以該命令本身的狀態退出,而協調器會對該狀態套用退出碼合約。許多失敗會回傳 2 或更高的狀態,例如命令未安裝時的 `127`,以及 `curl --fail` 遇到 HTTP 錯誤時的 `22`,因此它們會在第一次失敗時就阻止工作階段。332若您的 `spawn-runner` hook 留下一個在背景執行的程序,請將該程序的輸出傳送到 hook 的使用者可以建立的檔案。例如,在啟動該程序的命令中、任何 `&` 之前附加 `>> "$HOME/claude-runner.log" 2>&1`。以下 hook 行顯示重新導向的位置,其中 `your-background-command` 代表您的 hook 放到背景執行的命令:

333 333 

334已被 hook 阻止的工作階段會保持阻止狀態,直到使用者向其傳送新訊息,或 [Owner](/docs/zh-TW/cloud-environments#organization-shared-environments) 在環境的 **Activity** 標籤中對其選擇 **Retry**。334```bash theme={null}

335your-background-command >> "$HOME/claude-runner.log" 2>&1 &

336```

337 

338若沒有重新導向,該程序會寫入 hook 的 stdout 與 stderr:

339 

340* hook 結束約一秒後,orchestrator 會記錄 `exited, but a process it started still has the hook's stdout or stderr open`。從該行起,它會在 `[runner:hook:spawn-runner:after-exit jti=<order id>]` 下再記錄最多 64 KB 的該輸出,之後捨棄其餘部分。

341* orchestrator 結束後,該程序寫入那裡的動作就會失敗。

342 

343由您的 hook 自行啟動的 runner 會在 orchestrator 主機上執行工作階段,而該主機持有[環境密鑰](/docs/zh-TW/self-hosted-environments-deploy#harden-your-deployment)。

344 

345在 v2.1.305 之前,已結束的 hook 若其啟動的程序仍開啟著 hook 的 stdout 或 stderr,仍會達到 [`--hook-timeout`](/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags),顯示如下:

346 

347* **Activity 分頁**,在失敗工作階段的產生錯誤中:`spawn-runner hook timed out after 60000ms`,或 hook stderr 上的最後幾行。

348* **orchestrator 日誌**:`timed out after 60000ms, sending SIGTERM to process tree`。

349 

350#### 在 shell hook 中讓暫時性失敗保持可重試

351 

352在使用 `set -e` 的 shell hook 中,原本透過重試即可排除的失敗可能會封鎖工作階段。hook 會在失敗的命令處停止,並以該命令本身的狀態結束,而 orchestrator 會對該狀態套用退出碼合約。許多失敗會回傳 2 或更高的狀態,例如命令未安裝時的 `127`,以及 `curl --fail` 遇到 HTTP 錯誤時的 `22`,因此它們會在第一次失敗時就封鎖工作階段。

353 

354已被 hook 封鎖的工作階段會保持封鎖,直到使用者向其傳送新訊息,或 [Owner](/docs/zh-TW/cloud-environments#organization-shared-environments) 在環境的 **Activity** 分頁中對其選取 **Retry**。

335 355 

336若要將此類失敗改為退出 1,請將以下幾行直接放在 hook 的 `#!` 行下方,位於任何可能失敗的內容之前:356若要改將此類失敗轉為 exit 1,請將下列幾行直接放在 hook 的 `#!` 行下方、任何可能失敗的內容之上:

337 357 

338```bash theme={null}358```bash theme={null}

339set -e359set -e


341trap 'rc=$?; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT361trap 'rc=$?; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

342```362```

343 363 

344這幾行會改變 hook 其餘部分的行為,因此加入後,請檢查 hook 中是否有以下每種模式:364這幾行會改變 hook 其餘部分的行為,因此加入後請針對下列每種模式檢查 hook:

345 365 

346* **單獨的 `exit 2` 或更高**:設定 trap 後,它會變成退出 1。對於任何重試都無法修正的錯誤,請改為以原因呼叫 `permanent`,例如 `permanent "namespace claude-runners does not exist"`。請在主 shell 中呼叫它,不要在 `$( )`、`( )` 或管線中呼叫。366* **單純的 `exit 2` 或更高**:設定 trap 後,它會變成 exit 1。對於任何重試都無法修復的錯誤,請改為以原因呼叫 `permanent`,例如 `permanent "namespace claude-runners does not exist"`。請在主 shell 中呼叫,而不要在 `$( )`、`( )` 或管線中呼叫。

347* **`exec`**:不要以 `exec` 開始 hook 的最後一個命令,因為 `exec` 會取代 shell,trap 將不會執行。367* **`exec`**:不要以 `exec` 開始 hook 的最後一個命令,因為 `exec` 會取代 shell,trap 將不會執行。

348* **第二個 `EXIT` trap**:第二個 `trap ... EXIT` 會取代第一個,因此請將兩者合併為單一 trap。將您的清理命令直接放在 `rc=$?;` 之後,並在每個命令結尾加上 `|| true;`。如此一來,清理在失敗和成功時都會執行,且失敗的清理命令不會設定 hook 的退出狀態。以下合併後的 trap 展示了其形式,其中 `your-cleanup-command` 代表您自己的命令:368* **第二個 `EXIT` trap**:第二個 `trap ... EXIT` 會取代第一個,因此請將兩者合併為單一 trap。將您的清理命令直接放在 `rc=$?;` 之後,並在每個命令結尾加上 `|| true;`。如此一來,清理在失敗與成功時都會執行,且失敗的清理命令不會設定 hook 的結束狀態。以下合併後的 trap 展示其形式,其中 `your-cleanup-command` 代表您自己的命令:

349 369 

350 ```bash theme={null}370 ```bash theme={null}

351 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT371 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

352 ```372 ```

353* **允許失敗的命令**:如果 hook 之前未使用 `set -e`,它現在會在第一個回傳非零的命令處停止,例如找不到任何結果的查詢,或被您的平台拒絕的重複提交。如果 hook 會根據結果採取動作,請將該命令作為 `if` 的條件。如果它忽略結果,請在該命令後加上 `|| true`。373* **允許失敗的命令**:若 hook 之前未使用 `set -e`,它現在會在第一個回傳非零值的命令處停止,例如找不到任何結果的查詢。若 hook 會依據結果採取動作,請將該命令作為 `if` 的條件。若 hook 忽略結果,請在該命令後加上 `|| true`。

374* **提交工作負載的命令**:不要在其後加上 `|| true`。加上 `|| true` 時,即使您的平台拒絕提交(例如超出配額),hook 也會以 0 結束,而工作階段會等待一個從未啟動的 runner。

354 375 

355若要確認 trap 是否正常運作,請在 `trap` 行正下方新增一行,呼叫一個不存在的命令,例如 `no-such-command`。從您的 shell 執行 hook 檔案,確認 `echo $?` 輸出 `1`,然後移除該行。376 請依照 [hook 的第一條規則](#the-spawn-runner-hook),以 `CLAUDE_RUNNER_ORDER_ID` 命名工作負載。如此一來,「已存在」的回應即代表同一請求的重新遞送,因此請只將該回應視為成功。對於其他任何回應,請將該回應印到 stderr 並以 exit 1 結束,或在任何重試都無法修復時呼叫 `permanent`。此範例針對 `kubectl create` 執行上述處理,其中 `job.yaml` 僅包含工作負載:

377 

378 ```bash theme={null}

379 if ! out=$(kubectl create -f job.yaml 2>&1); then

380 case "$out" in

381 *AlreadyExists*) ;;

382 *) printf '%s\n' "${out:-kubectl create failed}" >&2; exit 1 ;;

383 esac

384 fi

385 ```

386 

387 orchestrator 的日誌隨後便會顯示該訊息。若 hook 會建立其他物件,請以訂單 ID 為每個物件命名,為其提供各自的命令,並以相同方式將其「已存在」回應視為成功。對於持有密鑰的物件,請印出固定訊息,而非命令的輸出。

388 

389若要確認 trap 是否正常運作,請在 `trap` 行正下方加入一行呼叫不存在的命令,例如 `no-such-command`。從您的 shell 執行 hook 檔案,並確認 `echo $?` 印出 `1`,然後移除該行。

356 390 

357## 將模型請求傳送至 Bedrock 或 Agent Platform391## 將模型請求傳送至 Bedrock 或 Agent Platform

358 392 


457 491 

458* 位於標準系統路徑的企業範圍[受管 MCP 檔案](/docs/zh-TW/managed-mcp):Linux runner 主機上為 `/etc/claude-code/managed-mcp.json`,macOS 主機上為 `/Library/Application Support/ClaudeCode/managed-mcp.json`。適用於僅允許載入管理員所列伺服器的鎖定機群。優先順序規則請參閱[使用 managed-mcp.json 進行獨占控制](/docs/zh-TW/managed-mcp#exclusive-control-with-managed-mcp-json)。當此檔案存在於 runner 主機上時,Claude Code 會略過 Anthropic 控制平面傳遞給工作階段的 MCP 伺服器(包括 claude.ai 連接器),並在工作階段子程序的 stderr 上以警告列出它們,runner 會以 `debug` 日誌層級記錄這些警告。在 v2.1.229 之前,這些工作階段會在啟動時以 `You cannot dynamically configure MCP servers when an enterprise MCP config is present` 結束。492* 位於標準系統路徑的企業範圍[受管 MCP 檔案](/docs/zh-TW/managed-mcp):Linux runner 主機上為 `/etc/claude-code/managed-mcp.json`,macOS 主機上為 `/Library/Application Support/ClaudeCode/managed-mcp.json`。適用於僅允許載入管理員所列伺服器的鎖定機群。優先順序規則請參閱[使用 managed-mcp.json 進行獨占控制](/docs/zh-TW/managed-mcp#exclusive-control-with-managed-mcp-json)。當此檔案存在於 runner 主機上時,Claude Code 會略過 Anthropic 控制平面傳遞給工作階段的 MCP 伺服器(包括 claude.ai 連接器),並在工作階段子程序的 stderr 上以警告列出它們,runner 會以 `debug` 日誌層級記錄這些警告。在 v2.1.229 之前,這些工作階段會在啟動時以 `You cannot dynamically configure MCP servers when an enterprise MCP config is present` 結束。

459* runner 主機上[受管設定](/docs/zh-TW/managed-settings)中的 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) 鍵:提供 HTTP 和 SSE 伺服器而不取得獨占控制,因此來自其他來源的伺服器仍會載入。需要 Claude Code v2.1.259 或更新版本。493* runner 主機上[受管設定](/docs/zh-TW/managed-settings)中的 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) 鍵:提供 HTTP 和 SSE 伺服器而不取得獨占控制,因此來自其他來源的伺服器仍會載入。需要 Claude Code v2.1.259 或更新版本。

460* `<repo>/.mcp.json`:專案範圍。將此檔案提交到儲存庫;其伺服器在雲端工作階段中會自動核准。在包含多個儲存庫的工作階段中,[最多只會載入一個儲存庫的檔案](#repository-settings-in-sessions-with-several-repositories)。494* `<repo>/.mcp.json`:專案範圍。在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)對話串之外,將此檔案提交到儲存庫,其伺服器在雲端工作階段中即會自動核准。在包含多個儲存庫的工作階段中,[最多只會載入一個儲存庫的檔案](#repository-settings-in-sessions-with-several-repositories)。

461* 來自您包裝腳本的 [`--mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 檔案:將此旗標附加在 `"$@"` 之後,例如 `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`。若要在工作階段所傳遞的伺服器於工作階段中途更新時,讓該檔案中的伺服器持續執行,請讓您的包裝腳本將[完整環境](#wrapper-scripts)傳遞給子程序,如同 `exec` 的做法。在 v2.1.299 之前,該檔案中的 stdio、HTTP 和 SSE 伺服器會在第一次未列出它們的此類更新時關閉。495* 來自您包裝腳本的 [`--mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 檔案:將此旗標附加在 `"$@"` 之後,例如 `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`。若要在工作階段所傳遞的伺服器於工作階段中途更新時,讓該檔案中的伺服器持續執行,請讓您的包裝腳本將[完整環境](#wrapper-scripts)傳遞給子程序,如同 `exec` 的做法。在 v2.1.299 之前,該檔案中的 stdio、HTTP 和 SSE 伺服器會在第一次未列出它們的此類更新時關閉。

462 496 

463當您的組織啟用連接器傳遞時,Anthropic 的控制平面會透過伺服器提供的 MCP 設定,將您在 claude.ai 上設定的連接器傳遞給以互動方式建立的工作階段,並經由 `api.anthropic.com` 路由。以程式化方式建立的工作階段(例如 [CLI 派送](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop))不會接收連接器傳遞;請改為透過本節列出的任何其他來源為它們提供 MCP 伺服器。子程序的 OAuth token 不具備直接擷取連接器的範圍,因此子程序本身不會嘗試該擷取;傳遞是由伺服器驅動的。497當您的組織啟用連接器傳遞時,Anthropic 的控制平面會透過伺服器提供的 MCP 設定,將您在 claude.ai 上設定的連接器傳遞給以互動方式建立的工作階段,並經由 `api.anthropic.com` 路由。以程式化方式建立的工作階段(例如 [CLI 派送](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop))不會接收連接器傳遞;請改為透過本節列出的任何其他來源為它們提供 MCP 伺服器。子程序的 OAuth token 不具備直接擷取連接器的範圍,因此子程序本身不會嘗試該擷取;傳遞是由伺服器驅動的。

464 498 

499> [!NOTE]

500>

501> 在已接收連接器的工作階段中,來自主機 `.claude.json` 或儲存庫 `.mcp.json` 的同名伺服器不會被連線。若要同時使用兩者,請為您的伺服器取不同的名稱。

502 

465`settings.json` 不包含 MCP 伺服器定義,且設定 schema 中沒有頂層的 `mcpServers` 欄位。在受管設定中,請改用 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) 鍵來提供伺服器。503`settings.json` 不包含 MCP 伺服器定義,且設定 schema 中沒有頂層的 `mcpServers` 欄位。在受管設定中,請改用 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) 鍵來提供伺服器。

466 504 

467工作階段會繼承 runner 的環境,因此請在該處設定 [`ENABLE_TOOL_SEARCH`](/docs/zh-TW/mcp#scale-with-mcp-tool-search),以控制 runner 產生的每個工作階段的 MCP 工具搜尋;各個值的說明請參閱 MCP 頁面。505工作階段會繼承 runner 的環境,因此請在該處設定 [`ENABLE_TOOL_SEARCH`](/docs/zh-TW/mcp#scale-with-mcp-tool-search),以控制 runner 產生的每個工作階段的 MCP 工具搜尋;各個值的說明請參閱 MCP 頁面。


635 673 

636工作階段也會讀取以下設定檔:674工作階段也會讀取以下設定檔:

637 675 

638* **專案設定**:儲存庫提交的 `.claude/settings.json` 會疊加於使用者層級基準之上。在包含多個儲存庫的工作階段中,[最多只有一個儲存庫的檔案會生效](#repository-settings-in-sessions-with-several-repositories)。676* **專案設定**:在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)討論串以外,儲存庫提交的 `.claude/settings.json` 會疊加於使用者層級基準之上。在包含多個儲存庫的工作階段中,[最多只有一個儲存庫的檔案會生效](#repository-settings-in-sessions-with-several-repositories)。

639* **受管設定**:工作階段會從執行器映像中的標準系統路徑讀取 [`managed-settings.json`](/docs/zh-TW/settings#where-settings-live)。關於其設定鍵是否與[伺服器受管設定](/docs/zh-TW/server-managed-settings)一併套用,請參閱 [Claude Code 如何組合受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)。677* **受管設定**:工作階段會從執行器映像中的標準系統路徑讀取 [`managed-settings.json`](/docs/zh-TW/settings#where-settings-live)。關於其設定鍵是否與[伺服器受管設定](/docs/zh-TW/server-managed-settings)一併套用,請參閱 [Claude Code 如何組合受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)。

640 678 

641關於這些來源的套用順序,請參閱[設定優先順序](/docs/zh-TW/settings#settings-precedence)。679關於這些來源的套用順序,請參閱[設定優先順序](/docs/zh-TW/settings#settings-precedence)。


646* **撰寫者**:控制平面以其自身部署中的固定常數填入這些指令碼,絕不來自個別工作階段或第三方輸入。684* **撰寫者**:控制平面以其自身部署中的固定常數填入這些指令碼,絕不來自個別工作階段或第三方輸入。

647* **仍受何者管控**:透過 `--settings` 傳遞的 hook 會進入一般的合併 hook 設定,而非受管層級,因此您的受管設定仍然適用。`disableAllHooks` 會停用它們,且它們不屬於 [`allowManagedHooksOnly`](/docs/zh-TW/settings-reference#allowmanagedhooksonly) 保持載入的類別。685* **仍受何者管控**:透過 `--settings` 傳遞的 hook 會進入一般的合併 hook 設定,而非受管層級,因此您的受管設定仍然適用。`disableAllHooks` 會停用它們,且它們不屬於 [`allowManagedHooksOnly`](/docs/zh-TW/settings-reference#allowmanagedhooksonly) 保持載入的類別。

648 686 

649當使用者啟動自己的工作階段時,Claude Code 也會將[其 claude.ai 帳戶已啟用的 skill](/docs/zh-TW/skills#skills-in-cowork-and-cloud-sessions) 下載至該工作階段的設定目錄。[雲端排程任務](/docs/zh-TW/routines)的執行不會取得其擁有者的 skill,而[將模型請求傳送至 Bedrock 或 Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) 的工作階段則不會下載任何 skill。若這些工作階段需要某個 skill,請將其提交至儲存庫的 `.claude/skills/`,或將其加入您的執行器映像。687當使用者啟動自己的工作階段時,Claude Code 也會將[其 claude.ai 帳戶已啟用的 skill](/docs/zh-TW/skills#skills-in-cowork-and-cloud-sessions) 下載至該工作階段的設定目錄。[雲端排程任務](/docs/zh-TW/routines)的執行不會取得其擁有者的 skill,而[將模型請求傳送至 Bedrock 或 Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) 的工作階段則不會下載任何 skill。若這些工作階段需要某個 skill,請將其加入您的執行器映像,或在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)以外將其提交至儲存庫的 `.claude/skills/`。

650 688 

651在 [Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段以外,自託管環境中的工作階段預設會關閉[自動記憶](/docs/zh-TW/memory#auto-memory)。若有應跨工作階段延續的指令,請使用執行器映像或儲存庫中的 `CLAUDE.md`。689在 [Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段以外,自託管環境中的工作階段預設會關閉[自動記憶](/docs/zh-TW/memory#auto-memory)。若有應跨工作階段延續的指令,請使用執行器映像或儲存庫中的 `CLAUDE.md`。

652 690 


654 692 

655### 包含多個儲存庫之工作階段中的儲存庫設定693### 包含多個儲存庫之工作階段中的儲存庫設定

656 694 

657在包含多個儲存庫的工作階段中,Claude Code 會從工作階段啟動時所在的目錄讀取專案設定,因此最多只有一個儲存庫的 `.claude/settings.json` 會作為專案設定生效。在其他儲存庫檔案中定義的 hook 不會執行,其中的拒絕規則不會套用,其 `env` 也不會被設定。695在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)中的討論串裡,無論討論串在何處啟動,都不會有任何儲存庫的 `.claude/settings.json` 作為專案設定生效,也不會載入任何儲存庫的 `.mcp.json` 或 skill。若要為這些討論串提供 skill,請將其加入您的執行器映像。

696 

697在其他任何包含多個儲存庫的工作階段中,Claude Code 會從工作階段啟動時所在的目錄讀取專案設定,因此最多只有一個儲存庫的 `.claude/settings.json` 會作為專案設定生效。在其他儲存庫檔案中定義的 hook 不會執行,其中的拒絕規則不會套用,其 `env` 也不會被設定。

658 698 

659* **`--capacity 1`(預設值)搭配內建簽出**:工作階段會在其儲存庫清單中的第一個儲存庫啟動。該儲存庫的 `.claude/settings.json` 會作為專案設定生效,其 `.mcp.json` 也會載入,其他儲存庫的則不會。699* **`--capacity 1`(預設值)搭配內建簽出**:工作階段會在其儲存庫清單中的第一個儲存庫啟動。該儲存庫的 `.claude/settings.json` 會作為專案設定生效,其 `.mcp.json` 也會載入,其他儲存庫的則不會。

660* **`--capacity` 大於一,或使用 [`checkout` hook](#checkout)**:工作階段會在包含各簽出內容的個別工作階段目錄中啟動。沒有任何儲存庫的 `.claude/settings.json` 會作為專案設定生效,沒有任何儲存庫的 `.mcp.json` 會載入,且 hook 命令中的 [`$CLAUDE_PROJECT_DIR`](/docs/zh-TW/hooks#reference-scripts-by-path) 為該目錄,而非某個簽出內容。700* **`--capacity` 大於一,或使用 [`checkout` hook](#checkout)**:工作階段會在包含各簽出內容的個別工作階段目錄中啟動。沒有任何儲存庫的 `.claude/settings.json` 會作為專案設定生效,沒有任何儲存庫的 `.mcp.json` 會載入,且 hook 命令中的 [`$CLAUDE_PROJECT_DIR`](/docs/zh-TW/hooks#reference-scripts-by-path) 為該目錄,而非某個簽出內容。

661 701 

662無論工作階段在何處啟動,每個儲存庫的 `CLAUDE.md` 和 skill 都會載入。執行器會將每個儲存庫作為[額外目錄](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)傳遞給 Claude Code,因此 Claude Code 也會從每個儲存庫的 `.claude/settings.json` 讀取 `enabledPlugins` 和 `extraKnownMarketplaces` 設定鍵。702無論工作階段在何處啟動,每個儲存庫的 `CLAUDE.md` 都會載入。在專案討論串以外,其 skill 也會載入。執行器會將每個儲存庫作為[額外目錄](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)傳遞給 Claude Code,因此 Claude Code 也會從每個儲存庫的 `.claude/settings.json` 讀取 `enabledPlugins` 和 `extraKnownMarketplaces` 設定鍵。

663 703 

664若要在每個工作階段中執行 hook 或套用權限規則,請將其放在執行器主機上的 `~/.claude/settings.json` 中。無論工作階段在何處啟動,執行器都會[將主機檔案植入每個工作階段](#how-each-session’s-config-is-assembled)。在 `Read` 或 `Edit` 規則中,請將路徑寫成 `//` 絕對路徑或 `~/` 相對於家目錄的[模式](/docs/zh-TW/permissions#read-and-edit),因為其他模式會以設定來源或目前目錄為基準。704若要在每個工作階段中執行 hook 或套用權限規則,請將其放在執行器主機上的 `~/.claude/settings.json` 中。無論工作階段在何處啟動,執行器都會[將主機檔案植入每個工作階段](#how-each-session’s-config-is-assembled)。在 `Read` 或 `Edit` 規則中,請將路徑寫成 `//` 絕對路徑或 `~/` 相對於家目錄的[模式](/docs/zh-TW/permissions#read-and-edit),因為其他模式會以設定來源或目前目錄為基準。

665 705 

Details

80以下主機端流程確實會連線到 `claude.ai`,因此請從出站流量允許連線到它的主機執行這些流程,而不是擴大工作階段容器的出站流量:80以下主機端流程確實會連線到 `claude.ai`,因此請從出站流量允許連線到它的主機執行這些流程,而不是擴大工作階段容器的出站流量:

81 81 

82* **單行安裝程式**:在安裝時從 `claude.ai` 提取 `install.sh`。82* **單行安裝程式**:在安裝時從 `claude.ai` 提取 `install.sh`。

83* **互動式 `claude auth login`**:透過 `claude.ai`、`claude.com` 和 `platform.claude.com` 登入。[引導式設定](/docs/zh-TW/self-hosted-environments-quickstart#run-the-guided-setup)、`doctor` 的已登入模式和 [CI 分派](/docs/zh-TW/self-hosted-environments-testing#authenticate-from-ci)會使用它。您用來登入的瀏覽器也會從 `hcaptcha.com`、`*.hcaptcha.com` 和 `challenges.cloudflare.com` 載入 claude.ai 登入頁面的瀏覽器檢查。83* **互動式 `claude auth login`**:透過 `claude.ai`、`claude.com` 和 `platform.claude.com` 登入。[引導式設定](/docs/zh-TW/self-hosted-environments-quickstart#run-the-guided-setup)、`doctor` 的已登入模式和 [CI 分派](/docs/zh-TW/self-hosted-environments-testing#authenticate-from-ci)會使用它。您用來登入的瀏覽器也會從 `hcaptcha.com`、`*.hcaptcha.com` 和 `challenges.cloudflare.com` 載入 claude.ai 登入頁面的瀏覽器檢查。如果您的組織使用單一登入,該瀏覽器也可能會透過 `sso.claude.com` 重新導向。

84 84 

85### 預設拒絕出站流量85### 預設拒絕出站流量

86 86 


654* **Runner 在啟動時以 `RegisterRunner failed:` 及 TLS 憑證錯誤結束**:錯誤可能是 `self signed certificate in certificate chain` 等。Runner 不信任其收到之憑證背後的憑證授權單位(CA),這種情況會發生在執行 TLS 檢查的代理伺服器後方。請在 runner 的環境中將 [`NODE_EXTRA_CA_CERTS`](/docs/zh-TW/network-config#custom-ca-certificates) 設為包含代理伺服器根 CA 的 PEM 檔案。654* **Runner 在啟動時以 `RegisterRunner failed:` 及 TLS 憑證錯誤結束**:錯誤可能是 `self signed certificate in certificate chain` 等。Runner 不信任其收到之憑證背後的憑證授權單位(CA),這種情況會發生在執行 TLS 檢查的代理伺服器後方。請在 runner 的環境中將 [`NODE_EXTRA_CA_CERTS`](/docs/zh-TW/network-config#custom-ca-certificates) 設為包含代理伺服器根 CA 的 PEM 檔案。

655 655 

656 您不需要為工作階段再次設定,工作階段會繼承它。Git 不會讀取它:若要透過該代理伺服器進行 clone,也請設定 [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git)。656 您不需要為工作階段再次設定,工作階段會繼承它。Git 不會讀取它:若要透過該代理伺服器進行 clone,也請設定 [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git)。

657* **您的啟動腳本輸出包含 `Resource temporarily unavailable` 的寫入錯誤並結束**:您的腳本與其所啟動的 `claude self-hosted-runner` 或 [orchestrator](/docs/zh-TW/self-hosted-environments-configuration#on-demand-runners) 程序共用 stdout 或 stderr,而該程序已將此共用的管道或 socket 切換為非阻塞模式。當管道已滿時,您腳本的寫入會以此作業系統錯誤失敗,而不是等待,且在 `set -e` 下腳本會結束。

658 

659 若要消除此錯誤,請將 runner 或 orchestrator 的輸出導向您腳本的使用者能夠建立的檔案。在啟動它的命令後附加 `>> "$HOME/claude-runner.log" 2>&1`,並置於任何將其移至背景執行的 `&` 之前:

660 

661 ```bash theme={null}

662 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1

663 ```

664 

665 您腳本本身的輸出仍會送往原本的位置,而 runner 寫入 stdout 與 stderr 的內容(包括其啟動錯誤)則會送往該檔案。請使用此 shell 重新導向,而非僅使用 [`--log-file`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags),後者會在 runner 持續寫入 stdout 與 stderr 的同時,將日誌鏡像寫入檔案。如果您已傳入 `--log-file`,也請保留它,因為重新導向不會改變該檔案所接收的內容。

657* **Orchestrator 記錄 `poll failed:` 及 TLS 憑證錯誤並持續重試**:orchestrator 不信任其收到之憑證背後的 CA,這種情況會發生在執行 TLS 檢查的代理伺服器後方。請在 orchestrator 的環境中將 [`NODE_EXTRA_CA_CERTS`](/docs/zh-TW/network-config#custom-ca-certificates) 設為包含代理伺服器根 CA 的 PEM 檔案。也請為您的 `spawn-runner` hook 所啟動的 runner 設定它。666* **Orchestrator 記錄 `poll failed:` 及 TLS 憑證錯誤並持續重試**:orchestrator 不信任其收到之憑證背後的 CA,這種情況會發生在執行 TLS 檢查的代理伺服器後方。請在 orchestrator 的環境中將 [`NODE_EXTRA_CA_CERTS`](/docs/zh-TW/network-config#custom-ca-certificates) 設為包含代理伺服器根 CA 的 PEM 檔案。也請為您的 `spawn-runner` hook 所啟動的 runner 設定它。

658 667 

659 例如,某行可能以 `poll failed: self signed certificate in certificate chain — retrying in 1s` 結尾,冒號與破折號之間是 TLS 函式庫的訊息。若要確認修正是否生效,請檢查 orchestrator 的 [`/healthz`](/docs/zh-TW/self-hosted-environments-reference#health-endpoint) 回應本文中 `connected` 是否為 `true`。668 例如,某行可能以 `poll failed: self signed certificate in certificate chain — retrying in 1s` 結尾,冒號與破折號之間是 TLS 函式庫的訊息。若要確認修正是否生效,請檢查 orchestrator 的 [`/healthz`](/docs/zh-TW/self-hosted-environments-reference#health-endpoint) 回應本文中 `connected` 是否為 `true`。

Details

321* **OAuth token**:使用 [`claude setup-token`](/docs/zh-TW/authentication#generate-a-long-lived-token) 產生 token,為您的 Team 或 Enterprise 組織授權該 token,並在作業的環境中將其設為 `CLAUDE_CODE_OAUTH_TOKEN`。從該環境中移除任何[優先於](/docs/zh-TW/authentication#authentication-precedence)該 token 的憑證,例如 `ANTHROPIC_API_KEY`。321* **OAuth token**:使用 [`claude setup-token`](/docs/zh-TW/authentication#generate-a-long-lived-token) 產生 token,為您的 Team 或 Enterprise 組織授權該 token,並在作業的環境中將其設為 `CLAUDE_CODE_OAUTH_TOKEN`。從該環境中移除任何[優先於](/docs/zh-TW/authentication#authentication-precedence)該 token 的憑證,例如 `ANTHROPIC_API_KEY`。

322* **端點受管設定**:將[受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms)部署至執行該作業的機器。322* **端點受管設定**:將[受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms)部署至執行該作業的機器。

323 323 

324在 Claude Desktop 應用程式的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段中,即使使用者以 Team 或 Enterprise 帳戶登入,Claude Code 也不會從 claude.ai 管理主控台擷取伺服器受管設定。[政策的套用位置與時機](/docs/zh-TW/managed-settings#where-and-when-a-policy-applies)說明了哪些政策會套用至使用者機器上的 Cowork 工作階段以及遠端 Cowork 工作階段。當 Cowork 使用者在 claude.ai 上從 git 儲存庫新增市集,或從 Cowork 分頁中的 **Customize** 新增市集時,claude.ai 仍會自行套用您的 [`strictKnownMarketplaces`](/docs/zh-TW/settings-reference#strictknownmarketplaces) 和 [`blockedMarketplaces`](/docs/zh-TW/settings-reference#blockedmarketplaces) 清單。[限制的運作方式](/docs/zh-TW/plugins/org#restrict-what-users-can-install)說明了該檢查。324在 Claude Desktop 應用程式的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段中,即使使用者以 Team 或 Enterprise 帳戶登入,Claude Code 也不會從 claude.ai 管理主控台擷取伺服器受管設定。[政策的套用位置與時機](/docs/zh-TW/managed-settings#where-and-when-a-policy-applies)說明了哪些政策會套用至使用者機器上的 Cowork 工作階段以及遠端 Cowork 工作階段。當 Cowork 使用者在 claude.ai 上從 git 儲存庫新增市集,或從 Cowork 中的 **Customize** 新增市集時,claude.ai 仍會自行套用您的 [`strictKnownMarketplaces`](/docs/zh-TW/settings-reference#strictknownmarketplaces) 和 [`blockedMarketplaces`](/docs/zh-TW/settings-reference#blockedmarketplaces) 清單。[限制的運作方式](/docs/zh-TW/plugins/org#restrict-what-users-can-install)說明了該檢查。

325 325 

326如果您在 shell 中匯出 `CLAUDE_CODE_USE_*` 提供者變數或非預設的 `ANTHROPIC_BASE_URL`,Claude Code 會為您的工作階段略過設定擷取。[`claude doctor` 和 `/status` 會回報已略過的擷取及其原因](#verify-settings-delivery)。326如果您在 shell 中匯出 `CLAUDE_CODE_USE_*` 提供者變數或非預設的 `ANTHROPIC_BASE_URL`,Claude Code 會為您的工作階段略過設定擷取。[`claude doctor` 和 `/status` 會回報已略過的擷取及其原因](#verify-settings-delivery)。

327 327 

settings.md +4 −2

Details

321 321 

322[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)在[雲端環境](/docs/zh-TW/cloud-environments)中執行,在您儲存庫的新複製上,而不是在您的機器上。這改變了哪些設定到達它:322[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)在[雲端環境](/docs/zh-TW/cloud-environments)中執行,在您儲存庫的新複製上,而不是在您的機器上。這改變了哪些設定到達它:

323 323 

324* **共享專案設定**(`.claude/settings.json`):在一個儲存庫的工作階段中讀取,因為檔案是複製的一部分,且工作階段在其內部啟動。在那裡提交設定以在這些工作階段中應用它。在 Anthropic 託管的環境中,具有多個儲存庫的工作階段在複製上方啟動,並從每個儲存庫的 `.claude/settings.json` 只讀取 `enabledPlugins` 和 `extraKnownMarketplaces` 金鑰,而不是權限規則、hook、`env` 或其他金鑰。這兩個金鑰宣告的市集和外掛仍然[不會在雲端工作階段中載入](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。若為自託管環境,請參閱[適用哪個儲存庫的設定](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)。324* **專案中的雲端執行緒**:在[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)中的雲端執行緒裡,無論專案有多少個儲存庫,儲存庫 `.claude/settings.json` 中的權限規則、hook 或 `env` 都不會套用。[執行緒從您的儲存庫取得哪些內容](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)列出了可改用的方式。

325* **共享專案設定**(`.claude/settings.json`):在專案之外具有一個儲存庫的工作階段中讀取,因為檔案是複製的一部分,且工作階段在其內部啟動。在那裡提交設定以在這些工作階段中套用它。

326* **具有多個儲存庫的共享專案設定**:在 Anthropic 託管的環境中,具有多個儲存庫的工作階段在複製上方啟動,並從每個儲存庫的 `.claude/settings.json` 只讀取 `enabledPlugins` 和 `extraKnownMarketplaces` 設定鍵,而不是權限規則、hook、`env` 或其他設定鍵。這兩個設定鍵宣告的市集和外掛仍然[不會在雲端工作階段中載入](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。若為自託管環境,請參閱[適用哪個儲存庫的設定](/docs/zh-TW/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)。

325* **使用者和專案本機設定**(`~/.claude/settings.json` 和 `.claude/settings.local.json`):未讀取。兩者都保留在您的機器上,本機檔案不在複製中。327* **使用者和專案本機設定**(`~/.claude/settings.json` 和 `.claude/settings.local.json`):未讀取。兩者都保留在您的機器上,本機檔案不在複製中。

326* **受管設定**:您組織的[伺服器管理設定](/docs/zh-TW/server-managed-settings)會到達雲端工作階段;您裝置上的 `managed-settings.json` 檔案或 MDM 設定檔不會。[表面涵蓋範圍](/docs/zh-TW/model-config#surface-coverage)列出哪些雲端工作階段接收它們。[自託管環境](/docs/zh-TW/self-hosted-environments)也讀取其執行器映像中的受管設定檔案。[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明該檔案何時適用。328* **受管設定**:您組織的[伺服器管理設定](/docs/zh-TW/server-managed-settings)會到達雲端工作階段;您裝置上的 `managed-settings.json` 檔案或 MDM 設定檔不會。[表面涵蓋範圍](/docs/zh-TW/model-config#surface-coverage)列出哪些雲端工作階段接收它們。[自託管環境](/docs/zh-TW/self-hosted-environments)也讀取其執行器映像中的受管設定檔案。[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明該檔案何時適用。

327* **`/config`**:在您的瀏覽器中的 claude.ai/code,開啟您的 claude.ai 設定的 Claude Code 部分而不是變更值。若要為雲端工作階段變更設定,請在環境上設定[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables),或在具有一個儲存庫的工作階段中,將金鑰提交到該儲存庫的 `.claude/settings.json`。329* **`/config`**:在您的瀏覽器中的 claude.ai/code,開啟您的 claude.ai 設定的 Claude Code 部分而不是變更值。若要為雲端工作階段變更設定,請在環境上設定[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)。在專案之外具有一個儲存庫的工作階段中,您也可以改為將設定鍵提交到該儲存庫的 `.claude/settings.json`。

328 330 

329[從您的設定進行的內容](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)列出其餘部分:`CLAUDE.md`、skills、MCP 伺服器、plugins 和認證。331[從您的設定進行的內容](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)列出其餘部分:`CLAUDE.md`、skills、MCP 伺服器、plugins 和認證。

330 332 

Details

94 94 

95一個團隊的共享設定,提交到版本庫,以便每個複製它的人都獲得相同的權限、hooks 和外掛程式市集。在版本庫的頂部將這樣的檔案儲存在 `.claude/settings.json`。提交之前需要了解的事項:95一個團隊的共享設定,提交到版本庫,以便每個複製它的人都獲得相同的權限、hooks 和外掛程式市集。在版本庫的頂部將這樣的檔案儲存在 `.claude/settings.json`。提交之前需要了解的事項:

96 96 

97* **雲端工作階段也會讀取它。** 一個 [雲端工作階段](/docs/zh-TW/settings#settings-in-cloud-sessions) 從版本庫的複製開始,因此提交的檔案也適用於此。97* **[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)以外的雲端工作階段也會讀取它。** 包含一個儲存庫的[雲端工作階段](/docs/zh-TW/settings#settings-in-cloud-sessions)會在複製內部啟動,因此提交的檔案也適用於此。

98* **遙測進入受管理或個人設定。** Claude Code 會忽略版本庫設定檔案中的 [OpenTelemetry 匯出器變數](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env),除了一些關閉遙測的值。在 [受管理設定](/docs/zh-TW/monitoring-usage#administrator-configuration) 中為您的組織設定它們,或在每個人的 `~/.claude/settings.json` 中設定。98* **遙測進入受管理或個人設定。** Claude Code 會忽略版本庫設定檔案中的 [OpenTelemetry 匯出器變數](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env),除了一些關閉遙測的值。在 [受管理設定](/docs/zh-TW/monitoring-usage#administrator-configuration) 中為您的組織設定它們,或在每個人的 `~/.claude/settings.json` 中設定。

99* **允許規則等待信任。** 允許規則和 `extraKnownMarketplaces` 項目在每個人 [信任此資料夾本身](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust) 後生效,不僅是父資料夾;拒絕和詢問規則在每個工作階段中適用,無論是否信任。99* **允許規則等待信任。** 允許規則和 `extraKnownMarketplaces` 項目在每個人 [信任此資料夾本身](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust) 後生效,不僅是父資料夾;拒絕和詢問規則在每個工作階段中適用,無論是否信任。

100* **hook 是版本庫中的指令碼。** 此檔案的 hook 執行 `.claude/hooks/block-rm.sh`;[hook 如何解析](/docs/zh-TW/hooks#how-a-hook-resolves) 說明如何編寫它。100* **hook 是版本庫中的指令碼。** 此檔案的 hook 執行 `.claude/hooks/block-rm.sh`;[hook 如何解析](/docs/zh-TW/hooks#how-a-hook-resolves) 說明如何編寫它。

Details

14 14 

15下方的每個鍵都連結到其條目。範圍列出了可以放置該設定的[檔案](/docs/zh-TW/settings#settings-files-and-who-they-affect):`User` 是 `~/.claude/settings.json`、`Project` 是 `.claude/settings.json`、`Local` 是 `.claude/settings.local.json`,而 `Managed` 是[您的組織部署的內容](/docs/zh-TW/managed-settings)。`Any file` 表示全部四個,`Global config` 表示 [`~/.claude.json`](#global-config-settings)。15下方的每個鍵都連結到其條目。範圍列出了可以放置該設定的[檔案](/docs/zh-TW/settings#settings-files-and-who-they-affect):`User` 是 `~/.claude/settings.json`、`Project` 是 `.claude/settings.json`、`Local` 是 `.claude/settings.local.json`,而 `Managed` 是[您的組織部署的內容](/docs/zh-TW/managed-settings)。`Any file` 表示全部四個,`Global config` 表示 [`~/.claude.json`](#global-config-settings)。

16 16 

17| 鍵 | 說明 | 主題 | 範圍 |17| Key | Description | Topic | Scope |

18| :- | :- | :- | :- |18| :- | :- | :- | :- |

19| [`advisorModel`](#advisormodel) | 選擇當 Claude 詢問[顧問工具](/docs/zh-TW/advisor)時由哪個模型回答 | 模型和回應 | Any file |19| [`advisorModel`](#advisormodel) | 選擇當 Claude 詢問[顧問工具](/docs/zh-TW/advisor)時由哪個模型回答 | 模型和回應 | Any file |

20| [`agent`](#agent) | 以具名的 [subagent](/docs/zh-TW/sub-agents) 及其提示詞、工具和模型開始每個工作階段 | Agent、工作階段和 worktree | Any file |20| [`agent`](#agent) | 以具名的 [subagent](/docs/zh-TW/sub-agents) 及其提示詞、工具和模型開始每個工作階段 | Agent、工作階段和 worktree | Any file |


725 725 

726### `showThinkingSummaries`726### `showThinkingSummaries`

727 727 

728在互動工作階段中查看 Claude 的[延伸思考](/docs/zh-TW/model-config#extended-thinking)摘要。如果您想在使用 `Ctrl+O` 展開思考時看到完整摘要,請設定它。未設定或 `false` 時,Anthropic API 編輯思考區塊,Claude Code 顯示摺疊的存根;第三方提供者不編輯。728在互動工作階段中查看 Claude 的[延伸思考](/docs/zh-TW/model-config#extended-thinking)摘要。如果您想在使用 `Ctrl+O` 展開思考時看到完整摘要,請設定它。未設定或為 `false` 時,Anthropic API 會遮蔽思考區塊,Claude Code 顯示摺疊的存根。

729 729 

730* **範圍**: [`任何檔案`](#scopes)730* **範圍**: [`任何檔案`](#scopes)

731* **類型**: 布林值731* **類型**: 布林值


1370* **`allowWrite` 和 `denyWrite`**:在 macOS 上,萬用字元有效。在 Linux 和 WSL2 上,沙箱會掛載具體路徑,因此在移除結尾的 `/**` 後,若項目仍包含 `*`、`?` 或 `[`,Claude Code 會略過該項目,而該項目不會產生任何效果。Claude Code 會將您 `Edit` 權限規則中的路徑加入這些清單,因此同樣的限制也適用於它們,且 `/sandbox` 的 **Config** 分頁會針對包含萬用字元的 `Edit` 和 `Read` 權限規則發出警告。1370* **`allowWrite` 和 `denyWrite`**:在 macOS 上,萬用字元有效。在 Linux 和 WSL2 上,沙箱會掛載具體路徑,因此在移除結尾的 `/**` 後,若項目仍包含 `*`、`?` 或 `[`,Claude Code 會略過該項目,而該項目不會產生任何效果。Claude Code 會將您 `Edit` 權限規則中的路徑加入這些清單,因此同樣的限制也適用於它們,且 `/sandbox` 的 **Config** 分頁會針對包含萬用字元的 `Edit` 和 `Read` 權限規則發出警告。

1371* **`denyRead` 和 `allowRead`**:萬用字元在所有平台上都有效。在 Linux 和 WSL2 上,Claude Code 會將讀取項目展開為其所比對到的具體路徑,而寫入清單則不會這樣處理。1371* **`denyRead` 和 `allowRead`**:萬用字元在所有平台上都有效。在 Linux 和 WSL2 上,Claude Code 會將讀取項目展開為其所比對到的具體路徑,而寫入清單則不會這樣處理。

1372 1372 

1373大括號在名稱中會被當作一般字元比對,因此 `~/data/{keys,tokens}` 涵蓋的是名稱字面上為 `{keys,tokens}` 的目錄,而非兩個替代選項。若要涵蓋 `~/data/keys` 和 `~/data/tokens`,請將它們分別新增為獨立的項目。

1374 

1373### `sandbox.filesystem.allowWrite`1375### `sandbox.filesystem.allowWrite`

1374 1376 

1375新增沙箱化命令可以寫入的路徑,範圍超出工作目錄、每位使用者的暫存目錄,以及您透過 `--add-dir`、`/add-dir` 或 `permissions.additionalDirectories` 新增的目錄。當 `kubectl` 或建置工具等子程序需要寫入專案外部時,請使用此項。1377新增沙箱化命令可以寫入的路徑,範圍超出工作目錄、每位使用者的暫存目錄,以及您透過 `--add-dir`、`/add-dir` 或 `permissions.additionalDirectories` 新增的目錄。當 `kubectl` 或建置工具等子程序需要寫入專案外部時,請使用此項。


2321 2323 

2322 在專案和本機設定中忽略此群組需要 Claude Code v2.1.282 或更高版本。2324 在專案和本機設定中忽略此群組需要 Claude Code v2.1.282 或更高版本。

2323 * 改變 Claude Code 如何啟動或同步的變數,例如 `CLAUDE_CODE_PROCESS_WRAPPER`、`CLAUDE_CODE_SYNC_SKILLS`、`CLAUDE_CODE_SYNC_PLUGINS`、`CLAUDE_CODE_PLUGIN_CACHE_DIR` 和 `CLAUDE_CODE_PLUGIN_SEED_DIR`。2325 * 改變 Claude Code 如何啟動或同步的變數,例如 `CLAUDE_CODE_PROCESS_WRAPPER`、`CLAUDE_CODE_SYNC_SKILLS`、`CLAUDE_CODE_SYNC_PLUGINS`、`CLAUDE_CODE_PLUGIN_CACHE_DIR` 和 `CLAUDE_CODE_PLUGIN_SEED_DIR`。

2324 * 設定未回應對話框計時器的變數:[`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`、`CLAUDE_AFK_TIMEOUT_MS` 和 `CLAUDE_AFK_COUNTDOWN_MS`](/docs/zh-TW/env-vars#variables)。2326 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](/docs/zh-TW/env-vars#variables),它會設定未回應對話框的計時器。

2325 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/zh-TW/env-vars#variables),它會關閉附件處理。2327 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/zh-TW/env-vars#variables),它會關閉附件處理。

2326 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/zh-TW/env-vars#variables),它會阻止 Claude Code 展開檔案和目錄的 `@` 提及。2328 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/zh-TW/env-vars#variables),它會阻止 Claude Code 展開檔案和目錄的 `@` 提及。

2327 2329 


2470* **範圍**:[`User or managed`](#scopes)2472* **範圍**:[`User or managed`](#scopes)

2471* **類型**:字串,為 `"60s"`、`"5m"`、`"10m"` 或 `"never"` 之一2473* **類型**:字串,為 `"60s"`、`"5m"`、`"10m"` 或 `"never"` 之一

2472* **預設值**:`"never"`2474* **預設值**:`"never"`

2473* **個別工作階段覆寫**:[`CLAUDE_AFK_TIMEOUT_MS`](/docs/zh-TW/env-vars) 在單一工作階段中優先於此設定鍵

2474 2475 

2475```json settings.json theme={null}2476```json settings.json theme={null}

2476{2477{


4854 4855 

4855### `preferredNotifChannel`4856### `preferredNotifChannel`

4856 4857 

4857選擇 Claude Code 在任務完成或權限提示等待時如何通知您。在 `/config` 中顯示為**本機通知**。4858選擇 Claude Code 在任務完成或權限提示等待時如何通知您。[mod 的通知](/docs/zh-TW/plugins/mods/api#show-something-without-starting-a-turn)也使用相同的設定。在 `/config` 中顯示為**本機通知**。

4858 4859 

4859* **範圍**:[`任何檔案`](#scopes)。Claude Code 也會讀取舊版本在 `~/.claude.json` 中留下的值。4860* **範圍**:[`任何檔案`](#scopes)。Claude Code 也會讀取舊版本在 `~/.claude.json` 中留下的值。

4860* **類型**:字串,其中之一:4861* **類型**:字串,其中之一:

setup.md +1 −1

Details

200 200 

201Claude Code 在啟動時和執行期間定期檢查更新。更新會在背景下載和安裝,然後在您下次啟動 Claude Code 時生效。201Claude Code 在啟動時和執行期間定期檢查更新。更新會在背景下載和安裝,然後在您下次啟動 Claude Code 時生效。

202 202 

203執行 `claude doctor` 以查看最近更新嘗試的結果。203在 shell 中執行 `claude doctor`,以查看 Claude Code 記錄的最近一次更新嘗試結果。在原生安裝上,如果它回報嘗試失敗,請參閱[工作階段頁尾中的 `Auto-update failed`](/docs/zh-TW/troubleshoot-install#auto-update-failed)以了解後續處理方式。

204 204 

205在 macOS 和 Linux 上,原生安裝程式會將啟動器管理為 `~/.local/bin/claude` 的符號連結,指向 `~/.local/share/claude/versions/`。如果您將該啟動器替換為自己的指令碼或符號連結,自動更新和 `claude update` 會將其保留在原位:新版本仍會安裝在 `versions/` 目錄下,而您的啟動器決定執行哪個版本。205在 macOS 和 Linux 上,原生安裝程式會將啟動器管理為 `~/.local/bin/claude` 的符號連結,指向 `~/.local/share/claude/versions/`。如果您將該啟動器替換為自己的指令碼或符號連結,自動更新和 `claude update` 會將其保留在原位:新版本仍會安裝在 `versions/` 目錄下,而您的啟動器決定執行哪個版本。

206 206 

skills.md +10 −7

Details

42* **擴充功能**:未使用的 skill、MCP 伺服器和外掛與其 context 成本的比較,以及緩慢的 [hook](/docs/zh-TW/hooks)42* **擴充功能**:未使用的 skill、MCP 伺服器和外掛與其 context 成本的比較,以及緩慢的 [hook](/docs/zh-TW/hooks)

43* **`CLAUDE.md` 檔案**:與已簽入檔案重複的本機 `CLAUDE.md` 檔案、已簽入的 [Claude 可從程式碼庫推導出的 `CLAUDE.md` 內容](/docs/zh-TW/memory#my-claude-md-is-too-large),以及其餘一律載入的指引,Claude 會提議將其遷移至按需載入的 skill 和巢狀 `CLAUDE.md` 檔案43* **`CLAUDE.md` 檔案**:與已簽入檔案重複的本機 `CLAUDE.md` 檔案、已簽入的 [Claude 可從程式碼庫推導出的 `CLAUDE.md` 內容](/docs/zh-TW/memory#my-claude-md-is-too-large),以及其餘一律載入的指引,Claude 會提議將其遷移至按需載入的 skill 和巢狀 `CLAUDE.md` 檔案

44* **權限**:提議將[自動模式](/docs/zh-TW/permissions#permission-modes)設為您的預設權限模式,並[預先核准](/docs/zh-TW/permissions)您經常拒絕的唯讀命令44* **權限**:提議將[自動模式](/docs/zh-TW/permissions#permission-modes)設為您的預設權限模式,並[預先核准](/docs/zh-TW/permissions)您經常拒絕的唯讀命令

45* **用量**:在 Pro、Max、Team 或 Enterprise 方案中,依過去 7 天的測量結果,提供可降低您方案用量的 [`/usage` 建議變更](/docs/zh-TW/costs#plan-usage-breakdown)。Claude 會提議它自己能進行的變更,並將其餘部分以建議的形式回報,例如供您執行的命令。用量檢查需要 Claude Code v2.1.305 或更新版本,且在 [Remote Control](/docs/zh-TW/remote-control) 連線期間,`/doctor` 會略過此項檢查。

45 46 

46若要在不啟動工作階段的情況下進行唯讀的安裝診斷,請改為在終端機中執行 `claude doctor`。47若要在不啟動工作階段的情況下進行唯讀的安裝診斷,請改為在終端機中執行 `claude doctor`。

47 48 


83| :- | :- | :- |84| :- | :- | :- |

84| `migrate` | 將您現有的 Claude API 程式碼更新到較新的模型 | 早於 v2.1.221 |85| `migrate` | 將您現有的 Claude API 程式碼更新到較新的模型 | 早於 v2.1.221 |

85| `upgrade` | 將您的專案的 Anthropic SDK 依賴項跨越主要版本移動,目前是 Python `anthropic` 套件從 0.x 到 1.x | v2.1.236 或更新版本 |86| `upgrade` | 將您的專案的 Anthropic SDK 依賴項跨越主要版本移動,目前是 Python `anthropic` 套件從 0.x 到 1.x | v2.1.236 或更新版本 |

87| `api-version` | 針對較新的 [API 版本](https://platform.claude.com/docs/en/api/versioning)更新您的 Claude API 程式碼,然後將您的請求切換至該版本 | v2.1.307 或更新版本 |

86| `managed-agents-onboard` | 逐步完成建立新的受管代理 | 早於 v2.1.221 |88| `managed-agents-onboard` | 逐步完成建立新的受管代理 | 早於 v2.1.221 |

87| `managed-agents-onboard <url>` | 建立該 URL 頁面所描述的 Managed Agent,例如 [Managed Agents 文件](https://platform.claude.com/docs/en/managed-agents/overview)中的頁面 | v2.1.290 或更新版本 |89| `managed-agents-onboard <url>` | 建立該 URL 頁面所描述的 Managed Agent,例如 [Managed Agents 文件](https://platform.claude.com/docs/en/managed-agents/overview)中的頁面 | v2.1.290 或更新版本 |

88| `managed-agents-onboard <quickstart-name>` | 建立 Console 的其中一個快速入門範本,例如 `deep-researcher`。如果您提供的單一字詞不是範本名稱,Claude 會列出有效的名稱 | v2.1.290 或更新版本 |90| `managed-agents-onboard <quickstart-name>` | 建立 Console 的其中一個快速入門範本,例如 `deep-researcher`。如果您提供的單一字詞不是範本名稱,Claude 會列出有效的名稱 | v2.1.290 或更新版本 |


155| :- | :- | :- |157| :- | :- | :- |

156| 企業 | `.claude/skills/<skill-name>/SKILL.md` 在[受管設定目錄](/docs/zh-TW/managed-settings#delivery-mechanisms)中 | 您的組織部署該設定的機器上的所有使用者 |158| 企業 | `.claude/skills/<skill-name>/SKILL.md` 在[受管設定目錄](/docs/zh-TW/managed-settings#delivery-mechanisms)中 | 您的組織部署該設定的機器上的所有使用者 |

157| 個人 | `~/.claude/skills/<skill-name>/SKILL.md` | 此機器上的所有專案,但不包括[Cowork 或雲端工作階段](#skills-in-cowork-and-cloud-sessions) |159| 個人 | `~/.claude/skills/<skill-name>/SKILL.md` | 此機器上的所有專案,但不包括[Cowork 或雲端工作階段](#skills-in-cowork-and-cloud-sessions) |

158| 專案 | `.claude/skills/<skill-name>/SKILL.md` | 此版本庫中的工作階段。提交它,您的團隊也會獲得它 |160| 專案 | `.claude/skills/<skill-name>/SKILL.md` | 此儲存庫中的工作階段,但不包括[專案中的雲端對話串](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)。提交它,您的團隊也會獲得它 |

159| 巢狀 | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | 在 `<subdir>` 中或其下方啟動的工作階段。在其上方啟動的工作階段在 Claude 處理該處的檔案時會載入該技能。請參閱[單一版本庫和子目錄](#discovery-from-parent-and-nested-directories) |161| 巢狀 | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | 在 `<subdir>` 中或其下方啟動的工作階段,但不包括專案中的雲端對話串。在這些對話串之外,在其上方啟動的工作階段會在 Claude 處理該處的檔案時載入該 skill。請參閱[單一儲存庫和子目錄](#discovery-from-parent-and-nested-directories) |

160| 其他目錄 | `.claude/skills/<skill-name>/SKILL.md` 在您使用 `--add-dir` 傳遞的目錄中 | 該工作階段。請參閱[專案外的目錄](#skills-from-additional-directories) |162| 其他目錄 | `.claude/skills/<skill-name>/SKILL.md` 在您使用 `--add-dir` 傳遞的目錄中 | 該工作階段。請參閱[專案外的目錄](#skills-from-additional-directories) |

161| 外掛程式 | `<plugin>/skills/<skill-name>/SKILL.md` | [外掛程式](/docs/zh-TW/plugins/overview)啟用的任何位置,作為 `/plugin-name:skill-name` |163| 外掛程式 | `<plugin>/skills/<skill-name>/SKILL.md` | [外掛程式](/docs/zh-TW/plugins/overview)啟用的任何位置,作為 `/plugin-name:skill-name` |

162| claude.ai 帳戶 | 為您的 claude.ai 帳戶啟用的技能 | Cowork 工作階段、雲端工作階段,以及您使用該帳戶登入的終端工作階段。請參閱[從 claude.ai 同步的技能](#how-synced-skills-behave) |164| claude.ai 帳戶 | 為您的 claude.ai 帳戶啟用的技能 | Cowork 工作階段、雲端工作階段,以及您使用該帳戶登入的終端工作階段。請參閱[從 claude.ai 同步的技能](#how-synced-skills-behave) |


207 209 

208### 在 Cowork 和雲端工作階段中使用技能210### 在 Cowork 和雲端工作階段中使用技能

209 211 

210[Cowork](https://claude.com/product/cowork) 工作階段和[雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup),包括[雲端排程任務](/docs/zh-TW/routines),不會讀取您機器上的 `~/.claude/skills/`。互動式和排程 Cowork 工作階段都會載入為您的 claude.ai 帳戶啟用的 skill,在工作階段啟動時同步。從 Desktop 應用程式側邊欄中的**自訂**或 claude.ai 上的 skill 設定管理它們。雲端工作階段另外載入提交到複製儲存庫的 `.claude/skills/` 的專案 skill。212[Cowork](https://claude.com/product/cowork) 工作階段和[雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup),包括[雲端排程任務](/docs/zh-TW/routines),不會讀取您機器上的 `~/.claude/skills/`。互動式和排程 Cowork 工作階段都會載入為您的 claude.ai 帳戶啟用的 skill,在工作階段啟動時同步。從 Desktop 應用程式側邊欄中的**自訂**或 claude.ai 上的 skill 設定管理它們。

211 213 

212如果 skill 僅存在於您機器上的 `~/.claude/skills/` 中,當[雲端排程任務](/docs/zh-TW/routines)叫用它時,Claude Code 會報告找不到該 skill。這是因為每次執行都會啟動為新的雲端工作階段。若要在這些工作階段中提供個人 skill:214如果 skill 僅存在於您機器上的 `~/.claude/skills/` 中,當[雲端排程任務](/docs/zh-TW/routines)叫用它時,Claude Code 會報告找不到該 skill。這是因為每次執行都會啟動為新的雲端工作階段。若要在這些工作階段中提供個人 skill:

213 215 

214* 對於 Cowork 和雲端工作階段,為您的 claude.ai 帳戶啟用該 skill。[自架環境中的某些工作階段](/docs/zh-TW/self-hosted-environments-configuration#how-each-session’s-config-is-assembled)不會載入您帳戶的 skill。216* 對於 Cowork 工作階段、雲端工作階段,以及[專案](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories)中的雲端對話串,為您的 claude.ai 帳戶啟用該 skill。在專案的雲端對話串中,提交到儲存庫 `.claude/skills/` 的 skill 無法使用。[自架環境中的某些工作階段](/docs/zh-TW/self-hosted-environments-configuration#how-each-session’s-config-is-assembled)不會載入您帳戶的 skill。

215* 對於雲端工作階段,您可以改為將技能提交到版本庫的 `.claude/skills/`。在版本庫的 `.claude/settings.json` 中宣告的外掛程式和僅在您的使用者設定中啟用的外掛程式[不會在雲端工作階段中載入](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。217* 對於專案對話串以外的雲端工作階段,您可以改為將 skill 提交到儲存庫的 `.claude/skills/`。在儲存庫的 `.claude/settings.json` 中宣告的外掛和僅在您的使用者設定中啟用的外掛[不會在雲端工作階段中載入](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。

216 218 

217[Desktop 排程工作](/docs/zh-TW/desktop-scheduled-tasks)在您的機器上本地執行,因此它們會載入 `~/.claude/skills/`。219[Desktop 排程工作](/docs/zh-TW/desktop-scheduled-tasks)在您的機器上本地執行,因此它們會載入 `~/.claude/skills/`。

218 220 


398| `agent` | 否 | 設定 `context: fork` 時要使用的子代理類型。 |400| `agent` | 否 | 設定 `context: fork` 時要使用的子代理類型。 |

399| `background` | 否 | 僅適用於 `context: fork`。設定為 `false` 以在調用 skill 的回合中等待分叉子代理的結果,而不是[在背景中運行它](#run-skills-in-a-subagent)。預設值:`true`。需要 Claude Code v2.1.218 或更新版本。 |401| `background` | 否 | 僅適用於 `context: fork`。設定為 `false` 以在調用 skill 的回合中等待分叉子代理的結果,而不是[在背景中運行它](#run-skills-in-a-subagent)。預設值:`true`。需要 Claude Code v2.1.218 或更新版本。 |

400| `hooks` | 否 | Claude Code 在調用 skill 時註冊並在工作階段的其餘部分保持運行的 hooks。請參閱[Skills 和代理中的 Hooks](/docs/zh-TW/hooks#hooks-in-skills-and-agents)以了解設定格式和 `once` 選項。 |402| `hooks` | 否 | Claude Code 在調用 skill 時註冊並在工作階段的其餘部分保持運行的 hooks。請參閱[Skills 和代理中的 Hooks](/docs/zh-TW/hooks#hooks-in-skills-and-agents)以了解設定格式和 `once` 選項。 |

401| `paths` | 否 | Glob 模式,限制何時啟動此 skill。接受以逗號分隔的字串或 YAML 列表。設定時,Claude 僅在處理與模式匹配的檔案時自動加載 skill。使用與[路徑特定規則](/docs/zh-TW/memory#path-specific-rules)相同的格式。 |403| `paths` | 否 | Glob 模式,限制何時啟動此 skill。接受以逗號分隔的字串或 YAML 列表。設定時,Claude 僅在處理與模式匹配的檔案時自動加載 skill。模式相對於 Claude 目前的工作目錄,該目錄之外的檔案不會匹配。使用與[路徑特定規則](/docs/zh-TW/memory#path-specific-rules)相同的 glob 格式。 |

402| `shell` | 否 | 用於此 skill 中 `` !`command` `` 和 ` ```! ` 區塊的 shell。接受 `bash`(預設)或 `powershell`。設定 `powershell` 在啟用 [PowerShell 工具](/zh-TW/tools-reference#powershell-tool)時透過 PowerShell 運行內聯 shell 命令:在沒有 Git Bash 的 Windows 上預設開啟,在具有 Git Bash 的 claude.ai 和 Console 帳戶上預設開啟,在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 工作階段以及 macOS、Linux 和 WSL 上需要 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。設定為 `0` 以關閉工具。 |404| `shell` | 否 | 用於此 skill 中 `` !`command` `` 和 ` ```! ` 區塊的 shell。接受 `bash`(預設)或 `powershell`。設定 `powershell` 在啟用 [PowerShell 工具](/zh-TW/tools-reference#powershell-tool)時透過 PowerShell 運行內聯 shell 命令:在沒有 Git Bash 的 Windows 上預設開啟,在具有 Git Bash 的 claude.ai 和 Console 帳戶上預設開啟,在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 工作階段以及 macOS、Linux 和 WSL 上需要 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。設定為 `0` 以關閉工具。 |

403| `metadata` | 否 | 您自己的鍵值資料的自由格式 YAML 映射,例如權利或目錄欄位,由您自己的工具從 `SKILL.md` 讀取。Claude Code 不對其內容進行操作,並丟棄不是映射的值。不要重複使用 frontmatter 欄位名稱(例如 `paths`)作為鍵。 |405| `metadata` | 否 | 您自己的鍵值資料的自由格式 YAML 映射,例如權利或目錄欄位,由您自己的工具從 `SKILL.md` 讀取。Claude Code 不對其內容進行操作,並丟棄不是映射的值。不要重複使用 frontmatter 欄位名稱(例如 `paths`)作為鍵。 |

404| `license` | 否 | 涵蓋 skill 的許可證。[Agent Skills](https://agentskills.io) 規範的一部分;請參閱[在 Claude Code 外使用 skill frontmatter](#using-skill-frontmatter-outside-claude-code)。Claude Code 接受該欄位但不對其進行操作。 |406| `license` | 否 | 涵蓋 skill 的許可證。[Agent Skills](https://agentskills.io) 規範的一部分;請參閱[在 Claude Code 外使用 skill frontmatter](#using-skill-frontmatter-outside-claude-code)。Claude Code 接受該欄位但不對其進行操作。 |


755哪些命令獲得例外取決於 shell:757哪些命令獲得例外取決於 shell:

756 758 

757* 預設 `bash` shell:[輸出限制](/docs/zh-TW/tools-reference#output-limits)下列出的命令759* 預設 `bash` shell:[輸出限制](/docs/zh-TW/tools-reference#output-limits)下列出的命令

758* `shell: powershell`,當 PowerShell 工具啟用時:一個[不同的集合](/docs/zh-TW/tools-reference#shell-selection-in-settings-hooks-and-skills),包括 `grep` 和 `git diff` 但不包括 `find` 或 `diff`760* `shell: powershell`,當 PowerShell 工具啟用時:一個[不同的集合](/docs/zh-TW/tools-reference#exit-code-1-from-searches-and-git-diff-in-powershell),包括 `grep` 和 `git diff` 但不包括 `find` 或 `diff`

759 761 

760使用預設 `bash` shell,將 `|| true` 附加到任何您預期會以非零結束的其他命令。一個在發現問題時結束代碼為 1 的檢查指令碼就是一個例子。762使用預設 `bash` shell,將 `|| true` 附加到任何您預期會以非零結束的其他命令。一個在發現問題時結束代碼為 1 的檢查指令碼就是一個例子。

761 763 


11773. 嘗試重新表述您的請求以更密切地符合描述11793. 嘗試重新表述您的請求以更密切地符合描述

11784. 如果 skill 可由使用者叫用,請使用 `/skill-name` 直接叫用它11804. 如果 skill 可由使用者叫用,請使用 `/skill-name` 直接叫用它

11795. 如果 `/skill-name` 也無法被識別,請檢查 Claude Code 是否[拒絕了該 skill 的名稱](#characters-a-skill-name-cant-hold)11815. 如果 `/skill-name` 也無法被識別,請檢查 Claude Code 是否[拒絕了該 skill 的名稱](#characters-a-skill-name-cant-hold)

11826. 如果 skill 設定了 `paths`,請檢查 Claude 讀取、編輯或寫入的檔案是否位於 Claude 目前的工作目錄內。對於工作目錄以外的檔案,skill 不會啟動,例如位於同層級 git worktree 中的檔案,即使是您透過 `/add-dir` 新增的 worktree 也一樣。若要讓 skill 針對這些檔案啟動,請在該 worktree 中啟動 Claude Code,或[使用 `/cd` 將工作階段移至該處](/docs/zh-TW/permissions#move-the-session-to-another-directory)。

1180 1183 

1181如果 frontmatter YAML 格式不正確,Claude Code 會以空的中繼資料載入 skill 主體,因此 `/skill-name` 仍然有效,但 Claude 無法對您的 `description` 進行比對。使用 `--debug` 執行以查看解析錯誤。1184如果 frontmatter YAML 格式不正確,Claude Code 會以空的中繼資料載入 skill 主體,因此 `/skill-name` 仍然有效,但 Claude 無法對您的 `description` 進行比對。使用 `--debug` 執行以查看解析錯誤。

1182 1185 

sub-agents.md +25 −2

Details

489 489 

490具有指定符的 `disallowedTools` 條目(例如 `Bash(git push *)`)仍然從子代理移除整個工具,而不僅僅是匹配的命令。若要保持 Bash 並阻止特定命令,在您的設定中新增[Bash 拒絕規則](/docs/zh-TW/permissions#bash),例如 `Bash(git push *)` 到 `permissions.deny`。規則適用於主對話和子代理。490具有指定符的 `disallowedTools` 條目(例如 `Bash(git push *)`)仍然從子代理移除整個工具,而不僅僅是匹配的命令。若要保持 Bash 並阻止特定命令,在您的設定中新增[Bash 拒絕規則](/docs/zh-TW/permissions#bash),例如 `Bash(git push *)` 到 `permissions.deny`。規則適用於主對話和子代理。

491 491 

492##### 包含雙底線的 MCP 伺服器名稱

493 

494如果 subagent 無法取得名稱包含 `__` 之 MCP 伺服器(例如 `reports__v2`)的任何工具,請檢查 subagent 的 `mcp__` 項目:

495 

496* **在 `tools` 中**:寫入 `mcp__`,後接[伺服器的完整名稱](/docs/zh-TW/permissions#mcp)和 `__*`,例如 `mcp__reports__v2__*`。若沒有結尾的 `__*`,`mcp__reports__v2` 不會符合該伺服器的任何工具。

497* **在 `disallowedTools` 中**:尋找 `mcp__reports` 或 `mcp__reports__*`,這兩個項目會排除名為 `reports` 的伺服器。使用其中任一項目時,subagent 也會失去每個 `reports__v2` 工具,因為這些工具名稱同樣以 `mcp__reports__` 開頭。若只要排除 `reports` 伺服器的工具,請改為逐一列出它們,例如 `mcp__reports__run_query`。

498 

492#### 限制可以生成的子代理499#### 限制可以生成的子代理

493 500 

494當代理使用 `claude --agent` 作為主執行緒執行時,它可以使用 Agent 工具生成子代理。若要限制它可以生成的子代理類型,在 `tools` 欄位中使用 `Agent(agent_type)` 語法。501當代理使用 `claude --agent` 作為主執行緒執行時,它可以使用 Agent 工具生成子代理。若要限制它可以生成的子代理類型,在 `tools` 欄位中使用 `Agent(agent_type)` 語法。


955 962 

956### Subagent 名稱963### Subagent 名稱

957 964 

958Claude 可以透過在 Agent 工具呼叫上傳遞 `name` 參數來給 subagent 命名,並可能自行執行此操作,而不先詢問您。該名稱使 subagent 可定址:Claude 可以在完成後 [按名稱傳送訊息給它或恢復它](#resume-subagents)。965如果您在啟用 [agent teams](/docs/zh-TW/agent-teams#enable-agent-teams) 的情況下啟動工作階段,Claude 可以透過在 Agent 工具呼叫上傳遞 `name` 參數來給 subagent 命名。它可能會自行執行此操作,而不先詢問您。該名稱使 subagent 可定址:Claude 可以在完成後 [按名稱傳送訊息給它或恢復它](#resume-subagents)。

959 966 

960在啟用 [agent teams](/docs/zh-TW/agent-teams) 的互動式工作階段中,Claude 從主要對話產生的具有 `name` 的 subagent 會改為作為隊員啟動,除非呼叫是 [fork](#fork-the-current-conversation) 或在呼叫本身上傳遞 `isolation`。subagent 的 frontmatter 中的 `isolation` 值不會阻止此情況,隊員接著會在主要工作階段的工作目錄中執行。請參閱 [Claude 如何啟動 agent teams](/docs/zh-TW/agent-teams#how-claude-starts-agent-teams)。967在啟用 [agent teams](/docs/zh-TW/agent-teams) 的互動式工作階段中,Claude 從主要對話產生的具有 `name` 的 subagent 會改為作為隊員啟動,除非呼叫是 [fork](#fork-the-current-conversation) 或在呼叫本身上傳遞 `isolation`。subagent 的 frontmatter 中的 `isolation` 值不會阻止此情況,隊員接著會在主要工作階段的工作目錄中執行。請參閱 [Claude 如何啟動 agent teams](/docs/zh-TW/agent-teams#how-claude-starts-agent-teams)。

961 968 


968* **前景**:如果速率限制、過載或伺服器錯誤切斷已經產生文字輸出的 subagent,Agent 工具會返回該部分輸出,並附註 subagent 被切斷且未完成其任務。未產生任何內容或其唯一輸出為工具呼叫的 subagent 會失敗,並顯示 [`Agent terminated early due to an API error`](/docs/zh-TW/errors#agent-terminated-early-due-to-an-api-error),後跟錯誤詳細資訊。975* **前景**:如果速率限制、過載或伺服器錯誤切斷已經產生文字輸出的 subagent,Agent 工具會返回該部分輸出,並附註 subagent 被切斷且未完成其任務。未產生任何內容或其唯一輸出為工具呼叫的 subagent 會失敗,並顯示 [`Agent terminated early due to an API error`](/docs/zh-TW/errors#agent-terminated-early-due-to-an-api-error),後跟錯誤詳細資訊。

969* **背景**:subagent 被標記為失敗,Claude 在其結束時接收的訊息會指出 API 錯誤並包括 subagent 的最後輸出,所以部分工作不會遺失。976* **背景**:subagent 被標記為失敗,Claude 在其結束時接收的訊息會指出 API 錯誤並包括 subagent 的最後輸出,所以部分工作不會遺失。

970 977 

978如果 subagent 的報告以下列這行開頭,表示該 subagent 是在備援模型上完成的:

979 

980```text theme={null}

981⚠ This agent switched to <model> because its earlier model could not be used.

982```

983 

971當您設定 [備援模型鏈](/docs/zh-TW/model-config#fallback-model-chains) 且 subagent 遇到鏈涵蓋的失敗(例如其模型不可用)時,Claude Code 會將 subagent 切換到鏈中接受請求的第一個模型。Subagent 會繼續工作而不是因錯誤而結束。984當您設定 [備援模型鏈](/docs/zh-TW/model-config#fallback-model-chains) 且 subagent 遇到鏈涵蓋的失敗(例如其模型不可用)時,Claude Code 會將 subagent 切換到鏈中接受請求的第一個模型。Subagent 會繼續工作而不是因錯誤而結束。

972 985 

973一旦底層 API 錯誤清除,要求 Claude 重試任務或 [恢復 subagent](#resume-subagents)。986一旦底層 API 錯誤清除,要求 Claude 重試任務或 [恢復 subagent](#resume-subagents)。


1114 1127 

1115每個 subagent 呼叫都會建立一個新實例而不是繼續較早的實例。若要繼續現有 subagent 的工作而不是重新開始,請要求 Claude 恢復它。1128每個 subagent 呼叫都會建立一個新實例而不是繼續較早的實例。若要繼續現有 subagent 的工作而不是重新開始,請要求 Claude 恢復它。

1116 1129 

1117恢復的 subagents 保留其完整對話歷史記錄,包括所有先前的工具呼叫、結果和推理。如果 subagent 產生了 [自己的背景 subagents](#let-subagents-spawn-their-own-subagents),該歷史記錄包括它執行時它們傳遞的結果。Subagent 從停止的地方精確繼續,而不是從頭開始。1130恢復的 subagents 保留其完整對話歷史記錄,包括所有先前的工具呼叫、結果和推理。如果 subagent 產生了 [自己的背景 subagents](#let-subagents-spawn-their-own-subagents),該歷史記錄包括它執行時它們傳遞的結果。在 v2.1.304 之前,Claude 在 subagent 完成後立即傳送訊息或恢復的 subagent 可能會忘記其最近的工作。

1118 1131 

1119* 當 subagent 完成時,Claude 接收其 agent ID。1132* 當 subagent 完成時,Claude 接收其 agent ID。

1120* 內建的 Explore 和 Plan agents 是一次性的,不返回 agent ID,所以 Claude 無法恢復它們。當您需要繼續工作時,請使用 `general-purpose` 或自訂 subagent。1133* 內建的 Explore 和 Plan agents 是一次性的,不返回 agent ID,所以 Claude 無法恢復它們。當您需要繼續工作時,請使用 `general-purpose` 或自訂 subagent。


1154* **工作階段持續性**:Subagent 逐字稿在其工作階段內持續存在。您可以透過恢復相同工作階段在重新啟動 Claude Code 後 [恢復 subagent](#resume-subagents)。1167* **工作階段持續性**:Subagent 逐字稿在其工作階段內持續存在。您可以透過恢復相同工作階段在重新啟動 Claude Code 後 [恢復 subagent](#resume-subagents)。

1155* **自動清理**:Claude Code 在 `cleanupPeriodDays` 保留期後刪除 subagent 逐字稿,預設為 30 天,遵循 [保留掃描規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)。1168* **自動清理**:Claude Code 在 `cleanupPeriodDays` 保留期後刪除 subagent 逐字稿,預設為 30 天,遵循 [保留掃描規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)。

1156 1169 

1170##### 重新啟動後按名稱傳送訊息給 subagent

1171 

1172> [!NOTE]

1173>

1174> 對於以隊員身分啟動的 subagent,請改為參閱 [agent team 限制](/docs/zh-TW/agent-teams#limitations)。

1175 

1176如果在您重新啟動 Claude Code 並恢復工作階段後,Claude 無法按名稱傳送訊息給 subagent,請改為將該 subagent 的 agent ID 提供給 Claude。Claude 自上次 [壓縮](/docs/zh-TW/context-window#what-survives-compaction) 以來從主要對話所給的名稱會在重新啟動後保留。該次壓縮之前的名稱則不會保留。若要找出某個名稱對應的 ID,請在 `~/.claude/projects/{project}/{sessionId}/subagents/` 中的 `agent-{agentId}.meta.json` 檔案裡尋找該名稱。

1177 

1178透過 ID 傳送一則訊息後,subagent 的名稱會再次生效,除非較新的 agent 已取得該名稱。在 v2.1.299 之前,沒有任何名稱能在重新啟動後保留,且即使 agent ID 仍然有效,按名稱傳送也會被拒絕。

1179 

1157#### 自動壓縮1180#### 自動壓縮

1158 1181 

1159Subagents 支援自動壓縮。壓縮會在 subagent 自己的上下文視窗填滿時觸發,`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` 也適用於 subagents。請參閱 [環境變數](/docs/zh-TW/env-vars) 以了解覆寫何時生效。1182Subagents 支援自動壓縮。壓縮會在 subagent 自己的上下文視窗填滿時觸發,`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` 也適用於 subagents。請參閱 [環境變數](/docs/zh-TW/env-vars) 以了解覆寫何時生效。

Details

476 476 

477PowerShell 命令也會接收 hook 透過 `CLAUDE_ENV_FILE` 保存的變數,條件如 [PowerShell 命令中的保存變數](/docs/zh-TW/hooks#persisted-variables-in-powershell-commands)所述。需要 Claude Code v2.1.296 或更新版本。477PowerShell 命令也會接收 hook 透過 `CLAUDE_ENV_FILE` 保存的變數,條件如 [PowerShell 命令中的保存變數](/docs/zh-TW/hooks#persisted-variables-in-powershell-commands)所述。需要 Claude Code v2.1.296 或更新版本。

478 478 

479來自 `grep`、`rg`、`egrep`、`fgrep`、`findstr` 和 `git grep` 的結束代碼 1 表示無符合項目。來自 `git diff` 的結束代碼 1 表示存在差異。這兩個結果都不會向 Claude 報告為命令失敗。對於 `robocopy`,結束代碼 0 到 7 是資訊性結果,例如複製的檔案或偵測到的額外檔案。結束代碼 8 或更高視為失敗。479### PowerShell 中來自搜尋和 `git diff` 的結束代碼 1

480 

481如果 Claude 在 PowerShell 工具中執行的 `grep` 或 `rg` 搜尋沒有符合任何項目並顯示 `Error: Exit code 1`,表示該搜尋並未失敗。您不需要採取任何動作。當搜尋是較長命令的一部分時,就可能出現此錯誤。例如,當 `rg` 以結束代碼 1 結束時,`rg foo | Out-Null` 會顯示此錯誤,而 `rg foo` 則不會。

482 

483PowerShell 工具可以將來自 `grep`、`rg`、`egrep`、`fgrep`、`findstr`、`git grep` 和 `git diff` 的結束代碼 1 視為正常結果。這些搜尋使用結束代碼 1 來回報無符合項目。來自 `git diff` 的結束代碼 1 表示檔案不同。在具有 `shell: powershell` 的 skill 中,Claude 執行時顯示此錯誤的命令會[視為失敗](/docs/zh-TW/skills#when-an-injected-command-fails)。

480 484 

481### Windows 編碼和結束代碼485### Windows 編碼和結束代碼

482 486 


484* Claude Code 將管道傳送到原生命令標準輸入的文字編碼為 UTF-8488* Claude Code 將管道傳送到原生命令標準輸入的文字編碼為 UTF-8

485* Claude Code 擷取錯誤輸出而不含 ANSI 逸出序列489* Claude Code 擷取錯誤輸出而不含 ANSI 逸出序列

486* 其子程序等待標準輸入的命令會收到檔案結尾而不是掛起490* 其子程序等待標準輸入的命令會收到檔案結尾而不是掛起

487* 來自 `where.exe` 的結束代碼 1 表示無符合項目,來自 `fc.exe` 和 `diff.exe` 的結束代碼 1 表示檔案不同,因此當命令產生輸出時,Claude Code 會將該結束代碼視為有效的否定答案,而不是命令錯誤。Claude Code 仍會將靜音形式(例如 `where.exe /Q` 或重新導向至 `$null`)報告為結束代碼 1 時的失敗491* 如果 `where.exe` 找不到符合項目,或 `fc.exe` 或 `diff.exe` 發現檔案不同,結果可能會顯示 `Error: Exit code 1`,但命令並未失敗。您不需要採取任何動作。

492* 如果 `robocopy` 的結束代碼 1 到 7 顯示為錯誤,表示複製並未失敗,您不需要採取任何動作。`robocopy` 以結束代碼 0 到 7 回報結果(例如已複製的檔案),並在失敗時以 8 或更高的代碼結束。

488 493 

489### 預覽限制494### 預覽限制

490 495 


504* **影像**:PNG、JPEG、GIF 和 WebP 檔案會以 Claude 可以看到的視覺內容形式傳回,而不是原始位元組。Claude Code 會在傳送前調整大小並重新壓縮大型影像以符合模型的影像大小限制,因此 Claude 可能會看到大型螢幕擷取畫面的縮小版本。509* **影像**:PNG、JPEG、GIF 和 WebP 檔案會以 Claude 可以看到的視覺內容形式傳回,而不是原始位元組。Claude Code 會在傳送前調整大小並重新壓縮大型影像以符合模型的影像大小限制,因此 Claude 可能會看到大型螢幕擷取畫面的縮小版本。

505 510 

506 如果 Claude 在大型影像中遺漏了細微的像素級細節,請要求它裁剪您關心的區域,例如透過 Bash 使用 ImageMagick,然後再讀取裁剪後的影像。511 如果 Claude 在大型影像中遺漏了細微的像素級細節,請要求它裁剪您關心的區域,例如透過 Bash 使用 ImageMagick,然後再讀取裁剪後的影像。

512 

513 Read 會拒絕讀取大於 128 MB 的影像檔案,並傳回錯誤,告訴 Claude 調整影像大小或匯出較小的副本,然後讀取該副本。如果 Claude 在遇到錯誤時停止,而沒有這樣做,請參閱 [File is too large to read as an image](/docs/zh-TW/errors#file-is-too-large-to-read-as-an-image)。

507* **PDF**:Claude 會完整讀取短 `.pdf` 檔案。對於超過 10 頁的 PDF,它會使用 `pages` 參數(例如 `"1-5"`)按範圍讀取,一次最多 20 頁。頁面範圍讀取會使用 poppler-utils 中的 `pdftoppm` 呈現頁面,因此在 macOS 上使用 `brew install poppler` 安裝,或在 Debian 和 Ubuntu 上使用 `apt-get install poppler-utils` 安裝。在 Windows 和其他平台上,安裝將 `pdftoppm` 放在您的 `PATH` 上的 poppler 組建。沒有它,頁面範圍讀取會失敗並顯示 `pdftoppm is not installed`。514* **PDF**:Claude 會完整讀取短 `.pdf` 檔案。對於超過 10 頁的 PDF,它會使用 `pages` 參數(例如 `"1-5"`)按範圍讀取,一次最多 20 頁。頁面範圍讀取會使用 poppler-utils 中的 `pdftoppm` 呈現頁面,因此在 macOS 上使用 `brew install poppler` 安裝,或在 Debian 和 Ubuntu 上使用 `apt-get install poppler-utils` 安裝。在 Windows 和其他平台上,安裝將 `pdftoppm` 放在您的 `PATH` 上的 poppler 組建。沒有它,頁面範圍讀取會失敗並顯示 `pdftoppm is not installed`。

508* **Jupyter 筆記本**:`.ipynb` 檔案會傳回所有儲存格及其輸出,包括程式碼、markdown 和視覺化。儲存格總計超過 256 KB 或超過 [token 限制](#large-files)的筆記本會改為傳回錯誤。Claude Code 拒絕讀取超過 100 MB 的筆記本檔案;錯誤會告訴 Claude 如何改為讀取筆記本的一部分,例如使用 shell 命令讀取儲存格的切片。515* **Jupyter 筆記本**:`.ipynb` 檔案會傳回所有儲存格及其輸出,包括程式碼、markdown 和視覺化。儲存格總計超過 256 KB 或超過 [token 限制](#large-files)的筆記本會改為傳回錯誤。Claude Code 拒絕讀取超過 100 MB 的筆記本檔案;錯誤會告訴 Claude 如何改為讀取筆記本的一部分,例如使用 shell 命令讀取儲存格的切片。

509 516 


558 565 

559Claude Code 會將您的工作目錄保留在本機草稿中,以便它可以找到文字記錄,並且不會發送該目錄。566Claude Code 會將您的工作目錄保留在本機草稿中,以便它可以找到文字記錄,並且不會發送該目錄。

560 567 

561在[零資料保留的組織](/docs/zh-TW/zero-data-retention#features-disabled-under-zdr)中,以及已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織中,Claude Code 會將該工具排除在外,就像它對 `/feedback` 所做的那樣。如果零資料保留組織中的工作階段仍然提供該工具,草稿會保留在您的機器上,發送會失敗並顯示 `Feedback collection is not available for organizations with custom data retention policies.`568在[零資料保留的組織](/docs/zh-TW/zero-data-retention#features-disabled-under-zdr)中,以及已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織中,Claude Code 會將 SendFeedback 工具排除在您的工作階段之外。如果零資料保留組織中的工作階段仍然提供該工具,草稿會保留在您的機器上,發送會失敗並顯示 `Feedback collection is not available for organizations with custom data retention policies.`

562 569 

563### 捨棄或保留草稿570### 捨棄或保留草稿

564 571 


665* **等待回補**:在 Claude Code v2.1.290 或更新版本中,互動式終端機工作階段的限制大約每小時回補 100 次呼叫。若要變更速率,請將 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/zh-TW/env-vars#variables) 設定為每小時的呼叫次數,例如 `50`。672* **等待回補**:在 Claude Code v2.1.290 或更新版本中,互動式終端機工作階段的限制大約每小時回補 100 次呼叫。若要變更速率,請將 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/zh-TW/env-vars#variables) 設定為每小時的呼叫次數,例如 `50`。

666* **開始新的對話**:在 Claude Code 提示字元執行 [`/clear`](/docs/zh-TW/commands#all-commands) 也會重設計數。如果仍然可以產生 subagent 的工作(例如執行中的工作流程)在清除後存留,計數則會延續。673* **開始新的對話**:在 Claude Code 提示字元執行 [`/clear`](/docs/zh-TW/commands#all-commands) 也會重設計數。如果仍然可以產生 subagent 的工作(例如執行中的工作流程)在清除後存留,計數則會延續。

667 674 

675在使用 `-p` 的[非互動模式](/docs/zh-TW/headless)以及 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 中,限制是以每個回合計算,而非每個工作階段。一個回合從您傳送訊息開始,直到 Claude 完成回應為止。當您在那之後傳送下一則訊息,或開始新的 `claude -p` 執行時,限制即會重設,即使使用 [`--continue` 或 `--resume`](/docs/zh-TW/headless#continue-conversations) 亦然。若要取得更多搜尋次數,請提高 [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/zh-TW/env-vars#variables),或使用 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/zh-TW/env-vars#variables) 設定回補速率。

676 

668## Write 工具行為677## Write 工具行為

669 678 

670Write 工具會建立新檔案或以提供的完整內容覆寫現有檔案。它不會附加或合併。Write 也會覆寫位元組無法解碼的現有檔案,並將新內容儲存為 UTF-8,如[非 UTF-8 檔案](#non-utf-8-files)中所述。679Write 工具會建立新檔案或以提供的完整內容覆寫現有檔案。它不會附加或合併。Write 也會覆寫位元組無法解碼的現有檔案,並將新內容儲存為 UTF-8,如[非 UTF-8 檔案](#non-utf-8-files)中所述。

Details

31| `CRYPT_E_NO_REVOCATION_CHECK` 或 `CRYPT_E_REVOCATION_OFFLINE` | [因應遭封鎖的撤銷檢查](#tls-or-ssl-connection-errors) |31| `CRYPT_E_NO_REVOCATION_CHECK` 或 `CRYPT_E_REVOCATION_OFFLINE` | [因應遭封鎖的撤銷檢查](#tls-or-ssl-connection-errors) |

32| `Failed to fetch version` 或無法連線到下載伺服器 | [檢查網路和代理伺服器設定](#check-network-connectivity) |32| `Failed to fetch version` 或無法連線到下載伺服器 | [檢查網路和代理伺服器設定](#check-network-connectivity) |

33| `The connection dropped while downloading the update` 或 `Download timed out: exceeded the total deadline` | [再次執行更新或設定您的代理伺服器](#the-connection-dropped-while-downloading-the-update) |33| `The connection dropped while downloading the update` 或 `Download timed out: exceeded the total deadline` | [再次執行更新或設定您的代理伺服器](#the-connection-dropped-while-downloading-the-update) |

34| `Release verification failed for Claude Code` | [再次執行 `claude update` 或 `claude install`](#release-verification-failed) |

35| 工作階段頁尾以紅色顯示 `Auto-update failed · Run claude doctor` | [從您的 shell 執行 `claude update`](#auto-update-failed) |

34| `irm is not recognized` 或 `The token '&&' is not a valid statement separator` | [在您的 shell 上使用正確的命令](#wrong-install-command-on-windows) |36| `irm is not recognized` 或 `The token '&&' is not a valid statement separator` | [在您的 shell 上使用正確的命令](#wrong-install-command-on-windows) |

35| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [更新 Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [更新 Homebrew](#homebrew-cask-unavailable-or-outdated) |

36| `Cask 'claude-code@latest' is not installed` | [升級您安裝的 cask](#cask-is-not-installed) |38| `Cask 'claude-code@latest' is not installed` | [升級您安裝的 cask](#cask-is-not-installed) |


631* 如果公司代理伺服器持續關閉傳輸,請要求您的網路團隊允許從 `downloads.claude.ai` 進行完整下載。請參閱[網路存取需求](/docs/zh-TW/network-config#network-access-requirements)。633* 如果公司代理伺服器持續關閉傳輸,請要求您的網路團隊允許從 `downloads.claude.ai` 進行完整下載。請參閱[網路存取需求](/docs/zh-TW/network-config#network-access-requirements)。

632* 從您的 shell 執行 `claude doctor` 以取得安裝診斷634* 從您的 shell 執行 `claude doctor` 以取得安裝診斷

633 635 

636### Release verification failed for Claude Code

637 

638來自 `claude update` 或 `claude install` 的此訊息表示 Claude Code 無法確認即將安裝的版本是否為真實版本,因此未安裝任何內容。您已擁有的任何版本都會繼續運作。

639 

640```text theme={null}

641Release verification failed for Claude Code <version> (<reason>). The update was not installed.

642```

643 

644請依照訊息中括號內的值採取對應的步驟:

645 

646* **以 `sidecar_fetch_` 開頭的值**:從您的 shell 再次執行相同的命令。如果 `claude update` 列印以 `Successfully updated from` 開頭的行,表示已成功;如果 `claude install` 列印 `Claude Code successfully installed!`,表示已成功。

647* **任何其他值**:稍後再次嘗試相同的命令

648 

649無論值為何,如果訊息重複出現,請[回報問題](#still-stuck)並附上完整訊息。

650 

651### 工作階段頁尾中的 `Auto-update failed · Run claude doctor`

652 

653這行紅色文字表示 Claude Code 嘗試在背景自行更新,但更新未能安裝。您無需執行任何動作即可繼續工作。

654 

655此行會引導您執行 `claude doctor`,但其 `Last update attempt: failed (install_failed)` 行只提供日期,不提供原因。若要完成更新或查看失敗原因,請改為在您的 shell 中執行 `claude update`。如果該安裝也失敗,請在[找出您的錯誤](#find-your-error)中尋找 `claude update` 列印的錯誤。

656 

634### Windows 上的錯誤安裝命令657### Windows 上的錯誤安裝命令

635 658 

636如果您看到 `'irm' is not recognized`、`The token '&&' is not a valid statement separator`、`A parameter cannot be found that matches parameter name 'fsSL'` 或 `'bash' is not recognized as the name of a cmdlet`,您複製了不同 shell 或作業系統的安裝命令。如果命令列印指令碼的文字而不是安裝任何東西,您只執行了它的一部分。659如果您看到 `'irm' is not recognized`、`The token '&&' is not a valid statement separator`、`A parameter cannot be found that matches parameter name 'fsSL'` 或 `'bash' is not recognized as the name of a cmdlet`,您複製了不同 shell 或作業系統的安裝命令。如果命令列印指令碼的文字而不是安裝任何東西,您只執行了它的一部分。

Details

12| :- | :- |12| :- | :- |

13| `command not found`、安裝失敗、PATH 問題、`EACCES`、TLS 錯誤 | [故障排除安裝和登入](/docs/zh-TW/troubleshoot-install) |13| `command not found`、安裝失敗、PATH 問題、`EACCES`、TLS 錯誤 | [故障排除安裝和登入](/docs/zh-TW/troubleshoot-install) |

14| 更新或安裝下載失敗,出現 `The connection dropped while downloading the update` 或 `aborted` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |14| 更新或安裝下載失敗,出現 `The connection dropped while downloading the update` 或 `aborted` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| 更新或安裝失敗,出現 `Release verification failed for Claude Code` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#release-verification-failed) |

16| 工作階段頁尾以紅色顯示 `Auto-update failed · Run claude doctor` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#auto-update-failed) |

15| 登入迴圈、OAuth 錯誤、`403 Forbidden`、「組織已停用」、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 認證 | [故障排除安裝和登入](/docs/zh-TW/troubleshoot-install#login-and-authentication) |17| 登入迴圈、OAuth 錯誤、`403 Forbidden`、「組織已停用」、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 認證 | [故障排除安裝和登入](/docs/zh-TW/troubleshoot-install#login-and-authentication) |

16| 設定未套用、hooks 未觸發、MCP 伺服器未載入 | [偵錯您的設定](/docs/zh-TW/debug-your-config) |18| 設定未套用、hooks 未觸發、MCP 伺服器未載入 | [偵錯您的設定](/docs/zh-TW/debug-your-config) |

17| 工作階段以自動模式啟動,或 Claude 編輯檔案並執行命令而不詢問 | [工作階段啟動的模式](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) |19| 工作階段以自動模式啟動,或 Claude 編輯檔案並執行命令而不詢問 | [工作階段啟動的模式](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) |

vs-code.md +16 −3

Details

174* **書籤**:將滑鼠懸停在回應上並點擊 **Bookmark response** 即可儲存,或在已儲存的回應上點擊 **Remove bookmark** 以移除。174* **書籤**:將滑鼠懸停在回應上並點擊 **Bookmark response** 即可儲存,或在已儲存的回應上點擊 **Remove bookmark** 以移除。

175 175 

176 若要檢閱已儲存的回應,請開啟 Bookmarks 面板。您可以點擊 Claude Code 面板頂部的書籤圖示、在命令選單的 Context 區段中選取 **Bookmarks**,或輸入 `/bookmarks`。需要 Claude Code v2.1.286 或更新版本。176 若要檢閱已儲存的回應,請開啟 Bookmarks 面板。您可以點擊 Claude Code 面板頂部的書籤圖示、在命令選單的 Context 區段中選取 **Bookmarks**,或輸入 `/bookmarks`。需要 Claude Code v2.1.286 或更新版本。

177* **Claude 傳送給您的檔案**:當工作階段連線至 [Remote Control](/docs/zh-TW/remote-control#start-a-remote-control-session),且 Claude 使用 [`SendUserFile` 工具](/docs/zh-TW/tools-reference)傳送檔案給您時,對話中會顯示一列,例如 **Sent report.md, chart.png**。點擊檔案名稱即可在編輯器中開啟。177* **Claude 傳送給您的檔案**:當工作階段連線至 [Remote Control](/docs/zh-TW/remote-control#start-a-remote-control-session),且 Claude 使用 [`SendUserFile` 工具](/docs/zh-TW/tools-reference)傳送檔案給您時,對話中會顯示一列,例如 **Sent report.md, chart.png**。點擊檔案名稱即可在編輯器中開啟。此列在 Focus view 中仍會保持可見。需要 Claude Code v2.1.295 或更新版本。

178 

179 當檔案路徑指向網路主機時,該檔案會顯示為您無法點擊的完整路徑,例如 `\\server\share\report.md`。Claude Code 不會為該檔案建立連結,因為開啟它會連線至該主機,且在 Windows 上[可能會將您的 Windows 憑證傳送至該主機](/docs/zh-TW/permissions#read-only-commands)。

178* **上下文指示器**:提示詞輸入框會顯示您已使用了多少 Claude 的上下文視窗。Claude 會在需要時自動壓縮,您也可以手動執行 `/compact`。180* **上下文指示器**:提示詞輸入框會顯示您已使用了多少 Claude 的上下文視窗。Claude 會在需要時自動壓縮,您也可以手動執行 `/compact`。

179* **提示快取時鐘**:上下文指示器旁的時鐘圖示會估算對話的[提示快取](/docs/zh-TW/prompt-caching)在過期前還剩多少時間。它會從快取的五分鐘或一小時[存留期](/docs/zh-TW/prompt-caching#cache-lifetime)開始倒數,而每個使用快取的回應都會重新開始倒數。除了壓縮之外,[使快取失效的動作](/docs/zh-TW/prompt-caching#actions-that-invalidate-the-cache)不會重設時鐘,因此在您切換模型後,它仍可能顯示剩餘的分鐘數。181* **提示快取時鐘**:上下文指示器旁的時鐘圖示會估算對話的[提示快取](/docs/zh-TW/prompt-caching)在過期前還剩多少時間。它會從快取的五分鐘或一小時[存留期](/docs/zh-TW/prompt-caching#cache-lifetime)開始倒數,而每個使用快取的回應都會重新開始倒數。除了壓縮之外,[使快取失效的動作](/docs/zh-TW/prompt-caching#actions-that-invalidate-the-cache)不會重設時鐘,因此在您切換模型後,它仍可能顯示剩餘的分鐘數。

180 * 在倒數結束之前,圖示會顯示剩餘的分鐘數,例如 **12m**。182 * 在倒數結束之前,圖示會顯示剩餘的分鐘數,例如 **12m**。


252 254 

253* **工作階段標題**:新的工作階段會根據您的第一則訊息獲得 AI 產生的標題。255* **工作階段標題**:新的工作階段會根據您的第一則訊息獲得 AI 產生的標題。

254* **重新命名和封存**:將滑鼠懸停在工作階段上即可顯示這些動作。重新命名可為其提供具描述性的標題,封存則會將其移至清單底部的 **Archived sessions** 群組。256* **重新命名和封存**:將滑鼠懸停在工作階段上即可顯示這些動作。重新命名可為其提供具描述性的標題,封存則會將其移至清單底部的 **Archived sessions** 群組。

257* **設定 [`claudeProcessWrapper`](#extension-settings) 時遺漏的對話**:請將擴充功能更新至 2.1.304 或更新版本。清單隨後會包含先前遺漏的對話,以及由 `claude -p` 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 在此工作區中啟動的工作階段。

255 258 

256如果該對話已在另一個 Claude Code 程序中開啟(例如終端機中的 `claude` 或另一個 VS Code 視窗),此通知會取代提示詞輸入框出現:259如果該對話已在另一個 Claude Code 程序中開啟(例如終端機中的 `claude` 或另一個 VS Code 視窗),此通知會取代提示詞輸入框出現:

257 260 


308 311 

309* **claude.ai 方案**:顯示您方案限制的使用量長條,例如目前工作階段和本週。每個長條都會顯示距離其限制重設還有多久。312* **claude.ai 方案**:顯示您方案限制的使用量長條,例如目前工作階段和本週。每個長條都會顯示距離其限制重設還有多久。

310 313 

311 對話方塊也會細分哪些因素正在消耗您的方案限制。它會標示佔近期使用量 10% 以上的行為,例如快取未命中、長上下文,以及大量使用 subagent 或高度平行的工作階段。每個被標示的行為都附有減少使用量的提示。歸因表會顯示每個 skill、subagent、外掛和 MCP 伺服器所產生的使用量。314 對話方塊也會細分哪些因素正在消耗您的方案限制:

315 

316 * **建議**:可降低使用量的變更,每列一項,並附上其所處理的近期使用量占比,例如 `Trim ~/code/api/CLAUDE.md · 49k tokens per request`

317 * **修正按鈕**:若要讓 Claude Code 套用其可套用的建議,請點擊建議下方的按鈕,例如 **Fix both**。若要了解該按鈕會作用於哪些列,以及之後您的工作階段中會發生什麼事,請參閱[使用修正捷徑套用建議](/docs/zh-TW/costs#apply-recommendations-with-the-fix-shortcut)。需要 Claude Code v2.1.305 或更新版本。

318 

319 [Remote Control](/docs/zh-TW/remote-control) 連線期間不會顯示此按鈕。如果在 Remote Control 連線後出現 `The usage fix wasn’t fully sent. Open usage and try again.` 警告,請先[中斷 Remote Control 連線](/docs/zh-TW/remote-control#check-connection-status)再重試。

320 * **歸因**:顯示每個 skill、subagent、外掛和 MCP 伺服器所產生使用量的表格

312 321 

313 使用 Day 和 Week 切換,即可在過去 24 小時和過去 7 天之間切換。這些數字為近似值,是根據此機器上的本機工作階段計算而得,因此不包括來自其他裝置或 claude.ai 的使用量。322 使用 Day 和 Week 切換,即可在過去 24 小時和過去 7 天之間切換。這些數字為近似值,是根據此機器上的本機工作階段計算而得,因此不包括來自其他裝置或 claude.ai 的使用量。

314* **其他登入方式**:當方案限制不適用於您的登入方式時(例如在[第三方供應商](#use-third-party-providers)上或使用 API 金鑰時),Usage 區段會改為顯示工作階段本身的成本和 token 使用量。CLI 的 `/usage` 會在其 [Session 區塊](/docs/zh-TW/costs#track-your-costs)中顯示相同的總計。活動列中的工作階段清單也會在其 **Account & usage** 標題下顯示使用中工作階段的總計。需要 Claude Code v2.1.277 或更新版本。323* **其他登入方式**:當方案限制不適用於您的登入方式時(例如在[第三方供應商](#use-third-party-providers)上或使用 API 金鑰時),Usage 區段會改為顯示工作階段本身的成本和 token 使用量。CLI 的 `/usage` 會在其 [Session 區塊](/docs/zh-TW/costs#track-your-costs)中顯示相同的總計。活動列中的工作階段清單也會在其 **Account & usage** 標題下顯示使用中工作階段的總計。需要 Claude Code v2.1.277 或更新版本。


573 582 

574對於背景 shell 命令,或執行命令的 [monitor](/docs/zh-TW/tools-reference#monitor-tool),卡片也會顯示該命令的最新輸出,並在命令執行期間持續更新。583對於背景 shell 命令,或執行命令的 [monitor](/docs/zh-TW/tools-reference#monitor-tool),卡片也會顯示該命令的最新輸出,並在命令執行期間持續更新。

575 584 

585#### 查看背景 subagent 的工具呼叫

586 

587當某個 subagent 僅顯示為一行狀態列而沒有任何工具呼叫時,請在提示詞輸入框中輸入 `/tasks` 以開啟 [agent 地圖](#use-the-prompt-box),並在其中點擊該 subagent。該 subagent 正[在背景執行](#the-run-in-background-action-is-missing-under-a-subagent),其卡片會顯示其工具呼叫,以及一個可開啟其逐字稿的按鈕。

588 

576## VS Code 命令與快捷鍵589## VS Code 命令與快捷鍵

577 590 

578若要開啟命令選擇區,請在 Mac 上按 `Cmd+Shift+P`,或在 Windows/Linux 上按 `Ctrl+Shift+P`。在其中輸入「Claude Code」,即可查看 Claude Code 擴充功能所有可用的 VS Code 命令。591若要開啟命令選擇區,請在 Mac 上按 `Cmd+Shift+P`,或在 Windows/Linux 上按 `Ctrl+Shift+P`。在其中輸入「Claude Code」,即可查看 Claude Code 擴充功能所有可用的 VS Code 命令。


726 739 

727* **Claude 的回覆**:擴充功能會在每則回覆完成時朗讀一次,文字串流輸出期間則保持靜默。螢幕閱讀器會將程式碼區塊朗讀為行數摘要,以標籤朗讀連結,並逐一儲存格朗讀表格;完整回覆仍可在逐字稿中閱讀。740* **Claude 的回覆**:擴充功能會在每則回覆完成時朗讀一次,文字串流輸出期間則保持靜默。螢幕閱讀器會將程式碼區塊朗讀為行數摘要,以標籤朗讀連結,並逐一儲存格朗讀表格;完整回覆仍可在逐字稿中閱讀。

728* **權限請求與問題**:當權限提示出現時,擴充功能會朗讀該請求,並說出 Claude 想要使用的工具名稱。當 Claude 向您提出問題,以及 Claude 完成計畫並等待您審閱時,擴充功能也會以相同方式朗讀。741* **權限請求與問題**:當權限提示出現時,擴充功能會朗讀該請求,並說出 Claude 想要使用的工具名稱。當 Claude 向您提出問題,以及 Claude 完成計畫並等待您審閱時,擴充功能也會以相同方式朗讀。

729* **狀態變更**:擴充功能會在 Claude 開始工作、Claude 準備好接收您的輸入,以及 Claude Code 開始壓縮對話時進行朗讀。742* **狀態變更**:擴充功能會在 Claude 開始工作、Claude 準備好接收您的輸入,以及 Claude Code 開始壓縮對話時進行朗讀。如果您在工作階段的 [SessionStart](/docs/zh-TW/hooks#sessionstart) hook 仍在執行時傳送提示詞,螢幕閱讀器也會朗讀「Running start-up hooks.」。

730* **已排入佇列的訊息**:當您在 Claude 工作時傳送訊息,擴充功能會針對該訊息朗讀「Message queued.」。743* **已排入佇列的訊息**:當您在 Claude 工作時傳送訊息,擴充功能會針對該訊息朗讀「Message queued.」。

731* **錯誤與模型提示**:擴充功能會朗讀對話中的錯誤,並在[用量點數同意提示](/docs/zh-TW/model-config#fable-and-usage-credits)或[已標記請求提示](/docs/zh-TW/model-config#ask-before-switching)出現時進行朗讀。744* **錯誤與模型提示**:擴充功能會朗讀對話中的錯誤,並在[用量點數同意提示](/docs/zh-TW/model-config#fable-and-usage-credits)或[已標記請求提示](/docs/zh-TW/model-config#ask-before-switching)出現時進行朗讀。

732 745 

workflows.md +4 −2

Details

373 373 

374#### 哪些 agent 會再次執行374#### 哪些 agent 會再次執行

375 375 

376Claude Code 按代理啟動的順序重新執行該執行,每個代理要麼返回其已保存的結果,要麼再次執行:376Claude Code 按 agent 啟動的順序重新執行該執行,每個 agent 要麼返回其已保存的結果,要麼再次執行:

377 377 

378* **已完成**:返回其已保存的結果。第一個提示與前次執行不同的代理(因為您編輯了指令碼或較早的代理返回了不同的內容)會再次執行,之後的每個代理也會執行,即使是已完成的代理。378* **已完成**:返回其已保存的結果。第一個提示與前次執行不同的代理(因為您編輯了指令碼或較早的代理返回了不同的內容)會再次執行,之後的每個代理也會執行,即使是已完成的代理。

379 

380 在 v2.1.305 之前,當您重新啟動未經編輯的指令碼,且其 `pipeline()` 項目或 `parallel()` 任務各自執行多個 agent 時,已完成的 agent 也可能再次執行。若要讓新的執行不再發生這些重新執行,請更新 Claude Code。

379* **停止時仍在執行**:重新開始。停止整個執行不會將任何代理計為失敗。381* **停止時仍在執行**:重新開始。停止整個執行不會將任何代理計為失敗。

380* **失敗**:再次執行,之後啟動的每個代理也會執行,即使是已完成的代理。通過在 [`/workflows`](#watch-the-run) 中選擇代理並按 `x` 來單獨停止一個代理,會將其計為失敗。382* **失敗**:再次執行,指令碼在其之後啟動的每個 agent 也會執行,即使是已完成的 agent。透過在 [`/workflows`](#watch-the-run) 中選擇 agent 並按 `x` 來單獨停止一個 agent,會將其計為失敗。

381 383 

382最後一種情況意味著中間的失敗會重新執行已完成的工作。如果指令碼按該順序啟動 A、B、C 和 D,並且 B 失敗,重新啟動會從快取返回 A 並再次執行 B、C 和 D。384最後一種情況意味著中間的失敗會重新執行已完成的工作。如果指令碼按該順序啟動 A、B、C 和 D,並且 B 失敗,重新啟動會從快取返回 A 並再次執行 B、C 和 D。

383 385 

worktrees.md +1 −0

Details

58 58 

59* **worktree 是乾淨的**:對於未命名的會話,Claude 會自動移除 worktree 及其分支。[已命名](/docs/zh-TW/sessions#name-your-sessions)的會話會先提示您,以便您可以保留 worktree 供稍後使用59* **worktree 是乾淨的**:對於未命名的會話,Claude 會自動移除 worktree 及其分支。[已命名](/docs/zh-TW/sessions#name-your-sessions)的會話會先提示您,以便您可以保留 worktree 供稍後使用

60* **worktree 中有工作**:Claude 會提示您保留或移除 worktree。保留會保留目錄和分支。若要稍後返回,請執行 Claude Code 在退出時列印的 `claude --worktree <name> --resume` 命令。移除會刪除 worktree 目錄及其分支,以及其中的所有工作60* **worktree 中有工作**:Claude 會提示您保留或移除 worktree。保留會保留目錄和分支。若要稍後返回,請執行 Claude Code 在退出時列印的 `claude --worktree <name> --resume` 命令。移除會刪除 worktree 目錄及其分支,以及其中的所有工作

61* **已簽出另一個分支**:如果 worktree 位於其自身分支以外的分支上,且該分支有超出 worktree 起始提交的提交,Claude 會提示您保留或移除 worktree。無論選擇哪一項,都會保留該另一個分支及其提交。移除會刪除 worktree 目錄以及 worktree 自身的分支,也就是 Claude 隨 worktree 一併建立的分支

61* **worktree 的狀態無法驗證**:當 Claude Code 無法計算 worktree 的變更或無法檢查其子模組簽出時,它會提示您而不是自動移除 worktree。提示會說明它無法檢查的內容62* **worktree 的狀態無法驗證**:當 Claude Code 無法計算 worktree 的變更或無法檢查其子模組簽出時,它會提示您而不是自動移除 worktree。提示會說明它無法檢查的內容

62 63 

63使用 `-p` 的非互動式執行沒有退出提示,因此 Claude 不會清理它們的 worktrees,Claude Code 會在建立時對每個 worktree 保留它所取得的鎖定,直到稍後會話的[陳舊鎖定掃描](#clean-up-subagent-and-background-session-worktrees)釋放它。要移除一個,請執行 `git worktree remove`;如果 git 拒絕因為 worktree 被鎖定,請先在其上執行 `git worktree unlock`。64使用 `-p` 的非互動式執行沒有退出提示,因此 Claude 不會清理它們的 worktrees,Claude Code 會在建立時對每個 worktree 保留它所取得的鎖定,直到稍後會話的[陳舊鎖定掃描](#clean-up-subagent-and-background-session-worktrees)釋放它。要移除一個,請執行 `git worktree remove`;如果 git 拒絕因為 worktree 被鎖定,請先在其上執行 `git worktree unlock`。