SpyBara
Go Premium

Documentation 2026-11-03 23:58 UTC to 2026-11-04 23:59 UTC

33 files changed +526 −168. View all changes and history on the product overview
2026
Fri 13 02:00 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

231| 模式 | 行為 | 使用案例 |231| 模式 | 行為 | 使用案例 |

232| :- | :- | :- |232| :- | :- | :- |

233| `"default"` | 需要批准且不受允許規則涵蓋的工具呼叫會觸發您的 `canUseTool` 回呼;沒有回呼意味著拒絕 | 具有自訂批准回呼的互動式應用程式 |233| `"default"` | 需要批准且不受允許規則涵蓋的工具呼叫會觸發您的 `canUseTool` 回呼;沒有回呼意味著拒絕 | 具有自訂批准回呼的互動式應用程式 |

234| `"acceptEdits"` | 自動批准檔案編輯和常見的檔案系統命令(`mkdir`、`touch`、`mv`、`cp` 等);其他 Bash 命令遵循預設規則 | 您信任 Claude 的編輯並想要更快的迭代,例如在原型設計期間或在隔離目錄中工作時 |234| `"acceptEdits"` | 自動核准您的[工作目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)內的檔案編輯和常見的檔案系統命令(`mkdir`、`touch`、`mv`、`cp` 等);其他 Bash 命令遵循預設規則 | 您信任 Claude 的編輯並想要更快的迭代,例如在原型設計期間或在隔離目錄中工作時 |

235| `"plan"` | Claude 探索並規劃而不編輯您的原始檔案;檔案編輯永遠不會自動批准,並透過您的 `canUseTool` 回呼提示 | 您想要 Claude 提出變更而不執行它們,例如在程式碼審查期間或當您需要在進行變更前批准它們時 |235| `"plan"` | Claude 探索並規劃。使用 Claude 的檔案工具進行的編輯會送至您的 `canUseTool` 回呼,即使有允許規則符合它們也是如此 | 您希望 Claude 先產生計畫,例如在程式碼審查期間或進行大型變更之前 |

236| `"dontAsk"` | 永不提示。由 [權限規則](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings) 預先核准的工具會執行,在 `default` 模式中不需要核准的呼叫(例如在您的工作目錄內的檔案讀取)也會執行。所有其他原本會提示的呼叫都會被拒絕,不過您安裝的 [mod](https://code.claude.com/docs/zh-TW/plugins/mods/overview.md) 仍可核准[其中部分呼叫](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。少數呼叫(例如 [從網路路徑讀取](https://code.claude.com/docs/zh-TW/permissions.md#network-paths))即使您已允許它們也會被拒絕。如需清單,請參閱 [Don't ask 模式](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#don’t-ask-mode-dontask) | 沒有人可核准呼叫的無頭 agent |236| `"dontAsk"` | 永不提示。由 [權限規則](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings) 預先核准的工具會執行,在 `default` 模式中不需要核准的呼叫(例如在您的工作目錄內的檔案讀取)也會執行。所有其他原本會提示的呼叫都會被拒絕,不過您安裝的 [mod](https://code.claude.com/docs/zh-TW/plugins/mods/overview.md) 仍可核准[其中部分呼叫](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。少數呼叫(例如 [從網路路徑讀取](https://code.claude.com/docs/zh-TW/permissions.md#network-paths))即使您已允許它們也會被拒絕。如需清單,請參閱 [Don't ask 模式](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#don’t-ask-mode-dontask) | 沒有人可核准呼叫的無頭 agent |

237| `"auto"` | 使用模型分類器來審查殼層命令和網路請求等操作,允許或阻止它審查的每一個。請參閱 [自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode) 以了解可用性和決策順序 | 仍然想要工具使用安全防護的自主代理程式 |237| `"auto"` | 使用模型分類器來審查殼層命令和網路請求等操作,允許或阻止它審查的每一個。請參閱 [自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode) 以了解可用性和決策順序 | 仍然想要工具使用安全防護的自主代理程式 |

238| `"bypassPermissions"` | 執行工具呼叫而不要求核准,包括對您未列在 `allowedTools` 中之工具的呼叫。少數呼叫仍會送至您的 `canUseTool` 回呼,列於 [Bypass permissions 模式](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions)。在 TypeScript SDK 中,也需要在 `options` 中設定 `allowDangerouslySkipPermissions: true`。在 Unix 上以 root 身分執行時無法使用。僅在隔離環境中使用,其中 agent 的操作無法影響您關心的系統 | CI、容器或其他隔離環境 |238| `"bypassPermissions"` | 執行工具呼叫而不要求核准,包括對您未列在 `allowedTools` 中之工具的呼叫。少數呼叫仍會送至您的 `canUseTool` 回呼,列於 [Bypass permissions 模式](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions)。在 TypeScript SDK 中,也需要在 `options` 中設定 `allowDangerouslySkipPermissions: true`。在 Unix 上以 root 身分執行時無法使用。僅在隔離環境中使用,其中 agent 的操作無法影響您關心的系統 | CI、容器或其他隔離環境 |

239 239 

240對於互動式應用程式,使用 `"default"` 和工具批准回呼來顯示批准提示。對於開發機器上的自主代理程式,`"acceptEdits"` 自動批准檔案編輯和常見的檔案系統命令(`mkdir`、`touch`、`mv`、`cp` 等),同時仍然在允許規則後面限制其他 `Bash` 命令。為 CI、容器或其他隔離環境保留 `"bypassPermissions"`。請參閱 [權限](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md) 以了解完整詳細資訊。240對於互動式應用程式,使用 `"default"` 和工具核准回呼來顯示核准提示。對於在開發機器上編輯檔案的 agent,使用 `"acceptEdits"`。為 CI、容器或其他隔離環境保留 `"bypassPermissions"`。請參閱 [權限](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md) 以了解完整詳細資訊。

241 241 

242### 模型242### 模型

243 243 

Details

14>14>

15> 如果您載入包含 [mod](https://code.claude.com/docs/zh-TW/plugins/mods/overview.md) 的外掛,請參閱 [mod 的決定在規則與 hook 之間的位置](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。15> 如果您載入包含 [mod](https://code.claude.com/docs/zh-TW/plugins/mods/overview.md) 的外掛,請參閱 [mod 的決定在規則與 hook 之間的位置](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。

16 16 

17當 Claude 請求一個工具時,SDK 按照以下順序檢查權限:17當 Claude 請求一個工具時,Claude Code 會在以下步驟檢查該呼叫。每個步驟都可以決定該呼叫、將其傳送到您的 `canUseTool` 回呼,或將其傳遞下去:

18 18 

19**1. Hooks**19**1. Hooks**

20 20 

21首先執行 [hooks](https://code.claude.com/docs/zh-TW/agent-sdk/hooks.md)。Hook 可以直接拒絕呼叫或將其傳遞下去。返回 `allow` 的 hook 不會跳過下面的拒絕和詢問規則;無論 hook 結果如何,這些規則都會被評估。21執行 [hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks.md)。hook 可以直接拒絕該呼叫,或將其傳遞下去。傳回 `allow` 的 hook 不會略過下方的拒絕和詢問規則,無論 hook 結果為何,這些規則都會被評估。

22 22 

23返回 `allow` 的 `PreToolUse` hook 也無法核准目標被 Claude Code 識別為[關鍵路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)的 `rm` 或 `rmdir` 命令,例如 `rm -rf ~`。關於該 `allow` 在 plan mode 中的作用,請參閱 [plan mode 中的 hook 核准](https://code.claude.com/docs/zh-TW/permissions.md#hook-approvals-in-plan-mode)。23返回 `allow` 的 `PreToolUse` hook 也無法核准目標被 Claude Code 識別為[關鍵路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)的 `rm` 或 `rmdir` 命令,例如 `rm -rf ~`。關於該 `allow` 在 plan mode 中的作用,請參閱 [plan mode 中的 hook 核准](https://code.claude.com/docs/zh-TW/permissions.md#hook-approvals-in-plan-mode)。

24 24 

25**2. 拒絕規則**25**2. 拒絕規則**

26 26 

27如果來自 `disallowed_tools` 或 [settings.json](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings) 的拒絕規則匹配,呼叫會被拒絕,且不會呼叫 [`canUseTool`](https://code.claude.com/docs/zh-TW/agent-sdk/user-input),即使在 [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) 模式下,以及即使 hook 返回了 `allow` 也是如此。27如果來自 `disallowed_tools` 或來自 [SDK 載入的設定檔](#rules-in-settings-files)的拒絕規則匹配,呼叫會被拒絕,且不會呼叫 [`canUseTool`](https://code.claude.com/docs/zh-TW/agent-sdk/user-input)。即使在 [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) 模式下,以及即使 hook 返回了 `allow`,呼叫也會以這種方式被拒絕。

28 28 

29在 TypeScript SDK 中,如果您將[自訂工具](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools.md#require-approval-for-specific-tools)的 `permission_policy` 設定為 [`always_deny`](https://code.claude.com/docs/zh-TW/agent-sdk/typescript#mcpservertoolpolicy),對該工具的呼叫會在此步驟被拒絕。29在 TypeScript SDK 中,如果您將[自訂工具](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools.md#require-approval-for-specific-tools)的 `permission_policy` 設定為 [`always_deny`](https://code.claude.com/docs/zh-TW/agent-sdk/typescript#mcpservertoolpolicy),對該工具的呼叫會在此步驟被拒絕。

30 30 


32 32 

33檢查來自 [settings.json](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings) 的 `ask` 規則。如果詢問規則匹配,呼叫會傳遞到您的 [`canUseTool` 回呼](https://code.claude.com/docs/zh-TW/agent-sdk/user-input) 以進行確認,即使在 `bypassPermissions` 模式下也是如此。33檢查來自 [settings.json](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings) 的 `ask` 規則。如果詢問規則匹配,呼叫會傳遞到您的 [`canUseTool` 回呼](https://code.claude.com/docs/zh-TW/agent-sdk/user-input) 以進行確認,即使在 `bypassPermissions` 模式下也是如此。

34 34 

35需要使用者互動的工具行為相同:`AskUserQuestion` 和 MCP 工具(其伺服器設定了 [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/zh-TW/mcp#require-approval-for-a-specific-tool))總是傳遞到回呼,即使當 allow 規則匹配時也是如此。在 `dontAsk` 模式下,兩種情況都會被拒絕,因為該模式永遠不會提示。MCP 註解需要 Claude Code v2.1.199 或更新版本。35需要使用者互動的工具行為相同。`AskUserQuestion` 以及其伺服器設定了 [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具會傳遞到回呼,即使當 allow 規則匹配時也是如此。在 `dontAsk` 模式下,兩種情況都會改為被拒絕,因為該模式會將每個提示轉為拒絕。MCP 註解需要 Claude Code v2.1.199 或更新版本。

36 36 

37您的組織設定為 `ask` 的 [claude.ai connector](https://code.claude.com/docs/zh-TW/mcp.md#organization-controls-on-connector-tools) 工具也會在此步驟離開流程。每個呼叫都會傳遞到回呼,即使在 `bypassPermissions` 模式下,即使當 allow 規則匹配時也是如此。回呼會收到原因 `Your organization requires approval for this tool`。在 `dontAsk` 模式下,呼叫會被拒絕,因為該模式永遠不會提示。37您的組織設定為 `ask` 的 [claude.ai connector](https://code.claude.com/docs/zh-TW/mcp.md#organization-controls-on-connector-tools) 工具也會在此步驟離開流程。每個呼叫都會傳遞到回呼,即使在 `bypassPermissions` 模式下,即使當 allow 規則匹配時也是如此。回呼會收到原因 `Your organization requires approval for this tool`。在 `dontAsk` 模式下,呼叫會被拒絕,因為該模式永遠不會提示。

38 38 


42 42 

43應用活躍的 [權限模式](#permission-modes):43應用活躍的 [權限模式](#permission-modes):

44 44 

45* 在 `bypassPermissions` 模式下,Claude Code 核准到達此步驟的所有內容,但經識別的[關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)以及被標記為 [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/zh-TW/permission-modes#dangerous-rm-operation-not-ruled-out) 的 Bash 命令除外,這些會改為傳遞下去。45* 在 `bypassPermissions` 模式下,Claude Code 會核准到達此步驟的每個呼叫,除非它屬於[任何模式都不會自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves)。關於其中哪些動作會傳送到您的 `canUseTool` 回呼,請參閱 [Bypass permissions 模式](#bypass-permissions-mode-bypasspermissions)。

46 * 若要在沒有提示的情況下執行這些移除,請參閱[關閉關鍵路徑移除提示](https://code.claude.com/docs/zh-TW/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode)。

47* 在 `acceptEdits` 模式下,Claude Code 核准 [接受編輯模式](#accept-edits-mode-acceptedits) 下列出的檔案操作。46* 在 `acceptEdits` 模式下,Claude Code 核准 [接受編輯模式](#accept-edits-mode-acceptedits) 下列出的檔案操作。

48* 在 `plan` 模式下,Claude Code 將檔案編輯工具發送到您的 `canUseTool` 回呼,無論 allow 規則如何。47* 在 `plan` 模式下,部分呼叫會到達您的回呼,而當自動模式可用時,其他呼叫則會改為交由其分類器處理。如需更多資訊,請參閱 [Plan mode](#plan-mode-plan)。

49* 在其他模式下,請求會傳遞下去。48* 在 `default` 和 `dontAsk` 模式下,呼叫會繼續進入 allow 規則。

49* 關於 `auto` 模式,請參閱[自動模式](#auto-mode-auto)。

50 50 

51**5. 允許規則**51**5. 允許規則**

52 52 


91 91 

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

93 93 

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

95 

96使用 `//path` 表示絕對檔案系統路徑:`Edit(//secrets/**)` 的拒絕規則會阻止在磁碟上 `/secrets` 下任何位置的寫入。使用單個前導斜線時,`Edit(/secrets/**)` 會在規則的來源處錨定。對於透過 `allowed_tools` 或 `disallowed_tools` 傳遞的規則,這表示工作階段的工作目錄,因此規則不會阻止磁碟上的 `/secrets`。請參閱[讀取和編輯規則](https://code.claude.com/docs/zh-TW/permissions.md#read-and-edit)以了解四種錨定形式以及來自設定檔的規則如何解析。

97 

98> [!WARNING]94> [!WARNING]

99>95>

100> **自動批准的工具永遠不會到達 `canUseTool`。** 在任何較早步驟中批准的工具呼叫,透過 `acceptEdits` 或 `bypassPermissions`,或透過允許規則,會跳過您的 `canUseTool` 回呼,因此您在那裡放置的權限檢查會被該工具無聲地繞過。96> **自動批准的工具永遠不會到達 `canUseTool`。** 在任何較早步驟中批准的工具呼叫,透過 `acceptEdits` 或 `bypassPermissions`,或透過允許規則,會跳過您的 `canUseTool` 回呼,因此您在那裡放置的權限檢查會被該工具無聲地繞過。


105>101>

106> * 您的應用程式標記為 [`always_ask`](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools#require-approval-for-specific-tools) 的自訂工具:在回呼中決定該呼叫。若要停止這些呼叫抵達,請[在工作階段中途變更政策](https://code.claude.com/docs/zh-TW/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance)。在 `auto`、`plan` 和 `bypassPermissions` 模式中,該呼叫也可能在回呼之前就被核准,相關情況列於[可核准 `always_ask` 呼叫的權限模式](https://code.claude.com/docs/zh-TW/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)102> * 您的應用程式標記為 [`always_ask`](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools#require-approval-for-specific-tools) 的自訂工具:在回呼中決定該呼叫。若要停止這些呼叫抵達,請[在工作階段中途變更政策](https://code.claude.com/docs/zh-TW/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance)。在 `auto`、`plan` 和 `bypassPermissions` 模式中,該呼叫也可能在回呼之前就被核准,相關情況列於[可核准 `always_ask` 呼叫的權限模式](https://code.claude.com/docs/zh-TW/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)

107>103>

108> * 經辨識的 `rm` 和 `rmdir` [關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths):在 `default`、`acceptEdits` 和 `bypassPermissions` 模式中,請在回呼中允許或拒絕該移除,此時 [`decisionReason`](https://code.claude.com/docs/zh-TW/agent-sdk/typescript#canusetool) 會以 `Dangerous rm` 開頭。關於 `auto` 和 `plan` 模式,請參閱[各權限模式中的關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-path-removals-in-each-permission-mode)。辨識這些移除的檢查[可能會遺漏某些命令](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)104> * 經辨識的 `rm` 和 `rmdir` [關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths):在 `default`、`acceptEdits` 和 `bypassPermissions` 模式中,請在回呼中允許或拒絕該移除,此時 [`decisionReason`](https://code.claude.com/docs/zh-TW/agent-sdk/typescript#canusetool) 會以 `Dangerous rm` 開頭。關於 `auto` 和 `plan` 模式,請參閱[各權限模式中的關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-path-removals-in-each-permission-mode)

109>105>

110> * **裸名稱**:像 `Read` 或 `mcp__github__get_issue` 這樣的項目會自動核准對該工具的每個呼叫,但[任何模式都不自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves)和[從網路路徑讀取](https://code.claude.com/docs/zh-TW/permissions.md#network-paths)除外。106> * **裸名稱**:像 `Read` 或 `mcp__github__get_issue` 這樣的項目會自動核准對該工具的每個呼叫,但[任何模式都不自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves)和[從網路路徑讀取](https://code.claude.com/docs/zh-TW/permissions.md#network-paths)除外。

111>107>

112> * **限定規則**:像 `Bash(npm test *)` 這樣的項目只會自動核准符合的呼叫,其他需要核准的 `Bash` 呼叫仍會進入回呼。108> * **限定規則**:像 `Bash(npm test *)` 這樣的項目會自動核准符合的呼叫,其他需要核准的 `Bash` 呼叫會進入權限模式。

113>109>

114> 對於必須在每個工具呼叫上執行的檢查,請使用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks):hook 在每個其他步驟之前執行,hook 拒絕即使在 `bypassPermissions` 模式中也適用。110> 若要檢查由允許規則、`acceptEdits` 或 `bypassPermissions` 核准的呼叫,請使用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks),它也會針對這些呼叫執行。hook 拒絕即使在 `bypassPermissions` 模式中也適用。

115 111 

116對於鎖定的代理,將 `allowedTools` 與 `permissionMode: "dontAsk"` 配對:112對於鎖定的代理,將 `allowedTools` 與 `permissionMode: "dontAsk"` 配對:

117 113 


128 124 

129> [!WARNING]125> [!WARNING]

130>126>

131> **`allowed_tools` 不限制 `bypassPermissions`。** `allowed_tools` 預先批准您列出的工具。其他未列出的工具不符合任何允許規則,會進入權限模式,其中 `bypassPermissions` 會批准它們。將 `allowed_tools=["Read"]` 與 `permission_mode="bypassPermissions"` 一起設定仍會批准每個工具,包括 `Bash`、`Write` 和 `Edit`。如果您需要 `bypassPermissions` 但想要阻止特定工具,請使用 `disallowed_tools`。127> **`allowed_tools` 不限制 `bypassPermissions`。** `allowed_tools` 預先核准您列出的工具。在 `bypassPermissions` 模式中,Claude Code 會核准對未列出工具的呼叫,除非該呼叫屬於[任何模式都不自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves)。

128>

129> 如果您將 `allowed_tools=["Read"]` 與 `permission_mode="bypassPermissions"` 一起設定,Claude Code 仍會核准對 `Bash`、`Write` 和 `Edit` 等工具的呼叫。如果您需要 `bypassPermissions` 但想要阻止特定工具,請使用 `disallowed_tools`。關於在此模式中仍會到達您 `canUseTool` 回呼的呼叫,請參閱[略過權限模式](#bypass-permissions-mode-bypasspermissions)。

132 130 

133您也可以在 `.claude/settings.json` 中以宣告方式設定允許、拒絕和詢問規則。當啟用 `project` 設定來源時會讀取這些規則,預設 `query()` 選項就是這樣。如果您明確設定 `setting_sources`(TypeScript:`settingSources`),請包含 `"project"` 以便它們適用。請參閱[權限設定](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings)以了解規則語法。131您也可以在 `.claude/settings.json` 中以宣告方式設定允許、拒絕和詢問規則。當啟用 `project` 設定來源時會讀取這些規則,預設 `query()` 選項就是這樣。如果您明確設定 `setting_sources`(TypeScript:`settingSources`),請包含 `"project"` 以便它們適用。請參閱[權限設定](https://code.claude.com/docs/zh-TW/settings-reference.md#permission-settings)以了解規則語法。

134 132 

133關於專案 `.claude/settings.json` 中的允許規則何時適用,請參閱[專案允許規則與工作區信任](https://code.claude.com/docs/zh-TW/permissions.md#project-allow-rules-and-workspace-trust)。

134 

135### 規則中的路徑模式

136 

137`Read` 和 `Edit` 的限定規則採用路徑模式。`Edit(path)` 規則管理所有寫入檔案的內建工具,包括 `Write` 和 `NotebookEdit`,因此請將其中任何一個工具的路徑規則寫成 `Edit(path)`。如果您將路徑規則寫成 `Write(path)` 或 `NotebookEdit(path)`,它[不會符合任何呼叫](https://code.claude.com/docs/zh-TW/permissions.md#path-rules-that-never-match),也不會產生任何效果。

138 

139在 `allowed_tools` 和 `disallowed_tools` 中,以 `//` 開頭表示絕對路徑,或以單個 `/` 開頭表示工作階段工作目錄內的路徑:

140 

141* **`//path`**:使用 `Edit(//secrets/**)` 的拒絕規則時,Claude Code 會阻止 Claude 的檔案工具以及[`tee` 和 `> file` 重新導向等 Bash 命令](https://code.claude.com/docs/zh-TW/permissions#what-read-and-edit-rules-cover)寫入磁碟上 `/secrets` 之下的位置。Claude 執行且自行開啟檔案的指令碼仍可寫入 `/secrets` 之下。若要由作業系統強制執行,請參閱[設定沙箱化的 Bash 工具](https://code.claude.com/docs/zh-TW/sandboxing.md)。

142* **`/path`**:`Edit(/secrets/**)` 符合工作目錄內的 `secrets` 目錄。

143 

144關於路徑模式的其他開頭方式,請參閱[讀取和編輯規則](https://code.claude.com/docs/zh-TW/permissions.md#read-and-edit)。

145 

135## 權限模式146## 權限模式

136 147 

137權限模式可全域控制 Claude 使用工具的方式。您可以在呼叫 `query()` 時設定權限模式,或在串流工作階段期間動態變更。148權限模式可全域控制 Claude 使用工具的方式。您可以在呼叫 `query()` 時設定權限模式,或在串流工作階段期間動態變更。


146| :- | :- | :- |157| :- | :- | :- |

147| `default` | 標準權限行為 | 沒有基於模式的自動核准;需要核准且不符合任何 allow 規則的呼叫會觸發您的 `canUseTool` 回呼 |158| `default` | 標準權限行為 | 沒有基於模式的自動核准;需要核准且不符合任何 allow 規則的呼叫會觸發您的 `canUseTool` 回呼 |

148| `dontAsk` | 拒絕而非提示 | 任何原本會提示的呼叫都會被拒絕,且不會呼叫 `canUseTool`,不過您安裝的 [mod](https://code.claude.com/docs/zh-TW/plugins/mods/overview.md) 仍可核准[其中部分呼叫](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。由 `allowed_tools` 或 `settings.json` allow 規則核准的呼叫會執行,在 `default` 模式下不需要核准的呼叫也會執行。某些呼叫,例如[從網路路徑讀取](https://code.claude.com/docs/zh-TW/permissions.md#network-paths),即使符合 `allowed_tools` 或 allow 規則也會被拒絕。如需清單,請參閱 [Don't ask 模式](#don’t-ask-mode-dontask) |159| `dontAsk` | 拒絕而非提示 | 任何原本會提示的呼叫都會被拒絕,且不會呼叫 `canUseTool`,不過您安裝的 [mod](https://code.claude.com/docs/zh-TW/plugins/mods/overview.md) 仍可核准[其中部分呼叫](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。由 `allowed_tools` 或 `settings.json` allow 規則核准的呼叫會執行,在 `default` 模式下不需要核准的呼叫也會執行。某些呼叫,例如[從網路路徑讀取](https://code.claude.com/docs/zh-TW/permissions.md#network-paths),即使符合 `allowed_tools` 或 allow 規則也會被拒絕。如需清單,請參閱 [Don't ask 模式](#don’t-ask-mode-dontask) |

149| `acceptEdits` | 自動接受檔案編輯 | 檔案編輯和[檔案系統操作](#accept-edits-mode-acceptedits)(`mkdir`、`rm`、`mv` 等)會自動核准 |160| `acceptEdits` | 自動接受檔案編輯 | 您的[工作目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)內的檔案編輯和[檔案系統操作](#accept-edits-mode-acceptedits)(`mkdir`、`rm`、`mv` 等)會自動核准 |

150| `bypassPermissions` | 略過權限檢查 | 工具會在沒有權限提示的情況下執行,但[任何模式都不會自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves)除外;此外,在[雲端工作階段](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md)之外,您的應用程式[標記為 `always_ask`](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools#require-approval-for-specific-tools) 的自訂工具也除外。請謹慎使用 |161| `bypassPermissions` | 略過權限檢查 | 工具會在沒有權限提示的情況下執行,但[任何模式都不會自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves)除外;此外,在[雲端工作階段](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md)之外,您的應用程式[標記為 `always_ask`](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools#require-approval-for-specific-tools) 的自訂工具也除外。請謹慎使用 |

151| `plan` | 規劃模式 | Claude 會探索並規劃,但不會編輯您的原始檔;檔案編輯永遠不會自動核准,而是透過您的 `canUseTool` 回呼提示 |162| `plan` | 規劃模式 | Claude 會探索並規劃。使用 Claude 的檔案工具進行的編輯會送往您的 `canUseTool` 回呼,即使符合 allow 規則也一樣 |

152| `auto` | 由模型分類的核准 | 模型分類器會審查 shell 命令和網路請求等動作,對其審查的每個動作予以允許或封鎖。如需可用性與決策順序,請參閱[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode) |163| `auto` | 由模型分類的核准 | 模型分類器會審查 shell 命令和網路請求等動作,對其審查的每個動作予以允許或封鎖。如需可用性與決策順序,請參閱[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode) |

153 164 

154> [!WARNING]165> [!WARNING]


267 278 

268**自動核准的操作:**279**自動核准的操作:**

269 280 

270* 檔案編輯(Edit、Write 工具)281* 使用 Edit、Write 和 NotebookEdit 工具進行的檔案編輯

271* 檔案系統命令:`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp`、`sed`282* 檔案系統命令:`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp`、`sed`

272 283 

273兩者都僅適用於工作目錄或 `additionalDirectories` 內的路徑。在 `acceptEdits` 模式下,當 Claude 進行以下操作時,Claude Code 不會自動核准該請求:284兩者都適用於工作目錄或您新增之目錄內的路徑。在 Python 中,使用 `add_dirs` 新增目錄;在 TypeScript 中,則使用 `additionalDirectories`。在 `acceptEdits` 模式下,當 Claude 進行以下操作時,Claude Code 不會自動核准該請求:

274 285 

275* 處理該範圍之外的路徑286* 處理該範圍之外的路徑

276* 寫入受保護的路徑287* 寫入[受保護的路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#protected-paths)

277* 使用 `rm` 或 `rmdir` 移除 Claude Code 識別為[關鍵路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)的路徑288* 使用 `rm` 或 `rmdir` 移除 Claude Code 識別為[關鍵路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)的路徑

278* 執行帶有選項、glob,或 `timeout 5`、`LANG=C` 等前綴的 [`touch`](https://code.claude.com/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)289* 執行帶有選項、glob,或 `timeout 5`、`LANG=C` 等前綴的 [`touch`](https://code.claude.com/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)

279 290 


293 304 

294如果您的 `PreToolUse` hook 對經識別的關鍵路徑移除、從網路路徑讀取,或對標記為 `always_ask` 之工具的呼叫傳回 `allow`,該呼叫仍會被拒絕。識別這些移除操作的檢查[可能會遺漏某些命令](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)。305如果您的 `PreToolUse` hook 對經識別的關鍵路徑移除、從網路路徑讀取,或對標記為 `always_ask` 之工具的呼叫傳回 `allow`,該呼叫仍會被拒絕。識別這些移除操作的檢查[可能會遺漏某些命令](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)。

295 306 

296**適用時機:** 您希望為 headless agent 提供固定且明確的工具範圍,並偏好直接拒絕,而非默默依賴 `canUseTool` 不存在的情況。307**適用時機:** 您執行 headless agent,並希望對每個原本會提示的呼叫直接拒絕。

297 308 

298#### Bypass permissions 模式(`bypassPermissions`)309#### Bypass permissions 模式(`bypassPermissions`)

299 310 


303>314>

304> 請極度謹慎使用。在此模式下,Claude 擁有完整的系統存取權。僅在您信任所有可能操作的受控環境中使用。315> 請極度謹慎使用。在此模式下,Claude 擁有完整的系統存取權。僅在您信任所有可能操作的受控環境中使用。

305>316>

306> `allowed_tools` 不會限制此模式。所有工具都會被核准,而不僅是您列出的工具。以下控制措施仍然適用:317> `allowed_tools` 不會限制此模式,對您未列出之工具的呼叫也會被核准。以下控制措施仍然適用:

307>318>

308> * Deny 規則、明確的 `ask` 規則和 hook 會在模式檢查之前進行評估,且仍可封鎖工具。319> * Deny 規則、明確的 `ask` 規則和 hook 會在模式檢查之前進行評估,且仍可封鎖工具。

309> * [您的組織設為 `ask`](https://code.claude.com/docs/zh-TW/mcp#organization-controls-on-connector-tools) 的連接器工具、需要使用者互動的工具,以及經識別的[關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths),仍會交由您的 `canUseTool` 回呼處理。識別這些移除操作的檢查[可能會遺漏某些命令](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths),且您可以[關閉關鍵路徑移除提示](https://code.claude.com/docs/zh-TW/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode)。在[雲端工作階段](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md)之外,對您的應用程式[標記為 `always_ask`](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools#require-approval-for-specific-tools) 之自訂工具的呼叫也會交由該回呼處理。320> * [您的組織設為 `ask`](https://code.claude.com/docs/zh-TW/mcp#organization-controls-on-connector-tools) 的連接器工具、需要使用者互動的工具、經識別的[關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths),以及被標記為 [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/zh-TW/permission-modes#dangerous-rm-operation-not-ruled-out) 的 Bash 命令,仍會交由您的 `canUseTool` 回呼處理。識別關鍵路徑移除的檢查[可能會遺漏某些命令](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths),且您可以[關閉關鍵路徑移除提示](https://code.claude.com/docs/zh-TW/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode)。在[雲端工作階段](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md)之外,對您的應用程式[標記為 `always_ask`](https://code.claude.com/docs/zh-TW/agent-sdk/custom-tools#require-approval-for-specific-tools) 之自訂工具的呼叫也會交由該回呼處理。

310> * [跨工作階段訊息傳遞防護措施](https://code.claude.com/docs/zh-TW/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)仍然適用。321> * [跨工作階段訊息傳遞防護措施](https://code.claude.com/docs/zh-TW/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)仍然適用。

311 322 

312#### Plan mode(`plan`)323#### Plan mode(`plan`)

313 324 

314Claude 會探索程式碼庫並產生計劃,但不會編輯您的原始檔。在 plan mode 中,檔案編輯永遠不會自動核准,即使符合 allow 規則或 `PreToolUse` hook 傳回 `allow` 也一樣。這些編輯會改為透過您的 `canUseTool` 回呼提示。325Claude 會探索程式碼庫並產生計劃。在規劃期間,使用 Claude 的檔案工具對[受保護的路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#protected-paths)以外所做的編輯會送達您的 `canUseTool` 回呼,即使符合 allow 規則或 `PreToolUse` hook 傳回 `allow` 也一樣。[`AskUserQuestion`](https://code.claude.com/docs/zh-TW/agent-sdk/user-input#handle-clarifying-questions) 呼叫也會送達您的回呼,即使有 allow 規則指名該工具也一樣。

326 

327當可使用[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)時,若沒有 allow 規則核准下列呼叫,Claude Code 會在規劃期間將其送往[自動模式的分類器](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode)審查,而非送往您的回呼:

328 

329* Shell 命令

330* 網頁擷取

331* 網頁搜尋

332* 對其伺服器標記為唯讀之 MCP 工具的呼叫

333 

334此審查預設為開啟。若要關閉,請在您傳給 `query()` 的 `settings` 選項中,或在您的使用者設定中,將 [`useAutoModeDuringPlan`](https://code.claude.com/docs/zh-TW/settings-reference#useautomodeduringplan) 設為 `false`。審查關閉時,網頁搜尋以及對標記為唯讀之 MCP 工具的呼叫會送達您的回呼。

315 335 

316當工作階段可使用自動模式時,Claude 在規劃期間執行的命令預設不會送達您的回呼,因為[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)所使用的分類器模型會[改為審查這些命令](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode)。啟用該審查時,分類器也可以核准原本會送達您回呼的唯讀呼叫,例如沒有 allow 規則的 `WebFetch` 呼叫。336對於 shell 命令和網頁擷取,下表列出每個呼叫是否會送達您的回呼:

337 

338| 規劃期間的呼叫 | 審查開啟 | 審查關閉,或無法使用自動模式 |

339| :- | :- | :- |

340| [唯讀](https://code.claude.com/docs/zh-TW/permissions.md#read-only-commands) shell 命令,例如 `ls` | 執行,且不會送達您的回呼 | 執行,且不會送達您的回呼 |

341| 任何其他沒有 allow 規則核准的 shell 命令,但[關鍵路徑移除](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)除外 | 送往分類器,由分類器核准或拒絕,不經過您的回呼 | 送達您的回呼 |

342| 對[預先核准的文件網域](https://code.claude.com/docs/zh-TW/tools-reference.md#webfetch-tool-behavior)進行的 `WebFetch` 呼叫 | 執行,且不會送達您的回呼 | 執行,且不會送達您的回呼 |

343| 任何其他沒有 allow 規則核准的 `WebFetch` 呼叫 | 送往分類器,由分類器核准或拒絕,不經過您的回呼 | 送達您的回呼 |

344 

345如需了解分類器連續拒絕多個呼叫後會發生的情況,請參閱[重複封鎖閾值](https://code.claude.com/docs/zh-TW/permission-modes.md#repeated-block-thresholds)。

317 346 

318> [!NOTE]347> [!NOTE]

319>348>

320> 在 TypeScript SDK 中,如果您將 `allowDangerouslySkipPermissions: true` 與 `permissionMode: 'plan'` 一起設定,檔案編輯仍會送達您的 `canUseTool` 回呼。若要之後使用 `setPermissionMode()` 將以 plan mode 啟動的工作階段切換為 `bypassPermissions`,您需要從一開始就設定 `allowDangerouslySkipPermissions`。349> 在 TypeScript SDK 中,如果您將 `allowDangerouslySkipPermissions: true` 與 `permissionMode: 'plan'` 一起設定,檔案編輯仍會送達您的 `canUseTool` 回呼。若要之後使用 `setPermissionMode()` 將以 plan mode 啟動的工作階段切換為 `bypassPermissions`,您需要從一開始就設定 `allowDangerouslySkipPermissions`。

321 350 

322Claude 可能會在定案計劃之前使用 `AskUserQuestion` 釐清需求。如需處理這些提示的方式,請參閱[處理核准與使用者輸入](https://code.claude.com/docs/zh-TW/agent-sdk/user-input.md#handle-clarifying-questions)。351**適用時機:** 您希望 Claude 先產生計劃,例如在程式碼審查期間或進行大型變更之前。

323 

324**適用時機:** 您希望 Claude 提出變更建議但不執行,例如在程式碼審查期間,或在變更進行之前需要您核准時。

325 352 

326#### 自動模式(`auto`)353#### 自動模式(`auto`)

327 354 

Details

1175PermissionMode = Literal[1175PermissionMode = Literal[

1176 "default", # 標準權限行為1176 "default", # 標準權限行為

1177 "acceptEdits", # 自動接受檔案編輯1177 "acceptEdits", # 自動接受檔案編輯

1178 "plan", # 規劃模式 - 探索而不編輯1178 "plan", # 規劃模式 - Claude 進行探索和規劃

1179 "dontAsk", # 拒絕任何未預先核准的內容,而不是提示1179 "dontAsk", # 拒絕任何未預先核准的內容,而不是提示

1180 "bypassPermissions", # 略過權限檢查;明確的 ask 規則仍會提示(謹慎使用)1180 "bypassPermissions", # 略過權限檢查;明確的 ask 規則仍會提示(謹慎使用)

1181 "auto", # 模型分類器會審查 shell 命令和網路請求等動作1181 "auto", # 模型分類器會審查 shell 命令和網路請求等動作


1214 1214 

1215傳回 `PermissionResult`(`PermissionResultAllow` 或 `PermissionResultDeny`)。1215傳回 `PermissionResult`(`PermissionResultAllow` 或 `PermissionResultDeny`)。

1216 1216 

1217回呼是互動式權限提示的 SDK 替代品:僅在[權限評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)解決為提示時叫用。由 `allowed_tools` 項目、設定允許規則或權限模式(例如 `acceptEdits` 或 `bypassPermissions`)預先核准的工具呼叫永遠不會叫用它。若要限制每個工具呼叫,請改用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks)。1217此回呼取代互動式權限提示。當[權限評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)解決為提示時,SDK 會呼叫 `can_use_tool`。以下列任一方式核准的呼叫會在不呼叫 `can_use_tool` 的情況下執行:

1218 

1219* 由 `allowed_tools` 項目或設定允許規則核准的呼叫

1220* 由權限模式核准的呼叫,例如 `acceptEdits` 模式中的檔案編輯

1221 

1222若要檢查這些呼叫,請使用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks),它也會針對這些呼叫執行。

1218 1223 

1219允許規則不會預先核准[任何模式都不自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves);請參閱[權限如何評估](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)以了解其中哪些到達回呼以及在 `dontAsk` 和 `auto` 模式中發生的情況。1224允許規則不會預先核准[任何模式都不自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves);請參閱[權限如何評估](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)以了解其中哪些到達回呼以及在 `dontAsk` 和 `auto` 模式中發生的情況。

1220 1225 


3659 3664 

3660> [!NOTE]3665> [!NOTE]

3661>3666>

3662> 內建沙箱 proxy 根據請求的主機名稱強制執行網路允許清單,不會終止或檢查 TLS 流量,因此[網域前置](https://en.wikipedia.org/wiki/Domain_fronting)等技術可能會繞過它。有關詳細資訊,請參閱[沙箱安全限制](https://code.claude.com/docs/zh-TW/sandboxing.md#security-limitations),以及[安全部署](https://code.claude.com/docs/zh-TW/agent-sdk/secure-deployment.md#traffic-forwarding)以配置 TLS 終止 proxy。3667> 內建沙箱代理伺服器根據請求的主機名稱強制執行網路允許清單。預設情況下,代理伺服器不會終止或檢查 TLS 流量,因此[網域前置](https://en.wikipedia.org/wiki/Domain_fronting)等技術可能會繞過允許清單。有關詳細資訊,請參閱[沙箱機制安全限制](https://code.claude.com/docs/zh-TW/sandboxing.md#security-limitations),以及參閱[安全部署](https://code.claude.com/docs/zh-TW/agent-sdk/secure-deployment.md#traffic-forwarding)以設定 TLS 終止代理伺服器。

3663 3668 

3664### `SandboxIgnoreViolations`3669### `SandboxIgnoreViolations`

3665 3670 

Details

22 22 

23Claude Code 包含多項安全功能,可解決常見問題。有關完整詳情,請參閱[安全文件](https://code.claude.com/docs/zh-TW/security.md)。23Claude Code 包含多項安全功能,可解決常見問題。有關完整詳情,請參閱[安全文件](https://code.claude.com/docs/zh-TW/security.md)。

24 24 

25* **權限系統**:每個工具和 bash 命令都可以配置為允許、阻止或提示使用者批准。使用 glob 模式建立規則,例如「允許所有 npm 命令」或「阻止任何包含 sudo 的命令」。組織可以設定適用於所有使用者的政策。請參閱[權限](https://code.claude.com/docs/zh-TW/permissions.md)。25* **權限系統**:權限規則決定工具呼叫是否執行、被阻止,或先要求核准。關於 Bash 規則無法比對的形式,以及規則如何與權限模式結合,請參閱[Bash 規則無法比對的內容](https://code.claude.com/docs/zh-TW/permissions.md#bash-rule-limits)和[設定權限](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md)。管理員也可以在[受管設定](https://code.claude.com/docs/zh-TW/permissions.md#managed-settings)中設定規則。

26* **用於權限的命令解析**:在執行 bash 命令之前,Claude Code 將其解析為 AST 並將結果與您的權限規則進行比對。無法乾淨解析或不符合允許規則的命令需要明確批准。一小組構造(例如 `eval`)無論允許規則如何都始終需要批准。這是一個權限閘道,而不是沙箱;除了內建安全檢查(例如 `rm` 和 `rmdir` 上的[關鍵路徑檢查](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)和[受保護路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#protected-paths)清單)外,它不會根據其目標路徑或效果推斷命令是否危險。26* **關鍵路徑移除**:當權限模式設為 `default` 時,被識別為會移除您的工作目錄或其他[關鍵路徑](https://code.claude.com/docs/zh-TW/permission-modes.md#critical-paths)的 `rm` 或 `rmdir` 命令需要核准。符合的允許規則不會略過該核准。這是一個權限閘道,而不是沙箱。若要控制 agent 可以寫入的內容,請使用[檔案系統控制](#filesystem-configuration)。

27* **Web 搜尋摘要**:搜尋結果被摘要化,而不是將原始內容直接傳遞到上下文中,降低了來自惡意 Web 內容的提示注入風險。27* **Web 搜尋摘要**:搜尋結果被摘要化,而不是將原始內容直接傳遞到上下文中,降低了來自惡意 Web 內容的提示注入風險。

28* **Sandbox 模式**:Bash 命令可以在限制檔案系統和網路存取的沙箱環境中執行。有關詳情,請參閱[沙箱文件](https://code.claude.com/docs/zh-TW/sandboxing.md)。28* **Sandbox 模式**:Bash 命令可以在限制檔案系統和網路存取的沙箱環境中執行。有關詳情,請參閱[沙箱文件](https://code.claude.com/docs/zh-TW/sandboxing.md)。

29 29 


83**工作原理:**83**工作原理:**

84 84 

85* **檔案系統**:使用 OS 原語(Linux 上的 `bubblewrap`、macOS 上的 `sandbox-exec`)限制對配置路徑的讀/寫存取85* **檔案系統**:使用 OS 原語(Linux 上的 `bubblewrap`、macOS 上的 `sandbox-exec`)限制對配置路徑的讀/寫存取

86* **網路**:移除網路命名空間 (Linux) 或使用 Seatbelt 設定檔 (macOS) 透過內建代理路由網路流量86* **網路**:在命令自己的網路命名空間 (Linux) 中或在 Seatbelt 設定檔 (macOS) 下執行命令,並透過內建代理伺服器路由其流量,該代理伺服器允許已設定的網域。略過代理伺服器而連線至外部主機的連線會失敗。

87* **配置**:基於 JSON 的網域和檔案系統路徑允許清單87* **配置**:基於 JSON 的網域和檔案系統路徑允許清單

88 88 

89**設定:**89**設定:**

90 90 

91```bash theme={null}91有關安裝、設定和啟動步驟,請參閱[設定並啟動 runtime](https://code.claude.com/docs/zh-TW/sandbox-environments.md#set-up-and-launch-the-runtime)。

92npm install @anthropic-ai/sandbox-runtime

93```

94 

95然後建立一個設定檔,指定允許的路徑和網域。

96 92 

97**安全考量:**93**安全考量:**

98 94 

991. **同主機核心**:與 VM 不同,沙箱化程序共享主機核心。核心漏洞理論上可能導致逃逸。對於某些威脅模型,這是可以接受的,但如果您需要核心級隔離,請使用 gVisor 或單獨的 VM。951. **同主機核心**:與 VM 不同,沙箱化程序共享主機核心。核心漏洞理論上可能導致逃逸。對於某些威脅模型,這是可以接受的,但如果您需要核心級隔離,請使用 gVisor 或單獨的 VM。

100 96 

1012. **無 TLS 檢查**:代理根據用戶端提供的主機名稱允許清單網域,不會終止或檢查加密流量。在沙箱內執行的程式碼可能會使用[網域前置](https://en.wikipedia.org/wiki/Domain_fronting)或類似技術來到達允許清單外的主機。如果您的威脅模型需要更強的保證,請配置[TLS 終止代理](#traffic-forwarding)。有關更多詳情,請參閱[沙箱安全限制](https://code.claude.com/docs/zh-TW/sandboxing.md#security-limitations)。另外,如果代理對允許的網域具有寬鬆認證,請確保它無法使用該網域觸發其他網路請求或洩露資料。972. **無 TLS 檢查**:預設情況下,代理伺服器根據用戶端提供的主機名稱將網域列入允許清單,不會終止或檢查加密流量。在沙箱內執行的程式碼可能會使用[網域前置](https://en.wikipedia.org/wiki/Domain_fronting)或類似技術來到達允許清單外的主機。如果您的威脅模型需要更強的保證,請使用會檢查流量的 TLS 終止代理伺服器,如[流量轉發](#traffic-forwarding)所述。有關更多資訊,請參閱[沙箱機制安全限制](https://code.claude.com/docs/zh-TW/sandboxing.md#security-limitations)。

98 

993. **允許網域的憑證**:如果 agent 對允許的網域具有寬鬆的憑證,請確保它無法使用該網域觸發其他網路請求或洩露資料。

102 100 

103對於許多單開發人員和 CI/CD 用例,sandbox-runtime 以最少的設定顯著提高了標準。下面的部分涵蓋了需要更強隔離的部署的容器和 VM。101對於許多單開發人員和 CI/CD 用例,sandbox-runtime 以最少的設定顯著提高了標準。下面的部分涵蓋了需要更強隔離的部署的容器和 VM。

104 102 


135| `--security-opt seccomp=...` | 限制可用的系統呼叫;Docker 的預設值阻止約 44 個,自訂設定檔可以阻止更多 |133| `--security-opt seccomp=...` | 限制可用的系統呼叫;Docker 的預設值阻止約 44 個,自訂設定檔可以阻止更多 |

136| `--read-only` | 使容器的根檔案系統不可變,防止代理持久化更改 |134| `--read-only` | 使容器的根檔案系統不可變,防止代理持久化更改 |

137| `--tmpfs /tmp:...` | 提供一個可寫的臨時目錄,在容器停止時清除 |135| `--tmpfs /tmp:...` | 提供一個可寫的臨時目錄,在容器停止時清除 |

138| `--network none` | 移除所有網路介面;代理透過下面掛載的 Unix 套接字進行通訊 |136| `--network none` | 使容器與外部網路隔離 |

139| `--memory 2g` | 將記憶體使用限制為 2GB,以防止資源耗盡 |137| `--memory 2g` | 將記憶體使用限制為 2GB,以防止資源耗盡 |

140| `--pids-limit 100` | 限制程序計數以防止 fork 炸彈 |138| `--pids-limit 100` | 限制程序計數以防止 fork 炸彈 |

141| `--user 1000:1000` | 以非 root 使用者身份執行 |139| `--user 1000:1000` | 以非 root 使用者身份執行 |


144 142 

145**Unix 套接字架構:**143**Unix 套接字架構:**

146 144 

147使用 `--network none`,容器根本沒有網路介面。代理到達外部世界的唯一方式是透過掛載的 Unix 套接字,該套接字連接到在主機上執行的代理。此代理可以強制執行網域允許清單、注入認證並記錄所有流量。145使用 `--network none` 時,容器內的 DNS 查詢或與其他主機的直接連線都會失敗。若要讓容器中的程式碼能夠連線到其他主機,請在主機上執行代理伺服器,並將其 Unix 套接字掛載到容器中。如果您將 `ANTHROPIC_BASE_URL` 或 `HTTP_PROXY` 指向 `localhost` 上的某個連接埠(如[設定 Claude Code 使用代理伺服器](#configuring-claude-code-to-use-a-proxy)所示),請在容器內將該連接埠轉送到該套接字。

148 146 

149這與 [sandbox-runtime](https://github.com/anthropics/sandbox-runtime) 使用的架構相同。即使 agent 透過提示詞注入而被入侵,它也無法將資料洩露到任意伺服器。它只能透過代理伺服器進行通訊,由代理伺服器控制哪些網域可到達。有關更多詳情,請參閱 [Claude Code 沙箱機制部落格文章](https://www.anthropic.com/engineering/claude-code-sandboxing)。147您可以設定此代理伺服器來強制執行網域允許清單、注入憑證並記錄所有流量。

148 

149> [!WARNING]

150>

151> 在代理伺服器的允許清單範圍內,agent 可以將資料傳送到任何允許的網域。請僅允許 agent 所需的網域。

150 152 

151**額外強化選項:**153**額外強化選項:**

152 154 

Details

1340 | "default" // Standard permission behavior1340 | "default" // Standard permission behavior

1341 | "acceptEdits" // Auto-accept file edits1341 | "acceptEdits" // Auto-accept file edits

1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1343 | "plan" // Planning mode - explore without editing1343 | "plan" // Planning mode - Claude explores and plans

1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests

1346```1346```


1349 1349 

1350用於控制工具使用的自訂權限函式型別。1350用於控制工具使用的自訂權限函式型別。

1351 1351 

1352此函式是 SDK 對互動式權限提示的替代:只有在[權限評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)解析為提示時才會被叫用。已由 `allowedTools` 項目、設定中的允許規則或權限模式(例如 `acceptEdits` 或 `bypassPermissions`)核准的工具呼叫,永遠不會叫用它。若要把關每一個工具呼叫,請改用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks)。1352此函式取代互動式權限提示。當[權限評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)解析為提示時,SDK 會呼叫 `canUseTool`。以下列任一方式核准的呼叫會在不呼叫 `canUseTool` 的情況下執行:

1353 

1354* 由 `allowedTools` 項目或設定中的 allow 規則核准的呼叫

1355* 由權限模式核准的呼叫,例如 `acceptEdits` 模式下的檔案編輯

1356 

1357若要檢查這些呼叫,請使用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks),它也會針對這些呼叫執行。

1353 1358 

1354允許規則不會預先核准[任何模式都不會自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves);關於其中哪些會到達回呼,以及在 `dontAsk` 和 `auto` 模式下會發生什麼,請參閱[權限如何評估](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)。1359允許規則不會預先核准[任何模式都不會自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves);關於其中哪些會到達回呼,以及在 `dontAsk` 和 `auto` 模式下會發生什麼,請參閱[權限如何評估](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)。

1355 1360 


2006* Claude Code 因[無法將工作階段帶回其 worktree](https://code.claude.com/docs/zh-TW/worktrees.md#the-session-resumes-outside-its-worktree) 而停止的恢復,帶有 `worktree_unverified` 或 `worktree_resume_refused`。該章節說明哪個錯誤攜帶哪個值。2011* Claude Code 因[無法將工作階段帶回其 worktree](https://code.claude.com/docs/zh-TW/worktrees.md#the-session-resumes-outside-its-worktree) 而停止的恢復,帶有 `worktree_unverified` 或 `worktree_resume_refused`。該章節說明哪個錯誤攜帶哪個值。

2007* 對背景工作階段所持有之對話的 [`continue`](#options) 遭拒,帶有 `session_held_by_background`。對於此類對話的 [`resume`](#options) 遭拒,Claude Code 僅在設定了該變數時才會寫入結果。2012* 對背景工作階段所持有之對話的 [`continue`](#options) 遭拒,帶有 `session_held_by_background`。對於此類對話的 [`resume`](#options) 遭拒,Claude Code 僅在設定了該變數時才會寫入結果。

2008* 因 [`failIfUnavailable`](#sandboxsettings) 開啟且沙箱無法啟動而被 Claude Code 拒絕的啟動,帶有 `sandbox_required_unavailable`。2013* 因 [`failIfUnavailable`](#sandboxsettings) 開啟且沙箱無法啟動而被 Claude Code 拒絕的啟動,帶有 `sandbox_required_unavailable`。

2014* 因 `~/.claude.json` 不是有效的 JSON 而被 Claude Code 拒絕的啟動,附 `config_file_invalid`。

2009 2015 

2010`SDKStartupFailureReason` 型別列出 `startup_failure_reason` 可持有的值:2016`SDKStartupFailureReason` 型別列出 `startup_failure_reason` 可持有的值:

2011 2017 


2030 | "bypass_root"2036 | "bypass_root"

2031 | "org_config_required_unavailable"2037 | "org_config_required_unavailable"

2032 | "org_config_refused"2038 | "org_config_refused"

2033 | "sandbox_required_unavailable";2039 | "sandbox_required_unavailable"

2040 | "config_file_invalid";

2034```2041```

2035 2042 

2036每個值指名一種拒絕:2043每個值指名一種拒絕:


2057| `org_config_required_unavailable` | 工作階段在啟動前需要組織的原則和受管設定,但無法載入它們,例如因為網路失敗或 Anthropic 伺服器錯誤。需要 Agent SDK v0.3.293 或更新版本 |2064| `org_config_required_unavailable` | 工作階段在啟動前需要組織的原則和受管設定,但無法載入它們,例如因為網路失敗或 Anthropic 伺服器錯誤。需要 Agent SDK v0.3.293 或更新版本 |

2058| `org_config_refused` | Anthropic 拒絕為此登入提供組織的原則和受管設定,例如因為登入已過期或已被撤銷,或組織不允許此帳戶使用 Claude Code。需要 Agent SDK v0.3.293 或更新版本 |2065| `org_config_refused` | Anthropic 拒絕為此登入提供組織的原則和受管設定,例如因為登入已過期或已被撤銷,或組織不允許此帳戶使用 Claude Code。需要 Agent SDK v0.3.293 或更新版本 |

2059| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) 已開啟且沙箱無法啟動。`errors` 中的文字以 `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` 結尾。需要 Agent SDK v0.3.314 或更新版本 |2066| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) 已開啟且沙箱無法啟動。`errors` 中的文字以 `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` 結尾。需要 Agent SDK v0.3.314 或更新版本 |

2067| `config_file_invalid` | `~/.claude.json` 不是有效的 JSON。Claude Code 會保持該檔案不變,因此在有人修復它之前,重試都會以相同方式失敗。`errors` 會指出該檔案並說明如何還原或修復它。請參閱 [Configuration error in \~/.claude.json](https://code.claude.com/docs/zh-TW/errors.md#configuration-error-in-claude-json)。需要 TypeScript Agent SDK v0.3.318 或更新版本,以及 Claude Code v2.1.318 或更新版本 |

2060 2068 

2061### `SDKSystemMessage`2069### `SDKSystemMessage`

2062 2070 


6107 6115 

6108> [!NOTE]6116> [!NOTE]

6109>6117>

6110> 內建的 sandbox proxy 根據請求的主機名稱強制執行 `allowedDomains`,不會終止或檢查 TLS 流量,因此[網域前置](https://en.wikipedia.org/wiki/Domain_fronting)等技術可能會繞過它。請參閱 [Sandbox 安全限制](https://code.claude.com/docs/zh-TW/sandboxing.md#security-limitations)以了解詳細資訊,以及[安全部署](https://code.claude.com/docs/zh-TW/agent-sdk/secure-deployment.md#traffic-forwarding)以設定 TLS 終止 proxy。6118> 內建的 sandbox 代理伺服器根據請求的主機名稱強制執行 `allowedDomains`。預設情況下,代理伺服器不會終止或檢查 TLS 流量,因此[網域前置](https://en.wikipedia.org/wiki/Domain_fronting)等技術可能會繞過 `allowedDomains`。請參閱 [Sandbox 安全限制](https://code.claude.com/docs/zh-TW/sandboxing.md#security-limitations)以了解詳細資訊,以及[安全部署](https://code.claude.com/docs/zh-TW/agent-sdk/secure-deployment.md#traffic-forwarding)以設定 TLS 終止代理伺服器。

6111 6119 

6112### `SandboxFilesystemConfig`6120### `SandboxFilesystemConfig`

6113 6121 

Details

47回呼在兩種情況下觸發:47回呼在兩種情況下觸發:

48 48 

491. **工具需要批准**:Claude 想要使用未被[權限規則](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md)或權限模式自動批准的工具。檢查 `tool_name` 以查看工具(例如 `"Bash"`、`"Write"`)。491. **工具需要批准**:Claude 想要使用未被[權限規則](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md)或權限模式自動批准的工具。檢查 `tool_name` 以查看工具(例如 `"Bash"`、`"Write"`)。

502. **Claude 提出問題**:Claude 呼叫 `AskUserQuestion` 工具。檢查 `tool_name == "AskUserQuestion"` 以不同方式處理它。如果您指定 `tools` 陣列,請包含 `AskUserQuestion` 以使其正常工作。有關詳細資訊,請參閱[處理澄清問題](#handle-clarifying-questions)。502. **Claude 提出問題**:Claude 呼叫 `AskUserQuestion` 工具。請檢查是否 `tool_name == "AskUserQuestion"`,以便以不同方式處理。如果您指定了 `tools` 陣列,請包含 `AskUserQuestion`,此功能才能運作。如需更多資訊,請參閱[處理澄清問題](#handle-clarifying-questions)。

51 51 

52> [!WARNING]52> [!WARNING]

53>53>

54> **回呼永遠不會針對自動批准的工具觸發。** [權限評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)中任何較早的批准、允許規則或 `acceptEdits` 或 `bypassPermissions` 等模式,都會在諮詢 `canUseTool` 之前解決呼叫。如果您在 `allowed_tools` 中列出工具,`canUseTool` 檢查該工具只會在[評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)將呼叫路由回提示時執行,例如詢問規則或 `plan` 模式。對於必須應用於每個工具呼叫的邏輯,請使用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks),它在流程的其餘部分之前執行,可以允許、拒絕或修改請求。54> **較早的步驟可能會在 `canUseTool` 執行之前就允許或拒絕呼叫。** [權限評估流程](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)會在您的回呼之前檢查拒絕規則、權限模式和允許規則。

55>55>

56> 允許規則不會預先核准[任何模式都不會自動核准的動作](https://code.claude.com/docs/zh-TW/permission-modes.md#actions-no-mode-auto-approves);請參閱[權限如何評估](https://code.claude.com/docs/zh-TW/agent-sdk/permissions.md#how-permissions-are-evaluated)以了解其中哪些到達回呼,以及在 `dontAsk` 和 `auto` 模式中會發生什麼。56> 若要對規則或權限模式已允許的呼叫執行您的檢查,請使用 [`PreToolUse` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks),它會針對這些呼叫執行,並可以允許、拒絕或修改它們。

57 57 

58您也可以使用 [`PermissionRequest` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks#available-hooks) 在 Claude 等待批准時發送外部通知(Slack、電子郵件、推送)。58您也可以使用 [`PermissionRequest` hook](https://code.claude.com/docs/zh-TW/agent-sdk/hooks#available-hooks) 在 Claude 等待批准時發送外部通知(Slack、電子郵件、推送)。

59 59 

agent-view.md +2 −2

Details

1020 1020 

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

1022 1022 

1023使用原生安裝程式時,該項目會顯示為 Claude Code,授予的權限在更新後會保留。使用其他安裝方法(例如 Homebrew 或 npm)時,該項目會顯示二進位檔路徑,更新後可能需要再次授予。1023在任一清單中,尋找名為 Claude Code 的項目,或以 `claude` 二進位檔的路徑或檔案名稱命名的項目。該檔案名稱可能是版本號,例如 `2.1.316`。如果 Claude Code 更新後再次出現 `Operation not permitted`,請尋找新的項目,例如以新版本命名的項目。如果有這樣的項目,請授予其存取權。

1024 1024 

1025### 背景工作階段無法在 macOS 上連接到本機網路主機1025### 背景工作階段無法在 macOS 上連接到本機網路主機

1026 1026 


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

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

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

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

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

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

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

Details

459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

460```460```

461 461 

462Claude Code 在每個請求上將此作為 `X-Amzn-Bedrock-Service-Tier` 標頭傳送。層級可用性因模型和區域而異。保留容量使用[佈建輸送量](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN 作為模型 ID,而不是此設定。462對於設有此變數的工作階段,Claude Code 會在每個 [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) 請求上將此作為 `X-Amzn-Bedrock-Service-Tier` 標頭傳送,但其[模型存取檢查](#startup-model-checks)除外。此設定對傳送至 [Mantle 端點](#use-the-mantle-endpoint)或透過 [Claude apps 閘道](https://code.claude.com/docs/zh-TW/claude-apps-gateway)的請求沒有作用。層級可用性因模型和區域而異。保留容量使用[佈建輸送量](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN 作為模型 ID,而不是此設定。

463 

464若要涵蓋從終端機啟動的[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md#settings-and-provider),請在設定的 [`env`](https://code.claude.com/docs/zh-TW/settings-reference#env) 區塊中設定 `ANTHROPIC_BEDROCK_SERVICE_TIER`。只有在啟動 [supervisor](https://code.claude.com/docs/zh-TW/agent-view.md#the-supervisor-process) 的 shell 已匯出您 export 的值時,這些工作階段才會取得該值。

463 465 

464## AWS Guardrails466## AWS Guardrails

465 467 


487 489 

488### 啟用 Mantle490### 啟用 Mantle

489 491 

490已設定 AWS 認證後,設定 `CLAUDE_CODE_USE_MANTLE` 以將請求路由到 Mantle 端點:492已設定 AWS 憑證後,設定 `CLAUDE_CODE_USE_MANTLE` 和您的 AWS 區域:

491 493 

492```bash theme={null}494```bash theme={null}

493export CLAUDE_CODE_USE_MANTLE=1495export CLAUDE_CODE_USE_MANTLE=1


587 589 

588* 將模型指定為[推論設定檔](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) ID590* 將模型指定為[推論設定檔](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) ID

589 591 

590Claude Code 使用 Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html),不支援 Converse API。

591 

592### 閘道或代理後的串流錯誤592### 閘道或代理後的串流錯誤

593 593 

594Amazon Bedrock 以二進位事件串流格式串流 `InvokeModelWithResponseStream` 回應,標頭為 `Content-Type: application/vnd.amazon.eventstream`。Claude Code 和 Amazon Bedrock 之間的閘道或代理必須按照 Amazon Bedrock 傳送的方式轉發回應主體及其標頭,包括 `Content-Type`。594Amazon Bedrock 以二進位事件串流格式串流 `InvokeModelWithResponseStream` 回應,標頭為 `Content-Type: application/vnd.amazon.eventstream`。Claude Code 和 Amazon Bedrock 之間的閘道或代理必須按照 Amazon Bedrock 傳送的方式轉發回應主體及其標頭,包括 `Content-Type`。


618* 如果錯誤命名 `bedrock-mantle:` 動作,請授予您的 IAM 身分該動作。618* 如果錯誤命名 `bedrock-mantle:` 動作,請授予您的 IAM 身分該動作。

619* 如果錯誤未命名任何動作且您的認證有效,您的 AWS 帳戶尚未被授予存取您要求的模型的權限。請聯絡您的 AWS 帳戶團隊以要求存取。619* 如果錯誤未命名任何動作且您的認證有效,您的 AWS 帳戶尚未被授予存取您要求的模型的權限。請聯絡您的 AWS 帳戶團隊以要求存取。

620 620 

621命名模型 ID 的 `400` 表示該模型未在 Mantle 上提供。Mantle 有其自己的模型陣容,與標準 Amazon Bedrock 目錄分開,因此推論設定檔 ID(例如 `us.anthropic.claude-sonnet-4-6`)將無法運作。使用 Mantle 格式的 ID,或啟用[兩個端點](#run-mantle-alongside-the-invoke-api),以便 Claude Code 將每個請求路由到模型可用的端點。621命名模型 ID 的 `400` 表示該模型未在 Mantle 上提供。Mantle 有其自己的模型陣容,與標準 Amazon Bedrock 目錄分開,因此推論設定檔 ID(例如 `us.anthropic.claude-sonnet-4-6`)將無法運作。使用 Mantle 格式的 ID,或啟用[兩個端點](#run-mantle-alongside-the-invoke-api),以便 Claude Code 將推論設定檔 ID 傳送至 Invoke API。

622 622 

623## 其他資源623## 其他資源

624 624 

Details

155- Integration tests need DATABASE_URL set, see .env.example155- Integration tests need DATABASE_URL set, see .env.example

156```156```

157 157 

158在工作階段中,執行 `/context` 以確認 Claude 已載入該檔案。158在工作階段中,執行 [`/context all`](https://code.claude.com/docs/zh-TW/commands#all-commands) 以確認 Claude 已載入該檔案。

159 159 

160請注意,型別檢查那一行只有命令。Claude 需要知道這個命令,才能在過程中檢查自己的工作。如果您還希望 Claude Code 在 Claude 完成前*強制*通過型別檢查,那是 [`Stop` hook](#enforce-the-check-with-a-stop-hook) 的工作。在這個檔案中寫 `Always typecheck before you finish` 這樣的一行,大多數時候有效,但不是每次都有效。160請注意,型別檢查那一行只有命令。Claude 需要知道這個命令,才能在過程中檢查自己的工作。如果您還希望 Claude Code 在 Claude 完成前*強制*通過型別檢查,那是 [`Stop` hook](#enforce-the-check-with-a-stop-hook) 的工作。在這個檔案中寫 `Always typecheck before you finish` 這樣的一行,大多數時候有效,但不是每次都有效。

161 161 


544在指令碼中,您幾乎總會需要多加幾個旗標:544在指令碼中,您幾乎總會需要多加幾個旗標:

545 545 

546* [`--bare`](https://code.claude.com/docs/zh-TW/headless#start-faster-with-bare-mode) 會略過 hook、skill、外掛、MCP 伺服器和 `CLAUDE.md` 檔案(包括儲存庫的以及電腦的),讓執行無論在哪裡執行都做同樣的事。它也完全不會動到您的 claude.ai 登入:身分驗證來自 `ANTHROPIC_API_KEY`、您以 `--settings` 傳入的檔案中的 `apiKeyHelper`,或您雲端供應商的憑證。546* [`--bare`](https://code.claude.com/docs/zh-TW/headless#start-faster-with-bare-mode) 會略過 hook、skill、外掛、MCP 伺服器和 `CLAUDE.md` 檔案(包括儲存庫的以及電腦的),讓執行無論在哪裡執行都做同樣的事。它也完全不會動到您的 claude.ai 登入:身分驗證來自 `ANTHROPIC_API_KEY`、您以 `--settings` 傳入的檔案中的 `apiKeyHelper`,或您雲端供應商的憑證。

547* `--append-system-prompt`、`--mcp-config` 和 `--settings` 會明確傳入執行*確實*需要的東西。547* `--append-system-prompt`、`--mcp-config` 和 `--settings` 會明確傳入執行*確實*需要的東西。您以 `--settings` 傳入的 hook [在 `--bare` 下不會執行](https://code.claude.com/docs/zh-TW/headless#start-faster-with-bare-mode),因此需要這些 hook 的執行請不要使用 `--bare`。

548* `--allowedTools` 會預先核准它的工具,而 [`--permission-mode dontAsk`](https://code.claude.com/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) 會拒絕其他任何原本會觸發提示的操作。548* `--allowedTools` 會預先核准它的工具,而 [`--permission-mode dontAsk`](https://code.claude.com/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) 會拒絕其他任何原本會觸發提示的操作。

549* `--output-format json` 會給您一個可供剖析的單一結果物件,而搭配 `--verbose` 的 `stream-json` 會在事件發生時即時串流。549* `--output-format json` 會給您一個可供剖析的單一結果物件,而搭配 `--verbose` 的 `stream-json` 會在事件發生時即時串流。

550 550 

Details

492 492 

493* 如果 STS 拒絕或無法到達,閘道不會使用上游自己的憑證傳送請求。它記錄 STS 錯誤以及要檢查的內容,然後嘗試您列出的下一個上游。[上游錯誤訊息](#upstream-error-messages)涵蓋當沒有上游成功時用戶端接收的內容。沒有 `assume_role` 的稍後上游會使用其自己的憑證服務請求,因此僅在這是您想要的情況下才列出這樣的上游。493* 如果 STS 拒絕或無法到達,閘道不會使用上游自己的憑證傳送請求。它記錄 STS 錯誤以及要檢查的內容,然後嘗試您列出的下一個上游。[上游錯誤訊息](#upstream-error-messages)涵蓋當沒有上游成功時用戶端接收的內容。沒有 `assume_role` 的稍後上游會使用其自己的憑證服務請求,因此僅在這是您想要的情況下才列出這樣的上游。

494* 閘道呼叫區域 STS 端點 `sts.<region>.amazonaws.com`,其網路必須能到達。對於 FIPS 端點,在閘道的環境中設定 `AWS_USE_FIPS_ENDPOINT=true`,而不是在 AWS 設定檔中設定 `use_fips_endpoint`。494* 閘道呼叫區域 STS 端點 `sts.<region>.amazonaws.com`,其網路必須能到達。對於 FIPS 端點,在閘道的環境中設定 `AWS_USE_FIPS_ENDPOINT=true`,而不是在 AWS 設定檔中設定 `use_fips_endpoint`。

495* `assume_role` 僅適用於 `provider: bedrock` 並需要 SigV4 來源憑證:當它與 `aws_bearer_token` 一起設定時,閘道拒絕啟動。495* `assume_role` 需要 SigV4 來源憑證:若它與 `aws_bearer_token` 同時設定,閘道會拒絕啟動。

496* 若沒有 [`groups` 清單](#send-each-team-to-its-own-upstream),閘道允許的每位開發人員都可以使用此上游。若要限制開發人員可使用的模型,請在 [`managed`](#managed) 政策中設定 `availableModels`。496* 若沒有 [`groups` 清單](#send-each-team-to-its-own-upstream),閘道允許的每位開發人員都可以使用此上游。若要限制開發人員可使用的模型,請在 [`managed`](#managed) 政策中設定 `availableModels`。

497* 若要讓透過該角色提供的模型不會同時由另一個帳戶提供,請為其指定一個自訂 id,且其 `upstream_model` 對應只包含此上游的名稱。對於這樣的 id,閘道會略過所有其他上游,因此無論是請求本身,還是中止請求的 token 計數,都不會容錯移轉到另一個帳戶。497* 若要讓透過該角色提供的模型不會同時由另一個帳戶提供,請為其指定一個自訂 id,且其 `upstream_model` 對應只包含此上游的名稱。對於這樣的 id,閘道會略過所有其他上游,因此無論是請求本身,還是中止請求的 token 計數,都不會容錯移轉到另一個帳戶。

498* 對內建模型名稱的請求仍可能[送達此上游](#multiple-upstreams),且閘道會以同一角色簽署。除非其帳戶也應提供這些模型,否則請將此上游列在最後。498* 對內建模型名稱的請求仍可能[送達此上游](#multiple-upstreams),且閘道會以同一角色簽署。除非其帳戶也應提供這些模型,否則請將此上游列在最後。


554| `region` | 是 | AWS 地區。閘道將端點衍生為 `https://bedrock-mantle.<region>.api.aws/anthropic`。 |554| `region` | 是 | AWS 地區。閘道將端點衍生為 `https://bedrock-mantle.<region>.api.aws/anthropic`。 |

555| `models` | 是 | 您的 AWS 帳戶在 Mantle 上已獲授權的模型,以用戶端傳送的名稱命名,例如 `claude-haiku-4-5`。只有這些模型會送往此上游,其他每個模型都會跳到下一個上游。 |555| `models` | 是 | 您的 AWS 帳戶在 Mantle 上已獲授權的模型,以用戶端傳送的名稱命名,例如 `claude-haiku-4-5`。只有這些模型會送往此上游,其他每個模型都會跳到下一個上游。 |

556| `auth` | 否 | 採用與 [Amazon Bedrock](#amazon-bedrock) 上游的 `auth` 區塊相同的鍵,並遵循相同規則。 |556| `auth` | 否 | 採用與 [Amazon Bedrock](#amazon-bedrock) 上游的 `auth` 區塊相同的鍵,並遵循相同規則。 |

557| `assume_role` | 否 | 此上游的請求所經由的角色,鍵與[在 `bedrock` 上游上](#bedrock-in-another-aws-account)相同,包括用於[個別開發人員歸屬](#per-developer-aws-cost-attribution)的 `session_name`。請授與該角色 Mantle 的 IAM 動作。閘道需執行 Claude Code v2.1.318 或更新版本。較早的閘道會在啟動時以 `Unrecognized key(s) in object: 'assume_role'` 結束。 |

557| `base_url` | 否 | 覆寫衍生的端點。請在結尾保留 `/anthropic` 路徑。 |558| `base_url` | 否 | 覆寫衍生的端點。請在結尾保留 `/anthropic` 路徑。 |

558 559 

559授予上游的 AWS 身分識別 Mantle 自己用於推論和 token 計數的 IAM 動作,這些動作列於[使用 Mantle 端點](https://code.claude.com/docs/zh-TW/amazon-bedrock.md#use-the-mantle-endpoint)中。560授予上游的 AWS 身分識別 Mantle 自己用於推論和 token 計數的 IAM 動作,這些動作列於[使用 Mantle 端點](https://code.claude.com/docs/zh-TW/amazon-bedrock.md#use-the-mantle-endpoint)中。


563`bedrock` 上游的 `guardrail` 和 `assume_role` 設定不會延伸到 Mantle 服務的請求:564`bedrock` 上游的 `guardrail` 和 `assume_role` 設定不會延伸到 Mantle 服務的請求:

564 565 

565* **`guardrail`**:閘道不對其傳送到 Mantle 的請求套用任何 [Bedrock 防護欄](#apply-an-amazon-bedrock-guardrail),因此當列出 `mantle` 上游且任何 `bedrock` 上游設定了 `guardrail` 時,閘道拒絕啟動。566* **`guardrail`**:閘道不對其傳送到 Mantle 的請求套用任何 [Bedrock 防護欄](#apply-an-amazon-bedrock-guardrail),因此當列出 `mantle` 上游且任何 `bedrock` 上游設定了 `guardrail` 時,閘道拒絕啟動。

566* **`assume_role`**:`mantle` 上游不接受 [`assume_role`](#bedrock-in-another-aws-account)。Mantle 服務的請求使用 `mantle` 上游自己的 `auth` 憑證傳送,且不會[按開發人員歸因](#per-developer-aws-cost-attribution)。567* **`assume_role`**:請在 `mantle` 上游本身設定。若未設定,Mantle 處理的請求會以 `mantle` 上游自身的 `auth` 憑證傳送。

567 568 

568關於 Mantle 自己的錯誤回應的意義,請參閱 [Mantle 端點錯誤](https://code.claude.com/docs/zh-TW/amazon-bedrock.md#mantle-endpoint-errors)。569關於 Mantle 自己的錯誤回應的意義,請參閱 [Mantle 端點錯誤](https://code.claude.com/docs/zh-TW/amazon-bedrock.md#mantle-endpoint-errors)。

569 570 

Details

424| 日誌:`refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`,開發者每 `session.ttl_hours` 看到 `Cloud gateway session expired` | IdP 接受了重新整理 token 但沒有隨之傳回 id\_token,所以 gateway 詢問了 IdP 的 userinfo 端點以取得使用者的宣告。IdP 在那裡拒絕了重新整理的存取 token。gateway 回應 `temporarily_unavailable`,所以 Claude Code 保留重新整理 token 但無法更新工作階段。v2.1.260 之前的 gateway 版本記錄相同的行,但沒有 `(at …)` 詳細資訊。 | 設定 [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/zh-TW/claude-apps-gateway-config#oidc)(在 gateway v2.1.260 或更新版本中可用),以便重新整理請求再次要求 `openid`。某些 IdP(例如 Okta)僅在被要求時才在重新整理時傳回 id\_token。在 PingFederate 上,改為在 **Applications > OAuth > OpenID Connect Policy Management** 下啟用 **Return ID Token On Refresh Grant**。該金鑰不會改變 PingFederate 的行為。對於仍然省略它的其他 IdP,檢查 userinfo 端點是否接受由重新整理發出的存取 token。作為臨時解決方案,提高 [`session.ttl_hours`](https://code.claude.com/docs/zh-TW/claude-apps-gateway-config#session)。請參閱[身分提供者設定](#identity-provider-setup)以了解取消佈建權衡。 |424| 日誌:`refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`,開發者每 `session.ttl_hours` 看到 `Cloud gateway session expired` | IdP 接受了重新整理 token 但沒有隨之傳回 id\_token,所以 gateway 詢問了 IdP 的 userinfo 端點以取得使用者的宣告。IdP 在那裡拒絕了重新整理的存取 token。gateway 回應 `temporarily_unavailable`,所以 Claude Code 保留重新整理 token 但無法更新工作階段。v2.1.260 之前的 gateway 版本記錄相同的行,但沒有 `(at …)` 詳細資訊。 | 設定 [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/zh-TW/claude-apps-gateway-config#oidc)(在 gateway v2.1.260 或更新版本中可用),以便重新整理請求再次要求 `openid`。某些 IdP(例如 Okta)僅在被要求時才在重新整理時傳回 id\_token。在 PingFederate 上,改為在 **Applications > OAuth > OpenID Connect Policy Management** 下啟用 **Return ID Token On Refresh Grant**。該金鑰不會改變 PingFederate 的行為。對於仍然省略它的其他 IdP,檢查 userinfo 端點是否接受由重新整理發出的存取 token。作為臨時解決方案,提高 [`session.ttl_hours`](https://code.claude.com/docs/zh-TW/claude-apps-gateway-config#session)。請參閱[身分提供者設定](#identity-provider-setup)以了解取消佈建權衡。 |

425| 開發者登入後,該工作階段的每個請求都失敗並出現 `431` 錯誤 | 每個請求的 `Authorization` 標頭中的工作階段 token 會列出開發者的 IdP 群組,因此對於屬於許多群組的開發者,標頭總計可能超過 gateway 接受的大小 | 請參閱[登入後請求標頭過大](#request-headers-too-large-after-sign-in),了解適用的限制以及需要變更的內容 |425| 開發者登入後,該工作階段的每個請求都失敗並出現 `431` 錯誤 | 每個請求的 `Authorization` 標頭中的工作階段 token 會列出開發者的 IdP 群組,因此對於屬於許多群組的開發者,標頭總計可能超過 gateway 接受的大小 | 請參閱[登入後請求標頭過大](#request-headers-too-large-after-sign-in),了解適用的限制以及需要變更的內容 |

426| 每個 Amazon Bedrock 請求都傳回 502;日誌顯示 `Could not load credentials from any providers` | 在 EC2 上,IMDSv2 的預設躍點限制為 1 會阻止來自容器內的執行個體中繼資料請求。啟動和 `/readyz` 仍然通過,因為 AWS SDK 在第一個請求時解析執行個體憑證,而不是在用戶端建構時 | 使用 `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` 提高躍點限制,或在啟動範本中設定它。變更適用於執行個體上的每個容器。在可用的地方優先使用 ECS 工作角色,它們從 ECS 容器憑證端點讀取憑證並完全避免變更,或在專用 gateway 執行個體上應用變更以限制暴露。 |426| 每個 Amazon Bedrock 請求都傳回 502;日誌顯示 `Could not load credentials from any providers` | 在 EC2 上,IMDSv2 的預設躍點限制為 1 會阻止來自容器內的執行個體中繼資料請求。啟動和 `/readyz` 仍然通過,因為 AWS SDK 在第一個請求時解析執行個體憑證,而不是在用戶端建構時 | 使用 `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` 提高躍點限制,或在啟動範本中設定它。變更適用於執行個體上的每個容器。在可用的地方優先使用 ECS 工作角色,它們從 ECS 容器憑證端點讀取憑證並完全避免變更,或在專用 gateway 執行個體上應用變更以限制暴露。 |

427| 日誌:包含 `upstream <name>: Google issued an access token that expires in <N>s` 的警告,出現在 Google 憑證檔案類型為 `external_account` 的上游上 | 請求會成功,直到該存取 token 到期,之後除非 `credential_source` 指向的 token 已先更新,否則會失敗。 | 如果有程序將該 token 寫入檔案,請讓它在舊 token 到期前超過五分鐘寫入新的 token |

427| 在尖峰負載時,回應開始緩慢或似乎掛起,或在上游健康時失敗,顯示 502 `all upstreams failed` | 副本開啟的請求比它一次傳送到上游的請求多,所以額外的請求在 gateway 內等待。在 `provider: anthropic` 上游上,等待時間超過 `timeouts.upstream_ttfb_ms` 的請求會放棄該上游,當沒有後來的上游提供它時會產生 502。日誌顯示包含 `client requests are open` 的警告。 | 新增副本,或提高每個副本上的限制。請參閱[並行上游請求](#concurrent-upstream-requests)。 |428| 在尖峰負載時,回應開始緩慢或似乎掛起,或在上游健康時失敗,顯示 502 `all upstreams failed` | 副本開啟的請求比它一次傳送到上游的請求多,所以額外的請求在 gateway 內等待。在 `provider: anthropic` 上游上,等待時間超過 `timeouts.upstream_ttfb_ms` 的請求會放棄該上游,當沒有後來的上游提供它時會產生 502。日誌顯示包含 `client requests are open` 的警告。 | 新增副本,或提高每個副本上的限制。請參閱[並行上游請求](#concurrent-upstream-requests)。 |

428| 在 `provider: anthropic` 以外的上游上,思考停頓較長的回合失敗。gateway 前面的代理伺服器記錄了一個保持開啟約 12.5 分鐘的請求,接著是一連串 `504` 錯誤 | Claude Code 結束了一個已傳送第一個回應事件、之後只帶有 keepalive ping 的串流。它在不使用串流的情況下重新傳送請求,而每個回覆所需的時間都超過代理伺服器的逾時。 | 為您的開發者提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`。請參閱[長時間思考以代理伺服器逾時告終](#long-thinking-ends-in-proxy-timeouts)。 |429| 在 `provider: anthropic` 以外的上游上,思考停頓較長的回合失敗。gateway 前面的代理伺服器記錄了一個保持開啟約 12.5 分鐘的請求,接著是一連串 `504` 錯誤 | Claude Code 結束了一個已傳送第一個回應事件、之後只帶有 keepalive ping 的串流。它在不使用串流的情況下重新傳送請求,而每個回覆所需的時間都超過代理伺服器的逾時。 | 為您的開發者提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`。請參閱[長時間思考以代理伺服器逾時告終](#long-thinking-ends-in-proxy-timeouts)。 |

429| 在 `provider: anthropic` 上,思考停頓較長的回合失敗。代理伺服器記錄了一個開啟約 20 分鐘的請求,接著是 `502` 或 `504` 錯誤 | Claude Code 結束了一個已傳送第一個回應事件、之後只帶有 keepalive ping 的串流。它在不使用串流的情況下重新傳送請求,而每個回覆所需的時間都超過 gateway 對上游的等待時間 `timeouts.upstream_ttfb_ms`,或超過代理伺服器的逾時。 | 為您的開發者提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`。請參閱[在 Anthropic API 上游上的長時間思考](#long-thinking-on-an-anthropic-api-upstream)。 |430| 在 `provider: anthropic` 上,思考停頓較長的回合失敗。代理伺服器記錄了一個開啟約 20 分鐘的請求,接著是 `502` 或 `504` 錯誤 | Claude Code 結束了一個已傳送第一個回應事件、之後只帶有 keepalive ping 的串流。它在不使用串流的情況下重新傳送請求,而每個回覆所需的時間都超過 gateway 對上游的等待時間 `timeouts.upstream_ttfb_ms`,或超過代理伺服器的逾時。 | 為您的開發者提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`。請參閱[在 Anthropic API 上游上的長時間思考](#long-thinking-on-an-anthropic-api-upstream)。 |

Details

131| `session-env/` | 每個工作階段的環境中繼資料 |131| `session-env/` | 每個工作階段的環境中繼資料 |

132| `tasks/` | 由任務工具寫入的任務清單,每個清單一個目錄 |132| `tasks/` | 由任務工具寫入的任務清單,每個清單一個目錄 |

133| `shell-snapshots/` | 在啟動時捕獲的別名、函數和 shell 選項,由 [Bash 工具](https://code.claude.com/docs/zh-TW/tools-reference.md#bash-tool-behavior) 應用於每個命令。在正常退出時移除。掃描會清除任何在崩潰後留下的內容。 |133| `shell-snapshots/` | 在啟動時捕獲的別名、函數和 shell 選項,由 [Bash 工具](https://code.claude.com/docs/zh-TW/tools-reference.md#bash-tool-behavior) 應用於每個命令。在正常退出時移除。掃描會清除任何在崩潰後留下的內容。 |

134| `backups/` | `~/.claude.json` 的早期版本,在 Claude Code 重寫檔案時複製。Claude Code 保留五個最新版本,加上任何它無法解析的版本副本。 |134| `backups/` | `~/.claude.json` 的早期版本,在 Claude Code 重寫檔案時複製。Claude Code 保留五個最新副本,加上任何它無法解析的版本副本。超過年齡截止值後,保存您設定的最後一份副本也會被刪除。如果目前的檔案可以解析、保存您的設定且小於 8 MiB,您會留下它的一份新副本。 |

135| `feedback-bundles/` | 由 `/feedback` 在第三方提供商上或當未配置 Anthropic 認證時寫入的編輯後文字記錄存檔,用於發送到你的 Anthropic 帳戶團隊 |135| `feedback-bundles/` | 由 `/feedback` 在第三方提供商上或當未配置 Anthropic 認證時寫入的編輯後文字記錄存檔,用於發送到你的 Anthropic 帳戶團隊 |

136| `feedback/drafts/` | 排隊的 [Claude 起草的回饋](https://code.claude.com/docs/zh-TW/tools-reference.md#sendfeedback-tool-behavior) 等待你在 `/feedback` 中審查。在 `cleanupPeriodDays` 或 30 天後掃描,以較短者為準。當佇列達到其 10 份草稿限制時,Claude Code 會刪除最舊的草稿以騰出空間。 |136| `feedback/drafts/` | 排隊的 [Claude 起草的回饋](https://code.claude.com/docs/zh-TW/tools-reference.md#sendfeedback-tool-behavior) 等待你在 `/feedback` 中審查。在 `cleanupPeriodDays` 或 30 天後掃描,以較短者為準。當佇列達到其 10 份草稿限制時,Claude Code 會刪除最舊的草稿以騰出空間。 |

137| `usage-data/` | 由 [`/insights`](https://code.claude.com/docs/zh-TW/costs#analyze-your-usage-patterns) 寫入的 `report.html` 和時間戳記報告副本,加上用於建立它們的快取每個工作階段分析資料 |137| `usage-data/` | 由 [`/insights`](https://code.claude.com/docs/zh-TW/costs#analyze-your-usage-patterns) 寫入的 `report.html` 和時間戳記報告副本,加上用於建立它們的快取每個工作階段分析資料 |


288| `~/.claude/tasks/` | 您的[任務清單](https://code.claude.com/docs/zh-TW/interactive-mode.md#task-list),包括仍在使用中的清單 |288| `~/.claude/tasks/` | 您的[任務清單](https://code.claude.com/docs/zh-TW/interactive-mode.md#task-list),包括仍在使用中的清單 |

289| `~/.claude/skills/.trash/`、`~/.claude/plugins/.trash/` | 恢復 [同步技能](https://code.claude.com/docs/zh-TW/skills.md#how-synced-skills-behave) 和 [同步外掛程式](https://code.claude.com/docs/zh-TW/plugins/loading.md#synced-plugins) 的機會,Claude Code 已移除 |289| `~/.claude/skills/.trash/`、`~/.claude/plugins/.trash/` | 恢復 [同步技能](https://code.claude.com/docs/zh-TW/skills.md#how-synced-skills-behave) 和 [同步外掛程式](https://code.claude.com/docs/zh-TW/plugins/loading.md#synced-plugins) 的機會,Claude Code 已移除 |

290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`、`~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code 刪除的外掛程式安裝記錄或無法讀取的副本。沒有任何東西會讀取它們回來 |290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`、`~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code 刪除的外掛程式安裝記錄或無法讀取的副本。沒有任何東西會讀取它們回來 |

291| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/session-env/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | 無使用者面向的內容 |291| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/session-env/`、`~/.claude/shell-snapshots/` | 無使用者面向的內容 |

292| `~/.claude/backups/` | 您可用來[還原 `~/.claude.json`](https://code.claude.com/docs/zh-TW/errors#configuration-error-in-claude-json) 的早期副本 |

292| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/`、`~/.claude/image-cache/` | 無。舊版本的舊版目錄,不由目前版本寫入。 |293| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/`、`~/.claude/image-cache/` | 無。舊版本的舊版目錄,不由目前版本寫入。 |

293 294 

294請勿刪除 `~/.claude.json`、`~/.claude/settings.json` 或 `~/.claude/plugins/`:這些檔案保存您的帳戶詳細資料、偏好設定和已安裝的外掛。295請勿刪除 `~/.claude.json`、`~/.claude/settings.json` 或 `~/.claude/plugins/`:這些檔案保存您的帳戶詳細資料、偏好設定和已安裝的外掛。

Details

480* **「Unable to access your repository」**,由執行緒報告,當其克隆失敗時:GitHub 拒絕克隆、在 project 具有的名稱下找不到儲存庫,或執行緒被要求啟動的分支不存在。480* **「Unable to access your repository」**,由執行緒報告,當其克隆失敗時:GitHub 拒絕克隆、在 project 具有的名稱下找不到儲存庫,或執行緒被要求啟動的分支不存在。

481* **「Claude can't access」** 儲存庫,在您在 **New project** 對話框或 **Project settings** 中保存儲存庫時顯示。訊息繼續帶有安裝連結和重新連接連結。如果 Claude GitHub App 不在該儲存庫上,使用安裝連結,如果它是,使用重新連接連結,因為 GitHub App 可以在 GitHub 上安裝而不連結到您連接到 Claude 的帳戶。如果訊息說 GitHub App 已暫停或不包括此儲存庫,請遵循其連結到 GitHub 以修復它。481* **「Claude can't access」** 儲存庫,在您在 **New project** 對話框或 **Project settings** 中保存儲存庫時顯示。訊息繼續帶有安裝連結和重新連接連結。如果 Claude GitHub App 不在該儲存庫上,使用安裝連結,如果它是,使用重新連接連結,因為 GitHub App 可以在 GitHub 上安裝而不連結到您連接到 Claude 的帳戶。如果訊息說 GitHub App 已暫停或不包括此儲存庫,請遵循其連結到 GitHub 以修復它。

482 482 

483要修復任何一個,點擊訊息提供的按鈕,例如 **Install GitHub App** 或 **Select repositories on GitHub**,然後 **Check again**。當受阻的原因在 GitHub 組織一側時,例如尚未批准應用程式的所有者或排除 Claude 的 IP 允許清單,訊息改為顯示 **See how to fix** 連結。如果沒有按鈕,請遵循 [設定 GitHub 存取](#set-up-github-access),然後發送另一條訊息重試。483要修復「Couldn't start the session」或「Unable to access your repository」的 GitHub 存取問題,請點擊訊息提供的按鈕,例如 **Install on GitHub** 或 **Select repositories**。如果沒有按鈕,請遵循 [設定 GitHub 存取](#set-up-github-access)。修復後,在 project 對話中要求 Claude 為相同工作啟動新執行緒。

484 484 

485### 執行緒達到使用限制485### 執行緒達到使用限制

486 486 


505 505 

506| 訊息 | 要做什麼 |506| 訊息 | 要做什麼 |

507| :- | :- |507| :- | :- |

508| 「Unable to connect to repository」,帶有「Claude couldn't reach GitHub to fetch your repository」 | 等待片刻,然後發送另一條訊息重試 |508| 「Unable to connect to repository」,帶有「Claude couldn't reach GitHub to fetch your repository」 | 等待片刻,然後在 project 對話中要求 Claude 為相同工作啟動新執行緒 |

509| 「Unable to connect to repository」,帶有「Claude couldn't access your repository or environment」 | 您的 GitHub 帳戶需要對儲存庫的推送存取,環境必須仍然存在。在 **Project settings > Environment** 中檢查兩者,然後重試 |509| 「Unable to connect to repository」,帶有「Claude couldn't access your repository or environment」 | 您的 GitHub 帳戶需要對儲存庫的推送存取,環境必須仍然存在。在 **Project settings > Environment** 中檢查兩者,然後重試 |

510| 「Couldn't show the setup proposal」 | 您打開的應用程式比 Claude 發送的 **Setup recommendations** 更舊。刷新頁面或重新啟動桌面應用程式,或要求 Claude 再次提議設定 |510| 「Couldn't show the setup proposal」 | 您打開的應用程式比 Claude 發送的 **Setup recommendations** 更舊。刷新頁面或重新啟動桌面應用程式,或要求 Claude 再次提議設定 |

511| 「The project's environment was removed」 | 在 **Project settings > Environment** 中選擇不同的環境;更改適用於新執行緒 |511| 「The project's environment was removed」 | 在 **Project settings > Environment** 中選擇不同的環境;更改適用於新執行緒 |

Details

14 14 

15`/context` 命令會顯示目前工作階段中佔用上下文視窗的所有內容,並依類別細分:系統提示詞、系統工具、MCP 工具、自訂 subagent(含各自的載入來源)、記憶檔案、skill 以及對話訊息。請先執行此命令,確認您的 `CLAUDE.md`、規則或 skill 描述是否確實存在。`/context` 中的 skill 區段也包含 [隨附 skill](https://code.claude.com/docs/zh-TW/skills.md#bundled-skills),而這些是 `/skills` 不會列出的。15`/context` 命令會顯示目前工作階段中佔用上下文視窗的所有內容,並依類別細分:系統提示詞、系統工具、MCP 工具、自訂 subagent(含各自的載入來源)、記憶檔案、skill 以及對話訊息。請先執行此命令,確認您的 `CLAUDE.md`、規則或 skill 描述是否確實存在。`/context` 中的 skill 區段也包含 [隨附 skill](https://code.claude.com/docs/zh-TW/skills.md#bundled-skills),而這些是 `/skills` 不會列出的。

16 16 

17在 [全螢幕模式](https://code.claude.com/docs/zh-TW/fullscreen.md) 中,`/context` 會收合逐項細分內容,因此請執行 `/context all` 將其展開。

18 

17若要查看特定類別的詳細資訊,請接著使用對應的專用命令:19若要查看特定類別的詳細資訊,請接著使用對應的專用命令:

18 20 

19| 命令 | 顯示內容 |21| 命令 | 顯示內容 |

desktop.md +71 −14

Details

84 84 

85權限模式控制 Claude 在工作階段期間的自主程度:它是否在編輯檔案、執行命令或兩者之前詢問。您可以隨時使用提示詞輸入框下方那一列中的模式選擇器切換權限模式。若要自行核准每項變更,請切換至「手動」。85權限模式控制 Claude 在工作階段期間的自主程度:它是否在編輯檔案、執行命令或兩者之前詢問。您可以隨時使用提示詞輸入框下方那一列中的模式選擇器切換權限模式。若要自行核准每項變更,請切換至「手動」。

86 86 

87若要為新的本機工作階段設定預設模式,請將 `permissions.defaultMode` 新增至您的[設定檔](https://code.claude.com/docs/zh-TW/settings.md#where-settings-live)。桌面應用程式讀取與 CLI 相同的設定檔。您在選擇器中選擇的模式會記住每個資料夾,並優先於該資料夾的 `defaultMode`,但 Plan 除外,它僅適用於目前工作階段。87若要為新的本機工作階段設定預設權限模式,請將 `permissions.defaultMode` 新增至您的[設定檔](https://code.claude.com/docs/zh-TW/settings.md#where-settings-live)。您在本機工作階段中選擇的模式會依資料夾記住,並優先於專案 `.claude/` 設定中的 `defaultMode`。新的本機工作階段仍可能以 `~/.claude/settings.json` 或受管設定中的 `defaultMode` 啟動,因此請在傳送第一則訊息之前檢查選擇器。如果您選擇 Plan,它僅適用於此工作階段。

88 88 

89| 模式 | 設定鍵 | 行為 |89| 模式 | 設定鍵 | 行為 |

90| - | - | - |90| - | - | - |


1289 1289 

1290> [!WARNING]1290> [!WARNING]

1291>1291>

1292> 如果您使用 Claude 帳戶登入 Desktop,請勿指望任務能整夜執行。Desktop 只有在執行中且已連線時才會為任務更新該登入,因此在您中斷連線後,任務的登入可能會過期,任務隨之停止。您中斷連線時剩餘的時間不一,可能只有幾分鐘。1292> 如果您以 Claude 帳戶登入 Desktop,請勿指望工作能整夜執行。Desktop 只有在執行中、已連線且已登入時,才會為工作更新該登入,因此工作的登入可能在您中斷連線後過期,工作隨之停止。您中斷連線時剩餘的時間不一定,可能只有幾分鐘。

1293>1293>

1294> 目前完成的工作會保留在遠端機器上,您回來時可以傳送訊息繼續。1294> 目前完成的工作會保留在遠端機器上,您回來時可以傳送訊息繼續。

1295>1295>

1296> 如果任務必須整夜執行:1296> 如果任務必須整夜執行:

1297>1297>

1298> * [讓您的電腦保持喚醒](https://code.claude.com/docs/zh-TW/desktop-scheduled-tasks.md#how-scheduled-tasks-run)並連上網路,筆電蓋子保持開啟且 Desktop 保持執行1298> * [讓您的電腦保持喚醒](https://code.claude.com/docs/zh-TW/desktop-scheduled-tasks.md#how-scheduled-tasks-run)並連線,螢幕保持開啟,且 Desktop 保持執行並已登入

1299> * 對遠端機器及途中的任何跳板主機,使用無需提示即可運作的登入方式,例如您 SSH agent 持有的金鑰。這樣 Desktop 就能在連線中斷後自行重新連線。1299> * 對遠端機器及途中的任何跳板主機,使用無需提示即可運作的登入方式,例如您 SSH agent 持有的金鑰。這樣 Desktop 就能在連線中斷後自行重新連線。

1300>1300>

1301> 對於必須在電腦睡眠或關機時執行的任務,請改為啟動[雲端工作階段](#run-long-running-tasks-in-the-cloud)。1301> 對於必須在電腦睡眠或關機時執行的任務,請改為啟動[雲端工作階段](#run-long-running-tasks-in-the-cloud)。


1303* **睡眠或網路中斷之後**:如果程序[仍在執行](#limits-while-desktop-is-disconnected)且 Desktop 能在無提示的情況下登入,您就能取回執行中的任務。如果無法,請[傳送訊息](#reconnect-after-sleep-or-a-network-loss)。1303* **睡眠或網路中斷之後**:如果程序[仍在執行](#limits-while-desktop-is-disconnected)且 Desktop 能在無提示的情況下登入,您就能取回執行中的任務。如果無法,請[傳送訊息](#reconnect-after-sleep-or-a-network-loss)。

1304* **結束後**:任務會繼續執行,但除非 Desktop 能重新加入其程序,否則在工作階段再次開啟時您會失去該任務。結束前,請查看 [Desktop 何時能重新加入](#reopen-a-session-after-you-quit-desktop)。如果您失去了任務,請傳送訊息以繼續。1304* **結束後**:任務會繼續執行,但除非 Desktop 能重新加入其程序,否則在工作階段再次開啟時您會失去該任務。結束前,請查看 [Desktop 何時能重新加入](#reopen-a-session-after-you-quit-desktop)。如果您失去了任務,請傳送訊息以繼續。

1305 1305 

1306當您回來且任務尚未完成時,請檢查是否有 Desktop 無法重新連線的訊息、身分驗證錯誤或等待中的請求:1306當您回來時若工作尚未完成,請檢查是否出現 Desktop 的登入頁面、Desktop 無法重新連線的訊息、身分驗證錯誤,或等待中的請求:

1307 1307 

1308* **登入頁面**:請登入。如果工作已停止,請傳送訊息以繼續。在 Enterprise 方案中,無論您多活躍,您的組織都可以[在您登入後的一定天數將您登出](https://support.claude.com/en/articles/13163631-configuring-session-security-settings)。使用 Claude 帳戶時,Desktop 在您登出期間不會更新工作的登入,因此工作可能會停止。

1308* **Desktop 無法重新連線**:工作階段會說明原因,通知也可能會說明。Desktop 可能[需要您登入](#reconnect-after-sleep-or-a-network-loss)。1309* **Desktop 無法重新連線**:工作階段會說明原因,通知也可能會說明。Desktop 可能[需要您登入](#reconnect-after-sleep-or-a-network-loss)。

1309* **身分驗證錯誤**:[登入 token 或憑證](#limits-while-desktop-is-disconnected)可能已過期。使用 Claude 帳戶時,請傳送訊息以繼續。使用第三方供應商時,請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。1310* **身分驗證錯誤**:[登入 token 或憑證](#limits-while-desktop-is-disconnected)可能已過期。使用 Claude 帳戶時,請傳送訊息以繼續。使用第三方供應商時,請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。

1310* **等待中的請求**:[回應它](#handle-requests-that-arrive-while-you-are-away)1311* **等待中的請求**:[回應它](#handle-requests-that-arrive-while-you-are-away)


1602 1603 

1603> [!NOTE]1604> [!NOTE]

1604>1605>

1605> 透過命令建立的連線需要在 macOS 或 Linux 上使用 Claude Desktop v3.6556.0 或更新版本,並以 Claude 帳戶登入。管理員可以[將命令分發給團隊](#distribute-commands-to-your-team)。1606> 從命令建立的連線需要在 macOS 或 Linux 上使用 Claude Desktop v3.6556.0 或更新版本,或在 Windows 上使用 v4.16336.0 或更新版本,並以 Claude 帳戶登入。在 Windows 上,Desktop 還必須[透過 OpenSSH 用戶端連線](#use-your-ssh-configuration)。管理員可以[將命令分發給團隊](#distribute-commands-to-your-team)。

1606 1607 

1607Desktop 只有在您建立連線或[建立另一台機器](#create-another-machine)時才會執行該命令,而不是每次連線時都執行。每個項目都是一個連線,指向 Desktop 最後一次從該項目的命令所儲存的主機。1608Desktop 只有在您建立連線或[建立另一台機器](#create-another-machine)時才會執行該命令,而不是每次連線時都執行。每個項目都是一個連線,指向 Desktop 最後一次從該項目的命令所儲存的主機。

1608 1609 


1632}1633}

1633```1634```

1634 1635 

1636在 Windows 上,像 `acme-dev` 這樣的單純名稱無法運作,因此請[以程式的完整路徑作為命令的開頭](#write-the-command-on-windows)。

1637 

1635每個項目接受以下欄位,其中 `id`、`name` 和 `command` 為必填:1638每個項目接受以下欄位,其中 `id`、`name` 和 `command` 為必填:

1636 1639 

1637| 欄位 | 值 |1640| 欄位 | 值 |


1646 1649 

1647##### 撰寫命令1650##### 撰寫命令

1648 1651 

1649Desktop 會直接啟動程式,不經過 shell,也沒有終端機:1652在 Windows 上,請從[在 Windows 上撰寫命令](#write-the-command-on-windows)開始,其中說明了以下哪些規則適用於該平台。

1653 

1654在 macOS 和 Linux 上,Desktop 會直接啟動程式,不經過 shell,也沒有終端機:

1650 1655 

1651* **程式**:寫出其名稱,或從 `/` 開始的完整路徑,不含空格。Desktop 會在您的登入 shell 匯出的 `PATH` 上尋找單純的名稱。`./acme-dev` 之類的相對路徑、以 `~` 開頭的路徑,以及 shell 別名和函式都無法使用。1656* **程式**:寫出其名稱,或從 `/` 開始的完整路徑。Desktop 會在您的登入 shell 所匯出的 `PATH` 中尋找單純名稱。相對路徑(例如 `./acme-dev`)、以 `~` 開頭的路徑,以及 shell 別名和函式都無法運作。

1652* **引數**:以空格分隔一般引數。命令只能包含空格、ASCII 字母、數字及字元 `+,-./:=@_~`,且任何字詞都不能以 `~` 開頭。1657* **路徑中的空格**:將程式的完整路徑放在單引號中,例如 `'/Users/you/My Tools/make-devbox' create`。引號(單引號或雙引號)需要 Claude Desktop v4.16336.0 或更新版本,且只能用於程式路徑的前後。

1653* **指令碼**:若命令需要其他內容,例如引號、管線、變數,或含有 `?` 或 `&` 的 URL,請將其放入指令碼中。讓指令碼可執行、以 `#!` 行開頭,並將 `command` 設為其完整路徑,例如 `/Users/you/bin/make-devbox`。在 macOS 上,請勿將指令碼放在 Documents、Desktop 和 Downloads 資料夾中,macOS 可能會在這些位置封鎖它。1658* **引數**:以空格分隔引數。在引號外,命令只能包含空格、ASCII 字母、數字以及字元 `+,-./:=@_~`,且任何單字都不能以 `~` 開頭。加上引號的路徑還可以包含一些其他字元,例如 `(`、`)` 和 `&`。

1659* **腳本**:如果命令需要其他任何內容,例如加上引號的引數、管線、變數,或包含 `?` 或 `&` 的 URL,請將其放入腳本中。讓腳本可執行,以 `#!` 行開頭,並將 `command` 設定為其完整路徑,例如 `/Users/you/bin/make-devbox`。在 macOS 上,請勿將腳本放在 Documents、Desktop 和 Downloads 資料夾中,macOS 可能會在這些位置封鎖它。

1654* **輸入**:程式不會取得任何輸入,也沒有終端機,因此無法在其中向您提示。若您的工具透過瀏覽器或提示讓您登入,請先從終端機登入,並在每次登入失效時再次登入。1660* **輸入**:程式不會取得任何輸入,也沒有終端機,因此無法在其中向您提示。若您的工具透過瀏覽器或提示讓您登入,請先從終端機登入,並在每次登入失效時再次登入。

1655* **環境**:程式會在您的家目錄中執行,並使用您的登入 shell 匯出的變數。Desktop 會在啟動時讀取這些變數,如同處理[`ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand) 一樣,因此變更變數後請結束並重新開啟 Desktop。1661* **環境**:程式會在您的家目錄中執行,並使用您的登入 shell 匯出的變數。Desktop 會在啟動時讀取這些變數,如同處理[`ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand) 一樣,因此變更變數後請結束並重新開啟 Desktop。

1656* **時間限制**:Desktop 會停止執行超過 10 分鐘仍未結束的程式。Desktop 的進度訊息不會顯示程式的輸出。若要更早停止程式,請選取該訊息旁的 **Cancel**。1662* **時間限制**:Desktop 會停止執行超過 10 分鐘仍未結束的程式。Desktop 的進度訊息不會顯示程式的輸出。若要更早停止程式,請選取該訊息旁的 **Cancel**。


1680 1686 

1681若命令失敗,Desktop 訊息中的 **View details** 會顯示命令寫入標準錯誤的最後一行(如果有的話)。1687若命令失敗,Desktop 訊息中的 **View details** 會顯示命令寫入標準錯誤的最後一行(如果有的話)。

1682 1688 

1689##### 在 Windows 上撰寫命令

1690 

1691在 Windows 上,`command` 必須以 `.exe`、`.cmd` 或 `.bat` 檔案從磁碟機代號開始的完整路徑開頭。Desktop 不會在您的 `PATH` 中尋找單純名稱,因此 `command` 為 `acme-dev create` 的項目會[呈灰色](#if-a-command-is-missing-or-gray)。

1692 

1693`%USERPROFILE%\.claude\settings.json` 中的以下項目會以引數 `create` 執行 `C:\Program Files\Acme\acme-dev.exe`。在 JSON 中,每個反斜線要寫兩次,或改寫為 `/`。因為路徑中有空格,所以使用單引號:

1694 

1695```json settings.json theme={null}

1696{

1697 "sshHostCommands": [

1698 {

1699 "id": "devbox",

1700 "name": "Dev box",

1701 "command": "'C:\\Program Files\\Acme\\acme-dev.exe' create"

1702 }

1703 ]

1704}

1705```

1706 

1707關於路徑中的空格、輸入、時間限制以及程式輸出的內容,請遵循[撰寫命令](#write-the-command)中的規則。其他規則則改為遵循以下規則:

1708 

1709* **程式**:請勿使用網路路徑(例如 `\\server\share`)、變數(例如 `%USERPROFILE%`)或 ASCII 以外的字母。路徑中只要有其中任何一項,項目就會呈灰色。如果您的使用者資料夾名稱中有此類字母,請將程式放在該資料夾之外。

1710* **引數**:遵循撰寫命令中的引數規則。命令還可以包含 `\`,但任何單字都不能以它結尾。

1711* **腳本**:使用 `.cmd` 或 `.bat` 檔案,Desktop 會透過 `cmd.exe` 執行它。即使加上引號,檔案路徑也不能包含 `&`、`^` 或 `;`。在您撰寫的檔案中,請使用 `%*` 讀取引數,因為 `%1` 到 `%9` 會在 `,` 和 `=` 處分割引數。

1712* **環境**:程式會取得 Desktop 應用程式的環境變數,而非 shell 設定檔中的變數。變更變數後,請結束並重新開啟 Desktop。

1713* **測試**:若要查看 Desktop 讀取的輸出,請在命令提示字元中執行命令。將包含空格的路徑放在雙引號中,並使用 `NUL` 表示無輸入,例如 `"C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txt`。檔案中必須只包含主機。此測試也會建立一台機器,因此之後請用您的工具將其刪除。

1714 

1715##### 包裝會輸出其他行的 Windows 工具

1716 

1717如果您的工具在主機之前會輸出其他行,例如進度訊息,請將其包裝在只輸出主機的批次檔中。以下檔案會輸出您工具輸出的最後一行,並在您的工具失敗時以其代碼結束:

1718 

1719```batch make-devbox.cmd theme={null}

1720@echo off

1721setlocal

1722set "host="

1723set "out=%TEMP%\acme-dev-%RANDOM%.txt"

1724call "C:\Program Files\Acme\acme-dev.exe" create > "%out%"

1725set "code=%ERRORLEVEL%"

1726for /f "usebackq delims=" %%L in ("%out%") do set "host=%%L"

1727del "%out%"

1728if not "%code%"=="0" exit /b %code%

1729setlocal EnableDelayedExpansion

1730echo(!host!

1731```

1732 

1733將 `command` 設定為該檔案的完整路徑,在 JSON 中例如 `C:\\tools\\make-devbox.cmd`。請保持最後兩行不變,因為它們會輸出主機而不會將其當作命令執行。

1734 

1683##### 連線至新主機1735##### 連線至新主機

1684 1736 

1685第一次連線至每個新主機時,需回答兩個問題:1737第一次連線至每個新主機時,需回答兩個問題:

1686 1738 

1687* **主機金鑰**:在 OpenSSH 預設的主機金鑰檢查下,請檢查金鑰的指紋,然後選擇是否連線。若要跳過此問題,請讓您的命令在輸出主機之前,使用工具建立機器時得知的金鑰,將金鑰新增至 `~/.ssh/known_hosts`。若連接埠不是 22,該行以 `[host]:port` 開頭。若您的工具會重複使用主機名稱,也請移除舊金鑰的那一行。1739* **主機金鑰**:在 OpenSSH 預設的主機金鑰檢查下,請檢查金鑰的指紋,然後選擇是否連線。若要略過此問題,請讓您的命令在輸出主機之前,將金鑰新增到 `~/.ssh/known_hosts`(在 Windows 上為 `%USERPROFILE%\.ssh\known_hosts`):

1740 * 使用您的工具在建立機器時得知的金鑰

1741 * 若連接埠不是 22,請以 `[host]:port` 作為該行的開頭

1742 * 如果您的工具會重複使用主機名稱,也請移除舊金鑰所在的行

1688* **資料夾**:選擇您是否信任在該處開啟的資料夾1743* **資料夾**:選擇您是否信任在該處開啟的資料夾

1689 1744 

1690請對這些主機保持主機金鑰檢查開啟,並為它們保留 `known_hosts` 檔案。若 `StrictHostKeyChecking` 為 `no` 或 `accept-new`,且 `UserKnownHostsFile` 也是 `/dev/null` 或 `none`,就沒有任何東西會記錄金鑰。之後當您的工具重複使用某個名稱時,您可能會在沒有警告的情況下連線至另一台機器。1745請對這些主機保持主機金鑰檢查開啟,並為它們保留 `known_hosts` 檔案。若 `StrictHostKeyChecking` 為 `no` 或 `accept-new`,且 `UserKnownHostsFile` 也是 `/dev/null` 或 `none`,就沒有任何東西會記錄金鑰。之後當您的工具重複使用某個名稱時,您可能會在沒有警告的情況下連線至另一台機器。


1746 1801 

1747* **設定鍵的放置位置**:若您針對 Claude Code 的 MDM 政策已設定某個[政策設定鍵](https://code.claude.com/docs/zh-TW/managed-settings.md#how-claude-code-combines-managed-sources),請將其放在該處。否則,請將其放在受管設定檔中。預設情況下,這類政策的優先順序高於檔案,此時 Desktop 會忽略檔案中的項目。即使在適用[伺服器受管設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)的情況下,也請在電腦上設定:Desktop 會忽略伺服器受管設定中的此設定鍵,專案和本機設定中的也一樣。1802* **設定鍵的放置位置**:若您針對 Claude Code 的 MDM 政策已設定某個[政策設定鍵](https://code.claude.com/docs/zh-TW/managed-settings.md#how-claude-code-combines-managed-sources),請將其放在該處。否則,請將其放在受管設定檔中。預設情況下,這類政策的優先順序高於檔案,此時 Desktop 會忽略檔案中的項目。即使在適用[伺服器受管設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)的情況下,也請在電腦上設定:Desktop 會忽略伺服器受管設定中的此設定鍵,專案和本機設定中的也一樣。

1748* **`id`**:若使用者的 `sshHostCommands` 項目使用了您的 `id`,只有您的項目有效。若任何其他 SSH 連線使用了它,例如使用者 `sshConfigs` 中的連線,您的項目會呈灰色。請選擇使用者不太可能選用的 `id`。1803* **`id`**:若使用者的 `sshHostCommands` 項目使用了您的 `id`,只有您的項目有效。若任何其他 SSH 連線使用了它,例如使用者 `sshConfigs` 中的連線,您的項目會呈灰色。請選擇使用者不太可能選用的 `id`。

1749* **程式**:請提供其完整路徑,因為 Desktop 會在每位使用者自己的 `PATH` 上查找單純的名稱。程式會以該使用者身分執行,並使用其登入 shell 匯出的變數。1804* **程式**:提供其完整路徑,因為在 macOS 和 Linux 上,Desktop 會在每位使用者的 `PATH` 中查找單純名稱,而在 Windows 上,使用單純名稱的項目會呈灰色。程式會以使用者身分執行,並使用[該使用者的變數](#write-the-command)。

1805* **每個平台**:為 Windows 電腦部署一個項目,為 macOS 和 Linux 電腦部署另一個項目。使用 [Windows 路徑](#write-the-command-on-windows)的項目在 macOS 和 Linux 上會呈灰色,而使用 macOS 或 Linux 路徑的項目在 Windows 上會呈灰色。

1750* **使用者自己的項目**:Desktop 將使用者的項目視同 [hook](https://code.claude.com/docs/zh-TW/hooks.md),因為兩者都會在電腦上執行程式。若只允許您的項目,請將 [`strictPluginOnlyCustomization`](https://code.claude.com/docs/zh-TW/settings-reference#strictpluginonlycustomization) 設為 `["hooks"]`,或將 `"hooks"` 加入其清單。這也會停用來自使用者、專案和本機設定的 Claude Code hook,且無法保留它們。若改為將該設定鍵或 [`allowManagedHooksOnly`](https://code.claude.com/docs/zh-TW/settings-reference#allowmanagedhooksonly) 設為 `true`,則會封鎖更多內容,詳見各設定鍵的說明。1806* **使用者自己的項目**:Desktop 將使用者的項目視同 [hook](https://code.claude.com/docs/zh-TW/hooks.md),因為兩者都會在電腦上執行程式。若只允許您的項目,請將 [`strictPluginOnlyCustomization`](https://code.claude.com/docs/zh-TW/settings-reference#strictpluginonlycustomization) 設為 `["hooks"]`,或將 `"hooks"` 加入其清單。這也會停用來自使用者、專案和本機設定的 Claude Code hook,且無法保留它們。若改為將該設定鍵或 [`allowManagedHooksOnly`](https://code.claude.com/docs/zh-TW/settings-reference#allowmanagedhooksonly) 設為 `true`,則會封鎖更多內容,詳見各設定鍵的說明。

1751* **所有項目**:若也要關閉您的項目,請在受管設定中設定 [`disableAllHooks`](https://code.claude.com/docs/zh-TW/settings-reference#disableallhooks)。若您設定了 [`disableDesktopLocalSessions`](https://code.claude.com/docs/zh-TW/settings-reference#disabledesktoplocalsessions),或設定了不允許任何主機的 `sshHostAllowlist`,選擇器將不會列出任何 **Create** 或 **Create another** 項目。1807* **所有項目**:若也要關閉您的項目,請在受管設定中設定 [`disableAllHooks`](https://code.claude.com/docs/zh-TW/settings-reference#disableallhooks)。若您設定了 [`disableDesktopLocalSessions`](https://code.claude.com/docs/zh-TW/settings-reference#disabledesktoplocalsessions),或設定了不允許任何主機的 `sshHostAllowlist`,選擇器將不會列出任何 **Create** 或 **Create another** 項目。

1752* **鎖定設定的生效位置**:對於這些項目,Desktop 會從伺服器受管設定以及電腦自身的檔案或政策讀取 `allowManagedHooksOnly`、`strictPluginOnlyCustomization` 和 `disableAllHooks`,並套用較嚴格的結果。在 Desktop 向 claude.ai 檢查伺服器受管設定之前,所有項目都會呈灰色,即使您的組織沒有任何伺服器受管設定也是如此。1808* **鎖定設定的生效位置**:對於這些項目,Desktop 會從伺服器受管設定以及電腦自身的檔案或政策讀取 `allowManagedHooksOnly`、`strictPluginOnlyCustomization` 和 `disableAllHooks`,並套用較嚴格的結果。在 Desktop 向 claude.ai 檢查伺服器受管設定之前,所有項目都會呈灰色,即使您的組織沒有任何伺服器受管設定也是如此。


1759在下列情況中,環境選擇器不會列出任何 **Create** 或 **Create another** 項目:1815在下列情況中,環境選擇器不會列出任何 **Create** 或 **Create another** 項目:

1760 1816 

1761* **檔案**:`~/.claude/settings.json` 含有[無效的 JSON 或被 schema 拒絕的值](https://code.claude.com/docs/zh-TW/settings.md#fix-a-broken-settings-file)、您拼錯了設定鍵,或您將其放在專案的設定中。請修正檔案。1817* **檔案**:`~/.claude/settings.json` 含有[無效的 JSON 或被 schema 拒絕的值](https://code.claude.com/docs/zh-TW/settings.md#fix-a-broken-settings-file)、您拼錯了設定鍵,或您將其放在專案的設定中。請修正檔案。

1762* **平台和帳戶**:您使用的是 Windows,或使用[第三方供應商](https://code.claude.com/docs/zh-TW/third-party-integrations.md)而非 Claude 帳戶。請自行將每個主機新增為 [SSH 連線](#ssh-sessions)。1818* **帳戶**:您使用的是[第三方提供者](https://code.claude.com/docs/zh-TW/third-party-integrations.md)而非 Claude 帳戶。請自行將每個主機新增為 [SSH 連線](#ssh-sessions)。

1819* **Windows**:Desktop 版本早於 v4.16336.0,或未透過 OpenSSH 用戶端連線。請更新 Desktop 並符合 [OpenSSH 用戶端的需求](#use-your-ssh-configuration),然後結束並重新開啟 Desktop。

1763* **您組織的設定**:您的管理員關閉了本機工作階段,或關閉了 SSH 工作階段。請詢問他們您是否可以使用命令。1820* **您組織的設定**:您的管理員關閉了本機工作階段,或關閉了 SSH 工作階段。請詢問他們您是否可以使用命令。

1764* **沒有 `ssh` 程式**:Desktop 無法在您的電腦上啟動 OpenSSH 用戶端。請安裝它,或請您的管理員允許它,然後重新啟動 Desktop。1821* **沒有 `ssh` 程式**:Desktop 無法在您的電腦上啟動 OpenSSH 用戶端。請安裝它,或請您的管理員允許它,然後重新啟動 Desktop。

1765 1822 

1766無法選取的項目會呈灰色。將游標移至其上即可查看原因:1823無法選取的項目會呈灰色。將游標移至其上即可查看原因:

1767 1824 

1768* **項目中有錯誤**:修正訊息中指出的欄位或命令。若 `id` 已被使用,請為項目換一個。1825* **項目中有錯誤**:修正訊息中指出的欄位或命令。如果 `id` 已被使用,請為該項目指定另一個。在 Windows 上,命令必須[以程式的完整路徑開頭](#write-the-command-on-windows)。

1769* **設定檔損壞**:當您自己的設定檔損壞時,您管理員的項目可能會呈灰色,並顯示指出該檔案的訊息。[修正檔案](https://code.claude.com/docs/zh-TW/settings.md#fix-a-broken-settings-file)。1826* **設定檔損壞**:當您自己的設定檔損壞時,您管理員的項目可能會呈灰色,並顯示指出該檔案的訊息。[修正檔案](https://code.claude.com/docs/zh-TW/settings.md#fix-a-broken-settings-file)。

1770* **新主機**:在 Desktop 儲存主機後的一分鐘內,[**Create another**](#create-another-machine) 會呈灰色。請在這一分鐘過後再選取它。在 Claude Desktop v4.4212.0 之前,**Replace Dev box's host** 會呈灰色 10 分鐘。1827* **新主機**:在 Desktop 儲存主機後的一分鐘內,[**Create another**](#create-another-machine) 會呈灰色。請在這一分鐘過後再選取它。在 Claude Desktop v4.4212.0 之前,**Replace Dev box's host** 會呈灰色 10 分鐘。

1771* **hook 已關閉或受限**:您自己的項目只在您自己的 hook 可以執行的地方有效。請從您的設定中移除 `disableAllHooks`,或詢問您的管理員。1828* **hook 已關閉或受限**:您自己的項目只在您自己的 hook 可以執行的地方有效。請從您的設定中移除 `disableAllHooks`,或詢問您的管理員。


1940| `disableMobileSimulatorTools` | 設定為 `true` 以封鎖 Claude 在 [iOS Simulator 窗格](https://code.claude.com/docs/zh-TW/desktop-ios-simulator.md#turn-off-simulator-access)中控制和擷取裝置的工具。該窗格仍可供使用者自行點擊使用;只有 Claude 的存取被移除。該值必須是 JSON 布林值 `true`;字串 `"true"` 會被忽略。 |1997| `disableMobileSimulatorTools` | 設定為 `true` 以封鎖 Claude 在 [iOS Simulator 窗格](https://code.claude.com/docs/zh-TW/desktop-ios-simulator.md#turn-off-simulator-access)中控制和擷取裝置的工具。該窗格仍可供使用者自行點擊使用;只有 Claude 的存取被移除。該值必須是 JSON 布林值 `true`;字串 `"true"` 會被忽略。 |

1941| `disableBrowserExternalNavigation` | 設定為 `true` 以完全關閉[瀏覽器窗格](#browse-external-sites)中的外部瀏覽。使用者和 Claude 都無法瀏覽外部網站,localhost 開發伺服器預覽不受影響。該值必須是 JSON 布林值 `true`;字串 `"true"` 會被忽略。 |1998| `disableBrowserExternalNavigation` | 設定為 `true` 以完全關閉[瀏覽器窗格](#browse-external-sites)中的外部瀏覽。使用者和 Claude 都無法瀏覽外部網站,localhost 開發伺服器預覽不受影響。該值必須是 JSON 布林值 `true`;字串 `"true"` 會被忽略。 |

1942| `sshConfigs` | 預先設定顯示在環境下拉式選單中的 [SSH 連線](#pre-configure-ssh-connections-for-your-team)。使用者無法刪除受管連線,除了自己的 **Worktree folder** 之外也無法編輯任何內容。 |1999| `sshConfigs` | 預先設定顯示在環境下拉式選單中的 [SSH 連線](#pre-configure-ssh-connections-for-your-team)。使用者無法刪除受管連線,除了自己的 **Worktree folder** 之外也無法編輯任何內容。 |

1943| `sshHostCommands` | 為使用者提供[主機來自命令的 SSH 連線](#distribute-commands-to-your-team),與使用者自己的連線並存。Desktop 從電腦上的受管設定檔案或 MDM 原則讀取此鍵,並在[伺服器管理的設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)中忽略它。需要在 macOS 或 Linux 上使用 Claude Desktop v3.6556.0 或更新版本,並以 Claude 帳戶登入。 |2000| `sshHostCommands` | 為使用者提供[主機來自命令的 SSH 連線](#distribute-commands-to-your-team),與使用者自己的連線並存。Desktop 從電腦上的受管設定檔案或 MDM 原則讀取此鍵,並在[伺服器管理的設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)中忽略它。需要在 macOS 或 Linux 上使用 Claude Desktop v3.6556.0 或更新版本,或在 Windows 上使用 v4.16336.0 或更新版本,並以 Claude 帳戶登入。在 Windows 上,Desktop 還必須[透過 OpenSSH 用戶端連線](#use-your-ssh-configuration)。 |

1944| `sshHostAllowlist` | 將 [SSH 工作階段](#restrict-which-ssh-hosts-users-can-connect-to)限制在已解析主機名稱符合這些模式之一的主機。僅從受管設定讀取。 |2001| `sshHostAllowlist` | 將 [SSH 工作階段](#restrict-which-ssh-hosts-users-can-connect-to)限制在已解析主機名稱符合這些模式之一的主機。僅從受管設定讀取。 |

1945| `disableDesktopLocalSessions` | 設定為 `true` 以關閉[在裝置上執行的 Code 工作階段](#local-sessions-on-managed-devices),僅保留連線到其他主機的 SSH 工作階段和雲端工作階段。該值必須是 JSON 布林值 `true`。僅從受管設定讀取。需要 Claude Desktop v1.37937.0 或更新版本。 |2002| `disableDesktopLocalSessions` | 設定為 `true` 以關閉[在裝置上執行的 Code 工作階段](#local-sessions-on-managed-devices),僅保留連線到其他主機的 SSH 工作階段和雲端工作階段。該值必須是 JSON 布林值 `true`。僅從受管設定讀取。需要 Claude Desktop v1.37937.0 或更新版本。 |

1946| `disableSshSavedPasswords` | 設定為 `true` 以停止 Desktop 提供記住 SSH 密碼的選項,並停止使用或顯示先前已儲存的密碼。開啟此設定不會刪除這些密碼。僅從受管設定讀取。需要 Claude Desktop v1.49585.0 或更新版本。 |2003| `disableSshSavedPasswords` | 設定為 `true` 以停止 Desktop 提供記住 SSH 密碼的選項,並停止使用或顯示先前已儲存的密碼。開啟此設定不會刪除這些密碼。僅從受管設定讀取。需要 Claude Desktop v1.49585.0 或更新版本。 |

env-vars.md +3 −2

Details

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

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

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

142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [服務層級](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`、`flex` 或 `priority`)。以 `X-Amzn-Bedrock-Service-Tier` 標頭傳送。請參閱 [Amazon Bedrock](https://code.claude.com/docs/zh-TW/amazon-bedrock.md#service-tiers) |142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [服務層級](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`、`flex` 或 `priority`)。請參閱 [Amazon Bedrock](https://code.claude.com/docs/zh-TW/amazon-bedrock.md#service-tiers) |

143| `ANTHROPIC_BETAS` | 要包含在 API 請求中的額外 `anthropic-beta` 標頭值,以逗號分隔。Claude Code 已會傳送其所需的 beta 標頭;在 Claude Code 加入原生支援之前,可使用此變數選擇加入 [Anthropic API beta](https://platform.claude.com/docs/en/api/beta-headers)。不同於需要 API 金鑰身分驗證的 [`--betas` 旗標](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags),此變數適用於所有驗證方式,包括 Claude.ai 訂閱 |143| `ANTHROPIC_BETAS` | 要包含在 API 請求中的額外 `anthropic-beta` 標頭值,以逗號分隔。Claude Code 已會傳送其所需的 beta 標頭;在 Claude Code 加入原生支援之前,可使用此變數選擇加入 [Anthropic API beta](https://platform.claude.com/docs/en/api/beta-headers)。不同於需要 API 金鑰身分驗證的 [`--betas` 旗標](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags),此變數適用於所有驗證方式,包括 Claude.ai 訂閱 |

144| `ANTHROPIC_CUSTOM_HEADERS` | 要加入請求的自訂標頭(`Name: Value` 格式,多個標頭以換行分隔)。若名稱或值包含 HTTP 標頭無法承載的字元,例如彎引號或零寬空格,請求會失敗,並顯示依位置識別該組名稱與值的錯誤。需要 Claude Code v2.1.227 或更新版本。[Invalid request header value](https://code.claude.com/docs/zh-TW/errors.md#invalid-request-header-value) 列出確切的字元集以及檢查執行的位置。若值設定的是憑證、組織或租用戶、路由或 API 行為相關的標頭,例如 `Authorization` 或 `Host`,當由伺服器受管設定傳遞時,它會被視為[需要核准的設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md#environment-variables-and-the-approval-dialog)。若來自專案或本機設定,此類值會遵循[何時套用 `env` 值的規則](https://code.claude.com/docs/zh-TW/settings-reference#when-claude-code-applies-env-values) |144| `ANTHROPIC_CUSTOM_HEADERS` | 要加入請求的自訂標頭(`Name: Value` 格式,多個標頭以換行分隔)。若名稱或值包含 HTTP 標頭無法承載的字元,例如彎引號或零寬空格,請求會失敗,並顯示依位置識別該組名稱與值的錯誤。需要 Claude Code v2.1.227 或更新版本。[Invalid request header value](https://code.claude.com/docs/zh-TW/errors.md#invalid-request-header-value) 列出確切的字元集以及檢查執行的位置。若值設定的是憑證、組織或租用戶、路由或 API 行為相關的標頭,例如 `Authorization` 或 `Host`,當由伺服器受管設定傳遞時,它會被視為[需要核准的設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md#environment-variables-and-the-approval-dialog)。若來自專案或本機設定,此類值會遵循[何時套用 `env` 值的規則](https://code.claude.com/docs/zh-TW/settings-reference#when-claude-code-applies-env-values) |

145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | 要在 `/model` 選擇器中新增為自訂項目的模型 ID。使用此變數可讓非標準或閘道專屬的模型可供選擇,而不需取代內建別名。請參閱[模型設定](https://code.claude.com/docs/zh-TW/model-config.md#add-a-custom-model-option) |145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | 要在 `/model` 選擇器中新增為自訂項目的模型 ID。使用此變數可讓非標準或閘道專屬的模型可供選擇,而不需取代內建別名。請參閱[模型設定](https://code.claude.com/docs/zh-TW/model-config.md#add-a-custom-model-option) |


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

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 設為 `1` 可在 [supervisor](https://code.claude.com/docs/zh-TW/agent-view.md#the-supervisor-process) 停止、重新啟動或更新[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md)的程序時,停止該工作階段進行中的工作,而非將其交接給該工作階段的下一個程序。該工作是指工作階段中正在執行的背景 shell 命令,自 v2.1.198 起還包括背景 subagent。僅影響該交接:使用 `←` 或 [`/background`](https://code.claude.com/docs/zh-TW/agent-view#from-inside-a-session) 將工作階段移至背景時,仍會延續進行中的背景工作。需要 Claude Code v2.1.196 或更新版本 |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 設為 `1` 可在 [supervisor](https://code.claude.com/docs/zh-TW/agent-view.md#the-supervisor-process) 停止、重新啟動或更新[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md)的程序時,停止該工作階段進行中的工作,而非將其交接給該工作階段的下一個程序。該工作是指工作階段中正在執行的背景 shell 命令,自 v2.1.198 起還包括背景 subagent。僅影響該交接:使用 `←` 或 [`/background`](https://code.claude.com/docs/zh-TW/agent-view#from-inside-a-session) 將工作階段移至背景時,仍會延續進行中的背景工作。需要 Claude Code v2.1.196 或更新版本 |

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

241| `CLAUDE_CODE_DISABLE_BG_STABLE_PATH` | 在使用原生安裝程式的 macOS 上,設為 `1` 可讓每個[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md)的主機程序從已安裝的二進位檔執行,而非從 `~/.local/share/claude/ClaudeCode.app` 執行。macOS 之後可能會再次要求權限,例如[資料夾存取](https://code.claude.com/docs/zh-TW/agent-view.md#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos),包括每次更新後。請在使用者設定、受管設定檔或 MDM 原則的 [`env` 區塊](#in-settings-files)中設定,而非在您的 shell 中。若要移除 `ClaudeCode.app`,請自行刪除。需要 Claude Code v2.1.295 或更新版本 |

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

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 適用於嵌入 Claude Code 並提供自有瀏覽器指引的主機。設為 `1` 可保留 [Claude in Chrome](https://code.claude.com/docs/zh-TW/chrome.md) 瀏覽器工具,同時省略系統提示詞中的 Chrome 區段以及 `/claude-in-chrome` [隨附 skill](https://code.claude.com/docs/zh-TW/skills.md#bundled-skills)。在 VS Code 中,v2.1.314 或更新版本的擴充功能也會從工作階段的訊息中省略 Claude in Chrome 指令。需要 Claude Code v2.1.257 或更新版本 |243| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 適用於嵌入 Claude Code 並提供自有瀏覽器指引的主機。設為 `1` 可保留 [Claude in Chrome](https://code.claude.com/docs/zh-TW/chrome.md) 瀏覽器工具,同時省略系統提示詞中的 Chrome 區段以及 `/claude-in-chrome` [隨附 skill](https://code.claude.com/docs/zh-TW/skills.md#bundled-skills)。在 VS Code 中,v2.1.314 或更新版本的擴充功能也會從工作階段的訊息中省略 Claude in Chrome 指令。需要 Claude Code v2.1.257 或更新版本 |

243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 設定為 `1` 可防止將任何 CLAUDE.md 記憶檔案載入上下文,包括使用者、專案與自動記憶檔案 |244| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 設定為 `1` 可防止將任何 CLAUDE.md 記憶檔案載入上下文,包括使用者、專案與自動記憶檔案 |


312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | 設為 `0` 可關閉傳送至 `api.anthropic.com` 的 Claude API、遙測與 [artifact](https://code.claude.com/docs/zh-TW/artifacts.md) 發佈請求主體的 gzip 壓縮。預設情況下,Claude Code 會在直接連線時壓縮大型請求主體,並在您透過代理伺服器傳送請求、設定用戶端憑證或設定 `NODE_EXTRA_CA_CERTS` 時略過壓縮。若 Claude Code 無法偵測到的 [TLS 檢查代理伺服器](https://code.claude.com/docs/zh-TW/network-config.md#ca-certificate-store)錯誤處理壓縮請求,請使用 `0` |313| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | 設為 `0` 可關閉傳送至 `api.anthropic.com` 的 Claude API、遙測與 [artifact](https://code.claude.com/docs/zh-TW/artifacts.md) 發佈請求主體的 gzip 壓縮。預設情況下,Claude Code 會在直接連線時壓縮大型請求主體,並在您透過代理伺服器傳送請求、設定用戶端憑證或設定 `NODE_EXTRA_CA_CERTS` 時略過壓縮。若 Claude Code 無法偵測到的 [TLS 檢查代理伺服器](https://code.claude.com/docs/zh-TW/network-config.md#ca-certificate-store)錯誤處理壓縮請求,請使用 `0` |

313| `CLAUDE_CODE_HIDE_CWD` | 設為 `1` 可在啟動標誌中隱藏工作目錄。適用於路徑會暴露您作業系統使用者名稱的螢幕分享或錄影 |314| `CLAUDE_CODE_HIDE_CWD` | 設為 `1` 可在啟動標誌中隱藏工作目錄。適用於路徑會暴露您作業系統使用者名稱的螢幕分享或錄影 |

314| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | 覆寫用於連線至 IDE 擴充功能的主機位址。預設情況下,Claude Code 會自動偵測正確的位址,包括 WSL 至 Windows 的路由 |315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | 覆寫用於連線至 IDE 擴充功能的主機位址。預設情況下,Claude Code 會自動偵測正確的位址,包括 WSL 至 Windows 的路由 |

315| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | 設為 `1` 可略過 IDE 擴充功能的自動安裝。等同於將 [`autoInstallIdeExtension`](https://code.claude.com/docs/zh-TW/settings-reference#autoinstallideextension) 設為 `false` |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | 設定為 `1` 可阻止 `/ide` 安裝 IDE 擴充功能。等同於將 [`autoInstallIdeExtension`](https://code.claude.com/docs/zh-TW/settings-reference#autoinstallideextension) 設定為 `false` |

316| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 設為 `1` 可在連線期間略過 IDE 鎖定檔項目的驗證。當 IDE 正在執行但自動連線仍找不到它時使用 |317| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 設為 `1` 可在連線期間略過 IDE 鎖定檔項目的驗證。當 IDE 正在執行但自動連線仍找不到它時使用 |

317| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [閒置壓縮](https://code.claude.com/docs/zh-TW/settings-reference.md#idlecompaction)套用至對話時的上下文大小(以 token 為單位)(預設:`200000`)。接受正整數,其他任何值都會被忽略。低於 `100000` 的值會提高至 `100000`,即最低閾值。符合條件的對話預設會開啟閒置壓縮。若要關閉,請將 `idleCompaction` 設為 `false`。需要 Claude Code v2.1.290 或更新版本 |318| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [閒置壓縮](https://code.claude.com/docs/zh-TW/settings-reference.md#idlecompaction)套用至對話時的上下文大小(以 token 為單位)(預設:`200000`)。接受正整數,其他任何值都會被忽略。低於 `100000` 的值會提高至 `100000`,即最低閾值。符合條件的對話預設會開啟閒置壓縮。若要關閉,請將 `idleCompaction` 設為 `false`。需要 Claude Code v2.1.290 或更新版本 |

318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | 在 Agent 工具拒絕再產生另一個 subagent 之前,一個工作階段中可同時執行的 [subagent](https://code.claude.com/docs/zh-TW/sub-agents.md#concurrent-subagent-limit) 數量(預設:20)。接受純數字的正整數;其他任何值都會被忽略,因此此變數可調整上限,但無法停用上限。需要 Claude Code v2.1.217 或更新版本 |319| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | 在 Agent 工具拒絕再產生另一個 subagent 之前,一個工作階段中可同時執行的 [subagent](https://code.claude.com/docs/zh-TW/sub-agents.md#concurrent-subagent-limit) 數量(預設:20)。接受純數字的正整數;其他任何值都會被忽略,因此此變數可調整上限,但無法停用上限。需要 Claude Code v2.1.217 或更新版本 |

errors.md +146 −6

Details

55| `spend limit reached` / `spend limit unavailable` | [用量上限](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` | [用量上限](#spend-limit-reached) |

56| `Not logged in · Please run /login` | [身分驗證](#not-logged-in) |56| `Not logged in · Please run /login` | [身分驗證](#not-logged-in) |

57| `Couldn't save your login` | [身分驗證](#couldnt-save-your-login) |57| `Couldn't save your login` | [身分驗證](#couldnt-save-your-login) |

58| `Sign in again to take your previous account or API key off the config file.` | [身分驗證](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |

59| `Your account or API key may still be in the config file. Run claude auth logout.` | [身分驗證](#your-account-or-api-key-may-still-be-in-the-config-file) |

58| `Authentication required · Sign in again to continue` | [身分驗證](#not-logged-in) |60| `Authentication required · Sign in again to continue` | [身分驗證](#not-logged-in) |

59| `Could not resolve authentication method` | [身分驗證](#could-not-resolve-authentication-method) |61| `Could not resolve authentication method` | [身分驗證](#could-not-resolve-authentication-method) |

60| `Invalid API key` | [身分驗證](#invalid-api-key) |62| `Invalid API key` | [身分驗證](#invalid-api-key) |


82| `Couldn't verify your organization's policy for remote control` | [疑難排解 Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |84| `Couldn't verify your organization's policy for remote control` | [疑難排解 Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |

83| `Remote Control is disabled by your organization's policy` | [疑難排解 Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |85| `Remote Control is disabled by your organization's policy` | [疑難排解 Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |

84| `Remote Control was turned off by your organization's policy` | [疑難排解 Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |86| `Remote Control was turned off by your organization's policy` | [疑難排解 Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |

87| `Session failed: working folder not found:` | [Remote Control 疑難排解](https://code.claude.com/docs/zh-TW/remote-control.md#working-folder-not-found) |

88| `The program file this Remote Control started from is gone` | [Remote Control 疑難排解](https://code.claude.com/docs/zh-TW/remote-control.md#program-file-is-gone) |

89| `Session failed: spawn error:`,後接 `ENOENT` 訊息 | [Remote Control 疑難排解](https://code.claude.com/docs/zh-TW/remote-control.md#program-file-is-gone) |

85| `OAuth token revoked` / `OAuth token has expired` | [身分驗證](#oauth-token-revoked-or-expired) |90| `OAuth token revoked` / `OAuth token has expired` | [身分驗證](#oauth-token-revoked-or-expired) |

86| `Failed to authenticate: OAuth token revoked` | [身分驗證](#oauth-token-revoked-or-expired) |91| `Failed to authenticate: OAuth token revoked` | [身分驗證](#oauth-token-revoked-or-expired) |

87| `Your account does not have access to Claude. Please login again or contact your administrator.` | [身分驗證](#oauth-token-revoked-or-expired) |92| `Your account does not have access to Claude. Please login again or contact your administrator.` | [身分驗證](#oauth-token-revoked-or-expired) |


165| `Request too large for the API's 32MB request limit` | [請求錯誤](#request-too-large) |170| `Request too large for the API's 32MB request limit` | [請求錯誤](#request-too-large) |

166| `Image was too large` | [請求錯誤](#image-was-too-large) |171| `Image was too large` | [請求錯誤](#image-was-too-large) |

167| `API Error: an image in the conversation could not be processed and was removed` | [請求錯誤](#image-was-too-large) |172| `API Error: an image in the conversation could not be processed and was removed` | [請求錯誤](#image-was-too-large) |

173| `An image in the conversation exceeds the dimension limit for many-image requests` | [請求錯誤](#image-was-too-large) |

168| `Unable to resize image` | [請求錯誤](#unable-to-resize-image) |174| `Unable to resize image` | [請求錯誤](#unable-to-resize-image) |

169| `Request rejected as unprocessable by the model` | [請求錯誤](#request-rejected-as-unprocessable-by-the-model) |175| `Request rejected as unprocessable by the model` | [請求錯誤](#request-rejected-as-unprocessable-by-the-model) |

170| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [請求錯誤](#pdf-errors) |176| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [請求錯誤](#pdf-errors) |


229| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [命令列錯誤](#invalid-agents-configuration) |235| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [命令列錯誤](#invalid-agents-configuration) |

230| `Error: --agents file not found` | [命令列錯誤](#invalid-agents-configuration) |236| `Error: --agents file not found` | [命令列錯誤](#invalid-agents-configuration) |

231| `Error: Settings file exceeds the 2MiB limit` | [命令列錯誤](#settings-file-exceeds-the-2mib-limit) |237| `Error: Settings file exceeds the 2MiB limit` | [命令列錯誤](#settings-file-exceeds-the-2mib-limit) |

238| `Configuration error in` | [命令列錯誤](#configuration-error-in-claude-json) |

239| `Claude configuration file at <path> was empty and no backup holds anything: starting with defaults.` | [命令列錯誤](#claude-configuration-file-was-empty) |

232| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [命令列錯誤](#the-current-directory-no-longer-exists) |240| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [命令列錯誤](#the-current-directory-no-longer-exists) |

233| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [命令列錯誤](#temp-directory-refused-or-cannot-be-created) |241| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [命令列錯誤](#temp-directory-refused-or-cannot-be-created) |

234| `ENOSPC: no space left on device, mkdir '<dir>'` | [命令列錯誤](#temp-directory-refused-or-cannot-be-created) |242| `ENOSPC: no space left on device, mkdir '<dir>'` | [命令列錯誤](#temp-directory-refused-or-cannot-be-created) |


252| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [命令列錯誤](#mcp-permission-prompt-tool-not-found) |260| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [命令列錯誤](#mcp-permission-prompt-tool-not-found) |

253| `OAuth callback port <port> is already in use — another process may be holding it` | [命令列錯誤](#oauth-callback-port-is-already-in-use) |261| `OAuth callback port <port> is already in use — another process may be holding it` | [命令列錯誤](#oauth-callback-port-is-already-in-use) |

254| `No available ports for OAuth redirect` | [命令列錯誤](#no-available-ports-for-oauth-redirect) |262| `No available ports for OAuth redirect` | [命令列錯誤](#no-available-ports-for-oauth-redirect) |

255| 來自 `/security-review` 或任何注入動態上下文之 skill 的 `Shell command failed for pattern "..."` | [命令列錯誤](#security-review-fails-without-origin-head) |263| `Shell command failed for pattern "..."`,來自 `/security-review` 或任何注入動態上下文的 skill | [命令列錯誤](#security-review-fails-without-origin-head) |

256| 來自注入動態上下文之 skill 的 `Shell command permission check failed for pattern "..."` | [命令列錯誤](#security-review-fails-without-origin-head) |264| 來自注入動態上下文之 skill 的 `Shell command permission check failed for pattern "..."` | [命令列錯誤](#security-review-fails-without-origin-head) |

257| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [命令列錯誤](#security-review-fails-without-origin-head) |265| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [命令列錯誤](#security-review-fails-without-origin-head) |

258| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [命令列錯誤](#no-shell-command-was-run) |266| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [命令列錯誤](#no-shell-command-was-run) |


334| `cannot contain null bytes (\0)` | [工具錯誤](#path-cannot-contain-null-bytes) |342| `cannot contain null bytes (\0)` | [工具錯誤](#path-cannot-contain-null-bytes) |

335| `Path contains null bytes` | [工具錯誤](#path-cannot-contain-null-bytes) |343| `Path contains null bytes` | [工具錯誤](#path-cannot-contain-null-bytes) |

336| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [工具錯誤](#command-contains-an-invisible-character) |344| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [工具錯誤](#command-contains-an-invisible-character) |

345| `This call was not run. The command was approved before Claude Code restarted` | [工具錯誤](#command-approved-before-a-restart-was-not-run) |

337| `File is too large to read as an image (the limit is 128MB)` | [工具錯誤](#file-is-too-large-to-read-as-an-image) |346| `File is too large to read as an image (the limit is 128MB)` | [工具錯誤](#file-is-too-large-to-read-as-an-image) |

338| `Cannot read this as an image: <path> is a pipe or a device` | [工具錯誤](#file-is-too-large-to-read-as-an-image) |347| `Cannot read this as an image: <path> is a pipe or a device` | [工具錯誤](#file-is-too-large-to-read-as-an-image) |

339| `subagent_type is required: the general-purpose agent is not available in this session` | [工具錯誤](#subagent-type-is-required) |348| `subagent_type is required: the general-purpose agent is not available in this session` | [工具錯誤](#subagent-type-is-required) |


420| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [設定警告](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |429| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [設定警告](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

421| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [設定警告](#skill-or-command-name-refused) |430| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [設定警告](#skill-or-command-name-refused) |

422| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [設定警告](#workspace-has-not-been-trusted) |431| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [設定警告](#workspace-has-not-been-trusted) |

432| `Make this change again later: <path> could not be updated, so it applies to this session only` | [設定警告](#make-this-change-again-later) |

423| `is a network path, which cannot be added as a working directory` | [設定警告](#working-directory-is-a-network-path) |433| `is a network path, which cannot be added as a working directory` | [設定警告](#working-directory-is-a-network-path) |

424| `Remote managed settings failed to load (<cause>)` | [設定警告](#remote-managed-settings-failed-to-load) |434| `Remote managed settings failed to load (<cause>)` | [設定警告](#remote-managed-settings-failed-to-load) |

435| `Your organization requires remote managed settings to load, but they could not be loaded` | [強制採用失敗即關閉的啟動方式](https://code.claude.com/docs/zh-TW/server-managed-settings.md#enforce-fail-closed-startup) |

436| `Remote managed settings are still loading` | [設定警告](#remote-managed-settings-failed-to-load) |

437| `Remote managed settings did not load` | [設定警告](#remote-managed-settings-failed-to-load) |

438| `Claude Code couldn't load your organization's settings` / `Claude Code couldn't reach Anthropic to load your organization's settings` / `requires them before a session can start` | [設定警告](#couldnt-load-your-organizations-settings) |

439| `Claude Code can't start this session yet` | [設定警告](#couldnt-load-your-organizations-settings) |

440| `Your Claude session has expired. Sign in again to continue (claude auth login).` | [設定警告](#couldnt-load-your-organizations-settings) |

425| `Managed settings were not approved; exiting without applying them.` | [設定警告](#managed-settings-were-not-approved) |441| `Managed settings were not approved; exiting without applying them.` | [設定警告](#managed-settings-were-not-approved) |

426| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [設定警告](#managed-settings-need-your-approval) |442| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [設定警告](#managed-settings-need-your-approval) |

427| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [設定警告](#managed-settings-block-the-default-model) |443| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [設定警告](#managed-settings-block-the-default-model) |


454| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [設定警告](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |470| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [設定警告](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

455| `Sandbox mask files left behind at write-deny paths` | [設定警告](#stale-sandbox-mask-files-left-by-a-killed-session) |471| `Sandbox mask files left behind at write-deny paths` | [設定警告](#stale-sandbox-mask-files-left-by-a-killed-session) |

456| `Stale sandbox mask files left by a killed session` | [設定警告](#stale-sandbox-mask-files-left-by-a-killed-session) |472| `Stale sandbox mask files left by a killed session` | [設定警告](#stale-sandbox-mask-files-left-by-a-killed-session) |

473| `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` | [沙箱機制疑難排解](https://code.claude.com/docs/zh-TW/sandboxing.md#apparmor-restriction-stops-bubblewrap) |

474| `bwrap: setting up uid map: Permission denied` / `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` | [沙箱機制疑難排解](https://code.claude.com/docs/zh-TW/sandboxing.md#bwrap-uid-map-permission-denied) |

457| 回應品質似乎比平常低 | [回應品質](#responses-seem-lower-quality-than-usual) |475| 回應品質似乎比平常低 | [回應品質](#responses-seem-lower-quality-than-usual) |

458 476 

459## 自動重試477## 自動重試


1031* 執行 `/login`,以您的 Claude 訂閱或 Console 帳戶進行身分驗證1049* 執行 `/login`,以您的 Claude 訂閱或 Console 帳戶進行身分驗證

1032* 如果您預期由環境變數進行身分驗證,請確認 `ANTHROPIC_API_KEY` 已在您啟動 `claude` 的 shell 中設定並匯出1050* 如果您預期由環境變數進行身分驗證,請確認 `ANTHROPIC_API_KEY` 已在您啟動 `claude` 的 shell 中設定並匯出

1033* 對於無法進行互動式登入的 CI 或自動化作業,請設定一個 [`apiKeyHelper`](https://code.claude.com/docs/zh-TW/settings-reference#apikeyhelper) 指令碼,在啟動時取得金鑰1051* 對於無法進行互動式登入的 CI 或自動化作業,請設定一個 [`apiKeyHelper`](https://code.claude.com/docs/zh-TW/settings-reference#apikeyhelper) 指令碼,在啟動時取得金鑰

1052* 如果有人重新登入同一個 claude.ai 帳戶和組織時,`claude -p` 工作會以此訊息結束,請更新執行該登入之處的 Claude Code。在 v2.1.318 之前,Claude Code 會在該登入過程中、儲存新登入之前,移除已儲存的登入。

1034* 請參閱[身分驗證優先順序](https://code.claude.com/docs/zh-TW/authentication.md#authentication-precedence),了解存在多個憑證時 Claude Code 會使用哪一個1053* 請參閱[身分驗證優先順序](https://code.claude.com/docs/zh-TW/authentication.md#authentication-precedence),了解存在多個憑證時 Claude Code 會使用哪一個

1035 1054 

1036如果您反覆被要求登入,請參閱[未登入或 token 已過期](https://code.claude.com/docs/zh-TW/troubleshoot-install.md#not-logged-in-or-token-expired),了解系統時鐘檢查與 macOS 憑證儲存的復原步驟。1055如果您反覆被要求登入,請參閱[未登入或 token 已過期](https://code.claude.com/docs/zh-TW/troubleshoot-install.md#not-logged-in-or-token-expired),了解系統時鐘檢查與 macOS 憑證儲存的復原步驟。


1441* 在其他平台上,再次執行 `/login`1460* 在其他平台上,再次執行 `/login`

1442* 如果登入仍無法儲存,請參閱[未登入或 token 已過期](https://code.claude.com/docs/zh-TW/troubleshoot-install.md#not-logged-in-or-token-expired),了解鑰匙圈解鎖命令及其他憑證儲存復原步驟1461* 如果登入仍無法儲存,請參閱[未登入或 token 已過期](https://code.claude.com/docs/zh-TW/troubleshoot-install.md#not-logged-in-or-token-expired),了解鑰匙圈解鎖命令及其他憑證儲存復原步驟

1443 1462 

1463### Sign in again to take your previous account or API key off the config file

1464 

1465登入後出現此警告,表示您先前登入過的任何帳戶可能仍儲存在 [`~/.claude.json`](https://code.claude.com/docs/zh-TW/claude-directory#ce-claude-json) 中:

1466 

1467```text theme={null}

1468Sign in again to take your previous account or API key off the config file.

1469```

1470 

1471如果在 Linux 或 Windows 上曾有 Console 登入建立了 API 金鑰,該金鑰也可能仍在 `~/.claude.json` 中。

1472 

1473**處理方式:**

1474 

1475* 在您的 shell 中執行 `claude auth login` 重新登入。Claude Code 接著會重試那次將被取代的帳戶或 API 金鑰從檔案中移除的儲存作業。

1476 

1477### Your account or API key may still be in the config file

1478 

1479您執行了 `/logout` 或 `claude auth logout`,Claude Code 已讓此程序登出,但無法確認 [`~/.claude.json`](https://code.claude.com/docs/zh-TW/claude-directory#ce-claude-json) 中已不再保存您的帳戶。可能是儲存作業沒有生效,或是無法讀回檔案進行檢查。

1480 

1481```text theme={null}

1482Your account or API key may still be in the config file. Run claude auth logout.

1483```

1484 

1485如果在 Linux 或 Windows 上曾有 Console 登入建立了 API 金鑰,該金鑰也可能仍在 `~/.claude.json` 中。

1486 

1487**處理方式:**

1488 

1489* 在您的 shell 中執行 `claude auth logout` 再次嘗試儲存。儲存成功時,命令會輸出 `Successfully logged out from your Anthropic account.`

1490 

1444### Couldn't start the local listener that receives the browser sign-in1491### Couldn't start the local listener that receives the browser sign-in

1445 1492 

1446來自 `/login`、`claude auth login` 或 `claude setup-token` 的這些訊息,都表示 Claude Code 無法開啟 `127.0.0.1` 上讓瀏覽器傳回登入結果的連接埠。1493來自 `/login`、`claude auth login` 或 `claude setup-token` 的這些訊息,都表示 Claude Code 無法開啟 `127.0.0.1` 上讓瀏覽器傳回登入結果的連接埠。


2420Image was too large. Double press esc to go back and try again with a smaller image.2467Image was too large. Double press esc to go back and try again with a smaller image.

2421API Error: 400 ... image dimensions exceed max allowed size2468API Error: 400 ... image dimensions exceed max allowed size

2422API Error: an image in the conversation could not be processed and was removed.2469API Error: an image in the conversation could not be processed and was removed.

2470An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.

2423```2471```

2424 2472 

2425`could not be processed and was removed` 這一行表示 API 拒絕了對話中的某張圖片,例如超過大小或尺寸上限的圖片。2473`could not be processed and was removed` 這一行表示 API 拒絕了對話中的某張圖片,例如超過大小或尺寸上限的圖片。


2434 2482 

2435* 在貼上之前調整影像大小。API 接受單個影像最長邊最多 8000 像素的影像,或當上下文中有超過 20 張影像時最多 3000 像素。2483* 在貼上之前調整影像大小。API 接受單個影像最長邊最多 8000 像素的影像,或當上下文中有超過 20 張影像時最多 3000 像素。

2436* 拍攝相關區域的更緊密螢幕截圖,而不是整個螢幕2484* 拍攝相關區域的更緊密螢幕截圖,而不是整個螢幕

2485* 對於 `dimension limit for many-image requests` 訊息,若訊息有提及,請在 Claude Code 提示字元中執行 `/compact`,或以較少圖片開始新的工作階段

2486 

2487`dimension limit for many-image requests` 訊息會顯示 API 錯誤中列出的像素上限。

2437 2488 

2438### Unable to resize image2489### Unable to resize image

2439 2490 


3223 3274 

3224* 將 `--settings` 指向小於 2 MiB 的一般 JSON 設定檔。格式請參閱[設定](https://code.claude.com/docs/zh-TW/settings.md)。3275* 將 `--settings` 指向小於 2 MiB 的一般 JSON 設定檔。格式請參閱[設定](https://code.claude.com/docs/zh-TW/settings.md)。

3225 3276 

3277### Configuration error in \~/.claude.json

3278 

3279Claude Code 無法解析 `~/.claude.json`,這是存放您帳戶詳細資料、MCP 伺服器與各專案狀態的檔案。您的檔案並未變更。`claude -p` 等[非互動](https://code.claude.com/docs/zh-TW/headless.md)啟動每次都會以退出碼 1 結束,直到您修復該檔案為止。

3280 

3281當 Claude Code 找到[備份](https://code.claude.com/docs/zh-TW/claude-directory.md#cleaned-up-automatically)時,輸出會指名該備份,並輸出一行將其複製回來的 `cp` 命令:

3282 

3283```text wrap theme={null}

3284Claude configuration file at /home/user/.claude.json is corrupted: <JSON parser's message>

3285The corrupted file has been backed up to: /home/user/.claude/backups/.claude.json.corrupted.1793664000000

3286A backup file exists at: /home/user/.claude/backups/.claude.json.backup.1793660400000

3287You can manually restore it by running: cp -f "/home/user/.claude/backups/.claude.json.backup.1793660400000" "/home/user/.claude.json"

3288 

3289Configuration error in /home/user/.claude.json: <JSON parser's message>

3290```

3291 

3292**處理方式:**

3293 

3294* **輸出中有 `cp` 行**:在終端機中執行該行。在 Windows 上,請在 PowerShell 中執行。它會以備份(`~/.claude.json` 的較早版本)取代損壞的檔案。

3295* **輸出中沒有 `cp` 行,或執行後錯誤再次出現**:修正 `~/.claude.json` 中的 JSON;如果 [`~/.claude/backups/`](https://code.claude.com/docs/zh-TW/claude-directory#cleaned-up-automatically) 中有其他 `.claude.json.backup.<timestamp>` 檔案,可將其複製覆蓋該檔案;或將該檔案重新命名。當 `~/.claude.json` 不存在時,Claude Code 會以預設設定啟動,且不含該檔案原本保存的任何內容。

3296 

3297在 v2.1.318 之前,非互動啟動輸出此錯誤後,`~/.claude.json` 中只會留下預設值,因此下次啟動時不會套用您的設定。

3298 

3299### Claude configuration file was empty and no backup holds anything

3300 

3301啟動時出現此訊息,表示其所指名的檔案是空白的,且該檔案的所有 [`.backup` 副本](https://code.claude.com/docs/zh-TW/claude-directory#cleaned-up-automatically)都沒有任何內容。Claude Code 已針對該檔案保存的內容使用預設值啟動。您的 `settings.json` 檔案與 `.mcp.json` 是獨立的檔案。

3302 

3303```text wrap theme={null}

3304Claude configuration file at /home/user/.claude.json was empty and no backup holds anything: starting with defaults.

3305```

3306 

3307**處理方式:**

3308 

3309* 重新設定您原本在該檔案中設定的內容。例如,從終端機使用 `claude mcp add` 新增您 `user` 與 `local` 範圍的 [MCP 伺服器](https://code.claude.com/docs/zh-TW/mcp.md#mcp-installation-scopes)。

3310* 如果 Claude Code 要求您重新登入,請重新登入

3311 

3312在 v2.1.318 之前,Claude Code 會將沒有備份的空白檔案回報為[已損壞](#configuration-error-in-claude-json)。

3313 

3226### 目前的目錄已不存在3314### 目前的目錄已不存在

3227 3315 

3228您從一個在 shell 進入後被刪除或移動的目錄啟動了 `claude`,例如被另一個 shell 移除的 worktree 或暫存目錄。Claude Code 無法讀取其工作目錄,因此在啟動工作階段之前就會以退出碼 1 結束,互動模式與[非互動](https://code.claude.com/docs/zh-TW/headless.md)模式皆然。在 v2.1.239 之前,Claude Code 會當機,並在 stderr 上輸出壓縮過的 bundle 原始碼與原始的 `ENOENT ... uv_cwd` 堆疊,而不是此訊息。3316您從一個在 shell 進入後被刪除或移動的目錄啟動了 `claude`,例如被另一個 shell 移除的 worktree 或暫存目錄。Claude Code 無法讀取其工作目錄,因此在啟動工作階段之前就會以退出碼 1 結束,互動模式與[非互動](https://code.claude.com/docs/zh-TW/headless.md)模式皆然。在 v2.1.239 之前,Claude Code 會當機,並在 stderr 上輸出壓縮過的 bundle 原始碼與原始的 `ENOENT ... uv_cwd` 堆疊,而不是此訊息。


3334* **`Error: Workspace not trusted. <folder> is your home directory`**:由於對家目錄的信任永遠不會被儲存,先在那裡執行 `claude` 並沒有幫助。請改從專案目錄執行 `claude ultrareview`(事先在那裡執行一次 `claude` 以接受信任對話框),或附加 `--trust-workspace`。3422* **`Error: Workspace not trusted. <folder> is your home directory`**:由於對家目錄的信任永遠不會被儲存,先在那裡執行 `claude` 並沒有幫助。請改從專案目錄執行 `claude ultrareview`(事先在那裡執行一次 `claude` 以接受信任對話框),或附加 `--trust-workspace`。

3335* **`No answer in time.` 後接 `Error: Workspace not trusted`**:`Trust <folder>? [y/N]` 問題在 5 分鐘內未獲回答。請再次執行 `claude ultrareview` 並回答它。3423* **`No answer in time.` 後接 `Error: Workspace not trusted`**:`Trust <folder>? [y/N]` 問題在 5 分鐘內未獲回答。請再次執行 `claude ultrareview` 並回答它。

3336* **`Ultrareview did not start: <folder> is not trusted`**:您在 `Trust <folder>? [y/N]` 問題中拒絕了,例如回答 `n` 或按下 Enter。若要啟動審查,請再次執行 `claude ultrareview` 並回答 `y`。3424* **`Ultrareview did not start: <folder> is not trusted`**:您在 `Trust <folder>? [y/N]` 問題中拒絕了,例如回答 `n` 或按下 Enter。若要啟動審查,請再次執行 `claude ultrareview` 並回答 `y`。

3337* **``Ultrareview did not start: `--trust-workspace` takes no value``**:`--trust-workspace` 後面接了非旗標的內容,例如 PR 編號或 `false`。如果您不信任該資料夾,請省略此旗標。若要在本次執行中信任它,請將 PR 編號或基底分支放在旗標之前:`claude ultrareview 1234 --trust-workspace`。3425* **``Ultrareview did not start: `--trust-workspace` takes no value``**:`--trust-workspace` 後面接了非旗標的內容,例如 PR 編號或 `false`。如果您不信任該資料夾,請省略此旗標。若要在此次執行中信任該資料夾,請將 PR 編號或基準分支放在旗標之前:`claude ultrareview 1234 --trust-workspace`。

3338 3426 

3339在 v2.1.309 之前,`claude ultrareview` 不接受 `--trust-workspace`。3427在 v2.1.309 之前,`claude ultrareview` 不接受 `--trust-workspace`。

3340 3428 


3626 3714 

3627以下同類字串會在命令執行之前就觸發:3715以下同類字串會在命令執行之前就觸發:

3628 3716 

3629* `Shell command permission check failed for pattern "..."`:該命令的權限檢查不允許它執行。[注入命令的權限檢查](https://code.claude.com/docs/zh-TW/skills.md#permission-checks-on-injected-commands)說明了在各權限模式下哪些結果會中止,以及如何使用 `allowed-tools` 預先核准命令3717* `Shell command permission check failed for pattern "..."`:命令的權限檢查不允許該命令。[注入命令的權限檢查](https://code.claude.com/docs/zh-TW/skills.md#permission-checks-on-injected-commands)說明了在各權限模式下哪些結果會中止,以及如何使用 `allowed-tools` 預先核准命令

3630* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:該 skill 的 frontmatter 要求 bash,但電腦上沒有 bash。請安裝 Git for Windows,或將 frontmatter 改為 `shell: powershell`。請參閱[注入命令的執行方式](https://code.claude.com/docs/zh-TW/skills.md#how-injected-commands-run)3718* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:skill 的 frontmatter 要求 bash,但機器上沒有 bash。請安裝 Git for Windows,或將 frontmatter 改為 `shell: powershell`。請參閱[注入命令的執行方式](https://code.claude.com/docs/zh-TW/skills.md#how-injected-commands-run)

3631 3719 

3632**處理方式:**3720**處理方式:**

3633 3721 


3780 3868 

3781* **您沒有傳入基底分支**:Claude Code 與儲存庫的預設分支進行比較,並建議您明確傳入基底分支,如上例所示3869* **您沒有傳入基底分支**:Claude Code 與儲存庫的預設分支進行比較,並建議您明確傳入基底分支,如上例所示

3782* **您傳入的基底分支已存在於您的複製中**:提示內容為 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3870* **您傳入的基底分支已存在於您的複製中**:提示內容為 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3783* **您傳入的基礎分支不在您的複製中**: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 無法判斷您的複製是否為淺層複製時,則會改為建議 `git fetch --unshallow origin`。在 v2.1.221 之前,提示會對每個擷取的基礎分支都建議 `git fetch --unshallow origin`,而在完整的複製上,該命令會失敗並顯示 `fatal: --unshallow on a complete repository does not make sense`。3871* **您傳入的基礎分支不在您的複製中**: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 無法判斷您的複製是否為淺層複製時,會改為建議 `git fetch --unshallow origin`。在 v2.1.221 之前,提示會對每個擷取的基礎分支建議 `git fetch --unshallow origin`,而在完整的複製上,該命令會以 `fatal: --unshallow on a complete repository does not make sense` 失敗。

3784 3872 

3785**處理方式:**3873**處理方式:**

3786 3874 


4666* **對於 Claude 撰寫的命令**:您無需修正任何內容。訊息會告知 Claude 如何改寫該命令。4754* **對於 Claude 撰寫的命令**:您無需修正任何內容。訊息會告知 Claude 如何改寫該命令。

4667* **對於 skill 或命令檔案**:訊息會接在 `No shell command in <name> was run` 之後。請參閱 [在何處找到該字元並將其移除](#no-shell-command-was-run)。4755* **對於 skill 或命令檔案**:訊息會接在 `No shell command in <name> was run` 之後。請參閱 [在何處找到該字元並將其移除](#no-shell-command-was-run)。

4668 4756 

4757### Command approved before Claude Code restarted was not run

4758 

4759您核准的 shell 命令未執行,Claude 會收到此訊息作為該命令的結果:

4760 

4761```text wrap theme={null}

4762This call was not run. The command was approved before Claude Code restarted, and Claude Code could not confirm that the shell is back in the directory where it was approved. That directory may be gone or replaced, lie outside the directory where the session started, or be one that Claude Code needs approval to enter or is not allowed to examine. The shell's directory is <directory>. If the command still makes sense, cd to the directory it was meant for and make the call again; it may need approval again.

4763```

4764 

4765訊息的第三句也可能改為 `It does not keep track of that directory across a restart in a session that has been in a worktree.`

4766 

4767**處理方式:**

4768 

4769* 讓 Claude 繼續進行,若系統要求您再次核准該命令,請回應該提示。

4770 

4669### File is too large to read as an image4771### File is too large to read as an image

4670 4772 

4671Claude 嘗試使用 [Read 工具](https://code.claude.com/docs/zh-TW/tools-reference.md#read-tool-behavior) 將檔案作為圖片讀取,而該檔案大於 128 MB,也就是 Read 從圖片檔案載入的上限。沒有讀取任何內容,Claude 會收到此錯誤作為工具結果:4773Claude 嘗試使用 [Read 工具](https://code.claude.com/docs/zh-TW/tools-reference.md#read-tool-behavior) 將檔案作為圖片讀取,而該檔案大於 128 MB,也就是 Read 從圖片檔案載入的上限。沒有讀取任何內容,Claude 會收到此錯誤作為工具結果:


5818 5920 

5819### Remote managed settings failed to load5921### Remote managed settings failed to load

5820 5922 

5821您的工作階段符合使用[伺服器管理設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)的資格,但 Claude Code 無法擷取這些設定,或無法套用伺服器回傳的內容,因此會在互動式工作階段中顯示此警告。5923您的工作階段符合使用[伺服器管理設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)的資格,但 Claude Code 無法擷取這些設定,或無法套用伺服器回傳的內容,因此會在互動式工作階段及 Claude Desktop 的 Code 分頁中顯示此警告。

5822 5924 

5823括號內的原因會指出失敗的項目,例如 `network error`、`request timed out` 或 `authentication rejected (401)`。原因 `no setting in the server response could be applied as written` 表示伺服器有回應,但其回傳的設定沒有任何一項通過[驗證](https://code.claude.com/docs/zh-TW/server-managed-settings.md#invalid-entries-in-delivered-settings)。在 v2.1.282 之前,此原因顯示為 `server returned invalid settings`。5925括號內的原因會指出失敗的項目,例如 `network error`、`request timed out` 或 `authentication rejected (401)`。原因 `no setting in the server response could be applied as written` 表示伺服器有回應,但其回傳的設定沒有任何一項通過[驗證](https://code.claude.com/docs/zh-TW/server-managed-settings.md#invalid-entries-in-delivered-settings)。在 v2.1.282 之前,此原因顯示為 `server returned invalid settings`。

5824 5926 


5827* **有先前成功擷取時快取的設定**:Claude Code 會以該快取政策執行工作階段([保留的環境變數](https://code.claude.com/docs/zh-TW/server-managed-settings.md#fetch-and-caching-behavior)除外),該行顯示 `using cached policy`。5929* **有先前成功擷取時快取的設定**:Claude Code 會以該快取政策執行工作階段([保留的環境變數](https://code.claude.com/docs/zh-TW/server-managed-settings.md#fetch-and-caching-behavior)除外),該行顯示 `using cached policy`。

5828* **沒有快取**:Claude Code 會在沒有伺服器管理設定的情況下執行工作階段,該行顯示 `no remote policy applied`。5930* **沒有快取**:Claude Code 會在沒有伺服器管理設定的情況下執行工作階段,該行顯示 `no remote policy applied`。

5829 5931 

5932在 Code 分頁中,當您傳送訊息時,警告會以對話中的一行出現,而當擷取的狀態改變時,會出現新的一行。三則相關訊息也會以相同方式出現:

5933 

5934* `Remote managed settings are still loading`:工作階段繼續進行時,擷取仍在執行中

5935* `Remote managed settings did not load`:擷取結束但沒有得到回應

5936* `Remote managed settings have now loaded`:設定在上述其中一則警告之後載入完成,該行其餘部分會說明是否套用了遠端政策

5937 

5830**處理方式:**5938**處理方式:**

5831 5939 

5832* 針對訊息所指的原因採取行動:若為網路原因,請確認此機器能連線到 `api.anthropic.com`;若為身分驗證原因,請以 `/status` 檢查您的登入狀態5940* 針對訊息所指的原因採取行動:若為網路原因,請確認此機器能連線到 `api.anthropic.com`;若為身分驗證原因,請以 `/status` 檢查您的登入狀態


5835 5943 

5836在 v2.1.248 之前,Claude Code 只會在除錯日誌中回報設定擷取失敗。5944在 v2.1.248 之前,Claude Code 只會在除錯日誌中回報設定擷取失敗。

5837 5945 

5946### Claude Code 無法載入您組織的設定

5947 

5948您的工作階段尚未啟動,因為您組織的設定(包括其[伺服器管理設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md))必須先載入,而 Claude Code 無法載入這些設定。例如:

5949 

5950```text theme={null}

5951Claude Code couldn't reach Anthropic to load your organization's settings (could not connect). <Organization name> requires them before a session can start.

5952```

5953 

5954若訊息出現在標題為 `Claude Code can't start this session yet` 的對話框中,設定一載入完成,對話框就會關閉,工作階段隨即啟動。

5955 

5956在[非互動模式](https://code.claude.com/docs/zh-TW/headless.md)和[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md)中,Claude Code 則會印出訊息並以狀態 1 結束。

5957 

5958**處理方式:**

5959 

5960* **`could not connect`,或 `the reply came from a network proxy, not Anthropic`**:請檢查您的網路連線;若在企業網路中,請請 IT 允許對 `api.anthropic.com/api/claude_code/policy_limits` 和 `api.anthropic.com/api/claude_code/settings` 的 HTTPS 連線。然後選取 **Retry now**,或再次執行您的命令。

5961* **`timed out`、`Anthropic returned an error` 或 `Anthropic asked it to retry shortly`**:讓對話框重試,或稍後再次執行您的命令。若持續發生,請查看 [status.anthropic.com](https://status.anthropic.com)。

5962* **`still loading`,或 `couldn't verify your sign-in with Anthropic yet`**:讓對話框重試,或再次執行您的命令。若登入訊息持續出現,請在您的 shell 中執行 `claude auth login` 重新登入。

5963* **`Your Claude session has expired`**:此機器上儲存的登入已不再有效,因此重試無濟於事。請在對話框中選取 **Sign in again** 以關閉 Claude Code;接著在您的 shell 中執行 `claude auth login`,即使在工作階段無法啟動時,此命令仍可運作。

5964* **`none of the settings the server returned could be applied as written`**:請請您的管理員修正組織的[伺服器管理設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md#invalid-entries-in-delivered-settings),然後重試。

5965 

5838### Managed settings were not approved5966### Managed settings were not approved

5839 5967 

5840您組織的[伺服器管理設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)包含需要您核准的設定,而您拒絕了[安全性核准對話框](https://code.claude.com/docs/zh-TW/server-managed-settings.md#security-approval-dialogs),因此 Claude Code 會在不套用這些設定的情況下結束:5968您組織的[伺服器管理設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)包含需要您核准的設定,而您拒絕了[安全性核准對話框](https://code.claude.com/docs/zh-TW/server-managed-settings.md#security-approval-dialogs),因此 Claude Code 會在不套用這些設定的情況下結束:


6294 6422 

6295在 v2.1.257 之前,`claude doctor` 不會標示這些檔案;較早的版本在工作階段被終止時也會留下相同的佔位檔案。6423在 v2.1.257 之前,`claude doctor` 不會標示這些檔案;較早的版本在工作階段被終止時也會留下相同的佔位檔案。

6296 6424 

6425### Make this change again later: \~/.claude.json could not be updated

6426 

6427stderr 上的此通知表示對 [`~/.claude.json`](https://code.claude.com/docs/zh-TW/claude-directory#ce-claude-json) 的變更(例如登入或對信任提示的回答)未儲存到該檔案:

6428 

6429```text theme={null}

6430Make this change again later: /home/user/.claude.json could not be updated, so it applies to this session only.

6431```

6432 

6433**處理方式:**

6434 

6435* 在之後的工作階段中再次進行此變更。例如,再次執行 `/login`,或再次回答信任提示。

6436 

6297## 回應品質似乎低於預期6437## 回應品質似乎低於預期

6298 6438 

6299如果 Claude 的回答似乎不如您預期的那樣有能力,但沒有顯示錯誤,原因通常是對話狀態而非模型本身。Claude Code 不會無聲地更改模型版本。它只能在這些情況下切換到備用模型:6439如果 Claude 的回答似乎不如您預期的那樣有能力,但沒有顯示錯誤,原因通常是對話狀態而非模型本身。Claude Code 不會無聲地更改模型版本。它只能在這些情況下切換到備用模型:

headless.md +3 −1

Details

48 48 

49在 bare 模式下,Claude Code 永遠不會讀取 OAuth 憑證或系統鑰匙圈。對於 Anthropic API,在環境中設定 `ANTHROPIC_API_KEY`,使用在 [Claude Console](https://platform.claude.com) 中建立的金鑰,或在 `--settings` JSON 中提供 `apiKeyHelper`。Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 繼續照常讀取各自的提供者憑證。49在 bare 模式下,Claude Code 永遠不會讀取 OAuth 憑證或系統鑰匙圈。對於 Anthropic API,在環境中設定 `ANTHROPIC_API_KEY`,使用在 [Claude Console](https://platform.claude.com) 中建立的金鑰,或在 `--settings` JSON 中提供 `apiKeyHelper`。Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 繼續照常讀取各自的提供者憑證。

50 50 

51在 bare 模式下,Claude 可以存取 Bash、檔案讀取和檔案編輯工具。使用旗標傳遞您需要的任何 context:51在 bare 模式下,Claude 可以存取 Bash、檔案讀取和檔案編輯工具。使用旗標傳遞您需要的 context:

52 52 

53| 要載入 | 使用 |53| 要載入 | 使用 |

54| - | - |54| - | - |


58| [自訂 agent](https://code.claude.com/docs/zh-TW/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |58| [自訂 agent](https://code.claude.com/docs/zh-TW/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |

59| 一個外掛 | `--plugin-dir <path>`、`--plugin-url <url>` |59| 一個外掛 | `--plugin-dir <path>`、`--plugin-url <url>` |

60 60 

61當您透過 `--settings` 傳遞 hook,或將 hook 放在以旗標載入之外掛的 [`hooks/hooks.json`](https://code.claude.com/docs/zh-TW/plugins/components#hooks) 或 [`hooks` manifest 鍵](https://code.claude.com/docs/zh-TW/plugins/manifest-reference#hooks) 中時,hook 在 bare 模式下仍然不會執行。需要這些 hook 的執行請勿使用 bare 模式。

62 

61bare 模式也會限制工作階段執行期間發生的事情:63bare 模式也會限制工作階段執行期間發生的事情:

62 64 

63* **MCP 伺服器**:只有在命令列上提供的伺服器會連接,例如使用 `--mcp-config`。在互動工作階段中,除非您傳遞 `--ide`,否則 Claude Code 也會跳過自動 IDE 連接。65* **MCP 伺服器**:只有在命令列上提供的伺服器會連接,例如使用 `--mcp-config`。在互動工作階段中,除非您傳遞 `--ide`,否則 Claude Code 也會跳過自動 IDE 連接。

Details

96遷移合併後永遠不要編輯它。改為添加新的遷移。96遷移合併後永遠不要編輯它。改為添加新的遷移。

97```97```

98 98 

99當您從 `packages/api/` 啟動 Claude 時,它會載入 `packages/api/CLAUDE.md` 和根 `CLAUDE.md`。Claude 看到本地指令以及儲存庫範圍的規則,上下文中沒有來自 `packages/web/` 的指令。非 monorepo 樹中的任何子目錄也是如此。若要確認載入了哪些檔案,請執行 `/context` 並檢查 **Memory files** 下的清單。99當您從 `packages/api/` 啟動 Claude 時,它會載入 `packages/api/CLAUDE.md` 和根 `CLAUDE.md`。Claude 看到本地指令以及儲存庫範圍的規則,上下文中沒有來自 `packages/web/` 的指令。非 monorepo 樹中的任何子目錄也是如此。若要確認載入了哪些檔案,請執行 [`/context all`](https://code.claude.com/docs/zh-TW/commands#all-commands) 並檢查 **Memory files** 下的清單。

100 100 

101保持檔案在程式碼庫和模型變化時最新的幾種方法:101保持檔案在程式碼庫和模型變化時最新的幾種方法:

102 102 

memory.md +6 −4

Details

67 67 

68### 設定專案 CLAUDE.md68### 設定專案 CLAUDE.md

69 69 

70專案 CLAUDE.md 可以儲存在 `./CLAUDE.md` 或 `./.claude/CLAUDE.md` 中。建立此檔案並新增適用於在專案上工作的任何人的指令:建置和測試命令、編碼標準、架構決策、命名慣例和常見工作流程。這些指令透過版本控制與您的團隊共享,因此請專注於專案級標準而不是個人偏好設定。若要確認檔案已載入,請在工作階段中執行 `/context` 並檢查 **Memory files** 下的清單。70專案 CLAUDE.md 可以儲存在 `./CLAUDE.md` 或 `./.claude/CLAUDE.md` 中。建立此檔案並新增適用於在專案上工作的任何人的指令:建置和測試命令、編碼標準、架構決策、命名慣例和常見工作流程。這些指令透過版本控制與您的團隊共享,因此請專注於專案級標準而不是個人偏好設定。

71 

72若要確認檔案已載入,請在工作階段中執行 [`/context all`](https://code.claude.com/docs/zh-TW/commands#all-commands) 並檢查 **Memory files** 下的清單。在[全螢幕模式](https://code.claude.com/docs/zh-TW/fullscreen.md)中,單獨使用 `/context` 會收合該清單。

71 73 

72> [!TIP]74> [!TIP]

73>75>


461* **編輯**:Claude 通過連結讀取 `CLAUDE.md`,但 Edit 和 Write 工具[拒絕通過符號連結寫入](https://code.claude.com/docs/zh-TW/errors.md#refusing-after-a-symlink-changed),拒絕會指示 Claude 改為編輯連結的目標 `AGENTS.md`463* **編輯**:Claude 通過連結讀取 `CLAUDE.md`,但 Edit 和 Write 工具[拒絕通過符號連結寫入](https://code.claude.com/docs/zh-TW/errors.md#refusing-after-a-symlink-changed),拒絕會指示 Claude 改為編輯連結的目標 `AGENTS.md`

462* **Windows**:如果您或任何複製儲存庫的人在 Windows 上工作,請改用 `@AGENTS.md` 匯入。在那裡建立符號連結需要系統管理員權限或開發人員模式,Git 會將已提交的符號連結簽出為純文字檔案,除非啟用 `core.symlinks`,這會使該複製具有一行 `CLAUDE.md` 代替您的指示464* **Windows**:如果您或任何複製儲存庫的人在 Windows 上工作,請改用 `@AGENTS.md` 匯入。在那裡建立符號連結需要系統管理員權限或開發人員模式,Git 會將已提交的符號連結簽出為純文字檔案,除非啟用 `core.symlinks`,這會使該複製具有一行 `CLAUDE.md` 代替您的指示

463 465 

464使用任一方法,在您的下一個工作階段中執行 `/context`,並確認 `CLAUDE.md` 出現在**記憶檔案**下。466使用任一方法,在您的下一個工作階段中執行 `/context all`,並確認 `CLAUDE.md` 出現在**記憶檔案**下。

465 467 

466### 從其他工具遷移指示468### 從其他工具遷移指示

467 469 


567 569 

568## 使用 `/memory` 檢視和編輯570## 使用 `/memory` 檢視和編輯

569 571 

570`/memory` 命令列出您的 CLAUDE.md、CLAUDE.local.md 和其他記憶檔案在使用者和專案範圍內的位置,包括尚不存在的檔案的使用者和專案 CLAUDE.md 項目。它也讓您切換自動記憶開啟或關閉,並提供開啟自動記憶資料夾的選項。選擇任何檔案以在您的編輯器中開啟它;選擇尚不存在的檔案會先建立它。若要檢查啟動時載入了哪些 `CLAUDE.md` 和規則檔案,請執行 `/context`。572`/memory` 命令列出您的 CLAUDE.md、CLAUDE.local.md 和其他記憶檔案在使用者和專案範圍內的位置。清單中包括尚不存在的檔案的使用者和專案 CLAUDE.md 項目。此命令也讓您切換自動記憶開啟或關閉,並提供開啟自動記憶資料夾的選項。選擇任何檔案以在您的編輯器中開啟它;選擇尚不存在的檔案會先建立它。

571 573 

572VS Code 等 GUI 編輯器會在單獨的視窗中開啟檔案,您可以在檔案開啟時繼續使用工作階段。Vim 等終端機編輯器會接管終端機,直到您退出。574VS Code 等 GUI 編輯器會在單獨的視窗中開啟檔案,您可以在檔案開啟時繼續使用工作階段。Vim 等終端機編輯器會接管終端機,直到您退出。

573 575 


583 585 

584要除錯:586要除錯:

585 587 

586* 執行 `/context` 並檢查 **Memory files** 下的清單,以驗證應在啟動時載入的 CLAUDE.md 和 CLAUDE.local.md 檔案。如果其中某個檔案未列在那裡,Claude 就看不到它。使用 `/memory` 開啟和編輯檔案。588* 執行 `/context all` 並檢查 **Memory files** 下的清單,以驗證應在啟動時載入的 CLAUDE.md 和 CLAUDE.local.md 檔案。如果其中某個檔案未列在那裡,Claude 就看不到它。使用 `/memory` 開啟和編輯檔案。

587* 如果出現 `Instruction file not loaded` 通知,請參閱[其含義以及處理方式](https://code.claude.com/docs/zh-TW/errors.md#instruction-file-not-loaded)。589* 如果出現 `Instruction file not loaded` 通知,請參閱[其含義以及處理方式](https://code.claude.com/docs/zh-TW/errors.md#instruction-file-not-loaded)。

588* 工作目錄之子目錄中的 `CLAUDE.md` 不會出現在 **Memory files** 下,因為它是按需載入,而不是在啟動時載入。當它載入時,終端機中會出現一行包含其路徑的 `Loaded`。若要測試新的檔案,請從 shell 建立它,而不是要求 Claude 撰寫,然後要求 Claude 讀取該子目錄中的檔案。590* 工作目錄之子目錄中的 `CLAUDE.md` 不會出現在 **Memory files** 下,因為它是按需載入,而不是在啟動時載入。當它載入時,終端機中會出現一行包含其路徑的 `Loaded`。若要測試新的檔案,請從 shell 建立它,而不是要求 Claude 撰寫,然後要求 Claude 讀取該子目錄中的檔案。

589* 檢查相關的 CLAUDE.md 是否位於為您的工作階段載入的位置(請參閱 [選擇 CLAUDE.md 檔案的位置](#choose-where-to-put-claude-md-files))。591* 檢查相關的 CLAUDE.md 是否位於為您的工作階段載入的位置(請參閱 [選擇 CLAUDE.md 檔案的位置](#choose-where-to-put-claude-md-files))。

Details

245>245>

246> **作為預設值**:在[設定](https://code.claude.com/docs/zh-TW/settings.md#where-settings-live)中設定 `defaultMode`。桌面應用程式讀取與 CLI 相同的設定檔,並將權限模式套用到新的本機工作階段。246> **作為預設值**:在[設定](https://code.claude.com/docs/zh-TW/settings.md#where-settings-live)中設定 `defaultMode`。桌面應用程式讀取與 CLI 相同的設定檔,並將權限模式套用到新的本機工作階段。

247>247>

248> 您在模式選擇器中選擇的模式會按資料夾記住,並優先於該資料夾的 `defaultMode`。Plan 是例外:選擇它僅適用於目前工作階段。248> 您在本機工作階段的模式選擇器中選擇的模式會按資料夾記住,並優先於專案 `.claude/` 設定中的 `defaultMode`。新的本機工作階段仍可能以來自 `~/.claude/settings.json` 或受管設定的 `defaultMode` 啟動,因此請在傳送第一則訊息之前檢查選擇器。如果您選擇 Plan,它僅適用於此工作階段。

249>249>

250> 如需 `defaultMode` 在設定檔中的位置,請參閱[以不同的權限模式啟動](#start-in-a-different-mode)下的範例。250> 如需 `defaultMode` 在設定檔中的位置,請參閱[以不同的權限模式啟動](#start-in-a-different-mode)下的範例。

251 251 


372 372 

373* **直接連接到 Anthropic API**:在互動式終端機工作階段,以及 `-p`、Agent SDK、[VS Code 擴充功能](https://code.claude.com/docs/zh-TW/vs-code.md)和[桌面應用程式](https://code.claude.com/docs/zh-TW/desktop.md)工作階段中,無論您的計畫或帳戶類型為何,隨 Anthropic 逐步推出。請對照以下最低 Claude Code 版本檢查您的工作階段類型:373* **直接連接到 Anthropic API**:在互動式終端機工作階段,以及 `-p`、Agent SDK、[VS Code 擴充功能](https://code.claude.com/docs/zh-TW/vs-code.md)和[桌面應用程式](https://code.claude.com/docs/zh-TW/desktop.md)工作階段中,無論您的計畫或帳戶類型為何,隨 Anthropic 逐步推出。請對照以下最低 Claude Code 版本檢查您的工作階段類型:

374 * 在互動式終端機工作階段中,在 Pro、Max、Ultra 和 Team 計畫上詢問伺服器需要 Claude Code v2.1.271 或更新版本。在 Enterprise 計畫和 Claude API 帳戶上,這些工作階段需要 v2.1.278 或更新版本。374 * 在互動式終端機工作階段中,在 Pro、Max、Ultra 和 Team 計畫上詢問伺服器需要 Claude Code v2.1.271 或更新版本。在 Enterprise 計畫和 Claude API 帳戶上,這些工作階段需要 v2.1.278 或更新版本。

375 * 在 `-p`、Agent SDK、VS Code 擴充功能和桌面應用程式工作階段中,詢問伺服器需要 Claude Code v2.1.281 或更新版本375 * 在 `-p` 和 VS Code 擴充功能工作階段中,詢問伺服器需要 Claude Code v2.1.278 或更新版本

376 * 在 Agent SDK 和桌面應用程式工作階段中,詢問伺服器需要 Claude Code v2.1.281 或更新版本

376 * 從 v2.1.282 開始,[不擷取功能旗標](https://code.claude.com/docs/zh-TW/env-vars.md#features-that-need-feature-flag-fetching)的工作階段(例如因為您關閉了遙測),在任何類型的工作階段中都會預設詢問伺服器377 * 從 v2.1.282 開始,[不擷取功能旗標](https://code.claude.com/docs/zh-TW/env-vars.md#features-that-need-feature-flag-fetching)的工作階段(例如因為您關閉了遙測),在任何類型的工作階段中都會預設詢問伺服器

377* **雲端提供商,或 LLM 閘道或代理伺服器**:在 [AWS 上的 Claude Platform](https://code.claude.com/docs/zh-TW/claude-platform-on-aws.md)、Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,以及每當您將 `ANTHROPIC_BASE_URL` 指向 [LLM 閘道或代理伺服器](https://code.claude.com/docs/zh-TW/llm-gateway)時,無論您的計畫為何。預設詢問需要 Claude Code v2.1.278 或更新版本。378* **雲端提供商,或 LLM 閘道或代理伺服器**:在 [AWS 上的 Claude Platform](https://code.claude.com/docs/zh-TW/claude-platform-on-aws.md)、Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,以及每當您將 `ANTHROPIC_BASE_URL` 指向 [LLM 閘道或代理伺服器](https://code.claude.com/docs/zh-TW/llm-gateway)時,無論您的計畫為何。預設詢問需要 Claude Code v2.1.278 或更新版本。

378* **已登入的 [Claude 應用程式閘道](https://code.claude.com/docs/zh-TW/claude-apps-gateway)工作階段**:需要 Claude Code v2.1.280 或更新版本379* **已登入的 [Claude 應用程式閘道](https://code.claude.com/docs/zh-TW/claude-apps-gateway)工作階段**:需要 Claude Code v2.1.280 或更新版本

permissions.md +1 −1

Details

69 69 

70## 權限模式70## 權限模式

71 71 

72Claude Code 支援多種權限模式來控制工具呼叫的批准方式。請參閱 [Permission modes](https://code.claude.com/docs/zh-TW/permission-modes.md) 以了解何時使用每一種。若要變更工作階段啟動時的模式,請在您的 [settings files](https://code.claude.com/docs/zh-TW/settings.md#where-settings-live) 中設定 `defaultMode`。[Which mode a session starts in](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in) 涵蓋每個計畫的內建預設值以及 VS Code 擴充功能讀取的內容。72Claude Code 支援多種權限模式來控制工具呼叫的核准方式。請參閱 [Permission modes](https://code.claude.com/docs/zh-TW/permission-modes.md) 以了解何時使用每一種。若要變更新工作階段的預設權限模式,請在您的 [settings files](https://code.claude.com/docs/zh-TW/settings.md#where-settings-live) 中設定 `defaultMode`。[Which mode a session starts in](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in) 涵蓋每個計畫的內建預設值以及 VS Code 擴充功能讀取的內容。

73 73 

74| 模式 | 描述 |74| 模式 | 描述 |

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

Details

571| :- | :- | :- |571| :- | :- | :- |

572| Hook 命令 | 在 `command` 和 `args` 中的任何位置 | `CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA`、`CLAUDE_PROJECT_DIR` 和 `CLAUDE_PLUGIN_OPTION_<KEY>` |572| Hook 命令 | 在 `command` 和 `args` 中的任何位置 | `CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA`、`CLAUDE_PROJECT_DIR` 和 `CLAUDE_PLUGIN_OPTION_<KEY>` |

573| Monitor 命令 | 在 `command` 中的任何位置 | 未匯出 |573| Monitor 命令 | 在 `command` 中的任何位置 | 未匯出 |

574| MCP `stdio` 伺服器 | `command`、`args`、`env` | `CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA` |574| MCP `stdio` 伺服器 | `command`、`args`、`env` | `CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA`、`CLAUDE_PROJECT_DIR` |

575| MCP `http`、`sse`、`ws` 伺服器 | `url`、`headers`、`headersHelper` | 不適用 |575| MCP `http`、`sse`、`ws` 伺服器 | `url`、`headers`、`headersHelper` | 不適用 |

576| LSP 伺服器 | `command`、`args`、`env`、`workspaceFolder` | `CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA`、`CLAUDE_PROJECT_DIR` |576| LSP 伺服器 | `command`、`args`、`env`、`workspaceFolder` | `CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA`、`CLAUDE_PROJECT_DIR` |

577| Skill、command 和 agent 內容 | Markdown 主體中的任何位置 | 不適用 |577| Skill、command 和 agent 內容 | Markdown 主體中的任何位置 | 不適用 |

Details

154| 事件 | 觸發時機 | hook 可回傳 |154| 事件 | 觸發時機 | hook 可回傳 |

155| :- | :- | :- |155| :- | :- | :- |

156| `agent.offer` | subagent 類型提供給 Claude 時 | 以 `{ isOffered: false }` 保留不提供 |156| `agent.offer` | subagent 類型提供給 Claude 時 | 以 `{ isOffered: false }` 保留不提供 |

157| `agent.spawn` | subagent 或 [agent team](https://code.claude.com/docs/zh-TW/agent-teams.md) 隊員即將啟動時。對於隊員,`e.isTeammate` 為 `true`。 | 以 `next({ ...e, model })` 選擇其模型,或 `{ deny: reason }` |157| `agent.spawn` | subagent 或 [agent team](https://code.claude.com/docs/zh-TW/agent-teams.md) 隊員即將啟動,或已完成或已停止的 subagent 即將再次執行時。對於隊員,`e.isTeammate` 為 `true`。對於恢復的執行,會設定 `e.resume`。 | 以 `next({ ...e, model })` 選擇正在啟動者的模型,或 `{ deny: reason }` |

158 158 

159當 Claude 使用 [`SendMessage`](https://code.claude.com/docs/zh-TW/sub-agents#resume-subagents) 工具恢復 subagent 時,您的 `agent.spawn` hook 不會再次執行。若要拒絕恢復 subagent 的 `SendMessage` 呼叫,請在 [`tool.call`](https://code.claude.com/docs/zh-TW/plugins/mods/events#guard-or-change-a-tool-call) hook 中比對該工具。159當已完成或已停止的 subagent 即將再次執行時,例如 Claude 使用 [`SendMessage`](https://code.claude.com/docs/zh-TW/sub-agents#resume-subagents) 工具傳送訊息給它時,您的 `agent.spawn` hook 也會執行。在該事件上,`e.resume` 為 `{ agentId }`。若您的 hook 會計算 subagent 數量,請略過設定了 `e.resume` 的事件,以免恢復的 subagent 被重複計算。

160 

161回傳 `{ deny: reason }` 即可拒絕恢復的執行。該執行不會開始,subagent 會維持原狀。當該執行是由 `SendMessage` 呼叫所要求時,Claude 會讀取 `a plugin declined the resume:` 後接您的原因,作為該呼叫的結果。若您針對恢復的執行將變更後的事件傳遞給 `next`,例如不同的 `model`,Claude Code 會忽略該變更。

162 

163> [!NOTE]

164>

165> 恢復執行的事件需要 Claude Code v2.1.299 或更新版本。在 v2.1.299 之前,subagent 恢復時您的 `agent.spawn` hook 不會執行。在這些版本上,若要拒絕恢復 subagent 的 `SendMessage` 呼叫,請在 [`tool.call`](https://code.claude.com/docs/zh-TW/plugins/mods/events#guard-or-change-a-tool-call) hook 中比對該工具。

160 166 

161### 介面167### 介面

162 168 

Details

502* 網路或代理伺服器問題:防火牆或代理伺服器可能阻止了出站 HTTPS 請求。Remote Control 需要存取埠 443 上的 Anthropic API。502* 網路或代理伺服器問題:防火牆或代理伺服器可能阻止了出站 HTTPS 請求。Remote Control 需要存取埠 443 上的 Anthropic API。

503* 工作階段建立失敗:如果您也看到 `Session creation failed — see debug log`,失敗發生在設定的較早階段。檢查您的訂閱是否有效。503* 工作階段建立失敗:如果您也看到 `Session creation failed — see debug log`,失敗發生在設定的較早階段。檢查您的訂閱是否有效。

504 504 

505### "working folder not found"

506 

507在執行 [`claude remote-control`](#start-a-remote-control-session) 的終端機中,`Session failed: working folder not found:` 後面跟著加上引號的路徑,表示該路徑上不存在任何資料夾,因此工作階段無法啟動。

508 

509* **伺服器仍在執行**:還原該資料夾並再次啟動工作階段,或停止伺服器

510* **伺服器已結束**:從存在的資料夾再次執行 `claude remote-control`

511 

512在 v2.1.318 之前,以此方式失敗的工作階段會顯示 `Session failed: spawn error:`,以及一則指出程式檔案而非遺失資料夾的 `ENOENT` 訊息。

513 

514### "The program file this Remote Control started from is gone"

515 

516執行 [`claude remote-control`](#start-a-remote-control-session) 的終端機中出現此警告,表示伺服器啟動時所使用的程式檔案已遺失,而新的工作階段會執行取代它的較新版本。若要讓伺服器也改用該版本,請停止它並再次執行 `claude remote-control`。如果 Claude Code 安裝在網路儲存空間上,請立即重新啟動伺服器,並依照[在網路儲存空間上安裝](https://code.claude.com/docs/zh-TW/setup.md#install-on-network-storage)操作。否則,新的工作階段無需重新啟動即可啟動。

517 

518當程式檔案已遺失,且 Claude Code 找不到可執行的較新版本時,新的工作階段會失敗。終端機會顯示錯誤,例如 `Session failed: spawn error:` 後面跟著 `ENOENT` 訊息。請停止伺服器,如果 `claude` 無法在您的 shell 中執行,請再次[安裝 Claude Code](https://code.claude.com/docs/zh-TW/setup.md#install-claude-code),然後再次執行 `claude remote-control`。在 v2.1.318 之前,即使已安裝較新版本,新的工作階段也會以此方式失敗。

519 

505### "Couldn't reconnect to your Remote Control session"520### "Couldn't reconnect to your Remote Control session"

506 521 

507當您使用 `claude --resume` 或 `claude --continue` 繼續對話時,Claude Code 會重新連線到該對話中記錄的 Remote Control 工作階段。此訊息表示重新連線因可能是暫時的原因(例如網路中斷或伺服器錯誤)而失敗,因此 Claude Code 無法確認遠端工作階段是否仍然存在。522當您使用 `claude --resume` 或 `claude --continue` 繼續對話時,Claude Code 會重新連線到該對話中記錄的 Remote Control 工作階段。此訊息表示重新連線因可能是暫時的原因(例如網路中斷或伺服器錯誤)而失敗,因此 Claude Code 無法確認遠端工作階段是否仍然存在。

sandboxing.md +59 −27

Details

71* **Overrides**:選擇在沙箱中失敗的命令是否可以退回以非沙箱方式執行。這就是 [`allowUnsandboxedCommands`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-allowunsandboxedcommands) 設定71* **Overrides**:選擇在沙箱中失敗的命令是否可以退回以非沙箱方式執行。這就是 [`allowUnsandboxedCommands`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-allowunsandboxedcommands) 設定

72* **Config**:檢視解析後的沙箱設定72* **Config**:檢視解析後的沙箱設定

73 73 

74如果面板只顯示 Dependencies 分頁,表示缺少必要的套件。請依照[設定 Linux 和 WSL2](#set-up-linux-and-wsl2) 中的說明安裝,重新啟動 Claude Code,然後再次執行 `/sandbox`。74如果面板只顯示 Dependencies 分頁,表示沙箱目前還無法啟動。請依照[設定 Linux 和 WSL2](#set-up-linux-and-wsl2) 中的說明修正該分頁回報的問題,重新啟動 Claude Code,然後再次執行 `/sandbox`。

75 75 

76**2. 選擇模式**76**2. 選擇模式**

77 77 


97 97 

98> [!WARNING]98> [!WARNING]

99>99>

100> 預設情況下,如果沙箱因缺少相依套件或平台不受支援而無法啟動,Claude Code 會在沒有沙箱機制的情況下執行命令。若要讓 Claude Code 改為在啟動時結束,請將 [`sandbox.failIfUnavailable`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-failifunavailable) 設為 `true`。需要將沙箱機制作為安全關卡的受管部署可以使用此設定。100> 預設情況下,當平台不支援沙箱或啟動時的相依性檢查失敗時,Claude Code 會在沒有沙箱機制的情況下執行命令。若要讓 Claude Code 改為在啟動時結束,請將 [`sandbox.failIfUnavailable`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-failifunavailable) 設為 `true`。需要將沙箱機制作為安全關卡的受管部署可以使用此設定。

101 101 

102### 確認命令在沙箱內執行102### 確認命令在沙箱內執行

103 103 


135 135 

136Ripgrep 隨附於原生 Claude Code 二進位檔中。seccomp 篩選器為選用項目,可增加 Unix domain socket 封鎖功能。如果缺少,請使用 `npm install -g @anthropic-ai/sandbox-runtime` 安裝。136Ripgrep 隨附於原生 Claude Code 二進位檔中。seccomp 篩選器為選用項目,可增加 Unix domain socket 封鎖功能。如果缺少,請使用 `npm install -g @anthropic-ai/sandbox-runtime` 安裝。

137 137 

138當缺少必要的相依套件時,在您安裝之前,Dependencies 分頁會是唯一顯示的分頁。當只缺少選用的 seccomp 篩選器時,Dependencies 分頁會與其他分頁一起顯示。相依性檢查會在啟動時執行,因此安裝套件後請重新啟動 Claude Code,讓 `/sandbox` 偵測到它們。138* **Dependencies 是唯一的分頁**:沙箱無法啟動。請安裝該分頁列為缺少的項目;如果它回報 Ubuntu 的 AppArmor 限制,請[為 bubblewrap 新增 AppArmor 設定檔](#add-an-apparmor-profile-for-bubblewrap)

139* **Dependencies 與其他分頁一起顯示**:該分頁列出了缺少的選用項目,例如 seccomp 篩選器。沙箱在沒有它的情況下仍可啟動,因此只有在您需要它所增加的功能時才需安裝

139 140 

140> [accordion] Ubuntu 24.04 及更新版本:允許 bubblewrap 建立使用者命名空間141相依性檢查會在啟動時執行,因此安裝套件後請重新啟動 Claude Code,讓 `/sandbox` 偵測到它們。

141>

142> 在 Ubuntu 24.04 及更新版本上,預設的 AppArmor 原則會阻止 bubblewrap 建立其進行隔離所需的使用者命名空間。

143>

144> 若要檢查您的環境(包括 WSL2 內部)是否強制執行此限制,請執行 `sysctl kernel.apparmor_restrict_unprivileged_userns`。如果命令傳回 `0`,請略過此步驟。如果它顯示 `No such file or directory` 錯誤,表示該鍵不存在,您可以略過此步驟。如果它傳回 `1`,請新增一個授予 `bwrap` 此能力的 AppArmor 設定檔:

145>

146> ```bash theme={null}

147> sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

148> abi <abi/4.0>,

149> include <tunables/global>

150>

151> profile bwrap /usr/bin/bwrap flags=(unconfined) {

152> userns,

153> include if exists <local/bwrap>

154> }

155> EOF

156> ```

157>

158> 此設定檔僅套用於 `bwrap` 本身,而不套用於它在沙箱內執行的命令。重新載入 AppArmor 以套用它:

159>

160> ```bash theme={null}

161> sudo systemctl reload apparmor

162> ```

163 142 

164> [accordion] WSL2 注意事項143> [accordion] WSL2 注意事項

165>144>


167>146>

168> 在 WSL2 上,WSL 會透過 Unix socket 將 Windows 二進位檔(例如 `cmd.exe`、`powershell.exe` 或 `/mnt/c/` 下的任何程式)的啟動交給 Windows 主機處理,因此沙箱化命令能否啟動這類程式取決於沙箱的 [Unix socket 設定](https://code.claude.com/docs/zh-TW/settings-reference.md#sandbox-network-allowunixsockets):必須先安裝選用的 seccomp 篩選器,才能封鎖該 socket。若要允許這些啟動,請設定 `allowAllUnixSockets`,這會向沙箱化命令開放所有 Unix socket。147> 在 WSL2 上,WSL 會透過 Unix socket 將 Windows 二進位檔(例如 `cmd.exe`、`powershell.exe` 或 `/mnt/c/` 下的任何程式)的啟動交給 Windows 主機處理,因此沙箱化命令能否啟動這類程式取決於沙箱的 [Unix socket 設定](https://code.claude.com/docs/zh-TW/settings-reference.md#sandbox-network-allowunixsockets):必須先安裝選用的 seccomp 篩選器,才能封鎖該 socket。若要允許這些啟動,請設定 `allowAllUnixSockets`,這會向沙箱化命令開放所有 Unix socket。

169 148 

149#### 為 bubblewrap 新增 AppArmor 設定檔

150 

151如果 Claude Code 執行的是 `/usr/bin/bwrap`,且發生下列任一情況,請新增此設定檔:

152 

153* Claude Code [回報 Ubuntu 對使用者命名空間的 AppArmor 限制](#apparmor-restriction-stops-bubblewrap)

154* 在[該限制開啟](#bwrap-uid-map-permission-denied)期間,沙箱化命令因 `bwrap: setting up uid map: Permission denied` 或 `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` 而失敗

155 

156Claude Code 會執行 `PATH` 上的第一個 `bwrap`,除非受管設定在 [`sandbox.bwrapPath`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-bwrappath) 中指定了一個。若要查看哪個 `bwrap` 排在第一,請在您啟動 Claude Code 的 shell 中執行 `which bwrap`。如果 Claude Code 執行的是 `/usr/bin/bwrap` 以外的任何路徑,請改為[使用 `sysctl` 解除該限制](#apparmor-restriction-stops-bubblewrap)。

157 

158若要為 `/usr/bin/bwrap` 新增設定檔,請執行下列命令:

159 

160```bash theme={null}

161sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

162abi <abi/4.0>,

163include <tunables/global>

164 

165profile bwrap /usr/bin/bwrap flags=(unconfined) {

166 userns,

167 include if exists <local/bwrap>

168}

169EOF

170```

171 

172重新載入 AppArmor 以套用它:

173 

174```bash theme={null}

175sudo systemctl reload apparmor

176```

177 

178接著重新啟動 Claude Code,並[確認沙箱正常運作](#confirm-commands-run-inside-the-sandbox)。

179 

170### 沙箱模式180### 沙箱模式

171 181 

172Claude Code 提供兩種沙箱模式。在這兩種模式中,沙箱都會強制執行相同的檔案系統和網路限制;差異僅在於沙箱化命令是自動核准還是需要明確的權限。182Claude Code 提供兩種沙箱模式。在這兩種模式中,沙箱都會強制執行相同的檔案系統和網路限制;差異僅在於沙箱化命令是自動核准還是需要明確的權限。


716 726 

717除了 `enabled` 之外的兩個鍵控制沙箱無法執行命令時會發生什麼:727除了 `enabled` 之外的兩個鍵控制沙箱無法執行命令時會發生什麼:

718 728 

719* **`failIfUnavailable`**:缺少相依性(例如 Linux 上的 bubblewrap)會阻止 Claude Code 啟動,而不是回退到未沙箱化執行729* **`failIfUnavailable`**:當平台不支援沙箱,或啟動時的相依性檢查失敗時,Claude Code 會拒絕啟動,而不是回退到未沙箱化執行

720* **`allowUnsandboxedCommands: false`**:Claude Code 會忽略 `dangerouslyDisableSandbox` 逃生艙,因此當命令在沙箱下失敗時,Claude 無法在未沙箱化的情況下重試730* **`allowUnsandboxedCommands: false`**:Claude Code 會忽略 `dangerouslyDisableSandbox` 逃生艙,因此當命令在沙箱下失敗時,Claude 無法在未沙箱化的情況下重試

721 731 

722請考慮同時加入以下項目:732請考慮同時加入以下項目:


902 912 

903在無特權容器中,[bubblewrap](#os-level-enforcement) 無法掛載新的 `/proc` 檔案系統,因此沙箱化命令失敗,出現 `bwrap` 錯誤,例如 `Can't mount proc on /newroot/proc: Operation not permitted`。將 [`enableWeakerNestedSandbox`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-enableweakernestedsandbox) 設定為 `true`,以便沙箱改為綁定掛載容器的現有 `/proc`。僅在外部容器已提供您需要的隔離邊界時使用此設定,因為此設定會向沙箱化命令公開新的 `/proc` 掛載原本會隱藏的程序資訊。913在無特權容器中,[bubblewrap](#os-level-enforcement) 無法掛載新的 `/proc` 檔案系統,因此沙箱化命令失敗,出現 `bwrap` 錯誤,例如 `Can't mount proc on /newroot/proc: Operation not permitted`。將 [`enableWeakerNestedSandbox`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-enableweakernestedsandbox) 設定為 `true`,以便沙箱改為綁定掛載容器的現有 `/proc`。僅在外部容器已提供您需要的隔離邊界時使用此設定,因為此設定會向沙箱化命令公開新的 `/proc` 掛載原本會隱藏的程序資訊。

904 914 

915### Ubuntu 的 AppArmor 限制阻止 bubblewrap

916 

917在 Linux 和 WSL2 上,訊息 `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` 表示 Ubuntu 的 AppArmor 限制使沙箱無法啟動。

918 

919若要讓沙箱啟動,請以下列兩種方式之一解除此限制:

920 

921* 如果 Claude Code 執行的是 `/usr/bin/bwrap`,請[為 bubblewrap 新增 AppArmor 設定檔](#add-an-apparmor-profile-for-bubblewrap)

922* 在您的 shell 中執行 `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`,這會為機器上的每個程式解除此限制,並持續到您重新開機為止

923 

924然後重新啟動 Claude Code 並[確認沙箱正常運作](#confirm-commands-run-inside-the-sandbox)。

925 

926在您解除此限制之前,命令會在一般權限流程下不經沙箱執行;如果 [`sandbox.failIfUnavailable`](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-failifunavailable) 為 `true`,Claude Code 則會拒絕啟動。

927 

928### 沙箱化命令因 `bwrap: setting up uid map: Permission denied` 而失敗

929 

930在 Linux 和 WSL2 上,此錯誤或 `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` 可能表示 Ubuntu 對使用者命名空間的 AppArmor 限制正在阻止 bubblewrap。若要檢查,請在您的 shell 中執行 `sysctl kernel.apparmor_restrict_unprivileged_userns`:

931 

932* `kernel.apparmor_restrict_unprivileged_userns = 1`:此限制已開啟。如果 Claude Code 執行的是 `/usr/bin/bwrap`,請[新增 AppArmor 設定檔](#add-an-apparmor-profile-for-bubblewrap),或執行 `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`,這會為每個程式解除此限制,直到您重新開機為止。然後重新啟動 Claude Code 並[確認沙箱正常運作](#confirm-commands-run-inside-the-sandbox)

933* 任何其他輸出:此限制並非原因。若要回報此失敗,請在 Claude Code 提示字元執行 [`/feedback`](https://code.claude.com/docs/zh-TW/commands#all-commands)

934 

935在 v2.1.310 之前,Claude Code 不會在啟動時檢查此限制,因此 `/sandbox` 不會回報它。

936 

905### 0 位元組唯讀檔案出現在 `.claude` 設定路徑,且「是,不要再問」不會儲存937### 0 位元組唯讀檔案出現在 `.claude` 設定路徑,且「是,不要再問」不會儲存

906 938 

907在 Linux 和 WSL2 上,沙箱在沙箱化命令執行時透過在該處建立 0 位元組唯讀預留位置來保持對尚不存在的檔案的寫入拒絕。沙箱在之後移除預留位置。939在 Linux 和 WSL2 上,沙箱在沙箱化命令執行時透過在該處建立 0 位元組唯讀預留位置來保持對尚不存在的檔案的寫入拒絕。沙箱在之後移除預留位置。

Details

472 472 

473若要確認 trap 是否正常運作,請在 `trap` 行正下方加入一行呼叫不存在的命令,例如 `no-such-command`。從您的 shell 執行 hook 檔案,並確認 `echo $?` 印出 `1`,然後移除該行。473若要確認 trap 是否正常運作,請在 `trap` 行正下方加入一行呼叫不存在的命令,例如 `no-such-command`。從您的 shell 執行 hook 檔案,並確認 `echo $?` 印出 `1`,然後移除該行。

474 474 

475#### 找出傳送產生請求的原因

476 

477您的 hook 會在 `CLAUDE_RUNNER_SPAWN_REASON` 中收到每個產生請求的原因,因此您可以連同 `CLAUDE_RUNNER_SESSION_UUID` 一起記錄 hook 執行的原因。需要 orchestrator 上的 Claude Code v2.1.318 或更新版本。請以 `"${CLAUDE_RUNNER_SPAWN_REASON:-}"` 讀取它,因為它可能未設定,且無論其值為何都要啟動 runner。若您的 hook 依此值分支,請保留預設分支,因為 Anthropic 可能會新增值。

478 

479若要找出較早請求的原因,請在每個 orchestrator 副本的日誌中搜尋 `session=` 以及該工作階段的 `CLAUDE_RUNNER_SESSION_UUID`,而非其 `session_...` ID。`ok session=` 與 `nack session=` 行會在 `reason=` 之後顯示 `CLAUDE_RUNNER_SPAWN_REASON` 的值,若未設定則顯示 `reason=-`:

480 

481* **`[runner:orchestrator] ok session=`**:hook 以 0 結束

482* **`[runner:orchestrator] nack session=`**:orchestrator 正在向 Anthropic 回報失敗的產生請求

483 

484每個值只提供 Anthropic 為該工作階段記錄的最後一個原因,而非其歷程:

485 

486| 值 | 發生了什麼 | 要檢查什麼 |

487| :- | :- | :- |

488| `session_created` | 這是新工作階段的第一個產生請求 | 無。請勿依賴它來辨識工作階段的第一個請求,因為在固定機群或待命 runner 曾持有該工作階段之後,您的 hook 看到的第一個請求可能帶有 `runner_lost`。 |

489| `no_runner_registered` | 在 `--expected-spawn-seconds` 內沒有 runner 為先前的請求註冊,且 Anthropic 沒有記錄該請求的失敗回報 | 該工作階段較早的行中若出現 `stop: no nack for session=` 或 `nack failed session=`,即表示未記錄任何失敗回報。請閱讀其之前的任何 hook 錯誤;若 orchestrator 當時正在停止,請參閱[停止或重新啟動 orchestrator](#stop-or-restart-the-orchestrator)。在 `ok session=` 行之後,請檢查其 runner 是否已在 `--expected-spawn-seconds` 內啟動並註冊。若沒有任何副本記錄該請求,請檢查您的 orchestrator 是否有重新啟動以及 `poll failed` 行。 |

490| `hook_failed` | 您的 orchestrator 回報先前的請求失敗且可重試,例如因為您的 hook 以 1 結束,或在 `--hook-timeout` 結束時仍在執行。當您的 orchestrator 未執行 hook 就將請求交還給 Anthropic 時(例如在 orchestrator 停止期間),此值也相同。 | 找出此請求之前該工作階段最後一個 `[runner:orchestrator] nack session=` 或 `stop: handing back session=` 行。orchestrator 傳送的產生錯誤接在 `reason=` 值之後,並可能延續到後續幾行。`handing back session=` 行表示 orchestrator 當時正在停止且未執行 hook,因此 hook 沒有需要修正之處。 |

491| `runner_lost` | 持有該工作階段的 runner 停止向 Anthropic 回報、已取消註冊,或已被刪除 | 找出是什麼停止了 runner 或切斷了它與 Anthropic 的連線,例如節點驅逐、記憶體不足終止、spot 回收,或您自己的推出或縮減規模 |

492| `runner_reported_failure` | 先前的 runner 回報該工作階段在其上失敗,例如在簽出期間 | 閱讀先前 runner 的日誌。若許多工作階段都得到此值,請檢查映像檔與儲存庫設定。 |

493| `resumed` | 該工作階段曾暫停,現在再次需要 runner。例如,其 runner 依 [`--release-idle-session-min`](#make-on-demand-runners-exit-when-idle) 釋放了它,之後它收到新訊息。 | 無 |

494| `requeued` | 該工作階段被放回佇列,例如當 Owner 選取 **Retry**,或被封鎖的工作階段收到新訊息時 | 若同一工作階段持續得到此值,請閱讀其 `nack session=` 行上的錯誤。若其 hook 以 0 結束,請閱讀 runner 的日誌。 |

495| `server_retry` | Anthropic 放棄了先前的請求或放棄在其 runner 上啟動該工作階段,並正在重試。您的 hook 並未失敗。 | 單一請求時無需檢查。若此值持續出現(無論是在單一工作階段或許多工作階段上),請回報給[您的 Anthropic 客戶團隊](https://code.claude.com/docs/zh-TW/self-hosted-environments-deploy.md#report-an-issue)。 |

496| `prewarm` | 這是預熱請求,尚無工作階段 | 無 |

497 

475### 停止或重新啟動 orchestrator498### 停止或重新啟動 orchestrator

476 499 

477若要停止或重新啟動 orchestrator 而不中斷正在執行的 `spawn-runner` hook,請以 [`--shutdown-drain-sec`](https://code.claude.com/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags) 啟動它。如此一來,收到 `SIGTERM` 時,它會給予正在執行的 hook 最多您所設定的秒數來完成。若要選擇該值並設定您的程序監管工具與之相符,請參閱[調整 `--shutdown-drain-sec` 與 orchestrator 的停止逾時](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator)。500若要停止或重新啟動 orchestrator 而不中斷正在執行的 `spawn-runner` hook,請以 [`--shutdown-drain-sec`](https://code.claude.com/docs/zh-TW/self-hosted-environments-reference#orchestrator-cli-flags) 啟動它。如此一來,收到 `SIGTERM` 時,它會給予正在執行的 hook 最多您所設定的秒數來完成。若要選擇該值並設定您的程序監管工具與之相符,請參閱[調整 `--shutdown-drain-sec` 與 orchestrator 的停止逾時](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator)。

Details

172 172 

173透過 [Claude apps 閘道](#platform-availability)登入的用戶端會從閘道擷取設定,並在工作階段開始前等待該擷取完成,因此下列清單中的擷取不適用於此類用戶端。[強制失敗即關閉的啟動](#enforce-fail-closed-startup)說明了該擷取失敗時會發生什麼情況。173透過 [Claude apps 閘道](#platform-availability)登入的用戶端會從閘道擷取設定,並在工作階段開始前等待該擷取完成,因此下列清單中的擷取不適用於此類用戶端。[強制失敗即關閉的啟動](#enforce-fail-closed-startup)說明了該擷取失敗時會發生什麼情況。

174 174 

175> [!NOTE]

176>

177> 若電腦上儲存的是 Team 或 Enterprise 的 claude.ai 登入,Anthropic 可以要求在工作階段開始之前取得您組織的設定。在此情況下,無論下列清單如何說明,開發人員在以下這類情況中都[無法啟動工作階段](https://code.claude.com/docs/zh-TW/errors.md#couldnt-load-your-organizations-settings):

178>

179> * 其登入已過期,直到執行 `claude auth login` 為止

180> * Claude Code 既沒有設定,也沒有近期的快取副本。請確認該電腦能連線至 `api.anthropic.com`

181>

182> 若啟動訊息包含 `before a session can start` 或 `Your Claude session has expired`,即表示此要求適用。

183 

175**沒有快取設定的首次啟動:**184**沒有快取設定的首次啟動:**

176 185 

177* 當開發人員在啟動時登入,例如首次執行或執行 `/logout` 之後,Claude Code 會在開啟工作階段之前等待擷取最多五秒。若政策及時送達,Claude Code 會從第一個畫面就強制執行該政策,並在該畫面上顯示您的 [`companyAnnouncements`](https://code.claude.com/docs/zh-TW/settings-reference#companyannouncements)。若 payload 需要[安全性核准](#security-approval-dialogs),Claude Code 會結束等待,並在開發人員核准後套用該 payload186* 當開發人員在啟動時登入,例如首次執行或執行 `/logout` 之後,Claude Code 會在開啟工作階段之前等待擷取最多五秒。若政策及時送達,Claude Code 會從第一個畫面就強制執行該政策,並在該畫面上顯示您的 [`companyAnnouncements`](https://code.claude.com/docs/zh-TW/settings-reference#companyannouncements)。若 payload 需要[安全性核准](#security-approval-dialogs),Claude Code 會結束等待,並在開發人員核准後套用該 payload

178* 在任何其他啟動情況下,以及五秒等待逾時時,Claude Code 會在擷取持續進行的同時開啟工作階段,因此在設定載入且限制生效之前會有一段短暫的空窗期187* 在任何其他啟動情況下,以及五秒等待逾時時,Claude Code 會在擷取持續進行的同時開啟工作階段,因此在設定載入且限制生效之前會有一段短暫的空窗期

179* 如果擷取失敗,Claude Code 會在沒有伺服器受管設定的情況下繼續執行,並在互動式工作階段中警告沒有套用任何遠端政策;端點受管設定仍會套用。如果受管來源設定了 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup),Claude Code 則會改為結束188* 如果擷取失敗,Claude Code 會在沒有伺服器受管設定的情況下繼續執行,並在互動式工作階段以及 [Claude Desktop 的 Code 分頁](https://code.claude.com/docs/zh-TW/desktop.md)中警告沒有套用任何遠端政策;端點受管設定仍會套用。如果受管來源設定了 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup),Claude Code 則會改為結束

180 189 

181**具有快取設定的後續啟動:**190**具有快取設定的後續啟動:**

182 191 


186* 快取的 [`prependPlugins`](https://code.claude.com/docs/zh-TW/settings-reference#prependplugins)、[`appendPlugins`](https://code.claude.com/docs/zh-TW/settings-reference#appendplugins) 或 [`enabledPlugins`](https://code.claude.com/docs/zh-TW/settings-reference#enabledplugins) 值,在工作階段的擷取確認 payload 之前,無法移除內建防護、變更其位置或將其關閉195* 快取的 [`prependPlugins`](https://code.claude.com/docs/zh-TW/settings-reference#prependplugins)、[`appendPlugins`](https://code.claude.com/docs/zh-TW/settings-reference#appendplugins) 或 [`enabledPlugins`](https://code.claude.com/docs/zh-TW/settings-reference#enabledplugins) 值,在工作階段的擷取確認 payload 之前,無法移除內建防護、變更其位置或將其關閉

187* 在[端點受管來源](https://code.claude.com/docs/zh-TW/managed-settings.md#choose-a-delivery-mechanism)自行列出或啟用外掛的電腦上,僅由快取清單啟用的外掛在擷取確認 payload 之前,會被視為[使用者的](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#install-your-organizations-mods)外掛,而非您組織的外掛196* 在[端點受管來源](https://code.claude.com/docs/zh-TW/managed-settings.md#choose-a-delivery-mechanism)自行列出或啟用外掛的電腦上,僅由快取清單啟用的外掛在擷取確認 payload 之前,會被視為[使用者的](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#install-your-organizations-mods)外掛,而非您組織的外掛

188* Claude Code 會在背景擷取最新設定197* Claude Code 會在背景擷取最新設定

189* 快取的設定在網路故障期間會持續保留。如果啟動時的擷取失敗,Claude Code 會在互動式工作階段中警告目前生效的是快取的政策198* 快取的設定在網路故障期間會持續保留。如果啟動時的擷取失敗,Claude Code 會在互動式工作階段以及 Code 分頁中警告目前生效的是快取的政策

190* 在擷取成功之前,啟動時暫緩的值會持續暫緩199* 在擷取成功之前,啟動時暫緩的值會持續暫緩

191 200 

192Claude Code 會暫緩快取 `env` 區塊中的數類變數,直到伺服器確認該工作階段的 payload 為止。這可防止快取的代理伺服器、憑證授權單位、端點或憑證值重新導向、攔截或重新驗證用來確認 payload 的設定擷取。此強化措施僅適用於從伺服器擷取的設定快取:透過 MDM 或 `managed-settings.json` 部署的[端點受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)不受影響。暫緩的類別包括:201Claude Code 會暫緩快取 `env` 區塊中的數類變數,直到伺服器確認該工作階段的 payload 為止。這可防止快取的代理伺服器、憑證授權單位、端點或憑證值重新導向、攔截或重新驗證用來確認 payload 的設定擷取。此強化措施僅適用於從伺服器擷取的設定快取:透過 MDM 或 `managed-settings.json` 部署的[端點受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)不受影響。暫緩的類別包括:


221 * 其中沒有任何設定回退至較嚴格的值。230 * 其中沒有任何設定回退至較嚴格的值。

222 * payload 包含上述兩個保留期鍵以外的鍵。231 * payload 包含上述兩個保留期鍵以外的鍵。

223 232 

224 此時啟動通知、`/status` 和 `claude doctor` 會回報[載入失敗](https://code.claude.com/docs/zh-TW/errors.md#remote-managed-settings-failed-to-load),原因為 `no setting in the server response could be applied as written`,且該項目會說明工作階段執行時所依據的政策。[強制失敗即關閉的啟動](#enforce-fail-closed-startup)的用戶端則會改為在啟動時結束。233 此時啟動通知、`/status` 和 `claude doctor` 會回報[載入失敗](https://code.claude.com/docs/zh-TW/errors.md#remote-managed-settings-failed-to-load),原因為 `no setting in the server response could be applied as written`,且該項目會說明工作階段執行時所依據的政策。[強制失敗即關閉的啟動](#enforce-fail-closed-startup)的用戶端則會改為在啟動時結束。如果啟動因訊息指出您的組織要求 `before a session can start` 取得其設定而停止,請參閱 [Claude Code 無法載入您組織的設定](https://code.claude.com/docs/zh-TW/errors.md#couldnt-load-your-organizations-settings)。

225* [安全性核准對話框](#security-approval-dialogs)會評估挽救後的 payload,因此被移除的無效項目永遠不會呈現供核准,也永遠不會執行。234* [安全性核准對話框](#security-approval-dialogs)會評估挽救後的 payload,因此被移除的無效項目永遠不會呈現供核准,也永遠不會執行。

226 235 

227若要偵錯傳遞問題,請執行 `claude --debug-file <path>` 並在日誌中搜尋 `Remote settings`。在將 payload 變更推出至組織之前,請先在測試電腦上使用 `claude doctor` 驗證。236若要偵錯傳遞問題,請執行 `claude --debug-file <path>` 並在日誌中搜尋 `Remote settings`。在將 payload 變更推出至組織之前,請先在測試電腦上使用 `claude doctor` 驗證。

228 237 

229### 強制失敗即關閉的啟動238### 強制失敗即關閉的啟動

230 239 

231預設情況下,如果遠端設定擷取在啟動時失敗,CLI 會使用上次成功擷取時快取的設定繼續執行,但 Claude Code 在擷取成功前[暫緩的值](#fetch-and-caching-behavior)除外。在從未擷取過設定的電腦上,CLI 會在沒有伺服器受管設定的情況下繼續執行,並仍會套用裝置上的任何[端點受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)。240預設情況下,如果遠端設定擷取在啟動時失敗,CLI 會使用上次成功擷取時快取的設定繼續執行。Claude Code [暫緩的值](#fetch-and-caching-behavior)在擷取成功之前會持續暫緩。在從未擷取過設定的電腦上,CLI 會在沒有伺服器受管設定的情況下繼續執行,並仍會套用裝置上的任何[端點受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)。不過,[Anthropic 可能會改為要求取得這些設定](#fetch-and-caching-behavior)。

232 241 

233若要阻止用戶端在快取或缺少伺服器受管設定的情況下啟動,請在受管設定中設定 `forceRemoteSettingsRefresh: true`。242若要阻止用戶端在快取或缺少伺服器受管設定的情況下啟動,請在受管設定中設定 `forceRemoteSettingsRefresh: true`。

234 243 


360 369 

361稽核事件包括執行的動作類型、執行動作的帳戶和裝置,以及對先前和新值的參考。370稽核事件包括執行的動作類型、執行動作的帳戶和裝置,以及對先前和新值的參考。

362 371 

363## 安全考量372## 安全性考量

364 373 

365伺服器管理的設定提供集中式原則強制執行,但它們作為用戶端控制運作,而非安全邊界。在非受管裝置上,使用者不需要管理員或 sudo 存取權就能略過它們。374伺服器受管設定提供集中式的政策強制執行,但它們是以用戶端控制的方式運作,而非安全邊界。在未受管理的裝置上,使用者不需要管理員或 sudo 存取權限即可繞過這些設定。

366 375 

367| 情況 | 行為 |376| 情境 | 行為 |

368| :- | :- |377| :- | :- |

369| 使用者編輯快取的設定檔 | 篡改的檔案在啟動時套用,但 Claude Code 會[保留某些值](#fetch-and-caching-behavior)直到伺服器確認承載。下次伺服器擷取會還原正確的設定,但[只在下次啟動時套用的金鑰](#fetch-and-caching-behavior)(例如 `model` 或新增至 `env` 區塊的變數)會保持有效,直到重新啟動 |378| 使用者編輯快取的設定檔 | 遭竄改的檔案會在啟動時套用,但 [Claude Code 在伺服器確認 payload 之前暫不套用的值](#fetch-and-caching-behavior)除外。下一次從伺服器擷取時會還原正確的設定,但[僅在下次啟動時才套用的設定鍵](#fetch-and-caching-behavior)除外,例如 `model` 或新增至 `env` 區塊的變數,這些會持續生效直到重新啟動為止 |

370| 使用者刪除快取的設定檔 | [首次啟動行為](#fetch-and-caching-behavior)發生 |379| 使用者刪除快取的設定檔 | 會發生[首次啟動行為](#fetch-and-caching-behavior) |

371| 使用者執行修改過的 Claude Code 二進位檔 | 能夠執行修改過用戶端的使用者可以略過任何用戶端控制 |380| 使用者執行經修改的 Claude Code 二進位檔 | 能夠執行經修改之用戶端的使用者可以繞過任何用戶端控制 |

372| 使用者執行較舊的 Claude Code 版本 | 早於伺服器管理設定的版本不會擷取或套用它們 |381| 使用者執行較舊版本的 Claude Code | 早於伺服器受管設定推出的版本不會擷取或套用這些設定 |

373| API 無法使用 | 如果可用,快取設定會套用,但 Claude Code 會[保留某些值](#fetch-and-caching-behavior)直到擷取成功。沒有快取的情況下,Claude Code 在下次成功擷取之前不會強制執行任何伺服器管理的設定,但仍會在裝置上套用任何[端點管理的設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)。使用 `forceRemoteSettingsRefresh: true` 時,CLI 會結束而不是繼續,但 [`claude auth` 子命令](#enforce-fail-closed-startup)除外。透過[Claude 應用程式閘道](#platform-availability)登入的用戶端在啟動時會結束而沒有該設定,具有相同的 `claude auth` 豁免 |382| API 無法使用 | 若有可用的快取設定則會套用。若沒有快取,Claude Code 在下一次成功擷取之前不會強制執行任何伺服器受管設定。[擷取與快取行為](#fetch-and-caching-behavior)列出了例外情況,包括 Anthropic 要求這些設定的情況。設定 `forceRemoteSettingsRefresh: true` 時,CLI 會直接結束而非繼續執行,但 [`claude auth` 子命令](#enforce-fail-closed-startup)除外。透過 [Claude apps 閘道](#platform-availability)登入的用戶端即使沒有該設定也會在啟動時結束,並適用相同的 `claude auth` 豁免 |

374| 使用者使用不同的組織進行身份驗證 | 不會為受管組織外的帳戶傳遞設定,包括使用 [Console API 金鑰](#platform-availability)進行身份驗證的工作階段 |383| 使用者以不同的組織進行身分驗證 | 不會向受管組織以外的帳戶傳遞設定,包括使用 [Console API 金鑰](#platform-availability)進行身分驗證的工作階段 |

375| 使用者設定[第三方模型提供者](#platform-availability) | 伺服器管理的設定會被略過。這包括設定 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_MANTLE`、`CLAUDE_CODE_USE_VERTEX`、`CLAUDE_CODE_USE_FOUNDRY`、`CLAUDE_CODE_USE_ANTHROPIC_AWS` 或非預設的 `ANTHROPIC_BASE_URL` |384| 使用者設定了[第三方模型供應商](#platform-availability) | 伺服器受管設定會被繞過。這包括設定 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_MANTLE`、`CLAUDE_CODE_USE_VERTEX`、`CLAUDE_CODE_USE_FOUNDRY`、`CLAUDE_CODE_USE_ANTHROPIC_AWS`,或非預設的 `ANTHROPIC_BASE_URL` |

376| 網路流量被攔截或重新導向 | 停用的 TLS 驗證或攔截的流量可以改變用戶端接收的設定 |385| 網路流量遭攔截或重新導向 | 停用 TLS 驗證或遭攔截的流量可能會變更用戶端接收到的設定 |

377 386 

378若要記錄本機設定檔的編輯,包括 `managed-settings.json`,請使用 [`ConfigChange` hooks](https://code.claude.com/docs/zh-TW/hooks#configchange)。當伺服器管理的設定到達或重新整理時,或當 MDM 設定檔或登錄原則變更時,Claude Code 不會執行它們,且 hook 無法阻止 `policy_settings` 變更。387若要將對本機設定檔(包括 `managed-settings.json`)的編輯記錄到日誌中,請使用 [`ConfigChange` hook](https://code.claude.com/docs/zh-TW/hooks#configchange)。當伺服器受管設定送達或重新整理時,或 MDM 設定檔或登錄原則變更時,Claude Code 不會執行這些 hook,而且 hook 無法阻擋 `policy_settings` 的變更。

379 388 

380若要限制使用者可以使用用戶端提供的認證存取的組織,請參閱 Claude 說明中心中的[使用租戶限制強制執行網路層級存取控制](https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions)。如需更強的強制執行保證,請在已在 MDM 解決方案中註冊的裝置上使用[端點管理的設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)。389若要限制使用者能以用戶端提供的憑證存取哪些組織,請參閱 Claude 說明中心的 [Enforce network-level access control with Tenant Restrictions](https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions)。若需要更強的強制執行保證,請在已註冊 MDM 解決方案的裝置上使用[端點受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md#delivery-mechanisms)。

381 390 

382## 另請參閱391## 另請參閱

383 392 

settings.md +2 −2

Details

199* **設定錯誤**:使用者、專案或本機檔案有無效的 JSON 或架構拒絕的值。在互動式工作階段啟動時,Claude Code 顯示一個對話框,讓您用 Claude 的幫助修復檔案、退出或繼續而不使用損壞的設定。199* **設定錯誤**:使用者、專案或本機檔案有無效的 JSON 或架構拒絕的值。在互動式工作階段啟動時,Claude Code 顯示一個對話框,讓您用 Claude 的幫助修復檔案、退出或繼續而不使用損壞的設定。

200* **設定警告**:只有個別項目失敗,例如格式錯誤的權限規則或未知的 hook 事件名稱。Claude Code 跳過這些值並保持檔案的其餘部分生效。200* **設定警告**:只有個別項目失敗,例如格式錯誤的權限規則或未知的 hook 事件名稱。Claude Code 跳過這些值並保持檔案的其餘部分生效。

201* **受管設定**:Claude Code 繼續強制執行檔案的其餘部分。[受管設定中的無效項目](https://code.claude.com/docs/zh-TW/managed-settings.md#invalid-entries-in-managed-settings)說明它丟棄的內容以及哪些金鑰回退到更嚴格的值,直到您修復它們。對於不是有效 JSON 的受管設定文件,請參閱[受管設定文件無法解析](https://code.claude.com/docs/zh-TW/errors.md#managed-settings-document-could-not-be-parsed)。201* **受管設定**:Claude Code 繼續強制執行檔案的其餘部分。[受管設定中的無效項目](https://code.claude.com/docs/zh-TW/managed-settings.md#invalid-entries-in-managed-settings)說明它丟棄的內容以及哪些金鑰回退到更嚴格的值,直到您修復它們。對於不是有效 JSON 的受管設定文件,請參閱[受管設定文件無法解析](https://code.claude.com/docs/zh-TW/errors.md#managed-settings-document-could-not-be-parsed)。

202* **設定錯誤**:`~/.claude.json` 無法解析。Claude Code 將損壞的檔案複製到 `~/.claude/backups/.claude.json.corrupted.<timestamp>` 並詢問是否退出並手動修復它或重設為預設設定;`-p` 執行列印錯誤並退出。若要恢復您之前的狀態,請複製回 `~/.claude/backups/` 中最近五個 `.claude.json.backup.<timestamp>` 檔案之一,Claude Code 在寫入檔案前儲存。202* **組態錯誤**:[`~/.claude.json`](https://code.claude.com/docs/zh-TW/claude-directory#ce-claude-json) 無法解析。`claude -p` 執行會退出,且您的檔案保持不變。請參閱 [Configuration error in \~/.claude.json](https://code.claude.com/docs/zh-TW/errors.md#configuration-error-in-claude-json) 以還原較早的副本。Claude Code 會將損壞的檔案複製到 `~/.claude/backups/.claude.json.corrupted.<timestamp>`,並在互動式工作階段中詢問是要退出並修復它,還是重設為預設組態。當檔案為空白且沒有可還原的備份時,Claude Code 會以預設設定啟動。

203 203 

204繼續後,執行 `/status` 以查看受影響的檔案,執行 `claude doctor` 以查看每個錯誤的詳細資訊。204繼續後,執行 `/status` 以查看受影響的檔案,執行 `claude doctor` 以查看每個錯誤的詳細資訊。

205 205 

206`-p` 執行不顯示對話框。除非[受管設定文件無法解析](https://code.claude.com/docs/zh-TW/errors.md#managed-settings-document-could-not-be-parsed),Claude Code 跳過損壞的檔案或值並繼續其餘部分,因此在忽略設定的 `-p` 執行後,執行 `claude doctor` 以查看它丟棄的內容。206`-p` 執行不顯示對話框。除非[受管設定文件無法解析](https://code.claude.com/docs/zh-TW/errors.md#managed-settings-document-could-not-be-parsed),Claude Code 會跳過損壞的使用者、專案或本機檔案或其損壞的值,並繼續其餘部分。在忽略設定的 `-p` 執行後,請從終端機執行 `claude doctor` 以查看它丟棄的內容。

207 207 

208## 設定優先順序208## 設定優先順序

209 209 

Details

40| [`autoCompactWindow`](#autocompactwindow) | 設定上下文填滿到什麼程度時 Claude Code 會進行[壓縮](https://code.claude.com/docs/zh-TW/context-window.md) | 記憶與上下文 | 任何檔案 |40| [`autoCompactWindow`](#autocompactwindow) | 設定上下文填滿到什麼程度時 Claude Code 會進行[壓縮](https://code.claude.com/docs/zh-TW/context-window.md) | 記憶與上下文 | 任何檔案 |

41| [`autoConnectIde`](#autoconnectide) | 從外部終端機自動連線至執行中的 [VS Code](https://code.claude.com/docs/zh-TW/vs-code.md) 或 [JetBrains](https://code.claude.com/docs/zh-TW/jetbrains.md#from-external-terminals) IDE | 全域設定項目 | 全域設定 |41| [`autoConnectIde`](#autoconnectide) | 從外部終端機自動連線至執行中的 [VS Code](https://code.claude.com/docs/zh-TW/vs-code.md) 或 [JetBrains](https://code.claude.com/docs/zh-TW/jetbrains.md#from-external-terminals) IDE | 全域設定項目 | 全域設定 |

42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | 在開啟的工作階段中等待,並在 claude.ai 用量上限重設後[自動繼續工作](https://code.claude.com/docs/zh-TW/interactive-mode.md#wait-for-a-usage-limit-to-reset) | 介面與終端機 | 使用者或受管 |42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | 在開啟的工作階段中等待,並在 claude.ai 用量上限重設後[自動繼續工作](https://code.claude.com/docs/zh-TW/interactive-mode.md#wait-for-a-usage-limit-to-reset) | 介面與終端機 | 使用者或受管 |

43| [`autoInstallIdeExtension`](#autoinstallideextension) | 關閉從 VS Code 終端機自動安裝 [IDE 擴充功能](https://code.claude.com/docs/zh-TW/vs-code.md#install-the-extension) | 全域設定項目 | 全域設定 |43| [`autoInstallIdeExtension`](#autoinstallideextension) | 讓 `/ide` 從外部終端機安裝 [IDE 擴充功能](https://code.claude.com/docs/zh-TW/vs-code.md#install-the-extension) | 全域設定項目 | 全域設定 |

44| [`autoMemoryDirectory`](#automemorydirectory) | 將[自動記憶](https://code.claude.com/docs/zh-TW/memory.md#auto-memory)儲存在您選擇的目錄中 | 記憶與上下文 | 任何檔案 |44| [`autoMemoryDirectory`](#automemorydirectory) | 將[自動記憶](https://code.claude.com/docs/zh-TW/memory.md#auto-memory)儲存在您選擇的目錄中 | 記憶與上下文 | 任何檔案 |

45| [`autoMemoryEnabled`](#automemoryenabled) | 關閉或開啟[自動記憶](https://code.claude.com/docs/zh-TW/memory.md#auto-memory) | 記憶與上下文 | 任何檔案 |45| [`autoMemoryEnabled`](#automemoryenabled) | 關閉或開啟[自動記憶](https://code.claude.com/docs/zh-TW/memory.md#auto-memory) | 記憶與上下文 | 任何檔案 |

46| [`autoMode`](#automode) | 將您自己的允許和拒絕規則加入[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)分類器 | 權限設定 | 使用者或受管 |46| [`autoMode`](#automode) | 將您自己的允許和拒絕規則加入[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)分類器 | 權限設定 | 使用者或受管 |


139| [`outputStyle`](#outputstyle) | 以[輸出風格](https://code.claude.com/docs/zh-TW/output-styles.md)變更 Claude 的角色、語氣和輸出格式 | 模型與回應 | 任何檔案 |139| [`outputStyle`](#outputstyle) | 以[輸出風格](https://code.claude.com/docs/zh-TW/output-styles.md)變更 Claude 的角色、語氣和輸出格式 | 模型與回應 | 任何檔案 |

140| [`parentSettingsBehavior`](#parentsettingsbehavior) | 在您部署[受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md)時,套用或捨棄 [SDK 或 IDE 主機](https://code.claude.com/docs/zh-TW/managed-settings.md#let-an-embedding-host-add-policy)所傳遞的限制 | 企業與受管設定 | 受管 |140| [`parentSettingsBehavior`](#parentsettingsbehavior) | 在您部署[受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md)時,套用或捨棄 [SDK 或 IDE 主機](https://code.claude.com/docs/zh-TW/managed-settings.md#let-an-embedding-host-add-policy)所傳遞的限制 | 企業與受管設定 | 受管 |

141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | 已於 v2.1.257 移除,連同 shell 權限提示上的 `Ctrl+E` 命令說明一併移除 | 全域設定項目 | 全域設定 |141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | 已於 v2.1.257 移除,連同 shell 權限提示上的 `Ctrl+E` 命令說明一併移除 | 全域設定項目 | 全域設定 |

142| [`permissions`](#permissions) | 設定允許、詢問和拒絕規則,以及起始[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md) | 權限設定 | 任何檔案 |142| [`permissions`](#permissions) | 設定允許、詢問和拒絕規則,以及預設[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md) | 權限設定 | 任何檔案 |

143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | 讓 Claude 能存取[目前目錄以外之目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)中的檔案 | 權限設定 | 任何檔案 |143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | 讓 Claude 能存取[目前目錄以外之目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)中的檔案 | 權限設定 | 任何檔案 |

144| [`permissions.allow`](#permissions-allow) | 不經提示即核准列出的[工具使用](https://code.claude.com/docs/zh-TW/permissions.md#permission-rule-syntax) | 權限設定 | 任何檔案 |144| [`permissions.allow`](#permissions-allow) | 不經提示即核准列出的[工具使用](https://code.claude.com/docs/zh-TW/permissions.md#permission-rule-syntax) | 權限設定 | 任何檔案 |

145| [`permissions.ask`](#permissions-ask) | 在列出的[工具使用](https://code.claude.com/docs/zh-TW/permissions.md#permission-rule-syntax)之前一律提示 | 權限設定 | 任何檔案 |145| [`permissions.ask`](#permissions-ask) | 在列出的[工具使用](https://code.claude.com/docs/zh-TW/permissions.md#permission-rule-syntax)之前一律提示 | 權限設定 | 任何檔案 |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | 讓檔案工具在每種權限模式下都拒絕讀取[工作目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)以外的內容 | 權限設定 | 任何檔案 |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | 讓檔案工具在每種權限模式下都拒絕讀取[工作目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)以外的內容 | 權限設定 | 任何檔案 |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | 讓 `Write`、`Edit` 和 `NotebookEdit` 工具在每種權限模式下都拒絕[工作目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)以外的路徑,但 [Claude Code 本身的部分檔案](#what-the-write-block-refuses-and-what-stays-writable)除外 | 權限設定 | 任何檔案 |147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | 讓 `Write`、`Edit` 和 `NotebookEdit` 工具在每種權限模式下都拒絕[工作目錄](https://code.claude.com/docs/zh-TW/permissions.md#working-directories)以外的路徑,但 [Claude Code 本身的部分檔案](#what-the-write-block-refuses-and-what-stays-writable)除外 | 權限設定 | 任何檔案 |

148| [`permissions.defaultMode`](#permissions-defaultmode) | 設定新工作階段起始時的[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in) | 權限設定 | 任何檔案 |148| [`permissions.defaultMode`](#permissions-defaultmode) | 設定新工作階段的預設[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in) | 權限設定 | 任何檔案 |

149| [`permissions.deny`](#permissions-deny) | 封鎖列出的[工具使用](https://code.claude.com/docs/zh-TW/permissions.md#permission-rule-syntax),包括讀取存放機密的檔案 | 權限設定 | 任何檔案 |149| [`permissions.deny`](#permissions-deny) | 封鎖列出的[工具使用](https://code.claude.com/docs/zh-TW/permissions.md#permission-rule-syntax),包括讀取存放機密的檔案 | 權限設定 | 任何檔案 |

150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 防止任何人進入 [bypassPermissions 模式](https://code.claude.com/docs/zh-TW/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | 權限設定 | 任何檔案 |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 防止任何人進入 [bypassPermissions 模式](https://code.claude.com/docs/zh-TW/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | 權限設定 | 任何檔案 |

151| [`plansDirectory`](#plansdirectory) | 選擇 [plan mode](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode) 寫入計畫檔案的位置 | 記憶與上下文 | 任何檔案 |151| [`plansDirectory`](#plansdirectory) | 選擇 [plan mode](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode) 寫入計畫檔案的位置 | 記憶與上下文 | 任何檔案 |


804 804 

805## 權限設定805## 權限設定

806 806 

807決定 Claude 可以在不詢問的情況下執行的操作、工作階段啟動時的權限模式,以及自動模式分類器允許的內容。如需規則語法和權限模型,請參閱[設定權限](https://code.claude.com/docs/zh-TW/permissions.md)。807決定 Claude 可以在不詢問的情況下執行的操作、新工作階段的預設權限模式,以及自動模式分類器允許的內容。如需規則語法和權限模型,請參閱[設定權限](https://code.claude.com/docs/zh-TW/permissions.md)。

808 808 

809### `allowManagedPermissionRulesOnly`809### `allowManagedPermissionRulesOnly`

810 810 


899 899 

900### `permissions`900### `permissions`

901 901 

902控制 Claude 可以在不詢問的情況下使用哪些工具、哪些工具始終提示,以及哪些工具被封鎖,並設定工作階段啟動時的[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md)。下面的每個 `permissions.*` 設定鍵都巢狀在此物件下。902控制 Claude 可以在不詢問的情況下使用哪些工具、哪些工具會提示,以及哪些工具被封鎖。也可設定新工作階段的預設[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md)。下面的每個 `permissions.*` 設定鍵都巢狀在此物件下。

903 903 

904* **範圍**:[`Any file`](#scopes)904* **範圍**:[`Any file`](#scopes)

905* **類型**:物件,包含 `allow`、`ask`、`deny`、`additionalDirectories`、`blockReadsOutsideWorkingDirectories`、`blockWritesOutsideWorkingDirectories`、`defaultMode`、`disableBypassPermissionsMode` 和 `disableAutoMode`905* **類型**:物件,包含 `allow`、`ask`、`deny`、`additionalDirectories`、`blockReadsOutsideWorkingDirectories`、`blockWritesOutsideWorkingDirectories`、`defaultMode`、`disableBypassPermissionsMode` 和 `disableAutoMode`


1137 1137 

1138### `permissions.defaultMode`1138### `permissions.defaultMode`

1139 1139 

1140設定新工作階段啟動時的[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md)。當您將其保留為未設定時,工作階段會以您的使用介面的[內建預設值](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in)啟動。1140設定新工作階段的預設[權限模式](https://code.claude.com/docs/zh-TW/permission-modes.md)。當您將其保留為未設定時,會套用您的使用介面的[內建預設值](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in)。

1141 1141 

1142* **範圍**:[`Any file`](#scopes)。`auto` 和 `bypassPermissions` 不會從專案或本機設定生效,因此請改為在 `~/.claude/settings.json` 中設定它們。在 v2.1.257 之前,`bypassPermissions` 會從任何檔案生效。對於 VS Code 擴充功能啟動的對話,Claude Code 只讀取使用者、受管和 `--settings` 值。1142* **範圍**:[`Any file`](#scopes)。`auto` 和 `bypassPermissions` 不會從專案或本機設定生效,因此請改為在 `~/.claude/settings.json` 中設定它們。在 v2.1.257 之前,`bypassPermissions` 會從任何檔案生效。對於 VS Code 擴充功能啟動的對話,Claude Code 只讀取使用者、受管和 `--settings` 值。

1143* **類型**:字串,其中之一:1143* **類型**:字串,其中之一:


1267 1267 

1268### `sandbox.failIfUnavailable`1268### `sandbox.failIfUnavailable`

1269 1269 

1270當 `sandbox.enabled` 為 `true`,但因缺少相依套件或平台不受支援而導致沙箱無法啟動時,讓 Claude Code 在啟動時以錯誤結束。若未設定此鍵,Claude Code 會在沙箱外執行命令。將沙箱機制視為安全關卡的受管部署可以使用此設定。1270當 `sandbox.enabled` 為 `true`,但由於平台不支援或相依性檢查失敗而導致沙箱無法啟動時,讓 Claude Code 在啟動時以錯誤結束。若未設定此鍵,Claude Code 會不經沙箱執行命令。將沙箱機制視為安全關卡的受管部署可以使用此設定。

1271 1271 

1272在沙箱不支援的平台上,開啟此鍵時 Claude Code 不會啟動。請參閱[使用受管設定強制執行沙箱機制](https://code.claude.com/docs/zh-TW/sandboxing.md#enforce-sandboxing-with-managed-settings)。1272在沙箱不支援的平台上,開啟此鍵時 Claude Code 不會啟動。請參閱[使用受管設定強制執行沙箱機制](https://code.claude.com/docs/zh-TW/sandboxing.md#enforce-sandboxing-with-managed-settings)。

1273 1273 


5087 5087 

5088### `sshHostCommands`5088### `sshHostCommands`

5089 5089 

5090將主機來自命令的 SSH 連線新增到[桌面](https://code.claude.com/docs/zh-TW/desktop.md#create-an-ssh-connection-from-a-command)環境選擇器。當您建立連線或替換其主機時,Desktop 會在您的電腦上執行該項目的命令,並連線到該命令所輸出的主機。需要在 macOS 或 Linux 上使用 Claude Desktop v3.6556.0 或更新版本,並以 Claude 帳戶登入。5090將主機來自命令的 SSH 連線新增到[桌面](https://code.claude.com/docs/zh-TW/desktop.md#create-an-ssh-connection-from-a-command)環境選擇器。當您建立連線或為其建立另一台機器時,Desktop 會在您的電腦上執行該項目的命令,並連線到該命令所輸出的主機。

5091 

5092需要在 macOS 或 Linux 上使用 Claude Desktop v3.6556.0 或更新版本,或在 Windows 上使用 v4.16336.0 或更新版本,並以 Claude 帳戶登入。在 Windows 上,Desktop 也必須[透過 OpenSSH 用戶端連線](https://code.claude.com/docs/zh-TW/desktop.md#use-your-ssh-configuration)。

5091 5093 

5092* **範圍**:[`使用者或受管理`](#scopes)。只有桌面應用程式讀取此金鑰。它會從電腦上的[單一受管理設定檔或 MDM 原則](https://code.claude.com/docs/zh-TW/desktop.md#distribute-commands-to-your-team)讀取受管理的項目,並忽略[伺服器管理的設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)中的此金鑰。5094* **範圍**:[`使用者或受管理`](#scopes)。只有桌面應用程式讀取此金鑰。它會從電腦上的[單一受管理設定檔或 MDM 原則](https://code.claude.com/docs/zh-TW/desktop.md#distribute-commands-to-your-team)讀取受管理的項目,並忽略[伺服器管理的設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)中的此金鑰。

5093* **類型**:物件陣列,每個物件具有必需的 `id`、`name` 和 `command` 以及選用的 `sshIdentityFile` 和 `startDirectory`。Desktop 在不使用 shell 的情況下啟動 `command`,因此請[將其寫成程式和純引數](https://code.claude.com/docs/zh-TW/desktop.md#write-the-command)。5095* **類型**:物件陣列,每個物件具有必需的 `id`、`name` 和 `command` 以及選用的 `sshIdentityFile` 和 `startDirectory`。Desktop 不會將 `command` 當作 shell 語法讀取,因此管線和變數無法運作:[請將其寫成程式及其引數](https://code.claude.com/docs/zh-TW/desktop.md#write-the-command)。

5094* **預設**:未設定5096* **預設**:未設定

5095 5097 

5096此範例新增一個名為 `Dev box` 的連線,其中 `acme-dev create` 代表您自己的工具:5098此範例新增一個名為 `Dev box` 的連線,其中 `acme-dev create` 代表您自己的工具:


5107}5109}

5108```5110```

5109 5111 

5112在 Windows 上,像 `acme-dev` 這樣的單純名稱無法運作,因此請[以程式的完整路徑作為命令開頭](https://code.claude.com/docs/zh-TW/desktop.md#write-the-command-on-windows)。

5113 

5110在 Claude Code v2.1.307 之前,Edit 工具會拒絕將此金鑰新增到有效設定檔的變更,並顯示錯誤 `Unrecognized field: sshHostCommands`。在這些版本上,請改用文字編輯器新增此金鑰;Claude Code 會載入包含此金鑰的檔案。在 Desktop 中,起作用的是 [Code 標籤的 Claude Code 版本](https://code.claude.com/docs/zh-TW/desktop.md#claude-code-version-in-the-code-tab),而非您終端機的版本。5114在 Claude Code v2.1.307 之前,Edit 工具會拒絕將此金鑰新增到有效設定檔的變更,並顯示錯誤 `Unrecognized field: sshHostCommands`。在這些版本上,請改用文字編輯器新增此金鑰;Claude Code 會載入包含此金鑰的檔案。在 Desktop 中,起作用的是 [Code 標籤的 Claude Code 版本](https://code.claude.com/docs/zh-TW/desktop.md#claude-code-version-in-the-code-tab),而非您終端機的版本。

5111 5115 

5112## 身分驗證和提供者5116## 身分驗證和提供者


5583 5587 

5584阻止 CLI 啟動,直到 Claude Code 已重新整理地擷取[伺服器受管設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)。如果擷取失敗,Claude Code 會結束而不是繼續使用快取或無設定。當您的環境無法接受即使是短暫的時間窗口(在該窗口中工作階段執行時沒有其受管原則)時,請設定它。5588阻止 CLI 啟動,直到 Claude Code 已重新整理地擷取[伺服器受管設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md)。如果擷取失敗,Claude Code 會結束而不是繼續使用快取或無設定。當您的環境無法接受即使是短暫的時間窗口(在該窗口中工作階段執行時沒有其受管原則)時,請設定它。

5585 5589 

5586當金鑰未設定時,Claude Code 不會在擷取時阻止啟動,但當開發人員在啟動時登入時,它會等待最多五秒鐘以進行擷取。雲端閘道工作階段始終會等待,如果無法到達閘道則會結束。5590當金鑰未設定時,Claude Code 不會在擷取時阻止啟動,但當開發人員在啟動時登入時,它會等待最多五秒鐘以進行擷取。[Anthropic 可以要求這些設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md#fetch-and-caching-behavior),這確實會在沒有這些設定時阻止啟動。Cloud gateway 工作階段會等待,如果無法到達閘道則會結束。

5587 5591 

5588* **範圍**: [`Managed`](#scopes)。Claude Code 會接受來自任何受管理員控制的受管來源的 `true`,即使該來源不是最高優先順序的來源。5592* **範圍**: [`Managed`](#scopes)。Claude Code 會接受來自任何受管理員控制的受管來源的 `true`,即使該來源不是最高優先順序的來源。

5589* **類型**: 布林值5593* **類型**: 布林值

5590 * `true`: Claude Code 會阻止啟動,直到它已重新整理地擷取伺服器受管設定,如果擷取失敗則會結束5594 * `true`: Claude Code 會阻止啟動,直到它已重新整理地擷取伺服器受管設定,如果擷取失敗則會結束

5591 * `false`: Claude Code 不會在擷取時阻止啟動,但在登入啟動時會等待最多五秒鐘以進行擷取5595 * `false`: 除非 Anthropic 要求這些設定,否則 Claude Code 不會在擷取時阻止啟動,但在登入啟動時會等待最多五秒鐘以進行擷取

5592* **預設**: `false`5596* **預設**: `false`

5593 5597 

5594```json managed-settings.json theme={null}5598```json managed-settings.json theme={null}


5823 5827 

5824### `autoInstallIdeExtension`5828### `autoInstallIdeExtension`

5825 5829 

5826當您從 VS Code 終端執行 Claude Code 時,自動安裝 Claude Code IDE 擴充功能。當您在 VS Code 或 JetBrains 終端內執行 Claude Code 時,會在 `/config` 中顯示為**自動安裝 IDE 擴充功能**。5830當您從外部終端機執行 [`/ide`](https://code.claude.com/docs/zh-TW/commands) 命令時,讓它在執行中的 VS Code、Cursor 或 Devin Desktop 中安裝 Claude Code IDE 擴充功能。Claude Code 在啟動時不會安裝此擴充功能。當您在 VS Code 或 JetBrains 終端機內執行 Claude Code 時,會在 `/config` 中顯示為 **Auto-install IDE extension**。

5827 5831 

5828* **範圍**:[`全域設定`](#scopes)5832* **範圍**:[`全域設定`](#scopes)

5829* **類型**:布林值5833* **類型**:布林值

5830 * `true`:當您從 VS Code 終端執行 Claude Code 時,它會自動安裝 IDE 擴充功能5834 * `true`:`/ide` 會安裝擴充功能

5831 * `false`:Claude Code 不會自動安裝擴充功能5835 * `false`:`/ide` 不會安裝擴充功能

5832* **預設值**:`true`5836* **預設值**:`true`

5833* **每個工作階段的覆寫**:[`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/zh-TW/env-vars) 設定為 `1` 會跳過安裝一個工作階段,即使此金鑰為 `true`5837* **每個工作階段的覆寫**:[`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/zh-TW/env-vars) 設定為 `1` 會跳過安裝一個工作階段,即使此金鑰為 `true`

5834 5838 

skills.md +1 −1

Details

404| `allowed-tools` | 否 | Claude 在調用此 skill 的回合中可以使用而無需請求許可的工具。當您發送下一條訊息時,授予清除。接受以空格或逗號分隔的字串或 YAML 列表。請參閱[為 skill 預先批准工具](#pre-approve-tools-for-a-skill)。 |404| `allowed-tools` | 否 | Claude 在調用此 skill 的回合中可以使用而無需請求許可的工具。當您發送下一條訊息時,授予清除。接受以空格或逗號分隔的字串或 YAML 列表。請參閱[為 skill 預先批准工具](#pre-approve-tools-for-a-skill)。 |

405| `disallowed-tools` | 否 | 此 skill 處於活動狀態時從 Claude 的可用工具池中移除的工具。用於不應呼叫某些工具的自主 skills,例如背景迴圈的 `AskUserQuestion`。接受以空格或逗號分隔的字串或 YAML 列表。當您發送下一條訊息時,限制清除。與拒絕規則一樣,當任何其他工具保持時,該欄位無法移除[`EndConversation`](https://code.claude.com/docs/zh-TW/tools-reference#endconversation-tool-behavior)。 |405| `disallowed-tools` | 否 | 此 skill 處於活動狀態時從 Claude 的可用工具池中移除的工具。用於不應呼叫某些工具的自主 skills,例如背景迴圈的 `AskUserQuestion`。接受以空格或逗號分隔的字串或 YAML 列表。當您發送下一條訊息時,限制清除。與拒絕規則一樣,當任何其他工具保持時,該欄位無法移除[`EndConversation`](https://code.claude.com/docs/zh-TW/tools-reference#endconversation-tool-behavior)。 |

406| `model` | 否 | 此 skill 處於活動狀態時要使用的模型。覆蓋適用於目前回合的其餘部分,不會保存到設定。當您發送下一個提示時,工作階段模型恢復。接受與[`/model`](https://code.claude.com/docs/zh-TW/model-config)相同的值,或 `inherit` 以保持活動模型。您組織的[`availableModels`](https://code.claude.com/docs/zh-TW/model-config#restrict-model-selection)允許清單排除的值不被使用,工作階段保持其目前模型。在[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)中,以及在[計畫模式中,當分類器檢查命令時](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode),自動模式不支援的模型也不被使用,工作階段保持其目前模型。使用 `context: fork` 時,該值設定[分叉子代理的模型](#run-skills-in-a-subagent),排除的值遵循[與子代理模型覆蓋相同的規則](https://code.claude.com/docs/zh-TW/model-config.md#restrict-model-selection)。 |406| `model` | 否 | 此 skill 處於活動狀態時要使用的模型。覆蓋適用於目前回合的其餘部分,不會保存到設定。當您發送下一個提示時,工作階段模型恢復。接受與[`/model`](https://code.claude.com/docs/zh-TW/model-config)相同的值,或 `inherit` 以保持活動模型。您組織的[`availableModels`](https://code.claude.com/docs/zh-TW/model-config#restrict-model-selection)允許清單排除的值不被使用,工作階段保持其目前模型。在[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)中,以及在[計畫模式中,當分類器檢查命令時](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode),自動模式不支援的模型也不被使用,工作階段保持其目前模型。使用 `context: fork` 時,該值設定[分叉子代理的模型](#run-skills-in-a-subagent),排除的值遵循[與子代理模型覆蓋相同的規則](https://code.claude.com/docs/zh-TW/model-config.md#restrict-model-selection)。 |

407| `effort` | 否 | 目前回合其餘部分的[effort 等級](https://code.claude.com/docs/zh-TW/model-config.md#adjust-effort-level)。覆寫工作階段 effort 等級,但不覆寫 [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/zh-TW/env-vars#variables) 環境變數。使用 `context: fork` 時,該值改為設定分叉 subagent 的 effort 等級。省略時,等級依[effort 解析順序](https://code.claude.com/docs/zh-TW/model-config.md#adjust-effort-level)決定。選項:`low`、`medium`、`high`、`xhigh`、`max`;可用等級取決於模型。 |407| `effort` | 否 | 目前回合其餘部分的[effort 等級](https://code.claude.com/docs/zh-TW/model-config.md#adjust-effort-level)。覆寫工作階段 effort 等級,但不覆寫 [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/zh-TW/env-vars#variables) 環境變數。使用 `context: fork` 時,該值改為設定分叉 subagent 的 effort 等級。省略時,等級依[effort 解析順序](https://code.claude.com/docs/zh-TW/model-config.md#adjust-effort-level)決定。若分叉使用其他模型,請參閱[subagents 和 teammates 的 effort 等級](https://code.claude.com/docs/zh-TW/model-config.md#effort-level-of-subagents-and-teammates)。選項:`low`、`medium`、`high`、`xhigh`、`max`;可用等級取決於模型。 |

408| `context` | 否 | 設定為 `fork` 以在分叉子代理上下文中運行。請參閱[在子代理中運行 skills](#run-skills-in-a-subagent)。 |408| `context` | 否 | 設定為 `fork` 以在分叉子代理上下文中運行。請參閱[在子代理中運行 skills](#run-skills-in-a-subagent)。 |

409| `agent` | 否 | 設定 `context: fork` 時要使用的子代理類型。 |409| `agent` | 否 | 設定 `context: fork` 時要使用的子代理類型。 |

410| `background` | 否 | 僅適用於 `context: fork`。設定為 `false` 以在調用 skill 的回合中等待分叉 subagent 的結果,而不是[在背景中運行它](#run-skills-in-a-subagent)。預設值:`true`。 |410| `background` | 否 | 僅適用於 `context: fork`。設定為 `false` 以在調用 skill 的回合中等待分叉 subagent 的結果,而不是[在背景中運行它](#run-skills-in-a-subagent)。預設值:`true`。 |

Details

1264 1264 

1265一旦 Keychain 再次可寫入,Claude Code 會在下次寫入憑證時將憑證移回。要立即強制執行,請執行 `/logout`,然後執行 `/login`。登出會移除所有已儲存的憑證,包括純文字檔案的內容、已儲存的 MCP 伺服器登入和外掛敏感值,因此預期之後需要重新授權 MCP 伺服器和重新輸入外掛祕密。再次登入會將您的登入儲存在 Keychain 中。1265一旦 Keychain 再次可寫入,Claude Code 會在下次寫入憑證時將憑證移回。要立即強制執行,請執行 `/logout`,然後執行 `/login`。登出會移除所有已儲存的憑證,包括純文字檔案的內容、已儲存的 MCP 伺服器登入和外掛敏感值,因此預期之後需要重新授權 MCP 伺服器和重新輸入外掛祕密。再次登入會將您的登入儲存在 Keychain 中。

1266 1266 

1267#### 在網路家目錄上登入失敗

1268 

1269當請求因 `API Error: 401` 而失敗,且您的[設定目錄](https://code.claude.com/docs/zh-TW/claude-directory.md)位於網路檔案系統上時,請檢查該檔案系統或您在其上的配額是否已滿。沒有剩餘空間時,Claude Code 無法將新的或更新的登入儲存到純文字 [`.credentials.json` 檔案](https://code.claude.com/docs/zh-TW/authentication#credential-management),而 `claude auth login` 仍可能列印 `Login successful.`

1270 

1271**1. 在檔案系統上騰出空間**

1272 

1273在存放 `~/.claude` 或您在 [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/zh-TW/env-vars) 中設定之目錄的檔案系統上,刪除不再需要的檔案。

1274 

1275**2. 重新登入**

1276 

1277在 Claude Code 提示字元執行 `/login`,或在您的 shell 中執行 `claude auth login`。

1278 

1279在 v2.1.318 之前,當 Claude Code 在已滿的網路檔案系統上儲存登入檔案時,可能會以空白檔案取代仍然有效的已儲存登入。之後的命令便會回報 `Not logged in`。

1280 

1267### Bedrock、Agent Platform 或 Foundry 憑證未載入1281### Bedrock、Agent Platform 或 Foundry 憑證未載入

1268 1282 

1269如果您設定了 Claude Code 以使用雲端提供者,並在 Amazon Bedrock 上看到 `Could not load credentials from any providers`、在 Google Cloud 的 Agent Platform 上看到 `Could not load the default credentials` 或在 Microsoft Foundry 上看到 `ChainedTokenCredential authentication failed`,您的雲端提供者 CLI 可能在目前 shell 中未進行身分驗證。1283如果您設定了 Claude Code 以使用雲端提供者,並在 Amazon Bedrock 上看到 `Could not load credentials from any providers`、在 Google Cloud 的 Agent Platform 上看到 `Could not load the default credentials` 或在 Microsoft Foundry 上看到 `ChainedTokenCredential authentication failed`,您的雲端提供者 CLI 可能在目前 shell 中未進行身分驗證。

vs-code.md +7 −2

Details

818 818 

819### 在 VS Code 中執行 CLI819### 在 VS Code 中執行 CLI

820 820 

821若要在不離開 VS Code 的情況下使用 CLI,請在 Windows/Linux 上按 `` Ctrl+` ``,或在 Mac 上按 `` Cmd+` `` 開啟整合式終端機,然後執行 `claude`。CLI 會自動與您的 IDE 整合,提供差異檢視與診斷資訊共享等功能。若使用外部終端機,請在 Claude Code 中執行 `/ide` 以將其連線至 VS Code。821若要在不離開 VS Code 的情況下使用 CLI,請在 Windows/Linux 上按 `` Ctrl+` ``,或在 Mac 上按 `` Cmd+` `` 開啟整合式終端機,然後執行 `claude`。啟動 `claude` 並不會安裝擴充功能。若未安裝擴充功能,在整合式終端機中執行 `/ide` 會回報「No available IDEs detected」,而 `/status` 會將 IDE 顯示為「Not connected」。

822 

823若要取得差異檢視與診斷資訊共享等功能,請從整合式終端機或外部終端機將 CLI 連線至擴充功能:

824 

825* **整合式終端機**:[安裝擴充功能](#install-the-extension),然後啟動 `claude`。CLI 會自動連線。

826* **外部終端機**:在 Claude Code 中執行 `/ide` 以連線至 VS Code。若 VS Code 正在執行但未安裝擴充功能,`/ide` 會自動安裝它,除非您已關閉 [`autoInstallIdeExtension`](https://code.claude.com/docs/zh-TW/settings-reference#autoinstallideextension)。

822 827 

823安裝擴充功能並不會將 `claude` 加入您的 shell PATH。擴充功能內含一份供其聊天面板使用的私有 CLI 副本,但若要在終端機中輸入 `claude`,則需要進行[獨立 CLI 安裝](https://code.claude.com/docs/zh-TW/setup.md)。只需執行一次安裝,本頁面中的命令(包括 `claude mcp add` 與 `claude --resume`)即可在任何終端機中運作。若安裝後仍找不到 `claude`,請[驗證您的 PATH](https://code.claude.com/docs/zh-TW/troubleshoot-install.md#verify-your-path)。828安裝擴充功能並不會將 `claude` 加入您的 shell PATH。擴充功能內含一份供其聊天面板使用的私有 CLI 副本,但若要在終端機中輸入 `claude`,則需要進行[獨立 CLI 安裝](https://code.claude.com/docs/zh-TW/setup.md)。只需執行一次安裝,本頁面中的命令(包括 `claude mcp add` 與 `claude --resume`)即可在任何終端機中運作。若安裝後仍找不到 `claude`,請[驗證您的 PATH](https://code.claude.com/docs/zh-TW/troubleshoot-install.md#verify-your-path)。

824 829 


10862. 搜尋「Claude Code」10912. 搜尋「Claude Code」

10873. 按一下 **Uninstall**10923. 按一下 **Uninstall**

1088 1093 

1089如果您在 VS Code 整合式終端機中執行 `claude`,Claude Code 會自動重新安裝擴充功能。若要保持解除安裝狀態,請在 `/config` 中關閉 **Auto-install IDE extension**,或將 [`autoInstallIdeExtension`](https://code.claude.com/docs/zh-TW/settings-reference#autoinstallideextension) 設定為 `false`。您也可以將 [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/zh-TW/env-vars) 環境變數設定為 `1`。1094當您啟動 `claude` 時,擴充功能會保持解除安裝狀態。如果您在 VS Code 執行期間從外部終端機執行 `/ide`,Claude Code 會重新安裝擴充功能。若要避免這種情況,請在 `~/.claude.json` 中將 [`autoInstallIdeExtension`](https://code.claude.com/docs/zh-TW/settings-reference#autoinstallideextension) 設定為 `false`,或從整合式終端機在 `/config` 中關閉 **Auto-install IDE extension**。您也可以將 [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/zh-TW/env-vars) 環境變數設定為 `1`。

1090 1095 

1091若要一併移除擴充功能資料並重設所有設定,請刪除您平台上擴充功能的儲存目錄。1096若要一併移除擴充功能資料並重設所有設定,請刪除您平台上擴充功能的儲存目錄。

1092 1097