SpyBara
Go Premium

Documentation 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

126 files changed +7,056 −3,544. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

10 10 

11螢幕閱讀器模式是選擇性加入的。如果您使用螢幕放大鏡、減少動畫或色盲友善主題而不是螢幕閱讀器,請從[無障礙設定](#accessibility-settings)表格設定 `CLAUDE_CODE_ACCESSIBILITY`、`prefersReducedMotion` 或 `theme`。螢幕閱讀器模式只會調整終端介面,因此您不需要在 VS Code 擴充功能的聊天面板中使用它。在 Claude Code v2.1.236 或更新版本上,擴充功能會[向您的螢幕閱讀器宣告聊天活動](/docs/zh-TW/vs-code#use-a-screen-reader),無需任何設定。11螢幕閱讀器模式是選擇性加入的。如果您使用螢幕放大鏡、減少動畫或色盲友善主題而不是螢幕閱讀器,請從[無障礙設定](#accessibility-settings)表格設定 `CLAUDE_CODE_ACCESSIBILITY`、`prefersReducedMotion` 或 `theme`。螢幕閱讀器模式只會調整終端介面,因此您不需要在 VS Code 擴充功能的聊天面板中使用它。在 Claude Code v2.1.236 或更新版本上,擴充功能會[向您的螢幕閱讀器宣告聊天活動](/docs/zh-TW/vs-code#use-a-screen-reader),無需任何設定。

12 12 

13螢幕閱讀器模式需要 Claude Code v2.1.181 或更新版本。較早版本會以 `error: unknown option '--ax-screen-reader'` 拒絕 `--ax-screen-reader` 旗標。

14 

15<h2 id="turn-on-screen-reader-mode">13<h2 id="turn-on-screen-reader-mode">

16 開啟螢幕閱讀器模式14 開啟螢幕閱讀器模式

17</h2>15</h2>

admin-setup.md +4 −3

Details

36| Google Cloud's Agent Platform | 您希望繼承現有的 GCP 合規控制和計費 |36| Google Cloud's Agent Platform | 您希望繼承現有的 GCP 合規控制和計費 |

37| Microsoft Foundry | 您希望繼承現有的 Azure 合規控制和計費 |37| Microsoft Foundry | 您希望繼承現有的 Azure 合規控制和計費 |

38 38 

39某些 Claude Code 功能需要 claude.ai 帳戶。[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web)、[Routines](/docs/zh-TW/routines)、[Code Review](/docs/zh-TW/code-review)、[Remote Control](/docs/zh-TW/remote-control) 和 [Chrome extension](/docs/zh-TW/chrome) 無法透過 Console API 金鑰或雲端提供者認證單獨使用。如果您透過 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 部署,請規劃開發人員是否也需要 Claude for Teams 或 Enterprise 座位。每個功能頁面都列出其計畫要求。39某些 Claude Code 功能需要 claude.ai 帳戶。[Cloud sessions](/docs/zh-TW/claude-code-on-the-web)、[Routines](/docs/zh-TW/routines)、[Code Review](/docs/zh-TW/code-review)、[Remote Control](/docs/zh-TW/remote-control) 和 [Chrome extension](/docs/zh-TW/chrome) 無法透過 Console API 金鑰或雲端提供者認證單獨使用。如果您透過 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 部署,請規劃開發人員是否也需要 Claude for Teams 或 Enterprise 座位。每個功能頁面都列出其計畫要求。

40 40 

41有關涵蓋驗證、區域和功能奇偶性的完整提供者比較,請參閱 [企業部署概述](/docs/zh-TW/third-party-integrations)。每個提供者的驗證設定位於 [Authentication](/docs/zh-TW/authentication)。41有關涵蓋驗證、區域和功能奇偶性的完整提供者比較,請參閱 [企業部署概述](/docs/zh-TW/third-party-integrations)。每個提供者的驗證設定位於 [Authentication](/docs/zh-TW/authentication)。

42 42 


102| [Managed policy CLAUDE.md](/docs/zh-TW/memory#deploy-organization-wide-claude-md) | 在每個會話中載入的組織範圍指令,無法排除 | 受管政策路徑中的檔案 |102| [Managed policy CLAUDE.md](/docs/zh-TW/memory#deploy-organization-wide-claude-md) | 在每個會話中載入的組織範圍指令,無法排除 | 受管政策路徑中的檔案 |

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

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

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

106| [Disable claude.ai sync](/docs/zh-TW/settings-reference#syncclaudeaiskills) | 停止 Claude Code 載入[skills](/docs/zh-TW/skills#how-synced-skills-behave)和[外掛程式](/docs/zh-TW/plugins-reference#synced-plugins)您的開發人員在 claude.ai 上啟用。如果您為組織關閉 claude.ai 上的 Skills,Claude Code 會停止同步兩者,在 v2.1.273 或更新版本上,它也會移除已同步的。若要在不關閉 Skills 的情況下停止其中任一個,請在受管設定中將其鍵設定為 `false` | `syncClaudeAiSkills`、`syncClaudeAiPlugins` |

106| [Hook restrictions](/docs/zh-TW/settings-reference#allowmanagedhooksonly) | 限制哪些 hooks 執行並限制 HTTP hook URL;請參閱[在 `allowManagedHooksOnly` 下執行的內容](/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)以了解完整的效果清單 | `allowManagedHooksOnly`、`allowedHttpHookUrls` |107| [Hook restrictions](/docs/zh-TW/settings-reference#allowmanagedhooksonly) | 限制哪些 hooks 執行並限制 HTTP hook URL;請參閱[在 `allowManagedHooksOnly` 下執行的內容](/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)以了解完整的效果清單 | `allowManagedHooksOnly`、`allowedHttpHookUrls` |

107| [Login enforcement](/docs/zh-TW/settings-reference#forceloginmethod) | 限制登入為特定方法或 Anthropic 組織。方法限制適用於 VS Code 擴充功能、Agent SDK、`claude setup-token` 和 `/install-github-app`,以及終端的互動式登入畫面(透過 `/login` 或首次執行上線到達),預先選擇方法而不強制執行;Claude Code 驗證終端、VS Code 擴充功能和 Agent SDK 中 claude.ai 帳戶登入的組織,不檢查 Claude Console 登入或[閘道](/docs/zh-TW/claude-apps-gateway)登入。在 v2.1.212 之前,只有終端登入應用任一鍵。設定時,由 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 驗證的會話在啟動時被阻止;雲端提供者會話不受影響 | `forceLoginMethod`、`forceLoginOrgUUID` |108| [Login enforcement](/docs/zh-TW/settings-reference#forceloginmethod) | 限制登入為特定方法或 Anthropic 組織。方法限制適用於 VS Code 擴充功能、Agent SDK、`claude setup-token` 和 `/install-github-app`,以及終端的互動式登入畫面(透過 `/login` 或首次執行上線到達),預先選擇方法而不強制執行;Claude Code 驗證終端、VS Code 擴充功能和 Agent SDK 中 claude.ai 帳戶登入的組織,不檢查 Claude Console 登入或[閘道](/docs/zh-TW/claude-apps-gateway)登入。在 v2.1.212 之前,只有終端登入應用任一鍵。設定時,由 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 驗證的會話在啟動時被阻止;雲端提供者會話不受影響 | `forceLoginMethod`、`forceLoginOrgUUID` |

108| [Disable agent view](/docs/zh-TW/agent-view#how-background-sessions-are-hosted) | 關閉 `claude agents`、`--bg`、`/background` 和隨選監督員 | `disableAgentView` |109| [Disable agent view](/docs/zh-TW/agent-view#how-background-sessions-are-hosted) | 關閉 `claude agents`、`--bg`、`/background` 和隨選監督員 | `disableAgentView` |


121 122 

122這些控制都不會到達 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 上的會話。在這些提供者上,改用受管設定:`availableModels` 用於限制、`model` 用於預設值,以及 [`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) 用於工作量限制。123這些控制都不會到達 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 上的會話。在這些提供者上,改用受管設定:`availableModels` 用於限制、`model` 用於預設值,以及 [`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) 用於工作量限制。

123 124 

124[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 有其自己的管理表面:在管理設定中的 Cloud environments 頁面上,擁有者建立[組織共享環境](/docs/zh-TW/cloud-environments#organization-shared-environments),設定成員雲端會話的[網路存取級別](/docs/zh-TW/cloud-environments#network-access)、環境變數和設定指令碼。擁有者在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 分別選擇組織的預設環境。125[Cloud sessions](/docs/zh-TW/claude-code-on-the-web)有其自己的管理表面:在管理設定中的 Cloud environments 頁面上,擁有者建立[組織共享環境](/docs/zh-TW/cloud-environments#organization-shared-environments),設定成員雲端會話的[網路存取級別](/docs/zh-TW/cloud-environments#network-access)、環境變數和設定指令碼。擁有者在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 分別選擇組織的預設環境。

125 126 

126權限規則和沙箱涵蓋不同的層。拒絕 WebFetch 會阻止 Claude 的 fetch 工具,但如果允許 Bash,`curl` 和 `wget` 仍然可以到達任何 URL。沙箱透過在作業系統級別執行的網路網域允許清單來彌補這一差距。127權限規則和沙箱涵蓋不同的層。拒絕 WebFetch 會阻止 Claude 的 fetch 工具,但如果允許 Bash,`curl` 和 `wget` 仍然可以到達任何 URL。沙箱透過在作業系統級別執行的網路網域允許清單來彌補這一差距。

127 128 

Details

222 222 

223預算上限涵蓋 [子代理程式](/docs/zh-TW/agent-sdk/subagents):它們的支出計入總額。一旦支出達到上限,生成另一個子代理程式會失敗並顯示 `Budget limit reached`,Claude Code 會停止任何仍在執行的背景子代理程式。上限強制行為需要 Claude Code v2.1.217 或更新版本。223預算上限涵蓋 [子代理程式](/docs/zh-TW/agent-sdk/subagents):它們的支出計入總額。一旦支出達到上限,生成另一個子代理程式會失敗並顯示 `Budget limit reached`,Claude Code 會停止任何仍在執行的背景子代理程式。上限強制行為需要 Claude Code v2.1.217 或更新版本。

224 224 

225使用 [串流輸入](/docs/zh-TW/agent-sdk/streaming-vs-single-mode),當回合在最大回合限制時結束時,仍在佇列中的訊息會保持佇列狀態。Claude Code 不會將其新增到該回合的最後一次模型呼叫中。它為訊息開始新的回合,該回合的最大回合計數重新開始。225使用 [串流輸入](/docs/zh-TW/agent-sdk/streaming-vs-single-mode),當回合在最大回合限制時結束時,仍在佇列中的訊息會保持佇列狀態。Claude Code 不會將其新增到該回合的最後一次模型呼叫中。它為訊息開始新的回合,該回合的最大回合計數重新開始。預算總額會持續在訊息間累積,一旦支出達到 `maxBudgetUsd`,同一對話中的後續訊息會以 `error_max_budget_usd` 結果結束。[`/clear`](/docs/zh-TW/agent-sdk/cost-tracking) 會重新開始預算。

226 226 

227<h3 id="effort-level">227<h3 id="effort-level">

228 努力等級228 努力等級


267 模型267 模型

268</h3>268</h3>

269 269 

270如果您不設定 `model`,SDK 會使用 Claude Code 的預設值,這取決於您的驗證方法和訂閱。明確設定它(例如,`model="claude-sonnet-5"`)以固定特定模型或使用較小的模型以獲得更快、更便宜的代理程式。請參閱 [模型](https://platform.claude.com/docs/en/about-claude/models) 以了解可用的 ID。270設定 `model` 選項以選擇哪個模型執行工作階段。如需更多資訊,請參閱 [選擇模型](/docs/zh-TW/agent-sdk/configuration#choose-a-model)。

271 271 

272<h2 id="the-context-window">272<h2 id="the-context-window">

273 上下文視窗273 上下文視窗

Details

107 專案指令(CLAUDE.md 和規則)107 專案指令(CLAUDE.md 和規則)

108</h2>108</h2>

109 109 

110`CLAUDE.md` 檔案和 `.claude/rules/*.md` 檔案為您的代理提供有關您的專案的持久上下文:編碼慣例、建置命令、架構決策和指令。當 `settingSources` 包含 `"project"`(如上面的範例所示)時,SDK 在工作階段開始時將這些檔案載入到上下文中。代理隨後會遵循您的專案慣例,而無需在每個提示中重複它們。110`CLAUDE.md` 檔案和 `.claude/rules/*.md` 檔案為您的代理提供有關您的專案的持久上下文:編碼慣例、建置命令、架構決策和指令。當 `settingSources` 包含 `"project"`(如 [`settingSources` 範例](#control-filesystem-settings-with-settingsources)所示)時,SDK 在工作階段開始時將這些檔案載入到上下文中。代理隨後會遵循您的專案慣例,而無需在每個提示中重複它們。

111 111 

112<h3 id="claude-md-load-locations">112<h3 id="claude-md-load-locations">

113 CLAUDE.md 載入位置113 CLAUDE.md 載入位置

agent-sdk/configuration.md +315 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# 設定您的代理

6 

7> 設定 Agent SDK 工作階段:組合選項物件、設定模型、環境和限制,並找到每個功能選項的頁面。

8 

9Agent SDK 工作階段從設定檔、環境變數和您啟動時傳遞的 `options` 物件讀取設定。本頁面說明如何組合 `options` 物件,以及哪些設定檔和環境變數控制它。

10 

11如需每個選項的類型和預設值,請參閱 [`Options`](/docs/zh-TW/agent-sdk/typescript#options)(TypeScript)和 [`ClaudeAgentOptions`](/docs/zh-TW/agent-sdk/python#claudeagentoptions)(Python)參考。

12 

13<h2 id="pass-options-to-a-session">

14 將選項傳遞給工作階段

15</h2>

16 

17每個 `query()` 呼叫都接受一個選項物件:TypeScript 中的 `Options`、Python 中的 `ClaudeAgentOptions`。每個欄位都是選擇性的,以無選項啟動的工作階段會以 SDK 的預設值執行。下面的範例設定了一個唯讀工作階段,可以總結專案的開放 TODO。配對讀作 TypeScript / Python,其中拼寫不同:

18 

19* **`model`**:選擇模型

20* **`allowedTools` / `allowed_tools`**:預先核准唯讀工具清單

21* **`maxTurns` / `max_turns`**:限制回合數

22* **`cwd`**:設定工作目錄

23 

24<CodeGroup>

25 ```typescript TypeScript theme={null}

26 import { query } from "@anthropic-ai/claude-agent-sdk";

27 

28 for await (const message of query({

29 prompt: "Summarize the open TODOs in this repo",

30 options: {

31 model: "claude-sonnet-5",

32 allowedTools: ["Read", "Glob", "Grep"],

33 maxTurns: 8,

34 cwd: "/path/to/repo",

35 },

36 })) {

37 if (message.type === "result" && message.subtype === "success" && !message.is_error) {

38 console.log(message.result);

39 }

40 }

41 ```

42 

43 ```python Python theme={null}

44 import asyncio

45 

46 from claude_agent_sdk import ClaudeAgentOptions, ResultMessage, query

47 

48 async def main():

49 options = ClaudeAgentOptions(

50 model="claude-sonnet-5",

51 allowed_tools=["Read", "Glob", "Grep"],

52 max_turns=8,

53 cwd="/path/to/repo",

54 )

55 

56 async for message in query(

57 prompt="Summarize the open TODOs in this repo",

58 options=options,

59 ):

60 if isinstance(message, ResultMessage) and not message.is_error:

61 print(message.result)

62 

63 asyncio.run(main())

64 ```

65</CodeGroup>

66 

67將 `cwd` 指向您自己的其中一個專案並執行範例。該專案的開放 TODO 摘要會在結果訊息到達時列印。

68 

69`allowedTools`(TypeScript)或 `allowed_tools`(Python)預先核准列出的工具,因此對它們的呼叫會在不停止以獲得核准的情況下執行。清單外的工具保持可用。當 Claude 呼叫未列出的工具時,權限模式決定呼叫是否執行。如需詳細資訊,請參閱[允許和拒絕規則](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules)。

70 

71<h2 id="load-settings-files">

72 載入設定檔

73</h2>

74 

75設定檔提供超出選項物件的設定。兩個選項控制它們的載入方式:

76 

77* **`settingSources` / `setting_sources`**:控制哪些檔案系統來源載入:使用者、專案和本機。設定檔和 CLAUDE.md 檔案透過這些來源到達。

78* **`settings`**:載入設定檔路徑或任一語言的內嵌 JSON 字串,TypeScript 也接受設定物件。無論您傳遞什麼形式都會覆蓋使用者、專案和本機檔案系統設定;只有受管理的原則設定排名更高。參考文件在 TypeScript 的[設定優先順序](/docs/zh-TW/agent-sdk/typescript#settings-precedence)和 Python 的[設定優先順序](/docs/zh-TW/agent-sdk/python#settings-precedence)下記錄完整的優先順序順序。

79 

80傳遞 `[]` 以停用使用者、專案和本機設定。如需詳細資訊,請參閱[在 SDK 中使用 Claude Code 功能](/docs/zh-TW/agent-sdk/claude-code-features)。

81 

82<h2 id="choose-a-model">

83 選擇模型

84</h2>

85 

86除非 `model` 選項、您的設定或您的環境選擇模型,否則新工作階段會在 [Claude Code 的預設模型](/docs/zh-TW/model-config#default-model-setting)上啟動。如需這些來源的順序,請參閱[設定您的模型](/docs/zh-TW/model-config#setting-your-model)。設定 `model` 以固定特定模型,或選擇較小的模型以獲得更快、更便宜的代理。該值採用模型別名或完整模型名稱;別名及其解析的版本列在[模型別名](/docs/zh-TW/model-config#model-aliases)下。

87 

88設定 `fallbackModel`(TypeScript)或 `fallback_model`(Python)以命名備份模型。當主要模型過載或不可用時,工作階段會切換到備份。主要模型在每個使用者回合開始時重試,因此一旦中斷通過,工作階段會返回到它。

89 

90在任一語言中,該選項接受單個模型或逗號分隔的備份清單。如需順序和鏈上限,請參閱[備份模型鏈](/docs/zh-TW/model-config#fallback-model-chains)。在 TypeScript 中,等於 `model` 的備份在啟動時會拋出錯誤。

91 

92下面的範例顯示 TypeScript 中的備份清單和 Python 中的單個備份:

93 

94<CodeGroup>

95 ```typescript TypeScript theme={null}

96 const options = {

97 model: "claude-fable-5",

98 fallbackModel: "claude-opus-5,claude-sonnet-5",

99 };

100 ```

101 

102 ```python Python theme={null}

103 options = ClaudeAgentOptions(

104 model="claude-fable-5",

105 fallback_model="claude-opus-5",

106 )

107 ```

108</CodeGroup>

109 

110<span id="sampling-parameters" />

111 

112<Note>

113 [Messages API](https://platform.claude.com/docs/en/api/messages) 請求參數 `temperature`、`top_p` 和 `max_tokens` 在任一語言的選項物件上都沒有欄位。改為設定[努力級別](/docs/zh-TW/agent-sdk/agent-loop#effort-level)或[支出上限](#limit-turns-and-spend),或在您需要直接使用這些參數時呼叫 Messages API。

114</Note>

115 

116<h2 id="set-environment-variables">

117 設定環境變數

118</h2>

119 

120`env` 選項為執行您工作階段的 Claude Code 程序設定環境變數。您的值是否替換繼承的環境或合併到它上面因語言而異:

121 

122* **TypeScript**:`env` 替換子程序環境

123* **Python**:SDK 將您的值合併到繼承的環境上,您的值覆蓋繼承的值

124 

125在 TypeScript 中,將 `process.env` 展開到 `env` 中以保留繼承的變數,例如 `PATH`、`HOME` 和 `ANTHROPIC_API_KEY`。當您不設定 `env` 時,子程序在兩種語言中都繼承您的環境。

126 

127該範例透過設定 `ANTHROPIC_BASE_URL` 將 API 流量路由通過閘道。

128 

129<CodeGroup>

130 ```typescript TypeScript theme={null}

131 const options = {

132 env: { ...process.env, ANTHROPIC_BASE_URL: "https://gateway.example.com" },

133 };

134 ```

135 

136 ```python Python theme={null}

137 options = ClaudeAgentOptions(

138 env={"ANTHROPIC_BASE_URL": "https://gateway.example.com"},

139 )

140 ```

141</CodeGroup>

142 

143您傳遞的變數也可以設定 Claude Code 本身。如需 Claude Code 程序讀取的變數,請參閱[環境變數](/docs/zh-TW/env-vars)。若要以這種方式調整 API 逾時和停滯偵測,請遵循 [TypeScript 參考](/docs/zh-TW/agent-sdk/typescript#handle-slow-or-stalled-api-responses)或 [Python 參考](/docs/zh-TW/agent-sdk/python#handle-slow-or-stalled-api-responses)中的「處理緩慢或停滯的 API 回應」部分。

144 

145<h2 id="set-the-working-directory">

146 設定工作目錄

147</h2>

148 

149設定 `cwd` 以在特定目錄中執行工作階段。當您不設定 `cwd` 時,工作階段會在您程序的工作目錄中執行。兩個 SDK 都沒有 `cwd` 的設定器。若要在不同目錄中執行,請使用該 `cwd` 啟動另一個工作階段。

150 

151Claude Code 讀取工作目錄以確定:

152 

153* **專案設定和 hooks**:哪個專案的[設定和 hooks 載入](/docs/zh-TW/agent-sdk/claude-code-features)

154* **Skills**:[工作階段 skills 的發現位置](/docs/zh-TW/agent-sdk/skills)

155* **工作階段儲存**:[儲存的工作階段屬於哪個專案](/docs/zh-TW/agent-sdk/session-storage)

156 

157若要讓工具到達工作目錄外的檔案,請使用 `additionalDirectories`(TypeScript)或 `add_dirs`(Python)新增路徑。如需該授予的範圍,請參閱[其他目錄授予檔案存取權,而非設定](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)。

158 

159<h2 id="limit-turns-and-spend">

160 限制回合和支出

161</h2>

162 

163使用 `maxTurns` / `max_turns` 和 `maxBudgetUsd` / `max_budget_usd` 限制回合和支出。當未設定時,兩個上限都關閉。當工作階段達到上限時,執行以結果訊息結束,其子類型命名上限,`error_max_turns` 或 `error_max_budget_usd`。接下來發生的情況因輸入模式而異:

164 

165* **單次 `query()`**:SDK 產生上限結果,然後引發,因此將迴圈包裝在 try 區塊中以在錯誤後繼續

166* **串流輸入**:工作階段在上限結果後保持活動,最大回合計數為每個排隊訊息重新開始。預算總計在訊息中累積,一旦支出達到上限,同一對話中的後續訊息以相同的預算結果結束。[`/clear`](/docs/zh-TW/agent-sdk/cost-tracking) 重新開始預算

167 

168兩個上限對 `0` 的處理方式不同:

169 

170* **`maxTurns` / `max_turns`**:`0` 執行沒有回合限制的工作階段,與不設定選項相同

171* **`maxBudgetUsd` / `max_budget_usd`**:CLI 在啟動時拒絕 `0` 作為無效金額,工作階段永遠不會執行

172 

173如需有關兩個上限的詳細資訊,包括子代理支出,請參閱[回合和預算](/docs/zh-TW/agent-sdk/agent-loop#turns-and-budget)。

174 

175<h2 id="change-configuration-mid-session">

176 在工作階段中途變更設定

177</h2>

178 

179當您使用[串流輸入](/docs/zh-TW/agent-sdk/streaming-vs-single-mode)啟動工作階段時,您可以在執行時切換其模型和權限模式。您呼叫設定器的位置因語言而異:

180 

181* **TypeScript**:`query()` 傳回的物件上的方法

182* **Python**:[`ClaudeSDKClient`](/docs/zh-TW/agent-sdk/python#claudesdkclient) 上的方法,因為 `query()` 傳回沒有控制方法的純迭代器

183 

184兩種語言都有相同的設定器:

185 

186* **`setModel()` / `set_model()`**:切換模型。不帶模型呼叫它以切換到 [Claude Code 的預設模型](/docs/zh-TW/model-config#default-model-setting),而不是您在選項中傳遞的 `model`。

187* **`setPermissionMode()` / `set_permission_mode()`**:切換權限模式

188 

189TypeScript 也有 `applyFlagSettings()` 和 `updateSettings()`:

190 

191* **`applyFlagSettings()`**:在執行時應用設定,如 `await session.applyFlagSettings({ effortLevel: "high" })`。該方法採用設定檔鍵而不是選項欄位,因此請檢查 [`applyFlagSettings()` 參考](/docs/zh-TW/agent-sdk/typescript#applyflagsettings)以了解架構以及哪些鍵在工作階段中途生效。

192* **`updateSettings()`**:將允許清單中的一組鍵寫入專案的本機設定檔,如 `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`。寫入的鍵在工作階段的下一個請求上生效,並為載入 `local` 設定的後續工作階段持續。該方法在[方法表](/docs/zh-TW/agent-sdk/typescript#methods)中的行命名允許清單鍵和版本下限。

193 

194下面的範例執行一個兩回合工作階段,在回合之間變更設定,並列印回答每個回合的模型。在 TypeScript 中,提示流保持第二個訊息,直到設定器執行,第二個回合在新模型上執行。

195 

196<CodeGroup>

197 ```typescript TypeScript theme={null}

198 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

199 

200 function userMessage(text: string): SDKUserMessage {

201 return { type: "user", message: { role: "user", content: text }, parent_tool_use_id: null };

202 }

203 

204 // Hold the second prompt until the setters have run.

205 let startSecondTurn!: () => void;

206 const secondTurnReady = new Promise<void>((resolve) => {

207 startSecondTurn = resolve;

208 });

209 

210 async function* turnPrompts(): AsyncGenerator<SDKUserMessage, void> {

211 yield userMessage("Reply with exactly: ready");

212 await secondTurnReady;

213 yield userMessage("Reply with exactly: done");

214 }

215 

216 const session = query({

217 prompt: turnPrompts(),

218 options: {

219 model: "claude-sonnet-5",

220 },

221 });

222 

223 let turnModel = "";

224 let completedTurns = 0;

225 

226 for await (const message of session) {

227 if (message.type === "assistant") {

228 turnModel = message.message.model;

229 } else if (message.type === "result") {

230 completedTurns += 1;

231 if (completedTurns === 1) {

232 console.log(`First turn model: ${turnModel}`);

233 await session.setModel("claude-opus-5");

234 await session.setPermissionMode("acceptEdits");

235 startSecondTurn();

236 } else {

237 console.log(`Second turn model: ${turnModel}`);

238 break;

239 }

240 }

241 }

242 ```

243 

244 ```python Python theme={null}

245 import asyncio

246 

247 from claude_agent_sdk import AssistantMessage, ClaudeAgentOptions, ClaudeSDKClient

248 

249 async def main():

250 options = ClaudeAgentOptions(model="claude-sonnet-5")

251 

252 async with ClaudeSDKClient(options=options) as client:

253 await client.query("Reply with exactly: ready")

254 first_model = ""

255 async for message in client.receive_response():

256 if isinstance(message, AssistantMessage):

257 first_model = message.model

258 

259 await client.set_model("claude-opus-5")

260 await client.set_permission_mode("acceptEdits")

261 

262 await client.query("Reply with exactly: done")

263 second_model = ""

264 async for message in client.receive_response():

265 if isinstance(message, AssistantMessage):

266 second_model = message.model

267 

268 print(f"First turn model: {first_model}")

269 print(f"Second turn model: {second_model}")

270 

271 asyncio.run(main())

272 ```

273</CodeGroup>

274 

275在 Claude API 上,程式列印 `First turn model: claude-sonnet-5`,然後在切換後列印 `Second turn model: claude-opus-5`。

276 

277<Note>

278 每個模型都有自己的提示快取,因此在工作階段中途切換後,下一個請求會以新模型的費率重新計算完整對話未快取。如需詳細資訊,請參閱[切換模型](/docs/zh-TW/prompt-caching#switching-models)。

279</Note>

280 

281<h2 id="configure-specific-features">

282 設定特定功能

283</h2>

284 

285下表將每個選項對應到它設定的功能。如需本頁面未涵蓋的選項,請參閱 [TypeScript](/docs/zh-TW/agent-sdk/typescript#options) 和 [Python](/docs/zh-TW/agent-sdk/python#claudeagentoptions) 參考。如果您知道您的目標但不知道哪個選項為其服務,請從[選擇正確的功能](/docs/zh-TW/agent-sdk/claude-code-features#choose-the-right-feature)開始。

286 

287| TypeScript | Python | 控制 | 涵蓋在 |

288| ------------------------- | --------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

289| `permissionMode` | `permission_mode` | 代理可以在沒有核准的情況下做什麼 | [設定權限](/docs/zh-TW/agent-sdk/permissions) |

290| `allowedTools` | `allowed_tools` | 哪些工具呼叫被預先核准 | [設定權限](/docs/zh-TW/agent-sdk/permissions) |

291| `canUseTool` | `can_use_tool` | 您對工具呼叫的核准回呼 | [處理工具核准請求](/docs/zh-TW/agent-sdk/user-input#handle-tool-approval-requests) |

292| `systemPrompt` | `system_prompt` | 代理的指示 | [修改系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts) |

293| `settingSources` | `setting_sources` | 哪些檔案系統設定載入 | [在 SDK 中使用 Claude Code 功能](/docs/zh-TW/agent-sdk/claude-code-features) |

294| `mcpServers` | `mcp_servers` | 外部工具伺服器 | [使用 MCP 連接到外部工具](/docs/zh-TW/agent-sdk/mcp) |

295| `agents` | `agents` | 子代理定義 | [子代理](/docs/zh-TW/agent-sdk/subagents) |

296| `hooks` | `hooks` | 生命週期點的回呼 | [Hooks](/docs/zh-TW/agent-sdk/hooks) |

297| `skills` | `skills` | 哪些 skills 載入 | [使用 skills 擴展代理](/docs/zh-TW/agent-sdk/skills) |

298| `plugins` | `plugins` | 哪些 plugins 載入 | [Plugins](/docs/zh-TW/agent-sdk/plugins) |

299| `outputFormat` | `output_format` | 結構化輸出架構 | [結構化輸出](/docs/zh-TW/agent-sdk/structured-outputs) |

300| `resume` | `resume` | 繼續儲存的工作階段 | [工作階段](/docs/zh-TW/agent-sdk/sessions) |

301| `forkSession` | `fork_session` | 分支工作階段 | [工作階段](/docs/zh-TW/agent-sdk/sessions) |

302| `sessionStore` | `session_store` | 外部工作階段持續性 | [工作階段儲存](/docs/zh-TW/agent-sdk/session-storage) |

303| `enableFileCheckpointing` | `enable_file_checkpointing` | 可倒帶的檔案編輯 | [檔案 checkpointing](/docs/zh-TW/agent-sdk/file-checkpointing) |

304| `effort` | `effort` | Claude 在回應中投入多少工作 | [努力級別](/docs/zh-TW/agent-sdk/agent-loop#effort-level) |

305| `sandbox` | `sandbox` | 工具執行的沙箱行為 | [TypeScript](/docs/zh-TW/agent-sdk/typescript#sandbox-configuration) 和 [Python](/docs/zh-TW/agent-sdk/python#sandbox-configuration) 參考,部署內容在[安全部署](/docs/zh-TW/agent-sdk/secure-deployment) |

306 

307<h2 id="next-steps">

308 後續步驟

309</h2>

310 

311若要查看組合成工作代理的設定:

312 

313* **[快速入門](/docs/zh-TW/agent-sdk/quickstart)**:端到端建立並執行第一個代理

314* **[範例](/docs/zh-TW/agent-sdk/examples)**:找到完整、可執行的專案或符合您想要建立的內容的引導式 Claude Cookbook 配方

315* **[多租戶隔離](/docs/zh-TW/agent-sdk/hosting#multi-tenant-isolation)**:使用 `settingSources` / `setting_sources`、`env` 和 `cwd` 隔離每個租戶的設定和記憶

Details

78 78 

79在 TypeScript 中,SDK 也會在每次重設時發出 [`SDKConversationResetMessage`](/docs/zh-TW/agent-sdk/typescript#sdkconversationresetmessage),因此您可以從串流中偵測重設。在 Python 中,SDK 同樣會發出 `ConversationResetMessage`。在 Python SDK v0.2.137 之前,Python 迭代器會捨棄該訊息,因此在這些版本上,請從您的應用程式傳送的 `/clear` 回合自行計數重設。79在 TypeScript 中,SDK 也會在每次重設時發出 [`SDKConversationResetMessage`](/docs/zh-TW/agent-sdk/typescript#sdkconversationresetmessage),因此您可以從串流中偵測重設。在 Python 中,SDK 同樣會發出 `ConversationResetMessage`。在 Python SDK v0.2.137 之前,Python 迭代器會捨棄該訊息,因此在這些版本上,請從您的應用程式傳送的 `/clear` 回合自行計數重設。

80 80 

81`maxBudgetUsd`,或 Python 中的 `max_budget_usd`,與相同的執行總計進行比較,因此 `/clear` 也會重新開始預算。81`maxBudgetUsd`(TypeScript)或 Python 中的 `max_budget_usd` 與相同的執行總計進行比較,因此 `/clear` 也會重新開始預算。

82 82 

83<h2 id="get-the-total-cost-of-a-query">83<h2 id="get-the-total-cost-of-a-query">

84 取得查詢的總成本84 取得查詢的總成本

Details

138 138 

139透過 `mcpServers` 選項將您建立的 MCP 伺服器傳遞給 `query`。`mcpServers` 中的鍵成為每個工具的完全限定名稱中的 `{server_name}` 區段:`mcp__{server_name}__{tool_name}`。在 `allowedTools` 中列出該名稱,以便工具執行而不會出現權限提示。139透過 `mcpServers` 選項將您建立的 MCP 伺服器傳遞給 `query`。`mcpServers` 中的鍵成為每個工具的完全限定名稱中的 `{server_name}` 區段:`mcp__{server_name}__{tool_name}`。在 `allowedTools` 中列出該名稱,以便工具執行而不會出現權限提示。

140 140 

141這些程式碼片段重複使用[上面範例](#weather-tool-example)中的 `weatherServer` 來詢問 Claude 特定位置的天氣。141這些程式碼片段重複使用[天氣工具範例](#weather-tool-example)中的 `weatherServer` 來詢問 Claude 特定位置的天氣。

142 142 

143<CodeGroup>143<CodeGroup>

144 ```python Python theme={null}144 ```python Python theme={null}

Details

179 </Step>179 </Step>

180 180 

181 <Step title="捕捉 checkpoint UUID 和工作階段 ID">181 <Step title="捕捉 checkpoint UUID 和工作階段 ID">

182 設定 `replay-user-messages` 選項後(如上所示),回應串流中的每個使用者訊息都有一個 UUID,可作為 checkpoint。182 設定 `replay-user-messages` 選項後,回應串流中的每個使用者訊息都有一個 UUID,可作為 checkpoint。

183 183 

184 對於大多數使用案例,捕捉第一個使用者訊息 UUID(`message.uuid`);回溯到它會將所有檔案還原到其原始狀態。若要儲存多個 checkpoint 並回溯到中間狀態,請參閱[多個還原點](#multiple-restore-points)。184 對於大多數使用案例,捕捉第一個使用者訊息 UUID(`message.uuid`);回溯到它會將所有檔案還原到其原始狀態。若要儲存多個 checkpoint 並回溯到中間狀態,請參閱[多個還原點](#multiple-restore-points)。

185 185 

Details

826 826 

827Claude Code 以超時時間執行每個回調,您可以在其 `HookMatcher` 上使用 `timeout` 欄位以秒為單位設定。當您未設定時,Claude Code 使用事件的預設值:大多數事件為 600 秒,`UserPromptSubmit`、`PreModelSwitch` 和 `PostModelSwitch` 為 30 秒,`MessageDisplay` 為 10 秒。Claude Code 在關閉期間執行 `SessionEnd` 回調,使用較短的 [SessionEnd 超時預算](/docs/zh-TW/hooks#sessionend-input),預設為 1.5 秒。827Claude Code 以超時時間執行每個回調,您可以在其 `HookMatcher` 上使用 `timeout` 欄位以秒為單位設定。當您未設定時,Claude Code 使用事件的預設值:大多數事件為 600 秒,`UserPromptSubmit`、`PreModelSwitch` 和 `PostModelSwitch` 為 30 秒,`MessageDisplay` 為 10 秒。Claude Code 在關閉期間執行 `SessionEnd` 回調,使用較短的 [SessionEnd 超時預算](/docs/zh-TW/hooks#sessionend-input),預設為 1.5 秒。

828 828 

829當回調超過其超時時間時,Claude Code 取消它並將其視為失敗的 hook:它捨棄回調的輸出,會話繼續而不是掛起。接下來發生的情況取決於事件:829當回調超過其超時時間時,Claude Code 取消它並捨棄其輸出,會話繼續而不是掛起。接下來發生的情況取決於事件:

830 830 

831* `PreToolUse`:Claude Code 不執行工具呼叫,Claude 收到工具結果,說明 hook 未在超時前回應,轉換繼續。如果另一個 `PreToolUse` hook 返回明確拒絕,Claude 改為收到該拒絕而不是超時錯誤。在 v2.1.210 之前,Claude Code 將超時報告給 Claude 作為使用者拒絕,這使無人值守會話停止並等待輸入。831* `PreToolUse`:Claude Code 不執行工具呼叫,Claude 收到工具結果,說明 hook 未在超時前回應,轉換繼續。如果另一個 `PreToolUse` hook 返回明確拒絕,Claude 改為收到該拒絕而不是超時錯誤。在 v2.1.210 之前,Claude Code 將超時報告給 Claude 作為使用者拒絕,這使無人值守會話停止並等待輸入。

832* `PostToolUse` 和 `PostToolUseFailure`:Claude Code 保留工具結果,轉換繼續。832* `PostToolUse` 和 `PostToolUseFailure`:Claude Code 保留工具結果,轉換繼續。

833* `UserPromptSubmit` 和 [`UserPromptExpansion`](/docs/zh-TW/hooks#userpromptexpansion):Claude Code 以命名 hook 和超時的訊息阻止提示,會話繼續。因為這些事件上的回調可以充當政策閘門,Claude Code 永遠不會讓超時的提示通過未篩選。在 v2.1.208 之前,當這些事件上的回調超時時,Claude Code 以 `error_during_execution` 結束查詢。833* `UserPromptSubmit` 和 [`UserPromptExpansion`](/docs/zh-TW/hooks#userpromptexpansion):Claude Code 以命名 hook 和超時的訊息阻止提示,會話繼續。因為這些事件上的回調可以充當政策閘門,Claude Code 永遠不會讓超時的提示通過未篩選。在 v2.1.208 之前,當這些事件上的回調超時時,Claude Code 以 `error_during_execution` 結束查詢。

834* `Stop` 和 `SubagentStop`:Claude Code 顯示警告,代理正常停止。834* `Stop` 和 `SubagentStop`:超時的回調計為不返回任何決定。代理或子代理停止,如同該回調已允許它,而您其他 hooks 在事件上的決定仍然適用。在 Claude Code v2.1.273 之前,超時的 `Stop` 或 `SubagentStop` 回調計為失敗的 hook 執行,Claude Code 捨棄您其他 hooks 在事件上的決定。

835* `SessionStart`:超時的回調計為不返回任何輸出,會話繼續,使用您其他 `SessionStart` hooks 的輸出。

835* `PreModelSwitch`:Claude Code 阻止模型切換。未回答的 hook 尚未批准切換。836* `PreModelSwitch`:Claude Code 阻止模型切換。未回答的 hook 尚未批准切換。

836* 其他事件,如 `Notification`、`PreCompact` 和 `PostModelSwitch`:Claude Code 記錄失敗並繼續。837* 其他事件,如 `Notification`、`PreCompact` 和 `PostModelSwitch`:Claude Code 記錄失敗並繼續。

837 838 

839主會話中 `Stop` 或 `SessionStart` 回調首次超時時,Claude Code 也會新增 [`SDKInformationalMessage`](/docs/zh-TW/agent-sdk/typescript#sdkinformationalmessage) 到訊息流,說明驅動會話的應用程式未回應。稍後的超時在您的應用程式保持無回應時不會重複該訊息。

840 

838如果您在回調待處理時中斷查詢,Claude Code 取消待處理的工具呼叫。在 v2.1.208 之前,如果您在待處理的 `PreToolUse` 回調期間中斷,工具呼叫仍可能繼續進行。841如果您在回調待處理時中斷查詢,Claude Code 取消待處理的工具呼叫。在 v2.1.208 之前,如果您在待處理的 `PreToolUse` 回調期間中斷,工具呼叫仍可能繼續進行。

839 842 

840如果您的回調需要更多時間,請在其 `HookMatcher` 上設定更高的 `timeout`。在 TypeScript 中,使用第三個回調參數中的 `AbortSignal` 以在超時觸發時優雅地處理取消。843如果您的回調需要更多時間,請在其 `HookMatcher` 上設定更高的 `timeout`。在 TypeScript 中,使用第三個回調參數中的 `AbortSignal` 以在超時觸發時優雅地處理取消。

Details

147 147 

148 declare const userInput: string;148 declare const userInput: string;

149 declare const sessionId: string; // looked up from your database by user149 declare const sessionId: string; // looked up from your database by user

150 declare const sessionStore: SessionStore; // S3, Redis, Postgres, or your own adapter150 declare const sessionStore: SessionStore; // an object store, key-value store, database, or your own adapter

151 151 

152 for await (const message of query({152 for await (const message of query({

153 prompt: userInput,153 prompt: userInput,


163 163 

164 user_input: str = ...164 user_input: str = ...

165 session_id: str = ... # looked up from your database by user165 session_id: str = ... # looked up from your database by user

166 session_store: SessionStore = ... # S3, Redis, Postgres, or your own adapter166 session_store: SessionStore = ... # an object store, key-value store, database, or your own adapter

167 167 

168 168 

169 async def main():169 async def main():


244 工作階段和狀態持久化244 工作階段和狀態持久化

245</h3>245</h3>

246 246 

247預設的本機磁碟在重新啟動、縮減規模或移至不同節點時會遺失。對於使用者期望能繼續進行的任何工作階段,請使用 [`SessionStore` 配接器](/docs/zh-TW/agent-sdk/session-storage)將文字記錄鏡像到持久儲存體。請參閱[參考實作](/docs/zh-TW/agent-sdk/session-storage#reference-implementations)以取得 S3、Redis 和 Postgres 配接器,以及用於您自己實作的一致性測試套件。247預設的本機磁碟在重新啟動、縮減規模或移至不同節點時會遺失。對於使用者期望能繼續進行的任何工作階段,請使用 [`SessionStore` 配接器](/docs/zh-TW/agent-sdk/session-storage)將文字記錄鏡像到持久儲存體。請參閱[參考實作](/docs/zh-TW/agent-sdk/session-storage#reference-implementations)以取得物件存放區、鍵值存放區和資料庫的範例配接器,以及用於您自己實作的一致性測試套件。

248 248 

249關於 `SessionStore` 的行為方式,有三件事需要了解:249關於 `SessionStore` 的行為方式,有三件事需要了解:

250 250 

agent-sdk/mcp.md +12 −1

Details

156 連線時序156 連線時序

157</h2>157</h2>

158 158 

159Claude Code 在啟動時註冊您在 `options.mcpServers` 中傳遞的伺服器,並在第一輪等待(如果有的話)解決後發出 [init 訊息](#error-handling)。如果沒有 `options.mcpServers`,Claude Code 會在第一輪之前等待 2 秒以等待待處理的伺服器,因此從 [設定檔](#from-a-config-file)(例如 `.mcp.json`)載入的伺服器通常在初始化時顯示 `pending`。當每個 `options.mcpServers` 伺服器連線時,以及它是否延遲第一輪,取決於其類型:159Claude Code 在啟動時註冊您在 `options.mcpServers` 中傳遞的伺服器,並在第一輪等待(如果有的話)解決後發出 [init 訊息](#error-handling)。每個 `options.mcpServers` 伺服器是否延遲第一輪,以及何時連線,取決於其類型:

160 160 

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

162| :------------------------------------ | :-------------- | :------------------------------------------------- |162| :------------------------------------ | :-------------- | :------------------------------------------------- |


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

165| 同處理序 [SDK 伺服器](#sdk-mcp-servers) | 是,直到連線並列出其工具為止 | 無;連線和工具列出請求各有其自己的逾時 |165| 同處理序 [SDK 伺服器](#sdk-mcp-servers) | 是,直到連線並列出其工具為止 | 無;連線和工具列出請求各有其自己的逾時 |

166 166 

167從 [設定檔](#from-a-config-file)(例如 `.mcp.json`)或從外掛程式載入的伺服器通常在 init 訊息中顯示 `pending`。當 `options.mcpServers` 包含 stdio、HTTP 或 SSE 伺服器時,第一輪也會等待這些待處理的伺服器,最多等待 `MCP_TIMEOUT`。當 `options.mcpServers` 為空或僅包含 SDK 伺服器時,第一輪改為最多等待 2 秒:

168 

169* **使用 [工具搜尋](/docs/zh-TW/agent-sdk/tool-search)(預設)**:等待涵蓋仍待處理且使用 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 設定的伺服器,不涵蓋其餘伺服器。其餘伺服器在背景中繼續連線。[工具可用性](/docs/zh-TW/mcp#tool-availability) 說明 Claude 在連線後如何存取其工具。

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

171 

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

173 

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

175 

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

177 

167若要在發送 init 訊息之前,在與第一輪等待不同的早期階段阻止啟動本身:178若要在發送 init 訊息之前,在與第一輪等待不同的早期階段阻止啟動本身:

168 179 

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

Details

152 152 

153建立後,通過以下方式啟用輸出樣式:153建立後,通過以下方式啟用輸出樣式:

154 154 

155* **CLI**:執行 `/config` 並選擇輸出樣式155* **CLI**:執行 `/output-style <style>`,例如 `/output-style concise`,或執行 `/config` 並選擇一個。`/output-style` 命令需要 Claude Code v2.1.269 或更新版本。

156* **設定**:在 `.claude/settings.local.json` 中設定 `outputStyle`156* **設定**:在 `.claude/settings.local.json` 中設定 `outputStyle`

157* **TypeScript SDK**:在傳遞給 `query()` 的內聯 `settings` 物件內設定 `outputStyle`,或將 `settings` 指向設定該值的設定檔。`outputStyle` 不是頂級 `Options` 欄位:157* **TypeScript SDK**:在傳遞給 `query()` 的內聯 `settings` 物件內設定 `outputStyle`,或將 `settings` 指向設定該值的設定檔。`outputStyle` 不是頂級 `Options` 欄位:

158 158 


352 快取自訂提示詞的靜態部分352 快取自訂提示詞的靜態部分

353</h4>353</h4>

354 354 

355在 TypeScript SDK 中,您可以將自訂提示詞作為字串陣列而不是一個字串傳遞,在靜態部分和其餘部分之間使用 `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 標記。當您的提示詞結合每個請求上相同的指令與每個請求變更的上下文(例如代理程式正在處理的客戶或票證)時,請使用此方法。當您將兩個部分作為一個字串傳遞時,對每個請求部分的變更會改變整個系統提示詞,因此靜態指令也會錯過快取。此形式在 Python SDK 中不可用,其 `system_prompt` 選項接受字串、預設值或 [檔案](/docs/zh-TW/agent-sdk/python#systempromptfile)。355在 TypeScript SDK 中,您可以將自訂提示詞作為字串陣列而不是一個字串傳遞,在靜態部分和其餘部分之間使用 `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 標記。當您的提示詞結合每個請求上相同的指令與每個請求變更的上下文(例如代理程式正在處理的客戶或票證)時,請使用此方法。當您將兩個部分作為一個字串傳遞時,對每個請求部分的變更會改變整個系統提示詞,因此靜態指令也會錯過快取。此形式在 Python SDK 中不可用;[`ClaudeAgentOptions`](/docs/zh-TW/agent-sdk/python#claudeagentoptions) 列出 `system_prompt` 接受的形式。

356 356 

357<Note>357<Note>

358 SDK 僅在直接呼叫 Claude API 或在 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 上執行時分割提示詞。在所有其他配置中,例如 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 [LLM 閘道](/docs/zh-TW/llm-gateway-connect),以及每當您設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities) 時,SDK 會將整個提示詞作為一個區塊發送,與傳遞一個字串相同。358 SDK 僅在直接呼叫 Claude API 或在 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 上執行時分割提示詞。在所有其他配置中,例如 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 [LLM 閘道](/docs/zh-TW/llm-gateway-connect),以及每當您設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities) 時,SDK 會將整個提示詞作為一個區塊發送,與傳遞一個字串相同。


391 變更現有會話的提示詞391 變更現有會話的提示詞

392</h3>392</h3>

393 393 

394預設情況下,Claude Code 在會話的第一個請求時建立系統提示詞一次,包含您的 `append` 文字或自訂提示詞,並將其記錄在會話中。在會話被壓縮之前,每個稍後的請求都使用該記錄的提示詞,包括在您使用 `resume` 或 `continue` 返回會話後。如果您在稍後的呼叫上傳遞不同的 `append` 或自訂提示詞,它在會話被壓縮或在新會話中時生效。394預設情況下,如果您在使用 `resume` 或 `continue` 返回會話時傳遞不同的 `append` 或自訂提示詞,Claude 在下一個回合中看不到它。Claude Code 在會話的第一個請求時記錄系統提示詞,並在會話被壓縮之前重複使用該記錄。新文字在壓縮後或在新會話中生效。

395 395 

396如果您通過傳遞 `--bare` 通過 `extraArgs` 或設定 `CLAUDE_CODE_SIMPLE=1` 在 [裸模式](/docs/zh-TW/headless#start-faster-with-bare-mode) 中啟動 Claude Code,記錄保持關閉,除非您在 `systemPrompt` 的物件形式上設定 `snapshot: true`。預設情況下記錄 `append` 或自訂提示詞需要 Claude Code v2.1.265 或更新版本,TypeScript Agent SDK 從 v0.3.265 開始捆綁。在 Claude Code v2.1.268 之前,不 [擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) 的會話,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的會話,在每個請求上重建提示詞,`snapshot` 無效。396<h4 id="update-claude’s-instructions-mid-session">

397 在會話中更新 Claude 的指令

398</h4>

399 

400如果您在系統提示詞中放入的指令需要在會話執行時變更,例如因為您的使用者將代理程式切換到唯讀模式或在您的應用程式中編輯其配置,請在對話中發送新指令,而不是變更 `systemPrompt`:

401 

402* **在您的下一個訊息中**:在您發送的下一個使用者訊息中包含新指令。

403* **從 hook**:從 `UserPromptSubmit` 或 `PostToolUse` [hook 回呼](/docs/zh-TW/agent-sdk/hooks#outputs) 傳回 [`additionalContext`](/docs/zh-TW/hooks#add-context-for-claude),寫成事實陳述,例如「工作區現在是唯讀的」。SDK 在 hook 觸發的位置將文字插入對話中,因此記錄的提示詞保持不變。

404 

405<h4 id="turn-recording-off-while-you-iterate-on-wording">

406 在您迭代措辭時關閉記錄

407</h4>

408 

409當您迭代提示詞措辭並希望每個編輯都到達您恢復的會話時,在系統提示詞的物件形式上設定 `snapshot` 為 false。Claude Code 然後在每個請求上重建提示詞。該欄位在 TypeScript 中的 [`systemPrompt`](/docs/zh-TW/agent-sdk/typescript#options) 的預設值和自訂形式上可用,在 Python 中的 [`system_prompt`](/docs/zh-TW/agent-sdk/python#systempromptpreset) 上可用,並需要 `@anthropic-ai/claude-agent-sdk` v0.3.257 或更新版本,或 `claude-agent-sdk` v0.2.153 或更新版本。

410 

411在生產環境中保持記錄開啟。關閉記錄時,恢復的會話上的不同 `append` 或自訂提示詞在下一個回合中到達 Claude,該請求無法重複使用會話的 [提示詞快取](/docs/zh-TW/prompt-caching#how-the-cache-is-organized)。在 API 強制執行 [保留思考](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) 的地方,Claude 也會失去其早期回合的思考。

412 

413在 [雲端會話](/docs/zh-TW/cloud-environments) 之外,如果您通過 `extraArgs` 傳遞 `--bare` 或設定 `CLAUDE_CODE_SIMPLE=1` 在 [裸模式](/docs/zh-TW/headless#start-faster-with-bare-mode) 中啟動 Claude Code,記錄保持關閉,除非您設定 `snapshot: true`。

397 414 

398要改為在每個請求上重建提示詞,請在 TypeScript SDK 中的 `systemPrompt` 的物件形式上設定 `snapshot: false`:`{ type: "preset", preset: "claude_code", append, snapshot: false }` 或 `{ type: "custom", prompt, snapshot: false }`。在您迭代提示詞措辭時或當您的應用程式在恢復相同會話的呼叫之間變更 `append` 時,請使用此形式。`snapshot` 欄位需要 `@anthropic-ai/claude-agent-sdk` v0.3.257 或更新版本。415預設情況下記錄 `append` 或自訂提示詞需要 Claude Code v2.1.265 或更新版本,TypeScript Agent SDK 從 v0.3.265 開始捆綁,Python Agent SDK 從 v0.2.153 開始捆綁。在 Claude Code v2.1.268 之前,不 [擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) 的會話,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的會話,在每個請求上重建提示詞,`snapshot` 無效。

399 416 

400<h2 id="compare-the-four-approaches">417<h2 id="compare-the-four-approaches">

401 比較四種方法418 比較四種方法

Details

247| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |247| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

248| `OTEL_LOG_USER_PROMPTS=1` | `claude_code.user_prompt` 事件和 `claude_code.interaction` span 上的提示文字 |248| `OTEL_LOG_USER_PROMPTS=1` | `claude_code.user_prompt` 事件和 `claude_code.interaction` span 上的提示文字 |

249| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` 事件上的工具輸入引數(檔案路徑、shell 命令、搜尋模式) |249| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` 事件上的工具輸入引數(檔案路徑、shell 命令、搜尋模式) |

250| `OTEL_LOG_TOOL_CONTENT=1` | `claude_code.tool` 上的完整工具輸入和輸出主體作為 span 事件,截斷為 60 KB(預設),可透過 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 設定,需要 Claude Code v2.1.214 或更新版本。需要啟用[追蹤](#read-agent-traces) |250| `OTEL_LOG_TOOL_CONTENT=1` | `claude_code.tool` 上的 [`tool.output` span 事件](/docs/zh-TW/monitoring-usage#tool-output-span-event),包含檔案內容和 Bash 輸出,預設截斷為 60 KB,可透過 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 設定,需要 Claude Code v2.1.214 或更新版本。需要啟用[追蹤](#read-agent-traces)。Span 屬性在[其自身的閘道](/docs/zh-TW/monitoring-usage#new-context-gates)下攜帶工具內容 |

251| `OTEL_LOG_RAW_API_BODIES` | 完整的 Anthropic Messages API 請求和回應 JSON 作為 `claude_code.api_request_body` 和 `claude_code.api_response_body` 日誌事件。設定為 `1` 以獲得截斷為 60 KB 的內聯主體(預設),或 `file:<dir>` 以在磁碟上獲得未截斷的主體,事件中有 `body_ref` 路徑。`CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 設定內聯截斷限制,並需要 Claude Code v2.1.214 或更新版本。主體包括整個對話歷史記錄,並且已編輯了擴展思考內容。啟用此項意味著同意上述三個變數將揭示的所有內容 |251| `OTEL_LOG_RAW_API_BODIES` | 完整的 Anthropic Messages API 請求和回應 JSON 作為 `claude_code.api_request_body` 和 `claude_code.api_response_body` 日誌事件。設定為 `1` 以獲得截斷為 60 KB 的內聯主體(預設),或 `file:<dir>` 以在磁碟上獲得未截斷的主體,事件中有 `body_ref` 路徑。`CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 設定內聯截斷限制,並需要 Claude Code v2.1.214 或更新版本。主體包括整個對話歷史記錄,並且已編輯了擴展思考內容。啟用此項意味著同意上述三個變數將揭示的所有內容 |

252 252 

253除非您的可觀測性管道已獲准儲存您的代理處理的資料,否則請保持這些未設定。請參閱監控參考中的[安全和隱私](/docs/zh-TW/monitoring-usage#security-and-privacy)以了解完整的屬性清單和編輯行為。253除非您的可觀測性管道已獲准儲存您的代理處理的資料,否則請保持這些未設定。請參閱監控參考中的[安全和隱私](/docs/zh-TW/monitoring-usage#security-and-privacy)以了解完整的屬性清單和編輯行為。

Details

78 78 

79* "Claude Agent"(下拉選單的首選)79* "Claude Agent"(下拉選單的首選)

80* "Claude"(當已在標記為"Agents"的選單中時)80* "Claude"(當已在標記為"Agents"的選單中時)

81* "{YourAgentName} Powered by Claude"(如果您有現有的代理名稱)81* "\{YourAgentName} Powered by Claude"(如果您有現有的代理名稱)

82 82 

83**不允許:**83**不允許:**

84 84 

Details

301 301 

302在規劃模式中,檔案編輯永遠不會自動被核准,即使符合允許規則。它們會改為透過您的 `canUseTool` 回呼提示。在 Claude Code v2.1.212 或更新版本上,修改檔案的 shell 命令(例如 `touch` 和 `rm`)會以相同方式到達您的 `canUseTool` 回呼。302在規劃模式中,檔案編輯永遠不會自動被核准,即使符合允許規則。它們會改為透過您的 `canUseTool` 回呼提示。在 Claude Code v2.1.212 或更新版本上,修改檔案的 shell 命令(例如 `touch` 和 `rm`)會以相同方式到達您的 `canUseTool` 回呼。

303 303 

304如果您在 `permissionMode: 'plan'` 旁邊設定 `allowDangerouslySkipPermissions: true`,檔案編輯和修改檔案的 shell 命令仍然會到達您的 `canUseTool` 回呼。此選項讓您稍後可以使用 `setPermissionMode()` 切換到 `bypassPermissions`。

305 

304Claude 可能會使用 `AskUserQuestion` 在最終確定計畫之前澄清需求。請參閱[處理核准和使用者輸入](/docs/zh-TW/agent-sdk/user-input#handle-clarifying-questions)以處理這些提示。306Claude 可能會使用 `AskUserQuestion` 在最終確定計畫之前澄清需求。請參閱[處理核准和使用者輸入](/docs/zh-TW/agent-sdk/user-input#handle-clarifying-questions)以處理這些提示。

305 307 

306**使用時機:** 您想要 Claude 提議變更而不執行它們,例如在程式碼審查期間或當您需要在進行變更之前核准變更時。308**使用時機:** 您想要 Claude 提議變更而不執行它們,例如在程式碼審查期間或當您需要在進行變更之前核准變更時。

agent-sdk/python.md +202 −181

Details

119</h4>119</h4>

120 120 

121| 參數 | 類型 | 描述 |121| 參數 | 類型 | 描述 |

122| :------------- | :---------------------------------------------- | :------------------------- |122| :------------- | :---------------------------------------------- | :-------------------------------------------------- |

123| `name` | `str` | tool 的唯一識別碼 |123| `name` | `str` | tool 的唯一識別碼 |

124| `description` | `str` | tool 功能的人類可讀描述 |124| `description` | `str` | tool 功能的人類可讀描述 |

125| `input_schema` | `type \| dict[str, Any]` | 定義 tool 輸入參數的架構(見下文) |125| `input_schema` | `type \| dict[str, Any]` | 定義 tool 輸入參數的架構。請參閱 [輸入架構選項](#input-schema-options) |

126| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | 可選的 MCP tool 註解,為客戶端提供行為提示 |126| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | 可選的 MCP tool 註解,為客戶端提供行為提示 |

127 127 

128<h4 id="input-schema-options">128<h4 id="input-schema-options">


537| `receive_response()` | 接收消息直到並包括 ResultMessage |537| `receive_response()` | 接收消息直到並包括 ResultMessage |

538| `interrupt()` | 發送中斷信號(僅在串流模式下工作) |538| `interrupt()` | 發送中斷信號(僅在串流模式下工作) |

539| `set_permission_mode(mode)` | 變更目前 session 的權限模式 |539| `set_permission_mode(mode)` | 變更目前 session 的權限模式 |

540| `set_model(model)` | 變更目前 session 的模型。傳遞 `None` 以重設為預設值 |540| `set_model(model)` | 變更目前 session 的模型。傳遞 `None` 以重設為 [Claude Code 的預設模型](/docs/zh-TW/model-config) |

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

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

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


760</h2>760</h2>

761 761 

762<Note>762<Note>

763 **`@dataclass` vs `TypedDict`:** 此 SDK 使用兩種類型。用 `@dataclass` 裝飾的類別(例如 `ResultMessage`、`AgentDefinition`、`TextBlock`)在執行時是物件實例,支援屬性存取:`msg.result`。用 `TypedDict` 定義的類別(例如 `ThinkingConfigEnabled`、`McpStdioServerConfig`、`SyncHookJSONOutput`)在執行時是**純字典**,需要鍵存取:`config["budget_tokens"]`,而不是 `config.budget_tokens`。`ClassName(field=value)` 呼叫語法對兩者都有效,但只有 dataclasses 產生具有屬性的物件。763 **`@dataclass` vs `TypedDict`:** 此 SDK 使用兩種類型。以 `@dataclass` 裝飾的類別(例如 `ResultMessage`、`AgentDefinition`、`TextBlock`)在執行時是物件實例,支援屬性存取:`msg.result`。以 `TypedDict` 定義的類別(例如 `ThinkingConfigEnabled`、`McpStdioServerConfig`、`SyncHookJSONOutput`)在執行時是**純字典**,需要鍵存取:`config["budget_tokens"]`,而不是 `config.budget_tokens`。`ClassName(field=value)` 呼叫語法對兩者都有效,但只有資料類別會產生具有屬性的物件。

764</Note>764</Note>

765 765 

766<h3 id="sdkmcptool">766<h3 id="sdkmcptool">

767 `SdkMcpTool`767 `SdkMcpTool`

768</h3>768</h3>

769 769 

770使用 `@tool` 裝飾器建立的 SDK MCP tool 的定義。770使用 `@tool` 裝飾器建立的 SDK MCP 工具定義。

771 771 

772```python theme={null}772```python theme={null}

773@dataclass773@dataclass


780```780```

781 781 

782| 屬性 | 類型 | 描述 |782| 屬性 | 類型 | 描述 |

783| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------------ |783| :------------- | :---------------------------------------------- | :-------------------------------------------------------------------------------- |

784| `name` | `str` | tool 的唯一識別碼 |784| `name` | `str` | 工具的唯一識別碼 |

785| `description` | `str` | 人類可讀描述 |785| `description` | `str` | 人類可讀的描述 |

786| `input_schema` | `type[T] \| dict[str, Any]` | 輸入驗證的架構 |786| `input_schema` | `type[T] \| dict[str, Any]` | 輸入驗證的結構描述 |

787| `handler` | `Callable[[T], Awaitable[dict[str, Any]]]` | 處理 tool 執行的非同步函數 |787| `handler` | `Callable[[T], Awaitable[dict[str, Any]]]` | 處理工具執行的非同步函式 |

788| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | 可選的 tool 註解(例如 `readOnlyHint`、`destructiveHint`、`openWorldHint`、`maxResultSizeChars`) |788| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | 選用的工具註解(例如 `readOnlyHint`、`destructiveHint`、`openWorldHint`、`maxResultSizeChars`) |

789 789 

790<h3 id="transport">790<h3 id="transport">

791 `Transport`791 `Transport`

792</h3>792</h3>

793 793 

794自訂傳輸實現的抽象基類。使用此來透過自訂通道與 Claude 程序通訊(例如,遠端連接而不是本地子程序)。794自訂傳輸實作的抽象基類。使用此類別透過自訂通道與 Claude 程序通訊(例如,遠端連線而不是本機子程序)。

795 795 

796<Warning>796<Warning>

797 這是一個低級內部 API。介面可能在未來版本中變更。自訂實現必須更新以符合任何介面變更。797 這是低階內部 API。介面可能在未來版本中變更。自訂實作必須更新以符合任何介面變更。

798</Warning>798</Warning>

799 799 

800```python theme={null}800```python theme={null}


824```824```

825 825 

826| 方法 | 描述 |826| 方法 | 描述 |

827| :---------------- | :----------------------- |827| :---------------- | :------------------------ |

828| `connect()` | 連接傳輸並準備通訊 |828| `connect()` | 連線傳輸並準備通訊 |

829| `write(data)` | 將原始資料(JSON + 換行符)寫入傳輸 |829| `write(data)` | 將原始資料(JSON + 換行符)寫入傳輸 |

830| `read_messages()` | 非同步迭代器,產生解析的 JSON 消息 |830| `read_messages()` | 非同步迭代器,產生已解析的 JSON 訊息 |

831| `close()` | 關閉連接並清理資源 |831| `close()` | 關閉連線並清理資源 |

832| `is_ready()` | 如果傳輸可以發送和接收,返回 `True` |832| `is_ready()` | 如果傳輸可以傳送和接收,傳回 `True` |

833| `end_input()` | 關閉輸入流(例如,為子程序傳輸關閉 stdin) |833| `end_input()` | 關閉輸入串流(例如,關閉子程序傳輸的 stdin) |

834 834 

835匯入:`from claude_agent_sdk import Transport`835匯入:`from claude_agent_sdk import Transport`

836 836 


838 `ClaudeAgentOptions`838 `ClaudeAgentOptions`

839</h3>839</h3>

840 840 

841Claude Code 查詢的配置 dataclass。841Claude Code 查詢的設定資料類別。

842 842 

843```python theme={null}843```python theme={null}

844@dataclass844@dataclass

845class ClaudeAgentOptions:845class ClaudeAgentOptions:

846 tools: list[str] | ToolsPreset | None = None846 tools: list[str] | ToolsPreset | None = None

847 allowed_tools: list[str] = field(default_factory=list)847 allowed_tools: list[str] = field(default_factory=list)

848 system_prompt: str | SystemPromptPreset | SystemPromptFile | None = None848 system_prompt: str | SystemPromptPreset | SystemPromptCustom | SystemPromptFile | None = None

849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)

850 strict_mcp_config: bool = False850 strict_mcp_config: bool = False

851 permission_mode: PermissionMode | None = None851 permission_mode: PermissionMode | None = None


893 task_budget: TaskBudget | None = None893 task_budget: TaskBudget | None = None

894```894```

895 895 

896| 屬性 | 類型 | 預設 | 描述 |896| 屬性 | 類型 | 預設值 | 描述 |

897| :---------------------------- | :--------------------------------------------------------------------------------------- | :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :---------------------------- | :--------------------------------------------------------------------------------------- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Tools 配置。使用 `{"type": "preset", "preset": "claude_code"}` 以取得 Claude Code 的預設 tools |898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | 工具設定。使用 `{"type": "preset", "preset": "claude_code"}` 以取得 Claude Code 的預設工具 |

899| `allowed_tools` | `list[str]` | `[]` | 自動批准的 tools,無需提示。這不會限制 Claude 僅使用這些 tools。如果您在此命名其中一個[任務追蹤 tools](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會選擇加入 session。其他未列出的 tools 會進入 `permission_mode` 和 `can_use_tool`。使用 `disallowed_tools` 來阻止 tools。見[權限](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |899| `allowed_tools` | `list[str]` | `[]` | 無需提示即可自動核准的工具。這不會限制 Claude 只使用這些工具。如果您在此處命名其中一個[任務追蹤工具](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會選擇加入工作階段。其他未列出的工具會進入 `permission_mode` 和 `can_use_tool`。使用 `disallowed_tools` 來封鎖工具。請參閱[權限](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |

900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | 系統提示配置。傳遞字串以取得自訂提示,`{"type": "preset", "preset": "claude_code"}` 以取得 Claude Code 的系統提示(可選 `"append"`),或 `{"type": "file", "path": "..."}` 以從磁碟載入大型提示。見 [`SystemPromptPreset`](#systempromptpreset) 和 [`SystemPromptFile`](#systempromptfile) |900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | 系統提示設定。傳遞字串以取得自訂提示、`{"type": "preset", "preset": "claude_code"}` 以取得 Claude Code 的系統提示(含選用的 `"append"`)、`{"type": "custom", "prompt": "..."}` 以取得可設定 `"snapshot"` 的自訂提示,或 `{"type": "file", "path": "..."}` 以從磁碟載入大型提示。請參閱 [`SystemPromptPreset`](#systempromptpreset)、[`SystemPromptCustom`](#systempromptcustom) 和 [`SystemPromptFile`](#systempromptfile) |

901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP 伺服器配置或配置檔案路徑 |901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP 伺服器設定或設定檔的路徑 |

902| `strict_mcp_config` | `bool` | `False` | 當為 `True` 時,僅使用在 `mcp_servers` 中傳遞的伺服器,並忽略專案 `.mcp.json`、使用者設定、外掛程式提供的 MCP 伺服器和 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。對應到 CLI `--strict-mcp-config` 旗標 |902| `strict_mcp_config` | `bool` | `False` | 當為 `True` 時,僅使用在 `mcp_servers` 中傳遞的伺服器,並忽略專案 `.mcp.json`、使用者設定、外掛程式提供的 MCP 伺服器和 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。對應至 CLI `--strict-mcp-config` 旗標 |

903| `permission_mode` | `PermissionMode \| None` | `None` | tool 使用的權限模式 |903| `permission_mode` | `PermissionMode \| None` | `None` | 工具使用的權限模式 |

904| `continue_conversation` | `bool` | `False` | 繼續最近的對話 |904| `continue_conversation` | `bool` | `False` | 繼續最近的對話 |

905| `resume` | `str \| None` | `None` | 要繼續的 session ID |905| `resume` | `str \| None` | `None` | 要繼續的工作階段 ID |

906| `session_id` | `str \| None` | `None` | 使用特定 session ID 而不是自動產生的。必須是有效的 UUID。除非也設定 `fork_session`,否則無法與 `continue_conversation` 或 `resume` 結合 |906| `session_id` | `str \| None` | `None` | 使用特定的工作階段 ID 而不是自動產生的。必須是有效的 UUID。除非也設定了 `fork_session`,否則無法與 `continue_conversation` 或 `resume` 結合 |

907| `max_turns` | `int \| None` | `None` | 最大代理轉數(tool 使用往返) |907| `max_turns` | `int \| None` | `None` | 最大代理轉數(工具使用往返) |

908| `max_budget_usd` | `float \| None` | `None` | 當客戶端成本估計達到此 USD 值時停止查詢。與 `total_cost_usd` 的相同估計進行比較;見 [追蹤成本和使用情況](/docs/zh-TW/agent-sdk/cost-tracking) 以了解準確性注意事項 |908| `max_budget_usd` | `float \| None` | `None` | 當用戶端成本估計達到此美元值時停止查詢。與 `total_cost_usd` 的相同估計進行比較。如需準確性注意事項和重設行為,請參閱[追蹤成本和使用量](/docs/zh-TW/agent-sdk/cost-tracking) |

909| `disallowed_tools` | `list[str]` | `[]` | 要拒絕的 tools。裸名稱(例如 `"Bash"`)會從 Claude 的上下文中移除該 tool。範圍規則(例如 `"Bash(rm *)"`)會保留該 tool 可用,並在每個權限模式(包括 `bypassPermissions`)中拒絕匹配的呼叫,針對[如所寫](/docs/zh-TW/permissions#bash-rule-limits)的命令。見[權限](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |909| `disallowed_tools` | `list[str]` | `[]` | 要拒絕的工具。裸名稱(例如 `"Bash"`)會從 Claude 的內容中移除工具。範圍規則(例如 `"Bash(rm *)"`)會保留工具可用,並在每個權限模式(包括 `bypassPermissions`)中拒絕符合的呼叫,針對[如所寫](/docs/zh-TW/permissions#bash-rule-limits)的命令。請參閱[權限](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |

910| `enable_file_checkpointing` | `bool` | `False` | 啟用檔案變更追蹤以進行倒帶。見 [檔案 checkpointing](/docs/zh-TW/agent-sdk/file-checkpointing) |910| `enable_file_checkpointing` | `bool` | `False` | 啟用檔案變更追蹤以進行倒帶。請參閱[檔案檢查點](/docs/zh-TW/agent-sdk/file-checkpointing) |

911| `model` | `str \| None` | `None` | Claude 模型別名或完整模型名稱。見 [接受的值和提供者特定 ID](/docs/zh-TW/model-config#available-models) |911| `model` | `str \| None` | `None` | Claude 模型別名或完整模型名稱。請參閱[接受的值和提供者特定 ID](/docs/zh-TW/model-config#available-models) |

912| `fallback_model` | `str \| None` | `None` | 如果主模型失敗,使用的備用模型 |912| `fallback_model` | `str \| None` | `None` | 主要模型失敗時使用的備用模型。接受逗號分隔的清單。如需指導,請參閱[選擇模型](/docs/zh-TW/agent-sdk/configuration#choose-a-model) |

913| `betas` | `list[SdkBeta]` | `[]` | 要啟用的測試版功能。見 [`SdkBeta`](#sdkbeta) 以了解可用選項 |913| `betas` | `list[SdkBeta]` | `[]` | 要啟用的測試版功能。請參閱 [`SdkBeta`](#sdkbeta) 以取得可用選項 |

914| `output_format` | `dict[str, Any] \| None` | `None` | 結構化回應的輸出格式(例如 `{"type": "json_schema", "schema": {...}}`)。見 [結構化輸出](/docs/zh-TW/agent-sdk/structured-outputs) 以了解詳情 |914| `output_format` | `dict[str, Any] \| None` | `None` | 結構化回應的輸出格式(例如 `{"type": "json_schema", "schema": {...}}`)。請參閱[結構化輸出](/docs/zh-TW/agent-sdk/structured-outputs)以取得詳細資訊 |

915| `permission_prompt_tool_name` | `str \| None` | `None` | 權限提示的 MCP tool 名稱 |915| `permission_prompt_tool_name` | `str \| None` | `None` | 權限提示的 MCP 工具名稱 |

916| `cwd` | `str \| Path \| None` | `None` | 目前工作目錄 |916| `cwd` | `str \| Path \| None` | `None` | 目前工作目錄 |

917| `cli_path` | `str \| Path \| None` | `None` | Claude Code CLI 可執行檔的自訂路徑 |917| `cli_path` | `str \| Path \| None` | `None` | Claude Code CLI 可執行檔的自訂路徑 |

918| `settings` | `str \| None` | `None` | 設定檔案的路徑 |918| `settings` | `str \| None` | `None` | 設定檔的路徑或內嵌 JSON 字串 |

919| `add_dirs` | `list[str \| Path]` | `[]` | Claude 可以存取的其他目錄。SDK 將每個項目傳遞給 Claude Code 作為 `--add-dir`,因此使用 `project` 設定來源時,Claude Code 也會[載入目錄的 skills、commands 和 subagents](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration) |919| `add_dirs` | `list[str \| Path]` | `[]` | Claude 可以存取的其他目錄。SDK 將每個項目傳遞至 Claude Code 作為 `--add-dir`,因此使用 `project` 設定來源時,Claude Code 也會[載入目錄的技能、命令和子代理](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration) |

920| `env` | `dict[str, str]` | `{}` | 環境變數合併到繼承的程序環境之上。見 [環境變數](/docs/zh-TW/env-vars) 以了解底層 CLI 讀取的變數,以及 [處理緩慢或停滯的 API 回應](#handle-slow-or-stalled-api-responses) 以了解逾時相關變數 |920| `env` | `dict[str, str]` | `{}` | 合併在繼承程序環境之上的環境變數。請參閱[環境變數](/docs/zh-TW/env-vars)以取得基礎 CLI 讀取的變數,以及[處理緩慢或停滯的 API 回應](#handle-slow-or-stalled-api-responses)以取得逾時相關變數 |

921| `extra_args` | `dict[str, str \| None]` | `{}` | 直接傳遞給 CLI 的其他 CLI 參數 |921| `extra_args` | `dict[str, str \| None]` | `{}` | 直接傳遞至 CLI 的其他 CLI 引數 |

922| `max_buffer_size` | `int \| None` | `None` | 緩衝 CLI stdout 時的最大位元組數 |922| `max_buffer_size` | `int \| None` | `None` | 緩衝 CLI stdout 時的最大位元組數 |

923| `debug_stderr` | `Any` | `sys.stderr` | *已棄用* - 用於偵錯輸出的類似檔案的物件。改用 `stderr` 回呼 |923| `debug_stderr` | `Any` | `sys.stderr` | *已棄用* - 用於偵錯輸出的類似檔案的物件。改用 `stderr` 回呼 |

924| `stderr` | `Callable[[str], None] \| None` | `None` | 用於 CLI stderr 輸出的回呼函數 |924| `stderr` | `Callable[[str], None] \| None` | `None` | CLI 中 stderr 輸出的回呼函式 |

925| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | tool 權限回呼函數,僅在[權限流程](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)進入提示時呼叫。不會為由 `allowed_tools`、允許規則或 `permission_mode` 自動批准的呼叫呼叫。允許規則不會預先批准[任何模式都不自動批准的操作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。見 [`CanUseTool`](#canusetool) 以了解詳情 |925| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | 工具權限回呼,僅在[權限流程](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)進入提示時叫用。不會針對由 `allowed_tools`、允許規則或 `permission_mode` 自動核准的呼叫叫用。允許規則不會預先核准[任何模式都不會自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。請參閱 [`CanUseTool`](#canusetool) 以取得詳細資訊 |

926| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | 用於攔截事件的 hooks 配置 |926| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | 用於攔截事件的 Hook 設定 |

927| `user` | `str \| None` | `None` | 使用者識別碼 |927| `user` | `str \| None` | `None` | 使用者識別碼 |

928| `include_partial_messages` | `bool` | `False` | 包括部分消息串流事件。啟用時,[`StreamEvent`](#streamevent) 消息會被產生 |928| `include_partial_messages` | `bool` | `False` | 包含部分訊息串流事件。啟用時,會產生 [`StreamEvent`](#streamevent) 訊息 |

929| `include_hook_events` | `bool` | `False` | 在消息流中包括 hook 生命週期事件作為 `HookEventMessage` 物件 |929| `include_hook_events` | `bool` | `False` | 在訊息串流中包含 Hook 生命週期事件作為 `HookEventMessage` 物件 |

930| `forward_subagent_text` | `bool` | `False` | 在消息流中轉發 subagent 文本和思考區塊。沒有此選項,Claude Code 會發出 subagent `tool_use` 和 `tool_result` 區塊,但不會發出文本或思考。需要 Python Agent SDK 0.2.140 或更新版本 |930| `forward_subagent_text` | `bool` | `False` | 在訊息串流中轉發子代理文字和思考區塊。沒有此選項,Claude Code 會發出子代理 `tool_use` 和 `tool_result` 區塊,但不會發出文字或思考。需要 Python Agent SDK 0.2.140 或更新版本 |

931| `fork_session` | `bool` | `False` | 使用 `resume` 繼續時,分叉到新 session ID 而不是繼續原始 session |931| `fork_session` | `bool` | `False` | 使用 `resume` 繼續時,分支至新的工作階段 ID 而不是繼續原始工作階段 |

932| `resume_session_at` | `str \| None` | `None` | 繼續時,僅載入對話至包括此 UUID 的消息。與 `resume` 一起使用,通常還有 `fork_session`,以從較早的點分支。需要 Python Agent SDK 0.2.137 或更新版本 |932| `resume_session_at` | `str \| None` | `None` | 繼續時,僅載入對話至包含此 UUID 的訊息。與 `resume` 搭配使用,通常還要搭配 `fork_session`,以從較早的點分支。需要 Python Agent SDK 0.2.137 或更新版本 |

933| `resume_drops_turn` | `str \| None` | `None` | 使用者提示的 UUID,其轉數被 `resume_session_at` 截斷所丟棄。設定時,如果丟棄的範圍包含不可歸因於該轉數的項目,CLI 會拒絕繼續。需要 Python Agent SDK 0.2.137 或更新版本以及 Claude Code v2.1.223 或更新版本;與這些 SDK 版本搭配的 CLI 滿足 Claude Code 要求 |933| `resume_drops_turn` | `str \| None` | `None` | 其轉數被 `resume_session_at` 截斷所捨棄的使用者提示的 UUID。設定時,如果捨棄的範圍包含不可歸因於該轉數的項目,CLI 會拒絕繼續。需要 Python Agent SDK 0.2.137 或更新版本以及 Claude Code v2.1.223 或更新版本;與這些 SDK 版本搭配的 CLI 滿足 Claude Code 需求 |

934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | 以程式設計方式定義的子代理 |934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | 以程式設計方式定義的子代理 |

935| `plugins` | `list[SdkPluginConfig]` | `[]` | 從本地路徑載入自訂外掛程式。見 [外掛程式](/docs/zh-TW/agent-sdk/plugins) 以了解詳情 |935| `plugins` | `list[SdkPluginConfig]` | `[]` | 從本機路徑載入自訂外掛程式。請參閱[外掛程式](/docs/zh-TW/agent-sdk/plugins)以取得詳細資訊 |

936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | 以程式設計方式配置沙箱行為。見 [沙箱設定](#sandboxsettings) 以了解詳情 |936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | 以程式設計方式設定沙箱行為。請參閱[沙箱設定](#sandboxsettings)以取得詳細資訊 |

937| `setting_sources` | `list[SettingSource] \| None` | `None`(CLI 預設值:所有來源) | 控制要載入哪些檔案系統設定。傳遞 `[]` 以停用使用者、專案和本地設定。無論如何都會載入受管原則設定;當 session 使用組織認證在[符合條件的配置](/docs/zh-TW/server-managed-settings#platform-availability)上進行驗證時,會擷取伺服器管理的設定。見 [使用 Claude Code 功能](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) |937| `setting_sources` | `list[SettingSource] \| None` | `None`(CLI 預設值:所有來源) | 控制要載入哪些檔案系統設定。傳遞 `[]` 以停用使用者、專案和本機設定。設定 `skills` 且此欄位未設定時,僅載入使用者和專案來源。明確設定 `setting_sources` 以保留本機設定。端點管理的原則無論如何都會載入;當工作階段使用組織認證在[合格設定](/docs/zh-TW/server-managed-settings#platform-availability)上進行驗證時,會擷取伺服器管理的設定。如需無論此選項如何都會讀取的輸入,請參閱[settingSources 不控制的內容](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | 可供 session 使用的 skills。傳遞 `"all"` 以啟用每個發現的 skill,或傳遞 skill 名稱清單。僅傳遞確切名稱。SDK 會在啟動 Claude Code 程序之前以 `ValueError` 拒絕格式不正確和萬用字元形式的名稱;此檢查需要 Python Agent SDK 0.2.129 或更新版本。設定時,SDK 會自動將 Skill tool 新增到 `allowed_tools`。如果您也傳遞 `tools`,請在該清單中包括 `"Skill"`。見[Skills](/docs/zh-TW/agent-sdk/skills) |938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | 工作階段可用的技能。傳遞 `"all"` 以啟用每個發現的技能,或傳遞技能名稱清單。僅傳遞確切名稱。SDK 在啟動 Claude Code 程序之前會以 `ValueError` 拒絕格式不正確和萬用字元形式的名稱;此檢查需要 Python Agent SDK 0.2.129 或更新版本。設定時,SDK 會自動將 Skill 工具新增至 `allowed_tools`。如果您也傳遞 `tools`,請在該清單中包含 `"Skill"`。請參閱[技能](/docs/zh-TW/agent-sdk/skills) |

939| `max_thinking_tokens` | `int \| None` | `None` | *已棄用* - 思考區塊的最大令牌數。改用 `thinking` |939| `max_thinking_tokens` | `int \| None` | `None` | *已棄用* - 思考區塊的最大權杖數。改用 `thinking` |

940| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | 控制擴展思考行為。優先於 `max_thinking_tokens` |940| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | 控制延伸思考行為。優先於 `max_thinking_tokens` |

941| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | 思考深度的努力級別。見 [調整努力級別](/docs/zh-TW/model-config#adjust-effort-level) |941| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | 思考深度的努力等級。請參閱[調整努力等級](/docs/zh-TW/model-config#adjust-effort-level) |

942| `session_store` | [`SessionStore`](/docs/zh-TW/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | 將 session 記錄鏡像到外部後端,以便任何主機都可以繼續它們。見[將 sessions 持久化到外部儲存](/docs/zh-TW/agent-sdk/session-storage) |942| `session_store` | [`SessionStore`](/docs/zh-TW/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | 將工作階段文字記錄鏡像至外部後端,以便另一個主機可以繼續它們。請參閱[將工作階段保存至外部儲存體](/docs/zh-TW/agent-sdk/session-storage) |

943| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | 何時將鏡像的記錄項目刷新到 `session_store`。`"batched"` 每轉一次或當緩衝區填滿時刷新;`"eager"` 在每個框架後觸發背景刷新。當 `session_store` 為 `None` 時忽略 |943| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | 何時將鏡像文字記錄項目排清至 `session_store`。`"batched"` 每轉排清一次或當緩衝區填滿時;`"eager"` 在每個框架後觸發背景排清。當 `session_store` 為 `None` 時忽略 |

944| `load_timeout_ms` | `int` | `60000` | 在繼續具體化期間,`session_store.load()` 和 `list_subkeys()` 的每次呼叫逾時,以毫秒為單位 |944| `load_timeout_ms` | `int` | `60000` | 在繼續具體化期間,`session_store.load()` 和 `list_subkeys()` 的每次呼叫逾時(毫秒) |

945| `task_budget` | `TaskBudget \| None` | `None` | API 端令牌預算。使用 `task-budgets-2026-03-13` beta 標頭作為 `output_config.task_budget` 發送。傳遞 `{"total": <int>}`。 |945| `task_budget` | `TaskBudget \| None` | `None` | API 端任務權杖預算。使用 `task-budgets-2026-03-13` 測試版標頭作為 `output_config.task_budget` 傳送。傳遞 `{"total": <int>}`。 |

946 946 

947<h4 id="handle-slow-or-stalled-api-responses">947<h4 id="handle-slow-or-stalled-api-responses">

948 處理緩慢或停滯的 API 回應948 處理緩慢或停滯的 API 回應

949</h4>949</h4>

950 950 

951CLI 子程序讀取多個環境變數,控制 API 逾時和停滯偵測。透過 `ClaudeAgentOptions.env` 傳遞它們:951CLI 子程序讀取多個環境變數,這些變數控制 API 逾時和停滯偵測。透過 `ClaudeAgentOptions.env` 傳遞它們:

952 952 

953```python theme={null}953```python theme={null}

954from claude_agent_sdk import ClaudeAgentOptions954from claude_agent_sdk import ClaudeAgentOptions


962)962)

963```963```

964 964 

965* `API_TIMEOUT_MS`:Anthropic 客戶端上的每個請求逾時,以毫秒為單位。預設 `600000`。適用於主迴圈和所有子代理。965* `API_TIMEOUT_MS`:Anthropic 用戶端上的每個請求逾時(毫秒)。預設 `600000`。適用於主迴圈和所有子代理。

966* `CLAUDE_CODE_MAX_RETRIES`:最大 API 重試次數。預設 `10`,上限為 `15`。每次重試都有自己的 `API_TIMEOUT_MS` 視窗,因此最壞情況下的牆時間大約是 `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` 加上退避。對於需要等待更長中斷的無人值守執行,設定 [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/zh-TW/errors#tune-retry-behavior):它無限期重試暫時性容量錯誤,自 Claude Code v2.1.199 起,會將其他暫時性錯誤的預設值提高到 `300` 並移除此變數的上限。966* `CLAUDE_CODE_MAX_RETRIES`:最大 API 重試次數。預設 `10`,上限 `15`。每次重試都有自己的 `API_TIMEOUT_MS` 視窗,因此最壞情況下的牆面時間大約是 `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` 加上退避。對於需要等待較長中斷的無人值守執行,設定 [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/zh-TW/errors#tune-retry-behavior):它無限期重試暫時性容量錯誤,並且 在 Claude Code v2.1.199 或更新版本上,將其他暫時性錯誤的預設值提高至 `300` 並移除此變數的上限。

967* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:subagents 的停滯監視程式。當串流監視程式開啟時,預設為 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 加上 5 分鐘,總計 `600000`,除非您提高該變數。當串流監視程式關閉時,預設為 `600000`。在 v2.1.257 之前,預設始終為 `600000`。967* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:子代理的停滯監視程式。當串流監視程式開啟時,預設值為 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 加上 5 分鐘,總計 `600000`,除非您提高該變數。當串流監視程式關閉時,預設值為 `600000`。在 v2.1.257 之前,預設值始終為 `600000`。

968 968 

969 計時器在每個串流事件上重置。停滯時,Claude Code 中止 subagent 並向父代理報告停滯。對於背景 subagent,它也會將任務標記為失敗並附加任何部分結果。969 計時器在每個串流事件時重設。停滯時,Claude Code 會中止子代理並向父代理報告停滯。對於背景子代理,它也會將任務標記為失敗並附加任何部分結果。

970* `CLAUDE_ENABLE_STREAM_WATCHDOG` 搭配 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`:串流監視程式,當標頭已到達但回應本體停止串流時中止請求。監視程式預設在所有提供者上啟用;設定 `CLAUDE_ENABLE_STREAM_WATCHDOG=0` 以停用它。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 預設為 `300000` 並限制在該最小值。中止後,[自動重試](/docs/zh-TW/errors#automatic-retries)涵蓋 Claude Code 根據回應進度的程度所做的事情。970* `CLAUDE_ENABLE_STREAM_WATCHDOG` 搭配 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`:串流監視程式,當標頭已到達但回應本文停止串流時中止請求。監視程式預設對所有提供者開啟;設定 `CLAUDE_ENABLE_STREAM_WATCHDOG=0` 以停用它。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 預設為 `300000` 並固定在該最小值。中止後,[自動重試](/docs/zh-TW/errors#automatic-retries)涵蓋 Claude Code 的作用,取決於回應進行的距離。

971 971 

972 當監視程式等待 `ANTHROPIC_BASE_URL` 後面的閘道保持開啟的回應(帶有保活 ping)時,設定 `include_partial_messages` 的主機會繼續接收 `ping` [`StreamEvent`](#streamevent) 消息。將這些框架讀取為活躍性,而不是在沉默時逾時 session。在 v2.1.257 之前,框架在最後一個真實串流事件後 5 分鐘停止。972 當監視程式等待 `ANTHROPIC_BASE_URL` 後面的閘道保持開啟的回應(使用保活 ping)時,設定 `include_partial_messages` 的主機會繼續接收 `ping` [`StreamEvent`](#streamevent) 訊息。將這些框架讀取為活躍性,而不是在沉默時逾時工作階段。在 v2.1.257 之前,框架在最後一個真實串流事件後 5 分鐘停止。

973 973 

974<h3 id="outputformat">974<h3 id="outputformat">

975 `OutputFormat`975 `OutputFormat`

976</h3>976</h3>

977 977 

978結構化輸出驗證的配置。將此作為 `dict` 傳遞給 `ClaudeAgentOptions` 上的 `output_format` 欄位:978結構化輸出驗證的設定。作為 `dict` 傳遞至 `ClaudeAgentOptions` 上的 `output_format` 欄位:

979 979 

980```python theme={null}980```python theme={null}

981# Expected dict shape for output_format981# output_format 的預期字典形狀

982{982{

983 "type": "json_schema",983 "type": "json_schema",

984 "schema": {...}, # Your JSON Schema definition984 "schema": {...}, # 您的 JSON Schema 定義

985}985}

986```986```

987 987 

988| 欄位 | 必需 | 描述 |988| 欄位 | 必要 | 描述 |

989| :------- | :- | :------------------------------------- |989| :------- | :- | :------------------------------------- |

990| `type` | 是 | 必須是 `"json_schema"` 以進行 JSON Schema 驗證 |990| `type` | 是 | 必須是 `"json_schema"` 以進行 JSON Schema 驗證 |

991| `schema` | 是 | 用於輸出驗證的 JSON Schema 定義 |991| `schema` | 是 | 用於輸出驗證的 JSON Schema 定義 |


994 `SystemPromptPreset`994 `SystemPromptPreset`

995</h3>995</h3>

996 996 

997使用 Claude Code 的預設系統提示配置,可選新增。997使用 Claude Code 的預設系統提示(含選用新增項目)的設定。

998 998 

999```python theme={null}999```python theme={null}

1000class SystemPromptPreset(TypedDict):1000class SystemPromptPreset(TypedDict):


1002 preset: Literal["claude_code"]1002 preset: Literal["claude_code"]

1003 append: NotRequired[str]1003 append: NotRequired[str]

1004 exclude_dynamic_sections: NotRequired[bool]1004 exclude_dynamic_sections: NotRequired[bool]

1005 snapshot: NotRequired[bool]

1005```1006```

1006 1007 

1007| 欄位 | 必需 | 描述 |1008| 欄位 | 必要 | 描述 |

1008| :------------------------- | :- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1009| :------------------------- | :- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1009| `type` | 是 | 必須是 `"preset"` 以使用預設系統提示 |1010| `type` | 是 | 必須是 `"preset"` 以使用預設系統提示 |

1010| `preset` | 是 | 必須是 `"claude_code"` 以使用 Claude Code 的系統提示 |1011| `preset` | 是 | 必須是 `"claude_code"` 以使用 Claude Code 的系統提示 |

1011| `append` | 否 | 要附加到預設系統提示的其他指示 |1012| `append` | 否 | 要附加至預設系統提示的其他指示 |

1012| `exclude_dynamic_sections` | 否 | 將每個 session 上下文(例如工作目錄、git 狀態旗標和自動記憶體路徑)從系統提示移到第一個使用者消息。改進跨使用者和機器的提示快取重複使用。見[修改系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1013| `exclude_dynamic_sections` | 否 | 將每個工作階段的內容(例如工作目錄、git 儲存庫旗標和自動記憶體路徑)從系統提示移至第一個使用者訊息。改善跨使用者和機器的提示快取重複使用。請參閱[修改系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1014| `snapshot` | 否 | 設定為 `False` 以在每個請求上重建系統提示,而不是[重複使用工作階段在其第一個請求上記錄的提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session)。需要 `claude-agent-sdk` v0.2.153 或更新版本 |

1015 

1016<h3 id="systempromptcustom">

1017 `SystemPromptCustom`

1018</h3>

1019 

1020物件形式的自訂系統提示,等同於傳遞字串作為 `system_prompt`,也可以設定 `snapshot`。需要 `claude-agent-sdk` v0.2.153 或更新版本。

1021 

1022```python theme={null}

1023class SystemPromptCustom(TypedDict):

1024 type: Literal["custom"]

1025 prompt: str

1026 snapshot: NotRequired[bool]

1027```

1028 

1029| 欄位 | 必要 | 描述 |

1030| :--------- | :- | :--------------------------------------------------------------------- |

1031| `type` | 是 | 必須是 `"custom"` |

1032| `prompt` | 是 | 系統提示文字。傳遞至 CLI 作為命令列引數,因此[命令列長度限制](#systempromptfile)適用 |

1033| `snapshot` | 否 | 與 [`SystemPromptPreset.snapshot`](#systempromptpreset) 相同,套用至 `prompt` |

1013 1034 

1014<h3 id="systempromptfile">1035<h3 id="systempromptfile">

1015 `SystemPromptFile`1036 `SystemPromptFile`

1016</h3>1037</h3>

1017 1038 

1018用於從檔案而不是作為字串傳遞自訂系統提示的配置。SDK 將此對應到 CLI [`--system-prompt-file`](/docs/zh-TW/cli-reference#system-prompt-flags) 旗標。當提示很大時使用檔案形式:SDK 在 CLI 子程序 argv 上傳遞字串 `system_prompt`,受限於 OS 命令列長度限制,在 SDK 發送任何 API 請求之前。在 Linux 上,單個參數長於大約 128 KB 會在程序生成時失敗,出現 `Argument list too long`。在 Windows 上,整個命令列上限為大約 32 KB,因此字串形式在較低閾值失敗。1039用於從檔案載入自訂系統提示而不是作為字串傳遞的設定。SDK 將此對應至 CLI [`--system-prompt-file`](/docs/zh-TW/cli-reference#system-prompt-flags) 旗標。當提示很大時使用檔案形式:SDK 在 CLI 子程序 argv 上傳遞字串 `system_prompt`,這受限於 OS 命令列長度限制,然後 SDK 才會傳送任何 API 請求。在 Linux 上,單一引數長於大約 128 KB 會在程序生成時失敗,並出現 `Argument list too long`。在 Windows 上,整個命令列上限為大約 32 KB,因此字串形式在較低的閾值處失敗。

1019 1040 

1020```python theme={null}1041```python theme={null}

1021class SystemPromptFile(TypedDict):1042class SystemPromptFile(TypedDict):


1023 path: str1044 path: str

1024```1045```

1025 1046 

1026| 欄位 | 必需 | 描述 |1047| 欄位 | 必要 | 描述 |

1027| :----- | :- | :-------------------- |1048| :----- | :- | :-------------------- |

1028| `type` | 是 | 必須是 `"file"` 以從磁碟載入提示 |1049| `type` | 是 | 必須是 `"file"` 以從磁碟載入提示 |

1029| `path` | 是 | 包含系統提示的檔案路徑 |1050| `path` | 是 | 包含系統提示的檔案路徑 |


1032 `SettingSource`1053 `SettingSource`

1033</h3>1054</h3>

1034 1055 

1035控制 SDK 從哪些檔案系統配置來源載入設定。1056控制 SDK 從哪些檔案系統設定來源載入設定。

1036 1057 

1037```python theme={null}1058```python theme={null}

1038SettingSource = Literal["user", "project", "local"]1059SettingSource = Literal["user", "project", "local"]

1039```1060```

1040 1061 

1041| 值 | 描述 | 位置 |1062| 值 | 描述 | 位置 |

1042| :---------- | :----------------------------------------- | :---------------------------- |1063| :---------- | :---------------------------------------- | :---------------------------- |

1043| `"user"` | 全域使用者設定 | `~/.claude/settings.json` |1064| `"user"` | 全域使用者設定 | `~/.claude/settings.json` |

1044| `"project"` | 共享專案設定(版本控制) | `.claude/settings.json` |1065| `"project"` | 共用專案設定(版本控制) | `.claude/settings.json` |

1045| `"local"` | 本地專案設定,當 Claude Code 將設定儲存到其中時被 gitignored | `.claude/settings.local.json` |1066| `"local"` | 本機專案設定,當 Claude Code 將設定儲存至其中時被 gitignore | `.claude/settings.local.json` |

1046 1067 

1047<h4 id="default-behavior">1068<h4 id="default-behavior">

1048 預設行為1069 預設行為

1049</h4>1070</h4>

1050 1071 

1051當 `setting_sources` 被省略或為 `None` 時,`query()` 載入與 Claude Code CLI 相同的檔案系統設定:使用者、專案和本地。無論如何都會載入受管原則設定;當 session 使用組織認證在[符合條件的配置](/docs/zh-TW/server-managed-settings#platform-availability)上進行驗證時,會擷取伺服器管理的設定。見 [settingSources 不控制的內容](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) 以了解無論此選項如何都會讀取的輸入,以及如何停用它們。1072當 `setting_sources` 被省略或為 `None` 且 `skills` 未設定時,`query()` 載入與 Claude Code CLI 相同的檔案系統設定:使用者、專案和本機。設定 `skills` 時,[`setting_sources`](#claudeagentoptions) 列描述目前的預設值。端點管理的原則在所有情況下都會載入;當工作階段使用組織認證在[合格設定](/docs/zh-TW/server-managed-settings#platform-availability)上進行驗證時,會擷取伺服器管理的設定。如需詳細資訊,請參閱[settingSources 不控制的內容](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control)。

1052 1073 

1053<h4 id="why-use-setting_sources">1074<h4 id="why-use-setting_sources">

1054 為什麼使用 setting\_sources1075 為什麼使用 setting\_sources


1057**停用檔案系統設定:**1078**停用檔案系統設定:**

1058 1079 

1059```python theme={null}1080```python theme={null}

1060# Do not load user, project, or local settings from disk1081# 不從磁碟載入使用者、專案或本機設定

1061import asyncio1082import asyncio

1062from claude_agent_sdk import query, ClaudeAgentOptions1083from claude_agent_sdk import query, ClaudeAgentOptions

1063 1084 


1076```1097```

1077 1098 

1078<Note>1099<Note>

1079 在 Python SDK 0.1.59 及更早版本中,空清單的處理方式與省略選項相同,因此 `setting_sources=[]` 沒有停用檔案系統設定。如果您需要空清單生效,請升級到較新版本。TypeScript SDK 不受影響。1100 在 Python SDK 0.1.59 及更早版本中,空清單的處理方式與省略選項相同,因此 `setting_sources=[]` 未停用檔案系統設定。如果您需要空清單生效,請升級至較新版本。TypeScript SDK 不受影響。

1080</Note>1101</Note>

1081 1102 

1082**僅載入特定設定來源:**1103**僅載入特定設定來源:**

1083 1104 

1084```python theme={null}1105```python theme={null}

1085# Load only project settings, ignore user and local1106# 僅載入專案設定,忽略使用者和本機

1086import asyncio1107import asyncio

1087from claude_agent_sdk import query, ClaudeAgentOptions1108from claude_agent_sdk import query, ClaudeAgentOptions

1088 1109 


1091 async for message in query(1112 async for message in query(

1092 prompt="Run CI checks",1113 prompt="Run CI checks",

1093 options=ClaudeAgentOptions(1114 options=ClaudeAgentOptions(

1094 setting_sources=["project"] # Only .claude/settings.json1115 setting_sources=["project"] # 僅 .claude/settings.json

1095 ),1116 ),

1096 ):1117 ):

1097 print(message)1118 print(message)


1100asyncio.run(main())1121asyncio.run(main())

1101```1122```

1102 1123 

1103**僅 SDK 應用程式:**1124**僅限 SDK 的應用程式:**

1104 1125 

1105```python theme={null}1126```python theme={null}

1106# Define everything programmatically.1127# 以程式設計方式定義所有內容。

1107# Pass [] to opt out of filesystem setting sources.1128# 傳遞 [] 以選擇退出檔案系統設定來源。

1108import asyncio1129import asyncio

1109from claude_agent_sdk import AgentDefinition, ClaudeAgentOptions, query1130from claude_agent_sdk import AgentDefinition, ClaudeAgentOptions, query

1110 1131 


1129asyncio.run(main())1150asyncio.run(main())

1130```1151```

1131 1152 

1132要載入 CLAUDE.md 專案指示,請在 `setting_sources` 中包括 `"project"`。見[修改系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions)以了解 CLAUDE.md 載入如何與系統提示選項互動。1153若要載入 CLAUDE.md 專案指示,請在 `setting_sources` 中包含 `"project"`。請參閱[修改系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions)以了解 CLAUDE.md 載入如何與系統提示選項互動。

1133 1154 

1134<h4 id="settings-precedence">1155<h4 id="settings-precedence">

1135 設定優先順序1156 設定優先順序

1136</h4>1157</h4>

1137 1158 

1138當載入多個來源時,設定會以此優先順序合併(最高到最低):1159載入多個來源時,設定會與此優先順序合併(最高至最低):

1139 1160 

11401. 本地設定(`.claude/settings.local.json`)11611. 本機設定(`.claude/settings.local.json`)

11412. 專案設定(`.claude/settings.json`)11622. 專案設定(`.claude/settings.json`)

11423. 使用者設定(`~/.claude/settings.json`)11633. 使用者設定(`~/.claude/settings.json`)

1143 1164 

1144程式設計選項(例如 `agents` 和 `allowed_tools`)會覆蓋使用者、專案和本地檔案系統設定。受管原則設定優先於程式設計選項。1165程式設計選項(例如 `agents`、`allowed_tools` 和 `settings`)會覆寫使用者、專案和本機檔案系統設定。受管原則設定優先於程式設計選項。

1145 1166 

1146<h3 id="agentdefinition">1167<h3 id="agentdefinition">

1147 `AgentDefinition`1168 `AgentDefinition`

1148</h3>1169</h3>

1149 1170 

1150以程式設計方式定義的子代理的配置。1171以程式設計方式定義的子代理的設定。

1151 1172 

1152```python theme={null}1173```python theme={null}

1153@dataclass1174@dataclass


1167 permissionMode: PermissionMode | None = None1188 permissionMode: PermissionMode | None = None

1168```1189```

1169 1190 

1170| 欄位 | 必需 | 描述 |1191| 欄位 | 必要 | 描述 |

1171| :---------------- | :- | :------------------------------------------------------------------------------------------------------------------------------------------------ |1192| :---------------- | :- | :--------------------------------------------------------------------------------------------------------------------------------------- |

1172| `description` | 是 | 何時使用此代理的自然語言描述 |1193| `description` | 是 | 何時使用此代理的自然語言描述 |

1173| `prompt` | 是 | 代理的系統提示 |1194| `prompt` | 是 | 代理的系統提示 |

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

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

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

1177| `skills` | 否 | 此代理可用的 skill 名稱清單 |1198| `skills` | 否 | 技能名稱清單,在啟動時預先載入至代理的內容。未列出的技能仍可透過 Skill 工具叫用 |

1178| `memory` | 否 | 此代理的記憶體來源:`"user"`、`"project"` 或 `"local"` |1199| `memory` | 否 | 此代理的記憶體來源:`"user"`、`"project"` 或 `"local"` |

1179| `mcpServers` | 否 | 此代理可用的 MCP 伺服器。每個項目是伺服器名稱或內聯 `{name: config}` 字典 |1200| `mcpServers` | 否 | 此代理可用的 MCP 伺服器。每個項目是伺服器名稱或內嵌 `{name: config}` 字典 |

1180| `initialPrompt` | 否 | 當此代理作為主執行緒代理執行時自動提交為第一個使用者轉 |1201| `initialPrompt` | 否 | 當此代理作為主執行緒代理執行時自動提交為第一個使用者轉數 |

1181| `maxTurns` | 否 | 代理停止前的最大代理轉數 |1202| `maxTurns` | 否 | 代理停止前的最大代理轉數 |

1182| `background` | 否 | 當呼叫時將此代理作為非阻塞背景任務執行 |1203| `background` | 否 | 叫用時將此代理作為非阻塞背景任務執行 |

1183| `effort` | 否 | 此代理的推理努力級別。接受命名級別或整數。見 [`EffortLevel`](#effortlevel) |1204| `effort` | 否 | 此代理的推理努力等級。接受命名等級或整數。請參閱 [`EffortLevel`](#effortlevel) |

1184| `permissionMode` | 否 | 此代理內 tool 執行的權限模式。[subagent 繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes)決定何時適用。見 [`PermissionMode`](#permissionmode) |1205| `permissionMode` | 否 | 此代理內工具執行的權限模式。[子代理繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes)決定何時適用。請參閱 [`PermissionMode`](#permissionmode) |

1185 1206 

1186<Note>1207<Note>

1187 `AgentDefinition` 欄位名稱使用 camelCase,例如 `disallowedTools`、`permissionMode` 和 `maxTurns`。這些名稱直接對應到與 TypeScript SDK 共享的線路格式。這與 `ClaudeAgentOptions` 不同,後者對等頂級欄位(例如 `disallowed_tools` 和 `permission_mode`)使用 Python snake\_case。因為 `AgentDefinition` 是 dataclass,傳遞 snake\_case 關鍵字在構造時會引發 `TypeError`。1208 `AgentDefinition` 欄位名稱使用 camelCase,例如 `disallowedTools`、`permissionMode` 和 `maxTurns`。這些名稱直接對應至與 TypeScript SDK 共用的線路格式。這與 `ClaudeAgentOptions` 不同,後者對等頂層欄位(例如 `disallowed_tools` 和 `permission_mode`)使用 Python snake\_case。因為 `AgentDefinition` 是資料類別,傳遞 snake\_case 關鍵字會在建構時引發 `TypeError`。

1188</Note>1209</Note>

1189 1210 

1190<h3 id="permissionmode">1211<h3 id="permissionmode">

1191 `PermissionMode`1212 `PermissionMode`

1192</h3>1213</h3>

1193 1214 

1194用於控制 tool 執行的權限模式。1215用於控制工具執行的權限模式。

1195 1216 

1196```python theme={null}1217```python theme={null}

1197PermissionMode = Literal[1218PermissionMode = Literal[

1198 "default", # Standard permission behavior1219 "default", # 標準權限行為

1199 "acceptEdits", # Auto-accept file edits1220 "acceptEdits", # 自動接受檔案編輯

1200 "plan", # Planning mode - explore without editing1221 "plan", # 規劃模式 - 探索而不編輯

1201 "dontAsk", # Deny anything not pre-approved instead of prompting1222 "dontAsk", # 拒絕任何未預先核准的內容,而不是提示

1202 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)1223 "bypassPermissions", # 略過權限檢查;明確要求規則仍會提示(謹慎使用)

1203 "auto", # Model classifier approves or denies permission prompts1224 "auto", # 模型分類器核准或拒絕權限提示

1204]1225]

1205```1226```

1206 1227 


1208 `EffortLevel`1229 `EffortLevel`

1209</h3>1230</h3>

1210 1231 

1211用於指導思考深度的努力級別。1232用於指導思考深度的努力等級。

1212 1233 

1213```python theme={null}1234```python theme={null}

1214EffortLevel = Literal[1235EffortLevel = Literal[

1215 "low", # Minimal thinking, fastest responses1236 "low", # 最少思考,最快回應

1216 "medium", # Moderate thinking1237 "medium", # 適度思考

1217 "high", # Deep reasoning1238 "high", # 深度推理

1218 "xhigh", # Extended reasoning; falls back to "high" on models that don't support it1239 "xhigh", # 延伸推理;在不支援的模型上回退至「high」

1219 "max", # Maximum effort1240 "max", # 最大努力

1220]1241]

1221```1242```

1222 1243 


1224 `CanUseTool`1245 `CanUseTool`

1225</h3>1246</h3>

1226 1247 

1227tool 權限回呼函數的類型別名。1248工具權限回呼函式的類型別名。

1228 1249 

1229```python theme={null}1250```python theme={null}

1230CanUseTool = Callable[1251CanUseTool = Callable[


1234 1255 

1235回呼接收:1256回呼接收:

1236 1257 

1237* `tool_name`:被呼叫的 tool 名稱1258* `tool_name`:被呼叫工具的名稱

1238* `input_data`:tool 的輸入參數1259* `input_data`:工具的輸入參數

1239* `context`:具有其他資訊的 `ToolPermissionContext`1260* `context`:具有其他資訊的 `ToolPermissionContext`

1240 1261 

1241返回 `PermissionResult`(`PermissionResultAllow` 或 `PermissionResultDeny`)。1262傳回 `PermissionResult`(`PermissionResultAllow` 或 `PermissionResultDeny`)。

1242 1263 

1243回呼是互動式權限提示的 SDK 替代品:它僅在[權限評估流程](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)解決為提示時呼叫。由 `allowed_tools` 項目、設定允許規則或權限模式(例如 `acceptEdits` 或 `bypassPermissions`)已批准的 tool 呼叫永遠不會呼叫它。要限制每個 tool 呼叫,改用 [`PreToolUse` hook](/docs/zh-TW/agent-sdk/hooks)。1264回呼是互動式權限提示的 SDK 替代品:僅在[權限評估流程](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)解決為提示時叫用。已由 `allowed_tools` 項目、設定允許規則或權限模式(例如 `acceptEdits` 或 `bypassPermissions`)核准的工具呼叫永遠不會叫用它。若要限制每個工具呼叫,請改用 [`PreToolUse` Hook](/docs/zh-TW/agent-sdk/hooks)。

1244 1265 

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

1246 1267 

1247<h3 id="toolpermissioncontext">1268<h3 id="toolpermissioncontext">

1248 `ToolPermissionContext`1269 `ToolPermissionContext`

1249</h3>1270</h3>

1250 1271 

1251傳遞給 tool 權限回呼的上下文資訊。1272傳遞至工具權限回呼的內容資訊。

1252 1273 

1253```python theme={null}1274```python theme={null}

1254@dataclass1275@dataclass

1255class ToolPermissionContext:1276class ToolPermissionContext:

1256 signal: Any | None = None # Future: abort signal support1277 signal: Any | None = None # 未來:中止信號支援

1257 suggestions: list[PermissionUpdate] = field(default_factory=list)1278 suggestions: list[PermissionUpdate] = field(default_factory=list)

1258 tool_use_id: str | None = None1279 tool_use_id: str | None = None

1259 agent_id: str | None = None1280 agent_id: str | None = None


1265```1286```

1266 1287 

1267| 欄位 | 類型 | 描述 |1288| 欄位 | 類型 | 描述 |

1268| :---------------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |1289| :---------------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------ |

1269| `signal` | `Any \| None` | 保留供未來中止信號支援 |1290| `signal` | `Any \| None` | 保留供未來中止信號支援 |

1270| `suggestions` | `list[PermissionUpdate]` | 來自 CLI 的權限更新建議。Bash 提示包括具有 `localSettings` 目的地的建議,因此在 `updated_permissions` 中返回它會將規則寫入 `.claude/settings.local.json` 並在 sessions 中持久化。 |1291| `suggestions` | `list[PermissionUpdate]` | 來自 CLI 的權限更新建議。Bash 提示包含具有 `localSettings` 目的地的建議,因此在 `updated_permissions` 中傳回它會將規則寫入 `.claude/settings.local.json` 並在工作階段間保存。 |

1271| `tool_use_id` | `str \| None` | 此提示所針對的特定 tool 呼叫的識別碼。傳遞給 `can_use_tool` 時始終填入 |1292| `tool_use_id` | `str \| None` | 此提示所針對的特定工具呼叫的識別碼。傳遞至 `can_use_tool` 時始終填入 |

1272| `agent_id` | `str \| None` | 當呼叫源自 subagent 時的 sub-agent ID;主代理為 `None` |1293| `agent_id` | `str \| None` | 呼叫源自子代理時的子代理 ID;主代理為 `None` |

1273| `blocked_path` | `str \| None` | 觸發權限請求的檔案路徑(如適用)。例如,當 Bash 命令嘗試存取允許目錄外的路徑時 |1294| `blocked_path` | `str \| None` | 觸發權限請求的檔案路徑(如適用)。例如,當 Bash 命令嘗試存取允許目錄外的路徑時 |

1274| `decision_reason` | `str \| None` | 觸發此權限請求的原因。從 PreToolUse hook 的 `permissionDecisionReason` 轉發,當 hook 返回 `"ask"` 時 |1295| `decision_reason` | `str \| None` | 觸發此權限請求的原因。當 Hook 傳回 `"ask"` 時從 PreToolUse Hook 的 `permissionDecisionReason` 轉發 |

1275| `title` | `str \| None` | 完整權限提示句子,例如 `Claude wants to read foo.txt`。當存在時用作主要提示文本 |1296| `title` | `str \| None` | 完整權限提示句子,例如 `Claude wants to read foo.txt`。存在時用作主要提示文字 |

1276| `display_name` | `str \| None` | tool 操作的簡短名詞短語,例如 `Read file`,適合按鈕標籤 |1297| `display_name` | `str \| None` | 工具動作的簡短名詞片語,例如 `Read file`,適合按鈕標籤 |

1277| `description` | `str \| None` | 權限 UI 的人類可讀副標題 |1298| `description` | `str \| None` | 權限 UI 的人類可讀副標題 |

1278 1299 

1279<h3 id="permissionresult">1300<h3 id="permissionresult">


1290 `PermissionResultAllow`1311 `PermissionResultAllow`

1291</h3>1312</h3>

1292 1313 

1293指示應允許 tool 呼叫的結果。1314指示應允許工具呼叫的結果。

1294 1315 

1295```python theme={null}1316```python theme={null}

1296@dataclass1317@dataclass


1300 updated_permissions: list[PermissionUpdate] | None = None1321 updated_permissions: list[PermissionUpdate] | None = None

1301```1322```

1302 1323 

1303| 欄位 | 類型 | 預設 | 描述 |1324| 欄位 | 類型 | 預設值 | 描述 |

1304| :-------------------- | :------------------------------- | :-------- | :-------------- |1325| :-------------------- | :------------------------------- | :-------- | :-------------- |

1305| `behavior` | `Literal["allow"]` | `"allow"` | 必須是 "allow" |1326| `behavior` | `Literal["allow"]` | `"allow"` | 必須是「allow」 |

1306| `updated_input` | `dict[str, Any] \| None` | `None` | 要使用的修改輸入而不是原始輸入 |1327| `updated_input` | `dict[str, Any] \| None` | `None` | 要使用的修改輸入而不是原始輸入 |

1307| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | 要應用的權限更新 |1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | 要套用的權限更新 |

1308 1329 

1309<h3 id="permissionresultdeny">1330<h3 id="permissionresultdeny">

1310 `PermissionResultDeny`1331 `PermissionResultDeny`

1311</h3>1332</h3>

1312 1333 

1313指示應拒絕 tool 呼叫的結果。1334指示應拒絕工具呼叫的結果。

1314 1335 

1315```python theme={null}1336```python theme={null}

1316@dataclass1337@dataclass


1320 interrupt: bool = False1341 interrupt: bool = False

1321```1342```

1322 1343 

1323| 欄位 | 類型 | 預設 | 描述 |1344| 欄位 | 類型 | 預設值 | 描述 |

1324| :---------- | :---------------- | :------- | :--------------- |1345| :---------- | :---------------- | :------- | :----------- |

1325| `behavior` | `Literal["deny"]` | `"deny"` | 必須是 "deny" |1346| `behavior` | `Literal["deny"]` | `"deny"` | 必須是「deny」 |

1326| `message` | `str` | `""` | 解釋為什麼拒絕 tool 的消息 |1347| `message` | `str` | `""` | 說明為什麼拒絕工具的訊息 |

1327| `interrupt` | `bool` | `False` | 是否中斷目前執行 |1348| `interrupt` | `bool` | `False` | 是否中斷目前執行 |

1328 1349 

1329<h3 id="permissionupdate">1350<h3 id="permissionupdate">

1330 `PermissionUpdate`1351 `PermissionUpdate`

1331</h3>1352</h3>

1332 1353 

1333用於以程式設計方式更新權限的配置。1354以程式設計方式更新權限的設定。

1334 1355 

1335```python theme={null}1356```python theme={null}

1336@dataclass1357@dataclass


1359| `behavior` | `Literal["allow", "deny", "ask"] \| None` | 基於規則的操作的行為 |1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | 基於規則的操作的行為 |

1360| `mode` | `PermissionMode \| None` | setMode 操作的模式 |1381| `mode` | `PermissionMode \| None` | setMode 操作的模式 |

1361| `directories` | `list[str] \| None` | 用於新增/移除目錄操作的目錄 |1382| `directories` | `list[str] \| None` | 用於新增/移除目錄操作的目錄 |

1362| `destination` | `Literal[...] \| None` | 應用權限更新的位置 |1383| `destination` | `Literal[...] \| None` | 套用權限更新的位置 |

1363 1384 

1364<h3 id="permissionrulevalue">1385<h3 id="permissionrulevalue">

1365 `PermissionRuleValue`1386 `PermissionRuleValue`

1366</h3>1387</h3>

1367 1388 

1368要在權限更新中新增、取代或移除的規則。1389在權限更新中新增、取代或移除的規則。

1369 1390 

1370```python theme={null}1391```python theme={null}

1371@dataclass1392@dataclass


1378 `ToolsPreset`1399 `ToolsPreset`

1379</h3>1400</h3>

1380 1401 

1381使用 Claude Code 預設 tool 集的預設 tools 配置。1402使用 Claude Code 預設工具集的預設工具設定。

1382 1403 

1383```python theme={null}1404```python theme={null}

1384class ToolsPreset(TypedDict):1405class ToolsPreset(TypedDict):


1390 `ThinkingConfig`1411 `ThinkingConfig`

1391</h3>1412</h3>

1392 1413 

1393控制擴展思考行為。三個配置的聯合:1414控制延伸思考行為。三個設定的聯合:

1394 1415 

1395```python theme={null}1416```python theme={null}

1396ThinkingDisplay = Literal["summarized", "omitted"]1417ThinkingDisplay = Literal["summarized", "omitted"]


1415```1436```

1416 1437 

1417| 變體 | 欄位 | 描述 |1438| 變體 | 欄位 | 描述 |

1418| :--------- | :--------------------------------- | :--------------- |1439| :--------- | :------------------------------- | :--------------- |

1419| `adaptive` | `type`, `display` | Claude 自適應決定何時思考 |1440| `adaptive` | `type`、`display` | Claude 自適應決定何時思考 |

1420| `enabled` | `type`, `budget_tokens`, `display` | 啟用具有特定令牌預算的思考 |1441| `enabled` | `type`、`budget_tokens`、`display` | 啟用具有特定權杖預算的思考 |

1421| `disabled` | `type` | 停用思考 |1442| `disabled` | `type` | 停用思考 |

1422 1443 

1423可選的 `display` 欄位控制思考文本是否返回為 `"summarized"` 或 `"omitted"`。在 Claude Opus 4.7 及更新版本上,API 預設為 `"omitted"`,因此設定 `"summarized"` 以在 [`ThinkingBlock`](#thinkingblock) 輸出中接收思考內容。Claude Code 不會將 `display` 發送到 Amazon Bedrock 或 Google Cloud 的 Agent Platform,因此在這些提供者上,Opus 4.7 及更新版本即使您將 `display` 設定為 `"summarized"` 也會返回空的 `ThinkingBlock` 輸出。1444選用的 `display` 欄位控制思考文字是否傳回 `"summarized"` 或 `"omitted"`。在 Claude Opus 4.7 及更新版本上,API 預設值為 `"omitted"`,因此設定 `"summarized"` 以在 [`ThinkingBlock`](#thinkingblock) 輸出中接收思考內容。Claude Code 不會將 `display` 傳送至 Amazon Bedrock 或 Google Cloud 的 Agent Platform,因此在這些提供者上,即使您將 `display` 設定為 `"summarized"`,Opus 4.7 及更新版本也會傳回空的 `ThinkingBlock` 輸出。

1424 1445 

1425因為這些是 `TypedDict` 類別,它們在執行時是純字典。要麼將它們構造為字典字面量,要麼呼叫類別作為構造函數;兩者都產生 `dict`。使用 `config["budget_tokens"]` 存取欄位,而不是 `config.budget_tokens`:1446因為這些是 `TypedDict` 類別,它們在執行時是純字典。將它們建構為字典常值或呼叫類別作為建構函式;兩者都會產生 `dict`。使用 `config["budget_tokens"]` 存取欄位,而不是 `config.budget_tokens`:

1426 1447 

1427```python theme={null}1448```python theme={null}

1428from claude_agent_sdk import ClaudeAgentOptions, ThinkingConfigEnabled1449from claude_agent_sdk import ClaudeAgentOptions, ThinkingConfigEnabled

1429 1450 

1430# Option 1: dict literal (recommended, no import needed)1451# 選項 1:字典常值(建議,無需匯入)

1431options = ClaudeAgentOptions(thinking={"type": "enabled", "budget_tokens": 20000})1452options = ClaudeAgentOptions(thinking={"type": "enabled", "budget_tokens": 20000})

1432 1453 

1433# Option 2: constructor-style (returns a plain dict)1454# 選項 2:建構函式樣式(傳回純字典)

1434config = ThinkingConfigEnabled(type="enabled", budget_tokens=20000)1455config = ThinkingConfigEnabled(type="enabled", budget_tokens=20000)

1435print(config["budget_tokens"]) # 200001456print(config["budget_tokens"]) # 20000

1436# config.budget_tokens would raise AttributeError1457# config.budget_tokens 會引發 AttributeError

1437```1458```

1438 1459 

1439<h3 id="taskbudget">1460<h3 id="taskbudget">

1440 `TaskBudget`1461 `TaskBudget`

1441</h3>1462</h3>

1442 1463 

1443API 端任務預算(以令牌為單位),與 `ClaudeAgentOptions` 中的 `task_budget` 欄位一起使用。1464在 `ClaudeAgentOptions` 中與 `task_budget` 欄位搭配使用的 API 端任務預算(權杖)。

1444 1465 

1445```python theme={null}1466```python theme={null}

1446class TaskBudget(TypedDict):1467class TaskBudget(TypedDict):


1449 1470 

1450| 欄位 | 類型 | 描述 |1471| 欄位 | 類型 | 描述 |

1451| :------ | :---- | :------- |1472| :------ | :---- | :------- |

1452| `total` | `int` | 任務的總令牌預算 |1473| `total` | `int` | 任務的總權杖預算 |

1453 1474 

1454因為這是 `TypedDict`,將其作為純字典傳遞,例如 `ClaudeAgentOptions(task_budget={"total": 50000})`。1475因為這是 `TypedDict`,將其作為純字典傳遞,例如 `ClaudeAgentOptions(task_budget={"total": 50000})`。

1455 1476 


1457 `SdkBeta`1478 `SdkBeta`

1458</h3>1479</h3>

1459 1480 

1460SDK 測試版功能的字面類型。1481SDK 測試版功能的常值類型。

1461 1482 

1462```python theme={null}1483```python theme={null}

1463SdkBeta = Literal["context-1m-2025-08-07"]1484SdkBeta = Literal["context-1m-2025-08-07"]

1464```1485```

1465 1486 

1466與 `ClaudeAgentOptions` 中的 `betas` 欄位一起使用以啟用測試版功能。1487與 `ClaudeAgentOptions` 中的 `betas` 欄位搭配使用以啟用測試版功能。

1467 1488 

1468<Warning>1489<Warning>

1469 `context-1m-2025-08-07` 測試版自 2026 年 4 月 30 日起已停用。使用 Claude Sonnet 4.5 或 Sonnet 4 傳遞此標頭沒有效果,超過標準 200k 令牌上下文視窗的請求會返回錯誤。要使用 1M 令牌上下文視窗,請遷移到 [Claude Opus 5、Claude Sonnet 5、Claude Sonnet 4.6、Claude Opus 4.6、Claude Opus 4.7 或 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview),它們以標準定價包括 1M 上下文,無需測試版標頭。1490 `context-1m-2025-08-07` 測試版自 2026 年 4 月 30 日起已停用。使用 Claude Sonnet 4.5 或 Sonnet 4 傳遞此標頭無效,超過標準 200k 權杖內容視窗的請求會傳回錯誤。若要使用 1M 權杖內容視窗,請遷移至 [Claude Opus 5、Claude Sonnet 5、Claude Sonnet 4.6、Claude Opus 4.6、Claude Opus 4.7 或 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview),這些包含標準定價的 1M 內容,無需測試版標頭。

1470</Warning>1491</Warning>

1471 1492 

1472<h3 id="mcpsdkserverconfig">1493<h3 id="mcpsdkserverconfig">

1473 `McpSdkServerConfig`1494 `McpSdkServerConfig`

1474</h3>1495</h3>

1475 1496 

1476使用 `create_sdk_mcp_server()` 建立的 SDK MCP 伺服器的配置。1497使用 `create_sdk_mcp_server()` 建立的 SDK MCP 伺服器的設定。

1477 1498 

1478```python theme={null}1499```python theme={null}

1479class McpSdkServerConfig(TypedDict):1500class McpSdkServerConfig(TypedDict):


1486 `McpServerConfig`1507 `McpServerConfig`

1487</h3>1508</h3>

1488 1509 

1489MCP 伺服器配置的聯合類型。1510MCP 伺服器設定的聯合類型。

1490 1511 

1491```python theme={null}1512```python theme={null}

1492McpServerConfig = (1513McpServerConfig = (


1500 1521 

1501```python theme={null}1522```python theme={null}

1502class McpStdioServerConfig(TypedDict):1523class McpStdioServerConfig(TypedDict):

1503 type: NotRequired[Literal["stdio"]] # Optional for backwards compatibility1524 type: NotRequired[Literal["stdio"]] # 為了向後相容性而選用

1504 command: str1525 command: str

1505 args: NotRequired[list[str]]1526 args: NotRequired[list[str]]

1506 env: NotRequired[dict[str, str]]1527 env: NotRequired[dict[str, str]]


1532 `McpServerStatusConfig`1553 `McpServerStatusConfig`

1533</h3>1554</h3>

1534 1555 

1535MCP 伺服器的配置,如 [`get_mcp_status()`](#methods) 所報告。這是所有 [`McpServerConfig`](#mcpserverconfig) 傳輸變體加上用於透過 claude.ai 代理的伺服器的僅輸出 `claudeai-proxy` 變體的聯合。1556由 [`get_mcp_status()`](#methods) 報告的 MCP 伺服器設定。這是所有 [`McpServerConfig`](#mcpserverconfig) 傳輸變體加上用於透過 claude.ai 代理的伺服器的輸出專用 `claudeai-proxy` 變體的聯合。

1536 1557 

1537```python theme={null}1558```python theme={null}

1538McpServerStatusConfig = (1559McpServerStatusConfig = (


1544)1565)

1545```1566```

1546 1567 

1547`McpSdkServerConfigStatus` 是 [`McpSdkServerConfig`](#mcpsdkserverconfig) 的可序列化形式,僅具有 `type`(`"sdk"`)和 `name`(`str`)欄位;進程內 `instance` 被省略。`McpClaudeAIProxyServerConfig` 具有 `type`(`"claudeai-proxy"`)、`url`(`str`)和 `id`(`str`)欄位。1568`McpSdkServerConfigStatus` 是 [`McpSdkServerConfig`](#mcpsdkserverconfig) 的可序列化形式,僅包含 `type`(`"sdk"`)和 `name`(`str`)欄位;進程內 `instance` 被省略。`McpClaudeAIProxyServerConfig` 具有 `type`(`"claudeai-proxy"`)、`url`(`str`)和 `id`(`str`)欄位。

1548 1569 

1549<h3 id="mcpstatusresponse">1570<h3 id="mcpstatusresponse">

1550 `McpStatusResponse`1571 `McpStatusResponse`


1561 `McpServerStatus`1582 `McpServerStatus`

1562</h3>1583</h3>

1563 1584 

1564連接的 MCP 伺服器的狀態,包含在 [`McpStatusResponse`](#mcpstatusresponse) 中。1585連線 MCP 伺服器的狀態,包含在 [`McpStatusResponse`](#mcpstatusresponse) 中。

1565 1586 

1566```python theme={null}1587```python theme={null}

1567class McpServerStatus(TypedDict):1588class McpServerStatus(TypedDict):


1575```1596```

1576 1597 

1577| 欄位 | 類型 | 描述 |1598| 欄位 | 類型 | 描述 |

1578| :----------- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- |1599| :----------- | :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |

1579| `name` | `str` | 伺服器名稱 |1600| `name` | `str` | 伺服器名稱 |

1580| `status` | `str` | `"connected"`、`"failed"`、`"needs-auth"`、`"pending"` 或 `"disabled"` 之一 |1601| `status` | `str` | `"connected"`、`"failed"`、`"needs-auth"`、`"pending"` 或 `"disabled"` 之一 |

1581| `serverInfo` | `dict`(可選) | 伺服器名稱和版本(`{"name": str, "version": str}`) |1602| `serverInfo` | `dict`(選用) | 伺服器名稱和版本(`{"name": str, "version": str}`) |

1582| `error` | `str`(可選) | 伺服器連接失敗時的錯誤消息 |1603| `error` | `str`(選用) | 伺服器連線失敗時的錯誤訊息 |

1583| `config` | [`McpServerStatusConfig`](#mcpserverstatusconfig)(可選) | 伺服器配置。與 [`McpServerConfig`](#mcpserverconfig) 相同的形狀(stdio、SSE、HTTP 或 SDK),加上用於透過 claude.ai 連接的伺服器的 `claudeai-proxy` 變體 |1604| `config` | [`McpServerStatusConfig`](#mcpserverstatusconfig)(選用) | 伺服器設定。與 [`McpServerConfig`](#mcpserverconfig)(stdio、SSE、HTTP 或 SDK)相同的形狀,加上用於透過 claude.ai 連線的伺服器的 `claudeai-proxy` 變體 |

1584| `scope` | `str`(可選) | 配置範圍 |1605| `scope` | `str`(選用) | 設定範圍 |

1585| `tools` | `list`(可選) | 此伺服器提供的 tools,每個都具有 `name`、`description` 和 `annotations` 欄位 |1606| `tools` | `list`(選用) | 此伺服器提供的工具,每個都具有 `name`、`description` 和 `annotations` 欄位 |

1586 1607 

1587<h3 id="sdkpluginconfig">1608<h3 id="sdkpluginconfig">

1588 `SdkPluginConfig`1609 `SdkPluginConfig`

1589</h3>1610</h3>

1590 1611 

1591在 SDK 中載入外掛程式的配置。1612在 SDK 中載入外掛程式的設定。

1592 1613 

1593```python theme={null}1614```python theme={null}

1594class SdkPluginConfig(TypedDict):1615class SdkPluginConfig(TypedDict):


1598 1619 

1599| 欄位 | 類型 | 描述 |1620| 欄位 | 類型 | 描述 |

1600| :----- | :----------------- | :------------------------- |1621| :----- | :----------------- | :------------------------- |

1601| `type` | `Literal["local"]` | 必須是 `"local"`(目前僅支援本地外掛程式) |1622| `type` | `Literal["local"]` | 必須是 `"local"`(目前僅支援本機外掛程式) |

1602| `path` | `str` | 外掛程式目錄的絕對或相對路徑 |1623| `path` | `str` | 外掛程式目錄的絕對或相對路徑 |

1603 1624 

1604**範例:**1625**範例:**


1610]1631]

1611```1632```

1612 1633 

1613如需建立和使用外掛程式的完整資訊,見 [外掛程式](/docs/zh-TW/agent-sdk/plugins)。1634如需建立和使用外掛程式的完整資訊,請參閱[外掛程式](/docs/zh-TW/agent-sdk/plugins)。

1614 1635 

1615<h2 id="message-types">1636<h2 id="message-types">

1616 消息類型1637 消息類型

Details

62 </Tab>62 </Tab>

63 63 

64 <Tab title="Python (uv)">64 <Tab title="Python (uv)">

65 [uv](https://docs.astral.sh/uv/) 是一個快速的 Python 套件管理器,可自動處理虛擬環境:65 [安裝 uv](https://docs.astral.sh/uv/),一個快速的 Python 套件管理器,可自動處理虛擬環境。然後初始化專案並新增 SDK:

66 66 

67 ```bash theme={null}67 ```bash theme={null}

68 uv init68 uv init


356 356 

357啟用 `Bash` 後,請嘗試:`"Write unit tests for utils.py, run them, and fix any failures"`357啟用 `Bash` 後,請嘗試:`"Write unit tests for utils.py, run them, and fix any failures"`

358 358 

359每個這些程式碼片段都會在同一個選項物件上設定欄位。如需更多資訊,請參閱[設定您的代理](/docs/zh-TW/agent-sdk/configuration)。

360 

359<h2 id="key-concepts">361<h2 id="key-concepts">

360 關鍵概念362 關鍵概念

361</h2>363</h2>


376 378 

377現在您已建立了第一個代理程式,請了解如何擴展其功能並根據您的使用案例進行客製化:379現在您已建立了第一個代理程式,請了解如何擴展其功能並根據您的使用案例進行客製化:

378 380 

381* **[設定您的代理程式](/docs/zh-TW/agent-sdk/configuration)**:組合選項物件並找到涵蓋每個設定的頁面

379* **[權限](/docs/zh-TW/agent-sdk/permissions)**:控制您的代理程式可以執行的操作以及何時需要批准382* **[權限](/docs/zh-TW/agent-sdk/permissions)**:控制您的代理程式可以執行的操作以及何時需要批准

380* **[Hooks](/docs/zh-TW/agent-sdk/hooks)**:在工具呼叫之前或之後執行自訂程式碼383* **[Hooks](/docs/zh-TW/agent-sdk/hooks)**:在工具呼叫之前或之後執行自訂程式碼

381* **[Sessions](/docs/zh-TW/agent-sdk/sessions)**:建立維持上下文的多輪代理程式384* **[Sessions](/docs/zh-TW/agent-sdk/sessions)**:建立維持上下文的多輪代理程式

Details

4 4 

5# 將工作階段持久化到外部儲存5# 將工作階段持久化到外部儲存

6 6 

7> 將工作階段文字記錄鏡像到 S3、Redis 或您自己的後端,以便其他主機可以繼續您的工作階段。7> 將 Agent SDK 工作階段文字記錄鏡像到您自己的物件儲存、鍵值儲存或資料庫,以便其他主機可以繼續您的工作階段。

8 8 

9根據預設,SDK 會將工作階段文字記錄寫入本機檔案系統上 `~/.claude/projects/` 下的 JSONL 檔案。`SessionStore` 配接器可讓您將這些文字記錄鏡像到您自己的後端,例如 S3、Redis 或資料庫,以便在一個主機上建立的工作階段可以在另一個主機上從相符的工作目錄繼續進行。9根據預設,SDK 會將工作階段文字記錄寫入本機檔案系統上 `~/.claude/projects/` 下的 JSONL 檔案。`SessionStore` 配接器可讓您將這些文字記錄鏡像到您自己的後端,例如物件儲存、鍵值儲存或資料庫,以便在一個主機上建立的工作階段可以在另一個主機上從相符的工作目錄繼續進行。

10 10 

11使用工作階段儲存的常見原因:11使用工作階段儲存的常見原因:

12 12 

13* **多主機部署。** 無伺服器函式、自動擴展的工作者和 CI 執行器不共享檔案系統。共用儲存可讓複本繼續彼此的工作階段。13* **多主機部署。** 無伺服器函式、自動擴展的工作者和 CI 執行器不共享檔案系統。共用儲存可讓複本繼續彼此的工作階段。

14* **耐久性。** 本機容器是暫時的。由 S3 或資料庫支援的儲存可在重新啟動和重新部署後存活。14* **耐久性。** 本機容器是暫時的。外部儲存可在重新啟動和重新部署後存活。

15* **合規性和稽核。** 將文字記錄保留在您已經管理的儲存中,使用您自己的保留規則、加密和存取控制。15* **合規性和稽核。** 將文字記錄保留在您已經管理的儲存中,使用您自己的保留規則、加密和存取控制。

16 16 

17<h2 id="the-sessionstore-interface">17<h2 id="the-sessionstore-interface">


197 197 

198針對您的後端實現 `append` 和 `load`。如果您希望 `listSessions()`、一次呼叫的中繼資料讀取、`deleteSession()` 和子代理恢復針對存儲工作,請添加 `listSessions`、`listSessionSummaries`、`delete` 和 `listSubkeys`。198針對您的後端實現 `append` 和 `load`。如果您希望 `listSessions()`、一次呼叫的中繼資料讀取、`deleteSession()` 和子代理恢復針對存儲工作,請添加 `listSessions`、`listSessionSummaries`、`delete` 和 `listSubkeys`。

199 199 

200傳遞給 `append` 的條目類型為 `SessionStoreEntry`(一個 `{ type: string; ... }` 對象)。將它們視為不透明的 JSON 安全值:按順序持久化它們,並從 `load` 以相同順序返回它們。`load` 必須返回與追加的條目深度相等的條目;不需要字節相等的序列化,因此像 Postgres `jsonb` 這樣重新排序對象鍵的後端是可以的。200傳遞給 `append` 的條目類型為 `SessionStoreEntry`(一個 `{ type: string; ... }` 物件)。將它們視為不透明的 JSON 安全值:按順序持久化它們,並從 `load` 以相同順序返回它們。`load` 必須返回與追加的條目深度相等的條目;不需要位元組相等的序列化,因此像重新排序物件鍵的二進位 JSON 欄位類型這樣的後端是可以的。

201 201 

202<h2 id="reference-implementations">202<h2 id="reference-implementations">

203 參考實現203 參考實現

204</h2>204</h2>

205 205 

206TypeScript SDK 存儲庫在 [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) 下包含 S3、Redis 和 Postgres 的可運行參考適配器。它們未發佈到 npm;將您需要的 `src/` 文件複製到您的項目中並安裝相應的後端客戶端。206兩個 SDK 存儲庫在 TypeScript 的 [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) 和 Python 的 [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) 下包含可運行的參考適配器。每種存儲類型都有一個適配器,每個都展示了 `append` 和 `load` 如何映射到該類型的後端。它們未發佈為套件;將最接近您後端的類型的適配器複製到您的項目中,安裝您後端的客戶端,並進行調整。

207 207 

208| 適配器 | 後端客戶端 | 存儲模型 |208| 存儲類型 | 存儲模型 | 範例適配器 |

209| :----------------------------------------------------------------------------------------------------------------------------- | :------------------- | :--------------------------------------------- |209| :---------- | :--------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

210| [`S3SessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3) | `@aws-sdk/client-s3` | 每個 `append()` 一個 JSONL 部分文件;`load()` 列出、排序和連接。 |210| 物件存儲 | 每個 `append()` 一個部分文件;`load()` 列出部分、排序並連接。 | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| [`RedisSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis) | `ioredis` | 每個記錄的 `RPUSH`/`LRANGE` 列表,加上排序集會話索引。 |211| 鍵值存儲 | 每個記錄一個列表,`append()` 推送到該列表,`load()` 按範圍讀取,加上會話的排序索引。 | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| [`PostgresSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres) | `pg` | `jsonb` 表中每個條目一行,按 `BIGSERIAL` 排序。 |212| 關聯式資料庫或文件存儲 | 每個條目一行或一個文件,存儲為 JSON 並按插入時分配的鍵排序。 | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

213 213 

214每個適配器都採用預配置的客戶端實例,因此您可以控制憑證、TLS、區域和池。例如,使用 S3:214每個適配器都採用預配置的客戶端實例,因此您可以控制認證、TLS、區域和連接池。以下範例將物件存儲適配器連接到 `query()`,然後在另一台主機上從中恢復:

215 215 

216```typescript TypeScript theme={null}216```typescript TypeScript theme={null}

217import { query } from "@anthropic-ai/claude-agent-sdk";217import { query } from "@anthropic-ai/claude-agent-sdk";


316 鏡像寫入是盡力而為316 鏡像寫入是盡力而為

317</h3>317</h3>

318 318 

319如果 `append()` 拒絕,SDK 會以短暫的退避重試該批次最多兩次,總共最多三次嘗試。超時的呼叫不會重試,因為原始呼叫可能仍然會到達。如果批次仍然失敗,SDK 會記錄錯誤,向迭代器發出 `{ type: "system", subtype: "mirror_error" }` 消息,丟棄批次,並繼續查詢。因為重試的批次可以重新傳遞已經到達的條目,請在您的 `append()` 實現中按 `entry.uuid` 進行去重。319如果 `append()` 拒絕,SDK 會以短暫的退避重試該批次最多兩次,總共最多三次嘗試。超時的呼叫不會重試,因為原始呼叫可能仍然會到達。如果批次仍然失敗,SDK 會記錄錯誤,向迭代器發出 `{ type: "system", subtype: "mirror_error" }` 訊息,丟棄批次,並繼續查詢。因為重試的批次可以重新傳遞已經到達的條目,請在您的 `append()` 實現中按 `entry.uuid` 進行去重。

320 320 

321存儲中斷不會中斷代理,因為子進程首先在本地寫入。如果您需要檢測存儲資料遺失,請監視 `mirror_error`。在[從存儲恢復](#resume-from-the-store)的運行上,丟棄的批次在運行結束後沒有倖存的副本。321存儲中斷不會中斷代理,因為子進程首先在本地寫入。如果您需要檢測存儲資料遺失,請監視 `mirror_error`。在[從存儲恢復](#resume-from-the-store)的運行上,丟棄的批次在運行結束後沒有倖存的副本。

322 322 


371* [使用會話](/docs/zh-TW/agent-sdk/sessions):在沒有自定義存儲的情況下繼續、恢復和分叉371* [使用會話](/docs/zh-TW/agent-sdk/sessions):在沒有自定義存儲的情況下繼續、恢復和分叉

372* [託管 SDK](/docs/zh-TW/agent-sdk/hosting):多主機環境的部署模式372* [託管 SDK](/docs/zh-TW/agent-sdk/hosting):多主機環境的部署模式

373* [TypeScript `Options`](/docs/zh-TW/agent-sdk/typescript#options):完整選項參考373* [TypeScript `Options`](/docs/zh-TW/agent-sdk/typescript#options):完整選項參考

374* [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores):可運行的 S3、Redis 和 Postgres 參考適配器374* [參考實作](#reference-implementations):物件存儲、鍵值存儲和資料庫的可運行範例適配器,位於兩個 SDK 儲存庫中

Details

130* **您的技能**:您編寫的提示工件,每個都是包含 `SKILL.md` 檔案的目錄。使用者可呼叫的技能名稱會自動加入表面,因此分派您自己的 `/security-check` 和執行內建命令的方式相同130* **您的技能**:您編寫的提示工件,每個都是包含 `SKILL.md` 檔案的目錄。使用者可呼叫的技能名稱會自動加入表面,因此分派您自己的 `/security-check` 和執行內建命令的方式相同

131* **自訂命令檔案**:一種較舊的工件形式,具有相同的行為,位於 `.claude/commands/` 中的平面 Markdown 檔案,其檔案名稱會變成命令名稱。技能是其推薦的後繼者131* **自訂命令檔案**:一種較舊的工件形式,具有相同的行為,位於 `.claude/commands/` 中的平面 Markdown 檔案,其檔案名稱會變成命令名稱。技能是其推薦的後繼者

132 132 

133根據預設,您和 Claude 都可以呼叫任何技能。您可以透過技能的[前置資料](/docs/zh-TW/skills#control-who-invokes-a-skill)限制任一路徑。如需這兩個術語的定義,請參閱詞彙表的[命令](/docs/zh-TW/glossary#command)和[技能](/docs/zh-TW/glossary#skill)項目。請參閱[Claude Code 中的命令](/docs/zh-TW/commands)以了解每個內建命令,以及[使用技能擴展 Claude](/docs/zh-TW/skills) 以了解兩種工件形式的完整指南。133根據預設,您和 Claude 都可以呼叫任何技能。您可以透過技能的[前置資料](/docs/zh-TW/skills#control-who-invokes-a-skill)限制任一路徑。如需命令和技能的定義,請參閱詞彙表的[命令](/docs/zh-TW/glossary#command)和[技能](/docs/zh-TW/glossary#skill)項目。請參閱[Claude Code 中的命令](/docs/zh-TW/commands)以了解每個內建命令,以及[使用技能擴展 Claude](/docs/zh-TW/skills)以了解兩種工件形式的完整指南。

134 134 

135<h3 id="discover-available-commands">135<h3 id="discover-available-commands">

136 探索可用命令136 探索可用命令


181 181 

182透過將命令包含在提示字串中來傳送命令,就像傳送一般文字一樣。分派不取決於 `skills` 選項。傳送 `/<name>` 會執行使用者可呼叫的技能,即使您的 `skills` 清單省略了它。作用於對話歷史記錄的命令(例如 `/compact`)需要先前的訊息才能使用。182透過將命令包含在提示字串中來傳送命令,就像傳送一般文字一樣。分派不取決於 `skills` 選項。傳送 `/<name>` 會執行使用者可呼叫的技能,即使您的 `skills` 清單省略了它。作用於對話歷史記錄的命令(例如 `/compact`)需要先前的訊息才能使用。

183 183 

184一個 `/<name>` 既不符合工作階段中的命令也不符合內建 Claude Code 命令的情況不會導致查詢失敗。Claude Code 會將提示傳送給 Claude 作為一般訊息,並附上命令未執行的說明,因此查詢會花費一個模型輪次並返回 Claude 的回覆。在 v2.1.274 之前,一個不符合任何內容的 `/<name>` 會返回 `Unknown command: /<name>` 作為結果,不花費模型輪次。

185 

186一個 `/<name>` 符合在工作階段中不可用的內建 Claude Code 命令(例如 `/theme`)會返回 `/theme isn't available in this environment.` 作為結果,不花費模型輪次。

187 

184<Note>188<Note>

185 命令可以像任何其他提示一樣達到 `maxTurns` / `max_turns` 限制,以錯誤結果而不是 `success` 結束查詢。如需錯誤結果合約,請參閱[處理結果](/docs/zh-TW/agent-sdk/agent-loop#handle-the-result)。如果您的命令可能達到限制,請在 TypeScript 中用 `try`/`catch` 或在 Python 中用 `try`/`except` 包裝迴圈,如[單一訊息輸入](/docs/zh-TW/agent-sdk/streaming-vs-single-mode#single-message-input)中所示,或設定 `maxTurns` 足夠高以完成工作。189 命令可以像任何其他提示一樣達到 `maxTurns` / `max_turns` 限制,以錯誤結果而不是 `success` 結束查詢。如需錯誤結果合約,請參閱[處理結果](/docs/zh-TW/agent-sdk/agent-loop#handle-the-result)。如果您的命令可能達到限制,請在 TypeScript 中用 `try`/`catch` 或在 Python 中用 `try`/`except` 包裝迴圈,如[單一訊息輸入](/docs/zh-TW/agent-sdk/streaming-vs-single-mode#single-message-input)中所示,或設定 `maxTurns` 足夠高以完成工作。

186</Note>190</Note>

Details

153</h3>153</h3>

154 154 

155| 欄位 | 類型 | 必需 | 說明 |155| 欄位 | 類型 | 必需 | 說明 |

156| :---------------- | :---------------------------------------------------------- | :- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| :---------------- | :---------------------------------------------------------- | :- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

157| `description` | `string` | 是 | 何時使用此代理的自然語言說明 |157| `description` | `string` | 是 | 何時使用此代理的自然語言說明 |

158| `prompt` | `string` | 是 | 代理的系統提示,定義其角色和行為 |158| `prompt` | `string` | 是 | 代理的系統提示,定義其角色和行為 |

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


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

166| `maxTurns` | `number` | 否 | 代理停止前的最大代理回合數。當代理達到限制時,Claude Code 會傳回標記為部分的輸出,您可以[繼續代理](#resume-subagents)以繼續。部分標記需要 Claude Code v2.1.246 或更新版本 |166| `maxTurns` | `number` | 否 | 代理停止前的最大代理回合數。當代理達到限制時,Claude Code 會傳回標記為部分的輸出,您可以[繼續代理](#resume-subagents)以繼續。部分標記需要 Claude Code v2.1.246 或更新版本 |

167| `background` | `boolean` | 否 | 叫用時以非阻塞背景工作執行此代理 |167| `background` | `boolean` | 否 | 叫用時以非阻塞背景工作執行此代理 |

168| `omitClaudeMd` | `boolean` | 否 | 當此代理作為子代理執行時,在不含使用者、專案和本機 CLAUDE.md 檔案的情況下執行此代理;受管理的原則檔案仍會載入。當代理作為主執行緒代理執行時忽略。需要 TypeScript Agent SDK v0.3.271 或更新版本。Python SDK 的 [`AgentDefinition`](/docs/zh-TW/agent-sdk/python#agentdefinition) 沒有此欄位 |

168| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | 否 | 此代理的推理工作量等級 |169| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | 否 | 此代理的推理工作量等級 |

169| `permissionMode` | `PermissionMode` | 否 | 此代理內工具執行的權限模式。[子代理繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes)決定何時適用 |170| `permissionMode` | `PermissionMode` | 否 | 此代理內工具執行的權限模式。[子代理繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes)決定何時適用 |

170 171 


188 子代理繼承的內容189 子代理繼承的內容

189</h2>190</h2>

190 191 

191除非子代理是[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),否則其內容視窗會重新開始,沒有父對話,但也不是空的。您從父代理傳遞到子代理的唯一內容是 Agent 工具的提示字串,因此請直接在該提示中包含子代理需要的任何檔案路徑、錯誤訊息或決策。192除非子代理是[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),否則其上下文視窗會重新開始,沒有父對話,但也不是空的。您從父代理傳遞到子代理的唯一內容是 Agent 工具的提示字串,因此請直接在該提示中包含子代理需要的任何檔案路徑、錯誤訊息或決策。

192 193 

193具有 [`SendMessage`](/docs/zh-TW/tools-reference) 工具的子代理會以工作階段中執行的其他具名代理清單開始,因此它知道可以傳送訊息給哪些名稱。Claude Code 會在子代理的第一個回合自動將清單新增到子代理。[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation)不會取得清單,因為它會繼承父對話。194具有 [`SendMessage`](/docs/zh-TW/tools-reference) 工具的子代理會以工作階段中執行的其他具名代理清單開始,因此它知道可以向哪些名稱傳送訊息。Claude Code 會在子代理的第一個回合自動將清單新增到子代理。[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation)不會取得清單,因為它繼承的是父對話。

194 195 

195子代理也會繼承主工作階段的擴展思考設定。196子代理也會繼承主工作階段的擴展思考設定。

196 197 

197下表列出非分支子代理的內容視窗包含的內容以及遺漏的內容。198下表列出非分支子代理的上下文包含的內容以及它遺漏的內容。

198 199 

199| 子代理接收 | 子代理不接收 |200| 子代理接收 | 子代理不接收 |

200| :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- |201| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------- |

201| 其自身的系統提示 (`AgentDefinition.prompt`) 和 Agent 工具的提示 | 父代理的對話歷史或工具結果 |202| 其自身的系統提示 (`AgentDefinition.prompt`) 和 Agent 工具的提示 | 父代理的對話歷史或工具結果 |

202| Project CLAUDE.md (透過 [`settingSources`](/docs/zh-TW/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) 載入) | 預載入的技能內容,除非列在 `AgentDefinition.skills` 中 |203| 專案 CLAUDE.md(透過 [`settingSources`](/docs/zh-TW/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) 載入),除非代理設定 [`omitClaudeMd`](#agentdefinition-configuration) | 預載入的技能內容,除非列在 `AgentDefinition.skills` 中 |

203| 工具定義 (繼承自父代理或 `tools` 中的子集,[針對背景執行進行篩選](/docs/zh-TW/sub-agents#available-tools)) | 父代理的系統提示 |204| 工具定義(繼承自父代理或 `tools` 中的子集,[針對背景執行進行篩選](/docs/zh-TW/sub-agents#available-tools)) | 父代理的系統提示 |

204 205 

205<Note>206<Note>

206 父代理會將子代理的最終訊息作為 Agent 工具結果接收,但可能會在其自身回應中進行摘要。若要在面向使用者的回應中逐字保留子代理輸出,請在您傳遞給主 `query()` 呼叫的提示或 `systemPrompt` 選項中包含執行此操作的指示。207 父代理會將子代理的最終訊息作為 Agent 工具結果接收,但可能會在其自身回應中進行摘要。若要在面向使用者的回應中逐字保留子代理輸出,請在您傳遞給主 `query()` 呼叫的提示或 `systemPrompt` 選項中包含執行此操作的指示。

207 208 

208 在 v2.1.210 及更新版本中,Claude Code [在父代理讀取最終訊息之前掃描該訊息以尋找指示形狀的模式](/docs/zh-TW/sub-agents#subagent-output-scanning)。掃描以三種不同的方式處理三種模式:209 在 v2.1.210 及更新版本中,Claude Code [在父代理讀取最終訊息之前掃描它以尋找指示形狀的模式](/docs/zh-TW/sub-agents#subagent-output-scanning)。掃描以三種不同的方式處理三種模式:

209 210 

210 * **控制標籤模仿**:Claude Code 會中立化只有工具組發出的標籤,例如 `<system-reminder>` 區塊,就地進行。它在開啟角括號之後插入反斜線,並刪除任何內容。211 * **控制標籤模仿**:Claude Code 會中立化只有工具組發出的標籤,例如 `<system-reminder>` 區塊,就地進行。它在開始角括號後插入反斜線,不刪除任何內容。

211 * **權限設定提及**:Claude Code 會保留對權限設定的參考,例如 `.claude/settings.json`、`bypassPermissions` 或 `--dangerously-skip-permissions`,如同撰寫的方式。212 * **權限設定提及**:Claude Code 會保留對權限設定的參考,例如 `.claude/settings.json`、`bypassPermissions` 或 `--dangerously-skip-permissions`,如同撰寫的方式。

212 * **回合標記**:以 `Human:` 或 `Assistant:` 開頭的行會在冒號前面加上反斜線,因此訊息無法模仿對話回合邊界。213 * **回合標記**:以 `Human:` 或 `Assistant:` 開頭的行在冒號前取得反斜線,因此訊息無法模仿對話回合邊界。

213 214 

214 對於控制標籤或權限設定相符項,Claude Code 會在前面加上 `[harness: ...]` 標記行,命名相符的模式;回合標記相符項不會新增標記行。這些是掃描進行的唯一修改:它永遠不會移除或改寫子代理的文字。215 對於控制標籤或權限設定匹配,Claude Code 會在前面加上 `[harness: ...]` 標記行,命名匹配的模式;回合標記匹配不會新增標記行。這些是掃描進行的唯一修改:它永遠不會移除或改寫子代理的文字。

215</Note>216</Note>

216 217 

217結束子代理早期的 API 錯誤,例如速率限制,永遠不會作為其結果傳遞。請參閱[子代理中的 API 錯誤](/docs/zh-TW/sub-agents#api-errors-in-subagents)以了解前景和背景行為。218結束子代理早期的 API 錯誤,例如速率限制,永遠不會作為其結果傳遞。請參閱[子代理中的 API 錯誤](/docs/zh-TW/sub-agents#api-errors-in-subagents)以了解前景和背景行為。

Details

478 `Options`478 `Options`

479</h3>479</h3>

480 480 

481`query()` 函數的配置對象。481`query()` 函式的設定物件。

482 482 

483| 屬性 | 類型 | 預設值 | 描述 |483| 屬性 | 類型 | 預設值 | 說明 |

484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

485| `abortController` | `AbortController` | `new AbortController()` | 用於取消操作的控制器 |485| `abortController` | `AbortController` | `new AbortController()` | 用於取消操作的控制器 |

486| `additionalDirectories` | `string[]` | `[]` | Claude 可以訪問的其他目錄。SDK 將每個條目傳遞給 Claude Code 作為 `--add-dir`,因此使用 `project` 設定來源時,Claude Code 也會[載入目錄的 skills、commands 和 subagents](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration) |486| `additionalDirectories` | `string[]` | `[]` | Claude 可以存取的額外目錄。SDK 會將每個項目作為 `--add-dir` 傳遞給 Claude Code,因此使用 `project` 設定來源時,Claude Code 也會[載入目錄的技能、命令和子代理](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration) |

487| `agent` | `string` | `undefined` | 主線程的代理名稱。代理必須在 `agents` 選項或設定中定義 |487| `agent` | `string` | `undefined` | 主執行緒的代理名稱。代理必須在 `agents` 選項或設定中定義 |

488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | 以編程方式定義 subagents |488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | 以程式設計方式定義子代理 |

489| `agentProgressSummaries` | `boolean` | `false` | 當為 `true` 時,為 subagents 生成單行進度摘要,並通過 `summary` 欄位在 [`task_progress`](#sdktaskprogressmessage) 事件上轉發它們。適用於前景和背景 subagents |489| `agentProgressSummaries` | `boolean` | `false` | 當為 `true` 時,為子代理產生單行進度摘要,並透過 `summary` 欄位在 [`task_progress`](#sdktaskprogressmessage) 事件上轉發。適用於前景和背景子代理 |

490| `allowDangerouslySkipPermissions` | `boolean` | `false` | 啟用繞過權限。使用 `permissionMode: 'bypassPermissions'` 時需要 |490| `allowDangerouslySkipPermissions` | `boolean` | `false` | 啟用略過權限。使用 `permissionMode: 'bypassPermissions'` 時需要,可在啟動時或稍後透過 `setPermissionMode()` 設定。請參閱[計畫模式](/docs/zh-TW/agent-sdk/permissions#plan-mode-plan)以了解它如何與 `permissionMode: 'plan'` 互動 |

491| `allowedTools` | `string[]` | `[]` | 無需提示即可自動批准的工具。這不會將 Claude 限制為僅這些工具。如果您在此處命名其中一個 [task-tracking tools](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會選擇加入會話。其他未列出的工具會進入 `permissionMode` 和 `canUseTool`。使用 `disallowedTools` 來阻止工具。見 [Permissions](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |491| `allowedTools` | `string[]` | `[]` | 自動核准而不提示的工具。這不會限制 Claude 只能使用這些工具。如果您在此處命名其中一個[任務追蹤工具](/docs/zh-TW/agent-sdk/todo-tracking#model-availability),Claude Code 也會選擇加入工作階段。其他未列出的工具會根據 `permissionMode` 和 `canUseTool` 進行處理。使用 `disallowedTools` 來封鎖工具。請參閱[權限](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |

492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | 啟用測試功能 |492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | 啟用測試版功能 |

493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | 自定義權限函數,僅在 [permission flow](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated) 進入提示時調用。不會為 `allowedTools`、allow 規則或 `permissionMode` 自動批准的調用調用。Allow 規則不會預批准 [actions no mode auto-approves](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。見 [`CanUseTool`](#canusetool) 了解詳情 |493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | 自訂權限函式,僅在[權限流程](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)落實到提示時叫用。不會針對由 `allowedTools`、允許規則或 `permissionMode` 自動核准的呼叫叫用。允許規則不會預先核准[任何模式都不自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。請參閱 [`CanUseTool`](#canusetool) 以取得詳細資訊 |

494| `continue` | `boolean` | `false` | 繼續最近的對話 |494| `continue` | `boolean` | `false` | 繼續最近的對話 |

495| `cwd` | `string` | `process.cwd()` | 當前工作目錄 |495| `cwd` | `string` | `process.cwd()` | 目前的工作目錄 |

496| `debug` | `boolean` | `false` | 為 Claude Code 進程啟用調試模式 |496| `debug` | `boolean` | `false` | 為 Claude Code 程序啟用偵錯模式 |

497| `debugFile` | `string` | `undefined` | 將調試日誌寫入特定檔案路徑。隱式啟用調試模式 |497| `debugFile` | `string` | `undefined` | 將偵錯日誌寫入特定檔案路徑。隱含啟用偵錯模式 |

498| `disallowedTools` | `string[]` | `[]` | 要拒絕的工具。裸名稱如 `"Bash"` 會從 Claude 的上下文中移除該工具。作用域規則如 `"Bash(rm *)"` 會保留該工具可用,並在每個權限模式中拒絕匹配的調用,包括 `bypassPermissions`,針對 [as written](/docs/zh-TW/permissions#bash-rule-limits) 的命令。見 [Permissions](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |498| `disallowedTools` | `string[]` | `[]` | 要拒絕的工具。裸名稱(例如 `"Bash"`)會從 Claude 的內容中移除工具。範圍規則(例如 `"Bash(rm *)""`)會保留工具可用,並在每個權限模式中拒絕符合的呼叫,包括 `bypassPermissions`,針對[如所寫的](/docs/zh-TW/permissions#bash-rule-limits)命令。請參閱[權限](/docs/zh-TW/agent-sdk/permissions#allow-and-deny-rules) |

499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | 控制 Claude 在其回應中投入多少努力。與自適應思考一起工作以指導思考深度。見 [adjust the effort level](/docs/zh-TW/model-config#adjust-effort-level) |499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | 控制 Claude 在其回應中投入多少努力。與自適應思考配合使用以引導思考深度。請參閱[調整努力等級](/docs/zh-TW/model-config#adjust-effort-level) |

500| `enableFileCheckpointing` | `boolean` | `false` | 啟用檔案更改追蹤以進行回滾。見 [File checkpointing](/docs/zh-TW/agent-sdk/file-checkpointing) |500| `enableFileCheckpointing` | `boolean` | `false` | 啟用檔案變更追蹤以進行倒帶。請參閱[檔案檢查點](/docs/zh-TW/agent-sdk/file-checkpointing) |

501| `env` | `Record<string, string \| undefined>` | `process.env` | 環境變數。設置此項時,這會替換子進程環境而不是與 `process.env` 合併,因此傳遞 `{ ...process.env, YOUR_VAR: 'value' }` 以保留繼承的變數如 `PATH`。見 [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) 了解此模式的範例,以及 [Environment variables](/docs/zh-TW/env-vars) 了解底層 CLI 讀取的變數。設置 `CLAUDE_AGENT_SDK_CLIENT_APP` 以在 User-Agent 標頭中識別您的應用程式 |501| `env` | `Record<string, string \| undefined>` | `process.env` | 環境變數。設定時,這會取代子程序環境而不是與 `process.env` 合併,因此請傳遞 `{ ...process.env, YOUR_VAR: 'value' }` 以保留繼承的變數(例如 `PATH`)。請參閱[處理緩慢或停滯的 API 回應](#handle-slow-or-stalled-api-responses)以取得此模式的範例,以及[環境變數](/docs/zh-TW/env-vars)以了解基礎 CLI 讀取的變數。設定 `CLAUDE_AGENT_SDK_CLIENT_APP` 以在 User-Agent 標頭中識別您的應用程式 |

502| `executable` | `'bun' \| 'deno' \| 'node'` | 自動偵測 | 要使用的 JavaScript 執行時 |502| `executable` | `'bun' \| 'deno' \| 'node'` | 自動偵測 | 要使用的 JavaScript 執行時間 |

503| `executableArgs` | `string[]` | `[]` | 傳遞給可執行檔的參數 |503| `executableArgs` | `string[]` | `[]` | 要傳遞給可執行檔的引數 |

504| `extraArgs` | `Record<string, string \| null>` | `{}` | 其他參數 |504| `extraArgs` | `Record<string, string \| null>` | `{}` | 其他引數 |

505| `fallbackModel` | `string` | `undefined` | 主模型失敗時使用的模型 |505| `fallbackModel` | `string` | `undefined` | 主要模型失敗時要使用的模型。接受逗號分隔的清單。如需順序和上限,請參閱[後備模型鏈](/docs/zh-TW/model-config#fallback-model-chains)。如需指導,請參閱[選擇模型](/docs/zh-TW/agent-sdk/configuration#choose-a-model) |

506| `forkSession` | `boolean` | `false` | 使用 `resume` 恢復時,分叉到新會話 ID 而不是繼續原始會話 |506| `forkSession` | `boolean` | `false` | 使用 `resume` 繼續時,分支到新的工作階段 ID 而不是繼續原始工作階段 |

507| `forwardSubagentText` | `boolean` | `false` | 轉發 subagent 文字和思考塊作為助手和使用者訊息,並設置 `parent_tool_use_id`,以便消費者可以呈現嵌套記錄。沒有此選項,Claude Code 會發出 subagent `tool_use` 和 `tool_result` 塊,但不會發出文字或思考。來自每個嵌套深度的 subagents 訊息會在 Claude Code v2.1.219 及更高版本上轉發;在 v2.1.219 之前,只有來自深度 1 subagents 的訊息出現 |507| `forwardSubagentText` | `boolean` | `false` | 轉發子代理文字和思考區塊作為助手和使用者訊息,並設定 `parent_tool_use_id`,以便消費者可以呈現巢狀文字記錄。沒有此選項,Claude Code 會發出子代理 `tool_use` 和 `tool_result` 區塊,但不會發出文字或思考。來自每個巢狀深度的子代理的訊息會在 Claude Code v2.1.219 及更新版本上轉發;在 v2.1.219 之前,只有來自深度 1 子代理的訊息出現 |

508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | 事件的 hooks 回調 |508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | 事件的 Hook 回呼 |

509| `includeHookEvents` | `boolean` | `false` | 將 hooks 生命週期事件包括在訊息流中,作為 [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage)。`SessionStart` 和 `Setup` hooks 的生命週期事件始終包括在內,不需要此選項。某些 hooks 事件,例如 `Notification`、`SessionEnd`、`PreCompact` 和 `PostCompact`,永遠不會產生 `SDKHookStartedMessage`,即使使用此選項也是如此。對於這些事件,Claude Code 仍會在執行超過一秒的命令 hooks 時發出 `SDKHookProgressMessage` 並產生輸出,並且僅當 hooks [that runs in the background](/docs/zh-TW/hooks#run-hooks-in-the-background) 完成時才發出 `SDKHookResponseMessage` |509| `includeHookEvents` | `boolean` | `false` | 在訊息串流中包含 hook 生命週期事件,作為 [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage)。`SessionStart` 和 `Setup` hooks 的生命週期事件始終包含在內,不需要此選項。某些 hook 事件(例如 `Notification`、`SessionEnd`、`PreCompact` 和 `PostCompact`)永遠不會產生 `SDKHookStartedMessage`,即使使用此選項也是如此。對於這些事件,Claude Code 仍會在執行超過一秒的命令 hook 時發出 `SDKHookProgressMessage` 並產生輸出,並且僅在 hook [在背景執行](/docs/zh-TW/hooks#run-hooks-in-the-background)時發出 `SDKHookResponseMessage` |

510| `includePartialMessages` | `boolean` | `false` | 包括部分訊息事件 |510| `includePartialMessages` | `boolean` | `false` | 包含部分訊息事件 |

511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* 在恢復物化期間,每個 `sessionStore.load()` 和 `sessionStore.listSubkeys()` 呼叫的逾時時間(以毫秒為單位)。如果適配器未在此視窗內解決,查詢將失敗而不是掛起。未設置 `sessionStore` 時忽略 |511| `loadTimeoutMs` | `number` | `60000` | *Alpha。* 在繼續具體化期間,每個 `sessionStore.load()` 和 `sessionStore.listSubkeys()` 呼叫的逾時(毫秒)。如果配接器未在此視窗內解決,查詢會失敗而不是掛起。未設定 `sessionStore` 時忽略 |

512| `managedSettings` | `Settings` | `undefined` | 您的主機進程提供給生成會話的策略層設定。在具有管理員部署的受管設定的機器上,Claude Code 會忽略這些,除非管理員的最高優先級受管來源設置 `parentSettingsBehavior: 'merge'`,並且當 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 提供受管設定時永遠不會合併它們。合併的值通過限制性專用篩選器;[Restrict parent settings](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings) 涵蓋篩選器允許的內容和 `allowManaged*Only` 鎖定。設置 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/zh-TW/env-vars) 的主機有三個鍵直接從此有效負載讀取:其在 Claude Code v2.1.222 或更高版本上的 [model configuration](/docs/zh-TW/model-config#restrict-model-selection)、當沒有受管來源在 v2.1.246 或更高版本上設置它時的 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing),以及其在 v2.1.247 或更高版本上的 `ENABLE_TOOL_SEARCH` env 條目 |512| `managedSettings` | `Settings` | `undefined` | 您的主機程序提供給衍生工作階段的原則層級設定。在具有管理員部署的受管設定的機器上,Claude Code 會忽略這些,除非管理員的最高優先順序受管來源設定 `parentSettingsBehavior: 'merge'`,並且在 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 提供受管設定時永遠不會合併。合併的值會通過限制性篩選器;[限制父設定](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings)涵蓋篩選器允許的內容和 `allowManaged*Only` 鎖定。設定 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/zh-TW/env-vars) 的主機有三個金鑰直接從此承載讀取:其在 Claude Code v2.1.222 或更新版本上的[模型設定](/docs/zh-TW/model-config#restrict-model-selection)、當沒有受管來源在 v2.1.246 或更新版本上設定時的 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing),以及其在 v2.1.247 或更新版本上的 `ENABLE_TOOL_SEARCH` env 項目 |

513| `maxBudgetUsd` | `number` | `undefined` | 當客戶端成本估計達到此 USD 值時停止查詢。與 `total_cost_usd` 的相同估計進行比較;見 [Track cost and usage](/docs/zh-TW/agent-sdk/cost-tracking) 了解準確性注意事項 |513| `maxBudgetUsd` | `number` | `undefined` | 當用戶端成本估計達到此美元值時停止查詢。與 `total_cost_usd` 的相同估計進行比較。如需準確性注意事項和重設行為,請參閱[追蹤成本和使用量](/docs/zh-TW/agent-sdk/cost-tracking) |

514| `maxThinkingTokens` | `number` | `undefined` | *已棄用:* 改用 `thinking`。思考過程的最大令牌數 |514| `maxThinkingTokens` | `number` | `undefined` | *已棄用:* 改用 `thinking`。思考程序的最大權杖數 |

515| `maxTurns` | `number` | `undefined` | 最大代理轉數(工具使用往返) |515| `maxTurns` | `number` | `undefined` | 最大代理回合(工具使用往返) |

516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP 伺服器配置 |516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP 伺服器設定 |

517| `model` | `string` | CLI 預設值 | Claude 模型別名或完整模型名稱。見 [accepted values and provider-specific IDs](/docs/zh-TW/model-config#available-models) |517| `model` | `string` | CLI 的預設值 | Claude 模型別名或完整模型名稱。請參閱[接受的值和提供者特定 ID](/docs/zh-TW/model-config#available-models) |

518| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | 用於處理 MCP elicitation 請求的回調。當 MCP 伺服器請求使用者輸入且沒有 hooks 首先處理它時調用。未提供時,未處理的 elicitation 請求會自動被拒絕 |518| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | 用於處理 MCP 引出請求的回呼。當 MCP 伺服器要求使用者輸入且沒有 hook 先處理時呼叫。未提供時,未處理的引出請求會自動被拒絕 |

519| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | 為代理結果定義輸出格式。見 [Structured outputs](/docs/zh-TW/agent-sdk/structured-outputs) 了解詳情 |519| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | 定義代理結果的輸出格式。請參閱[結構化輸出](/docs/zh-TW/agent-sdk/structured-outputs)以取得詳細資訊 |

520| `outputStyle` | `string` | `undefined` | 不是 `Options` 欄位。改為在內聯 [`settings`](/docs/zh-TW/settings) 物件或設定檔中設置 `outputStyle`。見 [Activate an output style](/docs/zh-TW/agent-sdk/modifying-system-prompts#activate-an-output-style) |520| `outputStyle` | `string` | `undefined` | 不是 `Options` 欄位。改為在內嵌 [`settings`](/docs/zh-TW/settings) 物件或設定檔中設定 `outputStyle`。請參閱[啟用輸出樣式](/docs/zh-TW/agent-sdk/modifying-system-prompts#activate-an-output-style) |

521| `pathToClaudeCodeExecutable` | `string` | 從捆綁的原生二進位檔自動解析 | Claude Code 可執行檔的路徑。僅在安裝期間跳過可選依賴項或您的平台不在支持的集合中時需要 |521| `pathToClaudeCodeExecutable` | `string` | 從捆綁的原生二進位檔自動解析 | Claude Code 可執行檔的路徑。只有在安裝期間跳過選用相依性或您的平台不在支援的集合中時才需要 |

522| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | 會話的權限模式 |522| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | 工作階段的權限模式 |

523| `permissionPromptToolName` | `string` | `undefined` | 權限提示的 MCP 工具名稱 |523| `permissionPromptToolName` | `string` | `undefined` | 權限提示的 MCP 工具名稱 |

524| `permissionPrompts` | `'host' \| 'none'` | `'host'` | 誰回答權限提示:`'host'` 將它們路由到您的 [`canUseTool`](#canusetool) 回調或 `permissionPromptToolName` 工具,而 `'none'` [denies the calls that would have prompted](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)。需要 Claude Code v2.1.259 或更高版本 |524| `permissionPrompts` | `'host' \| 'none'` | `'host'` | 誰回答權限提示:`'host'` 將它們路由到您的 [`canUseTool`](#canusetool) 回呼或 `permissionPromptToolName` 工具,而 `'none'` [拒絕會提示的呼叫](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)。需要 Claude Code v2.1.259 或更新版本 |

525| `persistSession` | `boolean` | `true` | 當為 `false` 時,禁用會話持久化到磁碟。會話之後無法恢復 |525| `persistSession` | `boolean` | `true` | 當為 `false` 時,停用工作階段持久化到磁碟。工作階段之後無法繼續 |

526| `planModeInstructions` | `string` | `undefined` | Plan Mode 的自定義工作流指令。當 `permissionMode` 為 `'plan'` 時,此字串替換預設 Plan Mode 工作流正文。CLI 仍然使用唯讀強制前言和 ExitPlanMode 協議頁腳包裝它 |526| `planModeInstructions` | `string` | `undefined` | 計畫模式的自訂工作流程指示。當 `permissionMode` 為 `'plan'` 時,此字串會取代預設計畫模式工作流程主體。CLI 仍會使用唯讀強制前言和 ExitPlanMode 協定頁尾來包裝它 |

527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | 從本地路徑載入自定義 plugins。見 [Plugins](/docs/zh-TW/agent-sdk/plugins) 了解詳情 |527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | 從本機路徑載入自訂外掛程式。請參閱[外掛程式](/docs/zh-TW/agent-sdk/plugins)以取得詳細資訊 |

528| `promptSuggestions` | `boolean` | `false` | 啟用提示建議。在每個轉數後,Claude Code 發出 `prompt_suggestion` 訊息,帶有預測的下一個使用者提示。Claude Code 不會為某些轉數生成建議,例如當您的帳戶接近或達到其使用限制時。見 [When Claude Code skips suggestions](/docs/zh-TW/interactive-mode#when-claude-code-skips-suggestions) |528| `promptSuggestions` | `boolean` | `false` | 啟用提示建議。在回合後,Claude Code 會發出 `prompt_suggestion` 訊息,其中包含預測的下一個使用者提示。Claude Code 不會為某些回合(例如當您的帳戶接近或達到使用量限制時)產生建議。請參閱[Claude Code 何時跳過建議](/docs/zh-TW/interactive-mode#when-claude-code-skips-suggestions) |

529| `resume` | `string` | `undefined` | 要恢復的會話 ID |529| `resume` | `string` | `undefined` | 要繼續的工作階段 ID |

530| `resumeDropsTurn` | `string` | `undefined` | 使用 `resumeSessionAt`:截斷恢復打算丟棄的轉數的提示 UUID。當丟棄的範圍包含任何不可歸因於該轉數的內容(例如吸收的排隊訊息或任務通知)時,Claude Code 會拒絕恢復,並在拒絕訊息中命名 `--resume-drops-turn` 旗標。只有 Agent SDK 和列印模式恢復讀取該對。需要 Claude Code v2.1.223 或更高版本 |530| `resumeDropsTurn` | `string` | `undefined` | 使用 `resumeSessionAt`:截斷繼續打算捨棄的回合的提示 UUID。當捨棄的範圍包含任何不可歸因於該回合的內容(例如吸收的佇列訊息或任務通知)時,Claude Code 會拒絕繼續,並在拒絕訊息中命名 `--resume-drops-turn` 旗標。只有 Agent SDK 和列印模式繼續讀取該對。需要 Claude Code v2.1.223 或更新版本 |

531| `resumeSessionAt` | `string` | `undefined` | 在特定訊息 UUID 處恢復會話 |531| `resumeSessionAt` | `string` | `undefined` | 在特定訊息 UUID 處繼續工作階段 |

532| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | 以編程方式配置 sandbox 行為。見 [Sandbox settings](#sandboxsettings) 了解詳情 |532| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | 以程式設計方式設定沙箱行為。請參閱[沙箱設定](#sandboxsettings)以取得詳細資訊 |

533| `sessionId` | `string` | 自動生成 | 使用特定 UUID 作為會話,而不是自動生成一個 |533| `sessionId` | `string` | 自動產生 | 使用特定 UUID 作為工作階段,而不是自動產生一個 |

534| `sessionStore` | [`SessionStore`](/docs/zh-TW/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | 將會話記錄鏡像到外部後端,以便另一個主機可以恢復它們。見 [Persist sessions to external storage](/docs/zh-TW/agent-sdk/session-storage) |534| `sessionStore` | [`SessionStore`](/docs/zh-TW/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | 將工作階段文字記錄鏡像到外部後端,以便另一個主機可以繼續它們。請參閱[將工作階段持久化到外部儲存體](/docs/zh-TW/agent-sdk/session-storage) |

535| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* `sessionStore` 的刷新模式。未設置 `sessionStore` 時忽略 |535| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha。* `sessionStore` 的排清模式。未設定 `sessionStore` 時忽略 |

536| `settings` | `string \| Settings` | `undefined` | 內聯 [settings](/docs/zh-TW/settings) 物件或設定檔的路徑。填充 [precedence order](/docs/zh-TW/settings#settings-precedence) 中的旗標設定層。使用 [`applyFlagSettings()`](#applyflagsettings) 在執行時更改 |536| `settings` | `string \| Settings` | `undefined` | 內嵌[設定](/docs/zh-TW/settings)物件、設定檔路徑或內嵌 JSON 字串。在[優先順序順序](/docs/zh-TW/settings#settings-precedence)中填入旗標設定層。使用 [`applyFlagSettings()`](#applyflagsettings) 在執行時變更 |

537| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI 預設值(所有來源) | 控制載入哪些檔案系統設定。傳遞 `[]` 以禁用使用者、專案和本地設定。[Endpoint-managed policy](/docs/zh-TW/managed-settings#delivery-mechanisms) 無論如何都會載入;當會話使用組織憑證在 [eligible configuration](/docs/zh-TW/server-managed-settings#platform-availability) 上進行身份驗證時,會擷取伺服器管理的設定。見 [Use Claude Code features](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) |537| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI 預設值(所有來源) | 控制要載入哪些檔案系統設定。傳遞 `[]` 以停用使用者、專案和本機設定。[端點管理的原則](/docs/zh-TW/managed-settings#delivery-mechanisms)無論如何都會載入;當工作階段使用組織認證在[合格設定](/docs/zh-TW/server-managed-settings#platform-availability)上進行驗證時,會擷取伺服器管理的設定。請參閱[使用 Claude Code 功能](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

538| `skills` | `string[] \| 'all'` | `undefined` | 會話可用的 skills。傳遞 `'all'` 以啟用每個發現的 skill,或傳遞 skill 名稱列表。僅傳遞確切名稱。在 Agent SDK v0.3.221 或更高版本上,SDK 會在啟動 Claude Code 進程之前以錯誤拒絕格式不正確和萬用字元形式的名稱。設置後,SDK 會自動將 Skill 工具添加到 `allowedTools`。如果您也傳遞 `tools`,請在該列表中包含 `'Skill'`。見 [Skills](/docs/zh-TW/agent-sdk/skills) |538| `skills` | `string[] \| 'all'` | `undefined` | 工作階段可用的技能。傳遞 `'all'` 以啟用每個發現的技能,或傳遞技能名稱清單。僅傳遞確切名稱。在 Agent SDK v0.3.221 或更新版本上,SDK 會在啟動 Claude Code 程序之前以錯誤拒絕格式不正確和萬用字元形式的名稱。設定時,SDK 會自動將 Skill 工具新增到 `allowedTools`。如果您也傳遞 `tools`,請在該清單中包含 `'Skill'`。請參閱[技能](/docs/zh-TW/agent-sdk/skills) |

539| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | 用於生成 Claude Code 進程的自定義函數。用於在 VM、容器或遠端環境中執行 Claude Code |539| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | 用於衍生 Claude Code 程序的自訂函式。用於在 VM、容器或遠端環境中執行 Claude Code |

540| `stderr` | `(data: string) => void` | `undefined` | stderr 輸出的回調 |540| `stderr` | `(data: string) => void` | `undefined` | stderr 輸出的回呼 |

541| `strictMcpConfig` | `boolean` | `false` | 僅使用在 `mcpServers` 中傳遞的伺服器,並忽略專案 `.mcp.json`、使用者設定、plugin 提供的 MCP 伺服器和 [claude.ai connectors](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) |541| `strictMcpConfig` | `boolean` | `false` | 僅使用在 `mcpServers` 中傳遞的伺服器,並忽略專案 `.mcp.json`、使用者設定、外掛程式提供的 MCP 伺服器和 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) |

542| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined`(最小提示) | 系統提示配置。傳遞字串以獲得自定義提示,或 `{ type: 'preset', preset: 'claude_code' }` 以使用 Claude Code 的系統提示。傳遞包含匯出的 `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 常數的字串陣列,在靜態和每個請求部分之間,以 [cache the static part of a custom prompt](/docs/zh-TW/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt)。使用預設物件形式時,添加 `append` 以使用其他指令擴展它,並設置 `excludeDynamicSections: true` 以將每個會話上下文移到第一個使用者訊息中,以獲得 [better prompt-cache reuse across machines](/docs/zh-TW/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines)。設置 `snapshot: false` 以在每個請求上重建提示,而不是 [reusing the prompt the session recorded on its first request](/docs/zh-TW/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session)。要在自定義提示上設置 `snapshot`,傳遞 `{ type: 'custom', prompt }` 形式。`{ type: 'custom' }` 形式和 `snapshot` 欄位需要 TypeScript Agent SDK v0.3.257 或更高版本 |542| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined`(最小提示) | 系統提示設定。傳遞字串以取得自訂提示,或傳遞 `{ type: 'preset', preset: 'claude_code' }` 以使用 Claude Code 的系統提示。傳遞字串陣列,在靜態和每個請求部分之間使用匯出的 `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 常數,以[快取自訂提示的靜態部分](/docs/zh-TW/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt)。使用預設物件形式時,新增 `append` 以使用其他指示進行擴充,並設定 `excludeDynamicSections: true` 以將每個工作階段內容移至第一個使用者訊息,以[更好地跨機器重複使用提示快取](/docs/zh-TW/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines)。設定 `snapshot: false` 以在每個請求上重建提示,而不是[重複使用工作階段在其第一個請求上記錄的提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session)。若要在自訂提示上設定 `snapshot`,請傳遞 `{ type: 'custom', prompt }` 形式。`{ type: 'custom' }` 形式和 `snapshot` 欄位需要 TypeScript Agent SDK v0.3.257 或更新版本 |

543| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* API 端任務預算(以令牌為單位)。設置後,模型會被告知其剩餘令牌預算,以便它可以調整工具使用速度並在達到限制前完成 |543| `taskBudget` | `{ total: number }` | `undefined` | *Alpha。* API 端任務預算(權杖)。設定時,模型會被告知其剩餘權杖預算,以便它可以調整工具使用速度並在達到限制前完成。 |

544| `thinking` | [`ThinkingConfig`](#thinkingconfig) | 支持的模型為 `{ type: 'adaptive' }` | 控制 Claude 的思考/推理行為。見 [`ThinkingConfig`](#thinkingconfig) 了解選項 |544| `thinking` | [`ThinkingConfig`](#thinkingconfig) | 支援的模型為 `{ type: 'adaptive' }` | 控制 Claude 的思考/推理行為。請參閱 [`ThinkingConfig`](#thinkingconfig) 以取得選項 |

545| `title` | `string` | `undefined` | 會話的顯示標題。通過 `resume` 或 `continue` 恢復時,恢復的會話的持久化標題優先;使用 [`renameSession()`](#renamesession) 重新標題現有會話 |545| `title` | `string` | `undefined` | 工作階段的顯示標題。使用 `resume` 或 `continue` 繼續時,繼續工作階段的持久化標題優先;使用 [`renameSession()`](#renamesession) 重新標題現有工作階段 |

546| `toolAliases` | `Record<string, string>` | `undefined` | 將內置工具名稱映射到 MCP 工具名稱,以便 Claude 調用您的 MCP 實現而不是內置工具。例如,`{ Bash: 'mcp__workspace__bash' }` |546| `toolAliases` | `Record<string, string>` | `undefined` | 將內建工具名稱對應到 MCP 工具名稱,以便 Claude 呼叫您的 MCP 實作而不是內建工具。例如,`{ Bash: 'mcp__workspace__bash' }` |

547| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 內置工具行為的配置。見 [`ToolConfig`](#toolconfig) 了解詳情 |547| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 內建工具行為的設定。請參閱 [`ToolConfig`](#toolconfig) 以取得詳細資訊 |

548| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | 工具配置。傳遞工具名稱陣列或使用預設以獲得 Claude Code 的預設工具 |548| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | 工具設定。傳遞工具名稱陣列或使用預設值以取得 Claude Code 的預設工具 |

549 549 

550<h4 id="handle-slow-or-stalled-api-responses">550<h4 id="handle-slow-or-stalled-api-responses">

551 Handle slow or stalled API responses551 處理緩慢或停滯的 API 回應

552</h4>552</h4>

553 553 

554CLI 子進程讀取多個環境變數,這些變數控制 API 逾時和停滯偵測。通過 `env` 選項傳遞它們:554CLI 子程序讀取多個環境變數,這些變數控制 API 逾時和停滯偵測。透過 `env` 選項傳遞它們:

555 555 

556```typescript theme={null}556```typescript theme={null}

557import { query } from "@anthropic-ai/claude-agent-sdk";557import { query } from "@anthropic-ai/claude-agent-sdk";


569});569});

570```570```

571 571 

572* `API_TIMEOUT_MS`:Anthropic 客戶端上的每個請求逾時,以毫秒為單位。預設 `600000`。適用於主迴圈和所有 subagents。572* `API_TIMEOUT_MS`:Anthropic 用戶端上的每個請求逾時(毫秒)。預設 `600000`。適用於主迴圈和所有子代理。

573* `CLAUDE_CODE_MAX_RETRIES`:最大 API 重試次數。預設 `10`,上限為 `15`。每次重試都有自己的 `API_TIMEOUT_MS` 視窗,因此最壞情況下的牆時間大約是 `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` 加上退避。對於需要等待更長時間中斷的無人值守執行,設置 [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/zh-TW/errors#tune-retry-behavior):它無限期重試瞬時容量錯誤,並且 在 Claude Code v2.1.199 或更高版本上,為其他瞬時錯誤提高預設值至 `300` 並移除此變數的上限。573* `CLAUDE_CODE_MAX_RETRIES`:最大 API 重試次數。預設 `10`,上限為 `15`。每次重試都有自己的 `API_TIMEOUT_MS` 視窗,因此最壞情況下的牆面時間大約是 `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` 加上退避。對於需要等待較長中斷的無人值守執行,設定 [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/zh-TW/errors#tune-retry-behavior):它無限期重試暫時性容量錯誤,並且在 Claude Code v2.1.199 或更新版本上,將其他暫時性錯誤的預設值提高到 `300` 並移除此變數的上限。

574* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:subagents 的停滯監視程序。當串流監視程序開啟時,預設值為 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 加上 5 分鐘,總計 `600000`,除非您提高該變數。關閉串流監視程序時,預設值為 `600000`。在 v2.1.257 之前,預設值始終為 `600000`。574* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:子代理的停滯監視程式。當串流監視程式開啟時,預設值為 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 加上 5 分鐘,總計 `600000`,除非您提高該變數。關閉串流監視程式時,預設值為 `600000`。在 v2.1.257 之前,預設值始終為 `600000`。

575 575 

576 計時器在每個串流事件上重置。在停滯時,Claude Code 中止 subagent 並向父代理報告停滯。對於背景 subagent,它也會標記任務失敗並附加任何部分結果。576 計時器在每個串流事件上重設。停滯時,Claude Code 會中止子代理並向父代理報告停滯。對於背景子代理,它也會將任務標記為失敗並附加任何部分結果。

577* `CLAUDE_ENABLE_STREAM_WATCHDOG` 與 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`:串流監視程序,當標頭已到達但回應正文停止串流時中止請求。監視程序對所有提供商預設開啟;設置 `CLAUDE_ENABLE_STREAM_WATCHDOG=0` 以禁用它。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 預設為 `300000` 並被限制為該最小值。中止後,[Automatic retries](/docs/zh-TW/errors#automatic-retries) 涵蓋 Claude Code 根據回應進度的程度所做的事情。577* `CLAUDE_ENABLE_STREAM_WATCHDOG` 搭配 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`:串流監視程式,當標頭已到達但回應主體停止串流時中止請求。監視程式預設對所有提供者開啟;設定 `CLAUDE_ENABLE_STREAM_WATCHDOG=0` 以停用它。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 預設為 `300000` 並固定在該最小值。中止後,[自動重試](/docs/zh-TW/errors#automatic-retries)涵蓋 Claude Code 根據回應進度的程度所執行的操作。

578 578 

579 當監視程序等待 `ANTHROPIC_BASE_URL` 後面的閘道使用保活 ping 保持開啟的回應時,設置 `includePartialMessages` 的主機會繼續接收 `ping` [stream events](#sdkpartialassistantmessage),因此將這些框架讀取為活躍性而不是在沉默時逾時會話。在 v2.1.257 之前,框架在最後一個真實串流事件後 5 分鐘停止。579 當監視程式等待 `ANTHROPIC_BASE_URL` 後面的閘道使用保持連線 ping 保持開啟的回應時,設定 `includePartialMessages` 的主機會繼續接收 `ping` [串流事件](#sdkpartialassistantmessage),因此將這些框架讀取為活躍性而不是在沉默時逾時工作階段。在 v2.1.257 之前,框架在最後一個真實串流事件後 5 分鐘停止。

580 580 

581<h3 id="query-object">581<h3 id="query-object">

582 `Query` object582 `Query` 物件

583</h3>583</h3>

584 584 

585由 `query()` 函數返回的介面。585`query()` 函式傳回的介面。

586 586 

587```typescript theme={null}587```typescript theme={null}

588interface Query extends AsyncGenerator<SDKMessage, void> {588interface Query extends AsyncGenerator<SDKMessage, void> {


628```628```

629 629 

630<h4 id="methods">630<h4 id="methods">

631 Methods631 方法

632</h4>632</h4>

633 633 

634| 方法 | 描述 |634| 方法 | 說明 |

635| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |635| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

636| `interrupt()` | 中斷查詢。僅在串流輸入模式下可用。當 CLI 在 [`SDKSystemMessage.capabilities`](#sdksystemmessage) 中公告 `interrupt_receipt_v1` 功能時,使用列出中斷時待處理訊息的 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) 進行解決。在 v2.1.205 之前的 CLI 上解決為 `undefined` |636| `interrupt()` | 中斷查詢。僅在串流輸入模式中可用。當 CLI 在 [`SDKSystemMessage.capabilities`](#sdksystemmessage) 中公告 `interrupt_receipt_v1` 功能時,使用列出中斷到達時待處理的訊息的 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) 進行解析。在 v2.1.205 之前的 CLI 上解析 `undefined` |

637| `rewindFiles(userMessageId, options?)` | 將檔案恢復到指定使用者訊息時的狀態。傳遞 `{ dryRun: true }` 以預覽更改。需要 `enableFileCheckpointing: true`。見 [File checkpointing](/docs/zh-TW/agent-sdk/file-checkpointing) |637| `rewindFiles(userMessageId, options?)` | 將檔案還原到指定使用者訊息時的狀態。傳遞 `{ dryRun: true }` 以預覽變更。需要 `enableFileCheckpointing: true`。請參閱[檔案檢查點](/docs/zh-TW/agent-sdk/file-checkpointing) |

638| `setPermissionMode()` | 更改權限模式(僅在串流輸入模式下可用) |638| `setPermissionMode()` | 變更權限模式(僅在串流輸入模式中可用) |

639| `setModel()` | 更改模型(僅在串流輸入模式下可用)。傳遞 `undefined` 或字串 `"default"` 以重設為會話預設模型 |639| `setModel()` | 變更模型(僅在串流輸入模式中可用)。傳遞 `undefined` 或字串 `"default"` 以重設為 [Claude Code 的預設模型](/docs/zh-TW/model-config) |

640| `setMaxThinkingTokens()` | *已棄用:* 改用 `thinking` 選項。更改最大思考令牌。傳遞 `null` 以將思考重設為會話預設值:清除中期覆蓋,並且思考對於已禁用它的會話保持關閉 |640| `setMaxThinkingTokens()` | *已棄用:* 改用 `thinking` 選項。變更最大思考權杖。傳遞 `null` 以將思考重設為工作階段預設值:清除中期工作階段覆蓋,並且對於已停用思考的工作階段,思考保持關閉 |

641| `applyFlagSettings(settings)` | 在執行時將設定合併到會話的旗標設定層中(僅在串流輸入模式下可用)。見 [`applyFlagSettings()`](#applyflagsettings) |641| `applyFlagSettings(settings)` | 在執行時將設定合併到工作階段的旗標設定層(僅在串流輸入模式中可用)。請參閱 [`applyFlagSettings()`](#applyflagsettings) |

642| `updateSettings(source, settings)` | 將設定合併到專案的本地設定檔 `.claude/settings.local.json` 中;它們在下一個請求時生效。僅接受 `source: 'localSettings'` 和允許列表鍵集,目前為 `outputStyle`,具有字串值;不支持刪除鍵。在遠端傳輸和會話上拒絕,其 [`settingSources`](#options) 排除 `local`。需要 TypeScript SDK v0.3.257 或更高版本,它捆綁 Claude Code v2.1.257 |642| `updateSettings(source, settings)` | 將設定合併到專案的本機設定檔 `.claude/settings.local.json`;它們在下一個請求時生效。僅接受 `source: 'localSettings'` 和允許清單金鑰集(目前為 `outputStyle`),具有字串值;不支援刪除金鑰。在遠端傳輸和其 [`settingSources`](#options) 排除 `local` 的工作階段上拒絕。需要 TypeScript SDK v0.3.257 或更新版本,其捆綁 Claude Code v2.1.257 |

643| `initializationResult()` | 返回完整的初始化結果,包括支持的命令、模型、帳戶資訊和輸出樣式配置 |643| `initializationResult()` | 傳回完整初始化結果,包括支援的命令、模型、帳戶資訊和輸出樣式設定 |

644| `reinitialize()` | 重新發送 `initialize` 控制請求到執行中的 CLI,並返回新鮮的結果而不是快取的首次連接結果。在傳輸間隙後使用它,例如在斷開連接後重新附加到會話,以便待處理的權限請求再次到達您的 `canUseTool` 回調。使回調對每個請求 ID 冪等,因為響應丟失的請求會再次被分派。需要 Claude Code v2.1.195 或更高版本 |644| `reinitialize()` | 重新傳送 `initialize` 控制請求到執行中的 CLI,並傳回新鮮結果而不是快取的首次連線結果。在傳輸間隙後使用它,例如在中斷後重新附加到工作階段,以便待處理的權限請求再次到達您的 `canUseTool` 回呼。使回呼對每個請求 ID 具有冪等性,因為其回應遺失的請求會再次分派。需要 Claude Code v2.1.195 或更新版本 |

645| `supportedCommands()` | 返回可用的命令。從 Agent SDK v0.3.216 起,列表反映中期命令更改;見 [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |645| `supportedCommands()` | 傳回可用的命令。從 Agent SDK v0.3.216,清單反映中期工作階段命令變更;請參閱 [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

646| `supportedModels()` | 返回具有顯示資訊的可用模型 |646| `supportedModels()` | 傳回具有顯示資訊的可用模型 |

647| `supportedAgents()` | 返回可用的 subagents,作為 [`AgentInfo`](#agentinfo)`[]` |647| `supportedAgents()` | 傳回可用的子代理作為 [`AgentInfo`](#agentinfo)`[]` |

648| `mcpServerStatus()` | 返回連接的 MCP 伺服器的狀態 |648| `mcpServerStatus()` | 傳回連線 MCP 伺服器的狀態 |

649| `getContextUsage(opts?)` | 返回 [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse),按類別、skill 和工具分解會話的上下文視窗使用情況。使用預設 `detail`,它與 `/context` 在互動式會話中顯示的資料相同。[`detail` 選項](#sdkcontrolgetcontextusageresponse) 需要 Agent SDK v0.3.257 或更高版本 |649| `getContextUsage(opts?)` | 傳回 [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse),按類別、技能和工具細分工作階段的內容視窗使用量。使用預設 `detail`,它與 `/context` 在互動式工作階段中顯示的資料相同。[`detail` 選項](#sdkcontrolgetcontextusageresponse)需要 Agent SDK v0.3.257 或更新版本 |

650| `readFile(path, options?)` | 從會話的檔案系統讀取檔案。Claude Code 根據 `cwd` 解析路徑;[What `readFile()` can read](#what-readfile-can-read) 列出它提供的檔案。傳遞 `{ maxBytes }` 以更改讀取上限(預設 1 MB,上限 10 MB)和 `{ encoding: 'base64' }` 以讀取二進位檔案,例如影像。使用 [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) 進行解決,或在權限拒絕、檔案遺失或傳輸錯誤時使用 `null`。需要 TypeScript SDK v0.2.121 或更高版本 |650| `readFile(path, options?)` | 從工作階段的檔案系統讀取檔案。Claude Code 根據 `cwd` 解析路徑;[`readFile()` 可以讀取什麼](#what-readfile-can-read)列出它提供的檔案。傳遞 `{ maxBytes }` 以變更讀取上限(預設 1 MB,上限 10 MB)和 `{ encoding: 'base64' }` 以取得二進位檔案(例如影片)。使用 [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) 進行解析,或在權限拒絕、遺失檔案或傳輸錯誤時使用 `null`。需要 TypeScript SDK v0.2.121 或更新版本 |

651| `reloadSkills()` | 從磁碟重新載入 skills,以便您在會話中期添加或編輯的 skills 對執行中的會話可用。使用 [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) 進行解決,列出重新載入後可用的 skills。需要 Agent SDK v0.3.163 或更高版本 |651| `reloadSkills()` | 從磁碟重新載入技能,以便您在中期工作階段新增或編輯的技能可供執行中的工作階段使用。使用列出重新載入後可用技能的 [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) 進行解析。需要 Agent SDK v0.3.163 或更新版本 |

652| `accountInfo()` | 返回帳戶資訊 |652| `accountInfo()` | 傳回帳戶資訊 |

653| `reconnectMcpServer(serverName)` | 按名稱重新連接 MCP 伺服器。如果名稱也符合設定檔中的條目,例如 `.mcp.json` 或 `~/.claude.json`,Claude Code 會重新連接您通過 [`mcpServers`](#options) 或 `setMcpServers()` 配置的伺服器,而不是設定檔條目。該解析順序需要 Claude Code v2.1.257 或更高版本 |653| `reconnectMcpServer(serverName)` | 按名稱重新連線 MCP 伺服器。如果名稱也符合設定檔(例如 `.mcp.json` 或 `~/.claude.json`)中的項目,Claude Code 會重新連線您透過 [`mcpServers`](#options) 或 `setMcpServers()` 設定的伺服器,而不是設定檔項目。該解析順序需要 Claude Code v2.1.257 或更新版本 |

654| `toggleMcpServer(serverName, enabled)` | 按名稱啟用或禁用 MCP 伺服器,使用與 `reconnectMcpServer()` 相同的名稱解析。禁用會斷開伺服器連接 |654| `toggleMcpServer(serverName, enabled)` | 按名稱啟用或停用 MCP 伺服器,名稱解析與 `reconnectMcpServer()` 相同。停用會中斷伺服器連線 |

655| `setMcpServers(servers)` | 動態替換此會話的 MCP 伺服器集。使用 [`McpSetServersResult`](#mcpsetserversresult) 進行解決,命名添加和移除的伺服器,以及任何錯誤 |655| `setMcpServers(servers)` | 動態取代此工作階段的 MCP 伺服器集合。使用命名已新增和移除的伺服器以及任何錯誤的 [`McpSetServersResult`](#mcpsetserversresult) 進行解析 |

656| `streamInput(stream)` | 將輸入訊息串流到查詢以進行多轉對話 |656| `streamInput(stream)` | 將輸入訊息串流到查詢以進行多回合對話 |

657| `stopTask(taskId)` | 按 ID 停止執行中的背景任務 |657| `stopTask(taskId)` | 按 ID 停止執行中的背景任務 |

658| `close()` | 關閉查詢並終止底層進程。強制結束查詢並清理所有資源 |658| `close()` | 關閉查詢並終止基礎程序。強制結束查詢並清理所有資源 |

659 659 

660<h4 id="applyflagsettings">660<h4 id="applyflagsettings">

661 `applyFlagSettings()`661 `applyFlagSettings()`

662</h4>662</h4>

663 663 

664在執行中的會話上更改 [settings](/docs/zh-TW/settings),無需重新啟動查詢。當沒有專用設定器的設定需要在會話中期更改時使用它,例如在代理讀取不受信任的輸入後收緊 `permissions`。`setModel()` 和 `setPermissionMode()` 是這兩個鍵的專用設定器;`applyFlagSettings()` 是接受任何設定鍵子集的通用形式,在此處傳遞 `model` 的行為與 `setModel()` 相同。664在執行中的工作階段上變更[設定](/docs/zh-TW/settings),而不重新啟動查詢。當沒有專用設定器的設定需要在中期工作階段變更時使用它,例如在代理讀取不受信任的輸入後收緊 `permissions`。`setModel()` 和 `setPermissionMode()` 是這兩個金鑰的專用設定器;`applyFlagSettings()` 是接受任何設定金鑰子集的一般形式,在此處傳遞 `model` 的行為與 `setModel()` 相同。

665 665 

666只有某些鍵在會話中期生效:666只有某些金鑰在中期工作階段生效:

667 667 

668* **在下一個轉數上應用**:`effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`agent`。切換 `agent` 也會在下一個轉數上應用該代理的模型覆蓋和 hooks。其系統提示在下一個轉數上應用,或在 [reuses a recorded system prompt](/docs/zh-TW/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session) 的會話中,一旦會話被壓縮。668* **在下一回合套用**:`effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`agent`。切換 `agent` 也會在下一回合套用該代理的模型覆蓋和 hooks。其系統提示在下一回合套用,或在[重複使用記錄的系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session)的工作階段中,一旦工作階段被壓縮。

669* **在目前轉數期間應用**:`model`。如果您在 Claude 處理轉數時切換 `model`,Claude 已在生成的回應會在舊模型上完成,轉數的其餘部分(從 Claude Code 對模型進行的下一個呼叫開始)使用新模型。Subagents 保持自己的模型。在 v2.1.212 之前,中期切換會等待下一個轉數。669* **在目前回合期間套用**:`model`。如果您在 Claude 處理回合時切換 `model`,Claude 已在產生的回應會在舊模型上完成,回合的其餘部分(從 Claude Code 對模型進行的下一個呼叫開始)使用新模型。子代理保留自己的模型。在 v2.1.212 之前,中期切換會等待下一回合。

670* **會話中期無效**:系統提示選項。這些在啟動時解決一次,因此執行中的會話保持原始值,即使呼叫成功。要更改它們,請啟動新會話。670* **中期工作階段無效**:系統提示選項。這些在啟動時解析一次,因此執行中的工作階段保留原始值,即使呼叫成功。若要變更它們,請啟動新工作階段。

671 671 

672`effortLevel` 接受 [effort level](/docs/zh-TW/model-config#adjust-effort-level) 名稱。它也接受 `"ultracode"`,它要求 `xhigh` 努力並開啟 [ultracode](/docs/zh-TW/workflows#let-claude-decide-with-ultracode)。`applyFlagSettings()` 聲明 `effortLevel` 沒有該值,因此在 TypeScript 中傳遞等效的 `{ ultracode: true }`。`ultracode` 值需要 Claude Code v2.1.203 或更高版本,並且僅由 `applyFlagSettings()` 接受,不由設定檔中的 `effortLevel` 鍵接受。672`effortLevel` 接受[努力等級](/docs/zh-TW/model-config#adjust-effort-level)名稱。它也接受 `"ultracode"`,這要求 `xhigh` 努力搭配 [ultracode](/docs/zh-TW/workflows#let-claude-decide-with-ultracode)。`applyFlagSettings()` 宣告 `effortLevel` 沒有該值,因此在 TypeScript 中傳遞等效的 `{ ultracode: true }`。`ultracode` 值需要 Claude Code v2.1.203 或更新版本,並且僅由 `applyFlagSettings()` 接受,不由設定檔中的 `effortLevel` 金鑰接受。

673 673 

674這些值被寫入旗標設定層,這是內聯 `query()` 的 `settings` 選項在啟動時填充的同一層。這是 [on-page precedence section](#settings-precedence) 稱為編程選項的同一層。674值會寫入旗標設定層,與內嵌 `query()` 的 `settings` 選項在啟動時填入的層相同。這與[在頁面優先順序部分](#settings-precedence)稱為程式設計選項的層級相同。

675 675 

676連續呼叫淺合併頂級鍵。第二次呼叫 `{ permissions: {...} }` 會替換先前呼叫中的整個 `permissions` 物件,而不是深度合併到其中。要從旗標層清除鍵並回退到較低優先級來源,請為該鍵傳遞 `null`。傳遞 `undefined` 沒有效果,因為 JSON 序列化會將其刪除。676連續呼叫淺層合併頂層金鑰。第二個呼叫搭配 `{ permissions: {...} }` 會取代來自先前呼叫的整個 `permissions` 物件,而不是深層合併到其中。若要從旗標層清除金鑰,請為該金鑰傳遞 `null`。大多數金鑰隨後會回退到較低優先順序的來源。清除的 `model` 會重設為 [Claude Code 的預設模型](/docs/zh-TW/model-config),即使設定檔設定 `model`。傳遞 `undefined` 沒有效果,因為 JSON 序列化會將其捨棄。

677 677 

678僅在串流輸入模式下可用,與 `setModel()` 和 `setPermissionMode()` 的約束相同。678僅在串流輸入模式中可用,與 `setModel()` 和 `setPermissionMode()` 的約束相同。

679 679 

680下面的範例在會話中期切換活動模型,然後清除覆蓋,以便模型回退到使用者或專案設定指定的任何內容。680下面的範例在中期工作階段切換作用中模型,然後清除覆蓋,以便模型重設為 [Claude Code 的預設模型](/docs/zh-TW/model-config)。

681 681 

682```typescript theme={null}682```typescript theme={null}

683import { query } from "@anthropic-ai/claude-agent-sdk";683import { query } from "@anthropic-ai/claude-agent-sdk";

684 684 

685const q = query({ prompt: messageStream });685const q = query({ prompt: messageStream });

686 686 

687// 覆蓋會話其餘部分的模型687// Override the model for the rest of the session

688await q.applyFlagSettings({ model: "claude-opus-4-6" });688await q.applyFlagSettings({ model: "claude-opus-4-6" });

689 689 

690// 稍後:清除覆蓋並回退到較低優先級設定690// Later: clear the override; the model resets to Claude Code's default

691await q.applyFlagSettings({ model: null });691await q.applyFlagSettings({ model: null });

692```692```

693 693 

694<Note>694<Note>

695 `applyFlagSettings()` 僅適用於 TypeScript。Python SDK 不公開等效方法。695 `applyFlagSettings()` 僅限 TypeScript。Python SDK 不公開等效方法。

696</Note>696</Note>

697 697 

698<h3 id="warmquery">698<h3 id="warmquery">

699 `WarmQuery`699 `WarmQuery`

700</h3>700</h3>

701 701 

702由 [`startup()`](#startup) 返回的句柄。子進程已生成並初始化,因此在此句柄上呼叫 `query()` 會直接將提示寫入準備好的進程,無需啟動延遲。702由 [`startup()`](#startup) 傳回的控制代碼。子程序已衍生並初始化,因此在此控制代碼上呼叫 `query()` 會將提示直接寫入準備好的程序,沒有啟動延遲。

703 703 

704```typescript theme={null}704```typescript theme={null}

705interface WarmQuery extends AsyncDisposable {705interface WarmQuery extends AsyncDisposable {


709```709```

710 710 

711<h4 id="methods-2">711<h4 id="methods-2">

712 Methods712 方法

713</h4>713</h4>

714 714 

715| 方法 | 描述 |715| 方法 | 說明 |

716| :-------------- | :------------------------------------------------------------ |716| :-------------- | :------------------------------------------------------------ |

717| `query(prompt)` | 向預熱的子進程發送提示並返回 [`Query`](#query-object)。每個 `WarmQuery` 只能呼叫一次 |717| `query(prompt)` | 傳送提示到預熱的子程序並傳回 [`Query`](#query-object)。每個 `WarmQuery` 只能呼叫一次 |

718| `close()` | 關閉子進程而不發送提示。使用此方法丟棄不再需要的預熱查詢 |718| `close()` | 關閉子程序而不傳送提示。使用此選項可捨棄不再需要的預熱查詢 |

719 719 

720`WarmQuery` 實現 `AsyncDisposable`,因此可以與 `await using` 一起使用以進行自動清理。720`WarmQuery` 實作 `AsyncDisposable`,因此可以搭配 `await using` 使用以進行自動清理。

721 721 

722<h3 id="sdkcontrolinitializeresponse">722<h3 id="sdkcontrolinitializeresponse">

723 `SDKControlInitializeResponse`723 `SDKControlInitializeResponse`

724</h3>724</h3>

725 725 

726`initializationResult()` 的返回類型。包含會話初始化資料。726`initializationResult()` 的傳回類型。包含工作階段初始化資料。

727 727 

728```typescript theme={null}728```typescript theme={null}

729type SDKControlInitializeResponse = {729type SDKControlInitializeResponse = {


739};739};

740```740```

741 741 

742`hooks_applied` 報告 Claude Code 是否註冊了 `initialize` 請求所帶的 `hooks`。SDK 在會話啟動時發送該請求一次,並在每個 [`reinitialize()`](#query-object) 呼叫上再次發送。該欄位需要 Agent SDK v0.3.238 或更高版本。742`hooks_applied` 報告 Claude Code 是否註冊了 `initialize` 請求所攜帶的 `hooks`。SDK 在工作階段啟動時傳送該請求一次,並在每個 [`reinitialize()`](#query-object) 呼叫上再次傳送。該欄位需要 Agent SDK v0.3.238 或更新版本。

743 743 

744當請求未帶 hooks 時,Claude Code 會省略該欄位。當請求帶 hooks 時,該值取決於請求是否是會話的首次初始化,以及對於重複的請求,它如何到達會話:744當請求未攜帶 hooks 時,Claude Code 會省略該欄位。當請求攜帶 hooks 時,值取決於請求是否是工作階段的首次初始化,以及對於重複的請求,它如何到達工作階段:

745 745 

746* `true`:Claude Code 註冊了 hooks。會話的首次初始化返回此值。通過 CLI 的 stdin 發送的重複初始化也會返回此值。在這種情況下,新請求中的 hooks 會替換之前註冊的 hooks。746* `true`:Claude Code 已註冊 hooks。工作階段的首次初始化傳回此值。透過 CLI 的 stdin 傳送的重複初始化也傳回 `true`。在這種情況下,新請求中的 hooks 會取代先前註冊的 hooks。

747* `false`:Claude Code 忽略了 hooks。發送到遠端會話的重複初始化返回此值,因此加入會話的第二個客戶端無法替換第一個客戶端註冊的 hooks。747* `false`:Claude Code 已忽略 hooks。傳送到遠端工作階段的重複初始化傳回此值,因此加入工作階段的第二個用戶端無法取代第一個用戶端註冊的 hooks。

748 748 

749在 Agent SDK v0.3.238 之前,回應從未帶該欄位,Claude Code 在每個重複初始化上都忽略 `hooks`。749在 Agent SDK v0.3.238 之前,回應永遠不會攜帶該欄位,Claude Code 會在每次重複初始化時忽略 `hooks`。

750 750 

751回應始終報告 `fast_mode_state`,當某些東西阻止 [fast mode](/docs/zh-TW/fast-mode) 時,`fast_mode_disabled_reason` 會帶著原因代碼,以便您可以解釋被阻止的狀態,而不是重新推導可用性。兩種行為都需要 Claude Code v2.1.219 或更高版本。在 v2.1.219 之前,當快速模式不可用時回應會省略 `fast_mode_state`,並且永遠不會帶原因。有關原因代碼及其含義,見結果訊息上的 [`fast_mode_disabled_reason`](#sdkresultmessage)。751回應始終報告 `fast_mode_state`,當某些東西阻止[快速模式](/docs/zh-TW/fast-mode)時,`fast_mode_disabled_reason` 會隨著原因代碼一起進行,以便您可以解釋阻止的狀態而不是重新衍生可用性。兩種行為都需要 Claude Code v2.1.219 或更新版本。在 v2.1.219 之前,當快速模式不可用時回應會省略 `fast_mode_state`,並且永遠不會攜帶原因。如需原因代碼及其含義,請參閱結果訊息上的 [`fast_mode_disabled_reason`](#sdkresultmessage)。

752 752 

753成功 `initialize` 的控制回應包裝器也帶有 `pending_permission_requests` 陣列。該欄位位於回應包裝器本身上,而不是上面的 `SDKControlInitializeResponse` 有效負載中。每個條目都是一個完整的 `control_request` 訊息,具有與會話在執行時為權限請求串流的相同 `{ type: "control_request", request_id, request }` 形狀。753成功 `initialize` 的控制回應包裝器也攜帶 `pending_permission_requests` 陣列。該欄位在回應包裝器本身上,而不在上面的 `SDKControlInitializeResponse` 承載中。每個項目都是具有相同 `{ type: "control_request", request_id, request }` 形狀的完整 `control_request` 訊息,工作階段在執行時針對權限請求進行串流。

754 754 

755該陣列列出此 Claude Code 進程已發出且尚未解決的權限請求。SDK 為您讀取陣列並將每個條目分派到您的 [`canUseTool`](#canusetool) 回調,這是 [`reinitialize()`](#query-object) 在傳輸間隙後觸發的相同重新傳遞。以冪等方式處理重複的請求 ID,因為一個條目可以重複回調已經收到的請求,然後連接斷開。755陣列列出此 Claude Code 程序已發出且尚未解決的權限請求。SDK 為您讀取陣列並將每個項目分派到您的 [`canUseTool`](#canusetool) 回呼,與 [`reinitialize()`](#query-object) 在傳輸間隙後觸發的相同重新傳遞。以冪等方式處理重複的請求 ID,因為項目可以重複回呼已接收的請求,然後連線中斷。

756 756 

757該陣列在成功 `initialize` 回應上始終存在,當此進程沒有未解決的權限請求時為空。需要 Claude Code v2.1.268 或更高版本。較早的版本可能會省略該欄位,因此如果您自己解析線路協議,請將遺失的欄位視為較舊的 CLI,而不是沒有待處理的證明。757陣列在成功的 `initialize` 回應上始終存在,當此程序沒有未解決的權限請求時為空。需要 Claude Code v2.1.268 或更新版本。較早的版本可能會省略該欄位,因此如果您自行解析線路協定,請將遺失的欄位視為較舊的 CLI,而不是沒有待處理內容的證明。

758 758 

759<h3 id="sdkcontrolinterruptresponse">759<h3 id="sdkcontrolinterruptresponse">

760 `SDKControlInterruptResponse`760 `SDKControlInterruptResponse`

761</h3>761</h3>

762 762 

763中斷收據:[`interrupt()`](#query-object) 在公告 [`SDKSystemMessage.capabilities`](#sdksystemmessage) 中的 `interrupt_receipt_v1` 功能的 CLI 上解決的值。需要 Claude Code v2.1.205 或更高版本。較早的 CLI 使用空成功有效負載回答中斷,因此 `interrupt()` 解決為 `undefined`。763中斷收據:[`interrupt()`](#query-object) 在公告 [`SDKSystemMessage.capabilities`](#sdksystemmessage) 中的 `interrupt_receipt_v1` 功能的 CLI 上解析的值。需要 Claude Code v2.1.205 或更新版本。較早的 CLI 使用空成功承載回答中斷,因此 `interrupt()` 解析為 `undefined`。

764 764 

765```typescript theme={null}765```typescript theme={null}

766type SDKControlInterruptResponse = {766type SDKControlInterruptResponse = {


769};769};

770```770```

771 771 

772`still_queued` 列出中斷時待處理的使用者訊息的 UUID:仍在隊列中的訊息,加上任何 Claude Code 已從隊列中取出用於下一個轉數但尚未被中止到達的訊息。除非您先取消它,否則每個都作為其自己的轉數在中斷後執行。Claude Code 可以將多個合併為一個轉數。如果您在首個轉數啟動之前中斷,Claude Code 會在轉數啟動時立即中止它,該轉數中列出的訊息不會獲得回應。772`still_queued` 列出中斷到達時待處理的使用者訊息的 UUID:仍在佇列中的訊息,加上 Claude Code 已從佇列中取出以進行下一回合的任何訊息。一旦工作階段的首次回合開始,Claude Code 會在中斷後處理列出的訊息,除非您先取消它們,並可以將多個訊息合併為一個回合。如果您在首次回合開始前中斷,Claude Code 會在回合開始時立即中止該回合,該回合中列出的訊息不會獲得回應。

773 773 

774使用收據決定是否重新發送任何內容。已列出的訊息,如果您不取消它,無論是否獲得回應,都會進入對話,因此重新發送它會將其傳遞給 Claude 兩次。774使用收據來決定是否重新傳送任何內容。未取消的列出訊息會進入對話,無論是否獲得回應,因此重新傳送它會將其傳遞給 Claude 兩次。

775 775 

776使用這些注意事項解釋列表:776使用這些注意事項解釋清單:

777 777 

778* 僅出現已使用 UUID 入隊的訊息。空陣列並不意味著沒有其他內容會執行。778* 只有使用 UUID 加入佇列的訊息才會出現。空陣列並不意味著沒有其他內容會執行。

779* 僅列出主線程訊息。發送給 subagent 的訊息超出範圍。779* 只列出主執行緒訊息。定址到子代理的訊息超出範圍。

780* 列表可以包括您的客戶端從未發送的 UUID,例如 [scheduled task](/docs/zh-TW/scheduled-tasks) 觸發器。忽略您不認識的 UUID,而不是將其視為錯誤。780* 清單可以包含您的用戶端從未傳送的 UUID,例如[排定的任務](/docs/zh-TW/scheduled-tasks)觸發器。忽略您不認識的 UUID,而不是將其視為錯誤。

781 781 

782直接驅動 CLI 控制協議的客戶端,而不是通過 `interrupt()`,可以在 `interrupt` 控制請求上設置 `cancel_queued: true`。Claude Code v2.1.219 及更高版本在 [`SDKSystemMessage.capabilities`](#sdksystemmessage) 中使用 `interrupt_cancel_queued_v1` 功能公告支持;較舊的 CLI 會忽略該欄位並讓排隊訊息照常執行。這樣的中斷也會取消每個否則會在 `still_queued` 下列出的訊息:收據在 `cancelled` 下列出它們,`still_queued` 為空,它們都不執行。782直接驅動 CLI 控制協定而不是透過 `interrupt()` 的用戶端可以在 `interrupt` 控制請求上設定 `cancel_queued: true`。Claude Code v2.1.219 及更新版本在 [`SDKSystemMessage.capabilities`](#sdksystemmessage) 中公告支援 `interrupt_cancel_queued_v1` 功能;較舊的 CLI 會忽略該欄位並讓佇列訊息照常執行。這樣的中斷也會取消每個原本會列在 `still_queued` 下的訊息:收據會改為在 `cancelled` 下列出它們,`still_queued` 為空,它們都不會執行。

783 783 

784`cancelled` 列表帶著與 `still_queued` 相同的注意事項。`interrupt()` 方法永遠不會發送 `cancel_queued`,因此它解決的收據不帶 `cancelled`。784`cancelled` 清單與 `still_queued` 具有相同的注意事項。`interrupt()` 方法永遠不會傳送 `cancel_queued`,因此它解析的收據不會攜帶 `cancelled`。

785 785 

786收據是在處理中斷時拍攝的快照,在乾淨中斷時,它在中斷轉數的 [`SDKResultMessage`](#sdkresultmessage) 之前到達。在該結果之後讀取收據而不是檢查隊列:迴圈立即啟動下一個排隊轉數,因此您在結果後檢查的隊列已經改變。786收據是在處理中斷時拍攝的快照,在乾淨中斷時,它在中斷回合的 [`SDKResultMessage`](#sdkresultmessage) 之前到達。讀取收據而不是在該結果後檢查佇列:迴圈立即啟動下一個佇列回合,因此您在結果後檢查的佇列已經變更。

787 787 

788<h3 id="sdkcontrolgetcontextusageresponse">788<h3 id="sdkcontrolgetcontextusageresponse">

789 `SDKControlGetContextUsageResponse`789 `SDKControlGetContextUsageResponse`

790</h3>790</h3>

791 791 

792[`getContextUsage()`](#query-object) 的返回類型。使用預設 `detail`,這是 Claude Code 在互動式會話中為 `/context` 命令呈現的相同有效負載,因此除了令牌計數外,它還帶著顯示欄位,例如 `color` 和 `gridRows`,Claude Code 使用這些欄位來繪製 `/context` 使用情況網格。792[`getContextUsage()`](#query-object) 的傳回類型。使用預設 `detail`,這是 Claude Code 在互動式工作階段中為 `/context` 命令呈現的相同承載,因此除了權杖計數外,它還攜帶顯示欄位(例如 `color` 和 `gridRows`),Claude Code 使用這些欄位來繪製 `/context` 使用量網格。

793 793 

794方法的可選 `detail` 引數選擇 Claude Code 如何計算每個類別。使用預設 `'full'`,Claude Code 使用令牌計數 API 請求計算每個類別。傳遞 `{ detail: 'summary' }` 以從最後一個回應的使用情況和本地估計獲得答案。沒有令牌計數請求發出,每個類別的數字是近似的。`detail` 引數需要 Agent SDK v0.3.257 或更高版本。794方法的選用 `detail` 引數選擇 Claude Code 如何計算每個類別。使用預設值 `'full'`,Claude Code 使用權杖計數 API 請求計算每個類別。傳遞 `{ detail: 'summary' }` 以從最後一個回應的使用量和本機估計中取得答案。沒有權杖計數請求外出,每個類別的數字是近似值。`detail` 引數需要 Agent SDK v0.3.257 或更新版本。

795 795 

796當您發送 `/context` 作為提示而不是呼叫方法時,Claude Code 會將 [`SDKContextUsage`](#sdkcontextusage) 有效負載附加到傳遞結果的助手訊息的 `context_usage` 欄位。該欄位需要 Agent SDK v0.3.232 或更高版本。796當您傳送 `/context` 作為提示而不是呼叫方法時,Claude Code 會將 [`SDKContextUsage`](#sdkcontextusage) 承載附加到傳遞結果的助手訊息的 `context_usage` 欄位。該欄位需要 Agent SDK v0.3.232 或更新版本。

797 797 

798```typescript theme={null}798```typescript theme={null}

799type SDKControlGetContextUsageResponse = {799type SDKControlGetContextUsageResponse = {


889};889};

890```890```

891 891 

892從集合欄位讀取令牌歸屬:892從集合欄位讀取權杖歸因:

893 893 

894* `categories` 保存每個類別的總計。894* `categories` 保留每個類別的總計。

895* `mcpTools` 和 `agents` 將令牌歸屬於個別 MCP 工具和 subagents。895* `mcpTools` 和 `agents` 將權杖歸因於個別 MCP 工具和子代理。

896* `memoryFiles` 列出每個載入的記憶體檔案及其成本。896* `memoryFiles` 列出每個載入的記憶體檔案及其成本。

897* `skills.skillFrontmatter` 將 skill 列表的令牌歸屬於每個包含的 skill。每個 skill 的計數測量每個 skill 的列表條目,因為 Claude Code 實際發送它,可能比 skill 的完整 frontmatter 更短。比較 `skills.totalSkills` 與 `skills.includedSkills` 以查看每個發現的 skill 是否進入列表。897* `skills.skillFrontmatter` 將技能清單的權杖歸因於每個包含的技能。每個技能的計數測量每個技能的清單項目,因為 Claude Code 實際傳送它,這可能比技能的完整 frontmatter 更短。比較 `skills.totalSkills` 與 `skills.includedSkills` 以查看每個發現的技能是否進入清單。

898 898 

899`totalTokens` 是會話的目前上下文使用情況,`maxTokens` 是測量使用情況的視窗。該視窗是模型的上下文視窗,或當適用時較低的自動壓縮視窗。`rawMaxTokens` 帶著與 `maxTokens` 相同的值,`percentage` 是 `totalTokens` 作為該視窗的四捨五入百分比。899`totalTokens` 是工作階段的目前內容使用量,`maxTokens` 是針對該使用量測量的視窗。該視窗是模型的內容視窗,或應用自動壓縮視窗時的較低自動壓縮視窗。`rawMaxTokens` 攜帶與 `maxTokens` 相同的值,`percentage` 是 `totalTokens` 作為該視窗的四捨五入百分比。

900 900 

901Claude Code 將可選的 `deferredBuiltinTools`、`systemTools` 和 `systemPromptSections` 診斷保留為未設置,因此即使類型聲明它們,也應該期望它們不存在。901Claude Code 保留選用的 `deferredBuiltinTools`、`systemTools` 和 `systemPromptSections` 診斷未設定,因此即使類型宣告它們,也應該預期它們不存在。

902 902 

903<h3 id="sdkcontrolreadfileresponse">903<h3 id="sdkcontrolreadfileresponse">

904 `SDKControlReadFileResponse`904 `SDKControlReadFileResponse`

905</h3>905</h3>

906 906 

907[`readFile()`](#query-object) 的返回類型。907[`readFile()`](#query-object) 的傳回類型。

908 908 

909```typescript theme={null}909```typescript theme={null}

910type SDKControlReadFileResponse = {910type SDKControlReadFileResponse = {


915};915};

916```916```

917 917 

918`contents` 保存檔案文字,或當您要求 `encoding: 'base64'` 時的 base64 資料;回應的 `encoding` 欄位在該情況下設置為 `'base64'`。`absPath` 是解析的絕對路徑。`truncated` 在檔案長於 `maxBytes` 上限且內容在該限制處被切割時設置。918`contents` 保留檔案文字,或當您要求 `encoding: 'base64'` 時的 base64 資料;回應的 `encoding` 欄位在該情況下設定為 `'base64'`。`absPath` 是解析的絕對路徑。`truncated` 在檔案長於 `maxBytes` 上限且內容在該限制處被切割時設定。

919 919 

920<h4 id="what-readfile-can-read">920<h4 id="what-readfile-can-read">

921 What `readFile()` can read921 `readFile()` 可以讀取什麼

922</h4>922</h4>

923 923 

924`readFile()` 提供的檔案集比 Read 工具更窄:924`readFile()` 提供的檔案集合比 Read 工具更窄:

925 925 

926* 會話工作目錄之一內的常規檔案,例如 `cwd` 和 `additionalDirectories`926* 工作階段的工作目錄之一(例如 `cwd` 和 `additionalDirectories`)內的一般檔案

927* Claude Code 自己的一些檔案用於會話,例如工具結果927* Claude Code 自己的一些檔案用於工作階段,例如工具結果

928 928 

929Read 拒絕和詢問規則仍會阻止匹配的路徑,廣泛的 Read allow 規則不會向 `readFile()` 開啟檔案系統的其餘部分。對於任何其他內容,呼叫使用 `null` 進行解決。929Read 拒絕和詢問規則仍會阻止符合的路徑,廣泛的 Read 允許規則不會將檔案系統的其餘部分開啟給 `readFile()`。對於任何其他內容,呼叫會使用 `null` 進行解析。

930 930 

931<h3 id="sdkcontrolreloadskillsresponse">931<h3 id="sdkcontrolreloadskillsresponse">

932 `SDKControlReloadSkillsResponse`932 `SDKControlReloadSkillsResponse`

933</h3>933</h3>

934 934 

935[`reloadSkills()`](#query-object) 的返回類型。935[`reloadSkills()`](#query-object) 的傳回類型。

936 936 

937```typescript theme={null}937```typescript theme={null}

938type SDKControlReloadSkillsResponse = {938type SDKControlReloadSkillsResponse = {


940};940};

941```941```

942 942 

943`skills` 列出重新載入後可用的 skills,採用 `supportedCommands()` 返回的相同 [`SlashCommand`](#slashcommand) 形狀。943`skills` 列出重新載入後可用的技能,採用 `supportedCommands()` 傳回的相同 [`SlashCommand`](#slashcommand) 形狀。

944 944 

945<h3 id="agentdefinition">945<h3 id="agentdefinition">

946 `AgentDefinition`946 `AgentDefinition`

947</h3>947</h3>

948 948 

949以編程方式定義的 subagent 的配置。949以程式設計方式定義的子代理的設定。

950 950 

951```typescript theme={null}951```typescript theme={null}

952type AgentDefinition = {952type AgentDefinition = {


960 initialPrompt?: string;960 initialPrompt?: string;

961 maxTurns?: number;961 maxTurns?: number;

962 background?: boolean;962 background?: boolean;

963 omitClaudeMd?: boolean;

963 memory?: "user" | "project" | "local";964 memory?: "user" | "project" | "local";

964 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;965 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;

965 permissionMode?: PermissionMode;966 permissionMode?: PermissionMode;


967};968};

968```969```

969 970 

970| 欄位 | 必需 | 描述 |971| 欄位 | 必要 | 說明 |

971| :------------------------------------ | :- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |972| :------------------------------------ | :- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |

972| `description` | 是 | 何時使用此代理的自然語言描述 |973| `description` | 是 | 何時使用此代理的自然語言說明 |

973| `tools` | 否 | 允許的工具名稱陣列。如果省略,繼承 [tool available to subagents](/docs/zh-TW/sub-agents#available-tools) 的每個工具。要將 Skills 預載入到代理的上下文中,請使用 `skills` 欄位而不是在此處列出 `'Skill'` |974| `tools` | 否 | 允許的工具名稱陣列。如果省略,繼承[子代理可用的每個工具](/docs/zh-TW/sub-agents#available-tools)。若要將技能預先載入到代理的內容中,請使用 `skills` 欄位而不是在此列出 `'Skill'` |

974| `disallowedTools` | 否 | 要為此代理明確禁止的工具名稱陣列。MCP 伺服器級別的模式也被接受:`mcp__server` 或 `mcp__server__*` 移除該伺服器的每個工具,`mcp__*` 移除任何伺服器的每個 MCP 工具 |975| `disallowedTools` | 否 | 要明確禁止此代理的工具名稱陣列。也接受 MCP 伺服器層級模式:`mcp__server` 或 `mcp__server__*` 移除該伺服器的每個工具,`mcp__*` 移除任何伺服器的每個 MCP 工具 |

975| `prompt` | 是 | 代理的系統提示 |976| `prompt` | 是 | 代理的系統提示 |

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

977| `mcpServers` | 否 | 此代理可用的 MCP 伺服器規範 |978| `mcpServers` | 否 | 此代理的 MCP 伺服器規格 |

978| `skills` | 否 | 要預載入到代理上下文中的 skill 名稱陣列 |979| `skills` | 否 | 要預先載入到代理內容中的技能名稱陣列 |

979| `initialPrompt` | 否 | 當此代理作為主線程代理執行時,自動提交為首個使用者轉數 |980| `initialPrompt` | 否 | 當此代理作為主執行緒代理執行時自動提交為首次使用者回合 |

980| `maxTurns` | 否 | 最大代理轉數(API 往返),然後停止 |981| `maxTurns` | 否 | 代理回合(API 往返)的最大數量,然後停止 |

981| `background` | 否 | 當調用時,將此代理作為非阻止背景任務執行 |982| `background` | 否 | 當叫用時以非阻止背景任務執行此代理 |

983| `omitClaudeMd` | 否 | 當此代理作為子代理執行時,在沒有使用者、專案和本機 CLAUDE.md 檔案的情況下執行此代理;受管原則檔案仍會載入。將其用於代理,這些代理從 Agent 工具提示中獲取所需的一切。當此代理作為主執行緒代理執行時忽略。需要 TypeScript Agent SDK v0.3.271 或更新版本 |

982| `memory` | 否 | 此代理的記憶體來源:`'user'`、`'project'` 或 `'local'` |984| `memory` | 否 | 此代理的記憶體來源:`'user'`、`'project'` 或 `'local'` |

983| `effort` | 否 | 此代理的推理努力級別。接受命名級別或整數 |985| `effort` | 否 | 此代理的推理努力等級。接受命名等級或整數 |

984| `permissionMode` | 否 | 此代理內工具執行的權限模式。[subagent inheritance rules](/docs/zh-TW/agent-sdk/permissions#available-modes) 決定何時適用。見 [`PermissionMode`](#permissionmode) |986| `permissionMode` | 否 | 此代理內工具執行的權限模式。[子代理繼承規則](/docs/zh-TW/agent-sdk/permissions#available-modes)決定何時適用。請參閱 [`PermissionMode`](#permissionmode) |

985| `criticalSystemReminder_EXPERIMENTAL` | 否 | 實驗性:添加到系統提示的關鍵提醒 |987| `criticalSystemReminder_EXPERIMENTAL` | 否 | 實驗性:新增到系統提示的關鍵提醒 |

986 988 

987<h3 id="agentmcpserverspec">989<h3 id="agentmcpserverspec">

988 `AgentMcpServerSpec`990 `AgentMcpServerSpec`

989</h3>991</h3>

990 992 

991指定 subagent 可用的 MCP 伺服器。可以是伺服器名稱(字串,引用父代理 `mcpServers` 配置中的伺服器)或內聯伺服器配置記錄,將伺服器名稱映射到配置。993指定子代理可用的 MCP 伺服器。可以是伺服器名稱(字串參考父代理 `mcpServers` 設定中的伺服器)或內嵌伺服器設定記錄,將伺服器名稱對應到設定。

992 994 

993```typescript theme={null}995```typescript theme={null}

994type AgentMcpServerSpec = string | Record<string, McpServerConfigForProcessTransport>;996type AgentMcpServerSpec = string | Record<string, McpServerConfigForProcessTransport>;


1000 `SettingSource`1002 `SettingSource`

1001</h3>1003</h3>

1002 1004 

1003控制 SDK 從哪些基於檔案系統的配置來源載入設定。1005控制 SDK 從哪些檔案系統設定來源載入設定。

1004 1006 

1005```typescript theme={null}1007```typescript theme={null}

1006type SettingSource = "user" | "project" | "local";1008type SettingSource = "user" | "project" | "local";

1007```1009```

1008 1010 

1009| 值 | 描述 | 位置 |1011| 值 | 說明 | 位置 |

1010| :---------- | :----------------------------------------- | :---------------------------- |1012| :---------- | :----------------------------------------- | :---------------------------- |

1011| `'user'` | 全域使用者設定 | `~/.claude/settings.json` |1013| `'user'` | 全域使用者設定 | `~/.claude/settings.json` |

1012| `'project'` | 共享專案設定(版本控制) | `.claude/settings.json` |1014| `'project'` | 共享專案設定(版本控制) | `.claude/settings.json` |

1013| `'local'` | 本地專案設定,當 Claude Code 將設定儲存到其中時被 gitignored | `.claude/settings.local.json` |1015| `'local'` | 本機專案設定,當 Claude Code 將設定儲存到其中時被 gitignored | `.claude/settings.local.json` |

1014 1016 

1015<h4 id="default-behavior">1017<h4 id="default-behavior">

1016 Default behavior1018 預設行為

1017</h4>1019</h4>

1018 1020 

1019當 `settingSources` 被省略或 `undefined` 時,`query()` 載入與 Claude Code CLI 相同的檔案系統設定:使用者、專案和本地。見 [What settingSources does not control](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) 了解無論此選項如何都會讀取的輸入,以及如何禁用它們。1021當 `settingSources` 被省略或 `undefined` 時,`query()` 載入與 Claude Code CLI 相同的檔案系統設定:使用者、專案和本機。請參閱[`settingSources` 不控制什麼](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control)以了解無論此選項如何都會讀取的輸入,以及如何停用它們。

1020 1022 

1021<h4 id="why-use-settingsources">1023<h4 id="why-use-settingsources">

1022 Why use settingSources1024 為什麼使用 settingSources

1023</h4>1025</h4>

1024 1026 

1025**禁用檔案系統設定:**1027**停用檔案系統設定:**

1026 1028 

1027```typescript theme={null}1029```typescript theme={null}

1028import { query } from "@anthropic-ai/claude-agent-sdk";1030import { query } from "@anthropic-ai/claude-agent-sdk";

1029 1031 

1030// 不從磁碟載入使用者、專案或本地設定1032// Do not load user, project, or local settings from disk

1031const result = query({1033const result = query({

1032 prompt: "Analyze this code",1034 prompt: "Analyze this code",

1033 options: { settingSources: [] }1035 options: { settingSources: [] }


1039```typescript theme={null}1041```typescript theme={null}

1040import { query } from "@anthropic-ai/claude-agent-sdk";1042import { query } from "@anthropic-ai/claude-agent-sdk";

1041 1043 

1042// 僅載入專案設定,忽略使用者和本地1044// Load only project settings, ignore user and local

1043const result = query({1045const result = query({

1044 prompt: "Run CI checks",1046 prompt: "Run CI checks",

1045 options: {1047 options: {

1046 settingSources: ["project"] // 僅 .claude/settings.json1048 settingSources: ["project"] // Only .claude/settings.json

1047 }1049 }

1048});1050});

1049```1051```

1050 1052 

1051要載入 CLAUDE.md 專案指令,請在 `settingSources` 中包含 `"project"`。見 [Modify system prompts](/docs/zh-TW/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) 了解 CLAUDE.md 載入如何與系統提示選項互動。1053若要載入 CLAUDE.md 專案指示,請在 `settingSources` 中包含 `"project"`。請參閱[修改系統提示](/docs/zh-TW/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions)以了解 CLAUDE.md 載入如何與系統提示選項互動。

1052 1054 

1053<h4 id="settings-precedence">1055<h4 id="settings-precedence">

1054 Settings precedence1056 設定優先順序

1055</h4>1057</h4>

1056 1058 

1057載入多個來源時,設定按此優先級(最高到最低)合併:1059載入多個來源時,設定會與此優先順序合併(最高到最低):

1058 1060 

10591. 本地設定(`.claude/settings.local.json`)10611. 本機設定(`.claude/settings.local.json`)

10602. 專案設定(`.claude/settings.json`)10622. 專案設定(`.claude/settings.json`)

10613. 使用者設定(`~/.claude/settings.json`)10633. 使用者設定(`~/.claude/settings.json`)

1062 1064 

1063編程選項,例如 `agents`、`allowedTools` 和 `settings`,覆蓋使用者、專案和本地檔案系統設定。受管策略設定優先於編程選項。1065程式設計選項(例如 `agents`、`allowedTools` 和 `settings`)覆蓋使用者、專案和本機檔案系統設定。受管原則設定優先於程式設計選項。

1064 1066 

1065<h3 id="permissionmode">1067<h3 id="permissionmode">

1066 `PermissionMode`1068 `PermissionMode`


1068 1070 

1069```typescript theme={null}1071```typescript theme={null}

1070type PermissionMode =1072type PermissionMode =

1071 | "default" // 標準權限行為1073 | "default" // Standard permission behavior

1072 | "acceptEdits" // 自動接受檔案編輯1074 | "acceptEdits" // Auto-accept file edits

1073 | "bypassPermissions" // 繞過權限檢查;明確詢問規則仍然提示1075 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1074 | "plan" // Plan Mode - 無編輯探索1076 | "plan" // Planning mode - explore without editing

1075 | "dontAsk" // 不提示權限,如果未預批准則拒絕1077 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1076 | "auto"; // 模型分類器批准或拒絕權限提示1078 | "auto"; // Model classifier approves or denies permission prompts

1077```1079```

1078 1080 

1079<h3 id="canusetool">1081<h3 id="canusetool">

1080 `CanUseTool`1082 `CanUseTool`

1081</h3>1083</h3>

1082 1084 

1083用於控制工具使用的自定義權限函數類型。1085用於控制工具使用的自訂權限函式類型。

1084 1086 

1085函數是 SDK 替代互動式權限提示:它僅在 [permission evaluation flow](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated) 解決為提示時調用。已由 `allowedTools` 條目、設定 allow 規則或權限模式(如 `acceptEdits` 或 `bypassPermissions`)批准的工具呼叫永遠不會調用它。要限制每個工具呼叫,改用 [`PreToolUse` hook](/docs/zh-TW/agent-sdk/hooks)。1087該函式是互動式權限提示的 SDK 替代品:僅當[權限評估流程](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)解析為提示時才叫用。由 `allowedTools` 項目、設定允許規則或權限模式(例如 `acceptEdits` 或 `bypassPermissions`)預先核准的工具呼叫永遠不會叫用它。若要限制每個工具呼叫,請改用 [`PreToolUse` hook](/docs/zh-TW/agent-sdk/hooks)。

1086 1088 

1087Allow 規則不會預批准 [actions no mode auto-approves](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves);見 [How permissions are evaluated](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated) 了解其中哪些到達回調,以及在 `dontAsk` 和 `auto` 模式中發生什麼。1089允許規則不會預先核准[任何模式都不自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves);請參閱[權限如何評估](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)以了解其中哪些到達回呼,以及在 `dontAsk` 和 `auto` 模式中發生的情況。

1088 1090 

1089```typescript theme={null}1091```typescript theme={null}

1090type CanUseTool = (1092type CanUseTool = (


1094 signal: AbortSignal;1096 signal: AbortSignal;

1095 suggestions?: PermissionUpdate[];1097 suggestions?: PermissionUpdate[];

1096 blockedPath?: string;1098 blockedPath?: string;

1099 mcpServer?: { name: string; source: string };

1097 decisionReason?: string;1100 decisionReason?: string;

1098 toolUseID: string;1101 toolUseID: string;

1099 agentID?: string;1102 agentID?: string;


1102) => Promise<PermissionResult | null>;1105) => Promise<PermissionResult | null>;

1103```1106```

1104 1107 

1105| 選項 | 類型 | 描述 |1108| 選項 | 類型 | 說明 |

1106| :--------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1109| :--------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1107| `signal` | `AbortSignal` | 如果應中止操作則發出信號 |1110| `signal` | `AbortSignal` | 如果應該中止操作,則發出信號 |

1108| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | 建議的權限更新,以便使用者不會再次被提示此工具。Bash 提示包括帶有 `localSettings` [destination](#permissionupdatedestination) 的建議,因此在 `updatedPermissions` 中返回它會將規則寫入 `.claude/settings.local.json` 並在會話中持久化。 |1111| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | 建議的權限更新,以便不會再次提示使用者使用此工具。Bash 提示包括具有 `localSettings` [目的地](#permissionupdatedestination)的建議,因此在 `updatedPermissions` 中傳回它會將規則寫入 `.claude/settings.local.json` 並在工作階段間持久化。 |

1109| `blockedPath` | `string` | 觸發權限請求的檔案路徑(如果適用) |1112| `blockedPath` | `string` | 觸發權限請求的檔案路徑(如果適用) |

1113| `mcpServer` | `{ name: string; source: string }` | 對於 `mcp__*` 工具,提供該工具的 MCP 伺服器及其定義來自何處,具有 [`McpServerProvenance`](#mcpserverprovenance) 的欄位。對於其他工具不存在。需要 Agent SDK v0.3.274 或更新版本 |

1110| `decisionReason` | `string` | 解釋為什麼觸發此權限請求 |1114| `decisionReason` | `string` | 解釋為什麼觸發此權限請求 |

1111| `toolUseID` | `string` | 此特定工具呼叫在助手訊息中的唯一識別碼 |1115| `toolUseID` | `string` | 助手訊息內此特定工具呼叫的唯一識別碼 |

1112| `agentID` | `string` | 如果在 sub-agent 中執行,sub-agent 的 ID |1116| `agentID` | `string` | 如果在子代理內執行,子代理的 ID |

1113| `requestId` | `string` | `control_request` 信封的 `request_id`。您的應用程式在 SDK 外發送的 `control_response`(例如簽名的 HTTP POST)必須回顯此值,以便 Claude Code 進程可以將回復與請求匹配 |1117| `requestId` | `string` | `control_request` 信封的 `request_id`。您的應用程式在其自己的通道上傳送的 `control_response`(例如簽署的 HTTP POST)必須回應此值,以便 Claude Code 程序可以將回覆與請求相符 |

1114 1118 

1115回調通常通過返回 [`PermissionResult`](#permissionresult) 來解決請求,SDK 將其寫回其傳輸作為 `control_response`。僅當您的應用程式已通過其自己的通道為此請求發送 `control_response`(回顯 `requestId`)時才返回 `null`;SDK 然後跳過將回應寫入其傳輸。在任何其他情況下返回 `null` 會使工具呼叫無限期被阻止,因為永遠不會發送 `control_response` 且權限提示不會逾時。1119回呼通常透過傳回 [`PermissionResult`](#permissionresult) 來解決請求,SDK 會將其寫回其傳輸作為 `control_response`。僅當您的應用程式已透過其自己的通道為此請求傳送 `control_response`(回應 `requestId`)時才傳回 `null`;SDK 隨後會跳過將回應寫入其傳輸。在任何其他情況下傳回 `null` 會使工具呼叫無限期被阻止,因為永遠不會傳送 `control_response` 且權限提示不會逾時。

1116 1120 

1117`requestId` 選項和 `null` 返回值需要 Claude Code v2.1.199 或更高版本。1121`requestId` 選項和 `null` 傳回值需要 Claude Code v2.1.199 或更新版本。

1118 1122 

1119<h3 id="permissionresult">1123<h3 id="permissionresult">

1120 `PermissionResult`1124 `PermissionResult`


1142 `ToolConfig`1146 `ToolConfig`

1143</h3>1147</h3>

1144 1148 

1145內置工具行為的配置。1149內建工具行為的設定。

1146 1150 

1147```typescript theme={null}1151```typescript theme={null}

1148type ToolConfig = {1152type ToolConfig = {


1152};1156};

1153```1157```

1154 1158 

1155| 欄位 | 類型 | 描述 |1159| 欄位 | 類型 | 說明 |

1156| :------------------------------ | :--------------------- | :---------------------------------------------------------------------------------------------------------------- |1160| :------------------------------ | :--------------------- | :----------------------------------------------------------------------------------------------------------------- |

1157| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | 選擇進入 [`AskUserQuestion`](/docs/zh-TW/agent-sdk/user-input#question-format) 選項上的 `preview` 欄位並設置其內容格式。未設置時,Claude 不發出預覽 |1161| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | 選擇加入 [`AskUserQuestion`](/docs/zh-TW/agent-sdk/user-input#question-format) 選項上的 `preview` 欄位並設定其內容格式。未設定時,Claude 不會發出預覽 |

1158 1162 

1159<h3 id="mcpserverconfig">1163<h3 id="mcpserverconfig">

1160 `McpServerConfig`1164 `McpServerConfig`

1161</h3>1165</h3>

1162 1166 

1163MCP 伺服器的配置。1167MCP 伺服器的設定。

1164 1168 

1165```typescript theme={null}1169```typescript theme={null}

1166type McpServerConfig =1170type McpServerConfig =


1236 `SdkPluginConfig`1240 `SdkPluginConfig`

1237</h3>1241</h3>

1238 1242 

1239SDK 中載入 plugins 的配置。1243在 SDK 中載入外掛程式的設定。

1240 1244 

1241```typescript theme={null}1245```typescript theme={null}

1242type SdkPluginConfig = {1246type SdkPluginConfig = {


1246};1250};

1247```1251```

1248 1252 

1249| 欄位 | 類型 | 描述 |1253| 欄位 | 類型 | 說明 |

1250| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------ |1254| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------ |

1251| `type` | `'local'` | 必須是 `'local'`(目前僅支持本地 plugins) |1255| `type` | `'local'` | 必須是 `'local'`(目前僅支援本機外掛程式) |

1252| `path` | `string` | 外掛程式目錄的絕對或相對路徑 |1256| `path` | `string` | 外掛程式目錄的絕對或相對路徑 |

1253| `skipMcpDiscovery` | `boolean` | 當為 `true` 時,SDK 從此 plugin 載入 skills、hooks、agents 和 commands,但不讀取其 `.mcp.json` 或 manifest `mcpServers`。當您的應用程式擁有 plugin 的 MCP 連接時設置此項。 |1257| `skipMcpDiscovery` | `boolean` | 當為 `true` 時,SDK 從此外掛程式載入技能、hooks、代理和命令,但不讀取其 `.mcp.json` 或資訊清單 `mcpServers`。當您的應用程式擁有外掛程式的 MCP 連線時設定此項。 |

1254 1258 

1255**範例:**1259**範例:**

1256 1260 


1261];1265];

1262```1266```

1263 1267 

1264有關創建和使用 plugins 的完整資訊,見 [Plugins](/docs/zh-TW/agent-sdk/plugins)。1268如需建立和使用外掛程式的完整資訊,請參閱[外掛程式](/docs/zh-TW/agent-sdk/plugins)。

1265 1269 

1266<h2 id="message-types">1270<h2 id="message-types">

1267 消息類型1271 消息類型


1463 permission_denials: SDKPermissionDenial[];1467 permission_denials: SDKPermissionDenial[];

1464 queued_turn_count?: number;1468 queued_turn_count?: number;

1465 errors: string[];1469 errors: string[];

1470 startup_failure_reason?: SDKStartupFailureReason;

1466 user_message_uuid?: string;1471 user_message_uuid?: string;

1467 user_message_uuids?: string[];1472 user_message_uuids?: string[];

1468 terminal_reason?: TerminalReason;1473 terminal_reason?: TerminalReason;


1486* `modelUsage`:在此 `query()` 調用期間通過查詢管道進行的每個模型調用的每模型總計,包括主迴圈、子代理和內部調用(例如壓縮和 Workflow 代理)。該管道外的輔助調用(例如權限分類器和令牌計數請求)被排除。在流式輸入會話中,總計在轉數間累積,因此讀取最新結果而不是在結果間求和。請參閱[在流式輸入模式中追蹤成本](/docs/zh-TW/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode)以了解重置,以及[在會話崩潰後恢復總計](/docs/zh-TW/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)以了解歸零結果。1491* `modelUsage`:在此 `query()` 調用期間通過查詢管道進行的每個模型調用的每模型總計,包括主迴圈、子代理和內部調用(例如壓縮和 Workflow 代理)。該管道外的輔助調用(例如權限分類器和令牌計數請求)被排除。在流式輸入會話中,總計在轉數間累積,因此讀取最新結果而不是在結果間求和。請參閱[在流式輸入模式中追蹤成本](/docs/zh-TW/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode)以了解重置,以及[在會話崩潰後恢復總計](/docs/zh-TW/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)以了解歸零結果。

1487* `total_cost_usd`:此 `query()` 調用的累積估計成本(美元),涵蓋與 `modelUsage` 相同的調用並在相同點重置。這是一個估計值,不是帳單聲明。請參閱[追蹤成本和使用情況](/docs/zh-TW/agent-sdk/cost-tracking)以了解準確性注意事項。1492* `total_cost_usd`:此 `query()` 調用的累積估計成本(美元),涵蓋與 `modelUsage` 相同的調用並在相同點重置。這是一個估計值,不是帳單聲明。請參閱[追蹤成本和使用情況](/docs/zh-TW/agent-sdk/cost-tracking)以了解準確性注意事項。

1488* `queued_turn_count`:您發送的帶有 `origin: { kind: "human" }` 的消息數量,在 Claude Code 產生結果時仍在等待。請參閱 [`queued_turn_count`](#queued_turn_count) 以了解 `0` 和缺少的字段告訴您什麼。1493* `queued_turn_count`:您發送的帶有 `origin: { kind: "human" }` 的消息數量,在 Claude Code 產生結果時仍在等待。請參閱 [`queued_turn_count`](#queued_turn_count) 以了解 `0` 和缺少的字段告訴您什麼。

1494* `startup_failure_reason`:Claude Code 拒絕啟動的原因,在它在已知啟動失敗時寫入的 `error_during_execution` 結果上。請參閱 [`startup_failure_reason`](#startup_failure_reason) 以了解值以及哪些失敗攜帶它。需要 Agent SDK v0.3.274 或更高版本。

1489* `terminal_reason`:迴圈結束的原因。為 `"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"background_requested"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"`、`"model_error"`、`"api_error"`、`"malformed_tool_use_exhausted"`、`"budget_exhausted"`、`"structured_output_retry_exhausted"`、`"tool_deferred_unavailable"` 或 `"turn_setup_failed"` 之一。1495* `terminal_reason`:迴圈結束的原因。為 `"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"background_requested"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"`、`"model_error"`、`"api_error"`、`"malformed_tool_use_exhausted"`、`"budget_exhausted"`、`"structured_output_retry_exhausted"`、`"tool_deferred_unavailable"` 或 `"turn_setup_failed"` 之一。

1490* `fast_mode_state`:為 `"on"`、`"off"` 或 `"cooldown"` 之一。1496* `fast_mode_state`:為 `"on"`、`"off"` 或 `"cooldown"` 之一。

1491* `fast_mode_disabled_reason`:為什麼[快速模式](/docs/zh-TW/fast-mode)現在不可用。當沒有任何東西阻止快速模式時不存在,儘管請求仍可能以標準速度運行。在快速模式速率限制後的冷卻期間,Claude Code 報告 `fast_mode_state: "cooldown"` 且沒有原因代碼,並在冷卻期過期時重新啟用快速模式。需要 Claude Code v2.1.219 或更高版本。1497* `fast_mode_disabled_reason`:為什麼[快速模式](/docs/zh-TW/fast-mode)現在不可用。當沒有任何東西阻止快速模式時不存在,儘管請求仍可能以標準速度運行。在快速模式速率限制後的冷卻期間,Claude Code 報告 `fast_mode_state: "cooldown"` 且沒有原因代碼,並在冷卻期過期時重新啟用快速模式。需要 Claude Code v2.1.219 或更高版本。


1561* **`0`**:Claude Code 不計算您發送的沒有該 `origin` 的消息,也不計算任務通知,因此轉數仍可能跟隨。1567* **`0`**:Claude Code 不計算您發送的沒有該 `origin` 的消息,也不計算任務通知,因此轉數仍可能跟隨。

1562* **缺少**:Claude Code 在崩潰或致命啟動錯誤後發出的最終結果省略該字段,並且[可能攜帶歸零的總計](/docs/zh-TW/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)。1568* **缺少**:Claude Code 在崩潰或致命啟動錯誤後發出的最終結果省略該字段,並且[可能攜帶歸零的總計](/docs/zh-TW/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)。

1563 1569 

1570<h4 id="startup_failure_reason">

1571 `startup_failure_reason`

1572</h4>

1573 

1574Claude Code 拒絕啟動的原因,以便您的應用程式可以提供修復而不是重試。Claude Code 在它在已知啟動失敗時寫入的 `error_during_execution` 結果上設置它。該結果攜帶歸零的總計,其 `errors` 陣列攜帶與 stderr 相同的文本。該字段在每個其他結果上不存在。需要 Agent SDK v0.3.274 或更高版本。

1575 

1576在 [`env`](#options) 中設置 `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` 為 `1` 以接收每個 `SDKStartupFailureReason` 值的此結果。沒有該變數,Claude Code 僅為這些失敗寫入結果,其餘的以 stderr 輸出、非零退出和無結果消息結束:

1577 

1578* 一個恢復,Claude Code 停止因為它[無法將會話返回到其工作樹](/docs/zh-TW/worktrees#the-session-resumes-outside-its-worktree),帶有 `worktree_unverified` 或 `worktree_resume_refused`。該部分說明哪個錯誤攜帶哪個值。

1579* 一個被拒絕的[繼續](#options)背景會話持有的對話,帶有 `session_held_by_background`。對於被拒絕的這樣對話的[恢復](#options),Claude Code 僅在設置變數時寫入結果。

1580 

1581```typescript theme={null}

1582type SDKStartupFailureReason =

1583 | "org_pin_api_key_conflict"

1584 | "org_verify_failed"

1585 | "org_pin_mismatch"

1586 | "managed_settings_invalid"

1587 | "remote_settings_required_unavailable"

1588 | "gateway_signin_required"

1589 | "gateway_access_denied"

1590 | "proxy_invalid"

1591 | "temp_dir_unusable"

1592 | "cwd_unavailable"

1593 | "shell_tool_missing"

1594 | "session_held_by_background"

1595 | "worktree_resume_refused"

1596 | "worktree_unverified"

1597 | "cli_version_too_old"

1598 | "bypass_root";

1599```

1600 

1601每個值命名一個拒絕:

1602 

1603| 值 | 什麼停止了會話 |

1604| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |

1605| `org_pin_api_key_conflict` | 受管設定[需要第一方或 Cloud gateway 登入](/docs/zh-TW/authentication#restrict-login-to-your-organization),並且配置了 Anthropic API 金鑰、驗證令牌或 `apiKeyHelper` |

1606| `org_verify_failed` | 登入的組織無法根據 pin 驗證,例如因為網路故障或已撤銷的令牌 |

1607| `org_pin_mismatch` | 登入屬於 pin 不允許的組織 |

1608| `managed_settings_invalid` | 受管策略設定無法讀取,或 pin 未命名任何組織 |

1609| `remote_settings_required_unavailable` | 組織需要的受管設定無法載入 |

1610| `gateway_signin_required` | [Cloud gateway](/docs/zh-TW/claude-apps-gateway)結束了此登入 |

1611| `gateway_access_denied` | 對 Cloud gateway 的受管設定請求返回了 403,gateway 的[故障排除表](/docs/zh-TW/claude-apps-gateway-deploy#troubleshooting)涵蓋了該表 |

1612| `proxy_invalid` | 代理設定不是完整的 URL |

1613| `temp_dir_unusable` | 每個使用者的臨時目錄不安全或無法建立 |

1614| `cwd_unavailable` | 工作目錄已刪除、移動或無法讀取 |

1615| `shell_tool_missing` | 在 Windows 上,沒有可用的 shell 工具:Git Bash 缺失,PowerShell 缺失或使用 `CLAUDE_CODE_USE_POWERSHELL_TOOL` 關閉 |

1616| `session_held_by_background` | 要恢復或繼續的對話作為[背景會話](/docs/zh-TW/agent-view)運行 |

1617| `worktree_resume_refused` | 會話的工作樹未通過其安全檢查,或恢復是從內部啟動的。`errors` 說明運行相同恢復是否在沒有工作樹的情況下繼續 |

1618| `worktree_unverified` | 會話的工作樹現在無法驗證,重試可能成功 |

1619| `cli_version_too_old` | 此 Claude Code 版本低於 Anthropic 要求的最低版本 |

1620| `bypass_root` | 在以 root 身份運行時請求了繞過權限模式 |

1621 

1564<h3 id="sdksystemmessage">1622<h3 id="sdksystemmessage">

1565 `SDKSystemMessage`1623 `SDKSystemMessage`

1566</h3>1624</h3>


1582 mcp_servers: {1640 mcp_servers: {

1583 name: string;1641 name: string;

1584 status: string;1642 status: string;

1643 source?: string;

1585 }[];1644 }[];

1586 model: string;1645 model: string;

1587 permissionMode: PermissionMode;1646 permissionMode: PermissionMode;


1601 1660 

1602`terminal_slash_commands` 命名 `slash_commands` 中其介面綁定到本地終端的項目,例如 `exit`。您可以像發送 `slash_commands` 中的任何其他項目一樣發送它們;該字段存在以便遠程或行動客戶端可以將它們隱藏在其命令菜單中。該字段僅在非空時出現,需要 Agent SDK v0.3.229 或更高版本。1661`terminal_slash_commands` 命名 `slash_commands` 中其介面綁定到本地終端的項目,例如 `exit`。您可以像發送 `slash_commands` 中的任何其他項目一樣發送它們;該字段存在以便遠程或行動客戶端可以將它們隱藏在其命令菜單中。該字段僅在非空時出現,需要 Agent SDK v0.3.229 或更高版本。

1603 1662 

1663* `source` 在每個 `mcp_servers` 項目上:伺服器定義的來源,與 [`McpServerStatus`](#mcpserverstatus) 的 `source` 相同的值。需要 Agent SDK v0.3.274 或更高版本。

1604* `effort`:[努力級別](/docs/zh-TW/model-config#adjust-effort-level)Claude Code 在會話的下一個請求上發送,或在不發送時為 `null`。Claude Code 僅在發送給[遠程控制](/docs/zh-TW/remote-control)客戶端的初始化消息上設置該字段,並從您的應用程式讀取的初始化消息中省略它。需要 Agent SDK v0.3.234 或更高版本。1664* `effort`:[努力級別](/docs/zh-TW/model-config#adjust-effort-level)Claude Code 在會話的下一個請求上發送,或在不發送時為 `null`。Claude Code 僅在發送給[遠程控制](/docs/zh-TW/remote-control)客戶端的初始化消息上設置該字段,並從您的應用程式讀取的初始化消息中省略它。需要 Agent SDK v0.3.234 或更高版本。

1605 1665 

1606`capabilities` 陣列命名此 CLI 實現的協議行為,因此您可以進行功能檢測而不是比較 `claude_code_version` 字符串。這是一個開放集合:忽略您不認識的值,並檢查您依賴其行為的特定功能。該字段需要 Claude Code v2.1.205 或更高版本,在較早的 CLI 上不存在。1666`capabilities` 陣列命名此 CLI 實現的協議行為,因此您可以進行功能檢測而不是比較 `claude_code_version` 字符串。這是一個開放集合:忽略您不認識的值,並檢查您依賴其行為的特定功能。該字段需要 Claude Code v2.1.205 或更高版本,在較早的 CLI 上不存在。


2061 tool_name: string;2121 tool_name: string;

2062 tool_input: unknown;2122 tool_input: unknown;

2063 tool_use_id: string;2123 tool_use_id: string;

2124 mcp_server?: McpServerProvenance;

2064};2125};

2065```2126```

2066 2127 

2128當工具來自 MCP 伺服器時,`mcp_server` 會出現;見 [`McpServerProvenance`](#mcpserverprovenance)。`PostToolUse`、`PostToolUseFailure`、`PermissionRequest` 和 `PermissionDenied` 輸入攜帶相同的欄位。此欄位需要 Agent SDK v0.3.274 或更新版本。

2129 

2067<h4 id="posttoolusehookinput">2130<h4 id="posttoolusehookinput">

2068 `PostToolUseHookInput`2131 `PostToolUseHookInput`

2069</h4>2132</h4>


2076 tool_response: unknown;2139 tool_response: unknown;

2077 tool_use_id: string;2140 tool_use_id: string;

2078 duration_ms?: number;2141 duration_ms?: number;

2142 mcp_server?: McpServerProvenance;

2079};2143};

2080```2144```

2081 2145 


2092 error: string;2156 error: string;

2093 is_interrupt?: boolean;2157 is_interrupt?: boolean;

2094 duration_ms?: number;2158 duration_ms?: number;

2159 mcp_server?: McpServerProvenance;

2095};2160};

2096```2161```

2097 2162 


2126 tool_input: unknown;2191 tool_input: unknown;

2127 tool_use_id: string;2192 tool_use_id: string;

2128 reason: string;2193 reason: string;

2194 mcp_server?: McpServerProvenance;

2129};2195};

2130```2196```

2131 2197 


2345 tool_name: string;2411 tool_name: string;

2346 tool_input: unknown;2412 tool_input: unknown;

2347 permission_suggestions?: PermissionUpdate[];2413 permission_suggestions?: PermissionUpdate[];

2414 mcp_server?: McpServerProvenance;

2348};2415};

2349```2416```

2350 2417 


2856 2923 

2857```typescript theme={null}2924```typescript theme={null}

2858type MonitorInput = {2925type MonitorInput = {

2926 description: string;

2927 timeout_ms: number;

2859 command?: string;2928 command?: string;

2860 ws?: {2929 ws?: {

2861 url: string;2930 url: string;

2862 protocols?: string[];2931 protocols?: string[];

2863 };2932 };

2864 description: string;

2865 timeout_ms: number;

2866 persistent: boolean;

2867};2933};

2868```2934```

2869 2935 

2870執行背景來源並將每個事件傳遞給 Claude,使其能夠做出反應而無需輪詢:`command` 執行指令碼並每行 stdout 發出一個事件,`ws` 開啟 WebSocket 並每個文字框架發出一個事件。提供 `command` 或 `ws` 中的恰好一個。`ws` 來源需要 Claude Code v2.1.195 或更新版本。2936執行背景來源並將每個事件傳遞給 Claude,使其能夠做出反應而無需輪詢:`command` 執行指令碼並每行 stdout 發出一個事件,`ws` 開啟 WebSocket 並每個文字框架發出一個事件。提供 `command` 或 `ws` 中的恰好一個。`ws` 來源需要 Claude Code v2.1.195 或更新版本。

2871 2937 

2872將 `persistent: true` 設定為工作階段長度的監視,例如日誌尾部。Monitor 執行命令時,遵循與 Bash 相同的權限規則;WebSocket 監視會單獨提示核准。詳見[Monitor 工具參考](/docs/zh-TW/tools-reference#monitor-tool)以了解行為和提供者可用性。匯出的類型將 `timeout_ms` 和 `persistent` 標記為必需,因為架構填入其預設值 300000 和 `false`;省略它們的呼叫會驗證通過。2938`timeout_ms` 是監視的截止時間(以毫秒為單位)。預設為 300000,有效截止時間最多為 1800000,即 30 分鐘。在截止時間時,監視結束,Claude 收到一個通知,以便在仍需要時啟動新的監視。

2939 

2940匯出的類型將 `timeout_ms` 標記為必需,因為架構填入預設值;省略它的呼叫會驗證通過。

2941 

2942Monitor 執行命令時,遵循與 Bash 相同的權限規則;WebSocket 監視會單獨提示核准。詳見[Monitor 工具參考](/docs/zh-TW/tools-reference#monitor-tool)以了解行為和提供者可用性。

2873 2943 

2874<h3 id="taskoutput">2944<h3 id="taskoutput">

2875 TaskOutput2945 TaskOutput


2921};2991};

2922```2992```

2923 2993 

2924從本機檔案系統讀取檔案,包括文字、影像、PDF 和 Jupyter 筆記本。使用 `pages` 指定 PDF 頁面範圍(例如 `"1-5"`)。2994從本機檔案系統讀取檔案,包括文字、影片、PDF 和 Jupyter 筆記本。使用 `pages` 指定 PDF 頁面範圍(例如 `"1-5"`)。

2925 2995 

2926對於 PDF,Claude 在 Read 呼叫的 `tool_result` 內容中接收檔案的內容。傳回 `pdf` [輸出](#tool-output-types)的讀取會帶有摘要 `text` 區塊,後面跟著 `document` 區塊。傳回 `parts` 輸出的讀取會帶有摘要 `text` 區塊,後面跟著每個提取頁面的一個區塊:`image` 區塊,或當 Claude Code 無法將其呈現為影像時命名該頁面的 `text` 區塊。在 Agent SDK v0.3.242 之前,Claude Code 在工具結果後作為單獨的 `user` 訊息傳遞檔案的內容。2996對於 PDF,Claude 在 Read 呼叫的 `tool_result` 內容中接收檔案的內容。傳回 `pdf` [輸出](#tool-output-types)的讀取會帶有摘要 `text` 區塊,後面跟著 `document` 區塊。傳回 `parts` 輸出的讀取會帶有摘要 `text` 區塊,後面跟著每個提取頁面的一個區塊:`image` 區塊,或當 Claude Code 無法將其呈現為影片時命名該頁面的 `text` 區塊。在 Agent SDK v0.3.242 之前,Claude Code 在工具結果後作為單獨的 `user` 訊息傳遞檔案的內容。

2927 2997 

2928<h3 id="write">2998<h3 id="write">

2929 Write2999 Write


3193};3263};

3194```3264```

3195 3265 

3196退出計畫模式。`allowedPrompts` 欄位已棄用且被忽略;Claude Code 仍接受它以便現有呼叫者和文字記錄驗證。在 v2.1.205 之前,它要求基於提示的 Bash 權限以實施計畫。3266退出 Plan Mode。`allowedPrompts` 欄位已棄用且被忽略;Claude Code 仍接受它以便現有呼叫者和文字記錄驗證。在 v2.1.205 之前,它要求基於提示的 Bash 權限以實施計畫。

3197 3267 

3198<h3 id="listmcpresources">3268<h3 id="listmcpresources">

3199 ListMcpResources3269 ListMcpResources


3264type EnterPlanModeInput = {};3334type EnterPlanModeInput = {};

3265```3335```

3266 3336 

3267進入計畫模式,其中 Claude 在進行變更前研究並呈現計畫。3337進入 Plan Mode,其中 Claude 在進行變更前研究並呈現計畫。

3268 3338 

3269<h3 id="croncreate">3339<h3 id="croncreate">

3270 CronCreate3340 CronCreate


4753 `ApiKeySource`4823 `ApiKeySource`

4754</h3>4824</h3>

4755 4825 

4756會話請求的 API 金鑰來源,在 [`SDKSystemMessage`](#sdksystemmessage) 初始化消息上報告為 `apiKeySource`。4826工作階段請求的 API 金鑰來源,在 [`SDKSystemMessage`](#sdksystemmessage) 初始化訊息上報告為 `apiKeySource`。

4757 4827 

4758```typescript theme={null}4828```typescript theme={null}

4759type ApiKeySource =4829type ApiKeySource =


4773| 值 | 使用中的金鑰 |4843| 值 | 使用中的金鑰 |

4774| -------------------- | --------------------------------------------------------------------------------------------------- |4844| -------------------- | --------------------------------------------------------------------------------------------------- |

4775| `ANTHROPIC_API_KEY` | `ANTHROPIC_API_KEY` 環境變數中的金鑰 |4845| `ANTHROPIC_API_KEY` | `ANTHROPIC_API_KEY` 環境變數中的金鑰 |

4776| `apiKeyHelper` | 您的 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 命令返回的金鑰 |4846| `apiKeyHelper` | 您的 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 命令傳回的金鑰 |

4777| `/login managed key` | 當您使用 [Claude Console 帳戶](/docs/zh-TW/authentication#claude-console-authentication) 登入時 Claude Code 儲存的金鑰 |4847| `/login managed key` | 當您使用 [Claude Console 帳戶](/docs/zh-TW/authentication#claude-console-authentication) 登入時,Claude Code 儲存的金鑰 |

4778| `none` | 沒有 API 金鑰。會話以其他方式進行身份驗證,例如 claude.ai 登入、持有人令牌或雲端提供者 |4848| `none` | 沒有 API 金鑰。工作階段以其他方式進行驗證,例如 claude.ai 登入、持有人令牌或雲端提供者 |

4779 4849 

4780Agent SDK v0.3.234 及更高版本在類型中列出這四個值。該類型也保留 `user`、`project`、`org`、`temporary` 和 `oauth`,以便舊代碼仍然可以編譯,Claude Code 不報告它們。4850Agent SDK v0.3.234 及更新版本在類型中列出這四個值。該類型也保留 `user`、`project`、`org`、`temporary` 和 `oauth`,以便舊程式碼仍能編譯,而 Claude Code 不報告它們。

4781 4851 

4782<h3 id="sdkbeta">4852<h3 id="sdkbeta">

4783 `SdkBeta`4853 `SdkBeta`

4784</h3>4854</h3>

4785 4855 

4786可通過 `betas` 選項啟用的可用測試功能。見 [Beta 標頭](https://platform.claude.com/docs/en/api/beta-headers) 了解更多資訊。4856可透過 `betas` 選項啟用的可用測試版功能。如需詳細資訊,請參閱 [Beta headers](https://platform.claude.com/docs/en/api/beta-headers)。

4787 4857 

4788```typescript theme={null}4858```typescript theme={null}

4789type SdkBeta = "context-1m-2025-08-07";4859type SdkBeta = "context-1m-2025-08-07";

4790```4860```

4791 4861 

4792<Warning>4862<Warning>

4793 `context-1m-2025-08-07` beta 自 2026 年 4 月 30 日起已停用。使用 Claude Sonnet 4.5 或 Sonnet 4 傳遞此值無效,超過標準 200k 令牌上下文視窗的請求返回錯誤。要使用 1M 令牌上下文視窗,請遷移到 [Claude Opus 5、Claude Sonnet 5、Claude Sonnet 4.6、Claude Opus 4.6、Claude Opus 4.7 或 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview),它們以標準定價包括 1M 上下文,無需 beta 標頭。4863 `context-1m-2025-08-07` 測試版自 2026 年 4 月 30 日起已停用。使用 Claude Sonnet 4.5 或 Sonnet 4 傳遞此值無效,超過標準 200k 令牌內容視窗的請求會傳回錯誤。若要使用 1M 令牌內容視窗,請遷移至 [Claude Opus 5、Claude Sonnet 5、Claude Sonnet 4.6、Claude Opus 4.6、Claude Opus 4.7 或 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview),這些模型在標準定價下包含 1M 內容,無需測試版標頭。

4794</Warning>4864</Warning>

4795 4865 

4796<h3 id="slashcommand">4866<h3 id="slashcommand">


4828};4898};

4829```4899```

4830 4900 

4831| 欄位 | 類型 | 描述 |4901| 欄位 | 類型 | 說明 |

4832| :------------------------- | :----------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |4902| :------------------------- | :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |

4833| `value` | `string` | 在 API 呼叫中傳遞的模型識別碼 |4903| `value` | `string` | 在 API 呼叫中傳遞的模型識別碼 |

4834| `resolvedModel` | `string \| undefined` | 此項目的 `value` 解析為的規範線路模型 ID。別名項目(如 `sonnet`)解析為明確的模型 ID(如 `claude-sonnet-5`),因此主機可以將儲存的明確模型 ID 與涵蓋它的別名項目進行匹配。需要 Claude Code v2.1.197 或更高版本。 |4904| `resolvedModel` | `string \| undefined` | 此項目的 `value` 解析為的規範線路模型 ID。別名項目(例如 `sonnet`)解析為明確的模型 ID(例如 `claude-sonnet-5`),因此主機可以將儲存的明確模型 ID 與涵蓋它的別名項目進行比對。需要 Claude Code v2.1.197 或更新版本。 |

4835| `displayName` | `string` | 人類可讀的顯示名稱 |4905| `displayName` | `string` | 人類可讀的顯示名稱 |

4836| `description` | `string` | 模型功能的描述 |4906| `description` | `string` | 模型功能的說明 |

4837| `supportsEffort` | `boolean \| undefined` | 此模型是否支援努力級別 |4907| `supportsEffort` | `boolean \| undefined` | 此模型是否支援工作量級別 |

4838| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | 此模型接受的努力級別 |4908| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | 此模型接受的工作量級別 |

4839| `supportsAdaptiveThinking` | `boolean \| undefined` | 此模型是否支援自適應思考,其中 Claude 決定何時以及多少推理 |4909| `supportsAdaptiveThinking` | `boolean \| undefined` | 此模型是否支援自適應思考,其中 Claude 決定何時以及思考多少 |

4840| `supportsFastMode` | `boolean \| undefined` | 此模型是否支援快速模式 |4910| `supportsFastMode` | `boolean \| undefined` | 此模型是否支援快速模式 |

4841| `supportsAutoMode` | `boolean \| undefined` | 此模型是否支援自動模式 |4911| `supportsAutoMode` | `boolean \| undefined` | 此模型是否支援自動模式 |

4842 4912 


4844 `AgentInfo`4914 `AgentInfo`

4845</h3>4915</h3>

4846 4916 

4847有關可通過 Agent 工具調用的可用子代理的資訊。4917有關可透過 Agent 工具叫用的可用子代理的資訊。

4848 4918 

4849```typescript theme={null}4919```typescript theme={null}

4850type AgentInfo = {4920type AgentInfo = {


4854};4924};

4855```4925```

4856 4926 

4857| 欄位 | 類型 | 描述 |4927| 欄位 | 類型 | 說明 |

4858| :------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------- |4928| :------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------ |

4859| `name` | `string` | 代理類型識別碼(例如,`"Explore"`、`"general-purpose"`) |4929| `name` | `string` | 代理類型識別碼(例如 `"Explore"`、`"general-purpose"`) |

4860| `description` | `string` | 何時使用此代理的描述 |4930| `description` | `string` | 何時使用此代理的說明 |

4861| `model` | `string \| undefined` | 此代理使用的模型:別名或模型 ID,或 `'inherit'` 表示父代理的模型。當它是 `undefined` 時,Claude Code 選擇 [子代理模型順序](/docs/zh-TW/sub-agents#choose-a-model) 中的模型 |4931| `model` | `string \| undefined` | 此代理使用的模型:別名或模型 ID,或 `'inherit'` 表示父代的模型。當為 `undefined` 時,Claude Code 會在 [子代理模型順序](/docs/zh-TW/sub-agents#choose-a-model) 中選擇模型 |

4932 

4933<h3 id="mcpserverprovenance">

4934 `McpServerProvenance`

4935</h3>

4936 

4937提供 `mcp__*` 工具的 MCP 伺服器,以及該伺服器定義的來源。[`PreToolUse`](#pretoolusehookinput)、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest` 和 `PermissionDenied` hook 輸入將其作為 `mcp_server` 攜帶,[`CanUseTool`](#canusetool) 選項將其作為 `mcpServer` 攜帶。對於不來自 MCP 伺服器的工具,兩者都省略它。

4938 

4939```typescript theme={null}

4940type McpServerProvenance = {

4941 name: string;

4942 source: string;

4943};

4944```

4945 

4946| 欄位 | 類型 | 說明 |

4947| :------- | :------- | :---------------------------------------------------------- |

4948| `name` | `string` | 伺服器註冊時使用的名稱,與 [`mcpServerStatus()`](#query-object) 為其報告的值相同 |

4949| `source` | `string` | 伺服器定義的來源:`sdk`、`plugin` 或設定範圍 |

4950 

4951`source` 採用以下值之一。該集合是開放的,因此將您不認識的值視為已設定的來源,絕不視為 `sdk`:

4952 

4953* **`sdk`**:您的應用程式註冊的進程內伺服器。只有 SDK 主機應用程式可以註冊一個,因此已設定的伺服器絕不報告 `sdk`,無論其名稱如何。

4954* **`plugin`**:[plugin](/docs/zh-TW/agent-sdk/plugins) 提供的伺服器。其 `name` 是 [plugin 提供的 MCP 伺服器](/docs/zh-TW/mcp#plugin-provided-mcp-servers) 下所述的範圍 `plugin:<plugin-name>:<server-name>` 形式。

4955* **設定範圍**:`user`、`project`、`local`、`dynamic`、`managed`、`enterprise`、`claudeai` 或 `agent`。`.mcp.json` 伺服器報告 `project`,[MCP 安裝範圍](/docs/zh-TW/mcp#mcp-installation-scopes) 定義 `local`、`project` 和 `user`。您的應用程式在 [`mcpServers` 選項](#options) 中傳遞的伺服器(除了進程內 SDK 伺服器外)報告 `dynamic`。

4956 

4957基於 `source` 而非 `name` 或 `mcp__<server>__` 工具名稱前綴做出信任決定。對於除 `sdk` 以外的任何來源,`name` 是不受信任的文字:在顯示前逸出它。

4958 

4959`McpServerProvenance` 和攜帶它的欄位需要 Agent SDK v0.3.274 或更新版本。

4862 4960 

4863<h3 id="mcpserverstatus">4961<h3 id="mcpserverstatus">

4864 `McpServerStatus`4962 `McpServerStatus`

4865</h3>4963</h3>

4866 4964 

4867連接的 MCP 伺服器的狀態。4965已連線 MCP 伺服器的狀態。

4868 4966 

4869```typescript theme={null}4967```typescript theme={null}

4870type McpServerStatus = {4968type McpServerStatus = {


4877 error?: string;4975 error?: string;

4878 config?: McpServerStatusConfig;4976 config?: McpServerStatusConfig;

4879 scope?: string;4977 scope?: string;

4978 source?: string;

4880 tools?: {4979 tools?: {

4881 name: string;4980 name: string;

4882 description?: string;4981 description?: string;


4889};4988};

4890```4989```

4891 4990 

4991`source` 說明伺服器定義的來源,具有與 [`McpServerProvenance`](#mcpserverprovenance) 的 `source` 相同的值和信任規則。該欄位需要 Agent SDK v0.3.274 或更新版本,在較早版本上不存在。

4992 

4892<h3 id="mcpserverstatusconfig">4993<h3 id="mcpserverstatusconfig">

4893 `McpServerStatusConfig`4994 `McpServerStatusConfig`

4894</h3>4995</h3>

4895 4996 

4896MCP 伺服器的設定,如 `mcpServerStatus()` 報告的那樣。這是所有 MCP 伺服器傳輸類型的聯合。4997由 `mcpServerStatus()` 報告的 MCP 伺服器的設定。這是所有 MCP 伺服器傳輸類型的聯合。

4897 4998 

4898```typescript theme={null}4999```typescript theme={null}

4899type McpServerStatusConfig =5000type McpServerStatusConfig =


4904 | McpClaudeAIProxyServerConfig;5005 | McpClaudeAIProxyServerConfig;

4905```5006```

4906 5007 

4907見 [`McpServerConfig`](#mcpserverconfig) 了解每種傳輸類型的詳情。5008如需每個傳輸類型的詳細資訊,請參閱 [`McpServerConfig`](#mcpserverconfig)。

4908 5009 

4909<h3 id="accountinfo">5010<h3 id="accountinfo">

4910 `AccountInfo`5011 `AccountInfo`

4911</h3>5012</h3>

4912 5013 

4913經過身份驗證的使用者的帳戶資訊。5014已驗證使用者的帳戶資訊。

4914 5015 

4915```typescript theme={null}5016```typescript theme={null}

4916type AccountInfo = {5017type AccountInfo = {


4926 `ModelUsage`5027 `ModelUsage`

4927</h3>5028</h3>

4928 5029 

4929結果消息中返回的每個模型使用統計。`costUSD` 值是客戶端估計。見 [追蹤成本和使用情況](/docs/zh-TW/agent-sdk/cost-tracking) 了解計費注意事項。5030結果訊息中傳回的每個模型使用統計資訊。`costUSD` 值是用戶端估計。如需計費注意事項,請參閱 [追蹤成本和使用](/docs/zh-TW/agent-sdk/cost-tracking)。

4930 5031 

4931```typescript theme={null}5032```typescript theme={null}

4932type ModelUsage = {5033type ModelUsage = {


4945};5046};

4946```5047```

4947 5048 

4948`thinkingTokens` 計算此模型生成的思考令牌。`outputTokens` 已包括它們,所以不要將兩者相加。該欄位在執行在記錄它的 Claude Code 版本上的轉數之前不存在,因此在較早版本上開始的已復原會話報告部分計數。`thinkingTokens` 需要 Agent SDK v0.3.257 或更高版本。5049`thinkingTokens` 計算此模型產生的思考令牌。`outputTokens` 已包含它們,因此不要將兩者相加。該欄位在輪次在記錄它的 Claude Code 版本上執行之前不存在,因此在較早版本上開始的已恢復工作階段會報告部分計數。`thinkingTokens` 需要 Agent SDK v0.3.257 或更新版本。

4949 5050 

4950`canonicalModel` 和 `provider` 欄位需要 Claude Code v2.1.218 或更高版本。`canonicalModel` 是定價查詢使用的規範模型 ID;它可能與鍵入項目的原始模型字串不同,例如當該字串是提供者特定 ID 或別名時。5051`canonicalModel` 和 `provider` 欄位需要 Claude Code v2.1.218 或更新版本。`canonicalModel` 是定價查詢使用的規範模型 ID;它可能與鍵入項目的原始模型字串不同,例如當該字串是提供者特定 ID 或別名時。

4951 5052 

4952`provider` 命名提供模型的 API 後端,例如 `firstParty`、`bedrock`、`vertex`、`foundry`、`anthropicAws`、`mantle` 或 `gateway`。5053`provider` 命名提供模型的 API 後端,例如 `firstParty`、`bedrock`、`vertex`、`foundry`、`anthropicAws`、`mantle` 或 `gateway`。

4953 5054 

4954`costBasis` 命名為模型最新請求定價的價格表:`list` 表示清單價格,`managed` 表示 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing) 表,或 `unknown` 當兩者都不符合模型 ID 時。該欄位需要 Claude Code v2.1.246 或更高版本。5055`costBasis` 命名為模型最新請求定價的價格表:`list` 表示清單價格,`managed` 表示 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing) 表,或 `unknown` 表示模型 ID 都不符合時。該欄位需要 Claude Code v2.1.246 或更新版本。

4955 5056 

4956<h3 id="configscope">5057<h3 id="configscope">

4957 `ConfigScope`5058 `ConfigScope`


4965 `NonNullableUsage`5066 `NonNullableUsage`

4966</h3>5067</h3>

4967 5068 

4968[`Usage`](#usage) 的版本,所有可空欄位都變為非可空。5069[`Usage`](#usage) 的版本,所有可為空的欄位都變為不可為空。

4969 5070 

4970```typescript theme={null}5071```typescript theme={null}

4971type NonNullableUsage = {5072type NonNullableUsage = {


4977 `Usage`5078 `Usage`

4978</h3>5079</h3>

4979 5080 

4980令牌使用統計。這是來自 `@anthropic-ai/sdk` 的 `BetaUsage` 類型。5081令牌使用統計資訊。這是來自 `@anthropic-ai/sdk` 的 `BetaUsage` 類型。

4981 5082 

4982```typescript theme={null}5083```typescript theme={null}

4983type Usage = {5084type Usage = {


5000 5101 

5001`BetaServerToolUsage`、`BetaIterationsUsage` 和 `BetaOutputTokensDetails` 在 `@anthropic-ai/sdk` 中定義。5102`BetaServerToolUsage`、`BetaIterationsUsage` 和 `BetaOutputTokensDetails` 在 `@anthropic-ai/sdk` 中定義。

5002 5103 

5003`output_tokens_details` 按類別分解計費輸出。它目前包含一個欄位 `thinking_tokens: number`,計算模型生成的輸出令牌作為內部推理,包括思考塊分隔符。`output_tokens_details` 欄位需要 TypeScript SDK v0.3.228 或更高版本,它捆綁 Claude Code v2.1.228。5104`output_tokens_details` 按類別分解計費輸出。它目前攜帶一個欄位 `thinking_tokens: number`,計算模型產生的輸出令牌作為內部推理,包括思考區塊分隔符。`output_tokens_details` 欄位需要 TypeScript SDK v0.3.228 或更新版本,該版本捆綁 Claude Code v2.1.228。

5004 5105 

5005* **計費**:讀取分解以進行可觀測性,而不是計費。`output_tokens` 保持權威總計,`output_tokens - thinking_tokens` 近似非推理輸出。5106* **計費**:讀取分解以進行可觀測性,而非計費。`output_tokens` 保持為權威總計,`output_tokens - thinking_tokens` 近似非推理輸出。

5006* **計數涵蓋的內容**:模型生成的原始推理,可能比響應正文中返回的思考文本更長。API 通過重新令牌化該原始文本來計算它,因此它可能與模型的確切生成計數相差幾個令牌。5107* **計數涵蓋的內容**:模型產生的原始推理,可能比回應正文中傳回的思考文字更長。API 透過重新令牌化該原始文字來計算它,因此它可能與模型的確切生成計數相差幾個令牌。

5007* **串流**:在串流助手消息上,此分解(如 `output_tokens`)是 `message_start` 佔位符,不包含實際計數,因此從結果消息的 `usage` 讀取它,如 [從結果消息讀取輸出令牌](/docs/zh-TW/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message) 所述。在結果消息上,當模型或提供者不報告分解時,`thinking_tokens` 讀取 `0`。5108* **串流**:在串流助手訊息上,此分解(如 `output_tokens`)是 `message_start` 預留位置,不攜帶實際計數,因此從結果訊息的 `usage` 讀取它,如 [從結果訊息讀取輸出令牌](/docs/zh-TW/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message) 所述。在結果訊息上,當模型或提供者不報告分解時,`thinking_tokens` 讀取 `0`。

5008* **`null` 情況**:`output_tokens_details` 本身在 Claude Code 合成的助手消息上為 `null`,例如 API 錯誤消息。5109* **`null` 情況**:`output_tokens_details` 本身在 Claude Code 合成的助手訊息上為 `null`,例如 API 錯誤訊息。

5009 5110 

5010<h3 id="calltoolresult">5111<h3 id="calltoolresult">

5011 `CallToolResult`5112 `CallToolResult`

5012</h3>5113</h3>

5013 5114 

5014MCP 工具結果類型(來自 `@modelcontextprotocol/sdk/types.js`)。`structuredContent` 是一個 JSON 物件,可以與 `content` 一起返回,包括圖像塊。見 [返回結構化資料](/docs/zh-TW/agent-sdk/custom-tools#return-structured-data)。5115MCP 工具結果類型(來自 `@modelcontextprotocol/sdk/types.js`)。`structuredContent` 是可與 `content` 一起傳回的 JSON 物件,包括影像區塊。請參閱 [傳回結構化資料](/docs/zh-TW/agent-sdk/custom-tools#return-structured-data)。

5015 5116 

5016```typescript theme={null}5117```typescript theme={null}

5017type CallToolResult = {5118type CallToolResult = {


5028 `SDKMcpResourceLink`5129 `SDKMcpResourceLink`

5029</h3>5130</h3>

5030 5131 

5031MCP 工具按參考返回的一個檔案。Claude Code 從工具結果中的 `resource_link` 塊構建每個項目,並將清單作為 `resourceLinks` 傳遞到 [`SDKUserMessage.tool_use_result`](#sdkusermessage),或作為 `resource_links` 傳遞到 [`SDKTaskNotificationMessage`](#sdktasknotificationmessage)(當呼叫在背景中完成時)。需要 Agent SDK v0.3.257 或更高版本。5132MCP 工具透過參考傳回的一個檔案。Claude Code 從工具結果中的 `resource_link` 區塊建立每個項目,並將清單作為 [`SDKUserMessage.tool_use_result`](#sdkusermessage) 上的 `resourceLinks` 傳遞,或在呼叫在背景完成時作為 [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) 上的 `resource_links` 傳遞。需要 Agent SDK v0.3.257 或更新版本。

5032 5133 

5033```typescript theme={null}5134```typescript theme={null}

5034type SDKMcpResourceLink = {5135type SDKMcpResourceLink = {


5042};5143};

5043```5144```

5044 5145 

5045Claude Code 丟棄其 `uri` 或 `name` 不是字串的塊,並省略其值不是列出類型的可選欄位。5146Claude Code 會捨棄 `uri` 或 `name` 不是字串的區塊,並省略其值不是列出類型的可選欄位。

5046 5147 

5047| 欄位 | 類型 | 描述 |5148| 欄位 | 類型 | 說明 |

5048| :------------ | :------------------------------------- | :------------------ |5149| :------------ | :------------------------------------- | :------------------- |

5049| `uri` | `string` | 資源的 URI,如伺服器返回的那樣 |5150| `uri` | `string` | 資源的 URI,如伺服器傳回的 |

5050| `name` | `string` | 伺服器給資源的名稱 |5151| `name` | `string` | 伺服器給予資源的名稱 |

5051| `title` | `string \| undefined` | 顯示標題,當伺服器設定時 |5152| `title` | `string \| undefined` | 顯示標題,當伺服器設定時 |

5052| `description` | `string \| undefined` | 描述,當伺服器設定時 |5153| `description` | `string \| undefined` | 說明,當伺服器設定時 |

5053| `mimeType` | `string \| undefined` | MIME 類型,當伺服器設定時 |5154| `mimeType` | `string \| undefined` | MIME 類型,當伺服器設定時 |

5054| `size` | `number \| undefined` | 大小(以位元組為單位),當伺服器設定時 |5155| `size` | `number \| undefined` | 大小(以位元組為單位),當伺服器設定時 |

5055| `annotations` | `Record<string, unknown> \| undefined` | 塊的 MCP 註解物件,當伺服器設定時 |5156| `annotations` | `Record<string, unknown> \| undefined` | 區塊的 MCP 註解物件,當伺服器設定時 |

5056 5157 

5057<h3 id="thinkingconfig">5158<h3 id="thinkingconfig">

5058 `ThinkingConfig`5159 `ThinkingConfig`


5064type ThinkingDisplay = "summarized" | "omitted";5165type ThinkingDisplay = "summarized" | "omitted";

5065 5166 

5066type ThinkingConfig =5167type ThinkingConfig =

5067 | { type: "adaptive"; display?: ThinkingDisplay } // 模型決定何時以及多少推理(Opus 4.6+)5168 | { type: "adaptive"; display?: ThinkingDisplay } // 模型決定何時以及思考多少(Opus 4.6+)

5068 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // 固定思考令牌預算5169 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // 固定思考令牌預算

5069 | { type: "disabled" }; // 無擴展思考5170 | { type: "disabled" }; // 無擴展思考

5070```5171```

5071 5172 

5072可選的 `display` 欄位控制思考文本是否返回為 `"summarized"` 或 `"omitted"`。在 Claude Opus 4.7 及更高版本上,API 預設值為 `"omitted"`,因此設定 `"summarized"` 以在 `thinking` 塊中接收思考內容。Claude Code 不會將 `display` 傳送到 Amazon Bedrock 或 Google Cloud 的 Agent Platform,因此在這些提供者上 Opus 4.7 及更高版本返回空 `thinking` 塊,即使您將 `display` 設定為 `"summarized"`。5173可選的 `display` 欄位控制思考文字是否以 `"summarized"` 或 `"omitted"` 傳回。在 Claude Opus 4.7 及更新版本上,API 預設為 `"omitted"`,因此設定 `"summarized"` 以在 `thinking` 區塊中接收思考內容。Claude Code 不會將 `display` 傳送至 Amazon Bedrock 或 Google Cloud 的 Agent Platform,因此在這些提供者上,Opus 4.7 及更新版本即使在您將 `display` 設定為 `"summarized"` 時也會傳回空 `thinking` 區塊。

5073 5174 

5074<h3 id="spawnedprocess">5175<h3 id="spawnedprocess">

5075 `SpawnedProcess`5176 `SpawnedProcess`

5076</h3>5177</h3>

5077 5178 

5078自訂進程生成的介面(與 `spawnClaudeCodeProcess` 選項一起使用)。`ChildProcess` 已滿足此介面。5179自訂程序生成的介面(與 `spawnClaudeCodeProcess` 選項搭配使用)。`ChildProcess` 已滿足此介面。

5079 5180 

5080```typescript theme={null}5181```typescript theme={null}

5081interface SpawnedProcess {5182interface SpawnedProcess {


5106 `SpawnOptions`5207 `SpawnOptions`

5107</h3>5208</h3>

5108 5209 

5109傳遞給自訂生成函數的選項。5210傳遞至自訂生成函式的選項。

5110 5211 

5111```typescript theme={null}5212```typescript theme={null}

5112interface SpawnOptions {5213interface SpawnOptions {


5119```5220```

5120 5221 

5121<Note>5222<Note>

5122 `signal` 欄位告訴您的生成函數何時拆除進程。將其作為 `signal` 選項傳遞給 Node 的 `spawn()`,或將其傳遞給您的 VM 或容器拆除處理程序。5223 `signal` 欄位告訴您的生成函式何時拆除程序。將其作為 `signal` 選項傳遞至 Node 的 `spawn()`,或將其傳遞至您的 VM 或容器拆除處理程式。

5123 5224 

5124 此信號不會在 [`Options.abortController`](#options) 中止的瞬間觸發。SDK 首先關閉進程的 stdin 並等待約兩秒,以便 CLI 可以乾淨地關閉,然後中止此信號。要在呼叫者中止的瞬間做出反應,請改為監聽您自己的 `Options.abortController.signal`,您的生成函數可以從其封閉範圍參考。5225 此信號不會在 [`Options.abortController`](#options) 中止時立即觸發。SDK 首先關閉程序的 stdin 並等待約兩秒,以便 CLI 可以乾淨地關閉,然後中止此信號。若要在呼叫者中止時立即做出反應,請在您自己的 `Options.abortController.signal` 上監聽,您的生成函式可以從其封閉範圍參考。

5125</Note>5226</Note>

5126 5227 

5127<h3 id="mcpsetserversresult">5228<h3 id="mcpsetserversresult">


5140 5241 

5141當您呼叫 `setMcpServers()` 時,Claude Code 應用這些規則:5242當您呼叫 `setMcpServers()` 時,Claude Code 應用這些規則:

5142 5243 

5143* **呼叫未命名的伺服器**:Claude Code 保持外掛提供的伺服器運行。需要 Agent SDK v0.3.210 或更高版本。5244* **呼叫未命名的伺服器**:Claude Code 保持 plugin 提供的伺服器執行。需要 Agent SDK v0.3.210 或更新版本。

5144* **呼叫命名的伺服器**:除了 CLI 在啟動時啟動的內建伺服器外,Claude Code 僅當其設定與您傳遞的設定不同時才替換運行中的伺服器。5245* **呼叫命名的伺服器**:除了 CLI 在啟動時啟動的內建伺服器外,Claude Code 只在其設定與您傳遞的設定不同時才替換執行中的伺服器。

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

5146 5247 

5147承諾在新添加的 stdio、HTTP 和 SSE 伺服器連接或失敗後解決,因此來自已連接伺服器的工具在下一個轉數上可用。5248承諾在新增的 stdio、HTTP 和 SSE 伺服器連線或失敗後解決,因此來自已連線伺服器的工具在下一輪可用。

5148 5249 

5149`added` 列出 Claude Code 添加或替換的伺服器,無論它們是否連接。未能連接的伺服器同時出現在 `added` 和 `errors` 中,失敗文本在 `errors` 下,`failed` 行在 [`mcpServerStatus()`](#methods) 中。在 Claude Code v2.1.257 之前,其連接嘗試拋出的伺服器僅在 `errors` 下報告。5250`added` 列出 Claude Code 新增或替換的伺服器,無論它們是否連線。未能連線的伺服器同時出現在 `added` 和 `errors` 中,失敗文字在 `errors` 下,`failed` 列在 [`mcpServerStatus()`](#methods) 中。在 Claude Code v2.1.257 之前,連線嘗試拋出的伺服器僅在 `errors` 下報告。

5150 5251 

5151<h3 id="rewindfilesresult">5252<h3 id="rewindfilesresult">

5152 `RewindFilesResult`5253 `RewindFilesResult`


5165};5266};

5166```5267```

5167 5268 

5168`skippedLinks` 計算倒帶拒絕復原或刪除以確保連結安全的追蹤路徑:追蹤路徑上的符號連結、硬連結或其他非常規檔案,不再解析為檢查點時指向的位置的父目錄,或無法安全讀取的備份。該欄位需要 Claude Code v2.1.216 或更高版本。使用 `rewindFiles(userMessageId, { dryRun: true })` 的預覽呼叫永遠不會設定它。5269`skippedLinks` 計算倒帶拒絕恢復或刪除以確保連結安全的追蹤路徑:追蹤路徑上的符號連結、硬連結或其他非常規檔案,不再解析為檢查點建立時指向的位置的父目錄,或無法安全讀取的備份。該欄位需要 Claude Code v2.1.216 或更新版本。使用 `rewindFiles(userMessageId, { dryRun: true })` 的預覽呼叫永遠不會設定它。

5169 5270 

5170<h3 id="sdkstatusmessage">5271<h3 id="sdkstatusmessage">

5171 `SDKStatusMessage`5272 `SDKStatusMessage`

5172</h3>5273</h3>

5173 5274 

5174狀態更新消息(例如,壓縮)。5275狀態更新訊息(例如壓縮)。

5175 5276 

5176```typescript theme={null}5277```typescript theme={null}

5177type SDKStatusMessage = {5278type SDKStatusMessage = {


5188 `SDKTaskNotificationMessage`5289 `SDKTaskNotificationMessage`

5189</h3>5290</h3>

5190 5291 

5191背景任務完成、失敗或停止時的通知。背景任務包括 `run_in_background` Bash 命令、[Monitor](#monitor) 監視和背景子代理。對於 `ambient` 欄位,見 [`SDKTaskStartedMessage`](#sdktaskstartedmessage),它定義它及其版本要求。5292背景工作完成、失敗或停止時的通知。背景工作包括 `run_in_background` Bash 命令、[Monitor](#monitor) 監視和背景子代理。如需 `ambient` 欄位,請參閱 [`SDKTaskStartedMessage`](#sdktaskstartedmessage),它定義它及其版本要求。

5192 5293 

5193```typescript theme={null}5294```typescript theme={null}

5194type SDKTaskNotificationMessage = {5295type SDKTaskNotificationMessage = {


5211};5312};

5212```5313```

5213 5314 

5214當 Claude Code [將長 MCP 工具呼叫移至背景](/docs/zh-TW/mcp#automatic-backgrounding-of-long-tool-calls) 時,該呼叫的 `tool_result` 塊僅保留佔位符,呼叫的實際結果在此通知中到達。使用 `tool_use_id` 將通知與呼叫匹配。在 `completed` 通知上,`resource_links` 列出工具按參考返回的檔案作為 [`SDKMcpResourceLink`](#sdkmcpresourcelink) 項目,具有與 [`tool_use_result.resourceLinks`](#sdkusermessage) 相同的 50 連結和 64 KiB 限制。Claude Code 在結果沒有連結時省略 `resource_links`,以及在不是 MCP 工具呼叫的任務通知上。`resource_links` 需要 Agent SDK v0.3.257 或更高版本。5315當 Claude Code [將長 MCP 工具呼叫移至背景](/docs/zh-TW/mcp#automatic-backgrounding-of-long-tool-calls) 時,該呼叫的 `tool_result` 區塊僅保留預留位置,呼叫的實際結果在此通知中到達。使用 `tool_use_id` 將通知與呼叫進行比對。在 `completed` 通知上,`resource_links` 列出工具作為 [`SDKMcpResourceLink`](#sdkmcpresourcelink) 項目透過參考傳回的檔案,具有與 [`tool_use_result.resourceLinks`](#sdkusermessage) 相同的 50 連結和 64 KiB 限制。Claude Code 在結果沒有連結時省略 `resource_links`,以及在不是 MCP 工具呼叫的工作通知上。`resource_links` 需要 Agent SDK v0.3.257 或更新版本。

5215 5316 

5216Claude Code 在發送給模型的每個任務通知前面加上通知,除了帶有 [`scheduled-trigger` 子類型](#task-notification-subkinds) 戳記的傳遞外,它們改為帶有指派任務框架。通知指出沒有發生人類輸入,因此模型不會將通知視為使用者指令或批准。5317Claude Code 在傳送給模型的每個工作通知前面加上通知,除了帶有 [`scheduled-trigger` 子類型](#task-notification-subkinds) 戳記的傳遞外,它們改為攜帶指派工作框架。通知指出沒有發生人類輸入,因此模型不會將通知視為使用者指令或批准。

5217 5318 

5218要檢測任務通知轉數,請檢查 [`SDKUserMessage`](#sdkusermessage) 或 [`SDKResultMessage`](#sdkresultmessage) 上的 `origin.kind === "task-notification"`,而不是匹配通知文本。如果您需要知道引發它的內容,請從同一欄位讀取 `subkind`。在 v2.1.205 之前,Claude Code 在會話閒置時到達的通知上留下通知。5319若要偵測工作通知輪次,請在 [`SDKUserMessage`](#sdkusermessage) 或 [`SDKResultMessage`](#sdkresultmessage) 上檢查 `origin.kind === "task-notification"`,而不是在通知文字上進行比對。如果您需要知道引發它的內容,請從同一欄位讀取 `subkind`。在 v2.1.205 之前,Claude Code 在工作階段閒置時到達的通知上省略通知。

5219 5320 

5220<h3 id="sdktoolusesummarymessage">5321<h3 id="sdktoolusesummarymessage">

5221 `SDKToolUseSummaryMessage`5322 `SDKToolUseSummaryMessage`


5237 `SDKHookStartedMessage`5338 `SDKHookStartedMessage`

5238</h3>5339</h3>

5239 5340 

5240Hook 開始執行時發出。5341在 hook 開始執行時發出。

5241 5342 

5242Claude Code 將此消息、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage) 立即傳遞到消息流,包括在會話啟動期間 `SessionStart` 或 `Setup` hook 仍在運行時。Claude Code v2.1.169 至 v2.1.203 在 `SessionStart` 或 `Setup` hook 完成後以一個批次傳遞這些消息;v2.1.204 復原了實時傳遞。5343Claude Code 將此訊息、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage) 立即傳遞至訊息串流,包括在工作階段啟動期間 `SessionStart` 或 `Setup` hook 仍在執行時。Claude Code v2.1.169 至 v2.1.203 在 `SessionStart` 或 `Setup` hook 完成後以一個批次傳遞這些訊息;v2.1.204 恢復了即時傳遞。

5243 5344 

5244```typescript theme={null}5345```typescript theme={null}

5245type SDKHookStartedMessage = {5346type SDKHookStartedMessage = {


5257 `SDKHookProgressMessage`5358 `SDKHookProgressMessage`

5258</h3>5359</h3>

5259 5360 

5260Hook 運行時發出,帶有 stdout/stderr 輸出。5361在 hook 執行時發出,帶有 stdout/stderr 輸出。

5261 5362 

5262```typescript theme={null}5363```typescript theme={null}

5263type SDKHookProgressMessage = {5364type SDKHookProgressMessage = {


5278 `SDKHookResponseMessage`5379 `SDKHookResponseMessage`

5279</h3>5380</h3>

5280 5381 

5281Hook 完成執行時發出。5382在 hook 完成執行時發出。

5282 5383 

5283```typescript theme={null}5384```typescript theme={null}

5284type SDKHookResponseMessage = {5385type SDKHookResponseMessage = {


5301 `SDKToolProgressMessage`5402 `SDKToolProgressMessage`

5302</h3>5403</h3>

5303 5404 

5304工具執行時定期發出,以指示進度。5405在工具執行時定期發出,以指示進度。

5305 5406 

5306```typescript theme={null}5407```typescript theme={null}

5307type SDKToolProgressMessage = {5408type SDKToolProgressMessage = {


5326};5427};

5327```5428```

5328 5429 

5329當工具呼叫在主對話中運行時,Claude Code 每 30 秒發出一個 `tool_progress` 消息,帶有 `heartbeat: true`。每個心跳攜帶工具名稱和經過的秒數,因此您可以區分長時間運行的呼叫與停滯的會話。Claude Code 不為子代理內的工具呼叫發出心跳。`heartbeat` 欄位需要 Agent SDK v0.3.214 或更高版本。在 v2.1.257 之前,Claude Code 也不為前景 Agent 工具呼叫發出心跳。5430當工具呼叫在主對話中執行時,Claude Code 每 30 秒發出一個 `tool_progress` 訊息,帶有 `heartbeat: true`。每個心跳攜帶工具名稱和經過的秒數,因此您可以區分長執行呼叫和停滯工作階段。Claude Code 不為子代理內的工具呼叫發出心跳。`heartbeat` 欄位需要 Agent SDK v0.3.214 或更新版本。在 v2.1.257 之前,Claude Code 也不為前景 Agent 工具呼叫發出心跳。

5330 5431 

5331在 Agent 工具的 `tool_progress` 消息上(除了心跳外),`subagent_type` 命名運行中的子代理類型,例如 `general-purpose`。`subagent_retry` 在該子代理等待 API 錯誤退避時出現,例如速率限制或過載,每個重試嘗試一個消息。兩個欄位都需要 Agent SDK v0.3.214 或更高版本。5432在除心跳外的 Agent 工具的 `tool_progress` 訊息上,`subagent_type` 命名執行中的子代理類型,例如 `general-purpose`。`subagent_retry` 在該子代理等待 API 錯誤退避(例如速率限制或過載)時存在,每次重試嘗試一個訊息。兩個欄位都需要 Agent SDK v0.3.214 或更新版本。

5332 5433 

5333要從 `subagent_retry` 呈現重試指示器:5434若要從 `subagent_retry` 呈現重試指示器:

5334 5435 

5335* 按 `parent_tool_use_id` 追蹤指示器,它對每個子代理是唯一的。`tool_use_id` 由一個助手轉數的平行子代理共享,因此按它追蹤會讓一個子代理的更新清除另一個的指示器。5436* 按 `parent_tool_use_id` 追蹤指示器,它對每個子代理是唯一的。`tool_use_id` 由來自一個助手輪次的平行子代理共享,因此按它追蹤會讓一個子代理的更新清除另一個的指示器。

5336* 當同一 `parent_tool_use_id` 的稍後 `tool_progress` 到達時清除指示器,既不帶 `subagent_retry` 也不帶 `heartbeat: true`,或當工具的結果消息到達時。帶 `heartbeat: true` 的幀僅報告活躍性,因此當一個到達時保持指示器。`attempt` 可能在持續重試下超過 `max_retries`,因此不要從計數器派生清除。5437* 當同一 `parent_tool_use_id` 的稍後 `tool_progress` 到達時清除指示器,既不帶 `subagent_retry` 也不帶 `heartbeat: true`,或當工具的結果訊息到達時。帶 `heartbeat: true` 的框架僅報告活躍性,因此在一個到達時保持指示器。`attempt` 可能在持續重試下超過 `max_retries`,因此不要從計數器衍生清除。

5337* 將 `error_category` 視為選擇您自己的消息文本的令牌,而不是顯示文本。值為 `rate_limit`、`overloaded`、`authentication_failed`、`server_error`、`cloud_credential_error` 和 `unknown`。處理您不認識的值的方式與處理 `unknown` 的方式相同,因為稍後的版本可以添加值。5438* 將 `error_category` 視為選擇您自己訊息文字的令牌,而非顯示文字。值為 `rate_limit`、`overloaded`、`authentication_failed`、`server_error`、`cloud_credential_error` 和 `unknown`。處理您不認識的值的方式與處理 `unknown` 的方式相同,因為稍後的版本可以新增值。

5338 5439 

5339<h3 id="sdkauthstatusmessage">5440<h3 id="sdkauthstatusmessage">

5340 `SDKAuthStatusMessage`5441 `SDKAuthStatusMessage`

5341</h3>5442</h3>

5342 5443 

5343在身份驗證流程中發出。5444在驗證流程期間發出。

5344 5445 

5345```typescript theme={null}5446```typescript theme={null}

5346type SDKAuthStatusMessage = {5447type SDKAuthStatusMessage = {


5357 `SDKTaskStartedMessage`5458 `SDKTaskStartedMessage`

5358</h3>5459</h3>

5359 5460 

5360任務開始時發出。`task_type` 欄位是 `"local_bash"` 用於 Bash 命令和 [Monitor](#monitor) 監視,`"local_agent"` 用於子代理,或 `"remote_agent"`。5461在工作開始時發出。`task_type` 欄位對 Bash 命令和 [Monitor](#monitor) 監視為 `"local_bash"`,對子代理為 `"local_agent"`,或 `"remote_agent"`。

5361 5462 

5362```typescript theme={null}5463```typescript theme={null}

5363type SDKTaskStartedMessage = {5464type SDKTaskStartedMessage = {


5375};5476};

5376```5477```

5377 5478 

5378`ambient` 對於不是會話工作一部分的任務為 `true`,例如 Claude Code 為其自身操作運行的任務。實時更新監視器也是環境的,包括使用者要求的監視器。從活動指示器中排除環境任務。該欄位需要 Agent SDK v0.3.247 或更高版本。5479`ambient` 對不是工作階段工作一部分的工作為 `true`,例如 Claude Code 為其自身操作執行的工作。即時更新監視器也是環境的,包括使用者要求的監視器。從活動指示器中排除環境工作。該欄位需要 Agent SDK v0.3.247 或更新版本。

5379 5480 

5380`ambient` 也出現在 [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) 和 [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) 項目上。5481`ambient` 也出現在 [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) 和 [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) 項目上。

5381 5482 

5382`is_backgrounded` 和 `spawn_depth` 描述 Claude Code 如何啟動任務。兩個欄位都需要 Agent SDK v0.3.238 或更高版本。5483`is_backgrounded` 和 `spawn_depth` 描述 Claude Code 如何啟動工作。兩個欄位都需要 Agent SDK v0.3.238 或更新版本。

5383 5484 

5384* `is_backgrounded`:Claude Code 在 `"local_agent"` 和 `"local_bash"` 任務上設定它。`true` 表示任務在背景中運行。`false` 表示任務在前景中運行,啟動它的工具呼叫保持阻止,直到任務完成或移至背景。5485* `is_backgrounded`:Claude Code 在 `"local_agent"` 和 `"local_bash"` 工作上設定它。`true` 表示工作在背景執行。`false` 表示工作在前景執行,啟動它的工具呼叫保持阻止,直到工作完成或移至背景。

5385* `spawn_depth`:Claude Code 僅在 `"local_agent"` 任務上設定它。主線程生成的子代理的深度為 `1`。深度 `1` 子代理生成的子代理的深度為 `2`,以此類推。5486* `spawn_depth`:Claude Code 僅在 `"local_agent"` 工作上設定它。主執行緒生成的子代理的深度為 `1`。深度 `1` 子代理生成的子代理的深度為 `2`,以此類推。

5386 5487 

5387[已復原的子代理](/docs/zh-TW/agent-sdk/subagents#resume-subagents) 始終報告 `is_backgrounded: true`,因為 Claude Code 在背景中運行每個已復原的子代理。當前景任務稍後移至背景時,Claude Code 在 [`task_updated`](#sdktaskupdatedmessage) 消息中報告新的 `is_backgrounded` 值,而不是發送第二個 `task_started`。5488[已恢復的子代理](/docs/zh-TW/agent-sdk/subagents#resume-subagents) 始終報告 `is_backgrounded: true`,因為 Claude Code 在背景執行每個已恢復的子代理。當前景工作稍後移至背景時,Claude Code 在 [`task_updated`](#sdktaskupdatedmessage) 訊息中報告新的 `is_backgrounded` 值,而不是傳送第二個 `task_started`。

5388 5489 

5389<h3 id="sdktaskprogressmessage">5490<h3 id="sdktaskprogressmessage">

5390 `SDKTaskProgressMessage`5491 `SDKTaskProgressMessage`

5391</h3>5492</h3>

5392 5493 

5393子代理或背景任務運行時定期發出。`summary` 欄位僅在啟用 [`agentProgressSummaries`](#options) 時填充。5494在子代理或背景工作執行時定期發出。`summary` 欄位僅在啟用 [`agentProgressSummaries`](#options) 時填入。

5394 5495 

5395```typescript theme={null}5496```typescript theme={null}

5396type SDKTaskProgressMessage = {5497type SDKTaskProgressMessage = {


5416 `SDKTaskUpdatedMessage`5517 `SDKTaskUpdatedMessage`

5417</h3>5518</h3>

5418 5519 

5419背景任務的狀態發生變化時發出,例如當它從 `running` 轉換為 `completed` 時。將 `patch` 合併到按 `task_id` 鍵入的本地任務映射中。`end_time` 欄位是 Unix 紀元時間戳(以毫秒為單位),可與 `Date.now()` 比較。5520在背景工作的狀態變更時發出,例如當它從 `running` 轉換為 `completed` 時。將 `patch` 合併到按 `task_id` 鍵入的本機工作地圖中。`end_time` 欄位是 Unix 紀元時間戳記(以毫秒為單位),可與 `Date.now()` 比較。

5420 5521 

5421```typescript theme={null}5522```typescript theme={null}

5422type SDKTaskUpdatedMessage = {5523type SDKTaskUpdatedMessage = {


5440 `SDKBackgroundTasksChangedMessage`5541 `SDKBackgroundTasksChangedMessage`

5441</h3>5542</h3>

5442 5543 

5443每當實時背景任務集合發生變化時發出:任務啟動、完成、被殺死,前景代理被背景化,或任務的 `description` 或 `ambient` 欄位發生變化。5544每當即時背景工作集變更時發出:工作啟動、完成、被殺死、前景代理被背景化,或工作的 `description` 或 `ambient` 欄位變更。

5444 5545 

5445`tasks` 陣列是完整的實時集合。用每個有效負載替換任何緩存的集合,而不是配對 `task_started` 和 `task_notification` 事件,以便下一個成員資格變化更正您可能錯過的任何事件。5546`tasks` 陣列是完整的即時集。用每個承載替換任何快取集,而不是配對 `task_started` 和 `task_notification` 事件,因此下一個成員資格變更會更正您可能遺漏的任何事件。

5446 5547 

5447相對於這些每個任務事件的順序是未指定的,因此不要關聯這兩個流。5548相對於這些每個工作事件的順序未指定,因此不要關聯兩個串流。

5448 5549 

5449啟動時不發出任何內容。每當會話的 CLI 進程啟動或重新啟動時重置為空集,並讓下一個成員資格變化重新填充它。5550啟動時不發出任何內容。每當工作階段的 CLI 程序啟動或重新啟動時重設為空集,並讓下一個成員資格變更重新填入它。

5450 5551 

5451當您向運行中的會話發送重複的 `initialize` 控制請求時,例如在傳輸間隙後使用 [`reinitialize()`](#query-object),Claude Code 在響應後跟隨當前實時集合的快照,即使它是空的。因此,重新連接的主機可以了解正在運行的內容,而無需等待下一個成員資格變化。在 Agent SDK v0.3.239 之前,Claude Code 在重複 `initialize` 後沒有發送快照。5552當您向執行中的工作階段傳送重複的 `initialize` 控制請求時,例如在傳輸間隙後使用 [`reinitialize()`](#query-object),Claude Code 在回應後跟著目前即時集的快照,即使它是空的。因此重新連線的主機可以了解執行中的內容,而無需等待下一個成員資格變更。在 Agent SDK v0.3.239 之前,Claude Code 在重複 `initialize` 後沒有傳送快照。

5452 5553 

5453需要 Claude Code v2.1.203 或更高版本。5554需要 Claude Code v2.1.203 或更新版本。

5454 5555 

5455```typescript theme={null}5556```typescript theme={null}

5456type SDKBackgroundTasksChangedMessage = {5557type SDKBackgroundTasksChangedMessage = {


5471 `SDKThinkingTokensMessage`5572 `SDKThinkingTokensMessage`

5472</h3>5573</h3>

5473 5574 

5474在 Claude 生成思考塊時發出,包括編輯過的思考塊。`estimated_tokens` 是目前在當前塊中生成的思考令牌的運行估計,`estimated_tokens_delta` 是此幀攜帶的增量。將這些估計用於進度顯示。5575在 Claude 產生思考區塊時發出,包括編輯過的區塊。`estimated_tokens` 是目前區塊中迄今為止產生的思考令牌的執行估計,`estimated_tokens_delta` 是此框架攜帶的增量。使用這些估計進行進度顯示。

5475 5576 

5476當模型或提供者報告分解時,頂級代理循環的最終計數是結果消息的 [`usage.output_tokens_details.thinking_tokens`](#usage),它[不包括子代理令牌](/docs/zh-TW/agent-sdk/cost-tracking#get-the-total-cost-of-a-query)。5577當模型或提供者報告分解時,頂級代理迴圈的最終計數是結果訊息的 [`usage.output_tokens_details.thinking_tokens`](#usage),[不包括子代理令牌](/docs/zh-TW/agent-sdk/cost-tracking#get-the-total-cost-of-a-query)。

5477 5578 

5478需要 Claude Code v2.1.153 或更高版本。5579需要 Claude Code v2.1.153 或更新版本。

5479 5580 

5480```typescript theme={null}5581```typescript theme={null}

5481type SDKThinkingTokensMessage = {5582type SDKThinkingTokensMessage = {


5493 `SDKFilesPersistedEvent`5594 `SDKFilesPersistedEvent`

5494</h3>5595</h3>

5495 5596 

5496檔案檢查點持久化到磁碟時發出。5597在檔案檢查點持久化至磁碟時發出。

5497 5598 

5498```typescript theme={null}5599```typescript theme={null}

5499type SDKFilesPersistedEvent = {5600type SDKFilesPersistedEvent = {


5511 `SDKRateLimitEvent`5612 `SDKRateLimitEvent`

5512</h3>5613</h3>

5513 5614 

5514會話遇到速率限制時發出。5615當工作階段遇到速率限制時發出。

5515 5616 

5516```typescript theme={null}5617```typescript theme={null}

5517type SDKRateLimitEvent = {5618type SDKRateLimitEvent = {


5529};5630};

5530```5631```

5531 5632 

5532當 `errorCode` 為 `"credits_required"` 時,拒絕來自 claude.ai 訂閱,其包含的使用量已耗盡,會話無法繼續,直到使用者購買使用額度。`canUserPurchaseCredits` 指示經過身份驗證的使用者是否可以為帳戶購買額度,`hasChargeableSavedPaymentMethod` 指示是否有保存的付款方式。這三個欄位在非信用額度必需拒絕的速率限制事件上不存在。需要 Claude Code v2.1.181 或更高版本。5633當 `errorCode` 為 `"credits_required"` 時,拒絕來自 claude.ai 訂閱,其包含的使用已耗盡,工作階段在使用者購買使用額度之前無法繼續。`canUserPurchaseCredits` 指示已驗證的使用者是否可以為帳戶購買額度,`hasChargeableSavedPaymentMethod` 指示檔案上是否有可計費的儲存付款方式。所有三個欄位在不是額度必需拒絕的速率限制事件上不存在。需要 Claude Code v2.1.181 或更新版本。

5533 5634 

5534<h3 id="sdklocalcommandoutputmessage">5635<h3 id="sdklocalcommandoutputmessage">

5535 `SDKLocalCommandOutputMessage`5636 `SDKLocalCommandOutputMessage`

5536</h3>5637</h3>

5537 5638 

5538Claude Code 不發出此消息類型。當您發送命令(例如 `/context` 或 `/usage`)作為提示時,其輸出作為 [`SDKAssistantMessage`](#sdkassistantmessage) 到達。5639Claude Code 不發出此訊息類型。當您傳送命令(例如 `/context` 或 `/usage`)作為提示時,其輸出作為 [`SDKAssistantMessage`](#sdkassistantmessage) 到達。

5539 5640 

5540```typescript theme={null}5641```typescript theme={null}

5541type SDKLocalCommandOutputMessage = {5642type SDKLocalCommandOutputMessage = {


5551 `SDKCommandsChangedMessage`5652 `SDKCommandsChangedMessage`

5552</h3>5653</h3>

5553 5654 

5554可用命令集在會話中期發生變化時發出,例如當代理進入子目錄時發現 skills。`commands` 陣列是完整的更新清單,因此用此有效負載替換任何緩存的命令清單。在此消息後呼叫 [`supportedCommands()`](#query-object) 返回相同的更新清單,因為該方法追蹤最新推送;這需要 Agent SDK v0.3.216 或更高版本。在較早的 SDK 版本中,`supportedCommands()` 返回在初始化時捕獲的快照,永遠不反映會話中期的變化。5655當可用命令集在工作階段中期變更時發出,例如當 Claude Code 在代理進入子目錄時發現技能時。`commands` 陣列是完整的更新清單,因此用此承載替換任何快取命令清單。在此訊息後呼叫 [`supportedCommands()`](#query-object) 會傳回相同的更新清單,因為該方法追蹤最新推送;這需要 Agent SDK v0.3.216 或更新版本。在較早的 SDK 版本中,`supportedCommands()` 傳回在初始化時擷取的快照,永遠不會反映工作階段中期的變更。

5555 5656 

5556```typescript theme={null}5657```typescript theme={null}

5557type SDKCommandsChangedMessage = {5658type SDKCommandsChangedMessage = {


5567 `SDKPromptSuggestionMessage`5668 `SDKPromptSuggestionMessage`

5568</h3>5669</h3>

5569 5670 

5570在啟用 [`promptSuggestions`](#options) 時轉數後發出,Claude Code 為該轉數生成了建議。包含預測的下一個使用者提示。對於未獲得任何建議的轉數,見 [當 Claude Code 跳過建議](/docs/zh-TW/interactive-mode#when-claude-code-skips-suggestions)。5671在啟用 [`promptSuggestions`](#options) 且 Claude Code 為該輪次產生建議時,輪次後發出。包含預測的下一個使用者提示。對於未取得任何建議的輪次,請參閱 [Claude Code 何時跳過建議](/docs/zh-TW/interactive-mode#when-claude-code-skips-suggestions)。

5571 5672 

5572```typescript theme={null}5673```typescript theme={null}

5573type SDKPromptSuggestionMessage = {5674type SDKPromptSuggestionMessage = {


5582 `SDKConversationResetMessage`5683 `SDKConversationResetMessage`

5583</h3>5684</h3>

5584 5685 

5585會話的對話被替換而不結束會話時發出。在 `query()` 呼叫中,僅 `/clear` 及其別名產生此消息。在 `new_conversation_id` 下掛載空記錄,並丟棄任何緩存的會話標題。5686在工作階段的對話被替換而不結束工作階段時發出。在 `query()` 呼叫中,只有 `/clear` 及其別名產生此訊息。在 `new_conversation_id` 下掛載空文字記錄,並捨棄任何快取工作階段標題。

5586 5687 

5587```typescript theme={null}5688```typescript theme={null}

5588type SDKConversationResetMessage = {5689type SDKConversationResetMessage = {


5593};5694};

5594```5695```

5595 5696 

5596SDK 的已發佈類型在 Claude Code v2.1.203 及更高版本中聲明 `SDKConversationResetMessage`。在 v2.1.203 之前,`SDKMessage` 參考該類型而不聲明它,因此當 `skipLibCheck` 被禁用時,在 `type === "conversation_reset"` 上縮小範圍失敗類型檢查。5697SDK 的已發佈類型在 Claude Code v2.1.203 及更新版本中宣告 `SDKConversationResetMessage`。在 v2.1.203 之前,`SDKMessage` 參考該類型而不宣告它,因此當 `skipLibCheck` 被停用時,在 `type === "conversation_reset"` 上縮小範圍失敗類型檢查。

5597 5698 

5598<h3 id="aborterror">5699<h3 id="aborterror">

5599 `AbortError`5700 `AbortError`

5600</h3>5701</h3>

5601 5702 

5602中止操作的自訂錯誤類。5703中止操作的自訂錯誤類別。

5603 5704 

5604```typescript theme={null}5705```typescript theme={null}

5605class AbortError extends Error {}5706class AbortError extends Error {}

5606```5707```

5607 5708 

5608`AbortError` 是 SDK 的類型化 API 中唯一的錯誤類。其他失敗,例如 Claude Code 進程退出或無法啟動,使用沒有 SDK 類可匹配的錯誤拒絕消息迭代。[疑難排解](/docs/zh-TW/agent-sdk/troubleshooting) 按消息鍵入這些錯誤,每個都有原因和修復。5709`AbortError` 是 SDK 類型化 API 中唯一的錯誤類別。其他失敗,例如 Claude Code 程序退出或無法啟動,以沒有 SDK 類別可比對的錯誤拒絕訊息反覆運算。[疑難排解](/docs/zh-TW/agent-sdk/troubleshooting) 按訊息鍵入這些錯誤,每個都有原因和修正。

5609 5710 

5610<h2 id="sandbox-configuration">5711<h2 id="sandbox-configuration">

5611 Sandbox 設定5712 Sandbox 設定


5636| :-------------------------- | :---------------------------------------------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |5737| :-------------------------- | :---------------------------------------------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |

5637| `enabled` | `boolean` | `false` | 為命令執行啟用 sandbox 模式 |5738| `enabled` | `boolean` | `false` | 為命令執行啟用 sandbox 模式 |

5638| `failIfUnavailable` | `boolean` | `true` | 如果 `enabled` 為 `true` 但 sandbox 無法啟動,則在啟動時停止。設定為 `false` 以回退到未 sandboxed 的執行,並在 stderr 上顯示警告 |5739| `failIfUnavailable` | `boolean` | `true` | 如果 `enabled` 為 `true` 但 sandbox 無法啟動,則在啟動時停止。設定為 `false` 以回退到未 sandboxed 的執行,並在 stderr 上顯示警告 |

5639| `autoAllowBashIfSandboxed` | `boolean` | `true` | 當 sandbox 啟用時自動核准 bash 命令 |5740| `autoAllowBashIfSandboxed` | `boolean` | `true` | 當 sandbox 啟用時自動核准 Bash 命令 |

5640| `excludedCommands` | `string[]` | `[]` | 始終繞過 sandbox 限制的命令(例如 `['docker']`)。這些命令會自動以未 sandboxed 的方式執行,無需模型參與 |5741| `excludedCommands` | `string[]` | `[]` | 始終繞過 sandbox 限制的命令(例如 `['docker']`)。這些命令會自動以未 sandboxed 的方式執行,無需模型參與 |

5641| `allowUnsandboxedCommands` | `boolean` | `true` | 允許模型要求在 sandbox 外執行命令。當為 `true` 時,模型可以在工具輸入中設定 `dangerouslyDisableSandbox`,這會回退到[權限系統](#permissions-fallback-for-unsandboxed-commands) |5742| `allowUnsandboxedCommands` | `boolean` | `true` | 允許模型要求在 sandbox 外執行命令。當為 `true` 時,模型可以在工具輸入中設定 `dangerouslyDisableSandbox`,這會回退到[權限系統](#permissions-fallback-for-unsandboxed-commands) |

5642| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | 網路特定的 sandbox 設定 |5743| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | 網路特定的 sandbox 設定 |


5717| `socksProxyPort` | `number` | `undefined` | 用於網路請求的 SOCKS proxy 連接埠 |5818| `socksProxyPort` | `number` | `undefined` | 用於網路請求的 SOCKS proxy 連接埠 |

5718 5819 

5719<Note>5820<Note>

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

5721</Note>5822</Note>

5722 5823 

5723<h3 id="sandboxfilesystemconfig">5824<h3 id="sandboxfilesystemconfig">

Details

555輸入在 `questions` 陣列中包含 Claude 生成的問題。每個問題都有這些欄位:555輸入在 `questions` 陣列中包含 Claude 生成的問題。每個問題都有這些欄位:

556 556 

557| 欄位 | 描述 |557| 欄位 | 描述 |

558| ------------- | ----------------------------------------------------------------------------------------------------- |558| ------------- | ------------------------------------------------------------------------------------------------------- |

559| `question` | 要顯示的完整問題文字 |559| `question` | 要顯示的完整問題文字 |

560| `header` | 問題的簡短標籤(最多 12 個字元) |560| `header` | 問題的簡短標籤(最多 12 個字元) |

561| `options` | 2-4 個選擇的陣列,每個都有 `label` 和 `description`。TypeScript:可選 `preview`(請參閱[下方](#option-previews-typescript)) |561| `options` | 2-4 個選擇的陣列,每個都有 `label` 和 `description`。TypeScript:可選 `preview`。請參閱[選項預覽](#option-previews-typescript)。 |

562| `multiSelect` | 如果為 `true`,使用者可以選擇多個選項 |562| `multiSelect` | 如果為 `true`,使用者可以選擇多個選項 |

563 563 

564您的回呼接收的結構:564您的回呼接收的結構:

agent-teams.md +5 −1

Details

120 `tmux` 在某些作業系統上有已知限制,傳統上在 macOS 上效果最佳。在 iTerm2 中使用 `tmux -CC` 是進入 `tmux` 的建議入口點。120 `tmux` 在某些作業系統上有已知限制,傳統上在 macOS 上效果最佳。在 iTerm2 中使用 `tmux -CC` 是進入 `tmux` 的建議入口點。

121</Note>121</Note>

122 122 

123預設值是 `"in-process"`。在 v2.1.179 之前,預設值是 `"auto"`,因此升級的工作階段如果之前開啟了分割窗格,現在會保持在一個終端中,除非您明確設定模式。設定 `"auto"` 以在您已在 tmux 工作階段內運行或您的終端是已安裝 `it2` CLI 的 iTerm2 時啟用分割窗格,否則回退到 in-process。`"tmux"` 設定啟用分割窗格模式,並根據您的終端自動偵測是否使用 tmux 或 iTerm2。123預設值是 `"in-process"`。設定 `"auto"` 以在您已在 tmux 工作階段內運行或您的終端是已安裝 `it2` CLI 的 iTerm2 時啟用分割窗格,否則回退到 in-process。`"tmux"` 設定啟用分割窗格模式,並根據您的終端自動偵測是否使用 tmux 或 iTerm2。

124 124 

125自 v2.1.186 起,設定 `"iterm2"` 以明確使用 iTerm2 原生分割窗格。此模式需要 [`it2` CLI](https://github.com/mkusaka/it2),如果 `it2` 遺失,會顯示帶有安裝命令的錯誤。當您的終端是 iTerm2 且 tmux 可作為備用方案時,在 `"auto"` 或 `"tmux"` 下會出現提供安裝 `it2` 或切換到 tmux 的設定提示。125自 v2.1.186 起,設定 `"iterm2"` 以明確使用 iTerm2 原生分割窗格。此模式需要 [`it2` CLI](https://github.com/mkusaka/it2),如果 `it2` 遺失,會顯示帶有安裝命令的錯誤。當您的終端是 iTerm2 且 tmux 可作為備用方案時,在 `"auto"` 或 `"tmux"` 下會出現提供安裝 `it2` 或切換到 tmux 的設定提示。

126 126 


310* **`skills`**:Claude Code 在任一顯示模式中都不會將定義的 `skills` 應用於隊友。隊友從您的專案和使用者設定中載入 skills。310* **`skills`**:Claude Code 在任一顯示模式中都不會將定義的 `skills` 應用於隊友。隊友從您的專案和使用者設定中載入 skills。

311* **`mcpServers`**:對於分割窗格隊友,Claude Code 在[該欄位的規則](/docs/zh-TW/sub-agents#scope-mcp-servers-to-a-subagent)下應用定義的 `mcpServers`,這些規則涵蓋使用 `--agent` 啟動的工作階段。進程內隊友忽略該欄位,並從您的專案和使用者設定中載入 MCP servers。311* **`mcpServers`**:對於分割窗格隊友,Claude Code 在[該欄位的規則](/docs/zh-TW/sub-agents#scope-mcp-servers-to-a-subagent)下應用定義的 `mcpServers`,這些規則涵蓋使用 `--agent` 啟動的工作階段。進程內隊友忽略該欄位,並從您的專案和使用者設定中載入 MCP servers。

312 312 

313當 Claude 向不再運行的進程內隊友傳送訊息時,Claude Code 會在同一工作階段中將其恢復,復原為其保存的任何對話,並將訊息作為其下一個提示給予它。在您恢復工作階段後,隊友不會以這種方式被恢復,根據[恢復限制](#limitations)。

314 

315對於它恢復的隊友,Claude Code 只有在您[信任代理檔案所在的資料夾](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)時,才會重新應用來自專案的 `.claude/agents/` 目錄或 `--add-dir` 目錄的定義。信任父資料夾不算。在那之前,隊友會恢復時不帶定義的任何工具或指示,只保留 Claude Code 添加到每個進程內隊友的工具。請參閱[隊友的代理定義未被復原](/docs/zh-TW/errors#teammate-agent-definition-not-restored)以了解通知文本。

316 

313<h3 id="permissions">317<h3 id="permissions">

314 權限318 權限

315</h3>319</h3>

agent-view.md +109 −105

Details

16 16 

17當您想在任何代理的工作階段中更直接地工作時,附加到該行以進入完整對話。17當您想在任何代理的工作階段中更直接地工作時,附加到該行以進入完整對話。

18 18 

19若要比較 agent view 與 subagents、agent teams 和 worktrees,請參閱 [平行執行代理](/docs/zh-TW/agents)。19若要比較 agent view 與 subagents、agent teams 和 worktrees,請參閱 [平行執行代理](/docs/zh-TW/agents)。Agent view 在您的機器上執行工作階段,您分派每一個;若要讓 Claude 從一個對話開始並在雲端追蹤平行工作階段,請參閱 [Projects](/docs/zh-TW/claude-projects)。

20 20 

21<Note>21<Note>

22 Agent view 處於研究預覽版本。隨著功能的發展,介面和快捷鍵可能會改變。22 Agent view 處於研究預覽版本。隨著功能的發展,介面和快捷鍵可能會改變。


69在常規 `claude` 工作階段內,提示頁尾的 `←` 提示會計算正在等待您的背景 agent 數量,例如 `← 2 agents`,當沒有任何 agent 需要輸入時會返回 `← for agents`。超過 99 的計數顯示為 `99+`。當終端獲得焦點時,計數大約每十秒刷新一次,當焦點返回時立即刷新。當計數移動時以及當 agent 完成時,它會短暫改變顏色,當背景工作階段完成且沒有任何工作階段需要您的輸入時,它會短暫顯示已完成的數量,例如 `← 2 done`。當啟用了 [`prefersReducedMotion` 設定](/docs/zh-TW/settings-reference#prefersreducedmotion)時,兩個閃爍都會關閉,並且在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中隱藏提示。69在常規 `claude` 工作階段內,提示頁尾的 `←` 提示會計算正在等待您的背景 agent 數量,例如 `← 2 agents`,當沒有任何 agent 需要輸入時會返回 `← for agents`。超過 99 的計數顯示為 `99+`。當終端獲得焦點時,計數大約每十秒刷新一次,當焦點返回時立即刷新。當計數移動時以及當 agent 完成時,它會短暫改變顏色,當背景工作階段完成且沒有任何工作階段需要您的輸入時,它會短暫顯示已完成的數量,例如 `← 2 done`。當啟用了 [`prefersReducedMotion` 設定](/docs/zh-TW/settings-reference#prefersreducedmotion)時,兩個閃爍都會關閉,並且在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中隱藏提示。

70 70 

71<h2 id="monitor-sessions-with-agent-view">71<h2 id="monitor-sessions-with-agent-view">

72 使用 agent view 監控工作階段72 使用代理檢視監控工作階段

73</h2>73</h2>

74 74 

75執行 `claude agents` 開啟 agent view。它接管整個終端並列出按狀態分組的每個工作階段,固定的工作階段和需要您的工作階段在頂部。每行顯示工作階段的名稱、當前活動和其年齡,從工作階段建立時開始計算;已完成的工作階段的年齡會凍結在執行花費的時間。75執行 `claude agents` 以開啟代理檢視。它會接管整個終端機,並按狀態列出每個工作階段,已釘選的工作階段和需要您的工作階段位於頂部。每一列顯示工作階段的名稱、目前活動和年齡,年齡從工作階段建立時開始計算;已完成的工作階段的年齡會凍結在執行所花費的時間。

76 76 

77名稱以該工作階段中由 [`/color`](/docs/zh-TW/commands) 設定的顏色著色。當您使用 `←` 或 `/background` [背景化工作階段](#from-inside-a-session)時,顏色會保留。77名稱會以該工作階段中由 [`/color`](/docs/zh-TW/commands) 設定的顏色著色,包括當您使用 `←` 或 `/background` [背景執行工作階段](#from-inside-a-session) 時。

78 78 

79根據預設,該列表顯示您啟動的每個背景工作階段,跨越所有您的專案。在一個儲存庫中工作的工作階段和在不同 worktree 中工作的另一個工作階段都會出現在這裡,無論您從哪個目錄開啟 agent view。要將檢視範圍限制在一個專案,請傳遞 `--cwd`:79根據預設,清單會顯示您已啟動的每個背景工作階段,跨越所有專案。在一個儲存庫中工作的工作階段和在不同 worktree 中工作的另一個工作階段都會出現在這裡,無論您從哪個目錄開啟代理檢視。若要將清單縮小到一個專案,請傳遞 `--cwd`:

80 80 

81```bash theme={null}81```bash theme={null}

82claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app

83```83```

84 84 

85這只會顯示在該目錄下啟動的工作階段。已[移入 worktree](#how-file-edits-are-isolated)在 `~/projects/my-app/.claude/worktrees/` 下的工作階段仍然算作屬於 `~/projects/my-app`。85這只會顯示在該目錄下啟動的工作階段。它仍然會列出已 [移入 worktree](#how-file-edits-are-isolated) 在 `~/projects/my-app/.claude/worktrees/` 下的工作階段。

86 86 

87您在其他終端中開啟的互動工作階段在您[背景化它們](#from-inside-a-session)之前不會出現。[Subagents](/docs/zh-TW/sub-agents) 和 [teammates](/docs/zh-TW/agent-teams) 工作階段產生的不會列為單獨的行。87您在其他終端機中開啟的互動式工作階段不會出現,直到您 [背景執行它們](#from-inside-a-session)。[子代理](/docs/zh-TW/sub-agents) 和 [隊友](/docs/zh-TW/agent-teams) 工作階段產生的不會列為單獨的列。

88 88 

89```text theme={null}89```text theme={null}

90Pinned90Pinned


110 讀取工作階段狀態110 讀取工作階段狀態

111</h3>111</h3>

112 112 

113每行開始的圖示,其顏色和動畫顯示工作階段的狀態:113每一列開頭的圖示,其顏色和動畫顯示工作階段的狀態:

114 114 

115| 狀態 | 圖示顯示為 | 含義 |115| 狀態 | 圖示顯示為 | 意義 |

116| :--- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |116| :---------- | :---- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

117| 工作中 | 動畫 | Claude 正在主動執行工具或生成回應 |117| Working | 動畫 | Claude 正在主動執行工具或產生回應 |

118| 需要輸入 | 黃色 | Claude 正在等待只有您才能提供的內容:問題的答案、權限決定,或只有您才能回答的另一個提示,例如 [沙箱](/docs/zh-TW/sandboxing)提示以允許網路主機或 MCP 伺服器的[輸入請求](/docs/zh-TW/mcp#respond-to-mcp-elicitation-requests)。需要附加終端的命令,例如 `/install-github-app` 或 `/mcp` 設定列表,[也會在此處保持未處理的工作階段](#attach-to-a-session) |118| Needs input | 黃色 | Claude 正在等待只有您才能提供的內容:問題的答案、權限決定,或只有您才能回答的其他提示,例如 [沙箱](/docs/zh-TW/sandboxing) 提示以允許網路主機或 MCP 伺服器的 [輸入請求](/docs/zh-TW/mcp#respond-to-mcp-elicitation-requests)。需要附加終端機的命令,例如 `/install-github-app` 或 `/mcp` 設定清單,[也會在此處保留無人值守的工作階段](#attach-to-a-session) |

119| 閒置 | 淡化 | 工作階段沒有事情要做,準備好接收您的下一個提示 |119| Idle | 變暗 | 工作階段沒有任何工作要做,已準備好接收您的下一個提示 |

120| 已完成 | 綠色 | 任務成功完成 |120| Completed | 綠色 | 任務成功完成 |

121| 失敗 | 紅色 | 任務以錯誤結束 |121| Failed | 紅色 | 任務以錯誤結束 |

122| 已停止 | 灰色 | 您使用 `Ctrl+X` 或 `claude stop` 停止了工作階段,[其程序從 Claude Code 外部結束](#the-supervisor-process),或[背景服務關閉時它結束](#sessions-show-as-failed-after-shutdown) |122| Stopped | 灰色 | 您使用 `Ctrl+X` 或 `claude stop` 停止了工作階段,[其程序從 Claude Code 外部結束](#the-supervisor-process),或 [在背景服務關閉時結束](#sessions-show-as-failed-after-shutdown) |

123 123 

124另外,圖示的形狀顯示底層程序是否正在執行:124另外,圖示的形狀顯示基礎程序是否正在執行:

125 125 

126| 形狀 | 含義 |126| 形狀 | 意義 |

127| :---------- | :------------------------------------------------------------- |127| :---------- | :----------------------------------------------------------- |

128| `✻` 或動畫 `✽` | 工作階段程序處於活動狀態並立即回覆 |128| `✻` 或動畫 `✽` | 工作階段程序處於活動狀態並立即回應 |

129| `∙` | 程序已退出。您仍然可以查看該行,當您回覆或附加時,Claude 從中斷的地方重新啟動 |129| `∙` | 程序已結束。您仍然可以查看該列,當您回應或附加時,Claude 會從中斷的地方重新啟動 |

130| `✢` | 一個 [`/loop`](/docs/zh-TW/scheduled-tasks) 工作階段在迭代之間休眠。該行顯示其執行計數和倒計時 |130| `✢` | [`/loop`](/docs/zh-TW/scheduled-tasks) 工作階段在迭代之間休眠。該列顯示其執行計數和倒數計時 |

131 131 

132出現在行右邊緣的 `#N` 或 `!N` 標籤是[工作階段的拉取請求或合併請求](#pull-request-status)的連結,不是狀態圖示的一部分。132可能出現在列右邊緣的 `#N` 或 `!N` 標籤是指向工作階段的 [拉取請求或合併請求](#pull-request-status) 的連結,不是狀態圖示的一部分。

133 133 

134終端標籤標題在 agent view 開啟時顯示等待輸入計數:當工作階段需要輸入時為 `2 awaiting input · claude agents`,或當沒有工作階段需要輸入時為 `claude agents`。134終端機標籤標題在代理檢視開啟時顯示等待輸入計數:當工作階段需要輸入時為 `2 awaiting input · claude agents`,或當沒有時為 `claude agents`。

135 135 

136要從指令碼或另一個程式讀取工作階段狀態,請使用 [`claude agents --json`](#read-session-state-from-a-script) 而不是 `~/.claude/jobs/` 下的檔案。136若要從指令碼或其他程式讀取工作階段狀態,請使用 [`claude agents --json`](#read-session-state-from-a-script),而不是 `~/.claude/jobs/` 下的檔案。

137 137 

138當 agent view 開啟時,Claude Code 也會通過您配置的[終端通知頻道](/docs/zh-TW/terminal-config#get-a-terminal-bell-or-notification)發送通知,當本機背景工作階段開始需要您的輸入、完成或失敗時。在排程上執行的工作階段,例如 [`/loop`](/docs/zh-TW/scheduled-tasks) 工作階段,只在需要您的輸入時通知。通知使用與 Claude Code 其餘部分相同的 [`preferredNotifChannel` 設定](/docs/zh-TW/settings-reference#preferrednotifchannel),並使用 `agent_needs_input` 或 `agent_completed` 類型觸發 [`Notification` hook](/docs/zh-TW/hooks#notification)。138當代理檢視開啟時,Claude Code 也會透過您設定的 [終端機通知頻道](/docs/zh-TW/terminal-config#get-a-terminal-bell-or-notification) 發送通知,當本機背景工作階段開始需要您的輸入、完成或失敗時。在排程上執行的工作階段,例如 [`/loop`](/docs/zh-TW/scheduled-tasks) 工作階段,只在需要您的輸入時通知。通知使用與 Claude Code 其餘部分相同的 [`preferredNotifChannel` 設定](/docs/zh-TW/settings-reference#preferrednotifchannel),並使用 `agent_needs_input` 或 `agent_completed` 類型觸發 [`Notification` hook](/docs/zh-TW/hooks#notification)。

139 139 

140背景工作階段不需要任何開啟的終端即可繼續工作。單獨的[監督程序](#the-supervisor-process)執行它們,因此您可以關閉 agent view、關閉 shell 或啟動新的互動工作階段,您分派的工作會繼續進行。140背景工作階段不需要任何開啟的終端機即可繼續工作。單獨的 [監督程序](#the-supervisor-process) 執行它們,因此您可以關閉代理檢視、關閉您的 shell,或啟動新的互動式工作階段,您分派的工作會繼續進行。

141 141 

142工作階段狀態通過自動更新和監督程序重新啟動在磁碟上持久化。工作階段也會在您的機器進入睡眠時保留。它們的程序在喚醒時恢復,監督程序會重新連接到它們,而不是將時間間隔視為閒置。關閉仍會停止執行中的工作階段;請參閱[工作階段在關閉後顯示為失敗或已停止](#sessions-show-as-failed-after-shutdown)以了解如何恢復它們。142工作階段狀態透過自動更新和監督程序重新啟動在磁碟上持續存在。當您的機器休眠時,工作階段也會被保留。它們的程序在喚醒時繼續執行,監督程序會重新連接到它們,而不是將時間間隙視為閒置。關閉仍會停止執行中的工作階段;請參閱 [工作階段在關閉後顯示為失敗或停止](#sessions-show-as-failed-after-shutdown) 以了解如何復原它們。

143 143 

144當機器在中途回應時進入睡眠時,工作階段可能會陷入無回應狀態。當您開啟已停止回應的工作階段時,監督程序會重新啟動其程序,工作階段會從中斷的地方繼續中斷的回應。144在機器休眠時正在中途回應的工作階段可能會回來無回應。當您開啟已停止回應的工作階段時,監督程序會重新啟動其程序,工作階段會從中斷的地方繼續中斷的回應。

145 145 

146<h3 id="row-summaries">146<h3 id="row-summaries">

147 行摘要147 列摘要

148</h3>148</h3>

149 149 

150每行中的單行摘要由 [Haiku-class 模型](/docs/zh-TW/model-config)生成,因此該行可以告訴您工作階段正在做什麼、需要什麼或生成了什麼,無需開啟記錄。當工作階段主動工作時,該行文字最多每 15 秒從工作階段自己的最近輸出更新一次,無需發送模型請求,模型在每個回合結束時寫入新摘要。150每列中的單行摘要由 [Haiku 級模型](/docs/zh-TW/model-config) 產生,因此該列可以告訴您工作階段在做什麼、需要什麼或產生了什麼,而無需開啟文字記錄。當工作階段主動工作時,列文字最多每 15 秒從工作階段自己的最近輸出更新一次,無需發送模型請求,模型在每個回合結束時寫入新摘要。

151 151 

152工作中的行顯示工作階段說它正在做什麼,被阻止的行顯示它正在詢問的問題。在長回合期間,模型也會大約每幾分鐘重寫一次摘要,因此繁忙的行不會持續顯示過時的摘要。摘要文字填充該行的剩餘寬度;開啟[查看面板](#peek-and-reply)以讀取終端邊緣裁剪的句子。152工作中的列顯示工作階段說它在做什麼,被阻止的列顯示它在問什麼問題。在長回合期間,模型也會每隔幾分鐘重寫摘要,以便繁忙的列不會繼續顯示過時的摘要。摘要文字填滿列的剩餘寬度;開啟 [查看面板](#peek-and-reply) 以讀取終端機邊緣裁剪的句子。

153 153 

154當列表[按目錄分組](#organize-the-list)時,摘要以工作階段的狀態作為著色詞開頭,例如 `Needs input · double jump or wall climb?`。在預設狀態分組中,組標題已命名狀態,因此該行只顯示摘要。154當清單 [按目錄分組](#organize-the-list) 時,摘要以工作階段的狀態開頭,作為彩色單詞,例如 `Needs input · double jump or wall climb?`。在預設狀態分組中,群組標題已命名狀態,因此列只顯示摘要。

155 155 

156回合結束摘要和每次中途重寫都是通過您的正常提供者的一個簡短 Haiku-class 請求,按照與工作階段本身相同的[資料使用條款](/docs/zh-TW/data-usage)計費和處理。15 秒的模型重寫之間的更新重用工作階段自己的輸出,不發送請求。在沒有配置 Haiku-class 模型的第三方提供者或閘道上,請求會使用工作階段的主要模型;設定 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/zh-TW/model-config#environment-variables) 以選擇一個。156回合結束摘要和每個中途重寫都是透過您的正常提供者進行的一個簡短 Haiku 級請求,按照與工作階段本身相同的 [資料使用條款](/docs/zh-TW/data-usage) 計費和處理。模型重寫之間的 15 秒更新重複使用工作階段自己的輸出,不發送請求。在沒有設定 Haiku 級模型的第三方提供者或閘道上,請求使用工作階段的主要模型;設定 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/zh-TW/model-config#environment-variables) 以選擇一個。

157 157 

158<h3 id="pull-request-status">158<h3 id="pull-request-status">

159 拉取請求狀態159 拉取請求狀態

160</h3>160</h3>

161 161 

162當工作階段[開啟拉取請求](#how-file-edits-are-isolated)時,Claude Code 在行的右邊緣添加一個標籤,連結到拉取請求:162當工作階段 [開啟拉取請求](#how-file-edits-are-isolated) 時,Claude Code 在列的右邊緣新增標籤,連結到拉取請求:

163 163 

164* Claude Code 將標籤寫為拉取請求的 `#1234` 和 GitLab 合併請求的 `!1234`。164* Claude Code 將標籤寫為拉取請求的 `#1234` 和 GitLab 合併請求的 `!1234`。

165* Claude Code 發出連結,即使它無法偵測超連結支援,例如通過 SSH 或 tmux。設定 [`FORCE_HYPERLINK=0`](/docs/zh-TW/env-vars) 以將標籤呈現為純文字。165* Claude Code 發出連結,即使它無法偵測超連結支援,例如透過 SSH 或 tmux。設定 [`FORCE_HYPERLINK=0`](/docs/zh-TW/env-vars) 以將標籤呈現為純文字。

166* 在您向工作階段發送後續訊息後,Claude Code 保留標籤,同時該行返回即時進度。166* 在您向工作階段發送後續內容後,Claude Code 會在列返回即時進度時保留標籤。

167 167 

168在現有拉取請求上工作的工作階段以相同方式連結到它。Claude Code 根據 Claude 執行的命令以不同方式查詢拉取請求:168在現有拉取請求上工作的工作階段以相同方式連結到它。Claude Code 根據 Claude 執行的命令以不同方式尋找拉取請求:

169 169 

170* 當 Claude 使用 `gh` 編輯、評論、關閉或標記拉取請求為準備好時,Claude Code 連結該命令自己的輸出命名的拉取請求。其捕獲的輸出不命名拉取請求的 `gh` 命令不會建立連結;`gh pr merge` 是常見情況,因為它只將其結果列印到互動終端。170* 當 Claude 使用 `gh` 編輯、評論、關閉或標記拉取請求為就緒時,Claude Code 連結命令自己的輸出命名的拉取請求。其捕獲的輸出未命名拉取請求的 `gh` 命令不會建立連結;`gh pr merge` 是常見情況,因為它只將其結果列印到互動式終端機。

171* 當 Claude 使用 `gh pr checkout` 簽出拉取請求或推送到分支時,Claude Code 使用 `gh pr view` 查詢該分支並連結其開啟的拉取請求。171* 當 Claude 使用 `gh pr checkout` 簽出拉取請求或推送到分支時,Claude Code 使用 `gh pr view` 查詢分支並連結其開啟的拉取請求。

172* 當 Claude 推送時拉取請求不需要已存在:Claude Code 在同一目錄中執行最多五個後續 `git`、`gh`、`glab` 或 `curl` 命令後重試分支查詢,因此在推送後建立的拉取請求,包括 Claude 通過 GitHub REST API 建立的拉取請求,在重試找到它時連結。172* 當 Claude 推送時拉取請求不需要存在:Claude Code 在同一目錄中執行最多五個稍後的 `git`、`gh`、`glab` 或 `curl` 命令後重試分支查詢,因此在推送後建立的拉取請求,包括 Claude 透過 GitHub REST API 建立的拉取請求,在重試找到時連結。

173 173 

174當工作階段連結到多個拉取請求時,標籤會顯示計數,例如 `3 PRs`,按最需要關注的開啟拉取請求著色。開啟[查看面板](#peek-and-reply)以查看它們全部。174當工作階段連結到多個拉取請求時,標籤顯示計數,例如 `3 PRs`,按最需要關注的開啟拉取請求著色。開啟 [查看面板](#peek-and-reply) 以查看它們全部。

175 175 

176拉取請求編號按其狀態著色:176拉取請求編號按其狀態著色:

177 177 


182| 紫色 | 已合併 |182| 紫色 | 已合併 |

183| 灰色 | 草稿或已關閉 |183| 灰色 | 草稿或已關閉 |

184 184 

185對於以拉取請求結束的任務,檢查此標籤以獲取結果:當拉取請求編號變綠時審查並合併拉取請求。185對於以拉取請求結束的任務,檢查此標籤以獲得結果:當其編號變為綠色時審查並合併拉取請求。

186 186 

187<h3 id="peek-and-reply">187<h3 id="peek-and-reply">

188 查看和回覆188 查看和回應

189</h3>189</h3>

190 190 

191在選定的行上按 `Space` 開啟查看面板。它開啟時顯示該行在終端邊緣截斷的句子,該句子是哪一個取決於工作階段的狀態:191在選定的列上按 `Space` 以開啟查看面板。它開啟時顯示列在終端機邊緣截斷的句子,該句子是哪一個取決於工作階段的狀態:

192 192 

193* 等待您的工作階段:它正在詢問的確切問題,在回覆輸入上方193* 等待您的工作階段:它要求的確切問題,在回應輸入上方

194* 已完成的工作階段:其結果194* 已完成的工作階段:其結果

195* 工作中的工作階段:其完整狀態句子195* 工作中的工作階段:其完整狀態句子

196 196 

197任何連結到工作階段的拉取請求都會列在下方。對於等待您的工作階段,下方的一行,例如 `waiting 3m` 顯示它已等待多長時間,這是面板中唯一顯示的時間。行右邊緣的年齡是不同的數字:它從工作階段開始時計算。197任何連結到工作階段的拉取請求都會列在下方。對於等待您的工作階段,下方的一行(例如 `waiting 3m`)顯示它已等待多長時間,這是面板中唯一顯示的時間。列右邊緣的年齡是不同的數字:它從工作階段啟動時開始計算。

198 198 

199大多數時候查看面板就足夠了,您不需要開啟完整記錄。199大多數時候查看面板就足夠了,您不需要開啟完整文字記錄。

200 200 

201在查看面板中輸入回覆並按 `Enter` 將其發送到該工作階段。當工作階段詢問具有預定義選擇的問題時,查看面板將它們顯示為編號列表,您可以按數字鍵選擇一個。權限提示顯示為描述工作階段想要執行的內容的文字,沒有編號選項。輸入回覆以回答它,或附加以使用標準提示回答。對於其他被阻止的工作階段,按 `Tab` 用建議的回覆填充輸入,您可以在發送前編輯。使用 `!` 前綴回覆以發送 Bash 命令。201在查看面板中輸入回應,然後按 `Enter` 將其發送到該工作階段。當工作階段提出帶有預定義選擇的問題時,查看面板將它們顯示為編號清單,您可以按數字鍵選擇一個。權限提示顯示為描述工作階段想要執行的內容的文字,沒有編號選項。輸入回應以回答它,或附加以使用標準提示回答。對於其他被阻止的工作階段,按 `Tab` 以填充輸入建議的回應,您可以在發送前編輯。在回應前加上 `!` 以改為發送 Bash 命令。

202 202 

203當 [`PermissionRequest`](/docs/zh-TW/hooks#permissionrequest) 或 [`PreToolUse`](/docs/zh-TW/hooks#pretooluse) hook 返回 Claude Code 無法驗證工作階段詢問的呼叫的輸出時,該行顯示 hook 事件和 `hook output invalid:` 以及驗證錯誤,然後是待處理請求的文字。對於以其他方式失敗的 hook,該行說 hook 失敗。工作階段仍然等待相同的請求。203當 [`PermissionRequest`](/docs/zh-TW/hooks#permissionrequest) 或 [`PreToolUse`](/docs/zh-TW/hooks#pretooluse) hook 返回 Claude Code 無法驗證工作階段要求的呼叫的輸出時,列顯示 hook 事件和 `hook output invalid:` 以及驗證錯誤,然後是待處理請求的文字。對於以其他方式失敗的 hook,列說 hook 失敗。工作階段仍然等待相同的請求。

204 204 

205無法傳遞的回覆,因為背景服務無法連接或發送失敗,會被保存並在其程序再次啟動時作為其下一個提示發送到工作階段,錯誤訊息說回覆已保存。以 `!` 前綴的回覆不會被保存,因為保存的文字會作為純提示而不是 Bash 命令到達工作階段。205無法傳遞的回應,因為背景服務無法到達或發送失敗,會被保存並在其程序再次啟動時作為下一個提示發送到工作階段,錯誤訊息說回應已保存。以 `!` 為前綴的回應不會被保存,因為保存的文字會作為純提示而不是 Bash 命令到達工作階段。

206 206 

207啟用[語音聽寫](/docs/zh-TW/voice-dictation)後,在回覆輸入有焦點時按住或點擊您的推送通話鍵以聽寫回覆,而不是輸入。同樣的方式也適用於 agent view 底部的分派輸入。207啟用 [語音聽寫](/docs/zh-TW/voice-dictation) 後,在回應輸入聚焦時按住或點擊您的推送通話鍵以聽寫回應而不是輸入。相同的方式適用於代理檢視底部的分派輸入。

208 208 

209使用 `↑` 和 `↓` 查看相鄰工作階段而無需關閉面板,或按 `→` 附加。209使用 `↑` 和 `↓` 查看相鄰工作階段而無需關閉面板,或使用 `→` 附加。

210 210 

211<h3 id="attach-to-a-session">211<h3 id="attach-to-a-session">

212 附加到工作階段212 附加到工作階段

213</h3>213</h3>

214 214 

215在選定的行上按 `Enter` 或 `→` 附加。Agent view 被完整的互動工作階段替換。附加時,Claude 發佈您離開時發生的簡短回顧。215在選定的列上按 `Enter` 或 `→` 以附加。代理檢視被完整互動式工作階段取代。當您附加時,Claude 發佈您離開時發生的簡短回顧。

216 216 

217附加時,工作階段的行為與任何其他 Claude Code 工作階段相同:[命令](/docs/zh-TW/commands)、快捷鍵和功能都有效,下面列出的例外除外。217附加時,工作階段的行為就像任何其他 Claude Code 工作階段:[命令](/docs/zh-TW/commands)、鍵盤快捷鍵和功能都可以工作,除了下面的例外。

218 218 

219附加時,`/install-github-app` 和 [`/mcp`](/docs/zh-TW/mcp) 設定列表正常工作,因為終端上的人類可以完成它們的對話。當沒有人附加時,這些命令無法開啟它們的對話,因此工作階段在 agent view 中出現在 `Needs input` 下,行如 `open this session to manage MCP servers`,記錄回覆說相同的內容。附加並再次執行命令以繼續;當您附加時,needs-input 行會清除。`/mcp reconnect <server>`、`/mcp enable` 和 `/mcp disable` 無論如何都可以工作。219附加時,`/install-github-app` 和 [`/mcp`](/docs/zh-TW/mcp) 設定清單正常工作,因為終端機上有人可以完成它們的對話。當沒有人附加時,這些命令無法開啟它們的對話,因此工作階段在代理檢視中的 `Needs input` 下出現,列如 `open this session to manage MCP servers`,文字記錄回應說相同的內容。附加並再次執行命令以繼續;當您附加時,需要輸入的列會清除。`/mcp reconnect <server>`、`/mcp enable` 和 `/mcp disable` 無論如何都可以在不附加的情況下工作。

220 220 

221附加的工作階段始終以[全螢幕模式](/docs/zh-TW/fullscreen)呈現,無論您的 `tui` 設定如何,因為背景工作階段沒有終端滾動回溯可附加。使用 `PgUp`、`PgDn` 或滑鼠滾輪滾動,並按 `Ctrl+O` 進入記錄模式。您終端的原生滾動和 tmux 複製模式只顯示當前視口,與執行任何全螢幕應用程式時相同。221附加的工作階段始終以 [全螢幕模式](/docs/zh-TW/fullscreen) 呈現,無論您的 `tui` 設定如何,因為背景工作階段沒有終端機捲軸可附加到。使用 `PgUp`、`PgDn` 或滑鼠滾輪捲動,按 `Ctrl+O` 進入文字記錄模式。您終端機的原生捲動和 tmux 複製模式只顯示目前檢視區,與執行任何全螢幕應用程式時相同。

222 222 

223在空提示上按 `←` 或執行 `/exit` 以分離並返回 agent view,無論您是從 agent view 開啟工作階段還是從 shell 執行 `claude attach <id>`。223在空提示上按 `←`,或執行 `/exit`,以分離並返回代理檢視,無論您是從代理檢視開啟工作階段還是從 shell 使用 `claude attach <id>`。

224 224 

225當 [`/btw` overlay](/docs/zh-TW/interactive-mode#side-questions-with-%2Fbtw) 開啟時,`←` 也會分離。需要 Claude Code v2.1.257 或更新版本。仍在回答的側問題在您離開時繼續執行。下次您附加時,overlay 會重新開啟它,或使用其答案。225當 [`/btw` 覆蓋層](/docs/zh-TW/interactive-mode#side-questions-with-%2Fbtw) 開啟時,`←` 也會分離。需要 Claude Code v2.1.257 或更新版本。仍在回答的側問題在您離開時繼續執行。下次您附加時,覆蓋層會重新開啟它,或使用其答案。

226 226 

227在 Windows 上,如果您在附加後約半秒內按 `←`,Claude Code 會顯示 `Ambiguous ←, press again to detach`,因為在該視窗中終端可以重新傳遞您附加前的按鍵。再次按 `←` 以分離。227在 Windows 上,如果您在附加後約半秒內按 `←`,Claude Code 會顯示 `Ambiguous ←, press again to detach`,因為在該視窗中終端機可以重新傳遞您附加前的按下。再次按 `←` 以分離。

228 228 

229`Ctrl+Z` 也會分離但會回到您開始的地方:如果您從 agent view 附加則返回 agent view,或如果您執行 `claude attach` 則返回 shell。當對話框有焦點且不響應 `←` 時使用 `Ctrl+Z`。229`Ctrl+Z` 也會分離但會回到您開始的地方:如果您從那裡附加則為代理檢視,或如果您執行 `claude attach` 則為您的 shell。當對話有焦點且不回應 `←` 時使用 `Ctrl+Z`。

230 230 

231`Ctrl+C` 在附加時保持其標準中斷行為:它取消執行中的回應或 `!` shell 命令,而不是分離。在空提示上按 `Ctrl+C` 兩次會分離,與任何工作階段中相同。231`Ctrl+C` 在附加時保持其標準中斷行為:它取消執行中的回應或 `!` shell 命令,而不是分離。在空提示上按 `Ctrl+C` 兩次會分離,與任何工作階段中相同。

232 232 

233分離永遠不會停止背景工作階段:`←`、`Ctrl+Z`、`/exit` 和雙 `Ctrl+C` 或雙 `Ctrl+D` 都會讓它繼續執行。要從內部結束工作階段,執行 `/stop`。233分離永遠不會停止背景工作階段:`←`、`Ctrl+Z`、`/exit` 和雙 `Ctrl+C` 或雙 `Ctrl+D` 都會讓它執行。若要從內部結束工作階段,請執行 `/stop`。

234 234 

235<h4 id="switch-sessions-without-leaving-the-terminal">235<h4 id="switch-sessions-without-leaving-the-terminal">

236 在不離開終端的情況下切換工作階段236 在不離開終端機的情況下切換工作階段

237</h4>237</h4>

238 238 

239在前景中執行的工作階段中,您在終端中啟動的工作階段而不是從 agent view 附加的工作階段,在空提示上按 `←` 會背景化它並開啟 agent view,預先選擇該行,因此您可以在不離開終端的情況下切換工作階段。同一個按鍵會分離附加的工作階段。239在前景執行的工作階段中,您在終端機中啟動的工作階段而不是從代理檢視附加的工作階段,在空提示上按 `←` 會背景執行它並開啟代理檢視,該列已選定,因此您可以在不離開終端機的情況下切換工作階段。相同的單次按下會分離附加的工作階段。

240 240 

241如果您在刪除提示的最後文字或通過提示歷史移動後立即按 `←`,Claude Code 會要求您確認:第一次按顯示 `Press ← again to open agents`,或在附加的工作階段中 `Press ← again to go back to agents`,第二次按會切換。241如果您在刪除提示的最後文字或移動提示歷史記錄後立即按 `←`,Claude Code 會要求您確認:第一次按下顯示 `Press ← again to open agents`,或在附加的工作階段中顯示 `Press ← again to go back to agents`,第二次按下切換。

242 242 

243當 `←` 背景化前景工作階段時,agent view 在列表上方顯示 `Your conversation moved to the background`,該工作階段的行已預先選擇。從那裡:243當 `←` 背景執行前景工作階段時,代理檢視在清單上方顯示 `Your conversation moved to the background`,該工作階段的列已選定。從那裡:

244 244 

245* 按 `Enter` 重新開啟對話。245* 按 `Enter` 重新開啟對話。

246* 按 `Esc` 撤銷切換並返回對話。如果 `Esc` 顯示 `Still starting — try again in a moment`,背景工作階段還沒準備好,所以稍後再按一次 `Esc`。246* 按 `Esc` 撤銷切換並返回對話。如果 `Esc` 顯示 `Still starting — try again in a moment`,背景工作階段還沒準備好,所以稍後再按一次 `Esc`。

247* 按 `Ctrl+C` 兩次以退出到 shell。247* 按 `Ctrl+C` 兩次以退出到您的 shell。

248 248 

249當 Claude Code 無法重新開啟對話時,它會退出並列印一個 `claude --resume` 命令來恢復它。249當 Claude Code 無法重新開啟對話時,它會退出並列印一個 `claude --resume` 命令來繼續它。

250 250 

251[Claude 的任務列表](/docs/zh-TW/interactive-mode#task-list)隨對話移動到背景工作階段,因此當您返回該行時檢查清單是完整的。251[Claude 的任務清單](/docs/zh-TW/interactive-mode#task-list) 隨著對話移動到背景工作階段,因此當您返回該列時檢查清單是完整的。

252 252 

253您按 `←` 的行在使用箭頭鍵或滑鼠移動選擇後也保持粗體、未淡化的名稱,因此您可以告訴您來自哪個工作階段。253您按 `←` 的列在使用箭頭鍵或滑鼠移動選擇後也保持粗體、未變暗的名稱,因此您可以判斷您來自哪個工作階段。

254 254 

255如果工具在您按 `←` 時執行,Claude Code 會等待最多約十秒鐘讓它完成然後背景化,回應在背景工作階段中繼續。再次按 `←` 以立即背景化,而不是等待。當進行中的工作無法轉移到背景工作階段時,Claude Code 會首先顯示 `Background this session?` 對話,與 [`/background`](#from-inside-a-session) 相同。十秒限制在[前景 subagents](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) Claude 在對話中啟動的仍在執行時不適用。Claude Code 會繼續等待,以便它們的工作能夠轉移,並在等待時顯示 `Still backgrounding after the current tool` 通知。再次按 `←` 以立即背景化而不等待,這會從頭開始重新啟動這些 subagents。Claude Code 不會等待[動態工作流程](/docs/zh-TW/workflows)執行的 subagents。當工作流程有 subagents 執行時,Claude Code 會改為顯示 `Background this session?` 對話。255如果在您按 `←` 時工具正在執行,Claude Code 會等待最多約十秒鐘讓它完成,然後背景執行,Claude 在背景工作階段中繼續回應。再次按 `←` 以立即背景執行而不是等待。當進行中的工作無法轉移到背景工作階段時,Claude Code 首先顯示 `Background this session?` 對話,與 [`/background`](#from-inside-a-session) 相同。

256 256 

257Claude Code 在您的提示輸入中有未發送的文字時不會背景化工作階段,因為文字會保留在您終端的輸入框中,不會移動到背景工作階段。如果您在 Claude Code 等待背景化工作階段時輸入到輸入中,它會取消切換,顯示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`257十秒限制在 [前景子代理](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) Claude 在對話中啟動的仍在執行時不適用。Claude Code 繼續等待以便它們的工作轉移,並在等待時顯示 `Still backgrounding after the current tool` 通知。再次按 `←` 以在不等待的情況下背景執行,這會從頭開始重新啟動這些子代理。Claude Code 不會等待 [動態工作流程](/docs/zh-TW/workflows) 正在執行的子代理。當工作流程有子代理執行時,Claude Code 改為顯示 `Background this session?` 對話。

258 258 

259按 `←` 會建立工作階段的行,即使對話還沒有訊息,所以 `→` 仍然會返回到它。259Claude Code 在您的提示輸入中有未發送的文字時不會背景執行工作階段,因為文字會保留在您終端機的輸入框中,不會移動到背景工作階段。如果在 Claude Code 等待背景執行工作階段時輸入到輸入中,它會以 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` 取消切換。

260 260 

261您可以在 `/config` 中使用 `leftArrowOpensAgents` 設定關閉此快捷鍵。261按 `←` 會建立工作階段的列,即使對話還沒有訊息,所以 `→` 仍然會返回到它。

262 

263您可以使用 `/config` 中的 `leftArrowOpensAgents` 設定關閉此快捷鍵。

262 264 

263<h3 id="organize-the-list">265<h3 id="organize-the-list">

264 組織列表266 組織清單

265</h3>267</h3>

266 268 

267Agent view 按狀態分組工作階段,需要輸入的工作階段在頂部,`Ready for review` 和 `Needs input` 在 `Working` 和 `Completed` 上方。這些組名稱不與上面的[狀態](#read-session-state)一一對應:當工作階段有開啟的拉取請求時,它會移動到 `Ready for review`,`Completed` 收集已完成、失敗和已停止的工作階段。269代理檢視分組工作階段,使需要輸入的工作階段位於頂部,`Ready for review` 和 `Needs input` 在 `Working` 和 `Completed` 上方。這些群組名稱不與上面的 [狀態](#read-session-state) 一一對應:當工作階段有開啟的拉取請求時,它會移動到 `Ready for review`,`Completed` 收集已完成、失敗和停止的工作階段。

268 270 

269按 `Ctrl+S` 改為按目錄分組。您的選擇在執行中保存。271按 `Ctrl+S` 改為按目錄分組。您的選擇在執行中持續存在。

270 272 

271在組內:273在群組內:

272 274 

273* 按 `Ctrl+T` 將工作階段固定到頂部並[在閒置時保持其程序執行](#the-supervisor-process)275* 按 `Ctrl+T` 將工作階段釘選到頂部並 [在閒置時保持其程序執行](#the-supervisor-process)

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

275* 按 `Ctrl+R` 重命名工作階段277* 按 `Ctrl+R` 重新命名工作階段

276* 在組標題上按 `Enter` 摺疊它278* 在群組標題上按 `Enter` 以摺疊它

277 279 

278要移除工作階段,按 `Ctrl+X` 停止它,然後在兩秒內再次按 `Ctrl+X` 刪除它。在組標題上按 `Ctrl+X` 會在確認後刪除該組中的每個工作階段。280若要從清單中移除工作階段,按 `Ctrl+X` 停止它,然後在兩秒內再次按 `Ctrl+X` 以刪除它。在群組標題上按 `Ctrl+X` 會在確認後刪除該群組中的每個工作階段。

279 281 

280第二次按會刪除工作階段,即使停止嘗試失敗,例如因為[背景服務沒有回應](#agent-view-says-the-background-service-did-not-respond):確認會再保持活動兩秒,刪除會結束工作階段的程序本身。按 `Esc` 以在不刪除的情況下關閉確認。282第二次按下會刪除工作階段,即使停止嘗試失敗,例如因為 [背景服務沒有回應](#agent-view-says-the-background-service-did-not-respond):確認會再保持活動兩秒,刪除會結束工作階段的程序本身。按 `Esc` 以在不刪除的情況下關閉確認。

281 283 

282除了[刪除工作階段會移除什麼](#what-deleting-a-session-removes)中涵蓋的保留情況外,刪除會從列表中移除工作階段,Claude 為其建立的 worktree 會被移除、保留或留在原地,取決於您如何刪除以及 worktree 保留的內容。對話記錄始終保留在您的本機上,可通過 `claude --resume` 存取。284除了 [刪除工作階段會移除什麼](#what-deleting-a-session-removes) 中涵蓋的保留情況外,刪除會從清單中移除工作階段,Claude 為其建立的 worktree 會被移除、保留或保留在原位,取決於您如何刪除以及 worktree 保留的內容。對話文字記錄始終保留在您的本機上,可透過 `claude --resume` 取得。

283 285 

284要在 Claude Code v2.1.212 或更新版本上恢復工作階段,在分派輸入中輸入 `/resume`。選擇器開啟,顯示您開啟 agent view 的儲存庫的過去工作階段,最新的優先,包括您從列表中刪除的工作階段;已有行的工作階段不會列出。`↑`/`↓` 移動選擇,`Enter` 將選定的工作階段恢復為背景工作階段,使其重新加入列表作為行,`Esc` 關閉選擇器。286若要在 Claude Code v2.1.212 或更新版本上恢復工作階段,請在分派輸入中輸入 `/resume`。選擇器開啟,顯示您開啟代理檢視的儲存庫的過去工作階段,最新的優先,包括您從清單中刪除的工作階段;已有列的工作階段不會列出。`↑`/`↓` 移動選擇,`Enter` 將選定的工作階段繼續為背景工作階段,使其作為列重新加入清單,`Esc` 關閉選擇器。

285 287 

286選擇器只在裸 `/resume` 時開啟。有目標、範圍或受限的恢復無法由選擇器提供,因此當以下情況時 agent view 會顯示 `attach to a session to run it` 提示:288選擇器只在裸 `/resume` 時開啟。有目標、範圍或受限的繼續無法由選擇器提供,因此當以下情況時代理檢視顯示 `attach to a session to run it` 提示:

287 289 

288* `/resume` 命名 id 或搜尋詞290* `/resume` 命名 id 或搜尋詞

289* 檢視以 `--cwd` 為範圍291* 檢視以 `--cwd` 為範圍

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

291* 檢視以 `--permission-mode` 或 `--settings` 等旗標開啟293* 檢視以 `--permission-mode` 或 `--settings` 等旗標開啟

292 294 

293不適合螢幕的已完成工作階段摺疊為 `… N more` 行。失敗和具有開啟拉取請求的工作階段始終保持可見。`Completed` 組填充在即時組之後剩餘的垂直空間,在短終端上,標題會壓縮為單行摘要,以便正在工作或需要輸入的工作階段保持可見。295不適合螢幕的已完成工作階段會摺疊成 `… N more` 列。失敗和有開啟拉取請求的工作階段始終保持可見。`Completed` 群組填滿即時群組後剩下的垂直空間,在短終端機上標題會壓縮為單一摘要行,以便工作中或需要輸入的工作階段保持可見。

294 296 

295<h3 id="filter-sessions">297<h3 id="filter-sessions">

296 篩選工作階段298 篩選工作階段


299在分派輸入中輸入以篩選而不是分派:301在分派輸入中輸入以篩選而不是分派:

300 302 

301| 篩選 | 顯示 |303| 篩選 | 顯示 |

302| :----------------------- | :----------------------------------------------------- |304| :----------------------- | :---------------------------------------------------- |

303| `a:<name>` | 執行命名代理的工作階段 |305| `a:<name>` | 執行命名代理的工作階段 |

304| `s:<state>` | 給定狀態中的工作階段,例如 `s:working`。也接受 `s:blocked` 表示等待您的所有工作階段 |306| `s:<state>` | 給定狀態中的工作階段,例如 `s:working`。也接受 `s:blocked` 以獲得等待您的所有內容 |

305| `#<number>` 或拉取或合併請求 URL | 在該拉取請求或合併請求上工作的工作階段 |307| `#<number>` 或拉取或合併請求 URL | 在該拉取請求或合併請求上工作的工作階段 |

306| 任何其他 URL | 其第一個提示包含該 URL 的工作階段 |308| 任何其他 URL | 其第一個提示包含該 URL 的工作階段 |

307 309 

308<h3 id="keyboard-shortcuts">310<h3 id="keyboard-shortcuts">

309 快捷鍵311 鍵盤快捷鍵

310</h3>312</h3>

311 313 

312在 agent view 中按 `?` 查看每個快捷鍵。下表總結了它們。314在代理檢視中按 `?` 以查看上下文中的每個快捷鍵。下表總結了它們。

313 315 

314| 快捷鍵 | 動作 |316| 快捷鍵 | 動作 |

315| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

316| `↑` / `↓` | 在行之間移動 |318| `↑` / `↓` | 在列之間移動 |

317| `Enter` | 附加到選定的工作階段,或如果輸入中有文字則分派 |319| `Enter` | 附加到選定的工作階段,或如果輸入中有文字則分派 |

318| `Space` | 開啟或關閉選定工作階段的查看面板 |320| `Space` | 開啟或關閉選定工作階段的查看面板 |

319| `Shift+Enter` | 在分派輸入中插入新行,[如同主提示](/docs/zh-TW/terminal-config#enter-multiline-prompts) |321| `Shift+Enter` | 在分派輸入中插入新行,[如主提示中所示](/docs/zh-TW/terminal-config#enter-multiline-prompts) |

320| `Ctrl+Enter` | 分派並立即附加,在終端中 `?` overlay 列出 `ctrl+enter to start and open` |322| `Ctrl+Enter` | 分派並立即附加,在終端機中 `?` 覆蓋層列出 `ctrl+enter to start and open` |

321| `→` | 附加到選定的工作階段 |323| `→` | 附加到選定的工作階段 |

322| `Alt+1`..`Alt+9` | 附加到焦點工作階段目錄中的工作階段 1–9 |324| `Alt+1`..`Alt+9` | 附加到聚焦工作階段目錄中的工作階段 1–9 |

323| `Tab` | 在空輸入上,瀏覽所有 subagents。否則應用突出顯示的建議 |325| `Tab` | 在空輸入上,瀏覽所有子代理。否則應用突出顯示的建議 |

324| `Ctrl+S` | 在狀態和目錄之間切換分組 |326| `Ctrl+S` | 在狀態和目錄之間切換分組 |

325| `Ctrl+T` | 固定或取消固定選定的工作階段 |327| `Ctrl+T` | 釘選或取消釘選選定的工作階段 |

326| `Ctrl+R` | 重命名選定的工作階段 |328| `Ctrl+R` | 重新命名選定的工作階段 |

327| `Ctrl+G` | 在您的 `$VISUAL` 或 `$EDITOR` 中開啟分派提示 |329| `Ctrl+G` | 在您的 `$VISUAL` 或 `$EDITOR` 中開啟分派提示 |

328| `Ctrl+J` | 在分派輸入中插入新行 |330| `Ctrl+J` | 在分派輸入中插入新行 |

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

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

331| `Esc` | 關閉查看面板、清除輸入或退出。當您通過使用 `←` 背景化工作階段開啟 agent view 時,最後的 `Esc` 會返回該對話而不是退出。啟用 [vim 編輯器模式](/docs/zh-TW/interactive-mode#vim-editor-mode)時,在輸入中按 `Esc` 會從 INSERT 切換到 NORMAL 模式並保留您的文字,如同主提示 |333| `Esc` | 關閉查看面板、清除輸入或退出。當您透過使用 `←` 背景執行工作階段開啟代理檢視時,最終 `Esc` 會返回到該對話而不是退出。啟用 [vim 編輯器模式](/docs/zh-TW/interactive-mode#vim-editor-mode) 後,在輸入中按 `Esc` 會從 INSERT 切換到 NORMAL 模式並保留您的文字,如主提示中所示 |

332| `Ctrl+C` | 清除輸入;按兩次退出 |334| `Ctrl+C` | 清除輸入;按兩次以退出 |

333| `?` | 顯示所有快捷鍵 |335| `?` | 顯示所有快捷鍵 |

334 336 

335`Ctrl+S`、`Ctrl+T` 和 `Ctrl+G` 遵循您的 [`keybindings.json`](/docs/zh-TW/keybindings)。使用 [`Agents` 上下文](/docs/zh-TW/keybindings#agents-actions)中的 `agents:switchView` 和 `agents:togglePin` 動作重新綁定或取消綁定 `Ctrl+S` 和 `Ctrl+T`,以及通過 `Chat` 上下文的 `chat:externalEditor` 綁定重新綁定 `Ctrl+G`。表中的其他快捷鍵無法重新綁定。337`Ctrl+S`、`Ctrl+T` 和 `Ctrl+G` 遵循您的 [`keybindings.json`](/docs/zh-TW/keybindings)。在 [`Agents` 上下文](/docs/zh-TW/keybindings#agents-actions) 中使用 `agents:switchView` 和 `agents:togglePin` 動作重新繫結或取消繫結 `Ctrl+S` 和 `Ctrl+T`,以及透過 `Chat` 上下文的 `chat:externalEditor` 繫結重新繫結 `Ctrl+G`。表中的其他快捷鍵無法重新繫結。

336 338 

337<h2 id="dispatch-new-agents">339<h2 id="dispatch-new-agents">

338 分派新代理340 分派新代理


1035* [在平行中執行代理](/docs/zh-TW/agents):比較 agent view 與 subagents、agent teams 和 worktrees1037* [在平行中執行代理](/docs/zh-TW/agents):比較 agent view 與 subagents、agent teams 和 worktrees

1036* [跨工作階段傳訊](/docs/zh-TW/cross-session-messaging):讓您的工作階段相互傳遞發現結果1038* [跨工作階段傳訊](/docs/zh-TW/cross-session-messaging):讓您的工作階段相互傳遞發現結果

1037* [Agent teams](/docs/zh-TW/agent-teams):協調相互傳遞訊息的多個工作階段1039* [Agent teams](/docs/zh-TW/agent-teams):協調相互傳遞訊息的多個工作階段

1038* [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web):在受管雲環境中執行工作階段,而不是本地執行1040* [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web):在受管雲環境中執行工作階段,而不是本地執行

1041* [Projects](/docs/zh-TW/claude-projects):讓 Claude 從一個對話協調平行雲工作階段,並告訴您哪些需要您

1039 1042 

1040<h2 id="version-history">1043<h2 id="version-history">

1041 版本歷史1044 版本歷史


1046| 版本 | 變更 |1049| 版本 | 變更 |

1047| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1048| v2.1.268 | 當[刪除因 git 或您的 `WorktreeRemove` hook 無法移除 worktree 而被拒絕](#what-deleting-a-session-removes)時,訊息會命名原因,包括 hook 如何結束及其 stderr 的開始。對於位於儲存庫的 `.claude/worktrees/` 下的連結 worktree,沒有對追蹤檔案的未提交變更、其內沒有巢狀儲存庫,且沒有其他工作階段的記錄命名它,再次刪除工作階段會從 agent view 或使用 `claude rm <id> --force-remove-worktree <worktree-id>` 移除目錄。在此版本之前,列只顯示 `worktree could not be removed (WorktreeRemove hook failed)` 或 git 的錯誤,hook 的 stderr 只進入偵錯日誌,再次刪除被以相同方式拒絕。 |1051| v2.1.268 | 當[刪除因 git 或您的 `WorktreeRemove` hook 無法移除 worktree 而被拒絕](#what-deleting-a-session-removes)時,訊息會命名原因,包括 hook 如何結束及其 stderr 的開始。對於位於儲存庫的 `.claude/worktrees/` 下的連結 worktree,沒有對追蹤檔案的未提交變更、其內沒有巢狀儲存庫,且沒有其他工作階段的記錄命名它,再次刪除工作階段會從 agent view 或使用 `claude rm <id> --force-remove-worktree <worktree-id>` 移除目錄。在此版本之前,列只顯示 `worktree could not be removed (WorktreeRemove hook failed)` 或 git 的錯誤,hook 的 stderr 只進入偵錯日誌,再次刪除被以相同方式拒絕。 |

1052| v2.1.268 | 在第一個 `←` 顯示 `Press ← again to open agents` 或在附加的工作階段中 `Press ← again to go back to agents` 後,[至少一秒後到達的第一次按下會切換](#switch-sessions-without-leaving-the-terminal),即使中間更快的按下被忽略。在此版本之前,每次被忽略的按下都會重新啟動等待,所以以穩定的速度再次按 `←` 直到您暫停超過一秒才會切換。 |

1049| v2.1.260 | 當您[背景化工作階段](#from-inside-a-session)時,您的其他工作階段的[代理清單](/docs/zh-TW/cross-session-messaging#see-which-sessions-claude-can-reach)會顯示對話一次,作為其背景工作階段,它們對它的訊息不再到達您移動它的終端。在此版本之前,該終端可能會在對話名稱下列為第二個互動工作階段,在移動前已訊息對話的工作階段會繼續傳遞到該終端。 |1053| v2.1.260 | 當您[背景化工作階段](#from-inside-a-session)時,您的其他工作階段的[代理清單](/docs/zh-TW/cross-session-messaging#see-which-sessions-claude-can-reach)會顯示對話一次,作為其背景工作階段,它們對它的訊息不再到達您移動它的終端。在此版本之前,該終端可能會在對話名稱下列為第二個互動工作階段,在移動前已訊息對話的工作階段會繼續傳遞到該終端。 |

1050| v2.1.260 | 當[刪除因未推送的提交而被拒絕](#what-deleting-a-session-removes)時,訊息會命名 worktree 的分支及有多少提交未推送,再次刪除工作階段會丟棄 worktree 及其提交。在此版本之前,拒絕只說 `worktree has commits that are not pushed anywhere`,再次刪除被以相同方式拒絕,刪除工作階段需要推送提交或手動移除 worktree。 |1054| v2.1.260 | 當[刪除因未推送的提交而被拒絕](#what-deleting-a-session-removes)時,訊息會命名 worktree 的分支及有多少提交未推送,再次刪除工作階段會丟棄 worktree 及其提交。在此版本之前,拒絕只說 `worktree has commits that are not pushed anywhere`,再次刪除被以相同方式拒絕,刪除工作階段需要推送提交或手動移除 worktree。 |

1051| v2.1.257 | `←` [在 `/btw` 覆蓋層開啟時從附加的工作階段分離](#attach-to-a-session),即使在中途回答,覆蓋層會在您下次附加時重新開啟。在此版本之前,覆蓋層開啟時 `←` 不會分離。 |1055| v2.1.257 | `←` [在 `/btw` 覆蓋層開啟時從附加的工作階段分離](#attach-to-a-session),即使在中途回答,覆蓋層會在您下次附加時重新開啟。在此版本之前,覆蓋層開啟時 `←` 不會分離。 |


1058| v2.1.257 | 在開啟的背景工作階段內使用 `Ctrl+S` 隱藏的提示[與工作階段一起保留](#what-persists-across-restarts),所以 `Ctrl+S` 在工作階段的程序停止並再次啟動後恢復它。在此版本之前,隱藏只存在於執行中的程序中,當工作階段閒置足夠長的時間以至於其程序停止時,或當它停止然後重新開啟時會遺失。 |1062| v2.1.257 | 在開啟的背景工作階段內使用 `Ctrl+S` 隱藏的提示[與工作階段一起保留](#what-persists-across-restarts),所以 `Ctrl+S` 在工作階段的程序停止並再次啟動後恢復它。在此版本之前,隱藏只存在於執行中的程序中,當工作階段閒置足夠長的時間以至於其程序停止時,或當它停止然後重新開啟時會遺失。 |

1059| v2.1.251 | 在尚未[移入 worktree](#how-file-edits-are-isolated) 的背景工作階段中,Claude 和它生成的子代理可以編輯連結 git worktree 內的檔案。 |1063| v2.1.251 | 在尚未[移入 worktree](#how-file-edits-are-isolated) 的背景工作階段中,Claude 和它生成的子代理可以編輯連結 git worktree 內的檔案。 |

1060| v2.1.251 | Claude Code 轉發在您分派的 shell 中匯出的雲端提供者閘道,例如 `ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 及其驗證繞過旗標,到[工作階段的工作程序](#llm-gateway),條件與 `ANTHROPIC_BASE_URL` 相同。在此版本之前,如果您只透過這樣的閘道背景化或分派,工作階段進行的每個請求都失敗,因為端點和旗標從其環境中被丟棄。 |1064| v2.1.251 | Claude Code 轉發在您分派的 shell 中匯出的雲端提供者閘道,例如 `ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 及其驗證繞過旗標,到[工作階段的工作程序](#llm-gateway),條件與 `ANTHROPIC_BASE_URL` 相同。在此版本之前,如果您只透過這樣的閘道背景化或分派,工作階段進行的每個請求都失敗,因為端點和旗標從其環境中被丟棄。 |

1061| v2.1.251 | 當背景工作階段在另一個 Claude Code 程序重新整理[外掛程式市場](/docs/zh-TW/plugin-marketplaces)時啟動,例如執行[市場自動更新](/docs/zh-TW/discover-plugins#configure-auto-updates)的同級工作階段,Claude Code 保持該市場的外掛程式可用。在此版本之前,這樣的工作階段可能在沒有該市場的任何技能、代理、hook 和 MCP 伺服器的情況下啟動,並在其整個執行期間保持這樣。 |1065| v2.1.251 | 當背景工作階段在另一個 Claude Code 程序重新整理[外掛程式市場](/docs/zh-TW/plugin-marketplaces)時啟動,例如執行[市場自動更新](/docs/zh-TW/discover-plugins#configure-auto-updates)的同級工作階段,Claude Code 保持該市場的外掛程式可用。在此版本之前,這樣的工作階段可能在沒有該市場的任何技能、代理、hooks 和 MCP 伺服器的情況下啟動,並在其整個執行期間保持這樣。 |

1062| v2.1.248 | [分派輸入](#keyboard-shortcuts)中的 `Shift+Enter` 插入換行符,符合主提示,`Ctrl+Enter` 在 `?` 覆蓋層列出 `ctrl+enter to start and open` 的終端中立即分派並附加。在此版本之前,`Shift+Enter` 分派並附加。 |1066| v2.1.248 | [分派輸入](#keyboard-shortcuts)中的 `Shift+Enter` 插入換行符,符合主提示,`Ctrl+Enter` 在 `?` 覆蓋層列出 `ctrl+enter to start and open` 的終端中立即分派並附加。在此版本之前,`Shift+Enter` 分派並附加。 |

1063| v2.1.248 | [刪除工作階段](#what-deleting-a-session-removes)在 worktree 的提交已在您的 `origin` 遠端預設分支的本機副本上且您的主簽出已簽出該分支時成功;在此版本之前,刪除被拒絕,出現 `has commits that are not pushed anywhere`。 |1067| v2.1.248 | [刪除工作階段](#what-deleting-a-session-removes)在 worktree 的提交已在您的 `origin` 遠端預設分支的本機副本上且您的主簽出已簽出該分支時成功;在此版本之前,刪除被拒絕,出現 `has commits that are not pushed anywhere`。 |

1064| v2.1.248 | 使用 `←` 或 `/background` 背景化的工作階段在執行時持有其 worktree 上的 [`git worktree lock`](/docs/zh-TW/worktrees#clean-up-subagent-and-background-session-worktrees);在此版本之前,背景化釋放鎖定,清理或 `git worktree remove` 可以在執行中的工作階段下移除 worktree。 |1068| v2.1.248 | 使用 `←` 或 `/background` 背景化的工作階段在執行時持有其 worktree 上的 [`git worktree lock`](/docs/zh-TW/worktrees#clean-up-subagent-and-background-session-worktrees);在此版本之前,背景化釋放鎖定,清理或 `git worktree remove` 可以在執行中的工作階段下移除 worktree。 |

agents.md +4 −3

Details

4 4 

5# 平行執行代理5# 平行執行代理

6 6 

7> 比較 Claude Code 同時執行多項任務的方式:子代理、代理檢視、代理團隊和動態工作流程。7> 比較 Claude Code 同時執行多項任務的方式:子代理、代理檢視、代理團隊、動態工作流程和專案。

8 8 

9[子代理](/docs/zh-TW/sub-agents)、[代理檢視](/docs/zh-TW/agent-view)、[代理團隊](/docs/zh-TW/agent-teams) 和 [動態工作流程](/docs/zh-TW/workflows) 各自以不同的方式並行化工作。選擇哪一種取決於您是否想要自己留在每個對話中、交付任務並稍後檢查,或讓 Claude 為您協調一組工作人員。9Claude Code 有五種方式可以同時處理多項任務:[子代理](/docs/zh-TW/sub-agents)、[代理檢視](/docs/zh-TW/agent-view)、[代理團隊](/docs/zh-TW/agent-teams)、[動態工作流程](/docs/zh-TW/workflows) 和 [專案](/docs/zh-TW/claude-projects)。它們在您的參與程度上有所不同,從自己引導每個對話到讓 Claude 協調一組工作人員,以及工作是在您的機器上執行還是在雲端執行。

10 10 

11| 方法 | 提供的功能 | 使用時機 |11| 方法 | 提供的功能 | 使用時機 |

12| :------------------------- | :----------------------------------------------- | :---------------------------------------------------------------- |12| :--------------------------- | :------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------- |

13| [子代理](/docs/zh-TW/sub-agents) | 在一個工作階段內的委派工作人員,在自己的上下文中執行側邊任務並返回摘要 | 側邊任務會用搜尋結果、日誌或檔案內容淹沒您的主要對話,而您不會再次參考這些內容 |13| [子代理](/docs/zh-TW/sub-agents) | 在一個工作階段內的委派工作人員,在自己的上下文中執行側邊任務並返回摘要 | 側邊任務會用搜尋結果、日誌或檔案內容淹沒您的主要對話,而您不會再次參考這些內容 |

14| [代理檢視](/docs/zh-TW/agent-view) | 一個畫面可以分派和監控在背景執行的工作階段,使用 `claude agents` 開啟。研究預覽 | 您有多個獨立任務,想要交付它們,一目瞭然地檢查狀態,並且只在其中一個需要您時才介入 |14| [代理檢視](/docs/zh-TW/agent-view) | 一個畫面可以分派和監控在背景執行的工作階段,使用 `claude agents` 開啟。研究預覽 | 您有多個獨立任務,想要交付它們,一目瞭然地檢查狀態,並且只在其中一個需要您時才介入 |

15| [代理團隊](/docs/zh-TW/agent-teams) | 多個協調的工作階段,具有共享的任務清單和代理間訊息傳遞,由主導者管理。實驗性功能,預設停用 | 您希望 Claude 將專案分成多個部分、分配它們,並保持工作人員同步 |15| [代理團隊](/docs/zh-TW/agent-teams) | 多個協調的工作階段,具有共享的任務清單和代理間訊息傳遞,由主導者管理。實驗性功能,預設停用 | 您希望 Claude 將專案分成多個部分、分配它們,並保持工作人員同步 |

16| [專案](/docs/zh-TW/claude-projects) | 在 claude.ai/code 或桌面應用程式中進行的一個持續對話。Claude 啟動稱為執行緒的平行雲端工作階段,為每個工作階段提供專案的儲存庫、指示和記憶,並向您顯示哪些需要您。Pro 和 Max 上的公開測試版 | 工作跨越許多任務,持續數天或數週,應在您的機器關閉時繼續執行,並且您寧願描述一次而不是分派和追蹤每個工作階段 |

16| [動態工作流程](/docs/zh-TW/workflows) | 執行許多子代理並交叉檢查其結果的指令碼,適用於太大而無法一次協調或需要多次傳遞的工作 | 工作超出了少數子代理的範圍,或您希望針對彼此驗證發現:整個程式碼庫審計、500 個檔案遷移、交叉檢查的研究,或從多個角度起草的計畫 |17| [動態工作流程](/docs/zh-TW/workflows) | 執行許多子代理並交叉檢查其結果的指令碼,適用於太大而無法一次協調或需要多次傳遞的工作 | 工作超出了少數子代理的範圍,或您希望針對彼此驗證發現:整個程式碼庫審計、500 個檔案遷移、交叉檢查的研究,或從多個角度起草的計畫 |

17 18 

18在每種方法中,工作人員都是 Claude 工作階段。若要涉及不同的工具,請將其作為 [MCP 伺服器](/docs/zh-TW/mcp) 公開給 Claude。19在每種方法中,工作人員都是 Claude 工作階段。若要涉及不同的工具,請將其作為 [MCP 伺服器](/docs/zh-TW/mcp) 公開給 Claude。

amazon-bedrock.md +20 −20

Details

117 手動設定117 手動設定

118</h2>118</h2>

119 119 

120若要透過環境變數而非精靈來設定 Amazon Bedrock(例如在 CI 或指令碼化企業推出中),請遵循下列步驟。120若要透過環境變數而非精靈來設定 Amazon Bedrock(例如在 CI 或指令碼化企業推出中),請按照下列步驟進行。

121 121 

122<h3 id="1-submit-use-case-details">122<h3 id="1-submit-use-case-details">

123 1. 提交使用案例詳細資訊123 1. 提交使用案例詳細資訊


126在您首次叫用 Anthropic 模型之前,請提交使用案例詳細資訊。您每個 AWS 帳戶只需執行一次。126在您首次叫用 Anthropic 模型之前,請提交使用案例詳細資訊。您每個 AWS 帳戶只需執行一次。

127 127 

1281. 確保您擁有下述所需的 IAM 權限1281. 確保您擁有下述所需的 IAM 權限

1292. 瀏覽至 [Amazon Bedrock 主控台](https://console.aws.amazon.com/bedrock/)1292. 前往 [Amazon Bedrock 主控台](https://console.aws.amazon.com/bedrock/)

1303. 從**模型目錄**中選取 Anthropic 模型1303. 從**模型目錄**中選取 Anthropic 模型

1314. 完成使用案例表單。提交後立即授予存取權限。1314. 完成使用案例表單。提交後立即授予存取權限。

132 132 


162export AWS_PROFILE=your-profile-name162export AWS_PROFILE=your-profile-name

163```163```

164 164 

165Claude Code 從設定檔的 `sso_region` 命名的 IAM Identity Center 區域要求角色認證,這不需要與您執行 Amazon Bedrock 的區域相符。在 v2.1.207 中,Amazon Bedrock 區域覆寫了 `sso_region`,因此 IAM Identity Center 執行個體位於不同區域的設定檔無法使用 `Session token not found or invalid` 錯誤進行驗證。165Claude Code 從設定檔的 `sso_region` 命名的 IAM Identity Center 區域要求角色認證,這不需要與您執行 Amazon Bedrock 的區域相符。在 v2.1.207 中,Amazon Bedrock 區域覆寫了 `sso_region`,因此設定檔的 IAM Identity Center 執行個體位於不同區域時,驗證失敗並出現 `Session token not found or invalid` 錯誤。

166 166 

167**選項 D:AWS Management Console 認證**167**選項 D:AWS Management Console 認證**

168 168 


184 認證快取和解析逾時184 認證快取和解析逾時

185</h4>185</h4>

186 186 

187Claude Code 解析 AWS 預設認證提供者鏈一次,並將解析的認證保留在記憶體中。它會重複使用它們,直到它們過期前五分鐘,或在沒有過期時間時使用一小時,因此 SSO 支援的設定檔大約每個認證生命週期從 IAM Identity Center 要求一次認證。來自 API 的認證錯誤會清除快取,重試會解析新認證。需要 Claude Code v2.1.207 或更新版本。187Claude Code 解析 AWS 預設認證提供者鏈一次,並將解析的認證保留在記憶體中。它會重複使用這些認證,直到它們過期前五分鐘,或在沒有過期時間時使用一小時,因此 SSO 支援的設定檔大約每個認證生命週期向 IAM Identity Center 要求一次認證。來自 API 的認證錯誤會清除快取,重試會解析新認證。需要 Claude Code v2.1.207 或更新版本。

188 188 

189快取涵蓋上述所有認證選項,除了 Amazon Bedrock API 金鑰(不使用提供者鏈)。若要改為在每個要求上解析鏈,請設定 [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/zh-TW/env-vars)。189快取涵蓋上述所有認證選項,除了 Amazon Bedrock API 金鑰(不使用提供者鏈)。若要改為在每個要求上解析鏈,請設定 [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/zh-TW/env-vars)。

190 190 

191鏈的每次解析在 60 秒後逾時。如果鏈中的步驟停滯,例如等待無法接收的輸入的 `credential_process` 協助程式,要求會失敗並出現 [`AWS default-chain credential resolve timed out`](/docs/zh-TW/errors#aws-default-chain-credential-resolve-timed-out)。如果您的鏈執行合法需要更長時間的互動式登入,例如透過 `aws-vault` 之類的包裝程式進行瀏覽器型 SSO 搭配 MFA,請使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-TW/env-vars) 以毫秒為單位提高限制。在 v2.1.207 之前,停滯的認證解析會使要求無限期等待。191鏈的每次解析在 60 秒後逾時。如果鏈中的步驟停滯,例如等待無法接收的輸入的 `credential_process` 協助程式,要求會失敗並出現 [`AWS default-chain credential resolve timed out`](/docs/zh-TW/errors#aws-default-chain-credential-resolve-timed-out)。如果您的鏈執行合法需要更長時間的互動式登入,例如透過 `aws-vault` 之類的包裝程式進行瀏覽器型 SSO 搭配 MFA,請使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-TW/env-vars) 以毫秒為單位提高限制。在 v2.1.207 之前,停滯的認證解析會讓要求無限期等待。

192 192 

193除了使用 Amazon Bedrock API 金鑰進行驗證外,[設定精靈](#sign-in-with-bedrock)會對它在驗證您的認證時進行的每個 AWS 呼叫以及每個模型檢查之前的認證查詢套用相同的限制。在認證驗證期間,超過限制的檢查會失敗並出現 [`Timed out after 60s waiting for AWS`](/docs/zh-TW/errors#bedrock-setup-verification-timed-out-waiting-for-aws)。193除了使用 Amazon Bedrock API 金鑰進行驗證外,[設定精靈](#sign-in-with-bedrock)會對它在驗證您的認證時進行的每個 AWS 呼叫,以及在每個模型檢查之前的認證查詢應用相同的限制。在認證驗證期間,超過限制的檢查會失敗並出現 [`Timed out after 60s waiting for AWS`](/docs/zh-TW/errors#bedrock-setup-verification-timed-out-waiting-for-aws)。

194 194 

195<h4 id="advanced-credential-configuration">195<h4 id="advanced-credential-configuration">

196 進階認證設定196 進階認證設定

197</h4>197</h4>

198 198 

199Claude Code 支援 AWS SSO 和公司身分提供者的自動認證重新整理。將這些設定新增至您的 Claude Code 設定檔(請參閱[設定](/docs/zh-TW/settings)以取得檔案位置)。199Claude Code 支援 AWS SSO 和公司身分提供者的自動認證重新整理。將這些設定新增至您的 Claude Code 設定檔(請參閱[設定](/docs/zh-TW/settings)以了解檔案位置)。

200 200 

201這兩個設定有不同的觸發條件:201這兩個設定有不同的觸發條件:

202 202 

203* **`awsAuthRefresh`**:僅在 Claude Code 偵測到您的 AWS 認證已過期時執行,無論是根據其時間戳記在本機還是當 API 傳回認證錯誤時,然後使用重新整理的認證重試要求。203* **`awsAuthRefresh`**:僅在 Claude Code 偵測到您的 AWS 認證已過期時執行,可根據其時間戳記在本機偵測,或在 API 傳回認證錯誤時執行,然後使用重新整理的認證重試要求。

204* **`awsCredentialExport`**:在工作階段開始和每次認證重新載入時執行,即使 AWS 預設認證提供者鏈中的認證仍然有效。當您的 Amazon Bedrock 帳戶需要與預設提供者鏈會解析的認證不同的跨帳戶認證時,請使用此選項。204* **`awsCredentialExport`**:在工作階段開始和每次認證重新載入時執行,即使 AWS 預設認證提供者鏈中的認證仍然有效。當您的 Amazon Bedrock 帳戶需要與預設提供者鏈會解析的認證不同的跨帳戶認證時,請使用此選項。

205 205 

206在執行 `awsAuthRefresh` 命令之前,Claude Code 會進行 STS `GetCallerIdentity` 呼叫以確認您的認證確實已過期,並在認證仍然有效時跳過該命令。Claude Code 透過您的[代理設定](/docs/zh-TW/network-config#proxy-configuration)傳送此檢查,遵守 `HTTPS_PROXY` 和 `NO_PROXY`。在 v2.1.239 之前,Claude Code 直接傳送此檢查,並在僅允許透過代理進行出口的網路上在啟動時掛起。206在執行 `awsAuthRefresh` 命令之前,Claude Code 會進行 STS `GetCallerIdentity` 呼叫以確認您的認證確實已過期,並在認證仍然有效時略過該命令。Claude Code 透過您的[代理設定](/docs/zh-TW/network-config#proxy-configuration)傳送此檢查,遵守 `HTTPS_PROXY` 和 `NO_PROXY`。在 v2.1.239 之前,Claude Code 直接傳送此檢查,並在僅允許透過代理進行出口的網路上在啟動時掛起。

207 207 

208<h5 id="example-configuration">208<h5 id="example-configuration">

209 範例設定209 範例設定


219```219```

220 220 

221<h5 id="configuration-settings-explained">221<h5 id="configuration-settings-explained">

222 設定設定說明222 設定說明

223</h5>223</h5>

224 224 

225**`awsAuthRefresh`**:用於修改 `.aws` 目錄的命令,例如更新認證、SSO 快取或設定檔。命令的輸出會顯示給使用者,但不支援互動式輸入。這適用於瀏覽器型 SSO 流程,其中 CLI 顯示 URL 或代碼,您在瀏覽器中完成驗證。225**`awsAuthRefresh`**:用於修改 `.aws` 目錄的命令,例如更新認證、SSO 快取或設定檔。命令的輸出會顯示給使用者,但不支援互動式輸入。這適用於瀏覽器型 SSO 流程,其中 CLI 顯示 URL 或代碼,您在瀏覽器中完成驗證。


237}237}

238```238```

239 239 

240自 Claude Code v2.1.181 起,也接受來自 `aws configure export-credentials --format process` 的平面輸出,其中相同的金鑰位於頂層而不是巢狀在 `Credentials` 下。240來自 `aws configure export-credentials --format process` 的平面輸出也被接受,其中相同的金鑰位於頂層而非巢狀在 `Credentials` 下。

241 241 

242`Expiration` 是選用的。當命令傳回有效的 ISO 8601 `Expiration` 時,Claude Code 會快取認證直到該時間前五分鐘。沒有它,認證會快取一小時。242`Expiration` 是選用的。當命令傳回有效的 ISO 8601 `Expiration` 時,Claude Code 會快取認證直到該時間前五分鐘。沒有它時,認證會快取一小時。

243 243 

244當您設定 `awsCredentialExport` 而不設定 `awsAuthRefresh` 時,Claude Code 直接使用匯出的認證,不會在啟動時重新解析 AWS 預設認證提供者鏈。需要 Claude Code v2.1.206 或更新版本。244當您設定 `awsCredentialExport` 而不設定 `awsAuthRefresh` 時,Claude Code 會直接使用匯出的認證,並在啟動時不重新解析 AWS 預設認證提供者鏈。需要 Claude Code v2.1.206 或更新版本。

245 245 

246<h3 id="3-configure-claude-code">246<h3 id="3-configure-claude-code">

247 3. 設定 Claude Code247 3. 設定 Claude Code


265 265 

266為 Claude Code 啟用 Amazon Bedrock 時,請記住以下事項:266為 Claude Code 啟用 Amazon Bedrock 時,請記住以下事項:

267 267 

268* 您只需設定 `AWS_REGION` 以覆寫您的 AWS 設定檔的區域或當您的設定檔沒有區域時。Claude Code 按此順序解析區域:268* 您只需設定 `AWS_REGION` 以覆寫您的 AWS 設定檔的區域,或在您的設定檔沒有區域時設定。Claude Code 按此順序解析區域:

269 269 

270 * `AWS_REGION`270 * `AWS_REGION`

271 * `AWS_DEFAULT_REGION`271 * `AWS_DEFAULT_REGION`


286</h3>286</h3>

287 287 

288<Warning>288<Warning>

289 在部署到多個使用者時釘選特定模型版本。不釘選,模型別名(例如 `sonnet` 和 `opus`)會解析為 Claude Code 對 Amazon Bedrock 的內建預設值,這可能會滯後最新版本,且可能在您的帳戶中尚未提供。Claude Code 在啟動時[回退](#startup-model-checks)到較早或較低層級的模型(當預設值無法使用時),但釘選可讓您控制使用者何時移至新模型。289 部署至多個使用者時,請釘選特定模型版本。不釘選時,模型別名(例如 `sonnet` 和 `opus`)會解析為 Claude Code 對 Amazon Bedrock 的內建預設值,這可能落後最新版本,且可能在您的帳戶中尚未提供。Claude Code 在啟動時[回退](#startup-model-checks)至較早或較低階層的模型(當預設值無法使用時),但釘選可讓您控制使用者何時移至新模型。

290</Warning>290</Warning>

291 291 

292將這些環境變數設定為特定 Amazon Bedrock 模型 ID。292將這些環境變數設定為特定 Amazon Bedrock 模型 ID。

293 293 

294沒有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,Amazon Bedrock 上的 `opus` 別名解析為 Opus 5,沒有 `ANTHROPIC_DEFAULT_SONNET_MODEL`,`sonnet` 別名解析為 Sonnet 4.5。此範例將每個別名釘選到特定版本:294沒有 `ANTHROPIC_DEFAULT_OPUS_MODEL` 時,Amazon Bedrock 上的 `opus` 別名解析為 Opus 5,沒有 `ANTHROPIC_DEFAULT_SONNET_MODEL` 時,`sonnet` 別名解析為 Sonnet 4.5。此範例將每個別名釘選至特定版本:

295 295 

296```bash theme={null}296```bash theme={null}

297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'


341# 選用:如果需要,停用提示快取341# 選用:如果需要,停用提示快取

342# export DISABLE_PROMPT_CACHING=1342# export DISABLE_PROMPT_CACHING=1

343 343 

344# 選用:要求 1 小時提示快取 TTL 而不是 5 分鐘預設值344# 選用:要求 1 小時提示快取 TTL 而非 5 分鐘預設值

345# export ENABLE_PROMPT_CACHING_1H=1345# export ENABLE_PROMPT_CACHING_1H=1

346```346```

347 347 


353 將每個模型版本對應至推論設定檔353 將每個模型版本對應至推論設定檔

354</h4>354</h4>

355 355 

356`ANTHROPIC_DEFAULT_*_MODEL` 環境變數為每個模型系列設定一個推論設定檔。如果您的組織需要在 `/model` 選擇器中公開同一系列的多個版本,每個版本都路由至其自己的應用程式推論設定檔 ARN,請改為在您的[設定檔](/docs/zh-TW/settings#where-settings-live)中使用 `modelOverrides` 設定。356`ANTHROPIC_DEFAULT_*_MODEL` 環境變數為每個模型系列設定一個推論設定檔。如果您的組織需要在 `/model` 選擇器中公開同一系列的多個版本,每個都路由至其自己的應用程式推論設定檔 ARN,請改為在您的[設定檔](/docs/zh-TW/settings#where-settings-live)中使用 `modelOverrides` 設定。

357 357 

358此範例將四個 Opus 版本對應至不同的 ARN,以便使用者可以在它們之間切換,而無需繞過您組織的推論設定檔:358此範例將四個 Opus 版本對應至不同的 ARN,以便使用者可以在它們之間切換,而無需繞過您組織的推論設定檔:

359 359 


368}368}

369```369```

370 370 

371當使用者在 `/model` 中選取其中一個版本時,Claude Code 會使用對應的 ARN 呼叫 Amazon Bedrock。當您透過 `--model` 或 `ANTHROPIC_MODEL` 直接傳遞 Anthropic 模型 ID 時,相同的對應也適用。沒有覆寫的版本會回退到內建 Amazon Bedrock 模型 ID 或在啟動時發現的任何相符推論設定檔。在 v2.1.200 之前,`--model` 和 `ANTHROPIC_MODEL` 值會直接到達 Amazon Bedrock,而不會通過覆寫對應。請參閱[覆寫每個版本的模型 ID](/docs/zh-TW/model-config#override-model-ids-per-version) 以取得覆寫如何與 `availableModels` 和其他模型設定互動的詳細資訊。371當使用者在 `/model` 中選取其中一個版本時,Claude Code 會使用對應的 ARN 呼叫 Amazon Bedrock。當您透過 `--model` 或 `ANTHROPIC_MODEL` 直接傳遞 Anthropic 模型 ID 時,相同的對應也適用。沒有覆寫的版本會回退至內建 Amazon Bedrock 模型 ID 或在啟動時發現的任何相符推論設定檔。在 v2.1.200 之前,`--model` 和 `ANTHROPIC_MODEL` 值會直接到達 Amazon Bedrock,而不會通過覆寫對應。請參閱[覆寫每個版本的模型 ID](/docs/zh-TW/model-config#override-model-ids-per-version) 以了解覆寫如何與 `availableModels` 和其他模型設定互動的詳細資訊。

372 372 

373<h2 id="startup-model-checks">373<h2 id="startup-model-checks">

374 啟動模型檢查374 啟動模型檢查


518 使用 Mantle 端點518 使用 Mantle 端點

519</h2>519</h2>

520 520 

521Mantle 是一個 Amazon Bedrock 端點,透過原生 Anthropic API 形狀而不是 Amazon Bedrock Invoke API 提供 Claude 模型。它使用相同的 AWS 認證、IAM 權限和本頁面前面所述的 `awsAuthRefresh` 設定。521Mantle 是一個 Amazon Bedrock 端點,透過原生 Anthropic API 形狀而不是 Amazon Bedrock Invoke API 提供 Claude 模型。它使用相同的 [AWS 認證](#2-configure-aws-credentials)、[IAM 權限](#iam-configuration) 和 [`awsAuthRefresh` 設定](#advanced-credential-configuration)。

522 522 

523<h3 id="enable-mantle">523<h3 id="enable-mantle">

524 啟用 Mantle524 啟用 Mantle

artifacts.md +4 −4

Details

10 成品適用於 Pro、Max、Team 和 Enterprise 方案,並需要使用 [`/login`](/docs/zh-TW/setup#authenticate) 登入的工作階段。請參閱[可用性](#availability)以了解完整的需求集合。10 成品適用於 Pro、Max、Team 和 Enterprise 方案,並需要使用 [`/login`](/docs/zh-TW/setup#authenticate) 登入的工作階段。請參閱[可用性](#availability)以了解完整的需求集合。

11</Note>11</Note>

12 12 

13成品是一個即時互動的網頁,Claude Code 從您的工作階段發佈到 claude.ai 上的私密 URL。您在瀏覽器中開啟它,當工作階段繼續進行時,它會就地更新。當您想讓其他人也看到它時,可以從頁面標題中分享它。13[成品](https://claude.com/features/artifacts)是一個即時互動的網頁,Claude Code 從您的工作階段發佈到 claude.ai 上的私密 URL。您在瀏覽器中開啟它,當工作階段繼續進行時,它會就地更新。當您想讓其他人也看到它時,可以從頁面標題中分享它。

14 14 

15<Frame>15<Frame>

16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="在 claude.ai/code/artifact 中開啟的成品。檢視器標題顯示成品標題 acme-funnel-fix、一個「分享」按鈕和作者頭像。「分享」選單已開啟,顯示「始終分享最新版本」切換、讀取「分享版本 2」的版本選擇器、「Acme 的所有人」對象選擇器和「複製連結」按鈕。在標題下方,成品頁面顯示兩個並排的行動裝置模型、一個漏斗圖表和一列指標卡片。" width="2511" height="1890" data-path="images/artifacts-viewer.png" />16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="在 claude.ai/code/artifact 中開啟的成品。檢視器標題顯示成品標題 acme-funnel-fix、一個「分享」按鈕和作者頭像。「分享」選單已開啟,顯示「始終分享最新版本」切換、讀取「分享版本 2」的版本選擇器、「Acme 的所有人」對象選擇器和「複製連結」按鈕。在標題下方,成品頁面顯示兩個並排的行動裝置模型、一個漏斗圖表和一列指標卡片。" width="2511" height="1890" data-path="images/artifacts-viewer.png" />


142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.

143```143```

144 144 

145如果 Claude 告訴您它無法讀取評論,請檢查三件事:145如果 Claude 告訴您它無法讀取評論,請確認您的版本、您的工作階段和您的功能旗標設定:

146 146 

147* 您執行的是 Claude Code v2.1.221 或更新版本。147* 您執行的是 Claude Code v2.1.221 或更新版本。

148* 您不在安裝 Claude Code 或從 v2.1.221 之前的版本升級後的第一個工作階段中。在[安裝或升級後的第一個工作階段](/docs/zh-TW/env-vars#first-session-after-an-install-or-upgrade)中,Claude 可能還無法讀取評論;開始新的工作階段並再次詢問。148* 您不在安裝 Claude Code 或從 v2.1.221 之前的版本升級後的第一個工作階段中。在[安裝或升級後的第一個工作階段](/docs/zh-TW/env-vars#first-session-after-an-install-or-upgrade)中,Claude 可能還無法讀取評論;開始新的工作階段並再次詢問。


291 改進視覺設計291 改進視覺設計

292</h2>292</h2>

293 293 

294Claude 在建立成品時會應用內建的設計技能,因此頁面會獲得經過深思熟慮的調色盤、排版和版面配置,無需額外提示。需要 Claude Code v2.1.182 或更新版本。該技能也會在選擇自己的設計之前,先查看您專案中是否存在現有的設計系統。設計權杖是您設計系統重複使用的具名顏色、排版和間距值。為了保持成品與您產品品牌的一致性,請將它們記錄在 Claude 可以找到的地方,例如專案的 [CLAUDE.md](/docs/zh-TW/memory) 或您儲存庫中的主題檔案:294Claude 在建立成品時會應用內建的設計技能,因此頁面會獲得經過深思熟慮的調色盤、排版和版面配置,無需額外提示。該技能也會在選擇自己的設計之前,先查看您專案中是否存在現有的設計系統。設計權杖是您設計系統重複使用的具名顏色、排版和間距值。為了保持成品與您產品品牌的一致性,請將它們記錄在 Claude 可以找到的地方,例如專案的 [CLAUDE.md](/docs/zh-TW/memory) 或您儲存庫中的主題檔案:

295 295 

296```markdown theme={null}296```markdown theme={null}

297## Design system297## Design system


331| 無後端 | 成品是靜態頁面。它無法自行驗證檢視者。 |331| 無後端 | 成品是靜態頁面。它無法自行驗證檢視者。 |

332| 下載 | 頁面無法自行啟動下載。為了讓檢視者儲存頁面產生的檔案,Claude 會宣告下載功能。請參閱[提供檔案下載](#offer-a-file-download)。 |332| 下載 | 頁面無法自行啟動下載。為了讓檢視者儲存頁面產生的檔案,Claude 會宣告下載功能。請參閱[提供檔案下載](#offer-a-file-download)。 |

333| 單一頁面 | 相對連結無法解析,因為頁面旁邊沒有部署任何內容。對於多區段內容,Claude 使用頁面內錨點而不是個別檔案。 |333| 單一頁面 | 相對連結無法解析,因為頁面旁邊沒有部署任何內容。對於多區段內容,Claude 使用頁面內錨點而不是個別檔案。 |

334| 來源檔案類型 | 發佈的檔案必須是 `.html`、`.htm` 或 `.md`,且必須解碼為 UTF-8,或根據其位元組順序標記解碼為小端 UTF-16。Markdown 檔案會呈現為樣式化的 HTML。無法解碼或包含替換字元 `U+FFFD` 的檔案會[被拒絕並顯示要修正的行和列](/docs/zh-TW/errors#the-source-file-is-not-valid-utf-8-text)。 |334| 來源檔案類型 | 發佈的檔案必須是 `.html`、`.htm` 或 `.md`,且必須解碼為 UTF-8,或根據其位元組順序標記解碼為小端 UTF-16。Markdown 檔案會呈現為樣式化的文件頁面,並具有語法醒目提示的程式碼。無法解碼或包含替換字元 `U+FFFD` 的檔案會[被拒絕並顯示要修正的行和列](/docs/zh-TW/errors#the-source-file-is-not-valid-utf-8-text)。 |

335| 呈現大小 | 呈現的頁面必須為 16 MiB 或更小。大型嵌入影像通常是發佈因大小而失敗的原因。 |335| 呈現大小 | 呈現的頁面必須為 16 MiB 或更小。大型嵌入影像通常是發佈因大小而失敗的原因。 |

336 336 

337產生成品會像任何其他回應一樣使用輸出權杖,而樣式化頁面比相同內容作為終端文字更耗費權杖。內嵌 CSS、用於互動控制的 JavaScript,尤其是嵌入為資料 URI 的影像,是主要貢獻者。若要減少成品的權杖成本:337產生成品會像任何其他回應一樣使用輸出權杖,而樣式化頁面比相同內容作為終端文字更耗費權杖。內嵌 CSS、用於互動控制的 JavaScript,尤其是嵌入為資料 URI 的影像,是主要貢獻者。若要減少成品的權杖成本:

Details

6 6 

7> 登入 Claude Code 並為個人、團隊和組織配置驗證。7> 登入 Claude Code 並為個人、團隊和組織配置驗證。

8 8 

9Claude Code 支援多種驗證方法,具體取決於您的設定。個人使用者可以使用 Claude.ai 帳戶登入,而團隊可以使用 Claude for Teams 或 Enterprise、Claude Console 或雲端提供商(如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry)。9Claude Code 支援多種驗證方法,具體取決於您的設定。個人使用者可以使用 claude.ai 帳戶登入,而團隊可以使用 Claude for Teams 或 Enterprise、Claude Console 或雲端提供商(如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry)。

10 10 

11<h2 id="log-in-to-claude-code">11<h2 id="log-in-to-claude-code">

12 登入 Claude Code12 登入 Claude Code


22 22 

23您可以使用以下任何帳戶類型進行驗證:23您可以使用以下任何帳戶類型進行驗證:

24 24 

25* **Claude Pro 或 Max 訂閱**:使用您的 Claude.ai 帳戶登入。在 [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max) 訂閱。25* **Claude Pro 或 Max 訂閱**:使用您的 claude.ai 帳戶登入。在 [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max) 訂閱。

26* **Claude for Teams 或 Enterprise**:使用您的團隊管理員邀請您的 Claude.ai 帳戶登入。26* **Claude for Teams 或 Enterprise**:使用您的團隊管理員邀請您的 claude.ai 帳戶登入。

27* **Claude Console**:使用您的 Console 認證登入。您的管理員必須先 [邀請您](#claude-console-authentication)。您可以在有或沒有 [建立 API 金鑰](#sign-in-without-an-api-key) 的情況下登入。27* **Claude Console**:使用您的 Console 認證登入。您的管理員必須先 [邀請您](#claude-console-authentication)。您可以在有或沒有 [建立 API 金鑰](#sign-in-without-an-api-key) 的情況下登入。

28* **雲端提供商**:如果您的組織使用 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry),請在執行 `claude` 之前設定所需的環境變數,或在登入提示符處選擇 **3rd-party platform**,這會為 Bedrock 和 Vertex AI 啟動互動式設定精靈。不需要瀏覽器登入。28* **雲端提供商**:如果您的組織使用 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry),請在執行 `claude` 之前設定所需的環境變數,或在登入提示符處選擇 **3rd-party platform**,這會為 Bedrock 和 Vertex AI 啟動互動式設定精靈。不需要瀏覽器登入。

29* **雲端閘道**:如果您的組織執行自託管的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway),請透過 `/login` 使用公司 SSO 登入。閘道簽發的權杖是工作階段的唯一認證。29* **雲端閘道**:如果您的組織執行自託管的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway),請透過 `/login` 使用公司 SSO 登入。閘道簽發的權杖是工作階段的唯一認證。


66 </Step>66 </Step>

67 67 

68 <Step title="安裝並登入">68 <Step title="安裝並登入">

69 團隊成員安裝 Claude Code 並使用其 Claude.ai 帳戶登入。69 團隊成員安裝 Claude Code 並使用其 claude.ai 帳戶登入。

70 </Step>70 </Step>

71</Steps>71</Steps>

72 72 


190 * 在 Windows 上,認證儲存在 `%USERPROFILE%\.claude\.credentials.json` 中,並繼承您的使用者設定檔目錄的存取控制,預設情況下將檔案限制為您的使用者帳戶。190 * 在 Windows 上,認證儲存在 `%USERPROFILE%\.claude\.credentials.json` 中,並繼承您的使用者設定檔目錄的存取控制,預設情況下將檔案限制為您的使用者帳戶。

191 * 如果您設定了 `CLAUDE_CONFIG_DIR` 環境變數,Claude Code 會將 `.credentials.json` 檔案保存在該目錄下,包括 macOS 後備寫入的檔案,並將 macOS Keychain 項目也鍵入該目錄,因此具有不同 `CLAUDE_CONFIG_DIR` 的工作階段會讀取不同的項目。191 * 如果您設定了 `CLAUDE_CONFIG_DIR` 環境變數,Claude Code 會將 `.credentials.json` 檔案保存在該目錄下,包括 macOS 後備寫入的檔案,並將 macOS Keychain 項目也鍵入該目錄,因此具有不同 `CLAUDE_CONFIG_DIR` 的工作階段會讀取不同的項目。

192 * Claude Code 透過 `/login` 和 `/logout` 管理 `.credentials.json`。若要透過自訂 API 端點路由請求,請改為設定 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 環境變數。192 * Claude Code 透過 `/login` 和 `/logout` 管理 `.credentials.json`。若要透過自訂 API 端點路由請求,請改為設定 [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 環境變數。

193* **支援的驗證類型**:Claude.ai 認證、Claude API 認證、Microsoft Foundry Auth、Bedrock Auth、Vertex Auth、Anthropic 設定檔和 [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 認證,以及 [Claude apps gateway](/docs/zh-TW/claude-apps-gateway) 工作階段令牌。193* **支援的驗證類型**:claude.ai 認證、Claude API 認證、Microsoft Foundry Auth、Bedrock Auth、Vertex Auth、Anthropic 設定檔和 [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 認證,以及 [Claude apps gateway](/docs/zh-TW/claude-apps-gateway) 工作階段令牌。

194* **自訂認證指令碼**:設定 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 設定以執行傳回 API 金鑰的 shell 指令碼。194* **自訂認證指令碼**:設定 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 設定以執行傳回 API 金鑰的 shell 指令碼。

195* **重新整理間隔**:Claude Code 預設在五分鐘後重新執行 `apiKeyHelper`。設定 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` 環境變數以自訂重新整理間隔。請參閱 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 以了解 Claude Code 重新執行協助程式的其他情況。195* **重新整理間隔**:Claude Code 預設在五分鐘後重新執行 `apiKeyHelper`。設定 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` 環境變數以自訂重新整理間隔。請參閱 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 以了解 Claude Code 重新執行協助程式的其他情況。

196* **緩慢協助程式通知**:如果 `apiKeyHelper` 花費超過 10 秒的時間傳回金鑰,Claude Code 會在提示符列中顯示警告通知,顯示經過的時間。如果您經常看到此通知,請檢查您的認證指令碼是否可以最佳化。196* **緩慢協助程式通知**:如果 `apiKeyHelper` 花費超過 10 秒的時間傳回金鑰,Claude Code 會在提示符列中顯示警告通知,顯示經過的時間。如果您經常看到此通知,請檢查您的認證指令碼是否可以最佳化。


236 236 

237執行 `unset ANTHROPIC_API_KEY` 以回退到您的訂閱,並檢查 `/status` 以確認哪種方法處於活動狀態。當登入和 API 金鑰都已設定時,`/status` 會標記未使用的認證。237執行 `unset ANTHROPIC_API_KEY` 以回退到您的訂閱,並檢查 `/status` 以確認哪種方法處於活動狀態。當登入和 API 金鑰都已設定時,`/status` 會標記未使用的認證。

238 238 

239[網頁版 Claude Code](/docs/zh-TW/claude-code-on-the-web) 始終使用您的訂閱認證。如果您在沙箱環境中設定 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,它不會覆蓋您的訂閱認證。239[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)始終使用您的訂閱認證。如果您在雲端環境中設定 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,它不會覆蓋您的訂閱認證。

240 240 

241<h4 id="anthropic-profiles-and-federation-credentials">241<h4 id="anthropic-profiles-and-federation-credentials">

242 Anthropic 設定檔和聯盟認證242 Anthropic 設定檔和聯盟認證

Details

305 透過分類器路由所有 shell 命令305 透過分類器路由所有 shell 命令

306</h2>306</h2>

307 307 

308根據預設,narrow Bash 和 PowerShell 允許規則(例如 `Bash(npm test)`)在自動模式中保持有效,Claude Code 會在分類器執行前解析它們。Claude Code 只會暫停授予任意程式碼執行權限的廣泛規則,例如 `Bash(*)` 或萬用字元解釋器,以及每個命名 [`Monitor`](/docs/zh-TW/tools-reference#monitor-tool) 的規則,因為 Monitor 命令會透過 shell 執行。這表示 narrow 規則仍然可能讓破壞性引數通過而不被分類器看到,例如規則前綴未預期的指令碼路徑或旗標。308根據預設,narrow Bash 和 PowerShell 允許規則(例如 `Bash(npm test)`)在自動模式中保持有效。Claude Code 會在分類器執行前解析它們,除非命令帶有[每個命令允許的網域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)。Claude Code 只會暫停授予任意程式碼執行權限的廣泛規則,例如 `Bash(*)` 或萬用字元解釋器,以及每個命名 [`Monitor`](/docs/zh-TW/tools-reference#monitor-tool) 的規則,因為 Monitor 命令會透過 shell 執行。這表示 narrow 規則仍然可能讓破壞性引數通過而不被分類器看到,例如規則前綴未預期的指令碼路徑或旗標。

309 309 

310將 `autoMode.classifyAllShell` 設定為 `true`,以在自動模式啟用時暫停每個 Bash 和 PowerShell 允許規則,讓分類器評估每個 shell 命令,無論您的允許清單為何。310將 `autoMode.classifyAllShell` 設定為 `true`,以在自動模式啟用時暫停每個 Bash 和 PowerShell 允許規則,讓分類器評估每個 shell 命令,無論您的允許清單為何。

311 311 

channels.md +1 −1

Details

370| 功能 | 它的作用 | 適合 |370| 功能 | 它的作用 | 適合 |

371| ------------------------------------------------- | -------------------------------------- | -------------------- |371| ------------------------------------------------- | -------------------------------------- | -------------------- |

372| [網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) | 在新鮮雲端沙箱中執行任務,從 GitHub 複製 | 委派您稍後檢查的自包含非同步工作 |372| [網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) | 在新鮮雲端沙箱中執行任務,從 GitHub 複製 | 委派您稍後檢查的自包含非同步工作 |

373| [Slack 中的 Claude](/docs/zh-TW/slack) | 從頻道或執行緒中的 `@Claude` 提及產生網路工作階段 | 直接從團隊對話內容啟動任務 |373| [Slack 中的 Claude](/docs/zh-TW/slack) | 從頻道或執行緒中的 `@Claude` 提及產生雲端工作階段 | 直接從團隊對話內容啟動任務 |

374| 標準 [MCP 伺服器](/docs/zh-TW/mcp) | Claude 在任務期間查詢它;沒有任何東西被推送到工作階段 | 讓 Claude 按需存取讀取或查詢系統 |374| 標準 [MCP 伺服器](/docs/zh-TW/mcp) | Claude 在任務期間查詢它;沒有任何東西被推送到工作階段 | 讓 Claude 按需存取讀取或查詢系統 |

375| [遠端控制](/docs/zh-TW/remote-control) | 您從 claude.ai 或 Claude 行動應用程式驅動您的本地工作階段 | 在遠離您的桌子時引導進行中的工作階段 |375| [遠端控制](/docs/zh-TW/remote-control) | 您從 claude.ai 或 Claude 行動應用程式驅動您的本地工作階段 | 在遠離您的桌子時引導進行中的工作階段 |

376 376 

Details

66 66 

67<Steps>67<Steps>

68 <Step title="建立專案">68 <Step title="建立專案">

69 權限轉送範例稍後會在此頁面上匯入 `zod` 直接,因此它會與 MCP SDK 一起安裝。建立新目錄並安裝兩者:69 [permission relay](#relay-permission-prompts) 範例直接匯入 `zod`,因此它會與 MCP SDK 一起安裝。建立新目錄並安裝兩者:

70 70 

71 ```bash theme={null}71 ```bash theme={null}

72 mkdir webhook-channel && cd webhook-channel72 mkdir webhook-channel && cd webhook-channel


116 })116 })

117 ```117 ```

118 118 

119 該檔案按順序執行三項操作:119 該檔案按順序配置伺服器、連接 stdio 並啟動 HTTP 監聽器:

120 120 

121 * **伺服器配置**:使用 `claude/channel` 在其功能中建立 MCP 伺服器,這是告訴 Claude Code 這是 channel 的原因。Claude Code 在伺服器連接時將 [`instructions`](#server-options) 字串傳遞給 Claude 作為內容:告訴 Claude 期望什麼事件、是否回覆,以及如果應該回覆,如何路由回覆。121 * **伺服器配置**:使用 `claude/channel` 在其功能中建立 MCP 伺服器,這是告訴 Claude Code 這是 channel 的原因。Claude Code 在伺服器連接時將 [`instructions`](#server-options) 字串傳遞給 Claude 作為內容:告訴 Claude 期望什麼事件、是否回覆,以及如果應該回覆,如何路由回覆。

122 * **Stdio 連接**:透過 stdin/stdout 連接到 Claude Code。這對任何 [MCP 伺服器](https://modelcontextprotocol.io/docs/concepts/transports#standard-io) 都是標準的。122 * **Stdio 連接**:透過 stdin/stdout 連接到 Claude Code。這對任何 [MCP 伺服器](https://modelcontextprotocol.io/docs/concepts/transports#standard-io) 都是標準的。


509 509 

510遮罩不會改變誰接收欄位。無論保持未遮罩的內容只進入您使用 `--channels` 或開發旗標選擇加入的伺服器。除非您控制用戶端群,否則將兩個欄位視為不受信任。510遮罩不會改變誰接收欄位。無論保持未遮罩的內容只進入您使用 `--channels` 或開發旗標選擇加入的伺服器。除非您控制用戶端群,否則將兩個欄位視為不受信任。

511 511 

512您的伺服器傳送回的判決是 `notifications/claude/channel/permission`,有兩個欄位:`request_id` 回顯上面的 ID,`behavior` 設定為 `'allow'` 或 `'deny'`。允許讓工具呼叫繼續;拒絕會拒絕它,與在本機對話框中回答'否'相同。兩個判決都不影響未來的呼叫。512您的伺服器傳送回的判決是 `notifications/claude/channel/permission`,有兩個欄位:`request_id` 回顯上面的 ID,`behavior` 設定為 `'allow'` 或 `'deny'`。允許讓工具呼叫繼續;拒絕會拒絕它。兩個判決都不影響未來的呼叫。

513 513 

514<h3 id="add-relay-to-a-chat-bridge">514<h3 id="add-relay-to-a-chat-bridge">

515 將中繼新增到聊天橋接515 將中繼新增到聊天橋接

Details

85 Bash 命令變更未追蹤85 Bash 命令變更未追蹤

86</h3>86</h3>

87 87 

88Checkpointing 不追蹤由 bash 命令修改的檔案。例如,如果 Claude Code 執行:88Checkpointing 不追蹤由 Bash 命令修改的檔案。例如,如果 Claude Code 執行:

89 89 

90```bash theme={null}90```bash theme={null}

91rm file.txt91rm file.txt

chrome.md +10 −10

Details

6 6 

7> 將 Claude Code 連接到您的 Chrome 瀏覽器,以測試網頁應用程式、使用控制台日誌進行除錯、自動填充表單,以及從網頁中提取資料。7> 將 Claude Code 連接到您的 Chrome 瀏覽器,以測試網頁應用程式、使用控制台日誌進行除錯、自動填充表單,以及從網頁中提取資料。

8 8 

9Claude Code 與 [Claude in Chrome 瀏覽器擴充功能](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn)整合,為您提供從 CLI 或 [VS Code 擴充功能](/zh-TW/vs-code#automate-browser-tasks-with-chrome) 進行瀏覽器自動化的功能。建立您的程式碼,然後在瀏覽器中測試和除錯,無需切換上下文。9Claude Code 與 [Claude in Chrome 瀏覽器擴充功能](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn)整合,為您提供從 CLI 或 [VS Code 擴充功能](/docs/zh-TW/vs-code#automate-browser-tasks-with-chrome) 進行瀏覽器自動化的功能。建立您的程式碼,然後在瀏覽器中測試和除錯,無需切換上下文。

10 10 

11Claude 為瀏覽器任務開啟新標籤頁,並共享您瀏覽器的登入狀態,因此它可以存取您已登入的任何網站。瀏覽器操作在可見的 Chrome 視窗中即時執行。當 Claude 遇到登入頁面或 CAPTCHA 時,它會暫停並要求您手動處理。11Claude 為瀏覽器任務開啟新標籤頁,並共享您瀏覽器的登入狀態,因此它可以存取您已登入的任何網站。瀏覽器操作在可見的 Chrome 視窗中即時執行。當 Claude 遇到登入頁面或 CAPTCHA 時,它會暫停並要求您手動處理。

12 12 


36 36 

37* [Google Chrome](https://www.google.com/chrome/) 或 [Microsoft Edge](https://www.microsoft.com/edge) 瀏覽器37* [Google Chrome](https://www.google.com/chrome/) 或 [Microsoft Edge](https://www.microsoft.com/edge) 瀏覽器

38* [Claude in Chrome 擴充功能](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) 版本 1.0.36 或更高版本,可在 Chrome Web Store 中為兩個瀏覽器取得38* [Claude in Chrome 擴充功能](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) 版本 1.0.36 或更高版本,可在 Chrome Web Store 中為兩個瀏覽器取得

39* [Claude Code](/zh-TW/quickstart#step-1-install-claude-code)39* [Claude Code](/docs/zh-TW/quickstart#step-1-install-claude-code)

40* 直接 Anthropic 計畫(Pro、Max、Team 或 Enterprise)40* 直接 Anthropic 計畫(Pro、Max、Team 或 Enterprise)

41 41 

42<Note>42<Note>


72 72 

73隨時執行 `/chrome` 以檢查連接狀態、管理權限、重新連接擴充功能,或選擇要使用的已連接瀏覽器。如果在瀏覽器操作開始時連接了多個瀏覽器,Claude 會提示您選擇一個。73隨時執行 `/chrome` 以檢查連接狀態、管理權限、重新連接擴充功能,或選擇要使用的已連接瀏覽器。如果在瀏覽器操作開始時連接了多個瀏覽器,Claude 會提示您選擇一個。

74 74 

75對於 VS Code,請參閱 [VS Code 中的瀏覽器自動化](/zh-TW/vs-code#automate-browser-tasks-with-chrome)。75對於 VS Code,請參閱 [VS Code 中的瀏覽器自動化](/docs/zh-TW/vs-code#automate-browser-tasks-with-chrome)。

76 76 

77<h3 id="enable-chrome-by-default">77<h3 id="enable-chrome-by-default">

78 預設啟用 Chrome78 預設啟用 Chrome


80 80 

81為了避免每個工作階段都傳遞 `--chrome`,執行 `/chrome` 並選擇「預設啟用」。81為了避免每個工作階段都傳遞 `--chrome`,執行 `/chrome` 並選擇「預設啟用」。

82 82 

83在 [VS Code 擴充功能](/zh-TW/vs-code#automate-browser-tasks-with-chrome) 中,只要安裝了 Chrome 擴充功能,Chrome 就可用。無需額外標誌。83在 [VS Code 擴充功能](/docs/zh-TW/vs-code#automate-browser-tasks-with-chrome) 中,只要安裝了 Chrome 擴充功能,Chrome 就可用。無需額外標誌。

84 84 

85<Note>85<Note>

86 在 CLI 中預設啟用 Chrome 會增加上下文使用量,因為瀏覽器工具始終被載入。如果您注意到上下文消耗增加,請停用此設定,並僅在需要時使用 `--chrome`。86 在 CLI 中預設啟用 Chrome 會增加上下文使用量,因為瀏覽器工具始終被載入。如果您注意到上下文消耗增加,請停用此設定,並僅在需要時使用 `--chrome`。


96 計畫模式中的瀏覽器工具96 計畫模式中的瀏覽器工具

97</h3>97</h3>

98 98 

99在 [計畫模式](/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,只讀取頁面或瀏覽器狀態的瀏覽器工具呼叫無需權限提示即可執行,而改變狀態的呼叫會提示批准。99在 [計畫模式](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,只讀取頁面或瀏覽器狀態的瀏覽器工具呼叫無需權限提示即可執行,而改變狀態的呼叫會提示批准。

100 100 

101* **唯讀呼叫**:`read_page`、`get_page_text`、`find`、讀取主控台訊息或網路請求,以及擷取螢幕截圖101* **唯讀呼叫**:`read_page`、`get_page_text`、`find`、讀取主控台訊息或網路請求,以及擷取螢幕截圖

102* **改變狀態的呼叫**:點擊、輸入、導航、標籤和視窗管理,以及錄製 GIF102* **改變狀態的呼叫**:點擊、輸入、導航、標籤和視窗管理,以及錄製 GIF


279 另請參閱279 另請參閱

280</h2>280</h2>

281 281 

282* [電腦使用](/zh-TW/computer-use):當任務無法在瀏覽器中完成時控制原生 macOS 應用程式282* [電腦使用](/docs/zh-TW/computer-use):當任務無法在瀏覽器中完成時控制原生 macOS 應用程式

283* [在 VS Code 中使用 Claude Code](/zh-TW/vs-code#automate-browser-tasks-with-chrome):VS Code 擴充功能中的瀏覽器自動化283* [在 VS Code 中使用 Claude Code](/docs/zh-TW/vs-code#automate-browser-tasks-with-chrome):VS Code 擴充功能中的瀏覽器自動化

284* [CLI 參考](/zh-TW/cli-reference):命令列標誌,包括 `--chrome`284* [CLI 參考](/docs/zh-TW/cli-reference):命令列標誌,包括 `--chrome`

285* [常見工作流程](/zh-TW/common-workflows):更多使用 Claude Code 的方式285* [常見工作流程](/docs/zh-TW/common-workflows):更多使用 Claude Code 的方式

286* [資料和隱私](/zh-TW/data-usage):Claude Code 如何處理您的資料286* [資料和隱私](/docs/zh-TW/data-usage):Claude Code 如何處理您的資料

287* [Claude in Chrome 入門](https://support.claude.com/en/articles/12012173-getting-started-with-claude-in-chrome):Chrome 擴充功能的完整文件,包括快捷鍵、排程和權限287* [Claude in Chrome 入門](https://support.claude.com/en/articles/12012173-getting-started-with-claude-in-chrome):Chrome 擴充功能的完整文件,包括快捷鍵、排程和權限

Details

60此快速入門走最小路徑:在您的 IdP 中註冊 OAuth 用戶端,寫入 `gateway.yaml`,使用 Docker Compose 與 Postgres 一起執行閘道,並驗證端到端登入。它使用 Amazon Bedrock 上游;Claude Platform on AWS、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Anthropic API 同樣受支援,只需如[配置參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)所示交換 `upstreams` 區塊。最後,您有一個開發人員可以 `/login` 的閘道。60此快速入門走最小路徑:在您的 IdP 中註冊 OAuth 用戶端,寫入 `gateway.yaml`,使用 Docker Compose 與 Postgres 一起執行閘道,並驗證端到端登入。它使用 Amazon Bedrock 上游;Claude Platform on AWS、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Anthropic API 同樣受支援,只需如[配置參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)所示交換 `upstreams` 區塊。最後,您有一個開發人員可以 `/login` 的閘道。

61 61 

62<Note>62<Note>

63 **在您的私有網路上部署。** Claude Code 只連接到地址為私有的閘道。這是一個安全防護,因為受信任的閘道可以推送在開發人員機器上執行命令的設定。將閘道放在內部負載平衡器或 VPN 後面,並給它一個只解析為私有 IP 的主機名。63 **在您的私有網路上部署。** Claude Code 只連接到地址為私有的閘道。這是一個安全防護,因為受信任的閘道可以推送在開發人員機器上執行命令的設定。將閘道放在內部負載平衡器或 VPN 後面,並給它一個只解析為私有 IP 的主機名。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,請參閱[允許閘道在您擁有的公開地址空間上](#allow-a-gateway-on-public-address-space-you-own)。

64</Note>64</Note>

65 65 

66<h3 id="prerequisites">66<h3 id="prerequisites">


70在開始之前,請準備好以下內容:70在開始之前,請準備好以下內容:

71 71 

72| 您需要 | 詳細資訊 |72| 您需要 | 詳細資訊 |

73| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |73| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

74| Claude Code v2.1.195 或更新版本 | `claude gateway` 子命令和閘道登入流程在 v2.1.195 中發布。較早的公開版本不包含它們。執行閘道伺服器的機器和每個開發人員的機器都必須是 v2.1.195 或更新版本;執行 `claude update` 以取得最新版本。[Claude Platform on AWS 上游](/docs/zh-TW/claude-apps-gateway-config#claude-platform-on-aws)在閘道伺服器上需要 Claude Code v2.1.198 或更新版本。 |74| Claude Code v2.1.195 或更新版本 | `claude gateway` 子命令和閘道登入流程在 v2.1.195 中發布。較早的公開版本不包含它們。執行閘道伺服器的機器和每個開發人員的機器都必須是 v2.1.195 或更新版本;執行 `claude update` 以取得最新版本。[Claude Platform on AWS 上游](/docs/zh-TW/claude-apps-gateway-config#claude-platform-on-aws)在閘道伺服器上需要 Claude Code v2.1.198 或更新版本。 |

75| OpenID Connect (OIDC) 身份提供商 | Okta、Microsoft Entra ID、Google Workspace、Keycloak 或 Dex,或任何其他符合 OIDC 的 IdP,例如 PingFederate。閘道針對它執行標準 OIDC 發現和授權碼流程。不支援 SAML 和 LDAP。 |75| OpenID Connect (OIDC) 身份提供商 | Okta、Microsoft Entra ID、Google Workspace、Keycloak 或 Dex,或任何其他符合 OIDC 的 IdP,例如 PingFederate。閘道針對它執行標準 OIDC 發現和授權碼流程。不支援 SAML 和 LDAP。 |

76| PostgreSQL 14 或更新版本 | 支援裝置登入流程,其中瀏覽器回呼寫入,輪詢 CLI 讀取,加上速率限制計數器。任何受管 Postgres 都可以,包括最小層級。在未配置支出限制的情況下,閘道儲存幾 KB 的短期身份驗證狀態;使用[支出限制](/docs/zh-TW/claude-apps-gateway-spend-limits),它還持有應備份的耐久支出、稽核和身份表。建議透過 `?sslmode=require` 使用 TLS。 |76| PostgreSQL 14 或更新版本 | 支援裝置登入流程,其中瀏覽器回呼寫入,輪詢 CLI 讀取,加上速率限制計數器。任何受管 Postgres 都可以,包括最小層級。在未配置支出限制的情況下,閘道儲存幾 KB 的短期身份驗證狀態;使用[支出限制](/docs/zh-TW/claude-apps-gateway-spend-limits),它還持有應備份的耐久支出、稽核和身份表。建議透過 `?sslmode=require` 使用 TLS。 |

77| 模型上游 | Amazon Bedrock 認證、Claude Platform on AWS 認證、Google Cloud 認證、Microsoft Foundry 資源或 Anthropic API 金鑰。支援多個上游和故障轉移。 |77| 模型上游 | Amazon Bedrock 認證、Claude Platform on AWS 認證、Google Cloud 認證、Microsoft Foundry 資源或 Anthropic API 金鑰。支援多個上游和故障轉移。 |

78| HTTPS | 閘道必須可從開發人員筆記型電腦和用於登入的任何瀏覽器透過 `https://` 到達;閘道在同一監聽器上提供裝置驗證頁面。透過 `listen.tls` 提供 TLS 憑證,或在 TLS 終止入口後執行並設定 `listen.public_url` 為外部來源(兩種情況下都是如此)。純 `http://` 來源僅在閘道主機為環回時接受:`localhost`、`127.0.0.1` 或 `::1`。 |78| HTTPS | 閘道必須可從開發人員筆記型電腦和用於登入的任何瀏覽器透過 `https://` 到達;閘道在同一監聽器上提供裝置驗證頁面。透過 `listen.tls` 提供 TLS 憑證,或在 TLS 終止入口後執行並設定 `listen.public_url` 為外部來源(兩種情況下都是如此)。純 `http://` 來源僅在閘道主機為環回時接受:`localhost`、`127.0.0.1` 或 `::1`。 |

79| 私有網路地址 | 在 `/login` 處,Claude Code 要求閘道的主機名或 IP 地址僅解析為私有地址:RFC 1918、連結本地、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7` 或環回。對於您託管的閘道,任何公開地址都會被拒絕;請參閱部署指南中的[威脅模型](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)。檢查在每個解析的 IP 上執行,因此如果名稱解析到的任何地址是公開的,`/login` 會拒絕該 URL。如果開發人員機器透過公司代理路由 HTTPS,登入還要求代理主機解析為私有地址;如果不是,將閘道主機新增到 `NO_PROXY`,以便 CLI 直接連接。 |79| 私有網路地址 | 在 `/login` 處,Claude Code 要求閘道的主機名或 IP 地址僅解析為私有地址:RFC 1918、連結本地、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7` 或環回。對於您託管的閘道,任何公開地址都會被拒絕;請參閱部署指南中的[威脅模型](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)。如果開發人員機器透過公司代理路由 HTTPS,登入還要求代理主機解析為私有地址;如果不是,將閘道主機新增到 `NO_PROXY`,以便 CLI 直接連接。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,[宣告這些區塊](#allow-a-gateway-on-public-address-space-you-own),以便 `/login` 接受那裡的閘道。 |

80| Linux 執行時 | 閘道伺服器僅在原生 Linux 二進位檔上執行。macOS 適用於本地開發。Windows 不支援作為伺服器平台。 |80| Linux 執行時 | 閘道伺服器僅在原生 Linux 二進位檔上執行。macOS 適用於本地開發。Windows 不支援作為伺服器平台。 |

81 81 

82<h3 id="steps">82<h3 id="steps">


133 此配置足以使用預設 Amazon Bedrock 模型目錄進行有效的登入迴圈。執行後,透過 [`managed.policies`](/docs/zh-TW/claude-apps-gateway-config#managed) 新增按群組 RBAC 和受管設定、透過 [`telemetry`](/docs/zh-TW/claude-apps-gateway-config#telemetry) 的遙測扇出,以及多上游故障轉移、佈建輸送量 ARN 或非美國區域,透過 [`models`](/docs/zh-TW/claude-apps-gateway-config#models)。133 此配置足以使用預設 Amazon Bedrock 模型目錄進行有效的登入迴圈。執行後,透過 [`managed.policies`](/docs/zh-TW/claude-apps-gateway-config#managed) 新增按群組 RBAC 和受管設定、透過 [`telemetry`](/docs/zh-TW/claude-apps-gateway-config#telemetry) 的遙測扇出,以及多上游故障轉移、佈建輸送量 ARN 或非美國區域,透過 [`models`](/docs/zh-TW/claude-apps-gateway-config#models)。

134 134 

135 <Note>135 <Note>

136 Amazon Bedrock 上游需要一個 AWS 主體,具有 `bedrock:InvokeModel` 和 `bedrock:InvokeModelWithResponseStream` 在 `inference-profile/us.anthropic.*` ARN 和基礎 `foundation-model/anthropic.*` ARN 上,以及 Anthropic 的一次性使用案例表單從 Bedrock 主控台的模型目錄提交給帳戶。使用 EKS 上的 IRSA、ECS 任務角色或 EC2 執行個體設定檔提供認證,而不是靜態金鑰。[`upstreams` 參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)具有完整的 IAM 詳細資訊、跨雲認證矩陣和其他提供商的 `auth` 區塊。136 Amazon Bedrock 上游需要一個 AWS 主體,具有 `bedrock:InvokeModel` 和 `bedrock:InvokeModelWithResponseStream` 在 `inference-profile/us.anthropic.*` ARN 和基礎 `foundation-model/anthropic.*` ARN 上。它也需要 Anthropic 的一次性使用案例表單從 Bedrock 主控台的模型目錄提交給帳戶。

137 

138 透過 EKS 上的 IRSA、ECS 任務角色或 EC2 執行個體設定檔提供認證,而不是靜態金鑰。[`upstreams` 參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)具有完整的 IAM 詳細資訊、跨雲認證矩陣和其他提供商的 `auth` 區塊。

137 </Note>139 </Note>

138 </Step>140 </Step>

139 141 


170 172 

171 閘道是一個單一 Linux 二進位檔,讀取配置,連接到 Postgres 並應用其架構遷移,針對您的 IdP 執行 OIDC 發現,建立上游用戶端,並開始監聽。啟動對配置、Postgres 連接(5 秒超時)、OIDC 發現和上游用戶端構造是失敗關閉的。如果其中任何一個無法到達或配置錯誤,閘道會以錯誤退出,而不是以降級狀態提供流量。173 閘道是一個單一 Linux 二進位檔,讀取配置,連接到 Postgres 並應用其架構遷移,針對您的 IdP 執行 OIDC 發現,建立上游用戶端,並開始監聽。啟動對配置、Postgres 連接(5 秒超時)、OIDC 發現和上游用戶端構造是失敗關閉的。如果其中任何一個無法到達或配置錯誤,閘道會以錯誤退出,而不是以降級狀態提供流量。

172 174 

173 成功啟動不驗證推理路徑,因為 Bedrock 和 Google Cloud 的 Agent Platform 執行個體認證在第一個請求時解析,而不是在啟動時。175 成功啟動不驗證推理路徑,因為 Amazon Bedrock 和 Google Cloud 的 Agent Platform 執行個體認證在第一個請求時解析,而不是在啟動時。

174 176 

175 監視 stderr 以了解啟動序列。日誌行使用格式 `[gateway] <timestamp> <level> <message>`,稽核事件是帶有 `evt` 欄位的單行 JSON,啟動橫幅(下面省略)在遷移和監聽行之間列印。新資料庫為每個架構遷移列印一個 `migration N applied` 行;已遷移的資料庫不列印任何行。您應該按順序看到:177 監視 stderr 以了解啟動序列。日誌行使用格式 `[gateway] <timestamp> <level> <message>`,稽核事件是帶有 `evt` 欄位的單行 JSON,啟動橫幅(下面省略)在遷移和監聽行之間列印。新資料庫為每個架構遷移列印一個 `migration N applied` 行;已遷移的資料庫不列印任何行。您應該按順序看到:

176 178 


183 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080185 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080

184 ```186 ```

185 187 

188 閘道也會記錄一個警告,`access_control.allow_cidrs` 為空。這在這裡是預期的,因為在您設定允許清單之前,沒有任何東西限制閘道提供的用戶端地址。[`access_control` 參考](/docs/zh-TW/claude-apps-gateway-config#http-tuning)具有建議的範圍。

189 

186 如果啟動在 `claude gateway listening on` 行之前退出,stderr 的最後一行命名問題:190 如果啟動在 `claude gateway listening on` 行之前退出,stderr 的最後一行命名問題:

187 191 

188 * 無法到達的 Postgres192 * 無法到達的 Postgres


289 293 

290開發人員無法手動設定此項。登入選擇器中沒有閘道選項,`forceLoginGatewayUrl` 在開發人員自己的設定檔中被忽略。`forceLoginMethod` 單獨,沒有 URL,將開發人員留在「聯絡您的 IT 管理員」訊息處。登入金鑰應該在您推送到機器的檔案中,而不是在閘道的 `managed.policies[].cli` 區塊中,該區塊僅到達已連接的用戶端。294開發人員無法手動設定此項。登入選擇器中沒有閘道選項,`forceLoginGatewayUrl` 在開發人員自己的設定檔中被忽略。`forceLoginMethod` 單獨,沒有 URL,將開發人員留在「聯絡您的 IT 管理員」訊息處。登入金鑰應該在您推送到機器的檔案中,而不是在閘道的 `managed.policies[].cli` 區塊中,該區塊僅到達已連接的用戶端。

291 295 

296<h3 id="allow-a-gateway-on-public-address-space-you-own">

297 允許公開位址空間上的閘道

298</h3>

299 

300某些組織從他們擁有的公開 IPv4 區塊(例如電信業者自己的位址空間或舊版 `/8`)對其內部網路進行編號,因此他們的閘道無法擁有私人位址。在 `gatewayInternalNetworks` 受管設定中列出這些區塊。`/login` 然後在開發人員的機器從同一區塊內的位址連接到它時,接受位於列出區塊內的閘道。這需要開發人員機器上的 Claude Code v2.1.268 或更新版本;較早的版本忽略該金鑰並應用私人位址規則。

301 

302<Warning>

303 `gatewayInternalNetworks` 適用於恰好從公開位址空間編號的內部網路。它不會使將閘道暴露到網際網路變得安全:受信任的閘道可以推送在開發人員機器上執行命令的設定。

304 

305 使用您的防火牆或負載平衡器規則將閘道保持在網路外無法到達。將閘道的 [`access_control.allow_cidrs`](/docs/zh-TW/claude-apps-gateway-config#http-tuning) 設定為您在此宣告的相同區塊,以便閘道本身拒絕來自其他任何地方的用戶端。在負載平衡器或入口後面,也將 `listen.trusted_proxies` 設定為該前端,因為閘道否則會根據前端自己的位址而不是開發人員的位址來匹配 `allow_cidrs`。

306</Warning>

307 

308將金鑰新增至與登入金鑰相同的受管設定來源:受管設定檔、MDM 設定檔或登錄原則。Claude Code 在使用者、專案和伺服器受管設定中忽略它。

309 

310此範例宣告一個區塊。將 `203.0.113.0/24` 替換為您自己的區塊。它是文件範圍,Claude Code 拒絕這些。

311 

312```json theme={null}

313{

314 "gatewayInternalNetworks": ["203.0.113.0/24"]

315}

316```

317 

318Claude Code 在 `/login` 驗證清單,然後才聯絡任何閘道:

319 

320* 每個項目是一個 IPv4 區塊,寫成其第一個位址和 `/8` 到 `/32` 的前綴。

321* 清單最多包含四個區塊,沒有兩個重疊。

322* 沒有區塊與私人位址空間重疊:`10.0.0.0/8`、`172.16.0.0/12`、`192.168.0.0/16`、`127.0.0.0/8`、`169.254.0.0/16` 和 `100.64.0.0/10`。`/login` 已經在沒有此金鑰的情況下接受那裡的閘道。

323* 沒有區塊與永遠不是組織網路的空間重疊:`198.18.0.0/15` 和 `192.0.0.0/24`,VPN 和 NAT64 用戶端將其作為本地位址;文件範圍 `192.0.2.0/24`、`198.51.100.0/24` 和 `203.0.113.0/24`;以及保留範圍 `0.0.0.0/8`、`192.88.99.0/24` 和多播 `224.0.0.0/4`。您可以在 `240.0.0.0/4` 內宣告區塊,某些大型網路將其用作內部單播空間。

324 

325來自 `managed-settings.json` 及其 `managed-settings.d/` 插入檔案的區塊合併為一個清單,這些限制適用於合併清單。若要縮小區塊,請替換其項目而不是在插入中新增第二個重疊的;`/login` 拒絕重疊。

326 

327如果項目違反規則,或值不是字串清單,Claude Code 在該機器上拒絕每個新的閘道登入並在訊息中命名問題。登入到私人位址上的閘道也會失敗,現有登入保持有效。在部署前在一台機器上嘗試該值。Claude Code 也在它報告的[無效受管設定](/docs/zh-TW/managed-settings#keys-that-fail-closed)中列出錯誤類型的值。

328 

329使用有效清單,`/login` 對位址位於列出區塊內的閘道應用三個檢查:

330 

331* 閘道主機名解析到的每個位址都位於該一個區塊內。Claude Code 拒絕也在其外有記錄的名稱,包括私人和 IPv6 位址。

332* 開發人員的機器從同一區塊內連接。Claude Code 拒絕 NAT 後面、容器或 WSL2 內或其位址池位於區塊外的 VPN 上的機器,並命名機器連接的位址。

333* 連接是直接的。如果 `HTTPS_PROXY` 適用於閘道主機,`/login` 拒絕並命名要新增的 `NO_PROXY` 項目。

334 

335當所有三個通過時,[信任提示](#connect-developers)新增一行命名機器的位址、閘道的位址和包含兩者的宣告區塊。

336 

337該金鑰對其他閘道不改變任何內容:登入到私人位址上的閘道像以前一樣有效,登入到每個列出區塊外的公開位址上的閘道像以前一樣被拒絕。

338 

339宣告的區塊縮小誰可以登入但不證明機器在哪裡,因此僅宣告您的組織控制的位址空間。與其他租戶共享的區塊(例如雲端提供商的公開範圍)讓其中的任何人通過相同的檢查。

340 

292<h3 id="deliver-policy-to-claude-desktop-sessions">341<h3 id="deliver-policy-to-claude-desktop-sessions">

293 將原則傳遞給 Claude Desktop 會話342 將原則傳遞給 Claude Desktop 會話

294</h3>343</h3>


379 跨來源的鎖定行為428 跨來源的鎖定行為

380</h4>429</h4>

381 430 

382設定一個鎖定不會限制其他鎖定;每個金鑰都記錄在[設定參考](/docs/zh-TW/settings-reference#all-settings)中。從低於獲勝者的管理員來源,兩個沙箱鎖定仍然適用,`allowManagedPermissionRulesOnly` 仍然阻止父提供的允許規則和 `additionalDirectories`。hooks 和 MCP 伺服器鎖定,以及 `allowManagedPermissionRulesOnly` 對開發人員自己規則的影響,預設需要獲勝的來源;在[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)中的 `managedSourcesBehavior` 合併選擇加入下,Claude Code 應用任何來源為每個鎖定設定的最嚴格值。在 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 機隊上,鎖定僅從助手的輸出讀取。431設定一個鎖定不會限制其他鎖定;每個金鑰都記錄在[設定參考](/docs/zh-TW/settings-reference#all-settings)中。

432 

433從低於獲勝者的管理員來源,兩個沙箱鎖定仍然適用,`allowManagedPermissionRulesOnly` 仍然阻止父提供的允許規則和 `additionalDirectories`。在 Claude Code v2.1.273 或更新版本上,MCP 伺服器鎖定也從低於獲勝者的來源應用,當它開啟時,受管 `allowedMcpServers` 清單來自設定一個的最高優先級管理員來源。

434 

435hooks 鎖定和 `allowManagedPermissionRulesOnly` 對開發人員自己規則的影響預設需要獲勝的來源;在[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)中的 `managedSourcesBehavior` 合併選擇加入下,Claude Code 應用任何來源為每個鎖定設定的最嚴格值。在 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 機隊上,鎖定僅從助手的輸出讀取。

436 

437每個鎖定使 Claude Code 忽略開發人員自己的該設定項目,因此在鎖定旁邊包含您組織的允許清單:

383 438 

384每個鎖定使 Claude Code 忽略開發人員自己的該設定項目,因此在鎖定旁邊包含您組織的允許清單。使用空受管網域清單鎖定網路網域會阻止所有沙箱出站流量,使用沒有受管或父提供的 `allowedMcpServers` 的 MCP 伺服器鎖定會載入 `deniedMcpServers` 不阻止的每個伺服器。`allowRead` 項目僅重新允許 `denyRead` 區域內的路徑,因此將它們與受管 `denyRead` 配對。439* **網路網域**:使用空受管網域清單鎖定會阻止所有沙箱出站流量。

440* **MCP 伺服器**:使用沒有任何管理員來源或父提供的設定中的 `allowedMcpServers` 的鎖定會載入 `deniedMcpServers` 不阻止的每個伺服器。

441* **讀取路徑**:`allowRead` 項目僅重新允許 `denyRead` 區域內的路徑,因此將它們與受管 `denyRead` 配對。

385 442 

386<h4 id="settings-the-locks-don’t-cover">443<h4 id="settings-the-locks-don’t-cover">

387 鎖定不涵蓋的設定444 鎖定不涵蓋的設定

388</h4>445</h4>

389 446 

390四個父提供的設定即使設定了所有五個鎖定也會通過篩選器。在預設首次獲勝設定下,阻止父項的管理員值是最高優先級管理員來源中的值。在 `managedSourcesBehavior` 合併選擇加入下,[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明哪個來源的值改為適用。447四個父提供的設定即使設定了所有五個鎖定也會通過篩選器。在預設首次獲勝設定下,阻止父項的管理員值是最高優先級管理員來源中的值,除了 `allowedMcpServers` 當[MCP 伺服器鎖定](#lock-behavior-across-sources)開啟時。在 `managedSourcesBehavior` 合併選擇加入下,[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明哪個來源的值改為適用。

391 448 

392* **`forceLoginOrgUUID`**:當最高優先級管理員來源未設定組織 UUID 時,Claude Code 會接受父提供的值。閘道登入不檢查此金鑰,因此它僅對也使用第一方 Anthropic 登入的機隊重要。最高優先級管理員來源中的組織 UUID 會阻止父項的值,是 Claude Code 強制執行的值,因此在那裡設定 `forceLoginOrgUUID`。449* **`forceLoginOrgUUID`**:當最高優先級管理員來源未設定組織 UUID 時,Claude Code 會接受父提供的值。閘道登入不檢查此金鑰,因此它僅對也使用第一方 Anthropic 登入的機隊重要。最高優先級管理員來源中的組織 UUID 會阻止父項的值,是 Claude Code 強制執行的值,因此在那裡設定 `forceLoginOrgUUID`。

393* **`allowedMcpServers`**:當最高優先級管理員來源未設定允許清單時,Claude Code 會接受父提供的允許清單,`allowManagedMcpServersOnly` 不會阻止它,因為鎖定強制執行無論哪個清單獲勝作為受管值,包括當最高優先級管理員來源未設定時的父提供清單。最高優先級管理員來源中的清單會阻止父項的並是 Claude Code 強制執行的清單,因此在那裡設定 `allowedMcpServers`,在鎖定旁邊。在 v2.1.223 之前,任何管理員來源中任一金鑰的值都會阻止父項的。450* **`allowedMcpServers`**:當沒有管理員清單生效時,Claude Code 會接受父提供的允許清單。`allowManagedMcpServersOnly` 不會阻止它,因為鎖定強制執行無論哪個清單獲勝作為受管值,包括當沒有管理員來源提供清單時的父提供清單。最高優先級管理員來源中的清單會阻止父項的並是 Claude Code 強制執行的清單,因此在那裡設定 `allowedMcpServers`,在鎖定旁邊。在 v2.1.223 之前,任何管理員來源中任一金鑰的值都會阻止父項的。

394* **`availableModels`**:當獲勝的受管來源未設定模型清單時,Claude Code 會接受父提供的模型清單。如果您的機隊限制模型,在獲勝的來源中設定 `availableModels`。451* **`availableModels`**:當獲勝的受管來源未設定模型清單時,Claude Code 會接受父提供的模型清單。如果您的機隊限制模型,在獲勝的來源中設定 `availableModels`。

395* **`strictPluginOnlyCustomization`**:此金鑰無論任何鎖定都通過篩選器,它使 Claude Code 忽略開發人員自己的自訂,包括保護性 hooks。沒有鎖定阻止它。452* **`strictPluginOnlyCustomization`**:此金鑰無論任何鎖定都通過篩選器,它使 Claude Code 忽略開發人員自己的自訂,包括保護性 hooks。沒有鎖定阻止它。

396 453 

Details

16 檔案結構16 檔案結構

17</h2>17</h2>

18 18 

19五個部分是[必需的](#required-sections)。所有其他部分都是[選用的](#optional-sections),省略的部分採用其預設值。未知的鍵會導致啟動失敗,因此打字錯誤會顯示為命名錯誤,而不是被無聲地忽略的設定。19五個部分是[必需的](#required-sections)。其他所有部分都是[選擇性的](#optional-sections),省略的部分會採用其預設值。未知的鍵會導致啟動失敗,因此打字錯誤會顯示為具名錯誤,而不是被無聲地忽略的設定。

20 20 

21**必需部分:**21**必需部分:**

22 22 

23* [`listen`](#listen):繫結位址、公開 URL、TLS 終止23* [`listen`](#listen):繫結位址、公開 URL、TLS 終止

24* [`oidc`](#oidc):您的身分識別提供者 (IdP),包括簽發者、用戶端、宣告對應和誰可以登入24* [`oidc`](#oidc):您的身分識別提供者 (IdP),包括簽發者、用戶端、宣告對應,以及誰可以登入

25* [`session`](#session):閘道鑄造的持有人令牌,包括祕密和生命週期25* [`session`](#session):閘道器鑄造的持有人令牌,包括祕密和生命週期

26* [`store`](#store):PostgreSQL,用於裝置授權和速率限制計數器26* [`store`](#store):PostgreSQL,用於裝置授權和速率限制計數器

27* [`upstreams`](#upstreams):推論去往何處,無論是 Anthropic、Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 或 Microsoft Foundry27* [`upstreams`](#upstreams):推論的去向,無論是 Anthropic、Amazon Bedrock、AWS 上的 Claude Platform、Google Cloud 的 Agent Platform,還是 Microsoft Foundry

28 28 

29**選用部分:**29**選擇性部分:**

30 30 

31* [`admin`](#admin):Admin API 驗證和支出限制的保留31* [`admin`](#admin):Admin API 驗證和支出限制的保留期

32* [`enforcement`](#enforcement):支出限制失敗開放或失敗關閉行為32* [`enforcement`](#enforcement):支出限制失敗開放或失敗關閉行為

33* [`pricing`](#pricing):合約費率和支出計量的折扣乘數33* [`pricing`](#pricing):合約費率以及支出計量和開發人員看到的成本數字的乘數

34* [`models`](#models) 和 `auto_include_builtin_models`:管理員策劃的模型清單和每個上游 ID34* [`models`](#models) 和 `auto_include_builtin_models`:管理員策劃的模型清單和每個上游的 ID

35* [`managed`](#managed):按 IdP 群組的受管設定原則35* [`managed`](#managed):按 IdP 群組的受管設定原則

36* [`telemetry`](#telemetry):OTLP 轉發到您的可觀測性堆疊36* [`telemetry`](#telemetry):OTLP 轉發到您的可觀測性堆疊

37* [`access_control`、`limits`、`timeouts`、`rate_limits`](#http-tuning):IP 允許/拒絕、請求大小上限、上游首位元組時間和每 IP 登入限制37* [`access_control`、`limits`、`timeouts`、`rate_limits`](#http-tuning):IP 允許/拒絕、請求大小上限、上游首位元組時間,以及每個 IP 的登入限制

38 38 

39<h2 id="secret-expansion">39<h2 id="secret-expansion">

40 祕密擴展40 祕密擴展


134 `upstreams`134 `upstreams`

135</h3>135</h3>

136 136 

137`upstreams` 是一個有序清單。閘道將推論轉發到解析所請求模型的第一個上游。在 `5xx`、`429`、`401`、`403`、`404` 或逾時時,它會故障轉移到下一個;其他 `4xx` 不會,因為這些錯誤可歸因於請求而不是上游。`401` 或 `403` 表示閘道自己的認證對該上游失敗,`404` 表示該上游不服務所請求的模型,因此清單中稍後的上游仍然可以。137`upstreams` 是一個有序清單。閘道將推論轉發到解析所請求模型的第一個上游。

138 

139在 `5xx`、`429`、`401`、`403`、`404` 或逾時時,它會故障轉移到下一個;其他 `4xx` 不會,因為這些錯誤可歸因於請求而不是上游。`401` 或 `403` 表示閘道自己的認證對該上游失敗。`404` 表示該上游不服務所請求的模型,因此清單中稍後的上游仍然可以。

140 

141如果您在上游上設定 `forward_user_identity: true`,它返回給攜帶開發人員電子郵件的請求的 `429` 不會故障轉移。請參閱[每個使用者限制拒絕如何到達開發人員](#per-user-identity-headers-for-a-proxy-you-run)。

138 142 

139故障轉移於 `404` 需要閘道 v2.1.198 或更新版本。較早的版本即使清單中稍後的上游服務該模型,也會將第一個 `404` 返回給用戶端。143故障轉移於 `404` 需要閘道 v2.1.198 或更新版本。較早的版本即使清單中稍後的上游服務該模型,也會將第一個 `404` 返回給用戶端。

140 144 


226 230 

227當 IdP 令牌不攜帶電子郵件時,閘道僅傳送 `x-claude-gateway-user-id` 並省略兩個電子郵件標頭。如果您的 IdP 將電子郵件放在不同的宣告中,請將 [`oidc.email_claim`](#oidc) 設定為該宣告。231當 IdP 令牌不攜帶電子郵件時,閘道僅傳送 `x-claude-gateway-user-id` 並省略兩個電子郵件標頭。如果您的 IdP 將電子郵件放在不同的宣告中,請將 [`oidc.email_claim`](#oidc) 設定為該宣告。

228 232 

233當您的代理答覆攜帶開發人員電子郵件的請求的 `429` 時,閘道將該回應原樣返回給開發人員,而不是故障轉移到下一個上游,因此您的代理的每個使用者預算或速率限制保持。代理的其他回應遵循普通[故障轉移規則](#upstreams)。如果開發人員的 IdP 令牌不攜帶電子郵件,閘道轉發其請求而不帶電子郵件標頭,因此對其中一個請求的 `429` 計為上游容量並故障轉移。在閘道伺服器上的 v2.1.267 之前,每個 `429` 都故障轉移。

234 

229僅在 `base_url` 是您操作的代理的上游上設定 `forward_user_identity`。閘道將開發人員電子郵件傳送到該 `base_url` 命名的任何伺服器。如果 `base_url` 是 Anthropic API(預設),閘道拒絕啟動。235僅在 `base_url` 是您操作的代理的上游上設定 `forward_user_identity`。閘道將開發人員電子郵件傳送到該 `base_url` 命名的任何伺服器。如果 `base_url` 是 Anthropic API(預設),閘道拒絕啟動。

230 236 

231<h4 id="amazon-bedrock">237<h4 id="amazon-bedrock">


365 371 

366閘道按順序嘗試上游。`5xx`、`429`、`401`、`403`、`404`、逾時和遺漏端點 (`501`) 故障轉移;其他 `4xx` 不會。372閘道按順序嘗試上游。`5xx`、`429`、`401`、`403`、`404`、逾時和遺漏端點 (`501`) 故障轉移;其他 `4xx` 不會。

367 373 

368`429` 是每個上游容量,因此佈建輸送量 (PT) 耗盡會故障轉移到隨需。`404` 是每個上游模型可用性,因此未啟用模型的上游不會阻止清單中稍後服務它的上游。無法解析所請求模型的上游會被跳過,無需網路往返。374`429` 是每個上游容量,因此佈建輸送量 (PT) 耗盡會故障轉移到隨需。如果您在上游上設定 [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run),攜帶開發人員電子郵件的請求的 `429` 是每個使用者拒絕,而不是故障轉移。

375 

376`404` 是每個上游模型可用性,因此未啟用模型的上游不會阻止清單中稍後服務它的上游。無法解析所請求模型的上游會被跳過,無需網路往返。

369 377 

370此範例首先路由佈建輸送量 Bedrock 配額,溢出到隨需和第二個帳戶,最後故障轉移到 Anthropic API:378此範例首先路由佈建輸送量 Bedrock 配額,溢出到隨需和第二個帳戶,最後故障轉移到 Anthropic API:

371 379 


418CLI 對閘道應用相同的功能閘控,無論哪個上游服務給定請求,因此故障轉移不會傳送上游會拒絕的正文欄位。426CLI 對閘道應用相同的功能閘控,無論哪個上游服務給定請求,因此故障轉移不會傳送上游會拒絕的正文欄位。

419 427 

420<h2 id="optional-sections">428<h2 id="optional-sections">

421 選用部分429 選用區段

422</h2>430</h2>

423 431 

424<h3 id="admin">432<h3 id="admin">

425 `admin`433 `admin`

426</h3>434</h3>

427 435 

428選用。啟用 `/v1/organizations/spend_limits`,它鏡像 Anthropic 的公開 Admin API,以及 `/v1/messages` 上的每個開發人員支出強制執行。請參閱[支出限制](/docs/zh-TW/claude-apps-gateway-spend-limits)以了解如何設定和強制執行上限;本部分涵蓋打開功能和調整它的 `gateway.yaml` 鍵。436選用。啟用 `/v1/organizations/spend_limits`,其鏡像 Anthropic 的公開 Admin API,以及在 `/v1/messages` 上的每位開發者支出強制執行。請參閱[支出限制](/docs/zh-TW/claude-apps-gateway-spend-limits)以了解上限如何設定和強制執行;本區段涵蓋啟用該功能並調整它的 `gateway.yaml` 金鑰。

429 437 

430```yaml theme={null}438```yaml theme={null}

431admin:439admin:

432 # 管理員端點的命名靜態 API 金鑰,作為 x-api-key 傳送。440 # 用於 admin 端點的具名靜態 API 金鑰,以 x-api-key 形式傳送。

433 # id 在稽核日誌中顯示為 admin-key:<id>,因此每個金鑰都是441 # id 在稽核日誌中顯示為 admin-key:<id>,因此每個金鑰都

434 # 可歸因的。用於輪換的陣列:新增新金鑰、滾動用戶端、442 # 可追蹤。陣列用於輪換:新增新金鑰、滾動用戶端、

435 # 移除舊金鑰。443 # 移除舊金鑰。

436 write_keys:444 write_keys:

437 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }445 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

438 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }446 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

439 read_keys:447 read_keys:

440 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }448 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

441 # 透過正常閘道 JWT(無 API 金鑰)授予完整管理員的 IdP 群組。449 # IdP 群組透過一般 gateway JWT(無 API 金鑰)授予完整 admin 存取權。

442 admin_groups: [platform-finops]450 admin_groups: [platform-finops]

443 blocked_message: request an increase at https://go.example.com/claude-limits451 blocked_message: request an increase at https://go.example.com/claude-limits

444```452```

445 453 

446| 欄位 | 必需 | 說明 |454| 欄位 | 必要 | 說明 |

447| ------------------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |455| ------------------------- | -- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

448| `write_keys` | 否 | `{id, key}` 的陣列。與其中一個相符的 `x-api-key` 可以列出、設定和刪除支出限制。金鑰值必須至少 32 個字元;`id` 必須在 `read_keys` 和 `write_keys` 中唯一。 |456| `write_keys` | 否 | `{id, key}` 的陣列。符合其中一個的 `x-api-key` 可以列出、設定和刪除支出限制。金鑰值必須至少 32 個字元;`id` 在 `read_keys` 和 `write_keys` 中必須唯一。 |

449| `read_keys` | 否 | `{id, key}` 的陣列。唯讀:每個 `GET` 端點,包括列出上限、按 ID 擷取一個,以及讀取 [`/effective`](/docs/zh-TW/claude-apps-gateway-spend-limits#%2Feffective) 和 [`/audit`](/docs/zh-TW/claude-apps-gateway-spend-limits#%2Faudit)。 |457| `read_keys` | 否 | `{id, key}` 的陣列。唯讀:每個 `GET` 端點,包括列出上限、按 ID 擷取一個,以及讀取 [`/effective`](/docs/zh-TW/claude-apps-gateway-spend-limits#%2Feffective) 和 [`/audit`](/docs/zh-TW/claude-apps-gateway-spend-limits#%2Faudit)。 |

450| `admin_groups` | 否 | IdP 群組名稱。其 `groups` 宣告包含其中一個的閘道 JWT 具有完整管理員存取權,讀取和寫入,並稽核為 `oidc:<sub>`。將此用於人類管理員;將 API 金鑰用於機器。此清單中的空項目會在啟動時停止閘道。請參閱[停止閘道啟動的匹配器值](#matcher-values-that-stop-the-gateway-at-boot)。 |458| `admin_groups` | 否 | IdP 群組名稱。gateway JWT 的 `groups` 宣告包含其中一個的具有完整 admin 存取權(讀取和寫入),並稽核為 `oidc:<sub>`。將此用於人類 admin;將 API 金鑰用於機器。此清單中的空項目會在啟動時停止 gateway。請參閱[在啟動時停止 gateway 的匹配器值](#matcher-values-that-stop-the-gateway-at-boot)。 |

451| `blocked_message` | 否 | 逐字附加到被阻止的開發人員看到的 `429 billing_error`。寫入整個指令,例如 URL 或 Slack 頻道。未設定時,閘道僅傳送預設訊息。請參閱[強制執行如何運作](/docs/zh-TW/claude-apps-gateway-spend-limits#how-enforcement-works)。 |459| `blocked_message` | 否 | 逐字附加到被阻止的開發者看到的 `429 billing_error`。寫入完整指示,例如 URL 或 Slack 頻道。未設定時,gateway 只傳送預設訊息。請參閱[強制執行如何運作](/docs/zh-TW/claude-apps-gateway-spend-limits#how-enforcement-works)。 |

452| `audit_retention_days` | 否 | 預設 `365`。較舊的 `admin_audit` 列會被掃除。 |460| `audit_retention_days` | 否 | 預設 `365`。較舊的 `admin_audit` 列會被清除。 |

453| `spend_retention_months` | 否 | 預設 `13`。早於此的 `spend` 計數器列會被掃除。預設值保留完整年份加當前部分月份以進行年度比較報告。 |461| `spend_retention_months` | 否 | 預設 `13`。超過此時間的 `spend` 計數器列會被清除。預設值保留整整一年加上當月的部分月份,用於年度比較報告。 |

454| `identity_retention_days` | 否 | 預設 `90`。`principal_emails` 列的最後一次看到 TTL,其中保存每個開發人員的電子郵件、顯示名稱和群組 (PII)。故意比支出保留更短,因此已取消佈建的身分識別會在其匿名支出計數器保留時老化。 |462| `identity_retention_days` | 否 | 預設 `90`。`principal_emails` 列的最後一次看到 TTL,其中保存每位開發者的電子郵件、顯示名稱和群組(PII)。刻意比支出保留期短,因此已取消佈建的身分會在其匿名支出計數器保留時過期。 |

455| `group_limit_mode` | 否 | `min`(預設)或 `max`。當開發人員在具有上限的多個群組中時,`min` 強制執行最限制的,`max` 強制執行最寬鬆的。由強制執行和 `/effective` 使用。 |463| `group_limit_mode` | 否 | `min`(預設)或 `max`。當開發者在多個具有上限的群組中時,`min` 強制執行最嚴格的,`max` 強制執行最寬鬆的。由強制執行和 `/effective` 使用。 |

456 464 

457<h3 id="enforcement">465<h3 id="enforcement">

458 `enforcement`466 `enforcement`


460 468 

461`enforcement` 區塊控制當存放區不可用時支出限制檢查的行為。469`enforcement` 區塊控制當存放區不可用時支出限制檢查的行為。

462 470 

463| 欄位 | 必需 | 說明 |471| 欄位 | 必要 | 說明 |

464| ---------------------- | -- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |472| ---------------------- | -- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

465| `fail_closed_on_error` | 否 | 預設 `false`。支出強制執行在 Postgres 中斷時失敗開放,因此推論保持運行。設定 `true` 以失敗關閉:超過上限的開發人員被阻止,但如果存放區無法到達,每個人都被阻止。需要 [`admin:`](#admin) 區塊:支出強制執行僅在設定 `admin` 時執行,如果您設定此 `true` 而沒有一個,閘道拒絕啟動。 |473| `fail_closed_on_error` | 否 | 預設 `false`。支出強制執行在 Postgres 中斷時失敗開放,因此推論保持運作。設定為 `true` 以失敗關閉:超過上限的開發者被阻止,但如果存放區無法到達,所有人也都被阻止。需要 [`admin:`](#admin) 區塊:支出強制執行只在設定 `admin` 時執行,如果您在沒有 `admin` 的情況下設定此 `true`,gateway 會拒絕啟動。 |

466 474 

467<h3 id="pricing">475<h3 id="pricing">

468 `pricing`476 `pricing`

469</h3>477</h3>

470 478 

471`pricing` 區塊告訴支出計量器要收費什麼而不是美元列表價格,因此上限和 [`/effective`](/docs/zh-TW/claude-apps-gateway-spend-limits#%2Feffective) 反映您的合約費率。金額保持在美元中並保持估計,不是發票。兩個先決條件:479`pricing` 區塊告訴支出計量器要收費的金額而不是 USD 清單價格,因此上限和 [`/effective`](/docs/zh-TW/claude-apps-gateway-spend-limits#%2Feffective) 反映您的合約費率。金額保持為 USD,並保持為估計值,而非發票。兩個先決條件:

472 480 

473* 閘道伺服器上的 Claude Code v2.1.227 或更新版本。較早版本在啟動時拒絕未知鍵。481* gateway 伺服器上的 Claude Code v2.1.227 或更新版本。較早版本在啟動時拒絕未知金鑰。

474* [`admin:`](#admin) 區塊,因為只有支出計量器讀取 `pricing`。閘道拒絕以 `pricing` 設定啟動且沒有 `admin`。482* [`admin:`](#admin) 區塊或在 v2.1.268 或更新版本中,具有至少一個原則的 [`managed:`](#managed) 區塊。gateway 會拒絕在設定 `pricing` 且沒有任何區塊的情況下啟動,因為沒有任何東西會讀取它。

475 483 

476```yaml theme={null}484```yaml theme={null}

477pricing:485pricing:


485 cache_write: 4.125493 cache_write: 4.125

486```494```

487 495 

488| 欄位 | 必需 | 說明 |496| 欄位 | 必要 | 說明 |

489| ------------ | -- | ------------------------------------------------------------------------------------------- |497| ------------ | -- | ----------------------------------------------------------------------------------------------------------------- |

490| `multiplier` | 否 | 預設 `1`。計量器將每個計量金額乘以此,無論是列表價格還是覆蓋,因此 `0.85` 計費 85% 的價格。必須大於 0 且最多 1。 |498| `multiplier` | 否 | 預設 `1`。計量器將每個計量金額乘以此值,無論是清單定價還是覆蓋,因此 `0.85` 計費 85% 的價格。必須大於 0 且最多 10,值大於 1 是[標記價格上升](#mark-prices-up)。 |

491| `overrides` | 否 | `{upstream, model, input, output, cache_read, cache_write}` 的列,單位為美元每百萬令牌。所有四個費率都是必需的且必須為正。 |499| `overrides` | 否 | `{upstream, model, input, output, cache_read, cache_write}` 的列,單位為 USD 每百萬個 token。所有四個費率都是必要的。每個必須大於 0 且最多 10000。 |

492 500 

493計量器如何匹配覆蓋列:501計量器如何匹配覆蓋列:

494 502 

495* 列替換 `upstream`([`upstreams[].name`](#upstreams))為 `model` 提供的請求的列表價格。這包括更高的[快速模式](/docs/zh-TW/fast-mode#understand-the-cost-tradeoff)費率,因此快速和標準請求以相同的四個費率計量。503* 列替換 `upstream`([`upstreams[].name`](#upstreams))為 `model` 提供的請求的清單價格。這包括更高的[快速模式](/docs/zh-TW/fast-mode#understand-the-cost-tradeoff)費率,因此快速和標準請求以相同的四個費率計量。

496* 內建 ID(例如 `claude-sonnet-4-6`)匹配方式類似 [`models[].id`](#models),涵蓋計量器定價為該模型的每個日期形式、區域 Amazon Bedrock 形式或 Google Cloud 的 Agent Platform 形式。任何其他字串(例如別名或推論設定檔 ARN)匹配用戶端傳送的 ID 或上游傳送的字串,不區分大小寫。504* 內建 ID(例如 `claude-sonnet-4-6`)匹配方式類似 [`models[].id`](#models),涵蓋計量器定價為該模型的每個日期形式、區域 Amazon Bedrock 形式或 Google Cloud 的 Agent Platform 形式。任何其他字串(例如別名或推論設定檔 ARN)匹配用戶端傳送的 ID 或上游傳送的字串,不區分大小寫。

497* 列重疊時,計量器選擇最具體的列而不是第一列:其 `model` 是上游傳送的確切模型字串的列,然後是符合用戶端傳送的確切 ID 的列,然後是命名內建模型的列。505* 列重疊時,計量器選擇最具體的列而不是第一列:其 `model` 是上游傳送的確切模型字串的列,然後是匹配用戶端傳送的確切 ID 的列,然後是命名內建模型的列。

498* 未知上游名稱失敗啟動,兩列用於一個上游命名相同模型也是,包括一個內建模型的兩個拼寫。閘道在啟動時警告沒有可請求模型可以使用的列。506* 未知的上游名稱會導致啟動失敗,兩個列針對一個上游命名相同模型也會導致啟動失敗,包括一個內建模型的兩個拼寫。gateway 在啟動時警告沒有可請求模型可以使用的列。

499* 網路搜尋請求保持在 \$0.01 列表價格;乘數仍然適用於它們。507* Web 搜尋請求保持在 \$0.01 清單價格;乘數仍適用於它們。

500 508 

501對於每個地區費率,為每個地區提供自己的命名上游和每個上游一列。509對於每個區域費率,為每個區域提供自己的具名上游和每個上游一列。

510 

511<h4 id="mark-prices-up">

512 標記價格上升

513</h4>

514 

515使用 gateway 伺服器上的 v2.1.271 或更新版本,您可以將 `multiplier` 設定為大於 1,最多 10,以計量超過提供者收費的金額,例如內部退款費率。此範例以 120% 的價格計量每個請求:

516 

517```yaml theme={null}

518pricing:

519 multiplier: 1.2

520```

521 

522使用 [`admin:`](#admin) 區塊,標記也適用於支出限制。計量器計數 120% 的價格,因此開發者更快達到其上限。gateway 在啟動時記錄警告,說明這一點。

523 

524乘數不會改變上游提供者對請求的收費。

525 

526如果 gateway 也[將費率傳送給已登入的用戶端](#send-the-rates-to-signed-in-clients),開發者需要 Claude Code v2.1.271 或更新版本才能看到標記。較早的用戶端忽略大於 1 的 `multiplier` 並顯示不含標記的成本。

527 

528早於 v2.1.271 的 gateway 伺服器會在您設定大於 1 的 `multiplier` 時拒絕啟動。

529 

530<h4 id="send-the-rates-to-signed-in-clients">

531 將費率傳送給已登入的用戶端

532</h4>

533 

534使用 gateway 伺服器上的 v2.1.268 或更新版本,gateway 也將 `pricing` 中的費率放入它提供的 [`managed`](#managed) 原則中,作為 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing) 受管設定。由原則匹配的開發者隨後在 `/usage`、狀態列和 OpenTelemetry 中看到為提供每個模型 ID 的第一個上游的 `pricing` 費率。不符合任何原則的開發者不會收到受管設定,因此其數字保持在清單價格。用戶端在 Claude Code v2.1.242 或更新版本中應用設定。

535 

536* gateway 新增的內容:除非原則的 `cli` 區塊已設定 `modelPricing`,gateway 新增 `multiplier` 和用戶端可以請求的每個模型 ID 的第一個提供該 ID 的上游的覆蓋列。只有容錯移轉上游收費的費率保持在 gateway 上。

537* 選擇一個原則退出:在該原則的 `cli` 區塊中將 `modelPricing` 設定為 `{}`,其開發者保持在清單價格。

538* 保留原則自己的費率:其 `cli` 區塊使用自己的 `multiplier` 或 `overrides` 設定 `modelPricing` 的原則保留該 `modelPricing` 完整,gateway 不新增自己的費率到它。

502 539 

503<h3 id="models">540<h3 id="models">

504 `models`541 `models`

505</h3>542</h3>

506 543 

507`models` 區塊是選用的管理員策劃模型清單,在 `/v1/models` 提供並用於轉換每個上游的模型 ID。對於非美國 Amazon Bedrock 地區、Amazon Bedrock 佈建輸送量 ARN 和 Microsoft Foundry 部署名稱是必需的。544`models` 區塊是選用的 admin 策劃模型清單,在 `/v1/models` 提供並用於按上游轉譯模型 ID。對於非美國 Amazon Bedrock 區域、Amazon Bedrock 佈建輸送量 ARN 和 Microsoft Foundry 部署名稱是必要的。

508 545 

509```yaml theme={null}546```yaml theme={null}

510auto_include_builtin_models: true # false:僅公開下面的清單547auto_include_builtin_models: true # false: expose only the list below

511models:548models:

512 - id: claude-opus-4-8549 - id: claude-opus-4-8

513 label: Claude Opus 4.8550 label: Claude Opus 4.8

514 # description: 在表面它的用戶端中顯示的選用文字551 # description: optional text shown in clients that surface it

515 upstream_model:552 upstream_model:

516 anthropic: claude-opus-4-8553 anthropic: claude-opus-4-8

517 bedrock: us.anthropic.claude-opus-4-8 # 或推論設定檔 ARN554 bedrock: us.anthropic.claude-opus-4-8 # or an inference-profile ARN

518 foundry: your-opus-deployment-name555 foundry: your-opus-deployment-name

519```556```

520 557 

521`upstream_model` 下的每個鍵必須符合已設定上游的 `name`,預設為提供者名稱。不符合任何上游的鍵失敗啟動,因此省略您不使用的提供者的列。558`upstream_model` 下的每個金鑰必須符合已設定上游的 `name`,預設為提供者名稱。不符合任何上游的金鑰會導致啟動失敗,因此省略您不使用的提供者的列。

522 559 

523<h3 id="managed">560<h3 id="managed">

524 `managed`561 `managed`

525</h3>562</h3>

526 563 

527`managed` 區塊定義基於 IdP 群組或電子郵件網域的角色型存取原則。原則按順序評估;選擇第一個相符項,然後合併到下面描述的 `match: {}` 全部捕捉基礎上。它們按使用者在 `GET /managed/settings` 提供,具有 ETag/304 快取。564`managed` 區塊定義基於 IdP 群組或電子郵件網域的角色型存取原則。原則按順序評估;選擇第一個匹配,然後合併到 `match: {}` 全部捕捉基礎。它們按使用者在 `GET /managed/settings` 提供,具有 ETag/304 快取。

528 565 

529```yaml theme={null}566```yaml theme={null}

530managed:567managed:

531 policies:568 policies:

532 # 特定群組優先。569 # Specific groups first.

533 - match: { groups: [eng-contractors] }570 - match: { groups: [eng-contractors] }

534 cli:571 cli:

535 availableModels: [claude-sonnet-4-6]572 availableModels: [claude-sonnet-4-6]

536 permissions: { deny: ["WebFetch", "WebSearch"] }573 permissions: { deny: ["WebFetch", "WebSearch"] }

537 # 預設全部捕捉最後:符合每個已驗證的人。574 # Default catch-all last: matches everyone who authenticated.

538 - match: {}575 - match: {}

539 cli:576 cli:

540 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]577 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

541```578```

542 579 

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

544 581 

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

546* **拒絕清單和掛鉤陣列**:`permissions.deny`、`permissions.ask`、`disabledMcpjsonServers`、`deniedMcpServers`、`blockedMarketplaces` 和每個 `hooks` 事件類型陣列。這些採用基礎和原則的聯合,因此組織範圍的拒絕或稽核掛鉤無法被每個角色覆蓋意外刪除。583* **拒絕清單和 hook 陣列**:`permissions.deny`、`permissions.ask`、`disabledMcpjsonServers`、`deniedMcpServers`、`blockedMarketplaces` 和每個 `hooks` 事件類型陣列。這些取基礎和原則的聯集,因此組織範圍的拒絕或稽核 hook 不會被每個角色覆蓋意外丟棄。

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

548 585 

549`availableModels` 也在 `/v1/messages` 伺服器端強制執行,因此被拒絕的模型返回 `400`,無論用戶端傳送什麼。586`availableModels` 也在 `/v1/messages` 伺服器端強制執行,因此被拒絕的模型返回 `400`,無論用戶端傳送什麼。

550 587 

551閘道在轉發請求之前驗證 `model` 值本身,因此格式不正確的值永遠不會到達上游。它在兩種情況下以 `400` 拒絕請求:588gateway 在轉發請求之前驗證 `model` 值本身,因此格式不正確的值永遠不會到達上游。它在兩種情況下以 `400` 拒絕請求:

552 589 

553* 當值遺失或空時,閘道以訊息 `model is required` 拒絕請求。該檢查需要執行 Claude Code v2.1.228 或更新版本的閘道。590* 當值缺失或為空時,gateway 以訊息 `model is required` 拒絕請求。該檢查需要執行 Claude Code v2.1.228 或更新版本的 gateway。

554* 當值存在但不是字串時,閘道以訊息 `model must be a string` 拒絕請求。需要執行 Claude Code v2.1.221 或更新版本的閘道。591* 當值存在但不是字串時,gateway 以訊息 `model must be a string` 拒絕請求。需要執行 Claude Code v2.1.221 或更新版本的 gateway。

555 592 

556| 匹配器 | 行為 |593| 匹配器 | 行為 |

557| --------------------------------------------------- | ---------------------------------------------------------- |594| --------------------------------------------------- | ---------------------------------------------------------- |

558| `match: {}` | 符合每個已驗證的使用者。從其中一個開始,稍後新增群組範圍的原則。 |595| `match: {}` | 匹配每個已驗證的使用者。從其中一個開始,稍後在其上方新增群組範圍的原則。 |

559| `match: { groups: [a, b] }` | 如果 JWT 的 `groups` 宣告包含任何列出的群組,則符合。區分大小寫:群組必須符合 IdP 的確切大小寫。 |596| `match: { groups: [a, b] }` | 如果 JWT 的 `groups` 宣告包含任何列出的群組,則匹配。區分大小寫:群組必須符合 IdP 的確切大小寫。 |

560| `match: { email_domain: example.com }` | 符合 JWT 的 `email` 宣告中最後一個 `@` 之後的部分,不區分大小寫。每個原則接受一個網域。 |597| `match: { email_domain: example.com }` | 匹配 JWT 的 `email` 宣告中最後一個 `@` 之後的部分,不區分大小寫。每個原則接受一個網域。 |

561| `match: { groups: [a], email_domain: example.com }` | 兩個條件都必須符合 |598| `match: { groups: [a], email_domain: example.com }` | 兩個條件都必須匹配 |

562 599 

563未符合任何原則的已驗證使用者獲得閘道的預設值,這意味著目錄中的每個模型和沒有受管設定。如果您想要保證的預設原則,請在最後新增 `match: {}` 全部捕捉。600不符合任何原則的已驗證使用者獲得 gateway 的預設值,這意味著目錄中的每個模型和沒有受管設定。如果您想要保證的預設原則,請在最後新增 `match: {}` 全部捕捉。

564 601 

565<Note>602<Note>

566 閘道不維護自己的使用者目錄。它從使用者的 IdP 令牌授權每個請求,從令牌的 `groups` 宣告讀取群組成員資格,並根據它評估原則。沒有要列舉的名冊,沒有要預先建立的帳戶,因此沒有 SCIM 端點,因為沒有什麼可供 SCIM 同步到。603 gateway 保留沒有自己的使用者目錄。它從使用者的 IdP 令牌授權每個請求,從令牌的 `groups` 宣告讀取群組成員資格並針對它評估原則。沒有名冊可列舉,沒有帳戶可預先建立,因此沒有 SCIM 端點,因為沒有東西可供 SCIM 同步到。

567 604 

568 在真實來源(您的 IdP 的原生 SCIM 佈建或專用身分識別治理平台)執行使用者和群組生命週期管理。那裡管理的成員資格和取消佈建透過令牌自動流入閘道。如果您想要 Claude 帳戶本身的 SCIM 佈建,那是 [Claude for Enterprise](/docs/zh-TW/admin-setup) 功能。605 在真實來源(您的 IdP 的原生 SCIM 佈建或專用身分治理平台)執行使用者和群組生命週期管理。那裡管理的成員資格和取消佈建透過令牌自動流入 gateway。如果您想要 Claude 帳戶本身的 SCIM 佈建,那是[Claude for Enterprise](/docs/zh-TW/admin-setup) 功能。

569 606 

570 兩個傳播時鐘適用:607 兩個傳播時鐘適用:

571 608 

572 * **原則內容**:編輯原則並重新部署在連接的用戶端的下一個受管設定輪詢時到達,在一小時內,除了[僅在下一次啟動時適用的變更](/docs/zh-TW/server-managed-settings#fetch-and-caching-behavior)609 * **原則內容**:編輯原則並重新部署在連接的用戶端的下一個受管設定輪詢時到達,在一小時內,除了[只在下一次啟動時適用的變更](/docs/zh-TW/server-managed-settings#fetch-and-caching-behavior)

573 * **群組成員資格**:變更使用者的群組成員資格會變更哪個原則符合他們。這在下一個工作階段重新鑄造時生效,意味著下一個無聲重新整理,受 `session.ttl_hours` 限制。610 * **群組成員資格**:變更使用者的群組成員資格變更哪個原則匹配他們。這在下一個工作階段重新鑄造時生效,意味著下一個無聲重新整理,受 `session.ttl_hours` 限制。

574</Note>611</Note>

575 612 

576<h4 id="matcher-values-that-stop-the-gateway-at-boot">613<h4 id="matcher-values-that-stop-the-gateway-at-boot">

577 停止閘道啟動的匹配器值614 在啟動時停止 gateway 的匹配器值

578</h4>615</h4>

579 616 

580在啟動時,閘道檢查每個原則的 `match` 區塊和 [`admin_groups`](#admin) 清單。這些值中的任何一個都會停止閘道並出現命名欄位的錯誤:617在啟動時,gateway 檢查每個原則的 `match` 區塊和 [`admin_groups`](#admin) 清單。這些值中的任何一個都會停止 gateway,並出現命名該欄位的錯誤:

581 618 

582* 空 `groups` 清單619* 空的 `groups` 清單

583* `groups` 或 `admin_groups` 中的空項目620* `groups` 或 `admin_groups` 中的空項目

584* 空 `email_domain`621* 空的 `email_domain`

585* 包含 `@`、空白或逗號的 `email_domain`。閘道修剪值並在此檢查之前去除一個前導 `@`。寫入一個裸網域,例如 `example.com`。622* 包含 `@`、空白或逗號的 `email_domain`。gateway 修剪值並在此檢查之前移除一個前導 `@`。寫入一個裸網域,例如 `example.com`。

586 623 

587在 v2.1.232 之前,閘道以這些值啟動。每個值有此效果:624在 v2.1.232 之前,gateway 以這些值啟動。每個值有此效果:

588 625 

589* 空 `email_domain`:閘道跳過網域檢查,因此具有空 `email_domain` 和沒有 `groups` 清單的原則符合每個已驗證的使用者626* 空的 `email_domain`:gateway 跳過網域檢查,因此具有空 `email_domain` 和沒有 `groups` 清單的原則匹配每個已驗證的使用者

590* 空 `groups` 清單:原則不符合任何人627* 空的 `groups` 清單:原則不匹配任何人

591* 包含 `@`、空白或逗號的 `email_domain`:原則不符合任何人628* 包含 `@`、空白或逗號的 `email_domain`:原則不匹配任何人

592* `groups` 或 `admin_groups` 中的空項目:項目僅當該使用者的 IdP `groups` 宣告也包含空項目時才符合使用者。在 `admin_groups` 中,該符合授予管理員存取權。如果您的 `admin_groups` 清單從未包含空項目,沒有人以此方式獲得管理員存取權。629* `groups` 或 `admin_groups` 中的空項目:項目只在該使用者的 IdP `groups` 宣告也包含空項目時匹配使用者。在 `admin_groups` 中,該匹配授予 admin 存取權。如果您的 `admin_groups` 清單從未包含空項目,沒有人以此方式獲得 admin 存取權。

593 630 

594<h4 id="what-goes-in-cli">631<h4 id="what-goes-in-cli">

595 `cli` 中的內容632 `cli` 中的內容

596</h4>633</h4>

597 634 

598每個 `cli` 值是完整的 Claude Code `managed-settings.json` 文件,與您透過 MDM 或 `/etc/claude-code/managed-settings.json` 部署的相同架構,在此表示為 YAML。CLI 在受管層應用傳遞的文件,在使用者和專案設定之上,代替伺服器受管設定。它因此忽略[限制於 OS 層級原則來源的設定](/docs/zh-TW/server-managed-settings#current-limitations),例如 `policyHelper` 和 `wslInheritsWindowsSettings`。635每個 `cli` 值是完整的 Claude Code `managed-settings.json` 文件,與您透過 MDM 或 `/etc/claude-code/managed-settings.json` 部署的相同架構,在此表示為 YAML。CLI 在受管層級應用傳遞的文件,在使用者和專案設定之上,代替伺服器受管設定。因此它忽略[限制於 OS 層級原則來源](/docs/zh-TW/server-managed-settings#current-limitations)的設定,例如 `policyHelper` 和 `wslInheritsWindowsSettings`。

599 636 

600閘道在啟動時根據 CLI 的設定架構驗證每個文件,因此無法識別的頂層鍵失敗啟動並出現命名每個違規鍵的錯誤。架構的故意開放部分仍然接受任意值,因為較新的用戶端可能識別閘道的架構不識別的項目。這些開放鍵是 `env`、`pluginConfigs` 和 `permissions` 下嵌套的鍵。637gateway 在啟動時針對 CLI 的設定架構驗證每個文件,因此無法識別的頂層金鑰會導致啟動失敗,並出現命名每個違規金鑰的錯誤。架構的刻意開放部分仍接受任意值,因為較新的用戶端可能識別 gateway 的架構不識別的項目。這些開放金鑰包括 `env`、`pluginConfigs` 和 `permissions` 下的巢狀金鑰。

601 638 

602因為驗證使用與閘道的已安裝版本捆綁的架構,將較新 Claude Code 版本引入的頂層設定鍵放入受管設定需要首先升級閘道。在將新原則推出到一個用戶端之前進行煙霧測試。639因為驗證使用與 gateway 已安裝版本捆綁的架構,將較新 Claude Code 版本引入的頂層設定金鑰放入受管設定需要先升級 gateway。在將新原則推出給所有用戶端之前,先在一個用戶端上進行煙霧測試。

603 640 

604完整的鍵參考在 [Claude Code 設定](/docs/zh-TW/settings-reference#all-settings) 中。操作員首先尋求的鍵:641完整金鑰參考在[Claude Code 設定](/docs/zh-TW/settings-reference#all-settings)中。運營者首先尋求的金鑰:

605 642 

606```yaml theme={null}643```yaml theme={null}

607managed:644managed:

608 policies:645 policies:

609 - match: {}646 - match: {}

610 cli:647 cli:

611 # 模型存取(也在 /v1/messages 伺服器端強制執行)648 # Model access (also enforced server-side at /v1/messages)

612 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]649 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

613 650 

614 # 權限原則651 # Permission policy

615 permissions:652 permissions:

616 deny:653 deny:

617 - "WebFetch"654 - "WebFetch"

618 - "Read(./.env)"655 - "Read(./.env)"

619 - "Read(./secrets/**)"656 - "Read(./secrets/**)"

620 disableBypassPermissionsMode: disable # 阻止 --dangerously-skip-permissions657 disableBypassPermissionsMode: disable # blocks --dangerously-skip-permissions

621 allowManagedPermissionRulesOnly: true # 忽略使用者/專案權限規則658 allowManagedPermissionRulesOnly: true # ignore user/project permission rules

622 659 

623 # 推送到 CLI 程序的環境。DISABLE_UPDATES 阻止660 # Environment pushed into the CLI process. DISABLE_UPDATES blocks

624 # 背景和手動更新;DISABLE_AUTOUPDATER 僅停止661 # background and manual updates; DISABLE_AUTOUPDATER stops only

625 # 背景更新。662 # background updates.

626 env:663 env:

627 DISABLE_UPDATES: "1" # 透過您自己的發佈固定版本664 DISABLE_UPDATES: "1" # pin versions via your own distribution

628 665 

629 # 組織範圍的掛鉤。掛鉤命令在開發人員機器上執行,而不是666 # Org-wide hooks. Hook commands run on developer machines, not the

630 # 閘道,因此路徑必須存在於原則中的每個用戶端 OS 上。667 # gateway, so the path must exist on every client OS in the policy.

631 hooks:668 hooks:

632 PostToolUse:669 PostToolUse:

633 - matcher: "Edit|Write"670 - matcher: "Edit|Write"


635 - { type: command, command: /usr/local/bin/audit-edit.sh }672 - { type: command, command: /usr/local/bin/audit-edit.sh }

636```673```

637 674 

638| 鍵 | 由以下強制執行 | 效果 |675| 金鑰 | 由以下強制執行 | 效果 |

639| ------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |676| ------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

642| `permissions.disableBypassPermissionsMode` | CLI | 設定為 `disable` 以阻止 [`bypassPermissions`](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode),自動批准每個工具呼叫的模式,以及 `--dangerously-skip-permissions` 旗標 |679| `permissions.disableBypassPermissionsMode` | CLI | 設定為 `disable` 以阻止 [`bypassPermissions`](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode),跳過權限提示的模式,以及 `--dangerously-skip-permissions` 旗標 |

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

644| `env` | CLI | 合併到 CLI 程序的環境變數。用於遙測、自動更新和模型名稱覆蓋。 |681| `env` | CLI | 合併到 CLI 程序的環境變數。用於遙測、自動更新和模型名稱覆蓋。 |

645| `hooks` | CLI | 組織範圍的 [hooks](/docs/zh-TW/hooks) |682| `hooks` | CLI | 組織範圍的 [hooks](/docs/zh-TW/hooks) |

646| `managedMcpServers` | CLI | 遠端 MCP 伺服器[提供給每個符合的開發人員](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)以及他們自己新增的伺服器,`http` 和 `sse` 僅。請參閱[原則中的 MCP 伺服器](#mcp-servers-in-a-policy)。需要閘道伺服器和用戶端上的 Claude Code v2.1.259 或更新版本。較早的用戶端忽略該鍵。 |683| `managedMcpServers` | CLI | 遠端 MCP 伺服器[提供給每個匹配的開發者](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)以及他們自己新增的伺服器,`http` 和 `sse` 只。請參閱[原則中的 MCP 伺服器](#mcp-servers-in-a-policy)。需要 gateway 伺服器和用戶端上的 Claude Code v2.1.259 或更新版本。較早的用戶端忽略金鑰。 |

647 684 

648因為這些設定透過網路到達,CLI 在應用下面列出的設定之前向每個開發人員顯示安全批准對話:685因為這些設定透過網路到達,CLI 在應用下列列出的設定之前向每位開發者顯示安全核准對話框:

649 686 

650* `hooks`687* `hooks`

651* `env` 變數需要開發人員的批准,例如代理和基礎 URL 變數688* 需要開發者核准的 `env` 變數,例如代理和基礎 URL 變數

652* shell 執行設定,例如 `apiKeyHelper` 和 `statusLine`689* 殼層執行設定,例如 `apiKeyHelper` 和 `statusLine`

653* 沙箱二進位設定 `sandbox.bwrapPath`、`sandbox.socatPath` 和 `sandbox.ripgrep`690* 沙箱二進位設定 `sandbox.bwrapPath`、`sandbox.socatPath` 和 `sandbox.ripgrep`

654* 攔截流量、注入認證或削弱隔離的沙箱設定,例如 `sandbox.network.tlsTerminate` 和代理埠設定。[安全批准對話](/docs/zh-TW/server-managed-settings#security-approval-dialogs)列出它們全部。691* 攔截流量、注入認證或削弱隔離的沙箱設定,例如 `sandbox.network.tlsTerminate` 和代理連接埠設定。[安全核准對話框](/docs/zh-TW/server-managed-settings#security-approval-dialogs)列出所有。

655 692 

656[批准記憶](/docs/zh-TW/server-managed-settings#approval-memory)涵蓋批准持續多長時間以及對話何時再次出現。693[核准記憶](/docs/zh-TW/server-managed-settings#approval-memory)涵蓋核准持續多長時間以及何時再次出現對話框。

657 694 

658Claude Code 應用一些傳遞的 `env` 變數而不向開發人員顯示批准對話,例如模型選擇設定和數值限制。其他傳遞的變數可能需要開發人員的批准才能生效;非空代理、基礎 URL 或 `OTEL_EXPORTER_OTLP_ENDPOINT` 值總是這樣。當傳遞的變數需要批准時,對話命名它。695Claude Code 應用某些傳遞的 `env` 變數而不向開發者顯示核准對話框,例如模型選擇設定和數值限制。其他傳遞的變數可能需要開發者的核准才能生效;非空代理、基礎 URL 或 `OTEL_EXPORTER_OTLP_ENDPOINT` 值總是如此。當傳遞的變數需要核准時,對話框命名它。

659 696 

660[環境變數和批准對話](/docs/zh-TW/server-managed-settings#environment-variables-and-the-approval-dialog)有詳細資訊,包括四個隱私切換,其傳遞值決定它們是否需要批准。在 v2.1.218 之前,Claude Code 應用較少的變數而不詢問開發人員,因此更多傳遞的變數觸發對話。697[環境變數和核准對話框](/docs/zh-TW/server-managed-settings#environment-variables-and-the-approval-dialog)有詳細資訊,包括四個隱私切換,其傳遞值決定它們是否需要核准。在 v2.1.218 之前,Claude Code 應用較少的變數而不詢問開發者,因此更多傳遞的變數觸發對話框。

661 698 

662閘道的[遙測](#telemetry)設定推送 `OTEL_EXPORTER_OTLP_ENDPOINT`,因此設定 `telemetry.forward_to` 在每個互動式用戶端上觸發對話。對話保護開發人員的機器免受受損或敵對閘道的影響,而不是保護組織免受開發人員的影響。699gateway 的[遙測](#telemetry)設定推送 `OTEL_EXPORTER_OTLP_ENDPOINT`,因此設定 `telemetry.forward_to` 在每個互動式用戶端上觸發對話框。對話框保護開發者的機器免受受損或敵對 gateway 的影響,而不是保護組織免受開發者的影響。

663 700 

664使用 `-p` 旗標的非互動式執行無法顯示對話。它僅為該執行應用推送的設定,不將其記錄為已批准,因此開發人員的下一個互動式工作階段仍然顯示對話。在 v2.1.207 之前,非互動式執行將設定儲存為已批准,沒有後來的互動式工作階段為它們顯示對話。701具有 `-p` 旗標的非互動式執行無法顯示對話框。它僅針對該執行應用推送的設定,不將其記錄為已核准,因此開發者的下一個互動式工作階段仍會顯示它們的對話框。在 v2.1.207 之前,非互動式執行將設定儲存為已核准,沒有後來的互動式工作階段顯示它們的對話框。

665 702 

666如果開發人員拒絕,Claude Code 退出該工作階段而不是應用原則。將新掛鉤或任何觸發對話的 env 變數推送到廣泛原則因此意味著 Claude Code 向每個符合的開發人員顯示對話。它在執行中的工作階段上在下一個每小時輪詢時顯示對話,否則在開發人員的下一次啟動時。703如果開發者拒絕,Claude Code 會退出該工作階段而不是應用原則。當您推送新 hook 或任何觸發對話框的 env 變數到廣泛原則時,Claude Code 因此向每個匹配的開發者顯示對話框。它在執行中的工作階段上在下一個每小時輪詢時顯示對話框,否則在開發者的下一次啟動時顯示。

667 704 

668`cli` 鍵在較早版本中被命名為 `settings`。該拼寫仍然被接受為別名,但新部署應使用 `cli`。705`cli` 金鑰在較早版本中命名為 `settings`。該拼寫仍被接受為別名,但新部署應使用 `cli`。

669 706 

670<h4 id="mcp-servers-in-a-policy">707<h4 id="mcp-servers-in-a-policy">

671 原則中的 MCP 伺服器708 原則中的 MCP 伺服器

672</h4>709</h4>

673 710 

674要向原則符合的 Claude Code 用戶端提供 MCP 伺服器,在該原則的 `cli` 區塊中設定 [`managedMcpServers`](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)。您需要閘道伺服器和用戶端上的 Claude Code v2.1.259 或更新版本。711要向原則匹配的 Claude Code 用戶端提供 MCP 伺服器,在該原則的 `cli` 區塊中設定 [`managedMcpServers`](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)。您需要 gateway 伺服器和用戶端上的 Claude Code v2.1.259 或更新版本。

675 712 

676閘道在啟動時使用 [Claude Code 在用戶端應用的相同規則](/docs/zh-TW/managed-mcp#what-an-entry-can-contain)檢查每個項目,如果項目失敗檢查,閘道拒絕啟動並命名項目。713gateway 在啟動時使用[Claude Code 在用戶端應用的相同規則](/docs/zh-TW/managed-mcp#what-an-entry-can-contain)檢查每個項目,如果項目未通過檢查,gateway 會拒絕啟動並命名項目。

677 714 

678如果您在 `gateway.yaml` 中寫入 `${VAR}` 參考,閘道在啟動時透過[秘密擴展](#secret-expansion)從其環境解析它,然後執行項目檢查,因此每個符合的用戶端接收文字值並可以讀取它。[提供伺服器的標頭指導](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)適用於擴展值。715如果您在 `gateway.yaml` 中寫入 `${VAR}` 參考,gateway 在啟動時透過[秘密擴展](#secret-expansion)從其環境解析它,然後執行項目檢查,因此每個匹配的用戶端接收字面值並可以讀取它。[提供伺服器的標頭指導](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)適用於擴展值。

679 716 

680閘道拒絕 `cli` 區塊中的 `.mcp.json` 拼寫 `mcpServers`,其啟動錯誤命名 `managedMcpServers` 為要使用的鍵。在 v2.1.259 之前,閘道拒絕 `cli` 區塊中的任何 MCP 伺服器定義。717gateway 拒絕 `cli` 區塊中的 `.mcp.json` 拼寫 `mcpServers`,其啟動錯誤命名 `managedMcpServers` 為要使用的金鑰。在 v2.1.259 之前,gateway 拒絕 `cli` 區塊中的任何 MCP 伺服器定義。

681 718 

682<h4 id="claude-desktop-overlay">719<h4 id="claude-desktop-overlay">

683 Claude Desktop 覆蓋720 Claude Desktop 覆蓋

684</h4>721</h4>

685 722 

686如果您的組織也部署 [Claude Desktop](/docs/zh-TW/desktop),相同的閘道為兩個用戶端提供服務。在 Claude Desktop 的[受管設定](https://claude.com/docs/third-party/claude-desktop/configuration)中指向 `bootstrapUrl` 到 `<listen.public_url>/user/bootstrap`。Claude Desktop 從該 URL 衍生 OAuth 簽發者,針對此閘道執行相同的裝置程式碼登入,並從回應擷取其設定。723如果您的組織也部署[Claude Desktop](/docs/zh-TW/desktop),相同的 gateway 為兩個用戶端提供服務。在 Claude Desktop 的[受管設定](https://claude.com/docs/third-party/claude-desktop/configuration)中指向 `bootstrapUrl` 到 `<listen.public_url>/user/bootstrap`。Claude Desktop 從該 URL 衍生 OAuth 簽發者,針對此 gateway 執行相同的裝置代碼登入,並從回應擷取其設定。

687 724 

688<Note>725<Note>

689 需要閘道伺服器上的 Claude Code v2.1.203 或更新版本,以及明確的選擇加入:除非符合使用者的原則攜帶 `desktop` 鍵,否則 `/user/bootstrap` 返回 404。空 `desktop: {}` 選擇原則加入,`match: {}` 基礎層上的 `desktop` 鍵選擇加入繼承它的每個原則。稽核日誌將每個請求記錄為 `desktop_bootstrap.serve` 或 `desktop_bootstrap.denied`。726 需要 gateway 伺服器上的 Claude Code v2.1.203 或更新版本,以及明確的選擇加入:除非匹配使用者的原則帶有 `desktop` 金鑰,否則 `/user/bootstrap` 返回 404。空的 `desktop: {}` 選擇加入原則,`match: {}` 基礎層上的 `desktop` 金鑰選擇加入繼承它的每個原則。稽核日誌將每個請求記錄為 `desktop_bootstrap.serve` 或 `desktop_bootstrap.denied`。

690</Note>727</Note>

691 728 

692閘道從符合原則的 `cli` 區塊和頂層閘道設定衍生大部分回應:729gateway 從匹配原則的 `cli` 區塊和頂層 gateway 設定衍生大部分回應:

693 730 

694* 模型清單,來自 `availableModels`731* 模型清單,來自 `availableModels`

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

696* 出口允許清單,來自 `sandbox.network.allowedDomains`。如果您在原則的 `desktop` 區塊中設定 `coworkEgressAllowedHosts`,閘道使用該值而不是衍生清單733* 出口允許清單,來自 `sandbox.network.allowedDomains`。如果您在原則的 `desktop` 區塊中設定 `coworkEgressAllowedHosts`,gateway 使用該值而不是衍生清單

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

698 735 

699 Claude Desktop 以一種編碼匯出每個信號:`http/protobuf`,或當您在原則的 `env` 中設定 `OTEL_EXPORTER_OTLP_PROTOCOL` 或其每個信號變體為 `http/json` 時為 `http/json`。在閘道伺服器上的 Claude Code v2.1.261 之前,回應設定 `http/json` 無論如何,因此僅接受 protobuf 的收集器拒絕 Claude Desktop 的匯出736 Claude Desktop 以一種編碼匯出每個信號:`http/protobuf`,或當您在原則的 `env` 中設定 `OTEL_EXPORTER_OTLP_PROTOCOL` 或其每個信號變體為 `http/json` 時為 `http/json`。在 gateway 伺服器上的 Claude Code v2.1.261 之前,回應設定 `http/json` 無論如何,因此只接受 protobuf 的收集器拒絕 Claude Desktop 的匯出

700 737 

701要在原則的 `desktop` 區塊中設定 `disabledBuiltinTools`、`coworkEgressAllowedHosts` 或 Claude Desktop 自己的 `managedMcpServers` 設定,您需要閘道伺服器上的 Claude Code v2.1.232 或更新版本。Claude Desktop 的 `managedMcpServers` 採用陣列值而不是物件。738要在原則的 `desktop` 區塊中設定 `disabledBuiltinTools`、`coworkEgressAllowedHosts` 或 Claude Desktop 自己的 `managedMcpServers` 設定,您需要 gateway 伺服器上的 Claude Code v2.1.232 或更新版本。Claude Desktop 的 `managedMcpServers` 採用陣列值而不是物件。

702 739 

703閘道省略沒有 Claude Desktop 等效項的鍵,例如 `hooks` 和範圍權限規則(如 `Bash(npm *)`),來自啟動回應。740gateway 省略沒有 Claude Desktop 等效項的金鑰,例如 `hooks` 和範圍權限規則(如 `Bash(npm *)`),來自啟動回應。

704 741 

705新增選用的 `desktop` 區塊與 `cli` 並排以直接設定 Claude Desktop 設定。從 Claude Desktop 的[受管設定參考](https://claude.com/docs/third-party/claude-desktop/configuration)寫入設定為平面鍵名。省略 Claude Desktop 僅從 MDM 或本地檔案讀取的鍵,例如 `bootstrapUrl`;閘道在啟動時拒絕它們。在 v2.1.232 之前,閘道接受固定的 11 個功能閘道鍵清單,例如 `chatTabEnabled` 和 `disableAutoUpdates`,並在啟動時拒絕每個其他鍵。在 v2.1.227 之前,閘道也在啟動時拒絕 `chatTabEnabled` 和 `chatAdvancedFileAnalysisEnabled`。742在 `cli` 旁邊新增選用的 `desktop` 區塊以直接設定 Claude Desktop 設定。從 Claude Desktop 的[受管設定參考](https://claude.com/docs/third-party/claude-desktop/configuration)寫入設定為平面金鑰名稱。省略 Claude Desktop 只從 MDM 或本機檔案讀取的金鑰,例如 `bootstrapUrl`;gateway 在啟動時拒絕它們。在 v2.1.232 之前,gateway 接受固定的 11 個功能閘道金鑰清單,例如 `chatTabEnabled` 和 `disableAutoUpdates`,並在啟動時拒絕每個其他金鑰。在 v2.1.227 之前,gateway 也在啟動時拒絕 `chatTabEnabled` 和 `chatAdvancedFileAnalysisEnabled`。

706 743 

707```yaml theme={null}744```yaml theme={null}

708managed:745managed:


716 banner: { text: "Contractor build: internal use only" }753 banner: { text: "Contractor build: internal use only" }

717```754```

718 755 

719每個鍵都是選用的;Claude Desktop 為您省略的任何鍵應用自己的預設。閘道在啟動時根據 Claude Desktop 本身使用的設定架構驗證每個 `desktop` 區塊,因此錯誤在閘道啟動時作為命名鍵的錯誤出現,而不是到達每個連接的桌面。當區塊包含以下內容時,閘道在啟動時失敗:756每個金鑰都是選用的;Claude Desktop 為您省略的任何金鑰應用自己的預設值。gateway 在啟動時針對 Claude Desktop 本身使用的設定架構驗證每個 `desktop` 區塊,因此錯誤會在 gateway 啟動時作為命名金鑰的錯誤出現,而不是到達每個連接的桌面。當區塊包含以下內容時,gateway 在啟動時失敗:

720 757 

721* 未知鍵758* 未知金鑰

722* 已識別的鍵,其值 Claude Desktop 會拒絕或無聲地丟棄,例如空值或嵌套項目內的拼寫錯誤的子鍵。在 v2.1.260 之前,閘道無聲地丟棄 `managedMcpServers` 或 `orgPluginSettings` 項目的嵌套物件內的拼寫錯誤欄位,而不是在啟動時失敗。759* 已識別的金鑰,其值 Claude Desktop 會拒絕或無聲丟棄,例如空值或巢狀項目內的拼寫錯誤的子金鑰。在 v2.1.260 之前,gateway 無聲丟棄 `managedMcpServers` 或 `orgPluginSettings` 項目的巢狀物件內的拼寫錯誤欄位,而不是在啟動時失敗。

723* 閘道自己計算的鍵:推論連接、模型清單和 OTLP 中繼。透過 [`upstreams`](#upstreams)、[`models`](#models) 和 [`telemetry`](#telemetry) 部分的 `forward_to` 設定這些。760* gateway 自己計算的金鑰:推論連接、模型清單和 OTLP 轉發。透過 [`upstreams`](#upstreams)、[`models`](#models) 和 [`telemetry`](#telemetry) 區塊的 `forward_to` 設定這些。

724* 當前鍵的舊版別名。在啟動錯誤中,閘道命名規範鍵以寫入。761* 目前金鑰的舊版別名。在啟動錯誤中,gateway 命名規範金鑰以寫入。

725 762 

726如果您使用已棄用的值或項目形狀,例如沒有 `transport` 的 `managedMcpServers` 項目,閘道啟動並記錄命名替換的警告。763如果您使用已棄用的值或項目形狀,例如沒有 `transport` 的 `managedMcpServers` 項目,gateway 啟動並記錄命名替換的警告。

727 764 

728閘道根據與其已安裝版本捆綁的架構驗證 `desktop` 區塊,如同 `cli` 區塊。要傳遞較新 Claude Desktop 版本引入的設定,首先升級閘道。例如,`userPluginMarketplacesEnabled` 和 `userPluginUploadsEnabled` 需要閘道伺服器上的 Claude Code v2.1.260 或更新版本以及成員機器上的 Claude Desktop 1.37937.0 或更新版本。765gateway 針對與 `cli` 區塊相同的已安裝版本捆綁的架構驗證 `desktop` 區塊。要傳遞由較新 Claude Desktop 版本引入的設定,請先升級 gateway。例如,`userPluginMarketplacesEnabled` 和 `userPluginUploadsEnabled` 需要 gateway 伺服器上的 Claude Code v2.1.260 或更新版本以及成員機器上的 Claude Desktop 1.37937.0 或更新版本。

729 766 

730如果您在原則的 `desktop` 區塊中設定 `orgPluginSettings`,閘道以 Claude Desktop 1.15200.0 及更新版本讀取的陣列形式提供它。較舊的桌面會忽略該陣列,不強制執行任何外掛工具原則,因此在您依賴它之前將成員更新到 1.15200.0 或更新版本。767如果您在原則的 `desktop` 區塊中設定 `orgPluginSettings`,gateway 以 Claude Desktop 1.15200.0 及更新版本讀取的陣列形式提供它。較舊的桌面忽略陣列並強制執行沒有外掛工具原則,因此在依賴它之前將成員更新到 1.15200.0 或更新版本。

731 768 

732閘道會從 `match: {}` 全部捕捉的 `desktop` 區塊填入原則的 `desktop` 區塊未設定的鍵,與它從基礎填入原則的 `cli` 區塊的方式相同。如果您在基礎和角色原則中都設定 `disabledBuiltinTools` 或 `builtinToolPolicy`,閘道保持基礎的限制:769gateway 從原則的 `desktop` 區塊未設定的金鑰填入 `match: {}` 全部捕捉的 `desktop` 區塊,與它填入原則的 `cli` 區塊的方式相同。如果您在基礎和角色原則中都設定 `disabledBuiltinTools` 或 `builtinToolPolicy`,gateway 保留基礎的限制:

733 770 

734* `disabledBuiltinTools`:閘道使用基礎清單和原則清單的聯合771* `disabledBuiltinTools`:gateway 使用基礎清單和原則清單的聯集

735* `builtinToolPolicy`:如果您在基礎中將工具設定為 `allow` 以外的值,閘道保持該值,即使您在角色原則中為相同工具設定 `allow`772* `builtinToolPolicy`:如果您在基礎中將工具設定為 `allow` 以外的值,gateway 保留該值,即使您在角色原則中為相同工具設定 `allow`

736 773 

737對於每個其他鍵,如果您在角色原則中設定它,閘道使用角色原則的值。閘道整體替換陣列或嵌套物件(例如 `banner`),因此如果您在角色原則中設定 `banner.text`,閘道丟棄基礎的 `banner.backgroundColor`。774對於每個其他金鑰,如果您在角色原則中設定它,gateway 使用角色原則的值。gateway 完整替換陣列或巢狀物件(例如 `banner`),因此如果您在角色原則中設定 `banner.text`,gateway 丟棄基礎的 `banner.backgroundColor`。

738 775 

739如果您不部署 Claude Desktop,完全從您的原則中省略 `desktop`;閘道然後為每個使用者從 `/user/bootstrap` 返回 404。776如果您不部署 Claude Desktop,請完全從您的原則中省略 `desktop`;gateway 隨後從 `/user/bootstrap` 為每個使用者返回 404。

740 777 

741<h4 id="precedence-with-other-managed-sources">778<h4 id="precedence-with-other-managed-sources">

742 與其他受管來源的優先順序779 與其他受管來源的優先順序

743</h4>780</h4>

744 781 

745如果裝置也有 MDM 傳遞的原則或本地 `managed-settings.json`,閘道傳遞的設定排名優先。[受管層內的優先順序](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier)在受管設定頁面上說明本地來源何時適用,並有[Claude Code 從每個管理來源讀取的鍵](/docs/zh-TW/managed-settings#keys-read-from-every-admin-source),無論它選擇哪個來源,例如沙箱鎖鍵、`forceRemoteSettingsRefresh` 和每個變數 `env` 合併。[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 在 MDM 設定檔或受管設定檔中設定僅在閘道傳遞沒有設定時執行;項目說明其輸出替換什麼。782如果裝置也有 MDM 傳遞的原則或本機 `managed-settings.json`,gateway 傳遞的設定排名第一。[受管層級內的優先順序](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier)在受管設定頁面上說明本機來源何時適用,並有[Claude Code 從每個 admin 來源讀取的金鑰](/docs/zh-TW/managed-settings#keys-read-from-every-admin-source),無論它選擇哪個來源,例如沙箱鎖定金鑰、`forceRemoteSettingsRefresh` 和每個變數 `env` 合併。在 MDM 設定檔或受管設定檔案中設定的 [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 只在 gateway 不傳遞設定時執行;項目說明其輸出替換什麼。

746 783 

747嵌入主機(例如 [Claude Desktop](/docs/zh-TW/desktop))可以透過 SDK `managedSettings` 選項提供原則。[來自嵌入主機的父設定](/docs/zh-TW/managed-settings#parent-settings-from-embedding-hosts)說明 Claude Code 何時應用它,以及[限制父設定](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings)列出哪些允許方向設定仍然適用而沒有 `allowManaged*Only` 鎖。784嵌入主機(例如[Claude Desktop](/docs/zh-TW/desktop))可以透過 SDK `managedSettings` 選項提供原則。[來自嵌入主機的父設定](/docs/zh-TW/managed-settings#parent-settings-from-embedding-hosts)說明 Claude Code 何時應用它,以及[限制父設定](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings)列出哪些允許方向設定仍在沒有 `allowManaged*Only` 鎖定的情況下適用。

748 785 

749閘道原則適用於機器上的每個 Claude Code 呼叫,包括非互動式 `claude -p` 執行和由 Agent SDK 生成的工作階段。如果閘道在啟動時無法到達,已登入的工作階段退出並出現錯誤,而不是在沒有其原則的情況下執行。786gateway 原則適用於機器上的每個 Claude Code 呼叫,包括非互動式 `claude -p` 執行和由 Agent SDK 衍生的工作階段。如果 gateway 在啟動時無法到達,已登入的工作階段會以錯誤退出,而不是在沒有其原則的情況下執行。

750 787 

751<h3 id="telemetry">788<h3 id="telemetry">

752 `telemetry`789 `telemetry`

753</h3>790</h3>

754 791 

755CLI 透過 HTTP 傳送 OpenTelemetry Protocol (OTLP) 指標、日誌和(啟用時)追蹤到閘道,閘道逐字將它們轉發到每個設定的目的地。請參閱[監控使用](/docs/zh-TW/monitoring-usage)以了解 CLI 發出的指標和事件。792CLI 將指標、日誌和(啟用時)追蹤傳送到 gateway,gateway 逐字轉發它們到每個已設定的目的地。匯出使用 OpenTelemetry Protocol (OTLP) over HTTP。要跳過轉發並讓工作階段直接匯出到您的收集器,[在原則中命名收集器](#export-directly-to-your-collector)。請參閱[監控使用](/docs/zh-TW/monitoring-usage)以了解 CLI 發出的指標和事件。

793 

794CLI 使用已驗證使用者的身分(從 gateway 簽發的 JWT 讀取)為每個匯出加上時間戳:`user.id`、`user.email` 和 `user.groups` 屬性。每位開發者的成本和使用歸因因此無需開發者端設定即可運作。

795 

796[Claude Desktop](#claude-desktop-overlay) 和透過 gateway 登入的 Cowork 工作階段使用 `user.email` 和 `user.groups` 以及 `enduser.id` 為其遙測加上時間戳,因此您可以使用一個 `user.email` 或 `user.groups` 查詢涵蓋終端、Desktop 和 Cowork 使用。`user.groups` 是逗號分隔的 IdP 群組清單。

756 797 

757CLI 使用從閘道簽發的 JWT 讀取的已驗證使用者的身分識別戳記每個匯出:`user.id`、`user.email` 和 `user.groups` 屬性。每個開發人員的成本和使用歸因因此無需開發人員端設定即可運作。798與來自 Claude Code 的所有 OpenTelemetry 資料一樣,這些屬性只進入您的組織設定的目的地,永遠不進入 Anthropic。

799 

800如果使用者的群組清單在百分比編碼後超過 255 個字元,或群組名稱包含逗號或等號,gateway 會從該使用者的 Desktop 和 Cowork 遙測中省略 `user.groups`,而不是截斷它。該使用者的終端工作階段仍帶有完整清單。

801 

802您需要 gateway 伺服器上的 Claude Code v2.1.265 或更新版本,以在 Desktop 和 Cowork 遙測上使用 `user.email` 和 `user.groups`,以及每位開發者機器上的 Claude Desktop 1.24012 或更新版本,以使用 `user.groups`。

758 803 

759```yaml theme={null}804```yaml theme={null}

760telemetry:805telemetry:


762 - url: https://otel-collector.internal.example.com807 - url: https://otel-collector.internal.example.com

763 headers:808 headers:

764 Authorization: ${OTLP_TOKEN}809 Authorization: ${OTLP_TOKEN}

765 # 每個信號選擇加入。預設:僅指標。810 # Per-signal opt-in. Default: metrics only.

766 metrics: true811 metrics: true

767 logs: false812 logs: false

768 traces: false813 traces: false


772```817```

773 818 

774<Warning>819<Warning>

775 每個目的地獨立選擇加入 `metrics`、`logs` 和 `traces`,預設僅指標。信號在敏感性上有所不同:820 每個目的地獨立選擇加入 `metrics`、`logs` 和 `traces`,預設為僅指標。信號在敏感性上有所不同:

776 821 

777 * **指標**:聚合計數器,例如令牌計數、請求計數和延遲822 * **指標**:彙總計數器,例如 token 計數、請求計數和延遲

778 * **日誌和追蹤**:可以攜帶完整的 bash 命令、工具輸入和檔案路徑,涵蓋 Claude Code 在開發人員機器上執行的任何操作823 * **日誌和追蹤**:可以帶有完整 Bash 命令、工具輸入和檔案路徑,涵蓋 Claude Code 在開發者機器上執行的任何操作

779 824 

780 僅在具有該資料保證的存取控制和保留原則的目的地上啟用日誌和追蹤。825 僅在具有該資料保證的存取控制和保留原則的目的地啟用日誌和追蹤。

781</Warning>826</Warning>

782 827 

783每個 `forward_to` URL 必須使用 `https://`,除了閘道自己的迴路介面上的收集器有一個例外:828每個 `forward_to` URL 必須使用 `https://`,但有一個例外,適用於 gateway 自己的迴路介面上的收集器:

784 829 

785* `http://localhost:<port>` 通過設定驗證,但[SSRF 防護](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)使用 `ECONNREFUSED_SSRF` 阻止每個匯出,除非您在閘道的環境中設定 `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`830* `http://localhost:<port>` 通過設定驗證,但[SSRF 防護](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)使用 `ECONNREFUSED_SSRF` 阻止每個匯出,除非您在 gateway 的環境中設定 `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`

786* `http://127.0.0.1:<port>` 或 `http://[::1]:<port>` 失敗啟動,除非設定該變數831* `http://127.0.0.1:<port>` 或 `http://[::1]:<port>` 在未設定該變數的情況下啟動失敗

787 832 

788對於叢集內收集器,在其自己的內部位址上公開它超過 HTTPS,或以設定變數的邊車執行它。833對於叢集內收集器,在其自己的內部位址上公開 HTTPS,或以設定變數的方式將其作為邊車執行。

789 834 

790遙測在 CLI 中預設關閉。將 `telemetry.forward_to` 與 `listen.public_url` 一起設定會打開它。閘道透過 `/managed/settings` 推送六個環境變數到每個連接的用戶端:835遙測在 CLI 中預設關閉。當您同時設定 `telemetry.forward_to` 和 `listen.public_url` 時,gateway 透過 `/managed/settings` 推送六個環境變數來為連接的用戶端開啟它:

791 836 

792* `CLAUDE_CODE_ENABLE_TELEMETRY=1`837* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

793* `OTEL_METRICS_EXPORTER=otlp`838* `OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER` 和 `OTEL_TRACES_EXPORTER`,如果至少一個 `forward_to` 目的地啟用該信號,則每個設定為 `otlp`,否則設定為 `none`

794* `OTEL_LOGS_EXPORTER=otlp`

795* `OTEL_TRACES_EXPORTER=otlp`

796* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`839* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

797* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`840* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

798 841 

799推送的端點是從公開 URL 建立的,因此指標和日誌不需要開發人員或原則的 OTEL 設定。推送的設定在受管層應用,覆蓋開發人員在本地設定的 `OTEL_*` 變數。無論閘道是否推送這些變數,透過 `/login` 登入且啟用 OTLP/HTTP 匯出的 CLI 將其匯出傳送到閘道而不是本地設定的端點,沒有信號的 `forward_to` 目的地時閘道接受並丟棄它;如果您已經直接收集 Claude Code 遙測,新增您的收集器作為 `forward_to` 目的地。842在 gateway 伺服器上的 Claude Code v2.1.265 之前,gateway 將所有三個匯出器選擇器推送為 `otlp`,包括沒有目的地選擇加入的信號。

843 

844推送的端點是從公開 URL 建立的,因此指標和日誌不需要開發者或原則的 OTEL 設定。

800 845 

801[追蹤](/docs/zh-TW/monitoring-usage#traces-beta)另外需要每個用戶端上的 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`。閘道不推送該變數,因此透過受管原則的 `env` 區塊設定它。它不在 Claude Code 應用而不需要開發人員批准的變數中,因此透過原則傳遞它由推送的 OTLP 端點已經觸發的相同[安全批准對話](#managed)涵蓋。846透過 `/login` 登入的開發者無法使用自己的 OTEL 設定重新導向匯出:

847 

848* **本機設定的變數**:Claude Code 在受管層級應用推送的變數,因此每個變數覆蓋開發者為其本機設定的值。

849* **本機設定的端點**:啟用 OTLP/HTTP 匯出時,CLI 忽略任何本機設定的端點,無論 gateway 是否推送了遙測變數。其匯出進入 gateway,除非原則[將您的收集器命名為端點](#export-directly-to-your-collector)。

850 

851沒有信號的 `forward_to` 目的地,gateway 接受並丟棄它。如果開發者已經將 Claude Code 遙測匯出到您的其中一個收集器,將其新增為 `forward_to` 目的地,如果他們匯出這些,則啟用日誌或追蹤,以便在他們登入後繼續接收其資料。要改為跳過轉發,[在原則中命名收集器](#export-directly-to-your-collector)。

852 

853[追蹤](/docs/zh-TW/monitoring-usage#traces-beta)也需要每個用戶端上的 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`。在受管原則的 `env` 區塊中設定它,因為 gateway 不推送它。開發者在已推送端點觸發的相同[安全核准對話框](#managed)中核准它。

854 

855僅在您想要追蹤的群組的原則中將其設定為 `1`。不設定它的原則從您的 `match: {}` 全部捕捉原則繼承值(如果該原則設定一個),根據[合併規則](#managed)。要防止群組的用戶端傳送追蹤,即使開發者在本機設定變數,請在該群組的原則中將其設定為 `0`。

802 856 

803protobuf 和 JSON OTLP 編碼都被轉發,任何 OpenTelemetry 相容後端都可作為目的地。857protobuf 和 JSON OTLP 編碼都被轉發,任何 OpenTelemetry 相容後端都可作為目的地。

804 858 

859<h4 id="export-directly-to-your-collector">

860 直接匯出到您的收集器

861</h4>

862 

863要讓透過 `/login` 登入的工作階段直接將遙測傳送到您的收集器而不是透過轉發,在[受管原則](#managed)的 `env` 區塊中將 `OTEL_EXPORTER_OTLP_ENDPOINT` 設定為收集器的 `https://` 基礎 URL。Claude Code 將 `/v1/metrics`、`/v1/logs` 或 `/v1/traces` 附加到您設定的 URL,例如 `https://otel-collector.example.com:4318`,並透過 OTLP/HTTP 在那裡匯出每個信號。需要每位開發者機器上的 Claude Code v2.1.265 或更新版本。較早的用戶端透過轉發匯出。

864 

865要向收集器驗證,在相同的 `env` 區塊中設定 `OTEL_EXPORTER_OTLP_HEADERS`。工作階段永遠不會將開發者的 gateway 工作階段令牌傳送到以此方式命名的收集器。

866 

867當您在原則中新增或變更此端點時,Claude Code 在[安全核准對話框](#managed)中要求每位開發者核准它,然後才在互動式工作階段中應用它。

868 

869Claude Code 在匯出信號之前檢查端點,並在檢查失敗時將該信號保留在轉發上。檢查包括:

870 

871* 端點來自 gateway 本身。如果您在 MDM 設定檔或本機 `managed-settings.json` 中設定相同變數,匯出保留在轉發上。

872* URL 使用 `https://`,或 `http://` 到迴路位址

873* URL 解析為以 `/v1/<signal>` 結尾的路徑,沒有查詢或片段。Claude Code 從通用變數自己建立該路徑。它使用每個信號變數(例如 `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`)如寫入,因此在那裡包括完整路徑。

874* URL 不是 gateway 自己的主機。指向 gateway 的端點保留轉發路徑及其工作階段令牌。

875* 您和開發者都未在任何設定來源中設定 [`otelHeadersHelper`](/docs/zh-TW/settings-reference#otelheadershelper)。設定了助手,每個信號保留在轉發上。

876 

877您命名的端點只改變匯出的去向。您仍然使用 `OTEL_*_EXPORTER` 選擇器選擇哪些信號匯出。

878 

879端點本身不開啟匯出,因此也設定執行此操作的變數,除非 gateway 已推送它們:

880 

881* 如果 gateway 已[推送遙測變數](#telemetry),它們涵蓋啟用、選擇器和協定,您的明確端點覆蓋推送的 `<public_url>` 值。僅針對沒有 `forward_to` 目的地啟用的信號自己設定 `OTEL_*_EXPORTER` 選擇器為 `otlp`。

882* 如果它沒有,也設定 `CLAUDE_CODE_ENABLE_TELEMETRY=1`、`OTEL_*_EXPORTER` 選擇器和 `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`。

883 

884當開發者登出或登入不同的 gateway 時,對收集器的匯出停止,Claude Code 丟棄每個剩餘批次,而不是晚期傳送它。

885 

886<h4 id="when-a-destination-fails">

887 當目的地失敗時

888</h4>

889 

890gateway 不緩衝、重試或儲存遙測,因此未到達目的地的匯出被丟棄,而不是晚期傳遞。每個目的地獨立成功或失敗,匯出用戶端無論如何都收到成功回應,因此失敗的傳遞只出現在 gateway 的日誌中。

891 

892在五次連續失敗傳遞到目的地後,gateway 在 30 秒的拉伸中暫停轉發到它,記錄每次暫停,直到傳遞成功。任何錯誤回應、逾時或連接錯誤都計為失敗傳遞,除了 `400`、`413`、`415`、`422` 和 `431`,這意味著收集器拒絕該匯出的承載為格式不正確或太大。

893 

894被拒絕的承載既不推進也不重設失敗計數:gateway 繼續轉發到目的地並記錄警告,命名它和狀態,在目的地的第一次拒絕和之後每一百次。

895 

805<h3 id="http-tuning">896<h3 id="http-tuning">

806 HTTP 調整897 HTTP 調整

807</h3>898</h3>

808 899 

809四個選用的頂層區塊 `access_control`、`limits`、`timeouts` 和 `rate_limits` 調整 HTTP 表面。預設值適合大多數部署。900四個選用的頂層區塊 `access_control`、`limits`、`timeouts` 和 `rate_limits` 調整 HTTP 表面。預設值適合大多數部署。

810 901 

811| 區塊 | 鍵 | 預設 | 說明 |902| 區塊 | 金鑰 | 預設 | 說明 |

812| ---------------- | ---------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |903| ---------------- | ---------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

813| `access_control` | `allow_cidrs` / `deny_cidrs` | 空 | 按用戶端位址的入站 IP 允許/拒絕,在 `trusted_proxies` 解析後。`deny_cidrs` 首先檢查;符合它的用戶端即使 `allow_cidrs` 也相符也被拒絕。如果 `allow_cidrs` 非空,閘道是預設拒絕。`/healthz` 和 `/readyz` 豁免於 `allow_cidrs`。當受信任代理傳送不是 IP 位址的 `X-Forwarded-For` 項目時,真實用戶端未知,閘道記錄一次警告命名要檢查什麼。列表適用於請求的地方,它以 `403` 和稽核原因 `xff_unparseable` 拒絕它。列表都不適用的地方,它提供請求並使用代理自己的位址作為每 IP 速率限制和稽核的用戶端 IP。 |904| `access_control` | `allow_cidrs` / `deny_cidrs` | 空 | 按用戶端位址的入站 IP 允許/拒絕,在 `trusted_proxies` 解析後。`deny_cidrs` 首先檢查;符合它的用戶端被拒絕,即使 `allow_cidrs` 也匹配。如果 `allow_cidrs` 非空,gateway 是預設拒絕。`/healthz` 和 `/readyz` 豁免於 `allow_cidrs`。當受信任代理傳送不是 IP 位址的 `X-Forwarded-For` 項目時,真實用戶端未知,gateway 記錄一次警告,命名要檢查的內容。列表適用於請求的地方,它以 `403` 和稽核原因 `xff_unparseable` 拒絕它。列表都不適用的地方,它提供請求並使用代理自己的位址作為用戶端 IP,用於每 IP 速率限制和稽核。 |

814| `limits` | `max_request_bytes` | 32 MiB | 最大入站請求正文;超大小請求在正文被緩衝前獲得 `413`。為大型檔案或影像請求提高。 |905| `limits` | `max_request_bytes` | 32 MiB | 最大入站請求本體;超大小請求在本體被緩衝之前獲得 `413`。為大型檔案或影像請求提高。 |

815| `limits` | `max_request_header_bytes` | 未設定 | 設定時,超大小標頭返回 `431` |906| `limits` | `max_request_header_bytes` | 未設定 | 設定時,超大小標頭返回 `431` |

816| `limits` | `max_url_length` | 未設定 | 設定時,過長 URL 返回 `414` |907| `limits` | `max_url_length` | 未設定 | 設定時,過長 URL 返回 `414` |

817| `timeouts` | `upstream_ttfb_ms` | 120000 | 等待上游回應標頭(首位元組時間)的最大時間。回應正文然後以無牆鐘上限流。適用於直接 Anthropic 上游路徑;每個其他提供者受其提供者 SDK 自己的逾時限制。 |908| `timeouts` | `upstream_ttfb_ms` | 120000 | 等待上游回應標頭(首位元組時間)的最大時間。回應本體隨後以無牆鐘上限流式傳輸。適用於直接 Anthropic 上游路徑;每個其他提供者受其提供者 SDK 自己的逾時限制。 |

818| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | 未驗證裝置授權端點上的每 IP 速率限制。為在共享出口 IP 或 NAT 後面的大型組織提高。這些限制僅適用於裝置授權登入流程,不適用於 `/v1/messages` 推論。請參閱[使用者程式碼暴力破解抵抗](/docs/zh-TW/claude-apps-gateway-deploy#user-code-brute-force-resistance)。 |909| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | 未驗證裝置授權端點上的每 IP 速率限制。為共享出口 IP 或 NAT 後面的大型組織提高。這些限制僅適用於裝置授予登入流程,不適用於 `/v1/messages` 推論。請參閱[使用者代碼暴力破解抵抗](/docs/zh-TW/claude-apps-gateway-deploy#user-code-brute-force-resistance)。 |

819| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | 在 `/device` 上 `user_code` 提交的每 IP 速率限制 |910| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | 在 `/device` 上 `user_code` 提交的每 IP 速率限制 |

820 911 

912如果您將兩個 `access_control` 清單都留空(這是預設值),gateway 為任何用戶端位址提供服務,因此只有您的網路限制誰可以到達它。這很重要,因為 gateway 可以推送[受管設定](#managed),在開發者機器上執行命令。

913 

914當 `allow_cidrs` 為空時,gateway 在兩個地方警告,不改變它如何回答任何請求:

915 

916* **在啟動時**:操作日誌中的警告建議僅允許私有範圍 `10.0.0.0/8`、`172.16.0.0/12`、`192.168.0.0/16`、`100.64.0.0/10`、`127.0.0.0/8`、`::1/128` 和 `fc00::/7`,加上開發者連接的任何其他內部範圍。如果您將 gateway 綁定到迴路位址並設定 `trusted_proxies` 和 `public_url` 都不設定,如本機開發,警告不出現。

917* **在執行時**:第一次請求從位址外的範圍到達時,gateway 記錄警告並發出 [`access.public_client` 稽核事件](/docs/zh-TW/claude-apps-gateway-deploy#logs),帶有用戶端 IP。兩者每個程序發生一次。連結本機位址 `169.254.0.0/16` 和 `fe80::/10` 不計為公開。gateway 在此檢查執行之前回答 `/healthz` 和 `/readyz`,因此來自公開範圍的健康探測不觸發它。

918 

919兩個信號都使用用戶端位址,因為 gateway 解析它。如果負載平衡器、連接埠轉發或隧道轉發流量且未列在 `listen.trusted_proxies` 中,gateway 看到轉發的位址,通常是私有的,因此既不是執行時警告也不是私有允許清單捕捉透過它轉發的流量。

920 

921在這樣的前端後面,首先設定 [`listen.trusted_proxies`](#listen),以便 gateway 看到真實用戶端位址,並無論如何保持 gateway 和其前面的所有東西無法從公開網際網路到達。

922 

821<h2 id="complete-example">923<h2 id="complete-example">

822 完整範例924 完整範例

823</h2>925</h2>


888# enforcement:990# enforcement:

889# fail_closed_on_error: false991# fail_closed_on_error: false

890 992 

891# 以合約費率而非美元標價計費。需要 admin:。993# 以合約費率而非美元標價計費。需要 admin: 或

994# managed: 原則。使用 managed:,相同費率也會傳送給已登入的用戶端。

892# 下面的費率是佔位符,不是真實合約價格。995# 下面的費率是佔位符,不是真實合約價格。

893# pricing:996# pricing:

894# multiplier: 0.85997# multiplier: 0.85


982 1085 

983`parentSettingsBehavior: "merge"` 保持 Claude Desktop 將出站允許清單傳遞到其嵌入式 Claude Code 工作階段的功能;[將原則傳遞到 Claude Desktop 工作階段](/docs/zh-TW/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions)說明了機制以及選擇加入必須位於何處。1086`parentSettingsBehavior: "merge"` 保持 Claude Desktop 將出站允許清單傳遞到其嵌入式 Claude Code 工作階段的功能;[將原則傳遞到 Claude Desktop 工作階段](/docs/zh-TW/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions)說明了機制以及選擇加入必須位於何處。

984 1087 

985將 `managed-settings.json` 檔案部署到每個裝置,通常透過您的 MDM 平台。檔案路徑因平台而異:1088將 `managed-settings.json` 檔案部署到每個裝置,通常透過您的 MDM 平台。檔案路徑因平台而異。請參閱[每個機制儲存原則的位置](/docs/zh-TW/managed-settings#where-each-mechanism-stores-the-policy)。

986 

987| 平台 | 路徑 |

988| ----------- | ----------------------------------------------------------------------------------------------------- |

989| macOS | `/Library/Application Support/ClaudeCode/managed-settings.json`,或 `com.anthropic.claudecode` 受管偏好設定網域 |

990| Linux 和 WSL | `/etc/claude-code/managed-settings.json` |

991| Windows | `C:\Program Files\ClaudeCode\managed-settings.json`,或透過 HKLM 登錄的群組原則 |

992 1089 

993根據預設,Windows 上的登錄原則或 macOS 上的受管偏好設定 plist 會取代 `managed-settings.json` 檔案,而不是與其合併,除了[上面的例外鍵和跨來源檢查](#precedence-with-other-managed-sources)。此程式碼片段中的所有三個鍵都遵循最高優先順序來源規則,因此透過群組原則或設定檔傳遞原則的機隊必須改為在該機制中放置全部三個。1090根據預設,Windows 上的登錄原則或 macOS 上的受管偏好設定 plist 會取代 `managed-settings.json` 檔案,而不是與其合併,除了[上面的例外鍵和跨來源檢查](#precedence-with-other-managed-sources)。此程式碼片段中的所有三個鍵都遵循最高優先順序來源規則,因此透過群組原則或設定檔傳遞原則的機隊必須改為在該機制中放置全部三個。

994 1091 

995對於 Claude Desktop,在 Claude Desktop 自己的[受管設定](https://claude.com/docs/third-party/claude-desktop/configuration)中設定 `bootstrapUrl` 鍵為 `<listen.public_url>/user/bootstrap`。登入流程和每個群組原則在原則透過 `desktop` 鍵在伺服器端選擇加入後,與 CLI 的相符;沒有選擇加入,`/user/bootstrap` 會傳回 404。請參閱[Claude Desktop 覆蓋層](#claude-desktop-overlay)以了解伺服器端部分。1092對於 Claude Desktop,在 Claude Desktop 自己的[受管設定](https://claude.com/docs/third-party/claude-desktop/configuration)中設定 `bootstrapUrl` 鍵為 `<listen.public_url>/user/bootstrap`。登入流程和每個群組原則在原則透過 `desktop` 鍵在伺服器端選擇加入後,與 CLI 的相符;沒有選擇加入,`/user/bootstrap` 會傳回 404。請參閱[Claude Desktop 覆蓋層](#claude-desktop-overlay)以了解伺服器端部分。

996 1093 

997[`forceLoginGatewayUrl`](/docs/zh-TW/settings-reference#forcelogingatewayurl)和 [`forceLoginMethod`](/docs/zh-TW/settings-reference#forceloginmethod) 的 `"gateway"` 值僅從機器上的受管來源被尊重:`managed-settings.json`、macOS plist 或 Windows HKLM 登錄,或原則協助程式。開發人員在自己的 `~/.claude/settings.json` 中設定它們無效,在閘道承載中設定它們也無效。1094Claude Code 僅從機器上的受管來源尊重 [`forceLoginGatewayUrl`](/docs/zh-TW/settings-reference#forcelogingatewayurl)、[`gatewayInternalNetworks`](/docs/zh-TW/settings-reference#gatewayinternalnetworks) 和 [`forceLoginMethod`](/docs/zh-TW/settings-reference#forceloginmethod) 的 `"gateway"` 值:`managed-settings.json`、macOS plist 或 Windows HKLM 登錄,或原則協助程式。開發人員在自己的 `~/.claude/settings.json` 中設定它們無效,在閘道承載中設定它們也無效。

998 1095 

999<h2 id="related">1096<h2 id="related">

1000 相關1097 相關

Details

18如果沿途簽入或啟動失敗,請直接前往 [故障排除](#troubleshooting),該部分根據您看到的錯誤進行索引。18如果沿途簽入或啟動失敗,請直接前往 [故障排除](#troubleshooting),該部分根據您看到的錯誤進行索引。

19 19 

20<Note>20<Note>

21 **在您的私有網路上部署。** Claude Code 只連接到地址為私有的閘道。這是一個安全防護,因為受信任的閘道可以推送在開發人員機器上執行命令的設定。將閘道放在內部負載平衡器或 VPN 後面,並給它一個只解析為私有 IP 的主機名。21 **在您的私有網路上部署。** Claude Code 只連接到地址為私有的閘道。這是一個安全防護,因為受信任的閘道可以推送在開發人員機器上執行命令的設定。將閘道放在內部負載平衡器或 VPN 後面,並給它一個只解析為私有 IP 的主機名。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,請參閱 [允許閘道在您擁有的公開位址空間上](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)。

22</Note>22</Note>

23 23 

24<h2 id="identity-provider-setup">24<h2 id="identity-provider-setup">


138 138 

139閘道向 stderr 寫入兩個流,都是 JSON 友好的:139閘道向 stderr 寫入兩個流,都是 JSON 友好的:

140 140 

141* **審計事件**:每個安全相關事件的單行 JSON。將 stderr 管道傳輸到您的日誌聚合器。發出的事件包括 `config.load`、`session.mint`、`session.refresh`、`device.authorize`、`device.verify`、`device.callback`、`auth.denied`、`access.denied`、`inference`、`managed.serve`、`desktop_bootstrap.serve`、`desktop_bootstrap.denied`、`spend.blocked`、`admin.denied`、`admin.limit.upsert` 和 `admin.limit.delete`。欄位因事件而異:141* **審計事件**:每個安全相關事件的單行 JSON。將 stderr 管道傳輸到您的日誌聚合器。

142 

143 發出的事件包括 `config.load`、`session.mint`、`session.refresh`、`device.authorize`、`device.verify`、`device.callback`、`auth.denied`、`access.denied`、`access.public_client`、`inference`、`managed.serve`、`desktop_bootstrap.serve`、`desktop_bootstrap.denied`、`spend.blocked`、`admin.denied`、`admin.limit.upsert` 和 `admin.limit.delete`。欄位因事件而異:

144 

142 * 成功的 mint 和 refresh 事件攜帶 `sub`、`email`、`client_ip` 和結果145 * 成功的 mint 和 refresh 事件攜帶 `sub`、`email`、`client_ip` 和結果

143 * `auth.denied` 和 `access.denied` 攜帶原因和用戶端 IP,加上 `auth.denied` 的請求路徑,因為在這些拒絕時不存在使用者身份。兩個 `access.denied` 原因改變事件攜帶的內容:146 * `auth.denied` 和 `access.denied` 攜帶原因和用戶端 IP,加上 `auth.denied` 的請求路徑,因為在這些拒絕時不存在使用者身份。兩個 `access.denied` 原因改變事件攜帶的內容:

144 * `xff_unparseable`:事件也攜帶無法讀取的 `X-Forwarded-For` 項目147 * `xff_unparseable`:事件也攜帶無法讀取的 `X-Forwarded-For` 項目

145 * `client_ip_unknown`:事件不攜帶用戶端 IP,因為連線沒有對等位址,而設定了 `access_control` 清單148 * `client_ip_unknown`:事件不攜帶用戶端 IP,因為連線沒有對等位址,而設定了 `access_control` 清單

149 * `access.public_client` 攜帶在 `access_control.allow_cidrs` 為空時,每個程序從公開位址到達的第一個請求的用戶端 IP。閘道照常提供請求;事件表示閘道可能可從公開網際網路到達。請參閱 [`access_control` 參考](/docs/zh-TW/claude-apps-gateway-config#http-tuning),了解什麼算作公開以及建議的允許清單。

146 * `inference` 記錄哪個上游提供了請求以及回應狀態150 * `inference` 記錄哪個上游提供了請求以及回應狀態

147 * `desktop_bootstrap.denied` 記錄被拒絕的 Claude Desktop bootstrap 擷取,包含原因(`not_configured`、`policy_not_opted_in` 或 `no_policy_matched`)和使用者的身份151 * `desktop_bootstrap.denied` 記錄被拒絕的 Claude Desktop bootstrap 擷取,包含原因(`not_configured`、`policy_not_opted_in` 或 `no_policy_matched`)和使用者的身份

148 * `admin.denied` 記錄被拒絕的管理員 API 驗證嘗試,包括用戶端 IP、方法、路徑和原因,不包括呈現的金鑰材料:當呈現了 `x-api-key` 但與沒有配置的金鑰相符時為 `invalid_key`,當只呈現了 `Authorization` 標頭且它未驗證為 `admin.admin_groups` 中的閘道會話時為 `bearer_rejected`,或當兩個標頭都未呈現時為 `no_credentials`152 * `admin.denied` 記錄被拒絕的管理員 API 驗證嘗試,包括用戶端 IP、方法、路徑和原因,不包括呈現的金鑰材料:當呈現了 `x-api-key` 但與沒有配置的金鑰相符時為 `invalid_key`,當只呈現了 `Authorization` 標頭且它未驗證為 `admin.admin_groups` 中的閘道會話時為 `bearer_rejected`,或當兩個標頭都未呈現時為 `no_credentials`


268* **漏洞披露**:遵循 [報告安全問題](/docs/zh-TW/security#reporting-security-issues)272* **漏洞披露**:遵循 [報告安全問題](/docs/zh-TW/security#reporting-security-issues)

269 273 

270<h2 id="troubleshooting">274<h2 id="troubleshooting">

271 故障排除275 疑難排解

272</h2>276</h2>

273 277 

274如有問題和反饋,請使用 [Claude Code 支援](https://support.claude.com/en/collections/14445694-claude-code),或在 [Claude Code GitHub 儲存庫](https://github.com/anthropics/claude-code/issues) 上開啟問題。報告問題時,請包括:278如有問題和意見回饋,請使用 [Claude Code 支援](https://support.claude.com/en/collections/14445694-claude-code),或在 [Claude Code GitHub 儲存庫](https://github.com/anthropics/claude-code/issues)上開啟議題。回報問題時,請包含:

275 279 

276* **閘道問題**:相關窗口的閘道 stderr、您的 `gateway.yaml`(祕密已編輯)、閘道版本(顯示在 `/` 的登陸頁面和 `/managed/settings` 上的 `x-cc-gateway-version` 回應標頭中),以及最近變更的內容280* **Gateway 問題**:gateway 的 stderr(針對相關視窗)、您的 `gateway.yaml`(已隱蔽機密)、gateway 版本(顯示在 `/` 的登陸頁面和 `/managed/settings` 上的 `x-cc-gateway-version` 回應標頭中),以及最近有什麼變更

277* **登入問題**:開發人員執行 `claude --debug-file ./claude-debug.txt`、重現,並發送該檔案加上相同窗口的閘道審計日誌281* **登入問題**:開發者執行 `claude --debug-file ./claude-debug.txt`、重現問題,然後傳送該檔案加上 gateway 針對同一視窗的稽核日誌

278* **推理問題**:請求的模型、配置的上游,以及請求的閘道審計日誌,記錄哪個上游提供了它以及回應狀態282* **推論問題**:要求的模型、設定的上游,以及 gateway 針對該請求的稽核日誌,其中記錄了哪個上游提供了該請求以及回應狀態

279 283 

280閘道的 stderr 包含審計事件串流,審計日誌記錄開發人員身分,除錯檔案記錄來自開發人員機器的 hook 和 MCP 伺服器輸出。在發佈到公開議題之前,請檢查並隱蔽這些資訊。284gateway 的 stderr 包含稽核事件串流,稽核日誌記錄開發者身分,除錯檔案記錄來自開發者機器的 hook 和 MCP 伺服器輸出。在發佈到公開議題之前,請檢查並隱蔽這些內容。

281 285 

282| 症狀 | 原因 | 修復 |286| 症狀 | 原因 | 修正 |

283| ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |287| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

284| 開發人員的 `/login` 顯示標準帳戶選擇器而不是 **Cloud 閘道** 螢幕 | `forceLoginMethod` 或 `forceLoginGatewayUrl` 未在該機器上的受管設定中設定 | 將 [受管設定檔案](/docs/zh-TW/claude-apps-gateway#set-the-gateway-url) 部署到設備;`/login` 從那裡讀取閘道 URL |288| 開發者的 `/login` 顯示標準帳戶選擇器,而不是 **Cloud gateway** 畫面 | 該機器上的受管設定中未設定 `forceLoginMethod` 或 `forceLoginGatewayUrl` | 將[受管設定檔](/docs/zh-TW/claude-apps-gateway#set-the-gateway-url)部署到裝置;`/login` 從該處讀取 gateway URL |

285| 開發人員的請求失敗,顯示 `Not signed in to the Cloud gateway — run /login.` | 機器的受管設定設定 `forceLoginMethod: "gateway"` 或 `forceLoginGatewayUrl`,且會話沒有閘道簽入。剩餘的 claude.ai 登入不滿足要求。 | 讓開發人員執行 `/login` 並完成閘道簽入。另請參閱 [管理員原則需要 Cloud 閘道簽入](/docs/zh-TW/errors#administrator-policy-requires-a-cloud-gateway-sign-in)。 |289| 開發者的請求失敗,顯示 `Not signed in to the Cloud gateway — run /login.` | 機器的受管設定設定了 `forceLoginMethod: "gateway"` 或 `forceLoginGatewayUrl`,且工作階段沒有 gateway 登入。遺留的 claude.ai 登入不符合要求。 | 讓開發者執行 `/login` 並完成 gateway 登入。另請參閱[系統管理員原則要求 Cloud gateway 登入](/docs/zh-TW/errors#administrator-policy-requires-a-cloud-gateway-sign-in)。 |

286| Claude Desktop 報告其啟動程序設定無法擷取 | `/user/bootstrap` 傳回 404:符合使用者的原則不包含 `desktop` 金鑰,或沒有原則符合。閘道的審計日誌將每個拒絕記錄為 `desktop_bootstrap.denied`,並附上原因。 | 將 `desktop` 區塊新增到符合使用者的原則,或新增到 `match: {}` 基礎層;空的 `desktop: {}` 就足夠了。請參閱 [Claude Desktop 覆蓋](/docs/zh-TW/claude-apps-gateway-config#claude-desktop-overlay)。 |290| Claude Desktop 報告其啟動設定無法擷取 | `/user/bootstrap` 傳回 404:符合使用者的原則不包含 `desktop` 金鑰,或沒有原則符合。gateway 的稽核日誌將每次拒絕記錄為 `desktop_bootstrap.denied`,並附上原因。 | 將 `desktop` 區塊新增到符合使用者的原則,或新增到 `match: {}` 基礎層;空的 `desktop: {}` 即可。請參閱 [Claude Desktop 覆蓋層](/docs/zh-TW/claude-apps-gateway-config#claude-desktop-overlay)。 |

287| 啟動顯示 `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | 已安裝的 Claude Code 建置早於閘道支援 | 讓開發人員更新 Claude Code 到包含 Cloud 閘道支援的版本 |291| 啟動顯示 `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | 已安裝的 Claude Code 組建早於 gateway 支援 | 讓開發者將 Claude Code 更新到包含 Cloud gateway 支援的版本 |

288| 啟動或 `/login` 在受管設定載入上報告 `Claude Code may not be enabled for your organization` 後出現 403 | 閘道或其前面的某些東西以 403 回應 `/managed/settings` 請求。閘道自己的設定路由永遠不會回應 403。狀態來自 [`access_control`](/docs/zh-TW/claude-apps-gateway-config#http-tuning) IP 檢查或閘道前面的代理或 WAF。審計日誌將 IP 檢查拒絕記錄為 `access.denied`,並附上原因。開發人員保持簽入。 | 檢查審計日誌中失敗時的 `access.denied` 並修復 `access_control` 清單或前端,然後讓開發人員再次啟動 `claude` |292| 啟動結束,顯示 `Administrator policy requires a Cloud gateway sign-in on this machine` | 開發者的環境設定了 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`、其設定配置了 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper),或來自較早 Claude Console 登入的 API 金鑰仍然被儲存 | 讓開發者清除每個適用的項目:取消設定變數、移除 `apiKeyHelper` 項目,或執行 `claude auth logout` 以移除已儲存的金鑰。然後讓他們啟動 `claude` 並使用 `/login` 登入。另請參閱[系統管理員原則要求 Cloud gateway 登入](/docs/zh-TW/errors#administrator-policy-requires-a-cloud-gateway-sign-in)。 |

289| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 閘道主機名解析為至少一個公開 IP 地址。Claude Code 檢查每個解析的地址,並要求每個都是私有的。常見原因是雙堆棧名稱,其中一個系列解析為公開地址,包括 AWS 內部雙堆棧負載平衡器,它們傳回公開範圍 AAAA 地址。 | 讓閘道名稱在開發人員機器上只解析為私有地址。對於雙堆棧名稱,刪除公開範圍記錄或提供單獨的僅內部 DNS 名稱。請參閱 [私有網路先決條件](/docs/zh-TW/claude-apps-gateway#prerequisites)。 |293| 啟動或 `/login` 在受管設定載入時出現 403 後報告 `Claude Code may not be enabled for your organization` | gateway 或其前面的某個東西以 403 回應了 `/managed/settings` 請求。gateway 自己的設定路由永遠不會回應 403。狀態來自 [`access_control`](/docs/zh-TW/claude-apps-gateway-config#http-tuning) IP 檢查或來自 gateway 前面的代理或 WAF。稽核日誌將 IP 檢查拒絕記錄為 `access.denied`,並附上原因。開發者保持登入狀態。 | 檢查稽核日誌中失敗時的 `access.denied`,並修正 `access_control` 清單或前端,然後讓開發者再次啟動 `claude` |

290| CLI `/login`:`Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` 或 `HTTP_PROXY` 適用於閘道主機,代理的主機名解析為公開地址。代理的主機解析為僅私有地址是允許的,不會觸發此錯誤 | 在開發人員的機器上將閘道主機新增到 `NO_PROXY`,以便連接是直接的,或使用主機名解析為私有地址的代理。訊息會命名要新增的確切 `NO_PROXY` 項目 |294| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway 主機名稱解析為至少一個公開 IP 位址。Claude Code 檢查每個已解析的位址,並要求每個位址都是私有的。常見原因是雙堆疊名稱,其中一個系列解析為公開位址,包括 AWS 內部雙堆疊負載平衡器,它們傳回公開範圍的 AAAA 位址。 | 讓 gateway 名稱在開發者機器上只解析為私有位址。對於雙堆疊名稱,請刪除公開範圍記錄或提供單獨的僅限內部 DNS 名稱。請參閱[私有網路先決條件](/docs/zh-TW/claude-apps-gateway#prerequisites)。如果位址是您的組織擁有並在內部使用的公開空間,請改為[宣告該區塊](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)。 |

291| CLI `/login`:`Could not resolve the configured HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 中的主機名無法從開發人員的機器解析,通常是因為它未連接到公司網路 | 讓開發人員連接到您的網路或 VPN 並重試,或修復代理 URL |295| CLI `/login`:`Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` 或 `HTTP_PROXY` 適用於 gateway 主機,且代理的主機名稱解析為公開位址。主機名稱只解析為私有位址的代理是允許的,不會觸發此錯誤 | 在開發者的機器上將 gateway 主機新增到 `NO_PROXY`,以便連線是直接的,或使用主機名稱解析為私有位址的代理。訊息會命名要新增的確切 `NO_PROXY` 項目 |

292| CLI `/login`:`Could not resolve gateway host <host>` | 機器無法解析閘道的內部 DNS 名稱,通常是因為它不在公司網路上 | 讓開發人員連接到您的網路或 VPN,然後重試 `/login` |296| CLI `/login`:`Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | gateway 位於 [`gatewayInternalNetworks`](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 中宣告的區塊上,開發者的機器從該區塊外的位址到達它:VPN 位址池、容器或 WSL2 NAT 區段,或不是您的網路 | 讓開發者從您網路上的主機 OS 執行 `/login`。如果顯示的位址也是您組織自己的公開空間,請將 gateway 的項目替換為涵蓋兩者的區塊,最多 `/8`;第二個重疊項目會被拒絕 |

293| 啟動退出,配置驗證錯誤命名 `store.postgres_url` | 未配置 Postgres;閘道需要 Postgres | 設定 `store.postgres_url`。對於本地開發,使用一次性容器:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |297| CLI `/login`:`Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | gateway 的名稱解析為 [`gatewayInternalNetworks`](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 中宣告的區塊外的位址:第二個網站,或雙堆疊名稱上的 IPv6 記錄。在宣告的區塊下,每條記錄都必須在該一個 IPv4 區塊內,包括私有和 IPv6 位址 | 在開發者機器上的 gateway 名稱只發佈區塊內的記錄,或提供單獨的僅限內部名稱 |

294| 啟動退出:`requires the native binary` | 在 Node 下執行而不是原生二進位檔案 | 使用其中一種 [獨立安裝方法](/docs/zh-TW/setup) 安裝 Claude Code |298| CLI `/login`:`<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 適用於宣告區塊上的 gateway | 在開發者的機器上,新增訊息命名的 `NO_PROXY` 項目 |

295| 啟動退出,OIDC 發現錯誤在 `config.load` 之後 | `oidc.issuer` 無法到達,或 TLS 鏈不受信任 | 檢查發行者是否可從 Pod 到達並提供 `/.well-known/openid-configuration`。為私有 PKI 設定 `ca_cert_pem`。 如果 Pod 只能透過轉發代理到達 IdP,設定 [`oidc.use_proxy: true`](/docs/zh-TW/claude-apps-gateway-config#idp-requests-through-a-forward-proxy);在 v2.1.227 之前的版本上,改為給予 Pod 到 IdP 每個端點的直接路由。 |299| CLI `/login`:訊息開頭為 `gatewayInternalNetworks in managed settings` | 該值違反了[驗證規則](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)之一,訊息會命名哪一個。在您修正它之前,Claude Code 拒絕機器上的每個新 gateway `/login`,包括私有位址上的 gateway;現有登入保持工作 | 在您部署的受管設定來源中,更正訊息命名的項目,然後重新執行 `/login` |

296| 啟動退出,Postgres 權限錯誤 | 資料庫角色缺少其架構上的 DDL 權限 | 授予角色在閘道的架構上的 `CREATE` 權限,以便它可以在啟動時建立和修改其表格 |300| CLI `/login`:`Could not resolve the configured HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 中的主機名稱無法從開發者的機器解析,通常是因為它未連線到公司網路 | 讓開發者連線到您的網路或 VPN 並重試,或修正代理 URL |

297| `/oauth/callback` 顯示「Sign-in could not be completed」 | 電子郵件網域被拒絕、id\_token 驗證失敗,或 `email_verified` 明確為 `false`,閘道始終拒絕,沒有覆蓋 | 檢查 `allowed_email_domains` 以及 IdP 是否傳回驗證的 `email` 聲明。對於 `email_verified: false`,修復 IdP 端驗證。如果您的 IdP 在不同的聲明名稱下發出電子郵件,設定 `oidc.email_claim`。 |301| CLI `/login`:`Could not resolve gateway host <host>` | 機器無法解析 gateway 的內部 DNS 名稱,通常是因為它不在公司網路上 | 讓開發者連線到您的網路或 VPN,然後重試 `/login` |

298| 日誌:`token exchange failed request_id=<id>: id_token missing email claim` | IdP 預設不在 id\_token 中包含 `email`。此拒絕僅在設定 `allowed_email_domains` 時觸發;沒有它,缺失的電子郵件鑄造沒有電子郵件的會話 | 配置 IdP 在 id\_token 中發出 `email`。Okta:將 `email` 新增到自訂授權伺服器的 ID 令牌聲明。Entra:在應用程式註冊上新增 `email` 作為可選聲明。PingFederate:啟用發出 `email` 的 OpenID Connect 原則。如果 IdP 從 userinfo 端點提供 `email` 但不會在 id\_token 中包含它,例如 Okta 組織授權伺服器,設定 `oidc.userinfo_fallback: true`。 |302| 啟動結束,顯示命名 `store.postgres_url` 的設定驗證錯誤 | 未設定 Postgres;gateway 需要 Postgres | 設定 `store.postgres_url`。對於本機開發,請使用一次性容器:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |

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

300| 每個 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 容器認證端點讀取認證,完全避免變更,或在專用閘道實例上應用變更以限制暴露。 |304| 啟動結束,在 `config.load` 後出現 OIDC 探索錯誤 | `oidc.issuer` 無法到達,或 TLS 鏈不受信任 | 檢查發行者是否可從 pod 到達並提供 `/.well-known/openid-configuration`。為私有 PKI 設定 `ca_cert_pem`。如果 pod 只能通過轉發代理到達 IdP,請設定 [`oidc.use_proxy: true`](/docs/zh-TW/claude-apps-gateway-config#idp-requests-through-a-forward-proxy);在 v2.1.227 之前的版本上,改為給 pod 一條到 IdP 每個端點的直接路由。 |

301| IdP 錯誤:unknown or unsupported scope | IdP 拒絕它不識別的範圍 | 將 `oidc.scopes` 設定為您的 IdP 接受的確切清單;它必須包含 `openid`。預設為 `openid profile email offline_access`。 |305| 啟動結束,出現 Postgres 權限錯誤 | 資料庫角色在其結構描述上缺少 DDL 權限 | 授予角色在 gateway 結構描述上的 `CREATE` 權限,以便它可以在啟動時建立和更改其表格 |

302| 設定 `oidc.scopes` 後會話不無聲更新 | `offline_access` 從覆蓋中被刪除 | 如果您的 IdP 支援,新增 `offline_access` 回來。沒有重新整理令牌,開發人員每 `session.ttl_hours` 重新執行瀏覽器登入。 |306| `/oauth/callback` 顯示「Sign-in could not be completed」 | 電子郵件網域被拒絕、id\_token 驗證失敗,或 `email_verified` 明確為 `false`,gateway 始終拒絕且無法覆蓋 | 檢查 `allowed_email_domains` 以及 IdP 是否傳回已驗證的 `email` 宣告。對於 `email_verified: false`,修正 IdP 端驗證。如果您的 IdP 在不同的宣告名稱下發出電子郵件,請設定 `oidc.email_claim`。 |

303| 瀏覽器顯示「This request came from another site and was blocked」 | 跨網站表單 POST,被阻止作為 CSRF 保護。嵌入或代理頁面的預期 | 直接開啟驗證連結 |307| 日誌:`token exchange failed request_id=<id>: id_token missing email claim` | IdP 預設不在 id\_token 中包含 `email`。此拒絕僅在設定 `allowed_email_domains` 時觸發;沒有它,遺漏的電子郵件會建立沒有電子郵件的工作階段 | 設定 IdP 在 id\_token 中發出 `email`。Okta:將 `email` 新增到自訂授權伺服器的 ID 令牌宣告。Entra:在應用程式註冊上新增 `email` 作為選用宣告。PingFederate:啟用發出 `email` 的 OpenID Connect 原則。如果 IdP 從 userinfo 端點提供 `email` 但不會在 id\_token 中包含它,例如 Okta 組織授權伺服器,請設定 `oidc.userinfo_fallback: true`。 |

304| Chrome 使用「Refused to send form data … violates … Content Security Policy directive: form-action」阻止「批准」按鈕,但相同頁面在 Safari 或 Firefox 中有效 | Chrome 對整個重新導向鏈強制執行 `form-action`。您的 IdP 重新導向到不在允許清單中的第二個主機。 | 在 `oidc.form_action_origins` 中新增重新導向鏈中的每個額外來源。在「批准」頁面上開啟 Chrome DevTools → 主控台以查看哪個來源被阻止。 |308| 日誌:`refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`,開發者每 `session.ttl_hours` 看到 `Cloud gateway session expired` | IdP 接受了重新整理令牌但沒有隨之傳回 id\_token,所以 gateway 詢問了 IdP 的 userinfo 端點以取得使用者的宣告。IdP 在那裡拒絕了重新整理的存取令牌。gateway 回應 `temporarily_unavailable`,所以 Claude Code 保留重新整理令牌但無法更新工作階段。v2.1.260 之前的 gateway 版本記錄相同的行,但沒有 `(at …)` 詳細資訊。 | 設定 [`oidc.scope_on_refresh: true`](/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 端點是否接受由重新整理發出的存取令牌。作為臨時解決方案,提高 [`session.ttl_hours`](/docs/zh-TW/claude-apps-gateway-config#session)。請參閱[身分提供者設定](#identity-provider-setup)以了解取消佈建權衡。 |

305| 簽入在 IdP 完成但回調失敗,Chrome 中出現 CSP 錯誤或 Safari 中出現「this sign-in link has expired」 | IdP 透過 `response_mode=form_post` 傳回代碼,它透過 POST 自動提交到 `/oauth/callback`。Chrome 在嚴格 CSP 下阻止它;Safari 允許提交但回調只讀取查詢字串。 | 確保您的 IdP 遵守 `response_mode=query`,閘道明確請求它,以便回調是純重新導向 |309| 每個 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 執行個體上應用變更以限制暴露。 |

306| 登入在本地有效但在 ALB 後面失敗 | `public_url` 仍然命名本地或內部 `http://` 來源,所以 IdP 獲得錯誤的 `redirect_uri` | 將 `listen.public_url` 設定為外部 `https://` 來源,並向 IdP 註冊 `<public_url>/oauth/callback` |310| IdP 錯誤:unknown or unsupported scope | IdP 拒絕它不認識的範圍 | 將 `oidc.scopes` 設定為您的 IdP 接受的確切清單;它必須包含 `openid`。預設值為 `openid profile email offline_access`。 |

307| 開發人員重複看到信任提示 | TLS 憑證按副本或按請求輪換 | 在 ingress 使用穩定憑證,或終止 TLS 一次並在內部透過純 HTTP 執行副本 |311| 設定 `oidc.scopes` 後工作階段不會無聲地更新 | `offline_access` 已從覆蓋中刪除 | 如果您的 IdP 支援,請新增 `offline_access` 回來。沒有重新整理令牌,開發者每 `session.ttl_hours` 重新執行瀏覽器登入。 |

308| CLI `/login`:「Could not verify the gateway's TLS certificate」或 `SELF_SIGNED_CERT_IN_CHAIN` | 閘道的 TLS 鏈由 CLI 主機的信任存儲中不存在的私有 CA 簽署 | Claude Code 預設在原生二進位檔案上讀取 OS 信任存儲,在 Node 22.15 或更新版本上;[`CLAUDE_CODE_CERT_STORE`](/docs/zh-TW/network-config#ca-certificate-store) 控制此行為。如果 CA 安裝在 OS 信任存儲中,確保開發人員在當前執行時上。否則在啟動前將 `NODE_EXTRA_CA_CERTS` 設定為 CA 憑證 PEM。首次連接指紋提示仍然適用。 |312| 瀏覽器顯示「This request came from another site and was blocked」 | 跨網站表單 POST,被阻止作為 CSRF 保護。嵌入或代理頁面的預期行為 | 直接開啟驗證連結 |

309| CLI `/login` 完成瀏覽器簽入,然後會話以 `Cloud gateway sign-in was not completed` 和 TLS 憑證不匹配結束 | 在簽入後的第一個請求上,閘道提供了與 Claude Code 固定的指紋不符的憑證,所以 Claude Code 沒有保留任何閘道認證。常見原因是一個地址後面的副本提供不同的憑證,或網路路徑上的某些東西攔截 TLS。 | 為主機名提供一個憑證,例如在 ingress 終止 TLS 一次,然後讓開發人員再次執行 `/login`。如果該憑證與固定的不同,Claude Code 會在 [信任提示](/docs/zh-TW/claude-apps-gateway#connect-developers) 上顯示警告,指出憑證已變更。 |313| Chrome 使用「Refused to send form data … violates … Content Security Policy directive: form-action」阻止「Approve」按鈕,但相同頁面在 Safari 或 Firefox 中工作 | Chrome 對整個重新導向鏈強制執行 `form-action`。您的 IdP 重新導向到未列入允許清單的第二個主機。 | 將重新導向鏈中的每個其他來源新增到 `oidc.form_action_origins`。在「Approve」頁面上開啟 Chrome DevTools → Console 以查看哪個來源被阻止。 |

310| CLI `/login` 停止,顯示 `The gateway's TLS certificate changed during sign-in: it no longer matches the one you trusted` | 簽入請求到達一個伺服器,其憑證與開發人員在 `/login` 開始時接受的不符:一個地址後面的副本提供不同的憑證、路徑上的 TLS 攔截,或簽入進行中的憑證輪換。 | 為主機名提供一個憑證,然後讓開發人員再次開始簽入,並在 [信任提示](/docs/zh-TW/claude-apps-gateway#connect-developers) 上檢查新憑證。 |314| 登入在 IdP 完成但回呼失敗,Chrome 中出現 CSP 錯誤或 Safari 中出現「this sign-in link has expired」 | IdP 通過 `response_mode=form_post` 傳回代碼,它通過 POST 自動提交到 `/oauth/callback`。Chrome 在嚴格 CSP 下阻止該操作;Safari 允許提交但回呼只讀取查詢字串。 | 確保您的 IdP 遵守 `response_mode=query`,gateway 明確要求它以便回呼是純重新導向 |

311 315| 登入在本機工作但在 ALB 後面失敗 | `public_url` 仍然命名本機或內部 `http://` 來源,所以 IdP 獲得錯誤的 `redirect_uri` | 將 `listen.public_url` 設定為外部 `https://` 來源,並向 IdP 註冊 `<public_url>/oauth/callback` |

312`Cloud gateway sign-in was not completed` 訊息命名閘道主機名。當 Claude Code 有兩個指紋時,訊息也會顯示每個的前 16 個字元。316| 開發者重複看到信任提示 | TLS 憑證按副本或按請求輪換 | 在入口使用穩定憑證,或終止 TLS 一次並在內部通過純 HTTP 執行副本 |

313 317| CLI `/login`:「Could not verify the gateway's TLS certificate」或 `SELF_SIGNED_CERT_IN_CHAIN` | gateway 的 TLS 鏈由 CLI 主機信任存放區中沒有的私有 CA 簽署 | Claude Code 在原生二進位檔上預設讀取 OS 信任存放區,在 Node 22.15 或更新版本上;[`CLAUDE_CODE_CERT_STORE`](/docs/zh-TW/network-config#ca-certificate-store)控制此行為。如果 CA 安裝在 OS 信任存放區中,請確保開發者使用目前執行時。否則在啟動前將 `NODE_EXTRA_CA_CERTS` 設定為 CA 憑證 PEM。首次連線指紋提示仍然適用。 |

314如果 Claude Code 在閘道簽入後報告 `couldn't load your organization's managed settings`,Claude Code 會命名原因、就地重新啟動並繼續對話。如果 Claude Code 無法重新啟動,例如在背景會話中,Claude Code 會結束會話並保留簽入。318| CLI `/login` 完成瀏覽器登入,然後工作階段結束,顯示 `Cloud gateway sign-in was not completed` 和 TLS 憑證不符 | 登入後的第一個請求上,gateway 提供了與 Claude Code 釘選的指紋不符的憑證,所以 Claude Code 沒有保留任何 gateway 認證。常見原因是一個位址後面的副本提供不同的憑證,或網路路徑上的某個東西攔截 TLS。 | 為主機名稱提供一個憑證,例如在入口終止 TLS 一次,然後讓開發者再次執行 `/login`。如果該憑證與釘選的不同,Claude Code 會再次顯示[信任提示](/docs/zh-TW/claude-apps-gateway#connect-developers),並警告憑證已變更。 |

319| CLI `/login` 停止,顯示 `The gateway's TLS certificate changed during sign-in: it no longer matches the one you trusted` | 登入請求到達了一個憑證與開發者在 `/login` 開始時接受的憑證不符的伺服器:一個位址後面的副本提供不同的憑證、路徑上的 TLS 攔截,或登入進行中的憑證輪換。 | 為主機名稱提供一個憑證,然後讓開發者再次開始登入並在[信任提示](/docs/zh-TW/claude-apps-gateway#connect-developers)上檢查新憑證。 |

320 

321`Cloud gateway sign-in was not completed` 訊息會命名 gateway 主機名稱。當 Claude Code 同時具有釘選指紋和呈現的指紋時,訊息也會顯示每個的前 16 個字元。

322 

323如果 Claude Code 在 gateway 登入後報告 `couldn't load your organization's managed settings`,Claude Code 會命名原因、就地重新啟動並繼續對話。如果 Claude Code 無法重新啟動(例如在背景工作階段中),Claude Code 會結束工作階段並保留登入。

315 324 

316<h2 id="related">325<h2 id="related">

317 相關326 相關

Details

4 4 

5# 在 Google Cloud 上部署 Claude 應用程式閘道5# 在 Google Cloud 上部署 Claude 應用程式閘道

6 6 

7> 在 Google Cloud 上執行 Claude 應用程式閘道的實際範例:Cloud Run 或 GKE、Cloud SQL for PostgreSQL、Secret Manager,以及對 Agent Platform 的服務帳戶驗證。7> 在 Google Cloud 上執行 Claude 應用程式閘道的實際範例:Cloud Run 或 GKE、Cloud SQL for PostgreSQL、Secret Manager,以及對 Google Cloud 的 Agent Platform 的服務帳戶驗證。

8 8 

9<Note>9<Note>

10 本頁面介紹在 Google Cloud 上執行 Claude 應用程式閘道的一種方式。此配置是客戶管理基礎設施的工作範例,而非受支援的生產部署;使用它來了解各個部分如何組合在一起,然後再根據您自己的環境進行調整。如需平台無關的需求,請參閱[部署指南](/zh-TW/claude-apps-gateway-deploy)。10 本頁面介紹在 Google Cloud 上執行 Claude 應用程式閘道的一種方式。此配置是客戶管理基礎設施的工作範例,而非受支援的生產部署;使用它來了解各個部分如何組合在一起,然後再根據您自己的環境進行調整。如需平台無關的需求,請參閱[部署指南](/docs/zh-TW/claude-apps-gateway-deploy)。

11</Note>11</Note>

12 12 

13此範例在 Google Cloud 上配置 Claude 應用程式閘道,使用 Google Cloud 的 Agent Platform 作為模型上游,並使用 Cloud Run 或 GKE 進行運算。Google Workspace 是範例身分提供者 (IdP),但任何符合 OpenID Connect (OIDC) 的 IdP 都可以使用;只有 `oidc` 區塊會改變。如需各個 IdP 的詳細資訊,請參閱[身分提供者設定](/zh-TW/claude-apps-gateway-deploy#identity-provider-setup)。13此範例在 Google Cloud 上配置 Claude 應用程式閘道,使用 Google Cloud 的 Agent Platform 作為模型上游,並使用 Cloud Run 或 GKE 進行運算。Google Workspace 是範例身分提供者 (IdP),但任何符合 OpenID Connect (OIDC) 的 IdP 都可以使用;只有 `oidc` 區塊會改變。如需各個 IdP 的詳細資訊,請參閱[身分提供者設定](/docs/zh-TW/claude-apps-gateway-deploy#identity-provider-setup)。

14 14 

15<h2 id="what-you’ll-build">15<h2 id="what-you’ll-build">

16 您將建立的內容16 您將建立的內容


20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Google Cloud 上 Claude 應用程式閘道的圖表:Claude Code 用戶端透過 HTTPS 連接到閘道(Cloud Run 或 GKE),閘道在 VPC 內執行,旁邊有一個私有 IP Cloud SQL 資料庫用於工作階段狀態。閘道透過 OIDC 針對 Google Workspace 簽署使用者,從 Secret Manager 讀取配置和祕密,將模型請求轉發到 Google Cloud 的 Agent Platform,並在部署時從 Artifact Registry 提取其映像。" width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Google Cloud 上 Claude 應用程式閘道的圖表:Claude Code 用戶端透過 HTTPS 連接到閘道(Cloud Run 或 GKE),閘道在 VPC 內執行,旁邊有一個私有 IP Cloud SQL 資料庫用於工作階段狀態。閘道透過 OIDC 針對 Google Workspace 簽署使用者,從 Secret Manager 讀取配置和祕密,將模型請求轉發到 Google Cloud 的 Agent Platform,並在部署時從 Artifact Registry 提取其映像。" width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>21</Frame>

22 22 

23參考配置會配置:23部署包含:

24 24 

25* 執行閘道容器的 **Cloud Run** 服務或 **GKE** Deployment25* 執行閘道容器的 **Cloud Run** 服務或 **GKE** Deployment

26* 用於閘道映像的 **Artifact Registry** 儲存庫26* 用於閘道映像的 **Artifact Registry** 儲存庫

27* **Cloud SQL for PostgreSQL** 執行個體,僅限私有 IP,用於閘道的[儲存](/zh-TW/claude-apps-gateway-config#store)27* **Cloud SQL for PostgreSQL** 執行個體,僅限私有 IP,用於閘道的[儲存](/docs/zh-TW/claude-apps-gateway-config#store)

28* **Secret Manager** 祕密,用於 `gateway.yaml`、JWT 簽署金鑰、OIDC 用戶端祕密和 Postgres URL28* **Secret Manager** 祕密,用於 `gateway.yaml`、JWT 簽署金鑰、OIDC 用戶端祕密和 Postgres URL

29* **服務帳戶**,具有 `roles/aiplatform.user`,直接附加到 Cloud Run 或透過 GKE 上的 Workload Identity 繫結29* **服務帳戶**,具有 `roles/aiplatform.user`,直接附加到 Cloud Run 或透過 GKE 上的 Workload Identity 繫結

30* **內部應用程式負載平衡器**(在 Cloud Run 上),或在 GKE 上使用 `gce-internal` 類別的內部 **GKE Ingress**,用於 HTTPS30* **HTTPS 前端**,由您提供:Cloud Run 前面的內部應用程式負載平衡器(本逐步解說會為其設定閘道,但不會建立),或在 GKE 上使用 `gce-internal` 類別的內部 **GKE Ingress**

31 31 

32<h2 id="prerequisites">32<h2 id="prerequisites">

33 先決條件33 先決條件


37* `gcloud` CLI(使用 `gcloud auth login` 驗證)和本機安裝的 Docker37* `gcloud` CLI(使用 `gcloud auth login` 驗證)和本機安裝的 Docker

38* 對於 GKE 路徑:`kubectl` 和在下面逐步解說中建立的 VPC 上的 GKE 叢集38* 對於 GKE 路徑:`kubectl` 和在下面逐步解說中建立的 VPC 上的 GKE 叢集

39* 在 Model Garden 中存取您需要的 Claude 模型,在發佈這些模型的區域中39* 在 Model Garden 中存取您需要的 Claude 模型,在發佈這些模型的區域中

40* Google Workspace OAuth 2.0 網路應用程式用戶端,重新導向 URI 為 `https://<gateway-host>/oauth/callback`;請參閱[身分提供者設定](/zh-TW/claude-apps-gateway-deploy#identity-provider-setup)40* Google Workspace OAuth 2.0 網路應用程式用戶端,重新導向 URI 為 `https://<gateway-host>/oauth/callback`;請參閱[身分提供者設定](/docs/zh-TW/claude-apps-gateway-deploy#identity-provider-setup)

41* 閘道的 TLS 主機名稱,通常是指向負載平衡器的內部 DNS 名稱41* 閘道的 TLS 主機名稱,通常是指向負載平衡器的內部 DNS 名稱

42 42 

43設定專案和區域一次:43設定專案和區域一次:


52 部署閘道52 部署閘道

53</h2>53</h2>

54 54 

55下面的步驟使用 `gcloud` 命令配置完整部署。55以下步驟使用 `gcloud` 命令佈建完整部署。

56 56 

57<Steps>57<Steps>

58 <Step title="啟用 API">58 <Step title="啟用 API">

59 啟用逐步解說使用的服務 API:59 啟用本逐步解說使用的服務 API:

60 60 

61 ```bash theme={null}61 ```bash theme={null}

62 gcloud services enable \62 gcloud services enable \


80 </Step>80 </Step>

81 81 

82 <Step title="建立服務帳戶並授予 IAM">82 <Step title="建立服務帳戶並授予 IAM">

83 閘道以專用服務帳戶執行,具有呼叫 Google Cloud 的 Agent Platform 的權限。它透過 VPC 使用密碼使用者到達 Cloud SQL,因此不需要 Cloud SQL IAM 角色:83 閘道以專用服務帳戶身份執行,具有呼叫 Google Cloud 的 Agent Platform 的權限。它透過 VPC 使用密碼使用者連接到 Cloud SQL,因此不需要 Cloud SQL IAM 角色:

84 84 

85 ```bash theme={null}85 ```bash theme={null}

86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"


93 然後在 Model Garden 中為專案啟用 Claude 模型;模型發佈到特定區域,因此請檢查每個模型卡。93 然後在 Model Garden 中為專案啟用 Claude 模型;模型發佈到特定區域,因此請檢查每個模型卡。

94 </Step>94 </Step>

95 95 

96 <Step title="建立映像並推送到 Artifact Registry">96 <Step title="建置映像並推送到 Artifact Registry">

97 根據[容器映像需求](/zh-TW/claude-apps-gateway-deploy#container-image)建立映像,使用 `linux-x64` glibc 二進位檔,並推送它:97 根據[容器映像需求](/docs/zh-TW/claude-apps-gateway-deploy#container-image)建置映像,使用 `linux-x64` glibc 二進位檔,並推送它:

98 98 

99 ```bash theme={null}99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \100 gcloud artifacts repositories create claude-gateway \

101 --repository-format=docker --location="$REGION"101 --repository-format=docker --location="$REGION"

102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet

103 103 

104 # Cloud Run requires linux/amd64. --provenance=false avoids a buildx OCI104 # Cloud Run 需要 linux/amd64。--provenance=false 避免 buildx OCI

105 # image index that Cloud Run rejects.105 # 映像索引,Cloud Run 會拒絕。

106 docker build --platform=linux/amd64 --provenance=false \106 docker build --platform=linux/amd64 --provenance=false \

107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .

108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"

109 ```109 ```

110 </Step>110 </Step>

111 111 

112 <Step title="配置 Cloud SQL for PostgreSQL">112 <Step title="佈建 Cloud SQL for PostgreSQL">

113 透過 Private Services Access 在 VPC 上建立執行個體,使其沒有公用 IP;這也滿足強制執行 `constraints/sql.restrictPublicIp` 的專案:113 透過 Private Services Access 在 VPC 上建立執行個體,使其沒有公用 IP;這也滿足強制執行 `constraints/sql.restrictPublicIp` 的專案:

114 114 

115 ```bash theme={null}115 ```bash theme={null}


118 gcloud compute networks subnets create cc-gateway-subnet \118 gcloud compute networks subnets create cc-gateway-subnet \

119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24

120 120 

121 # Private Services Access: one-time per VPC121 # Private Services Access:每個 VPC 一次

122 gcloud compute addresses create "google-managed-services-${VPC}" \122 gcloud compute addresses create "google-managed-services-${VPC}" \

123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"

124 gcloud services vpc-peerings connect \124 gcloud services vpc-peerings connect \


137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"

138 ```138 ```

139 139 

140 Cloud Run 或 GKE 執行時必須在此 VPC 上或路由到此 VPC。140 Cloud Run 或 GKE 執行階段必須在此 VPC 上或路由到此 VPC。

141 </Step>141 </Step>

142 142 

143 <Step title="撰寫 gateway.yaml">143 <Step title="撰寫 gateway.yaml">

144 `upstreams` 區塊使用 `auth: {}` 指向 Google Cloud 的 Agent Platform,因此閘道透過執行時服務帳戶的應用程式預設認證進行驗證。如需每個欄位,請參閱[配置參考](/zh-TW/claude-apps-gateway-config)。144 `upstreams` 區塊使用 `auth: {}` 指向 Google Cloud 的 Agent Platform,因此閘道透過執行階段服務帳戶的應用程式預設認證進行驗證。請參閱[設定參考](/docs/zh-TW/claude-apps-gateway-config)以了解每個欄位。

145 145 

146 兩個 `listen` 欄位取決於什麼在閘道前面:146 兩個 `listen` 欄位描述什麼在閘道前面:

147 147 

148 * `public_url`:在 Cloud Run 或 GKE Ingress 後面時為必需。閘道僅從此值建立 IdP `redirect_uri` 和其探索文件,絕不從 `X-Forwarded-*` 標頭建立。148 * `public_url`:外部 `https://` 來源,任何非迴圈繫結都需要;請參閱 [`listen` 參考](/docs/zh-TW/claude-apps-gateway-config#listen)。閘道僅從此值建置 IdP `redirect_uri` 和其探索文件,絕不從 `X-Forwarded-*` 標頭建置。

149 * `trusted_proxies`:前端的來源範圍。閘道僅在 TCP 對等在此清單中時才接受 `X-Forwarded-For`,然後在受信任的躍點之後遍歷鏈,因此每個 IP 登入速率限制和稽核事件會記錄開發人員 IP 而不是負載平衡器的 IP。149 * `trusted_proxies`:前端的來源範圍。閘道僅在 TCP 對等在此清單中時才接受 `X-Forwarded-For`,然後走過受信任的躍點鏈,因此每個 IP 登入速率限制和稽核事件會記錄開發人員 IP 而不是負載平衡器的。

150 150 

151 設定 `trusted_proxies` 以符合您的前端。`gce` 類別的外部 GKE Ingress 未列出:它配置公用轉送規則位址,`/login` [私人網路檢查](/zh-TW/claude-apps-gateway#prerequisites)會拒絕該位址。151 設定 `trusted_proxies` 以符合您的前端。`gce` 類別的外部 GKE Ingress 未列出:它佈建公用轉送規則位址,`/login` [私人網路檢查](/docs/zh-TW/claude-apps-gateway#prerequisites)會拒絕。

152 152 

153 | 前端 | `trusted_proxies` |153 | 前端 | `trusted_proxies` |

154 | -------------------------------- | ---------------------------------- |154 | -------------------------------- | -------------------------------- |

155 | 直接到達的 Cloud Run,無負載平衡器 | `[169.254.0.0/16]` |155 | 直接到達的 Cloud Run,無負載平衡器 | `[169.254.0.0/16]` |

156 | Cloud Run 前面的內部應用程式負載平衡器 | `169.254.0.0/16` 加上您的僅限代理子網路的 CIDR |156 | Cloud Run 前面的內部應用程式負載平衡器 | `169.254.0.0/16` 加上您的僅代理子網路 CIDR |

157 | GKE 內部 Ingress,類別 `gce-internal` | 您的僅限代理子網路的 CIDR |157 | GKE 內部 Ingress,類別 `gce-internal` | 您的僅代理子網路 CIDR |

158 158 

159 下面的範例使用內部負載平衡器前面的 Cloud Run 值。159 下面的範例使用內部負載平衡器在 Cloud Run 前面的值。

160 160 

161 ```yaml gateway.yaml theme={null}161 ```yaml gateway.yaml theme={null}

162 listen:162 listen:


170 client_id: <your-oauth-client-id>170 client_id: <your-oauth-client-id>

171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}

172 allowed_email_domains: [example.com]172 allowed_email_domains: [example.com]

173 # Google ignores offline_access; these yield refresh tokens:173 # Google 忽略 offline_access;這些會產生重新整理權杖:

174 scopes: [openid, profile, email]174 scopes: [openid, profile, email]

175 extra_auth_params: { access_type: offline, prompt: consent }175 extra_auth_params: { access_type: offline, prompt: consent }

176 176 


182 182 

183 upstreams:183 upstreams:

184 - provider: vertex184 - provider: vertex

185 region: <your-region> # must match $REGION185 region: <your-region> # 必須符合 $REGION

186 project_id: <your-project>186 project_id: <your-project>

187 auth: {} # ADC via the runtime service account187 auth: {} # 透過執行階段服務帳戶的 ADC

188 ```188 ```

189 189 

190 <Note>190 <Note>

191 Google id\_tokens 不包含 `groups` 聲明。若要在 [`managed.policies`](/zh-TW/claude-apps-gateway-config#managed) 中使用基於群組的原則,並以 Google Workspace 作為 IdP,請配置 [`oidc.google_groups`](/zh-TW/claude-apps-gateway-config#oidc),它使用具有網域範圍委派的服務帳戶透過 Admin SDK Directory API 查詢每個使用者的群組。沒有它,改為符合 `email_domain`。191 Google id\_tokens 不包含 `groups` 宣告。若要在 [`managed.policies`](/docs/zh-TW/claude-apps-gateway-config#managed) 中使用基於群組的原則,並以 Google Workspace 作為 IdP,請設定 [`oidc.google_groups`](/docs/zh-TW/claude-apps-gateway-config#oidc),它使用具有網域範圍委派的服務帳戶透過 Admin SDK Directory API 查詢每個使用者的群組。沒有它,改為符合 `email_domain`。

192 </Note>192 </Note>

193 </Step>193 </Step>

194 194 


202 | `gateway-postgres-url` | Cloud SQL 步驟中的 `$GATEWAY_POSTGRES_URL` |202 | `gateway-postgres-url` | Cloud SQL 步驟中的 `$GATEWAY_POSTGRES_URL` |

203 | `gateway-config` | 前一步驟中的完整 `gateway.yaml` |203 | `gateway-config` | 前一步驟中的完整 `gateway.yaml` |

204 204 

205 祕密到達容器的方式因路徑而異:205 祕密到達容器的方式因軌道而異:

206 206 

207 * 在 GKE 上,它們透過 Secret Manager CSI 驅動程式掛載為檔案,`gateway.yaml` 參考 `${file:/secrets/...}`。207 * 在 GKE 上,它們透過 Secret Manager CSI 驅動程式掛載為檔案,`gateway.yaml` 參考 `${file:/secrets/...}`。

208 * 在 Cloud Run 上,它無法將多個祕密掛載到一個目錄中,`gateway.yaml` 掛載為檔案,其他三個注入為環境變數,因此 `gateway.yaml` 改為參考 `${GATEWAY_JWT_SECRET}`、`${OIDC_CLIENT_SECRET}` 和 `${GATEWAY_POSTGRES_URL}`。208 * 在 Cloud Run 上,無法將多個祕密掛載到一個目錄,`gateway.yaml` 掛載為檔案,其他三個注入為環境變數,因此 `gateway.yaml` 改為參考 `${GATEWAY_JWT_SECRET}`、`${OIDC_CLIENT_SECRET}` 和 `${GATEWAY_POSTGRES_URL}`。

209 </Step>209 </Step>

210 210 

211 <Step title="部署">211 <Step title="部署">


219 --region="$REGION" \219 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \221 --min-instances=1 \

222 --max-instances=8 \

222 --timeout=3600 \223 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \224 --ingress=internal \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \225 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \226 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check227 --no-invoker-iam-check

227 ```228 ```

228 229 

229 直接 VPC 出口(透過 `--network`、`--subnet` 和 `--vpc-egress=private-ranges-only`)讓服務直接到達 Cloud SQL 私有 IP。對 Google Cloud 的 Agent Platform 端點和 `accounts.google.com` 的公用出口直接進入網際網路,而不是透過 VPC,因此不需要 Cloud NAT。230 直接 VPC 出口,透過 `--network`、`--subnet` 和 `--vpc-egress=private-ranges-only`,讓服務直接到達 Cloud SQL 私有 IP。每個執行個體最多持有 [`store.max_connections`](/docs/zh-TW/claude-apps-gateway-config#store) 個 Postgres 連線,預設為五個,因此保持最大執行個體數 × `store.max_connections` 低於您的 Cloud SQL 層級的連線限制;[參考資產](#terraform-reference)因此將 `db-g1-small` 層級的執行個體上限設為 8。公用出口到 Google Cloud 的 Agent Platform 端點和 `accounts.google.com` 直接進入網際網路,而不是透過 VPC,因此不需要 Cloud NAT。

230 231 

231 呼叫者 IAM 檢查必須開啟或停用。閘道執行自己的 OIDC,其用戶端不攜帶 GCP 令牌,因此 Cloud Run 的呼叫者檢查必須允許未驗證的請求。閘道的 OIDC 登入在請求到達容器後驗證請求,使用 `allowed_email_domains` 限制哪些網域可以登入。232 調用者 IAM 檢查必須開啟或停用。閘道執行自己的 OIDC,其用戶端不攜帶 GCP 權杖,因此 Cloud Run 的調用者檢查必須允許未驗證的請求。閘道的 OIDC 登入在請求到達容器後驗證請求,使用 `allowed_email_domains` 限制哪些網域可以登入。

232 233 

233 兩個旗標允許未驗證的請求:234 兩個旗標允許未驗證的請求:

234 235 

235 * `--no-invoker-iam-check`:停用檢查,無需管理 `allUsers` 繫結,並在網域受限共用下工作236 * `--no-invoker-iam-check`:停用檢查,無需管理 `allUsers` 繫結,並在網域限制共用下工作

236 * `--allow-unauthenticated`:授予 `allUsers` `run.invoker` 角色;如果您的組織不允許 `--no-invoker-iam-check`,請使用它237 * `--allow-unauthenticated`:授予 `allUsers` `run.invoker` 角色;如果您的組織不允許 `--no-invoker-iam-check`,請使用它

237 238 

238 透過 `--ingress` 的入口限制是與呼叫者檢查獨立的單獨層;保持設定以將服務限制在您的公司網路。239 透過 `--ingress` 的入口限制是與調用者檢查分開的獨立層;保持設定以將服務限制在您的公司網路。

239 240 

240 預設情況下,Cloud Run `*.run.app` URL 解析為公用位址,`/login` [私人網路檢查](/zh-TW/claude-apps-gateway#prerequisites)會拒絕該位址。兩個拓撲為開發人員提供私人可解析的主機名稱,Cloud Run 都不為您配置:241 預設情況下,Cloud Run `*.run.app` URL 解析為公用位址,`/login` [私人網路檢查](/docs/zh-TW/claude-apps-gateway#prerequisites)會拒絕。兩個拓撲為開發人員提供私人可解析的主機名稱,Cloud Run 都不為您佈建:

241 242 

242 * **內部應用程式負載平衡器**,上面部署命令假設的拓撲:使用 `--ingress=internal-and-cloud-load-balancing` 部署,在服務前面配置內部應用程式負載平衡器,具有內部 DNS 名稱和憑證,並將 `listen.public_url` 設定為該主機名稱。243 * **內部應用程式負載平衡器**,此頁面的 `gateway.yaml` 假設的拓撲:在服務前面佈建內部應用程式負載平衡器,具有內部 DNS 名稱和憑證,並將 `listen.public_url` 設定為該主機名稱。`internal` 入口設定已允許來自內部應用程式負載平衡器的流量;`internal-and-cloud-load-balancing` 另外允許外部應用程式負載平衡器,其公用位址 `/login` 私人網路檢查會拒絕,因此此頁面上的拓撲都不需要它。

243 * **僅限內部入口,無負載平衡器**:使用 `--ingress=internal` 部署,並將 `listen.public_url` 保留為 `*.run.app` URL,下面[參考資產](#terraform-reference)中的預設值。若要 `*.run.app` 私下解析,您的網路團隊必須已經為 Google API 操作 Private Service Connect 端點、解析 `*.run.app` 到它的 Cloud DNS 私人區域,以及到該端點的內部部署路由。244 * **僅限內部入口,無負載平衡器**:保持部署命令原樣,將 `listen.public_url` 保留為 `*.run.app` URL,下面[參考資產](#terraform-reference)中的預設值。為了讓 `*.run.app` 私人解析,您的網路團隊必須已經為 Google API 運作 Private Service Connect 端點、解析 `*.run.app` 到它的 Cloud DNS 私人區域,以及到該端點的內部部署路由。

244 245 

245 Google 的 [Cloud Run 私人網路指南](https://cloud.google.com/run/docs/securing/private-networking)涵蓋兩個選項都需要的基礎設施。一旦閘道在私人主機名稱上提供服務,驗證登入;在此之前,從 Cloud Run 中的日誌確認容器已啟動。246 Google 的 [Cloud Run 私人網路指南](https://cloud.google.com/run/docs/securing/private-networking)涵蓋兩個選項都需要的基礎結構。一旦閘道在私人主機名稱上提供服務,請驗證登入;在此之前,從 Cloud Run 中的日誌確認容器已啟動。

246 247 

247 在第一次登入之前,將 OAuth 用戶端的授權重新導向 URI 更新為 `<public_url>/oauth/callback`。變更 `public_url` 後重新部署,因為閘道僅從該設定建立其公用來源,並忽略 `X-Forwarded-Host` 和 `X-Forwarded-Proto`。僅當設定 `listen.trusted_proxies` 時,才接受 `X-Forwarded-For` 用於用戶端 IP。248 在第一次登入前,將 OAuth 用戶端的授權重新導向 URI 更新為 `<public_url>/oauth/callback`。變更 `public_url` 後重新部署,因為閘道僅從該設定建置其公用來源,並忽略 `X-Forwarded-Host` 和 `X-Forwarded-Proto`。`X-Forwarded-For` 僅在設定 `listen.trusted_proxies` 時才被接受用於用戶端 IP。

248 </Tab>249 </Tab>

249 250 

250 <Tab title="GKE">251 <Tab title="GKE">


255 ```bash theme={null}256 ```bash theme={null}

256 gcloud container clusters update <cluster> --region="$REGION" \257 gcloud container clusters update <cluster> --region="$REGION" \

257 --workload-pool="${PROJECT_ID}.svc.id.goog"258 --workload-pool="${PROJECT_ID}.svc.id.goog"

258 # On a Standard cluster, existing node pools also need GKE_METADATA;259 # 在標準叢集上,現有節點池也需要 GKE_METADATA;

259 # Autopilot enables this by default.260 # Autopilot 預設啟用此功能。

260 gcloud container node-pools update <pool> --cluster=<cluster> \261 gcloud container node-pools update <pool> --cluster=<cluster> \

261 --region="$REGION" --workload-metadata=GKE_METADATA262 --region="$REGION" --workload-metadata=GKE_METADATA

262 263 


272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"273 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```274 ```

274 275 

275 將閘道部署為標準 Deployment 加上 Service 和內部 Ingress,類別 `gce-internal`,如 [Kubernetes 部署](/zh-TW/claude-apps-gateway-deploy#kubernetes)中所述,具有:276 將閘道部署為標準 Deployment 加上 Service 和內部 Ingress,類別 `gce-internal`,如 [Kubernetes 部署](/docs/zh-TW/claude-apps-gateway-deploy#kubernetes)中所述,具有:

276 277 

277 * `serviceAccountName: gateway`278 * `serviceAccountName: gateway`

278 * Secret Manager CSI 驅動程式在 `/secrets` 掛載祕密279 * Secret Manager CSI 驅動程式在 `/secrets` 掛載祕密


280 281 

281 將具有提高 `timeoutSec` 的 BackendConfig 附加到閘道 Service:GKE Ingress 後面的負載平衡器後端服務預設為 30 秒超時,這會切斷長串流回應。282 將具有提高 `timeoutSec` 的 BackendConfig 附加到閘道 Service:GKE Ingress 後面的負載平衡器後端服務預設為 30 秒超時,這會切斷長串流回應。

282 283 

283 不要在 Workload Identity 叢集上應用阻止 `169.254.169.254` 的出口 NetworkPolicy;Pod 必須到達中繼資料伺服器以取得認證。閘道的內建 [SSRF 防護](/zh-TW/claude-apps-gateway-deploy#threat-model-summary)是那裡的防禦。284 不要在 Workload Identity 叢集上應用阻止 `169.254.169.254` 的出口 NetworkPolicy;Pod 必須到達中繼資料伺服器以取得認證。閘道的內建 [SSRF 防護](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)是那裡的防禦。

284 285 

285 閘道記錄啟動警告,指出中繼資料端點可到達,並建議應用出口 NetworkPolicy。在 Workload Identity 下,該警告是預期的,因為 Pod 需要端點。286 閘道記錄啟動警告,中繼資料端點可到達,並建議應用出口 NetworkPolicy。在 Workload Identity 下,該警告是預期的,因為 Pod 需要端點。

286 </Tab>287 </Tab>

287 </Tabs>288 </Tabs>

288 </Step>289 </Step>

289 290 

290 <Step title="將閘道 URL 推送到開發人員機器">291 <Step title="將閘道 URL 推送到開發人員機器">

291 閘道現在正在執行,但開發人員在透過 MDM 部署的[受管設定檔](/zh-TW/claude-apps-gateway#set-the-gateway-url)中設定 `forceLoginMethod` 和 `forceLoginGatewayUrl` 之前,無法從 `/login` 到達它。沒有閘道選項供開發人員在登入選擇器中手動選擇。292 閘道現在正在執行,但開發人員無法從 `/login` 到達它,直到閘道 URL 在他們的機器上。透過 MDM 將完整的[受管設定片段](/docs/zh-TW/claude-apps-gateway#set-the-gateway-url)部署到每個裝置,具有 `forceLoginMethod`、`forceLoginGatewayUrl` 和 `parentSettingsBehavior: "merge"` 選擇加入。登入選擇器中沒有閘道選項供開發人員手動選擇。

292 </Step>293 </Step>

293</Steps>294</Steps>

294 295 


302* `terraform/`:相同的部署作為基礎設施即程式碼,用於綠地部署:針對性應用以建立 Artifact Registry 儲存庫,然後建立和推送映像,然後完整應用303* `terraform/`:相同的部署作為基礎設施即程式碼,用於綠地部署:針對性應用以建立 Artifact Registry 儲存庫,然後建立和推送映像,然後完整應用

303* `gateway.yaml.example` 和用於 distroless 執行時映像的 `Dockerfile`304* `gateway.yaml.example` 和用於 distroless 執行時映像的 `Dockerfile`

304 305 

305工件預設 Cloud Run 入口為 `internal`,因此不需要負載平衡器。若要符合本頁面的生產後 ALB 部署,使用 `INGRESS=internal-and-cloud-load-balancing` 執行 `setup.sh`,或將 Terraform 變數 `ingress` 設定為 `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`。工件也預設呼叫者層為 `allUsers` `run.invoker` 授予,而不是 `--no-invoker-iam-check`,與本頁面逐步解說相反;兩者都有效,選擇取決於您的組織的原則限制。306工件預設 Cloud Run 入口為 `internal`,符合本頁面上的部署命令;該設定適用於在服務前面有或沒有內部 Application Load Balancer 的情況,工件也不會建立負載平衡器。工件也預設呼叫者層為 `allUsers` `run.invoker` 授予,而不是 `--no-invoker-iam-check`,與本頁面逐步解說相反;兩者都有效,選擇取決於您的組織的原則限制。

306 307 

307資產作為工作範例提供,而非受支援的生產工件;檢查並根據您的環境調整它們。308資產作為工作範例提供,而非受支援的生產工件;檢查並根據您的環境調整它們。

308 309 


310 疑難排解311 疑難排解

311</h2>312</h2>

312 313 

313如需閘道啟動和登入錯誤,請參閱平台無關的[疑難排解表](/zh-TW/claude-apps-gateway-deploy#troubleshooting)。下面的項目特定於 Google Cloud。314如需閘道啟動和登入錯誤,請參閱平台無關的[疑難排解表](/docs/zh-TW/claude-apps-gateway-deploy#troubleshooting)。下面的項目特定於 Google Cloud。

314 315 

315| 症狀 | 原因 | 修正 |316| 症狀 | 原因 | 修正 |

316| --------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |317| --------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |


325 後續步驟326 後續步驟

326</h2>327</h2>

327 328 

328* [配置參考](/zh-TW/claude-apps-gateway-config):每個 `gateway.yaml` 選項,包括 `managed.policies` 和 `telemetry`329* [配置參考](/docs/zh-TW/claude-apps-gateway-config):每個 `gateway.yaml` 選項,包括 `managed.policies` 和 `telemetry`

329* [部署和操作](/zh-TW/claude-apps-gateway-deploy):IdP 設定、健康檢查、JWT 祕密輪換、升級和安全模型330* [部署和操作](/docs/zh-TW/claude-apps-gateway-deploy):IdP 設定、健康檢查、JWT 祕密輪換、升級和安全模型

330* [Claude 應用程式閘道概述](/zh-TW/claude-apps-gateway):快速入門和連接開發人員331* [Claude 應用程式閘道概述](/docs/zh-TW/claude-apps-gateway):快速入門和連接開發人員

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# 在網頁上使用 Claude Code5# 在雲端使用 Claude Code

6 6 

7> 使用 `--cloud` 和 `--teleport` 在網頁和終端之間移動工作階段、管理和共享工作階段,以及從雲端自動修復拉取請求。7> 從您的瀏覽器、手機、桌面應用程式或終端在雲端執行 Claude Code 工作階段,使用 --cloud 和 --teleport 移動工作階段,以及自動修復拉取請求。

8 8 

9<Note>9<Note>

10 Claude Code 網頁版目前處於研究預覽階段,適用於 Pro、Max 和 Team 使用者,以及具有高級席位或 Chat + Claude Code 席位的 Enterprise 使用者。10 雲端工作階段處於研究預覽階段,適用於 Pro、Max 和 Team 使用者,以及具有高級席位或 Chat + Claude Code 席位的 Enterprise 使用者。

11</Note>11</Note>

12 12 

13Claude Code 網頁版在 [claude.ai/code](https://claude.ai/code) 上的 Anthropic 管理的雲端基礎設施上執行任務,或在您的組織的[自託管環境](/docs/zh-TW/self-hosted-environments)上執行(如果路由到那裡)。工作階段即使在您關閉瀏覽器後仍會保留,您可以從 Claude 行動應用程式監控它們。13雲端工作階段是在雲端基礎設施上執行的 Claude Code 工作階段,而不是在您的機器上執行。預設情況下,它在 Anthropic 管理的基礎設施上執行,或在您的組織的[自託管環境](/docs/zh-TW/self-hosted-environments)上執行(如果路由到那裡)。工作階段在您關閉筆記型電腦後仍會繼續執行,您可以從任何裝置檢查或控制它。

14 

15您可以從以下任何介面啟動雲端工作階段:

16 

17* **瀏覽器**:[claude.ai/code](https://claude.ai/code),也稱為網頁版 Claude Code

18* **行動裝置**:[Claude 應用程式](/docs/zh-TW/mobile)中的 **Code** 標籤

19* **桌面應用程式**:當您[啟動工作階段](/docs/zh-TW/desktop#run-long-running-tasks-in-the-cloud)時,選擇 **Cloud** 而不是 **Local**

20* **終端**:[`claude --cloud`](#from-terminal-to-cloud)

21* **例行工作**:[排程和觸發的執行](/docs/zh-TW/routines)每次都作為雲端工作階段執行

22 

23若要讓 Claude 為一項工作啟動並追蹤許多雲端工作階段,請使用[專案](/docs/zh-TW/claude-projects)。在您的終端、IDE 或選擇了 **Local** 的桌面應用程式中的工作階段在您自己的機器上執行。若要從您的手機或瀏覽器控制其中一個本機工作階段,請使用[遠端控制](/docs/zh-TW/remote-control)。

14 24 

15<Tip>25<Tip>

16 初次使用 Claude Code 網頁版?從[開始使用](/docs/zh-TW/web-quickstart)開始,連接您的 GitHub 帳戶並提交您的第一個任務。26 初次使用雲端工作階段?從[開始使用](/docs/zh-TW/web-quickstart)開始,連接您的 GitHub 帳戶並提交您的第一個任務。

17</Tip>27</Tip>

18 28 

19本頁涵蓋網頁產品本身:29本頁涵蓋:

20 30 

21* [雲端環境](#cloud-environments):工作階段執行的位置,以及如何配置該位置31* [雲端環境](#cloud-environments):工作階段執行的位置,以及如何配置該位置

22* [GitHub 驗證選項](#github-authentication-options):連接 GitHub 的兩種方式32* [GitHub 驗證選項](#github-authentication-options):連接 GitHub 的兩種方式

23* [在網頁和終端之間移動任務](#move-tasks-between-web-and-terminal),使用 `--cloud` 和 `--teleport`33* [在終端和雲端之間移動任務](#move-tasks-between-terminal-and-cloud),使用 `--cloud` 和 `--teleport`

24* [使用工作階段](#work-with-sessions):權限模式、檢查、共享、封存、刪除34* [使用工作階段](#work-with-sessions):權限模式、檢查、共享、封存、刪除

25* [自動修復拉取請求](#auto-fix-pull-requests):自動回應 CI 失敗和審查評論35* [自動修復拉取請求](#auto-fix-pull-requests):自動回應 CI 失敗和審查評論

26* [安全性和隔離](#security-and-isolation):工作階段如何隔離36* [安全性和隔離](#security-and-isolation):工作階段如何隔離


30 雲端環境40 雲端環境

31</h2>41</h2>

32 42 

33每個雲端工作階段都在一個[雲端環境](/docs/zh-TW/cloud-environments)中執行,這是一個已保存的配置,控制網路存取、環境變數和設定指令碼。如果您還沒有環境,上線會設定一個**預設**環境,具有[**信任**網路存取](/docs/zh-TW/cloud-environments#access-levels),要麼為您建立它,要麼要求您建立它。請參閱[預設環境](/docs/zh-TW/cloud-environments#the-default-environment),了解在您的計畫上會發生哪種情況,以及當您有多個環境時工作階段如何選擇環境。43每個雲端工作階段都在一個[雲端環境](/docs/zh-TW/cloud-environments)中執行,這是一個已保存的設定,控制網路存取、環境變數和設定指令碼。如果您還沒有環境,上線會設定一個**預設**環境,具有[**信任**網路存取](/docs/zh-TW/cloud-environments#access-levels),要麼為您建立它,要麼要求您建立它。請參閱[預設環境](/docs/zh-TW/cloud-environments#the-default-environment),了解在您的計畫上會發生哪種情況,以及當您有多個環境時工作階段如何選擇環境。

34 44 

35相同的環境適用於您啟動雲端工作階段的任何地方:網頁、終端、[Claude Tag](https://claude.com/docs/claude-tag/overview)、[例行工作](/docs/zh-TW/routines),以及行動和 Desktop 應用程式。Claude Tag 頻道工作階段僅使用組織級別環境,要麼是[共享環境](/docs/zh-TW/cloud-environments#organization-shared-environments),要麼是[自託管環境](/docs/zh-TW/self-hosted-environments)。45相同的環境適用於您啟動雲端工作階段的任何地方:網頁、終端、[Claude Tag](https://claude.com/docs/claude-tag/overview)、[例行工作](/docs/zh-TW/routines),以及行動和 Desktop 應用程式。Claude Tag 頻道工作階段僅使用組織級別環境,要麼是[共享環境](/docs/zh-TW/cloud-environments#organization-shared-environments),要麼是[自託管環境](/docs/zh-TW/self-hosted-environments)。

36 46 

37請參閱[配置雲端環境](/docs/zh-TW/cloud-environments)以變更環境允許的內容、設定變數或新增設定指令碼,以及[已安裝的工具](/docs/zh-TW/cloud-environments#installed-tools)以了解工作階段在沒有任何配置的情況下包含的內容。47請參閱[設定雲端環境](/docs/zh-TW/cloud-environments)以變更環境允許的內容、設定變數或新增設定指令碼,以及[已安裝的工具](/docs/zh-TW/cloud-environments#installed-tools)以了解工作階段在沒有任何設定的情況下包含的內容。

38 48 

39<h2 id="github-authentication-options">49<h2 id="github-authentication-options">

40 GitHub 驗證選項50 GitHub 驗證選項


43雲端工作階段需要存取您的 GitHub 儲存庫以複製程式碼和推送分支。您可以通過兩種方式授予存取權限:53雲端工作階段需要存取您的 GitHub 儲存庫以複製程式碼和推送分支。您可以通過兩種方式授予存取權限:

44 54 

45| 方法 | 運作方式 | 工作階段可以存取的儲存庫 | 最適合 |55| 方法 | 運作方式 | 工作階段可以存取的儲存庫 | 最適合 |

46| :--------------- | :------------------------------------------------------ | :------------------------------------- | :----------------------------------------- |56| :--------------- | :------------------------------------------------------ | :--------------------------------------------- | :----------------------------------------- |

47| **GitHub App** | 在[網頁上線](/docs/zh-TW/web-quickstart)期間授權 Claude GitHub App | 任何公開儲存庫,以及安裝了 Claude GitHub App 的私人儲存庫 | 瀏覽器上線;想要[自動修復](#auto-fix-pull-requests)的團隊 |57| **GitHub App** | 在[網頁上線](/docs/zh-TW/web-quickstart)期間授權 Claude GitHub App | 任何公開儲存庫,以及安裝了 Claude GitHub App 的私人儲存庫 | 瀏覽器上線;想要[自動修復](#auto-fix-pull-requests)的團隊 |

48| **`/web-setup`** | 在您的終端中執行 `/web-setup` 以將您的本機 `gh` CLI 令牌傳送到您的 Claude 帳戶 | 您的 `gh` 令牌可以存取的任何儲存庫,無論是否安裝了 App | 已經使用 `gh` 的個人開發者 |58| **`/web-setup`** | 在您的終端中執行 `/web-setup` 以將您的本機 `gh` CLI 令牌傳送到您的 Claude 帳戶 | 您的 `gh` 令牌可以存取的任何儲存庫,無論是否安裝了 Claude GitHub App | 已經使用 `gh` 的個人開發者 |

49 59 

50在儲存庫上安裝 Claude GitHub App 也會為其中的提取請求啟用[自動修復](#auto-fix-pull-requests)。60在儲存庫上安裝 Claude GitHub App 也會為其中的提取請求啟用[自動修復](#auto-fix-pull-requests)。

51 61 

62[專案](/docs/zh-TW/claude-projects)中的執行緒需要在它們複製的每個儲存庫上安裝 Claude GitHub App,無論您使用哪種方法連接。請參閱[設定 GitHub 存取](/docs/zh-TW/claude-projects#set-up-github-access)。

63 

52有關 `/schedule` 如何在建立例行工作之前檢查儲存庫存取,請參閱[儲存庫和分支權限](/docs/zh-TW/routines#repositories-and-branch-permissions)。有關 `/web-setup` 的逐步說明,請參閱[從您的終端連接](/docs/zh-TW/web-quickstart#connect-from-your-terminal),包括 `/web-setup` 儲存的內容以及如何移除它。64有關 `/schedule` 如何在建立例行工作之前檢查儲存庫存取,請參閱[儲存庫和分支權限](/docs/zh-TW/routines#repositories-and-branch-permissions)。有關 `/web-setup` 的逐步說明,請參閱[從您的終端連接](/docs/zh-TW/web-quickstart#connect-from-your-terminal),包括 `/web-setup` 儲存的內容以及如何移除它。

53 65 

54快速網頁設定是一個組織設定,讓成員使用 `/web-setup` 連接 GitHub,在瀏覽器上線期間跳過 Claude GitHub App 安裝提示,並讓瀏覽器上線為他們建立[**預設**環境](/docs/zh-TW/cloud-environments#the-default-environment),而不是顯示環境表單。在 Team 和 Enterprise 計畫上,預設情況下它是關閉的,這會隱藏 `/web-setup`。[擁有者](/docs/zh-TW/server-managed-settings#access-control)可以在 [**管理設定 > Claude Code**](https://claude.ai/admin-settings/claude-code) 使用**快速網頁設定**切換來開啟它。66快速網頁設定是一個組織設定,讓成員使用 `/web-setup` 連接 GitHub,在瀏覽器上線期間跳過 Claude GitHub App 安裝提示,並讓瀏覽器上線為他們建立[**預設**環境](/docs/zh-TW/cloud-environments#the-default-environment),而不是顯示環境表單。在 Team 和 Enterprise 計畫上,預設情況下它是關閉的,這會隱藏 `/web-setup`。[擁有者](/docs/zh-TW/server-managed-settings#access-control)可以在 [**管理設定 > Claude Code**](https://claude.ai/admin-settings/claude-code) 使用**快速網頁設定**切換來開啟它。


57 啟用[零資料保留](/docs/zh-TW/zero-data-retention)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。69 啟用[零資料保留](/docs/zh-TW/zero-data-retention)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。

58</Note>70</Note>

59 71 

60<h2 id="move-tasks-between-web-and-terminal">72<h2 id="move-tasks-between-terminal-and-cloud">

61 在網頁和終端之間移動任務73 在終端和雲端之間移動任務

62</h2>74</h2>

63 75 

64這些工作流程需要[Claude Code CLI](/docs/zh-TW/quickstart)登入到相同的 claude.ai 帳戶。您可以從終端啟動新的雲端工作階段,或將雲端工作階段拉入終端以在本機繼續。雲端工作階段即使在您關閉筆記型電腦後仍會保留,您可以從任何地方(包括 Claude 行動應用程式)監控它們。76這些工作流程需要[Claude Code CLI](/docs/zh-TW/quickstart)登入到相同的 claude.ai 帳戶。您可以從終端啟動新的雲端工作階段,或將雲端工作階段拉入終端以在本機繼續。雲端工作階段即使在您關閉筆記型電腦後仍會保留,您可以從任何地方(包括 Claude 行動應用程式)監控它們。

65 77 

66<Note>78<Note>

67 從 CLI,工作階段交接是單向的:您可以使用 `--teleport` 將雲端工作階段拉入終端,但無法將現有終端工作階段推送到網頁。`--cloud` 旗標搭配任務描述會為您目前的儲存庫建立新的雲端工作階段;搭配 `-p` 和工作階段 ID 或 claude.ai/code URL 時,它會改為[將訊息排隊到該現有工作階段](/docs/zh-TW/claude-code-on-the-web#send-follow-ups-from-the-cli)。[Desktop 應用程式](/docs/zh-TW/desktop#continue-in-another-surface)提供可將本機工作階段發送到網頁的「在另一個表面繼續」功能表。79 從 CLI,工作階段交接是單向的:您可以使用 `--teleport` 將雲端工作階段拉入終端,但無法將現有終端工作階段推送到雲端。`--cloud` 旗標搭配任務描述會為您目前的儲存庫建立新的雲端工作階段;搭配 `-p` 和工作階段 ID 或 claude.ai/code URL 時,它會改為[將訊息排隊到該現有工作階段](/docs/zh-TW/claude-code-on-the-web#send-follow-ups-from-the-cli)。[Desktop 應用程式](/docs/zh-TW/desktop#continue-in-another-surface)提供可將本機工作階段發送到雲端的**在另一個表面繼續**功能表。

68</Note>80</Note>

69 81 

70<h3 id="from-terminal-to-web">82<h3 id="from-terminal-to-cloud">

71 從終端到網頁83 從終端到雲端

72</h3>84</h3>

73 85 

74使用 `--cloud` 旗標從命令列啟動雲端工作階段:86使用 `--cloud` 旗標從命令列啟動雲端工作階段:


84當雲端容器啟動時,CLI 會顯示設定步驟的即時檢查清單,例如複製儲存庫和執行您的[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts)。它會排隊您在佈建期間輸入的訊息,並在工作階段準備好後發送它們。96當雲端容器啟動時,CLI 會顯示設定步驟的即時檢查清單,例如複製儲存庫和執行您的[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts)。它會排隊您在佈建期間輸入的訊息,並在工作階段準備好後發送它們。

85 97 

86<Note>98<Note>

87 `--cloud` 建立雲端工作階段。`--remote-control` 無關:它公開本機 CLI 工作階段以從網頁進行監控。請參閱[遠端控制](/docs/zh-TW/remote-control)。99 `--cloud` 建立雲端工作階段。`--remote-control` 無關:它讓您從 claude.ai 或 Claude 應用程式監控和引導本機 CLI 工作階段。請參閱[遠端控制](/docs/zh-TW/remote-control)。

88</Note>100</Note>

89 101 

90在 claude.ai 或 Claude 行動應用程式上開啟工作階段以檢查進度或直接互動。從那裡,您可以引導 Claude、提供反饋或回答問題,就像任何其他對話一樣。102在 claude.ai 或 Claude 行動應用程式上開啟工作階段以檢查進度或直接互動。從那裡,您可以引導 Claude、提供反饋或回答問題,就像任何其他對話一樣。


95 雲端任務的提示107 雲端任務的提示

96</h4>108</h4>

97 109 

98**在本機規劃,在遠端執行**:對於複雜任務,在規劃模式下啟動 Claude 以協作制定方法,然後將工作發送到雲端:110**在本機規劃,在雲端執行**:對於複雜任務,在規劃模式下啟動 Claude 以協作制定方法,然後將工作發送到雲端:

99 111 

100```bash theme={null}112```bash theme={null}

101claude --permission-mode plan113claude --permission-mode plan


115claude --cloud "Refactor the logger to use structured output"127claude --cloud "Refactor the logger to use structured output"

116```128```

117 129 

118當工作階段完成時,您可以從網頁介面建立 PR,或[傳送](#from-web-to-terminal)工作階段到終端以繼續工作。130當工作階段完成時,您可以從 claude.ai/code 建立 PR,或[傳送](#from-cloud-to-terminal)工作階段到終端以繼續工作。

119 131 

120<h4 id="send-local-repositories-without-github">132<h4 id="send-local-repositories-without-github">

121 發送沒有 GitHub 的本機儲存庫133 發送沒有 GitHub 的本機儲存庫


183| `Session not found: <id>` | ID 或 URL 不符合您可以存取的工作階段。根據工作階段的 claude.ai/code URL 檢查它。 |195| `Session not found: <id>` | ID 或 URL 不符合您可以存取的工作階段。根據工作階段的 claude.ai/code URL 檢查它。 |

184| `cloud session <id> is archived and cannot accept new messages` | 工作階段已被封存。改為啟動新工作階段。 |196| `cloud session <id> is archived and cannot accept new messages` | 工作階段已被封存。改為啟動新工作階段。 |

185 197 

186<h3 id="from-web-to-terminal">198<h3 id="from-cloud-to-terminal">

187 從網頁到終端199 從雲端到終端

188</h3>200</h3>

189 201 

190使用以下任何方式將雲端工作階段拉入終端:202使用以下任何方式將雲端工作階段拉入終端:


192* **使用 `--teleport`**:從命令列,執行 `claude --teleport` 以進行互動式工作階段選擇器,或執行 `claude --teleport <session-id>` 以直接恢復特定工作階段。如果您有未提交的變更,系統會提示您先隱藏它們。204* **使用 `--teleport`**:從命令列,執行 `claude --teleport` 以進行互動式工作階段選擇器,或執行 `claude --teleport <session-id>` 以直接恢復特定工作階段。如果您有未提交的變更,系統會提示您先隱藏它們。

193* **使用 `/teleport`**:在現有 CLI 工作階段內,執行 `/teleport` 或 `/tp` 以開啟相同的工作階段選擇器,而無需重新啟動 Claude Code。205* **使用 `/teleport`**:在現有 CLI 工作階段內,執行 `/teleport` 或 `/tp` 以開啟相同的工作階段選擇器,而無需重新啟動 Claude Code。

194* **從 `/tasks`**:執行 `/tasks` 以查看您的背景工作階段,然後按 `t` 傳送到其中一個。206* **從 `/tasks`**:執行 `/tasks` 以查看您的背景工作階段,然後按 `t` 傳送到其中一個。

195* **從網頁介面**:從工作階段功能表選擇**在終端中開啟**以複製可貼到終端的命令。207* **從 claude.ai/code**:從工作階段功能表選擇**在終端中開啟**以複製可貼到終端的命令。

196* **從雲端工作階段內**:輸入 `/teleport`,Claude Code 會回覆該工作階段的確切 `claude --teleport <session-id>` 命令,準備好從儲存庫的簽出執行。需要工作階段環境中的 Claude Code v2.1.223 或更新版本。208* **從雲端工作階段內**:輸入 `/teleport`,Claude Code 會回覆該工作階段的確切 `claude --teleport <session-id>` 命令,準備好從儲存庫的簽出執行。需要工作階段環境中的 Claude Code v2.1.223 或更新版本。

197 209 

198當您傳送工作階段時,Claude 驗證您在正確的儲存庫中,從雲端工作階段取得並簽出分支,並將完整的對話歷史記錄載入到終端。終端會取得工作階段的自己的副本:那裡的新工作保持本機,不會出現在 claude.ai 上的雲端工作階段或 Claude 行動應用程式中。若要在傳送後繼續從您的電話引導,請在本機工作階段中啟動 [`/remote-control`](/docs/zh-TW/remote-control)。210當您傳送工作階段時,Claude 驗證您在正確的儲存庫中,從雲端工作階段取得並簽出分支,並將完整的對話歷史記錄載入到終端。終端會取得工作階段的自己的副本:那裡的新工作保持本機,不會出現在 claude.ai 上的雲端工作階段或 Claude 行動應用程式中。若要在傳送後繼續從您的電話引導,請在本機工作階段中啟動 [`/remote-control`](/docs/zh-TW/remote-control)。


224 236 

225工作階段出現在 claude.ai/code 的側邊欄中。從那裡,您可以檢查變更、與隊友共享、封存完成的工作或永久刪除工作階段。237工作階段出現在 claude.ai/code 的側邊欄中。從那裡,您可以檢查變更、與隊友共享、封存完成的工作或永久刪除工作階段。

226 238 

239<h3 id="take-back-a-queued-message">

240 取回已排隊的訊息

241</h3>

242 

243如果您在 Claude 工作時發送訊息,該訊息會排隊,直到 Claude 讀取它。若要取回已排隊的訊息,請點擊它上面的 ✕。文字會返回到訊息框,以便您可以編輯它或發送其他內容。

244 

245如果 Claude 已經讀取訊息,它會保留在對話中。

246 

227<h3 id="manage-context">247<h3 id="manage-context">

228 管理上下文248 管理上下文

229</h3>249</h3>

230 250 

231雲端工作階段支援產生文字輸出的[內建命令](/docs/zh-TW/commands)。只在終端介面中執行的命令,例如 `/plugin` 或 `/resume`,無法使用。在雲端工作階段中開啟選擇器或面板的命令行為不同:251雲端工作階段支援產生文字輸出的[內建命令](/docs/zh-TW/commands)。只在終端介面中執行的命令,例如 `/plugin` 或 `/resume`,無法使用。在雲端工作階段中開啟選擇器或面板的命令行為不同:

232 252 

233* **`/model`、`/effort`、`/fast`、`/color` 和 `/rename`**:將值作為引數傳遞,例如 `/model sonnet`,而不是開啟終端選擇器或滑塊。引數形式需要工作階段環境中的 Claude Code v2.1.205 或更新版本,並遵循每個命令的[可用性說明](/docs/zh-TW/commands#all-commands):當模型的[啟動預設努力保持](/docs/zh-TW/model-config#adjust-effort-level)生效時,`/effort` 會報告 `Not applied`,而 `/fast` 僅在以快速模式啟動的工作階段中有效。253* **`/model`、`/effort`、`/color` 和 `/rename`**:將值作為引數傳遞,例如 `/model sonnet`,而不是開啟終端選擇器或滑塊。引數形式需要工作階段環境中的 Claude Code v2.1.205 或更新版本,並遵循每個命令的[可用性說明](/docs/zh-TW/commands#all-commands):`/effort` 會報告 `Not applied`,而模型的[啟動預設努力保持](/docs/zh-TW/model-config#adjust-effort-level)生效時。

234* **`/config`**:在網頁上,開啟您設定的 Claude Code 部分,而不是設定值,命令後的文字(包括 `key=value`)會被忽略。若要變更雲端工作階段的設定,請使用[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)或將[設定檔案](/docs/zh-TW/settings)提交到儲存庫。254* **`/fast`**:當快速模式在[您的帳戶上可用](/docs/zh-TW/fast-mode#requirements)時,為工作階段切換[快速模式](/docs/zh-TW/fast-mode#use-fast-mode-in-cloud-sessions)。需要工作階段環境中的 Claude Code v2.1.271 或更新版本。

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

235 256 

236對於上下文管理特別:257對於上下文管理特別:

237 258 


241| `/context` | 是 | 顯示目前在上下文視窗中的內容 |262| `/context` | 是 | 顯示目前在上下文視窗中的內容 |

242| `/clear` | 否 | 改為從側邊欄啟動新工作階段 |263| `/clear` | 否 | 改為從側邊欄啟動新工作階段 |

243 264 

244自動壓縮在上下文視窗接近容量時自動執行。Claude Code 網頁版在雲端工作階段中自行設定 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-TW/env-vars),因此壓縮會在[自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window)的中途觸發,而不是在視窗填滿時。該值會覆蓋您在[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)中新增的值,因此在那裡新增變數不會變更壓縮觸發的時間。265自動壓縮在上下文視窗接近容量時自動執行。雲端工作階段自行設定 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-TW/env-vars),因此壓縮會在[自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window)的中途觸發,而不是在視窗填滿時。該值會覆蓋您在[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)中新增的值,因此在那裡新增變數不會變更壓縮觸發的時間。

245 266 

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

247 268 


320 341 

321根據 PR 來自何處以及您使用的設備,有幾種方式可以開啟自動修復:342根據 PR 來自何處以及您使用的設備,有幾種方式可以開啟自動修復:

322 343 

323* **在 Claude Code 網頁版中建立的 PR**:開啟 CI 狀態欄並選擇**自動修復**344* **在 Claude Code 網頁版中建立的 PR**:開啟工作階段於 claude.ai/code,開啟 CI 狀態欄,並選擇**自動修復**

324* **從您的終端**:在 PR 的分支上執行 [`/autofix-pr`](/docs/zh-TW/commands)。Claude Code 使用 `gh` 偵測開啟的 PR,生成網頁工作階段,並在一個步驟中開啟自動修復345* **從您的終端**:在 PR 的分支上執行 [`/autofix-pr`](/docs/zh-TW/commands)。Claude Code 使用 `gh` 偵測開啟的 PR,生成網頁工作階段,並在一個步驟中開啟自動修復

325* **從行動應用程式**:告訴 Claude 自動修復 PR,例如「監視此 PR 並修復任何 CI 失敗或審查評論」346* **從行動應用程式**:告訴 Claude 自動修復 PR,例如「監視此 PR 並修復任何 CI 失敗或審查評論」

326* **任何現有 PR**:將 PR URL 貼到工作階段中並告訴 Claude 自動修復它347* **任何現有 PR**:將 PR URL 貼到工作階段中並告訴 Claude 自動修復它

327 348 

328自動修復是每個 PR 的切換開關。若要停止監視,請在網頁工作階段中開啟 CI 狀態欄並清除**自動修復**切換,或告訴 Claude 停止監視 PR。349自動修復是每個 PR 的切換開關。若要停止監視,請在 claude.ai/code 的工作階段中開啟 CI 狀態欄並清除**自動修復**切換,或告訴 Claude 停止監視 PR。

329 350 

330<h3 id="how-claude-responds-to-pr-activity">351<h3 id="how-claude-responds-to-pr-activity">

331 Claude 如何回應 PR 活動352 Claude 如何回應 PR 活動


395 環境已過期416 環境已過期

396</h3>417</h3>

397 418 

398雲端工作階段在不活動一段時間後停止,工作階段的 VM 被回收。工作階段在等待您批准 [MCP 連接器](/docs/zh-TW/cloud-environments#network-access)工具呼叫或登入 MCP 伺服器時計為不活動,並且可以在該等待期間過期。在網頁上,工作階段在工作階段清單中標記為已過期。419雲端工作階段在不活動一段時間後停止,工作階段的 VM 被回收。工作階段在等待您批准 [MCP 連接器](/docs/zh-TW/cloud-environments#network-access)工具呼叫或登入 MCP 伺服器時計為不活動,並且可以在該等待期間過期。

399 420 

400從 [claude.ai/code](https://claude.ai/code) 重新開啟工作階段以佈建新 VM,並恢復您的對話歷史記錄。在 VM 被回收時仍在執行的背景工作,例如 subagents 和 shell 命令,不會被恢復。421從 [claude.ai/code](https://claude.ai/code) 重新開啟工作階段以佈建新 VM,並恢復您的對話歷史記錄。在 VM 被回收時仍在執行的背景工作,例如 subagents 和 shell 命令,不會被恢復。

401 422 


405 426 

406在依賴雲端工作階段進行工作流程之前,請考慮這些限制:427在依賴雲端工作階段進行工作流程之前,請考慮這些限制:

407 428 

408* **速率限制**:Claude Code 網頁版與您帳戶內所有其他 Claude 和 Claude Code 使用共享速率限制。並行執行多個任務會按比例消耗更多速率限制。雲端 VM 沒有單獨的計算費用。429* **速率限制**:雲端工作階段與您帳戶內所有其他 Claude 和 Claude Code 使用共享速率限制。並行執行多個任務會按比例消耗更多速率限制。雲端 VM 沒有單獨的計算費用。

409* **儲存庫驗證**:您只能在驗證到相同帳戶時將工作階段從網頁移動到本機430* **儲存庫驗證**:您只能在驗證到相同帳戶時將雲端工作階段拉入您的終端機

410* **平台限制**:儲存庫複製和拉取請求建立需要 GitHub。自託管 [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server) 執行個體支援 Team 和 Enterprise 計畫。您可以透過設定 `CCR_FORCE_BUNDLE=1`,將 GitLab、Bitbucket 或其他非 GitHub 儲存庫作為[本機捆綁](#send-local-repositories-without-github)發送到雲端工作階段,但工作階段無法將結果推送回該遠端431* **平台限制**:儲存庫複製和拉取請求建立需要 GitHub。自託管 [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server) 執行個體支援 Team 和 Enterprise 計畫。您可以透過設定 `CCR_FORCE_BUNDLE=1`,將 GitLab、Bitbucket 或其他非 GitHub 儲存庫作為[本機捆綁](#send-local-repositories-without-github)發送到雲端工作階段,但工作階段無法將結果推送回該遠端

411* **組織 IP 允許清單**:雲端工作階段從 Anthropic 管理的基礎設施而不是您的網路呼叫 Anthropic API,而[自託管環境](/docs/zh-TW/self-hosted-environments)中的工作階段從您自己的網路呼叫它。如果您的組織啟用了 [IP 允許清單](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting),每個 Anthropic 託管的雲端工作階段都會失敗,出現驗證錯誤。這同樣適用於[程式碼審查](/docs/zh-TW/code-review)和[例行工作](/docs/zh-TW/routines),在 Anthropic 託管的環境中執行;路由到自託管環境的例行工作從您自己的網路呼叫 API。聯絡 [Anthropic 支援](https://support.claude.com/)以從您的組織的 IP 允許清單中豁免 Anthropic 託管的服務。432* **組織 IP 允許清單**:雲端工作階段從 Anthropic 管理的基礎設施而不是您的網路呼叫 Anthropic API,而[自託管環境](/docs/zh-TW/self-hosted-environments)中的工作階段從您自己的網路呼叫它。如果您的組織啟用了 [IP 允許清單](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting),每個 Anthropic 託管的雲端工作階段都會失敗,出現驗證錯誤。這同樣適用於[程式碼審查](/docs/zh-TW/code-review)和[例行工作](/docs/zh-TW/routines),在 Anthropic 託管的環境中執行;路由到自託管環境的例行工作從您自己的網路呼叫 API。聯絡 [Anthropic 支援](https://support.claude.com/)以從您的組織的 IP 允許清單中豁免 Anthropic 託管的服務。

412 433 


415</h2>436</h2>

416 437 

417* [雲端環境](/docs/zh-TW/cloud-environments):為雲端工作階段配置網路存取、環境變數和設定指令碼438* [雲端環境](/docs/zh-TW/cloud-environments):為雲端工作階段配置網路存取、環境變數和設定指令碼

439* [專案](/docs/zh-TW/claude-projects):一個對話,Claude 在其中協調您存放庫上的平行雲端工作階段並回報結果

418* [Ultrareview](/docs/zh-TW/ultrareview):在雲端沙箱中執行深度多代理程式碼審查440* [Ultrareview](/docs/zh-TW/ultrareview):在雲端沙箱中執行深度多代理程式碼審查

419* [例行工作](/docs/zh-TW/routines):自動化按排程、通過 API 呼叫或回應 GitHub 事件的工作441* [例行工作](/docs/zh-TW/routines):自動化按排程、通過 API 呼叫或回應 GitHub 事件的工作

420* [Hooks 配置](/docs/zh-TW/hooks):在工作階段生命週期事件執行指令碼442* [Hooks 配置](/docs/zh-TW/hooks):在工作階段生命週期事件執行指令碼

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


640 color: '#5AA7A7',640 color: '#5AA7A7',

641 oneLiner: 'Custom instruction sets that adjust how Claude works',641 oneLiner: 'Custom instruction sets that adjust how Claude works',

642 when: 'Files read at startup; the style you select with outputStyle applies to every response',642 when: 'Files read at startup; the style you select with outputStyle applies to every response',

643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/config</C> or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/output-style</C>, <C>/config</C>, or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],

644 tips: ['Built-in styles Default, Proactive, Concise, Explanatory, and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],644 tips: ['Built-in styles Default, Proactive, Concise, Explanatory, and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],

645 docsLink: '/en/output-styles',645 docsLink: '/en/output-styles',

646 children: [{646 children: [{


1434 1434 

1435在 Windows 上,`~/.claude` 解析為 `%USERPROFILE%\.claude`。如果您設定了 [`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars),此頁面上的每個 `~/.claude` 路徑都會改為位於該目錄下。1435在 Windows 上,`~/.claude` 解析為 `%USERPROFILE%\.claude`。如果您設定了 [`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars),此頁面上的每個 `~/.claude` 路徑都會改為位於該目錄下。

1436 1436 

1437大多數使用者只編輯 `CLAUDE.md` 和 `settings.json`。目錄的其餘部分是可選的:根據需要新增 skills、rules 或 subagents。1437大多數使用者只編輯 `CLAUDE.md` 和 `settings.json`。如果您的儲存庫已經有一個 `AGENTS.md` 供其他編碼代理使用,Claude Code [可以自行讀取](/docs/zh-TW/memory#agents-md)或與 `CLAUDE.md` 一起讀取。目錄的其餘部分是可選的:根據需要新增 skills、rules 或 subagents。

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 探索目錄1440 探索目錄


1451探索器涵蓋您編寫和編輯的檔案。一些相關檔案位於其他位置:1451探索器涵蓋您編寫和編輯的檔案。一些相關檔案位於其他位置:

1452 1452 

1453| 檔案 | 位置 | 用途 |1453| 檔案 | 位置 | 用途 |

1454| ----------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1455| `managed-settings.json` | 系統層級,因作業系統而異 | 企業強制執行的設定,您無法覆寫,除了[狹隘的例外](/docs/zh-TW/settings#security-keys-where-the-stricter-value-applies)。請參閱[檔案儲存位置](/docs/zh-TW/managed-settings#deploy-a-managed-settings-file)和[Claude Code 使用的受管來源](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier)。 |1455| `managed-settings.json` | 系統層級,因作業系統而異 | 企業強制執行的設定,您無法覆寫,除了[狹隘的例外](/docs/zh-TW/settings#security-keys-where-the-stricter-value-applies)。請參閱[檔案儲存位置](/docs/zh-TW/managed-settings#deploy-a-managed-settings-file)和[Claude Code 使用的受管來源](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier)。 |

1456| `CLAUDE.local.md` | 專案根目錄 | 此專案的私人偏好設定,與 CLAUDE.md 一起載入。手動建立並將其新增至 `.gitignore`。 |1456| `CLAUDE.local.md` | 專案根目錄 | 此專案的私人偏好設定,與 CLAUDE.md 一起載入。手動建立並將其新增至 `.gitignore`。 |

1457| 已安裝的 plugins | `~/.claude/plugins` | 複製的市集、已安裝的 plugin 版本和各 plugin 資料,由 `claude plugin` 命令管理。對於從市集[`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)以連結模式安裝的 plugin,Claude Code 在此儲存連結而非副本,plugin 的檔案保留在命令列印的目錄中。`command` 來源需要 Claude Code v2.1.229 或更新版本。請參閱 [plugin 快取](/docs/zh-TW/plugins-reference#plugin-caching-and-file-resolution)以了解孤立版本如何被清理。 |1457| `AGENTS.md` | 專案根目錄、`.claude/` 或任何目錄 | 您為 AI 編碼代理撰寫的專案指示。Claude Code 可以[自行載入](/docs/zh-TW/memory#agents-md)或與 `CLAUDE.md` 一起載入。 |

1458| 已安裝的 plugins | `~/.claude/plugins` | 複製的市集、已安裝的 plugin 版本和各 plugin 資料,由 `claude plugin` 命令管理。對於從市集[`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)以連結模式安裝的 plugin,Claude Code 在此儲存連結而非副本,plugin 的檔案保留在命令列印的目錄中。`command` 來源需要 Claude Code v2.1.229 或更新版本。本地目錄市集中以相對路徑列出的 plugin 也會[就地載入](/docs/zh-TW/plugins-reference#plugin-caching-and-file-resolution)其來源目錄,而不是從快取副本載入。請參閱 [plugin 快取](/docs/zh-TW/plugins-reference#plugin-caching-and-file-resolution)以了解孤立版本如何被清理。 |

1458 1459 

1459`~/.claude` 也保存 Claude Code 在您工作時寫入的資料:文字記錄、提示歷史記錄、檔案快照、快取和日誌。請參閱下方的[應用程式資料](#application-data)。1460`~/.claude` 也保存 Claude Code 在您工作時寫入的資料:文字記錄、提示歷史記錄、檔案快照、快取和日誌。請參閱下方的[應用程式資料](#application-data)。

1460 1461 


1551| `feedback-bundles/` | 由 `/feedback` 在第三方提供者上寫入的已編輯文字記錄存檔,或在未設定 Anthropic 認證時寫入,用於傳送到您的 Anthropic 帳戶團隊 |1552| `feedback-bundles/` | 由 `/feedback` 在第三方提供者上寫入的已編輯文字記錄存檔,或在未設定 Anthropic 認證時寫入,用於傳送到您的 Anthropic 帳戶團隊 |

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

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

1555| `skills/.trash/`、`plugins/.trash/` | 從 claude.ai 同步的 [Skills](/docs/zh-TW/skills#how-synced-skills-behave) 和 [plugins](/docs/zh-TW/plugins-reference#synced-plugins),Claude Code 已移除。移動到此處而不是刪除,以便您可以復原檔案 |

1554| `todos/`、`statsig/`、`logs/` | 舊版本的舊版目錄。不再寫入。掃描會移除其內容,然後移除空目錄。 |1556| `todos/`、`statsig/`、`logs/` | 舊版本的舊版目錄。不再寫入。掃描會移除其內容,然後移除空目錄。 |

1555 1557 

1556`sessions/` 中的工作階段檔案、自動記憶,以及 Claude Desktop 和 Cowork 文字記錄各自遵循自己的保留規則:1558`sessions/` 中的工作階段檔案、自動記憶,以及 Claude Desktop 和 Cowork 文字記錄各自遵循自己的保留規則:


1658您也可以手動刪除上述任何應用程式資料路徑,除了 [state files to keep](#state-files-to-keep)。新工作階段不受影響。下表顯示您對過去工作階段失去的內容。1660您也可以手動刪除上述任何應用程式資料路徑,除了 [state files to keep](#state-files-to-keep)。新工作階段不受影響。下表顯示您對過去工作階段失去的內容。

1659 1661 

1660| 刪除 | 您失去 |1662| 刪除 | 您失去 |

1661| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |1663| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |

1662| `~/.claude/projects/` | 過去工作階段的繼續、繼續和倒帶,以及每個專案的自動記憶 |1664| `~/.claude/projects/` | 過去工作階段的繼續、繼續和倒帶,以及每個專案的自動記憶 |

1663| `~/.claude/history.jsonl` | 向上箭頭提示回憶、`Ctrl+R` 歷史搜尋和 `!` shell 命令完成 |1665| `~/.claude/history.jsonl` | 向上箭頭提示回憶、`Ctrl+R` 歷史搜尋和 `!` shell 命令完成 |

1664| `~/.claude/paste-cache/` | 回憶提示中的貼上文字;請參閱 [paste large content](/docs/zh-TW/terminal-config#paste-large-content) |1666| `~/.claude/paste-cache/` | 回憶提示中的貼上文字;請參閱 [paste large content](/docs/zh-TW/terminal-config#paste-large-content) |


1672| `~/.claude/cache/changelog.md` | 無。在背景中重新整理。 |1674| `~/.claude/cache/changelog.md` | 無。在背景中重新整理。 |

1673| `~/.claude/policy-limits.json` | 無。自動重新整理。 |1675| `~/.claude/policy-limits.json` | 無。自動重新整理。 |

1674| `~/.claude/tasks/` | 繼續的工作階段會拾取的任務清單 |1676| `~/.claude/tasks/` | 繼續的工作階段會拾取的任務清單 |

1677| `~/.claude/skills/.trash/`、`~/.claude/plugins/.trash/` | 復原 [synced skills](/docs/zh-TW/skills#how-synced-skills-behave) 和 [synced plugins](/docs/zh-TW/plugins-reference#synced-plugins) 的機會,Claude Code 已移除 |

1675| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/image-cache/`、`~/.claude/session-env/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | 沒有面向使用者的內容 |1678| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/image-cache/`、`~/.claude/session-env/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | 沒有面向使用者的內容 |

1676| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/` | 無。舊版目錄不由目前版本寫入。 |1679| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/` | 無。舊版目錄不由目前版本寫入。 |

1677 1680 

Details

257將工作區 API 金鑰視為任何其他生產認證。[使用者設定檔](/docs/zh-TW/settings) `env` 區塊是在不全域匯出的情況下將金鑰限定於您的機器的便利方式。257將工作區 API 金鑰視為任何其他生產認證。[使用者設定檔](/docs/zh-TW/settings) `env` 區塊是在不全域匯出的情況下將金鑰限定於您的機器的便利方式。

258 258 

259<Note>259<Note>

260 `/login` 和 `/logout` 命令不會將您登入 Claude Platform on AWS 的 Claude.ai 訂閱。驗證透過您的 AWS 認證或工作區 API 金鑰執行。260 `/login` 和 `/logout` 命令不會將您登入 Claude Platform on AWS 的 claude.ai 訂閱。驗證透過您的 AWS 認證或工作區 API 金鑰執行。

261</Note>261</Note>

262 262 

263<h3 id="2-configure-claude-code">263<h3 id="2-configure-claude-code">

claude-projects.md +538 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# 讓 Claude 使用 Projects 協調進行中的工作

6 

7> 在一個對話中為 Claude 提供一組相關的工作,讓它協調共享儲存庫、指示和記憶的平行雲端工作階段。

8 

9<Note>

10 Projects 在 Pro 和 Max 方案上處於公開測試版,並逐步推出,首先針對已使用 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web) 且在 claude.ai 聊天或 Cowork 中沒有現有專案的帳戶。目前在 Team 或 Enterprise 方案上還不可用。如果 **Projects** 沒有出現在 [claude.ai/code](https://claude.ai/code) 的側邊欄中或 [桌面應用程式](/docs/zh-TW/desktop) 的 Code 標籤中,表示推出尚未到達您的帳戶,您可以 [加入等候清單](https://claude.com/form/projects)。[平行執行代理](/docs/zh-TW/agents) 列出了您在此期間可以使用的內容。

11</Note>

12 

13專案是一個進行中的對話,Claude 在其中為您協調一系列相關工作。您告訴它需要做什麼,它會為每個任務啟動一個執行緒。每個執行緒都是一個 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web):Claude Code 在雲端而不是在您的機器上執行。執行緒平行執行,並在您關閉筆記型電腦後繼續進行,您可以從您的手機檢查它們並引導它們。

14 

15沒有專案的情況下,執行多個工作階段意味著自己進行協調:您決定每個工作階段要處理什麼,在每個工作階段的開始重複相同的背景資訊,並檢查哪個已完成或需要答案。使用專案,您可以改為:

16 

17* **將工作發送到一個地方**:每當出現時,將錯誤報告、堆疊追蹤或任務清單貼到對話中。Claude 為每個工作片段啟動一個執行緒,或將其傳遞給已在該區域工作的執行緒,並就地回答快速問題。

18* **設定一次背景資訊**:每個新執行緒都以專案的儲存庫、指示和記憶開始,因此您陳述一次的規則(例如要針對的分支)會到達所有執行緒。

19* **離開並返回已完成的工作**:當您一小時後或第二天早上回來時,**Overview** 窗格會顯示哪些執行緒已完成、哪些提取請求已準備好供審查,以及哪個執行緒正在等待您的答案。

20 

21如果您已經知道希望專案執行的工作,請直接前往 [建立專案](#create-a-project)。

22 

23<h2 id="when-to-use-a-project">

24 何時使用 project

25</h2>

26 

27當工作有一個超越單個工作階段的目標並持續產生任務時,創建 project 是值得的。這些類型的工作非常適合 project:

28 

29* **跨多個儲存庫的一個目標**:"將每個服務升級到新的 lint 配置。" Claude 可以為每個儲存庫執行一個執行緒,每個都有自己的提取請求,[**Overview** 窗格](#see-what-needs-you-in-overview) 會顯示哪些已準備好供審查。

30* **您持續提供的區域**:一個服務的錯誤、堆疊追蹤和審查請求,在到達您時貼到對話中。您告訴 Claude 在一個修復後要記住的陷阱在 [project 記憶](#give-a-project-standing-context) 中供下一個使用。

31* **比工作階段更大的構建或遷移**:"構建 `docs/spec.md` 描述的內容"或"將應用程式從已棄用的 ORM 移出。" 工作分成執行緒,每個執行緒處理一部分,您要求 Claude 早期記住的決定會到達後來的執行緒,您在構建期間發現的規格變更和錯誤進入相同的對話。

32* **不是程式碼的工作**:一個合約資料夾或支援票證匯出,您不斷回來提出新問題,例如"在這些票證中找到十個最常見的整合錯誤。" 上傳文件而不是添加儲存庫,執行緒會在 project 的 [**Library** 標籤](#see-what-needs-you-in-overview) 上將每個寫作作為檔案提供。

33 

34在任何一個中,您都可以發送一批任務,告訴 Claude 在不要求您確認的情況下開始,離開,並在您回來時在 [**等待您**](#see-what-needs-you-in-overview) 下找到需要您的執行緒,或要求 Claude 將部分工作放在時間表上作為 [routine](/docs/zh-TW/routines)。如果這是您的情況,[建立 project](#create-a-project)。

35 

36<h3 id="when-something-else-fits-better">

37 何時其他方式更合適

38</h3>

39 

40執行緒在 GitHub 儲存庫以及您上傳到 project 的檔案、資料夾和 Google Drive 資料夾上工作,而不是在僅存在於您機器上的檔案或工具上。在這些情況下,其他方式更合適:

41 

42* **一個適合工作階段的任務**:"修復不穩定的登入測試。" 自己啟動 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。

43* **需要只有您的機器才能到達的工具或服務的工作**:本地資料庫、設備模擬器、您 VPN 後面的 API。使用本地工作階段,或 [代理檢視](/docs/zh-TW/agent-view) 同時執行多個。如果工作只需要本地檔案,請改為將它們上傳到 project。

44* **一個按時間表重複的任務,周圍沒有對話**:"每週一發佈依賴報告。" 自己建立 [routine](/docs/zh-TW/routines)。

45* **多個人在 Slack 頻道中給 Claude 工作並一起引導它**:請參閱 [Claude Tag](https://claude.com/docs/claude-tag/overview)。

46 

47Project 使用與您其他 Claude Code 工作階段相同的方案限制,並更快地使用它們。[使用和成本](#usage-and-cost) 涵蓋了什麼使用您的方案以及如何降低它。

48 

49<h2 id="how-a-project-is-organized">

50 Project 如何組織

51</h2>

52 

53Project 是一個協調對話加上它啟動的執行緒來完成工作。這些是它的部分:

54 

55* **project 對話**:一個長期執行的工作階段,Claude 充當協調者。它接收您發送的內容,決定什麼成為執行緒,並跟蹤它啟動的每個執行緒。它看到執行緒報告回來的內容,而不是它們採取的每一步。

56* **執行緒**:工作者。每個都是一個單獨的 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),有自己的上下文視窗,在自己的分支上完成一項工作,在工作需要時打開提取請求,並在完成時報告回對話。

57* **每個執行緒開始時的內容**:

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

59 * `CLAUDE.md`、skills 和 [project 每個儲存庫](#what-threads-pick-up-from-your-repositories) 中的 plugins,以及在有一個儲存庫的 project 中,該儲存庫的權限規則和 hooks

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

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

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

63 

64執行緒不會從您自己機器上的 Claude Code 設定中選擇任何內容。[將 skills、plugins、connectors 和工具放入執行緒](#get-skills-plugins-connectors-and-tools-into-threads) 涵蓋了如何給予它們否則會缺少的內容。

65 

66以下是這些部分如何連接的方式,從您通過對話到執行工作的執行緒,**Overview** 跟蹤其狀態:

67 

68<Frame>

69 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Project 的圖表。您在 project 對話中寫入,Claude 回答或啟動執行緒。每個執行緒是在自己的分支和提取請求上工作的雲端工作階段。Overview 窗格按狀態列出執行緒,例如準備好供審查、等待您和工作中。" width="600" height="250" data-path="images/claude-projects-overview.svg" />

70 

71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Project 的圖表。您在 project 對話中寫入,Claude 回答或啟動執行緒。每個執行緒是在自己的分支和提取請求上工作的雲端工作階段。Overview 窗格按狀態列出執行緒,例如準備好供審查、等待您和工作中。" width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />

72</Frame>

73 

74<h2 id="create-a-project">

75 建立 project

76</h2>

77 

78您在 [claude.ai/code](https://claude.ai/code)、桌面應用程式的 Code 標籤中,或在 Claude 行動應用程式中建立和使用 projects,適用於 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude)。在瀏覽器和桌面應用程式中,有兩種方式開始 project:

79 

80* **從頭開始**,當您知道想要 Claude 執行的工作流時:打開 **New project** 對話框並命名它。[從頭開始啟動新 project](#start-a-new-project-from-scratch) 會逐步介紹該對話框。

81* **從已在執行工作的雲端工作階段**:從該工作階段的功能表中選擇 **Continue as a project**,Claude 從工作階段正在執行的內容提議 project 的設定。請參閱 [從現有雲端工作階段開始](#start-from-an-existing-cloud-session)。

82 

83無論哪種方式,[首先檢查先決條件](#check-the-prerequisites)。

84 

85<h3 id="check-the-prerequisites">

86 檢查先決條件

87</h3>

88 

89在建立 project 之前,檢查您的方案、GitHub 設定以及工作需要到達的內容:

90 

91* **方案**:您在 Pro 或 Max 上,**Projects** 在您的側邊欄中顯示。

92* **GitHub,如果 project 將在程式碼上工作**:您的程式碼在 github.com 上而不是 GitHub Enterprise Server、GitLab 或 Bitbucket 上,您連接的 GitHub 帳戶對其有推送存取權,Claude GitHub App 已安裝在其上。如果您使用 [`/web-setup`](/docs/zh-TW/web-quickstart#connect-from-your-terminal) 連接了 GitHub,該令牌讓您的其他雲端工作階段到達儲存庫,但對於需要 Claude GitHub App 的 project 執行緒來說還不夠。[設定 GitHub 存取](#set-up-github-access) 有步驟。

93* **網路、認證和工具**:這些來自 project 的 [雲端環境](#choose-an-environment-for-threads)。預設環境已經到達 [常見套件登錄](/docs/zh-TW/cloud-environments#default-allowed-domains),因此只有在工作需要其他網域、秘密或未預先安裝的工具時才檢查此項。如果工作需要 MCP 伺服器,檢查它是否在您的 [claude.ai connectors](https://claude.ai/customize/connectors) 中顯示為已連接。

94 

95<h3 id="start-a-new-project-from-scratch">

96 從頭開始啟動新 project

97</h3>

98 

99從頭開始啟動 project 意味著打開 **New project** 對話框、命名工作流,以及可選地給予它一個目標和它工作的儲存庫和檔案。只有名稱是必需的,因此您可以先建立 project,然後在工作進行時填入其餘部分。

100 

101<Steps>

102 <Step title="打開 Projects">

103 在 [claude.ai/code](https://claude.ai/code) 或桌面應用程式的 Code 標籤中,在左側邊欄中選擇 **Projects**,然後選擇 **New project**。在瀏覽器中,您也可以直接前往 [claude.ai/code/projects/browse](https://claude.ai/code/projects/browse)。

104 </Step>

105 

106 <Step title="填入 New project 對話框">

107 將 project 的範圍限制在一個您將持續添加的工作流,例如保持一個 API 在其延遲目標下所需的一切。[何時使用 project](#when-to-use-a-project) 有更多範例。然後填入對話框的欄位:

108 

109 * **Name**:project 在 **Projects** 清單中的顯示方式。

110 * **Goal**(可選):您試圖完成的一行內容,例如「將 p95 API 延遲保持在 200 毫秒以下」。對話中的 Claude 朝著它工作。沒有目標,Claude 從您發送的任務工作,您可以稍後在 **Project settings > General** 中添加目標。

111 * **Context**(可選):此 project 工作的 GitHub 儲存庫,加上執行緒應該讀取的任何檔案、資料夾或 Google Drive 資料夾。為每個點擊 **Add**。添加大多數任務需要的儲存庫而不是工作可能接觸的每一個;[決定要添加哪些儲存庫](#decide-which-repositories-to-add) 涵蓋了選擇,您可以稍後在 **Project settings > Environment** 中添加更多。

112 

113 執行緒應該如何工作的常設規則進入 [project 指示](#give-a-project-standing-context),您在 project 存在後設定。

114 </Step>

115 

116 <Step title="建立 project">

117 點擊 **Create project**。project 的對話打開,底部有一個訊息框,您可以在其中描述 Claude 的工作。

118 

119 在您的第一個 project 上,除非您先發送訊息,否則 Claude 在建立 project 後會自己進行一次轉換。該轉換使用您的方案。在其中,Claude 可能會:

120 

121 * 啟動一個執行緒,探索儲存庫而不改變任何內容,並提議後續步驟,如果 project 有它可以讀取的儲存庫。

122 * 發佈從您最近的雲端工作階段中提取的 **Setup recommendations**:要添加的儲存庫、要建立的 routines 和它可以啟動的執行緒。每個推薦的儲存庫和 routine 都預設開啟。關閉您不想要的,然後點擊 **Update setup** 添加其餘部分,或忽略建議並自己描述工作。

123 </Step>

124</Steps>

125 

126project 現在在側邊欄的 **Projects** 下列出,其對話已打開。[您的第一批](#your-first-batch) 涵蓋了在您發送工作之前要設定的內容。

127 

128<h3 id="start-from-an-existing-cloud-session">

129 從現有雲端工作階段開始

130</h3>

131 

132如果您已經有一個雲端工作階段在執行屬於 project 的工作,請打開側邊欄中工作階段的功能表,然後選擇 **Continue as a project** 或 **Move to project**:

133 

134* **Continue as a project** 建立一個以工作階段命名的新 project 並打開它。Claude 讀取工作階段並在對話中發佈 **Setup recommendations** 供您確認。原始工作階段保留在您的工作階段清單中,如果它在轉換中途,它會繼續執行,因此如果您不想兩者同時工作,請自己停止它。如果您改為使用可能出現在雲端工作階段訊息框上方的 **Set up project** 橫幅,結果是相同的,除了工作階段的執行轉換在 project 打開後停止。

135* **Move to project** 將工作階段的工作帶入現有 project。它在該 project 的對話中發佈一條訊息,要求 Claude 讀取工作階段並從它停止的地方繼續,新工作在 project 自己的執行緒中繼續。原始工作階段保留在您的工作階段清單中,未改變。

136 

137<h3 id="set-up-github-access">

138 設定 GitHub 存取

139</h3>

140 

141大多數 GitHub 設定每次發生一次,而不是每個 project。您連接一次 GitHub 帳戶到 Claude,Claude GitHub App 每個儲存庫安裝一次,或如果您給予它所有儲存庫,則為整個 GitHub 組織安裝一次。當您添加 Claude GitHub App 尚未涵蓋的儲存庫或在強制執行 SSO 的 GitHub 組織中的儲存庫時,您會回到這些步驟。

142 

143<Steps>

144 <Step title="連接您的 GitHub 帳戶">

145 如果您之前未使用過 claude.ai/code,您的第一次訪問會引導您連接 GitHub;請參閱 [連接 GitHub](/docs/zh-TW/web-quickstart#connect-github)。否則使用其中一個 [GitHub 驗證選項](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)。

146 </Step>

147 

148 <Step title="在 project 的儲存庫上安裝 Claude GitHub App">

149 安裝 [Claude GitHub App](https://github.com/apps/claude) 並授予它 project 將使用的儲存庫。在由 GitHub 組織擁有的儲存庫上,只有組織所有者才能完成安裝;如果您不是,GitHub 會向所有者發送安裝請求,project 在他們批准之前無法使用儲存庫。

150 </Step>

151 

152 <Step title="為強制執行 SSO 的組織授權 SSO">

153 如果 GitHub 組織強制執行 SAML SSO,重新連接 GitHub 並為該組織授權 Claude 應用程式。在您這樣做之前,該組織的私有儲存庫不會出現在 **New project** 對話框或 **Project settings > Environment** 中。

154 </Step>

155</Steps>

156 

157當這些步驟之一未完成時,**New project** 對話框和 project 頁面會命名缺失的步驟並連結到您完成它的地方。在那裡完成該步驟,然後如果對話框提供它,點擊 **Check again**。如果儲存庫之後仍然缺失清單,請在 GitHub 上打開 Claude GitHub App 的安裝,在 [github.com/settings/installations](https://github.com/settings/installations) 用於個人帳戶,並確認儲存庫在 **Repository access** 下列出。對於執行緒或 project 在存取仍然錯誤時報告的錯誤訊息,請參閱 [儲存庫存取錯誤](#repository-access-errors)。

158 

159<h2 id="work-in-a-project">

160 在 project 中工作

161</h2>

162 

163通過 project 對話給 Claude 工作:一次一個任務或一次多個,加上更新和鬆散的想法。Claude 路由每條訊息,執行緒執行工作並報告回。

164 

165<h3 id="your-first-batch">

166 您的第一批

167</h3>

168 

169在您向新 project 發送一批工作之前,設定它,以便第一個執行緒以您想要的方式回來:

170 

1711. [寫 project 指示](#write-project-instructions):每個執行緒開始的簡報,例如要針對的分支、執行緒如何檢查其工作,以及什麼需要您的同意。

1722. 發送一個真實工作的小片段,或啟動 Claude 建議的其中一個執行緒(如果它提供了任何),並在它完成時打開執行緒,以查看它如何報告回以及它在分支上做了什麼。如果它假設了錯誤的內容或無法到達它需要的內容,[執行緒猜測或停滯而不是詢問](#threads-guessed-or-stalled-instead-of-asking) 涵蓋了在哪裡修復。

1733. 檢查 **Project settings > General** 中的 **Thread model** 和 **Thread effort**。新 project 在高努力下在 Opus 上執行每個執行緒,這最快地使用您的方案;[選擇模型並讓 Claude 管理上下文](#choose-models-and-let-claude-manage-context) 涵蓋了替代方案。

1744. 要求 Claude [在啟動執行緒之前提議執行緒並一次執行幾個](#tune-how-claude-runs-a-project),並在幾個執行緒以您想要的方式回來後放棄這些限制。

175 

176<h3 id="send-work-and-read-results">

177 發送工作並讀取結果

178</h3>

179 

180Claude 決定您在對話中發送的每條訊息去向:

181 

182* 快速問題通常在對話中得到回答。

183* 新工作進入新執行緒或已在該區域工作的執行緒,Claude 告訴您哪個。每個新執行緒在您的訊息下顯示為卡片:一個帶有執行緒標題和狀態的框,您點擊打開執行緒。

184* 一條訊息中的多個不相關任務成為單獨的執行緒。

185 

186如果 Claude 路由的內容與您想要的不同,請說出來。[調整 Claude 執行 project 的方式](#tune-how-claude-runs-a-project) 列出了您可以告訴它的內容,例如為後續工作重用現有執行緒或就地回答而不是啟動執行緒。

187 

188執行緒的完整結果保留在執行緒中,您打開對話中的卡片來讀取它們。執行緒產生的檔案也在 **Overview** 中的 **Library** 標籤上。

189 

190有時 Claude 在 **Suggested threads** 清單中提議執行緒而不是啟動它們。點擊建議上的箭頭啟動該執行緒。當列出多個時,清單下的按鈕啟動所有這些。

191 

192<h3 id="review-a-thread’s-pull-request">

193 審查執行緒的提取請求

194</h3>

195 

196當執行緒更改程式碼時,除非您另外告訴它,否則它會執行以下操作:

197 

198* **Branch**:在新分支上工作,從儲存庫的預設分支開始。

199* **Pull request**:當您要求時打開一個,並可以為錯誤修復或另一個具體變更自己打開一個。

200* **打開後**:使用 [auto-fix](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests) 打開監視提取請求,無論 auto-fix 是否對您的其他雲端工作階段打開。它在 CI 失敗時推送修復,解決審查評論,並在檢查通過且提取請求準備好供您審查時在執行緒中回覆。

201 

202當執行緒推送了分支或打開了提取請求時,其在對話中的卡片可以顯示下一步的按鈕:

203 

204* **Resolve conflicts**、**Fix CI**、**Address comments** 和 **Merge it** 將該指示作為來自您的訊息發送到執行緒,因此您可以自己提示執行緒而不是等待它對提取請求做出反應。

205* **Review PR** 在 GitHub 上打開提取請求。

206* **Create PR** 出現在閒置執行緒已推送分支但尚未打開提取請求時。點擊它會直接從該分支建立提取請求,而不是向執行緒發送打開提取請求的指示。

207 

208要更改執行緒何時打開提取請求,例如僅在您要求時,或它們從哪個分支開始,請在任務或 [project 指示](#write-project-instructions) 中說出來。

209 

210<h3 id="see-what-needs-you-in-overview">

211 在 Overview 中查看需要您的內容

212</h3>

213 

214**Overview** 窗格在對話旁邊跟蹤 project 的執行緒。它在您第一次打開新 project 時已經打開。project 標題中的 **Overview** 按鈕關閉並重新打開它,並在執行緒等待您時顯示一個點。

215 

216在桌面應用程式中,當 Claude 在對話中發佈、執行緒遇到錯誤或執行緒需要您的輸入時,您還會收到桌面通知,因此您不必保持 project 打開來找出。要在每次執行緒完成轉換時也收到一個,或為 project 關閉它們,請在 project 的側邊欄功能表中選擇 **Notifications**。這些通知僅限桌面:在瀏覽器中,檢查 **Overview** 按鈕上的點。

217 

218窗格的 **Threads** 標籤按狀態對執行緒進行分組:

219 

220| 群組 | 其中的內容 |

221| :------------------- | :----------------------------------------------------------------------------- |

222| **Ready for review** | 提取請求已打開並等待審查的執行緒 |

223| **Waiting on you** | 需要您回覆或批准的執行緒,或失敗的執行緒 |

224| **Working** | 仍在執行的執行緒 |

225| **Landing** | 提取請求已批准或排隊合併的執行緒 |

226| **Idle** | 已完成且不等待任何內容的執行緒 |

227| **Resolved** | 標記為完成的執行緒:由您從執行緒的功能表中,由 Claude 在您採取最後一步後(例如合併其提取請求),或在一週無活動後自動。您可以從相同功能表重新打開一個 |

228 

229窗格的其他標籤是 **Library** 用於您添加的檔案和資料夾以及執行緒產生的檔案,**Pull requests** 一旦執行緒打開任何,以及 **Routines** 用於 [routines](/docs/zh-TW/routines) Claude 從此 project 設定。

230 

231<h3 id="open-a-thread-when-you-need-control">

232 當您需要控制時打開執行緒

233</h3>

234 

235點擊對話中執行緒的卡片或 **Overview** 中的其行,在 Overview 窗格中打開其記錄。從那裡您可以:

236 

237* 逐步讀取 Claude 所做的內容。

238* 通過在執行緒自己的訊息框中寫入來引導任務。那裡的訊息直接進入該執行緒,而 project 對話中的後續工作只有在 Claude 將後續工作與該執行緒匹配時才會到達它。

239* 回答執行緒正在等待的權限提示。

240* 使用 **Stop** 中斷執行緒,它在執行緒工作時替換發送按鈕,或按 Esc。

241 

242<h3 id="choose-models-and-let-claude-manage-context">

243 選擇模型並讓 Claude 管理上下文

244</h3>

245 

246在 **Project settings > General** 中設定模型和努力。新 project 在高 [effort](/docs/zh-TW/model-config#adjust-effort-level) 下為執行緒和低努力下為對話在任何地方執行 Opus:

247 

248* **Thread model** 和 **Thread effort** 適用於執行緒。要為一個任務使用不同的模型,在任務中要求它;對於已在執行的執行緒,使用該執行緒的模型選擇器。

249* **Coordinator model** 和 **Coordinator effort** 適用於 project 對話中的 Claude。

250 

251您不在 project 中管理上下文視窗。執行緒自動壓縮,對話從最近的訊息、最近的執行緒和 project 記憶而不是其完整歷史工作,因此它只要 project 執行就繼續。將任何必須永遠不被丟棄的內容放在 [project 記憶](#give-a-project-standing-context) 中。如果一個執行緒超出其上下文,它會顯示 [Claude 在此轉換上用完了上下文](#context-limit)。

252 

253<h3 id="tune-how-claude-runs-a-project">

254 調整 Claude 執行 project 的方式

255</h3>

256 

257在對話中告訴 Claude 一次執行多少執行緒、何時發佈更新以及何時打開提取請求。如果 Claude 以您不想要的方式協調,請說出來。例如,您可以說:

258 

259* "提議執行緒並在啟動之前等待我的同意"或"立即啟動這些而不要求我確認"

260* "一次最多執行兩個執行緒"或"為同一區域的後續工作重用現有執行緒"

261* "發佈更短的更新"或"僅在某些完成或被阻止時發佈"

262* "給我每個執行緒的狀態更新"

263* "用較小的模型執行此任務"

264* "在我看到計劃之前不要打開提取請求"

265* "告訴我這些儲存庫中的問題,不要修復任何內容",當您想在任何內容成為執行緒之前查看發現時

266* "改為在這裡回答",當 Claude 為您打算作為快速問題的內容啟動執行緒時

267 

268Claude 自動將這些偏好保存到 [project 記憶](#give-a-project-standing-context),並在後來的執行緒中遵循它們。它們是 Claude 遵守的指示,而不是強制執行的設定,因此您以這種方式給出的執行緒限制不是硬上限。當您想要它精確措辭並從一開始應用於每個執行緒時,將一個添加到 project 指示。

269 

270<h3 id="unblock-a-thread-waiting-on-approval">

271 解除等待批准的執行緒

272</h3>

273 

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

275 

276每個批准涵蓋該提示,或如果您選擇更廣泛的選項,則涵蓋該執行緒的其餘部分。要讓每個執行緒執行某些命令而不詢問,或阻止某些,請將 [permission rules](/docs/zh-TW/permissions) 添加到儲存庫的 `.claude/settings.json`。執行緒僅在有一個儲存庫的 project 中應用它們;請參閱 [執行緒從您的儲存庫中選擇什麼](#what-threads-pick-up-from-your-repositories)。

277 

278<h2 id="give-a-project-standing-context">

279 為專案提供常設背景

280</h2>

281 

282專案記憶、專案指示,以及專案的儲存庫、檔案和環境會跨執行緒攜帶背景。您設定每一個一次,它就會套用到每個新執行緒。

283 

284| 背景 | 它攜帶什麼 | 您如何設定它 |

285| :-------- | :----------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |

286| 專案記憶 | Claude 保留的關於專案的筆記,例如需求、決策和陷阱,儲存為檔案。每個執行緒在啟動時讀取索引檔案 `MEMORY.md`,並在需要時開啟其他檔案 | 在專案對話或任何執行緒中要求 Claude 記住一項需求、決策或陷阱,或忘記一項。在**專案設定 > 記憶**中讀取、編輯和刪除檔案 |

287| 專案指示 | 傳送到每個新執行緒和專案對話中的 Claude 的文字,最多 16,000 個字元。[寫入專案指示](#write-project-instructions)涵蓋要在其中放入的內容 | **專案設定 > 記憶 > 專案指示**,或要求 Claude 變更指示 |

288| 儲存庫、檔案和環境 | 每個執行緒複製的儲存庫、每個執行緒可以在 `/mnt/project-files` 下讀取的資料夾和檔案,以及執行緒執行所在的雲端環境 | 儲存庫和環境在**專案設定 > 環境**中,或在對話中要求 Claude 將儲存庫新增到專案。檔案和資料夾來自**概覽**中**程式庫**標籤上的**新增** |

289 

290**專案設定 > 記憶**在**自動記憶**下列出這些檔案,因為 Claude 在專案中工作時自己寫入它們。它們與 Claude Code 在您的機器上保留的[自動記憶](/docs/zh-TW/memory)分開,儘管兩者都使用 `MEMORY.md` 索引。專案記憶也與專案儲存庫中的 `CLAUDE.md` 檔案分開。每個執行緒在啟動時仍然從其複製讀取這些 `CLAUDE.md` 檔案,因此將關於儲存庫的指示放在其 `CLAUDE.md` 中,將關於專案的筆記放在專案記憶中。

291 

292<h3 id="write-project-instructions">

293 寫入專案指示

294</h3>

295 

296專案指示是每個新執行緒開始的簡報。按一下專案標題中的齒輪圖示以開啟**專案設定**,然後前往**記憶 > 專案指示**。有用的簡報涵蓋:

297 

298* 專案的用途

299* 工作發生的位置:哪些儲存庫、從哪個分支開始、如何命名提取請求

300* 執行緒在完成工作前如何檢查自己的工作

301* 當它需要的東西遺失時該怎麼辦

302* 什麼需要您的事先同意

303 

304例如:

305 

306```text theme={null}

307此專案將付款 API 的 p95 延遲保持在 200 毫秒以下:分析、查詢和快取修復,以及隨之而來的依賴項升級,在 payments-api 儲存庫中。

308 

309- 從 main 分支建立分支,每個執行緒開啟一個草稿提取請求。

310- 在您完成工作前,執行 `make test` 和 `make lint`,並在最終訊息中貼上摘要行。

311- 如果您無法到達所需的東西,例如儲存庫、祕密、API 或連接器,請在第一條訊息中確切說明遺失的內容並停止。不要替代、模擬或猜測。

312- 不要在沒有在執行緒中詢問我的情況下合併、強制推送或變更 CI 設定。

313```

314 

315關於一個儲存庫的規則,例如其建置命令,屬於該儲存庫的 `CLAUDE.md`,每個執行緒在儲存庫是專案的一部分時讀取。一旦工作開始,當您更正執行緒時,也要告訴 Claude 記住更正:它進入[專案記憶](#give-a-project-standing-context),稍後的執行緒開始時會有它。

316 

317<h3 id="decide-which-repositories-to-add">

318 決定要新增哪些儲存庫

319</h3>

320 

321您新增到專案的儲存庫在每個執行緒中都帶有其中的所有內容、其程式碼、`CLAUDE.md` 和技能。您不新增的儲存庫仍在範圍內:執行緒在其任務需要時可以將其新增到自己。大多數專案同時使用兩者:

322 

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

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

325 

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

327 

328一旦專案有了儲存庫,Claude 只能從專案已經使用的 GitHub 擁有者新增儲存庫,無論它是將其新增到專案還是執行緒將其新增到自己。要引入來自不同擁有者的儲存庫,請在**專案設定 > 環境**中自己新增它。

329 

330對於跨越許多儲存庫的專案,例如一個具有伺服器、網路、行動和桌面程式碼的功能,新增幾乎每個任務都涉及的一個或兩個儲存庫,並在[專案指示](#write-project-instructions)中命名其他儲存庫,以便 Claude 知道其餘程式碼的位置。執行緒然後開始很小,只為需要它們的任務拉入其他儲存庫。

331 

332<h3 id="what-threads-pick-up-from-your-repositories">

333 執行緒從您的儲存庫中取得什麼

334</h3>

335 

336每個執行緒複製專案中的每個儲存庫,並從所有儲存庫載入 `CLAUDE.md`、技能和外掛程式。權限規則、hooks 和 `env` 僅來自執行緒啟動所在目錄中的 `.claude/settings.json`:當專案有一個時在儲存庫內,當它有多個時在複製上方,其中沒有儲存庫的檔案被讀取用於它們。

337 

338| 在每個儲存庫中 | 一個儲存庫 | 多個儲存庫 |

339| :----------------------------------------------- | :------------------------------------------------------------------------------------------ | :--------------------------------------------------- |

340| `CLAUDE.md` | 在執行緒啟動時載入 | 在執行緒啟動時從每個儲存庫載入 |

341| `.claude/` 下的技能、代理和命令 | 已載入 | 從每個儲存庫載入 |

342| 在 `.claude/settings.json` 中啟用的外掛程式 | 已載入 | 從每個儲存庫載入。如果兩個儲存庫對外掛程式意見不一致,請在**專案設定 > 外掛程式**中設定它,這優先 |

343| 在 `.claude/settings.json` 中定義的權限規則、hooks 和 `env` | 套用到執行緒,除了[沒有雲端工作階段遵守](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)的 `env` 鍵 | 不套用 |

344 

345在具有多個儲存庫的專案中,每個複製都附加到執行緒作為[其他目錄](/docs/zh-TW/memory#load-from-additional-directories),啟用了 `CLAUDE.md` 載入,這就是為什麼每個儲存庫的 `CLAUDE.md` 和技能在啟動時載入,儘管執行緒在它們上方啟動。在任何一種情況下,啟用的外掛程式提供的 hooks 仍然執行,因為外掛程式從每個儲存庫載入。在具有多個儲存庫的專案中,將常設規則放在專案指示中,並通過[雲端環境](#choose-an-environment-for-threads)為執行緒提供環境變數。

346 

347<h3 id="choose-an-environment-for-threads">

348 為執行緒選擇環境

349</h3>

350 

351每個新執行緒在專案的[雲端環境](/docs/zh-TW/cloud-environments)中啟動。環境設定執行緒可以到達哪些網域、它們有哪些環境變數、哪些 API 認證被新增到它們的請求,以及設定指令碼在 Claude 啟動前安裝什麼。執行緒使用預設的 Anthropic 託管環境,直到您在**專案設定 > 環境**中選擇一個。

352 

353如果執行緒需要到達內部 API 或私有套件登錄,或需要您的機器通常持有的令牌,請變更環境而不是專案:請參閱[網路存取](/docs/zh-TW/cloud-environments#network-access)、[新增 API 認證](/docs/zh-TW/cloud-environments#add-api-credentials)和[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts)。

354 

355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

356 將技能、外掛程式、連接器和工具引入執行緒

357</h3>

358 

359執行緒是雲端工作階段,因此它們沒有僅在您的機器上安裝的技能、MCP 伺服器、外掛程式和工具。要使這些中的每一個對執行緒可用:

360 

361* 技能、子代理和命令:將它們提交到您新增到專案的儲存庫,例如 `.claude/skills/<skill-name>/SKILL.md` 中的技能。每個執行緒複製專案中的每個儲存庫,並從每個儲存庫載入 `.claude/skills/`、`.claude/agents/` 和 `.claude/commands/`,因此提交到一個儲存庫的技能在每個新執行緒中可用。執行緒也載入您為 claude.ai 帳戶啟用的技能。

362* 外掛程式:在**專案設定 > 外掛程式**中新增它們;它們載入到每個新執行緒。儲存庫在其 `.claude/settings.json` 中宣告的外掛程式也載入;請參閱[什麼從您的設定中攜帶](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。

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

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

365 

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

367 

368<h2 id="project-settings-reference">

369 Project 設定參考

370</h2>

371 

372您在 claude.ai/code 或桌面應用程式中更改 project 設定,而不是在 `settings.json` 中。從 project 側邊欄功能表中的 **Settings** 或 project 標題中的齒輪圖示打開 **Project settings**。

373 

374設定在您更改時保存;您正在編輯的文本欄位,例如目標或指示,顯示 **Save changes** 和 **Discard**,直到您離開它。對指示、儲存庫、plugins 和 **Project settings** 中環境的更改到達新執行緒,而不是已在執行的執行緒。

375 

376| 設定 | 部分 | 它控制什麼 |

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

378| 名稱、圖示和目標 | General | project 在側邊欄中的名稱和圖示,以及其一行目標 |

379| Coordinator 模型和努力 | General | project 對話中 Claude 的模型和 [努力級別](/docs/zh-TW/model-config#adjust-effort-level) |

380| Thread 模型和努力 | General | 執行緒的模型和努力級別 |

381| Project 指示 | Memory | [常設規則](#give-a-project-standing-context) 每個新執行緒接收 |

382| Project 儲存庫 | Environment | 新執行緒克隆的儲存庫 |

383| 雲端環境 | Environment | 新執行緒執行的 [雲端環境](#choose-an-environment-for-threads) |

384| Connectors | Environment | 管理 claude.ai connectors 執行緒獲取的連結 |

385| Plugins | Plugins | 加載到每個新執行緒中的 plugins |

386| Usage | Usage | 按執行緒和模型的 [令牌使用](#usage-and-cost) |

387| Memory | Memory | project 的 [記憶檔案](#give-a-project-standing-context) |

388| Restart Claude | General | 當 [Claude 在那裡停止回應](#claude-hasnt-responded) 時重新啟動 project 對話 |

389| Pause、Archive、Delete | General | 停止、隱藏或移除 project;請參閱 [暫停、存檔或刪除 project](#pause-archive-or-delete-a-project) |

390 

391<h3 id="pause-archive-or-delete-a-project">

392 暫停、存檔或刪除 project

393</h3>

394 

395所有三個控制都在 **Project settings > General** 的底部:

396 

397* **Pause**:立即停止所有內容。每個執行中的執行緒和對話都被中斷,沒有新執行緒啟動,routines 不執行,project 在您恢復它之前不接受訊息。點擊相同位置或 project 訊息框上方的橫幅中的 **Resume**;暫停的執行緒在您之後發送訊息時繼續。

398* **Archive**:從側邊欄隱藏 project 並存檔其執行緒,這停止任何執行中或監視提取請求的執行緒。project 存檔時,project 中的 routines 不執行。要帶回 project,從 Projects 頁面打開它並點擊 **Unarchive**。其執行緒保持存檔,直到您從工作階段清單中單獨取消存檔它們。

399* **Delete**:永久移除 project 及其執行緒、其記憶和其檔案,並關閉 project 的 routines。這無法撤銷。執行緒推送到 GitHub 的分支和提取請求不受影響。

400 

401<h2 id="usage-and-cost">

402 使用和成本

403</h2>

404 

405Project 使用計入與您其他 Claude Code 工作階段相同的 [方案限制](/docs/zh-TW/errors#youve-hit-your-session-limit),project 無法自己超過這些限制。

406 

407到達您方案限制的執行緒等待並在限制重置時自己繼續,因此您留下執行的工作在您的下一個使用視窗中開始使用,無需來自您的訊息。[執行緒達到使用限制](#usage-limit-reached) 涵蓋了您看到的內容、如何停止它,以及不等待的一種情況。

408 

409工作僅在您為帳戶打開 [使用信用](/docs/zh-TW/costs#add-usage-credits-to-your-subscription) 時才超過您的方案限制。執行緒無法為您打開它們。

410 

411<h3 id="what-draws-on-your-plan">

412 什麼使用您的方案

413</h3>

414 

415Project 比單個工作階段更快地使用您的限制,特別是在 Pro 方案上,您應該期望在執行一個的日子裡更快到達您的限制。project 的這些部分使用您的方案:

416 

417* **執行中的執行緒**:每個都是一個完整的工作階段,多個可以同時執行。沒有固定數字;Claude 啟動工作需要的數量,您 [要求](#tune-how-claude-runs-a-project) 的限制是偏好而不是上限。強制執行的限制是每天跨您的 projects 200 個新執行緒。

418* **對話**:Claude 使用自己的令牌讀取執行緒報告的內容並決定下一步做什麼。

419* **執行緒監視提取請求**:空閒執行緒在 CI 失敗或審查評論到達其提取請求時喚醒並再次使用您的方案。要停止它,在執行緒中要求它停止監視提取請求。

420 

421沒有執行中的執行緒、沒有監視的提取請求和沒有新訊息的 project 在它閒置時不使用您的方案,存檔的 project 也不使用。

422 

423<h3 id="see-and-reduce-a-project’s-usage">

424 查看並減少 project 的使用

425</h3>

426 

427在 **Project settings** 中打開 **Usage** 以查看按執行緒和模型的令牌使用,以及多少進入 project 對話。要降低它:

428 

429* 路由到已閒置超過 [快取生命週期](/docs/zh-TW/prompt-caching#cache-lifetime)(Pro 和 Max 在您方案限制內為一小時)的執行緒的後續工作在執行任何操作之前重新讀取該執行緒的整個對話。對於新工作,要求 Claude 啟動新執行緒可以使用比復興大型舊執行緒更少。

430* 對於不需要最大模型的工作,[為執行緒、對話或兩者選擇較小的模型或較低的努力級別](#choose-models-and-let-claude-manage-context)。

431* 要求 Claude 在 project 對話中一次執行更少的執行緒,或自己回答小問題而不是啟動執行緒。

432 

433<h2 id="how-projects-relate-to-other-claude-code-features">

434 Projects 與其他 Claude Code 功能的關係

435</h2>

436 

437幾個 Claude Code 功能讓多個工作階段同時工作,因此平行執行工作本身不是 project 的用途。在 project 中,Claude 啟動並跟蹤工作階段而不是您,每個都從相同的儲存庫、指示和記憶開始,工作在雲端中只要它持續就存在。以下是每個相鄰功能如何連接到 project:

438 

439* **Claude Tag**:[Claude Tag](https://claude.com/docs/claude-tag/overview) 是您團隊 Slack 頻道中的 Claude,在 Team 和 Enterprise 方案上。頻道中的任何人都可以給它工作,頻道中的每個人都看到並引導它,它使用管理員為該頻道設定的連接。project 是您的:您是唯一給它工作或看到其執行緒的人,它使用您自己的 GitHub 存取和 connectors,它在 Pro 和 Max 上。[Claude Tag 與 Cowork 和 Claude Code 的不同之處](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) 有並排比較。

440* **雲端工作階段**:每個執行緒是一個 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),由 Claude 而不是您啟動和跟蹤。您自己啟動的雲端工作階段可以通過 [**Continue as a project** 或 **Move to project**](#start-from-an-existing-cloud-session) 成為 project 或提供一個。

441* **Routines**:當您在 project 中要求排程工作時,Claude 建立一個 [routine](/docs/zh-TW/routines),在該 project 中作為執行緒執行,並出現在其 **Routines** 標籤上。您在 project 外建立的 Routines 保持自己工作。

442* **本地工作階段和代理檢視**:您終端、IDE 或桌面應用程式本地環境中的工作階段在您的機器上執行,無法成為 project 的一部分。[代理檢視](/docs/zh-TW/agent-view) 是用於跟蹤多個那些本地工作階段的螢幕;它沒有協調者。

443* **Worktrees**:[worktree](/docs/zh-TW/worktrees) 給每個本地工作階段其自己的儲存庫工作副本,因此您機器上的平行工作階段不會相互覆蓋。執行緒不需要它們:每個執行緒將其儲存庫克隆到其自己的雲端沙箱中,並在自己的分支上工作。

444* **代理團隊**:[代理團隊](/docs/zh-TW/agent-teams) 是一個工作階段,為單個任務啟動隊友工作階段,在您的機器上或在雲端工作階段內,並以該任務結束。

445* **claude.ai 聊天和 Cowork 中的 Projects**:[早期 Projects 體驗](https://support.claude.com/en/articles/9517075-what-are-projects),它對話和參考檔案進行分組,沒有執行緒或協調者。那些 projects 保持今天的工作方式,直到重新設計的體驗到達它們。

446 

447[平行執行代理](/docs/zh-TW/agents) 並排比較這些選項。

448 

449<h2 id="limitations">

450 限制

451</h2>

452 

453* Projects 在 claude.ai/code、桌面應用程式和 Claude 行動應用程式中可用,不在終端 CLI 或通過 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 中。CLI 的 [`claude project`](/docs/zh-TW/cli-reference) 命令,它管理目錄的本地 Claude Code 狀態,是無關的。

454* Project 執行緒是 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),Anthropic 作為模型提供者。[安全](/docs/zh-TW/security) 和 [資料使用](/docs/zh-TW/data-usage) 涵蓋了雲端工作階段如何隔離以及保留什麼。

455* 本地工作階段無法成為 project 的一部分。

456* 執行緒的沙箱在轉換之間暫停,並在執行緒繼續時恢復。如果沙箱無法恢復,執行緒從新克隆繼續,因此未提交的變更可能會丟失。在長任務上,要求 Claude 提交並推送進行中的工作。

457* project 屬於一個使用者。您無法與另一個使用者共享 project 或其執行緒,執行緒記錄沒有其他雲端工作階段具有的共享選項。在測試版期間,projects 沒有組織級控制。

458* 執行緒屬於啟動它的一個 project。您無法將執行緒移動或複製到另一個 project,或將其移出以獨立存在。[**Move to project**](#start-from-an-existing-cloud-session) 僅以另一種方式進行:它將雲端工作階段的工作帶入 project。

459 

460<h2 id="troubleshooting">

461 故障排除

462</h2>

463 

464對於 **New project** 對話框中的 GitHub 設定提示,請參閱 [設定 GitHub 存取](#set-up-github-access)。

465 

466<h3 id="a-thread-looks-stuck">

467 執行緒看起來卡住了

468</h3>

469 

470Claude 不發佈執行緒採取的每一步,因此顯示為執行中且 project 對話中沒有新訊息的執行緒通常仍在工作。新執行緒也在 Claude 開始之前配置其 [雲端環境](/docs/zh-TW/cloud-environments),因此其第一次更新需要片刻。打開執行緒讀取其記錄。如果執行緒正在等待權限提示,在那裡回答它。

471 

472<h3 id="threads-guessed-or-stalled-instead-of-asking">

473 執行緒猜測或停滯而不是詢問

474</h3>

475 

476當多個執行緒回來假設了錯誤的內容、解決了缺失的存取或停止了「被阻止」,原因通常是 project 設定中的相同間隙,而不是每個任務的問題。在修復任何內容之前排序哪些執行緒是健全的:

477 

4781. 在對話中要求 Claude:「對於每個打開的執行緒,列出您要求它做什麼、它假設或無法到達的內容,以及它正在等待什麼。」Claude 讀取每個執行緒並在對話中回答。

4792. 對於從錯誤假設開始的執行緒,從 **Overview** 打開執行緒並從其功能表標記為已解決,或在其訊息框中告訴它改為做什麼。其分支和任何提取請求保留在 GitHub 上,直到您刪除它們。

4803. 在 [project 指示](#give-a-project-standing-context) 或 [環境](#choose-an-environment-for-threads) 中修復間隙一次,然後在再次發送其餘工作作為新執行緒之前發送一個執行緒。

481 

482<h3 id="claude-hasnt-responded">

483 Claude 還沒有回應

484</h3>

485 

486當 Claude 執行但其回覆未到達 project 時,project 對話顯示「Claude hasn't responded」橫幅。點擊橫幅上的 **Restart Claude**,或前往 **Project settings > General** 並在 **Restart Claude** 行中點擊 **Restart**。Claude 重新連接到對話;它正在寫的任何回覆都丟失,執行緒不受影響。

487 

488<h3 id="repository-access-errors">

489 儲存庫存取錯誤

490</h3>

491 

492三條訊息意味著執行緒或 project 無法到達其儲存庫之一。project 執行緒需要 [GitHub 先決條件](#check-the-prerequisites),即使您的其他雲端工作階段克隆相同儲存庫而沒有麻煩。

493 

494* **「Couldn't start the session — Claude doesn't have GitHub access to this project's repository」**,在執行緒啟動之前報告,當 Claude GitHub App 未安裝在該儲存庫上、已暫停或未連結到您連接的 GitHub 帳戶時。

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

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

497 

498要修復任何一個,點擊訊息提供的按鈕,例如 **Install GitHub App** 或 **Select repositories on GitHub**,然後 **Check again**。當塊在 GitHub 組織一側時,例如尚未批准應用程式的所有者或排除 Claude 的 IP 允許清單,訊息改為顯示 **See how to fix** 連結。如果沒有按鈕,請遵循 [設定 GitHub 存取](#set-up-github-access),然後發送另一條訊息重試。

499 

500<h3 id="usage-limit-reached">

501 執行緒達到使用限制

502</h3>

503 

504當執行緒或 project 對話達到您方案的五小時或每週限制時,它自己保持重試並在限制重置時繼續。在它等待時,執行緒顯示 **Service is busy**,帶有「Claude is still retrying and will continue automatically。」您不需要做任何事情讓工作繼續。如果您寧願它不使用您的下一個使用視窗,點擊執行緒中的 **Stop**,或 [暫停 project](#pause-archive-or-delete-a-project) 以保持每個執行緒。routine 啟動的執行緒不等待:其轉換停止,帶有限制錯誤,您在限制重置後發送它訊息。

505 

506[使用限制錯誤](/docs/zh-TW/errors#youve-hit-your-session-limit) 解釋了限制以及何時重置。

507 

508<h3 id="additional-usage-credits-are-required">

509 需要額外的使用信用

510</h3>

511 

512執行緒或 project 對話發出了您的方案僅使用使用信用涵蓋的請求,例如對您的方案不包括的模型或上下文大小的請求,並且使用信用未為您的帳戶打開。[將使用信用添加到您的訂閱](/docs/zh-TW/costs#add-usage-credits-to-your-subscription) 涵蓋了誰可以在每個方案上打開或購買它們。一旦信用可用,發送另一條訊息重試。

513 

514<h3 id="context-limit">

515 其他訊息

516</h3>

517 

518這些訊息命名它們自己的原因。表格為每個提供下一步。

519 

520| 訊息 | 要做什麼 |

521| :------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------- |

522| 「Unable to connect to repository」,帶有「Claude couldn't reach GitHub to fetch your repository」 | 等待片刻,然後發送另一條訊息重試 |

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

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

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

526| 「Setup script failed」 | 點擊錯誤上的 **Edit setup script**,在環境中修復指令碼,然後發送另一條訊息。[設定指令碼失敗](/docs/zh-TW/web-quickstart#setup-script-failed) 列出常見原因 |

527| 「Claude ran out of context on this turn」 | 執行緒填滿了其上下文視窗。如果訊息說執行緒在新工作階段中繼續,它自己進行;否則在 project 對話中要求 Claude 為剩餘工作啟動新執行緒 |

528| 「Reached the turn limit」 | 執行緒達到了 [`CLAUDE_CODE_MAX_TURNS`](/docs/zh-TW/env-vars) 設定的代理轉換上限。發送另一條訊息繼續,或在設定它的地方提高或移除該變數 |

529 

530<h2 id="related-resources">

531 相關資源

532</h2>

533 

534* [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web):每個執行緒後面的雲端工作階段如何工作,包括 GitHub 存取選項和提取請求上的 auto-fix

535* [配置雲端環境](/docs/zh-TW/cloud-environments):更改執行緒可以在網路上到達的內容、給予它們環境變數和 API 認證,以及使用設定指令碼安裝工具

536* [使用 routines 自動化工作](/docs/zh-TW/routines):routines 的時間表、觸發器和管理,包括 Claude 從 project 建立的

537* [使用代理檢視管理多個代理](/docs/zh-TW/agent-view):當工作需要只有您的機器才能到達的工具或服務時,在您自己的機器上執行和跟蹤多個工作階段

538* [Projects 重新設計:從資料夾到對話](https://claude.com/blog/projects-redesigned):啟動公告,帶有使 project 成為與 Claude 對話的思考

Details

78| `--bg`、`--background` | 以 [background agent](/docs/zh-TW/agent-view) 身份啟動工作階段並立即返回。列印工作階段 ID 和管理命令。與 `--exec` 結合以執行 shell 命令作為背景工作而不是 Claude 工作階段,或與 `--agent` 結合以執行特定 subagent。無法與 `-p`/`--print` 結合;請參閱 [error reference](/docs/zh-TW/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |78| `--bg`、`--background` | 以 [background agent](/docs/zh-TW/agent-view) 身份啟動工作階段並立即返回。列印工作階段 ID 和管理命令。與 `--exec` 結合以執行 shell 命令作為背景工作而不是 Claude 工作階段,或與 `--agent` 結合以執行特定 subagent。無法與 `-p`/`--print` 結合;請參閱 [error reference](/docs/zh-TW/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

79| `--channels` | (研究預覽)MCP servers,其 [channel](/docs/zh-TW/channels) 通知 Claude 應在此工作階段中監聽。以空格分隔的 `plugin:<name>@<marketplace>` 項目清單。需要透過 claude.ai 或 Console API 金鑰進行 Anthropic 驗證 | `claude --channels plugin:my-notifier@my-marketplace` |79| `--channels` | (研究預覽)MCP servers,其 [channel](/docs/zh-TW/channels) 通知 Claude 應在此工作階段中監聽。以空格分隔的 `plugin:<name>@<marketplace>` 項目清單。需要透過 claude.ai 或 Console API 金鑰進行 Anthropic 驗證 | `claude --channels plugin:my-notifier@my-marketplace` |

80| `--chrome` | 啟用 [Chrome 瀏覽器整合](/docs/zh-TW/chrome) 以進行網頁自動化和測試 | `claude --chrome` |80| `--chrome` | 啟用 [Chrome 瀏覽器整合](/docs/zh-TW/chrome) 以進行網頁自動化和測試 | `claude --chrome` |

81| `--cloud` | 使用工作描述在 claude.ai 上建立新的 [web session](/docs/zh-TW/claude-code-on-the-web)。使用工作階段 ID(`session_...` 或 `cse_...`)或 claude.ai/code URL,改為使用 `-p` 將訊息佇列到該現有工作階段。請參閱 [send a follow-up message](/docs/zh-TW/claude-code-on-the-web#send-follow-ups-from-the-cli)。 | `claude --cloud "Fix the login bug"` |81| `--cloud` | 使用工作描述在 claude.ai 上建立新的 [cloud session](/docs/zh-TW/claude-code-on-the-web)。使用工作階段 ID(`session_...` 或 `cse_...`)或 claude.ai/code URL,改為使用 `-p` 將訊息佇列到該現有工作階段。請參閱 [send a follow-up message](/docs/zh-TW/claude-code-on-the-web#send-follow-ups-from-the-cli)。 | `claude --cloud "Fix the login bug"` |

82| `--continue`、`-c` | 載入目前目錄中最近的對話,包括 [已完成的 background session](/docs/zh-TW/sessions#resume-a-session);開啟已完成的背景工作階段需要 Claude Code v2.1.257 或更新版本。跳過使用 `claude -p` 或 Agent SDK 建立的工作階段,以及第一個提示為 `/loop` 的工作階段。`claude -p --continue` 包括 `-p`、SDK 和 `/loop` 工作階段。包括使用 `/add-dir` 新增此目錄的工作階段 | `claude --continue` |82| `--continue`、`-c` | 載入目前目錄中最近的對話,包括 [已完成的 background session](/docs/zh-TW/sessions#resume-a-session);開啟已完成的背景工作階段需要 Claude Code v2.1.257 或更新版本。跳過使用 `claude -p` 或 Agent SDK 建立的工作階段,以及第一個提示為 `/loop` 的工作階段。`claude -p --continue` 包括 `-p`、SDK 和 `/loop` 工作階段。包括使用 `/add-dir` 新增此目錄的工作階段 | `claude --continue` |

83| `--dangerously-load-development-channels` | 啟用不在核准允許清單上的 [channels](/docs/zh-TW/channels-reference#test-during-the-research-preview),用於本機開發。接受 `plugin:<name>@<marketplace>` 和 `server:<name>` 項目。提示確認 | `claude --dangerously-load-development-channels server:webhook` |83| `--dangerously-load-development-channels` | 啟用不在核准允許清單上的 [channels](/docs/zh-TW/channels-reference#test-during-the-research-preview),用於本機開發。接受 `plugin:<name>@<marketplace>` 和 `server:<name>` 項目。提示確認 | `claude --dangerously-load-development-channels server:webhook` |

84| `--dangerously-skip-permissions` | 略過權限提示。等同於 `--permission-mode bypassPermissions`。請參閱 [permission modes](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode) 以了解此操作會和不會略過的內容。對於以 `--bg` 啟動的工作階段,該模式 [在監督者重新啟動工作階段時持續](/docs/zh-TW/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |84| `--dangerously-skip-permissions` | 略過權限提示。等同於 `--permission-mode bypassPermissions`。請參閱 [permission modes](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode) 以了解此操作會和不會略過的內容。對於以 `--bg` 啟動的工作階段,該模式 [在監督者重新啟動工作階段時持續](/docs/zh-TW/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |


133| `--system-prompt` | 用自訂文字取代整個系統提示 | `claude --system-prompt "You are a Python expert"` |133| `--system-prompt` | 用自訂文字取代整個系統提示 | `claude --system-prompt "You are a Python expert"` |

134| `--system-prompt-file` | 從檔案載入系統提示,取代預設提示 | `claude --system-prompt-file ./custom-prompt.txt` |134| `--system-prompt-file` | 從檔案載入系統提示,取代預設提示 | `claude --system-prompt-file ./custom-prompt.txt` |

135| `--system-prompt-snapshot` | 傳遞 `off` 以在每個請求上重建系統提示,而不是重複使用 [在對話的第一個請求上記錄](#system-prompt-flags-in-resumed-conversations)的提示,例如當您在 `--continue` 執行中反覆進行 `--append-system-prompt` 文字時。需要 Claude Code v2.1.257 或更新版本 | `claude --system-prompt-snapshot off` |135| `--system-prompt-snapshot` | 傳遞 `off` 以在每個請求上重建系統提示,而不是重複使用 [在對話的第一個請求上記錄](#system-prompt-flags-in-resumed-conversations)的提示,例如當您在 `--continue` 執行中反覆進行 `--append-system-prompt` 文字時。需要 Claude Code v2.1.257 或更新版本 | `claude --system-prompt-snapshot off` |

136| `--teleport` | 在本機終端中繼續 [web session](/docs/zh-TW/claude-code-on-the-web) | `claude --teleport` |136| `--teleport` | 在本機終端中繼續 [cloud session](/docs/zh-TW/claude-code-on-the-web) | `claude --teleport` |

137| `--teammate-mode` | 設定 [agent team](/docs/zh-TW/agent-teams) 隊友的顯示方式:`in-process`(預設)、`auto`、`tmux` 或 `iterm2`(在 v2.1.186 中新增)。覆蓋此工作階段的 [`teammateMode`](/docs/zh-TW/settings-reference#teammatemode) 設定。請參閱 [Choose a display mode](/docs/zh-TW/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |137| `--teammate-mode` | 設定 [agent team](/docs/zh-TW/agent-teams) 隊友的顯示方式:`in-process`(預設)、`auto`、`tmux` 或 `iterm2`(在 v2.1.186 中新增)。覆蓋此工作階段的 [`teammateMode`](/docs/zh-TW/settings-reference#teammatemode) 設定。請參閱 [Choose a display mode](/docs/zh-TW/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |

138| `--tmux` | 為 worktree 建立 tmux 工作階段。需要 `--worktree`。在可用時使用 iTerm2 原生窗格;傳遞 `--tmux=classic` 以使用傳統 tmux | `claude -w feature-auth --tmux` |138| `--tmux` | 為 worktree 建立 tmux 工作階段。需要 `--worktree`。在可用時使用 iTerm2 原生窗格;傳遞 `--tmux=classic` 以使用傳統 tmux | `claude -w feature-auth --tmux` |

139| `--tools` | 限制 Claude 可以使用的內建工具。使用 `""` 停用全部、`"default"` 為預設集合,或工具名稱如 `"Bash,Edit,Read"`。在 macOS、Linux 和 WSL 上,預設集合會排除 `Glob` 和 `Grep`,如 [Glob tool behavior](/docs/zh-TW/tools-reference#glob-tool-behavior) 下所述。如果您在此命名其中一個 [task-tracking tools](/docs/zh-TW/tools-reference#task-tool-availability),Claude Code 也會選擇加入工作階段。旗標不會影響 MCP tools;若要拒絕這些工具,請改用 `--disallowedTools "mcp__*"`。省略 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 的清單不會移除它;`""` 僅在沒有 MCP tools 保持時移除它 | `claude --tools "Bash,Edit,Read"` |139| `--tools` | 限制 Claude 可以使用的內建工具。使用 `""` 停用全部、`"default"` 為預設集合,或工具名稱如 `"Bash,Edit,Read"`。在 macOS、Linux 和 WSL 上,預設集合會排除 `Glob` 和 `Grep`,如 [Glob tool behavior](/docs/zh-TW/tools-reference#glob-tool-behavior) 下所述。如果您在此命名其中一個 [task-tracking tools](/docs/zh-TW/tools-reference#task-tool-availability),Claude Code 也會選擇加入工作階段。旗標不會影響 MCP tools;若要拒絕這些工具,請改用 `--disallowedTools "mcp__*"`。省略 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 的清單不會移除它;`""` 僅在沒有 MCP tools 保持時移除它 | `claude --tools "Bash,Edit,Read"` |


167 167 

168預設情況下,Claude Code 在對話的第一個請求上建立系統提示一次,應用任何系統提示旗標中的文字,並在工作階段中記錄它。在對話被壓縮之前,每個稍後的請求都會使用該記錄的提示,包括在您使用 `--resume` 或 `--continue` 返回對話後。如果您在該稍後的啟動上傳遞不同的系統提示旗標文字或沒有,它會在對話被壓縮或您啟動新對話時生效。168預設情況下,Claude Code 在對話的第一個請求上建立系統提示一次,應用任何系統提示旗標中的文字,並在工作階段中記錄它。在對話被壓縮之前,每個稍後的請求都會使用該記錄的提示,包括在您使用 `--resume` 或 `--continue` 返回對話後。如果您在該稍後的啟動上傳遞不同的系統提示旗標文字或沒有,它會在對話被壓縮或您啟動新對話時生效。

169 169 

170如果您以 [bare mode](/docs/zh-TW/headless#start-faster-with-bare-mode) 啟動 Claude Code,透過傳遞 `--bare` 或設定 `CLAUDE_CODE_SIMPLE=1`,記錄會保持關閉,除非您傳遞 `--system-prompt-snapshot on`。在 v2.1.268 之前,不 [fetch feature flags](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) 的工作階段(包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的工作階段)在每個請求上重建提示,`--system-prompt-snapshot` 無效。170在 [cloud sessions](/docs/zh-TW/cloud-environments) 之外,如果您以 [bare mode](/docs/zh-TW/headless#start-faster-with-bare-mode) 啟動 Claude Code,透過傳遞 `--bare` 或設定 `CLAUDE_CODE_SIMPLE=1`,記錄會保持關閉,除非您傳遞 `--system-prompt-snapshot on`。在 v2.1.268 之前,不 [fetch feature flags](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) 的工作階段(包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的工作階段)在每個請求上重建提示,`--system-prompt-snapshot` 無效。

171 171 

172若要改為在每個請求上重建提示,例如當您在 `--continue` 執行中反覆進行其措辭時,請傳遞 `--system-prompt-snapshot off`。在 v2.1.265 之前,傳遞任何系統提示旗標也會關閉記錄,除非您傳遞 `--system-prompt-snapshot on`。172若要改為在每個請求上重建提示,例如當您在 `--continue` 執行中反覆進行其措辭時,請傳遞 `--system-prompt-snapshot off`。在 v2.1.265 之前,傳遞任何系統提示旗標也會關閉記錄,除非您傳遞 `--system-prompt-snapshot on`。

173 173 

Details

7> 為 Claude Code 雲端工作階段設定雲端環境:網路存取層級、環境變數、設定指令碼和環境快取。7> 為 Claude Code 雲端工作階段設定雲端環境:網路存取層級、環境變數、設定指令碼和環境快取。

8 8 

9<Note>9<Note>

10 雲端環境需要 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web),該功能目前處於研究預覽階段,適用於 Pro、Max 和 Team 使用者,以及具有 [premium seats 或 Chat + Claude Code seats](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) 的 Enterprise 使用者。10 雲端環境適用於 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),該功能目前處於研究預覽階段,適用於 Pro、Max 和 Team 使用者,以及具有 [premium seats 或 Chat + Claude Code seats](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) 的 Enterprise 使用者。

11</Note>11</Note>

12 12 

13每個 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web) 都在雲端環境中執行。您可以設定環境以允許或拒絕 [網路存取](#access-levels)、[為工作階段設定環境變數](#set-environment-variables),在 Pro 和 Max 方案上儲存工作階段使用的 [API 認證](#add-api-credentials) 而不會看到它們,以及在 Claude 開始工作前執行 [設定指令碼](#setup-scripts)。13每個 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web) 都在雲端環境中執行。您可以設定環境以允許或拒絕 [網路存取](#access-levels)、[為工作階段設定環境變數](#set-environment-variables),在 Pro 和 Max 方案上儲存工作階段使用的 [API 認證](#add-api-credentials) 而不會看到它們,以及在 Claude 開始工作前執行 [設定指令碼](#setup-scripts)。

14 14 

15相同的環境適用於您啟動雲端工作階段的任何地方:[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web)、終端機搭配 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web)、[Claude Tag](https://claude.com/docs/claude-tag/overview)、[routines](/docs/zh-TW/routines)、[Claude 行動應用程式](/docs/zh-TW/mobile) 和 [Desktop 應用程式](/docs/zh-TW/desktop)。這些介面中的每一個也可以路由到 [自託管環境](/docs/zh-TW/self-hosted-environments)。[可用性和限制](/docs/zh-TW/self-hosted-environments#availability-and-limitations) 涵蓋當 Claude Tag 工作階段在其中執行時 Claude 尚無法使用的內容。15相同的環境適用於您啟動雲端工作階段的任何地方:[Desktop 應用程式](/docs/zh-TW/desktop)、[Claude 行動應用程式](/docs/zh-TW/mobile)、您的瀏覽器在 [claude.ai/code](https://claude.ai/code)、終端機搭配 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud)、[routines](/docs/zh-TW/routines) 和 [Claude Tag](https://claude.com/docs/claude-tag/overview)。這些介面中的每一個也可以路由到 [自託管環境](/docs/zh-TW/self-hosted-environments)。[可用性和限制](/docs/zh-TW/self-hosted-environments#availability-and-limitations) 涵蓋當 Claude Tag 工作階段在其中執行時 Claude 尚無法使用的內容。

16 16 

17<Info>17<Info>

18 [Remote Control](/docs/zh-TW/remote-control) 工作階段將網頁和行動介面連接到您自己機器上的工作階段,該工作階段使用您機器的網路和檔案,而不是雲端環境。Claude Tag 頻道工作階段僅使用組織層級環境,可以是 [共用環境](#organization-shared-environments) 或 [自託管環境](/docs/zh-TW/self-hosted-environments)。18 [Remote Control](/docs/zh-TW/remote-control) 工作階段將網頁和行動介面連接到您自己機器上的工作階段,該工作階段使用您機器的網路和檔案,而不是雲端環境。Claude Tag 頻道工作階段僅使用組織層級環境,可以是 [共用環境](#organization-shared-environments) 或 [自託管環境](/docs/zh-TW/self-hosted-environments)。


26 26 

27* **CLI 流程(例如 `/web-setup`)**:為您建立 **Default**27* **CLI 流程(例如 `/web-setup`)**:為您建立 **Default**

28* **Pro 和 Max 上的網頁上線設定**:為您建立 **Default**28* **Pro 和 Max 上的網頁上線設定**:為您建立 **Default**

29* **Team 和 Enterprise 上的網頁上線設定**:顯示 **Create your first cloud environment** 表單,除非管理員已開啟[快速網頁設定](/docs/zh-TW/claude-code-on-the-web#github-authentication-options);保持表單的預設值並點擊 **Create & finish** 以取得相同的 **Default** 環境29* **Team 和 Enterprise 上的網頁上線設定**:顯示 **Create your first cloud environment** 表單,除非擁有者已開啟[快速網頁設定](/docs/zh-TW/claude-code-on-the-web#github-authentication-options);保持表單的預設值並點擊 **Create & finish** 以取得相同的 **Default** 環境

30 30 

31**Default** 本身不帶有任何設定:31**Default** 本身不帶有任何設定:

32 32 


35 35 

36只有 **Default** 可用時,每個工作階段都在其中執行。當您有多個環境時,工作階段會根據介面選擇一個:36只有 **Default** 可用時,每個工作階段都在其中執行。當您有多個環境時,工作階段會根據介面選擇一個:

37 37 

38* 在網頁、桌面應用程式和行動應用程式上,工作階段使用[選擇器](#configure-your-environment)中顯示的環境。當您尚未選擇時,管理員設定的[組織預設](#organization-shared-environments)會填入選擇。38* 在桌面應用程式、行動應用程式和 claude.ai/code 上,您自己啟動的工作階段使用[選擇器](#configure-your-environment)中顯示的環境。當您尚未選擇時,擁有者設定的[組織預設](#organization-shared-environments)會填入選擇。[專案](/docs/zh-TW/claude-projects#project-settings-reference)中的執行緒改用專案設定中設定的環境。

39* 從 CLI,Claude Code 使用您的 [`/remote-env` 選擇](#select-an-environment-from-the-cli),或在您的清單有一個時回退到 Anthropic 託管的環境,否則回退到您清單中第一個不是橋接環境的環境,即 [Remote Control](/docs/zh-TW/remote-control) 登錄以代表您自己的機器而非雲端環境的項目。對於[自託管環境](/docs/zh-TW/self-hosted-environments),在[分派工作階段](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop)時使用其 `ccpool_` ID 傳遞 `--environment <environment-id>` 會覆蓋該調用的 `/remote-env` 選擇和回退。Claude Code 拒絕傳遞給該旗標的 Anthropic 託管 `env_` ID,因此使用 `/remote-env` 來定位這些。該旗標需要 Claude Code v2.1.224 或更新版本。39* 從 CLI,Claude Code 使用您的 [`/remote-env` 選擇](#select-an-environment-from-the-cli),或在您的清單有一個時回退到 Anthropic 託管的環境,否則回退到您清單中第一個不是橋接環境的環境,即 [Remote Control](/docs/zh-TW/remote-control) 登錄以代表您自己的機器而非雲端環境的項目。對於[自託管環境](/docs/zh-TW/self-hosted-environments),在[分派工作階段](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop)時使用其 `ccpool_` ID 傳遞 `--environment <environment-id>` 會覆蓋該調用的 `/remote-env` 選擇和回退。Claude Code 拒絕傳遞給該旗標的 Anthropic 託管 `env_` ID,因此使用 `/remote-env` 來定位這些。該旗標需要 Claude Code v2.1.224 或更新版本。

40 40 

41當預設不夠時,請設定環境:當 Claude 需要到達[預設允許清單](#default-allowed-domains)之外的網域、需要為其工作階段設定環境變數,或需要在開始工作前安裝相依性時。41當預設不夠時,請設定環境:當 Claude 需要到達[預設允許清單](#default-allowed-domains)之外的網域、需要為其工作階段設定環境變數,或需要在開始工作前安裝相依性時。


80 80 

81每個工作階段在啟動時將環境的值複製一次到普通環境變數中,Claude 執行的任何命令都可以讀取。由於執行中的工作階段不會重新讀取設定,編輯或新增變數會影響您之後啟動的工作階段;已執行的工作階段會保留它們啟動時的值。81每個工作階段在啟動時將環境的值複製一次到普通環境變數中,Claude 執行的任何命令都可以讀取。由於執行中的工作階段不會重新讀取設定,編輯或新增變數會影響您之後啟動的工作階段;已執行的工作階段會保留它們啟動時的值。

82 82 

83Claude Code 在網路上也會在啟動工作階段時自行設定一些變數。對於 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-TW/claude-code-on-the-web#manage-context),Claude Code 在網路上設定的值會覆蓋您在此新增的值,因此在此新增該金鑰沒有效果。83雲端工作階段在啟動時也會自行設定一些變數。對於 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-TW/claude-code-on-the-web#manage-context),工作階段設定的值會覆蓋您在此新增的值,因此在此新增該金鑰沒有效果。

84 84 

85使用該環境的任何人都可以讀取這些值。在 Pro 和 Max 方案上,改為使用 [API 認證](#add-api-credentials)來取得代理程式可以附加到請求的金鑰。[永遠不會取得認證的請求](#requests-that-never-get-the-credential)列在那裡。85使用該環境的任何人都可以讀取這些值。在 Pro 和 Max 方案上,改為使用 [API 認證](#add-api-credentials)來取得代理程式可以附加到請求的金鑰。[永遠不會取得認證的請求](#requests-that-never-get-the-credential)列在那裡。

86 86 


147代理程式永遠不會將您新增的認證附加到這些請求:147代理程式永遠不會將您新增的認證附加到這些請求:

148 148 

149* **GitHub**:[GitHub 代理程式](#github-proxy)改為驗證對 GitHub 的請求,因此您不需要為其提供 API 認證149* **GitHub**:[GitHub 代理程式](#github-proxy)改為驗證對 GitHub 的請求,因此您不需要為其提供 API 認證

150* **Anthropic API 和公開套件登錄**:`api.anthropic.com`、`registry.npmjs.org`、`jsr.io`、`npm.jsr.io`、`pypi.org`、`files.pythonhosted.org`、`index.crates.io` 和 `proxy.golang.org` — 代理程式永遠不會將您新增的認證附加到對這些主機的請求150* **Anthropic API 和公開套件登錄**:`api.anthropic.com`、`registry.npmjs.org`、`jsr.io`、`npm.jsr.io`、`pypi.org`、`files.pythonhosted.org`、`index.crates.io` 和 `proxy.golang.org`

151* **設定指令碼請求**:Claude Code 在啟動時連線到代理程式,在[設定指令碼](#setup-scripts)執行後151* **設定指令碼請求**:Claude Code 在啟動時連線到代理程式,在[設定指令碼](#setup-scripts)執行後

152 152 

153<h3 id="select-an-environment-from-the-cli">153<h3 id="select-an-environment-from-the-cli">

154 從 CLI 選擇環境154 從 CLI 選擇環境

155</h3>155</h3>

156 156 

157在您的終端中執行 `/remote-env` 以選擇您從 CLI 建立的雲端工作階段的預設環境,例如 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web)。該命令開啟現有環境的選擇器,並將您的選擇儲存到[使用者設定](/docs/zh-TW/settings#where-settings-live)中的 `remote.defaultEnvironmentId` 金鑰,因此它適用於您機器上的每個專案,直到您變更它,除非在更高優先順序的[設定層](/docs/zh-TW/settings#settings-precedence)(例如儲存庫的專案設定)上設定相同的金鑰。157在您的終端中執行 `/remote-env` 以選擇您從 CLI 建立的雲端工作階段的預設環境,例如 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud)。該命令開啟現有環境的選擇器,並將您的選擇儲存到[使用者設定](/docs/zh-TW/settings#where-settings-live)中的 `remote.defaultEnvironmentId` 金鑰,因此它適用於您機器上的每個專案,直到您變更它,除非在更高優先順序的[設定層](/docs/zh-TW/settings#settings-precedence)(例如儲存庫的專案設定)上設定相同的金鑰。

158 158 

159[自託管環境](/docs/zh-TW/self-hosted-environments) ID(形式為 `ccpool_...`)遵循更嚴格的來源規則。請參閱 [`remote.defaultEnvironmentId`](/docs/zh-TW/settings-reference#remote-defaultenvironmentid) 以了解 Claude Code 從中接受它的設定層。159[自託管環境](/docs/zh-TW/self-hosted-environments) ID(形式為 `ccpool_...`)遵循更嚴格的來源規則。請參閱 [`remote.defaultEnvironmentId`](/docs/zh-TW/settings-reference#remote-defaultenvironmentid) 以了解 Claude Code 從中接受它的設定層。

160 160 


201若要變更環境的網路存取,[開啟它進行編輯](#configure-your-environment)並在對話框中使用 **Network access** 選擇器。開啟選擇器的雲端圖示出現在[Default 環境](#the-default-environment)下列出的應用程式表面上,以及在[例行編輯器](/docs/zh-TW/routines#environments-and-network-access)中;個人環境在您的 claude.ai 帳戶設定中沒有單獨的頁面。201若要變更環境的網路存取,[開啟它進行編輯](#configure-your-environment)並在對話框中使用 **Network access** 選擇器。開啟選擇器的雲端圖示出現在[Default 環境](#the-default-environment)下列出的應用程式表面上,以及在[例行編輯器](/docs/zh-TW/routines#environments-and-network-access)中;個人環境在您的 claude.ai 帳戶設定中沒有單獨的頁面。

202 202 

203<Note>203<Note>

204 您在工作階段或例行上啟用的 MCP 連接器無需將其主機新增到 **Allowed domains**,因為連接器流量透過 Anthropic 的伺服器而不是工作階段的網路傳輸。您可以按工作階段或按例行配置連接器;移除任何您不需要的連接器,以限制 Claude 可以到達的工具。這依賴於[安全性和隔離](/docs/zh-TW/claude-code-on-the-web#security-and-isolation)下提到的相同 Anthropic 繫結通道。204 您在工作階段或例行上啟用的 MCP 連接器無需將其主機新增到 **Allowed domains**,因為連接器流量透過 Anthropic 的伺服器而不是工作階段的網路傳輸。這依賴於[安全性和隔離](/docs/zh-TW/claude-code-on-the-web#security-and-isolation)下提到的相同 Anthropic 繫結通道。關閉任何您不需要的連接器,以限制 Claude 可以到達的工具。

205</Note>205</Note>

206 206 

207<h3 id="access-levels">207<h3 id="access-levels">


243* **此環境中的工作階段開啟另一個組織的公開成品**:Claude Code 直接從主機擷取這些成品,因此將其新增到此清單。243* **此環境中的工作階段開啟另一個組織的公開成品**:Claude Code 直接從主機擷取這些成品,因此將其新增到此清單。

244* **您正在配置本機 CLI 或自託管執行器**:在該允許清單中保留主機。請參閱[網路存取需求](/docs/zh-TW/network-config#network-access-requirements)和自託管[網路需求](/docs/zh-TW/self-hosted-environments-deploy#network-requirements)。244* **您正在配置本機 CLI 或自託管執行器**:在該允許清單中保留主機。請參閱[網路存取需求](/docs/zh-TW/network-config#network-access-requirements)和自託管[網路需求](/docs/zh-TW/self-hosted-environments-deploy#network-requirements)。

245 245 

246每個環境都有自己的允許網域清單;沒有組織層級的允許清單可供管理員推送到每個成員的環境。[伺服器管理的設定](/docs/zh-TW/server-managed-settings)仍適用於雲端工作階段內,但其中沒有任何設定會將網域新增到環境的網路允許清單。246每個環境都有自己的允許網域清單;沒有組織層級的允許清單可供管理員推送到每個成員的環境。[伺服器管理的設定](/docs/zh-TW/server-managed-settings)仍適用於雲端工作階段內,但其中沒有任何設定會將網域新增到環境的網路允許清單。若要為團隊提供一個標準清單,擁有者可以建立一個[組織共用環境](#organization-shared-environments),具有 **Custom** 網路存取和該清單。

247 247 

248<h3 id="github-proxy">248<h3 id="github-proxy">

249 GitHub 代理249 GitHub 代理


274 雲端工作階段中可用的內容274 雲端工作階段中可用的內容

275</h2>275</h2>

276 276 

277在 Anthropic 託管的環境中,每個工作階段都會取得執行 Ubuntu 24.04 的全新虛擬機器 (VM),無論您自己的作業系統和 CPU 架構為何,您的儲存庫已複製,常見的工具鏈已預先安裝。當相依性提供預先編譯的二進位檔案(例如具有原生擴充功能的 Ruby gems 或預先建置的 Python wheels)時,請使用其 x86\_64 Linux 建置以符合 VM。本節涵蓋 Anthropic 託管的預設值、內建 GitHub 工具、如何 [執行測試和服務](#run-tests-start-services-and-add-packages),以及每個 VM 取得的 [資源限制](#resource-limits)。277在 Anthropic 託管的環境中,每個工作階段都會取得執行 Ubuntu 24.04 的全新虛擬機器 (VM)(x86\_64 架構),無論您自己的作業系統和 CPU 架構為何,您的儲存庫已複製,常見的工具鏈已預先安裝。當相依性提供預先編譯的二進位檔案(例如具有原生擴充功能的 Ruby gems 或預先建置的 Python wheels)時,請使用其 x86\_64 Linux 建置以符合 VM。本節涵蓋 Anthropic 託管的預設值、內建 GitHub 工具、如何 [執行測試和服務](#run-tests-start-services-and-add-packages),以及每個 VM 取得的 [資源限制](#resource-limits)。

278 278 

279<Note>279<Note>

280 您的組織路由到 [自託管環境](/docs/zh-TW/self-hosted-environments) 的工作階段改為在您自己的執行器上執行,搭配您的執行器映像提供的工具。280 您的組織路由到 [自託管環境](/docs/zh-TW/self-hosted-environments) 的工作階段改為在您自己的執行器上執行,搭配您的執行器映像提供的工具。


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

290| :--------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |290| :--------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

291| 您的儲存庫的 `CLAUDE.md` | 是 | 複製的一部分 |291| 您的儲存庫的 `CLAUDE.md` | 是 | 複製的一部分 |

292| 您的儲存庫的 `.claude/settings.json` hooks | 是 | 複製的一部分 |292| 您的儲存庫的 `.claude/settings.json` hooks 和權限規則 | 是,在具有一個儲存庫的工作階段中 | 複製的一部分。具有多個儲存庫的工作階段,包括 [project](/docs/zh-TW/claude-projects#what-threads-pick-up-from-your-repositories) 執行緒,在複製上方啟動,不讀取它們 |

293| 您的儲存庫的 `.mcp.json` MCP 伺服器 | 是 | 複製的一部分 |293| 您的儲存庫的 `.mcp.json` MCP 伺服器 | 是,在具有一個儲存庫的工作階段中 | 複製的一部分,從工作階段的工作目錄找到 |

294| 您的儲存庫的 `.claude/rules/` | 是 | 複製的一部分 |294| 您的儲存庫的 `.claude/rules/` | 是 | 複製的一部分 |

295| 您的儲存庫的 `.claude/skills/`、`.claude/agents/`、`.claude/commands/` | 是 | 複製的一部分 |295| 您的儲存庫的 `.claude/skills/`、`.claude/agents/`、`.claude/commands/` | 是 | 複製的一部分 |

296| 在 `.claude/settings.json` 中宣告的 Plugins | 是 | 在工作階段啟動時從您宣告的 [marketplace](/docs/zh-TW/plugin-marketplaces) 安裝。需要網路存取以到達 marketplace 來源 |296| 在 `.claude/settings.json` 中宣告的 Plugins | 是 | 在工作階段啟動時從您宣告的 [marketplace](/docs/zh-TW/plugin-marketplaces) 安裝。需要網路存取以到達 marketplace 來源 |


298| 您的使用者 `~/.claude/CLAUDE.md` | 否 | 位於您的機器上,不在儲存庫中 |298| 您的使用者 `~/.claude/CLAUDE.md` | 否 | 位於您的機器上,不在儲存庫中 |

299| 您的使用者 `~/.claude/skills/`、`~/.claude/agents/`、`~/.claude/commands/` | 否 | 位於您的機器上,不在儲存庫中。改為將它們提交到儲存庫的 `.claude/` 目錄。雲端工作階段會自動載入您在 claude.ai 上啟用的技能 |299| 您的使用者 `~/.claude/skills/`、`~/.claude/agents/`、`~/.claude/commands/` | 否 | 位於您的機器上,不在儲存庫中。改為將它們提交到儲存庫的 `.claude/` 目錄。雲端工作階段會自動載入您在 claude.ai 上啟用的技能 |

300| 僅在您的使用者設定中啟用的 Plugins | 否 | 使用者範圍的 `enabledPlugins` 位於 `~/.claude/settings.json`。改為在儲存庫的 `.claude/settings.json` 中宣告它們,或在您的 claude.ai 帳戶上啟用它們,以便 Claude Code 將它們載入為 [同步的 plugins](/docs/zh-TW/plugins-reference#synced-plugins) |300| 僅在您的使用者設定中啟用的 Plugins | 否 | 使用者範圍的 `enabledPlugins` 位於 `~/.claude/settings.json`。改為在儲存庫的 `.claude/settings.json` 中宣告它們,或在您的 claude.ai 帳戶上啟用它們,以便 Claude Code 將它們載入為 [同步的 plugins](/docs/zh-TW/plugins-reference#synced-plugins) |

301| 您使用 `claude mcp add` 在預設本機範圍或使用者範圍新增的 MCP 伺服器 | 否 | 這些寫入您機器上的 `~/.claude.json`,不是儲存庫。使用 `claude mcp add --scope project` 新增伺服器,該伺服器寫入儲存庫的 [`.mcp.json`](/docs/zh-TW/mcp#project-scope),並提交該檔案 |301| 您使用 `claude mcp add` 在預設本機範圍或使用者範圍新增的 MCP 伺服器 | 否 | 這些寫入您機器上的 `~/.claude.json`,不是儲存庫。使用 `claude mcp add --scope project` 新增伺服器,該伺服器寫入儲存庫的 [`.mcp.json`](/docs/zh-TW/mcp#project-scope),並提交該檔案。具有一個儲存庫的工作階段會載入它 |

302| 您的儲存庫的 `.claude/settings.json` `env` 區塊中的傳輸變數,例如 `NODE_EXTRA_CA_CERTS` 和 [mTLS 用戶端憑證變數](/docs/zh-TW/network-config#mtls-authentication) | 否 | 託管環境管理工作階段的 API 連接,因此 Claude Code 忽略這些金鑰,並在工作階段的偵錯日誌中記錄每個忽略的金鑰 |302| 您的儲存庫的 `.claude/settings.json` `env` 區塊中的傳輸變數,例如 `NODE_EXTRA_CA_CERTS` 和 [mTLS 用戶端憑證變數](/docs/zh-TW/network-config#mtls-authentication) | 否 | 託管環境管理工作階段的 API 連接,因此 Claude Code 忽略這些金鑰,並在工作階段的偵錯日誌中記錄每個忽略的金鑰 |

303| Claude 呼叫的服務的 API 金鑰和令牌 | 在 Pro 和 Max 方案上,作為 [API 認證](#add-api-credentials) | 您在環境上新增金鑰一次,代理程式代理會將其附加到您列出的主機的請求。代理程式代理 [無法附加](#requests-that-never-get-the-credential) 的金鑰,或任何 Team 或 Enterprise 方案上的金鑰,保留在環境變數中 |303| Claude 呼叫的服務的 API 金鑰和令牌 | 在 Pro 和 Max 方案上,作為 [API 認證](#add-api-credentials) | 您在環境上新增金鑰一次,代理程式代理會將其附加到您列出的主機的請求。代理程式代理 [無法附加](#requests-that-never-get-the-credential) 的金鑰,或任何 Team 或 Enterprise 方案上的金鑰,保留在環境變數中 |

304| 互動式驗證,例如 AWS SSO | 否 | 不支援。SSO 需要無法在雲端工作階段中執行的基於瀏覽器的登入 |304| 互動式驗證,例如 AWS SSO | 否 | 不支援。SSO 需要無法在雲端工作階段中執行的基於瀏覽器的登入 |


358 358 

359每個雲端工作階段在 claude.ai 上都有一個文字記錄 URL,工作階段可以從 `CLAUDE_CODE_REMOTE_SESSION_ID` 環境變數讀取自己的 ID。使用此在 PR 主體、提交訊息、Slack 貼文或產生的報告中放置可追蹤的連結,以便檢閱者可以開啟產生它們的執行。359每個雲端工作階段在 claude.ai 上都有一個文字記錄 URL,工作階段可以從 `CLAUDE_CODE_REMOTE_SESSION_ID` 環境變數讀取自己的 ID。使用此在 PR 主體、提交訊息、Slack 貼文或產生的報告中放置可追蹤的連結,以便檢閱者可以開啟產生它們的執行。

360 360 

361Claude 在雲端工作階段中建立的提交包括 `Claude-Session: <url>` git 預告片,PR 主體包括工作階段 URL 在其自己的列上。這需要 v2.1.179 或更新版本。若要省略預告片和 PR 主體連結,請將 [`attribution.sessionUrl`](/docs/zh-TW/settings-reference#attribution-sessionurl) 設定為 `false`。此設定需要 v2.1.182 或更新版本。361Claude 在雲端工作階段中建立的提交包括 `Claude-Session: <url>` git 預告片,PR 主體包括工作階段 URL 在其自己的列上。若要省略預告片和 PR 主體連結,請將 [`attribution.sessionUrl`](/docs/zh-TW/settings-reference#attribution-sessionurl) 設定為 `false`。

362 362 

363若要在提交或 PR 以外的內容中包含工作階段連結,例如 Claude 發佈的 Slack 訊息或它寫入的報告檔案,請要求 Claude 執行以下命令並使用其輸出。該命令將環境變數值中的 `cse_` 前綴轉換為文字記錄 URL 預期的 `session_` 前綴:363若要在提交或 PR 以外的內容中包含工作階段連結,例如 Claude 發佈的 Slack 訊息或它寫入的報告檔案,請要求 Claude 執行以下命令並使用其輸出。該命令將環境變數值中的 `cse_` 前綴轉換為文字記錄 URL 預期的 `session_` 前綴:

364 364 


524 524 

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

526 526 

527* **無雲端專用範圍**:hooks 在本機和雲端工作階段中執行。若要跳過本機執行,請檢查 `CLAUDE_CODE_REMOTE` 環境變數,如上所示。527* **每個工作階段一個儲存庫**:具有多個儲存庫的工作階段不會從任何儲存庫的 `.claude/settings.json` 載入 hooks,因此您在其中定義的 SessionStart hook 不會執行。使用[設定指令碼](#setup-scripts)為這些工作階段安裝相依性。

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

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

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

530* **增加啟動延遲**:hooks 在每次工作階段啟動或恢復時執行,不同於設定指令碼,設定指令碼受益於[環境快取](#environment-caching)。透過在重新安裝之前檢查相依性是否已存在來保持安裝指令碼快速。531* **增加啟動延遲**:hooks 在每次工作階段啟動或恢復時執行,不同於設定指令碼,設定指令碼受益於[環境快取](#environment-caching)。透過在重新安裝之前檢查相依性是否已存在來保持安裝指令碼快速。


793 相關資源794 相關資源

794</h2>795</h2>

795 796 

796* [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web):啟動、管理和共用雲端工作階段797* [Cloud sessions reference](/docs/zh-TW/claude-code-on-the-web):啟動、管理和共用雲端工作階段

797* [Web quickstart](/docs/zh-TW/web-quickstart):連接 GitHub 並啟動您的第一個雲端工作階段798* [Cloud sessions quickstart](/docs/zh-TW/web-quickstart):連接 GitHub 並啟動您的第一個雲端工作階段

798* [Claude Tag](https://claude.com/docs/claude-tag/overview):Claude 從 Slack 啟動的工作階段在相同的環境中執行799* [Claude Tag](https://claude.com/docs/claude-tag/overview):Claude 從 Slack 啟動的工作階段在相同的環境中執行

799* [Routines](/docs/zh-TW/routines):排程執行使用相同的環境和網路存取層級800* [Routines](/docs/zh-TW/routines):排程執行使用相同的環境和網路存取層級

800* [Remote Control](/docs/zh-TW/remote-control):改為在您自己的機器的網路和檔案上執行工作階段801* [Remote Control](/docs/zh-TW/remote-control):改為在您自己的機器的網路和檔案上執行工作階段

code-review.md +216 −94

Details

7> 設定自動化 PR 審查,使用多代理分析您的完整程式碼庫來捕捉邏輯錯誤、安全漏洞和迴歸7> 設定自動化 PR 審查,使用多代理分析您的完整程式碼庫來捕捉邏輯錯誤、安全漏洞和迴歸

8 8 

9<Note>9<Note>

10 Code Review 處於研究預覽階段,適用於 [Team 和 Enterprise](https://claude.ai/admin-settings/claude-code) 訂閱。對於啟用了 [Zero Data Retention](/docs/zh-TW/zero-data-retention) 的組織,此功能不可用。10 Code Review 處於研究預覽階段,適用於 [Team 和 Enterprise](https://claude.ai/admin-settings/claude-code) 訂閱。對於啟用了 [Zero Data Retention](/docs/zh-TW/zero-data-retention) 的組織,此功能不可用。在其他方案上,您仍然可以使用 `/code-review` 命令[在本地審查差異](#review-a-diff-locally)。

11</Note>11</Note>

12 12 

13Code Review 分析您的 GitHub pull request,並在發現問題的程式碼行上發佈內聯評論。一群專門的代理在您完整程式碼庫的背景下檢查程式碼變更,尋找邏輯錯誤、安全漏洞、破損的邊界情況和細微的迴歸。13Code Review 分析您的 GitHub pull request,並在發現問題的程式碼行上發佈內聯評論。一群專門的代理在您完整程式碼庫的背景下檢查程式碼變更,尋找邏輯錯誤、安全漏洞、破損的邊界情況和細微的迴歸。


20 20 

21* [審查如何運作](#how-reviews-work)21* [審查如何運作](#how-reviews-work)

22* [設定](#set-up-code-review)22* [設定](#set-up-code-review)

23* [手動觸發審查](#manually-trigger-reviews),使用 `@claude review` 和 `@claude review once`23* [手動觸發審查](#manually-trigger-reviews),使用 `@claude review` 和 `@claude review always`

24* [自訂審查](#customize-reviews),使用 `CLAUDE.md` 和 `REVIEW.md`24* [自訂審查](#customize-reviews),使用 `CLAUDE.md` 和 `REVIEW.md`

25* [定價](#pricing)25* [定價](#pricing)

26* [故障排除](#troubleshooting)失敗的運行和缺失的評論26* [故障排除](#troubleshooting)失敗的運行和缺失的評論

27* [在本地審查差異](#review-a-diff-locally),使用 `/code-review` 命令27* [在本地審查差異](#review-a-diff-locally),使用 `/code-review` 命令

28 28 

29<Note>

30 要在本地終端中審查差異而無需安裝 GitHub App,請在任何 Claude Code 工作階段中運行 `/code-review` 命令。請參閱[在本地審查差異](#review-a-diff-locally)。

31</Note>

32 

33<h2 id="how-reviews-work">29<h2 id="how-reviews-work">

34 審查如何運作30 程式碼審查的運作方式

35</h2>31</h2>

36 32 

37一旦管理員為您的組織[啟用 Code Review](#set-up-code-review),審查將在 PR 開啟時、每次推送時或手動請求時觸發,具體取決於存儲庫的配置行為。在任何模式下,評論 `@claude review` [在 PR 上啟動審查](#manually-trigger-reviews)。33一旦擁有者為您的組織[啟用程式碼審查](#set-up-code-review),審查會在 PR 開啟時、每次推送時或手動請求時觸發,具體取決於儲存庫的設定行為。在任何模式下,評論 `@claude review` 會[在 PR 上啟動審查](#manually-trigger-reviews)。

38 34 

39當審查運行時,多個代理在 Anthropic 基礎設施上並行分析差異和周圍程式碼。每個代理尋找不同類別的問題,然後驗證步驟檢查候選項目是否符合實際程式碼行為,以過濾掉誤報。結果被去重、按嚴重程度排名,並作為內聯評論發佈在發現問題的特定行上,並在審查正文中提供摘要。如果未發現問題,Code Review 會更新 GitHub 檢查運行以顯示未檢測到任何問題。Claude 也可能在 PR 上發佈簡短的確認評論。35當審查執行時,多個代理會在 Anthropic 基礎設施上並行分析差異和周圍程式碼。每個代理會尋找不同類別的問題,然後驗證步驟會根據實際程式碼行為檢查候選項,以過濾掉誤判。結果會被去重、按嚴重程度排名,並作為內聯評論發佈在發現問題的特定行上,並在審查正文中提供摘要。如果未發現任何問題,程式碼審查會更新 GitHub 檢查執行以顯示未檢測到任何問題。Claude 也可能在 PR 上發佈簡短的確認評論。

40 36 

41審查成本隨著 PR 大小和複雜性而擴展,平均在 20 分鐘內完成。管理員可以通過[分析儀表板](#view-usage)監控審查活動和支出。37審查的成本隨著 PR 的大小和複雜性而擴展,平均在 20 分鐘內完成。擁有者可以透過[分析儀表板](#view-usage)監控審查活動和支出。

42 38 

43<h3 id="severity-levels">39<h3 id="severity-levels">

44 嚴重程度級別40 嚴重程度級別


49| 標記 | 嚴重程度 | 含義 |45| 標記 | 嚴重程度 | 含義 |

50| :- | :--- | :------------------- |46| :- | :--- | :------------------- |

51| 🔴 | 重要 | 應在合併前修復的錯誤 |47| 🔴 | 重要 | 應在合併前修復的錯誤 |

52| 🟡 | 細節 | 輕微問題,值得修復但不阻止 |48| 🟡 | 細節 | 輕微問題,值得修復但不會阻止 |

53| 🟣 | 預先存在 | 程式碼庫中存在但未由此 PR 引入的錯誤 |49| 🟣 | 預先存在 | 程式碼庫中存在但未由此 PR 引入的錯誤 |

54 50 

55發現包括可折疊的擴展推理部分,您可以展開以了解 Claude 為什麼標記該問題以及它如何驗證問題。51發現包括可摺疊的擴展推理部分,您可以展開以了解 Claude 為什麼標記該問題以及它如何驗證了該問題。

56 52 

57<h3 id="rate-and-reply-to-findings">53<h3 id="rate-and-reply-to-findings">

58 對發現進行評分和回覆54 對發現進行評分和回覆

59</h3>55</h3>

60 56 

61每個來自 Claude 的審查評論都已附加 👍 和 👎,因此兩個按鈕都會在 GitHub UI 中出現,以便一鍵評分。如果發現有用,請點擊 👍;如果發現錯誤或嘈雜,請點擊 👎。Anthropic 在 PR 合併後收集反應計數,並使用它們來調整審查者。反應不會觸發重新審查或更改 PR 上的任何內容。57Claude 的每條審查評論都已附加 👍 和 👎,因此兩個按鈕都會在 GitHub UI 中出現,以便一鍵評分。如果發現有用,請點擊 👍;如果發現錯誤或雜亂,請點擊 👎。Anthropic 在 PR 合併後收集反應計數,並使用它們來調整審查者。反應不會觸發重新審查或更改 PR 上的任何內容。

62 58 

63回覆內聯評論不會提示 Claude 回應或更新 PR。要對發現採取行動,請修復程式碼並推送。如果 PR 訂閱了推送觸發的審查,下一次運行將在問題修復時解決線程。要在不推送的情況下請求新審查,請作為[頂級 PR 評論](#manually-trigger-reviews)評論 `@claude review once`。59回覆內聯評論不會提示 Claude 回應或更新 PR。要對發現採取行動,請修復程式碼並推送。如果 PR 訂閱了推送觸發的審查,下一次執行會在問題修復時解決執行緒。要在不推送的情況下請求新審查,請將 `@claude review` 評論為[頂級 PR 評論](#manually-trigger-reviews)。

60 

61要在不進行程式碼變更的情況下關閉發現,請解決其執行緒;回覆不會關閉它。

64 62 

65<h3 id="check-run-output">63<h3 id="check-run-output">

66 檢查運行輸出64 檢查執行輸出

67</h3>65</h3>

68 66 

69除了內聯審查評論外,每次審查都會填充 **Claude Code Review** 檢查運行,該運行與您的 CI 檢查一起出現。展開其 **Details** 連結以在一個地方查看每個發現的摘要,按嚴重程度排序:67除了內聯審查評論外,每次審查都會填充與您的 CI 檢查一起出現的 **Claude Code Review** 檢查執行。展開其 **Details** 連結以在一個地方查看每個發現的摘要,按嚴重程度排序:

70 68 

71| 嚴重程度 | 文件:行 | 問題 |69| 嚴重程度 | 檔案:行 | 問題 |

72| ----- | ------------------------- | ------------------------------ |70| ----- | ------------------------- | ------------------------------ |

73| 🔴 重要 | `src/auth/session.ts:142` | 令牌刷新與登出競爭,留下過時的會話活躍 |71| 🔴 重要 | `src/auth/session.ts:142` | 令牌重新整理與登出競爭,導致過時的工作階段保持活躍 |

74| 🟡 細節 | `src/auth/session.ts:88` | `parseExpiry` 在格式錯誤的輸入上無聲地返回 0 |72| 🟡 細節 | `src/auth/session.ts:88` | `parseExpiry` 在格式錯誤的輸入上無聲地返回 0 |

75 73 

76每個發現也作為 **Files changed** 標籤中的註釋出現,直接標記在相關的差異行上。重要發現用紅色標記呈現,細節用黃色警告,預先存在的錯誤用灰色通知。註釋和嚴重程度表獨立於內聯審查評論寫入檢查運行,因此即使 GitHub 拒絕在移動的行上的內聯評論,它們仍然可用。74每個發現也會在 **Files changed** 標籤中顯示為註解,直接標記在相關的差異行上。重要發現以紅色標記呈現,細節以黃色警告呈現,預先存在的錯誤以灰色通知呈現。註解和嚴重程度表獨立於內聯審查評論寫入檢查執行,因此即使 GitHub 在移動的行上拒絕內聯評論,它們仍然可用。

77 75 

78檢查運行始終以中立結論完成,因此它永遠不會通過分支保護規則阻止合併。如果您想根據 Code Review 發現來限制合併,請在您自己的 CI 中讀取檢查運行輸出中的嚴重程度細分。Details 文本的最後一行是機器可讀的評論,您的工作流可以使用 `gh` 和 jq 解析:76檢查執行始終以中立結論完成,因此它永遠不會透過分支保護規則阻止合併。如果您想根據程式碼審查發現來限制合併,請從檢查執行輸出中讀取嚴重程度細目。Details 文字的最後一行是機器可讀的評論,您的工作流程可以使用 `gh` 和 jq 進行解析。要找到檢查執行 ID,請使用 `gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'` 列出提交的檢查執行,並取 `Claude Code Review` 執行的 `id`。將 `OWNER`、`REPO` 和 `CHECK_RUN_ID` 替換為您的儲存庫擁有者、儲存庫名稱和該 ID:

79 77 

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

81gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \

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

83```81```

84 82 

85這返回一個 JSON 對象,其中包含每個嚴重程度的計數,例如 `{"normal": 2, "nit": 1, "pre_existing": 0}`。`normal` 鍵保存重要發現的計數;非零值意味著 Claude 發現至少一個值得在合併前修復的錯誤。83這會傳回一個 JSON 物件,其中包含每個嚴重程度的計數,例如 `{"normal": 2, "nit": 1, "pre_existing": 0}`。`normal` 鍵保存重要發現的計數;非零值表示 Claude 發現了至少一個值得在合併前修復的錯誤。

86 84 

87<h3 id="what-code-review-checks">85<h3 id="what-code-review-checks">

88 Code Review 檢查的內容86 程式碼審查檢查的內容

89</h3>87</h3>

90 88 

91默認情況下,Code Review 專注於正確性:會破壞生產的錯誤,而不是格式設置偏好或缺失的測試覆蓋。您可以通過[添加指導文件](#customize-reviews)到您的存儲庫來擴展它檢查的內容。89預設情況下,程式碼審查專注於正確性:會破壞生產的錯誤,而不是格式設定偏好或缺少的測試涵蓋範圍。您可以透過[新增指導檔案](#customize-reviews)到您的儲存庫來擴展它檢查的內容。

92 90 

93<h2 id="set-up-code-review">91<h2 id="set-up-code-review">

94 設定 Code Review92 設定 Code Review


106 </Step>104 </Step>

107 105 

108 <Step title="安裝 Claude GitHub App">106 <Step title="安裝 Claude GitHub App">

109 按照提示將 Claude GitHub App 安裝到您的 GitHub 組織。該應用請求這些存儲庫權限:107 按照提示安裝 Claude GitHub App:選擇擁有您想要審查的存儲庫的 GitHub 組織,選擇應用可以存取的存儲庫,並批准請求的權限。

110 

111 * **Contents**:讀取和寫入

112 * **Issues**:讀取和寫入

113 * **Pull requests**:讀取和寫入

114 108 

115 Code Review 使用對內容的讀取存取權限和對 pull request 的寫入存取權限。更廣泛的權限集也支持 [GitHub Actions](/docs/zh-TW/github-actions),如果您稍後啟用它。109 若要審查 pull request,Claude 會透過應用的讀取存取權限讀取您的存儲庫內容,並透過其對 pull request 和檢查的寫入存取權限發佈評論和 [檢查運行](#check-run-output)。在安裝期間,您授予由其他 Claude 功能(例如 [GitHub Actions](/docs/zh-TW/github-actions))共享的更廣泛權限集;請參閱 [GitHub App 權限](/docs/zh-TW/github-actions#github-app-permissions) 以取得完整清單。

116 </Step>110 </Step>

117 111 

118 <Step title="選擇存儲庫">112 <Step title="選擇存儲庫">


124 118 

125 * **Once after PR creation**:當 PR 開啟或標記為準備審查時,審查運行一次119 * **Once after PR creation**:當 PR 開啟或標記為準備審查時,審查運行一次

126 * **After every push**:在每次推送到 PR 分支時運行審查,在 PR 演變時捕捉新問題,並在您修復標記的問題時自動解決線程120 * **After every push**:在每次推送到 PR 分支時運行審查,在 PR 演變時捕捉新問題,並在您修復標記的問題時自動解決線程

127 * **Manual**:審查僅在有人 [在 PR 上評論 `@claude review` 或 `@claude review once`](#manually-trigger-reviews) 時開始;`@claude review` 也會訂閱 PR 以進行後續推送的審查121 * **Manual**:開啟或推送到 PR 不會開始審查;評論 [`@claude review`](#manually-trigger-reviews) 以請求審查,或 `@claude review always` 以同時訂閱 PR 以進行後續推送的審查

122 

123 無論您選擇哪個選項,Claude 只有在有人評論 `@claude review` 時才會審查 [來自分支的 pull request](#review-pull-requests-from-forks)。

128 124 

129 每次推送時審查運行最多的審查並花費最多。手動模式對於高流量存儲庫很有用,您想選擇特定 PR 進行審查,或者只在 PR 準備好時才開始審查您的 PR。125 每次推送時審查運行最多的審查並花費最多。手動模式對於高流量存儲庫很有用,您想選擇特定 PR 進行審查,或者只在 PR 準備好時才開始審查您的 PR。

130 </Step>126 </Step>


138 手動觸發審查134 手動觸發審查

139</h2>135</h2>

140 136 

141兩個評論命令按需啟動審查。無論存儲庫的配置觸發器如何,兩者都有效,因此您可以使用它們在手動模式下選擇特定 PR 進行審查,或在其他模式下獲得立即重新審查。137評論命令可按需啟動審查。無論儲存庫的設定觸發器如何,它們都能運作,因此您可以使用它們在手動模式下選擇特定 PR 進行審查,或在其他模式下獲得立即重新審查。

138 

139| 命令 | 功能 |

140| :---------------------- | :------------------------------- |

141| `@claude review` | 啟動單次審查,不訂閱 PR 以進行未來推送 |

142| `@claude review always` | 啟動審查並訂閱 PR 以進行後續推送觸發的審查 |

143| `@claude review once` | 與 `@claude review` 相同:啟動單次審查,不訂閱 |

142 144 

143| 命令 | 它做什麼 |145當您希望每次後續推送到 PR 都啟動新的審查時,請使用 `@claude review always`,例如在設定為手動模式的儲存庫中的高優先級 PR 上。由於裸命令不訂閱 PR,您可以請求一次性的第二意見,而不改變後續推送是否觸發審查。

144| :-------------------- | :---------------------- |

145| `@claude review` | 啟動審查並訂閱 PR 以進行今後的推送觸發審查 |

146| `@claude review once` | 啟動單次審查,不訂閱未來推送 |

147 146 

148當您想要對 PR 的當前狀態獲得反饋但不想每次後續推送都產生審查時,使用 `@claude review once`。這對於具有頻繁推送的長期運行 PR 很有用,或者當您想要一次性第二意見而不改變 PR 的審查行為時。147<Note>

148 在 2026 年 7 月更新之前,`@claude review` 訂閱了 PR 以進行推送觸發的審查。如果您依賴該行為,請改為評論 `@claude review always`。`@claude review once` 仍然有效,其行為與裸命令相同。

149</Note>

149 150 

150對於任一命令觸發審查:151若要這些命令中的任何一個觸發審查:

151 152 

152* 將其發佈為頂級 PR 評論,而不是差異行上的內聯評論153* 將其作為頂層 PR 評論發佈,而不是在差異行上的內嵌評論

153* 在評論開始時放置命令,如果您使用一次性形式,將 `once` 放在同一行154* 將命令放在評論的開頭,`once` 或 `always` 與命令的其餘部分在同一行

154* 您必須對存儲庫具有所有者、成員或協作者存取權限155* 您必須對儲存庫具有寫入、維護或管理員權限

155* PR 必須開啟156* PR 必須是開啟的

156 157 

157與自動觸發不同,手動觸發在草稿 PR 上運行,因為明確的請求表示您想要現在的審查,無論草稿狀態如何。158如果儲存庫屬於組織,且您在該組織中的成員身份是私密的(這是 GitHub 的預設設定),GitHub 不會將您識別為 Claude 的成員。Claude 可能仍會以 👀 回應您的評論,但除非您被直接新增到儲存庫作為協作者,否則它不會啟動審查,即使團隊或組織的基本權限給予您寫入存取權。若要修正此問題,[公開您的組織成員身份](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership)或要求儲存庫管理員將您新增到儲存庫作為協作者。

158 159 

159如果該 PR 上已有審查正在運行,請求將排隊直到進行中的審查完成。您可以通過 PR 上的檢查運行監控進度。160與自動觸發器不同,手動觸發器在草稿 PR 上運作,因為明確的請求表示您希望立即進行審查,無論草稿狀態如何。

161 

162如果該 PR 上已有審查正在進行,請求將排隊等待進行中的審查完成。您可以透過 PR 上的檢查執行來監控進度。

163 

164<h3 id="review-pull-requests-from-forks">

165 審查來自複製儲存庫的拉取請求

166</h3>

167 

168Claude 不會自動審查來自複製儲存庫的拉取請求,無論儲存庫的**審查行為**設定如何。若要啟動一個,請在拉取請求上評論 `@claude review`。[評論命令的要求](#manually-trigger-reviews)仍然適用,您需要的寫入存取權是針對基礎儲存庫,而不是複製儲存庫。

169 

170若要獲得複製儲存庫拉取請求的另一次審查,請發佈新的 `@claude review` 評論。`@claude review always` 也有效,但不會訂閱拉取請求以進行後續推送上的審查。除了評論命令外,沒有其他方式可以在複製儲存庫拉取請求上啟動審查:

171 

172* 在檢查執行上點擊**重新執行**不會啟動審查

173* 推送新提交不會啟動審查,即使在設定為**每次推送後**的儲存庫中也不會

160 174 

161<h2 id="customize-reviews">175<h2 id="customize-reviews">

162 自訂審查176 自訂審查

163</h2>177</h2>

164 178 

165Code Review 從您的存儲庫讀取兩個文件來指導它標記的內容。它們在強度上有所不同:179Code Review 從您的儲存庫讀取兩個檔案來指導它標記的內容。它們在影響審查的強度上有所不同:

166 180 

167* **`CLAUDE.md`**:Claude Code 用於所有任務的共享項目指令,不僅僅是審查。Code Review 將其讀取為項目背景,並將新引入的違規標記為細節。181* **`CLAUDE.md`**:Claude Code 用於所有任務(不僅是審查)的共享專案指示。Code Review 將其作為專案背景讀取,並將新引入的違規標記為 nit。

168* **`REVIEW.md`**:僅審查指導,直接注入到審查管道中每個代理的系統提示中作為最高優先級。使用它來改變標記的內容、嚴重程度以及發現的報告方式。182* **`REVIEW.md`**:僅用於審查的指示,提供給尋找和驗證發現的代理,並由排名和報告發現的代理查詢。使用它來說明您的團隊想要標記什麼、以什麼嚴重程度標記,以及如何報告發現。

169 183 

170<h3 id="claude-md">184<h3 id="claude-md">

171 CLAUDE.md185 CLAUDE.md

172</h3>186</h3>

173 187 

174Code Review 讀取您存儲庫的 `CLAUDE.md` 文件,並將新引入的違規視為 [細節級別](#severity-levels) 的發現。這是雙向工作的:如果您的 PR 以使 `CLAUDE.md` 陳述過時的方式更改程式碼,Claude 會標記文件需要更新。188Code Review 讀取您儲存庫的 `CLAUDE.md` 檔案,並將新引入的違規視為[nit 級別](#severity-levels)的發現。這是雙向工作的:如果您的 PR 以使 `CLAUDE.md` 陳述過時的方式更改程式碼,Claude 會標記文件需要更新。

175 189 

176Claude 在目錄層次結構的每個級別讀取 `CLAUDE.md` 文件,因此子目錄的 `CLAUDE.md` 中的規則僅適用於該路徑下的文件。有關 `CLAUDE.md` 如何運作的更多信息,請參閱 [memory 文檔](/docs/zh-TW/memory)。190Claude 在目錄階層的每個級別讀取 `CLAUDE.md` 檔案,因此子目錄的 `CLAUDE.md` 中的規則僅適用於該路徑下的檔案。有關 `CLAUDE.md` 如何運作的更多資訊,請參閱[記憶文件](/docs/zh-TW/memory)。

177 191 

178對於您不想應用於一般 Claude Code 會話的審查特定指導,請改用 [`REVIEW.md`](#review-md)。192對於您不想應用於一般 Claude Code 工作階段的審查特定指導,請改用 [`REVIEW.md`](#review-md)。

179 193 

180<h3 id="review-md">194<h3 id="review-md">

181 REVIEW\.md195 REVIEW\.md

182</h3>196</h3>

183 197 

184`REVIEW.md` 是位於您存儲庫根目錄的文件,它覆蓋 Code Review 在您的存儲庫上的行為方式。其內容被注入到審查管道中每個代理的系統提示中作為最高優先級指令塊,優先於默認審查指導。198`REVIEW.md` 是位於您儲存庫根目錄的檔案,可將 Code Review 調整為適合您的儲存庫。審查管道中尋找和驗證發現的代理會收到其內容作為您儲存庫的審查指示,以及 Code Review 的預設審查指導,排名和報告發現的代理在確定嚴重程度和撰寫審查之前會查詢它。

185 199 

186因為它是逐字粘貼的,`REVIEW.md` 是純指令:[`@` 導入語法](/docs/zh-TW/memory#import-additional-files) 不會展開,引用的文件不會讀入提示中。將您想要強制執行的規則直接放在文件中。200將您想要強制執行的規則直接放在 `REVIEW.md` 中。

187 201 

188<h4 id="what-you-can-tune">202<h4 id="what-you-can-tune">

189 您可以調整什麼203 您可以調整的內容

190</h4>204</h4>

191 205 

192`REVIEW.md` 是自由格式的 markdown,因此任何您可以表達為審查指令的內容都在範圍內。下面的模式在實踐中影響最大。206`REVIEW.md` 是自由格式的 markdown,因此任何您可以表達為審查指示的內容都在範圍內。下面的模式在實踐中影響最大。

193 207 

194**嚴重程度**:重新定義 🔴 重要對您的存儲庫意味著什麼。默認校準針對生產程式碼;文檔存儲庫、配置存儲庫或原型可能想要更窄的定義。明確說明哪些類別的發現是重要的,哪些最多是細節。您也可以向另一個方向升級,例如將任何 `CLAUDE.md` 違規視為重要而不是默認細節。208**嚴重程度**:重新定義 🔴 Important 對您的儲存庫的含義。預設校準針對生產程式碼;文件儲存庫、設定儲存庫或原型可能需要更狹隘的定義。明確說明哪些發現類別是 Important,哪些最多是 Nit。您也可以朝另一個方向升級,例如將任何 `CLAUDE.md` 違規視為 Important,而不是預設的 nit。

195 209 

196**細節量**:限制單次審查發佈的 🟡 細節評論數量。散文和配置文件可以永遠被打磨。像「最多報告五個細節,在摘要中提及其餘的計數」這樣的上限使審查可操作。210**Nit 數量**:限制單個審查發佈的 🟡 Nit 評論數量。散文和設定檔案可以永遠被打磨。像「最多報告五個 nit,在摘要中提及其餘的計數」這樣的上限可以保持審查的可操作性。

197 211 

198**跳過規則**:列出 Claude 應該不發佈任何發現的路徑、分支模式和發現類別。常見候選是生成的程式碼、lockfiles、供應商依賴和機器編寫的分支,以及您的 CI 已經強制執行的任何內容,如 linting 或拼寫檢查。對於值得進行某些審查但不完全審查的路徑,設定更高的標準而不是完全跳過:「在 `scripts/` 中,僅在接近確定且嚴重時報告。」212**跳過規則**:列出 Claude 應該不發佈任何發現的路徑、分支模式和發現類別。常見的候選項是生成的程式碼、lockfile、供應商依賴項和機器編寫的分支,以及您的 CI 已經強制執行的任何內容,如 linting 或拼寫檢查。對於值得進行某些審查但不需要完全審查的路徑,設定更高的標準,而不是完全跳過:「在 `scripts/` 中,僅在接近確定且嚴重時報告。」

199 213 

200**存儲庫特定檢查**:添加您想在每個 PR 上標記的規則,例如「新 API 路由必須有集成測試。」因為 `REVIEW.md` 被注入為最高優先級,這些比長 `CLAUDE.md` 中的相同規則更可靠地著陸。214**儲存庫特定檢查**:新增您想在每個 PR 上標記的規則,例如「新 API 路由必須有整合測試。」因為 `REVIEW.md` 直接到達每個發現和驗證代理,這些比長 `CLAUDE.md` 中的相同規則更可靠地著陸。

201 215 

202**驗證標準**:在發佈發現類別之前需要證據。例如,「行為聲明需要源中的 `file:line` 引用,而不是從命名推斷」減少了否則會花費作者往返的誤報。216**驗證標準**:在發佈發現類別之前需要證據。例如,「行為聲明需要來源中的 `file:line` 引用,而不是從命名推斷」會減少虛假正面,否則會使作者往返一次。

203 217 

204**重新審查收斂**:告訴 Claude 當 PR 已經被審查時如何表現。像「在第一次審查後,抑制新細節並僅發佈重要發現」這樣的規則阻止一行修復從僅風格達到第七輪。218**重新審查收斂**:告訴 Claude 當 PR 已經被審查時如何表現。像「在第一次審查後,抑制新的 nit 並僅發佈 Important 發現」這樣的規則會阻止單行修復因風格而到達第七輪。

205 219 

206**摘要形狀**:要求審查正文以一行計數開頭,例如 `2 factual, 4 style`,並在這種情況下以「沒有事實問題」開頭。作者想在詳細信息之前知道工作的形狀。220**摘要形狀**:要求審查正文以單行計數開頭,例如 `2 factual, 4 style`,並在情況如此時以「no factual issues」開頭。作者想在詳細資訊之前了解工作的形狀。

207 221 

208<h4 id="example">222<h4 id="example">

209 示例223 範例

210</h4>224</h4>

211 225 

212此 `REVIEW.md` 為後端服務重新校準嚴重程度,限制細節,跳過生成的文件,並添加存儲庫特定檢查。226此 `REVIEW.md` 為後端服務重新校準嚴重程度、限制 nit、跳過生成的檔案,並新增儲存庫特定檢查。

213 227 

214```markdown theme={null}228```markdown theme={null}

215# 審查指令229# Review instructions

216 230 

217## 重要在這裡意味著什麼231## What Important means here

218 232 

219保留重要用於會破壞行為、洩露數據或阻止回滾的發現:不正確的邏輯、無範圍的數據庫查詢、日誌或錯誤消息中的 PII,以及不向後兼容的遷移。風格、命名和重構建議最多是細節。233Reserve Important for findings that would break behavior, leak data,

234or block a rollback: incorrect logic, unscoped database queries, PII

235in logs or error messages, and migrations that aren't backward

236compatible. Style, naming, and refactoring suggestions are Nit at

237most.

220 238 

221## 限制細節239## Cap the nits

222 240 

223每次審查最多報告五個細節。如果您發現更多,請在摘要中說「加上 N 個類似項目」而不是內聯發佈它們。如果您發現的一切都是細節,請以「沒有阻止問題」開頭摘要。241Report at most five Nits per review. If you found more, say "plus N

242similar items" in the summary instead of posting them inline. If

243everything you found is a Nit, lead the summary with "No blocking

244issues."

224 245 

225## 不要報告246## Do not report

226 247 

227- CI 已經強制執行的任何內容:lint、格式化、類型錯誤248- Anything CI already enforces: lint, formatting, type errors

228- `src/gen/` 下的生成文件和任何 `*.lock` 文件249- Generated files under `src/gen/` and any `*.lock` file

229- 故意違反生產規則的僅測試程式碼250- Test-only code that intentionally violates production rules

230 251 

231## 始終檢查252## Always check

232 253 

233- 新 API 路由有集成測試254- New API routes have an integration test

234- 日誌行不包括電子郵件地址、用戶 ID 或請求正文255- Log lines don't include email addresses, user IDs, or request bodies

235- 數據庫查詢的範圍限於調用者的租戶256- Database queries are scoped to the caller's tenant

236```257```

237 258 

238<h4 id="keep-it-focused">259<h4 id="keep-it-focused">

239 保持專注260 保持專注

240</h4>261</h4>

241 262 

242長度有成本:長 `REVIEW.md` 會稀釋最重要的規則。將其保留為改變審查行為的指令,並將一般項目背景留在 `CLAUDE.md` 中。263長度是有代價的:冗長的 `REVIEW.md` 會削弱最重要的規則。將其保持為改變審查行為的指示,並將一般專案背景留在 `CLAUDE.md` 中。

243 264 

244<h2 id="view-usage">265<h2 id="view-usage">

245 查看使用情況266 查看使用情況


254| Feedback | 因開發人員解決問題而自動解決的審查評論計數 |275| Feedback | 因開發人員解決問題而自動解決的審查評論計數 |

255| Repository breakdown | 每個存儲庫審查的 PR 計數和解決的評論 |276| Repository breakdown | 每個存儲庫審查的 PR 計數和解決的評論 |

256 277 

257管理員設定中的存儲庫表也顯示每個存儲庫的平均審查成本。儀表板成本數字是用於監控活動的估計;對於發票準確的支出,請參閱您的 Anthropic 帳單。278儀表板成本數字是用於監控活動的估計。如需發票準確的支出,請參閱您的 Anthropic 帳單。

258 279 

259<h2 id="pricing">280<h2 id="pricing">

260 定價281 定價

261</h2>282</h2>

262 283 

263Code Review 根據令牌使用情況計費。每次審查平均花費 \$15-25,隨著 PR 大小、程式碼庫複雜性和需要驗證的問題數量而擴展。Code Review 使用通過 [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 單獨計費,不計入您計劃的包含使用情況。284Code Review 根據 token 使用量計費。每次審查平均成本為 \$15-25,根據 PR 大小、程式碼庫複雜性和需要驗證的問題數量而變化。Code Review 使用量透過[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)單獨計費,不計入您方案的包含使用量。

264 285 

265您選擇的審查觸發器影響總成本:286您選擇的審查觸發器會影響總成本:

266 287 

267* **Once after PR creation**:每個 PR 運行一次288* **PR 建立後一次**:每個 PR 執行一次

268* **After every push**:在每次推送時運行,將成本乘以推送次數289* **每次推送後**:在每次推送時執行,成本乘以推送次數

269* **Manual**:在有人在 PR 上評論 `@claude review` 之前沒有審查290* **手動**:在開啟或推送時不執行審查,因此成本僅來自有人要求的審查

270 291 

271在任何模式下,評論 `@claude review` [選擇 PR 進入推送觸發的審查](#manually-trigger-reviews),因此在該評論之後每次推送都會產生額外成本。要運行單次審查而不訂閱未來推送,請改為評論 `@claude review once`。292在 PR 建立後一次或手動模式中,評論 `@claude review always` [將 PR 選入推送觸發的審查](#manually-trigger-reviews),因此在該評論後每次推送都會產生額外成本。在每次推送後模式中,推送已經觸發審查,因此訂閱不會改變每次推送的成本。評論 `@claude review` 會執行單次審查,無需訂閱未來的推送。Claude 只在有人評論 `@claude review` 時才審查[來自分支的提取請求](#review-pull-requests-from-forks),因此分支提取請求在任何模式下都不會產生每次推送的成本。

272 293 

273成本出現在您的 Anthropic 帳單上,無論您的組織是否為其他 Claude Code 功能使用 Amazon Bedrock 或 Google Cloud 的 Agent Platform。要為 Code Review 設定月度支出上限,請前往 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) 並為 Claude Code Review 服務配置限制。294無論您的組織是否使用 Amazon Bedrock 或 Google Cloud 的 Agent Platform 來處理其他 Claude Code 功能,成本都會出現在您的 Anthropic 帳單上。若要為 Code Review 設定每月支出上限,請前往 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) 並為 Claude Code Review 服務設定限制。

274 295 

275通過 [analytics](#view-usage) 中的每週成本圖表或管理員設定中的每個存儲庫平均成本列監控支出。296透過[分析](#view-usage)中的每週成本圖表或管理員設定中的每個儲存庫平均成本欄位監控支出。

276 297 

277<h2 id="troubleshooting">298<h2 id="troubleshooting">

278 故障排除299 故障排除


286 307 

287當審查基礎設施遇到內部錯誤或超過其時間限制時,檢查運行完成,標題為 **Code review encountered an error** 或 **Code review timed out**。結論仍然是中立的,因此沒有任何東西阻止您的合併,但沒有發現被發佈。308當審查基礎設施遇到內部錯誤或超過其時間限制時,檢查運行完成,標題為 **Code review encountered an error** 或 **Code review timed out**。結論仍然是中立的,因此沒有任何東西阻止您的合併,但沒有發現被發佈。

288 309 

289要再次運行審查,在 PR 上評論 `@claude review once`。這啟動一個新的審查,不訂閱 PR 以進行未來推送。如果 PR 已訂閱推送觸發的審查,推送新提交也會啟動新審查。310要再次運行審查,在 PR 上評論 `@claude review`。這啟動一個新的審查,不訂閱 PR 以進行未來推送。如果 PR 不是[來自分支](#review-pull-requests-from-forks),您可以改為在 GitHub 的 Checks 標籤中的 **Claude Code Review** 檢查上點擊 **Re-run**。重新運行也會啟動一個新的審查,不訂閱 PR。

290 

291GitHub 的 Checks 標籤中的 **Re-run** 按鈕不會重新觸發 Code Review。改用評論命令或新推送。

292 311 

293<h3 id="review-didn’t-run-and-the-pr-shows-a-spend-cap-message">312<h3 id="review-didn’t-run-and-the-pr-shows-a-spend-cap-message">

294 審查未運行,PR 顯示支出上限消息313 審查未運行,PR 顯示支出上限消息


310 在本地審查差異329 在本地審查差異

311</h2>330</h2>

312 331 

313[`/code-review` 命令](/docs/zh-TW/commands)在您的終端中審查差異,無需安裝 GitHub App。在任何 Claude Code 工作階段中運行它:它報告正確性錯誤和 重用、簡化和效率清理。預設情況下,本地審查涵蓋您分支相對於其上游的提交,加上工作樹中的任何未提交變更。傳遞 `--comment` 以將發現結果作為內聯 PR 評論發佈,或傳遞 `--fix` 以在審查後將發現結果應用到您的工作樹。332[`/code-review` 命令](/docs/zh-TW/commands)在您的終端中審查差異,無需安裝 GitHub App。它報告正確性錯誤和重用、簡化和效率清理。

314 333 

315較低的[努力級別](/docs/zh-TW/model-config#adjust-effort-level)返回較少、更高信心的發現,而 `high` 到 `max` 提供更廣泛的覆蓋範圍,可能包括不確定的發現。沒有努力參數時,審查使用工作階段的當前努力。若要審查預設差異以外的內容,請傳遞目標:檔案路徑、PR 編號、分支名稱或參考範圍,例如 `main...my-feature`。參考範圍形式審查從 `my-feature` 到 `main` 的提取請求將包含的已提交差異,無論分支的上游如何配置。334`/review` 是 `/code-review` 的別名;在 v2.1.223 之前,它是一個單獨的命令,對 GitHub pull request 執行單次通過、唯讀審查。

316 335 

317`/code-review ultra --fix` 在雲中運行更深入的 [ultrareview](/docs/zh-TW/ultrareview),然後在它們到達您的工作階段時將其發現結果應用到您的工作樹。Ultrareview 使用其自己的範圍:您的當前分支相對於儲存庫的預設分支,加上工作樹中的任何未提交和已暫存變更。336<Steps>

337 <Step title="執行 /code-review">

338 從您正在工作的工作階段中,執行命令:

318 339 

319該命令在 v2.1.147 之前被命名為 `/simplify`,當時它預設應用修復。從 v2.1.154 開始,`/simplify` 運行單獨的僅清理審查,該審查應用修復而不尋找錯誤。如果您編寫了 `/simplify` 用於尋找錯誤,請切換到 `/code-review --fix`,它保持不變。340 ```text theme={null}

341 /code-review

342 ```

343 

344 它審查您分支相對於其上游的提交,加上任何未提交的變更,因此它需要在分支或工作樹中有工作才能有內容可報告。若要審查其他內容,請傳遞目標:檔案路徑、PR 編號、分支名稱或參考範圍,例如 `main...my-feature`。

345 

346 您也可以新增旗標:

347 

348 * `--fix`:在審查後將發現結果應用到您的工作樹

349 * `--comment`:將發現結果作為內聯評論發佈在 GitHub pull request 上,或作為單一備註發佈在 GitLab merge request 上

350 * `--post`:在 `github.com` pull request 的 `ultra` 雲審查上,在啟動對話框中預先選擇將完成的發現結果發佈到 PR;請參閱[將發現結果發佈到 pull request](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更新版本

351 

352 當您為 GitLab merge request 傳遞 `--comment` 時,Claude Code 透過 GitLab 的 `glab` CLI 發佈發現結果。需要 Claude Code v2.1.257 或更新版本。當 `glab` 未安裝時,Claude 會改為在終端中列印發現結果。

353 

354 將 merge request 作為其 URL 或 `!123` 參考傳遞。Claude Code 僅當簽出的來源在 `gitlab.com` 上時,才將裸數字或分支名稱視為 merge request。在自管理的 GitLab 執行個體上,傳遞 URL 或 `!123` 形式。

355 </Step>

356 

357 <Step title="繼續工作">

358 審查作為具有自己內容視窗的背景[子代理](/docs/zh-TW/sub-agents)執行,因此它不會填滿您的對話。發現結果在審查完成時到達您的對話。

359 </Step>

360 

361 <Step title="根據發現結果採取行動">

362 要求 Claude 修復審查發現的內容。如果您傳遞了 `--fix` 或 `--comment`,審查已經應用或發佈了其發現結果。

363 </Step>

364</Steps>

365 

366Claude 在這兩個執行中都將發現結果報告為回覆中的文字,即使主應用程式要求發現結果清單:

367 

368* 在終端工作階段中,其中 `/code-review` 作為[分叉子代理](/docs/zh-TW/skills#run-skills-in-a-subagent)執行審查

369* 在具有文字或 JSON 輸出的 `-p` 執行中

370 

371在要求發現結果清單的主應用程式中,例如[桌面應用程式](/docs/zh-TW/desktop),Claude 透過 [`ReportFindings` 工具](/docs/zh-TW/tools-reference)報告審查的發現結果。Claude Code 將報告呈現為發現結果清單,每個項目顯示檔案位置、單句摘要和類別標籤,例如當發現結果包含時的 `correctness`。主應用程式要求適用於每個努力級別,需要 Claude Code v2.1.218 或更新版本。

372 

373當 Claude 稍後在工作階段中修復報告的發現結果時,它會再次報告它們,Claude Code 會將更新的發現結果清單中的每個發現結果標記為已修復、已跳過或無需變更。

374 

375<h3 id="what-the-review-reads-and-edits">

376 審查讀取和編輯的內容

377</h3>

378 

379審查遵循您的 `CLAUDE.md`,就像任何 Claude Code 工作階段一樣,但它不讀取 [`REVIEW.md`](#review-md)。背景審查在您工作階段的[檢查點](/docs/zh-TW/checkpointing#subagent-edits-not-restored)之外應用其 `--fix` 編輯,因此 `/rewind` 不會撤銷它們;使用 git 來還原它們。當審查[在前景中執行](#run-in-the-foreground)時,它在您自己的回合期間編輯您的工作樹,因此 `/rewind` 照常還原其編輯。

380 

381<h3 id="tune-effort-and-arguments">

382 調整努力和引數

383</h3>

384 

385傳遞[努力級別](/docs/zh-TW/model-config#adjust-effort-level)以權衡覆蓋範圍和信心。在 `low` 和 `medium` 時,審查僅報告它最有信心的發現結果,因此您看到的誤報較少;`high` 到 `max` 擴大覆蓋範圍,可能包括審查不太確定的發現結果。

386 

387當您未輸入級別時,審查會重用您上次輸入的 `low` 到 `max` 級別,即使在較早的工作階段中,Claude Code 會顯示通知,例如 `重用 high 努力,您上次輸入的級別`。輸入級別,例如 `/code-review high`,以變更稍後執行重用的內容;您在非互動式 `-p` 執行中傳遞的級別不會更新它。`ultra` 既不更新也不使用記住的級別。如果您從未輸入過級別,審查會使用工作階段的當前努力。在 v2.1.223 之前,沒有級別的 `/code-review` 始終使用工作階段的當前努力。

388 

389在努力級別和旗標之後,Claude Code 以以下兩種方式之一讀取該行的其餘部分:

390 

391* **不使用 `ultra`**:左邊的所有內容都是審查目標,即使它以另一個命令名稱開頭。`/code-review /fix-issue 123` 以 `/fix-issue 123` 作為目標文字進行審查,而不是將 `/fix-issue` 作為第二個[堆疊技能](/docs/zh-TW/skills#pass-arguments-to-skills)載入。在 v2.1.218 之前,堆疊在 `/code-review` 之後的命令會展開為其自己的技能。

392* **使用 `ultra`**:Claude Code 將單個單詞讀取為基礎分支或 PR 編號,並將不命名分支或 PR 的較長文字轉換為[附加到審查的備註](/docs/zh-TW/ultrareview#pass-a-request-in-plain-words)。`/code-review ultra check my auth changes` 審查您的當前分支,Claude 將發現結果與您的備註相關聯。

393 

394<h3 id="run-in-the-foreground">

395 在前景中執行

396</h3>

397 

398審查預設在背景中執行;在 v2.1.218 之前,它在您的對話中執行。在以下情況下,它改為在前景中執行:

399 

400* 您在較早的審查仍在進行時再次執行 `/code-review`

401* 您以非互動式模式執行它,使用 `-p` 旗標或 Agent SDK;Claude Code 等待審查並在回應中包含發現結果,除了 `ultra`,它[啟動雲審查而不等待](#escalate-to-ultrareview)

402* 您將 [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/zh-TW/env-vars) 設定為 `1`,這也會關閉所有其他背景工作功能

403 

404<h3 id="let-claude-start-the-review">

405 讓 Claude 開始審查

406</h3>

407 

408Claude 可以自行開始 `/code-review`。要求它以純文字審查您的變更,它可以執行技能而無需您輸入命令,[排程工作](/docs/zh-TW/scheduled-tasks)以 `/code-review` 作為其提示執行審查。

409 

410排程工作永遠不會啟動[雲審查](#escalate-to-ultrareview),因此排程 `/code-review` 時不使用 `ultra` 引數。

411 

412若要在保持 `/code-review` 可供您輸入的同時停止 Claude 和排程工作開始審查,請將 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 項目新增到[設定檔](/docs/zh-TW/settings#where-settings-live),例如 `~/.claude/settings.json`:

413 

414```json theme={null}

415{

416 "skillOverrides": {

417 "code-review": "user-invocable-only"

418 }

419}

420```

421 

422在 v2.1.246 之前,Claude 僅在從 Anthropic 擷取的功能旗標開啟它的地方自行開始 `/code-review`。在[不擷取功能旗標的工作階段](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)中,`/code-review` 僅在您輸入時執行,排程的 `/code-review` 作為純文字到達 Claude。

423 

424<h3 id="escalate-to-ultrareview">

425 升級到 ultrareview

426</h3>

427 

428`/code-review ultra --fix` 在雲中執行更深入的 [ultrareview](/docs/zh-TW/ultrareview),然後在它們回到您的工作階段時將其發現結果應用到您的工作樹。

429 

430Ultrareview 使用其自己的範圍:您的當前分支相對於儲存庫的預設分支,加上工作樹中的任何未提交和已暫存變更。對於命名為認證或金鑰的檔案(例如 `.env` 和 `*.tfvars` 檔案),Claude Code 遵循[將本地儲存庫上傳到雲工作階段](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)的規則。傳遞分支名稱,例如 `/code-review ultra develop`,以與不同的基礎進行比較。

431 

432當目標是 `github.com` pull request 時,您可以讓 Claude[將完成的發現結果發佈到 PR](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)作為來自您 GitHub 帳戶的評論。需要 Claude Code v2.1.227 或更新版本。

433 

434<Note>

435 Ultrareview 需要使用 claude.ai 帳戶進行身份驗證,在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用,或對於啟用了零資料保留的組織不可用。當 ultrareview 不可用時,`/code-review ultra` 會在您的工作階段中執行本地審查。

436</Note>

437 

438若要從指令碼或 CI 開始雲審查,請執行 `claude -p '/code-review ultra'`。Claude Code 啟動審查並列印用於追蹤它的連結。需要 Claude Code v2.1.218 或更新版本。

439 

440當審查會計費[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)時,Claude Code 在啟動前停止,因為計費確認需要互動式工作階段。改為執行 [`claude ultrareview` 子命令](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively);透過執行它,您同意該費用。

441 

442該命令在 v2.1.147 之前被命名為 `/simplify`,當時它預設應用修復。`/simplify` 執行單獨的僅清理審查,該審查應用修復而不尋找錯誤。如果您編寫了 `/simplify` 用於尋找錯誤,請切換到 `/code-review --fix`。

320 443 

321<h2 id="related-resources">444<h2 id="related-resources">

322 相關資源445 相關資源

323</h2>446</h2>

324 447 

325Code Review 設計用於與 Claude Code 的其餘部分一起工作。如果您想在開啟 PR 之前在本地運行審查、需要自託管設定,或想深入了解 `CLAUDE.md` 如何在工具中塑造 Claude 的行為,這些頁面是很好的下一步:

326 

327* [Commands](/docs/zh-TW/commands):在本地 Claude Code 工作階段中運行 `/code-review` 以在推送前檢查差異448* [Commands](/docs/zh-TW/commands):在本地 Claude Code 工作階段中運行 `/code-review` 以在推送前檢查差異

328* [GitHub Actions](/docs/zh-TW/github-actions):在您自己的 GitHub Actions 工作流中運行 Claude,以實現超越程式碼審查的自訂自動化449* [GitHub Actions](/docs/zh-TW/github-actions):在您自己的 GitHub Actions 工作流中運行 Claude,以實現超越程式碼審查的自訂自動化

329* [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd):GitLab 管道的自託管 Claude 集成450* [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd):GitLab 管道的自託管 Claude 集成

330* [Memory](/docs/zh-TW/memory):`CLAUDE.md` 文件如何在 Claude Code 中工作451* [Memory](/docs/zh-TW/memory):`CLAUDE.md` 文件如何在 Claude Code 中工作

331* [Analytics](/docs/zh-TW/analytics):追蹤超越程式碼審查的 Claude Code 使用情況452* [Analytics](/docs/zh-TW/analytics):追蹤超越程式碼審查的 Claude Code 使用情況

453* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle):自動化審查如何作為 Anthropic 安全開發流程的一層

commands.md +105 −104

Details

36 所有命令36 所有命令

37</h2>37</h2>

38 38 

39下表列出了 Claude Code 中包含的所有命令。大多數是內建命令,其行為已編碼到 CLI 中。有兩種類型的條目被標記:39下表列出 Claude Code 中包含的所有命令。大多數是內建命令,其行為已編碼到 CLI 中。有兩種類型的項目被標記:

40 40 

41* **[Skill](/docs/zh-TW/skills#bundled-skills)**:一個捆綁的 skill。它的工作方式與您自己編寫的 skill 相同:一個提示詞交給 Claude。41* **[Skill](/docs/zh-TW/skills#bundled-skills)**:一個捆綁的技能。它的工作方式與您自己編寫的技能相同:一個提示詞交給 Claude。

42 * `/verify` 僅在您調用它時運行。在 v2.1.215 之前,Claude 也可以自動運行 `/verify`。42 * `/verify` 僅在您調用時運行。在 v2.1.215 之前,Claude 也可以自行運行 `/verify`。

43* **[Workflow](/docs/zh-TW/workflows#bundled-workflows)**:一個捆綁的[動態工作流](/docs/zh-TW/workflows),將工作分散到許多子代理中,並在後台運行。43* **[Workflow](/docs/zh-TW/workflows#bundled-workflows)**:一個捆綁的[動態工作流](/docs/zh-TW/workflows),可以跨多個子代理展開工作並在後台運行。

44 * `/deep-research` 僅在您調用它時運行。在 v2.1.218 之前,Claude 也可以自動啟動它。44 * `/deep-research` 僅在您調用時運行。在 v2.1.218 之前,Claude 也可以自行啟動它。

45 45 

46要添加您自己的命令,請參閱 [skills](/docs/zh-TW/skills)。46要添加您自己的命令,請參閱 [skills](/docs/zh-TW/skills)。

47 47 

48在下表中,`<arg>` 表示必需的參數,`[arg]` 表示可選參數。48在下表中,`<arg>` 表示必需的引數,`[arg]` 表示可選的引數。

49 49 

50<Note>50<Note>

51 並非每個命令都對每個使用者顯示。可用性取決於您的平台、方案和環境。例如,`/desktop` 僅在 macOS 和 x64 Windows 上使用 Claude 訂閱登入時顯示,而 `/upgrade` 在企業方案上不顯示。51 並非每個命令都對每個使用者顯示。可用性取決於您的平台、方案和環境。例如,`/desktop` 僅在 macOS 和 x64 Windows 上使用 Claude 訂閱登入時顯示,而 `/upgrade` 在企業方案上不顯示。

52</Note>52</Note>

53 53 

54| 命令 | 用途 |54| 命令 | 用途 |

55| :----------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |55| :----------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

56| `/add-dir <path>` | 添加一個工作目錄以在當前會話期間進行檔案存取。輸入部分路徑以查看匹配的目錄建議;按 `Tab` 接受一個。大多數 `.claude/` 設定[不會從添加的目錄中被發現](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)。您無法添加大多數[網路路徑](/docs/zh-TW/errors#working-directory-is-a-network-path),例如 `\\server\share`。成功添加後,您的 [`DirectoryAdded` hooks](/docs/zh-TW/hooks#directoryadded) 會運行。當您在 Claude 正在回應時運行它時,Claude Code 會要求您立即確認目錄,一旦您確認,Claude 在同一輪中的下一個工具調用就可以存取它。在 v2.1.234 之前,Claude Code 會將命令排隊直到輪次結束 |56| `/add-dir <path>` | 添加工作目錄以在目前工作階段期間進行檔案存取。輸入部分路徑以查看匹配的目錄建議;按 `Tab` 接受一個。大多數 `.claude/` 設定[不會從添加的目錄中發現](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)。您無法添加大多數[網路路徑](/docs/zh-TW/errors#working-directory-is-a-network-path),例如 `\\server\share`。成功添加後,您的 [`DirectoryAdded` hooks](/docs/zh-TW/hooks#directoryadded) 會運行。當您在 Claude 回應時運行它時,Claude Code 會要求您立即確認目錄,一旦您確認,Claude 在同一輪中的下一個工具呼叫就可以存取它。在 v2.1.234 之前,Claude Code 會將命令排隊直到輪次完成 |

57| `/advisor [model\|off]` | 啟用或禁用[顧問工具](/docs/zh-TW/advisor),它在任務期間的關鍵時刻諮詢第二個模型以獲得指導。接受 `fable`、`opus`、`sonnet` 或完整的模型 ID。`fable` 需要 [Fable 存取](/docs/zh-TW/advisor#choose-an-advisor-model)。沒有參數時,打開選擇器。在沒有互動式終端的會話中,或通過 [Remote Control](/docs/zh-TW/remote-control#limitations),將模型或 `off` 作為參數傳遞;在那裡沒有參數時,命令將當前顧問列印為文字。這些形式需要 Claude Code v2.1.260 或更高版本 |57| `/advisor [model\|off]` | 啟用或停用[顧問工具](/docs/zh-TW/advisor),它在任務期間的關鍵時刻諮詢第二個模型以獲得指導。接受 `fable`、`opus`、`sonnet` 或完整的模型 ID。`fable` 需要[Fable 存取](/docs/zh-TW/advisor#choose-an-advisor-model)。沒有引數時,打開選擇器。在沒有互動式終端的工作階段中,或通過[遠端控制](/docs/zh-TW/remote-control#limitations),將模型或 `off` 作為引數傳遞;在那裡沒有引數時,命令會將目前顧問列印為文字。這些形式需要 Claude Code v2.1.260 或更新版本 |

58| `/agents` | 從 v2.1.198 開始,運行 `/agents` 會列印一個提醒,要求您要求 Claude 創建或管理[子代理](/docs/zh-TW/sub-agents),或直接編輯 `.claude/agents/` 或 `~/.claude/agents/`。在 v2.1.197 及更早版本上,打開一個互動式介面用於創建和管理子代理設定 |58| `/agents` | 從 v2.1.198 開始,運行 `/agents` 會列印提醒以要求 Claude 建立或管理[子代理](/docs/zh-TW/sub-agents),或直接編輯 `.claude/agents/` 或 `~/.claude/agents/`。在 v2.1.197 及更早版本上,打開用於建立和管理子代理設定的互動式介面 |

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

60| `/auto-mode-setup` | [從您的專案和最近的會話草擬 `autoMode.environment` 條目](/docs/zh-TW/auto-mode-config#generate-environment-entries),然後檢查草稿並將其保存到您的使用者設定。需要 Pro、Max 或 Team 方案以及 Claude Code v2.1.228 或更高版本。在原生 Windows 上,需要 v2.1.233 或更高版本 |60| `/auto-mode-setup` | [從您的專案和最近的工作階段草擬 `autoMode.environment` 項目](/docs/zh-TW/auto-mode-config#generate-environment-entries),然後檢查草稿並將其保存到您的使用者設定。需要 Pro、Max 或 Team 方案以及 Claude Code v2.1.228 或更新版本。在原生 Windows 上,需要 v2.1.233 或更新版本 |

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

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

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

64| `/batch <instruction>` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 在整個程式碼庫中並行協調大規模更改。研究程式碼庫,將工作分解為 5 到 30 個獨立單位,並呈現一個計畫。一旦批准,在隔離的 [git worktree](/docs/zh-TW/worktrees) 中為每個單位生成一個[背景子代理](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)。每個子代理實現其單位、運行測試並打開一個拉取請求。需要一個 git 儲存庫。示例:`/batch migrate src/ from JavaScript to TypeScript` |64| `/batch <instruction>` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 跨程式碼庫並行協調大規模變更。研究程式碼庫,將工作分解為 5 到 30 個獨立單位,並呈現計畫。獲得批准後,在隔離的 [git worktree](/docs/zh-TW/worktrees) 中為每個單位生成一個[背景子代理](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)。每個子代理實現其單位、運行測試並打開拉取請求。需要 git 儲存庫。範例:`/batch migrate src/ from JavaScript to TypeScript` |

65| `/branch [name]` | 在此點創建當前對話的一個分支,以便您可以嘗試不同的方向而不會丟失當前的對話。切換您進入分支並保留原始分支,您可以使用 `/resume` 返回到它。要運行一個副本作為單獨的[背景會話](/docs/zh-TW/agent-view)而不是切換進入它,請使用 `/fork`;要將一個側面任務交給一個[子代理](/docs/zh-TW/sub-agents),該子代理報告回此對話,請使用 `/subtask` |65| `/branch [name]` | 在此點建立目前對話的分支,以便您可以嘗試不同的方向而不會丟失目前的對話。切換到分支並保留原始分支,您可以使用 `/resume` 返回。要運行副本作為單獨的[背景工作階段](/docs/zh-TW/agent-view)而不是切換到它,請使用 `/fork`;要將側面任務交給[子代理](/docs/zh-TW/sub-agents)以報告回此對話,請使用 `/subtask` |

66| `/btw [question]` | 詢問一個[側面問題](/docs/zh-TW/interactive-mode#side-questions-with-%2Fbtw)關於當前會話而不添加到對話中。如果您運行 `/btw` 而沒有問題,Claude Code 會顯示您最近的側面問題,以便您可以瀏覽較早的答案;如果您還沒有提出一個,Claude Code 會列印一個使用行。在 v2.1.212 之前,`/btw` 需要一個問題 |66| `/btw [question]` | 詢問有關目前工作階段的[側面問題](/docs/zh-TW/interactive-mode#side-questions-with-%2Fbtw)而不添加到對話中。如果您運行 `/btw` 而沒有問題,Claude Code 會顯示您最近的側面問題,以便您可以瀏覽較早的答案;如果您還沒有提出問題,Claude Code 會列印使用行。在 v2.1.212 之前,`/btw` 需要一個問題 |

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

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

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

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 為您的專案語言加載 [Claude API](https://platform.claude.com/docs/en/api/overview) 和 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 參考資料。當您的程式碼導入 `anthropic` 或 `@anthropic-ai/sdk` 時也會自動啟動。運行 `migrate` 以將現有 Claude API 程式碼更新到更新的模型。運行 `upgrade` 以跨主要版本移動您的專案的 Anthropic SDK 依賴項,目前是 Python `anthropic` 套件從 0.x 到 1.x。運行 `managed-agents-onboard` 以獲得創建新 Managed Agent 的逐步說明。運行 `prompt-audit` 以標記在您的提示詞、skill 和工具描述中為舊模型編寫的指示,並提議修復作為差異。運行 `cost-optimize` 以分析您的專案的 Claude API 支出流向何處,並提議從提示詞快取、修剪不需要的輸入和輸出令牌、批次處理、工作量和模型選擇等選項中節省,一次一個更改。運行 `build-eval` 以為您的 Claude 驅動的應用程式構建一個評估集,並運行 `hillclimb` 以針對現有評估迭代改進應用程式。`prompt-audit` 子命令需要 Claude Code v2.1.221 或更高版本,`upgrade` 需要 v2.1.236 或更高版本,`cost-optimize` 需要 v2.1.247 或更高版本,`build-eval` 和 `hillclimb` 需要 v2.1.259 或更高版本 |70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 為您的專案語言載入 [Claude API](https://platform.claude.com/docs/en/api/overview) 和 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 參考資料。當您的程式碼匯入 `anthropic` 或 `@anthropic-ai/sdk` 時也會自動啟動。運行 `migrate` 以將現有 Claude API 程式碼更新到較新的模型。運行 `upgrade` 以跨主要版本移動您的專案的 Anthropic SDK 依賴項,目前是 Python `anthropic` 套件從 0.x 到 1.x。運行 `managed-agents-onboard` 以獲得建立新 Managed Agent 的逐步解說。運行 `prompt-audit` 以標記在您的提示詞、技能和工具描述中為較舊模型編寫的指示,並提議修復作為差異。運行 `cost-optimize` 以分析您的專案的 Claude API 支出流向何處,並提議從 prompt caching、修剪不需要的輸入和輸出令牌、批次處理、工作量和模型選擇等選項中節省成本,一次一個變更。運行 `build-eval` 以為您的 Claude 驅動的應用程式建立評估集,以及 `hillclimb` 以針對現有評估迭代改進應用程式。`prompt-audit` 子命令需要 Claude Code v2.1.221 或更新版本,`upgrade` 需要 v2.1.236 或更新版本,`cost-optimize` 需要 v2.1.247 或更新版本,`build-eval` 和 `hillclimb` 需要 v2.1.259 或更新版本 |

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

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

73| `/color [color\|default]` | 為當前會話設定提示詞欄顏色。可用顏色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或運行時不帶參數以選擇隨機顏色。當 [Remote Control](/docs/zh-TW/remote-control) 連接時,顏色會同步到 claude.ai/code。也可在非互動模式 (`-p`) 中使用;需要 Claude Code v2.1.205 或更高版本 |73| `/color [color\|default]` | 設定目前工作階段的提示詞欄顏色。可用顏色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或運行時不帶引數以選擇隨機顏色。當[遠端控制](/docs/zh-TW/remote-control)連接時,顏色會同步到 claude.ai/code。也可在非互動模式 (`-p`) 中使用;需要 Claude Code v2.1.205 或更新版本 |

74| `/compact [instructions]` | 通過總結到目前為止的對話來釋放上下文。可選地傳遞摘要的焦點指示。請參閱[壓縮如何處理規則、skill 和記憶檔案](/docs/zh-TW/context-window#what-survives-compaction) |74| `/compact [instructions]` | 通過總結到目前為止的對話來釋放上下文。可選地傳遞焦點指示以進行摘要。請參閱[壓縮如何處理規則、技能和記憶檔案](/docs/zh-TW/context-window#what-survives-compaction) |

75| `/config [key=value ...]` | 打開[設定](/docs/zh-TW/settings)介面以調整主題、模型、[輸出樣式](/docs/zh-TW/output-styles)和其他偏好設定。從 v2.1.181 開始,傳遞一個或多個 `key=value` 對以直接設定設定而不打開介面,例如 `/config thinking=false`。從 v2.1.182 開始,也接受命名的速記鍵,例如 `/config theme=dark` 或 `/config model=sonnet`。`key=value` 形式也適用於非互動模式 (`-p`) 和來自 Claude 行動應用程式通過 [Remote Control](/docs/zh-TW/remote-control)。`key=value` 形式無法打開需要您在面板中確認的設定,例如 [`autoContinueAtUsageLimit`](/docs/zh-TW/interactive-mode#turn-automatic-continue-off),儘管它可以關閉一個。運行 `/config --help` 以列出它接受的鍵。別名:`/settings` |75| `/config [key=value ...]` | 打開[設定](/docs/zh-TW/settings)介面以調整主題、模型、[輸出樣式](/docs/zh-TW/output-styles)和其他偏好設定。傳遞一個或多個 `key=value` 對以直接設定設定而不打開介面,例如 `/config thinking=false`、`/config theme=dark` 或 `/config model=sonnet`。`key=value` 形式也適用於非互動模式 (`-p`) 和來自 Claude 行動應用程式通過[遠端控制](/docs/zh-TW/remote-control)。`key=value` 形式無法打開需要您在面板中確認的設定,例如 [`autoContinueAtUsageLimit`](/docs/zh-TW/interactive-mode#turn-automatic-continue-off),儘管它可以關閉一個。運行 `/config --help` 以列出它接受的鍵。別名:`/settings` |

76| `/context [all]` | 將當前上下文使用情況視覺化為彩色網格。顯示上下文繁重工具、記憶體膨脹和容量警告的優化建議。當對話超過上下文視窗時,輸出包括一個[警告](/docs/zh-TW/errors#context-exceeds-the-token-limit),顯示您超過限制的距離以及哪個命令釋放空間。在[全螢幕模式](/docs/zh-TW/fullscreen)中,`/context` 會摺疊每項細目以保持網格可見。傳遞 `all` 以展開它 |76| `/context [all]` | 將目前上下文使用情況視覺化為彩色網格。顯示上下文繁重工具、記憶膨脹和容量警告的最佳化建議。當對話超過上下文視窗時,輸出包括[警告](/docs/zh-TW/errors#context-exceeds-the-token-limit),顯示您超過限制的距離以及哪個命令釋放空間。在[全螢幕模式](/docs/zh-TW/fullscreen)中,`/context` 會摺疊每項細目以保持網格可見。傳遞 `all` 以展開它 |

77| `/copy [N]` | 將最後的助手回應複製到剪貼簿。傳遞一個數字 `N` 以複製第 N 個最新回應:`/copy 2` 複製倒數第二個。當存在程式碼區塊時,顯示一個互動式選擇器以選擇單個區塊或完整回應。在選擇器中按 `w` 以將選擇寫入檔案而不是剪貼簿,這在 SSH 上很有用 |77| `/copy [N]` | 將最後的助手回應複製到剪貼簿。傳遞數字 `N` 以複製第 N 個最新回應:`/copy 2` 複製倒數第二個。當存在程式碼區塊時,顯示互動式選擇器以選擇個別區塊或完整回應。在選擇器中按 `w` 以將選擇寫入檔案而不是剪貼簿,這在 SSH 上很有用 |

78| `/cost` | `/usage` 的別名 |78| `/cost` | `/usage` 的別名 |

79| `/dataviz [request]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 圖表、圖形和儀表板的設計指導。Claude 為資料選擇圖表形式,按角色分配顏色,使用捆綁的指令碼驗證調色板的色盲安全性和對比度,並應用標記、互動和可存取性規則。使用您用自己的調色板替換的品牌中立佔位符調色板。需要 Claude Code v2.1.198 或更高版本 |79| `/dataviz [request]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 圖表、圖形和儀表板的設計指導。Claude 為資料選擇圖表形式,按角色分配顏色,使用捆綁的指令碼驗證調色板以確保色盲安全和對比度,並應用標記、互動和可存取性規則。使用您用自己的調色板替換的品牌中立佔位符調色板。需要 Claude Code v2.1.198 或更新版本 |

80| `/debug [description]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 為當前會話啟用偵錯日誌記錄並通過讀取會話偵錯日誌來排除故障。除非您使用 `claude --debug` 啟動,否則偵錯日誌記錄預設為關閉,因此在會話中途運行 `/debug` 會從該點開始捕獲日誌。可選地描述問題以集中分析 |80| `/debug [description]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 為目前工作階段啟用偵錯日誌記錄並通過讀取工作階段偵錯日誌來排除故障。除非您使用 `claude --debug` 啟動,否則偵錯日誌記錄預設為關閉,因此在工作階段中期運行 `/debug` 會從該點開始捕獲日誌。可選地描述問題以集中分析 |

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

82| `/design [brief]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 在一個畫布上草擬 UI 模型、螢幕流、著陸頁或海報作為畫板,發佈為一個[工件](/docs/zh-TW/artifacts#draft-a-design-canvas),運行 Claude Design 編輯器的研究預覽,例如 `/design a settings screen for a mobile banking app`。在為您的帳戶啟用保存的地方,您編輯畫布上的畫板並保存以發佈新版本;否則您查看草稿並將其匯出為 PNG 或 PDF。需要一個[工件可用](/docs/zh-TW/artifacts#availability)的會話和 Claude Code v2.1.234 或更高版本。在 Anthropic API 上可用。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上,工件不可用,因此命令在那裡不可用 |82| `/design [brief]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 在一個畫布上草擬 UI 模型、螢幕流程、登陸頁面或海報作為畫板,發佈為[工件](/docs/zh-TW/artifacts#draft-a-design-canvas),運行 Claude Design 編輯器的研究預覽,例如 `/design a settings screen for a mobile banking app`。在為您的帳戶啟用保存的地方,您可以編輯畫布上的畫板並保存以發佈新版本;否則您可以查看草稿並將其匯出為 PNG 或 PDF。需要[工件可用](/docs/zh-TW/artifacts#availability)的工作階段和 Claude Code v2.1.234 或更新版本。在 Anthropic API 上可用。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上,工件不可用,因此命令在那裡不可用 |

83| `/design-login` | 使用您的 claude.ai 帳戶授權 `/design-sync` 的設計系統存取 |83| `/design-login` | 使用您的 claude.ai 帳戶授權 `/design-sync` 的設計系統存取 |

84| `/design-sync [hint]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 轉換您的儲存庫的 React 設計系統並將其上傳到 [Claude Design](https://claude.ai/design),以便它生成的設計使用您的真實元件。可選地命名設計系統,例如 `/design-sync Acme DS`。首次同步驗證每個元件,在大型儲存庫上可能需要幾個小時。在 Anthropic API 上可用;在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上,底層工具無法到達 claude.ai,因此命令不可用 |84| `/design-sync [hint]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 轉換您的儲存庫的 React 設計系統並將其上傳到 [Claude Design](https://claude.ai/design),以便它生成的設計使用您的真實元件。可選地命名設計系統,例如 `/design-sync Acme DS`。首次同步會驗證每個元件,在大型儲存庫上可能需要幾個小時。在 Anthropic API 上可用。它需要 claude.ai,CLI 在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上不聯絡,或通過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway#availability-and-limitations),因此命令在那裡不可用 |

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

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

87| `/doctor` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 運行一個設定檢查,診斷問題並可以修復它們。檢查安裝健康狀況,包括重複或遺留的安裝、`PATH` 問題和無法解析的設定檔案。查找未使用的 skill、MCP 伺服器和外掛程式與其上下文成本,標記緩慢的 [hooks](/docs/zh-TW/hooks),並檢查您的[發佈頻道](/docs/zh-TW/setup#configure-release-channel)上是否有更新版本。根據簽入的本地 `CLAUDE.md` 檔案進行重複資料刪除,通過削減 Claude 可以從程式碼庫派生的內容來修剪簽入的 [`CLAUDE.md`](/docs/zh-TW/memory#my-claude-md-is-too-large) 檔案,並將保留的始終加載的指導遷移到 [skill](/docs/zh-TW/skills) 和按需加載的嵌套 `CLAUDE.md` 檔案中。還提供使 [auto mode](/docs/zh-TW/permissions#permission-modes) 成為您的預設值,並[預先批准](/docs/zh-TW/permissions)經常被拒絕的唯讀命令。首先報告發現並在更改任何內容之前要求確認。從終端,`claude doctor` 列印唯讀安裝診斷而不啟動會話。別名:`/checkup`。`CLAUDE.md` 修剪檢查需要 Claude Code v2.1.206 或更高版本。在 v2.1.205 之前,`/doctor` 打開一個唯讀診斷螢幕,按 `f` 將報告發送給 Claude |87| `/doctor` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 運行設定檢查以診斷和修復問題。檢查安裝健康狀況,包括重複或遺留的安裝、`PATH` 問題和無法解析的設定檔案。查找未使用的技能、MCP 伺服器和外掛程式與其上下文成本,標記緩慢的 [hooks](/docs/zh-TW/hooks),並檢查您的[發佈頻道](/docs/zh-TW/setup#configure-release-channel)上是否有較新版本。根據簽入的檔案對本地 `CLAUDE.md` 檔案進行重複資料刪除,通過切割 Claude 可以從程式碼庫衍生的內容來修剪簽入的 [`CLAUDE.md`](/docs/zh-TW/memory#my-claude-md-is-too-large) 檔案,並將保留的始終載入的指導遷移到[技能](/docs/zh-TW/skills)和按需載入的嵌套 `CLAUDE.md` 檔案中。還提供使 [auto mode](/docs/zh-TW/permissions#permission-modes) 成為您的預設值的選項,以及[預先批准](/docs/zh-TW/permissions)經常被拒絕的唯讀命令。首先報告發現並在進行任何變更前要求確認。從終端,`claude doctor` 列印唯讀安裝診斷而不啟動工作階段。別名:`/checkup`。CLAUDE.md 修剪檢查需要 Claude Code v2.1.206 或更新版本。在 v2.1.205 之前,`/doctor` 打開唯讀診斷螢幕,按 `f` 將報告發送給 Claude |

88| `/effort [level\|auto\|status]` | 設定[工作量級別](/docs/zh-TW/model-config#adjust-effort-level):`low` 到 `xhigh`、`max`、[`ultracode`](/docs/zh-TW/workflows#let-claude-decide-with-ultracode) 或 `auto`;`status` 列印它。`max` 和 `ultracode` 僅限會話;[`ultracode`](/docs/zh-TW/settings-reference#ultracode) 鍵持續存在。在 Claude 正在回應時運行它,一旦您確認[快取警告](/docs/zh-TW/prompt-caching#changing-effort-level)(如果 Claude Code 顯示一個),Claude Code 會將新級別應用於該輪中的下一個請求。在 v2.1.242 之前,Claude Code 從它從 Anthropic 獲取的功能標誌決定是在中途運行命令還是將其排隊直到輪次結束,並始終在不[獲取功能標誌](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的會話中排隊它,例如在[第三方提供者](/docs/zh-TW/third-party-integrations)上。在[工作量保持](/docs/zh-TW/model-config#adjust-effort-level)外的 `-p` 中工作 |88| `/effort [level\|auto\|status]` | 設定[工作量級別](/docs/zh-TW/model-config#adjust-effort-level):`low` 到 `xhigh`、`max`、[`ultracode`](/docs/zh-TW/workflows#let-claude-decide-with-ultracode) 或 `auto`;`status` 列印它。`max` 和 `ultracode` 僅限工作階段;[`ultracode`](/docs/zh-TW/settings-reference#ultracode) 鍵持續存在。在 Claude 回應時運行它,一旦您確認[快取警告](/docs/zh-TW/prompt-caching#changing-effort-level)(如果 Claude Code 顯示一個),Claude Code 會將新級別應用於該輪中的下一個請求。在 v2.1.242 之前,Claude Code 從它從 Anthropic 擷取的功能標誌決定是在中途運行命令還是將其排隊直到輪次完成,並始終在不[擷取功能標誌](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段中排隊,例如在[第三方提供者](/docs/zh-TW/third-party-integrations)上。在[工作量保持](/docs/zh-TW/model-config#adjust-effort-level)外的 `-p` 中工作 |

89| `/exit` | 退出 CLI。在附加的[背景會話](/docs/zh-TW/agent-view#attach-to-a-session)中,這會分離,會話保持運行。別名:`/quit` |89| `/exit` | 退出 CLI。在附加的[背景工作階段](/docs/zh-TW/agent-view#attach-to-a-session)中,這會分離並且工作階段保持運行。別名:`/quit` |

90| `/export [filename]` | 將當前對話匯出為純文字。使用檔案名,直接寫入該檔案。沒有,打開一個對話框以複製到剪貼簿或保存到檔案 |90| `/export [filename]` | 將目前對話匯出為純文字。使用檔案名,直接寫入該檔案。沒有,打開對話框以複製到剪貼簿或保存到檔案 |

91| `/fast [on\|off]` | 切換[快速模式](/docs/zh-TW/fast-mode)開啟或關閉。在 Claude 正在回應時運行它,Claude Code 會切換快速模式而不等待輪次結束,儘管運行中的輪次以其原始速度完成。在 v2.1.242 之前,Claude Code 從它從 Anthropic 獲取的功能標誌決定是在中途運行命令還是將其排隊直到輪次結束,並始終在不[獲取功能標誌](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的會話中排隊它。在非互動模式中的可用性受限於 `-p`;請參閱[切換快速模式](/docs/zh-TW/fast-mode#toggle-fast-mode)。需要 Claude Code v2.1.205 或更高版本 |91| `/fast [on\|off]` | 切換[快速模式](/docs/zh-TW/fast-mode)開啟或關閉。在 Claude 回應時運行它,Claude Code 會切換快速模式而不等待輪次結束,儘管運行中的輪次以其原始速度完成。在 v2.1.242 之前,Claude Code 從它從 Anthropic 擷取的功能標誌決定是在中途運行命令還是將其排隊直到輪次完成,並始終在不[擷取功能標誌](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段中排隊。非互動模式中的可用性受限於 `-p`;請參閱[切換快速模式](/docs/zh-TW/fast-mode#toggle-fast-mode)。需要 Claude Code v2.1.205 或更新版本 |

92| `/feedback [report]` | 發送有關 Claude Code 的產品回饋。打開與 [`/bug`](#all-commands) 相同的對話框,具有相同的同意步驟、發送規則和中途行為。在具有 [Claude 草擬回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)的會話中,不帶參數的 `/feedback` 改為打開草稿隊列,您可以在其中檢查、編輯、發送或丟棄 Claude 排隊的草稿;隊列包括一個選項以在對話框中編寫新報告。使用參數,對於 `/bug` 始終,對話框直接打開 |92| `/feedback [report]` | 發送有關 Claude Code 的產品回饋。打開與 [`/bug`](#all-commands) 相同的對話框,具有相同的同意步驟、發送規則和中途行為。在具有 [Claude 草擬回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)的工作階段中,不帶引數的 `/feedback` 改為打開草稿佇列,您可以在其中檢查、編輯、發送或丟棄 Claude 排隊的草稿;佇列包括在對話框中編寫新報告的選項。使用引數,以及對於 `/bug` 始終,對話框直接打開 |

93| `/fewer-permission-prompts` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 掃描您的文字記錄以查找常見的唯讀 Bash 和 MCP 工具調用,然後將優先允許清單添加到專案 `.claude/settings.json` 以減少權限提示 |93| `/fewer-permission-prompts` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 掃描您的文字記錄以查找常見的唯讀 Bash 和 MCP 工具呼叫,然後將優先允許清單添加到專案 `.claude/settings.json` 以減少權限提示 |

94| `/focus` | 切換焦點視圖,僅顯示您的最後一個提示詞、一行工具調用摘要和最終回應。工具調用摘要還計算在輪中啟動的子代理,並將完成的背景任務通知摺疊為單個計數。選擇在會話中持續存在;在設定中設定 [`viewMode`](/docs/zh-TW/settings-reference#viewmode) 以覆蓋它。僅在[全螢幕渲染](/docs/zh-TW/fullscreen)中可用。[VS Code 擴充功能](/docs/zh-TW/vs-code#use-the-prompt-box)提供其自己的焦點視圖作為命令菜單切換,存儲為擴充功能設定,獨立於 `viewMode` |94| `/focus` | 切換焦點檢視,僅顯示您的最後提示詞、帶有編輯差異統計的單行工具呼叫摘要和最終回應。工具呼叫摘要也計算在輪中啟動的子代理數量並將完成的背景任務通知摺疊為單一計數。選擇在工作階段間持續存在;在設定中設定 [`viewMode`](/docs/zh-TW/settings-reference#viewmode) 以覆蓋它。僅在[全螢幕渲染](/docs/zh-TW/fullscreen)中可用。[VS Code 擴充功能](/docs/zh-TW/vs-code#use-the-prompt-box)提供其自己的焦點檢視作為命令菜單切換,存儲為擴充功能設定,獨立於 `viewMode` |

95| `/fork [prompt]` | [將當前對話複製](/docs/zh-TW/agent-view#copy-the-session-with-%2Ffork)到新的背景會話並在此處繼續工作。傳遞一個提示詞,副本立即開始處理它;沒有它,它在代理視圖中等待其第一個提示詞。除非副本[就地編輯](/docs/zh-TW/agent-view#how-file-edits-are-isolated),Claude Code 指示它在進行程式碼更改之前創建自己的 worktree;隔離指示需要 Claude Code v2.1.221 或更高版本。要將側面任務交給子代理,其結果返回到此對話,請使用 `/subtask`;要自己切換到副本,請使用 `/branch`。需要 Claude Code v2.1.212 或更高版本;在 v2.1.161 到 v2.1.211 上,以及每當[代理視圖關閉](/docs/zh-TW/agent-view#turn-off-agent-view)時,`/fork` 改為啟動[分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) |95| `/fork [prompt]` | [將目前對話複製](/docs/zh-TW/agent-view#copy-the-session-with-%2Ffork)到新的背景工作階段並繼續在此工作。傳遞提示詞,副本立即開始處理它;沒有它會在代理檢視中等待其第一個提示詞。除非副本[就地編輯](/docs/zh-TW/agent-view#how-file-edits-are-isolated),Claude Code 會指示它在進行程式碼變更前建立自己的 worktree;隔離指示需要 Claude Code v2.1.221 或更新版本。要將側面任務交給子代理,其結果返回到此對話,請使用 `/subtask`;要自己切換到副本,請使用 `/branch`。需要 Claude Code v2.1.212 或更新版本;在 v2.1.161 到 v2.1.211 上,以及每當[代理檢視關閉](/docs/zh-TW/agent-view#turn-off-agent-view)時,`/fork` 改為啟動[分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) |

96| `/goal [condition\|clear]` | 設定一個[目標](/docs/zh-TW/goal):Claude 在輪次中保持工作,直到條件滿足或目標[因另一個原因清除](/docs/zh-TW/goal#how-evaluation-works)。沒有參數時,顯示當前或最近實現的目標。`clear`、`stop`、`off`、`reset`、`none` 或 `cancel` 會提前移除活動目標 |96| `/goal [condition\|clear]` | 設定[目標](/docs/zh-TW/goal):Claude 跨輪繼續工作直到條件滿足或目標[因另一個原因清除](/docs/zh-TW/goal#how-evaluation-works)。沒有引數時,顯示目前或最近達成的目標。`clear`、`stop`、`off`、`reset`、`none` 或 `cancel` 會提前移除活動目標 |

97| `/heapdump` | 寫入 JavaScript 堆快照和記憶體細目到 `~/Desktop`,或在沒有 Desktop 資料夾的 Linux 上寫入您的主目錄,用於診斷高記憶體使用情況。報告記憶體問題時僅附加 `-diagnostics.json` 檔案;`.heapsnapshot` 包含您的完整對話和認證,所以不要分享它。[從命令菜單隱藏](#how-the-command-menu-matches-what-you-type);完整輸入它。請參閱[如何處理輸出](/docs/zh-TW/troubleshooting#high-cpu-or-memory-usage) |97| `/heapdump` | 寫入 JavaScript 堆快照和記憶體細目到 `~/Desktop`,或在沒有 Desktop 資料夾的 Linux 上寫入您的主目錄,以診斷高記憶體使用情況。報告記憶體問題時僅附加 `-diagnostics.json` 檔案;`.heapsnapshot` 包含您的完整對話和認證,因此不要共享它。[從命令菜單隱藏](#how-the-command-menu-matches-what-you-type);完整輸入它。請參閱[如何處理輸出](/docs/zh-TW/troubleshooting#high-cpu-or-memory-usage) |

98| `/help` | 顯示幫助和可用命令 |98| `/help` | 顯示幫助和可用命令 |

99| `/hooks` | 查看工具事件的 [hook](/docs/zh-TW/hooks) 設定 |99| `/hooks` | 檢視工具事件的 [hook](/docs/zh-TW/hooks) 設定 |

100| `/ide` | 管理 IDE 整合並顯示狀態 |100| `/ide` | 管理 IDE 整合並顯示狀態 |

101| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | 將設定從您機器上的 OpenAI Codex、Google Gemini CLI 或 Cursor 帶入 Claude Code,包括指示檔案、MCP 伺服器、命令、子代理和 skill。在[非互動模式](/docs/zh-TW/headless)中使用 `-p`,`/import` 列出它找到的內容並給您確認導入的命令。添加 `--dry-run` 以預覽而不寫入任何內容,或 `--yes` 以跳過互動式選擇器。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上不可用。當您關閉[功能標誌獲取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)時也不可用。需要 Claude Code v2.1.213 或更高版本。從 Cursor 導入需要 v2.1.265 或更高版本 |101| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | 將 OpenAI Codex、Google Gemini CLI 或您機器上的 Cursor 的設定帶入 Claude Code,包括指示檔案、MCP 伺服器、命令、子代理和技能。在[非互動模式](/docs/zh-TW/headless)中使用 `-p`,`/import` 列出它找到的內容並給您確認匯入的命令。添加 `--dry-run` 以預覽而不寫入任何內容,或 `--yes` 以跳過互動式選擇器。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上不可用,或通過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)。當您關閉[功能標誌擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)時也不可用。需要 Claude Code v2.1.213 或更新版本。從 Cursor 匯入需要 v2.1.265 或更新版本 |

102| `/init` | 使用 `CLAUDE.md` 指南初始化專案。設定 `CLAUDE_CODE_NEW_INIT=1` 以獲得互動流,該流也會逐步說明 skill、hook 和個人記憶檔案。如果 `/init` 找到 OpenAI Codex 或 Google Gemini CLI 設定,它提供使用 `/import` 進行轉移 |102| `/init` | 使用 `CLAUDE.md` 指南初始化專案。設定 `CLAUDE_CODE_NEW_INIT=1` 以獲得互動式流程,也會逐步解說技能、hooks 和個人記憶檔案。如果 `/init` 找到 OpenAI Codex 或 Google Gemini CLI 設定,它會提供使用 `/import` 進行轉移 |

103| `/insights` | 生成一個 HTML 報告,分析您在此機器上的最近會話:您在哪些專案中工作、您如何使用 Claude Code、事情出錯的地方以及要嘗試的功能。在[雲會話](/docs/zh-TW/claude-code-on-the-web)中不可用。有關報告位置、保留和成本,請參閱[分析您的使用模式](/docs/zh-TW/costs#analyze-your-usage-patterns) |103| `/insights` | 生成 HTML 報告,分析您在此機器上的最近工作階段:您在哪些專案中工作、如何使用 Claude Code、事情出錯的地方以及要嘗試的功能。在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中不可用。有關報告位置、保留和成本,請參閱[分析您的使用模式](/docs/zh-TW/costs#analyze-your-usage-patterns) |

104| `/install-github-app` | 為儲存庫安裝 Claude GitHub App,可選步驟設定 [GitHub Actions](/docs/zh-TW/github-actions) 工作流程和機密。逐步引導您選擇儲存庫並配置整合。僅適用於 github.com 儲存庫。當您的儲存庫的 git 遠端在 gitlab.com 或 bitbucket.org 上時,命令會列印通知並退出,而不是啟動設定。要從 GitLab 管道運行 Claude Code,請參閱 [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd) |104| `/install-github-app` | 為儲存庫安裝 Claude GitHub App,可選步驟設定 [GitHub Actions](/docs/zh-TW/github-actions) 工作流程和機密。逐步解說您選擇儲存庫和設定整合。僅適用於 github.com 儲存庫。當您的儲存庫的 git 遠端在 gitlab.com 或 bitbucket.org 上時,命令會列印通知並退出而不是啟動設定。要從 GitLab 管道運行 Claude Code,請參閱 [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd) |

105| `/install-slack-app` | 安裝 Claude Slack 應用程式。打開瀏覽器以完成 OAuth 流程 |105| `/install-slack-app` | 安裝 Claude Slack 應用程式。打開瀏覽器以完成 OAuth 流程 |

106| `/keybindings` | 打開您的[快捷鍵](/docs/zh-TW/keybindings)檔案 |106| `/keybindings` | 打開您的[快捷鍵](/docs/zh-TW/keybindings)檔案 |

107| `/list-agents` | 列出子代理、[代理團隊](/docs/zh-TW/agent-teams)隊友和其他 Claude Code 會話 Claude 可以訊息,以及每個要使用的名稱。請參閱[跨會話訊息](/docs/zh-TW/cross-session-messaging)。也可用作 `/peers`。需要 Claude Code v2.1.224 或更高版本;較早版本報告 `Unknown command: /list-agents`。隊友行和顯示此會話自己名稱的第一行需要 v2.1.239 或更高版本。僅在[啟用跨會話訊息](/docs/zh-TW/cross-session-messaging#availability)的會話中可用 |107| `/list-agents` | 列出子代理、[代理團隊](/docs/zh-TW/agent-teams)隊友和其他 Claude Code 工作階段 Claude 可以訊息,以及每個要使用的名稱。請參閱[跨工作階段訊息](/docs/zh-TW/cross-session-messaging)。也可用作 `/peers`。需要 Claude Code v2.1.224 或更新版本;較早版本報告 `Unknown command: /list-agents`。隊友行和顯示此工作階段自己名稱的第一行需要 v2.1.239 或更新版本。僅在[啟用跨工作階段訊息](/docs/zh-TW/cross-session-messaging#availability)的工作階段中可用 |

108| `/login` | 登入您的 Anthropic 帳戶 |108| `/login` | 登入您的 Anthropic 帳戶 |

109| `/logout` | 登出您的 Anthropic 帳戶 |109| `/logout` | 登出您的 Anthropic 帳戶 |

110| `/loop [interval] [prompt]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 在會話保持打開時重複運行提示詞。省略間隔,Claude [自動調整迭代之間的步調](/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval)。省略提示詞,Claude 運行[內建維護提示詞](/docs/zh-TW/scheduled-tasks#run-the-built-in-maintenance-prompt)或您的 [`loop.md`](/docs/zh-TW/scheduled-tasks#customize-the-default-prompt-with-loop-md)。示例:`/loop 5m check if the deploy finished`。請參閱[按計畫運行提示詞](/docs/zh-TW/scheduled-tasks)。別名:`/proactive` |110| `/loop [interval] [prompt]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 在工作階段保持打開時重複運行提示詞。省略間隔,Claude [自行調整迭代之間的步調](/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval)。省略提示詞,Claude 運行[內建維護提示詞](/docs/zh-TW/scheduled-tasks#run-the-built-in-maintenance-prompt)或您的 [`loop.md`](/docs/zh-TW/scheduled-tasks#customize-the-default-prompt-with-loop-md)。範例:`/loop 5m check if the deploy finished`。請參閱[按計畫運行提示詞](/docs/zh-TW/scheduled-tasks)。別名:`/proactive` |

111| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | 管理 MCP 伺服器連接和 OAuth 認證。運行時不帶參數以打開互動式清單,傳遞 `reconnect <server>` 以重新連接一個斷開連接的伺服器,或傳遞 `enable`/`disable` 與伺服器名稱或 `all` 以更改連接狀態而不打開對話框。也可在非互動模式 (`-p`) 中使用,其中運行時不帶參數會列印伺服器狀態的文字摘要而不是打開清單;需要 Claude Code v2.1.205 或更高版本 |111| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | 管理 MCP 伺服器連線和 OAuth 驗證。運行時不帶引數以打開互動式清單,傳遞 `reconnect <server>` 以重新連線一個斷開連線的伺服器,或傳遞 `enable`/`disable` 與伺服器名稱或 `all` 以在不打開對話框的情況下變更連線狀態。也可在非互動模式 (`-p`) 中使用,其中運行時不帶引數會列印伺服器狀態的文字摘要而不是打開清單;需要 Claude Code v2.1.205 或更新版本 |

112| `/memory` | 編輯 `CLAUDE.md` 檔案、啟用或禁用[自動記憶](/docs/zh-TW/memory#auto-memory),以及查看自動記憶條目 |112| `/memory` | 編輯 `CLAUDE.md` 檔案、啟用或停用[自動記憶](/docs/zh-TW/memory#auto-memory)以及檢視自動記憶項目 |

113| `/mobile` | 顯示 QR 碼以下載 Claude 行動應用程式。別名:`/ios`、`/android` |113| `/mobile` | 顯示 QR 碼以下載 Claude 行動應用程式。別名:`/ios`、`/android` |

114| `/model [model]` | 切換 AI 模型並將其保存為新會話的預設值。對於支援它的模型,使用左/右箭頭[調整工作量級別](/docs/zh-TW/model-config#adjust-effort-level)。沒有參數時,打開選擇器;在行上按 `s` 以僅為當前會話切換。請參閱[何時 Claude Code 要求您確認切換](/docs/zh-TW/prompt-caching#switching-models)。一旦您確認切換,如果 Claude Code 要求,Claude Code 會應用更改而不等待當前回應完成。在 v2.1.242 之前,Claude Code 從它從 Anthropic 獲取的功能標誌決定是在中途運行命令還是將其排隊直到輪次結束,並始終在不[獲取功能標誌](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的會話中排隊它,例如在[第三方提供者](/docs/zh-TW/third-party-integrations)上。也可在非互動模式 (`-p`) 中使用模型參數而不是選擇器,其中它僅應用於當前會話且不保存為您的預設值;需要 Claude Code v2.1.205 或更高版本 |114| `/model [model]` | 切換 AI 模型並將其保存為新工作階段的預設值。對於支援它的模型,使用左/右箭頭以[調整工作量級別](/docs/zh-TW/model-config#adjust-effort-level)。沒有引數時,打開選擇器;在行上按 `s` 以僅為目前工作階段切換。請參閱[何時 Claude Code 要求您確認切換](/docs/zh-TW/prompt-caching#switching-models)。一旦您確認切換,如果 Claude Code 要求,Claude Code 會應用變更而不等待目前回應完成。在 v2.1.242 之前,Claude Code 從它從 Anthropic 擷取的功能標誌決定是在中途運行命令還是將其排隊直到輪次完成,並始終在不[擷取功能標誌](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段中排隊,例如在[第三方提供者](/docs/zh-TW/third-party-integrations)上。也可在非互動模式 (`-p`) 中使用模型引數而不是選擇器,其中它僅應用於目前工作階段且不保存為您的預設值;需要 Claude Code v2.1.205 或更新版本 |

115| `/passes` | 與朋友分享免費的 Claude Code 一週。僅在您的帳戶符合條件時可見 |115| `/output-style [style]` | 列出[輸出樣式](/docs/zh-TW/output-styles)或切換到一個,例如 `/output-style concise`。請參閱[變更您的輸出樣式](/docs/zh-TW/output-styles#change-your-output-style)。需要 Claude Code v2.1.269 或更新版本 |

116| `/permissions` | 管理工具權限的允許、詢問和拒絕規則。打開一個互動式對話框,您可以在其中按範圍查看規則、添加或移除規則、管理工作目錄,以及檢查[最近的自動模式拒絕](/docs/zh-TW/auto-mode-config#review-denials)。您也可以從對話框的 **Auto mode** 標籤查看和編輯[自動模式分類器規則](/docs/zh-TW/auto-mode-config#edit-rules-from-permissions)。當您在 Claude 正在回應時運行它時,Claude Code 會立即打開對話框並從 Claude 在同一輪中的下一個工具調用開始應用您的更改。在 v2.1.234 之前,Claude Code 會將命令排隊直到輪次結束。別名:`/allowed-tools` |116| `/passes` | 與朋友分享免費一週的 Claude Code。僅在您的帳戶符合條件時可見 |

117| `/permissions` | 管理工具權限的允許、詢問和拒絕規則。打開互動式對話框,您可以按範圍檢視規則、添加或移除規則、管理工作目錄以及檢查[最近的自動模式拒絕](/docs/zh-TW/auto-mode-config#review-denials)。您也可以從對話框的 **Auto mode** 標籤檢視和編輯[自動模式分類器規則](/docs/zh-TW/auto-mode-config#edit-rules-from-permissions)。當您在 Claude 回應時運行它時,Claude Code 會立即打開對話框並從 Claude 在同一輪中的下一個工具呼叫開始應用您的變更。在 v2.1.234 之前,Claude Code 會將命令排隊直到輪次完成。別名:`/allowed-tools` |

117| `/plan [description]` | 直接從提示詞進入計畫模式。傳遞可選描述以進入計畫模式並立即開始該任務,例如 `/plan fix the auth bug` |118| `/plan [description]` | 直接從提示詞進入計畫模式。傳遞可選描述以進入計畫模式並立即開始該任務,例如 `/plan fix the auth bug` |

118| `/plugin [subcommand]` | 管理 Claude Code [外掛程式](/docs/zh-TW/plugins)。運行時不帶參數以打開外掛程式菜單,或傳遞子命令,例如 `list`、`install`、`enable` 或 `disable` 以直接執行。Claude Code 可以在安裝期間啟動外掛程式;[安裝摘要](/docs/zh-TW/discover-plugins#install-plugins)告訴您它是否執行或是否運行 `/reload-plugins` |119| `/plugin [subcommand]` | 管理 Claude Code [plugins](/docs/zh-TW/plugins)。運行時不帶引數以打開外掛菜單,或傳遞子命令(例如 `list`、`install`、`enable` 或 `disable`)以直接執行。Claude Code 可以在安裝期間啟動外掛;[安裝摘要](/docs/zh-TW/discover-plugins#install-plugins)會告訴您它是否執行或是否運行 `/reload-plugins` |

119| `/powerup` | 通過帶有動畫演示的快速互動課程發現 Claude Code 功能 |120| `/powerup` | 通過帶有動畫演示的快速互動式課程發現 Claude Code 功能 |

120| `/pr-comments [PR]` | 在 v2.1.91 中移除。直接要求 Claude 查看拉取請求評論。在較早版本上,從 GitHub 拉取請求獲取和顯示評論;自動檢測當前分支的 PR,或傳遞 PR URL 或號碼。需要 `gh` CLI |121| `/pr-comments [PR]` | 在 v2.1.91 中移除。直接要求 Claude 檢視拉取請求評論。在較早版本上,擷取並顯示來自 GitHub 拉取請求的評論;自動檢測目前分支的 PR,或傳遞 PR URL 或編號。需要 `gh` CLI |

121| `/privacy-settings` | 查看和更新您的隱私設定。僅適用於 Pro 和 Max 方案訂閱者 |122| `/privacy-settings` | 檢視和更新您的隱私設定。僅適用於 Pro 和 Max 方案訂閱者 |

122| `/radio` | 在瀏覽器中打開 Claude FM lo-fi 廣播。當沒有瀏覽器可用時列印流 URL |123| `/radio` | 在瀏覽器中打開 Claude FM lo-fi 廣播。當沒有瀏覽器可用時列印串流 URL |

123| `/rate-limit-options` | 顯示在 claude.ai 使用限制阻止請求時保持工作的方式:等待並[在限制重置時自動繼續](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset)、添加[使用額度](/docs/zh-TW/costs#add-usage-credits-to-your-subscription)或升級您的方案。Claude Code 也可以在您在自己的終端上達到限制時自動打開此菜單。請參閱[關閉自動繼續](/docs/zh-TW/interactive-mode#turn-automatic-continue-off)。需要 claude.ai 訂閱。不出現在命令菜單中;完整輸入它。等待和繼續行需要 Claude Code v2.1.234 或更高版本 |124| `/rate-limit-options` | 顯示在 claude.ai 使用限制阻止請求時保持工作的方式:等待並[在限制重置時自動繼續](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset)、添加[使用額度](/docs/zh-TW/costs#add-usage-credits-to-your-subscription)或升級您的方案。Claude Code 也可以在您在自己的終端達到限制時自行打開此菜單。請參閱[關閉自動繼續](/docs/zh-TW/interactive-mode#turn-automatic-continue-off)。需要 claude.ai 訂閱。不在命令菜單中出現;完整輸入它。等待和繼續行需要 Claude Code v2.1.234 或更新版本 |

124| `/recap` | 按需生成當前會話的一行摘要。請參閱[會話摘要](/docs/zh-TW/interactive-mode#session-recap)以了解您離開後出現的自動摘要 |125| `/recap` | 按需生成目前工作階段的單行摘要。請參閱[工作階段摘要](/docs/zh-TW/interactive-mode#session-recap)以了解您離開後出現的自動摘要 |

125| `/release-notes` | 在互動式版本選擇器中查看變更日誌。選擇特定版本以查看其發佈說明,或選擇顯示所有版本。說明出現在您的文字記錄中,不進入 Claude 看到的對話 |126| `/release-notes` | 在互動式版本選擇器中檢視變更日誌。選擇特定版本以查看其發佈說明,或選擇顯示所有版本。說明在您的文字記錄中出現而不進入 Claude 看到的對話 |

126| `/reload-plugins [--force]` | 重新加載所有活動[外掛程式](/docs/zh-TW/plugins)以應用待處理更改而不重新啟動。報告每個重新加載元件的計數並標記任何加載錯誤。當重新加載會改變加載哪些 MCP 工具並使提示詞快取失效時,命令會警告並跳過,除非您傳遞 `--force`。也可在非互動模式 (`-p`)、Agent SDK 和桌面應用程式中使用,其中它僅在直接輸入到會話的輸入上運行,不應用外掛程式 MCP 伺服器更改;需要 Claude Code v2.1.260 或更高版本。請參閱[在不重新啟動的情況下應用外掛程式更改](/docs/zh-TW/discover-plugins#apply-plugin-changes-without-restarting) |127| `/reload-plugins [--force]` | 重新載入所有活動 [plugins](/docs/zh-TW/plugins) 以應用待處理變更而不重新啟動。報告每個重新載入元件的計數並標記任何載入錯誤。當重新載入會變更載入的 MCP 工具並使提示詞快取失效時,命令會警告並跳過,除非您傳遞 `--force`。也可在非互動模式 (`-p`)、Agent SDK 和桌面應用程式中使用,其中它僅在直接輸入到工作階段的輸入上運行且不應用外掛 MCP 伺服器變更;需要 Claude Code v2.1.260 或更新版本。請參閱[在不重新啟動的情況下應用外掛變更](/docs/zh-TW/discover-plugins#apply-plugin-changes-without-restarting) |

127| `/reload-skills` | 重新掃描 [skill](/docs/zh-TW/skills) 和命令目錄,以便在會話期間在磁碟上添加或更改的 skill 在不重新啟動的情況下變為可用。報告有多少 skill 可用以及添加或移除了多少 |128| `/reload-skills` | 重新掃描 [skill](/docs/zh-TW/skills) 和命令目錄,以便在工作階段期間在磁碟上添加或變更的技能在不重新啟動的情況下變為可用。報告有多少技能可用以及添加或移除了多少 |

128| `/remote-control` | 使此會話可從 claude.ai 進行 [Remote Control](/docs/zh-TW/remote-control)。在登出時運行它會列印 Remote Control 需要 claude.ai 訂閱並告訴您如何登入;在 v2.1.206 之前它報告 `Unknown command: /remote-control`。別名:`/rc` |129| `/remote-control` | 使此工作階段可從 claude.ai 進行[遠端控制](/docs/zh-TW/remote-control)。在登出時運行它會列印遠端控制需要 claude.ai 訂閱並告訴您如何登入;在 v2.1.206 之前它報告 `Unknown command: /remote-control`。別名:`/rc` |

129| `/remote-env` | 為[雲代理](/docs/zh-TW/cloud-environments#select-an-environment-from-the-cli)選擇預設環境 |130| `/remote-env` | 為您從 CLI 啟動的雲端工作階段選擇預設[雲端環境](/docs/zh-TW/cloud-environments#select-an-environment-from-the-cli) |

130| `/rename [name]` | 重命名當前會話並在提示詞欄上顯示名稱。沒有名稱時,從對話歷史記錄自動生成一個。也可在非互動模式 (`-p`) 中使用;需要 Claude Code v2.1.205 或更高版本。從每個重命名表面,包括 claude.ai 和桌面應用程式,Claude Code 用空格替換新名稱中的控制和不可見字元,並將名稱上限設定為 200 個字元。如果名稱在移除不可見字元後為空,Claude Code 會拒絕它並顯示 `That name is empty once invisible characters are removed. Usage: /rename <name>`。字元替換和長度上限需要 Claude Code v2.1.221 或更高版本。如果此機器上的另一個活動會話已使用您傳遞的名稱,Claude Code 會應用[它的變體](/docs/zh-TW/sessions#name-your-sessions)代替 |131| `/rename [name]` | 重新命名目前工作階段並在提示詞欄上顯示名稱。沒有名稱時,從對話歷史記錄自動生成一個。也可在非互動模式 (`-p`) 中使用;需要 Claude Code v2.1.205 或更新版本。從每個重新命名表面,包括 claude.ai 和桌面應用程式,Claude Code 會用空格替換新名稱中的控制和不可見字元,並將名稱上限設為 200 個字元。一旦不可見字元被移除,如果名稱為空,Claude Code 會拒絕它並顯示 `That name is empty once invisible characters are removed. Usage: /rename <name>`。字元替換和長度上限需要 Claude Code v2.1.221 或更新版本。如果此機器上的另一個活動工作階段已使用您傳遞的名稱,Claude Code 會改為應用[它的變體](/docs/zh-TW/sessions#name-your-sessions) |

131| `/resume [session]` | 按 ID 或名稱恢復對話,或打開會話選擇器。[背景會話](/docs/zh-TW/agent-view)在選擇器中標記為 `bg`;仍在運行的會話無法在此處恢復,因此從 `claude agents` 附加到它或先在那裡停止它。別名:`/continue` |132| `/resume [session]` | 按 ID 或名稱恢復對話,或打開工作階段選擇器。[背景工作階段](/docs/zh-TW/agent-view)在選擇器中標記為 `bg` 出現;仍在運行的工作階段無法在此恢復,因此從 `claude agents` 附加到它或先在那裡停止它。別名:`/continue` |

132| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | [`/code-review`](/docs/zh-TW/code-review#review-a-diff-locally) 的別名:檢查當前差異,或您傳遞的 PR 號、分支或路徑,例如 `/review 1234`,並採用相同的工作量級別和標誌。沒有給定級別時,檢查重複使用您輸入的最後一個 `low` 到 `max` 級別;有關確切規則,請參閱[在本地檢查差異](/docs/zh-TW/code-review#review-a-diff-locally)。對於深度雲審查,使用 [`/code-review ultra`](/docs/zh-TW/ultrareview)。在 v2.1.223 之前,`/review` 是一個單獨的命令,按號碼運行 GitHub 拉取請求的單次通過、唯讀審查,在沒有參數運行時列出打開的 PR 以選擇;從 v2.1.186 到 v2.1.201,它運行與 `/code-review medium` 相同的多代理引擎 |133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | [`/code-review`](/docs/zh-TW/code-review#review-a-diff-locally) 的別名:檢查目前差異或您傳遞的 PR 編號、分支或路徑,例如 `/review 1234`,並採用相同的工作量級別和標誌。沒有給定級別時,檢查重複使用您最後輸入的 `low` 到 `max` 級別;有關確切規則,請參閱[本地檢查差異](/docs/zh-TW/code-review#review-a-diff-locally)。對於深度雲端檢查,使用 [`/code-review ultra`](/docs/zh-TW/ultrareview)。在 v2.1.223 之前,`/review` 是一個單獨的命令,按編號對 GitHub 拉取請求進行單次通過、唯讀檢查,在運行時不帶引數時列出打開的 PR 以選擇;從 v2.1.186 到 v2.1.201,它運行與 `/code-review medium` 相同的多代理引擎 |

133| `/rewind` | 倒帶對話和/或程式碼到上一個點,或從選定的訊息進行總結。請參閱[檢查點](/docs/zh-TW/checkpointing)。別名:`/checkpoint`、`/undo` |134| `/rewind` | 倒帶對話和/或程式碼到上一個點,或從選定的訊息進行摘要。請參閱[檢查點](/docs/zh-TW/checkpointing)。別名:`/checkpoint`、`/undo` |

134| `/run` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 啟動並驅動您的專案應用程式以查看更改工作,而不僅僅是通過測試。請參閱[運行和驗證您的應用程式](/docs/zh-TW/skills#run-and-verify-your-app) |135| `/run` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 啟動並驅動您的專案應用程式以查看變更工作,而不僅僅是通過測試。請參閱[運行和驗證您的應用程式](/docs/zh-TW/skills#run-and-verify-your-app) |

135| `/run-skill-generator` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 通過從乾淨環境編寫每個專案的 [skill](/docs/zh-TW/skills#run-and-verify-your-app) 教 `/run` 和 `/verify` 如何構建、啟動和驅動您的專案應用程式 |136| `/run-skill-generator` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 通過從乾淨環境編寫每個專案 [skill](/docs/zh-TW/skills#run-and-verify-your-app) 教 `/run` 和 `/verify` 如何建立、啟動和驅動您的專案應用程式 |

136| `/sandbox` | 切換[沙箱模式](/docs/zh-TW/sandboxing)。僅在支援的平台上可用 |137| `/sandbox` | 切換[沙箱模式](/docs/zh-TW/sandboxing)。僅在支援的平台上可用 |

137| `/schedule [description]` | 創建、更新、列出或運行[例程](/docs/zh-TW/routines),它們在雲中執行。Claude 以對話方式逐步引導您完成設定。您也可以詢問[例程的最近運行](/docs/zh-TW/routines#manage-routines-from-the-cli)。別名:`/routines` |138| `/schedule [description]` | 建立、更新、列出或運行在雲端執行的[例行程式](/docs/zh-TW/routines)。Claude 以對話方式逐步解說設定。您也可以詢問[例行程式的最近運行](/docs/zh-TW/routines#manage-routines-from-the-cli)。別名:`/routines` |

138| `/scroll-speed` | 互動式調整滑鼠滾輪[滾動速度](/docs/zh-TW/fullscreen#mouse-wheel-scrolling),使用尺標,您可以在對話框打開時滾動以預覽更改。僅在[全螢幕渲染](/docs/zh-TW/fullscreen)中可用,不在 JetBrains IDE 終端中 |139| `/scroll-speed` | 以互動方式調整滑鼠滾輪[捲動速度](/docs/zh-TW/fullscreen#mouse-wheel-scrolling),使用尺標,您可以在對話框打開時捲動以預覽變更。僅在[全螢幕渲染](/docs/zh-TW/fullscreen)中可用,在 JetBrains IDE 終端中不可用 |

139| `/security-review` | 分析當前分支上的更改以查找安全漏洞。檢查您的分支與 origin 預設分支之間的差異,識別注入、認證問題和資料洩露等風險。需要 `origin` 遠端;如果審查失敗並出現 `ambiguous argument` 錯誤,請參閱[錯誤參考](/docs/zh-TW/errors#security-review-fails-without-origin-head) |140| `/security-review` | 分析目前分支上的變更以查找安全漏洞。檢查您的分支與 origin 預設分支之間的差異,識別注入、驗證問題和資料洩露等風險。需要 `origin` 遠端;如果檢查失敗並出現 `ambiguous argument` 錯誤,請參閱[錯誤參考](/docs/zh-TW/errors#security-review-fails-without-origin-head) |

140| `/setup-bedrock` | 通過互動式精靈配置 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 認證、區域和模型引腳。[從命令菜單隱藏](#how-the-command-menu-matches-what-you-type)直到設定 `CLAUDE_CODE_USE_BEDROCK=1`;完整輸入它。首次 Amazon Bedrock 使用者也可以從登入螢幕存取此精靈 |141| `/setup-bedrock` | 通過互動式精靈設定 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 驗證、區域和模型釘選。[從命令菜單隱藏](#how-the-command-menu-matches-what-you-type)直到設定 `CLAUDE_CODE_USE_BEDROCK=1`;完整輸入它。首次 Amazon Bedrock 使用者也可以從登入螢幕存取此精靈 |

141| `/setup-vertex` | 通過互動式精靈配置 [Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 認證、專案、區域和模型引腳。[從命令菜單隱藏](#how-the-command-menu-matches-what-you-type)直到設定 `CLAUDE_CODE_USE_VERTEX=1`;完整輸入它。首次 Google Cloud 的 Agent Platform 使用者也可以從登入螢幕存取此精靈 |142| `/setup-vertex` | 通過互動式精靈設定 [Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 驗證、專案、區域和模型釘選。[從命令菜單隱藏](#how-the-command-menu-matches-what-you-type)直到設定 `CLAUDE_CODE_USE_VERTEX=1`;完整輸入它。首次 Google Cloud 的 Agent Platform 使用者也可以從登入螢幕存取此精靈 |

142| `/simplify [target]` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 檢查更改的程式碼以查找清理機會並應用修復。四個檢查[代理](/docs/zh-TW/sub-agents)並行運行,涵蓋現有幫助程式的重複使用、簡化、效率以及更改是否處於正確的抽象級別。審查不尋找正確性錯誤。使用 `/code-review` 查找錯誤。傳遞路徑或 PR 參考以檢查特定目標 |143| `/simplify [target]` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 檢查變更的程式碼以查找清理機會並應用修復。四個檢查[代理](/docs/zh-TW/sub-agents)並行運行,涵蓋現有幫助程式的重複使用、簡化、效率以及變更是否處於正確的抽象級別。檢查不尋找正確性錯誤。使用 `/code-review` 查找錯誤。傳遞路徑或 PR 參考以檢查特定目標 |

143| `/skill-doctor` | 顯示您的每個 [skill](/docs/zh-TW/skills) 在上下文中的成本以及它被使用的頻率,以便您可以[找到要關閉的 skill](/docs/zh-TW/skills#find-unused-skills)。需要 Claude Code v2.1.252 或更高版本和[功能標誌獲取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) |144| `/skill-doctor` | 顯示您的每個 [skills](/docs/zh-TW/skills) 在上下文中的成本以及它被使用的頻率,以便您可以[找到要關閉的技能](/docs/zh-TW/skills#find-unused-skills)。需要 Claude Code v2.1.252 或更新版本和[功能標誌擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) |

144| `/skills` | 列出可用的 [skill](/docs/zh-TW/skills)。輸入以按名稱、描述或來源篩選清單。按 `t` 按令牌計數排序,`Space` 或 `Enter` [循環 skill 對 Claude 和 `/` 菜單的可見性](/docs/zh-TW/skills#override-skill-visibility-from-settings),以及 `Esc` 保存並關閉。您無法循環外掛程式 skill、frontmatter 設定 `disable-model-invocation: true` 的 skill 或在受管設定或 `--settings` 標誌中具有 `skillOverrides` 條目的 skill |145| `/skills` | 列出可用的 [skills](/docs/zh-TW/skills)。輸入以按名稱、描述或來源篩選清單。按 `t` 按令牌計數排序,`Space` 或 `Enter` 以[循環技能對 Claude 和 `/` 菜單的可見性](/docs/zh-TW/skills#override-skill-visibility-from-settings),以及 `Esc` 以保存並關閉。您無法循環外掛技能、其前置事項設定 `disable-model-invocation: true` 的技能或在受管設定或 `--settings` 標誌中具有 `skillOverrides` 項目的技能 |

145| `/stats` | `/usage` 的別名。在 Stats 標籤上打開 |146| `/stats` | `/usage` 的別名。在 Stats 標籤上打開 |

146| `/status` | 在 Status 標籤上打開設定介面,顯示版本、模型、帳戶和連接性。在[背景會話](/docs/zh-TW/agent-view)中,`Session kind` 行讀取 `background job · attached` 或 `background job · unattended`,取決於是否附加了終端,以及任何其他會話中的 `interactive`。在 v2.1.221 之前,`/status` 沒有顯示此行。在 Claude 正在回應時工作 |147| `/status` | 在 Status 標籤上打開設定介面,顯示版本、模型、帳戶和連線。`Session kind` 行在[背景工作階段](/docs/zh-TW/agent-view)中讀取 `background job · attached` 或 `background job · unattended`(取決於是否附加終端),在任何其他工作階段中讀取 `interactive`。在 v2.1.221 之前,`/status` 不顯示此行。在 Claude 回應時工作 |

147| `/statusline` | 配置 Claude Code 的[狀態行](/docs/zh-TW/statusline)。描述您想要的內容,或運行時不帶參數以從您的 shell 提示詞自動配置 |148| `/statusline` | 設定 Claude Code 的[狀態行](/docs/zh-TW/statusline)。描述您想要的內容,或運行時不帶引數以從您的 shell 提示詞自動設定 |

148| `/stickers` | 訂購 Claude Code 貼紙 |149| `/stickers` | 訂購 Claude Code 貼紙 |

149| `/stop` | 停止當前[背景會話](/docs/zh-TW/agent-view)。僅在附加到背景會話時可用;文字記錄和任何 worktree 都被保留。要分離而不停止,請使用 `/exit` 或按 `←` |150| `/stop` | 停止目前[背景工作階段](/docs/zh-TW/agent-view)。僅在附加到背景工作階段時可用;文字記錄和任何 worktree 都會保留。要分離而不停止,請使用 `/exit` 或按 `←` |

150| `/subtask <task>` | 生成一個[分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation):一個繼承完整對話的背景子代理,在您繼續工作時處理任務。其結果在完成時返回到此對話。要將對話複製到單獨的背景會話中,請改用 `/fork`。需要 Claude Code v2.1.212 或更高版本;在 v2.1.161 到 v2.1.211 上,此命令是 `/fork`。當[代理視圖關閉](/docs/zh-TW/agent-view#turn-off-agent-view)時,`/subtask` 不可用,`/fork` 保持分叉子代理行為 |151| `/subtask <task>` | 生成[分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation):一個繼承完整對話並在您繼續工作時處理任務的背景子代理。其結果在完成時返回到此對話。要將對話複製到單獨的背景工作階段,請改用 `/fork`。需要 Claude Code v2.1.212 或更新版本;在 v2.1.161 到 v2.1.211 上,此命令是 `/fork`。當[代理檢視關閉](/docs/zh-TW/agent-view#turn-off-agent-view)時,`/subtask` 不可用,`/fork` 保持分叉子代理行為 |

151| `/tasks` | 查看和管理當前會話中的背景工作,包括已完成的子代理。也可用作 `/bashes` |152| `/tasks` | 檢視和管理目前工作階段中的背景工作,包括已完成的子代理。也可用作 `/bashes` |

152| `/team-onboarding` | 從您的 Claude Code 使用歷史記錄生成團隊入職指南。Claude 分析您過去 30 天的會話、命令和 MCP 伺服器使用情況,並生成隊友可以粘貼為第一條訊息以快速設定的 markdown 指南。對於 Pro、Max、Team 和 Enterprise 方案上的 claude.ai 訂閱者,也返回隊友可以直接在 Claude Code 中打開的分享連結 |153| `/team-onboarding` | 從您的 Claude Code 使用歷史記錄生成團隊入職指南。Claude 分析您過去 30 天的工作階段、命令和 MCP 伺服器使用情況,並生成隊友可以貼上作為第一條訊息以快速設定的 markdown 指南。對於 Pro、Max、Team 和 Enterprise 方案上的 claude.ai 訂閱者,也會返回隊友可以直接在 Claude Code 中打開的共享連結 |

153| `/teleport` | 將[網頁版 Claude Code](/docs/zh-TW/claude-code-on-the-web#from-web-to-terminal) 會話拉入此終端。打開選擇器,然後獲取分支和對話。也可用作 `/tp`。需要 claude.ai 訂閱 |154| `/teleport` | 將[雲端工作階段](/docs/zh-TW/claude-code-on-the-web#from-cloud-to-terminal)拉入此終端。打開選擇器,然後擷取分支和對話。也可用作 `/tp`。需要 claude.ai 訂閱 |

154| `/terminal-setup` | [在 VS Code、Cursor、Devin Desktop、Alacritty 或 Zed 中安裝 Shift+Enter 快捷鍵以進行新行](/docs/zh-TW/terminal-config#enter-multiline-prompts)。在 Apple Terminal 中,[改為啟用 Option+Enter 以進行新行並關閉可聽見的鈴聲](/docs/zh-TW/terminal-config#enable-option-key-shortcuts-on-macos)。在 iTerm2 中,[打開剪貼簿存取以便 `/copy` 工作](/docs/zh-TW/terminal-config#enable-option-key-shortcuts-on-macos) |155| `/terminal-setup` | [在 VS Code、Cursor、Devin Desktop、Alacritty 或 Zed 中安裝 Shift+Enter 快捷鍵以進行新行](/docs/zh-TW/terminal-config#enter-multiline-prompts)。在 Apple Terminal 中,[改為啟用 Option+Enter 以進行新行並關閉可聽見的鈴聲](/docs/zh-TW/terminal-config#enable-option-key-shortcuts-on-macos)。在 iTerm2 中,[打開剪貼簿存取以便 `/copy` 工作](/docs/zh-TW/terminal-config#enable-option-key-shortcuts-on-macos) |

155| `/theme` | 更改顏色主題。包括與您的終端淺色或深色背景匹配的 `auto` 選項、淺色和深色變體、色盲無障礙 (daltonized) 主題、使用您的終端調色板的 ANSI 主題,以及來自 `~/.claude/themes/` 或外掛程式的任何[自訂主題](/docs/zh-TW/terminal-config#create-a-custom-theme)。選擇 **New custom theme…** 以創建一個 |156| `/theme` | 變更顏色主題。包括與您的終端淺色或深色背景相符的 `auto` 選項、淺色和深色變體、色盲無障礙 (daltonized) 主題、使用您的終端調色板的 ANSI 主題以及來自 `~/.claude/themes/` 或外掛的任何[自訂主題](/docs/zh-TW/terminal-config#create-a-custom-theme)。選擇 **New custom theme…** 以建立一個 |

156| `/tui [default\|fullscreen]` | 設定終端 UI 渲染器並使用您的對話完整重新啟動到它。`fullscreen` 啟用[無閃爍 alt-screen 渲染器](/docs/zh-TW/fullscreen)。沒有參數時,列印活動渲染器 |157| `/tui [default\|fullscreen]` | 設定終端 UI 渲染器並使用您的對話完整重新啟動到它。`fullscreen` 啟用[無閃爍 alt-screen 渲染器](/docs/zh-TW/fullscreen)。沒有引數時,列印活動渲染器 |

157| `/ultraplan <prompt>` | 已移除。改用[計畫模式](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode)。以前將計畫任務發送到[網頁版 Claude Code](/docs/zh-TW/claude-code-on-the-web) 會話以在您的瀏覽器中檢查 |158| `/ultraplan <prompt>` | 已移除。改用[計畫模式](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode)。以前將計畫任務發送到[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)以在您的瀏覽器中檢查 |

158| `/ultrareview [PR or branch]` | 在雲沙箱中運行深度、多代理程式碼審查,使用 [ultrareview](/docs/zh-TW/ultrareview)。傳遞 PR 參考以檢查該拉取請求,或分支名稱以更改比較基礎。首選調用現在是 `/code-review ultra`,`/ultrareview` 保持為別名。在 Pro 和 Max 上包括 3 次免費運行,然後需要[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |159| `/ultrareview [PR or branch]` | 在雲端沙箱中使用 [ultrareview](/docs/zh-TW/ultrareview) 運行深度、多代理程式碼檢查。傳遞 PR 參考以檢查該拉取請求,或分支名稱以變更比較基礎。首選調用現在是 `/code-review ultra`,`/ultrareview` 保持為別名。在 Pro 和 Max 上包括 3 次免費運行,然後需要[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

159| `/upgrade` | 在瀏覽器中打開升級頁面以切換到更高的方案層級。當瀏覽器無法打開時,命令顯示登入提示而不列印 URL |160| `/upgrade` | 在瀏覽器中打開升級頁面以切換到更高的方案層級。當瀏覽器無法打開時,命令會顯示登入提示而不列印 URL |

160| `/usage` | 顯示會話成本、方案使用限制和活動統計資料。在 Pro、Max、Team 或 Enterprise 方案上,包括[計入您的方案限制的內容細目](/docs/zh-TW/costs#plan-usage-breakdown)。`/cost` 和 `/stats` 是別名 |161| `/usage` | 顯示工作階段成本、方案使用限制和活動統計。在 Pro、Max、Team 或 Enterprise 方案上,包括[計入您的方案限制的內容細目](/docs/zh-TW/costs#plan-usage-breakdown)。`/cost` 和 `/stats` 是別名 |

161| `/usage-credits` | 配置使用額度,或在達到限制時向您的管理員請求。打開您的[使用額度計費設定](/docs/zh-TW/costs#add-usage-credits-to-your-subscription)在瀏覽器中,除了沒有計費存取的 Team 和 Enterprise 成員改為從 CLI 向其管理員發送使用額度請求,在確認對話框中確認請求通知其管理員。當沒有瀏覽器可以打開計費頁面時,例如通過 SSH,命令會列印要訪問的 URL;這需要 Claude Code v2.1.205 或更高版本,較早版本在這種情況下沒有顯示任何內容。以前 `/extra-usage` |162| `/usage-credits` | 設定使用額度,或在達到限制時向您的管理員請求。在瀏覽器中打開您的[使用額度計費設定](/docs/zh-TW/costs#add-usage-credits-to-your-subscription),除了沒有計費存取的 Team 和 Enterprise 成員改為從 CLI 向其管理員發送使用額度請求,在確認對話框中確認請求會通知其管理員。當沒有瀏覽器可以打開計費頁面時,例如通過 SSH,命令會列印要訪問的 URL;這需要 Claude Code v2.1.205 或更新版本,較早版本在這種情況下沒有顯示任何內容。以前 `/extra-usage` |

162| `/verify` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 通過構建您的專案應用程式、運行它並觀察結果來確認程式碼更改執行其應該執行的操作,而不是依賴測試或類型檢查。請參閱[運行和驗證您的應用程式](/docs/zh-TW/skills#run-and-verify-your-app) |163| `/verify` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 通過建立您的專案應用程式、運行它並觀察結果來確認程式碼變更執行其應該執行的操作,而不是依賴測試或類型檢查。請參閱[運行和驗證您的應用程式](/docs/zh-TW/skills#run-and-verify-your-app) |

163| `/vim` | 在 v2.1.92 中移除。要在 Vim 和 Normal 編輯模式之間切換,請使用 `/config` → Editor mode |164| `/vim` | 在 v2.1.92 中移除。要在 Vim 和 Normal 編輯模式之間切換,請使用 `/config` → Editor mode |

164| `/voice [hold\|tap\|off]` | 切換[語音聽寫](/docs/zh-TW/voice-dictation),或在特定模式下啟用它。需要 Claude.ai 帳戶 |165| `/voice [hold\|tap\|off]` | 切換[語音聽寫](/docs/zh-TW/voice-dictation)或在特定模式下啟用它。需要 Claude.ai 帳戶 |

165| `/web-setup` | 使用您的本地 `gh` CLI 認證將您的 GitHub 帳戶連接到[網頁版 Claude Code](/docs/zh-TW/web-quickstart#connect-from-your-terminal) |166| `/web-setup` | 使用您的本地 `gh` CLI 認證連接您的 GitHub 帳戶以進行[雲端工作階段](/docs/zh-TW/web-quickstart#connect-from-your-terminal) |

166| `/workflow-authoring` | **[Skill](/docs/zh-TW/skills#bundled-skills).** 加載編寫[動態工作流](/docs/zh-TW/workflows)指令碼的參考:指令碼 API、恢復行為、品質模式和工作示例。Claude 通常在編寫指令碼之前自動加載它;在[手動編輯保存的指令碼](/docs/zh-TW/workflows#edit-a-saved-script)之前自己運行它。在啟用動態工作流時可用,需要 Claude Code v2.1.248 或更高版本 |167| `/workflow-authoring` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 載入編寫[動態工作流](/docs/zh-TW/workflows)指令碼的參考:指令碼 API、恢復行為、品質模式和已完成的範例。Claude 通常在編寫指令碼前自行載入它;在[手動編輯已保存的指令碼](/docs/zh-TW/workflows#edit-a-saved-script)前自己運行它。在啟用動態工作流時可用,需要 Claude Code v2.1.248 或更新版本 |

167| `/workflows` | 打開[工作流](/docs/zh-TW/workflows#watch-the-run)進度視圖以監視、暫停、恢復或保存運行和已完成的工作流 |168| `/workflows` | 打開[工作流](/docs/zh-TW/workflows#watch-the-run)進度檢視以監視、暫停、恢復或保存運行中和已完成的工作流 |

168 169 

169<h2 id="how-the-command-menu-matches-what-you-type">170<h2 id="how-the-command-menu-matches-what-you-type">

170 命令選單如何匹配您輸入的內容171 命令選單如何匹配您輸入的內容

Details

1586 1586 

1587該工作階段展示了一個現實的流程,包含代表性的權杖計數:1587該工作階段展示了一個現實的流程,包含代表性的權杖計數:

1588 1588 

1589* **在您輸入任何內容之前**:CLAUDE.md、自動記憶、MCP 工具名稱和技能描述都會載入到上下文中。您自己的設定可能會在此處添加更多內容,例如[輸出風格](/docs/zh-TW/output-styles)或來自 [`--append-system-prompt`](/docs/zh-TW/cli-reference) 的文字。1589* **在您輸入任何內容之前**:CLAUDE.md、自動記憶、MCP 工具名稱和技能描述都會載入到上下文中。[AGENTS.md 檔案](/docs/zh-TW/memory#agents-md)也可以載入,無論是單獨載入還是與 CLAUDE.md 一起載入。您自己的設定可能會在此處添加更多內容,例如[輸出風格](/docs/zh-TW/output-styles)或來自 [`--append-system-prompt`](/docs/zh-TW/cli-reference) 的文字。

1590* **當 Claude 工作時**:每次檔案讀取都會增加上下文,[路徑範圍規則](/docs/zh-TW/memory#path-specific-rules)會自動與匹配的檔案一起載入,並且[PostToolUse hook](/docs/zh-TW/hooks-guide) 會在每次編輯後觸發。1590* **當 Claude 工作時**:每次檔案讀取都會增加上下文,[路徑範圍規則](/docs/zh-TW/memory#path-specific-rules)會自動與匹配的檔案一起載入,並且[PostToolUse hook](/docs/zh-TW/hooks-guide) 會在每次編輯後觸發。

1591* **後續提示**:[子代理](/docs/zh-TW/sub-agents)在其自己的獨立上下文視窗中處理研究,因此大型檔案讀取不會進入您的視窗。只有摘要和一個小的中繼資料預告片會返回。1591* **後續提示**:[子代理](/docs/zh-TW/sub-agents)在其自己的獨立上下文視窗中處理研究,因此大型檔案讀取不會進入您的視窗。只有摘要和一個小的中繼資料預告片會返回。

1592* **最後**:`/compact` 將對話替換為結構化摘要。大多數啟動內容會自動重新載入;下表顯示每個機制會發生什麼。1592* **最後**:`/compact` 將對話替換為結構化摘要。大多數啟動內容會自動重新載入;下表顯示每個機制會發生什麼。


1598當長時間的工作階段進行壓縮時,Claude Code 會總結對話歷史以適應上下文視窗。自 v2.1.198 起,總結請求會繼承您工作階段的[延伸思考](/docs/zh-TW/model-config#extended-thinking)設定,因此當您的工作階段啟用思考時,它會在啟用思考的情況下進行推理,否則保持關閉。思考只會影響摘要的生成方式;您的工作階段設定在之後保持不變。每種內容發生的情況取決於它的載入方式:1598當長時間的工作階段進行壓縮時,Claude Code 會總結對話歷史以適應上下文視窗。自 v2.1.198 起,總結請求會繼承您工作階段的[延伸思考](/docs/zh-TW/model-config#extended-thinking)設定,因此當您的工作階段啟用思考時,它會在啟用思考的情況下進行推理,否則保持關閉。思考只會影響摘要的生成方式;您的工作階段設定在之後保持不變。每種內容發生的情況取決於它的載入方式:

1599 1599 

1600| 機制 | 壓縮後 |1600| 機制 | 壓縮後 |

1601| :------------------------------------------------------------------------------------------- | :------------------------------------------- |1601| :---------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------- |

1602| 系統提示和輸出風格 | 兩者仍然適用 |1602| 系統提示和輸出風格 | 兩者仍然適用 |

1603| 專案根目錄 CLAUDE.md 和未限定範圍的規則 | 從磁碟重新注入 |1603| 專案根目錄 CLAUDE.md 和未限定範圍的規則 | 從磁碟重新注入 |

1604| 自動記憶 | 從磁碟重新注入 |1604| 自動記憶 | 從磁碟重新注入 |


1607| 子目錄中的巢狀 CLAUDE.md | Claude Code 在 Claude 讀取該子目錄中的檔案時重新載入它們 |1607| 子目錄中的巢狀 CLAUDE.md | Claude Code 在 Claude 讀取該子目錄中的檔案時重新載入它們 |

1608| Claude 讀取或編輯的檔案 | Claude Code 重新讀取最多五個,最近修改的優先 |1608| Claude 讀取或編輯的檔案 | Claude Code 重新讀取最多五個,最近修改的優先 |

1609| 已叫用的技能主體 | 重新注入,每個技能上限為 5,000 個權杖,總計 25,000 個權杖;最舊的優先刪除 |1609| 已叫用的技能主體 | 重新注入,每個技能上限為 5,000 個權杖,總計 25,000 個權杖;最舊的優先刪除 |

1610| [背景命令](/docs/zh-TW/interactive-mode#background-bash-commands)和背景[子代理](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) | 保持執行。Claude Code 提醒 Claude 哪些仍在執行,以便它不會啟動重複的 |

1610| hooks 較早新增的上下文 | 與其餘對話一起總結 |1611| hooks 較早新增的上下文 | 與其餘對話一起總結 |

1611| 符合 `compact` 來源的 [SessionStart hooks](/docs/zh-TW/hooks-guide#re-inject-context-after-compaction) | Claude Code 執行它們並將其輸出新增到壓縮的上下文中 |1612| 符合 `compact` 來源的 [SessionStart hooks](/docs/zh-TW/hooks-guide#re-inject-context-after-compaction) | Claude Code 執行它們並將其輸出新增到壓縮的上下文中 |

1612 1613 

1613路徑限定範圍的規則和巢狀 CLAUDE.md 檔案在讀取其觸發檔案時載入到訊息歷史記錄中,因此壓縮會將它們與其他所有內容一起總結。壓縮後立即,Claude Code 重新讀取 Claude 在工作階段中讀取或編輯的最多五個檔案,選擇最近修改的檔案,並重新載入適用於這些檔案的規則和巢狀 CLAUDE.md 檔案。超過 5,000 個權杖的檔案會以路徑參考的形式返回,不含其內容,顯示為 `Referenced file` 而不是 `Read`。其規則仍然重新載入。如果規則必須在壓縮後保持,請刪除 `paths:` frontmatter 或將其移至專案根目錄 CLAUDE.md。1614壓縮後立即,Claude Code 重新讀取 Claude 在工作階段中讀取或編輯的最多五個檔案,選擇最近修改的檔案。超過 5,000 個權杖的檔案會以路徑參考的形式返回,不含其內容,顯示為 `Referenced file` 而不是 `Read`。

1615 

1616路徑限定範圍的規則和巢狀 CLAUDE.md 檔案在讀取其觸發檔案時載入到訊息歷史記錄中,因此壓縮會將它們與其他所有內容一起總結。如果規則必須在壓縮後保持,請刪除 `paths:` frontmatter 或將其移至專案根目錄 CLAUDE.md。

1614 1617 

1615技能主體在壓縮後重新注入,但大型技能會被截斷以適應每個技能的上限,一旦超過總預算,最舊的已叫用技能就會被刪除。截斷會保留檔案的開頭,因此請將最重要的指示放在 `SKILL.md` 的頂部附近。1618技能主體在壓縮後重新注入,但大型技能會被截斷以適應每個技能的上限,一旦超過總預算,最舊的已叫用技能就會被刪除。截斷會保留檔案的開頭,因此請將最重要的指示放在 `SKILL.md` 的頂部附近。

1616 1619 

Details

19</Note>19</Note>

20 20 

21<h2 id="what-the-launcher-covers">21<h2 id="what-the-launcher-covers">

22 啟動程式涵蓋的內容22 啟動器涵蓋的內容

23</h2>23</h2>

24 24 

25設定 `CLAUDE_CODE_PROCESS_WRAPPER` 後,Claude Code 會透過您的啟動程式啟動以下每個程序:25設定 `CLAUDE_CODE_PROCESS_WRAPPER` 後,Claude Code 會透過您的啟動器啟動以下每個程序:

26 26 

27* `claude agents` 和背景工作階段按需啟動的背景服務。27* `claude agents` 和背景工作階段按需啟動的背景服務。

28* 每個代理檢視列中的終端主機和 Claude Code 工作階段,包括服務保持就緒的暖備用工作階段。28* 每個代理檢視列中的終端主機和 Claude Code 工作階段,包括服務保持就緒的暖待命工作階段。

29* 服務在更新或當機後重新產生的工作階段。29* 服務在更新或當機後重新啟動的工作階段。

30* Claude Code 執行自身以完成安裝更新的重新啟動,包括代理檢視的重新啟動以進行更新動作。30* Claude Code 執行自身重新啟動以完成更新安裝的情況,包括代理檢視的重新啟動以進行更新動作。

31* [遠端控制](/docs/zh-TW/remote-control)啟動的工作階段程序。需要 Claude Code v2.1.210 或更新版本。31* [遠端控制](/docs/zh-TW/remote-control)啟動的工作階段程序。需要 Claude Code v2.1.210 或更新版本。

32* [代理團隊](/docs/zh-TW/agent-teams)在 tmux 或 iTerm2 中啟動的分割窗格隊友工作階段。隊友窗格是互動式的,而不是背景程序,但 Claude Code 從自己的二進位檔案啟動它們,所以啟動程式涵蓋它們。需要 Claude Code v2.1.210 或更新版本。32* [代理團隊](/docs/zh-TW/agent-teams)在 tmux 或 iTerm2 中啟動的分割窗格隊友工作階段。隊友窗格是互動式的,而不是背景程序,但 Claude Code 從其自身二進位檔案啟動它們,所以啟動器涵蓋它們。需要 Claude Code v2.1.210 或更新版本。

33 33 

34在 Windows 上,該變數被忽略:啟動程式合約取決於 `exec`,而 Windows 不支援。設定了該變數的 Windows 機器會執行每個未包裝的程序並繼續工作,唯一的信號是[偵錯日誌](/docs/zh-TW/troubleshooting)中的警告。如果您的啟動程式政策涵蓋 Windows,該變數在那裡不滿足它:在規劃推出時,將 Windows 機器計為未包裝。34在 Windows 上,該變數會被忽略:啟動器合約取決於 `exec`,而 Windows 不支援。設定了該變數的 Windows 機器會執行每個未包裝的程序並繼續運作,唯一的信號是[偵錯日誌](/docs/zh-TW/troubleshooting)中的警告。如果您的啟動器原則涵蓋 Windows,該變數在那裡不滿足它:在規劃推出時,將 Windows 機器計為未包裝。

35 35 

36<h3 id="processes-that-start-outside-the-launcher">36<h3 id="processes-that-start-outside-the-launcher">

37 在啟動程式外啟動的程序37 在啟動器外啟動的程序

38</h3>38</h3>

39 39 

40以下程序不會透過啟動程式啟動:40以下程序不會透過啟動器啟動:

41 41 

42* [已安裝的背景服務](/docs/zh-TW/agent-view#the-supervisor-process),其單位是在設定啟動程式之前編寫的:`launchd` 或 `systemd` 從其單位檔案啟動該程序。`/status` 和 `claude daemon status` 在執行中的服務和設定的啟動程式不相符時發出警告,服務產生的工作階段在服務使用設定中的變數重新啟動後仍會透過啟動程式啟動。42* 一個[已安裝的背景服務](/docs/zh-TW/agent-view#the-supervisor-process),其單位是在設定啟動器之前編寫的:`launchd` 或 `systemd` 從其單位檔案啟動該程序。`/status` 和 `claude daemon status` 在執行中的服務和設定的啟動器不相符時發出警告,一旦服務在其設定中使用該變數重新啟動,服務產生的工作階段仍會透過啟動器啟動。

43* 您自己在終端中啟動的工作階段,它會按照您叫用它的方式執行。要涵蓋這些工作階段,請在 `PATH` 上較早的目錄中放置一個名為 `claude` 的指令碼,該指令碼使用真實二進位檔案執行您的啟動程式;不要替換受管理的符號連結。自我產生不會查詢 `PATH`,因此兩個啟動程式永遠不會堆疊。43* 您自己在終端中啟動的工作階段,其執行方式取決於您的調用方式。若要涵蓋這些工作階段,請在 `PATH` 上較早的目錄中放置一個名為 `claude` 的指令碼,該指令碼使用真實二進位檔案執行您的啟動器;不要取代受管理的符號連結。背景服務及其工作階段啟動時不進行 `PATH` 查詢,所以這兩個啟動器在那裡不會堆疊。

44* `claude-cli://` 深層連結的第一個程序,作業系統的協定處理程式直接啟動。該工作階段之後在背景中啟動的所有內容都會透過啟動程式執行。要完全關閉此路徑,請使用 `disableDeepLinkRegistration` 設定[防止處理程式註冊](/docs/zh-TW/deep-links#registration-and-supported-platforms)。44* `claude-cli://` 深層連結的第一個程序,作業系統的協定處理程式直接啟動。該工作階段之後在背景中啟動的所有內容都會透過啟動器執行。若要完全關閉此路徑,請使用 `disableDeepLinkRegistration` 設定[防止處理程式註冊](/docs/zh-TW/deep-links#registration-and-supported-platforms)。

45* `--worktree` 與 `--tmux` 結合執行的重新啟動:終端多工器啟動該窗格,而不是 Claude Code 的二進位檔案。45* `--worktree` 結合 `--tmux` 執行的重新啟動:終端多工器啟動該窗格,而不是 Claude Code 的二進位檔案。

46* [Chrome 中的 Claude](/docs/zh-TW/chrome) 註冊的原生訊息主機:瀏覽器啟動它,而不是 Claude Code 的二進位檔案。46* [Chrome 中的 Claude](/docs/zh-TW/chrome) 註冊的原生訊息主機:瀏覽器啟動它,而不是 Claude Code 的二進位檔案。

47 47 

48<h3 id="helper-process-names-in-process-monitors">48<h3 id="helper-process-names-in-process-monitors">

49 程序監視器中的協助程序名稱49 程序監視器中的協助程序名稱

50</h3>50</h3>

51 51 

52配置了啟動程式後,`ps` 和 Activity Monitor 不再顯示背景協助程序的 Claude Code `claude bg-pty-host` 和 `claude bg-spare` 標籤,因為啟動程式的 `exec` 會重建引數清單。遺失標籤是副作用,而不是隱蔽:程序在其他方面保持不變,Claude Code 透過二進位檔案路徑識別自己的程序,永遠不會透過顯示名稱。52設定啟動器後,`ps` 和 Activity Monitor 不再顯示 Claude Code 的 `claude bg-pty-host` 和 `claude bg-spare` 標籤用於背景協助程序,因為啟動器的 `exec` 重建了引數清單。失去標籤是一個副作用,而不是隱瞞:程序在其他方面保持不變,Claude Code 透過二進位檔案路徑識別其自身程序,絕不透過顯示名稱。

53 53 

54<h2 id="set-up-the-launcher">54<h2 id="set-up-the-launcher">

55 設定啟動程式55 設定啟動程式

costs.md +1 −1

Details

146 </Step>146 </Step>

147 147 

148 <Step title="寫入設定">148 <Step title="寫入設定">

149 為清單價格設定 `multiplier` 以獲得固定百分比折扣,在 `overrides` 下列出每個模型的四個每 token 費率,或兩者都做。[`modelPricing` 項目](/docs/zh-TW/settings-reference#modelpricing)具有形狀和可貼上的範例。149 為清單價格設定 `multiplier` 以獲得固定百分比折扣,在 `overrides` 下列出每個模型的四個每 token 費率,或兩者都做。加價需要 Claude Code v2.1.271 或更新版本。[`modelPricing` 項目](/docs/zh-TW/settings-reference#modelpricing)具有形狀和可貼上的範例。

150 </Step>150 </Step>

151 151 

152 <Step title="透過受管設定部署它">152 <Step title="透過受管設定部署它">

Details

139* **子代理**:在目前工作階段內執行的代理。139* **子代理**:在目前工作階段內執行的代理。

140* **隊友**:此工作階段自己的[代理團隊](/docs/zh-TW/agent-teams)隊友。在 v2.1.239 之前,隊友沒有出現在列表中,儘管 Claude 已經可以按名稱訊息傳送至他們。140* **隊友**:此工作階段自己的[代理團隊](/docs/zh-TW/agent-teams)隊友。在 v2.1.239 之前,隊友沒有出現在列表中,儘管 Claude 已經可以按名稱訊息傳送至他們。

141* **您的其他本地工作階段**:在同一台機器上執行的 Claude Code 工作階段,包括[背景工作階段](/docs/zh-TW/agent-view)。工作階段僅在綁定[收件匣通訊端](#the-sessions-inbox-socket)時出現。141* **您的其他本地工作階段**:在同一台機器上執行的 Claude Code 工作階段,包括[背景工作階段](/docs/zh-TW/agent-view)。工作階段僅在綁定[收件匣通訊端](#the-sessions-inbox-socket)時出現。

142* **您的雲端工作階段**:您的[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 工作階段,在此工作階段連接到[遠端控制](/docs/zh-TW/remote-control)時顯示。Claude Code 在列表中將它們標記為 `cloud`。142* **您的雲端工作階段**:在此工作階段連接到[遠端控制](/docs/zh-TW/remote-control)時顯示的[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web)工作階段。Claude Code 在列表中將它們標記為 `cloud`。

143* **您在其他機器上的遠端控制工作階段**:在此工作階段連接到[遠端控制](/docs/zh-TW/remote-control)時顯示,並標記為 `Remote Control`。Claude Code 將遠端控制連接已斷開的工作階段的狀態顯示為 `offline`。143* **您在其他機器上的遠端控制工作階段**:在此工作階段連接到[遠端控制](/docs/zh-TW/remote-control)時顯示,並標記為 `Remote Control`。Claude Code 將遠端控制連接已斷開的工作階段的狀態顯示為 `offline`。

144 144 

145此工作階段不是其中一行。如果 Claude 將訊息定址到此工作階段自己的名稱,Claude Code 拒絕它並告訴 Claude 目標是目前工作階段。在 v2.1.239 之前,列表沒有顯示此工作階段的名稱,Claude Code 報告發送給它的訊息為它找不到的代理。145此工作階段不是其中一行。如果 Claude 將訊息定址到此工作階段自己的名稱,Claude Code 拒絕它並告訴 Claude 目標是目前工作階段。在 v2.1.239 之前,列表沒有顯示此工作階段的名稱,Claude Code 報告發送給它的訊息為它找不到的代理。


254* 如果此工作階段的權限模式類別在保留訊息時變更,Claude Code 會重新應用傳入規則,傳遞它們現在接受的訊息,並顯示通知。254* 如果此工作階段的權限模式類別在保留訊息時變更,Claude Code 會重新應用傳入規則,傳遞它們現在接受的訊息,並顯示通知。

255* 如果設定變更使 `refuse` 在保留訊息時適用,Claude Code 會丟棄每條保留的訊息,並向它可以到達的每個寄件者報告拒絕。255* 如果設定變更使 `refuse` 在保留訊息時適用,Claude Code 會丟棄每條保留的訊息,並向它可以到達的每個寄件者報告拒絕。

256 256 

257當寄件者是同一機器上的互動式工作階段時,Claude Code 會在接收端保留訊息時在那裡顯示通知,以及在接收端稍後傳遞、拒絕或過期時顯示後續通知。如果接收端拒絕它,Claude Code 會在那裡顯示通知,表示接收端不接受跨工作階段訊息,並告訴寄件者的 Claude 不要等待或重新傳送。257當寄件者是同一機器上的工作階段時,Claude Code 會在接收端保留訊息時在那裡傳送通知給它,以及在接收端稍後傳遞、拒絕或過期時傳送後續通知。通知會到達傳送端的 Claude,因此它知道不要繼續等待另一個工作階段尚未讀取的訊息。

258 

259在互動式傳送工作階段中,通知會出現在文字記錄中。[`claude -p`](/docs/zh-TW/headless) 寄件者會在[串流輸出](/docs/zh-TW/headless#stream-responses)中以[資訊性 `system` 訊息](/docs/zh-TW/agent-sdk/typescript#sdkinformationalmessage)的形式接收它。發送給 `claude -p` 寄件者的通知需要 Claude Code v2.1.271 或更新版本。

260 

261如果接收端拒絕訊息,寄件者的通知會說接收端不接受跨工作階段訊息,並告訴寄件者的 Claude 不要等待或重新傳送。

258 262 

259Claude Code 最多保留 100 條訊息,與傳遞佇列分開,超過該數量會丟棄最舊的訊息。263Claude Code 最多保留 100 條訊息,與傳遞佇列分開,超過該數量會丟棄最舊的訊息。

260 264 

Details

115| Skill 不出現在 `/skills` 中 | Skill 檔案位於 `.claude/skills/name.md` 而不是在資料夾中 | 使用包含 `SKILL.md` 的資料夾:`.claude/skills/name/SKILL.md`。 |115| Skill 不出現在 `/skills` 中 | Skill 檔案位於 `.claude/skills/name.md` 而不是在資料夾中 | 使用包含 `SKILL.md` 的資料夾:`.claude/skills/name/SKILL.md`。 |

116| Skill 出現在 `/skills` 中但 Claude 永遠不呼叫它 | Skill 在其 frontmatter 中有 `disable-model-invocation: true`,或其描述與您表述請求的方式不符 | 檢查 `/skills` 中的徽章:「user-only」標籤表示 Claude 不會自動觸發它。請參閱 [skill 呼叫](/docs/zh-TW/skills)。 |116| Skill 出現在 `/skills` 中但 Claude 永遠不呼叫它 | Skill 在其 frontmatter 中有 `disable-model-invocation: true`,或其描述與您表述請求的方式不符 | 檢查 `/skills` 中的徽章:「user-only」標籤表示 Claude 不會自動觸發它。請參閱 [skill 呼叫](/docs/zh-TW/skills)。 |

117| 子目錄 `CLAUDE.md` 指令似乎被忽略 | 子目錄檔案按需載入,而不是在工作階段開始時載入 | 它們在 Claude 使用 Read 工具讀取該目錄中的檔案時載入,而不是在啟動時,也不是在寫入或建立檔案時。請參閱 [CLAUDE.md 檔案如何載入](/docs/zh-TW/memory#how-claude-md-files-load)。 |117| 子目錄 `CLAUDE.md` 指令似乎被忽略 | 子目錄檔案按需載入,而不是在工作階段開始時載入 | 它們在 Claude 使用 Read 工具讀取該目錄中的檔案時載入,而不是在啟動時,也不是在寫入或建立檔案時。請參閱 [CLAUDE.md 檔案如何載入](/docs/zh-TW/memory#how-claude-md-files-load)。 |

118| 子代理忽略 `CLAUDE.md` 指令 | 內建的 Explore 和 Plan 代理會跳過 `CLAUDE.md`。自訂子代理以與主對話相同的方式載入它 | 對於 Explore 或 Plan,在您的委派提示中重新陳述指令。對於自訂子代理,將關鍵指令放在代理檔案主體中,該主體成為代理的系統提示。請參閱 [啟動時載入的內容](/docs/zh-TW/sub-agents#what-loads-at-startup)。 |118| 子代理忽略 `CLAUDE.md` 指令 | 內建的 Explore 和 Plan 代理會跳過 `CLAUDE.md`。自訂子代理以與主對話相同的方式載入它,除非其定義設定 [`omitClaudeMd`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) | 對於 Explore 或 Plan,在您的委派提示中重新陳述指令。對於設定 `omitClaudeMd` 的子代理,移除該欄位。對於任何其他自訂子代理,將關鍵指令放在代理檔案主體中,該主體成為代理的系統提示。請參閱 [啟動時載入的內容](/docs/zh-TW/sub-agents#what-loads-at-startup)。 |

119| 清理邏輯在工作階段結束時永遠不執行 | 未設定 `SessionEnd` hook | 在 `settings.json` 中新增 `SessionEnd` hook。請參閱 [hook 事件清單](/docs/zh-TW/hooks#hook-events)。 |119| 清理邏輯在工作階段結束時永遠不執行 | 未設定 `SessionEnd` hook | 在 `settings.json` 中新增 `SessionEnd` hook。請參閱 [hook 事件清單](/docs/zh-TW/hooks#hook-events)。 |

120| `.mcp.json` 中的 MCP servers 永遠不載入 | 檔案位於 `.claude/` 下,或其 servers 位於頂層 `servers` 鍵下,如 VS Code 的 `mcp.json` 中,而不是 `mcpServers` | 專案 MCP 設定位於儲存庫根目錄為 `.mcp.json`,而不是在 `.claude/` 內,servers 位於 `mcpServers` 鍵下。請參閱 [MCP 設定](/docs/zh-TW/mcp)。 |120| `.mcp.json` 中的 MCP servers 永遠不載入 | 檔案位於 `.claude/` 下,或其 servers 位於頂層 `servers` 鍵下,如 VS Code 的 `mcp.json` 中,而不是 `mcpServers` | 專案 MCP 設定位於儲存庫根目錄為 `.mcp.json`,而不是在 `.claude/` 內,servers 位於 `mcpServers` 鍵下。請參閱 [MCP 設定](/docs/zh-TW/mcp)。 |

121| 新增在 `settings.json` 中的 `mcpServers` 下的 MCP servers 永遠不出現 | `settings.json` 不讀取 `mcpServers` 鍵 | 在儲存庫根目錄的 `.mcp.json` 中定義專案 servers,或執行 `claude mcp add --scope user` 以取得使用者範圍的 servers。請參閱 [MCP 設定](/docs/zh-TW/mcp)。 |121| 新增在 `settings.json` 中的 `mcpServers` 下的 MCP servers 永遠不出現 | `settings.json` 不讀取 `mcpServers` 鍵 | 在儲存庫根目錄的 `.mcp.json` 中定義專案 servers,或執行 `claude mcp add --scope user` 以取得使用者範圍的 servers。請參閱 [MCP 設定](/docs/zh-TW/mcp)。 |

desktop.md +254 −130

Details

9Claude Desktop 應用程式有三個標籤:**Chat** 用於對話、**Cowork** 用於 [Dispatch 和更長的代理工作](https://claude.com/product/cowork),以及 **Code** 用於軟體開發。本頁面是 Code 標籤的參考。9Claude Desktop 應用程式有三個標籤:**Chat** 用於對話、**Cowork** 用於 [Dispatch 和更長的代理工作](https://claude.com/product/cowork),以及 **Code** 用於軟體開發。本頁面是 Code 標籤的參考。

10 10 

11<CardGroup cols={3}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="下載 macOS 版本" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 適用於 Intel 和 Apple Silicon 的通用版本

14 </Card>14 </Card>

15 15 

16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="下載 Windows 版本" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 適用於 x64 處理器

18 </Card>18 </Card>

19 19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/docs/en/desktop-linux">20 <Card title="取得 Claude for Linux (測試版)" icon="linux" href="/docs/zh-TW/desktop-linux">

21 apt or .deb for Ubuntu and Debian21 適用於 Ubuntu 和 Debian 的 apt 或 .deb

22 </Card>22 </Card>

23</CardGroup>23</CardGroup>

24 24 

25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/docs/en/desktop-linux).25若要使用 Windows ARM64,請下載 [ARM64 安裝程式](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)。在 Linux 上,使用 apt 安裝;請參閱 [Claude Desktop on Linux](/docs/zh-TW/desktop-linux)。

26 26 

27安裝後,啟動 Claude,登入,然後點擊 **Code** 標籤。第一次在 Windows 上開啟時,您需要安裝 [Git for Windows](https://git-scm.com/downloads/win);安裝後請重新啟動應用程式。如需您第一個會話的逐步說明,請參閱[快速入門指南](/docs/zh-TW/desktop-quickstart)。27安裝後,啟動 Claude,登入,然後點擊 **Code** 標籤。如需您第一個會話的逐步說明,請參閱[快速入門指南](/docs/zh-TW/desktop-quickstart)。

28 28 

29在 Code 標籤中,每個對話都是一個**會話**:它有自己的聊天歷史記錄、專案資料夾和程式碼變更,獨立於任何其他會話。側邊欄列出您的會話,並讓您並行執行多個會話。在會話中,您可以:29在 Code 標籤中,每個對話都是一個**會話**:它有自己的聊天歷史記錄和專案資料夾,獨立於任何其他會話。側邊欄列出您的會話,並讓您並行執行多個會話。在會話中,您可以:

30 30 

31* [使用差異檢查檢查和評論變更](#review-changes-with-diff-view),然後[透過 CI 監控產生的 PR](#monitor-pull-request-status)31* [使用差異檢查檢查和評論變更](#review-changes-with-diff-view),然後[透過 CI 監控產生的 PR](#monitor-pull-request-status)

32* [在瀏覽器窗格中預覽您執行的應用程式](#preview-your-app),同時 Claude 驗證其自己的變更,並[在其旁邊開啟外部網站](#browse-external-sites)32* [在瀏覽器窗格中預覽您執行的應用程式](#preview-your-app),同時 Claude 驗證其自己的變更,並[在其旁邊開啟外部網站](#browse-external-sites)

33* [在 iOS Simulator 窗格中觀看 Claude 執行和測試您的 iOS 應用程式](/docs/zh-TW/desktop-ios-simulator)

33* [排列窗格](#arrange-your-workspace),將聊天、差異、瀏覽器、終端機和檔案編輯器並排放置34* [排列窗格](#arrange-your-workspace),將聊天、差異、瀏覽器、終端機和檔案編輯器並排放置

34* 提出[側邊問題](#ask-a-side-question-without-derailing-the-session),使用會話的內容而不會偏離主題35* 提出[側邊問題](#ask-a-side-question-without-derailing-the-session),使用會話的內容而不會偏離主題

36* 讓 Claude [檢查、訊息或封存您的其他會話](#work-across-sessions)

35* [連接外部工具](#connect-external-tools),例如 GitHub、Slack 和 Linear37* [連接外部工具](#connect-external-tools),例如 GitHub、Slack 和 Linear

36* 讓 Claude [開啟應用程式並控制您的螢幕](#let-claude-use-your-computer)38* 讓 Claude [開啟應用程式並控制您的螢幕](#let-claude-use-your-computer)

37* 在您的機器上、[雲端](#run-long-running-tasks-remotely)或 [SSH](#ssh-sessions) 上執行39* 在您的機器上、[雲端](#run-long-running-tasks-in-the-cloud)或 [SSH](#ssh-sessions) 上執行

38 40 

39如需[排程定期工作](/docs/zh-TW/desktop-scheduled-tasks)、[快捷鍵](#keyboard-shortcuts)或[從您的手機傳送任務](#sessions-from-dispatch),請參閱連結的頁面和章節。如果您已經使用基於終端機的 CLI,請參閱 [CLI 比較](#coming-from-the-cli)以了解哪些內容可以轉移。41如需[排程定期工作](/docs/zh-TW/desktop-scheduled-tasks)、[快捷鍵](#keyboard-shortcuts)或[從您的手機傳送任務](#sessions-from-dispatch),請參閱連結的頁面和章節。如果您已經使用基於終端機的 CLI,請參閱 [CLI 比較](#coming-from-the-cli)以了解哪些內容可以轉移。

40 42 


44 46 

45在發送第一條訊息之前,在提示區域中配置四項內容:47在發送第一條訊息之前,在提示區域中配置四項內容:

46 48 

47* **環境**:選擇 Claude 執行的位置。選擇 **Local** 用於您的機器、**Remote** 用於 Anthropic 託管的雲端會話,[**SSH 連線**](#ssh-sessions)用於您管理的遠端機器,或在 Windows 上選擇 [**WSL 發行版**](/docs/zh-TW/desktop-wsl)。請參閱[環境配置](#environment-configuration)。49* **環境**:選擇 Claude 執行的位置。選擇 **Local** 用於您的機器、**Cloud** 用於[雲端會話](#cloud-sessions)(在您關閉應用程式後仍會繼續),[**SSH 連線**](#ssh-sessions)用於您管理的遠端機器,或在 Windows 上選擇 [**WSL 發行版**](/docs/zh-TW/desktop-wsl)。請參閱[環境配置](#environment-configuration)。

48* **專案資料夾**:選擇 Claude 工作的資料夾或儲存庫。對於遠端會話,您可以新增[多個儲存庫](#run-long-running-tasks-remotely)。50* **專案資料夾**:選擇 Claude 工作的資料夾或儲存庫。對於雲端會話,您可以新增[多個儲存庫](#run-long-running-tasks-in-the-cloud)。

49* **模型**:從傳送按鈕旁的下拉式選單中選擇[模型](/docs/zh-TW/model-config#available-models)。您可以在會話期間變更此設定。51* **模型**:從傳送按鈕旁的下拉式選單中選擇[模型](/docs/zh-TW/model-config#available-models)。您可以在會話期間變更此設定。

50* **權限模式**:從[模式選擇器](#choose-a-permission-mode)中選擇 Claude 擁有多少自主權。您可以在會話期間變更此設定。52* **權限模式**:從[模式選擇器](#choose-a-permission-mode)中選擇 Claude 擁有多少自主權。您可以在會話期間變更此設定。

51 53 


55 使用程式碼57 使用程式碼

56</h2>58</h2>

57 59 

58為 Claude 提供正確的上下文,控制它自主執行的程度,並檢查它所做的變更。60提供 Claude 正確的背景資訊、控制它自主執行的程度,並檢查它所做的變更。

59 61 

60<h3 id="use-the-prompt-box">62<h3 id="use-the-prompt-box">

61 使用提示框63 使用提示框

62</h3>64</h3>

63 65 

64輸入您想讓 Claude 執行的操作,然後按 **Enter** 傳送。Claude 會讀取您的專案檔案、進行變更,並根據您的[權限模式](#choose-a-permission-mode)執行命令。您可以隨時中斷 Claude:點擊停止按鈕以立即中斷,或輸入更正並按 **Enter** 傳送,而不停止正在執行的操作。Claude 會在目前操作完成後立即讀取更正,並在下一步之前進行調整。66輸入您想讓 Claude 執行的操作,然後按 **Enter** 鍵傳送。Claude 會讀取您的專案檔案、進行變更,並根據您的[權限模式](#choose-a-permission-mode)執行命令。您可以隨時重新導向 Claude:點擊停止按鈕立即中斷,或輸入更正並按 **Enter** 鍵傳送,無需停止執行中的操作。Claude 會在目前操作完成後立即讀取更正,並在下一步之前進行調整。

65 67 

66提示框旁的 **+** 按鈕可讓您存取檔案附件、[skills](#use-skills)、[連接器](#connect-external-tools)和[plugins](#install-plugins)。68提示框旁的 **+** 按鈕可讓您存取檔案附件、[skills](#use-skills)、[connectors](#connect-external-tools) 和 [plugins](#install-plugins)。

67 69 

68<h3 id="add-files-and-context-to-prompts">70<h3 id="add-files-and-context-to-prompts">

69 將檔案和上下文新增到提示71 將檔案和背景資訊新增至提示

70</h3>72</h3>

71 73 

72提示框支援兩種方式來引入外部上下文:74提示框支援兩種方式來引入外部背景資訊:

73 75 

74* **@mention 檔案**:輸入 `@` 後跟檔案名稱,將檔案新增到對話上下文。Claude 隨後可以讀取和參考該檔案。@mention 在雲端會話和 WSL 會話中不可用。76* **@mention 檔案**:輸入 `@` 後跟檔案名稱,將檔案新增至對話背景資訊。Claude 隨後可以讀取並參考該檔案。@mention 在雲端或 WSL 工作階段中不可用。

75* **附加檔案**:使用附件按鈕將影像、PDF 和其他檔案附加到您的提示,或直接將檔案拖放到提示中。這對於分享錯誤的螢幕截圖、設計模型或參考文件很有用。77* **附加檔案**:使用附件按鈕將影像、PDF 和其他檔案附加到您的提示,或直接將檔案拖放到提示中。這對於分享錯誤的螢幕截圖、設計模型或參考文件很有用。

76 78 

77<h3 id="choose-a-permission-mode">79<h3 id="choose-a-permission-mode">

78 選擇權限模式80 選擇權限模式

79</h3>81</h3>

80 82 

81權限模式控制 Claude 在會話期間擁有多少自主權:它是否在編輯檔案、執行命令或兩者之前詢問。您可以隨時使用傳送按鈕旁的模式選擇器切換模式。從「Manual」開始,以查看 Claude 確切執行的操作,然後隨著您變得更加熟悉,移至「Accept edits」或「Plan」。83權限模式控制 Claude 在工作階段期間的自主程度:它是否在編輯檔案、執行命令或兩者之前詢問。您可以隨時使用傳送按鈕旁的模式選擇器切換權限模式。若要自行核准每項變更,請切換至「手動」。

82 84 

83若要為新的本機會話設定預設模式,請將 `permissions.defaultMode` 新增到您的[設定檔](/docs/zh-TW/settings#settings-files)。桌面應用程式讀取與 CLI 相同的設定檔。您在選擇器中選擇的模式會記住每個資料夾,並優先於該資料夾的 `defaultMode`,除了 Plan,它僅適用於目前會話。85若要為新的本機工作階段設定預設模式,請將 `permissions.defaultMode` 新增至您的[設定檔](/docs/zh-TW/settings#where-settings-live)。桌面應用程式讀取與 CLI 相同的設定檔。您在選擇器中選擇的模式會記住每個資料夾,並優先於該資料夾的 `defaultMode`,但 Plan 除外,它僅適用於目前工作階段。

84 86 

85| 模式 | 設定金鑰 | 行為 |87| 模式 | 設定鍵 | 行為 |

86| ---------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| -------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

87| **Manual** | `default` | Claude 在編輯檔案或執行命令之前詢問。您會看到差異,並可以接受或拒絕每項變更。建議新使用者使用。 |89| **手動** | `default` | Claude 在編輯檔案或執行命令之前詢問。您會看到差異,並可以接受或拒絕每項變更。 |

88| **Accept edits** | `acceptEdits` | Claude 自動接受檔案編輯和常見的檔案系統命令,如 `mkdir`、`touch` 和 `mv`,但在執行其他終端機命令之前仍會詢問。當您信任檔案變更並想要更快速的迭代時,請使用此選項。 |90| **接受編輯** | `acceptEdits` | Claude 自動接受檔案編輯和常見的檔案系統命令,例如 `mkdir`、`touch` 和 `mv`,但在執行其他終端命令之前仍會詢問。當您信任檔案變更並想要更快速的迭代時,請使用此選項。 |

89| **Plan** | `plan` | Claude 讀取檔案並執行命令以探索,然後提出計畫而不編輯您的原始程式碼。適合您想要先檢查方法的複雜任務。 |91| **Plan** | `plan` | Claude 讀取檔案並執行命令以進行探索,然後提出計畫而不編輯您的原始程式碼。適合複雜的工作,您想先檢查方法。 |

90| **Auto** | `auto` | Claude 執行所有操作,並進行背景安全檢查以驗證與您的請求的一致性。減少權限提示,同時保持監督。在您的帳戶符合下方[可用性要求](#auto-mode-availability)時出現;在設定中沒有單獨的切換開關。 |92| **自動** | `auto` | Claude 執行所有操作,並進行背景安全檢查以驗證與您的請求的一致性。減少權限提示,同時保持監督。當[自動模式可用](#auto-mode-availability)時出現;沒有單獨的設定切換。 |

91| **Bypass permissions** | `bypassPermissions` | Claude 執行時不會有任何權限提示,除了由明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)強制執行的提示、連接器工具[您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools)、標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,或當 Claude [在外部網站上執行操作](#browse-external-sites)時由安全分類器強制執行的提示;相當於 CLI 中的 `--dangerously-skip-permissions`。在 Pro 和 Max 方案上,在您的「設定」→「Claude Code」下的「Allow bypass permissions mode」中啟用它;在 Team 和 Enterprise 方案上沒有「設定」切換開關,組織政策會改為控制它。僅在沙箱容器或虛擬機器中使用。 |93| **略過權限** | `bypassPermissions` | Claude 執行時不會出現權限提示,除了[任何模式都不會自動核准的操作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)、當 Claude [在外部網站上執行操作](#browse-external-sites)時的安全分類器,或桌面操作(Claude 始終先詢問),例如[封存工作階段](#work-across-sessions)。相當於 CLI 中的 `--dangerously-skip-permissions`。在 Pro 和 Max 方案上,在您的設定 → Claude Code 中的「允許略過權限模式」下啟用它;在 Team 和 Enterprise 方案上沒有設定切換,組織政策會控制它。僅在沙箱容器或虛擬機中使用此選項。 |

92 94 

93較早版本的 Code 標籤將這些模式標記為 Ask permissions、Auto accept edits 和 Plan mode。95Code 標籤的早期版本將這些模式標記為「詢問權限」、「自動接受編輯」和「Plan 模式」。

94 96 

95`dontAsk` 權限模式僅在 [CLI](/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) 中可用。97`dontAsk` 權限模式僅在 [CLI](/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) 中可用。

96 98 

97<span id="auto-mode-availability" />99<span id="auto-mode-availability" />

98 100 

99Auto mode 在 Anthropic API 上提供給所有使用者,需要 Claude Opus 4.6 或更新版本,或 Sonnet 4.6 或更新版本。在路由 Desktop 至 Google Cloud 的 Agent Platform 的企業部署中,auto mode [預設為可用](/docs/zh-TW/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry),且僅支援 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。在 Claude Code v2.1.207 之前,Google Cloud 的 Agent Platform 上的企業部署必須設定 `CLAUDE_CODE_ENABLE_AUTO_MODE` 以啟用 auto mode。101自動模式適用於 Anthropic API 上的所有使用者,需要 Claude Opus 4.6 或更新版本、Sonnet 4.6 或更新版本,或 [Fable 模型](/docs/zh-TW/model-config#work-with-fable)。組織管理員可以使用[受管設定](#managed-settings)中的 `disableAutoMode` 鍵關閉自動模式。

102 

103在將 Desktop 路由到 Google Cloud 的 Agent Platform 的 Enterprise 部署中,自動模式也預設可用;請參閱 [Bedrock、Agent Platform 或 Foundry 上的自動模式](/docs/zh-TW/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)以了解支援的模型。

100 104 

101<Tip title="最佳實踐">105<Tip title="最佳實踐">

102 在 Plan 中開始複雜任務,以便 Claude 在進行變更之前規劃方法。一旦您批准計畫,切換到「Accept edits」或「Manual」以執行它。有關此工作流程的更多資訊,請參閱[先探索,然後計畫,然後編碼](/docs/zh-TW/best-practices#explore-first-then-plan-then-code)。106 在 Plan 中開始複雜的工作,讓 Claude 在進行變更之前規劃方法。一旦您核准計畫,切換至「接受編輯」或「手動」以執行它。請參閱[先探索,然後計畫,然後編碼](/docs/zh-TW/best-practices#explore-first-then-plan-then-code)以了解更多有關此工作流程的資訊。

103</Tip>107</Tip>

104 108 

105雲端會話支援「Accept edits」、「Plan」和「Auto」。「Accept edits」對應於 `default` 模式:雲端會話預先批准檔案編輯,因此選擇器顯示「Accept edits」而不是「Manual」。「Bypass permissions」不可用,因為雲端環境已經是沙箱化的。109雲端工作階段支援「接受編輯」、「Plan」和「自動」。「接受編輯」對應於 `default` 模式:雲端工作階段預先核准檔案編輯,因此選擇器顯示「接受編輯」而不是「手動」。「略過權限」在雲端工作階段中不可用,包括[自託管環境](/docs/zh-TW/self-hosted-environments)中的工作階段。

106 110 

107企業管理員可以限制哪些權限模式可用。有關詳細資訊,請參閱[企業配置](#enterprise-configuration)。111Enterprise 管理員可以限制哪些權限模式可用。請參閱[企業設定](#enterprise-configuration)以了解詳細資訊。

108 112 

109<h3 id="preview-your-app">113<h3 id="preview-your-app">

110 預覽您的應用程式114 預覽您的應用程式

111</h3>115</h3>

112 116 

113Claude 可以啟動開發伺服器並在「Browser」窗格中開啟它以驗證其變更。這適用於前端網路應用程式以及後端伺服器:Claude 可以測試 API 端點、檢視伺服器日誌,並對其發現的問題進行迭代。在大多數情況下,Claude 在編輯專案檔案後會自動啟動伺服器。您也可以隨時要求 Claude 進行預覽。預設情況下,Claude [自動驗證](#auto-verify-changes)每次編輯後的變更。117Claude 可以啟動開發伺服器並在「瀏覽器」窗格中開啟它以驗證其變更。這適用於前端網路應用程式以及後端伺服器:Claude 可以測試 API 端點、檢視伺服器日誌,並對它發現的問題進行迭代。在大多數情況下,Claude 在編輯專案檔案後會自動啟動伺服器。您也可以隨時要求 Claude 進行預覽。預設情況下,Claude [自動驗證](#auto-verify-changes)每次編輯後的變更。

114 118 

115「Browser」窗格也可以開啟您專案中的靜態 HTML 檔案、PDF、影像和影片。點擊聊天中的 HTML、PDF、影像或影片路徑以在其中開啟它。119「瀏覽器」窗格也可以從您的專案中開啟靜態 HTML 檔案、PDF、影片和影片。在聊天中點擊 HTML、PDF、影像或影片路徑以在那裡開啟它。

116 120 

117從「Browser」窗格,您可以:121從「瀏覽器」窗格,您可以:

118 122 

119* 直接在「Browser」窗格中與執行中的應用程式互動123* 直接在「瀏覽器」窗格中與執行中的應用程式互動

120* 觀看 Claude 自動驗證自己的變更:它會擷取螢幕截圖、檢查 DOM、點擊元素、填寫表單,並修復它發現的問題124* 觀看 Claude 自動驗證其自身的變更:它會擷取螢幕截圖、檢查 DOM、點擊元素、填寫表單,並修復它發現的問題

121* 從會話工具列中的伺服器下拉式選單啟動或停止伺服器125* 從工作階段工具列中的伺服器下拉式選單啟動或停止伺服器

122* 透過在下拉式選單中選擇 **Persist sessions**,在伺服器重新啟動時保留 Cookie 和本機儲存,這樣您就不必在開發期間重新登入126* 通過在下拉式選單中選擇**保留工作階段**,在伺服器重新啟動時保留 Cookie 和本機儲存,因此您在開發期間不必重新登入

123* 編輯伺服器配置或一次停止所有伺服器127* 編輯伺服器設定或一次停止所有伺服器

124 128 

125Claude 根據您的專案建立初始伺服器配置。如果您的應用程式使用自訂開發命令,請編輯 `.claude/launch.json` 以符合您的設定。有關完整參考,請參閱[配置預覽伺服器](#configure-preview-servers)。129Claude 根據您的專案建立初始伺服器設定。如果您的應用程式使用自訂開發命令,請編輯 `.claude/launch.json` 以符合您的設定。請參閱[設定預覽伺服器](#configure-preview-servers)以了解完整參考。

126 130 

127若要清除已儲存的會話資料,或完全關閉「Browser」,請使用「設定」→「Claude Code」中的切換開關。131若要清除已儲存的工作階段資料,或完全關閉「瀏覽器」,請使用「設定」→「Claude Code」中的切換。

128 132 

129<h3 id="browse-external-sites">133<h3 id="browse-external-sites">

130 瀏覽外部網站134 瀏覽外部網站

131</h3>135</h3>

132 136 

133「Browser」窗格是一個分頁瀏覽器,因此您可以在執行中的應用程式旁邊開啟文件、問題追蹤器或任何其他網站。若要開啟「Browser」,請在 macOS 上按 **Cmd+Shift+B** 或在 Windows 上按 **Ctrl+Shift+B**,或從 **Views** 選單中選擇它。當您點擊聊天中的外部連結時,選擇器會提供 **Open in app** 以使用「Browser」窗格或 **Default browser** 以使用您自己的瀏覽器;在 macOS 上按 **Cmd** 點擊或在 Windows 上按 **Ctrl** 點擊會直接在您的系統瀏覽器中開啟連結。您可以登入窗格中的網站,包括彈出式登入流程,例如 Google OAuth。137「瀏覽器」窗格是一個標籤式瀏覽器,因此您可以在執行中的應用程式旁邊開啟文件、問題追蹤器或任何其他網站。若要開啟「瀏覽器」,請在 macOS 上按 **Cmd+Shift+B**,或在 Windows 上按 **Ctrl+Shift+B**,或從**檢視**選單中選擇它。當您點擊聊天中的外部連結時,選擇器會提供**在應用程式中開啟**以使用「瀏覽器」窗格或**預設瀏覽器**以使用您自己的;在 macOS 上按 **Cmd** 點擊或在 Windows 上按 **Ctrl** 點擊直接在您的系統瀏覽器中開啟連結。您可以登入窗格中的網站,包括彈出式登入流程,例如 Google OAuth。

134 138 

135Claude 可以使用與[驗證您的應用程式](#preview-your-app)相同的工具來讀取和互動外部頁面,並有兩項額外的安全檢查:139Claude 可以使用與[驗證您的應用程式](#preview-your-app)相同的工具讀取和互動外部頁面,並進行兩項額外的安全檢查:

136 140 

137* 安全分類器在每個權限模式中檢查 Claude 在外部頁面上的寫入操作,例如點擊和輸入。這些是與[自動模式](#choose-a-permission-mode)相同的分類器,當它們標記操作時,您會收到權限提示,無論模式如何。141* 安全分類器在每個權限模式中檢查 Claude 在外部頁面上的寫入操作,例如點擊和輸入。這些是[自動模式](#choose-a-permission-mode)使用的相同分類器,當它們標記操作時,您會獲得權限提示,無論模式如何。

138* 在「Auto」和「Bypass permissions」以外的權限模式中,在 Claude 導航到新網站之前,也會應用網域允許清單檢查。142* 在「自動」和「略過權限」以外的權限模式中,在 Claude 導航到新網站之前也會應用網域允許清單檢查。

139 143 

140<h4 id="approve-claude’s-actions-on-a-site">144<h4 id="approve-claude’s-actions-on-a-site">

141 批准 Claude 在網站上的操作145 核准 Claude 在網站上的操作

142</h4>146</h4>

143 147 

144Claude 第一次在外部網站上執行操作時,會出現一張權限卡,Claude 會等待您的選擇:**Allow once**、**Always allow** 或 **Deny**。**Allow once** 批准操作而不保存任何內容。**Always allow** 在您的裝置上保存該網站的批准,您可以在「設定」中撤銷它。每個網站都需要自己的批准,包括子網域。您的本機開發伺服器和專案檔案不需要批准,因此[自動驗證](#auto-verify-changes)可以繼續進行而不會出現提示。148Claude 首次在外部網站上執行操作時,會出現權限卡,Claude 會等待您的選擇:**允許一次**、**始終允許**或**拒絕**。**允許一次**核准操作而不儲存任何內容。**始終允許**在您的裝置上儲存該網站的核准,您可以在「設定」中撤銷它。每個網站都需要自己的核准,包括子網域。您的本機開發伺服器和專案檔案不需要核准,因此[自動驗證](#auto-verify-changes)可以繼續進行而不會出現提示。

145 149 

146即使在已批准的網站上,Claude 也不會在沒有您的輸入的情況下購買商品、建立帳戶或繞過 CAPTCHA。在「Browser」窗格中瀏覽使用與 [Chrome 中的 Claude 擴充功能](/docs/zh-TW/chrome)相同的安全模型。有關 Claude 如何處理敏感網站和危險操作的資訊,請參閱[安全地使用 Chrome 中的 Claude](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely)。150即使在已核准的網站上,Claude 也不會在沒有您的輸入的情況下購買商品、建立帳戶或繞過 CAPTCHA。在「瀏覽器」窗格中瀏覽使用與 [Chrome 中的 Claude 擴充功能](/docs/zh-TW/chrome)相同的安全模型。請參閱[安全地使用 Chrome 中的 Claude](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely)以了解 Claude 如何處理敏感網站和危險操作。

147 151 

148<h4 id="choose-between-the-browser-and-the-chrome-extension">152<h4 id="choose-between-the-browser-and-the-chrome-extension">

149 在「Browser」和 Chrome 擴充功能之間選擇153 在「瀏覽器」和 Chrome 擴充功能之間選擇

150</h4>154</h4>

151 155 

152「Browser」窗格使用乾淨的瀏覽器設定檔,與您的個人瀏覽器分開,沒有您保存的登入或歷史記錄。使用它來建立和測試您的應用程式,以及不需要您身份的網站。當您想讓 Claude 在您的已登入會話中充當您時,請改用 [Chrome 中的 Claude 擴充功能](/docs/zh-TW/chrome),它會共享您瀏覽器的登入狀態。156「瀏覽器」窗格使用乾淨的瀏覽器設定檔,與您的個人瀏覽器分開,沒有您儲存的登入或歷史記錄。使用它來建立和測試您的應用程式,以及不需要您的身份的網站。當您想讓 Claude 在您的已登入工作階段中充當您時,請改用 [Chrome 中的 Claude 擴充功能](/docs/zh-TW/chrome),它會共享您的瀏覽器的登入狀態。

153 157 

154<h4 id="restrict-external-browsing-for-your-organization">158<h4 id="restrict-external-browsing-for-your-organization">

155 限制您的組織的外部瀏覽159 限制您的組織的外部瀏覽

156</h4>160</h4>

157 161 

158「Browser」遵循與 [Chrome 中的 Claude 擴充功能](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)相同的[網站允許清單和封鎖清單控制](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)。如果您的組織已經為擴充功能配置了這些清單,「Browser」會自動尊重它們。管理員也可以使用 [`browserExternalPageTools` 受管設定](#managed-settings)關閉外部頁面上的 Claude 工具。停用工具後,使用者仍然可以導航到外部網站;Claude 的工具無法讀取或對其進行操作。162「瀏覽器」遵循與 Claude in Chrome 擴充功能相同的[網站允許清單和封鎖清單控制](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)。如果您的組織已為擴充功能設定了這些清單,「瀏覽器」會自動尊重它們。管理員也可以使用 [`browserExternalPageTools` 受管設定](#managed-settings)關閉 Claude 在外部頁面上的工具。停用工具後,使用者仍然可以導航到外部網站;Claude 的工具無法讀取或對其進行操作。

159 163 

160若要完全關閉外部瀏覽,請將 [`disableBrowserExternalNavigation` 受管設定](#managed-settings)設定為 `true`。這會封鎖「Browser」中的所有外部導航,包括您組織允許清單上的網站;localhost 開發伺服器和檔案預覽會繼續運作。使用 `browserExternalPageTools` 讓使用者繼續瀏覽外部網站而不使用 Claude 的工具,並使用 `disableBrowserExternalNavigation` 為使用者和 Claude 封鎖外部網站。164若要完全關閉外部瀏覽,請將 [`disableBrowserExternalNavigation` 受管設定](#managed-settings)設定為 `true`。這會阻止「瀏覽器」中的所有外部導航,包括您的組織允許清單上的網站;localhost 開發伺服器和檔案預覽保持運作。使用 `browserExternalPageTools` 讓使用者繼續瀏覽外部網站而不使用 Claude 的工具,並使用 `disableBrowserExternalNavigation` 為使用者和 Claude 阻止外部網站。

161 165 

162<h3 id="review-changes-with-diff-view">166<h3 id="review-changes-with-diff-view">

163 使用差異檢視檢查變更167 使用差異檢視檢查變更


165 169 

166Claude 對您的程式碼進行變更後,差異檢視可讓您在建立提取請求之前逐個檔案檢查修改。170Claude 對您的程式碼進行變更後,差異檢視可讓您在建立提取請求之前逐個檔案檢查修改。

167 171 

168當 Claude 變更檔案時,會出現一個差異統計指示器,顯示新增和移除的行數,例如 `+12 -1`。點擊此指示器以開啟差異檢視器,它在左側顯示檔案清單,在右側顯示每個檔案的變更。172當 Claude 變更檔案時,會出現差異統計指示器,顯示新增和移除的行數,例如 `+12 -1`。點擊此指示器以開啟差異檢視器,它在左側顯示檔案清單,在右側顯示每個檔案的變更。

169 173 

170若要對特定行進行註解,請點擊差異中的任何行以開啟註解框。輸入您的回饋並按 **Enter** 新增註解。在多行新增註解後,一次提交所有註解:174若要對特定行進行評論,請點擊差異中的任何行以開啟評論框。輸入您的意見反應並按 **Enter** 鍵以新增評論。在多行新增評論後,一次提交所有評論:

171 175 

172* **macOS**:按 **Cmd+Enter**176* **macOS**:按 **Cmd+Enter**

173* **Windows**:按 **Ctrl+Enter**177* **Windows**:按 **Ctrl+Enter**

174 178 

175Claude 會讀取您的註解並進行要求的變更,這些變更會顯示為您可以檢查的新差異。179Claude 會讀取您的評論並進行要求的變更,這些變更會顯示為您可以檢查的新差異。

176 180 

177<h3 id="review-your-code">181<h3 id="review-your-code">

178 檢查您的程式碼182 檢查您的程式碼

179</h3>183</h3>

180 184 

181在差異檢視中,點擊右上角工具列中的 **Review code**,要求 Claude 在您提交之前評估變更。Claude 會檢查目前的差異,並直接在差異檢視中留下註解。您可以回應任何註解或要求 Claude 進行修訂。185在差異檢視中,點擊右上角工具列中的**檢查程式碼**以要求 Claude 在您提交之前評估變更。Claude 會檢查目前的差異並直接在差異檢視中留下評論。您可以回應任何評論或要求 Claude 進行修訂。

182 186 

183檢查著重於高信號問題:編譯錯誤、明確的邏輯錯誤、安全漏洞和明顯的錯誤。它不會標記樣式、格式、預先存在的問題或任何 linter 會捕捉的內容。187檢查著重於高信號問題:編譯錯誤、明確的邏輯錯誤、安全漏洞和明顯的錯誤。它不會標記樣式、格式、預先存在的問題或 linter 會捕捉的任何內容。

184 188 

185<h3 id="monitor-pull-request-status">189<h3 id="monitor-pull-request-status">

186 監控提取請求狀態190 監控提取請求狀態

187</h3>191</h3>

188 192 

189開啟提取請求後,CI 狀態列會出現在會話中。Claude Code 使用 GitHub CLI 來輪詢檢查結果並顯示失敗。193開啟提取請求後,CI 狀態列會出現在工作階段中。Claude Code 使用 GitHub CLI 輪詢檢查結果並顯示失敗。

190 194 

191* **自動修復**:啟用後,Claude 會透過讀取失敗輸出並進行迭代,自動嘗試修復失敗的 CI 檢查。195* **自動修復**:啟用後,Claude 會自動嘗試通過讀取失敗輸出並進行迭代來修復失敗的 CI 檢查。

192* **自動合併**:啟用後,Claude 會在所有檢查通過後合併 PR。合併方法是壓縮。自動合併必須在您的 GitHub 儲存庫設定中[啟用](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)才能運作。196* **自動合併**:啟用後,Claude 會在所有檢查通過後合併 PR。合併方法是壓縮。首先在您的 [GitHub 儲存庫設定](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)中啟用自動合併;沒有它,Claude 無法合併 PR。

193 197 

194使用 CI 狀態列中的 **Auto-fix** 和 **Auto-merge** 切換來啟用任一選項。Claude Code 也會在 CI 完成時傳送桌面通知。若要在 PR 合併或關閉後自動存檔會話,請在「設定」→「Claude Code」中開啟[自動存檔](#work-in-parallel-with-sessions)。198使用 CI 狀態列中的**自動修復**和**自動合併**切換以啟用任一選項。Claude Code 也會在 CI 完成時傳送桌面通知。若要在 PR 合併或關閉後自動封存工作階段,請在「設定」→「Claude Code」中開啟[自動封存](#work-in-parallel-with-sessions)。

195 199 

196<Note>200<Note>

197 PR 監控需要在您的機器上安裝並驗證 [GitHub CLI (`gh`)](https://cli.github.com/)。如果未安裝 `gh`,Desktop 會在您第一次嘗試建立 PR 時提示您安裝它。201 PR 監控需要在您的機器上安裝並驗證 [GitHub CLI (`gh`)](https://cli.github.com/)。如果未安裝 `gh`,Desktop 會在您首次嘗試建立 PR 時提示您安裝它。

198</Note>202</Note>

199 203 

200<h2 id="arrange-your-workspace">204<h2 id="arrange-your-workspace">

201 安排您的工作區205 安排您的工作區

202</h2>206</h2>

203 207 

204Code 標籤是圍繞您可以以任何佈局排列的窗格構建的:聊天、差異、瀏覽器、終端機、檔案、plan、tasks 和 subagent。透過其標題拖動窗格以重新定位它,或拖動窗格邊緣以調整其大小。在 macOS 上按 **Cmd+\\** 或在 Windows 上按 **Ctrl+\\** 以關閉焦點窗格。從會話工具列中的 **Views** 選單開啟其他窗格。208Code 標籤是圍繞您可以以任何佈局排列的窗格構建的:聊天、差異、瀏覽器、終端機、檔案、plan、tasks 和 subagent,以及 macOS 上的 [iOS Simulator](/docs/zh-TW/desktop-ios-simulator)。透過其標題拖動窗格以重新定位它,或拖動窗格邊緣以調整其大小。在 macOS 上按 **Cmd+\\** 或在 Windows 上按 **Ctrl+\\** 以關閉焦點窗格。從會話工具列中的 **Views** 選單開啟其他窗格。

209 

210若要跨螢幕工作,將窗格(例如差異或終端機)彈出到其自己的視窗中,完成後將其停靠回來。Claude 會在主視窗中繼續工作。

205 211 

206<Note>212<Note>

207 本節中的窗格佈局、終端機、檔案編輯器和檢視模式需要 Claude Desktop v1.2581.0 或更新版本。在 macOS 上開啟 **Claude → Check for Updates** 或在 Windows 上開啟 **Help → Check for Updates** 以更新。213 本節中的窗格佈局、終端機、檔案編輯器和檢視模式需要 Claude Desktop v1.2581.0 或更新版本。在 macOS 上開啟 **Claude → Check for Updates** 或在 Windows 上開啟 **Help → Check for Updates** 以更新。


236 切換檢視模式242 切換檢視模式

237</h3>243</h3>

238 244 

239檢視模式控制聊天記錄中顯示多少詳細資訊。從傳送按鈕旁的 **Transcript view** 下拉式選單切換模式,或在 macOS 或 Windows 上按 **Ctrl+O** 以循環瀏覽它們。245檢視模式控制聊天記錄中顯示多少詳細資訊。從傳送按鈕旁的 **Transcript view** 下拉式選單切換模式,或在 macOS 或 Windows 上按 **Ctrl+O** 以循環瀏覽它們。Thinking 模式僅在 Claude 在您正在檢視的會話中產生思考後才會出現在下拉式選單中。

240 246 

241| 模式 | 它顯示什麼 |247| 模式 | 它顯示什麼 |

242| ----------- | -------------------------- |248| ------------ | ---------------------------------------- |

243| **Normal** | 工具呼叫摺疊成摘要,具有完整文字回應 |249| **Normal** | 工具呼叫摺疊成摘要,具有完整文字回應 |

244| **Verbose** | Claude 採取的每個工具呼叫、檔案讀取和中間步驟 |250| **Thinking** | 工具呼叫摺疊成摘要,加上 Claude 的思考 |

245| **Summary** | 僅 Claude 的最終回應和它所做的變更 |251| **Verbose** | Claude 採取的每個工具呼叫、檔案讀取和中間步驟,加上 Claude 的思考 |

246 252 

247在調試 Claude 為什麼採取特定操作時使用 Verbose。當您執行多個會話並想要快速掃描結果時,使用 Summary。253使用 Thinking 來追蹤 Claude 的推理,工具呼叫仍然摺疊。在調試 Claude 為什麼採取特定操作時使用 Verbose。Claude Desktop 1.46388.1 之前的版本也列出 Summary 模式,而仍設定為 Summary 的會話在您更新後會以 Normal 開啟。

248 254 

249<h3 id="keyboard-shortcuts">255<h3 id="keyboard-shortcuts">

250 快捷鍵256 快捷鍵


272| `Cmd` `Shift` `E` | 開啟工作量選單 |278| `Cmd` `Shift` `E` | 開啟工作量選單 |

273| `1`–`9` | 在開啟的選單中選擇項目 |279| `1`–`9` | 在開啟的選單中選擇項目 |

274 280 

275這些快捷鍵僅適用於 Code 標籤。終端機型 [interactive mode 快捷鍵](/docs/zh-TW/interactive-mode#keyboard-shortcuts)(如 `Shift+Tab` 以循環模式)不適用於 Desktop。281這些快捷鍵僅適用於 Code 標籤。終端機型 [interactive mode 快捷鍵](/docs/zh-TW/interactive-mode#keyboard-shortcuts)(如 `Shift+Tab` 以循環權限模式)不適用於 Desktop。

276 282 

277<h3 id="check-usage">283<h3 id="check-usage">

278 檢查使用情況284 檢查使用情況


284 讓 Claude 使用您的電腦290 讓 Claude 使用您的電腦

285</h2>291</h2>

286 292 

287電腦使用讓 Claude 開啟您的應用程式、控制您的螢幕,並以您的方式直接在您的機器上工作。要求 Claude 在行動模擬器中測試原生應用程式、與沒有 CLI 的桌面工具互動,或自動化只能透過 GUI 運作的內容。293電腦使用讓 Claude 開啟您的應用程式、控制您的螢幕,並以您的方式直接在您的機器上工作。要求 Claude 與沒有 CLI 的桌面工具互動,或自動化只能透過 GUI 運作的內容。對於執行和測試 iOS 應用程式,Desktop 會開啟專用的 [iOS Simulator 窗格](/docs/zh-TW/desktop-ios-simulator),而不是控制您的螢幕;該窗格無需啟用電腦使用即可運作。

288 294 

289<Note>295<Note>

290 電腦使用是 macOS 和 Windows 上的研究預覽版,需要 Pro 或 Max 計畫。它在 Team 或 Enterprise 計畫上不可用。Claude Desktop 應用程式必須執行。296 電腦使用是 macOS 和 Windows 上的研究預覽版,需要 Pro 或 Max 計畫。它在 Team 或 Enterprise 計畫上不可用。Claude Desktop 應用程式必須執行。


292 298 

293電腦使用預設為關閉。[在設定中啟用它](#enable-computer-use),然後 Claude 才能控制您的螢幕。在 macOS 上,您還需要授予協助工具和螢幕錄製權限。299電腦使用預設為關閉。[在設定中啟用它](#enable-computer-use),然後 Claude 才能控制您的螢幕。在 macOS 上,您還需要授予協助工具和螢幕錄製權限。

294 300 

301在 macOS 上,電腦使用也可以在背景執行:Claude 在您批准的應用程式中工作,同時您繼續工作。

302 

295<Warning>303<Warning>

296 與[沙箱化 Bash 工具](/docs/zh-TW/sandboxing)不同,電腦使用在您的實際桌面上執行,可以存取您批准的任何內容。Claude 會檢查每個操作並標記螢幕上內容的潛在提示注入,但信任邊界不同。有關最佳實踐,請參閱[電腦使用安全指南](https://support.claude.com/en/articles/14128542)。304 與[沙箱化 Bash 工具](/docs/zh-TW/sandboxing)不同,電腦使用在您的實際桌面上執行,可以存取您批准的任何內容。Claude 會檢查每個操作並標記螢幕上內容的潛在提示注入,但信任邊界不同。有關最佳實踐,請參閱[電腦使用安全指南](https://support.claude.com/en/articles/14128542)。

297</Warning>305</Warning>


305* 如果您有服務的[連接器](#connect-external-tools),Claude 會使用連接器。313* 如果您有服務的[連接器](#connect-external-tools),Claude 會使用連接器。

306* 如果任務是 shell 命令,Claude 會使用 Bash。314* 如果任務是 shell 命令,Claude 會使用 Bash。

307* 如果任務是瀏覽器工作且您已設定[Chrome 中的 Claude](/docs/zh-TW/chrome),Claude 會使用它。315* 如果任務是瀏覽器工作且您已設定[Chrome 中的 Claude](/docs/zh-TW/chrome),Claude 會使用它。

316* 如果任務是執行或測試 iOS 應用程式,Claude 會使用 [iOS Simulator 窗格](/docs/zh-TW/desktop-ios-simulator),它不使用螢幕控制。

308* 如果以上都不適用,Claude 會使用電腦使用。317* 如果以上都不適用,Claude 會使用電腦使用。

309 318 

310[每個應用程式的存取層級](#app-permissions)強化了這一點:瀏覽器限制為僅檢視,終端機和 IDE 限制為僅點擊,引導 Claude 使用專用工具,即使電腦使用處於活動狀態。螢幕控制保留給其他工具無法到達的內容,例如原生應用程式、硬體控制面板、行動模擬器或沒有 API 的專有工具。319[每個應用程式的存取層級](#app-permissions)強化了這一點:瀏覽器限制為僅檢視,終端機和 IDE 限制為僅點擊,引導 Claude 使用專用工具,即使電腦使用處於活動狀態。螢幕控制保留給其他工具無法到達的內容,例如原生應用程式、硬體控制面板或沒有 API 的專有工具。

311 320 

312<h3 id="enable-computer-use">321<h3 id="enable-computer-use">

313 啟用電腦使用322 啟用電腦使用


355您可以在 **Settings > General**(在 **Desktop app** 下)中配置兩個設定:364您可以在 **Settings > General**(在 **Desktop app** 下)中配置兩個設定:

356 365 

357* **Denied apps**:在此處新增應用程式以拒絕它們而不提示。Claude 可能仍會透過允許應用程式中的操作間接影響被拒絕的應用程式,但它無法直接與被拒絕的應用程式互動。366* **Denied apps**:在此處新增應用程式以拒絕它們而不提示。Claude 可能仍會透過允許應用程式中的操作間接影響被拒絕的應用程式,但它無法直接與被拒絕的應用程式互動。

358* **Unhide apps when Claude finishes**:當 Claude 工作時,您的其他視窗會被隱藏,以便它僅與批准的應用程式互動。當 Claude 完成時,隱藏的視窗會被恢復,除非您關閉此設定。367* **Unhide apps when Claude finishes**:當電腦使用未在背景執行時,Claude 工作時會隱藏您的其他視窗,以便它僅與批准的應用程式互動。當 Claude 完成時,隱藏的視窗會被恢復,除非您關閉此設定。

359 368 

360<h2 id="manage-sessions">369<h2 id="manage-sessions">

361 管理會話370 管理會話

362</h2>371</h2>

363 372 

364每個會話都是一個獨立的對話,具有自己的上下文和變更。您可以並行執行多個會話、分支出側邊聊天、將工作傳送到雲端,或讓 Dispatch 從您的手機為您啟動會話。373每個會話都是一個獨立的對話,具有自己的上下文和變更。您可以並行執行多個會話、分支出側邊聊天、讓 Claude 檢查並傳送訊息到您的其他會話、將工作傳送到雲端,或讓 Dispatch 從您的手機為您啟動會話。

365 374 

366<h3 id="work-in-parallel-with-sessions">375<h3 id="work-in-parallel-with-sessions">

367 使用會話並行工作376 使用會話並行工作

368</h3>377</h3>

369 378 

370點擊側邊欄中的 **+ New session**,或在 macOS 上按 **Cmd+N** 或在 Windows 上按 **Ctrl+N**,以並行處理多個任務。按 **Ctrl+Tab** 和 **Ctrl+Shift+Tab** 以循環瀏覽側邊欄中的會話。對於 Git 儲存庫,每個會話都會使用 [Git worktrees](/docs/zh-TW/worktrees) 獲得自己的隔離專案副本,因此一個會話中的變更不會影響其他會話,直到您提交它們。379點擊側邊欄中的 **+ New session**,或在 macOS 上按 **Cmd+N** 或在 Windows 上按 **Ctrl+N**,以並行處理多個任務。按 **Ctrl+Tab** 和 **Ctrl+Shift+Tab** 以循環瀏覽側邊欄中的會話。對於 Git 儲存庫,選擇分支名稱旁邊的 **worktree** 選項,以使用 [Git worktrees](/docs/zh-TW/worktrees) 為會話提供自己的隔離專案副本,因此一個會話中的變更不會影響其他會話,直到您提交它們。

371 380 

372若要同時檢視兩個會話,請在 macOS 上按住 **Cmd** 或在 Windows 上按住 **Ctrl**,然後點擊側邊欄中的會話。會話會在您已開啟的會話旁邊的第二個窗格中開啟。當分割處於活動狀態時,點擊另一個側邊欄會話會取代具有焦點的窗格。在 macOS 上按 **Cmd+\\** 或在 Windows 上按 **Ctrl+\\** 以關閉焦點窗格並返回單一會話。381若要同時檢視兩個會話,請在 macOS 上按住 **Cmd** 或在 Windows 上按住 **Ctrl**,然後點擊側邊欄中的會話。會話會在您已開啟的會話旁邊的第二個窗格中開啟。當分割處於活動狀態時,點擊另一個側邊欄會話會取代具有焦點的窗格。在 macOS 上按 **Cmd+\\** 或在 Windows 上按 **Ctrl+\\** 以關閉焦點窗格並返回單一會話。

373 382 


376若要在新 worktrees 中包含 gitignored 檔案(如 `.env`),請在您的專案根目錄中建立 [`.worktreeinclude` 檔案](/docs/zh-TW/worktrees#copy-gitignored-files-into-worktrees)。385若要在新 worktrees 中包含 gitignored 檔案(如 `.env`),請在您的專案根目錄中建立 [`.worktreeinclude` 檔案](/docs/zh-TW/worktrees#copy-gitignored-files-into-worktrees)。

377 386 

378<Note>387<Note>

379 會話隔離需要 [Git](https://git-scm.com/downloads)。大多數 Mac 預設包含 Git。在終端機中執行 `git --version` 進行檢查。在 Windows 上,Code 標籤需要 Git 才能運作:[下載 Git for Windows](https://git-scm.com/downloads/win)、安裝它,然後重新啟動應用程式。如果您遇到 Git 錯誤,請在 [Cowork 標籤](https://claude.com/product/cowork) 中詢問 Claude 以幫助排除您的設定問題。388 會話隔離需要 [Git](https://git-scm.com/downloads)。大多數 Mac 預設包含 Git。在終端機中執行 `git --version` 進行檢查;如果它列印版本號,表示已安裝 Git。如果您遇到 Git 錯誤,請在 [Cowork 標籤](https://claude.com/product/cowork) 中詢問 Claude 以幫助排除您的設定問題。

380</Note>389</Note>

381 390 

382使用側邊欄頂部的控制項按狀態、專案或環境篩選會話,並按專案分組會話。若要重新命名會話,請點擊活動會話頂部工具列中的會話標題。若要檢查上下文使用情況,請參閱[檢查使用情況](#check-usage)。當上下文填滿時,Claude 會自動總結對話並繼續工作。您也可以輸入 `/compact` 來更早觸發總結並釋放上下文空間。有關壓縮如何運作的詳細資訊,請參閱[上下文視窗](/docs/zh-TW/how-claude-code-works#the-context-window)。391使用側邊欄頂部的控制項按狀態、專案或環境篩選會話,並按專案分組會話。若要重新命名會話,請點擊活動會話頂部工具列中的會話標題。

383 392 

384桌面應用程式會在 Code 會話完成任務且您目前未檢視該會話時傳送作業系統通知。393若要檢查上下文使用情況,請參閱[檢查使用情況](#check-usage)。當上下文填滿時,Claude 會自動總結對話並繼續工作。您也可以輸入 `/compact` 來更早觸發總結並釋放上下文空間。有關壓縮如何運作的詳細資訊,請參閱[上下文視窗](/docs/zh-TW/how-claude-code-works#the-context-window)。

394 

395桌面應用程式會在 Code 會話完成任務且您目前未檢視該會話時傳送作業系統通知。對於屬於[專案](/docs/zh-TW/claude-projects#see-what-needs-you-in-overview)的會話,您會改為收到專案的通知。

385 396 

386<h3 id="ask-a-side-question-without-derailing-the-session">397<h3 id="ask-a-side-question-without-derailing-the-session">

387 在不偏離會話的情況下詢問側邊問題398 在不偏離會話的情況下詢問側邊問題


389 400 

390側邊聊天讓您詢問 Claude 一個使用您會話上下文的問題,但不會將任何內容新增回主對話。當您想要理解一段程式碼、檢查假設或探索想法而不引導會話偏離時,請使用它。401側邊聊天讓您詢問 Claude 一個使用您會話上下文的問題,但不會將任何內容新增回主對話。當您想要理解一段程式碼、檢查假設或探索想法而不引導會話偏離時,請使用它。

391 402 

392在 macOS 上按 **Cmd+;** 或在 Windows 上按 **Ctrl+;** 以開啟側邊聊天,或在提示框中輸入 `/btw`。側邊聊天可以讀取主執行緒中到該點為止的所有內容。完成後,關閉側邊聊天並在您離開的地方繼續主會話。側邊聊天在本機、SSH 和 WSL 會話中可用。403在 macOS 上按 **Cmd+;** 或在 Windows 上按 **Ctrl+;** 以開啟側邊聊天,或在提示框中輸入 `/btw`。側邊聊天可以讀取主執行緒中到該點為止的所有內容。完成後,關閉側邊聊天並在您離開的地方繼續主會話。

404 

405側邊聊天在本機、SSH 和 WSL 會話中可用。桌面應用程式不會將側邊聊天儲存到磁碟,因此您在關閉應用程式後無法返回到一個。

393 406 

394<h3 id="watch-background-tasks">407<h3 id="watch-background-tasks">

395 觀看背景任務408 觀看背景任務


397 410 

398任務窗格顯示在目前會話內執行的背景工作:子代理、背景 shell 命令和[動態工作流程](/docs/zh-TW/workflows)。從 **Views** 選單開啟它或將其拖入您的佈局。411任務窗格顯示在目前會話內執行的背景工作:子代理、背景 shell 命令和[動態工作流程](/docs/zh-TW/workflows)。從 **Views** 選單開啟它或將其拖入您的佈局。

399 412 

400點擊任何項目以在子代理窗格中查看其輸出或停止它。若要查看其他會話正在執行的操作,請使用[側邊欄](#work-in-parallel-with-sessions)。413點擊任何項目以在子代理窗格中查看其輸出或停止它。若要查看其他會話正在執行的操作,請使用[側邊欄](#work-in-parallel-with-sessions),或詢問 Claude [為您檢查它們](#work-across-sessions)。

401 414 

402<h3 id="run-long-running-tasks-remotely">415<h3 id="work-across-sessions">

403 遠端執行長時間執行的任務416 跨會話工作

404</h3>417</h3>

405 418 

406對於大型重構、測試套件、遷移或其他長時間執行的任務,在開始會話時選擇 **Remote** 而不是 **Local**。遠端會話在 Anthropic 的雲端基礎設施上執行,即使您關閉應用程式或關閉電腦,也會繼續執行。隨時檢查以查看進度或引導 Claude 朝不同方向發展。您也可以從 [claude.ai/code](https://claude.ai/code) 或 Claude iOS 應用程式監控遠端會話。419Claude 可以列出您的其他 Code 標籤會話、讀取每個會話一直在執行的操作,以及在它們之間傳送訊息。以純文字詢問:「哪個會話涉及了身份驗證重構?」、「API 會話得出了什麼結論?」或「告訴付款會話架構已變更」。您也可以詢問 Claude 重新命名或存檔會話。Claude 存檔會話的方式與側邊欄的存檔圖示相同,因此詢問它清理 PR 已合併的會話。

407 420 

408遠端會話也支援多個儲存庫。選擇雲端環境後,點擊儲存庫藥丸旁的 **+** 按鈕,將其他儲存庫新增到會話。每個儲存庫都有自己的分支選擇器。這對於跨越多個程式碼庫的任務很有用,例如更新共用程式庫及其使用者。421透過此介面,Claude 只能看到桌面應用程式本身執行的會話:本機、[SSH](#ssh-sessions) 和 Code 標籤中的 [WSL](/docs/zh-TW/desktop-wsl) 會話。Claude 看不到雲端會話,或您從終端機 CLI 或 VS Code 擴充功能啟動的會話,即使在同一專案的 worktrees 中也是如此,因此有九個終端機 worktrees 開啟和兩個桌面會話時,Claude 在其中一個回答會報告另一個桌面會話。Claude 永遠不會列出您詢問的會話。預設情況下,它會看到 20 個最近活躍的會話,並跳過已存檔的會話,除非您要求它們。[跨會話傳訊](/docs/zh-TW/cross-session-messaging)另外讓 Claude 傳送訊息到[您的其他 Claude Code 會話](/docs/zh-TW/cross-session-messaging#see-which-sessions-claude-can-reach),包括終端機會話。

409 422 

410有關遠端會話如何運作的更多資訊,請參閱[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web)。423當 Claude 透過此介面傳送訊息到另一個會話時,Claude Code 會在那裡將其顯示為一張卡片,標籤為傳送會話的標題和返回連結,因此您總是可以看到訊息來自何處。如果接收會話正在執行任務中,Claude Code 會保留訊息,Claude 會在目前工作完成後讀取它。接收 Claude 可以回覆,Claude Code 會透過此介面傳遞回覆。Claude 無法傳遞到已存檔的會話,並會在訊息未通過時告訴您。

424 

425Claude Code 在會話間應用四個安全行為:

426 

427* 在存檔任何會話之前,Claude 會先詢問您。您會在每個權限模式中看到批准卡片,包括自動和略過權限。

428* 透過此介面,Claude 無法從沒有人監視的會話(例如排程任務執行)傳送跨會話訊息,也無法傳遞訊息到一個。

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

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

431 

432Claude 也可以建議新會話。當它注意到值得修復但超出目前任務範圍的內容時,它會在聊天中提供工作作為任務晶片。點擊晶片以在具有自己 worktree 的新會話中啟動該工作;Claude 會不中斷地繼續您的目前會話。

433 

434<h3 id="run-long-running-tasks-in-the-cloud">

435 在雲端執行長時間執行的任務

436</h3>

437 

438對於大型重構、測試套件、遷移或其他長時間執行的任務,在開始會話時選擇 **Cloud** 而不是 **Local**。雲端會話預設在 Anthropic 管理的基礎設施上執行,即使您關閉應用程式或關閉電腦,也會繼續執行。隨時檢查以查看進度或引導 Claude 朝不同方向發展。您也可以從 [claude.ai/code](https://claude.ai/code) 或 [Claude 行動應用程式](/docs/zh-TW/mobile)監控雲端會話。

439 

440雲端會話也支援多個儲存庫。選擇雲端環境後,點擊所選儲存庫旁邊的 **+** 按鈕,將其他儲存庫新增到會話。每個儲存庫都有自己的分支選擇器。這對於跨越多個程式碼庫的任務很有用,例如更新共用程式庫及其使用者。

441 

442有關雲端會話如何運作的更多資訊,請參閱[在網路上使用 Claude Code](/docs/zh-TW/claude-code-on-the-web)。當一項工作需要許多雲端會話時,請在側邊欄中選擇 **Projects** 以建立[專案](/docs/zh-TW/claude-projects),Claude 會從一個對話中為您啟動並追蹤會話。

411 443 

412<h3 id="continue-in-another-surface">444<h3 id="continue-in-another-surface">

413 在另一個介面中繼續445 在另一個介面中繼續


415 447 

416**Continue in** 選單可從會話工具列右下角的 VS Code 圖示存取,可讓您將會話移至另一個介面:448**Continue in** 選單可從會話工具列右下角的 VS Code 圖示存取,可讓您將會話移至另一個介面:

417 449 

418* **Claude Code on the Web**:將您的本機會話傳送到遠端繼續執行。Desktop 推送您的分支、產生對話摘要,並使用完整上下文建立新的遠端會話。然後您可以選擇存檔本機會話或保留它。這需要乾淨的工作樹,不適用於 SSH 會話。450* **Claude Code on the Web**:將您的本機會話傳送到雲端繼續執行。Desktop 推送您的分支、產生對話摘要,並使用完整上下文建立新的雲端會話。然後您可以選擇存檔本機會話或保留它。這需要乾淨的工作樹,不適用於 SSH 會話。

419* **Your IDE**:在目前工作目錄的支援 IDE 中開啟您的專案。451* **Your IDE**:在目前工作目錄的支援 IDE 中開啟您的專案。

420 452 

421<h3 id="sessions-from-dispatch">453<h3 id="sessions-from-dispatch">


432 464 

433有關設定、配對和 Dispatch 設定,請參閱 [Dispatch 幫助文章](https://support.claude.com/en/articles/13947068)。Dispatch 需要 Pro 或 Max 計畫,在 Team 或 Enterprise 計畫上不可用。465有關設定、配對和 Dispatch 設定,請參閱 [Dispatch 幫助文章](https://support.claude.com/en/articles/13947068)。Dispatch 需要 Pro 或 Max 計畫,在 Team 或 Enterprise 計畫上不可用。

434 466 

435Dispatch 是當您遠離終端機時與 Claude 合作的多種方式之一。請參閱[平台和整合](/docs/zh-TW/platforms#work-when-you-are-away-from-your-terminal)以將其與遠端控制、頻道、Slack 和排程任務進行比較。467Dispatch 是當您遠離終端機時與 Claude 合作的多種方式之一。如需與其他選項的比較,請參閱[平台和整合](/docs/zh-TW/platforms#work-when-you-are-away-from-your-terminal)。

436 468 

437<h2 id="extend-claude-code">469<h2 id="extend-claude-code">

438 擴展 Claude Code470 擴展 Claude Code

439</h2>471</h2>

440 472 

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

474 

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

442 476 

443<h3 id="connect-external-tools">477<h3 id="connect-external-tools">

444 連接外部工具478 連接外部工具

445</h3>479</h3>

446 480 

447對於本機和 [SSH](#ssh-sessions) 會話,點擊提示框旁的 **+** 按鈕,然後選擇 **Connectors** 以新增 Google Calendar、Slack、GitHub、Linear、Notion 等整合。您可以在會話之前或期間新增連接器。**+** 按鈕在雲端會話中不可用,但 [routines](/docs/zh-TW/routines) 在 routine 建立時配置連接器。481對於本機和 [SSH](#ssh-sessions) 會話,點擊提示框旁的 **+** 按鈕,然後選擇 **Connectors** 以新增 Google Calendar、Slack、GitHub、Linear、Notion 等整合。您可以在會話之前或期間新增連接器。**+** 按鈕在雲端或 WSL 會話中不可用,但 [routines](/docs/zh-TW/routines) 在 routine 建立時配置連接器。

448 482 

449若要管理或斷開連接器,請在桌面應用程式中前往「設定」→「Connectors」,或從提示框中的「Connectors」選單中選擇 **Manage connectors**。483若要管理或斷開連接器,請在桌面應用程式中前往「設定」→「Connectors」,或從提示框中的「Connectors」選單中選擇 **Manage connectors**。

450 484 


460 494 

461您可以在 Claude 正在工作時傳送命令,就像任何其他訊息一樣,會話在回合完成後會回到閒置狀態。在 v2.1.206 之前,在回合中途傳送的命令可能會導致會話顯示為執行中,而您之後傳送的訊息未被傳遞。495您可以在 Claude 正在工作時傳送命令,就像任何其他訊息一樣,會話在回合完成後會回到閒置狀態。在 v2.1.206 之前,在回合中途傳送的命令可能會導致會話顯示為執行中,而您之後傳送的訊息未被傳遞。

462 496 

497本機會話從 `~/.claude/skills/` 載入您的個人 skills。[SSH](#ssh-sessions) 會話從遠端主機的主目錄讀取 `~/.claude/skills/`,而不是從您的機器。

498 

499本機和雲端會話也會載入為您的 claude.ai 帳戶啟用的 skills。雲端會話改為載入它們,而不是 `~/.claude/skills/`,如 [Skills in Cowork and cloud sessions](/docs/zh-TW/skills#skills-in-cowork-and-cloud-sessions) 所述。

500 

463<h3 id="install-plugins">501<h3 id="install-plugins">

464 安裝 plugins502 安裝 plugins

465</h3>503</h3>


468 506 

469對於本機和 [SSH](#ssh-sessions) 會話,點擊提示框旁的 **+** 按鈕,然後選擇 **Plugins** 以查看您已安裝的 plugins 及其 skills。若要新增 plugin,從子選單中選擇 **Add plugin** 以開啟 plugin 瀏覽器,它顯示來自您配置的 [marketplaces](/docs/zh-TW/plugin-marketplaces)(包括官方 Anthropic 市場)的可用 plugins。選擇 **Manage plugins** 以啟用、停用或解除安裝 plugins。507對於本機和 [SSH](#ssh-sessions) 會話,點擊提示框旁的 **+** 按鈕,然後選擇 **Plugins** 以查看您已安裝的 plugins 及其 skills。若要新增 plugin,從子選單中選擇 **Add plugin** 以開啟 plugin 瀏覽器,它顯示來自您配置的 [marketplaces](/docs/zh-TW/plugin-marketplaces)(包括官方 Anthropic 市場)的可用 plugins。選擇 **Manage plugins** 以啟用、停用或解除安裝 plugins。

470 508 

471Plugins 可以限定於您的使用者帳戶、特定專案或僅本機。如果您的組織集中管理 plugins,這些 plugins 在桌面會話中的可用方式與在 CLI 中相同。雲端會話不提供 Plugins。有關完整的 plugin 參考(包括建立您自己的 plugins),請參閱 [plugins](/docs/zh-TW/plugins)。509您可以將 plugins 限定於您的使用者帳戶、特定專案或僅本機。如果您的組織集中管理 plugins,這些 plugins 在桌面會話中的可用方式與在 CLI 中相同。

510 

511plugin 瀏覽器在雲端會話中不可用,而且您從桌面應用程式安裝的 plugins 不適用於雲端會話。若要在雲端會話中使用 plugin,請在儲存庫的 `.claude/settings.json` 中的 [`enabledPlugins`](/docs/zh-TW/settings-reference#enabledplugins) 下宣告它,以便 Claude Code [在會話開始時安裝它](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup),或為您的 claude.ai 帳戶啟用它,以便 Claude Code 將其載入為 [synced plugin](/docs/zh-TW/plugins-reference#synced-plugins)。Plugins 在 WSL 會話中不可用。有關完整的 plugin 參考(包括建立您自己的 plugins),請參閱 [plugins](/docs/zh-TW/plugins)。

472 512 

473<h3 id="configure-preview-servers">513<h3 id="configure-preview-servers">

474 配置預覽伺服器514 配置預覽伺服器


506{546{

507 "version": "0.0.1",547 "version": "0.0.1",

508 "autoVerify": false,548 "autoVerify": false,

509 "configurations": [...]549 "configurations": [

550 {

551 "name": "my-app",

552 "runtimeExecutable": "npm",

553 "runtimeArgs": ["run", "dev"],

554 "port": 3000

555 }

556 ]

510}557}

511```558```

512 559 


526| `port` | number | 您的伺服器監聽的連接埠。預設為 3000 |573| `port` | number | 您的伺服器監聽的連接埠。預設為 3000 |

527| `cwd` | string | 相對於您的專案根目錄的工作目錄。預設為專案根目錄。使用 `${workspaceFolder}` 明確參考專案根目錄 |574| `cwd` | string | 相對於您的專案根目錄的工作目錄。預設為專案根目錄。使用 `${workspaceFolder}` 明確參考專案根目錄 |

528| `env` | object | 其他環境變數作為鍵值對,例如 `{ "NODE_ENV": "development" }`。不要在此處放置機密,因為此檔案會提交到您的儲存庫。若要將機密傳遞到您的開發伺服器,請在 [local environment editor](#local-sessions) 中設定它們。 |575| `env` | object | 其他環境變數作為鍵值對,例如 `{ "NODE_ENV": "development" }`。不要在此處放置機密,因為此檔案會提交到您的儲存庫。若要將機密傳遞到您的開發伺服器,請在 [local environment editor](#local-sessions) 中設定它們。 |

529| `autoPort` | boolean | 如何處理連接埠衝突。請參閱下面 |576| `autoPort` | boolean | 如何處理連接埠衝突。請參閱 [Port conflicts](#port-conflicts) |

530| `program` | string | 使用 `node` 執行的指令碼。請參閱 [when to use `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |577| `program` | string | 使用 `node` 執行的指令碼。請參閱 [when to use `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

531| `args` | string\[] | 傳遞給 `program` 的引數。僅在設定 `program` 時使用 |578| `args` | string\[] | 傳遞給 `program` 的引數。僅在設定 `program` 時使用 |

579| `url` | string | preview 開啟的位址,而不是 `http://localhost:<port>`。請參閱 [open the preview at a specific URL](#open-the-preview-at-a-specific-url) |

532 580 

533<a id="when-to-use-program-vs-runtimeexecutable" />581<a id="when-to-use-program-vs-runtimeexecutable" />

534 582 


540 588 

541當您有想要直接使用 `node` 執行的獨立指令碼時,使用 `program`。例如,`"program": "server.js"` 執行 `node server.js`。使用 `args` 傳遞其他標誌。589當您有想要直接使用 `node` 執行的獨立指令碼時,使用 `program`。例如,`"program": "server.js"` 執行 `node server.js`。使用 `args` 傳遞其他標誌。

542 590 

591<a id="open-the-preview-at-a-specific-url" />

592 

593<h5 id="open-the-preview-at-a-specific-url">

594 在特定 URL 開啟 preview

595</h5>

596 

597根據預設,preview 開啟 `http://localhost:<port>`。當您的伺服器需要不同的位址時,設定 `url`。常見情況是需要本機 HTTPS 的伺服器、使用 `*.localhost` 子網域的應用程式,以及透過重新導向登入您的應用程式。

598 

599```json theme={null}

600{

601 "version": "0.0.1",

602 "configurations": [

603 {

604 "name": "my-app",

605 "runtimeExecutable": "npm",

606 "runtimeArgs": ["run", "dev"],

607 "port": 8443,

608 "url": "https://localhost:8443"

609 }

610 ]

611}

612```

613 

614Localhost 位址直接開啟,完全像預設連接埠位址一樣。這包括 `localhost`、任何 `*.localhost` 子網域、`127.0.0.1` 和 `::1`。基於安全考量,localhost `url` 必須只是您伺服器的來源 — 沒有路徑或查詢,且連接埠必須符合項目的連接埠。若要顯示特定頁面,請在 preview 開啟後要求 Claude 導覽到該處。具有路徑、查詢或不符合連接埠的 localhost `url` 會報告為配置錯誤,該錯誤會命名 url 並顯示修正。

615 

616對於任何其他位址,Desktop 會在 preview 首次開啟它時要求您的許可,就像您在 preview 中瀏覽到新網站時一樣。外部位址可能包括路徑。選擇 **Always allow** 以在未來跳過該網站的提示。限制 preview 中外部網站的組織原則仍然適用。

617 

618若要預覽您已經自己執行的伺服器,請設定 `url` 而不設定命令。Claude 會將 preview 附加到您執行中的伺服器,而不是啟動一個:

619 

620```json theme={null}

621{

622 "version": "0.0.1",

623 "configurations": [

624 {

625 "name": "my-app",

626 "url": "https://app.localhost:3000"

627 }

628 ]

629}

630```

631 

632`url` 必須是 `http` 或 `https`,且不得包含使用者名稱或密碼。

633 

543<h4 id="port-conflicts">634<h4 id="port-conflicts">

544 連接埠衝突635 連接埠衝突

545</h4>636</h4>


632您在[開始會話](#start-a-session)時選擇的環境決定了 Claude 執行的位置以及您如何連接:723您在[開始會話](#start-a-session)時選擇的環境決定了 Claude 執行的位置以及您如何連接:

633 724 

634* **Local**:在您的機器上執行,直接存取您的檔案725* **Local**:在您的機器上執行,直接存取您的檔案

635* **Remote**:在 Anthropic 的雲端基礎設施上執行。即使您關閉應用程式,會話也會繼續。726* **Cloud**:在 Anthropic 管理的基礎設施上執行。即使您關閉應用程式,會話也會繼續。

636* **SSH**:在您透過 SSH 連接的遠端機器上執行,例如您自己的伺服器、雲端虛擬機器或開發容器727* **SSH**:在您透過 SSH 連接的遠端機器上執行,例如您自己的伺服器、雲端虛擬機器或開發容器

637* **WSL** (Windows):在您機器上的 [WSL 2 發行版](/docs/zh-TW/desktop-wsl)內執行,使用其 Linux 工具鏈和原生路徑728* **WSL** (Windows):在您機器上的 [WSL 2 發行版](/docs/zh-TW/desktop-wsl)內執行,使用其 Linux 工具鏈和原生路徑

638 729 


644 735 

645若要在任何平台上為本機會話和開發伺服器設定環境變數,請在提示框中開啟環境下拉式選單,將滑鼠懸停在 **Local** 上,然後點擊齒輪圖示以開啟本機環境編輯器。您在此處儲存的變數會在您的機器上加密儲存,並適用於您啟動的每個本機會話和預覽伺服器。您也可以將變數新增到 `~/.claude/settings.json` 檔案中的 `env` 金鑰,儘管這些僅到達 Claude 會話而不是開發伺服器。有關支援的變數的完整清單,請參閱[環境變數](/docs/zh-TW/env-vars)。736若要在任何平台上為本機會話和開發伺服器設定環境變數,請在提示框中開啟環境下拉式選單,將滑鼠懸停在 **Local** 上,然後點擊齒輪圖示以開啟本機環境編輯器。您在此處儲存的變數會在您的機器上加密儲存,並適用於您啟動的每個本機會話和預覽伺服器。您也可以將變數新增到 `~/.claude/settings.json` 檔案中的 `env` 金鑰,儘管這些僅到達 Claude 會話而不是開發伺服器。有關支援的變數的完整清單,請參閱[環境變數](/docs/zh-TW/env-vars)。

646 737 

647[Extended thinking](/docs/zh-TW/model-config#extended-thinking) 預設啟用,這改進了複雜推理任務的效能,但使用額外的 tokens。若要停用思考,請在本機環境編輯器中將 `MAX_THINKING_TOKENS` 設定為 `0`;這對 Fable 5 沒有影響,Fable 5 始終使用 extended thinking。在[第三方提供者](/docs/zh-TW/third-party-integrations)上,`0` 會改為省略 `thinking` 參數,自適應推理模型可能仍會思考。在具有[自適應推理](/docs/zh-TW/model-config#adjust-effort-level)的模型上,任何其他 `MAX_THINKING_TOKENS` 值都會被忽略,因為自適應推理控制思考深度。在 Opus 4.6 和 Sonnet 4.6 上,將 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 設定為 `1` 以使用固定思考預算;Fable 5、Sonnet 5 和 Opus 4.7 及更新版本始終使用自適應推理,沒有固定預算模式。738[Extended thinking](/docs/zh-TW/model-config#extended-thinking) 預設啟用,這改進了複雜推理任務的效能,但使用額外的 tokens。在 Anthropic API 上,在本機環境編輯器中將 `MAX_THINKING_TOKENS` 設定為 `0` 以關閉思考;這對 Fable 模型沒有影響,Fable 模型始終使用 extended thinking。在 Anthropic API 上關閉思考後,Claude Code 會傳送 effort `high` 而不是更高的級別給它知道[不接受該組合](/docs/zh-TW/errors#effort-isnt-available-with-thinking-turned-off)的模型,例如 Opus 5。

739 

740在具有[自適應推理](/docs/zh-TW/model-config#adjust-effort-level)的模型上,除了 `0` 以外的 `MAX_THINKING_TOKENS` 值會被忽略,因為自適應推理控制思考深度。在 Opus 4.6 和 Sonnet 4.6 上,將 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 設定為 `1` 以使用固定思考預算;Fable 模型、Sonnet 5 和 Opus 4.7 及更新版本始終使用自適應推理,沒有固定預算模式。

741 

742<h4 id="local-sessions-on-managed-devices">

743 受管設備上的本機會話

744</h4>

745 

746您的管理員可以使用 [`disableDesktopLocalSessions` 受管設定](#managed-settings)關閉本機會話。當他們這樣做時,**Local** 會保留在環境下拉式選單中,但會呈灰色且無法選擇,並顯示工具提示說您的組織已關閉它,在 Windows 上,[WSL](/docs/zh-TW/desktop-wsl) 項目(其在受管設備上的可用性[由單獨管理](/docs/zh-TW/admin-setup#wsl-sessions-in-claude-code-desktop))也會以相同方式呈灰色。新會話預設為第一個 SSH 連線(如果已配置),如果您嘗試繼續現有會話,Desktop 會顯示一條訊息,說明此設備上不提供本機會話。改為選擇 [SSH](#ssh-sessions) 或 [Cloud](#cloud-sessions) 環境,或聯絡您的 IT 團隊。

648 747 

649<h3 id="cloud-sessions">748<h3 id="cloud-sessions">

650 雲端會話749 雲端會話


652 751 

653雲端會話即使您關閉應用程式也會在背景繼續。使用情況計入您的[訂閱計畫限制](/docs/zh-TW/costs),沒有單獨的計算費用。752雲端會話即使您關閉應用程式也會在背景繼續。使用情況計入您的[訂閱計畫限制](/docs/zh-TW/costs),沒有單獨的計算費用。

654 753 

655您可以建立具有不同網路存取級別和環境變數的自訂雲端環境。在開始雲端會話時選擇環境下拉式選單,然後選擇 **Add environment**。有關配置網路存取和環境變數的詳細資訊,請參閱[雲端環境](/docs/zh-TW/claude-code-on-the-web#the-cloud-environment)。754您可以建立具有不同網路存取級別和環境變數的自訂雲端環境。在開始雲端會話時,開啟提示框中的環境下拉式選單以管理它們:

755 

756* **Add an environment**:選擇 **Add cloud environment**

757* **Edit or archive one of your own environments**:將滑鼠懸停在它上面並點擊齒輪圖示

758 

759有關配置網路存取和環境變數的詳細資訊,請參閱[配置雲端環境](/docs/zh-TW/cloud-environments)。

656 760 

657<h3 id="ssh-sessions">761<h3 id="ssh-sessions">

658 SSH 會話762 SSH 會話


675 為您的團隊預先配置 SSH 連線779 為您的團隊預先配置 SSH 連線

676</h4>780</h4>

677 781 

678管理員可以透過將 `sshConfigs` 新增到[受管設定](/docs/zh-TW/settings#settings-precedence)檔案來將 SSH 連線分發給團隊成員。以這種方式定義的連線會自動出現在每個使用者的環境下拉式選單中,並顯示為受管,因此使用者可以選擇它們,但無法在應用程式中編輯或刪除它們。782管理員可以透過將 `sshConfigs` 新增到[受管設定](/docs/zh-TW/managed-settings)檔案來將 SSH 連線分發給團隊成員。以這種方式定義的連線會自動出現在每個使用者的環境下拉式選單中,並顯示為受管,因此使用者可以選擇它們,但無法在應用程式中編輯或刪除它們。

679 783 

680以下範例預先配置了一個在遠端主機上的 `~/projects` 中開啟的單一連線:784以下範例預先配置了一個單一連線:

681 785 

682```json theme={null}786```json theme={null}

683{787{


687 "name": "Shared Dev VM",791 "name": "Shared Dev VM",

688 "sshHost": "user@dev.example.com",792 "sshHost": "user@dev.example.com",

689 "sshPort": 22,793 "sshPort": 22,

690 "sshIdentityFile": "~/.ssh/id_ed25519",794 "sshIdentityFile": "~/.ssh/id_ed25519"

691 "startDirectory": "~/projects"

692 }795 }

693 ]796 ]

694}797}

695```798```

696 799 

697每個項目都需要 `id`、`name` 和 `sshHost`。`sshPort`、`sshIdentityFile` 和 `startDirectory` 欄位是選用的。使用者也可以將 `sshConfigs` 新增到他們自己的 `~/.claude/settings.json`,這是透過對話框新增的連線的儲存位置。800每個項目都需要 `id`、`name` 和 `sshHost`。`sshPort` 和 `sshIdentityFile` 欄位是選用的。使用者也可以將 `sshConfigs` 新增到他們自己的 `~/.claude/settings.json`,這是透過對話框新增的連線的儲存位置。

698 801 

699<h4 id="restrict-which-ssh-hosts-users-can-connect-to">802<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

700 限制使用者可以連接的 SSH 主機803 限制使用者可以連接的 SSH 主機

701</h4>804</h4>

702 805 

703管理員可以透過將 `sshHostAllowlist` 新增到[受管設定](/docs/zh-TW/settings#settings-precedence)檔案來限制 Desktop 的 SSH 會話到已核准的主機集合。設定後,使用者只能連接到其解析的主機名稱與其中一個模式相符的主機。將其設定為空陣列以完全停用 SSH 會話。806管理員可以透過將 `sshHostAllowlist` 新增到[受管設定](/docs/zh-TW/managed-settings)檔案來限制 Desktop 的 SSH 會話到已核准的主機集合。設定後,使用者只能連接到其解析的主機名稱與其中一個模式相符的主機。將其設定為空陣列以完全停用 SSH 會話。

704 807 

705以下範例允許連接到 `devboxes.example.com` 下的任何主機以及單一命名的堡壘主機:808以下範例允許連接到 `devboxes.example.com` 下的任何主機以及單一命名的堡壘主機:

706 809 


735 受管設定838 受管設定

736</h3>839</h3>

737 840 

738受管設定會覆蓋專案和使用者設定,並在 Desktop 中的 Claude Code 會話時套用。您可以在您組織的[受管設定](/docs/zh-TW/settings#settings-precedence)檔案中設定這些金鑰,或透過管理員主控台遠端推送它們。841受管設定會覆蓋專案和使用者設定,並在 Desktop 中的 Claude Code 會話時套用。您可以在您組織的[受管設定](/docs/zh-TW/managed-settings)檔案中設定這些金鑰,或透過管理員主控台遠端推送它們。

739 842 

740| 金鑰 | 描述 |843| 金鑰 | 描述 |

741| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |844| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

742| `permissions.disableBypassPermissionsMode` | 設定為 `"disable"` 以防止使用者啟用略過權限模式。 |845| `permissions.disableBypassPermissionsMode` | 設定為 `"disable"` 以防止使用者啟用略過權限模式。 |

743| `disableAutoMode` | 設定為 `"disable"` 以防止使用者啟用 [Auto](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 模式。從模式選擇器中移除 Auto。也在 `permissions` 下接受。 |846| `disableAutoMode` | 設定為 `"disable"` 以從模式選擇器中移除 [Auto](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 模式。也在 `permissions` 下接受。 |

744| `autoMode` | 自訂 auto 模式分類器在您的組織中信任和阻止的內容。請參閱[配置 auto 模式](/docs/zh-TW/auto-mode-config)。 |847| `autoMode` | 自訂 auto 模式分類器在您的組織中信任和阻止的內容。請參閱[配置 auto 模式](/docs/zh-TW/auto-mode-config)。 |

745| `browserExternalPageTools` | 設定為 `"disabled"` 以防止 Claude 使用工具來讀取或作用於[瀏覽器窗格](#browse-external-sites)中的外部頁面。使用者仍然可以自行瀏覽外部網站,本機開發伺服器預覽不受影響。 |848| `browserExternalPageTools` | 設定為 `"disabled"` 以防止 Claude 使用工具來讀取或作用於[瀏覽器窗格](#browse-external-sites)中的外部頁面。使用者仍然可以自行瀏覽外部網站,本機開發伺服器預覽不受影響。 |

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

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

747| `sshConfigs` | 預先配置[SSH 連線](#pre-configure-ssh-connections-for-your-team),在環境下拉式選單中顯示。使用者無法編輯或刪除受管連線。 |851| `sshConfigs` | 預先配置[SSH 連線](#pre-configure-ssh-connections-for-your-team),在環境下拉式選單中顯示。使用者無法編輯或刪除受管連線。 |

748| `sshHostAllowlist` | 限制 [SSH 會話](#restrict-which-ssh-hosts-users-can-connect-to)連線到已解析主機名稱符合這些模式之一的主機。空陣列會停用 SSH 會話。僅從受管設定讀取。 |852| `sshHostAllowlist` | 限制 [SSH 會話](#restrict-which-ssh-hosts-users-can-connect-to)連線到已解析主機名稱符合這些模式之一的主機。空陣列會停用 SSH 會話。僅從受管設定讀取。 |

749| `managedMcpServers` | 將 MCP 伺服器配置推送到第三方部署中的所有使用者。每個項目指定 `"http"`、`"sse"` 或 `"stdio"` 的傳輸、連線詳細資訊,以及可選的 `toolPolicy` 對應,限制該伺服器中使用者可以叫用的工具。僅在第三方 (3P) Desktop 部署中可用。透過受管設定檔案或 MDM 傳遞此金鑰,因為第三方部署不會收到管理員主控台設定。 |853| `disableDesktopLocalSessions` | 設定為 `true` 以關閉[在裝置上執行的 Code 會話](#local-sessions-on-managed-devices),只保留 SSH 會話到其他主機和雲端會話。該值必須是 JSON 布林值 `true`。僅從受管設定讀取。需要 Claude Desktop v1.37937.0 或更新版本。 |

854| `managedMcpServers` | 將 MCP 伺服器配置推送到所有使用者。僅在第三方 (3P) Desktop 部署中可用。在每個項目中,設定 `"http"`、`"sse"` 或 `"stdio"` 的傳輸、連線詳細資訊,以及可選的 `toolPolicy` 對應,限制該伺服器中使用者可以叫用的工具。透過受管設定檔案、MDM 或 Claude apps gateway 原則的 [`desktop` 區塊](/docs/zh-TW/claude-apps-gateway-config#claude-desktop-overlay)傳遞,因為第三方部署不會收到管理員主控台設定。若要透過閘道傳遞,您需要閘道伺服器上的 Claude Code v2.1.232 或更新版本。這是桌面應用程式自己的金鑰;Claude Code 讀取自己的[同名受管設定](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings),具有不同的項目形狀。 |

750 855 

751哪些受管設定到達 Desktop 會話取決於該會話執行的位置。模型限制(例如 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection))在 Desktop 的 Claude Code 會話中的強制方式與終端 CLI 相同;請參閱[表面涵蓋範圍](/docs/zh-TW/model-config#surface-coverage)。856哪些受管設定到達 Desktop 會話取決於該會話執行的位置。模型限制(例如 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection))在 Desktop 的 Claude Code 會話中的強制方式與終端 CLI 相同;請參閱[表面涵蓋範圍](/docs/zh-TW/model-config#surface-coverage)。

752 857 

753* **此機器上的本機會話**:部署到磁碟的受管設定檔案適用。透過管理員主控台推送的遠端受管設定在會話使用組織登入或直接配置的 API 金鑰向 Anthropic 的 API 進行驗證時也會到達這些會話,遵循與終端 CLI 相同的[設定優先順序](/docs/zh-TW/settings#settings-precedence)。858* **此機器上的本機會話**:部署到磁碟的受管設定檔案適用。透過管理員主控台推送的遠端受管設定在會話使用[符合條件的登入或金鑰](/docs/zh-TW/server-managed-settings#platform-availability)向 Anthropic 的 API 進行驗證時也會到達這些會話,遵循與終端 CLI 相同的[設定優先順序](/docs/zh-TW/settings#settings-precedence)。

754* **[雲端會話](#cloud-sessions)**:在 Anthropic 管理的 VM 上執行,僅接收[伺服器管理的設定](/docs/zh-TW/server-managed-settings)。859* **[雲端會話](#cloud-sessions)**:接收[伺服器管理的設定](/docs/zh-TW/server-managed-settings);裝置部署的檔案無法到達它們,因為它們在 Anthropic 管理的 VM 上執行。路由到[自託管環境](/docs/zh-TW/self-hosted-environments)的會話也讀取執行器映像中的受管設定檔案。[Claude Code 如何結合受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明該檔案何時適用。

755* **[SSH 會話](#ssh-sessions)**:會話從遠端主機讀取受管設定檔案。Desktop 本身在建立連線時從本機機器的受管設定讀取 `sshConfigs` 和 `sshHostAllowlist`。860* **[SSH 會話](#ssh-sessions)**:會話從遠端主機讀取受管設定檔案。Desktop 本身從本機機器的受管設定讀取 `sshConfigs`、`sshHostAllowlist` 和 `disableDesktopLocalSessions`。

861* **[Cowork](https://claude.com/docs/cowork/overview) 會話**:在此機器上的 Cowork 會話中,Claude Code 永遠不會擷取管理員主控台設定,即使使用者使用 Team 或 Enterprise 帳戶登入,並讀取部署到機器的原則,除非您的 Claude Desktop 配置設定 `requireCoworkFullVmSandbox`。遠端 Cowork 會話都不會接收。請參閱[原則適用的位置和時間](/docs/zh-TW/managed-settings#where-and-when-a-policy-applies)以了解哪些裝置檔案到達 Cowork,以及[MCP 權限規則](/docs/zh-TW/permissions#mcp)以了解 `Bash` 和 `WebFetch` 規則如何適用於 Cowork 的工具。

756 862 

757`permissions.disableBypassPermissionsMode` 和 `disableAutoMode` 也在使用者和專案設定中運作,但將它們放在受管設定中可防止使用者覆蓋它們。863在本機和 SSH 會話中,桌面應用程式直接將每個使用者連線的 claude.ai 連接器傳遞給 Claude Code。無論您使用哪個設定來源或檔案位置,都沒有 MCP 設定或 `managed-mcp.json` 到達這些連接器。若要在這些會話中阻止連接器的工具,請使用您組織的[連接器工具控制](/docs/zh-TW/mcp#organization-controls-on-connector-tools)。[連接器如何到達 Claude Code](/docs/zh-TW/mcp#how-connectors-reach-claude-code)顯示哪些設定在每種會話中管理連接器。

758 864 

759Claude Code 從使用者設定、`--settings` 旗標和受管設定讀取 `autoMode`,但不從 `.claude/settings.json` 或 `.claude/settings.local.json` 讀取:兩個檔案都位於儲存庫目錄中,因此複製的儲存庫或建置步驟無法注入自己的分類器規則。在 v2.1.207 之前,Claude Code 也讀取 `.claude/settings.local.json`。865`permissions.disableBypassPermissionsMode` 和 `disableAutoMode` 也在使用者和專案設定中運作,但將它們放在受管設定中可防止使用者覆蓋它們。

760 866 

761有關受管專用設定(包括 `allowManagedPermissionRulesOnly` 和 `allowManagedHooksOnly`)的完整清單,請參閱[受管專用設定](/docs/zh-TW/permissions#managed-only-settings)。867有關只有受管來源可以設定的權限、外掛程式和傳遞金鑰,請參閱[只有受管設定可以設定的金鑰](/docs/zh-TW/managed-settings#managed-only-settings)。

762 868 

763<h3 id="device-management-policies">869<h3 id="device-management-policies">

764 裝置管理原則870 裝置管理原則


814*.claudemcpcontent.com920*.claudemcpcontent.com

815```921```

816 922 

923如果您的組織已[啟用 IP 允許清單](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)用於 Claude,請透過與 `claude.ai` 和 `api.anthropic.com` 相同的代理出口路由 `bridge.claudeusercontent.com`。如果您無法以這種方式路由它,請將您的代理用於該主機的出口位址新增到您組織的 IP 允許清單,但僅當該位址專用於您的組織時:共用代理出口範圍也允許代理廠商的其他客戶。

924 

925Anthropic 使用它們到達的位址檢查與該主機的連線是否符合您組織的 IP 允許清單。如果您的代理透過不在該允許清單上的位址為其傳送流量,Chrome 中的 Claude 和透過橋接連線的其他功能會停止運作,而應用程式的其餘部分會繼續運作。

926 

927從 [Google Fonts](/docs/zh-TW/artifacts#improve-the-visual-design) 載入字體的[成品](/docs/zh-TW/artifacts)也會要求 `fonts.googleapis.com` 和 `fonts.gstatic.com`。兩個主機都是選用的。如果您阻止它們,成品會以備用字體呈現。使用快速拒絕而不是無聲丟棄來阻止,以便字體要求立即失敗,而不是延遲頁面的首次呈現。

928 

929成品也可以從 `cdnjs.cloudflare.com`、`cdn.jsdelivr.net`、`cdn.tailwindcss.com` 和 `code.jquery.com` 載入 JavaScript 程式庫(例如 React 或圖表套件),而不是從任何其他外部主機。如果您阻止這些主機,成品中依賴程式庫的部分無法運作,與阻止的字體不同,阻止的程式庫沒有備用方案。也在這裡使用快速拒絕,以便阻止的程式庫要求立即失敗,而不是掛起直到逾時。

930 

817<h3 id="authentication-and-sso">931<h3 id="authentication-and-sso">

818 驗證和 SSO932 驗證和 SSO

819</h3>933</h3>


824 資料處理938 資料處理

825</h3>939</h3>

826 940 

827Claude Code 在本機會話中本機處理您的程式碼,或在雲端會話中在 Anthropic 的雲端基礎設施上處理。對話和程式碼上下文會傳送到 Anthropic 的 API 進行處理。有關資料保留、隱私和合規性的詳細資訊,請參閱[資料處理](/docs/zh-TW/data-usage)。941Claude Code 在本機會話中本機處理您的程式碼,或在雲端會話中在 Anthropic 管理的基礎設施上處理,除非您的組織將它們路由到[自託管環境](/docs/zh-TW/self-hosted-environments)。雲端會話(包括在自託管環境中)將對話和程式碼上下文傳送到 Anthropic 的 API 進行處理;本機和 SSH 會話將它們傳送到您的部署配置的任何[模型提供者](#feature-comparison),預設為 Anthropic 的 API。有關資料保留、隱私和合規性的詳細資訊,請參閱[資料處理](/docs/zh-TW/data-usage)。

828 942 

829<h3 id="deployment">943<h3 id="deployment">

830 部署944 部署


843 來自 CLI?957 來自 CLI?

844</h2>958</h2>

845 959 

846如果您已經使用 Claude Code CLI,Desktop 執行相同的基礎引擎,具有圖形介面。您可以在同一機器上同時執行兩者,甚至在同一專案上執行。每個都維護單獨的會話歷史記錄,但它們透過 CLAUDE.md 檔案共用配置和專案記憶。960如果您已經使用 Claude Code CLI,Desktop 執行相同的基礎引擎,具有圖形介面。您可以在同一機器上同時執行兩者,甚至在同一專案上執行。每個都維護單獨的會話清單,您可以將 CLI 會話帶入 Desktop。它們透過 CLAUDE.md 檔案共用設定和專案記憶。

961 

962若要將 CLI 會話移至 Desktop,請在終端機中執行 `/desktop`。Claude 儲存您的會話並在桌面應用程式中開啟它,然後退出 CLI。此命令在 macOS 和 x64 Windows 上可用,當您使用 Claude 訂閱登入時。它不適用於 API 金鑰驗證或 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。

847 963 

848若要將 CLI 會話移至 Desktop,請在終端機中執行 `/desktop`。Claude 儲存您的會話並在桌面應用程式中開啟它,然後退出 CLI。此命令在 macOS 和 Windows 上可用,當您使用 Claude 訂閱登入時。它不適用於 API 金鑰驗證或 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。964若要從 Desktop 內部取得 CLI 會話,請在提示框中輸入 `/resume`。Desktop 列出您從 CLI 啟動的會話,您可以按標題、資料夾或分支搜尋它們,並預覽每個會話停止的位置。選擇一個會話,它會在應用程式中繼續進行,具有完整的對話和內容。

849 965 

850<Tip>966<Tip>

851 何時使用 Desktop 與 CLI:當您想要在一個視窗中管理並行會話、並排排列窗格或視覺化檢查變更時,使用 Desktop。當您需要指令碼、自動化或偏好終端機工作流程時,使用 CLI。967 何時使用 Desktop 與 CLI:當您想要在一個視窗中管理並行會話、並排排列窗格或視覺化檢查變更時,使用 Desktop。當您需要指令碼、自動化或偏好終端機工作流程時,使用 CLI。


860| CLI | Desktop 等效項 |976| CLI | Desktop 等效項 |

861| ------------------------------------- | ----------------------------------------------------------------------------------------- |977| ------------------------------------- | ----------------------------------------------------------------------------------------- |

862| `--model sonnet` | 傳送按鈕旁的模型下拉式選單 |978| `--model sonnet` | 傳送按鈕旁的模型下拉式選單 |

863| `--resume`, `--continue` | 點擊側邊欄中的會話 |979| `--resume`, `--continue` | 點擊側邊欄中的會話,或在提示框中輸入 `/resume` 以取得您從 CLI 啟動的會話 |

864| `--permission-mode` | 傳送按鈕旁的模式選擇器 |980| `--permission-mode` | 傳送按鈕旁的模式選擇器 |

865| `--dangerously-skip-permissions` | 略過權限模式。在 Pro 和 Max 方案上,在「設定」→「Claude Code」→「允許略過權限模式」中啟用它;在 Team 和 Enterprise 方案上,組織政策控制它 |981| `--dangerously-skip-permissions` | 略過權限模式。在 Pro 和 Max 方案上,在「設定」→「Claude Code」→「允許略過權限模式」中啟用它;在 Team 和 Enterprise 方案上,組織政策控制它 |

866| `--add-dir` | 在雲端會話中使用 **+** 按鈕新增多個儲存庫 |982| `--add-dir` | 在雲端會話中使用 **+** 按鈕新增多個儲存庫 |

867| `--allowedTools`, `--disallowedTools` | 沒有各別會話等效項。[設定檔案](/docs/zh-TW/settings)中的權限規則仍然適用。 |983| `--allowedTools`, `--disallowedTools` | 沒有各別會話等效項。[設定檔案](/docs/zh-TW/settings)中的權限規則仍然適用。 |

868| `--verbose` | [Verbose 檢視模式](#switch-view-modes)在「Transcript view」下拉式選單中 |984| `--verbose` | [Verbose 檢視模式](#switch-view-modes)在 Transcript 檢視下拉式選單中 |

869| `--print`, `--output-format` | 不可用。Desktop 僅限互動。 |985| `--print`, `--output-format` | 不可用。Desktop 僅限互動。 |

870| `ANTHROPIC_MODEL` 環境變數 | 傳送按鈕旁的模型下拉式選單 |986| `ANTHROPIC_MODEL` 環境變數 | 傳送按鈕旁的模型下拉式選單 |

871| `MAX_THINKING_TOKENS` 環境變數 | 在本機環境編輯器中設定。請參閱[環境配置](#environment-configuration)。 |987| `MAX_THINKING_TOKENS` 環境變數 | 在本機環境編輯器中設定。請參閱[環境配置](#environment-configuration)。 |

872 988 

873<h3 id="shared-configuration">989<h3 id="shared-configuration">

874 共用配置990 共用設定

875</h3>991</h3>

876 992 

877Desktop 和 CLI 讀取相同的配置檔案,因此您的設定會轉移:993Desktop 和 CLI 讀取相同的設定檔案,因此您的設定會轉移:

878 994 

879* **[CLAUDE.md](/docs/zh-TW/memory)** 和 `CLAUDE.local.md` 檔案在您的專案中由兩者使用995* **[CLAUDE.md](/docs/zh-TW/memory)** 和 `CLAUDE.local.md` 檔案在您的專案中由兩者使用

880* **[MCP servers](/docs/zh-TW/mcp)** 在 `~/.claude.json` 或 `.mcp.json` 中配置的在兩者中都有效996* **[MCP servers](/docs/zh-TW/mcp)** 在 `~/.claude.json` 或 `.mcp.json` 中設定的在兩者中都有效

881* **[Hooks](/docs/zh-TW/hooks)** 和 **[skills](/docs/zh-TW/skills)** 在設定中定義的適用於兩者997* **[Hooks](/docs/zh-TW/hooks)** 和 **[skills](/docs/zh-TW/skills)** 在設定中定義的適用於兩者

882* **[Settings](/docs/zh-TW/settings)** 在 `~/.claude.json` 和 `~/.claude/settings.json` 中是共用的。`settings.json` 中的權限規則、允許的工具和其他設定適用於 Desktop 會話。998* **[Settings](/docs/zh-TW/settings)** 在 `~/.claude.json` 和 `~/.claude/settings.json` 中是共用的。`settings.json` 中的權限規則、允許的工具和其他設定適用於 Desktop 會話。

883* **Models**:相同的[模型](/docs/zh-TW/model-config#available-models)在兩者中都可用。在 Desktop 中,從傳送按鈕旁的下拉式選單中選擇模型。您可以在會話期間從相同的下拉式選單變更模型。999* **Models**:相同的[模型](/docs/zh-TW/model-config#available-models)在兩者中都可用。在 Desktop 中,從傳送按鈕旁的下拉式選單中選擇模型。您可以在會話期間從相同的下拉式選單變更模型。

884 1000 

885<Note>1001<h4 id="mcp-servers-from-the-claude-desktop-chat-app">

886 **來自 Claude Desktop 聊天應用程式的 MCP servers**:Desktop 應用程式從 `claude_desktop_config.json` 將 MCP servers 載入到 Code 標籤會話中,以及來自 `~/.claude.json` 和 `.mcp.json` 的伺服器。在 `claude_desktop_config.json` 中定義的伺服器在 Desktop 聊天表面和 Code 標籤中都可用。1002 Claude Desktop 聊天應用程式中的 MCP servers

1003</h4>

887 1004 

1005Desktop 應用程式從 `claude_desktop_config.json` 將 MCP servers 載入到本機 Code 標籤會話中,以及來自 `~/.claude.json` 和 `.mcp.json` 的伺服器。在 `claude_desktop_config.json` 中定義的伺服器在 Desktop 聊天表面和本機 Code 標籤會話中都可用。

1006 

1007如果您在 `claude_desktop_config.json` 和 `~/.claude.json` 或 `.mcp.json` 中定義相同的伺服器名稱,本機會話中的 Code 標籤連接一次並使用 `claude_desktop_config.json` 定義。

1008 

1009應用程式也會將 `~/.claude.json` 中的 stdio 伺服器重新傳遞到本機會話中的嵌入式 CLI。當 `~/.claude.json`(使用者範圍)和 `.mcp.json` 的頂層定義相同的 stdio 伺服器名稱時,Code 標籤使用 `~/.claude.json` 定義,偏離 CLI [範圍階層](/docs/zh-TW/mcp#scope-hierarchy-and-precedence)。

1010 

1011<Note>

888 獨立 CLI 不讀取 `claude_desktop_config.json`。在 macOS 和 WSL 上,執行 `claude mcp add-from-claude-desktop` 將這些伺服器複製到 `~/.claude.json`。請參閱[從 Claude Desktop 匯入 MCP servers](/docs/zh-TW/mcp#import-mcp-servers-from-claude-desktop)以了解匯入流程和範圍選項。1012 獨立 CLI 不讀取 `claude_desktop_config.json`。在 macOS 和 WSL 上,執行 `claude mcp add-from-claude-desktop` 將這些伺服器複製到 `~/.claude.json`。請參閱[從 Claude Desktop 匯入 MCP servers](/docs/zh-TW/mcp#import-mcp-servers-from-claude-desktop)以了解匯入流程和範圍選項。

889</Note>1013</Note>

890 1014 


897| 功能 | CLI | Desktop |1021| 功能 | CLI | Desktop |

898| ----------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1022| ----------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

899| 權限模式 | 所有模式,包括 `dontAsk` | Manual、Accept edits、Plan 和 Auto。Bypass permissions 在模式選擇器中出現,一旦啟用:在 Pro 和 Max 方案上透過「設定」切換,或在 Team 和 Enterprise 方案上透過組織政策 |1023| 權限模式 | 所有模式,包括 `dontAsk` | Manual、Accept edits、Plan 和 Auto。Bypass permissions 在模式選擇器中出現,一旦啟用:在 Pro 和 Max 方案上透過「設定」切換,或在 Team 和 Enterprise 方案上透過組織政策 |

900| `--dangerously-skip-permissions` | CLI 標誌 | Bypass permissions 模式。在 Pro 和 Max 方案上,在「設定」→「Claude Code」→「允許略過權限模式」中啟用它;在 Team 和 Enterprise 方案上,組織政策控制它 |

901| [第三方提供者](/docs/zh-TW/third-party-integrations) | Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry | Anthropic 的 API 預設。若要進行閘道路由,請參閱[將桌面應用程式連接到閘道](/docs/zh-TW/llm-gateway-connect#desktop-app)。若要在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自託管 LLM 閘道上執行 Code 標籤,請參閱 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。 |1024| [第三方提供者](/docs/zh-TW/third-party-integrations) | Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry | Anthropic 的 API 預設。若要進行閘道路由,請參閱[將桌面應用程式連接到閘道](/docs/zh-TW/llm-gateway-connect#desktop-app)。若要在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自託管 LLM 閘道上執行 Code 標籤,請參閱 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。 |

902| [MCP servers](/docs/zh-TW/mcp) | 在設定檔案中配置 | 本機和 SSH 會話的連接器 UI,或設定檔案 |1025| [MCP servers](/docs/zh-TW/mcp) | 在設定檔案中設定 | 本機和 SSH 會話的連接器 UI,或設定檔案 |

903| [Plugins](/docs/zh-TW/plugins) | `/plugin` 命令 | Plugin 管理器 UI |1026| [Plugins](/docs/zh-TW/plugins) | `/plugin` 命令 | Plugin 管理器 UI |

904| @mention 檔案 | 文字型 | 具有自動完成;本機和 SSH 會話僅 |1027| @mention 檔案 | 文字型 | 具有自動完成;本機和 SSH 會話僅 |

905| 檔案附件 | 不可用 | 影像、PDF |1028| 檔案附件 | 不可用 | 影像、PDF |

906| 會話隔離 | [`--worktree`](/docs/zh-TW/cli-reference) 標誌 | 自動 worktrees |1029| 會話隔離 | [`--worktree`](/docs/zh-TW/cli-reference) 標誌 | 啟動會話時的 **worktree** 選項 |

907| 多個會話 | 單獨的終端機 | 側邊欄標籤 |1030| 多個會話 | 單獨的終端機 | 側邊欄標籤 |

908| 定期任務 | Cron 工作、CI 管道 | [排程任務](/docs/zh-TW/desktop-scheduled-tasks) |1031| 定期任務 | Cron 工作、CI 管道 | [排程任務](/docs/zh-TW/desktop-scheduled-tasks) |

909| 電腦使用 | [透過 `/mcp` 在 macOS 上啟用](/docs/zh-TW/computer-use) | [應用程式和螢幕控制](#let-claude-use-your-computer)在 macOS 和 Windows 上 |1032| 電腦使用 | [透過 `/mcp` 在 macOS 上啟用](/docs/zh-TW/computer-use) | [應用程式和螢幕控制](#let-claude-use-your-computer)在 macOS 和 Windows 上 |

1033| iOS 模擬器 | 透過[電腦使用](/docs/zh-TW/computer-use#test-a-simulator-flow)驅動模擬器 | [iOS Simulator 窗格](/docs/zh-TW/desktop-ios-simulator)自動開啟 |

910| Dispatch 整合 | 不可用 | [Dispatch 會話](#sessions-from-dispatch)在側邊欄中 |1034| Dispatch 整合 | 不可用 | [Dispatch 會話](#sessions-from-dispatch)在側邊欄中 |

911| 指令碼和自動化 | [`--print`](/docs/zh-TW/cli-reference)、[Agent SDK](/docs/zh-TW/headless) | 不可用 |1035| 指令碼和自動化 | [`--print`](/docs/zh-TW/cli-reference)、[Agent SDK](/docs/zh-TW/headless) | 不可用 |

912 1036 


914 Desktop 中不可用的內容1038 Desktop 中不可用的內容

915</h3>1039</h3>

916 1040 

917以下功能僅在 CLI 或 VS Code 擴充功能中可用,除非另有說明:1041以下功能在 Desktop 中不可用,除非另有說明:

918 1042 

919* **第三方提供者**:Desktop 預設連接到 Anthropic 的 API。若要透過閘道路由 Desktop,請參閱[將桌面應用程式連接到閘道](/docs/zh-TW/llm-gateway-connect#desktop-app)。企業部署可以透過[受管設定](https://claude.com/docs/third-party/claude-desktop/configuration)配置 Google Cloud 的 Agent Platform 和閘道提供者。若要在 Amazon Bedrock 或 Microsoft Foundry 上使用 CLI,請參閱[快速入門](/docs/zh-TW/quickstart)。作為上述部分的例外,[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) 在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自託管 LLM 閘道上執行 Code 標籤。1043* **第三方提供者**:Desktop 預設連接到 Anthropic 的 API。若要透過閘道路由 Desktop,或在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自託管 LLM 閘道上執行 Code 標籤,請遵循[第三方提供者列](#feature-comparison)中的連結。

920* **Linux (beta)**:Linux 桌面應用程式中尚未提供電腦使用。請參閱 [Claude Desktop on Linux](/docs/zh-TW/desktop-linux)。1044* **Linux (beta)**:Linux 桌面應用程式中尚未提供電腦使用。請參閱 [Claude Desktop on Linux](/docs/zh-TW/desktop-linux)。

921* **內嵌程式碼建議**:Desktop 不提供自動完成樣式的建議。它透過對話提示和明確的程式碼變更進行工作。1045* **內嵌程式碼建議**:Desktop 不提供自動完成樣式的建議。它透過對話提示和明確的程式碼變更進行工作。

922* **Agent teams**:平行 Claude Code 會話相互傳遞訊息,可在 [CLI](/docs/zh-TW/agent-teams) 中使用,不在 Desktop 中。若要在一個會話內進行多代理工作,請使用 [dynamic workflows](/docs/zh-TW/workflows),它們在 Desktop 中執行。1046* **Agent teams**:協調的團隊,其中 Claude 作為團隊主管從共用任務清單中指派任務給隊友,在 [CLI](/docs/zh-TW/agent-teams) 中可用,不在 Desktop 中。若要在一個會話內進行多代理工作,請使用 [dynamic workflows](/docs/zh-TW/workflows),它們在 Desktop 中執行;Claude 也可以[直接傳遞訊息和管理您的其他會話](#work-across-sessions)。

923* **Terminal-dialog 命令**:在終端機中開啟互動式面板的內建命令,在 Code 標籤中的行為不同。直接編輯[設定檔案](/docs/zh-TW/settings)以管理權限規則和配置,或從獨立 CLI 執行命令。1047* **Terminal-dialog 命令**:在終端機中開啟互動式面板的內建命令,在 Code 標籤中的行為不同。直接編輯[設定檔案](/docs/zh-TW/settings)以管理權限規則和設定,或從獨立 CLI 執行命令。

924 * 沒有引數形式的命令,例如 `/permissions`,回覆 `isn't available in this environment`。1048 * 沒有引數形式的命令,例如 `/permissions`,回覆 `isn't available in this environment`。

925 * `/config` 開啟「設定」→「Claude Code」。命令後的文字被忽略,因此 `/config theme=dark` 不會設定主題。1049 * `/config` 開啟「設定」→「Claude Code」。命令後的文字被忽略,因此 `/config theme=dark` 不會設定主題。

926 1050 


979 Git 和 Git LFS 錯誤1103 Git 和 Git LFS 錯誤

980</h3>1104</h3>

981 1105 

982在 Windows 上,Git 是啟動本機會話的 Code 標籤所需的。如果您看到「Git is required」,請安裝 [Git for Windows](https://git-scm.com/downloads/win) 並重新啟動應用程式。1106在其自己的 worktree 中執行的會話需要 Git。如果您看到「Git is required」,請安裝 [Git](https://git-scm.com/downloads),或在 Windows 上安裝 [Git for Windows](https://git-scm.com/downloads/win),然後重新嘗試。在 Windows 上,1.49585.0 之前的 Claude Desktop 版本在啟動任何本機會話之前要求 Git;如果您看到該提示且未使用 worktrees,請更新應用程式。

983 1107 

984如果您看到「Git LFS is required by this repository but is not installed」,請從 [git-lfs.com](https://git-lfs.com/) 安裝 Git LFS,執行 `git lfs install`,然後重新啟動應用程式。1108如果您看到「Git LFS is required by this repository but is not installed」,請從 [git-lfs.com](https://git-lfs.com/) 安裝 Git LFS,執行 `git lfs install`,然後重新啟動應用程式。

985 1109 


1021* 在桌面應用程式中開啟「Help → Get Support」,或直接造訪 [Claude 支援中心](https://support.claude.com/)1145* 在桌面應用程式中開啟「Help → Get Support」,或直接造訪 [Claude 支援中心](https://support.claude.com/)

1022* 對於在獨立 `claude` CLI 中也會重現的問題,請在 [GitHub Issues](https://github.com/anthropics/claude-code/issues) 上搜尋或提交錯誤1146* 對於在獨立 `claude` CLI 中也會重現的問題,請在 [GitHub Issues](https://github.com/anthropics/claude-code/issues) 上搜尋或提交錯誤

1023 1147 

1024提交問題時,請包括您的桌面應用程式版本、您的作業系統、確切的錯誤訊息和相關日誌。在 macOS 上,檢查 Console.app。在 Windows 上,檢查「事件檢視器 → Windows 日誌 → 應用程式」。1148提交問題時,請包括您的桌面應用程式版本、您的作業系統、確切的錯誤訊息和相關日誌。在 macOS 上,檢查 Console.app。在 Windows 上,檢查「事件檢視器 → Windows 日誌 → 應用程式」。檢查日誌摘錄後再將其發佈到公開問題;它們可能包括來自您環境的檔案路徑和其他詳細資訊。

Details

29 在本頁面上,「裝置」是指模擬的 iPhone 或 iPad,是您在 Xcode 中的 **Window → Devices and Simulators** 下管理的相同模擬器裝置之一,不是實體硬體。29 在本頁面上,「裝置」是指模擬的 iPhone 或 iPad,是您在 Xcode 中的 **Window → Devices and Simulators** 下管理的相同模擬器裝置之一,不是實體硬體。

30</Note>30</Note>

31 31 

32模擬器窗格僅在本機工作階段中可用。在[雲端](/docs/zh-TW/desktop#run-long-running-tasks-remotely)和 [SSH](/docs/zh-TW/desktop#ssh-sessions) 工作階段中,Claude 在無法到達您 Mac 上模擬器的機器上執行。32模擬器窗格僅在本機工作階段中可用。在[雲端](/docs/zh-TW/desktop#run-long-running-tasks-in-the-cloud)和 [SSH](/docs/zh-TW/desktop#ssh-sessions) 工作階段中,Claude 在無法到達您 Mac 上模擬器的機器上執行。

33 33 

34<h2 id="run-your-app-in-the-simulator">34<h2 id="run-your-app-in-the-simulator">

35 在模擬器中執行您的應用程式35 在模擬器中執行您的應用程式

Details

70 70 

71 您也可以選擇:71 您也可以選擇:

72 72 

73 * **Cloud**:在雲端執行工作階段,即使您關閉應用程式也會繼續進行。雲端工作階段使用與 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 相同的基礎設施。73 * **Cloud**:在雲端執行工作階段,即使您關閉應用程式也會繼續進行。請參閱 [Use Claude Code in the cloud](/docs/zh-TW/claude-code-on-the-web) 以了解雲端工作階段的運作方式。

74 * **SSH**:透過 SSH 連接到遠端機器,例如您自己的伺服器、雲端虛擬機或開發容器。Desktop 在您第一次連接時會自動在遠端機器上安裝 Claude Code。74 * **SSH**:透過 SSH 連接到遠端機器,例如您自己的伺服器、雲端虛擬機或開發容器。Desktop 在您第一次連接時會自動在遠端機器上安裝 Claude Code。

75 * **WSL**(Windows):在 [WSL 2 distribution](/docs/zh-TW/desktop-wsl) 內執行工作階段;Claude Code、工具和 git 在 Linux 端執行,使用原生路徑。75 * **WSL**(Windows):在 [WSL 2 distribution](/docs/zh-TW/desktop-wsl) 內執行工作階段;Claude Code、工具和 git 在 Linux 端執行,使用原生路徑。

76 </Step>76 </Step>


134 134 

135**將 Claude 排程執行。** 設定[排程工作](/docs/zh-TW/desktop-scheduled-tasks)以定期自動執行 Claude:每天早上進行程式碼審查、每週進行相依性稽核,或從您連接的工具提取資訊的簡報。135**將 Claude 排程執行。** 設定[排程工作](/docs/zh-TW/desktop-scheduled-tasks)以定期自動執行 Claude:每天早上進行程式碼審查、每週進行相依性稽核,或從您連接的工具提取資訊的簡報。

136 136 

137**準備好時進行擴展。** 從側邊欄開啟[平行工作階段](/docs/zh-TW/desktop#work-in-parallel-with-sessions)以同時處理多個工作,可選擇每個工作都在自己的 Git worktree 中,並開啟[工作窗格](/docs/zh-TW/desktop#watch-background-tasks)以監控工作階段正在執行的子代理和背景命令。開啟[側邊聊天](/docs/zh-TW/desktop#ask-a-side-question-without-derailing-the-session)以提出問題而不會偏離主線。將[長期執行的工作發送到雲端](/docs/zh-TW/desktop#run-long-running-tasks-remotely)以便即使您關閉應用程式也能繼續執行,或[在網路或 IDE 中繼續工作階段](/docs/zh-TW/desktop#continue-in-another-surface)(如果工作耗時超過預期)。[連接外部工具](/docs/zh-TW/desktop#extend-claude-code)(例如 GitHub、Slack 和 Linear)以整合您的工作流程。137**準備好時進行擴展。** 從側邊欄開啟[平行工作階段](/docs/zh-TW/desktop#work-in-parallel-with-sessions)以同時處理多個工作,可選擇每個工作都在自己的 Git worktree 中,並開啟[工作窗格](/docs/zh-TW/desktop#watch-background-tasks)以監控工作階段正在執行的子代理和背景命令。開啟[側邊聊天](/docs/zh-TW/desktop#ask-a-side-question-without-derailing-the-session)以提出問題而不會偏離主線。將[長期執行的工作發送到雲端](/docs/zh-TW/desktop#run-long-running-tasks-in-the-cloud)以便即使您關閉應用程式也能繼續執行,或[在網路或 IDE 中繼續工作階段](/docs/zh-TW/desktop#continue-in-another-surface)(如果工作耗時超過預期)。[連接外部工具](/docs/zh-TW/desktop#extend-claude-code)(例如 GitHub、Slack 和 Linear)以整合您的工作流程。

138 138 

139<h2 id="what’s-next">139<h2 id="what’s-next">

140 接下來140 接下來

desktop-wsl.md +1 −1

Details

52 受管理的裝置52 受管理的裝置

53</h2>53</h2>

54 54 

55在由組織管理的裝置上,WSL 工作階段可能無法使用。如果工作階段啟動失敗,並顯示裝置受管理的訊息,這由您的管理員控制。管理員:請參閱部署指南中的[設定如何到達裝置](/zh-TW/admin-setup#decide-how-settings-reach-devices)。55在由組織管理的裝置上,WSL 工作階段可能無法使用。如果工作階段啟動失敗,並顯示裝置受管理的訊息,這由您的管理員控制。管理員:請參閱部署指南中的[設定如何到達裝置](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices)。

devcontainer.md +2 −2

Details

138 138 

139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 也會停用[遠端控制](/docs/zh-TW/remote-control#requirements)和其他[需要功能旗標擷取的功能](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)所依賴的功能旗標評估,因此容器中的工作階段無法使用它們。139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 也會停用[遠端控制](/docs/zh-TW/remote-control#requirements)和其他[需要功能旗標擷取的功能](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)所依賴的功能旗標評估,因此容器中的工作階段無法使用它們。

140 140 

141Dev Container Feature 始終安裝最新的 Claude Code 版本。若要為可重現的構建固定特定的 Claude Code 版本,請從您的 Dockerfile 使用 `npm install -g @anthropic-ai/claude-code@X.Y.Z` 安裝它,而不是使用該功能,並設定 `DISABLE_AUTOUPDATER`,如上所示。141Dev Container Feature 始終安裝最新的 Claude Code 版本。若要為可重現的構建固定特定的 Claude Code 版本,請從您的 Dockerfile 使用 `npm install -g @anthropic-ai/claude-code@X.Y.Z` 安裝它,而不是使用該功能,並在 `containerEnv` 中設定 `DISABLE_AUTOUPDATER` 為 `1`。

142 142 

143如需完整的政策控制清單(包括權限規則、工具限制和 MCP 伺服器允許清單),請參閱[為您的組織設定 Claude Code](/docs/zh-TW/admin-setup)。143如需完整的政策控制清單(包括權限規則、工具限制和 MCP 伺服器允許清單),請參閱[為您的組織設定 Claude Code](/docs/zh-TW/admin-setup)。

144 144 


203Claude Code 在您的開發容器中執行後,下面的頁面涵蓋組織推出的其餘部分:選擇身份驗證路徑、在儲存庫外提供託管政策、監控使用情況以及了解 Claude Code 儲存和傳送的內容。203Claude Code 在您的開發容器中執行後,下面的頁面涵蓋組織推出的其餘部分:選擇身份驗證路徑、在儲存庫外提供託管政策、監控使用情況以及了解 Claude Code 儲存和傳送的內容。

204 204 

205* [為您的組織設定 Claude Code](/docs/zh-TW/admin-setup):選擇身份驗證提供者、決定政策如何到達裝置以及規劃推出205* [為您的組織設定 Claude Code](/docs/zh-TW/admin-setup):選擇身份驗證提供者、決定政策如何到達裝置以及規劃推出

206* [伺服器管理的設定](/docs/zh-TW/server-managed-settings):從 Claude.ai 管理員控制台提供託管政策,以便工程師無法透過編輯儲存庫檔案來繞過它206* [伺服器管理的設定](/docs/zh-TW/server-managed-settings):從 claude.ai 管理員控制台提供託管政策,以便工程師無法透過編輯儲存庫檔案來繞過它

207* [監控使用情況和審計活動](/docs/zh-TW/monitoring-usage):匯出 OpenTelemetry 指標並審查您的團隊正在執行的內容207* [監控使用情況和審計活動](/docs/zh-TW/monitoring-usage):匯出 OpenTelemetry 指標並審查您的團隊正在執行的內容

208* [網路存取要求](/docs/zh-TW/network-config#network-access-requirements):代理和防火牆的完整網域允許清單208* [網路存取要求](/docs/zh-TW/network-config#network-access-requirements):代理和防火牆的完整網域允許清單

209* [遙測服務和選擇退出](/docs/zh-TW/data-usage#telemetry-services):Claude Code 預設傳送的內容以及停用它的環境變數209* [遙測服務和選擇退出](/docs/zh-TW/data-usage#telemetry-services):Claude Code 預設傳送的內容以及停用它的環境變數

Details

8 8 

9外掛程式透過技能、代理、hooks 和 MCP servers 擴展 Claude Code。外掛程式市場是幫助您探索和安裝這些擴展的目錄,無需自己構建它們。9外掛程式透過技能、代理、hooks 和 MCP servers 擴展 Claude Code。外掛程式市場是幫助您探索和安裝這些擴展的目錄,無需自己構建它們。

10 10 

11您也可以在 claude.ai 上啟用外掛程式,供自己或透過您的組織使用。Claude Code 會將這些外掛程式同步到您的工作階段中,無需市場安裝,如[從 claude.ai 同步的外掛程式](/docs/zh-TW/plugins-reference#synced-plugins)所述。

12 

11想要建立和分發您自己的市場?請參閱[建立和分發外掛程式市場](/docs/zh-TW/plugin-marketplaces)。13想要建立和分發您自己的市場?請參閱[建立和分發外掛程式市場](/docs/zh-TW/plugin-marketplaces)。

12 14 

13<h2 id="how-marketplaces-work">15<h2 id="how-marketplaces-work">


78您也可以[為其他語言建立您自己的 LSP 外掛程式](/docs/zh-TW/plugins-reference#lsp-servers)。80您也可以[為其他語言建立您自己的 LSP 外掛程式](/docs/zh-TW/plugins-reference#lsp-servers)。

79 81 

80<Note>82<Note>

81 如果在安裝外掛程式後在 `/plugin` Errors 標籤中看到 `Executable not found in $PATH`,請從上表安裝所需的二進位檔。83 如果在安裝外掛程式後在 `/plugin` Errors 標籤中看到 `Executable not found in $PATH`,請從[程式碼智能](#code-intelligence)表安裝該外掛程式所需的二進位檔。

82</Note>84</Note>

83 85 

84<h4 id="what-claude-gains-from-code-intelligence-plugins">86<h4 id="what-claude-gains-from-code-intelligence-plugins">


237* **Git URL**:任何 git 儲存庫 URL,包括 GitLab、Bitbucket 和自託管伺服器239* **Git URL**:任何 git 儲存庫 URL,包括 GitLab、Bitbucket 和自託管伺服器

238* **本機路徑**:目錄或 `marketplace.json` 檔案的直接路徑240* **本機路徑**:目錄或 `marketplace.json` 檔案的直接路徑

239* **遠端 URL**:託管 `marketplace.json` 檔案的直接 URL241* **遠端 URL**:託管 `marketplace.json` 檔案的直接 URL

242* **claude.ai**:託管在 claude.ai 上的市場(適用於您的帳戶),例如您組織的外掛程式庫,您可以[從 **Marketplaces** 標籤或您的 shell 按名稱新增](#add-from-claude-ai),而不是按來源新增

240 243 

241<h3 id="add-from-github">244<h3 id="add-from-github">

242 從 GitHub 新增245 從 GitHub 新增


314 與基於 Git 的市場相比,基於 URL 的市場有一些限制。如果從基於 URL 的市場安裝外掛程式失敗,請參閱[故障排除](/docs/zh-TW/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)。317 與基於 Git 的市場相比,基於 URL 的市場有一些限制。如果從基於 URL 的市場安裝外掛程式失敗,請參閱[故障排除](/docs/zh-TW/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)。

315</Note>318</Note>

316 319 

320<h3 id="add-from-claude-ai">

321 從 claude.ai 新增

322</h3>

323 

324在[外掛程式從您的 claude.ai 帳戶同步](/docs/zh-TW/plugins-reference#synced-plugins)的終端機工作階段中,claude.ai 也可以為您列出市場,例如您組織的外掛程式庫和您自己的 claude.ai 上傳。`claude plugin marketplace list` 會在 `From claude.ai:` 區段中列印它們,而 `/plugin` **Marketplaces** 標籤也會列出它們。在那裡選擇一個以新增它。從 claude.ai 新增市場需要 Claude Code v2.1.273 或更新版本。

325 

326若要從您的 shell 新增一個,請執行 `claude plugin marketplace add` 並使用 `--claudeai` 旗標和列表中顯示的名稱:

327 

328```bash theme={null}

329claude plugin marketplace add --claudeai claudeai-organization-library

330```

331 

332Claude Code 會在以 `claudeai-` 開頭的本機名稱下註冊市場,該名稱衍生自 claude.ai 列出的名稱:列為「Organization library」的市場會註冊為 `claudeai-organization-library`。使用該名稱安裝其外掛程式,例如使用 `claude plugin install <plugin>@claudeai-organization-library`。

333 

334如果您登出或使用不同帳戶登入,市場會保持設定但不顯示任何外掛程式,而您已從中安裝的外掛程式會繼續載入。

335 

336`From claude.ai:` 區段也可以列出透過 claude.ai 共享的基於 git 的市場。您可以使用普通的 `marketplace add` 命令新增這些市場,使用列表列印的來源。

337 

317<h2 id="install-plugins">338<h2 id="install-plugins">

318 安裝外掛程式339 安裝外掛程式

319</h2>340</h2>

320 341 

321新增市場後,您可以按名稱安裝外掛程式:342新增市場後,您可以按名稱安裝外掛程式。對於您尚未新增的市場,您可以改為[在一個命令中新增並安裝](#add-a-marketplace-and-install-in-one-command)。

343 

344若要按名稱安裝:

322 345 

323```shell theme={null}346```shell theme={null}

324/plugin install plugin-name@marketplace-name347/plugin install plugin-name@marketplace-name


360 在安裝外掛程式之前,請確保您信任它。Anthropic 不控制外掛程式中包含的 MCP servers、檔案或其他軟體,也無法驗證它們是否按預期工作。檢查每個外掛程式的首頁以獲取更多資訊。383 在安裝外掛程式之前,請確保您信任它。Anthropic 不控制外掛程式中包含的 MCP servers、檔案或其他軟體,也無法驗證它們是否按預期工作。檢查每個外掛程式的首頁以獲取更多資訊。

361</Warning>384</Warning>

362 385 

386<h3 id="add-a-marketplace-and-install-in-one-command">

387 在一個命令中新增市場並安裝

388</h3>

389 

390若要從您尚未新增的市場安裝外掛程式,請使用 `--marketplace` 命名市場來源。需要 Claude Code v2.1.275 或更新版本。

391 

392```shell theme={null}

393/plugin install quality-review-plugin --marketplace your-org/plugins

394```

395 

396來源採用[與 `/plugin marketplace add` 相同的形式](#add-marketplaces),例如 GitHub `owner/repo`、git URL 或本地路徑,除了它不能包含空格。給出外掛程式名稱時不帶 `@marketplace` 後綴。

397 

398如果您尚未新增該市場,Claude Code 會顯示它解析的來源,並要求您在新增前確認。拒絕會取消安裝並不新增任何內容。市場新增後,外掛程式的詳細資訊會開啟,您可以選擇[安裝範圍](/docs/zh-TW/settings#where-settings-live)。

399 

363<h2 id="manage-installed-plugins">400<h2 id="manage-installed-plugins">

364 管理已安裝的外掛程式401 管理已安裝的外掛程式

365</h2>402</h2>


372* 輸入以按外掛程式名稱或描述篩選409* 輸入以按外掛程式名稱或描述篩選

373* 按 Enter 以開啟外掛程式的詳細檢視並啟用、停用或解除安裝它410* 按 Enter 以開啟外掛程式的詳細檢視並啟用、停用或解除安裝它

374 411 

412Claude Code 也會在 **Installed** 標籤中列出[從您的 claude.ai 帳戶同步的外掛程式](/docs/zh-TW/plugins-reference#synced-plugins),其來源為 `synced`。除非您的組織將其標記為必需,否則您可以在那裡啟用或停用一個。若要移除一個,請在 claude.ai 上將其關閉。同步的外掛程式會出現在 Claude Code v2.1.273 或更新版本的終端工作階段中。

413 

375當您解除安裝專案的 `.claude/settings.json` 啟用的外掛程式時,Claude Code 會詢問您指的是哪個範圍:僅為您停用它,這會將覆寫寫入您的 `.claude/settings.local.json` 並為專案保留已安裝的外掛程式,或為所有人解除安裝它,這會將其從共用的 `.claude/settings.json` 中移除。414當您解除安裝專案的 `.claude/settings.json` 啟用的外掛程式時,Claude Code 會詢問您指的是哪個範圍:僅為您停用它,這會將覆寫寫入您的 `.claude/settings.local.json` 並為專案保留已安裝的外掛程式,或為所有人解除安裝它,這會將其從共用的 `.claude/settings.json` 中移除。

376 415 

377詳細檢視會顯示外掛程式貢獻的元件:commands、skills、agents、hooks、MCP servers 和 LSP servers。相同的清單也可從命令列透過 `claude plugin details` 取得。416詳細檢視會顯示外掛程式貢獻的元件:commands、skills、agents、hooks、MCP servers 和 LSP servers。相同的清單也可從命令列透過 `claude plugin details` 取得。


444* 您在另一個終端中執行的 `claude plugin` 命令483* 您在另一個終端中執行的 `claude plugin` 命令

445* 您在開發時使用 [`--plugin-dir`](/docs/zh-TW/plugins#test-your-plugins-locally) 載入的外掛程式編輯484* 您在開發時使用 [`--plugin-dir`](/docs/zh-TW/plugins#test-your-plugins-locally) 載入的外掛程式編輯

446* 外掛程式[自動更新](#configure-auto-updates),其通知要求您重新載入485* 外掛程式[自動更新](#configure-auto-updates),其通知要求您重新載入

486* [從您的 claude.ai 帳戶同步](/docs/zh-TW/plugins-reference#synced-plugins),已新增、更新或移除外掛程式並顯示要求您重新載入的通知

447* [`--plugin-dir` 資料夾](/docs/zh-TW/plugins#test-your-plugins-locally)中的變更,Claude Code 保留該變更是因為套用它會使提示快取失效487* [`--plugin-dir` 資料夾](/docs/zh-TW/plugins#test-your-plugins-locally)中的變更,Claude Code 保留該變更是因為套用它會使提示快取失效

448 488 

449在 v2.1.268 之前,您在選單中啟用、停用或解除安裝的外掛程式,以及在安裝期間未啟動的安裝,會保持待處理狀態,直到您執行 `/reload-plugins`。489在 v2.1.268 之前,您在選單中啟用、停用或解除安裝的外掛程式,以及在安裝期間未啟動的安裝,會保持待處理狀態,直到您執行 `/reload-plugins`。

450 490 

451`/reload-plugins` 也在沒有互動式終端的工作階段中執行,例如桌面應用程式、Agent SDK 和 [非互動模式](/docs/zh-TW/headless)(使用 `-p`)。需要 Claude Code v2.1.260 或更新版本。在這些工作階段中適用兩個限制:491`/reload-plugins` 也在沒有互動式終端的工作階段中執行,例如桌面應用程式、Agent SDK 和[非互動模式](/docs/zh-TW/headless)(使用 `-p`)。需要 Claude Code v2.1.260 或更新版本。在這些工作階段中適用兩個限制:

452 492 

453* 命令僅在您直接將其輸入到工作階段時執行,例如在 `-p` 提示或桌面應用程式的提示框中。當您改為透過遠端連線傳送它時,例如 [Remote Control](/docs/zh-TW/remote-control) 或轉接的聊天訊息,命令會拒絕而不重新載入任何內容。493* 命令僅在您直接將其輸入到工作階段時執行,例如在 `-p` 提示或桌面應用程式的提示框中。當您改為透過遠端連線傳送它時,例如 [Remote Control](/docs/zh-TW/remote-control) 或轉接的聊天訊息,命令會拒絕而不重新載入任何內容。

454* 重新載入不會連線或斷開外掛程式 MCP servers。這些變更會在您的下一個工作階段中生效。494* 重新載入不會連線或斷開外掛程式 MCP servers。這些變更會在您的下一個工作階段中生效。

455 495 

456Claude Code 重新載入所有活動外掛程式,並顯示外掛程式、skills、agents、hooks、外掛程式 MCP servers 和外掛程式 LSP servers 的計數,在沒有互動式終端的工作階段中省略外掛程式 MCP server 計數。在 skills 計數中,Claude Code 包括外掛程式提供的每個 skill:其 `commands/` 項目和 `SKILL.md` skills。在 v2.1.246 之前,Claude Code 僅計算 `commands/` 項目,因此它可以重新載入外掛程式的 `SKILL.md` skills 並仍然在摘要中報告 `0 skills`。496Claude Code 重新載入所有活動外掛程式,並顯示外掛程式、skills、agents、hooks、外掛程式 MCP servers 和外掛程式 LSP servers 的計數,在沒有互動式終端的工作階段中省略外掛程式 MCP server 計數。在 skills 計數中,Claude Code 包括外掛程式提供的每個 skill:其 `commands/` 項目和 `SKILL.md` skills。在 v2.1.246 之前,Claude Code 僅計算 `commands/` 項目,因此它可以重新載入外掛程式的 `SKILL.md` skills 並仍然在摘要中報告 `0 skills`。

457 497 

458重新載入在下一個請求時會產生令牌成本:新載入的元件會在附加到對話的內容中宣佈自己,而現有歷史記錄仍然從提示快取讀取。提供 MCP servers 的外掛程式在其工具未被 [tool search](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 延遲時成本更高:該變更會使快取失效,下一個請求會重新讀取整個對話。請參閱 [啟用或停用外掛程式](/docs/zh-TW/prompt-caching#enabling-or-disabling-a-plugin) 以取得詳細資訊。498重新載入在下一個請求時會產生令牌成本:新載入的元件會在附加到對話的內容中宣佈自己,而現有歷史記錄仍然從提示快取讀取。提供 MCP servers 的外掛程式在其工具未被 [tool search](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 延遲時成本更高:該變更會使快取失效,下一個請求會重新讀取整個對話。請參閱[啟用或停用外掛程式](/docs/zh-TW/prompt-caching#enabling-or-disabling-a-plugin)以取得詳細資訊。

459 499 

460<h2 id="manage-marketplaces">500<h2 id="manage-marketplaces">

461 管理市場501 管理市場


5213. 從清單中選擇市場5613. 從清單中選擇市場

5224. 選擇 **Enable auto-update** 或 **Disable auto-update**5624. 選擇 **Enable auto-update** 或 **Disable auto-update**

523 563 

524`claude-plugins-official` 和大多數其他官方 Anthropic 市場預設啟用自動更新。第三方和本機開發市場預設停用自動更新。564`claude-plugins-official`、大多數其他官方 Anthropic 市場,以及[從 claude.ai 新增的市場](#add-from-claude-ai)預設啟用自動更新。其他第三方市場和本機開發市場預設停用自動更新。

525 565 

526管理員也可以在受管設定中的每個 [`extraKnownMarketplaces`](/docs/zh-TW/settings-reference#extraknownmarketplaces) 項目上設定 `"autoUpdate": true`,以為組織市場啟用自動更新,而無需每個使用者都切換它。566管理員也可以在受管設定中的每個 [`extraKnownMarketplaces`](/docs/zh-TW/settings-reference#extraknownmarketplaces) 項目上設定 `"autoUpdate": true`,以為組織市場啟用自動更新,而無需每個使用者都切換它。

527 567 

env-vars.md +253 −244

Details

124 變數124 變數

125</h2>125</h2>

126 126 

127數值變數(例如逾時、權杖預算和重試次數)除了接受純數字外,還接受科學記號法和數字分隔符拼寫,除非變數的列表註記它只接受純數字。例如,Claude Code 將 `2e3` 讀作 2000,將 `64_000` 讀作 64000。在 v2.1.211 之前,這些拼寫可能會無聲地設定一個更小的值,例如 `1e6` 將逾時設定為 1。127數值變數(例如逾時、權杖預算和重試次數)除了接受純數字外,還接受科學記號和數字分隔符拼寫,除非變數的列說明它只接受純數字。例如,Claude Code 將 `2e3` 讀作 2000,將 `64_000` 讀作 64000。在 v2.1.211 之前,這些拼寫可能會無聲地設定一個更小的值,例如 `1e6` 將逾時設定為 1。

128 128 

129<Note>129<Note>

130 對於開啟或關閉行為的變數,設定 `1` 或 `true` 以開啟,設定 `0` 或 `false` 以關閉,不分大小寫。130 對於開啟或關閉行為的變數,設定 `1` 或 `true` 以開啟,設定 `0` 或 `false` 以關閉,不分大小寫。


138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`139 * `IS_DEMO`

140 140 

141 另一個變數有自己的規則:`FORCE_HYPERLINK` 讀取一個數字,所以只有 `0` 會關閉它。每個變數的列表也說明了自己的規則。141 另一個變數有自己的規則:`FORCE_HYPERLINK` 讀取一個數字,所以只有 `0` 會關閉它。每個變數的列也說明了它自己的規則。

142</Note>142</Note>

143 143 

144| 變數 | 用途 |144| 變數 | 用途 |

145| :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

146| `ANTHROPIC_API_KEY` | 作為 `X-Api-Key` 標頭傳送的 API 金鑰。設定時,即使您已登入,此金鑰也會用於代替您的 Claude Pro、Max、Team 或 Enterprise 訂閱。在非互動模式 (`-p`) 中,金鑰存在時始終使用。在互動模式中,系統會提示您在金鑰覆蓋訂閱之前批准一次。若要改用您的訂閱,請執行 `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | 作為 `X-Api-Key` 標頭傳送的 API 金鑰。設定時,即使您已登入,此金鑰也會用於代替您的 Claude Pro、Max、Team 或 Enterprise 訂閱。在非互動模式 (`-p`) 中,金鑰存在時始終使用。在互動模式中,系統會提示您在金鑰覆蓋訂閱之前批准一次。若要改用您的訂閱,請執行 `unset ANTHROPIC_API_KEY` |

147| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 標頭的自訂值(您在此設定的值將以 `Bearer ` 為前綴) |147| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 標頭的自訂值(您設定的值將以 `Bearer ` 為前綴) |

148| `ANTHROPIC_AWS_API_KEY` | [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 的工作區 API 金鑰,在 AWS 主控台中產生。作為 `x-api-key` 傳送,優先於 AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 的工作區 API 金鑰,在 AWS 主控台中產生。作為 `x-api-key` 傳送,優先於 AWS SigV4 |

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

150| `ANTHROPIC_AWS_WORKSPACE_ID` | [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 所需。在每個請求上作為 `anthropic-workspace-id` 標頭傳送 |150| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 所需。在每個請求上作為 `anthropic-workspace-id` 標頭傳送 |

151| `ANTHROPIC_BASE_URL` | 覆蓋 API 端點以透過代理或閘道路由請求。設定為非第一方主機時,[MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 預設停用。如果您的代理轉發 `tool_reference` 區塊,請設定 `ENABLE_TOOL_SEARCH=true`。從 v2.1.196 開始,當此指向 `api.anthropic.com` 以外的主機時,[Remote Control](/docs/zh-TW/remote-control#requirements) 停用,與其在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的行為相符 |151| `ANTHROPIC_BASE_URL` | 覆蓋 API 端點以透過代理或閘道路由請求。設定為非第一方主機時,[MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 預設停用。如果您的代理轉發 `tool_reference` 區塊,請設定 `ENABLE_TOOL_SEARCH=true`。自 v2.1.196 起,當此指向 `api.anthropic.com` 以外的主機時,[Remote Control](/docs/zh-TW/remote-control#requirements) 被停用,與其在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上的行為相符 |

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

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

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

155| `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](/docs/zh-TW/amazon-bedrock#service-tiers) |155| `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](/docs/zh-TW/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | 逗號分隔的其他 `anthropic-beta` 標頭值清單,以包含在 API 請求中。Claude Code 已傳送它需要的測試版標頭;在 Claude Code 新增原生支援之前,使用此選項加入 [Anthropic API 測試版](https://platform.claude.com/docs/en/api/beta-headers)。與 [`--betas` 旗標](/docs/zh-TW/cli-reference#cli-flags)(需要 API 金鑰驗證)不同,此變數適用於所有驗證方法,包括 Claude.ai 訂閱 |156| `ANTHROPIC_BETAS` | 逗號分隔的其他 `anthropic-beta` 標頭值列表,以包含在 API 請求中。Claude Code 已傳送它需要的測試版標頭;在 Claude Code 新增原生支援之前,使用此變數選擇加入 [Anthropic API 測試版](https://platform.claude.com/docs/en/api/beta-headers)。與 [`--betas` 旗標](/docs/zh-TW/cli-reference#cli-flags)(需要 API 金鑰驗證)不同,此變數適用於所有驗證方法,包括 Claude.ai 訂閱 |

157| `ANTHROPIC_CUSTOM_HEADERS` | 要新增至請求的自訂標頭(`Name: Value` 格式,多個標頭以換行符分隔)。如果名稱或值包含 HTTP 標頭無法攜帶的字元(例如彎引號或零寬空格),請求會失敗並出現錯誤,該錯誤按位置識別該對。需要 Claude Code v2.1.227 或更新版本。[無效的請求標頭值](/docs/zh-TW/errors#invalid-request-header-value) 列出確切的字元集和檢查執行的位置。設定認證、組織或租戶、路由或 API 行為標頭(例如 `Authorization` 或 `Host`)的值在伺服器管理的設定傳遞時計為 [需要批准的設定](/docs/zh-TW/server-managed-settings#environment-variables-and-the-approval-dialog)。從專案或本機設定,此類值遵循 [何時應用 `env` 值的規則](/docs/zh-TW/settings-reference#when-claude-code-applies-env-values) |157| `ANTHROPIC_CUSTOM_HEADERS` | 要新增至請求的自訂標頭(`Name: Value` 格式,多個標頭以換行符分隔)。如果名稱或值包含 HTTP 標頭無法攜帶的字元(例如彎引號或零寬空格),請求會失敗並出現錯誤,該錯誤按位置識別該對。需要 Claude Code v2.1.227 或更新版本。[無效的請求標頭值](/docs/zh-TW/errors#invalid-request-header-value) 列出確切的字元集和檢查執行的位置。設定認證、組織或租戶、路由或 API 行為標頭(例如 `Authorization` 或 `Host`)的值在伺服器管理的設定傳遞時計為 [需要批准的設定](/docs/zh-TW/server-managed-settings#environment-variables-and-the-approval-dialog)。從專案或本機設定,此類值遵循 [何時應用 `env` 值的規則](/docs/zh-TW/settings-reference#when-claude-code-applies-env-values) |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | 要在 `/model` 選擇器中新增為自訂項目的模型 ID。使用此選項可使非標準或閘道特定的模型可選,而無需取代內建別名。請參閱 [模型設定](/docs/zh-TW/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | 模型 ID,作為自訂項目新增至 `/model` 選擇器。使用此選項可以選擇非標準或閘道特定的模型,而無需替換內建別名。請參閱 [模型配置](/docs/zh-TW/model-config#add-a-custom-model-option) |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | `/model` 選擇器中自訂模型項目的顯示說明。未設定時預設為 `Custom model (<model-id>)` |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | `/model` 選擇器中自訂模型項目的顯示說明。未設定時預設為 `Custom model (<model-id>)` |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 選擇器中自訂模型項目的顯示名稱。未設定時,如果 Claude Code [識別 ID](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities),項目會顯示模型的名稱,否則顯示模型 ID |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 選擇器中自訂模型項目的顯示名稱。未設定時,如果 Claude Code [識別 ID](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities),項目會顯示模型的名稱,否則顯示模型 ID |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | 自訂模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔清單,例如 `effort,thinking`。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | 自訂模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔列表,例如 `effort,thinking`。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable` 別名解析為的模型 ID,以及 Claude Code 識別為 Fable 模型的 ID,用於第三方提供者上的 [自動模型回退](/docs/zh-TW/model-config#automatic-model-fallback)。請參閱 [模型設定](/docs/zh-TW/model-config#environment-variables) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable` 別名解析為的模型 ID,以及 Claude Code 識別為 Fable 模型的 ID,用於第三方提供者上的 [自動模型回退](/docs/zh-TW/model-config#automatic-model-fallback)。請參閱 [模型配置](/docs/zh-TW/model-config#environment-variables) |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Fable 模型的顯示說明。未設定時,列表顯示以 `Custom Fable model` 開頭的預設說明。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Fable 模型的顯示說明。未設定時,列會顯示以 `Custom Fable model` 開頭的預設說明。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | `/model` 選擇器中釘選 Fable 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列表顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | `/model` 選擇器中釘選 Fable 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列會顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Fable 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔清單,例如 `effort,thinking`。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Fable 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔列表,例如 `effort,thinking`。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 別名解析為的模型 ID,也用於 [背景功能](/docs/zh-TW/costs#background-token-usage)。請參閱 [模型設定](/docs/zh-TW/model-config#environment-variables) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 別名解析為的模型 ID,也用於 [背景功能](/docs/zh-TW/costs#background-token-usage)。請參閱 [模型配置](/docs/zh-TW/model-config#environment-variables) |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Haiku 模型的顯示說明。未設定時,列表顯示以 `Custom Haiku model` 開頭的預設說明。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Haiku 模型的顯示說明。未設定時,列會顯示以 `Custom Haiku model` 開頭的預設說明。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | `/model` 選擇器中釘選 Haiku 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列表顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | `/model` 選擇器中釘選 Haiku 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列會顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Haiku 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔清單,例如 `effort,thinking`。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Haiku 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔列表,例如 `effort,thinking`。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_MODEL` | 新工作階段預設啟動的模型。需要 Claude Code v2.1.236 或更新版本。請參閱 [為新工作階段設定預設模型](/docs/zh-TW/model-config#set-a-default-model-for-new-sessions) |170| `ANTHROPIC_DEFAULT_MODEL` | 新工作階段預設啟動的模型。需要 Claude Code v2.1.236 或更新版本。請參閱 [為新工作階段設定預設模型](/docs/zh-TW/model-config#set-a-default-model-for-new-sessions) |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` 別名解析為的模型 ID,以及 Plan Mode 啟用時 `opusplan` 使用的模型 ID。請參閱 [模型設定](/docs/zh-TW/model-config#environment-variables) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` 別名解析為的模型 ID,以及 Plan Mode 啟用時 `opusplan` 使用的模型 ID。請參閱 [模型配置](/docs/zh-TW/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Opus 模型的顯示說明。未設定時,列表顯示以 `Custom Opus model` 開頭的預設說明。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Opus 模型的顯示說明。未設定時,列會顯示以 `Custom Opus model` 開頭的預設說明。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 選擇器中釘選 Opus 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列表顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 選擇器中釘選 Opus 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列會顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Opus 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔清單,例如 `effort,thinking`。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Opus 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔列表,例如 `effort,thinking`。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` 別名解析為的模型 ID,以及 Plan Mode 未啟用時 `opusplan` 使用的模型 ID。請參閱 [模型設定](/docs/zh-TW/model-config#environment-variables) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` 別名解析為的模型 ID,以及 Plan Mode 未啟用時 `opusplan` 使用的模型 ID。請參閱 [模型配置](/docs/zh-TW/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Sonnet 模型的顯示說明。未設定時,列表顯示以 `Custom Sonnet model` 開頭的預設說明。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | `/model` 選擇器中釘選 Sonnet 模型的顯示說明。未設定時,列會顯示以 `Custom Sonnet model` 開頭的預設說明。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | `/model` 選擇器中釘選 Sonnet 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列表顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | `/model` 選擇器中釘選 Sonnet 模型的顯示名稱。未設定時,如果 Claude Code 識別釘選 ID,列會顯示模型的名稱,否則顯示釘選 ID。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Sonnet 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔清單,例如 `effort,thinking`。請參閱 [模型設定](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | 釘選 Sonnet 模型支援的 [功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) 的逗號分隔列表,例如 `effort,thinking`。請參閱 [模型配置](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_FEDERATION_RULE_ID` | [工作負載身份聯盟](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的聯盟規則 ID。與 `ANTHROPIC_ORGANIZATION_ID` 一起設定時,Claude Code 選擇聯盟認證,其優先順序高於您的 `/login` 認證。請參閱 [驗證優先順序](/docs/zh-TW/authentication#authentication-precedence) |179| `ANTHROPIC_FEDERATION_RULE_ID` | [工作負載身份聯盟](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的聯盟規則 ID。與 `ANTHROPIC_ORGANIZATION_ID` 一起設定時,Claude Code 選擇聯盟認證,其優先順序高於您的 `/login` 認證。請參閱 [驗證優先順序](/docs/zh-TW/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | Microsoft Foundry 驗證的 API 金鑰(請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | Microsoft Foundry 驗證的 API 金鑰(請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)) |

181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Microsoft Foundry 驗證的持有人權杖,例如 Microsoft Entra 存取權杖。Claude Code 將其作為 `Authorization: Bearer` 標頭傳送。優先於 `ANTHROPIC_FOUNDRY_API_KEY` 和 Azure 預設認證鏈。請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)。需要 Claude Code v2.1.203 或更新版本 |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Microsoft Foundry 驗證的持有人權杖,例如 Microsoft Entra 存取權杖。Claude Code 將其作為 `Authorization: Bearer` 標頭傳送。優先於 `ANTHROPIC_FOUNDRY_API_KEY` 和 Azure 預設認證鏈。請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)。需要 Claude Code v2.1.203 或更新版本 |

182| `ANTHROPIC_FOUNDRY_BASE_URL` | Microsoft Foundry 資源的完整基礎 URL(例如 `https://my-resource.services.ai.azure.com/anthropic`)。`ANTHROPIC_FOUNDRY_RESOURCE` 的替代方案(請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | Microsoft Foundry 資源的完整基礎 URL(例如 `https://my-resource.services.ai.azure.com/anthropic`)。`ANTHROPIC_FOUNDRY_RESOURCE` 的替代方案(請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 資源名稱(例如 `my-resource`)。如果未設定 `ANTHROPIC_FOUNDRY_BASE_URL`,則為必需(請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 資源名稱(例如 `my-resource`)。如果未設定 `ANTHROPIC_FOUNDRY_BASE_URL`,則為必需(請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | 要使用的模型設定名稱(請參閱 [模型設定](/docs/zh-TW/model-config#environment-variables)) |184| `ANTHROPIC_MODEL` | 要使用的模型設定名稱(請參閱 [模型配置](/docs/zh-TW/model-config#environment-variables)) |

185| `ANTHROPIC_ORGANIZATION_ID` | [工作負載身份聯盟](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的組織 ID。與 `ANTHROPIC_FEDERATION_RULE_ID` 一起設定。請參閱 [驗證優先順序](/docs/zh-TW/authentication#authentication-precedence) |185| `ANTHROPIC_ORGANIZATION_ID` | [工作負載身份聯盟](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的組織 ID。與 `ANTHROPIC_FEDERATION_RULE_ID` 一起設定。請參閱 [驗證優先順序](/docs/zh-TW/authentication#authentication-precedence) |

186| `ANTHROPIC_PROFILE` | 要驗證的 Anthropic 設定檔名稱,例如由 [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) 建立的或透過 [登入主控台帳戶而不使用 API 金鑰](/docs/zh-TW/authentication#sign-in-without-an-api-key)。請參閱 [驗證優先順序](/docs/zh-TW/authentication#authentication-precedence) |186| `ANTHROPIC_PROFILE` | 要驗證的 Anthropic 設定檔名稱,例如由 [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) 建立的或透過 [登入沒有 API 金鑰的主控台帳戶](/docs/zh-TW/authentication#sign-in-without-an-api-key) 建立的。請參閱 [驗證優先順序](/docs/zh-TW/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[已棄用] [背景工作的 Haiku 級模型](/docs/zh-TW/costs) 的名稱 |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[已棄用] [背景工作的 Haiku 級模型](/docs/zh-TW/costs) 的名稱 |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 時,覆蓋 Haiku 級模型的 AWS 區域。在 Amazon Bedrock 上,只有在同時設定 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已棄用的 `ANTHROPIC_SMALL_FAST_MODEL` 時,此才會生效,因為 Amazon Bedrock 否則會在工作階段區域中的 [預設 Sonnet 模型或主要模型](/docs/zh-TW/amazon-bedrock#4-pin-model-versions) 上執行背景工作 |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 時,覆蓋 Haiku 級模型的 AWS 區域。在 Amazon Bedrock 上,只有在同時設定 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已棄用的 `ANTHROPIC_SMALL_FAST_MODEL` 時,此設定才會生效,因為 Amazon Bedrock 否則會在 [預設 Sonnet 模型或工作階段區域中的主要模型](/docs/zh-TW/amazon-bedrock#4-pin-model-versions) 上執行背景工作 |

189| `ANTHROPIC_VERTEX_BASE_URL` | 覆蓋 Google Cloud 的 Agent Platform 端點 URL。用於自訂 Google Cloud 的 Agent Platform 端點或透過 [LLM 閘道](/docs/zh-TW/llm-gateway) 路由時。請參閱 [Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | 覆蓋 Google Cloud's Agent Platform 端點 URL。用於自訂 Google Cloud's Agent Platform 端點或透過 [LLM 閘道](/docs/zh-TW/llm-gateway) 路由時。請參閱 [Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) |

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

191| `ANTHROPIC_WORKSPACE_ID` | [工作負載身份聯盟](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作區 ID。當您的聯盟規則範圍涵蓋多個工作區時設定此項,以便權杖交換知道要定位哪個工作區 |191| `ANTHROPIC_WORKSPACE_ID` | [工作負載身份聯盟](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作區 ID。當您的聯盟規則範圍涵蓋多個工作區時設定此項,以便權杖交換知道要定位哪個工作區 |

192| `API_FORCE_IDLE_TIMEOUT` | 覆蓋 5 分鐘的主體閒置逾時,該逾時在沒有位元組到達時中止串流模型回應。設定為 `0` 以關閉逾時,例如當緩慢的 [閘道](/docs/zh-TW/llm-gateway) 或本機模型在區塊之間暫停超過 5 分鐘時,或 `1` 以為每個提供者保持開啟。未設定時,逾時在直接 Anthropic API 和 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 以外的提供者上啟用。[串流監視狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) 獨立執行,即使您在此設定 `0`,也會中止長時間的無聲暫停 |192| `API_FORCE_IDLE_TIMEOUT` | 覆蓋 5 分鐘的主體閒置逾時,該逾時在沒有位元組到達時中止串流模型回應。設定為 `0` 以關閉逾時,例如當緩慢的 [閘道](/docs/zh-TW/llm-gateway) 或本機模型在區塊之間暫停超過 5 分鐘時,或設定為 `1` 以為每個提供者保持開啟。未設定時,逾時在除直接 Anthropic API 和 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 以外的提供者上啟用。[串流看門狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) 獨立執行,即使您在此設定 `0`,也會中止長時間的無聲暫停 |

193| `API_TIMEOUT_MS` | API 請求的逾時(毫秒)(預設值:600000,或 10 分鐘;最大值:2147483647)。在慢速網路上或透過代理路由時請求逾時時增加此值。超過最大值的值會溢出基礎計時器並導致請求立即失敗 |193| `API_TIMEOUT_MS` | API 請求的逾時(毫秒)(預設:600000,或 10 分鐘;最大:2147483647)。在緩慢網路上或透過代理路由時請求逾時,請增加此值。超過最大值的值會溢出基礎計時器,導致請求立即失敗 |

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

195| `BASH_DEFAULT_TIMEOUT_MS` | 長時間執行的 bash 命令的預設逾時(預設值:120000,或 2 分鐘) |195| `BASH_DEFAULT_TIMEOUT_MS` | 長時間執行 bash 命令的預設逾時(預設:120000,或 2 分鐘) |

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

197| `BASH_MAX_TIMEOUT_MS` | 模型可為長時間執行的 bash 命令設定的最大逾時(預設值:600000,或 10 分鐘)。有效的上限是此值和 `BASH_DEFAULT_TIMEOUT_MS` 中的較大值 |197| `BASH_MAX_TIMEOUT_MS` | 模型可以為長時間執行的 bash 命令設定的最大逾時(預設:600000,或 10 分鐘)。有效的上限是此值和 `BASH_DEFAULT_TIMEOUT_MS` 中的較大者 |

198| `BETA_TRACING_ENDPOINT` | [詳細測試版追蹤](/docs/zh-TW/monitoring-usage#traces-beta) 的 OTLP 端點:使用 `ENABLE_BETA_TRACING_DETAILED=1`,日誌和追蹤會傳送到那裡,而不是配置的匯出器。在您的 shell、使用者設定或受管設定中設定。在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中忽略 |198| `BETA_TRACING_ENDPOINT` | [詳細測試版追蹤](/docs/zh-TW/monitoring-usage#traces-beta) 的 OTLP 端點:使用 `ENABLE_BETA_TRACING_DETAILED=1`,日誌和追蹤會傳送到那裡而不是配置的匯出器。在您的 shell、使用者設定或受管設定中設定。在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中被忽略 |

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

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

201| `CLAUDE_AFK_COUNTDOWN_MS` | 自動繼續前,螢幕上倒數計時出現在未回答的 [`AskUserQuestion`](/docs/zh-TW/tools-reference) 對話上的毫秒數。預設 `20000`(20 秒),上限為自動繼續逾時。除非自動繼續開啟,否則無效;請參閱 [`askUserQuestionTimeout`](/docs/zh-TW/settings-reference#askuserquestiontimeout) 設定和 `CLAUDE_AFK_TIMEOUT_MS`。需要 Claude Code v2.1.198 或更新版本 |201| `CLAUDE_AFK_COUNTDOWN_MS` | 自動繼續前,螢幕上倒數計時出現在未回答的 [`AskUserQuestion`](/docs/zh-TW/tools-reference) 對話框上的毫秒數。預設 `20000`(20 秒),上限為自動繼續逾時。除非自動繼續開啟,否則無效;請參閱 [`askUserQuestionTimeout`](/docs/zh-TW/settings-reference#askuserquestiontimeout) 設定和 `CLAUDE_AFK_TIMEOUT_MS`。需要 Claude Code v2.1.198 或更新版本 |

202| `CLAUDE_AFK_TIMEOUT_MS` | 未回答的 [`AskUserQuestion`](/docs/zh-TW/tools-reference) 對話在沒有您的情況下自動繼續之前的閒置時間(毫秒)。自動繼續預設關閉;使用 [`askUserQuestionTimeout`](/docs/zh-TW/settings-reference#askuserquestiontimeout) 設定加入。此變數是演示和自動化測試的覆蓋:設定時,它優先於該設定並開啟自動繼續,即使設定未設定或 `never`。設定 `0` 不會關閉逾時;它會立即關閉對話。在 v2.1.198 和 v2.1.199 中,自動繼續預設開啟,逾時為 `60000`(60 秒)。需要 Claude Code v2.1.198 或更新版本 |202| `CLAUDE_AFK_TIMEOUT_MS` | 未回答的 [`AskUserQuestion`](/docs/zh-TW/tools-reference) 對話框在沒有您的情況下自動繼續之前的閒置時間(毫秒)。自動繼續預設關閉;使用 [`askUserQuestionTimeout`](/docs/zh-TW/settings-reference#askuserquestiontimeout) 設定選擇加入。此變數是演示和自動化測試的覆蓋:設定時,它優先於該設定,即使設定未設定或為 `never`,也會開啟自動繼續。設定 `0` 不會關閉逾時;它會立即關閉對話框。在 v2.1.198 和 v2.1.199 中,自動繼續預設開啟,逾時為 `60000`(60 秒)。需要 Claude Code v2.1.198 或更新版本 |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 設定為 `1` 以停用所有內建 [子代理](/docs/zh-TW/sub-agents) 類型,例如 Explore 和 Plan。僅適用於非互動模式(`-p` 旗標)。對於想要空白狀態的 SDK 使用者很有用。這也會移除 `general-purpose`,即當 Agent 工具呼叫省略 `subagent_type` 時 Claude Code 執行的子代理。此類呼叫隨後會失敗,並出現 [`subagent_type is required`](/docs/zh-TW/errors#subagent-type-is-required) |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 設定為 `1` 以停用所有內建 [子代理](/docs/zh-TW/sub-agents) 類型,例如 Explore 和 Plan。僅適用於非互動模式(`-p` 旗標)。對於想要空白狀態的 SDK 使用者很有用。這也會移除 `general-purpose`,即當 Agent 工具呼叫省略 `subagent_type` 時 Claude Code 執行的子代理。此類呼叫隨後會失敗,並出現 [`subagent_type is required`](/docs/zh-TW/errors#subagent-type-is-required) |

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

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | 子代理的停滯逾時(毫秒)。預設 `600000`(10 分鐘);如果您在串流監視狗開啟時提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,預設值會隨之上升,如 [處理緩慢或停滯的 API 回應](/docs/zh-TW/agent-sdk/typescript#handle-slow-or-stalled-api-responses) 所述。計時器在每個串流進度事件上重設;如果在視窗內沒有進度到達,Claude Code 會中止子代理並向父代報告停滯 |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | 子代理的停滯逾時(毫秒)。預設 `600000`(10 分鐘);如果您在串流看門狗開啟時提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,預設會隨之上升,如 [處理緩慢或停滯的 API 回應](/docs/zh-TW/agent-sdk/typescript#handle-slow-or-stalled-api-responses) 所述。計時器在每個串流進度事件上重設;如果在視窗內沒有進度到達,Claude Code 會中止子代理並向父代報告停滯 |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 設定自動壓縮視窗的百分比(1-100),自動壓縮在該百分比觸發。使用較低的值(如 `50`)以更早壓縮;變數無法提高閾值,因此高於預設百分比的值會被忽略。它僅適用於在模型的上下文限制之前 [壓縮的工作階段](/docs/zh-TW/model-config#context-window-and-auto-compaction)。適用於主要對話和子代理 |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 設定自動壓縮視窗的百分比(1-100),自動壓縮在該百分比觸發。使用較低的值(如 `50`)以更早壓縮;變數無法提高閾值,因此高於預設百分比的值會被忽略。它僅適用於在模型的上下文限制之前 [壓縮](/docs/zh-TW/model-config#context-window-and-auto-compaction) 的工作階段。適用於主要對話和子代理 |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | 設定為 `1` 以強制啟用長時間執行的代理工作的自動背景化。啟用時,子代理在執行約兩分鐘後會移至背景。也在 Claude Code v2.1.212 或更新版本的非互動模式中啟用 [長 MCP 工具呼叫的自動背景化](/docs/zh-TW/mcp#automatic-backgrounding-of-long-tool-calls) |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | 設定為 `1` 以強制啟用長時間執行代理工作的自動背景化。啟用時,子代理在執行約兩分鐘後會移至背景。也在 Claude Code v2.1.212 或更新版本的非互動模式中啟用 [長 MCP 工具呼叫的自動背景化](/docs/zh-TW/mcp#automatic-backgrounding-of-long-tool-calls) |

208| `CLAUDE_AX_PREPARK_MS` | 在 [螢幕閱讀器模式](/docs/zh-TW/accessibility#what-your-screen-reader-hears) 中,Claude Code 在游標位於行首時等待的毫秒數,然後才寫入新的或變更的行。預設 `50`。設定 `0` 以立即寫入。Claude Code 將等待上限設為 `5000`。需要 Claude Code v2.1.233 或更新版本 |208| `CLAUDE_AX_PREPARK_MS` | 在 [螢幕閱讀器模式](/docs/zh-TW/accessibility#what-your-screen-reader-hears) 中,Claude Code 在游標位於行首時等待的毫秒數,然後才寫入新的或變更的行。預設 `50`。設定 `0` 以立即寫入。Claude Code 將等待上限設定為 `5000`。需要 Claude Code v2.1.233 或更新版本 |

209| `CLAUDE_AX_SCREEN_READER` | 設定為 `1` 以呈現螢幕閱讀器友善的輸出:沒有裝飾邊框或動畫的平面文字。設定為 `0` 以強制關閉螢幕閱讀器模式,即使 [`axScreenReader`](/docs/zh-TW/settings-reference#axscreenreader) 為 `true`。[`--ax-screen-reader`](/docs/zh-TW/cli-reference#cli-flags) 旗標優先。需要 Claude Code v2.1.181 或更新版本 |209| `CLAUDE_AX_SCREEN_READER` | 設定為 `1` 以呈現螢幕閱讀器友善的輸出:沒有裝飾邊框或動畫的平面文字。設定為 `0` 以強制關閉螢幕閱讀器模式,即使 [`axScreenReader`](/docs/zh-TW/settings-reference#axscreenreader) 為 `true`。[`--ax-screen-reader`](/docs/zh-TW/cli-reference#cli-flags) 旗標優先。需要 Claude Code v2.1.181 或更新版本 |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | 在 [螢幕閱讀器模式](/docs/zh-TW/accessibility) 中,Claude Code 在啟動確認行後保持第一個介面呈現的毫秒數,以便您的螢幕閱讀器可以在新輸出中斷之前完整說出該行。預設 `3000`。設定 `0` 以立即呈現。Claude Code 將保持上限設為 `600000`(10 分鐘)。您的第一次按鍵會提前結束保持。需要 Claude Code v2.1.217 或更新版本 |210| `CLAUDE_AX_STARTUP_QUIET_MS` | 在 [螢幕閱讀器模式](/docs/zh-TW/accessibility) 中,Claude Code 在啟動確認行後保持第一個介面呈現的毫秒數,以便您的螢幕閱讀器可以在新輸出中斷之前完整說出該行。預設 `3000`。設定 `0` 以立即呈現。Claude Code 將保持上限設定為 `600000`(10 分鐘)。您的第一次按鍵會提前結束保持。需要 Claude Code v2.1.217 或更新版本 |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | 在主工作階段中每個 Bash 或 PowerShell 命令後返回原始工作目錄 |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | 在主工作階段中每個 Bash 或 PowerShell 命令後返回原始工作目錄 |

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | 位元組級串流閒置監視狗的逾時(毫秒);設定時,它優先於 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 用於該監視狗,並保持事件級監視狗不變。Claude Code 將此變數限制在 10 秒到 30 分鐘之間。需要 Claude Code v2.1.210 或更新版本 |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | 位元組級串流閒置看門狗的逾時(毫秒);設定時,它優先於 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 用於該看門狗,並保持事件級看門狗不變。Claude Code 將此變數限制在 10 秒到 30 分鐘之間。需要 Claude Code v2.1.210 或更新版本 |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | 外部工具(例如螢幕鎖定監聽器)在您解鎖螢幕時建立並在您鎖定螢幕時刪除的檔案路徑。檔案存在時,Claude Code 會跳過 [Remote Control 行動推送通知](/docs/zh-TW/remote-control#mobile-push-notifications),因此當您主動使用電腦時,您會停止接收推送。檔案不存在或無法讀取時,通知會正常傳送。Claude Code 每次推送觸發事件檢查一次檔案,而不是輪詢。需要 Claude Code v2.1.181 或更新版本 |213| `CLAUDE_CLIENT_PRESENCE_FILE` | 外部工具(例如螢幕鎖定監聽器)在您解鎖螢幕時建立並在您鎖定螢幕時刪除的檔案路徑。檔案存在時,Claude Code 會跳過 [Remote Control 行動推送通知](/docs/zh-TW/remote-control#mobile-push-notifications),因此您在主動使用電腦時不會收到推送。檔案不存在或無法讀取時,通知會正常傳送。Claude Code 每次推送觸發事件檢查一次檔案,而不是輪詢。需要 Claude Code v2.1.181 或更新版本 |

214| `CLAUDE_CODE_ACCESSIBILITY` | 設定為 `1` 以保持原生終端游標可見並停用反轉文字游標指示器。允許 macOS Zoom 等螢幕放大鏡追蹤游標位置 |214| `CLAUDE_CODE_ACCESSIBILITY` | 設定為 `1` 以保持原生終端游標可見並停用反轉文字游標指示器。允許 macOS Zoom 等螢幕放大鏡追蹤游標位置 |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | 設定為 `1` 以從使用 `--add-dir` 指定的目錄載入記憶體檔案。載入 `CLAUDE.md`、`.claude/CLAUDE.md`、`.claude/rules/*.md` 和 `CLAUDE.local.md`。預設情況下,其他目錄不載入記憶體檔案 |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | 設定為 `1` 以從使用 `--add-dir` 指定的目錄載入記憶體檔案。載入 `CLAUDE.md`、`.claude/CLAUDE.md`、`.claude/rules/*.md` 和 `CLAUDE.local.md`。預設情況下,其他目錄不載入記憶體檔案 |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | 設定為 `1` 以在 [全螢幕呈現](/docs/zh-TW/fullscreen) 中每幀重繪整個螢幕,而不是傳送增量更新。如果全螢幕模式顯示過時或錯位的文字片段,請使用此選項。Claude Code 在 Windows 上的背景工作階段和 [代理檢視](/docs/zh-TW/agent-view) 上自動啟用此功能 |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | 設定為 `1` 以在 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的每一幀上重新繪製整個螢幕,而不是傳送增量更新。如果全螢幕模式顯示過時或錯位的文字片段,請使用此選項。Claude Code 在 Windows 上的背景工作階段和 [代理檢視](/docs/zh-TW/agent-view) 上自動啟用此功能 |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | 設定為 `1` 以在每個請求中傳送 [effort](/docs/zh-TW/model-config#adjust-effort-level) 參數,即使 Claude Code 不識別模型 ID 為 effort 功能。在透過 [LLM 閘道](/docs/zh-TW/llm-gateway) 或第三方提供者以自訂識別碼提供模型時使用此選項。在 API 上拒絕 effort 參數的模型(包括 Claude 3 模型、Sonnet 4.0 和 4.5、Opus 4.0 和 4.1 以及 Haiku 4.5)仍被排除,因此請求不會失敗 |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | 設定為 `1` 以在每個請求中傳送 [effort](/docs/zh-TW/model-config#adjust-effort-level) 參數,即使 Claude Code 不識別模型 ID 為支援 effort。在透過 [LLM 閘道](/docs/zh-TW/llm-gateway) 或第三方提供者以自訂識別碼提供模型時使用。在 API 拒絕 effort 參數的模型(包括 Claude 3 模型、Sonnet 4.0 和 4.5、Opus 4.0 和 4.1 以及 Haiku 4.5)仍被排除,因此請求不會失敗 |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 應刷新認證的間隔(毫秒)(使用 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 時) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 應重新整理認證的間隔(毫秒)(使用 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 時) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 設定為 `0` 以停止 Claude Code 在發佈新 [artifact](/docs/zh-TW/artifacts#create-an-artifact) 時自動開啟瀏覽器 |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 設定為 `0` 以停止 Claude Code 在發佈新 [artifact](/docs/zh-TW/artifacts#create-an-artifact) 時自動開啟瀏覽器 |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | 設定為 `0` 以停止 Claude 讀取和回覆 [artifact 上的評論](/docs/zh-TW/artifacts#collect-comments-on-an-artifact)。當 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [關閉 artifact](/docs/zh-TW/artifacts#availability) 時無效。需要 Claude Code v2.1.221 或更新版本 |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | 設定為 `0` 以停止 Claude 讀取和回覆 [artifact 上的評論](/docs/zh-TW/artifacts#collect-comments-on-an-artifact)。當 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [關閉 artifact](/docs/zh-TW/artifacts#availability) 時無效。需要 Claude Code v2.1.221 或更新版本 |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | 設定為 `0` 以停止 Claude [自動回覆傳送給它的評論](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。需要 Claude Code v2.1.228 或更新版本 |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | 設定為 `0` 以停止 Claude [自動回覆傳送給它的評論](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。需要 Claude Code v2.1.228 或更新版本 |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 設定為 `0` 以省略 [歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block),該區塊在系統提示開始時攜帶用戶端版本和提示指紋。直接連線到 Anthropic API 的快取無論如何都不受影響。在某些直接連線設定中,Claude Code 在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器請求上保持區塊,即使您設定 `0`。在 [系統提示歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block) 中,檢查此涵蓋哪些連線和認證。在 v2.1.181 之前,該區塊在自訂基礎 URL 和 Microsoft Foundry 連線上包含每個請求的權杖,因此在這些版本上,當您的 LLM 閘道在請求主體上快取或將請求轉發給第三方提供者時,或當您直接連線到 Microsoft Foundry 時,將其設定為 `0` |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 設定為 `0` 以從系統提示的開頭省略 [歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block),該區塊攜帶用戶端版本和提示指紋。直接連線到 Anthropic API 的快取不受影響。在某些直接連線設定中,Claude Code 在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器請求上保持區塊,即使您設定 `0`。在 [系統提示歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block) 中,檢查此涵蓋哪些連線和認證。在 v2.1.181 之前,該區塊在自訂基礎 URL 和 Microsoft Foundry 連線上包含每個請求的權杖,因此在這些版本上,當您的 LLM 閘道在請求主體上快取或將請求轉發給第三方提供者時,或當您直接連線到 Microsoft Foundry 時,將其設定為 `0` |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | 啟用 `CLAUDE_AUTO_BACKGROUND_TASKS` 時,提醒 Claude 檢查仍在執行的 [背景子代理](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) 之間的秒數。僅接受 `1` 到 `86400` 的純整數;任何其他值或拼寫讀作未設定。未設定時,沒有檢查提醒。需要 Claude Code v2.1.248 或更新版本 |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | 啟用 `CLAUDE_AUTO_BACKGROUND_TASKS` 時,提醒 Claude 檢查仍在執行的 [背景子代理](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) 之間的秒數。僅接受 `1` 到 `86400` 的純整數;任何其他值或拼寫讀作未設定。未設定時,沒有檢查提醒。需要 Claude Code v2.1.248 或更新版本 |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 設定 [自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window)(權杖),從 `100000` 到 `1000000`。僅接受純整數(如 `500000`):像 `500k` 這樣的值讀作 `500` 並限制在 100K 最小值。有效視窗也上限為模型的上下文視窗。優先於 `/autocompact` 命令、`--autocompact` 旗標和 `autoCompactWindow` 設定。狀態列的 `used_percentage` 始終針對模型的完整上下文視窗進行測量,因此一旦設定此變數,該百分比不再指示何時會執行壓縮 |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 設定 [自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window)(權杖),從 `100000` 到 `1000000`。僅接受純整數(如 `500000`):像 `500k` 這樣的值讀作 `500` 並限制在 100K 最小值。有效視窗也上限為模型的上下文視窗。優先於 `/autocompact` 命令、`--autocompact` 旗標和 `autoCompactWindow` 設定。狀態列的 `used_percentage` 始終針對模型的完整上下文視窗進行測量,因此一旦設定此變數,該百分比不再指示何時會執行壓縮 |

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 覆蓋自動 [IDE 連線](/docs/zh-TW/vs-code)。預設情況下,Claude Code 在支援的 IDE 的整合終端內啟動時自動連線。設定為 `false` 以防止此情況。設定為 `true` 以在自動偵測失敗時強制連線嘗試,例如當 tmux 隱藏父終端時。優先於 [`autoConnectIde`](/docs/zh-TW/settings-reference#autoconnectide) 全域設定 |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 覆蓋自動 [IDE 連線](/docs/zh-TW/vs-code)。預設情況下,在支援的 IDE 的整合終端內啟動時,Claude Code 會自動連線。設定為 `false` 以防止此情況。設定為 `true` 以在自動偵測失敗時強制連線嘗試,例如當 tmux 隱藏父終端時。優先於 [`autoConnectIde`](/docs/zh-TW/settings-reference#autoconnectide) 全域配置設定 |

226| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code 等待 AWS 預設認證提供者鏈產生認證的時間(毫秒),然後請求失敗,並出現 [`AWS default-chain credential resolve timed out`](/docs/zh-TW/errors#aws-default-chain-credential-resolve-timed-out)(預設值:`60000`)。當鏈中的步驟合法需要更長時間時提高此值,例如透過 `aws-vault` 等包裝器進行基於瀏覽器的 SSO 登入(帶 MFA)。適用於 Claude Code 簽署預設鏈的任何地方:[Amazon Bedrock](/docs/zh-TW/amazon-bedrock#credential-caching-and-resolution-timeout)、[AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 和 [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint)。需要 Claude Code v2.1.207 或更新版本 |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | 在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上,設定為 `1` 以讓平台的伺服器端分類器檢查 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 動作;平台不執行分類器的地方,Claude Code 回退到自己的分類器請求。未設定或 `0` 時,分類器透過 Claude Code 本身傳送的請求執行。對其他提供者(包括 Anthropic API)無效。需要 Claude Code v2.1.271 或更新版本 |

227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code 等待 AWS 預設認證提供者鏈產生認證的時間(毫秒),然後請求失敗,並出現 [`AWS default-chain credential resolve timed out`](/docs/zh-TW/errors#aws-default-chain-credential-resolve-timed-out)(預設:`60000`)。當鏈中的步驟合法需要更長時間時提高此值,例如透過 `aws-vault` 等包裝器進行基於瀏覽器的 SSO 登入(帶 MFA)。適用於 Claude Code 使用預設鏈簽署的任何地方:[Amazon Bedrock](/docs/zh-TW/amazon-bedrock#credential-caching-and-resolution-timeout)、[Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 和 [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint)。需要 Claude Code v2.1.207 或更新版本 |

228| `CLAUDE_CODE_BASH_EDIT_DIFF` | 設定為 `0` 以關閉 [Bash 命令變更的檔案差異](/docs/zh-TW/hooks#bash),或設定為 `1` 以在每個權限模式中記錄。優先於 [`bashEditDiffEnabled`](/docs/zh-TW/settings-reference#basheditdiffenabled) 設定。需要 Claude Code v2.1.269 或更新版本 |

229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | 設定為 `0` 以使非互動工作階段在每個轉結束時向其主機報告閒置狀態,即使背景工作仍在執行。預設情況下,工作階段在背景工作(例如背景代理或 [工作流程](/docs/zh-TW/workflows) 執行)仍在進行時,保持在轉結束後報告執行狀態。這可防止監視狀態的主機(例如遠端工作階段清單)在工作中途宣佈 Claude 正在等待您的輸入。背景 shell 命令(例如開發伺服器)不保持執行狀態。執行狀態預設和 `0` 選擇退出需要 Claude Code v2.1.269 或更新版本;在較早版本上,設定 `1` 以保持執行狀態 |

227| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 在工作階段有活躍 [Remote Control](/docs/zh-TW/remote-control) 連線時,在 Bash 工具和 [hook 命令](/docs/zh-TW/hooks) 子程序中自動設定,連線結束時移除。值是工作階段在 `session_` 形式中的 ID,與出現在工作階段 `claude.ai/code` URL 中的識別碼相同,因此指令碼可以連結回執行它的工作階段。需要 Claude Code v2.1.199 或更新版本。在 [雲工作階段](/docs/zh-TW/claude-code-on-the-web) 中,改為讀取 `CLAUDE_CODE_REMOTE_SESSION_ID` |230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 在工作階段有活躍 [Remote Control](/docs/zh-TW/remote-control) 連線時,在 Bash 工具和 [hook 命令](/docs/zh-TW/hooks) 子程序中自動設定,連線結束時移除。值是工作階段在 `session_` 形式中的 ID,與出現在工作階段 `claude.ai/code` URL 中的識別碼相同,因此指令碼可以連結回執行它的工作階段。需要 Claude Code v2.1.199 或更新版本。在 [雲工作階段](/docs/zh-TW/claude-code-on-the-web) 中,改為讀取 `CLAUDE_CODE_REMOTE_SESSION_ID` |

228| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | 設定為 `0` 以使 Claude Code 將 `0x08` 位元組(也寫作 `^H`)讀作純 Backspace,或 `1` 以讀作 Ctrl+Backspace。任一值都會取代平台預設值。預設情況下,Claude Code 在 Windows 上將其讀作 Ctrl+Backspace,除非 `TERM_PROGRAM` 是 `mintty` 或 `TERM` 是 `cygwin`,在 macOS 和 Linux 上讀作純 Backspace。在 Windows 終端中設定 `0`,其中 [Backspace 刪除整個單詞](/docs/zh-TW/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | 設定為 `0` 以使 Claude Code 將 `0x08` 位元組(也寫作 `^H`)讀作純 Backspace,或設定為 `1` 以讀作 Ctrl+Backspace。任一值都會替換平台預設。預設情況下,Claude Code 在 Windows 上將其讀作 Ctrl+Backspace,除非 `TERM_PROGRAM` 是 `mintty` 或 `TERM` 是 `cygwin`,在 macOS 和 Linux 上讀作純 Backspace。在 Windows 終端中設定 `0`,其中 [Backspace 刪除整個單詞](/docs/zh-TW/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

229| `CLAUDE_CODE_CERT_STORE` | TLS 連線的 CA 憑證來源的逗號分隔清單。`bundled` 是隨 Claude Code 提供的 Mozilla CA 集。`system` 是作業系統信任存放區,僅在具有 `tls.getCACertificates` 的執行時上讀取:原生二進位檔或 npm 安裝的 Node 22.15 或更新版本。請參閱 [CA 憑證存放區](/docs/zh-TW/network-config#ca-certificate-store)。預設為 `bundled,system` |232| `CLAUDE_CODE_CERT_STORE` | TLS 連線的 CA 憑證來源的逗號分隔列表。`bundled` 是隨 Claude Code 提供的 Mozilla CA 集。`system` 是作業系統信任存放區,僅在具有 `tls.getCACertificates` 的執行時上讀取:原生二進位檔或 npm 安裝的 Node 22.15 或更新版本。請參閱 [CA 憑證存放區](/docs/zh-TW/network-config#ca-certificate-store)。預設為 `bundled,system` |

230| `CLAUDE_CODE_CHILD_SESSION` | 在 Claude Code 透過 Bash、PowerShell 和 Monitor 工具、[hook](/docs/zh-TW/hooks) 命令和 [狀態列](/docs/zh-TW/statusline) 命令產生的子程序中設定為 `1`。未針對 stdio [MCP 伺服器](/docs/zh-TW/mcp) 子程序設定,這些是長期存在的,並且超過產生它們的工作階段。與 `CLAUDECODE` 不同,這僅在 Claude Code 啟動子程序時由 Claude Code 本身設定,而不是由 IDE 擴充功能設定,因此它可靠地區分嵌套工作階段與在 IDE 整合終端中啟動的頂級 `claude`。以這種方式啟動的嵌套互動 `claude` TUI 會自動從 `--resume`、`--continue`、向上箭頭歷史記錄和 `claude agents` 清單中排除。非互動 `claude -p` 工作階段仍然持續。設定 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` 以覆蓋此排除。需要 Claude Code v2.1.172 或更新版本 |233| `CLAUDE_CODE_CHILD_SESSION` | 在 Claude Code 透過 Bash、PowerShell 和 Monitor 工具、[hook](/docs/zh-TW/hooks) 命令和 [狀態列](/docs/zh-TW/statusline) 命令產生的子程序中設定為 `1`。未針對 stdio [MCP 伺服器](/docs/zh-TW/mcp) 子程序設定,這些子程序是長期存在的,並且超過產生它們的工作階段。與 `CLAUDECODE` 不同,此項僅在 Claude Code 啟動子程序時由 Claude Code 本身設定,而不是由 IDE 擴充功能設定,因此它可靠地區分嵌套工作階段與在 IDE 整合終端中啟動的頂級 `claude`。以這種方式啟動的嵌套互動 `claude` TUI 會自動從 `--resume`、`--continue`、向上箭頭歷史記錄和 `claude agents` 列表中排除。非互動 `claude -p` 工作階段仍然持續。設定 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` 以覆蓋此排除。需要 Claude Code v2.1.172 或更新版本 |

231| `CLAUDE_CODE_CLIENT_CERT` | mTLS 驗證的用戶端憑證檔案路徑 |234| `CLAUDE_CODE_CLIENT_CERT` | mTLS 驗證的用戶端憑證檔案路徑 |

232| `CLAUDE_CODE_CLIENT_KEY` | mTLS 驗證的用戶端私密金鑰檔案路徑 |235| `CLAUDE_CODE_CLIENT_KEY` | mTLS 驗證的用戶端私密金鑰檔案路徑 |

233| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 加密 CLAUDE\_CODE\_CLIENT\_KEY 的密碼(選用) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 加密 CLAUDE\_CODE\_CLIENT\_KEY 的密碼(選用) |

234| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | 在 v2.1.186 中移除,現在是無操作。先前為串流 API 請求的連線、TLS 和回應標頭階段設定單獨的逾時。使用 `API_TIMEOUT_MS` 用於每個請求的逾時。對於串流請求的回應標頭階段,請參閱 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | 在 v2.1.186 中移除,現在是無操作。以前為串流 API 請求的連線、TLS 和回應標頭階段設定單獨的逾時。使用 `API_TIMEOUT_MS` 進行每個請求的逾時。對於串流請求的回應標頭階段,請參閱 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

235| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 覆蓋偵錯日誌檔案路徑。儘管名稱如此,這是檔案路徑,而不是目錄。需要透過 `--debug`、`/debug` 或 `DEBUG` 環境變數單獨啟用偵錯模式:僅設定此變數不會啟用日誌記錄。[`--debug-file`](/docs/zh-TW/cli-reference#cli-flags) 旗標同時執行兩者。預設為 `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 覆蓋偵錯日誌檔案路徑。儘管名稱如此,這是檔案路徑,而不是目錄。需要透過 `--debug`、`/debug` 或 `DEBUG` 環境變數單獨啟用偵錯模式:僅設定此變數不會啟用日誌記錄。[`--debug-file`](/docs/zh-TW/cli-reference#cli-flags) 旗標同時執行兩者。預設為 `~/.claude/debug/<session-id>.txt` |

236| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 寫入偵錯日誌檔案的最小日誌級別。值:`verbose`、`debug`(預設)、`info`、`warn`、`error`。設定為 `verbose` 以包含高容量診斷(如完整狀態列命令輸出),或提高到 `error` 以減少雜訊 |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 寫入偵錯日誌檔案的最小日誌級別。值:`verbose`、`debug`(預設)、`info`、`warn`、`error`。設定為 `verbose` 以包含高容量診斷(如完整狀態列命令輸出),或提高到 `error` 以減少雜訊 |

237| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 設定為 `1` 以停用 [1M 上下文視窗](/docs/zh-TW/model-config#extended-context) 支援。設定時,1M 模型變體在模型選擇器中不可用,Claude Code 將具有原生 1M 視窗的模型上的工作階段保持在 200K 視窗,例如 [Sonnet 5](/docs/zh-TW/model-config#sonnet-5-context-window) 和 Fable 模型;請參閱 [擴展上下文](/docs/zh-TW/model-config#extended-context) 以了解如何強制執行保持。對於具有合規要求的企業環境很有用。對於其在為無法識別的 `[1m]` 模型 ID 更正視窗中的角色,請參閱 [為閘道或自訂模型 ID 更正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 設定為 `1` 以停用 [1M 上下文視窗](/docs/zh-TW/model-config#extended-context) 支援。設定時,1M 模型變體在模型選擇器中不可用,Claude Code 將具有原生 1M 視窗的模型上的工作階段保持在 200K 視窗,例如 [Sonnet 5](/docs/zh-TW/model-config#sonnet-5-context-window) 和 Fable 模型;請參閱 [擴展上下文](/docs/zh-TW/model-config#extended-context) 以了解如何強制執行保持。對於具有合規要求的企業環境很有用。有關其在為無法識別的 `[1m]` 模型 ID 更正視窗中的角色,請參閱 [為閘道或自訂模型 ID 更正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

238| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 設定為 `1` 以停用 Opus 4.6 和 Sonnet 4.6 上的 [自適應推理](/docs/zh-TW/model-config#adjust-effort-level),並回退到由 `MAX_THINKING_TOKENS` 控制的固定思考預算。對 [Fable 模型](/docs/zh-TW/model-config#extended-thinking)、Sonnet 5 或 Opus 4.7 及更新版本無效,它們始終使用自適應推理 |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 設定為 `1` 以停用 Opus 4.6 和 Sonnet 4.6 上的 [自適應推理](/docs/zh-TW/model-config#adjust-effort-level),並回退到由 `MAX_THINKING_TOKENS` 控制的固定思考預算。對 [Fable 模型](/docs/zh-TW/model-config#extended-thinking)、Sonnet 5 或 Opus 4.7 及更新版本無效,它們始終使用自適應推理 |

239| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | 設定為 `1` 以停止 Claude Code 在管理員來源之間按金鑰合併 [受管設定](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier) `env` 區塊,因此只有最高優先順序來源的整個 `env` 區塊適用,如 v2.1.223 之前。在啟動 Claude Code 的環境中設定它,因為 Claude Code 會忽略透過設定 `env` 區塊傳遞的副本。需要 Claude Code v2.1.223 或更新版本 |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | 設定為 `1` 以停止 Claude Code 在管理員來源之間按金鑰合併 [受管設定](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier) `env` 區塊,因此只有最高優先順序來源的整個 `env` 區塊適用,如 v2.1.223 之前一樣。在啟動 Claude Code 的環境中設定它,因為 Claude Code 會忽略透過設定 `env` 區塊傳遞的副本。需要 Claude Code v2.1.223 或更新版本 |

240| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | 設定為 `1` 以停用 [advisor 工具](/docs/zh-TW/advisor)。`/advisor` 命令變為不可用,任何配置的 `advisorModel` 都被忽略,`--advisor` 旗標被接受但無效,因此傳遞它的現有指令碼繼續工作而不出錯 |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | 設定為 `1` 以停用 [advisor 工具](/docs/zh-TW/advisor)。`/advisor` 命令變為不可用,任何配置的 `advisorModel` 都被忽略,`--advisor` 旗標被接受但無效,因此傳遞它的現有指令碼繼續工作而不出錯 |

241| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 設定為 `1` 以關閉 [背景代理和代理檢視](/docs/zh-TW/agent-view):`claude agents`、`--bg`、`/background` 和按需主管。等同於 [`disableAgentView`](/docs/zh-TW/settings-reference#disableagentview) 設定 |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 設定為 `1` 以關閉 [背景代理和代理檢視](/docs/zh-TW/agent-view):`claude agents`、`--bg`、`/background` 和按需主管。等同於 [`disableAgentView`](/docs/zh-TW/settings-reference#disableagentview) 設定 |

242| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 並使用經典主螢幕呈現器。對話保留在您終端的原生捲軸中,因此 `Cmd+f` 和 tmux 複製模式可以正常工作。優先於 `CLAUDE_CODE_NO_FLICKER` 和 [`tui`](/docs/zh-TW/settings-reference#tui) 設定。您也可以使用 `/tui default` 切換。不適用於從 [代理檢視](/docs/zh-TW/agent-view) 開啟的背景工作階段,它們始終使用全螢幕呈現 |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 並使用經典主螢幕呈現器。對話保留在您終端的原生捲軸中,因此 `Cmd+f` 和 tmux 複製模式可以正常工作。優先於 `CLAUDE_CODE_NO_FLICKER` 和 [`tui`](/docs/zh-TW/settings-reference#tui) 設定。您也可以使用 `/tui default` 切換。不適用於從 [代理檢視](/docs/zh-TW/agent-view) 開啟的背景工作階段,它們始終使用全螢幕呈現 |

243| `CLAUDE_CODE_DISABLE_ARTIFACT` | 設定為 `1` 以關閉 [Artifact](/docs/zh-TW/artifacts) 工具,該工具將工作階段輸出發佈為 claude.ai 上的私人網頁。設定後,沒有設定檔會開啟工具。若要改為從設定檔關閉工具,請將 [`enableArtifact`](/docs/zh-TW/settings-reference#enableartifact) 設定為 `false`;已棄用的 [`disableArtifact`](/docs/zh-TW/settings-reference#disableartifact) 金鑰也會關閉它 |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | 設定為 `1` 以關閉 [Artifact](/docs/zh-TW/artifacts) 工具,該工具將工作階段輸出發佈為 claude.ai 上的私人網頁。設定後,沒有設定檔會重新開啟工具。若要改為從設定檔關閉工具,請將 [`enableArtifact`](/docs/zh-TW/settings-reference#enableartifact) 設定為 `false`;已棄用的 [`disableArtifact`](/docs/zh-TW/settings-reference#disableartifact) 金鑰也會關閉它 |

244| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 設定為 `1` 以停用附件處理。帶有 `@` 語法的檔案提及會作為純文字傳送,而不是擴展為檔案內容 |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 設定為 `1` 以停用附件處理。使用 `@` 語法的檔案提及會作為純文字傳送,而不是擴展為檔案內容 |

245| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 設定為 `1` 以停用 [自動記憶](/docs/zh-TW/memory#auto-memory)。設定為 `0` 以強制開啟自動記憶,即使 `--bare` 模式或 [`autoMemoryEnabled: false`](/docs/zh-TW/settings-reference#automemoryenabled) 會停用它。停用時,Claude 不會建立或載入自動記憶檔案 |248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 設定為 `1` 以停用 [自動記憶](/docs/zh-TW/memory#auto-memory)。設定為 `0` 以強制啟用自動記憶,即使 `--bare` 模式或 [`autoMemoryEnabled: false`](/docs/zh-TW/settings-reference#automemoryenabled) 會停用它。停用時,Claude 不會建立或載入自動記憶檔案 |

246| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 設定為 `1` 以停用所有背景工作功能,包括 Bash 和子代理工具上的 `run_in_background` 參數、自動背景化和 Ctrl+B 快捷鍵 |249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 設定為 `1` 以停用所有背景工作功能,包括 Bash 和子代理工具上的 `run_in_background` 參數、自動背景化和 Ctrl+B 快捷鍵 |

247| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | 設定為 `1` 以停止 Claude Code 將缺少或空的 `Content-Type` 標頭的 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應視為 Amazon Bedrock 的二進位事件串流。預設情況下,Claude Code 假設閘道從其他未修改的回應中丟棄了標頭,因此它會解碼主體,串流保持工作。僅針對也將串流重新發出為伺服器傳送事件的閘道設定此項;Claude Code 隨後將無標頭主體讀作伺服器傳送事件。需要 Claude Code v2.1.239 或更新版本 |250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | 設定為 `1` 以停止 Claude Code 將缺少或空的 `Content-Type` 標頭的 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應視為 Amazon Bedrock 的二進位事件串流。預設情況下,Claude Code 假設閘道從其他未修改的回應中丟棄了標頭,因此它解碼主體,串流保持工作。僅針對也將串流重新發出為伺服器傳送事件的閘道設定此項;Claude Code 隨後將無標頭主體讀作伺服器傳送事件。需要 Claude Code v2.1.239 或更新版本 |

248| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 設定為 `1` 以跳過檢查 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應是否攜帶 `application/vnd.amazon.eventstream` 內容類型。沒有此變數,當回應攜帶不同的內容類型時,Claude Code 會失敗請求,並出現命名該類型的錯誤,這意味著 [閘道或代理正在轉換回應](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。配置閘道以未修改地轉發 `Content-Type` 標頭和主體,而不是設定此變數。需要 Claude Code v2.1.208 或更新版本 |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 設定為 `1` 以跳過檢查 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 串流回應是否攜帶 `application/vnd.amazon.eventstream` 內容類型。沒有此變數,當回應攜帶不同的內容類型時,Claude Code 會失敗請求,並出現命名該類型的錯誤,這意味著 [閘道或代理正在轉換回應](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。配置閘道以未修改地轉發 `Content-Type` 標頭和主體,而不是設定此變數。需要 Claude Code v2.1.208 或更新版本 |

249| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 設定為 `1` 以停止 [背景工作階段的](/docs/zh-TW/agent-view) 執行中背景 shell 命令、動態工作流程,以及從 v2.1.198 開始的背景子代理,當 [主管](/docs/zh-TW/agent-view#the-supervisor-process) 停止、重新啟動或更新該工作階段的程序時,而不是將它們交給工作階段的下一個程序。僅影響該交接:使用 `←` 或 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 背景化工作階段仍會進行中的工作,`CLAUDE_DISABLE_ADOPT` 關閉兩者。需要 Claude Code v2.1.196 或更新版本 |252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 設定為 `1` 以停止 [背景工作階段](/docs/zh-TW/agent-view) 執行的背景 shell 命令、動態工作流程,以及自 v2.1.198 起的背景子代理,當 [主管](/docs/zh-TW/agent-view#the-supervisor-process) 停止、重新啟動或更新該工作階段的程序時,而不是將它們交給工作階段的下一個程序。僅影響該交接:使用 `←` 或 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 背景化工作階段仍會進行中的工作,`CLAUDE_DISABLE_ADOPT` 關閉兩者。需要 Claude Code v2.1.196 或更新版本 |

250| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 設定為 `1` 以停止 Claude Code 在作業系統報告記憶體壓力時終止 [背景 shell 命令](/docs/zh-TW/interactive-mode#background-bash-commands)。預設情況下,在 macOS 和 Linux 上,Claude Code 在工作階段閒置 30 分鐘且沒有轉向或子代理執行時,在記憶體壓力信號上終止在主工作階段中啟動的背景 shell。Windows 沒有記憶體壓力信號,因此此變數在那裡無效。需要 Claude Code v2.1.193 或更新版本 |253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 設定為 `1` 以停止 Claude Code 在作業系統報告記憶體壓力時終止 [背景 shell 命令](/docs/zh-TW/interactive-mode#background-bash-commands)。預設情況下,在 macOS 和 Linux 上,Claude Code 在工作階段閒置 30 分鐘且沒有轉或子代理執行時,終止在主工作階段中啟動的背景 shell。Windows 沒有記憶體壓力信號,因此此變數對其無效。需要 Claude Code v2.1.193 或更新版本 |

251| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 設定為 `1` 以停用 Claude Code 包含的 [skills](/docs/zh-TW/skills) 和工作流程:捆綁的 skills 和工作流程會完全移除,而內建命令(如 `/init`)保持可輸入但對模型隱藏。`/doctor` 保持可輸入,如內建命令;使用 `DISABLE_DOCTOR_COMMAND` 隱藏它。來自外掛程式、`.claude/skills/` 和 `.claude/commands/` 的 Skills 不受影響。等同於 [`disableBundledSkills`](/docs/zh-TW/settings-reference#disablebundledskills) 設定 |254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 設定為 `1` 以停用 Claude Code 包含的 [skills](/docs/zh-TW/skills) 和工作流程:捆綁的 skills 和工作流程被完全移除,而內建命令(如 `/init`)保持可輸入但對模型隱藏。`/doctor` 保持可輸入,如內建命令;使用 `DISABLE_DOCTOR_COMMAND` 隱藏它。來自外掛程式、`.claude/skills/` 和 `.claude/commands/` 的 Skills 不受影響。等同於 [`disableBundledSkills`](/docs/zh-TW/settings-reference#disablebundledskills) 設定 |

252| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 設定為 `1` 以保持 [Chrome 中的 Claude](/docs/zh-TW/chrome) 瀏覽器工具可用,同時省略系統提示的 Chrome 部分和 `/claude-in-chrome` [捆綁 skill](/docs/zh-TW/skills#bundled-skills)。適用於嵌入 Claude Code 並提供自己的瀏覽器指導的主機。需要 Claude Code v2.1.257 或更新版本 |255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 設定為 `1` 以保持 [Chrome 中的 Claude](/docs/zh-TW/chrome) 瀏覽器工具可用,同時省略系統提示的 Chrome 部分和 `/claude-in-chrome` [捆綁 skill](/docs/zh-TW/skills#bundled-skills)。適用於嵌入 Claude Code 並提供自己的瀏覽器指導的主機。需要 Claude Code v2.1.257 或更新版本 |

253| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 設定為 `1` 以防止將任何 CLAUDE.md 記憶體檔案載入上下文,包括使用者、專案和自動記憶檔案 |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 設定為 `1` 以防止將任何 CLAUDE.md 記憶體檔案載入上下文,包括使用者、專案和自動記憶檔案 |

254| `CLAUDE_CODE_DISABLE_CRON` | 設定為 `1` 以停用 [排程工作](/docs/zh-TW/scheduled-tasks)。`/loop` skill 和 cron 工具變為不可用,任何已排程的工作停止觸發,包括已在執行的工作 |257| `CLAUDE_CODE_DISABLE_CRON` | 設定為 `1` 以停用 [排程工作](/docs/zh-TW/scheduled-tasks)。`/loop` skill 和 cron 工具變為不可用,任何已排程的工作停止觸發,包括已在執行的工作 |

255| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 設定為 `1` 以從 API 請求中移除 Anthropic 特定的 `anthropic-beta` 請求標頭和測試版工具架構欄位(例如 `defer_loading` 和 `eager_input_streaming`)。當代理閘道拒絕請求並出現錯誤(例如「`anthropic-beta` 標頭的意外值」或「不允許額外輸入」)時使用此選項。標準欄位(`name`、`description`、`input_schema`、`cache_control`)被保留。[MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 停用,所有 MCP 工具立即載入,即使您設定 `ENABLE_TOOL_SEARCH`。在 Claude Code v2.1.227 或更新版本上,[受管設定](/docs/zh-TW/managed-settings) 可以保持工具搜尋開啟。[停用預發行功能](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities) 涵蓋覆蓋適用的位置 |258| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 設定為 `1` 以從 API 請求中移除 Anthropic 特定的 `anthropic-beta` 請求標頭和測試版工具架構欄位(例如 `defer_loading` 和 `eager_input_streaming`)。當代理閘道拒絕請求,出現錯誤如「`anthropic-beta` 標頭的意外值」或「不允許額外輸入」時使用。標準欄位(`name`、`description`、`input_schema`、`cache_control`)被保留。[MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 被停用,所有 MCP 工具預先載入,即使您設定 `ENABLE_TOOL_SEARCH`。在 Claude Code v2.1.227 或更新版本上,[受管設定](/docs/zh-TW/managed-settings) 可以保持工具搜尋開啟。[停用預發行功能](/docs/zh-TW/llm-gateway-protocol#disable-pre-release-capabilities) 涵蓋覆蓋適用的位置 |

256| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 設定為 `1` 以停用內建 [Explore 和 Plan 子代理](/docs/zh-TW/sub-agents#built-in-subagents)。Claude 使用其搜尋工具或通用子代理進行探索,[plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 直接讀取檔案,而不是啟動 Explore 和 Plan 代理。名為 `Explore` 或 `Plan` 的自訂子代理不受影響。若要在 Agent SDK 或非互動模式中移除每個內建子代理類型,請改用 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`。需要 Claude Code v2.1.198 或更新版本 |259| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 設定為 `1` 以停用內建 [Explore 和 Plan 子代理](/docs/zh-TW/sub-agents#built-in-subagents)。Claude 使用其搜尋工具或通用子代理進行探索,[plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 直接讀取檔案,而不是啟動 Explore 和 Plan 代理。名為 `Explore` 或 `Plan` 的自訂子代理不受影響。若要在 Agent SDK 或非互動模式中移除每個內建子代理類型,請改用 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`。需要 Claude Code v2.1.198 或更新版本 |

257| `CLAUDE_CODE_DISABLE_FAST_MODE` | 設定為 `1` 以停用 [快速模式](/docs/zh-TW/fast-mode) |260| `CLAUDE_CODE_DISABLE_FAST_MODE` | 設定為 `1` 以停用 [快速模式](/docs/zh-TW/fast-mode) |

258| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 設定為 `1` 以停用「Claude 表現如何?」工作階段品質調查。當設定 `DISABLE_TELEMETRY`、`DO_NOT_TRACK` 或 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 時,調查也會停用,除非 `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` 選擇加入。若要設定樣本率而不是完全停用,請使用 [`feedbackSurveyRate`](/docs/zh-TW/settings-reference#feedbacksurveyrate) 設定。請參閱 [工作階段品質調查](/docs/zh-TW/data-usage#session-quality-surveys) |261| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 設定為 `1` 以停用「Claude 表現如何?」工作階段品質調查。當設定 `DISABLE_TELEMETRY`、`DO_NOT_TRACK` 或 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 時,調查也被停用,除非 `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` 選擇重新加入。若要設定樣本率而不是完全停用,請使用 [`feedbackSurveyRate`](/docs/zh-TW/settings-reference#feedbacksurveyrate) 設定。請參閱 [工作階段品質調查](/docs/zh-TW/data-usage#session-quality-surveys) |

259| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | 設定為 `1` 以停用檔案 [checkpointing](/docs/zh-TW/checkpointing)。`/rewind` 命令將無法復原程式碼變更。覆蓋 [`fileCheckpointingEnabled`](/docs/zh-TW/settings-reference#filecheckpointingenabled) 設定 |262| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | 設定為 `1` 以停用檔案 [checkpointing](/docs/zh-TW/checkpointing)。`/rewind` 命令將無法還原程式碼變更。覆蓋 [`fileCheckpointingEnabled`](/docs/zh-TW/settings-reference#filecheckpointingenabled) 設定 |

260| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | 設定為 `1` 以移除內建提交和 PR 工作流程指示以及 Claude 系統提示中的 git 狀態快照。在使用您自己的 git 工作流程 skills 時很有用。當設定時優先於 [`includeGitInstructions`](/docs/zh-TW/settings-reference#includegitinstructions) 設定 |263| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | 設定為 `1` 以移除內建提交和 PR 工作流程指示以及 Claude 系統提示中的 git 狀態快照。在使用您自己的 git 工作流程 skills 時很有用。設定時優先於 [`includeGitInstructions`](/docs/zh-TW/settings-reference#includegitinstructions) 設定 |

261| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | 設定為 `1` 以防止在 Anthropic API 上自動重新對應 Opus 4.0 和 4.1 到目前的 Opus 版本。在您想要故意釘選較舊模型時使用。重新對應不在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上執行 |264| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | 設定為 `1` 以防止在 Anthropic API 上自動重新對應 Opus 4.0 和 4.1 到目前的 Opus 版本。當您想要故意釘選較舊的模型時使用。重新對應不在 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 上執行 |

262| `CLAUDE_CODE_DISABLE_MOUSE` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的滑鼠追蹤。使用 `PgUp` 和 `PgDn` 的鍵盤捲軸仍然有效。使用此選項以保持終端的原生選擇複製行為 |265| `CLAUDE_CODE_DISABLE_MOUSE` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的滑鼠追蹤。使用 `PgUp` 和 `PgDn` 的鍵盤捲軸仍然有效。使用此選項以保持終端的原生選擇複製行為 |

263| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的點擊、拖曳和懸停處理,同時保持滑鼠滾輪捲軸。當您想要滾輪捲軸在 Claude Code 內工作但不想要點擊來定位游標、展開工具輸出或開啟連結時使用此選項。設定兩者時 `CLAUDE_CODE_DISABLE_MOUSE` 優先。需要 Claude Code v2.1.195 或更新版本 |266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的點擊、拖曳和懸停處理,同時保持滑鼠滾輪捲軸。當您希望滾輪捲軸在 Claude Code 內工作但不希望點擊定位游標、展開工具輸出或開啟連結時使用。設定兩者時,`CLAUDE_CODE_DISABLE_MOUSE` 優先。需要 Claude Code v2.1.195 或更新版本 |

264| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | 設定為 `1` 以停止 Claude Code 在 API 請求因連線級錯誤(例如連線重設或 TLS 握手錯誤)失敗時重新讀取 [mTLS 用戶端憑證和金鑰](/docs/zh-TW/network-config#mtls-authentication)。停用重新載入後,Claude Code 僅在下次應用設定或下次啟動時載入輪換的檔案。需要 Claude Code v2.1.232 或更新版本 |267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | 設定為 `1` 以停止 Claude Code 在 API 請求因連線級錯誤(例如連線重設或 TLS 握手錯誤)失敗時重新讀取 [mTLS 用戶端憑證和金鑰](/docs/zh-TW/network-config#mtls-authentication)。停用重新載入後,Claude Code 僅在下次應用設定或下次啟動時載入輪換的檔案。需要 Claude Code v2.1.232 或更新版本 |

265| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 設定為任何非空值(例如 `1`)以停用非必要的網路流量:自動更新、遙測、錯誤報告、`/feedback` 命令、[Claude 起草的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)、發行說明、[PR 和 MR 狀態徽章](/docs/zh-TW/interactive-mode#pr-review-status) 檢查以及可用性檢查(例如 [快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 檢查)。它也停止 [外掛程式 `command` 來源的背景執行](/docs/zh-TW/plugin-marketplaces#when-claude-code-re-runs-the-command),這些是本機命令而不是網路流量,因為它們可能觸發依賴項安裝。**將其設定為 `0` 或 `false` 仍會停用此流量**,與大多數開啟/關閉變數不同;取消設定變數以再次允許它。也停用功能旗標擷取,這使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。官方外掛程式市場自動安裝不涵蓋;使用 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 停用它。不影響 [閘道模型發現](/docs/zh-TW/llm-gateway-connect#add-gateway-models-to-the-model-picker),它有自己的選擇加入 |268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 設定為任何非空值(例如 `1`)以停用非必要網路流量:自動更新、遙測、錯誤報告、`/feedback` 命令、[Claude 起草的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)、發行說明、[PR 和 MR 狀態徽章](/docs/zh-TW/interactive-mode#pr-review-status) 檢查以及可用性檢查(例如 [快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 檢查)。它也停止 [外掛程式 `command` 來源的背景執行](/docs/zh-TW/plugin-marketplaces#when-claude-code-re-runs-the-command),這些是本機命令而不是網路流量,因為它們可以觸發依賴項安裝。**將其設定為 `0` 或 `false` 仍會停用此流量**,與大多數開啟/關閉變數不同;取消設定變數以再次允許它。也停用功能旗標擷取,這使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。官方外掛程式市場自動安裝不涵蓋;使用 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 停用它。不影響 [閘道模型發現](/docs/zh-TW/llm-gateway-connect#add-gateway-models-to-the-model-picker),它有自己的選擇加入 |

266| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 設定為 `1` 以停用串流請求在中途失敗時的非串流回退。串流錯誤傳播到重試層。當代理或閘道導致回退產生重複工具執行時很有用 |269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 設定為 `1` 以停用串流請求在中途失敗時的非串流回退。串流錯誤傳播到重試層。當代理或閘道導致回退產生重複工具執行時很有用 |

267| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 設定為 `1` 以在您在終端中輸入或聚焦時傳送 `PushNotification` 工具的桌面通知。預設情況下,當工具偵測到最近的鍵盤活動或終端焦點時,工具會跳過桌面通知和 [行動推送](/docs/zh-TW/remote-control#mobile-push-notifications)。此變數僅停用該本機檢查,因此伺服器在偵測到您活躍時仍可以抑制行動推送。需要 Claude Code v2.1.193 或更新版本 |270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 設定為 `1` 以在您在終端中輸入或聚焦時傳送 `PushNotification` 工具的桌面通知。預設情況下,當工具偵測到最近的鍵盤活動或終端焦點時,工具會跳過桌面通知和 [行動推送](/docs/zh-TW/remote-control#mobile-push-notifications)。此變數僅停用該本機檢查,因此伺服器在偵測到您活躍時仍可以抑制行動推送。需要 Claude Code v2.1.193 或更新版本 |

268| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 設定為 `1` 以停用官方外掛程式市場的自動註冊。Claude Code 在即將註冊市場時讀取變數,通常在機器的第一次互動啟動期間。如果變數在該點設定,Claude Code 會永久跳過註冊。稍後取消設定變數不會撤銷跳過。隨時執行 `claude plugin marketplace add anthropics/claude-plugins-official` 以註冊市場 |271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 設定為 `1` 以停用官方外掛程式市場的自動註冊。Claude Code 在即將註冊市場時讀取變數,通常在機器的第一次互動啟動期間。如果變數在該點設定,Claude Code 會永久跳過註冊。稍後取消設定變數不會撤銷跳過。隨時執行 `claude plugin marketplace add anthropics/claude-plugins-official` 以註冊市場 |

269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | 設定為 `1` 以停止 Claude Code 在 Claude Code 將它們傳送到 Agent SDK 的 `canUseTool` 回呼的工作階段中執行 [未回答的權限請求的 `Notification` hooks](/docs/zh-TW/hooks#notification),這是 Claude Desktop 和 VS Code 擴充功能主機 Claude Code 的方式。在終端工作階段中無效。需要 Claude Code v2.1.233 或更新版本 |272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | 設定為 `1` 以停止 Claude Code 在 Claude Desktop 和 VS Code 擴充功能主機 Claude Code 的工作階段中為未回答的權限請求執行您的 [`Notification` hooks](/docs/zh-TW/hooks#notification),這是 Claude Code 將它們傳送到 Agent SDK 的 `canUseTool` 回呼的方式。在終端工作階段中無效。需要 Claude Code v2.1.233 或更新版本 |

270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 設定為 `1` 以跳過從系統範圍的受管 skills 目錄載入 skills。對於不應載入操作員佈建的 skills 的容器或 CI 工作階段很有用 |273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 設定為 `1` 以跳過從系統範圍受管 skills 目錄載入 skills。對於不應載入操作員佈建 skills 的容器或 CI 工作階段很有用 |

271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 設定為 `1` 以停用基於對話上下文的自動終端標題更新。在 Agent SDK 和 `claude -p` 工作階段中,這也會跳過產生工作階段標題的背景小型/快速模型請求 |274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 設定為 `1` 以停用基於對話上下文的自動終端標題更新。在 Agent SDK 和 `claude -p` 工作階段中,這也會跳過產生工作階段標題的背景小/快速模型請求 |

272| `CLAUDE_CODE_DISABLE_THINKING` | 設定為 `1` 以完全從 API 請求中省略 `thinking` 參數。這是代理和閘道拒絕參數的相容性選項。在預設思考的模型上,省略參數意味著模型仍可能思考。若要在 Anthropic API 上明確停用 [擴展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking),請改用 `MAX_THINKING_TOKENS=0`。兩個變數都不會在 Fable 模型上關閉思考,Fable 模型無法關閉思考。在 [第三方提供者](/docs/zh-TW/third-party-integrations) 上,`MAX_THINKING_TOKENS=0` 同樣省略參數,因此兩個變數在那裡的行為相同 |275| `CLAUDE_CODE_DISABLE_THINKING` | 設定為 `1` 以從 API 請求中完全省略 `thinking` 參數。這是代理和閘道拒絕參數的相容性選項。在預設思考的模型上,省略參數意味著模型仍可能思考。若要在 Anthropic API 上明確停用 [擴展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking),請改用 `MAX_THINKING_TOKENS=0`。兩個變數都不會在 Fable 模型上關閉思考,Fable 模型無法關閉思考。在 [第三方提供者](/docs/zh-TW/third-party-integrations) 上,`MAX_THINKING_TOKENS=0` 同樣省略參數,因此兩個變數在那裡的行為相同 |

273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | 設定為 `1` 以在 Claude Code 不識別模型 ID 時跳過主動 [自動壓縮](/docs/zh-TW/costs#reduce-token-usage),例如 [LLM 閘道](/docs/zh-TW/llm-gateway) 別名。沒有此變數,Claude Code 在它為 ID 假設的上下文視窗處壓縮。`CLAUDE_CODE_MAX_CONTEXT_TOKENS` 可以改為更正假設的視窗;請參閱 [為閘道或自訂模型 ID 更正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) 以了解何時應用每個變數。需要 Claude Code v2.1.223 或更新版本 |276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | 設定為 `1` 以在 Claude Code 不識別模型 ID(例如 [LLM 閘道](/docs/zh-TW/llm-gateway) 別名)時跳過主動 [自動壓縮](/docs/zh-TW/costs#reduce-token-usage)。沒有此變數,Claude Code 在它為 ID 假設的上下文視窗進行壓縮。`CLAUDE_CODE_MAX_CONTEXT_TOKENS` 可以改為更正假設的視窗;請參閱 [為閘道或自訂模型 ID 更正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) 以了解何時應用每個變數。需要 Claude Code v2.1.223 或更新版本 |

274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的虛擬捲軸並呈現文字記錄中的每條訊息。如果全螢幕模式中的捲軸顯示應該出現訊息的空白區域,請使用此選項 |277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | 設定為 `1` 以停用 [全螢幕呈現](/docs/zh-TW/fullscreen) 中的虛擬捲軸並呈現文字記錄中的每條訊息。如果全螢幕模式中的捲軸顯示應該出現訊息的空白區域,請使用此選項 |

278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | 設定為 `1` 以在 Windows 上直接啟動 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool) 命令,而不是透過 `cmd.exe` 啟動器。預設情況下,啟動器讓在背景執行的 PowerShell 命令 [進行到工作階段的下一個程序](/docs/zh-TW/agent-view#the-supervisor-process),例如當您 [背景化工作階段](/docs/zh-TW/agent-view#from-inside-a-session) 時。如果您設定變數,背景化的 PowerShell 命令在工作階段的程序退出時停止。Bash 命令不受影響。需要 Claude Code v2.1.269 或更新版本 |

275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | 設定為 `1` 以停用 [工作流程](/docs/zh-TW/workflows#turn-workflows-off)。等同於 [`disableWorkflows`](/docs/zh-TW/settings-reference#disableworkflows) 設定 |279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | 設定為 `1` 以停用 [工作流程](/docs/zh-TW/workflows#turn-workflows-off)。等同於 [`disableWorkflows`](/docs/zh-TW/settings-reference#disableworkflows) 設定 |

276| `CLAUDE_CODE_EFFORT_LEVEL` | 為支援的模型設定 effort 級別。值:`low`、`medium`、`high`、`xhigh`、`max` 或 `auto` 以使用模型預設值。可用級別取決於模型。優先於 `--effort`、`/effort` 和 `modelSettings` 和 `effortLevel` 設定。[`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) 上限仍適用。請參閱 [調整 effort 級別](/docs/zh-TW/model-config#adjust-effort-level) |280| `CLAUDE_CODE_EFFORT_LEVEL` | 為支援的模型設定 effort 級別。值:`low`、`medium`、`high`、`xhigh`、`max` 或 `auto` 以使用模型預設。可用級別取決於模型。優先於 `--effort`、`/effort` 和 `modelSettings` 和 `effortLevel` 設定。[`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) 上限仍然適用。請參閱 [調整 effort 級別](/docs/zh-TW/model-config#adjust-effort-level) |

277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | 設定為 `1` 以啟用將額外文字附加到除 [forked 子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) 外的每個 [子代理](/docs/zh-TW/sub-agents) 的系統提示末尾。[`--append-subagent-system-prompt`](/docs/zh-TW/cli-reference#cli-flags) 和 [`--append-subagent-system-prompt-file`](/docs/zh-TW/cli-reference#cli-flags) 旗標提供附加的文字並自動設定此變數,因此您不需要自己設定它。需要 Claude Code v2.1.205 或更新版本 |281| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | 設定為 `1` 以啟用將額外文字附加到除 [分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) 外的每個 [子代理](/docs/zh-TW/sub-agents) 的系統提示末尾。[`--append-subagent-system-prompt`](/docs/zh-TW/cli-reference#cli-flags) 和 [`--append-subagent-system-prompt-file`](/docs/zh-TW/cli-reference#cli-flags) 旗標提供附加的文字並自動設定此變數,因此您不需要自己設定。需要 Claude Code v2.1.205 或更新版本 |

278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 為與較舊版本相容而接受,無效。自動模式在每個提供者上預設可用,包括 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登入的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway) 工作階段。在 v2.1.158 到 v2.1.206 中,設定此為 `1` 是在這些提供者上提供 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 所必需的 |282| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 為與較舊版本相容而接受,無效。自動模式在每個提供者上預設可用,包括 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和已登入的 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway) 工作階段。在 v2.1.158 到 v2.1.206 中,設定此項為 `1` 是在這些提供者上提供 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 所必需的 |

279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | 覆蓋 [工作階段摘要](/docs/zh-TW/interactive-mode#session-recap) 可用性。設定為 `0` 以強制摘要關閉,無論 `/config` 切換如何。設定為 `1` 以在 [`awaySummaryEnabled`](/docs/zh-TW/settings-reference#awaysummaryenabled) 為 `false` 時強制摘要開啟。優先於設定和 `/config` 切換 |283| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | 覆蓋 [工作階段摘要](/docs/zh-TW/interactive-mode#session-recap) 可用性。設定為 `0` 以強制摘要關閉,無論 `/config` 切換如何。設定為 `1` 以在 [`awaySummaryEnabled`](/docs/zh-TW/settings-reference#awaysummaryenabled) 為 `false` 時強制摘要開啟。優先於設定和 `/config` 切換 |

280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 設定為 `1` 以在背景安裝完成後在轉向邊界處刷新 [非互動模式](/docs/zh-TW/headless) 中的外掛程式狀態。預設關閉,因為刷新會在工作階段中途變更系統提示,這會使該轉向的 [提示快取](/docs/zh-TW/prompt-caching) 失效 |284| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 設定為 `1` 以在背景安裝完成後在轉邊界刷新外掛程式狀態(在 [非互動模式](/docs/zh-TW/headless) 中)。關閉預設,因為刷新在工作階段中途變更系統提示,這會使該轉的 [提示快取](/docs/zh-TW/prompt-caching) 失效 |

281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | 設定為 `1` 以在 Anthropic 綁定的非必要流量被阻止時將「Claude 表現如何?」工作階段品質調查路由到您自己的 [OpenTelemetry 收集器](/docs/zh-TW/monitoring-usage)。調查評分僅作為 OTEL 事件發出到您配置的收集器。在此模式中,沒有調查資料傳送到 Anthropic。當設定 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 時適用,否則無效。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 和組織產品回饋政策優先 |285| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | 設定為 `1` 以在 Anthropic 綁定的非必要流量被阻止時將「Claude 表現如何?」工作階段品質調查路由到您自己的 [OpenTelemetry 收集器](/docs/zh-TW/monitoring-usage)。調查評分僅作為 OTEL 事件發出到您配置的收集器。在此模式下,沒有調查資料傳送到 Anthropic。設定 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 時適用,否則無效。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 和組織產品回饋政策優先 |

282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | 控制工具呼叫輸入是否在 Claude 產生時從 API 串流。關閉此選項時,大型工具輸入(例如長檔案寫入)僅在 Claude 完成產生後到達,這可能看起來像它掛起了。在 Anthropic API 上預設啟用。在 Amazon Bedrock 和 Google Cloud 的 Agent Platform 上,在部署的容器支援的每個模型上啟用。設定為 `0` 以選擇退出。設定為 `1` 以在透過 `ANTHROPIC_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 透過代理路由時強制開啟。在 Microsoft Foundry 和 [閘道](/docs/zh-TW/llm-gateway) 連線上預設關閉 |286| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | 控制工具呼叫輸入是否在 Claude 產生時從 API 串流。關閉此項時,大型工具輸入(例如長檔案寫入)僅在 Claude 完成產生後到達,這可能看起來像它掛起。在 Anthropic API 上預設啟用。在 Amazon Bedrock 和 Google Cloud's Agent Platform 上,在部署的容器支援的每個模型上啟用。設定為 `0` 以選擇退出。設定為 `1` 以在透過 `ANTHROPIC_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 透過代理路由時強制開啟。在 Microsoft Foundry 和 [閘道](/docs/zh-TW/llm-gateway) 連線上預設關閉 |

283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 設定為 `1` 以在 `ANTHROPIC_BASE_URL` 指向 Anthropic 相容閘道(例如 LiteLLM、Kong 或內部代理)時從您的閘道的 `/v1/models` 端點填充 `/model` 選擇器。預設關閉,因為由共用 API 金鑰支援的閘道會否則向每個使用者顯示金鑰可以存取的每個模型。發現的模型仍由工作階段接收的 [`availableModels`](/docs/zh-TW/settings-reference#availablemodels) 允許清單篩選;透過 [MDM 或受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms) 傳遞清單,因為 [伺服器管理的傳遞在閘道設定上不可用](/docs/zh-TW/server-managed-settings#platform-availability) |287| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 設定為 `1` 以在 `ANTHROPIC_BASE_URL` 指向 Anthropic 相容閘道(例如 LiteLLM、Kong 或內部代理)時從您的閘道的 `/v1/models` 端點填充 `/model` 選擇器。預設關閉,因為由共享 API 金鑰支援的閘道會否則向每個使用者顯示金鑰可以存取的每個模型。發現的模型仍由工作階段接收的 [`availableModels`](/docs/zh-TW/settings-reference#availablemodels) 允許清單篩選;透過 [MDM 或受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms) 傳遞清單,因為 [伺服器管理的傳遞在閘道配置上不可用](/docs/zh-TW/server-managed-settings#platform-availability) |

284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | 在 v2.1.142 中移除,當 [快速模式](/docs/zh-TW/fast-mode) 預設從 Opus 4.6 移至 Opus 4.7 時 |288| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | 在 v2.1.142 中移除,當 [快速模式](/docs/zh-TW/fast-mode) 預設從 Opus 4.6 移至 Opus 4.7 時 |

285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 設定為 `false` 以關閉提示建議,即出現在提示輸入中的灰色預測。優先於 [`promptSuggestionEnabled`](/docs/zh-TW/settings-reference#promptsuggestionenabled) 設定,這是 `/config` 中的**提示建議**切換寫入的。Claude Code 也 [在您的帳戶接近或達到使用限制時暫停建議](/docs/zh-TW/interactive-mode#when-claude-code-skips-suggestions)。設定為 `true` 以在達到限制前保持它們開啟。需要 Claude Code v2.1.238 或更新版本。請參閱 [提示建議](/docs/zh-TW/interactive-mode#prompt-suggestions) |289| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 設定為 `false` 以關閉提示建議,即出現在提示輸入中的灰色預測。優先於 [`promptSuggestionEnabled`](/docs/zh-TW/settings-reference#promptsuggestionenabled) 設定,這是 `/config` 中的**提示建議**切換寫入的。Claude Code 也 [在您的帳戶接近或達到使用限制時暫停建議](/docs/zh-TW/interactive-mode#when-claude-code-skips-suggestions)。設定為 `true` 以在達到限制前保持它們開啟。需要 Claude Code v2.1.238 或更新版本。請參閱 [提示建議](/docs/zh-TW/interactive-mode#prompt-suggestions) |

286| `CLAUDE_CODE_ENABLE_TASKS` | 選擇 Claude Code 在 [具有它們的工作階段](/docs/zh-TW/tools-reference#task-tool-availability) 中提供的工作追蹤工具。預設情況下,Claude Code 提供 Task 工具 `TaskCreate`、`TaskUpdate`、`TaskGet` 和 `TaskList`。設定為 `0` 以改為取得舊版 `TodoWrite` 工具。請參閱 [工作清單](/docs/zh-TW/interactive-mode#task-list) |290| `CLAUDE_CODE_ENABLE_TASKS` | 選擇 Claude Code 在 [具有它們的工作階段](/docs/zh-TW/tools-reference#task-tool-availability) 中提供的工作追蹤工具。預設情況下,Claude Code 提供 Task 工具 `TaskCreate`、`TaskUpdate`、`TaskGet` 和 `TaskList`。設定為 `0` 以改為取得舊版 `TodoWrite` 工具。請參閱 [工作清單](/docs/zh-TW/interactive-mode#task-list) |


288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | 設定為 `1` 以在每個模型上取得工作追蹤工具。沒有它,Claude Code 預設僅在 [工作工具可用性](/docs/zh-TW/tools-reference#task-tool-availability) 下列出的模型上提供它們。`CLAUDE_CODE_ENABLE_TASKS` 仍選擇 Task 工具或 `TodoWrite`。需要 Claude Code v2.1.233 或更新版本 |292| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | 設定為 `1` 以在每個模型上取得工作追蹤工具。沒有它,Claude Code 預設僅在 [工作工具可用性](/docs/zh-TW/tools-reference#task-tool-availability) 下列出的模型上提供它們。`CLAUDE_CODE_ENABLE_TASKS` 仍選擇 Task 工具或 `TodoWrite`。需要 Claude Code v2.1.233 或更新版本 |

289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 查詢迴圈變為閒置後自動退出前等待的時間(毫秒)。對於使用 SDK 模式的自動化工作流程和指令碼很有用 |293| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 查詢迴圈變為閒置後自動退出前等待的時間(毫秒)。對於使用 SDK 模式的自動化工作流程和指令碼很有用 |

290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 設定為 `1` 以啟用 [代理團隊](/docs/zh-TW/agent-teams)。代理團隊是實驗性的,預設停用 |294| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 設定為 `1` 以啟用 [代理團隊](/docs/zh-TW/agent-teams)。代理團隊是實驗性的,預設停用 |

291| `CLAUDE_CODE_EXTRA_BODY` | JSON 物件以合併到每個 API 請求主體的頂級。對於傳遞 Claude Code 不直接公開的提供者特定參數很有用。在您的 shell 中匯出的值也適用於您使用 `claude agents` 或 `--bg` 分派的 [背景工作階段](/docs/zh-TW/agent-view)。在 v2.1.206 之前,背景工作階段忽略 shell 匯出的值,並使用背景主管程序繼承的任何副本 |295| `CLAUDE_CODE_EXTRA_BODY` | JSON 物件以合併到每個 API 請求主體的頂級。對於傳遞 Claude Code 不直接公開的提供者特定參數很有用。在您的 shell 中匯出的值也適用於您使用 `claude agents` 或 `--bg` 分派的 [背景工作階段](/docs/zh-TW/agent-view)。在 v2.1.206 之前,背景工作階段忽略了 shell 匯出的值,並使用背景主管程序繼承的任何副本 |

292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 覆蓋檔案讀取的預設權杖限制。當您需要完整讀取較大的檔案時很有用 |296| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 覆蓋檔案讀取的預設權杖限制。當您需要完整讀取較大的檔案時很有用 |

293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 設定為 `1` 以強制文字記錄持續性、提示歷史記錄和 `claude agents` 註冊,即使此 `claude` 是從另一個 Claude Code 工作階段內啟動的。當繼承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如來自 `screen` 工作階段或由 Claude Code 的 Bash 工具首次啟動的背景啟動器)導致真正的頂級工作階段被誤分類為嵌套時使用。從 v2.1.178 開始,Claude Code 自動偵測 tmux 情況並忽略繼承的標記,因此 tmux 不再需要此變數。也在 v2.1.169 及更早版本上受尊重;對 v2.1.170 和 v2.1.171 無效,其中它覆蓋的嵌套工作階段偵測被移除 |297| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 設定為 `1` 以強制文字記錄持續性、提示歷史記錄和 `claude agents` 註冊,即使此 `claude` 是從另一個 Claude Code 工作階段內啟動的。當繼承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如來自 `screen` 工作階段或由 Claude Code 的 Bash 工具首次啟動的背景啟動器)導致真正的頂級工作階段被誤分類為嵌套時使用。自 v2.1.178 起,Claude Code 自動偵測 tmux 情況並忽略繼承的標記,因此 tmux 不再需要此變數。也在 v2.1.169 及更早版本上受尊重;對 v2.1.170 和 v2.1.171 無效,其中它覆蓋的嵌套工作階段偵測被移除 |

294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 設定為 `1` 以在您的終端支援但未自動偵測時強制 `~~text~~` 的刪除線呈現,例如透過 SSH 而不轉發 `TERM_PROGRAM`。沒有此選項,未偵測的終端會顯示文字 `~~` 標記,而不是呈現為刪除線。需要 Claude Code v2.1.186 或更新版本 |298| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 設定為 `1` 以在您的終端支援但未自動偵測時強制 `~~text~~` 的刪除線呈現,例如透過 SSH 而不轉發 `TERM_PROGRAM`。沒有此項,未偵測的終端會顯示文字 `~~` 標記,而不是呈現為刪除線。需要 Claude Code v2.1.186 或更新版本 |

295| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 設定為 `1` 以在您的終端支援但未自動偵測時強制啟用 DEC 私人模式 2026 [同步輸出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。對於實現 BSU/ESU 但不回覆功能探測的模擬器(例如 Emacs `eat`)很有用。在 tmux 下無效。與 [全螢幕呈現](/docs/zh-TW/fullscreen) 的 `CLAUDE_CODE_NO_FLICKER` 不同,這不會變更呈現器 |299| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 設定為 `1` 以在您的終端支援但未自動偵測時強制啟用 DEC 私有模式 2026 [同步輸出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。對於實現 BSU/ESU 但不回覆功能探測的模擬器(例如 Emacs `eat`)很有用。在 tmux 下無效。與 `CLAUDE_CODE_NO_FLICKER` 不同,後者切換到 [全螢幕呈現](/docs/zh-TW/fullscreen),這不會變更呈現器 |

296| `CLAUDE_CODE_FORK_SUBAGENT` | 控制 [fork 模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off),它讓 Claude 產生 [forked 子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) 本身,在互動工作階段中預設開啟。設定為 `1` 以在 `claude -p` 和 Agent SDK 中也開啟它,或 `0` 以在每種工作階段中關閉它。無論 fork 模式是否開啟,您都可以執行 `/subtask`。互動預設需要 Claude Code v2.1.232 或更新版本;在較早的版本上,設定變數為 `1` 以開啟 fork 模式 |300| `CLAUDE_CODE_FORK_SUBAGENT` | 控制 [分叉模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off),它讓 Claude 產生 [分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) 本身,在互動工作階段中預設開啟。設定為 `1` 以在 `claude -p` 和 Agent SDK 中也開啟它,或設定為 `0` 以在每種工作階段中關閉它。無論分叉模式是否開啟,您都可以執行 `/subtask`。互動預設需要 Claude Code v2.1.232 或更新版本;在較早版本上,設定變數為 `1` 以開啟分叉模式 |

297| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | 設定為 `1` 以在 `claude -p --output-format stream-json` 輸出中發出 [子代理](/docs/zh-TW/sub-agents) 文字和思考區塊,與 [`--forward-subagent-text`](/docs/zh-TW/cli-reference#cli-flags) 旗標相同的行為。當工具無法自己傳遞旗標時,在工具無法自己傳遞旗標時使用變數。與旗標不同,旗標在非互動模式下使用 stream-json 輸出時以錯誤退出,變數在那裡被忽略,因此當它在程序範圍內設定時嵌套呼叫保持工作。需要 Claude Code v2.1.211 或更新版本 |301| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | 設定為 `1` 以在 `claude -p --output-format stream-json` 輸出中發出 [子代理](/docs/zh-TW/sub-agents) 文字和思考區塊,與 [`--forward-subagent-text`](/docs/zh-TW/cli-reference#cli-flags) 旗標相同的行為。當啟動 `claude` 的工具無法自己傳遞旗標時使用變數。與旗標不同,旗標在非互動模式下使用 stream-json 輸出時以錯誤退出,變數在那裡被忽略,以便嵌套呼叫在全程設定時保持工作。需要 Claude Code v2.1.211 或更新版本 |

298| `CLAUDE_CODE_GIT_BASH_PATH` | 僅限 Windows:Git Bash 可執行檔 (`bash.exe`) 的路徑。在安裝了 Git Bash 但不在您的 PATH 中時使用。如果路徑不存在或檔案未命名為 `bash.exe`、`sh.exe`、`bash` 或 `sh`,Claude Code 會忽略變數並自動偵測 Git Bash,如同未設定一樣,記錄可見的警告 `--debug`。在 v2.1.219 之前,當路徑不存在時 Claude Code 在啟動時退出,並使用任何現有檔案作為 shell,而不檢查它是否為 bash 或 sh。請參閱 [Windows 設定](/docs/zh-TW/setup#set-up-on-windows) |302| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | [閘道模型發現](/docs/zh-TW/llm-gateway-protocol#model-discovery) 請求的逾時(毫秒),`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` 開啟(預設:`3000`)。當您的閘道需要超過三秒才能在啟動時回答 `/v1/models` 時提高它。僅接受純數字;`0`、負值和其他拼寫保持預設。需要 Claude Code v2.1.269 或更新版本 |

303| `CLAUDE_CODE_GIT_BASH_PATH` | 僅限 Windows:Git Bash 可執行檔 (`bash.exe`) 的路徑。當 Git Bash 已安裝但不在您的 PATH 中時使用。如果路徑不存在或檔案未命名為 `bash.exe`、`sh.exe`、`bash` 或 `sh`,Claude Code 會忽略變數並自動偵測 Git Bash,如同未設定一樣,記錄可見的警告 `--debug`。在 v2.1.219 之前,當路徑不存在時 Claude Code 在啟動時退出,並使用任何現有檔案作為 shell,而不檢查它是否為 bash 或 sh。請參閱 [Windows 設定](/docs/zh-TW/setup#set-up-on-windows) |

299| `CLAUDE_CODE_GLOB_HIDDEN` | 設定為 `false` 以在 Claude 呼叫 [Glob 工具](/docs/zh-TW/tools-reference#glob-tool-behavior) 時從結果中排除隱藏檔案。預設包含。不影響 `@` 檔案自動完成、`ls`、Grep 或 Read |304| `CLAUDE_CODE_GLOB_HIDDEN` | 設定為 `false` 以在 Claude 呼叫 [Glob 工具](/docs/zh-TW/tools-reference#glob-tool-behavior) 時從結果中排除隱藏檔案。預設包含。不影響 `@` 檔案自動完成、`ls`、Grep 或 Read |

300| `CLAUDE_CODE_GLOB_NO_IGNORE` | 設定為 `false` 以使 [Glob 工具](/docs/zh-TW/tools-reference#glob-tool-behavior) 尊重 `.gitignore` 模式。預設情況下,Glob 返回所有匹配的檔案,包括 gitignored 的檔案。不影響 `@` 檔案自動完成,它有自己的 [`respectGitignore` 設定](/docs/zh-TW/settings-reference#respectgitignore) |305| `CLAUDE_CODE_GLOB_NO_IGNORE` | 設定為 `false` 以使 [Glob 工具](/docs/zh-TW/tools-reference#glob-tool-behavior) 尊重 `.gitignore` 模式。預設情況下,Glob 返回所有匹配的檔案,包括 gitignored 的檔案。不影響 `@` 檔案自動完成,它有自己的 [`respectGitignore` 設定](/docs/zh-TW/settings-reference#respectgitignore) |

301| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 工具檔案發現的逾時(秒)。在大多數平台上預設為 20 秒,在 WSL 上為 60 秒 |306| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 工具檔案發現的逾時(秒)。在大多數平台上預設為 20 秒,在 WSL 上為 60 秒 |

302| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 背景工作可以讓活躍目標等待多少分鐘,然後 Claude Code [要求 Claude 檢查它](/docs/zh-TW/goal#background-work-defers-evaluation)。預設 `30`。設定 `0` 以關閉檢查。給出純數字的整分鐘,最多 `10080`,即一週。Claude Code 將任何其他值視為未設定並使用預設值。需要 Claude Code v2.1.234 或更新版本 |307| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 背景工作可以讓活躍目標等待多少分鐘,然後 Claude Code [要求 Claude 檢查它](/docs/zh-TW/goal#background-work-defers-evaluation)。預設 `30`。設定 `0` 以關閉檢查。給出純數字的整分鐘,最多 `10080`,即一週。Claude Code 將任何其他值視為未設定並使用預設值。需要 Claude Code v2.1.234 或更新版本 |

303| `CLAUDE_CODE_HIDE_CWD` | 設定為 `1` 以在啟動徽標中隱藏工作目錄。對於螢幕共享或錄製很有用,其中路徑會公開您的 OS 使用者名稱 |308| `CLAUDE_CODE_HIDE_CWD` | 設定為 `1` 以在啟動徽標中隱藏工作目錄。對於路徑公開您的 OS 使用者名稱的螢幕共享或錄製很有用 |

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

305| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | 設定為 `1` 以跳過 IDE 擴充功能的自動安裝。等同於將 [`autoInstallIdeExtension`](/docs/zh-TW/settings-reference#autoinstallideextension) 設定為 `false` |310| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | 設定為 `1` 以跳過 IDE 擴充功能的自動安裝。等同於將 [`autoInstallIdeExtension`](/docs/zh-TW/settings-reference#autoinstallideextension) 設定為 `false` |

306| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 設定為 `1` 以跳過連線期間 IDE 鎖定檔案項目的驗證。當自動連線無法找到您的 IDE 儘管它執行時使用 |311| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 設定為 `1` 以在連線期間跳過 IDE 鎖定檔案項目的驗證。當自動連線無法找到您的 IDE 儘管它執行時使用 |

307| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | 在一個工作階段中可以執行多少個 [子代理](/docs/zh-TW/sub-agents#concurrent-subagent-limit),然後 Agent 工具拒絕產生另一個(預設值:20)。接受純數字的正整數;其他任何東西都被忽略,因此變數可以調整上限但不能停用它。需要 Claude Code v2.1.217 或更新版本 |312| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | 在 Agent 工具拒絕產生另一個之前,一個工作階段中可以執行多少個 [子代理](/docs/zh-TW/sub-agents#concurrent-subagent-limit)(預設:20)。接受純數字的正整數;任何其他值都被忽略,因此變數可以調整上限但無法停用它。需要 Claude Code v2.1.217 或更新版本 |

308| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | 覆蓋 Claude Code 為活躍模型假設的上下文視窗大小。從 v2.1.193 開始,它如何應用取決於 Claude Code 如何解析模型 ID;請參閱 [為閘道或自訂模型 ID 更正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。在透過 `ANTHROPIC_BASE_URL` 路由到其上下文視窗與其名稱的內建大小不符的模型時使用此選項 |313| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | 覆蓋 Claude Code 為活躍模型假設的上下文視窗大小。自 v2.1.193 起,它如何應用取決於 Claude Code 如何解析模型 ID;請參閱 [為閘道或自訂模型 ID 更正視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。當透過 `ANTHROPIC_BASE_URL` 路由到其上下文視窗與其名稱的內建大小不符的模型時使用 |

309| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 為大多數請求設定最大輸出權杖數。預設值和上限因模型而異;請參閱 [最大輸出權杖](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)。Claude Code 為它不識別的模型 ID(例如閘道特定的名稱)預設為 32000,並將高於模型上限的值降低到上限。增加此值會減少 [自動壓縮](/docs/zh-TW/costs#reduce-token-usage) 觸發前可用的有效上下文視窗 |314| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 為大多數請求設定最大輸出權杖數。預設值和上限因模型而異;請參閱 [最大輸出權杖](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)。Claude Code 為它不識別的模型 ID(例如閘道特定的名稱)預設為 32000,並將高於模型上限的值降低到上限。增加此值會減少 [自動壓縮](/docs/zh-TW/costs#reduce-token-usage) 觸發前可用的有效上下文視窗 |

310| `CLAUDE_CODE_MAX_RETRIES` | 覆蓋重試失敗 API 請求的次數(預設值:10)。從 v2.1.186 開始上限為 15;從 v2.1.199 開始,`CLAUDE_CODE_RETRY_WATCHDOG` 提高預設值並移除上限。對於需要等待更長中斷的無人值守工作階段,改為設定 `CLAUDE_CODE_RETRY_WATCHDOG` |315| `CLAUDE_CODE_MAX_RETRIES` | 覆蓋重試失敗 API 請求的次數(預設:10)。自 v2.1.186 起上限為 15;自 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 提高預設值並移除上限。對於需要等待更長中斷的無人值守工作階段,改為設定 `CLAUDE_CODE_RETRY_WATCHDOG` |

311| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | 在 v2.1.224 中移除,現在是無操作。先前上限了 Claude 可以在一個工作階段中使用 Agent 工具產生的 [子代理](/docs/zh-TW/sub-agents) 總數(預設值:200);超過上限產生失敗,並出現 `Subagent spawn limit reached`。[並行子代理限制](/docs/zh-TW/sub-agents#concurrent-subagent-limit) 和 [深度限制](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 仍適用 |316| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | 在 v2.1.224 中移除,現在是無操作。以前上限了 Claude 可以在一個工作階段中使用 Agent 工具產生的 [子代理](/docs/zh-TW/sub-agents) 總數(預設:200);超過上限產生失敗,並出現 `Subagent spawn limit reached`。[並行子代理限制](/docs/zh-TW/sub-agents#concurrent-subagent-limit) 和 [深度限制](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 仍然適用 |

312| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 主要對話下方允許的 [子代理層](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 數(預設值:3)。在預設值,子代理可以產生自己的子代理,第三層的子代理無法進一步產生;設定 `1` 以關閉嵌套。在 v2.1.217 到 v2.1.218 中,預設值為 1,因此子代理無法產生自己的,除非您提高限制;v2.1.219 將預設值提高到 3。接受純數字的正整數;其他任何東西都被忽略,因此限制可以調整但不能移除。需要 Claude Code v2.1.217 或更新版本 |317| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 主要對話下方允許的 [子代理層](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 數量(預設:3)。在預設值,子代理可以產生自己的子代理,第三層的子代理無法進一步產生;設定 `1` 以關閉嵌套。在 v2.1.217 到 v2.1.218 中,預設為 1,因此子代理無法產生自己的,除非您提高限制;v2.1.219 將預設提高到 3。接受純數字的正整數;任何其他值都被忽略,因此限制可以調整但無法移除。需要 Claude Code v2.1.217 或更新版本 |

313| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 可以並行執行的唯讀工具和子代理的最大數量(預設值:10)。較高的值增加並行性但消耗更多資源 |318| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 可以並行執行的唯讀工具和子代理的最大數量(預設:10)。較高的值增加並行性但消耗更多資源 |

314| `CLAUDE_CODE_MAX_TURNS` | 當沒有傳遞明確限制時,上限代理轉向數。等同於傳遞 [`--max-turns`](/docs/zh-TW/cli-reference#cli-flags),當兩者都設定時優先。不是正整數的值在啟動時被拒絕,並出現錯誤,而不是視為無上限 |319| `CLAUDE_CODE_MAX_TURNS` | 當沒有傳遞明確限制時,限制代理轉的數量。等同於傳遞 [`--max-turns`](/docs/zh-TW/cli-reference#cli-flags),當兩者都設定時優先。不是正整數的值在啟動時被拒絕,並出現錯誤,而不是視為無上限 |

315| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | 一個工作階段可以進行的 [WebSearch](/docs/zh-TW/tools-reference#websearch-tool-behavior) 呼叫總數的上限(預設值:200)。當 Claude 達到上限時,進一步的 WebSearch 呼叫返回通知,告訴它繼續使用已經收集的資訊。接受沒有上限的正整數。其他任何東西都被忽略,預設值適用,因此上限可以提高但不能關閉。需要 Claude Code v2.1.212 或更新版本 |320| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | 一個工作階段可以進行的 [WebSearch](/docs/zh-TW/tools-reference#websearch-tool-behavior) 呼叫總數的上限(預設:200)。當 Claude 達到上限時,進一步的 WebSearch 呼叫返回通知,告訴它繼續使用已經收集的資訊。接受沒有上限的正整數。任何其他值都被忽略,預設適用,因此上限可以提高但無法關閉。需要 Claude Code v2.1.212 或更新版本 |

316| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 設定為 `1` 以使用僅安全基線環境加上伺服器配置的 `env` 產生 stdio MCP 伺服器,而不是繼承您的 shell 環境 |321| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 設定為 `1` 以使用僅安全基線環境加上伺服器配置的 `env` 產生 stdio MCP 伺服器,而不是繼承您的 shell 環境 |

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

318| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 工具呼叫的閒置逾時(毫秒)。當 stdio、HTTP、SSE、WebSocket 或 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) MCP 伺服器在此長時間內沒有傳送回應和沒有進度通知時,工具呼叫會中止,並出現錯誤,而不是等待整體 `MCP_TOOL_TIMEOUT`。覆蓋網路伺服器的 300000(5 分鐘)和 stdio 伺服器的 1800000(30 分鐘)的每個傳輸預設值。設定為 `0` 以停用閒置檢查。低於 1000 的值提高到一秒,值上限為有效 `MCP_TOOL_TIMEOUT`。`.mcp.json` 中至少 1000 的每個伺服器 `timeout` 將該伺服器的閒置視窗提高到至少 `timeout` 值。不適用於 IDE 伺服器或 SDK 進程內伺服器。需要 Claude Code v2.1.187 或更新版本。在 v2.1.203 之前,stdio 伺服器免除閒置逾時 |323| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非互動](/docs/zh-TW/headless) 工作階段的第一個轉等待仍在連線的 MCP 伺服器的毫秒數,代替預設 [第一轉等待](/docs/zh-TW/agent-sdk/mcp#connection-timing)。設定時,等待涵蓋每個待處理伺服器。設定為 `0` 以跳過等待。[`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 伺服器無論值如何都保持自己的 `MCP_TIMEOUT` 等待。需要 Claude Code v2.1.274 或更新版本 |

319| `CLAUDE_CODE_MESSAGING_SOCKET` | 由 Claude Code 設定,不由您設定:在繫結 [收件箱套接字](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 在繫結套接字時將該套接字的路徑匯出到 hooks 和 Bash 命令。在以啟用訊息開始的工作階段中,Claude Code 在任何 hook 執行之前繫結套接字。機器上的其他工作階段將訊息傳遞到此路徑。每個工作階段匯出自己的套接字,而不是從父工作階段繼承的套接字,到達它的訊息會透過工作階段的 [入站控制](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 進行。設定 `env` 區塊無法設定它。需要 Claude Code v2.1.224 或更新版本 |324| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 工具呼叫的閒置逾時(毫秒)。當 stdio、HTTP、SSE、WebSocket 或 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) MCP 伺服器在此長時間內沒有傳送回應和沒有進度通知時,工具呼叫中止,並出現錯誤,而不是等待整體 `MCP_TOOL_TIMEOUT`。覆蓋網路伺服器 300000(5 分鐘)和 stdio 伺服器 1800000(30 分鐘)的每個傳輸預設值。設定為 `0` 以停用閒置檢查。低於 1000 的值提高到一秒,值上限為有效 `MCP_TOOL_TIMEOUT`。`.mcp.json` 中至少 1000 的每個伺服器 `timeout` 將該伺服器的閒置視窗提高到至少 `timeout` 值。不適用於 IDE 伺服器或 SDK 進程內伺服器。需要 Claude Code v2.1.187 或更新版本。在 v2.1.203 之前,stdio 伺服器免除閒置逾時 |

320| `CLAUDE_CODE_MESSAGING_TOKEN` | 由 Claude Code 設定,不由您設定:在繫結 [收件箱套接字](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 將此每個工作階段權杖匯出到 hooks 和 Bash 命令,與 `CLAUDE_CODE_MESSAGING_SOCKET` 一起。發佈到套接字的指令碼可以傳送 `{"type":"auth","token":"<token>"}` 作為其第一行以證明它屬於工作階段。在原生 Windows 上,Claude Code 需要此行並關閉任何不以有效行開啟的連線。[自有子規則](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 說明何時 Claude Code 查詢權杖。每個工作階段匯出自己的權杖,絕不是從父工作階段繼承的權杖。設定 `env` 區塊無法設定它。需要 Claude Code v2.1.228 或更新版本 |325| `CLAUDE_CODE_MESSAGING_SOCKET` | 由 Claude Code 設定,不由您設定:在繫結 [收件箱套接字](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 在繫結套接字時將該套接字的路徑匯出到 hooks 和 Bash 命令。在以啟用訊息傳遞開始的工作階段中,Claude Code 在任何 hook 執行前繫結套接字。機器上的其他工作階段將訊息傳遞到此路徑。每個工作階段匯出自己的套接字,而不是從父工作階段繼承的套接字,到達它的訊息會透過工作階段的 [入站控制](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 進行。設定 `env` 區塊無法設定它。需要 Claude Code v2.1.224 或更新版本 |

321| `CLAUDE_CODE_NATIVE_CURSOR` | 設定為 `1` 以在輸入插入符處顯示終端自己的游標,而不是繪製的區塊。游標尊重終端的閃爍、形狀和焦點設定 |326| `CLAUDE_CODE_MESSAGING_TOKEN` | 由 Claude Code 設定,不由您設定:在繫結 [收件箱套接字](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 的工作階段中,Claude Code 將此每個工作階段權杖匯出到 hooks 和 Bash 命令,與 `CLAUDE_CODE_MESSAGING_SOCKET` 一起。發佈到套接字的指令碼可以傳送 `{"type":"auth","token":"<token>"}` 作為其第一行以證明它屬於工作階段。在原生 Windows 上,Claude Code 需要此行並關閉任何不以有效行開啟的連線。[自有子規則](/docs/zh-TW/cross-session-messaging#the-sessions-inbox-socket) 說明何時 Claude Code 查詢權杖。每個工作階段匯出自己的權杖,從不從父工作階段繼承的權杖。設定 `env` 區塊無法設定它。需要 Claude Code v2.1.228 或更新版本 |

327| `CLAUDE_CODE_NATIVE_CURSOR` | 設定為 `1` 以在輸入插入符號處顯示終端自己的游標,而不是繪製的區塊。游標尊重終端的閃爍、形狀和焦點設定 |

322| `CLAUDE_CODE_NEW_INIT` | 設定為 `1` 以使 `/init` 執行互動設定流程。流程在探索程式碼庫並寫入它們之前詢問要產生哪些檔案,包括 CLAUDE.md、skills 和 hooks。沒有此變數,`/init` 會自動產生 CLAUDE.md,而不提示 |328| `CLAUDE_CODE_NEW_INIT` | 設定為 `1` 以使 `/init` 執行互動設定流程。流程在探索程式碼庫並寫入它們之前詢問要產生哪些檔案,包括 CLAUDE.md、skills 和 hooks。沒有此變數,`/init` 會自動產生 CLAUDE.md,而不提示 |

323| `CLAUDE_CODE_NONBLOCKING_STDOUT` | 設定為 `1` 以透過第二個非阻塞檔案描述符寫入終端輸出,因此停止讀取的終端(例如暫停的 tmux 控制模式窗格或停滯的 SSH 連線)無法在工作階段中途凍結 Claude Code。在 macOS、Linux 和 WSL 上應用,當 stdout 是終端時。需要 Claude Code v2.1.261 或更新版本 |329| `CLAUDE_CODE_NONBLOCKING_STDOUT` | 設定為 `1` 以透過第二個非阻塞檔案描述符寫入終端輸出,因此停止讀取的終端(例如暫停的 tmux 控制模式窗格或停滯的 SSH 連線)無法在工作階段中途凍結 Claude Code。在 macOS、Linux 和 WSL 上應用,當 stdout 是終端時。需要 Claude Code v2.1.261 或更新版本 |

324| `CLAUDE_CODE_NO_FLICKER` | 設定為 `1` 以啟用 [全螢幕呈現](/docs/zh-TW/fullscreen),一項減少閃爍並在長對話中保持記憶體平坦的研究預覽。覆蓋 [`tui`](/docs/zh-TW/settings-reference#tui) 設定;您也可以使用 `/tui fullscreen` 切換 |330| `CLAUDE_CODE_NO_FLICKER` | 設定為 `1` 以啟用 [全螢幕呈現](/docs/zh-TW/fullscreen),一項減少閃爍並在長對話中保持記憶體平坦的研究預覽。覆蓋 [`tui`](/docs/zh-TW/settings-reference#tui) 設定;您也可以使用 `/tui fullscreen` 切換 |

325| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 驗證的 OAuth 重新整理權杖。設定時,`claude auth login` 直接交換此權杖,而不是開啟瀏覽器。需要 `CLAUDE_CODE_OAUTH_SCOPES`。對於在自動化環境中佈建驗證很有用 |331| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 驗證的 OAuth 重新整理權杖。設定時,`claude auth login` 直接交換此權杖,而不是開啟瀏覽器。需要 `CLAUDE_CODE_OAUTH_SCOPES`。對於在自動化環境中佈建驗證很有用 |

326| `CLAUDE_CODE_OAUTH_SCOPES` | 重新整理權杖發出時使用的空格分隔 OAuth 範圍,例如 `"user:profile user:inference user:sessions:claude_code"`。設定 `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` 時為必需 |332| `CLAUDE_CODE_OAUTH_SCOPES` | 重新整理權杖發出的空格分隔 OAuth 範圍,例如 `"user:profile user:inference user:sessions:claude_code"`。設定 `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` 時為必需 |

327| `CLAUDE_CODE_OAUTH_TOKEN` | claude.ai 驗證的 OAuth 存取權杖。`/login` 對 SDK 和自動化環境的替代方案。優先於鑰匙圈儲存的認證。使用 [`claude setup-token`](/docs/zh-TW/authentication#generate-a-long-lived-token) 產生一個。除非您執行 [`/login`](/docs/zh-TW/authentication#authentication-precedence),否則 Claude Code 會為整個工作階段使用您設定的權杖。若要取代過期的權杖,產生新的並重新啟動 |333| `CLAUDE_CODE_OAUTH_TOKEN` | claude.ai 驗證的 OAuth 存取權杖。`/login` 對 SDK 和自動化環境的替代方案。優先於鑰匙圈儲存的認證。使用 [`claude setup-token`](/docs/zh-TW/authentication#generate-a-long-lived-token) 產生一個。除非您執行 [`/login`](/docs/zh-TW/authentication#authentication-precedence),否則 Claude Code 會為整個工作階段使用您設定的權杖。若要替換過期的權杖,產生新的並重新啟動 |

328| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | 在 v2.1.160 中移除,現在是無操作。先前將 [快速模式](/docs/zh-TW/fast-mode) 釘選到 Claude Opus 4.6,而不是目前的預設值。Opus 4.6 不再支援快速模式 |334| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | 在 v2.1.160 中移除,現在是無操作。以前將 [快速模式](/docs/zh-TW/fast-mode) 釘選到 Claude Opus 4.6,而不是目前的預設。Opus 4.6 不再支援快速模式 |

329| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 內容承載 OpenTelemetry 屬性(模型回應、工具內容、系統提示、原始 API 主體)的最大長度,截斷標記包括在內,以 UTF-16 程式碼單位為單位(預設值:61440,即 60 KB)。僅當您的遙測後端接受大於 64 KB 的屬性值時才提高它,或降低它以減少遙測量。需要 Claude Code v2.1.214 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage) |335| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 內容承載 OpenTelemetry 屬性(模型回應、工具內容、系統提示、原始 API 主體)的最大長度,截斷標記包括在內,以 UTF-16 程式碼單位為單位(預設:61440,即 60 KB)。僅當您的遙測後端接受大於 64 KB 的屬性值時才提高它,或降低它以減少遙測量。需要 Claude Code v2.1.214 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

330| `CLAUDE_CODE_OTEL_DIAG_STDERR` | 設定為 `1` 以將 OpenTelemetry 匯出器診斷錯誤寫入 stderr。預設情況下,這些錯誤僅在 `--debug` 時出現,因此配置不當的匯出器(例如 Prometheus 埠衝突)否則會無聲地失敗。需要 Claude Code v2.1.179 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage) |336| `CLAUDE_CODE_OTEL_DIAG_STDERR` | 設定為 `1` 以將 OpenTelemetry 匯出器診斷錯誤寫入 stderr。預設情況下,這些錯誤僅與 `--debug` 一起出現,因此配置不當的匯出器(例如 Prometheus 埠衝突)否則會無聲地失敗。需要 Claude Code v2.1.179 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

331| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 刷新待處理 OpenTelemetry 跨度的逾時(毫秒)(預設值:5000)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |337| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 刷新待處理 OpenTelemetry 跨度的逾時(毫秒)(預設:5000)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

332| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 刷新動態 OpenTelemetry 標頭的間隔(毫秒)(預設值:1740000 / 29 分鐘)。請參閱 [動態標頭](/docs/zh-TW/monitoring-usage#dynamic-headers) |338| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 刷新動態 OpenTelemetry 標頭的間隔(毫秒)(預設:1740000 / 29 分鐘)。請參閱 [動態標頭](/docs/zh-TW/monitoring-usage#dynamic-headers) |

333| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | OpenTelemetry 匯出器在關閉時完成的逾時(毫秒)(預設值:2000)。如果在退出時丟棄指標,請增加。請參閱 [監控](/docs/zh-TW/monitoring-usage) |339| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | OpenTelemetry 匯出器在關閉時完成的逾時(毫秒)(預設:2000)。如果指標在退出時被丟棄,請增加。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

334| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | 設定為 `1` 以讓 Claude Code 在新版本可用時在背景執行您的套件管理器的升級命令。適用於 Homebrew 和 WinGet 安裝。其他套件管理器繼續顯示升級命令而不執行它。請參閱 [自動更新](/docs/zh-TW/setup#auto-updates) |340| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | 設定為 `1` 以讓 Claude Code 在新版本可用時在背景執行您的套件管理員的升級命令。適用於 Homebrew 和 WinGet 安裝。其他套件管理員繼續顯示升級命令而不執行它。請參閱 [自動更新](/docs/zh-TW/setup#auto-updates) |

335| `CLAUDE_CODE_PERFORCE_MODE` | 設定為 `1` 以啟用 Perforce 感知寫入保護。設定時,如果目標檔案缺少所有者寫入位元,Edit、Write 和 NotebookEdit 會失敗,並出現 `p4 edit <file>` 提示,Perforce 在同步的檔案上清除該位元,直到 `p4 edit` 開啟它們。這可防止 Claude Code 繞過 Perforce 變更追蹤 |341| `CLAUDE_CODE_PERFORCE_MODE` | 設定為 `1` 以啟用 Perforce 感知寫入保護。設定時,如果目標檔案缺少所有者寫入位元(Perforce 在同步的檔案上清除,直到 `p4 edit` 開啟它們),Edit、Write 和 NotebookEdit 會失敗,並出現 `p4 edit <file>` 提示。這可防止 Claude Code 繞過 Perforce 變更追蹤 |

336| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 覆蓋外掛程式根目錄。儘管名稱如此,這設定了父目錄,而不是快取本身:市場和外掛程式快取位於此路徑下的子目錄中。預設為 `~/.claude/plugins` |342| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 覆蓋外掛程式根目錄。儘管名稱如此,這設定了父目錄,而不是快取本身:市場和外掛程式快取位於此路徑下的子目錄中。預設為 `~/.claude/plugins` |

337| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 安裝或更新外掛程式時 git 操作的逾時(毫秒)(預設值:120000)。對於大型儲存庫或慢速網路連線,增加此值。請參閱 [Git 操作逾時](/docs/zh-TW/plugin-marketplaces#git-operations-time-out) |343| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 安裝或更新外掛程式時 git 操作的逾時(毫秒)(預設:120000)。對於大型儲存庫或緩慢網路連線,增加此值。請參閱 [Git 操作逾時](/docs/zh-TW/plugin-marketplaces#git-operations-time-out) |

338| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 設定為 `1` 以在 `git pull` 失敗時跳過重新複製嘗試並繼續使用現有市場快取。在離線或隔離環境中很有用,其中重新複製會以相同方式失敗。請參閱 [市場更新在離線環境中失敗](/docs/zh-TW/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |344| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 設定為 `1` 以在市場刷新無法到達或驗證遠端時跳過重新複製嘗試並繼續使用現有市場簽出。在離線或隔離環境中很有用,其中重新複製會以相同方式失敗。請參閱 [市場更新在離線環境中失敗](/docs/zh-TW/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |

339| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | 設定為 `1` 以透過 HTTPS 而不是 SSH 複製 GitHub `owner/repo` 速記來源。適用於外掛程式安裝和更新,以及 `/plugin marketplace add` 和 `update`。在 CI 執行器、容器或任何沒有為 `github.com` 配置 SSH 金鑰的環境中很有用 |345| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | 設定為 `1` 以透過 HTTPS 而不是 SSH 複製 GitHub `owner/repo` 速記來源。適用於外掛程式安裝和更新,以及 `/plugin marketplace add` 和 `update`。在 CI 執行器、容器或任何沒有為 `github.com` 配置 SSH 金鑰的環境中很有用 |

340| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 一個或多個唯讀外掛程式種子目錄的路徑,在 Unix 上以 `:` 分隔,在 Windows 上以 `;` 分隔。使用此選項將預先填充的外掛程式目錄捆綁到容器映像中。Claude Code 在啟動時從這些目錄註冊市場,並使用預先快取的外掛程式而不重新複製。請參閱 [為容器預先填充外掛程式](/docs/zh-TW/plugin-marketplaces#pre-populate-plugins-for-containers) |346| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 一個或多個唯讀外掛程式種子目錄的路徑,在 Unix 上以 `:` 分隔,在 Windows 上以 `;` 分隔。使用此選項將預先填充的外掛程式目錄捆綁到容器映像中。Claude Code 在啟動時從這些目錄註冊市場,並使用預先快取的外掛程式而不重新複製。請參閱 [為容器預先填充外掛程式](/docs/zh-TW/plugin-marketplaces#pre-populate-plugins-for-containers) |

341| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | 設定為 `1` 以停止 Claude Code 在為工具呼叫、hooks 和狀態列命令產生 PowerShell 時傳遞 `-ExecutionPolicy Bypass`,並改為尊重機器的有效執行政策。預設情況下 Claude Code 在程序範圍內繞過執行政策,因此 `.ps1` 指令碼和模組匯入在預設限制的 Windows 安裝上工作。程序範圍繞過無論此設定如何都不會覆蓋 Group Policy `MachinePolicy` 或 `UserPolicy` |347| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | 設定為 `1` 以停止 Claude Code 在為工具呼叫、hooks 和狀態列命令產生 PowerShell 時傳遞 `-ExecutionPolicy Bypass`,並改為尊重機器的有效執行政策。預設情況下,Claude Code 在程序範圍內繞過執行政策,因此 `.ps1` 指令碼和模組匯入在預設限制的 Windows 安裝上工作。程序範圍繞過永遠不會覆蓋 Group Policy `MachinePolicy` 或 `UserPolicy`,無論此設定如何 |

342| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | 在 [非互動模式](/docs/zh-TW/headless#background-tasks-at-exit) 中使用 `-p` 旗標後最終轉向後等待背景子代理和工作流程的閒置等待上限(毫秒)。每次 Claude 採取轉向來處理背景結果時,閒置等待重新開始。預設:`600000`,或 10 分鐘。當閒置等待達到上限時,Claude Code 停止等待剩餘的背景工作並退出。設定為 `0` 以無限期等待。此上限與適用於純背景 shells 的五秒寬限期分開。需要 Claude Code v2.1.182 或更新版本 |348| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | 在 [非互動模式](/docs/zh-TW/headless#background-tasks-at-exit) 中使用 `-p` 旗標的最終轉後,等待背景子代理和工作流程的閒置等待上限(毫秒)。每次 Claude 轉以處理背景結果時,閒置等待重新開始。預設:`600000`,或 10 分鐘。當閒置等待達到上限時,Claude Code 停止等待剩餘的背景工作並退出。設定為 `0` 以無限期等待。此上限與適用於純背景 shell 的五秒寬限期分開。需要 Claude Code v2.1.182 或更新版本 |

343| `CLAUDE_CODE_PROCESS_WRAPPER` | 透過公司啟動器啟動 Claude Code 從其自己的二進位檔啟動的程序,例如主機 [代理檢視](/docs/zh-TW/agent-view) 工作階段的背景服務,作為 `/opt/corp/launcher` 等 argv 前綴。在使用者或 [受管設定](/docs/zh-TW/managed-settings) 的 `env` 區塊中設定它,而不是作為 shell 匯出,因此分離的背景服務繼承它;專案和本機設定無法設定它。等同於 [`processWrapper` 設定](/docs/zh-TW/settings-reference#processwrapper),需要 Claude Code v2.1.210 或更新版本;當兩者都設定時此變數優先。VS Code 擴充功能透過其 `claudeProcessWrapper` 設定單獨配置自己的啟動器。在 Windows 上忽略。請參閱 [在公司啟動器後執行 Claude Code](/docs/zh-TW/corporate-launcher) 以了解值格式、啟動器涵蓋的內容以及啟動器必須滿足的合約。需要 Claude Code v2.1.208 或更新版本 |349| `CLAUDE_CODE_PROCESS_WRAPPER` | 透過公司啟動器(作為 argv 前綴給出,如 `/opt/corp/launcher`)啟動 Claude Code 從其自己的二進位檔啟動的程序,例如主機 [代理檢視](/docs/zh-TW/agent-view) 工作階段的背景服務。在使用者或 [受管設定](/docs/zh-TW/managed-settings) 的 `env` 區塊中設定它,而不是作為 shell 匯出,以便分離的背景服務繼承它;專案和本機設定無法設定它。等同於 [`processWrapper` 設定](/docs/zh-TW/settings-reference#processwrapper),需要 Claude Code v2.1.210 或更新版本;當兩者都設定時,此變數優先。VS Code 擴充功能透過其 `claudeProcessWrapper` 設定單獨配置自己的啟動器。在 Windows 上被忽略。請參閱 [在公司啟動器後執行 Claude Code](/docs/zh-TW/corporate-launcher) 以了解值格式、啟動器涵蓋的內容以及啟動器必須滿足的合約。需要 Claude Code v2.1.208 或更新版本 |

344| `CLAUDE_CODE_PROJECT_DIR_NAME` | 與 `CLAUDE_CONFIG_DIR` 一起設定,以選擇 Claude Code 在其中儲存該工作階段的文字記錄和自動記憶的 `projects/` 目錄名稱,代替從工作目錄路徑衍生的名稱。例如,使用 `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` 啟動 Claude Code 會將它們儲存在 `/srv/tenant-a/projects/work/` 下。當 `CLAUDE_CONFIG_DIR` 未設定時,Claude Code 會忽略此變數,並僅從您啟動 `claude` 的環境讀取它,絕不從 [設定檔 `env` 區塊](#in-settings-files)。請參閱 [自己命名專案目錄](/docs/zh-TW/sessions#name-the-project-directory-yourself)。需要 Claude Code v2.1.234 或更新版本 |350| `CLAUDE_CODE_PROJECT_DIR_NAME` | 與 `CLAUDE_CONFIG_DIR` 一起設定,以選擇 Claude Code 儲存該工作階段的文字記錄和自動記憶的 `projects/` 目錄名稱,代替從工作目錄路徑衍生的名稱。例如,使用 `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` 啟動 Claude Code 將它們儲存在 `/srv/tenant-a/projects/work/` 下。當 `CLAUDE_CONFIG_DIR` 未設定時,Claude Code 會忽略此變數,並讀取它僅從您啟動 `claude` 的環境,從不從 [設定檔 `env` 區塊](#in-settings-files)。請參閱 [自己命名專案目錄](/docs/zh-TW/sessions#name-the-project-directory-yourself)。需要 Claude Code v2.1.234 或更新版本 |

345| `CLAUDE_CODE_PROMPT_CACHE_TTL` | 設定 `5m` 或 `1h`,Claude Code 接受的唯一值,以選擇主要對話的 [提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime):您的互動、`-p` 和 SDK 轉向,加上與它們內聯執行的幫助程式。優先於 `promptCacheTtl` 設定和 `ENABLE_PROMPT_CACHING_1H`,`FORCE_PROMPT_CACHING_5M` 覆蓋它。API 以更高的速率計費 1 小時快取寫入。需要 Claude Code v2.1.242 或更新版本 |351| `CLAUDE_CODE_PROMPT_CACHE_TTL` | 設定 `5m` 或 `1h`,Claude Code 接受的唯一值,以選擇主要對話的 [提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime):您的互動、`-p` 和 SDK 轉,加上與它們內聯執行的幫助程式。優先於 `promptCacheTtl` 設定,`ENABLE_PROMPT_CACHING_1H` 和 `FORCE_PROMPT_CACHING_5M` 覆蓋它。API 以更高的速率計費 1 小時快取寫入。需要 Claude Code v2.1.242 或更新版本 |

346| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | 設定為 `1` 以在 `ANTHROPIC_BASE_URL` 指向自訂代理時傳播 W3C 追蹤上下文。傳播涵蓋模型和 HTTP MCP 請求上的 `traceparent` 標頭以及 Bash、PowerShell 和 hook 子程序的 `TRACEPARENT` 環境變數。預設情況下,傳播僅在直接連線到 Anthropic API 時啟用。在 v2.1.152 中新增。請參閱 [追蹤(測試版)](/docs/zh-TW/monitoring-usage#traces-beta) |352| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | 設定為 `1` 以在 `ANTHROPIC_BASE_URL` 指向自訂代理時傳播 W3C 追蹤上下文。傳播涵蓋模型和 HTTP MCP 請求上的 `traceparent` 標頭以及 Bash、PowerShell 和 hook 子程序的 `TRACEPARENT` 環境變數。預設情況下,傳播僅在直接連線到 Anthropic API 時啟用。在 v2.1.152 中新增。請參閱 [追蹤(測試版)](/docs/zh-TW/monitoring-usage#traces-beta) |

347| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | 由嵌入 Claude Code 並代表其管理模型提供者路由的主機平台設定。設定時,Claude Code 會忽略設定檔中的提供者選擇、端點和驗證變數(例如 `CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY`),因此使用者設定無法覆蓋主機的路由。Claude Code 也會忽略 [受管設定](/docs/zh-TW/managed-settings) 中的模型選擇金鑰(例如 `model`、`fallbackModel` 和 `modelOverrides`),無論受管來源傳遞它們,因此主機的模型設定優先於過期的受管模型釘選。Claude Code 也會忽略受管 `env` 區塊中的模型選擇變數(例如 `ANTHROPIC_MODEL` 和 `ANTHROPIC_DEFAULT_*_MODEL` 系列);受管設定中的 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 允許清單仍適用,除非主機提供自己的。Claude Code 也會跳過它在第三方提供者(例如 Amazon Bedrock、AWS 上的 Claude Platform、Google Cloud 的 Agent Platform 和 Microsoft Foundry)上否則應用的自動遙測選擇退出,因此遙測遵循標準 `DISABLE_TELEMETRY` 選擇退出。請參閱 [按 API 提供者的預設行為](/docs/zh-TW/data-usage#default-behaviors-by-api-provider) |353| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | 由嵌入 Claude Code 並代表其管理模型提供者路由的主機平台設定。設定時,Claude Code 會忽略設定檔中的提供者選擇、端點和驗證變數(例如 `CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY`),因此使用者設定無法覆蓋主機的路由。Claude Code 也忽略 [受管設定](/docs/zh-TW/managed-settings) 中的模型選擇金鑰(例如 `model`、`fallbackModel` 和 `modelOverrides`),無論哪個受管來源傳遞它們,因此主機的模型配置優先於過期的受管模型釘選。Claude Code 也忽略受管 `env` 區塊中的模型選擇變數(例如 `ANTHROPIC_MODEL` 和 `ANTHROPIC_DEFAULT_*_MODEL` 系列);受管設定中的 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 允許清單仍然適用,除非主機提供自己的。Claude Code 也跳過它在第三方提供者(例如 Amazon Bedrock、Claude Platform on AWS、Google Cloud's Agent Platform 和 Microsoft Foundry)上否則應用的自動遙測選擇退出,因此遙測遵循標準 `DISABLE_TELEMETRY` 選擇退出。請參閱 [按 API 提供者的預設行為](/docs/zh-TW/data-usage#default-behaviors-by-api-provider) |

348| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 設定為 `1` 以允許代理執行 DNS 解析,而不是呼叫者。對於代理應該處理主機名稱解析的環境選擇加入 |354| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 設定為 `1` 以允許代理執行 DNS 解析,而不是呼叫者。對於代理應處理主機名稱解析的環境選擇加入 |

349| `CLAUDE_CODE_REMOTE` | 當 Claude Code 執行為 [雲工作階段](/docs/zh-TW/claude-code-on-the-web) 時自動設定為 `true`。從 hook 或設定指令碼讀取此項以偵測您是否在雲工作階段中 |355| `CLAUDE_CODE_REMOTE` | 當 Claude Code 作為 [雲工作階段](/docs/zh-TW/claude-code-on-the-web) 執行時自動設定為 `true`。從 hook 或設定指令碼讀取此項以偵測您是否在雲工作階段中 |

350| `CLAUDE_CODE_REMOTE_SESSION_ID` | 在 [雲工作階段](/docs/zh-TW/claude-code-on-the-web) 中自動設定為目前工作階段的 ID。讀取此項以構造連結回工作階段文字記錄。請參閱 [將輸出連結回工作階段](/docs/zh-TW/cloud-environments#link-output-back-to-the-session) |356| `CLAUDE_CODE_REMOTE_SESSION_ID` | 在 [雲工作階段](/docs/zh-TW/claude-code-on-the-web) 中自動設定為目前工作階段的 ID。讀取此項以構造連結回工作階段文字記錄。請參閱 [將輸出連結回工作階段](/docs/zh-TW/cloud-environments#link-output-back-to-the-session) |

351| `CLAUDE_CODE_RESTRICTED` | 設定為 `1` 以在受限模式中啟動工作階段,與傳遞 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 相同。Claude Code 會忽略設定檔的 `env` 區塊中的此變數。需要 Claude Code v2.1.248 或更新版本 |357| `CLAUDE_CODE_RESTRICTED` | 設定為 `1` 以在受限模式中啟動工作階段,與傳遞 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 相同。Claude Code 在設定檔的 `env` 區塊中忽略此變數。需要 Claude Code v2.1.248 或更新版本 |

352| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | 設定為 `1` 以在上一個工作階段在轉向中途結束時自動繼續。在 SDK 模式中使用,以便模型繼續而不需要 SDK 重新傳送提示。若要關閉此功能,取消設定變數或將其設定為 `0`。在 v2.1.221 之前,Claude Code 忽略 `0` 和其他虛假值,因此在非互動模式中設定 `0` 仍會觸發繼續,取消設定變數是關閉它的唯一方式 |358| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | 設定為 `1` 以在上一個工作階段在轉中途結束時自動繼續。在 SDK 模式中使用,以便模型繼續而無需 SDK 重新傳送提示。若要關閉此項,取消設定變數或將其設定為 `0`。在 v2.1.221 之前,Claude Code 忽略 `0` 和其他虛假值,因此在非互動模式中設定 `0` 仍會觸發繼續,取消設定變數是關閉它的唯一方式 |

353| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | 在轉向中途結束的工作階段自動繼續時,最後文字記錄訊息的最大年齡(毫秒)。當最後訊息比此界限更舊時,Claude Code 會跳過 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 自動繼續和注入的 `CLAUDE_CODE_RESUME_PROMPT` 繼續訊息,工作階段啟動閒置,因此您明確繼續。未設定或 `0` 表示無界限;負值或非數值值應用一小時界限。長時間執行的代理的產生指令碼可以設定此項,以便針對舊文字記錄的重新啟動不會重新執行過時的提示。Claude Code 在重新啟動崩潰的 [代理檢視](/docs/zh-TW/agent-view) 工作階段時自己設定一小時界限,該工作階段從互動工作階段繼承其對話。需要 Claude Code v2.1.211 或更新版本 |359| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | 在中途結束的工作階段繼續自動繼續的最後文字記錄訊息的最大年齡(毫秒)。當最後訊息比此界限更舊時,Claude Code 會跳過 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 自動繼續和注入的 `CLAUDE_CODE_RESUME_PROMPT` 繼續訊息,工作階段啟動閒置,以便您明確繼續。未設定或 `0` 表示無界限;負值或非數值值應用一小時界限。長時間執行代理的產生指令碼可以設定此項,以便針對舊文字記錄的重新啟動不會重新執行過時的提示。Claude Code 在重新啟動繼承其對話的崩潰 [代理檢視](/docs/zh-TW/agent-view) 工作階段時自己設定一小時界限。需要 Claude Code v2.1.211 或更新版本 |

354| `CLAUDE_CODE_RESUME_PROMPT` | 覆蓋在繼續在轉向中途結束的工作階段時注入的繼續訊息。預設為 `Continue from where you left off.`。長時間執行的代理的產生指令碼可以設定此項為更具指示性的啟動訊息。空字串使用預設值 |360| `CLAUDE_CODE_RESUME_PROMPT` | 覆蓋在繼續在轉中途結束的工作階段時注入的繼續訊息。預設為 `Continue from where you left off.`。長時間執行代理的產生指令碼可以設定此項為更具指導性的啟動訊息。空字串使用預設值 |

355| `CLAUDE_CODE_RETRY_WATCHDOG` | 設定為 `1` 用於無人值守的工作階段,例如評估工具、CI 工作或遠端工作者。無限期重試 `429` 和 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 嘗試後失敗。Claude Code 在報告支出限制或耗盡使用額度的 `429` 上立即失敗,即使來自 [閘道支出上限](/docs/zh-TW/errors#spend-limit-reached) 的按計劃重設。在 v2.1.239 之前,監視狗無限期重試這些。監視狗在嘗試之間備份最多 5 分鐘,或直到限制在回應攜帶速率限制重設時間時重設,因此達到使用限制的工作階段會等待剩餘視窗。在 v2.1.199 或更新版本上,它也為其他暫時性錯誤(例如伺服器錯誤、逾時和丟棄的連線)提高預設重試計數為 300,大約三小時的備份,如果您明確設定該變數,則移除 `CLAUDE_CODE_MAX_RETRIES` 的 15 上限。需要 Claude Code v2.1.186 或更新版本 |361| `CLAUDE_CODE_RETRY_WATCHDOG` | 對於無人值守工作階段(例如評估工具、CI 工作或遠端工作者),設定為 `1`。無限期重試 `429` 和 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 嘗試後失敗。當標準速度請求取得報告支出限制或耗盡使用額度的 `429` 時,Claude Code 立即失敗,即使來自 [閘道支出上限](/docs/zh-TW/errors#spend-limit-reached) 的按計畫重設。在 v2.1.239 之前,看門狗無限期重試這些。對於快速模式請求,請參閱 [處理速率限制](/docs/zh-TW/fast-mode#handle-rate-limits)。看門狗在嘗試之間退避最多 5 分鐘,或直到限制重設(當回應攜帶速率限制重設時間時),因此達到使用限制的工作階段會等待剩餘視窗。在 v2.1.199 或更新版本上,它也為其他暫時性錯誤(例如伺服器錯誤、逾時和丟棄的連線)提高預設重試計數為 300,大約三小時的退避,如果您明確設定該變數,則移除 15 的上限。需要 Claude Code v2.1.186 或更新版本 |

356| `CLAUDE_CODE_SAFE_MODE` | 設定為 `1` 以在安全模式中啟動:CLAUDE.md、skills、外掛程式、hooks、MCP 伺服器、自訂命令和代理、輸出樣式、工作流程、自訂主題、自訂快捷鍵、狀態列和檔案建議命令、LSP 伺服器和自動記憶不載入,用於疑難排解損壞的設定。受管設定政策仍適用,包括政策配置的 hooks、狀態列和檔案建議命令;受管外掛程式、受管 skills、受管 CLAUDE.md 和政策配置的 MCP 伺服器不適用。等同於傳遞 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags)。直接產生的子程序繼承變數 |362| `CLAUDE_CODE_SAFE_MODE` | 設定為 `1` 以在安全模式中啟動:CLAUDE.md、skills、外掛程式、hooks、MCP 伺服器、自訂命令和代理、輸出樣式、工作流程、自訂主題、自訂快捷鍵、狀態列和檔案建議命令、LSP 伺服器和自動記憶不載入,用於疑難排解損壞的配置。受管設定政策仍然適用,包括政策配置的 hooks、狀態列和檔案建議命令;受管外掛程式、受管 skills、受管 CLAUDE.md 和政策配置的 MCP 伺服器不適用。等同於傳遞 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags)。直接產生的子程序繼承變數 |

357| `CLAUDE_CODE_SCRIPT_CAPS` | JSON 物件限制當設定 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 時,特定指令碼在每個工作階段中可能被呼叫多少次。金鑰是針對命令文字匹配的子字串;值是整數呼叫限制。例如,`{"deploy.sh": 2}` 允許 `deploy.sh` 最多被呼叫兩次。匹配是基於子字串的,因此 shell 擴展技巧(如 `./scripts/deploy.sh $(evil)`)仍然計入上限。透過 `xargs` 或 `find -exec` 的執行時間扇出未被偵測;這是深度防禦控制 |363| `CLAUDE_CODE_SCRIPT_CAPS` | JSON 物件,限制設定 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 時特定指令碼在每個工作階段中可能被呼叫的次數。金鑰是針對命令文字匹配的子字串;值是整數呼叫限制。例如,`{"deploy.sh": 2}` 允許 `deploy.sh` 最多被呼叫兩次。匹配是基於子字串的,因此 shell 擴展技巧(如 `./scripts/deploy.sh $(evil)`)仍然計入上限。透過 `xargs` 或 `find -exec` 的執行時間扇出未被偵測;這是深度防禦控制 |

358| `CLAUDE_CODE_SCROLL_SPEED` | 在 [全螢幕呈現](/docs/zh-TW/fullscreen#mouse-wheel-scrolling) 中設定滑鼠滾輪捲軸乘數。接受任何正值最多 20,包括低於 1 的分數值(例如 `0.5`)以減慢已加速的觸控板和滾輪捲軸在已經放大滾輪事件的終端中。設定為 `3` 以符合 `vim`,如果您的終端在沒有放大的情況下每個凹槽傳送一個滾輪事件。在 JetBrains IDE 終端中忽略,Claude Code 在那裡使用自己的捲軸處理 |364| `CLAUDE_CODE_SCROLL_SPEED` | 在 [全螢幕呈現](/docs/zh-TW/fullscreen#mouse-wheel-scrolling) 中設定滑鼠滾輪捲軸乘數。接受任何正值最多 20,包括低於 1 的分數值(例如 `0.5`)以減慢已放大的觸控板和滾輪捲軸在已放大滾輪事件的終端中。設定為 `3` 以在您的終端每個缺口傳送一個滾輪事件而不放大時符合 `vim`。在 JetBrains IDE 終端中被忽略,Claude Code 使用自己的捲軸處理 |

359| `CLAUDE_CODE_SEND_FEEDBACK` | 設定為 `0` 以關閉工作階段的 [Claude 起草的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)。設定為 `1` 以在您的帳戶已有存取權的地方開啟;變數本身無法授予存取權,其他關閉回饋的開關(例如 `DISABLE_FEEDBACK_COMMAND` 和 [`feedbackDrafts`](/docs/zh-TW/settings-reference#feedbackdrafts) 設定的 `off` 值)仍適用 |365| `CLAUDE_CODE_SEND_FEEDBACK` | 設定為 `0` 以為工作階段關閉 [Claude 起草的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)。設定為 `1` 以在您的帳戶已有存取權的地方開啟;變數本身無法授予存取權,關閉回饋的其他開關(例如 `DISABLE_FEEDBACK_COMMAND` 和 [`feedbackDrafts`](/docs/zh-TW/settings-reference#feedbackdrafts) 設定的 `off` 值)仍然適用 |

360| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | 覆蓋 [SessionEnd](/docs/zh-TW/hooks#sessionend) hooks 的時間預算(毫秒)。適用於工作階段退出、`/clear` 和透過互動 `/resume` 切換工作階段。預設情況下預算為 1.5 秒,自動提高到設定檔中配置的最高每個 hook `timeout`,最多 60 秒。外掛程式提供的 hooks 上的逾時不會提高預算 |366| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | 覆蓋 [SessionEnd](/docs/zh-TW/hooks#sessionend) hooks 的時間預算(毫秒)。值也是未設定自己 `timeout` 的每個 hook 的逾時。適用於工作階段退出、`/clear` 和透過互動 `/resume` 切換工作階段。預設情況下,預算為 1.5 秒,自動提高到設定檔中配置的最高每個 hook `timeout`,最多 60 秒。外掛程式提供的 hooks 上的逾時不會提高預算 |

361| `CLAUDE_CODE_SESSION_ID` | 在 Bash 和 PowerShell 工具子程序、[hook 命令](/docs/zh-TW/hooks) 子程序和 stdio [MCP 伺服器](/docs/zh-TW/mcp) 子程序中自動設定為目前工作階段 ID。對於 Bash、PowerShell 和 hooks,這符合 hook JSON 輸入中的 `session_id` 欄位,並在 `/clear` 上更新。MCP 伺服器子程序保留它產生時的 ID。在 `--resume <session-id>` 上,它接收繼續的 ID,符合 hooks 和 Bash。在 `--continue` 或 `--resume` 沒有明確 ID 上,它可能接收初始啟動 ID。用於將指令碼和外部工具與啟動它們的 Claude Code 工作階段相關聯 |367| `CLAUDE_CODE_SESSION_ID` | 在 Bash 和 PowerShell 工具子程序、[hook 命令](/docs/zh-TW/hooks) 子程序和 stdio [MCP 伺服器](/docs/zh-TW/mcp) 子程序中自動設定為目前工作階段 ID。對於 Bash、PowerShell 和 hooks,這符合 hook JSON 輸入中的 `session_id` 欄位,並在 `/clear` 上更新。MCP 伺服器子程序保留它產生時的 ID。在 `--resume <session-id>` 上,它接收繼續的 ID,符合 hooks 和 Bash。在 `--continue` 或 `--resume` 沒有明確 ID 上,它可能接收初始啟動 ID。用於將指令碼和外部工具與啟動它們的 Claude Code 工作階段相關聯 |

362| `CLAUDE_CODE_SHELL` | 設定 Claude Code 用於執行 Bash 工具命令的 shell。接受 `bash` 或 `zsh` 二進位檔的路徑,例如 `/opt/homebrew/bin/bash`。不支援 `fish` 等其他 shells。如果值不是工作的 `bash` 或 `zsh` 路徑,Claude Code 會忽略它並回退到自動偵測。自動偵測在指向 `bash` 或 `zsh` 時使用您的 `$SHELL`,否則它選擇在您的 `PATH` 和標準安裝位置上找到的第一個工作的 `zsh`,然後 `bash` |368| `CLAUDE_CODE_SHELL` | 設定 Claude Code 用於執行 Bash 工具命令的 shell。接受 `bash` 或 `zsh` 二進位檔的路徑,例如 `/opt/homebrew/bin/bash`。不支援 `fish` 等其他 shell。如果值不是工作的 `bash` 或 `zsh` 路徑,Claude Code 會忽略它並回退到自動偵測。自動偵測在指向 `bash` 或 `zsh` 時使用您的 `$SHELL`,否則它在您的 `PATH` 和標準安裝位置上選擇第一個工作的 `zsh` 然後 `bash` |

363| `CLAUDE_CODE_SHELL_PREFIX` | 包裝 Claude Code 產生的 shell 命令的命令前綴:Bash 工具呼叫、[hook](/docs/zh-TW/hooks) 命令、[狀態列](/docs/zh-TW/statusline) 命令和 stdio [MCP 伺服器](/docs/zh-TW/mcp) 啟動命令。PowerShell hooks 和 exec 形式 hooks 執行時不帶前綴。對於日誌記錄或稽核很有用。設定裸可執行檔路徑(例如 `/path/to/logger.sh`)將每個命令執行為 `/path/to/logger.sh '<command>'`。包裝器在 `$1` 中接收命令行作為單個 shell 引用的引數,因此包裝器必須使用 shell 重新評估 `$1`,例如 `exec bash -c "$1"`。將 `$1` 視為裸可執行檔路徑會破壞傳遞引數的 stdio MCP 伺服器,例如 `npx -y <package>`。對於 Bash 工具呼叫,`$1` 包含 Claude Code 組裝的完整 shell 呼叫,包括環境設定,而不僅僅是 Claude 執行的命令 |369| `CLAUDE_CODE_SHELL_PREFIX` | 包裝 Claude Code 產生的 shell 命令的命令前綴:Bash 工具呼叫、[hook](/docs/zh-TW/hooks) 命令、[狀態列](/docs/zh-TW/statusline) 命令和 stdio [MCP 伺服器](/docs/zh-TW/mcp) 啟動命令。PowerShell hooks 和 exec 形式 hooks 執行時不帶前綴。對於日誌記錄或稽核很有用。設定裸可執行檔路徑(例如 `/path/to/logger.sh`)將每個命令執行為 `/path/to/logger.sh '<command>'`。包裝器在 `$1` 中接收命令列作為單個 shell 引用的引數,因此包裝器必須使用 shell 重新評估 `$1`,例如 `exec bash -c "$1"`。將 `$1` 視為裸可執行檔路徑會破壞傳遞引數的 stdio MCP 伺服器,例如 `npx -y <package>`。對於 Bash 工具呼叫,`$1` 包含 Claude Code 組合的完整 shell 呼叫,包括環境設定,而不僅僅是 Claude 執行的命令 |

364| `CLAUDE_CODE_SIMPLE` | 設定為 `1` 以使用最小系統提示和僅 Bash、檔案讀取和檔案編輯工具執行。來自 `--mcp-config` 的 MCP 工具仍然可用。停用 hooks、skills、自訂命令、子代理、外掛程式、MCP 伺服器、自動記憶和 CLAUDE.md 的自動發現。您使用 `--add-dir` 傳遞的目錄中的 Skills 仍然載入。OAuth 權杖和鑰匙圈認證不被讀取,因此 Anthropic 驗證必須來自 `ANTHROPIC_API_KEY` 或 `--settings` 中的 `apiKeyHelper`。等同於傳遞 [`--bare`](/docs/zh-TW/headless#start-faster-with-bare-mode) |370| `CLAUDE_CODE_SIMPLE` | 設定為 `1` 以使用最小系統提示和僅 Bash、檔案讀取和檔案編輯工具執行。來自 `--mcp-config` 的 MCP 工具仍然可用。停用 hooks、skills、自訂命令、子代理、外掛程式、MCP 伺服器、自動記憶和 CLAUDE.md 的自動發現。您使用 `--add-dir` 傳遞的目錄中的 Skills 仍然載入。OAuth 權杖和鑰匙圈認證未讀取,因此 Anthropic 驗證必須來自 `ANTHROPIC_API_KEY` 或 `--settings` 中的 `apiKeyHelper`。等同於傳遞 [`--bare`](/docs/zh-TW/headless#start-faster-with-bare-mode) |

365| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 設定為 `1` 以在任何模型上使用較短的系統提示和縮寫工具說明。設定為 `0`、`false`、`no` 或 `off` 以選擇退出,即使實驗或伺服器設定會否則啟用它。完整工具集、hooks、MCP 伺服器和 CLAUDE.md 發現保持啟用 |371| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 設定為 `1` 以在任何模型上使用較短的系統提示和縮寫工具說明。設定為 `0`、`false`、`no` 或 `off` 以選擇退出,即使在實驗或伺服器配置會否則啟用它的模型上。完整工具集、hooks、MCP 伺服器和 CLAUDE.md 發現保持啟用 |

366| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 跳過 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 的用戶端驗證,用於自己簽署請求的閘道 |372| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 跳過 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 的用戶端驗證,用於自己簽署請求的閘道 |

367| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | 設定為 `1` 以關閉 AWS 預設認證提供者鏈解析的進程內快取,因此 Claude Code 在每個 API 請求上解析鏈。快取關閉後,SSO 支援的設定檔在每個請求上從 IAM Identity Center 請求認證。請參閱 [認證快取和解析逾時](/docs/zh-TW/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更新版本 |373| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | 設定為 `1` 以關閉 AWS 預設認證提供者鏈解析的進程內快取,所以 Claude Code 在每個 API 請求上解析鏈。停用快取後,SSO 支援的設定檔在每個請求上從 IAM Identity Center 要求認證。請參閱 [認證快取和解析逾時](/docs/zh-TW/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更新版本 |

368| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳過 Amazon Bedrock 的 AWS 驗證(例如,使用 LLM 閘道時) |374| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳過 Amazon Bedrock 的 AWS 驗證(例如,使用 LLM 閘道時) |

369| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | 設定為 `1` 以將失敗的 [快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 可用性檢查視為可用,用於阻止檢查對 `api.anthropic.com` 的直接請求的網路。Claude Code 仍然尊重「您的組織停用了快速模式」回應 |375| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | 設定為 `1` 以將失敗的 [快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 可用性檢查視為可用,用於阻止檢查對 `api.anthropic.com` 的直接請求的網路。Claude Code 仍然尊重「您的組織停用」回應 |

370| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | 設定為 `1` 以跳過用戶端 [快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 可用性檢查,用於攔截檢查請求而不是拒絕它的代理。API 在您的組織停用快速模式時仍會拒絕快速模式請求 |376| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | 設定為 `1` 以跳過用戶端 [快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 可用性檢查,用於攔截檢查請求的代理而不是拒絕它。API 在您的組織停用快速模式時仍會拒絕快速模式請求 |

371| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳過 Microsoft Foundry 的 Azure 驗證,用於注入自己的 `Authorization` 標頭的代理或閘道。Claude Code 傳送沒有 Azure 認證的請求並保留您提供的 `Authorization` 標頭,例如透過 `ANTHROPIC_CUSTOM_HEADERS`。當設定 `ANTHROPIC_FOUNDRY_API_KEY` 或 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 時忽略。在 v2.1.203 之前,此變數使 Microsoft Foundry 用戶端無法傳送請求,除非同時設定了 API 金鑰 |377| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳過 Microsoft Foundry 的 Azure 驗證,用於代理或閘道注入自己的 `Authorization` 標頭。Claude Code 傳送沒有 Azure 認證的請求並保留您提供的 `Authorization` 標頭,例如透過 `ANTHROPIC_CUSTOM_HEADERS`。設定 `ANTHROPIC_FOUNDRY_API_KEY` 或 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 時被忽略。在 v2.1.203 之前,此變數使 Microsoft Foundry 用戶端無法傳送請求,除非同時設定了 API 金鑰 |

372| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳過 Amazon Bedrock Mantle 的 AWS 驗證(例如,使用 LLM 閘道時) |378| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳過 Amazon Bedrock Mantle 的 AWS 驗證(例如,使用 LLM 閘道時) |

373| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | 設定為 `1` 以跳過將提示歷史記錄和工作階段文字記錄寫入磁碟。使用此變數設定啟動的工作階段不會出現在 `--resume`、`--continue` 或向上箭頭歷史記錄中。對於短暫的指令碼工作階段很有用 |379| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | 設定為 `1` 以跳過將提示歷史記錄和工作階段文字記錄寫入磁碟。使用此變數啟動的工作階段不會出現在 `--resume`、`--continue` 或向上箭頭歷史記錄中。對於短暫的指令碼工作階段很有用 |

374| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | 跳過 Google Cloud 的 Agent Platform 的 Google 驗證(例如,使用 LLM 閘道時) |380| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | 跳過 Google Cloud's Agent Platform 的 Google 驗證(例如,使用 LLM 閘道時) |

375| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | [Stop](/docs/zh-TW/hooks#stop) 或 [SubagentStop](/docs/zh-TW/hooks#subagentstop) hook 可能連續阻止轉向結束的最大次數,然後 Claude Code 覆蓋它並無論如何結束轉向(預設值:8)。設定為 `0` 以停用上限。如果您的 hook 合法需要更多迭代來解決,請提高此值 |381| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | 設定為 `1` 以讓以 `--output-format stream-json` 啟動的工作階段寫入 [結果訊息,說明 Claude Code 為何拒絕啟動](/docs/zh-TW/agent-sdk/typescript#startup_failure_reason),用於否則以 stderr 結束的啟動失敗。需要 Claude Code v2.1.274 或更新版本 |

376| `CLAUDE_CODE_SUBAGENT_MODEL` | [子代理](/docs/zh-TW/sub-agents#choose-a-model)、[代理團隊](/docs/zh-TW/agent-teams#specify-teammates-and-models) 隊友和 [工作流程](/docs/zh-TW/workflows) 代理的預設模型,這些代理未以其他方式指派模型。接受別名(例如 `haiku`)或完整模型名稱。兩個來源優先於它:Claude 產生代理時傳遞的模型,以及代理定義中的 `model` 欄位,包括 `inherit`。若要變更該,設定 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/zh-TW/sub-agents#run-every-subagent-on-one-model)。請參閱 [選擇模型](/docs/zh-TW/sub-agents#choose-a-model) 以了解完整順序。將其設定為 `inherit` 與保持未設定相同。在 v2.1.251 之前,此變數覆蓋了每個呼叫模型和定義的 `model` 欄位 |382| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | [Stop](/docs/zh-TW/hooks#stop) 或 [SubagentStop](/docs/zh-TW/hooks#subagentstop) hook 可能連續阻止轉結束的最大次數,然後 Claude Code 覆蓋它並無論如何結束轉(預設:8)。設定為 `0` 以停用上限。如果您的 hook 合法需要更多迭代來解決,請提高此值 |

383| `CLAUDE_CODE_SUBAGENT_MODEL` | [子代理](/docs/zh-TW/sub-agents#choose-a-model)、[代理團隊](/docs/zh-TW/agent-teams#specify-teammates-and-models) 隊友和 [工作流程](/docs/zh-TW/workflows) 代理的預設模型,未以其他方式指派模型。接受別名(例如 `haiku`)或完整模型名稱。兩個來源優先於它:Claude 產生代理時傳遞的模型,以及代理定義中的 `model` 欄位,包括 `inherit`。若要變更該,設定 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/zh-TW/sub-agents#run-every-subagent-on-one-model)。請參閱 [選擇模型](/docs/zh-TW/sub-agents#choose-a-model) 以了解完整順序。將其設定為 `inherit` 與保持未設定相同。在 v2.1.251 之前,此變數覆蓋了每個呼叫模型和定義的 `model` 欄位 |

377| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | 設定為 `1` 以強制一個模型到子代理、隊友和工作流程代理。[在一個模型上執行每個子代理](/docs/zh-TW/sub-agents#run-every-subagent-on-one-model) 說明那是哪個模型。需要 Claude Code v2.1.257 或更新版本 |384| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | 設定為 `1` 以強制一個模型到子代理、隊友和工作流程代理。[在一個模型上執行每個子代理](/docs/zh-TW/sub-agents#run-every-subagent-on-one-model) 說明那是哪個模型。需要 Claude Code v2.1.257 或更新版本 |

378| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | 設定 `5m` 或 `1h`,Claude Code 接受的唯一值,以選擇主要對話外的請求的 [提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime),例如 [子代理](/docs/zh-TW/sub-agents)、工作流程和背景工作。優先於 `subagentPromptCacheTtl` 設定和 `ENABLE_PROMPT_CACHING_1H`,`FORCE_PROMPT_CACHING_5M` 覆蓋它。API 以更高的速率計費 1 小時快取寫入。需要 Claude Code v2.1.242 或更新版本 |385| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | 設定 `5m` 或 `1h`,Claude Code 接受的唯一值,以選擇主要對話外請求的 [提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime),例如 [子代理](/docs/zh-TW/sub-agents)、工作流程和背景工作。優先於 `subagentPromptCacheTtl` 設定,`ENABLE_PROMPT_CACHING_1H` 和 `FORCE_PROMPT_CACHING_5M` 覆蓋它。API 以更高的速率計費 1 小時快取寫入。需要 Claude Code v2.1.242 或更新版本 |

379| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | 設定為 `1` 以從子程序環境中移除認證(Bash 工具、hooks、MCP stdio 伺服器):Anthropic 和雲提供者認證、Claude Code 識別為認證的任何其他變數,以及嵌入在套件登錄 URL 中的認證。父 Claude 程序保留這些認證用於 API 呼叫,但子程序無法讀取它們,減少試圖透過 shell 擴展竊取秘密的提示注入攻擊的曝光。在 Linux 上,這也在隔離的 PID 命名空間中執行 Bash 子程序,因此它們無法透過 `/proc` 讀取主機程序環境;作為副作用,`ps`、`pgrep` 和 `kill` 無法看到或發信號給主機程序。`claude-code-action` 在配置 `allowed_non_write_users` 時自動設定此項 |386| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | 設定為 `1` 以從子程序環境中移除認證(Bash 工具、hooks、MCP stdio 伺服器):Anthropic 和雲提供者認證、Claude Code 識別為認證的任何其他變數,以及套件登錄 URL 中嵌入的認證。父 Claude 程序保留這些認證用於 API 呼叫,但子程序無法讀取它們,減少試圖透過 shell 擴展竊取機密的提示注入攻擊的曝光。在 v2.1.251 或更新版本上,擦除也移除 Claude Code 自己的配置存放區指標變數(例如 `CLAUDE_CONFIG_DIR`),因此子程序無法定位重新定位的配置目錄。如果子程序需要這些變數,請保持擦除未設定。在 Linux 上,這也在隔離的 PID 命名空間中執行 Bash 子程序,因此它們無法透過 `/proc` 讀取主機程序環境;作為副作用,`ps`、`pgrep` 和 `kill` 無法看到或發信號給主機程序。`claude-code-action` 在配置 `allowed_non_write_users` 時自動設定此項 |

380| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 在非互動模式(`-p` 旗標)中設定為 `1` 以等待外掛程式安裝完成,然後才進行第一個查詢。沒有此選項,外掛程式在背景安裝,可能在第一個轉向上不可用。與 `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` 結合以限制等待 |387| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 在非互動模式(`-p` 旗標)中設定為 `1` 以等待外掛程式安裝完成,然後才進行第一個查詢。沒有此項,外掛程式在背景安裝,可能在第一個轉上不可用。與 `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` 結合以限制等待 |

381| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同步外掛程式安裝的逾時(毫秒)。超過時,Claude Code 繼續進行而不使用外掛程式並記錄錯誤。無預設值:沒有此變數,同步安裝等待直到完成 |388| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同步外掛程式安裝的逾時(毫秒)。超過時,Claude Code 繼續而不使用外掛程式並記錄錯誤。無預設:沒有此變數,同步安裝等待直到完成 |

382| `CLAUDE_CODE_SYNC_SKILLS` | 設定為 `1` 以將您啟用的 claude.ai skills 下載到 `~/.claude/skills/synced/` 並每 10 分鐘重新同步。在執行第一個查詢之前,Claude Code 等待最多 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` 以取得您的 skills 清單。下載本身在背景完成,Claude 在呼叫該 skill 時等待 skill 的下載。`synced` 資料夾名稱 [為此下載保留](/docs/zh-TW/skills#where-skills-live)。在 v2.1.227 之前,skills 直接下載到 `~/.claude/skills/` 中。僅適用於非互動模式,帶 `-p` 旗標。需要 claude.ai 驗證。[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 工作階段自動接收您啟用的 claude.ai skills;您不需要在那裡設定此項。Claude Code 對下載的 skills 應用 [額外規則](/docs/zh-TW/skills#how-synced-skills-behave),例如不在您的機器上執行它們的 `!` 命令 |389| `CLAUDE_CODE_SYNC_SKILLS` | 在非互動模式中設定為 `1`,使用 `-p` 旗標,以使 Claude Code 在該執行中下載為您的 claude.ai 帳戶啟用的 skills,並等待它們的清單,最多 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`,然後才執行第一個查詢。下載本身在背景完成,Claude 在呼叫該 skill 時等待 skill 的下載。需要 claude.ai 驗證。您登入 claude.ai 帳戶的終端工作階段 [下載這些 skills](/docs/zh-TW/skills#where-synced-skills-load) 到 `~/.claude/skills/synced/` 並大約每 10 分鐘重新同步,沒有此變數,因此僅在 `-p` 執行需要您目前 skills 在其第一個查詢上時設定。在 v2.1.273 之前,終端工作階段僅在帶此變數集的 `-p` 執行中下載它們。`synced` 資料夾名稱 [為此下載保留](/docs/zh-TW/skills#where-skills-live)。在 v2.1.227 之前,skills 直接下載到 `~/.claude/skills/` 中。Claude Code 對下載的 skills 應用 [額外規則](/docs/zh-TW/skills#how-synced-skills-behave),例如不在您的機器上執行它們的 `!` 命令 |

383| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | 當設定 `CLAUDE_CODE_SYNC_SKILLS` 時,中途工作階段 skills 重新同步的逾時(毫秒)(預設值:30000)。限制主機在工作階段期間請求 skill 重新載入時觸發的下載。超過時,重新同步停止,剩餘下載在背景繼續 |390| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | 應用程式建立在 [Agent SDK](/docs/zh-TW/agent-sdk/typescript#query-object) 上重新載入 skills 時執行的 skills 重新同步的逾時(毫秒)(預設:30000)。超過時,重新載入繼續使用已到達的任何 skills,剩餘下載在背景完成 |

384| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | 當設定 `CLAUDE_CODE_SYNC_SKILLS` 時,第一個查詢等待初始 skill 清單的逾時(毫秒)(預設值:5000)。超過時,第一個查詢執行時使用已到達的任何 skills。下載無論如何都在背景完成,Claude 在呼叫該 skill 時等待 skill 的下載 |391| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | 當設定 `CLAUDE_CODE_SYNC_SKILLS` 時,第一個查詢等待初始 skill 清單的逾時(毫秒)(預設:5000)。超過時,第一個查詢使用已到達的任何 skills 執行。下載無論如何都會在背景完成,Claude 在呼叫該 skill 時等待 skill 的下載 |

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

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

387| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 覆蓋非互動工作階段在退出時等待其 [代理團隊](/docs/zh-TW/agent-teams) 完成拆卸的時間(毫秒)。接受 1000 到 60000;超出範圍的值被忽略,預設值 10000 適用。需要 Claude Code v2.1.206 或更新版本 |394| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 覆蓋非互動工作階段在退出時等待其 [代理團隊](/docs/zh-TW/agent-teams) 完成拆卸的時間(毫秒)。接受 1000 到 60000;超出範圍的值被忽略,預設 10000 適用。需要 Claude Code v2.1.206 或更新版本 |

388| `CLAUDE_CODE_TMPDIR` | 覆蓋用於內部臨時檔案的臨時目錄。Claude Code 在 Unix 上附加 `/claude-{uid}/`,在 Windows 上附加 `/claude/` 到此路徑。預設:macOS 上 `/tmp`,Linux 和 Windows 上 `os.tmpdir()`。在 macOS 和 Linux 上,[沙箱化](/docs/zh-TW/sandboxing) Bash 子程序在您的覆蓋是長路徑時在系統預設下接收短回退 `$TMPDIR`,因為某些工具在臨時路徑變得太長時失敗。未沙箱化的 Bash 命令未變更地繼承您的 shell 的 `$TMPDIR`。Claude Code 自己的臨時檔案始終使用您的覆蓋。在您的 shell、使用者設定或受管設定中設定它。在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中忽略 |395| `CLAUDE_CODE_TMPDIR` | 覆蓋用於內部臨時檔案的臨時目錄。Claude Code 在 Unix 上附加 `/claude-{uid}/` 或在 Windows 上附加 `/claude/` 到此路徑。預設:macOS 上 `/tmp`,Linux 和 Windows 上 `os.tmpdir()`。在 macOS 和 Linux 上,[沙箱化](/docs/zh-TW/sandboxing) Bash 子程序在您的覆蓋是長路徑時在系統預設下接收短回退 `$TMPDIR`,因為某些工具在臨時路徑變得太長時失敗。未沙箱化的 Bash 命令繼承您的 shell 的 `$TMPDIR` 不變。Claude Code 自己的臨時檔案始終使用您的覆蓋。在您的 shell、使用者設定或受管設定中設定它。在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中被忽略 |

389| `CLAUDE_CODE_TMUX_TRUECOLOR` | 設定為任何非空值(例如 `1`)以允許 tmux 內的 24 位真彩色輸出。**將其設定為 `0` 或 `false` 仍允許真彩色**,與大多數開啟/關閉變數不同;取消設定變數以恢復 256 色限制。預設情況下,當設定 `$TMUX` 時 Claude Code 限制為 256 色,因為 tmux 不會透過真彩色逃逸序列,除非配置。在將 `set -ga terminal-overrides ',*:Tc'` 新增到您的 `~/.tmux.conf` 後設定此項。請參閱 [終端設定](/docs/zh-TW/terminal-config) 以了解其他 tmux 設定 |396| `CLAUDE_CODE_TMUX_TRUECOLOR` | 設定為任何非空值(例如 `1`)以允許 tmux 內的 24 位真彩色輸出。**將其設定為 `0` 或 `false` 仍允許真彩色**,與大多數開啟/關閉變數不同;取消設定變數以恢復 256 色限制。預設情況下,當設定 `$TMUX` 時,Claude Code 限制為 256 色,因為 tmux 不會透過真彩色逃逸序列,除非配置。在將 `set -ga terminal-overrides ',*:Tc'` 新增到您的 `~/.tmux.conf` 後設定此項。請參閱 [終端配置](/docs/zh-TW/terminal-config) 以了解其他 tmux 設定 |

390| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | 在 Linux 和 WSL 上,設定為 Claude Code [從工具記憶體上限排除](/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl) 的程序類型的逗號分隔清單,例如 `mcp` 或 `lsp`。設定 `none` 以上限每種類型,或 `all-new` 以僅上限 Bash、PowerShell 和 Monitor 工具命令。Claude Code 無論您列出什麼,都將 Bash、PowerShell 和 Monitor 工具命令保持在上限下。需要 Claude Code v2.1.246 或更新版本 |397| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | 在 Linux 和 WSL 上,設定為 Claude Code [從工具記憶體上限排除](/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl) 的程序類型的逗號分隔列表,例如 `mcp` 或 `lsp`。設定 `none` 以限制每種類型,或 `all-new` 以僅限制 Bash、PowerShell 和 Monitor 工具命令。Claude Code 無論您列出什麼,都將 Bash、PowerShell 和 Monitor 工具命令保持在上限下。需要 Claude Code v2.1.246 或更新版本 |

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

392| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code 在取消它轉發給遠端用戶端(例如 [Remote Control](/docs/zh-TW/remote-control) 或 SDK 主機)的對話之前的截止日期(毫秒),或 [保持的跨工作階段訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 的批准對話;權限提示和 `AskUserQuestion` 問題使用自己的流程,不受它管轄。在 Claude Code v2.1.236 或更新版本上,它也限制可能無人值守執行的工作階段中的中途 [Fable 使用額度同意提示](/docs/zh-TW/model-config#fable-and-usage-credits)。[控制入站訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 和 [非互動工作階段](/docs/zh-TW/cross-session-messaging#non-interactive-sessions) 涵蓋完整的保持訊息過期規則,包括截止日期不適用的情況。覆蓋 [`dialogExpiry`](/docs/zh-TW/settings-reference#dialogexpiry) 設定。`0` 或負值停用截止日期 |399| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code 取消它轉發給遠端用戶端(例如 [Remote Control](/docs/zh-TW/remote-control) 或 SDK 主機)的對話框的期限(毫秒),或 [保持的跨工作階段訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 的批准對話框;權限提示和 `AskUserQuestion` 問題使用自己的流程,不受它管轄。在 Claude Code v2.1.236 或更新版本上,它也限制可能無人值守執行的工作階段中的中期 [Fable 使用額度同意提示](/docs/zh-TW/model-config#fable-and-usage-credits)。[控制入站訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 和 [非互動工作階段](/docs/zh-TW/cross-session-messaging#non-interactive-sessions) 涵蓋完整的保持訊息過期規則,包括期限不適用的情況。覆蓋 [`dialogExpiry`](/docs/zh-TW/settings-reference#dialogexpiry) 設定。`0` 或負值停用期限 |

393| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) |400| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) |

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

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

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

397| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | 設定為 `1` 以使用 Node.js 檔案 API 而不是 ripgrep 發現自訂命令、子代理和輸出樣式。如果捆綁的 ripgrep 二進位檔在您的環境中不可用或被阻止,請設定此項。不影響 Grep 或檔案搜尋工具 |404| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | 設定為 `1` 以使用 Node.js 檔案 API 而不是 ripgrep 發現自訂命令、子代理和輸出樣式。如果捆綁的 ripgrep 二進位檔在您的環境中不可用或被阻止,請設定此項。不影響 Grep 或檔案搜尋工具 |

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

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

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

401| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | [WebFetch](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 等待頁面下載的上限(毫秒),包括它遵循的任何重新導向。未在該時間內完成的下載會失敗,並出現截止日期錯誤。預設值為 `300000`,即五分鐘。設定為 `0` 以移除限制。僅接受純數字;小數或任何其他拼寫保持預設值。需要 Claude Code v2.1.268 或更新版本 |408| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | [WebFetch](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 等待頁面下載的上限(毫秒),包括它遵循的任何重新導向。未在該時間完成的下載失敗,並出現期限錯誤。預設為 `300000`,即五分鐘。設定為 `0` 以移除限制。僅接受純數字;小數或任何其他拼寫保持預設。需要 Claude Code v2.1.268 或更新版本 |

409| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 一個 [工作流程](/docs/zh-TW/workflows) 執行一次執行多少個代理,從 `1` 到 `256`。預設情況下,執行一次執行最多 16 個代理,當 Claude Code 有更少 CPU 可用時更少;排隊的 `agent()` 呼叫等待空閒槽。每個執行中代理的文字記錄保留在 Claude Code 的記憶體中,因此較高的值提高記憶體使用。僅接受純數字;超出範圍的值和其他拼寫保持預設。需要 Claude Code v2.1.269 或更新版本 |

402| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [工作流程](/docs/zh-TW/workflows) 代理等待相同前綴同級的第一個回應開始的上限(毫秒),然後才傳送自己的第一個請求。當扇出啟動共享 [提示快取前綴](/docs/zh-TW/workflows#prompt-caching-in-a-fan-out) 的多個代理時,Claude Code 將除第一個外的所有代理保持最多此長時間,以便其餘代理讀取快取的前綴,而不是每個未快取地處理它。預設 `5000`。設定為 `0` 以停用等待。當設定 `DISABLE_PROMPT_CACHING` 時,代理永遠不會等待。需要 Claude Code v2.1.229 或更新版本 |410| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [工作流程](/docs/zh-TW/workflows) 代理等待相同前綴同級的第一個回應開始的上限(毫秒),然後才傳送自己的第一個請求。當扇出啟動共享 [提示快取前綴](/docs/zh-TW/workflows#prompt-caching-in-a-fan-out) 的多個代理時,Claude Code 將除第一個外的所有代理保持最多此長時間,以便其餘代理讀取快取的前綴,而不是每個未快取地處理它。預設 `5000`。設定為 `0` 以停用等待。當設定 `DISABLE_PROMPT_CACHING` 時,代理永遠不會等待。需要 Claude Code v2.1.229 或更新版本 |

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

404| `CLAUDE_DISABLE_ADOPT` | 設定為 `1` 以在您透過按 `←` 或 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 背景化工作階段時停止進行中的背景工作,而不是進行。Claude Code 要求您在背景化前確認,然後停止否則會進行的工作。需要 Claude Code v2.1.195 或更新版本 |412| `CLAUDE_DISABLE_ADOPT` | 設定為 `1` 以在您按 `←` 或使用 [`/background`](/docs/zh-TW/agent-view#from-inside-a-session) 背景化工作階段時停止進行中的背景工作,而不是進行中的工作。Claude Code 要求您在背景化前確認,然後停止會否則進行的工作。需要 Claude Code v2.1.195 或更新版本 |

405| `CLAUDE_EFFORT` | 在 Bash 工具子程序和 hook 命令中自動設定為子程序啟動時有效的 [effort 級別](/docs/zh-TW/model-config#adjust-effort-level):`low`、`medium`、`high`、`xhigh` 或 `max`。Ultracode 不是不同的級別,報告為 `xhigh`。符合傳遞給 [hooks](/docs/zh-TW/hooks) 的 `effort.level` 欄位。僅在目前模型支援 effort 參數時設定 |413| `CLAUDE_EFFORT` | 在 Bash 工具子程序和 hook 命令中自動設定為子程序啟動時有效的 [effort 級別](/docs/zh-TW/model-config#adjust-effort-level):`low`、`medium`、`high`、`xhigh` 或 `max`。Ultracode 不是不同的級別,報告為 `xhigh`。符合傳遞給 [hooks](/docs/zh-TW/hooks) 的 `effort.level` 欄位。僅在目前模型支援 effort 參數時設定 |

406| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 設定為 `1` 以強制啟用位元組級串流閒置監視狗,或設定為 `0` 以強制停用它。`0` 也關閉執行該截止日期的連線上的 [第一位元組截止日期](/docs/zh-TW/network-config#streaming-idle-watchdogs)。未設定時,監視狗在直接 Anthropic API 和 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 連線上預設啟用,以及透過 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 到達的 [閘道](/docs/zh-TW/gateways) 連線上的串流回應;在 v2.1.222 之前,它在這些閘道連線上不執行,因此事件級監視狗可能在那裡報告停滯,即使保活 ping 到達。對於逾時以及計時器如何互動,請參閱 [串流閒置監視狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) |414| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 設定為 `1` 以強制啟用位元組級串流閒置看門狗,或設定為 `0` 以強制停用它。`0` 也關閉執行該期限的連線上的 [第一位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs)。未設定時,看門狗在直接 Anthropic API 和 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 連線上預設啟用,以及透過 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 到達的 [閘道](/docs/zh-TW/gateways) 連線上的串流回應;在 v2.1.222 之前,它在這些閘道連線上不執行,因此事件級看門狗可能在那裡報告停滯,即使保活 ping 到達。有關逾時以及計時器如何互動,請參閱 [串流閒置看門狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) |

407| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | 設定為 `1` 以在 Amazon Bedrock `vnd.amazon.eventstream` 回應上啟用位元組級串流閒置監視狗,這也啟用 Bedrock 串流請求上的 [第一位元組截止日期](/docs/zh-TW/network-config#streaming-idle-watchdogs)。預設關閉。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置逾時 |415| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | 設定為 `1` 以在 Amazon Bedrock `vnd.amazon.eventstream` 回應上啟用位元組級串流閒置看門狗,這也啟用 Bedrock 串流請求上的 [第一位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs)。預設關閉。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置逾時 |

408| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 設定為 `0` 以強制停用事件級串流閒置監視狗,或設定為 `1` 以強制啟用它。未設定時,監視狗在所有提供者上預設開啟。在 v2.1.196 之前,未設定的預設值在直接 Anthropic API 上由伺服器控制,在其他提供者上關閉。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置逾時;對於與此一起執行的其他停滯計時器,請參閱 [串流閒置監視狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) |416| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 設定為 `0` 以強制停用事件級串流閒置看門狗,或設定為 `1` 以強制啟用它。未設定時,看門狗在所有提供者上預設開啟。在 v2.1.196 之前,未設定的預設在直接 Anthropic API 上由伺服器控制,在其他提供者上關閉。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置逾時;有關與此一起執行的其他停滯計時器,請參閱 [串流閒置看門狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) |

409| `CLAUDE_ENV_FILE` | shell 指令碼的路徑,其內容 Claude Code 在同一 shell 程序中的每個 Bash 命令之前執行,因此檔案中的匯出對命令可見。用於在命令之間保持 virtualenv 或 conda 啟用。也由 [SessionStart](/docs/zh-TW/hooks#persist-environment-variables)、[Setup](/docs/zh-TW/hooks#setup)、[CwdChanged](/docs/zh-TW/hooks#cwdchanged) 和 [FileChanged](/docs/zh-TW/hooks#filechanged) hooks 動態填充 |417| `CLAUDE_ENV_FILE` | shell 指令碼的路徑,其內容 Claude Code 在同一 shell 程序中的每個 Bash 命令前執行,因此檔案中的匯出對命令可見。用於在命令之間保持 virtualenv 或 conda 啟用。也由 [SessionStart](/docs/zh-TW/hooks#persist-environment-variables)、[Setup](/docs/zh-TW/hooks#setup)、[CwdChanged](/docs/zh-TW/hooks#cwdchanged) 和 [FileChanged](/docs/zh-TW/hooks#filechanged) hooks 動態填充 |

410| `CLAUDE_JOB_DIR` | 由 Claude Code 在每個 [背景工作階段](/docs/zh-TW/agent-view) 中設定為該工作階段的 `~/.claude/jobs/<id>` 目錄。工作階段執行的 shell 命令繼承它。將暫存檔案寫入 [`$CLAUDE_JOB_DIR/tmp`](/docs/zh-TW/agent-view#where-state-is-stored)。Claude 的 `Write` 和 `Edit` 呼叫在那裡不提示權限,目錄在工作階段刪除時移除 |418| `CLAUDE_JOB_DIR` | 由 Claude Code 在每個 [背景工作階段](/docs/zh-TW/agent-view) 中設定為該工作階段的 `~/.claude/jobs/<id>` 目錄。工作階段執行的 shell 命令繼承它。將暫存檔案寫入 [`$CLAUDE_JOB_DIR/tmp`](/docs/zh-TW/agent-view#where-state-is-stored)。Claude 的 `Write` 和 `Edit` 呼叫在那裡不提示權限,目錄在工作階段刪除時移除 |

411| `CLAUDE_PID` | Claude Code 在它產生的子程序中設定此項為其自己的程序 ID:Bash 和 PowerShell 工具命令和 hook 命令。在 Linux 上,Bash 工具的 shell 整合使用它來拒絕會符合 Claude Code 程序本身的 `pkill` 模式;請參閱 [錯誤參考](/docs/zh-TW/errors#pkill-pattern-matches-the-claude-code-process)。從您自己的指令碼讀取它以識別或故意發信號給父 Claude Code 程序。需要 Claude Code v2.1.214 或更新版本 |419| `CLAUDE_PID` | Claude Code 在它產生的子程序中將此設定為其自己的程序 ID:Bash 和 PowerShell 工具命令和 hook 命令。在 Linux 上,Bash 工具的 shell 整合使用它來拒絕會符合 Claude Code 程序本身的 `pkill` 模式;請參閱 [錯誤參考](/docs/zh-TW/errors#pkill-pattern-matches-the-claude-code-process)。從您自己的指令碼讀取它以故意識別或發信號給父 Claude Code 程序。需要 Claude Code v2.1.214 或更新版本 |

412| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 當未提供明確名稱時,自動產生的 [Remote Control](/docs/zh-TW/remote-control) 工作階段名稱的前綴。預設為您機器的主機名稱,產生 `myhost-graceful-unicorn` 等名稱。`--remote-control-session-name-prefix` CLI 旗標為單一呼叫設定相同的值 |420| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 當未提供明確名稱時,[Remote Control](/docs/zh-TW/remote-control) 工作階段名稱的自動產生前綴。預設為您機器的主機名稱,產生 `myhost-graceful-unicorn` 之類的名稱。`--remote-control-session-name-prefix` CLI 旗標為單個呼叫設定相同的值 |

413| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | 串流請求的第一個回應位元組的截止日期(毫秒),在 [第一位元組截止日期](/docs/zh-TW/network-config#streaming-idle-watchdogs) 執行的連線上。對於 Claude Code 如何限制它、它為大型請求主體新增的額外時間,以及當您保持此未設定時如何選擇截止日期,請參閱 [API 無回應](/docs/zh-TW/errors#no-response-from-api)。需要 Claude Code v2.1.242 或更新版本 |421| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | 串流請求的第一個回應位元組的期限(毫秒),在 [第一位元組期限](/docs/zh-TW/network-config#streaming-idle-watchdogs) 執行的連線上。有關 Claude Code 如何限制它、它為大型請求主體新增的額外時間,以及當您保持此未設定時如何選擇期限,請參閱 [API 無回應](/docs/zh-TW/errors#no-response-from-api)。需要 Claude Code v2.1.242 或更新版本 |

414| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 事件級和位元組級串流閒置監視狗在停滯連線關閉前的逾時(毫秒)。當您明確設定此變數時,最小值為 `300000`(5 分鐘);較低的值無聲地限制在吸收擴展思考暫停和代理緩衝,位元組級監視狗將值上限為 30 分鐘。`CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 優先於此變數用於位元組級監視狗。對於每個監視狗未設定的預設值,請參閱 [串流閒置監視狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) |422| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 事件級和位元組級串流閒置看門狗在停滯連線前的逾時(毫秒)。當您明確設定此變數時,最小值為 `300000`(5 分鐘);較低的值無聲地限制在吸收擴展思考暫停和代理緩衝,位元組級看門狗將值上限為 30 分鐘。`CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 優先於此變數用於位元組級看門狗。有關每個看門狗未設定的預設值,請參閱 [串流閒置看門狗](/docs/zh-TW/network-config#streaming-idle-watchdogs) |

415| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | 在 v2.1.260 中移除,現在是無操作。先前上限了 [子代理](/docs/zh-TW/sub-agents) 啟動的 [背景 shell 命令](/docs/zh-TW/interactive-mode#background-bash-commands) 可以執行多長時間(毫秒),預設 60 分鐘。請參閱 [背景命令生命週期規則](/docs/zh-TW/tools-reference#background-commands) |

416| `DEBUG` | 設定為 `1` 以啟用偵錯模式,等同於使用 [`--debug`](/docs/zh-TW/cli-reference#cli-flags) 啟動。偵錯日誌寫入 `~/.claude/debug/<session-id>.txt`,或寫入 `CLAUDE_CODE_DEBUG_LOGS_DIR` 設定的路徑。僅真實值 `1`、`true`、`yes` 和 `on` 啟用偵錯模式,因此為其他工具設定的命名空間模式(如 `DEBUG=express:*`)不會觸發它 |423| `DEBUG` | 設定為 `1` 以啟用偵錯模式,等同於使用 [`--debug`](/docs/zh-TW/cli-reference#cli-flags) 啟動。偵錯日誌寫入 `~/.claude/debug/<session-id>.txt`,或寫入 `CLAUDE_CODE_DEBUG_LOGS_DIR` 設定的路徑。僅真實值 `1`、`true`、`yes` 和 `on` 啟用偵錯模式,因此為其他工具設定的命名空間模式(如 `DEBUG=express:*`)不會觸發它 |

417| `DISABLE_AUTOUPDATER` | 設定為 `1` 以停用自動背景更新。手動 `claude update` 仍然有效。使用 `DISABLE_UPDATES` 以阻止兩者 |424| `DISABLE_AUTOUPDATER` | 設定為 `1` 以停用自動背景更新。手動 `claude update` 仍然有效。使用 `DISABLE_UPDATES` 以阻止兩者 |

418| `DISABLE_AUTO_COMPACT` | 設定為 `1` 以停用接近上下文限制時的自動壓縮。手動 `/compact` 命令保持可用。當您想要明確控制何時進行壓縮時使用。覆蓋 [`autoCompactEnabled`](/docs/zh-TW/settings-reference#autocompactenabled) 設定 |425| `DISABLE_AUTO_COMPACT` | 設定為 `1` 以停用接近上下文限制時的自動壓縮。手動 `/compact` 命令保持可用。當您想要明確控制何時進行壓縮時使用。覆蓋 [`autoCompactEnabled`](/docs/zh-TW/settings-reference#autocompactenabled) 設定 |

419| `DISABLE_COMPACT` | 設定為 `1` 以停用所有壓縮:自動壓縮和手動 `/compact` 命令 |426| `DISABLE_COMPACT` | 設定為 `1` 以停用所有壓縮:自動壓縮和手動 `/compact` 命令 |

420| `DISABLE_COST_WARNINGS` | 設定為 `1` 以停用成本警告訊息 |427| `DISABLE_COST_WARNINGS` | 設定為 `1` 以停用成本警告訊息 |

421| `DISABLE_DOCTOR_COMMAND` | 設定為 `1` 以隱藏 [`/doctor`](/docs/zh-TW/commands#all-commands) 設定檢查 skill 及其 `/checkup` 別名。對於使用者不應執行設定診斷的受管部署很有用。不影響 `claude doctor` 終端命令。在 v2.1.205 之前,此變數隱藏了 `/doctor` 診斷螢幕命令 |428| `DISABLE_DOCTOR_COMMAND` | 設定為 `1` 以隱藏 [`/doctor`](/docs/zh-TW/commands#all-commands) 設定檢查 skill 及其 `/checkup` 別名。對於使用者不應從工作階段執行設定診斷的受管部署很有用。不影響 `claude doctor` 終端命令。在 v2.1.205 之前,此變數隱藏了 `/doctor` 診斷螢幕命令 |

422| `DISABLE_ERROR_REPORTING` | 設定為任何非空值(例如 `1`)以選擇退出錯誤報告。**將其設定為 `0` 或 `false` 仍會選擇退出**,與大多數開啟/關閉變數不同;取消設定變數以重新開啟錯誤報告 |429| `DISABLE_ERROR_REPORTING` | 設定為任何非空值(例如 `1`)以選擇退出錯誤報告。**將其設定為 `0` 或 `false` 仍會選擇退出**,與大多數開啟/關閉變數不同;取消設定變數以重新開啟錯誤報告 |

423| `DISABLE_EXTRA_USAGE_COMMAND` | 設定為 `1` 以隱藏 `/usage-credits` 命令,讓使用者購買超過速率限制的額外使用量 |430| `DISABLE_EXTRA_USAGE_COMMAND` | 設定為 `1` 以隱藏 `/usage-credits` 命令,讓使用者購買超過速率限制的額外使用量 |

424| `DISABLE_FEEDBACK_COMMAND` | 設定為 `1` 以停用 `/feedback` 命令和 [Claude 起草的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)。也停用 `/bug` 和 `/share`,它們透過相同路徑報告;在 v2.1.212 之前,它們是 `/feedback` 的別名,因此命令在每個名稱下都停用。較舊的名稱 `DISABLE_BUG_COMMAND` 也被接受 |431| `DISABLE_FEEDBACK_COMMAND` | 設定為 `1` 以停用 `/feedback` 命令和 [Claude 起草的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior)。也停用 `/bug` 和 `/share`,它們透過相同路徑報告;在 v2.1.212 之前,它們是 `/feedback` 的別名,因此命令在每個名稱下被停用。較舊的名稱 `DISABLE_BUG_COMMAND` 也被接受 |

425| `DISABLE_GROWTHBOOK` | 設定為 `1` 或 `true` 以停用 GrowthBook 功能旗標擷取並為每個旗標使用程式碼預設值。這使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。將其設定為 `0` 或 `false` 保持擷取開啟。遙測事件日誌保持開啟,除非 `DISABLE_TELEMETRY` 也設定 |432| `DISABLE_GROWTHBOOK` | 設定為 `1` 或 `true` 以停用 GrowthBook 功能旗標擷取並為每個旗標使用程式碼預設值。這使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。將其設定為 `0` 或 `false` 保持擷取開啟。遙測事件日誌記錄保持開啟,除非 `DISABLE_TELEMETRY` 也設定 |

426| `DISABLE_INSTALLATION_CHECKS` | 設定為 `1` 以停用安裝警告。僅在手動管理安裝位置時使用,因為這可能隱藏標準安裝的問題 |433| `DISABLE_INSTALLATION_CHECKS` | 設定為 `1` 以停用安裝警告。僅在手動管理安裝位置時使用,因為這可能會隱藏標準安裝的問題 |

427| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | 設定為 `1` 以隱藏 `/install-github-app` 命令。使用第三方提供者(Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry)時已隱藏 |434| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | 設定為 `1` 以隱藏 `/install-github-app` 命令。當使用第三方提供者(Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry)時已隱藏 |

428| `DISABLE_INTERLEAVED_THINKING` | 設定為 `1` 以防止傳送交錯思考測試版標頭。當您的 LLM 閘道或提供者不支援 [交錯思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) 時很有用 |435| `DISABLE_INTERLEAVED_THINKING` | 設定為 `1` 以防止傳送交錯思考測試版標頭。當您的 LLM 閘道或提供者不支援 [交錯思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) 時很有用 |

429| `DISABLE_LOGIN_COMMAND` | 設定為 `1` 以隱藏 `/login` 命令。當驗證透過 API 金鑰或 `apiKeyHelper` 外部處理時很有用 |436| `DISABLE_LOGIN_COMMAND` | 設定為 `1` 以隱藏 `/login` 命令。當驗證透過 API 金鑰或 `apiKeyHelper` 外部處理時很有用 |

430| `DISABLE_LOGOUT_COMMAND` | 設定為 `1` 以隱藏 `/logout` 命令 |437| `DISABLE_LOGOUT_COMMAND` | 設定為 `1` 以隱藏 `/logout` 命令 |


434| `DISABLE_PROMPT_CACHING_OPUS` | 設定為 `1` 以為 Opus 模型停用提示快取 |441| `DISABLE_PROMPT_CACHING_OPUS` | 設定為 `1` 以為 Opus 模型停用提示快取 |

435| `DISABLE_PROMPT_CACHING_SONNET` | 設定為 `1` 以為 Sonnet 模型停用提示快取 |442| `DISABLE_PROMPT_CACHING_SONNET` | 設定為 `1` 以為 Sonnet 模型停用提示快取 |

436| `DISABLE_TELEMETRY` | 設定為任何非空值(例如 `1`)以選擇退出遙測。**將其設定為 `0` 或 `false` 仍會選擇退出**,與大多數開啟/關閉變數不同;取消設定變數以重新開啟遙測。遙測事件不包含使用者資料,如程式碼、檔案路徑或 bash 命令。也停用功能旗標擷取,效果與 `DISABLE_GROWTHBOOK` 相同,這使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。請參閱 [為您的組織關閉遙測](/docs/zh-TW/managed-settings#turn-telemetry-off-for-your-organization) |443| `DISABLE_TELEMETRY` | 設定為任何非空值(例如 `1`)以選擇退出遙測。**將其設定為 `0` 或 `false` 仍會選擇退出**,與大多數開啟/關閉變數不同;取消設定變數以重新開啟遙測。遙測事件不包含使用者資料,如程式碼、檔案路徑或 bash 命令。也停用功能旗標擷取,效果與 `DISABLE_GROWTHBOOK` 相同,這使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。請參閱 [為您的組織關閉遙測](/docs/zh-TW/managed-settings#turn-telemetry-off-for-your-organization) |

437| `DISABLE_UPDATES` | 設定為 `1` 以阻止所有更新,包括手動 `claude update` 和 `claude install`。比 `DISABLE_AUTOUPDATER` 更嚴格。在透過您自己的通道分發 Claude Code 且使用者不應自我更新時使用 |444| `DISABLE_UPDATES` | 設定為 `1` 以阻止所有更新,包括手動 `claude update` 和 `claude install`。比 `DISABLE_AUTOUPDATER` 更嚴格。當透過您自己的頻道分發 Claude Code 且使用者不應自我更新時使用 |

438| `DISABLE_UPGRADE_COMMAND` | 設定為 `1` 以隱藏 `/upgrade` 命令 |445| `DISABLE_UPGRADE_COMMAND` | 設定為 `1` 以隱藏 `/upgrade` 命令 |

439| `DO_NOT_TRACK` | 設定為 `1` 以選擇退出遙測,效果與 `DISABLE_TELEMETRY` 相同,包括使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。Claude Code 將此變數讀作標準布林值,因此 `0` 保持遙測開啟,並尊重許多開發人員 CLI 識別的跨工具慣例 |446| `DO_NOT_TRACK` | 設定為 `1` 以選擇退出遙測,效果與 `DISABLE_TELEMETRY` 相同,包括使 [Remote Control](/docs/zh-TW/remote-control#requirements) 和其他 [需要功能旗標擷取的功能](#features-that-need-feature-flag-fetching) 不可用。Claude Code 將此變數讀作標準布林值,因此 `0` 保持遙測開啟,並尊重許多開發人員 CLI 識別的跨工具慣例 |

440| `ENABLE_BETA_TRACING_DETAILED` | 設定為 `1`,與 `BETA_TRACING_ENDPOINT` 一起,以開啟 [詳細測試版追蹤](/docs/zh-TW/monitoring-usage#traces-beta),它新增內容承載跨度屬性和 `claude_code.hook` 跨度。互動 CLI 工作階段也需要您的組織被允許列出用於測試版。兩個變數在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中被忽略 |447| `ENABLE_BETA_TRACING_DETAILED` | 與 `BETA_TRACING_ENDPOINT` 一起設定為 `1`,以開啟 [詳細測試版追蹤](/docs/zh-TW/monitoring-usage#traces-beta),這新增內容承載跨度屬性和 `claude_code.hook` 跨度。互動 CLI 工作階段也需要您的組織被允許列出測試版。兩個變數在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中被忽略 |

441| `ENABLE_CLAUDEAI_MCP_SERVERS` | 設定為 `false` 以停止 Claude Code 擷取 [claude.ai MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。對於已登入的使用者預設啟用。若要按專案或按組織停用,改為在設定中設定 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors) |448| `ENABLE_CLAUDEAI_MCP_SERVERS` | 設定為 `false` 以停止 Claude Code 擷取 [claude.ai MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。對於已登入的使用者預設啟用。若要按專案或按組織停用,改為在設定中設定 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors) |

442| `ENABLE_PROMPT_CACHING_1H` | 設定為 `1` 以請求 1 小時 [提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime),而不是預設 5 分鐘。適用於 API 金鑰、[Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 使用者。訂閱使用者在包含的使用量內在 [主要對話](/docs/zh-TW/prompt-caching#which-ttl-each-request-gets) 上自動接收 1 小時 TTL。訂閱使用者從 [使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 中提取可以設定它以保持 1 小時 TTL。1 小時快取寫入以更高的速率計費。若要改為按請求桶選擇 TTL,請使用 `CLAUDE_CODE_PROMPT_CACHE_TTL` 和 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`,它們優先於此變數 |449| `ENABLE_PROMPT_CACHING_1H` | 設定為 `1` 以要求 1 小時 [提示快取 TTL](/docs/zh-TW/prompt-caching#cache-lifetime),而不是預設 5 分鐘。適用於 API 金鑰、[Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 使用者。訂閱使用者在包含的使用量內在 [主要對話](/docs/zh-TW/prompt-caching#which-ttl-each-request-gets) 上自動接收 1 小時 TTL。訂閱使用者從 [使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 中提取可以設定它以保持 1 小時 TTL。1 小時快取寫入以更高的速率計費。若要按請求桶選擇 TTL,請改用 `CLAUDE_CODE_PROMPT_CACHE_TTL` 和 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`,它們優先於此變數 |

443| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已棄用。改用 `ENABLE_PROMPT_CACHING_1H` |450| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已棄用。改用 `ENABLE_PROMPT_CACHING_1H` |

444| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)。未設定時,Claude Code 預設延遲所有 MCP 工具。它仍在早於 Claude 4.5 代的 Google Cloud 的 Agent Platform 模型上立即載入它們,在 Azure 上託管的 Microsoft Foundry 部署上,以及當 `ANTHROPIC_BASE_URL` 指向非第一方主機時。`true` 始終延遲並傳送測試版標頭,除了在這些相同的 Agent Platform 模型和 Microsoft Foundry 部署上;請求在不支援 `tool_reference` 的代理上失敗。`auto` 在工具定義符合上下文的 10% 時立即載入。`auto:N` 設定自訂閾值,例如 5% 的 `auto:5`。`false` 立即載入所有工具。當設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 時,您自己設定的值被忽略。在 v2.1.221 之前,Claude Code 在 Google Cloud 的 Agent Platform 上為所有模型停用工具搜尋,除非您將此變數設定為 `true` |451| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)。未設定,Claude Code 預設延遲所有 MCP 工具。它仍在 Google Cloud's Agent Platform 模型上預先載入,早於 Claude 4.5 代,在 Azure 上託管的 Microsoft Foundry 部署上,以及當 `ANTHROPIC_BASE_URL` 指向非第一方主機時。`true` 始終延遲並傳送測試版標頭,除了在這些相同的 Agent Platform 模型和 Microsoft Foundry 部署上;請求在不支援 `tool_reference` 的代理上失敗。`auto` 在工具定義符合上下文的 10% 時預先載入。`auto:N` 設定自訂閾值,例如 5% 的 `auto:5`。`false` 預先載入所有工具。您自己設定的值在設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 時被忽略。在 v2.1.221 之前,Claude Code 在 Google Cloud's Agent Platform 上為所有模型停用工具搜尋,除非您將此變數設定為 `true` |

445| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 設定為任何非空值(例如 `1`)以使 Claude Code 在未配置回退模型時停止在重複過載錯誤上重試每個模型。**將其設定為 `0` 或 `false` 仍會啟用此功能**,與大多數開啟/關閉變數不同;取消設定變數以恢復預設重試行為。沒有它,Claude Code 在您使用 API 金鑰或 [第三方提供者](/docs/zh-TW/third-party-integrations) 而不是 Claude 訂閱進行驗證時,停止在它識別為 Opus、Fable 或 Mythos 模型的重複過載錯誤上重試。在 Claude Code v2.1.160 或更新版本上,Claude Code 在任何主要模型上重複過載錯誤時切換到您配置的 [回退模型鏈](/docs/zh-TW/model-config#fallback-model-chains),因此此變數不影響切換到回退模型 |452| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 設定為任何非空值(例如 `1`),以使 Claude Code 在未配置回退模型時停止在重複過載錯誤上重試每個模型。**將其設定為 `0` 或 `false` 仍會啟用此項**,與大多數開啟/關閉變數不同;取消設定變數以恢復預設重試行為。沒有它,Claude Code 在您使用 API 金鑰或 [第三方提供者](/docs/zh-TW/third-party-integrations) 而不是 Claude 訂閱進行驗證時,停止在 Opus、Fable 或 Mythos 模型上以這種方式重試。在 Claude Code v2.1.160 或更新版本上,Claude Code 在任何主要模型上重複過載錯誤時切換到您配置的 [回退模型鏈](/docs/zh-TW/model-config#fallback-model-chains),因此此變數不影響切換到回退模型 |

446| `FORCE_AUTOUPDATE_PLUGINS` | 設定為 `1` 以強制外掛程式自動更新,即使主自動更新透過 `DISABLE_AUTOUPDATER` 停用 |453| `FORCE_AUTOUPDATE_PLUGINS` | 設定為 `1` 以強制外掛程式自動更新,即使主自動更新透過 `DISABLE_AUTOUPDATER` 停用 |

447| `FORCE_HYPERLINK` | 設定為 `1` 以在您的終端支援但未自動偵測時啟用可點擊的 OSC 8 超連結,或 `0` 以停用它們。未設定時,Claude Code 僅在偵測到終端支援時啟用超連結。Claude Code 將此值解析為數字,而不是布林值,因此 `false`、`no` 或 `off` 等值啟用超連結,而不是停用它們。頁腳 [PR 或合併請求徽章](/docs/zh-TW/interactive-mode#pr-review-status) 即使在 Claude Code 無法偵測終端支援時(例如透過 SSH)也呈現為超連結。設定 `0` 以呈現徽章為純文字 |454| `FORCE_HYPERLINK` | 設定為 `1` 以在您的終端支援但未自動偵測時啟用可點擊的 OSC 8 超連結,或設定為 `0` 以停用它們。未設定時,Claude Code 僅在偵測到終端支援時啟用超連結。Claude Code 將此值解析為數字,而不是布林值,因此 `false`、`no` 或 `off` 之類的值啟用超連結,而不是停用它們。頁腳 [PR 或合併請求徽章](/docs/zh-TW/interactive-mode#pr-review-status) 即使在 Claude Code 無法偵測終端支援時(例如透過 SSH)也呈現為超連結。設定 `0` 以呈現徽章為純文字 |

448| `FORCE_PROMPT_CACHING_5M` | 設定為 `1` 以強制 5 分鐘提示快取 TTL,即使 1 小時 TTL 會否則適用。覆蓋 `CLAUDE_CODE_PROMPT_CACHE_TTL`、`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`、`ENABLE_PROMPT_CACHING_1H` 和 `promptCacheTtl` 和 `subagentPromptCacheTtl` 設定 |455| `FORCE_PROMPT_CACHING_5M` | 設定為 `1` 以強制 5 分鐘提示快取 TTL,即使 1 小時 TTL 會否則適用。覆蓋 `CLAUDE_CODE_PROMPT_CACHE_TTL`、`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`、`ENABLE_PROMPT_CACHING_1H` 和 `promptCacheTtl` 和 `subagentPromptCacheTtl` 設定 |

449| `HTTP_PROXY` | 為網路連線指定 HTTP 代理伺服器 |456| `HTTP_PROXY` | 為網路連線指定 HTTP 代理伺服器 |

450| `HTTPS_PROXY` | 為網路連線指定 HTTPS 代理伺服器 |457| `HTTPS_PROXY` | 為網路連線指定 HTTPS 代理伺服器 |

451| `IS_DEMO` | 設定為任何非空值(例如 `1`)以啟用演示模式:從標頭和 `/status` 輸出隱藏您的電子郵件和組織名稱,並跳過入門。**將其設定為 `0` 或 `false` 仍會啟用演示模式**,與大多數開啟/關閉變數不同;取消設定變數以關閉它。在串流或錄製工作階段時很有用 |458| `IS_DEMO` | 設定為任何非空值(例如 `1`)以啟用演示模式:從標頭和 `/status` 輸出隱藏您的電子郵件和組織名稱,並跳過入門。**將其設定為 `0` 或 `false` 仍會啟用演示模式**,與大多數開啟/關閉變數不同;取消設定變數以關閉它。在串流或錄製工作階段時很有用 |

452| `MAX_MCP_OUTPUT_TOKENS` | MCP 工具回應中允許的最大權杖數。Claude Code 在輸出超過 10,000 權杖時顯示警告。聲明 [`anthropic/maxResultSizeChars`](/docs/zh-TW/mcp#raise-the-limit-for-a-specific-tool) 的工具改為為文字內容使用該字元限制,但來自這些工具的影像內容仍受此變數約束(預設值:25000) |459| `MAX_MCP_OUTPUT_TOKENS` | MCP 工具回應中允許的最大權杖數。Claude Code 在輸出超過 10,000 權杖時顯示警告。聲明 [`anthropic/maxResultSizeChars`](/docs/zh-TW/mcp#raise-the-limit-for-a-specific-tool) 的工具改為對文字內容使用該字元限制,但來自這些工具的影像內容仍受此變數約束(預設:25000) |

453| `MAX_STRUCTURED_OUTPUT_RETRIES` | 當模型的回應無法針對非互動模式中的 [`--json-schema`](/docs/zh-TW/cli-reference#cli-flags) 使用 `-p` 旗標進行驗證時,Claude Code 允許的嘗試次數;在那麼多次失敗的嘗試後沒有有效輸出,執行失敗。當 [工作流程](/docs/zh-TW/workflows) 子代理的結構化輸出無法驗證時,相同的上限適用。預設為 5,第一次嘗試加四次重試 |460| `MAX_STRUCTURED_OUTPUT_RETRIES` | 當模型的回應無法驗證 [`--json-schema`](/docs/zh-TW/cli-reference#cli-flags) 時,Claude Code 在非互動模式下使用 `-p` 旗標允許的嘗試次數;在那麼多次失敗嘗試後沒有有效輸出,執行失敗。當 [工作流程](/docs/zh-TW/workflows) 子代理的結構化輸出無法驗證時,相同的上限適用。預設為 5,第一次嘗試加四次重試 |

454| `MAX_THINKING_TOKENS` | [擴展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) 的固定權杖預算。Claude Code 將其上限設為請求的最大輸出權杖下方一個權杖,絕不低於 1,024。請參閱 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 以了解該限制如何設定。未設定時,具有 [自適應推理](/docs/zh-TW/model-config#adjust-effort-level) 的模型選擇自己的思考深度,其他模型使用上限。設定為 `0` 以在 Anthropic API 上停用思考,除了 Fable 模型,無法關閉思考。在 [第三方提供者](/docs/zh-TW/third-party-integrations) 上,`0` 改為省略 `thinking` 參數。在 Anthropic API 上關閉思考時,Claude Code 向它知道 [不接受該組合](/docs/zh-TW/errors#effort-isnt-available-with-thinking-turned-off) 的模型(例如 Opus 5)傳送 effort `high` 而不是更高級別。Claude Code 忽略自適應推理模型上的非零值,除了 Claude Code 關閉自適應推理的模型,除了 Claude Code 關閉自適應推理的模型 |461| `MAX_THINKING_TOKENS` | [擴展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) 的固定權杖預算。Claude Code 將其上限設定為請求最大輸出權杖下方一個權杖,永遠不低於 1,024。請參閱 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 以了解該限制如何設定。未設定且思考啟用時,具有 [自適應推理](/docs/zh-TW/model-config#adjust-effort-level) 的模型選擇自己的思考深度,其他模型使用上限。設定為 `0` 以在 Anthropic API 上停用思考,除了 Fable 模型,無法關閉思考。在 [第三方提供者](/docs/zh-TW/third-party-integrations) 上,`0` 改為省略 `thinking` 參數。在 Anthropic API 上關閉思考時,Claude Code 向它知道 [不接受該組合](/docs/zh-TW/errors#effort-isnt-available-with-thinking-turned-off) 的模型(例如 Opus 5)傳送 effort `high` 而不是更高級別。Claude Code 在自適應推理模型上忽略非零值,除了 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 關閉自適應推理的模型 |

455| `MCP_CLIENT_SECRET` | 需要 [預先配置的認證](/docs/zh-TW/mcp#use-pre-configured-oauth-credentials) 的 MCP 伺服器的 OAuth 用戶端密碼。在使用 `--client-secret` 新增伺服器時避免互動提示 |462| `MCP_CLIENT_SECRET` | 需要 [預先配置認證](/docs/zh-TW/mcp#use-pre-configured-oauth-credentials) 的 MCP 伺服器的 OAuth 用戶端機密。在使用 `--client-secret` 新增伺服器時避免互動提示 |

456| `MCP_CONNECTION_NONBLOCKING` | 控制啟動是否在第一個查詢之前等待 MCP 伺服器連線。MCP 啟動預設非阻塞:伺服器在背景連線,其工具在完成時變為可用。設定為 `0` 以使 Claude Code 在第一個查詢之前等待伺服器連線。配置 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 的伺服器仍使啟動等待,除非從 [發現快取](/docs/zh-TW/mcp#server-status-detail) 提供,因為它們的工具必須在建立第一個提示時存在。在非互動模式 (`-p`) 中,Claude Code 也在第一個轉向之前等待仍待處理的伺服器,當您明確傳遞 [`--mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 時有更長的截止日期;請參閱該旗標的項目以了解快取伺服器例外 |463| `MCP_CONNECTION_NONBLOCKING` | 控制啟動是否在第一個查詢前等待 MCP 伺服器連線。MCP 啟動預設非阻塞:伺服器在背景連線,其工具在完成時變為可用。設定為 `0` 以使 Claude Code 在第一個查詢前等待伺服器連線。配置 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 的伺服器仍使啟動等待,除非從 [發現快取](/docs/zh-TW/mcp#server-status-detail) 提供,因為它們的工具必須在建立第一個提示時存在。在非互動模式 (`-p`) 中,Claude Code 也在第一個轉前等待仍待處理的伺服器,無論此變數如何,當您明確傳遞 [`--mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 時有更長的期限;請參閱該旗標的項目以了解快取伺服器例外 |

457| `MCP_CONNECT_TIMEOUT_MS` | 阻塞 MCP 啟動等待連線批次的時間(毫秒),然後才快照工具清單(預設值:5000)。當 `MCP_CONNECTION_NONBLOCKING=0` 或伺服器標記 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 時適用。仍待處理的伺服器在截止日期後繼續在背景連線。與 `MCP_TIMEOUT` 不同,後者限制個別伺服器的連線嘗試 |464| `MCP_CONNECT_TIMEOUT_MS` | 阻塞 MCP 啟動在快照工具清單前等待連線批次的時間(毫秒)(預設:5000)。當 `MCP_CONNECTION_NONBLOCKING=0` 或伺服器標記 [`alwaysLoad: true`](/docs/zh-TW/mcp#exempt-a-server-from-deferral) 時適用。仍待處理的伺服器在期限後繼續在背景連線 |

458| `MCP_DISCOVERY_CACHE` | 開啟或關閉 [MCP 發現快取](/docs/zh-TW/mcp#server-status-detail)。快取開啟時,您之前使用過的遠端 HTTP 或 SSE 伺服器可以顯示 [`cached` 狀態](/docs/zh-TW/mcp#server-status-detail),Claude Code 在其第一個工具呼叫時連線它,而不是在啟動時。快取預設關閉,除非逐步推出已為您的帳戶啟用它。設定為 `1` 以開啟它,或 `0` 以保持關閉,即使推出已啟用它。在 v2.1.238 之前,快取預設開啟。`cached` 狀態需要 Claude Code v2.1.221 或更新版本 |465| `MCP_DISCOVERY_CACHE` | 開啟或關閉 [MCP 發現快取](/docs/zh-TW/mcp#server-status-detail)。快取開啟時,您之前使用過的遠端 HTTP 或 SSE 伺服器可以顯示 [`cached` 狀態](/docs/zh-TW/mcp#server-status-detail),Claude Code 在其第一個工具呼叫時連線它,而不是在啟動時。快取預設關閉,除非逐步推出已為您的帳戶啟用它。設定為 `1` 以開啟它,或設定為 `0` 以保持關閉,即使推出已啟用它。在 v2.1.238 之前,快取預設開啟。`cached` 狀態需要 Claude Code v2.1.221 或更新版本 |

459| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | [發現快取](/docs/zh-TW/mcp#server-status-detail) 項目的最大年齡(秒)(預設值:14400,或 4 小時)。在項目比該年齡更舊的啟動時,Claude Code 會丟棄它並在啟動時連線伺服器,如同快取關閉一樣。Claude Code 將值上限為 7 天。在 v2.1.238 之前,預設值為 86400,或 24 小時,Claude Code 未上限該值 |466| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | [發現快取](/docs/zh-TW/mcp#server-status-detail) 項目的最大年齡(秒)(預設:14400,或 4 小時)。在項目比該年齡更舊的啟動時,Claude Code 丟棄它並在啟動時連線伺服器,如同快取關閉一樣。Claude Code 將值上限為 7 天。在 v2.1.238 之前,預設為 86400,或 24 小時,Claude Code 未上限值 |

460| `MCP_DISCOVERY_CACHE_STRIKES` | 在啟動時 [發現快取](/docs/zh-TW/mcp#server-status-detail) 項目比 `MCP_DISCOVERY_CACHE_TTL_S` 更舊時,Claude Code 在背景刷新它。此變數設定在 Claude Code 丟棄項目並在下一次啟動時連線伺服器之前,連續刷新可以失敗多少次(預設值:1)。如果您的網路連線偶爾掉線,請提高它,以便一次失敗的刷新不會丟棄項目。需要 Claude Code v2.1.238 或更新版本 |467| `MCP_DISCOVERY_CACHE_STRIKES` | 在 [發現快取](/docs/zh-TW/mcp#server-status-detail) 項目比 `MCP_DISCOVERY_CACHE_TTL_S` 更舊的啟動時,Claude Code 在背景刷新它。此變數設定在 Claude Code 丟棄項目並在下一次啟動時連線伺服器前,刷新可以連續失敗多少次(預設:1)。如果您的網路連線偶爾掉線,請提高它,以便一次失敗的刷新不會丟棄項目。需要 Claude Code v2.1.238 或更新版本 |

461| `MCP_DISCOVERY_CACHE_TTL_S` | Claude Code 使用 [發現快取](/docs/zh-TW/mcp#server-status-detail) 項目而不刷新它的秒數(預設值:900)。在項目比該年齡更舊的啟動時,Claude Code 仍使用它但在背景刷新它。一旦項目比 `MCP_DISCOVERY_CACHE_MAX_STALE_S` 更舊,Claude Code 改為丟棄它。Claude Code 將值上限為 `MCP_DISCOVERY_CACHE_MAX_STALE_S`,預設為 4 小時。在 v2.1.238 之前,Claude Code 未上限該值 |468| `MCP_DISCOVERY_CACHE_TTL_S` | Claude Code 使用 [發現快取](/docs/zh-TW/mcp#server-status-detail) 項目而不刷新它的秒數(預設:900)。在項目比該年齡更舊的啟動時,Claude Code 仍使用它但在背景刷新它。一旦項目比 `MCP_DISCOVERY_CACHE_MAX_STALE_S` 更舊,Claude Code 改為丟棄它。Claude Code 將值上限為 `MCP_DISCOVERY_CACHE_MAX_STALE_S`,預設為 4 小時。在 v2.1.238 之前,Claude Code 未上限值 |

462| `MCP_OAUTH_CALLBACK_PORT` | OAuth 重新導向回呼的固定埠,作為使用 [預先配置的認證](/docs/zh-TW/mcp#use-pre-configured-oauth-credentials) 新增 MCP 伺服器時 `--callback-port` 的替代方案 |469| `MCP_OAUTH_CALLBACK_PORT` | OAuth 重新導向回呼的固定埠,作為使用 [預先配置認證](/docs/zh-TW/mcp#use-pre-configured-oauth-credentials) 新增 MCP 伺服器時 `--callback-port` 的替代方案 |

463| `MCP_PROTOCOL_NEGOTIATION` | 在 [v2 MCP 用戶端執行時](/docs/zh-TW/mcp#mcp-client-runtimes) 上,Claude Code 是否探測伺服器以了解 MCP 協議修訂 2026-07-28。設定 `auto` 以探測 HTTP、claude.ai 連接器和 stdio 伺服器;不回答探測的伺服器在較早的協議上連線,SSE 和 WebSocket 伺服器始終這樣做。設定 `legacy` 以跳過每個伺服器的探測。沒有變數,Claude Code 在 Claude Code v2.1.232 或更新版本上探測 HTTP 和 claude.ai 連接器伺服器,但 [MCP 用戶端執行時](/docs/zh-TW/mcp#mcp-client-runtimes) 部分列出的例外。任何其他值被忽略,並在偵錯日誌中出現警告。需要 Claude Code v2.1.221 或更新版本 |470| `MCP_PROTOCOL_NEGOTIATION` | 在 [v2 MCP 用戶端執行時](/docs/zh-TW/mcp#mcp-client-runtimes) 上,Claude Code 是否探測伺服器以了解 MCP 協議修訂 2026-07-28。設定 `auto` 以探測 HTTP、claude.ai 連接器和 stdio 伺服器;不回答探測的伺服器在較早的協議上連線,SSE 和 WebSocket 伺服器始終這樣做。設定 `legacy` 以跳過每個伺服器的探測。沒有變數,Claude Code 在 Claude Code v2.1.232 或更新版本上探測 HTTP 和 claude.ai 連接器伺服器,除了 [MCP 用戶端執行時](/docs/zh-TW/mcp#mcp-client-runtimes) 部分列出的例外。任何其他值被忽略,並在偵錯日誌中出現警告。需要 Claude Code v2.1.221 或更新版本 |

464| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 啟動期間並行連線的遠端 MCP 伺服器(HTTP/SSE)的最大數量(預設值:20) |471| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 在啟動期間並行連線的遠端 MCP 伺服器(HTTP/SSE)的最大數量(預設:20) |

465| `MCP_SDK_GENERATION` | 釘選此程序連線 MCP 伺服器的 [MCP 用戶端執行時](/docs/zh-TW/mcp#mcp-client-runtimes):`v1`,建立在 MCP TypeScript SDK 1.x 上,或 `v2`,建立在 [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/)。沒有變數,Claude Code 在 Claude Code v2.1.232 或更新版本上使用 v2,除了該部分說明它使用 v1 的地方。在 Claude Code v2.1.221 或更新版本上,v2 執行時檢查 MCP OAuth 伺服器在其授權回應中返回的簽發者,並在不符合時使用以 `Issuer mismatch in authorization response` 開頭的錯誤失敗登入。v1 執行時不執行此檢查。如果您設定無法識別的值,Claude Code 會忽略它並寫入偵錯日誌的警告。Claude Code 每個程序讀取一次值。需要 Claude Code v2.1.218 或更新版本 |472| `MCP_SDK_GENERATION` | 釘選此程序連線 MCP 伺服器的 [MCP 用戶端執行時](/docs/zh-TW/mcp#mcp-client-runtimes):`v1`,建立在 MCP TypeScript SDK 1.x 上,或 `v2`,建立在 [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/) 上。沒有變數,Claude Code 在 Claude Code v2.1.232 或更新版本上使用 v2,除了該部分說明它使用 v1 的地方。在 Claude Code v2.1.221 或更新版本上,v2 執行時檢查 MCP OAuth 伺服器在其授權回應中返回的簽發者,並在不符合時失敗登入,並出現以 `Issuer mismatch in authorization response` 開頭的錯誤。v1 執行時不執行此檢查。如果您設定無法識別的值,Claude Code 會忽略它並在偵錯日誌中寫入警告。Claude Code 每個程序讀取值一次。需要 Claude Code v2.1.218 或更新版本 |

466| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 啟動期間並行連線的本機 MCP 伺服器(stdio)的最大數量(預設值:3) |473| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 在啟動期間並行連線的本機 MCP 伺服器(stdio)的最大數量(預設:3) |

467| `MCP_TIMEOUT` | MCP 伺服器啟動的逾時(毫秒)(預設值:30000,或 30 秒) |474| `MCP_TIMEOUT` | MCP 伺服器啟動的逾時(毫秒)(預設:30000,或 30 秒) |

468| `MCP_TOOL_TIMEOUT` | MCP 工具執行的逾時(毫秒)(預設值:100000000,約 28 小時)。對於 HTTP、SSE 或 claude.ai 連接器伺服器,每個請求也預設在 60 秒後逾時;設定此變數或每個伺服器 `timeout` 高於 60000 以提高該每個請求限制。較低的值仍會縮短整體工具執行逾時,但保持每個請求限制在 60 秒。Stdio 和 WebSocket 伺服器沒有每個請求計時器。`.mcp.json` 中的每個伺服器 `timeout` 欄位覆蓋該伺服器的此項。至少 1000 的每個伺服器 `timeout` 也為該伺服器的工具呼叫設定最小閒置視窗,因此 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` 永遠不會更早中止它們;此下限需要 Claude Code v2.1.203 或更新版本。對於 env 變數,低於 1000 的值下限為一秒;對於每個伺服器欄位,低於 1000 的值被忽略 |475| `MCP_TOOL_TIMEOUT` | MCP 工具執行的逾時(毫秒)(預設:100000000,約 28 小時)。對於 HTTP、SSE 或 claude.ai 連接器伺服器,每個請求也預設在 60 秒後逾時;將此變數或每個伺服器 `timeout` 設定為 60000 以上以提高該每個請求限制。較低的值仍會縮短整體工具執行逾時,但保持每個請求限制為 60 秒。Stdio 和 WebSocket 伺服器沒有每個請求計時器。`.mcp.json` 中的每個伺服器 `timeout` 欄位覆蓋此項用於該伺服器。至少 1000 的每個伺服器 `timeout` 也為該伺服器的工具呼叫設定最小閒置視窗,因此 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` 永遠不會更早中止它們;此下限需要 Claude Code v2.1.203 或更新版本。對於 env 變數,低於 1000 的值下限為一秒;對於每個伺服器欄位,低於 1000 的值被忽略 |

469| `NO_PROXY` | 將直接發出請求的網域和 IP 清單,繞過代理 |476| `NO_PROXY` | 要直接發出請求的網域和 IP 清單,繞過代理 |

470| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 標準 OpenTelemetry SDK 屬性值長度限制。Claude Code 將內容承載遙測屬性上限為此和 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 中的較小值,因此截斷標記保持在 SDK 限制內。Claude Code 以相同方式讀取 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 和 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 變體,最小設定值適用於所有信號。需要 Claude Code v2.1.214 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage#common-configuration-variables) |477| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 標準 OpenTelemetry SDK 屬性值長度限制。Claude Code 將內容承載遙測屬性上限為此和 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 中的較小者,因此截斷標記保持在 SDK 限制內。Claude Code 以相同方式讀取 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 和 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 變體,最小設定值適用於所有信號。需要 Claude Code v2.1.214 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage#common-configuration-variables) |

471| `OTEL_LOG_ASSISTANT_RESPONSES` | 設定為 `1` 以在 `assistant_response` OpenTelemetry 日誌事件上包含模型的回應文字。未設定時,使用 `OTEL_LOG_USER_PROMPTS` 的值。設定為 `0` 以保持回應編輯,即使 `OTEL_LOG_USER_PROMPTS` 設定。需要 Claude Code v2.1.193 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage#assistant-response-event) |478| `OTEL_LOG_ASSISTANT_RESPONSES` | 設定為 `1` 以在 `assistant_response` OpenTelemetry 日誌事件上包含模型的回應文字。未設定時,使用 `OTEL_LOG_USER_PROMPTS` 的值。設定為 `0` 以保持回應被編輯,即使 `OTEL_LOG_USER_PROMPTS` 設定。需要 Claude Code v2.1.193 或更新版本。請參閱 [監控](/docs/zh-TW/monitoring-usage#assistant-response-event) |

472| `OTEL_LOG_RAW_API_BODIES` | 發出 Anthropic Messages API 請求和回應 JSON 作為 `api_request_body` / `api_response_body` 日誌事件。設定為 `1` 用於在內容限制處截斷的內聯主體,或 `file:<dir>` 以將未截斷的主體寫入磁碟並改為發出 `body_ref` 路徑。`CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 配置內容限制,預設 60 KB。預設停用;主體包含整個對話歷史記錄。在您的 shell、使用者設定或受管設定中設定它。在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中忽略。請參閱 [監控](/docs/zh-TW/monitoring-usage#api-request-body-event) |479| `OTEL_LOG_RAW_API_BODIES` | 發出 Anthropic Messages API 請求和回應 JSON 作為 `api_request_body` / `api_response_body` 日誌事件。設定為 `1` 用於在內容限制處截斷的內聯主體,或 `file:<dir>` 以將未截斷的主體寫入磁碟並改為發出 `body_ref` 路徑。`CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 配置內容限制,預設 60 KB。預設停用;主體包含整個對話歷史記錄。在您的 shell、使用者設定或受管設定中設定它。在 [專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env) 中被忽略。請參閱 [監控](/docs/zh-TW/monitoring-usage#api-request-body-event) |

473| `OTEL_LOG_TOOL_CONTENT` | 設定為 `1` 以在 OpenTelemetry 跨度事件中包含工具輸入和輸出內容。預設停用以保護敏感資料。請參閱 [監控](/docs/zh-TW/monitoring-usage) |480| `OTEL_LOG_TOOL_CONTENT` | 設定為 `1` 以在 `tool.output` OpenTelemetry 跨度事件中包含工具內容。跨度屬性在 [自己的門下](/docs/zh-TW/monitoring-usage#new-context-gates) 攜帶工具內容。需要 [追蹤](/docs/zh-TW/monitoring-usage#traces-beta)。預設停用以保護敏感資料。請參閱 [監控](/docs/zh-TW/monitoring-usage#tool-output-span-event) |

474| `OTEL_LOG_TOOL_DETAILS` | 設定為 `1` 以在 OpenTelemetry 追蹤和日誌中包含工具輸入引數、MCP 伺服器名稱、使用者撰寫的工作流程名稱、工具失敗上的原始錯誤字串、`api_refusal` 事件上的拒絕 `category` 和其他工具詳細資訊。預設停用以保護 PII。請參閱 [監控](/docs/zh-TW/monitoring-usage) |481| `OTEL_LOG_TOOL_DETAILS` | 設定為 `1` 以在 OpenTelemetry 追蹤和日誌中包含工具輸入引數、MCP 伺服器名稱、使用者撰寫的工作流程名稱、工具失敗上的原始錯誤字串、`api_refusal` 事件上的拒絕 `category` 和其他工具詳細資訊。預設停用以保護 PII。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

475| `OTEL_LOG_USER_PROMPTS` | 設定為 `1` 以在 OpenTelemetry 追蹤和日誌中包含使用者提示文字。預設停用(提示被編輯)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |482| `OTEL_LOG_USER_PROMPTS` | 設定為 `1` 以在 OpenTelemetry 追蹤和日誌中包含使用者提示文字。預設停用(提示被編輯)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 設定為 `false` 以從指標屬性中排除帳戶 UUID(預設值:包含)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |483| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 設定為 `false` 以從指標屬性中排除帳戶 UUID(預設:包含)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 設定為 `true` 以在指標屬性中包含工作階段進入點(預設值:排除)。在 v2.1.152 中新增。請參閱 [監控](/docs/zh-TW/monitoring-usage) |484| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 設定為 `true` 以在指標屬性中包含工作階段進入點(預設:排除)。在 v2.1.152 中新增。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

478| `OTEL_METRICS_INCLUDE_REPOSITORY` | 設定為 `true` 以使用 `vcs.*` 屬性標記 OpenTelemetry 指標和事件,識別工作階段的儲存庫(預設值:排除)。需要 Claude Code v2.1.269 或更新版本。請參閱 [儲存庫屬性](/docs/zh-TW/monitoring-usage#repository-attributes) |485| `OTEL_METRICS_INCLUDE_REPOSITORY` | 設定為 `true` 以使用識別工作階段儲存庫的 `vcs.*` 屬性標記 OpenTelemetry 指標和事件(預設:排除)。需要 Claude Code v2.1.269 或更新版本。請參閱 [儲存庫屬性](/docs/zh-TW/monitoring-usage#repository-attributes) |

479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | 從 v2.1.161 開始,Claude Code 將 `OTEL_RESOURCE_ATTRIBUTES` 金鑰附加到指標資料點標籤。設定為 `false` 以排除它們(預設值:包含)。請參閱 [監控](/docs/zh-TW/monitoring-usage#multi-team-organization-support) |486| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | 自 v2.1.161 起,Claude Code 將 `OTEL_RESOURCE_ATTRIBUTES` 金鑰附加到指標資料點標籤。設定為 `false` 以排除它們(預設:包含)。請參閱 [監控](/docs/zh-TW/monitoring-usage#multi-team-organization-support) |

480| `OTEL_METRICS_INCLUDE_SESSION_ID` | 設定為 `false` 以從指標屬性中排除工作階段 ID(預設值:包含)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |487| `OTEL_METRICS_INCLUDE_SESSION_ID` | 設定為 `false` 以從指標屬性中排除工作階段 ID(預設:包含)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

481| `OTEL_METRICS_INCLUDE_VERSION` | 設定為 `true` 以在指標屬性中包含 Claude Code 版本(預設值:排除)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |488| `OTEL_METRICS_INCLUDE_VERSION` | 設定為 `true` 以在指標屬性中包含 Claude Code 版本(預設:排除)。請參閱 [監控](/docs/zh-TW/monitoring-usage) |

482| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | 覆蓋 [Skill 工具](/docs/zh-TW/skills#control-who-invokes-a-skill) 顯示的 skill 中繼資料的字元預算。預算在上下文視窗的 1% 處動態縮放,回退為 8,000 字元。為向後相容性保留的舊名稱 |489| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | 覆蓋 [Skill 工具](/docs/zh-TW/skills#control-who-invokes-a-skill) 顯示的 skill 中繼資料的字元預算。預算在上下文視窗的 1% 處動態縮放,回退為 8,000 字元。為向後相容性保留的舊名稱 |

483| `TASK_MAX_OUTPUT_LENGTH` | [背景工作](/docs/zh-TW/tools-reference#background-commands) 輸出的最大字元數,`TaskOutput` 工具保持(預設值:32000;最大值:160000)。如果您設定 [`taskOutputMaxChars`](/docs/zh-TW/settings-reference#taskoutputmaxchars) 設定,Claude Code 會忽略此變數 |490| `TASK_MAX_OUTPUT_LENGTH` | [背景工作](/docs/zh-TW/tools-reference#background-commands) 輸出的最大字元數,`TaskOutput` 工具保持(預設:32000;最大:160000)。如果您設定 [`taskOutputMaxChars`](/docs/zh-TW/settings-reference#taskoutputmaxchars) 設定,Claude Code 會忽略此變數 |

484| `USE_BUILTIN_RIPGREP` | 設定為 `0` 以使用系統安裝的 `rg` 而不是 Claude Code 包含的 `rg` |491| `USE_BUILTIN_RIPGREP` | 設定為 `0` 以使用系統安裝的 `rg` 而不是 `rg` 包含在 Claude Code 中 |

485| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude 3.5 Haiku 的區域 |492| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude 3.5 Haiku 的區域 |

486| `VERTEX_REGION_CLAUDE_3_5_SONNET` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude 3.5 Sonnet 的區域 |493| `VERTEX_REGION_CLAUDE_3_5_SONNET` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude 3.5 Sonnet 的區域 |

487| `VERTEX_REGION_CLAUDE_3_7_SONNET` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude 3.7 Sonnet 的區域 |494| `VERTEX_REGION_CLAUDE_3_7_SONNET` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude 3.7 Sonnet 的區域 |

488| `VERTEX_REGION_CLAUDE_4_0_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude 4.0 Opus 的區域 |495| `VERTEX_REGION_CLAUDE_4_0_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude 4.0 Opus 的區域 |

489| `VERTEX_REGION_CLAUDE_4_0_SONNET` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude 4.0 Sonnet 的區域 |496| `VERTEX_REGION_CLAUDE_4_0_SONNET` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude 4.0 Sonnet 的區域 |

490| `VERTEX_REGION_CLAUDE_4_1_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude 4.1 Opus 的區域 |497| `VERTEX_REGION_CLAUDE_4_1_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude 4.1 Opus 的區域 |

491| `VERTEX_REGION_CLAUDE_4_5_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Opus 4.5 的區域 |498| `VERTEX_REGION_CLAUDE_4_5_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Opus 4.5 的區域 |

492| `VERTEX_REGION_CLAUDE_4_5_SONNET` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Sonnet 4.5 的區域 |499| `VERTEX_REGION_CLAUDE_4_5_SONNET` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Sonnet 4.5 的區域 |

493| `VERTEX_REGION_CLAUDE_4_6_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Opus 4.6 的區域 |500| `VERTEX_REGION_CLAUDE_4_6_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Opus 4.6 的區域 |

494| `VERTEX_REGION_CLAUDE_4_6_SONNET` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Sonnet 4.6 的區域 |501| `VERTEX_REGION_CLAUDE_4_6_SONNET` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Sonnet 4.6 的區域 |

495| `VERTEX_REGION_CLAUDE_4_7_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Opus 4.7 的區域 |502| `VERTEX_REGION_CLAUDE_4_7_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Opus 4.7 的區域 |

496| `VERTEX_REGION_CLAUDE_4_8_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Opus 4.8 的區域 |503| `VERTEX_REGION_CLAUDE_4_8_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Opus 4.8 的區域 |

497| `VERTEX_REGION_CLAUDE_5_OPUS` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Opus 5 的區域。在 v2.1.219 中新增 |504| `VERTEX_REGION_CLAUDE_5_OPUS` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Opus 5 的區域。在 v2.1.219 中新增 |

498| `VERTEX_REGION_CLAUDE_5_SONNET` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Sonnet 5 的區域。在 v2.1.197 中新增 |505| `VERTEX_REGION_CLAUDE_5_SONNET` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Sonnet 5 的區域。在 v2.1.197 中新增 |

499| `VERTEX_REGION_CLAUDE_FABLE_5` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Fable 5 的區域。在 v2.1.170 中新增 |506| `VERTEX_REGION_CLAUDE_FABLE_5` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Fable 5 的區域。在 v2.1.170 中新增 |

500| `VERTEX_REGION_CLAUDE_FABLE_5_1` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Fable 5.1 的區域。在 v2.1.257 中新增 |507| `VERTEX_REGION_CLAUDE_FABLE_5_1` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Fable 5.1 的區域。在 v2.1.257 中新增 |

501| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | 使用 Google Cloud 的 Agent Platform 時,覆蓋 Claude Haiku 4.5 的區域 |508| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | 使用 Google Cloud's Agent Platform 時覆蓋 Claude Haiku 4.5 的區域 |

502 509 

503標準 OpenTelemetry 匯出器變數(`OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER`、`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_EXPORTER_OTLP_PROTOCOL`、`OTEL_EXPORTER_OTLP_HEADERS`、`OTEL_METRIC_EXPORT_INTERVAL`、`OTEL_RESOURCE_ATTRIBUTES` 和信號特定變體)也受支援。請參閱 [監控](/docs/zh-TW/monitoring-usage) 以了解設定詳細資訊。510標準 OpenTelemetry 匯出器變數(`OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER`、`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_EXPORTER_OTLP_PROTOCOL`、`OTEL_EXPORTER_OTLP_HEADERS`、`OTEL_METRIC_EXPORT_INTERVAL`、`OTEL_RESOURCE_ATTRIBUTES` 和信號特定變體)也被支援。請參閱 [監控](/docs/zh-TW/monitoring-usage) 以了解配置詳細資訊。

504 511 

505<h2 id="features-that-need-feature-flag-fetching">512<h2 id="features-that-need-feature-flag-fetching">

506 需要功能旗標擷取的功能513 需要功能旗標擷取的功能


514 521 

515擷取關閉時,您無法:522擷取關閉時,您無法:

516 523 

524* 讓 Claude Code [讀取 `AGENTS.md` 檔案](/docs/zh-TW/memory#agents-md)作為專案指示;它只載入 `CLAUDE.md` 檔案

517* 在 Pro、Max 和 Team 方案上[預設以自動模式啟動工作階段](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)525* 在 Pro、Max 和 Team 方案上[預設以自動模式啟動工作階段](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)

518* 讓 VS Code 擴充功能[讀取設定檔以取得起始權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)526* 讓 VS Code 擴充功能[讀取設定檔以取得起始權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)

519* 執行 [`/auto-mode-setup`](/docs/zh-TW/auto-mode-config#generate-environment-entries) 來草擬 `autoMode.environment` 項目527* 執行 [`/auto-mode-setup`](/docs/zh-TW/auto-mode-config#generate-environment-entries) 來草擬 `autoMode.environment` 項目


521* [訊息工作階段超越此機器](/docs/zh-TW/cross-session-messaging#message-sessions-on-other-machines);此機器上工作階段之間的訊息傳遞在擷取關閉時可運作529* [訊息工作階段超越此機器](/docs/zh-TW/cross-session-messaging#message-sessions-on-other-machines);此機器上工作階段之間的訊息傳遞在擷取關閉時可運作

522* 執行 [`claude import` 或 `/import` 命令](/docs/zh-TW/cli-reference#cli-commands)530* 執行 [`claude import` 或 `/import` 命令](/docs/zh-TW/cli-reference#cli-commands)

523* 執行 [`/skill-doctor`](/docs/zh-TW/skills#find-unused-skills) 或在 `/plugin` **Stats** 標籤中開啟其報告531* 執行 [`/skill-doctor`](/docs/zh-TW/skills#find-unused-skills) 或在 `/plugin` **Stats** 標籤中開啟其報告

532* 同步為您的 claude.ai 帳戶啟用的[技能](/docs/zh-TW/skills#where-synced-skills-load)和[外掛程式](/docs/zh-TW/plugins-reference#synced-plugins)到您的終端工作階段

524* 使用[顧問工具](/docs/zh-TW/advisor#requirements)533* 使用[顧問工具](/docs/zh-TW/advisor#requirements)

525* 讀取或回覆[成品上的評論](/docs/zh-TW/artifacts#collect-comments-on-an-artifact)534* 讀取或回覆[成品上的評論](/docs/zh-TW/artifacts#collect-comments-on-an-artifact)

526* 在不設定 `MCP_SDK_GENERATION` 和 `MCP_PROTOCOL_NEGOTIATION` 的情況下取得 [v2 MCP 用戶端執行階段](/docs/zh-TW/mcp#mcp-client-runtimes)及其協定探測;Claude Code 使用 v1 執行階段,除非您設定 `MCP_SDK_GENERATION=v2`,並且除非您設定 `MCP_PROTOCOL_NEGOTIATION=auto` 否則會跳過探測535* 讓 Claude Code 探測 claude.ai 連接器伺服器以取得 [MCP 協定修訂版本 2026-07-28](/docs/zh-TW/mcp#mcp-client-runtimes),除非您設定 `MCP_PROTOCOL_NEGOTIATION=auto`

527* 在安裝 Git Bash 的 Windows 上預設為 claude.ai 和 Console 帳戶取得 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool);Claude Code 透過 Git Bash 路由 Shell 命令,除非您設定 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。在沒有 Git Bash 的 Windows 上,工具保持開啟536* 在安裝 Git Bash 的 Windows 上預設為 claude.ai 和 Console 帳戶取得 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool);Claude Code 透過 Git Bash 路由 Shell 命令,除非您設定 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。在沒有 Git Bash 的 Windows 上,工具保持開啟

528* 取得 [Claude 草擬的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior),Claude Code 透過擷取的旗標來啟用此功能537* 取得 [Claude 草擬的回饋](/docs/zh-TW/tools-reference#sendfeedback-tool-behavior),Claude Code 透過擷取的旗標來啟用此功能

529* 讓 Claude Code [排除 MCP 工具,其輸入結構描述 API 會拒絕](/docs/zh-TW/mcp#tools-with-invalid-input-schemas);它仍會傳送結構描述,包含它的請求會失敗,並出現[命名工具位置的 400 錯誤](/docs/zh-TW/errors#tool-input-schema-is-invalid)538* 讓 Claude Code [排除 MCP 工具,其輸入結構描述 API 會拒絕](/docs/zh-TW/mcp#tools-with-invalid-input-schemas);它仍會傳送結構描述,包含它的請求會失敗,並出現[命名工具位置的 400 錯誤](/docs/zh-TW/errors#tool-input-schema-is-invalid)

errors.md +577 −200

Details

8 8 

9本頁列出 Claude Code 顯示的執行時錯誤及如何從每個錯誤中復原,以及當回應似乎有問題但沒有錯誤時要檢查的內容。如需安裝錯誤(例如 `command not found` 或設定期間的 TLS 失敗),請參閱[疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install)。9本頁列出 Claude Code 顯示的執行時錯誤及如何從每個錯誤中復原,以及當回應似乎有問題但沒有錯誤時要檢查的內容。如需安裝錯誤(例如 `command not found` 或設定期間的 TLS 失敗),請參閱[疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install)。

10 10 

11除了[包裝程式和 IDE 錯誤](#wrapper-and-ide-errors)(由啟動程式列印而非 Claude Code 本身列印)外,這些錯誤和復原命令適用於 CLI、[桌面應用程式](/docs/zh-TW/desktop)和 [Claude Code 網頁版](/docs/zh-TW/claude-code-on-the-web),因為這三者都包裝相同的 Claude Code CLI。如需其他表面特定的問題,請參閱該表面頁面上的疑難排解部分。11除了[包裝程式和 IDE 錯誤](#wrapper-and-ide-errors)(由啟動程式列印而非 Claude Code 本身列印)外,這些錯誤和復原命令適用於 CLI、[桌面應用程式](/docs/zh-TW/desktop)和[雲端工作階段](/docs/zh-TW/claude-code-on-the-web),因為這三者都包裝相同的 Claude Code CLI。如需其他表面特定的問題,請參閱該表面頁面上的疑難排解部分。

12 12 

13<Note>13<Note>

14 Claude Code 呼叫 Claude API 以取得模型回應,因此大多數執行時錯誤對應到基礎 API 錯誤代碼。本頁涵蓋每個錯誤在 Claude Code 中的含義及如何復原。如需原始 HTTP 狀態代碼定義,請參閱 [Claude Platform 錯誤參考](https://platform.claude.com/docs/en/api/errors)。14 Claude Code 呼叫 Claude API 以取得模型回應,因此大多數執行時錯誤對應到基礎 API 錯誤代碼。本頁涵蓋每個錯誤在 Claude Code 中的含義及如何復原。如需原始 HTTP 狀態代碼定義,請參閱 [Claude Platform 錯誤參考](https://platform.claude.com/docs/en/api/errors)。


70| `OAuth token revoked` / `OAuth token has expired` | [驗證](#oauth-token-revoked-or-expired) |70| `OAuth token revoked` / `OAuth token has expired` | [驗證](#oauth-token-revoked-or-expired) |

71| `API Error: 401 Invalid authentication credentials` | [驗證](#api-error-401-invalid-authentication-credentials) |71| `API Error: 401 Invalid authentication credentials` | [驗證](#api-error-401-invalid-authentication-credentials) |

72| `Login expired · Please run /login` | [驗證](#login-expired) |72| `Login expired · Please run /login` | [驗證](#login-expired) |

73| `Claude login not accepted · Run /login, then try again` | [驗證](#claude-login-not-accepted) |

73| `Not signed in to the Cloud gateway — run /login.` | [驗證](#administrator-policy-requires-a-cloud-gateway-sign-in) |74| `Not signed in to the Cloud gateway — run /login.` | [驗證](#administrator-policy-requires-a-cloud-gateway-sign-in) |

74| `Administrator policy requires a Cloud gateway sign-in on this machine` | [驗證](#administrator-policy-requires-a-cloud-gateway-sign-in) |75| `Administrator policy requires a Cloud gateway sign-in on this machine` | [驗證](#administrator-policy-requires-a-cloud-gateway-sign-in) |

75| `Failed to authenticate: OAuth session expired and could not be refreshed` | [驗證](#login-expired) |76| `Failed to authenticate: OAuth session expired and could not be refreshed` | [驗證](#login-expired) |


79| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [驗證](#anthropic-profile-login-expired) |80| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [驗證](#anthropic-profile-login-expired) |

80| `does not meet scope requirement user:profile` | [驗證](#oauth-scope-requirement) |81| `does not meet scope requirement user:profile` | [驗證](#oauth-scope-requirement) |

81| `claude.ai rejected the session token` / `session token rejected` | [驗證](#claude-ai-rejected-the-session-token) |82| `claude.ai rejected the session token` / `session token rejected` | [驗證](#claude-ai-rejected-the-session-token) |

83| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [驗證](#mcp-server-needs-you-to-sign-in-again) |

84| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [驗證](#mcp-server-needs-you-to-sign-in-again) |

85| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [驗證](#mcp-server-needs-you-to-sign-in-again) |

86| `MCP server "<name>" requires re-authorization (token expired)` | [驗證](#mcp-server-needs-you-to-sign-in-again) |

82| `Issuer mismatch in authorization response (RFC 9207)` | [驗證](#issuer-mismatch-in-authorization-response) |87| `Issuer mismatch in authorization response (RFC 9207)` | [驗證](#issuer-mismatch-in-authorization-response) |

83| `Cloud gateway session expired — run /login to reconnect.` | [驗證](#cloud-gateway-session-expired) |88| `Cloud gateway session expired — run /login to reconnect.` | [驗證](#cloud-gateway-session-expired) |

84| `Cloud gateway <url> no longer accepts this session` | [驗證](#cloud-gateway-session-expired) |89| `Cloud gateway <url> no longer accepts this session` | [驗證](#cloud-gateway-session-expired) |

85| `AWS credentials expired or invalid` | [驗證](#aws-credentials-expired-or-invalid) |90| `AWS credentials expired or invalid` | [驗證](#aws-credentials-expired-or-invalid) |

86| `AWS authentication failed` | [驗證](#aws-authentication-failed) |91| `AWS authentication failed` | [驗證](#aws-authentication-failed) |

92| `Google Cloud credentials expired or invalid` | [驗證](#google-cloud-credentials-expired-or-invalid) |

93| `Google Cloud authentication failed` | [驗證](#google-cloud-authentication-failed) |

94| `Microsoft Foundry authentication failed` | [驗證](#microsoft-foundry-authentication-failed) |

95| `Gateway refused the request` | [驗證](#gateway-refused-the-request) |

87| `Could not load AWS credentials` / `Could not load Google Cloud credentials` | [驗證](#could-not-load-aws-or-google-cloud-credentials) |96| `Could not load AWS credentials` / `Could not load Google Cloud credentials` | [驗證](#could-not-load-aws-or-google-cloud-credentials) |

88| `AWS default-chain credential resolve timed out` | [驗證](#aws-default-chain-credential-resolve-timed-out) |97| `AWS default-chain credential resolve timed out` | [驗證](#aws-default-chain-credential-resolve-timed-out) |

89| `Timed out after 60s waiting for AWS` | [驗證](#bedrock-setup-verification-timed-out-waiting-for-aws) |98| `Timed out after 60s waiting for AWS` | [驗證](#bedrock-setup-verification-timed-out-waiting-for-aws) |


151| `Download timed out: exceeded the total deadline` | [安裝錯誤](#the-connection-dropped-while-downloading-the-update) |160| `Download timed out: exceeded the total deadline` | [安裝錯誤](#the-connection-dropped-while-downloading-the-update) |

152| `--bg and --print conflict` | [命令列錯誤](#command-line-errors) |161| `--bg and --print conflict` | [命令列錯誤](#command-line-errors) |

153| `Cloud sessions cannot be created from a --restricted session` | [命令列錯誤](#cloud-sessions-cannot-be-created-from-a-restricted-session) |162| `Cloud sessions cannot be created from a --restricted session` | [命令列錯誤](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

163| `Cloud sessions are disabled by your organization's policy` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |

164| `Couldn't verify your organization's policy for cloud sessions` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |

154| `Error: --json-schema is not a valid JSON Schema` | [命令列錯誤](#command-line-errors) |165| `Error: --json-schema is not a valid JSON Schema` | [命令列錯誤](#command-line-errors) |

155| `Error: Invalid --agents configuration:` | [命令列錯誤](#invalid-agents-configuration) |166| `Error: Invalid --agents configuration:` | [命令列錯誤](#invalid-agents-configuration) |

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


167| `Server rejected the Authorization header minted by the configured headersHelper` | [命令列錯誤](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |178| `Server rejected the Authorization header minted by the configured headersHelper` | [命令列錯誤](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

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

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

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

170| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [命令列錯誤](#security-review-fails-without-origin-head) |182| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [命令列錯誤](#security-review-fails-without-origin-head) |

171| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [命令列錯誤](#security-review-fails-without-origin-head) |183| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [命令列錯誤](#security-review-fails-without-origin-head) |

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


181| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [命令列錯誤](#no-github-account-is-connected-to-your-claude-account) |193| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [命令列錯誤](#no-github-account-is-connected-to-your-claude-account) |

182| `Your connected GitHub account can't see <owner>/<repo>` | [命令列錯誤](#your-connected-github-account-cant-see-the-repository) |194| `Your connected GitHub account can't see <owner>/<repo>` | [命令列錯誤](#your-connected-github-account-cant-see-the-repository) |

183| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [命令列錯誤](#the-github-app-preflight-failed-transiently) |195| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [命令列錯誤](#the-github-app-preflight-failed-transiently) |

196| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [命令列錯誤](#github-isnt-connected-to-your-claude-account) |

197| `Single sign-on authorization needed` | [命令列錯誤](#single-sign-on-authorization-needed) |

184| `Failed to resume the conversation` | [命令列錯誤](#failed-to-resume-the-conversation) |198| `Failed to resume the conversation` | [命令列錯誤](#failed-to-resume-the-conversation) |

185| `No conversation found with session ID: <session-id>` | [命令列錯誤](#no-conversation-found-with-the-session-id) |199| `No conversation found with session ID: <session-id>` | [命令列錯誤](#no-conversation-found-with-the-session-id) |

186| `Cannot switch renderers in this session` | [命令列錯誤](#cannot-switch-renderers-in-this-session) |200| `Cannot switch renderers in this session` | [命令列錯誤](#cannot-switch-renderers-in-this-session) |


188| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [命令列錯誤](#terminal-setup-left-your-zed-keymap-unchanged) |202| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [命令列錯誤](#terminal-setup-left-your-zed-keymap-unchanged) |

189| `Your Zed keymap isn't a readable list of keybindings` | [命令列錯誤](#terminal-setup-left-your-zed-keymap-unchanged) |203| `Your Zed keymap isn't a readable list of keybindings` | [命令列錯誤](#terminal-setup-left-your-zed-keymap-unchanged) |

190| `Skill usage reports are not available on this connection.` | [命令列錯誤](#skill-usage-reports-are-not-available-on-this-connection) |204| `Skill usage reports are not available on this connection.` | [命令列錯誤](#skill-usage-reports-are-not-available-on-this-connection) |

205| `Custom output styles can't be selected over Remote Control or from a relayed message` | [命令列錯誤](#custom-output-styles-cant-be-selected-over-remote-control) |

206| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [命令列錯誤](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

191| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin 錯誤](#plugin-eval-is-currently-in-early-access) |207| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin 錯誤](#plugin-eval-is-currently-in-early-access) |

192| `Marketplace "<name>" is registered from an untrusted source` | [Plugin 錯誤](#marketplace-is-registered-from-an-untrusted-source) |208| `Marketplace "<name>" is registered from an untrusted source` | [Plugin 錯誤](#marketplace-is-registered-from-an-untrusted-source) |

193| `references ${user_config.*} in a shell-form command` | [Plugin 錯誤](#plugin-command-references-user-config) |209| `references ${user_config.*} in a shell-form command` | [Plugin 錯誤](#plugin-command-references-user-config) |


207| `pkill: refusing to run` | [工具錯誤](#pkill-pattern-matches-the-claude-code-process) |223| `pkill: refusing to run` | [工具錯誤](#pkill-pattern-matches-the-claude-code-process) |

208| `Failed to write to <name>'s inbox — nothing was sent` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |224| `Failed to write to <name>'s inbox — nothing was sent` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |

209| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |225| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [工具錯誤](#failed-to-write-to-a-teammate-inbox) |

226| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [工具錯誤](#teammate-agent-definition-not-restored) |

210| `Message too large for cross-session delivery` | [工具錯誤](#message-too-large-for-cross-session-delivery) |227| `Message too large for cross-session delivery` | [工具錯誤](#message-too-large-for-cross-session-delivery) |

211| `Too many messages to this session just now` | [工具錯誤](#too-many-messages-to-this-session-just-now) |228| `Too many messages to this session just now` | [工具錯誤](#too-many-messages-to-this-session-just-now) |

212| `Refusing to send: reply target is a symlink` / `Refusing to send: cannot vet reply target` | [工具錯誤](#refusing-to-send-a-cross-session-message) |229| `Refusing to send: reply target is a symlink` / `Refusing to send: cannot vet reply target` | [工具錯誤](#refusing-to-send-a-cross-session-message) |

213| `Refusing to send: connected endpoint is not the expected process` / `Refusing to send: connected endpoint identity could not be read` | [工具錯誤](#refusing-to-send-a-cross-session-message) |230| `Refusing to send: connected endpoint is not the expected process` / `Refusing to send: connected endpoint identity could not be read` | [工具錯誤](#refusing-to-send-a-cross-session-message) |

214| `Refusing to send: connected endpoint is not owned by this user` / `Refusing to send: connected endpoint owner could not be read` | [工具錯誤](#refusing-to-send-a-cross-session-message) |231| `Refusing to send: connected endpoint is not owned by this user` / `Refusing to send: connected endpoint owner could not be read` | [工具錯誤](#refusing-to-send-a-cross-session-message) |

215| `Refusing to send: connected endpoint is a different process with the expected pid` | [工具錯誤](#refusing-to-send-a-cross-session-message) |232| `Refusing to send: connected endpoint is a different process with the expected pid` | [工具錯誤](#refusing-to-send-a-cross-session-message) |

216| `Refusing to read <path>: its symlink resolution changed after permission was checked` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [工具錯誤](#refusing-after-a-symlink-changed) |233| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [工具錯誤](#refusing-after-a-symlink-changed) |

217| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [工具錯誤](#refusing-after-a-symlink-changed) |234| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [工具錯誤](#refusing-after-a-symlink-changed) |

235| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [工具錯誤](#refusing-after-a-symlink-changed) |

218| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [工具錯誤](#refusing-after-a-symlink-changed) |236| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [工具錯誤](#refusing-after-a-symlink-changed) |

219| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [工具錯誤](#refusing-after-a-symlink-changed) |237| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [工具錯誤](#refusing-after-a-symlink-changed) |

220| `task output swap refused (tasks dir moved or linked)` | [工具錯誤](#task-output-swap-refused) |238| `task output swap refused (tasks dir moved or linked)` | [工具錯誤](#task-output-swap-refused) |

221| `Command killed: its output file was replaced or could no longer be verified` | [工具錯誤](#task-output-swap-refused) |239| `Command killed: its output file was replaced or could no longer be verified` | [工具錯誤](#task-output-swap-refused) |

222| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |240| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |

223| `the source file has the replacement character U+FFFD` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |241| `the source file has the replacement character U+FFFD` | [工具錯誤](#the-source-file-is-not-valid-utf-8-text) |

242| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [工具錯誤](#reading-a-local-file-from-outside-the-connected-folders) |

243| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [工具錯誤](#reading-a-local-file-from-outside-the-connected-folders) |

244| `WebFetch cannot fetch localhost or other hostnames without a dot` | [工具錯誤](#webfetch-cannot-fetch-localhost) |

224| `Can't open MCP settings while no terminal is attached to this background session` | [背景工作階段錯誤](#commands-refused-in-a-background-session) |245| `Can't open MCP settings while no terminal is attached to this background session` | [背景工作階段錯誤](#commands-refused-in-a-background-session) |

225| `Can't open MCP settings in a background session` | [背景工作階段錯誤](#commands-refused-in-a-background-session) |246| `Can't open MCP settings in a background session` | [背景工作階段錯誤](#commands-refused-in-a-background-session) |

226| `blocked because the path is spelled in a form that cannot be safely resolved` | [背景工作階段錯誤](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |247| `blocked because the path is spelled in a form that cannot be safely resolved` | [背景工作階段錯誤](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |


229| `Can't open — this session is running in another terminal` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |250| `Can't open — this session is running in another terminal` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |

230| `This conversation is already open in another running Claude session` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |251| `This conversation is already open in another running Claude session` | [背景工作階段錯誤](#this-session-is-running-in-another-terminal) |

231| `This session's saved conversation is no longer on disk` | [背景工作階段錯誤](#this-sessions-saved-conversation-is-no-longer-on-disk) |252| `This session's saved conversation is no longer on disk` | [背景工作階段錯誤](#this-sessions-saved-conversation-is-no-longer-on-disk) |

253| `kept <id> — its worktree is still at <path>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |

232| `kept <id> — <n> unpushed commits on <branch>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |254| `kept <id> — <n> unpushed commits on <branch>` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |

233| `kept <id> — worktree has commits that are not pushed anywhere` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |255| `kept <id> — worktree has commits that are not pushed anywhere` | [背景工作階段錯誤](#worktree-has-commits-that-are-not-pushed-anywhere) |

234| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [背景工作階段錯誤](#terminal-host-process-died) |256| `terminal host process died — press Enter to restart` / `This session's terminal host process died` | [背景工作階段錯誤](#terminal-host-process-died) |


242| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [背景工作階段錯誤](#working-directory-no-longer-exists-when-starting-a-background-session) |264| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [背景工作階段錯誤](#working-directory-no-longer-exists-when-starting-a-background-session) |

243| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [背景工作階段錯誤](#eacces-when-starting-a-background-session) |265| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [背景工作階段錯誤](#eacces-when-starting-a-background-session) |

244| `Claude Code process exited with code N` | [包裝程式和 IDE 錯誤](#claude-code-process-exited-with-code-n) |266| `Claude Code process exited with code N` | [包裝程式和 IDE 錯誤](#claude-code-process-exited-with-code-n) |

267| `The connection to Claude Code ended before this message completed` | [包裝程式和 IDE 錯誤](#the-connection-to-claude-code-ended-before-this-message-completed) |

245| `Could not locate the Claude CLI on PATH` | [包裝程式和 IDE 錯誤](#could-not-locate-the-claude-cli-on-path) |268| `Could not locate the Claude CLI on PATH` | [包裝程式和 IDE 錯誤](#could-not-locate-the-claude-cli-on-path) |

246| `Restored the code, but skipped N files` | [Rewind 警告和錯誤](#restored-the-code-but-skipped-files) |269| `Restored the code, but skipped N files` | [Rewind 警告和錯誤](#restored-the-code-but-skipped-files) |

247| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind 警告和錯誤](#no-files-were-restored) |270| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind 警告和錯誤](#no-files-were-restored) |


325您可以使用這些環境變數調整重試行為:348您可以使用這些環境變數調整重試行為:

326 349 

327| 變數 | 預設 | 效果 |350| 變數 | 預設 | 效果 |

328| :------------------------------------------------------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |351| :------------------------------------------------------- | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

329| [`CLAUDE_CODE_MAX_RETRIES`](/docs/zh-TW/env-vars) | 10 | 重試嘗試次數。從 v2.1.186 開始上限為 15;從 v2.1.199 開始 `CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。降低它以在指令碼中更快地顯示故障。 |352| [`CLAUDE_CODE_MAX_RETRIES`](/docs/zh-TW/env-vars) | 10 | 重試嘗試次數。從 v2.1.186 開始上限為 15;從 v2.1.199 開始 `CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。降低它以在指令碼中更快地顯示故障。 |

330| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-TW/env-vars) | 未設定 | 在無人值守的工作階段(例如 CI 工作)中設定為 `1`,以無限期重試 `429` 和 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 嘗試後失敗。Claude Code 在報告支出限制或耗盡使用額度的 `429` 上立即失敗,即使是來自 [gateway spend cap](#spend-limit-reached) 的重新設定排程。在 v2.1.239 之前,看門狗無限期重試這些。在 v2.1.199 或更新版本上,它也會提高其他暫時性錯誤(例如伺服器錯誤、逾時和連線中斷)的預設重試計數至 300,大約三小時的退避,如果您明確設定該變數,則移除 `CLAUDE_CODE_MAX_RETRIES` 的上限 15。 |353| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-TW/env-vars) | 未設定 | 在無人值守的工作階段(例如 CI 工作)中設定為 `1`,以無限期重試 `429` 和 `529` 容量錯誤,而不是在 `CLAUDE_CODE_MAX_RETRIES` 嘗試後失敗。Claude Code 在報告支出限制或耗盡使用額度的 `429` 上立即失敗,即使是來自 [gateway spend cap](#spend-limit-reached) 的重新設定排程。在 v2.1.239 之前,看門狗無限期重試這些。在 v2.1.199 或更新版本上,它也會提高其他暫時性錯誤(例如伺服器錯誤、逾時和連線中斷)的預設重試計數至 300,大約三小時的退避,如果您明確設定該變數,則移除 `CLAUDE_CODE_MAX_RETRIES` 的上限 15。如需快速模式請求,請參閱 [Handle rate limits](/docs/zh-TW/fast-mode#handle-rate-limits)。 |

331| [`API_TIMEOUT_MS`](/docs/zh-TW/env-vars) | 600000 | 每個請求的逾時(毫秒)。為慢速網路或代理提高它。它也會上限 Claude Code 等待回應標頭的時間,如 [No response from API](#no-response-from-api) 中所述。 |354| [`API_TIMEOUT_MS`](/docs/zh-TW/env-vars) | 600000 | 每個請求的逾時(毫秒)。為慢速網路或代理提高它。它也會上限 Claude Code 等待回應標頭的時間,如 [No response from API](#no-response-from-api) 中所述。 |

332| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/zh-TW/env-vars) | 未設定 | 串流請求的第一個回應位元組的截止時間(毫秒)。需要 Claude Code v2.1.242 或更新版本。關於當此未設定時 Claude Code 如何選擇截止時間,請參閱 [No response from API](#no-response-from-api)。 |355| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/zh-TW/env-vars) | 未設定 | 串流請求的第一個回應位元組的截止時間(毫秒)。需要 Claude Code v2.1.242 或更新版本。關於當此未設定時 Claude Code 如何選擇截止時間,請參閱 [No response from API](#no-response-from-api)。 |

333 356 


591選定的模型使用 1M 權杖擴展上下文視窗,而您的方案僅透過使用額度包括它。614選定的模型使用 1M 權杖擴展上下文視窗,而您的方案僅透過使用額度包括它。

592 615 

593```text theme={null}616```text theme={null}

594API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context617API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

595```618```

596 619 

597這是權利檢查,而非配額耗盡。即使您的工作階段和每週額度有剩餘容量,它也會觸發。請參閱[擴展上下文](/docs/zh-TW/model-config#extended-context)以了解哪些方案直接包括 1M 上下文,哪些需要使用額度。Claude Code 在您使用 `/model` 選擇模型時執行此檢查,且僅在直接連接到 Anthropic API 時執行;如果您將 `ANTHROPIC_BASE_URL` 指向[LLM 閘道](/docs/zh-TW/llm-gateway),`/model` 允許 `[1m]` 選擇,閘道決定請求是否成功。620這是權利檢查,而非配額耗盡。即使您的工作階段和每週額度有剩餘容量,它也會觸發。請參閱[擴展上下文](/docs/zh-TW/model-config#extended-context)以了解哪些方案直接包括 1M 上下文,哪些需要使用額度。Claude Code 在您使用 `/model` 選擇模型時執行此檢查,且僅在直接連接到 Anthropic API 時執行;如果您將 `ANTHROPIC_BASE_URL` 指向[LLM 閘道](/docs/zh-TW/llm-gateway),`/model` 允許 `[1m]` 選擇,閘道決定請求是否成功。


601**該怎麼做:**624**該怎麼做:**

602 625 

603* 執行 `/model` 並選擇不帶 `[1m]` 後綴的變體以回退到標準上下文視窗626* 執行 `/model` 並選擇不帶 `[1m]` 後綴的變體以回退到標準上下文視窗

604* 訊息提及 `/usage-credits` 的地方,執行它以在 Pro 和 Max 上為 1M 變體開啟計量計費,或在 Team 和 Enterprise 上向您的管理員請求使用額度627* 訊息提及 `/usage-credits` 的地方,執行它以在 Pro 和 Max 上為 1M 變體開啟計量計費,或在 Team 和 Enterprise 上向您的管理員請求使用額度。重新啟動 Claude Code 一次使用額度開啟。在您重新啟動之前,工作階段會保持在標準上下文限制。

605* 如果 `/model` 後錯誤仍然存在,1M 模型 ID 可能在其他地方設定。請參閱[設定您的模型](/docs/zh-TW/model-config#setting-your-model)以按優先順序檢查設定位置。628* 如果 `/model` 後錯誤仍然存在,1M 模型 ID 可能在其他地方設定。請參閱[設定您的模型](/docs/zh-TW/model-config#setting-your-model)以按優先順序檢查設定位置。

606* 若要從模型選擇器中完全移除 1M 變體,請設定 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/zh-TW/env-vars)629* 若要從模型選擇器中完全移除 1M 變體,請設定 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/zh-TW/env-vars)

607 630 

631在 v2.1.268 之前,訊息以 `run /usage-credits to turn them on, or /model to switch to standard context` 結尾,並未提及重新啟動。

632 

608<h3 id="the-prompt-to-confirm-went-unanswered">633<h3 id="the-prompt-to-confirm-went-unanswered">

609 確認提示未獲回應634 確認提示未獲回應

610</h3>635</h3>


971 996 

972* `CLAUDE_CODE_USE_*` 提供者變數,例如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 的 `CLAUDE_CODE_USE_BEDROCK` 或 [Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 的 `CLAUDE_CODE_USE_VERTEX`997* `CLAUDE_CODE_USE_*` 提供者變數,例如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 的 `CLAUDE_CODE_USE_BEDROCK` 或 [Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 的 `CLAUDE_CODE_USE_VERTEX`

973* [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 `api.anthropic.com` 以外的主機,例如 [LLM 閘道](/docs/zh-TW/llm-gateway)或代理,即使您使用 claude.ai 登入;在 v2.1.196 之前,自訂基礎 URL 不會阻止 Remote Control998* [`ANTHROPIC_BASE_URL`](/docs/zh-TW/env-vars) 指向 `api.anthropic.com` 以外的主機,例如 [LLM 閘道](/docs/zh-TW/llm-gateway)或代理,即使您使用 claude.ai 登入;在 v2.1.196 之前,自訂基礎 URL 不會阻止 Remote Control

999* `ANTHROPIC_UNIX_SOCKET` 已設定,因此工作階段透過本機 socket 而不是向 `api.anthropic.com` 傳送其請求

974* 企業[雲端閘道](/docs/zh-TW/claude-apps-gateway)透過 `/login` 進行的登入,不支援 Remote Control,且沒有變數可取消設定1000* 企業[雲端閘道](/docs/zh-TW/claude-apps-gateway)透過 `/login` 進行的登入,不支援 Remote Control,且沒有變數可取消設定

975 1001 

976**該怎麼做:**1002**該怎麼做:**


1125* 在非互動式模式中,在相同環境中執行 `claude`,完成 `/login`,然後重新執行您的命令。對於無法以互動方式登入的自動化,使用 `ANTHROPIC_API_KEY` 或[使用 `claude setup-token` 產生長期權杖](/docs/zh-TW/authentication#generate-a-long-lived-token)進行驗證。1151* 在非互動式模式中,在相同環境中執行 `claude`,完成 `/login`,然後重新執行您的命令。對於無法以互動方式登入的自動化,使用 `ANTHROPIC_API_KEY` 或[使用 `claude setup-token` 產生長期權杖](/docs/zh-TW/authentication#generate-a-long-lived-token)進行驗證。

1126* 如果登入持續失敗,請參閱[登入和驗證](/docs/zh-TW/troubleshoot-install#login-and-authentication)1152* 如果登入持續失敗,請參閱[登入和驗證](/docs/zh-TW/troubleshoot-install#login-and-authentication)

1127 1153 

1154<h3 id="claude-login-not-accepted">

1155 Claude 登入未被接受

1156</h3>

1157 

1158您嘗試啟動[雲端工作階段](/docs/zh-TW/claude-code-on-the-web),伺服器以 401 拒絕建立它:它未接受此機器傳送的 Claude 登入,通常是因為登入已過期或被撤銷。

1159 

1160該行的第一部分是伺服器自己的原因(如果它給出的話)。否則該行讀作:

1161 

1162```text theme={null}

1163Claude login not accepted · Run /login, then try again

1164```

1165 

1166**該怎麼做:**

1167 

1168* 執行 `/login`,完成登入,然後再次啟動工作階段

1169 

1128<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1170<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1129 管理員政策需要雲端閘道登入1171 管理員政策需要雲端閘道登入

1130</h3>1172</h3>


1229 1271 

1230在 v2.1.222 之前,Claude Code 改為將連接器標記為需要驗證,這指向您進行連接器的授權流程,即使完成它也不會解決狀態。1272在 v2.1.222 之前,Claude Code 改為將連接器標記為需要驗證,這指向您進行連接器的授權流程,即使完成它也不會解決狀態。

1231 1273 

1274<h3 id="mcp-server-needs-you-to-sign-in-again">

1275 MCP 伺服器需要您再次登入

1276</h3>

1277 

1278遠端 [MCP 伺服器](/docs/zh-TW/mcp)在工作階段中期拒絕了工具呼叫上的認證資格,通常是因為登入或權杖已過期或因為權杖缺少工具需要的權限。工具呼叫失敗,`/mcp` 將伺服器標記為[需要驗證](/docs/zh-TW/mcp#authenticate-with-remote-mcp-servers)。

1279 

1280對於您從 Claude Code 登入的伺服器,包括 claude.ai 連接器,登入已過期或被撤銷:

1281 

1282```text theme={null}

1283MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1284```

1285 

1286執行 `/mcp`,選擇伺服器,然後從其功能表再次登入。

1287 

1288對於使用 [`headersHelper`](/docs/zh-TW/mcp#use-dynamic-headers-for-custom-authentication) 指令碼設定的伺服器,Claude Code 已重新執行協助程式並在顯示此訊息之前重試呼叫一次:

1289 

1290```text theme={null}

1291MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1292```

1293 

1294檢查協助程式傳回伺服器接受的認證資格,然後從 `/mcp` 重新連線,這會再次執行協助程式。

1295 

1296對於在其設定中具有靜態 `Authorization` 標頭的伺服器:

1297 

1298```text theme={null}

1299MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1300```

1301 

1302在伺服器設定的位置更新標頭值,然後從 `/mcp` 重新連線。

1303 

1304在 v2.1.273 之前,已過期登入、`headersHelper` 和 `Authorization` 標頭情況都顯示 `MCP server "<name>" requires re-authorization (token expired)`。

1305 

1306伺服器也可以拒絕帶有 HTTP 403 `insufficient_scope` 的工具呼叫,以要求您授權範圍,有時是您的權杖已列出的範圍。訊息命名該範圍:

1307 

1308```text theme={null}

1309MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1310```

1311 

1312執行 `/mcp`,選擇伺服器,然後從其功能表再次驗證。

1313 

1314當伺服器的設定既未設定 [`oauth.scopes`](/docs/zh-TW/mcp#restrict-oauth-scopes) 也未設定 [`authServerMetadataUrl`](/docs/zh-TW/mcp#override-oauth-metadata-discovery) 時,Claude Code 要求伺服器命名的範圍。使用任一設定,Claude Code 改為要求該設定的範圍。如果您釘選了 `oauth.scopes`,在再次驗證之前將遺漏的範圍新增到該列表。

1315 

1316在 v2.1.274 之前,此情況顯示 `needs you to sign in again` 訊息,在 v2.1.273 之前它顯示 `requires re-authorization (token expired)` 如其他情況。

1317 

1232<h3 id="issuer-mismatch-in-authorization-response">1318<h3 id="issuer-mismatch-in-authorization-response">

1233 授權回應中的簽發者不匹配1319 授權回應中的簽發者不匹配

1234</h3>1320</h3>


1253 AWS 認證資格已過期或無效1339 AWS 認證資格已過期或無效

1254</h3>1340</h3>

1255 1341 

1256此訊息需要 Claude Code v2.1.198 或更新版本,且僅在您的設定檔中設定 [`awsAuthRefresh`](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) 時出現。您的 AWS 工作階段權杖已過期或被拒絕,Claude Code 已執行的自動重新整理未產生 API 接受的認證資格。它出現在來自 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 或 [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint) 的 401 上,這是這些提供者報告過期安全權杖的方式。1342您的 AWS 工作階段權杖已過期或被拒絕。此訊息出現在來自 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 或 [Mantle 端點](/docs/zh-TW/amazon-bedrock#use-the-mantle-endpoint) 的 401 上,這是這些提供者報告過期安全權杖的方式。

1257 1343 

1258中間的動作提示命名您設定中的 `awsAuthRefresh` 命令,因此它會有所不同。穩定的部分是前導 `AWS credentials expired or invalid`:1344中間的動作提示會根據您的設定而異。穩定的部分是前導 `AWS credentials expired or invalid`:

1259 1345 

1260```text theme={null}1346```text theme={null}

1261AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1347AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

1262```1348```

1263 1349 

1264如果未設定 `awsAuthRefresh`,相同的 401 會改為顯示通用 `Please run /login` 訊息,該訊息無法重新整理 AWS 認證資格。1350在 v2.1.273 之前,此訊息僅在您的設定檔中設定 [`awsAuthRefresh`](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) 時出現。

1265 1351 

1266**該怎麼做:**1352**該怎麼做:**

1267 1353 

1268* 在另一個終端機中執行訊息中命名的 `awsAuthRefresh` 命令,例如 `aws sso login --profile myprofile`,並完成瀏覽器登入,然後重試1354* 如果提示說認證資格由此環境管理,啟動 Claude Code 的應用程式擁有認證資格,此處的其他步驟不適用:重試,或聯絡您的管理員

1269* 在互動式工作階段中,執行 `/login`,選擇**第三方平台**,然後在**使用第三方平台**下選擇 **Claude Platform on AWS · refresh credentials** 以執行相同命令,而無需重新啟動 Claude Code。請參閱[設定 AWS 認證資格](/docs/zh-TW/claude-platform-on-aws#1-configure-aws-credentials)1355* 在另一個終端機中執行訊息中命名的命令,例如 `aws sso login --profile myprofile`,並完成瀏覽器登入,然後重試。否則自己重新整理您使用的 AWS 認證資格:您的 SSO 登入、存取金鑰、API 金鑰或代理權杖

1356* 在互動式工作階段中,您可以改為執行 `/login`,選擇**第三方平台**,然後在**使用第三方平台**下選擇 **Claude Platform on AWS · refresh credentials** 以執行相同命令,而無需重新啟動 Claude Code。請參閱[設定 AWS 認證資格](/docs/zh-TW/claude-platform-on-aws#1-configure-aws-credentials)

1270* 如果重新整理命令成功後錯誤重複,請在相同 shell 和設定檔中使用 `aws sts get-caller-identity` 確認身份在 Claude Code 外有效1357* 如果重新整理命令成功後錯誤重複,請在相同 shell 和設定檔中使用 `aws sts get-caller-identity` 確認身份在 Claude Code 外有效

1271 1358 

1272<h3 id="aws-authentication-failed">1359<h3 id="aws-authentication-failed">

1273 AWS 驗證失敗1360 AWS 驗證失敗

1274</h3>1361</h3>

1275 1362 

1276此訊息需要 Claude Code v2.1.198 或更新版本,且僅在您的設定檔中設定 [`awsAuthRefresh`](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) 時出現。您的 AWS 提供者傳回 403,或 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 傳回 401。1363您的 AWS 提供者傳回 403,或 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock) 傳回 401。

1277 1364 

1278Claude Code 無法判斷您遇到了哪個原因。Amazon Bedrock 將過期的安全權杖報告為 403,但 403 也是它報告授權拒絕的方式,例如來自遺漏 IAM 權限或未為您的帳戶啟用的模型的 `AccessDeniedException`。1365Amazon Bedrock 將過期的安全權杖報告為 403,但 403 也是它報告授權拒絕的方式,例如來自遺漏 IAM 權限或未為您的帳戶啟用的模型的 `AccessDeniedException`。Claude Code 無法判斷您遇到了哪個原因。

1279 1366 

1280來自 Amazon Bedrock 的 401 也會落在這裡,而不是在[AWS 認證資格已過期或無效](#aws-credentials-expired-or-invalid)下,因為 Amazon Bedrock 不將過期的權杖報告為 401。來自該端點的 401 通常來自請求路徑中的其他內容,例如公司代理。1367來自 Amazon Bedrock 的 401 也會落在這裡,而不是在[AWS 認證資格已過期或無效](#aws-credentials-expired-or-invalid)下,因為 Amazon Bedrock 不將過期的權杖報告為 401。來自該端點的 401 通常來自請求路徑中的其他內容,例如公司代理。

1281 1368 


1285AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1372AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

1286```1373```

1287 1374 

1288中間的動作提示命名您設定中的 `awsAuthRefresh` 命令,因此它會有所不同。穩定的部分是前導 `AWS authentication failed`。1375中間的動作提示會根據您的設定而異。穩定的部分是前導 `AWS authentication failed`。

1376 

1377當 403 是 Amazon Bedrock 的答案,表示您沒有使用指定的模型 ID 存取該模型時,提示改為告訴您在 Amazon Bedrock 主控台中為您的帳戶和區域啟用該模型。

1378 

1379在 v2.1.273 之前,此訊息僅在您的設定檔中設定 [`awsAuthRefresh`](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) 時出現。

1289 1380 

1290**該怎麼做:**1381**該怎麼做:**

1291 1382 

1292* 執行訊息中命名的 `awsAuthRefresh` 命令或 `aws sso login`,以防過期的認證資格是原因1383* 如果提示說認證資格由此環境管理,啟動 Claude Code 的應用程式擁有認證資格,此處的其他步驟不適用:重試,或聯絡您的管理員

1384* 重新整理您的 AWS 認證資格,以防過期的認證資格是原因:執行訊息中命名的命令(如果設定了一個),或自己重新整理您的 SSO 登入、存取金鑰、API 金鑰或代理權杖

1293* 如果您的認證資格是最新的,請確認 [IAM 設定](/docs/zh-TW/amazon-bedrock#iam-configuration)中的 IAM 權限已附加到您使用的身份,且所選模型已為您的帳戶和區域啟用1385* 如果您的認證資格是最新的,請確認 [IAM 設定](/docs/zh-TW/amazon-bedrock#iam-configuration)中的 IAM 權限已附加到您使用的身份,且所選模型已為您的帳戶和區域啟用

1294* 執行 `aws sts get-caller-identity` 以確認您的請求使用哪個身份;過時的 `AWS_PROFILE` 或預設設定檔是權限不匹配的常見原因1386* 執行 `aws sts get-caller-identity` 以確認您的請求使用哪個身份;過時的 `AWS_PROFILE` 或預設設定檔是權限不匹配的常見原因

1295 1387 

1296<h3 id="could-not-load-aws-or-google-cloud-credentials">1388<h3 id="google-cloud-credentials-expired-or-invalid">

1297 無法載入 AWS 或 Google Cloud 認證資格1389 無法載入 AWS 或 Google Cloud 認證資格

1298</h3>1390</h3>

1299 1391 


1311* 執行您的提供者的登入命令,例如 `aws sso login --profile myprofile` 或 `gcloud auth application-default login`,然後重試。[Bedrock、Agent Platform 或 Foundry 認證資格未載入](/docs/zh-TW/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading)顯示如何在 Claude Code 外確認認證資格1403* 執行您的提供者的登入命令,例如 `aws sso login --profile myprofile` 或 `gcloud auth application-default login`,然後重試。[Bedrock、Agent Platform 或 Foundry 認證資格未載入](/docs/zh-TW/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading)顯示如何在 Claude Code 外確認認證資格

1312* 如果詳細資訊讀作 `AWS default-chain credential resolve timed out`,鏈掛起而不是失敗,因此改為遵循 [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)1404* 如果詳細資訊讀作 `AWS default-chain credential resolve timed out`,鏈掛起而不是失敗,因此改為遵循 [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)

1313 1405 

1314<h3 id="aws-default-chain-credential-resolve-timed-out">1406<h3 id="google-cloud-authentication-failed">

1315 AWS default-chain credential resolve 逾時1407 AWS default-chain credential resolve 逾時

1316</h3>1408</h3>

1317 1409 


1332* 在啟動 Claude Code 之前完成登入步驟,例如 `aws sso login --profile myprofile`,以便鏈從本機 SSO 快取解析,而不是等待瀏覽器流程1424* 在啟動 Claude Code 之前完成登入步驟,例如 `aws sso login --profile myprofile`,以便鏈從本機 SSO 快取解析,而不是等待瀏覽器流程

1333* 如果您的鏈執行合法需要超過 60 秒的互動式登入,例如透過 `aws-vault` 等包裝程式的 SSO 與 MFA,請使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-TW/env-vars) 以毫秒為單位提高限制1425* 如果您的鏈執行合法需要超過 60 秒的互動式登入,例如透過 `aws-vault` 等包裝程式的 SSO 與 MFA,請使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-TW/env-vars) 以毫秒為單位提高限制

1334 1426 

1335<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1427<h3 id="microsoft-foundry-authentication-failed">

1336 Bedrock 設定驗證逾時等待 AWS1428 Bedrock 設定驗證逾時等待 AWS

1337</h3>1429</h3>

1338 1430 


1360* 在開啟精靈之前完成任何互動式登入,例如 `aws sso login --profile myprofile`1452* 在開啟精靈之前完成任何互動式登入,例如 `aws sso login --profile myprofile`

1361* 如果您的 AWS 設定檔中的認證資格協助程式合法需要超過 60 秒來提示您,請使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-TW/env-vars) 以毫秒為單位提高限制1453* 如果您的 AWS 設定檔中的認證資格協助程式合法需要超過 60 秒來提示您,請使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-TW/env-vars) 以毫秒為單位提高限制

1362 1454 

1363<h3 id="cloud-gateway-session-expired">1455<h3 id="could-not-load-aws-or-google-cloud-credentials">

1364 雲端閘道工作階段已過期1456 雲端閘道工作階段已過期

1365</h3>1457</h3>

1366 1458 


1383* 在工作階段中執行 `/login` 並完成瀏覽器登入1475* 在工作階段中執行 `/login` 並完成瀏覽器登入

1384* 對於非互動式啟動,在相同環境中啟動 `claude`,執行 `/login`,然後重新執行您的命令1476* 對於非互動式啟動,在相同環境中啟動 `claude`,執行 `/login`,然後重新執行您的命令

1385 1477 

1478<h3 id="aws-default-chain-credential-resolve-timed-out">

1479 閘道拒絕了請求

1480</h3>

1481 

1482您透過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)登入,請求傳回 403:閘道或其背後的上游拒絕了它。再次登入不會改變拒絕,因此訊息指向您的閘道管理員:

1483 

1484```text theme={null}

1485Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...

1486```

1487 

1488**該怎麼做:**

1489 

1490* 要求您的閘道管理員查詢請求。`API Error:` 尾部攜帶閘道傳回的拒絕

1491* 對於管理員:閘道上的[存取控制規則](/docs/zh-TW/claude-apps-gateway-config#http-tuning)傳回 403,[稽核記錄](/docs/zh-TW/claude-apps-gateway-deploy#logs)會記錄其原因,上游的授權拒絕會根據[上游錯誤訊息](/docs/zh-TW/claude-apps-gateway-config#upstream-error-messages)傳遞

1492 

1493在 v2.1.273 之前,閘道工作階段上的 403 顯示通用 `Please run /login` 或 `Failed to authenticate` 訊息,再次登入不會清除拒絕。

1494 

1495<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1496 Google Cloud 認證資格已過期或無效

1497</h3>

1498 

1499您的 [Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) Google Cloud 認證資格已過期或被拒絕:請求傳回 401,這是 Agent Platform 報告認證資格過期的方式。

1500 

1501中間的動作提示會根據您的設定而異。穩定的部分是前導 `Google Cloud credentials expired or invalid`:

1502 

1503```text theme={null}

1504Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...

1505```

1506 

1507**該怎麼做:**

1508 

1509* 如果提示說認證資格由此環境管理,啟動 Claude Code 的應用程式擁有認證資格,此處的其他步驟不適用:重試,或聯絡您的管理員

1510* 如果您使用應用程式預設認證資格進行驗證,請執行訊息中命名的 [`gcpAuthRefresh`](/docs/zh-TW/google-vertex-ai#advanced-credential-configuration) 命令或 `gcloud auth application-default login`,並完成登入,然後重試

1511* 如果您透過設定 `CLAUDE_CODE_SKIP_VERTEX_AUTH` 的 [LLM 閘道](/docs/zh-TW/llm-gateway)路由,請重新整理 `ANTHROPIC_AUTH_TOKEN` 或 `ANTHROPIC_CUSTOM_HEADERS` 中的閘道權杖,然後重試

1512* 如果您使用服務帳戶金鑰檔案進行驗證,請確認 `GOOGLE_APPLICATION_CREDENTIALS` 指向有效的金鑰。請參閱[設定 GCP 認證資格](/docs/zh-TW/google-vertex-ai#3-configure-gcp-credentials)

1513* 如果重新整理後錯誤重複,請在相同 shell 中使用 `gcloud auth application-default print-access-token` 確認身份在 Claude Code 外有效

1514 

1515在 v2.1.273 之前,來自 Agent Platform 的 401 顯示通用 `Please run /login` 或 `Failed to authenticate` 訊息,無法重新整理 Google Cloud 認證資格。

1516 

1517<h3 id="cloud-gateway-session-expired">

1518 Google Cloud 驗證失敗

1519</h3>

1520 

1521[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 傳回 403,它用於授權拒絕而不是過期的認證資格。通常您驗證的身份缺少 IAM 權限,或該模型未為您的專案啟用。

1522 

1523中間的動作提示會根據您的設定而異。穩定的部分是前導 `Google Cloud authentication failed`:

1524 

1525```text theme={null}

1526Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...

1527```

1528 

1529**該怎麼做:**

1530 

1531* 如果提示說認證資格由此環境管理,啟動 Claude Code 的應用程式擁有認證資格,此處的其他步驟不適用:重試,或聯絡您的管理員

1532* 確認 [IAM 設定](/docs/zh-TW/google-vertex-ai#iam-configuration)中的角色已授予您驗證的身份

1533* 確認該模型已為您的專案啟用。請參閱[要求模型存取](/docs/zh-TW/google-vertex-ai#2-request-model-access)

1534 

1535在 v2.1.273 之前,來自 Agent Platform 的 403 顯示通用 `Please run /login` 或 `Failed to authenticate` 訊息,無法重新整理 Google Cloud 認證資格。

1536 

1537<h3 id="gateway-refused-the-request">

1538 Microsoft Foundry 驗證失敗

1539</h3>

1540 

1541[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 傳回 401 或 403:請求上的 Azure 認證資格被拒絕,或其背後的身份沒有存取 Foundry 資源的權限。`/login` 無法鑄造 Azure 認證資格。中間的動作提示會根據您的設定而異。穩定的部分是前導 `Microsoft Foundry authentication failed`:

1542 

1543```text theme={null}

1544Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...

1545```

1546 

1547**該怎麼做:**

1548 

1549* 如果提示說認證資格由此環境管理,啟動 Claude Code 的應用程式擁有認證資格,此處的其他步驟不適用:重試,或聯絡您的管理員

1550* 重新整理您在[設定 Azure 認證資格](/docs/zh-TW/microsoft-foundry#2-configure-azure-credentials)中設定的認證資格:輪換 `ANTHROPIC_FOUNDRY_API_KEY`、鑄造新的 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`,或執行 `az login` 以便預設 Microsoft Entra 認證資格鏈可以再次登入

1551* 如果認證資格是最新的,請確認身份有權存取 Foundry 資源。請參閱 [Azure RBAC 設定](/docs/zh-TW/microsoft-foundry#azure-rbac-configuration)

1552 

1553在 v2.1.273 之前,來自 Microsoft Foundry 的 401 或 403 顯示通用 `Please run /login` 或 `Failed to authenticate` 訊息,無法重新整理 Azure 認證資格。

1554 

1386<h2 id="network-and-connection-errors">1555<h2 id="network-and-connection-errors">

1387 網路和連線錯誤1556 網路和連線錯誤

1388</h2>1557</h2>


1400Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)1569Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)

1401Can't reach the API server — check your internet or DNS (ENOTFOUND)1570Can't reach the API server — check your internet or DNS (ENOTFOUND)

1402No internet route — check your connection or VPN (EHOSTUNREACH)1571No internet route — check your connection or VPN (EHOSTUNREACH)

1403Couldn't connect through your proxy (ERR_PROXY_TUNNEL)1572Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: check its credentials and that it allows this host

1404Connection dropped (ECONNRESET)1573Connection dropped (ECONNRESET)

1405fetch failed1574fetch failed

1406Request timed out. Check your internet connection and proxy settings1575Request timed out. Check your internet connection and proxy settings


1482 1651 

1483在 v2.1.234 之前,訊息在 `intercepting the request` 後結束。1652在 v2.1.234 之前,訊息在 `intercepting the request` 後結束。

1484 1653 

1654在 v2.1.271 之前,在非 JSON 內容類型(例如 `text/plain`)下攜帶有效 API 訊息的回覆也會以此錯誤結束回合。某些 LLM 閘道對非串流回覆使用該內容類型。

1655 

1485**該怎麼做:**1656**該怎麼做:**

1486 1657 

1487* 閱讀 `Response:` 子句以查看哪個系統回答。HTML 主體、沒有 Anthropic 請求 id 或命名的伺服器(例如 `nginx` 或 `cloudflare`)表示 Claude Code 和 API 之間的某些東西代替它回答1658* 閱讀 `Response:` 子句以查看哪個系統回答。HTML 主體、沒有 Anthropic 請求 id 或命名的伺服器(例如 `nginx` 或 `cloudflare`)表示 Claude Code 和 API 之間的某些東西代替它回答


1530您網路上的代理或安全應用程式正在使用自己的憑證攔截 TLS 流量,Claude Code 不信任它。1701您網路上的代理或安全應用程式正在使用自己的憑證攔截 TLS 流量,Claude Code 不信任它。

1531 1702 

1532```text theme={null}1703```text theme={null}

1533Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates1704Unable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

1534Unable to connect to API: Self-signed certificate detected. Check your proxy or corporate SSL certificates1705Unable to connect to API: Self-signed certificate detected (SELF_SIGNED_CERT_IN_CHAIN). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

1535```1706```

1536 1707 

1708在 v2.1.273 之前,兩個訊息都在 `Check your proxy or corporate SSL certificates` 結束,沒有 OpenSSL 代碼或 `NODE_EXTRA_CA_CERTS` 提示。

1709 

1537從 v2.1.199 開始,憑證驗證失敗不會重試,因此此錯誤會在第一次嘗試時出現,而不是在完整[重試預算](#automatic-retries)後出現。較早的版本在顯示它之前花費幾分鐘重試。暫時性 TLS 條件(例如握手逾時)仍然會重試。1710從 v2.1.199 開始,憑證驗證失敗不會重試,因此此錯誤會在第一次嘗試時出現,而不是在完整[重試預算](#automatic-retries)後出現。較早的版本在顯示它之前花費幾分鐘重試。暫時性 TLS 條件(例如握手逾時)仍然會重試。

1538 1711 

1539在 `/login` 和啟動連線檢查期間,相同的故障會報告為 OpenSSL 代碼和內聯修復:1712在 `/login` 和啟動連線檢查期間,相同的故障會產生不同的訊息:

1540 1713 

1541```text theme={null}1714```text theme={null}

1542SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.1715SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.


1714 1887 

1715首先解決命名的錯誤;在您這樣做之前,`/compact` 會在相同錯誤上失敗。在 v2.1.229 之前,失敗的自動壓縮會顯示 `Prompt is too long` 而不顯示原因。1888首先解決命名的錯誤;在您這樣做之前,`/compact` 會在相同錯誤上失敗。在 v2.1.229 之前,失敗的自動壓縮會顯示 `Prompt is too long` 而不顯示原因。

1716 1889 

1890當自動壓縮在此錯誤上執行時,它通常會總結您最舊的交換並保留最新的。作為最後手段,Claude Code 會以不同方式進行總結:

1891 

1892* 當它無法總結任何完整交換時,Claude Code 會逐字保留您最新的提示,並總結其前面的所有內容。

1893* 在這種情況下,當對話不以您的提示結尾時,Claude Code 會改為總結整個對話。

1894 

1895Claude Code 在它會轉發的內容不包含模型回覆且您自己的文字少於約 1,000 個令牌(例如在超大貼上後發送的短重試)時跳過此恢復。執行 `/clear` 以重新開始。在 v2.1.269 之前,每當壓縮無法總結完整交換時就會失敗,因此處於該狀態的工作階段在每輪上都會再次遇到此錯誤。

1896 

1717單一交換對話沒有較早的輪次可以總結。當自動壓縮會在其上執行時,Claude Code 會跳過嘗試並解釋填充請求的內容。當 API 在其錯誤中不報告令牌計數時,訊息讀取:1897單一交換對話沒有較早的輪次可以總結。當自動壓縮會在其上執行時,Claude Code 會跳過嘗試並解釋填充請求的內容。當 API 在其錯誤中不報告令牌計數時,訊息讀取:

1718 1898 

1719```text theme={null}1899```text theme={null}


1736 1916 

1737**該怎麼辦:**1917**該怎麼辦:**

1738 1918 

1739* 在多輪對話中,執行 `/compact` 以總結較早的輪次並釋放空間,或執行 `/clear` 以重新開始。單一交換對話無法壓縮,因此請縮小請求1919* 執行 `/compact` 以總結較早的輪次並釋放空間,或執行 `/clear` 以重新開始。如果 `/compact` 回答 `Not enough messages to compact.`,對話是單一交換,沒有較早的內容可以總結,因此空間由該單一提示和 Claude Code 與每個請求一起發送的內容佔用:執行 `/clear` 並使用較少的貼上文字或較小的附加檔案重新發送,或使用下面的步驟減少工具定義和記憶檔案

1740* 執行 `/context` 以查看視窗消耗內容的分解:系統提示、工具、記憶檔案和訊息1920* 執行 `/context` 以查看視窗消耗內容的分解:系統提示、工具、記憶檔案和訊息

1741* 使用 `/mcp disable <name>` 禁用您未使用的 MCP 伺服器,以從上下文中移除其工具定義1921* 使用 `/mcp disable <name>` 禁用您未使用的 MCP 伺服器,以從上下文中移除其工具定義

1742* 修剪大型 `CLAUDE.md` 記憶檔案,或將指示移至 [路徑範圍規則](/docs/zh-TW/memory#path-specific-rules),這些規則僅在相關時載入1922* 修剪大型 `CLAUDE.md` 記憶檔案,或將指示移至 [路徑範圍規則](/docs/zh-TW/memory#path-specific-rules),這些規則僅在相關時載入


2019 模型受您的組織設定限制2199 模型受您的組織設定限制

2020</h3>2200</h3>

2021 2201 

2022您的組織管理員已在 claude.ai 管理控制台中禁用此模型,或它被受管設定中的 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 允許清單排除。當受限制的模型使用 `--model`、`ANTHROPIC_MODEL` 或 `model` 設定設定時,Claude Code 替換允許的模型並繼續。為受限制的模型輸入 `/model <name>` 被拒絕,出現 `Run /model to choose a different model.`,工作階段保持其目前模型。2202您的組織管理員已在 claude.ai 管理控制台中禁用此模型,或它被受管設定中的 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 允許清單排除。當受限制的模型使用 `--model`、`ANTHROPIC_MODEL` 或 `model` 設定設定時,Claude Code 替換允許的模型並繼續。為受限制的模型輸入 `/model <name>` 被拒絕,出現 `Run /model to choose a different model.`,工作階段保持其目前模型。替換通知可能也會在工作階段中途出現,在管理員在 claude.ai 管理控制台中禁用工作階段正在執行的模型之後。

2023 2203 

2024```text theme={null}2204```text theme={null}

2025Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2205Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.


2259 命令列錯誤2439 命令列錯誤

2260</h2>2440</h2>

2261 2441 

2262這些錯誤來自 `claude` 命令列及其子命令、您在提示符處提交的命令名稱,以及 `/security-review` 等命令,這些命令在執行其提示之前透過執行 shell 命令來收集上下文。`/tui` 也會產生錯誤,它會重新啟動 CLI。2442這些錯誤來自 `claude` 命令列及其子命令、您在提示符處提交的命令名稱,以及 `/security-review` 等命令,這些命令在執行提示之前透過執行 shell 命令來收集上下文。它們也來自 `/tui`,它會重新啟動 CLI。

2263 2443 

2264<h3 id="conflict-between-bg-and-print">2444<h3 id="conflict-between-bg-and-print">

2265 \--bg 和 --print 之間的衝突2445 \--bg 和 --print 之間的衝突

2266</h3>2446</h3>

2267 2447 

2268此訊息需要 Claude Code v2.1.198 或更新版本。您在同一個 `claude` 呼叫中結合了 `--bg` 與 `-p` 或 `--print`。`--bg` 啟動一個[背景工作階段](/docs/zh-TW/agent-view#from-your-shell),您稍後可以使用 `claude agents` 附加到該工作階段,而 `--print` 以[非互動模式](/docs/zh-TW/headless)執行,永遠不會啟動 `claude agents` 附加到的互動工作階段。在 v2.1.198 之前,此組合會無聲地建立一個永遠無法附加的背景工作。2448此訊息需要 Claude Code v2.1.198 或更新版本。您在同一個 `claude` 呼叫中結合了 `--bg` 與 `-p` 或 `--print`。`--bg` 啟動一個[背景工作階段](/docs/zh-TW/agent-view#from-your-shell),您稍後可以使用 `claude agents` 附加到該工作階段,而 `--print` 以[非互動方式](/docs/zh-TW/headless)執行,永遠不會啟動 `claude agents` 附加到的互動工作階段。在 v2.1.198 之前,此組合會無聲地建立一個永遠無法附加的背景工作。

2269 2449 

2270```text theme={null}2450```text theme={null}

2451--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.

2271```2452```

2272 2453 

2273**該怎麼做:**2454**該怎麼做:**

2274 2455 

2275* 移除 `-p` 或 `--print`。`--bg` 將提示作為其位置引數,所以 `claude --bg "<task>"` 是完整命令。請參閱[從您的 shell 分派新代理](/docs/zh-TW/agent-view#from-your-shell)。2456* 移除 `-p` 或 `--print`。`--bg` 將提示作為其位置引數,所以 `claude --bg "<task>"` 是完整命令。請參閱[從您的 shell 分派新代理](/docs/zh-TW/agent-view#from-your-shell)。

2276* 若要以非互動模式執行提示並列印結果而不是建立背景工作階段,請移除 `--bg` 並執行 `claude -p "<task>"`2457* 若要以非互動方式執行提示並列印結果而不是建立背景工作階段,請移除 `--bg` 並執行 `claude -p "<task>"`

2277 2458 

2278<h3 id="invalid-agents-configuration">2459<h3 id="invalid-agents-configuration">

2279 無效的 --agents 設定2460 無效的 --agents 設定

2280</h3>2461</h3>

2281 2462 

2282您傳遞給 `--agents` 的值無效,所以 `claude` 以代碼 1 結束而不是啟動工作階段。當您傳遞 `--safe-mode`、`--resume` 或 `--continue`,或設定 [`CLAUDE_CODE_SAFE_MODE`](/docs/zh-TW/env-vars#variables) 時,Claude Code 不會檢查該值並啟動工作階段。在 v2.1.242 之前,Claude Code 無論如何都會啟動工作階段,並遺漏它無法載入的定義。2463您傳遞給 `--agents` 的值無效,所以 `claude` 以代碼 1 結束而不是啟動工作階段。當您傳遞 `--safe-mode`、`--resume` 或 `--continue`,或設定 [`CLAUDE_CODE_SAFE_MODE`](/docs/zh-TW/env-vars#variables) 時,Claude Code 不會檢查該值並啟動工作階段。在 v2.1.242 之前,Claude Code 仍然啟動工作階段並省略了它無法載入的定義。

2283 2464 

2284```text theme={null}2465```text theme={null}

2285Error: Invalid --agents configuration:2466Error: Invalid --agents configuration:

2286<what failed>2467<what failed>

2287```2468```

2288 2469 

2289第一行之後的內容取決於該值如何失敗。Claude Code 按順序執行這些檢查,並在第一個失敗的檢查處停止。如果您的值有兩種問題,您只會在修復第一個問題後看到第二個:2470第一行之後的內容取決於值如何失敗。Claude Code 按順序執行這些檢查,並在第一個失敗的檢查處停止。如果您的值有兩種問題,您只有在修復第一個問題後才會看到第二個:

2290 2471 

22911. 當該值無法解析為 JSON 時,Claude Code 會列印一行 `invalid JSON:` 行,其中包含 JSON 解析器自己的訊息24721. 當值不能解析為 JSON 時,Claude Code 列印一行 `invalid JSON:` 並帶有 JSON 解析器自己的訊息

22922. 當它解析但代理定義與 [CLI 定義的子代理](/docs/zh-TW/sub-agents#choose-the-subagent-scope)的架構不符時,Claude Code 會為每個問題列印一行24732. 當它解析但代理定義不符合 [CLI 定義的子代理](/docs/zh-TW/sub-agents#choose-the-subagent-scope) 的架構時,Claude Code 每個問題列印一行

22933. 當代理名稱以 `-` 開頭時,Claude Code 會列印 `<name>: agent names must not start with '-'`24743. 當代理名稱以 `-` 開頭時,Claude Code 列印 `<name>: agent names must not start with '-'`

2294 2475 

2295當有超過 20 行問題時,Claude Code 會列印前 20 行,並用 `…and N more` 取代其餘部分。2476當有超過 20 行問題時,Claude Code 列印前 20 行並用 `…and N more` 替換其餘部分。

2296 2477 

2297**該怎麼做:**2478**該怎麼做:**

2298 2479 


2303 無法從 --restricted 工作階段建立雲端工作階段2483 無法從 --restricted 工作階段建立雲端工作階段

2304</h3>2484</h3>

2305 2485 

2306當您使用 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 啟動工作階段時,Claude Code 拒絕從中建立[雲端工作階段](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web),因為新工作階段將在受限程序之外執行,不會強制執行受限模式。Claude Code 在用戶端拒絕,在聯絡伺服器之前,所以不會建立任何雲端工作階段:2486當您使用 [`--restricted`](/docs/zh-TW/cli-reference#cli-flags) 啟動工作階段時,Claude Code 拒絕從中建立[雲端工作階段](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud),因為新工作階段將在受限制的程序之外執行,不會強制執行受限制的模式。Claude Code 在用戶端拒絕,在聯絡伺服器之前,所以不會建立雲端工作階段:

2307 2487 

2308```text theme={null}2488```text theme={null}

2309Cloud sessions cannot be created from a --restricted session: they would not enforce it.2489Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2311 2491 

2312**該怎麼做:**2492**該怎麼做:**

2313 2493 

2314* 在受限工作階段中本地執行任務2494* 在受限制的工作階段中本地執行任務

2315* 如果您控制工作階段的啟動方式,請啟動新的 `claude` 工作階段而不使用 `--restricted`,並從那裡建立雲端工作階段2495* 如果您控制工作階段的啟動方式,啟動一個沒有 `--restricted` 的新 `claude` 工作階段,並從那裡建立雲端工作階段

2496 

2497在 v2.1.248 之前,Claude Code 沒有 `--restricted` 旗標;較早的版本以未知選項錯誤拒絕該旗標。

2498 

2499<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2500 您的組織政策已停用雲端工作階段

2501</h3>

2502 

2503您的組織的 `allow_remote_sessions` 政策已關閉,所以[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)和使用它們的命令不可用:

2504 

2505```text theme={null}

2506Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2507```

2508 

2509當您[從終端建立雲端工作階段](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud)時會出現此訊息,當您提交需要雲端工作階段的命令時,例如 `/teleport`、`/remote-env` 或 `/web-setup`。在 v2.1.268 之前,提交其中一個命令會傳回 [`Unknown command`](#unknown-command)。

2510 

2511這是伺服器端組織政策,所以無法從本地設定、環境變數或 CLI 旗標覆蓋。

2316 2512 

2317在 v2.1.248 之前,Claude Code 沒有 `--restricted` 旗標;較早的版本會以未知選項錯誤拒絕該旗標。2513如果 Claude Code 尚未載入您的組織政策或無法擷取它,這些命令會改為回答 `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`。

2514 

2515**該怎麼做:**

2516 

2517* 要求您的組織中的[擁有者](/docs/zh-TW/server-managed-settings#access-control)在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 的 Claude Code 管理設定中啟用雲端工作階段

2518* 如果訊息說它無法驗證政策,請檢查您的網路連線,然後重新啟動 Claude Code 並再試一次

2318 2519 

2319<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2520<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2320 \--json-schema 值不是有效的 JSON Schema2521 \--json-schema 值不是有效的 JSON Schema

2321</h3>2522</h3>

2322 2523 

2323您傳遞給 [`--json-schema`](/docs/zh-TW/cli-reference#cli-flags) 的架構在[非互動模式](/docs/zh-TW/headless#get-structured-output)中未能通過 JSON Schema 編譯,所以 `claude` 以代碼 1 結束而不是執行提示。在 v2.1.205 之前,無效的架構會產生無結構的輸出而沒有錯誤,任何使用 `format` 關鍵字的架構都被視為無效。2524您傳遞給 [`--json-schema`](/docs/zh-TW/cli-reference#cli-flags) 的架構在[非互動模式](/docs/zh-TW/headless#get-structured-output)中未能通過 JSON Schema 編譯,所以 `claude` 以代碼 1 結束而不是執行提示。在 v2.1.205 之前,無效的架構產生無結構的輸出且沒有錯誤,任何使用 `format` 關鍵字的架構都被視為無效。

2324 2525 

2325```text theme={null}2526```text theme={null}

2326Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2527Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2327```2528```

2328 2529 

2329第二個冒號之後的文字是驗證器的診斷,並命名失敗的關鍵字或位置。使用 `format` 關鍵字的架構,例如 `"format": "email"`,是有效的:Claude Code 接受 `format` 作為註釋,不強制執行它。2530第二個冒號後的文字是驗證器的診斷,並命名失敗的關鍵字或位置。使用 `format` 關鍵字的架構,例如 `"format": "email"`,是有效的:Claude Code 接受 `format` 作為註釋,不強制執行它。

2330 2531 

2331Claude Code 在架構編譯之前執行兩項檢查:它拒絕無法解析為 JSON 的值,並顯示 `Error: --json-schema is not valid JSON`,以及有效但不是物件的 JSON,並顯示 `Error: --json-schema must be a JSON object`。2532Claude Code 在架構編譯之前執行兩個檢查:它以 `Error: --json-schema is not valid JSON` 拒絕不可解析的 JSON 值,以及有效但不是物件的 JSON 以 `Error: --json-schema must be a JSON object` 拒絕。

2332 2533 

2333**該怎麼做:**2534**該怎麼做:**

2334 2535 


2340 設定檔超過 2MiB 限制2541 設定檔超過 2MiB 限制

2341</h3>2542</h3>

2342 2543 

2343您傳遞給 [`--settings`](/docs/zh-TW/cli-reference#cli-flags) 的檔案大於 2 MiB,所以 `claude` 在啟動時以代碼 1 結束,而不是載入它。設定檔是一個小型 JSON 文件,所以這麼大的檔案通常意味著路徑指向錯誤的檔案。在 v2.1.214 之前,Claude Code 讀取檔案時沒有大小檢查,多 GB 的檔案或 `/dev/zero` 等裝置檔案會無限制地增加記憶體。2544您傳遞給 [`--settings`](/docs/zh-TW/cli-reference#cli-flags) 的檔案大於 2 MiB,所以 `claude` 在啟動時以代碼 1 結束而不是載入它。設定檔是一個小型 JSON 文件,所以這麼大的檔案通常意味著路徑指向錯誤的檔案。在 v2.1.214 之前,Claude Code 讀取檔案時沒有大小檢查,多 GB 檔案或 `/dev/zero` 等裝置檔案會無限制地增加記憶體。

2344 2545 

2345```text theme={null}2546```text theme={null}

2346Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2547Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2347```2548```

2348 2549 

2349Claude Code 以相同方式拒絕不是常規檔案的 `--settings` 路徑:裝置、FIFO 或 socket 會報告 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`,後面跟著路徑,目錄會報告 `EISDIR` 原因。2550Claude Code 以相同方式拒絕不是常規檔案的 `--settings` 路徑:裝置、FIFO 或 socket 報告 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` 後跟路徑,目錄報告 `EISDIR` 原因。

2350 2551 

2351**該怎麼做:**2552**該怎麼做:**

2352 2553 


2356 目前目錄不再存在2557 目前目錄不再存在

2357</h3>2558</h3>

2358 2559 

2359您從一個在您的 shell 進入後被刪除或移動的目錄啟動 `claude`,例如另一個 shell 移除的 worktree 或臨時目錄。Claude Code 無法讀取其工作目錄,所以它在啟動工作階段之前以代碼 1 結束,在互動和[非互動](/docs/zh-TW/headless)模式中都是如此。在 v2.1.239 之前,Claude Code 會因縮小的套件來源和原始 `ENOENT ... uv_cwd` 堆疊而在 stderr 上崩潰,而不是顯示此訊息。2560您從一個在您的 shell 進入後被刪除或移動的目錄啟動 `claude`,例如 worktree 或另一個 shell 移除的臨時目錄。Claude Code 無法讀取其工作目錄,所以它在啟動工作階段之前以代碼 1 結束,在互動和[非互動](/docs/zh-TW/headless)模式中都是如此。在 v2.1.239 之前,Claude Code 使用縮小的套件來源和原始 `ENOENT ... uv_cwd` 堆疊在 stderr 上崩潰,而不是此訊息。

2360 2561 

2361```text theme={null}2562```text theme={null}

2362The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.2563The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.

2363error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.2564error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

2364```2565```

2365 2566 

2366原因和修復對兩種形式都是相同的。2567兩種形式的原因和修復都是相同的。

2367 2568 

2368當 Claude Code 因其他原因(例如權限變更)無法讀取工作目錄時,訊息會命名錯誤代碼:`Can't read the current directory (EACCES). Start Claude Code from a different directory.`2569當 Claude Code 因為不同的原因(例如權限變更)無法讀取工作目錄時,訊息會命名錯誤代碼:`Can't read the current directory (EACCES). Start Claude Code from a different directory.`

2369 2570 

2370在 macOS 上,`~/Desktop`、`~/Documents`、`~/Downloads` 或 iCloud Drive 中目錄的 `EPERM` 通常意味著 macOS 阻止您的終端應用程式存取該資料夾。讀取該資料夾的其他命令也會以相同方式失敗:即使使用 `sudo`,那裡的 `ls` 也會報告 `Operation not permitted`。2571在 macOS 上,`~/Desktop`、`~/Documents`、`~/Downloads` 或 iCloud Drive 中目錄的 `EPERM` 通常意味著 macOS 阻止您的終端應用程式存取該資料夾。讀取該資料夾的其他命令也會以相同方式失敗:即使使用 `sudo`,`ls` 也會報告 `Operation not permitted`。

2371 2572 

2372**該怎麼做:**2573**該怎麼做:**

2373 2574 

2374* 變更到存在的目錄,例如您的主目錄或專案目錄,然後再次執行 `claude`2575* 變更到存在的目錄,例如您的主目錄或專案目錄,然後再次執行 `claude`

2375* 如果目錄在相同路徑上被重新建立,您的 shell 仍然持有已刪除的目錄。執行 `cd "$PWD"` 或離開並重新進入目錄,然後再次執行 `claude`2576* 如果目錄在相同路徑重新建立,您的 shell 仍然保有已刪除的目錄。執行 `cd "$PWD"` 或離開並重新進入目錄,然後執行 `claude`

2376* 對於 macOS 上的 `EPERM`,使用 Cmd+Q 結束您的終端應用程式,重新開啟它,返回該資料夾,然後執行 `claude`。如果該資料夾中的 `ls` 仍然失敗,請開啟**系統設定 > 隱私與安全 > 檔案和資料夾**,為您的終端應用程式開啟該資料夾,然後重新開啟終端2577* 對於 macOS 上的 `EPERM`,使用 Cmd+Q 結束您的終端應用程式,重新開啟它,返回該資料夾,然後執行 `claude`。如果該資料夾中的 `ls` 仍然失敗,開啟**系統設定 > 隱私與安全 > 檔案和資料夾**,為您的終端應用程式開啟該資料夾,然後重新開啟終端

2377 2578 

2378<h3 id="directory-couldnt-be-resolved-to-a-real-location">2579<h3 id="directory-couldnt-be-resolved-to-a-real-location">

2379 目錄無法解析為實際位置2580 目錄無法解析為真實位置

2380</h3>2581</h3>

2381 2582 

2382您為工作目錄的子目錄執行了 `/add-dir`,Claude Code 無法將目錄解析為其實際位置。2583您為工作目錄的子目錄執行了 `/add-dir`,Claude Code 無法將目錄解析為其真實位置。

2383 2584 

2384您已經可以存取工作目錄的子目錄,所以 `/add-dir` 只會載入其技能、命令和代理。在載入它們之前,Claude Code 會檢查目錄的實際位置(解析任何符號連結)是否在工作目錄內。當 Claude Code 無法解析該位置時,它不會載入任何內容並顯示此訊息:2585您已經可以存取工作目錄的子目錄,所以 `/add-dir` 只載入其 skills、命令和代理。在載入它們之前,Claude Code 檢查目錄的真實位置(解析任何符號連結)是否在工作目錄內。當 Claude Code 無法解析該位置時,它不載入任何內容並顯示此訊息:

2385 2586 

2386```text theme={null}2587```text theme={null}

2387packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.2588packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.


2390**該怎麼做:**2591**該怎麼做:**

2391 2592 

2392* 檢查路徑是否命名工作目錄內的真實目錄,然後再次執行 `/add-dir`2593* 檢查路徑是否命名工作目錄內的真實目錄,然後再次執行 `/add-dir`

2393* 訊息不會改變您的檔案存取;它只報告目錄的 `.claude/` 內容未被載入2594* 訊息不會變更您的檔案存取;它只報告目錄的 `.claude/` 內容未被載入

2394 2595 

2395在 v2.1.261 之前,當工作目錄在 `/net/<host>` 自動掛載上時,此訊息也會為每個 `/add-dir <subdirectory>` 出現,Claude Code 根據設計拒絕解析路徑;目錄很好,重試無法幫助。2596在 v2.1.261 之前,當工作目錄在 `/net/<host>` 自動掛載上時,此訊息也會為每個 `/add-dir <subdirectory>` 出現,Claude Code 根據設計拒絕解析路徑;目錄很好,重試無法幫助。

2396 2597 


2398 啟動遠端控制時工作區未受信任2599 啟動遠端控制時工作區未受信任

2399</h3>2600</h3>

2400 2601 

2401您在未信任的目錄中使用 `claude remote-control` 或其 `claude rc` 別名啟動[遠端控制](/docs/zh-TW/remote-control)伺服器模式。該命令本身不會顯示工作區信任對話框,所以它以代碼 1 結束並命名修復:2602您在未信任的目錄中使用 `claude remote-control` 或其 `claude rc` 別名啟動[遠端控制](/docs/zh-TW/remote-control)伺服器模式。該命令本身不顯示工作區信任對話框,所以它以代碼 1 結束並命名修復:

2402 2603 

2403```text theme={null}2604```text theme={null}

2404Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.2605Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

2405```2606```

2406 2607 

2407在您的主目錄中,訊息是不同的,因為工作區信任對話框永遠不會為主目錄儲存信任,所以在那裡接受它無法滿足此檢查。在 v2.1.214 之前,主目錄顯示上述訊息,其建議在那裡無法成功。2608在您的主目錄中,訊息是不同的,因為工作區信任對話框永遠不會為主目錄儲存信任,所以在那裡接受它無法滿足此檢查。在 v2.1.214 之前,主目錄顯示上述訊息,其建議無法在那裡成功。

2408 2609 

2409```text theme={null}2610```text theme={null}

2410Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).2611Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).


2419 未帶到遠端控制啟動的工作階段2620 未帶到遠端控制啟動的工作階段

2420</h3>2621</h3>

2421 2622 

2422您使用全域 `claude` 旗標在 `remote-control` 動詞之前啟動[遠端控制](/docs/zh-TW/remote-control),該旗標會限制或設定遠端控制啟動的工作階段,例如 `--settings`、`--setting-sources`、`--permission-mode`、`--disallowed-tools` 或 `--mcp-config`。放在動詞之前的旗標永遠不會到達這些工作階段。Claude Code 拒絕啟動,並命名該旗標:2623您使用全域 `claude` 旗標在 `remote-control` 動詞之前啟動[遠端控制](/docs/zh-TW/remote-control),該旗標會限制或設定遠端控制啟動的工作階段,例如 `--settings`、`--setting-sources`、`--permission-mode`、`--disallowed-tools` 或 `--mcp-config`。放在動詞之前的旗標永遠不會到達這些工作階段。Claude Code 拒絕啟動,命名該旗標:

2423 2624 

2424```text theme={null}2625```text theme={null}

2425Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).2626Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).

2426```2627```

2427 2628 

2428Claude Code 不拒絕無害的全域旗標,例如 `--verbose`、`--model` 或包裝器注入的 `--session-id` 或 `--plugin-dir`:它會忽略它們,遠端控制會啟動。2629Claude Code 不拒絕無害的全域旗標,例如 `--verbose`、`--model` 或包裝器注入的 `--session-id` 或 `--plugin-dir`:它忽略它們,遠端控制啟動。

2429 2630 

2430Claude Code 也拒絕為它尚未識別為無害的全域旗標啟動,所以在較新版本中新增的旗標可能會在此訊息中出現,直到稍後的版本將其標記為無害。2631Claude Code 也拒絕為它尚未識別為無害的全域旗標啟動,所以在較新版本中新增的旗標可能會在此訊息中出現,直到稍後的版本將其標記為無害。

2431 2632 

2432**該怎麼做:**2633**該怎麼做:**

2433 2634 

2434* 從動詞之前移除旗標,並在其後傳遞[遠端控制自己的選項](/docs/zh-TW/remote-control#start-a-remote-control-session);`claude remote-control --help` 列出它們2635* 從動詞之前移除旗標,並在其後傳遞[遠端控制自己的選項](/docs/zh-TW/remote-control#start-a-remote-control-session);`claude remote-control --help` 列出它們

2435* 當被拒絕的旗標是 `--permission-mode` 時,執行 `claude remote-control --permission-mode <mode>` 來設定遠端控制啟動的工作階段的權限模式2636* 當被拒絕的旗標是 `--permission-mode` 時,執行 `claude remote-control --permission-mode <mode>` 以設定遠端控制啟動的工作階段的權限模式

2436 2637 

2437在 v2.1.248 之前,當全域旗標首先出現時,`claude remote-control` 不接受自己的旗標,命令失敗並出現 `unknown option` 錯誤。2638在 v2.1.248 之前,當全域旗標首先出現時,`claude remote-control` 不接受自己的旗標,命令失敗並出現未知選項錯誤。

2438 2639 

2439<h3 id="claude-import-is-not-yet-available-in-this-build">2640<h3 id="claude-import-is-not-yet-available-in-this-build">

2440 claude import 在此組建中尚不可用2641 claude import 在此組建中尚不可用

2441</h3>2642</h3>

2442 2643 

2443您執行了 [`claude import`](/docs/zh-TW/cli-reference#cli-commands),Claude Code 發現匯入流程已關閉,所以命令以代碼 1 結束而不是啟動匯入。在 v2.1.222 之前,關閉匯入流程的組建會將 `import` 視為提示並啟動互動工作階段,而不是列印此訊息。2644您執行了 [`claude import`](/docs/zh-TW/cli-reference#cli-commands),Claude Code 發現匯入流程已關閉,所以命令以代碼 1 結束而不是啟動匯入。在 v2.1.222 之前,關閉匯入流程的組建將 `import` 視為提示並啟動互動工作階段,而不是列印此訊息。

2444 2645 

2445```text theme={null}2646```text theme={null}

2446`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.2647`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

2447```2648```

2448 2649 

2449Claude Code 透過從 Anthropic 取得並在磁碟上快取的功能旗標開啟 `claude import`。此訊息意味著快取的值已關閉。原因通常是以下之一:2650Claude Code 透過從 Anthropic 擷取並在磁碟上快取的功能旗標開啟 `claude import`。此訊息意味著快取的值已關閉。原因通常是以下之一:

2450 2651 

2451* 您在安裝後尚未啟動工作階段,所以 Claude Code 尚未取得旗標。第一個 `claude import` 即使功能對您可用,也可能列印此訊息。2652* 您自安裝以來尚未啟動工作階段,所以 Claude Code 尚未擷取旗標。第一個 `claude import` 即使功能對您可用,也可能列印此訊息。

2452* 您透過 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 AWS 上的 Claude Platform,或透過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)使用 Claude Code。Claude Code 在這些工作階段中不取得功能旗標,所以 `claude import` 保持不可用。2653* 您透過 Amazon Bedrock、Google Cloud 的代理平台、Microsoft Foundry、AWS 上的 Claude Platform 或透過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway#availability-and-limitations)使用 Claude Code。Claude Code 在這些工作階段中不擷取功能旗標,所以 `claude import` 保持不可用。

2453* 您設定了 `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`DISABLE_GROWTHBOOK` 或 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars),這會關閉功能旗標取得,所以 `claude import` 保持不可用。2654* 您設定了 `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`DISABLE_GROWTHBOOK` 或 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars),它們關閉功能旗標擷取,所以 `claude import` 保持不可用。

2454 2655 

2455**該怎麼做:**2656**該怎麼做:**

2456 2657 

2457* 在全新安裝上,啟動 `claude`,等待工作階段載入,結束,然後再次執行 `claude import`2658* 在全新安裝上,啟動 `claude`,等待工作階段載入,結束,然後再次執行 `claude import`

2458* 功能旗標取得保持關閉的地方,自己設定設定:使用 [`claude mcp add`](/docs/zh-TW/mcp#installing-mcp-servers) 新增 MCP 伺服器,並建立您想要帶過來的 [`CLAUDE.md` 檔案](/docs/zh-TW/memory#how-claude-md-files-load)、[技能和命令](/docs/zh-TW/skills#where-skills-live)和[子代理](/docs/zh-TW/sub-agents#choose-the-subagent-scope)。訊息也命名 `~/.claude/settings.json`。在 `claude import` 帶來的設定中,該檔案只保存[權限模式](/docs/zh-TW/settings-reference#permission-settings);Claude Code 不從中讀取 MCP 伺服器。2659* 功能旗標擷取保持關閉的地方,自己設定設定:使用 [`claude mcp add`](/docs/zh-TW/mcp#installing-mcp-servers) 新增 MCP 伺服器,並建立您想要帶過來的 [`CLAUDE.md` 檔案](/docs/zh-TW/memory#how-claude-md-files-load)、[skills 和命令](/docs/zh-TW/skills#where-skills-live)和[子代理](/docs/zh-TW/sub-agents#choose-the-subagent-scope)。訊息也命名 `~/.claude/settings.json`。在 `claude import` 帶來的設定中,該檔案只保有[權限模式](/docs/zh-TW/settings-reference#permission-settings);Claude Code 不從中讀取 MCP 伺服器。

2459 2660 

2460<h3 id="could-not-read-claude-code-config">2661<h3 id="could-not-read-claude-code-config">

2461 無法讀取 Claude Code 設定2662 無法讀取 Claude Code 設定

2462</h3>2663</h3>

2463 2664 

2464您在 Claude Code 無法解析 `~/.claude.json` 時執行了 [`claude import`](/docs/zh-TW/cli-reference#cli-commands),該檔案是它儲存您的登入和每個專案狀態的地方。子命令讀取該檔案以檢查可用性,但不會顯示互動工作階段顯示的恢復對話框,所以它以代碼 1 結束。在 v2.1.222 之前,具有無法讀取的設定檔的 `claude import` 啟動了互動工作階段,其恢復對話框處理了該檔案。2665您執行了 [`claude import`](/docs/zh-TW/cli-reference#cli-commands),而 Claude Code 無法解析 `~/.claude.json`,它儲存您的登入和每個專案狀態的檔案。子命令讀取該檔案以檢查可用性,但不顯示互動工作階段顯示的復原對話框,所以它以代碼 1 結束。在 v2.1.222 之前,具有不可讀設定檔的 `claude import` 啟動互動工作階段,其復原對話框處理該檔案。

2465 2666 

2466```text theme={null}2667```text theme={null}

2467Could not read Claude Code config — run `claude` with no arguments to recover it.2668Could not read Claude Code config — run `claude` with no arguments to recover it.


2469 2670 

2470**該怎麼做:**2671**該怎麼做:**

2471 2672 

2472* 執行 `claude` 而不帶引數。Claude Code 偵測無效檔案並提供重設它。然後再次執行 `claude import`。2673* 執行沒有引數的 `claude`。Claude Code 偵測無效檔案並提供重設它。然後再次執行 `claude import`。

2473* 若要保留您所做的手動編輯,請在編輯器中修復 `~/.claude.json` 中的 JSON 語法,然後重新執行 `claude import`2674* 若要保留您所做的手動編輯,請在編輯器中修復 `~/.claude.json` 中的 JSON 語法,然後重新執行 `claude import`

2474 2675 

2475<h3 id="could-not-import-a-server-from-claude-desktop">2676<h3 id="could-not-import-a-server-from-claude-desktop">

2476 無法從 Claude Desktop 匯入伺服器2677 無法從 Claude Desktop 匯入伺服器

2477</h3>2678</h3>

2478 2679 

2479Claude Code 無法新增您在 `claude mcp add-from-claude-desktop` 中選擇的其中一個伺服器。該命令仍會匯入其他選定的伺服器,並為每個無法新增的伺服器列印一行。在 v2.1.205 之前,第一個失敗的伺服器停止了匯入,所有選定的伺服器都未被新增。2680Claude Code 無法新增您在 `claude mcp add-from-claude-desktop` 中選擇的其中一個伺服器。該命令仍然匯入其他選定的伺服器,並為每個它無法新增的伺服器列印一行。在 v2.1.205 之前,第一個失敗的伺服器停止匯入,沒有選定的伺服器被新增。

2480 2681 

2481```text theme={null}2682```text theme={null}

2482Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.2683Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

2483```2684```

2484 2685 

2485伺服器名稱之後的文字是原因。最常見的是名稱檢查:Claude Desktop 允許伺服器名稱中的字元,例如空格和句號,而 `claude mcp` 限制為字母、數字、連字號和底線。其他原因包括無法通過驗證的伺服器設定和被您組織的 [MCP 原則](/docs/zh-TW/managed-mcp)阻止的伺服器。2686伺服器名稱後的文字是原因。最常見的是名稱檢查:Claude Desktop 允許伺服器名稱中的字元,例如空格和句號,而 `claude mcp` 限制為字母、數字、連字號和底線。其他原因包括無法通過驗證的伺服器設定和被您的組織的 [MCP 政策](/docs/zh-TW/managed-mcp)阻止的伺服器。

2486 2687 

2487**該怎麼做:**2688**該怎麼做:**

2488 2689 


2493 無法將 MCP 伺服器新增到受管範圍2694 無法將 MCP 伺服器新增到受管範圍

2494</h3>2695</h3>

2495 2696 

2496您使用 `--scope managed` 執行了 `claude mcp add` 或 `claude mcp add-json`。該範圍保存您的組織透過 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) 受管設定提供的伺服器。Claude Code 只從受管設定讀取它們,所以命令無法將伺服器寫入該範圍。2697您使用 `--scope managed` 執行了 `claude mcp add` 或 `claude mcp add-json`。該範圍保有您的組織透過 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) 受管設定提供的伺服器。Claude Code 只從受管設定讀取它們,所以命令無法將伺服器寫入該範圍。

2497 2698 

2498```text theme={null}2699```text theme={null}

2499Cannot add MCP server to scope: managed2700Cannot add MCP server to scope: managed


2501 2702 

2502**該怎麼做:**2703**該怎麼做:**

2503 2704 

2504* 將伺服器新增到您可以寫入的範圍:`local`、`user` 或 `project`。不使用 `--scope` 時,命令使用 `local`。請參閱 [MCP 安裝範圍](/docs/zh-TW/mcp#mcp-installation-scopes)2705* 將伺服器新增到您可以寫入的範圍:`local`、`user` 或 `project`。沒有 `--scope`,命令使用 `local`。請參閱 [MCP 安裝範圍](/docs/zh-TW/mcp#mcp-installation-scopes)

2505* 若要為組織中的每個使用者提供伺服器,請將其新增到您部署的受管設定中的 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers)2706* 若要為您的組織中的每個使用者提供伺服器,請將其新增到您部署的受管設定中的 [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers)

2506 2707 

2507<h3 id="cant-read-mcp-json">2708<h3 id="cant-read-mcp-json">

2508 無法讀取 .mcp.json2709 無法讀取 .mcp.json

2509</h3>2710</h3>

2510 2711 

2511讀取專案 [`.mcp.json`](/docs/zh-TW/mcp#project-scope) 的命令,例如 `claude mcp add` 或 `claude mcp add-json` 搭配 `--scope project`,或 `claude mcp remove`,發現您目前目錄中的檔案不是常規檔案或大於 2 MiB,所以它以此錯誤結束而不是讀取檔案。2712讀取專案的 [`.mcp.json`](/docs/zh-TW/mcp#project-scope) 的命令,例如 `claude mcp add` 或 `claude mcp add-json` 搭配 `--scope project`,或 `claude mcp remove`,發現您目前目錄中的檔案不是常規檔案或大於 2 MiB,所以它以此錯誤結束而不是讀取檔案。

2512 2713 

2513```text theme={null}2714```text theme={null}

2514Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.2715Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

2515```2716```

2516 2717 

2517在 v2.1.257 之前,`.mcp.json` 處的 FIFO 會讓命令無限期等待而沒有輸出,到裝置檔案(例如 `/dev/zero`)的符號連結會增加記憶體直到程序被殺死。2718在 v2.1.257 之前,`.mcp.json` 的 FIFO 讓命令無限期等待且沒有輸出,到 `/dev/zero` 等裝置檔案的符號連結會無限制地增加記憶體,直到程序被殺死。

2518 2719 

2519**該怎麼做:**2720**該怎麼做:**

2520 2721 

2521* 檢查您目前目錄中 `.mcp.json` 處的內容。將其替換為[專案範圍格式](/docs/zh-TW/mcp#project-scope)中的普通 JSON 檔案,或刪除它,然後再次執行命令。2722* 檢查您目前目錄中 `.mcp.json` 的內容。將其替換為 [project-scope 格式](/docs/zh-TW/mcp#project-scope)中的普通 JSON 檔案,或刪除它,然後執行命令。

2522 2723 

2523<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">2724<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

2524 伺服器是 Anthropic 託管的,不支援本地 OAuth2725 伺服器是 Anthropic 託管的,不支援本地 OAuth

2525</h3>2726</h3>

2526 2727 

2527您為 URL 指向透過第三方身份提供者進行驗證的 Anthropic 託管連接器主機的 MCP 伺服器啟動了登入。這些主機包括 `microsoft365.mcp.claude.com`、`gmail.mcp.claude.com` 和 `gcal.mcp.claude.com`。Claude Code 拒絕為這些主機從 `/mcp` 面板和 `claude mcp login` 啟動其本地 OAuth 流程,因為[它們的登入僅透過 claude.ai 工作](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。2728您為 URL 指向透過第三方身份提供者進行身份驗證的 Anthropic 託管連接器主機的 MCP 伺服器啟動了登入。這些主機包括 `microsoft365.mcp.claude.com`、`gmail.mcp.claude.com` 和 `gcal.mcp.claude.com`。Claude Code 拒絕為這些主機從 `/mcp` 面板和 `claude mcp login` 啟動其本地 OAuth 流程,因為[它們的登入僅透過 claude.ai 運作](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。

2528 2729 

2529```text theme={null}2730```text theme={null}

2530"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.2731"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.


2534 2735 

2535**該怎麼做:**2736**該怎麼做:**

2536 2737 

2537* 使用 `claude mcp remove <name>` 移除您的項目,以便它無法隱藏相同 URL 處的 claude.ai 連接器2738* 使用 `claude mcp remove <name>` 移除您的項目,以便它無法隱藏相同 URL 的 claude.ai 連接器

2538* 移除後,在[claude.ai/customize/connectors](https://claude.ai/customize/connectors)連接服務,同時登入您在 Claude Code 中使用的帳戶。連接後,如果您的活躍驗證方法是 claude.ai 訂閱登入,[連接器會自動出現在 Claude Code 中](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)2739* 移除後,在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 連接服務,同時登入您在 Claude Code 中使用的帳戶。連接後,如果您的活躍身份驗證方法是 claude.ai 訂閱登入,[連接器會自動出現在 Claude Code 中](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)

2539 2740 

2540<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">2741<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

2541 伺服器拒絕了由設定的 headersHelper 鑄造的授權標頭2742 伺服器拒絕了由設定的 headersHelper 鑄造的授權標頭

2542</h3>2743</h3>

2543 2744 

2544其 [`headersHelper`](/docs/zh-TW/mcp#use-dynamic-headers-for-custom-authentication) 提供 `Authorization` 標頭的 MCP 伺服器以 HTTP 401 或 403 回答連接,所以 Claude Code 將連接報告為失敗。因為幫助程式提供 `Authorization` 標頭,Claude Code [不會回退到 OAuth](/docs/zh-TW/mcp#authenticate-with-remote-mcp-servers) 用於伺服器:2745其 [`headersHelper`](/docs/zh-TW/mcp#use-dynamic-headers-for-custom-authentication) 提供 `Authorization` 標頭的 MCP 伺服器以 HTTP 401 或 403 回答連線,所以 Claude Code 報告連線失敗。因為 helper 提供 `Authorization` 標頭,Claude Code [不會回退到 OAuth](/docs/zh-TW/mcp#authenticate-with-remote-mcp-servers) 用於伺服器:

2545 2746 

2546```text theme={null}2747```text theme={null}

2547Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.2748Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

2548```2749```

2549 2750 

2550Claude Code 在每次連接嘗試時重新執行幫助程式,所以在暫時拒絕後重試(例如權杖輪換競爭)可以使用新認證成功。2751Claude Code 在每次連線嘗試時重新執行 helper,所以在暫時拒絕後重試(例如令牌輪換競爭)可以使用新認證成功。

2551 2752 

2552**該怎麼做:**2753**該怎麼做:**

2553 2754 

2554* 按照 Claude Code 執行它的方式執行 `headersHelper` 命令:從 [Claude Code 執行它的目錄](/docs/zh-TW/mcp#where-the-helper-runs),使用 [Claude Code 為其設定的環境變數](/docs/zh-TW/mcp#use-dynamic-headers-for-custom-authentication),以及不使用 [Claude Code 為來自專案 `.mcp.json`、外掛程式或專案代理檔案的伺服器移除的認證變數](/docs/zh-TW/mcp#which-variables-a-helper-can-read)。檢查它列印的 `Authorization` 值伺服器的端點接受2755* 按照 Claude Code 執行它的方式自己執行 `headersHelper` 命令:從 [Claude Code 執行它的目錄](/docs/zh-TW/mcp#where-the-helper-runs),使用 [Claude Code 為其設定的環境變數](/docs/zh-TW/mcp#use-dynamic-headers-for-custom-authentication),以及沒有 [Claude Code 為來自專案 `.mcp.json`、外掛程式或專案代理檔案的伺服器移除的認證變數](/docs/zh-TW/mcp#which-variables-a-helper-can-read)。檢查它列印的 `Authorization` 值伺服器的端點接受

2555* 修復幫助程式或其認證來源後,在 `/mcp` 中選擇伺服器並選擇**重新連接**2756* 修復 helper 或其認證來源後,在 `/mcp` 中選擇伺服器並選擇**重新連線**

2556 2757 

2557在 v2.1.248 之前,Claude Code 為其幫助程式提供 `Authorization` 標頭的伺服器執行了 OAuth 發現。該發現可能失敗並出現 `Incompatible auth server: does not support dynamic client registration` 而不是報告被拒絕的認證。2758在 v2.1.248 之前,Claude Code 為其 helper 提供 `Authorization` 標頭的伺服器執行 OAuth 發現。該發現可能失敗並出現 `Incompatible auth server: does not support dynamic client registration` 而不是報告被拒絕的認證。

2558 2759 

2559<h3 id="mcp-permission-prompt-tool-not-found">2760<h3 id="mcp-permission-prompt-tool-not-found">

2560 找不到 MCP 權限提示工具2761 找不到 MCP 權限提示工具

2561</h3>2762</h3>

2562 2763 

2563您傳遞給 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 的工具在執行首次需要權限決定時不在連接的 MCP 工具中,可能是因為其伺服器從未連接,或因為沒有連接的伺服器公開該名稱的工具。Claude Code 仍會傳送您的提示:[非互動](/docs/zh-TW/headless)執行在第一個需要批准的工具呼叫時以此錯誤和結束代碼 1 結束,所以即使提出了請求,它也不會產生答案。在第一個提示之前,Claude Code 等待最多由 [`MCP_TIMEOUT`](/docs/zh-TW/env-vars) 設定的每個伺服器連接逾時 30 秒,以便該伺服器連接。在 v2.1.206 之前,啟動不會等待伺服器完成連接,所以啟動緩慢但健康的伺服器也會產生此錯誤。2764您傳遞給 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 的工具在執行首次需要權限決定時不在連接的 MCP 工具中,要麼因為其伺服器從未連接,要麼因為沒有連接的伺服器公開該名稱的工具。Claude Code 仍然傳送您的提示:[非互動](/docs/zh-TW/headless)執行在第一個需要批准的工具呼叫時以此錯誤和結束代碼 1 結束,所以即使提出了請求,它也不產生答案。在第一個提示之前,Claude Code 等待最多由 [`MCP_TIMEOUT`](/docs/zh-TW/env-vars) 設定的每個伺服器連線逾時 30 秒,以便該伺服器連接。在 v2.1.206 之前,啟動不等待伺服器完成連接,所以啟動緩慢但健康的伺服器也產生此錯誤。

2564 2765 

2565```text theme={null}2766```text theme={null}

2566Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none2767Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

2567```2768```

2568 2769 

2569`Available MCP tools:` 之後的清單命名等待結束時連接的 MCP 工具。2770`Available MCP tools:` 後的清單命名等待結束時連接的 MCP 工具。

2570 2771 

2571**該怎麼做:**2772**該怎麼做:**

2572 2773 

2573* 檢查伺服器啟動並保持連接:在同一目錄中執行 `claude mcp list` 並確認伺服器列為已連接2774* 檢查伺服器啟動並保持連接:在相同目錄中執行 `claude mcp list` 並確認伺服器列為已連接

2574* 確認工具名稱與伺服器公開的 `mcp__<server>__<tool>` 名稱相符2775* 確認工具名稱符合伺服器公開的 `mcp__<server>__<tool>` 名稱

2575* 如果伺服器需要超過 30 秒才能啟動,請提高 [`MCP_TIMEOUT`](/docs/zh-TW/env-vars)2776* 如果伺服器需要超過 30 秒才能啟動,請提高 [`MCP_TIMEOUT`](/docs/zh-TW/env-vars)

2576 2777 

2577<h3 id="oauth-callback-port-is-already-in-use">2778<h3 id="oauth-callback-port-is-already-in-use">

2578 OAuth 回呼連接埠已在使用中2779 OAuth 回呼連接埠已在使用中

2579</h3>2780</h3>

2580 2781 

2581當您使用 OAuth 登入遠端 MCP 伺服器時,Claude Code 啟動本地接聽程式以接收登入回呼。如果該接聽程式需要的連接埠被另一個程序持有,登入會失敗並出現此訊息。這主要發生在透過 [`MCP_OAUTH_CALLBACK_PORT`](/docs/zh-TW/env-vars) 變數或 `--callback-port` 設定的[固定回呼連接埠](/docs/zh-TW/mcp#use-a-fixed-oauth-callback-port)上,因為沒有一個 Claude Code 會選擇可用的連接埠。2782當您使用 OAuth 登入遠端 MCP 伺服器時,Claude Code 啟動本地接聽器以接收登入回呼。如果該接聽器需要的連接埠被另一個程序佔用,登入失敗並出現此訊息。這主要發生在[固定回呼連接埠](/docs/zh-TW/mcp#use-a-fixed-oauth-callback-port)透過 [`MCP_OAUTH_CALLBACK_PORT`](/docs/zh-TW/env-vars) 變數或 `--callback-port` 設定時,因為沒有一個 Claude Code 會選擇可用的連接埠。

2582 2783 

2583```text theme={null}2784```text theme={null}

2584OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.2785OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.


2588 2789 

2589**該怎麼做:**2790**該怎麼做:**

2590 2791 

2591* 執行訊息中的命令以找到持有連接埠的程序,並停止它或等待它完成2792* 執行訊息中的命令以找到佔用連接埠的程序,並停止它或等待它完成

2592* 如果另一個程式永久需要該連接埠,請向伺服器註冊不同的重定向 URI,並使用 `MCP_OAUTH_CALLBACK_PORT` 或 `--callback-port` 設定其連接埠,以及您使用的任何一個2793* 如果另一個程式永久需要該連接埠,使用伺服器註冊不同的重定向 URI,並使用 `MCP_OAUTH_CALLBACK_PORT` 或 `--callback-port` 設定其連接埠,以您使用的為準

2794* 然後再次啟動登入,例如在 `/mcp` 中選擇伺服器

2795 

2796<h3 id="no-available-ports-for-oauth-redirect">

2797 沒有可用的 OAuth 重定向連接埠

2798</h3>

2799 

2800當您使用[OAuth](/docs/zh-TW/mcp#authenticate-with-remote-mcp-servers)登入遠端 MCP 伺服器時,Claude Code 啟動本地接聽器以接收登入回呼。當 Claude Code 無法為其繫結本地連接埠時,登入失敗並出現此訊息。機器上的某些內容阻止它在 `127.0.0.1` 上接聽,例如安全軟體或拒絕本地接聽器的沙箱政策。

2801 

2802```text theme={null}

2803No available ports for OAuth redirect

2804```

2805 

2806在 v2.1.268 之前,Claude Code 不回退到作業系統指派的連接埠,所以當只有其自選連接埠無法繫結時,訊息也會出現。這可能發生在 Hyper-V 保留涵蓋 Claude Code 選擇的連接埠的連接埠範圍的 Windows 主機上。

2807 

2808**該怎麼做:**

2809 

2810* 檢查安全軟體或沙箱政策是否阻止程序在 `127.0.0.1` 上接聽,並允許 Claude Code 繫結本地連接埠

2593* 然後再次啟動登入,例如在 `/mcp` 中選擇伺服器2811* 然後再次啟動登入,例如在 `/mcp` 中選擇伺服器

2594 2812 

2595<h3 id="security-review-fails-without-origin-head">2813<h3 id="security-review-fails-without-origin-head">

2596 /security-review 在沒有 origin/HEAD 的情況下失敗2814 /security-review 在沒有 origin/HEAD 的情況下失敗

2597</h3>2815</h3>

2598 2816 

2599[`/security-review`](/docs/zh-TW/commands#all-commands) 透過針對 `origin/HEAD` 進行差異來建立其審查上下文,該本地參考記錄您的 `origin` 遠端上的預設分支。當該參考不存在時,收集差異的 git 命令失敗,審查在啟動前停止。2817[`/security-review`](/docs/zh-TW/commands#all-commands) 透過針對 `origin/HEAD` 進行差異來建立其審查上下文,這是記錄您的 `origin` 遠端上哪個分支是預設分支的本地 ref。當該 ref 不存在時,收集差異的 git 命令失敗,審查在開始前停止。

2600 2818 

2601```text theme={null}2819```text theme={null}

2602Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]2820Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


2605'git <command> [<revision>...] -- [<file>...]'2823'git <command> [<revision>...] -- [<file>...]'

2606```2824```

2607 2825 

2608引用的命令在執行之間變化:審查同時針對 `origin/HEAD` 啟動多個 `git` 命令,並報告首先失敗的命令,所以您可能會在其位置看到 `git log` 或不同的 `git diff`。Git 只在遠端的預設分支被遠端公告且被您的取得 refspec 涵蓋時建立參考。遠端的完整 `git clone` 滿足兩個條件。單分支和 CI 檢查取得太窄的 refspec,伺服器端 HEAD 指向沒有人推送的分支不公告預設值,沒有 `origin` 遠端的儲存庫或您從未取得的儲存庫提供兩者都不提供。2826訊息可能引用 `git log` 或不同的 `git diff`。Git 只在遠端公告預設分支且您的擷取 refspec 涵蓋它時建立 `origin/HEAD`,完整的遠端 `git clone` 帶有提交時會執行此操作。ref 在這些設定中遺失:

2827 

2828* 單一分支或 CI 檢出,擷取太窄的 refspec

2829* 伺服器端 HEAD 指向沒有人推送的分支的遠端

2830* 沒有 `origin` 遠端的儲存庫,或您從未擷取的儲存庫

2609 2831 

2610Claude Code 為任何[注入動態上下文](/docs/zh-TW/skills#when-an-injected-command-fails)的技能顯示相同的錯誤。失敗的注入命令會中止該技能的呼叫。兩個同級字串在命令執行之前就會觸發:2832Claude Code 為任何 [injects dynamic context](/docs/zh-TW/skills#when-an-injected-command-fails) 的 skill 顯示相同的錯誤,失敗的注入命令中止該 skill 的呼叫。兩個同級字串在命令執行之前就會觸發:

2611 2833 

2612* `Shell command permission check failed for pattern "..."`:命令的權限檢查返回了允許以外的內容。注入的命令永遠不會提示,所以呼叫會中止而不詢問您。使用 [`allowed-tools`](/docs/zh-TW/skills#pre-approve-tools-for-a-skill) 預先批准沒有規則符合的命令。符合的詢問或拒絕規則仍會中止呼叫,無論 `allowed-tools` 如何2834* `Shell command permission check failed for pattern "..."`: 命令的權限檢查不允許它。[Permission checks on injected commands](/docs/zh-TW/skills#permission-checks-on-injected-commands) 涵蓋在每個權限模式中哪些結果中止以及如何使用 `allowed-tools` 預先批准命令

2613* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:技能的 frontmatter 在沒有它的機器上要求 bash。安裝 Git for Windows 或將 frontmatter 變更為 `shell: powershell`。請參閱[注入命令如何執行](/docs/zh-TW/skills#how-injected-commands-run)2835* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: skill 的 frontmatter 在沒有它的機器上要求 bash。安裝 Git for Windows 或將 frontmatter 變更為 `shell: powershell`。請參閱[注入命令如何執行](/docs/zh-TW/skills#how-injected-commands-run)

2614 2836 

2615**該怎麼做:**2837**該怎麼做:**

2616 2838 

2617* 透過命名您的遠端預設分支建立參考:`git remote set-head origin <default-branch>`。只要本地追蹤參考 `origin/<default-branch>` 存在,這就有效。如果它不存在,如在單分支複製中,首先取得分支:執行 `git remote set-branches --add origin <branch>`,然後 `git fetch origin`,然後重新執行 set-head 命令。重新執行 `/security-review`。2839* 透過命名您的遠端的預設分支建立 ref:`git remote set-head origin <default-branch>`。只要本地追蹤 ref `origin/<default-branch>` 存在,這就有效。如果它不存在,如在單一分支複製中,首先擷取分支:執行 `git remote set-branches --add origin <branch>`,然後 `git fetch origin`,然後重新執行 set-head 命令。重新執行 `/security-review`。

2618* 如果您寧願不命名分支,執行 `git fetch origin` 然後 `git remote set-head origin --auto`,它詢問遠端其預設分支是什麼。當遠端不公告預設分支時它失敗並出現 `error: Cannot determine remote HEAD`,因為它是空的或其 HEAD 指向沒有人推送的分支;改為明確命名分支。當您的複製不取得該分支時它失敗並出現 `error: Not a valid ref`;首先如上所述擴大 refspec。2840* 如果您寧願不命名分支,執行 `git fetch origin` 然後 `git remote set-head origin --auto`,它詢問遠端其預設分支是什麼。當遠端不公告預設分支時它失敗並出現 `error: Cannot determine remote HEAD`,因為它是空的或其 HEAD 指向沒有人推送的分支;改為明確命名分支。當您的複製不擷取該分支時它失敗並出現 `error: Not a valid ref`;首先如上所述擴寬 refspec。

2619* 如果儲存庫沒有遠端,使用 `git remote add origin <url>` 新增一個並在建立參考之前取得。如果遠端是空的,首先使用 `git push -u origin HEAD` 推送您的分支,並在 set-head 命令中命名該分支;`origin/HEAD` 然後指向您剛推送的分支,所以 `/security-review` 看到空差異直到分支與它分歧。2841* 如果儲存庫沒有遠端,使用 `git remote add origin <url>` 新增一個並在建立 ref 之前擷取。如果遠端是空的,首先使用 `git push -u origin HEAD` 推送您的分支,並在 set-head 命令中命名該分支;`origin/HEAD` 然後指向您剛推送的分支,所以 `/security-review` 看到空差異,直到分支與它分歧。

2620 2842 

2621<h3 id="input-must-be-provided-when-using-print">2843<h3 id="input-must-be-provided-when-using-print">

2622 使用 --print 時必須提供輸入2844 使用 --print 時必須提供輸入

2623</h3>2845</h3>

2624 2846 

2625裸 `claude` 需要 stdout 是終端才能啟動互動 UI。當 stdout 被重定向或控制台不是真實終端時,例如 PowerShell ISE 和某些 IDE 輸出窗格,`claude` 改為以[非互動](/docs/zh-TW/headless)模式執行。這與 `claude -p` 相同,它需要提示,所以訊息命名 `--print` 即使您沒有傳遞旗標。在任何地方傳遞 `-p`/`--print` 而沒有提示且 stdin 上沒有任何內容會產生相同的錯誤。2847裸 `claude` 需要 stdout 是終端才能啟動互動 UI。當 stdout 被重定向或主控台不是真實終端時,例如 PowerShell ISE 和某些 IDE 輸出窗格,`claude` 改為以[非互動](/docs/zh-TW/headless)模式執行。這與 `claude -p` 相同,它需要提示,所以訊息命名 `--print` 即使您沒有傳遞旗標。在任何地方傳遞沒有提示的 `-p`/`--print` 且 stdin 上沒有任何內容產生相同的錯誤。

2626 2848 

2627```text theme={null}2849```text theme={null}

2628Error: Input must be provided either through stdin or as a prompt argument when using --print2850Error: Input must be provided either through stdin or as a prompt argument when using --print


2630 2852 

2631**該怎麼做:**2853**該怎麼做:**

2632 2854 

2633* 為了互動使用,在真實終端中執行 `claude`:Windows Terminal 或 PowerShell 控制台而不是 ISE,以及您的 IDE 整合終端而不是輸出窗格2855* 對於互動使用,在真實終端中執行 `claude`:Windows Terminal 或 PowerShell 主控台而不是 ISE,以及您的 IDE 的整合終端而不是輸出窗格

2634* 為了一次性使用,傳遞提示:`claude -p "your question"`,或使用 `echo "your question" | claude -p` 管道它2856* 對於一次性使用,傳遞提示:`claude -p "your question"`,或使用 `echo "your question" | claude -p` 管道它

2635 2857 

2636<h3 id="input-contained-only-whitespace">2858<h3 id="input-contained-only-whitespace">

2637 輸入僅包含空白2859 輸入僅包含空白


2640在[非互動模式](/docs/zh-TW/headless)中,Claude Code 拒絕完全由空格、製表符或換行符組成的提示,而不是傳送它,因為 API 拒絕沒有可見文字的訊息。您看到的訊息取決於空白提示來自何處:2862在[非互動模式](/docs/zh-TW/headless)中,Claude Code 拒絕完全由空格、製表符或換行符組成的提示,而不是傳送它,因為 API 拒絕沒有可見文字的訊息。您看到的訊息取決於空白提示來自何處:

2641 2863 

2642* **`claude -p` 的提示引數或管道 stdin**:`claude` 以 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` 結束2864* **`claude -p` 的提示引數或管道 stdin**:`claude` 以 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` 結束

2643* **提交到執行中的 `--input-format stream-json` 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 工作階段的訊息**:Claude Code 在沒有呼叫模型的情況下結束轉身,工作階段保持可用。拒絕作為資訊訊息和轉身的結果文字到達:`Blank prompt — the message was only whitespace, so nothing was sent to the model.`2865* **提交給執行中的 `--input-format stream-json` 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 工作階段的訊息**:Claude Code 在不呼叫模型的情況下結束輪次,工作階段保持可用。拒絕作為資訊訊息和輪次的結果文字到達:`Blank prompt — the message was only whitespace, so nothing was sent to the model.`

2644 2866 

2645在 v2.1.229 之前,Claude Code 將僅空白訊息傳送到 API,API 以 400 錯誤拒絕了請求。2867在 v2.1.229 之前,Claude Code 將空白訊息傳送到 API,API 以 400 錯誤拒絕請求。

2646 2868 

2647**該怎麼做:**2869**該怎麼做:**

2648 2870 

2649* 在提示中包含可見文字。如果指令碼從變數或檔案建立提示,請在呼叫 Claude Code 之前檢查來源是否不為空。2871* 在提示中包含可見文字。如果指令碼從變數或檔案建立提示,請在呼叫 Claude Code 之前檢查來源是否不為空。

2650 2872 

2651<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">2873<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

2652 stream-json 輸入在沒有換行符的情況下超過 256M 個字元2874 stream-json 輸入在沒有換行符的情況下超過 256M 字元

2653</h3>2875</h3>

2654 2876 

2655您的程式在沒有換行符的情況下在 stdin 上傳送了超過 268,435,456 個字元到 `claude -p --input-format stream-json` 執行,所以 Claude Code 將此錯誤列印到 stderr 並以代碼 1 結束,而不是緩衝更多輸入。訊息將該預算陳述為 `256M`。在 v2.1.257 之前,Claude Code 無限制地緩衝此類輸入,增加記憶體直到程序崩潰或被殺死。2877您的程式在 stdin 上傳送了超過 268,435,456 個字元,沒有換行符到 `claude -p --input-format stream-json` 執行,所以 Claude Code 將此錯誤列印到 stderr 並以代碼 1 結束,而不是緩衝更多輸入。訊息將該預算陳述為 `256M`。在 v2.1.257 之前,Claude Code 無限制地緩衝此類輸入,增加記憶體,直到程序崩潰或被殺死。

2656 2878 

2657```text theme={null}2879```text theme={null}

2658Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.2880Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.

2659```2881```

2660 2882 

2661沒有換行符的這麼長的輸入通常意味著生產者根本不是 stream-json 生產者,例如二進位檔案或意外管道的純日誌輸出。超過預算的單個訊息失敗相同的檢查。2883沒有換行符的這麼長的輸入通常意味著製作者根本不是 stream-json 製作者,例如二進位檔案或意外管道的純日誌輸出。超過預算的單一訊息失敗相同的檢查。

2662 2884 

2663**該怎麼做:**2885**該怎麼做:**

2664 2886 

2665* 檢查什麼被管道到 stdin。使用 [`--input-format stream-json`](/docs/zh-TW/cli-reference#cli-flags),每個訊息必須是一個換行符終止的 JSON 行2887* 檢查什麼被管道到 stdin。使用 [`--input-format stream-json`](/docs/zh-TW/cli-reference#cli-flags),每個訊息必須是一個換行符終止的 JSON 行

2666* 若要改為傳送純文字,請放棄 `--input-format stream-json`;`claude -p` 預設從 stdin 讀取純文字提示2888* 若要改為傳送純文字,請移除 `--input-format stream-json`;`claude -p` 預設從 stdin 讀取純文字提示

2667 2889 

2668<h3 id="unknown-command">2890<h3 id="unknown-command">

2669 未知命令2891 未知命令

2670</h3>2892</h3>

2671 2893 

2672您提交了一個 `/` 名稱,它與此工作階段中的任何命令都不符,所以 Claude Code 報告該名稱而不是執行任何操作:2894在互動終端工作階段中,您提交了一個 `/` 名稱,它不符合此工作階段中的任何命令,所以 Claude Code 報告該名稱而不是執行任何操作:

2673 2895 

2674```text theme={null}2896```text theme={null}

2675Unknown command: /hepl. Did you mean /help?2897Unknown command: /hepl. Did you mean /help?

2676```2898```

2677 2899 

2678Claude Code 建議此工作階段中功能表列出的最接近的命令名稱或別名。當沒有接近的時,訊息在名稱後結束。原因通常是以下之一:2900Claude Code 建議此工作階段中菜單列出的最接近的命令名稱或別名。當沒有接近的時,訊息在名稱後結束。原因通常是以下之一:

2901 

2902* 打字錯誤,例如 `/hepl` 代替 `/help`。[How the command menu matches what you type](/docs/zh-TW/commands#how-the-command-menu-matches-what-you-type) 涵蓋在提交前選擇接近的匹配

2903* 存在但在此工作階段中不可用的命令,因為不符合要求,例如您的平台、計畫或身份驗證方法。[`/web-setup`](/docs/zh-TW/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) 和 [`/schedule`](/docs/zh-TW/routines#schedule-returns-unknown-command) 的故障排除項目演練兩個常見情況。某些命令在您的組織政策停用它們時以自己的訊息回答,例如 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

2904* 來自此工作階段中未安裝或未連接的[外掛程式](/docs/zh-TW/plugins)或 [MCP 伺服器](/docs/zh-TW/mcp#use-mcp-prompts-as-commands)的命令

2905 

2906Claude Code 只在互動終端工作階段中以此方式回答不符合的 `/` 名稱。在每個其他工作階段中,它改為將提示傳送給 Claude 作為普通訊息,並帶有命令未執行的注意和 Claude 可以在工作階段中執行的命令清單。這些工作階段包括:

2679 2907 

2680* 打字錯誤,例如 `/hepl` 代替 `/help`。[命令功能表如何符合您輸入的內容](/docs/zh-TW/commands#how-the-command-menu-matches-what-you-type)涵蓋在您提交之前選擇接近的符合。2908* `-p` 執行

2681* 存在但在此工作階段中不可用的命令,因為不符合要求,例如您的平台、計畫或驗證方法。[`/web-setup`](/docs/zh-TW/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) 和 [`/schedule`](/docs/zh-TW/routines#schedule-returns-unknown-command) 的疑難排解項目演練兩個常見情況。某些命令在您的組織原則禁用它們時以自己的訊息回答2909* [Agent SDK](/docs/zh-TW/agent-sdk/overview) 應用程式

2682* 來自此工作階段中未安裝或連接的[外掛程式](/docs/zh-TW/plugins)或 [MCP 伺服器](/docs/zh-TW/mcp#use-mcp-prompts-as-commands)的命令2910* [Desktop 應用程式](/docs/zh-TW/desktop)的代碼標籤

2911* [VS Code 擴充功能](/docs/zh-TW/vs-code)的聊天面板

2912* [雲端工作階段](/docs/zh-TW/claude-code-on-the-web)和[例程](/docs/zh-TW/routines)

2683 2913 

2684Claude Code 不會將每個以 `/` 開頭的提示視為命令。當 `/` 之後的第一個單詞以標點符號開頭時,它會將提示傳送給 Claude 作為普通訊息,例如開啟 Lean 文件註釋的 `/--`,或是路徑,例如 `/var/log/syslog`。2914對於無法在其中一個工作階段中執行的內建命令,Claude Code 仍然回答命令不可用,而不是將其傳送給 Claude。在 v2.1.274 之前,只有雲端工作階段和例程將不符合的名稱傳送給 Claude。在 v2.1.273 之前,它們也回答 `Unknown command`。

2685 2915 

2686在 v2.1.236 之前,如果您在命令功能表列出您輸入的名稱的接近符合時按下 `Enter`,Claude Code 會執行該符合,所以 `/hepl` 之類的打字錯誤會執行 `/help` 而不是產生此訊息。2916Claude Code 不將每個以 `/` 開頭的提示視為命令。當 `/` 後的第一個單詞以標點符號開頭時,它將提示傳送給 Claude 作為普通訊息,例如開啟 Lean 文件註釋的 `/--`,或是路徑,例如 `/var/log/syslog`。

2917 

2918在 v2.1.236 之前,如果您在命令菜單列出您輸入的名稱的接近匹配時按下 `Enter`,Claude Code 執行該匹配,所以 `/hepl` 等打字錯誤執行 `/help` 而不是產生此訊息。

2687 2919 

2688**該怎麼做:**2920**該怎麼做:**

2689 2921 

2690* 執行建議的名稱,或輸入 `/` 後跟名稱的一部分以查看此工作階段中可用的內容2922* 執行建議的名稱,或輸入 `/` 後跟名稱的一部分以查看此工作階段中可用的內容

2691* 如果 Claude Code 將記錄的命令報告為未知,請檢查[命令參考](/docs/zh-TW/commands)中的其行以了解它命名的要求2923* 如果 Claude Code 報告文件化命令為未知,請檢查[命令參考](/docs/zh-TW/commands)中其行以了解它命名的要求

2692 2924 

2693<h3 id="diff-is-too-large-for-ultrareview">2925<h3 id="diff-is-too-large-for-ultrareview">

2694 差異對於 ultrareview 來說太大2926 差異對於 ultrareview 來說太大

2695</h3>2927</h3>

2696 2928 

2697您的分支與基礎分支之間的差異,包括未提交和暫存的變更,超過了 [ultrareview](/docs/zh-TW/ultrareview) 的大小限制,所以 `/code-review ultra` 和 `claude ultrareview` 子命令在雲端工作階段啟動之前拒絕審查。被拒絕的審查不使用免費執行,也不計費使用額度。訊息命名有效的限制、您的差異大小以及貢獻最多變更行的檔案。在 v2.1.216 之前,訊息只顯示原始差異統計。2929您的分支與基礎分支之間的差異,包括未提交和暫存的變更,超過 [ultrareview](/docs/zh-TW/ultrareview) 的大小限制,所以 `/code-review ultra` 和 `claude ultrareview` 子命令在雲端工作階段啟動前拒絕審查。被拒絕的審查不使用免費執行,不計費使用額度。訊息命名有效的限制、您的差異大小和貢獻最多變更行的檔案。在 v2.1.216 之前,訊息只顯示原始差異統計。

2698 2930 

2699```text theme={null}2931```text theme={null}

2700Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.2932Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.


2704 2936 

2705**該怎麼做:**2937**該怎麼做:**

2706 2938 

2707* 傳遞更接近您工作的基礎分支,例如 `/code-review ultra develop`,以便審查僅涵蓋針對該分支的差異2939* 傳遞更接近您工作的基礎分支,例如 `/code-review ultra develop`,以便審查只涵蓋針對該分支的差異

2708* 將變更分成較小的分支並審查每一個。訊息命名的檔案貢獻最多變更行,所以首先開始將這些移到自己的分支。2940* 將變更分割成較小的分支,並審查每一個。訊息命名的檔案貢獻最多變更行,所以首先將這些移到自己的分支。

2709 2941 

2710<h3 id="could-not-find-merge-base-with-the-base-branch">2942<h3 id="could-not-find-merge-base-with-the-base-branch">

2711 找不到與基礎分支的合併基礎2943 找不到與基礎分支的合併基礎

2712</h3>2944</h3>

2713 2945 

2714`/code-review ultra` 和 `claude ultrareview` 子命令審查您的分支與基礎分支之間的差異,這需要兩者共享的提交。當 `git merge-base` 找不到時,Claude Code 在雲端工作階段啟動之前拒絕審查。在 Claude Code 可以驗證完整的複製上,至少有一個分支,它改為[審查每個追蹤的檔案](/docs/zh-TW/ultrareview#diff-limits-and-fallbacks)而不是拒絕。當基礎分支根本找不到時,當 Claude Code 無法驗證您的複製完整時,或在罕見的儲存庫中(例如 SHA-256 物件格式),您會看到此拒絕。2946`/code-review ultra` 和 `claude ultrareview` 子命令審查您的分支與基礎分支之間的差異,這需要兩者共享的提交。當 `git merge-base` 找不到時,Claude Code 在雲端工作階段啟動前拒絕審查。在 Claude Code 可以驗證完整的複製上,至少有一個分支,它改為回退到[審查每個追蹤檔案](/docs/zh-TW/ultrareview#diff-limits-and-fallbacks)而不是拒絕。您在基礎分支根本找不到時、Claude Code 無法驗證您的複製完整時,或在罕見的儲存庫中看到此拒絕,其中整個樹差異不可能,例如 SHA-256 物件格式。

2715 2947 

2716```text theme={null}2948```text theme={null}

2717Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.2949Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.

2718```2950```

2719 2951 

2720第一句之後的提示取決於 Claude Code 觀察到的內容:2952第一句後的提示取決於 Claude Code 觀察到的內容:

2721 2953 

2722* **您沒有傳遞基礎分支**:Claude Code 與儲存庫的預設分支進行了比較,並建議明確傳遞您的基礎,如上例所示2954* **您沒有傳遞基礎分支**:Claude Code 與儲存庫的預設分支進行比較,並建議明確傳遞您的基礎,如上例所示

2723* **您傳遞的基礎分支已在您的複製中**:提示讀取 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``2955* **您傳遞的基礎分支已在您的複製中**:提示讀取 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

2724* **您傳遞的基礎分支不在您的複製中**: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`。2956* **您傳遞的基礎分支不在您的複製中**: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`。

2725 2957 

2726**該怎麼做:**2958**該怎麼做:**

2727 2959 


2729* 如果您的複製可能沒有完整歷史,執行 `git fetch --unshallow origin` 並重新執行審查2961* 如果您的複製可能沒有完整歷史,執行 `git fetch --unshallow origin` 並重新執行審查

2730 2962 

2731<h3 id="your-checkout-has-no-branches">2963<h3 id="your-checkout-has-no-branches">

2732 您的檢查沒有分支2964 您的檢出沒有分支

2733</h3>2965</h3>

2734 2966 

2735檢查可以有提交但沒有分支:如果您執行 `git init` 後跟 `git fetch <url>` 和 `git checkout FETCH_HEAD`,您會得到一個分離的 HEAD 而沒有參考。Claude Code 將您的儲存庫打包為 git 套件以上傳以進行 [ultrareview](/docs/zh-TW/ultrareview),它無法捆綁沒有分支或其他參考的儲存庫,所以 `/code-review ultra` 和 `claude ultrareview` 子命令在雲端工作階段啟動之前拒絕審查。2967檢出可以有提交但沒有分支:如果您執行 `git init` 後跟 `git fetch <url>` 和 `git checkout FETCH_HEAD`,您會得到一個分離的 HEAD,沒有 refs。Claude Code 將您的儲存庫打包為 git 套件以上傳以進行 [ultrareview](/docs/zh-TW/ultrareview),它無法打包沒有分支或其他 refs 的儲存庫,所以 `/code-review ultra` 和 `claude ultrareview` 子命令在雲端工作階段啟動前拒絕審查。

2736 2968 

2737```text theme={null}2969```text theme={null}

2738Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.2970Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.

2739```2971```

2740 2972 

2741在 v2.1.221 之前,Claude Code 嘗試審查此檢查中的每個追蹤檔案,上傳失敗。2973在 v2.1.221 之前,Claude Code 嘗試審查此檢出中的每個追蹤檔案,上傳失敗。

2742 2974 

2743**該怎麼做:**2975**該怎麼做:**

2744 2976 

2745* 使用 `git checkout -b <name>` 在您目前的提交處建立分支,然後重新執行審查2977* 使用 `git checkout -b <name>` 在您目前的提交建立分支,然後重新執行審查

2746 2978 

2747<h3 id="no-github-account-is-connected-to-your-claude-account">2979<h3 id="no-github-account-is-connected-to-your-claude-account">

2748 沒有 GitHub 帳戶連接到您的 Claude 帳戶2980 沒有 GitHub 帳戶連接到您的 Claude 帳戶

2749</h3>2981</h3>

2750 2982 

2751您執行了 `/code-review ultra <PR#>` 或 `claude ultrareview <PR#>`,在建立雲端工作階段之前,Claude Code 詢問伺服器[連接到您的 Claude 帳戶的 GitHub 帳戶](/docs/zh-TW/ultrareview#review-a-pull-request)是否可以到達 PR 的儲存庫。沒有帳戶連接,或連接已過期,所以雲端複製會失敗,Claude Code 拒絕啟動。Claude Code 不會為被拒絕的啟動花費免費執行或計費使用額度。2983您執行了 `/code-review ultra <PR#>` 或 `claude ultrareview <PR#>`,在建立雲端工作階段前,Claude Code 詢問伺服器[連接到您的 Claude 帳戶的 GitHub 帳戶](/docs/zh-TW/ultrareview#review-a-pull-request)是否可以到達 PR 的儲存庫。沒有帳戶連接,或連接已過期,所以雲端複製會失敗,Claude Code 拒絕啟動。Claude Code 不為被拒絕的啟動花費免費執行或計費使用額度。

2752 2984 

2753```text theme={null}2985```text theme={null}

2754Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).2986Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).


2761* 執行 `/web-setup` 以將您的 GitHub CLI 登入連接到您的 Claude 帳戶,或在 [claude.ai/connect-github](https://claude.ai/connect-github) 連接帳戶2993* 執行 `/web-setup` 以將您的 GitHub CLI 登入連接到您的 Claude 帳戶,或在 [claude.ai/connect-github](https://claude.ai/connect-github) 連接帳戶

2762* 連接後一分鐘重新執行審查2994* 連接後一分鐘重新執行審查

2763 2995 

2764在 v2.1.248 之前,Claude Code 在啟動前不檢查此項。2996在 v2.1.248 之前,Claude Code 不在啟動前檢查此項。

2765 2997 

2766<h3 id="your-connected-github-account-cant-see-the-repository">2998<h3 id="your-connected-github-account-cant-see-the-repository">

2767 您連接的 GitHub 帳戶看不到儲存庫2999 您連接的 GitHub 帳戶看不到儲存庫

2768</h3>3000</h3>

2769 3001 

2770您執行了 `/code-review ultra <PR#>` 或 `claude ultrareview <PR#>`,[連接到您的 Claude 帳戶的 GitHub 帳戶](/docs/zh-TW/ultrareview#review-a-pull-request)無法讀取 PR 的儲存庫,所以雲端複製會失敗,Claude Code 拒絕啟動。Claude Code 不會為被拒絕的啟動花費免費執行或計費使用額度。3002您執行了 `/code-review ultra <PR#>` 或 `claude ultrareview <PR#>`,[連接到您的 Claude 帳戶的 GitHub 帳戶](/docs/zh-TW/ultrareview#review-a-pull-request)無法讀取 PR 的儲存庫,所以雲端複製會失敗,Claude Code 拒絕啟動。Claude Code 不為被拒絕的啟動花費免費執行或計費使用額度。

2771 3003 

2772```text theme={null}3004```text theme={null}

2773Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3005Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.


2780* 如果您的本地 `gh` CLI 可以讀取儲存庫,執行 `/web-setup` 以將該登入連接到您的 Claude 帳戶3012* 如果您的本地 `gh` CLI 可以讀取儲存庫,執行 `/web-setup` 以將該登入連接到您的 Claude 帳戶

2781* 變更後重新執行審查3013* 變更後重新執行審查

2782 3014 

2783在 v2.1.248 之前,Claude Code 在啟動前不檢查此項。3015在 v2.1.248 之前,Claude Code 不在啟動前檢查此項。

2784 3016 

2785<h3 id="the-github-app-preflight-failed-transiently">3017<h3 id="the-github-app-preflight-failed-transiently">

2786 GitHub App 預檢暫時失敗3018 GitHub 應用程式預檢暫時失敗

2787</h3>3019</h3>

2788 3020 

2789您從本地儲存庫啟動了[雲端工作階段](/docs/zh-TW/claude-code-on-the-web),兩個步驟一起失敗。Claude Code 無法建立或上傳您的儲存庫套件。在上傳之前,它檢查了雲端服務是否可以從 GitHub 複製儲存庫,而不是明確的答案,該檢查以重試可以清除的錯誤結束,例如網路錯誤、逾時或暫時伺服器錯誤。完整訊息以停止套件的內容開頭,例如 `Could not upload repo bundle (<error>)`,並以預檢句子結尾:3021您從本地儲存庫啟動了[雲端工作階段](/docs/zh-TW/claude-code-on-the-web),兩個步驟一起失敗。Claude Code 無法建立或上傳您的儲存庫套件。在上傳前,它檢查雲端服務是否可以從 GitHub 複製儲存庫,而不是明確的答案,該檢查以重試可以清除的錯誤結束,例如網路錯誤、逾時或暫時伺服器錯誤。完整訊息以停止套件的內容開頭,例如 `Could not upload repo bundle (<error>)`,並以預檢句子結尾:

2790 3022 

2791```text theme={null}3023```text theme={null}

2792Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3024Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


2797* 片刻後重新執行命令。當 GitHub 檢查通過時,Claude Code 可以從 GitHub 複製啟動工作階段,所以失敗的上傳不再阻止啟動3029* 片刻後重新執行命令。當 GitHub 檢查通過時,Claude Code 可以從 GitHub 複製啟動工作階段,所以失敗的上傳不再阻止啟動

2798* 如果重試持續失敗,訊息的開頭命名停止上傳的內容。當該原因是您可以修復的內容時,修復它以便工作階段可以改為從您的本地儲存庫啟動3030* 如果重試持續失敗,訊息的開頭命名停止上傳的內容。當該原因是您可以修復的內容時,修復它以便工作階段可以改為從您的本地儲存庫啟動

2799 3031 

2800在 v2.1.251 之前,Claude Code 以 `Please set up GitHub on https://claude.ai/code` 結束訊息,即使 GitHub 檢查只是暫時失敗,設定建議無法清除暫時失敗。3032在 v2.1.251 之前,Claude Code 以 `Please set up GitHub on https://claude.ai/code` 結尾訊息,即使 GitHub 檢查只暫時失敗,設定建議無法清除暫時失敗。

3033 

3034<h3 id="github-isnt-connected-to-your-claude-account">

3035 GitHub 未連接到您的 Claude 帳戶

3036</h3>

3037 

3038您從本地儲存庫啟動了[雲端工作階段](/docs/zh-TW/claude-code-on-the-web),例如使用 `/autofix-pr`。沒有 GitHub 帳戶連接到您的 Claude 帳戶,或連接已過期,所以 Claude Code 拒絕啟動:

3039 

3040```text theme={null}

3041GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3042```

3043 

3044當您使用 [`/schedule`](/docs/zh-TW/routines) 建立例程時,相同的訊息作為命名儲存庫的設定注意出現;注意不阻止建立例程。

3045 

3046**該怎麼做:**

3047 

3048* 執行 `/web-setup` 以使用您的 GitHub CLI 登入連接到您的 Claude 帳戶,或在 [claude.ai/connect-github](https://claude.ai/connect-github) 連接帳戶。請參閱 [GitHub 身份驗證選項](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)以了解兩者的差異。

3049* 連接後一分鐘重新執行命令

3050 

3051在 v2.1.268 之前,Claude Code 報告此為 Claude GitHub 應用程式檢查的暫時失敗,並建議重試或安裝應用程式;兩者都不連接 GitHub 帳戶。

3052 

3053<h3 id="single-sign-on-authorization-needed">

3054 需要單一登入授權

3055</h3>

3056 

3057您執行了 [`/install-github-app`](/docs/zh-TW/github-actions#quick-setup),並選擇了其組織強制執行 SAML 單一登入的儲存庫。在設定前,Claude Code 使用 GitHub CLI 檢查您對儲存庫的存取,GitHub 拒絕該檢查,因為您的 `gh` 令牌尚未針對組織授權。精靈顯示帶有授權步驟的警告:

3058 

3059```text theme={null}

3060Single sign-on authorization needed

3061<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.

3062```

3063 

3064**該怎麼做:**

3065 

3066* 透過執行 `gh auth refresh -h github.com -s repo,workflow` 使用 `repo` 和 `workflow` 範圍重新授權您的 GitHub CLI 登入,並在 GitHub 提示單一登入時授權組織

3067* 如果您使用 `GH_TOKEN` 中的個人存取令牌進行身份驗證,開啟 [github.com/settings/tokens](https://github.com/settings/tokens),在令牌上選擇**設定 SSO**,並授權組織

3068* 再次執行 `/install-github-app`

3069 

3070在 v2.1.273 之前,Claude Code 為此條件顯示 `Admin permissions required` 警告。

2801 3071 

2802<h3 id="failed-to-resume-the-conversation">3072<h3 id="failed-to-resume-the-conversation">

2803 無法恢復對話3073 無法恢復對話


2814 3084 

2815**該怎麼做:**3085**該怎麼做:**

2816 3086 

2817* 執行 `claude --resume <session-id>` 搭配訊息中的工作階段 ID 以重試3087* 執行 `claude --resume <session-id>`,使用訊息中的工作階段 ID 重試

2818* 如果重試再次失敗,執行 `claude` 以啟動新工作階段3088* 如果重試再次失敗,執行 `claude` 啟動新工作階段

2819 3089 

2820<h3 id="no-conversation-found-with-the-session-id">3090<h3 id="no-conversation-found-with-the-session-id">

2821 找不到具有工作階段 ID 的對話3091 找不到具有工作階段 ID 的對話

2822</h3>3092</h3>

2823 3093 

2824您傳遞了工作階段 ID 給 `claude --resume <session-id>`,沒有儲存的文字記錄符合它:3094您傳遞了工作階段 ID 給 `claude --resume <session-id>`,沒有已儲存的文字記錄符合它:

2825 3095 

2826```text theme={null}3096```text theme={null}

2827No conversation found with session ID: <session-id>3097No conversation found with session ID: <session-id>

2828```3098```

2829 3099 

2830Claude Code 在顯示訊息後以代碼 1 結束。Claude Code [首先搜尋目前專案,然後搜尋此機器上的每個其他專案](/docs/zh-TW/sessions#resume-a-session)以尋找 ID。在 v2.1.223 之前,查詢在目前專案目錄及其 git worktrees 處停止,所以從工作階段最後工作的目錄恢復。3100Claude Code 在顯示訊息後以代碼 1 結束。Claude Code [首先搜尋目前專案,然後搜尋此機器上的每個其他專案](/docs/zh-TW/sessions#resume-a-session)以尋找 ID。在 v2.1.223 之前,查詢在目前專案目錄及其 git worktrees 停止,所以從工作階段最後工作的目錄恢復。

2831 3101 

2832常見原因:3102常見原因:

2833 3103 

2834* **打字錯誤的 ID**:對於非互動執行,ID 是 [`--output-format json` 輸出](/docs/zh-TW/headless#get-structured-output)的 `session_id` 欄位3104* **打字錯誤的 ID**:對於非互動執行,ID 是 [`--output-format json` 輸出](/docs/zh-TW/headless#get-structured-output)的 `session_id` 欄位

2835* **已刪除的文字記錄**:Claude Code 在[保留期](/docs/zh-TW/sessions#where-transcripts-are-stored)後移除文字記錄,預設為 30 天,遵循[保留掃描規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)3105* **已刪除的文字記錄**:Claude Code 在[保留期](/docs/zh-TW/sessions#where-transcripts-are-stored)後移除文字記錄,預設 30 天,遵循[保留掃描規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)

2836* **不同的機器**:Claude Code 在本地儲存文字記錄,所以在執行工作階段的機器上恢復工作階段3106* **不同的機器**:Claude Code 在本地儲存文字記錄,所以在執行工作階段的機器上恢復工作階段

2837* **重複副本**:如果您在 `~/.claude/projects` 下複製了專案目錄,所以兩個文字記錄帶有相同的 ID,Claude Code 報告此訊息而不是任意恢復一個副本3107* **重複副本**:如果您在 `~/.claude/projects` 下複製了專案目錄,使兩個文字記錄帶有相同 ID,Claude Code 報告此訊息而不是任意恢復一個副本

2838 3108 

2839**該怎麼做:**3109**該怎麼做:**

2840 3110 

2841* 對於互動工作階段,使用 `claude --resume` 開啟[工作階段選擇器](/docs/zh-TW/sessions#use-the-session-picker),按 `Ctrl+A` 將其擴大到此機器上的每個專案,然後選擇工作階段3111* 對於互動工作階段,使用 `claude --resume` 開啟[工作階段選擇器](/docs/zh-TW/sessions#use-the-session-picker),按 `Ctrl+A` 將其擴寬到此機器上的每個專案,然後選擇工作階段

2842* 使用 `claude -p` 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 建立的工作階段不會出現在選擇器中,所以重新檢查 ID 與您的原始執行列印的 `session_id`3112* 使用 `claude -p` 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 建立的工作階段不會出現在選擇器中,所以重新檢查 ID 與您的原始執行列印的 `session_id`

2843 3113 

2844<h3 id="cannot-switch-renderers-in-this-session">3114<h3 id="cannot-switch-renderers-in-this-session">

2845 無法在此工作階段中切換轉譯器3115 無法在此工作階段中切換轉譯器

2846</h3>3116</h3>

2847 3117 

2848當您切換轉譯器時,Claude Code 重新啟動其程序。您在 Claude Code 拒絕重新啟動的工作階段中執行了 [`/tui`](/docs/zh-TW/fullscreen#enable-fullscreen-rendering),所以它不會切換並保存任何內容。您看到的訊息告訴您原因:3118當您切換轉譯器時,Claude Code 重新啟動其程序。您在 Claude Code 拒絕重新啟動的工作階段中執行了 [`/tui`](/docs/zh-TW/fullscreen#enable-fullscreen-rendering),所以它不切換並保存任何內容。您看到的訊息告訴您原因:

2849 3119 

2850* `Cannot switch renderers while work is running in the background`:您有在背景執行的工作,重新啟動會放棄,例如背景 shell 或子代理。等待工作完成或使用 [`/tasks`](/docs/zh-TW/commands) 停止它,然後再次執行 `/tui fullscreen` 或 `/tui default`3120* `Cannot switch renderers while work is running in the background`:您有在背景執行的工作,重新啟動會放棄,例如背景 shell 或子代理。等待工作完成或使用 [`/tasks`](/docs/zh-TW/commands) 停止它,然後再次執行 `/tui fullscreen` 或 `/tui default`

2851* `Cannot switch renderers in this session`:工作階段有 Claude Code 無法傳遞給重新啟動程序的限制。在 v2.1.234 之前,Claude Code 無論如何都會重新啟動,重新啟動的工作階段執行時沒有它們3121* `Cannot switch renderers in this session`:工作階段有 Claude Code 無法傳遞給重新啟動程序的限制。在 v2.1.234 之前,Claude Code 無論如何重新啟動,重新啟動的工作階段執行時沒有它們

2852 3122 

2853在限制訊息中,括號中的部分命名 Claude Code 發現的限制:3123在限制訊息中,括號中的部分命名 Claude Code 發現的限制:

2854 3124 


2859訊息可以在括號中顯示的每個原因:3129訊息可以在括號中顯示的每個原因:

2860 3130 

2861* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`:您使用 Claude Code 不傳遞回重新啟動程序的旗標啟動了工作階段。這些旗標包括 [`--system-prompt`](/docs/zh-TW/cli-reference#cli-flags)、`--system-prompt-file`、`--append-system-prompt-file`、[`--tools`](/docs/zh-TW/cli-reference#cli-flags) 允許清單、[`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 和 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags)3131* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`:您使用 Claude Code 不傳遞回重新啟動程序的旗標啟動了工作階段。這些旗標包括 [`--system-prompt`](/docs/zh-TW/cli-reference#cli-flags)、`--system-prompt-file`、`--append-system-prompt-file`、[`--tools`](/docs/zh-TW/cli-reference#cli-flags) 允許清單、[`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 和 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags)

2862* `permission rules set for this session only`:來自鉤子或 SDK 呼叫者的[權限更新](/docs/zh-TW/hooks#permission-update-entries)新增了具有 `session` 目的地的拒絕或詢問規則。工作階段範圍的允許規則不會觸發拒絕。重新啟動會放棄它們,Claude Code 改為再次提示3132* `permission rules set for this session only`:來自 hook 或 SDK 呼叫者的[權限更新](/docs/zh-TW/hooks#permission-update-entries)新增了帶有 `session` 目的地的拒絕或詢問規則。工作階段範圍的允許規則不觸發拒絕。重新啟動會移除它們,Claude Code 改為再次提示

2863* `ask-before-running rules with no command-line form`:來自鉤子或 SDK 呼叫者的權限更新新增了詢問規則以及 Claude Code 作為 `--allowed-tools` 和 `--disallowed-tools` 傳遞回的規則。沒有旗標存在用於詢問規則3133* `ask-before-running rules with no command-line form`:來自 hook 或 SDK 呼叫者的權限更新新增了詢問規則以及 Claude Code 傳遞回 `--allowed-tools` 和 `--disallowed-tools` 的規則。詢問規則不存在旗標

2864* `permission rules a command line cannot carry intact` 和 `added directories a command line cannot carry intact`:權限更新在工作階段中期新增了規則或目錄路徑。重新啟動程序的命令列無法將其文字作為相同值帶回3134* `permission rules a command line cannot carry intact` 和 `added directories a command line cannot carry intact`:權限更新在工作階段中期新增了規則或目錄路徑。重新啟動程序的命令列無法將其文字作為相同值帶回

2865 3135 

2866**該怎麼做:**3136**該怎麼做:**

2867 3137 

2868* 在沒有這些限制的工作階段中,執行 `/tui fullscreen` 或 `/tui default` 以切換回。Claude Code 在那裡儲存 [`tui` 設定](/docs/zh-TW/settings-reference#tui)3138* 在沒有這些限制的工作階段中,執行 `/tui fullscreen` 或 `/tui default` 切換回。Claude Code 在那裡儲存 [`tui` 設定](/docs/zh-TW/settings-reference#tui)

2869 3139 

2870<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3140<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

2871 /terminal-setup 讓您的 Zed 快捷鍵保持不變3141 /terminal-setup 讓您的 Zed 快捷鍵保持不變


2884訊息的第一行命名原因:3154訊息的第一行命名原因:

2885 3155 

2886* `Couldn't read your Zed keymap, so it was left unchanged.`:Claude Code 無法讀取檔案,例如因為檔案權限3156* `Couldn't read your Zed keymap, so it was left unchanged.`:Claude Code 無法讀取檔案,例如因為檔案權限

2887* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`:檔案讀取良好,但不解析為快捷鍵區塊陣列,即使允許 `//` 註釋和尾隨逗號3157* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`:檔案讀取良好,但不解析為快捷鍵區塊的陣列,即使允許 `//` 註釋和尾隨逗號

2888* `Couldn't back up your Zed keymap; not modifying it.`:Claude Code 無法將檔案複製到其旁邊的 `.bak` 備份,所以它沒有變更任何內容3158* `Couldn't back up your Zed keymap; not modifying it.`:Claude Code 無法將檔案複製到其旁邊的 `.bak` 備份,所以它沒有變更任何內容

2889* `Couldn't update your Zed keymap, so it was left unchanged.`:合併的結果未驗證為有效的快捷鍵,帶有綁定,所以 Claude Code 改為丟棄它而不是寫入。具有重複鍵的快捷鍵區塊可能導致此情況3159* `Couldn't update your Zed keymap, so it was left unchanged.`:合併的結果未驗證為帶有快捷鍵的有效快捷鍵,所以 Claude Code 丟棄它而不是寫入。具有重複鍵的快捷鍵區塊可能導致此

2890 3160 

2891**該怎麼做:**3161**該怎麼做:**

2892 3162 

2893* 將訊息中的區塊複製到您 `keymap.json` 中訊息命名的路徑處的頂級陣列中3163* 將訊息中的區塊複製到訊息命名的路徑中 `keymap.json` 中的頂級陣列

2894* 對於 `isn't a readable list of keybindings`,修復語法錯誤,或使檔案的頂級值成為陣列,然後再次執行 `/terminal-setup`3164* 對於 `isn't a readable list of keybindings`,修復語法錯誤,或使檔案的頂級值成為陣列,然後再次執行 `/terminal-setup`

2895 3165 

2896在 v2.1.247 之前,`/terminal-setup` 無法解析使用 `//` 註釋或尾隨逗號的 Zed 快捷鍵,它用僅自己的綁定替換整個檔案,同時報告綁定已安裝。若要恢復較早版本替換的快捷鍵,請使用[輸入多行提示](/docs/zh-TW/terminal-config#enter-multiline-prompts)下描述的 `.bak` 備份檔案。3166在 v2.1.247 之前,`/terminal-setup` 無法解析使用 `//` 註釋或尾隨逗號的 Zed 快捷鍵,它用只有自己的快捷鍵替換整個檔案,同時報告快捷鍵已安裝。若要恢復較早版本替換的快捷鍵,請使用[輸入多行提示](/docs/zh-TW/terminal-config#enter-multiline-prompts)下描述的 `.bak` 備份檔案。

2897 3167 

2898<h3 id="skill-usage-reports-are-not-available-on-this-connection">3168<h3 id="skill-usage-reports-are-not-available-on-this-connection">

2899 此連接上不提供技能使用報告3169 此連線上無法使用 Skill 使用情況報告

2900</h3>3170</h3>

2901 3171 

2902您在[遠端控制](/docs/zh-TW/remote-control)上、從您的手機或瀏覽器執行了 [`/skill-doctor`](/docs/zh-TW/skills#find-unused-skills)。Claude Code 不會透過遠端控制傳送技能使用報告,並改為以此訊息回覆:3172您在[遠端控制](/docs/zh-TW/remote-control)上執行了 [`/skill-doctor`](/docs/zh-TW/skills#find-unused-skills),從您的手機或瀏覽器。Claude Code 不透過遠端控制傳送 skill 使用情況報告,改為以此訊息回答:

2903 3173 

2904```text theme={null}3174```text theme={null}

2905Skill usage reports are not available on this connection.3175Skill usage reports are not available on this connection.


2907 3177 

2908**該怎麼做:**3178**該怎麼做:**

2909 3179 

2910* 在工作階段執行所在的機器上的終端中執行 `/skill-doctor`,或在那裡執行 `claude -p "/skill-doctor"`3180* 在工作階段執行的機器上的終端中執行 `/skill-doctor`,或在那裡執行 `claude -p "/skill-doctor"`

3181 

3182<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3183 無法在遠端控制上選擇自訂輸出樣式

3184</h3>

3185 

3186您從行動應用程式或網路透過[遠端控制](/docs/zh-TW/remote-control)執行了 [`/output-style`](/docs/zh-TW/output-styles#change-your-output-style),或命令在轉送到工作階段的訊息中到達。因為此類輪次可能不來自帳戶擁有者,Claude Code 只列出並選擇[內建樣式](/docs/zh-TW/output-styles#built-in-output-styles),並在命令列出樣式或不識別您給定的名稱時新增此注意。[自訂樣式](/docs/zh-TW/output-styles#create-a-custom-output-style)名稱獲得與不存在的名稱相同的回答:

3187 

3188```text theme={null}

3189Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.

3190```

3191 

3192**該怎麼做:**

3193 

3194* 選擇內建樣式,例如 `/output-style concise`

3195* 若要使用自訂樣式,在專案的 `.claude/settings.local.json` 中設定 [`outputStyle`](/docs/zh-TW/settings-reference#outputstyle),或在工作階段自己的終端中執行 `/output-style <style>`(如果有的話)

3196 

3197<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3198 輸出樣式已儲存到此工作階段不載入的本地設定

3199</h3>

3200 

3201您嘗試使用 `/output-style <style>` 或 `/config outputStyle=<style>` 在其設定來源排除 `local` 的工作階段中切換[輸出樣式](/docs/zh-TW/output-styles)。範例是[Agent SDK](/docs/zh-TW/agent-sdk/typescript) 工作階段,其 [`settingSources`](/docs/zh-TW/agent-sdk/typescript#options) 遺漏 `"local"` 和使用 [`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags) 值遺漏 `local` 啟動的 CLI 工作階段。兩個命令都將樣式儲存到 `.claude/settings.local.json`,此類工作階段永遠不會讀回,所以 Claude Code 拒絕而不是寫入沒有效果的設定:

3202 

3203```text theme={null}

3204Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.

3205```

3206 

3207**該怎麼做:**

3208 

3209* 將 `local` 新增到工作階段的設定來源並再次切換

3210* 在工作階段確實載入的設定檔中設定 [`outputStyle`](/docs/zh-TW/settings-reference#outputstyle) 鍵,例如專案中的 `.claude/settings.json` 或 `~/.claude/settings.json`。在 TypeScript SDK 中,改為在內聯 `settings` 物件內設定 `outputStyle`;請參閱[啟動輸出樣式](/docs/zh-TW/agent-sdk/modifying-system-prompts#activate-an-output-style)

2911 3211 

2912<h2 id="plugin-errors">3212<h2 id="plugin-errors">

2913 Plugin 錯誤3213 Plugin 錯誤


3045 3345 

3046Claude Code 詢問作業系統 plugin 路徑是否存在,並收到除「找不到」以外的錯誤,因此它不會載入路徑命名的內容。plugin 的多少部分載入取決於哪個路徑失敗:3346Claude Code 詢問作業系統 plugin 路徑是否存在,並收到除「找不到」以外的錯誤,因此它不會載入路徑命名的內容。plugin 的多少部分載入取決於哪個路徑失敗:

3047 3347 

3048* Plugin 的其中一個 [預設元件資料夾](/docs/zh-TW/plugins-reference#file-locations-reference)(例如 `skills/` 或 `commands/`):plugin 的其他元件仍會載入3348* Plugin 的其中一個 [預設元件位置](/docs/zh-TW/plugins-reference#file-locations-reference)(例如 `skills/` 資料夾、`monitors/monitors.json` 檔案或 plugin 根目錄的 [`SKILL.md`](/docs/zh-TW/plugins-reference#skills)):plugin 的其他元件仍會載入

3049* Plugin 自己的目錄:該 plugin 中沒有任何內容載入3349* Plugin 自己的目錄:該 plugin 中沒有任何內容載入

3050 3350 

3051對於根本不存在的路徑,您看不到此錯誤。在 `/plugin` 中,錯誤出現在 plugin 下方,並命名路徑和作業系統傳回的程式碼:3351對於根本不存在的路徑,您看不到此錯誤。在 `/plugin` 中,錯誤出現在 plugin 下方,並命名路徑和作業系統傳回的程式碼:


3132 Agent would be spawned with zero tools3432 Agent would be spawned with zero tools

3133</h3>3433</h3>

3134 3434 

3135子代理的 [`tools` 清單](/docs/zh-TW/sub-agents#supported-frontmatter-fields)中的每個項目都無法符合可用的工具,因此 Claude Code 拒絕啟動子代理:沒有工具,它就無法行動。該訊息會按出錯原因將您的項目分組:3435子代理的 [`tools` 清單](/docs/zh-TW/sub-agents#supported-frontmatter-fields)中的每個項目都無法符合可用的工具,因此 Claude Code 拒絕啟動子代理:沒有工具,它就無法行動。該訊息會按照出錯的原因將您的項目分組:

3136 3436 

3137* **Unrecognized**:該項目不符合任何工具名稱,通常是打字錯誤,例如 `Grpe` 而非 `Grep`。3437* **Unrecognized**:該項目不符合任何工具名稱,通常是打字錯誤,例如 `Grpe` 而非 `Grep`。

3138* **Not available to subagents**:該項目命名了一個真實工具,但[子代理無法使用](/docs/zh-TW/sub-agents#available-tools)。背景子代理保持較小的內建工具集,因此當子代理在背景中執行時(這是預設行為),只有前景子代理才能使用的項目會出現在此處。如果您列出 `Agent`,該訊息會改為在下一個群組下報告它。3438* **Not available to subagents**:該項目命名了一個[子代理無法使用](/docs/zh-TW/sub-agents#available-tools)的真實工具。背景子代理保持較小的內建工具集,因此當子代理在背景中執行時(這是預設行為),只有前景子代理才能使用的項目會出現在此處。如果您列出 `Agent`,該訊息會改為在下一個群組下報告它。

3139* **Matched no tools in this session**:該項目有效,但目前工作階段中沒有工具符合它,例如沒有連接 GitHub MCP 伺服器的 `mcp__github__*`,或位於[深度限制](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)的子代理的 `Agent`。3439* **Matched no tools in this session**:該項目有效,但目前工作階段中沒有工具符合它,例如沒有連接 GitHub MCP 伺服器的 `mcp__github__*`,或在[深度限制](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)處的子代理的 `Agent`。

3140 3440 

3141省略 `tools` 欄位永遠不會觸發此拒絕。如果您將 `tools` 清單留空,或 `disallowedTools` 移除其中的每個項目,Claude Code 也會跳過拒絕並啟動沒有工具的子代理。3441省略 `tools` 欄位永遠不會觸發此拒絕。如果您將 `tools` 清單留空,或 `disallowedTools` 移除其中的每個項目,Claude Code 也會跳過拒絕並啟動沒有工具的子代理。

3142 3442 


3150 3450 

3151* 根據[子代理可用的工具](/docs/zh-TW/sub-agents#available-tools)修正錯誤命名的每個項目3451* 根據[子代理可用的工具](/docs/zh-TW/sub-agents#available-tools)修正錯誤命名的每個項目

3152* 移除工作階段沒有的工具項目,例如來自未連接伺服器的 MCP 工具3452* 移除工作階段沒有的工具項目,例如來自未連接伺服器的 MCP 工具

3153* 對於[背景子代理會捨棄](/docs/zh-TW/sub-agents#available-tools)的工具(例如 `LSP`),移除該項目。若要保留工具,請[關閉 fork 模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off)並要求 Claude 在前景中執行子代理3453* 對於[背景子代理會捨棄](/docs/zh-TW/sub-agents#available-tools)的工具(例如 `LSP`),移除該項目。若要保留該工具,請[關閉 fork 模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off)並要求 Claude 在前景中執行子代理

3154* 刪除 `tools` 欄位而不是列出工具,以給予子代理[子代理可用的每個工具](/docs/zh-TW/sub-agents#available-tools)3454* 刪除 `tools` 欄位而不是列出工具,以給予子代理[子代理可用的每個工具](/docs/zh-TW/sub-agents#available-tools)

3155* 對於只包含 `Agent` 的 `tools` 清單,提高[深度限制](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)或給予代理至少一個其他工具:Claude Code 在該限制處保留 `Agent`,因此只有其他內容的清單會解析為沒有工具3455* 對於只包含 `Agent` 的 `tools` 清單,提高[深度限制](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)或給予代理至少一個其他工具:Claude Code 在該限制處會拒絕提供 `Agent`,因此只有其他工具的清單會解析為沒有工具

3156 3456 

3157<h3 id="file-is-covered-by-a-read-deny-rule">3457<h3 id="file-is-covered-by-a-read-deny-rule">

3158 File is covered by a Read deny rule3458 File is covered by a Read deny rule

3159</h3>3459</h3>

3160 3460 

3161Edit 或 Write 工具在由 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)符合的路徑上被呼叫,包括在該路徑建立新檔案。兩個工具都會變更 Claude 必須能夠讀回的內容,因此 Claude Code 在任何檔案存取之前拒絕呼叫。NotebookEdit 不受 `Read` 拒絕規則涵蓋。在 v2.1.228 之前,該規則僅阻止 Edit 工具,在 v2.1.208 之前,只有 `Edit` 拒絕規則阻止編輯。3461Edit 或 Write 工具在由 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)符合的路徑上被呼叫,包括在該路徑建立新檔案。兩個工具都會變更 Claude 必須能夠讀回的內容,因此 Claude Code 在任何檔案存取之前拒絕該呼叫。NotebookEdit 不受 `Read` 拒絕規則涵蓋。在 v2.1.228 之前,該規則僅阻止 Edit 工具,在 v2.1.208 之前,只有 `Edit` 拒絕規則會阻止編輯。

3162 3462 

3163```text theme={null}3463```text theme={null}

3164File is covered by a Read deny rule in your permission settings and cannot be edited.3464File is covered by a Read deny rule in your permission settings and cannot be edited.


3169**應該怎麼做:**3469**應該怎麼做:**

3170 3470 

3171* 如果 Claude 應該能夠變更檔案,請在 `/permissions` 或[設定](/docs/zh-TW/settings-reference#permission-settings)中移除或縮小 `Read` 拒絕規則3471* 如果 Claude 應該能夠變更檔案,請在 `/permissions` 或[設定](/docs/zh-TW/settings-reference#permission-settings)中移除或縮小 `Read` 拒絕規則

3172* 如果檔案必須保持未觸及,請保留規則並為相同路徑新增 `Edit` 拒絕規則以同時阻止 NotebookEdit 工具3472* 如果檔案必須保持未觸及,請保留該規則並為相同路徑新增 `Edit` 拒絕規則以同時阻止 NotebookEdit 工具

3173 3473 

3174<h3 id="subagent-type-is-required">3474<h3 id="subagent-type-is-required">

3175 subagent\_type is required3475 subagent\_type is required


3195 Memory index is over its read limit3495 Memory index is over its read limit

3196</h3>3496</h3>

3197 3497 

3198Claude 寫入了[自動記憶](/docs/zh-TW/memory#auto-memory)索引 `MEMORY.md` 並將其留在其中一個讀取限制之上:200 行或 25KB。寫入成功,但只有前 200 行或 25KB(以先到者為準)在工作階段開始時載入,因此超過限制的所有內容在每次讀取索引時都會被捨棄。在 v2.1.210 之前,超過限制的索引在下次載入時會被無聲地截斷,沒有寫入時間訊號。3498Claude 寫入[自動記憶](/docs/zh-TW/memory#auto-memory)索引 `MEMORY.md` 並將其留在其中一個讀取限制之上:200 行或 25KB。寫入成功,但只有前 200 行或 25KB(以先到者為準)在工作階段開始時載入,因此超過限制的所有內容在每次讀取索引時都會被捨棄。在 v2.1.210 之前,超過限制的索引在下次載入時會被無聲地截斷,沒有寫入時間訊號。

3199 3499 

3200```text theme={null}3500```text theme={null}

3201Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.3501Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.

3202```3502```

3203 3503 

3204只有載入的內容才計入限制。YAML frontmatter 和區塊級 HTML 註解在索引載入前會被移除,因此它們被排除在測量之外。在 v2.1.211 之前,Claude Code 測量原始檔案,frontmatter 或註解即使在載入的內容符合時也可能觸發此錯誤。3504只有載入的內容才計入限制。YAML frontmatter 和區塊級 HTML 註解在索引載入前會被移除,因此它們被排除在測量之外。在 v2.1.211 之前,Claude Code 測量原始檔案,frontmatter 或註解可能會觸發此錯誤,即使載入的內容符合。

3205 3505 

3206Claude Code 在寫入後將錯誤傳遞給 Claude,而不是在您的終端中列印為橫幅,因此您可能只在文字記錄中注意到它。3506Claude Code 在寫入後將錯誤傳遞給 Claude,而不是在您的終端中列印為橫幅,因此您可能只在文字記錄中注意到它。

3207 3507 


3216 pkill pattern matches the Claude Code process3516 pkill pattern matches the Claude Code process

3217</h3>3517</h3>

3218 3518 

3219Bash 工具呼叫中的 `pkill` 命令使用了一個模式(通常使用 `-f`),該模式符合 Claude Code 程序本身,因此 Claude Code 拒絕該命令而不是讓它結束工作階段。Claude Code 在執行 `pkill` 之前使用 `pgrep` 測試模式,並在其自己的程序 ID 在結果中時拒絕。檢查僅在 Linux 上執行;在 macOS 上,`pkill` 不經修改地執行。在 v2.1.214 之前,命令執行,符合的模式在轉換中途殺死了 Claude Code 工作階段。3519Bash 工具呼叫中的 `pkill` 命令使用了一個模式(通常使用 `-f`),該模式符合 Claude Code 程序本身,因此 Claude Code 拒絕該命令而不是讓它結束工作階段。Claude Code 在執行 `pkill` 之前使用 `pgrep` 測試該模式,並在其自己的程序 ID 在結果中時拒絕。該檢查僅在 Linux 上執行;在 macOS 上,`pkill` 不經修改地執行。在 v2.1.214 之前,該命令執行,符合的模式會在轉換中途殺死 Claude Code 工作階段。

3220 3520 

3221```text theme={null}3521```text theme={null}

3222pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.3522pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.


3233 Failed to write to a teammate's inbox3533 Failed to write to a teammate's inbox

3234</h3>3534</h3>

3235 3535 

3236Claude Code 無法將訊息寫入 `~/.claude/teams/{team-name}/inboxes/` 下的隊友信箱檔案,因此收件人沒有收到任何內容。當 Claude Code 無法建立或更新檔案時寫入失敗,例如因為磁碟已滿、目錄不可寫,或另一個代理長時間持有收件箱鎖。在 v2.1.224 之前,Claude Code 即使寫入失敗也報告訊息已傳送。3536Claude Code 無法將訊息寫入 `~/.claude/teams/{team-name}/inboxes/` 下的隊友信箱檔案,因此收件人沒有收到任何內容。當 Claude Code 無法建立或更新檔案時寫入失敗,例如因為磁碟已滿、目錄不可寫,或另一個代理長時間持有收件箱鎖定。在 v2.1.224 之前,Claude Code 即使寫入失敗也會報告訊息已傳送。

3237 3537 

3238錯誤出現在傳送代理的工具結果中,而不是作為您終端中的橫幅,其文字告訴 Claude 重試:3538該錯誤出現在傳送代理的工具結果中,而不是作為您終端中的橫幅,其文字告訴 Claude 重試:

3239 3539 

3240```text theme={null}3540```text theme={null}

3241Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.3541Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.


3243 3543 

3244結構化[代理團隊](/docs/zh-TW/agent-teams)協議訊息以相同方式失敗,錯誤命名未傳遞的訊息:當 Claude Code 無法寫入計畫核准、計畫拒絕、關閉要求或關閉拒絕時,錯誤讀作 `Failed to write the <message> to <name>'s inbox — nothing was sent`。該清單中的 `plan approval` 是領導者核准隊友計畫的決定;隊友的計畫提交是單獨的 `plan approval request` 訊息。該訊息和另外兩個協議訊息帶有自己的訊息文字和後果:3544結構化[代理團隊](/docs/zh-TW/agent-teams)協議訊息以相同方式失敗,錯誤命名未傳遞的訊息:當 Claude Code 無法寫入計畫核准、計畫拒絕、關閉要求或關閉拒絕時,錯誤讀作 `Failed to write the <message> to <name>'s inbox — nothing was sent`。該清單中的 `plan approval` 是領導者核准隊友計畫的決定;隊友的計畫提交是單獨的 `plan approval request` 訊息。該訊息和另外兩個協議訊息帶有自己的訊息文字和後果:

3245 3545 

3246* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`:隊友的計畫從未到達領導者,隊友保持在計畫模式中,直到重新提交成功3546* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`:隊友的計畫從未到達領導者,隊友保持在計畫模式,直到重新提交成功

3247* `The permission request could not be delivered to the team lead (mailbox write failed)`:隊友的權限要求從未到達領導者,因此沒有人核准工具呼叫3547* `The permission request could not be delivered to the team lead (mailbox write failed)`:隊友的權限要求從未到達領導者,因此沒有人核准工具呼叫

3248* `The confirmation could not be written to team-lead's inbox.`:關閉核准本身生效,隊友退出;只有對領導者的確認遺失3548* `The confirmation could not be written to team-lead's inbox.`:關閉核准本身生效,隊友退出;只有對領導者的確認遺失

3249 3549 

3250當您自己訊息隊友時,在領導者工作階段中輸入 `@name` 後跟訊息,相同的失敗顯示為通知 `Couldn't write to @name's inbox — message not sent. Try again.`,Claude Code 將您的文字保留在提示框中,以便您可以再次傳送。3550當您自己訊息隊友時,在領導者工作階段中輸入 `@name` 後跟訊息,相同的失敗會顯示為通知 `Couldn't write to @name's inbox — message not sent. Try again.`,Claude Code 會將您的文字保留在提示框中,以便您可以再次傳送。

3251 3551 

3252**應該怎麼做:**3552**應該怎麼做:**

3253 3553 

3254* 要求傳送者重新傳送訊息;收件箱鎖的爭用是暫時的,在重試時清除3554* 要求傳送者重新傳送訊息;收件箱鎖定的爭用是暫時的,在重試時會清除

3255* 檢查可用磁碟空間,並檢查 `~/.claude/teams` 及其下的檔案是否可由您的使用者寫入3555* 檢查可用磁碟空間,並檢查 `~/.claude/teams` 及其下的檔案是否可由您的使用者寫入

3256 3556 

3557<h3 id="teammate-agent-definition-not-restored">

3558 Teammate's agent definition was not restored

3559</h3>

3560 

3561Claude 訊息了一個已停止的[代理團隊](/docs/zh-TW/agent-teams)隊友,Claude Code 將其恢復而沒有重新應用它生成的[子代理定義](/docs/zh-TW/agent-teams#use-subagent-definitions-for-teammates),因為其定義檔案來自沒有已儲存信任的資料夾。該通知在傳送代理的工具結果中的恢復報告之後:

3562 

3563```text wrap theme={null}

3564Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.

3565```

3566 

3567該檢查適用於專案的 `.claude/agents/` 目錄或 `--add-dir` 目錄中的定義,接受父資料夾的信任對話不滿足它。

3568 

3569**應該怎麼做:**

3570 

3571* 在[偵錯日誌](/docs/zh-TW/debug-your-config)命名的資料夾中執行 `claude` 並接受信任對話。下次 Claude Code 恢復隊友時會重新應用定義;您不需要重新啟動領導者工作階段

3572* 或在 `~/.claude.json` 中將 `hasTrustDialogAccepted` 項目設定為 `true`,使用偵錯日誌列印的確切 `projects["<path>"]` 鍵

3573 

3257<h3 id="message-too-large-for-cross-session-delivery">3574<h3 id="message-too-large-for-cross-session-delivery">

3258 Message too large for cross-session delivery3575 Message too large for cross-session delivery

3259</h3>3576</h3>


3264Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.3581Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.

3265```3582```

3266 3583 

3267重新傳送相同的文字以相同方式失敗。3584重新傳送相同的文字以相同的方式失敗。

3268 3585 

3269**應該怎麼做:**3586**應該怎麼做:**

3270 3587 


3277 Too many messages to this session just now3594 Too many messages to this session just now

3278</h3>3595</h3>

3279 3596 

3280Claude 向此機器上您的一個工作階段傳送了快速的[跨工作階段訊息](/docs/zh-TW/cross-session-messaging)爆發,爆發達到該工作階段的收件箱接受的內容。Claude Code 拒絕了下一個傳送,接收工作階段沒有收到任何內容。拒絕出現在傳送工作階段的工具結果中,而不是作為您終端中的橫幅:3597Claude 向此機器上您的一個工作階段傳送了快速的[跨工作階段訊息](/docs/zh-TW/cross-session-messaging)爆發,該爆發達到了該工作階段的收件箱接受的內容。Claude Code 拒絕了下一個傳送,接收工作階段沒有收到任何內容。拒絕出現在傳送工作階段的工具結果中,而不是作為您終端中的橫幅:

3281 3598 

3282```text wrap theme={null}3599```text wrap theme={null}

3283Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.3600Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.


3302 3619 

3303`Refusing to send:` 之後的文字命名失敗的檢查:3620`Refusing to send:` 之後的文字命名失敗的檢查:

3304 3621 

3305* `reply target is a symlink`:符號連結位於目標工作階段的通訊端路徑。Claude Code 不會透過它傳遞,因為那裡的連結可能會將訊息重新導向到目標工作階段未建立的端點。3622* `reply target is a symlink`:符號連結位於目標工作階段的通訊端路徑。Claude Code 不會透過它傳遞,因為連結可能會將訊息重新導向到目標工作階段未建立的端點。

3306* `cannot vet reply target`:Claude Code 無法檢查目標路徑,例如因為讀取失敗並出現權限錯誤。3623* `cannot vet reply target`:Claude Code 根本無法檢查目標路徑,例如因為讀取失敗並出現權限錯誤。

3307* `connected endpoint is not the expected process`:持有通訊端的程序不是訊息定址到的工作階段,因此位址已過時或另一個程序取代了通訊端。3624* `connected endpoint is not the expected process`:持有通訊端的程序不是訊息定址到的工作階段,因此位址已過時或另一個程序取代了通訊端。

3308* `connected endpoint identity could not be read`:Claude Code 已連接但無法讀取哪個程序持有另一端,因此無法確認目標。這可能是暫時的。3625* `connected endpoint identity could not be read`:Claude Code 已連接但無法讀取哪個程序持有另一端,因此無法確認目標。這可能是暫時的。

3309* `connected endpoint is not owned by this user`:持有通訊端的程序以不同的使用者帳戶執行,因此它不是您的工作階段之一。3626* `connected endpoint is not owned by this user`:持有通訊端的程序以不同的使用者帳戶執行,因此它不是您的其中一個工作階段。

3310* `connected endpoint owner could not be read`:Claude Code 已連接但無法讀取哪個使用者帳戶擁有另一端,因此無法確認端點是您的。3627* `connected endpoint owner could not be read`:Claude Code 已連接但無法讀取哪個使用者帳戶擁有另一端,因此無法確認端點是您的。

3311* `connected endpoint is a different process with the expected pid`:程序 ID 符合訊息定址到的 ID,但 Claude Code 無法確認它是相同的程序。通常該工作階段已退出,作業系統重新使用了其程序 ID,因此位址已過時。3628* `connected endpoint is a different process with the expected pid`:程序 ID 符合訊息定址到的 ID,但 Claude Code 無法確認它是相同的程序。通常該工作階段已退出,作業系統重新使用了其程序 ID,因此位址已過時。

3312 3629 

3313**應該怎麼做:**3630**應該怎麼做:**

3314 3631 

3315* 通常不需要做任何事:檢查會防止訊息到達定址到的工作階段以外的端點,沒有傳送任何內容3632* 通常不需要做任何事:檢查會防止訊息到達定址到的工作階段以外的端點,沒有傳送任何內容

3316* 要求 Claude 再次列出您的工作階段並重新傳送;由過時位址引起的拒絕在 Claude 傳送到目前的工作階段後清除3633* 要求 Claude 再次列出您的工作階段並重新傳送;由過時位址引起的拒絕在 Claude 傳送到目前的工作階段後會清除

3317* 如果 `reply target is a symlink` 對一個工作階段重複,請檢查在該工作階段的通訊端路徑建立連結的內容,顯示在其 `/status` 下的 `Peer address`3634* 如果 `reply target is a symlink` 對一個工作階段重複,請檢查在該工作階段的通訊端路徑建立連結的內容,顯示在其 `/status` 下的 `Peer address`

3318* 對於 `connected endpoint identity could not be read`,重新傳送;該條件可能是暫時的3635* 對於 `connected endpoint identity could not be read`,重新傳送;該條件可能是暫時的

3319* 如果 `connected endpoint is not owned by this user` 出現在共用機器上,該位址的工作階段在另一個使用者帳戶下執行,因此 Claude 無法從您的帳戶訊息它3636* 如果 `connected endpoint is not owned by this user` 出現在共用機器上,該位址處的工作階段以另一個使用者的帳戶執行,因此 Claude 無法從您的帳戶訊息它

3320 3637 

3321在 v2.1.248 之前,Claude Code 沒有檢查端點的擁有使用者或程序啟動時間,因此命名這些檢查的拒絕不會出現在較早的版本上。3638在 v2.1.248 之前,Claude Code 沒有檢查端點的擁有使用者或程序啟動時間,因此命名這些檢查的拒絕不會出現在較早的版本上。

3322 3639 


3324 Refusing to read, write, or search a path3641 Refusing to read, write, or search a path

3325</h3>3642</h3>

3326 3643 

3327Claude Code 檢查檔案路徑的[權限規則](/docs/zh-TW/permissions#read-and-edit),然後在工具開啟檔案或啟動搜尋時再次確認該解析。當它無法確認路徑仍然導向檢查核准的位置時,Claude Code 拒絕操作而不是跟隨它。拒絕出現在工具結果中:3644Claude Code 檢查檔案路徑的[權限規則](/docs/zh-TW/permissions#read-and-edit),然後在工具開啟檔案或啟動搜尋時再次確認該解析。當它無法確認路徑仍然導向檢查核准的位置時,Claude Code 拒絕該操作而不是跟隨它。拒絕出現在工具結果中:

3328 3645 

3329```text theme={null}3646```text wrap theme={null}

3330Refusing to read /path/to/file: its symlink resolution changed after permission was checked. If a link in the working directory is being rewritten concurrently, stop that and retry.3647Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.

3331```3648```

3332 3649 

3333路徑之後的文字命名原因:3650每個拒絕命名其原因:

3334 3651 

3335* `its symlink resolution changed after permission was checked`:路徑中的符號連結,或在 Grep 或 Glob 搜尋根目錄,在權限檢查和操作之間被取代3652* `its symlink resolution changed after permission was checked`:路徑上的符號連結或 Grep 或 Glob 搜尋根目錄在權限檢查和操作之間被取代。在讀取拒絕中,括號中的短語命名哪個比較失敗。

3336* `its parent-directory symlink resolution changed after permission was checked`:寫入路徑通過的目錄不再解析到核准的位置3653* `its parent-directory symlink resolution changed after permission was checked`:寫入路徑通過的目錄不再解析為核准的位置

3337* `it is a symbolic link. Write to the link's target path instead`:符號連結位於核准的寫入位置本身3654* `it is a symbolic link. Write to the link's target path instead`:符號連結位於核准的寫入位置本身,例如 `CLAUDE.md` 是 `AGENTS.md` 的符號連結;訊息指導 Claude 到連結的目標

3338* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`:`Read` 拒絕規則的搜尋命名通過符號連結的路徑,該連結在 Claude Code 準備搜尋時變更3655* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`:相同的條件在另一個寫入器開啟檔案時被捕捉,例如寫入符號連結的 `.mcp.json`

3656* `Refusing to write into symlinked directory: <path>`:持有檔案的目錄本身是符號連結,例如專案的 `.claude/` 目錄連結到另一個位置

3657* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`:搜尋的 `Read` 拒絕規則命名通過符號連結的路徑,該連結在 Claude Code 準備搜尋時變更

3339* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`:搜尋根目錄存在但無法開啟;括號中的代碼是作業系統錯誤3658* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`:搜尋根目錄存在但無法開啟;括號中的代碼是作業系統錯誤

3340* `its permission check expired before it ran (too many concurrent file operations). Retry.`:Claude Code 在許多同時檔案操作下驅逐核准記錄,然後工具使用它;重試執行新的權限檢查3659* `its permission check expired before it ran (too many concurrent file operations). Retry.`:Claude Code 在許多同時檔案操作下驅逐了核准記錄,然後工具使用它;重試執行新的權限檢查

3341* `ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration`:Claude Code 無法將 `rg` 二進位檔解析為絕對路徑,因此它拒絕在工作目錄外的搜尋,而不是執行您的拒絕規則不涵蓋的搜尋3660* `ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration`:Claude Code 無法將 `rg` 二進位檔解析為絕對路徑,因此它拒絕在工作目錄外的搜尋,而不是執行您的拒絕規則不涵蓋的搜尋

3342 3661 

3343**應該怎麼做:**3662**應該怎麼做:**

3344 3663 

3345* 通常不需要做任何事:拒絕作為工具結果到達 Claude,被拒絕的操作不執行3664* 通常不需要做任何事:拒絕到達 Claude 作為工具結果,被拒絕的操作不執行

3346* 如果符號連結拒絕在一個路徑上重複,請找到持續重寫那裡的連結的內容,例如建置工具或檔案監視程式,或要求 Claude 使用檔案的已解析路徑而不是連結的路徑3665* 如果符號連結拒絕在一個路徑上重複,請找到持續重寫連結的內容,例如建置工具或檔案監視程式,或要求 Claude 使用檔案的已解析路徑而不是連結的路徑

3347* 如果此拒絕在 Claude Code 在 Windows 內的 AppContainer 或受限制權杖沙箱中執行時出現在每個檔案上,請升級到 v2.1.265 或更新版本3666* 如果此拒絕在 Windows 上的 AppContainer 或受限權杖沙箱內執行 Claude Code 時出現在每個檔案上,請升級到 v2.1.265 或更新版本

3667* 如果讀取拒絕在 macOS 上出現在沒有任何內容重寫的檔案上,例如拖入提示的螢幕擷取畫面,請升級到 v2.1.273 或更新版本

3348* 對於 ripgrep 拒絕,使用您的套件管理員安裝 ripgrep,以便 `rg` 在 `PATH` 上解析為絕對路徑,或將搜尋保留在工作目錄下3668* 對於 ripgrep 拒絕,使用您的套件管理員安裝 ripgrep,以便 `rg` 在 `PATH` 上解析為絕對路徑,或將搜尋保留在工作目錄下

3349 3669 

3350在 v2.1.251 之前,Claude Code 僅對檔案寫入重新檢查路徑的解析,因此在權限檢查後取代的連結可能會將讀取或搜尋重新導向到不同位置,而沒有訊息。在這些拒絕中,只有父目錄寫入拒絕出現在較早的版本上。3670在 v2.1.251 之前,Claude Code 僅對檔案寫入重新檢查路徑的解析,因此在權限檢查後取代的連結可能會將讀取或搜尋重新導向到不同的位置,沒有訊息。在這些拒絕中,只有父目錄、透過符號連結和符號連結目錄寫入拒絕出現在較早的版本上。

3351 3671 

3352<h3 id="task-output-swap-refused">3672<h3 id="task-output-swap-refused">

3353 Task output swap refused3673 Task output swap refused

3354</h3>3674</h3>

3355 3675 

3356Claude Code 將每個 Bash 命令的輸出儲存到其臨時目錄下的檔案。每次它開啟其中一個檔案時,它都會檢查路徑是否仍然導向它建立的檔案,沒有符號連結、額外硬連結或移動的目錄重新導向它。此訊息表示該檢查失敗,因此 Claude Code 拒絕操作而不是透過該路徑寫入或讀取輸出。訊息出現在 Bash 工具結果中:3676Claude Code 將每個 Bash 命令的輸出儲存到其暫存目錄下的檔案。每次它開啟其中一個檔案時,它都會檢查路徑是否仍然導向它建立的檔案,沒有符號連結、額外硬連結或移動的目錄重新導向它。此訊息表示該檢查失敗,因此 Claude Code 拒絕了該操作,而不是透過該路徑寫入或讀取輸出。該訊息出現在 Bash 工具結果中:

3357 3677 

3358```text wrap theme={null}3678```text wrap theme={null}

3359task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.3679task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.

3360```3680```

3361 3681 

3362括號中的文字命名失敗的檢查。`output symlink was re-pointed`、`output file identity changed` 和 `not a regular file` 等原因都報告相同的條件:輸出路徑上或沿著的某些內容不再是 Claude Code 建立的檔案。只有某些原因帶有 `To recover:` 句子。3682括號中的文字命名失敗的檢查。原因例如 `output symlink was re-pointed`、`output file identity changed` 和 `not a regular file` 都報告相同的條件:輸出路徑上或沿著的某些內容不再是 Claude Code 建立的檔案。只有某些原因帶有 `To recover:` 句子。

3363 3683 

3364如果檢查在命令仍在執行時失敗,Claude Code 會停止命令,其結果報告:3684如果檢查在命令仍在執行時失敗,Claude Code 會停止命令,其結果報告:

3365 3685 


3370**應該怎麼做:**3690**應該怎麼做:**

3371 3691 

3372* 升級到 v2.1.260 或更新版本。較早的版本有時在沒有連結或移動目錄存在時顯示此訊息3692* 升級到 v2.1.260 或更新版本。較早的版本有時在沒有連結或移動目錄存在時顯示此訊息

3373* 使用 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 設定為新目錄重新啟動 Claude Code3693* 使用設定為新目錄的 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 重新啟動 Claude Code

3374* 或檢查 Claude Code 臨時目錄下的專案目錄,範例訊息中的 `/private/tmp/claude-501/-Users-you-my-project`。如果該路徑是符號連結,或不應該存在的目錄,請移除連結或目錄本身而不是連結的目標,然後重新啟動 Claude Code3694* 或檢查 Claude Code 暫存目錄下的專案目錄,範例訊息中的 `/private/tmp/claude-501/-Users-you-my-project`。如果該路徑是符號連結,或不應該存在的目錄,請移除連結或目錄本身而不是連結的目標,然後重新啟動 Claude Code

3375* 如果拒絕重複,程序在工作階段執行時替換、連結或移除 Claude Code 臨時目錄下的項目。將 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 設定為沒有其他內容管理的目錄並重新啟動3695* 如果拒絕重複,程序在工作階段執行時會取代、連結或移除 Claude Code 暫存目錄下的項目。將 [`CLAUDE_CODE_TMPDIR`](/docs/zh-TW/env-vars) 設定為沒有其他內容管理的目錄並重新啟動

3376 3696 

3377<h3 id="the-source-file-is-not-valid-utf-8-text">3697<h3 id="the-source-file-is-not-valid-utf-8-text">

3378 The source file is not valid UTF-8 text3698 The source file is not valid UTF-8 text

3379</h3>3699</h3>

3380 3700 

3381Claude 嘗試從位元組不解碼為文字的檔案發佈[成品](/docs/zh-TW/artifacts),或其文字已包含替換字元 `U+FFFD`,因此 Claude Code 在上傳任何內容之前拒絕發佈。訊息出現在成品工具結果中並命名要修正的第一個位置:3701Claude 嘗試從位元組不解碼為文字的檔案發佈[成品](/docs/zh-TW/artifacts),或其文字已包含替換字元 `U+FFFD`,因此 Claude Code 在上傳任何內容之前拒絕發佈。該訊息出現在成品工具結果中,並命名要修正的第一個位置:

3382 3702 

3383```text wrap theme={null}3703```text wrap theme={null}

3384file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.3704file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.


3391**應該怎麼做:**3711**應該怎麼做:**

3392 3712 

3393* 通常不需要做任何事:Claude 重寫檔案並再次發佈3713* 通常不需要做任何事:Claude 重寫檔案並再次發佈

3394* 如果檔案是您寫入或匯出的,請再次將其儲存為 UTF-8,並將每個 `U+FFFD` 替換為較早的編輯、貼上或轉換遺失的字元3714* 如果檔案是您寫入或匯出的,請再次將其儲存為 UTF-8,並將每個 `U+FFFD` 取代為較早的編輯、貼上或轉換遺失的字元

3395* 若要在頁面上顯示有意的 `U+FFFD`,請在 HTML 中將其寫為 `&#xFFFD;` 而不是字面字元3715* 若要在頁面上顯示有意的 `U+FFFD`,請在 HTML 中將其寫為 `&#xFFFD;` 而不是字面字元

3396 3716 

3397在 v2.1.267 之前,Claude Code 上傳了這樣的檔案而不檢查它,伺服器改為拒絕發佈。3717在 v2.1.267 之前,Claude Code 上傳這樣的檔案而不檢查它,伺服器改為拒絕發佈。

3718 

3719<h3 id="reading-a-local-file-from-outside-the-connected-folders">

3720 Reading a local file from outside the connected folders in a Cowork session

3721</h3>

3722 

3723在 Claude Desktop 應用程式中在您的機器上執行的 [Cowork](https://claude.com/docs/cowork/overview) 工作階段中,Claude 為[成品](/docs/zh-TW/artifacts)命名了本機檔案。Claude Code 無法確認檔案是工作階段連接資料夾內的純檔案:路徑位於這些資料夾外、通過符號連結或以可能命名不同檔案的方式拼寫。讀取這樣的檔案需要您的核准,在無法向您顯示核准卡的工作階段中,例如設定為跳過所有核准的工作階段,Claude Code 拒絕讀取。

3724 

3725拒絕出現在成品工具結果中;當檔案根本無法檢查時,它改為命名該失敗:

3726 

3727```text wrap theme={null}

3728Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.

3729 

3730cannot read file_path (ENOENT) — the file could not be examined, and no one can answer the approval card in this Cowork session. Check that the file exists as a plain file inside the connected folders, then retry with that path.

3731```

3732 

3733**應該怎麼做:**

3734 

3735* 通常不需要做任何事:訊息告訴 Claude 改為使用連接資料夾內的純檔案

3736* 若要將該確切檔案放在成品中,請將其複製到工作階段的其中一個連接資料夾中作為常規檔案(不是符號連結),然後再次詢問

3737 

3738<h3 id="webfetch-cannot-fetch-localhost">

3739 WebFetch cannot fetch localhost

3740</h3>

3741 

3742Claude 呼叫了 [WebFetch](/docs/zh-TW/tools-reference#webfetch-tool-behavior),其 URL 的主機名沒有點,例如 `http://localhost:3000` 或裸內部網路名稱如 `http://wiki/`。WebFetch 在進行任何要求之前拒絕這些 URL:

3743 

3744```text wrap theme={null}

3745WebFetch cannot fetch localhost or other hostnames without a dot. To reach a local server, use Bash with curl instead.

3746```

3747 

3748**應該怎麼做:**

3749 

3750* 通常不需要做任何事:訊息將 Claude 指向透過 Bash 工具的 `curl`,它可以到達本機和內部網路伺服器

3751 

3752在 v2.1.268 之前,WebFetch 使用通用 `Invalid URL` 錯誤報告這些 URL。

3398 3753 

3399<h2 id="background-session-errors">3754<h2 id="background-session-errors">

3400 背景工作階段錯誤3755 背景工作階段錯誤


3521您嘗試刪除[背景工作階段](/docs/zh-TW/agent-view#what-deleting-a-session-removes),其 worktree 保持 Claude Code 無法確認在其他地方儲存的提交。Claude Code 保留 worktree 和工作階段列,而不是銷毀提交。`claude rm` 命名分支和未推送的提交,並說明如何進行:3876您嘗試刪除[背景工作階段](/docs/zh-TW/agent-view#what-deleting-a-session-removes),其 worktree 保持 Claude Code 無法確認在其他地方儲存的提交。Claude Code 保留 worktree 和工作階段列,而不是銷毀提交。`claude rm` 命名分支和未推送的提交,並說明如何進行:

3522 3877 

3523```text theme={null}3878```text theme={null}

3524kept 7c5dcf5d — 2 unpushed commits on claude/fix-login (a1b2c3d Fix login flow, … and 1 more)3879kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"

3525 worktree: /home/you/project/.claude/worktrees/fix-login3880 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.

3526 push them, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef3881 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

3527```3882```

3528 3883 

3529當 Claude Code 無法總結提交時,訊息改為讀取 `worktree has commits that are not pushed anywhere`。在[代理檢視](/docs/zh-TW/agent-view)中,工作階段的列顯示 `not deleted`,原因相同。3884當 Claude Code 無法總結提交時,詳細行讀取 `The worktree has unpushed commits`。在[代理檢視](/docs/zh-TW/agent-view)中,工作階段的列顯示 `not deleted`,原因相同。

3530 3885 

3531遠端上的提交不會阻止刪除。本機複製您的 `origin` 遠端預設分支上的提交也不會,只要該分支在您的主簽出中簽出,即儲存庫目錄本身而不是 worktree。3886遠端上的提交不會阻止刪除。本機複製您的 `origin` 遠端預設分支上的提交也不會,只要該分支在您的主簽出中簽出,即儲存庫目錄本身而不是 worktree。

3532 3887 


3536* 要捨棄提交,執行訊息列印的 `claude rm <id> --discard-unpushed` 命令,或在代理檢視中的工作階段列上再次按 `Ctrl+X` 兩次。這會移除工作階段和 worktree 以及其分支、未推送的提交和任何未提交的變更。如果 worktree 自拒絕以來獲得了提交,Claude Code 再次保留它並顯示更新的狀態3891* 要捨棄提交,執行訊息列印的 `claude rm <id> --discard-unpushed` 命令,或在代理檢視中的工作階段列上再次按 `Ctrl+X` 兩次。這會移除工作階段和 worktree 以及其分支、未推送的提交和任何未提交的變更。如果 worktree 自拒絕以來獲得了提交,Claude Code 再次保留它並顯示更新的狀態

3537* 當訊息說 worktree 也由另一個已完成的工作階段記錄時,再次刪除不會捨棄它:推送提交,然後再次刪除工作階段3892* 當訊息說 worktree 也由另一個已完成的工作階段記錄時,再次刪除不會捨棄它:推送提交,然後再次刪除工作階段

3538 3893 

3894在 v2.1.268 之前,`claude rm` 將提交摘要放在 `kept` 行本身上。當 `claude rm` 無法總結提交時,`kept` 行讀取 `worktree has commits that are not pushed anywhere` 代替摘要。

3895 

3539在 v2.1.260 之前,訊息未命名分支或提交,再次刪除被拒絕的方式相同:刪除工作階段而不推送意味著使用 `git worktree remove --force <path>` 自己移除 worktree,然後再次執行 `claude rm <id>`。3896在 v2.1.260 之前,訊息未命名分支或提交,再次刪除被拒絕的方式相同:刪除工作階段而不推送意味著使用 `git worktree remove --force <path>` 自己移除 worktree,然後再次執行 `claude rm <id>`。

3540 3897 

3541在 v2.1.248 之前,在主簽出中簽出的預設分支不計算:您已經合併到那裡的分支仍然觸發此拒絕,直到其提交到達遠端。3898在 v2.1.248 之前,在主簽出中簽出的預設分支不計算:您已經合併到那裡的分支仍然觸發此拒絕,直到其提交到達遠端。


3759Error: Claude Code process exited with code 14116Error: Claude Code process exited with code 1

3760```4117```

3761 4118 

4119在 Windows 上,原生組建可能在轉換完成後立即以代碼 `4294967295` 結束。當該結束發生在轉換邊界,沒有訊息等待且沒有背景工作執行時,[VS Code 擴充功能](/docs/zh-TW/vs-code)會安靜地關閉工作階段,而不是顯示此錯誤。您的下一條訊息會繼續對話。

4120 

4121在 v2.1.273 之前,擴充功能在每個轉換邊界都會顯示該結束的錯誤,即使沒有任何內容遺失。

4122 

3762**該怎麼做:**4123**該怎麼做:**

3763 4124 

3764* 在 VS Code 中,按照錯誤顯示的**檢視輸出日誌**連結查看底層失敗4125* 在 VS Code 中,按照錯誤顯示的**檢視輸出日誌**連結查看底層失敗


3782* 將 PATH 項目設定為使用者或系統環境變數,而不是在您的 PowerShell 設定檔中。擴充功能不執行您的設定檔,因此只存在於那裡的 PATH 編輯永遠無法到達它。4143* 將 PATH 項目設定為使用者或系統環境變數,而不是在您的 PowerShell 設定檔中。擴充功能不執行您的設定檔,因此只存在於那裡的 PATH 編輯永遠無法到達它。

3783* 變更 PATH 後重新啟動 VS Code。擴充功能檢查 VS Code 在啟動時捕獲的 PATH,因此 PATH 變更只有在重新啟動後才會生效。4144* 變更 PATH 後重新啟動 VS Code。擴充功能檢查 VS Code 在啟動時捕獲的 PATH,因此 PATH 變更只有在重新啟動後才會生效。

3784 4145 

4146<h3 id="the-connection-to-claude-code-ended-before-this-message-completed">

4147 Claude Code 的連線在此訊息完成前結束

4148</h3>

4149 

4150[VS Code 擴充功能](/docs/zh-TW/vs-code)將您的訊息傳送到 `claude` 程序,連線在程序確認或完成訊息之前結束,且沒有錯誤。擴充功能無法判斷訊息是否已被處理,因此它要求您再次傳送訊息:

4151 

4152```text theme={null}

4153The connection to Claude Code ended before this message completed — it may not have been processed, so please send it again.

4154```

4155 

4156**該怎麼做:**

4157 

4158* 再次傳送訊息。下一條訊息會啟動一個新的 `claude` 程序,繼續對話。

4159* 如果它重複發生,在同一專案中的終端機中執行 `claude`。持續結束程序的失敗通常會在那裡重現,並顯示其真實錯誤訊息。

4160 

3785<h2 id="rewind-warnings-and-errors">4161<h2 id="rewind-warnings-and-errors">

3786 Rewind 警告和錯誤4162 Rewind 警告和錯誤

3787</h2>4163</h2>

fast-mode.md +16 −3

Details

32* 輸入 `/fast` 並按 Tab 鍵切換開啟或關閉32* 輸入 `/fast` 並按 Tab 鍵切換開啟或關閉

33* 在您的[使用者設定檔案](/docs/zh-TW/settings)中設定 `"fastMode": true`33* 在您的[使用者設定檔案](/docs/zh-TW/settings)中設定 `"fastMode": true`

34 34 

35預設情況下,在互動式工作階段中開啟的快速模式會在工作階段之間保持。在[非互動式模式](/docs/zh-TW/headless)中,使用 `-p` 旗標時,`/fast` 僅在使用快速模式在其 [`--settings`](/docs/zh-TW/cli-reference#cli-flags) 值中啟動的工作階段中運作,例如 `claude -p --settings '{"fastMode": true}'`;切換則僅適用於該工作階段,不會儲存為您的預設值,在任何其他非互動式工作階段中,該命令會報告快速模式不可用。您可以配置快速模式在每個工作階段重設。詳見[要求每個工作階段選擇加入](#require-per-session-opt-in)以了解詳情。35預設情況下,在互動式工作階段中開啟的快速模式會在工作階段之間保持。您可以配置快速模式在每個工作階段重設。詳見[要求每個工作階段選擇加入](#require-per-session-opt-in)以了解詳情。

36 

37在[雲端工作階段](#use-fast-mode-in-cloud-sessions)外,在[非互動式模式](/docs/zh-TW/headless)中使用 `-p` 旗標時,`/fast` 僅在使用快速模式在其 [`--settings`](/docs/zh-TW/cli-reference#cli-flags) 值中啟動的工作階段中運作,例如 `claude -p --settings '{"fastMode": true}'`;切換則僅適用於該工作階段,不會儲存為您的預設值。`-p` 形式需要 Claude Code v2.1.205 或更新版本。在非互動式模式的其他地方,該命令會報告快速模式不可用。

36 38 

37您可以在 Claude 工作時執行 `/fast`,Claude Code 會在不等待回合結束的情況下切換快速模式。Claude Code 會以原始速度完成執行中的回合,因此速度變更會從您的下一個回合開始生效。如果您目前的模型不支援快速模式,開啟它也會切換您的模型,Claude Code 會在該回合的下一個請求中使用新模型。39您可以在 Claude 工作時執行 `/fast`,Claude Code 會在不等待回合結束的情況下切換快速模式。Claude Code 會以原始速度完成執行中的回合,因此速度變更會從您的下一個回合開始生效。如果您目前的模型不支援快速模式,開啟它也會切換您的模型,Claude Code 會在該回合的下一個請求中使用新模型。

38 40 


62 64 

63Claude Code 會在模型切換、重新連接或失敗的[可用性檢查](#use-fast-mode-behind-proxies-and-llm-gateways)後,將工作階段的快速模式狀態重新傳送到透過遠端控制連接的裝置。65Claude Code 會在模型切換、重新連接或失敗的[可用性檢查](#use-fast-mode-behind-proxies-and-llm-gateways)後,將工作階段的快速模式狀態重新傳送到透過遠端控制連接的裝置。

64 66 

67<h3 id="use-fast-mode-in-cloud-sessions">

68 在雲端工作階段中使用快速模式

69</h3>

70 

71快速模式在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中運作,當它在您的帳戶上可用時,無論工作階段是在 Anthropic 管理的基礎設施上執行,還是在[自託管執行器](/docs/zh-TW/self-hosted-environments)上執行。需要工作階段環境中的 Claude Code v2.1.271 或更新版本。

72 

73在工作階段中輸入 `/fast on` 以開啟快速模式。它僅在該工作階段中保持開啟,不會儲存為您的預設值。[要求](#requirements)也適用於雲端工作階段。

74 

65<h2 id="understand-the-cost-tradeoff">75<h2 id="understand-the-cost-tradeoff">

66 了解成本權衡76 了解成本權衡

67</h2>77</h2>


135* **Team 和 Enterprise 的擁有者啟用**:快速模式在預設情況下對 Team 和 Enterprise 組織停用。擁有者必須明確[啟用快速模式](#enable-fast-mode-for-your-organization),使用者才能存取它。145* **Team 和 Enterprise 的擁有者啟用**:快速模式在預設情況下對 Team 和 Enterprise 組織停用。擁有者必須明確[啟用快速模式](#enable-fast-mode-for-your-organization),使用者才能存取它。

136 146 

137<Note>147<Note>

138 如果尚未為您的組織啟用快速模式,`/fast` 命令將顯示「快速模式已被您的組織停用。」如果您組織的 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 允許清單排除快速模式 Opus 模型,`/fast` 會被拒絕,顯示「不在您組織的允許模型中」。例外是已在支援快速模式的允許 Opus 模型上執行的工作階段:`/fast` 在您目前的模型上啟用快速模式,而不是切換模型。148 兩個組織設定可以阻止使用 `/fast` 開啟快速模式:

149 

150 * **快速模式未啟用**:如果尚未為您的組織啟用快速模式,使用 `/fast` 開啟快速模式會顯示「快速模式已被您的組織停用。」

151 * **快速模式模型不允許**:如果您組織的 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 允許清單排除快速模式 Opus 模型,開啟它會被拒絕,顯示「不在您組織的允許模型中」。在已在支援快速模式的允許 Opus 模型上執行的工作階段中,`/fast` 改為在您目前的模型上啟用快速模式,而不是切換模型。

139</Note>152</Note>

140 153 

141<h3 id="enable-fast-mode-for-your-organization">154<h3 id="enable-fast-mode-for-your-organization">


173 186 

174在這兩種情況下,設定 `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` 以復原快速模式。`CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` 不適用於任何一種情況,因為它只繞過失敗的檢查,而這兩種都會產生停用回應。允許清單直接出口無法幫助持有人令牌情況,它永遠不會發送請求。187在這兩種情況下,設定 `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` 以復原快速模式。`CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` 不適用於任何一種情況,因為它只繞過失敗的檢查,而這兩種都會產生停用回應。允許清單直接出口無法幫助持有人令牌情況,它永遠不會發送請求。

175 188 

176這些變數只影響用戶端檢查。當您的組織已停用快速模式時,API 會拒絕快速模式請求,無論是否設定了它們。189這些變數只影響用戶端檢查。當您的組織已停用快速模式時,API 會拒絕快速模式請求,無論是否設定了它們。被 API 拒絕的請求即使設定了跳過變數也會成立。Claude Code 會以標準速度重試被拒絕的請求,關閉快速模式,並且 `/fast` 報告您的組織已停用快速模式。

177 190 

178設定 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 也會抑制可用性檢查。沒有先前快取的成功檢查,`/fast` 報告「快速模式目前不可用」;兩個跳過變數在該配置中也會復原快速模式。191設定 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 也會抑制可用性檢查。沒有先前快取的成功檢查,`/fast` 報告「快速模式目前不可用」;兩個跳過變數在該配置中也會復原快速模式。

179 192 

Details

36* [Checkpoints](/docs/zh-TW/checkpointing)、[sandboxing](/docs/zh-TW/sandboxing) 和 [Workflows](/docs/zh-TW/workflows)36* [Checkpoints](/docs/zh-TW/checkpointing)、[sandboxing](/docs/zh-TW/sandboxing) 和 [Workflows](/docs/zh-TW/workflows)

37* [OpenTelemetry 指標](/docs/zh-TW/monitoring-usage)和[受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms)37* [OpenTelemetry 指標](/docs/zh-TW/monitoring-usage)和[受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms)

38 38 

39這三個功能有提供者特定的差異:39這些有提供者特定的差異:

40 40 

41* **CLAUDE.md 記憶**:`CLAUDE.md` 檔案在每個提供者上都會載入。將 [`AGENTS.md` 檔案](/docs/zh-TW/memory#agents-md)作為專案指示讀取也需要[擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段

41* **MCP servers**:[來自 claude.ai 的連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)僅在您的 claude.ai 訂閱是作用中驗證方法時才會載入。[工具搜尋](/docs/zh-TW/mcp#configure-tool-search)在 `ANTHROPIC_BASE_URL` 指向非第一方主機時預設為關閉,在 Google Cloud's Agent Platform 上早於 Claude 4.5 世代的模型或在 Microsoft Foundry [部署於 Azure 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)時不受支援42* **MCP servers**:[來自 claude.ai 的連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)僅在您的 claude.ai 訂閱是作用中驗證方法時才會載入。[工具搜尋](/docs/zh-TW/mcp#configure-tool-search)在 `ANTHROPIC_BASE_URL` 指向非第一方主機時預設為關閉,在 Google Cloud's Agent Platform 上早於 Claude 4.5 世代的模型或在 Microsoft Foundry [部署於 Azure 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)時不受支援

42* **Subagents**:內建的 [Explore subagent](/docs/zh-TW/sub-agents#built-in-subagents) 在 Claude API 上將其繼承的模型上限設為 Opus,在任何其他提供者(包括 AWS 上的 Claude Platform)上直接繼承主要對話的模型43* **Subagents**:內建的 [Explore subagent](/docs/zh-TW/sub-agents#built-in-subagents) 在 Claude API 上將其繼承的模型上限設為 Opus,在任何其他提供者(包括 AWS 上的 Claude Platform)上直接繼承主要對話的模型

43* **[Commands](/docs/zh-TW/commands#all-commands)**:44* **[Commands](/docs/zh-TW/commands#all-commands)**:


226 227 

227<Note>228<Note>

228 如果您透過 [LLM 閘道](/docs/zh-TW/llm-gateway)進行驗證,功能可用性與閘道轉發到的基礎提供者相符,除了 Claude Code 本身關閉的功能。每當 `ANTHROPIC_BASE_URL` 指向 `api.anthropic.com` 以外的主機時,Claude Code 會關閉功能,例如 [Remote Control](/docs/zh-TW/remote-control#requirements) 和[伺服器管理的設定](/docs/zh-TW/server-managed-settings#platform-availability),無論閘道轉發什麼。某些僅限 Anthropic 的功能,例如 [Advisor](/docs/zh-TW/advisor),只有在閘道將請求完整轉發到 Anthropic API 時才能運作。229 如果您透過 [LLM 閘道](/docs/zh-TW/llm-gateway)進行驗證,功能可用性與閘道轉發到的基礎提供者相符,除了 Claude Code 本身關閉的功能。每當 `ANTHROPIC_BASE_URL` 指向 `api.anthropic.com` 以外的主機時,Claude Code 會關閉功能,例如 [Remote Control](/docs/zh-TW/remote-control#requirements) 和[伺服器管理的設定](/docs/zh-TW/server-managed-settings#platform-availability),無論閘道轉發什麼。某些僅限 Anthropic 的功能,例如 [Advisor](/docs/zh-TW/advisor),只有在閘道將請求完整轉發到 Anthropic API 時才能運作。

230 

231 如需 Claude Code 傳送的請求如何在 Amazon Bedrock 或 Agent Platform 格式閘道、`ANTHROPIC_BASE_URL` 閘道和 Claude apps gateway 登入之間有所不同,請參閱[按連線方法的用戶端行為](/docs/zh-TW/llm-gateway-protocol#how-the-connection-method-changes-client-behavior)。

229</Note>232</Note>

230 233 

231<h3 id="summary-by-provider">234<h3 id="summary-by-provider">


303 306 

304| 功能 | Pro | Max | Team | Enterprise |307| 功能 | Pro | Max | Team | Enterprise |

305| :-------------------------------------------------------------------------- | :-- | :-- | :---- | :-------------------------------- |308| :-------------------------------------------------------------------------- | :-- | :-- | :---- | :-------------------------------- |

306| [網頁上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |309| [Cloud sessions](/docs/zh-TW/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

307| [Routines](/docs/zh-TW/routines) | ✓ | ✓ | ✓ | ✓ |310| [Routines](/docs/zh-TW/routines) | ✓ | ✓ | ✓ | ✓ |

308| [Remote Control](/docs/zh-TW/remote-control) | ✓ | ✓ | 管理員啟用 | 管理員啟用 |311| [Remote Control](/docs/zh-TW/remote-control) | ✓ | ✓ | 管理員啟用 | 管理員啟用 |

309| [Channels](/docs/zh-TW/channels) | ✓ | ✓ | 管理員啟用 | 管理員啟用 |312| [Channels](/docs/zh-TW/channels) | ✓ | ✓ | 管理員啟用 | 管理員啟用 |


319| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |322| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |

320| [Zero Data Retention](/docs/zh-TW/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |323| [Zero Data Retention](/docs/zh-TW/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

321 324 

322<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> 在 Enterprise 上,需要進階座位或 Chat + Claude Code 座位。請參閱[網頁上的 Claude Code](/docs/zh-TW/claude-code-on-the-web)。<br />325<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> 在 Enterprise 上,需要進階座位或 Chat + Claude Code 座位。請參閱[在雲端上使用 Claude Code](/docs/zh-TW/claude-code-on-the-web)。<br />

323<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> 不包含在標準 Enterprise 計畫中。需要 Anthropic 為符合條件的帳戶進行單獨啟用。請參閱 [Zero Data Retention](/docs/zh-TW/zero-data-retention)。326<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> 不包含在標準 Enterprise 計畫中。需要 Anthropic 為符合條件的帳戶進行單獨啟用。請參閱 [Zero Data Retention](/docs/zh-TW/zero-data-retention)。

324 327 

325如需定價和完整計畫比較,請參閱 [Team 計畫](https://support.claude.com/en/articles/9266767-what-is-the-team-plan)和 [Enterprise 計畫](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan)。328如需定價和完整計畫比較,請參閱 [Team 計畫](https://support.claude.com/en/articles/9266767-what-is-the-team-plan)和 [Enterprise 計畫](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan)。

Details

294 294 

295 * 代理的自身系統提示,而不是 Claude Code 系統提示295 * 代理的自身系統提示,而不是 Claude Code 系統提示

296 * 代理 `skills:` 欄位中列出的 skills 的完整內容296 * 代理 `skills:` 欄位中列出的 skills 的完整內容

297 * CLAUDE.md 和 git 狀態,除了內置的 Explore 和 Plan 代理[省略兩者](/docs/zh-TW/sub-agents#what-loads-at-startup)297 * CLAUDE.md 和 git 狀態,除了內置的 Explore 和 Plan 代理[省略兩者](/docs/zh-TW/sub-agents#what-loads-at-startup),以及定義設置 [`omitClaudeMd`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) 的代理跳過使用者、專案和本地 CLAUDE.md 檔案

298 * 主代理在提示中傳遞的任何上下文298 * 主代理在提示中傳遞的任何上下文

299 299 

300 對於[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),Claude Code 載入父對話到目前為止、系統提示和工具。300 對於[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),Claude Code 載入父對話到目前為止、系統提示和工具。

fullscreen.md +1 −0

Details

102* **點擊 `/` 命令或 `@` 檔案清單中的建議**,以接受它。懸停會突顯游標下的列。102* **點擊 `/` 命令或 `@` 檔案清單中的建議**,以接受它。懸停會突顯游標下的列。

103* **點擊選擇功能表中的選項**,以選擇它。這涵蓋權限提示、`/model`、`/config` 和其他顯示選項清單的對話框。懸停會在游標下的列上顯示指標。需要 Claude Code v2.1.187 或更新版本。103* **點擊選擇功能表中的選項**,以選擇它。這涵蓋權限提示、`/model`、`/config` 和其他顯示選項清單的對話框。懸停會在游標下的列上顯示指標。需要 Claude Code v2.1.187 或更新版本。

104* **點擊多選功能表中的選項**,以切換它,然後點擊提交按鈕以確認您的選擇。點擊自由文字列(例如多選題中的 `Other` 列)會聚焦其輸入欄位,以便您可以輸入答案。需要 Claude Code v2.1.208 或更新版本。104* **點擊多選功能表中的選項**,以切換它,然後點擊提交按鈕以確認您的選擇。點擊自由文字列(例如多選題中的 `Other` 列)會聚焦其輸入欄位,以便您可以輸入答案。需要 Claude Code v2.1.208 或更新版本。

105* **點擊設定面板中的設定值**,以變更它,並使用滑鼠滾輪捲動設定清單。需要 Claude Code v2.1.271 或更新版本。

105* **點擊已摺疊的工具結果**,以展開它並查看完整輸出。再次點擊以摺疊。工具呼叫及其結果會一起展開。只有有更多內容要顯示的訊息才可點擊。106* **點擊已摺疊的工具結果**,以展開它並查看完整輸出。再次點擊以摺疊。工具呼叫及其結果會一起展開。只有有更多內容要顯示的訊息才可點擊。

106 * 點擊也會展開 `!` shell 命令的輸出,無論是較舊的截斷結果或命令執行時的即時進度列。需要 Claude Code v2.1.257 或更新版本。107 * 點擊也會展開 `!` shell 命令的輸出,無論是較舊的截斷結果或命令執行時的即時進度列。需要 Claude Code v2.1.257 或更新版本。

107* **在 macOS 上按住 `Cmd`,或在 Linux 和 Windows 上按住 `Ctrl`,然後點擊 URL 或檔案路徑**,以開啟它。純 `http://` 和 `https://` URL 會在您的瀏覽器中開啟,而工具輸出中的檔案路徑(例如在 Edit 或 Write 後列印的路徑)會在您的預設應用程式中開啟。不使用修飾鍵的純點擊不會開啟連結,符合原生終端機行為。108* **在 macOS 上按住 `Cmd`,或在 Linux 和 Windows 上按住 `Ctrl`,然後點擊 URL 或檔案路徑**,以開啟它。純 `http://` 和 `https://` URL 會在您的瀏覽器中開啟,而工具輸出中的檔案路徑(例如在 Edit 或 Write 後列印的路徑)會在您的預設應用程式中開啟。不使用修飾鍵的純點擊不會開啟連結,符合原生終端機行為。

Details

11有多個產品共享 Claude Code 名稱。本頁涵蓋 `claude-code-action` 工作流程整合,您可以使用儲存庫中的工作流程檔案進行設定。如需相關產品,請參閱:11有多個產品共享 Claude Code 名稱。本頁涵蓋 `claude-code-action` 工作流程整合,您可以使用儲存庫中的工作流程檔案進行設定。如需相關產品,請參閱:

12 12 

13* [Code Review](/docs/zh-TW/code-review):在每個 pull request 上自動審查,無需編寫工作流程13* [Code Review](/docs/zh-TW/code-review):在每個 pull request 上自動審查,無需編寫工作流程

14* [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web):從您的瀏覽器或手機進行 Claude Code 工作階段14* [Claude Code in the cloud](/docs/zh-TW/claude-code-on-the-web):在雲端基礎設施上執行的 Claude Code 工作階段,而不是在您的機器上

15* [Claude Agent SDK](/docs/zh-TW/agent-sdk/overview):GitHub Actions 外的自訂自動化。Claude Code GitHub Action 建立在 SDK 之上15* [Claude Agent SDK](/docs/zh-TW/agent-sdk/overview):GitHub Actions 外的自訂自動化。Claude Code GitHub Action 建立在 SDK 之上

16* [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server):具有自託管 GitHub 的 Claude Code16* [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server):具有自託管 GitHub 的 Claude Code

17 17 

Details

48 Claude Code GitHub Action 透過 GitHub 身分識別推送提交並發佈評論。[快速設定](/docs/zh-TW/github-actions#quick-setup) 會為此安裝官方 Claude GitHub App。使用雲端提供者時,您可以自己選擇身分識別:48 Claude Code GitHub Action 透過 GitHub 身分識別推送提交並發佈評論。[快速設定](/docs/zh-TW/github-actions#quick-setup) 會為此安裝官方 Claude GitHub App。使用雲端提供者時,您可以自己選擇身分識別:

49 49 

50 * **官方 [Claude GitHub App](https://github.com/apps/claude)**:在儲存庫上安裝它,或如果已經安裝,請跳到下一步50 * **官方 [Claude GitHub App](https://github.com/apps/claude)**:在儲存庫上安裝它,或如果已經安裝,請跳到下一步

51 * **自訂 GitHub App**:當您只想要 Claude Code GitHub Action 使用的三個權限,而不是[官方應用程式的完整集合](/docs/zh-TW/github-actions#github-app-permissions)時,建立您自己的應用程式,如下所述51 * **自訂 GitHub App**:當您只想要 Claude Code GitHub Action 使用的三個權限,而不是[官方應用程式的完整集合](/docs/zh-TW/github-actions#github-app-permissions)時,建立您自己的應用程式

52 * **GitHub 的自動 `GITHUB_TOKEN`**:無需建立或安裝應用程式,但 GitHub 不會在使用它進行的提交上觸發您的 CI 工作流程52 * **GitHub 的自動 `GITHUB_TOKEN`**:無需建立或安裝應用程式,但 GitHub 不會在使用它進行的提交上觸發您的 CI 工作流程

53 53 

54 第四步中的工作流程範例使用自訂應用程式進行驗證。該步驟也說明了其他兩個選項要變更的內容。54 第四步中的工作流程範例使用自訂應用程式進行驗證。該步驟也說明了其他兩個選項要變更的內容。

Details

4 4 

5# Claude Code 與 GitHub Enterprise Server5# Claude Code 與 GitHub Enterprise Server

6 6 

7> 將 Claude Code 連接到您自託管的 GitHub Enterprise Server 實例,以進行網頁會話、代碼審查和插件市場。7> 將 Claude Code 連接到您自託管的 GitHub Enterprise Server 實例,以進行雲端會話、代碼審查和插件市場。

8 8 

9<Note>9<Note>

10 GitHub Enterprise Server 支持適用於 Team 和 Enterprise 計劃。10 GitHub Enterprise Server 支持適用於 Team 和 Enterprise 計劃。

11</Note>11</Note>

12 12 

13GitHub Enterprise Server (GHES) 支持讓您的組織使用 Claude Code 與託管在自管理 GitHub 實例上的存儲庫,而不是 github.com。一旦 Owner 連接您的 GHES 實例,開發人員可以運行網頁會話和獲得自動化代碼審查,無需任何按存儲庫的配置。您實例上託管的插件市場也受支持;憑證要求因表面而異,如 [GHES 上的插件市場](#plugin-marketplaces-on-ghes) 中所述。13GitHub Enterprise Server (GHES) 支持讓您的組織使用 Claude Code 與託管在自管理 GitHub 實例上的存儲庫,而不是 github.com。一旦 Owner 連接您的 GHES 實例,開發人員可以運行雲端會話和獲得自動化代碼審查,無需任何按存儲庫的配置。您實例上託管的插件市場也受支持;憑證要求因表面而異,如 [GHES 上的插件市場](#plugin-marketplaces-on-ghes) 中所述。

14 14 

15對於 github.com 上的存儲庫,請參閱 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 和 [Code Review](/docs/zh-TW/code-review)。要在您自己的 CI 基礎設施中運行 Claude,請參閱 [GitHub Actions](/docs/zh-TW/github-actions)。15對於 github.com 上的存儲庫,請參閱 [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web) 和 [代碼審查](/docs/zh-TW/code-review)。要在您自己的 CI 基礎設施中運行 Claude,請參閱 [GitHub Actions](/docs/zh-TW/github-actions)。

16 16 

17<h2 id="what-works-with-github-enterprise-server">17<h2 id="what-works-with-github-enterprise-server">

18 GitHub Enterprise Server 支持的功能18 GitHub Enterprise Server 支持的功能


21下表顯示了 Claude Code 的哪些功能支持 GHES,以及與 github.com 行為的任何差異。21下表顯示了 Claude Code 的哪些功能支持 GHES,以及與 github.com 行為的任何差異。

22 22 

23| 功能 | GHES 支持 | 備註 |23| 功能 | GHES 支持 | 備註 |

24| :--------------------- | :------ | :-------------------------------------------------------------------------------------- |24| :------------------- | :------ | :-------------------------------------------------------------------------------------- |

25| Claude Code on the web | ✅ 支持 | 擁有者連接 GHES 實例一次;開發人員像往常一樣使用 `claude --cloud` 或 [claude.ai/code](https://claude.ai/code) |25| Cloud sessions | ✅ 支持 | 擁有者連接 GHES 實例一次;開發人員像往常一樣使用 `claude --cloud` 或 [claude.ai/code](https://claude.ai/code) |

26| Code Review | ✅ 支持 | 與 github.com 相同的自動化 PR 審查 |26| Code Review | ✅ 支持 | 與 github.com 相同的自動化 PR 審查 |

27| Claude Security | ✅ 支持 | 在 Enterprise 計劃的公開測試版中提供,位於 [claude.ai/security](https://claude.ai/security) |27| Claude Security | ✅ 支持 | 在 Enterprise 計劃的公開測試版中提供,位於 [claude.ai/security](https://claude.ai/security) |

28| Teleport sessions | ✅ 支持 | 使用 `--teleport` 在網頁和終端之間移動會話 |28| Teleport sessions | ✅ 支持 | 使用 `--teleport` 在雲端和終端之間移動會話 |

29| Plugin marketplaces | ✅ 支持 | 認證要求因介面而異。請參閱 [GHES 上的 Plugin marketplaces](#plugin-marketplaces-on-ghes) |29| Plugin marketplaces | ✅ 支持 | 認證要求因介面而異。請參閱 [GHES 上的 Plugin marketplaces](#plugin-marketplaces-on-ghes) |

30| Contribution metrics | ✅ 支持 | 通過 webhooks 傳遞到 [analytics dashboard](/docs/zh-TW/analytics) |30| Contribution metrics | ✅ 支持 | 通過 webhooks 傳遞到 [analytics dashboard](/docs/zh-TW/analytics) |

31| GitHub Actions | ✅ 支持 | 需要手動工作流設置;`/install-github-app` 僅適用於 github.com |31| GitHub Actions | ✅ 支持 | 需要手動工作流設置;`/install-github-app` 僅適用於 github.com |


110cd api-service110cd api-service

111```111```

112 112 

113然後啟動網頁工作階段。Claude 會從您的 git remote 偵測 GHES 主機,並透過您組織設定的執行個體路由工作階段:113然後啟動雲端工作階段。Claude 會從您的 git remote 偵測 GHES 主機,並透過您組織設定的執行個體路由工作階段:

114 114 

115```bash theme={null}115```bash theme={null}

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"


122 將 Teleport 工作階段傳送到您的終端機122 將 Teleport 工作階段傳送到您的終端機

123</h3>123</h3>

124 124 

125使用 `claude --teleport` 將網頁工作階段拉入您的本機終端機。Teleport 會驗證您是否在相同 GHES 儲存庫的簽出中,然後再擷取分支並載入工作階段歷史記錄。請參閱 [teleport requirements](/docs/zh-TW/claude-code-on-the-web#teleport-requirements) 以了解詳細資訊。125使用 `claude --teleport` 將雲端工作階段拉入您的本機終端機。Teleport 會驗證您是否在相同 GHES 儲存庫的簽出中,然後再擷取分支並載入工作階段歷史記錄。請參閱 [teleport requirements](/docs/zh-TW/claude-code-on-the-web#teleport-requirements) 以了解詳細資訊。

126 126 

127<h2 id="plugin-marketplaces-on-ghes">127<h2 id="plugin-marketplaces-on-ghes">

128 GHES 上的插件市場128 GHES 上的插件市場


131在您的 GHES 實例上託管插件市場,以在您的組織中分發內部工具。市場結構與 github.com 託管的市場相同,但安裝方式取決於您在何處新增市場,且認證在不同介面上有所不同:131在您的 GHES 實例上託管插件市場,以在您的組織中分發內部工具。市場結構與 github.com 託管的市場相同,但安裝方式取決於您在何處新增市場,且認證在不同介面上有所不同:

132 132 

133| 介面 | 安裝方式 | 每個使用者需要什麼 |133| 介面 | 安裝方式 | 每個使用者需要什麼 |

134| :------------------------------ | :------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------- |134| :------------------------------ | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- |

135| Claude Code CLI 和桌面應用 | Claude Code 使用機器現有的 git 認證複製市場存儲庫 | 從其機器對您的 GHES 主機的 Git 存取權 |135| Claude Code CLI 和桌面應用 | Claude Code 使用機器現有的 git 認證複製市場存儲庫 | 從其機器對您的 GHES 主機的 Git 存取權 |

136| 託管設定 (`extraKnownMarketplaces`) | Claude Code 註冊該項目並使用機器現有的 git 認證複製存儲庫 | 從其機器對您的 GHES 主機的 Git 存取權 |136| 託管設定 (`extraKnownMarketplaces`) | Claude Code 註冊該項目並使用機器現有的 git 認證複製存儲庫 | 從其機器對您的 GHES 主機的 Git 存取權 |

137| claude.ai 組織插件設定 | 擁有者選擇 GHES 實例作為來源;Anthropic 的後端使用來自 [管理員設定](#admin-setup) 的 GitHub App 擷取並同步存儲庫 | 新增後每個使用者無需任何操作。新增它的擁有者需要連接自己的 GitHub Enterprise 帳戶作為存取檢查,且 GitHub App 必須安裝在市場存儲庫上 |137| claude.ai 組織插件設定 | 擁有者選擇 GHES 實例作為來源;Anthropic 的後端使用來自 [管理員設定](#admin-setup) 的 GitHub App 擷取並同步存儲庫 | 新增後每個使用者無需任何操作。新增它的擁有者需要連接自己的 GitHub Enterprise 帳戶作為存取檢查,且 GitHub App 必須安裝在市場存儲庫上 |

138| claude.ai 使用者設定 | Anthropic 的後端使用提交使用者的 GitHub Enterprise 連接擷取存儲庫 | 連接到 Claude 的自己的 GitHub Enterprise 帳戶 |138| claude.ai 使用者設定 | Anthropic 的後端使用提交使用者的 GitHub Enterprise 連接擷取存儲庫 | 連接到 Claude 的自己的 GitHub Enterprise 帳戶 |

139| Claude Code 網頁版 | 雲端工作階段在工作階段沙箱內複製市場。沙箱只有在工作階段的存儲庫位於同一實例上時,才能到達您的 GHES 實例,且其 git 認證的範圍限於工作階段的存儲庫 | 對於 GHES 託管的市場不可靠:與工作階段存儲庫不同的主機無法到達,即使是同一實例的安裝也可能失敗。請改用 CLI、託管設定或 claude.ai |139| Cloud sessions | Cloud sessions 在工作階段沙箱內複製市場。沙箱只有在工作階段的存儲庫位於同一實例上時,才能到達您的 GHES 實例,且其 git 認證的範圍限於工作階段的存儲庫 | 對於 GHES 託管的市場不可靠:與工作階段存儲庫不同的主機無法到達,即使是同一實例的安裝也可能失敗。請改用 CLI、託管設定或 claude.ai |

140 140 

141<Warning>141<Warning>

142 當從使用者設定新增市場時,claude.ai 上的 GitHub Enterprise 連接是按使用者的。[管理員設定](#admin-setup) 將您的 GHES 實例連接到您的組織,但它不連接個別使用者帳戶:每個從自己的設定新增 GHES 市場的使用者必須先連接自己的 GitHub Enterprise 帳戶,且一個使用者的連接(包括擁有者的)不涵蓋任何其他人。由擁有者在組織插件設定中新增的市場不會對使用者施加此要求,因為持續的擷取使用組織的 GitHub App。新增市場的擁有者仍然需要在新增時連接自己的 GitHub Enterprise 帳戶。142 當從使用者設定新增市場時,claude.ai 上的 GitHub Enterprise 連接是按使用者的。[管理員設定](#admin-setup) 將您的 GHES 實例連接到您的組織,但它不連接個別使用者帳戶:每個從自己的設定新增 GHES 市場的使用者必須先連接自己的 GitHub Enterprise 帳戶,且一個使用者的連接(包括擁有者的)不涵蓋任何其他人。由擁有者在組織插件設定中新增的市場不會對使用者施加此要求,因為持續的擷取使用組織的 GitHub App。新增市場的擁有者仍然需要在新增時連接自己的 GitHub Enterprise 帳戶。


220 故障排除220 故障排除

221</h2>221</h2>

222 222 

223<h3 id="web-session-fails-to-clone-repository">223<h3 id="cloud-session-fails-to-clone-repository">

224 網頁會話無法克隆存儲庫224 雲端會話無法克隆存儲庫

225</h3>225</h3>

226 226 

227如果 `claude --cloud` 因克隆錯誤而失敗,請驗證 Owner 已完成您的 GHES 實例的設置,並且 GitHub App 已安裝在您正在使用的存儲庫上。與連接該實例的 Owner 確認在 Claude 設置中註冊的主機名與您的 git 遠端中的主機名匹配。227如果 `claude --cloud` 因克隆錯誤而失敗,請驗證 Owner 已完成您的 GHES 實例的設置,並且 GitHub App 已安裝在您正在使用的存儲庫上。與連接該實例的 Owner 確認在 Claude 設置中註冊的主機名與您的 git 遠端中的主機名匹配。


246 GHES 實例無法訪問246 GHES 實例無法訪問

247</h3>247</h3>

248 248 

249如果審查或 Anthropic 託管的網頁會話超時,您的 GHES 實例可能無法從 Anthropic 基礎設施訪問。確認您的防火牆允許來自 Anthropic 的[出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses)的入站連接。[自託管環境](/docs/zh-TW/self-hosted-environments)中的會話從您的網路內部訪問 GHES,因此對於它們,請檢查執行器自身的網路路徑和[SCM 連接器](/docs/zh-TW/self-hosted-environments-reference#scm-connector-flags)。249如果審查或 Anthropic 託管的雲端會話超時,您的 GHES 實例可能無法從 Anthropic 基礎設施訪問。確認您的防火牆允許來自 Anthropic 的[出站 IP 位址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses)的入站連接。[自託管環境](/docs/zh-TW/self-hosted-environments)中的會話從您的網路內部訪問 GHES,因此對於它們,請檢查執行器自身的網路路徑和 [SCM 連接器](/docs/zh-TW/self-hosted-environments-reference#scm-connector-flags)。

250 250 

251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

252 會話啟動失敗,出現 `Unable to get organization UUID`252 會話啟動失敗,出現 `Unable to get organization UUID`

253</h3>253</h3>

254 254 

255網頁會話需要 Team 或 Enterprise 組織。使用 `/login` 以您的組織帳戶登入。如果您改用 API 金鑰進行身份驗證,網頁會話會更早失敗,並顯示要求您執行 `/login` 的訊息。255雲端會話需要 Team 或 Enterprise 組織。使用 `/login` 以您的組織帳戶登入。如果您改用 API 金鑰進行身份驗證,雲端會話會更早失敗,並顯示要求您執行 `/login` 的訊息。

256 256 

257<h2 id="related-resources">257<h2 id="related-resources">

258 相關資源258 相關資源


260 260 

261這些頁面更深入地涵蓋了本指南中引用的功能:261這些頁面更深入地涵蓋了本指南中引用的功能:

262 262 

263* [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web):在雲基礎設施上運行 Claude Code 會話263* [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web):在雲基礎設施上運行 Claude Code 會話

264* [Code Review](/docs/zh-TW/code-review):自動化 PR 審查264* [Code Review](/docs/zh-TW/code-review):自動化 PR 審查

265* [Plugin marketplaces](/docs/zh-TW/plugin-marketplaces):構建和分發插件目錄265* [Plugin marketplaces](/docs/zh-TW/plugin-marketplaces):構建和分發插件目錄

266* [Analytics](/docs/zh-TW/analytics):跟踪使用情況和貢獻指標266* [Analytics](/docs/zh-TW/analytics):跟踪使用情況和貢獻指標

glossary.md +22 −5

Details

12 A12 A

13</h2>13</h2>

14 14 

15<h3 id="agents-md">

16 AGENTS.md

17</h3>

18 

19您為 AI 編碼代理編寫的專案指示的 markdown 檔案。如果您的儲存庫有一個且沒有 [CLAUDE.md](#claude-md),Claude 會將其讀取為您的專案指示,無需您新增第二個檔案。您可以在 `/config` 中變更**專案指示**設定,讓 Claude 同時讀取兩個檔案或僅讀取 `CLAUDE.md`。直接讀取 `AGENTS.md` 需要會話中的 Claude Code v2.1.277 或更新版本,該會話會擷取功能旗標;在其他版本上,從 CLAUDE.md 匯入它。

20 

21了解更多:[AGENTS.md](/docs/zh-TW/memory#agents-md)

22 

15<h3 id="agent-teams">23<h3 id="agent-teams">

16 Agent teams24 Agent teams

17</h3>25</h3>


122 130 

123您為 Claude 撰寫的持久指示的 markdown 檔案,在每個工作階段開始時作為系統提示之後的使用者訊息載入。將專案慣例、架構筆記和「始終執行 X」規則放在此處。專案根目錄 CLAUDE.md 在[壓縮](#compaction)後保留,並在之後從磁碟重新讀取。131您為 Claude 撰寫的持久指示的 markdown 檔案,在每個工作階段開始時作為系統提示之後的使用者訊息載入。將專案慣例、架構筆記和「始終執行 X」規則放在此處。專案根目錄 CLAUDE.md 在[壓縮](#compaction)後保留,並在之後從磁碟重新讀取。

124 132 

125您可以在專案範圍的 `./CLAUDE.md` 或 `./.claude/CLAUDE.md`、使用者範圍的 `~/.claude/CLAUDE.md` 或作為組織的[受管原則](#managed-settings)放置 CLAUDE.md。所有發現的檔案都會連接到內容中,而不是相互覆蓋,順序從最廣泛的範圍到最具體的範圍。133您可以在專案範圍的 `./CLAUDE.md` 或 `./.claude/CLAUDE.md`、使用者範圍的 `~/.claude/CLAUDE.md` 或作為組織的[受管原則](#managed-settings)放置 CLAUDE.md。所有發現的檔案都會連接到內容中,而不是相互覆蓋,順序從最廣泛的範圍到最具體的範圍。Claude Code 也可以載入專案的 [AGENTS.md](#agents-md) 檔案,單獨或與 CLAUDE.md 一起。

126 134 

127深入瞭解:[CLAUDE.md files](/docs/zh-TW/memory#claude-md-files)135深入瞭解:[CLAUDE.md files](/docs/zh-TW/memory#claude-md-files)

128 136 

137<h3 id="cloud-session">

138 Cloud session

139</h3>

140 

141一個 Claude Code 工作階段,在您關閉筆記型電腦後仍繼續執行,因為它在雲端基礎設施上執行而不是在您的機器上:預設由 Anthropic 管理,或由您的組織運作的[自託管環境](/docs/zh-TW/self-hosted-environments)。您可以從 claude.ai/code、Claude 行動應用程式、選擇了**雲端**的 Desktop 應用程式、`claude --cloud` 或[例行工作](/docs/zh-TW/routines)啟動一個。在您的終端、IDE 或選擇了**本機**的 Desktop 應用程式中的工作階段是本機工作階段;若要從另一個裝置連接到本機工作階段,請使用[遠端控制](#remote-control)。

142 

143深入瞭解:[Use Claude Code in the cloud](/docs/zh-TW/claude-code-on-the-web)

144 

129<h3 id="command">145<h3 id="command">

130 Command146 Command

131</h3>147</h3>


332 Remote Control348 Remote Control

333</h3>349</h3>

334 350 

335一種通過 claude.ai 從您的電話或瀏覽器繼續本地 Claude Code 會話的方式。您的程式碼執行和檔案保留在您的機器上;介面是遠端的。與在 web 上運行的 Claude Code 不同,後者在雲沙箱中運行。351一種通過 claude.ai 從您的電話或瀏覽器繼續本地 Claude Code 會話的方式。您的程式碼執行和檔案保留在您的機器上;介面是遠端的。與[雲端會話](/docs/zh-TW/claude-code-on-the-web)不同,後者在雲沙箱中運行。

336 352 

337了解更多:[Remote Control](/docs/zh-TW/remote-control)353了解更多:[Remote Control](/docs/zh-TW/remote-control)

338 354 


408 Teleport424 Teleport

409</h3>425</h3>

410 426 

411一個命令 `/teleport`,它將雲 Claude Code 會話拉入您的本地終端。Claude 獲取分支、載入對話歷史並從 web 會話的最後狀態恢復。反向方向是 `--cloud`,它將本地任務發送到 web 上執行。427一個命令 `/teleport`,它將雲 Claude Code 會話拉入您的本地終端。Claude 獲取分支、載入對話歷史並從雲會話的最後狀態恢復。反向方向是 `--cloud`,它將本地任務發送到雲上執行。

412 428 

413了解更多:[From web to terminal](/docs/zh-TW/claude-code-on-the-web#from-web-to-terminal)429了解更多:[從雲到終端](/docs/zh-TW/claude-code-on-the-web#from-cloud-to-terminal)

414 430 

415<h3 id="tool">431<h3 id="tool">

416 Tool432 Tool


461這些術語出現在較舊的文件、部落格文章和社群內容中。搜索本網站時使用當前名稱。477這些術語出現在較舊的文件、部落格文章和社群內容中。搜索本網站時使用當前名稱。

462 478 

463| 舊術語 | 現在稱為 | 備註 |479| 舊術語 | 現在稱為 | 備註 |

464| --------------- | --------------------------------------------- | -------------------------- |480| ------------------------------------------------- | --------------------------------------------- | --------------------------------------------------- |

465| Headless mode | [Non-interactive mode](#non-interactive-mode) | 相同的 `-p` 標誌,相同的行為 |481| Headless mode | [Non-interactive mode](#non-interactive-mode) | 相同的 `-p` 標誌,相同的行為 |

482| Web session;「Claude Code on the web」作為任何雲端工作階段的名稱 | [Cloud session](#cloud-session) | 「Claude Code on the web」現在僅命名 claude.ai/code 的瀏覽器介面 |

466| Custom commands | [Skills](#skill) | `.claude/commands/` 檔案仍然有效 |483| Custom commands | [Skills](#skill) | `.claude/commands/` 檔案仍然有效 |

467| Slash commands | Commands | 從產品副本中刪除了「Slash」 |484| Slash commands | Commands | 從產品副本中刪除了「Slash」 |

Details

128 手動設定128 手動設定

129</h2>129</h2>

130 130 

131若要透過環境變數而不是精靈來設定 Google Cloud 的 Agent Platform,例如在 CI 或指令碼化企業推出中,請遵循下列步驟。131若要透過環境變數而非精靈來設定 Google Cloud 的 Agent Platform,例如在 CI 或指令碼化企業推出中,請遵循下列步驟。

132 132 

133<h3 id="1-enable-agent-platform-api">133<h3 id="1-enable-agent-platform-api">

134 1. 啟用 Agent Platform API134 1. 啟用 Agent Platform API

135</h3>135</h3>

136 136 

137在您的 GCP 專案中啟用 Google Cloud 的 Agent Platform API。將 `YOUR-PROJECT-ID` 替換為您的 GCP 專案 ID,並在下面的設定步驟中使用:137在您的 GCP 專案中啟用 Google Cloud 的 Agent Platform API。將 `YOUR-PROJECT-ID` 替換為您的 GCP 專案 ID,並在下方的設定步驟中使用:

138 138 

139```bash theme={null}139```bash theme={null}

140# 設定您的專案 ID140# 設定您的專案 ID


145```145```

146 146 

147<h3 id="2-request-model-access">147<h3 id="2-request-model-access">

148 2. 要求模型存取148 2. 要求模型存取權

149</h3>149</h3>

150 150 

151在 Google Cloud 的 Agent Platform 中要求存取 Claude 模型:151要求在 Google Cloud 的 Agent Platform 中存取 Claude 模型:

152 152 

1531. 導覽至 [Google Cloud 的 Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)1531. 前往 [Google Cloud 的 Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)

1542. 搜尋「Claude」模型1542. 搜尋「Claude」模型

1553. 要求存取所需的 Claude 模型(例如 Claude Sonnet 4.6)1553. 要求存取所需的 Claude 模型(例如 Claude Sonnet 4.6)

1564. 等待核准(可能需要 24-48 小時)1564. 等待核准(可能需要 24-48 小時)


159 3) 設定 GCP 認證159 3) 設定 GCP 認證

160</h3>160</h3>

161 161 

162Claude Code 使用標準的 Google Cloud 驗證。162Claude Code 使用標準 Google Cloud 驗證。

163 163 

164如需詳細資訊,請參閱 [Google Cloud 驗證文件](https://cloud.google.com/docs/authentication)。164如需詳細資訊,請參閱 [Google Cloud 驗證文件](https://cloud.google.com/docs/authentication)。

165 165 

166Claude Code 透過相同的 Application Default Credentials 鏈支援 [X.509 憑證型 Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates)。將 `GOOGLE_APPLICATION_CREDENTIALS` 設定為您的認證設定檔案路徑。166Claude Code 透過相同的 Application Default Credentials 鏈支援 [X.509 憑證型 Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates)。將 `GOOGLE_APPLICATION_CREDENTIALS` 設定為您的認證設定檔路徑。

167 167 

168<Note>168<Note>

169 Claude Code 使用 `ANTHROPIC_VERTEX_PROJECT_ID` 中的專案來處理 Google Cloud 的 Agent Platform 要求,即使 `GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT` 或 `GOOGLE_APPLICATION_CREDENTIALS` 參考的認證檔案包含不同的專案。169 Claude Code 將 Google Cloud 的 Agent Platform 要求定址到 `ANTHROPIC_VERTEX_PROJECT_ID` 中的專案,即使 `GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT` 或 `GOOGLE_APPLICATION_CREDENTIALS` 參考的認證檔案包含不同的專案。

170</Note>170</Note>

171 171 

172<h4 id="advanced-credential-configuration">172<h4 id="advanced-credential-configuration">

173 進階認證設定173 進階認證設定

174</h4>174</h4>

175 175 

176Claude Code 透過 `gcpAuthRefresh` 設定支援 GCP 的自動認證重新整理。將其新增至您的 Claude Code [設定檔](/docs/zh-TW/settings),例如 `~/.claude/settings.json`。當 Claude Code 偵測到您的 GCP 認證已過期或無法載入時,它會執行設定的命令以在重試要求之前取得新認證。176Claude Code 透過 `gcpAuthRefresh` 設定支援 GCP 的自動認證重新整理。將其新增至您的 Claude Code [設定檔](/docs/zh-TW/settings),例如 `~/.claude/settings.json`。當 Claude Code 偵測到您的 GCP 認證已過期或無法載入時,它會執行已設定的命令以在重試要求前取得新認證。

177 177 

178```json theme={null}178```json theme={null}

179{179{


184}184}

185```185```

186 186 

187在執行命令之前,Claude Code 會使用您目前的認證要求存取權杖,以確認它們確實已過期,並在它們仍然有效時跳過命令。187在執行命令前,Claude Code 會使用您目前的認證要求存取權杖,以確認認證確實已過期,並在認證仍然有效時略過命令。

188 188 

189如果檢查未在五秒內完成,Claude Code 也會跳過命令,並僅在要求因認證錯誤而失敗後執行它。在 v2.1.261 之前,逾時的檢查被視為過期的認證,因此命令可能會在啟動時開啟您的瀏覽器,即使您的認證仍然有效。189如果檢查未在五秒內完成,Claude Code 也會略過命令,並僅在要求因認證錯誤而失敗後才執行。在 v2.1.261 之前,逾時的檢查會被視為過期的認證,因此即使您的認證仍然有效,命令也可能在啟動時開啟您的瀏覽器。

190 190 

191Claude Code 會向您顯示命令的輸出,但無法傳送命令互動式輸入。這適用於瀏覽器型驗證流程,其中 CLI 顯示 URL,您在瀏覽器中完成驗證。如果驗證未在三分鐘內完成,重新整理命令會逾時。如果您在專案設定(例如 `.claude/settings.json`)中設定 `gcpAuthRefresh`,Claude Code 會在與[設定檔中的 hooks 相同的工作區信任規則](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)下執行它,其中包括您從未信任的資料夾中的 `-p` 工作階段。191Claude Code 會向您顯示命令的輸出,但無法傳送命令互動式輸入。這適用於 CLI 顯示 URL 且您在瀏覽器中完成驗證的瀏覽器型驗證流程。如果驗證未完成,重新整理命令會在三分鐘後逾時。如果您在專案設定(例如 `.claude/settings.json`)中設定 `gcpAuthRefresh`,Claude Code 會在與設定檔中 hooks 相同的[工作區信任規則](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)下執行,其中包括您從未信任的資料夾中的 `-p` 工作階段。

192 192 

193<h3 id="4-configure-claude-code">193<h3 id="4-configure-claude-code">

194 4. 設定 Claude Code194 4. 設定 Claude Code


205# 選用:覆寫 Agent Platform 端點 URL 以用於自訂端點或閘道205# 選用:覆寫 Agent Platform 端點 URL 以用於自訂端點或閘道

206# export ANTHROPIC_VERTEX_BASE_URL=https://aiplatform.googleapis.com206# export ANTHROPIC_VERTEX_BASE_URL=https://aiplatform.googleapis.com

207 207 

208# 當 CLOUD_ML_REGION=global 時,覆寫不支援全球端點的模型的區域208# 當 CLOUD_ML_REGION=global 時,覆寫不支援全域端點的模型的區域

209export VERTEX_REGION_CLAUDE_HAIKU_4_5=us-east5209export VERTEX_REGION_CLAUDE_HAIKU_4_5=us-east5

210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1

211```211```

212 212 

213大多數模型版本都有對應的 `VERTEX_REGION_CLAUDE_*` 變數。如需完整清單,請參閱[環境變數參考](/docs/zh-TW/env-vars)。檢查 [Google Cloud 的 Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 以確定哪些模型支援全球端點與僅限區域端點。213大多數模型版本都有對應的 `VERTEX_REGION_CLAUDE_*` 變數。請參閱[環境變數參考](/docs/zh-TW/env-vars)以取得完整清單。檢查 [Google Cloud 的 Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 以判斷哪些模型支援全域端點與僅限區域端點。

214 214 

215如果區域值的形狀不像區域或位置名稱,Claude Code 會將其視為未設定。例如,Claude Code 會將包含斜線、點或空格的值視為未設定。Claude Code 會針對每個變數回退到不同的來源:215如果區域值的格式不像區域或位置名稱,Claude Code 會將其視為未設定。例如,Claude Code 會將包含斜線、點或空格的值視為未設定。Claude Code 會針對每個變數回退到不同的來源:

216 216 

217* `VERTEX_REGION_CLAUDE_*`:Claude Code 會回退到 `CLOUD_ML_REGION`。217* `VERTEX_REGION_CLAUDE_*`:Claude Code 回退到 `CLOUD_ML_REGION`。

218* `CLOUD_ML_REGION`:Claude Code 會回退到 `us-east5`。218* `CLOUD_ML_REGION`:Claude Code 回退到 `us-east5`。

219 219 

220[Prompt caching](/docs/zh-TW/prompt-caching) 會自動啟用。若要停用它,請設定 `DISABLE_PROMPT_CACHING=1`。若要要求 1 小時 cache TTL 而不是 5 分鐘預設值,請設定 `ENABLE_PROMPT_CACHING_1H=1`;具有 1 小時 TTL 的 cache 寫入會以更高費率計費。若要為您的主要對話和 Claude Code 在其外部進行的要求設定不同的 TTL,請[自行選擇 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)。220[Prompt caching](/docs/zh-TW/prompt-caching) 會自動啟用。若要停用,請設定 `DISABLE_PROMPT_CACHING=1`。若要要求 1 小時快取 TTL 而非 5 分鐘預設值,請設定 `ENABLE_PROMPT_CACHING_1H=1`;具有 1 小時 TTL 的快取寫入會以更高的費率計費。若要為您的主要對話和 Claude Code 在其外部進行的要求設定不同的 TTL,請[自行選擇 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)。

221 221 

222若要提高速率限制,請聯絡 Google Cloud 支援。使用 Google Cloud 的 Agent Platform 時,`/logout` 命令會被停用,因為驗證是透過 Google Cloud 認證處理的。222若要提高您的速率限制,請聯絡 Google Cloud 支援。使用 Google Cloud 的 Agent Platform 時,`/logout` 命令無法使用,因為驗證是透過 Google Cloud 認證處理。

223 223 

224Claude Code 根據模型世代在 [MCP tool search](/docs/zh-TW/mcp#scale-with-mcp-tool-search) 和預先載入之間進行決定:224Claude Code 根據模型世代在 [MCP 工具搜尋](/docs/zh-TW/mcp#scale-with-mcp-tool-search)和預先載入之間決定:

225 225 

226* **Claude Opus 4.5、Sonnet 4.5、Haiku 4.5 及更新版本**:Claude Code 預設啟用 tool search。226* **Claude Opus 4.5、Sonnet 4.5、Haiku 4.5 及更新版本**:Claude Code 預設啟用工具搜尋。

227* **較早的模型,包括所有 Claude 3.x 模型**:Claude Code 預先載入 MCP tool 定義,因為它們的 Agent Platform 服務堆疊拒絕所需的 beta 標頭。設定 `ENABLE_TOOL_SEARCH=true` 不會覆寫此設定。227* **較早的模型,包括所有 Claude 3.x 模型**:Claude Code 預先載入 MCP 工具定義,因為其 Agent Platform 服務堆疊拒絕所需的 beta 標頭。設定 `ENABLE_TOOL_SEARCH=true` 不會覆寫此設定。

228 228 

229設定 `ENABLE_TOOL_SEARCH=false` 以在每個模型上停用 tool search。在 v2.1.221 之前,Claude Code 在 Google Cloud 的 Agent Platform 上停用了所有模型的 tool search,除非您設定 `ENABLE_TOOL_SEARCH=true`。229設定 `ENABLE_TOOL_SEARCH=false` 以在每個模型上停用工具搜尋。在 v2.1.221 之前,Claude Code 在 Google Cloud 的 Agent Platform 上停用所有模型的工具搜尋,除非您設定 `ENABLE_TOOL_SEARCH=true`。

230 230 

231<h3 id="5-pin-model-versions">231<h3 id="5-pin-model-versions">

232 5. 固定模型版本232 5. 釘選模型版本

233</h3>233</h3>

234 234 

235<Warning>235<Warning>

236 在部署到多個使用者時固定特定模型版本。如果不固定,模型別名(例如 `sonnet` 和 `opus`)會解析為 Claude Code 針對 Google Cloud 的 Agent Platform 的內建預設值,該預設值可能落後於最新版本,且可能尚未在您的專案中啟用。Claude Code 在啟動時會在預設值無法使用時[回退](#startup-model-checks)到先前版本或較低階層模型,但固定可讓您控制使用者何時移至新模型。236 在部署到多個使用者時釘選特定模型版本。不釘選的情況下,模型別名(例如 `sonnet` 和 `opus`)會解析為 Claude Code 針對 Google Cloud 的 Agent Platform 的內建預設值,這可能會落後最新版本,且可能尚未在您的專案中啟用。Claude Code 在啟動時會在預設值無法使用時[回退](#startup-model-checks)到較早或較低階的模型,但釘選可讓您控制使用者何時移至新模型。

237</Warning>237</Warning>

238 238 

239將這些環境變數設定為特定的 Google Cloud 的 Agent Platform 模型 ID。239將這些環境變數設定為特定 Google Cloud 的 Agent Platform 模型 ID。

240 240 

241如果沒有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,Google Cloud 的 Agent Platform 上的 `opus` 別名會解析為 Opus 5,如果沒有 `ANTHROPIC_DEFAULT_SONNET_MODEL`,`sonnet` 別名會解析為 Sonnet 4.5。此範例將每個別名固定為特定版本:241不使用 `ANTHROPIC_DEFAULT_OPUS_MODEL` 的情況下,Google Cloud 的 Agent Platform 上的 `opus` 別名會解析為 Opus 5,不使用 `ANTHROPIC_DEFAULT_SONNET_MODEL` 的情況下,`sonnet` 別名會解析為 Sonnet 4.5。此範例將每個別名釘選到特定版本:

242 242 

243```bash theme={null}243```bash theme={null}

244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'


246export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'246export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

247```247```

248 248 

249如需目前和舊版模型 ID,請參閱[模型概覽](https://platform.claude.com/docs/en/about-claude/models/overview)。如需完整的環境變數清單,請參閱[模型設定](/docs/zh-TW/model-config#pin-models-for-third-party-deployments)。249如需目前和舊版模型 ID,請參閱[模型概觀](https://platform.claude.com/docs/en/about-claude/models/overview)。請參閱[模型設定](/docs/zh-TW/model-config#pin-models-for-third-party-deployments)以取得完整的環境變數清單。

250 250 

251Claude Code 使用這些預設模型,當未設定固定變數時:251未設定釘選變數時,Claude Code 會使用這些預設模型:

252 252 

253| 模型類型 | 預設值 |253| 模型類型 | 預設值 |

254| :------ | :--------------------------- |254| :------ | :--------------------------- |

255| 主要模型 | `claude-opus-5` |255| 主要模型 | `claude-opus-5` |

256| 小型/快速模型 | `claude-sonnet-4-5@20250929` |256| 小型/快速模型 | `claude-sonnet-4-5@20250929` |

257 257 

258背景工作(例如工作階段標題產生)使用小型/快速模型,通常是 Haiku 級模型。在 Google Cloud 的 Agent Platform 上,Claude Code 使用預設 Sonnet 模型進行背景工作,因為 Haiku 可能不會在每個專案或區域中啟用。有兩個選項會變更哪個模型執行這些工作:258背景工作(例如工作階段標題產生)使用小型/快速模型,通常是 Haiku 級模型。在 Google Cloud 的 Agent Platform 上,Claude Code 針對背景工作使用預設 Sonnet 模型,因為 Haiku 可能未在每個專案或區域中啟用。兩個選項會變更哪個模型執行它們:

259 259 

260* 當您使用 `--model`、`ANTHROPIC_MODEL` 或 `model` 設定選擇主要模型時,背景工作會使用該模型。當 Claude Code 在您使用 [`ANTHROPIC_DEFAULT_MODEL`](/docs/zh-TW/model-config#set-a-default-model-for-new-sessions) 設定的模型上啟動工作階段時,背景工作也會使用該模型。設定 `ANTHROPIC_DEFAULT_OPUS_MODEL` 而不設定 `ANTHROPIC_DEFAULT_SONNET_MODEL` 也算是一個選擇,因為內建 Sonnet 模型可能在引導自己的 Opus 的專案中未啟用。260* 當您使用 `--model`、`ANTHROPIC_MODEL` 或 `model` 設定選擇主要模型時,背景工作會使用該模型。當 Claude Code 在您使用 [`ANTHROPIC_DEFAULT_MODEL`](/docs/zh-TW/model-config#set-a-default-model-for-new-sessions) 設定的模型上啟動工作階段時,背景工作也會使用該模型。設定 `ANTHROPIC_DEFAULT_OPUS_MODEL` 而不設定 `ANTHROPIC_DEFAULT_SONNET_MODEL` 也會計為選擇,因為內建 Sonnet 模型可能未在引導其自身 Opus 的專案中啟用。

261* 若要使用 Haiku 進行背景工作,請將 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 設定為您專案中可用的模型 ID。261* 若要針對背景工作使用 Haiku,請將 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 設定為您的專案中可用的模型 ID。

262 262 

263<Warning>263<Warning>

264 Opus 模型的每個 token 價格高於 Sonnet 模型,因此不固定主要模型的部署在更新到 v2.1.207 或更新版本後會以 Opus 費率計費。若要保持 Sonnet 4.5 作為主要模型,請將 `ANTHROPIC_MODEL` 設定為其完整模型 ID。使用 `ANTHROPIC_DEFAULT_SONNET_MODEL` 引導預設值且未設定 `ANTHROPIC_DEFAULT_OPUS_MODEL` 的部署會保持其引導的 Sonnet 模型作為預設值。264 Opus 模型的每權杖價格高於 Sonnet 模型,因此不釘選主要模型的部署在更新至 v2.1.207 或更新版本後會以 Opus 費率計費。若要將 Sonnet 4.5 保持為主要模型,請將 `ANTHROPIC_MODEL` 設定為其完整模型 ID。引導預設值為 `ANTHROPIC_DEFAULT_SONNET_MODEL` 且未設定 `ANTHROPIC_DEFAULT_OPUS_MODEL` 的部署會將其引導的 Sonnet 模型保持為預設值。

265</Warning>265</Warning>

266 266 

267在 v2.1.207 至 v2.1.218 上,Google Cloud 的 Agent Platform 上的主要模型預設為 Opus 4.8,`opus` 別名解析為 Opus 4.8。在 v2.1.207 之前,主要模型預設為 Sonnet 4.5,`opus` 別名解析為 Opus 4.6,背景工作始終使用主要模型。267在 v2.1.207 至 v2.1.218 上,Google Cloud 的 Agent Platform 上的主要模型預設為 Opus 4.8,`opus` 別名解析為 Opus 4.8。在 v2.1.207 之前,主要模型預設為 Sonnet 4.5,`opus` 別名解析為 Opus 4.6,背景工作一律使用主要模型。

268 268 

269若要進一步自訂模型:269若要進一步自訂模型:

270 270 


277 6. 驗證您的設定277 6. 驗證您的設定

278</h3>278</h3>

279 279 

280啟動 Claude Code 並執行 `/status` 以確認設定。`API provider` 行顯示 `Google Vertex AI`,`GCP project`、`Default region` 和 `Model` 行顯示您的專案 ID、區域和已解析的模型。如果提供者行遺失,環境變數未到達該程序。確認它們已在您啟動 `claude` 的 shell 中匯出,或在您的[設定檔](/docs/zh-TW/settings)的 `env` 區塊中設定。280啟動 Claude Code 並執行 `/status` 以確認設定。`API provider` 行顯示 `Google Vertex AI`,`GCP project`、`Default region` 和 `Model` 行顯示您的專案 ID、區域和已解析的模型。如果提供者行遺失,環境變數未到達程序。確認它們已在您啟動 `claude` 的殼層中匯出,或在您的[設定檔](/docs/zh-TW/settings)的 `env` 區塊中設定。

281 281 

282<h2 id="startup-model-checks">282<h2 id="startup-model-checks">

283 啟動模型檢查283 啟動模型檢查

headless.md +77 −71

Details

95 範例95 範例

96</h2>96</h2>

97 97 

98這些範例突出顯示常見的 CLI 模式。對於命名檔案(例如 `auth.py` 或 `build-error.txt`)的命令,請替換您自己專案中的檔案。在 CI 或其他指令碼環境中,新增 [`--bare`](#start-faster-with-bare-mode) 以便 Claude Code 啟動時不會載入主機的 hooks、外掛程式、自動記憶或 `CLAUDE.md`。98這些範例突出了常見的 CLI 模式。如果命令指定了檔案(例如 `auth.py` 或 `build-error.txt`),請替換為您自己專案中的檔案。在 CI 或其他指令碼環境中,添加 [`--bare`](#start-faster-with-bare-mode),以便 Claude Code 啟動時不載入主機的 hooks、plugins、自動記憶或 `CLAUDE.md`。

99 99 

100<h3 id="pipe-data-through-claude">100<h3 id="pipe-data-through-claude">

101 透過 Claude 管道傳送資料101 透過 Claude 傳輸資料

102</h3>102</h3>

103 103 

104非互動模式讀取 stdin,因此您可以像任何其他命令列工具一樣管道傳送資料並重新導向回應。104非互動模式讀取 stdin,因此您可以像任何其他命令列工具一樣透過管道傳入資料並重新導向回應。

105 105 

106此範例將建置日誌管道傳送至 Claude 並將說明寫入檔案:106此範例將建置日誌傳輸到 Claude 並將說明寫入檔案:

107 107 

108```bash theme={null}108```bash theme={null}

109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

110```110```

111 111 

112使用 `--output-format json`,回應承載包括 `total_cost_usd` 和每個模型的成本明細,因此指令碼呼叫者可以追蹤每次叫用的支出,而無需查詢 [使用儀表板](/docs/zh-TW/costs)。兩個數字都是 [用戶端估計](/docs/zh-TW/agent-sdk/cost-tracking),可能與您的實際帳單不同。112使用 `--output-format json` 時,回應承載包括 `total_cost_usd` 和按模型的成本明細,因此指令碼呼叫者可以追蹤每次調用的支出,而無需查詢[使用儀表板](/docs/zh-TW/costs)。這兩個數字都是[用戶端估計](/docs/zh-TW/agent-sdk/cost-tracking),可能與您的實際帳單不同。

113 113 

114<Note>114<Note>

115 管道傳送的 stdin 上限為 10MB。如果超過上限,Claude Code 會以清晰的錯誤和非零狀態代碼退出。若要處理更大的輸入,請將內容寫入檔案,並在提示中參考檔案路徑,而不是管道傳送它。115 管道 stdin 的上限為 10MB。如果超過上限,Claude Code 會以清晰的錯誤訊息退出並返回非零狀態。若要處理更大的輸入,請將內容寫入檔案,並在提示中參考檔案路徑,而不是透過管道傳輸。

116</Note>116</Note>

117 117 

118如果 Claude Code 無法讀取 stdin(例如因為啟動它的程序斷開了其端點),Claude Code 會列印警告至 stderr 並繼續使用命令列中的提示。在 v2.1.211 之前,Windows 上無法讀取的 stdin 會導致工作階段當機或以無輸出的方式無聲退出。118如果 Claude Code 無法讀取 stdin(例如因為啟動它的程序斷開了其端點),Claude Code 會向 stderr 列印警告並繼續使用命令列中的提示。在 v2.1.211 之前,Windows 上無法讀取的 stdin 會導致工作階段崩潰或無輸出地無聲退出。

119 119 

120<h3 id="add-claude-to-a-build-script">120<h3 id="add-claude-to-a-build-script">

121 將 Claude 新增至建置指令碼121 將 Claude 添加到建置指令碼

122</h3>122</h3>

123 123 

124您可以在指令碼中包裝非互動呼叫,以將 Claude 用作專案特定的 linter 或審查者。124您可以在指令碼中包裝非互動呼叫,以將 Claude 用作專案特定的 linter 或審查者。

125 125 

126此 `package.json` 指令碼將針對 `main` 的差異管道傳送至 Claude,並要求它報告拼寫錯誤。管道傳送差異意味著 Claude 不需要 Bash 權限來讀取它,而逸出的雙引號使指令碼可移植到 Windows:126此 `package.json` 指令碼將針對 `main` 的差異傳輸到 Claude,並要求它報告拼寫錯誤。傳輸差異意味著 Claude 不需要 Bash 權限來讀取它,而轉義的雙引號使指令碼可移植到 Windows:

127 127 

128```json theme={null}128```json theme={null}

129{129{


139 取得結構化輸出139 取得結構化輸出

140</h3>140</h3>

141 141 

142使用 `--output-format` 控制回應的傳回方式:142使用 `--output-format` 控制回應的返回方式:

143 143 

144* `text`(預設):純文字輸出144* `text`(預設):純文字輸出

145* `json`:包含結果、工作階段 ID 和中繼資料的結構化 JSON145* `json`:包含結果、工作階段 ID 和中繼資料的結構化 JSON

146* `stream-json`:用於即時串流的換行分隔 JSON146* `stream-json`:用於即時串流的換行分隔 JSON

147 147 

148此範例以 JSON 格式傳回專案摘要及工作階段中繼資料,文字結果在 `result` 欄位中:148此範例以 JSON 格式返回專案摘要及工作階段中繼資料,文字結果在 `result` 欄位中:

149 149 

150```bash theme={null}150```bash theme={null}

151claude -p "Summarize this project" --output-format json151claude -p "Summarize this project" --output-format json

152```152```

153 153 

154若要取得符合特定結構描述的輸出,請使用 `--output-format json` 搭配 `--json-schema` 和 [JSON Schema](https://json-schema.org/) 定義。回應包含關於請求的中繼資料(工作階段 ID、使用情況等),結構化輸出在 `structured_output` 欄位中。154若要取得符合特定結構描述的輸出,請使用 `--output-format json` 搭配 `--json-schema` 和 [JSON Schema](https://json-schema.org/) 定義。回應包括關於請求的中繼資料(工作階段 ID、使用情況等),結構化輸出在 `structured_output` 欄位中。

155 155 

156此範例從 auth.py 提取函式名稱並將其作為字串陣列傳回:156此範例從 auth.py 提取函式名稱並將其作為字串陣列返回:

157 157 

158```bash theme={null}158```bash theme={null}

159claude -p "Extract the main function names from auth.py" \159claude -p "Extract the main function names from auth.py" \


161 --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}'161 --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}'

162```162```

163 163 

164如果值不是有效的 JSON Schema,`claude` 會以 `Error: --json-schema is not a valid JSON Schema` 退出,後面跟著驗證器的診斷。Claude Code 接受使用 `format` 關鍵字的結構描述,例如 `"format": "email"`,但將 `format` 視為註解,不強制執行它。在 v2.1.205 之前,Claude Code 會以無聲方式忽略無效的結構描述並傳回非結構化文字,並將任何包含 `format` 的結構描述視為無效。164如果值不是有效的 JSON Schema,`claude` 會以 `Error: --json-schema is not a valid JSON Schema` 退出,後面跟著驗證器的診斷。Claude Code 接受使用 `format` 關鍵字的結構描述,例如 `"format": "email"`,但將 `format` 視為註解,不強制執行。在 v2.1.205 之前,Claude Code 無聲地忽略無效的結構描述並返回非結構化文字,並將任何包含 `format` 的結構描述視為無效。

165 165 

166<Tip>166<Tip>

167 使用 [jq](https://jqlang.org/) 之類的工具來解析回應並提取特定欄位:167 使用 [jq](https://jqlang.org/) 之類的工具來解析回應並提取特定欄位:


182 串流回應182 串流回應

183</h3>183</h3>

184 184 

185使用 `--output-format stream-json` 搭配 `--verbose` 和 `--include-partial-messages` 以在產生令牌時接收它們。每一行都是代表事件的 JSON 物件:185使用 `--output-format stream-json` 搭配 `--verbose` 和 `--include-partial-messages` 以在產生令牌時接收它們。每一行都是代表一個事件的 JSON 物件:

186 186 

187```bash theme={null}187```bash theme={null}

188claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages188claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages


190 190 

191串流的最後一行是包含最終回應文字、成本和工作階段中繼資料的 `result` 訊息。191串流的最後一行是包含最終回應文字、成本和工作階段中繼資料的 `result` 訊息。

192 192 

193如果您的消費者緩慢讀取串流,Claude Code 會等待佇列中的輸出排出後再退出,根據仍在佇列中的數量調整等待時間,上限為 30 秒。在 v2.1.214 之前,退出等待上限約為 2 秒,這可能會截斷大型回應的結尾。193如果您的消費者緩慢讀取串流,Claude Code 會等待佇列中的輸出排出後再退出,根據仍在佇列中的數量調整等待時間,上限為 30 秒。在 v2.1.214 之前,退出等待上限約為 2 秒,這可能會截斷大型回應的末尾。

194 194 

195下列範例使用 [jq](https://jqlang.org/) 篩選文字差異並僅顯示串流文字。`-r` 旗標輸出原始字串(無引號),`-j` 不帶換行符號的聯結,因此令牌會連續串流:195以下範例使用 [jq](https://jqlang.org/) 篩選文字增量並僅顯示串流文字。`-r` 旗標輸出原始字串(無引號),`-j` 不帶換行符連接,因此令牌連續串流:

196 196 

197```bash theme={null}197```bash theme={null}

198claude -p "Write a poem" --output-format stream-json --verbose --include-partial-messages | \198claude -p "Write a poem" --output-format stream-json --verbose --include-partial-messages | \

199 jq -rj 'select(.type == "stream_event" and .event.delta.type? == "text_delta") | .event.delta.text'199 jq -rj 'select(.type == "stream_event" and .event.delta.type? == "text_delta") | .event.delta.text'

200```200```

201 201 

202如需具有回呼和訊息物件的程式化串流,請參閱 Agent SDK 文件中的 [即時串流回應](/docs/zh-TW/agent-sdk/streaming-output)。202如需具有回呼和訊息物件的程式化串流,請參閱 Agent SDK 文件中的[即時串流回應](/docs/zh-TW/agent-sdk/streaming-output)。

203 203 

204<h4 id="follow-subagent-messages">204<h4 id="follow-subagent-messages">

205 追蹤子代理訊息205 追蹤子代理訊息

206</h4>206</h4>

207 207 

208來自 [子代理](/docs/zh-TW/sub-agents) 的訊息在串流中顯示為 `assistant` 和 `user` 訊息,其 `parent_tool_use_id` 欄位是產生子代理的工具呼叫的 ID。來自主要對話的訊息在該欄位中帶有 `null`。208來自[子代理](/docs/zh-TW/sub-agents)的訊息在串流中顯示為 `assistant` 和 `user` 訊息,其 `parent_tool_use_id` 欄位是產生子代理的工具呼叫的 ID。來自主要對話的訊息在該欄位中帶有 `null`。

209 209 

210來自在 [前景](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background) 執行的子代理的第一條訊息是帶有驅動它的提示的 `user` 訊息。在該第一條訊息之後,Claude Code 發出:210來自在[前景](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)中執行的子代理的第一條訊息是 `user` 訊息,帶有驅動它的提示。在該第一條訊息之後,Claude Code 發出:

211 211 

212* **預設情況下**:子代理的 `tool_use` 和 `tool_result` 區塊。212* **預設情況下**:子代理的 `tool_use` 和 `tool_result` 區塊。

213* **使用 [`--forward-subagent-text`](/docs/zh-TW/cli-reference#cli-flags) 或 [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/zh-TW/env-vars)**:子代理的文字和思考區塊也是,因此您可以重建每個子代理的文字記錄。這需要 Claude Code v2.1.211 或更新版本。213* **使用 [`--forward-subagent-text`](/docs/zh-TW/cli-reference#cli-flags) 或 [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/zh-TW/env-vars)**:子代理的文字和思考區塊,因此您可以重建每個子代理的文字記錄。這需要 Claude Code v2.1.211 或更新版本。

214 214 

215當您啟用任一選項時,Claude Code 從 [每個巢狀深度的子代理](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 轉發訊息:當子代理產生其自己的子代理時,巢狀子代理的訊息在 `parent_tool_use_id` 中帶有產生它的 Agent 工具呼叫的 ID,因此您可以透過追蹤這些 ID 來重建完整的巢狀樹。在 v2.1.219 之前,來自巢狀子代理的訊息未出現在串流中。215當您啟用任一選項時,Claude Code 從[每個巢狀深度的子代理](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents)轉發訊息:當子代理產生自己的子代理時,巢狀子代理的訊息在 `parent_tool_use_id` 中帶有產生它的 Agent 工具呼叫的 ID,因此您可以透過追蹤這些 ID 來重建完整的巢狀樹。在 v2.1.219 之前,來自巢狀子代理的訊息不會出現在串流中。

216 216 

217[在子代理中執行](/docs/zh-TW/skills#run-skills-in-a-subagent) 的 Skills 在串流中以相同方式出現:分叉的 skill 的第一條訊息是帶有驅動執行的 skill 內容的 `user` 訊息。如果您啟用任一選項,串流也會帶有分叉的 skill 的文字和思考區塊。在 v2.1.265 之前,只有分叉的 skill 的 `tool_use` 和 `tool_result` 區塊出現在串流中。217[在子代理中執行](/docs/zh-TW/skills#run-skills-in-a-subagent)的 Skills 在串流中以相同方式出現:分叉的 skill 的第一條訊息是 `user` 訊息,帶有驅動執行的 skill 內容。如果您啟用任一選項,串流也會帶有分叉的 skill 的文字和思考區塊。在 v2.1.265 之前,只有分叉的 skill 的 `tool_use` 和 `tool_result` 區塊出現在串流中。

218 218 

219<h4 id="handle-api-retries">219<h4 id="handle-api-retries">

220 處理 API 重試220 處理 API 重試

221</h4>221</h4>

222 222 

223當 API 請求因可重試錯誤而失敗時,Claude Code 在重試前發出 `system/api_retry` 事件。在 v2.1.246 或更新版本上,當 `401` 或 `403` 拒絕 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 認證時,Claude Code 以無聲方式進行前兩次重試,沒有事件,然後從第三次連續重試開始照常發出事件。無聲重試仍計入 `attempt`。您可以使用事件在您自己的介面中顯示重試進度。223當 API 請求因可重試的錯誤而失敗時,Claude Code 在重試前發出 `system/api_retry` 事件。在 v2.1.246 或更新版本上,當 `401` 或 `403` 拒絕 [`apiKeyHelper`](/docs/zh-TW/settings-reference#apikeyhelper) 認證時,Claude Code 無聲地進行前兩次重試,沒有事件,然後從第三次連續重試開始照常發出事件。無聲重試仍計入 `attempt`。您可以使用該事件在自己的介面中顯示重試進度。

224 224 

225| 欄位 | 類型 | 描述 |225| 欄位 | 類型 | 說明 |

226| ---------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| ---------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

227| `type` | `"system"` | 訊息類型 |227| `type` | `"system"` | 訊息類型 |

228| `subtype` | `"api_retry"` | 將此識別為重試事件 |228| `subtype` | `"api_retry"` | 將此識別為重試事件 |

229| `attempt` | 整數 | 目前嘗試次數,從 1 開始 |229| `attempt` | 整數 | 目前嘗試次數,從 1 開始 |

230| `max_retries` | 整數 | 允許的總重試次數,對於此失敗的原因可能少於工作階段範圍的預算 |230| `max_retries` | 整數 | 此失敗原因允許的總重試次數,可能少於工作階段範圍的預算 |

231| `retry_delay_ms` | 整數 | 毫秒直到下一次嘗試 |231| `retry_delay_ms` | 整數 | 下次嘗試前的毫秒數 |

232| `error_status` | 整數或 null | 失敗嘗試的 HTTP 狀態碼,或 `null` 表示當嘗試未從 API 獲得 HTTP 回應時 |232| `error_status` | 整數或 null | 失敗嘗試的 HTTP 狀態碼,或當嘗試未從 API 獲得 HTTP 回應時為 `null` |

233| `no_response` | 物件,選用 | 僅當失敗的嘗試 [未及時獲得回應標頭](/docs/zh-TW/errors#no-response-from-api) 時出現。`waited_ms` 是該嘗試等待的時間,`retry_wait_ms` 是重試將等待的時間。在這些事件中,`max_retries` 反映此原因通常獲得的一次重試,而不是工作階段範圍的預算。需要 Claude Code v2.1.261 或更新版本 |233| `no_response` | 物件,選用 | 僅當失敗的嘗試[未及時獲得回應標頭](/docs/zh-TW/errors#no-response-from-api)時出現。`waited_ms` 是該嘗試等待的時間,`retry_wait_ms` 是重試將等待的時間。在這些事件中,`max_retries` 反映此原因通常獲得的一次重試,而不是工作階段範圍的預算。需要 Claude Code v2.1.261 或更新版本 |

234| `error` | 字串 | 錯誤類別:`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`rate_limit`、`overloaded`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error` 或 `unknown` |234| `error` | 字串 | 錯誤類別:`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`rate_limit`、`overloaded`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error` 或 `unknown` |

235| `uuid` | 字串 | 唯一事件識別碼 |235| `uuid` | 字串 | 唯一事件識別碼 |

236| `session_id` | 字串 | 事件所屬的工作階段 |236| `session_id` | 字串 | 事件所屬的工作階段 |


239 讀取工作階段中繼資料239 讀取工作階段中繼資料

240</h4>240</h4>

241 241 

242`system/init` 事件報告工作階段中繼資料,包括模型、工具、MCP 伺服器和載入的外掛程式。除非啟動事件在其前面,否則它是串流中的第一個事件:242`system/init` 事件報告工作階段中繼資料,包括模型、工具、MCP 伺服器和載入的 plugins。除非啟動事件在其前面,否則它是串流中的第一個事件:

243 243 

244* `plugin_install` 事件,當設定了 [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/zh-TW/env-vars) 時。244* `plugin_install` 事件,當設定 [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/zh-TW/env-vars) 時。

245* [`hook_started`、`hook_progress` 和 `hook_response` 事件](/docs/zh-TW/agent-sdk/typescript#sdkhookstartedmessage),當設定的 [`SessionStart`](/docs/zh-TW/hooks#sessionstart) 或 [`Setup`](/docs/zh-TW/hooks#setup) hook 執行時。這些會在 hook 產生時串流。Claude Code v2.1.169 至 v2.1.203 在 hook 完成後以一個批次傳遞它們,仍在 `system/init` 之前;v2.1.204 恢復了即時傳遞。245* [`hook_started`、`hook_progress` 和 `hook_response` 事件](/docs/zh-TW/agent-sdk/typescript#sdkhookstartedmessage),當配置的 [`SessionStart`](/docs/zh-TW/hooks#sessionstart) 或 [`Setup`](/docs/zh-TW/hooks#setup) hook 執行時。這些在 hook 產生時作為串流。Claude Code v2.1.169 至 v2.1.203 在 hook 完成後以一個批次傳遞它們,仍在 `system/init` 之前;v2.1.204 恢復了即時傳遞。

246 246 

247該事件也包含一個選用的 `capabilities` 字串陣列,命名此 Claude Code 版本實施的協定行為,例如 `interrupt_receipt_v1` 或 `interrupt_cancel_queued_v1`。檢查它以進行功能偵測,而不是比較版本字串,並忽略您不認識的值。該欄位需要 Claude Code v2.1.205 或更新版本,在較早版本中不存在。請參閱 [`SDKSystemMessage`](/docs/zh-TW/agent-sdk/typescript#sdksystemmessage) 以取得功能清單。247該事件還帶有一個選用的 `capabilities` 字串陣列,命名此 Claude Code 版本實現的協議行為,例如 `interrupt_receipt_v1` 或 `interrupt_cancel_queued_v1`。檢查它以進行功能偵測,而不是比較版本字串,並忽略您不認識的值。該欄位需要 Claude Code v2.1.205 或更新版本,在較早版本中不存在。有關功能清單,請參閱 [`SDKSystemMessage`](/docs/zh-TW/agent-sdk/typescript#sdksystemmessage)。

248 248 

249<h4 id="fail-ci-when-a-plugin-or-mcp-server-doesn’t-load">249<h4 id="fail-ci-when-a-plugin-or-mcp-server-doesn’t-load">

250 當外掛程式或 MCP 伺服器未載入時使 CI 失敗250 當 plugin 或 MCP 伺服器未載入時使 CI 失敗

251</h4>251</h4>

252 252 

253使用 `system/init` 事件中的外掛程式欄位來捕捉未載入的外掛程式:253使用 `system/init` 事件中的 plugin 欄位來捕捉未載入的 plugin:

254 254 

255| 欄位 | 類型 | 描述 |255| 欄位 | 類型 | 說明 |

256| --------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------- |256| --------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------- |

257| `plugins` | 陣列 | 成功載入的外掛程式,每個都有 `name` 和 `path` |257| `plugins` | 陣列 | 成功載入的 plugins,每個都有 `name` 和 `path` |

258| `plugin_errors` | 陣列 | 外掛程式載入時間錯誤,每個都有 `plugin`、`type` 和 `message`。包括不滿足的相依性版本和 `--plugin-dir` 載入失敗,例如遺失的路徑或無效的封存。受影響的外掛程式被降級並從 `plugins` 中缺失。當沒有錯誤時,金鑰被省略 |258| `plugin_errors` | 陣列 | plugin 載入時錯誤,每個都有 `plugin`、`type` 和 `message`。包括不滿足的依賴版本和 `--plugin-dir` 載入失敗,例如遺失的路徑或無效的存檔。受影響的 plugins 被降級並從 `plugins` 中移除。當沒有錯誤時,該鍵被省略 |

259 259 

260以相同方式使用 MCP 伺服器欄位。當您使用 `-p` 傳遞 [`--mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 時,Claude Code 在執行第一次轉換前等待仍在待處理的伺服器,最多達 [`MCP_TIMEOUT`](/docs/zh-TW/env-vars) 啟動逾時,預設 30 秒。具有 [快取工具清單](/docs/zh-TW/agent-sdk/mcp#connection-timing) 的遠端伺服器跳過等待,在 `system/init` 中顯示 `pending`,並在其第一次工具呼叫時連接。等待需要 Claude Code v2.1.221 或更新版本。260以相同方式使用 MCP 伺服器欄位。當您使用 `-p` 傳遞 [`--mcp-config`](/docs/zh-TW/cli-reference#cli-flags) 時,Claude Code 在執行第一個回合前等待仍在等待的伺服器,最多等待 [`MCP_TIMEOUT`](/docs/zh-TW/env-vars) 啟動逾時,預設為 30 秒。具有[快取工具清單](/docs/zh-TW/agent-sdk/mcp#connection-timing)的遠端伺服器跳過等待,在 `system/init` 中顯示 `pending`,並在其第一次工具呼叫時連接。等待需要 Claude Code v2.1.221 或更新版本。

261 261 

262Claude Code 在啟動時驗證每個 `--mcp-config` 項目,並跳過驗證失敗的項目,例如沒有 `type` 的 `url` 項目。執行繼續並乾淨地退出,因此檢查這些欄位以捕捉未載入的伺服器:262Claude Code 在啟動時驗證每個 `--mcp-config` 項目,並跳過驗證失敗的項目,例如沒有 `type` 的 `url` 項目。執行繼續並乾淨地退出,因此檢查這些欄位以捕捉未載入的伺服器:

263 263 

264| 欄位 | 類型 | 描述 |264| 欄位 | 類型 | 說明 |

265| ------------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |265| ------------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

266| `mcp_servers` | 陣列 | 工作階段中的 MCP 伺服器,每個都有 `name` 和 `status` |266| `mcp_servers` | 陣列 | 工作階段中的 MCP 伺服器,每個都有 `name` 和 `status` |

267| `mcp_server_errors` | 陣列 | 由設定驗證跳過的 `--mcp-config` 項目,每個都有 `name`、`type` 和 `message`。`type` 是跳過類別,例如 `unknown_type`、`url_missing_type`、`invalid_config` 或 `reserved_name`;將您不認識的值視為通用跳過。受影響的伺服器從 `mcp_servers` 中缺失。當沒有錯誤時,金鑰被省略,因此 CI 閘道可以在非空陣列上失敗。需要 Claude Code v2.1.219 或更新版本 |267| `mcp_server_errors` | 陣列 | 由配置驗證跳過的 `--mcp-config` 項目,每個都有 `name`、`type` 和 `message`。`type` 是跳過類別,例如 `unknown_type`、`url_missing_type`、`invalid_config` 或 `reserved_name`;將您不認識的值視為通用跳過。受影響的伺服器從 `mcp_servers` 中移除。當沒有錯誤時,該鍵被省略,因此 CI 閘道可以在非空陣列上失敗。需要 Claude Code v2.1.219 或更新版本 |

268 268 

269當您在終端機中手動執行命令時,Claude Code 也會列印啟動警告至 stderr,例如 `Warning: 1 MCP server skipped due to invalid config:`,後面跟著每個跳過項目的原因。當您重新導向 stderr,或當程式(例如 CI 執行器或 SDK 主機)捕捉它時,Claude Code 不列印警告,並僅在 `mcp_server_errors` 欄位中報告跳過的項目。警告需要 Claude Code v2.1.219 或更新版本。269當您在終端中手動執行命令時,Claude Code 也會向 stderr 列印啟動警告,例如 `Warning: 1 MCP server skipped due to invalid config:`,後面跟著每個跳過項目的原因。當您重新導向 stderr 或當 CI 執行器或 SDK 主機等程式捕捉它時,Claude Code 不列印警告,僅在 `mcp_server_errors` 欄位中報告跳過的項目。警告需要 Claude Code v2.1.219 或更新版本。

270 270 

271<h4 id="track-plugin-installs">271<h4 id="track-plugin-installs">

272 追蹤外掛程式安裝272 追蹤 plugin 安裝

273</h4>273</h4>

274 274 

275當設定了 [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/zh-TW/env-vars) 時,Claude Code 在第一次轉換前發出 `system/plugin_install` 事件,同時市場外掛程式安裝。使用這些在您自己的 UI 中顯示安裝進度。275當設定 [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/zh-TW/env-vars) 時,Claude Code 在第一個回合前安裝 marketplace plugins 時發出 `system/plugin_install` 事件。使用這些在您自己的 UI 中顯示安裝進度。

276 276 

277| 欄位 | 類型 | 描述 |277| 欄位 | 類型 | 說明 |

278| ------------ | ---------------------------------------------------- | ------------------------------------------------------------ |278| ------------ | ---------------------------------------------------- | ----------------------------------------------------------------------- |

279| `type` | `"system"` | 訊息類型 |279| `type` | `"system"` | 訊息類型 |

280| `subtype` | `"plugin_install"` | 將此識別為外掛程式安裝事件 |280| `subtype` | `"plugin_install"` | 將此識別為 plugin 安裝事件 |

281| `status` | `"started"`、`"installed"`、`"failed"` 或 `"completed"` | `started` 和 `completed` 括住整體安裝;`installed` 和 `failed` 報告個別市場 |281| `status` | `"started"`、`"installed"`、`"failed"` 或 `"completed"` | `started` 和 `completed` 括住整體安裝;`installed` 和 `failed` 報告個別 marketplaces |

282| `name` | 字串,選用 | 市場名稱,在 `installed` 和 `failed` 上出現 |282| `name` | 字串,選用 | marketplace 名稱,在 `installed` 和 `failed` 上出現 |

283| `error` | 字串,選用 | 失敗訊息,在 `failed` 上出現 |283| `error` | 字串,選用 | 失敗訊息,在 `failed` 上出現 |

284| `uuid` | 字串 | 唯一事件識別碼 |284| `uuid` | 字串 | 唯一事件識別碼 |

285| `session_id` | 字串 | 事件所屬的工作階段 |285| `session_id` | 字串 | 事件所屬的工作階段 |

286 286 

287<h3 id="auto-approve-tools">287<h3 id="auto-approve-tools">

288 自動核准工具288 自動批准工具

289</h3>289</h3>

290 290 

291使用 `--allowedTools` 讓 Claude 使用某些工具而無需提示。此範例執行測試套件並修復失敗,允許 Claude 執行 Bash 命令和讀取/編輯檔案而無需請求許可:291使用 `--allowedTools` 讓 Claude 使用某些工具而無需提示。此範例執行測試套件並修復失敗,允許 Claude 執行 Bash 命令和讀取/編輯檔案而無需請求權限:

292 292 

293```bash theme={null}293```bash theme={null}

294claude -p "Run the test suite and fix any failures" \294claude -p "Run the test suite and fix any failures" \

295 --allowedTools "Bash,Read,Edit"295 --allowedTools "Bash,Read,Edit"

296```296```

297 297 

298若要為整個工作階段設定基準而不是列出個別工具,請傳遞 [權限模式](/docs/zh-TW/permission-modes)。對於 `-p`,[內建啟動權限模式](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) 在每個計畫上都是 Manual,因此傳遞您想要的權限模式:298若要為整個工作階段設定基準而不是列出個別工具,請傳遞[權限模式](/docs/zh-TW/permission-modes)。對於 `-p`,[內建啟動權限模式](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)在每個計畫上都是 Manual,因此傳遞您想要的權限模式:

299 299 

300* **`auto`**:傳遞 `--permission-mode auto` 以讓分類器檢查大多數動作而不是您300* **`auto`**:傳遞 `--permission-mode auto` 以讓分類器審查大多數操作,而不是您

301* **`dontAsk`**:Claude Code 拒絕每個會提示的呼叫,這對於鎖定的 CI 執行很有用。在 Manual 模式中不需要核准的動作仍然執行,例如您工作目錄中的檔案讀取和 [唯讀命令集](/docs/zh-TW/permissions#read-only-commands),以及您的 `--allowedTools` 項目或 `permissions.allow` 規則涵蓋的動作。`AskUserQuestion`、連接器工具 [您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 和標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使當允許規則符合時也被拒絕301* **`dontAsk`**:Claude Code 拒絕每個會提示的呼叫,這對鎖定的 CI 執行很有用。在 Manual 模式中不需要批准的操作仍會執行,例如在您的工作目錄中讀取檔案和[唯讀命令集](/docs/zh-TW/permissions#read-only-commands),以及您的 `--allowedTools` 項目或 `permissions.allow` 規則涵蓋的操作。`AskUserQuestion`、connector 工具[您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 和標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使在允許規則匹配時也被拒絕

302* **`acceptEdits`**:Claude 寫入檔案而無需提示,Claude Code 自動核准常見的檔案系統命令,例如 `mkdir`、`touch`、`mv` 和 `cp`。[任何模式都不自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves) 仍然適用。除了唯讀命令集,其他 shell 命令和網路請求仍然需要 `--allowedTools` 項目或 `permissions.allow` 規則。請參閱 [`acceptEdits` 自動核准的內容](/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode) 以取得完整清單302* **`acceptEdits`**:Claude 寫入檔案而無需提示,Claude Code 自動批准常見的檔案系統命令,例如 `mkdir`、`touch`、`mv` 和 `cp`。[沒有模式自動批准的操作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)仍然適用。除了唯讀命令集,其他 shell 命令和網路請求仍需要 `--allowedTools` 項目或 `permissions.allow` 規則。請參閱[`acceptEdits` 自動批准的內容](/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)以取得完整清單

303 303 

304此範例以 `acceptEdits` 作為基準應用 lint 修復:304此範例使用 `acceptEdits` 作為基準應用 lint 修復:

305 305 

306```bash theme={null}306```bash theme={null}

307claude -p "Apply the lint fixes" --permission-mode acceptEdits307claude -p "Apply the lint fixes" --permission-mode acceptEdits


311 在無人值守執行中關閉權限提示311 在無人值守執行中關閉權限提示

312</h3>312</h3>

313 313 

314當沒有人可用於回答權限提示時,傳遞 `--permission-prompts none`,例如在排程工作中。當您的執行有權限主機時,旗標最重要:具有 [`canUseTool` 回呼](/docs/zh-TW/agent-sdk/user-input) 的 Agent SDK 應用程式,或您使用 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 傳遞的 MCP 工具。沒有旗標,您的執行會等待該主機回答每個權限請求。314當沒有人可用於回答權限提示時,傳遞 `--permission-prompts none`,例如在排程工作中。當您的執行有權限主機時,該旗標最重要:具有 [`canUseTool` 回呼](/docs/zh-TW/agent-sdk/user-input)的 Agent SDK 應用程式,或您使用 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 傳遞的 MCP 工具。沒有該旗標,您的執行會等待該主機回答每個權限請求。

315 315 

316使用旗標,您的執行不會查詢主機或等待它。任何會提示的內容都被拒絕,除非 `PermissionRequest` hook 允許它,Claude 被告知沒有人可以核准請求且不要重試它,執行繼續。在沒有主機的 `-p` 執行中,這些請求無論如何都被拒絕,旗標也告知 Claude 不要重試它們。權限規則、[`PermissionRequest` hooks](/docs/zh-TW/hooks#permissionrequest) 和您設定的權限模式仍然首先決定每個呼叫;Claude Code 僅拒絕其他任何內容都未解決的請求。316使用該旗標,您的執行不會查詢主機或等待它。任何會提示的內容都被拒絕,除非 `PermissionRequest` hook 允許它,Claude 被告知沒有人可以批准請求且不應重試它,執行繼續。在沒有主機的 `-p` 執行中,這些請求無論如何都被拒絕,該旗標也告知 Claude 不要重試它們。權限規則、[`PermissionRequest` hooks](/docs/zh-TW/hooks#permissionrequest) 和您設定的權限模式仍然首先決定每個呼叫;Claude Code 僅拒絕其他任何內容都無法解決的請求。

317 317 

318此範例在 [auto 模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中執行無人值守任務。分類器照常檢查每個動作,Claude Code 拒絕任何會回退到提示的內容:318此範例在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中執行無人值守的任務。分類器照常審查每個操作,Claude Code 拒絕任何會回退到提示的內容:

319 319 

320```bash theme={null}320```bash theme={null}

321claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none321claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none

322```322```

323 323 

324使用 `--permission-prompts none`,Claude Code 移除需要來自人員的答案的工具,例如 [`AskUserQuestion`](/docs/zh-TW/tools-reference#askuserquestion-tool-behavior),因此 Claude 無法呼叫它們。任何沒有 [`Elicitation` hook](/docs/zh-TW/hooks#elicitation) 回答的 [MCP 引出請求](/docs/zh-TW/mcp#respond-to-mcp-elicitation-requests) 都被取消。324使用 `--permission-prompts none`,Claude Code 移除需要來自人員的答案的工具,例如 [`AskUserQuestion`](/docs/zh-TW/tools-reference#askuserquestion-tool-behavior),因此 Claude 無法呼叫它們。任何沒有 [`Elicitation` hook](/docs/zh-TW/hooks#elicitation) 回答的 [MCP 引出請求](/docs/zh-TW/mcp#respond-to-mcp-elicitation-requests)都被取消。

325 325 

326使用 `--output-format stream-json`,拒絕顯示為 `permission_denied` 系統訊息,最終結果訊息在 `permission_denials` 中列出它們。326使用 `--output-format stream-json`,拒絕顯示為 `permission_denied` 系統訊息,最終結果訊息在 `permission_denials` 中列出它們。

327 327 


333 建立提交333 建立提交

334</h3>334</h3>

335 335 

336此範例檢查暫存的變更並建立具有適當訊息的提交:336此範例審查暫存的變更並建立具有適當訊息的提交:

337 337 

338```bash theme={null}338```bash theme={null}

339claude -p "Look at my staged changes and create an appropriate commit" \339claude -p "Look at my staged changes and create an appropriate commit" \

340 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"340 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"

341```341```

342 342 

343`--allowedTools` 旗標使用 [權限規則語法](/docs/zh-TW/settings-reference#permission-rule-syntax)。尾部的 ` *` 啟用前綴匹配,因此 `Bash(git diff *)` 允許任何以 `git diff` 開頭的命令。空格在 `*` 之前很重要:沒有它,`Bash(git diff*)` 也會符合 `git diff-index`。343`--allowedTools` 旗標使用[權限規則語法](/docs/zh-TW/settings-reference#permission-rule-syntax)。尾部的 ` *` 啟用前綴匹配,因此 `Bash(git diff *)` 允許任何以 `git diff` 開頭的命令。空格在 `*` 之前很重要:沒有它,`Bash(git diff*)` 也會匹配 `git diff-index`。

344 344 

345<Note>345<Note>

346 使用者叫用的 [skills](/docs/zh-TW/skills) 和自訂命令在 `-p` 模式中運作:在提示字串中包含 `/skill-name`,Claude Code 會在執行前展開它。開啟互動對話的內建命令,例如 `/login`,在 `-p` 模式中不可用。`/model`、`/effort`、`/fast`、`/color` 和 `/rename` 接受值作為引數,例如 `/model sonnet`,`/mcp` 不帶引數會列印伺服器狀態的文字摘要;這些形式需要 Claude Code v2.1.205 或更新版本,並遵循每個命令的 [可用性注意事項](/docs/zh-TW/commands#all-commands)。若要從 `-p` 叫用變更設定,請將 `key=value` 傳遞至 `/config`,例如 `/config thinking=false`。346 命令支援在 `-p` 模式中有所不同:

347 

348 * 使用者調用的 [skills](/docs/zh-TW/skills) 和自訂命令有效。在提示字串中包含 `/skill-name`,Claude Code 在執行前展開它。

349 * 僅在終端介面中執行的內建命令,例如 `/login`,不可用。

350 * `/model`、`/effort`、`/fast`、`/color` 和 `/rename` 接受值作為引數,例如 `/model sonnet`,`/mcp` 不帶引數列印伺服器狀態的文字摘要。這些形式需要 Claude Code v2.1.205 或更新版本,並遵循每個命令的[可用性注意事項](/docs/zh-TW/commands#all-commands)。

351 * 若要變更設定,將 `key=value` 傳遞給 `/config`,例如 `/config thinking=false`。

352 * `/output-style <style>` 切換[輸出樣式](/docs/zh-TW/output-styles),`/output-style` 單獨列出它們。需要 Claude Code v2.1.269 或更新版本。

347</Note>353</Note>

348 354 

349<h3 id="customize-the-system-prompt">355<h3 id="customize-the-system-prompt">

350 自訂系統提示356 自訂系統提示

351</h3>357</h3>

352 358 

353使用 `--append-system-prompt` 新增指示同時保持 Claude Code 的預設行為。此範例將 PR 差異管道傳送至 Claude 並指示它檢查安全漏洞。將其儲存為 shell 指令碼,例如 `review.sh`:359使用 `--append-system-prompt` 添加指示同時保持 Claude Code 的預設行為。此範例將 PR 差異傳輸到 Claude 並指示它審查安全漏洞。將其儲存為 shell 指令碼,例如 `review.sh`:

354 360 

355```bash theme={null}361```bash theme={null}

356gh pr diff "$1" | claude -p \362gh pr diff "$1" | claude -p \


358 --output-format json364 --output-format json

359```365```

360 366 

361在指令碼中,`"$1"` 代表您在命令列上傳遞的第一個引數。執行 `bash review.sh 123`,shell 將 `"$1"` 替換為 `123`,因此指令碼會擷取 PR 123 的差異。Claude Code 將檢查列印為 JSON,文字在 `result` 欄位中。367在指令碼中,`"$1"` 代表您在命令列上傳遞的第一個引數。執行 `bash review.sh 123`,shell 將 `"$1"` 替換為 `123`,因此指令碼會擷取 PR 123 的差異。Claude Code 以 JSON 格式列印審查,文字在 `result` 欄位中。

362 368 

363請參閱 [系統提示旗標](/docs/zh-TW/cli-reference#system-prompt-flags) 以取得更多選項,包括 `--system-prompt` 以完全取代預設提示。369有關更多選項,請參閱[系統提示旗標](/docs/zh-TW/cli-reference#system-prompt-flags),包括 `--system-prompt` 以完全替換預設提示。

364 370 

365<h3 id="continue-conversations">371<h3 id="continue-conversations">

366 繼續對話372 繼續對話

367</h3>373</h3>

368 374 

369使用 `--continue` 繼續最近的對話,或使用 `--resume` 搭配工作階段 ID 以繼續特定對話。在 Claude Code v2.1.257 或更新版本上,當您傳遞 `--continue` 時,Claude Code 會開啟已完成的[背景工作階段](/docs/zh-TW/sessions#resume-a-session),但不會開啟仍在執行的背景工作階段。此範例執行檢查,然後傳送後續提示:375使用 `--continue` 繼續最近的對話,或使用 `--resume` 搭配工作階段 ID 繼續特定對話。在 Claude Code v2.1.257 或更新版本上,當您傳遞 `--continue` 時,Claude Code 開啟已完成但未仍在執行的[背景工作階段](/docs/zh-TW/sessions#resume-a-session)。此範例執行審查,然後傳送後續提示:

370 376 

371```bash theme={null}377```bash theme={null}

372# First request378# First request


377claude -p "Generate a summary of all issues found" --continue383claude -p "Generate a summary of all issues found" --continue

378```384```

379 385 

380如果您執行多個對話,請擷取工作階段 ID 以繼續特定對話:386如果您執行多個對話,擷取工作階段 ID 以繼續特定對話:

381 387 

382```bash theme={null}388```bash theme={null}

383session_id=$(claude -p "Start a review" --output-format json | jq -r '.session_id')389session_id=$(claude -p "Start a review" --output-format json | jq -r '.session_id')

384claude -p "Continue that review" --resume "$session_id"390claude -p "Continue that review" --resume "$session_id"

385```391```

386 392 

387您可以從不同的目錄執行兩個命令:Claude Code [按其 ID 找到工作階段](/docs/zh-TW/sessions#resume-a-session) 在此機器上的任何專案中。在 v2.1.223 之前,Claude Code 僅在目前專案目錄及其 git worktrees 中查詢 ID,因此您必須從同一目錄執行兩個命令。393您可以從不同的目錄執行這兩個命令:Claude Code [按其 ID 找到工作階段](/docs/zh-TW/sessions#resume-a-session)在此機器上的任何專案中。在 v2.1.223 之前,Claude Code 僅在目前專案目錄及其 git worktrees 中尋找 ID,因此您必須從同一目錄執行兩個命令。

388 394 

389代替工作階段 ID,您可以傳遞 `--resume` 工作階段的 `.jsonl` [文字記錄檔案](/docs/zh-TW/sessions#where-transcripts-are-stored) 的絕對路徑,Claude Code 繼續儲存在該檔案中的對話。395代替工作階段 ID,您可以將 `--resume` 傳遞工作階段的 `.jsonl` [文字記錄檔案](/docs/zh-TW/sessions#where-transcripts-are-stored)的絕對路徑,Claude Code 繼續儲存在該檔案中的對話。

390 396 

391<h2 id="next-steps">397<h2 id="next-steps">

392 後續步驟398 後續步驟

hooks.md +1384 −617

Details

10 如需快速入門指南和範例,請參閱 [使用 hooks 自動化工作流程](/docs/zh-TW/hooks-guide)。10 如需快速入門指南和範例,請參閱 [使用 hooks 自動化工作流程](/docs/zh-TW/hooks-guide)。

11</Tip>11</Tip>

12 12 

13Hooks 是使用者定義的 shell 命令、HTTP 端點或 LLM 提示,在 Claude Code 生命週期的特定時間點自動執行。使用此參考來查詢事件架構、配置選項、JSON 輸入/輸出格式,以及非同步 hooks、HTTP hooks 和 MCP 工具 hooks 等進階功能。如果您是第一次設定 hooks,請改為從 [指南](/docs/zh-TW/hooks-guide) 開始。13Hooks 是使用者定義的 shell 命令、HTTP 端點、MCP 工具呼叫、LLM 提示或子代理,在 Claude Code 生命週期的特定時間點自動執行。Claude Code 在任何地方執行時都會觸發相同的 hook 事件:終端機中的工作階段、IDE 擴充功能、[桌面應用程式](/docs/zh-TW/desktop-quickstart) 和 [Claude Code 網頁版](/docs/zh-TW/claude-code-on-the-web)。使用此參考來查詢事件架構、配置選項、JSON 輸入/輸出格式,以及非同步 hooks、HTTP hooks 和 MCP 工具 hooks 等進階功能。

14 14 

15<h2 id="hook-lifecycle">15<h2 id="hook-lifecycle">

16 Hook 生命週期16 Hook 生命週期

17</h2>17</h2>

18 18 

19Hooks 在 Claude Code 工作階段期間的特定時間點觸發。當事件觸發且匹配器匹配時,Claude Code 會將有關該事件的 JSON 上下文傳遞給您的 hook 處理程式。對於命令 hooks,輸入會到達 stdin。對於 HTTP hooks,它會作為 POST 請求正文到達。您的處理程式可以檢查輸入、採取行動,並可選擇性地返回決定。19Claude Code 在工作階段期間的特定時間點執行 hooks。當事件觸發且匹配器符合時,Claude Code 會將有關該事件的 JSON 上下文傳遞給您的 hook 處理程式。對於命令 hooks,輸入會到達 stdin。對於 HTTP hooks,它會作為 POST 請求正文到達。您的處理程式可以檢查輸入、採取行動,並可選擇性地返回決定。

20 20 

21事件分為三種節奏:21事件分為三種節奏:

22 22 

23* 每個工作階段一次:`SessionStart` 和 `SessionEnd`23* 每個工作階段一次:`SessionStart` 和 `SessionEnd`

24* 每個轉向一次:`UserPromptSubmit`、`Stop` 和 `StopFailure`24* 每個轉向一次:`UserPromptSubmit`、`Stop` 和 `StopFailure`

25* 代理迴圈內每個工具呼叫:`PreToolUse` 和 `PostToolUse`25* 在代理迴圈內每個工具呼叫上:`PreToolUse` 和 `PostToolUse`,除了 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 呼叫外,兩者都會跳過

26 26 

27<div style={{maxWidth: "500px", margin: "0 auto"}}>27<div style={{maxWidth: "500px", margin: "0 auto"}}>

28 <Frame>28 <Frame>

29 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=81b9256c1bbe8832553485f5d9e9c746" alt="Hook 生命週期圖表,顯示可選的 Setup 進入 SessionStart,然後是每個轉向的迴圈,包含 UserPromptSubmit、用於 slash commands 的 UserPromptExpansion、嵌套的代理迴圈(PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、PostToolBatch、SubagentStart/Stop、TaskCreated、TaskCompleted)和 Stop 或 StopFailure,接著是 TeammateIdle、PreCompact、PostCompact 和 SessionEnd,Elicitation 和 ElicitationResult 嵌套在 MCP 工具執行內,PermissionDenied 作為 PermissionRequest 的側分支用於自動模式拒絕,WorktreeCreate、WorktreeRemove、Notification、ConfigChange、InstructionsLoaded、CwdChanged 和 FileChanged 作為獨立非同步事件,以及 MessageDisplay 作為顯示專用事件,在助手訊息文字串流時執行" width="520" height="1336" data-path="images/hooks-lifecycle.svg" />29 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=81b9256c1bbe8832553485f5d9e9c746" className="dark:hidden" alt="Hook 生命週期圖表,顯示可選的 Setup 進入 SessionStart,然後是每個轉向的迴圈,包含 UserPromptSubmit、用於 slash commands 的 UserPromptExpansion、嵌套的代理迴圈(PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、PostToolBatch、SubagentStart/Stop、TaskCreated、TaskCompleted)和 Stop 或 StopFailure,接著是 TeammateIdle、PreCompact、PostCompact 和 SessionEnd,Elicitation 和 ElicitationResult 嵌套在 MCP 工具執行內,PermissionDenied 作為 PermissionRequest 的側分支用於自動模式拒絕,WorktreeCreate、WorktreeRemove、Notification、ConfigChange、InstructionsLoaded、CwdChanged、FileChanged 和 DirectoryAdded 作為獨立非同步事件,PreModelSwitch 作為獨立順序事件,在請求的模型切換之前執行,PostModelSwitch 作為獨立非同步事件,在工作階段的模型變更後執行,以及 MessageDisplay 作為顯示專用事件,在助手訊息文字串流時執行" width="520" height="1336" data-path="images/hooks-lifecycle.svg" />

30 

31 <img src="https://mintcdn.com/claude-code/x7pO8l4XcvAXCoVc/images/hooks-lifecycle-dark.svg?fit=max&auto=format&n=x7pO8l4XcvAXCoVc&q=85&s=c9b3d88487335f58cce0b52e2f9e7531" className="hidden dark:block" alt="Hook 生命週期圖表,顯示可選的 Setup 進入 SessionStart,然後是每個轉向的迴圈,包含 UserPromptSubmit、用於 slash commands 的 UserPromptExpansion、嵌套的代理迴圈(PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、PostToolBatch、SubagentStart/Stop、TaskCreated、TaskCompleted)和 Stop 或 StopFailure,接著是 TeammateIdle、PreCompact、PostCompact 和 SessionEnd,Elicitation 和 ElicitationResult 嵌套在 MCP 工具執行內,PermissionDenied 作為 PermissionRequest 的側分支用於自動模式拒絕,WorktreeCreate、WorktreeRemove、Notification、ConfigChange、InstructionsLoaded、CwdChanged、FileChanged 和 DirectoryAdded 作為獨立非同步事件,PreModelSwitch 作為獨立順序事件,在請求的模型切換之前執行,PostModelSwitch 作為獨立非同步事件,在工作階段的模型變更後執行,以及 MessageDisplay 作為顯示專用事件,在助手訊息文字串流時執行" width="520" height="1336" data-path="images/hooks-lifecycle-dark.svg" />

30 </Frame>32 </Frame>

31</div>33</div>

32 34 

33下表總結了每個事件何時觸發。[Hook 事件](#hook-events)部分記錄了每個事件的完整輸入架構和決定控制選項。35下表總結了每個事件何時觸發。[Hook 事件](#hook-events)部分記錄了每個事件的完整輸入架構和決定控制選項。

34 36 

35| Event | When it fires |37| 事件 | 何時觸發 |

36| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :-------------------- | :-------------------------------------------------------------------------------------------------------------------- |

37| `SessionStart` | When a session begins or resumes |39| `SessionStart` | 當工作階段開始或繼續時 |

38| `Setup` | When you start Claude Code with `--init-only`, or with `--init` or `--maintenance` in `-p` mode. For one-time preparation in CI or scripts |40| `Setup` | 當您使用 `--init-only` 啟動 Claude Code,或在 `-p` 模式中使用 `--init` 或 `--maintenance` 時。用於 CI 或指令碼中的一次性準備 |

39| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |41| `UserPromptSubmit` | 當您提交提示詞時,在 Claude 處理之前 |

40| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |42| `UserPromptExpansion` | 當使用者輸入的命令擴展為提示詞時,在到達 Claude 之前。可以阻止擴展 |

41| `PreToolUse` | Before a tool call executes. Can block it |43| `PreToolUse` | 在工具呼叫執行之前。可以阻止它 |

42| `PermissionRequest` | When a tool call needs a permission decision |44| `PermissionRequest` | 當工具呼叫需要權限決定時 |

43| `PermissionDenied` | When auto mode denies a tool call, including denials without a classifier verdict. Use JSON `hookSpecificOutput.retry: true` to tell the model it may retry the denied tool call. Claude Code ignores `retry` when the classifier produced no verdict |45| `PermissionDenied` | 當自動模式拒絕工具呼叫時,包括沒有分類器判決的拒絕。使用 JSON `hookSpecificOutput.retry: true` 告訴模型它可能重試被拒絕的工具呼叫。Claude Code 在分類器未產生判決時忽略 `retry` |

44| `PostToolUse` | After a tool call succeeds |46| `PostToolUse` | 在工具呼叫成功後 |

45| `PostToolUseFailure` | After a tool call fails |47| `PostToolUseFailure` | 在工具呼叫失敗後 |

46| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |48| `PostToolBatch` | 在完整的平行工具呼叫批次解決後,在下一個模型呼叫之前 |

47| `Notification` | When Claude Code sends a notification |49| `Notification` | 當 Claude Code 傳送通知時 |

48| `MessageDisplay` | While assistant message text is displayed |50| `MessageDisplay` | 在助手訊息文字顯示時 |

49| `SubagentStart` | When a subagent is spawned |51| `SubagentStart` | 當子代理被生成時 |

50| `SubagentStop` | When a subagent finishes |52| `SubagentStop` | 當子代理完成時 |

51| `TaskCreated` | When a task is being created via `TaskCreate` |53| `TaskCreated` | 當透過 `TaskCreate` 建立任務時 |

52| `TaskCompleted` | When a task is being marked as completed |54| `TaskCompleted` | 當任務被標記為已完成時 |

53| `Stop` | When Claude finishes responding |55| `Stop` | 當 Claude 完成回應時 |

54| `StopFailure` | When the turn ends due to an API error |56| `StopFailure` | 當回合因 API 錯誤而結束時 |

55| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |57| `TeammateIdle` | 當[代理團隊](/docs/zh-TW/agent-teams)隊友即將閒置時 |

56| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |58| `InstructionsLoaded` | 當 CLAUDE.md 或 `.claude/rules/*.md` 檔案被載入到上下文時。在工作階段開始時以及在工作階段期間延遲載入檔案時觸發 |

57| `ConfigChange` | When a configuration file changes during a session |59| `ConfigChange` | 當設定檔在工作階段期間變更時 |

58| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |60| `CwdChanged` | 當工作目錄變更時,例如當 Claude 執行 `cd` 命令時。適用於使用 direnv 等工具進行反應式環境管理 |

59| `DirectoryAdded` | When a working directory is added mid-session via `/add-dir` or the SDK `register_repo_root` control request |61| `DirectoryAdded` | 當工作目錄在工作階段中期透過 `/add-dir` 或 SDK `register_repo_root` 控制請求新增時 |

60| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |62| `FileChanged` | 當監視的檔案在磁碟上變更時。`matcher` 欄位指定要監視的檔案名稱 |

61| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |63| `WorktreeCreate` | 當透過 `--worktree`、`isolation: "worktree"` 建立 worktree 時,或用於背景工作階段時。取代預設的 git 行為 |

62| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |64| `WorktreeRemove` | 當在工作階段結束時、子代理完成時或您刪除背景工作階段時移除 worktree 時 |

63| `PreCompact` | Before context compaction |65| `PreCompact` | 在上下文壓縮之前 |

64| `PostCompact` | After context compaction completes |66| `PostCompact` | 在上下文壓縮完成後 |

65| `PreModelSwitch` | Before Claude Code applies a model switch that you or a client requested. Can block the switch |67| `PreModelSwitch` | 在 Claude Code 應用您或用戶端要求的模型切換之前。可以阻止切換 |

66| `PostModelSwitch` | After the session's model changes, including changes Claude Code makes on its own, such as restoring the model when you resume a session |68| `PostModelSwitch` | 在工作階段的模型變更後,包括 Claude Code 自行進行的變更,例如當您繼續工作階段時恢復模型 |

67| `Elicitation` | When an MCP server requests user input during a tool call |69| `Elicitation` | 當 MCP 伺服器在工具呼叫期間要求使用者輸入時 |

68| `ElicitationResult` | After a user responds to an MCP elicitation, before the response is sent back to the server |70| `ElicitationResult` | 在使用者回應 MCP 引出後,在回應傳送回伺服器之前 |

69| `SessionEnd` | When a session terminates |71| `SessionEnd` | 當工作階段終止時 |

70 72 

71<h3 id="how-a-hook-resolves">73<h3 id="how-a-hook-resolves">

72 Hook 如何解析74 Hook 如何解析

73</h3>75</h3>

74 76 

75為了了解這些部分如何組合在一起,請考慮此 `PreToolUse` hook,它會阻止破壞性 shell 命令。`matcher` 縮小到 Bash 工具呼叫,`if` 條件進一步縮小到符合 `rm *` 的 Bash 子命令,因此 `block-rm.sh` 僅在兩個篩選器都匹配時才生成:77為了了解事件、匹配器和處理程式如何組合在一起,請考慮此 `PreToolUse` hook,它會阻止破壞性 shell 命令。

76 78 

77```json theme={null}79<Tabs>

78{80 <Tab title="macOS/Linux">

81 `matcher` 縮小到 Bash 工具呼叫,`if` 條件進一步縮小到符合 `rm *` 的 Bash 子命令,因此 `block-rm.sh` 僅在兩個篩選器都符合時才生成:

82 

83 ```json theme={null}

84 {

79 "hooks": {85 "hooks": {

80 "PreToolUse": [86 "PreToolUse": [

81 {87 {


91 }97 }

92 ]98 ]

93 }99 }

94}100 }

95```101 ```

96 102 

97該指令碼從 stdin 讀取 JSON 輸入,提取命令,如果包含 `rm -rf`,則返回 `permissionDecision` 為 `"deny"`:103 該指令碼從 stdin 讀取 JSON 輸入,提取命令,如果包含 `rm -rf`,則返回 `permissionDecision` 為 `"deny"`。將其儲存到您的專案中的 `.claude/hooks/block-rm.sh`,並使用 `chmod +x .claude/hooks/block-rm.sh` 使其可執行,以便 Claude Code 可以執行它:

98 104 

99```bash theme={null}105 ```bash theme={null}

100#!/bin/bash106 #!/bin/bash

101# .claude/hooks/block-rm.sh107 # .claude/hooks/block-rm.sh

102COMMAND=$(jq -r '.tool_input.command')108 COMMAND=$(jq -r '.tool_input.command')

103 109 

104if echo "$COMMAND" | grep -q 'rm -rf'; then110 if echo "$COMMAND" | grep -q 'rm -rf'; then

105 jq -n '{111 jq -n '{

106 hookSpecificOutput: {112 hookSpecificOutput: {

107 hookEventName: "PreToolUse",113 hookEventName: "PreToolUse",


109 permissionDecisionReason: "Destructive command blocked by hook"115 permissionDecisionReason: "Destructive command blocked by hook"

110 }116 }

111 }'117 }'

112else118 else

113 exit 0 # no decision; normal permission flow applies119 exit 0 # no decision; normal permission flow applies

114fi120 fi

115```121 ```

122 

123 此指令碼,如同本頁面上解析 JSON 輸入的其他 Bash 範例,使用 `jq`,因此在嘗試之前請安裝 `jq` 並確保它在您的 `PATH` 上。

124 </Tab>

125 

126 <Tab title="Windows (PowerShell)">

127 匹配器 `Bash|PowerShell` 涵蓋 [PowerShell 工具](#powershell)以及 Bash。單一 `if` 規則只符合一個工具的呼叫,因此每個工具都有自己的處理程式:第一個縮小到符合 `rm *` 的 Bash 子命令,第二個縮小到符合 `Remove-Item *` 的 PowerShell 命令。兩者都透過 `powershell.exe` 執行相同的指令碼:

128 

129 ```json theme={null}

130 {

131 "hooks": {

132 "PreToolUse": [

133 {

134 "matcher": "Bash|PowerShell",

135 "hooks": [

136 {

137 "type": "command",

138 "if": "Bash(rm *)",

139 "command": "powershell.exe",

140 "args": [

141 "-NoProfile",

142 "-ExecutionPolicy",

143 "Bypass",

144 "-File",

145 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

146 ]

147 },

148 {

149 "type": "command",

150 "if": "PowerShell(Remove-Item *)",

151 "command": "powershell.exe",

152 "args": [

153 "-NoProfile",

154 "-ExecutionPolicy",

155 "Bypass",

156 "-File",

157 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.ps1"

158 ]

159 }

160 ]

161 }

162 ]

163 }

164 }

165 ```

166 

167 `-NoProfile` 旗標會跳過載入您的 PowerShell 設定檔,以便 hook 快速啟動,而 `-ExecutionPolicy Bypass` 讓 PowerShell 執行本機指令碼檔案。

116 168 

117現在假設 Claude Code 決定執行 `Bash "rm -rf /tmp/build"`。以下是發生的情況:169 該指令碼從 stdin 讀取 JSON 輸入,提取命令,如果包含 `rm -rf` 或 `Remove-Item` 後跟 `-Recurse`,則返回 `permissionDecision` 為 `"deny"`。將其儲存到您的專案中的 `.claude/hooks/block-rm.ps1`:

170 

171 ```powershell theme={null}

172 # .claude/hooks/block-rm.ps1

173 $callInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

174 $command = $callInput.tool_input.command

175 

176 if ($command -match 'rm -rf|Remove-Item.*-Recurse') {

177 @{

178 hookSpecificOutput = @{

179 hookEventName = "PreToolUse"

180 permissionDecision = "deny"

181 permissionDecisionReason = "Destructive command blocked by hook"

182 }

183 } | ConvertTo-Json

184 } else {

185 exit 0 # no decision; normal permission flow applies

186 }

187 ```

188 </Tab>

189</Tabs>

190 

191現在假設 Claude Code 決定針對 macOS/Linux 設定執行 `Bash "rm -rf /tmp/build"`。以下是發生的情況:

118 192 

119<Frame>193<Frame>

120 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" alt="Hook 解析流程:PreToolUse 事件觸發,匹配器檢查 Bash 匹配,if 條件檢查 Bash(rm *) 匹配。如果兩者都匹配,hook 命令執行並返回 permissionDecision deny,因此工具呼叫被阻止,Claude Code 繼續。如果任一檢查未能匹配,hook 被跳過,工具呼叫允許繼續進行。" width="930" height="270" data-path="images/hook-resolution.svg" />194 <img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/hook-resolution.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=be0bf3053550c26de5f54cd64674c197" className="dark:hidden" alt="Hook 解析圖表:PreToolUse 觸發,匹配器檢查 Bash 符合,然後 if 條件檢查 Bash(rm *) 符合。如果兩者都符合,hook 命令執行並返回 permissionDecision deny,因此工具呼叫被阻止,Claude Code 繼續。如果任一檢查未能符合,hook 被跳過,工具呼叫允許繼續進行。" width="930" height="270" data-path="images/hook-resolution.svg" />

195 

196 <img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/hook-resolution-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e80af91f8507cee6bd51ac3c2dd92f63" className="hidden dark:block" alt="Hook 解析圖表:PreToolUse 觸發,匹配器檢查 Bash 符合,然後 if 條件檢查 Bash(rm *) 符合。如果兩者都符合,hook 命令執行並返回 permissionDecision deny,因此工具呼叫被阻止,Claude Code 繼續。如果任一檢查未能符合,hook 被跳過,工具呼叫允許繼續進行。" width="930" height="270" data-path="images/hook-resolution-dark.svg" />

121</Frame>197</Frame>

122 198 

123<Steps>199<Steps>


130 </Step>206 </Step>

131 207 

132 <Step title="匹配器檢查">208 <Step title="匹配器檢查">

133 匹配器 `"Bash"` 與工具名稱匹配,因此此 hook 群組啟動。如果您省略匹配器或使用 `"*"`,群組在事件的每次出現時啟動。209 匹配器 `"Bash"` 符合工具名稱,因此此 hook 群組啟動。如果您省略匹配器或使用 `"*"`,群組在事件的每次出現時啟動。

134 </Step>210 </Step>

135 211 

136 <Step title="If 條件檢查">212 <Step title="If 條件檢查">

137 `if` 條件 `"Bash(rm *)"` 匹配,因為 `rm -rf /tmp/build` 是符合 `rm *` 的子命令,因此此處理程式生成。如果命令是 `npm test`,`if` 檢查會失敗,`block-rm.sh` 永遠不會執行,避免程序生成開銷。`if` 欄位是可選的;沒有它,匹配群組中的每個處理程式都執行。213 `if` 條件 `"Bash(rm *)"` 符合,因為 `rm -rf /tmp/build` 是符合 `rm *` 的子命令,因此此處理程式生成。如果命令是 `npm test`,`if` 檢查會失敗,`block-rm.sh` 永遠不會執行,避免程序生成開銷。`if` 欄位是可選的;沒有它,符合群組中的每個處理程式都執行。

138 </Step>214 </Step>

139 215 

140 <Step title="Hook 處理程式執行">216 <Step title="Hook 處理程式執行">


158 </Step>234 </Step>

159</Steps>235</Steps>

160 236 

161下面的[配置](#configuration)部分記錄了完整架構,每個 [hook 事件](#hook-events)部分記錄了您的命令接收的輸入以及它可以返回的輸出。237下面的[設定](#configuration)部分記錄了完整架構,每個 [hook 事件](#hook-events)部分記錄了您的命令接收的輸入以及它可以返回的輸出。

162 238 

163<h2 id="configuration">239<h2 id="configuration">

164 配置240 配置


183您定義 hook 的位置決定了其範圍:259您定義 hook 的位置決定了其範圍:

184 260 

185| 位置 | 範圍 | 可共享 |261| 位置 | 範圍 | 可共享 |

186| :-------------------------------------------------------------- | :-------- | :----------- |262| :------------------------------------------ | :------------------------------------------------------------------------ | :------------------------------------ |

187| `~/.claude/settings.json` | 您的所有專案 | 否,本機限定 |263| `~/.claude/settings.json` | 您的所有專案 | 否,本機限定 |

188| `.claude/settings.json` | 單一專案 | 是,可提交到儲存庫 |264| `.claude/settings.json` | 單一專案 | 是,可提交到儲存庫 |

189| `.claude/settings.local.json` | 單一專案 | 否,gitignored |265| `.claude/settings.local.json` | 單一專案 | 否,gitignored(當 Claude Code 將設定儲存到其中時) |

190| 受管理的原則設定 | 組織範圍 | 是,由管理員控制 |266| 受管理的原則設定 | 組織範圍 | 是,由管理員控制 |

191| [Plugin](/docs/zh-TW/plugins) `hooks/hooks.json` | 啟用外掛程式時 | 是,與外掛程式一起打包 |267| [Plugin](/docs/zh-TW/plugins) `hooks/hooks.json` | 啟用外掛程式時 | 是,與外掛程式一起打包 |

192| [Skill](/docs/zh-TW/skills) 或 [agent](/docs/zh-TW/sub-agents) frontmatter | 元件處於活動狀態時 | 是,在元件檔案中定義 |268| [Skill](/docs/zh-TW/skills) frontmatter | 叫用 skill 後的工作階段其餘部分。請參閱 [Skills 和代理中的 Hooks](#hooks-in-skills-and-agents) | 是,在 skill 檔案中定義 |

269| [Subagent](/docs/zh-TW/sub-agents) frontmatter | 該 subagent 執行時 | 是,在 subagent 檔案中定義 |

270 

271[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上的雲端工作階段不會讀取您的本機 `~/.claude/settings.json`;那裡的 hooks 來自儲存庫和您組織的伺服器管理設定。在 [自託管環境](/docs/zh-TW/self-hosted-environments-configuration#permissions-and-tool-approval) 中,Claude Code 也執行操作員從執行器主機的 `~/.claude/` 中植入的 hooks,並在該檔案位於 [Claude Code 應用的受管理來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources) 中時執行執行器映像的受管理設定檔中的 hooks,預設情況下僅當伺服器管理設定或 MDM 傳遞的 Claude Code 原則都不提供受管理層級時。請參閱 [您的設定中哪些內容會轉移到雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup) 以了解哪些檔案到達雲端工作階段。

193 272 

194有關設定檔解析的詳細資訊,請參閱 [settings](/docs/zh-TW/settings)。企業管理員可以使用 `allowManagedHooksOnly` 來阻止使用者、專案和外掛程式 hooks。在受管理的設定 `enabledPlugins` 中強制啟用的外掛程式的 Hooks 是例外,因此管理員可以通過組織市場分發經過驗證的 hooks。請參閱 [Hook 配置](/docs/zh-TW/settings#hook-configuration)。273有關設定檔解析的詳細資訊,請參閱 [settings](/docs/zh-TW/settings)。

274 

275來自設定檔、受管理的原則設定和外掛程式的 Hooks 也在 [subagents](/docs/zh-TW/sub-agents) 內執行。當 subagent 呼叫工具時,工具事件(例如 `PreToolUse` 和 `PostToolUse`)會觸發與主要對話中相同的已配置 hooks,輸入會攜帶 `agent_id` 和 `agent_type` [通用輸入欄位](#common-input-fields) 以識別 subagent。

276 

277企業管理員可以使用 `allowManagedHooksOnly` 來限制哪些 hooks 執行:

278 

279* 您的使用者、專案、本機和外掛程式 hooks 被阻止。在受管理設定 `enabledPlugins` 中強制啟用的外掛程式的 Hooks 是例外

280* Claude Code 也將您的 [`statusLine`](/docs/zh-TW/statusline)、[`fileSuggestion`](/docs/zh-TW/settings-reference#filesuggestion) 和 [`subagentStatusLine`](/docs/zh-TW/statusline#subagent-status-lines) 設定縮小到受管理設定

281* Claude Code 也停用具有 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources) 的外掛程式,包括在受管理設定 `enabledPlugins` 中強制啟用的外掛程式,除非 [`disableCommandPluginSources`](/docs/zh-TW/settings-reference#disablecommandpluginsources) 明確設定為 `false`。`command` 來源需要 Claude Code v2.1.229 或更新版本

282* Claude Code 也阻止市場 [`headersHelper` 命令](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads),除非 [`disableCommandPluginSources`](/docs/zh-TW/settings-reference#disablecommandpluginsources) 明確設定為 `false`,除了受管理設定本身宣告的市場

283 

284請參閱 [在 `allowManagedHooksOnly` 下執行的內容](/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)。

285 

286Hook 項目在設定層級之間合併而不是相互替換:使用者、專案和本機設定新增自己的 hooks 而不移除受管理的 hooks,[`disableAllHooks`](#disable-or-remove-hooks) 設定無法停用來自受管理設定外部的受管理 hooks。

287 

288[HTTP hook 允許清單](/docs/zh-TW/settings-reference#hook-and-skill-settings) 適用於來自每個來源的 hooks,包括受管理的原則設定:

289 

290* `allowedHttpHookUrls`:在任何設定層級定義時,Claude Code 僅在其 URL 與合併的允許清單相符時執行 HTTP hook 處理程式

291* `httpHookAllowedEnvVars`:定義時,Claude Code 僅將該清單上的環境變數插值到 hook 標頭中

195 292 

196<h3 id="matcher-patterns">293<h3 id="matcher-patterns">

197 匹配器模式294 匹配器模式


218每個事件類型在不同的欄位上匹配:315每個事件類型在不同的欄位上匹配:

219 316 

220| 事件 | 匹配器篩選的內容 | 範例匹配器值 |317| 事件 | 匹配器篩選的內容 | 範例匹配器值 |

221| :---------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |318| :---------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

222| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | 工具名稱 | `Bash`、`Edit\|Write`、`mcp__.*` |319| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | 工具名稱 | `Bash`、`Edit\|Write`、`mcp__.*` |

223| `SessionStart` | 工作階段如何開始 | `startup`、`resume`、`clear`、`compact` |320| `SessionStart` | 工作階段如何開始 | `startup`、`resume`、`clear`、`compact`、`fork` |

224| `Setup` | 哪個 CLI 旗標觸發設定 | `init`、`maintenance` |321| `Setup` | 哪個 CLI 旗標觸發設定 | `init`、`maintenance` |

225| `SessionEnd` | 工作階段為何結束 | `clear`、`resume`、`logout`、`prompt_input_exit`、`bypass_permissions_disabled`、`other` |322| `SessionEnd` | 工作階段為何結束 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |

226| `Notification` | 通知類型 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed` |323| `Notification` | 通知類型 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` |

227| `SubagentStart` | 代理類型 | `general-purpose`、`Explore`、`Plan`、自訂代理名稱或外掛程式範圍名稱,如 `^my-plugin:reviewer$` |324| `SubagentStart` | 代理類型 | `general-purpose`、`Explore`、`Plan`、自訂代理名稱或外掛程式範圍名稱,如 `^my-plugin:reviewer$` |

228| `PreCompact`、`PostCompact` | 觸發壓縮的原因 | `manual`、`auto` |325| `PreCompact`、`PostCompact` | 觸發壓縮的原因 | `manual`、`auto` |

326| `PreModelSwitch`、`PostModelSwitch` | 工作階段切換到的模型的規範名稱,如 [PreModelSwitch](#premodelswitch) 下所述 | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |

229| `SubagentStop` | 代理類型 | 與 `SubagentStart` 相同的值 |327| `SubagentStop` | 代理類型 | 與 `SubagentStart` 相同的值 |

230| `ConfigChange` | 配置來源 | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |328| `ConfigChange` | 配置來源 | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |

231| `CwdChanged` | 不支援匹配器 | 總是在每次目錄變更時觸發 |329| `CwdChanged` | 不支援匹配器 | 總是在每次出現時觸發 |

232| `FileChanged` | 要監視的檔案名稱(請參閱 [FileChanged](#filechanged)) | `.envrc\|.env` |330| `DirectoryAdded` | 目錄如何被新增 | `slash_command`、`register_repo_root` |

233| `StopFailure` | 錯誤類型 | `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`unknown` |331| `FileChanged` | 要監視的字面檔案名稱(請參閱 [FileChanged](#filechanged)) | `.envrc\|.env` |

332| `StopFailure` | 錯誤類型 | `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、`unknown` |

234| `InstructionsLoaded` | 載入原因 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |333| `InstructionsLoaded` | 載入原因 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |

235| `UserPromptExpansion` | 命令名稱 | 您的 skill 或命令名稱 |334| `UserPromptExpansion` | 命令名稱 | 您的 skill 或命令名稱 |

236| `Elicitation` | MCP 伺服器名稱 | 您配置的 MCP 伺服器名稱 |335| `Elicitation` | MCP 伺服器名稱 | 您配置的 MCP 伺服器名稱 |

237| `ElicitationResult` | MCP 伺服器名稱 | 與 `Elicitation` 相同的值 |336| `ElicitationResult` | MCP 伺服器名稱 | 與 `Elicitation` 相同的值 |

238| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`MessageDisplay` | 不支援匹配器 | 總是在每次出現時觸發 |337| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`MessageDisplay` | 不支援匹配器 | 總是在每次出現時觸發 |

239 338 

240匹配器針對 Claude Code 在 stdin 上發送給您的 hook 的 [JSON 輸入](#hook-input-and-output) 中的欄位執行。對於工具事件,該欄位是 `tool_name`。每個 [hook 事件](#hook-events) 部分列出了該事件的完整匹配器值集和輸入架構。339在 `cloud_credential_error` 上匹配 `StopFailure` 需要 Claude Code v2.1.267 或更新版本,這是第一個在該值下報告認證載入失敗而不是 `server_error` 或 `unknown` 的版本。

340 

341對於大多數事件,Claude Code 針對它在 stdin 上發送給您的 hook 的 [JSON 輸入](#hook-input-and-output) 中的欄位評估匹配器。對於工具事件,該欄位是 `tool_name`。對於 `PreModelSwitch` 和 `PostModelSwitch`,Claude Code 針對它從 `to_model` 衍生的規範名稱評估匹配器,如 [PreModelSwitch](#premodelswitch) 下所述。每個 [hook 事件](#hook-events) 部分列出了該事件的完整匹配器值集和輸入架構。

241 342 

242此範例僅在 Claude 寫入或編輯檔案時執行 linting 指令碼:343此範例僅在 Claude 寫入或編輯檔案時執行 linting 指令碼:

243 344 


259}360}

260```361```

261 362 

262`UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`MessageDisplay` 和 `CwdChanged` 不支援匹配器,總是在每次出現時觸發。如果您將 `matcher` 欄位新增到這些事件,它會被無聲地忽略。363如果您將 `matcher` 欄位新增到不支援匹配器的事件,它會被無聲地忽略。

263 364 

264對於工具事件,您可以通過在個別 hook 處理程式上設定 [`if` 欄位](#common-fields) 來更狹隘地篩選。`if` 使用 [權限規則語法](/docs/zh-TW/permissions) 來匹配工具名稱和參數,因此 `"Bash(git *)"` 僅在任何 Bash 輸入的子命令匹配 `git *` 時執行,`"Edit(*.ts)"` 僅針對 TypeScript 檔案執行。365對於工具事件,您可以通過在個別 hook 處理程式上設定 [`if` 欄位](#common-fields) 來更狹隘地篩選。`if` 使用 [權限規則語法](/docs/zh-TW/permissions) 來匹配工具名稱和參數,因此 `"Bash(git *)"` 僅在任何 Bash 輸入的子命令匹配 `git *` 時執行,`"Edit(*.ts)"` 僅針對 TypeScript 檔案執行。

265 366 


323* **[命令 hooks](#command-hook-fields)**(`type: "command"`):執行 shell 命令。您的指令碼在 stdin 上接收事件的 [JSON 輸入](#hook-input-and-output),並通過退出代碼和 stdout 傳回結果。424* **[命令 hooks](#command-hook-fields)**(`type: "command"`):執行 shell 命令。您的指令碼在 stdin 上接收事件的 [JSON 輸入](#hook-input-and-output),並通過退出代碼和 stdout 傳回結果。

324* **[HTTP hooks](#http-hook-fields)**(`type: "http"`):將事件的 JSON 輸入作為 HTTP POST 請求發送到 URL。端點通過使用與命令 hooks 相同的 [JSON 輸出格式](#json-output) 的回應正文傳回結果。425* **[HTTP hooks](#http-hook-fields)**(`type: "http"`):將事件的 JSON 輸入作為 HTTP POST 請求發送到 URL。端點通過使用與命令 hooks 相同的 [JSON 輸出格式](#json-output) 的回應正文傳回結果。

325* **[MCP 工具 hooks](#mcp-tool-hook-fields)**(`type: "mcp_tool"`):在已連接的 [MCP 伺服器](/docs/zh-TW/mcp) 上呼叫工具。工具的文字輸出被視為類似命令 hook stdout。426* **[MCP 工具 hooks](#mcp-tool-hook-fields)**(`type: "mcp_tool"`):在已連接的 [MCP 伺服器](/docs/zh-TW/mcp) 上呼叫工具。工具的文字輸出被視為類似命令 hook stdout。

326* **[提示 hooks](#prompt-and-agent-hook-fields)**(`type: "prompt"`):將提示發送到 Claude 模型進行單輪評估。模型以 JSON 形式返回是/否決定。請參閱 [基於提示的 hooks](#prompt-based-hooks)。427* **[提示 hooks](#prompt-and-agent-hook-fields)**(`type: "prompt"`):將提示發送到 Claude 模型進行單輪評估。模型以 JSON 形式返回決定。請參閱 [基於提示的 hooks](#prompt-based-hooks)。

327* **[代理 hooks](#prompt-and-agent-hook-fields)**(`type: "agent"`):生成一個可以使用 Read、Grep 和 Glob 等工具來驗證條件的 subagent,然後返回決定。代理 hooks 是實驗性的,可能會變更。請參閱 [基於代理的 hooks](#agent-based-hooks)。428* **[代理 hooks](#prompt-and-agent-hook-fields)**(`type: "agent"`):生成一個可以使用 Read、Grep 和 Glob 等工具來驗證條件的 subagent,然後返回決定。代理 hooks 是實驗性的,可能會變更。請參閱 [基於代理的 hooks](#agent-based-hooks)。

328 429 

329所有匹配的 hooks 並行執行,相同的處理程式會自動去重。命令 hooks 按命令字串和 `args` 去重,HTTP hooks 按 URL 去重。430所有匹配的 hooks 並行執行。如果您在多個設定檔中定義相同的處理程式,它執行一次。外掛程式或 skill 的相同處理程式副本保持分開。

330 431 

331處理程式在目前目錄中執行,使用 Claude Code 的環境。在遠端網路環境中,`$CLAUDE_CODE_REMOTE` 環境變數設定為 `"true"`,在本機 CLI 中未設定。自 v2.1.199 起,[`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/zh-TW/env-vars) 設定為 [Remote Control](/docs/zh-TW/remote-control) 工作階段 ID,而本機工作階段具有活動的 Remote Control 連接。432處理程式在目前目錄中執行,使用 Claude Code 的環境。如果目前目錄不再存在,例如另一個 shell 在工作階段中途刪除的 worktree 或臨時目錄,Claude Code 從以下第一個仍然存在的目錄執行命令 hooks:工作階段開始的目錄、專案根目錄、您的主目錄或系統臨時目錄。Claude Code 在 [debug log](#debug-hooks) 中記錄一個警告,命名回退目錄。

433 

434`$CLAUDE_CODE_REMOTE` 環境變數在遠端網路環境中為 `"true"`,在本機 CLI 中未設定。Claude Code v2.1.199 及更新版本在本機工作階段具有活動的 Remote Control 連接時將 [`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/zh-TW/env-vars) 設定為 [Remote Control](/docs/zh-TW/remote-control) 工作階段 ID。

332 435 

333<h4 id="common-fields">436<h4 id="common-fields">

334 通用欄位437 通用欄位


337這些欄位適用於所有 hook 類型:440這些欄位適用於所有 hook 類型:

338 441 

339| 欄位 | 必需 | 描述 |442| 欄位 | 必需 | 描述 |

340| :-------------- | :- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |443| :-------------- | :- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

341| `type` | 是 | `"command"`、`"http"`、`"mcp_tool"`、`"prompt"` 或 `"agent"` |444| `type` | 是 | `"command"`、`"http"`、`"mcp_tool"`、`"prompt"` 或 `"agent"` |

342| `if` | 否 | 權限規則語法以篩選此 hook 何時執行,例如 `"Bash(git *)"` 或 `"Edit(*.ts)"`。Hook 命令僅在工具呼叫匹配模式時執行。請參閱下面的 [Bash 匹配表](#bash-if-matching) 以了解 Bash 模式如何針對子命令、`$()` 和反引號進行評估。僅在工具事件上評估:`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest` 和 `PermissionDenied`。在其他事件上,設定 `if` 的 hook 永遠不會執行。使用與 [權限規則](/docs/zh-TW/permissions) 相同的語法 |445| `if` | 否 | 權限規則語法以篩選此 hook 何時執行,例如 `"Bash(git *)"` 或 `"Edit(*.ts)"`。Hook 命令僅在工具呼叫匹配模式時執行。請參閱下面的 [Bash 匹配表](#bash-if-matching) 以了解 Bash 模式如何針對子命令、`$()` 和反引號進行評估。僅在工具事件上評估:`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest` 和 `PermissionDenied`。在其他事件上,設定 `if` 的 hook 永遠不會執行。使用與 [權限規則](/docs/zh-TW/permissions) 相同的語法 |

343| `timeout` | 否 | 取消前的秒數。預設值:`command`、`http` 和 `mcp_tool` 為 600;`prompt` 為 30;`agent` 為 60。[`UserPromptSubmit`](#userpromptsubmit) 將 `command`、`http` 和 `mcp_tool` 的預設值降低到 30,[`MessageDisplay`](#messagedisplay) 將其降低到 10 |446| `timeout` | 否 | 取消前的秒數。Claude Code 不會在您使用 [`async: true`](#run-hooks-in-the-background) 執行的命令 hook 上強制執行。預設值:`command`、`http` 和 `mcp_tool` 為 600;`prompt` 為 30;`agent` 為 60。Claude Code 在 [`UserPromptSubmit`](#userpromptsubmit)、[`PreModelSwitch`](#premodelswitch) 和 [`PostModelSwitch`](#postmodelswitch) 上將 `command`、`http` 和 `mcp_tool` 的預設值降低到 30,在 [`MessageDisplay`](#messagedisplay) 上降低到 10。[`SessionEnd`](#sessionend) hooks 共享 1.5 秒的預算;如果您的設定設定了更長的每個 hook `timeout`,Claude Code 會提高預算以匹配,最多 60 秒 |

344| `statusMessage` | 否 | hook 執行時顯示的自訂微調訊息 |447| `statusMessage` | 否 | hook 執行時顯示的自訂微調訊息 |

345| `once` | 否 | 如果為 `true`,每個工作階段只執行一次,然後被移除。僅在 [skill frontmatter](#hooks-in-skills-and-agents) 中受尊重;在設定檔和代理 frontmatter 中被忽略 |448| `once` | 否 | 如果為 `true`,Claude Code 在第一次成功執行後移除 hook。執行失敗、以退出代碼 2 阻止或逾時的執行會將 hook 保留在原位,因此它在下一個匹配事件上再次執行。僅在 [skill frontmatter](#hooks-in-skills-and-agents) 中受尊重;在設定檔和代理 frontmatter 中被忽略 |

346 449 

347`if` 欄位恰好包含一個權限規則。沒有 `&&`、`||` 或清單語法來組合規則;要應用多個條件,請為每個條件定義一個單獨的 hook 處理程式。450`if` 欄位恰好包含一個權限規則。沒有 `&&`、`||` 或清單語法來組合規則;要應用多個條件,請為每個條件定義一個單獨的 hook 處理程式。

348 451 

452在檔案工具的 `if` 條件中,單一段目錄模式如 `"Edit(src/**)"` 僅匹配工作目錄中的 `src` 目錄及其下的檔案。要匹配任何深度的名為 `src` 的目錄,請寫 `"Edit(**/src/**)"`。在 v2.1.214 之前,`"Edit(src/**)"` 匹配工作目錄下任何深度的名為 `src` 的目錄。

453 

349<span id="bash-if-matching" />對於 Bash 模式,您的 hook 命令是否執行取決於模式的形狀和 Claude 正在呼叫的 Bash 命令。前導 `VAR=value` 指派在匹配前被移除。454<span id="bash-if-matching" />對於 Bash 模式,您的 hook 命令是否執行取決於模式的形狀和 Claude 正在呼叫的 Bash 命令。前導 `VAR=value` 指派在匹配前被移除。

350 455 

351| `if` 模式 | Bash 命令 | Hook 執行? | 原因 |456| `if` 模式 | Bash 命令 | Hook 執行? | 原因 |

352| :----------------- | :--------------------- | :------- | :-------------------------------------- |457| :----------------- | :-------------------------- | :------- | :----------------------------------------- |

353| `Bash(git *)` | `FOO=bar git push` | 是 | 前導指派被移除;`git push` 匹配 |458| `Bash(git *)` | `FOO=bar git push` | 是 | 前導指派被移除;`git push` 匹配 |

354| `Bash(git *)` | `npm test && git push` | 是 | 每個子命令都被檢查;`git push` 匹配 |459| `Bash(git *)` | `npm test && git push` | 是 | 每個子命令都被檢查;`git push` 匹配 |

355| `Bash(rm *)` | `echo $(rm -rf /)` | 是 | `$()` 和反引號內的命令被檢查;`rm -rf /` 匹配 |460| `Bash(rm *)` | `echo $(rm -rf /)` | 是 | `$()` 和反引號內的命令被檢查;`rm -rf /` 匹配 |

356| `Bash(rm *)` | `echo $(date)` | 否 | 沒有子命令匹配 `rm *` |461| `Bash(rm *)` | `echo $(date)` | 否 | 沒有子命令匹配 `rm *` |

462| `Bash(cat *)` | `echo before $(date) after` | 否 | 替換可以位於任何參數位置,因此檢查完整命令和 `date`;都不匹配 `cat *` |

463| `Bash(git *)` | `$TOOL git push` | 是 | Claude Code 無法判斷命令名稱展開為什麼,因此它執行 hook |

357| `Bash(git push *)` | `echo $(date)` | 是 | 指定超過命令名稱的模式在 `$()`、反引號或 `$VAR` 上執行 hook |464| `Bash(git push *)` | `echo $(date)` | 是 | 指定超過命令名稱的模式在 `$()`、反引號或 `$VAR` 上執行 hook |

358 465 

359當 Bash 命令無法解析時,篩選器也會失敗開放,無論如何執行您的 hook。因為 `if` 篩選器是盡力而為的,請使用 [權限系統](/docs/zh-TW/permissions) 而不是 hook 來強制執行硬允許或拒絕。466當 Claude Code 無法確定 Bash 輸入執行哪些命令時,它無論如何都會執行您的 hook。因為 `if` 篩選器是盡力而為的,請使用 [權限系統](/docs/zh-TW/permissions) 而不是 hook 來強制執行硬允許或拒絕。

360 467 

361<h4 id="command-hook-fields">468<h4 id="command-hook-fields">

362 命令 hook 欄位469 命令 hook 欄位


369| `command` | 是 | 要執行的 shell 命令。使用 `args` 時,要直接生成的可執行檔。請參閱 [Exec 形式和 shell 形式](#exec-form-and-shell-form) |476| `command` | 是 | 要執行的 shell 命令。使用 `args` 時,要直接生成的可執行檔。請參閱 [Exec 形式和 shell 形式](#exec-form-and-shell-form) |

370| `args` | 否 | 參數清單。存在時,`command` 被解析為可執行檔並直接使用 `args` 作為參數向量生成,不涉及 shell。請參閱 [Exec 形式和 shell 形式](#exec-form-and-shell-form) |477| `args` | 否 | 參數清單。存在時,`command` 被解析為可執行檔並直接使用 `args` 作為參數向量生成,不涉及 shell。請參閱 [Exec 形式和 shell 形式](#exec-form-and-shell-form) |

371| `async` | 否 | 如果為 `true`,在背景執行而不阻止。請參閱 [在背景執行 hooks](#run-hooks-in-the-background) |478| `async` | 否 | 如果為 `true`,在背景執行而不阻止。請參閱 [在背景執行 hooks](#run-hooks-in-the-background) |

372| `asyncRewake` | 否 | 如果為 `true`,在背景執行並在退出代碼 2 時喚醒 Claude。暗示 `async`。Hook 的 stderr,或如果 stderr 為空則為 stdout,作為系統提醒顯示給 Claude,以便它可以對長時間執行的背景失敗做出反應 |479| `asyncRewake` | 否 | 如果為 `true`,在背景執行並在退出代碼 2 時喚醒 Claude。Hook 的 stderr,或如果 stderr 為空則為 stdout,作為系統提醒顯示給 Claude,以便它可以對長時間執行的背景失敗做出反應 |

373| `shell` | 否 | 用於此 hook 的 shell。接受 `"bash"` 或 `"powershell"`。預設為 `"bash"`,或在未安裝 Git Bash 時在 Windows 上預設為 `"powershell"`。設定 `"powershell"` 在 Windows 上通過 PowerShell 執行命令。不需要 `CLAUDE_CODE_USE_POWERSHELL_TOOL`,因為 hooks 直接生成 PowerShell。設定 `args` 時被忽略 |480| `shell` | 否 | 用於此 hook 的 shell。接受 `"bash"` 或 `"powershell"`。預設為 `"bash"`,或在未安裝 Git Bash 時在 Windows 上預設為 `"powershell"`。設定 `"powershell"` 在 Windows 上通過 PowerShell 執行命令。不需要 `CLAUDE_CODE_USE_POWERSHELL_TOOL`,因為 hooks 直接生成 PowerShell。設定 `args` 時被忽略 |

374 481 

375<a id="exec-form-and-shell-form" />482<a id="exec-form-and-shell-form" />


431 538 

432Claude Code 將 hook 的 [JSON 輸入](#hook-input-and-output) 作為 POST 請求正文發送,`Content-Type: application/json`。回應正文使用與命令 hooks 相同的 [JSON 輸出格式](#json-output)。539Claude Code 將 hook 的 [JSON 輸入](#hook-input-and-output) 作為 POST 請求正文發送,`Content-Type: application/json`。回應正文使用與命令 hooks 相同的 [JSON 輸出格式](#json-output)。

433 540 

434錯誤處理與命令 hooks 不同:非 2xx 回應、連線失敗和逾時都會產生非阻止性錯誤,允許執行繼續。要阻止工具呼叫或拒絕權限,請返回 2xx 回應,其 JSON 正文包含 `decision: "block"` 或 `hookSpecificOutput` 與 `permissionDecision: "deny"`。541錯誤處理與命令 hooks 不同;請參閱 [HTTP 回應處理](#http-response-handling)。

435 542 

436此範例將 `PreToolUse` 事件發送到本機驗證服務,使用來自 `MY_TOKEN` 環境變數的令牌進行驗證:543此範例將 `PreToolUse` 事件發送到本機驗證服務,使用來自 `MY_TOKEN` 環境變數的令牌進行驗證:

437 544 


470| `tool` | 是 | 該伺服器上要呼叫的工具名稱 |577| `tool` | 是 | 該伺服器上要呼叫的工具名稱 |

471| `input` | 否 | 傳遞給工具的參數。字串值支援來自 hook 的 [JSON 輸入](#hook-input-and-output) 的 `${path}` 替換,例如 `"${tool_input.file_path}"` |578| `input` | 否 | 傳遞給工具的參數。字串值支援來自 hook 的 [JSON 輸入](#hook-input-and-output) 的 `${path}` 替換,例如 `"${tool_input.file_path}"` |

472 579 

473工具的文字內容被視為類似命令 hook stdout:如果它解析為有效的 [JSON 輸出](#json-output),它會被處理為決定,否則它會顯示為純文字。如果命名的伺服器未連接,或工具返回 `isError: true`,hook 會產生非阻止性錯誤,執行繼續。580Claude Code 讀取工具的文字內容的方式與讀取命令 hook stdout 相同,遵循 [退出代碼 0 下的解析規則](#exit-code-0)。如果命名的伺服器未連接,或工具返回 `isError: true`,hook 會產生非阻止性錯誤,執行繼續。

474 

475MCP 工具 hooks 在 Claude Code 連接到您的 MCP 伺服器後在每個 hook 事件上都可用。`SessionStart` 和 `Setup` 通常在伺服器完成連接之前觸發,因此這些事件上的 hooks 應該預期首次執行時出現「未連接」錯誤。

476 581 

477此範例在每個 `Write` 或 `Edit` 後在 `my_server` MCP 伺服器上呼叫 `security_scan` 工具,傳遞編輯檔案的路徑:582此範例在每個 `Write` 或 `Edit` 後在 `my_server` MCP 伺服器上呼叫 `security_scan` 工具,傳遞編輯檔案的路徑:

478 583 


496}601}

497```602```

498 603 

604MCP 工具 hook 只能在 Claude Code 將工作階段的 MCP 伺服器提供給 hooks 後執行。`SessionStart` 和 `Setup` 可能在該點之前觸發:

605 

606* **在啟動時**:`SessionStart` 在伺服器可用之前觸發,包括當您使用 `--continue` 或 `--resume` 啟動時。Claude Code 跳過事件的 `mcp_tool` hooks 而不呼叫其工具,[debug log](#debug-hooks) 記錄 `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)`。

607* **稍後在執行中的工作階段**:在 `/clear` 或壓縮後,`SessionStart` 再次觸發,伺服器已可用,其 `mcp_tool` hooks 執行。

608* **在 `Setup` 上**:`Setup` 總是在伺服器可用之前觸發,因此 Claude Code 每次都跳過其 `mcp_tool` hooks 並記錄相同的訊息,命名 `Setup`。

609 

610例如,此配置在 `SessionStart` hook 上呼叫 `my_server` MCP 伺服器上的 `load_context` 工具,沒有匹配器,因此它適用於每個 `SessionStart` 來源:

611 

612```json theme={null}

613{

614 "hooks": {

615 "SessionStart": [

616 {

617 "hooks": [

618 {

619 "type": "mcp_tool",

620 "server": "my_server",

621 "tool": "load_context"

622 }

623 ]

624 }

625 ]

626 }

627}

628```

629 

630當您執行 `claude` 時,Claude Code 跳過此 hook,永遠不呼叫 `load_context`,並將 `no MCP client context` 訊息寫入 debug log。在該相同工作階段中執行 `/clear`,hook 執行並呼叫 `load_context`。`type: "command"` hook 在 `SessionStart` 上執行,因此對於工作階段從其第一個轉向需要的任何內容,請使用一個。

631 

499<h4 id="prompt-and-agent-hook-fields">632<h4 id="prompt-and-agent-hook-fields">

500 提示和代理 hook 欄位633 提示和代理 hook 欄位

501</h4>634</h4>


513 646 

514使用這些佔位符按相對於專案或外掛程式根目錄的路徑參考 hook 指令碼,無論 hook 執行時的工作目錄如何:647使用這些佔位符按相對於專案或外掛程式根目錄的路徑參考 hook 指令碼,無論 hook 執行時的工作目錄如何:

515 648 

516* `${CLAUDE_PROJECT_DIR}`:專案根目錄。Claude Code 也在 [stdio MCP 伺服器](/docs/zh-TW/mcp#option-3-add-a-local-stdio-server) 和外掛程式 LSP 伺服器的環境中設定此變數。649* `${CLAUDE_PROJECT_DIR}`:工作階段開始的專案根目錄。Claude Code 也在 [stdio MCP 伺服器](/docs/zh-TW/mcp#option-3-add-a-local-stdio-server) 和外掛程式 LSP 伺服器的環境中設定此變數。

517* `${CLAUDE_PLUGIN_ROOT}`:外掛程式的安裝目錄,用於與 [plugin](/docs/zh-TW/plugins) 一起打包的指令碼。在每次外掛程式更新時變更。650* `${CLAUDE_PLUGIN_ROOT}`:外掛程式的安裝目錄,用於與 [plugin](/docs/zh-TW/plugins) 一起打包的指令碼。請參閱 [外掛程式環境變數](/docs/zh-TW/plugins-reference#environment-variables) 以了解路徑在更新中的行為。

518* `${CLAUDE_PLUGIN_DATA}`:外掛程式的 [持久資料目錄](/docs/zh-TW/plugins-reference#persistent-data-directory),用於應該在外掛程式更新後保留的依賴項和狀態。651* `${CLAUDE_PLUGIN_DATA}`:外掛程式的 [持久資料目錄](/docs/zh-TW/plugins-reference#persistent-data-directory),用於應該在外掛程式更新後保留的依賴項和狀態。

519 652 

520對於任何參考路徑佔位符的 hook,優先使用 [exec 形式](#exec-form-and-shell-form)。Exec 形式將每個 `args` 元素作為一個參數傳遞,不進行 shell 標記化,因此包含空格或特殊字元的路徑不需要引用。在 shell 形式中,用雙引號括起每個佔位符。653<Note>

654 **Worktrees 不同。** 如果 Claude 在工作階段期間進入 [worktree](/docs/zh-TW/worktrees),Claude Code 將 `${CLAUDE_PROJECT_DIR}` 保留在原位,並以不同的方式將 worktree 路徑傳遞給您的 hooks:

655 

656 * **`${CLAUDE_PROJECT_DIR}` 保持不變**:它仍然指向工作階段開始的專案根目錄,因此像 `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` 這樣的命令仍然在主簽出中執行指令碼。

657 * **`cwd` 跟隨 Claude**:hook 的 [輸入 JSON](#common-input-fields) 中的 `cwd` 欄位在 Claude 進入 worktree 後是 worktree 根目錄,在 Claude 執行 `cd` 後是新目錄。當 hook 需要知道 Claude 正在哪個目錄中工作時,讀取它。

658</Note>

659 

660對於任何參考路徑佔位符的 hook,優先使用 [exec 形式](#exec-form-and-shell-form)。在 shell 形式中,用雙引號括起每個佔位符。

521 661 

522<Tabs>662<Tabs>

523 <Tab title="專案指令碼">663 <Tab title="專案指令碼">


577 Skills 和代理中的 Hooks717 Skills 和代理中的 Hooks

578</h3>718</h3>

579 719 

580除了設定檔和外掛程式外,hooks 還可以使用 frontmatter 直接在 [skills](/docs/zh-TW/skills) 和 [subagents](/docs/zh-TW/sub-agents) 中定義。這些 hooks 的範圍限於元件的生命週期,只有在該元件處於活動狀態時才執行。720除了設定檔和外掛程式外,hooks 還可以使用 frontmatter 直接在 [skills](/docs/zh-TW/skills) 和 [subagents](/docs/zh-TW/sub-agents) 中定義,使用與基於設定的 hooks 相同的配置格式。Claude Code 保持它們註冊的時間取決於元件:

581 

582支援所有 hook 事件。對於 subagents,`Stop` hooks 會自動轉換為 `SubagentStop`,因為這是 subagent 完成時觸發的事件。

583 721 

584Hooks 使用與基於設定的 hooks 相同的配置格式,但範圍限於元件的生命週期,並在完成時清理。722* **Subagent hooks**:Claude Code 僅在該 subagent 執行時執行它們,並在其完成時移除它們。Claude Code 在此處將 `Stop` hook 轉換為 `SubagentStop`,這是 subagent 完成時觸發的事件。

723* **Skill hooks**:Claude Code 在您或 Claude 叫用 skill 時註冊它們,並在工作階段的其餘部分保持執行它們,在 skill 自己的轉向之後的轉向上也是如此。要讓 Claude Code 在第一次成功執行後移除 hook,請在其上設定 [`once: true`](#common-fields)。

585 724 

586此 skill 定義了一個 `PreToolUse` hook,在每個 `Bash` 命令之前執行安全驗證指令碼:725此 skill 定義了一個 `PreToolUse` hook,在每個 `Bash` 命令之前執行安全驗證指令碼:

587 726 


598---737---

599```738```

600 739 

601代理在其 YAML frontmatter 中使用相同的格式。740Subagents 在其 YAML frontmatter 中使用相同的格式。

741 

742專案 skill 中的 Frontmatter hooks 遵循與設定檔中 hooks 相同的 [工作區信任規則](#workspace-trust)。Claude Code 在您或 Claude 叫用 skill 時註冊它們,包括在您未信任的資料夾中的 `-p` 執行。

743 

744專案 subagent 中的 Frontmatter hooks 僅在您接受代理檔案來自的資料夾的 [工作區信任對話](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust) 後執行。`-p` 工作階段不計為接受它。[在您信任資料夾之前執行的內容](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder) 將此與設定檔規則進行比較,subagents 頁面列出 [哪些範圍是豁免的](/docs/zh-TW/sub-agents#hooks-in-subagent-frontmatter)。在 v2.1.218 之前,這些 hooks 可以從您未信任的資料夾執行。

602 745 

603<h3 id="the-/hooks-menu">746<h3 id="the-/hooks-menu">

604 `/hooks` 選單747 `/hooks` 選單


608 751 

609選單顯示所有五種 hook 類型:`command`、`prompt`、`agent`、`http` 和 `mcp_tool`。每個 hook 都標有 `[type]` 前綴和指示其定義位置的來源:752選單顯示所有五種 hook 類型:`command`、`prompt`、`agent`、`http` 和 `mcp_tool`。每個 hook 都標有 `[type]` 前綴和指示其定義位置的來源:

610 753 

611* `User`:來自 `~/.claude/settings.json`754* `User Settings`:來自 `~/.claude/settings.json`

612* `Project`:來自 `.claude/settings.json`755* `Project Settings`:來自 `.claude/settings.json`

613* `Local`:來自 `.claude/settings.local.json`756* `Local Settings`:來自 `.claude/settings.local.json`

614* `Plugin`:來自外掛程式的 `hooks/hooks.json`757* `Plugin Hooks`:來自外掛程式的 `hooks/hooks.json`

615* `Session`:在目前工作階段中記錄在記憶體中758* `Session Hooks`:在目前工作階段中記錄在記憶體中

616* `Built-in`:由 Claude Code 內部註冊

617 759 

618選擇 hook 會開啟詳細檢視,顯示其事件、匹配器、類型、來源檔案和完整命令、提示或 URL。選單是唯讀的:要新增、修改或移除 hooks,請直接編輯設定 JSON 或要求 Claude 進行變更。760選擇 hook 會開啟詳細檢視,顯示其事件、匹配器、類型、來源檔案和完整命令、提示或 URL。選單是唯讀的:要新增、修改或移除 hooks,請直接編輯設定 JSON 或要求 Claude 進行變更。

619 761 


623 765 

624要移除 hook,請從設定 JSON 檔案中刪除其項目。766要移除 hook,請從設定 JSON 檔案中刪除其項目。

625 767 

626要暫時停用所有 hooks 而不移除它們,請在設定檔中設定 `"disableAllHooks": true`。沒有辦法在保留 hook 在配置中的同時停用單個 hook。768要暫時停用所有 hooks 而不移除它們,請在設定檔中設定 `"disableAllHooks": true`。Claude Code 讀取 [設定優先順序](/docs/zh-TW/settings#settings-precedence) 應用後剩下的值,因此專案的 `.claude/settings.json` 中的 `"disableAllHooks": false` 會覆蓋您的使用者設定中的 `true`。要根據專案的設定關閉一次執行的 hooks,請傳遞 `--settings '{"disableAllHooks": true}'`,這優先於專案和本機設定。沒有辦法在保留 hook 在配置中的同時停用單個 hook。

627 769 

628`disableAllHooks` 設定遵循受管理的設定階層。如果管理員已通過受管理的原則設定配置了 hooks,則在使用者、專案或本機設定中設定的 `disableAllHooks` 無法停用這些受管理的 hooks。只有在受管理的設定層級設定的 `disableAllHooks` 才能停用受管理的 hooks。770`disableAllHooks` 設定遵循受管理的設定階層。如果管理員已通過受管理的原則設定配置了 hooks,則在使用者、專案或本機設定中設定的 `disableAllHooks` 無法停用這些受管理的 hooks。只有在受管理的設定層級設定的 `disableAllHooks` 才能停用受管理的 hooks。有關每個層級的完整範圍,請參閱 [`disableAllHooks`](/docs/zh-TW/settings-reference#disableallhooks)。

629 771 

630對設定檔中 hooks 的直接編輯通常由檔案監視程式自動拾取。772對設定檔中 hooks 的直接編輯通常由檔案監視程式自動拾取。

631 773 


635 777 

636命令 hooks 通過 stdin 接收 JSON 資料,並通過退出代碼、stdout 和 stderr 傳回結果。HTTP hooks 接收相同的 JSON 作為 POST 請求正文,並通過 HTTP 回應正文傳回結果。本部分涵蓋所有事件通用的欄位和行為。每個事件在 [Hook 事件](#hook-events) 下的部分包括其特定的輸入架構和決定控制選項。778命令 hooks 通過 stdin 接收 JSON 資料,並通過退出代碼、stdout 和 stderr 傳回結果。HTTP hooks 接收相同的 JSON 作為 POST 請求正文,並通過 HTTP 回應正文傳回結果。本部分涵蓋所有事件通用的欄位和行為。每個事件在 [Hook 事件](#hook-events) 下的部分包括其特定的輸入架構和決定控制選項。

637 779 

638在 macOS 和 Linux 上,自 v2.1.139 起,命令 hooks 在沒有控制終端的自己的工作階段中執行。Hook 程序和任何子程序無法開啟 `/dev/tty` 或直接向 Claude Code 介面發送逃逸序列。Windows 沒有 `/dev/tty`。要在任何平台上向使用者顯示訊息,請在 JSON 輸出中返回 [`systemMessage`](#json-output)。要觸發桌面通知、設定視窗標題或響鈴,請改為返回 [`terminalSequence`](#emit-terminal-notifications)。780在 macOS 和 Linux 上,命令 hooks 在沒有控制終端的自己的工作階段中執行。Hook 程序和任何子程序無法開啟 `/dev/tty` 或直接向 Claude Code 介面發送逃逸序列。Windows 沒有 `/dev/tty`。

781 

782要在任何平台上向使用者顯示訊息,請在 JSON 輸出中返回 [`systemMessage`](#json-output)。某些事件會捨棄它或將其傳遞到其他地方,每個 [事件的部分](#hook-events) 都會說明。要觸發桌面通知、設定視窗標題或響鈴,請改為返回 [`terminalSequence`](#emit-terminal-notifications)。

639 783 

640<h3 id="common-input-fields">784<h3 id="common-input-fields">

641 通用輸入欄位785 通用輸入欄位


644Hook 事件接收這些欄位作為 JSON,除了每個 [hook 事件](#hook-events) 部分中記錄的事件特定欄位。對於命令 hooks,此 JSON 通過 stdin 到達。對於 HTTP hooks,它作為 POST 請求正文到達。788Hook 事件接收這些欄位作為 JSON,除了每個 [hook 事件](#hook-events) 部分中記錄的事件特定欄位。對於命令 hooks,此 JSON 通過 stdin 到達。對於 HTTP hooks,它作為 POST 請求正文到達。

645 789 

646| 欄位 | 描述 |790| 欄位 | 描述 |

647| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |791| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

648| `session_id` | 目前工作階段識別碼 |792| `session_id` | 目前工作階段識別碼 |

649| `prompt_id` | UUID 識別目前正在處理的使用者提示。與 [OpenTelemetry 事件上的 `prompt.id` 屬性](/docs/zh-TW/monitoring-usage#event-correlation-attributes) 相符,因此您可以將 hook 輸出與單一提示的遙測相關聯。在第一個使用者輸入之前不存在。需要 Claude Code v2.1.196 或更新版本 |793| `prompt_id` | UUID 識別目前正在處理的使用者提示。與 [OpenTelemetry 事件上的 `prompt.id` 屬性](/docs/zh-TW/monitoring-usage#event-correlation-attributes) 相符,因此您可以將 hook 輸出與單一提示的遙測相關聯。在第一個使用者輸入之前不存在。需要 Claude Code v2.1.196 或更新版本 |

650| `transcript_path` | 對話 JSON 的路徑。成績單檔案以非同步方式寫入,可能滯後於記憶體中的對話,因此當 hook 觸發時,它可能尚未包含目前回合的最新訊息。需要目前回合最後助手文字的 Hooks 應在 [Stop](#stop) 和 [SubagentStop](#subagentstop) 上使用 `last_assistant_message`,而不是讀取成績單 |794| `transcript_path` | 對話 JSON 的路徑。成績單檔案以非同步方式寫入,可能滯後於記憶體中的對話,因此當 hook 觸發時,它可能尚未包含目前回合的最新訊息。需要目前回合最後助手文字的 Hooks 應在 [Stop](#stop) 和 [SubagentStop](#subagentstop) 上使用 `last_assistant_message`,而不是讀取成績單 |

651| `cwd` | 叫用 hook 時的目前工作目錄 |795| `cwd` | 叫用 hook 時的目前工作目錄 |

796| `scratchpad_dir` | 工作階段的暫存目錄的路徑,Claude 在其中保存臨時工作檔案。當工作階段沒有暫存或臨時目錄不可用時不存在。需要 Claude Code v2.1.257 或更新版本 |

652| `permission_mode` | 目前 [權限模式](/docs/zh-TW/permissions#permission-modes):`"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"dontAsk"` 或 `"bypassPermissions"`。標記為**手動**的模式以 `"default"` 到達,永遠不會以 `"manual"` 到達,因此匹配 `"default"` 的指令碼繼續工作。並非所有事件都接收此欄位。檢查每個 [hook 事件](#hook-events) 部分中的 JSON 範例 |797| `permission_mode` | 目前 [權限模式](/docs/zh-TW/permissions#permission-modes):`"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"dontAsk"` 或 `"bypassPermissions"`。標記為**手動**的模式以 `"default"` 到達,永遠不會以 `"manual"` 到達,因此匹配 `"default"` 的指令碼繼續工作。並非所有事件都接收此欄位。檢查每個 [hook 事件](#hook-events) 部分中的 JSON 範例 |

653| `effort` | 物件,其 `level` 欄位保存該回合的活躍 [努力等級](/docs/zh-TW/model-config#adjust-effort-level):`"low"`、`"medium"`、`"high"`、`"xhigh"` 或 `"max"`。如果請求的模型努力等級超過目前模型支援的等級,這是模型實際使用的降級等級。Ultracode 不是一個不同的等級,報告為 `"xhigh"`。該物件與 [狀態行](/docs/zh-TW/statusline#available-data) `effort` 欄位相符。存在於在工具使用上下文中觸發的事件,例如 `PreToolUse`、`PostToolUse`、`Stop` 和 `SubagentStop`,當目前模型支援努力參數時。該等級也可作為 `$CLAUDE_EFFORT` 環境變數提供給 hook 命令和 Bash 工具。 |798| `effort` | 物件,其 `level` 欄位保存執行 hook 時生效的 [努力等級](/docs/zh-TW/model-config#adjust-effort-level):`"low"`、`"medium"`、`"high"`、`"xhigh"` 或 `"max"`。如果您設定的等級是活躍模型不支援的,`level` 會報告 Claude Code 實際執行的等級;[調整努力等級](/docs/zh-TW/model-config#adjust-effort-level) 說明它如何選擇該等級。Ultracode 不是一個不同的等級,報告為 `"xhigh"`。該物件與 [狀態行](/docs/zh-TW/statusline#available-data) `effort` 欄位相符。存在於在工具使用上下文中觸發的事件,例如 `PreToolUse`、`PostToolUse`、`Stop` 和 `SubagentStop`,當目前模型支援努力參數時。該等級也可作為 `$CLAUDE_EFFORT` 環境變數提供給 hook 命令和 Bash 工具。 |

654| `hook_event_name` | 觸發的事件名稱 |799| `hook_event_name` | 觸發的事件名稱 |

655 800 

656使用 `--agent` 執行或在 subagent 內執行時,包括兩個額外欄位:801使用 `--agent` 執行或在 subagent 內執行時,包括兩個額外欄位:

657 802 

658| 欄位 | 描述 |803| 欄位 | 描述 |

659| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |804| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

660| `agent_id` | Subagent 的唯一識別碼。僅當 hook 在 subagent 呼叫內觸發時出現。使用此項來區分 subagent hook 呼叫與主執行緒呼叫。 |805| `agent_id` | Subagent 的唯一識別碼。僅當 hook 在 subagent 呼叫內觸發時出現。使用此項來區分 subagent hook 呼叫與主執行緒呼叫。 |

661| `agent_type` | 代理名稱(例如 `"Explore"` 或 `"security-reviewer"`)。當工作階段使用 `--agent` 或 hook 在 subagent 內觸發時出現。對於 subagents,subagent 的類型優先於工作階段的 `--agent` 值。對於 [自訂 subagents](/docs/zh-TW/sub-agents),這是代理 frontmatter 中的 `name` 欄位,而不是檔案名稱。對於由 [plugin](/docs/zh-TW/plugins) 提供的 subagents,這是外掛範圍識別碼,例如 `my-plugin:reviewer`,而不是裸 frontmatter 名稱。請參閱 [SubagentStart](#subagentstart) 以了解如何針對外掛範圍名稱編寫匹配器。 |806| `agent_type` | 代理名稱(例如 `"Explore"` 或 `"security-reviewer"`)。當工作階段使用 `--agent` 或 hook 在 subagent 內觸發時出現。對於 subagents,subagent 的類型優先於工作階段的 `--agent` 值。請參閱 [SubagentStart](#subagentstart) 以了解自訂和 plugin subagents 報告的值,以及如何針對 plugin 範圍名稱編寫匹配器。 |

807 

808只有 [`SessionStart`](#sessionstart) hooks 可以接收 `model` 欄位,且 Claude Code 不一定包含它。[`PreModelSwitch`](#premodelswitch) 和 [`PostModelSwitch`](#postmodelswitch) hooks 接收 `from_model` 和 `to_model` 代替,因此使用 PostModelSwitch hook 來追蹤模型在工作階段期間的變化。

809 

810沒有 `$CLAUDE_MODEL` 環境變數。如果您在 shell 中設定它,hook 可以讀取 `$ANTHROPIC_MODEL`,但當您在工作階段期間使用 `/model` 切換模型時,該值不會改變。

662 811 

663只有 [`SessionStart`](#sessionstart) hooks 可以接收 `model` 欄位,且不保證存在。沒有 `$CLAUDE_MODEL` 環境變數。Hook 程序繼承父環境,因此如果您在 shell 中設定它,它可以讀取 `$ANTHROPIC_MODEL`,但當您在工作階段期間使用 `/model` 切換模型時,該值不會改變。一組變數不被繼承:Claude Code [從它產生的每個子程序中移除 `OTEL_*` 匯出器變數](/docs/zh-TW/monitoring-usage#administrator-configuration),包括 hooks。812Hook 程序繼承父環境,除了 Claude Code [從它產生的每個子程序中移除](/docs/zh-TW/monitoring-usage#administrator-configuration) 的 `OTEL_*` 匯出器變數,以及當 [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/zh-TW/env-vars#variables) 設定為 `1` 時,它剝離的變數。

664 813 

665例如,Bash 命令的 `PreToolUse` hook 在 stdin 上接收此內容:814例如,Bash 命令的 `PreToolUse` hook 在 stdin 上接收此內容:

666 815 


670 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",819 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

671 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",820 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

672 "cwd": "/home/user/my-project",821 "cwd": "/home/user/my-project",

822 "scratchpad_dir": "/tmp/claude-1000/-home-user-my-project/abc123/scratchpad",

673 "permission_mode": "default",823 "permission_mode": "default",

674 "hook_event_name": "PreToolUse",824 "hook_event_name": "PreToolUse",

675 "tool_name": "Bash",825 "tool_name": "Bash",

676 "tool_input": {826 "tool_input": {

677 "command": "npm test"827 "command": "npm test",

678 }828 "description": "Run test suite",

829 "timeout": 120000,

830 "run_in_background": false

831 },

832 "tool_use_id": "toolu_01ABC123..."

679}833}

680```834```

681 835 

682`tool_name` 和 `tool_input` 欄位是事件特定的。每個 [hook 事件](#hook-events) 部分記錄了該事件的額外欄位。836`tool_name`、`tool_input` 和 `tool_use_id` 欄位是事件特定的。每個 [hook 事件](#hook-events) 部分記錄了該事件的額外欄位。

683 837 

684<h3 id="exit-code-output">838<h3 id="exit-code-output">

685 退出代碼輸出839 退出代碼輸出

686</h3>840</h3>

687 841 

688來自您的 hook 命令的退出代碼告訴 Claude Code 該操作是應該進行、被阻止還是被忽略。842來自您的 hook 命令的退出代碼告訴 Claude Code 該操作是應該進行、被阻止還是被忽略。退出代碼不單獨起作用。Claude Code 在每個退出代碼上從 stdout 讀取 [JSON 輸出欄位](#json-output),而不僅僅是 0,對於使用標準決定模型的事件,通過架構驗證的已解析物件與代碼一起生效。Exit 2 的阻止是 JSON 無法覆蓋的唯一結果。

689 843 

690**退出 0** 表示成功。Claude Code 解析 stdout 以查找 [JSON 輸出欄位](#json-output)。JSON 輸出僅在退出 0 時處理。對於大多數事件,stdout 被寫入詳細日誌,但不在成績單中顯示。例外是 `UserPromptSubmit`、`UserPromptExpansion` 和 `SessionStart`,其中 stdout 被新增為 Claude 可以看到和作用的上下文。844兩個表格擁有每個事件的例外:[每個事件的退出代碼 2 行為](#exit-code-2-behavior-per-event) 說明每個事件的退出代碼做什麼,[決定控制](#decision-control) 說明每個事件接受哪些決定欄位。通用欄位(如 `systemMessage`)在大多數事件中工作,並列在 [JSON 輸出](#json-output) 表格中。

691 845 

692**退出 2** 表示阻止性錯誤。Claude Code 忽略 stdout 和其中的任何 JSON。相反,stderr 文字被反饋給 Claude 作為錯誤訊息。效果取決於事件:`PreToolUse` 阻止工具呼叫,`UserPromptSubmit` 拒絕提示,等等。有關完整清單,請參閱 [退出代碼 2 行為](#exit-code-2-behavior-per-event)。846<h4 id="exit-code-0">

847 退出代碼 0

848</h4>

849 

850退出 0 表示成功,是當您列印 JSON 進行結構化控制時的預期退出代碼。

851 

852對於大多數事件,Claude Code 將 stdout 寫入詳細日誌,不在成績單中顯示。例外是 `UserPromptSubmit`、`UserPromptExpansion`、`SessionStart` 和 `PostModelSwitch`,其中 Claude Code 將純文字 stdout 新增為 Claude 可以看到和作用的上下文。

853 

854Claude Code 是否將您的 stdout 讀取為 [JSON 輸出](#json-output) 或純文字取決於它如何開始和結束,忽略周圍的空白:

693 855 

694**任何其他退出代碼** 是大多數 hook 事件的非阻止性錯誤。成績單顯示 `<hook name> hook error` 通知,後跟 stderr 的第一行,因此您可以識別原因而無需 `--debug`。執行繼續,完整的 stderr 被寫入詳細日誌。856* **以 `{` 開始並以 `}` 結束**:Claude Code 將其解析為 JSON。當輸出是兩行或更多行,每行本身都解析為 JSON,且沒有行是設定欄位的 [JSON 輸出](#json-output) 物件時,Claude Code 將整個輸出視為純文字。當其中一行確實設定欄位時,整個輸出是解析失敗,如下所述。

857* **以 `{` 開始但不以 `}` 結束**:Claude Code 將其視為純文字。

858* **以其他任何內容開始**:Claude Code 將其視為純文字、JSON 陣列或包含的引用 JSON 字串。

695 859 

696例如,一個 hook 命令指令碼,阻止危險的 Bash 命令:860對於使用標準決定模型的事件,以已解析物件退出 0 但未通過架構驗證是非阻止性錯誤:操作進行,成績單顯示 `<hook name> hook error` 通知,帶有驗證訊息。在任何退出代碼上都會發生相同情況,除了 2,而 [exit 2 仍然阻止](#exit-code-2)。

861 

862對於使用標準決定模型的事件,當 Claude Code 嘗試將您的 stdout 解析為 JSON 且無法時,它在除 2 以外的每個退出代碼上報告非阻止性錯誤。成績單顯示 `<hook name> hook error` 通知,帶有解析訊息。在新增純文字 stdout 作為上下文的事件上,Claude Code 不新增文字。在 v2.1.248 之前,Claude Code 將該 stdout 視為純文字。

863 

864來自以 0 退出的 hook 的 Stderr 僅進入詳細日誌,永遠不進入成績單,Claude 永遠看不到它。要自己讀取它,請啟用 [詳細日誌](#debug-hooks)。要從 `PostToolUse` 或 `PostToolUseFailure` hook 向 Claude 顯示警告,請改為退出 2,以便 [Claude 看到 stderr](#exit-code-2-behavior-per-event),儘管工具已執行。

865 

866<h4 id="exit-code-2">

867 退出代碼 2

868</h4>

869 

870退出 2 表示阻止性錯誤。在 [可以阻止的事件](#exit-code-2-behavior-per-event) 上,退出 2 無論您是否列印 JSON 都會阻止:即使 JSON `permissionDecision` 為 `"allow"` 也無法覆蓋它。Claude Code 仍然在 stdout 上讀取任何有效的 [JSON 輸出](#json-output)。在 `Elicitation` 和 `ElicitationResult` 上,exit-2 hook 的 `hookSpecificOutput` 被忽略。

871 

872阻止訊息是您的 JSON 的阻止決定的原因(當它做出決定時),否則是您的 stderr 文字。阻止做什麼因事件而異:`PreToolUse` 阻止工具呼叫,`UserPromptSubmit` 拒絕提示,等等。[每個事件的退出代碼 2 行為](#exit-code-2-behavior-per-event) 列出每個事件的效果,每個事件的部分說明訊息去哪裡。

873 

874在列印未通過 [JSON 輸出](#json-output) 架構驗證的 JSON 時退出 2 的 hook 仍然阻止:Claude Code 使用 stderr 作為阻止原因,並在詳細日誌中記錄驗證失敗。在 v2.1.214 之前,Claude Code 將該組合視為非阻止性錯誤,操作進行。

875 

876此指令碼通過退出 2 阻止 `rm` 命令,並將每個其他命令留給正常權限流程:

697 877 

698```bash theme={null}878```bash theme={null}

699#!/bin/bash879#!/bin/bash

700# 從 stdin 讀取 JSON 輸入,檢查命令880# 從 stdin 讀取 JSON 輸入,檢查命令

701command=$(jq -r '.tool_input.command' < /dev/stdin)881input=$(cat)

882command=$(jq -r '.tool_input.command' <<<"$input")

702 883 

703if [[ "$command" == rm* ]]; then884if [[ "$command" == rm* ]]; then

704 echo "Blocked: rm commands are not allowed" >&2885 echo "Blocked: rm commands are not allowed" >&2


708exit 0 # 無決定:正常權限流程適用889exit 0 # 無決定:正常權限流程適用

709```890```

710 891 

892<h4 id="other-exit-codes">

893 其他退出代碼

894</h4>

895 

896任何其他退出代碼對於大多數 hook 事件本身不會阻止。發生的情況取決於您的 stdout:

897 

898* 使用通過架構驗證的已解析物件,對於使用標準決定模型的事件,Claude Code 忽略退出代碼,JSON 單獨決定結果:

899 * 事件支援的每個欄位都被接受,包括 `permissionDecision`、`additionalContext`、`updatedInput` 和 `systemMessage`,hook 不被報告為錯誤。

900 * [決定控制](#decision-control) 列出每個事件的決定欄位;通用欄位如 `systemMessage` 遵循 [JSON 輸出](#json-output) 表格。

901* 使用未通過架構驗證的已解析物件,對於使用標準決定模型的事件,它與 [exit 0 上](#exit-code-0) 相同的非阻止性錯誤:操作進行,`<hook name> hook error` 通知帶有驗證訊息。

902* 使用 Claude Code [嘗試解析為 JSON](#exit-code-0) 且無法的 stdout,Claude Code 對於使用標準決定模型的事件報告與 exit 0 上相同的非阻止性錯誤。操作進行,通知帶有解析訊息。

903* 使用 Claude Code [視為純文字](#exit-code-0) 的 stdout,或使用空 stdout,對於大多數 hook 事件是非阻止性錯誤:操作進行,成績單顯示 `<hook name> hook error` 通知,後跟 stderr 的第一行,前綴為 `Failed with non-blocking status code:`。要捕獲完整 stderr,請啟用 [詳細日誌](#debug-hooks)。

904 

905標準決定模型之外的事件在 [每個事件表](#exit-code-2-behavior-per-event) 中保持自己的行:`WorktreeCreate` 在任何非零退出時失敗建立,無論您的 JSON 說什麼,事件完全捨棄 hook 輸出(如 `StopFailure`)除了副作用欄位(如 `terminalSequence`)在每個退出代碼上忽略您的 JSON,除了副作用欄位(如 `terminalSequence`),它仍然觸發。

906 

907無法啟動的 hook 落入相同的非阻止性桶。當指令碼路徑不存在或不可執行時,shell 以代碼(如 127)退出,您看到相同的通知,帶有解釋器的訊息,例如 `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`。對於大多數 hook 事件,操作進行。當您設定原則 hook 時,在其第一次執行時監視此通知:`settings.json` 中的拼寫錯誤路徑使閘門無聲地禁用。

908 

711<Warning>909<Warning>

712 對於大多數 hook 事件,只有退出代碼 2 會阻止操作。Claude Code 將退出代碼 1 視為非阻止性錯誤並繼續操作,儘管 1 是傳統的 Unix 失敗代碼。如果您的 hook 旨在強制執行原則,請使用 `exit 2`。例外是 `WorktreeCreate`,其中任何非零退出代碼都會中止 worktree 建立。910 對於大多數 hook 事件,退出代碼 2 是唯一通過代碼單獨阻止的退出代碼。沒有 stdout 上的有效 JSON,Claude Code 將退出代碼 1 視為非阻止性錯誤並繼續操作,儘管 1 是傳統的 Unix 失敗代碼。如果您的 hook 旨在強制執行原則,請使用 `exit 2`。Worktree 事件不同:來自 `WorktreeCreate` 的任何非零退出代碼都會中止 worktree 建立,來自 `WorktreeRemove` 的任何非零退出代碼會在目錄仍然存在後使 worktree 移除失敗。

713</Warning>911</Warning>

714 912 

913<h4 id="timeouts">

914 逾時

915</h4>

916 

917除了您使用 [`async: true`](#run-hooks-in-the-background) 執行的命令 hook,Claude Code 取消達到其 [`timeout`](#common-fields) 的 `command`、`http` 或 `mcp_tool` hook,捨棄 hook 的輸出,因此在大多數事件上,逾時的 hook 不呈現決定。

918 

919在 [`PreModelSwitch`](#premodelswitch) 上,在其逾時時取消的 hook 阻止模型切換。在 `PreToolUse` 上,兩個 hook 系列不同:

920 

921* 逾時的 `command`、`http` 或 `mcp_tool` hook 不阻止工具呼叫。呼叫通過正常 [權限流程](/docs/zh-TW/permissions) 繼續,因此不要指望停滯的 hook 充當閘門。

922* 超過其逾時的 [Agent SDK 回調 hook](/docs/zh-TW/agent-sdk/hooks) [阻止工具呼叫](#pretooluse)。

923 

715<h4 id="exit-code-2-behavior-per-event">924<h4 id="exit-code-2-behavior-per-event">

716 每個事件的退出代碼 2 行為925 每個事件的退出代碼 2 行為

717</h4>926</h4>


719退出代碼 2 是 hook 發出「停止,不要這樣做」的方式。效果取決於事件,因為某些事件代表可以被阻止的操作(例如尚未發生的工具呼叫),而其他事件代表已經發生或無法防止的事情。928退出代碼 2 是 hook 發出「停止,不要這樣做」的方式。效果取決於事件,因為某些事件代表可以被阻止的操作(例如尚未發生的工具呼叫),而其他事件代表已經發生或無法防止的事情。

720 929 

721| Hook 事件 | 可以阻止? | 退出 2 時發生的情況 |930| Hook 事件 | 可以阻止? | 退出 2 時發生的情況 |

722| :-------------------- | :---- | :-------------------------------------------------------------------------- |931| :-------------------- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

723| `PreToolUse` | 是 | 阻止工具呼叫 |932| `PreToolUse` | 是 | 阻止工具呼叫 |

724| `PermissionRequest` | 是 | 拒絕權限 |933| `PermissionRequest` | 否 | 此事件不接受退出代碼 2,權限流程保持不變。改為通過 [`decision` 物件](#permissionrequest-decision-control) 拒絕 |

725| `UserPromptSubmit` | 是 | 阻止提示處理並清除提示 |934| `UserPromptSubmit` | 是 | 阻止提示處理並清除提示 |

726| `UserPromptExpansion` | 是 | 阻止擴展 |935| `UserPromptExpansion` | 是 | 阻止擴展 |

727| `Stop` | 是 | 防止 Claude 停止,繼續對話 |936| `Stop` | 是 | 防止 Claude 停止,繼續對話 |


730| `TaskCreated` | 是 | 回滾任務建立 |939| `TaskCreated` | 是 | 回滾任務建立 |

731| `TaskCompleted` | 是 | 防止任務被標記為已完成 |940| `TaskCompleted` | 是 | 防止任務被標記為已完成 |

732| `ConfigChange` | 是 | 阻止配置變更生效(除了 `policy_settings`) |941| `ConfigChange` | 是 | 阻止配置變更生效(除了 `policy_settings`) |

733| `StopFailure` | 否 | 輸出和退出代碼被忽略 |942| `StopFailure` | 否 | 輸出和退出代碼被忽略,除了 `terminalSequence` |

734| `PostToolUse` | 否 | 向 Claude 顯示 stderr;工具已執行 |943| `PostToolUse` | 否 | 向 Claude 顯示 stderr;工具已執行 |

735| `PostToolUseFailure` | 否 | 向 Claude 顯示 stderr;工具已失敗 |944| `PostToolUseFailure` | 否 | 向 Claude 顯示 stderr;工具已失敗 |

736| `PostToolBatch` | 是 | 在下一個模型呼叫之前停止代理迴圈 |945| `PostToolBatch` | 是 | 在下一個模型呼叫之前停止代理迴圈 |

737| `PermissionDenied` | 否 | 退出代碼和 stderr 被忽略,因為拒絕已發生。使用 JSON `hookSpecificOutput.retry: true` 告訴模型它可能重試 |946| `PermissionDenied` | 否 | 退出代碼和 stderr 被忽略,因為拒絕已發生。使用 JSON `hookSpecificOutput.retry: true` 告訴模型它可能重試;Claude Code 忽略 [no-verdict denials](#permissiondenied-decision-control) 的 `retry: true` |

738| `Notification` | 否 | 僅向使用者顯示 stderr |947| `Notification` | 否 | 退出代碼和 stderr 被忽略 |

739| `SubagentStart` | 否 | 僅向使用者顯示 stderr |948| `SubagentStart` | 否 | 僅向使用者顯示 stderr |

740| `SessionStart` | 否 | 僅向使用者顯示 stderr |949| `SessionStart` | 否 | 僅向使用者顯示 stderr |

741| `Setup` | 否 | 僅向使用者顯示 stderr |950| `Setup` | 否 | 退出代碼和 stderr 被忽略 |

742| `SessionEnd` | 否 | 僅向使用者顯示 stderr |951| `SessionEnd` | 否 | 僅向使用者顯示 stderr |

743| `CwdChanged` | 否 | 僅向使用者顯示 stderr |952| `CwdChanged` | 否 | 僅向使用者顯示 stderr |

953| `DirectoryAdded` | 否 | Stderr 進入詳細日誌;目錄已新增 |

744| `FileChanged` | 否 | 僅向使用者顯示 stderr |954| `FileChanged` | 否 | 僅向使用者顯示 stderr |

745| `PreCompact` | 是 | 阻止壓縮 |955| `PreCompact` | 是 | 阻止壓縮 |

746| `PostCompact` | 否 | 僅向使用者顯示 stderr |956| `PostCompact` | 否 | 僅向使用者顯示 stderr |

957| `PreModelSwitch` | 是 | 阻止模型切換並向使用者顯示 stderr |

958| `PostModelSwitch` | 否 | 僅向使用者顯示 stderr;模型已切換 |

747| `Elicitation` | 是 | 拒絕徵詢 |959| `Elicitation` | 是 | 拒絕徵詢 |

748| `ElicitationResult` | 是 | 阻止回應(操作變為拒絕) |960| `ElicitationResult` | 是 | 阻止回應(操作變為拒絕) |

749| `WorktreeCreate` | 是 | 任何非零退出代碼都會導致 worktree 建立失敗 |961| `WorktreeCreate` | 是 | 任何非零退出代碼都會導致 worktree 建立失敗 |

750| `WorktreeRemove` | 否 | 失敗僅在偵錯模式中記錄 |962| `WorktreeRemove` | 是 | 任何非零退出代碼會在目錄仍然存在後使 worktree 移除失敗。請參閱 [WorktreeRemove](#worktreeremove) 以了解目錄發生的情況 |

751| `InstructionsLoaded` | 否 | 退出代碼被忽略 |963| `InstructionsLoaded` | 否 | 退出代碼被忽略 |

752| `MessageDisplay` | 否 | 原始文字被顯示 |964| `MessageDisplay` | 否 | 原始文字被顯示 |

753 965 

754對於 `SessionStart`、`Setup` 和 `SubagentStart`,退出代碼 2 stderr 在成績單中呈現為 `<hook name> hook error` 通知,與 [非阻止性錯誤](#exit-code-output) 相同的方式。Claude 看不到它,工作階段或 subagent 繼續進行。對於 `SubagentStart`,通知出現在 subagent 自己的成績單中,而不是在父對話中。966對於 `SessionStart`、`SubagentStart` 和 `PostModelSwitch`,Claude Code 在成績單中呈現退出代碼 2 stderr 作為 `<hook name> hook error` 通知,與 [非阻止性錯誤](#exit-code-output) 相同的方式。Claude 看不到它,工作階段或 subagent 繼續進行。對於 `SubagentStart`,通知出現在 subagent 自己的成績單中,而不是在父對話中。

755 

756自 Claude Code v2.1.199 起,`SessionStart`、`Setup` 和 `SubagentStart` 在成績單中顯示退出代碼 2 stderr。較早的版本僅將其寫入詳細日誌。

757 967 

758<h3 id="http-response-handling">968<h3 id="http-response-handling">

759 HTTP 回應處理969 HTTP 回應處理

760</h3>970</h3>

761 971 

762HTTP hooks 使用 HTTP 狀態代碼和回應正文,而不是退出代碼和 stdout:972HTTP hooks 使用 HTTP 狀態代碼和回應正文,而不是退出代碼和 stdout。下面的結果適用於大多數事件;在 [每個事件表](#exit-code-2-behavior-per-event) 中有自己的失敗合約的事件(如 `WorktreeCreate`)將該合約應用於失敗的 HTTP hook:

763 973 

764* **2xx 且正文為空**:成功,等同於退出代碼 0 且無輸出974* **2xx 且正文為空**:成功,等同於退出代碼 0 且無輸出

765* **2xx 且正文為純文字**:成功,文字被新增為上下文975* **2xx 且 JSON 物件正文**:使用與命令 hooks 相同的 [JSON 輸出](#json-output) 架構進行解析。未通過架構驗證的正文是非阻止性錯誤

766* **2xx 且正文為 JSON**:成功,使用與命令 hooks 相同的 [JSON 輸出](#json-output) 架構進行解析976* **2xx 且任何其他正文,如純文字**:非阻止性錯誤,處理方式與非 2xx 狀態相同。Claude Code 不將文字新增到 Claude 的上下文

767* **非 2xx 狀態**:非阻止性錯誤,執行繼續977* **非 2xx 狀態**:非阻止性錯誤,執行繼續

768* **連線失敗或逾時**:非阻止性錯誤,執行繼續978* **連線失敗**:非阻止性錯誤,執行繼續

979* **逾時**:hook 被取消,如 [逾時](#timeouts) 下所述

769 980 

770與命令 hooks 不同,HTTP hooks 無法僅通過狀態代碼發出阻止性錯誤信號。要阻止工具呼叫或拒絕權限,請返回 2xx 回應,其 JSON 正文包含適當的決定欄位。981與命令 hooks 不同,HTTP hooks 無法僅通過狀態代碼發出阻止性錯誤信號。要阻止工具呼叫或拒絕權限,請返回 2xx 回應,其 JSON 正文包含適當的決定欄位。

771 982 


773 JSON 輸出984 JSON 輸出

774</h3>985</h3>

775 986 

776退出代碼讓您允許或阻止,但 JSON 輸出提供更細粒度的控制。與其以代碼 2 退出來阻止,不如以 0 退出並將 JSON 物件列印到 stdout。Claude Code 從該 JSON 讀取特定欄位以控制行為,包括 [決定控制](#decision-control) 以阻止、允許或升級給使用者。987退出代碼只讓您阻止或保持沉默,但 JSON 輸出提供更細粒度的控制。與其以代碼 2 退出來阻止,不如退出 0 並將 JSON 物件列印到 stdout。Claude Code 從該 JSON 讀取特定欄位以控制行為,包括 [決定控制](#decision-control) 以阻止、允許或升級給使用者。

777 988 

778<Note>989<Note>

779 您必須為每個 hook 選擇一種方法,而不是兩種:要麼單獨使用退出代碼進行信號傳遞,要麼以 0 退出並列印 JSON 以進行結構化控制。Claude Code 僅在退出 0 時處理 JSON。如果您退出 2,任何 JSON 都會被忽略。990 為每個 hook 選擇一種方法:要麼單獨使用退出代碼進行信號傳遞,要麼退出 0 並列印 JSON 進行結構化控制。如果您混合它們,退出 2 保持其 [阻止效果](#exit-code-2-behavior-per-event),Claude Code 仍然讀取 JSON 欄位,除了 [Exit code 2](#exit-code-2) 下記錄的一個徵詢例外。

780</Note>991</Note>

781 992 

782您的 hook 的 stdout 必須僅包含 JSON 物件。如果您的 shell 設定檔在啟動時列印文字,它可能會干擾 JSON 解析。請參閱故障排除指南中的 [JSON 驗證失敗](/docs/zh-TW/hooks-guide#json-validation-failed)。993您的 hook 的 stdout 必須僅包含 JSON 物件。如果您的 shell 設定檔在啟動時列印文字,它可能會干擾 JSON 解析。請參閱故障排除指南中的 [Hook JSON 無效](/docs/zh-TW/hooks-guide#hook-json-has-no-effect)。

783 994 

784Hook 輸出字串,包括 `additionalContext`、`systemMessage` 和純 stdout,上限為 10,000 個字元。超過此限制的輸出會儲存到檔案並替換為預覽和檔案路徑,與大型工具結果的處理方式相同。995Hook 的 `additionalContext`、`systemMessage` 和 `initialUserMessage` 字串,以及其純 stdout,上限為 10,000 個字元:

996 

997* **範圍**:Claude Code 分別測量每個字串,即使多個 hooks 為同一事件執行。對於 JSON 輸出,每個欄位分別測量;純 stdout 整體測量。

998* **超過限制**:Claude Code 將輸出儲存到工作階段目錄中的檔案,並將其替換為檔案路徑和最多前 2,000 個字元的預覽。大型有效 Bash 結果的處理方式相同,如 [輸出限制](/docs/zh-TW/tools-reference#output-limits) 下所述。與該 Bash 上限不同,此上限沒有設定或環境變數來提高它。

999* **讀取檔案**:Claude Code 不要求 Claude 讀取檔案,因此將 Claude 必須始終看到的任何內容保持在上限內。

785 1000 

786JSON 物件支援三種欄位:1001JSON 物件支援三種欄位:

787 1002 

788* **通用欄位**,如 `continue`,在所有事件中工作。這些列在下表中。1003* **通用欄位**,如 `continue`,列在下表中。每個事件都接受它們,但某些事件捨棄它們或將 `systemMessage` 傳遞到成績單以外的地方。每個事件的部分都說明。`terminalSequence` 在這些事件上也工作,除了 [發出終端通知](#emit-terminal-notifications) 下列出的例外。

789* **頂層 `decision` 和 `reason`** 由某些事件用來阻止或提供反饋。1004* **頂層 `decision` 和 `reason`** 由某些事件用來阻止或提供反饋。

790* **`hookSpecificOutput`** 是一個嵌套物件,用於需要更豐富控制的事件。它需要一個設定為事件名稱的 `hookEventName` 欄位。1005* **`hookSpecificOutput`** 是一個嵌套物件,用於需要更豐富控制的事件。它需要一個設定為事件名稱的 `hookEventName` 欄位。

791 1006 

792| 欄位 | 預設 | 描述 |1007| 欄位 | 預設 | 描述 |

793| :----------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------ |1008| :----------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

794| `continue` | `true` | 如果為 `false`,Claude 在 hook 執行後完全停止處理。優先於任何事件特定的決定欄位 |1009| `continue` | `true` | 如果為 `false`,Claude 在 hook 執行後完全停止處理。優先於任何事件特定的決定欄位 |

795| `stopReason` | 無 | 當 `continue` 為 `false` 時向使用者顯示的訊息。不向 Claude 顯示 |1010| `stopReason` | 無 | 當 `continue` 為 `false` 時向使用者顯示的訊息。它停留在對話中,因此如果對話繼續,Claude 會看到它 |

796| `suppressOutput` | `false` | 如果為 `true`,隱藏詳細日誌中的 hook stdout |1011| `suppressOutput` | `false` | 無效果:Claude Code 接受欄位但不作用。成功的 hook 的 stdout 永遠不在成績單中顯示,並在詳細日誌中記錄 |

797| `systemMessage` | 無 | 向使用者顯示的警告訊息 |1012| `systemMessage` | 無 | 向使用者顯示的警告訊息。在 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 和 [`--output-format stream-json`](/docs/zh-TW/headless) 輸出中,它可以作為 [`SDKInformationalMessage`](/docs/zh-TW/agent-sdk/typescript#sdkinformationalmessage) 到達 |

798| `terminalSequence` | 無 | Claude Code 代表您發出的終端逃逸序列,例如桌面通知、視窗標題或響鈴。限制為 OSC `0`/`1`/`2`/`9`/`99`/`777` 和 BEL。如果值包含允許清單外的任何內容,該欄位將被忽略。使用此項而不是寫入 `/dev/tty`,後者對 hooks 不可用 |1013| `terminalSequence` | 無 | Claude Code 代表您發出的終端逃逸序列,例如桌面通知、視窗標題或響鈴。限制為 OSC `0`/`1`/`2`/`9`/`99`/`777` 和 BEL。如果值包含允許清單外的任何內容,該欄位將被忽略。使用此項而不是寫入 `/dev/tty`,後者對 hooks 不可用 |

799 1014 

800要無論事件類型如何都完全停止 Claude:1015要完全停止 Claude:

801 1016 

802```json theme={null}1017```json theme={null}

803{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }1018{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }

804```1019```

805 1020 

1021對於 `PreToolUse` 和 `PostToolUse` hooks,停止適用,即使工具呼叫失敗或在 Claude 仍在串流回應時完成。

1022 

806<h4 id="emit-terminal-notifications">1023<h4 id="emit-terminal-notifications">

807 發出終端通知1024 發出終端通知

808</h4>1025</h4>

809 1026 

810`terminalSequence` 欄位需要 Claude Code v2.1.141 或更新版本。

811 

812Hooks 在沒有控制終端的情況下執行,因此直接寫入逃逸序列到 `/dev/tty` 會失敗。相反,在 `terminalSequence` 欄位中返回逃逸序列,Claude Code 通過其自己的終端寫入路徑為您發出它。這是無競爭的,在 tmux 和 GNU screen 內工作,並在沒有 `/dev/tty` 的 Windows 上工作。1027Hooks 在沒有控制終端的情況下執行,因此直接寫入逃逸序列到 `/dev/tty` 會失敗。相反,在 `terminalSequence` 欄位中返回逃逸序列,Claude Code 通過其自己的終端寫入路徑為您發出它。這是無競爭的,在 tmux 和 GNU screen 內工作,並在沒有 `/dev/tty` 的 Windows 上工作。

813 1028 

814該欄位接受一個或多個允許清單逃逸序列的字串:1029該欄位接受一個或多個允許清單逃逸序列的字串:


821 1036 

822序列可以用 BEL 或 ST 終止。允許清單外的任何內容,包括 CSI 游標和顏色序列、OSC 調色板序列、OSC 8 超連結、OSC 52 剪貼簿寫入和 OSC 1337,都會被拒絕,該欄位將被忽略。1037序列可以用 BEL 或 ST 終止。允許清單外的任何內容,包括 CSI 游標和顏色序列、OSC 調色板序列、OSC 8 超連結、OSC 52 剪貼簿寫入和 OSC 1337,都會被拒絕,該欄位將被忽略。

823 1038 

1039Claude Code 在處理您的 hook 輸出時寫入序列本身,因此該欄位在捨棄 `systemMessage` 和 `continue` 的事件上工作,例如 `Notification` 和 `StopFailure`。它有兩個限制:

1040 

1041* Claude Code 僅在互動式工作階段中寫入序列,且僅在其介面在螢幕上時。在使用 `-p` 旗標的非互動式模式和 Agent SDK 中,它忽略該欄位。

1042* `WorktreeCreate` 命令 hook 無法返回 JSON,因為 Claude Code 將其 stdout 讀取為 worktree 路徑。HTTP `WorktreeCreate` hook 返回 JSON 並可以包含該欄位。

1043 

824下面的範例從 `Notification` hook 觸發桌面通知。逃逸序列使用 `printf` 八進位逃逸構建,因此控制位元組永遠不會出現在 shell 命令行上,`jq -n --arg` 構建 JSON 輸出,因此通知訊息中的引號、反斜線和換行符被正確逃逸:1044下面的範例從 `Notification` hook 觸發桌面通知。逃逸序列使用 `printf` 八進位逃逸構建,因此控制位元組永遠不會出現在 shell 命令行上,`jq -n --arg` 構建 JSON 輸出,因此通知訊息中的引號、反斜線和換行符被正確逃逸:

825 1045 

826```bash theme={null}1046```bash theme={null}

827#!/bin/bash1047#!/bin/bash

828# Notification hook:當 Claude Code 需要注意時 ping 桌面。1048# Notification hook:當 Claude Code 需要注意時 ping 桌面。

829input=$(cat)1049input=$(cat)

830title="Claude Code'1050title="Claude Code"

831body=$(jq -r '.message // 'Needs your attention"' <<<"$input")1051body=$(jq -r '.message // "Needs your attention"' <<<"$input")

832seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")1052seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

833jq -nc --arg seq "$seq" '{terminalSequence: $seq}'1053jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

834```1054```

835 1055 

836`{ "terminalSequence": "..." }` 形狀在任何 shell 或語言中都相同。在 Windows 上,在 PowerShell 或指令碼中構建逃逸字串並發出相同的 JSON 物件。1056`{ "terminalSequence": "..." }` 形狀在任何 shell 或語言中都相同。

837 

838<Note>

839 `terminalSequence` 是之前直接寫入逃逸序列到 `/dev/tty` 的 hooks 的支援替代品。允許清單限制為無法移動游標或改變顏色的序列,因此 hook 永遠無法損壞螢幕上的提示。

840</Note>

841 1057 

842<h4 id="add-context-for-claude">1058<h4 id="add-context-for-claude">

843 為 Claude 新增上下文1059 為 Claude 新增上下文


858 1074 

859提醒出現的位置取決於事件:1075提醒出現的位置取決於事件:

860 1076 

861* [SessionStart](#sessionstart)、[Setup](#setup) 和 [SubagentStart](#subagentstart):在對話開始,在第一個提示之前1077* [SessionStart](#sessionstart) 和 [SubagentStart](#subagentstart):在對話開始,在第一個提示之前

862* [UserPromptSubmit](#userpromptsubmit) 和 [UserPromptExpansion](#userpromptexpansion):與提交的提示一起1078* [UserPromptSubmit](#userpromptsubmit) 和 [UserPromptExpansion](#userpromptexpansion):與提交的提示一起

863* [PreToolUse](#pretooluse)、[PostToolUse](#posttooluse)、[PostToolUseFailure](#posttoolusefailure) 和 [PostToolBatch](#posttoolbatch):在工具結果旁邊1079* [PreToolUse](#pretooluse)、[PostToolUse](#posttooluse)、[PostToolUseFailure](#posttoolusefailure) 和 [PostToolBatch](#posttoolbatch):在工具結果旁邊

864* [Stop](#stop) 和 [SubagentStop](#subagentstop):在回合結束。對話繼續,以便 Claude 可以對反饋採取行動。請參閱 [Stop 決定控制](#stop-decision-control)1080* [Stop](#stop) 和 [SubagentStop](#subagentstop):在回合結束。對話繼續,以便 Claude 可以對反饋採取行動。請參閱 [Stop 決定控制](#stop-decision-control)

1081* [PostModelSwitch](#postmodelswitch):與切換後的下一個請求一起。請參閱 [PostModelSwitch 決定控制](#postmodelswitch-decision-control) 以了解時機

1082 

1083當多個 hooks 為同一事件返回 `additionalContext` 時,Claude 接收所有值。

865 1084 

866當多個 hooks 為同一事件返回 `additionalContext` 時,Claude 接收所有值。如果值超過 10,000 個字元,Claude Code 會將完整文字寫入工作階段目錄中的檔案,並將檔案路徑與簡短預覽傳遞給 Claude。1085如果值超過 10,000 個字元,Claude Code 會將文字寫入工作階段目錄中的檔案,並將檔案路徑與最多前 2,000 個字元的預覽傳遞給 Claude。Claude 可以讀取檔案,但 Claude Code 不要求它。

867 1086 

868使用 `additionalContext` 來提供 Claude 應該知道的有關您環境目前狀態或剛剛執行的操作的資訊:1087使用 `additionalContext` 來提供 Claude 應該知道的有關您環境目前狀態或剛剛執行的操作的資訊:

869 1088 


875 1094 

876將文字寫成事實陳述,而不是命令式系統指示。「部署目標是生產」或「此儲存庫使用 `bun test`」之類的措辭讀起來像專案資訊。框架為帶外系統命令的文字可能會觸發 Claude 的提示注入防禦,這會導致 Claude 將文字呈現給您,而不是將其視為上下文。1095將文字寫成事實陳述,而不是命令式系統指示。「部署目標是生產」或「此儲存庫使用 `bun test`」之類的措辭讀起來像專案資訊。框架為帶外系統命令的文字可能會觸發 Claude 的提示注入防禦,這會導致 Claude 將文字呈現給您,而不是將其視為上下文。

877 1096 

878注入後,文字會儲存在工作階段成績單中。對於 `PostToolUse` 或 `UserPromptSubmit` 等中期事件,使用 `--continue` 或 `--resume` 繼續會重播儲存的文字,而不是為過去的回合重新執行 hook,因此時間戳或提交 SHA 等值在繼續時變得陳舊。`SessionStart` hooks 在使用 `source` 設定為 `"resume"` 的 `--resume` 時再次執行,因此它們可以刷新其上下文。1097Claude Code 在工作階段成績單中儲存注入的文字。對於 `PostToolUse` 或 `UserPromptSubmit` 等中期事件,當您使用 `--continue` 或 `--resume` 繼續時,Claude Code 重播儲存的文字,而不是為過去的回合重新執行 hook,因此時間戳或提交 SHA 等值變得陳舊。`SessionStart` hooks 在使用 `source` 設定為 `"resume"` 的 `--resume` 時再次執行,或如果您新增了 `--fork-session` 則為 `"fork"`,因此它們可以刷新其上下文。

879 1098 

880<h4 id="decision-control">1099<h4 id="decision-control">

881 決定控制1100 決定控制


884並非每個事件都支援阻止或通過 JSON 控制行為。支援的事件各自使用不同的欄位集來表達該決定。在編寫 hook 之前,使用此表作為快速參考:1103並非每個事件都支援阻止或通過 JSON 控制行為。支援的事件各自使用不同的欄位集來表達該決定。在編寫 hook 之前,使用此表作為快速參考:

885 1104 

886| 事件 | 決定模式 | 關鍵欄位 |1105| 事件 | 決定模式 | 關鍵欄位 |

887| :-------------------------------------------------------------------------------------------------------------------------- | :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1106| :-------------------------------------------------------------------------------------------------------------------------- | :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

888| UserPromptSubmit、UserPromptExpansion、PostToolUse、PostToolUseFailure、PostToolBatch、Stop、SubagentStop、ConfigChange、PreCompact | 頂層 `decision` | `decision: "block"`、`reason`。Stop 和 SubagentStop 也接受 `hookSpecificOutput.additionalContext` 用於 [繼續對話的非錯誤反饋](#stop-decision-control) |1107| UserPromptSubmit、UserPromptExpansion、PostToolUse、PostToolUseFailure、PostToolBatch、Stop、SubagentStop、ConfigChange、PreCompact | 頂層 `decision` | `decision: "block"`、`reason`。Stop 和 SubagentStop 也接受 `hookSpecificOutput.additionalContext` 用於 [繼續對話的非錯誤反饋](#stop-decision-control) |

889| TeammateIdle、TaskCreated、TaskCompleted | 退出代碼或 `continue: false` | 退出代碼 2 使用 stderr 反饋阻止操作。JSON `{"continue": false, "stopReason": "..."}` 也會完全停止隊友,匹配 `Stop` hook 行為 |1108| TeammateIdle、TaskCompleted | 退出代碼或 `continue: false` | 退出代碼 2 使用 stderr 反饋阻止操作。JSON `{"continue": false, "stopReason": "..."}` 也會完全停止隊友,匹配 `Stop` hook 行為;[TaskCompleted 在 `TaskUpdate` 工具觸發事件時忽略它](#taskcompleted-decision-control) |

1109| TaskCreated | 退出代碼或頂層 `decision` | 退出代碼 2 或 `decision: "block"` [取消任務](#taskcreated-decision-control) 並將訊息返回給 Claude。`continue: false` 被忽略 |

890| PreToolUse | `hookSpecificOutput` | `permissionDecision`(allow/deny/ask/defer)、`permissionDecisionReason` |1110| PreToolUse | `hookSpecificOutput` | `permissionDecision`(allow/deny/ask/defer)、`permissionDecisionReason` |

1111| PreModelSwitch | `hookSpecificOutput` 或頂層 `decision` | `permissionDecision`(allow/deny/ask)、`permissionDecisionReason`。`decision: "block"` 也 [取消切換](#premodelswitch-decision-control) |

891| PermissionRequest | `hookSpecificOutput` | `decision.behavior`(allow/deny) |1112| PermissionRequest | `hookSpecificOutput` | `decision.behavior`(allow/deny) |

892| PermissionDenied | `hookSpecificOutput` | `retry: true` 告訴模型它可能重試被拒絕的工具呼叫 |1113| PermissionDenied | `hookSpecificOutput` | `retry: true` 告訴模型它可能重試被拒絕的工具呼叫;Claude Code 忽略 [no-verdict denials](#permissiondenied-decision-control) 的 `retry: true` |

893| WorktreeCreate | 路徑返回 | 命令 hook 在 stdout 上列印路徑;HTTP hook 通過 `hookSpecificOutput.worktreePath` 返回。Hook 失敗或缺少路徑會導致建立失敗 |1114| WorktreeCreate | 路徑返回 | 命令 hook 在 stdout 上列印路徑;HTTP hook 通過 `hookSpecificOutput.worktreePath` 返回。Hook 失敗或缺少路徑會導致建立失敗 |

1115| WorktreeRemove | 退出代碼 | 任何非零退出代碼會在目錄仍然存在後使移除失敗。JSON 輸出被捨棄 |

894| Elicitation | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(accept 的表單欄位值) |1116| Elicitation | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(accept 的表單欄位值) |

895| ElicitationResult | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(覆蓋表單欄位值) |1117| ElicitationResult | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(覆蓋表單欄位值) |

896| MessageDisplay | `hookSpecificOutput` | `displayContent` 替換螢幕上顯示的文字。僅顯示:成績單和 Claude 看到的內容保持原始 |1118| MessageDisplay | `hookSpecificOutput` | `displayContent` 替換螢幕上顯示的文字。僅顯示:成績單和 Claude 看到的內容保持原始 |

897| SessionStart、Setup、SubagentStart | 僅上下文 | `hookSpecificOutput.additionalContext` 為 Claude 新增上下文。SessionStart 也接受 [`initialUserMessage`、`watchPaths`、`sessionTitle` 和 `reloadSkills`](#sessionstart-decision-control)。無阻止或決定控制 |1119| SessionStart、SubagentStart、PostModelSwitch | 僅上下文 | `hookSpecificOutput.additionalContext` 為 Claude 新增上下文。SessionStart 也接受 [`initialUserMessage`、`watchPaths`、`sessionTitle` 和 `reloadSkills`](#sessionstart-decision-control)。無阻止或決定控制 |

898| WorktreeRemove、Notification、SessionEnd、PostCompact、InstructionsLoaded、StopFailure、CwdChanged、FileChanged | 無 | 無決定控制。用於副作用,如記錄或清理 |1120| Setup、Notification、SessionEnd、PostCompact、InstructionsLoaded、StopFailure、CwdChanged、DirectoryAdded、FileChanged | 無 | 無決定控制。用於副作用,如記錄或清理 |

899 1121 

900一些事件也可以重寫內容,而不僅僅是允許或阻止它:1122一些事件也可以重寫內容,而不僅僅是允許或阻止它:

901 1123 


910 1132 

911<Tabs>1133<Tabs>

912 <Tab title="頂層決定">1134 <Tab title="頂層決定">

913 由 `UserPromptSubmit`、`UserPromptExpansion`、`PostToolUse`、`PostToolUseFailure`、`PostToolBatch`、`Stop`、`SubagentStop`、`ConfigChange` 和 `PreCompact` 使用。唯一的值是 `"block"`。要允許操作進行,請從 JSON 中省略 `decision`,或以 0 退出而不帶任何 JSON:1135 `decision` 的唯一值是 `"block"`。要允許操作進行,請從 JSON 中省略 `decision`,或以 0 退出而不帶任何 JSON:

914 1136 

915 ```json theme={null}1137 ```json theme={null}

916 {1138 {


959 Hook 事件1181 Hook 事件

960</h2>1182</h2>

961 1183 

962每個事件對應於 Claude Code 生命週期中 hooks 可以執行的一個點。下面的部分按順序排列以匹配生命週期:從工作階段設定通過代理迴圈到工作階段結束。每個部分描述事件何時觸發、它支援什麼匹配器、它接收的 JSON 輸入,以及如何通過輸出控制行為。1184每個事件對應於 Claude Code 生命週期中的一個點,hooks 可以在該點執行。下面的章節按照生命週期排序:從工作階段設定到代理迴圈再到工作階段結束。每個章節描述事件何時觸發、支援的匹配器、接收的 JSON 輸入,以及如何透過輸出控制行為。

963 1185 

964<h3 id="sessionstart">1186<h3 id="sessionstart">

965 SessionStart1187 SessionStart

966</h3>1188</h3>

967 1189 

968在 Claude Code 啟動新工作階段或恢復現有工作階段時執行。適用於載入開發上下文,例如現有問題或程式碼庫的最近變更,或設定環境變數。對於不需要指令碼的靜態上下文,請改用 [CLAUDE.md](/docs/zh-TW/memory)。1190在 Claude Code 啟動新工作階段或恢復現有工作階段時執行。適用於載入開發環境背景資訊,例如現有問題或程式碼庫的最近變更,或設定環境變數。對於不需要指令碼的靜態背景資訊,請改用 [CLAUDE.md](/docs/zh-TW/memory)。

969 1191 

970SessionStart 在每個工作階段執行,因此請保持這些 hooks 快速。僅支援 `type: "command"` 和 `type: "mcp_tool"` hooks。1192SessionStart 在每個工作階段執行,因此請保持這些 hooks 快速。僅支援 `type: "command"` 和 `type: "mcp_tool"` hooks。請參閱 [MCP tool hook 欄位](#mcp-tool-hook-fields),了解 `mcp_tool` hooks 何時執行。

971 1193 

972匹配器值對應於工作階段的啟動方式:1194匹配器值對應於工作階段的啟動方式:

973 1195 

974| 匹配器 | 何時觸發 |1196| 匹配器 | 何時觸發 |

975| :-------- | :---------------------------------- |1197| :-------- | :------------------------------------------------------------------------------------ |

976| `startup` | 新工作階段 |1198| `startup` | 新工作階段 |

977| `resume` | `--resume`、`--continue` 或 `/resume` |1199| `resume` | `--resume`、`--continue` 或 `/resume` |

978| `clear` | `/clear` |1200| `clear` | `/clear` |

979| `compact` | 自動或手動壓縮 |1201| `compact` | 自動或手動壓縮 |

1202| `fork` | 從現有工作階段分支的新工作階段:`--fork-session` 搭配 `--resume` 或 `--continue`、`/fork` 背景複本或 `/branch` |

1203 

1204在 v2.1.214 之前,分支工作階段報告來源為 `"resume"`。

1205 

1206當您啟動互動式工作階段、在啟動時使用 `--continue` 或 `--resume` 恢復對話,或執行 `/clear` 時,SessionStart hooks 在背景執行。您可以立即輸入,恢復的對話會立即出現,無需等待 hooks。Claude 的第一個回應仍會等待 hooks 完成,因此它們的背景資訊會到達 Claude。

1207 

1208當您在工作階段內使用 `/resume` 切換對話時,切換會等待 hooks 完成。如果您在背景 hooks 仍在執行時執行 `/clear` 或切換到另一個對話,它們返回的任何內容都不會套用到工作階段。

1209 

1210相同的等待也適用於啟動,包括恢復的工作階段:您在 SessionStart hooks 仍在執行時發送的提示不會到達 Claude,直到它們完成。

1211 

1212在任一等待期間,按 `Esc` 將提示返回到輸入中而不發送。Hooks 會繼續執行。

980 1213 

981<h4 id="sessionstart-input">1214<h4 id="sessionstart-input">

982 SessionStart 輸入1215 SessionStart 輸入

983</h4>1216</h4>

984 1217 

985除了 [通用輸入欄位](#common-input-fields) 外,SessionStart hooks 還接收 `source` 和可選的 `model`、`agent_type` 和 `session_title`:1218除了 [常見輸入欄位](#common-input-fields) 外,SessionStart hooks 還會接收 `source` 和可選的 `model`、`agent_type` 和 `session_title`:

986 1219 

987| 欄位 | 描述 |1220| 欄位 | 描述 |

988| :-------------- | :------------------------------------------------------------------------------------------------------- |1221| :-------------- | :---------------------------------------------------------------------------------------------------------------- |

989| `source` | 工作階段如何啟動:新工作階段為 `"startup"`,恢復的工作階段為 `"resume"`,`/clear` 後為 `"clear"`,或壓縮後為 `"compact"` |1222| `source` | 工作階段如何啟動:新工作階段為 `"startup"`、恢復的工作階段為 `"resume"`、`/clear` 後為 `"clear"`、壓縮後為 `"compact"`,或從現有工作階段分支的新工作階段為 `"fork"` |

990| `model` | 活動模型識別碼。它可以被省略,例如在 `/clear` 後或當工作階段通過對話恢復被恢復時,因此在讀取它之前檢查欄位 |1223| `model` | 作用中的模型識別碼。例如在 `/clear` 後或透過對話恢復恢復工作階段時可能會省略,因此在讀取前檢查欄位 |

991| `agent_type` | 代理名稱,當您使用 `claude --agent <name>` 啟動 Claude Code 時出現 |1224| `agent_type` | 代理名稱,當您使用 `claude --agent <name>` 啟動 Claude Code 時出現 |

992| `session_title` | 目前工作階段標題(如果已設定),例如通過 `--name` 或 `/rename`。發出 `sessionTitle` 的 hook 可以先檢查 `session_title` 以避免覆寫使用者明確設定的標題 |1225| `session_title` | 目前工作階段標題(如果已設定),例如透過 `--name` 或 `/rename`。發出 `sessionTitle` 的 hook 可以先檢查 `session_title` 以避免覆寫使用者明確設定的標題 |

1226 

1227當 `source` 為 `"resume"` 或 `"fork"` 且文字記錄包含至少一個來自 Claude 的回應時,SessionStart hooks 也會接收下面的四個欄位。您的 hook 可以使用它們在第一個請求之前報告恢復陳舊對話的成本,例如在 [`systemMessage`](#json-output) 中。這些欄位需要 Claude Code v2.1.251 或更新版本。

1228 

1229| 欄位 | 描述 |

1230| :---------------------------- | :----------------------------------------------------------------------------------------------- |

1231| `seconds_since_last_response` | 自恢復文字記錄中最後一個回應以來的掛鐘秒數 |

1232| `context_tokens` | 恢復工作階段的第一個請求作為其提示重新發送的令牌 |

1233| `prompt_cache_likely_expired` | 當最後一個回應早於工作階段的 [prompt cache 生命週期](/docs/zh-TW/prompt-caching#cache-lifetime) 或更新的壓縮替換了快取的對話時為 `true` |

1234| `estimated_cache_write_usd` | 將 `context_tokens` 寫入工作階段模型上的 prompt cache 的估計成本(美元),不包括回應 |

1235 

1236此範例顯示在最後一個回應後 90 分鐘恢復的工作階段的輸入:

993 1237 

994```json theme={null}1238```json theme={null}

995{1239{


997 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",1241 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

998 "cwd": "/Users/...",1242 "cwd": "/Users/...",

999 "hook_event_name": "SessionStart",1243 "hook_event_name": "SessionStart",

1000 "source": "startup",1244 "source": "resume",

1001 "model": "claude-sonnet-5"1245 "model": "claude-opus-5",

1246 "seconds_since_last_response": 5400,

1247 "context_tokens": 182340,

1248 "prompt_cache_likely_expired": true,

1249 "estimated_cache_write_usd": 1.1396

1002}1250}

1003```1251```

1004 1252 

1005<h4 id="sessionstart-decision-control">1253<h4 id="sessionstart-decision-control">

1006 SessionStart 決定控制1254 SessionStart 決策控制

1007</h4>1255</h4>

1008 1256 

1009您的 hook 指令碼列印到 stdout 的任何文字都被新增為 Claude 的上下文。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您還可以返回這些事件特定欄位:1257Claude Code 將其 [視為純文字](#exit-code-0) 的 stdout 新增到 Claude 的背景資訊。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您還可以返回這些事件特定欄位:

1010 1258 

1011| 欄位 | 描述 |1259| 欄位 | 描述 |

1012| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |1260| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |

1013| `additionalContext` | 新增到 Claude 上下文開始處的字串,在第一個提示之前。請參閱 [為 Claude 新增上下文](#add-context-for-claude) 以了解文字如何傳遞以及要放入其中的內容 |1261| `additionalContext` | 在對話開始時、第一個提示之前新增到 Claude 背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude),了解文字如何傳遞以及要放入其中的內容 |

1014| `initialUserMessage` | 用作工作階段第一個使用者訊息的字串。適用於 [非互動模式](/docs/zh-TW/headless)(`-p`),其中即使未提供提示,它也成為第一個轉向。如果提供了提示,它作為下一個轉向跟隨。與 `additionalContext` 不同,後者附加到現有轉向,這會建立轉向 |1262| `initialUserMessage` | 用作工作階段第一個使用者訊息的字串。適用於 [非互動模式](/docs/zh-TW/headless),搭配 `-p` 旗標,即使未提供提示,它也會成為第一個回合。如果提供了提示,它會作為下一個回合跟隨。與附加到現有回合的 `additionalContext` 不同,這會建立回合 |

1015| `sessionTitle` | 設定工作階段標題,與 `/rename` 的效果相同。使用此項根據啟動資料夾、git 分支或 worktree 名稱自動命名工作階段。僅在 `source` 為 `"startup"` 或 `"resume"` 時適用;在 `"clear"` 和 `"compact"` 上被忽略 |1263| `sessionTitle` | 設定工作階段標題,效果與 `/rename` 相同。用於根據啟動資料夾、git 分支或 worktree 名稱自動命名工作階段。當 `source` 為 `"startup"`、`"resume"` 或 `"fork"` 時適用;在 `"clear"` 和 `"compact"` 上忽略 |

1016| `watchPaths` | 絕對路徑的陣列,用於在此工作階段期間監視 [FileChanged](#filechanged) 事件 |1264| `watchPaths` | 絕對路徑陣列,用於在此工作階段期間監視 [FileChanged](#filechanged) 事件 |

1017| `reloadSkills` | 布林值。當為 `true` 時,Claude Code 在 SessionStart hooks 完成後重新掃描 [skill](/docs/zh-TW/skills) 和命令目錄,因此 hook 安裝的 skills 在同一工作階段中可用,從第一個提示開始 |1265| `reloadSkills` | 布林值。當為 `true` 時,Claude Code 在 SessionStart hooks 完成後重新掃描 [skill](/docs/zh-TW/skills) 和命令目錄,因此 hook 安裝的 skills 在同一工作階段中可用,從第一個提示開始 |

1018 1266 

1019```json theme={null}1267```json theme={null}


1026}1274}

1027```1275```

1028 1276 

1029由於純 stdout 已經到達 Claude 用於此事件,只載入上下文的 hook 可以直接列印到 stdout 而無需建立 JSON。當您需要將上下文與其他欄位(例如 `suppressOutput` 或 `sessionTitle`)結合時,請使用 JSON 形式。1277由於此事件的純文字 stdout 已到達 Claude,只載入背景資訊的 hook 可以直接列印到 stdout,而無需建立 JSON。當您需要將背景資訊與其他欄位(例如 `sessionTitle`)結合時,請使用 JSON 形式。

1030 1278 

1031當 SessionStart hook 安裝或更新 skills 時,使用 `reloadSkills`。Skill 發現通常在 SessionStart hooks 完成之前執行,因此 hook 寫入 `~/.claude/skills/` 或 `.claude/skills/` 的檔案否則只會在下一個工作階段中出現。此範例同步共享 skills 儲存庫並請求重新掃描:1279當 SessionStart hook 安裝或更新 skills 時使用 `reloadSkills`。Skill 探索通常在 SessionStart hooks 完成之前執行,因此 hook 寫入 `~/.claude/skills/` 或 `.claude/skills/` 的檔案否則只會在下一個工作階段中出現。此範例同步共享 skills 儲存庫並請求重新掃描:

1032 1280 

1033```bash theme={null}1281```bash theme={null}

1034#!/bin/bash1282#!/bin/bash


1039echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1287echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1040```1288```

1041 1289 

1290儲存庫 URL 是佔位符;將其替換為您自己的 skills 儲存庫。使用佔位符時,複製會失敗並列印 `fatal:` 訊息到 stderr。來自以 0 退出的 SessionStart hook 的 stderr 僅供參考,因此 `reloadSkills` 請求仍然適用。

1291 

1042<h4 id="persist-environment-variables">1292<h4 id="persist-environment-variables">

1043 持久化環境變數1293 保留環境變數

1044</h4>1294</h4>

1045 1295 

1046SessionStart hooks 可以存取 `CLAUDE_ENV_FILE` 環境變數,該變數提供一個檔案路徑,您可以在其中為後續 Bash 命令持久化環境變數。1296SessionStart hooks 可以存取 `CLAUDE_ENV_FILE` 環境變數,該變數提供一個檔案路徑,您可以在其中保留後續 Bash 命令的環境變數。

1047 1297 

1048要設定個別環境變數,請將 `export` 陳述式寫入 `CLAUDE_ENV_FILE`。使用追加(`>>`)來保留由其他 hooks 設定的變數:1298若要設定個別環境變數,請將 `export` 陳述式寫入 `CLAUDE_ENV_FILE`。使用附加 (`>>`) 以保留由其他 hooks 設定的變數:

1049 1299 

1050```bash theme={null}1300```bash theme={null}

1051#!/bin/bash1301#!/bin/bash


1059exit 01309exit 0

1060```1310```

1061 1311 

1062要捕獲設定命令中的所有環境變更,請比較之前和之後的匯出變數:1312若要捕獲設定命令中的所有環境變更,請比較之前和之後的匯出變數:

1063 1313 

1064```bash theme={null}1314```bash theme={null}

1065#!/bin/bash1315#!/bin/bash

1066 1316 

1067ENV_BEFORE=$(export -p | sort)1317ENV_BEFORE=$(export -p | sort)

1068 1318 

1069# 執行修改環境的設定命令1319# Run your setup commands that modify the environment

1070source ~/.nvm/nvm.sh1320source ~/.nvm/nvm.sh

1071nvm use 201321nvm use 20

1072 1322 


1078exit 01328exit 0

1079```1329```

1080 1330 

1081寫入此檔案的任何變數都將在工作階段期間 Claude Code 執行的所有後續 Bash 命令中可用。

1082 

1083<Note>1331<Note>

1084 `CLAUDE_ENV_FILE` 可用於 SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged) 和 [FileChanged](#filechanged) hooks。其他 hook 類型無法存取此變數。1332 `CLAUDE_ENV_FILE` 適用於 SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged) 和 [FileChanged](#filechanged) hooks。其他 hook 類型無法存取此變數。

1085</Note>1333</Note>

1086 1334 

1087<h3 id="setup">1335<h3 id="setup">

1088 Setup1336 Setup

1089</h3>1337</h3>

1090 1338 

1091僅當您使用 `--init-only` 啟動 Claude Code,或在非互動模式(`-p`)中使用 `--init` 或 `--maintenance` 時觸發。它在正常啟動時不觸發。使用它進行一次性依賴項安裝或您從 CI 或指令碼明確觸發的計劃清理,與正常工作階段啟動分開。對於每個工作階段的初始化,請改用 [SessionStart](#sessionstart)。1339僅當您使用 `--init-only` 啟動 Claude Code,或在 [非互動模式](/docs/zh-TW/headless) 中使用 `--init` 或 `--maintenance` 搭配 `-p` 旗標時觸發。在正常啟動時不觸發。用於一次性相依性安裝或您從 CI 或指令碼明確觸發的排程清理,與正常工作階段啟動分開。對於每個工作階段的初始化,請改用 [SessionStart](#sessionstart)。

1092 1340 

1093匹配器值對應於觸發 hook 的 CLI 標誌:1341匹配器值對應於觸發 hook 的 CLI 旗標:

1094 1342 

1095| 匹配器 | 何時觸發 |1343| 匹配器 | 何時觸發 |

1096| :------------ | :---------------------------------------- |1344| :------------ | :---------------------------------------- |

1097| `init` | `claude --init-only` 或 `claude -p --init` |1345| `init` | `claude --init-only` 或 `claude -p --init` |

1098| `maintenance` | `claude -p --maintenance` |1346| `maintenance` | `claude -p --maintenance` |

1099 1347 

1100`--init-only` 執行 Setup hooks 和 SessionStart hooks(帶有 `startup` 匹配器),然後退出而不啟動對話。`--init` 和 `--maintenance` 僅在與 `-p` 結合時觸發 Setup hooks;在互動式工作階段中,這兩個標誌目前不觸發 Setup hooks。1348當您執行 `claude --init-only` 時,Claude Code 執行 Setup hooks 和 `startup` 匹配器的 `SessionStart` hooks,然後退出而不啟動對話。

1101 1349 

1102因為 Setup 不在每次啟動時觸發,需要安裝依賴項的外掛程式無法僅依賴 Setup。實際的模式是在首次使用時檢查依賴項,如果缺失則安裝,例如測試 `${CLAUDE_PLUGIN_DATA}/node_modules` 的 hook 或 skill,如果不存在則執行 `npm install`。請參閱 [持久資料目錄](/docs/zh-TW/plugins-reference#persistent-data-directory) 以了解在何處儲存已安裝的依賴項。1350當您使用 `-p` 啟動或繼續對話時,您還需要提供提示,作為引數或透過 stdin 管道傳輸。當 `SessionStart` hook 提供 [`initialUserMessage`](#sessionstart-decision-control) 或當您使用 [延遲工具呼叫](#defer-a-tool-call-for-later) 恢復工作階段時,您可以跳過提示。

1351 

1352成功時,`--init-only` 不會列印任何內容到終端。若要確認 hooks 已執行,請使用 `claude --debug-file <path> --init-only` 啟動,將 `<path>` 替換為日誌檔案位置,並檢查日誌中的 Setup 和 SessionStart hook 項目。

1353 

1354由於 Setup 不會在每次啟動時觸發,需要安裝相依性的外掛無法僅依賴 Setup。實用的模式是在首次使用時檢查相依性,如果缺少則安裝,例如測試 `${CLAUDE_PLUGIN_DATA}/node_modules` 的 hook 或 skill,如果不存在則執行 `npm install`。請參閱 [持久資料目錄](/docs/zh-TW/plugins-reference#persistent-data-directory),了解儲存已安裝相依性的位置。如果您透過市場發佈外掛,您可能不需要此模式:Claude Code [在快取外掛時自動安裝符合條件的 Node.js 套件相依性](/docs/zh-TW/plugins-reference#node-js-package-dependencies)。

1103 1355 

1104<h4 id="setup-input">1356<h4 id="setup-input">

1105 Setup 輸入1357 Setup 輸入

1106</h4>1358</h4>

1107 1359 

1108除了 [通用輸入欄位](#common-input-fields) 外,Setup hooks 還接收設定為 `"init"` 或 `"maintenance"` 的 `trigger` 欄位:1360除了 [常見輸入欄位](#common-input-fields) 外,Setup hooks 還會接收設定為 `"init"` 或 `"maintenance"` 的 `trigger` 欄位:

1109 1361 

1110```json theme={null}1362```json theme={null}

1111{1363{


1118```1370```

1119 1371 

1120<h4 id="setup-decision-control">1372<h4 id="setup-decision-control">

1121 Setup 決定控制1373 Setup 決策控制

1122</h4>1374</h4>

1123 1375 

1124Setup hooks 無法阻止。任何非零退出代碼(包括 2)都會向使用者顯示 stderr 作為 `<hook name> hook error` 通知,執行繼續。在 [非互動模式](/docs/zh-TW/headless) 中,hook 輸出僅在您使用 `--verbose` 啟動時出現。1376Setup hooks 無法阻止;執行在任何退出代碼上繼續。在每個退出代碼上,Claude Code 捨棄 Setup hook 的 [JSON 輸出欄位](#json-output),例如 `systemMessage`、`continue` 和 `hookSpecificOutput.additionalContext`。使用 `-p` 時,Setup hook 的 stdout、stderr 和退出代碼僅在您使用 `--output-format stream-json --verbose` 啟動時作為 [`hook_response` 事件](/docs/zh-TW/headless#read-session-metadata) 出現在執行的輸出中。

1125 

1126要將資訊傳遞到 Claude 的上下文中,請在 JSON 輸出中返回 `additionalContext`;純 stdout 僅寫入偵錯日誌。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您還可以返回這些事件特定欄位:

1127 

1128| 欄位 | 描述 |

1129| :------------------ | :------------------------------- |

1130| `additionalContext` | 新增到 Claude 上下文的字串。多個 hooks 的值被連接 |

1131 

1132```json theme={null}

1133{

1134 "hookSpecificOutput": {

1135 "hookEventName": "Setup",

1136 "additionalContext": "Dependencies installed: node_modules, .venv"

1137 }

1138}

1139```

1140 1377 

1141Setup hooks 可以存取 `CLAUDE_ENV_FILE`。寫入該檔案的變數會持久化到工作階段的後續 Bash 命令中,就像在 [SessionStart hooks](#persist-environment-variables) 中一樣。僅支援 `type: "command"` 和 `type: "mcp_tool"` hooks。1378Setup hooks 可以存取 `CLAUDE_ENV_FILE`。寫入該檔案的變數會保留到工作階段的後續 Bash 命令中,就像在 [SessionStart hooks](#persist-environment-variables) 中一樣。只有 `type: "command"` hooks 在 `Setup` 上執行。`type: "mcp_tool"` hook 在 `Setup` 上始終被跳過,如 [MCP tool hook 欄位](#mcp-tool-hook-fields) 下所述。

1142 1379 

1143<h3 id="instructionsloaded">1380<h3 id="instructionsloaded">

1144 InstructionsLoaded1381 InstructionsLoaded

1145</h3>1382</h3>

1146 1383 

1147當 `CLAUDE.md` 或 `.claude/rules/*.md` 檔案被載入到上下文中時觸發。此事件在工作階段開始時針對急切載入的檔案觸發,稍後當檔案被延遲載入時再次觸發,例如當 Claude 存取包含嵌套 `CLAUDE.md` 的子目錄時,或當具有 `paths:` frontmatter 的條件規則匹配時。該 hook 不支援阻止或決定控制。它以非同步方式執行以用於可觀測性目的。1384在載入 `CLAUDE.md` 或 `.claude/rules/*.md` 檔案到背景資訊時觸發。此事件在工作階段啟動時對於急切載入的檔案觸發,稍後在檔案被延遲載入時再次觸發,例如當 Claude 存取包含巢狀 `CLAUDE.md` 的子目錄或當具有 `paths:` frontmatter 的條件規則匹配時。Hook 不支援阻止或決策控制。它以非同步方式執行以用於可觀測性目的。

1385 

1386此事件在 Claude [直接透過 **Project instructions** 設定讀取 `AGENTS.md`](/docs/zh-TW/memory#agents-md) 時不觸發。當 `CLAUDE.md` 匯入您的 `AGENTS.md` 時它會觸發,其中 `load_reason` 設定為 `include`(如同任何其他匯入的檔案),以及當 `CLAUDE.md` 是它的符號連結時,作為正常 `CLAUDE.md` 載入。

1148 1387 

1149匹配器針對 `load_reason` 執行。例如,使用 `"matcher": "session_start"` 僅針對在工作階段開始時載入的檔案觸發,或使用 `"matcher": "path_glob_match|nested_traversal"` 僅針對延遲載入觸發。1388匹配器針對 `load_reason` 執行。例如,使用 `"matcher": "session_start"` 僅對工作階段啟動時載入的檔案觸發,或使用 `"matcher": "path_glob_match|nested_traversal"` 僅對延遲載入觸發。

1150 1389 

1151<h4 id="instructionsloaded-input">1390<h4 id="instructionsloaded-input">

1152 InstructionsLoaded 輸入1391 InstructionsLoaded 輸入

1153</h4>1392</h4>

1154 1393 

1155除了 [通用輸入欄位](#common-input-fields) 外,InstructionsLoaded hooks 還接收這些欄位:1394除了 [常見輸入欄位](#common-input-fields) 外,InstructionsLoaded hooks 還會接收這些欄位:

1156 1395 

1157| 欄位 | 描述 |1396| 欄位 | 描述 |

1158| :------------------ | :--------------------------------------------------------------------------------------------------------------------------- |1397| :------------------ | :-------------------------------------------------------------------------------------------------------------------------- |

1159| `file_path` | 被載入的指令檔案的絕對路徑 |1398| `file_path` | 已載入的指令檔案的絕對路徑 |

1160| `memory_type` | 檔案的範圍:`"User"`、`"Project"`、`"Local"` 或 `"Managed"` |1399| `memory_type` | 檔案的範圍:`"User"`、`"Project"`、`"Local"` 或 `"Managed"` |

1161| `load_reason` | 檔案被載入的原因:`"session_start"`、`"nested_traversal"`、`"path_glob_match"`、`"include"` 或 `"compact"`。`"compact"` 值在壓縮事件後重新載入指令檔案時觸發 |1400| `load_reason` | 檔案載入的原因:`"session_start"`、`"nested_traversal"`、`"path_glob_match"`、`"include"` 或 `"compact"`。`"compact"` 值在壓縮事件後重新載入指令檔案時觸發 |

1162| `globs` | 檔案 `paths:` frontmatter 中的路徑 glob 模式(如果有)。僅針對 `path_glob_match` 載入出現 |1401| `globs` | 檔案 `paths:` frontmatter 中的路徑 glob 模式(如果有)。僅對 `path_glob_match` 載入出現 |

1163| `trigger_file_path` | 觸發此載入的檔案的路徑,用於延遲載入 |1402| `trigger_file_path` | 觸發此載入的檔案的路徑,用於延遲載入 |

1164| `parent_file_path` | 包含此檔案的父指令檔案的路徑,用於 `include` 載入 |1403| `parent_file_path` | 包含此檔案的父指令檔案的路徑,用於 `include` 載入 |

1165 1404 


1176```1415```

1177 1416 

1178<h4 id="instructionsloaded-decision-control">1417<h4 id="instructionsloaded-decision-control">

1179 InstructionsLoaded 決定控制1418 InstructionsLoaded 決策控制

1180</h4>1419</h4>

1181 1420 

1182InstructionsLoaded hooks 沒有決定控制。它們無法阻止或修改指令載入。使用此事件進行稽核記錄、合規性追蹤或可觀測性。1421InstructionsLoaded hooks 沒有決策控制。它們無法阻止或修改指令載入。Claude Code 捨棄它們的 [JSON 輸出欄位](#json-output),例如 `systemMessage` 和 `continue`。使用此事件進行稽核日誌、合規性追蹤或可觀測性。

1183 1422 

1184<h3 id="userpromptsubmit">1423<h3 id="userpromptsubmit">

1185 UserPromptSubmit1424 UserPromptSubmit

1186</h3>1425</h3>

1187 1426 

1188在使用者提交提示時執行,在 Claude 處理之前。這允許您根據提示/對話新增額外上下文、驗證提示或阻止某些類型的提示。1427在使用者提交提示時執行,在 Claude 處理之前。這允許您根據提示/對話新增額外背景資訊、驗證提示或阻止某些類型的提示。

1189 1428 

1190`UserPromptSubmit` hooks 對於 `command`、`http` 和 `mcp_tool` 類型的預設逾時為 30 秒,比其他事件上這些類型的 600 秒預設值更短。因為此 hook 在每個提示之前執行並阻止模型處理直到完成,卡住的 hook 會停滯工作階段。如果您的 hook 需要更多時間,請在 hook 項目中設定 `timeout` 欄位。1429`UserPromptSubmit` hooks 對 `command`、`http` 和 `mcp_tool` 類型的預設逾時為 30 秒,比大多數其他事件上這些類型的 600 秒預設值更短。因為此 hook 在每個提示之前執行並阻止模型處理直到完成,卡住的 hook 會停滯工作階段。如果您的 hook 需要更多時間,請在 hook 項目中設定 `timeout` 欄位。

1191 1430 

1192達到逾時的 `UserPromptSubmit` hook 被取消,其輸出(包括任何 `additionalContext`)被丟棄。提示仍然到達 Claude,但沒有該上下文。從 v2.1.196 開始,成績單顯示一個通知,命名 hook、觸發的逾時以及輸出被丟棄。較早的版本取消 hook 而不顯示通知。1431除了使用 [`async: true`](#run-hooks-in-the-background) 執行的命令 hook 外,達到其逾時的 `UserPromptSubmit` 命令、HTTP 或 MCP tool hook 會被取消,其輸出(包括任何 `additionalContext`)會被捨棄。提示仍會到達 Claude 而不會有該背景資訊。文字記錄顯示一個通知,命名 hook、觸發的逾時以及輸出已被捨棄。

1193 1432 

1194[Agent SDK callback hook](/docs/zh-TW/agent-sdk/hooks) 在 `UserPromptSubmit` 上達到逾時會阻止提示,並顯示命名 hook 和逾時的訊息,因為該處的 callback 可能充當必須不失敗開放的原則閘道。工作階段繼續。在 v2.1.208 之前,callback 在該事件上的逾時以執行錯誤結束轉向。1433在 `UserPromptSubmit` 上達到其逾時的 [Agent SDK 回呼 hook](/docs/zh-TW/agent-sdk/hooks) 會用命名 hook 和逾時的訊息阻止提示,因為該處的回呼可能充當必須不失敗開放的原則閘道。工作階段繼續。在 v2.1.208 之前,該事件上的回呼逾時以執行錯誤結束回合。

1195 1434 

1196<h4 id="userpromptsubmit-input">1435<h4 id="userpromptsubmit-input">

1197 UserPromptSubmit 輸入1436 UserPromptSubmit 輸入

1198</h4>1437</h4>

1199 1438 

1200除了 [通用輸入欄位](#common-input-fields) 外,UserPromptSubmit hooks 還接收包含使用者提交的文字的 `prompt` 欄位。1439除了 [常見輸入欄位](#common-input-fields) 外,UserPromptSubmit hooks 還會接收包含使用者提交的文字的 `prompt` 欄位。

1201 1440 

1202```json theme={null}1441```json theme={null}

1203{1442{


1211```1450```

1212 1451 

1213<h4 id="userpromptsubmit-decision-control">1452<h4 id="userpromptsubmit-decision-control">

1214 UserPromptSubmit 決定控制1453 UserPromptSubmit 決策控制

1215</h4>1454</h4>

1216 1455 

1217`UserPromptSubmit` hooks 可以控制使用者提示是否被處理並新增上下文。所有 [JSON 輸出欄位](#json-output) 都可用。1456`UserPromptSubmit` hooks 可以控制是否處理使用者提示並新增背景資訊。所有 [JSON 輸出欄位](#json-output) 都可用。

1218 1457 

1219有兩種方式在退出代碼 0 時向對話新增上下文:1458有兩種方式可以在退出代碼 0 上新增背景資訊到對話:

1220 1459 

1221* **純文字 stdout**:寫入 stdout 的任何非 JSON 文字都被新增為上下文1460* **純文字 stdout**:Claude Code 將其 [視為純文字](#exit-code-0) 的 stdout 新增到 Claude 的背景資訊

1222* **帶有 `additionalContext` 的 JSON**:使用下面的 JSON 格式以獲得更多控制。`additionalContext` 欄位被新增為上下文1461* **JSON 搭配 `additionalContext`**:使用下面的 JSON 格式以獲得更多控制。`additionalContext` 欄位作為背景資訊新增

1223 1462 

1224純 stdout 在成績單中顯示為 hook 輸出。`additionalContext` 值被注入為系統提醒,Claude 讀取時不會有可見的成績單項目。1463兩個通道都不會產生可見的文字記錄項目。純文字和 `additionalContext` 值各自作為以 hook 名稱開頭的系統提醒注入;Claude 讀取兩者。若要確認傳遞,請檢查 [偵錯日誌](#debug-hooks)。

1225 1464 

1226要阻止提示,請返回一個 JSON 物件,其中 `decision` 設定為 `"block"`:1465若要阻止提示,請返回一個 JSON 物件,其中 `decision` 設定為 `"block"`:

1227 1466 

1228| 欄位 | 描述 |1467| 欄位 | 描述 |

1229| :----------------------- | :----------------------------------------------------------------------- |1468| :----------------------- | :------------------------------------------------------------------------ |

1230| `decision` | `"block"` 防止提示被處理並從上下文中清除它。省略以允許提示進行 |1469| `decision` | `"block"` 防止提示被處理並從背景資訊中清除。省略以允許提示繼續 |

1231| `reason` | 當 `decision` 為 `"block"` 時向使用者顯示。不新增到上下文 |1470| `reason` | 當 `decision` 為 `"block"` 時顯示給使用者。不新增到背景資訊 |

1232| `additionalContext` | 新增到 Claude 上下文的字串,與提交的提示一起。請參閱 [為 Claude 新增上下文](#add-context-for-claude) |1471| `additionalContext` | 與提交的提示一起新增到 Claude 背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

1233| `sessionTitle` | 設定工作階段標題。使用此項根據提示內容自動命名工作階段 |1472| `sessionTitle` | 設定工作階段標題。用於根據提示內容自動命名工作階段 |

1234| `suppressOriginalPrompt` | 如果在 `decision` 為 `"block"` 時為 `true`,則從向使用者顯示的阻止訊息中省略原始提示文字 |1473| `suppressOriginalPrompt` | 當 `decision` 為 `"block"` 時,如果為 `true`,則從顯示給使用者的阻止訊息中省略原始提示文字 |

1474 

1475透過退出 2 阻止的 hook 路由方式與 `reason` 相同:阻止訊息向使用者顯示 stderr 文字,且不新增到背景資訊。

1235 1476 

1236```json theme={null}1477```json theme={null}

1237{1478{


1249 UserPromptExpansion1490 UserPromptExpansion

1250</h3>1491</h3>

1251 1492 

1252當使用者輸入的斜杠命令在到達 Claude 之前展開為提示時執行。使用此項來阻止特定命令的直接呼叫、為特定 skill 注入上下文,或記錄使用者呼叫哪些命令。例如,匹配 `deploy` 的 hook 可以在不存在批准檔案時阻止 `/deploy`,或匹配審查 skill 的 hook 可以將團隊的審查檢查清單附加為 `additionalContext`。1493在使用者輸入的命令擴展為到達 Claude 之前的提示時執行。使用此來阻止特定命令的直接呼叫、為特定 skill 注入背景資訊,或記錄使用者呼叫的命令。例如,匹配 `deploy` 的 hook 可以阻止 `/deploy`,除非存在核准檔案,或匹配審查 skill 的 hook 可以將團隊的審查檢查清單附加為 `additionalContext`。

1253 1494 

1254此事件涵蓋 `PreToolUse` 不涵蓋的路徑:匹配 `Skill` 工具的 `PreToolUse` hook 僅在 Claude 呼叫工具時觸發,但直接輸入 `/skillname` 會繞過 `PreToolUse`。`UserPromptExpansion` 在該直接路徑上觸發。1495此事件涵蓋 `PreToolUse` 不涵蓋的路徑:匹配 `Skill` 工具的 `PreToolUse` hook 僅在 Claude 呼叫工具時觸發,但直接輸入 `/skillname` 會繞過 `PreToolUse`。`UserPromptExpansion` 在該直接路徑上觸發。

1255 1496 

1256匹配 `command_name`。留空匹配器以針對每個提示類型斜杠命令觸發。1497在 `command_name` 上匹配。將匹配器留空以對每個提示類型命令觸發。

1257 1498 

1258<h4 id="userpromptexpansion-input">1499<h4 id="userpromptexpansion-input">

1259 UserPromptExpansion 輸入1500 UserPromptExpansion 輸入

1260</h4>1501</h4>

1261 1502 

1262除了 [通用輸入欄位](#common-input-fields) 外,UserPromptExpansion hooks 還接收 `expansion_type`、`command_name`、`command_args`、`command_source` 和原始 `prompt` 字串。`expansion_type` 欄位對於 skill 和自訂命令為 `slash_command`,或對於 MCP 伺服器提示為 `mcp_prompt`。1503除了 [常見輸入欄位](#common-input-fields) 外,UserPromptExpansion hooks 還會接收 `expansion_type`、`command_name`、`command_args`、`command_source` 和原始 `prompt` 字串。`expansion_type` 欄位對於 skill 和自訂命令為 `slash_command`,或對於 MCP 伺服器提示為 `mcp_prompt`。

1263 1504 

1264```json theme={null}1505```json theme={null}

1265{1506{


1277```1518```

1278 1519 

1279<h4 id="userpromptexpansion-decision-control">1520<h4 id="userpromptexpansion-decision-control">

1280 UserPromptExpansion 決定控制1521 UserPromptExpansion 決策控制

1281</h4>1522</h4>

1282 1523 

1283`UserPromptExpansion` hooks 可以阻止展開或新增上下文。所有 [JSON 輸出欄位](#json-output) 都可用。1524`UserPromptExpansion` hooks 可以阻止擴展或新增背景資訊。所有 [JSON 輸出欄位](#json-output) 都可用。

1284 1525 

1285| 欄位 | 描述 |1526| 欄位 | 描述 |

1286| :------------------ | :----------------------------------------------------------------------- |1527| :------------------ | :------------------------------------------------------------------------ |

1287| `decision` | `"block"` 防止斜杠命令展開。省略以允許它進行 |1528| `decision` | `"block"` 防止命令擴展。省略以允許它繼續 |

1288| `reason` | 當 `decision` 為 `"block"` 時向使用者顯示 |1529| `reason` | 當 `decision` 為 `"block"` 時顯示給使用者 |

1289| `additionalContext` | 新增到 Claude 上下文的字串,與展開的提示一起。請參閱 [為 Claude 新增上下文](#add-context-for-claude) |1530| `additionalContext` | 與擴展的提示一起新增到 Claude 背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

1531 

1532透過退出 2 阻止的 hook 路由方式與 `reason` 相同:阻止訊息向使用者顯示 stderr 文字。

1290 1533 

1291```json theme={null}1534```json theme={null}

1292{1535{


1303 MessageDisplay1546 MessageDisplay

1304</h3>1547</h3>

1305 1548 

1306在助手訊息流向螢幕時執行。Claude Code 分批顯示訊息:每次一批新完成的行準備好呈現時,hook 執行一次,這些行,Claude Code 在其位置呈現 hook 的替換文字。長訊息產生多個呼叫;短訊息可能只產生一個。1549在助手訊息流向螢幕時執行。Claude Code 分批顯示訊息:每次一批新完成的行準備好呈現時,hook 執行一次,其中包含這些行,Claude Code 呈現 hook 的替換文字代替它們。長訊息會產生多個呼叫;短訊息可能只產生一個。

1307 1550 

1308使用 MessageDisplay 來:1551使用 MessageDisplay 來:

1309 1552 

1310* 去除 markdown 以獲得最小顯示1553* 為最小顯示去除 markdown

1311* 轉換 Agent SDK 應用程式向其使用者顯示的文字1554* 轉換 Agent SDK 應用程式向其使用者顯示的文字

1312* 從 Claude 的回應中編輯 API 金鑰或內部主機名稱1555* 從 Claude 的回應中編輯 API 金鑰或內部主機名稱

1313 1556 

1314Claude Code 保持每批直到您的 hook 返回,因此請保持 hook 快速。如果 hook 失敗或逾時,Claude Code 顯示原始文字。此事件的預設逾時為 10 秒;如果您的 hook 需要更多時間,請在 hook 項目中設定 `timeout` 欄位。1557Claude Code 保留每個批次直到您的 hook 返回,因此請保持 hook 快速。如果 hook 失敗或逾時,Claude Code 顯示原始文字。此事件的預設逾時為 10 秒;如果您的 hook 需要更多時間,請在 hook 項目中設定 `timeout` 欄位。

1315 1558 

1316MessageDisplay 僅用於顯示:替換文字僅改變螢幕上呈現的內容。成績單和 Claude 看到的內容保持原始文字,因此 Claude 永遠看不到替換,詳細模式顯示原始文字。Hook 接收助手訊息文字,因此工具結果和您輸入的文字呈現不變。1559MessageDisplay 僅用於顯示:替換文字僅更改螢幕上呈現的內容。文字記錄和 Claude 看到的內容保持原始文字,因此 Claude 永遠看不到替換,詳細模式顯示原始文字。Hook 僅接收助手訊息文字,因此工具結果和您輸入的文字呈現不變。

1317 1560 

1318MessageDisplay 不支援匹配器,針對每個流向文字的助手訊息觸發;沒有文字的訊息(例如僅工具呼叫回應)不觸發它。1561MessageDisplay 不支援匹配器,對每個流向文字的助手訊息觸發;沒有文字的訊息(例如僅工具呼叫回應)不觸發它。

1319 1562 

1320在非互動執行中,包括 Agent SDK 查詢和 `claude -p`,MessageDisplay 每個助手訊息執行一次,而不是每批行執行一次。單一呼叫在訊息完成後到達,並攜帶完整訊息文字:`index` 為 `0`,`final` 為 `true`,`delta` 保存整個訊息。為每個訊息收集 `delta` 文字的 hook 在兩種模式中接收相同的總文字。1563在非互動執行中,包括 Agent SDK 查詢和 `claude -p`,MessageDisplay 每個助手訊息執行一次而不是每批行執行一次。單個呼叫在訊息完成後到達並攜帶完整訊息文字:`index` 為 `0`、`final` 為 `true`,`delta` 保留整個訊息。為每個訊息收集 `delta` 文字的 hook 在兩種模式中接收相同的總文字。

1321 1564 

1322<h4 id="messagedisplay-input">1565<h4 id="messagedisplay-input">

1323 MessageDisplay 輸入1566 MessageDisplay 輸入

1324</h4>1567</h4>

1325 1568 

1326除了 [通用輸入欄位](#common-input-fields) 外,MessageDisplay hooks 還接收轉向和訊息的識別碼、此呼叫在訊息中的位置,以及 `delta` 中的新文字。批次邊界取決於文字如何流動,因此使用 `index` 和 `final` 來追蹤通過訊息的進度,而不是期望行以特定方式分組。1569除了 [常見輸入欄位](#common-input-fields) 外,MessageDisplay hooks 還會接收回合和訊息的識別碼、此呼叫在訊息中的位置,以及 `delta` 中的新文字。批次邊界取決於文字流的方式,因此使用 `index` 和 `final` 追蹤訊息的進度,而不是期望行以特定方式分組。

1327 1570 

1328| 欄位 | 描述 |1571| 欄位 | 描述 |

1329| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |1572| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |

1330| `turn_id` | 目前轉向的 UUID |1573| `turn_id` | 目前回合的 UUID |

1331| `message_id` | 被顯示的助手訊息的 UUID。在同一訊息的每批中穩定。這不是 API `msg_…` id,因此無法與成績單訊息 ids 相關聯 |1574| `message_id` | 正在顯示的助手訊息的 UUID。在同一訊息的每個批次中穩定。這不是 API `msg_…` id,因此無法與文字記錄訊息 id 相關聯 |

1332| `index` | 此批次在訊息中的零基索引 |1575| `index` | 訊息內此批次的零基索引 |

1333| `final` | 在訊息的最後一批上為 `true`。每個訊息恰好有一個最終批次 |1576| `final` | 在訊息的最後一個批次上為 `true`。每個訊息恰好有一個最終批次 |

1334| `delta` | 自上一批以來新完成的行,包括終止換行符。始終是完整行,除了最終批次可能在行中結束。在互動執行中,當訊息以換行符結束時,最終批次的 delta 為空,因此將 `final` 而不是非空 delta 視為訊息結束信號。在 Agent SDK 和 `claude -p` 執行中,單一呼叫攜帶整個訊息 |1577| `delta` | 自上一個批次以來新完成的行,包括終止換行符。始終是完整行,除了最終批次可能在行中結束。在互動執行中,當訊息以換行符結束時,最終批次的 delta 為空,因此將 `final` 而不是非空 delta 視為訊息結束信號。在 Agent SDK 和 `claude -p` 執行中,單個呼叫攜帶整個訊息 |

1335 1578 

1336```json theme={null}1579```json theme={null}

1337{1580{


1351 MessageDisplay 輸出1594 MessageDisplay 輸出

1352</h4>1595</h4>

1353 1596 

1354除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,MessageDisplay hooks 可以返回 `displayContent` 來替換螢幕上的 delta:1597除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,MessageDisplay hooks 可以返回 `displayContent` 以替換螢幕上的 delta:

1355 1598 

1356| 欄位 | 描述 |1599| 欄位 | 描述 |

1357| :--------------- | :------------------------ |1600| :--------------- | :----------------------- |

1358| `displayContent` | 顯示以代替 delta 的文字。省略以顯示原始文字 |1601| `displayContent` | 顯示代替 delta 的文字。省略以顯示原始文字 |

1359 1602 

1360MessageDisplay hooks 沒有決定控制。它們無法阻止訊息或改變成績單中儲存或發送給 Claude 的內容。1603MessageDisplay hooks 沒有決策控制。它們無法阻止訊息或更改文字記錄中儲存或發送給 Claude 的內容。Claude Code 作用於它們的 JSON 輸出中的 `displayContent` 並捨棄 `systemMessage` 和 `continue`。

1361 1604 

1362此範例去除 Claude 回應中的 markdown 格式以獲得純文字顯示。指令碼從 stdin 讀取每批,從 `delta` 移除粗體標記和內聯代碼反引號,並將結果作為 `displayContent` 返回。1605此範例從 Claude 的回應中去除 markdown 格式以獲得純文字顯示。指令碼從 stdin 讀取每個批次,從 `delta` 中移除粗體標記和內聯代碼反引號,並將結果作為 `displayContent` 返回。

1363 1606 

1364<Tabs>1607<Tabs>

1365 <Tab title="macOS/Linux">1608 <Tab title="macOS/Linux">


1389 #!/bin/bash1632 #!/bin/bash

1390 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'1633 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'

1391 ```1634 ```

1392 

1393 指令碼需要 `jq` 在您的 `PATH` 上。

1394 </Tab>1635 </Tab>

1395 1636 

1396 <Tab title="Windows (PowerShell)">1637 <Tab title="Windows (PowerShell)">

1397 註冊一個命令 hook,通過 PowerShell 執行指令碼:1638 註冊一個命令 hook,透過 PowerShell 執行指令碼:

1398 1639 

1399 ```json theme={null}1640 ```json theme={null}

1400 {1641 {


1420 }1661 }

1421 ```1662 ```

1422 1663 

1423 `-NoProfile` 標誌跳過載入您的 PowerShell 設定檔,以便 hook 快速啟動,`-ExecutionPolicy Bypass` 讓 PowerShell 執行本機指令碼檔案。1664 `-NoProfile` 旗標跳過載入您的 PowerShell 設定檔,以便 hook 快速啟動,`-ExecutionPolicy Bypass` 讓 PowerShell 執行本機指令碼檔案。

1424 1665 

1425 將此指令碼儲存到您專案中的 `.claude/hooks/plain-display.ps1`:1666 將此指令碼儲存到您專案中的 `.claude/hooks/plain-display.ps1`:

1426 1667 


1437 </Tab>1678 </Tab>

1438</Tabs>1679</Tabs>

1439 1680 

1440沒有 markdown 的批次通過不變。如果指令碼失敗,例如因為 `jq` 遺失,Claude Code 顯示原始文字,並僅在 [偵錯輸出](#debug-hooks) 中注意失敗,而不是在工作階段中。1681沒有 markdown 的批次通過不變。如果指令碼失敗,例如因為 `jq` 缺失,Claude Code 顯示原始文字並僅在 [偵錯輸出](#debug-hooks) 中記錄失敗,而不是在工作階段中。

1441 1682 

1442<h3 id="pretooluse">1683<h3 id="pretooluse">

1443 PreToolUse1684 PreToolUse

1444</h3>1685</h3>

1445 1686 

1446在 Claude 建立工具參數後和處理工具呼叫之前執行。匹配工具名稱:`Bash`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode` 和任何 [MCP 工具名稱](#match-mcp-tools)。1687在 Claude 建立工具參數之後、處理工具呼叫之前執行。在除 `EndConversation` 外的任何工具名稱上匹配:內建工具,例如 `Bash`、`PowerShell`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`Workflow`、`WebFetch`、`WebSearch`、`AskUserQuestion` 和 `ExitPlanMode`,以及任何 [MCP 工具名稱](#match-mcp-tools)。

1688 

1689若要在磁碟上的特定檔案變更時執行 hook,無論什麼寫入它,請改用 [FileChanged](#filechanged) 而不是按名稱匹配檔案編輯工具。與 PreToolUse 不同,Claude Code 在變更後執行 FileChanged hooks,它們沒有決策控制,因此無法阻止寫入。

1447 1690 

1448<Warning>1691<Warning>

1449 PreToolUse 僅在 Claude 呼叫工具時執行。您 [在提示中使用 `@` 參考的檔案](/docs/zh-TW/common-workflows#reference-files-and-directories) 被新增而不進行任何工具呼叫:Claude Code 在建立提示時插入其內容,因此沒有 PreToolUse hook 針對它們觸發,包括匹配 `Read` 的 hooks。要阻止特定路徑的 `@` 參考,請改用 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)。1692 PreToolUse 僅在 Claude 呼叫工具時執行。您在提示中 [使用 `@` 參考的檔案](/docs/zh-TW/common-workflows#reference-files-and-directories) 會被新增而不進行任何工具呼叫:Claude Code 在建立提示時插入其內容,因此沒有 PreToolUse hook 對它們觸發,包括匹配 `Read` 的 hooks。若要阻止特定路徑的 `@` 參考,請改用 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)。

1693 

1694 PreToolUse 也不對 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 觸發。

1450</Warning>1695</Warning>

1451 1696 

1452使用 [PreToolUse 決定控制](#pretooluse-decision-control) 來允許、拒絕、詢問或延遲工具呼叫。1697使用 [PreToolUse 決策控制](#pretooluse-decision-control) 來允許、拒絕、詢問或延遲工具呼叫。

1698 

1699在 `PreToolUse` 上超過其逾時的 [Agent SDK 回呼 hook](/docs/zh-TW/agent-sdk/hooks) 會阻止工具呼叫,Claude 接收命名逾時的錯誤結果。另一個 hook 返回的明確拒絕仍然優先。

1453 1700 

1454<h4 id="pretooluse-input">1701<h4 id="pretooluse-input">

1455 PreToolUse 輸入1702 PreToolUse 輸入

1456</h4>1703</h4>

1457 1704 

1458除了 [通用輸入欄位](#common-input-fields) 外,PreToolUse hooks 還接收 `tool_name`、`tool_input` 和 `tool_use_id`。`tool_input` 欄位取決於工具:1705除了 [常見輸入欄位](#common-input-fields) 外,PreToolUse hooks 還會接收 `tool_name`、`tool_input` 和 `tool_use_id`。

1706 

1707對於 [MCP 工具](#match-mcp-tools),輸入也攜帶 `mcp_server`,一個具有伺服器 `name` 和 `source` 的物件,說明伺服器定義來自何處。`source` 值包括 `plugin`、`sdk` 和設定範圍,例如 `user` 和 `project`。Agent SDK 參考中的 [`McpServerProvenance`](/docs/zh-TW/agent-sdk/typescript#mcpserverprovenance) 列出它們全部並說明如何對待您不認識的。基於 `source` 而不是 `name` 或 `mcp__<server>__` 工具名稱前綴進行信任決策。`mcp_server` 欄位需要 Claude Code v2.1.274 或更新版本。

1708 

1709對於檔案工具 `Write`、`Edit` 和 `Read`,`tool_input.file_path` 始終是絕對的:

1710 

1711* Claude Code 在 hooks 執行之前擴展 `~` 和相對路徑,因此匹配路徑的 hook 無法透過 `~` 或相同路徑的相對拼寫繞過

1712* 在 Windows 上,路徑到達時使用反斜線分隔符,即使您的 hook 在 Git Bash 下執行,其中 `$PWD` 看起來像 `/c/project`

1713* 使用正斜線編寫的比較,例如 `/src/` 檢查,永遠不會匹配反斜線路徑,工具呼叫會如同 hook 沒有要阻止的內容一樣進行

1714* 在比較前規範化分隔符:Bash 中的 `FILE_PATH="${FILE_PATH//\\//}"`,或 Python 中的 `file_path.replace("\\", "/")`,然後匹配路徑段,例如 `/src/`,而不是使用 `^` 錨定,因為路徑是絕對的

1715 

1716Windows 上的 `Write` 呼叫傳遞:

1717 

1718```json theme={null}

1719{

1720 "hook_event_name": "PreToolUse",

1721 "tool_name": "Write",

1722 "tool_input": {

1723 "file_path": "C:\\project\\src\\index.ts",

1724 "content": "..."

1725 },

1726 ...

1727}

1728```

1729 

1730`tool_input` 欄位取決於工具:

1731 

1732<a id="bash" />

1459 1733 

1460<h5 id="bash">1734<h5 id="bash">

1461 Bash1735 Bash


1464執行 shell 命令。1738執行 shell 命令。

1465 1739 

1466| 欄位 | 類型 | 範例 | 描述 |1740| 欄位 | 類型 | 範例 | 描述 |

1467| :------------------ | :-- | :----------------- | :----------------------------------------------------------------------------- |1741| :------------------ | :------ | :----------------- | :--------------------------------------------------------------------------- |

1468| `command` | 字串 | `"npm test"` | 要執行的 shell 命令 |1742| `command` | string | `"npm test"` | 要執行的 shell 命令 |

1469| `description` | 字串 | `"Run test suite"` | 命令執行內容的可選描述 |1743| `description` | string | `"Run test suite"` | 命令執行內容的可選描述 |

1470| `timeout` | 數字 | `120000` | 可選逾時(毫秒)。超過 [最大值](/docs/zh-TW/tools-reference#bash-tool-behavior) 的值會被減少到最大值,而不是被拒絕 |1744| `timeout` | number | `120000` | 可選逾時(毫秒)。超過 [最大值](/docs/zh-TW/tools-reference#bash-tool-behavior) 的值會減少到最大值而不是被拒絕 |

1471| `run_in_background` | 布林值 | `false` | 是否在背景執行命令 |1745| `run_in_background` | boolean | `false` | 是否在背景執行命令 |

1746 

1747當 Bash 命令更改 Git 儲存庫中的檔案時,Claude Code 可以記錄變更的內容。當 [`bashEditDiffEnabled`](/docs/zh-TW/settings-reference#basheditdiffenabled) 設定打開記錄時,它在每個權限模式中記錄;該設定的項目說明哪些檔案可以設定它。否則它僅在自動模式和 `bypassPermissions` 模式中記錄,並且僅當 Claude Code 指導 Claude 透過 Bash 編輯檔案時。設定 `bashEditDiffEnabled` 為 `false` 以關閉記錄。背景命令和唯讀命令不攜帶 diff。

1748 

1749您的 [PostToolUse hook](#posttooluse) 然後在 `tool_response.bashEditDiff` 中接收變更的檔案。該清單涵蓋命令執行時在儲存庫下變更的內容。Git 忽略的檔案和子模組中的檔案不被列出。需要 Claude Code v2.1.269 或更新版本。

1750 

1751<Note>

1752 該清單是盡力而為的,處於公開測試版。Claude Code 可能會遺漏變更、包含另一個程序同時變更的檔案,或在其大小限制處停止。欄位形狀可能會變更。使用該清單找到要審查的內容,而不是強制執行原則。

1753</Note>

1754 

1755`changedFiles` 和 `files` 列出命令變更的內容;其餘欄位說明該清單的完整性和可靠性。

1756 

1757| 欄位 | 類型 | 範例 | 描述 |

1758| :------------- | :------ | :------------------------------------------------------ | :------------------------------------------------------------------------ |

1759| `changedFiles` | array | `["/path/to/src/app.ts"]` | 命令變更的檔案的絕對路徑,最多 200 個。每當 `files` 保留 diff 或 `moreFiles` 高於零時出現 |

1760| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | 最多 5 個變更檔案的 diffs,用於顯示。對於命令新增或移除的檔案,`created` 或 `deleted` 為 `true` |

1761| `moreFiles` | number | `2` | 在 `files` 中沒有 diff 的變更檔案計數 |

1762| `unavailable` | boolean | `true` | 當 diff 不完整或無法進行時設定 |

1763| `skipped` | boolean | `true` | 對於移動工作樹的 Git 命令設定,例如 `git checkout` 或 `git stash`,因此 Claude Code 不進行 diff |

1764| `shared` | boolean | `true` | 當另一個 Bash 工具呼叫(例如子代理的)同時在同一儲存庫中執行時設定,因此某些列出的變更可能是該命令的 |

1765 

1766<a id="powershell" />

1767 

1768<h5 id="powershell">

1769 PowerShell

1770</h5>

1771 

1772執行 PowerShell 命令。請參閱 [PowerShell 工具](/docs/zh-TW/tools-reference#powershell-tool),了解按平台的可用性。

1773 

1774欄位與 Bash 工具匹配,命令字串在 `command` 中:

1775 

1776| 欄位 | 類型 | 範例 | 描述 |

1777| :------------------ | :------ | :------------------------- | :----------------- |

1778| `command` | string | `"Get-ChildItem -Recurse"` | 要執行的 PowerShell 命令 |

1779| `description` | string | `"List files recursively"` | 命令執行內容的可選描述 |

1780| `timeout` | number | `120000` | 可選逾時(毫秒) |

1781| `run_in_background` | boolean | `false` | 是否在背景執行命令 |

1782 

1783在檢查 shell 命令的 hooks 中匹配 `Bash|PowerShell`,以便它們涵蓋兩個工具:

1784 

1785* 在 Windows 上,只要啟用了 PowerShell 工具,Claude 就會將 PowerShell 視為主要 shell 並透過它路由 shell 命令。

1786* 在沒有 Git Bash 的 Windows 上,工具會自動啟用,Claude Code 根本不會註冊 Bash 工具。

1787* 僅匹配 `Bash` 的 hook 永遠不會在那裡觸發。

1472 1788 

1473<h5 id="write">1789<h5 id="write">

1474 Write1790 Write


1477建立或覆寫檔案。1793建立或覆寫檔案。

1478 1794 

1479| 欄位 | 類型 | 範例 | 描述 |1795| 欄位 | 類型 | 範例 | 描述 |

1480| :---------- | :- | :-------------------- | :---------- |1796| :---------- | :----- | :-------------------- | :---------- |

1481| `file_path` | 字串 | `"/path/to/file.txt"` | 要寫入的檔案的絕對路徑 |1797| `file_path` | string | `"/path/to/file.txt"` | 要寫入的檔案的絕對路徑 |

1482| `content` | 字串 | `"file content"` | 要寫入檔案的內容 |1798| `content` | string | `"file content"` | 要寫入檔案的內容 |

1483 1799 

1484<h5 id="edit">1800<h5 id="edit">

1485 Edit1801 Edit


1488替換現有檔案中的字串。1804替換現有檔案中的字串。

1489 1805 

1490| 欄位 | 類型 | 範例 | 描述 |1806| 欄位 | 類型 | 範例 | 描述 |

1491| :------------ | :-- | :-------------------- | :---------- |1807| :------------ | :------ | :-------------------- | :---------- |

1492| `file_path` | 字串 | `"/path/to/file.txt"` | 要編輯的檔案的絕對路徑 |1808| `file_path` | string | `"/path/to/file.txt"` | 要編輯的檔案的絕對路徑 |

1493| `old_string` | 字串 | `"original text"` | 要查詢和替換的文字 |1809| `old_string` | string | `"original text"` | 要尋找和替換的文字 |

1494| `new_string` | 字串 | `"replacement text"` | 替換文字 |1810| `new_string` | string | `"replacement text"` | 替換文字 |

1495| `replace_all` | 布林值 | `false` | 是否替換所有出現次數 |1811| `replace_all` | boolean | `false` | 是否替換所有出現次數 |

1496 1812 

1497<h5 id="read">1813<h5 id="read">

1498 Read1814 Read


1501讀取檔案內容。1817讀取檔案內容。

1502 1818 

1503| 欄位 | 類型 | 範例 | 描述 |1819| 欄位 | 類型 | 範例 | 描述 |

1504| :---------- | :- | :-------------------- | :---------- |1820| :---------- | :----- | :-------------------- | :---------- |

1505| `file_path` | 字串 | `"/path/to/file.txt"` | 要讀取的檔案的絕對路徑 |1821| `file_path` | string | `"/path/to/file.txt"` | 要讀取的檔案的絕對路徑 |

1506| `offset` | 數字 | `10` | 可選的開始讀取的行號 |1822| `offset` | number | `10` | 可選行號以開始讀取 |

1507| `limit` | 數字 | `50` | 可選的要讀取的行數 |1823| `limit` | number | `50` | 可選要讀取的行數 |

1508 1824 

1509<h5 id="glob">1825<h5 id="glob">

1510 Glob1826 Glob


1513尋找與 glob 模式匹配的檔案。1829尋找與 glob 模式匹配的檔案。

1514 1830 

1515| 欄位 | 類型 | 範例 | 描述 |1831| 欄位 | 類型 | 範例 | 描述 |

1516| :-------- | :- | :--------------- | :---------------- |1832| :-------- | :----- | :--------------- | :----------------- |

1517| `pattern` | 字串 | `"**/*.ts"` | 要匹配檔案的 glob 模式 |1833| `pattern` | string | `"**/*.ts"` | 要匹配檔案的 glob 模式 |

1518| `path` | 字串 | `"/path/to/dir"` | 可選的搜尋目錄。預設為目前工作目錄 |1834| `path` | string | `"/path/to/dir"` | 可選要搜尋的目錄。預設為目前工作目錄 |

1519 1835 

1520<h5 id="grep">1836<h5 id="grep">

1521 Grep1837 Grep


1524使用正規表達式搜尋檔案內容。1840使用正規表達式搜尋檔案內容。

1525 1841 

1526| 欄位 | 類型 | 範例 | 描述 |1842| 欄位 | 類型 | 範例 | 描述 |

1527| :------------ | :-- | :--------------- | :------------------------------------------------------------------------ |1843| :------------ | :------ | :--------------- | :------------------------------------------------------------------------ |

1528| `pattern` | 字串 | `"TODO.*fix"` | 要搜尋的正規表達式模式 |1844| `pattern` | string | `"TODO.*fix"` | 要搜尋的正規表達式模式 |

1529| `path` | 字串 | `"/path/to/dir"` | 可選的要搜尋的檔案或目錄 |1845| `path` | string | `"/path/to/dir"` | 可選要搜尋的檔案或目錄 |

1530| `glob` | 字串 | `"*.ts"` | 可選的 glob 模式以篩選檔案 |1846| `glob` | string | `"*.ts"` | 可選 glob 模式以篩選檔案 |

1531| `output_mode` | 字串 | `"content"` | `"content"`、`"files_with_matches"` 或 `"count"`。預設為 `"files_with_matches"` |1847| `output_mode` | string | `"content"` | `"content"`、`"files_with_matches"` 或 `"count"`。預設為 `"files_with_matches"` |

1532| `-i` | 布林值 | `true` | 不區分大小寫的搜尋 |1848| `-i` | boolean | `true` | 不區分大小寫搜尋 |

1533| `multiline` | 布林值 | `false` | 啟用多行匹配 |1849| `multiline` | boolean | `false` | 啟用多行匹配 |

1534 1850 

1535<h5 id="webfetch">1851<h5 id="webfetch">

1536 WebFetch1852 WebFetch


1539擷取和處理網路內容。1855擷取和處理網路內容。

1540 1856 

1541| 欄位 | 類型 | 範例 | 描述 |1857| 欄位 | 類型 | 範例 | 描述 |

1542| :------- | :- | :---------------------------- | :----------- |1858| :------- | :----- | :---------------------------- | :----------- |

1543| `url` | 字串 | `"https://example.com/api"` | 要擷取內容的 URL |1859| `url` | string | `"https://example.com/api"` | 要擷取內容的 URL |

1544| `prompt` | 字串 | `"Extract the API endpoints"` | 在擷取的內容上執行的提示 |1860| `prompt` | string | `"Extract the API endpoints"` | 在擷取的內容上執行的提示 |

1545 1861 

1546<h5 id="websearch">1862<h5 id="websearch">

1547 WebSearch1863 WebSearch


1550搜尋網路。1866搜尋網路。

1551 1867 

1552| 欄位 | 類型 | 範例 | 描述 |1868| 欄位 | 類型 | 範例 | 描述 |

1553| :---------------- | :- | :----------------------------- | :-------------- |1869| :---------------- | :----- | :----------------------------- | :-------------- |

1554| `query` | 字串 | `"react hooks best practices"` | 搜尋查詢 |1870| `query` | string | `"react hooks best practices"` | 搜尋查詢 |

1555| `allowed_domains` | 陣列 | `["docs.example.com"]` | 可選:僅包含來自這些網域的結果 |1871| `allowed_domains` | array | `["docs.example.com"]` | 可選:僅包含來自這些網域的結果 |

1556| `blocked_domains` | 陣列 | `["spam.example.com"]` | 可選:排除來自這些網域的結果 |1872| `blocked_domains` | array | `["spam.example.com"]` | 可選:排除來自這些網域的結果 |

1557 1873 

1558<h5 id="agent">1874<h5 id="agent">

1559 Agent1875 Agent

1560</h5>1876</h5>

1561 1877 

1562生成一個 [subagent](/docs/zh-TW/sub-agents)。1878生成 [子代理](/docs/zh-TW/sub-agents)。

1563 1879 

1564| 欄位 | 類型 | 範例 | 描述 |1880| 欄位 | 類型 | 範例 | 描述 |

1565| :-------------- | :- | :------------------------- | :------------ |1881| :-------------- | :----- | :------------------------- | :----------- |

1566| `prompt` | 字串 | `"Find all API endpoints"` | 代理要執行的任務 |1882| `prompt` | string | `"Find all API endpoints"` | 代理要執行的任務 |

1567| `description` | 字串 | `"Find API endpoints"` | 任務的簡短描述 |1883| `description` | string | `"Find API endpoints"` | 任務的簡短描述 |

1568| `subagent_type` | 字串 | `"Explore"` | 要使用的專門代理類型 |1884| `subagent_type` | string | `"Explore"` | 要使用的專門代理類型 |

1569| `model` | 字串 | `"sonnet"` | 可選的模型別名以覆蓋預設值 |1885| `model` | string | `"sonnet"` | 可選模型別名以覆寫預設值 |

1570 1886 

1571在 `PostToolUse` 中,已完成的 Agent 呼叫的 `tool_response` 攜帶 subagent 的最終文字以及使用量遙測。讀取這些欄位以從 hook 記錄每個 subagent 的成本:1887當前景 Agent 呼叫完成時,您的 [PostToolUse hook](#posttooluse) 在 `tool_response` 中接收子代理的結果和執行遙測。讀取這些欄位以檢查執行;對於跨子代理的令牌和成本匯總,使用 [令牌和成本計數器](/docs/zh-TW/monitoring-usage#token-counter),篩選為 `query_source` `"subagent"`,因為 `totalTokens` 和 `usage` 僅涵蓋最終請求:

1572 1888 

1573| 欄位 | 類型 | 範例 | 描述 |1889| 欄位 | 類型 | 範例 | 描述 |

1574| :------------------ | :- | :---------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |1890| :------------------ | :----- | :---------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |

1575| `status` | 字串 | `"completed"` | 前景 subagents 為 `"completed"`,背景 subagents 為 `"async_launched"`。從 v2.1.198 開始,subagents 預設在背景執行,因此省略的 `run_in_background` 也會產生 `"async_launched"` |1891| `status` | string | `"completed"` | 前景子代理為 `"completed"`,背景子代理為 `"async_launched"`。自 v2.1.198 起,子代理預設在背景執行,因此省略的 `run_in_background` 也會產生 `"async_launched"` |

1576| `agentId` | 字串 | `"a4d2c8f1e0b3a297"` | subagent 執行的識別碼 |1892| `agentId` | string | `"a4d2c8f1e0b3a297"` | 子代理執行的識別碼 |

1577| `content` | 陣列 | `[{"type": "text", "text": "Found 12 endpoints..."}]` | subagent 的最終文字塊 |1893| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | 子代理的最終文字區塊,或對於其報告透過 `SubagentHandback` 的子代理,關於該交接的簡短說明代替 |

1578| `resolvedModel` | 字串 | `"claude-sonnet-4-5"` | subagent 執行的模型,可能與請求的模型不同。需要 Claude Code v2.1.174 或更高版本 |1894| `resolvedModel` | string | `"claude-sonnet-4-5"` | 子代理啟動的模型,可能與請求的模型不同 |

1579| `totalTokens` | 數字 | `12450` | 在 subagent 轉向中計費的總令牌數 |1895| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | 按順序使用的模型,連續重複摺疊;僅在模型在執行中交換時設定。需要 Claude Code v2.1.212 或更新版本 |

1580| `totalDurationMs` | 數字 | `48211` | subagent 執行的掛鐘時間 |1896| `totalTokens` | number | `12450` | 子代理最終 API 請求的令牌計數:輸入、輸出和快取令牌結合。這不是整個執行的總計 |

1581| `totalToolUseCount` | 數字 | `7` | subagent 進行的工具呼叫計數 |1897| `totalDurationMs` | number | `48211` | 子代理執行的掛鐘持續時間 |

1582| `usage` | 物件 | `{"input_tokens": 8320, ...}` | 按類型的令牌細分:`input_tokens`、`output_tokens`、`cache_creation_input_tokens`、`cache_read_input_tokens` |1898| `totalToolUseCount` | number | `7` | 子代理進行的工具呼叫計數 |

1899| `usage` | object | `{"input_tokens": 8320, ...}` | 最終 API 請求的每類型令牌細目:`input_tokens`、`output_tokens`、`cache_creation_input_tokens`、`cache_read_input_tokens` |

1583 1900 

1584對於背景 subagents,工具在啟動 subagent 後立即返回,因此 `tool_response` 不攜帶使用量欄位。它具有 `status: "async_launched"`、`agentId`、`description`、`prompt`、`outputFile` 和 `resolvedModel`。1901在 Claude Code v2.1.271 或更新版本上,使用 [`SubagentHandback`](/docs/zh-TW/tools-reference) 工具執行的子代理(Claude Code 在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中提供)透過該工具傳遞其報告,而不是作為文字返回。其 `completed` 結果的 `content` 欄位然後攜帶關於該交接的簡短說明,而不是報告本身。若要讀取報告,請在 `SubagentHandback` 上匹配 `PreToolUse` 或 `PostToolUse` hook 並讀取 `tool_input.message`。

1585 1902 

1586`resolvedModel` 欄位命名 subagent 實際執行的模型,可能與 `tool_input` 中的 `model` 值不同,例如當 `availableModels` 或其他覆蓋適用時。它需要 Claude Code v2.1.174 或更高版本。1903對於背景子代理,工具在任務移到背景時返回,因此 `tool_response` 不攜帶使用欄位:背景啟動立即返回,前景任務在執行中被背景化時返回。它有 `status: "async_launched"`、`agentId`、`description`、`prompt`、`outputFile` 和 `resolvedModel`。

1904 

1905在 `completed` 回應上,`resolvedModel` 命名子代理啟動的模型,可能與 `tool_input` 中的 `model` 值不同,例如當 `availableModels` 或其他覆寫適用時。在 `async_launched` 回應上,`resolvedModel` 命名代理移到背景時使用的模型,因此在背景化之前發生的交換會反映在那裡。`modelsUsed` 和背景化時間 `resolvedModel` 行為需要 Claude Code v2.1.212 或更新版本。

1587 1906 

1588<a id="askuserquestion" />1907<a id="askuserquestion" />

1589 1908 


1594詢問使用者一到四個多選題。1913詢問使用者一到四個多選題。

1595 1914 

1596| 欄位 | 類型 | 範例 | 描述 |1915| 欄位 | 類型 | 範例 | 描述 |

1597| :---------- | :- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |1916| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |

1598| `questions` | 陣列 | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | 要呈現的問題,每個都有 `question` 字串、簡短 `header`、`options` 陣列和可選的 `multiSelect` 標誌 |1917| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | 要呈現的問題,每個都有 `question` 字串、簡短 `header`、`options` 陣列和可選 `multiSelect` 旗標 |

1599| `answers` | 物件 | `{"Which framework?": "React"}` | 可選。將問題文字對應到選定的選項標籤。多選答案用逗號連接標籤。Claude 不設定此欄位;通過 `updatedInput` 提供它以以程式方式回答 |1918| `answers` | object | `{"Which framework?": "React"}` | 可選。將問題文字對應到選定的選項標籤。多選答案用逗號連接標籤。Claude 不設定此欄位;透過 `updatedInput` 提供以程式設計方式回答 |

1600 1919 

1601<h5 id="exitplanmode">1920<h5 id="exitplanmode">

1602 ExitPlanMode1921 ExitPlanMode

1603</h5>1922</h5>

1604 1923 

1605呈現一個計劃並要求使用者在 Claude 離開 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 之前批准它。Claude 在呼叫工具之前將計劃寫入磁碟上的檔案,因此模型的字面 `tool_input` 通常為空。Claude Code 在將輸入傳遞給 hooks 之前注入計劃內容和檔案路徑。1924呈現計畫並要求使用者在 Claude 離開 [計畫模式](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 之前核准。Claude 在呼叫工具之前將計畫寫入磁碟上的檔案,因此模型的字面 `tool_input` 通常是空的。Claude Code 在將輸入傳遞給 hooks 之前注入計畫內容和檔案路徑。

1606 1925 

1607| 欄位 | 類型 | 範例 | 描述 |1926| 欄位 | 類型 | 範例 | 描述 |

1608| :--------------- | :- | :------------------------------------------ | :---------------------------------------------------------------- |1927| :--------------- | :----- | :------------------------------------------ | :---------------------------------------------------------------- |

1609| `plan` | 字串 | `"## Refactor auth\n1. Extract..."` | Markdown 中的計劃內容。從磁碟上的計劃檔案注入 |1928| `plan` | string | `"## Refactor auth\n1. Extract..."` | Markdown 中的計畫內容。從磁碟上的計畫檔案注入 |

1610| `planFilePath` | 字串 | `"/Users/.../plans/refactor-auth.md"` | 計劃檔案的路徑。注入 |1929| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | 計畫檔案的路徑。注入 |

1611| `allowedPrompts` | 陣列 | `[{"tool": "Bash", "prompt": "run tests"}]` | 已棄用。Claude Code 接受該欄位但忽略它。在 v2.1.205 之前,它攜帶 Claude 要求實施計劃的基於提示的權限 |1930| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | 已棄用。Claude Code 接受欄位但忽略它。在 v2.1.205 之前,它攜帶 Claude 請求以實施計畫的基於提示的權限 |

1612 1931 

1613在 `PostToolUse` 中,`tool_response` 是一個物件,其中包含 `plan` 和 `filePath` 欄位,保存批准的計劃,加上內部狀態標誌。讀取 `tool_response.plan` 以獲取計劃內容,而不是從磁碟重新讀取檔案。1932在 `PostToolUse` 中,`tool_response` 是一個物件,包含 `plan` 和 `filePath` 欄位保留核准的計畫,加上內部狀態旗標。讀取 `tool_response.plan` 以獲取計畫內容,而不是從磁碟重新讀取檔案。

1614 1933 

1615<h4 id="pretooluse-decision-control">1934<h4 id="pretooluse-decision-control">

1616 PreToolUse 決定控制1935 PreToolUse 決策控制

1617</h4>1936</h4>

1618 1937 

1619`PreToolUse` hooks 可以控制工具呼叫是否進行。與使用頂層 `decision` 欄位的其他 hooks 不同,PreToolUse 在 `hookSpecificOutput` 物件內返回其決定。這提供了更豐富的控制:四個結果(允許、拒絕、詢問或延遲)加上在執行前修改工具輸入的能力。1938`PreToolUse` hooks 可以控制工具呼叫是否進行。與使用頂級 `decision` 欄位的其他 hooks 不同,PreToolUse 在 `hookSpecificOutput` 物件內返回其決策。這提供了更豐富的控制:四個結果(允許、拒絕、詢問或延遲)加上在執行前修改工具輸入的能力。

1620 1939 

1621| 欄位 | 描述 |1940| 欄位 | 描述 |

1622| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1941| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1623| `permissionDecision` | `"allow"` 跳過權限提示,除了 [需要使用者互動的工具](#pretooluse-decision-control) 和連接器工具 [您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools)。`"deny"` 防止工具呼叫。`"ask"` 提示使用者確認。`"defer"` 優雅地退出,以便稍後可以恢復工具。[拒絕和詢問規則](/docs/zh-TW/permissions#manage-permissions) 仍然適用,無論 hook 返回什麼 |1942| `permissionDecision` | `"allow"` 跳過權限提示,除了 [任何模式自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves) 和 `AskUserQuestion` 和 `ExitPlanMode`,需要 [`updatedInput` 與其配對](#allow-with-updatedinput)。`"deny"` 防止工具呼叫。`"ask"` 提示使用者確認。`"defer"` 優雅地退出,以便稍後可以恢復工具。[拒絕和詢問規則](/docs/zh-TW/permissions#manage-permissions) 無論 hook 返回什麼都會被評估 |

1624| `permissionDecisionReason` | 對於 `"allow"` 和 `"ask"`,向使用者顯示但不向 Claude 顯示。對於 `"deny"`,向 Claude 顯示。對於 `"defer"`,被忽略 |1943| `permissionDecisionReason` | 對於 `"allow"` 和 `"ask"`,顯示給使用者但不顯示給 Claude。對於 `"deny"`,顯示給 Claude。對於 `"defer"`,忽略 |

1625| `updatedInput` | 在執行前修改工具的輸入參數。替換整個輸入物件,因此包括未修改的欄位以及修改後的欄位。與 `"allow"` 結合以自動批准,或與 `"ask"` 結合以向使用者顯示修改後的輸入。對於 `"defer"`,被忽略 |1944| `updatedInput` | 在執行前修改工具的輸入參數。替換整個輸入物件,因此在修改的欄位旁邊包含未變更的欄位。Claude Code 根據您的 hook 返回的輸入評估權限規則和 Bash 命令的 [自動背景資格](/docs/zh-TW/tools-reference#background-commands),而不是 Claude 發送的輸入。與 `"allow"` 結合以自動核准,或與 `"ask"` 結合以向使用者顯示修改的輸入。對於 `"defer"`,忽略 |

1626| `additionalContext` | 在工具執行前新增到 Claude 上下文的字串。對於 `"defer"`,被忽略。請參閱 [為 Claude 新增上下文](#add-context-for-claude) |1945| `additionalContext` | 與工具結果一起新增到 Claude 背景資訊的字串。當 `permissionDecision` 為 `"defer"` 時忽略。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

1946 

1947當多個 PreToolUse hooks 返回不同的決策時,優先順序為 `deny` > `defer` > `ask` > `allow`。

1627 1948 

1628當多個 PreToolUse hooks 返回不同的決定時,優先順序是 `deny` > `defer` > `ask` > `allow`。1949透過退出 2 阻止的 hook 路由方式與 `"deny"` 相同:Claude 看到 stderr 訊息作為拒絕原因。

1629 1950 

1630當 hook 返回 `"ask"` 時,向使用者顯示的權限提示包括一個標籤,識別 hook 來自何處:例如 `[User]`、`[Project]`、`[Plugin]` 或 `[Local]`。這幫助使用者了解哪個配置來源正在請求確認。1951當 hook 返回 `"ask"` 時,顯示給使用者的權限提示包含一個標籤,識別 hook 來自何處:`[settings]` 對於來自任何設定檔或代理 frontmatter 的 hook,`[plugin:<name>]` 對於外掛的 hook,或 `[skill]` 對於來自 skill frontmatter 的 hook。這幫助使用者理解哪個設定來源要求確認。

1952 

1953Hook 的 `"ask"` 也在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中強制權限提示:分類器仍然可以拒絕工具呼叫,但無法無聲地核准呼叫。在 v2.1.211 之前,分類器可以核准在 [沙箱](/docs/zh-TW/sandboxing) 外執行的 Bash 命令而不顯示 hook 請求的提示;分類器仍然對該命令應用了自己的安全規則,hook `"deny"` 始終被尊重。

1631 1954 

1632```json theme={null}1955```json theme={null}

1633{1956{


1643}1966}

1644```1967```

1645 1968 

1646`AskUserQuestion` 和 `ExitPlanMode` 需要使用者互動,通常在 [非互動模式](/docs/zh-TW/headless) 中使用 `-p` 標誌時阻止。返回 `permissionDecision: "allow"` 以及 `updatedInput` 滿足該要求:hook 從 stdin 讀取工具的輸入,通過您自己的 UI 收集答案,並在 `updatedInput` 中返回它,以便工具執行而不提示。僅返回 `"allow"` 對這些工具不夠。對於 `AskUserQuestion`,回顯原始 `questions` 陣列並新增一個 [`answers`](#askuserquestion) 物件,將每個問題的文字對應到選定的答案。1969<span id="allow-with-updatedinput" />

1647 1970 

1648連接器工具 [您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 即使 hook 返回 `"allow"` 也會提示。1971在 [非互動模式](/docs/zh-TW/headless) 中使用 `-p` 旗標,Claude Code 僅在執行有 [權限主機](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs) 以接收提示時提供 `AskUserQuestion` 和 `ExitPlanMode`,例如 Agent SDK `canUseTool` 回呼。這些工具需要使用者互動。返回 `permissionDecision: "allow"` 與 `updatedInput` 一起滿足該要求:hook 從 stdin 讀取工具的輸入,透過您自己的 UI 收集答案,並在 `updatedInput` 中返回它,以便工具執行而不提示。單獨返回 `"allow"` 對這些工具不足夠。對於 `AskUserQuestion`,回顯原始 `questions` 陣列並新增一個 [`answers`](#askuserquestion) 物件,將每個問題的文字對應到選定的答案。

1649 1972 

1650從 v2.1.199 開始,一個 MCP 工具,其伺服器使用 [`_meta["anthropic/requiresUserInteraction"]`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 標記它,更嚴格:hook 無法使用 `"allow"` 跳過其批准提示,無論是否有 `updatedInput`,因為 Claude Code 無法確認 hook 收集了工具需要的互動。1973自 v2.1.199 起,其伺服器使用 [`_meta["anthropic/requiresUserInteraction"]`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 標記的 MCP 工具更嚴格:hook 無法使用 `"allow"` 跳過其核准提示,無論是否有 `updatedInput`,因為 Claude Code 無法確認 hook 收集了工具需要的互動。

1651 1974 

1652<Note>1975<Note>

1653 PreToolUse 之前使用頂層 `decision` 和 `reason` 欄位,但這些對此事件已棄用。改用 `hookSpecificOutput.permissionDecision` 和 `hookSpecificOutput.permissionDecisionReason`。棄用的值 `"approve"` 和 `"block"` 對應於 `"allow"` 和 `"deny"`。PostToolUse 和 Stop 等其他事件繼續使用頂層 `decision` 和 `reason` 作為其目前格式。1976 PreToolUse 之前使用頂級 `decision` 和 `reason` 欄位,但這些對此事件已棄用。改用 `hookSpecificOutput.permissionDecision` 和 `hookSpecificOutput.permissionDecisionReason`。已棄用的值 `"approve"` 和 `"block"` 對應到 `"allow"` 和 `"deny"`。PostToolUse 和 Stop 等其他事件繼續使用頂級 `decision` 和 `reason` 作為其目前格式。

1654</Note>1977</Note>

1655 1978 

1656<h4 id="defer-a-tool-call-for-later">1979<h4 id="defer-a-tool-call-for-later">

1657 延遲工具呼叫以供稍後使用1980 延遲工具呼叫以供稍後使用

1658</h4>1981</h4>

1659 1982 

1660`"defer"` 用於執行 `claude -p` 作為子程序並讀取其 JSON 輸出的整合,例如 Agent SDK 應用程式或建立在 Claude Code 之上的自訂 UI。它讓該呼叫程序在工具呼叫處暫停 Claude,通過其自己的介面收集輸入,並從中斷處恢復。Claude Code 僅在 [非互動模式](/docs/zh-TW/headless) 中使用 `-p` 標誌時遵守此值。在互動式工作階段中,它記錄警告並忽略 hook 結果。1983`"defer"` 適用於執行 `claude -p` 作為子程序並讀取其 JSON 輸出的整合,例如 Agent SDK 應用程式或建立在 Claude Code 之上的自訂 UI。它讓該呼叫程序在工具呼叫處暫停 Claude,透過其自己的介面收集輸入,並在中斷處恢復。Claude Code 僅在 [非互動模式](/docs/zh-TW/headless) 中使用 `-p` 旗標時尊重此值。在互動式工作階段中,它記錄警告並忽略 hook 結果。

1661 1984 

1662`AskUserQuestion` 工具是典型情況:Claude 想要詢問使用者某些事情,但沒有終端來回答。往返工作如下:1985`AskUserQuestion` 工具是典型情況:Claude 想詢問使用者某事,但沒有終端來回答。`-p` 執行僅在有 [權限主機](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs) 時提供 `AskUserQuestion`,例如您使用 `--permission-prompt-tool` 傳遞的 MCP 工具,因此使用一個啟動執行。往返工作如下:

1663 1986 

16641. Claude 呼叫 `AskUserQuestion`。`PreToolUse` hook 觸發。19871. Claude 呼叫 `AskUserQuestion`。`PreToolUse` hook 觸發。

16652. Hook 返回 `permissionDecision: "defer"`。工具不執行。程序以 `stop_reason: "tool_deferred"` 退出,待處理的工具呼叫保留在成績單中。19882. Hook 返回 `permissionDecision: "defer"`。工具不執行。程序以 `stop_reason: "tool_deferred"` 退出,待處理工具呼叫保留在文字記錄中。

16663. 呼叫程序從 SDK 結果讀取 `deferred_tool_use`,在其自己的 UI 中呈現問題,並等待答案。19893. 呼叫程序從 SDK 結果讀取 `deferred_tool_use`,在其自己的 UI 中呈現問題,並等待答案。

16674. 呼叫程序執行 `claude -p --resume <session-id>`。相同的工具呼叫再次觸發 `PreToolUse`。19904. 呼叫程序執行 `claude -p --resume <session-id>`,使用相同的權限主機。相同的工具呼叫再次觸發 `PreToolUse`。

16685. Hook 返回 `permissionDecision: "allow"`,答案在 `updatedInput` 中。工具執行,Claude 繼續。19915. Hook 返回 `permissionDecision: "allow"`,答案在 `updatedInput` 中。工具執行,Claude 繼續。

1669 1992 

1670`deferred_tool_use` 欄位攜帶工具的 `id`、`name` 和 `input`。`input` 是 Claude 為工具呼叫生成的參數,在執行前捕獲:1993`deferred_tool_use` 欄位攜帶工具的 `id`、`name` 和 `input`。`input` 是 Claude 為工具呼叫生成的參數,在執行前捕獲:


1683}2006}

1684```2007```

1685 2008 

1686沒有逾時或重試限制。工作階段保留在磁碟上,直到您恢復它,受到 [`cleanupPeriodDays`](/docs/zh-TW/settings#available-settings) 保留掃描的約束,該掃描在預設 30 天後刪除工作階段檔案。如果恢復時答案還沒有準備好,hook 可以再次返回 `"defer"`,程序以相同的方式退出。呼叫程序控制何時通過最終返回 `"allow"` 或 `"deny"` 從 hook 中斷迴圈。2009沒有逾時或重試限制。工作階段保留在磁碟上直到您恢復它,受 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 保留掃描約束,預設情況下在 30 天後刪除工作階段檔案,遵循 [保留掃描規則](/docs/zh-TW/claude-directory#cleaned-up-automatically)。如果恢復時答案還未準備好,hook 可以再次返回 `"defer"`,程序以相同方式退出。呼叫程序透過最終從 hook 返回 `"allow"` 或 `"deny"` 來控制何時打破迴圈。

1687 2010 

1688`"defer"` 僅在 Claude 在轉向中進行單一工具呼叫時有效。如果 Claude 一次進行多個工具呼叫,`"defer"` 會被忽略並顯示警告,工具通過正常權限流程進行。該限制存在是因為恢復只能重新執行一個工具:沒有辦法延遲一個呼叫而不留下其他呼叫未解決。2011`"defer"` 僅在 Claude 在回合中進行單個工具呼叫時有效。如果 Claude 同時進行多個工具呼叫,`"defer"` 會被忽略並帶有警告,工具透過正常權限流程進行。約束存在是因為恢復只能重新執行一個工具:沒有辦法延遲批次中的一個呼叫而不留下其他未解決。

1689 2012 

1690如果恢復時延遲的工具不再可用,程序以 `stop_reason: "tool_deferred_unavailable"` 和 `is_error: true` 退出,在 hook 觸發之前。這發生在提供工具的 MCP 伺服器對於恢復的工作階段未連接時。`deferred_tool_use` 有效負載仍然包括在內,以便您可以識別哪個工具遺失。2013如果恢復時延遲的工具不再可用,程序以 `stop_reason: "tool_deferred_unavailable"` 和 `is_error: true` 退出,在 hook 觸發之前。這發生在為恢復的工作階段未連接提供工具的 MCP 伺服器時。`deferred_tool_use` 有效負載仍然包含,以便您可以識別哪個工具遺失。

1691 2014 

1692<Note>2015<Note>

1693 `--resume` 恢復工具被延遲時活動的權限模式,因此您不需要再次傳遞 `--permission-mode`。例外是 `plan` 和 `bypassPermissions`,它們永遠不會被帶過。在恢復時明確傳遞 `--permission-mode` 會覆蓋恢復的值。2016 若要在計畫模式中恢復延遲工作階段,請在 `--resume` 時傳遞 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags),以便 Claude Code 可以呈現計畫以供核准。沒有它,Claude Code 不會恢復計畫模式。需要 Claude Code v2.1.246 或更新版本。

2017 

2018 當您使用 `-p` 恢復時,Claude Code 不會恢復任何其他儲存的權限模式。它在新 `claude -p` 執行會啟動的權限模式中啟動執行,因此如果延遲工作階段使用了一個,請再次傳遞 `--permission-mode` 或 `--dangerously-skip-permissions`。當您使用 `claude --resume <session-id>` 恢復而不使用 `-p` 時,Claude Code 會恢復儲存的權限模式,但 [恢復時的權限模式](/docs/zh-TW/sessions#permission-mode-on-resume) 中列出的例外除外。

1694</Note>2019</Note>

1695 2020 

1696<h3 id="permissionrequest">2021<h3 id="permissionrequest">

1697 PermissionRequest2022 PermissionRequest

1698</h3>2023</h3>

1699 2024 

1700在向使用者顯示權限對話框時執行。使用 [PermissionRequest 決定控制](#permissionrequest-decision-control) 代表使用者允許或拒絕。2025在 Claude Code 即將要求您許可使用工具時執行。在無法顯示提示的工作階段中,例如 [非互動模式](/docs/zh-TW/headless) 中的背景子代理,Claude Code 仍然執行這些 hooks,如果沒有 hook 返回決策,它會拒絕工具呼叫。

2026使用 [PermissionRequest 決策控制](#permissionrequest-decision-control) 代表使用者允許或拒絕。

2027 

2028當您需要 Claude 要求許可使用工具時的信號時使用此事件。Claude Code 僅在提示等待約六秒後才執行 [Notification](#notification) hook,其中 `permission_prompt` 類型。

2029 

2030Claude Code 不為沙箱命令的 [網路請求](/docs/zh-TW/sandboxing#network-isolation) 執行 PermissionRequest hooks。若要獲得該提示的信號,請使用 `permission_prompt` 通知類型。

1701 2031 

1702匹配工具名稱,與 PreToolUse 相同的值。2032在工具名稱上匹配,與 PreToolUse 相同的值。

1703 2033 

1704<h4 id="permissionrequest-input">2034<h4 id="permissionrequest-input">

1705 PermissionRequest 輸入2035 PermissionRequest 輸入

1706</h4>2036</h4>

1707 2037 

1708PermissionRequest hooks 接收 `tool_name` 和 `tool_input` 欄位,如 PreToolUse hooks,但沒有 `tool_use_id`。可選的 `permission_suggestions` 陣列包含使用者通常在權限對話框中看到的「總是允許」選項。區別在於 hook 何時觸發:PermissionRequest hooks 在權限對話框即將向使用者顯示時執行,而 PreToolUse hooks 在工具執行前執行,無論權限狀態如何。2038PermissionRequest hooks 接收 `tool_name` 和 `tool_input` 欄位,如 PreToolUse hooks,但沒有 `tool_use_id`。對於 MCP 工具,它們也接收 [`mcp_server`](#pretooluse-input) 物件。可選 `permission_suggestions` 陣列包含 Claude Code 為此請求建議的 [權限更新](#permission-update-entries),例如新增允許規則或更改權限模式。

2039 

2040`permission_suggestions` 陣列不是您看到的選項的確切清單,因為每個權限對話建立自己的選項。某些對話(例如檔案編輯的對話)根本不讀取陣列,並從請求本身衍生其選項。讀取它的對話仍然可以保留一個選項,其建議保留在陣列中,例如當 [`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) 隱藏規則保存選項時。它也可以提供陣列中沒有建議項目的選項,例如 [**是的,並切換到自動模式**](/docs/zh-TW/permission-modes#switch-permission-modes),它直接更改權限模式而不是透過權限更新。

2041 

2042PreToolUse hooks 在每個工具呼叫之前執行,無論是否需要權限。PermissionRequest hooks 僅在 Claude Code 即將要求您許可時執行,或當它會以其他方式自動拒絕無法提示的呼叫時執行。兩個事件都不對 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 觸發。

1709 2043 

1710```json theme={null}2044```json theme={null}

1711{2045{


1731```2065```

1732 2066 

1733<h4 id="permissionrequest-decision-control">2067<h4 id="permissionrequest-decision-control">

1734 PermissionRequest 決定控制2068 PermissionRequest 決策控制

1735</h4>2069</h4>

1736 2070 

1737`PermissionRequest` hooks 可以允許或拒絕權限請求。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回一個 `decision` 物件,其中包含這些事件特定欄位:2071`PermissionRequest` hooks 可以允許或拒絕權限請求。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回具有這些事件特定欄位的 `decision` 物件:

1738 2072 

1739| 欄位 | 描述 |2073| 欄位 | 描述 |

1740| :------------------- | :------------------------------------------------------------------------------------------------------------------ |2074| :------------------- | :------------------------------------------------------------------------------------------------------------------ |

1741| `behavior` | `"allow"` 授予權限,`"deny"` 拒絕它。[拒絕和詢問規則](/docs/zh-TW/permissions#manage-permissions) 仍然適用,所以返回 `"allow"` 的 hook 不會覆蓋匹配的拒絕規則 |2075| `behavior` | `"allow"` 授予權限,`"deny"` 拒絕。[拒絕和詢問規則](/docs/zh-TW/permissions#manage-permissions) 仍然被評估,因此返回 `"allow"` 的 hook 不會覆寫匹配的拒絕規則 |

1742| `updatedInput` | 僅適用於 `"allow"`:在執行前修改工具的輸入參數。替換整個輸入物件,因此包括未修改的欄位以及修改後的欄位。修改後的輸入會重新評估拒絕和詢問規則 |2076| `updatedInput` | 僅對 `"allow"`:在執行前修改工具的輸入參數。替換整個輸入物件,因此在修改的欄位旁邊包含未變更的欄位。修改的輸入會針對拒絕和詢問規則重新評估 |

1743| `updatedPermissions` | 僅適用於 `"allow"`:應用的 [權限更新項目](#permission-update-entries) 陣列,例如新增允許規則或變更工作階段權限模式 |2077| `updatedPermissions` | 僅對 `"allow"`:[權限更新項目](#permission-update-entries) 陣列以應用,例如新增允許規則或更改工作階段權限模式 |

1744| `message` | 僅適用於 `"deny"`:告訴 Claude 為什麼權限被拒絕 |2078| `message` | 僅對 `"deny"`:告訴 Claude 為什麼權限被拒絕 |

1745| `interrupt` | 僅適用於 `"deny"`:如果為 `true`,停止 Claude |2079| `interrupt` | 僅對 `"deny"`:如果為 `true`,停止 Claude |

2080 

2081退出 2 而不帶 `decision` 物件的 hook 保持權限流程不變,其 stderr 被捨棄。只有 `decision` 物件可以授予或拒絕請求。

1746 2082 

1747```json theme={null}2083```json theme={null}

1748{2084{


1766 2102 

1767| `type` | 欄位 | 效果 |2103| `type` | 欄位 | 效果 |

1768| :------------------ | :------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |2104| :------------------ | :------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |

1769| `addRules` | `rules`、`behavior`、`destination` | 新增權限規則。`rules` 是 `{toolName, ruleContent?}` 物件的陣列。省略 `ruleContent` 以匹配整個工具。`behavior` 是 `"allow"`、`"deny"` 或 `"ask"` |2105| `addRules` | `rules`、`behavior`、`destination` | 新增權限規則。`rules` 是 `{toolName, ruleContent?}` 物件的陣列。省略 `ruleContent` 以匹配整個工具。`behavior` 為 `"allow"`、`"deny"` 或 `"ask"` |

1770| `replaceRules` | `rules`、`behavior`、`destination` | 用提供的 `rules` 替換 `destination` 處給定 `behavior` 的所有規則 |2106| `replaceRules` | `rules`、`behavior`、`destination` | 將給定 `behavior` 在 `destination` 的所有規則替換為提供的 `rules` |

1771| `removeRules` | `rules`、`behavior`、`destination` | 移除匹配的給定 `behavior` 的規則 |2107| `removeRules` | `rules`、`behavior`、`destination` | 移除給定 `behavior` 的匹配規則 |

1772| `setMode` | `mode`、`destination` | 變更權限模式。有效模式為 `default`、`auto`、`acceptEdits`、`dontAsk`、`bypassPermissions`、`plan` 和 `manual` 作為 `default` 的別名。`manual` 別名需要 Claude Code v2.1.200 或更高版本 |2108| `setMode` | `mode`、`destination` | 更改權限模式。有效模式為 `default`、`auto`、`acceptEdits`、`dontAsk`、`bypassPermissions`、`plan` 和 `manual` 作為 `default` 的別名。`manual` 別名需要 Claude Code v2.1.200 或更新版本 |

1773| `addDirectories` | `directories`、`destination` | 新增工作目錄。`directories` 是路徑字串的陣列 |2109| `addDirectories` | `directories`、`destination` | 新增工作目錄。`directories` 是路徑字串的陣列 |

1774| `removeDirectories` | `directories`、`destination` | 移除工作目錄 |2110| `removeDirectories` | `directories`、`destination` | 移除工作目錄 |

1775 2111 

1776<Note>2112<Note>

1777 `setMode` 與 `bypassPermissions` 僅在工作階段已經啟用繞過模式時生效:`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions` 或 `permissions.defaultMode: "bypassPermissions"` 在設定中,且模式未被 [`permissions.disableBypassPermissionsMode`](/docs/zh-TW/permissions#managed-settings) 停用。否則更新是無操作。`bypassPermissions` 無論 `destination` 如何都永遠不會被持久化為 `defaultMode`。2113 `setMode` 搭配 `bypassPermissions` 僅在您已啟動工作階段時生效,且繞過模式已可用:`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions` 或 [使用者、`--settings` 或受管設定](/docs/zh-TW/settings-reference#permissions-defaultmode) 中的 `permissions.defaultMode: "bypassPermissions"`。否則更新是無操作。當 [`permissions.disableBypassPermissionsMode`](/docs/zh-TW/permissions#managed-settings) 禁用模式或工作階段在 [受限模式](/docs/zh-TW/cli-reference#cli-flags) 中啟動時,更新也是無操作。

2114 

2115 `bypassPermissions` 無論 `destination` 如何都永遠不會作為 `defaultMode` 保留。

1778</Note>2116</Note>

1779 2117 

1780每個項目上的 `destination` 欄位決定變更是保留在記憶體中還是持久化到設定檔。2118每個項目上的 `destination` 欄位決定變更是保留在記憶體中還是保留到設定檔。

1781 2119 

1782| `destination` | 寫入 |2120| `destination` | 寫入 |

1783| :---------------- | :---------------------------- |2121| :---------------- | :---------------------------- |

1784| `session` | 僅在記憶體中,工作階段結束時丟棄 |2122| `session` | 僅在記憶體中,工作階段結束時捨棄 |

1785| `localSettings` | `.claude/settings.local.json` |2123| `localSettings` | `.claude/settings.local.json` |

1786| `projectSettings` | `.claude/settings.json` |2124| `projectSettings` | `.claude/settings.json` |

1787| `userSettings` | `~/.claude/settings.json` |2125| `userSettings` | `~/.claude/settings.json` |

1788 2126 

1789Hook 可以回顯它接收的 `permission_suggestions` 之一作為其自己的 `updatedPermissions` 輸出,這等同於使用者在對話框中選擇該「總是允許」選項。2127Hook 可以回顯它接收的 `permission_suggestions` 之一作為其自己的 `updatedPermissions` 輸出。

1790 2128 

1791<h3 id="posttooluse">2129<h3 id="posttooluse">

1792 PostToolUse2130 PostToolUse


1794 2132 

1795在工具成功完成後立即執行。2133在工具成功完成後立即執行。

1796 2134 

1797匹配工具名稱,與 PreToolUse 相同的值。2135在工具名稱上匹配,與 PreToolUse 相同的值。

2136 

2137當工具名稱不是正確的篩選器時更廣泛地匹配:

2138 

2139* 若要在任何工具成功完成後執行 hook,省略 `matcher` 或將其設定為 `"*"`。您的 hook 然後可以自己探索變更的內容,例如執行 `git status --porcelain`,它也列出 `git diff` 遺漏的未追蹤檔案。對於失敗的工具呼叫,在 [PostToolUseFailure](#posttoolusefailure) 下新增相同的 hook。

2140* 若要在特定檔案變更時執行 hook,無論什麼寫入它,請使用 [FileChanged](#filechanged)。當 `Bash` 命令或 Claude Code 外的程序重寫相同檔案時,Claude Code 不執行匹配 `Edit|Write` 的 `PostToolUse` hook。

1798 2141 

1799<h4 id="posttooluse-input">2142<h4 id="posttooluse-input">

1800 PostToolUse 輸入2143 PostToolUse 輸入

1801</h4>2144</h4>

1802 2145 

1803`PostToolUse` hooks 在工具已經成功執行後觸發。輸入包括 `tool_input`(發送給工具的參數)和 `tool_response`(它返回的結果)。兩者的確切架構取決於工具。2146`PostToolUse` hooks 在工具已成功執行後觸發。輸入包括 `tool_input`(發送給工具的引數)和 `tool_response`(它返回的結果)。兩者的確切架構取決於工具。檔案工具 `tool_input` 路徑以與 [PreToolUse](#pretooluse-input) 相同的格式到達:始終絕對,使用平台的原生分隔符,因此 Windows 上為反斜線。對於 MCP 工具,輸入也攜帶 [`mcp_server`](#pretooluse-input) 物件。

1804 2147 

1805```json theme={null}2148```json theme={null}

1806{2149{


1816 },2159 },

1817 "tool_response": {2160 "tool_response": {

1818 "filePath": "/path/to/file.txt",2161 "filePath": "/path/to/file.txt",

1819 "success": true2162 "type": "create"

1820 },2163 },

1821 "tool_use_id": "toolu_01ABC123...",2164 "tool_use_id": "toolu_01ABC123...",

1822 "duration_ms": 122165 "duration_ms": 12


1828| `duration_ms` | 可選。工具執行時間(毫秒)。不包括權限提示和 PreToolUse hooks 中花費的時間 |2171| `duration_ms` | 可選。工具執行時間(毫秒)。不包括權限提示和 PreToolUse hooks 中花費的時間 |

1829 2172 

1830<h4 id="posttooluse-decision-control">2173<h4 id="posttooluse-decision-control">

1831 PostToolUse 決定控制2174 PostToolUse 決策控制

1832</h4>2175</h4>

1833 2176 

1834`PostToolUse` hooks 可以在工具執行後向 Claude 提供反饋。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:2177`PostToolUse` hooks 可以在工具執行後提供回饋給 Claude。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:

1835 2178 

1836| 欄位 | 描述 |2179| 欄位 | 描述 |

1837| :--------------------- | :----------------------------------------------------------------------------- |2180| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1838| `decision` | `"block"` 提示 Claude 使用 `reason`。Claude 仍然看到原始輸出;要替換它,請使用 `updatedToolOutput` |2181| `decision` | `"block"` 在工具結果旁邊新增 `reason`。Claude 仍然看到原始輸出;若要替換它,請使用 `updatedToolOutput` |

1839| `reason` | 當 `decision` 為 `"block"` 時向 Claude 顯示的解釋 |2182| `reason` | 當 `decision` 為 `"block"` 時顯示給 Claude 的解釋 |

1840| `additionalContext` | 新增到 Claude 上下文的字串,與工具結果一起。請參閱 [為 Claude 新增上下文](#add-context-for-claude) |2183| `additionalContext` | 與工具結果一起新增到 Claude 背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

1841| `updatedToolOutput` | 在將工具的輸出發送給 Claude 之前,用提供的值替換它。該值必須符合工具的輸出形狀 |2184| `classifierContext` | 關於此呼叫結果的簡短說明,用於 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器而不是 Claude。請參閱 [為自動模式分類器註釋結果](#annotate-a-result-for-the-auto-mode-classifier)。需要 Claude Code v2.1.236 或更新版本 |

1842| `updatedMCPToolOutput` | 僅適用於 [MCP 工具](#match-mcp-tools):用提供的值替換工具的輸出。優先使用 `updatedToolOutput`,它適用於所有工具 |2185| `updatedToolOutput` | 在發送給 Claude 之前用提供的值替換工具的輸出。該值必須符合工具的輸出形狀 |

2186| `updatedMCPToolOutput` | 僅替換 [MCP 工具](#match-mcp-tools) 的輸出。優先使用 `updatedToolOutput`,它適用於所有工具 |

1843 2187 

1844下面的範例替換 `Bash` 呼叫的輸出。替換值符合 `Bash` 工具的輸出形狀:2188下面的範例替換 `Bash` 呼叫的輸出。替換值符合 `Bash` 工具的輸出形狀:

1845 2189 


1859```2203```

1860 2204 

1861<Warning>2205<Warning>

1862 `updatedToolOutput` 僅改變 Claude 看到的內容。工具已經在 hook 觸發時執行,因此任何寫入的檔案、執行的命令或發送的網路請求都已生效。遙測(如 OpenTelemetry 工具跨度和分析事件)也會在 hook 執行前捕獲原始輸出。要在執行前防止或修改工具呼叫,請改用 [PreToolUse](#pretooluse) hook。2206 `updatedToolOutput` 僅更改 Claude 看到的內容。工具已在 hook 觸發時執行,因此任何寫入的檔案、執行的命令或發送的網路請求已生效。遙測(例如 OpenTelemetry 工具跨度和分析事件)也會在 hook 執行前捕獲原始輸出。若要在執行前防止或修改工具呼叫,請改用 [PreToolUse](#pretooluse) hook。

2207 

2208 替換值必須符合工具的輸出形狀。內建工具返回結構化物件而不是純字串。例如,`Bash` 返回具有 `stdout`、`stderr`、`interrupted` 和 `isImage` 欄位的物件。對於內建工具,不符合工具輸出架構的值會被忽略,使用原始輸出。MCP 工具輸出通過而不進行架構驗證。去除 Claude 需要的錯誤詳細資訊可能導致它在錯誤假設上進行。

2209</Warning>

2210 

2211<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2212 為自動模式分類器註釋結果

2213</h4>

2214 

2215返回 `classifierContext` 以向 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器發送關於工具呼叫結果的簡短說明,而不是向 Claude。分類器 [永遠不會接收工具結果本身](/docs/zh-TW/permission-modes#how-the-classifier-evaluates-actions),因此此欄位是支援的方式,在它審查稍後的動作之前告訴它工具呼叫返回的內容。該欄位需要 Claude Code v2.1.236 或更新版本。

2216 

2217下面的範例告訴分類器查詢的輸出來自何處:

2218 

2219```json theme={null}

2220{

2221 "hookSpecificOutput": {

2222 "hookEventName": "PostToolUse",

2223 "classifierContext": "This query ran against the staging database, not production."

2224 }

2225}

2226```

2227 

2228分類器給予說明的權重取決於您設定 hook 的位置:

1863 2229 

1864 替換值必須符合工具的輸出形狀。內建工具返回結構化物件而不是純字串。例如,`Bash` 返回一個具有 `stdout`、`stderr`、`interrupted` 和 `isImage` 欄位的物件。對於內建工具,不符合工具輸出架構的值會被忽略,並使用原始輸出。MCP 工具輸出通過而不進行架構驗證。去除 Claude 需要的錯誤詳細資訊可能會導致它在錯誤的假設下進行。2230* **在 Claude Code 中設定的 Hooks**:對於來自設定檔、外掛、skills 和代理 frontmatter 的 hooks,分類器將說明視為未驗證的應用程式提供的背景資訊。說明永遠不會建立使用者意圖,如果它聲稱您核准或請求了某事,分類器會根據您在對話中的自己訊息檢查該聲明

2231* **進程內 Agent SDK 回呼**:當應用程式嵌入 Claude Code 將 hook 註冊為 [TypeScript SDK 回呼](/docs/zh-TW/agent-sdk/hooks) 並在即時工作階段期間返回說明時,分類器可能會將使用者陳述(在說明中轉達)視為使用者意圖。這樣的陳述可以滿足分類器會接受來自您發送的訊息的同意要求,但它永遠不會解除您自己的訊息也無法解除的阻止。工作階段恢復後,Claude Code 將恢復的說明視為未驗證的背景資訊。當兩個群組的 hooks 註釋相同呼叫時,分類器將組合說明視為未驗證

2232 

2233Claude Code 在傳遞說明時應用這些限制:

2234 

2235* **長度**:Claude Code 將一個工具呼叫的說明上限設定為 2,000 個字元,並截斷其餘部分。上限在回應該呼叫的每個 hook 中共享

2236* **僅同步回應**:Claude Code 忽略 [在背景執行](#run-hooks-in-the-background) 的 hook 回應中的欄位,因為該回應在 Claude Code 記錄工具結果後到達

2237* **分類器不記錄的呼叫**:分類器的文字記錄省略唯讀查詢,例如檔案讀取和搜尋。Claude Code 捨棄附加到其中一個呼叫的說明

2238* **與重寫的互動**:當說明描述您使用 `updatedToolOutput` 替換的輸出時,在相同的 hook 回應中返回兩個欄位。如果該重寫被拒絕或另一個 hook 的重寫替換它,Claude Code 會捨棄說明。Claude Code 傳遞您返回的說明而不進行重寫,即使另一個 hook 重寫輸出

2239 

2240<Warning>

2241 分類器將您放在 `classifierContext` 中的內容讀取為來自託管工作階段的應用程式的資訊,因此不要將不受信任的工具輸出或第三方文字複製到其中。將說明保持為關於此一個呼叫的簡短聲明,例如關於其來源的事實或使用者關於它的陳述;不要使用欄位傳遞不相關的訊息或事件流。

1865</Warning>2242</Warning>

1866 2243 

1867<h3 id="posttoolusefailure">2244<h3 id="posttoolusefailure">

1868 PostToolUseFailure2245 PostToolUseFailure

1869</h3>2246</h3>

1870 2247 

1871當工具執行失敗時執行:工具拋出錯誤,或 MCP 工具返回錯誤結果。使用此項來記錄失敗、發送警報或向 Claude 提供更正反饋。2248在啟動執行的工具失敗時執行:工具拋出錯誤,或 MCP 工具返回錯誤結果。使用此來記錄失敗、發送警報或向 Claude 提供更正回饋。

1872 2249 

1873匹配工具名稱,與 PreToolUse 相同的值。2250在工具名稱上匹配,與 PreToolUse 相同的值。

1874 2251 

1875<Note>2252<Note>

1876 此事件不針對執行前被拒絕的工具呼叫觸發:未知工具名稱、輸入失敗架構或工具特定驗證,或權限拒絕。驗證拒絕作為 `tool_use_error` 結果返回,在 hooks 執行前發生,因此它們既不觸發 `PreToolUse` 也不觸發此事件。權限拒絕觸發 `PreToolUse` 但不觸發此事件;請參閱 [PermissionDenied](#permissiondenied)。2253 此事件不對執行前被拒絕的工具呼叫觸發:未知工具名稱、失敗架構或工具特定驗證的輸入,或權限拒絕。驗證拒絕作為 `tool_use_error` 結果返回,在 hooks 執行前發生,因此它們既不觸發 `PreToolUse` 也不觸發此事件。權限拒絕觸發 `PreToolUse` 但不觸發此事件;請參閱 [PermissionDenied](#permissiondenied)。

1877</Note>2254</Note>

1878 2255 

1879<h4 id="posttoolusefailure-input">2256<h4 id="posttoolusefailure-input">

1880 PostToolUseFailure 輸入2257 PostToolUseFailure 輸入

1881</h4>2258</h4>

1882 2259 

1883PostToolUseFailure hooks 接收與 PostToolUse 相同的 `tool_name` 和 `tool_input` 欄位,以及作為頂層欄位的錯誤資訊:2260PostToolUseFailure hooks 接收與 PostToolUse 相同的 `tool_name` 和 `tool_input` 欄位,以及作為頂級欄位的錯誤資訊。對於 MCP 工具,它們也接收 [`mcp_server`](#pretooluse-input) 物件。例如,失敗的 `npm test` 命令可能傳遞:

1884 2261 

1885```json theme={null}2262```json theme={null}

1886{2263{


1895 "description": "Run test suite"2272 "description": "Run test suite"

1896 },2273 },

1897 "tool_use_id": "toolu_01ABC123...",2274 "tool_use_id": "toolu_01ABC123...",

1898 "error": "Command exited with non-zero status code 1",2275 "error": "Exit code 1\nError: Cannot find module 'express'",

1899 "is_interrupt": false,2276 "is_interrupt": false,

1900 "duration_ms": 41872277 "duration_ms": 4187

1901}2278}

1902```2279```

1903 2280 

1904| 欄位 | 描述 |2281| 欄位 | 描述 |

1905| :------------- | :--------------------------------------------- |2282| :------------- | :------------------------------------------------------------------------- |

1906| `error` | 描述出錯的字串 |2283| `error` | 描述出錯內容的字串。格式取決於失敗的工具 |

1907| `is_interrupt` | 可選的布林值,指示失敗是否由使用者中斷引起 |2284| `is_interrupt` | 可選布林值。當失敗作為中止而不是工具報告的錯誤到達 Claude Code 時為 True。取消執行中的工具不觸發此 hook;工具結果攜帶中斷訊息 |

1908| `duration_ms` | 可選。工具執行時間(毫秒)。不包括權限提示和 PreToolUse hooks 中花費的時間 |2285| `duration_ms` | 可選。工具執行時間(毫秒)。不包括權限提示和 PreToolUse hooks 中花費的時間 |

1909 2286 

2287`error` 字串通常是 Claude 作為失敗工具結果接收的相同文字。其格式因工具和失敗而異。根據 `tool_name`、`is_interrupt` 和第一行 `Exit code N` 鍵入您的 hook;將字串的其餘部分視為顯示文字,而不是穩定格式。

2288 

2289* 對於 Bash 和 PowerShell,執行並退出的命令產生第一行 `Exit code N`,然後是命令產生的任何輸出作為一個區塊,其中 stdout 和 stderr 交錯

2290* 有效負載也可能攜帶裸失敗訊息,沒有退出代碼行,當 Claude Code 無法啟動 shell 程序本身時

2291* Claude Code 在 `... [N characters truncated] ...` 標記周圍中間截斷長字串,並可以插入自己的行,例如 `Command timed out after 2m 0s`

2292 

1910<h4 id="posttoolusefailure-decision-control">2293<h4 id="posttoolusefailure-decision-control">

1911 PostToolUseFailure 決定控制2294 PostToolUseFailure 決策控制

1912</h4>2295</h4>

1913 2296 

1914`PostToolUseFailure` hooks 可以在工具失敗後向 Claude 提供上下文。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:2297`PostToolUseFailure` hooks 可以在工具失敗後向 Claude 提供背景資訊。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:

1915 2298 

1916| 欄位 | 描述 |2299| 欄位 | 描述 |

1917| :------------------ | :-------------------------------------------------------------------- |2300| :------------------ | :--------------------------------------------------------------------- |

1918| `additionalContext` | 新增到 Claude 上下文的字串,與錯誤一起。請參閱 [為 Claude 新增上下文](#add-context-for-claude) |2301| `additionalContext` | 與錯誤一起新增到 Claude 背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

1919 2302 

1920```json theme={null}2303```json theme={null}

1921{2304{


1930 PostToolBatch2313 PostToolBatch

1931</h3>2314</h3>

1932 2315 

1933在批次中的每個工具呼叫都已解決後執行一次,在 Claude Code 向模型發送下一個請求之前。`PostToolUse` 每個工具執行一次,這意味著當 Claude 進行平行工具呼叫時它並發執行。`PostToolBatch` 恰好執行一次,包含完整批次,因此它是注入取決於執行的工具集而不是任何單一工具的上下文的正確位置。此事件沒有匹配器。2316在批次中的每個工具呼叫都已解決後執行一次,在 Claude Code 發送下一個請求給模型之前。`PostToolUse` 每個工具執行一次,這意味著當 Claude 進行平行工具呼叫時它並發執行。`PostToolBatch` 恰好執行一次,包含完整批次,因此它是注入取決於執行的工具集而不是任何單個工具的背景資訊的正確位置。此事件沒有匹配器。

1934 2317 

1935<h4 id="posttoolbatch-input">2318<h4 id="posttoolbatch-input">

1936 PostToolBatch 輸入2319 PostToolBatch 輸入

1937</h4>2320</h4>

1938 2321 

1939除了 [通用輸入欄位](#common-input-fields) 外,PostToolBatch hooks 還接收 `tool_calls`,一個描述批次中每個工具呼叫的陣列:2322除了 [常見輸入欄位](#common-input-fields) 外,PostToolBatch hooks 還會接收 `tool_calls`,一個描述批次中每個工具呼叫的陣列:

1940 2323 

1941```json theme={null}2324```json theme={null}

1942{2325{


1962}2345}

1963```2346```

1964 2347 

1965`tool_response` 包含與模型在相應 `tool_result` 塊中接收的內容相同的內容。該值是序列化的字串或內容塊陣列,完全如工具發出的那樣。對於 `Read`,這意味著行號前綴的文字而不是原始檔案內容。回應可能很大,因此僅解析您需要的欄位。2348`tool_response` 包含模型在對應 `tool_result` 區塊中接收的相同內容。該值是序列化字串或內容區塊陣列,完全如工具發出的一樣。對於 `Read`,這意味著行號前綴文字而不是原始檔案內容。回應可能很大,因此僅解析您需要的欄位。

1966 2349 

1967<Note>2350<Note>

1968 `tool_response` 形狀與 `PostToolUse` 的不同。`PostToolUse` 傳遞工具的結構化 `Output` 物件,例如 `Write` 的 `{filePath: "...", success: true}`;`PostToolBatch` 傳遞序列化的 `tool_result` 內容模型看到的。2351 `tool_response` 形狀與 `PostToolUse` 的不同。`PostToolUse` 傳遞工具的結構化 `Output` 物件,例如 `Write` 的 `{filePath: "...", type: "create"}`;`PostToolBatch` 傳遞模型看到的序列化 `tool_result` 內容。

1969</Note>2352</Note>

1970 2353 

1971<h4 id="posttoolbatch-decision-control">2354<h4 id="posttoolbatch-decision-control">

1972 PostToolBatch 決定控制2355 PostToolBatch 決策控制

1973</h4>2356</h4>

1974 2357 

1975`PostToolBatch` hooks 可以為 Claude 注入上下文。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:2358`PostToolBatch` hooks 可以為 Claude 注入背景資訊。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:

1976 2359 

1977| 欄位 | 描述 |2360| 欄位 | 描述 |

1978| :------------------ | :------------------------------------------------------------------------------------------------------ |2361| :------------------ | :------------------------------------------------------------------------------------------------------ |

1979| `additionalContext` | 在下一個模型呼叫之前注入一次的上下文字串。請參閱 [為 Claude 新增上下文](#add-context-for-claude) 以了解傳遞詳細資訊、要放入其中的內容,以及恢復的工作階段如何處理過去的值 |2362| `additionalContext` | 在下一個模型呼叫之前注入一次的背景資訊字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude),了解傳遞詳細資訊、要放入其中的內容以及恢復的工作階段如何處理過去的值 |

1980 2363 

1981```json theme={null}2364```json theme={null}

1982{2365{


1987}2370}

1988```2371```

1989 2372 

1990返回 `decision: "block"` 或 `continue: false` 在下一個模型呼叫之前停止代理迴圈。2373返回 `decision: "block"` 或 `continue: false` 在下一個模型呼叫之前停止代理迴圈。阻止訊息來自 JSON `reason` 或 `stopReason`,或來自退出 2 時的 stderr。您在文字記錄中看到它作為警告,它保留在對話中,因此 Claude 在對話繼續時看到它。

1991 2374 

1992<h3 id="permissiondenied">2375<h3 id="permissiondenied">

1993 PermissionDenied2376 PermissionDenied

1994</h3>2377</h3>

1995 2378 

1996當 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器拒絕工具呼叫時執行。此 hook 僅在自動模式中觸發:當您手動拒絕權限對話框、當 `PreToolUse` hook 阻止呼叫或當 `deny` 規則匹配時,它不執行。使用它來記錄分類器拒絕、調整配置或告訴模型它可能重試工具呼叫。2379在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 拒絕工具呼叫時執行,包括當它拒絕而沒有分類器判決時,因為 [與自動模式分開的安全檢查拒絕了分類器自己的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action) 或其回應未解析。此 hook 僅在自動模式中觸發:當您手動拒絕權限對話、`PreToolUse` hook 阻止呼叫或 `deny` 規則匹配時不執行。使用它來記錄拒絕、調整設定或告訴模型它可能重試工具呼叫。

1997 2380 

1998匹配工具名稱,與 PreToolUse 相同的值。2381在工具名稱上匹配,與 PreToolUse 相同的值。

1999 2382 

2000<h4 id="permissiondenied-input">2383<h4 id="permissiondenied-input">

2001 PermissionDenied 輸入2384 PermissionDenied 輸入

2002</h4>2385</h4>

2003 2386 

2004除了 [通用輸入欄位](#common-input-fields) 外,PermissionDenied hooks 還接收 `tool_name`、`tool_input`、`tool_use_id` 和 `reason`。2387除了 [常見輸入欄位](#common-input-fields) 外,PermissionDenied hooks 還會接收 `tool_name`、`tool_input`、`tool_use_id` 和 `reason`。對於 MCP 工具,它們也接收 [`mcp_server`](#pretooluse-input) 物件。

2005 2388 

2006```json theme={null}2389```json theme={null}

2007{2390{


2016 "description": "Clean build directory"2399 "description": "Clean build directory"

2017 },2400 },

2018 "tool_use_id": "toolu_01ABC123...",2401 "tool_use_id": "toolu_01ABC123...",

2019 "reason": "Auto mode denied: command targets a path outside the project"2402 "reason": "[Irreversible Local Destruction]"

2020}2403}

2021```2404```

2022 2405 

2023| 欄位 | 描述 |2406| 欄位 | 描述 |

2024| :------- | :-------------- |2407| :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2025| `reason` | 分類器拒絕工具呼叫的原因的解釋 |2408| `reason` | 拒絕原因。對於分類器判決,在大多數工作階段中它命名方括號中的匹配規則,例如 `[Data Exfiltration]`;請參閱 [審查拒絕](/docs/zh-TW/auto-mode-config#review-denials) 以了解其他形式。對於 [無判決拒絕](#permissiondenied-decision-control),它以 `Auto mode could not evaluate this action and is blocking it for safety` 開頭。對於因分類器模型不可用而拒絕,它是固定文字 `Classifier unavailable` |

2026 2409 

2027<h4 id="permissiondenied-decision-control">2410<h4 id="permissiondenied-decision-control">

2028 PermissionDenied 決定控制2411 PermissionDenied 決策控制

2029</h4>2412</h4>

2030 2413 

2031PermissionDenied hooks 可以告訴模型它可能重試被拒絕的工具呼叫。返回一個 JSON 物件,其中 `hookSpecificOutput.retry` 設定為 `true`:2414PermissionDenied hooks 可以告訴模型它可能重試被拒絕的工具呼叫。返回一個 JSON 物件,其中 `hookSpecificOutput.retry` 設定為 `true`:


2039}2422}

2040```2423```

2041 2424 

2042當 `retry` 為 `true` 時,Claude Code 向對話新增一條訊息,告訴模型它可能重試工具呼叫。拒絕本身不被反轉。如果您的 hook 不返回 JSON,或返回 `retry: false`,拒絕成立,模型接收原始拒絕訊息。2425當 `retry` 為 `true` 時,Claude Code 向對話新增一條訊息,告訴模型它可能重試工具呼叫。Claude Code 不反轉拒絕本身。如果您的 hook 不返回 JSON 或返回 `retry: false`,拒絕成立,模型接收原始拒絕訊息。

2426 

2427當分類器對動作 [沒有判決](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action) 時,Claude Code 忽略 `retry: true`:其回應未解析,或與自動模式分開的安全檢查拒絕了分類器自己的請求。對於這些拒絕,Claude Code 已經在拒絕訊息中告訴模型是否稍後重試或繼續。

2043 2428 

2044<h3 id="notification">2429<h3 id="notification">

2045 Notification2430 Notification

2046</h3>2431</h3>

2047 2432 

2048當 Claude Code 發送通知時執行。匹配通知類型。省略匹配器以針對所有通知類型執行 hooks。2433在 Claude Code 發送通知時執行。在通知類型上匹配。省略匹配器以對所有通知類型執行 hooks。

2434 

2435即使桌面通知已關閉,您也會接收這些 hook 事件:`preferredNotifChannel` 設定(包括 `notifications_disabled`)僅更改您如何被警報,而不是您的 hook 是否執行。

2049 2436 

2050| 匹配器 | 何時觸發 |2437| 匹配器 | 何時觸發 |

2051| :--------------------- | :---------------------------------------------------------- |2438| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2052| `permission_prompt` | Claude 需要您批准工具使用 |2439| `permission_prompt` | Claude 需要您核准工具使用或沙箱命令的 [網路請求](/docs/zh-TW/sandboxing#network-isolation),提示已等待約六秒 |

2053| `idle_prompt` | Claude 完成並等待您的下一個提示 |2440| `idle_prompt` | Claude 約 60 秒前完成回應,您自那以後未輸入 |

2054| `auth_success` | 驗證完成 |2441| `auth_success` | 驗證完成 |

2055| `elicitation_dialog` | MCP 伺服器開啟徵詢表單 |2442| `elicitation_dialog` | MCP 伺服器開啟引出表單,您約六秒未輸入 |

2056| `elicitation_complete` | MCP 徵詢表單被提交或關閉 |2443| `elicitation_url_dialog` | MCP 伺服器要求您開啟瀏覽器 URL,您約六秒未輸入 |

2057| `elicitation_response` | MCP 徵詢回應被發送回伺服器 |2444| `elicitation_complete` | MCP 伺服器報告 [URL 模式引出](#elicitation-input) 完成 |

2058| `agent_needs_input` | 背景工作階段開始等待您的輸入。僅在 [agent view](/docs/zh-TW/agent-view) 在終端中開啟時觸發 |2445| `elicitation_response` | MCP 引出回應發送回伺服器 |

2059| `agent_completed` | 背景工作階段完成或失敗。僅在 [agent view](/docs/zh-TW/agent-view) 在終端中開啟時觸發 |2446| `agent_needs_input` | 背景工作階段在 [代理檢視](/docs/zh-TW/agent-view) 在終端中開啟時開始等待您的輸入,或目前工作階段詢問您 [代理團隊隊友的終端設定問題](/docs/zh-TW/agent-teams#choose-a-display-mode),您約六秒未輸入 |

2447| `agent_completed` | 背景工作階段完成或失敗。僅在 [代理檢視](/docs/zh-TW/agent-view) 在終端中開啟時觸發 |

2448| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暫停後繼續您的任務:在重設時,或更早當您在 Claude Code 中執行某事時,例如新增使用額度、升級計畫或切換模型,使使用可用,搭配 [模型設定例外](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset) |

2449| `quota_auto_resume_stale` | claude.ai 使用限制在您的電腦睡眠超過約 30 分鐘時重設。Claude Code 等待您按 `Enter` 而不是繼續。睡眠較短後它繼續並改為觸發 `quota_auto_resume_fired` |

2450| `quota_auto_resume_disabled` | Claude Code 結束其對 claude.ai 使用限制的等待而不繼續您的任務:[`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit) 關閉或重設在 Claude Code 啟動的等待期間移動超過 24 小時,繼續的任務持續命中限制,或繼續在到達模型之前被阻止。當您按 `Esc` 或 `Ctrl+C` 或選擇 **不要自動繼續** 時不觸發 |

2451 

2452`agent_needs_input` 和 `agent_completed` 類型需要 Claude Code v2.1.198 或更新版本。

2453 

2454`quota_auto_resume_fired`、`quota_auto_resume_stale` 和 `quota_auto_resume_disabled` 類型需要 Claude Code v2.1.234 或更新版本。

2455 

2456在終端工作階段中,沙箱命令的網路請求的 `permission_prompt` 需要 Claude Code v2.1.246 或更新版本。

2060 2457 

2061`agent_needs_input` 和 `agent_completed` 類型需要 Claude Code v2.1.198 或更高版本。2458隊友終端設定問題的 `agent_needs_input` 需要 Claude Code v2.1.248 或更新版本。

2062 2459 

2063使用單獨的匹配器根據通知類型執行不同的處理程式。此配置在 Claude 需要權限批准時觸發權限特定的警報指令碼,在 Claude 閒置時觸發不同的通知:2460<Note>

2461 `permission_prompt`、`idle_prompt`、`elicitation_dialog` 和 `elicitation_url_dialog` 類型與桌面通知共享其計時,因此在終端工作階段中您僅在您似乎遠離終端時看到它們:

2462 

2463 * 期望 `permission_prompt` 一旦您約六秒未輸入。計時器在權限提示出現時啟動,每次按鍵都會延遲它。若要在 Claude 要求許可使用工具時立即執行 hook,請改用 [PermissionRequest](#permissionrequest)。

2464 * 期望 `idle_prompt` 約 60 秒後 Claude 完成回應,且僅在您自那以後未輸入時。Claude Code 在等待 claude.ai 使用限制重設時不發送 `idle_prompt`。等待結束時,其中一個 `quota_auto_resume_*` 類型改為觸發。

2465 * 期望 `elicitation_dialog` 用於引出表單,或 `elicitation_url_dialog` 用於瀏覽器 URL 請求,一旦您約六秒未輸入。兩者共享與 `permission_prompt` 相同的六秒閘門:計時器在對話出現時啟動,每次按鍵都會延遲它。

2466 

2467 在另一個對話在螢幕上時到達的權限請求或引出保持相同的六秒閘門,從請求到達時計時。其通知可以在請求仍在開啟對話後面等待時到達您。

2468</Note>

2469 

2470Claude Code 在發送權限請求給 Agent SDK 的 [`canUseTool` 回呼](/docs/zh-TW/agent-sdk/user-input) 的工作階段中以不同方式計時 `permission_prompt`,這是 Claude Desktop 和 VS Code 擴充功能託管 Claude Code 的方式:

2471 

2472* 期望 `permission_prompt` 約六秒後 Claude 要求許可。Claude Code 在您輸入時不延遲它。

2473* 如果您或 [PermissionRequest](#permissionrequest) hook 更早回答,Claude Code 不執行 `permission_prompt`。

2474* 設定 [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/zh-TW/env-vars) 為 `1` 以在這些工作階段中關閉 `permission_prompt`。

2475 

2476在 v2.1.233 之前,`permission_prompt` 在這些工作階段中不觸發。

2477 

2478使用單獨的匹配器根據通知類型執行不同的處理程式。此設定在 Claude 需要權限核准時觸發權限特定警報指令碼,在 Claude 閒置時觸發不同的通知:

2064 2479 

2065```json theme={null}2480```json theme={null}

2066{2481{


2093 Notification 輸入2508 Notification 輸入

2094</h4>2509</h4>

2095 2510 

2096除了 [通用輸入欄位](#common-input-fields) 外,Notification hooks 還接收包含通知文字的 `message`、可選的 `title` 和指示哪個類型觸發的 `notification_type`。2511除了 [常見輸入欄位](#common-input-fields) 外,Notification hooks 還會接收 `message` 搭配通知文字、可選 `title` 和 `notification_type` 指示哪個類型觸發。

2097 2512 

2098```json theme={null}2513```json theme={null}

2099{2514{


2107}2522}

2108```2523```

2109 2524 

2110Notification hooks 無法阻止或修改通知。它們用於副作用,例如將通知轉發到外部服務。[通用 JSON 輸出欄位](#json-output)(例如 `systemMessage`)適用。2525Notification hooks 無法阻止或修改通知。Claude Code 捨棄它們的 `systemMessage` 和 `continue` 欄位,但仍然發出 [`terminalSequence`](#emit-terminal-notifications),這是桌面通知範例所依賴的。Notification hooks 用於副作用,例如將通知轉發到外部服務。

2111 2526 

2112<h3 id="subagentstart">2527<h3 id="subagentstart">

2113 SubagentStart2528 SubagentStart

2114</h3>2529</h3>

2115 2530 

2116當通過 Agent 工具生成 Claude Code subagent 時執行。支援匹配器以按代理類型名稱篩選。對於內建代理,這是代理名稱,如 `general-purpose`、`Explore` 或 `Plan`。對於 [自訂 subagents](/docs/zh-TW/sub-agents),這是代理 frontmatter 中的 `name` 欄位,而不是檔案名稱。2531在 Claude 使用 Agent 工具生成子代理時執行,當 Claude [恢復子代理](/docs/zh-TW/sub-agents#resume-subagents) 時,以及每次進程內 [代理團隊](/docs/zh-TW/agent-teams) 隊友處理新訊息時執行。支援匹配器以按代理類型名稱篩選。對於內建代理,這是代理名稱,例如 `general-purpose`、`Explore` 或 `Plan`。對於 [自訂子代理](/docs/zh-TW/sub-agents),這是代理 frontmatter 中的 `name` 欄位,而不是檔案名稱。

2117 2532 

2118對於由 [plugin](/docs/zh-TW/plugins) 提供的 subagents,代理類型是外掛程式範圍的識別碼,例如 `my-plugin:reviewer`,而不是裸露的 frontmatter 名稱。冒號將外掛程式範圍的名稱放在正規表達式路徑上,因此使用 `^` 和 `$` 錨定匹配器以進行精確匹配:`^my-plugin:reviewer$`。2533對於由 [外掛](/docs/zh-TW/plugins) 提供的子代理,代理類型是外掛範圍識別碼,例如 `my-plugin:reviewer`,而不是裸 frontmatter 名稱。冒號將外掛範圍名稱放在正規表達式路徑上,因此使用 `^` 和 `$` 錨定匹配器以進行精確匹配:`^my-plugin:reviewer$`。

2119 2534 

2120<h4 id="subagentstart-input">2535<h4 id="subagentstart-input">

2121 SubagentStart 輸入2536 SubagentStart 輸入

2122</h4>2537</h4>

2123 2538 

2124除了 [通用輸入欄位](#common-input-fields) 外,SubagentStart hooks 還接收 `agent_id`(subagent 的唯一識別碼)和 `agent_type`(代理名稱,匹配器篩選的值)。2539除了 [常見輸入欄位](#common-input-fields) 外,SubagentStart hooks 還會接收 `agent_id` 搭配子代理的唯一識別碼和 `agent_type` 搭配匹配器篩選的代理名稱。

2125 2540 

2126```json theme={null}2541```json theme={null}

2127{2542{


2134}2549}

2135```2550```

2136 2551 

2137SubagentStart hooks 無法阻止 subagent 建立,但它們可以將上下文注入到 subagent 中。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您可以返回:2552SubagentStart hooks 無法阻止子代理建立,但它們可以將背景資訊注入到子代理中。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您可以返回:

2138 2553 

2139| 欄位 | 描述 |2554| 欄位 | 描述 |

2140| :------------------ | :----------------------------------------------------------------------------- |2555| :------------------ | :----------------------------------------------------------------------------- |

2141| `additionalContext` | 新增到 subagent 上下文開始處的字串,在其第一個提示之前。請參閱 [為 Claude 新增上下文](#add-context-for-claude) |2556| `additionalContext` | 在子代理對話開始時、其第一個提示之前新增到子代理背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

2142 2557 

2143```json theme={null}2558```json theme={null}

2144{2559{


2149}2564}

2150```2565```

2151 2566 

2567當 hook 再次為相同子代理執行時,Claude Code 僅在子代理的背景資訊還不包含早期執行副本時注入返回的背景資訊。在啟動時注入的副本保留在位置,保持子代理的 [prompt cache](/docs/zh-TW/prompt-caching#subagents-and-the-cache) 完整。在 [自動壓縮](/docs/zh-TW/sub-agents#auto-compaction) 捨棄該副本後,Claude Code 在下一次執行時再次注入背景資訊。

2568 

2152<h3 id="subagentstop">2569<h3 id="subagentstop">

2153 SubagentStop2570 SubagentStop

2154</h3>2571</h3>

2155 2572 

2156當 Claude Code subagent 完成回應時執行。匹配代理類型,與 SubagentStart 相同的值。2573在 Claude Code 子代理完成回應時執行。在代理類型上匹配,與 SubagentStart 相同的值。

2157 2574 

2158<h4 id="subagentstop-input">2575<h4 id="subagentstop-input">

2159 SubagentStop 輸入2576 SubagentStop 輸入

2160</h4>2577</h4>

2161 2578 

2162除了 [通用輸入欄位](#common-input-fields) 外,SubagentStop hooks 還接收 `stop_hook_active`、`agent_id`、`agent_type`、`agent_transcript_path` 和 `last_assistant_message`。`agent_type` 欄位是用於匹配器篩選的值。`transcript_path` 是主工作階段的成績單,而 `agent_transcript_path` 是 subagent 自己的成績單,存儲在嵌套的 `subagents/` 資料夾中。`last_assistant_message` 欄位包含 subagent 最終回應的文字內容,因此 hooks 可以存取它而無需解析成績單檔案。2579除了 [常見輸入欄位](#common-input-fields) 外,SubagentStop hooks 還會接收 `stop_hook_active`、`agent_id`、`agent_type`、`agent_transcript_path` 和 `last_assistant_message`。`agent_type` 欄位是用於匹配器篩選的值。`transcript_path` 是主工作階段的文字記錄,而 `agent_transcript_path` 是子代理自己的文字記錄,儲存在巢狀 `subagents/` 資料夾中。`last_assistant_message` 欄位包含子代理最終回應的文字內容,因此 hooks 可以存取它而不解析文字記錄檔案。

2580 

2581在 Claude Code v2.1.271 或更新版本上,使用 [`SubagentHandback`](/docs/zh-TW/tools-reference) 工具執行的子代理在停止之前透過該工具傳遞其報告。`last_assistant_message` 欄位然後保留子代理的結束文字(如果有),這不是傳遞的報告。報告是該呼叫的 `message` 輸入,`PreToolUse` 或 `PostToolUse` hook 在 `SubagentHandback` 上匹配時接收為 `tool_input.message`。

2163 2582 

2164SubagentStop hooks 也接收 [Stop 輸入](#stop-input) 中描述的 `background_tasks` 和 `session_crons` 陣列,在 Claude Code v2.1.145 或更高版本中可用。兩個陣列都限定於父工作階段,而不是 subagent。2583SubagentStop hooks 也接收 [Stop 輸入](#stop-input) 下描述的 `background_tasks` 和 `session_crons` 陣列。兩個陣列的範圍是父工作階段,而不是子代理。

2165 2584 

2166```json theme={null}2585```json theme={null}

2167{2586{


2180}2599}

2181```2600```

2182 2601 

2183SubagentStop hooks 使用與 [Stop hooks](#stop-decision-control) 相同的決定控制格式,包括 `hookSpecificOutput.additionalContext`,其中 `hookEventName` 設定為 `"SubagentStop"`,用於非錯誤反饋,使 subagent 保持執行。返回 `decision: "block"` 與 `reason` 會保持 subagent 執行並將 `reason` 作為其下一個指令傳遞給 subagent。要在 subagent 返回後將上下文注入到父工作階段,請改用 `Agent` 工具上的 [`PostToolUse`](#posttooluse) hook。2602SubagentStop hooks 使用與 [Stop hooks](#stop-decision-control) 相同的決策控制格式,包括 `hookSpecificOutput.additionalContext` 搭配 `hookEventName` 設定為 `"SubagentStop"`,用於保持子代理執行的非錯誤回饋。返回 `decision: "block"` 搭配 `reason` 保持子代理執行並將 `reason` 作為其下一個指令傳遞給子代理。透過退出 2 阻止的 hook 以相同方式傳遞其 stderr 訊息。若要在子代理返回後將背景資訊注入到父工作階段,請改用 `Agent` 工具上的 [`PostToolUse`](#posttooluse) hook。

2184 2603 

2185<h3 id="taskcreated">2604<h3 id="taskcreated">

2186 TaskCreated2605 TaskCreated

2187</h3>2606</h3>

2188 2607 

2189當任務通過 `TaskCreate` 工具被建立時執行。使用此項來強制執行命名慣例、要求任務描述或防止某些任務被建立。2608在透過 `TaskCreate` 工具建立任務時執行。使用此來強制命名慣例、要求任務描述或防止建立某些任務。在 [沒有 Task 工具的工作階段](/docs/zh-TW/tools-reference#task-tool-availability) 中,此事件不觸發。

2190 2609 

2191當 `TaskCreated` hook 以代碼 2 退出時,任務不被建立,stderr 訊息被反饋給模型作為反饋。要完全停止隊友而不是重新執行它,請返回 JSON,其中 `{"continue": false, "stopReason": "..."}`。TaskCreated hooks 不支援匹配器,在每次出現時觸發。2610TaskCreated hooks 不支援匹配器,對每個出現觸發。

2192 2611 

2193<h4 id="taskcreated-input">2612<h4 id="taskcreated-input">

2194 TaskCreated 輸入2613 TaskCreated 輸入

2195</h4>2614</h4>

2196 2615 

2197除了 [通用輸入欄位](#common-input-fields) 外,TaskCreated hooks 還接收 `task_id`、`task_subject` 和可選的 `task_description`、`teammate_name` 和 `team_name`。2616除了 [常見輸入欄位](#common-input-fields) 外,TaskCreated hooks 還會接收 `task_id`、`task_subject` 和可選的 `task_description`、`teammate_name` 和 `team_name`。

2198 2617 

2199```json theme={null}2618```json theme={null}

2200{2619{

2201 "session_id": "abc123",2620 "session_id": "abc123",

2202 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",2621 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2203 "cwd": "/Users/...",2622 "cwd": "/Users/...",

2204 "permission_mode": "default",

2205 "hook_event_name": "TaskCreated",2623 "hook_event_name": "TaskCreated",

2206 "task_id": "task-001",2624 "task_id": "task-001",

2207 "task_subject": "Implement user authentication",2625 "task_subject": "Implement user authentication",


2213 2631 

2214| 欄位 | 描述 |2632| 欄位 | 描述 |

2215| :----------------- | :------------------------ |2633| :----------------- | :------------------------ |

2216| `task_id` | 被建立的任務的識別碼 |2634| `task_id` | 正在建立的任務的識別碼 |

2217| `task_subject` | 任務的標題 |2635| `task_subject` | 任務的標題 |

2218| `task_description` | 任務的詳細描述。可能不存在 |2636| `task_description` | 任務的詳細描述。可能不存在 |

2219| `teammate_name` | 建立任務的隊友的名稱。可能不存在 |2637| `teammate_name` | 建立任務的隊友的名稱。可能不存在 |

2220| `team_name` | 已棄用。工作階段衍生的團隊名稱;將在未來版本中移除 |2638| `team_name` | 已棄用。工作階段衍生的團隊名稱;將在未來版本中移除 |

2221 2639 

2222<h4 id="taskcreated-decision-control">2640<h4 id="taskcreated-decision-control">

2223 TaskCreated 決定控制2641 TaskCreated 決策控制

2224</h4>2642</h4>

2225 2643 

2226TaskCreated hooks 支援兩種方式來控制任務建立:2644TaskCreated hook 可以透過兩種方式阻止建立。任一方式,Claude Code 刪除任務並將您的訊息返回給 Claude 作為工具的錯誤。Claude Code 忽略此事件中的 `continue: false`,Claude 繼續工作。

2227 2645 

2228* **退出代碼 2**:任務不被建立,stderr 訊息被反饋給模型作為反饋。2646* **退出代碼 2**:Claude Code 將 stderr 文字返回作為訊息。

2229* **JSON `{"continue": false, "stopReason": "..."}`**:完全停止隊友,匹配 `Stop` hook 行為。`stopReason` 向使用者顯示。2647* **JSON `{"decision": "block", "reason": "..."}`**:Claude Code 將 `reason` 返回作為訊息。

2230 2648 

2231此範例阻止主題不遵循所需格式的任務:2649此範例阻止主題不遵循所需格式的任務:

2232 2650 


2247 TaskCompleted2665 TaskCompleted

2248</h3>2666</h3>

2249 2667 

2250當任務被標記為已完成時執行。這在兩種情況下觸發:當任何代理通過 TaskUpdate 工具明確標記任務為已完成時,或當 [agent team](/docs/zh-TW/agent-teams) 隊友完成其輪次並有進行中的任務時。使用此項來強制執行完成條件,例如通過測試或 lint 檢查,然後任務才能關閉。2668在任務被標記為完成時執行。這在兩種情況下觸發:當任何代理透過 TaskUpdate 工具明確標記任務為完成時,或當 [代理團隊](/docs/zh-TW/agent-teams) 隊友以進行中的任務完成其回合時。使用此來強制完成條件,例如通過測試或 lint 檢查,然後任務才能關閉。

2251 2669 

2252當 `TaskCompleted` hook 以代碼 2 退出時,任務不被標記為已完成,stderr 訊息被反饋給模型作為反饋。要完全停止隊友而不是重新執行它,請返回 JSON,其中 `{"continue": false, "stopReason": "..."}`。TaskCompleted hooks 不支援匹配器,在每次出現時觸發。2670TaskCompleted hooks 不支援匹配器,對每個出現觸發。

2253 2671 

2254<h4 id="taskcompleted-input">2672<h4 id="taskcompleted-input">

2255 TaskCompleted 輸入2673 TaskCompleted 輸入

2256</h4>2674</h4>

2257 2675 

2258除了 [通用輸入欄位](#common-input-fields) 外,TaskCompleted hooks 還接收 `task_id`、`task_subject` 和可選的 `task_description`、`teammate_name` 和 `team_name`。2676除了 [常見輸入欄位](#common-input-fields) 外,TaskCompleted hooks 還會接收 `task_id`、`task_subject` 和可選的 `task_description`、`teammate_name` 和 `team_name`。

2259 2677 

2260```json theme={null}2678```json theme={null}

2261{2679{


2274 2692 

2275| 欄位 | 描述 |2693| 欄位 | 描述 |

2276| :----------------- | :------------------------ |2694| :----------------- | :------------------------ |

2277| `task_id` | 被完成的任務的識別碼 |2695| `task_id` | 正在完成的任務的識別碼 |

2278| `task_subject` | 任務的標題 |2696| `task_subject` | 任務的標題 |

2279| `task_description` | 任務的詳細描述。可能不存在 |2697| `task_description` | 任務的詳細描述。可能不存在 |

2280| `teammate_name` | 完成任務的隊友的名稱。可能不存在 |2698| `teammate_name` | 完成任務的隊友的名稱。可能不存在 |

2281| `team_name` | 已棄用。工作階段衍生的團隊名稱;將在未來版本中移除 |2699| `team_name` | 已棄用。工作階段衍生的團隊名稱;將在未來版本中移除 |

2282 2700 

2283<h4 id="taskcompleted-decision-control">2701<h4 id="taskcompleted-decision-control">

2284 TaskCompleted 決定控制2702 TaskCompleted 決策控制

2285</h4>2703</h4>

2286 2704 

2287TaskCompleted hooks 支援兩種方式來控制任務完成:2705TaskCompleted hooks 支援兩種方式來控制任務完成:

2288 2706 

2289* **退出代碼 2**:任務不被標記為已完成,stderr 訊息被反饋給模型作為反饋。2707* **退出代碼 2**:任務未被標記為完成,stderr 訊息作為回饋反饋給模型。

2290* **JSON `{"continue": false, "stopReason": "..."}`**:完全停止隊友,匹配 `Stop` hook 行為。`stopReason` 向使用者顯示。2708* **JSON `{"continue": false, "stopReason": "..."}`**:當隊友完成其回合觸發事件時,完全停止隊友,匹配 `Stop` hook 行為。`stopReason` 顯示給使用者。當 `TaskUpdate` 工具觸發事件時,Claude Code 忽略 `continue: false`;退出代碼 2 仍然阻止完成。

2291 2709 

2292此範例執行測試並在失敗時阻止任務完成:2710此範例執行測試並在它們失敗時阻止任務完成:

2293 2711 

2294```bash theme={null}2712```bash theme={null}

2295#!/bin/bash2713#!/bin/bash

2296INPUT=$(cat)2714INPUT=$(cat)

2297TASK_SUBJECT=$(echo "$INPUT" | jq -r '.task_subject')2715TASK_SUBJECT=$(echo "$INPUT" | jq -r '.task_subject')

2298 2716 

2299# 執行測試套件2717# Run the test suite

2300if ! npm test 2>&1; then2718if ! npm test 2>&1; then

2301 echo "Tests not passing. Fix failing tests before completing: $TASK_SUBJECT" >&22719 echo "Tests not passing. Fix failing tests before completing: $TASK_SUBJECT" >&2

2302 exit 22720 exit 2


2309 Stop2727 Stop

2310</h3>2728</h3>

2311 2729 

2312當主 Claude Code 代理完成回應時執行。如果停止是由於使用者中斷,則不執行。API 錯誤會觸發 [StopFailure](#stopfailure)。2730在主 Claude Code 代理完成回應時執行。如果停止發生是由於使用者中斷,則不執行。API 錯誤改為觸發 [StopFailure](#stopfailure)。

2313 2731 

2314<Tip>2732<Tip>

2315 [`/goal`](/docs/zh-TW/goal) 命令是工作階段範圍提示型 Stop hook 的內建快捷方式。當您想要 Claude 繼續工作直到條件成立而不編寫 hook 配置時,請使用它。2733 [`/goal`](/docs/zh-TW/goal) 命令是工作階段範圍提示型 Stop hook 的內建快捷方式。當您想讓 Claude 在不編寫 hook 設定的情況下朝著條件繼續工作時使用它。

2316</Tip>2734</Tip>

2317 2735 

2318<h4 id="stop-input">2736<h4 id="stop-input">

2319 Stop 輸入2737 Stop 輸入

2320</h4>2738</h4>

2321 2739 

2322除了 [通用輸入欄位](#common-input-fields) 外,Stop hooks 還接收 `stop_hook_active`、`last_assistant_message`、`background_tasks` 和 `session_crons`。`stop_hook_active` 欄位在 Claude Code 已經作為 stop hook 的結果繼續時為 `true`。檢查此值或處理成績單以防止 Claude Code 無限執行。Claude Code 在 8 次連續阻止後覆蓋 hook 並結束轉向。2740除了 [常見輸入欄位](#common-input-fields) 外,Stop hooks 還會接收 `stop_hook_active`、`last_assistant_message`、`background_tasks` 和 `session_crons`。`stop_hook_active` 欄位在 Claude Code 已作為 stop hook 的結果繼續時為 `true`。檢查此值或處理文字記錄以避免在永遠不會解決的條件上阻止。Claude Code 在 8 個連續阻止後覆寫 hook 並結束回合。

2323 2741 

2324`last_assistant_message` 欄位包含 Claude 最終回應的文字內容,因此 hooks 可以存取它而無需解析成績單檔案。對於作用於剛完成的轉向的 hooks,例如朗讀或通知 hooks,請使用此欄位而不是讀取 `transcript_path`:成績單檔案在所有版本上的 Stop 時間都不保證包含最終訊息。2742`last_assistant_message` 欄位包含 Claude 最終回應的文字內容,因此 hooks 可以存取它而不解析文字記錄檔案。對於作用於剛完成回合的 hooks,例如朗讀或通知 hooks,使用此欄位而不是讀取 `transcript_path`:文字記錄檔案不保證在所有版本上的 Stop 時間包含最終訊息。

2325 2743 

2326`background_tasks` 和 `session_crons` 陣列在 Claude Code v2.1.145 或更高版本中可用,讓 hooks 區分「工作階段完成」和「工作階段暫停等待背景工作喚醒它」。當任務登錄表可達時,兩個陣列都存在,當沒有任何內容在進行中或計劃時為空。2744`background_tasks` 和 `session_crons` 陣列讓 hooks 區分「工作階段完成」與「工作階段暫停等待背景工作喚醒它」。當任務登錄可到達時兩個陣列都存在,當沒有任何內容在進行中或排程時為空。

2327 2745 

2328`background_tasks` 中的每個項目描述一個進行中的任務,並使用這些欄位:2746`background_tasks` 中的每個項目描述一個進行中的任務並使用這些欄位:

2329 2747 

2330| 欄位 | 描述 |2748| 欄位 | 描述 |

2331| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------- |2749| :------------ | :----------------------------------------------------------------------------------------------------------------------------------------- |

2332| `id` | 任務識別碼 |2750| `id` | 任務識別碼 |

2333| `type` | 友好的任務類型標籤,例如 `shell`、`subagent`、`monitor`、`workflow`、`teammate`、`cloud session` 或 `MCP task`。每個標籤識別哪個 Claude Code 功能建立了任務。對於無法識別的類型,回退到原始判別式 |2751| `type` | 友善任務類型標籤,例如 `shell`、`subagent`、`monitor`、`workflow`、`teammate`、`cloud session` 或 `MCP task`。每個標籤識別哪個 Claude Code 功能建立了任務。對於無法識別的類型回退到原始判別式 |

2334| `status` | 目前任務狀態 |2752| `status` | 目前任務狀態 |

2335| `description` | 自由文字描述,上限為 1000 個字元,當被剪裁時在字串中有 `… [+N chars]` 標記 |2753| `description` | 自由文字描述,上限為 1000 個字元,當剪裁時在字串中帶有 `… [+N chars]` 標記 |

2336| `command` | Shell 命令行,上限為 1000 個字元。僅針對 `shell` 任務出現 |2754| `command` | Shell 命令行,上限為 1000 個字元。僅對 `shell` 任務出現 |

2337| `agent_type` | Subagent 類型名稱。僅針對 `subagent` 任務出現 |2755| `agent_type` | 子代理類型名稱。僅對 `subagent` 任務出現 |

2338| `server` | MCP 伺服器名稱。僅針對 `monitor` 和 `MCP task` 任務出現 |2756| `server` | MCP 伺服器名稱。僅對 `monitor` 和 `MCP task` 任務出現 |

2339| `tool` | MCP 工具名稱。僅針對 `monitor` 和 `MCP task` 任務出現 |2757| `tool` | MCP 工具名稱。僅對 `monitor` 和 `MCP task` 任務出現 |

2340| `name` | 工作流名稱。僅針對 `workflow` 任務出現 |2758| `name` | 工作流程名稱。僅對 `workflow` 任務出現 |

2341 2759 

2342`session_crons` 中的每個項目描述一個工作階段範圍的計劃喚醒,來自 `CronCreate`、`ScheduleWakeup` 和 `/loop`:2760`session_crons` 中的每個項目描述一個工作階段範圍排程喚醒,來自 `CronCreate`、`ScheduleWakeup` 和 `/loop`:

2343 2761 

2344| 欄位 | 描述 |2762| 欄位 | 描述 |

2345| :---------- | :--------------------------------------------------- |2763| :---------- | :---------------------------------------------------- |

2346| `id` | Cron 任務識別碼 |2764| `id` | Cron 任務識別碼 |

2347| `schedule` | Cron 表達式,例如 `0 9 * * 1-5` |2765| `schedule` | Cron 表達式,例如 `0 9 * * 1-5` |

2348| `recurring` | `false` 用於一次性喚醒,其計劃編碼單一觸發時間,`true` 用於在每次匹配時重新觸發的任務 |2766| `recurring` | 對於一次性喚醒(其排程編碼單個觸發時間)為 `false`,對於在每個匹配上重新觸發的任務為 `true` |

2349| `prompt` | 當 cron 觸發時提交的提示,上限為 1000 個字元,具有相同的 `… [+N chars]` 標記 |2767| `prompt` | Cron 觸發時提交的提示,上限為 1000 個字元,帶有相同的 `… [+N chars]` 標記 |

2350 2768 

2351此範例顯示一個 Stop 輸入,其中有一個進行中的 shell 任務和一個循環 cron:2769此範例顯示一個 Stop 輸入,其中一個進行中的 shell 任務和一個循環 cron:

2352 2770 

2353```json theme={null}2771```json theme={null}

2354{2772{


2380```2798```

2381 2799 

2382<h4 id="stop-decision-control">2800<h4 id="stop-decision-control">

2383 Stop 決定控制2801 Stop 決策控制

2384</h4>2802</h4>

2385 2803 

2386`Stop` 和 `SubagentStop` hooks 可以控制 Claude 是否繼續。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:2804`Stop` 和 `SubagentStop` hooks 可以控制 Claude 是否繼續。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您的 hook 指令碼可以返回這些事件特定欄位:

2387 2805 

2388| 欄位 | 描述 |2806| 欄位 | 描述 |

2389| :------------------------------------- | :-------------------------------------------------------------------------------------------- |2807| :------------------------------------- | :------------------------------------------------------------------------------------------ |

2390| `decision` | `"block"` 防止 Claude 停止。省略以允許 Claude 停止 |2808| `decision` | `"block"` 防止 Claude 停止。省略以允許 Claude 停止 |

2391| `reason` | 當 `decision` 為 `"block"` 時必需。告訴 Claude 為什麼它應該繼續 |2809| `reason` | 當 `decision` 為 `"block"` 時需要。告訴 Claude 為什麼它應該繼續 |

2392| `hookSpecificOutput.additionalContext` | 非錯誤反饋給 Claude。對話繼續,以便 Claude 可以對其採取行動,但與 `decision: "block"` 不同,它在成績單中顯示為 hook 反饋,而不是 hook 錯誤 |2810| `hookSpecificOutput.additionalContext` | Claude 的非錯誤回饋。對話繼續,以便 Claude 可以作用於它,但與 `decision: "block"` 不同,它在文字記錄中顯示為 hook 回饋而不是 hook 錯誤 |

2811 

2812透過退出 2 阻止的 hook 路由方式與 `reason` 相同:Claude 接收 stderr 訊息作為為什麼它應該繼續的解釋。

2393 2813 

2394```json theme={null}2814```json theme={null}

2395{2815{


2398}2818}

2399```2819```

2400 2820 

2401當 hook 的設計目的是提供指導時,使用 `additionalContext`,例如「在完成前執行測試套件」。它通過與 `decision: "block"` 相同的迴圈保護(即 `stop_hook_active` 輸入和 8 次連續繼續上限)保持對話進行,但成績單將其標籤為 `Stop hook feedback`,不顯示 hook 錯誤通知:2821當 hook 按設計工作並給予 Claude 指導時使用 `additionalContext`,例如「在完成前執行測試套件」。它透過與 `decision: "block"` 相同的迴圈保護保持對話進行,即 `stop_hook_active` 輸入和 8 個連續繼續上限,但文字記錄將其標籤為 `Stop hook feedback`,不顯示 hook 錯誤通知:

2402 2822 

2403```json theme={null}2823```json theme={null}

2404{2824{


2413 StopFailure2833 StopFailure

2414</h3>2834</h3>

2415 2835 

2416當轉向因 API 錯誤而結束時執行,而不是 [Stop](#stop)。輸出和退出代碼被忽略。使用此項來記錄失敗、發送警報或在 Claude 因速率限制、驗證問題或其他 API 錯誤而無法完成回應時採取恢復操作。2836在回合因 API 錯誤而結束時執行,而不是 [Stop](#stop)。Claude Code 忽略 hook 的輸出和退出代碼,除了 [`terminalSequence`](#emit-terminal-notifications)。使用此來記錄失敗、發送警報或在 Claude 因速率限制、驗證問題或其他 API 錯誤而無法完成回應時採取恢復動作。

2417 2837 

2418<h4 id="stopfailure-input">2838<h4 id="stopfailure-input">

2419 StopFailure 輸入2839 StopFailure 輸入

2420</h4>2840</h4>

2421 2841 

2422除了 [通用輸入欄位](#common-input-fields) 外,StopFailure hooks 還接收 `error`、可選的 `error_details` 和可選的 `last_assistant_message`。`error` 欄位識別錯誤類型,用於匹配器篩選。2842除了 [常見輸入欄位](#common-input-fields) 外,StopFailure hooks 還會接收 `error`、可選 `error_details` 和可選 `last_assistant_message`。`error` 欄位識別錯誤類型並用於匹配器篩選。

2423 2843 

2424| 欄位 | 描述 |2844| 欄位 | 描述 |

2425| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2845| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2426| `error` | 錯誤類型:`rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens` 或 `unknown` |2846| `error` | 錯誤類型:`rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error` 或 `unknown` |

2427| `error_details` | 有關錯誤的其他詳細資訊(如果可用) |2847| `error_details` | 關於錯誤的其他詳細資訊(如果可用) |

2428| `last_assistant_message` | 在對話中顯示的呈現錯誤文字。與 `Stop` 和 `SubagentStop` 不同,其中此欄位包含 Claude 的對話輸出,對於 `StopFailure`,它包含 API 錯誤字串本身,例如 `"API Error: Rate limit reached"` |2848| `last_assistant_message` | 在對話中顯示的呈現錯誤文字。與 `Stop` 和 `SubagentStop` 不同,其中此欄位保留 Claude 的對話輸出,對於 `StopFailure` 它包含 API 錯誤字串本身,例如 `"API Error: Rate limit reached"` |

2429 2849 

2430```json theme={null}2850```json theme={null}

2431{2851{


2439}2859}

2440```2860```

2441 2861 

2442StopFailure hooks 沒有決定控制。它們僅用於通知和記錄目的執行。2862StopFailure hooks 沒有決策控制。它們僅用於通知和記錄目的執行。

2443 2863 

2444<h3 id="teammateidle">2864<h3 id="teammateidle">

2445 TeammateIdle2865 TeammateIdle

2446</h3>2866</h3>

2447 2867 

2448當 [agent team](/docs/zh-TW/agent-teams) 隊友在完成其輪次後即將閒置時執行。使用此項來在隊友停止工作之前強制執行品質閘道,例如要求通過 lint 檢查或驗證輸出檔案存在。2868在 [代理團隊](/docs/zh-TW/agent-teams) 隊友在完成其回合後即將閒置時執行。使用此來強制品質閘門,然後隊友停止工作,例如要求通過 lint 檢查或驗證輸出檔案存在。

2449 2869 

2450當 `TeammateIdle` hook 以代碼 2 退出時,隊友會收到 stderr 訊息作為反饋,並繼續工作而不是閒置。要完全停止隊友而不是重新執行它,請返回 JSON,其中 `{"continue": false, "stopReason": "..."}`。TeammateIdle hooks 不支援匹配器,在每次出現時觸發。2870TeammateIdle hooks 不支援匹配器,對每個出現觸發。

2451 2871 

2452<h4 id="teammateidle-input">2872<h4 id="teammateidle-input">

2453 TeammateIdle 輸入2873 TeammateIdle 輸入

2454</h4>2874</h4>

2455 2875 

2456除了 [通用輸入欄位](#common-input-fields) 外,TeammateIdle hooks 還接收 `teammate_name` 和 `team_name`。2876除了 [常見輸入欄位](#common-input-fields) 外,TeammateIdle hooks 還會接收 `teammate_name` 和 `team_name`。

2457 2877 

2458```json theme={null}2878```json theme={null}

2459{2879{


2473| `team_name` | 已棄用。工作階段衍生的團隊名稱;將在未來版本中移除 |2893| `team_name` | 已棄用。工作階段衍生的團隊名稱;將在未來版本中移除 |

2474 2894 

2475<h4 id="teammateidle-decision-control">2895<h4 id="teammateidle-decision-control">

2476 TeammateIdle 決定控制2896 TeammateIdle 決策控制

2477</h4>2897</h4>

2478 2898 

2479TeammateIdle hooks 支援兩種方式來控制隊友行為:2899TeammateIdle hooks 支援兩種方式來控制隊友行為:

2480 2900 

2481* **退出代碼 2**:隊友會收到 stderr 訊息作為反饋,並繼續工作而不是閒置。2901* **退出代碼 2**:隊友接收 stderr 訊息作為回饋並繼續工作而不是閒置。

2482* **JSON `{"continue": false, "stopReason": "..."}`**:完全停止隊友,匹配 `Stop` hook 行為。`stopReason` 向使用者顯示。2902* **JSON `{"continue": false, "stopReason": "..."}`**:完全停止隊友,匹配 `Stop` hook 行為。`stopReason` 顯示給使用者。

2483 2903 

2484此範例在允許隊友閒置之前檢查建置成品是否存在:2904此範例檢查建置成品存在,然後允許隊友閒置:

2485 2905 

2486```bash theme={null}2906```bash theme={null}

2487#!/bin/bash2907#!/bin/bash


2498 ConfigChange2918 ConfigChange

2499</h3>2919</h3>

2500 2920 

2501當配置檔案在工作階段期間變更時執行。使用此項來稽核設定變更、強制執行安全原則或阻止對配置檔案的未授權修改。2921在工作階段期間設定檔變更時執行。使用此來稽核設定變更、強制安全原則或阻止對設定檔的未授權修改。

2502 2922 

2503ConfigChange hooks 針對設定檔、受管理的原則設定和 skill 檔案的變更觸發。輸入中的 `source` 欄位告訴您哪種類型的配置變更,可選的 `file_path` 欄位提供變更檔案的路徑。2923Claude Code 在設定檔、受管原則檔案或 skill 檔案變更時執行 ConfigChange hooks。對於受管原則,它僅在 `managed-settings.json` 或 `managed-settings.d/` 中的檔案變更時執行。它應用 [伺服器受管設定](/docs/zh-TW/server-managed-settings) 和對 macOS 受管偏好設定或 Windows 登錄原則的變更而不執行。在 WSL 上搭配 [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings),它也應用在其原則輪詢上變更的 Windows 端受管設定檔而不執行。

2504 2924 

2505匹配器篩選配置來源:2925匹配器篩選設定來源:

2506 2926 

2507| 匹配器 | 何時觸發 |2927| 匹配器 | 何時觸發 |

2508| :----------------- | :------------------------------- |2928| :----------------- | :----------------------------------------------------- |

2509| `user_settings` | `~/.claude/settings.json` 變更 |2929| `user_settings` | `~/.claude/settings.json` 變更 |

2510| `project_settings` | `.claude/settings.json` 變更 |2930| `project_settings` | `.claude/settings.json` 變更 |

2511| `local_settings` | `.claude/settings.local.json` 變更 |2931| `local_settings` | `.claude/settings.local.json` 變更 |

2512| `policy_settings` | 受管理的原則設定變更 |2932| `policy_settings` | `managed-settings.json` 或 `managed-settings.d/` 中的檔案變更 |

2513| `skills` | `.claude/skills/` 中的 skill 檔案變更 |2933| `skills` | `.claude/skills/` 中的 skill 檔案變更 |

2514 2934 

2515此範例記錄所有配置變更以進行安全稽核:2935此範例記錄所有設定變更以進行安全稽核:

2516 2936 

2517```json theme={null}2937```json theme={null}

2518{2938{


2536 ConfigChange 輸入2956 ConfigChange 輸入

2537</h4>2957</h4>

2538 2958 

2539除了 [通用輸入欄位](#common-input-fields) 外,ConfigChange hooks 還接收 `source` 和可選的 `file_path`。`source` 欄位指示哪種配置類型變更,`file_path` 提供被修改的特定檔案的路徑。2959除了 [常見輸入欄位](#common-input-fields) 外,ConfigChange hooks 還會接收 `source` 和可選的 `file_path`。`source` 欄位指示哪個設定類型變更,`file_path` 提供修改的特定檔案的路徑。

2540 2960 

2541```json theme={null}2961```json theme={null}

2542{2962{


2550```2970```

2551 2971 

2552<h4 id="configchange-decision-control">2972<h4 id="configchange-decision-control">

2553 ConfigChange 決定控制2973 ConfigChange 決策控制

2554</h4>2974</h4>

2555 2975 

2556ConfigChange hooks 可以阻止配置變更生效。使用退出代碼 2 或 JSON `decision` 來防止變更。被阻止時,新設定不會應用於執行中的工作階段。2976ConfigChange hooks 可以阻止設定變更生效。使用退出代碼 2 或 JSON `decision` 來防止變更。被阻止時,新設定不會套用到執行中的工作階段。

2557 2977 

2558| 欄位 | 描述 |2978| 欄位 | 描述 |

2559| :--------- | :---------------------------------- |2979| :--------- | :-------------------------- |

2560| `decision` | `"block"` 防止配置變更被應用。省略以允許變更 |2980| `decision` | `"block"` 防止設定變更被套用。省略以允許變更 |

2561| `reason` | 當 `decision` 為 `"block"` 時向使用者顯示的解釋 |2981| `reason` | 接受但永遠不顯示 |

2562 2982 

2563```json theme={null}2983```json theme={null}

2564{2984{


2567}2987}

2568```2988```

2569 2989 

2570`policy_settings` 變更無法被阻止。Hooks 仍然針對 `policy_settings` 來源觸發,因此您可以使用它們進行稽核記錄,但任何阻止決定都會被忽略。這確保企業管理的設定始終生效。2990`policy_settings` 變更無法被阻止。當機器上的受管設定檔變更時,Hooks 仍然對 `policy_settings` 來源觸發,因此您可以使用它們來記錄這些編輯,但任何阻止決策都被忽略。這確保企業受管設定始終生效。當 [伺服器受管設定](/docs/zh-TW/server-managed-settings) 到達或重新整理時,Claude Code 不執行 `ConfigChange` hooks。

2991 

2992Claude Code 作用於 ConfigChange hook 的 JSON 輸出中的阻止決策,並捨棄 `systemMessage` 和 `continue`。被阻止的變更不向您或 Claude 呈現任何訊息,無論您是否使用 `reason` 或退出 2 時的 stderr 阻止。Claude Code 僅將一行寫入偵錯日誌。

2571 2993 

2572<h3 id="cwdchanged">2994<h3 id="cwdchanged">

2573 CwdChanged2995 CwdChanged

2574</h3>2996</h3>

2575 2997 

2576當工作目錄在工作階段期間變更時執行,例如當 Claude 執行 `cd` 命令時。使用此項來對目錄變更做出反應:重新載入環境變數、啟動專案特定的工具鏈或自動執行設定指令碼。與 [FileChanged](#filechanged) 配對,用於 [direnv](https://direnv.net/) 等管理每個目錄環境的工具。2998在主對話中的 shell 命令變更工作目錄時執行,例如當 Claude 執行 `cd` 命令時。使用此來對目錄變更做出反應:重新載入環境變數、啟動專案特定工具鏈或自動執行設定指令碼。與 [FileChanged](#filechanged) 配對,用於 [direnv](https://direnv.net/) 等管理每個目錄環境的工具。

2577 2999 

2578CwdChanged hooks 可以存取 `CLAUDE_ENV_FILE`。寫入該檔案的變數會持久化到工作階段的後續 Bash 命令中,就像在 [SessionStart hooks](#persist-environment-variables) 中一樣。3000CwdChanged hooks 可以存取 [`CLAUDE_ENV_FILE`](#persist-environment-variables)。寫入該檔案的變數會保留到下一個 CwdChanged 事件,當 Claude Code 清除它們時。

2579 3001 

2580CwdChanged 不支援匹配器,在每次目錄變更時觸發。3002CwdChanged 不支援匹配器,對每個出現觸發。

2581 3003 

2582<h4 id="cwdchanged-input">3004<h4 id="cwdchanged-input">

2583 CwdChanged 輸入3005 CwdChanged 輸入

2584</h4>3006</h4>

2585 3007 

2586除了 [通用輸入欄位](#common-input-fields) 外,CwdChanged hooks 還接收 `old_cwd` 和 `new_cwd`。3008除了 [常見輸入欄位](#common-input-fields) 外,CwdChanged hooks 還會接收 `old_cwd` 和 `new_cwd`。

2587 3009 

2588```json theme={null}3010```json theme={null}

2589{3011{


2600 CwdChanged 輸出3022 CwdChanged 輸出

2601</h4>3023</h4>

2602 3024 

2603除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,CwdChanged hooks 還可以返回 `watchPaths` 來動態設定 [FileChanged](#filechanged) 監視的檔案路徑:3025除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,CwdChanged hooks 可以返回 `watchPaths` 以動態設定 [FileChanged](#filechanged) 監視的檔案路徑:

2604 3026 

2605| 欄位 | 描述 |3027| 欄位 | 描述 |

2606| :----------- | :-------------------------------------------------------------------- |3028| :----------- | :--------------------------------------------------------------------- |

2607| `watchPaths` | 絕對路徑的陣列。替換目前的動態監視清單。來自您 `matcher` 配置的路徑始終被監視。返回空陣列會清除動態清單,這在進入新目錄時很典型 |3029| `watchPaths` | 絕對路徑的陣列。替換目前的動態監視清單。您的 `matcher` 設定中的路徑始終被監視。返回空陣列以清除動態清單,這在進入新目錄時是典型的 |

3030 

3031CwdChanged hooks 沒有決策控制。它們無法阻止目錄變更。

2608 3032 

2609CwdChanged hooks 沒有決定控制。它們無法阻止目錄變更。3033Claude Code 從其 JSON 輸出讀取 `watchPaths` 和 `systemMessage`,並捨棄 `continue`。在互動式工作階段中,它將 `systemMessage` 顯示為簡短終端通知。訊息不到達 SDK 訊息流。

3034 

3035<h3 id="directoryadded">

3036 DirectoryAdded

3037</h3>

3038 

3039在您使用 `/add-dir` 命令在工作階段中期新增工作目錄後執行,或在 SDK 用戶端使用 `register_repo_root` 控制請求新增工作目錄後執行。使用此來準備新增的儲存庫,例如安裝其相依性。

3040 

3041Claude Code 在以下情況下不觸發此事件:

3042 

3043* 您使用 `--add-dir` 啟動旗標傳遞目錄;[SessionStart](#sessionstart) 涵蓋這些目錄

3044* 您在 `/permissions` Workspace 標籤上新增目錄

3045* 您新增已是工作目錄或在其內部的目錄

3046 

3047Claude Code 在重新整理沙箱和權限狀態後觸發 DirectoryAdded,因此沙箱工具在您的 hook 執行時已看到新目錄。Hook 命令本身執行未沙箱化。

3048 

3049Claude Code 不等待 hook:新增立即完成,hook 在背景執行,使用 600 秒預設逾時。

3050 

3051匹配器篩選目錄的新增方式:

3052 

3053| 匹配器 | 何時觸發 |

3054| :------------------- | :-------------------------------------- |

3055| `slash_command` | 您使用 `/add-dir` 新增目錄 |

3056| `register_repo_root` | SDK 用戶端使用 `register_repo_root` 控制請求新增目錄 |

3057 

3058<h4 id="directoryadded-input">

3059 DirectoryAdded 輸入

3060</h4>

3061 

3062除了 [常見輸入欄位](#common-input-fields) 外,DirectoryAdded hooks 還會接收 `directory` 和 `source`。

3063 

3064| 欄位 | 描述 |

3065| :---------- | :------------------------------------------------------------------------ |

3066| `directory` | 新增的目錄的絕對路徑 |

3067| `source` | 目錄如何被新增,`/add-dir` 為 `"slash_command"` 或 SDK 控制請求為 `"register_repo_root"` |

3068 

3069```json theme={null}

3070{

3071 "session_id": "abc123",

3072 "transcript_path": "/Users/.../.claude/projects/.../transcript.jsonl",

3073 "cwd": "/Users/my-project",

3074 "hook_event_name": "DirectoryAdded",

3075 "directory": "/Users/my-other-repo",

3076 "source": "slash_command"

3077}

3078```

3079 

3080DirectoryAdded hooks 沒有決策控制。它們無法阻止新增,這在 hook 執行時已完成。Claude Code 從其 JSON 輸出捨棄 `continue` 欄位,並根據來源以不同方式呈現其餘部分:

3081 

3082* `slash_command`:Claude Code 將 hook 的 `systemMessage` 傳遞給 Claude 作為下一個對話回合的背景資訊,而不是向您顯示。失敗 hooks 的計數出現在文字記錄中。完整失敗輸出進入偵錯日誌

3083* `register_repo_root`:Claude Code 僅將 `systemMessage` 輸出和失敗輸出寫入偵錯日誌

2610 3084 

2611<h3 id="filechanged">3085<h3 id="filechanged">

2612 FileChanged3086 FileChanged

2613</h3>3087</h3>

2614 3088 

2615當監視的檔案在磁碟上變更時執行。適用於在專案配置檔案被修改時重新載入環境變數。3089在監視的檔案在磁碟上變更時執行。Claude Code 使用檔案系統監視器偵測變更,而不是檢查工具呼叫,因此無論什麼變更檔案,它都執行 hook:`Edit` 或 `Write` 工具呼叫、Claude 使用 `Bash` 執行的指令碼,或 Claude Code 外的程序。常見用途是在專案設定檔變更時重新載入環境變數。

3090 

3091此事件的 `matcher` 有兩個角色:

3092 

3093* **建立監視清單**:值在 `|` 上分割,每個段落註冊為工作目錄中的字面檔案名稱,因此 `".envrc|.env"` 監視恰好這兩個檔案。正規表達式模式在這裡不有用:`^\.env` 之類的值會監視字面名稱為 `^\.env` 的檔案。

3094* **篩選哪些 hooks 執行**:當監視的檔案變更時,相同的值使用標準 [匹配器規則](#matcher-patterns) 針對變更檔案的基名篩選哪些 hook 群組執行。

3095 

3096此範例在任何變更後規範化 `data.csv` 中的行結尾,包括 `Bash` 命令或外部指令碼重寫檔案:

3097 

3098```json theme={null}

3099{

3100 "hooks": {

3101 "FileChanged": [

3102 {

3103 "matcher": "data.csv",

3104 "hooks": [

3105 {

3106 "type": "command",

3107 "command": "/path/to/normalize-line-endings.sh"

3108 }

3109 ]

3110 }

3111 ]

3112 }

3113}

3114```

3115 

3116Hook 從 [JSON 輸入](#filechanged-input) 的 `file_path` 欄位讀取變更檔案的絕對路徑,在 stdin 上。其 `grep` 守衛測試 `perl` 移除的相同內容,行尾的 CR,因此規範化後的執行退出而不觸及檔案。較鬆散的守衛迴圈永遠,因為 `perl -i` 重寫檔案即使它替換無內容,Claude Code 在每次重寫後執行 hook。將此指令碼儲存在 `/path/to/normalize-line-endings.sh` 並使其可執行:

3117 

3118```bash theme={null}

3119#!/bin/bash

3120FILE=$(jq -r .file_path)

3121if grep -q $'\r$' "$FILE"; then

3122 perl -pi -e 's/\r$//' "$FILE"

3123fi

3124```

2616 3125 

2617`matcher` 對於此事件有兩個角色:3126若要確認 hook 有效,要求 Claude 使用 `Bash` 命令將 CRLF 行附加到 `data.csv`。Claude Code 執行 hook,檔案以 LF 結尾。

2618 3127 

2619* **建立監視清單**:值在 `|` 上分割,每個段被註冊為工作目錄中的檔案名稱,因此 `".envrc|.env"` 監視恰好這兩個檔案。正規表達式模式在這裡沒有用:像 `^\.env` 這樣的值會監視一個字面上名為 `^\.env` 的檔案。3128若要監視您無法提前命名的檔案,請從 hook 返回 [`watchPaths`](#filechanged-output) 以動態更新監視清單。Claude Code 僅在某事命名要監視的檔案時啟動監視器,因此使用至少命名一個檔案的 FileChanged 群組播種清單,或使用 [SessionStart](#sessionstart-decision-control) 或 [CwdChanged](#cwdchanged) hook 返回 `watchPaths`。匹配器仍然篩選當監視的檔案變更時哪些 hook 群組執行,因此給處理動態路徑的群組一個省略的匹配器,它匹配每個監視的檔案並不向監視清單新增任何內容。`"*"` 匹配器也匹配每個檔案,但 Claude Code 在監視清單中註冊它,如同任何其他值,作為字面名稱為 `*` 的檔案。

2620* **篩選哪些 hooks 執行**:當監視的檔案變更時,相同的值使用標準 [匹配器規則](#matcher-patterns) 針對變更檔案的基本名稱篩選哪些 hook 群組執行。

2621 3129 

2622FileChanged hooks 可以存取 `CLAUDE_ENV_FILE`。寫入該檔案的變數會持久化到工作階段的後續 Bash 命令中,就像在 [SessionStart hooks](#persist-environment-variables) 中一樣。3130FileChanged hooks 可以存取 [`CLAUDE_ENV_FILE`](#persist-environment-variables)。寫入該檔案的變數會保留到下一個 [CwdChanged](#cwdchanged) 事件,當 Claude Code 清除它們時。

2623 3131 

2624<h4 id="filechanged-input">3132<h4 id="filechanged-input">

2625 FileChanged 輸入3133 FileChanged 輸入

2626</h4>3134</h4>

2627 3135 

2628除了 [通用輸入欄位](#common-input-fields) 外,FileChanged hooks 還接收 `file_path` 和 `event`。3136除了 [常見輸入欄位](#common-input-fields) 外,FileChanged hooks 還會接收 `file_path` 和 `event`。

2629 3137 

2630| 欄位 | 描述 |3138| 欄位 | 描述 |

2631| :---------- | :-------------------------------------------------------- |3139| :---------- | :-------------------------------------------------------- |

2632| `file_path` | 變更檔案的絕對路徑 |3140| `file_path` | 變更的檔案的絕對路徑 |

2633| `event` | 發生的情況:`"change"`(檔案被修改)、`"add"`(檔案被建立)或 `"unlink"`(檔案被刪除) |3141| `event` | 發生的情況:修改的檔案為 `"change"`、建立的檔案為 `"add"` 或刪除的檔案為 `"unlink"` |

2634 3142 

2635```json theme={null}3143```json theme={null}

2636{3144{


2647 FileChanged 輸出3155 FileChanged 輸出

2648</h4>3156</h4>

2649 3157 

2650除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,FileChanged hooks 還可以返回 `watchPaths` 來動態更新監視的檔案路徑:3158除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,FileChanged hooks 可以返回 `watchPaths` 以動態更新監視的檔案路徑:

2651 3159 

2652| 欄位 | 描述 |3160| 欄位 | 描述 |

2653| :----------- | :------------------------------------------------------------------------------- |3161| :----------- | :----------------------------------------------------------------------------- |

2654| `watchPaths` | 絕對路徑的陣列。替換目前的動態監視清單。來自您 `matcher` 配置的路徑始終被監視。當您的 hook 指令碼根據變更的檔案發現要監視的其他檔案時,使用此項 |3162| `watchPaths` | 絕對路徑的陣列。替換目前的動態監視清單。您的 `matcher` 設定中的路徑始終被監視。當您的 hook 指令碼根據變更的檔案探索要監視的其他檔案時使用此 |

2655 3163 

2656FileChanged hooks 沒有決定控制。它們無法阻止檔案變更的發生。3164FileChanged hooks 沒有決策控制。它們無法阻止檔案變更發生。

3165 

3166Claude Code 從其 JSON 輸出讀取 `watchPaths` 和 `systemMessage`,並捨棄 `continue`。在互動式工作階段中,它將 `systemMessage` 顯示為簡短終端通知。訊息不到達 SDK 訊息流。

2657 3167 

2658<h3 id="worktreecreate">3168<h3 id="worktreecreate">

2659 WorktreeCreate3169 WorktreeCreate

2660</h3>3170</h3>

2661 3171 

2662當您執行 `claude --worktree` 或 [subagent 使用 `isolation: "worktree"`](/docs/zh-TW/sub-agents#choose-the-subagent-scope) 時,Claude Code 使用 `git worktree` 建立隔離的工作副本。如果您配置 WorktreeCreate hook,它會替換預設的 git 行為,讓您使用不同的版本控制系統,如 SVN、Perforce 或 Mercurial。3172在建立 worktree 時執行,無論是從 `claude --worktree`、從 [使用 `isolation: "worktree"` 的子代理](/docs/zh-TW/sub-agents#choose-the-subagent-scope),或用於 Claude Code 在其自己的 worktree 中隔離的 [背景工作階段](/docs/zh-TW/agent-view#how-file-edits-are-isolated)。預設情況下 Claude Code 使用 `git worktree` 建立隔離的工作副本。設定 WorktreeCreate hook 完全替換該預設 git 行為,讓您使用不同的版本控制系統,例如 SVN、Perforce 或 Mercurial。

3173 

3174因為 hook 完全替換預設行為,[`.worktreeinclude`](/docs/zh-TW/worktrees#copy-gitignored-files-into-worktrees) 不被處理。如果您需要複製本機設定檔,例如 `.env`,到新 worktree,請在您的 hook 指令碼內執行。

2663 3175 

2664因為 hook 完全替換預設行為,[`.worktreeinclude`](/docs/zh-TW/worktrees#copy-gitignored-files-into-worktrees) 不被處理。如果您需要將本機配置檔案(如 `.env`)複製到新 worktree,請在您的 hook 指令碼內執行。3176Hook 必須返回建立的 worktree 目錄的路徑。Claude Code 使用此路徑作為隔離工作階段的工作目錄。請參閱 [WorktreeCreate 輸出](#worktreecreate-output),了解每個 hook 類型如何返回路徑。

2665 3177 

2666Hook 必須返回建立的 worktree 目錄的絕對路徑。Claude Code 使用此路徑作為隔離工作階段的工作目錄。請參閱 [WorktreeCreate 輸出](#worktreecreate-output) 以了解每個 hook 類型如何返回路徑。3178Claude Code 作用於 hook 的成功和返回的路徑,並捨棄 `systemMessage` 和 `continue`。

2667 3179 

2668此範例建立 SVN 工作副本並列印路徑供 Claude Code 使用。將儲存庫 URL 替換為您自己的:3180此範例建立 SVN 工作副本並列印路徑供 Claude Code 使用。將儲存庫 URL 替換為您自己的:

2669 3181 


2684}3196}

2685```3197```

2686 3198 

2687Hook 從 stdin 上的 JSON 輸入讀取 worktree `name`,將新副本簽出到新目錄,並列印目錄路徑。最後一行的 `echo` 是 Claude Code 讀取的 worktree 路徑。將任何其他輸出重定向到 stderr,以免干擾路徑。3199Hook 從 stdin 上的 JSON 輸入讀取 worktree `name`,將新副本簽出到新目錄,並列印目錄路徑。最後一行的 `echo` 是 Claude Code 讀取為 worktree 路徑的內容。將任何其他輸出重定向到 stderr,以便它不干擾路徑。

2688 3200 

2689<h4 id="worktreecreate-input">3201<h4 id="worktreecreate-input">

2690 WorktreeCreate 輸入3202 WorktreeCreate 輸入

2691</h4>3203</h4>

2692 3204 

2693除了 [通用輸入欄位](#common-input-fields) 外,WorktreeCreate hooks 還接收 `name` 欄位。這是新 worktree 的 slug 識別碼,由使用者指定或自動生成,例如 `bold-oak-a3f2`。3205除了 [常見輸入欄位](#common-input-fields) 外,WorktreeCreate hooks 還會接收 `name` 欄位。這是新 worktree 的 slug 識別碼,由使用者指定或自動生成,例如 `bold-oak-a3f2`。

2694 3206 

2695```json theme={null}3207```json theme={null}

2696{3208{


2706 WorktreeCreate 輸出3218 WorktreeCreate 輸出

2707</h4>3219</h4>

2708 3220 

2709WorktreeCreate hooks 不使用標準的允許/阻止決定模型。相反,hook 的成功或失敗決定結果。Hook 必須返回建立的 worktree 目錄的絕對路徑:3221WorktreeCreate hooks 不使用標準允許/阻止決策模型。相反,hook 的成功或失敗決定結果。Hook 必須返回建立的 worktree 目錄的路徑:

2710 3222 

2711* **命令 hooks**(`type: "command"`):在 stdout 上列印路徑。Claude Code 在讀取該行之前去除 ANSI 逃逸代碼,因此在您的 `echo` 之前列印的 shell 啟動橫幅被忽略。將任何其他 hook 輸出重定向到 stderr。3223* **命令 hooks** (`type: "command"`):將路徑列印為 stdout 的最後一個非空行。Claude Code 在讀取該行之前去除 ANSI 逸出代碼,因此在您的 `echo` 之前列印的 shell 啟動橫幅被忽略。將任何其他 hook 輸出重定向到 stderr。

2712* **HTTP hooks**(`type: "http"`):在回應正文中返回 `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }`。3224* **HTTP hooks** (`type: "http"`):在回應主體中返回 `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }`。

2713 3225 

2714如果 hook 失敗或不產生路徑,worktree 建立失敗並出現錯誤。3226如果 hook 失敗或不產生路徑,worktree 建立失敗並出現錯誤。

2715 3227 

2716Claude Code 根據 hook 執行的目錄解析相對路徑。如果結果路徑不是 Claude Code 可以進入的目錄,工作階段列印一個命名路徑的錯誤並以代碼 1 退出。在 v2.1.205 之前,相對路徑或磁碟上不存在的路徑會在啟動時使工作階段崩潰,使用 `-p` 時會停滯約 30 秒,然後以代碼 0 退出。3228Claude Code 根據 hook 執行的目錄解決相對路徑,摺疊其中的任何 `.` 或 `..` 段。如果結果路徑不是 Claude Code 可以進入的目錄,工作階段列印命名路徑的錯誤並以代碼 1 退出。

3229 

3230Claude Code 拒絕包含 `.` 或 `..` 段的絕對路徑,以及通過儲存庫根下方的符號連結的任何路徑,因為提交到儲存庫的符號連結可能將 worktree 重定向到其外部。錯誤命名被拒絕的元件。返回不通過儲存庫內符號連結的規範化路徑。在 v2.1.216 之前,worktree 建立遵循 hook 的路徑而不進行此篩選。

2717 3231 

2718<h3 id="worktreeremove">3232<h3 id="worktreeremove">

2719 WorktreeRemove3233 WorktreeRemove

2720</h3>3234</h3>

2721 3235 

2722當 worktree 被移除時執行,要麼當您退出 `--worktree` 工作階段並選擇移除它時,要麼當具有 `isolation: "worktree"` 的 subagent 完成時。這是 [WorktreeCreate](#worktreecreate) 的清理對應項。對於基於 git 的 worktrees,Claude Code 使用 `git worktree remove` 自動處理清理。如果您為非 git 版本控制系統配置了 WorktreeCreate hook,請將其與 WorktreeRemove hook 配對以處理清理。沒有它,worktree 目錄會留在磁碟上。3236在移除 worktree 時執行。這是 [WorktreeCreate](#worktreecreate) 的清理對應項。事件在以下情況下觸發:

3237 

3238* 您退出 `--worktree` 工作階段並選擇移除它

3239* 具有 `isolation: "worktree"` 的子代理完成

3240* 您刪除 [背景工作階段](/docs/zh-TW/agent-view#what-deleting-a-session-removes),其 worktree 由 hook 建立

3241 

3242對於基於 git 的 worktrees,Claude Code 使用 `git worktree remove` 自動處理清理。如果您為非 git 版本控制系統設定了 WorktreeCreate hook,請將其與 WorktreeRemove hook 配對以處理清理。沒有它,worktree 目錄保留在磁碟上。

3243 

3244Claude Code 捨棄 WorktreeRemove hook 的 [JSON 輸出欄位](#json-output),例如 `systemMessage` 和 `continue`。

3245 

3246對於背景工作階段刪除,Claude Code 在執行 hook 之前驗證儲存的 worktree 路徑,並拒絕在儲存庫根下方是符號連結或通過符號連結的路徑。Hook 僅對仍包含檔案的 worktree 執行,當您在 [代理檢視](/docs/zh-TW/agent-view#what-deleting-a-session-removes) 中確認刪除時;對於這樣的 worktree,[`claude rm`](/docs/zh-TW/agent-view#manage-sessions-from-the-shell) 保持工作階段和 worktree。在 v2.1.216 之前,hook 在儲存的路徑上執行而不進行這些檢查。

2723 3247 

2724Claude Code 將 WorktreeCreate 返回的路徑作為 `worktree_path` 在 hook 輸入中傳遞。此範例讀取該路徑並移除目錄:3248Claude Code 將 WorktreeCreate 返回的路徑作為 `worktree_path` 在 hook 輸入中傳遞。此範例讀取該路徑並移除目錄:

2725 3249 


2744 WorktreeRemove 輸入3268 WorktreeRemove 輸入

2745</h4>3269</h4>

2746 3270 

2747除了 [通用輸入欄位](#common-input-fields) 外,WorktreeRemove hooks 還接收 `worktree_path` 欄位,這是被移除的 worktree 的絕對路徑。3271除了 [常見輸入欄位](#common-input-fields) 外,WorktreeRemove hooks 還會接收 `worktree_path` 欄位,這是正在移除的 worktree 的絕對路徑。

2748 3272 

2749```json theme={null}3273```json theme={null}

2750{3274{


2756}3280}

2757```3281```

2758 3282 

2759WorktreeRemove hooks 沒有決定控制。它們無法阻止 worktree 移除,但可以執行清理任務,如移除版本控制狀態或存檔變更。Hook 失敗僅在偵錯模式中記錄。3283WorktreeRemove hook 的退出代碼決定結果。當 hook 以非零退出且 `worktree_path` 的目錄仍然存在時,移除失敗:

3284 

3285* Worktree 保留在磁碟上,hook 的命令和 stderr 進入 [偵錯日誌](#debug-hooks)。

3286* 如果您刪除背景工作階段,工作階段也保留。[代理檢視](/docs/zh-TW/agent-view#what-deleting-a-session-removes) 中的拒絕訊息報告 hook 如何結束,例如 `exited 1`,引用其 stderr 的開頭,並說明再次刪除工作階段是否移除目錄。

2760 3287 

2761<h3 id="precompact">3288<h3 id="precompact">

2762 PreCompact3289 PreCompact


2767匹配器值指示壓縮是手動觸發還是自動觸發:3294匹配器值指示壓縮是手動觸發還是自動觸發:

2768 3295 

2769| 匹配器 | 何時觸發 |3296| 匹配器 | 何時觸發 |

2770| :------- | :----------- |3297| :------- | :-------------------------------------------------------------------- |

2771| `manual` | `/compact` |3298| `manual` | `/compact` |

2772| `auto` | 當上下文視窗滿時自動壓縮 |3299| `auto` | 當對話到達 [自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window) 時自動壓縮 |

2773 3300 

2774退出代碼 2 以阻止壓縮。對於手動 `/compact`,stderr 訊息向使用者顯示。您也可以通過返回帶有 `"decision": "block"` 的 JSON 來阻止。3301以代碼 2 退出以阻止壓縮。對於手動 `/compact`,stderr 訊息顯示給使用者。您也可以透過返回 JSON 搭配 `"decision": "block"` 來阻止。

2775 3302 

2776阻止自動壓縮有不同的效果,取決於何時觸發。如果壓縮在上下文限制之前主動觸發,Claude Code 會跳過它,對話繼續未壓縮。如果壓縮被觸發以從已由 API 返回的上下文限制錯誤恢復,基礎錯誤會浮出並且目前請求失敗。3303阻止自動壓縮根據何時觸發有不同的效果。如果壓縮在背景資訊限制之前主動觸發,Claude Code 跳過它,對話繼續未壓縮。如果壓縮被觸發以從 API 已返回的背景資訊限制錯誤恢復,基礎錯誤呈現,目前請求失敗。

3304 

3305Claude Code 捨棄 PreCompact hook 的 `systemMessage` 和 `continue` 欄位。

2777 3306 

2778<h4 id="precompact-input">3307<h4 id="precompact-input">

2779 PreCompact 輸入3308 PreCompact 輸入

2780</h4>3309</h4>

2781 3310 

2782除了 [通用輸入欄位](#common-input-fields) 外,PreCompact hooks 還接收 `trigger` 和 `custom_instructions`。對於 `manual`,`custom_instructions` 包含使用者傳遞到 `/compact` 的內容。對於 `auto`,`custom_instructions` 為空。3311除了 [常見輸入欄位](#common-input-fields) 外,PreCompact hooks 還會接收 `trigger` 和 `custom_instructions`。對於 `manual`,`custom_instructions` 包含使用者傳遞到 `/compact` 的內容,當他們傳遞無內容時為 `null`。對於 `auto`,`custom_instructions` 為 `null`。

2783 3312 

2784```json theme={null}3313```json theme={null}

2785{3314{


2788 "cwd": "/Users/...",3317 "cwd": "/Users/...",

2789 "hook_event_name": "PreCompact",3318 "hook_event_name": "PreCompact",

2790 "trigger": "manual",3319 "trigger": "manual",

2791 "custom_instructions": ""3320 "custom_instructions": null

2792}3321}

2793```3322```

2794 3323 


2796 PostCompact3325 PostCompact

2797</h3>3326</h3>

2798 3327 

2799在 Claude Code 完成壓縮操作後執行。使用此事件來對新的壓縮狀態做出反應,例如記錄生成的摘要或更新外部狀態。3328在 Claude Code 完成壓縮操作後執行。使用此事件對新壓縮狀態做出反應,例如記錄生成的摘要或更新外部狀態。Claude Code 捨棄 PostCompact hook 的 `systemMessage` 和 `continue` 欄位。

2800 3329 

2801與 `PreCompact` 相同的匹配器值適用:3330與 `PreCompact` 相同的匹配器值適用:

2802 3331 

2803| 匹配器 | 何時觸發 |3332| 匹配器 | 何時觸發 |

2804| :------- | :------------- |3333| :------- | :--------------------------------------------------------------------- |

2805| `manual` | 在 `/compact` 後 |3334| `manual` | 在 `/compact` 後 |

2806| `auto` | 在上下文視窗滿時自動壓縮後 |3335| `auto` | 當對話到達 [自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window) 時自動壓縮後 |

2807 3336 

2808<h4 id="postcompact-input">3337<h4 id="postcompact-input">

2809 PostCompact 輸入3338 PostCompact 輸入

2810</h4>3339</h4>

2811 3340 

2812除了 [通用輸入欄位](#common-input-fields) 外,PostCompact hooks 還接收 `trigger` 和 `compact_summary`。`compact_summary` 欄位包含壓縮操作生成的對話摘要。3341除了 [常見輸入欄位](#common-input-fields) 外,PostCompact hooks 還會接收 `trigger` 和 `compact_summary`。`compact_summary` 欄位包含壓縮操作生成的對話摘要。

2813 3342 

2814```json theme={null}3343```json theme={null}

2815{3344{


2822}3351}

2823```3352```

2824 3353 

2825PostCompact hooks 沒有決定控制。它們無法影響壓縮結果,但可以執行後續任務。3354PostCompact hooks 沒有決策控制。它們無法影響壓縮結果,但可以執行後續任務。

3355 

3356<h3 id="premodelswitch">

3357 PreModelSwitch

3358</h3>

3359 

3360在 Claude Code 應用您或用戶端請求的模型切換之前執行。使用它來阻止切換、要求確認或在切換發生前顯示成本。

3361 

3362PreModelSwitch 需要 Claude Code v2.1.251 或更新版本。Claude Code 為這些請求執行它:

3363 

3364* `/model <name>` 和 `/model` 選擇器

3365* `Option+P` 或 `Alt+P` 模型選擇器

3366* `/config` 中的 Model 設定

3367* 當那改變工作階段的模型時打開 [快速模式](/docs/zh-TW/fast-mode)

3368* 來自 [Agent SDK](/docs/zh-TW/agent-sdk/typescript#query-object) 主機或 [Remote Control](/docs/zh-TW/remote-control) 的 `set_model` 請求,或 `apply_flag_settings` 請求中的模型變更

3369 

3370Claude Code 不為它自己進行的切換執行 PreModelSwitch hooks,例如 [自動模型回退](/docs/zh-TW/model-config#automatic-model-fallback) 或恢復工作階段時恢復模型。這些變更僅到達 [PostModelSwitch](#postmodelswitch)。

3371 

3372Claude Code 根據工作階段切換到的模型的規範名稱比較匹配器,忽略任何 `[1m]` 後綴。別名(例如 `opus`)、日期模型 ID 和提供者特定 ID(例如 Amazon Bedrock 模型 ID)都匹配它們解決到的一個規範名稱,因此 `claude-opus-5` 涵蓋 Opus 5 的每個拼寫。

3373 

3374當 Claude Code 無法確定目標的規範名稱時,例如僅您的 [LLM 閘道](/docs/zh-TW/llm-gateway) 知道的自訂模型 ID,它執行每個 PreModelSwitch hook,無論匹配器如何。阻止的 hook 應該檢查其輸入中的 `to_model` 而不是僅依賴匹配器。

3375 

3376將匹配器寫為精確名稱、`|` 分隔清單(例如 `claude-opus-4-6|claude-opus-5`)或正規表達式(例如 `.*opus.*`)。此範例使用精確名稱匹配器並也檢查 hook 輸入中的 `to_model`,因此它拒絕切換到 Opus 4.6,透過以代碼 2 退出,並讓任何其他目標通過:

3377 

3378<Tabs>

3379 <Tab title="macOS/Linux">

3380 命令使用 `jq` 檢查 `to_model`:

3381 

3382 ```json theme={null}

3383 {

3384 "hooks": {

3385 "PreModelSwitch": [

3386 {

3387 "matcher": "claude-opus-4-6",

3388 "hooks": [

3389 {

3390 "type": "command",

3391 "command": "jq -e '.to_model | test(\"opus-4-6\")' > /dev/null && { echo 'Opus 4.6 is retired for this project. Use a newer model.' >&2; exit 2; }; exit 0"

3392 }

3393 ]

3394 }

3395 ]

3396 }

3397 }

3398 ```

3399 </Tab>

3400 

3401 <Tab title="Windows (PowerShell)">

3402 註冊一個命令 hook,透過 PowerShell 執行指令碼:

3403 

3404 ```json theme={null}

3405 {

3406 "hooks": {

3407 "PreModelSwitch": [

3408 {

3409 "matcher": "claude-opus-4-6",

3410 "hooks": [

3411 {

3412 "type": "command",

3413 "command": "powershell.exe",

3414 "args": [

3415 "-NoProfile",

3416 "-ExecutionPolicy",

3417 "Bypass",

3418 "-File",

3419 "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-opus-46.ps1"

3420 ]

3421 }

3422 ]

3423 }

3424 ]

3425 }

3426 }

3427 ```

3428 

3429 將此指令碼儲存到您專案中的 `.claude/hooks/block-opus-46.ps1`:

3430 

3431 ```powershell theme={null}

3432 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json

3433 if ($hookInput.to_model -match 'opus-4-6') {

3434 [Console]::Error.WriteLine('Opus 4.6 is retired for this project. Use a newer model.')

3435 exit 2

3436 }

3437 exit 0

3438 ```

3439 </Tab>

3440</Tabs>

3441 

3442若要確認 hook 有效,從執行不同模型的工作階段執行 `/model claude-opus-4-6`。Claude Code 保持目前模型並報告 PreModelSwitch hook 阻止了切換,您的訊息作為原因。

3443 

3444<h4 id="premodelswitch-input">

3445 PreModelSwitch 輸入

3446</h4>

3447 

3448除了 [常見輸入欄位](#common-input-fields) 外,PreModelSwitch hooks 還會接收此表中的欄位。最後五個描述重新發送對話到新模型的成本,因此 hook 可以在切換發生前顯示該數字。

3449 

3450| 欄位 | 類型 | 描述 |

3451| :-------------------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3452| `from_model` | string | 切換變更的模型 ID |

3453| `to_model` | string | 切換變更為的模型 ID。匹配器根據此模型的規範名稱比較 |

3454| `requested_model` | string or `null` | 請求命名的模型:別名(例如 `opus`)、完整模型 ID 或當請求為預設模型時 `null` |

3455| `source` | string | 請求來自何處:`/model <name>`、`/config` 中的 Model 設定或打開快速模式的 `"command"`;模型選擇器的 `"picker"`;來自 Agent SDK 主機或 Remote Control 的 `set_model` 請求或 `apply_flag_settings` 請求中的模型變更的 `"sdk"` |

3456| `context_tokens` | number | 下一個請求重新發送作為其提示的令牌:主對話中最後回應的輸入、快取讀取、快取建立和輸出令牌結合。第一個回應前為 `0` |

3457| `prompt_cache_warm` | boolean | 目前模型的 prompt cache 是否可能仍然溫暖,意味著切換放棄它 |

3458| `cache_ttl` | string | [Prompt cache 生命週期](/docs/zh-TW/prompt-caching#cache-lifetime) Claude Code 為此工作階段請求:`"5m"` 或 `"1h"` |

3459| `estimated_cache_write_usd` | number | 在 `cache_ttl` 速率下將 `context_tokens` 寫入 `to_model` 上的 prompt cache 的估計成本(美元),不包括下一個回應 |

3460| `pricing` | string | Claude Code 如何定價 `estimated_cache_write_usd`:當您的組織已設定它們時在您的組織自己的速率下為 `"configured"`、在清單價格下為 `"catalog"`,或當 `to_model` 沒有已知價格且 Claude Code 假設預設速率時為 `"default"` |

3461 

3462此範例顯示在執行 Sonnet 5 的工作階段中 `/model opus` 的輸入:

3463 

3464```json theme={null}

3465{

3466 "session_id": "abc123",

3467 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

3468 "cwd": "/Users/...",

3469 "hook_event_name": "PreModelSwitch",

3470 "from_model": "claude-sonnet-5",

3471 "to_model": "claude-opus-5",

3472 "requested_model": "opus",

3473 "source": "command",

3474 "context_tokens": 182340,

3475 "prompt_cache_warm": true,

3476 "cache_ttl": "5m",

3477 "estimated_cache_write_usd": 1.1396,

3478 "pricing": "catalog"

3479}

3480```

3481 

3482<h4 id="premodelswitch-decision-control">

3483 PreModelSwitch 決策控制

3484</h4>

3485 

3486`PreModelSwitch` hooks 可以取消切換、要求使用者確認或讓它進行。退出代碼 2 或頂級 `decision: "block"` 取消切換。

3487 

3488為了更精細的控制,在 `hookSpecificOutput` 物件中返回 `permissionDecision` 和 `permissionDecisionReason`,如 [PreToolUse](#pretooluse-decision-control) 上。`PreModelSwitch` 接受 `"allow"`、`"deny"` 和 `"ask"`。它不接受 `"defer"`、`updatedInput` 或 `additionalContext`。下表描述兩個欄位:

3489 

3490| 欄位 | 描述 |

3491| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |

3492| `permissionDecision` | `"allow"` 進行並跳過 [Claude Code 在 prompt cache 溫暖時顯示的確認](/docs/zh-TW/prompt-caching#switching-models)。`"deny"` 取消切換。`"ask"` 提示使用者確認 |

3493| `permissionDecisionReason` | 對於 `"deny"`,顯示給使用者作為切換被阻止的原因,或作為 `set_model` 請求的錯誤返回。對於 `"ask"`,在確認提示中顯示。對於 `"allow"` 忽略 |

3494 

3495僅互動式工作階段中的 `/model` 可以顯示 `"ask"` 提示。在每個其他表面上,包括搭配 `-p` 旗標的非互動模式、`/config` 和 `set_model` 請求,Claude Code 將 `"ask"` 視為拒絕。

3496 

3497此範例要求使用者確認並引用 `context_tokens` 中的令牌計數:

3498 

3499```json theme={null}

3500{

3501 "hookSpecificOutput": {

3502 "hookEventName": "PreModelSwitch",

3503 "permissionDecision": "ask",

3504 "permissionDecisionReason": "Switching now re-sends about 180k tokens to the new model. Continue?"

3505 }

3506}

3507```

3508 

3509當多個 PreModelSwitch hooks 返回不同的決策時,優先順序為 `deny` > `ask` > `allow`。

3510 

3511Claude Code 無論決策如何都顯示您的 hook 返回的任何 `systemMessage`,因此成本報告 hook 可以返回 `{"systemMessage": "..."}` 並退出 0。

3512 

3513在其逾時前未回應的 PreModelSwitch hook 會阻止切換。在 [PreToolUse](#timeouts) 上相比,逾時的命令 hook 讓工具呼叫繼續。此事件的預設逾時為 30 秒。`PreModelSwitch` 僅執行 `command`、`http` 和 `mcp_tool` hooks,因此 `prompt` 和 `agent` 預設不適用。

3514 

3515以 0 或 2 以外的代碼退出且不列印 JSON 決策的 hook 不阻止:Claude Code 顯示其 stderr 並應用切換,如 [其他退出代碼](#other-exit-codes) 下所述。

3516 

3517<h3 id="postmodelswitch">

3518 PostModelSwitch

3519</h3>

3520 

3521在工作階段的模型變更後執行。使用它來給予 Claude 模型特定指導,而不編輯每個 CLAUDE.md,例如僅在某些模型上適用的組織範圍指令。

3522 

3523PostModelSwitch 需要 Claude Code v2.1.251 或更新版本。它無法阻止,因為模型已變更。Claude Code 在這些變更後執行 PostModelSwitch hooks:

3524 

3525* 您或用戶端請求的切換

3526* [自動模型回退](/docs/zh-TW/model-config#automatic-model-fallback),改變工作階段的模型

3527* 設定(例如 [`opusplan`](/docs/zh-TW/model-config#opusplan-model-setting))進入或離開計畫模式

3528* Claude Code 恢復工作階段時恢復模型

3529 

3530當 [回退模型鏈](/docs/zh-TW/model-config#fallback-model-chains) 中的模型服務回合時,Claude Code 不執行 PostModelSwitch hooks,因為該替換持續一個回合並保持工作階段的模型不變。

3531 

3532匹配器遵循與 [PreModelSwitch](#premodelswitch) 相同的規則:Claude Code 根據工作階段切換到的模型的規範名稱比較它。

3533 

3534此範例在工作階段的模型變更為任何 Opus 模型時新增指導:

3535 

3536```json theme={null}

3537{

3538 "hooks": {

3539 "PostModelSwitch": [

3540 {

3541 "matcher": ".*opus.*",

3542 "hooks": [

3543 {

3544 "type": "command",

3545 "command": "echo 'On Opus, delegate implementation work to subagents and keep this conversation for planning and review.'"

3546 }

3547 ]

3548 }

3549 ]

3550 }

3551}

3552```

3553 

3554若要確認 hook 有效,從執行不同模型的工作階段切換到 Opus 模型,例如從 Sonnet 工作階段執行 `/model opus`,然後詢問 Claude 它對目前模型有什麼指導。

3555 

3556<h4 id="postmodelswitch-input">

3557 PostModelSwitch 輸入

3558</h4>

3559 

3560PostModelSwitch hooks 接收與 [PreModelSwitch](#premodelswitch-input) 相同的欄位,其中 `hook_event_name` 設定為 `"PostModelSwitch"` 和兩個更多 `source` 值:`"auto"` 用於自動回退或 Claude Code 自己進行的其他變更,`"resume"` 用於恢復工作階段時恢復的模型。

3561 

3562當 `source` 為 `"auto"` 時 `requested_model` 為 `null`。當 `source` 為 `"resume"` 時,它是 Claude Code 恢復的儲存模型設定。

3563 

3564<h4 id="postmodelswitch-decision-control">

3565 PostModelSwitch 決策控制

3566</h4>

3567 

3568Claude Code 在下一個切換後的請求中採用您的 hook 的 [純文字 stdout](#exit-code-0) 退出 0,或 JSON 輸出中的 `additionalContext`,並將其傳遞給 Claude。除了所有 hooks 可用的 [JSON 輸出欄位](#json-output) 外,您可以返回:

3569 

3570| 欄位 | 描述 |

3571| :------------------ | :------------------------------------------------------------------------ |

3572| `additionalContext` | 與下一個請求一起新增到 Claude 背景資訊的字串。請參閱 [為 Claude 新增背景資訊](#add-context-for-claude) |

3573 

3574如果 hook 在您發送下一個提示後五秒內未完成,Claude Code 發送該請求而不輸出,並改為將其附加到下一個請求。如果模型在下一個請求之前變更多次,Claude Code 僅傳遞最後切換目標模型的輸出。

2826 3575 

2827<h3 id="sessionend">3576<h3 id="sessionend">

2828 SessionEnd3577 SessionEnd

2829</h3>3578</h3>

2830 3579 

2831當 Claude Code 工作階段結束時執行。適用於清理任務、記錄工作階段統計資訊或儲存工作階段狀態。支援匹配器以按退出原因篩選。3580在 Claude Code 工作階段結束時執行。適用於清理任務、記錄工作階段統計資訊或儲存工作階段狀態。支援匹配器以按退出原因篩選。

2832 3581 

2833輸入中的 `reason` 欄位指示工作階段為何結束:3582`reason` 欄位在 hook 輸入中指示工作階段為什麼結束:

2834 3583 

2835| 原因 | 描述 |3584| 原因 | 描述 |

2836| :---------------------------- | :--------------------- |3585| :---------------------------- | :------------------------------------------------------- |

2837| `clear` | 使用 `/clear` 命令清除工作階段 |3586| `clear` | 使用 `/clear` 命令清除工作階段 |

2838| `resume` | 通過互動式 `/resume` 切換工作階段 |3587| `resume` | 透過互動式 `/resume` 切換工作階段 |

2839| `logout` | 使用者登出 |3588| `logout` | 使用者登出 |

2840| `prompt_input_exit` | 使用者在提示輸入可見時退出 |3589| `prompt_input_exit` | 使用者在提示輸入可見時退出 |

2841| `bypass_permissions_disabled` | 繞過權限模式被停用 |

2842| `other` | 其他退出原因 |3590| `other` | 其他退出原因 |

3591| `bypass_permissions_disabled` | 在 v2.1.234 中移除;Claude Code 不發送它。從您的 `SessionEnd` 匹配器中刪除它 |

2843 3592 

2844<h4 id="sessionend-input">3593<h4 id="sessionend-input">

2845 SessionEnd 輸入3594 SessionEnd 輸入

2846</h4>3595</h4>

2847 3596 

2848除了 [通用輸入欄位](#common-input-fields) 外,SessionEnd hooks 還接收指示工作階段為何結束的 `reason` 欄位。有關所有值,請參閱上面的原因表。3597除了 [常見輸入欄位](#common-input-fields) 外,SessionEnd hooks 還會接收指示工作階段為什麼結束的 `reason` 欄位。請參閱上面的 [原因表](#sessionend) 以了解所有值。

2849 3598 

2850```json theme={null}3599```json theme={null}

2851{3600{


2857}3606}

2858```3607```

2859 3608 

2860SessionEnd hooks 沒有決定控制。它們無法阻止工作階段終止,但可以執行清理任務。3609SessionEnd hooks 沒有決策控制。它們無法阻止工作階段終止,但可以執行清理任務。Claude Code 捨棄它們的 [JSON 輸出欄位](#json-output),例如 `systemMessage`。

3610 

3611SessionEnd hooks 的預設逾時為 1.5 秒。它在您退出、執行 `/clear` 或使用互動式 `/resume` 切換工作階段時適用。您可以透過兩種方式給予 hook 更多時間:

2861 3612 

2862SessionEnd hooks 的預設逾時為 1.5 秒。這適用於工作階段退出、`/clear` 和通過互動式 `/resume` 切換工作階段。如果 hook 需要更多時間,請在 hook 配置中設定每個 hook 的 `timeout`。整體預算會自動提高到設定檔中配置的最高每個 hook 逾時,最高 60 秒。在外掛程式提供的 hooks 上設定的逾時不會提高預算。要明確覆蓋預算,請在毫秒中設定 `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` 環境變數。3613* **每個 hook `timeout`**:在該 hook 的設定中設定 `timeout`。整體預算自動上升以符合您設定檔中最高每個 hook `timeout`,最多 60 秒。如果您以這種方式提高預算,沒有自己 `timeout` 的 hook 仍保持預設。在外掛提供的 hooks 上設定的逾時不提高預算。

3614* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**:以毫秒設定此環境變數以明確覆寫預算。您設定的值也成為每個沒有自己 `timeout` 的 hook 的逾時。

3615 

3616此範例將預算設定為 5 秒:

2863 3617 

2864```bash theme={null}3618```bash theme={null}

2865CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3619CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

2866```3620```

2867 3621 

3622在 v2.1.268 之前,`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` 僅提高整體預算,沒有自己 `timeout` 的 hook 仍在 1.5 秒後被取消。

3623 

2868<h3 id="elicitation">3624<h3 id="elicitation">

2869 Elicitation3625 Elicitation

2870</h3>3626</h3>

2871 3627 

2872當 MCP 伺服器在任務中途請求使用者輸入時執行。預設情況下,Claude Code 顯示互動式對話框供使用者回應。Hooks 可以攔截此請求並以程式方式回應,完全跳過對話框。3628在 MCP 伺服器在任務中期請求使用者輸入時執行。預設情況下,Claude Code 為使用者顯示互動式對話以回應。Hooks 可以攔截此請求並以程式設計方式回應,完全跳過對話。

2873 3629 

2874匹配器欄位與 MCP 伺服器名稱匹配。3630匹配器欄位根據 MCP 伺服器名稱匹配。

2875 3631 

2876<h4 id="elicitation-input">3632<h4 id="elicitation-input">

2877 Elicitation 輸入3633 Elicitation 輸入

2878</h4>3634</h4>

2879 3635 

2880除了 [通用輸入欄位](#common-input-fields) 外,Elicitation hooks 還接收 `mcp_server_name`、`message` 和可選的 `mode`、`url`、`elicitation_id` 和 `requested_schema` 欄位。3636除了 [常見輸入欄位](#common-input-fields) 外,Elicitation hooks 還會接收 `mcp_server_name`、`message` 和可選的 `mode`、`url`、`elicitation_id` 和 `requested_schema` 欄位。

2881 3637 

2882對於表單模式徵詢(最常見的情況):3638對於表單模式引出,最常見的情況:

2883 3639 

2884```json theme={null}3640```json theme={null}

2885{3641{

2886 "session_id": "abc123",3642 "session_id": "abc123",

2887 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3643 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2888 "cwd": "/Users/...",3644 "cwd": "/Users/...",

2889 "permission_mode": "default",

2890 "hook_event_name": "Elicitation",3645 "hook_event_name": "Elicitation",

2891 "mcp_server_name": "my-mcp-server",3646 "mcp_server_name": "my-mcp-server",

2892 "message": "Please provide your credentials",3647 "message": "Please provide your credentials",


2900}3655}

2901```3656```

2902 3657 

2903對於 URL 模式徵詢(基於瀏覽器的驗證):3658對於 URL 模式引出,用於基於瀏覽器的驗證:

2904 3659 

2905```json theme={null}3660```json theme={null}

2906{3661{

2907 "session_id": "abc123",3662 "session_id": "abc123",

2908 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3663 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2909 "cwd": "/Users/...",3664 "cwd": "/Users/...",

2910 "permission_mode": "default",

2911 "hook_event_name": "Elicitation",3665 "hook_event_name": "Elicitation",

2912 "mcp_server_name": "my-mcp-server",3666 "mcp_server_name": "my-mcp-server",

2913 "message": "Please authenticate",3667 "message": "Please authenticate",


2920 Elicitation 輸出3674 Elicitation 輸出

2921</h4>3675</h4>

2922 3676 

2923要以程式方式回應而不顯示對話框,請返回帶有 `hookSpecificOutput` 的 JSON 物件:3677若要以程式設計方式回應而不顯示對話,請返回具有 `hookSpecificOutput` 的 JSON 物件:

2924 3678 

2925```json theme={null}3679```json theme={null}

2926{3680{


2937| 欄位 | 值 | 描述 |3691| 欄位 | 值 | 描述 |

2938| :-------- | :-------------------------- | :----------------------------------- |3692| :-------- | :-------------------------- | :----------------------------------- |

2939| `action` | `accept`、`decline`、`cancel` | 是否接受、拒絕或取消請求 |3693| `action` | `accept`、`decline`、`cancel` | 是否接受、拒絕或取消請求 |

2940| `content` | 物件 | 要提交的表單欄位值。僅在 `action` 為 `accept` 時使用 |3694| `content` | object | 要提交的表單欄位值。僅在 `action` 為 `accept` 時使用 |

3695 

3696退出代碼 2 拒絕引出。Claude Code 不在任何地方顯示您的 stderr 訊息。

2941 3697 

2942退出代碼 2 拒絕徵詢並向使用者顯示 stderr。3698Claude Code 作用於 Elicitation hook 的 JSON 輸出中的 `hookSpecificOutput` 並捨棄 `systemMessage` 和 `continue`。

2943 3699 

2944<h3 id="elicitationresult">3700<h3 id="elicitationresult">

2945 ElicitationResult3701 ElicitationResult

2946</h3>3702</h3>

2947 3703 

2948在使用者回應 MCP 徵詢後執行。Hooks 可以觀察、修改或阻止回應,然後將其發送回 MCP 伺服器。3704在使用者回應 MCP 引出後執行。Hooks 可以觀察、修改或阻止回應,然後將其發送回 MCP 伺服器。

2949 3705 

2950匹配器欄位與 MCP 伺服器名稱匹配。3706匹配器欄位根據 MCP 伺服器名稱匹配。

2951 3707 

2952<h4 id="elicitationresult-input">3708<h4 id="elicitationresult-input">

2953 ElicitationResult 輸入3709 ElicitationResult 輸入

2954</h4>3710</h4>

2955 3711 

2956除了 [通用輸入欄位](#common-input-fields) 外,ElicitationResult hooks 還接收 `mcp_server_name`、`action` 和可選的 `mode`、`elicitation_id` 和 `content` 欄位。3712除了 [常見輸入欄位](#common-input-fields) 外,ElicitationResult hooks 還會接收 `mcp_server_name`、`action` 和可選的 `mode`、`elicitation_id` 和 `content` 欄位。

2957 3713 

2958```json theme={null}3714```json theme={null}

2959{3715{

2960 "session_id": "abc123",3716 "session_id": "abc123",

2961 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3717 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

2962 "cwd": "/Users/...",3718 "cwd": "/Users/...",

2963 "permission_mode": "default",

2964 "hook_event_name": "ElicitationResult",3719 "hook_event_name": "ElicitationResult",

2965 "mcp_server_name": "my-mcp-server",3720 "mcp_server_name": "my-mcp-server",

2966 "action": "accept",3721 "action": "accept",


2974 ElicitationResult 輸出3729 ElicitationResult 輸出

2975</h4>3730</h4>

2976 3731 

2977要覆蓋使用者的回應,請返回帶有 `hookSpecificOutput` 的 JSON 物件:3732若要覆寫使用者的回應,請返回具有 `hookSpecificOutput` 的 JSON 物件:

2978 3733 

2979```json theme={null}3734```json theme={null}

2980{3735{


2988 3743 

2989| 欄位 | 值 | 描述 |3744| 欄位 | 值 | 描述 |

2990| :-------- | :-------------------------- | :---------------------------------- |3745| :-------- | :-------------------------- | :---------------------------------- |

2991| `action` | `accept`、`decline`、`cancel` | 覆蓋使用者的操作 |3746| `action` | `accept`、`decline`、`cancel` | 覆寫使用者的動作 |

2992| `content` | 物件 | 覆蓋表單欄位值。僅在 `action` 為 `accept` 時有意義 |3747| `content` | object | 覆寫表單欄位值。僅在 `action` 為 `accept` 時有意義 |

3748 

3749退出代碼 2 阻止回應,將有效動作變更為 `decline`。Claude Code 不在任何地方顯示您的 stderr 訊息。

2993 3750 

2994退出代碼 2 阻止回應,將有效操作變更為 `decline`。3751Claude Code 作用於 ElicitationResult hook 的 JSON 輸出中的 `hookSpecificOutput` 並捨棄 `systemMessage` 和 `continue`。

2995 3752 

2996<h2 id="prompt-based-hooks">3753<h2 id="prompt-based-hooks">

2997 基於提示的 hooks3754 基於提示的 hooks


3019 3776 

3020* `ConfigChange`3777* `ConfigChange`

3021* `CwdChanged`3778* `CwdChanged`

3779* `DirectoryAdded`

3022* `Elicitation`3780* `Elicitation`

3023* `ElicitationResult`3781* `ElicitationResult`

3024* `FileChanged`3782* `FileChanged`

3025* `InstructionsLoaded`3783* `InstructionsLoaded`

3784* `MessageDisplay`

3026* `Notification`3785* `Notification`

3027* `PostCompact`3786* `PostCompact`

3787* `PostModelSwitch`

3028* `PreCompact`3788* `PreCompact`

3789* `PreModelSwitch`

3029* `SessionEnd`3790* `SessionEnd`

3030* `StopFailure`3791* `StopFailure`

3031* `SubagentStart`3792* `SubagentStart`

3032* `WorktreeCreate`3793* `WorktreeCreate`

3033* `WorktreeRemove`3794* `WorktreeRemove`

3034 3795 

3035`SessionStart` 和 `Setup` 支援 `command` 和 `mcp_tool` hooks。它們不支援 `http`、`prompt` 或 `agent` hooks。3796`SessionStart` 和 `Setup` 支援 `command` 和 `mcp_tool` hooks,而 [MCP tool hook 欄位](#mcp-tool-hook-fields)描述了它們的 `mcp_tool` hooks 何時執行。它們不支援 `http`、`prompt` 或 `agent` hooks。

3036 3797 

3037<h3 id="how-prompt-based-hooks-work">3798<h3 id="how-prompt-based-hooks-work">

3038 基於提示的 hooks 如何工作3799 基於提示的 hooks 如何工作


3048 提示 hook 配置3809 提示 hook 配置

3049</h3>3810</h3>

3050 3811 

3051將 `type` 設定為 `"prompt"` 並提供 `prompt` 字串而不是 `command`。使用 `$ARGUMENTS` 佔位符將 hook 的 JSON 輸入資料注入到您的提示文字中。Claude Code 將組合的提示和輸入發送到快速 Claude 模型,該模型返回 JSON 決定。3812將 `type` 設定為 `"prompt"` 並提供 `prompt` 字串而不是 `command`。使用 `$ARGUMENTS` 佔位符將 hook 的 JSON 輸入資料注入到您的提示文字中。

3052 3813 

3053此 `Stop` hook 詢問 LLM 在允許 Claude 完成之前是否應該停止:3814此 `Stop` hook 詢問 LLM 在允許 Claude 完成之前是否應該停止:

3054 3815 


3070```3831```

3071 3832 

3072| 欄位 | 必需 | 描述 |3833| 欄位 | 必需 | 描述 |

3073| :---------------- | :- | :------------------------------------------------------------------------------------------------------------------------------------------- |3834| :---------------- | :- | :----------------------------------------------------------------------------------------------------- |

3074| `type` | 是 | 必須為 `"prompt"` |3835| `type` | 是 | 必須為 `"prompt"` |

3075| `prompt` | 是 | 要發送到 LLM 的提示文字。使用 `$ARGUMENTS` 作為 hook 輸入 JSON 的佔位符。如果 `$ARGUMENTS` 不存在,輸入 JSON 會附加到提示 |3836| `prompt` | 是 | 要發送到 LLM 的提示文字。使用 `$ARGUMENTS` 作為 hook 輸入 JSON 的佔位符。如果 `$ARGUMENTS` 不存在,輸入 JSON 會附加到提示 |

3076| `model` | 否 | 用於評估的模型。預設為快速模型 |3837| `model` | 否 | 用於評估的模型。預設為快速模型 |

3077| `timeout` | 否 | 逾時(秒)。預設值:30 |3838| `timeout` | 否 | 逾時(秒)。預設值:30 |

3078| `continueOnBlock` | 否 | 當提示返回 `ok: false` 時,將原因反饋給 Claude 並繼續轉換而不是停止。預設值:`false`。在結果 `decision: "block"` 上實現為 `continue: true`。請參閱[回應架構](#response-schema)以了解每個事件的行為 |3839| `continueOnBlock` | 否 | 在適用的事件上,`true` 將 `ok: false` 原因反饋給 Claude 並繼續而不是結束轉換。預設值:`false`。請參閱[回應架構](#response-schema)以了解每個事件的行為 |

3079 3840 

3080<h3 id="response-schema">3841<h3 id="response-schema">

3081 回應架構3842 回應架構


3086```json theme={null}3847```json theme={null}

3087{3848{

3088 "ok": true | false,3849 "ok": true | false,

3089 "reason": "Explanation for the decision"3850 "reason": "Explanation for the decision",

3851 "impossible": true | false

3090}3852}

3091```3853```

3092 3854 

3093| 欄位 | 描述 |3855| 欄位 | 描述 |

3094| :------- | :------------------------------------------------------ |3856| :----------- | :-------------------------------------------------------------------------------------------------------------- |

3095| `ok` | `true` 允許操作。`false` 產生 `decision: "block"`。請參閱下面的每個事件行為 |3857| `ok` | `true` 允許操作。`false` 時,請參閱下面的每個事件行為 |

3096| `reason` | 當 `ok` 為 `false` 時必需。用作阻止原因 |3858| `reason` | 當 `ok` 為 `false` 時必需 |

3859| `impossible` | 選用。當模型判斷條件永遠無法滿足時,模型會以 `ok: false` 返回它。在 `Stop` 和 `SubagentStop` 上,Claude Code 會讓轉換結束而不是反饋原因。代理 hooks 和其他事件會忽略它 |

3097 3860 

3098`ok: false` 時發生的情況取決於事件:3861`ok: false` 時發生的情況取決於事件:

3099 3862 

3100* `Stop` 和 `SubagentStop`:原因被反饋給 Claude 作為其下一個指令,轉換繼續3863* `Stop` 和 `SubagentStop`:原因被反饋給 Claude 作為其下一個指令,轉換繼續,除非回應也設定 `impossible: true`,在這種情況下 Claude Code 允許停止,轉換結束

3101* `PreToolUse`:工具呼叫被拒絕,原因作為工具錯誤返回給 Claude,相當於命令 hook 的 `permissionDecision: "deny"`3864* `PreToolUse`:工具呼叫被拒絕;預設情況下轉換結束,拒絕原因在聊天中顯示為警告行。設定 `continueOnBlock: true` 以改為將原因作為工具錯誤返回給 Claude,使其可以調整並繼續,相當於命令 hook 的 `permissionDecision: "deny"`。在 v2.1.210 之前,拒絕原因被作為工具錯誤返回給 Claude,轉換繼續

3102* `PostToolUse`:預設情況下轉換結束,原因在聊天中顯示為警告行。設定 `continueOnBlock: true` 以將原因反饋給 Claude 並繼續轉換3865* `PostToolUse`:預設情況下轉換結束,原因在聊天中顯示為警告行。設定 `continueOnBlock: true` 以將原因反饋給 Claude 並繼續轉換

3103* `PostToolBatch`、`UserPromptSubmit` 和 `UserPromptExpansion`:轉換結束,原因顯示為警告行。這些事件在 `decision: "block"` 上結束轉換,無論 `continue` 如何3866* `PostToolBatch`、`UserPromptSubmit` 和 `UserPromptExpansion`:轉換結束,原因顯示為警告行。這些事件在 `decision: "block"` 上結束轉換,無論 `continue` 如何

3104* `PostToolUseFailure`、`TaskCreated` 和 `TaskCompleted`:原因作為工具錯誤返回給 Claude,類似於 `PreToolUse`3867* `PostToolUseFailure` 和 `TaskCreated`:原因作為工具錯誤返回給 Claude,轉換繼續,無論 `continueOnBlock` 如何

3868* `TaskCompleted`:當它因為任務在轉換期間被標記為完成而觸發時,原因作為工具錯誤返回給 Claude,轉換繼續,無論 `continueOnBlock` 如何。當它因為隊友停止而觸發時,它的行為類似 `TeammateIdle` 並預設停止隊友

3105* `TeammateIdle`:預設情況下隊友停止,原因顯示為警告行。設定 `continueOnBlock: true` 以將原因反饋給隊友並保持其工作狀態3869* `TeammateIdle`:預設情況下隊友停止,原因顯示為警告行。設定 `continueOnBlock: true` 以將原因反饋給隊友並保持其工作狀態

3106* `PermissionRequest`:`ok: false` 沒有效果。要從 hook 拒絕批准,請使用[命令 hook](#command-hook-fields)返回 `hookSpecificOutput.decision.behavior: "deny"`3870* `PermissionRequest`:`ok: false` 沒有效果。要從 hook 拒絕批准,請使用[命令 hook](#command-hook-fields)返回 `hookSpecificOutput.decision.behavior: "deny"`

3107* `PermissionDenied`:`ok: false` 沒有效果,因為拒絕已經發生。此事件讀取的唯一輸出是 `hookSpecificOutput.retry`,提示和代理 hooks 無法設定。它們在此事件上執行,但其輸出被丟棄。使用[命令 hook](#command-hook-fields)返回 `retry`3871* `PermissionDenied`:`ok: false` 沒有效果,因為拒絕已經發生。此事件讀取的唯一輸出是 `hookSpecificOutput.retry`,提示和代理 hooks 無法設定。它們在此事件上執行,但其輸出被丟棄。使用[命令 hook](#command-hook-fields)返回 `retry`


3112 在停止前檢查多個條件3876 在停止前檢查多個條件

3113</h3>3877</h3>

3114 3878 

3115此 `Stop` hook 使用詳細提示在允許 Claude 停止之前檢查三個條件。`SubagentStop` hooks 使用相同的格式來評估 [subagent](/docs/zh-TW/sub-agents) 是否應該停止。如果 `"ok"` 為 `false`,Claude 繼續工作,提供的原因作為其下一個指令:3879此 `Stop` hook 使用詳細提示在允許 Claude 停止之前檢查三個條件。`SubagentStop` hooks 使用相同的格式來評估 [subagent](/docs/zh-TW/sub-agents) 是否應該停止。如果模型因為條件尚未滿足而返回 `"ok": false`,Claude 繼續工作,提供的原因作為其下一個指令:

3116 3880 

3117```json theme={null}3881```json theme={null}

3118{3882{


31511. Claude Code 生成一個 subagent,使用您的提示和 hook 的 JSON 輸入39151. Claude Code 生成一個 subagent,使用您的提示和 hook 的 JSON 輸入

31522. Subagent 可以使用 Read、Grep 和 Glob 等工具進行調查39162. Subagent 可以使用 Read、Grep 和 Glob 等工具進行調查

31533. 在最多 50 輪後,subagent 返回結構化的 `{ "ok": true/false }` 決定39173. 在最多 50 輪後,subagent 返回結構化的 `{ "ok": true/false }` 決定

31544. Claude Code 以與提示 hook 相同的方式處理決定39184. Claude Code 允許該動作(如果 `ok` 是 `true`)。如果 `ok` 是 `false`,Claude Code 會以與提示 hook 相同的方式處理阻止,該提示 hook 在該事件上具有 `continueOnBlock: true`,如[回應架構](#response-schema)下所列

3155 3919 

3156代理 hooks 在驗證需要檢查實際檔案或測試輸出時很有用,而不僅僅是評估 hook 輸入資料。3920代理 hooks 在驗證需要檢查實際檔案或測試輸出時很有用,而不僅僅是評估 hook 輸入資料。

3157 3921 


3159 代理 hook 配置3923 代理 hook 配置

3160</h3>3924</h3>

3161 3925 

3162將 `type` 設定為 `"agent"` 並提供 `prompt` 字串。配置欄位與[提示 hooks](#prompt-hook-configuration) 相同,但逾時更長:3926將 `type` 設定為 `"agent"` 並提供 `prompt` 字串,使用 `$ARGUMENTS` 作為 hook 輸入 JSON 的佔位符。配置欄位與[提示 hooks](#prompt-hook-configuration) 相同,除了代理 hooks 具有更長的預設逾時 60 秒,且沒有 `continueOnBlock` 欄位。

3163 

3164| 欄位 | 必需 | 描述 |

3165| :-------- | :- | :----------------------------------------------- |

3166| `type` | 是 | 必須為 `"agent"` |

3167| `prompt` | 是 | 描述要驗證的內容的提示。使用 `$ARGUMENTS` 作為 hook 輸入 JSON 的佔位符 |

3168| `model` | 否 | 要使用的模型。預設為快速模型 |

3169| `timeout` | 否 | 逾時(秒)。預設值:60 |

3170 3927 

3171回應架構與提示 hooks 相同:`{ "ok": true }` 允許或 `{ "ok": false, "reason": "..." }` 阻止。3928回應架構是 `{ "ok": true }` 允許或 `{ "ok": false, "reason": "..." }` 阻止。在 `ok: false` 時,Claude Code 會以處理[提示 hook 且具有 `continueOnBlock: true`](#response-schema) 的相同方式處理代理 hook;代理 hooks 沒有 `continueOnBlock` 欄位,且不支援提示 hook 的 `impossible` 欄位。

3172 3929 

3173此 `Stop` hook 驗證所有單元測試通過,然後允許 Claude 完成:3930此 `Stop` hook 驗證所有單元測試通過,然後允許 Claude 完成:

3174 3931 


3202 3959 

3203將 `"async": true` 新增到命令 hook 的配置以在背景執行它而不阻止 Claude。此欄位僅在 `type: "command"` hooks 上可用。3960將 `"async": true` 新增到命令 hook 的配置以在背景執行它而不阻止 Claude。此欄位僅在 `type: "command"` hooks 上可用。

3204 3961 

3205此 hook 在每個 `Write` 工具呼叫後執行測試指令碼。Claude 立即繼續工作,同時 `run-tests.sh` 執行最多 120 秒。當指令碼完成時,其輸出在下一個對話輪次上傳遞:3962此 hook 在每個 `Write` 工具呼叫後執行測試指令碼。Claude 立即繼續工作,同時 `run-tests.sh` 執行。當指令碼完成時,其輸出在下一個對話輪次上傳遞:

3206 3963 

3207```json theme={null}3964```json theme={null}

3208{3965{


3214 {3971 {

3215 "type": "command",3972 "type": "command",

3216 "command": "/path/to/run-tests.sh",3973 "command": "/path/to/run-tests.sh",

3217 "async": true,3974 "async": true

3218 "timeout": 120

3219 }3975 }

3220 ]3976 ]

3221 }3977 }


3224}3980}

3225```3981```

3226 3982 

3227`timeout` 欄位設定背景程序的最大時間(秒)。如果未指定,非同步 hooks 使用與同步 hooks 相同的 10 分鐘預設值。3983一旦非同步 hook 在背景執行,Claude Code 不會對其強制執行 `timeout`。Claude Code 仍然會對使用 `asyncRewake` 執行的 hook 強制執行 `timeout`。

3984 

3985Claude Code 只在工作階段執行時傳遞非同步 hook 的結果:

3986 

3987* 在[非互動模式](/docs/zh-TW/headless)中使用 `-p` 旗標,Claude Code 會在清理時終止任何仍在執行的非同步 hook,並以 `cancelled` 結果完成它

3988* 如果你的 hook 工作必須超越 `claude -p` 工作階段,請從它啟動一個完全分離的程序

3228 3989 

3229<h3 id="how-async-hooks-execute">3990<h3 id="how-async-hooks-execute">

3230 非同步 hooks 如何執行3991 非同步 hooks 如何執行


3232 3993 

3233當非同步 hook 觸發時,Claude Code 啟動 hook 程序並立即繼續,而不等待它完成。Hook 在 stdin 上接收與同步 hook 相同的 JSON 輸入。3994當非同步 hook 觸發時,Claude Code 啟動 hook 程序並立即繼續,而不等待它完成。Hook 在 stdin 上接收與同步 hook 相同的 JSON 輸入。

3234 3995 

3235背景程序退出後,如果 hook 產生了帶有 `additionalContext` 欄位的 JSON 回應,該內容會在下一個對話輪次上作為上下文傳遞給 Claude。`systemMessage` 欄位會顯示給你,而不是 Claude。3996背景程序退出後,Claude Code 會在下一個對話輪次將 hook 的 JSON 回應中的 `additionalContext` 和 `systemMessage` 欄位傳遞給 Claude。與同步 hook 的 `systemMessage` 不同,這兩個欄位都不會顯示給你。

3236 3997 

3237Claude Code 驗證該 JSON 回應是否符合與同步 hooks 相同的[輸出結構](#json-output),並捨棄任何值類型錯誤的欄位,例如不是字串的 `systemMessage`,而不是傳遞它。使用 `--debug` 執行以查看命名每個捨棄欄位的警告。在 v2.1.202 之前,來自非同步 hook 的格式不正確的 JSON 輸出可能會導致工作階段崩潰,每次恢復工作階段時都會重複發生崩潰。3998Claude Code 驗證該 JSON 回應是否符合與同步 hooks 相同的[輸出結構](#json-output),並捨棄任何值類型錯誤的欄位,例如不是字串的 `systemMessage`,而不是傳遞它。使用 `--debug` 執行以查看命名每個捨棄欄位的警告。在 v2.1.202 之前,來自非同步 hook 的格式不正確的 JSON 輸出可能會導致工作階段崩潰,每次恢復工作階段時都會重複發生崩潰。

3238 3999 


3269jq -nc --arg msg "$MSG" '{hookSpecificOutput: {hookEventName: "PostToolUse", additionalContext: $msg}}'4030jq -nc --arg msg "$MSG" '{hookSpecificOutput: {hookEventName: "PostToolUse", additionalContext: $msg}}'

3270```4031```

3271 4032 

3272然後將此配置新增到專案根目錄中的 `.claude/settings.json`。`async: true` 標誌讓 Claude 在測試執行時繼續工作:4033然後將此配置新增到專案根目錄中的 `.claude/settings.json`。`async: true` 旗標讓 Claude 在測試執行時繼續工作:

3273 4034 

3274```json theme={null}4035```json theme={null}

3275{4036{


3282 "type": "command",4043 "type": "command",

3283 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",4044 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/run-tests-async.sh",

3284 "args": [],4045 "args": [],

3285 "async": true,4046 "async": true

3286 "timeout": 300

3287 }4047 }

3288 ]4048 ]

3289 }4049 }


3296 限制4056 限制

3297</h3>4057</h3>

3298 4058 

3299非同步 hooks 與同步 hooks 相比有幾個限制:4059非同步 hooks 與同步 hooks 相比有額外的限制:

3300 4060 

3301* 僅 `type: "command"` hooks 支援 `async`。基於提示的 hooks 無法非同步執行。4061* Hook 輸出在下一個對話輪次上傳遞。如果工作階段閒置,回應會等待直到下一個使用者互動。例外:退出代碼為 2 的 `asyncRewake` hook 即使在工作階段閒置時也會立即喚醒 Claude。

3302* 非同步 hooks 無法阻止工具呼叫或返回決定。到 hook 完成時,觸發操作已經進行。

3303* Hook 輸出在下一個對話輪次上傳遞。如果工作階段閒置,回應會等待直到下一個使用者互動。例外:`asyncRewake` hook 在退出代碼 2 時喚醒 Claude,即使工作階段閒置。

3304* 每次執行都會建立一個單獨的背景程序。同一非同步 hook 的多次觸發之間沒有去重。4062* 每次執行都會建立一個單獨的背景程序。同一非同步 hook 的多次觸發之間沒有去重。

3305 4063 

3306<h2 id="security-considerations">4064<h2 id="security-considerations">


3311 免責聲明4069 免責聲明

3312</h3>4070</h3>

3313 4071 

3314命令 hooks 以您的系統使用者的完整權限執行。

3315 

3316<Warning>4072<Warning>

3317 命令 hooks 以您的完整使用者權限執行 shell 命令。它們可以修改、刪除或存取您的使用者帳戶可以存取的任何檔案。在將任何 hook 命令新增到您的配置之前,請審查並測試它們。4073 命令 hooks 以您的完整使用者權限執行 shell 命令。它們可以修改、刪除或存取您的使用者帳戶可以存取的任何檔案。在將任何 hook 命令新增到您的設定之前,請審查並測試它們。

3318</Warning>4074</Warning>

3319 4075 

4076<h3 id="workspace-trust">

4077 工作區信任

4078</h3>

4079 

4080Claude Code 在執行任何來自設定檔的 hook 之前會檢查工作區信任。什麼算作受信任取決於工作階段類型:

4081 

4082* **互動式工作階段**:Claude Code 會保留來自每個設定檔的 hooks,包括您自己的 `~/.claude/settings.json`,直到您接受該資料夾的[工作區信任對話框](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust),或接受其信任延伸到該資料夾的父目錄

4083* **`-p` 或 SDK 工作階段**:Claude Code 不會顯示對話框,並將該資料夾視為受信任,因此儲存庫 `.claude/settings.json` 中提交的 hooks 會在您從未信任過的資料夾中執行

4084 

4085在您對儲存庫執行 `claude -p` 之前,如果您沒有編寫該儲存庫,請審查其 `.claude/` 設定檔,使用 [`--bare`](/docs/zh-TW/headless#start-faster-with-bare-mode) 開始,或[為該執行關閉 hooks](#disable-or-remove-hooks),使用 `--settings '{"disableAllHooks": true}'`。專案子代理中的 Frontmatter hooks 遵循比設定檔 hooks 更嚴格的規則。[在您信任資料夾之前執行的內容](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)按工作階段類型列出每種儲存庫內容。

4086 

3320<h3 id="security-best-practices">4087<h3 id="security-best-practices">

3321 安全最佳實踐4088 安全最佳實踐

3322</h3>4089</h3>


3333 Windows PowerShell 工具4100 Windows PowerShell 工具

3334</h2>4101</h2>

3335 4102 

3336在 Windows 上,您可以通過在命令 hook 上設定 `"shell": "powershell"` 在 PowerShell 中執行個別 hooks。Hooks 直接生成 PowerShell,因此無論是否設定 `CLAUDE_CODE_USE_POWERSHELL_TOOL` 都有效。Claude Code 自動偵測 `pwsh.exe`(PowerShell 7 及更新版本的可執行檔),並回退到 `powershell.exe`(Windows PowerShell 5.1)。4103在 Windows 上,您可以通過在命令 hook 上設定 `"shell": "powershell"` 在 PowerShell 中執行個別 hooks。Claude Code 自動偵測 `pwsh.exe`(PowerShell 7 及更新版本的可執行檔),並回退到 `powershell.exe`(Windows PowerShell 5.1)。

3337 4104 

3338```json theme={null}4105```json theme={null}

3339{4106{


3374 偵錯 hooks4141 偵錯 hooks

3375</h2>4142</h2>

3376 4143 

3377Hook 執行詳細資訊,包括哪些 hooks 匹配、它們的退出代碼和完整 stdout 和 stderr,被寫入詳細日誌檔案。使用 `claude --debug-file <path>` 啟動 Claude Code 以將日誌寫入已知位置,或執行 `claude --debug` 並在 `~/.claude/debug/<session-id>.txt` 讀取日誌。`--debug` 標誌不列印到終端。4144Hook 執行詳細資訊被寫入偵錯日誌檔案。使用 `claude --debug-file <path>` 啟動 Claude Code 以將日誌寫入已知位置,或執行 `claude --debug` 並在 `~/.claude/debug/<session-id>.txt` 讀取日誌。`--debug` 標誌不列印到終端。

4145 

4146例如,在 `Write` 上的 `PostToolUse` hook,其命令列印 `hook-ran` 會產生如下項目:

3378 4147 

3379```text theme={null}4148```text theme={null}

3380[DEBUG] Executing hooks for PostToolUse:Write41492026-07-19T02:03:24.382Z [DEBUG] Hook output does not start with {, treating as plain text

3381[DEBUG] Found 1 hook commands to execute41502026-07-19T02:03:24.382Z [DEBUG] "Hook PostToolUse:Write (PostToolUse) success:\nhook-ran"

3382[DEBUG] Executing hook command: <Your command> with timeout 600000ms

3383[DEBUG] Hook command completed with status 0: <Your stdout>

3384```4151```

3385 4152 

3386有關更細粒度的 hook 匹配詳細資訊,設定 `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` 以查看額外的日誌行,例如 hook 匹配器計數和查詢匹配。4153有關更細粒度的 hook 匹配詳細資訊,設定 `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` 以查看額外的日誌行,例如 hook 匹配器計數和查詢匹配。

3387 4154 

3388有關故障排除常見問題,如 hooks 不觸發、Stop hooks 持續阻擋或配置錯誤,請參閱指南中的 [限制和故障排除](/docs/zh-TW/hooks-guide#limitations-and-troubleshooting)。有關涵蓋 `/context`、`/doctor` 和設定優先順序的更廣泛診斷逐步解說,請參閱 [偵錯您的配置](/docs/zh-TW/debug-your-config)。4155有關故障排除常見問題,如 hooks 不觸發、Stop hooks 持續阻擋或配置錯誤,請參閱指南中的 [限制和故障排除](/docs/zh-TW/hooks-guide#limitations-and-troubleshooting)。有關涵蓋 `/context`、`/doctor` 和設定優先順序的更廣泛診斷逐步解說,請參閱 [偵錯您的設定](/docs/zh-TW/debug-your-config)。

Details

76* **您的專案。** 您目錄和子目錄中的檔案,以及其他地方經您許可的檔案。76* **您的專案。** 您目錄和子目錄中的檔案,以及其他地方經您許可的檔案。

77* **您的終端機。** 您可以執行的任何命令:建置工具、git、套件管理器、系統公用程式、指令碼。如果您可以從命令列執行,Claude 也可以。77* **您的終端機。** 您可以執行的任何命令:建置工具、git、套件管理器、系統公用程式、指令碼。如果您可以從命令列執行,Claude 也可以。

78* **您的 git 狀態。** 目前分支、未提交的變更和最近的提交歷史。78* **您的 git 狀態。** 目前分支、未提交的變更和最近的提交歷史。

79* **您的 [CLAUDE.md](/docs/zh-TW/memory)。** 一個 markdown 檔案,您可以在其中儲存專案特定的指示、慣例和 Claude 應該在每個會話中知道的上下文。79* **您的 [CLAUDE.md](/docs/zh-TW/memory)。** 一個 markdown 檔案,您可以在其中儲存專案特定的指示、慣例和 Claude 應該在每個會話中知道的上下文。如果您的儲存庫有用於其他編碼代理的 AGENTS.md,Claude [可以自行讀取](/docs/zh-TW/memory#agents-md)或與 CLAUDE.md 一起讀取。

80* **[自動記憶](/docs/zh-TW/memory#auto-memory)。** Claude 在您工作時自動儲存的學習內容,例如您的偏好。MEMORY.md 的前 200 行或 25KB(以先到者為準)在每個會話開始時載入。80* **[自動記憶](/docs/zh-TW/memory#auto-memory)。** Claude 在您工作時自動儲存的學習內容,例如您的偏好。MEMORY.md 的前 200 行或 25KB(以先到者為準)在每個會話開始時載入。

81* **您設定的擴展。** 用於外部服務的 [MCP servers](/docs/zh-TW/mcp)、用於工作流程的 [skills](/docs/zh-TW/skills)、用於委派工作的 [subagents](/docs/zh-TW/sub-agents),以及用於瀏覽器互動的 [Claude in Chrome](/docs/zh-TW/chrome)。81* **您設定的擴展。** 用於外部服務的 [MCP servers](/docs/zh-TW/mcp)、用於工作流程的 [skills](/docs/zh-TW/skills)、用於委派工作的 [subagents](/docs/zh-TW/sub-agents),以及用於瀏覽器互動的 [Claude in Chrome](/docs/zh-TW/chrome)。

82 82 


86 環境和介面86 環境和介面

87</h2>87</h2>

88 88 

89代理迴圈、工具和上述功能在您使用 Claude Code 的任何地方都是相同的。改變的是程式碼執行的位置以及您與它互動的方式。89[代理迴圈](#the-agentic-loop)、[工具](#tools)和功能在您使用 Claude Code 的任何地方都是相同的。改變的是程式碼執行的位置以及您與它互動的方式。

90 90 

91<h3 id="execution-environments">91<h3 id="execution-environments">

92 執行環境92 執行環境

Details

615 615 

616* **跳至檔案**:按一下列表中的其列。使用滑鼠滾輪捲動面板。當檔案列表本身太長而無法容納時,使用 `Alt+Up` 和 `Alt+Down` 或 `Ctrl+Up` 和 `Ctrl+Down` 捲動它。616* **跳至檔案**:按一下列表中的其列。使用滑鼠滾輪捲動面板。當檔案列表本身太長而無法容納時,使用 `Alt+Up` 和 `Alt+Down` 或 `Ctrl+Up` 和 `Ctrl+Down` 捲動它。

617* **詢問 Claude 有關特定行的問題**:在面板中使用滑鼠選取它們。Claude Code 會將選取項目附加到您的下一個提示,並在您傳送提示之前在輸入旁邊顯示行數。617* **詢問 Claude 有關特定行的問題**:在面板中使用滑鼠選取它們。Claude Code 會將選取項目附加到您的下一個提示,並在您傳送提示之前在輸入旁邊顯示行數。

618 * 若要在不包含選取項目的情況下傳送提示,請將游標移至行數指示器之後,然後按 `Backspace` 將其刪除。需要 Claude Code v2.1.271 或更新版本。

618* **顯示面板遺漏的檔案**:列表會跳過測試檔案和產生的檔案,並將此工作階段之前的變更摺疊為底部的一行。按一下任一計數行以展開它。619* **顯示面板遺漏的檔案**:列表會跳過測試檔案和產生的檔案,並將此工作階段之前的變更摺疊為底部的一行。按一下任一計數行以展開它。

619* **變更面板比較的對象**:按 `Ctrl+X B` 以在此工作階段的變更、您的未提交變更作為一個列表,以及自您的分支從預設分支分割以來的所有內容之間循環。Claude Code 會記住每個專案的選擇。620* **變更面板比較的對象**:按 `Ctrl+X B` 以在此工作階段的變更、您的未提交變更作為一個列表,以及自您的分支從預設分支分割以來的所有內容之間循環。Claude Code 會記住每個專案的選擇。

620 621 


650在 [VS Code 擴充功能](/docs/zh-TW/vs-code#use-the-prompt-box)的聊天面板中,`/btw` 會開啟一個面板,而不是本節所述的覆蓋層,您可以直接在面板中提出後續問題。該面板的執行緒在視窗重新載入後仍會保留,遵循該頁面所述的保留排程。您需要 v2.1.227 或更新版本的擴充功能。較早的擴充功能版本不提供 `/btw`。651在 [VS Code 擴充功能](/docs/zh-TW/vs-code#use-the-prompt-box)的聊天面板中,`/btw` 會開啟一個面板,而不是本節所述的覆蓋層,您可以直接在面板中提出後續問題。該面板的執行緒在視窗重新載入後仍會保留,遵循該頁面所述的保留排程。您需要 v2.1.227 或更新版本的擴充功能。較早的擴充功能版本不提供 `/btw`。

651 652 

652* **Claude 工作時可用**:即使 Claude 正在處理回應時,您也可以執行 `/btw`。附帶問題會獨立執行,不會中斷主要回合。它會看到目前為止對話中的所有內容,除了 Claude 仍在撰寫的回覆。653* **Claude 工作時可用**:即使 Claude 正在處理回應時,您也可以執行 `/btw`。附帶問題會獨立執行,不會中斷主要回合。它會看到目前為止對話中的所有內容,除了 Claude 仍在撰寫的回覆。

653* **無工具存取**:附帶問題只能根據已在內容中的內容來回答。Claude 在回答附帶問題時無法讀取檔案、執行命令或搜尋。654* **無工具存取**:附帶問題只能根據已在內容中的內容來回答。Claude 在回答附帶問題時無法讀取檔案、執行命令或搜尋。如果 Claude 無論如何都將工具呼叫寫成文字,答案會以一個說明沒有任何內容被執行的備註結尾。

654* **單一回應**:覆蓋層中沒有後續回合。若要繼續執行緒,請提出另一個 `/btw` 問題。若要在本機工作階段中繼續使用完整工具存取,請按 `f` 將此問題和答案分支到[背景子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation)。655* **單一回應**:覆蓋層中沒有後續回合。若要繼續執行緒,請提出另一個 `/btw` 問題。若要在本機工作階段中繼續使用完整工具存取,請按 `f` 將此問題和答案分支到[背景子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation)。

655* **低成本**:當對話的[提示快取](/docs/zh-TW/prompt-caching)處於熱狀態時,附帶問題的成本只是答案本身之外的少量成本。656* **低成本**:當對話的[提示快取](/docs/zh-TW/prompt-caching)處於熱狀態時,附帶問題的成本只是答案本身之外的少量成本。

656 657 

jetbrains.md +1 −1

Details

231 安全考量231 安全考量

232</h2>232</h2>

233 233 

234當 Claude Code 在啟用 [`acceptEdits` 權限模式](/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)的 JetBrains IDE 中執行時,它可能能夠修改可由您的 IDE 自動執行的 IDE 設定檔。這可能會增加在 `acceptEdits` 模式下執行 Claude Code 的風險,並允許繞過 Claude Code 對 bash 執行的權限提示。234當 Claude Code 在啟用 [`acceptEdits` 權限模式](/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)的 JetBrains IDE 中執行時,它可能能夠修改可由您的 IDE 自動執行的 IDE 設定檔。這可能會增加在 `acceptEdits` 模式下執行 Claude Code 的風險,並允許繞過 Claude Code 對 Bash 執行的權限提示。

235 235 

236在 JetBrains IDEs 中執行時,請考慮:236在 JetBrains IDEs 中執行時,請考慮:

237 237 

llm-gateway.md +1 −1

Details

28* **審計日誌**:記錄每個模型請求以進行合規性檢查28* **審計日誌**:記錄每個模型請求以進行合規性檢查

29* **提供商切換**:在 gateway 配置中更改提供商,無需觸及開發人員機器29* **提供商切換**:在 gateway 配置中更改提供商,無需觸及開發人員機器

30 30 

31除了提供商切換外,所有這些都適用於上游是 Anthropic API 還是[雲提供商](/docs/zh-TW/third-party-integrations)。提供商切換而無需重新配置開發人員機器也取決於 gateway 公開單一 [Anthropic 格式端點](/docs/zh-TW/llm-gateway-protocol#api-formats),無論上游如何;公開提供商自己格式的 gateway 將客戶端配置與該提供商綁定。31除了提供商切換外,所有這些都適用於上游是 Anthropic API 還是[雲提供商](/docs/zh-TW/third-party-integrations)。提供商切換而無需重新配置開發人員機器也取決於 gateway 公開單一 [Anthropic 格式端點](/docs/zh-TW/llm-gateway-protocol#api-formats),無論上游如何;公開提供商自己格式的 gateway 將客戶端配置與該提供商綁定,並改變 [Claude Code 傳送的內容以及它應用的預設值](/docs/zh-TW/llm-gateway-protocol#how-the-connection-method-changes-client-behavior)。

32 32 

33權衡是 gateway 成為您的組織運營的基礎設施。Claude Code 在每個版本中添加功能,不轉發這些功能的 gateway 會破壞相應的功能,因此 gateway 產品需要隨著 Claude Code 的發展而保持更新。[gateway 相容性指南](/docs/zh-TW/llm-gateway-protocol)涵蓋要轉發的內容。33權衡是 gateway 成為您的組織運營的基礎設施。Claude Code 在每個版本中添加功能,不轉發這些功能的 gateway 會破壞相應的功能,因此 gateway 產品需要隨著 Claude Code 的發展而保持更新。[gateway 相容性指南](/docs/zh-TW/llm-gateway-protocol)涵蓋要轉發的內容。

34 34 

Details

286 ```286 ```

287</CodeGroup>287</CodeGroup>

288 288 

289<h3 id="slack-web-and-remote-control">289<h3 id="slack-cloud-sessions-and-remote-control">

290 Slack、網頁和遠端控制290 Slack、雲端會話和遠端控制

291</h3>291</h3>

292 292 

293[Slack 中的 Claude Code](/docs/zh-TW/slack) 和[網頁上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 是 Anthropic 託管的產品,始終使用 Anthropic 的 API;它們不是閘道部署的一部分。在雲端會話的環境配置中設定的閘道變數不適用。如果您的流量必須保留在閘道上,請不要為這些使用者啟用這些介面。293[Slack 中的 Claude Code](/docs/zh-TW/slack) 和[雲端會話](/docs/zh-TW/claude-code-on-the-web)始終使用 Anthropic 的 API;它們不是閘道部署的一部分。在雲端會話的環境配置中設定的閘道變數不適用。如果您的流量必須保留在閘道上,請不要為這些使用者啟用這些介面。

294 294 

295[遠端控制](/docs/zh-TW/remote-control)和[語音聽寫](/docs/zh-TW/voice-dictation)都依賴於 claude.ai 身份:遠端控制將實時會話與您的帳戶配對,語音聽寫到達 claude.ai 轉錄端點。當 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 處於活動狀態時,它們不可用。自 v2.1.196 起,當 `ANTHROPIC_BASE_URL` 指向非 Anthropic 主機時,遠端控制也被禁用,因此僅使用 claude.ai 登入本身是不夠的。在 v2.1.196 之前,非 Anthropic 基礎 URL 沒有阻止遠端控制。295[遠端控制](/docs/zh-TW/remote-control)和[語音聽寫](/docs/zh-TW/voice-dictation)都依賴於 claude.ai 身份:遠端控制將實時會話與您的帳戶配對,語音聽寫到達 claude.ai 轉錄端點。當 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 處於活動狀態時,它們不可用。遠端控制在 `ANTHROPIC_BASE_URL` 指向非 Anthropic 主機時也被禁用,因此僅使用 claude.ai 登入本身是不夠的。在 v2.1.196 之前,非 Anthropic 基礎 URL 沒有阻止遠端控制。

296 296 

297若要還原任一功能,請使用 claude.ai 登入並取消設定該功能檢查的閘道變數。`claude doctor` 的遠端控制部分命名目前阻止遠端控制的內容。297若要還原任一功能,請使用 claude.ai 登入並取消設定該功能檢查的閘道變數。`claude doctor` 的遠端控制部分命名目前阻止遠端控制的內容。

298 298 


587| `400` 錯誤命名 `context_management`、`Extra inputs are not permitted` 或其他無法識別的欄位 | 閘道將請求轉發到上游,該上游拒絕 Claude Code 發送到 Anthropic 格式端點的欄位 | 設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`,它抑制大多數預發佈欄位;請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through)。某些 beta 不受此標誌限制;對於那些,設定匹配的 `CLAUDE_CODE_USE_*` 提供者變數,以便 Claude Code 僅發送該提供者接受的內容 |587| `400` 錯誤命名 `context_management`、`Extra inputs are not permitted` 或其他無法識別的欄位 | 閘道將請求轉發到上游,該上游拒絕 Claude Code 發送到 Anthropic 格式端點的欄位 | 設定 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`,它抑制大多數預發佈欄位;請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through)。某些 beta 不受此標誌限制;對於那些,設定匹配的 `CLAUDE_CODE_USE_*` 提供者變數,以便 Claude Code 僅發送該提供者接受的內容 |

588| `400` 錯誤命名 `thinking` 或 `adaptive`,例如 `Input tag 'adaptive' found` | 上游模型構建不接受自適應推理,Claude Code 為 Claude 4.6 及更高版本的模型請求 | 升級閘道的上游。在 Opus 4.6 和 Sonnet 4.6 上,`CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` 改為有效。[模型配置](/docs/zh-TW/model-config)功能變數僅適用於提供者配置(例如 `CLAUDE_CODE_USE_BEDROCK` 和 `CLAUDE_CODE_USE_VERTEX`),不在 `ANTHROPIC_BASE_URL` 閘道後面 |588| `400` 錯誤命名 `thinking` 或 `adaptive`,例如 `Input tag 'adaptive' found` | 上游模型構建不接受自適應推理,Claude Code 為 Claude 4.6 及更高版本的模型請求 | 升級閘道的上游。在 Opus 4.6 和 Sonnet 4.6 上,`CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` 改為有效。[模型配置](/docs/zh-TW/model-config)功能變數僅適用於提供者配置(例如 `CLAUDE_CODE_USE_BEDROCK` 和 `CLAUDE_CODE_USE_VERTEX`),不在 `ANTHROPIC_BASE_URL` 閘道後面 |

589| `400` 錯誤陳述閘道自己的詞語中的上下文或令牌限制,例如 `ContextWindowExceededError` 或 `prompt token count of N exceeds the limit of M` | 閘道強制執行比模型的本機視窗更小的上下文,並重寫上游錯誤,因此 Claude Code 不會將其識別為[過長錯誤](/docs/zh-TW/errors#prompt-is-too-long),並且不會自動壓縮和重試 | 執行 `/compact` 以恢復會話。要防止它,請將 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 設定為閘道的限制;Claude Code 將該值限制在至少 100,000 令牌和最多模型的上下文視窗,因此您無法匹配低於 100,000 的閘道限制,`/compact` 在那裡仍然是恢復。還要將 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 設定為低於閘道模型的輸出限制 |589| `400` 錯誤陳述閘道自己的詞語中的上下文或令牌限制,例如 `ContextWindowExceededError` 或 `prompt token count of N exceeds the limit of M` | 閘道強制執行比模型的本機視窗更小的上下文,並重寫上游錯誤,因此 Claude Code 不會將其識別為[過長錯誤](/docs/zh-TW/errors#prompt-is-too-long),並且不會自動壓縮和重試 | 執行 `/compact` 以恢復會話。要防止它,請將 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 設定為閘道的限制;Claude Code 將該值限制在至少 100,000 令牌和最多模型的上下文視窗,因此您無法匹配低於 100,000 的閘道限制,`/compact` 在那裡仍然是恢復。還要將 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 設定為低於閘道模型的輸出限制 |

590| `400` 錯誤在每個請求上,在閘道自己的詞語中拒絕工具的輸入架構或其 `pattern`,在 Claude Code v2.1.265 至 v2.1.267 上 | 在這些版本上的逐步推出中,[Artifact 工具](/docs/zh-TW/artifacts#availability)架構帶有包含 `\p{...}` Unicode 字元類的正規表達式。Anthropic API 接受它,但檢查每個工具架構的 `pattern` 的閘道或上游使用自己的正規表達式引擎會拒絕整個請求 | 更新到 v2.1.268 或更高版本,不發送正規表達式。在受影響的版本上,[關閉 artifacts](/docs/zh-TW/artifacts#disable-artifacts),這會從請求中移除工具及其架構 |

590| 模型缺失於 `/model` 選擇器 | 閘道模型名稱不在 Claude Code 的內置列表中,或 Claude Code 顯示替換內置選項的 [`modelPicker`](/docs/zh-TW/settings-reference#modelpicker) 陣容 | 啟用[閘道模型發現](#add-gateway-models-to-the-model-picker)或使用[模型配置](/docs/zh-TW/model-config)變數添加名稱。如果 Claude Code 顯示替換 `modelPicker` 陣容,請將閘道模型添加到其中,或在受管設定提供時要求您的管理員添加它們 |591| 模型缺失於 `/model` 選擇器 | 閘道模型名稱不在 Claude Code 的內置列表中,或 Claude Code 顯示替換內置選項的 [`modelPicker`](/docs/zh-TW/settings-reference#modelpicker) 陣容 | 啟用[閘道模型發現](#add-gateway-models-to-the-model-picker)或使用[模型配置](/docs/zh-TW/model-config)變數添加名稱。如果 Claude Code 顯示替換 `modelPicker` 陣容,請將閘道模型添加到其中,或在受管設定提供時要求您的管理員添加它們 |

591| `/fast` 報告 `Fast mode unavailable due to network connectivity issues`,而推理請求有效 | [快速模式](/docs/zh-TW/fast-mode)可用性檢查直接進入 `api.anthropic.com`,不遵循 `ANTHROPIC_BASE_URL`,因此阻止的直接出站會導致檢查失敗。當檢查呈現來自 `ANTHROPIC_API_KEY` 或 `apiKeyHelper` 的閘道簽發的金鑰,而 Anthropic 拒絕它時,在開放網路上也會出現相同的訊息 | 如果出站被阻止,請將 `api.anthropic.com` 列入白名單,或設定跳過變數;對於被拒絕的閘道金鑰,只有跳過變數有幫助。請參閱[在代理和 LLM 閘道後面使用快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |592| `/fast` 報告 `Fast mode unavailable due to network connectivity issues`,而推理請求有效 | [快速模式](/docs/zh-TW/fast-mode)可用性檢查直接進入 `api.anthropic.com`,不遵循 `ANTHROPIC_BASE_URL`,因此阻止的直接出站會導致檢查失敗。當檢查呈現來自 `ANTHROPIC_API_KEY` 或 `apiKeyHelper` 的閘道簽發的金鑰,而 Anthropic 拒絕它時,在開放網路上也會出現相同的訊息 | 如果出站被阻止,請將 `api.anthropic.com` 列入白名單,或設定跳過變數;對於被拒絕的閘道金鑰,只有跳過變數有幫助。請參閱[在代理和 LLM 閘道後面使用快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

592| `/fast` 在使用 `ANTHROPIC_AUTH_TOKEN` 驗證的會話中報告 `Fast mode has been disabled by your organization`,儘管組織已啟用快速模式 | 可用性檢查需要 claude.ai 登入或 Anthropic API 金鑰;僅使用持有人令牌,Claude Code 會將快速模式視為已禁用,而不發送檢查 | 設定 `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`;請參閱[在代理和 LLM 閘道後面使用快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |593| `/fast` 在使用 `ANTHROPIC_AUTH_TOKEN` 驗證的會話中報告 `Fast mode has been disabled by your organization`,儘管組織已啟用快速模式 | 可用性檢查需要 claude.ai 登入或 Anthropic API 金鑰;僅使用持有人令牌,Claude Code 會將快速模式視為已禁用,而不發送檢查 | 設定 `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`;請參閱[在代理和 LLM 閘道後面使用快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Claude Code gateway 相容性指南5# Claude Code 閘道相容性指南

6 6 

7> 保持 LLM gateway 與 Claude Code 相容:它呼叫的端點、必須轉發的標頭和請求體欄位,以及移除它們時會破壞什麼。7> 保持 LLM 閘道與 Claude Code 相容:它呼叫的端點、必須轉發的標頭和本體欄位,以及移除它們時會中斷的功能。

8 8 

9本頁面記錄了 Claude Code 發送給 gateway 的請求,包括它呼叫的端點、gateway 必須轉發的標頭和請求體欄位,以及當 gateway 不這樣做時哪些功能會停止運作。本文件是為配置 gateway 產品以與 Claude Code 搭配運作的操作人員編寫的。9本頁面記錄 Claude Code 傳送至閘道的請求,包括它呼叫的端點、閘道必須轉發的標頭和本體欄位,以及當閘道未轉發時停止運作的功能。本文件是為配置閘道產品以與 Claude Code 搭配運作的操作人員撰寫的。

10 10 

11[Claude apps gateway](/docs/zh-TW/claude-apps-gateway)(Anthropic 的自託管 gateway)在 `GET /protocol` 提供自己的端點參考,涵蓋該 gateway 的登入、推論、受管設定、模型發現和遙測端點。這是一份與本指南分開的文件。11[Claude apps gateway](/docs/zh-TW/claude-apps-gateway) 是 Anthropic 的自託管閘道,在 `GET /protocol` 提供自己的端點參考,涵蓋該閘道的登入、推論、受管設定、模型探索和遙測端點。這是與本指南分開的文件。

12 12 

13<Note>13<Note>

14 * 若要為您的組織推出現有或第三方 gateway,請參閱[推出 LLM gateway](/docs/zh-TW/llm-gateway-rollout)14 * 若要為您的組織推出現有或第三方閘道,請參閱[推出 LLM 閘道](/docs/zh-TW/llm-gateway-rollout)

15 * 如果您是使用提供給您的認證向 gateway 驗證 Claude Code 的個人開發人員,請參閱[將 Claude Code 連接到 LLM gateway](/docs/zh-TW/llm-gateway-connect)15 * 如果您是使用獲得的認證向閘道驗證 Claude Code 的個別開發人員,請參閱[將 Claude Code 連線至 LLM 閘道](/docs/zh-TW/llm-gateway-connect)

16</Note>16</Note>

17 17 

18本頁面涵蓋:18本頁面涵蓋:

19 19 

20* [API 格式](#api-formats)及每種格式要提供的端點20* [API 格式](#api-formats)和每種格式要提供的端點

21* [請求標頭](#request-headers):哪些必須到達上游,哪些您的 gateway 可以使用21* [依連線方法的用戶端行為](#how-the-connection-method-changes-client-behavior):模型 ID、`anthropic-beta` 值、請求欄位和預設值在格式和 Claude apps gateway 登入之間的差異

22* [系統提示歸屬區塊](#system-prompt-attribution-block)及其與提示快取的互動方式22* [請求標頭](#request-headers):哪些必須到達上游,以及您的閘道可以使用哪些

23* [功能傳遞](#feature-pass-through):當標頭或請求體欄位被移除時會發生什麼23* [回應標頭](#response-headers):要傳回什麼以便停滯偵測、重試和使用量限制顯示能夠運作

24* [模型發現](#model-discovery)24* [系統提示屬性區塊](#system-prompt-attribution-block)及其與提示快取的互動方式

25* [功能傳遞](#feature-pass-through):移除標頭或本體欄位時會中斷的功能

26* [模型探索](#model-discovery)

25 27 

26本頁面使用兩個術語來描述您的 gateway 對每個標頭和請求體欄位的處理方式:28本頁面使用兩個術語來說明您的閘道對每個標頭和本體欄位的處理方式:

27 29 

28* **轉發不變**:逐位元組傳遞給上游30* **轉發不變**:將其逐位元組傳遞至上游

29* **使用**:gateway 可能會讀取它以進行路由、歸屬或追蹤,不需要轉發它31* **使用**:閘道可能會讀取它以進行路由、屬性或追蹤,不需要轉發它

30 32 

31任何未標記為轉發不變的內容都可以由您使用或忽略。33任何未標記為轉發不變的內容都可供您使用或忽略。

32 34 

33<h2 id="api-formats">35<h2 id="api-formats">

34 API 格式36 API 格式


48 Foundry 和 AWS 上的 Claude Platform50 Foundry 和 AWS 上的 Claude Platform

49</h3>51</h3>

50 52 

51Microsoft Foundry 和 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 實作 Anthropic Messages 格式。Claude Code 透過自己的變數 `ANTHROPIC_FOUNDRY_BASE_URL` 和 `ANTHROPIC_AWS_BASE_URL` 路由到它們,但閘道在任一前面實作上述 Anthropic Messages 列。在 AWS 上的 Claude Platform 前面的閘道也必須轉發 `anthropic-workspace-id` 標頭,[該平台在每個請求上都需要](/docs/zh-TW/claude-platform-on-aws)。53Microsoft Foundry 和 [AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws) 實作 Anthropic Messages 格式。Claude Code 透過自己的變數 `ANTHROPIC_FOUNDRY_BASE_URL` 和 `ANTHROPIC_AWS_BASE_URL` 路由到它們,但閘道在任一前面實作上述 Anthropic Messages 列。閘道在 AWS 上的 Claude Platform 前面也必須轉發 `anthropic-workspace-id` 標頭,[該平台在每個請求上都需要](/docs/zh-TW/claude-platform-on-aws)。

52 54 

53<h3 id="optional-endpoints-and-startup-traffic">55<h3 id="optional-endpoints-and-startup-traffic">

54 選用端點和啟動流量56 選用端點和啟動流量

55</h3>57</h3>

56 58 

57計數令牌端點是唯一的選用端點:當它們不存在時,Claude Code 會回退到基於字元的內容使用估計。59權杖計數端點是唯一的選用端點:當它們不存在時,Claude Code 會回退到基於字元的內容使用估計。

58 60 

59根據路徑而非完整 URL 進行比對:61根據路徑而非完整 URL 進行比對:

60 62 

61* 推理請求發佈到 `/v1/messages?beta=true`63* 推論請求發佈到 `/v1/messages?beta=true`

62* Google Cloud 的 Agent Platform 方法後綴附加到發佈者模型路徑,如 `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`64* Google Cloud 的 Agent Platform 方法尾碼附加到發佈者模型路徑,如 `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`

63 65 

64閘道也會看到最佳努力啟動流量,可以拒絕而不會破壞任何東西。Anthropic Messages 格式的閘道會收到 `HEAD /api/hello` 連線預熱探測,當設定了 HTTP 代理或用戶端憑證時,Claude Code 會跳過此探測。Amazon Bedrock 格式的閘道會收到 `GET /inference-profiles?type=SYSTEM_DEFINED` 請求,以及當設定的模型是推理設定檔時,`GET /inference-profiles/{profile}` 查詢。66閘道也會看到最佳努力啟動流量,可以拒絕而不會破壞任何東西。Anthropic Messages 格式閘道會收到 `HEAD /api/hello` 連線預熱探測,當設定了 HTTP 代理或用戶端憑證時,Claude Code 會跳過此探測。Amazon Bedrock 格式閘道會收到 `GET /inference-profiles?type=SYSTEM_DEFINED` 請求,以及當設定的模型是推論設定檔時,`GET /inference-profiles/{profile}` 查詢。

65 67 

66[快速模式](/docs/zh-TW/fast-mode)可用性檢查永遠不會出現在閘道日誌中:它直接呼叫 `api.anthropic.com` 而不是遵循 `ANTHROPIC_BASE_URL`,因此在阻止直接出站到 `api.anthropic.com` 的網路上,快速模式可能會報告連線錯誤,而透過閘道的推理會繼續運作。[WebFetch 網域安全檢查](/docs/zh-TW/data-usage#webfetch-domain-safety-check)也直接呼叫 `api.anthropic.com`。[在代理和 LLM 閘道後面使用快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)涵蓋恢復它的變數。68[快速模式](/docs/zh-TW/fast-mode)可用性檢查永遠不會出現在閘道日誌中:它直接呼叫 `api.anthropic.com` 而不是遵循 `ANTHROPIC_BASE_URL`,因此在阻止直接出站到 `api.anthropic.com` 的網路上,快速模式可能會報告連線錯誤,而透過閘道的推論會繼續運作。[WebFetch 網域安全檢查](/docs/zh-TW/data-usage#webfetch-domain-safety-check)也直接呼叫 `api.anthropic.com`。[在代理和 LLM 閘道後面使用快速模式](/docs/zh-TW/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)涵蓋恢復它的變數。

67 69 

68<h3 id="streaming">70<h3 id="streaming">

69 串流71 串流

70</h3>72</h3>

71 73 

72串流推理回應。Claude Code 在到達時讀取串流,因此如果您的閘道在轉發前緩衝完整回應,Claude Code 會停滯。74串流推論回應。Claude Code 在到達時讀取串流,因此如果您的閘道在轉發前緩衝完整回應,Claude Code 會停滯。

73 75 

74當用戶端使用 Amazon Bedrock 格式時,不修改地轉發 `InvokeModelWithResponseStream` 回應本體及其 `Content-Type: application/vnd.amazon.eventstream` 標頭,並且不要將串流轉換為伺服器發送事件。請參閱[在閘道或代理後面的串流錯誤](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。76當用戶端使用 Amazon Bedrock 格式時,不修改地轉發 `InvokeModelWithResponseStream` 回應本體及其 `Content-Type: application/vnd.amazon.eventstream` 標頭,並且不要將串流轉換為伺服器發送事件。請參閱[閘道或代理後面的串流錯誤](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。

75 77 

76也轉發保活 ping。在透過 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 的連線上,Claude Code 計算您的閘道轉發的每個位元組,包括 SSE `ping` 事件和註解行,並預設在 300 秒內沒有流量的串流中止。上游的 ping 是長思考暫停期間唯一的流量,因此如果您的閘道移除或緩衝它們,Claude Code 會在這些暫停期間中止串流;[自動重試](/docs/zh-TW/errors#automatic-retries)涵蓋根據回應進度有多遠而中止的串流報告。完全不發送 ping 的上游(例如 Amazon Bedrock 的二進位事件串流)在這些暫停中沒有任何東西可轉發。從這樣的上游轉譯時,在無聲間隙期間發出您自己的 `ping` 事件。透過 `ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_FOUNDRY_BASE_URL` 到達的閘道不會被此位元組級監視狗包裝,即使它們轉發 Anthropic Messages 格式;在那裡,[5 分鐘閒置逾時](/docs/zh-TW/env-vars)會改為中止無聲串流,在 `ANTHROPIC_BEDROCK_BASE_URL` 連線上,您可以使用 [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/zh-TW/env-vars) 新增位元組監視狗。78也轉發保活 ping。在透過 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 的連線上,Claude Code 計算您的閘道轉發的每一位元組,包括 SSE `ping` 事件和註解行,並預設在 300 秒內中止無聲的串流。上游的 ping 是長思考暫停期間唯一的流量,因此如果您的閘道剝離或緩衝它們,Claude Code 會在這些暫停期間中止串流;[自動重試](/docs/zh-TW/errors#automatic-retries)涵蓋根據回應進度有多遠而中止的串流報告。完全不發送 ping 的上游(例如 Amazon Bedrock 的二進位事件串流)在這些暫停期間沒有任何東西可轉發。從這樣的上游轉譯時,在無聲間隙期間發出您自己的 `ping` 事件。透過 `ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_FOUNDRY_BASE_URL` 到達的閘道不會被此位元組級監視狗包裝,即使它們轉發 Anthropic Messages 格式;在那裡,[5 分鐘閒置逾時](/docs/zh-TW/env-vars)會改為中止無聲串流,在 `ANTHROPIC_BEDROCK_BASE_URL` 連線上,您可以使用 [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/zh-TW/env-vars) 新增位元組監視狗。

77 79 

78<h3 id="format-mismatch-with-the-upstream">80<h3 id="format-mismatch-with-the-upstream">

79 與上游的格式不匹配81 與上游的格式不匹配


86 88 

87橋接該差異是您的閘道的工作。[功能傳遞](#feature-pass-through)描述當它不這樣做時會破壞什麼。89橋接該差異是您的閘道的工作。[功能傳遞](#feature-pass-through)描述當它不這樣做時會破壞什麼。

88 90 

91如果您的上游是 Amazon Bedrock 或 Google Cloud 的 Agent Platform,您可以透過改為公開該提供者的格式來避免橋接。[透過閘道路由到雲端提供者](/docs/zh-TW/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway)顯示該格式的用戶端設定。

92 

93<h2 id="how-the-connection-method-changes-client-behavior">

94 連線方法如何改變用戶端行為

95</h2>

96 

97開發人員連線到您的閘道的方式決定了 Claude Code 傳送的模型 ID、`anthropic-beta` 值和請求欄位,以及它套用的預設值。您的閘道會看到以下三種用戶端行為之一:

98 

99* **Amazon Bedrock 或 Agent Platform 格式**:開發人員設定 `CLAUDE_CODE_USE_BEDROCK=1` 搭配 `ANTHROPIC_BEDROCK_BASE_URL`,或 `CLAUDE_CODE_USE_VERTEX=1` 搭配 `ANTHROPIC_VERTEX_BASE_URL`,指向您的閘道。Claude Code 使用該提供者的模型 ID、請求欄位和預設值。

100* **Anthropic Messages 格式**:開發人員將 `ANTHROPIC_BASE_URL` 設定為您的閘道。Claude Code 將閘道視為 Claude API,無法判斷您轉發到哪個上游。

101* **Claude apps 閘道登入**:開發人員登入 [Claude apps 閘道](/docs/zh-TW/claude-apps-gateway)。該閘道使用 Anthropic Messages 格式,但可以路由到任何上游,因此 Claude Code 只傳送 Amazon Bedrock 和 Agent Platform 也接受的 `anthropic-beta` 值和模型功能假設。

102 

103<h3 id="requests-and-defaults-by-connection-method">

104 按連線方法的請求和預設值

105</h3>

106 

107下表比較三種連線方法,每行一個行為。它省略了 Microsoft Foundry 和 Claude Platform on AWS,它們也使用 Anthropic Messages 格式,但 Claude Code 透過自己的變數到達它們。如需這些,請參閱 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和 [Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws) 頁面。

108 

109| 行為 | Amazon Bedrock 或 Agent Platform 格式 | Anthropic Messages 格式 | Claude apps 閘道登入 |

110| :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |

111| 預設情況下請求中的模型 ID | 提供者的形式,例如 Amazon Bedrock 上的 `us.anthropic.claude-opus-4-8` | Anthropic ID,例如 `claude-opus-4-8` | Anthropic ID |

112| 傳送的 `anthropic-beta` 值 | Amazon Bedrock 和 Agent Platform 接受的子集 | [功能傳遞](#feature-pass-through)下描述的完整集合,除非開發人員設定 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Amazon Bedrock 和 Agent Platform 接受的子集 |

113| Claude Code 無法識別的模型 ID(例如閘道別名)的請求欄位 | 使用固定預算進行思考而非自適應推理,且沒有努力或內容管理欄位 | 目前 Claude 模型在 Claude API 上接受的所有內容,包括自適應推理、努力和內容管理,Amazon Bedrock 或 Agent Platform 上游可能會拒絕 | 與 Amazon Bedrock 或 Agent Platform 格式相同 |

114| 開發人員選擇加入時的一小時 [prompt 快取 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself) | 透過 `cache_control` 中的 `ttl` 欄位請求,沒有測試版值 | 透過 `ttl` 欄位加上 `anthropic-beta` 中的 `extended-cache-ttl` 值請求,您必須轉發 | 請參閱 Claude apps 閘道 [可用性和限制](/docs/zh-TW/claude-apps-gateway#availability-and-limitations) 表 |

115| [背景工作](/docs/zh-TW/costs#background-token-usage) 的模型,除非 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 固定一個 | 預設 Sonnet 模型,或選擇主模型後的主模型,如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock#4-pin-model-versions) 和 [Agent Platform](/docs/zh-TW/google-vertex-ai#5-pin-model-versions) 頁面所述 | 主模型,或當 `ANTHROPIC_API_KEY` 或 `apiKeyHelper` 提供 Anthropic Console 金鑰且 `ANTHROPIC_AUTH_TOKEN` 未設定時的預設 Haiku 模型 | 主模型 |

116 

117如需每個連線支援的功能以及它預設傳送給 Anthropic 的遙測,請參閱 [功能可用性](/docs/zh-TW/feature-availability#availability-by-model-provider) 和 [按 API 提供者的預設行為](/docs/zh-TW/data-usage#default-behaviors-by-api-provider)。

118 

119<h3 id="settings-for-unrecognized-model-ids">

120 無法識別的模型 ID 的設定

121</h3>

122 

123兩個用戶端設定會改變 Claude Code 對無法識別的模型 ID 的假設,無論開發人員使用哪種連線方法:

124 

125* **內容視窗**:Claude Code 假設 200K,或當 ID 帶有 `[1m]` 時為 1M。若要宣告實際視窗,請參閱 [更正閘道或自訂模型 ID 的視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)

126* **功能**:若要給閘道別名提供其背後模型的功能,請在您分發的設定中使用 [`modelOverrides`](/docs/zh-TW/errors#unrecognized-model-id-on-a-request) 項目將該模型的 Anthropic ID 對應到您的別名。如需 `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` 變數適用的位置,請參閱 [功能傳遞](#feature-pass-through)

127 

89<h2 id="request-headers">128<h2 id="request-headers">

90 請求標頭129 請求標頭

91</h2>130</h2>


115 154 

116例外是非 Anthropic 上游(如 Amazon Bedrock 或 Google Cloud 的 Agent Platform),其中橋接架構差異是 gateway 的工作;請參閱[功能傳遞](#feature-pass-through)。155例外是非 Anthropic 上游(如 Amazon Bedrock 或 Google Cloud 的 Agent Platform),其中橋接架構差異是 gateway 的工作;請參閱[功能傳遞](#feature-pass-through)。

117 156 

157<h2 id="response-headers">

158 回應標頭

159</h2>

160 

161Claude Code 讀取這些回應標頭以偵測停滯的串流、決定是否以及何時重試,以及顯示使用量限制。該表列出每個標頭應返回的內容。同時未修改地轉發錯誤回應本體,以便 Claude Code 的[能力拒絕復原](#automatic-retry-and-error-forwarding)可以符合上游的錯誤措辭。

162 

163| 標頭 | 應返回的內容及原因 |

164| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

165| `content-type` | 在串流的 Anthropic Messages 格式回應上返回 `text/event-stream`,在 Amazon Bedrock 格式回應上返回 `application/vnd.amazon.eventstream`(未修改),其中[不同的類型會導致請求失敗](/docs/zh-TW/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。[串流](#streaming)列出哪些連線在這些串流上執行停滯偵測 |

166| `retry-after` | 返回整數秒數而非 HTTP 日期。Claude Code 在下一次[自動重試](/docs/zh-TW/errors#automatic-retries)之前至少等待該時間長度,在 [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-TW/env-vars) 工作階段外,超過 60 的值會停止重試並立即顯示錯誤 |

167| `x-should-retry` | 未修改地傳遞上游的值。Claude Code 在決定是否重試失敗的請求時將此標頭讀取為一個輸入:`true` 標記回應為可重試,`false` 標記為不可重試。如需重試計數、退避和 Claude Code 重試的失敗,請參閱[自動重試](/docs/zh-TW/errors#automatic-retries) |

168| `anthropic-ratelimit-unified-*` | 在每個回應上未修改地轉發上游的值。Claude Code 在成功回應上讀取它們以向使用 claude.ai 登入的開發人員顯示針對計畫限制的使用量,在 `429` 上讀取以區分計畫限制或支出上限與暫時性節流;請參閱[使用量限制](/docs/zh-TW/errors#usage-limits) |

169 

118<h2 id="system-prompt-attribution-block">170<h2 id="system-prompt-attribution-block">

119 系統提示歸屬區塊171 系統提示歸屬區塊

120</h2>172</h2>


168Claude Code 在上游拒絕後的行為取決於被拒絕的內容:220Claude Code 在上游拒絕後的行為取決於被拒絕的內容:

169 221 

170* 當上游拒絕 `thinking` 欄位、中途對話系統訊息或這類訊息上的 `cache_control` 標記時,Claude Code 會重試請求並為對話的其餘部分禁用被拒絕的功能222* 當上游拒絕 `thinking` 欄位、中途對話系統訊息或這類訊息上的 `cache_control` 標記時,Claude Code 會重試請求並為對話的其餘部分禁用被拒絕的功能

171* 當上游拒絕[思考簽名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)時,Claude Code 會重試請求而不包含對話的較早思考區塊,並將它們排除在每個後續請求之外。新回應仍包含思考223* 當上游拒絕[思考簽名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)時,包括以 `400` 拒絕其中區塊 `bound to a different conversation` 時,Claude Code 會從請求中移除較早的思考區塊、重試,並將它們排除在每個後續請求之外。新回應仍包含思考

172* Claude Code 不會重試上下文管理或工具架構欄位的拒絕,因此這些 `400` 錯誤會到達開發人員224* Claude Code 不會重試上下文管理或工具架構欄位的拒絕,因此這些 `400` 錯誤會到達開發人員

173 225 

226`bound to a different conversation` 拒絕來自 API 的[保留思考](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking)檢查,當 `system`、`tools` 或較早的 `messages` 內容與產生思考的請求不同時,該檢查會失敗。重寫任何該內容的 gateway 可能會導致拒絕本身;[程式庫、代理和 gateway](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways)涵蓋要逐字轉發的內容。

227 

174重試邏輯與上游的錯誤措辭相匹配,因此不修改地轉發錯誤回應體。在自己的信封中包裝上游錯誤的 gateway 會破壞恢復路徑,即使它保留了狀態碼,除非信封的訊息攜帶穩定的 `capability_rejected:` 令牌。[Claude 應用程式 gateway 為雲端提供者的錯誤措辭替換這些令牌](/docs/zh-TW/claude-apps-gateway-config#upstream-error-messages),例如 `capability_rejected: prompt_too_long`。228重試邏輯與上游的錯誤措辭相匹配,因此不修改地轉發錯誤回應體。在自己的信封中包裝上游錯誤的 gateway 會破壞恢復路徑,即使它保留了狀態碼,除非信封的訊息攜帶穩定的 `capability_rejected:` 令牌。[Claude 應用程式 gateway 為雲端提供者的錯誤措辭替換這些令牌](/docs/zh-TW/claude-apps-gateway-config#upstream-error-messages),例如 `capability_rejected: prompt_too_long`。

175 229 

176<h3 id="disable-pre-release-capabilities">230<h3 id="disable-pre-release-capabilities">


211 265 

212請求是 `GET /v1/models?limit=1000`,超時時間為 3 秒,任何重定向都被視為失敗,因此認證不會洩露給重定向目標。回應緩慢或重定向 `/v1/models` 的 gateway,即使是 `http` 到 `https`,也會無聲地失敗發現;在配置的基礎 URL 處直接提供端點。266請求是 `GET /v1/models?limit=1000`,超時時間為 3 秒,任何重定向都被視為失敗,因此認證不會洩露給重定向目標。回應緩慢或重定向 `/v1/models` 的 gateway,即使是 `http` 到 `https`,也會無聲地失敗發現;在配置的基礎 URL 處直接提供端點。

213 267 

268若要給緩慢的 gateway 更長的時間,請設定 [`CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS`](/docs/zh-TW/env-vars#variables)。該變數需要 Claude Code v2.1.269 或更新版本。

269 

214Claude Code 使用以下兩個認證標頭發送發現請求,並省略其值無法解析的標頭。發送兩個標頭需要 Claude Code v2.1.248 或更新版本。較早的版本在設定 `ANTHROPIC_AUTH_TOKEN` 時僅發送 `Authorization`,否則僅發送 `x-api-key`。270Claude Code 使用以下兩個認證標頭發送發現請求,並省略其值無法解析的標頭。發送兩個標頭需要 Claude Code v2.1.248 或更新版本。較早的版本在設定 `ANTHROPIC_AUTH_TOKEN` 時僅發送 `Authorization`,否則僅發送 `x-api-key`。

215 271 

216* `Authorization`:`ANTHROPIC_AUTH_TOKEN` 作為持有人令牌,否則 [`apiKeyHelper`](/docs/zh-TW/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 值作為持有人令牌。在這種情況下,Claude Code 會等待幫助程式返回後再發送請求。272* `Authorization`:`ANTHROPIC_AUTH_TOKEN` 作為持有人令牌,否則 [`apiKeyHelper`](/docs/zh-TW/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 值作為持有人令牌。在這種情況下,Claude Code 會等待幫助程式返回後再發送請求。

Details

283 283 

284| 變更 | 當閘道未跟上時的症狀 | 行動 |284| 變更 | 當閘道未跟上時的症狀 | 行動 |

285| :-------------------------------------------- | :------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------- |285| :-------------------------------------------- | :------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------- |

286| 新的 Claude Code 版本新增 `anthropic-beta` 值和請求正文欄位 | 開發者在更新 Claude Code 後報告 `400` 錯誤,命名新欄位;請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through) | 逐字轉發 `anthropic-*` 標頭和請求正文,而不是允許清單;在新 Claude Code 版本到達開發者之前針對閘道測試它們 |286| 新的 Claude Code 版本新增 `anthropic-beta` 值和請求正文欄位 | 開發者在更新 Claude Code 後報告 `400` 錯誤,命名新欄位;請參閱[功能傳遞](/docs/zh-TW/llm-gateway-protocol#feature-pass-through) | 逐字轉發 `anthropic-*` 標頭和請求正文,而不是允許清單;在新 Claude Code 版本到達開發者之前針對閘道測試它們,檢查[規劃 Claude Code 版本升級](#plan-claude-code-version-upgrades)中的區域 |

287| 新的 Claude 模型變得可用 | 開發者選擇新模型名稱時得到 `404`;`/model` 選擇器未列出它 | 將模型名稱新增到閘道的路由配置,然後重新執行[路由檢查](#confirm-the-gateway-routes-your-models)。如果您分發 `ANTHROPIC_MODEL` 或預設模型變數,請更新受管設定 |287| 新的 Claude 模型變得可用 | 開發者選擇新模型名稱時得到 `404`;`/model` 選擇器未列出它 | 將模型名稱新增到閘道的路由設定,然後重新執行[路由檢查](#confirm-the-gateway-routes-your-models)。如果您分發 `ANTHROPIC_MODEL` 或預設模型變數,請更新受管設定 |

288| 認證過期或需要輪換 | 所有開發者請求開始因來自上游的 `401` 而失敗 | 按照自己的時間表輪換閘道的提供者認證;開發者金鑰在閘道上輪換,[`apiKeyHelper`](/docs/zh-TW/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 處理每個開發者的輪換,無需重新分發設定 |288| 認證過期或需要輪換 | 所有開發者請求開始因來自上游的 `401` 而失敗 | 按照自己的時間表輪換閘道的提供者認證;開發者金鑰在閘道上輪換,[`apiKeyHelper`](/docs/zh-TW/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 處理每個開發者的輪換,無需重新分發設定 |

289 289 

290在調整每個金鑰的速率限制時,考慮用戶端[重試暫時性失敗](/docs/zh-TW/errors#automatic-retries),包括 `429` 回應,最多 10 次,帶有退避,尊重 `Retry-After`。將[相容性指南](/docs/zh-TW/llm-gateway-protocol)保持為每個 Claude Code 版本發送內容的參考。290在調整每個金鑰的速率限制時,考慮用戶端[重試暫時性失敗](/docs/zh-TW/errors#automatic-retries),包括 `429` 回應,最多 10 次,帶有退避,尊重 `Retry-After`。將[相容性指南](/docs/zh-TW/llm-gateway-protocol)保持為每個 Claude Code 版本發送內容的參考。

291 291 

292<h3 id="plan-claude-code-version-upgrades">

293 規劃 Claude Code 版本升級

294</h3>

295 

296某些 Claude Code 行為內建於已安裝的版本中,而不是在您的閘道設定,因此將開發者移至新版本可以在閘道設定未變更的情況下改變整個部署的行為。若要控制何時發生這種情況,請使用 [`requiredMaximumVersion`](/docs/zh-TW/settings-reference#requiredmaximumversion) 將開發者釘選到已測試的版本,或如果您透過自己的通道分發 Claude Code,請使用 [`DISABLE_UPDATES`](/docs/zh-TW/setup#disable-auto-updates)。在您提高釘選之前,請閱讀新版本的[變更日誌](/docs/en/changelog)項目並[針對閘道測試它](#test-claude-code-against-the-gateway)。

297 

298當您測試版本時,閘道拒絕的新標頭或請求欄位會顯示為[維護閘道](#maintain-the-gateway)中描述的 `400` 錯誤。下表涵蓋不會產生錯誤的版本相依變更,以及保持每個變更在升級期間保持不變的設定。

299 

300| 區域 | 開發者升級時可能變更的內容 | 保持其不變的設定 |

301| :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

302| 功能旗標預設值 | [不從 Anthropic 擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段,例如雲端提供者上的工作階段或關閉遙測的工作階段,使用內建於已安裝版本中的旗標預設值。當版本變更其中一個預設值時,這些開發者的行為會在他們升級時立即變更 | 版本釘選本身,`requiredMaximumVersion` 或 `DISABLE_UPDATES` |

303| 模型功能假設 | 已安裝版本無法識別的模型 ID,例如閘道別名 `prod-opus`,會根據[自適應推理](/docs/zh-TW/model-config#adaptive-reasoning-and-fixed-thinking-budgets)、努力參數和[內容視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)的預設假設執行,直到更新版本識別該 ID 或您對其進行對應 | 在閘道路由 Anthropic 模型 ID,或新增 [`modelOverrides`](/docs/zh-TW/model-config#override-model-ids-per-version) 項目,將 Anthropic 模型 ID 對應到您的別名。在雲端提供者連線上,您可以改為[宣告釘選模型的功能](/docs/zh-TW/model-config#customize-pinned-model-display-and-capabilities) |

304| 預設模型和別名 | 新工作階段預設啟動的模型,以及別名(例如 `opus` 和 `sonnet`)解析為的模型,[內建於每個版本](/docs/zh-TW/model-config#pin-models-for-third-party-deployments)中,開發者升級時可能變更 | [`ANTHROPIC_DEFAULT_MODEL`](/docs/zh-TW/model-config#set-a-default-model-for-new-sessions) 用於新工作階段啟動的模型,以及 [`ANTHROPIC_DEFAULT_*_MODEL` 變數](/docs/zh-TW/model-config#environment-variables)(例如 `ANTHROPIC_DEFAULT_OPUS_MODEL`)用於每個別名解析為的內容。`ANTHROPIC_DEFAULT_MODEL` 需要 Claude Code v2.1.236 或更新版本 |

305 

292<h2 id="related-resources">306<h2 id="related-resources">

293 相關資源307 相關資源

294</h2>308</h2>

managed-mcp.md +26 −12

Details

48 使用 managed-mcp.json 進行獨佔控制48 使用 managed-mcp.json 進行獨佔控制

49</h2>49</h2>

50 50 

51如果您部署 `managed-mcp.json` 檔案,Claude Code 只會載入該檔案定義的伺服器、您[透過 `managedMcpServers` 提供的伺服器](#provide-servers-through-managed-settings),以及啟動工作階段的應用程式註冊的任何同處理程序伺服器,例如 VS Code 擴充功能自己的伺服器或[桌面應用程式提供的連接器](/docs/zh-TW/mcp#how-connectors-reach-claude-code)。使用者無法新增、修改或使用任何其他 MCP 伺服器,包括外掛程式提供的伺服器和透過 [`--mcp-config` CLI 旗標](/docs/zh-TW/cli-reference#cli-flags)傳遞的伺服器。該檔案也會抑制 Claude Code 自行擷取的 claude.ai 連接器,除非您[允許它們與受管集合並存](#allow-claude-ai-connectors-alongside-the-managed-set)。51當您部署 `managed-mcp.json` 檔案時,Claude Code 只會載入以下伺服器:

52 

53* 該檔案定義的伺服器

54* 您[透過 `managedMcpServers` 提供的伺服器](#provide-servers-through-managed-settings)

55* 啟動工作階段的應用程式註冊的同處理程序伺服器,例如 VS Code 擴充功能自己的伺服器或[桌面應用程式提供的連接器](/docs/zh-TW/mcp#how-connectors-reach-claude-code)

56 

57使用者無法新增、修改或使用任何其他 MCP 伺服器,包括外掛程式提供的伺服器和透過 [`--mcp-config` CLI 旗標](/docs/zh-TW/cli-reference#cli-flags)傳遞的伺服器。該檔案也會抑制 Claude Code 自行擷取的 claude.ai 連接器,除非您[允許它們與受管集合並存](#allow-claude-ai-connectors-alongside-the-managed-set)。

52 58 

53<h3 id="deploy-managed-mcp-json">59<h3 id="deploy-managed-mcp-json">

54 部署 managed-mcp.json60 部署 managed-mcp.json


108* 在工作站上,Claude Code 在啟動時以 `You cannot dynamically configure MCP servers when an enterprise MCP config is present` 結束。114* 在工作站上,Claude Code 在啟動時以 `You cannot dynamically configure MCP servers when an enterprise MCP config is present` 結束。

109* 在部署該檔案的主機上的[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中,例如[自託管執行器](/docs/zh-TW/self-hosted-environments-configuration#mcp-servers),Claude Code 僅使用受管伺服器啟動,並跳過 claude.ai 連接器和雲端主機透過 `--mcp-config` 傳遞的其他伺服器。工作階段中沒有任何內容告訴使用者哪些伺服器被遺漏。Claude Code 在其 stderr 上的警告中命名它們,自託管執行器會在 `debug` 日誌級別記錄。115* 在部署該檔案的主機上的[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中,例如[自託管執行器](/docs/zh-TW/self-hosted-environments-configuration#mcp-servers),Claude Code 僅使用受管伺服器啟動,並跳過 claude.ai 連接器和雲端主機透過 `--mcp-config` 傳遞的其他伺服器。工作階段中沒有任何內容告訴使用者哪些伺服器被遺漏。Claude Code 在其 stderr 上的警告中命名它們,自託管執行器會在 `debug` 日誌級別記錄。

110 116 

111如果使用者傳遞 `--strict-mcp-config`,Claude Code 在工作站和雲端工作階段上都會在啟動時結束,因為該旗標要求取代受管集合。117`--strict-mcp-config` 旗標要求取代受管集合。如果使用者在部署此類檔案時傳遞它,Claude Code 在工作站和雲端工作階段上都會在啟動時結束。

112 118 

113<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">119<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">

114 允許清單和拒絕清單如何應用於受管集合120 允許清單和拒絕清單如何應用於受管集合


129 135 

130若要確認檔案生效,請在受管機器上執行兩項檢查:136若要確認檔案生效,請在受管機器上執行兩項檢查:

131 137 

1321. `claude mcp list` 只顯示 `managed-mcp.json` 中的伺服器,加上您透過 `managedMcpServers` 提供的任何伺服器。如果使用者自己的伺服器仍然出現,則檔案未被讀取;檢查路徑和權限。1381. `claude mcp list` 只顯示 `managed-mcp.json` 中的伺服器,加上您透過 `managedMcpServers` 提供的任何伺服器。兩個其他結果表示出現問題:

139 * 如果使用者自己的伺服器仍然出現,Claude Code 未讀取該檔案,因此請檢查其路徑和其父目錄的權限。

140 * 如果檔案的伺服器未出現,且 `MCP config diagnostics` 部分將企業設定標記為無法解析失敗,Claude Code 無法讀取或解析該檔案。修正該部分命名的錯誤,然後讓使用者重新啟動 Claude Code。

1332. `claude mcp add --transport http test https://example.com/mcp` 失敗,並顯示 `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`。URL 不需要是真實伺服器,因為原則檢查會在聯絡任何內容之前拒絕該命令。1412. `claude mcp add --transport http test https://example.com/mcp` 失敗,並顯示 `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`。URL 不需要是真實伺服器,因為原則檢查會在聯絡任何內容之前拒絕該命令。

134 142 

135<h3 id="disable-mcp-entirely">143<h3 id="disable-mcp-entirely">


267 275 

268若要將伺服器部署給使用者,請使用 [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) 或 [`managedMcpServers`](#provide-servers-through-managed-settings)。兩個清單也會篩選使用 [`--mcp-config` CLI 旗標](/docs/zh-TW/cli-reference#cli-flags)傳遞的伺服器,除了進程內 `type: "sdk"` 項目外;`--strict-mcp-config` 限制哪些設定檔會載入,不會繞過任一清單。276若要將伺服器部署給使用者,請使用 [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) 或 [`managedMcpServers`](#provide-servers-through-managed-settings)。兩個清單也會篩選使用 [`--mcp-config` CLI 旗標](/docs/zh-TW/cli-reference#cli-flags)傳遞的伺服器,除了進程內 `type: "sdk"` 項目外;`--strict-mcp-config` 限制哪些設定檔會載入,不會繞過任一清單。

269 277 

270若要使允許清單具有權威性,請在[受管設定來源](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices)(例如伺服器受管設定或已部署的 `managed-settings.json` 檔案)中同時設定 `allowedMcpServers` 和 `allowManagedMcpServersOnly: true`。[將允許清單限制為僅受管設定](#restrict-the-allowlist-to-managed-settings-only)顯示設定。沒有 `allowManagedMcpServersOnly`,來自每個設定範圍的允許清單會合併,包括使用者自己的 `~/.claude/settings.json`,因此使用者可以擴大您的允許清單允許的內容。拒絕清單無論如何都會從每個範圍合併。278若要使允許清單具有權威性,請在[受管設定來源](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices)(例如伺服器受管設定或已部署的 `managed-settings.json` 檔案)中同時設定 `allowedMcpServers` 和 `allowManagedMcpServersOnly: true`。

279 

280鎖定適用於每個由管理員控制的受管來源,因此已部署檔案中的鎖定仍然適用於同時使用不提及 MCP 的伺服器受管設定時。當鎖定開啟時,受管允許清單來自設定允許清單的最高排名管理員來源。跨來源讀取鎖定和允許清單需要 Claude Code v2.1.273 或更新版本。

281 

282[將允許清單限制為僅受管設定](#restrict-the-allowlist-to-managed-settings-only)顯示設定。

283 

284沒有 `allowManagedMcpServersOnly`,來自每個設定範圍的允許清單會合併,包括使用者自己的 `~/.claude/settings.json`,因此使用者可以擴大您的允許清單允許的內容。拒絕清單無論如何都會從每個範圍合併。

271 285 

272<Note>286<Note>

273 `allowManagedMcpServersOnly` 與 `allowManagedPermissionRulesOnly` 分開,後者鎖定[權限規則](/docs/zh-TW/permissions#managed-settings)。設定該旗標不會強制執行 MCP 允許清單。287 `allowManagedMcpServersOnly` 與 `allowManagedPermissionRulesOnly` 分開,後者鎖定[權限規則](/docs/zh-TW/permissions#managed-settings)。設定該旗標不會強制執行 MCP 允許清單。


300 314 

301`serverName` 驗證在兩個清單之間有所不同:315`serverName` 驗證在兩個清單之間有所不同:

302 316 

303* 在 `deniedMcpServers` 中,`serverName` 接受任何非空字串,因此您可以按其顯示名稱阻止 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。例如,`{ "serverName": "claude.ai Slack" }` 會阻止 Slack 連接器。當您需要拒絕對重新命名具有魯棒性時,或當連接器名稱衝突並獲得 ` (N)` 尾碼時,偏好使用 `serverUrl` 項目。317* 在 `deniedMcpServers` 中,`serverName` 接受任何非空字串,不含前導或尾隨空白,因此您可以按其顯示名稱阻止 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。例如,`{ "serverName": "claude.ai Slack" }` 會阻止 Slack 連接器。當您需要拒絕對重新命名具有魯棒性時,或當連接器名稱衝突並獲得 ` (N)` 尾碼時,偏好使用 `serverUrl` 項目。

304* 在 `allowedMcpServers` 中,`serverName` 限制為字母、數字、連字號和底線。使用 `serverUrl` 來允許列出 Claude Code 自行擷取的 claude.ai 連接器;對於雲端主機提供給自託管工作階段的連接器,請改用[連接器流量離開您的網路](/docs/zh-TW/self-hosted-environments-deploy#connector-traffic-leaves-your-network)下列出的項目。318* 在 `allowedMcpServers` 中,`serverName` 限制為字母、數字、連字號和底線。使用 `serverUrl` 來允許列出 Claude Code 自行擷取的 claude.ai 連接器;對於雲端主機提供給自託管工作階段的連接器,請改用[連接器流量離開您的網路](/docs/zh-TW/self-hosted-environments-deploy#connector-traffic-leaves-your-network)下列出的項目。

305 319 

306若要關閉 Claude Code 自行擷取的所有 claude.ai 連接器,請參閱 [`disableClaudeAiConnectors`](/docs/zh-TW/mcp#disable-claude-ai-connectors)。320若要關閉 Claude Code 自行擷取的所有 claude.ai 連接器,請參閱 [`disableClaudeAiConnectors`](/docs/zh-TW/mcp#disable-claude-ai-connectors)。


311 325 

312在載入伺服器之前(包括來自 `managed-mcp.json` 的伺服器),Claude Code 會按順序執行以下三項檢查。當使用者重新連接伺服器或在 `/mcp` 中開啟已停用的伺服器時,它會再次執行它們。進程內 `type: "sdk"` 伺服器([啟動工作階段的應用程式註冊](/docs/zh-TW/mcp#how-connectors-reach-claude-code))會跳過全部三項。326在載入伺服器之前(包括來自 `managed-mcp.json` 的伺服器),Claude Code 會按順序執行以下三項檢查。當使用者重新連接伺服器或在 `/mcp` 中開啟已停用的伺服器時,它會再次執行它們。進程內 `type: "sdk"` 伺服器([啟動工作階段的應用程式註冊](/docs/zh-TW/mcp#how-connectors-reach-claude-code))會跳過全部三項。

313 327 

3141. **合併清單。** 來自每個設定範圍的允許清單和拒絕清單項目合併為一個允許清單和一個拒絕清單,受管範圍的清單來自 [Claude Code 套用的受管來源或來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)。當 `allowManagedMcpServersOnly` 為 `true` 時,僅保留受管允許清單;拒絕清單始終從每個範圍合併。3281. **合併清單。** 來自每個設定範圍的允許清單和拒絕清單項目合併為一個允許清單和一個拒絕清單。當 `allowManagedMcpServersOnly` 為 `true` 時,僅保留受管允許清單;拒絕清單始終從每個範圍合併。當存在多個受管來源時,[從每個管理員來源讀取的鍵](/docs/zh-TW/managed-settings#keys-read-from-every-admin-source)說明其中哪些提供受管範圍的清單。

3152. **檢查拒絕清單。** 與任何拒絕清單項目比對的伺服器(按 URL、命令或名稱)會被阻止。沒有任何東西會覆蓋拒絕清單比對。3292. **檢查拒絕清單。** 與任何拒絕清單項目比對的伺服器(按 URL、命令或名稱)會被阻止。沒有任何東西會覆蓋拒絕清單比對。

3163. **檢查允許清單。** 如果 `allowedMcpServers` 未在任何地方設定,每個通過拒絕清單的伺服器都會載入。如果已設定,伺服器必須比對的內容取決於其類型,如下表所示。3303. **檢查允許清單。** 如果 `allowedMcpServers` 未在任何地方設定,每個通過拒絕清單的伺服器都會載入。如果已設定,伺服器必須比對的內容取決於其類型,如下表所示。

317 331 


503| 伺服器在拒絕清單上且使用者執行 `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| 伺服器在拒絕清單上且使用者執行 `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

504| 伺服器不在允許清單上且使用者執行 `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| 伺服器不在允許清單上且使用者執行 `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

505| 使用者在來自 `managedMcpServers` 的伺服器上執行 `claude mcp remove` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |519| 使用者在來自 `managedMcpServers` 的伺服器上執行 `claude mcp remove` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |

506| 先前設定的伺服器現在被原則封鎖 | 伺服器無聲地從 `/mcp` 和 `claude mcp list` 消失,沒有警告 |520| 先前設定的伺服器現在被原則封鎖 | 伺服器從 `/mcp` 和 `claude mcp list` 消失 |

507| 伺服器在工作階段執行時被封鎖,且使用者選擇 **重新連線** 或在 `/mcp` 中將其重新開啟 | [`MCP server <name> is blocked by enterprise managed policy`](/docs/zh-TW/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |521| 伺服器在工作階段執行時被封鎖,且使用者選擇 **重新連線** 或在 `/mcp` 中將其重新開啟 | [`MCP server <name> is blocked by enterprise managed policy`](/docs/zh-TW/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |

508 522 

509當伺服器無聲地消失時,使用者無法收到原則是原因的訊號,因此在推出新限制時,請告知受影響的使用者哪些伺服器被封鎖。523當伺服器無聲地消失時,使用者無法收到原則是原因的訊號,因此在推出新限制時,請告知受影響的使用者哪些伺服器被封鎖。


521本頁涵蓋的每個檔案和設定、它控制的內容以及如何傳遞它:535本頁涵蓋的每個檔案和設定、它控制的內容以及如何傳遞它:

522 536 

523| 表面 | 控制的內容 | 位置 | 傳遞方式 |537| 表面 | 控制的內容 | 位置 | 傳遞方式 |

524| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------- |538| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- |

525| `managed-mcp.json` | 固定伺服器集合、獨佔控制 | 系統路徑:`/Library/Application Support/ClaudeCode/`、`/etc/claude-code/` 或 `C:\Program Files\ClaudeCode\` | MDM、GPO、艦隊管理或任何具有管理員權限的程序。無法通過伺服器受管設定設定 |539| `managed-mcp.json` | 固定伺服器集合、獨佔控制 | 系統路徑:`/Library/Application Support/ClaudeCode/`、`/etc/claude-code/` 或 `C:\Program Files\ClaudeCode\` | MDM、GPO、艦隊管理或任何具有管理員權限的程序。無法通過伺服器受管設定設定 |

526| `managedMcpServers` | 提供給每個使用者的遠端伺服器,與他們自己的伺服器一起 | 僅受管設定來源;該設定在其他地方無效 | [受管設定來源](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices):伺服器受管設定、閘道原則、`managed-settings.json`、MDM 設定檔或 HKLM 登錄 |540| `managedMcpServers` | 提供給每個使用者的遠端伺服器,與他們自己的伺服器一起 | 僅受管設定來源;該設定在其他地方無效 | [受管設定來源](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices):伺服器受管設定、閘道原則、`managed-settings.json`、MDM 設定檔或 HKLM 登錄 |

527| `allowedMcpServers` | 允許的伺服器允許清單 | 任何 [設定範圍](/docs/zh-TW/settings#where-settings-live);Claude Code 會合併來自每個範圍的清單,除非設定了 `allowManagedMcpServersOnly`,並從它 [選擇](/docs/zh-TW/managed-settings#precedence-within-the-managed-tier) 或 [組合](/docs/zh-TW/managed-settings#compose-every-managed-source) 的受管來源中取得清單 | 為了強制執行,[受管設定來源](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices):伺服器受管設定、`managed-settings.json`、MDM 設定檔或登錄 |541| `allowedMcpServers` | 允許的伺服器允許清單 | 任何 [設定範圍](/docs/zh-TW/settings#where-settings-live);[伺服器如何被評估](#how-a-server-is-evaluated) 說明來自多個範圍和受管來源的清單如何組合 | 為了強制執行,[受管設定來源](/docs/zh-TW/admin-setup#decide-how-settings-reach-devices):伺服器受管設定、`managed-settings.json`、MDM 設定檔或登錄 |

528| `deniedMcpServers` | 被阻止的伺服器拒絕清單 | 任何設定範圍;Claude Code 會合併來自每個範圍的清單,以及跨受管來源,如 [Claude Code 如何組合受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources) 所述 | 與 `allowedMcpServers` 相同 |542| `deniedMcpServers` | 被阻止的伺服器拒絕清單 | 任何設定範圍;[伺服器如何被評估](#how-a-server-is-evaluated) 說明來自多個範圍和受管來源的清單如何組合 | 與 `allowedMcpServers` 相同 |

529| `allowManagedMcpServersOnly` | 將允許清單鎖定為僅受管來源 | 僅受管設定來源;該設定在其他地方無效 | 與 `allowedMcpServers` 相同 |543| `allowManagedMcpServersOnly` | 將允許清單鎖定為僅受管來源 | 僅受管設定來源;[從每個管理來源讀取的金鑰](/docs/zh-TW/managed-settings#keys-read-from-every-admin-source) 說明哪些受管來源可以開啟它。該設定在其他範圍無效 | 與 `allowedMcpServers` 相同 |

530| `allowAllClaudeAiMcps` | 在 `managed-mcp.json` 旁邊載入 Claude Code 自行擷取的 claude.ai 連接器。[在執行雲端工作階段的主機上的 `managed-mcp.json` 仍會抑制該工作階段的連接器](#allow-claude-ai-connectors-alongside-the-managed-set) | 僅受管設定來源;該設定在其他地方無效 | 與 `allowedMcpServers` 相同 |544| `allowAllClaudeAiMcps` | 在 `managed-mcp.json` 旁邊載入 Claude Code 自行擷取的 claude.ai 連接器。[在執行雲端工作階段的主機上的 `managed-mcp.json` 仍會抑制該工作階段的連接器](#allow-claude-ai-connectors-alongside-the-managed-set) | 僅受管設定來源;該設定在其他地方無效 | 與 `allowedMcpServers` 相同 |

531 545 

532<h2 id="related-resources">546<h2 id="related-resources">


536* [決定要強制執行的內容](/docs/zh-TW/admin-setup#decide-what-to-enforce):MCP 限制以及權限規則、沙箱和其他管理控制550* [決定要強制執行的內容](/docs/zh-TW/admin-setup#decide-what-to-enforce):MCP 限制以及權限規則、沙箱和其他管理控制

537* [通過 MCP 將 Claude Code 連接到工具](/docs/zh-TW/mcp):完整的 MCP 參考,包括傳輸、範圍和身份驗證551* [通過 MCP 將 Claude Code 連接到工具](/docs/zh-TW/mcp):完整的 MCP 參考,包括傳輸、範圍和身份驗證

538* [設定](/docs/zh-TW/settings):設定層次結構以及受管設定如何優先552* [設定](/docs/zh-TW/settings):設定層次結構以及受管設定如何優先

539* [伺服器受管設定](/docs/zh-TW/server-managed-settings):從 Claude.ai 管理控制台傳遞 `allowedMcpServers` 和 `deniedMcpServers`553* [伺服器受管設定](/docs/zh-TW/server-managed-settings):從 claude.ai 管理控制台傳遞 `allowedMcpServers` 和 `deniedMcpServers`

540* [安全](/docs/zh-TW/security):這些控制防禦的威脅模型554* [安全](/docs/zh-TW/security):這些控制防禦的威脅模型

541* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide):SSO、SCIM、座位管理和推出劇本555* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide):SSO、SCIM、座位管理和推出劇本

managed-settings.md +100 −87

Details

60上述步驟中的檔案是將受管設定放到機器上的四種方式之一。每個機制都帶有與 `settings.json` 檔案相同的原則金鑰,因此[設定參考](/docs/zh-TW/settings-reference)適用於所有機制。少數金鑰與特定來源相關聯,每個項目的 Scope 行說明哪些:60上述步驟中的檔案是將受管設定放到機器上的四種方式之一。每個機制都帶有與 `settings.json` 檔案相同的原則金鑰,因此[設定參考](/docs/zh-TW/settings-reference)適用於所有機制。少數金鑰與特定來源相關聯,每個項目的 Scope 行說明哪些:

61 61 

62* **傳遞控制項**:[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper)、[`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) 和 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior)62* **傳遞控制項**:[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper)、[`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) 和 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior)

63* **閘道登入金鑰**:[`forceLoginGatewayUrl`](/docs/zh-TW/settings-reference#forcelogingatewayurl) 和 [`forceLoginMethod`](/docs/zh-TW/settings-reference#forceloginmethod) 的 `"gateway"` 值63* **閘道登入金鑰**:[`forceLoginGatewayUrl`](/docs/zh-TW/settings-reference#forcelogingatewayurl)、[`gatewayInternalNetworks`](/docs/zh-TW/settings-reference#gatewayinternalnetworks) 和 [`forceLoginMethod`](/docs/zh-TW/settings-reference#forceloginmethod) 的 `"gateway"` 值

64 64 

65受管設定檔案、MDM 設定檔或 claude.ai 主控台對其到達的每個人應用一個原則。若要為一組開發者提供不同的原則,請將不同的檔案或設定檔部署到該組;claude.ai 主控台[還不能針對一個群組](/docs/zh-TW/server-managed-settings#current-limitations),而自託管[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)按 IdP 群組傳遞受管設定。65受管設定檔案、MDM 設定檔或 claude.ai 主控台對其到達的每個人應用一個原則。若要為一組開發者提供不同的原則,請將不同的檔案或設定檔部署到該組;claude.ai 主控台[還不能針對一個群組](/docs/zh-TW/server-managed-settings#current-limitations),而自託管[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)按 IdP 群組傳遞受管設定。

66 66 


141 Claude Code 如何結合受管來源141 Claude Code 如何結合受管來源

142</h2>142</h2>

143 143 

144當您的組織將多個受管來源傳遞到同一台機器時,[`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 金鑰決定 Claude Code 對其他來源的處理方式:144當您的組織向同一部機器提供多個受管來源時,[`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 金鑰決定 Claude Code 對其他來源的處理方式:

145 145 

146* **`"first-wins"`,預設值**:Claude Code 使用傳遞至少一個原則金鑰的最高排名來源,並忽略其餘來源,而不是合併它們,除了[從每個管理來源讀取的金鑰](#keys-read-from-every-admin-source)中的少數金鑰。Claude Code 對它跳過的來源不顯示警告;`/status` [命名它使用的來源和它跳過的來源](#read-the-source-in-/status)。146* **`"first-wins"`,預設值**:Claude Code 使用提供至少一個原則金鑰的最高排名來源,並忽略其餘來源,而不是合併它們,除了 [從每個管理員來源讀取的金鑰](#keys-read-from-every-admin-source) 中的金鑰。Claude Code 不會對它跳過的來源顯示警告;`/status` [命名它使用的來源和跳過的來源](#read-the-source-in-/status)。

147* **`"merge"`**:Claude Code 應用傳遞原則金鑰的每個管理來源,並按金鑰類型合併它們:在大多數金鑰上,最高排名來源的值適用,列表聯合,鎖定採用最嚴格的值。[組成每個受管來源](#compose-every-managed-source)說明在哪裡設定金鑰以及每種金鑰類型如何合併。需要 Claude Code v2.1.242 或更新版本。147* **`"merge"`**:Claude Code 應用提供原則金鑰的每個管理員來源,並按金鑰類型結合它們:在大多數金鑰上,較高排名來源的值適用,列表聯合,鎖定採用最嚴格的值。[組合每個受管來源](#compose-every-managed-source) 說明在何處設定金鑰以及每種金鑰類型如何結合。需要 Claude Code v2.1.242 或更新版本。

148 148 

149兩個設定以相同的方式排名來源。本節中重複出現兩個術語:149兩個設定以相同方式排名來源。這些術語在本節中重複出現:

150 150 

151* **原則金鑰**:除了兩個控制金鑰 [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) 和 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 之外的任何設定金鑰。只包含這些的受管設定檔案或 MDM 原則不計算,Claude Code 移動到下一個來源。151* **原則金鑰**:除了兩個控制金鑰 [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) 和 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 之外的任何設定金鑰。只包含這些的受管設定檔或 MDM 原則不計算,Claude Code 會移至下一個來源。

152* **管理來源**:下面前三個來源之一。HKCU 登錄是使用者可寫的,不是一個。152* **管理員來源**:以下前三個來源之一。HKCU 登錄是使用者可寫的,不是其中之一。

153 153 

154Claude Code 按此順序檢查來源,最高優先順序優先:154Claude Code 按此順序檢查來源,最高優先順序優先:

155 155 

1561. 遠端設定,從 claude.ai 作為[伺服器受管設定](/docs/zh-TW/server-managed-settings)或由[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)傳遞。Claude Code 僅在工作階段使用[符合條件的登入或金鑰](/docs/zh-TW/server-managed-settings#platform-availability)直接向 Anthropic 的 API 驗證,或使用 `/login` 登入閘道時擷取此來源。在其他提供者上,或當 `ANTHROPIC_BASE_URL` 指向 Anthropic 的 API 以外的地方時,它從下一個來源開始1561. 遠端設定,從 claude.ai 作為 [伺服器管理的設定](/docs/zh-TW/server-managed-settings) 或通過 [Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway) 提供。Claude Code 僅在工作階段使用 [符合條件的登入或金鑰](/docs/zh-TW/server-managed-settings#platform-availability) 直接向 Anthropic 的 API 進行身份驗證,或使用 `/login` 登入閘道時才會擷取此來源。在其他提供者上,或當 `ANTHROPIC_BASE_URL` 指向 Anthropic API 以外的地方時,它從下一個來源開始

1572. MDM 或作業系統層級原則:macOS plist 或 HKLM 登錄金鑰1572. MDM 或作業系統層級原則:macOS plist 或 HKLM 登錄金鑰

1583. 受管設定檔案,`managed-settings.d/*.json` 和 `managed-settings.json` 合併在一起1583. 受管設定檔,`managed-settings.d/*.json` 和 `managed-settings.json` 合併在一起

1594. HKCU 登錄,在 Windows 上,以及在 WSL 上,一旦 HKLM 登錄或 Windows 受管設定檔案開啟 [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) 並且 HKCU 值也設定它。Claude Code 僅在沒有上面的來源傳遞原則金鑰且沒有[主機提供的父設定](#let-an-embedding-host-add-policy)提供限制性金鑰時讀取它1594. HKCU 登錄,在 Windows 上,以及在 WSL 上,一旦 HKLM 登錄或 Windows 受管設定檔開啟 [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) 並且 HKCU 值也設定它。Claude Code 僅在上面沒有來源提供原則金鑰且沒有 [主機提供的父設定](#let-an-embedding-host-add-policy) 提供限制性金鑰時才讀取它

160 160 

161此圖表顯示排名,以及 Claude Code 在任一設定下從前三個來源讀取的跨來源金鑰的範例:161此圖表顯示排名,以及 Claude Code 在任一設定下從前三個來源讀取的跨來源金鑰的範例:

162 162 

163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="圖表顯示四個受管設定來源,從頂部的遠端設定排名到 MDM、受管設定檔案和底部的 HKCU 登錄。預設情況下,具有原則金鑰的第一個來源提供原則,其餘的被跳過;將 managedSourcesBehavior 設定為合併時,每個具有原則金鑰的管理來源都有貢獻,按金鑰類型合併,HKCU 登錄保持不變。側面板顯示跨來源金鑰,例如沙箱鎖、forceRemoteSettingsRefresh 和每個變數 env 合併,從每個管理來源讀取,不包括 HKCU 登錄。" width="680" height="330" data-path="images/managed-source-precedence.svg" />163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagram showing the four managed settings sources ranked from remote settings at the top through MDM, managed settings files, and the HKCU registry at the bottom. By default the first source with a policy key supplies the policy and the rest are skipped; with managedSourcesBehavior set to merge, every admin source with a policy key contributes, combined by kind of key, and the HKCU registry stays out. A side panel shows that cross-source keys such as the sandbox locks, forceRemoteSettingsRefresh, and the per-variable env merge are read from every admin source, which excludes the HKCU registry." width="680" height="330" data-path="images/managed-source-precedence.svg" />

164 164 

165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="圖表顯示四個受管設定來源,從頂部的遠端設定排名到 MDM、受管設定檔案和底部的 HKCU 登錄。預設情況下,具有原則金鑰的第一個來源提供原則,其餘的被跳過;將 managedSourcesBehavior 設定為合併時,每個具有原則金鑰的管理來源都有貢獻,按金鑰類型合併,HKCU 登錄保持不變。側面板顯示跨來源金鑰,例如沙箱鎖、forceRemoteSettingsRefresh 和每個變數 env 合併,從每個管理來源讀取,不包括 HKCU 登錄。" width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="Diagram showing the four managed settings sources ranked from remote settings at the top through MDM, managed settings files, and the HKCU registry at the bottom. By default the first source with a policy key supplies the policy and the rest are skipped; with managedSourcesBehavior set to merge, every admin source with a policy key contributes, combined by kind of key, and the HKCU registry stays out. A side panel shows that cross-source keys such as the sandbox locks, forceRemoteSettingsRefresh, and the per-variable env merge are read from every admin source, which excludes the HKCU registry." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />

166 166 

167<h3 id="keys-read-from-every-admin-source">167<h3 id="keys-read-from-every-admin-source">

168 從每個管理來源讀取的金鑰168 從每個管理員來源讀取的金鑰

169</h3>169</h3>

170 170 

171在預設 `"first-wins"` 設定下,Claude Code 僅從[它選擇的來源](#how-claude-code-combines-managed-sources)讀取大多數金鑰,並忽略較低排名來源中的值,即使選定的來源未設定該金鑰。171在預設的 `"first-wins"` 設定下,Claude Code 僅從 [它選擇的來源](#how-claude-code-combines-managed-sources) 讀取大多數金鑰,並忽略較低排名來源中的值,即使選定的來源未設定該金鑰。

172 172 

173少數金鑰的工作方式不同。Claude Code 從每個管理來源讀取它們,因此當選定的來源不設定時,較低排名的 MDM 原則或受管設定檔案仍然可以設定它們。Claude Code 將使用者可寫的 HKCU 登錄排除在該掃描之外;當 HKCU 是唯一的來源且沒有主機提供父設定時,HKCU 應用就像任何選定的來源。173少數金鑰的工作方式不同。Claude Code 從每個管理員來源讀取它們,因此當選定的來源未設定時,較低排名的 MDM 原則或受管設定檔仍然可以設定它們。Claude Code 將使用者可寫的 HKCU 登錄排除在該掃描之外;當 HKCU 是唯一的來源且沒有主機提供父設定時,HKCU 適用於任何選定的來源。

174 174 

175跨來源金鑰包括:175跨來源金鑰包括:

176 176 

177* `sandbox.network.allowManagedDomainsOnly` 和 `sandbox.filesystem.allowManagedReadPathsOnly`:任何管理來源中的 `true` 開啟鎖定。當鎖定開啟時,Claude Code 聯合它鎖定的允許清單,`sandbox.network.allowedDomains` 與 `WebFetch(domain:...)` 允許規則,或 `sandbox.filesystem.allowRead`,跨每個管理來源。沒有鎖定,Claude Code 將允許清單視為任何其他金鑰,因此在 `"first-wins"` 下,未選定的管理來源的允許清單被忽略177* `sandbox.network.allowManagedDomainsOnly` 和 `sandbox.filesystem.allowManagedReadPathsOnly`:任何管理員來源中的 `true` 會開啟鎖定。當鎖定開啟時,Claude Code 會聯合它鎖定的允許清單,`sandbox.network.allowedDomains` 連同 `WebFetch(domain:...)` 允許規則,或 `sandbox.filesystem.allowRead`,跨每個管理員來源。沒有鎖定,Claude Code 會將允許清單視為任何其他金鑰,因此在 `"first-wins"` 下,未選定的管理員來源的允許清單會被忽略

178* `allowAllClaudeAiMcps`178* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly`:任何管理員來源中的 `true` 會開啟 MCP 允許清單鎖定。當鎖定開啟時,受管的 `allowedMcpServers` 列表來自設定一個的最高排名管理員來源。伺服器管理的列表會取代較低來源的列表,而不是與其結合。

180 

181 如果沒有管理員來源設定列表,每個通過拒絕清單的伺服器都會載入,除非 [父設定](#let-an-embedding-host-add-policy) 提供列表。

182 

183 沒有鎖定,Claude Code 從它應用的受管來源讀取 `allowedMcpServers`,因此在 `"first-wins"` 下,未選定的管理員來源的列表會被忽略。需要 Claude Code v2.1.273 或更新版本

184* `deniedMcpServers` 和 [`disableClaudeAiConnectors`](/docs/zh-TW/settings-reference#disableclaudeaiconnectors):任何管理員來源中的項目或 `true` 都會適用。需要 Claude Code v2.1.273 或更新版本

179* 沙箱二進位路徑 `sandbox.bwrapPath` 和 `sandbox.socatPath`185* 沙箱二進位路徑 `sandbox.bwrapPath` 和 `sandbox.socatPath`

180* 沙箱 `ripgrep` 二進位,[`sandbox.ripgrep`](/docs/zh-TW/settings-reference#sandbox-ripgrep)186* 沙箱 `ripgrep` 二進位,[`sandbox.ripgrep`](/docs/zh-TW/settings-reference#sandbox-ripgrep)

181* `sandbox.filesystem.disabled` 和 `sandbox.network.strictAllowlist`187* `sandbox.filesystem.disabled` 和 `sandbox.network.strictAllowlist`

182* [`useAutoModeDuringPlan`](/docs/zh-TW/settings-reference#useautomodeduringplan) 和 [`syncClaudeAiSkills`](/docs/zh-TW/settings-reference#syncclaudeaiskills),其中任何管理來源的 `false` 關閉行為。開發者的使用者或本機設定中的 `false` 也關閉它;每個金鑰只能拒絕188* [`useAutoModeDuringPlan`](/docs/zh-TW/settings-reference#useautomodeduringplan)、[`syncClaudeAiSkills`](/docs/zh-TW/settings-reference#syncclaudeaiskills) 和 [`syncClaudeAiPlugins`](/docs/zh-TW/settings-reference#syncclaudeaiplugins),其中任何管理員來源的 `false` 會關閉該行為。開發人員的使用者或本機設定中的 `false` 也會關閉它;每個金鑰只能拒絕

183* [`enableArtifact`](/docs/zh-TW/settings-reference#enableartifact),其中任何管理來源的 `false` 關閉 [Artifact 工具](/docs/zh-TW/artifacts)。開發者的使用者、專案或本機設定中的 `false` 也關閉它,沒有來源將其打開;請參閱[哪些較低層級的值仍然計算](/docs/zh-TW/settings#exceptions-to-managed-settings-precedence)。需要 Claude Code v2.1.242 或更新版本189* [`enableArtifact`](/docs/zh-TW/settings-reference#enableartifact),其中任何管理員來源的 `false` 會關閉 [Artifact 工具](/docs/zh-TW/artifacts)。開發人員的使用者、專案或本機設定中的 `false` 也會關閉它,沒有來源會將其重新開啟;請參閱 [哪些較低層級的值仍然計算](/docs/zh-TW/settings#exceptions-to-managed-settings-precedence)。需要 Claude Code v2.1.242 或更新版本

184* [`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel),其中任何管理來源中的最低上限適用。如果開發者在自己的設定或 `--settings` 中設定較低的上限,Claude Code 應用那個;沒有來源可以提高上限。需要 Claude Code v2.1.267 或更新版本190* [`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel),其中任何管理員來源中的最低上限適用。如果開發人員在自己的設定或使用 `--settings` 中設定較低的上限,Claude Code 會應用該上限;沒有來源可以提高上限。需要 Claude Code v2.1.267 或更新版本

185* `attribution` 中的提交預告片選擇退出,或在已棄用的 `includeCoAuthoredBy` 中,來自任何層級191* `attribution` 中的提交預告片選擇退出,或在已棄用的 `includeCoAuthoredBy` 中,來自任何層級

186* [`forceRemoteSettingsRefresh`](/docs/zh-TW/server-managed-settings)192* [`forceRemoteSettingsRefresh`](/docs/zh-TW/server-managed-settings)

187* `env`,跨管理來源按變數合併:每個變數來自定義它的最高優先順序來源,因此較低來源填充較高來源未設定的變數。少數變數遵循自己的規則;[跨受管來源的每個金鑰例外](/docs/zh-TW/server-managed-settings#per-key-exceptions-across-managed-sources)命名每個。需要 Claude Code v2.1.223 或更新版本。在 v2.1.223 之前,Claude Code 僅應用選定來源的整個 `env` 區塊193* 跨管理員來源的 `env`,按變數合併:每個變數來自定義它的最高優先順序來源,因此較低來源填充較高來源未設定的變數。少數變數遵循自己的規則;[受管來源間的按金鑰例外](/docs/zh-TW/server-managed-settings#per-key-exceptions-across-managed-sources) 命名每一個。需要 Claude Code v2.1.223 或更新版本。在 v2.1.223 之前,Claude Code 僅應用選定來源的整個 `env` 區塊

194 

195[閘道登入金鑰](#choose-a-delivery-mechanism) 遵循單獨的規則。Claude Code 永遠不會從伺服器管理的設定讀取它們,因此當伺服器管理的設定是選定的來源時,機器上排名最高的管理員來源仍然提供它們。排名低於該來源的管理員來源中的值,或 HKCU 登錄中的值,會被忽略。

196 

197當管理員來源設定 `allowManagedMcpServersOnly` 或 `allowedMcpServers` 列表且該值不是生效的值時,`/status` 和 `claude doctor` 會命名該來源和金鑰。

188 198 

189<h3 id="compose-every-managed-source">199<h3 id="compose-every-managed-source">

190 組成每個受管來源200 組合每個受管來源

191</h3>201</h3>

192 202 

193若要讓 Claude Code 應用您的組織傳遞的每個管理來源,請在您部署的最高排名來源中將 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 設定為 `"merge"`。Claude Code 僅從攜帶金鑰或原則金鑰的最高排名來源讀取金鑰,因此較低來源無法選擇自己合併到上面的來源,並且從不接收伺服器受管設定的機器也需要其 MDM 設定檔中的金鑰。使用者可寫的 HKCU 登錄永遠不會與另一個來源合併。需要 Claude Code v2.1.242 或更新版本。203要讓 Claude Code 應用您的組織提供的每個管理員來源,請在您部署的最高排名來源中將 [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 設定為 `"merge"`。Claude Code 僅從攜帶金鑰或原則金鑰的最高排名來源讀取金鑰,因此較低來源無法選擇自己合併到上面的來源,並且從不接收伺服器管理設定的機器也需要在其 MDM 設定檔中有金鑰。使用者可寫的 HKCU 登錄永遠不會與另一個來源合併。需要 Claude Code v2.1.242 或更新版本。

194 204 

195在 `"merge"` 下,Claude Code 添加較低來源的列表項目,例如 `permissions.allow` 規則和掛鉤,到原則,因此僅在您最高排名來源下排名的每個來源都在管理員的控制下時才開啟它。205在 `"merge"` 下,Claude Code 添加較低來源的列表項目,例如 `permissions.allow` 規則和 hooks,到原則,因此僅在排名低於最高來源的每個來源都在管理員控制下時才開啟它。

196 206 

197此表顯示 Claude Code 在 `"merge"` 下如何組合每種金鑰。[`managedSourcesBehavior` 項目](/docs/zh-TW/settings-reference#managedsourcesbehavior)命名限制允許清單、值取整和最高來源僅行中的每個金鑰。207此表格顯示 Claude Code 在 `"merge"` 下如何結合每種金鑰。[`managedSourcesBehavior` 項目](/docs/zh-TW/settings-reference#managedsourcesbehavior) 命名三個行中的每個金鑰:限制允許清單、整體採用的值和僅從最高排名來源讀取的金鑰。

198 208 

199| 金鑰類型 | Claude Code 如何組合它 | 範例 |209| 金鑰類型 | Claude Code 如何結合它 | 範例 |

200| :------------ | :--------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |210| :------------ | :------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |

201| 列表 | 組合來自每個來源的項目 | `permissions.allow`、`hooks`、`sandbox.network.allowedDomains`、`deniedMcpServers` |211| 列表 | 結合來自每個來源的項目 | `permissions.allow`、`hooks`、`sandbox.network.allowedDomains`、`deniedMcpServers` |

202| 鎖定 | 應用任何來源設定的最嚴格值;較寬鬆的值僅從最高排名來源應用 | `allowManagedHooksOnly`、`permissions.disableBypassPermissionsMode`、`crossSessionInbound` |212| 鎖定 | 應用任何來源設定的最嚴格值;較寬鬆的值僅從最高排名來源適用 | `allowManagedHooksOnly`、`permissions.disableBypassPermissionsMode`、`crossSessionInbound` |

203| 限制允許清單 | 從設定它的最高排名來源取整個列表,不添加來自較低來源的項目 | `availableModels`、`allowedMcpServers`、`strictKnownMarketplaces`、`allowedChannelPlugins` 和 `fallbackModel` 鏈 |213| 限制允許清單 | 從設定它的最高排名來源整體採用列表,不添加來自較低來源的項目 | `availableModels`、`allowedMcpServers`、`strictKnownMarketplaces`、`allowedChannelPlugins` 和 `fallbackModel` 鏈 |

204| 值取整 | 從設定它的最高排名來源取整個值,不組合來自較低來源的項目或欄位 | `sandbox.credentials.awsPairs`、`sandbox.ripgrep` |214| 整體採用的值 | 從設定它的最高排名來源整體採用值,不結合來自較低來源的項目或欄位 | `sandbox.credentials.awsPairs`、`sandbox.ripgrep` |

205| 提供的 MCP 伺服器 | 組合來自每個來源的伺服器名稱;當兩個來源設定相同的名稱時,應用最高排名來源的整個項目 | `managedMcpServers` |215| 提供的 MCP 伺服器 | 結合來自每個來源的伺服器名稱;當兩個來源設定相同名稱時,應用較高排名來源的整個項目 | `managedMcpServers` |

206| 僅從最高排名來源讀取的金鑰 | 忽略每個較低來源中的金鑰,即使最高排名來源未設定它 | 認證協助程式,例如 `apiKeyHelper`、登入 pin,例如 `forceLoginOrgUUID`、`modelPicker`、`permissions.defaultMode` |216| 僅從最高排名來源讀取的金鑰 | 忽略每個較低來源中的金鑰,即使最高排名來源未設定它 | 認證幫助程式,例如 `apiKeyHelper`、登入 PIN,例如 `forceLoginOrgUUID`、`modelPicker`、`permissions.defaultMode` |

207| `env` | 在任一設定下跨管理來源按變數合併,如[從每個管理來源讀取的金鑰](#keys-read-from-every-admin-source)所述 | |217| `env` | 在任一設定下跨管理員來源按變數合併,如 [從每個管理員來源讀取的金鑰](#keys-read-from-every-admin-source) 所述 | |

208| 每個其他金鑰 | 從設定它的最高排名來源取值 | `model`、`cleanupPeriodDays` |218| 每個其他金鑰 | 從設定它的最高排名來源採用值 | `model`、`cleanupPeriodDays` |

209 219 

210若要確認機器上組合了哪些來源,請[讀取 `/status` 中的 `Setting sources` 行](#read-the-source-in-/status);該部分說明每個標籤的含義。220要確認機器上結合了哪些來源,[讀取 `/status` 中的 `Setting sources` 行](#read-the-source-in-/status);該部分說明每個標籤的含義。

211 221 

212<h3 id="compute-the-policy-with-a-helper-program">222<h3 id="compute-the-policy-with-a-helper-program">

213 使用協助程式程式計算原則223 使用幫助程式計算原則

214</h3>224</h3>

215 225 

216[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 是您的 MDM 原則或受管設定檔案命名的可執行檔,Claude Code 在啟動時執行它以計算受管設定。當選定的來源配置一個並且協助程式發出 `managedSettings` 物件時,該輸出改變 Claude Code 讀取的內容:226[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 是您的 MDM 原則或受管設定檔命名的可執行檔,Claude Code 在啟動時運行它以計算受管設定。當選定的來源配置一個並且幫助程式發出 `managedSettings` 物件時,該輸出會改變 Claude Code 讀取的內容:

217 227 

218* **發出的 `managedSettings` 物件是工作階段的唯一受管設定**,包括[它以其他方式從每個管理來源讀取的金鑰](#keys-read-from-every-admin-source),除了[`forceRemoteSettingsRefresh`,它有自己的啟動規則](/docs/zh-TW/settings-reference#forceremotesettingsrefresh)228* **發出的 `managedSettings` 物件是工作階段的唯一受管設定**,包括 [它以其他方式從每個管理員來源讀取的金鑰](#keys-read-from-every-admin-source),除了 [`forceRemoteSettingsRefresh`,它有自己的啟動規則](/docs/zh-TW/settings-reference#forceremotesettingsrefresh)

219 229 

220如需協助程式執行失敗的情況以及 Claude Code 在執行失敗時的處理方式,請參閱[協助程式失敗](/docs/zh-TW/settings-reference#helper-failures)。230有關幫助程式運行失敗的情況以及 Claude Code 在失敗時的處理方式,請參閱 [幫助程式失敗](/docs/zh-TW/settings-reference#helper-failures)。

221 231 

222<span id="parent-settings-from-embedding-hosts" />232<span id="parent-settings-from-embedding-hosts" />

223 233 


229 讓嵌入主機添加原則239 讓嵌入主機添加原則

230</h3>240</h3>

231 241 

232當另一個應用程式啟動 Claude Code 時,例如 Claude Desktop、IDE 擴充功能或 Agent SDK 應用程式,該主機可以透過 SDK `managedSettings` 選項傳遞自己的受管設定。Claude Code 將這些稱為父設定。242當另一個應用程式啟動 Claude Code 時,例如 Claude Desktop、IDE 擴充功能或 Agent SDK 應用程式,該主機可以通過 SDK `managedSettings` 選項傳遞自己的受管設定。Claude Code 將這些稱為父設定。

233 243 

234預設情況下,只要存在管理來源,Claude Code 就會忽略父設定:伺服器受管設定、MDM 或作業系統層級原則或受管設定檔案。244預設情況下,只要存在管理員來源,Claude Code 就會忽略父設定:伺服器管理的設定、MDM 或作業系統層級原則或受管設定檔。

235 245 

236若要讓 Claude Code 將父設定與管理來源合併,請在最高優先順序受管來源中將 [`parentSettingsBehavior`](/docs/zh-TW/settings-reference#parentsettingsbehavior) 設定為 `"merge"`;Claude Code 僅從該來源讀取金鑰。246要讓 Claude Code 將父設定與管理員來源合併,請在最高優先順序受管來源中將 [`parentSettingsBehavior`](/docs/zh-TW/settings-reference#parentsettingsbehavior) 設定為 `"merge"`;Claude Code 僅從該來源讀取金鑰。

237 247 

238Claude Code 然後僅保留主機限制 Claude 可以做什麼的值,有一個要知道的間隙:除非您也設定 `allowManaged*Only` 鎖定,主機的權限允許規則和沙箱允許清單仍然適用。請參閱[限制父設定](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings)以了解鎖定。248Claude Code 然後僅保留主機限制 Claude 可以執行的操作的值,有一個需要了解的間隙:除非您也設定 `allowManaged*Only` 鎖定,主機的權限允許規則和沙箱允許清單仍然適用。請參閱 [限制父設定](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings) 以了解鎖定。

239 249 

240[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 可以關閉父合併,無論此金鑰如何;其項目說明何時。250[`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) 可以關閉父合併,無論此金鑰如何;其項目說明何時。

241 251 

242Claude Code 也將這些檢查應用於父提供的值本身:252Claude Code 也對父提供的值本身應用這些檢查:

253 

254* 當任何管理員來源設定 `allowManagedPermissionRulesOnly` 時,Claude Code 會在讀取時刪除 [父提供的](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings) 權限允許規則和 `additionalDirectories`,即使較高優先順序來源未設定金鑰。金鑰對您自己的權限規則的影響來自 Claude Code 應用的受管設定,或來自您選擇合併的父設定

255* Claude Code 強制執行它應用的受管設定中的 `forceLoginOrgUUID` 或 `allowedMcpServers` 值,並阻止父提供的值。在 MCP 允許清單鎖定之外,Claude Code 不應用的較低管理員來源中的值既不應用也不阻止父的值。

243 256 

244* 當任何管理來源設定 `allowManagedPermissionRulesOnly` 時,Claude Code 在讀取時刪除[父提供的](/docs/zh-TW/claude-apps-gateway#restrict-parent-settings)權限允許規則和 `additionalDirectories`,即使較高優先順序來源未設定金鑰。金鑰對您自己的權限規則的影響來自 Claude Code 應用的受管設定,或來自您選擇合併的父設定257 在 Claude Code v2.1.273 或更新版本上,當 `allowManagedMcpServersOnly` 開啟時,來自設定一個的最高排名管理員來源的 `allowedMcpServers` 列表適用並阻止父的值,作為 [跨來源金鑰](#keys-read-from-every-admin-source)。父的列表僅在沒有管理員來源設定一個時適用。[`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 項目說明在 `"merge"` 下哪個來源提供每個金鑰。在 v2.1.223 之前,任何管理員來源中的值都會阻止父的值

245* Claude Code 強制執行它應用的受管設定中的 `forceLoginOrgUUID` 或 `allowedMcpServers` 值,並阻止父提供的值。較低管理來源中的值,Claude Code 不應用既不應用也不阻止父的值。[`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) 項目說明在 `"merge"` 下哪個來源提供每個金鑰。在 v2.1.223 之前,任何管理來源中的值阻止父的值258* 對於 `availableModels`,Claude Code 強制執行它應用的受管設定中的值並阻止父提供的列表

246* `availableModels` 值遵循與 `allowedMcpServers` 相同的規則

247 259 

248<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">260<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

249 當僅應用受管規則時保持 Cowork 資料夾存取261 當僅應用受管規則時保持 Cowork 資料夾存取

250</h4>262</h4>

251 263 

252Claude Desktop 應用程式中的 [Cowork](https://claude.com/docs/cowork/overview) 在 Claude Code 上執行其工作階段,並透過在啟動工作階段時提供的允許規則授予每個工作階段對其工作資料夾(例如使用者連接的資料夾)的存取權。當您的受管原則設定 [`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) 時,Claude Code 僅保留受管原則中的允許規則:它刪除主機作為父設定提供的允許規則、`--allowedTools` 或設定檔案中的允許規則,因此對這些資料夾的寫入失去其預先批准。在要求編輯前的 Cowork 工作階段中,Cowork 無法顯示提示,Claude 將每次寫入報告為被阻止,因為路徑解析為受保護的位置或連接資料夾外的路徑。264Claude Desktop 應用程式中的 [Cowork](https://claude.com/docs/cowork/overview) 在 Claude Code 上運行其工作階段,並通過它在啟動工作階段時提供的允許規則授予每個工作階段對其工作資料夾(例如使用者連接的資料夾)的存取權限。當您的受管原則設定 [`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) 時,Claude Code 僅保留受管原則中的允許規則:它刪除主機作為父設定、`--allowedTools` 或設定檔中提供的允許規則,因此對這些資料夾的寫入會失去預先批准。在要求編輯前的 Cowork 工作階段中,Cowork 無法顯示提示,Claude 將每次寫入報告為被阻止,因為路徑解析為受保護位置或連接資料夾外的路徑。

253 265 

254若要恢復寫入,請為這些資料夾添加允許規則到 Claude Code [選擇](#precedence-within-the-managed-tier)的受管來源在這些機器上:在 MDM 受管機隊上,那是 MDM 原則而不是單獨的受管設定檔案。此範例使用檔案形式,MDM 原則採用相同的金鑰。它保持 `allowManagedPermissionRulesOnly` 設定並允許在每個使用者主目錄中的 `CoworkProjects` 資料夾下編輯;將路徑替換為您的使用者連接的資料夾:266要恢復寫入,請為這些資料夾添加允許規則到 Claude Code [選擇](#precedence-within-the-managed-tier) 的受管來源在這些機器上:在 MDM 管理的機隊上,那是 MDM 原則而不是單獨的受管設定檔。此範例使用檔案形式,MDM 原則採用相同的金鑰。它保持 `allowManagedPermissionRulesOnly` 設定並允許在每個使用者主目錄中的 `CoworkProjects` 資料夾下編輯;將路徑替換為您的使用者連接的資料夾:

255 267 

256```json managed-settings.json theme={null}268```json managed-settings.json theme={null}

257{269{


264}276}

265```277```

266 278 

267部署原則後,Claude 可以在新的 Cowork 工作階段中將檔案儲存在該資料夾下。[讀取和編輯規則](/docs/zh-TW/permissions#read-and-edit)涵蓋路徑語法,包括絕對路徑的 `//` 形式。279部署原則後,Claude 可以在新 Cowork 工作階段中的該資料夾下保存檔案。[讀取和編輯規則](/docs/zh-TW/permissions#read-and-edit) 涵蓋路徑語法,包括絕對路徑的 `//` 形式。

268 280 

269<h3 id="what-a-developer-can-change">281<h3 id="what-a-developer-can-change">

270 開發者可以變更什麼282 開發人員可以更改的內容

271</h3>283</h3>

272 284 

273開發者自己的設定檔案、`--settings` 值和專案檔案永遠不會覆蓋受管值;[例外](/docs/zh-TW/settings#exceptions-to-managed-settings-precedence)僅讓較嚴格的較低層級值計算。四件事在該規則之外:285開發人員自己的設定檔、`--settings` 值和專案檔案永遠不會覆蓋受管值;[例外](/docs/zh-TW/settings#exceptions-to-managed-settings-precedence) 僅允許更嚴格的較低層級值計算。這些情況位於該規則之外:

274 286 

275* **工作階段的模型**:受管 `model` 是預設值,不是鎖定。`--model` 和 `ANTHROPIC_MODEL` 仍然為該工作階段選擇模型,因此部署 [`availableModels`](/docs/zh-TW/settings-reference#availablemodels) 以限制選擇。287* **工作階段的模型**:受管 `model` 是預設值,不是鎖定。`--model` 和 `ANTHROPIC_MODEL` 仍然為該工作階段選擇模型,因此部署 [`availableModels`](/docs/zh-TW/settings-reference#availablemodels) 以限制選擇。

276* **本機管理員權限**:作為機器上管理員的開發者可以編輯受管來源本身,這就是為什麼 MDM 工具可以按排程重新部署設定檔或檔案,以及為什麼 HKLM 登錄和 macOS 受管偏好設定網域存在。288* **本機管理員權限**:作為機器上管理員的開發人員可以編輯受管來源本身,這就是為什麼 MDM 工具可以按計劃重新部署設定檔或檔案,以及為什麼 HKLM 登錄和 macOS 受管偏好設定域存在。

277* **伺服器受管快取**:伺服器受管設定來自 Anthropic 的伺服器,對本機快取的編輯[僅持續到下一次成功擷取](/docs/zh-TW/server-managed-settings#security-considerations)。289* **伺服器管理的快取**:伺服器管理的設定來自 Anthropic 的伺服器,對本機快取的編輯 [僅持續到下一次成功擷取](/docs/zh-TW/server-managed-settings#security-considerations)。

278* **其他工具**:受管設定僅綁定 Claude Code。從另一個工具呼叫 API 的開發者不在它們下。290* **其他工具**:受管設定僅綁定 Claude Code。從另一個工具呼叫 API 的開發人員不受它們約束。

279 291 

280<span id="verify-enforcement" />292<span id="verify-enforcement" />

281 293 


360| `availableModels` | 強制執行為空允許清單,直到修復,因此僅預設模型可用;非字串項目被剝離,有效子集被強制執行。 |372| `availableModels` | 強制執行為空允許清單,直到修復,因此僅預設模型可用;非字串項目被剝離,有效子集被強制執行。 |

361| `enforceAvailableModels` | 視為 `true`。 |373| `enforceAvailableModels` | 視為 `true`。 |

362| `forceLoginOrgUUID` | 沒有組織被允許登入,直到值被修復。 |374| `forceLoginOrgUUID` | 沒有組織被允許登入,直到值被修復。 |

375| `gatewayInternalNetworks` | 當無效值來自機器上最高的受管來源時,`/login` 拒絕該機器上的每個新[雲閘道](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)登入,直到值被修復。 |

363| `crossSessionInbound` | 視為 `refuse`,最嚴格的值,因此入站[跨工作階段訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)被拒絕,直到值被修復。開發者看到[警告](/docs/zh-TW/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse)。 |376| `crossSessionInbound` | 視為 `refuse`,最嚴格的值,因此入站[跨工作階段訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)被拒絕,直到值被修復。開發者看到[警告](/docs/zh-TW/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse)。 |

364| `deniedMcpServers` | 個別無效項目被剝離,有效子集被強制執行。完全無效的值被刪除並顯示警告,因為拒絕每個伺服器會阻止原則從未命名的伺服器。 |377| `deniedMcpServers` | 個別無效項目被剝離,有效子集被強制執行。完全無效的值被刪除並顯示警告,因為拒絕每個伺服器會阻止原則從未命名的伺服器。 |

365| `sandbox.credentials` | 可恢復的無效項目降級為 `mode: "deny"` 並顯示警告;無法恢復的項目被剝離;有效項目保持強制執行。請參閱[受管設定中的無效認證項目](/docs/zh-TW/settings-reference#invalid-credential-entries-in-managed-settings) |378| `sandbox.credentials` | 可恢復的無效項目降級為 `mode: "deny"` 並顯示警告;無法恢復的項目被剝離;有效項目保持強制執行。請參閱[受管設定中的無效認證項目](/docs/zh-TW/settings-reference#invalid-credential-entries-in-managed-settings) |


373<span id="managed-only-settings" />386<span id="managed-only-settings" />

374 387 

375<h2 id="keys-only-a-managed-source-can-set">388<h2 id="keys-only-a-managed-source-can-set">

376 僅受管來源可以設定的金鑰389 只有受管理來源可以設定的金鑰

377</h2>390</h2>

378 391 

379Claude Code 僅從受管來源讀取以下金鑰;將它們放在使用者或專案設定檔案中無效。392Claude Code 只從受管理來源讀取以下金鑰;將它們放在使用者或專案設定檔中沒有效果。

380 393 

381大多數是鎖定:鎖定管理的值,例如權限規則或 `sandbox.network.allowedDomains`,是任何層級都可以設定的普通金鑰,鎖定告訴 Claude Code 僅尊重受管值。394其中大多數是鎖定:鎖定所管理的值,例如權限規則或 `sandbox.network.allowedDomains`,是任何層級都可以設定的普通金鑰,而鎖定會告訴 Claude Code 只遵守受管理的值。

382 395 

383表格涵蓋權限、外掛和傳遞控制項。對於此處未列出的任何金鑰,[設定參考](/docs/zh-TW/settings-reference#all-settings)索引的 Scope 列說明它是否僅受管;其餘僅受管金鑰包括閘道登入 URL、版本、瀏覽器、行動模擬器、SSH 主機、Desktop 本機工作階段、沙箱二進位路徑、模型定價和 CLAUDE.md 控制項。396該表涵蓋權限、外掛程式和傳遞控制。對於此處未列出的任何金鑰,[設定參考](/docs/zh-TW/settings-reference#all-settings)索引的「範圍」欄會說明它是否為僅受管理;其中剩餘的僅受管理金鑰包括閘道登入 URL、版本、瀏覽器、行動模擬器、SSH 主機、Desktop 本機工作階段、沙箱二進位路徑、模型定價和 CLAUDE.md 控制。

384 397 

385| 設定 | 描述 |398| 設定 | 說明 |

386| :----------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |399| :----------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

387| [`allowAllClaudeAiMcps`](/docs/zh-TW/settings-reference#allowallclaudeaimcps) | 載入 Claude Code 自己擷取的 claude.ai 連接器,與部署的 `managed-mcp.json` 一起,而不是抑制它們 |400| [`allowAllClaudeAiMcps`](/docs/zh-TW/settings-reference#allowallclaudeaimcps) | 載入 Claude Code 自行擷取的 claude.ai 連接器,與已部署的 `managed-mcp.json` 一起,而不是抑制它們 |

388| [`allowedChannelPlugins`](/docs/zh-TW/settings-reference#allowedchannelplugins) | 可能推送訊息的頻道外掛的允許清單。設定時替換預設 Anthropic 允許清單。需要 `channelsEnabled: true`。請參閱[限制哪些頻道外掛可以執行](/docs/zh-TW/channels#restrict-which-channel-plugins-can-run) |401| [`allowedChannelPlugins`](/docs/zh-TW/settings-reference#allowedchannelplugins) | 可能推送訊息的頻道外掛程式的允許清單。設定時會取代預設的 Anthropic 允許清單。需要 `channelsEnabled: true`。請參閱[限制哪些頻道外掛程式可以執行](/docs/zh-TW/channels#restrict-which-channel-plugins-can-run) |

389| [`allowManagedHooksOnly`](/docs/zh-TW/settings-reference#allowmanagedhooksonly) | 當 `true` 時,限制哪些掛鉤執行;請參閱[在 `allowManagedHooksOnly` 下執行什麼](/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)以了解完整效果清單 |402| [`allowManagedHooksOnly`](/docs/zh-TW/settings-reference#allowmanagedhooksonly) | 當為 `true` 時,限制哪些 hooks 執行;請參閱[在 `allowManagedHooksOnly` 下執行的內容](/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)以取得完整效果清單 |

390| [`allowManagedMcpServersOnly`](/docs/zh-TW/settings-reference#allowmanagedmcpserversonly) | 當 `true` 時,僅受管設定中的 `allowedMcpServers` 被尊重。`deniedMcpServers` 仍然從所有來源合併。請參閱[受管 MCP 設定](/docs/zh-TW/managed-mcp) |403| [`allowManagedMcpServersOnly`](/docs/zh-TW/settings-reference#allowmanagedmcpserversonly) | 當為 `true` 時,只有來自受管理設定的 `allowedMcpServers` 會被遵守。`deniedMcpServers` 仍會從所有來源合併。請參閱[從每個管理員來源讀取的金鑰](#keys-read-from-every-admin-source)以了解哪些受管理來源可以設定它,以及[受管理 MCP 配置](/docs/zh-TW/managed-mcp) |

391| [`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) | 使受管設定成為權限規則的唯一設定來源。項目列出它忽略的每個來源 |404| [`allowManagedPermissionRulesOnly`](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly) | 使受管理設定成為權限規則的唯一設定來源。該項目列出它忽略的每個來源 |

392| [`blockedMarketplaces`](/docs/zh-TW/settings-reference#blockedmarketplaces) | 市場來源的封鎖清單。被封鎖的來源在下載前被檢查,因此它們永遠不會接觸檔案系統。請參閱[受管市場限制](/docs/zh-TW/plugin-marketplaces#managed-marketplace-restrictions) |405| [`blockedMarketplaces`](/docs/zh-TW/settings-reference#blockedmarketplaces) | 市集來源的封鎖清單。在下載前檢查被封鎖的來源,因此它們永遠不會接觸檔案系統。請參閱[受管理市集限制](/docs/zh-TW/plugin-marketplaces#managed-marketplace-restrictions) |

393| [`channelsEnabled`](/docs/zh-TW/settings-reference#channelsenabled) | 允許組織的[頻道](/docs/zh-TW/channels)。請參閱[企業控制項](/docs/zh-TW/channels#enterprise-controls)以了解每個計畫上的預設值 |406| [`channelsEnabled`](/docs/zh-TW/settings-reference#channelsenabled) | 允許組織使用[頻道](/docs/zh-TW/channels)。請參閱[企業控制](/docs/zh-TW/channels#enterprise-controls)以了解每個方案的預設值 |

394| [`disableCommandPluginSources`](/docs/zh-TW/settings-reference#disablecommandpluginsources) | 當 `true` 時,完全阻止[`command` 外掛來源](/docs/zh-TW/plugin-marketplaces#command-sources),因此市場聲明的命令永遠不會執行。也阻止市場[`headersHelper` 命令](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads),除了受管設定本身聲明的市場。未設定時,遵循 `allowManagedHooksOnly`。需要 Claude Code v2.1.229 或更新版本,`headersHelper` 區塊需要 v2.1.238 或更新版本 |407| [`disableCommandPluginSources`](/docs/zh-TW/settings-reference#disablecommandpluginsources) | 當為 `true` 時,完全封鎖[`command` 外掛程式來源](/docs/zh-TW/plugin-marketplaces#command-sources),因此市集宣告的命令永遠不會執行。也會封鎖市集[`headersHelper` 命令](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads),除了受管理設定本身宣告的市集。未設定時,遵循 `allowManagedHooksOnly`。需要 Claude Code v2.1.229 或更新版本,而 `headersHelper` 封鎖需要 v2.1.238 或更新版本 |

395| [`disableSideloadFlags`](/docs/zh-TW/settings-reference#disablesideloadflags) | 在啟動時拒絕 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config` 標誌。在雲端工作階段中,Claude Code 刪除伺服器透過 `--mcp-config` 傳遞的 MCP 伺服器,除了進程內 `type: "sdk"` 項目,並啟動工作階段。需要 Claude Code v2.1.193 或更新版本 |408| [`disableSideloadFlags`](/docs/zh-TW/settings-reference#disablesideloadflags) | 在啟動時拒絕 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config` 旗標。在雲端工作階段中,Claude Code 會捨棄伺服器透過 `--mcp-config` 傳遞的 MCP 伺服器,除了同處理序 `type: "sdk"` 項目,並啟動工作階段。需要 Claude Code v2.1.193 或更新版本 |

396| [`forceRemoteSettingsRefresh`](/docs/zh-TW/settings-reference#forceremotesettingsrefresh) | 當 `true` 時,阻止 CLI 啟動,直到遠端受管設定被新鮮擷取,如果擷取失敗則退出。請參閱[失敗關閉強制執行](/docs/zh-TW/server-managed-settings#enforce-fail-closed-startup) |409| [`forceRemoteSettingsRefresh`](/docs/zh-TW/settings-reference#forceremotesettingsrefresh) | 當為 `true` 時,會封鎖 CLI 啟動,直到遠端受管理設定被新鮮擷取,如果擷取失敗則退出。請參閱[失敗關閉強制執行](/docs/zh-TW/server-managed-settings#enforce-fail-closed-startup) |

397| [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) | 提供給每個使用者與他們自己的遠端 MCP 伺服器。它提供伺服器而不是鎖定任何東西。請參閱[透過受管設定提供伺服器](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)。需要 Claude Code v2.1.259 或更新版本 |410| [`managedMcpServers`](/docs/zh-TW/settings-reference#managedmcpservers) | 提供給每個使用者的遠端 MCP 伺服器,與他們自己的伺服器一起。它提供伺服器而不是鎖定任何東西。請參閱[透過受管理設定提供伺服器](/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings)。需要 Claude Code v2.1.259 或更新版本 |

398| [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) | Claude Code 是否僅應用最高優先順序受管來源或[組成它們中的每一個](#compose-every-managed-source) |411| [`managedSourcesBehavior`](/docs/zh-TW/settings-reference#managedsourcesbehavior) | Claude Code 是否只應用最高優先級的受管理來源或[組合每一個](#compose-every-managed-source) |

399| [`parentSettingsBehavior`](/docs/zh-TW/settings-reference#parentsettingsbehavior) | 主機提供的父設定是否在受管原則下合併 |412| [`parentSettingsBehavior`](/docs/zh-TW/settings-reference#parentsettingsbehavior) | 主機提供的父設定是否在受管理原則下合併 |

400| [`pluginSuggestionMarketplaces`](/docs/zh-TW/settings-reference#pluginsuggestionmarketplaces) | Claude Code 可能向使用者建議其外掛的市場 |413| [`pluginSuggestionMarketplaces`](/docs/zh-TW/settings-reference#pluginsuggestionmarketplaces) | Claude Code 可能向使用者建議其外掛程式的市集 |

401| [`pluginTrustMessage`](/docs/zh-TW/settings-reference#plugintrustmessage) | 附加到安裝前顯示的外掛信任警告的自訂訊息 |414| [`pluginTrustMessage`](/docs/zh-TW/settings-reference#plugintrustmessage) | 附加到安裝前顯示的外掛程式信任警告的自訂訊息 |

402| [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) | 在啟動時計算受管設定的可執行檔;請參閱[使用原則協助程式計算受管設定](/docs/zh-TW/settings-reference#policyhelper) |415| [`policyHelper`](/docs/zh-TW/settings-reference#policyhelper) | 在啟動時計算受管理設定的可執行檔;請參閱[使用原則協助程式計算受管理設定](/docs/zh-TW/settings-reference#policyhelper) |

403| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/zh-TW/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | 當 `true` 時,僅受管設定中的 `filesystem.allowRead` 路徑被尊重。`denyRead` 仍然從所有來源合併 |416| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/zh-TW/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | 當為 `true` 時,只有來自受管理設定的 `filesystem.allowRead` 路徑會被遵守。`denyRead` 仍會從所有來源合併 |

404| [`sandbox.network.allowManagedDomainsOnly`](/docs/zh-TW/settings-reference#sandbox-network-allowmanageddomainsonly) | 僅尊重受管 `allowedDomains` 和 `WebFetch(domain:...)` 允許規則;阻止其他網域而不提示 |417| [`sandbox.network.allowManagedDomainsOnly`](/docs/zh-TW/settings-reference#sandbox-network-allowmanageddomainsonly) | 只遵守受管理的 `allowedDomains` 和 `WebFetch(domain:...)` 允許規則;封鎖其他網域而不提示 |

405| [`strictKnownMarketplaces`](/docs/zh-TW/settings-reference#strictknownmarketplaces) | 控制使用者可以添加和安裝外掛的外掛市場來源。請參閱[受管市場限制](/docs/zh-TW/plugin-marketplaces#managed-marketplace-restrictions) |418| [`strictKnownMarketplaces`](/docs/zh-TW/settings-reference#strictknownmarketplaces) | 控制使用者可以新增和安裝外掛程式的外掛程式市集來源。請參閱[受管理市集限制](/docs/zh-TW/plugin-marketplaces#managed-marketplace-restrictions) |

406| [`strictPluginOnlyCustomization`](/docs/zh-TW/settings-reference#strictpluginonlycustomization) | 阻止技能、代理、掛鉤和 MCP 伺服器來自使用者和專案來源;`true` 鎖定所有四個,陣列命名哪些 |419| [`strictPluginOnlyCustomization`](/docs/zh-TW/settings-reference#strictpluginonlycustomization) | 從使用者和專案來源封鎖技能、代理程式、hooks 和 MCP 伺服器;`true` 鎖定全部四個,陣列命名哪個 |

407| [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) | 當在 HKLM 登錄或 `C:\Program Files\ClaudeCode` 下的檔案中設定時,讓 WSL 讀取 Windows 原則鏈,並僅當該目錄下的受管設定檔案或放置不傳遞[原則金鑰](#how-claude-code-combines-managed-sources)時讀取 `/etc/claude-code`;項目給出順序 |420| [`wslInheritsWindowsSettings`](/docs/zh-TW/settings-reference#wslinheritswindowssettings) | 當在 HKLM 登錄或 `C:\Program Files\ClaudeCode` 下的檔案中設定時,讓 WSL 讀取 Windows 原則鏈,並且只在該目錄下沒有受管理設定檔或放置項目傳遞[原則金鑰](#how-claude-code-combines-managed-sources)時才讀取 `/etc/claude-code`;該項目給出順序 |

408 421 

409<Note>422<Note>

410 在團隊和企業計畫上,所有者在 [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code)中組織範圍內啟用或禁用[遠端控制](/docs/zh-TW/remote-control)和[網路工作階段](/docs/zh-TW/claude-code-on-the-web)。遠端控制可以另外透過 [`disableRemoteControl`](/docs/zh-TW/settings-reference#disableremotecontrol) 設定按裝置禁用。網路工作階段沒有按裝置受管設定金鑰。423 在 Team 和 Enterprise 方案上,擁有者在 [Claude Code 管理員設定](https://claude.ai/admin-settings/claude-code)中為整個組織啟用或停用[遠端控制](/docs/zh-TW/remote-control)和[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。遠端控制還可以透過 [`disableRemoteControl`](/docs/zh-TW/settings-reference#disableremotecontrol) 設定按裝置停用。雲端工作階段沒有按裝置的受管理設定金鑰。

411 424 

412 若要檢查這些組織設定是否到達給定的機器,請在那裡執行 `claude doctor` 並讀取 `Organization policy` 行,它說明 Claude Code 從哪裡載入原則或為什麼它沒有載入。需要 Claude Code v2.1.261 或更新版本。在執行中的工作階段中,當原則未載入時,`/status` 顯示相同的行。425 若要檢查這些組織設定是否到達指定的機器,請在該處執行 `claude doctor`,並讀取 `Organization policy` 行,該行會說明 Claude Code 從何處載入原則或為什麼沒有載入。需要 Claude Code v2.1.261 或更新版本。在執行中的工作階段中,當原則未載入時,`/status` 會顯示相同的行。

413</Note>426</Note>

414 427 

415<h2 id="turn-telemetry-off-for-your-organization">428<h2 id="turn-telemetry-off-for-your-organization">

Details

308* **Claude Code 桌面應用程式**:透過[連接器 UI](/docs/zh-TW/desktop#connect-external-tools) 新增伺服器。308* **Claude Code 桌面應用程式**:透過[連接器 UI](/docs/zh-TW/desktop#connect-external-tools) 新增伺服器。

309* **Claude Desktop 聊天應用程式**:與 Claude Code 不同的應用程式。若要將其 `claude_desktop_config.json` 中的伺服器複製到 CLI,請在 macOS 或 WSL 上執行 `claude mcp add-from-claude-desktop`。309* **Claude Desktop 聊天應用程式**:與 Claude Code 不同的應用程式。若要將其 `claude_desktop_config.json` 中的伺服器複製到 CLI,請在 macOS 或 WSL 上執行 `claude mcp add-from-claude-desktop`。

310* **VS Code**:請參閱[使用 MCP 連接到外部工具](/docs/zh-TW/vs-code#connect-to-external-tools-with-mcp)。310* **VS Code**:請參閱[使用 MCP 連接到外部工具](/docs/zh-TW/vs-code#connect-to-external-tools-with-mcp)。

311* **網頁上的 Claude Code**:從您的儲存庫讀取 `.mcp.json`。請參閱[直接編輯 .mcp.json](#edit-mcp-json-directly)。311* **雲端工作階段**:將 `.mcp.json` 提交到您的儲存庫;載入一個儲存庫的工作階段會載入它。請參閱[直接編輯 .mcp.json](#edit-mcp-json-directly) 和[您的設定中有哪些會保留](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。

312* **Claude.ai**:您在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 新增的連接器在您使用該帳戶登入時自動載入 CLI。請參閱[從 Claude.ai 使用 MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。312* **Claude.ai**:您在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 新增的連接器在您使用該帳戶登入時自動載入 CLI。請參閱[從 Claude.ai 使用 MCP 伺服器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)。

313 313 

314<h2 id="troubleshooting">314<h2 id="troubleshooting">

memory.md +259 −130

Details

4 4 

5# Claude 如何記住您的專案5# Claude 如何記住您的專案

6 6 

7> 使用 CLAUDE.md 檔案為 Claude 提供持久指令,並讓 Claude 透過自動記憶自動累積學習。7> 使用 CLAUDE.md 或 AGENTS.md 檔案為 Claude 提供持久指示,並讓 Claude 透過自動記憶自動累積學習。

8 8 

9每個 Claude Code 工作階段都以全新的 context window 開始。兩個機制可以跨工作階段傳遞知識:9每個 Claude Code 工作階段都以全新的內容視窗開始。兩個機制可以跨工作階段傳遞知識:

10 10 

11* **CLAUDE.md 檔案**:您編寫的指令,為 Claude 提供持久的上下文11* **CLAUDE.md 檔案**:您撰寫的指示,為 Claude 提供持久內容。Claude 也可以讀取儲存庫的 [`AGENTS.md` 檔案](#agents-md),單獨使用或與 CLAUDE.md 一起使用

12* **自動記憶**:Claude 根據您的更正和偏好自己編寫的筆記12* **自動記憶**:Claude 根據您的更正和偏好自己撰寫的筆記

13 13 

14本頁涵蓋如何:14本頁涵蓋如何:

15 15 

16* [編寫和組織 CLAUDE.md 檔案](#claude-md-files)16* [撰寫和組織 CLAUDE.md 檔案](#claude-md-files)

17* [使用 `.claude/rules/` 將規則範圍限定於特定檔案類型](#organize-rules-with-claude%2Frules%2F)17* [使用現有的 AGENTS.md](#agents-md) 作為您的專案指示,單獨使用或與 CLAUDE.md 一起使用

18* [配置自動記憶](#auto-memory),使 Claude 自動記筆記18* [使用 `.claude/rules/` 將規則範圍限定於特定檔案類型](#organize-rules-with-claude/rules/)

19* [疑難排解](#troubleshoot-memory-issues)指令未被遵循的情況19* [設定自動記憶](#auto-memory),讓 Claude 自動記筆記

20* [疑難排解](#troubleshoot-memory-issues)當指示未被遵循時

20 21 

21<h2 id="claude-md-vs-auto-memory">22<h2 id="claude-md-vs-auto-memory">

22 CLAUDE.md 與自動記憶23 CLAUDE.md 與自動記憶


40 CLAUDE.md 檔案41 CLAUDE.md 檔案

41</h2>42</h2>

42 43 

43CLAUDE.md 檔案是 markdown 檔案,為專案、您的個人工作流程或整個組織為 Claude 提供持久指令。您以純文字編寫這些檔案;Claude 在每個工作階段開始時讀取它們。44CLAUDE.md 檔案是 markdown 檔案,為 Claude 提供專案、個人工作流程或整個組織的持久指令。您以純文字編寫這些檔案;Claude 在每個工作階段開始時讀取它們。如果您的儲存庫改用 `AGENTS.md`,請參閱 [AGENTS.md](#agents-md)。

44 45 

45<h3 id="when-to-add-to-claude-md">46<h3 id="when-to-add-to-claude-md">

46 何時新增到 CLAUDE.md47 何時新增至 CLAUDE.md

47</h3>48</h3>

48 49 

49將 CLAUDE.md 視為您寫下您本來會重新解釋的內容的地方。在以下情況下新增到它:50將 CLAUDE.md 視為您寫下原本需要重複解釋的內容的地方。在以下情況下新增至它:

50 51 

51* Claude 第二次犯同樣的錯誤52* Claude 第二次犯同樣的錯誤

52* 程式碼審查發現 Claude 應該知道的關於此程式碼庫的內容53* 程式碼審查發現 Claude 應該知道的關於此程式碼庫的事項

53* 您在聊天中輸入的相同更正或澄清是您上個工作階段輸入的54* 您在聊天中輸入的相同更正或澄清是您上一個工作階段輸入的

54* 新的團隊成員需要相同的上下文才能提高生產力55* 新的團隊成員需要相同的背景資訊才能提高生產力

55 56 

56將其保持為 Claude 應該在每個工作階段中保留的事實:建置命令、慣例、專案佈局、「始終執行 X」規則。如果一個條目是多步驟程序或僅對程式碼庫的一部分重要,請將其移到 [skill](/docs/zh-TW/skills) 或 [路徑範圍規則](#organize-rules-with-claude/rules/) 代替。[擴展概述](/docs/zh-TW/features-overview#build-your-setup-over-time)涵蓋何時使用每個機制。57將其保持為 Claude 應該在每個工作階段中保留的事實:建置命令、慣例、專案配置、「始終執行 X」規則。如果一個條目是多步驟程序或僅對程式碼庫的一部分重要,請改為將其移至 [skill](/docs/zh-TW/skills) 或 [path-scoped rule](#organize-rules-with-claude/rules/)。[擴充功能概述](/docs/zh-TW/features-overview#build-your-setup-over-time) 涵蓋何時使用每個機制。

57 58 

58<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

59 選擇 CLAUDE.md 檔案的位置60 選擇 CLAUDE.md 檔案的放置位置

60</h3>61</h3>

61 62 

62CLAUDE.md 檔案可以位於多個位置,每個位置都有不同的範圍。下表按載入順序列出它們,從最廣泛的範圍到最具體的範圍,因此專案指令在使用者指令之後出現在上下文中。63CLAUDE.md 檔案可以位於多個位置,每個位置具有不同的範圍。下表按載入順序列出它們,從最廣泛的範圍到最具體的範圍,因此專案指令在使用者指令之後出現在背景中。

63 64 

64| 範圍 | 位置 | 目的 | 使用案例示例 | 共享對象 |65| 範圍 | 位置 | 目的 | 使用案例範例 | 共享對象 |

65| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------- | ---------------- | ------------ |66| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------- | ------------------ | ------------ |

66| **受管理的原則** | • macOS:`/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux 和 WSL:`/etc/claude-code/CLAUDE.md`<br />• Windows:`C:\Program Files\ClaudeCode\CLAUDE.md` | 由 IT/DevOps 管理的組織範圍指令 | 公司編碼標準、安全原則、合規要求 | 組織中的所有使用者 |67| **受管理的原則** | • macOS:`/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux 和 WSL:`/etc/claude-code/CLAUDE.md`<br />• Windows:`C:\Program Files\ClaudeCode\CLAUDE.md` | 由 IT/DevOps 管理的組織範圍指令 | 公司編碼標準、安全原則、合規要求 | 組織中的所有使用者 |

67| **使用者指令** | `~/.claude/CLAUDE.md` | 所有專案的個人偏好 | 程式碼樣式偏好、個人工具快捷方式 | 僅您(所有專案) |68| **使用者指令** | `~/.claude/CLAUDE.md` | 所有專案的個人偏好設定 | 程式碼樣式偏好設定、個人工具快捷方式 | 僅您(所有專案) |

68| **專案指令** | `./CLAUDE.md` 或 `./.claude/CLAUDE.md` | 專案的團隊共享指令 | 專案架構、編碼標準、常見工作流程 | 透過原始碼控制的團隊成員 |69| **專案指令** | `./CLAUDE.md` 或 `./.claude/CLAUDE.md`。請參閱 [AGENTS.md](#agents-md) 以了解何時 `./AGENTS.md` 載入而不是或與它們一起載入 | 專案的團隊共享指令 | 專案架構、編碼標準、常見工作流程 | 透過原始碼控制的團隊成員 |

69| **本地指令** | `./CLAUDE.local.md` | 個人專案特定偏好;新增到 `.gitignore` | 您的沙箱 URL、偏好的測試資料 | 僅您(目前專案) |70| **本機指令** | `./CLAUDE.local.md` | 個人專案特定偏好設定;新增至 `.gitignore` | 您的沙箱 URL、偏好的測試資料 | 僅您(目前專案) |

70 71 

71工作目錄上方目錄層級中的 CLAUDE.md 和 CLAUDE.local.md 檔案在啟動時完整載入。子目錄中的檔案在 Claude 讀取這些目錄中的檔案時按需載入。有關完整的解析順序,請參閱 [CLAUDE.md 檔案如何載入](#how-claude-md-files-load)。72工作目錄上方目錄階層中的 CLAUDE.md 和 CLAUDE.local.md 檔案在啟動時載入。子目錄中的檔案在 Claude 讀取這些目錄中的檔案時按需載入。請參閱 [CLAUDE.md 檔案如何載入](#how-claude-md-files-load) 以了解完整的解析順序。

72 73 

73對於大型專案,您可以使用 [專案規則](#organize-rules-with-claude/rules/) 將指令分解為主題特定的檔案。規則讓您將指令範圍限定於特定檔案類型或子目錄。74對於大型專案,您可以使用 [project rules](#organize-rules-with-claude/rules/) 將指令分解為主題特定的檔案。規則可讓您將指令範圍限制為特定檔案類型或子目錄。

74 75 

75<h3 id="set-up-a-project-claude-md">76<h3 id="set-up-a-project-claude-md">

76 設定專案 CLAUDE.md77 設定專案 CLAUDE.md

77</h3>78</h3>

78 79 

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

80 81 

81<Tip>82<Tip>

82 執行 `/init` 以自動產生起始 CLAUDE.md。Claude 分析您的程式碼庫並建立一個檔案,其中包含它發現的建置命令、測試指令和專案慣例。如果 CLAUDE.md 已存在,`/init` 會建議改進,而不是覆蓋它。從那裡進行細化,新增 Claude 不會自己發現的指令。83 執行 `/init` 以自動產生起始 CLAUDE.md。Claude 分析您的程式碼庫並建立包含建置命令、測試指令和它發現的專案慣例的檔案。如果 CLAUDE.md 已存在,`/init` 會建議改進而不是覆寫它。從那裡使用 Claude 不會自行發現的指令進行精煉。

83 84 

84 設定 `CLAUDE_CODE_NEW_INIT=1` 以啟用互動式多階段流程。`/init` 詢問要設定哪些成品:CLAUDE.md 檔案、skills 和 hooks。然後它使用 subagent 探索您的程式碼庫,透過後續問題填補空白,並在寫入任何檔案之前呈現可審查的提案。85 設定 `CLAUDE_CODE_NEW_INIT=1` 以啟用互動式多階段流程。`/init` 詢問要設定哪些成品:CLAUDE.md 檔案、skills 和 hooks。然後它使用子代理探索您的程式碼庫,透過後續問題填補空白,並在寫入任何檔案之前呈現可審查的提案。

85</Tip>86</Tip>

86 87 

87<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">

88 編寫有效的指令89 撰寫有效的指令

89</h3>90</h3>

90 91 

91CLAUDE.md 檔案在每個工作階段開始時載入到 context window 中,與您的對話一起消耗令牌。[context window 視覺化](/docs/zh-TW/context-window)顯示 CLAUDE.md 相對於其餘啟動上下文的載入位置。因為它們是上下文而不是強制配置,您編寫指令的方式會影響 Claude 遵循它們的可靠性。具體、簡潔、結構良好的指令效果最好。92CLAUDE.md 檔案在每個工作階段開始時載入到背景視窗中,與您的對話一起消耗權杖。[背景視窗視覺化](/docs/zh-TW/context-window) 顯示 CLAUDE.md 相對於其餘啟動背景的載入位置。因為它們是背景而不是強制執行的設定,您撰寫指令的方式會影響 Claude 遵循它們的可靠性。具體、簡潔、結構良好的指令效果最佳。

92 93 

93**大小**:目標是每個 CLAUDE.md 檔案少於 200 行。較長的檔案消耗更多上下文並降低遵守度。如果您的指令變得很大,請使用 [路徑範圍規則](#path-specific-rules) 以便指令只在 Claude 處理匹配檔案時載入。您也可以將內容分割成 [匯入](#import-additional-files) 以進行組織,儘管匯入的檔案仍然會載入並在啟動時進入 context window。94**大小**:每個 CLAUDE.md 檔案的目標為 200 行以下。較長的檔案消耗更多背景並降低遵守度。如果您的指令變得很大,請使用 [path-scoped rules](#path-specific-rules),以便指令僅在 Claude 使用匹配檔案時載入。您也可以將內容分割為 [imports](#import-additional-files) 以進行組織,儘管匯入的檔案仍會在啟動時載入並進入背景視窗。

94 95 

95**結構**:使用 markdown 標題和項目符號來分組相關指令。Claude 掃描結構的方式與讀者相同:組織良好的部分比密集的段落更容易遵循。96**結構**:使用 markdown 標題和項目符號來分組相關指令。Claude 掃描結構的方式與讀者相同:組織的部分比密集的段落更容易遵循。

96 97 

97**具體性**:編寫具體到足以驗證的指令。例如:98**具體性**:撰寫具體到足以驗證的指令。例如:

98 99 

99* 「使用 2 空格縮排」而不是「正確格式化程式碼」100* 「使用 2 空格縮排」而不是「正確格式化程式碼」

100* 「在提交前執行 `npm test`」而不是「測試您的變更」101* 「在提交前執行 `npm test`」而不是「測試您的變更」

101* 「API 處理程式位於 `src/api/handlers/`」而不是「保持檔案組織」102* 「API 處理程式位於 `src/api/handlers/`」而不是「保持檔案組織」

102 103 

103**一致性**:如果兩個規則相互矛盾,Claude 可能會任意選擇一個。定期檢查您的 CLAUDE.md 檔案、子目錄中的巢狀 CLAUDE.md 檔案和 [`.claude/rules/`](#organize-rules-with-claude/rules/),以移除過時或衝突的指令。在 monorepos 中,使用 [`claudeMdExcludes`](#exclude-specific-claude-md-files) 跳過與您的工作無關的其他團隊的 CLAUDE.md 檔案。104**一致性**:如果兩個規則相互矛盾,Claude 可能會任意選擇一個。定期審查您的 CLAUDE.md 檔案、子目錄中的巢狀 CLAUDE.md 檔案和 [`.claude/rules/`](#organize-rules-with-claude/rules/) 以移除過時或衝突的指令。在 monorepos 中,使用 [`claudeMdExcludes`](#exclude-specific-claude-md-files) 跳過來自與您的工作無關的其他團隊的 CLAUDE.md 檔案。

104 105 

105<h3 id="import-additional-files">106<h3 id="import-additional-files">

106 匯入其他檔案107 匯入其他檔案

107</h3>108</h3>

108 109 

109CLAUDE.md 檔案可以使用 `@path/to/import` 語法匯入其他檔案。匯入的檔案會展開並在啟動時與參考它們的 CLAUDE.md 一起載入到上下文中。110CLAUDE.md 檔案可以使用 `@path/to/import` 語法匯入其他檔案。匯入的檔案會展開並在啟動時載入到背景中,與參考它們的 CLAUDE.md 一起。

110 111 

111允許相對和絕對路徑。相對路徑相對於包含匯入的檔案解析,而不是工作目錄。匯入的檔案可以遞迴匯入其他檔案,最大深度為四跳。112允許相對和絕對路徑。相對路徑相對於包含匯入的檔案解析,而不是工作目錄。匯入的檔案可以遞迴匯入其他檔案,最大深度為四個躍點。

112 113 

113匯入解析會跳過 Markdown 程式碼跨度和圍欄程式碼區塊。要在您的 CLAUDE.md 中提及路徑而不匯入它,請將其包裝在反引號中:寫入 `` `@README` `` 會保持文字字面,而 `@README` 在反引號外會匯入檔案。114匯入解析會跳過 Markdown 程式碼跨度和圍欄程式碼區塊。若要在您的 CLAUDE.md 中提及路徑而不匯入它,請將其包裝在反引號中:寫入 `` `@README` `` 會保持文字為字面,而反引號外的 `@README` 會匯入檔案。

114 115 

115要引入 README、package.json 和工作流程指南,請在 CLAUDE.md 中的任何位置使用 `@` 語法參考它們:116若要引入 README、package.json 和工作流程指南,請在 CLAUDE.md 中的任何位置使用 `@` 語法參考它們:

116 117 

117```text theme={null}118```text theme={null}

118有關專案概述,請參閱 @README,有關此專案的可用 npm 命令,請參閱 @package.json。119See @README for project overview and @package.json for available npm commands for this project.

119 120 

120# 其他指令121# Additional Instructions

121- git 工作流程 @docs/git-instructions.md122- git workflow @docs/git-instructions.md

122```123```

123 124 

124對於您不想簽入版本控制的個人偏好,請在專案根目錄建立 `CLAUDE.local.md`。它與 `CLAUDE.md` 一起載入並以相同方式處理。將 `CLAUDE.local.md` 新增到您的 `.gitignore`,以便不提交它。設定 `CLAUDE_CODE_NEW_INIT=1` 後,執行 `/init` 並選擇個人選項會為您執行此操作。125對於不應簽入版本控制的私人每個專案偏好設定,請在專案根目錄建立 `CLAUDE.local.md`。它與 `CLAUDE.md` 一起載入並以相同方式處理。將 `CLAUDE.local.md` 新增至您的 `.gitignore`,以便不提交它。設定 `CLAUDE_CODE_NEW_INIT=1` 後,執行 `/init` 並選擇個人選項會為您執行此操作。

125 126 

126如果您在同一儲存庫的多個 git worktrees 中工作,gitignored 的 `CLAUDE.local.md` 只存在於您建立它的 worktree 中。要在 worktrees 之間共享個人指令,請改為從您的主目錄匯入檔案:127如果您在同一儲存庫的多個 git worktrees 中工作,gitignored `CLAUDE.local.md` 僅存在於您建立它的 worktree 中。若要在 worktrees 中共享個人指令,請改為從您的主目錄匯入檔案:

127 128 

128```text theme={null}129```text theme={null}

129# 個人偏好130# Individual Preferences

130- @~/.claude/my-project-instructions.md131- @~/.claude/my-project-instructions.md

131```132```

132 133 

133<Warning>134<Warning>

134 專案級別記憶檔案中的匯入是外部的,當其路徑解析到您的工作目錄外時,例如上面的主目錄匯入。Claude Code 第一次在專案中遇到外部匯入時,它會顯示一個核准對話,列出檔案。如果您拒絕,匯入將保持禁用狀態,對話不會再次出現。135 專案級記憶檔案中的匯入是外部的,當其路徑解析到工作目錄外時,例如上面的主目錄匯入。Claude Code 首次在專案中遇到外部匯入時,會顯示核准對話框,列出檔案。如果您拒絕,匯入將保持停用狀態,對話框不會再出現。

135 136 

136 Claude Code 顯示對話以保護您免受其他人提交到共享專案的檔案。使用者範圍記憶檔案,例如 `~/.claude/CLAUDE.md` 和 `~/.claude/rules/`,是您自己編寫的檔案。除了您桌面上的 [Cowork](https://claude.com/product/cowork) 工作階段外,Claude Code 會載入它們的匯入而不顯示對話,並像信任您的其餘個人配置一樣信任它們。137 Claude Code 顯示對話框以保護您免受其他人提交到共享專案的檔案。使用者範圍記憶檔案(例如 `~/.claude/CLAUDE.md` 和 `~/.claude/rules/`)是您自己編寫的檔案。除了在您的桌面上的 [Cowork](https://claude.com/product/cowork) 工作階段中,Claude Code 會載入它們的匯入而不顯示對話框,並像信任您的其餘個人設定一樣信任它們。

137 138 

138 在您桌面上的 Cowork 工作階段中,Claude Code 會跳過使用者範圍檔案中解析到工作階段工作目錄外的路徑的任何匯入,並載入檔案的其餘部分。在這些工作階段中,它也會跳過本身是符號連結或硬連結的 `~/.claude/CLAUDE.md`,以及指向工作目錄外的符號連結 `~/.claude/rules/` 目錄或規則檔案。139 在您的桌面上的 Cowork 工作階段中,Claude Code 會跳過使用者範圍檔案中解析到工作階段工作目錄外路徑的任何匯入,並載入檔案的其餘部分。在這些工作階段中,它也會跳過本身是符號連結或硬連結的 `~/.claude/CLAUDE.md`,以及指向工作目錄外的符號連結 `~/.claude/rules/` 目錄或規則檔案。

139</Warning>140</Warning>

140 141 

141<h3 id="agents-md">

142 AGENTS.md

143</h3>

144 

145Claude Code 讀取 `CLAUDE.md`,而不是 `AGENTS.md`。如果您的儲存庫已經為其他編碼代理使用 `AGENTS.md`,請建立一個 `CLAUDE.md` 來匯入它,以便兩個工具讀取相同的指令而不重複。您也可以在匯入下方新增 Claude 特定的指令。Claude 在工作階段開始時載入匯入的檔案,然後附加其餘部分:

146 

147```markdown CLAUDE.md theme={null}

148@AGENTS.md

149 

150## Claude Code

151 

152對 `src/billing/` 下的變更使用 plan mode。

153```

154 

155符號連結也可以運作,如果您不需要新增 Claude 特定的內容:

156 

157```bash theme={null}

158ln -s AGENTS.md CLAUDE.md

159```

160 

161該命令在成功時不列印任何輸出。在您的下一個工作階段中,執行 `/context` 並確認 `CLAUDE.md` 出現在 **Memory files** 下。

162 

163在 Windows 上,建立符號連結需要系統管理員權限或開發人員模式,因此請改用 `@AGENTS.md` 匯入。

164 

165執行 [`/init`](/docs/zh-TW/commands) 會讀取 Cursor 規則(在 `.cursor/rules/` 或 `.cursorrules` 中)和 Copilot 規則(在 `.github/copilot-instructions.md` 中),並將相關部分合併到產生的 `CLAUDE.md` 中。設定 `CLAUDE_CODE_NEW_INIT=1` 後,`/init` 也會讀取 `AGENTS.md`、`.devin/rules/`、`.windsurf/rules/` 或 `.windsurfrules`,以及 `.clinerules`。

166 

167您也可以執行 [`/import`](/docs/zh-TW/commands) 將支援的編碼代理的配置帶入 Claude Code,這會將指令檔案(例如 `AGENTS.md`)的一次性副本附加到匹配的 `CLAUDE.md`,並帶入 MCP 伺服器、命令、subagents 和 skills。需要 Claude Code v2.1.213 或更新版本。

168 

169<h3 id="how-claude-md-files-load">142<h3 id="how-claude-md-files-load">

170 CLAUDE.md 檔案如何載入143 CLAUDE.md 檔案如何載入

171</h3>144</h3>

172 145 

173Claude Code 從您目前的工作目錄和其上方的每個目錄載入 `CLAUDE.md` 和 `CLAUDE.local.md`。在 `foo/bar/` 中執行 Claude Code,它會從 `foo/bar/CLAUDE.md`、`foo/CLAUDE.md` 和沿途的任何 `CLAUDE.local.md` 檔案載入指令。146Claude Code 從您目前的工作目錄和其上方的每個目錄載入 `CLAUDE.md` 和 `CLAUDE.local.md`。在 `foo/bar/` 中執行 Claude Code,它會從 `foo/bar/CLAUDE.md`、`foo/CLAUDE.md` 和任何 `CLAUDE.local.md` 檔案載入指令。

174 147 

175所有發現的檔案都被連接到上下文中,而不是相互覆蓋。在目錄樹中,內容按照從檔案系統根目錄到您的工作目錄的順序排列。對於 `foo/bar/` 示例,`foo/CLAUDE.md` 在上下文中出現在 `foo/bar/CLAUDE.md` 之前,因此更接近您啟動 Claude 的位置的指令最後被讀取。在每個目錄中,`CLAUDE.local.md` 附加在 `CLAUDE.md` 之後,因此您的個人筆記是 Claude 在該級別讀取的最後一件事。148所有發現的檔案都會串聯到背景中,而不是相互覆寫。在目錄樹中,內容從檔案系統根目錄向下排序到您的工作目錄。對於 `foo/bar/` 範例,`foo/CLAUDE.md` 在背景中出現在 `foo/bar/CLAUDE.md` 之前,因此更接近您啟動 Claude 的位置的指令最後讀取。在每個目錄中,`CLAUDE.local.md` 附加在 `CLAUDE.md` 之後,因此您的個人筆記是 Claude 在該級別讀取的最後一件事。

176 149 

177Claude 也會在您目前工作目錄下的子目錄中發現 `CLAUDE.md` 和 `CLAUDE.local.md` 檔案。它們不是在啟動時載入,而是在 Claude 讀取這些子目錄中的檔案時包含。150Claude 也會發現您目前工作目錄下子目錄中的 `CLAUDE.md` 和 `CLAUDE.local.md` 檔案。它們不是在啟動時載入,而是在 Claude 讀取這些子目錄中的檔案時包含。

178 151 

179如果您在大型 monorepo 中工作,其中其他團隊的 CLAUDE.md 檔案被拾取,請使用 [`claudeMdExcludes`](#exclude-specific-claude-md-files) 跳過它們。對於根目錄和每個目錄 CLAUDE.md 檔案和規則的完整佈局,請參閱 [Monorepos 和大型儲存庫](/docs/zh-TW/large-codebases)。152如果您在大型 monorepo 中工作,其中其他團隊的 CLAUDE.md 檔案被拾取,請使用 [`claudeMdExcludes`](#exclude-specific-claude-md-files) 跳過它們。有關根目錄和每個目錄 CLAUDE.md 檔案和規則的完整配置,請參閱 [Monorepos 和大型儲存庫](/docs/zh-TW/large-codebases)。

180 153 

181CLAUDE.md 檔案中的區塊級 HTML 註解(`<!-- maintainer notes -->`)在內容被注入到 Claude 的上下文之前會被移除。使用它們為人類維護者留下筆記,而不會在令牌上花費上下文。程式碼區塊內的註解會被保留。當您直接使用 Read 工具開啟 CLAUDE.md 檔案時,註解保持可見。154CLAUDE.md 檔案中的區塊級 HTML 註解(`<!-- maintainer notes -->`)在內容注入到 Claude 的背景之前被移除。使用它們為人類維護者留下筆記,而不在它們上花費背景權杖。程式碼區塊內的註解會保留。當您直接使用 Read 工具開啟 CLAUDE.md 檔案時,註解保持可見。

182 155 

183<h4 id="load-from-additional-directories">156<h4 id="load-from-additional-directories">

184 從其他目錄載入157 從其他目錄載入

185</h4>158</h4>

186 159 

187`--add-dir` 旗標讓 Claude 可以存取主工作目錄外的其他目錄。預設情況下,不會載入這些目錄中的 CLAUDE.md 檔案。160`--add-dir` 旗標讓 Claude 可以存取主工作目錄外的其他目錄。根據預設,這些目錄中的 CLAUDE.md 檔案不會載入。

188 161 

189要也從其他目錄載入記憶檔案,請設定 `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` 環境變數:162若要也從其他目錄載入記憶檔案,請設定 `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` 環境變數:

190 163 

191```bash theme={null}164```bash theme={null}

192CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config


198 使用 `.claude/rules/` 組織規則171 使用 `.claude/rules/` 組織規則

199</h3>172</h3>

200 173 

201對於較大的專案,您可以使用 `.claude/rules/` 目錄將指令組織成多個檔案。這使指令保持模組化,更容易讓團隊維護。規則也可以 [範圍限定於特定檔案路徑](#path-specific-rules),因此它們只在 Claude 處理匹配檔案時載入到上下文中,減少雜訊並節省上下文空間。174對於較大的專案,您可以使用 `.claude/rules/` 目錄將指令組織成多個檔案。這使指令保持模組化並更容易讓團隊維護。規則也可以 [scoped to specific file paths](#path-specific-rules),因此它們僅在 Claude 使用匹配檔案時載入到背景中,減少雜訊並節省背景空間。

202 175 

203<Note>176<Note>

204 規則在每個工作階段或開啟匹配檔案時載入到上下文中。對於不需要始終在上下文中的任務特定指令,請改用 [skills](/docs/zh-TW/skills),它們只在您呼叫它們或 Claude 確定它們與您的提示相關時載入。177 規則在每個工作階段或開啟匹配檔案時載入到背景中。對於不需要始終在背景中的任務特定指令,請改用 [skills](/docs/zh-TW/skills),它們僅在您叫用它們或 Claude 確定它們與您的提示相關時載入。

205</Note>178</Note>

206 179 

207<h4 id="set-up-rules">180<h4 id="set-up-rules">

208 設定規則181 設定規則

209</h4>182</h4>

210 183 

211在您的專案的 `.claude/rules/` 目錄中放置 markdown 檔案。每個檔案應涵蓋一個主題,具有描述性檔案名稱,如 `testing.md` 或 `api-design.md`。所有 `.md` 檔案都被遞迴發現,因此您可以將規則組織到子目錄中,如 `frontend/` 或 `backend/`:184在您的專案的 `.claude/rules/` 目錄中放置 markdown 檔案。每個檔案應涵蓋一個主題,具有描述性檔案名稱,例如 `testing.md` 或 `api-design.md`。所有 `.md` 檔案都會遞迴發現,因此您可以將規則組織到子目錄中,例如 `frontend/` 或 `backend/`:

212 185 

213```text theme={null}186```text theme={null}

214your-project/187your-project/

215├── .claude/188├── .claude/

216│ ├── CLAUDE.md # 主要專案指令189│ ├── CLAUDE.md # Main project instructions

217│ └── rules/190│ └── rules/

218│ ├── code-style.md # 程式碼樣式指南191│ ├── code-style.md # Code style guidelines

219│ ├── testing.md # 測試慣例192│ ├── testing.md # Testing conventions

220│ └── security.md # 安全要求193│ └── security.md # Security requirements

221```194```

222 195 

223沒有 [`paths` frontmatter](#path-specific-rules) 的規則在啟動時載入,優先級與 `.claude/CLAUDE.md` 相同。196沒有 [`paths` frontmatter](#path-specific-rules) 的規則在啟動時載入,優先順序與 `.claude/CLAUDE.md` 相同。

224 197 

225如果您從 [`--setting-sources`](/docs/zh-TW/cli-reference) 排除 `project`,則會跳過專案規則。在 v2.1.211 之前,載入按需的規則(包括路徑範圍規則和巢狀 `.claude/rules/` 目錄中的規則)即使 `project` 被排除也會載入。198如果您從 [`--setting-sources`](/docs/zh-TW/cli-reference) 排除 `project`,則會跳過專案規則。在 v2.1.211 之前,按需載入的規則(包括路徑範圍規則和巢狀 `.claude/rules/` 目錄中的規則)即使排除了 `project` 也會載入。

226 199 

227<h4 id="path-specific-rules">200<h4 id="path-specific-rules">

228 路徑特定規則201 路徑特定規則

229</h4>202</h4>

230 203 

231規則可以使用帶有 `paths` 欄位的 YAML frontmatter 範圍限定於特定檔案。這些條件規則僅在 Claude 處理與指定模式匹配的檔案時適用。204規則可以使用 YAML frontmatter 與 `paths` 欄位範圍限制為特定檔案。這些條件規則僅在 Claude 使用與指定模式匹配的檔案時適用。

232 205 

233```markdown theme={null}206```markdown theme={null}

234---207---


236 - "src/api/**/*.ts"209 - "src/api/**/*.ts"

237---210---

238 211 

239# API 開發規則212# API Development Rules

240 213 

241- 所有 API 端點必須包括輸入驗證214- All API endpoints must include input validation

242- 使用標準錯誤回應格式215- Use the standard error response format

243- 包括 OpenAPI 文件註解216- Include OpenAPI documentation comments

244```217```

245 218 

246沒有 `paths` 欄位的規則無條件載入並適用於所有檔案。路徑範圍規則在 Claude 讀取與模式匹配的檔案時觸發,而不是在每次工具使用時觸發。截至 v2.1.198,匹配也適用於 Claude 透過專案目錄的符號連結路徑到達檔案時,例如在符號連結簽出中。219沒有 `paths` 欄位的規則無條件載入並適用於所有檔案。路徑範圍規則在 Claude 讀取與模式匹配的檔案時觸發,而不是在每個工具使用時觸發。從 v2.1.198 開始,當 Claude 透過到專案目錄的符號連結路徑到達檔案時,匹配也有效,例如在符號連結簽出中。

247 220 

248在 `paths` 欄位中使用 glob 模式,按副檔名、目錄或任何組合匹配檔案:221在 `paths` 欄位中使用 glob 模式以按副檔名、目錄或任何組合匹配檔案:

249 222 

250| 模式 | 匹配 |223| 模式 | 匹配 |

251| ---------------------- | ---------------------- |224| ---------------------- | ---------------------- |


265---238---

266```239```

267 240 

268每個大括號群組會乘以展開的模式數量:`src/*.{ts,tsx}` 展開為兩個模式,`{a,b}/{c,d}/*.{ts,tsx}` 展開為八個。要保持展開有界,規則的整個 `paths` 清單共享一個 1,000 個展開模式和 4 MiB 的預算,沒有大括號的模式不計入其中。241每個大括號群組會乘以展開模式的數量:`src/*.{ts,tsx}` 展開為兩個模式,`{a,b}/{c,d}/*.{ts,tsx}` 展開為八個。若要保持展開有界,規則的整個 `paths` 清單共享一個 1,000 個展開模式和 4 MiB 的預算,沒有大括號的模式不計入其中。

269 242 

270Claude Code 使用任何會超過預算的未展開模式,其字面大括號不匹配任何檔案。在 v2.1.217 之前,具有許多大括號群組的 `paths` 值會在啟動時導致 CLI 停滯或崩潰。243Claude Code 使用任何會超過預算的未展開模式,其字面大括號不匹配任何檔案。在 v2.1.217 之前,具有許多大括號群組的 `paths` 值會在啟動時停止或當機 CLI。

271 244 

272Glob 語法將 `[` 視為括號表達式的開始,例如 `[abc]`。無法讀取為括號表達式的帶有 `[` 的模式,例如 `photos [2024/**`,是無效的:它不匹配任何內容,規則的其他模式繼續工作。要匹配檔案名稱中的字面 `[`,請將其轉義為 `photos \[2024/**`。在 v2.1.207 之前,一個無效的模式會導致 Read 工具對規則被評估的每個檔案失敗,而不是不匹配任何內容。245Glob 語法將 `[` 視為括號表達式的開始,例如 `[abc]`。具有無法讀取為括號表達式的 `[` 的模式(例如 `photos [2024/**`)無效:它不匹配任何檔案,規則的其他模式保持工作。若要匹配檔案名稱中的字面 `[`,請將其逸出為 `photos \[2024/**`。在 v2.1.207 之前,一個無效模式會導致 Read 工具對規則評估的每個檔案失敗,而不是不匹配任何檔案。

273 246 

274<h4 id="share-rules-across-projects-with-symlinks">247<h4 id="share-rules-across-projects-with-symlinks">

275 使用符號連結跨專案共享規則248 使用符號連結在專案間共享規則

276</h4>249</h4>

277 250 

278`.claude/rules/` 目錄支援符號連結,因此您可以維護一組共享規則並將它們連結到多個專案中。循環符號連結被檢測並妥善處理。251`.claude/rules/` 目錄支援符號連結,因此您可以維護一組共享規則並將它們連結到多個專案。循環符號連結會被偵測並妥善處理。

279 252 

280Claude Code 將其目標在您工作目錄外的符號連結視為 [外部匯入](#import-additional-files)。連結的規則在您核准專案的外部匯入之前不會載入,之後只有沒有 [`paths` 欄位](#path-specific-rules) 的規則會載入。Claude Code 在專案記憶檔案使用 `@path` 匯入工作目錄外的檔案時要求核准,而不是針對符號連結單獨要求。要在不需要該核准的情況下載入共享規則,請將它們保留在 [`~/.claude/rules/`](#user-level-rules) 中,它們適用於您機器上的每個專案。253Claude Code 將其目標在工作目錄外的符號連結視為 [external import](#import-additional-files)。連結的規則在您核准專案的外部匯入之前不會載入,之後僅載入沒有 [`paths` 欄位](#path-specific-rules) 的規則。Claude Code 僅在專案記憶檔案使用 `@path` 匯入工作目錄外的檔案時要求該核准,而不是僅針對符號連結。若要載入共享規則而不需要該核准,請將它們保留在 [`~/.claude/rules/`](#user-level-rules) 中,其中它們適用於您機器上的每個專案。

281 254 

282此示例連結共享目錄和單個檔案:255此範例連結共享目錄和個別檔案:

283 256 

284```bash theme={null}257```bash theme={null}

285ln -s ~/shared-claude-rules .claude/rules/shared258ln -s ~/shared-claude-rules .claude/rules/shared


287```260```

288 261 

289<h4 id="user-level-rules">262<h4 id="user-level-rules">

290 使用者級別規則263 使用者級規則

291</h4>264</h4>

292 265 

293`~/.claude/rules/` 中的個人規則適用於您機器上的每個專案。使用它們來處理不是專案特定的偏好:266`~/.claude/rules/` 中的個人規則適用於您機器上的每個專案。使用它們來設定不是專案特定的偏好設定:

294 267 

295```text theme={null}268```text theme={null}

296~/.claude/rules/269~/.claude/rules/

297├── preferences.md # 您的個人編碼偏好270├── preferences.md # Your personal coding preferences

298└── workflows.md # 您偏好的工作流程271└── workflows.md # Your preferred workflows

299```272```

300 273 

301使用者級別規則在專案規則之前載入,給予專案規則更高的優先級。274使用者級規則在專案規則之前載入,給予專案規則更高的優先順序。

302 275 

303<h3 id="manage-claude-md-for-large-teams">276<h3 id="manage-claude-md-for-large-teams">

304 為大型團隊管理 CLAUDE.md277 為大型團隊管理 CLAUDE.md


307對於在團隊中部署 Claude Code 的組織,您可以集中指令並控制載入哪些 CLAUDE.md 檔案。280對於在團隊中部署 Claude Code 的組織,您可以集中指令並控制載入哪些 CLAUDE.md 檔案。

308 281 

309<h4 id="deploy-organization-wide-claude-md">282<h4 id="deploy-organization-wide-claude-md">

310 部署組織範圍的 CLAUDE.md283 部署組織範圍 CLAUDE.md

311</h4>284</h4>

312 285 

313組織可以部署一個集中管理的 CLAUDE.md,適用於機器上的所有使用者。此檔案無法被個人設定排除。286組織可以部署適用於機器上所有使用者的集中管理 CLAUDE.md。此檔案無法由個別設定排除。

314 287 

315<Steps>288<Steps>

316 <Step title="在受管理的原則位置建立檔案">289 <Step title="Create the file at the managed policy location">

317 * macOS:`/Library/Application Support/ClaudeCode/CLAUDE.md`290 * macOS:`/Library/Application Support/ClaudeCode/CLAUDE.md`

318 * Linux 和 WSL:`/etc/claude-code/CLAUDE.md`291 * Linux 和 WSL:`/etc/claude-code/CLAUDE.md`

319 * Windows:`C:\Program Files\ClaudeCode\CLAUDE.md`292 * Windows:`C:\Program Files\ClaudeCode\CLAUDE.md`

320 </Step>293 </Step>

321 294 

322 <Step title="使用您的配置管理系統進行部署">295 <Step title="Deploy with your configuration management system">

323 使用 MDM、群組原則、Ansible 或類似工具在開發人員機器上分發檔案。有關其他組織範圍配置選項,請參閱 [受管理的設定](/docs/zh-TW/managed-settings)。296 使用 MDM、Group Policy、Ansible 或類似工具在開發人員機器上分發檔案。請參閱 [managed settings](/docs/zh-TW/managed-settings) 以了解其他組織範圍設定選項。

324 </Step>297 </Step>

325</Steps>298</Steps>

326 299 

327`claudeMd` 金鑰讓您將受管理的 CLAUDE.md 內容直接放入 `managed-settings.json` 中,而不是部署單獨的檔案。300`claudeMd` 金鑰可讓您將受管理的 CLAUDE.md 內容直接放入 `managed-settings.json` 中,而不是部署單獨的檔案。

328 301 

329**範圍**:機器上的每個 Claude Code 工作階段,在每個儲存庫中。對於儲存庫特定的指導,請改為提交專案 CLAUDE.md。302**範圍**:機器上的每個 Claude Code 工作階段,在每個儲存庫中。對於儲存庫特定的指導,請改為提交專案 CLAUDE.md。

330 303 

331**優先級**:與受管理的 CLAUDE.md 檔案相同。在使用者和專案 CLAUDE.md 之前載入。304**優先順序**:與受管理的 CLAUDE.md 檔案相同。在使用者和專案 CLAUDE.md 之前載入。

332 305 

333**在何處被遵守**:僅受管理和原則設定。在使用者、專案或本地設定中設定 `claudeMd` 無效。306**其中受尊重**:僅受管理和原則設定。在使用者、專案或本機設定中設定 `claudeMd` 無效。

334 307 

335下面的示例直接在受管理的設定檔案中新增行為指令:308下面的範例直接在受管理的設定檔案中新增行為指令:

336 309 

337```json theme={null}310```json theme={null}

338{311{


340}313}

341```314```

342 315 

343受管理的 CLAUDE.md 和 [受管理的設定](/docs/zh-TW/managed-settings) 有不同的用途。使用設定進行技術強制執行,使用 CLAUDE.md 進行行為指導:316受管理的 CLAUDE.md 和 [managed settings](/docs/zh-TW/managed-settings) 服務於不同的目的。使用設定進行技術強制執行,使用 CLAUDE.md 進行行為指導:

344 317 

345| 關注 | 配置在 |318| 關注 | 設定於 |

346| :-------------- | :-------------------------------------------- |319| :-------------- | :-------------------------------------------- |

347| 阻止特定工具、命令或檔案路徑 | 受管理的設定:`permissions.deny` |320| 阻止特定工具、命令或檔案路徑 | 受管理的設定:`permissions.deny` |

348| 強制執行沙箱隔離 | 受管理的設定:`sandbox.enabled` |321| 強制執行沙箱隔離 | 受管理的設定:`sandbox.enabled` |

349| 環境變數和 API 提供者路由 | 受管理的設定:`env` |322| 環境變數和 API 提供者路由 | 受管理的設定:`env` |

350| 驗證方法和組織鎖定 | 受管理的設定:`forceLoginMethod`、`forceLoginOrgUUID` |323| 登入方法和組織限制 | 受管理的設定:`forceLoginMethod`、`forceLoginOrgUUID` |

351| 程式碼樣式和品質指南 | 受管理的 CLAUDE.md |324| 程式碼樣式和品質指南 | 受管理的 CLAUDE.md |

352| 資料處理和合規提醒 | 受管理的 CLAUDE.md |325| 資料處理和合規提醒 | 受管理的 CLAUDE.md |

353| Claude 的行為指令 | 受管理的 CLAUDE.md |326| Claude 的行為指令 | 受管理的 CLAUDE.md |


355設定規則由用戶端強制執行,無論 Claude 決定做什麼。CLAUDE.md 指令塑造 Claude 的行為,但不是硬強制執行層。328設定規則由用戶端強制執行,無論 Claude 決定做什麼。CLAUDE.md 指令塑造 Claude 的行為,但不是硬強制執行層。

356 329 

357<h4 id="exclude-specific-claude-md-files">330<h4 id="exclude-specific-claude-md-files">

358 排除特定的 CLAUDE.md 檔案331 排除特定 CLAUDE.md 檔案

359</h4>332</h4>

360 333 

361在大型 monorepos 中,祖先 CLAUDE.md 檔案可能包含與您的工作無關的指令。`claudeMdExcludes` 設定讓您按路徑或 glob 模式跳過特定檔案。334在大型 monorepos 中,祖先 CLAUDE.md 檔案可能包含與您的工作無關的指令。`claudeMdExcludes` 設定可讓您按路徑或 glob 模式跳過特定檔案。

362 335 

363此示例排除頂級 CLAUDE.md 和父資料夾中的規則目錄。將其新增到 `.claude/settings.local.json`,以便排除保留在您的機器本地:336此範例排除頂級 CLAUDE.md 和來自父資料夾的規則目錄。將其新增至 `.claude/settings.local.json`,以便排除保持本機於您的機器:

364 337 

365```json theme={null}338```json theme={null}

366{339{


371}344}

372```345```

373 346 

374模式使用 glob 語法與絕對檔案路徑匹配。您可以在任何 [設定層](/docs/zh-TW/settings#where-settings-live):使用者、專案、本地或受管理的原則配置 `claudeMdExcludes`。陣列跨層合併。347模式使用 glob 語法與絕對檔案路徑匹配。您可以在任何 [settings layer](/docs/zh-TW/settings#where-settings-live):使用者、專案、本機或受管理原則中設定 `claudeMdExcludes`。陣列在各層中合併。

348 

349若要排除您透過 [symlink](#share-rules-across-projects-with-symlinks) 到達的規則檔案(無論檔案或其目錄是連結),請針對任一路徑編寫模式:檔案在 `.claude/rules/` 下的路徑或其連結目標。匹配任一路徑的模式會排除檔案。在 v2.1.239 之前,僅匹配連結目標的模式會排除檔案。

350 

351受管理原則 CLAUDE.md 檔案無法排除。這確保組織範圍指令始終適用,無論個別設定如何。

352 

353<h2 id="agents-md">

354 AGENTS.md

355</h2>

356 

357Claude Code 可以將 [`AGENTS.md`](/docs/zh-TW/glossary#agents-md) 讀取為您的專案指示,因此已為其他編碼代理設定的儲存庫無需新增 `CLAUDE.md`、匯入或設定即可運作。此表格顯示 Claude 在您的儲存庫中指示檔案的每種組合下預設讀取的內容:

358 

359| 您的儲存庫有 | Claude 讀取 |

360| :-------------------------------------------------------------------------- | :-------------------------------- |

361| 一個 `AGENTS.md`,且在您的工作目錄或其上方沒有 `CLAUDE.md` 或 `CLAUDE.local.md` | 您的 `AGENTS.md` |

362| 一個 `AGENTS.md` 和一個 `CLAUDE.md` 或 `CLAUDE.local.md` 在您的工作目錄或其上方 | 僅您的 `CLAUDE.md` 檔案 |

363| 一個已經[匯入 `AGENTS.md`](#share-one-file-with-other-coding-tools) 的 `CLAUDE.md` | 您的 `CLAUDE.md`,透過匯入包含 `AGENTS.md` |

364 

365若要變更預設值,例如讓 Claude 始終讀取兩個檔案、僅讀取 `CLAUDE.md` 或僅讀取您組織的受管指示,請[變更**專案指示**設定](#choose-which-instruction-files-load)。

366 

367<Note>

368 直接讀取 `AGENTS.md` 需要 Claude Code v2.1.277 或更新版本。在某些工作階段中,例如在 Amazon Bedrock 上或停用遙測的工作階段中,Claude [無法讀取 `AGENTS.md`](#when-agents-md-support-is-unavailable),因此請改為[從 `CLAUDE.md` 匯入](#share-one-file-with-other-coding-tools)。

369</Note>

370 

371<h3 id="when-claude-code-reads-agents-md">

372 Claude Code 何時讀取 AGENTS.md

373</h3>

374 

375預設情況下,Claude 只有在您的工作目錄或其上方沒有 `CLAUDE.md` 時才會讀取 `AGENTS.md`。以下是您的哪些檔案計入該檢查:

376 

377* **計入,因此 Claude 改為讀取它們而不是 `AGENTS.md`**:您的工作目錄或其上方任何目錄中的 `CLAUDE.md`、`.claude/CLAUDE.md` 或 `CLAUDE.local.md`

378* **不計入,並繼續與 `AGENTS.md` 一起載入**:您的 `~/.claude/CLAUDE.md`、您組織的受管 `CLAUDE.md` 和 `.claude/rules/` 檔案

379 

380當沒有計入時,以下是 Claude 讀取的內容以及您如何判斷:

381 

382* **在工作階段開始時**:您的工作目錄及其上方目錄中的每個 `AGENTS.md` 和 `.claude/AGENTS.md`。在互動式工作階段中,您會在對話中看到類似 `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md` 的行

383* **當 Claude 在子目錄中工作時**:當 Claude 使用 Read 工具在該處開啟檔案且該子目錄沒有三個 `CLAUDE.md` 檔案之一時,子目錄的 `AGENTS.md`

384* **在每個 `AGENTS.md` 內**:[`@path` 匯入](#import-additional-files)會展開,[`claudeMdExcludes`](#exclude-specific-claude-md-files) 模式適用,[跳過專案指示](/docs/zh-TW/sub-agents#what-loads-at-startup)的子代理也會跳過這些檔案

385* **不讀取**:`AGENTS.local.md`、`AGENTS.override.md` 或 `.agents/` 目錄下的任何內容

386 

387<Note>

388 因為 `CLAUDE.local.md` 計入,在依賴 `AGENTS.md` 的專案中新增一個以保留您自己的未提交指示會停止 Claude 為您讀取 `AGENTS.md`。若要保留您的 `CLAUDE.local.md` 並仍讓 Claude 讀取 `AGENTS.md`,請將**專案指示**設定為 [`claude-md-and-agents-md`](#choose-which-instruction-files-load)。

389</Note>

390 

391<h3 id="choose-which-instruction-files-load">

392 選擇要載入的指示檔案

393</h3>

394 

395若要變更 Claude 讀取的檔案,請在 Claude Code 工作階段中輸入 `/config` 以開啟設定面板,然後將**專案指示**設定為以下其中一個值:

396 

397| 值 | Claude 讀取的內容 |

398| :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

399| `claude-md-or-agents-md` | 您的 `CLAUDE.md` 檔案,或當您在工作目錄或其上方沒有 `CLAUDE.md` 或 `CLAUDE.local.md` 時的 `AGENTS.md` 檔案。這是預設值 |

400| `claude-md-and-agents-md` | 您的 `CLAUDE.md` 和 `AGENTS.md` 檔案一起,每個目錄的 `CLAUDE.md` 檔案優先,其 `AGENTS.md` 在之後。Claude Code 會跳過已經載入的 `AGENTS.md`,因此您的 `CLAUDE.md` 匯入或符號連結到的 `AGENTS.md` 不會讀取兩次 |

401| `claude-md` | 僅您的 `CLAUDE.md` 檔案 |

402| `managed-only` | 僅您組織的受管 `CLAUDE.md` 和啟動時的[自動記憶](#auto-memory)。您的專案、本機和使用者 `CLAUDE.md` 檔案、您的 `.claude/rules/` 檔案和每個 `AGENTS.md` 都被排除在外。當 Claude 讀取該處的檔案時,子目錄的 `CLAUDE.md` 和 `.claude/rules/` 檔案仍會載入,[路徑範圍規則](#path-specific-rules)仍會套用 |

403 

404您也可以在設定檔中設定值,而不是 `/config`。在 [`pluginConfigs`](/docs/zh-TW/settings-reference#pluginconfigs) 中的內建 `agents-md` 外掛程式的 ID 下新增它,在 `~/.claude/settings.json`、`--settings` 檔案或[受管設定](/docs/zh-TW/managed-settings)中。Claude Code 在專案和本機設定檔中忽略它。此範例讓 Claude 讀取兩個檔案:

405 

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

407{

408 "pluginConfigs": {

409 "agents-md@builtin": {

410 "options": { "instructionFiles": "claude-md-and-agents-md" }

411 }

412 }

413}

414```

415 

416您的變更從您傳送的下一則訊息和每個新工作階段開始套用。

417 

418<h3 id="when-agents-md-support-is-unavailable">

419 當 AGENTS.md 支援不可用時

420</h3>

421 

422在這些工作階段中,Claude 僅讀取 `CLAUDE.md` 檔案,**專案指示**不會出現在 `/config` 設定面板中:

423 

424* 您使用的是 v2.1.277 之前的 Claude Code 版本

425* 您的工作階段不會[從 Anthropic 擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching),例如因為您使用 Amazon Bedrock 或其他第三方提供者,或您停用了遙測。連結的部分有完整清單

426* 這是您[安裝或升級](/docs/zh-TW/env-vars#first-session-after-an-install-or-upgrade)到具有 `AGENTS.md` 支援的版本後的第一個工作階段。Claude 會從您的下一個工作階段開始讀取 `AGENTS.md`

427* 您或您的組織設定了 [`disableAllHooks`](/docs/zh-TW/settings-reference#disableallhooks) 或 [`allowManagedHooksOnly`](/docs/zh-TW/settings-reference#allowmanagedhooksonly),或您在 `/plugin` 中停用了內建 `agents-md` 外掛程式

428 

429若要在這些工作階段中將您的 `AGENTS.md` 提供給 Claude,請[從 `CLAUDE.md` 匯入](#share-one-file-with-other-coding-tools)。

430 

431<h3 id="where-agents-md-differs-from-claude-md">

432 AGENTS.md 與 CLAUDE.md 的差異

433</h3>

375 434 

376要透過 [符號連結](#share-rules-across-projects-with-symlinks) 到達的規則檔案排除,無論檔案或其目錄是連結,請針對任一路徑編寫模式:檔案在 `.claude/rules/` 下的路徑或其連結目標。匹配任一路徑的模式會排除檔案。在 v2.1.239 之前,只有匹配連結目標的模式才會排除檔案。435通過**專案指示**設定讀取的 `AGENTS.md` 與 `CLAUDE.md` 在以下方面有所不同:

377 436 

378受管理的原則 CLAUDE.md 檔案無法被排除。這確保組織範圍的指令始終適用,無論個人設定如何。437| | `CLAUDE.md` | 通過設定讀取的 `AGENTS.md` |

438| :-------------------------------------------------------------------------------------------------------------- | :------------------------------------------------ | :----------------------------------------------------------------------------------------------------------- |

439| `/memory` 和 `/context` 中的**記憶檔案**清單 | 列出 | 未列出。若要確認 Claude 讀取了它,請查看預設值下的 [`AGENTS.md loaded` 行](#when-claude-code-reads-agents-md),或詢問 Claude 其專案指示說了什麼 |

440| [`InstructionsLoaded` hooks](/docs/zh-TW/hooks#instructionsloaded) | 觸發 | 不觸發。當 `CLAUDE.md` 匯入或符號連結到 `AGENTS.md` 時,它們會照常觸發 |

441| 當 [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) 設定時,您使用 `--add-dir` 新增的目錄 | 它們的 `CLAUDE.md` 載入 | 它們的 `AGENTS.md` 不載入 |

442| 工作目錄外檔案的 `@path` 匯入 | Claude Code 要求您核准[外部匯入](#import-additional-files) | 僅在您已經為此專案核准外部匯入時載入,無提示 |

443 

444<h3 id="remove-an-earlier-agents-md-workaround">

445 移除較早的 AGENTS.md 因應措施

446</h3>

447 

448如果您在 Claude Code 自行讀取 `AGENTS.md` 之前設定它來讀取,以下是對每個常見設定的處理方式:

449 

450* **包含 `@AGENTS.md` 的 `CLAUDE.md`**:您可以保留它。保留匯入永遠不會讓 Claude 讀取 `AGENTS.md` 兩次,無論您使用哪個**專案指示**值。如果檔案不包含其他內容,請移除 `CLAUDE.md`,或如果您的某些工作階段[無法直接載入 `AGENTS.md`](#when-agents-md-support-is-unavailable),請保留它。

451* **告訴 Claude 用文字讀取 `AGENTS.md` 的 `CLAUDE.md`**:Claude 只有在決定開啟檔案時才會看到 `AGENTS.md`。刪除 `CLAUDE.md` 以便 Claude 直接讀取 `AGENTS.md`,或用 `@AGENTS.md` 匯入取代該句子。

452* **符號連結到 `AGENTS.md` 的 `CLAUDE.md`**:無,或刪除符號連結。無論哪種方式,Claude 都會讀取內容一次。

453* **列印 `AGENTS.md` 的 `SessionStart` hook**:移除它。一旦 Claude 直接讀取 `AGENTS.md`,hook 會將第二份副本新增到內容中。

454 

455<h3 id="share-one-file-with-other-coding-tools">

456 與其他編碼工具共享一個檔案

457</h3>

458 

459當 Claude 不直接讀取您的 `AGENTS.md` 時,您仍然可以通過在其旁邊的 `CLAUDE.md` 中放置 `@AGENTS.md` 匯入來將其保留為每個工具共享的一個檔案。當您的專案也有 `CLAUDE.md` 時、當您已將**專案指示**設定為 `claude-md` 時,或在[無法載入 `AGENTS.md`](#when-agents-md-support-is-unavailable) 的工作階段中執行此操作。在匯入下方新增任何 Claude 特定的指示,Claude 會先讀取匯入的檔案,然後讀取其餘部分:

460 

461```markdown CLAUDE.md theme={null}

462@AGENTS.md

463 

464## Claude Code

465 

466Use plan mode for changes under `src/billing/`.

467```

468 

469如果您不需要 Claude 特定的內容,符號連結也可以運作:

470 

471```bash theme={null}

472ln -s AGENTS.md CLAUDE.md

473```

474 

475該命令在成功時不列印任何輸出。在選擇符號連結而不是匯入之前,請檢查這些限制:

476 

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

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

479 

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

481 

482<h3 id="migrate-instructions-from-other-tools">

483 從其他工具遷移指示

484</h3>

485 

486執行 [`/init`](/docs/zh-TW/commands) 會讀取其他工具的指示檔案並將相關部分合併到產生的 `CLAUDE.md` 中:

487 

488* `.cursor/rules/` 或 `.cursorrules` 中的 Cursor 規則

489* `.github/copilot-instructions.md` 中的 Copilot 規則

490* 設定 `CLAUDE_CODE_NEW_INIT=1` 時:`AGENTS.md`、`.devin/rules/`、`.windsurf/rules/` 或 `.windsurfrules`,以及 `.clinerules`

491 

492您也可以執行 [`/import`](/docs/zh-TW/commands) 將支援的編碼代理的設定帶入 Claude Code,這會將指示檔案(例如 `AGENTS.md`)的一次性副本附加到相符的 `CLAUDE.md`,並帶入 MCP 伺服器、命令、子代理和 skills。需要 Claude Code v2.1.213 或更新版本。

379 493 

380<h2 id="auto-memory">494<h2 id="auto-memory">

381 自動記憶495 自動記憶


422}536}

423```537```

424 538 

425此值必須是絕對路徑或以 `~/` 開頭。當在專案的 `.claude/settings.json` 或 `.claude/settings.local.json` 中設定時,Claude Code 會根據與[設定檔案中的 hooks 相同的工作區信任規則](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)來接受它。539此值必須是絕對路徑或以 `~/` 開頭。

540 

541當在專案的 `.claude/settings.json` 或 `.claude/settings.local.json` 中設定時,Claude Code 會根據與[設定檔案中的 hooks 相同的工作區信任規則](/docs/zh-TW/permissions#what-runs-before-you-trust-a-folder)來接受它。當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 開啟時,Claude Code 不會從[儲存庫提供的設定檔案](/docs/zh-TW/permissions#when-your-local-settings-file-needs-trust)選擇的目錄載入自動記憶,也不會將其保存到該目錄,無論該目錄位於何處。

426 542 

427目錄包含 `MEMORY.md` 索引和每個記憶一個主題檔案:543目錄包含 `MEMORY.md` 索引和每個記憶一個主題檔案:

428 544 


468 使用 `/memory` 檢視和編輯584 使用 `/memory` 檢視和編輯

469</h2>585</h2>

470 586 

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

472 588 

473VS Code 等 GUI 編輯器會在單獨的視窗中開啟檔案,您可以在檔案開啟時繼續使用工作階段。在 v2.1.216 之前,`/memory` 會等待您關閉檔案後才回應。Vim 等終端編輯器會接管終端,直到您退出。589VS Code 等 GUI 編輯器會在單獨的視窗中開啟檔案,您可以在檔案開啟時繼續使用工作階段。在 v2.1.216 之前,`/memory` 會等待您關閉檔案後才回應。Vim 等終端編輯器會接管終端,直到您退出。

474 590 


488 604 

489要除錯:605要除錯:

490 606 

491* 執行 `/context` 並檢查 **Memory files** 下的清單,以驗證您的 CLAUDE.md 和 CLAUDE.local.md 檔案是否已載入。如果檔案未列出,Claude 看不到它。使用 `/memory` 開啟和編輯檔案。607* 執行 `/context` 並檢查 **Memory files** 下的清單,以驗證您的 CLAUDE.md 和 CLAUDE.local.md 檔案是否已載入。如果 `CLAUDE.md` 檔案未列出,Claude 看不到它。`AGENTS.md` 只有在 `CLAUDE.md` 匯入它時才會出現在那裡,而不是當 Claude [直接讀取它](#where-agents-md-differs-from-claude-md) 時。使用 `/memory` 開啟和編輯檔案。

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

493* 使指令更具體。「使用 2 空格縮排」比「正確格式化程式碼」效果更好。609* 使指令更具體。「使用 2 空格縮排」比「正確格式化程式碼」效果更好。

494* 查找跨 CLAUDE.md 檔案的衝突指令。如果兩個檔案為相同行為提供不同的指導,Claude 可能會任意選擇一個。610* 查找跨 CLAUDE.md 檔案的衝突指令。如果兩個檔案為相同行為提供不同的指導,Claude 可能會任意選擇一個。


501 使用 [`InstructionsLoaded` hook](/docs/zh-TW/hooks#instructionsloaded) 記錄確切載入的指令檔案、何時載入以及為什麼。這對於除錯路徑特定規則或子目錄中的延遲載入檔案很有用。617 使用 [`InstructionsLoaded` hook](/docs/zh-TW/hooks#instructionsloaded) 記錄確切載入的指令檔案、何時載入以及為什麼。這對於除錯路徑特定規則或子目錄中的延遲載入檔案很有用。

502</Tip>618</Tip>

503 619 

620<h3 id="my-agents-md-isn’t-loading">

621 我的 AGENTS.md 未載入

622</h3>

623 

624如果您的儲存庫有 `AGENTS.md` 且 Claude 似乎不知道它說什麼,通常原因是專案路徑上某處有 `CLAUDE.md`。根據預設,Claude 只有在您的工作目錄或其上方沒有 `CLAUDE.md` 或 `CLAUDE.local.md` 時才讀取 `AGENTS.md`。按順序檢查這些:

625 

6261. 在您的工作目錄或其上方的任何目錄中查找 `CLAUDE.md`、`.claude/CLAUDE.md` 或 `CLAUDE.local.md`,除了您的 `~/.claude/CLAUDE.md`。如果您找到一個,Claude 會讀取它而不是 `AGENTS.md`,除非您將 **Project instructions** 設定為 `claude-md-and-agents-md`。

6272. 執行 `claude --version` 並確認 v2.1.277 或更新版本。

6283. 檢查您的工作階段是否為 [無法載入 `AGENTS.md`](#when-agents-md-support-is-unavailable) 的工作階段,例如第三方提供者上的工作階段或停用遙測的工作階段。

6294. 在您的工作階段中輸入 `/config` 以開啟設定面板,並確認 **Project instructions** 未設定為 `claude-md` 或 `managed-only`。如果您根本看不到該設定,您的工作階段是 [無法載入 `AGENTS.md`](#when-agents-md-support-is-unavailable) 的工作階段。

630 

631當 Claude 直接讀取 `AGENTS.md` 時,您不會在 `/memory` 或 `/context` 中看到它,因此請檢查 `AGENTS.md loaded` 行或改為詢問 Claude 其專案指令說什麼。如果您想保留找到的 `CLAUDE.md`,或您的工作階段無法載入 `AGENTS.md`,[在您的 `AGENTS.md` 旁邊新增匯入它的 `CLAUDE.md`](#share-one-file-with-other-coding-tools)。

632 

504<h3 id="i-don’t-know-what-auto-memory-saved">633<h3 id="i-don’t-know-what-auto-memory-saved">

505 我不知道自動記憶保存了什麼634 我不知道自動記憶保存了什麼

506</h3>635</h3>

mobile.md +10 −9

Details

6 6 

7> 從您的手機使用 Claude iOS 和 Android 應用程式來啟動、監控和引導 Claude Code 工作。7> 從您的手機使用 Claude iOS 和 Android 應用程式來啟動、監控和引導 Claude Code 工作。

8 8 

9Claude [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 應用程式是 Claude Code 工作階段的用戶端,而不是程式碼執行的地點。從您的手機,您可以存取雲端上的[雲端工作階段](#start-and-monitor-cloud-sessions)、透過[遠端控制](#continue-a-local-session-with-remote-control)在您自己的機器上執行的工作階段,或透過 [Dispatch](/docs/zh-TW/desktop#sessions-from-dispatch) 的桌面應用程式。9Claude [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 應用程式是 Claude Code 工作階段的用戶端,而不是程式碼執行的地點。從您的手機,您可以存取雲端上的[雲端工作階段](#start-and-monitor-cloud-sessions)和[專案](/docs/zh-TW/claude-projects)、透過[遠端控制](#continue-a-local-session-with-remote-control)在您自己的機器上執行的工作階段,或透過 [Dispatch](/docs/zh-TW/desktop#sessions-from-dispatch) 的桌面應用程式。

10 10 

11<Note>11<Note>

12 Claude Code 沒有單獨的行動應用程式:雲端工作階段和遠端控制都位於 Claude 應用程式中的 **Code** 標籤,而 Dispatch 是您在應用程式中向其傳送訊息的工作。12 Claude Code 沒有單獨的行動應用程式:雲端工作階段和遠端控制都位於 Claude 應用程式中的 **Code** 標籤,而 Dispatch 是您在應用程式中向其傳送訊息的工作。


21 安裝 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 或 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 的 Claude 應用程式。在 iPad 上,安裝相同的 iOS 應用程式。21 安裝 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 或 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 的 Claude 應用程式。在 iPad 上,安裝相同的 iOS 應用程式。

22 22 

23 <Tip>23 <Tip>

24 在 Claude Code 工作階段中執行 `/mobile` 以顯示您可以掃描的下載 QR 碼。`/ios` 和 `/android` 執行相同的操作。24 在 Claude Code 工作階段中執行 `/mobile` 以顯示 [claude.ai/mobile](https://claude.ai/mobile) 的 QR 碼,該碼會開啟您手機的正確應用程式商店。`/ios` 和 `/android` 執行相同的操作。

25 </Tip>25 </Tip>

26 </Step>26 </Step>

27 27 


38 從您的手機工作38 從您的手機工作

39</h2>39</h2>

40 40 

41從應用程式,您可以啟動雲端工作階段、驅動在您的電腦上執行的 Claude Code 工作階段,或向 Dispatch 傳送工作訊息。應用程式對所有三者都相同;它們在工作發生的位置上有所不同。41從應用程式,您可以啟動雲端工作階段、開啟專案、驅動在您的電腦上執行的 Claude Code 工作階段,或向 Dispatch 傳送工作訊息。應用程式對所有項目都相同;它們在工作發生的位置上有所不同。

42 42 

43| 功能 | 您連接到的內容 | 何時使用 |43| 功能 | 您連接到的內容 | 何時使用 |

44| :------------------------------------------------ | :------------------------------ | :--------------------------------------------------------------------- |44| :------------------------------------------------ | :---------------------------- | :--------------------------------------------------------------------- |

45| [Claude Code 網頁版](/docs/zh-TW/claude-code-on-the-web) | 雲端基礎設施上的雲端工作階段,預設由 Anthropic 管理 | 您的儲存庫在 GitHub 上,工作應在您放下手機後繼續執行。請參閱[網頁快速入門](/docs/zh-TW/web-quickstart)進行設定。 |45| [雲端工作階段](/docs/zh-TW/claude-code-on-the-web) | 雲端基礎設施上的工作階段,預設由 Anthropic 管理 | 您的儲存庫在 GitHub 上,工作應在您放下手機後繼續執行。請參閱[雲端快速入門](/docs/zh-TW/web-quickstart)進行設定。 |

46| [專案](/docs/zh-TW/claude-projects) | Claude 協調平行雲端工作階段作為執行緒的對話 | 您有一系列相關的工作而不是一個工作,並想查看哪些執行緒已完成或需要您。 |

46| [遠端控制](/docs/zh-TW/remote-control) | 在您的電腦上執行的 Claude Code 工作階段 | 工作需要您的本機檔案系統、工具或 MCP 伺服器。 |47| [遠端控制](/docs/zh-TW/remote-control) | 在您的電腦上執行的 Claude Code 工作階段 | 工作需要您的本機檔案系統、工具或 MCP 伺服器。 |

47| [Dispatch](/docs/zh-TW/desktop#sessions-from-dispatch) | 您電腦上的桌面應用程式 | 您想傳送工作訊息並讓 Dispatch 決定如何執行它。需要 Pro 或 Max 方案。 |48| [Dispatch](/docs/zh-TW/desktop#sessions-from-dispatch) | 您電腦上的桌面應用程式 | 您想傳送工作訊息並讓 Dispatch 決定如何執行它。需要 Pro 或 Max 方案。 |

48 49 

49如果您的電腦將關閉,請使用雲端工作階段,它們在雲端中執行並在您的筆記型電腦關閉後繼續執行。遠端控制和 Dispatch 驅動您自己的機器,因此它需要保持開啟並執行 Claude Code 或桌面應用程式。如果您的機器在遠端控制工作階段期間進入睡眠狀態,Claude Code 會在機器恢復上線時重新連接。50如果您的電腦將關閉,請使用雲端工作階段或專案,它們在雲端中執行並在您的筆記型電腦關閉後繼續執行。遠端控制和 Dispatch 驅動您自己的機器,因此它需要保持開啟並執行 Claude Code 或桌面應用程式。如果您的機器在遠端控制工作階段期間進入睡眠狀態,Claude Code 會在機器恢復上線時重新連接。

50 51 

51如需更完整的比較,請參閱[當您遠離終端機時工作](/docs/zh-TW/platforms#work-when-you-are-away-from-your-terminal)。52如需更完整的比較,請參閱[當您遠離終端機時工作](/docs/zh-TW/platforms#work-when-you-are-away-from-your-terminal)。

52 53 


56 啟動和監控雲端工作階段57 啟動和監控雲端工作階段

57</h3>58</h3>

58 59 

59Claude Code 網頁版在雲端基礎設施上執行工作,預設由 Anthropic 管理,因此工作階段在您放下手機後繼續執行。從 Code 標籤,選擇儲存庫和分支、描述工作,然後提交。工作階段在裝置間持續存在:您在筆記型電腦上啟動的工作已準備好從您的手機進行審查,您從手機啟動的工作在您回到辦公桌時正在等待。60雲端工作階段在雲端基礎設施上執行工作,預設由 Anthropic 管理,因此工作階段在您放下手機後繼續執行。從 Code 標籤,選擇儲存庫和分支、描述工作,然後提交。工作階段在裝置間持續存在:您在筆記型電腦上啟動的工作已準備好從您的手機進行審查,您從手機啟動的工作在您回到辦公桌時正在等待。

60 61 

61在應用程式中開啟工作階段以檢查進度、回答 Claude 的問題或將其引導到新的方向。您也可以告訴 Claude [監看拉取請求](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests)並在 CI 失敗或審查意見到達時修復它們。若要連接 GitHub 並設定您的環境,請遵循[網頁快速入門](/docs/zh-TW/web-quickstart),並查看[Claude Code 網頁版](/docs/zh-TW/claude-code-on-the-web)以了解雲端工作階段可以執行的所有操作。62在應用程式中開啟工作階段以檢查進度、回答 Claude 的問題或將其引導到新的方向。您也可以告訴 Claude [監看拉取請求](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests)並在 CI 失敗或審查意見到達時修復它們。若要連接 GitHub 並設定您的環境,請遵循[雲端快速入門](/docs/zh-TW/web-quickstart),並查看[在雲端中使用 Claude Code](/docs/zh-TW/claude-code-on-the-web) 以了解雲端工作階段可以執行的所有操作。

62 63 

63<h3 id="continue-a-local-session-with-remote-control">64<h3 id="continue-a-local-session-with-remote-control">

64 使用遠端控制繼續本機工作階段65 使用遠端控制繼續本機工作階段

65</h3>66</h3>

66 67 

67遠端控制將 Claude 應用程式連接到在您的機器上執行的 Claude Code 工作階段,因此程式碼執行和檔案系統存取保持本機,而您從手機驅動工作階段。在您的電腦上使用 `claude remote-control` 啟動工作階段,或在已開啟的工作階段中執行 `/remote-control`。然後掃描終端機可以顯示的工作階段 QR 碼,或開啟 Claude 應用程式、點選 **Code**,然後從清單中選擇工作階段。請參閱[從另一個裝置連接](/docs/zh-TW/remote-control#connect-from-another-device)以了解每個選項。68遠端控制將 Claude 應用程式連接到在您的機器上執行的 Claude Code 工作階段,因此程式碼執行和檔案系統存取保持本機,而您從手機驅動工作階段。在您的電腦上使用 `claude remote-control` 啟動工作階段,或在已開啟的工作階段中執行 `/remote-control`。然後掃描終端機可以顯示的 QR 碼,或開啟 Claude 應用程式、點選 **Code**,然後從清單中選擇工作階段。請參閱[從另一個裝置連接](/docs/zh-TW/remote-control#connect-from-another-device)以了解每個選項。

68 69 

69當您在 Claude 應用程式中新增附件時,它也會到達本機工作階段:70當您在 Claude 應用程式中新增附件時,它也會到達本機工作階段:

70 71 

monitoring-usage.md +192 −157

Details

94當桌面應用程式或[自託管環境](/docs/zh-TW/self-hosted-environments)執行器啟動 Claude Code 並在其提供的環境中命名 OTLP 端點時,Claude Code 會以相同方式固定目的地:啟動器的遙測變數移除開發人員設定的變數,完全如受管設定所做的那樣。Claude Code 不會移除啟動器本身設定的變數。需要 Claude Code v2.1.251 或更新版本。94當桌面應用程式或[自託管環境](/docs/zh-TW/self-hosted-environments)執行器啟動 Claude Code 並在其提供的環境中命名 OTLP 端點時,Claude Code 會以相同方式固定目的地:啟動器的遙測變數移除開發人員設定的變數,完全如受管設定所做的那樣。Claude Code 不會移除啟動器本身設定的變數。需要 Claude Code v2.1.251 或更新版本。

95 95 

96<h2 id="configuration-details">96<h2 id="configuration-details">

97 配置詳情97 設定詳細資訊

98</h2>98</h2>

99 99 

100<h3 id="common-configuration-variables">100<h3 id="common-configuration-variables">

101 常見配置變數101 常見設定變數

102</h3>102</h3>

103 103 

104這些變數為所有部署配置匯出器、端點和匯出行為。如果您設定每個訊號端點或協議變數,例如 `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`,Claude Code 會改用它而不是該訊號的通用變數。如果您設定每個訊號標頭變數,例如 `OTEL_EXPORTER_OTLP_METRICS_HEADERS`,Claude Code 會將其與該訊號的通用 `OTEL_EXPORTER_OTLP_HEADERS` 合併。在具有受管設定的機器上,請參閱[受管設定如何鎖定 OTLP 目的地](#how-managed-settings-lock-the-otlp-destination)以了解 Claude Code 移除的內容。104這些變數為所有部署設定匯出工具、端點和匯出行為。如果您設定每個信號端點或協議變數(例如 `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`),Claude Code 會改用它而不是該信號的通用變數。如果您設定每個信號標頭變數(例如 `OTEL_EXPORTER_OTLP_METRICS_HEADERS`),Claude Code 會將其與該信號的通用 `OTEL_EXPORTER_OTLP_HEADERS` 合併。在具有受管設定的機器上,請參閱[受管設定如何鎖定 OTLP 目的地](#how-managed-settings-lock-the-otlp-destination)以了解 Claude Code 移除的內容。

105 105 

106| 環境變數 | 描述 | 範例值 |106| 環境變數 | 說明 | 範例值 |

107| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- |107| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |

108| `CLAUDE_CODE_ENABLE_TELEMETRY` | 啟用遙測收集(必需) | `1` |108| `CLAUDE_CODE_ENABLE_TELEMETRY` | 啟用遙測收集(必需) | `1` |

109| `OTEL_METRICS_EXPORTER` | 指標匯出器類型,逗號分隔。使用 `none` 以停用 | `console`、`otlp`、`prometheus`、`none` |109| `OTEL_METRICS_EXPORTER` | 指標匯出工具類型,以逗號分隔。使用 `none` 停用 | `console`、`otlp`、`prometheus`、`none` |

110| `OTEL_LOGS_EXPORTER` | 日誌/事件匯出器類型,逗號分隔。使用 `none` 以停用 | `console`、`otlp`、`none` |110| `OTEL_LOGS_EXPORTER` | 日誌/事件匯出工具類型,以逗號分隔。使用 `none` 停用 | `console`、`otlp`、`none` |

111| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP 匯出器的協議,適用於所有訊號。Claude Code 沒有預設協議,因此請為您啟用的每個 `otlp` 匯出器設定此項或訊號特定協議變數 | `grpc`、`http/json`、`http/protobuf` |111| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP 匯出工具的協議,適用於所有信號。Claude Code 沒有預設協議,因此請為您啟用的每個 `otlp` 匯出工具設定此項或信號特定協議變數 | `grpc`、`http/json`、`http/protobuf` |

112| `OTEL_EXPORTER_OTLP_ENDPOINT` | 所有訊號的 OTLP 收集器端點 | `http://localhost:4317` |112| `OTEL_EXPORTER_OTLP_ENDPOINT` | 所有信號的 OTLP 收集器端點 | `http://localhost:4317` |

113| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | 指標協議,覆蓋一般設定 | `grpc`、`http/json`、`http/protobuf` |113| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | 指標的協議,覆蓋通用設定 | `grpc`、`http/json`、`http/protobuf` |

114| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | OTLP 指標端點,覆蓋一般設定 | `http://localhost:4318/v1/metrics` |114| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | OTLP 指標端點,覆蓋通用設定 | `http://localhost:4318/v1/metrics` |

115| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | 日誌協議,覆蓋一般設定 | `grpc`、`http/json`、`http/protobuf` |115| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | 日誌的協議,覆蓋通用設定 | `grpc`、`http/json`、`http/protobuf` |

116| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | OTLP 日誌端點,覆蓋一般設定 | `http://localhost:4318/v1/logs` |116| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | OTLP 日誌端點,覆蓋通用設定 | `http://localhost:4318/v1/logs` |

117| `OTEL_EXPORTER_OTLP_HEADERS` | OTLP 的身份驗證標頭 | `Authorization=Bearer token` |117| `OTEL_EXPORTER_OTLP_HEADERS` | OTLP 的驗證標頭 | `Authorization=Bearer token` |

118| `OTEL_EXPORTER_OTLP_METRICS_HEADERS` | 指標的身份驗證標頭,與一般標頭合併 | `Authorization=Bearer token` |118| `OTEL_EXPORTER_OTLP_METRICS_HEADERS` | 指標的驗證標頭,與通用標頭合併 | `Authorization=Bearer token` |

119| `OTEL_EXPORTER_OTLP_LOGS_HEADERS` | 日誌的身份驗證標頭,與一般標頭合併 | `Authorization=Bearer token` |119| `OTEL_EXPORTER_OTLP_LOGS_HEADERS` | 日誌的驗證標頭,與通用標頭合併 | `Authorization=Bearer token` |

120| `OTEL_METRIC_EXPORT_INTERVAL` | 匯出間隔(毫秒)(預設:60000) | `5000`、`60000` |120| `OTEL_METRIC_EXPORT_INTERVAL` | 匯出間隔(毫秒)(預設值:60000) | `5000`、`60000` |

121| `OTEL_LOGS_EXPORT_INTERVAL` | 日誌匯出間隔(毫秒)(預設:5000) | `1000`、`10000` |121| `OTEL_LOGS_EXPORT_INTERVAL` | 日誌匯出間隔(毫秒)(預設值:5000) | `1000`、`10000` |

122| `OTEL_LOG_USER_PROMPTS` | 啟用使用者提示內容的日誌記錄(預設:停用) | `1` 以啟用 |122| `OTEL_LOG_USER_PROMPTS` | 啟用使用者提示內容的日誌記錄(預設值:停用) | `1` 啟用 |

123| `OTEL_LOG_ASSISTANT_RESPONSES` | 啟用在 `assistant_response` 事件上記錄助手回應文字的日誌(預設:停用)。未設定時,會回退到 `OTEL_LOG_USER_PROMPTS` 的值。需要 Claude Code v2.1.193 或更新版本 | `1` 以啟用,`0` 以保持編輯 |123| `OTEL_LOG_ASSISTANT_RESPONSES` | 在 `assistant_response` 事件上啟用助理回應文字的日誌記錄(預設值:停用)。未設定時,回退到 `OTEL_LOG_USER_PROMPTS` 的值。需要 Claude Code v2.1.193 或更新版本 | `1` 啟用,`0` 保持編輯 |

124| `OTEL_LOG_TOOL_DETAILS` | 啟用在工具事件和追蹤跨度屬性中記錄工具參數和輸入引數的日誌:Bash 命令、MCP 伺服器和工具名稱、Skill 名稱、使用者撰寫的工作流程名稱和工具輸入。也在 `user_prompt` 事件上啟用自訂、plugin 和 MCP 命令名稱(預設:停用)。對於 Claude Desktop 的內建伺服器,在 Claude Desktop 擁有的工作階段中,`mcp_server_name`/`mcp_tool_name` 在 `tool_decision`/`tool_result` 上發出,即使旗標關閉。例外需要 Claude Code v2.1.214 或更新版本 | `1` 以啟用 |124| `OTEL_LOG_TOOL_DETAILS` | 啟用工具事件和追蹤跨度屬性中的工具參數和輸入引數的日誌記錄:Bash 命令、MCP 伺服器和工具名稱、技能名稱、使用者撰寫的工作流程名稱和工具輸入。也在 `user_prompt` 事件上啟用自訂、外掛程式和 MCP 命令名稱(預設值:停用)。對於 Claude Desktop 的內建伺服器,在 Claude Desktop 擁有的工作階段中,即使關閉旗標,`mcp_server_name`/`mcp_tool_name` 也會在 `tool_decision`/`tool_result` 上發出。例外需要 Claude Code v2.1.214 或更新版本 | `1` 啟用 |

125| `OTEL_LOG_TOOL_CONTENT` | 啟用在跨度事件中記錄工具輸入和輸出內容的日誌(預設:停用)。需要[追蹤](#traces-beta)。內容在內容限制處截斷(預設 60 KB) | `1` 以啟用 |125| `OTEL_LOG_TOOL_CONTENT` | 啟用 [`tool.output` 跨度事件](#tool-output-span-event)中工具內容的日誌記錄(預設值:停用)。跨度屬性在[其自己的閘道](#new-context-gates)下攜帶工具內容。需要[追蹤](#traces-beta)。內容在內容限制處截斷(預設值:60 KB) | `1` 啟用 |

126| `OTEL_LOG_RAW_API_BODIES` | 將完整的 Anthropic Messages API 請求和回應 JSON 作為 `api_request_body` / `api_response_body` 日誌事件發出(預設:停用)。主體包括整個對話歷史記錄。啟用此選項意味著同意 `OTEL_LOG_USER_PROMPTS`、`OTEL_LOG_TOOL_DETAILS` 和 `OTEL_LOG_TOOL_CONTENT` 會揭露的所有內容 | `1` 用於在內容限制處截斷的內聯主體(預設 60 KB),或 `file:<dir>` 用於磁碟上未截斷的主體,事件中有 `body_ref` 指標 |126| `OTEL_LOG_RAW_API_BODIES` | 將完整的 Anthropic Messages API 請求和回應 JSON 作為 `api_request_body` / `api_response_body` 日誌事件發出(預設值:停用)。主體包括整個對話歷史記錄。啟用此項意味著同意 `OTEL_LOG_USER_PROMPTS`、`OTEL_LOG_TOOL_DETAILS` 和 `OTEL_LOG_TOOL_CONTENT` 會揭露的所有內容 | `1` 表示在內容限制處截斷的內聯主體(預設值:60 KB),或 `file:<dir>` 表示磁碟上未截斷的主體,在事件中帶有 `body_ref` 指標 |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 內容限制:內容承載屬性的最大長度,例如模型回應、工具內容、系統提示和原始 API 主體,截斷標記包括在內,以 UTF-16 代碼單位計(預設:61440,即 60 KB)。預設值適用於將屬性值上限設為 64 KB 的後端;僅在您的後端接受更大值時提高它,或降低它以減少遙測量。當設定了 OpenTelemetry SDK 屬性限制 `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` 或其日誌記錄和跨度變體時,Claude Code 在該較小值處截斷,以便 `[TRUNCATED ...]` 標記保持在 SDK 限制內。需要 Claude Code v2.1.214 或更新版本 | `262144` |127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 內容限制:內容承載屬性(例如模型回應、工具內容、系統提示和原始 API 主體)的最大長度,包括截斷標記,以 UTF-16 程式碼單位計(預設值:61440,即 60 KB)。預設值適用於將屬性值上限設為 64 KB 的後端;只有在您的後端接受更大的值時才提高它,或降低它以減少遙測量。當設定了 OpenTelemetry SDK 屬性限制 `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` 或其日誌記錄和跨度變體之一時,Claude Code 會在該較小的值處截斷,以便 `[TRUNCATED ...]` 標記保持在 SDK 限制內。需要 Claude Code v2.1.214 或更新版本 | `262144` |

128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | 指標時間性偏好(預設:`delta`)。如果您的後端期望累積時間性,請設定為 `cumulative` | `delta`、`cumulative` |128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | 指標時間性偏好(預設值:`delta`)。如果您的後端期望累積時間性,請設定為 `cumulative` | `delta`、`cumulative` |

129| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 重新整理動態標頭的間隔(預設:1740000ms / 29 分鐘) | `900000` |129| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 重新整理動態標頭的間隔(預設值:1740000ms / 29 分鐘) | `900000` |

130 130 

131對於 `http/protobuf` 和 `http/json` 協議,Claude Code 會使用 `Content-Length` 標頭傳送每個匯出請求。在 v2.1.212 之前,v2.1.191 及以後的 Claude Code 版本使用分塊傳輸編碼傳送這些請求;Azure Monitor 和其他需要聲明長度的端點以 `411 Length Required` 或 `400` 錯誤拒絕它們。131對於 `http/protobuf` 和 `http/json` 協議,Claude Code 會使用 `Content-Length` 標頭傳送每個匯出請求。在 v2.1.212 之前,v2.1.191 及以後的 Claude Code 版本使用分塊傳輸編碼傳送這些請求;Azure Monitor 和其他需要宣告長度的端點以 `411 Length Required` 或 `400` 錯誤拒絕它們。

132 132 

133<h3 id="mtls-authentication">133<h3 id="mtls-authentication">

134 mTLS 身份驗證134 mTLS 驗證

135</h3>135</h3>

136 136 

137您為 OTLP 匯出器配置用戶端憑證的方式取決於該訊號使用的 OTLP 協議,透過 `OTEL_EXPORTER_OTLP_PROTOCOL` 或每個訊號的覆蓋設定。相同的配置適用於指標、日誌和追蹤。137您為 OTLP 匯出工具設定用戶端憑證的方式取決於該信號使用的 OTLP 協議,透過 `OTEL_EXPORTER_OTLP_PROTOCOL` 或每個信號的覆蓋設定。相同的設定適用於指標、日誌和追蹤。

138 138 

139| 協議 | 用戶端憑證變數 | 信任收集器的 CA |139| 協議 | 用戶端憑證變數 | 信任收集器的 CA 使用 |

140| :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |140| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------- |

141| `http/protobuf`、`http/json` | `CLAUDE_CODE_CLIENT_CERT`、`CLAUDE_CODE_CLIENT_KEY` 和可選的 `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`。請參閱[網路配置](/docs/zh-TW/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |141| `http/protobuf`、`http/json` | `CLAUDE_CODE_CLIENT_CERT`、`CLAUDE_CODE_CLIENT_KEY` 和選擇性的 `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`。請參閱[網路設定](/docs/zh-TW/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

142| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` 和 `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`,或每個訊號的變體,例如 `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` 以針對每個訊號使用不同的憑證 | `OTEL_EXPORTER_OTLP_CERTIFICATE` |142| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` 和 `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`,或每個信號的變體(例如 `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY`)以針對每個信號使用不同的憑證 | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

143 143 

144對於 `grpc`,OpenTelemetry SDK 直接讀取標準 OTLP 變數,因此設定每個訊號指標變數的現有配置會繼續運作。在具有受管設定的機器上,Claude Code [可能會在啟動時移除開發人員設定的每個訊號認證和端點](#how-managed-settings-lock-the-otlp-destination)。144對於 `grpc`,OpenTelemetry SDK 直接讀取標準 OTLP 變數,因此設定每個信號指標變數的現有設定會繼續運作。在具有受管設定的機器上,Claude Code [可能在啟動時移除開發人員設定的每個信號認證和端點](#how-managed-settings-lock-the-otlp-destination)。

145 145 

146<h3 id="metrics-cardinality-control">146<h3 id="metrics-cardinality-control">

147 指標基數控制147 指標基數控制

148</h3>148</h3>

149 149 

150以下環境變數控制指標中包含哪些屬性以管理基數:150下列環境變數控制指標中包含哪些屬性以管理基數:

151 151 

152| 環境變數 | 描述 | 預設值 | 停用範例 |152| 環境變數 | 說明 | 預設值 | 停用範例 |

153| ------------------------------------------ | --------------------------------------------------------------------------------- | ------- | ------- |153| ------------------------------------------ | --------------------------------------------------------------------------------- | ------- | ------- |

154| `OTEL_METRICS_INCLUDE_SESSION_ID` | 在指標中包含 session.id 屬性 | `true` | `false` |154| `OTEL_METRICS_INCLUDE_SESSION_ID` | 在指標中包含 session.id 屬性 | `true` | `false` |

155| `OTEL_METRICS_INCLUDE_VERSION` | 在指標中包含 app.version 屬性 | `false` | `true` |155| `OTEL_METRICS_INCLUDE_VERSION` | 在指標中包含 app.version 屬性 | `false` | `true` |

156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 在指標中包含 user.account\_uuid 和 user.account\_id 屬性 | `true` | `false` |156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 在指標中包含 user.account\_uuid 和 user.account\_id 屬性 | `true` | `false` |

157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 在指標中包含 app.entrypoint 屬性 | `false` | `true` |157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 在指標中包含 app.entrypoint 屬性 | `false` | `true` |

158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | 將 `OTEL_RESOURCE_ATTRIBUTES` 中的鍵作為屬性包含在指標資料點上 | `true` | `false` |158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | 將 `OTEL_RESOURCE_ATTRIBUTES` 中的金鑰作為屬性包含在指標資料點上 | `true` | `false` |

159| `OTEL_METRICS_INCLUDE_REPOSITORY` | 在指標和事件上包含 `vcs.*` [儲存庫身份屬性](#repository-attributes)。需要 Claude Code v2.1.269 或更新版本 | `false` | `true` |159| `OTEL_METRICS_INCLUDE_REPOSITORY` | 在指標和事件上包含 `vcs.*` [儲存庫身分屬性](#repository-attributes)。需要 Claude Code v2.1.269 或更新版本 | `false` | `true` |

160 160 

161較低的基數通常意味著更好的效能和更低的儲存成本,但分析的資料粒度較低。161較低的基數通常意味著更好的效能和更低的儲存成本,但分析的資料粒度較低。

162 162 

163<h3 id="traces-beta">163<h3 id="traces-beta">

164 Traces (beta)164 追蹤(測試版)

165</h3>165</h3>

166 166 

167分散式追蹤匯出跨度,將每個使用者提示連結到它觸發的 API 請求和工具執行,因此您可以在追蹤後端中將完整請求檢視為單個追蹤。167分散式追蹤匯出跨度,將每個使用者提示連結到它觸發的 API 請求和工具執行,因此您可以在追蹤後端中將完整請求檢視為單一追蹤。

168 168 

169追蹤預設為關閉。若要啟用它,請同時設定 `CLAUDE_CODE_ENABLE_TELEMETRY=1` 和 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`,然後設定 `OTEL_TRACES_EXPORTER` 以選擇跨度的傳送位置。追蹤重複使用[常見 OTLP 配置](#common-configuration-variables)以取得端點、協議、標頭和 [mTLS](#mtls-authentication)。在具有受管設定的機器上,Claude Code [可能會在啟動時移除開發人員設定的每個訊號認證和端點](#how-managed-settings-lock-the-otlp-destination)。169追蹤預設為關閉。若要啟用它,請同時設定 `CLAUDE_CODE_ENABLE_TELEMETRY=1` 和 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`,然後設定 `OTEL_TRACES_EXPORTER` 以選擇跨度的傳送位置。追蹤重複使用[常見 OTLP 設定](#common-configuration-variables)以取得端點、協議、標頭和 [mTLS](#mtls-authentication)。在具有受管設定的機器上,Claude Code [可能在啟動時移除開發人員設定的每個信號認證和端點](#how-managed-settings-lock-the-otlp-destination)。

170 170 

171| 環境變數 | 描述 | 範例值 |171| 環境變數 | 說明 | 範例值 |

172| ------------------------------------- | ----------------------------------------------- | ---------------------------------- |172| ------------------------------------- | ----------------------------------------------- | ---------------------------------- |

173| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | 啟用跨度追蹤(必需)。也接受 `ENABLE_ENHANCED_TELEMETRY_BETA` | `1` |173| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | 啟用跨度追蹤(必需)。也接受 `ENABLE_ENHANCED_TELEMETRY_BETA` | `1` |

174| `OTEL_TRACES_EXPORTER` | 追蹤匯出器類型,逗號分隔。使用 `none` 以停用 | `console`、`otlp`、`none` |174| `OTEL_TRACES_EXPORTER` | 追蹤匯出工具類型,以逗號分隔。使用 `none` 停用 | `console`、`otlp`、`none` |

175| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | 追蹤協議,覆蓋 `OTEL_EXPORTER_OTLP_PROTOCOL` | `grpc`、`http/json`、`http/protobuf` |175| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | 追蹤的協議,覆蓋 `OTEL_EXPORTER_OTLP_PROTOCOL` | `grpc`、`http/json`、`http/protobuf` |

176| `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | OTLP 追蹤端點,覆蓋 `OTEL_EXPORTER_OTLP_ENDPOINT` | `http://localhost:4318/v1/traces` |176| `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | OTLP 追蹤端點,覆蓋 `OTEL_EXPORTER_OTLP_ENDPOINT` | `http://localhost:4318/v1/traces` |

177| `OTEL_EXPORTER_OTLP_TRACES_HEADERS` | 追蹤的身份驗證標頭,與 `OTEL_EXPORTER_OTLP_HEADERS` 合併 | `Authorization=Bearer token` |177| `OTEL_EXPORTER_OTLP_TRACES_HEADERS` | 追蹤的驗證標頭,與 `OTEL_EXPORTER_OTLP_HEADERS` 合併 | `Authorization=Bearer token` |

178| `OTEL_TRACES_EXPORT_INTERVAL` | 跨度批次匯出間隔(毫秒)(預設:5000) | `1000`、`10000` |178| `OTEL_TRACES_EXPORT_INTERVAL` | 跨度批次匯出間隔(毫秒)(預設值:5000) | `1000`、`10000` |

179 179 

180跨度預設會編輯使用者提示文字、工具輸入詳情和工具內容。設定 `OTEL_LOG_USER_PROMPTS=1`、`OTEL_LOG_TOOL_DETAILS=1` 和 `OTEL_LOG_TOOL_CONTENT=1` 以包含它們。180跨度預設會編輯使用者提示文字、工具輸入詳細資訊和工具內容。設定 `OTEL_LOG_USER_PROMPTS=1`、`OTEL_LOG_TOOL_DETAILS=1` 和 `OTEL_LOG_TOOL_CONTENT=1` 以包含它們。

181 181 

182當追蹤處於活動狀態時,Bash 和 PowerShell 子程序會自動繼承包含活動工具執行跨度的 W3C 追蹤上下文的 `TRACEPARENT` 環境變數。這讓任何讀取 `TRACEPARENT` 的子程序都可以在同一追蹤下將其自己的跨度作為父項,透過 Claude 執行的指令碼和命令啟用端到端分散式追蹤。182當追蹤處於作用中時,Bash 和 PowerShell 子程序會自動繼承包含作用中工具執行跨度的 W3C 追蹤內容的 `TRACEPARENT` 環境變數。這讓任何讀取 `TRACEPARENT` 的子程序都可以在相同追蹤下將其自己的跨度作為父項,啟用透過 Claude 執行的指令碼和命令的端對端分散式追蹤。

183 183 

184當追蹤處於活動狀態且 Claude Code 直接連接到 Anthropic API 時,每個模型請求都會攜帶設定為 `claude_code.llm_request` 跨度上下文的 W3C `traceparent` 標頭,並且 API 的 `traceresponse` 標頭被記錄為跨度連結。這些一起透過任何相容的中介將 Claude Code 的用戶端跨度連接到伺服器端追蹤。出站 HTTP MCP 請求以相同方式攜帶 `traceparent`。標頭不會傳送給第三方提供者。184當追蹤處於作用中且 Claude Code 直接連線到 Anthropic API 時,每個模型請求都會攜帶設定為 `claude_code.llm_request` 跨度內容的 W3C `traceparent` 標頭,API 的 `traceresponse` 標頭會記錄為跨度連結。這些一起透過任何相容的中介將 Claude Code 的用戶端跨度連線到伺服器端追蹤。出站 HTTP MCP 請求以相同方式攜帶 `traceparent`。標頭不會傳送給第三方提供者。

185 185 

186預設情況下,模型和 HTTP MCP 請求上的 `traceparent` 標頭僅在 `ANTHROPIC_BASE_URL` 未設定或指向 Anthropic API 時傳送,因為某些代理會拒絕無法識別的標頭。子程序 `TRACEPARENT` 變數由相同的開關控制以保持一致性。如果您透過自訂 `ANTHROPIC_BASE_URL` 代理執行 Claude Code 並想要傳播追蹤上下文,請設定 `CLAUDE_CODE_PROPAGATE_TRACEPARENT=1`。186預設情況下,模型和 HTTP MCP 請求上的 `traceparent` 標頭僅在 `ANTHROPIC_BASE_URL` 未設定或指向 Anthropic API 時傳送,因為某些代理會拒絕無法識別的標頭。子程序 `TRACEPARENT` 變數由相同的開關控制以保持一致性。如果您透過自訂 `ANTHROPIC_BASE_URL` 代理執行 Claude Code 並想要傳播追蹤內容,請設定 `CLAUDE_CODE_PROPAGATE_TRACEPARENT=1`。

187 187 

188在 Agent SDK 和以 `-p` 啟動的非互動式工作階段中,Claude Code 也會在啟動每個互動跨度時從其自己的環境中讀取 `TRACEPARENT` 和 `TRACESTATE`。這讓嵌入程序將其活動 W3C 追蹤上下文傳遞到子程序中,以便 Claude Code 的跨度顯示為呼叫者分散式追蹤的子項。互動式工作階段會忽略入站 `TRACEPARENT` 以避免意外繼承來自 CI 或容器環境的環境值。188在 Agent SDK 和以 `-p` 啟動的非互動式工作階段中,Claude Code 也會在啟動每個互動跨度時從其自己的環境讀取 `TRACEPARENT` 和 `TRACESTATE`。這讓嵌入程序將其作用中的 W3C 追蹤內容傳遞到子程序,以便 Claude Code 的跨度顯示為呼叫者分散式追蹤的子項。互動式工作階段會忽略入站 `TRACEPARENT` 以避免意外繼承來自 CI 或容器環境的環境值。

189 189 

190入站追蹤上下文也適用於[事件](#events)。在 Agent SDK 和設定了 `TRACEPARENT` 的 `-p` 工作階段中,每個 OTLP 事件日誌記錄都攜帶 `trace_id` 和 `span_id` 值,將其連結到您的應用程式追蹤,即使未配置追蹤匯出器,您的日誌後端也可以將事件與追蹤的其餘部分相關聯。190入站追蹤內容也適用於[事件](#events)。在設定了 `TRACEPARENT` 的 Agent SDK 和 `-p` 工作階段中,每個 OTLP 事件日誌記錄都會攜帶 `trace_id` 和 `span_id` 值,將其連結到您的應用程式追蹤,即使未設定追蹤匯出工具,您的日誌後端也可以將事件與追蹤的其餘部分相關聯。

191 191 

192在互動跨度處於活動狀態時發出的記錄會攜帶互動跨度的 ID,即使 Claude Code 在跨度的非同步上下文之外發出它,例如在權限提示回呼或在啟動期間緩衝並稍後匯出的記錄中。在沒有活動互動跨度的情況下發出的記錄會直接攜帶入站 `TRACEPARENT` ID。在 v2.1.214 之前,在跨度的非同步上下文之外發出的記錄會攜帶入站 `TRACEPARENT` ID 而不是跨度的 ID。在 v2.1.212 之前,在活動跨度之外發出的事件記錄不會攜帶 `trace_id` 或 `span_id`。192在互動作用中時發出的記錄會攜帶互動跨度的 ID,即使 Claude Code 在跨度的非同步內容外發出它,例如在權限提示回呼或在啟動期間緩衝並稍後匯出的記錄中。在沒有作用中互動跨度的情況下發出的記錄會直接攜帶入站 `TRACEPARENT` ID。在 v2.1.214 之前,在跨度的非同步內容外發出的記錄會攜帶入站 `TRACEPARENT` ID 而不是跨度的 ID。在 v2.1.212 之前,在作用中跨度外發出的事件記錄不會攜帶 `trace_id` 或 `span_id`。

193 193 

194<h4 id="span-hierarchy">194<h4 id="span-hierarchy">

195 跨度階層195 跨度階層

196</h4>196</h4>

197 197 

198每個使用者提示啟動一個 `claude_code.interaction` 根跨度。API 呼叫、工具呼叫和 hook 執行被記錄為其子項。工具跨度有兩個自己的子跨度:一個用於等待權限決定所花費的時間,一個用於執行本身。當 Agent 工具或舊版 Task 工具產生子代理時,子代理的 API 和工具跨度會嵌套在父項的 `claude_code.tool` 跨度下。198每個使用者提示都會啟動 `claude_code.interaction` 根跨度。API 呼叫、工具呼叫和掛鉤執行會記錄為其子項。工具跨度有兩個自己的子跨度:一個用於等待權限決定的時間,一個用於執行本身。當 Agent 工具或舊版 Task 工具產生子代理時,子代理的 API 和工具跨度會巢狀在父項的 `claude_code.tool` 跨度下。

199 199 

200```text theme={null}200```text theme={null}

201claude_code.interaction201claude_code.interaction


207 └── (Agent tool) subagent claude_code.llm_request / claude_code.tool spans207 └── (Agent tool) subagent claude_code.llm_request / claude_code.tool spans

208```208```

209 209 

210在 Agent SDK 和 `claude -p` 工作階段中,當環境中設定 `TRACEPARENT` 時,`claude_code.interaction` 本身會成為呼叫者跨度的子項。210在 Agent SDK 和 `claude -p` 工作階段中,當環境中設定了 `TRACEPARENT` 時,`claude_code.interaction` 本身會成為呼叫者跨度的子項。

211 211 

212當 `PreToolUse` hook [延遲工具呼叫](/docs/zh-TW/hooks#defer-a-tool-call-for-later)時,Claude Code 會儲存延遲它的輪次的追蹤上下文。當您恢復工作階段並且工具重新執行時,工具的跨度會作為該較早輪次的 `claude_code.interaction` 跨度的子項加入該較早輪次的追蹤。212當 `PreToolUse` 掛鉤[延遲工具呼叫](/docs/zh-TW/hooks#defer-a-tool-call-for-later)時,Claude Code 會儲存延遲它的回合的追蹤內容。當您繼續工作階段且工具重新執行時,工具的跨度會作為該較早回合的 `claude_code.interaction` 跨度的子項加入該回合的追蹤。

213 213 

214<h4 id="span-attributes">214<h4 id="span-attributes">

215 跨度屬性215 跨度屬性

216</h4>216</h4>

217 217 

218每個跨度都帶有[標準屬性](#standard-attributes)加上與其名稱相符的 `span.type` 屬性。下表列出在每個跨度上設定的其他屬性。`llm_request`、`tool.execution` 和 `hook` 跨度在記錄失敗時設定 OpenTelemetry 狀態 `ERROR`;其他跨度始終以狀態 `UNSET` 結束。218每個跨度都會攜帶[標準屬性](#standard-attributes)加上與其名稱相符的 `span.type` 屬性。下表列出在每個跨度上設定的其他屬性。`llm_request`、`tool.execution` 和 `hook` 跨度在記錄失敗時設定 OpenTelemetry 狀態 `ERROR`;其他跨度始終以狀態 `UNSET` 結束。

219 219 

220**`claude_code.interaction`**220**`claude_code.interaction`**

221 221 

222| 屬性 | 描述 | 由以下控制 |222| 屬性 | 說明 | 由以下控制 |

223| ------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------- |223| ------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------- |

224| `user_prompt` | 提示文字。除非設定了閘道,否則值為 `<REDACTED>` | `OTEL_LOG_USER_PROMPTS` |224| `user_prompt` | 提示文字。除非設定了閘道,否則值為 `<REDACTED>` | `OTEL_LOG_USER_PROMPTS` |

225| `user_prompt_length` | 提示長度(字元) | |225| `user_prompt_length` | 提示長度(字元) | |

226| `interaction.sequence` | 此工作階段中互動的 1 為基數計數器 | |226| `interaction.sequence` | 互動的 1 為基礎計數器,按 Claude Code 程序而不是按工作階段計數,如 [`event.sequence`](#event-correlation-attributes) 所述 | |

227| `parent.source` | 跨度如何獲得其追蹤父項:當它在入站 `TRACEPARENT` 下作為父項時為 `env`,當它啟動自己的追蹤時為 `none`。需要 Claude Code v2.1.268 或更新版本 | |227| `parent.source` | 跨度如何獲得其追蹤父項:當它在入站 `TRACEPARENT` 下作為父項時為 `env`,當它啟動自己的追蹤時為 `none`。需要 Claude Code v2.1.268 或更新版本 | |

228| `interaction.duration_ms` | 輪次的牆上時間持續時間 | |228| `interaction.duration_ms` | 回合的掛鐘持續時間 | |

229 229 

230**`claude_code.llm_request`**230**`claude_code.llm_request`**

231 231 

232| 屬性 | 描述 | 由以下控制 |232| 屬性 | 說明 | 由以下控制 |

233| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |233| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |

234| `model` | 模型識別碼 | |234| `model` | 模型識別碼 | |

235| `gen_ai.system` | 始終為 `anthropic`。OpenTelemetry GenAI 語義慣例 | |235| `gen_ai.system` | 始終為 `anthropic`。OpenTelemetry GenAI 語義慣例 | |

236| `gen_ai.request.model` | 與 `model` 相同的值。OpenTelemetry GenAI 語義慣例 | |236| `gen_ai.request.model` | 與 `model` 相同的值。OpenTelemetry GenAI 語義慣例 | |

237| `query_source` | 發出請求的子系統,例如 `repl_main_thread` 或子代理名稱 | `ENABLE_BETA_TRACING_DETAILED` |237| `query_source` | 發出請求的子系統,例如 `repl_main_thread` 或子代理名稱 | `ENABLE_BETA_TRACING_DETAILED` |

238| `query_source_safe` | `query_source` 的有界形式,無論詳細 beta 追蹤是否活動都發出,具有 `repl_main_thread` 或 `agent.builtin.general-purpose` 等值。`:` 變成 `.`,使用者命名的代理顯示為 `agent.custom`。需要 Claude Code v2.1.268 或更新版本 | |238| `query_source_safe` | `query_source` 的有界形式,無論詳細測試版追蹤是否作用中都會發出,具有 `repl_main_thread` 或 `agent.builtin.general-purpose` 等值。`:` 變成 `.`,使用者命名的代理顯示為 `agent.custom`。需要 Claude Code v2.1.268 或更新版本 | |

239| `agent_id` | 發出請求的子代理或隊友的識別碼。在主工作階段上不存在 | |239| `agent_id` | 發出請求的子代理或隊友的識別碼。在主工作階段上不存在 | |

240| `parent_agent_id` | 產生此代理的代理的識別碼。對於主工作階段和直接從其產生的代理不存在 | |240| `parent_agent_id` | 產生此代理的代理的識別碼。對於主工作階段和直接從它產生的代理不存在 | |

241| `workflow.run_id` | 產生此代理的 [Workflow](/docs/zh-TW/workflows) 工具執行的執行識別碼,前綴為 `wf_`。對於不是由工作流程產生的代理不存在 | |241| `workflow.run_id` | 產生此代理的[工作流程](/docs/zh-TW/workflows)工具執行的執行識別碼,前綴為 `wf_`。對於不是由工作流程產生的代理不存在 | |

242| `workflow.name` | 產生此代理的工作流程名稱。使用者撰寫的名稱會被替換為 `custom`,除非設定了閘道 | `OTEL_LOG_TOOL_DETAILS` |242| `workflow.name` | 產生此代理的工作流程的名稱。使用者撰寫的名稱會被替換為 `custom`,除非設定了閘道 | `OTEL_LOG_TOOL_DETAILS` |

243| `speed` | `fast` 或 `normal` | |243| `speed` | `fast` 或 `normal` | |

244| `llm_request.context` | `interaction`、`tool` 或 `standalone`,取決於父跨度 | |244| `llm_request.context` | 根據父項跨度為 `interaction`、`tool` 或 `standalone` | |

245| `duration_ms` | 包括重試的牆上時間持續時間 | |245| `duration_ms` | 掛鐘持續時間,包括重試 | |

246| `ttft_ms` | 首個權杖的時間(毫秒) | |246| `ttft_ms` | 首個權杖的時間(毫秒) | |

247| `first_content_ms` | 從請求開始到成功嘗試的第一個內容區塊的時間(毫秒)。在回退到非串流路徑的請求上不存在。需要 Claude Code v2.1.268 或更新版本 | |247| `first_content_ms` | 從請求開始到成功嘗試的第一個內容區塊的時間(毫秒)。在回退到非串流路徑的請求上不存在。需要 Claude Code v2.1.268 或更新版本 | |

248| `input_tokens` | 來自 API 使用區塊的輸入權杖計數 | |248| `input_tokens` | 來自 API 使用量區塊的輸入權杖計數 | |

249| `output_tokens` | 輸出權杖計數 | |249| `output_tokens` | 輸出權杖計數 | |

250| `cache_read_tokens` | 從提示快取讀取的權杖 | |250| `cache_read_tokens` | 從提示快取讀取的權杖 | |

251| `cache_creation_tokens` | 寫入提示快取的權杖 | |251| `cache_creation_tokens` | 寫入提示快取的權杖 | |

252| `request_id` | 來自 `request-id` 回應標頭的 Anthropic API 請求 ID | |252| `request_id` | 來自 `request-id` 回應標頭的 Anthropic API 請求 ID | |

253| `gen_ai.response.id` | 與 `request_id` 相同的值。OpenTelemetry GenAI 語義慣例 | |253| `gen_ai.response.id` | 與 `request_id` 相同的值。OpenTelemetry GenAI 語義慣例 | |

254| `client_request_id` | 最後一次嘗試的用戶端產生的 `x-client-request-id` | |254| `client_request_id` | 最終嘗試的用戶端產生的 `x-client-request-id` | |

255| `attempt` | 為此請求進行的總嘗試次數 | |255| `attempt` | 為此請求進行的總嘗試次數 | |

256| `success` | `true` 或 `false` | |256| `success` | `true` 或 `false` | |

257| `status_code` | 請求失敗時的 HTTP 狀態碼 | |257| `status_code` | 請求失敗時的 HTTP 狀態碼 | |

258| `error` | 請求失敗時的錯誤訊息 | |258| `error` | 請求失敗時的錯誤訊息 | |

259| `error_class` | 請求失敗時的短錯誤類別權杖,例如 `api_timeout` 或 `server_overload`。需要 Claude Code v2.1.268 或更新版本 | |259| `error_class` | 請求失敗時的簡短錯誤類別權杖,例如 `api_timeout` 或 `server_overload`。需要 Claude Code v2.1.268 或更新版本 | |

260| `response.has_tool_call` | 當回應包含工具使用區塊時為 `true` | |260| `response.has_tool_call` | 當回應包含工具使用區塊時為 `true` | |

261| `stop_reason` | API 回應 `stop_reason`,例如 `end_turn`、`tool_use`、`max_tokens`、`stop_sequence`、`pause_turn` 或 `refusal` | |261| `stop_reason` | API 回應 `stop_reason`,例如 `end_turn`、`tool_use`、`max_tokens`、`stop_sequence`、`pause_turn` 或 `refusal` | |

262| `gen_ai.response.finish_reasons` | 與 `stop_reason` 相同的值,包裝在字串陣列中。OpenTelemetry GenAI 語義慣例 | |262| `gen_ai.response.finish_reasons` | 與 `stop_reason` 相同的值,包裝在字串陣列中。OpenTelemetry GenAI 語義慣例 | |

263 263 

264每次重試嘗試也被記錄為具有 `attempt` 和 `client_request_id` 屬性的 `gen_ai.request.attempt` 跨度事件。264每次重試嘗試也會記錄為 `gen_ai.request.attempt` 跨度事件,具有 `attempt` 和 `client_request_id` 屬性。

265 265 

266**`claude_code.tool`**266**`claude_code.tool`**

267 267 

268| 屬性 | 描述 | 由以下控制 |268| 屬性 | 說明 | 由以下控制 |

269| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- |269| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- |

270| `tool_name` | 工具名稱 | |270| `tool_name` | 工具名稱 | |

271| `tool_name_safe` | `tool_name` 的形式,不攜帶任何使用者選擇的名稱。內建工具名稱逐字傳遞。MCP 工具名稱顯示為 `mcp_other`,除了符合幾個固定形狀的工具名稱,例如名為 `browser_*` 的 playwright 工具,它們逐字傳遞。需要 Claude Code v2.1.268 或更新版本 | |271| `tool_name_safe` | `tool_name` 的形式,不攜帶任何使用者選擇的名稱。內建工具名稱逐字傳遞。MCP 工具名稱顯示為 `mcp_other`,除了符合幾個固定形狀的工具名稱,例如名為 `browser_*` 的 Playwright 工具,它們逐字傳遞。需要 Claude Code v2.1.268 或更新版本 | |

272| `bash_command_class` | 對於 Bash 工具:命令的第一個程式的類別,來自固定清單,例如 `vcs` 或 `package_manager`。`other` 用於清單外的程式,`unparsed` 當行無法解析時。需要 Claude Code v2.1.268 或更新版本 | |272| `bash_command_class` | 對於 Bash 工具:命令的第一個程式的類別,來自固定清單,例如 `vcs` 或 `package_manager`。對於清單外的程式為 `other`,當行無法解析時為 `unparsed`。需要 Claude Code v2.1.268 或更新版本 | |

273| `bash_argv0` | 對於 Bash 工具:當命令的第一個程式在同一固定清單上時,例如 `git` 或 `npm`。`other` 用於清單外的任何程式。需要 Claude Code v2.1.268 或更新版本 | |273| `bash_argv0` | 對於 Bash 工具:當命令的第一個程式在相同的固定清單上時,例如 `git` 或 `npm`。對於清單外的任何程式為 `other`。需要 Claude Code v2.1.268 或更新版本 | |

274| `duration_ms` | 包括權限等待和執行的牆上時間持續時間 | |274| `duration_ms` | 掛鐘持續時間,包括權限等待和執行 | |

275| `result_tokens` | 工具結果的近似權杖大小 | |275| `result_tokens` | 工具結果的近似權杖大小 | |

276| `agent_id` | 執行工具的子代理或隊友的識別碼。在主工作階段上不存在 | |276| `agent_id` | 執行工具的子代理或隊友的識別碼。在主工作階段上不存在 | |

277| `parent_agent_id` | 產生此代理的代理的識別碼。對於主工作階段和直接從其產生的代理不存在 | |277| `parent_agent_id` | 產生此代理的代理的識別碼。對於主工作階段和直接從它產生的代理不存在 | |

278| `workflow.run_id` | 產生此代理的 Workflow 工具執行的執行識別碼,前綴為 `wf_`。對於不是由工作流程產生的代理不存在 | |278| `workflow.run_id` | 產生此代理的工作流程工具執行的執行識別碼,前綴為 `wf_`。對於不是由工作流程產生的代理不存在 | |

279| `workflow.name` | 產生此代理的工作流程名稱。使用者撰寫的名稱會被替換為 `custom`,除非設定了閘道 | `OTEL_LOG_TOOL_DETAILS` |279| `workflow.name` | 產生此代理的工作流程的名稱。使用者撰寫的名稱會被替換為 `custom`,除非設定了閘道 | `OTEL_LOG_TOOL_DETAILS` |

280| `tool_use_id` | 此呼叫的模型 `tool_use` 區塊 id。符合[工具結果](#tool-result-event)和[工具決定](#tool-decision-event)事件上的 `tool_use_id` 以及 hook 承載中的 `tool_use_id`,因此您可以將跨度連結到這些記錄 | |280| `tool_use_id` | 此呼叫的模型 `tool_use` 區塊 ID。與 [tool\_result](#tool-result-event) 和 [tool\_decision](#tool-decision-event) 事件上的 `tool_use_id` 以及掛鉤承載中的相符,因此您可以將跨度連結到這些記錄 | |

281| `gen_ai.tool.call.id` | 與 `tool_use_id` 相同的值。OpenTelemetry GenAI 語義慣例 | |281| `gen_ai.tool.call.id` | 與 `tool_use_id` 相同的值。OpenTelemetry GenAI 語義慣例 | |

282| `file_path` | Read、Edit 和 Write 工具的目標檔案路徑 | `OTEL_LOG_TOOL_DETAILS` |282| `file_path` | Read、Edit 和 Write 工具的目標檔案路徑 | `OTEL_LOG_TOOL_DETAILS` |

283| `full_command` | Bash 工具的命令字串 | `OTEL_LOG_TOOL_DETAILS` |283| `full_command` | Bash 工具的命令字串 | `OTEL_LOG_TOOL_DETAILS` |

284| `skill_name` | Skill 工具的技能名稱 | `OTEL_LOG_TOOL_DETAILS` |284| `skill_name` | Skill 工具的技能名稱 | `OTEL_LOG_TOOL_DETAILS` |

285| `subagent_type` | Agent 工具或舊版 Task 工具的子代理類型 | `OTEL_LOG_TOOL_DETAILS` |285| `subagent_type` | Agent 工具或舊版 Task 工具的子代理類型 | `OTEL_LOG_TOOL_DETAILS` |

286 286 

287當 `OTEL_LOG_TOOL_CONTENT=1` 時,此跨度也會記錄一個 `tool.output` 跨度事件,其屬性包含工具的輸入和輸出主體,在內容限制處截斷(預設 60 KB)。287<span id="tool-output-span-event" />**`tool.output` 跨度事件在 `claude_code.tool` 上**

288 

289如果您設定 `OTEL_LOG_TOOL_CONTENT=1`,Read 和 Bash 呼叫可以在 `claude_code.tool` 跨度上記錄 `tool.output` 跨度事件。Edit 和 Write 呼叫僅在您也設定 `OTEL_LOG_TOOL_DETAILS=1` 時才記錄一個。該變數不限於這兩個工具,因此請檢查其[設定表中的列](#common-configuration-variables)以了解它在其他地方新增的引數。

290 

291Claude Code 從工具呼叫的成功返回寫入此事件,因此引發錯誤的呼叫不會記錄任何內容,無論工具如何。在確實返回的呼叫中,它不會為以下項目記錄 `tool.output` 事件:

292 

293* 對除 Read、Edit、Write 和 Bash 之外的任何工具的呼叫,包括 MCP 工具和 WebFetch

294* 返回除檔案文字以外的任何內容的 Read,例如影片、PDF 或重新讀取其內容未變更的檔案

295* Edit 或 Write 呼叫,除非您也設定 `OTEL_LOG_TOOL_DETAILS=1`

296 

297該事件攜帶這些屬性,每個都在內容限制處截斷(預設值:60 KB)。`由以下控制` 命名屬性在 `OTEL_LOG_TOOL_CONTENT=1` 之上需要的變數,對於 Edit 和 Write,該變數控制事件本身而不是屬性。

298 

299| 屬性 | 說明 | 由以下控制 |

300| -------------- | --------------------------------------- | ----------------------------------- |

301| `content` | Read 工具返回的文字,或 Write 呼叫被要求寫入的文字 | `OTEL_LOG_TOOL_DETAILS` 對於 Write 工具 |

302| `output` | Bash 命令的組合輸出,stderr 交錯到 stdout | |

303| `diff` | Edit 工具應用的結構化修補程式 | `OTEL_LOG_TOOL_DETAILS` |

304| `file_path` | Read、Edit 和 Write 工具的目標檔案路徑,重複跨度屬性的相同名稱 | `OTEL_LOG_TOOL_DETAILS` |

305| `bash_command` | Bash 工具的命令字串 | `OTEL_LOG_TOOL_DETAILS` |

306 

307父項跨度的 `tool_name` 屬性告訴您事件來自哪個工具。在內容限制處切割的屬性伴隨著 `<attribute>_truncated` 和 `<attribute>_original_length`。

288 308 

289**`claude_code.tool.blocked_on_user`**309**`claude_code.tool.blocked_on_user`**

290 310 

291| 屬性 | 描述 | 由以下控制 |311| 屬性 | 說明 | 由以下控制 |

292| ------------- | ------------------------------------- | ----- |312| ------------- | -------------------------------------- | ----- |

293| `duration_ms` | 等待權限決定所花費的時間 | |313| `duration_ms` | 等待權限決定所花費的時間 | |

294| `decision` | `accept` 或 `reject` | |314| `decision` | `accept` 或 `reject` | |

295| `source` | 決定來源,符合[工具決定事件](#tool-decision-event) | |315| `source` | 決定來源,與[工具決定事件](#tool-decision-event)相符 | |

296 316 

297**`claude_code.tool.execution`**317**`claude_code.tool.execution`**

298 318 

299| 屬性 | 描述 | 由以下控制 |319| 屬性 | 說明 | 由以下控制 |

300| --------------------- | ------------------------------------------------------------------------------------------------------------------------ | ----------------------- |320| --------------------- | ------------------------------------------------------------------------------------------------------------------------ | ----------------------- |

301| `duration_ms` | 執行工具主體所花費的時間 | |321| `duration_ms` | 執行工具主體所花費的時間 | |

302| `tool_use_id` | 與父 `claude_code.tool` 跨度上的相同值 | |322| `tool_use_id` | 與父項 `claude_code.tool` 跨度上的相同值 | |

303| `gen_ai.tool.call.id` | 與 `tool_use_id` 相同的值。OpenTelemetry GenAI 語義慣例 | |323| `gen_ai.tool.call.id` | 與 `tool_use_id` 相同的值。OpenTelemetry GenAI 語義慣例 | |

304| `success` | `true` 或 `false` | |324| `success` | `true` 或 `false` | |

305| `error` | 執行失敗時的錯誤類別字串,例如 `Error:ENOENT` 或 `ShellError`。當設定了閘道時包含完整錯誤訊息 | `OTEL_LOG_TOOL_DETAILS` |325| `error` | 執行失敗時的錯誤類別字串,例如 `Error:ENOENT` 或 `ShellError`。當設定了閘道時包含完整的錯誤訊息 | `OTEL_LOG_TOOL_DETAILS` |

306| `error_class` | 識別碼形式的錯誤類別,字母、數字和底線以外的字元被 `_` 取代,例如 `Error_ENOENT` 或 `ShellError`。即使 `error` 攜帶完整訊息,也會攜帶類別。需要 Claude Code v2.1.268 或更新版本 | |326| `error_class` | 識別碼形式的錯誤類別,字母、數字和底線以外的字元被替換為 `_`,例如 `Error_ENOENT` 或 `ShellError`。即使 `error` 攜帶完整訊息,也會攜帶類別。需要 Claude Code v2.1.268 或更新版本 | |

307 327 

308**`claude_code.hook`**328**`claude_code.hook`**

309 329 

310此跨度僅在詳細 beta 追蹤處於活動狀態時發出,需要 `ENABLE_BETA_TRACING_DETAILED=1` 和 `BETA_TRACING_ENDPOINT`,這對也[改變您的日誌和追蹤的去向](/docs/zh-TW/env-vars#variables)。在您的 shell、使用者設定或受管設定中設定該對;兩個變數都在[專案和本地設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中被忽略。`CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` 單獨不會產生它。330此跨度僅在詳細測試版追蹤作用中時出現,這需要 `ENABLE_BETA_TRACING_DETAILED=1` 和 `BETA_TRACING_ENDPOINT`,一對也會[變更日誌和追蹤的去向](/docs/zh-TW/env-vars#variables)。在您的殼層、使用者設定或受管設定中設定該對;兩個變數都會在[專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中被忽略。`CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` 單獨不會產生它。

311 331 

312在互動式 CLI 工作階段中,詳細 beta 追蹤也需要您的組織被列入該功能的允許清單。Agent SDK 和非互動式 `-p` 工作階段不需要允許清單。332在互動式 CLI 工作階段中,詳細測試版追蹤也需要您的組織被列入該功能的允許清單。Agent SDK 和非互動式 `-p` 工作階段不需要允許清單。

313 333 

314| 屬性 | 描述 | 由以下控制 |334| 屬性 | 說明 | 由以下控制 |

315| ------------------------ | -------------------------------- | ----------------------- |335| ------------------------ | ---------------------------- | ----------------------- |

316| `hook_event` | Hook 事件類型,例如 `PreToolUse` | |336| `hook_event` | 掛鉤事件類型,例如 `PreToolUse` | |

317| `hook_name` | 完整 hook 名稱,例如 `PreToolUse:Write` | |337| `hook_name` | 完整掛鉤名稱,例如 `PreToolUse:Write` | |

318| `num_hooks` | 執行的匹配 hook 命令數 | |338| `num_hooks` | 執行的相符掛鉤命令數 | |

319| `hook_definitions` | JSON 序列化的 hook 配置 | `OTEL_LOG_TOOL_DETAILS` |339| `hook_definitions` | JSON 序列化的掛鉤設定 | `OTEL_LOG_TOOL_DETAILS` |

320| `duration_ms` | 所有匹配 hook 的牆上時間持續時間 | |340| `duration_ms` | 所有相符掛鉤的掛鐘持續時間 | |

321| `num_success` | 成功完成的 hook 計數 | |341| `num_success` | 成功完成的掛鉤計數 | |

322| `num_blocking` | 傳回阻止決定的 hook 計數 | |342| `num_blocking` | 傳回阻止決定的掛鉤計數 | |

323| `num_non_blocking_error` | 在不阻止的情況下失敗的 hook 計數 | |343| `num_non_blocking_error` | 在不阻止的情況下失敗的掛鉤計數 | |

324| `num_cancelled` | 在完成前取消的 hook 計數 | |344| `num_cancelled` | 在完成前取消的掛鉤計數 | |

345 

346<span id="new-context-gates" />

325 347 

326<Note>348<Note>

327 其他內容承載屬性,例如 `new_context`、`system_prompt_preview`、`user_system_prompt`、`tool_input` 和 `response.model_output`,僅在詳細 beta 追蹤處於活動狀態時發出。它們不是穩定跨度架構的一部分。349 其他內容承載屬性(例如 `new_context`、`system_prompt_preview`、`user_system_prompt`、`tool_input` 和 `response.model_output`)僅在詳細測試版追蹤作用中時發出。它們不是穩定跨度架構的一部分。

350 

351 `new_context` 上的閘道取決於哪個跨度攜帶它,每個副本都在內容限制處截斷(預設值:60 KB)。在 `claude_code.tool` 跨度上,它攜帶該工具呼叫的結果,無論工具如何,並需要 `OTEL_LOG_TOOL_CONTENT=1`。在 `claude_code.interaction` 跨度上,它攜帶使用者提示,在 `claude_code.llm_request` 跨度上,它攜帶該請求的新使用者訊息和工具結果。這兩者都需要 `OTEL_LOG_USER_PROMPTS=1`。

328 352 

329 `user_system_prompt` 另外需要 `OTEL_LOG_USER_PROMPTS=1`。它僅包含您透過 `systemPrompt` SDK 選項或 `--system-prompt` 和 `--append-system-prompt` 旗標提供的系統提示文字,在內容限制處截斷(預設 60 KB),並且每個工作階段發出一次而不是每個請求發出一次。353 `user_system_prompt` 另外需要 `OTEL_LOG_USER_PROMPTS=1`。它僅攜帶您透過 `systemPrompt` SDK 選項或 `--system-prompt` 和 `--append-system-prompt` 旗標提供的系統提示文字,在內容限制處截斷(預設值:60 KB),並且每個工作階段而不是每個請求發出一次。

330</Note>354</Note>

331 355 

332<h3 id="dynamic-headers">356<h3 id="dynamic-headers">

333 動態標頭357 動態標頭

334</h3>358</h3>

335 359 

336對於需要動態身份驗證的企業環境,您可以配置指令碼來動態產生標頭。動態標頭僅適用於 `http/protobuf` 和 `http/json` 協議。使用 `grpc` 協議,Claude Code 僅使用靜態標頭變數 `OTEL_EXPORTER_OTLP_HEADERS` 及其每個訊號變體。360對於需要動態驗證的企業環境,您可以設定指令碼以動態產生標頭。動態標頭僅適用於 `http/protobuf` 和 `http/json` 協議。使用 `grpc` 協議,Claude Code 僅使用靜態標頭變數 `OTEL_EXPORTER_OTLP_HEADERS` 及其每個信號的變體。

337 361 

338<h4 id="settings-configuration">362<h4 id="settings-configuration">

339 設定配置363 設定設定

340</h4>364</h4>

341 365 

342新增至您的 `.claude/settings.json`,將路徑替換為您自己的指令碼:366新增到您的 `.claude/settings.json`,將路徑替換為您自己的指令碼:

343 367 

344```json theme={null}368```json theme={null}

345{369{


347}371}

348```372```

349 373 

350該值可以是可執行檔的路徑,包括包含空格的路徑,或帶有引數的 shell 命令行。在 Windows 上,該值始終透過 shell 執行,因此在 JSON 值內引用包含空格的路徑。374該值可以是可執行檔的路徑,包括包含空格的路徑,或帶有引數的殼層命令行。在 Windows 上,該值始終透過殼層執行,因此在 JSON 值內引用包含空格的路徑。

351 375 

352<h4 id="script-requirements">376<h4 id="script-requirements">

353 指令碼需求377 指令碼需求


357 381 

358```bash theme={null}382```bash theme={null}

359#!/bin/bash383#!/bin/bash

360# 範例:多個標頭384# Example: Multiple headers

361echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"385echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"

362```386```

363 387 

364如果協助程式失敗或列印不符合這些要求的輸出,Claude Code 會在以下位置報告錯誤:388如果幫助程式失敗或列印不符合這些需求的輸出,Claude Code 會在以下位置報告錯誤:

365 389 

366* `/status` 輸出390* `/status` 輸出

367* 使用 [`--debug`](/docs/zh-TW/cli-reference#cli-flags) 執行或在工作階段中執行 `/debug` 後的除錯日誌391* 偵錯日誌,當使用 [`--debug`](/docs/zh-TW/cli-reference#cli-flags) 執行或在工作階段中執行 `/debug` 後

368* stderr,在以 `-p` 啟動的非互動式工作階段中392* stderr,在以 `-p` 啟動的非互動式工作階段中

369 393 

370<h4 id="refresh-behavior">394<h4 id="refresh-behavior">

371 重新整理行為395 重新整理行為

372</h4>396</h4>

373 397 

374標頭協助程式指令碼在啟動時執行,之後定期執行以支援權杖重新整理。預設情況下,指令碼每 29 分鐘執行一次。使用 `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` 環境變數自訂間隔。398標頭幫助程式指令碼在啟動時執行,之後定期執行以支援權杖重新整理。預設情況下,指令碼每 29 分鐘執行一次。使用 `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` 環境變數自訂間隔。

375 399 

376<h3 id="multi-team-organization-support">400<h3 id="multi-team-organization-support">

377 多團隊組織支援401 多團隊組織支援


380具有多個團隊或部門的組織可以使用 `OTEL_RESOURCE_ATTRIBUTES` 環境變數新增自訂屬性以區分不同的群組:404具有多個團隊或部門的組織可以使用 `OTEL_RESOURCE_ATTRIBUTES` 環境變數新增自訂屬性以區分不同的群組:

381 405 

382```bash theme={null}406```bash theme={null}

383# 新增自訂屬性以進行團隊識別407# Add custom attributes for team identification

384export OTEL_RESOURCE_ATTRIBUTES="department=engineering,team.id=platform,cost_center=eng-123"408export OTEL_RESOURCE_ATTRIBUTES="department=engineering,team.id=platform,cost_center=eng-123"

385```409```

386 410 

387這些自訂屬性將包含在所有指標和事件中,允許您:411這些自訂屬性包含在所有指標和事件中,允許您:

388 412 

389* 按團隊或部門篩選指標413* 按團隊或部門篩選指標

390* 追蹤每個成本中心的成本414* 追蹤每個成本中心的成本

391* 建立團隊特定的儀表板415* 建立團隊特定的儀表板

392* 為特定團隊設定警報416* 為特定團隊設定警示

393 417 

394Claude Code 將這些值作為屬性附加到每個指標資料點和事件記錄上,除了在 OTLP 資源區塊中傳送它們之外。因為大多數指標後端將資料點屬性公開為可查詢的標籤,您可以直接按自訂鍵分組和篩選指標。除了 `vcs.*` [儲存庫屬性](#repository-attributes)外,自訂鍵永遠不會覆蓋[標準屬性](#standard-attributes),例如 `user.id` 或 `session.id`:當鍵衝突時,Claude Code 保留內建值。418Claude Code 將這些值作為屬性附加到每個指標資料點和事件記錄,除了在 OTLP 資源區塊中傳送它們。因為大多數指標後端將資料點屬性公開為可查詢的標籤,您可以直接按自訂金鑰分組和篩選指標。除了 `vcs.*` [儲存庫屬性](#repository-attributes),自訂金鑰永遠不會覆蓋[標準屬性](#standard-attributes)(例如 `user.id` 或 `session.id`):當金鑰衝突時,Claude Code 會保留內建值。

395 419 

396每個自訂鍵都會成為每個指標序列上的標籤,因此高基數值會增加指標後端中的儲存成本。若要僅在資源區塊中傳送自訂屬性並從資料點標籤中省略它們,請設定 `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`。請參閱[指標基數控制](#metrics-cardinality-control)。420每個自訂金鑰都會成為每個指標系列上的標籤,因此高基數值會增加指標後端中的儲存成本。若要僅在資源區塊中傳送自訂屬性並從資料點標籤中省略它們,請設定 `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`。請參閱[指標基數控制](#metrics-cardinality-control)。

397 421 

398<Warning>422<Warning>

399 `OTEL_RESOURCE_ATTRIBUTES` 環境變數使用逗號分隔的鍵=值對,具有嚴格的格式要求:423 `OTEL_RESOURCE_ATTRIBUTES` 環境變數使用逗號分隔的鍵值對,具有嚴格的格式要求:

400 424 

401 * **不允許空格**:值不能包含空格。例如,`user.organizationName=My Company` 無效425 * **不允許空格**:值不能包含空格。例如,`user.organizationName=My Company` 無效

402 * **格式**:必須是逗號分隔的鍵=值對:`key1=value1,key2=value2`426 * **格式**:必須是逗號分隔的鍵值對:`key1=value1,key2=value2`

403 * **允許的字元**:僅限 US-ASCII 字元,不包括控制字元、空格、雙引號、逗號、分號和反斜線427 * **允許的字元**:僅限 US-ASCII 字元,不包括控制字元、空格、雙引號、逗號、分號和反斜線

404 * **特殊字元**:允許範圍外的字元必須進行百分比編碼428 * **特殊字元**:允許範圍外的字元必須進行百分比編碼

405 429 

406 對於需要空格的值,請改用底線或駝峰式大小寫。以下範例以每種形式設定 `org.name`:430 對於需要空格的值,請改用底線或 camelCase。以下範例使用每種形式設定 `org.name`:

407 431 

408 ```bash theme={null}432 ```bash theme={null}

409 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"433 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"

410 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"434 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"

411 ```435 ```

412 436 

413 您可以對任何字元進行百分比編碼,不僅限於排除的字元。此範例對空格和撇號進行編碼:437 您可以對任何字元進行百分比編碼,不僅是被排除的字元。此範例對空格和撇號進行編碼:

414 438 

415 ```bash theme={null}439 ```bash theme={null}

416 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"440 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"

417 ```441 ```

418 442 

419 將值用引號括起來不會逃逸空格。例如,`org.name="My Company"` 會產生字面值 `"My Company"`(包括引號),而不是 `My Company`。443 將值包裝在引號中不會逃脫空格。例如,`org.name="My Company"` 會導致字面值 `"My Company"`(包括引號),而不是 `My Company`。

420</Warning>444</Warning>

421 445 

422<h3 id="example-configurations">446<h3 id="example-configurations">

423 配置範例447 範例設定

424</h3>448</h3>

425 449 

426在執行 `claude` 之前設定這些環境變數。每個情境下方顯示完整配置,每個變數在[常見配置變數](#common-configuration-variables)下描述。若要確認配置生效,請在啟動工作階段後檢查您的後端是否有 `claude_code.session.count` 指標;[快速入門](#quick-start)涵蓋僅日誌驗證和當沒有任何內容到達時要檢查的內容。450在執行 `claude` 之前設定這些環境變數。下面的每個案例都顯示完整的設定,每個變數都在[常見設定變數](#common-configuration-variables)下進行說明。若要確認設定生效,請在啟動工作階段後檢查您的後端以查看 `claude_code.session.count` 指標;[快速入門](#quick-start)涵蓋僅日誌驗證以及當沒有任何內容到達時要檢查的內容。

427 451 

428對於控制台除錯,間隔為 1 秒:452對於具有 1 秒匯出間隔的主控台偵錯:

429 453 

430```bash theme={null}454```bash theme={null}

431export CLAUDE_CODE_ENABLE_TELEMETRY=1455export CLAUDE_CODE_ENABLE_TELEMETRY=1


433export OTEL_METRIC_EXPORT_INTERVAL=1000457export OTEL_METRIC_EXPORT_INTERVAL=1000

434```458```

435 459 

436對於 OTLP over gRPC:460對於透過 gRPC 的 OTLP:

437 461 

438```bash theme={null}462```bash theme={null}

439export CLAUDE_CODE_ENABLE_TELEMETRY=1463export CLAUDE_CODE_ENABLE_TELEMETRY=1


449export OTEL_METRICS_EXPORTER=prometheus473export OTEL_METRICS_EXPORTER=prometheus

450```474```

451 475 

452在[自託管環境](/docs/zh-TW/self-hosted-environments-reference#pass-through-session-child-metrics)上,工作階段僅在執行器的預設容量為 1 時綁定連接埠 9464。在更高容量下,執行器改為在其自己的 `/metrics` 端點上重新公開工作階段計數器和量表。476在[自託管環境](/docs/zh-TW/self-hosted-environments-reference#pass-through-session-child-metrics)上,工作階段僅在執行器的預設容量為 1 時繫結連接埠 9464。在更高的容量下,執行器會改為在其自己的 `/metrics` 端點上重新公開工作階段計數器和量表。

453 477 

454若要將指標傳送到多個匯出器:478若要將指標傳送到多個匯出工具:

455 479 

456```bash theme={null}480```bash theme={null}

457export CLAUDE_CODE_ENABLE_TELEMETRY=1481export CLAUDE_CODE_ENABLE_TELEMETRY=1


687| 屬性 | 描述 |711| 屬性 | 描述 |

688| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |712| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

689| `prompt.id` | UUID v4 識別碼,連結處理單一使用者提示時產生的所有事件 |713| `prompt.id` | UUID v4 識別碼,連結處理單一使用者提示時產生的所有事件 |

714| `event.sequence` | 0 為基礎的計數器,用於排序事件,按 Claude Code 程序而非按工作階段計數 |

690| `message.uuid` | 訊息的 UUID,如工作階段文字記錄中所保存,`~/.claude/projects/*/*.jsonl` 檔案。出現在 `assistant_response` 上,以及 `user_prompt` 上,除了命令分派外,它可以產生零個或多個訊息。在 `assistant_response` 上,這是回應的最終文字記錄項目,下一個回合的 `parentUuid` 從其鏈接。需要 Claude Code v2.1.214 或更新版本 |715| `message.uuid` | 訊息的 UUID,如工作階段文字記錄中所保存,`~/.claude/projects/*/*.jsonl` 檔案。出現在 `assistant_response` 上,以及 `user_prompt` 上,除了命令分派外,它可以產生零個或多個訊息。在 `assistant_response` 上,這是回應的最終文字記錄項目,下一個回合的 `parentUuid` 從其鏈接。需要 Claude Code v2.1.214 或更新版本 |

691| `client_request_id` | 用戶端產生的 UUID,作為 `x-client-request-id` 請求標頭傳送。出現在第一方 API 連線上的 `api_request` 和 `api_error` 上;在第三方提供者後端上不存在,以及當請求透過非串流回退重試時。將請求與其回應配對,並且對於永遠不會產生伺服器 `request_id` 的逾時等失敗仍然可用。與 `llm_request` 追蹤跨度上的相同屬性相符。需要 Claude Code v2.1.214 或更新版本 |716| `client_request_id` | 用戶端產生的 UUID,作為 `x-client-request-id` 請求標頭傳送。出現在第一方 API 連線上的 `api_request` 和 `api_error` 上;在第三方提供者後端上不存在,以及當請求透過非串流回退重試時。將請求與其回應配對,並且對於永遠不會產生伺服器 `request_id` 的逾時等失敗仍然可用。與 `llm_request` 追蹤跨度上的相同屬性相符。需要 Claude Code v2.1.214 或更新版本 |

692 717 

693若要追蹤由單一提示觸發的所有活動,請按特定 `prompt.id` 值篩選您的事件。這會傳回 user\_prompt 事件、任何 api\_request 事件以及處理該提示時發生的任何 tool\_result 事件。718若要追蹤由單一提示觸發的所有活動,請按特定 `prompt.id` 值篩選您的事件。這會傳回 user\_prompt 事件、任何 api\_request 事件以及處理該提示時發生的任何 tool\_result 事件。

694 719 

720`event.sequence` 在每次 Claude Code 程序啟動時從 0 開始,並在該程序的生命週期內計數。它在 `/clear` 後繼續計數,這會指派新的 `session.id`。如果您[在不分叉的情況下繼續工作階段](/docs/zh-TW/how-claude-code-works#resume-or-fork-sessions),工作階段會保留其 `session.id`,但從繼續它的程序中取得其 `event.sequence` 值,因此在一個工作階段內,稍後的事件可能會攜帶比較早的事件更低的值,或重複一個。若要排序工作階段的事件,請按 `event.timestamp` 排序,並使用 `event.sequence` 排序共享時間戳記的事件。

721 

695對於訊息層級重建,每個事件類別都攜帶與工作階段文字記錄中的欄位相符的金鑰。文字記錄項目格式是[Claude Code 內部的](/docs/zh-TW/sessions#where-transcripts-are-stored),在版本之間變更,因此在這些欄位上聯接的管道可能會在任何版本上中斷;將聯接視為版本特定的而非穩定的合約:722對於訊息層級重建,每個事件類別都攜帶與工作階段文字記錄中的欄位相符的金鑰。文字記錄項目格式是[Claude Code 內部的](/docs/zh-TW/sessions#where-transcripts-are-stored),在版本之間變更,因此在這些欄位上聯接的管道可能會在任何版本上中斷;將聯接視為版本特定的而非穩定的合約:

696 723 

697* `message.uuid` 在 `user_prompt` 和 `assistant_response` 上724* `message.uuid` 在 `user_prompt` 和 `assistant_response` 上


711* 所有[標準屬性](#standard-attributes)738* 所有[標準屬性](#standard-attributes)

712* `event.name`:`"user_prompt"`739* `event.name`:`"user_prompt"`

713* `event.timestamp`:ISO 8601 時間戳記740* `event.timestamp`:ISO 8601 時間戳記

714* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件741* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

715* `prompt_length`:提示的長度742* `prompt_length`:提示的長度

716* `prompt`:提示內容。預設情況下編輯。設定 `OTEL_LOG_USER_PROMPTS=1` 以包含它743* `prompt`:提示內容。預設情況下編輯。設定 `OTEL_LOG_USER_PROMPTS=1` 以包含它

717* `message.uuid`:產生的使用者訊息的 UUID,與保存的文字記錄項目相符。在命令分派上不存在,它可以產生零個或多個訊息。需要 Claude Code v2.1.214 或更新版本744* `message.uuid`:產生的使用者訊息的 UUID,與保存的文字記錄項目相符。在命令分派上不存在,它可以產生零個或多個訊息。需要 Claude Code v2.1.214 或更新版本


731* 所有[標準屬性](#standard-attributes)758* 所有[標準屬性](#standard-attributes)

732* `event.name`:`"assistant_response"`759* `event.name`:`"assistant_response"`

733* `event.timestamp`:ISO 8601 時間戳記760* `event.timestamp`:ISO 8601 時間戳記

734* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件761* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

735* `response_length`:回應文字的長度(以字元為單位)762* `response_length`:回應文字的長度(以字元為單位)

736* `response`:回應文字,在內容限制處截斷(預設為 60 KB)。預設情況下編輯為 `<REDACTED>`。設定 `OTEL_LOG_ASSISTANT_RESPONSES=1` 以包含它。當 `OTEL_LOG_ASSISTANT_RESPONSES` 未設定時,`OTEL_LOG_USER_PROMPTS` 會控制它,因此設定 `OTEL_LOG_ASSISTANT_RESPONSES=0` 以在啟用提示記錄時保持回應編輯763* `response`:回應文字,在內容限制處截斷(預設為 60 KB)。預設情況下編輯為 `<REDACTED>`。設定 `OTEL_LOG_ASSISTANT_RESPONSES=1` 以包含它。當 `OTEL_LOG_ASSISTANT_RESPONSES` 未設定時,`OTEL_LOG_USER_PROMPTS` 會控制它,因此設定 `OTEL_LOG_ASSISTANT_RESPONSES=0` 以在啟用提示記錄時保持回應編輯

737* `model`:模型識別碼(例如 "claude-sonnet-5")764* `model`:模型識別碼(例如 "claude-sonnet-5")


752* 所有[標準屬性](#standard-attributes)779* 所有[標準屬性](#standard-attributes)

753* `event.name`:`"tool_result"`780* `event.name`:`"tool_result"`

754* `event.timestamp`:ISO 8601 時間戳記781* `event.timestamp`:ISO 8601 時間戳記

755* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件782* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

756* `tool_name`:工具的名稱783* `tool_name`:工具的名稱

757* `tool_use_id`:此工具叫用的唯一識別碼。與傳遞給鉤子的 `tool_use_id` 相符,允許 OTel 事件和鉤子擷取資料之間的關聯。784* `tool_use_id`:此工具叫用的唯一識別碼。與傳遞給鉤子的 `tool_use_id` 相符,允許 OTel 事件和鉤子擷取資料之間的關聯。

758* `success`:`"true"` 或 `"false"`785* `success`:`"true"` 或 `"false"`


786* 所有[標準屬性](#standard-attributes)813* 所有[標準屬性](#standard-attributes)

787* `event.name`:`"api_request"`814* `event.name`:`"api_request"`

788* `event.timestamp`:ISO 8601 時間戳記815* `event.timestamp`:ISO 8601 時間戳記

789* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件816* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

790* `model`:使用的模型(例如 "claude-sonnet-5")817* `model`:使用的模型(例如 "claude-sonnet-5")

791* `cost_usd`:以美元計的估計成本818* `cost_usd`:以美元計的估計成本

792* `cost_usd_micros`:以美元百萬分之一計的估計成本,作為整數發出819* `cost_usd_micros`:以美元百萬分之一計的估計成本,作為整數發出


815* 所有[標準屬性](#standard-attributes)842* 所有[標準屬性](#standard-attributes)

816* `event.name`:`"api_error"`843* `event.name`:`"api_error"`

817* `event.timestamp`:ISO 8601 時間戳記844* `event.timestamp`:ISO 8601 時間戳記

818* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件845* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

819* `model`:使用的模型(例如 "claude-sonnet-5")846* `model`:使用的模型(例如 "claude-sonnet-5")

820* `error`:錯誤訊息847* `error`:錯誤訊息

821* `status_code`:HTTP 狀態碼作為數字。對於非 HTTP 錯誤(例如連線失敗)不存在。848* `status_code`:HTTP 狀態碼作為數字。對於非 HTTP 錯誤(例如連線失敗)不存在。


841* 所有[標準屬性](#standard-attributes)868* 所有[標準屬性](#standard-attributes)

842* `event.name`:`"api_refusal"`869* `event.name`:`"api_refusal"`

843* `event.timestamp`:ISO 8601 時間戳記870* `event.timestamp`:ISO 8601 時間戳記

844* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件871* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

845* `model`:來自請求的模型識別碼872* `model`:來自請求的模型識別碼

846* `request_id`:來自回應的 `request-id` 標頭的 Anthropic API 請求 ID,例如 `"req_011..."`。僅當 API 傳回時才存在。873* `request_id`:來自回應的 `request-id` 標頭的 Anthropic API 請求 ID,例如 `"req_011..."`。僅當 API 傳回時才存在。

847* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或子代理程式名稱。請參閱 [`api_request`](#api-request-event) 以取得定義。874* `query_source`:發出請求的子系統,例如 `"repl_main_thread"`、`"compact"` 或子代理程式名稱。請參閱 [`api_request`](#api-request-event) 以取得定義。


867* 所有[標準屬性](#standard-attributes)894* 所有[標準屬性](#standard-attributes)

868* `event.name`:`"api_request_body"`895* `event.name`:`"api_request_body"`

869* `event.timestamp`:ISO 8601 時間戳記896* `event.timestamp`:ISO 8601 時間戳記

870* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件897* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

871* `body`:JSON 序列化的 Messages API 請求參數,例如系統提示、訊息和工具,在內容限制處截斷(預設為 60 KB)。先前助理回合中的擴展思考內容會被編輯。僅在內聯模式下發出(`OTEL_LOG_RAW_API_BODIES=1`)。898* `body`:JSON 序列化的 Messages API 請求參數,例如系統提示、訊息和工具,在內容限制處截斷(預設為 60 KB)。先前助理回合中的擴展思考內容會被編輯。僅在內聯模式下發出(`OTEL_LOG_RAW_API_BODIES=1`)。

872* `body_ref`:包含未截斷本體的 `<dir>/<uuid>.request.json` 檔案的絕對路徑。僅在檔案模式下發出(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)。899* `body_ref`:包含未截斷本體的 `<dir>/<uuid>.request.json` 檔案的絕對路徑。僅在檔案模式下發出(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)。

873* `body_length`:未截斷的本體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,或當 `=1` 時為 UTF-16 程式碼單位900* `body_length`:未截斷的本體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,或當 `=1` 時為 UTF-16 程式碼單位

874* `body_truncated`:當發生內聯截斷時為 `"true"`。在檔案模式下不存在,未發生截斷時不存在。901* `body_truncated`:當發生內聯截斷時為 `"true"`。在檔案模式下不存在,未發生截斷時不存在。

875* `model`:來自請求參數的模型識別碼902* `model`:來自請求參數的模型識別碼

876* `query_source`:發出請求的子系統(例如 `"compact"`)903* `query_source`:發出請求的子系統(例如 `"compact"`)

904* `request_body_id`:識別此嘗試請求本體的 UUID。成功的嘗試的 [`api_response_body` 事件](#api-response-body-event)會攜帶相同的值,因此您可以將回應與產生它的確切請求配對。需要 Claude Code v2.1.274 或更新版本

877 905 

878<h4 id="api-response-body-event">906<h4 id="api-response-body-event">

879 API 回應本體事件907 API 回應本體事件


881 909 

882當設定了 `OTEL_LOG_RAW_API_BODIES` 時,針對每個成功的 API 回應記錄。910當設定了 `OTEL_LOG_RAW_API_BODIES` 時,針對每個成功的 API 回應記錄。

883 911 

912在檔案模式下(`OTEL_LOG_RAW_API_BODIES=file:<dir>`),Claude Code 也會為每個成功的回應將一個 JSON 行附加到 `<dir>/index.jsonl`,包含欄位 `timestamp`、`session_id`、`query_source`、`model`、`request_id`、`message_id`、`message_uuid`、`request_file` 和 `response_file`。讀取它以找到給定文字記錄訊息後面的請求和回應檔案,而無需查詢您的遙測後端。索引檔案需要 Claude Code v2.1.274 或更新版本。

913 

884**事件名稱**:`claude_code.api_response_body`914**事件名稱**:`claude_code.api_response_body`

885 915 

886**屬性**:916**屬性**:


888* 所有[標準屬性](#standard-attributes)918* 所有[標準屬性](#standard-attributes)

889* `event.name`:`"api_response_body"`919* `event.name`:`"api_response_body"`

890* `event.timestamp`:ISO 8601 時間戳記920* `event.timestamp`:ISO 8601 時間戳記

891* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件921* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

892* `body`:JSON 序列化的 Messages API 回應,包括 id、內容區塊、使用情況和停止原因,在內容限制處截斷(預設為 60 KB)。擴展思考內容會被編輯。僅在內聯模式下發出(`OTEL_LOG_RAW_API_BODIES=1`)。922* `body`:JSON 序列化的 Messages API 回應,包括 id、內容區塊、使用情況和停止原因,在內容限制處截斷(預設為 60 KB)。擴展思考內容會被編輯。僅在內聯模式下發出(`OTEL_LOG_RAW_API_BODIES=1`)。

893* `body_ref`:包含未截斷本體的 `<dir>/<request_id>.response.json` 檔案的絕對路徑。僅在檔案模式下發出(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)。923* `body_ref`:包含未截斷本體的 `<dir>/<request_id>.response.json` 檔案的絕對路徑。僅在檔案模式下發出(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)。

894* `body_length`:未截斷的本體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,或當 `=1` 時為 UTF-16 程式碼單位924* `body_length`:未截斷的本體長度。當 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 時為 UTF-8 位元組,或當 `=1` 時為 UTF-16 程式碼單位


896* `model`:模型識別碼926* `model`:模型識別碼

897* `query_source`:發出請求的子系統927* `query_source`:發出請求的子系統

898* `request_id`:來自回應的 `request-id` 標頭的 Anthropic API 請求 ID,例如 `"req_011..."`。僅當 API 傳回時才存在。928* `request_id`:來自回應的 `request-id` 標頭的 Anthropic API 請求 ID,例如 `"req_011..."`。僅當 API 傳回時才存在。

929* `request_body_id`:此回應回答的 [`api_request_body` 事件](#api-request-body-event)的 `request_body_id`。需要 Claude Code v2.1.274 或更新版本

930* `message.id`:API 指派給回應的訊息 ID,回應本體的 `id` 欄位。需要 Claude Code v2.1.274 或更新版本

931* `message.uuid`:回應的最終文字記錄項目的 UUID。與 `request_body_id` 一起,它將文字記錄訊息連結到其後面的請求和回應本體。需要 Claude Code v2.1.274 或更新版本

899 932 

900<h4 id="tool-decision-event">933<h4 id="tool-decision-event">

901 工具決定事件934 工具決定事件


910* 所有[標準屬性](#standard-attributes)943* 所有[標準屬性](#standard-attributes)

911* `event.name`:`"tool_decision"`944* `event.name`:`"tool_decision"`

912* `event.timestamp`:ISO 8601 時間戳記945* `event.timestamp`:ISO 8601 時間戳記

913* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件946* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

914* `tool_name`:工具的名稱(例如 "Read"、"Edit"、"Write"、"NotebookEdit")947* `tool_name`:工具的名稱(例如 "Read"、"Edit"、"Write"、"NotebookEdit")

915* `tool_use_id`:此工具叫用的唯一識別碼。與傳遞給鉤子的 `tool_use_id` 相符,允許 OTel 事件和鉤子擷取資料之間的關聯。948* `tool_use_id`:此工具叫用的唯一識別碼。與傳遞給鉤子的 `tool_use_id` 相符,允許 OTel 事件和鉤子擷取資料之間的關聯。

916* `decision`:`"accept"` 或 `"reject"`949* `decision`:`"accept"` 或 `"reject"`


945* 所有[標準屬性](#standard-attributes)978* 所有[標準屬性](#standard-attributes)

946* `event.name`:`"permission_mode_changed"`979* `event.name`:`"permission_mode_changed"`

947* `event.timestamp`:ISO 8601 時間戳記980* `event.timestamp`:ISO 8601 時間戳記

948* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件981* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

949* `from_mode`:先前的權限模式,例如 `"default"`、`"plan"`、`"acceptEdits"`、`"auto"` 或 `"bypassPermissions"`982* `from_mode`:先前的權限模式,例如 `"default"`、`"plan"`、`"acceptEdits"`、`"auto"` 或 `"bypassPermissions"`

950* `to_mode`:新的權限模式983* `to_mode`:新的權限模式

951* `trigger`:導致變更的原因。`"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"` 或 `"auto_opt_in"` 之一。當轉換源自 SDK 或橋接時不存在。984* `trigger`:導致變更的原因。`"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"` 或 `"auto_opt_in"` 之一。當轉換源自 SDK 或橋接時不存在。


963* 所有[標準屬性](#standard-attributes)996* 所有[標準屬性](#standard-attributes)

964* `event.name`:`"auth"`997* `event.name`:`"auth"`

965* `event.timestamp`:ISO 8601 時間戳記998* `event.timestamp`:ISO 8601 時間戳記

966* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件999* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

967* `action`:`"login"` 或 `"logout"`1000* `action`:`"login"` 或 `"logout"`

968* `success`:`"true"` 或 `"false"`1001* `success`:`"true"` 或 `"false"`

969* `auth_method`:驗證方法,例如 `"oauth"`1002* `auth_method`:驗證方法,例如 `"oauth"`


983* 所有[標準屬性](#standard-attributes)1016* 所有[標準屬性](#standard-attributes)

984* `event.name`:`"mcp_server_connection"`1017* `event.name`:`"mcp_server_connection"`

985* `event.timestamp`:ISO 8601 時間戳記1018* `event.timestamp`:ISO 8601 時間戳記

986* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1019* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

987* `status`:`"connected"`、`"failed"` 或 `"disconnected"`1020* `status`:`"connected"`、`"failed"` 或 `"disconnected"`

988* `transport_type`:伺服器傳輸,例如 `"stdio"`、`"sse"` 或 `"http"`1021* `transport_type`:伺服器傳輸,例如 `"stdio"`、`"sse"` 或 `"http"`

989* `server_scope`:伺服器設定的範圍,例如 `"user"`、`"project"` 或 `"local"`1022* `server_scope`:伺服器設定的範圍,例如 `"user"`、`"project"` 或 `"local"`


1008* 所有[標準屬性](#standard-attributes)1041* 所有[標準屬性](#standard-attributes)

1009* `event.name`:`"internal_error"`1042* `event.name`:`"internal_error"`

1010* `event.timestamp`:ISO 8601 時間戳記1043* `event.timestamp`:ISO 8601 時間戳記

1011* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1044* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1012* `error_name`:錯誤類別名稱,例如 `"TypeError"` 或 `"SyntaxError"`1045* `error_name`:錯誤類別名稱,例如 `"TypeError"` 或 `"SyntaxError"`

1013* `error_code`:Node.js errno 碼,例如錯誤上存在時的 `"ENOENT"`1046* `error_code`:Node.js errno 碼,例如錯誤上存在時的 `"ENOENT"`

1014 1047 


1025* 所有[標準屬性](#standard-attributes)1058* 所有[標準屬性](#standard-attributes)

1026* `event.name`:`"plugin_installed"`1059* `event.name`:`"plugin_installed"`

1027* `event.timestamp`:ISO 8601 時間戳記1060* `event.timestamp`:ISO 8601 時間戳記

1028* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1061* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1029* `marketplace.is_official`:如果市場是官方 Anthropic 市場則為 `"true"`,否則為 `"false"`1062* `marketplace.is_official`:如果市場是官方 Anthropic 市場則為 `"true"`,否則為 `"false"`

1030* `install.trigger`:`"cli"` 或 `"ui"`1063* `install.trigger`:`"cli"` 或 `"ui"`

1031* `plugin.name`:已安裝外掛程式的名稱。對於第三方市場,僅當 `OTEL_LOG_TOOL_DETAILS=1` 時才包含1064* `plugin.name`:已安裝外掛程式的名稱。對於第三方市場,僅當 `OTEL_LOG_TOOL_DETAILS=1` 時才包含


1045* 所有[標準屬性](#standard-attributes)1078* 所有[標準屬性](#standard-attributes)

1046* `event.name`:`"plugin_loaded"`1079* `event.name`:`"plugin_loaded"`

1047* `event.timestamp`:ISO 8601 時間戳記1080* `event.timestamp`:ISO 8601 時間戳記

1048* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1081* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1049* `plugin.name`:外掛程式的名稱。對於官方市場和內建捆綁之外的外掛程式,除非 `OTEL_LOG_TOOL_DETAILS=1`,否則值為 `"third-party"`1082* `plugin.name`:外掛程式的名稱。對於官方市場和內建捆綁之外的外掛程式,除非 `OTEL_LOG_TOOL_DETAILS=1`,否則值為 `"third-party"`

1050* `marketplace.name`:外掛程式的安裝來源市場(已知時)。在與 `plugin.name` 相同的條件下編輯為 `"third-party"`1083* `marketplace.name`:外掛程式的安裝來源市場(已知時)。在與 `plugin.name` 相同的條件下編輯為 `"third-party"`

1051* `plugin.version`:來自外掛程式資訊清單的版本。僅當名稱未編輯且資訊清單宣告版本時才包含1084* `plugin.version`:來自外掛程式資訊清單的版本。僅當名稱未編輯且資訊清單宣告版本時才包含


1073* 所有[標準屬性](#standard-attributes)1106* 所有[標準屬性](#standard-attributes)

1074* `event.name`:`"skill_activated"`1107* `event.name`:`"skill_activated"`

1075* `event.timestamp`:ISO 8601 時間戳記1108* `event.timestamp`:ISO 8601 時間戳記

1076* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1109* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1077* `skill.name`:技能的名稱。對於使用者定義和第三方外掛程式技能,除非 `OTEL_LOG_TOOL_DETAILS=1`,否則值為佔位符 `"custom_skill"`1110* `skill.name`:技能的名稱。對於使用者定義和第三方外掛程式技能,除非 `OTEL_LOG_TOOL_DETAILS=1`,否則值為佔位符 `"custom_skill"`

1078* `invocation_trigger`:技能的觸發方式(`"user-slash"`、`"claude-proactive"` 或 `"nested-skill"`)1111* `invocation_trigger`:技能的觸發方式(`"user-slash"`、`"claude-proactive"` 或 `"nested-skill"`)

1079* `skill.source`:技能的載入來源(例如 `"bundled"`、`"userSettings"`、`"projectSettings"`、`"plugin"`)1112* `skill.source`:技能的載入來源(例如 `"bundled"`、`"userSettings"`、`"projectSettings"`、`"plugin"`)


1094* 所有[標準屬性](#standard-attributes)1127* 所有[標準屬性](#standard-attributes)

1095* `event.name`:`"at_mention"`1128* `event.name`:`"at_mention"`

1096* `event.timestamp`:ISO 8601 時間戳記1129* `event.timestamp`:ISO 8601 時間戳記

1097* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1130* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1098* `mention_type`:提及的類型(`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`、`"peer"`)。`"peer"` 值表示您提及了[您的其他 Claude Code 工作階段之一](/docs/zh-TW/cross-session-messaging)。需要 Claude Code v2.1.232 或更新版本1131* `mention_type`:提及的類型(`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`、`"peer"`)。`"peer"` 值表示您提及了[您的其他 Claude Code 工作階段之一](/docs/zh-TW/cross-session-messaging)。需要 Claude Code v2.1.232 或更新版本

1099* `success`:提及是否成功解析(`"true"` 或 `"false"`)1132* `success`:提及是否成功解析(`"true"` 或 `"false"`)

1100 1133 


1111* 所有[標準屬性](#standard-attributes)1144* 所有[標準屬性](#standard-attributes)

1112* `event.name`:`"api_retries_exhausted"`1145* `event.name`:`"api_retries_exhausted"`

1113* `event.timestamp`:ISO 8601 時間戳記1146* `event.timestamp`:ISO 8601 時間戳記

1114* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1147* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1115* `model`:使用的模型1148* `model`:使用的模型

1116* `error`:最終錯誤訊息1149* `error`:最終錯誤訊息

1117* `status_code`:HTTP 狀態碼作為數字。對於非 HTTP 錯誤不存在。1150* `status_code`:HTTP 狀態碼作為數字。對於非 HTTP 錯誤不存在。


1132* 所有[標準屬性](#standard-attributes)1165* 所有[標準屬性](#standard-attributes)

1133* `event.name`:`"hook_registered"`1166* `event.name`:`"hook_registered"`

1134* `event.timestamp`:ISO 8601 時間戳記1167* `event.timestamp`:ISO 8601 時間戳記

1135* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1168* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1136* `hook_event`:鉤子事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`1169* `hook_event`:鉤子事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`

1137* `hook_type`:鉤子實作類型:`"command"`、`"prompt"`、`"mcp_tool"`、`"http"` 或 `"agent"`1170* `hook_type`:鉤子實作類型:`"command"`、`"prompt"`、`"mcp_tool"`、`"http"` 或 `"agent"`

1138* `hook_source`:鉤子的定義位置:`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"policySettings"` 或 `"pluginHook"`1171* `hook_source`:鉤子的定義位置:`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"policySettings"` 或 `"pluginHook"`


1154* 所有[標準屬性](#standard-attributes)1187* 所有[標準屬性](#standard-attributes)

1155* `event.name`:`"hook_execution_start"`1188* `event.name`:`"hook_execution_start"`

1156* `event.timestamp`:ISO 8601 時間戳記1189* `event.timestamp`:ISO 8601 時間戳記

1157* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1190* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1158* `hook_event`:鉤子事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`1191* `hook_event`:鉤子事件類型,例如 `"PreToolUse"` 或 `"PostToolUse"`

1159* `hook_name`:完整鉤子名稱,包括匹配器,例如 `"PreToolUse:Write"`1192* `hook_name`:完整鉤子名稱,包括匹配器,例如 `"PreToolUse:Write"`

1160* `num_hooks`:相符鉤子命令的數量1193* `num_hooks`:相符鉤子命令的數量


1176* 所有[標準屬性](#standard-attributes)1209* 所有[標準屬性](#standard-attributes)

1177* `event.name`:`"hook_execution_complete"`1210* `event.name`:`"hook_execution_complete"`

1178* `event.timestamp`:ISO 8601 時間戳記1211* `event.timestamp`:ISO 8601 時間戳記

1179* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1212* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1180* `hook_event`:鉤子事件類型1213* `hook_event`:鉤子事件類型

1181* `hook_name`:完整鉤子名稱,包括匹配器1214* `hook_name`:完整鉤子名稱,包括匹配器

1182* `num_hooks`:相符鉤子命令的數量1215* `num_hooks`:相符鉤子命令的數量


1203* 所有[標準屬性](#standard-attributes)1236* 所有[標準屬性](#standard-attributes)

1204* `event.name`:`"hook_plugin_metrics"`1237* `event.name`:`"hook_plugin_metrics"`

1205* `event.timestamp`:ISO 8601 時間戳記1238* `event.timestamp`:ISO 8601 時間戳記

1206* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1239* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1207* `plugin_id`:`<name>@<marketplace>` 形式的外掛程式識別碼1240* `plugin_id`:`<name>@<marketplace>` 形式的外掛程式識別碼

1208* `hook_event`:發出指標的鉤子事件類型1241* `hook_event`:發出指標的鉤子事件類型

1209* 最多 20 個外掛程式發出的指標金鑰。名稱符合 `^[a-z][a-z0-9_]{0,39}$`。值為布林值或數字。1242* 最多 20 個外掛程式發出的指標金鑰。名稱符合 `^[a-z][a-z0-9_]{0,39}$`。值為布林值或數字。


1221* 所有[標準屬性](#standard-attributes)1254* 所有[標準屬性](#standard-attributes)

1222* `event.name`:`"compaction"`1255* `event.name`:`"compaction"`

1223* `event.timestamp`:ISO 8601 時間戳記1256* `event.timestamp`:ISO 8601 時間戳記

1224* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1257* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1225* `trigger`:`"auto"` 或 `"manual"`1258* `trigger`:`"auto"` 或 `"manual"`

1226* `success`:`"true"` 或 `"false"`1259* `success`:`"true"` 或 `"false"`

1227* `duration_ms`:壓縮持續時間1260* `duration_ms`:壓縮持續時間


1243* 所有[標準屬性](#standard-attributes)1276* 所有[標準屬性](#standard-attributes)

1244* `event.name`:`"subagent_completed"`1277* `event.name`:`"subagent_completed"`

1245* `event.timestamp`:ISO 8601 時間戳記1278* `event.timestamp`:ISO 8601 時間戳記

1246* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1279* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1247* `agent_type`:子代理程式類型。內建代理程式名稱和來自官方市場外掛程式的代理程式逐字出現;其他代理程式名稱會被替換為 `"custom"`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`1280* `agent_type`:子代理程式類型。內建代理程式名稱和來自官方市場外掛程式的代理程式逐字出現;其他代理程式名稱會被替換為 `"custom"`,除非設定了 `OTEL_LOG_TOOL_DETAILS=1`

1248* `agent.source`:代理程式定義的來源:`built-in`、`plugin` 或定義自訂代理程式的設定來源,例如 `userSettings` 或 `projectSettings`1281* `agent.source`:代理程式定義的來源:`built-in`、`plugin` 或定義自訂代理程式的設定來源,例如 `userSettings` 或 `projectSettings`

1249* `is_built_in`:子代理程式是否為內建代理程式類型1282* `is_built_in`:子代理程式是否為內建代理程式類型


1269* 所有[標準屬性](#standard-attributes)1302* 所有[標準屬性](#standard-attributes)

1270* `event.name`:`"feedback_survey"`1303* `event.name`:`"feedback_survey"`

1271* `event.timestamp`:ISO 8601 時間戳記1304* `event.timestamp`:ISO 8601 時間戳記

1272* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1305* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1273* `event_type`:調查生命週期事件,例如 `"appeared"`、`"responded"` 或 `"transcript_prompt_appeared"`1306* `event_type`:調查生命週期事件,例如 `"appeared"`、`"responded"` 或 `"transcript_prompt_appeared"`

1274* `appearance_id`:唯一 ID,連結為一個調查實例發出的事件1307* `appearance_id`:唯一 ID,連結為一個調查實例發出的事件

1275* `survey_type`:哪個調查產生事件。`"session"` 是「Claude 做得如何?」評分提示1308* `survey_type`:哪個調查產生事件。`"session"` 是「Claude 做得如何?」評分提示


1293* 所有[標準屬性](#standard-attributes)1326* 所有[標準屬性](#standard-attributes)

1294* `event.name`:`"retention_sweep"`1327* `event.name`:`"retention_sweep"`

1295* `event.timestamp`:ISO 8601 時間戳記1328* `event.timestamp`:ISO 8601 時間戳記

1296* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件1329* `event.sequence`:單調遞增的計數器,用於排序工作階段內的事件,在[事件關聯屬性](#event-correlation-attributes)下所述

1297* `result`:掃描執行時為 `"complete"`,Claude Code 暫停時為 `"skipped"`1330* `result`:掃描執行時為 `"complete"`,Claude Code 暫停時為 `"skipped"`

1298* `period_days`:來自合併設定的 `cleanupPeriodDays` 值(以天為單位),或當沒有來源設定時為 `30`。在跳過的事件上,掃描會使用的值,從 Claude Code 可以讀取的設定來源計算1331* `period_days`:來自合併設定的 `cleanupPeriodDays` 值(以天為單位),或當沒有來源設定時為 `30`。在跳過的事件上,掃描會使用的值,從 Claude Code 可以讀取的設定來源計算

1299* `used_default`:當沒有可讀的設定來源設定 `cleanupPeriodDays` 時為 `"true"`,否則為 `"false"`。在完成事件上,`"true"` 表示套用了 30 天預設值1332* `used_default`:當沒有可讀的設定來源設定 `cleanupPeriodDays` 時為 `"true"`,否則為 `"false"`。在完成事件上,`"true"` 表示套用了 30 天預設值


1522* OpenTelemetry 匯出到您的後端是選擇加入的,需要明確配置。如需了解 Anthropic 的獨立營運遙測以及如何停用它,請參閱[資料使用](/docs/zh-TW/data-usage#telemetry-services)1555* OpenTelemetry 匯出到您的後端是選擇加入的,需要明確配置。如需了解 Anthropic 的獨立營運遙測以及如何停用它,請參閱[資料使用](/docs/zh-TW/data-usage#telemetry-services)

1523* 原始檔案內容和程式碼片段不包含在指標或事件中。追蹤跨度是單獨的資料路徑:請參閱下面的 `OTEL_LOG_TOOL_CONTENT` 項目1556* 原始檔案內容和程式碼片段不包含在指標或事件中。追蹤跨度是單獨的資料路徑:請參閱下面的 `OTEL_LOG_TOOL_CONTENT` 項目

1524* 透過 OAuth 驗證時,`user.email` 包含在遙測屬性中,僅傳送到您配置的 OTel 端點,絕不會傳送到 Anthropic。如果這對您的組織是個問題,請與您的遙測後端合作以篩選或編輯此欄位1557* 透過 OAuth 驗證時,`user.email` 包含在遙測屬性中,僅傳送到您配置的 OTel 端點,絕不會傳送到 Anthropic。如果這對您的組織是個問題,請與您的遙測後端合作以篩選或編輯此欄位

1525* 預設不收集使用者提示內容。僅記錄提示長度。若要包含提示內容,請設定 `OTEL_LOG_USER_PROMPTS=1`1558* 預設不收集使用者提示內容。僅記錄提示長度。若要包含提示內容,請設定 `OTEL_LOG_USER_PROMPTS=1`。在詳細的測試版追蹤下,此變數的作用範圍更廣:它也控制 [`new_context` 跨度屬性](#new-context-gates),該屬性在 `claude_code.llm_request` 跨度上帶有工具結果

1526* 助理回應文字預設不收集。僅記錄回應長度。若要包含回應文字,請設定 `OTEL_LOG_ASSISTANT_RESPONSES=1`。如同 Claude Code 的所有 OpenTelemetry 資料,回應文字僅傳送到您配置的 OTel 端點,絕不會傳送到 Anthropic。當此變數未設定時,`OTEL_LOG_USER_PROMPTS` 會用作備用方案,因此如果您想要提示內容而不要回應內容,請設定 `OTEL_LOG_ASSISTANT_RESPONSES=0`1559* 助理回應文字預設不收集。僅記錄回應長度。若要包含回應文字,請設定 `OTEL_LOG_ASSISTANT_RESPONSES=1`。如同 Claude Code 的所有 OpenTelemetry 資料,回應文字僅傳送到您配置的 OTel 端點,絕不會傳送到 Anthropic。當此變數未設定時,`OTEL_LOG_USER_PROMPTS` 會用作備用方案,因此如果您想要提示內容而不要回應內容,請設定 `OTEL_LOG_ASSISTANT_RESPONSES=0`

1527* 工具輸入引數和參數預設不記錄。若要包含它們,請設定 `OTEL_LOG_TOOL_DETAILS=1`。針對 Claude Desktop 的內建伺服器,在 Claude Desktop 擁有的工作階段中,`tool_decision` 和 `tool_result` 帶有 `mcp_server_name`/`mcp_tool_name` 配對,即主機撰寫的名稱而非引數內容,即使旗標關閉也是如此。此例外需要 Claude Code v2.1.214 或更新版本。此資料僅傳送到您配置的 OTEL 端點,絕不會傳送到 Anthropic。引數仍可能包含敏感值,因此請根據需要配置您的遙測後端以篩選或編輯這些屬性。啟用時:1560* 工具輸入引數和參數預設不記錄。若要包含它們,請設定 `OTEL_LOG_TOOL_DETAILS=1`。針對 Claude Desktop 的內建伺服器,在 Claude Desktop 擁有的工作階段中,`tool_decision` 和 `tool_result` 帶有 `mcp_server_name`/`mcp_tool_name` 配對,即主機撰寫的名稱而非引數內容,即使旗標關閉也是如此。此例外需要 Claude Code v2.1.214 或更新版本。此資料僅傳送到您配置的 OTEL 端點,絕不會傳送到 Anthropic。引數仍可能包含敏感值,因此請根據需要配置您的遙測後端以篩選或編輯這些屬性。啟用時:

1528 * `tool_result` 和 `tool_decision` 事件包含 `tool_parameters` 屬性,其中包含 Bash 命令、MCP 伺服器和工具名稱以及技能名稱。`full_command` 等欄位未截斷地發出1561 * `tool_result` 和 `tool_decision` 事件包含 `tool_parameters` 屬性,其中包含 Bash 命令、MCP 伺服器和工具名稱以及技能名稱。`full_command` 等欄位未截斷地發出

1529 * `tool_result` 事件另外包含 `tool_input` 屬性,其中包含檔案路徑、URL、搜尋模式和其他引數。超過 512 個字元的個別值會被截斷,總計上限約為 4 K 字元1562 * `tool_result` 事件另外包含 `tool_input` 屬性,其中包含檔案路徑、URL、搜尋模式和其他引數。超過 512 個字元的個別值會被截斷,總計上限約為 4 K 字元

1530 * `user_prompt` 事件包含自訂、plugin 和 MCP 命令的逐字 `command_name`1563 * `user_prompt` 事件包含自訂、plugin 和 MCP 命令的逐字 `command_name`

1531 * 追蹤跨度包含相同的 `tool_input` 屬性和輸入衍生屬性,例如 `file_path`,截斷方式與 `tool_input` 相同1564 * 追蹤跨度包含相同的 `tool_input` 屬性和輸入衍生屬性,例如 `file_path`,截斷方式與 `tool_input` 相同

1532* 工具輸入和輸出內容預設不在追蹤跨度中記錄。若要包含它,請設定 `OTEL_LOG_TOOL_CONTENT=1`。啟用時,跨度事件包含完整工具輸入和輸出內容,在內容限制(預設 60 KB)處按屬性截斷。這可以包含來自 Read 工具結果的原始檔案內容和 Bash 命令輸出。根據需要配置您的遙測後端以篩選或編輯這些屬性1565* 工具內容預設不在追蹤跨度中記錄。若要包含它,請設定 `OTEL_LOG_TOOL_CONTENT=1`。`claude_code.tool` 跨度隨後帶有 [`tool.output` 跨度事件](#tool-output-span-event),其中包含原始檔案內容和 Bash 命令輸出,在內容限制(預設 60 KB)處按屬性截斷。工具內容也透過 [`new_context` 到達跨度,其控制因跨度而異](#new-context-gates)。根據需要配置您的遙測後端以篩選或編輯這些屬性

1533* 原始 Anthropic Messages API 請求和回應主體預設不記錄。若要包含它們,請在您的 shell、使用者設定或受管設定中設定 `OTEL_LOG_RAW_API_BODIES`。在[專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略。主體包含完整的對話歷史記錄,包括系統提示、每個先前的使用者和助手輪次以及工具結果,因此啟用此選項意味著同意其他 `OTEL_LOG_*` 內容旗標會揭露的所有內容。Claude Code 始終從這些主體中編輯 Claude 的擴展思考內容,無論其他設定如何。您設定的值決定了 Claude Code 如何傳遞主體:1566* 原始 Anthropic Messages API 請求和回應主體預設不記錄。若要包含它們,請在您的 shell、使用者設定或受管設定中設定 `OTEL_LOG_RAW_API_BODIES`。在[專案和本機設定](/docs/zh-TW/settings-reference#variables-claude-code-ignores-in-env)中會被忽略。主體包含完整的對話歷史記錄,包括系統提示、每個先前的使用者和助手輪次以及工具結果,因此啟用此選項意味著同意其他 `OTEL_LOG_*` 內容旗標會揭露的所有內容。Claude Code 始終從這些主體中編輯 Claude 的擴展思考內容,無論其他設定如何。您設定的值決定了 Claude Code 如何傳遞主體:

1534 * 使用 `=1` 時,Claude Code 為每個 API 呼叫發出 `api_request_body` 和 `api_response_body` 日誌事件。事件的 `body` 屬性帶有 JSON 序列化的承載,在內容限制(預設 60 KB)處截斷1567 * 使用 `=1` 時,Claude Code 為每個 API 呼叫發出 `api_request_body` 和 `api_response_body` 日誌事件。事件的 `body` 屬性帶有 JSON 序列化的承載,在內容限制(預設 60 KB)處截斷

1535 * 使用 `=file:<dir>` 時,Claude Code 將未截斷的主體寫入該目錄下的 `.request.json` 和 `.response.json` 檔案,事件帶有 `body_ref` 路徑而不是內聯主體。使用日誌收集器或邊車傳送目錄,而不是透過遙測流1568 * 使用 `=file:<dir>` 時,Claude Code 將未截斷的主體寫入該目錄下的 `.request.json` 和 `.response.json` 檔案,事件帶有 `body_ref` 路徑而不是內聯主體。使用日誌收集器或邊車傳送目錄,而不是透過遙測流

1536 1569 

1570 對於每個成功的回應,Claude Code 也會在該目錄中的 `index.jsonl` 附加一行,將回應檔案連結到產生它的請求檔案以及它成為的文字記錄訊息。每一行不包含任何訊息內容,[API 回應主體事件](#api-response-body-event)部分列出其欄位。索引檔案需要 Claude Code v2.1.274 或更新版本

1571 

1537<h2 id="monitor-claude-code-on-amazon-bedrock">1572<h2 id="monitor-claude-code-on-amazon-bedrock">

1538 在 Amazon Bedrock 上監控 Claude Code1573 在 Amazon Bedrock 上監控 Claude Code

1539</h2>1574</h2>

Details

34 34 

35以下列其中一種方式選擇樣式:35以下列其中一種方式選擇樣式:

36 36 

37* **`/output-style` 命令**:執行 `/output-style <style>` 以切換,例如 `/output-style concise`。不帶引數時,該命令會列出您可以選擇的樣式並標記目前的樣式。Claude Code 會將您的選擇儲存到[本地專案層級](/docs/zh-TW/settings)的 `.claude/settings.local.json`。

38 

39 該命令也適用於[非互動模式](/docs/zh-TW/headless)和 Agent SDK 工作階段,以及來自行動應用程式或網頁的[遠端控制](/docs/zh-TW/remote-control#limitations),您只能列出和選擇[內建樣式](#built-in-output-styles)。需要 Claude Code v2.1.269 或更新版本。

37* **終端機**:執行 `/config` 並選擇**輸出樣式**以從選單中選擇樣式。Claude Code 會將您的選擇儲存到[本地專案層級](/docs/zh-TW/settings)的 `.claude/settings.local.json`。40* **終端機**:執行 `/config` 並選擇**輸出樣式**以從選單中選擇樣式。Claude Code 會將您的選擇儲存到[本地專案層級](/docs/zh-TW/settings)的 `.claude/settings.local.json`。

38* **VS Code 擴充功能**:使用 `/` 開啟[命令選單](/docs/zh-TW/vs-code#use-the-prompt-box)並選擇**輸出樣式**以選擇樣式,包括您的自訂樣式。Claude Code 會將您的選擇儲存到 `.claude/settings.local.json`,這是終端機選單寫入的同一個檔案。需要 Claude Code v2.1.257 或更新版本。41* **VS Code 擴充功能**:使用 `/` 開啟[命令選單](/docs/zh-TW/vs-code#use-the-prompt-box)並選擇**輸出樣式**以選擇樣式,包括您的自訂樣式。Claude Code 會將您的選擇儲存到 `.claude/settings.local.json`,這是終端機選單寫入的同一個檔案。需要 Claude Code v2.1.257 或更新版本。

39* **桌面應用程式**:在設定檔中設定 `outputStyle` 欄位,例如 `.claude/settings.local.json`,這是終端機選單寫入的檔案。當您在那裡執行 `/config` 時,Claude Code [開啟**設定 > Claude Code**](/docs/zh-TW/desktop#what%E2%80%99s-not-available-in-desktop)而不是選單。42* **桌面應用程式**:在設定檔中設定 `outputStyle` 欄位,例如 `.claude/settings.local.json`,這是終端機選單寫入的檔案。當您在那裡執行 `/config` 時,Claude Code [開啟**設定 > Claude Code**](/docs/zh-TW/desktop#what%E2%80%99s-not-available-in-desktop)而不是選單。

40 43 

41<Note>獨立的 `/output-style` 命令已在 v2.1.73 中棄用,並在 v2.1.91 中移除。請使用 `/config` 或直接編輯 `outputStyle` 設定。</Note>

42 

43若要在不使用選單的情況下設定樣式,請直接編輯設定檔中的 `outputStyle` 欄位:44若要在不使用選單的情況下設定樣式,請直接編輯設定檔中的 `outputStyle` 欄位:

44 45 

45```json theme={null}46```json theme={null}


90 </Step>91 </Step>

91 92 

92 <Step title="切換到您的樣式">93 <Step title="切換到您的樣式">

93 在終端機中執行 `/config`,並在**輸出樣式**下選擇您的樣式。Claude 從您的下一則訊息開始使用新樣式。在終端機中,Claude Code 在啟動時讀取樣式檔案,因此如果您在執行工作階段期間建立或編輯樣式檔案,請重新啟動 Claude Code 以套用變更。94 在終端機中執行 `/output-style <style>`,或執行 `/config` 並在**輸出樣式**下選擇您的樣式。Claude 從您的下一則訊息開始使用新樣式。在終端機中,Claude Code 在啟動時讀取樣式檔案,因此如果您在執行工作階段期間建立或編輯樣式檔案,請重新啟動 Claude Code 以套用變更。

94 </Step>95 </Step>

95</Steps>96</Steps>

96 97 

overview.md +4 −4

Details

117 </Tab>117 </Tab>

118 118 

119 <Tab title="網頁">119 <Tab title="網頁">

120 在您的瀏覽器中執行 Claude Code,無需本機設定。啟動長時間執行的任務,並在完成時檢查,處理您本機沒有的儲存庫,或並行執行多個任務。可在桌面瀏覽器和 [Claude iOS 和 Android 應用程式](/docs/zh-TW/mobile)上使用。120 在您的瀏覽器中執行 Claude Code,無需本機設定。啟動長時間執行的任務,並在完成時檢查,處理您本機沒有的儲存庫,或並行執行多個任務。如需較長期的工作,請建立[專案](/docs/zh-TW/claude-projects),讓 Claude 為您協調平行工作階段。可在桌面瀏覽器和 [Claude iOS 和 Android 應用程式](/docs/zh-TW/mobile)上使用。

121 121 

122 在 [claude.ai/code](https://claude.ai/code) 開始編碼。122 在 [claude.ai/code](https://claude.ai/code) 開始編碼。

123 123 


169 </Accordion>169 </Accordion>

170 170 

171 <Accordion title="使用說明、skills 和 hooks 進行自訂" icon="sliders">171 <Accordion title="使用說明、skills 和 hooks 進行自訂" icon="sliders">

172 [`CLAUDE.md`](/docs/zh-TW/memory) 是您新增到專案根目錄的 markdown 檔案,Claude Code 在每個工作階段開始時都會讀取。使用它來設定編碼標準、架構決策、首選程式庫和審查檢查清單。Claude 也會在工作時建立[自動記憶](/docs/zh-TW/memory#auto-memory),儲存學習內容,跨工作階段而無需您編寫任何內容。172 [`CLAUDE.md`](/docs/zh-TW/memory) 是您新增到專案根目錄的 markdown 檔案,Claude Code 在每個工作階段開始時都會讀取。使用它來設定編碼標準、架構決策、首選程式庫和審查檢查清單。如果您的儲存庫已經有用於其他編碼代理的 `AGENTS.md`,Claude Code [可以自行讀取](/docs/zh-TW/memory#agents-md)或與 `CLAUDE.md` 一起讀取。Claude 也會在工作時建立[自動記憶](/docs/zh-TW/memory#auto-memory),儲存學習內容,跨工作階段而無需您編寫任何內容。

173 173 

174 建立[skills](/docs/zh-TW/skills) 以封裝您的團隊可以共享的可重複工作流程,例如 `/review-pr` 或 `/deploy-staging`。174 建立[skills](/docs/zh-TW/skills) 以封裝您的團隊可以共享的可重複工作流程,例如 `/review-pr` 或 `/deploy-staging`。

175 175 


227除了上述[終端機](/docs/zh-TW/quickstart)、[VS Code](/docs/zh-TW/vs-code)、[JetBrains](/docs/zh-TW/jetbrains)、[桌面](/docs/zh-TW/desktop)和[網頁](/docs/zh-TW/claude-code-on-the-web)環境外,Claude Code 還與 CI/CD、聊天和瀏覽器工作流程整合:227除了上述[終端機](/docs/zh-TW/quickstart)、[VS Code](/docs/zh-TW/vs-code)、[JetBrains](/docs/zh-TW/jetbrains)、[桌面](/docs/zh-TW/desktop)和[網頁](/docs/zh-TW/claude-code-on-the-web)環境外,Claude Code 還與 CI/CD、聊天和瀏覽器工作流程整合:

228 228 

229| 我想要... | 最佳選項 |229| 我想要... | 最佳選項 |

230| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |230| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |

231| 從我的手機或其他裝置繼續本機工作階段 | [遠端控制](/docs/zh-TW/remote-control) |231| 從我的手機或其他裝置繼續本機工作階段 | [遠端控制](/docs/zh-TW/remote-control) |

232| 從 Telegram、Discord、iMessage 或我自己的 webhooks 推送事件到工作階段 | [Channels](/docs/zh-TW/channels) |232| 從 Telegram、Discord、iMessage 或我自己的 webhooks 推送事件到工作階段 | [Channels](/docs/zh-TW/channels) |

233| 在本機啟動任務,在行動裝置上繼續 | [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web),然後使用 [Claude 行動應用程式](/docs/zh-TW/mobile) |233| 在本機啟動任務,在行動裝置上繼續 | [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud),然後使用 [Claude 行動應用程式](/docs/zh-TW/mobile) |

234| 按重複排程執行 Claude | [Routines](/docs/zh-TW/routines) 或[桌面排程任務](/docs/zh-TW/desktop-scheduled-tasks) |234| 按重複排程執行 Claude | [Routines](/docs/zh-TW/routines) 或[桌面排程任務](/docs/zh-TW/desktop-scheduled-tasks) |

235| 自動化 PR 審查和問題分類 | [GitHub Actions](/docs/zh-TW/github-actions) 或 [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd) |235| 自動化 PR 審查和問題分類 | [GitHub Actions](/docs/zh-TW/github-actions) 或 [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd) |

236| 在每個 PR 上獲得自動程式碼審查 | [GitHub Code Review](/docs/zh-TW/code-review) |236| 在每個 PR 上獲得自動程式碼審查 | [GitHub Code Review](/docs/zh-TW/code-review) |

Details

27 27 

28審查每個操作的模式在 CLI 中、`claude --help` 中、VS Code 和 JetBrains 擴充功能中以及桌面應用程式中名為 **Manual**。其設定值為 `default`,這是 hooks 和 SDK 整合使用的值。CLI 接受 `manual` 作為別名,無論您在何處輸入該值,例如 `claude --permission-mode manual` 或 `"defaultMode": "manual"`。Manual 標籤和 `manual` 別名需要 Claude Code v2.1.200 或更新版本。桌面應用程式的標籤不取決於您的 CLI 版本。28審查每個操作的模式在 CLI 中、`claude --help` 中、VS Code 和 JetBrains 擴充功能中以及桌面應用程式中名為 **Manual**。其設定值為 `default`,這是 hooks 和 SDK 整合使用的值。CLI 接受 `manual` 作為別名,無論您在何處輸入該值,例如 `claude --permission-mode manual` 或 `"defaultMode": "manual"`。Manual 標籤和 `manual` 別名需要 Claude Code v2.1.200 或更新版本。桌面應用程式的標籤不取決於您的 CLI 版本。

29 29 

30寫入[受保護的路徑](#protected-paths)永遠不會自動批准,唯一的例外是 `bypassPermissions` 模式,以及可使用略過權限的計畫模式工作階段,也就是以[將 `bypassPermissions` 放入模式循環](#switch-permission-modes)的方式啟動的工作階段。30寫入[受保護的路徑](#protected-paths)永遠不會自動批准,唯一的例外是 `bypassPermissions` 模式,以及可使用略過權限的 Plan Mode 工作階段,也就是以[將 `bypassPermissions` 放入模式循環](#switch-permission-modes)的方式啟動的工作階段。

31 31 

32模式設定基準。在頂部分層[權限規則](/docs/zh-TW/permissions#manage-permissions)以預先批准或阻止特定工具。拒絕規則在每種模式中都會阻止,包括 `bypassPermissions`。拒絕和詢問規則不適用於 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),只要 Claude 仍有至少一個其他工具可以呼叫。允許規則在 `bypassPermissions` 中無效。32模式設定基準。在頂部分層[權限規則](/docs/zh-TW/permissions#manage-permissions)以預先批准或阻止特定工具。拒絕規則在每種模式中都會阻止,包括 `bypassPermissions`。拒絕和詢問規則不適用於 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),只要 Claude 仍有至少一個其他工具可以呼叫。允許規則在 `bypassPermissions` 中無效。

33 33 


42* 需要使用者互動的工具:內建的 `AskUserQuestion` 工具和標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具42* 需要使用者互動的工具:內建的 `AskUserQuestion` 工具和標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具

43* `rm` 和 `rmdir` 移除針對[關鍵路徑](#critical-paths),沒有允許規則或 `PreToolUse` hook `"allow"` 批准43* `rm` 和 `rmdir` 移除針對[關鍵路徑](#critical-paths),沒有允許規則或 `PreToolUse` hook `"allow"` 批准

44* [跨工作階段訊息保護措施](#skip-all-checks-with-bypasspermissions-mode)44* [跨工作階段訊息保護措施](#skip-all-checks-with-bypasspermissions-mode)

45* 當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 開啟時,在工作目錄外讀取:已識別的檔案讀取 Bash 命令和任何[未沙箱化的重試](/docs/zh-TW/sandboxing#the-unsandboxed-retry-escape-hatch),即使在自動模式和 `bypassPermissions` 模式中也需要批准才能在沙箱外執行。需要 Claude Code v2.1.257 或更新版本45* 當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 開啟時,在工作目錄外讀取:已識別的檔案讀取 Bash 命令即使在自動模式和 `bypassPermissions` 模式中也會提示,任何[未沙箱化的重試](/docs/zh-TW/sandboxing#the-unsandboxed-retry-escape-hatch)需要批准才能在沙箱外執行也是如此。需要 Claude Code v2.1.257 或更新版本。

46 

47 殼層解析器無法追蹤的命令,例如變更目錄超過一次或執行子殼層的命令,即使在命名沒有外部路徑時也會以相同方式提示。當命令在[沙箱](/docs/zh-TW/sandboxing)中執行且沙箱強制執行該區塊時,此提示不適用。

46 48 

47<h2 id="common-setups">49<h2 id="common-setups">

48 常見設定50 常見設定


59| 在 CI 中使用精確允許清單執行 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | 無,超出您的 CI 執行器提供的 | [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 忽略設定檔中的 `dontAsk` |61| 在 CI 中使用精確允許清單執行 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | 無,超出您的 CI 執行器提供的 | [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 忽略設定檔中的 `dontAsk` |

60| 在容器內完全無人值守執行 | `claude -p "<prompt>" --dangerously-skip-permissions` | 必需:容器、虛擬機或[沙箱執行時](/docs/zh-TW/sandbox-environments#sandbox-runtime);在 Linux 和 macOS 上,以[非 root 使用者](#skip-all-checks-with-bypasspermissions-mode)執行 | Claude Code on the web 忽略設定檔中的此模式。在此 `-p` 執行中,[仍會提示的少數呼叫](#skip-all-checks-with-bypasspermissions-mode)會被拒絕 |62| 在容器內完全無人值守執行 | `claude -p "<prompt>" --dangerously-skip-permissions` | 必需:容器、虛擬機或[沙箱執行時](/docs/zh-TW/sandbox-environments#sandbox-runtime);在 Linux 和 macOS 上,以[非 root 使用者](#skip-all-checks-with-bypasspermissions-mode)執行 | Claude Code on the web 忽略設定檔中的此模式。在此 `-p` 執行中,[仍會提示的少數呼叫](#skip-all-checks-with-bypasspermissions-mode)會被拒絕 |

61 63 

62Bash 沙箱和自動模式獨立工作並結合,除了計畫模式,其中[自動允許不會擴大批准](/docs/zh-TW/sandboxing#sandbox-modes)。如需完整互動,請參閱[沙箱化如何與權限和權限模式相關](/docs/zh-TW/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)和[隔離如何與權限模式相關](/docs/zh-TW/sandbox-environments#how-isolation-relates-to-permission-modes)。64Bash 沙箱和自動模式獨立工作並結合,除了[沙箱模式](/docs/zh-TW/sandboxing#sandbox-modes)下列出的例外。如需完整互動,請參閱[沙箱化如何與權限和權限模式相關](/docs/zh-TW/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)和[隔離如何與權限模式相關](/docs/zh-TW/sandbox-environments#how-isolation-relates-to-permission-modes)。

63 65 

64<h2 id="which-mode-a-session-starts-in">66<h2 id="which-mode-a-session-starts-in">

65 工作階段在哪個模式中啟動67 工作階段在哪個模式中啟動


211 <Tab title="Web and mobile">213 <Tab title="Web and mobile">

212 在 [claude.ai/code](https://claude.ai/code) 或行動應用程式中使用提示框旁邊的模式下拉式選單。權限提示會在 claude.ai 中出現以供批准。出現的模式取決於工作階段在何處執行:214 在 [claude.ai/code](https://claude.ai/code) 或行動應用程式中使用提示框旁邊的模式下拉式選單。權限提示會在 claude.ai 中出現以供批准。出現的模式取決於工作階段在何處執行:

213 215 

214 * **Cloud sessions** 在 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上:接受編輯、Plan 和 Auto。接受編輯對應於 `default` 模式:雲端工作階段預先批准檔案編輯,無論模式為何,因此下拉式選單會顯示接受編輯而不是 Manual。雲端工作階段仍然遵守設定中的 `defaultMode: "acceptEdits"`。Auto 模式僅在您的組織允許且選定的模型支援時出現。Bypass permissions 不可用。216 * **Cloud sessions**:在 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上:接受編輯、Plan 和 Auto。接受編輯對應於 `default` 模式:雲端工作階段預先批准檔案編輯,無論模式為何,因此下拉式選單會顯示接受編輯而不是 Manual。雲端工作階段仍然遵守設定中的 `defaultMode: "acceptEdits"`。Auto 模式僅在您的組織允許且選定的模型支援時出現。Bypass permissions 不可用。

215 * **[Remote Control](/docs/zh-TW/remote-control) sessions** 在您的本機機器上:Manual、接受編輯和 Plan。您無法從應用程式選擇 Auto 或 Bypass permissions。217 * **[Remote Control](/docs/zh-TW/remote-control) sessions** 在您的本機機器上:Manual、接受編輯和 Plan。您無法從應用程式選擇 Auto 或 Bypass permissions。

216 * 除了 Bypass permissions,下拉式選單顯示本機工作階段所在的權限模式,包括從終端設定的模式。它在應用程式或終端中權限模式變更時更新。工作階段永遠不會向 claude.ai 報告 Bypass permissions,因此從終端切換到它不會變更下拉式選單顯示的內容。218 * 除了 Bypass permissions,下拉式選單顯示本機工作階段所在的權限模式,包括從終端設定的模式。它在應用程式或終端中權限模式變更時更新。工作階段永遠不會向 claude.ai 報告 Bypass permissions,因此從終端切換到它不會變更下拉式選單顯示的內容。

217 * 由[桌面應用程式](/docs/zh-TW/desktop)或 [VS Code 擴充功能](/docs/zh-TW/vs-code)託管的工作階段在權限模式變更時向 claude.ai 報告,與在終端中託管的工作階段相同。219 * 由[桌面應用程式](/docs/zh-TW/desktop)或 [VS Code 擴充功能](/docs/zh-TW/vs-code)託管的工作階段在權限模式變更時向 claude.ai 報告,與在終端中託管的工作階段相同。


247 使用計畫模式在編輯前進行分析249 使用計畫模式在編輯前進行分析

248</h2>250</h2>

249 251 

250計畫模式會告訴 Claude 在進行變更前先研究並提出建議。Claude 會讀取檔案、執行 shell 命令進行探索,並撰寫計畫,但不會編輯您的原始碼。除了在[略過權限可用](#skip-all-checks-with-bypasspermissions-mode)的工作階段中,編輯會保持被阻止,直到您批准計畫為止。252計畫模式會告訴 Claude 在進行變更前先研究並提出建議。Claude 會讀取檔案、執行 shell 命令進行探索,並撰寫計畫,但不會編輯您的原始碼。除了在[略過權限可用](#skip-all-checks-with-bypasspermissions-mode)的互動式終端工作階段中,編輯會保持被阻止,直到您批准計畫為止。

251 253 

252當[自動模式](/docs/zh-TW/auto-mode-config)可用且 `useAutoModeDuringPlan` 設定開啟(預設為開啟)時,分類器會在規劃期間審查 shell 命令而不是提示您。批准的命令執行,拒絕的命令被阻止。否則,[內建唯讀集合](/docs/zh-TW/permissions#read-only-commands)外的命令會提示批准,包括當沙箱的[自動允許模式](/docs/zh-TW/sandboxing#sandbox-modes)啟用時。在略過權限可用的工作階段中,分類器和提示都不適用於規劃命令;[使用 bypassPermissions 模式跳過所有檢查](#skip-all-checks-with-bypasspermissions-mode)涵蓋仍會在那裡提示的少數事項。在 v2.1.212 到 v2.1.217 中,沒有略過權限的工作階段會為唯讀集合外的每個命令提示,無論自動模式是否可用。254當[自動模式](/docs/zh-TW/auto-mode-config)可用且 `useAutoModeDuringPlan` 設定開啟(預設為開啟)時,分類器會在規劃期間審查 shell 命令而不是提示您。批准的命令執行,拒絕的命令被阻止。否則,[內建唯讀集合](/docs/zh-TW/permissions#read-only-commands)外的命令會提示批准,包括當沙箱的[自動允許模式](/docs/zh-TW/sandboxing#sandbox-modes)啟用時。在具有可用略過權限的互動式終端工作階段中,分類器和提示都不適用於規劃命令;[使用 bypassPermissions 模式跳過所有檢查](#skip-all-checks-with-bypasspermissions-mode)涵蓋仍會在那裡提示的少數事項。在 v2.1.212 到 v2.1.217 中,沒有略過權限的工作階段會為唯讀集合外的每個命令提示,無論自動模式是否可用。

253 255 

254按下 `Shift+Tab` 或在單一提示前加上 `/plan` 即可進入計畫模式。您也可以從 CLI 開始使用計畫模式:256按下 `Shift+Tab` 或在單一提示前加上 `/plan` 即可進入計畫模式。您也可以從 CLI 開始使用計畫模式:

255 257 


289 291 

290在 Pro、Max 和 Team 方案上,自動模式是[會話開始時的內建預設權限模式](#which-mode-a-session-starts-in)。292在 Pro、Max 和 Team 方案上,自動模式是[會話開始時的內建預設權限模式](#which-mode-a-session-starts-in)。

291 293 

292分類器也會在 Claude 使用 [`SendMessage`](/docs/zh-TW/tools-reference) 向另一個代理發送每條訊息時進行審查,無論是純文本還是結構化的[代理團隊](/docs/zh-TW/agent-teams)訊息,在 Claude Code 傳遞之前,無論是在自動模式還是在[計畫模式中分類器審查命令](#analyze-before-you-edit-with-plan-mode)時都會進行;發送審查需要 Claude Code v2.1.222 或更新版本。294分類器也會審查 Claude 使用 [`SendMessage`](/docs/zh-TW/tools-reference) 發送給另一個代理的每條訊息,無論是純文本還是結構化的[代理團隊](/docs/zh-TW/agent-teams)訊息,在 Claude Code 傳遞之前,無論是在自動模式還是在[計畫模式中分類器審查命令](#analyze-before-you-edit-with-plan-mode)時;發送審查需要 Claude Code v2.1.222 或更新版本。

293 295 

294分類器也會審查並批准或阻止針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除,例如 `rm -rf /` 和 `rm -rf ~`,包括當移除位於命令或程序替換內時。296分類器也會審查並批准或阻止針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除操作,例如 `rm -rf /` 和 `rm -rf ~`,包括當移除操作位於命令或程序替換內時。

295 297 

296自動模式也會促使 Claude 繼續工作而不停下來提出澄清問題,儘管當您的提示或技能明確依賴它時 Claude 仍會詢問。為了在仍會提示您的模式中獲得更強的自主行為,請改為設定[主動輸出風格](/docs/zh-TW/output-styles)。298自動模式也會促使 Claude 繼續工作而不停下來提出澄清問題,儘管當您的提示或技能明確依賴它時,Claude 仍會提問。如需在仍會提示您的模式中獲得更強的自主行為,請改為設定[主動輸出風格](/docs/zh-TW/output-styles)。

297 299 

298<Warning>300<Warning>

299 自動模式減少了權限提示,但不保證安全性。將其用於您信任一般方向的任務,而不是作為敏感操作審查的替代品。301 自動模式減少了權限提示,但不保證安全性。將其用於您信任一般方向的任務,而不是作為敏感操作審查的替代品。

300</Warning>302</Warning>

301 303 

302自動模式僅在您的帳戶滿足以下所有要求時才可用:304自動模式僅在您的帳戶符合以下所有要求時才可用:

303 305 

304* **方案**:所有方案。306* **方案**:所有方案。

305* **組織**:在 Team 和 Enterprise 上,自動模式預設可用。管理員可以通過在[受管設定](/docs/zh-TW/managed-settings)中將 `permissions.disableAutoMode` 設定為 `"disable"` 來為組織關閉它。307* **組織**:在 Team 和 Enterprise 上,自動模式預設可用。管理員可以通過在[受管設定](/docs/zh-TW/managed-settings)中將 `permissions.disableAutoMode` 設定為 `"disable"` 來為組織關閉它。


308 310 

309如果 Claude Code 報告自動模式不可用,首先檢查這些要求以及任何設定檔是否設定了 [`disableAutoMode`](/docs/zh-TW/settings-reference#disableautomode)。Anthropic 也可能已在伺服器端關閉自動模式,或伺服器可能已為您的帳戶拒絕自動模式。收到任一答案的會話會保持自動模式關閉直到會話結束,因此稍後啟動新會話。311如果 Claude Code 報告自動模式不可用,首先檢查這些要求以及任何設定檔是否設定了 [`disableAutoMode`](/docs/zh-TW/settings-reference#disableautomode)。Anthropic 也可能已在伺服器端關閉自動模式,或伺服器可能已為您的帳戶拒絕自動模式。收到任一答案的會話會保持自動模式關閉直到會話結束,因此稍後啟動新會話。

310 312 

311命名模型並說自動模式「無法確定」操作安全性的單獨訊息意味著分類器請求失敗。該失敗通常是暫時的,但在 Amazon Bedrock 上,它可能會重複直到您的帳戶可以調用命名的模型。請參閱[錯誤參考](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)以了解原因和應對方法。313命名模型並說自動模式「無法確定」操作安全性的單獨訊息意味著分類器請求失敗。該失敗通常是暫時的,但在 Amazon Bedrock 上,它可能會重複出現,直到您的帳戶可以調用命名的模型。請參閱[錯誤參考](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)以了解原因和應對措施。

312 314 

313如果您在[設定](/docs/zh-TW/settings-reference#all-settings)中設定 `defaultMode: "auto"` 並且終端會話在沒有錯誤的情況下以手動模式啟動,該設定可能在 `.claude/settings.json` 或 `.claude/settings.local.json` 中。`auto` 不會從這些檔案生效。將其移至 `~/.claude/settings.json`。對於 VS Code 擴充功能啟動的對話,請改為檢查擴充功能自己的列表在[切換權限模式](#switch-permission-modes)中。315如果您在[設定](/docs/zh-TW/settings-reference#all-settings)中設定 `defaultMode: "auto"`,而終端會話在沒有錯誤的情況下以手動模式啟動,該設定可能位於 `.claude/settings.json` 或 `.claude/settings.local.json` 中。`auto` 不會從這些檔案生效。將其移至 `~/.claude/settings.json`。對於 VS Code 擴充功能啟動的對話,請改為檢查擴充功能自己的列表[切換權限模式](#switch-permission-modes)。

314 316 

315<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">317<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

316 Bedrock、Agent Platform 或 Foundry 上的自動模式318 Bedrock、Agent Platform 或 Foundry 上的自動模式

317</h3>319</h3>

318 320 

319在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和已登入的[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)會話上,自動模式預設出現在 `Shift+Tab` 循環中。出現在循環中不會改變會話開始時的權限模式:在這些提供者上,終端會話以您的 [`defaultMode`](/docs/zh-TW/settings-reference#permissions-defaultmode) 開始,除非您更改它,否則為手動,而[VS Code 擴充功能](/docs/zh-TW/vs-code)中的對話以手動開始,除非 `claudeCode.initialPermissionMode` 或您在擴充功能中選擇的模式設定了一個。這些提供者上僅支援 Claude Sonnet 5、Opus 4.7 或更新版本以及 Fable 模型。321在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai)、[Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 和已登入的[Claude 應用程式閘道](/docs/zh-TW/claude-apps-gateway)會話上,自動模式預設出現在 `Shift+Tab` 循環中。出現在循環中不會改變會話開始時的權限模式:在這些提供者上,終端會話以您的 [`defaultMode`](/docs/zh-TW/settings-reference#permissions-defaultmode) 開始,除非您更改它,否則為手動模式,而[VS Code 擴充功能](/docs/zh-TW/vs-code)中的對話除非 `claudeCode.initialPermissionMode` 或您在擴充功能中選擇的模式設定了一個,否則以手動模式開始。這些提供者上僅支援 Claude Sonnet 5、Opus 4.7 或更新版本以及 Fable 模型。

322 

323要使自動模式成為預設啟動權限模式,請在使用者或受管設定中設定 `"permissions": {"defaultMode": "auto"}`。在 VS Code 擴充功能啟動的會話中,改為從模式指示器選擇 **Auto**。[切換權限模式](#switch-permission-modes)涵蓋了什麼會優先於該選擇。

324 

325[`/doctor`](/docs/zh-TW/commands#all-commands) 檢查在這些提供者上提議此使用者設定預設,方式與在 Anthropic API 上相同。

320 326 

321要使自動模式成為預設啟動權限模式,請在使用者或受管設定中設定 `"permissions": {"defaultMode": "auto"}`。在 VS Code 擴充功能啟動的會話中,改為從模式指示器選擇**自動**。[切換權限模式](#switch-permission-modes)涵蓋了什麼優先於該選擇。327要防止開發人員使用自動模式,請在[受管設定](/docs/zh-TW/managed-settings)中將 `disableAutoMode` 設定為 `"disable"`。這會從 `Shift+Tab` 循環中移除 `auto`,而以 `--permission-mode auto` 啟動的會話會以手動模式啟動。已在自動模式中執行的會話在設定從[管理員部署的來源](/docs/zh-TW/managed-settings#which-managed-source-claude-code-uses)到達該會話時會離開它,並顯示 `auto mode disabled by settings`。在 v2.1.251 之前,執行中的會話會保持自動模式直到它結束。

322 328 

323[`/doctor`](/docs/zh-TW/commands#all-commands)檢查在這些提供者上提議此使用者設定預設,就像在 Anthropic API 上一樣。329在 v2.1.158 到 v2.1.206 中,自動模式在這些提供者上是關閉的,直到您設定 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`,而 Claude Code 在這些提供者上忽略 `defaultMode: "auto"`,除非也設定了該變數。該變數仍被接受以保持相容性,從 v2.1.207 開始沒有效果。

324 330 

325要防止開發人員使用自動模式,請在[受管設定](/docs/zh-TW/managed-settings)中將 `disableAutoMode` 設定為 `"disable"`。這會從 `Shift+Tab` 循環中移除 `auto`,並且以 `--permission-mode auto` 啟動的會話以手動開始。已在自動模式中執行的會話在設定從[管理員部署的來源](/docs/zh-TW/managed-settings#which-managed-source-claude-code-uses)到達該會話時會離開它,並顯示 `auto mode disabled by settings`。在 v2.1.251 之前,執行中的會話會保持自動模式直到它結束。331<h4 id="server-side-classifier-review">

332 伺服器端分類器審查

333</h4>

326 334 

327在 v2.1.158 到 v2.1.206 中,自動模式在這些提供者上關閉,直到您設定 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`,並且 Claude Code 在這些提供者上忽略 `defaultMode: "auto"`,除非也設定了該變數。該變數仍被接受以保持相容性,從 v2.1.207 開始沒有效果。335在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,Claude Code 預設使用自己的分類器請求審查自動模式操作。要讓平台的伺服器端分類器審查[進入分類器的操作](#how-the-classifier-evaluates-actions)作為會話的模型請求的一部分,請設定 [`CLAUDE_CODE_AUTO_MODE_SERVER=1`](/docs/zh-TW/env-vars)。平台執行分類器的地方,其判決決定這些操作;平台不執行的地方,Claude Code 會回退到自己的分類器請求。在 v2.1.271 和 v2.1.272 中,詢問平台是這些提供者上的預設。

328 336 

329<h3 id="what-the-classifier-blocks-by-default">337<h3 id="what-the-classifier-blocks-by-default">

330 分類器預設阻止的內容338 分類器預設阻止的內容

331</h3>339</h3>

332 340 

333分類器信任您的工作目錄和會話啟動時為其配置的遠端。在會話期間使用 `git remote add` 或 `git remote set-url` 添加或重新指向的遠端不受信任,其他所有內容都被視為外部,直到您[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。在 v2.1.200 之前,中途添加的遠端也受信任。341分類器信任您的工作目錄和為其配置的遠端,當會話啟動時。在會話期間使用 `git remote add` 或 `git remote set-url` 添加或重新指向的遠端不受信任,其他所有內容都被視為外部,直到您[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。在 v2.1.200 之前,中途添加的遠端也受信任。

334 342 

335**預設阻止**:343**預設阻止**:

336 344 


340* 雲端儲存上的大量刪除348* 雲端儲存上的大量刪除

341* 授予 IAM 或儲存庫權限349* 授予 IAM 或儲存庫權限

342* 修改共享基礎設施350* 修改共享基礎設施

343* 不可逆轉地銷毀會話前存在的檔案351* 不可逆地銷毀會話前存在的檔案

344* 強制推送352* 強制推送

345* 提交或推送會在執行時將秘密或敏感資料發送到儲存庫外的更改,或擴大部署公開的內容。這涵蓋將秘密交給不已接收它的目的地的 CI 工作流程或部署配置、讀取秘密存儲並發送資料的指令碼或設定步驟,以及擴大部署發佈內容的配置更改,例如登錄、可見性、工件或來源地圖設定。檢查適用於任何分支,即使儲存庫是公開的也適用,並在更改登陸時觸發,無論該登陸是否觸發管道;清除它需要命名執行效果,而不僅僅是提交或推送。在 v2.1.211 之前,此檢查的範圍限於預設分支:推送到那裡時如果包含敏感內容、隱藏或誤描述相對於您要求的內容、從儲存庫外部移植的內容或繞過您要求的審查的內容,則被阻止353* 提交或推送會將秘密或敏感資料發送到儲存庫外的更改,或擴大部署所暴露的內容。這涵蓋將秘密傳遞給尚未接收它的目的地的 CI 工作流程或部署配置、讀取秘密存儲並將資料發送出去的指令碼或設定步驟,以及擴大部署發佈內容的配置更改,例如登錄、可見性、工件或來源地圖設定。檢查適用於任何分支,即使儲存庫是公開的也適用,並在提交或推送時觸發,無論該提交或推送是否觸發管道;清除它需要命名執行效果,而不僅僅是提交或推送。在 v2.1.211 之前,此檢查的範圍限於預設分支:推送到那裡時如果攜帶敏感內容、隱藏或誤描述相對於您要求的內容、從儲存庫外部移植的內容或繞過您要求的審查的內容,則被阻止

346* `git reset --hard`、`git checkout -- .`、`git restore .`、`git clean -fd`、`git stash drop` 或 `git stash clear`,分類器假設會丟棄未提交的更改354* `git reset --hard`、`git checkout -- .`、`git restore .`、`git clean -fd`、`git stash drop` 或 `git stash clear`,分類器假設會丟棄未提交的更改

347* `git commit --amend` 當 HEAD 的提交不是在此會話中建立的355* `git commit --amend` 當 HEAD 的提交不是在此會話中建立的

348* 從 v2.1.198 開始,`git commit --amend` 當 HEAD 的提交已經被推送。僅訊息重新措辭不被阻止:`--amend -m` 沒有新暫存的內容,在 Claude 在此會話期間建立的提交上356* 從 v2.1.198 開始,`git commit --amend` 當 HEAD 的提交已經被推送。僅訊息重新措辭不被阻止:`--amend -m` 沒有新暫存的內容,在 Claude 在此會話期間建立的提交上


356* 切換、調整或刪除生產功能旗標364* 切換、調整或刪除生產功能旗標

357* 將基礎設施更改應用於受保護的 IaC 範圍,或排空並移除叢集節點365* 將基礎設施更改應用於受保護的 IaC 範圍,或排空並移除叢集節點

358* 寫入超出您命名的資源的共享計算叢集,例如標籤選擇器或 `--all` 捕捉其他使用者的工作366* 寫入超出您命名的資源的共享計算叢集,例如標籤選擇器或 `--all` 捕捉其他使用者的工作

359* 建立在每個節點上執行或攔截叢集流量的 Kubernetes 資源,例如 DaemonSets 和准入 webhooks367* 建立在每個節點上執行或攔截叢集流量的 Kubernetes 資源,例如 DaemonSets 和准入 Webhooks

360* 互動式 shell 或連接埠轉發到敏感遠端目標368* 互動式 shell 或連接埠轉發到敏感遠端目標

361* 開啟隧道或反向 shell 使本地服務可從公開網際網路到達369* 開啟隧道或反向 shell,使本地服務可從公開網際網路存取

362* 將即時認證或令牌列印到文字記錄或檔案370* 將即時認證或令牌列印到文字記錄或檔案

363* 存取在您的[環境](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中列為敏感資料位置的位置,或從其中複製資料。從 v2.1.198 開始,這也會阻止從一個發送資料到該條目排除的受眾371* 存取在您的[環境](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中列為敏感資料位置的位置,或從其中複製資料。從 v2.1.198 開始,這也會阻止從一個位置發送資料到該條目排除的受眾

364* 繞過您的內部套件登錄將套件安裝路由到公開登錄。從 v2.1.198 開始,這也適用於您在對話中告訴 Claude 內部登錄或鏡像存在的情況,而不僅僅是在您的環境中列出的情況372* 繞過您的內部套件登錄將套件安裝路由到公開登錄。從 v2.1.198 開始,這也適用於您在對話中告訴 Claude 存在內部登錄或鏡像的情況,而不僅僅是在您的環境中列出的情況

365* 使用禁用安全防護的旗標執行命令,例如 `--insecure`373* 使用禁用安全防護的旗標執行命令,例如 `--insecure`

366* 啟動在沒有人類批准或沙箱的情況下執行的自主代理迴圈,例如使用 `--dangerously-skip-permissions` 或 `--no-sandbox` 啟動的迴圈。從 v2.1.198 開始,這也涵蓋執行第三方代理或評估工具,隔離和每個操作批准禁用,例如使用 `--yes-always` 啟動的執行器374* 啟動在沒有人類批准或沙箱的情況下執行的自主代理迴圈,例如使用 `--dangerously-skip-permissions` 或 `--no-sandbox` 啟動的迴圈。從 v2.1.198 開始,這也涵蓋執行禁用隔離和每個操作批准的第三方代理或評估工具,例如使用 `--yes-always` 啟動的執行器

367* [Chrome 中的 Claude](/docs/zh-TW/chrome)瀏覽器操作可能會將頁面內容、Cookie 或認證發送到跨來源375* [Chrome 中的 Claude](/docs/zh-TW/chrome)瀏覽器操作可能會將頁面內容、Cookie 或認證發送到跨來源

368 376 

369Claude Code v2.1.198 及更新版本也預設阻止這些:377Claude Code v2.1.198 及更新版本也預設阻止這些:

370 378 

371* 按萬用字元、glob 或年齡篩選器而不是按特定命名路徑刪除 `/tmp`、`$TMPDIR` 或另一個共享暫存或快取目錄中的檔案379* 通過萬用字元、glob 或年齡篩選器而不是特定命名路徑刪除 `/tmp`、`$TMPDIR` 或其他共享暫存或快取目錄中的檔案

372* 在您自己的訊息未授權這些詳細資訊給該收件人時,在發送、上傳、發佈或寫入其他人或共享系統的內容中包含敏感詳細資訊。PR 和問題正文、提交訊息和評論在儲存庫在信任邊界外或公開時計為此類出站內容,包括您組織自己的公開儲存庫;內部檔案路徑、代碼名稱、即時 API 回應資料(例如電子郵件或帳戶識別碼)和基礎設施識別碼計為敏感詳細資訊。PR、問題和提交訊息範圍需要 Claude Code v2.1.200 或更新版本。PR 或問題正文中的即時個人資料(例如電子郵件地址、帳戶或組織識別碼或使用指標)需要您命名這些詳細資訊和收件人,無論儲存庫的可見性或信任邊界如何。該檢查需要 Claude Code v2.1.203 或更新版本380* 在發送、上傳、發佈或寫入其他人或共享系統的內容中包含敏感詳細資訊,當您自己的訊息未授權這些詳細資訊給該收件人時。PR 和問題正文、提交訊息和評論在儲存庫在信任邊界外或公開時計為此類出站內容,包括您組織自己的公開儲存庫;內部檔案路徑、代碼名稱、即時 API 回應資料(例如電子郵件或帳戶識別碼)和基礎設施識別碼計為敏感詳細資訊。PR、問題和提交訊息範圍需要 Claude Code v2.1.200 或更新版本。PR 或問題正文中的即時個人資料(例如電子郵件地址、帳戶或組織識別碼或使用指標)需要您命名這些詳細資訊和收件人,無論儲存庫的可見性或信任邊界如何。該檢查需要 Claude Code v2.1.203 或更新版本

373* 將按鍵發送到 Claude Code 自己的 tmux 窗格以驅動其自己的介面,分類器將其視為 Claude 更改自己的權限或監督381* 將按鍵發送到 Claude Code 自己的 tmux 窗格以驅動其自己的介面,分類器將其視為 Claude 更改自己的權限或監督

374 382 

375Claude Code v2.1.200 及更新版本也預設阻止這些:383Claude Code v2.1.200 及更新版本也預設阻止這些:

376 384 

377* 註解掉、刪除或強制通過保護安全行為的測試或斷言,例如驗證、存取控制、輸入驗證或沙箱385* 註解掉、刪除或強制通過保護安全行為的測試或斷言,例如驗證、存取控制、輸入驗證或沙箱

378* 刪除或拆除 Claude 在會話中未建立的有狀態資源,當沒有更具體的刪除規則適用且您未命名該資源時386* 刪除或拆除 Claude 在會話中未建立的有狀態資源,當沒有更具體的刪除規則適用且您未命名該資源時

379* 將 API 基礎 URL、代理端點、webhook 接收器或登錄鏡像重新指向不適合任務的第三方主機,包括在 `.env.example` 等範例檔案中387* 將 API 基礎 URL、代理端點、Webhook 接收器或登錄鏡像重新指向不適合任務的第三方主機,包括在 `.env.example` 等範例檔案中

380* 使用 `git remote set-url` 或 `git remote add` 更改推送去向,除非您命名了新遠端388* 使用 `git remote set-url` 或 `git remote add` 更改推送的去向,除非您命名了新遠端

381* 推送秘密或個人或受信任資料到已知為公開的儲存庫,或推送不屬於該儲存庫自己工作的機密材料。dotfiles 儲存庫自己的主題是個人或受信任資料的唯一例外,來自私有儲存庫到任何公開表面的內容以相同方式被阻止;兩項改進都需要 Claude Code v2.1.203 或更新版本。在 v2.1.203 之前,個人資料與機密材料分組,僅當它不屬於該儲存庫自己的工作時才被阻止。當儲存庫的可見性未確定時,分類器不會單獨在此阻止;它改為根據其他規則判斷內容389* 推送秘密或個人或受信任的資料到已知為公開的儲存庫,或推送不是該儲存庫自己工作一部分的機密材料到那裡。dotfiles 儲存庫自己的主題是個人或受信任資料的唯一例外,來自私有儲存庫到任何公開表面的內容以相同方式被阻止;兩項改進都需要 Claude Code v2.1.203 或更新版本。在 v2.1.203 之前,個人資料與機密材料分組,僅當它不是該儲存庫自己工作的一部分時才被阻止。當儲存庫的可見性未確定時,分類器不會單獨基於此進行阻止;它改為根據其他規則判斷內容

382* 針對不同的儲存庫或組織開啟拉取請求、使用 `gh repo fork` 進行分叉或推送到第三方儲存庫,除非您命名了該外部目標390* 針對不同的儲存庫或組織開啟拉取請求、使用 `gh repo fork` 進行分叉或推送到第三方儲存庫,除非您命名了該外部目標

383 391 

384Claude Code v2.1.203 及更新版本也預設阻止這些:392Claude Code v2.1.203 及更新版本也預設阻止這些:

385 393 

386* 來自敏感本地存儲或其名稱、路徑或類型將其標記為敏感的檔案的內容進入提交、推送、PR 或問題文本、gist 或貼上或套件發佈,除非您命名了來源和目的地。會話文字記錄和對話日誌、認證和配置點資料夾(例如 SSH 金鑰、雲端認證、瀏覽器設定檔和 shell 歷史記錄)以及使用者資料匯出都計為此類,儲存庫為私有不會清除它394* 來自敏感本地存儲或其名稱、路徑或類型將其標記為敏感的檔案的內容進入提交、推送、PR 或問題文本、gist 或貼上或套件發佈,除非您命名了來源和目的地。會話文字記錄和對話日誌、認證和配置點資料夾(例如 SSH 金鑰、雲端認證、瀏覽器設定檔和 shell 歷史記錄)以及使用者資料匯出都計為此類,儲存庫是私有的不會清除它

387 395 

388Claude Code v2.1.205 及更新版本也預設阻止這些:396Claude Code v2.1.205 及更新版本也預設阻止這些:

389 397 

390* 寫入 Claude Code 會話文字記錄,也就是 `~/.claude/projects/` 或您配置的配置目錄下的 `.jsonl` 歷史檔案,無論是直接還是通過 shell 命令。該規則也涵蓋 Claude Code 為其自己的檢查附加到每個文字記錄條目的中繼資料行。讀取文字記錄不被阻止398* 寫入 Claude Code 會話文字記錄、`~/.claude/projects/` 下的 `.jsonl` 歷史檔案或您配置的配置目錄,無論是直接還是通過 shell 命令。該規則也涵蓋 Claude Code 為其自己的檢查附加到每個文字記錄條目的中繼資料行。讀取文字記錄不被阻止

391* 遞迴強制刪除,例如 `rm -rf "$VAR"` 或 `Remove-Item -Recurse -Force $dir`,其目標是 shell 變數或以其為根的 glob,在對話中分類器看到的任何地方都未指派。該值僅來自較早的命令輸出,分類器永遠不會收到,因此分類器無法根據其他刪除規則驗證刪除目標。當您命名正在刪除的確切路徑或 Claude 使用寫入命令的已解析文字路徑重新執行刪除時,該塊會清除。其目標分類器可以解析的刪除不受影響。`Remove-Item` 目標為裸 `*` 或以 `/*` 或 `\*` 結尾的永遠不會到達分類器:Claude Code [直接拒絕它們](#remove-item-in-powershell)399* 遞迴強制刪除,例如 `rm -rf "$VAR"` 或 `Remove-Item -Recurse -Force $dir`,其目標是 shell 變數或以其為根的 glob,在對話中分類器看到的任何地方都未分配。該值僅來自較早的命令輸出,分類器永遠不會收到,因此分類器無法根據其他刪除規則驗證刪除目標。當您命名正在刪除的確切路徑或 Claude 使用寫入命令的已解析文字路徑重新執行刪除時,該塊會清除。分類器可以解析其目標的刪除不受影響。目標為裸 `*` 或以 `/*` 或 `\*` 結尾的 `Remove-Item` 目標永遠不會到達分類器:Claude Code [直接拒絕它們](#remove-item-in-powershell)

392 400 

393Claude Code v2.1.257 及更新版本也預設阻止這些:401Claude Code v2.1.257 及更新版本也預設阻止這些:

394 402 

395* 從雲端實例中繼資料端點(例如 `169.254.169.254`)請求認證,或使用機器自己的服務帳戶或節點身份明確驗證雲端、叢集或登錄呼叫403* 從雲端實例中繼資料端點(例如 `169.254.169.254`)請求認證,或使用機器自己的服務帳戶或節點身份明確驗證雲端、叢集或登錄呼叫

396* 通過直接請求以外的路由到達公開主機,例如隧道、反向 shell 或重新寫入以指向外部的解析器或代理配置404* 通過直接請求以外的路由到達公開主機,例如隧道、反向 shell 或重新寫入以指向外部的解析器或代理配置

397* 讀取屬於主機而不是您的任務的認證,例如節點憑證或節點的容器登錄驗證405* 讀取屬於主機而不是您的任務的認證,例如節點憑證或節點的容器登錄驗證

398* 連接到或掃描 Claude 未啟動的同級容器、pod 或 VM,或容器下的節點406* 連接到或掃描 Claude 未啟動的同級容器、Pod 或 VM,或容器下的節點

399 407 

400如果 Claude Code 在允許其中之一的地方執行,請在 `autoMode.environment` 中的[主機包含條目](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中描述該設定。408如果 Claude Code 在允許其中之一的地方執行,請在 `autoMode.environment` 中的[主機包含條目](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure)中描述該設定。

401 409 

402Claude Code v2.1.261 及更新版本也預設阻止這些:410Claude Code v2.1.261 及更新版本也預設阻止這些:

403 411 

404* 在訊息、PR 或問題文本、文件或連結將被開啟或擷取的任何其他地方發佈或寫入公開貼上、圖表或資料共享服務的連結,當 URL 本身攜帶正在共享的內容時,除非您命名了該服務412* 在訊息、PR 或問題文本、文件或連結將被開啟或提取的任何其他地方發佈或寫入公開貼上、圖表或資料共享服務的連結,當 URL 本身攜帶正在共享的內容時,除非您命名了該服務

405 413 

406**預設允許**:414**預設允許**:

407 415 

408* 您工作目錄中的本地檔案操作416* 工作目錄中的本地檔案操作

409* 安裝在您的鎖定檔案或清單中聲明的依賴項417* 安裝在您的鎖定檔案或清單中聲明的依賴項

410* 讀取 `.env` 並將認證發送到其匹配的 API418* 讀取 `.env` 並將認證發送到其匹配的 API

411* 唯讀 HTTP 請求419* 唯讀 HTTP 請求

412* 推送到您正在處理的儲存庫的任何分支,包括預設分支。其名稱將其標記為部署或發佈目標的非預設分支,例如 `production` 或 `gh-pages`,不涵蓋:分類器根據其自己的條款判斷推送到那裡。推送的內容仍根據其他規則進行檢查,[`permissions.deny` 規則](/docs/zh-TW/permissions#manage-permissions)仍可以在每種模式中[按書寫](/docs/zh-TW/permissions#bash-rule-limits)阻止推送命令,遠端自己的分支保護仍適用。在 v2.1.211 之前,僅允許推送到您啟動的分支、Claude 建立的分支和到預設分支的例行推送,在 v2.1.203 之前任何直接推送到預設分支都被阻止420* 推送到您正在處理的儲存庫的任何分支,包括預設分支。其名稱將其標記為部署或發佈目標的非預設分支,例如 `production` 或 `gh-pages`,不涵蓋:分類器根據其自己的條款判斷推送到那裡。推送的內容仍根據其他規則進行檢查,[`permissions.deny` 規則](/docs/zh-TW/permissions#manage-permissions)仍可以在每種模式中[按書寫方式](/docs/zh-TW/permissions#bash-rule-limits)阻止推送命令,遠端自己的分支保護仍然適用。在 v2.1.211 之前,僅允許推送到您啟動的分支、Claude 建立的分支和到預設分支的例行推送,在 v2.1.203 之前任何直接推送到預設分支都被阻止

413 421 

414Claude Code v2.1.195 及更新版本也預設允許這些:422Claude Code v2.1.195 及更新版本也預設允許這些:

415 423 


419* 將資料發送到您在 [`environment`](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure) 中列出的受信任域、儲存桶和服務。這僅涵蓋資料流,不涵蓋同一基礎設施上的破壞性或認證操作427* 將資料發送到您在 [`environment`](/docs/zh-TW/auto-mode-config#define-trusted-infrastructure) 中列出的受信任域、儲存桶和服務。這僅涵蓋資料流,不涵蓋同一基礎設施上的破壞性或認證操作

420* [Chrome 中的 Claude](/docs/zh-TW/chrome)導航到受信任的內部域、localhost 或您命名的 URL428* [Chrome 中的 Claude](/docs/zh-TW/chrome)導航到受信任的內部域、localhost 或您命名的 URL

421 429 

422沙箱網路存取請求通過分類器路由,而不是預設允許。從 v2.1.198 開始,分類器重複使用其對網路主機和連接埠的判決,而不是在每次連接時重新執行:430沙箱命令預設不獲得網路存取。Claude 在命令本身上命名命令需要的主機,分類器與命令一起審查它們,批准的列表僅為該一個命令開啟這些主機。[每個命令允許的域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)涵蓋列表可以和不能開啟的內容以及命令到達未列出的主機時發生的情況。

423 431 

424* 允許被重複使用直到新內容進入對話,此時該主機再次被檢查432執行 `claude auto-mode defaults` 以將完整規則列表列印為 JSON。如果例行操作被阻止,管理員可以通過 `autoMode.environment` 設定添加受信任的儲存庫、儲存桶和服務:請參閱[配置自動模式](/docs/zh-TW/auto-mode-config)。

425* Claude Code v2.1.234 及更新版本重複使用由對話超出分類器上下文視窗引起的拒絕,直到新內容進入對話或直到[壓縮](/docs/zh-TW/costs#reduce-token-usage)縮小分類器讀取的內容。Claude Code 然後再次檢查主機

426* 分類器通過評估請求達到的拒絕在互動式 CLI 中持續該輪。在[非互動式模式](/docs/zh-TW/headless)和 Agent SDK 會話中,Claude Code 為其餘執行重複使用該拒絕,因為這些會話沒有輪邊界

427* 更改您的權限模式或規則會丟棄所有快取的判決

428 433 

429執行 `claude auto-mode defaults` 以 JSON 形式列印完整規則列表。如果例行操作被阻止,管理員可以通過 `autoMode.environment` 設定添加受信任的儲存庫、儲存桶和服務:請參閱[配置自動模式](/docs/zh-TW/auto-mode-config)。434推送到您正在處理的儲存庫的任何分支並建立與您的請求相符的拉取請求無需提示即可執行,除非推送或拉取請求屬於[阻止列表](#what-the-classifier-blocks-by-default),例如秘密或敏感資料離開儲存庫,或針對不同儲存庫或組織的拉取請求。要在保持自動模式的同時要求這些命令前的人類檢查點,請添加 `permissions.ask` 規則,這些規則與命令[按書寫方式](/docs/zh-TW/permissions#bash-rule-limits)相符:請參閱[常見邊界](/docs/zh-TW/auto-mode-config#common-boundaries)。

430 

431推送到您正在處理的儲存庫的任何分支並建立與您的請求匹配的拉取請求無需提示即可執行,除非推送或拉取請求屬於[阻止列表](#what-the-classifier-blocks-by-default),例如秘密或敏感資料離開儲存庫,或針對不同儲存庫或組織的拉取請求。要在保持自動模式的同時要求這些命令前的人類檢查點,請添加 `permissions.ask` 規則,這些規則與命令[按書寫](/docs/zh-TW/permissions#bash-rule-limits)匹配:請參閱[常見邊界](/docs/zh-TW/auto-mode-config#common-boundaries)。

432 435 

433<h3 id="first-read-outside-the-working-directories">436<h3 id="first-read-outside-the-working-directories">

434 工作目錄外的第一次讀取437 工作目錄外的第一次讀取

435</h3>438</h3>

436 439 

437當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 關閉時,檔案讀取在自動模式中無需提示即可執行,包括在[工作目錄](/docs/zh-TW/permissions#working-directories)外的讀取。Claude 第一次在它們外的路徑上使用 Read、Grep 或 Glob 工具時,Claude Code 會詢問您是否繼續允許這些讀取。440當 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 關閉時,檔案讀取在自動模式中無需提示即可執行,包括在[工作目錄](/docs/zh-TW/permissions#working-directories)外的讀取。Claude 第一次在工作目錄外的路徑上使用 Read、Grep 或 Glob 工具時,Claude Code 會詢問您是否繼續允許這些讀取。

438 441 

439提示不會出現在非互動式 `-p` 執行或背景會話中;那裡的讀取照常執行。442提示不會出現在非互動式 `-p` 執行或背景會話中;那裡的讀取照常執行。

440 443 

441無論您的答案如何,Claude 都會繼續工作:444無論您的答案如何,Claude 都會繼續工作:

442 445 

443* **繼續允許**:讀取執行,稍後對工作目錄外的讀取照常執行,Claude Code 記錄您的答案,以便提示不會再次出現446* **繼續允許**:讀取執行,工作目錄外的後續讀取照常執行,Claude Code 記錄您的答案,以便提示不會再次出現

444* **從現在開始阻止**:讀取被拒絕,Claude Code 在您的使用者設定中將 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 設定為 `true`,這使檔案工具在每個稍後的會話和每種權限模式中拒絕此類讀取。要稍後讓 Claude 讀取此類路徑,請使用 `/add-dir` 添加其目錄或移除設定。447* **從現在開始阻止**:讀取被拒絕,Claude Code 在您的使用者設定中將 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 設定為 `true`,這使檔案工具在每個後續會話和每種權限模式中拒絕此類讀取。要稍後讓 Claude 讀取此類路徑,請使用 `/add-dir` 添加其目錄或移除該設定。

445* **下次再問**:讀取被拒絕,下一次對工作目錄外的讀取再次提示448* **下次再問**:讀取被拒絕,下一次工作目錄外的讀取會再次提示

446 449 

447<h3 id="boundaries-you-state-in-conversation">450<h3 id="boundaries-you-state-in-conversation">

448 您在對話中陳述的邊界451 您在對話中陳述的邊界

449</h3>452</h3>

450 453 

451分類器將您在對話中陳述的邊界視為阻止信號。如果您告訴 Claude「不要推送」或「在我審查前等待再部署」,分類器會阻止匹配的操作,即使預設規則會允許它們。邊界保持有效直到您在稍後的訊息中解除它。Claude 自己的判斷條件已滿足不會解除它。454分類器將您在對話中陳述的邊界視為阻止信號。如果您告訴 Claude「不要推送」或「等待我審查後再部署」,分類器會阻止匹配的操作,即使預設規則會允許它們。邊界保持有效,直到您在後續訊息中解除它。Claude 自己的判斷條件已滿足不會解除它。

452 455 

453邊界不作為規則儲存。分類器在每次檢查時從文字記錄重新讀取它們,因此如果[上下文壓縮](/docs/zh-TW/costs#reduce-token-usage)移除陳述它的訊息,邊界可能會丟失。為了硬保證,請改為添加[拒絕規則](/docs/zh-TW/permissions#permission-rule-syntax)。456邊界不作為規則儲存。分類器在每次檢查時從文字記錄中重新讀取它們,因此如果[上下文壓縮](/docs/zh-TW/costs#reduce-token-usage)移除陳述邊界的訊息,邊界可能會丟失。為了獲得硬保證,請改為添加[拒絕規則](/docs/zh-TW/permissions#permission-rule-syntax)。

454 457 

455<h3 id="when-auto-mode-falls-back">458<h3 id="when-auto-mode-falls-back">

456 當自動模式回退時459 自動模式何時回退

457</h3>460</h3>

458 461 

459當自動模式無法批准您的會話操作時,發生的情況取決於情況:462當自動模式無法批准您的會話操作時,發生的情況取決於情況:

460 463 

461* **被阻止的操作**:Claude Code 顯示通知並在 `/permissions` 下的**最近拒絕**標籤中列出操作,您可以按 `r` 使用手動批准重試它。當分類器對操作[沒有判決](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時,因為獨立於自動模式的安全檢查拒絕了分類器自己的請求或其回應未解析,Claude Code 拒絕操作而沒有通知或**最近拒絕**條目。464* **被阻止的操作**:Claude Code 顯示通知並在 `/permissions` 下的 **Recently denied** 標籤中列出操作,您可以按 `r` 使用手動批准重試它。當分類器對操作[沒有產生判決](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時,因為自動模式之外的安全檢查拒絕了分類器自己的請求或其回應未解析,Claude Code 拒絕操作而不顯示通知或 **Recently denied** 條目。

462* **重複阻止**:如果分類器連續 3 次或總共 20 次阻止操作,自動模式暫停,Claude Code 恢復提示。批准提示的操作恢復自動模式。這些閾值不可配置。任何允許的操作重置連續計數器,而總計數器在會話中持續並僅在其自己的限制觸發回退時重置。當[獨立於自動模式的安全檢查拒絕分類器自己的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時,Claude Code 不計算拒絕到任一閾值;連結的條目涵蓋 Claude Code 如何處理這些拒絕。465* **重複阻止**:如果分類器連續 3 次或總共 20 次阻止操作,自動模式暫停,Claude Code 恢復提示。批准提示的操作會恢復自動模式。這些閾值不可配置。任何允許的操作重置連續計數器,而總計數器在會話中持續,僅在其自己的限制觸發回退時重置。當[自動模式之外的安全檢查拒絕分類器的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時,Claude Code 不計算拒絕到任一閾值;連結的條目涵蓋 Claude Code 如何處理這些拒絕。

463* **無法提示的會話**:沒有 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 的[非互動式](/docs/zh-TW/headless) `-p` 執行沒有回退提示。當重複阻止達到閾值時,操作不執行,Claude 繼續工作。當[獨立於自動模式的安全檢查拒絕分類器的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時也適用。Claude Code 在任一情況下都不停止執行。466* **無法提示的會話**:沒有 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 的[非互動式](/docs/zh-TW/headless) `-p` 執行沒有回退提示。當重複阻止達到閾值時,操作不執行,Claude 繼續工作。當[自動模式之外的安全檢查拒絕分類器的請求](/docs/zh-TW/errors#auto-mode-cannot-determine-the-safety-of-an-action)時也適用。Claude Code 在任一情況下都不停止執行。

464* **檢查期間的模式切換**:如果您在分類器檢查待決時切換權限模式,Claude Code 丟棄新模式不會請求的判決,而不是應用它:您改為被提示批准,或操作在 [`dontAsk` 模式](#allow-only-pre-approved-tools-with-dontask-mode)中自動拒絕。467* **檢查期間的模式切換**:如果您在分類器檢查待決時切換權限模式,Claude Code 會丟棄新模式不會請求的判決,而不是應用它:您會被提示批准,或在 [`dontAsk` 模式](#allow-only-pre-approved-tools-with-dontask-mode)中操作被自動拒絕。

465 468 

466重複阻止通常意味著分類器缺少關於您的基礎設施的上下文。使用 `/feedback` 報告誤報,或讓管理員[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。469重複阻止通常意味著分類器缺少關於您的基礎設施的上下文。使用 `/feedback` 報告誤報,或讓管理員[配置受信任的基礎設施](/docs/zh-TW/auto-mode-config)。

467 470 


471 <Accordion title="分類器如何評估操作">474 <Accordion title="分類器如何評估操作">

472 每個操作都經過固定的決策順序。第一個匹配的步驟獲勝:475 每個操作都經過固定的決策順序。第一個匹配的步驟獲勝:

473 476 

474 1. 與您的[允許、詢問或拒絕規則](/docs/zh-TW/permissions#manage-permissions)匹配的操作立即解決。寫入[受保護路徑](#protected-paths)的操作即使允許規則匹配也會路由到分類器,`rm` 和 `rmdir` 移除針對 Claude Code v2.1.218 及更新版本中的[關鍵路徑](#critical-paths)也會。標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使允許規則匹配也會直接提示您,連接器工具[您的組織設定為 `ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 在設定到達 Claude Code 的會話中也會。與命令內容匹配的詢問規則,例如 `Bash(git push *)`,回退到權限提示477 1. 與您的[允許、詢問或拒絕規則](/docs/zh-TW/permissions#manage-permissions)相符的操作立即解決,但以下例外:

475 2. 唯讀操作和您工作目錄中的檔案編輯自動批准,除了寫入[受保護路徑](#protected-paths)和[工作目錄外的第一次讀取](#first-read-outside-the-working-directories),這會提示您478 * 寫入[受保護路徑](#protected-paths)的操作即使允許規則相符也會路由到分類器,Claude Code v2.1.218 及更新版本中針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除操作也是如此

476 3. 其他所有內容都進入分類器。在步驟 1 中直接提示您的連接器工具和 `requiresUserInteraction` MCP 工具永遠不會到達分類器,因此既不是組織要求的批准也不是同意步驟自動批准479 * 標記為 [`requiresUserInteraction`](/docs/zh-TW/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使允許規則相符也會直接提示您,您的組織設定為 [`ask`](/docs/zh-TW/mcp#organization-controls-on-connector-tools) 的連接器工具在該設定到達 Claude Code 的會話中也是如此

477 4. 如果分類器阻止,Claude 收到原因並嘗試替代方案。在大多數會話中原因名稱分類器匹配的規則,例如 `[Data Exfiltration]`,而不是給出書面解釋;請參閱[審查拒絕](/docs/zh-TW/auto-mode-config#review-denials)480 * 攜帶[每個命令允許的域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)的 shell 命令即使允許規則相符也會路由到分類器,因為規則批准命令,而不是其主機

481 * 在命令內容上相符的詢問規則,例如 `Bash(git push *)`,回退到權限提示

482 2. 唯讀操作和工作目錄中的檔案編輯被自動批准,除了寫入[受保護路徑](#protected-paths)和[工作目錄外的第一次讀取](#first-read-outside-the-working-directories),這會提示您

483 3. 其他所有內容都進入分類器。在步驟 1 中直接提示您的連接器工具和` requiresUserInteraction` MCP 工具永遠不會到達分類器,因此組織要求的批准或同意步驟都不會被自動批准

484 4. 如果分類器阻止,Claude 收到原因並嘗試替代方案。在大多數會話中,原因命名分類器相符的規則,例如 `[Data Exfiltration]`,而不是給出書面解釋;請參閱[審查拒絕](/docs/zh-TW/auto-mode-config#review-denials)

478 485 

479 進入自動模式時,授予任意程式碼執行的廣泛允許規則被丟棄:486 進入自動模式時,授予任意程式碼執行的廣泛允許規則被丟棄:

480 487 

481 * 籠統的 `Bash(*)` 或 `PowerShell(*)`488 * 無限制 `Bash(*)` 或 `PowerShell(*)`

482 * 萬用字元解釋器,例如 `Bash(python*)`489 * 萬用字元解釋器,例如 `Bash(python*)`

483 * 套件管理器執行命令490 * 套件管理器執行命令

484 * `Agent` 允許規則491 * `Agent` 允許規則

485 * [`Monitor`](/docs/zh-TW/tools-reference#monitor-tool) 允許規則,因為 Claude Code 通過 shell 執行 Monitor 命令492 * [`Monitor`](/docs/zh-TW/tools-reference#monitor-tool) 允許規則,因為 Claude Code 通過 shell 執行 Monitor 命令

486 493 

487 窄規則,例如 `Bash(npm test)` 保持有效。Claude Code 在您離開自動模式時恢復丟棄的規則。在 v2.1.236 之前,Claude Code 在自動模式中保持 `Monitor` 允許規則有效,因此與整個工具匹配的規則批准 Monitor 命令而無需分類器審查。494 狹義規則,例如 `Bash(npm test)` 保持有效。Claude Code 在您離開自動模式時恢復丟棄的規則。在 v2.1.236 之前,Claude Code 在自動模式中保持 `Monitor` 允許規則有效,因此與整個工具相符的規則批准 Monitor 命令而不進行分類器審查。

488 495 

489 Claude Code 也在會丟棄未提交工作的命令前執行 `git status`,例如 `git reset --hard` 或 `rm -rf`,並向分類器顯示是否存在暫存、修改或未追蹤的工作。Claude Code 在該檢查中報告未追蹤的檔案,即使儲存庫的 git 配置設定 `status.showUntrackedFiles=no`。496 Claude Code 也在會丟棄未提交工作的命令前執行 `git status`,例如 `git reset --hard` 或 `rm -rf`,並向分類器顯示是否存在暫存、修改或未追蹤的工作。Claude Code 在該檢查中報告未追蹤的檔案,即使儲存庫的 git 配置設定 `status.showUntrackedFiles=no`。

490 497 

491 分類器看到使用者訊息、除讀取專用查詢(例如檔案讀取和搜尋)外的工具呼叫,以及您的 CLAUDE.md 內容。工具結果被剝離,因此檔案或網頁中的惡意內容無法直接操縱它。您可以使用 [PostToolUse hook 的 `classifierContext` 欄位](/docs/zh-TW/hooks#annotate-a-result-for-the-auto-mode-classifier)註解呼叫的結果,分類器將其讀取為應用程式提供的上下文。498 在 Claude Code 本身發送的分類器請求中,分類器看到使用者訊息、除唯讀查詢(例如檔案讀取和搜尋)之外的工具呼叫,以及您的 CLAUDE.md 內容。工具結果從這些請求中被剝離,因此檔案或網頁中的惡意內容無法直接操縱分類器。

499 

500 您可以使用 [PostToolUse hook 的 `classifierContext` 欄位](/docs/zh-TW/hooks#annotate-a-result-for-the-auto-mode-classifier)註解呼叫的結果,分類器將其讀取為應用程式提供的上下文。該欄位需要 Claude Code v2.1.236 或更新版本。

492 501 

493 獨立的伺服器端探針掃描傳入的工具結果並在 Claude 讀取前標記可疑內容。有關這些層如何協同工作的更多資訊,請參閱[自動模式公告](https://claude.com/blog/auto-mode)和[工程深入探討](https://www.anthropic.com/engineering/claude-code-auto-mode)。502 單獨的伺服器端探針掃描傳入的工具結果並在 Claude 讀取之前標記可疑內容。有關這些層如何協同工作的更多資訊,請參閱[自動模式公告](https://claude.com/blog/auto-mode)和[工程深入探討](https://www.anthropic.com/engineering/claude-code-auto-mode)。

494 </Accordion>503 </Accordion>

495 504 

496 <Accordion title="自動模式如何處理子代理">505 <Accordion title="自動模式如何處理子代理">

497 分類器在三個點檢查[子代理](/docs/zh-TW/sub-agents)工作:506 分類器在三個點檢查[子代理](/docs/zh-TW/sub-agents)工作:

498 507 

499 1. 在子代理啟動前,委派的任務描述被評估,因此危險看起來的任務在生成時被阻止。508 1. 在子代理啟動前,委派的任務描述被評估,因此危險看起來的任務在生成時被阻止。

500 2. 當子代理執行時,其每個操作都通過分類器進行,使用與父會話相同的規則,子代理前置事項中的任何 `permissionMode` 都被忽略。509 2. 當子代理執行時,其每個操作都通過分類器,使用與父會話相同的規則,子代理的 frontmatter 中的任何 `permissionMode` 都被忽略。

501 3. 當子代理完成時,分類器審查其完整操作歷史;如果該返回檢查標記了關注,安全警告被前置到子代理的結果。當獨立的 API 安全檢查拒絕審查請求本身時,Claude Code 仍返回子代理的結果,前置警告該工作未審查並應被視為不受信任。510 3. 當子代理完成時,分類器審查其工作和最終報告,然後父代讀取報告。當分類器標記子代理的工作或報告,或單獨的 API 安全檢查拒絕審查時,報告仍被傳遞,前面加上安全警告。當分類器不可用於審查時,報告到達時帶有驗證子代理工作後再根據其採取行動的說明。

502 511 

503 步驟 1 需要 Claude Code v2.1.178 或更新版本。較早的版本在步驟 2 和 3 應用分類器,但在子代理啟動前未評估任務描述。512 步驟 1 需要 Claude Code v2.1.178 或更新版本。較早的版本在步驟 2 和 3 應用分類器,但在子代理啟動前未評估任務描述。

504 </Accordion>513 </Accordion>

505 514 

506 <Accordion title="成本和延遲">515 <Accordion title="成本和延遲">

507 分類器預設在 Claude Sonnet 5 上執行,而不是在您的 `/model` 選擇上。Anthropic 在伺服器端配置的分類器模型優先於該預設。當您的會話模型是 Claude Sonnet 4.6 或當 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 排除 Sonnet 5 時,分類器改為在會話的模型上執行,或在會話在[Fable 模型](/docs/zh-TW/model-config#work-with-fable)上執行時在 Opus 模型上執行;在 Anthropic API 以外的提供者上,該 Opus 回退是提供者的預設 Opus 模型。516 分類器預設在 Claude Sonnet 5 上執行,而不是在您的 `/model` 選擇上。Anthropic 配置的伺服器端分類器模型優先於該預設。當您的會話模型是 Claude Sonnet 4.6,或當 [`availableModels`](/docs/zh-TW/model-config#restrict-model-selection) 排除 Sonnet 5 時,分類器改為在會話的模型上執行,或當會話在[Fable 模型](/docs/zh-TW/model-config#work-with-fable)上執行時在 Opus 模型上執行;在 Anthropic API 以外的提供者上,該 Opus 回退是提供者的預設 Opus 模型。

508 517 

509 會話的第一個自動模式請求驗證 Sonnet 5 預設:如果請求成功,Sonnet 5 保持會話的分類器模型,如果它因模型不可用而失敗,會話改為使用回退。在該驗證解決後,分類器的模型在會話中不會改變。518 會話的第一個自動模式請求驗證 Sonnet 5 預設:如果請求成功,Sonnet 5 保持會話的分類器模型,如果它失敗是因為模型不可用,會話改為使用回退。在該驗證解決後,分類器的模型在會話中不會改變。

510 519 

511 在 Enterprise 方案和使用 Claude API、[AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws)、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的帳戶上,分類器呼叫計入您的令牌使用。每次檢查發送文字記錄的一部分加上待決操作,在執行前添加往返。讀取和工作目錄編輯在受保護路徑外跳過分類器,因此開銷主要來自 shell 命令和網路操作。520 在 Enterprise 方案和使用 Claude API、[AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws)、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的帳戶上,分類器呼叫計入您的令牌使用。每次檢查發送文字記錄的一部分加上待決操作,在執行前添加往返。工作目錄外的讀取和受保護路徑外的編輯跳過分類器,因此開銷主要來自 shell 命令和網路操作。在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,您可以將審查移至會話的模型請求中;請參閱[伺服器端分類器審查](#server-side-classifier-review)。

512 521 

513 分類器重複使用沙箱網路判決用於主機和連接埠,因此重複連接到同一主機不會各自添加檢查。[分類器預設阻止的內容](#what-the-classifier-blocks-by-default)描述允許和拒絕持續多長時間。522 沙箱網路存取不添加每個連接分類器請求。分類器與命令一起判斷[命令命名的主機](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode),Claude Code 根據批准的列表檢查每個連接而不再次呼叫分類器。

514 </Accordion>523 </Accordion>

515</AccordionGroup>524</AccordionGroup>

516 525 


545* 針對超出此機器的工作階段訊息的 [`isolatePeerMachines`](/docs/zh-TW/settings-reference#isolatepeermachines) 核准提示仍會出現。554* 針對超出此機器的工作階段訊息的 [`isolatePeerMachines`](/docs/zh-TW/settings-reference#isolatepeermachines) 核准提示仍會出現。

546* 當沒有 [`crossSessionInbound`](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 值適用時,Claude Code 會保留來自您另一個工作階段的入站訊息以供您核准,只有當傳送工作階段識別自己也在略過權限提示時才會無需詢問即傳遞。如果您在保留訊息時離開權限模式,Claude Code 會重新套用入站規則,並傳遞任何現在接受的保留訊息。555* 當沒有 [`crossSessionInbound`](/docs/zh-TW/cross-session-messaging#control-inbound-messages) 值適用時,Claude Code 會保留來自您另一個工作階段的入站訊息以供您核准,只有當傳送工作階段識別自己也在略過權限提示時才會無需詢問即傳遞。如果您在保留訊息時離開權限模式,Claude Code 會重新套用入站規則,並傳遞任何現在接受的保留訊息。

547 556 

548在有可用略過權限的工作階段中,Claude Code 也不會強制執行[計畫模式的](#analyze-before-you-edit-with-plan-mode)區塊。Claude 仍被指示在計畫時不進行編輯,但它在計畫期間嘗試的任何檔案編輯或 shell 命令都會無需提示即執行。明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)和針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除仍會提示。557在有可用略過權限的互動式終端工作階段中,Claude Code 也不會強制執行[計畫模式的](#analyze-before-you-edit-with-plan-mode)區塊。Claude 仍被指示在計畫時不進行編輯,但它在計畫期間嘗試的任何檔案編輯或 shell 命令都會無需提示即執行。明確的[詢問規則](/docs/zh-TW/permissions#manage-permissions)和針對[關鍵路徑](#critical-paths)的 `rm` 和 `rmdir` 移除仍會提示。

558 

559計畫模式在 Claude Code 執行時沒有互動式終端的任何地方都保持其區塊,包括使用 `-p` 的[非互動式執行](/docs/zh-TW/headless)、[Agent SDK](/docs/zh-TW/agent-sdk/permissions#plan-mode-plan) 工作階段,以及 [VS Code 擴充功能](/docs/zh-TW/vs-code)的聊天面板中的對話。在那裡,`--allow-dangerously-skip-permissions` 使 `bypassPermissions` 稍後可選。

549 560 

550<Warning>561<Warning>

551 只在隔離環境(如容器、虛擬機或沒有網際網路存取的開發容器)中使用此模式,其中 Claude Code 無法損害您的主機系統。562 只在隔離環境(如容器、虛擬機或沒有網際網路存取的開發容器)中使用此模式,其中 Claude Code 無法損害您的主機系統。


581 受保護的路徑592 受保護的路徑

582</h2>593</h2>

583 594 

584對於一小組路徑的寫入操作永遠不會自動批准,唯一的例外是 `bypassPermissions` 模式,以及可使用[略過權限](#skip-all-checks-with-bypasspermissions-mode)的計畫模式工作階段。這可以防止意外損壞儲存庫狀態和 Claude 自身的設定。595對於一小組路徑的寫入操作永遠不會自動批准,唯一的例外是 `bypassPermissions` 模式,以及可使用[略過權限](#skip-all-checks-with-bypasspermissions-mode)的計畫模式互動式終端工作階段。這可以防止意外損壞儲存庫狀態和 Claude 自身的設定。

585 596 

586| 模式 | 受保護路徑寫入 |597| 模式 | 受保護路徑寫入 |

587| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |598| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

588| `default`、`acceptEdits` | 提示 |599| `default`、`acceptEdits` | 提示 |

589| `plan` | 在[略過權限](#skip-all-checks-with-bypasspermissions-mode)可用的工作階段中允許。否則,當[自動模式](#eliminate-prompts-with-auto-mode)在規劃期間可用時路由到分類器,當它不可用時提示 |600| `plan` | 在[略過權限](#skip-all-checks-with-bypasspermissions-mode)可用的互動式終端工作階段中允許。否則,當[自動模式](#eliminate-prompts-with-auto-mode)在規劃期間可用時路由到分類器,當它不可用時提示 |

590| `auto` | 路由至分類器 |601| `auto` | 路由至分類器 |

591| `dontAsk` | 拒絕 |602| `dontAsk` | 拒絕 |

592| `bypassPermissions` | 允許 |603| `bypassPermissions` | 允許 |


649 660 

650Claude Code 也將直接在 shell 變數下的 glob 或尾部斜線視為關鍵路徑移除,例如 `rm -rf "$DIR"/*`,因為當變數為空時命令變成從檔案系統根目錄的移除。661Claude Code 也將直接在 shell 變數下的 glob 或尾部斜線視為關鍵路徑移除,例如 `rm -rf "$DIR"/*`,因為當變數為空時命令變成從檔案系統根目錄的移除。

651 662 

652使用 `$(...)` 或反引號隱藏移除在命令替換內,或使用 `<(...)` 的程序替換,不會跳過檢查。Claude Code 找到關鍵路徑移除,無論它位於替換內部(如 `echo "$(rm -rf ~)"`),還是位於同一命令中的其他地方。663使用 `(...)` 的子殼層、使用 `{ ...; }` 的大括號群組、使用 `$(...)` 或反引號的命令替換,或使用 `<(...)` 的程序替換隱藏移除,不會跳過檢查。Claude Code 找到關鍵路徑移除,無論它位於巢狀形式內部(如 `(rm -rf ~)` 或 `echo "$(rm -rf ~)"`),還是位於同一命令中的其他地方。

653 664 

654<h3 id="remove-item-in-powershell">665<h3 id="remove-item-in-powershell">

655 PowerShell 中的 Remove-Item666 PowerShell 中的 Remove-Item

permissions.md +16 −3

Details

333 333 

334沒有檔案的目標不會被檢查:`/dev/null`、檔案描述符形式如 `2>&1` 和 `<&3`,以及 here-docs 和 here-strings。334沒有檔案的目標不會被檢查:`/dev/null`、檔案描述符形式如 `2>&1` 和 `<&3`,以及 here-docs 和 here-strings。

335 335 

336Claude Code 也會檢查 `tee` 命令寫入的檔案,包括在管道中如 `make | tee build.log`。檢查涵蓋您的 `Edit` 允許和 deny 規則、[受保護的路徑](/docs/zh-TW/permission-modes#protected-paths)和[工作目錄](#working-directories)。像 `Bash(tee *)` 這樣的允許規則不涵蓋工作目錄外的目標。Claude Code 在 v2.1.269 及更新版本中檢查 `tee` 目標。

337 

336<h3 id="powershell">338<h3 id="powershell">

337 PowerShell339 PowerShell

338</h3>340</h3>


370Claude Code 僅根據 `Edit(path)` 和 `Read(path)` 規則檢查檔案權限。如果您改為為 `Write`、`NotebookEdit`、`Glob` 或舊版 `MultiEdit` 工具編寫路徑規則,Claude Code 會接受規則但永遠不會查詢它,並在啟動時[發出警告](/docs/zh-TW/errors#is-not-matched-by-file-permission-checks),除了在 `--allowedTools` 中傳遞的 `Glob` 規則。使用 `Edit(docs/**)` 代替 `Write(docs/**)`、`NotebookEdit(docs/**)` 或 `MultiEdit(docs/**)`,以及 `Read(docs/**)` 代替 `Glob(docs/**)`。Claude Code 不會警告沒有路徑的工具名稱規則,如 `Write` 的 deny 規則;它在任何地方都符合該規則。需要 Claude Code v2.1.210 或更新版本。372Claude Code 僅根據 `Edit(path)` 和 `Read(path)` 規則檢查檔案權限。如果您改為為 `Write`、`NotebookEdit`、`Glob` 或舊版 `MultiEdit` 工具編寫路徑規則,Claude Code 會接受規則但永遠不會查詢它,並在啟動時[發出警告](/docs/zh-TW/errors#is-not-matched-by-file-permission-checks),除了在 `--allowedTools` 中傳遞的 `Glob` 規則。使用 `Edit(docs/**)` 代替 `Write(docs/**)`、`NotebookEdit(docs/**)` 或 `MultiEdit(docs/**)`,以及 `Read(docs/**)` 代替 `Glob(docs/**)`。Claude Code 不會警告沒有路徑的工具名稱規則,如 `Write` 的 deny 規則;它在任何地方都符合該規則。需要 Claude Code v2.1.210 或更新版本。

371 373 

372<Warning>374<Warning>

373 Read 和 Edit deny 規則適用於 Claude 的內建檔案工具、Claude Code 在 Bash 中識別的檔案命令(如 `cat`、`head`、`tail` 和 `sed`)以及 Bash [重新導向](#redirections)的目標(如 `> file` 和 `< file`)。它們不適用於讀取檔案而不命名它們的命令,如從保存檔案的目錄執行的 `grep -r pattern .`,或間接讀取或寫入檔案的任意子程序,如自行開啟檔案的 Python 或 Node 指令碼。為了進行作業系統級別的強制執行,以阻止所有程序存取路徑,請[啟用沙箱](/docs/zh-TW/sandboxing)。375 Read 和 Edit deny 規則適用於 Claude 的內建檔案工具、Claude Code 在 Bash 中識別的檔案命令(如 `cat`、`head`、`tail`、`sed` 和 `tee`)以及 Bash [重新導向](#redirections)的目標(如 `> file` 和 `< file`)。它們不適用於讀取檔案而不命名它們的命令,如從保存檔案的目錄執行的 `grep -r pattern .`,或間接讀取或寫入檔案的任意子程序,如自行開啟檔案的 Python 或 Node 指令碼。為了進行作業系統級別的強制執行,以阻止所有程序存取路徑,請[啟用沙箱](/docs/zh-TW/sandboxing)。

374</Warning>376</Warning>

375 377 

376Read 和 Edit 規則都使用 [gitignore](https://git-scm.com/docs/gitignore) 模式語法,具有四種不同的模式類型;對於單一段目錄模式,符合深度也取決於規則類型,稍後在本節中描述:378Read 和 Edit 規則都使用 [gitignore](https://git-scm.com/docs/gitignore) 模式語法,具有四種不同的模式類型;對於單一段目錄模式,符合深度也取決於規則類型,稍後在本節中描述:


454 456 

455其路徑不可用作 gitignore 模式的 deny 或 ask 規則仍然保護該確切路徑。具有不可用模式的允許規則不會批准任何內容。457其路徑不可用作 gitignore 模式的 deny 或 ask 規則仍然保護該確切路徑。具有不可用模式的允許規則不會批准任何內容。

456 458 

459一個 deny 或 ask 規則,其路徑以 `!` 開頭,是一個 gitignore 否定。它從其前面列出的 `path` 或 `./path` 規則中切割出它符合的路徑。在一個設定檔案的 `deny` 清單中,`Read(*.env)` 後跟 `Read(!sample.env)` 會阻止名稱以 `.env` 結尾的每個檔案在任何深度,除了名為 `sample.env` 的檔案。首先列出的 `!` 規則不切割任何內容。

460 

461切割出的內容僅到達來自相同來源的規則。專案設定或 `--disallowedTools` 中的 `Read(!.env)` 不會取消來自受管理設定或任何其他設定檔案的 `Read(./.env)` deny。

462 

463兩個限制縮小了 `!` 模式可以切割出的內容:

464 

465* Claude Code 讀取 `!` 模式相對於目前目錄,即使 `/`、`~/` 或 `//` 跟隨 `!`,所以模式無法到達以其中一個前綴錨定的規則。`Read(!~/notes/public/**)` 不切割 `Read(~/notes/**)` 中的任何內容。

466* 切割出無法重新開啟規則整體阻止的目錄內的檔案。使用 `Read(secrets/**)` 和 `Read(!secrets/public/**)`,Claude Code 仍然阻止 `secrets/public` 以及 `secrets` 的其餘部分。

467 

457當 Claude 存取符號連結時,權限規則檢查兩個路徑:符號連結本身和它解析到的檔案。Allow 和 deny 規則對該對的處理方式不同:allow 規則回退到提示您,而 deny 規則直接阻止。468當 Claude 存取符號連結時,權限規則檢查兩個路徑:符號連結本身和它解析到的檔案。Allow 和 deny 規則對該對的處理方式不同:allow 規則回退到提示您,而 deny 規則直接阻止。

458 469 

459* **允許規則**:僅在符號連結路徑及其目標都符合時適用。允許目錄內的符號連結指向外部仍會提示您。470* **允許規則**:僅在符號連結路徑及其目標都符合時適用。允許目錄內的符號連結指向外部仍會提示您。


506}517}

507```518```

508 519 

509當您要求 Claude 擷取頁面時,它無需提示即可擷取。當您要求它針對沙箱允許清單外的主機執行[沙箱](/docs/zh-TW/sandboxing) `curl` 時,Claude Code 仍然會提示您該主機,或在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中將請求傳送到分類器,因為裸規則未將主機新增到允許清單。520當您要求 Claude 擷取頁面時,它無需提示即可擷取。當您要求它針對沙箱允許清單外的主機執行[沙箱](/docs/zh-TW/sandboxing) `curl` 時,Claude Code 仍然會提示您該主機,因為裸規則未將主機新增到允許清單。

521 

522在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中,Claude 改為在命令的[每個命令允許的網域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)中命名主機供分類器檢查。

510 523 

511<h3 id="mcp">524<h3 id="mcp">

512 MCP525 MCP


646權限和 [sandboxing](/docs/zh-TW/sandboxing) 是互補的安全層:659權限和 [sandboxing](/docs/zh-TW/sandboxing) 是互補的安全層:

647 660 

648* **權限**控制 Claude Code 可以使用哪些工具以及它可以存取哪些檔案或網域。它們適用於 Bash、Read、Edit、WebFetch、MCP 和其他所有工具,除了 deny 或 ask 規則無法阻止 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。661* **權限**控制 Claude Code 可以使用哪些工具以及它可以存取哪些檔案或網域。它們適用於 Bash、Read、Edit、WebFetch、MCP 和其他所有工具,除了 deny 或 ask 規則無法阻止 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。

649* **沙箱**提供作業系統級別的強制執行,限制 Bash 工具的檔案系統和網路存取。它僅適用於 Bash 命令及其子程序。662* **沙箱**提供作業系統級別的強制執行,限制 shell 命令的檔案系統和網路存取。它僅適用於 Bash、PowerShell 和 [Monitor](/docs/zh-TW/tools-reference#monitor-tool) 命令及其子程序。

650 663 

651使用兩者進行深度防禦,因為即使提示注入繞過 Claude 的決策制定,沙箱限制仍然適用。來自沙箱設定和權限規則的路徑和網域會 [合併到最終沙箱設定](/docs/zh-TW/sandboxing#permission-rules)。664使用兩者進行深度防禦,因為即使提示注入繞過 Claude 的決策制定,沙箱限制仍然適用。來自沙箱設定和權限規則的路徑和網域會 [合併到最終沙箱設定](/docs/zh-TW/sandboxing#permission-rules)。

652 665 

platforms.md +2 −1

Details

73* [Desktop](/docs/zh-TW/desktop):視覺 diff 審查、並行會話、電腦使用和 Dispatch73* [Desktop](/docs/zh-TW/desktop):視覺 diff 審查、並行會話、電腦使用和 Dispatch

74* [VS Code](/docs/zh-TW/vs-code):編輯器內的 Claude Code 擴充功能74* [VS Code](/docs/zh-TW/vs-code):編輯器內的 Claude Code 擴充功能

75* [JetBrains](/docs/zh-TW/jetbrains):IntelliJ、PyCharm 和其他 JetBrains IDE 的擴充功能75* [JetBrains](/docs/zh-TW/jetbrains):IntelliJ、PyCharm 和其他 JetBrains IDE 的擴充功能

76* [Web 上的 Claude Code](/docs/zh-TW/claude-code-on-the-web):在您斷開連接時繼續執行的雲端會話76* [Web](/docs/zh-TW/claude-code-on-the-web):在您斷開連接時繼續執行的雲端會話,位於 claude.ai/code

77* [Projects](/docs/zh-TW/claude-projects):一個對話,Claude 在其中協調許多雲端會話以完成一項工作並回報結果

77* [Mobile](/docs/zh-TW/mobile):用於在遠離電腦時啟動和監控任務的 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 版 Claude 應用程式78* [Mobile](/docs/zh-TW/mobile):用於在遠離電腦時啟動和監控任務的 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 版 Claude 應用程式

78 79 

79<h3 id="integrations">80<h3 id="integrations">

Details

41}41}

42```42```

43 43 

44一個條目可以是只包含 plugin 名稱的純字符串,如上例中的 `"audit-logger"`,它依賴於該 plugin 的 marketplace 提供的任何版本。為了獲得更多控制,請使用具有以下欄位的物件:44一個條目可以是只包含 plugin 名稱的純字符串,如 `"audit-logger"` 在 `deploy-kit` manifest 中,它依賴於該 plugin 的 marketplace 提供的任何版本。為了獲得更多控制,請使用具有以下欄位的物件:

45 45 

46| 欄位 | 類型 | 描述 |46| 欄位 | 類型 | 描述 |

47| :------------ | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------ | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


75 75 

76安裝 `backend-standard` 會解析並安裝所有四個依賴項。76安裝 `backend-standard` 會解析並安裝所有四個依賴項。

77 77 

78若要稍後將工具新增至標準集,請發佈新的 `backend-standard` 版本並包含額外的依賴項。對於非 Anthropic 市場,自動更新預設為關閉,因此工程師可以透過以下兩種方式之一取得新版本:78若要稍後將工具新增至標準集,請發佈新的 `backend-standard` 版本並包含額外的依賴項。除非市場[自動更新](/docs/zh-TW/discover-plugins#configure-auto-updates),工程師可以透過以下兩種方式之一取得新版本:

79 79 

80* 在 `/plugin` 中為市場啟用自動更新。下一次自動更新會將組合移至新版本並安裝它新增的任何依賴項。80* 在 `/plugin` 中為市場啟用自動更新。下一次自動更新會將組合移至新版本並安裝它新增的任何依賴項。

81* 執行 `claude plugin update backend-standard`,然後執行 `/reload-plugins` 以安裝新增的依賴項。81* 執行 `claude plugin update backend-standard`,然後執行 `/reload-plugins` 以安裝新增的依賴項。

Details

167</h3>167</h3>

168 168 

169| 欄位 | 類型 | 描述 | 範例 |169| 欄位 | 類型 | 描述 | 範例 |

170| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------- |170| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------- |

171| `name` | string | Marketplace 識別碼(kebab-case,無空格、控制字元或雙向格式化字元)。這是公開的:使用者在安裝 plugin 時會看到它(例如,`/plugin install my-tool@your-marketplace`)。每個使用者只能為每個名稱註冊一個 marketplace:新增第二個同名 marketplace 會取代第一個。若要在一個 marketplace 名稱下發佈多個 plugin,請在[單一 `marketplace.json`](#create-the-marketplace-file) 中列出它們全部。 | `"acme-tools"` |171| `name` | string | Marketplace 識別碼(kebab-case,無空格、控制字元或雙向格式化字元)。這是公開的:使用者在安裝 plugin 時會看到它(例如,`/plugin install my-tool@your-marketplace`)。每個使用者只能為每個名稱註冊一個 marketplace:新增第二個同名 marketplace 會取代第一個。若要在一個 marketplace 名稱下發佈多個 plugin,請在[單一 `marketplace.json`](#create-the-marketplace-file) 中列出它們全部。 | `"acme-tools"` |

172| `owner` | object | Marketplace 維護者資訊([請參閱下面的欄位](#owner-fields)) | |172| `owner` | object | Marketplace 維護者資訊。請參閱 [Owner 欄位](#owner-fields) | |

173| `plugins` | array | 可用 plugin 的清單 | 請參閱下面 |173| `plugins` | array | 可用 plugin 的清單 | 請參閱 [Plugin 項目](#plugin-entries) |

174 174 

175<Note>175<Note>

176 **保留名稱**:以下 marketplace 名稱保留供 Anthropic 官方使用,第三方 marketplace 無法使用:`claude-code-marketplace`、`claude-code-plugins`、`claude-plugins-official`、`claude-plugins-community`、`claude-community`、`anthropic-marketplace`、`anthropic-plugins`、`agent-skills`、`anthropic-agent-skills`、`knowledge-work-plugins`、`life-sciences`、`claude-for-legal`、`claude-for-financial-services`、`financial-services-plugins`、`first-party-plugins`、`claude-tag-plugins`、`healthcare`。模仿官方 marketplace 的名稱(如 `official-claude-plugins` 或 `anthropic-plugins-v2`)也被阻止。保留這些名稱可防止第三方 marketplace 將自己冒充為 Anthropic 發佈的來源。176 **保留名稱**:以下 marketplace 名稱保留供 Anthropic 官方使用,第三方 marketplace 無法使用:`claude-code-marketplace`、`claude-code-plugins`、`claude-plugins-official`、`claude-plugins-community`、`claude-community`、`anthropic-marketplace`、`anthropic-plugins`、`agent-skills`、`anthropic-agent-skills`、`knowledge-work-plugins`、`life-sciences`、`claude-for-legal`、`claude-for-financial-services`、`financial-services-plugins`、`first-party-plugins`、`claude-tag-plugins`、`healthcare`。模仿官方 marketplace 的名稱(如 `official-claude-plugins` 或 `anthropic-plugins-v2`)也被阻止。保留這些名稱可防止第三方 marketplace 將自己冒充為 Anthropic 發佈的來源。


612 使用者如何接受 headersHelper 命令612 使用者如何接受 headersHelper 命令

613</h4>613</h4>

614 614 

615使用者每次從 plugin 的自己的檢視在 `/plugin` 或使用 `claude plugin install` 或 `claude plugin update` 自行安裝或更新該一個 plugin 時接受 plugin 項目的命令。Claude Code 顯示命令和封存 URL,並僅在使用者接受後執行命令。在非互動式 shell 中,傳遞 [`--yes`](/docs/zh-TW/plugins-reference#plugin-install) 以接受它。615使用者每次從 plugin 的自己的檢視在 `/plugin` 或使用 `claude plugin install` 或 `claude plugin update` 自行安裝或更新該一個 plugin 時接受 plugin 項目的命令。Claude Code 顯示命令和封存 URL,並僅在使用者接受後執行命令。

616 

617在非互動式 shell 中,傳遞 [`--yes`](/docs/zh-TW/plugins-reference#plugin-install) 以接受命令。若要接受只有先前 `--json` 執行顯示的命令,傳遞 [`--accept-command`](/docs/zh-TW/plugins-reference#plugin-install) 與執行報告的 `sha256`。

616 618 

617Claude Code 只執行它顯示的命令,用於它顯示的封存 URL。如果項目的命令或封存 URL 在中間變更,Claude Code 拒絕安裝或更新。查詢字串中的變更單獨不計算。619Claude Code 只執行它顯示的命令,用於它顯示的封存 URL。如果項目的命令或封存 URL 在中間變更,Claude Code 拒絕安裝或更新。查詢字串中的變更單獨不計算。

618 620 


693 695 

694Claude Code 在使用者的機器上執行您的命令,因此它將每次執行繫結到使用者的明確接受:696Claude Code 在使用者的機器上執行您的命令,因此它將每次執行繫結到使用者的明確接受:

695 697 

696* 當使用者從 `/plugin` 中的其詳細資訊畫面安裝 plugin,或在互動式終端中使用 `claude plugin install` 或 `claude plugin update` 安裝或更新它時,Claude Code 首先向他們顯示確切的命令字串,並記錄該安裝的已接受命令。可以在相同命令的已記錄接受上進行的 `claude plugin update` 不顯示任何內容。在非互動式 shell 中,例如佈建指令碼,傳遞 `--yes` 到 `claude plugin install` 或 `claude plugin update` 以接受它列印的命令。698* 當使用者從 `/plugin` 中的其詳細資訊畫面安裝 plugin,或在互動式終端中使用 `claude plugin install` 或 `claude plugin update` 安裝或更新它時,Claude Code 首先向他們顯示確切的命令字串,並記錄該安裝的已接受命令。可以在相同命令的已記錄接受上進行的 `claude plugin update` 不顯示任何內容。

699* 在非互動式 shell 中,例如佈建指令碼,傳遞 `--yes` 到 `claude plugin install` 或 `claude plugin update` 以接受它列印的命令。若要接受只有先前 `--json` 執行顯示的命令,傳遞 [`--accept-command`](/docs/zh-TW/plugins-reference#plugin-install) 與執行報告的 `sha256`。

697* 每條其他路徑只執行使用者已接受的命令。這包括從 `/plugin` 啟動的更新以及[Claude Code 何時重新執行命令](#when-claude-code-re-runs-the-command)中描述的背景執行。當未接受任何內容時,Claude Code 拒絕執行命令並告訴使用者如何檢查它。Claude Code 從不將 command 來源的 plugin 安裝為另一個 plugin 的相依性,因此使用者自行先安裝它。700* 每條其他路徑只執行使用者已接受的命令。這包括從 `/plugin` 啟動的更新以及[Claude Code 何時重新執行命令](#when-claude-code-re-runs-the-command)中描述的背景執行。當未接受任何內容時,Claude Code 拒絕執行命令並告訴使用者如何檢查它。Claude Code 從不將 command 來源的 plugin 安裝為另一個 plugin 的相依性,因此使用者自行先安裝它。

698* 如果您變更項目的 `command` 或切換其 `mode`,使用者保留他們已有的版本,Claude Code 停止重新執行命令。在互動式工作階段中,`/plugin` 錯誤標籤顯示新命令,直到使用者透過執行 `claude plugin update <plugin>@<marketplace>` 檢查並接受它。701* 如果您變更項目的 `command` 或切換其 `mode`,使用者保留他們已有的版本,Claude Code 停止重新執行命令。在互動式工作階段中,`/plugin` 錯誤標籤顯示新命令,直到使用者透過執行 `claude plugin update <plugin>@<marketplace>` 檢查並接受它。

699 702 


836 私人儲存庫839 私人儲存庫

837</h3>840</h3>

838 841 

839Claude Code 支援從私人儲存庫安裝 plugin。如果您改為透過[**組織設定 > Plugins**](https://claude.ai/admin-settings/plugins)分發您的 marketplace,您的 git 認證不涉及其中:組織同步透過 Claude GitHub App 或您組織的 GitHub Enterprise App 讀取 marketplace 儲存庫,而 plugin 來源若無法驗證則必須是公開的。請參閱[透過組織設定分發](#distribute-through-organization-settings)以了解完整規則。842Claude Code 支援從私人儲存庫安裝 plugin。如果您改為透過[**組織設定 > Plugins**](https://claude.ai/admin-settings/plugins)分發您的 marketplace,您的 git 認證不涉及其中:組織同步透過您組織在 claude.ai 上的 GitHub 或 GitLab 連線讀取 marketplace 儲存庫。請參閱[透過組織設定分發](#distribute-through-organization-settings)以了解哪些 plugin 來源可以是私人的。

840 843 

841<h4 id="commands-you-run">844<h4 id="commands-you-run">

842 您執行的命令845 您執行的命令


885 888 

886如果您在 Team 或 Enterprise 方案上透過[**組織設定 > Plugins**](https://claude.ai/admin-settings/plugins)分發 plugin,這些來源規則適用:889如果您在 Team 或 Enterprise 方案上透過[**組織設定 > Plugins**](https://claude.ai/admin-settings/plugins)分發 plugin,這些來源規則適用:

887 890 

888* marketplace 儲存庫必須是私人或內部的。組織同步透過 Claude GitHub App 或您組織的 GitHub Enterprise App 讀取它。891* 在 github.com 和 gitlab.com 上,marketplace 儲存庫必須是私人或內部的。組織同步透過符合其主機的連線讀取儲存庫:

892 * **github.com**:Claude GitHub App

893 * **您的 GitHub Enterprise Server 主機**:您組織的 [GitHub Enterprise App](/docs/zh-TW/github-enterprise-server#admin-setup)

894 * **gitlab.com 或您的自託管 GitLab 執行個體**:您組織的[GitLab 配置](#sync-a-gitlab-hosted-marketplace)中該主機的存取令牌

889* 每個 plugin 來源必須是 `github`、`url` 或 `git-subdir` 類型,或以 `./` 開頭的[相對路徑](#relative-paths)。如果您在 `metadata.pluginRoot` 下按裸名稱列出 plugin,組織同步會拒絕它作為不支援的來源,因此請寫出路徑,例如 `./plugins/deploy-tools`。895* 每個 plugin 來源必須是 `github`、`url` 或 `git-subdir` 類型,或以 `./` 開頭的[相對路徑](#relative-paths)。如果您在 `metadata.pluginRoot` 下按裸名稱列出 plugin,組織同步會拒絕它作為不支援的來源,因此請寫出路徑,例如 `./plugins/deploy-tools`。

890* Plugin 來源可以在兩種情況下是私人的:896* Plugin 來源可以在三種情況下是私人的:

891 * 共享 marketplace 儲存庫擁有者的 github.com 來源897 * 共享 marketplace 儲存庫擁有者的 github.com 來源

892 * 您組織的 GitHub Enterprise 主機上已安裝 GHE App 的來源898 * 您組織的 GitHub Enterprise 主機上已安裝 GHE App 的來源

893* 組織同步在沒有認證的情況下取得每個其他來源,因此不同擁有者下的 github.com 儲存庫和其他主機上的儲存庫(例如 GitLab 或 Bitbucket)必須是公開的。899 * 與 marketplace 儲存庫位於同一 GitLab 主機上的 `url` 或 `git-subdir` 來源。在 gitlab.com 上,來源也必須位於與 marketplace 儲存庫相同的頂層群組或使用者命名空間下。

900* 任何其他 plugin 來源必須是 github.com、gitlab.com 或 bitbucket.org 上的公開儲存庫,組織同步在沒有認證的情況下取得。組織同步拒絕這些規則不涵蓋的主機上的 plugin 來源。

894 901 

895請參閱[為您的組織管理 plugin](https://support.claude.com/en/articles/13837433)以了解管理員工作流程。902請參閱[為您的組織管理 plugin](https://support.claude.com/en/articles/13837433)以了解管理員工作流程。

896 903 


905}912}

906```913```

907 914 

915<h4 id="sync-a-gitlab-hosted-marketplace">

916 同步 GitLab 託管的 marketplace

917</h4>

918 

919若要從 gitlab.com 或自託管 GitLab 執行個體同步 marketplace,[擁有者](/docs/zh-TW/server-managed-settings#access-control)首先在[**組織設定 > Claude Code**](https://claude.ai/admin-settings/claude-code)為該主機新增 GitLab 配置。GitLab 配置處於公開測試版,僅適用於 plugin marketplace 同步。新增一個不會使 GitLab 儲存庫在[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web#limitations) 中可用。請參閱[為您的組織管理 plugin](https://support.claude.com/en/articles/13837433)以了解設定步驟。

920 

921當您新增 marketplace 時,輸入專案的 HTTPS URL,例如 `https://gitlab.example.com/platform/claude-plugins`。嵌套子群組中的專案可以運作。組織同步讀取專案的預設分支。如果您開啟**自動同步**,只有推送到預設分支才會啟動同步。

922 

908<h4 id="keep-executables-out-of-the-top-level-bin-directory">923<h4 id="keep-executables-out-of-the-top-level-bin-directory">

909 將可執行檔保留在頂層 bin 目錄之外924 將可執行檔保留在頂層 bin 目錄之外

910</h4>925</h4>

Details

86| `filesRead` | 字串陣列 | 與 Claude 在此工作階段讀取的檔案路徑相符的 Glob 模式,例如 `["**/*.tf"]`。正斜線正規化且不區分大小寫。最多 10 個模式,每個 256 個字元。 |86| `filesRead` | 字串陣列 | 與 Claude 在此工作階段讀取的檔案路徑相符的 Glob 模式,例如 `["**/*.tf"]`。正斜線正規化且不區分大小寫。最多 10 個模式,每個 256 個字元。 |

87| `manifestDeps` | 物件陣列 | Claude 在此工作階段讀取的套件資訊清單中宣告的相依性。每個項目都是 `{ "file": "...", "pattern": "..." }`,其中 `file` 是與資訊清單檔案路徑相符的正規表達式(如工作階段狀態中所記錄,通常是絕對路徑),`pattern` 是與該檔案內容相符的正規表達式。在 `file` 的末尾錨定,例如 JSON 逸出形式中的 `[/\\\\]package\\.json$`,因為開始錨定的模式永遠不會符合絕對路徑。路徑不會針對此信號進行分隔符號正規化,因此 Windows 路徑使用反斜線。大於 512 KB 的資訊清單檔案會被跳過。兩個值都是最多 256 個字元的 JavaScript `RegExp` 來源字串。`file` 不區分大小寫相符。`pattern` 區分大小寫。最多 10 個項目。 |87| `manifestDeps` | 物件陣列 | Claude 在此工作階段讀取的套件資訊清單中宣告的相依性。每個項目都是 `{ "file": "...", "pattern": "..." }`,其中 `file` 是與資訊清單檔案路徑相符的正規表達式(如工作階段狀態中所記錄,通常是絕對路徑),`pattern` 是與該檔案內容相符的正規表達式。在 `file` 的末尾錨定,例如 JSON 逸出形式中的 `[/\\\\]package\\.json$`,因為開始錨定的模式永遠不會符合絕對路徑。路徑不會針對此信號進行分隔符號正規化,因此 Windows 路徑使用反斜線。大於 512 KB 的資訊清單檔案會被跳過。兩個值都是最多 256 個字元的 JavaScript `RegExp` 來源字串。`file` 不區分大小寫相符。`pattern` 區分大小寫。最多 10 個項目。 |

88 88 

89`cli`、`hosts`、`filesRead` 和 `manifestDeps` 信號需要工作階段歷史記錄,因此它們只能在 spinner 提示和 Discover 標籤上相符。`filesRead` 和 `manifestDeps` 信號測試工作階段的記錄檔案狀態,其中也包括 Claude 已寫入或編輯的檔案以及自動載入的 `CLAUDE.md` 記憶體檔案。89`cli`、`hosts`、`filesRead` 和 `manifestDeps` 信號需要工作階段歷史記錄,因此它們只能在 spinner 提示和 Discover 標籤上相符。

90 

91`filesRead` 和 `manifestDeps` 信號測試工作階段的記錄檔案狀態,其中也包括 Claude 已寫入或編輯的檔案以及自動載入的 `CLAUDE.md` 記憶體檔案。對於這兩個信號,Claude Code 會跳過其自身[設定目錄](/docs/zh-TW/claude-directory)及其暫存目錄下的路徑。

90 92 

91以下範例使用 `manifestDeps` 在 Claude 讀取依賴 `stripe` 的 `package.json` 後建議 Stripe 外掛程式。`file` 模式使用 `[/\\\\]` 以便符合正斜線和反斜線路徑分隔符號,以及 `\\.` 以便點是字面意思。在 JSON 中,正規表達式中的每個反斜線都寫兩次。93以下範例使用 `manifestDeps` 在 Claude 讀取依賴 `stripe` 的 `package.json` 後建議 Stripe 外掛程式。`file` 模式使用 `[/\\\\]` 以便符合正斜線和反斜線路徑分隔符號,以及 `\\.` 以便點是字面意思。在 JSON 中,正規表達式中的每個反斜線都寫兩次。

92 94 

plugins.md +2 −2

Details

75 ```75 ```

76 76 

77 | 欄位 | 用途 |77 | 欄位 | 用途 |

78 | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |78 | :------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

79 | `name` | 唯一識別碼和 skill 命名空間。Skills 以此為前綴(例如 `/my-first-plugin:hello`)。 |79 | `name` | 唯一識別碼和 skill 命名空間。Skills 以此為前綴(例如 `/my-first-plugin:hello`)。 |

80 | `description` | 在瀏覽或安裝 plugins 時在 plugin 管理器中顯示。 |80 | `description` | 在瀏覽或安裝 plugins 時在 plugin 管理器中顯示。 |

81 | `version` | 選用。如果設定,使用者只會在您更新此欄位時收到更新,除了 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)外;請參閱[版本管理](/docs/zh-TW/plugins-reference#version-management)。如果省略,版本來自[版本管理](/docs/zh-TW/plugins-reference#version-management)中的下一個來源。 |81 | `version` | 選用。如果設定,使用者只會在您更新此欄位時收到更新,除了 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)或 plugin [就地載入](/docs/zh-TW/plugins-reference#plugin-caching-and-file-resolution)外;請參閱[版本管理](/docs/zh-TW/plugins-reference#version-management)。如果省略,版本來自[版本管理](/docs/zh-TW/plugins-reference#version-management)中的下一個來源。 |

82 | `author` | 選用。有助於歸屬。 |82 | `author` | 選用。有助於歸屬。 |

83 83 

84 如需 `homepage`、`repository` 和 `license` 等其他欄位,請參閱[完整清單架構](/docs/zh-TW/plugins-reference#plugin-manifest-schema)。84 如需 `homepage`、`repository` 和 `license` 等其他欄位,請參閱[完整清單架構](/docs/zh-TW/plugins-reference#plugin-manifest-schema)。

Details

40 40 

41當 plugin 安裝時,Skills 和 commands 會自動被發現。41當 plugin 安裝時,Skills 和 commands 會自動被發現。

42 42 

43如果 plugin 沒有 `skills/` 目錄且沒有 `skills` manifest 欄位,plugin 根目錄中的 `SKILL.md` 會被載入為單一 skill。設定 frontmatter `name` 欄位以控制 skill 的叫用名稱。沒有設定的話,Claude Code 會回退到安裝目錄名稱,對於從 marketplace 安裝的 plugins,這是一個在每次更新時都會改變的版本字串。對於提供多個 skills 的 plugins,請使用上面所示的 `skills/` 目錄配置。43如果 plugin 沒有 `skills/` 目錄且沒有 `skills` manifest 欄位,plugin 根目錄中的 `SKILL.md` 會被載入為單一 skill。設定 frontmatter `name` 欄位以控制 skill 的叫用名稱。沒有設定的話,Claude Code 會回退到安裝目錄名稱。對於 [複製到快取中](#plugin-caching-and-file-resolution) 的 plugin,該名稱是一個在每次更新時都會改變的版本字串。對於提供多個 skills 的 plugins,請使用上面所示的 `skills/` 目錄配置。

44 44 

45在 plugin skills 和 commands 中,Boolean frontmatter 欄位(例如 `disable-model-invocation`)接受 `yes`、`no`、`on`、`off`、`1` 和 `0`(任何字母大小寫),以及 `true` 和 `false`。在 v2.1.218 之前,Claude Code 只識別 `true` 和 `false`。45在 plugin skills 和 commands 中,Boolean frontmatter 欄位(例如 `disable-model-invocation`)接受 `yes`、`no`、`on`、`off`、`1` 和 `0`(任何字母大小寫),以及 `true` 和 `false`。在 v2.1.218 之前,Claude Code 只識別 `true` 和 `false`。

46 46 


71Detailed system prompt for the agent describing its role, expertise, and behavior.71Detailed system prompt for the agent describing its role, expertise, and behavior.

72```72```

73 73 

74Plugin agents 支援 `name`、`description`、`model`、`effort`、`maxTurns`、`tools`、`disallowedTools`、`skills`、`memory`、`background` 和 `isolation` frontmatter 欄位。唯一有效的 `isolation` 值是 `"worktree"`。基於安全考量,plugin 提供的 agents 不支援 `hooks`、`mcpServers` 和 `permissionMode`。74Plugin agents 支援 `name`、`description`、`model`、`effort`、`maxTurns`、`tools`、`disallowedTools`、`skills`、`memory`、`background`、[`omitClaudeMd`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) 和 `isolation` frontmatter 欄位。唯一有效的 `isolation` 值是 `"worktree"`。基於安全考量,plugin 提供的 agents 不支援 `hooks`、`mcpServers` 和 `permissionMode`。

75 75 

76Claude Code 會載入 plugin agent,即使其 frontmatter 沒有 `name` 或無法解析:76Claude Code 會載入 plugin agent,即使其 frontmatter 沒有 `name` 或無法解析:

77 77 


99 99 

100**格式**:具有事件匹配器和動作的 JSON 設定100**格式**:具有事件匹配器和動作的 JSON 設定

101 101 

102`hooks/hooks.json` 可以攜帶頂層 `$schema` 金鑰,該金鑰命名 JSON Schema URL 以供編輯器自動完成和驗證。Claude Code 在載入時會忽略該金鑰。

103 

102**Hook 設定**:104**Hook 設定**:

103 105 

104```json theme={null}106```json theme={null}


440 從 claude.ai 同步的外掛程式442 從 claude.ai 同步的外掛程式

441</h2>443</h2>

442 444 

443在 [Cowork](https://claude.com/product/cowork) 和[雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)中,Claude Code 會將為您的 claude.ai 帳戶啟用的外掛程式下載到工作階段自身環境中的 `~/.claude/plugins/synced/`,並將每個外掛程式載入為 `<name>@synced`,沒有 marketplace 也沒有安裝記錄。Claude Code 不會在您於自己的終端機中啟動的工作階段中載入它們。在該 Cowork 或雲端環境內,`claude plugin list` 會在 `Synced from claude.ai` 標題下顯示下載的副本。在 v2.1.239 之前,Claude Code 將這些外掛程式載入為 `<name>@inline`,這是 `--plugin-dir` 外掛程式使用的身分。445Claude Code 會載入為您的 claude.ai 帳戶啟用的外掛程式,包括您的組織為其成員開啟的外掛程式,以及您從 marketplace 安裝的外掛程式。它會將每個外掛程式下載到 `~/.claude/plugins/synced/` 中,並將其載入為 `<name>@synced`,沒有 marketplace 也沒有安裝記錄。同步的外掛程式執行時具有與您安裝的 marketplace 外掛程式相同的信任等級:其 skills、agents、hooks、MCP 伺服器和 LSP 伺服器都會載入。

446 

447Claude Code 同步這些外掛程式的位置取決於工作階段:

448 

449* 在 [Cowork](https://claude.com/product/cowork) 和[雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)中,Claude Code 會在工作階段啟動時將它們下載到工作階段自身的環境中。在 v2.1.239 之前,Claude Code 將這些外掛程式載入為 `<name>@inline`,這是 `--plugin-dir` 外掛程式使用的身分。

450* 在您使用 claude.ai 帳戶登入的終端機工作階段中,Claude Code 每次啟動時會檢查您的帳戶一次,然後在背景中下載新的和更新的外掛程式,並移除您或您的組織關閉的外掛程式。終端機工作階段中的同步需要 Claude Code v2.1.273 或更新版本。

451 

452啟動檢查在背景中執行,因此可以在您的工作階段啟動後完成。當它在互動式工作階段中新增、更新或移除同步的外掛程式時,Claude Code 會顯示 `Plugins changed. Run /reload-plugins to activate.` 執行 [`/reload-plugins`](/docs/zh-TW/discover-plugins#apply-plugin-changes-without-restarting) 以在該工作階段中載入變更,或留待下次啟動 Claude Code 時再進行。如果您在工作階段執行時在 claude.ai 上啟用外掛程式,Claude Code 會在下次啟動時下載它。

444 453 

445使用 `claude plugin list` 列印的 `<name>@synced` ID 來管理同步的外掛程式:454終端機工作階段中的外掛程式同步在與[從 claude.ai 同步的 skills](/docs/zh-TW/skills#where-synced-skills-load)相同的登入條件下執行。它還需要授予 Claude Code 存取您帳戶外掛程式的登入。

446 455 

447* **關閉其中一個**:在同步的工作階段中,執行 `claude plugin disable <name>@synced`,或要求 Claude 執行它。Claude Code 會將選擇儲存為該環境使用者層級 [`enabledPlugins`](/docs/zh-TW/settings-reference#enabledplugins) 中的 `"<name>@synced": false`。若要重新開啟外掛程式,請在同一工作階段中執行 `claude plugin enable <name>@synced`。若要將外掛程式排除在每個同步工作階段之外,請[為您的 claude.ai 帳戶關閉它](/docs/zh-TW/desktop#extend-claude-code)。若要將它排除在一個專案在每個環境中的同步工作階段之外,請在該專案已提交的 `.claude/settings.json` 中的 `enabledPlugins` 下設定 `"<name>@synced": false`。456來自較早版本 Claude Code 的登入會在 Claude Code 在背景中更新該登入時(通常在幾小時內)或在您再次執行 `/login` 時立即取得外掛程式存取權限。外掛程式同步會在您之後下次啟動 Claude Code 時開始。

448* **在 claude.ai 上管理外掛程式本身**:`claude plugin install`、`update` 和 `uninstall` 不適用於同步的外掛程式。若要移除一個,請為您的 claude.ai 帳戶關閉該外掛程式;下一個同步工作階段將在沒有它的情況下啟動。

449 457 

450當來自任何其他來源的已啟用外掛程式(例如 marketplace 安裝、[技能目錄外掛程式](#skills-directory-plugins)或 `--plugin-dir` 外掛程式)與同步外掛程式的名稱相符時,Claude Code 會載入該外掛程式並報告同步副本未被載入。若要改用 claude.ai 副本,請停用您自己的副本。在 v2.1.239 之前,Claude Code 會載入同步副本而不是同名的 marketplace 安裝。458`claude plugin list` 會在 `Synced from claude.ai` 標題下顯示同步的外掛程式,而 `/plugin` **Installed** 標籤會列出它們,並以 `synced` 作為其來源。使用 `claude plugin list` 列印的 `<name>@synced` ID 來管理同步的外掛程式:

459 

460* **關閉其中一個**:執行 `claude plugin disable <name>@synced`,或從 `/plugin` **Installed** 標籤中停用它。Claude Code 會將選擇儲存為您使用者層級 [`enabledPlugins`](/docs/zh-TW/settings-reference#enabledplugins) 中的 `"<name>@synced": false`。若要重新開啟外掛程式,請執行 `claude plugin enable <name>@synced`。

461* **在任何地方都排除其中一個**:[為您的 claude.ai 帳戶關閉外掛程式](/docs/zh-TW/desktop#extend-claude-code)。若要在每個環境中將其排除在一個專案之外,請在該專案已提交的 `.claude/settings.json` 中的 `enabledPlugins` 下設定 `"<name>@synced": false`。

462* **在 claude.ai 上管理外掛程式本身**:`claude plugin install`、`update` 和 `uninstall` 不適用於同步的外掛程式。Claude Code 會在下次同步時下載外掛程式的更新。若要移除一個,請為您的 claude.ai 帳戶關閉外掛程式,Claude Code 會在下次同步時將其移除。

463* **停止在機器上同步**:在您的使用者設定中將 [`syncClaudeAiPlugins`](/docs/zh-TW/settings-reference#syncclaudeaiplugins) 設定為 `false`。Claude Code 會停止下載,下次啟動時會將已同步的外掛程式移動到 `~/.claude/plugins/.trash/`,並不再載入它們。您的組織可以在[受管設定](/docs/zh-TW/managed-settings)中設定相同的金鑰,或在 claude.ai 上關閉 Skills,這也會停止外掛程式同步。

464 

465您無法關閉您的組織在 claude.ai 上標記為必需的外掛程式。Claude Code 會載入它,即使您之前停用了它,而 `claude plugin disable` 會拒絕並顯示 `Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.` 在 `claude plugin list` 中,這些外掛程式會標記為 `required by your org`。

466 

467當來自任何其他來源的已啟用外掛程式與同步外掛程式的名稱相符時,Claude Code 會載入該外掛程式並報告同步副本未被載入。其他來源包括 marketplace 安裝、[skills 目錄外掛程式](#skills-directory-plugins)、`--plugin-dir` 外掛程式和內建於 Claude Code 的外掛程式。若要改用 claude.ai 副本,請停用您自己的副本。在 v2.1.239 之前,Claude Code 會載入同步副本而不是同名的 marketplace 安裝。

451 468 

452***469***

453 470 


534</h3>551</h3>

535 552 

536| 欄位 | 類型 | 說明 | 範例 |553| 欄位 | 類型 | 說明 | 範例 |

537| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |554| :--------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

538| `$schema` | string | JSON Schema URL,用於編輯器自動完成和驗證。Claude Code 在載入時會忽略此欄位。 | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |555| `$schema` | string | JSON Schema URL,用於編輯器自動完成和驗證。Claude Code 在載入時會忽略此欄位。 | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

539| `displayName` | string | 在 `/plugin` 選擇器和其他 UI 表面中顯示的人類可讀名稱。對於市集安裝的 plugin,[市集項目](/docs/zh-TW/plugin-marketplaces#optional-plugin-fields)上的 `displayName` 優先於此值。當兩個位置都未設定顯示名稱時,使用者會看到 `name`。與 `name` 不同,可包含空格和任何大小寫。不用於命名空間或查詢。 | `"Deployment Tools"` |556| `displayName` | string | 在 `/plugin` 選擇器和其他 UI 表面中顯示的人類可讀名稱。對於市集安裝的 plugin,[市集項目](/docs/zh-TW/plugin-marketplaces#optional-plugin-fields)上的 `displayName` 優先於此值。當兩個位置都未設定顯示名稱時,使用者會看到 `name`。與 `name` 不同,可包含空格和任何大小寫。不用於命名空間或查詢。 | `"Deployment Tools"` |

540| `version` | string | 選用。語義版本。設定此項會將 plugin 固定到該版本字串,因此使用者只有在您提升版本時才會收到更新,除了[`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)外;請參閱[版本管理](#version-management)。如果也在市集項目中設定,`plugin.json` 優先。如果省略,版本來自[版本管理](#version-management)中的下一個來源。 | `"2.1.0"` |557| `version` | string | 選用。語義版本。設定此項會將 plugin 固定到該版本字串,因此使用者只有在您提升版本時才會收到更新,除了[`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)或[載入中的 plugin](#plugin-caching-and-file-resolution) 外;請參閱[版本管理](#version-management)。如果也在市集項目中設定,`plugin.json` 優先。如果省略,版本來自[版本管理](#version-management)中的下一個來源。 | `"2.1.0"` |

541| `description` | string | plugin 用途的簡短說明 | `"Deployment automation tools"` |558| `description` | string | plugin 用途的簡短說明 | `"Deployment automation tools"` |

542| `author` | object | 作者資訊 | `{"name": "Dev Team", "email": "dev@company.com"}` |559| `author` | object | 作者資訊 | `{"name": "Dev Team", "email": "dev@company.com"}` |

543| `homepage` | string | 文件 URL | `"https://docs.example.com"` |560| `homepage` | string | 文件 URL | `"https://docs.example.com"` |


553 570 

554在 `plugin.json` 中設定 `defaultEnabled: false` 以發佈已停用安裝的 plugin。使用者可使用 `claude plugin enable <plugin>` 或 `/plugin` 介面將其開啟。對於新增成本或使用者應選擇加入的 plugin(例如連接到外部服務的 plugin),請使用此選項。571在 `plugin.json` 中設定 `defaultEnabled: false` 以發佈已停用安裝的 plugin。使用者可使用 `claude plugin enable <plugin>` 或 `/plugin` 介面將其開啟。對於新增成本或使用者應選擇加入的 plugin(例如連接到外部服務的 plugin),請使用此選項。

555 572 

556`defaultEnabled` 是當沒有其他因素決定 plugin 狀態時的後備選項。有兩件事優先於它:573`defaultEnabled` 是當沒有其他因素決定 plugin 狀態時的後備選項。使用者的設定和相依性要求優先於它:

557 574 

558* **使用者的設定**:任何設定範圍中 `enabledPlugins` 中的 plugin 項目。一旦寫入,它會在 plugin 更新和重新安裝中持續存在,因此在後續版本中變更 `defaultEnabled` 不會翻轉現有使用者。575* **使用者的設定**:任何設定範圍中 `enabledPlugins` 中的 plugin 項目。一旦寫入,它會在 plugin 更新和重新安裝中持續存在,因此在後續版本中變更 `defaultEnabled` 不會翻轉現有使用者。

559* **相依性要求**:當 plugin 由另一個啟用的 plugin 所需時,Claude Code 會在安裝或啟用時為其寫入 `true`。這給了它明確的設定,因此它自己的預設不再適用。請參閱[啟用或停用具有相依性的 plugin](/docs/zh-TW/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)。576* **相依性要求**:當 plugin 由另一個啟用的 plugin 所需時,Claude Code 會在安裝或啟用時為其寫入 `true`。這給了它明確的設定,因此它自己的預設不再適用。請參閱[啟用或停用具有相依性的 plugin](/docs/zh-TW/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)。


577| `experimental.themes` | string\|array | 色彩主題檔案/目錄(取代預設 `themes/`)。請參閱[主題](#themes) | `"./themes/"` |594| `experimental.themes` | string\|array | 色彩主題檔案/目錄(取代預設 `themes/`)。請參閱[主題](#themes) | `"./themes/"` |

578| `experimental.monitors` | string\|array | 當 plugin 啟用時自動啟動的背景 [Monitor](/docs/zh-TW/tools-reference#monitor-tool) 設定。請參閱[監視器](#monitors) | `"./monitors.json"` |595| `experimental.monitors` | string\|array | 當 plugin 啟用時自動啟動的背景 [Monitor](/docs/zh-TW/tools-reference#monitor-tool) 設定。請參閱[監視器](#monitors) | `"./monitors.json"` |

579| `experimental.evals` | string\|array | plugin 根目錄下的目錄,用於保存 plugin 的[評估案例](/docs/zh-TW/plugin-evals#use-a-different-eval-directory),當它不是預設 `evals/` 時。`claude plugin eval --eval-dir` 會覆寫它 | `"quality/evals"` |596| `experimental.evals` | string\|array | plugin 根目錄下的目錄,用於保存 plugin 的[評估案例](/docs/zh-TW/plugin-evals#use-a-different-eval-directory),當它不是預設 `evals/` 時。`claude plugin eval --eval-dir` 會覆寫它 | `"quality/evals"` |

580| `userConfig` | object | 在啟用時提示的使用者可設定值。請參閱[使用者設定](#user-configuration) | 請參閱下方 |597| `userConfig` | object | 在啟用時提示的使用者可設定值。請參閱[使用者設定](#user-configuration) | |

581| `channels` | array | 訊息注入的頻道宣告(Telegram、Slack、Discord 樣式)。請參閱[頻道](#channels) | 請參閱下方 |598| `channels` | array | 訊息注入的頻道宣告(Telegram、Slack、Discord 樣式)。請參閱[頻道](#channels) | |

582| `dependencies` | array | 此 plugin 所需的其他 plugin,可選擇使用 semver 版本限制。請參閱[限制 plugin 相依性版本](/docs/zh-TW/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |599| `dependencies` | array | 此 plugin 所需的其他 plugin,可選擇使用 semver 版本限制。請參閱[限制 plugin 相依性版本](/docs/zh-TW/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

583 600 

584<h3 id="experimental-components">601<h3 id="experimental-components">


614金鑰必須是有效的識別碼。每個選項支援這些欄位:631金鑰必須是有效的識別碼。每個選項支援這些欄位:

615 632 

616| 欄位 | 必要 | 說明 |633| 欄位 | 必要 | 說明 |

617| :------------ | :- | :-------------------------------------------------- |634| :------------ | :- | :---------------------------------------------------------------------- |

618| `type` | 是 | `string`、`number`、`boolean`、`directory` 或 `file` 之一 |635| `type` | 是 | `string`、`number`、`boolean`、`directory` 或 `file` 之一 |

619| `title` | 是 | 在設定對話方塊中顯示的標籤 |636| `title` | 是 | 在設定對話方塊中顯示的標籤 |

620| `description` | 是 | 在欄位下方顯示的說明文字 |637| `description` | 是 | 在欄位下方顯示的說明文字 |

621| `sensitive` | 否 | 如果為 `true`,會遮罩輸入並將值儲存在安全儲存中,而不是 `settings.json` |638| `sensitive` | 否 | 如果為 `true`,會遮罩輸入並將值儲存在安全儲存中,而不是 `settings.json` |

622| `required` | 否 | 如果為 `true`,當欄位為空時驗證失敗 |639| `required` | 否 | 如果為 `true`,當欄位為空時驗證失敗 |

623| `default` | 否 | 當使用者未提供任何內容時使用的值 |640| `default` | 否 | 當使用者未提供任何內容時使用的值 |

641| `options` | 否 | 對於 `string` 類型,欄位接受的值,在 `/config` 中顯示為選擇器。需要 Claude Code v2.1.271 或更新版本 |

624| `multiple` | 否 | 對於 `string` 類型,允許字串陣列 |642| `multiple` | 否 | 對於 `string` 類型,允許字串陣列 |

625| `min` / `max` | 否 | `number` 類型的界限 |643| `min` / `max` | 否 | `number` 類型的界限 |

626 644 

645除了 `sensitive` 欄位和 `multiple` 清單外,每個啟用 plugin 的每個欄位也會在 `/config` 面板中顯示為一列。這些列需要 Claude Code v2.1.269 或更新版本。

646 

627每個值都可用於在 MCP 和 LSP 伺服器設定以及 hook 命令中替換為 `${user_config.KEY}`。非敏感值也可以在 skill 和代理程式內容中替換。所有值都會匯出到 hook 程序作為 `CLAUDE_PLUGIN_OPTION_<KEY>` 環境變數,其中 `<KEY>` 是選項金鑰的大寫版本。647每個值都可用於在 MCP 和 LSP 伺服器設定以及 hook 命令中替換為 `${user_config.KEY}`。非敏感值也可以在 skill 和代理程式內容中替換。所有值都會匯出到 hook 程序作為 `CLAUDE_PLUGIN_OPTION_<KEY>` 環境變數,其中 `<KEY>` 是選項金鑰的大寫版本。

628 648 

629在 shell 中執行的欄位會拒絕 `${user_config.*}`:將設定的值替換到 shell 命令中會讓 shell 執行該值包含的任何內容,因此元件會失敗並出現[錯誤](/docs/zh-TW/errors#plugin-command-references-user-config)。每個被拒絕的欄位都有一個替代方式來傳遞值:649在 shell 中執行的欄位會拒絕 `${user_config.*}`:將設定的值替換到 shell 命令中會讓 shell 執行該值包含的任何內容,因此元件會失敗並出現[錯誤](/docs/zh-TW/errors#plugin-command-references-user-config)。每個被拒絕的欄位都有一個替代方式來傳遞值:


733| `${CLAUDE_PLUGIN_DATA}` | [持續目錄](#persistent-data-directory),在首次參考時建立,在 plugin 更新中存活 | 已安裝的相依性,例如 `node_modules` 或 Python 虛擬環境、產生的程式碼和快取 |753| `${CLAUDE_PLUGIN_DATA}` | [持續目錄](#persistent-data-directory),在首次參考時建立,在 plugin 更新中存活 | 已安裝的相依性,例如 `node_modules` 或 Python 虛擬環境、產生的程式碼和快取 |

734| `${CLAUDE_PROJECT_DIR}` | 專案根目錄 | 專案本機指令碼和設定檔 |754| `${CLAUDE_PROJECT_DIR}` | 專案根目錄 | 專案本機指令碼和設定檔 |

735 755 

736所有三個都匯出為環境變數到 hook 程序以及 MCP 和 LSP 伺服器子程序。哪些欄位內嵌替換它們取決於 plugin 元件:756所有三個都匯出為環境變數到 hook 程序以及 MCP 和 LSP 伺服器子程序。它們不存在於 Claude 透過 Bash 工具執行的命令環境中,無論是在主工作階段或子代理中。在 plugin 內容中,寫入預留位置,Claude Code 會在載入內容時內嵌替換路徑。哪些欄位內嵌替換它們取決於 plugin 元件:

737 757 

738| Plugin 元件 | 預留位置解析的欄位 |758| Plugin 元件 | 預留位置解析的欄位 |

739| :------------------------ | :--------------------------------------- |759| :------------------------ | :--------------------------------------- |


762}782}

763```783```

764 784 

765`${CLAUDE_PLUGIN_ROOT}` 在 plugin 更新時變更。前一個版本的目錄在更新後的寬限期內保留在磁碟上,但將其視為暫時的,不要在那裡寫入狀態。請參閱 [plugin 快取](#plugin-caching-and-file-resolution)以了解清理語義。785對於複製的 plugin,`${CLAUDE_PLUGIN_ROOT}` 在 plugin 更新時變更。前一個版本的目錄在更新後的寬限期內保留在磁碟上,但將其視為暫時的,不要在那裡寫入狀態。請參閱 [plugin 快取](#plugin-caching-and-file-resolution)以了解哪些 plugin 被複製以及清理語義。

766 786 

767當 plugin 在工作階段中期更新時,hook 命令、監視器、MCP 伺服器和 LSP 伺服器繼續使用前一個版本的路徑。執行 `/reload-plugins` 以將 hook、MCP 伺服器和 LSP 伺服器切換到新路徑;監視器需要工作階段重新啟動。在沒有互動式終端的工作階段中,重新載入會將 plugin MCP 伺服器保留在舊路徑上,直到下一個工作階段。787當複製的 plugin 在工作階段中期更新時,hook 命令、監視器、MCP 伺服器和 LSP 伺服器繼續使用前一個版本的路徑。執行 `/reload-plugins` 以將 hook、MCP 伺服器和 LSP 伺服器切換到新路徑;監視器需要工作階段重新啟動。在沒有互動式終端的工作階段中,重新載入會將 plugin MCP 伺服器保留在舊路徑上,直到下一個工作階段。

768 788 

769對於具有 `command` 來源的 plugin,Claude Code [可以重新載入 plugin 本身](/docs/zh-TW/plugin-marketplaces#when-claude-code-re-runs-the-command)。789對於具有 `command` 來源的 plugin,Claude Code [可以重新載入 plugin 本身](/docs/zh-TW/plugin-marketplaces#when-claude-code-re-runs-the-command)。

770 790 


825 Plugin 快取和檔案解析845 Plugin 快取和檔案解析

826</h2>846</h2>

827 847 

828Plugin 可以透過以下兩種方式指定:848Plugin 可以透過以下三種方式指定:

829 849 

830* 透過 `claude --plugin-dir` 或 `claude --plugin-url`,在工作階段期間使用。850* 透過 `claude --plugin-dir` 或 `claude --plugin-url`,在工作階段期間使用。

831* 透過市集安裝,供未來的工作階段使用。851* 透過市集安裝,供未來的工作階段使用。

852* 透過您的 claude.ai 帳戶,[同步](#synced-plugins)到 `~/.claude/plugins/synced/`。

832 853 

833基於安全性和驗證目的,Claude Code 會將\_市集\_ plugin 複製到使用者的本機 **plugin 快取**(`~/.claude/plugins/cache`)中,而不是就地使用,除了[連結模式中的 `command` 來源](/docs/zh-TW/plugin-marketplaces#copy-mode-and-link-mode),Claude Code 會透過快取項目中的連結就地使用。854基於安全性和驗證目的,Claude Code 會將\_市集\_ plugin 複製到使用者的本機 **plugin 快取**(`~/.claude/plugins/cache`),除非 plugin 就地載入。[連結模式中的 `command` 來源](/docs/zh-TW/plugin-marketplaces#copy-mode-and-link-mode)會透過快取項目中的連結就地載入。[市集中的相對路徑來源](/docs/zh-TW/plugin-marketplaces#relative-paths)從本機目錄新增的市集會就地從市集資料夾載入。

855 

856對於從本機目錄市集就地載入的 plugin,您對來源目錄的編輯會在下一個工作階段開始或 `/reload-plugins` 時生效。您不需要版本更新。Plugin 的 hook 程序和 MCP 和 LSP 伺服器會收到指向來源目錄的 `CLAUDE_PLUGIN_ROOT`。Claude Code 不會將 plugin 的 [Node.js 套件相依性](#node-js-package-dependencies)安裝到來源目錄中。請自行安裝它們,或從 hook 安裝到[持久資料目錄](#persistent-data-directory)。

834 857 

835對於複製的 plugin,每個已安裝的版本都是快取中的單獨目錄,按市集和 plugin 分組,並以已解析的版本命名,具有自己的 plugin 檔案副本和 [Node.js 套件相依性](#node-js-package-dependencies)。從[發行標籤](/docs/zh-TW/plugin-dependencies#tag-plugin-releases-for-version-resolution)解析的相依性會取得帶有 commit-SHA 後綴的目錄名稱。858對於複製的 plugin,每個已安裝的版本都是快取中的單獨目錄,按市集和 plugin 分組,並以已解析的版本命名,具有自己的 plugin 檔案副本和 [Node.js 套件相依性](#node-js-package-dependencies)。從[發行標籤](/docs/zh-TW/plugin-dependencies#tag-plugin-releases-for-version-resolution)解析的相依性會取得帶有 commit-SHA 後綴的目錄名稱。

836 859 


853| `bun.lock` 或 `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |876| `bun.lock` 或 `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

854| `npm-shrinkwrap.json` 或 `package-lock.json` | `npm ci --ignore-scripts` |877| `npm-shrinkwrap.json` 或 `package-lock.json` | `npm ci --ignore-scripts` |

855 878 

856如果 plugin 包含多個這些鎖定檔案,Claude Code 會使用第一個符合項,按順序檢查:`bun.lock`、`bun.lockb`、`npm-shrinkwrap.json`、`package-lock.json`。Claude Code 會跳過 `yarn.lock` 和 `pnpm-lock.yaml`,因為 Yarn 和 pnpm 支援可以繞過 `--ignore-scripts` 的解析時間設定 hooks。879如果 plugin 包含多個這些鎖定檔案,Claude Code 會使用第一個符合項,按順序檢查:`bun.lock`、`bun.lockb`、`npm-shrinkwrap.json`、`package-lock.json`。

880 

881Claude Code 在兩種情況下會跳過安裝,各有其自己的修正方式:

882 

883* 如果您的 plugin 只附帶 `yarn.lock` 或 `pnpm-lock.yaml`,請將其替換為 npm 鎖定檔案。

884* 如果 `bunfig.toml` 位於 bun 鎖定檔案旁邊,請移除 `bunfig.toml`,或將 bun 鎖定檔案替換為 npm 鎖定檔案。

857 885 

858提供 npm 鎖定檔案以獲得最廣泛的覆蓋。Claude Code 從使用者的 PATH 執行符合的鎖定檔案的套件管理員,如果遺失,不會回退到其他鎖定檔案。對於透過 npm 來源分發的 plugin,請使用 `npm-shrinkwrap.json`;npm 會從已發佈的套件中排除 `package-lock.json`。886提供 npm 鎖定檔案以獲得最廣泛的覆蓋。Claude Code 從使用者的 PATH 執行符合的鎖定檔案的套件管理員,如果遺失,不會回退到其他鎖定檔案。對於透過 npm 來源分發的 plugin,請使用 `npm-shrinkwrap.json`;npm 會從已發佈的套件中排除 `package-lock.json`。

859 887 


863* **無生命週期指令碼:** `--ignore-scripts` 防止 `preinstall`、`install` 和 `postinstall` 指令碼執行,因此在這些指令碼中建置原生模組的相依性會下載但在此安裝期間不會編譯。891* **無生命週期指令碼:** `--ignore-scripts` 防止 `preinstall`、`install` 和 `postinstall` 指令碼執行,因此在這些指令碼中建置原生模組的相依性會下載但在此安裝期間不會編譯。

864* **60 秒逾時:** Claude Code 會停止執行時間超過此時間的安裝,並將其視為失敗。892* **60 秒逾時:** Claude Code 會停止執行時間超過此時間的安裝,並將其視為失敗。

865 893 

866提取 npm 來源 plugin 本身會在此相依性安裝執行之前,以啟用的生命週期指令碼執行 `npm install`。894Claude Code 在此相依性安裝之前會提取 npm 來源 plugin,並且套件本身的任何安裝指令碼都不會在提取期間執行。請參閱 [npm 套件](/docs/zh-TW/plugin-marketplaces#npm-packages)。

867 895 

868失敗或跳過的安裝永遠不會阻止 plugin。當安裝失敗或 Claude Code 跳過 yarn 或 pnpm 鎖定檔案時,它會在[偵錯輸出](#debugging-commands)中將原因記錄為警告。具有 `package.json` 且沒有鎖定檔案的 plugin 會被跳過,不會有日誌項目。逾時的安裝可能會在快取副本中留下部分 `node_modules` 樹。896失敗或跳過的安裝永遠不會阻止 plugin。當安裝失敗或 Claude Code 跳過 yarn 或 pnpm 鎖定檔案或旁邊有 `bunfig.toml` 的 bun 鎖定檔案時,它會在[偵錯輸出](#debugging-commands)中將原因記錄為警告。具有 `package.json` 且沒有鎖定檔案的 plugin 會被跳過,不會有日誌項目。逾時的安裝可能會在快取副本中留下部分 `node_modules` 樹。

869 897 

870您無法關閉自動安裝;沒有設定或環境變數可以停用它。在受限網路中,請參閱[網路存取需求](/docs/zh-TW/network-config#network-access-requirements)以了解要允許的主機。898您無法關閉自動安裝;沒有設定或環境變數可以停用它。在受限網路中,請參閱[網路存取需求](/docs/zh-TW/network-config#network-access-requirements)以了解要允許的主機。

871 899 


1061該命令接受這些選項:1089該命令接受這些選項:

1062 1090 

1063| 選項 | 說明 | 預設值 |1091| 選項 | 說明 | 預設值 |

1064| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----- |1092| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----- |

1065| `-s, --scope <scope>` | 安裝範圍:`user`、`project` 或 `local` | `user` |1093| `-s, --scope <scope>` | 安裝範圍:`user`、`project` 或 `local` | `user` |

1066| `--config <key=value>` | 設定外掛程式資訊清單中宣告的 [`userConfig`](#user-configuration) 選項。重複此旗標以設定多個選項 | |1094| `--config <key=value>` | 設定外掛程式資訊清單中宣告的 [`userConfig`](#user-configuration) 選項。重複此旗標以設定多個選項 | |

1067| `-y, --yes` | 接受外掛程式市集宣告的命令,無需確認提示:產生具有 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)的外掛程式的命令,或驗證封存下載的 [`headersHelper`](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads)。接受 `headersHelper` 需要 Claude Code v2.1.238 或更新版本。Claude Code 仍會先列印命令。當 stdin 或 stdout 不是 TTY 時為必需。在 Claude Code 工作階段內無效,因此請從您自己的終端執行命令 | |1095| `-y, --yes` | 接受外掛程式市集宣告的命令,無需確認提示:產生具有 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)的外掛程式的命令,或驗證封存下載的 [`headersHelper`](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads)。接受 `headersHelper` 需要 Claude Code v2.1.238 或更新版本。Claude Code 仍會先列印命令。當 stdin 或 stdout 不是 TTY 時為必需,除非您傳遞 `--accept-command`。在 Claude Code 工作階段內無效,因此請從您自己的終端執行命令 | |

1096| `--accept-command <sha256>` | 接受市集宣告的命令,其 `sha256` 先前的 [`--json` 執行](#plugin-json-result)在 `shownCommand` 中報告,以取代 `-y`。接受計數適用於完全相同的命令、外掛程式和市集目錄。如果自命令顯示以來任何一個已變更,包括透過執行本身的市集重新整理,Claude Code 不會接受摘要並再次顯示命令。無法與 `-y` 結合。在 Claude Code 工作階段內無效,因此請從您自己的終端執行命令。需要 Claude Code v2.1.271 或更新版本 | |

1068| `--json` | 將結果列印為 stdout 最後一行的一個 JSON 物件,供指令碼使用。請參閱 [JSON 結果格式](#plugin-json-result)。需要 Claude Code v2.1.268 或更新版本 | |1097| `--json` | 將結果列印為 stdout 最後一行的一個 JSON 物件,供指令碼使用。請參閱 [JSON 結果格式](#plugin-json-result)。需要 Claude Code v2.1.268 或更新版本 | |

1069| `-h, --help` | 顯示命令說明 | |1098| `-h, --help` | 顯示命令說明 | |

1070 1099 


1078 1107 

1079其他欄位,例如 `pluginId`、`scope` 和 `failureCode`,僅在適用時出現。`plugin uninstall`、`plugin update`、`plugin enable` 和 `plugin disable` 上的 `--json` 選項會列印具有該子命令自己欄位的相同物件。使用錯誤(例如無效的 `--scope`)不會列印結果行,並以 stderr 上的原因退出 1。1108其他欄位,例如 `pluginId`、`scope` 和 `failureCode`,僅在適用時出現。`plugin uninstall`、`plugin update`、`plugin enable` 和 `plugin disable` 上的 `--json` 選項會列印具有該子命令自己欄位的相同物件。使用錯誤(例如無效的 `--scope`)不會列印結果行,並以 stderr 上的原因退出 1。

1080 1109 

1110當執行顯示市集宣告的命令且不執行它時,`failed` 結果也會攜帶一個 `shownCommand` 物件,其欄位包括顯示的命令、它所屬的外掛程式和命令的 `sha256`。若要接受完全相同的命令,請使用該 `sha256` 作為 `--accept-command` 重新執行。需要 Claude Code v2.1.271 或更新版本。

1111 

1112如果 `shownCommand.acceptCommandMatched` 是 `false`,您傳遞的摘要與現在顯示的命令不符。在傳遞其 `sha256` 之前,向某人顯示該命令。

1113 

1081這些範例顯示常見的叫用方式:1114這些範例顯示常見的叫用方式:

1082 1115 

1083```bash theme={null}1116```bash theme={null}


1159 1192 

1160該命令接受這些引數:1193該命令接受這些引數:

1161 1194 

1162* `<plugin>`:外掛程式名稱或 `plugin-name@marketplace-name`1195* `<plugin>`:外掛程式名稱、`plugin-name@marketplace-name` 或 `plugin-name@synced` 用於[從 claude.ai 同步的外掛程式](#synced-plugins)

1163 1196 

1164該命令接受這些選項:1197該命令接受這些選項:

1165 1198 


1173 plugin disable1206 plugin disable

1174</h3>1207</h3>

1175 1208 

1176停用外掛程式而不解除安裝它。當目標從市集安裝時,如果另一個已啟用的外掛程式[依賴](/docs/zh-TW/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)它,該命令會失敗。錯誤訊息包含一個鏈式命令,可先停用每個依賴它的外掛程式。1209停用外掛程式而不解除安裝它。

1210 

1211當目標從市集安裝時,如果另一個已啟用的外掛程式[依賴](/docs/zh-TW/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)它,該命令會失敗。錯誤訊息包含一個鏈式命令,可先停用每個依賴它的外掛程式。

1212 

1213對於您的組織需要的[同步外掛程式](#synced-plugins),該命令會失敗且不會儲存任何內容。

1177 1214 

1178```bash theme={null}1215```bash theme={null}

1179claude plugin disable [plugin] [options]1216claude plugin disable [plugin] [options]


1181 1218 

1182該命令接受這些引數:1219該命令接受這些引數:

1183 1220 

1184* `[plugin]`:外掛程式名稱或 `plugin-name@marketplace-name`。使用 `--all` 時為選用。1221* `[plugin]`:外掛程式名稱、`plugin-name@marketplace-name` 或 `plugin-name@synced` 用於[從 claude.ai 同步的外掛程式](#synced-plugins)。使用 `--all` 時為選用。

1185 1222 

1186該命令接受這些選項:1223該命令接受這些選項:

1187 1224 


1209該命令接受這些選項:1246該命令接受這些選項:

1210 1247 

1211| 選項 | 說明 | 預設值 |1248| 選項 | 說明 | 預設值 |

1212| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----- |1249| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----- |

1213| `-s, --scope <scope>` | 要更新的範圍:`user`、`project`、`local` 或 `managed` | `user` |1250| `-s, --scope <scope>` | 要更新的範圍:`user`、`project`、`local` 或 `managed` | `user` |

1214| `-y, --yes` | 接受外掛程式市集宣告的命令,無需確認提示:產生具有 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)的外掛程式的命令,或驗證封存下載的 [`headersHelper`](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads)。接受 `headersHelper` 需要 Claude Code v2.1.238 或更新版本。Claude Code 仍會先列印命令。當 stdin 或 stdout 不是 TTY 時為必需。在 Claude Code 工作階段內無效,因此請從您自己的終端執行命令 | |1251| `-y, --yes` | 接受外掛程式市集宣告的命令,無需確認提示:產生具有 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources)的外掛程式的命令,或驗證封存下載的 [`headersHelper`](/docs/zh-TW/plugin-marketplaces#authenticate-archive-downloads)。接受 `headersHelper` 需要 Claude Code v2.1.238 或更新版本。Claude Code 仍會先列印命令。當 stdin 或 stdout 不是 TTY 時為必需,除非您傳遞 `--accept-command`。在 Claude Code 工作階段內無效,因此請從您自己的終端執行命令 | |

1252| `--accept-command <sha256>` | 接受市集宣告的命令,其 `sha256` 先前的 [`--json` 執行](#plugin-json-result)在 `shownCommand` 中報告,以取代 `-y`。接受計數適用於完全相同的命令、外掛程式和市集目錄。如果自命令顯示以來任何一個已變更,包括透過執行本身的市集重新整理,Claude Code 不會接受摘要並再次顯示命令。無法與 `-y` 結合。在 Claude Code 工作階段內無效,因此請從您自己的終端執行命令。需要 Claude Code v2.1.271 或更新版本 | |

1215| `--json` | 將結果列印為 stdout 最後一行的一個 JSON 物件,格式與 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更新版本 | |1253| `--json` | 將結果列印為 stdout 最後一行的一個 JSON 物件,格式與 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更新版本 | |

1216| `-h, --help` | 顯示命令說明 | |1254| `-h, --help` | 顯示命令說明 | |

1217 1255 


1242在互動式工作階段中,`/plugin list` 會列印類似的列表內容,但它只涵蓋市集安裝的外掛程式:1280在互動式工作階段中,`/plugin list` 會列印類似的列表內容,但它只涵蓋市集安裝的外掛程式:

1243 1281 

1244* 從技能目錄載入的外掛程式會在 `/plugin` 介面和 `claude plugin list` 中出現,但不會在內嵌 `/plugin list` 輸出中出現。1282* 從技能目錄載入的外掛程式會在 `/plugin` 介面和 `claude plugin list` 中出現,但不會在內嵌 `/plugin list` 輸出中出現。

1245* 在 Claude Code v2.1.239 或更新版本上,[從 claude.ai 同步的外掛程式](#synced-plugins)會在您在同步工作階段下載它們的環境中執行 `claude plugin list` 時出現。它們不會在內嵌 `/plugin list` 輸出中出現。1283* [從 claude.ai 同步的外掛程式](#synced-plugins)會在 Claude Code v2.1.239 或更新版本上的 `claude plugin list` 中出現,並在 `/plugin` 介面中出現,但不會在內嵌 `/plugin list` 輸出中出現。

1246* 使用 `--plugin-dir` 或 `--plugin-url` 為工作階段載入的外掛程式會在 `/plugin` 介面中出現,並且在相同旗標位於子命令前時才會在 `claude plugin list` 中出現,如 `claude --plugin-dir <dir> plugin list`。只有旗標名稱會指出它們的位置,因此裸 `claude plugin list` 無法找到它們,不同於同步外掛程式和技能目錄外掛程式,Claude Code 會掃描其固定目錄。1284* 使用 `--plugin-dir` 或 `--plugin-url` 為工作階段載入的外掛程式會在 `/plugin` 介面中出現,並且在相同旗標位於子命令前時才會在 `claude plugin list` 中出現,如 `claude --plugin-dir <dir> plugin list`。只有旗標名稱會指出它們的位置,因此裸 `claude plugin list` 無法找到它們,不同於同步外掛程式和技能目錄外掛程式,Claude Code 會掃描其固定目錄。

1247 1285 

1248互動式形式接受 `--enabled` 或 `--disabled` 以僅顯示該狀態中的外掛程式,並接受 `ls` 作為 `list` 的簡寫。1286互動式形式接受 `--enabled` 或 `--disabled` 以僅顯示該狀態中的外掛程式,並接受 `ls` 作為 `list` 的簡寫。


1520 版本管理1558 版本管理

1521</h3>1559</h3>

1522 1560 

1523Claude Code 使用外掛程式的版本作為快取金鑰,以判斷是否有可用的更新。當您執行 `/plugin update` 或自動更新觸發時,Claude Code 會計算目前版本,如果與已安裝的版本相符,則跳過更新。1561Claude Code 使用外掛程式的版本作為快取金鑰,以判斷是否有可用的更新。當您執行 `/plugin update` 或自動更新觸發時,Claude Code 會計算目前版本,如果與已安裝的版本相符,則跳過更新。從[本機目錄市集](#plugin-caching-and-file-resolution)載入的外掛程式會在每次工作階段開始時載入其目前的來源檔案,無論其版本字串說什麼。

1524 1562 

1525對於除了 `command` 以外的每種來源類型,Claude Code 會從以下第一個已設定的項目解析版本:1563對於除了 `command` 以外的每種來源類型,Claude Code 會從以下第一個已設定的項目解析版本:

1526 1564 


15282. 外掛程式在 `marketplace.json` 中的市集項目中的 `version` 欄位15662. 外掛程式在 `marketplace.json` 中的市集項目中的 `version` 欄位

15293. 外掛程式來源的 git 提交 SHA,適用於 git 託管市集中的 `github`、`url`、`git-subdir` 和相對路徑來源15673. 外掛程式來源的 git 提交 SHA,適用於 git 託管市集中的 `github`、`url`、`git-subdir` 和相對路徑來源

15304. SHA-256 摘要,適用於 [`archive` 來源](/docs/zh-TW/plugin-marketplaces#zip-archives):市集項目中的 `sha256` 釘選,或當您未設定釘選時下載檔案的摘要。Claude Code 將其縮短為前 12 個字元15684. SHA-256 摘要,適用於 [`archive` 來源](/docs/zh-TW/plugin-marketplaces#zip-archives):市集項目中的 `sha256` 釘選,或當您未設定釘選時下載檔案的摘要。Claude Code 將其縮短為前 12 個字元

15315. `unknown`,適用於 `npm` 來源或不在 git 儲存庫內的本機目錄15695. `unknown`,適用於 `npm` 來源或不在 git 儲存庫內的本機目錄。Claude Code 不會從包含安裝路徑的儲存庫(例如 git 管理的 `~/.claude`)中取得版本

1532 1570 

1533對於 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources),Claude Code 始終從命令產生的內容衍生版本:單獨的 12 字元內容雜湊,或在設定了一個時附加到 `plugin.json` 版本作為 `<version>-<hash>`。Claude Code 會忽略命令來源的市集項目 `version` 欄位。因此,命令的雜湊輸出變更會產生新版本,即使編寫的版本字串保持不變。在[連結模式](/docs/zh-TW/plugin-marketplaces#copy-mode-and-link-mode)中,雜湊涵蓋列印目錄的實際路徑及其頂層項目,而不是檔案內容。1571對於 [`command` 來源](/docs/zh-TW/plugin-marketplaces#command-sources),Claude Code 始終從命令產生的內容衍生版本:單獨的 12 字元內容雜湊,或在設定了一個時附加到 `plugin.json` 版本作為 `<version>-<hash>`。Claude Code 會忽略命令來源的市集項目 `version` 欄位。因此,命令的雜湊輸出變更會產生新版本,即使編寫的版本字串保持不變。在[連結模式](/docs/zh-TW/plugin-marketplaces#copy-mode-and-link-mode)中,雜湊涵蓋列印目錄的實際路徑及其頂層項目,而不是檔案內容。

1534 1572 

1535對於這些來源類型,這為您提供了三種方式來版本化外掛程式:1573對於這些來源類型,這為您提供了三種方式來版本化外掛程式:

1536 1574 

1537| 方法 | 如何操作 | 更新行為 | 最適合 |1575| 方法 | 如何操作 | 更新行為 | 最適合 |

1538| :------------ | :-------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- | :--------------------------- |1576| :------------ | :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- | :--------------------------- |

1539| **明確版本** | 在 `plugin.json` 中設定 `"version": "2.1.0"` | 使用者只有在您更新此欄位時才會獲得更新。推送新提交而不更新它沒有效果,`/plugin update` 會報告「已是最新版本」。 | 具有穩定發佈週期的已發佈外掛程式 |1577| **明確版本** | 在 `plugin.json` 中設定 `"version": "2.1.0"` | 使用者只有在您更新此欄位時才會獲得更新。推送新提交而不更新它沒有效果,`/plugin update` 會報告「已是最新版本」。對於[本機載入](#plugin-caching-and-file-resolution)的外掛程式,新內容仍會載入。 | 具有穩定發佈週期的已發佈外掛程式 |

1540| **提交 SHA 版本** | 從 `plugin.json` 和市集項目中省略 `version` | 每當來源的已解析提交變更時,使用者都會獲得更新 | 正在積極開發中的內部或團隊外掛程式 |1578| **提交 SHA 版本** | 從 `plugin.json` 和市集項目中省略 `version` | 每當來源的已解析提交變更時,使用者都會獲得更新 | 正在積極開發中的內部或團隊外掛程式 |

1541| **摘要版本** | 使用 [`archive` 來源](/docs/zh-TW/plugin-marketplaces#zip-archives)並從 `plugin.json` 和市集項目中省略 `version` | 使用 `sha256` 釘選時,使用者在您變更釘選時獲得更新。沒有釘選時,使用者在託管 zip 檔案的位元組變更時獲得更新 | 作為 zip 檔案發佈到靜態伺服器或成品儲存庫的外掛程式 |1579| **摘要版本** | 使用 [`archive` 來源](/docs/zh-TW/plugin-marketplaces#zip-archives)並從 `plugin.json` 和市集項目中省略 `version` | 使用 `sha256` 釘選時,使用者在您變更釘選時獲得更新。沒有釘選時,使用者在託管 zip 檔案的位元組變更時獲得更新 | 作為 zip 檔案發佈到靜態伺服器或成品儲存庫的外掛程式 |

1542 1580 

Details

88 88 

89每個模型都有自己的快取。使用 [`/model`](/docs/zh-TW/model-config#setting-your-model) 切換意味著下一個請求會讀取整個對話歷史記錄而沒有快取命中,即使內容相同。89每個模型都有自己的快取。使用 [`/model`](/docs/zh-TW/model-config#setting-your-model) 切換意味著下一個請求會讀取整個對話歷史記錄而沒有快取命中,即使內容相同。

90 90 

91當您在終端執行 `/model` 時,Claude Code 會要求您確認切換,但僅限於快取仍然溫暖時。快取在 Claude Code 在此對話中最後一次傳送請求或 Claude 最後一次回應後的一個[快取 TTL](#cache-lifetime) 內保持溫暖。一旦該時間過去,快取就會過期,因此 Claude Code 會在不詢問的情況下進行切換。91當您在終端執行 `/model` 時,Claude Code 會要求您確認切換,但僅限於快取仍然溫暖且新模型不是產生最後一個回應的模型時。快取在 Claude Code 在此對話中最後一次傳送請求或 Claude 最後一次回應後的一個[快取 TTL](#cache-lifetime) 內保持溫暖。一旦該時間過去,快取就會過期,因此 Claude Code 會在不詢問的情況下進行切換。

92 92 

93在 v2.1.238 之前,Claude Code 沒有檢查快取 TTL,即使在快取過期後也會詢問。93在 v2.1.238 之前,Claude Code 沒有檢查快取 TTL,即使在快取過期後也會詢問。

94 94 


264 變更輸出樣式264 變更輸出樣式

265</h3>265</h3>

266 266 

267當您在工作階段中使用 `/config` 或 `outputStyle` 設定切換[輸出樣式](/docs/zh-TW/output-styles)時,Claude 從您的下一條訊息開始使用新樣式。Claude Code 將新樣式的指示作為對話中的訊息傳遞,因此該請求仍然從快取中讀取系統提示和較早的對話。267當您在工作階段中使用 [`/output-style`](/docs/zh-TW/output-styles#change-your-output-style)、`/config` 或 `outputStyle` 設定切換[輸出樣式](/docs/zh-TW/output-styles)時,Claude 從您的下一條訊息開始使用新樣式。Claude Code 將新樣式的指示作為對話中的訊息傳遞,因此該請求仍然從快取中讀取系統提示和較早的對話。

268 268 

269在 v2.1.251 之前,在工作階段中切換樣式會保留快取,但在您執行 `/clear` 或開始新工作階段之前不會應用。269在 v2.1.251 之前,在工作階段中切換樣式會保留快取,但在您執行 `/clear` 或開始新工作階段之前不會應用。

270 270 


294 294 

295當您[復原工作階段](/docs/zh-TW/sessions#resume-a-session)時,Claude Code 會重新傳送整個對話,而請求會從快取中讀取其前綴中未變更且仍在[快取生命週期](#cache-lifetime)內的任何部分。本頁頂部的圖層表說明每個圖層的變更內容。295當您[復原工作階段](/docs/zh-TW/sessions#resume-a-session)時,Claude Code 會重新傳送整個對話,而請求會從快取中讀取其前綴中未變更且仍在[快取生命週期](#cache-lifetime)內的任何部分。本頁頂部的圖層表說明每個圖層的變更內容。

296 296 

297系統提示會在[Claude Code 升級](#upgrading-claude-code)後或在復原時使用不同的[`--append-system-prompt`](/docs/zh-TW/cli-reference#system-prompt-flags)文字時變更。根據預設,復原的對話會保留其開始時的系統提示,因此其歷史記錄仍位於相同提示後面,變更會在對話壓縮或新對話中生效。[復原對話中的系統提示旗標](/docs/zh-TW/cli-reference#system-prompt-flags-in-resumed-conversations)涵蓋 `--system-prompt-snapshot off` 和裸模式,其中此規則不適用。297系統提示會在[Claude Code 升級](#upgrading-claude-code)後或在復原時使用不同的[`--append-system-prompt`](/docs/zh-TW/cli-reference#system-prompt-flags)文字時變更。根據預設,復原的對話會保留其開始時的系統提示,因此其歷史記錄仍位於相同提示後面,變更會在對話壓縮或新對話中生效。[復原對話中的系統提示旗標](/docs/zh-TW/cli-reference#system-prompt-flags-in-resumed-conversations)涵蓋 Claude Code 在每個請求上重新建置提示的情況。

298 298 

299<h2 id="cache-lifetime">299<h2 id="cache-lifetime">

300 快取生命週期300 快取生命週期

remote-control.md +19 −22

Details

46 46 

47<Tabs>47<Tabs>

48 <Tab title="伺服器模式">48 <Tab title="伺服器模式">

49 導航到您的專案目錄並執行:49 在您的專案目錄中,執行:

50 50 

51 ```bash theme={null}51 ```bash theme={null}

52 claude remote-control52 claude remote-control


132 檢查連接狀態132 檢查連接狀態

133</h3>133</h3>

134 134 

135在互動式終端機會話中,當連接啟動時,`/rc active` 指示器會顯示,如果終端機太窄無法容納則會隱藏。使用[全螢幕呈現](/docs/zh-TW/fullscreen)時,它位於啟動標題中的工作目錄行末尾,沒有它時,位於輸入框下方的頁尾。135在互動式會話中,當 Remote Control 連接時,終端機會顯示 `/rc active` 指示器,該指示器連結到 claude.ai 上的會話。當終端機太窄無法容納時,指示器會隱藏。要查看會話 URL 和 QR 碼以從[另一個裝置連接](#connect-from-another-device),請再次執行 `/remote-control` 以開啟狀態面板。該面板也可讓您斷開 Remote Control 連接,同時您的本地會話會繼續在終端機中執行。

136 136 

137指示器文字是 claude.ai 上會話的連結。執行 `/remote-control` 再次以開啟狀態面板,其中包含會話 URL 和 QR 碼,您可以使用它從[另一個裝置連接](#connect-from-another-device)。當指示器在頁尾時,您也可以使用向下箭頭鍵選擇指示器並按 Enter 鍵以開啟面板。面板也提供斷開連接選項,可關閉 Remote Control,同時您的本地會話會繼續在終端機中執行。137<span id="session-ended-elsewhere" />如果連接在互動式會話中失敗,指示器會變更以顯示失敗,Claude Code 會在通知中顯示原因並將其新增到對話中。執行 `/remote-control` 以重新連接,除非原因說會話在其他地方被接管或結束:

138 138 

139如果連接失敗,Claude Code 會顯示一個通知,說明失敗原因,將失敗原因的警告行新增到對話中,並將指示器切換到保留在原位的失敗狀態。要重新連接,執行 `/remote-control`,除非[原因說會話在其他地方被接管或結束,或伺服器找不到它](#session-ended-elsewhere)。139* **另一個連接接管了此會話**:另一個裝置或 Claude Code 會話現在擁有它。只有在您想從該裝置奪回它時才執行 `/remote-control`。

140 140* **此會話從另一個裝置或應用程式被結束或封存**:只有在您想要它回來時才執行 `/remote-control`;Claude Code 會重新開啟已封存的會話。

141<span id="session-ended-elsewhere" />在重新連接之前讀取原因。當會話從另一個裝置、應用程式或 Claude Code 會話被接管或結束,或伺服器找不到它時,原因會說明是哪一個,Claude Code 會省略其通常的執行 `/remote-control` 的建議:141* **伺服器不再報告此會話**:它可能已從另一個裝置或應用程式中刪除。

142 

143* **另一個裝置或 Claude Code 會話接管了會話**:只有在您想從該裝置奪回它時才執行 `/remote-control`。

144* **您從另一個裝置或應用程式結束或封存了會話**:只有在您想要它回來時才執行 `/remote-control`;Claude Code 會重新開啟已封存的會話。

145* **伺服器找不到會話**:它可能已從另一個裝置或應用程式中刪除。

146 142 

147<h3 id="session-url-reminders">143<h3 id="session-url-reminders">

148 會話 URL 提醒144 會話 URL 提醒


178 174 

179當您從 claude.ai 或 Claude 應用程式重新命名會話時,Claude Code 也會更新在 `claude --resume` 中顯示的本地標題。Claude Code 將相同的重新命名應用於提示欄上顯示的會話名稱,以及當會話[在背景執行](/docs/zh-TW/agent-view)時 `claude agents` 清單中顯示的會話名稱。在 v2.1.221 之前,從 claude.ai 的會話清單或 Claude 應用程式中重新命名只會更新標題,CLI 會保留其先前的會話名稱;`/rename`(在 CLI 本身中執行)在任何版本上設定名稱。175當您從 claude.ai 或 Claude 應用程式重新命名會話時,Claude Code 也會更新在 `claude --resume` 中顯示的本地標題。Claude Code 將相同的重新命名應用於提示欄上顯示的會話名稱,以及當會話[在背景執行](/docs/zh-TW/agent-view)時 `claude agents` 清單中顯示的會話名稱。在 v2.1.221 之前,從 claude.ai 的會話清單或 Claude 應用程式中重新命名只會更新標題,CLI 會保留其先前的會話名稱;`/rename`(在 CLI 本身中執行)在任何版本上設定名稱。

180 176 

181如果您還沒有 Claude 應用程式,請在 Claude Code 內使用 `/mobile` 命令顯示 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 或 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 的下載 QR 碼。177如果您還沒有 Claude 應用程式,請在 Claude Code 內使用 `/mobile` 命令顯示 [claude.ai/mobile](https://claude.ai/mobile) 的 QR 碼,該碼會開啟適合您手機的應用程式商店。

182 178 

183<h3 id="what-connected-devices-see">179<h3 id="what-connected-devices-see">

184 連接的裝置看到什麼180 連接的裝置看到什麼


188 184 

189* **壓縮和 `/clear`**:當 Claude Code [壓縮對話](/docs/zh-TW/context-window#what-survives-compaction)時,連接的裝置會顯示進度,然後顯示對話被壓縮的位置。當您執行 `/clear` 時,對話也會在連接的裝置上重設。185* **壓縮和 `/clear`**:當 Claude Code [壓縮對話](/docs/zh-TW/context-window#what-survives-compaction)時,連接的裝置會顯示進度,然後顯示對話被壓縮的位置。當您執行 `/clear` 時,對話也會在連接的裝置上重設。

190* **使用 `/resume` 切換對話**:連接的裝置不會接收切換到的對話的標題或較早的歷史記錄,但雙向的新訊息會進出您的終端機中開啟的任何對話。要再次從裝置處理原始對話,請在您的終端機中執行 `/resume` 並切換回它。186* **使用 `/resume` 切換對話**:連接的裝置不會接收切換到的對話的標題或較早的歷史記錄,但雙向的新訊息會進出您的終端機中開啟的任何對話。要再次從裝置處理原始對話,請在您的終端機中執行 `/resume` 並切換回它。

191* **使用 `/teleport` 拉取會話**:當您使用 `/teleport` 將[Claude Code on the web 會話](/docs/zh-TW/claude-code-on-the-web#from-web-to-terminal)拉入您的終端機時,連接的裝置不會接收拉取的對話的較早歷史記錄。雙向的新訊息會進出拉取的對話,該對話現在是您的終端機中開啟的對話。187* **使用 `/teleport` 拉取會話**:當您使用 `/teleport` 將[雲端會話](/docs/zh-TW/claude-code-on-the-web#from-cloud-to-terminal)拉入您的終端機時,連接的裝置不會接收拉取的對話的較早歷史記錄。雙向的新訊息會進出拉取的對話,該對話現在是您的終端機中開啟的對話。

192* **來自您其他會話的訊息**:使用[跨會話訊息](/docs/zh-TW/cross-session-messaging),相同的連接會在不同機器上的您自己的會話之間以及來自您的 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 會話的訊息,通過 Anthropic 伺服器(如 Remote Control 流量的其餘部分)進行傳遞。[在其他機器上的訊息會話](/docs/zh-TW/cross-session-messaging#message-sessions-on-other-machines)涵蓋傳遞規則,[控制入站訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)涵蓋入站控制。需要 Claude Code v2.1.224 或更新版本。188* **來自您其他會話的訊息**:使用[跨會話訊息](/docs/zh-TW/cross-session-messaging),相同的連接會在不同機器上的您自己的會話之間以及來自您的[雲端會話](/docs/zh-TW/claude-code-on-the-web)的訊息,通過 Anthropic 伺服器(如 Remote Control 流量的其餘部分)進行傳遞。[在其他機器上的訊息會話](/docs/zh-TW/cross-session-messaging#message-sessions-on-other-machines)涵蓋傳遞規則,[控制入站訊息](/docs/zh-TW/cross-session-messaging#control-inbound-messages)涵蓋入站控制。需要 Claude Code v2.1.224 或更新版本。

193* **您在回合中途發送的提示**:當您在目前回合結束之前從連接的裝置發送提示時,Claude Code 會將其排隊,並在該回合完成後將其保留在裝置的文字記錄中。189* **您在回合中途發送的提示**:當您在目前回合結束之前從連接的裝置發送提示時,Claude Code 會將其排隊,並在該回合完成後將其保留在裝置的文字記錄中。

194* **您的變更的差異**:當會話的目錄在 git 儲存庫中時,連接的裝置的差異窗格會顯示您未提交變更的差異。該裝置通過連接請求差異,Claude Code 在您的機器上計算它。當您的工作樹是乾淨的時,Claude Code 改為提供您的分支自從它從預設分支分歧以來的變更。在 v2.1.247 之前,Claude Code 只向由 `claude remote-control` 提供的會話中的連接的裝置報告差異。190* **您的變更的差異**:當會話的目錄在 git 儲存庫中時,連接的裝置的差異窗格會顯示您未提交變更的差異。該裝置通過連接請求差異,Claude Code 在您的機器上計算它。當您的工作樹是乾淨的時,Claude Code 改為提供您的分支自從它從預設分支分歧以來的變更。在 v2.1.247 之前,Claude Code 只向由 `claude remote-control` 提供的會話中的連接的裝置報告差異。

195* **模型**:當您從連接的裝置選擇[模型](/docs/zh-TW/model-config)時,Claude Code 會在該模型上執行會話。終端機的 `/model` 選擇器、`/status` 和 `/config` 會顯示該模型。需要 Claude Code v2.1.238 或更新版本。191* **模型**:當您從連接的裝置選擇[模型](/docs/zh-TW/model-config)時,Claude Code 會在該模型上執行會話。終端機的 `/model` 選擇器、`/status` 和 `/config` 會顯示該模型。需要 Claude Code v2.1.238 或更新版本。


312 308 

313對於遺失或被盜的裝置,成員從此頁面移除它。如果成員無法登入,管理員可以在管理員主控台中使用**到處登出**來撤銷該成員的每個會話和已註冊的裝置,之後成員重新註冊他們仍然持有的裝置。309對於遺失或被盜的裝置,成員從此頁面移除它。如果成員無法登入,管理員可以在管理員主控台中使用**到處登出**來撤銷該成員的每個會話和已註冊的裝置,之後成員重新註冊他們仍然持有的裝置。

314 310 

315<h2 id="remote-control-vs-claude-code-on-the-web">311<h2 id="remote-control-vs-cloud-sessions">

316 Remote Control 與網頁版 Claude Code 的比較312 Remote Control 與雲端會話的比較

317</h2>313</h2>

318 314 

319Remote Control 和[網頁版 Claude Code](/docs/zh-TW/claude-code-on-the-web)都使用 claude.ai/code 介面。關鍵區別在於會話執行的位置:Remote Control 在您的機器上執行,因此您的本地 MCP servers、工具和專案設定保持可用。網頁版 Claude Code 在雲端執行。315Remote Control 和[雲端會話](/docs/zh-TW/claude-code-on-the-web)都使用 claude.ai/code 介面。關鍵區別在於會話執行的位置:Remote Control 在您的機器上執行,因此您的本地 MCP servers、工具和專案設定保持可用。雲端會話在雲端基礎設施上執行,預設由 Anthropic 管理。

320 316 

321當您在本地工作中途並想從另一個裝置繼續時,請使用 Remote Control。當您想在沒有任何本地設定的情況下啟動任務、處理您沒有複製的儲存庫或並行執行多個任務時,請使用網頁版 Claude Code。317當您在本地工作中途並想從另一個裝置繼續時,請使用 Remote Control。當您想在沒有任何本地設定的情況下啟動任務、處理您沒有複製的儲存庫或並行執行多個任務時,請使用雲端會話。

322 318 

323<h2 id="mobile-push-notifications">319<h2 id="mobile-push-notifications">

324 行動推播通知320 行動推播通知


374 * 文字輸出命令:`/compact`、`/clear`、`/context`、`/usage`、`/exit`、`/usage-credits`、`/recap` 和 `/reload-plugins`。`/usage-credits` 列印帳單 URL 而不是開啟瀏覽器。`/reload-plugins` 只在會話在互動式終端機中執行時有效;沒有終端機的會話會拒絕它。370 * 文字輸出命令:`/compact`、`/clear`、`/context`、`/usage`、`/exit`、`/usage-credits`、`/recap` 和 `/reload-plugins`。`/usage-credits` 列印帳單 URL 而不是開啟瀏覽器。`/reload-plugins` 只在會話在互動式終端機中執行時有效;沒有終端機的會話會拒絕它。

375 * `/model`、`/effort`、`/fast`、`/color` 和 `/rename`:將值作為引數傳遞,例如 `/model sonnet` 或 `/effort high`。從行動和網頁,`/model` 和 `/effort` 在終端機選擇器或滑桿的位置接受引數。371 * `/model`、`/effort`、`/fast`、`/color` 和 `/rename`:將值作為引數傳遞,例如 `/model sonnet` 或 `/effort high`。從行動和網頁,`/model` 和 `/effort` 在終端機選擇器或滑桿的位置接受引數。

376 * `/mcp`:從行動應用程式,傳回伺服器狀態的文字摘要而不是開啟選擇器。在網頁上,`/mcp` 單獨開啟 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)的目錄而不是傳回摘要。`reconnect`、`enable` 和 `disable` [子命令](/docs/zh-TW/commands#all-commands)可從兩者使用。與本地 CLI 不同,`/mcp reconnect` 不帶伺服器名稱會重新連接每個已失敗或需要驗證的伺服器。372 * `/mcp`:從行動應用程式,傳回伺服器狀態的文字摘要而不是開啟選擇器。在網頁上,`/mcp` 單獨開啟 [claude.ai 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai)的目錄而不是傳回摘要。`reconnect`、`enable` 和 `disable` [子命令](/docs/zh-TW/commands#all-commands)可從兩者使用。與本地 CLI 不同,`/mcp reconnect` 不帶伺服器名稱會重新連接每個已失敗或需要驗證的伺服器。

377 * `/config`,自 v2.1.181 起:從行動應用程式,傳遞 `key=value` 以設定設定,或不帶引數執行以列出您可以設定的金鑰。在網頁上,`/config` 改為開啟您設定的 Claude Code 部分,並忽略命令後的文字。373 * `/config`:從行動應用程式,傳遞 `key=value` 以設定設定,或不帶引數執行以列出您可以設定的金鑰。在網頁上,`/config` 改為開啟您設定的 Claude Code 部分,並忽略命令後的文字。

378 * 在 Team 和 Enterprise 上,從行動或網頁執行的 `/usage-credits` 不會傳送[使用額度請求給您的管理員](/docs/zh-TW/costs#add-usage-credits-to-your-subscription)。傳送需要只在互動式 CLI 中出現的確認,因此命令會告訴您改為在那裡執行它。在 v2.1.211 之前,文字形式會在沒有確認的情況下傳送請求。374 * 在 Team 和 Enterprise 上,從行動或網頁執行的 `/usage-credits` 不會傳送[使用額度請求給您的管理員](/docs/zh-TW/costs#add-usage-credits-to-your-subscription)。傳送需要只在互動式 CLI 中出現的確認,因此命令會告訴您改為在那裡執行它。在 v2.1.211 之前,文字形式會在沒有確認的情況下傳送請求。

379 * `/autocompact`,自 v2.1.221 起:將視窗大小作為引數傳遞,例如 `/autocompact 500k`。不帶引數時,它會列印目前的視窗大小作為文字,而不是開啟命令在終端機會話中顯示的對話框。375 * `/autocompact`,自 v2.1.221 起:將視窗大小作為引數傳遞,例如 `/autocompact 500k`。不帶引數時,它會列印目前的視窗大小作為文字,而不是開啟命令在終端機會話中顯示的對話框。

380 * `/advisor`,自 v2.1.260 起:將模型作為引數傳遞,例如 `/advisor opus`,或傳遞 `off` 以關閉顧問。兩種形式都只適用於目前會話,並保持您已儲存的預設值不變。不帶引數時,它會列印目前的顧問作為文字,而不是開啟選擇器。376 * `/advisor`,自 v2.1.260 起:將模型作為引數傳遞,例如 `/advisor opus`,或傳遞 `off` 以關閉顧問。兩種形式都只適用於目前會話,並保持您已儲存的預設值不變。不帶引數時,它會列印目前的顧問作為文字,而不是開啟選擇器。

377 * `/output-style`,自 v2.1.269 起:將樣式名稱作為引數傳遞,例如 `/output-style concise`,或不帶引數執行以列出樣式。從行動和網頁,您只能列出和選擇[內建樣式](/docs/zh-TW/output-styles#built-in-output-styles)。若要使用[自訂樣式](/docs/zh-TW/output-styles#create-a-custom-output-style),請在會話本身中選擇它。

381 378 

382<h2 id="troubleshooting">379<h2 id="troubleshooting">

383 疑難排解380 疑難排解


389 386 

390您未使用 claude.ai 帳戶進行驗證,或另一個認證優先於您的登入。此訊息採用以下其中一種形式:387您未使用 claude.ai 帳戶進行驗證,或另一個認證優先於您的登入。此訊息採用以下其中一種形式:

391 388 

392* 已登出,來自 `/remote-control` 或 `--remote-control`:`Remote Control requires a claude.ai subscription.`389* 已登出,來自 `/remote-control` 或 `--remote-control`:`Remote Control requires a claude.ai subscription.` 或 `/remote-control requires a claude.ai subscription.`

393* 已登出,來自 `claude remote-control`:`You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`390* 已登出,來自 `claude remote-control`:`You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

394* 已登入,但正在使用 API 金鑰或令牌:`Remote Control requires claude.ai subscription auth.` 後面跟著正在使用的認證,例如 `ANTHROPIC_API_KEY is set, so this session is using API-key auth`。`apiKeyHelper` 設定和 `ANTHROPIC_AUTH_TOKEN` 的命名方式相同。391* 已登入,但正在使用 API 金鑰或令牌:`Remote Control requires claude.ai subscription auth.` 後面跟著正在使用的認證,例如 `ANTHROPIC_API_KEY is set, so this session is using API-key auth`。`apiKeyHelper` 設定和 `ANTHROPIC_AUTH_TOKEN` 的命名方式相同。

395 392 


535 相關資源532 相關資源

536</h2>533</h2>

537 534 

538* [網頁版 Claude Code](/docs/zh-TW/claude-code-on-the-web):在雲端執行會話而不是在您的機器上,透過[雲端環境](/docs/zh-TW/cloud-environments)設定535* [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web):在雲端執行會話而不是在您的機器上,透過[雲端環境](/docs/zh-TW/cloud-environments)設定

539* [跨會話訊息](/docs/zh-TW/cross-session-messaging):讓 Claude 在其他機器或[網頁版 Claude Code](/docs/zh-TW/claude-code-on-the-web) 上傳送訊息給您的會話536* [跨會話訊息](/docs/zh-TW/cross-session-messaging):讓 Claude 在其他機器或您的[雲端會話](/docs/zh-TW/claude-code-on-the-web)上傳送訊息給您的會話

540* [Channels](/docs/zh-TW/channels):將 Telegram、Discord 或 iMessage 轉發到會話中,以便 Claude 在您離開時對訊息做出反應537* [Channels](/docs/zh-TW/channels):將 Telegram、Discord 或 iMessage 轉發到會話中,以便 Claude 在您離開時對訊息做出反應

541* [Dispatch](/docs/zh-TW/desktop#sessions-from-dispatch):從您的手機傳送任務訊息,它可以生成 Desktop 會話來處理它538* [Dispatch](/docs/zh-TW/desktop#sessions-from-dispatch):從您的手機傳送任務訊息,它可以生成 Desktop 會話來處理它

542* [驗證](/docs/zh-TW/authentication):設定 `/login` 並管理 claude.ai 的認證539* [驗證](/docs/zh-TW/authentication):設定 `/login` 並管理 claude.ai 的認證

543* [CLI 參考](/docs/zh-TW/cli-reference):包括 `claude remote-control` 的旗標和命令的完整清單540* [CLI 參考](/docs/zh-TW/cli-reference):包括 `claude remote-control` 的旗標和命令的完整清單

544* [安全性](/docs/zh-TW/security):Remote Control 會話如何適應 Claude Code 安全模型541* [安全性](/docs/zh-TW/security):Remote Control 會話如何適應 Claude Code 安全模型

545* [資料使用](/docs/zh-TW/data-usage):在本地和遠端會話期間透過 Anthropic API 流動的資料542* [資料使用](/docs/zh-TW/data-usage):在本地、Remote Control 和雲端會話期間透過 Anthropic API 流動的資料

routines.md +15 −17

Details

174 174 

175<Steps>175<Steps>

176 <Step title="Open the routine for editing">176 <Step title="Open the routine for editing">

177 前往 [claude.ai/code/routines](https://claude.ai/code/routines),點擊您想透過 API 觸發的例行工作,然後點擊鉛筆圖示以開啟 **Edit routine**。177 前往 [claude.ai/code/routines](https://claude.ai/code/routines),點擊您想透過 API 觸發的例行工作,然後開啟例行工作名稱旁邊的選單並選擇 **Edit**。

178 </Step>178 </Step>

179 179 

180 <Step title="Add an API trigger">180 <Step title="Add an API trigger">


254 254 

255<Steps>255<Steps>

256 <Step title="Open the routine for editing">256 <Step title="Open the routine for editing">

257 前往 [claude.ai/code/routines](https://claude.ai/code/routines),點擊例行工作,然後點擊鉛筆圖示以開啟 **Edit routine**。257 前往 [claude.ai/code/routines](https://claude.ai/code/routines),點擊例行工作,然後開啟例行工作名稱旁邊的選單並選擇 **Edit**。

258 </Step>258 </Step>

259 259 

260 <Step title="Add a GitHub event trigger">260 <Step title="Add a GitHub event trigger">


331從例行程序詳細資訊頁面,您可以:331從例行程序詳細資訊頁面,您可以:

332 332 

333* 點擊 **Run now** 立即開始運行,無需等待下一個排程時間。您可以選擇性地提供運行特定的文字,該文字以與 API 觸發器的 `text` 欄位相同的方式到達例行程序。333* 點擊 **Run now** 立即開始運行,無需等待下一個排程時間。您可以選擇性地提供運行特定的文字,該文字以與 API 觸發器的 `text` 欄位相同的方式到達例行程序。

334* 使用 **Repeats** 部分中的切換暫停或恢復排程。暫停的例行程序保留其設定但不運行,直到您重新啟用它們。334* 使用頁面頂部的開/關切換暫停或恢復排程。暫停的例行程序保留其設定但不運行,直到您重新啟用它們。

335* 點擊鉛筆圖標打開 **Edit routine** 並更改名稱、提示、存儲庫、環境、connectors 或例行程序的任何觸發器。**Select a trigger** 部分是您新增或移除排程、API 令牌和 GitHub 事件觸發器的地方。335* 打開例行程序名稱旁邊的菜單並選擇 **Edit** 以變更名稱、提示、存儲庫、環境、connectors 或例行程序的任何觸發器。**Select a trigger** 部分是您新增或移除排程、API 令牌和 GitHub 事件觸發器的地方。

336* 點擊刪除圖標移除例行程序。由例行程序建立的過去會話保留在您的會話列表中。336* 打開相同的菜單並選擇 **Delete** 以刪除例行程序。

337 337 

338<h3 id="manage-routines-from-the-cli">338<h3 id="manage-routines-from-the-cli">

339 從 CLI 管理例行程序339 從 CLI 管理例行程序


381 381 

382<Steps>382<Steps>

383 <Step title="打開例行程序進行編輯">383 <Step title="打開例行程序進行編輯">

384 在例行程序的詳細資訊頁面上,點擊鉛筆圖標打開 **Edit routine**。384 在例行程序的詳細資訊頁面上,打開例行程序名稱旁邊的菜單並選擇 **Edit**。

385 </Step>385 </Step>

386 386 

387 <Step title="打開環境選擇器">387 <Step title="打開環境選擇器">


421 `/schedule` 返回「Unknown command」421 `/schedule` 返回「Unknown command」

422</h3>422</h3>

423 423 

424當不滿足其中一項要求時,CLI 會隱藏 `/schedule`:命令菜單在您輸入時會顯示 `No commands match "/schedule"`,提交時會返回 `Unknown command: /schedule`。除了使用 Console API 金鑰或啟用功能旗標擷取的 Anthropic 設定檔外,以下情況都會返回 `Unknown command: /schedule`。原因通常是以下之一:424當不滿足其中一項要求時,CLI 會隱藏 `/schedule`:命令菜單在您輸入時會顯示 `No commands match "/schedule"`,提交時會返回 `Unknown command: /schedule`,除了以下注明不同答案的情況外。

425 425 

426* 您使用 Console API 金鑰、[Anthropic 設定檔或聯盟認證](/docs/zh-TW/authentication#anthropic-profiles-and-federation-credentials),或雲端提供商(例如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry)進行身份驗證。`/schedule` 需要 claude.ai 訂閱登入。使用 Console API 金鑰或設定檔時,提交 `/schedule` 會改為顯示 `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`。使用雲端提供商登入時,您仍會看到 `Unknown command: /schedule`。如果在您的 shell 中設定了 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,或在 `settings.json` 中設定了 `apiKeyHelper`,請先移除它,因為這些設定優先於 claude.ai 登入。設定檔或聯盟認證也會優先,因此請同時關閉該設定426原因通常是以下之一:

427* 您在 Claude Code 網頁工作階段中。改為從 [web UI](https://claude.ai/code/routines) 管理例行程序

428* 您的組織政策停用了 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web),例行程序在其上執行

429* Owner 為您的 Team 或 Enterprise 組織[關閉了例行程序](#routines-are-disabled-by-your-organizations-policy)。在 v2.1.227 之前,命令在此情況下仍會出現,而 claude.ai 會在 Claude 嘗試建立或執行例行程序時拒絕它

430 

431除非您的組織政策停用了例行程序或 Claude Code on the web,否則無論 CLI 如何配置,您都可以在 [claude.ai/code/routines](https://claude.ai/code/routines) 建立和管理例行程序。

432 427 

433<h3 id="/schedule-asks-you-to-authenticate">428* 您使用 Console API 金鑰、[Anthropic 設定檔或聯盟認證](/docs/zh-TW/authentication#anthropic-profiles-and-federation-credentials),或雲端提供商(例如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry)進行身份驗證。`/schedule` 需要 claude.ai 訂閱登入。使用 Console API 金鑰或設定檔時,且啟用功能旗標擷取,提交 `/schedule` 會改為顯示 `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`。使用雲端提供商登入時,您仍會看到 `Unknown command: /schedule`。如果在您的 shell 中設定了 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,或在 `settings.json` 中設定了 `apiKeyHelper`,請先移除它,因為這些設定優先於 claude.ai 登入。設定檔或聯盟認證也會優先,因此請同時關閉該設定

434 `/schedule` 要求您進行身份驗證429* 您完全登出,沒有 API 金鑰或其他認證。啟用功能旗標擷取時,提交 `/schedule` 會顯示 `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` 在 v2.1.268 之前,登出的工作階段會顯示與 Console API 金鑰相同的 Claude for Enterprise 訊息

435</h3>430* 您在雲端工作階段中。改為從 [web UI](https://claude.ai/code/routines) 管理例行程序

431* 您的組織政策停用了[雲端工作階段](/docs/zh-TW/claude-code-on-the-web),例行程序在其上執行。在此情況下,提交 `/schedule` 會回答 [`Cloud sessions are disabled by your organization's policy`](/docs/zh-TW/errors#cloud-sessions-are-disabled-by-your-organizations-policy)。在 v2.1.268 之前,它返回 `Unknown command: /schedule`

432* Owner 為您的 Team 或 Enterprise 組織[關閉了例行程序](#routines-are-disabled-by-your-organizations-policy)。在 v2.1.227 之前,命令在此情況下仍會出現,而 claude.ai 會在 Claude 嘗試建立或執行例行程序時拒絕它

436 433 

437如果 `/schedule` 執行但 Claude 回應您需要先使用 claude.ai 帳戶進行身份驗證,則 CLI 沒有儲存的 claude.ai 登入。API 帳戶不支援例行程序。執行 `/login`,使用您的 claude.ai 帳戶登入,然後再次執行 `/schedule`。434除非您的組織政策停用了例行程序或雲端工作階段,否則無論 CLI 如何配置,您都可以在 [claude.ai/code/routines](https://claude.ai/code/routines) 建立和管理例行程序。

438 435 

439<h3 id="routines-are-disabled-by-your-organizations-policy">436<h3 id="routines-are-disabled-by-your-organizations-policy">

440 「例行程序已被您的組織政策禁用」437 「例行程序已被您的組織政策禁用」


449* [`/loop` 和會話內排程](/docs/zh-TW/scheduled-tasks):在打開的 CLI 會話中排程本地任務446* [`/loop` 和會話內排程](/docs/zh-TW/scheduled-tasks):在打開的 CLI 會話中排程本地任務

450* [Desktop scheduled tasks](/docs/zh-TW/desktop-scheduled-tasks):在您的機器上運行的本地排程任務,可以訪問本地檔案447* [Desktop scheduled tasks](/docs/zh-TW/desktop-scheduled-tasks):在您的機器上運行的本地排程任務,可以訪問本地檔案

451* [Cloud environments](/docs/zh-TW/cloud-environments):為雲會話配置網路存取、環境變數和設定指令碼448* [Cloud environments](/docs/zh-TW/cloud-environments):為雲會話配置網路存取、環境變數和設定指令碼

449* [Projects](/docs/zh-TW/claude-projects):Claude 在平行雲會話中協調的進行中工作;從專案建立的例行工作會出現在其 **Routines** 標籤上

452* [MCP connectors](/docs/zh-TW/mcp):連接外部服務,如 Slack、Linear 和 Google Drive450* [MCP connectors](/docs/zh-TW/mcp):連接外部服務,如 Slack、Linear 和 Google Drive

453* [GitHub Actions](/docs/zh-TW/github-actions):在存儲庫事件上在您的 CI 管道中運行 Claude451* [GitHub Actions](/docs/zh-TW/github-actions):在存儲庫事件上在您的 CI 管道中運行 Claude

Details

21下表中的前兩種方法在主機作業系統上執行,不使用容器。其餘的方法將 Claude Code 放在容器或虛擬機內。21下表中的前兩種方法在主機作業系統上執行,不使用容器。其餘的方法將 Claude Code 放在容器或虛擬機內。

22 22 

23| 方法 | 隔離的內容 | 需要 Docker | 設定工作量 |23| 方法 | 隔離的內容 | 需要 Docker | 設定工作量 |

24| :------------------------------------------------ | :-------------------------------------- | :-------- | :------------------------- |24| :------------------------------------------ | :-------------------------------------- | :-------- | :------------------------------------------------------ |

25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash 命令及其子進程 | 否 | macOS 上最少;Linux 和 WSL2 上較少 |25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash、PowerShell 和 Monitor 命令及其子進程 | 否 | macOS 上最少;Linux 和 WSL2 上較少 |

26| [Sandbox runtime](#sandbox-runtime) | 整個 Claude Code 進程,包括檔案工具、MCP 伺服器和 hooks | 否 | 較少 |26| [Sandbox runtime](#sandbox-runtime) | 整個 Claude Code 進程,包括檔案工具、MCP 伺服器和 hooks | 否 | 較少 |

27| [Dev container](#dev-containers) | 完整開發環境 | 是 | 中等 |27| [Dev container](#dev-containers) | 完整開發環境 | 是 | 中等 |

28| [Custom container](#custom-container) | 完整開發環境 | 是 | 中等到高 |28| [Custom container](#custom-container) | 完整開發環境 | 是 | 中等到高 |

29| [Virtual machine](#virtual-machine) | 完整作業系統 | 否 | 高 |29| [Virtual machine](#virtual-machine) | 完整作業系統 | 否 | 高 |

30| [Claude Code on the web](#claude-code-on-the-web) | 完整作業系統,由 Anthropic 託管 | 否 | 無;需要 Claude 訂閱和 GitHub |30| [Cloud sessions](#cloud-sessions) | 完整作業系統,由 Anthropic 託管 | 否 | 無;需要 Claude 訂閱和已連接的 GitHub 帳戶,除非您使用 `claude --cloud` 啟動 |

31 31 

32[Sandboxed Bash tool](/docs/zh-TW/sandboxing) 內建於 Claude Code 中,僅限制 Bash 命令。內建檔案工具、MCP 伺服器和 hooks 仍直接在您的主機上執行。表中的所有其他方法都將整個 Claude Code 進程放在隔離邊界內,因此檔案工具、MCP 伺服器和 hooks 也受到限制。32[Sandboxed Bash tool](/docs/zh-TW/sandboxing) 內建於 Claude Code 中,僅限制 Bash 命令。內建檔案工具、MCP 伺服器和 hooks 仍直接在您的主機上執行。表中的所有其他方法都將整個 Claude Code 進程放在隔離邊界內,因此檔案工具、MCP 伺服器和 hooks 也受到限制。

33 33 


44將您的目標與下方的一列相符,然後閱讀隨後的詳細部分。44將您的目標與下方的一列相符,然後閱讀隨後的詳細部分。

45 45 

46| 您想要 | 開始使用 |46| 您想要 | 開始使用 |

47| :-------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |47| :------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |

48| 在您自己的機器上減少日常工作中的權限提示 | [沙箱化 Bash 工具](/docs/zh-TW/sandboxing),使用 `/sandbox` 設定 |48| 在您自己的機器上減少日常工作中的權限提示 | [沙箱化 Bash 工具](/docs/zh-TW/sandboxing),使用 `/sandbox` 設定 |

49| 讓 Claude 使用 `--dangerously-skip-permissions` 或自動模式無人值守地工作 | 預先設定的 [dev container](/docs/zh-TW/devcontainer)、任何容器或虛擬機,或 [沙箱執行時](#sandbox-runtime) |49| 讓 Claude 使用 `--dangerously-skip-permissions` 或自動模式無人值守工作 | 預先設定的 [開發容器](/docs/zh-TW/devcontainer)、任何容器或虛擬機,或 [沙箱執行時](#sandbox-runtime) |

50| 隔離 MCP 伺服器和 hooks 以及 Bash,無需 Docker | 沙箱執行時 |50| 隔離 MCP 伺服器和 hooks 以及 Bash,無需 Docker | 沙箱執行時 |

51| 在不受信任的儲存庫上工作 | 專用虛擬機,或如果您有 Claude 訂閱,可使用 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web);GitHub 僅在您從網頁介面啟動時才需要 |51| 在不受信任的儲存庫上工作 | 專用虛擬機,或 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web)(如果您有 Claude 訂閱);使用 `claude --cloud` 啟動時不需要 GitHub |

52| 在整個團隊中標準化沙箱化環境 | 預先設定的 [dev container](/docs/zh-TW/devcontainer),複製到您的儲存庫中 |52| 在團隊中標準化沙箱化環境 | 預先設定的 [開發容器](/docs/zh-TW/devcontainer),複製到您的儲存庫中 |

53| 從沒有本地設定的裝置使用 Claude Code | [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web),需要 Claude 訂閱和已連接的 GitHub 帳戶 |53| 從沒有本機設定的裝置使用 Claude Code | [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),需要 Claude 訂閱和已連接的 GitHub 帳戶 |

54| 為您組織中的每位開發人員要求隔離 | [在整個組織中強制隔離](#enforce-isolation-across-an-organization) |54| 為組織中的每位開發人員要求隔離 | [在整個組織中強制隔離](#enforce-isolation-across-an-organization) |

55| 在原生 Windows 主機上工作 | 容器或虛擬機,或在 WSL2 內執行 Bash 沙箱 |55| 在原生 Windows 主機上工作 | 容器或虛擬機,或在 WSL2 內執行 Bash 沙箱 |

56 56 

57<h3 id="how-isolation-relates-to-permission-modes">57<h3 id="how-isolation-relates-to-permission-modes">

58 隔離如何與權限模式相關58 隔離如何與權限模式相關

59</h3>59</h3>

60 60 

61[權限模式](/docs/zh-TW/permission-modes)決定工具呼叫是否執行以及是否首先提示您。隔離限制命令執行後可以存取的內容。兩者協同工作:當權限模式允許動作在不詢問您的情況下執行時,隔離邊界限制這些動作可以到達的內容。61[權限模式](/docs/zh-TW/permission-modes)決定工具呼叫是否執行以及是否先提示您。隔離限制命令執行後可以存取的內容。兩者協同工作:當權限模式允許動作在不詢問您的情況下執行時,隔離邊界限制這些動作可以到達的內容。

62 62 

63當您傳遞 `--dangerously-skip-permissions` 時,Claude 在不首先詢問您的情況下執行。[沒有模式自動批准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)仍然適用。63當您傳遞 `--dangerously-skip-permissions` 時,Claude 在不先詢問您的情況下執行動作。[任何模式自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)仍然適用。

64 64 

65沒有提示來捕捉錯誤,您選擇的隔離邊界是保護您系統的因素。始終在容器、虛擬機或 [沙箱執行時](#sandbox-runtime)內執行 `--dangerously-skip-permissions` 工作階段,以便檔案工具、MCP 伺服器和 hooks 也在邊界內。在 Linux 和 macOS 上,Claude Code 在以 root 身份執行時拒絕使用此旗標啟動,因此請以非 root 使用者身份執行容器、虛擬機或沙箱執行時。65沒有提示來捕捉錯誤,您選擇的隔離邊界是保護您系統的因素。始終在容器、虛擬機或 [沙箱執行時](#sandbox-runtime)內執行 `--dangerously-skip-permissions` 工作階段,以便檔案工具、MCP 伺服器和 hooks 也在邊界內。在 Linux 和 macOS 上,Claude Code 在以 root 身份執行時拒絕使用此旗標啟動,因此請以非 root 使用者身份執行容器、虛擬機或沙箱執行時。

66 66 

67[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)將提示替換為檢查動作的分類器。分類器是按動作的控制,而不是隔離邊界,因此隔離邊界仍為無人值守執行增加深度防禦,並且不像 `--dangerously-skip-permissions` 那樣是必需的。67[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)將提示替換為檢查動作的分類器。分類器是按動作的控制,而不是隔離邊界,因此隔離邊界仍為無人值守執行增加深度防禦,並且不像 `--dangerously-skip-permissions` 那樣是必需的。

68 68 

69[沙箱化 Bash 工具](#sandboxed-bash-tool)本身只限制 Bash,因此對於任一模式中的完全無人值守執行都不夠。您可以分層方法:在容器或虛擬機內執行沙箱化 Bash 工具可在外部環境邊界之上為您提供作業系統級命令限制。有關 Bash 沙箱本身如何與權限規則和權限模式互動的詳細資訊,請參閱 [沙箱化如何與權限和權限模式相關](/docs/zh-TW/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)。69[沙箱化 Bash 工具](#sandboxed-bash-tool)本身只限制 shell 命令,因此對於任一模式中的完全無人值守執行都不夠。您可以分層方法:在容器或虛擬機內執行沙箱化 Bash 工具可在外部環境邊界之上為您提供作業系統級命令限制。有關 Bash 沙箱本身如何與權限規則和權限模式互動的詳細資訊,請參閱 [沙箱化如何與權限和權限模式相關](/docs/zh-TW/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)。

70 70 

71<h2 id="sandboxed-bash-tool">71<h2 id="sandboxed-bash-tool">

72 Sandboxed Bash tool72 Sandboxed Bash tool


76 此選項不支援原生 Windows。在 Windows 主機上,使用 WSL2 或下面的容器或虛擬機方法之一。76 此選項不支援原生 Windows。在 Windows 主機上,使用 WSL2 或下面的容器或虛擬機方法之一。

77</Note>77</Note>

78 78 

79Sandboxed Bash tool 內建於 Claude Code 中。它使用作業系統原語來限制 Claude 執行的每個 Bash 命令的檔案系統和網路存取。79Sandboxed Bash tool 內建於 Claude Code 中。它使用作業系統原語來限制 Claude 執行的每個 Bash、PowerShell 或 Monitor 命令的檔案系統和網路存取。

80 80 

81執行 `/sandbox` 命令以開啟沙箱面板並選擇一個模式。[Sandboxing](/docs/zh-TW/sandboxing) 指南涵蓋批准模式、預設邊界以及如何擴大或縮小它。81執行 `/sandbox` 命令以開啟沙箱面板並選擇一個模式。[Sandboxing](/docs/zh-TW/sandboxing) 指南涵蓋批准模式、預設邊界以及如何擴大或縮小它。

82 82 


91 Sandbox runtime91 Sandbox runtime

92</h2>92</h2>

93 93 

94[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) 套件將整個進程包裝在內建 Bash 沙箱使用的相同 Seatbelt 或 bubblewrap 隔離中。通過它執行 Claude Code 會限制會話中的每個工具、hook 和 MCP 伺服器,而不僅僅是 Bash。該 runtime 是測試版研究預覽,其配置格式可能會隨著套件的發展而改變。94[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) 套件將整個進程包裝在內建 Bash 沙箱使用的相同 Seatbelt 或 bubblewrap 隔離中。通過它執行 Claude Code 會限制會話中的每個工具、hook 和 MCP 伺服器,而不僅僅是 Bash 命令。該 runtime 是測試版研究預覽,其配置格式可能會隨著套件的發展而改變。

95 95 

96本節涵蓋您配置的內容以及 runtime 自行強制執行的內容。有關在 Agent SDK 應用程式中部署 runtime,請參閱[安全部署指南](/docs/zh-TW/agent-sdk/secure-deployment#sandbox-runtime)。96本節涵蓋您配置的內容以及 runtime 自行強制執行的內容。有關在 Agent SDK 應用程式中部署 runtime,請參閱[安全部署指南](/docs/zh-TW/agent-sdk/secure-deployment#sandbox-runtime)。

97 97 


175 175 

176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) 提供了一個具有自己的 Docker daemon 和工作區同步的 microVM,可以在任何安裝了 Docker Sandboxes 的主機上執行 Claude Code。它是來自 Docker 的免費獨立產品,不需要 Docker Desktop。176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) 提供了一個具有自己的 Docker daemon 和工作區同步的 microVM,可以在任何安裝了 Docker Sandboxes 的主機上執行 Claude Code。它是來自 Docker 的免費獨立產品,不需要 Docker Desktop。

177 177 

178<h2 id="claude-code-on-the-web">178<h2 id="cloud-sessions">

179 Claude Code on the web179 雲端會話

180</h2>180</h2>

181 181 

182[Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 在隔離的、由 Anthropic 管理的虛擬機中執行每個會話。網路代理強制執行預設允許清單,單獨的代理在沙箱外保持您的 GitHub 令牌,同時在其內部為儲存庫存取發出範圍限定的認證。您的組織路由到[自託管環境](/docs/zh-TW/self-hosted-environments)的會話在您配置的基礎設施上執行,其中隔離、出站控制和 git 認證是您部署的責任。182[雲端會話](/docs/zh-TW/claude-code-on-the-web)在隔離的、由 Anthropic 管理的虛擬機中執行。網路代理強制執行預設允許清單,單獨的代理在沙箱外保持您的 GitHub 令牌,同時在其內部為儲存庫存取發出範圍限定的認證。您的組織路由到[自託管環境](/docs/zh-TW/self-hosted-environments)的會話在您配置的基礎設施上執行,其中隔離、出站控制和 git 認證是您部署的責任。

183 183 

184當您想要完整的虛擬機隔離而無需自己配置基礎設施,或當您從沒有本地開發環境的設備委派任務時,使用此方法。它需要 Claude 訂閱。當您從網路介面啟動會話時,您還需要連接的 GitHub 帳戶,以便沙箱可以複製您的儲存庫。當您使用 `--cloud` 從 CLI 啟動時,Claude Code 可以[捆綁並上傳您的本地儲存庫](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)。有關計劃可用性和 GitHub 身份驗證選項,請參閱 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web)。184當您想要完整的虛擬機隔離而無需自己配置基礎設施,或當您從沒有本地開發環境的設備委派任務時,使用此方法。它需要 Claude 訂閱。除非您從 CLI 啟動,否則您還需要連接的 GitHub 帳戶,以便沙箱可以複製您的儲存庫。當您使用 `--cloud` 從 CLI 啟動時,Claude Code 可以[捆綁並上傳您的本地儲存庫](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)。有關計劃可用性和 GitHub 身份驗證選項,請參閱[在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web)。

185 185 

186<h2 id="enforce-isolation-across-an-organization">186<h2 id="enforce-isolation-across-an-organization">

187 在整個組織中強制執行隔離187 在整個組織中強制執行隔離

sandboxing.md +75 −59

Details

6 6 

7> 了解 Claude Code 的沙箱化 Bash 工具如何提供檔案系統和網路隔離,以實現更安全、更自主的代理執行。7> 了解 Claude Code 的沙箱化 Bash 工具如何提供檔案系統和網路隔離,以實現更安全、更自主的代理執行。

8 8 

9Bash 沙箱讓 Claude 執行大多數 shell 命令,而無需停下來請求權限。與其批准每個命令,您可以定義命令可以接觸哪些檔案和網路域,作業系統會為每個 Bash 命令及其子流程強制執行該邊界。9Bash 沙箱讓 Claude 執行大多數 shell 命令,而無需停下來請求權限。與其批准每個命令,您可以定義命令可以接觸哪些檔案和網路域,作業系統會為每個 Bash、PowerShell 或 Monitor 命令及其子流程強制執行該邊界。

10 10 

11<Note>11<Note>

12 若要比較其他隔離方法,例如開發容器、自訂容器和虛擬機,請參閱 [Sandbox environments](/docs/zh-TW/sandbox-environments)。若要減少 Bash 以外工具的權限提示,請參閱 [permission modes](/docs/zh-TW/permission-modes)。12 若要比較其他隔離方法,例如開發容器、自訂容器和虛擬機,請參閱 [Sandbox environments](/docs/zh-TW/sandbox-environments)。若要減少 Bash 以外工具的權限提示,請參閱 [permission modes](/docs/zh-TW/permission-modes)。


42 </Step>42 </Step>

43 43 

44 <Step title="執行 Bash 命令">44 <Step title="執行 Bash 命令">

45 要求 Claude 執行命令,例如構建或測試套件。預設情況下,沙箱內的命令可以寫入工作目錄、工作階段暫存目錄,以及任何您使用 `--add-dir`、`/add-dir` 或 `permissions.additionalDirectories` [新增的目錄](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)。命令首次需要新的網路域時,Claude Code 會提示批准,或在 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中將請求傳送給分類器。45 要求 Claude 執行命令,例如構建或測試套件。預設情況下,沙箱內的命令可以寫入工作目錄、工作階段暫存目錄,以及任何您使用 `--add-dir`、`/add-dir` 或 `permissions.additionalDirectories` [新增的目錄](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)。命令首次需要新的網路域時,Claude Code 會提示批准;在 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中,Claude 改為在命令本身上命名該命令需要的主機 [on the command itself](#per-command-allowed-domains-in-auto-mode),供分類器與其一起檢查。

46 46 

47 無法沙箱化執行的命令會回退到常規權限流程。Claude Code 將其權限提示標題為「Bash command (unsandboxed)」而不是「Bash command」,因此您可以判斷哪些命令在沙箱外執行。若要擴大或縮小沙箱允許的內容,請參閱 [Configure sandboxing](#configure-sandboxing)。47 無法沙箱化執行的命令會回退到常規權限流程。Claude Code 將其權限提示標題為「Bash command (unsandboxed)」而不是「Bash command」,因此您可以判斷哪些命令在沙箱外執行。若要擴大或縮小沙箱允許的內容,請參閱 [Configure sandboxing](#configure-sandboxing)。

48 48 


145* 裸 `Bash` ask 規則,或等效的 `Bash(*)` 形式,對於執行沙箱化的命令會被跳過;它仍然適用於回退到常規權限流程的命令。在 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,規則不會被跳過:它對沙箱化命令也會提示,包括唯讀命令。在 v2.1.212 之前,跳過也適用於 plan mode145* 裸 `Bash` ask 規則,或等效的 `Bash(*)` 形式,對於執行沙箱化的命令會被跳過;它仍然適用於回退到常規權限流程的命令。在 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,規則不會被跳過:它對沙箱化命令也會提示,包括唯讀命令。在 v2.1.212 之前,跳過也適用於 plan mode

146 146 

147<Info>147<Info>

148 自動允許模式獨立於您的權限模式設定工作,有一個例外:[plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode)。即使您不在「接受編輯」模式中,當啟用自動允許時,沙箱化 Bash 命令也會自動執行。這意味著在沙箱邊界內修改檔案的 Bash 命令將執行而不提示,即使在 Manual 模式中,檔案編輯工具會提示。148 自動允許模式獨立於您的權限模式設定工作,但有一個例外:[plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 和在 auto mode 中,針對帶有 [per-command allowed domains](#per-command-allowed-domains-in-auto-mode) 的命令。即使您不在「接受編輯」模式中,當啟用自動允許時,沙箱化 Bash 命令也會自動執行。這意味著在沙箱邊界內修改檔案的 Bash 命令將執行而不提示,即使在 Manual 模式中,檔案編輯工具會提示。

149 149 

150 在 plan mode 中,自動允許不會擴大批准;請參閱 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 了解 Claude Code 在您計劃時如何限制命令。在 v2.1.212 之前,自動允許在 plan mode 中也無需提示執行沙箱化命令。150 在 plan mode 中,自動允許不會擴大批准;請參閱 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 了解 Claude Code 在您計劃時如何限制命令。在 v2.1.212 之前,自動允許在 plan mode 中也無需提示執行沙箱化命令。

151</Info>151</Info>


515`mask` 適用於單個檔案,因此個別列出每個認證檔案。Claude Code 回退到 `deny` 用於無法安全遮罩的 `mask` 項目:目錄路徑、glob 模式、大於 8 MiB 的檔案或非 UTF-8 文字檔案。改為將目錄編寫為明確的 `deny` 項目;[哪些設定可以停用它](#which-settings-can-disable-it)下的表格涵蓋每種形式是否固定 `filesystem.disabled` 以及它在檔案系統隔離關閉時的行為。515`mask` 適用於單個檔案,因此個別列出每個認證檔案。Claude Code 回退到 `deny` 用於無法安全遮罩的 `mask` 項目:目錄路徑、glob 模式、大於 8 MiB 的檔案或非 UTF-8 文字檔案。改為將目錄編寫為明確的 `deny` 項目;[哪些設定可以停用它](#which-settings-can-disable-it)下的表格涵蓋每種形式是否固定 `filesystem.disabled` 以及它在檔案系統隔離關閉時的行為。

516 516 

517<h2 id="how-sandboxing-works">517<h2 id="how-sandboxing-works">

518 沙箱化如何運作518 沙箱隔離的運作方式

519</h2>519</h2>

520 520 

521<h3 id="filesystem-isolation">521<h3 id="filesystem-isolation">

522 檔案系統隔離522 檔案系統隔離

523</h3>523</h3>

524 524 

525沙箱化 Bash 工具將檔案系統存取限制在特定目錄:525沙箱化的 Bash 工具將檔案系統存取限制在特定目錄:

526 526 

527* **預設寫入行為**:對目前工作目錄及其子目錄的讀取和寫入存取,加上使用 `--add-dir`、`/add-dir` 或 [`permissions.additionalDirectories`](/docs/zh-TW/settings-reference#permissions-additionaldirectories) 新增的任何目錄,以及 `$TMPDIR` 指向的工作階段暫存目錄527* **預設寫入行為**:對目前工作目錄及其子目錄、任何使用 `--add-dir`、`/add-dir` 或 [`permissions.additionalDirectories`](/docs/zh-TW/settings-reference#permissions-additionaldirectories) 新增的目錄,以及 `$TMPDIR` 指向的工作階段暫存目錄具有讀寫存取權限

528* **預設讀取行為**:對整個電腦的讀取存取,除了某些被拒絕的目錄。請注意,此預設仍允許讀取認證檔案,例如 `~/.aws/credentials` 和 `~/.ssh/`。使用 [`sandbox.credentials`](#protect-credentials) 來阻止讀取這些檔案並取消設定祕密環境變數,或將路徑新增到 `denyRead`。528* **預設讀取行為**:對整個電腦具有讀取存取權限,除了某些被拒絕的目錄。請注意,此預設仍允許讀取認證檔案,例如 `~/.aws/credentials` 和 `~/.ssh/`。使用 [`sandbox.credentials`](#protect-credentials) 來阻止讀取這些檔案並取消設定祕密環境變數,或將路徑新增至 `denyRead`。

529* **被阻止的存取**:無法在沒有明確權限的情況下修改工作目錄、新增的目錄和工作階段暫存目錄外的檔案,包括 shell 配置檔案(例如 `~/.bashrc`)和 `/bin/` 中的系統二進位檔案529* **被阻止的存取**:無法修改工作目錄、新增的目錄和工作階段暫存目錄外的檔案,除非有明確的權限,包括 shell 設定檔案(例如 `~/.bashrc`)和 `/bin/` 中的系統二進位檔

530* **Git worktrees**:當工作目錄是[連結的 git worktree](/docs/zh-TW/worktrees)時,沙箱也允許寫入主儲存庫的共享 `.git` 目錄,以便 `git commit` 等命令可以更新 refs 和索引。對該目錄內的 `hooks/` 和 `config` 的寫入仍然被拒絕。530* **Git worktrees**:當工作目錄是[連結的 git worktree](/docs/zh-TW/worktrees) 時,沙箱也允許寫入主儲存庫的共用 `.git` 目錄,以便 `git commit` 等命令可以更新參考和索引。對該目錄內的 `hooks/` 和 `config` 的寫入仍被拒絕。

531* **可配置**:通過設定定義自訂允許和拒絕的路徑531* **可設定**:透過設定定義自訂允許和拒絕的路徑

532 532 

533若要完全跳過檔案系統隔離同時保持網路隔離,請設定 [`sandbox.filesystem.disabled`](#disable-filesystem-isolation)。533若要完全跳過檔案系統隔離,同時保持網路隔離,請設定 [`sandbox.filesystem.disabled`](#disable-filesystem-isolation)。

534 534 

535<h3 id="protected-paths">535<h3 id="protected-paths">

536 受保護的路徑536 受保護的路徑

537</h3>537</h3>

538 538 

539在沙箱化命令可以寫入的目錄內,沙箱仍然拒絕寫入 Claude Code 從中載入設定和程式碼的檔案。可以編輯這些檔案的命令可能會授予自己權限,或新增 Claude Code 在沙箱外執行的 hook 或 MCP 伺服器。權限系統有自己的[受保護路徑](/docs/zh-TW/permission-modes#protected-paths),控制 Claude Code 在工具執行前批准的內容;沙箱的清單適用於已在執行的命令。它涵蓋四組路徑:539在沙箱化命令可以寫入的目錄內,沙箱仍然拒絕寫入 Claude Code 載入設定和程式碼的檔案。可以編輯這些檔案的命令可能會授予自己權限,或新增 Claude Code 在沙箱外執行的 hook 或 MCP 伺服器。權限系統有自己的[受保護路徑](/docs/zh-TW/permission-modes#protected-paths),控制 Claude Code 在工具執行前批准的內容;沙箱的清單適用於已在執行的命令。它涵蓋四組路徑:

540 540 

541* **在您的工作目錄及其上方的目錄中**:`.claude` 設定檔案、`.claude/skills`、`.claude/agents`、`.claude/commands` 和 `.claude/hooks` 目錄、`.mcp.json`,以及 Claude Code 自行執行的檔案,例如 `.claude/workflows` 和 `.claude/scheduled_tasks.json`541* **在您的工作目錄及其上方的目錄中**:`.claude` 設定檔案、`.claude/skills`、`.claude/agents`、`.claude/commands` 和 `.claude/hooks` 目錄、`.mcp.json`,以及 Claude Code 自行執行的檔案,例如 `.claude/workflows` 和 `.claude/scheduled_tasks.json`

542* **僅在您的工作目錄中**:shell 啟動檔案,例如 `.bashrc` 和 `.zshrc`、`.gitconfig`、`.vscode` 和 `.idea` 目錄,以及 `.git` 內的 `hooks` 和 `config`542* **僅在您的工作目錄中**:shell 啟動檔案,例如 `.bashrc` 和 `.zshrc`、`.gitconfig`、`.vscode` 和 `.idea` 目錄,以及 `.git` 內的 `hooks` 和 `config`

543* **會將您的工作目錄轉變為裸 git 儲存庫的檔案**:頂層的 `HEAD`、`objects` 和 `refs`,加上 `config` 和 `hooks`(當它們已存在時),即使 `config` 目錄屬於您的專案而不是 git。在 Linux 和 WSL2 上,沙箱會刪除在沙箱化命令執行時出現的頂層 `HEAD` 檔案或 `objects` 或 `refs` 目錄543* **會將您的工作目錄轉變為裸 git 儲存庫的檔案**:頂層的 `HEAD`、`objects` 和 `refs`,加上 `HEAD` 旁邊的 `config` 和 `hooks`。即使沒有 `HEAD`,名為 `config` 的檔案也被拒絕。在 Linux 和 WSL2 上,當沙箱化命令執行時,沙箱會刪除出現的頂層 `HEAD` 檔案或 `objects` 或 `refs` 目錄

544* **在 `~/.claude` 中,或 `CLAUDE_CONFIG_DIR` 指向的目錄中**:其大部分內容,加上 `~/.claude.json` 和 `.credentials.json` 認證存放區544* **在 `~/.claude` 中,或 `CLAUDE_CONFIG_DIR` 指向的目錄中**:其大部分內容,加上 `~/.claude.json` 和 `.credentials.json` 認證存放區

545 545 

546如果在工作階段期間受保護設定檔案的路徑出現符號連結,沙箱也會拒絕寫入它指向的檔案,從下一個命令開始。546如果在工作階段期間在受保護設定檔案的路徑出現符號連結,沙箱也會拒絕寫入它指向的檔案,從下一個命令開始。

547 547 

548無法豁免這些路徑之一:涵蓋該路徑的 `allowWrite` 項目或 `Edit` 允許規則不會解除保護。關閉保護的唯一方法是 [`filesystem.disabled`](#disable-filesystem-isolation),它會關閉每個路徑的檔案系統隔離。若要查看為您的機器解析的大多數這些路徑,請執行 `/sandbox` 並開啟 **Config** 標籤,它會在 **Denied within allowed** 下列出它們,混合您自己的 `denyWrite` 項目。548無法豁免這些路徑之一:涵蓋該路徑的 `allowWrite` 項目或 `Edit` 允許規則不會解除保護。關閉保護的唯一方法是 [`filesystem.disabled`](#disable-filesystem-isolation),它會關閉每個路徑的檔案系統隔離。若要查看為您的機器解析的大部分這些路徑,請執行 `/sandbox` 並開啟 **Config** 標籤,該標籤在 **Denied within allowed** 下列出它們,混合您自己的 `denyWrite` 項目。

549 549 

550如果 `git merge` 或 `git checkout` 在這些路徑之一上失敗並出現 `unable to unlink old` 錯誤,請參閱[疑難排解](#troubleshooting)。550如果 `git merge` 或 `git checkout` 在這些路徑之一上失敗並出現 `unable to unlink old`,請參閱[疑難排解](#troubleshooting)。

551 551 

552<h3 id="network-isolation">552<h3 id="network-isolation">

553 網路隔離553 網路隔離

554</h3>554</h3>

555 555 

556網路存取通過在沙箱外執行的代理伺服器進行控制:556網路存取透過在沙箱外執行的代理伺服器進行控制:

557 557 

558* **域名限制**:Claude Code 預設不預先允許任何域名。命令首次需要新的域名時,Claude Code 會提示批准,或在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中將請求傳送給分類器。如果您在提示時選擇「是」,Claude Code 會在目前工作階段的其餘時間允許該主機,稍後連線到同一主機時不會再次提示。如果您選擇「是,以後不要再問」,Claude Code 會將 `WebFetch(domain:...)` 允許規則儲存到您的[本機設定](/docs/zh-TW/permissions#permission-system),因此該主機在未來工作階段中保持允許。使用 [`allowedDomains`](/docs/zh-TW/settings-reference#sandbox-network-alloweddomains) 預先允許域名以完全避免提示。Claude Code 也預先允許來自 `WebFetch(domain:...)` 允許規則的域名,如[權限規則](#permission-rules)中所述。558* **網域限制**:Claude Code 預設不預先允許任何網域。命令首次需要新網域時,Claude Code 會提示批准;在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中,Claude 改為在命令本身上命名命令需要的主機,根據[每個命令允許的網域](#per-command-allowed-domains-in-auto-mode)。

559* **嚴格允許清單**:如果您在使用者、受管或 CLI `--settings` 設定中將 [`strictAllowlist`](/docs/zh-TW/settings-reference#sandbox-network-strictallowlist) 設定為 `true`,Claude Code 會拒絕沙箱化命令存取允許清單外的任何主機,而不是提示。允許清單是沙箱否則會提示的相同清單:`allowedDomains` 加上來自 `WebFetch(domain:...)` 允許規則的域名,或當設定 `allowManagedDomainsOnly` 時僅限受管設定項目。Claude Code 僅對沙箱化命令強制執行此;進程內工具(例如 `WebFetch`)仍遵循其[權限規則](#permission-rules)。在儲存庫的 `.claude/settings.json` 或 `.claude/settings.local.json` 中設定此項無效。需要 Claude Code v2.1.219 或更新版本。559* **批准選擇**:如果您在提示時選擇「是」,Claude Code 會在目前工作階段的其餘時間允許該主機,並且不會再次提示稍後連線到同一主機。如果您選擇「是,以後不要再問」,Claude Code 會將 `WebFetch(domain:...)` 允許規則儲存到您的[本機設定](/docs/zh-TW/permissions#permission-system),以便該主機在未來工作階段中保持允許。

560* **受管鎖定**:如果在受管設定中設定了 [`allowManagedDomainsOnly`](/docs/zh-TW/settings-reference#sandbox-network-allowmanageddomainsonly),非允許的域名會自動被阻止而不是提示,只有來自受管設定的 `allowedDomains` 和 `WebFetch(domain:...)` 允許規則被尊重。560* **預先允許的網域**:使用 [`allowedDomains`](/docs/zh-TW/settings-reference#sandbox-network-alloweddomains) 預先允許網域以完全避免提示。Claude Code 也預先允許來自 `WebFetch(domain:...)` 允許規則的網域,如[權限規則](#permission-rules)中所述。

561* **企業代理**:當您的網路要求出站流量通過企業代理時,請在設定的 `env` 區塊中設定 `HTTPS_PROXY`、`HTTP_PROXY` 和 `NO_PROXY`,如[代理設定](/docs/zh-TW/network-config#proxy-configuration)所述,以便[背景代理](/docs/zh-TW/network-config#set-network-variables-in-settings-not-the-shell)也能取得它們,或在您啟動 Claude Code 的環境中設定。Claude Code 強制執行域名允許清單,然後通過該上游代理隧道允許的連線。561* **嚴格允許清單**:如果您在使用者、受管理或 CLI `--settings` 設定中將 [`strictAllowlist`](/docs/zh-TW/settings-reference#sandbox-network-strictallowlist) 設定為 `true`,Claude Code 會拒絕沙箱化命令存取允許清單外的任何主機,而不是提示。允許清單與沙箱以其他方式提示的清單相同:`allowedDomains` 加上來自 `WebFetch(domain:...)` 允許規則的網域,或當設定 `allowManagedDomainsOnly` 時僅受管理設定項目。Claude Code 僅對沙箱化命令強制執行此操作;進程內工具(例如 `WebFetch`)仍遵循其[權限規則](#permission-rules)。在儲存庫的 `.claude/settings.json` 或 `.claude/settings.local.json` 中設定它沒有效果。需要 Claude Code v2.1.219 或更新版本。

562* **受管理的鎖定**:如果在受管理設定中設定了 [`allowManagedDomainsOnly`](/docs/zh-TW/settings-reference#sandbox-network-allowmanageddomainsonly),非允許的網域會自動被阻止而不是提示,並且僅受管理設定中的 `allowedDomains` 和 `WebFetch(domain:...)` 允許規則被接受。

563* **公司代理**:當您的網路要求出站流量通過公司代理時,請在設定的 `env` 區塊中設定 `HTTPS_PROXY`、`HTTP_PROXY` 和 `NO_PROXY`,如[代理設定](/docs/zh-TW/network-config#proxy-configuration)所述,以便[背景代理](/docs/zh-TW/network-config#set-network-variables-in-settings-not-the-shell)也能取得它們,或在您啟動 Claude Code 的環境中設定。Claude Code 強制執行網域允許清單,然後透過該上游代理隧道允許的連線。

562* **自訂代理支援**:進階使用者可以在出站流量上實施自訂規則564* **自訂代理支援**:進階使用者可以在出站流量上實施自訂規則

563* **全面覆蓋**:限制適用於所有指令碼、程式和由命令產生的子流程565* **全面涵蓋**:限制適用於命令產生的所有指令碼、程式和子程序

564 566 

565在 `WebFetch(domain:...)` 規則中,沙箱尊重兩種萬用字元形式:前導 `*.`(例如 `*.example.com`)和裸 `*`。裸 `*` 形式需要 Claude Code v2.1.186 或更新版本。任何其他位置的萬用字元(例如 `WebFetch(domain:example.*)`)仍會符合擷取但對沙箱化命令無效。567在 `WebFetch(domain:...)` 規則中,沙箱接受兩種萬用字元形式:前導 `*.`(例如 `*.example.com`)和裸 `*`。裸 `*` 形式需要 Claude Code v2.1.186 或更新版本。任何其他位置的萬用字元(例如 `WebFetch(domain:example.*)`)仍會符合擷取但對沙箱化命令沒有效果。

566 568 

567<Note>569<Note>

568 內建代理根據請求的主機名強制執行允許清單,預設不終止或檢查 TLS 流量。實驗性的 [`network.tlsTerminate`](/docs/zh-TW/settings-reference#sandbox-network-tlsterminate) 設定在 Claude Code v2.1.199 及更新版本中可用,使內建代理自行終止 TLS,這是 [`mask` 認證項目](#mask-credentials)所需的。請參閱[安全限制](#security-limitations)了解預設設計的含義,以及[自訂代理設定](#custom-proxy-configuration)如果您的威脅模型需要 TLS 檢查。570 內建代理根據請求的主機名稱強制執行允許清單,預設情況下不會終止或檢查 TLS 流量。實驗性 [`network.tlsTerminate`](/docs/zh-TW/settings-reference#sandbox-network-tlsterminate) 設定(在 Claude Code v2.1.199 及更新版本中可用)使內建代理自行終止 TLS,這是 [`mask` 認證項目](#mask-credentials)所需的。有關預設值的含義,請參閱[安全限制](#security-limitations),如果您的威脅模型需要 TLS 檢查,請參閱[自訂代理設定](#custom-proxy-configuration)。

569</Note>571</Note>

570 572 

573<h4 id="per-command-allowed-domains-in-auto-mode">

574 自動模式中的每個命令允許的網域

575</h4>

576 

577在啟用沙箱的[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中,Claude 在命令本身上命名命令需要的主機,而不是為每個連線觸發網路批准。在沙箱中執行的每個 Bash、PowerShell 或[監視器](/docs/zh-TW/tools-reference#monitor-tool)命令都可以攜帶超出沙箱允許清單的主機清單:網域(例如 `registry.npmjs.org`)、萬用字元(例如 `*.pythonhosted.org`)或 IP 位址,每個都帶有可選的 `:port`。分類器將主機與命令一起審查。需要 Claude Code v2.1.271 或更新版本。

578 

579批准的清單僅為該一個命令開啟這些主機,只要它執行。沒有任何內容被新增到您的工作階段允許的主機或您的設定;下一個命令命名其自己的主機。

580 

581攜帶主機的命令會進入分類器,而不是由權限規則或沙箱的[自動允許模式](#sandbox-modes)批准。如果[詢問規則](/docs/zh-TW/permissions#manage-permissions)強制提示命令,您終端中的權限對話會在其旁邊列出主機,在那裡批准涵蓋兩者。

582 

583每個命令清單僅擴大沙箱預設拒絕的內容。[`deniedDomains`](/docs/zh-TW/settings-reference#sandbox-network-denieddomains) 項目仍會阻止。當 [`strictAllowlist`](/docs/zh-TW/settings-reference#sandbox-network-strictallowlist) 或 [`allowManagedDomainsOnly`](/docs/zh-TW/settings-reference#sandbox-network-allowmanageddomainsonly) 鎖定允許清單時,Claude Code 拒絕每個命令清單。

584 

585當每個命令清單適用時,Claude Code 拒絕連線到沒有批准命令列出的主機,沒有提示或分類器檢查。拒絕在命令的結果中命名主機,Claude 使用新增的主機重新執行命令。

586 

571<h4 id="ipv6-addresses-in-domain-lists">587<h4 id="ipv6-addresses-in-domain-lists">

572 域名清單中的 IPv6 位址588 網域清單中的 IPv6 位址

573</h4>589</h4>

574 590 

575沙箱的域名清單是 `allowedDomains`、`deniedDomains` 和提供它們的 `WebFetch(domain:...)` 規則。若要符合其中任何一個中的 IPv6 位址,請在括號中寫入文字:`"[::1]"` 符合該位址在每個連接埠上,`"[::1]:443"` 僅在連接埠 443 上符合它。將連接埠寫為 1 到 65535 之間的數字,不帶前導零。括號形式需要 Claude Code v2.1.229 或更新版本。在 v2.1.229 之前,當未括號項目最後一個冒號後的文字是連接埠號時,Claude Code 將其讀為一個,因此 `::1:443` 命名位址 `::1` 在連接埠 443 上。591沙箱的網域清單是 `allowedDomains`、`deniedDomains` 和提供它們的 `WebFetch(domain:...)` 規則。若要符合其中任何一個中的 IPv6 位址,請在括號中寫入文字:`"[::1]"` 符合該位址在每個連接埠上,`"[::1]:443"` 僅在連接埠 443 上符合它。將連接埠寫成 1 到 65535 之間的數字,不帶前導零。括號形式需要 Claude Code v2.1.229 或更新版本。在 v2.1.229 之前,當未括號項目最後一個冒號後的文字是連接埠號時,Claude Code 將其讀為一個,所以 `::1:443` 命名位址 `::1` 在連接埠 443 上。

576 592 

577當您在 IPv6 位址的網路批准提示中選擇「是,以後不要再問」時,Claude Code 會使用位址括號儲存 `WebFetch(domain:...)` 規則,因此規則在未來工作階段中保持符合位址。593當您在 IPv6 位址的網路批准提示中選擇「是,以後不要再問」時,Claude Code 會使用括號的位址儲存 `WebFetch(domain:...)` 規則,以便規則在未來工作階段中保持符合位址。

578 594 

579未括號的項目有兩個或更多冒號是模稜兩可的:`::1:443` 既是完整的 IPv6 位址,也是位址後跟連接埠。Claude Code 保守地強制執行模稜兩可的拼寫,而不是猜測您的意思:595帶有兩個或更多冒號的未括號項目是模稜兩可的:`::1:443` 既是完整的 IPv6 位址,也是位址後跟連接埠。Claude Code 保守地強制執行模稜兩可的拼寫,而不是猜測您的意思是哪個讀法:

580 596 

581* **拒絕清單**:Claude Code 拒絕項目解析為的每個讀取,因此無論您的意思是哪個讀取都被阻止。對於沒有可解析讀取的項目,Claude Code 不阻止任何內容。597* **拒絕清單**:Claude Code 拒絕項目解析為的每個讀法,所以無論您的意思是哪個讀法都被阻止。對於沒有可解析讀法的項目,Claude Code 不阻止任何內容。

582* **允許清單**:Claude Code 永遠不允許超過您寫的內容。當主機和連接埠讀取乾淨解析時,它會將模稜兩可的項目重寫為其主機和連接埠讀取,並可能完全刪除項目而不是擴大允許清單。598* **允許清單**:Claude Code 永遠不允許超過您寫的內容。當該讀法乾淨地解析時,它會將模稜兩可的項目重寫為其主機和連接埠讀法,並可能完全刪除項目,而不是擴大允許清單。

583 599 

584在您的終端中執行 `claude doctor` 以找到受影響的項目:`Sandbox network domain entries have unreliable spellings` 警告命名最多三個並計算其餘的。將每個重寫為括號形式以清除警告。警告也命名拼寫不可靠的項目,原因包括 `@`、路徑或查詢字元,或括號內的萬用字元。600在您的終端中執行 `claude doctor` 以找到受影響的項目:`Sandbox network domain entries have unreliable spellings` 警告命名最多三個並計算其餘的。將每個重寫為括號形式以清除警告。警告也命名拼寫不可靠的項目,原因包括 `@`、路徑或查詢字元,或括號內的萬用字元。

585 601 

586<h3 id="os-level-enforcement">602<h3 id="os-level-enforcement">

587 作業系統級別的強制執行603 作業系統層級強制執行

588</h3>604</h3>

589 605 

590沙箱化 Bash 工具利用作業系統安全原語:606沙箱化的 Bash 工具使用作業系統安全原語:

591 607 

592* **macOS**:使用 Seatbelt 進行沙箱強制執行608* **macOS**:使用 Seatbelt 進行沙箱強制執行

593* **Linux**:使用 [bubblewrap](https://github.com/containers/bubblewrap) 進行隔離609* **Linux**:使用 [bubblewrap](https://github.com/containers/bubblewrap) 進行隔離


595 611 

596不支援 WSL1,因為 bubblewrap 需要僅在 WSL2 中可用的核心功能。612不支援 WSL1,因為 bubblewrap 需要僅在 WSL2 中可用的核心功能。

597 613 

598這些相同的原語可作為獨立的 [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) 套件使用,[Sandbox environments](/docs/zh-TW/sandbox-environments#sandbox-runtime) 頁面涵蓋作為包裝整個 Claude Code 流程的單獨方法。614這些相同的原語可作為獨立的 [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) 套件使用,[沙箱環境](/docs/zh-TW/sandbox-environments#sandbox-runtime)頁面涵蓋作為包裝整個 Claude Code 程序的單獨方法。

599 615 

600<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">616<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">

601 沙箱化與權限和權限模式的關係617 沙箱隔離如何與權限和權限模式相關

602</h2>618</h2>

603 619 

604沙箱化、[permission rules](/docs/zh-TW/permissions) 和 [permission modes](/docs/zh-TW/permission-modes) 是互補的層。下面的部分涵蓋沙箱如何與每個互動。620沙箱隔離、[權限規則](/docs/zh-TW/permissions)和[權限模式](/docs/zh-TW/permission-modes)是互補的層級。下面的章節涵蓋沙箱隔離如何與每一個互動。

605 621 

606<h3 id="permission-rules">622<h3 id="permission-rules">

607 權限規則623 權限規則

608</h3>624</h3>

609 625 

610權限規則和沙箱化控制不同的事物:626權限規則和沙箱隔離控制不同的事項:

611 627 

612* **權限規則**控制 Claude Code 可以使用哪些工具,並在任何工具執行之前進行評估。它們適用於所有工具:Bash、Read、Edit、WebFetch、MCP 和其他工具,除了拒絕或詢問規則無法阻止 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。628* **權限規則**控制 Claude Code 可以使用哪些工具,並在任何工具執行前進行評估。它們適用於每個工具:Bash、Read、Edit、WebFetch、MCP 和其他工具,除了拒絕或詢問規則無法阻止 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior),而其他任何工具仍然存在。

613* **沙箱化**提供作業系統級別的強制執行,限制 Bash 命令在檔案系統和網路級別可以存取的內容。它僅適用於 Bash 命令及其子流程。629* **沙箱隔離**提供作業系統層級的強制執行,限制 shell 命令在檔案系統和網路層級可以存取的內容。它僅適用於 Bash、PowerShell 和 [Monitor](/docs/zh-TW/tools-reference#monitor-tool) 命令及其子程序。

614 630 

615這兩層在強制執行方式上也有所不同。Claude Code 在命令執行之前根據命令字串評估權限決定,在自動模式中,還根據單獨分類器對命令是否安全的判斷。作業系統在執行流程上強制執行沙箱邊界,因此無論模型選擇執行什麼,它都成立,即使允許的命令執行的操作超出其名稱所示。631這兩個層級在強制執行方式上也有所不同。Claude Code 在命令執行前根據命令字串評估權限決定,在自動模式下,還會根據單獨分類器對命令是否安全的判斷。作業系統在執行中的程序上強制執行沙箱邊界,因此無論模型選擇執行什麼,即使允許的命令執行的操作超出其名稱所示,它都會保持有效。

616 632 

617檔案系統和網路限制通過沙箱設定和權限規則進行配置:633檔案系統和網路限制通過沙箱設定和權限規則進行配置:

618 634 

619| 設定或規則 | 它的作用 |635| 設定或規則 | 功能 |

620| :------------------------------------------------------------- | :------------------------------------------------ |636| :------------------------------------------------------------- | :----------------------------------------------------- |

621| `sandbox.filesystem.allowWrite` | 授予子流程對工作目錄外路徑的寫入存取 |637| `sandbox.filesystem.allowWrite` | 授予子程序對工作目錄外路徑的寫入存取權限 |

622| `sandbox.filesystem.denyWrite` 和 `sandbox.filesystem.denyRead` | 阻止子流程對特定路徑的存取 |638| `sandbox.filesystem.denyWrite` 和 `sandbox.filesystem.denyRead` | 阻止子程序存取特定路徑 |

623| `sandbox.filesystem.allowRead` | 重新允許讀取 `denyRead` 區域內的特定路徑 |639| `sandbox.filesystem.allowRead` | 重新允許讀取 `denyRead` 區域內的特定路徑 |

624| [`sandbox.filesystem.disabled`](#disable-filesystem-isolation) | 完全關閉檔案系統層,同時保持網路隔離 |640| [`sandbox.filesystem.disabled`](#disable-filesystem-isolation) | 完全關閉檔案系統層級,同時保持網路隔離 |

625| `Edit` 允許規則 | 授予對特定路徑的寫入存取,與 `sandbox.filesystem.allowWrite` 相同 |641| `Edit` 允許規則 | 授予對特定路徑的寫入存取權限,與 `sandbox.filesystem.allowWrite` 的方式相同 |

626| `Read` 和 `Edit` 拒絕規則 | 阻止對特定檔案或目錄的存取 |642| `Read` 和 `Edit` 拒絕規則 | 阻止存取特定檔案或目錄 |

627| `WebFetch(domain:...)` 允許和拒絕規則 | 控制域名存取 |643| `WebFetch(domain:...)` 允許和拒絕規則 | 控制網域存取 |

628| 沙箱 `allowedDomains` | 控制 Bash 命令可以到達的域名 |644| 沙箱 `allowedDomains` | 控制 Bash 命令可以到達哪些網域 |

629| 沙箱 `deniedDomains` | 阻止特定域名,即使更廣泛的 `allowedDomains` 萬用字元會允許它們 |645| 沙箱 `deniedDomains` | 阻止特定網域,即使更廣泛的 `allowedDomains` 萬用字元原本會允許它們 |

630 646 

631來自沙箱設定和權限規則的路徑和域名被合併到最終沙箱配置中。647來自沙箱設定和權限規則的路徑和網域會合併到最終的沙箱配置中。

632 648 

633[claude-code repository 的 examples 目錄](https://github.com/anthropics/claude-code/tree/main/examples/settings)包含常見部署場景的入門設定配置,包括沙箱特定的範例。使用這些作為起點,並根據您的需求進行調整。649[claude-code 儲存庫的範例目錄](https://github.com/anthropics/claude-code/tree/main/examples/settings)包含常見部署場景的入門設定配置,包括沙箱特定的範例。使用這些作為起點,並根據您的需求進行調整。

634 650 

635<h3 id="permission-modes">651<h3 id="permission-modes">

636 權限模式652 權限模式

637</h3>653</h3>

638 654 

639`/sandbox` 不是 [permission mode](/docs/zh-TW/permission-modes)。權限模式決定工具呼叫是否執行以及您是否首先被提示,而沙箱限制 Bash 命令執行後可以存取的內容。它們在控制的內容和替換每個操作提示的內容上有所不同:655`/sandbox` 不是[權限模式](/docs/zh-TW/permission-modes)。權限模式決定工具呼叫是否執行以及是否先提示您,而沙箱限制 Bash 命令執行後可以存取的內容。它們在控制的內容和替代每個動作提示的內容上有所不同:

640 656 

641| | 它控制什麼 | 替換提示的內容 |657| | 控制的內容 | 替代提示的內容 |

642| :-------------------------------------------------------------------- | :---------------- | :------------------------------------------------------------------------------------------------------------------------------------ |658| :--------------------------------------------------------------- | :---------------- | :------------------------------------------------------------------------------------------------------------------------------- |

643| `/sandbox` | Bash 命令執行後可以存取的內容 | 沙箱邊界本身,在 [auto-allow mode](#sandbox-modes) 中 |659| `/sandbox` | Bash 命令執行後可以存取的內容 | 沙箱邊界本身,在[自動允許模式](#sandbox-modes)中 |

644| [Auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) | 每個工具呼叫是否執行 | 檢查操作的分類器 |660| [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) | 每個工具呼叫是否執行 | 檢查動作的分類器 |

645| `--dangerously-skip-permissions` | 每個工具呼叫是否執行 | 無。[受保護的路徑](/docs/zh-TW/permission-modes#protected-paths)檢查也被跳過;[任何模式都不會自動批准的操作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)仍然適用 |661| `--dangerously-skip-permissions` | 每個工具呼叫是否執行 | 無。[受保護路徑](/docs/zh-TW/permission-modes#protected-paths)檢查也會被跳過;[模式自動核准的動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)仍然適用 |

646 662 

647沙箱的 [auto-allow mode](#sandbox-modes) 與 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分開:自動允許批准 Bash 命令,因為沙箱邊界包含它們,而自動模式使用分類器檢查操作。這兩個獨立工作,可以結合。若要為無人值守執行選擇隔離邊界,請參閱 [Sandbox environments](/docs/zh-TW/sandbox-environments#how-isolation-relates-to-permission-modes)。如需常見權限模式和沙箱配對的表格以及啟動每個配對的旗標,請參閱 [Common setups](/docs/zh-TW/permission-modes#common-setups)。663沙箱的[自動允許模式](#sandbox-modes)與[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)分開:自動允許因為沙箱邊界包含它們而核准 Bash 命令,而自動模式使用分類器檢查動作。這兩者獨立運作,可以結合使用,但[沙箱模式](#sandbox-modes)下列出的例外情況除外。若要為無人值守執行選擇隔離邊界,請參閱[沙箱環境](/docs/zh-TW/sandbox-environments#how-isolation-relates-to-permission-modes)。如需常見權限模式和沙箱配對的表格以及啟動每個配對的旗標,請參閱[常見設定](/docs/zh-TW/permission-modes#common-setups)。

648 664 

649<h2 id="configure-the-sandbox-for-your-organization">665<h2 id="configure-the-sandbox-for-your-organization">

650 為您的組織設定沙箱666 為您的組織設定沙箱


656 使用受管設定強制執行沙箱化672 使用受管設定強制執行沙箱化

657</h3>673</h3>

658 674 

659若要為每個開發人員要求沙箱,通過 [managed settings](/docs/zh-TW/managed-settings#delivery-mechanisms) 傳遞 `sandbox` 金鑰,可以是由您的 MDM 管理的檔案,也可以是通過 Claude.ai 上的 [server-managed settings](/docs/zh-TW/server-managed-settings)。675若要為每個開發人員要求沙箱,通過 [managed settings](/docs/zh-TW/managed-settings#delivery-mechanisms) 傳遞 `sandbox` 金鑰,可以是由您的 MDM 管理的檔案,也可以是通過 claude.ai 上的 [server-managed settings](/docs/zh-TW/server-managed-settings)。

660 676 

661以下受管設定配置啟用沙箱,如果沙箱無法初始化則拒絕啟動 Claude Code,並防止模型在沙箱外重試命令:677以下受管設定配置啟用沙箱,如果沙箱無法初始化則拒絕啟動 Claude Code,並防止模型在沙箱外重試命令:

662 678 

Details

169cancel the deploy check job169cancel the deploy check job

170```170```

171 171 

172在幕後,Claude 使用這些工具:172這些是 Claude 使用的基礎工具:

173 173 

174| 工具 | 用途 |174| 工具 | 用途 |

175| :----------- | :----------------------------------------- |175| :----------- | :----------------------------------------- |


238* 任務只在 Claude Code 執行且閒置時執行。關閉終端或讓工作階段退出會停止它們執行。[將工作階段放在背景執行](/docs/zh-TW/agent-view#from-inside-a-session)會將 `/loop` 任務帶到背景工作階段,該工作階段會持續執行而無需終端。238* 任務只在 Claude Code 執行且閒置時執行。關閉終端或讓工作階段退出會停止它們執行。[將工作階段放在背景執行](/docs/zh-TW/agent-view#from-inside-a-session)會將 `/loop` 任務帶到背景工作階段,該工作階段會持續執行而無需終端。

239* 沒有錯過執行的追趕。如果任務的排程時間在 Claude 忙於長時間執行的請求時經過,它會在 Claude 變為閒置時執行一次,而不是每個錯過的間隔執行一次。239* 沒有錯過執行的追趕。如果任務的排程時間在 Claude 忙於長時間執行的請求時經過,它會在 Claude 變為閒置時執行一次,而不是每個錯過的間隔執行一次。

240* 啟動新的對話會清除所有工作階段範圍的任務。當您使用 `claude --resume` 或 `claude --continue` 繼續工作階段時,Claude Code 會復原使用 `CronCreate` 排程的任務,除了已[過期](#seven-day-expiry)的重複執行任務和排程時間已經過去的一次性任務。自我調整的 `/loop`([不會被復原](#let-claude-choose-the-interval)),因此請再次執行 `/loop` 以重新啟動它。背景 Bash 和監視任務在繼續時永遠不會被復原。240* 啟動新的對話會清除所有工作階段範圍的任務。當您使用 `claude --resume` 或 `claude --continue` 繼續工作階段時,Claude Code 會復原使用 `CronCreate` 排程的任務,除了已[過期](#seven-day-expiry)的重複執行任務和排程時間已經過去的一次性任務。自我調整的 `/loop`([不會被復原](#let-claude-choose-the-interval)),因此請再次執行 `/loop` 以重新啟動它。背景 Bash 和監視任務在繼續時永遠不會被復原。

241* 當[功能旗標擷取關閉](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)時,Claude Code 會將您要求跨工作階段保留的任務儲存在專案的 `.claude` 目錄中。當該目錄或其中的任務檔案是符號連結時,Claude Code 會傳回錯誤,而不是排程任務。241* 當[功能旗標擷取關閉](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)時,Claude Code 會將您要求跨工作階段保留的任務儲存在專案的 `.claude/scheduled_tasks.json` 檔案中。當 `.claude` 目錄或該檔案是符號連結時,Claude Code 會傳回錯誤,而不是排程任務。已儲存的任務只在您建立它的專案資料夾中執行。如果您將檔案複製到另一個資料夾(例如新的 worktree),該處的工作階段會列出複製的任務,但不會執行它們,因此請在該資料夾中再次建立任務。

242 242 

243對於需要無人值守執行的 cron 驅動自動化:243對於需要無人值守執行的 cron 驅動自動化:

244 244 

security.md +2 −2

Details

122 雲端執行安全性122 雲端執行安全性

123</h2>123</h2>

124 124 

125使用 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 時,會實施額外的安全控制。您的組織路由到 [自託管環境](/docs/zh-TW/self-hosted-environments) 的會話在您自己的基礎設施上執行,其中隔離、網路出口和 git 認證是您部署的責任。在 Anthropic 託管的環境中:125使用 [雲端會話](/docs/zh-TW/claude-code-on-the-web) 時,會實施額外的安全控制。您的組織路由到 [自託管環境](/docs/zh-TW/self-hosted-environments) 的會話在您自己的基礎設施上執行,其中隔離、網路出口和 git 認證是您部署的責任。在 Anthropic 託管的環境中:

126 126 

127* **隔離的虛擬機器**:每個雲端會話在隔離的、由 Anthropic 管理的 VM 中執行127* **隔離的虛擬機器**:每個雲端會話在隔離的、由 Anthropic 管理的 VM 中執行

128* **網路存取控制**:網路存取預設受限,可以配置為禁用或僅允許特定網域128* **網路存取控制**:網路存取預設受限,可以配置為禁用或僅允許特定網域


131* **審計日誌**:雲端會話中的所有操作都被記錄以用於合規和審計目的131* **審計日誌**:雲端會話中的所有操作都被記錄以用於合規和審計目的

132* **自動清理**:會話 VM 在一段時間無活動後會被回收132* **自動清理**:會話 VM 在一段時間無活動後會被回收

133 133 

134有關雲端執行的更多詳情,請參閱 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web);若要為雲端會話配置網路存取,請參閱 [Configure cloud environments](/docs/zh-TW/cloud-environments#network-access)。134有關雲端執行的更多詳情,請參閱 [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web);若要為雲端會話配置網路存取,請參閱 [設定雲端環境](/docs/zh-TW/cloud-environments#network-access)。

135 135 

136[Remote Control](/docs/zh-TW/remote-control) 會話的工作方式不同:網路介面連接到在您本地機器上執行的 Claude Code 程序。所有程式碼執行和檔案存取保持本地,會話流量通過 TLS 上的 Anthropic API 傳輸;連接時,會話文字記錄會儲存在 Anthropic 伺服器上以跨裝置同步對話,如 [Connection and security](/docs/zh-TW/remote-control#connection-and-security) 中所述。不涉及雲端 VM 或沙箱化。連接使用多個短期、範圍狹窄的認證,每個認證限制於特定目的並獨立過期,以限制任何單一洩露認證的影響範圍。136[Remote Control](/docs/zh-TW/remote-control) 會話的工作方式不同:網路介面連接到在您本地機器上執行的 Claude Code 程序。所有程式碼執行和檔案存取保持本地,會話流量通過 TLS 上的 Anthropic API 傳輸;連接時,會話文字記錄會儲存在 Anthropic 伺服器上以跨裝置同步對話,如 [Connection and security](/docs/zh-TW/remote-control#connection-and-security) 中所述。不涉及雲端 VM 或沙箱化。連接使用多個短期、範圍狹窄的認證,每個認證限制於特定目的並獨立過期,以限制任何單一洩露認證的影響範圍。

137 137 

Details

34`/plugin` 會開啟互動式面板,且僅在終端機 CLI 中可用。如果 Claude 回覆 `/plugin` 在此環境中不可用,請以其他方式安裝:34`/plugin` 會開啟互動式面板,且僅在終端機 CLI 中可用。如果 Claude 回覆 `/plugin` 在此環境中不可用,請以其他方式安裝:

35 35 

36* **Claude 桌面應用程式、本地或 SSH 工作階段**:點擊提示旁的 **+** 按鈕開啟 [外掛程式瀏覽器](/docs/zh-TW/desktop#install-plugins),然後點擊 **Plugins**,再點擊 **Add plugin**36* **Claude 桌面應用程式、本地或 SSH 工作階段**:點擊提示旁的 **+** 按鈕開啟 [外掛程式瀏覽器](/docs/zh-TW/desktop#install-plugins),然後點擊 **Plugins**,再點擊 **Add plugin**

37* **網路上的 Claude Code 或桌面雲端工作階段**:在 `.claude/settings.json` 中聲明外掛程式,如 [在雲端工作階段和共享儲存庫中啟用](#enable-in-cloud-sessions-and-shared-repositories) 下所示37* **雲端工作階段**:在 `.claude/settings.json` 中聲明外掛程式,如 [在雲端工作階段和共享儲存庫中啟用](#enable-in-cloud-sessions-and-shared-repositories) 下所示

38 38 

39終端機安裝會提示輸入範圍。選擇使用者範圍以將外掛程式寫入您的使用者設定,這樣它會在您在此機器上啟動的每個新本地工作階段中載入。39終端機安裝會提示輸入範圍。選擇使用者範圍以將外掛程式寫入您的使用者設定,這樣它會在您在此機器上啟動的每個新本地工作階段中載入。

40 40 


49 在雲端工作階段和共享儲存庫中啟用49 在雲端工作階段和共享儲存庫中啟用

50</h3>50</h3>

51 51 

52使用者範圍的外掛程式不會進入 [網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web),因為這些工作階段在雲端執行,而不是在您的機器上。要在那裡啟用外掛程式,或為克隆儲存庫的所有人開啟它,請在專案的簽入設定中聲明它:52使用者範圍的外掛程式不會進入 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),因為這些工作階段不會在您的機器上執行。要在那裡啟用外掛程式,或為克隆儲存庫的所有人開啟它,請在專案的簽入設定中聲明它:

53 53 

54```json .claude/settings.json theme={null}54```json .claude/settings.json theme={null}

55{55{

Details

10 自託管環境在 Team 和 Enterprise 方案上處於公開測試版,預設為關閉。請參閱[可用性和限制](#availability-and-limitations)以了解啟用路徑和排除項目。10 自託管環境在 Team 和 Enterprise 方案上處於公開測試版,預設為關閉。請參閱[可用性和限制](#availability-and-limitations)以了解啟用路徑和排除項目。

11</Note>11</Note>

12 12 

13自託管環境在您的組織運營的基礎設施上執行 Claude Code 雲端工作階段。[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)是指在開發者機器以外的任何地方執行的工作階段:開發者可以從 claude.ai、行動和桌面應用程式、終端機(使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web))和[排程例行工作](/docs/zh-TW/routines)啟動這些工作階段,預設情況下它們在 Anthropic 的基礎設施上執行。在自託管環境中,這些相同的工作階段在您的網路內執行,開發者體驗基本相同,除了[可用性和限制](#availability-and-limitations)中的差異以及部署頁面的[已知問題](/docs/zh-TW/self-hosted-environments-deploy#known-issues-and-limitations)。13自託管環境在您的組織運營的基礎設施上執行 Claude Code 雲端工作階段。[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)是指在開發者機器以外的任何地方執行的工作階段:開發者可以從 claude.ai、行動和桌面應用程式、終端機(使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud))和[排程例行工作](/docs/zh-TW/routines)啟動這些工作階段,預設情況下它們在 Anthropic 的基礎設施上執行。在自託管環境中,這些相同的工作階段在您的網路內執行,開發者體驗基本相同,除了[可用性和限制](#availability-and-limitations)中的差異以及部署頁面的[已知問題](/docs/zh-TW/self-hosted-environments-deploy#known-issues-and-limitations)。

14 14 

15如果您的團隊不使用雲端工作階段,這裡沒有任何需要設定的內容:終端機或 IDE 中的工作階段始終在開發者自己的機器上執行。如果您想在自己的常駐機器上執行 Claude Code 並從其他裝置驅動它,請使用[遠端控制](/docs/zh-TW/remote-control),該功能也可在 Pro 和 Max 方案上使用。當您準備好設定時,請直接前往[快速入門](/docs/zh-TW/self-hosted-environments-quickstart);如果您想先檢查安全狀況,請從[部署到生產環境](/docs/zh-TW/self-hosted-environments-deploy)開始。本頁的其餘部分說明自託管的工作原理以及何時選擇它。15如果您的團隊不使用雲端工作階段,這裡沒有任何需要設定的內容:終端機或 IDE 中的工作階段始終在開發者自己的機器上執行。如果您想在自己的常駐機器上執行 Claude Code 並從其他裝置驅動它,請使用[遠端控制](/docs/zh-TW/remote-control),該功能也可在 Pro 和 Max 方案上使用。當您準備好設定時,請直接前往[快速入門](/docs/zh-TW/self-hosted-environments-quickstart);如果您想先檢查安全狀況,請從[部署到生產環境](/docs/zh-TW/self-hosted-environments-deploy)開始。本頁的其餘部分說明自託管的工作原理以及何時選擇它。

16 16 


44 44 

45在規劃推出之前,請檢查這些內容:45在規劃推出之前,請檢查這些內容:

46 46 

47* **方案**:Team 和 Enterprise 組織的公開測試版。自託管環境預設為關閉;[擁有者](/docs/zh-TW/cloud-environments#organization-shared-environments)在[**雲端環境**管理頁面](https://claude.ai/admin-settings/cloud-environments)上開啟**允許自託管環境**,這需要為組織啟用 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web)。47* **方案**:Team 和 Enterprise 組織的公開測試版。自託管環境預設為關閉;[擁有者](/docs/zh-TW/cloud-environments#organization-shared-environments)在[**雲端環境**管理頁面](https://claude.ai/admin-settings/cloud-environments)上開啟**允許自託管環境**,這需要為組織啟用[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。

48* **零資料保留**:對於啟用了[零資料保留](/docs/zh-TW/zero-data-retention)的組織不可用。48* **零資料保留**:對於啟用了[零資料保留](/docs/zh-TW/zero-data-retention)的組織不可用。

49* **模型推理**:工作階段使用 Anthropic API,推理無法透過 [Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry](/docs/zh-TW/third-party-integrations) 或 [LLM 閘道](/docs/zh-TW/llm-gateway)路由。49* **模型推理**:工作階段使用 Anthropic API,推理無法透過 [Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry](/docs/zh-TW/third-party-integrations) 或 [LLM 閘道](/docs/zh-TW/llm-gateway)路由。

50* **表面**:從 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web)、行動和桌面應用程式、[排程例行工作](/docs/zh-TW/routines) 和終端機啟動的工作階段,使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web) 或 [`--environment` 分派](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop),可以在自託管環境中執行。[Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段也可以在其中執行,但 Claude 在這些工作階段中還無法使用[存取套件](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)。[Claude Security](/docs/zh-TW/claude-security) 和 [Code Review](/docs/zh-TW/code-review) 工作階段還沒有路由到它們。對這兩個表面的支援將單獨跟進。50* **表面**:從 [claude.ai/code](https://claude.ai/code)、行動和桌面應用程式、[排程例行工作](/docs/zh-TW/routines) 和終端機啟動的工作階段,使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud) 或 [`--environment` 分派](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop),可以在自託管環境中執行。[Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段也可以在其中執行,但 Claude 在這些工作階段中還無法使用[存取套件](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)。[Claude Security](/docs/zh-TW/claude-security) 和 [Code Review](/docs/zh-TW/code-review) 工作階段還沒有路由到它們。對這兩個表面的支援將單獨跟進。

51* **儲存庫**:工作階段從 GitHub 簽出儲存庫;請參閱 [GitHub 身份驗證選項](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)。51* **儲存庫**:工作階段從 GitHub 簽出儲存庫;請參閱 [GitHub 身份驗證選項](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)。

52* **計費**:自託管環境中的工作階段消耗您組織的 Claude Code 使用量,與 Anthropic 託管環境中的工作階段相同。52* **計費**:自託管環境中的工作階段消耗您組織的 Claude Code 使用量,與 Anthropic 託管環境中的工作階段相同。

53 53 

Details

29執行器在包裝指令碼的環境中設定以下內容:29執行器在包裝指令碼的環境中設定以下內容:

30 30 

31| 變數 | 說明 |31| 變數 | 說明 |

32| :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |32| :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | 會話 JWT,前綴為 `sk-ant-cc-`。其 `act` 聲明識別會話建立者,包含建立者的電子郵件和上游身份提供者主體(如果建立表面記錄了它們)。該值是生成時的權杖;重新整理會透過子程序的 stdin 到達,因此包裝指令碼只會看到初始值。請參閱[驗證會話身份](/docs/zh-TW/self-hosted-environments-identity)。 |33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | 會話 JWT,前綴為 `sk-ant-cc-`。其 `act` 聲明識別會話建立者,包含建立者的電子郵件和上游身份提供者主體(如果建立表面記錄了它們)。該值是生成時的權杖;重新整理會透過子程序的 stdin 到達,因此包裝指令碼只會看到初始值。請參閱[驗證會話身份](/docs/zh-TW/self-hosted-environments-identity)。 |

34| `CCR_SESSION_ACCOUNT_EMAIL` | 會話建立者的電子郵件,由執行器從權杖的 `act.email` 聲明中預先提取,無需簽名驗證。適合用於標籤,例如提交預告片。當電子郵件限制認證發行時,驗證權杖並從中讀取聲明;請參閱[佈建限定於會話建立者的認證](#provision-credentials-scoped-to-the-session-creator)。當權杖不包含建立者電子郵件時未設定。視為個人可識別資訊。 |34| `CCR_SESSION_ACCOUNT_EMAIL` | 會話建立者的電子郵件,由執行器從權杖的 `act.email` 聲明中預先提取,無需簽名驗證。適合用於標籤,例如提交預告片。當電子郵件限制認證發行時,驗證權杖並從中讀取聲明;請參閱[佈建限定於會話建立者的認證](#provision-credentials-scoped-to-the-session-creator)。當權杖不包含建立者電子郵件時未設定。視為個人可識別資訊。 |

35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | 建立會話的用戶端表面,例如 `web_claude_ai`、`desktop_app`、`ios`、`claude_code_cli` 或 `scheduled_trigger`。Anthropic 在會話建立時記錄該值一次,因此包裝指令碼和每個生命週期掛鉤都會看到相同的值。僅將其用於採用分析和標籤,不用作授權訊號。當會話沒有記錄或識別的表面時未設定,因此在 `set -u` 下將其參考為 `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}`。需要 Claude Code v2.1.229 或更新版本。 |35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | 建立會話的用戶端表面,例如 `web_claude_ai`、`desktop_app`、`ios`、`claude_code_cli` 或 `scheduled_trigger`。Anthropic 在會話建立時記錄該值一次,因此包裝指令碼和每個生命週期掛鉤都會看到相同的值。僅將其用於採用分析和標籤,不用作授權訊號。當會話沒有記錄或識別的表面時未設定,因此在 `set -u` 下將其參考為 `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}`。需要 Claude Code v2.1.229 或更新版本。 |


37| `CLAUDE_CODE_REMOTE_SESSION_ID` | 標記形式為 `cse_...` 的會話 ID。這是[生命週期掛鉤](#lifecycle-hooks)以 `CLAUDE_RUNNER_SESSION_ID`(`session_...` 形式)看到的相同會話;UUID 變數在兩者之間匹配,將 `cse_` 前綴替換為 `session_` 會產生會話 URL 中顯示的 ID。 |37| `CLAUDE_CODE_REMOTE_SESSION_ID` | 標記形式為 `cse_...` 的會話 ID。這是[生命週期掛鉤](#lifecycle-hooks)以 `CLAUDE_RUNNER_SESSION_ID`(`session_...` 形式)看到的相同會話;UUID 變數在兩者之間匹配,將 `cse_` 前綴替換為 `session_` 會產生會話 URL 中顯示的 ID。 |

38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | 規範 UUID 形式的相同會話 ID,適用於以 UUID 為鍵的系統。 |38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | 規範 UUID 形式的相同會話 ID,適用於以 UUID 為鍵的系統。 |

39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 保存目前會話 JWT 的每個會話檔案的絕對路徑,在權杖重新整理時保持最新。Shell 子程序在下載使用者新增到會話的附件時從中讀取其 `Authorization` 標頭。`exec` 會自動保留該變數;重建子程序環境的包裝指令碼必須帶上該變數,否則附件下載會無聲地停止工作。 |39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 保存目前會話 JWT 的每個會話檔案的絕對路徑,在權杖重新整理時保持最新。Shell 子程序在下載使用者新增到會話的附件時從中讀取其 `Authorization` 標頭。`exec` 會自動保留該變數;重建子程序環境的包裝指令碼必須帶上該變數,否則附件下載會無聲地停止工作。 |

40| `CLAUDE_CONFIG_DIR` | 每個會話的 Claude 設定目錄,在會話開始時從執行器在啟動時擷取的執行器主機設定快照中寫入;請參閱[權限和工具核准](#permissions-and-tool-approval)。此處的寫入隔離到此會話。 |40| `CLAUDE_CONFIG_DIR` | 每個會話的 Claude 設定目錄,在會話開始時從執行器在啟動時擷取的執行器主機設定快照中寫入;請參閱[權限和工具核准](#permissions-and-tool-approval)。此處的寫入隔離到此會話。會話結束後,該目錄保留在 `<base-dir>/_sessions/` 下,除非您使用 [`--remove-session-state`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags) 啟動執行器;請參閱[重複使用預先準備的簽出](/docs/zh-TW/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout)。 |

41| `ANTHROPIC_BASE_URL` | 子程序將使用的 API 基礎 URL,由控制平面按會話傳遞,通常為 `https://api.anthropic.com`。不要覆蓋它:會話的推理認證是 Anthropic 發行的 OAuth 權杖,其他提供者不接受,因此自託管環境中的推理無法路由到其他地方。 |41| `ANTHROPIC_BASE_URL` | 子程序將使用的 API 基礎 URL,由控制平面按會話傳遞,通常為 `https://api.anthropic.com`。不要覆蓋它:會話的推理認證是 Anthropic 發行的 OAuth 權杖,其他提供者不接受,因此自託管環境中的推理無法路由到其他地方。 |

42| `CLAUDE_CODE_OAUTH_TOKEN` | 子程序用於模型推理的短期 OAuth 存取權杖,限定於模型推理和檔案上傳,生命週期約為 30 分鐘。執行器在過期前重新鑄造它,並透過子程序的 stdin 傳遞輪換,因此不[保持 stdin 連接](#keep-stdin-and-file-descriptor-3-attached)的包裝指令碼只會看到初始值。不要依賴您的組織 IP 允許清單來限制此權杖的使用:將其視為持有人認證,如果洩露,大約 30 分鐘內仍可使用,不要記錄它、將其寫入磁碟或在會話容器外轉發它。 |42| `CLAUDE_CODE_OAUTH_TOKEN` | 子程序用於模型推理的短期 OAuth 存取權杖,限定於模型推理和檔案上傳,生命週期約為 30 分鐘。執行器在過期前重新鑄造它,並透過子程序的 stdin 傳遞輪換,因此不[保持 stdin 連接](#keep-stdin-and-file-descriptor-3-attached)的包裝指令碼只會看到初始值。不要依賴您的組織 IP 允許清單來限制此權杖的使用:將其視為持有人認證,如果洩露,大約 30 分鐘內仍可使用,不要記錄它、將其寫入磁碟或在會話容器外轉發它。 |

43 43 

Details

434 434 

435* **任何複製形狀都有效**:路徑上的完整、淺或單分支複製按原樣使用。執行器在提取到現有複製時永遠不會傳遞 `--depth`,因此完整預熱保持其完整歷史記錄,淺複製保持淺。`CLAUDE_RUNNER_FETCH_DEPTH`(`full`、`0` 或數字;預設 50)僅控制執行器在不存在複製時進行的冷複製。435* **任何複製形狀都有效**:路徑上的完整、淺或單分支複製按原樣使用。執行器在提取到現有複製時永遠不會傳遞 `--depth`,因此完整預熱保持其完整歷史記錄,淺複製保持淺。`CLAUDE_RUNNER_FETCH_DEPTH`(`full`、`0` 或數字;預設 50)僅控制執行器在不存在複製時進行的冷複製。

436* **追蹤的變化重置,未追蹤的檔案持續**:每個工作階段從硬重置開始,該重置擦除前一個工作階段的追蹤修改,但執行器永遠不執行 `git clean`,因此鎖定所有者的早期工作階段的未追蹤檔案保留在樹中。436* **追蹤的變化重置,未追蹤的檔案持續**:每個工作階段從硬重置開始,該重置擦除前一個工作階段的追蹤修改,但執行器永遠不執行 `git clean`,因此鎖定所有者的早期工作階段的未追蹤檔案保留在樹中。

437* **每工作階段目錄也持續**:在簽出旁邊,執行器在 `<base-dir>/_sessions/` 下為它執行的每個工作階段建立每工作階段項目。工作階段的 Claude 設定目錄保存對話記錄的本地副本。在它旁邊是工作階段的上傳檔案,當工作階段有任何時。工作階段目錄也坐在那裡:它在工作階段執行時保存任何每工作階段 worktrees 和 `checkout` 鉤子簽出,並保持 Claude 在其中寫入的任何其他內容。

438 

439 預設情況下,執行器在工作階段結束時將這些留在原地,因此在超越執行器程序的磁碟上它們會累積。每個工作階段都以執行器自己的使用者身份執行,因此該磁碟服務的任何後續工作階段都可以讀取它們。如果您保持持久 `--base-dir`,請為該增長調整卷的大小。相同的適用於任何在相同檔案系統上重新啟動執行器的設定,包括 [Docker Compose 配方](#docker-compose)。

440* **使用 `--remove-session-state`,每工作階段目錄不持續**:使用 [`--remove-session-state`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags) 啟動執行器,以便在工作階段結束時刪除每個工作階段的每工作階段目錄。刪除是盡力而為:當執行器在其清理執行之前被殺死時,目錄保留。規範複製和工作階段在主機上其他地方寫入的檔案,例如臨時目錄,無論如何都保留。

437* **使用 Git 代理,重置變成簽出**:使用 [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy),執行器在每個工作階段之前清理複製的 `.git/`,保持物件存儲、refs 和淺狀態,但刪除索引,因此每個工作階段支付完整工作樹簽出而不是幾乎瞬間的重置;它仍然永遠不重新複製。子模組預熱在代理下不受支援。441* **使用 Git 代理,重置變成簽出**:使用 [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy),執行器在每個工作階段之前清理複製的 `.git/`,保持物件存儲、refs 和淺狀態,但刪除索引,因此每個工作階段支付完整工作樹簽出而不是幾乎瞬間的重置;它仍然永遠不重新複製。子模組預熱在代理下不受支援。

438* **長複製不需要解決方法**:執行器使用 120 秒無進度看門狗和 30 分鐘硬上限限制每個 Git 操作,而不是平面超時,因此保持報告進度的慢冷複製完成。442* **長複製不需要解決方法**:執行器使用 120 秒無進度看門狗和 30 分鐘硬上限限制每個 Git 操作,而不是平面超時,因此保持報告進度的慢冷複製完成。

439 443 


530* **工作階段需要幾分鐘才能啟動**:初始複製通常主導。觀看 `claude_code_self_hosted_runner_session_init_duration_seconds` [指標](/docs/zh-TW/self-hosted-environments-reference#prometheus-metrics)以確認,並使用[預熱簽出](#reuse-a-pre-warmed-checkout)或較小的 `CLAUDE_RUNNER_FETCH_DEPTH` 切割複製。534* **工作階段需要幾分鐘才能啟動**:初始複製通常主導。觀看 `claude_code_self_hosted_runner_session_init_duration_seconds` [指標](/docs/zh-TW/self-hosted-environments-reference#prometheus-metrics)以確認,並使用[預熱簽出](#reuse-a-pre-warmed-checkout)或較小的 `CLAUDE_RUNNER_FETCH_DEPTH` 切割複製。

531* **Pod 在清空中途被殺死**:將 `terminationGracePeriodSeconds` 提高到至少執行器在啟動時記錄的值。請參閱[關閉時序](#shutdown-timing)。535* **Pod 在清空中途被殺死**:將 `terminationGracePeriodSeconds` 提高到至少執行器在啟動時記錄的值。請參閱[關閉時序](#shutdown-timing)。

532 536 

533日誌初始化後,執行器將其生命週期日誌(包括 `[runner:fatal]` 行)寫入 stdout,將調試輸出寫入 stderr,全部作為純文字行而不是 JSON。上面故障排除項中描述的啟動失敗在該點之前列印到 stderr。使用 `--log-file` 捕捉兩個流,這也讓 `self-hosted-runner doctor` 尾隨它們,或使用您的平台的日誌收集。每個工作階段的子程序寫入單獨的調試日誌。失敗時執行器保留日誌,在執行器日誌中列印日誌的路徑,並在 claude.ai/code 中的工作階段旁邊顯示日誌的尾部。537日誌初始化後,執行器將其生命週期日誌(包括 `[runner:fatal]` 行)寫入 stdout,將調試輸出寫入 stderr,全部作為純文字行而不是 JSON。上面故障排除項中描述的啟動失敗在該點之前列印到 stderr。使用 `--log-file` 捕捉兩個流,這也讓 `self-hosted-runner doctor` 尾隨它們,或使用您的平台的日誌收集。

538 

539每個工作階段的子程序寫入單獨的調試日誌。失敗時執行器在 claude.ai/code 中的工作階段旁邊顯示日誌的尾部。除非您使用 [`--remove-session-state`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags) 啟動執行器,否則它也會在磁碟上保留失敗工作階段的日誌,並在執行器日誌中列印其路徑。

534 540 

535<h2 id="what’s-next">541<h2 id="what’s-next">

536 下一步542 下一步

Details

10 自託管環境在 Team 和 Enterprise 方案上處於公開測試版;[擁有者](/docs/zh-TW/cloud-environments#organization-shared-environments)可以在[**雲端環境**管理頁面](https://claude.ai/admin-settings/cloud-environments)上開啟**允許自託管環境**來啟用它們。本頁面涵蓋工作階段身分驗證;請參閱[快速入門](/docs/zh-TW/self-hosted-environments-quickstart)以了解設定,以及[部署到生產環境](/docs/zh-TW/self-hosted-environments-deploy)以了解艦隊配方。10 自託管環境在 Team 和 Enterprise 方案上處於公開測試版;[擁有者](/docs/zh-TW/cloud-environments#organization-shared-environments)可以在[**雲端環境**管理頁面](https://claude.ai/admin-settings/cloud-environments)上開啟**允許自託管環境**來啟用它們。本頁面涵蓋工作階段身分驗證;請參閱[快速入門](/docs/zh-TW/self-hosted-environments-quickstart)以了解設定,以及[部署到生產環境](/docs/zh-TW/self-hosted-environments-deploy)以了解艦隊配方。

11</Note>11</Note>

12 12 

13[自託管環境](/docs/zh-TW/self-hosted-environments)讓 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 工作階段在您操作的基礎設施上執行,而不是在 Anthropic 的基礎設施上執行。由於工作階段在您的網路內執行,Claude 可以直接呼叫您的內部服務。這些服務需要一種方式來確認請求來自您環境中的 Claude Code 工作階段,並識別建立該工作階段的使用者或服務身分。13[自託管環境](/docs/zh-TW/self-hosted-environments)讓 Claude Code [雲端工作階段](/docs/zh-TW/claude-code-on-the-web)在您操作的基礎設施上執行,而不是在 Anthropic 的基礎設施上執行。由於工作階段在您的網路內執行,Claude 可以直接呼叫您的內部服務。這些服務需要一種方式來確認請求來自您環境中的 Claude Code 工作階段,並識別建立該工作階段的使用者或服務身分。

14 14 

15自託管環境中的每個工作階段都會在 `CLAUDE_CODE_SESSION_ACCESS_TOKEN` 環境變數中收到一個簽署的 JSON Web Token (JWT)。工作階段會像任何持有人認證一樣呈現令牌;例如,Claude 執行的指令碼可以使用 `curl -H "Authorization: Bearer $CLAUDE_CODE_SESSION_ACCESS_TOKEN"` 呼叫您的服務。Anthropic 簽署令牌並在公開 JWKS 端點發佈驗證金鑰。您的服務會擷取這些金鑰、驗證簽章,並讀取宣告以決定要授予什麼存取權限。15自託管環境中的每個工作階段都會在 `CLAUDE_CODE_SESSION_ACCESS_TOKEN` 環境變數中收到一個簽署的 JSON Web Token (JWT)。工作階段會像任何持有人認證一樣呈現令牌;例如,Claude 執行的指令碼可以使用 `curl -H "Authorization: Bearer $CLAUDE_CODE_SESSION_ACCESS_TOKEN"` 呼叫您的服務。Anthropic 簽署令牌並在公開 JWKS 端點發佈驗證金鑰。您的服務會擷取這些金鑰、驗證簽章,並讀取宣告以決定要授予什麼存取權限。

16 16 

Details

31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | 未設定 | 將即時權杖寫入磁碟以供檢查。僅用於偵錯;不要在生產環境中使用。 |31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | 未設定 | 將即時權杖寫入磁碟以供檢查。僅用於偵錯;不要在生產環境中使用。 |

32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | 在第一個 `SIGTERM` 或 `SIGINT` 上,繼續為已附加的工作階段提供服務而不是排空它們,然後在 N 分鐘後釋放仍然附加的任何內容並退出。在設定此項之前提高主機的停止逾時。請參閱[將排空延遲到第一個信號之後](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal)。`0` 停用。需要 Claude Code v2.1.238 或更新版本。 |32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | 在第一個 `SIGTERM` 或 `SIGINT` 上,繼續為已附加的工作階段提供服務而不是排空它們,然後在 N 分鐘後釋放仍然附加的任何內容並退出。在設定此項之前提高主機的停止逾時。請參閱[將排空延遲到第一個信號之後](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal)。`0` 停用。需要 Claude Code v2.1.238 或更新版本。 |

33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | 在執行器接收到關閉信號或達到其退休時間之前,控制執行器在其活動工作階段完成後何時退出:`0` 立即退出而不輪詢更多內容,正值使執行器保持活動並首先重新輪詢鎖定擁有者的佇列該許多秒,代價是[強化部分](/docs/zh-TW/self-hosted-environments-deploy#harden-your-deployment)中描述的每個工作階段容器隔離。在您使用 [`--defer-shutdown-max-min`](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) 延遲的第一個信號之後,執行器在不持有任何工作階段時立即退出,無論您在此設定什麼。 |33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | 在執行器接收到關閉信號或達到其退休時間之前,控制執行器在其活動工作階段完成後何時退出:`0` 立即退出而不輪詢更多內容,正值使執行器保持活動並首先重新輪詢鎖定擁有者的佇列該許多秒,代價是[強化部分](/docs/zh-TW/self-hosted-environments-deploy#harden-your-deployment)中描述的每個工作階段容器隔離。在您使用 [`--defer-shutdown-max-min`](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) 延遲的第一個信號之後,執行器在不持有任何工作階段時立即退出,無論您在此設定什麼。 |

34| `--drain-marker-file <path>` | `SELF_HOSTED_RUNNER_DRAIN_MARKER_FILE` | 未設定 | 標記檔案,您的主機在傳送 `SIGTERM` 之前寫入以宣佈優雅排空。當檔案在排空開始時存在時,執行器將其退出報告給 Anthropic 為主機排空而不是純粹的關閉信號。排空本身(包括 `--drain-wait-sec` 保留)的執行方式與沒有旗標相同。在本地檔案系統上命名工作階段無法寫入的路徑。需要 Claude Code v2.1.271 或更新版本。 |

34| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | 排空開始後(除非您設定 [`--defer-shutdown-max-min`](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal),否則在 `SIGTERM` 上),等待最多 N 秒讓每個工作階段的進行中轉向和背景工作完成,然後終止子程序。在此等待期間,執行器將剛完成的背景工作計為仍在執行,直到讀取其結果的後續轉向開始,最多 [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) 視窗。 |35| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | 排空開始後(除非您設定 [`--defer-shutdown-max-min`](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal),否則在 `SIGTERM` 上),等待最多 N 秒讓每個工作階段的進行中轉向和背景工作完成,然後終止子程序。在此等待期間,執行器將剛完成的背景工作計為仍在執行,直到讀取其結果的後續轉向開始,最多 [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) 視窗。 |

35| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | 必需 | 包含環境祕密的檔案路徑,或對於由[協調器](/docs/zh-TW/self-hosted-environments-configuration#on-demand-runners)產生的執行器,單次使用工作訂單 JWT。`SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` 直接攜帶祕密值,而不是檔案路徑。較舊的 `--pool-secret-file` 旗標和 `SELF_HOSTED_RUNNER_POOL_SECRET` 變數仍然有效並列印棄用通知到 stderr;早於 2.1.216 的預覽程式執行器組建只識別那些較舊的名稱。 |36| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | 必需 | 包含環境祕密的檔案路徑,或對於由[協調器](/docs/zh-TW/self-hosted-environments-configuration#on-demand-runners)產生的執行器,單次使用工作訂單 JWT。`SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` 直接攜帶祕密值,而不是檔案路徑。較舊的 `--pool-secret-file` 旗標和 `SELF_HOSTED_RUNNER_POOL_SECRET` 變數仍然有效並列印棄用通知到 stderr;早於 2.1.216 的預覽程式執行器組建只識別那些較舊的名稱。 |

36| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | 自己的二進位檔 | 為每個工作階段產生的二進位檔或包裝指令碼。請參閱[包裝指令碼](/docs/zh-TW/self-hosted-environments-configuration#wrapper-scripts)。 |37| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | 自己的二進位檔 | 為每個工作階段產生的二進位檔或包裝指令碼。請參閱[包裝指令碼](/docs/zh-TW/self-hosted-environments-configuration#wrapper-scripts)。 |


39| `--git-ssh-rewrite <host>` | 無 | 未設定 | 在複製之前將 `https://<host>/...` 來源 URL 重寫為 `git@<host>:...`,用於僅限 SSH 的 git 主機。可重複;僅旗標。 |40| `--git-ssh-rewrite <host>` | 無 | 未設定 | 在複製之前將 `https://<host>/...` 來源 URL 重寫為 `git@<host>:...`,用於僅限 SSH 的 git 主機。可重複;僅旗標。 |

40| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | `/healthz` 和 `/metrics` 接聽器的連接埠。設定 `0` 以停用。 |41| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | `/healthz` 和 `/metrics` 接聽器的連接埠。設定 `0` 以停用。 |

41| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | 未設定 | 生命週期掛鉤指令碼的目錄。請參閱[生命週期掛鉤](/docs/zh-TW/self-hosted-environments-configuration#lifecycle-hooks)。 |42| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | 未設定 | 生命週期掛鉤指令碼的目錄。請參閱[生命週期掛鉤](/docs/zh-TW/self-hosted-environments-configuration#lifecycle-hooks)。 |

43| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | 執行器保持[主機設定目錄](#environment-variable-only-settings)啟動快照的位置,它從中播種每個工作階段。`disk` 將快照複製到 `--base-dir` 下執行器擁有的目錄中,並在每個工作階段啟動時,驗證每個檔案對照記憶體內摘要。如果副本中的檔案已被修改,工作階段失敗,執行器拒絕工作階段,直到您重新啟動它。`memory` 在堆上保持整個快照,上限為 64 MiB;超過上限,工作階段啟動時沒有主機設定並顯示說明這一點的通知。當執行器無法寫入磁碟快照時,它記錄失敗並為該執行使用 `memory`。需要 Claude Code v2.1.271 或更新版本。 |

42| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | 將工作階段限制為 N 分鐘牆上時間,作為卡住工作階段的安全限制。在 v2.1.260 或更新版本上,執行器釋放達到限制的工作階段,以便它可以在其使用者的下一條訊息上繼續,並且只有在它在 [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) 寬限期結束時仍在執行器上時才終止它。在 v2.1.260 之前,執行器在限制時終止工作階段。請參閱[某些工作階段不計為閒置](/docs/zh-TW/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle)以了解詳細資訊以及如何選擇值。`0` 停用。 |44| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | 將工作階段限制為 N 分鐘牆上時間,作為卡住工作階段的安全限制。在 v2.1.260 或更新版本上,執行器釋放達到限制的工作階段,以便它可以在其使用者的下一條訊息上繼續,並且只有在它在 [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) 寬限期結束時仍在執行器上時才終止它。在 v2.1.260 之前,執行器在限制時終止工作階段。請參閱[某些工作階段不計為閒置](/docs/zh-TW/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle)以了解詳細資訊以及如何選擇值。`0` 停用。 |

43| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | 未設定 | 在啟動時預先將執行器鎖定到特定帳戶,而不是在第一個工作階段時鎖定。接受環境組織中的電子郵件地址或 `user_...` ID。預先鎖定的執行器永遠不會拾取 Claude Tag 頻道工作階段,這些工作階段沒有帳戶。 |45| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | 未設定 | 在啟動時預先將執行器鎖定到特定帳戶,而不是在第一個工作階段時鎖定。接受環境組織中的電子郵件地址或 `user_...` ID。預先鎖定的執行器永遠不會拾取 Claude Tag 頻道工作階段,這些工作階段沒有帳戶。 |

44| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | 未設定 | 除了 stdout 和 stderr 外,還將執行器日誌鏡像到檔案,使用 `0600` 權限建立。`self-hosted-runner doctor` 在本地尾部日誌需要此項。 |46| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | 未設定 | 除了 stdout 和 stderr 外,還將執行器日誌鏡像到檔案,使用 `0600` 權限建立。`self-hosted-runner doctor` 在本地尾部日誌需要此項。 |


48| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | 未設定 | 執行器為每個到您的出口代理的連線讀取的檔案,使用其修剪的內容作為 `Proxy-Authorization` 標頭值。對於另一個程序就地輪換的權杖,使用此旗標。與 `--proxy-authorization-command` 具有相同的要求,不能與其結合。請參閱[驗證到出口代理](/docs/zh-TW/self-hosted-environments-deploy#authenticate-to-an-egress-proxy)。需要 Claude Code v2.1.238 或更新版本。 |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | 未設定 | 執行器為每個到您的出口代理的連線讀取的檔案,使用其修剪的內容作為 `Proxy-Authorization` 標頭值。對於另一個程序就地輪換的權杖,使用此旗標。與 `--proxy-authorization-command` 具有相同的要求,不能與其結合。請參閱[驗證到出口代理](/docs/zh-TW/self-hosted-environments-deploy#authenticate-to-an-egress-proxy)。需要 Claude Code v2.1.238 或更新版本。 |

49| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | 關閉 | 在執行器啟動的工作階段結束(例如排空或閒置釋放)時,在刪除工作區之前將追蹤的結果分支推送到 `origin`,以便進行中的提交在重新啟動後存活。盡力而為;將關閉預算增加 30 秒,並需要 git 2.29 或更新版本以從推送的分支繼續。在啟用之前限制推送存取到 `claude/*` 參考;請參閱[已繼續的工作階段會遺失未推送的工作](/docs/zh-TW/self-hosted-environments-deploy#additional-limitations)。通過 `checkout` 生命週期掛鉤簽出的存放庫不會被推送;改為從 [`post-session` 掛鉤](/docs/zh-TW/self-hosted-environments-configuration#post-session)快照這些。 |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | 關閉 | 在執行器啟動的工作階段結束(例如排空或閒置釋放)時,在刪除工作區之前將追蹤的結果分支推送到 `origin`,以便進行中的提交在重新啟動後存活。盡力而為;將關閉預算增加 30 秒,並需要 git 2.29 或更新版本以從推送的分支繼續。在啟用之前限制推送存取到 `claude/*` 參考;請參閱[已繼續的工作階段會遺失未推送的工作](/docs/zh-TW/self-hosted-environments-deploy#additional-limitations)。通過 `checkout` 生命週期掛鉤簽出的存放庫不會被推送;改為從 [`post-session` 掛鉤](/docs/zh-TW/self-hosted-environments-configuration#post-session)快照這些。 |

50| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | 在轉向完成或工作階段等待使用者操作後,在 N 分鐘的不活動後釋放工作階段槽。仍在進行中轉向的工作階段(包括持有永不完成的背景工作或從執行中工具呼叫內部請求的批准的工作階段)不計為閒置;與 `--kill-session-after-min` 配對作為硬後擋。在工作階段的背景工作完成後,執行器將工作階段視為忙碌,直到讀取結果的後續轉向開始,最多 [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) 視窗。在執行器接收到關閉信號或達到其退休時間之前,留下執行器沒有活動工作階段的釋放會啟動與正常排空相同的退出路徑,由 `--drain-grace-sec` 管理。在您使用 [`--defer-shutdown-max-min`](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) 延遲的第一個信號之後,執行器在釋放使其不持有任何工作階段時立即退出。`0` 停用。 |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | 在轉向完成或工作階段等待使用者操作後,在 N 分鐘的不活動後釋放工作階段槽。仍在進行中轉向的工作階段(包括持有永不完成的背景工作或從執行中工具呼叫內部請求的批准的工作階段)不計為閒置;與 `--kill-session-after-min` 配對作為硬後擋。在工作階段的背景工作完成後,執行器將工作階段視為忙碌,直到讀取結果的後續轉向開始,最多 [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) 視窗。在執行器接收到關閉信號或達到其退休時間之前,留下執行器沒有活動工作階段的釋放會啟動與正常排空相同的退出路徑,由 `--drain-grace-sec` 管理。在您使用 [`--defer-shutdown-max-min`](/docs/zh-TW/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) 延遲的第一個信號之後,執行器在釋放使其不持有任何工作階段時立即退出。`0` 停用。 |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | 關閉 | 當工作階段在此執行器上結束時,移除 `<base-dir>/_sessions/` 下的工作階段的每個工作階段目錄,無論結果如何。[重複使用預先加熱的簽出](/docs/zh-TW/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout)描述它們持有的內容以及當它們保留時誰可以讀取它們。移除是盡力而為:當執行器被終止或在清理執行之前達到其排空期限時,每個工作階段目錄保留在原位。啟用旗標後,失敗或中斷的工作階段的偵錯日誌不會保留在磁碟上。需要 Claude Code v2.1.268 或更新版本。 |

51| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 未設定 | 在絕對 Unix 時間戳記(秒)時退休執行器,用於在已知時間終止執行器的基礎設施;[執行器生命週期](/docs/zh-TW/self-hosted-environments#runner-lifecycle)描述釋放序列以及如何調整邊距。2001 年之前或 5138 年之後的值被旗標拒絕,被環境變數忽略。 |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 未設定 | 在絕對 Unix 時間戳記(秒)時退休執行器,用於在已知時間終止執行器的基礎設施;[執行器生命週期](/docs/zh-TW/self-hosted-environments#runner-lifecycle)描述釋放序列以及如何調整邊距。2001 年之前或 5138 年之後的值被旗標拒絕,被環境變數忽略。 |

52| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | 在工作階段結束後,在強制終止之前等待 Claude 程序乾淨退出的時間。如果子程序自己的 `SessionEnd` 掛鉤需要更多時間,請提高該值。 |55| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | 在工作階段結束後,在強制終止之前等待 Claude 程序乾淨退出的時間。如果子程序自己的 `SessionEnd` 掛鉤需要更多時間,請提高該值。 |

53| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | 如果子程序在產生後 N 分鐘內未在[活動頻道](/docs/zh-TW/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached)上發出初始化信號,則釋放工作階段槽。由子程序的初始化信號清除,而不是普通輸出,之後 `--release-idle-session-min` 接管。`0` 停用。 |56| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | 如果子程序在產生後 N 分鐘內未在[活動頻道](/docs/zh-TW/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached)上發出初始化信號,則釋放工作階段槽。由子程序的初始化信號清除,而不是普通輸出,之後 `--release-idle-session-min` 接管。`0` 停用。 |

settings.md +6 −5

Details

470 470 

471若要在一個專案中為自己變更設定而不為隊友變更,請將其儲存在專案內的 `.claude/settings.local.json` 中。Claude Code 在提交的 `.claude/settings.json` 上應用該檔案,因此如果您的團隊檔案設定 `"model": "claude-sonnet-5"` 而您想要 Opus,請在本機檔案中放入 `"model": "claude-opus-4-8"`,只有您的工作階段會變更。471若要在一個專案中為自己變更設定而不為隊友變更,請將其儲存在專案內的 `.claude/settings.local.json` 中。Claude Code 在提交的 `.claude/settings.json` 上應用該檔案,因此如果您的團隊檔案設定 `"model": "claude-sonnet-5"` 而您想要 Opus,請在本機檔案中放入 `"model": "claude-opus-4-8"`,只有您的工作階段會變更。

472 472 

473關於本機檔案,有三件事要知道:473Claude Code 也寫入此檔案,將其保留在您的提交之外,並在不需要信任步驟的情況下應用其允許規則:

474 474 

475* **Claude Code 也寫入它。** 當 Claude 要求執行 Bash 命令的權限,而您選擇「是的,不要再問」時,Claude Code 會將該[權限核准](/docs/zh-TW/permissions#permission-system)儲存在此處作為 `allow` 規則。475* **Claude Code 也寫入它。** 當 Claude 要求執行 Bash 命令的權限,而您選擇「是的,不要再問」時,Claude Code 會將該[權限核准](/docs/zh-TW/permissions#permission-system)儲存在此處作為 `allow` 規則。

476* **您不需要自行 gitignore 它,除非您手動建立它。** Claude Code 在不已忽略它的 git 儲存庫中第一次寫入檔案時,它會將 `**/.claude/settings.local.json` 新增至您的全域 git 排除項目檔案,因此檔案在每個儲存庫中保留在您的提交之外。該檔案是 `core.excludesFile`,當您的全域 git 設定將其設定為絕對或 `~` 前綴路徑時;否則它是 `$XDG_CONFIG_HOME/git/ignore`,或當 `XDG_CONFIG_HOME` 未設定時為 `~/.config/git/ignore`。如果您手動建立檔案,而 Claude Code 尚未寫入它,請自行將其新增至 `.gitignore`。476* **您不需要自行 gitignore 它,除非您手動建立它。** Claude Code 在不已忽略它的 git 儲存庫中第一次寫入檔案時,它會將 `**/.claude/settings.local.json` 新增至您的全域 git 排除項目檔案,因此檔案在每個儲存庫中保留在您的提交之外。該檔案是 `core.excludesFile`,當您的全域 git 設定將其設定為絕對或 `~` 前綴路徑時;否則它是 `$XDG_CONFIG_HOME/git/ignore`,或當 `XDG_CONFIG_HOME` 未設定時為 `~/.config/git/ignore`。如果您手動建立檔案,而 Claude Code 尚未寫入它,請自行將其新增至 `.gitignore`。


765 765 

766兩件事使 `.claude/settings.json` 中的金鑰無法為複製它的每個人應用:766兩件事使 `.claude/settings.json` 中的金鑰無法為複製它的每個人應用:

767 767 

768* **Claude Code 忽略儲存庫檔案中的金鑰。** 在[設定索引](/docs/zh-TW/settings-reference#settings-index)的「範圍」欄中查找 `User, local, or managed`、`User or managed`、`Managed` 或 `Global config`;這些金鑰永遠不會從共享檔案應用,除了 [`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit),儲存庫檔案仍然可以關閉:當檔案設定金鑰而沒有使用者、`--settings` 或受管值時,Claude Code 讀取設定為關閉。`Global config` 金鑰僅從 `~/.claude.json` 應用。768* **Claude Code 忽略儲存庫檔案中的金鑰。** 在[設定索引](/docs/zh-TW/settings-reference#settings-index)的「範圍」欄中查找 `User, local, or managed`、`User or managed`、`Managed` 或 `Global config`。這些金鑰永遠不會從共享檔案應用,除了少數可以儲存庫檔案仍然關閉的金鑰。每個這些項目在其「範圍」行上說明。`Global config` 金鑰僅從 `~/.claude.json` 應用。

769* **金鑰等待信任。** `permissions.allow` 規則、`permissions.additionalDirectories`、`extraKnownMarketplaces` 和大多數 [`env`](/docs/zh-TW/settings-reference#env) 值僅在每個隊友[信任資料夾](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust)後應用。在那之前,他們仍然看到提示並不從檔案宣告的 marketplace 獲得 plugins。`deny` 和 `ask` 規則立即應用。769* **金鑰等待信任。** `permissions.allow` 規則、`permissions.additionalDirectories`、`extraKnownMarketplaces` 和大多數 [`env`](/docs/zh-TW/settings-reference#env) 值僅在每個隊友[信任資料夾](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust)後應用。在那之前,他們仍然看到提示並不從檔案宣告的 marketplace 獲得 plugins。`deny` 和 `ask` 規則立即應用。

770 770 

771<h4 id="permission-rules-combine-differently-than-you-expected">771<h4 id="permission-rules-combine-differently-than-you-expected">


792| [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) | 來自 `.claude/settings.json` 或 `.claude/settings.local.json` 的更嚴格值,在 `accept` \< `hold` \< `refuse` 梯形上 | 在受管、`--settings` 和使用者值上被尊重;不是更嚴格的專案或本機值被忽略 |792| [`crossSessionInbound`](/docs/zh-TW/settings-reference#crosssessioninbound) | 來自 `.claude/settings.json` 或 `.claude/settings.local.json` 的更嚴格值,在 `accept` \< `hold` \< `refuse` 梯形上 | 在受管、`--settings` 和使用者值上被尊重;不是更嚴格的專案或本機值被忽略 |

793| [`useAutoModeDuringPlan`](/docs/zh-TW/settings-reference#useautomodeduringplan) | 來自任何受管來源、`--settings`、`~/.claude/settings.json` 或 `.claude/settings.local.json` 的 `false` | 即使獲勝的受管來源設定 `true` 也被尊重;`.claude/settings.json` 中的 `false` 被忽略 |793| [`useAutoModeDuringPlan`](/docs/zh-TW/settings-reference#useautomodeduringplan) | 來自任何受管來源、`--settings`、`~/.claude/settings.json` 或 `.claude/settings.local.json` 的 `false` | 即使獲勝的受管來源設定 `true` 也被尊重;`.claude/settings.json` 中的 `false` 被忽略 |

794| [`syncClaudeAiSkills`](/docs/zh-TW/settings-reference#syncclaudeaiskills) | 來自任何受管來源、`--settings`、`~/.claude/settings.json` 或 `.claude/settings.local.json` 的 `false` | 即使獲勝的受管來源設定 `true` 也被尊重;`.claude/settings.json` 中的 `false` 被忽略 |794| [`syncClaudeAiSkills`](/docs/zh-TW/settings-reference#syncclaudeaiskills) | 來自任何受管來源、`--settings`、`~/.claude/settings.json` 或 `.claude/settings.local.json` 的 `false` | 即使獲勝的受管來源設定 `true` 也被尊重;`.claude/settings.json` 中的 `false` 被忽略 |

795| [`syncClaudeAiPlugins`](/docs/zh-TW/settings-reference#syncclaudeaiplugins) | 來自任何受管來源、`--settings`、`~/.claude/settings.json` 或 `.claude/settings.local.json` 的 `false` | 即使獲勝的受管來源設定 `true` 也被尊重;`.claude/settings.json` 中的 `false` 被忽略 |

795| [`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) | 來自任何範圍的較低上限,包括 `--settings` | 即使 Claude Code 應用的受管設定設定較高上限也被尊重;最低上限適用。需要 Claude Code v2.1.267 或更新版本 |796| [`maxEffortLevel`](/docs/zh-TW/settings-reference#maxeffortlevel) | 來自任何範圍的較低上限,包括 `--settings` | 即使 Claude Code 應用的受管設定設定較高上限也被尊重;最低上限適用。需要 Claude Code v2.1.267 或更新版本 |

796 797 

797在自己內部執行 Claude Code 並設定 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/zh-TW/env-vars) 的應用程式也是例外。Claude Code 將該應用程式的模型設定優先於來自每個受管來源的 `model`、`fallbackModel`、`modelPicker` 和 `modelOverrides` 金鑰,以及受管 `env` 區塊中的模型選擇變數,例如 `ANTHROPIC_MODEL` 和 `ANTHROPIC_DEFAULT_*_MODEL` 系列。Claude Code 保持受管 [`availableModels`](/docs/zh-TW/settings-reference#availablemodels) 允許清單生效,除非應用程式提供自己的。798在自己內部執行 Claude Code 並設定 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/zh-TW/env-vars) 的應用程式也是例外。Claude Code 將該應用程式的模型設定優先於來自每個受管來源的 `model`、`fallbackModel`、`modelPicker` 和 `modelOverrides` 金鑰,以及受管 `env` 區塊中的模型選擇變數,例如 `ANTHROPIC_MODEL` 和 `ANTHROPIC_DEFAULT_*_MODEL` 系列。Claude Code 保持受管 [`availableModels`](/docs/zh-TW/settings-reference#availablemodels) 允許清單生效,除非應用程式提供自己的。


800 雲端工作階段中的設定801 雲端工作階段中的設定

801</h2>802</h2>

802 803 

803雲端工作階段,在 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 或來自 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web),在[雲端環境](/docs/zh-TW/cloud-environments)中執行,在您儲存庫的新複製上,而不是在您的機器上。這改變了哪些設定到達它:804[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)在[雲端環境](/docs/zh-TW/cloud-environments)中執行,在您儲存庫的新複製上,而不是在您的機器上。這改變了哪些設定到達它:

804 805 

805* **共享專案設定**(`.claude/settings.json`):讀取,因為檔案是複製的一部分。在那裡提交設定以在雲端工作階段中應用它。806* **共享專案設定**(`.claude/settings.json`):在一個儲存庫的工作階段中讀取,因為檔案是複製的一部分,且工作階段在其內部啟動。在那裡提交設定以在這些工作階段中應用它。具有多個儲存庫的工作階段在複製上方啟動,因此從每個儲存庫的 `.claude/settings.json` 它只載入檔案宣告的 plugins 和 marketplaces,而不是權限規則、hooks、`env` 或其他金鑰;請參閱[從您的設定進行的內容](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)。

806* **使用者和專案本機設定**(`~/.claude/settings.json` 和 `.claude/settings.local.json`):未讀取。兩者都保留在您的機器上,本機檔案不在複製中。807* **使用者和專案本機設定**(`~/.claude/settings.json` 和 `.claude/settings.local.json`):未讀取。兩者都保留在您的機器上,本機檔案不在複製中。

807* **受管設定**:只有[伺服器管理設定](/docs/zh-TW/server-managed-settings)到達雲端工作階段;您裝置上的 `managed-settings.json` 檔案或 MDM 設定檔不會。[自託管環境](/docs/zh-TW/self-hosted-environments)也讀取其執行器映像中的受管設定檔案。[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明該檔案何時適用。808* **受管設定**:只有[伺服器管理設定](/docs/zh-TW/server-managed-settings)到達雲端工作階段;您裝置上的 `managed-settings.json` 檔案或 MDM 設定檔不會。[自託管環境](/docs/zh-TW/self-hosted-environments)也讀取其執行器映像中的受管設定檔案。[Claude Code 如何合併受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)說明該檔案何時適用。

808* **`/config`**:在網路上,開啟您的 claude.ai 設定的 Claude Code 部分而不是變更值。若要為雲端工作階段變更設定,請在環境上設定[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables)或將金鑰提交到儲存庫的 `.claude/settings.json`。809* **`/config`**:在您的瀏覽器中的 claude.ai/code,開啟您的 claude.ai 設定的 Claude Code 部分而不是變更值。若要為雲端工作階段變更設定,請在環境上設定[環境變數](/docs/zh-TW/cloud-environments#set-environment-variables),或在具有一個儲存庫的工作階段中,將金鑰提交到該儲存庫的 `.claude/settings.json`。

809 810 

810[從您的設定進行的內容](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)列出其餘部分:`CLAUDE.md`、skills、MCP 伺服器、plugins 和認證。811[從您的設定進行的內容](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)列出其餘部分:`CLAUDE.md`、skills、MCP 伺服器、plugins 和認證。

811 812 

Details

96 96 

97一個團隊的共享設定,提交到版本庫,以便每個複製它的人都獲得相同的權限、hooks、遙測和外掛程式市集。在版本庫的頂部將這樣的檔案儲存在 `.claude/settings.json`。提交之前需要了解的事項:97一個團隊的共享設定,提交到版本庫,以便每個複製它的人都獲得相同的權限、hooks、遙測和外掛程式市集。在版本庫的頂部將這樣的檔案儲存在 `.claude/settings.json`。提交之前需要了解的事項:

98 98 

99* **雲端工作階段也會讀取它。** Claude Code 網頁版上的 [雲端工作階段](/docs/zh-TW/settings#settings-in-cloud-sessions) 從版本庫的複製開始,因此提交的檔案也適用於此。99* **雲端工作階段也會讀取它。** 一個 [雲端工作階段](/docs/zh-TW/settings#settings-in-cloud-sessions) 從版本庫的複製開始,因此提交的檔案也適用於此。

100* **允許規則等待信任。** 允許規則和 `extraKnownMarketplaces` 項目在每個人 [信任此資料夾本身](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust) 後生效,不僅是父資料夾;拒絕和詢問規則在每個工作階段中適用,無論是否信任。100* **允許規則等待信任。** 允許規則和 `extraKnownMarketplaces` 項目在每個人 [信任此資料夾本身](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust) 後生效,不僅是父資料夾;拒絕和詢問規則在每個工作階段中適用,無論是否信任。

101* **hook 是版本庫中的指令碼。** 此檔案的 hook 執行 `.claude/hooks/block-rm.sh`;[hook 如何解析](/docs/zh-TW/hooks#how-a-hook-resolves) 說明如何編寫它。101* **hook 是版本庫中的指令碼。** 此檔案的 hook 執行 `.claude/hooks/block-rm.sh`;[hook 如何解析](/docs/zh-TW/hooks#how-a-hook-resolves) 說明如何編寫它。

102* **規則匹配所寫的命令和路徑。** `Bash(git push *)` 不匹配 [`git -C . push`](/docs/zh-TW/permissions#bash-rule-limits)。`Read(./.env)` 本身會停止檔案工具和命名檔案的命令,例如 `cat .env`,但不會停止 [`grep -r` 在目錄上執行](/docs/zh-TW/permissions#read-and-edit);此檔案中的 `sandbox` 區塊關閉了該間隙,因為沙箱 [新增您的 `Read` 拒絕路徑](/docs/zh-TW/settings-reference#sandbox-filesystem-denyread) 到每個沙箱化命令無法讀取的內容。102* **規則匹配所寫的命令和路徑。** `Bash(git push *)` 不匹配 [`git -C . push`](/docs/zh-TW/permissions#bash-rule-limits)。`Read(./.env)` 本身會停止檔案工具和命名檔案的命令,例如 `cat .env`,但不會停止 [`grep -r` 在目錄上執行](/docs/zh-TW/permissions#read-and-edit);此檔案中的 `sandbox` 區塊關閉了該間隙,因為沙箱 [新增您的 `Read` 拒絕路徑](/docs/zh-TW/settings-reference#sandbox-filesystem-denyread) 到每個沙箱化命令無法讀取的內容。

Details

624| [`awsAuthRefresh`](#awsauthrefresh) | 使用您自己的命令重新整理 `.aws` 中過期的 [Bedrock 認證](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) | 驗證和提供者 | Any file |624| [`awsAuthRefresh`](#awsauthrefresh) | 使用您自己的命令重新整理 `.aws` 中過期的 [Bedrock 認證](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) | 驗證和提供者 | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | 從您自己的命令以 JSON 形式提供 [Bedrock 認證](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) | 驗證和提供者 | Any file |625| [`awsCredentialExport`](#awscredentialexport) | 從您自己的命令以 JSON 形式提供 [Bedrock 認證](/docs/zh-TW/amazon-bedrock#advanced-credential-configuration) | 驗證和提供者 | Any file |

626| [`axScreenReader`](#axscreenreader) | 呈現[螢幕閱讀器友善的輸出](/docs/zh-TW/accessibility) | 介面和終端 | Any file |626| [`axScreenReader`](#axscreenreader) | 呈現[螢幕閱讀器友善的輸出](/docs/zh-TW/accessibility) | 介面和終端 | Any file |

627| [`bashEditDiffEnabled`](#basheditdiffenabled) | 在每個權限模式中記錄 [Bash 命令變更的檔案](/docs/zh-TW/hooks#bash) | 介面和終端 | User or managed |

627| [`bashOutputMaxChars`](#bashoutputmaxchars) | 設定成功命令的[輸出](/docs/zh-TW/tools-reference#output-limits)有多少 Claude 內聯接收 | 記憶和內容 | Any file |628| [`bashOutputMaxChars`](#bashoutputmaxchars) | 設定成功命令的[輸出](/docs/zh-TW/tools-reference#output-limits)有多少 Claude 內聯接收 | 記憶和內容 | Any file |

628| [`blockedMarketplaces`](#blockedmarketplaces) | 為您的組織封鎖[外掛程式市集](/docs/zh-TW/plugin-marketplaces)來源 | 外掛程式和技能 | Managed |629| [`blockedMarketplaces`](#blockedmarketplaces) | 為您的組織封鎖[外掛程式市集](/docs/zh-TW/plugin-marketplaces)來源 | 外掛程式和技能 | Managed |

629| [`browserExternalPageTools`](#browserexternalpagetools) | 在[桌面](/docs/zh-TW/desktop)瀏覽器窗格中的外部頁面上關閉 Claude 的工具 | 工具 | Managed |630| [`browserExternalPageTools`](#browserexternalpagetools) | 在[桌面](/docs/zh-TW/desktop)瀏覽器窗格中的外部頁面上關閉 Claude 的工具 | 工具 | Managed |


679| [`forceLoginMethod`](#forceloginmethod) | [限制登入](/docs/zh-TW/authentication#restrict-login-to-your-organization)到 claude.ai、Claude Console 或[雲端閘道](/docs/zh-TW/claude-apps-gateway) | 驗證和提供者 | Any file |680| [`forceLoginMethod`](#forceloginmethod) | [限制登入](/docs/zh-TW/authentication#restrict-login-to-your-organization)到 claude.ai、Claude Console 或[雲端閘道](/docs/zh-TW/claude-apps-gateway) | 驗證和提供者 | Any file |

680| [`forceLoginOrgUUID`](#forceloginorguuid) | [將 claude.ai 登入釘選到您的組織](/docs/zh-TW/authentication#restrict-login-to-your-organization);只有受管理的來源才能強制執行 | 驗證和提供者 | Any file |681| [`forceLoginOrgUUID`](#forceloginorguuid) | [將 claude.ai 登入釘選到您的組織](/docs/zh-TW/authentication#restrict-login-to-your-organization);只有受管理的來源才能強制執行 | 驗證和提供者 | Any file |

681| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | 阻止啟動,直到[伺服器受管理的設定](/docs/zh-TW/server-managed-settings)被新鮮擷取 | 企業和受管理的設定 | Managed |682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | 阻止啟動,直到[伺服器受管理的設定](/docs/zh-TW/server-managed-settings)被新鮮擷取 | 企業和受管理的設定 | Managed |

683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | 讓 `/login` 到達您的組織在內部使用的公開 IPv4 空間上的[雲端閘道](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) | 驗證和提供者 | Managed |

682| [`gcpAuthRefresh`](#gcpauthrefresh) | 使用您自己的命令重新整理 [Google Cloud 認證](/docs/zh-TW/google-vertex-ai#advanced-credential-configuration) | 驗證和提供者 | Any file |684| [`gcpAuthRefresh`](#gcpauthrefresh) | 使用您自己的命令重新整理 [Google Cloud 認證](/docs/zh-TW/google-vertex-ai#advanced-credential-configuration) | 驗證和提供者 | Any file |

683| [`hooks`](#hooks) | 在 Claude Code 生命週期中的點執行您自己的命令作為 [hooks](/docs/zh-TW/hooks) | Hooks 和自動化 | Any file |685| [`hooks`](#hooks) | 在 Claude Code 生命週期中的點執行您自己的命令作為 [hooks](/docs/zh-TW/hooks) | Hooks 和自動化 | Any file |

684| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | 限制 [HTTP hooks](/docs/zh-TW/hooks) 可以在標頭中放入的環境變數 | Hooks 和自動化 | Any file |686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | 限制 [HTTP hooks](/docs/zh-TW/hooks) 可以在標頭中放入的環境變數 | Hooks 和自動化 | Any file |


709| [`permissions.defaultMode`](#permissions-defaultmode) | 設定新工作階段開始的[權限模式](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) | 權限設定 | Any file |711| [`permissions.defaultMode`](#permissions-defaultmode) | 設定新工作階段開始的[權限模式](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in) | 權限設定 | Any file |

710| [`permissions.deny`](#permissions-deny) | 封鎖列出的[工具使用](/docs/zh-TW/permissions#permission-rule-syntax),包括保存秘密的檔案的讀取 | 權限設定 | Any file |712| [`permissions.deny`](#permissions-deny) | 封鎖列出的[工具使用](/docs/zh-TW/permissions#permission-rule-syntax),包括保存秘密的檔案的讀取 | 權限設定 | Any file |

711| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 防止任何人進入 [bypassPermissions 模式](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode) | 權限設定 | Any file |713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 防止任何人進入 [bypassPermissions 模式](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode) | 權限設定 | Any file |

712| [`plansDirectory`](#plansdirectory) | 選擇 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 寫入計畫檔案的位置 | 記憶和內容 | Any file |714| [`plansDirectory`](#plansdirectory) | 選擇 [Plan Mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 寫入計畫檔案的位置 | 記憶和內容 | Any file |

713| [`pluginConfigs`](#pluginconfigs) | 儲存您提供給[外掛程式](/docs/zh-TW/plugins)設定對話的答案 | 外掛程式和技能 | User or managed |715| [`pluginConfigs`](#pluginconfigs) | 儲存您提供給[外掛程式](/docs/zh-TW/plugins)設定對話的答案 | 外掛程式和技能 | User or managed |

714| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | 選擇哪些[市集](/docs/zh-TW/plugin-marketplaces#managed-marketplace-restrictions)可以在 `/plugin` 中顯示外掛程式安裝建議 | 外掛程式和技能 | Managed |716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | 選擇哪些[市集](/docs/zh-TW/plugin-marketplaces#managed-marketplace-restrictions)可以在 `/plugin` 中顯示外掛程式安裝建議 | 外掛程式和技能 | Managed |

715| [`pluginTrustMessage`](#plugintrustmessage) | 將您自己的文字新增到[外掛程式](/docs/zh-TW/plugins)信任警告 | 外掛程式和技能 | Managed |717| [`pluginTrustMessage`](#plugintrustmessage) | 將您自己的文字新增到[外掛程式](/docs/zh-TW/plugins)信任警告 | 外掛程式和技能 | Managed |


767| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | 讓[沙箱](/docs/zh-TW/sandboxing#network-isolation)代理終止 TLS,以便它可以讀取 HTTPS 請求 | 沙箱設定 | User or managed |769| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | 讓[沙箱](/docs/zh-TW/sandboxing#network-isolation)代理終止 TLS,以便它可以讀取 HTTPS 請求 | 沙箱設定 | User or managed |

768| [`sandbox.ripgrep`](#sandbox-ripgrep) | 在[沙箱](/docs/zh-TW/sandboxing)內使用您自己的 ripgrep 二進位檔 | 沙箱設定 | User or managed |770| [`sandbox.ripgrep`](#sandbox-ripgrep) | 在[沙箱](/docs/zh-TW/sandboxing)內使用您自己的 ripgrep 二進位檔 | 沙箱設定 | User or managed |

769| [`sandbox.socatPath`](#sandbox-socatpath) | 將[沙箱](/docs/zh-TW/sandboxing)代理指向 `PATH` 外的 `socat` 二進位檔 | 沙箱設定 | Managed |771| [`sandbox.socatPath`](#sandbox-socatpath) | 將[沙箱](/docs/zh-TW/sandboxing)代理指向 `PATH` 外的 `socat` 二進位檔 | 沙箱設定 | Managed |

770| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | 在 [plan 接受畫面](/docs/zh-TW/permission-modes#review-and-approve-a-plan)上顯示「清除內容」選項 | 介面和終端 | Any file |772| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | 在 [Plan Mode 接受畫面](/docs/zh-TW/permission-modes#review-and-approve-a-plan)上顯示「清除內容」選項 | 介面和終端 | Any file |

771| [`showThinkingSummaries`](#showthinkingsummaries) | 查看 Claude [思考](/docs/zh-TW/model-config#extended-thinking)的摘要,而不是摺疊的存根 | 模型和回應 | Any file |773| [`showThinkingSummaries`](#showthinkingsummaries) | 查看 Claude [思考](/docs/zh-TW/model-config#extended-thinking)的摘要,而不是摺疊的存根 | 模型和回應 | Any file |

772| [`showTurnDuration`](#showturnduration) | 隱藏每個回應後的「Cooked for」持續時間 | 介面和終端 | Any file |774| [`showTurnDuration`](#showturnduration) | 隱藏每個回應後的「Cooked for」持續時間 | 介面和終端 | Any file |

773| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | 為[技能清單](/docs/zh-TW/skills#skill-descriptions-are-cut-short)保留更多或更少的內容 | 記憶和內容 | Any file |775| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | 為[技能清單](/docs/zh-TW/skills#skill-descriptions-are-cut-short)保留更多或更少的內容 | 記憶和內容 | Any file |


792| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | 選擇子代理和主要對話外其他請求的[提示快取生命週期](/docs/zh-TW/prompt-caching#cache-lifetime) | 模型和回應 | Any file |794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | 選擇子代理和主要對話外其他請求的[提示快取生命週期](/docs/zh-TW/prompt-caching#cache-lifetime) | 模型和回應 | Any file |

793| [`subagentStatusLine`](#subagentstatusline) | 使用您自己的命令重寫[子代理](/docs/zh-TW/sub-agents)工作顯示中的列 | 介面和終端 | Any file |795| [`subagentStatusLine`](#subagentstatusline) | 使用您自己的命令重寫[子代理](/docs/zh-TW/sub-agents)工作顯示中的列 | 介面和終端 | Any file |

794| [`switchModelsOnFlag`](#switchmodelsonflag) | 自動切換模型或在[安全分類器](/docs/zh-TW/model-config#ask-before-switching)標記請求時暫停 | 模型和回應 | Any file |796| [`switchModelsOnFlag`](#switchmodelsonflag) | 自動切換模型或在[安全分類器](/docs/zh-TW/model-config#ask-before-switching)標記請求時暫停 | 模型和回應 | Any file |

795| [`syncClaudeAiSkills`](#syncclaudeaiskills) | 停止下載[在您的 claude.ai 帳戶上啟用的技能](/docs/zh-TW/skills#how-synced-skills-behave)並隱藏已同步的技能 | 外掛程式和技能 | User, local, or managed |797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | 停止載入[在您的 claude.ai 帳戶上啟用的外掛程式](/docs/zh-TW/plugins-reference#synced-plugins)並停止下載新的外掛程式 | 外掛程式和技能 | User, local, or managed |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | 停止載入[在您的 claude.ai 帳戶上啟用的技能](/docs/zh-TW/skills#how-synced-skills-behave)並停止下載新的技能 | 外掛程式和技能 | User, local, or managed |

796| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | 在 diffs 和程式碼區塊中關閉語法醒目提示 | 介面和終端 | Any file |799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | 在 diffs 和程式碼區塊中關閉語法醒目提示 | 介面和終端 | Any file |

797| [`taskOutputMaxChars`](#taskoutputmaxchars) | 設定 Claude 內聯接收多少[背景工作](/docs/zh-TW/tools-reference#background-commands)的輸出 | 記憶和內容 | Any file |800| [`taskOutputMaxChars`](#taskoutputmaxchars) | 設定 Claude 內聯接收多少[背景工作](/docs/zh-TW/tools-reference#background-commands)的輸出 | 記憶和內容 | Any file |

798| [`teammateDefaultModel`](#teammatedefaultmodel) | 在 v2.1.234 中移除;請參閱[指定隊友和模型](/docs/zh-TW/agent-teams#specify-teammates-and-models)以了解 Claude Code 如何選擇隊友的模型 | 全域設定設定 | Global config |801| [`teammateDefaultModel`](#teammatedefaultmodel) | 在 v2.1.234 中移除;請參閱[指定隊友和模型](/docs/zh-TW/agent-teams#specify-teammates-and-models)以了解 Claude Code 如何選擇隊友的模型 | 全域設定設定 | Global config |


804| [`timeZone`](#timezone) | 在時區中顯示介面中的時間,而不是您的系統時區 | 介面和終端 | Any file |807| [`timeZone`](#timezone) | 在時區中顯示介面中的時間,而不是您的系統時區 | 介面和終端 | Any file |

805| [`tui`](#tui) | 選擇[全螢幕](/docs/zh-TW/fullscreen)或經典終端呈現器 | 介面和終端 | Any file |808| [`tui`](#tui) | 選擇[全螢幕](/docs/zh-TW/fullscreen)或經典終端呈現器 | 介面和終端 | Any file |

806| [`ultracode`](#ultracode) | 讓 Claude 為每個實質性工作規劃[工作流程](/docs/zh-TW/workflows#let-claude-decide-with-ultracode),無需被要求 | 模型和回應 | Any file |809| [`ultracode`](#ultracode) | 讓 Claude 為每個實質性工作規劃[工作流程](/docs/zh-TW/workflows#let-claude-decide-with-ultracode),無需被要求 | 模型和回應 | Any file |

807| [`useAutoModeDuringPlan`](#useautomodeduringplan) | 讓[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)分類器在 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中審查 shell 命令;設定 `false` 以改為取得提示 | 權限設定 | User, local, or managed |810| [`useAutoModeDuringPlan`](#useautomodeduringplan) | 讓[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)分類器在 [Plan Mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中審查 shell 命令;設定 `false` 以改為取得提示 | 權限設定 | User, local, or managed |

808| [`verbose`](#verbose) | 顯示[完整工具輸出](/docs/zh-TW/cli-reference#cli-flags)而不是截斷的摘要;當兩者都設定時,`viewMode` 優先 | 介面和終端 | Any file |811| [`verbose`](#verbose) | 顯示[完整工具輸出](/docs/zh-TW/cli-reference#cli-flags)而不是截斷的摘要;當兩者都設定時,`viewMode` 優先 | 介面和終端 | Any file |

809| [`viewMode`](#viewmode) | 在[預設、詳細或焦點檢視](/docs/zh-TW/cli-reference#cli-flags)中開始每個工作階段 | 介面和終端 | Any file |812| [`viewMode`](#viewmode) | 在[預設、詳細或焦點檢視](/docs/zh-TW/cli-reference#cli-flags)中開始每個工作階段 | 介面和終端 | Any file |

810| [`vimInsertModeRemaps`](#viminsertmoderemaps) | 將兩鍵 [INSERT 模式序列](/docs/zh-TW/interactive-mode#remap-insert-mode-key-sequences)(例如 `jj`)對應到 Escape | 介面和終端 | User or managed |813| [`vimInsertModeRemaps`](#viminsertmoderemaps) | 將兩鍵 [INSERT 模式序列](/docs/zh-TW/interactive-mode#remap-insert-mode-key-sequences)(例如 `jj`)對應到 Escape | 介面和終端 | User or managed |


1152* **類型**: 具有可選 `multiplier` 和可選 `overrides` 對應的物件1155* **類型**: 具有可選 `multiplier` 和可選 `overrides` 對應的物件

1153* **預設**: 未設定,因此 Claude Code 報告清單價格,除非主機應用程式提供表格1156* **預設**: 未設定,因此 Claude Code 報告清單價格,除非主機應用程式提供表格

1154 1157 

1155此範例為 Sonnet 4.6 設定合約費率,然後將每個數字(包括 Sonnet 行)減少 15%。單獨設定 `multiplier` 以獲得統一折扣,單獨設定 `overrides` 以獲得每個模型費率,或兩者:1158為 Sonnet 4.6 設定合約費率,然後將每個數字(包括 Sonnet 行)減少 15%。單獨設定 `multiplier` 以獲得統一折扣,單獨設定 `overrides` 以獲得每個模型費率,或兩者:

1156 1159 

1157```json managed-settings.json theme={null}1160```json managed-settings.json theme={null}

1158{1161{


1170}1173}

1171```1174```

1172 1175 

1176將 `multiplier` 設定為 1 以上,最多 10,以標記每個數字。標記需要 Claude Code v2.1.271 或更新版本。較早版本會忽略 `multiplier` 超過 1 並顯示警告,保留設定的其餘部分。

1177 

1173如需步驟,包括如何確認費率有效,請參閱[按合約費率報告支出](/docs/zh-TW/costs#report-spend-at-your-contracted-rates)。1178如需步驟,包括如何確認費率有效,請參閱[按合約費率報告支出](/docs/zh-TW/costs#report-spend-at-your-contracted-rates)。

1174 1179 

1175<span id="modelpricing-multiplier" />1180<span id="modelpricing-multiplier" />


1182 1187 

1183| 欄位 | 類型 | 它的作用 |1188| 欄位 | 類型 | 它的作用 |

1184| :----------- | :----------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |1189| :----------- | :----------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |

1185| `multiplier` | 大於 0 且最多 1 的數字 | 縮放 Claude Code 計算的每個成本,無論 `overrides` 行是否涵蓋它 |1190| `multiplier` | 大於 0 且最多 10 的數字 | 縮放 Claude Code 計算的每個成本,無論 `overrides` 行是否涵蓋它。1 以下是折扣,1 以上是標記 |

1186| `overrides` | 將模型 ID 對應到具有 `input`、`output`、`cacheRead` 和 `cacheWrite` 的費率物件的對應,每個 0 到 10000 | 該模型的美元每百萬令牌費率,全部四個必需。`cacheWrite` 涵蓋五分鐘和一小時快取寫入。請參閱[`modelPricing` 行適用於哪些模型](#which-models-a-modelpricing-row-applies-to) |1191| `overrides` | 將模型 ID 對應到具有 `input`、`output`、`cacheRead` 和 `cacheWrite` 的費率物件的對應,每個 0 到 10000 | 該模型的美元每百萬令牌費率,全部四個必需。`cacheWrite` 涵蓋五分鐘和一小時快取寫入。請參閱[`modelPricing` 行適用於哪些模型](#which-models-a-modelpricing-row-applies-to) |

1187 1192 

1188Claude Code 完全按您寫入的方式使用行的費率,不新增快速模式附加費或[僅限美國推論費率](https://platform.claude.com/docs/en/about-claude/pricing)。如果您也設定 `multiplier`,Claude Code 在行的費率之上應用它。Claude Code 刪除具有無法解析的費率或無法解析的 `multiplier` 的行,保留其餘的;請參閱[修復損壞的設定檔](/docs/zh-TW/settings#fix-a-broken-settings-file)。1193Claude Code 完全按您寫入的方式使用行的費率,不新增快速模式附加費或[僅限美國推論費率](https://platform.claude.com/docs/en/about-claude/pricing)。如果您也設定 `multiplier`,Claude Code 在行的費率之上應用它。Claude Code 刪除具有無法解析的費率或無法解析的 `multiplier` 的行,保留其餘的;請參閱[修復損壞的設定檔](/docs/zh-TW/settings#fix-a-broken-settings-file)。


1369 1374 

1370使受管設定成為權限規則的唯一設定來源。Claude Code 隨後會忽略使用者、專案、本機和 `--settings` 檔案中的 `allow`、`ask` 和 `deny` 規則,忽略 `--allowedTools`,隱藏權限提示中的永遠允許選項,並停止儲存新規則。1375使受管設定成為權限規則的唯一設定來源。Claude Code 隨後會忽略使用者、專案、本機和 `--settings` 檔案中的 `allow`、`ask` 和 `deny` 規則,忽略 `--allowedTools`,隱藏權限提示中的永遠允許選項,並停止儲存新規則。

1371 1376 

1372當[來自嵌入主機的父設定](/docs/zh-TW/managed-settings#let-an-embedding-host-add-policy)適用時,Claude Code 會將其視為受管層級的一部分:它保留其 `deny` 和 `ask` 規則,並捨棄其 `allow` 規則和 `additionalDirectories`。1377當[來自嵌入主機的父設定](/docs/zh-TW/managed-settings#let-an-embedding-host-add-policy)適用時,Claude Code 會將其視為受管層級的一部分。它捨棄其 `allow` 規則和 `additionalDirectories`,並保留其 `deny` 和 `ask` 規則,除了模式以 `!` 開頭的 `Read` 和 `Edit` 規則。主機無法使用 `!` 規則從受管規則中切割出路徑,無論您是否設定此金鑰。

1373 1378 

1374`--disallowedTools` 規則和目前工作階段的 `deny` 和 `ask` 規則仍然適用,包括在 Claude Code 於工作階段中途重新載入設定之後。它們只會限制,因此無法擴大受管規則授予的權限。在 v2.1.257 之前,Claude Code 在第一次設定重新載入時會捨棄這些命令列和工作階段規則。1379`--disallowedTools` 規則和目前工作階段的 `deny` 和 `ask` 規則仍然適用,包括在 Claude Code 於工作階段中途重新載入設定之後。它們只會限制,因此無法擴大受管規則授予的權限。在 v2.1.257 之前,Claude Code 在第一次設定重新載入時會捨棄這些命令列和工作階段規則。

1375 1380 

1381如需 `--disallowedTools` 或工作階段規則中的 `!` 模式可以切割出什麼,請參閱 [Read 和 Edit 規則](/docs/zh-TW/permissions#read-and-edit)。

1382 

1376* **範圍**:[`Managed`](#scopes)1383* **範圍**:[`Managed`](#scopes)

1377* **類型**:布林值1384* **類型**:布林值

1378 * `true`:受管設定成為權限規則的唯一設定來源1385 * `true`:受管設定成為權限規則的唯一設定來源


1413 `autoMode.classifyAllShell`1420 `autoMode.classifyAllShell`

1414</h3>1421</h3>

1415 1422 

1416在自動模式啟用時,將每個 Bash 和 PowerShell 命令傳送到自動模式分類器。根據預設,自動模式只會暫停可能執行任意程式碼的允許規則:工具範圍和萬用字元規則(例如 `Bash(*)`)以及解譯器或 shell 包裝器前綴(例如 `Bash(python *)`)。與其他允許規則相符的命令(例如 `Bash(npm test)`)會跳過分類器,規則的前綴未預期的破壞性引數可能會通過而不被看到。設定此金鑰會暫停工作階段的每個 shell 允許規則,以便分類器看到每個命令。需要 Claude Code v2.1.193 或更新版本。1423在自動模式啟用時,將每個 Bash 和 PowerShell 命令傳送到自動模式分類器。根據預設,自動模式只會暫停可能執行任意程式碼的允許規則:工具範圍和萬用字元規則(例如 `Bash(*)`)以及解譯器或 shell 包裝器前綴(例如 `Bash(python *)`)。與其他允許規則相符的命令(例如 `Bash(npm test)`)會跳過分類器,除非它帶有[每個命令允許的網域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode)。當它跳過時,規則的前綴未預期的破壞性引數可能會通過而不被看到。設定此金鑰會暫停工作階段的每個 shell 允許規則,以便分類器看到每個命令。需要 Claude Code v2.1.193 或更新版本。

1417 1424 

1418* **範圍**:[`User or managed`](#scopes)。讀取位置與 [`autoMode`](#automode) 相同。1425* **範圍**:[`User or managed`](#scopes)。讀取位置與 [`autoMode`](#automode) 相同。

1419* **類型**:布林值1426* **類型**:布林值

1420 * `true`:在自動模式啟用時,Claude Code 會將每個 Bash 和 PowerShell 命令傳送到分類器,並暫停您的 shell 允許規則;在自動模式外,規則仍然適用1427 * `true`:在自動模式啟用時,Claude Code 會將每個 Bash 和 PowerShell 命令傳送到分類器,並暫停您的 shell 允許規則;在自動模式外,規則仍然適用

1421 * `false`:自動模式只會暫停可能執行任意程式碼的允許規則,例如 `Bash(*)` 和 `Bash(python *)`;與任何其他允許規則相符的命令會跳過分類器,每個其他 shell 命令都會通過它1428 * `false`:自動模式只會暫停可能執行任意程式碼的允許規則,例如 `Bash(*)` 和 `Bash(python *)`;與任何其他允許規則相符的命令會跳過分類器,除非它帶有[每個命令允許的網域](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode),每個其他 shell 命令都會通過它

1422* **預設值**:`false`1429* **預設值**:`false`

1423 1430 

1424```json settings.json theme={null}1431```json settings.json theme={null}


1554 `permissions.deny`1561 `permissions.deny`

1555</h3>1562</h3>

1556 1563 

1557列出 Claude Code 封鎖的工具使用。將其用於保存 API 金鑰、機密或環境值的檔案:Claude Code 會從檔案探索和搜尋結果中排除相符的檔案,拒絕讀取它們,並在相符的路徑上封鎖 [Edit 和 Write 工具](/docs/zh-TW/permissions#read-and-edit)。Read 和 Edit 拒絕規則適用於 Claude 的內建檔案工具、Claude Code 在 Bash 中識別的檔案命令(例如 `cat`、`head`、`tail` 和 `sed`)以及 Bash [重新導向](/docs/zh-TW/permissions#redirections)的目標(例如 `> file` 和 `< file`);它們不適用於讀取檔案而不命名它們的命令(例如 `grep -r pattern .`)或任意子程序,因此如需作業系統層級的強制執行,請[啟用沙箱](/docs/zh-TW/sandboxing)。1564列出 Claude Code 封鎖的工具使用。將其用於保存 API 金鑰、機密或環境值的檔案:Claude Code 會從檔案探索和搜尋結果中排除相符的檔案,拒絕讀取它們,並在相符的路徑上封鎖 [Edit 和 Write 工具](/docs/zh-TW/permissions#read-and-edit)。

1565 

1566Read 和 Edit 拒絕規則適用於 Claude 的內建檔案工具、Claude Code 在 Bash 中識別的檔案命令(例如 `cat`、`head`、`tail`、`sed` 和 `tee`)以及 Bash [重新導向](/docs/zh-TW/permissions#redirections)的目標(例如 `> file` 和 `< file`);它們不適用於讀取檔案而不命名它們的命令(例如 `grep -r pattern .`)或任意子程序,因此如需作業系統層級的強制執行,請[啟用沙箱](/docs/zh-TW/sandboxing)。

1558 1567 

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

1560* **類型**:權限規則字串陣列1569* **類型**:權限規則字串陣列


1577}1586}

1578```1587```

1579 1588 

1580工具名稱接受 glob 模式,因此 `"*"` 拒絕每個工具,`"mcp__*"` 拒絕每個 MCP 工具。只要任何其他工具仍然可供 Claude 使用,Claude Code 就會忽略 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 工具的拒絕規則。`Bash` 拒絕規則與 Claude 寫入的命令相符,因此 `Bash(curl *)` 不會停止 `/usr/bin/curl` 或 `sh -c 'curl …'`;請參閱 [Bash 規則不相符的內容](/docs/zh-TW/permissions#bash-rule-limits)。此金鑰取代已棄用的 `ignorePatterns` 設定。1589工具名稱接受 glob 模式,因此 `"*"` 拒絕每個工具,`"mcp__*"` 拒絕每個 MCP 工具。只要任何其他工具仍然可供 Claude 使用,Claude Code 就會忽略 [`EndConversation`](/docs/zh-TW/tools-reference#endconversation-tool-behavior) 工具的拒絕規則。`Bash` 拒絕規則與 Claude 寫入的命令相符,因此 `Bash(curl *)` 不會停止 `/usr/bin/curl` 或 `sh -c 'curl …'`;請參閱[Bash 規則不相符的內容](/docs/zh-TW/permissions#bash-rule-limits)。此金鑰取代已棄用的 `ignorePatterns` 設定。

1581 1590 

1582<h3 id="permissions-additionaldirectories">1591<h3 id="permissions-additionaldirectories">

1583 `permissions.additionalDirectories`1592 `permissions.additionalDirectories`


1606 1615 

1607停止 Claude 在每個權限模式(包括 `bypassPermissions`)中使用 Read、Grep、Glob 和 LSP 工具讀取工作階段[工作目錄](/docs/zh-TW/permissions#working-directories)之外的路徑。通過 Claude Code 識別的檔案命令(例如 `cat`)讀取相符路徑的 Bash 命令會在自動模式和 `bypassPermissions` 模式中提示您。需要 Claude Code v2.1.257 或更新版本。1616停止 Claude 在每個權限模式(包括 `bypassPermissions`)中使用 Read、Grep、Glob 和 LSP 工具讀取工作階段[工作目錄](/docs/zh-TW/permissions#working-directories)之外的路徑。通過 Claude Code 識別的檔案命令(例如 `cat`)讀取相符路徑的 Bash 命令會在自動模式和 `bypassPermissions` 模式中提示您。需要 Claude Code v2.1.257 或更新版本。

1608 1617 

1609當您選擇在[自動模式的提示中封鎖此類讀取(在第一次讀取工作目錄外之前)](/docs/zh-TW/permission-modes#first-read-outside-the-working-directories)時,Claude Code 也會在此處寫入 `true`。1618shell 解析器無法追蹤的 Bash 命令(例如多次變更目錄或執行子 shell 的命令)會在自動模式和 `bypassPermissions` 模式中提示您。即使命令未命名工作目錄外的任何路徑,提示仍然會出現。當命令在[沙箱](/docs/zh-TW/sandboxing)中執行且沙箱強制執行封鎖時,此提示不適用。

1619 

1620Claude Code 也會在此處寫入 `true`,當您選擇在[自動模式的提示中封鎖此類讀取(在第一次讀取工作目錄外之前)](/docs/zh-TW/permission-modes#first-read-outside-the-working-directories)時。

1610 1621 

1611* **範圍**:[`Any file`](#scopes)。如果任何設定來源設定 `true`,則封鎖適用,因此儲存庫的簽入檔案可以為專案開啟封鎖,但無法解除您設定的封鎖。1622* **範圍**:[`Any file`](#scopes)。如果任何設定來源設定 `true`,則封鎖適用,因此儲存庫的簽入檔案可以為專案開啟封鎖,但無法解除您設定的封鎖。

1612* **類型**:布林值1623* **類型**:布林值


1622}1633}

1623```1634```

1624 1635 

1625如果只有儲存庫的簽入設定檔新增目錄,封鎖仍然適用於該處的讀取。Claude Code 本身需要的檔案保持可讀,例如您的技能、外掛程式、規則、代理、命令以及 `~/.claude/` 下的 `CLAUDE.md` 記憶檔案。1636如果只有儲存庫的簽入設定檔新增目錄,封鎖仍然適用於該處的讀取。當 [`autoMemoryDirectory`](#automemorydirectory) 來自專案的 `.claude/settings.json`,或來自被[視為儲存庫提供](/docs/zh-TW/permissions#when-your-local-settings-file-needs-trust)的 `.claude/settings.local.json` 時,Claude Code 不會從該目錄載入任何[自動記憶](/docs/zh-TW/memory#storage-location),也不會將任何儲存到其中。Claude Code 本身需要的檔案保持可讀,例如您的技能、外掛程式、規則、代理、命令以及 `~/.claude/` 下的 `CLAUDE.md` 記憶檔案。

1626 1637 

1627當[沙箱](/docs/zh-TW/sandboxing)開啟時,封鎖也會拒絕沙箱化命令對工作目錄外的主目錄和掛載磁碟區根目錄的讀取存取。需要批准以[在沙箱外執行](/docs/zh-TW/sandboxing#the-unsandboxed-retry-escape-hatch)的重試會在 `bypassPermissions` 模式中提示您。工具從您的主目錄讀取的檔案(例如 `~/.gitconfig`)與其餘檔案一起被拒絕;當工具需要它時,使用 [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) 重新開啟特定路徑。1638當[沙箱](/docs/zh-TW/sandboxing)開啟時,封鎖也會拒絕沙箱化命令對工作目錄外的主目錄和掛載磁碟區根目錄的讀取存取。需要批准以[在沙箱外執行](/docs/zh-TW/sandboxing#the-unsandboxed-retry-escape-hatch)的重試會在 `bypassPermissions` 模式中提示您。工具從您的主目錄讀取的檔案(例如 `~/.gitconfig`)與其餘檔案一起被拒絕;當工具需要它時,使用 [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) 重新開啟特定路徑。

1628 1639 


1654}1665}

1655```1666```

1656 1667 

1657權限規則分層在每個模式之上:`deny` 規則在每個模式中封鎖,包括 `bypassPermissions`。請參閱[權限模式](/docs/zh-TW/permission-modes)。`manual` 命名 CLI 和 VS Code 擴充功能中標記為「Manual」的權限模式;別名需要 Claude Code v2.1.200 或更新版本。在網路上的 Claude Code 中,Claude Code 只從此金鑰中接受 `acceptEdits`、`plan`、`default` 和 `auto`。對於 VS Code 擴充功能啟動的對話,請參閱[擴充功能為啟動權限模式讀取的設定](/docs/zh-TW/permission-modes#switch-permission-modes)。1668權限規則分層在每個模式之上:`deny` 規則在每個模式中封鎖,包括 `bypassPermissions`。請參閱[權限模式](/docs/zh-TW/permission-modes)。`manual` 命名 CLI 和 VS Code 擴充功能中標記為「Manual」的權限模式;別名需要 Claude Code v2.1.200 或更新版本。在雲端工作階段中,Claude Code 只從此金鑰中接受 `acceptEdits`、`plan`、`default` 和 `auto`。對於 VS Code 擴充功能啟動的對話,請參閱[擴充功能為啟動權限模式讀取的設定](/docs/zh-TW/permission-modes#switch-permission-modes)。

1658 1669 

1659<h3 id="permissions-disablebypasspermissionsmode">1670<h3 id="permissions-disablebypasspermissionsmode">

1660 `permissions.disableBypassPermissionsMode`1671 `permissions.disableBypassPermissionsMode`


2670* **Scope**: [`User or managed`](#scopes)。儲存庫無法開啟或關閉它。2681* **Scope**: [`User or managed`](#scopes)。儲存庫無法開啟或關閉它。

2671* **Type**: 布林值2682* **Type**: 布林值

2672 * `true`: Claude Code 拒絕沙箱化命令存取允許清單外的主機2683 * `true`: Claude Code 拒絕沙箱化命令存取允許清單外的主機

2673 * `false`: 除非另一個受信任的設定檔案設定 `true`,Claude Code 根據權限模式而不是直接拒絕決定允許清單外的主機:它在自動模式中執行分類器,在 `dontAsk` 模式中拒絕,在 `bypassPermissions` 模式中允許,在計畫模式中當旁路可用時允許,否則詢問您2684 * `false`: 除非另一個受信任的設定檔案設定 `true`,Claude Code 根據權限模式而不是直接拒絕決定允許清單外的主機:它在自動模式中檢查主機對命令的 [per-command allowed domains](/docs/zh-TW/sandboxing#per-command-allowed-domains-in-auto-mode),在 `dontAsk` 模式中拒絕,在 `bypassPermissions` 模式中允許,在計畫模式中當旁路可用時允許,否則詢問您

2674* **Default**: `false`2685* **Default**: `false`

2675 2686 

2676```json settings.json theme={null}2687```json settings.json theme={null}


3136 `axScreenReader`3147 `axScreenReader`

3137</h3>3148</h3>

3138 3149 

3139渲染螢幕閱讀器友善的輸出:沒有裝飾性邊框或動畫的平面文字。螢幕閱讀器模式使用經典渲染器,因此在其啟用時 `tui` 設定無效;附加的[背景工作階段](/docs/zh-TW/agent-view)仍會全螢幕渲染。需要 Claude Code v2.1.181 或更新版本。3150渲染螢幕閱讀器友善的輸出:沒有裝飾性邊框或動畫的平面文字。螢幕閱讀器模式使用經典渲染器,因此在其啟用時 `tui` 設定無效;附加的[背景工作階段](/docs/zh-TW/agent-view)仍會全螢幕渲染。

3140 3151 

3141* **範圍**:[`任何檔案`](#scopes)3152* **範圍**:[`任何檔案`](#scopes)

3142* **類型**:布林值3153* **類型**:布林值


3151}3162}

3152```3163```

3153 3164 

3154需要 Claude Code v2.1.181 或更新版本。3165<h3 id="basheditdiffenabled">

3166 `bashEditDiffEnabled`

3167</h3>

3168 

3169選擇 Claude Code 是否記錄 Bash 命令在 Git 存放庫中變更的檔案。當它記錄它們時,您會在命令後在終端中看到它們的差異,您的 [PostToolUse Bash hooks](/docs/zh-TW/hooks#bash) 會接收變更檔案清單。

3170 

3171將金鑰設定為 `true` 以在每個權限模式中記錄它們。需要 Claude Code v2.1.269 或更新版本。

3172 

3173* **範圍**:[`使用者或受管`](#scopes)。`true` 僅從您的使用者設定、使用 `--settings` 傳遞的 JSON 或[受管設定](/docs/zh-TW/managed-settings)計算,因此存放庫的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的 `true` 無法開啟記錄。存放庫檔案中的 `false` 仍會關閉它,除非[更高優先順序](/docs/zh-TW/settings#settings-precedence)的檔案設定 `true`。

3174* **類型**:布林值

3175* **預設**:未設定,因此 Claude Code 在自動模式和 `bypassPermissions` 模式中記錄變更,當它指示 Claude 透過 Bash 編輯檔案時

3176* **每個工作階段的覆蓋**:[`CLAUDE_CODE_BASH_EDIT_DIFF`](/docs/zh-TW/env-vars) 在一個工作階段中優先於此金鑰

3177 

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

3179{

3180 "bashEditDiffEnabled": true

3181}

3182```

3155 3183 

3156<h3 id="companyannouncements">3184<h3 id="companyannouncements">

3157 `companyAnnouncements`3185 `companyAnnouncements`


4297 `workflowSizeGuideline`4325 `workflowSizeGuideline`

4298</h3>4326</h3>

4299 4327 

4300設定 [Claude 在其編寫的動態工作流程中目標的代理程式計數](/docs/zh-TW/workflows#set-a-size-guideline)。Claude Code 將值作為建議而不是強制上限發送給 Claude:`"small"` 要求少於 5 個代理程式,`"medium"` 少於 15 個,`"large"` 少於 50 個。當您想要限制工作流程花費時選擇 `"small"`。需要 Claude Code v2.1.219 或更新版本。4328設定 [Claude 在其編寫的動態工作流程中目標的代理程式計數](/docs/zh-TW/workflows#set-a-size-guideline)。Claude Code 將值作為建議而不是強制上限發送給 Claude:`"small"` 要求少於 5 個代理程式,`"medium"` 少於 10 個,`"large"` 少於 50 個。當您想要限制工作流程花費時選擇 `"small"`。需要 Claude Code v2.1.219 或更新版本。

4301 4329 

4302* **範圍**:[`Any file`](#scopes)。那裡的值優先於 `/config` 中的 **動態工作流程大小** 選擇,Claude Code 將其儲存在 `~/.claude.json` 中,當設定檔設定金鑰時 Claude Code 隱藏該列。4330* **範圍**:[`Any file`](#scopes)。那裡的值優先於 `/config` 中的 **動態工作流程大小** 選擇,Claude Code 將其儲存在 `~/.claude.json` 中,當設定檔設定金鑰時 Claude Code 隱藏該列。

4303* **類型**:字串,其中之一:4331* **類型**:字串,其中之一:

4304 * `"unrestricted"`:無指南,因此 Claude 根據任務調整工作流程大小4332 * `"unrestricted"`:無指南,因此 Claude 根據任務調整工作流程大小

4305 * `"small"`:Claude 目標少於 5 個代理程式4333 * `"small"`:Claude 目標少於 5 個代理程式

4306 * `"medium"`:Claude 目標少於 15 個代理程式4334 * `"medium"`:Claude 目標少於 10 個代理程式

4307 * `"large"`:Claude 目標少於 50 個代理程式4335 * `"large"`:Claude 目標少於 50 個代理程式

4308* **預設**:`"medium"`4336* **預設**:`"medium"`,或 當您在 Pro 計畫上簽入且使用 Claude Code v2.1.271 或更新版本時為 `"small"`

4309 4337 

4310```json settings.json theme={null}4338```json settings.json theme={null}

4311{4339{


4401 `syncClaudeAiSkills`4429 `syncClaudeAiSkills`

4402</h3>4430</h3>

4403 4431 

4404關閉 [您在 claude.ai 上啟用的技能](/docs/zh-TW/skills#how-synced-skills-behave) 的下載。當您使用 `-p` 旗標在 [非互動模式](/docs/zh-TW/headless) 中執行它,且 [`CLAUDE_CODE_SYNC_SKILLS`](/docs/zh-TW/env-vars#variables) 已設定時,Claude Code 會將它們下載到 `~/.claude/skills/synced/`。設定為 `false` 以停止該下載並隱藏已同步的技能。Claude Code 僅接受 `false`:`true` 與未設定相同,不會開啟同步。4432關閉 [您在 claude.ai 上啟用的技能](/docs/zh-TW/skills#how-synced-skills-behave) 的下載。Claude Code 會將它們下載到 `~/.claude/skills/synced/`,在 [您使用 claude.ai 帳戶登入的終端工作階段](/docs/zh-TW/skills#where-synced-skills-load)(互動或非互動)以及在 Cowork 和雲端工作階段中。設定為 `false` 以停止該下載並停止載入已同步的技能。Claude Code 僅接受 `false`:`true` 與未設定相同,不會開啟同步。

4405 4433 

4406* **範圍**:[`使用者、本機或受管`](#scopes)。儲存庫無法為您關閉它。4434* **範圍**:[`使用者、本機或受管`](#scopes),以及使用 `--settings` 傳遞的檔案。儲存庫無法為您關閉它。

4407* **類型**:布林值4435* **類型**:布林值

4408 * `false`:Claude Code 停止下載同步的技能,並隱藏 `~/.claude/skills/synced/` 中已有的技能。在使用者或受管設定中,它也會將它們移至 `~/.claude/skills/.trash/`4436 * `false`:Claude Code 停止下載同步的技能,並停止載入 `~/.claude/skills/synced/` 中已有的技能。在使用者或受管設定中,它也會將它們移至 `~/.claude/skills/.trash/`

4409 * `true`:與未設定相同4437 * `true`:與未設定相同

4410* **預設**:未設定,因此使用 `CLAUDE_CODE_SYNC_SKILLS` 設定的非互動執行會下載技能4438* **預設**:未設定,因此使用 claude.ai 帳戶登入的工作階段會同步您的技能

4411 4439 

4412此範例防止機器下載帳戶的技能,無論工作階段在其環境中設定什麼:4440此範例防止機器在任何工作階段中下載帳戶的技能:

4413 4441 

4414```json settings.json theme={null}4442```json settings.json theme={null}

4415{4443{


4417}4445}

4418```4446```

4419 4447 

4448<h3 id="syncclaudeaiplugins">

4449 `syncClaudeAiPlugins`

4450</h3>

4451 

4452關閉 [您在 claude.ai 帳戶上啟用的外掛程式](/docs/zh-TW/plugins-reference#synced-plugins) 的下載。Claude Code 會將它們下載到 `~/.claude/plugins/synced/`,在您使用 claude.ai 帳戶登入的終端工作階段開始時,以及在 Cowork 和雲端工作階段中,並將每個載入為 `<name>@synced`。設定為 `false` 以停止該下載並停止載入已同步的外掛程式。Claude Code 僅接受 `false`:`true` 與未設定相同,不會開啟同步。需要 Claude Code v2.1.273 或更新版本。

4453 

4454* **範圍**:[`使用者、本機或受管`](#scopes),以及使用 `--settings` 傳遞的檔案。儲存庫無法為您關閉它。

4455* **類型**:布林值

4456 * `false`:Claude Code 停止下載同步的外掛程式,並停止載入 `~/.claude/plugins/synced/` 中已有的外掛程式。在使用者或受管設定中,它也會將它們移至 `~/.claude/plugins/.trash/`

4457 * `true`:與未設定相同

4458* **預設**:未設定,因此使用 claude.ai 帳戶登入的工作階段會同步您的外掛程式

4459 

4460若要關閉一個同步的外掛程式而不是全部,請在 [`enabledPlugins`](#enabledplugins) 中設定 `"<name>@synced": false`。

4461 

4462此範例防止機器在任何工作階段中下載帳戶的外掛程式:

4463 

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

4465{

4466 "syncClaudeAiPlugins": false

4467}

4468```

4469 

4420<h3 id="allowedchannelplugins">4470<h3 id="allowedchannelplugins">

4421 `allowedChannelPlugins`4471 `allowedChannelPlugins`

4422</h3>4472</h3>


4858 4908 

4859`git` 來源類型適用於任何 git 託管服務,包括自託管 GitLab 和 Bitbucket。Claude Code 使用 `git clone` 在該機器上使用的相同驗證複製儲存庫:已配置的認證助手或 SSH 金鑰。提供者令牌(例如 `GITHUB_TOKEN`)僅透過讀取它的認證助手生效。請參閱 [私人儲存庫](/docs/zh-TW/plugin-marketplaces#private-repositories) 以取得設定詳細資訊。4909`git` 來源類型適用於任何 git 託管服務,包括自託管 GitLab 和 Bitbucket。Claude Code 使用 `git clone` 在該機器上使用的相同驗證複製儲存庫:已配置的認證助手或 SSH 金鑰。提供者令牌(例如 `GITHUB_TOKEN`)僅透過讀取它的認證助手生效。請參閱 [私人儲存庫](/docs/zh-TW/plugin-marketplaces#private-repositories) 以取得設定詳細資訊。

4860 4910 

4861對於 `github` 和 `git` 來源,在 `source` 物件內設定 `"skipLfs": true`,與 `repo` 或 `url` 一起,以在 Claude Code 複製或更新市集儲存庫時跳過 Git LFS 下載。LFS 指標檔案保持為指標而不是下載其內容。當儲存庫包含與外掛程式內容無關的大型 LFS 物件時使用此功能。4911對於 `github` 和 `git` 來源,Claude Code 在複製市集儲存庫以新增或更新時永遠不會下載 [Git LFS](https://git-lfs.com) 內容。LFS 追蹤的檔案會簽出為指標檔案,新增或更新輸出會報告有多少個。

4912 

4913`skipLfs` 欄位在 `source` 物件內被接受且沒有效果。在 v2.1.274 之前,Claude Code 下載 LFS 內容,除非您設定 `"skipLfs": true`。

4862 4914 

4863對於 `url` 來源,當 `headers` 中的認證過期且命令必須產生新認證時,在 `source` 物件內設定 `headersHelper`。需要 Claude Code v2.1.238 或更新版本。如需命令必須列印的內容以及 Claude Code 執行它的位置,請參閱 [編寫 headersHelper 命令](/docs/zh-TW/plugin-marketplaces#write-the-headershelper-command),以及 Claude Code 不執行它的情況,請參閱 [何時 Claude Code 跳過 headersHelper 命令](/docs/zh-TW/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output)。在 `https://` 市集 URL 上設定 `headersHelper` 後,Claude Code 在兩個點執行命令,重複使用一次執行的輸出長達 60 秒:4915對於 `url` 來源,當 `headers` 中的認證過期且命令必須產生新認證時,在 `source` 物件內設定 `headersHelper`。需要 Claude Code v2.1.238 或更新版本。如需命令必須列印的內容以及 Claude Code 執行它的位置,請參閱 [編寫 headersHelper 命令](/docs/zh-TW/plugin-marketplaces#write-the-headershelper-command),以及 Claude Code 不執行它的情況,請參閱 [何時 Claude Code 跳過 headersHelper 命令](/docs/zh-TW/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output)。在 `https://` 市集 URL 上設定 `headersHelper` 後,Claude Code 在兩個點執行命令,重複使用一次執行的輸出長達 60 秒:

4864 4916 


4934}4986}

4935```4987```

4936 4988 

4989內建外掛程式使用相同的金鑰與 `@builtin` 後綴儲存其選項。例如,[**專案指示**](/docs/zh-TW/memory#choose-which-instruction-files-load) 設定(控制 Claude Code 是否讀取 `AGENTS.md` 檔案)是 `pluginConfigs["agents-md@builtin"].options.instructionFiles`。

4990 

4937Claude Code 忽略專案和本機項目,因為它將這些值替換到外掛程式 hook、MCP 和 LSP 配置中,而複製的儲存庫不得能夠提供它們。在 v2.1.207 之前,也讀取了專案和本機設定。4991Claude Code 忽略專案和本機項目,因為它將這些值替換到外掛程式 hook、MCP 和 LSP 配置中,而複製的儲存庫不得能夠提供它們。在 v2.1.207 之前,也讀取了專案和本機設定。

4938 4992 

4939<h2 id="mcp">4993<h2 id="mcp">


5020阻止特定的 MCP 伺服器。Claude Code 拒絕載入符合的伺服器,無論在何處定義,包括外掛程式伺服器、使用 `--mcp-config` 傳遞的伺服器、來自 `managed-mcp.json` 的伺服器、來自 [`managedMcpServers`](#managedmcpservers) 的伺服器,以及 [它自行擷取](/docs/zh-TW/mcp#how-connectors-reach-claude-code)的 claude.ai 連接器。同處理程序 `type: "sdk"` 伺服器不受限制;啟動工作階段的應用程式會註冊它們。5074阻止特定的 MCP 伺服器。Claude Code 拒絕載入符合的伺服器,無論在何處定義,包括外掛程式伺服器、使用 `--mcp-config` 傳遞的伺服器、來自 `managed-mcp.json` 的伺服器、來自 [`managedMcpServers`](#managedmcpservers) 的伺服器,以及 [它自行擷取](/docs/zh-TW/mcp#how-connectors-reach-claude-code)的 claude.ai 連接器。同處理程序 `type: "sdk"` 伺服器不受限制;啟動工作階段的應用程式會註冊它們。

5021 5075 

5022* **範圍**:[`Any file`](#scopes)。來自每個檔案的條目會合併為一個拒絕清單,[`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) 不會改變這一點。在受管設定中部署它以強制執行。5076* **範圍**:[`Any file`](#scopes)。來自每個檔案的條目會合併為一個拒絕清單,[`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) 不會改變這一點。在受管設定中部署它以強制執行。

5023* **類型**:物件陣列,每個物件恰好有一個金鑰:`serverName`(任何非空字串,因此 claude.ai 連接器的顯示名稱(例如 `"claude.ai Slack"`)有效);`serverCommand`(命令及其引數的陣列,完全相符);或 `serverUrl`(具有 `*` 萬用字元的 URL 模式)5077* **類型**:物件陣列,每個物件恰好有一個金鑰:`serverName`(字串,因此 claude.ai 連接器的顯示名稱(例如 `"claude.ai Slack"`)有效);`serverCommand`(命令及其引數的陣列,完全相符);或 `serverUrl`(具有 `*` 萬用字元的 URL 模式)

5024* **預設**:未設定,因此不會阻止任何伺服器;空陣列也不會阻止任何內容5078* **預設**:未設定,因此不會阻止任何伺服器;空陣列也不會阻止任何內容

5025 5079 

5026```json settings.json theme={null}5080```json settings.json theme={null}


5037 `disableClaudeAiConnectors`5091 `disableClaudeAiConnectors`

5038</h3>5092</h3>

5039 5093 

5040關閉 [claude.ai MCP 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) [Claude Code 自行擷取](/docs/zh-TW/mcp#how-connectors-reach-claude-code),因此它既不擷取也不連接它們。任何設定檔案中的 `true` 都適用:簽入的專案 `.claude/settings.json` 可以選擇退出存放庫中的這些連接器,但專案層級的 `false` 無法覆蓋使用者或受管層級的 `true`。需要 Claude Code v2.1.182 或更新版本。5094關閉 [claude.ai MCP 連接器](/docs/zh-TW/mcp#use-mcp-servers-from-claude-ai) [Claude Code 自行擷取](/docs/zh-TW/mcp#how-connectors-reach-claude-code),因此它既不擷取也不連接它們。任何設定檔案中的 `true` 都適用:簽入的專案 `.claude/settings.json` 可以選擇退出存放庫中的這些連接器,但專案層級的 `false` 無法覆蓋使用者或受管層級的 `true`。

5041 5095 

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

5043* **類型**:布林值5097* **類型**:布林值


5052}5106}

5053```5107```

5054 5108 

5055您使用 `--mcp-config` 明確傳遞的伺服器不受影響。若要阻止個別連接器而不是全部,請使用 [`deniedMcpServers`](#deniedmcpservers)。請參閱[禁用 claude.ai 連接器](/docs/zh-TW/mcp#disable-claude-ai-connectors)。需要 Claude Code v2.1.182 或更新版本。5109您使用 `--mcp-config` 明確傳遞的伺服器不受影響。若要阻止個別連接器而不是全部,請使用 [`deniedMcpServers`](#deniedmcpservers)。請參閱[禁用 claude.ai 連接器](/docs/zh-TW/mcp#disable-claude-ai-connectors)。

5056 5110 

5057<h3 id="disabledmcpjsonservers">5111<h3 id="disabledmcpjsonservers">

5058 `disabledMcpjsonServers`5112 `disabledMcpjsonServers`


5266}5320}

5267```5321```

5268 5322 

5269在 v2.1.179 之前,預設值為 `auto`。`iterm2` 值需要 Claude Code v2.1.186 或更新版本。5323`iterm2` 值需要 Claude Code v2.1.186 或更新版本。

5270 5324 

5271<span id="worktree-settings" />5325<span id="worktree-settings" />

5272 5326 


5791 5845 

5792請參閱[限制登入到您的組織](/docs/zh-TW/authentication#restrict-login-to-your-organization),了解 Claude Code 如何處理 Claude Console 登入、其他登入路徑和環境認證。5846請參閱[限制登入到您的組織](/docs/zh-TW/authentication#restrict-login-to-your-organization),了解 Claude Code 如何處理 Claude Console 登入、其他登入路徑和環境認證。

5793 5847 

5848<h3 id="gatewayinternalnetworks">

5849 `gatewayInternalNetworks`

5850</h3>

5851 

5852宣告您的組織編號其內部網路的公開 IPv4 區塊,以便 `/login` 在那裡接受 [cloud gateway](/docs/zh-TW/claude-apps-gateway)。需要 Claude Code v2.1.268 或更新版本。

5853 

5854沒有此金鑰,`/login` 連線到私人位址上的任何 gateway,別無其他。有了它,`/login` 也接受列出區塊內的 gateway,僅透過直接連線。該連線上機器自己的位址也必須在同一區塊內。

5855 

5856* **範圍**:[`受管`](#scopes)。僅從機器上的來源讀取:`managed-settings.json`、macOS plist 或 Windows HKLM 登錄,或原則協助程式。Claude Code 在 HKCU 和伺服器受管設定中忽略它。

5857* **類型**:字串陣列,最多四個 IPv4 CIDR 區塊,每個 `/8` 到 `/32`,彼此不重疊,且都不與私人空間重疊。

5858* **預設**:未設定,所以 `/login` 僅接受私人位址上的 gateway

5859 

5860```json managed-settings.json theme={null}

5861{

5862 "gatewayInternalNetworks": ["203.0.113.0/24"]

5863}

5864```

5865 

5866將範例中的文件範圍替換為您自己的區塊。Claude Code 拒絕文件範圍、VPN 和 NAT64 用戶端在本機使用的範圍,以及沒有網路編號的保留空間,例如多播。

5867 

5868如果項目無效,或值不是字串清單,`/login` 會命名問題,並拒絕機器上的每個新 gateway 登入,直到您修正值。現有登入繼續運作。請參閱[允許 gateway 在您擁有的公開位址空間上](/docs/zh-TW/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own),了解完整規則以及開發人員看到的內容。

5869 

5794<h3 id="gcpauthrefresh">5870<h3 id="gcpauthrefresh">

5795 `gcpAuthRefresh`5871 `gcpAuthRefresh`

5796</h3>5872</h3>


6105 6181 

6106Claude Code 仍然接受其伺服器全部為同處理序 `type: "sdk"` 項目的 `--mcp-config`,因此 Agent SDK 和 VS Code 擴充功能保持運作。使用者仍然可以使用 `claude mcp add` 或 `.mcp.json` 檔案新增伺服器;如需個別伺服器控制,也請設定 [`allowedMcpServers`](/docs/zh-TW/managed-mcp)。需要 Claude Code v2.1.193 或更新版本。6182Claude Code 仍然接受其伺服器全部為同處理序 `type: "sdk"` 項目的 `--mcp-config`,因此 Agent SDK 和 VS Code 擴充功能保持運作。使用者仍然可以使用 `claude mcp add` 或 `.mcp.json` 檔案新增伺服器;如需個別伺服器控制,也請設定 [`allowedMcpServers`](/docs/zh-TW/managed-mcp)。需要 Claude Code v2.1.193 或更新版本。

6107 6183 

6108在雲端工作階段中,Claude Code 也會忽略伺服器傳遞的中途工作階段 MCP 更新,這是雲端工作階段設定和遠端背景工作程序上 SDK `setMcpServers()` 背後的路徑。同處理序 `type: "sdk"` 項目在那裡也保持豁免。在 v2.1.239 之前,伺服器傳遞的 `--mcp-config` 會阻止雲端工作階段啟動。6184在雲端工作階段中,Claude Code 也會忽略伺服器傳遞的中途工作階段 MCP 更新,這是雲端工作階段設定和 SDK `setMcpServers()` 呼叫背後的路徑,這些呼叫到達這些工作階段。同處理序 `type: "sdk"` 項目在那裡也保持豁免。在 v2.1.239 之前,伺服器傳遞的 `--mcp-config` 會阻止雲端工作階段啟動。

6109 6185 

6110<h3 id="forceremotesettingsrefresh">6186<h3 id="forceremotesettingsrefresh">

6111 `forceRemoteSettingsRefresh`6187 `forceRemoteSettingsRefresh`


6170 6246 

6171* **[`policyHelper`](#policyhelper)**:Claude Code 只在攜帶原則金鑰的最高來源是 MDM 原則或受管設定檔案時接受它,因此在伺服器受管設定下它不適用。6247* **[`policyHelper`](#policyhelper)**:Claude Code 只在攜帶原則金鑰的最高來源是 MDM 原則或受管設定檔案時接受它,因此在伺服器受管設定下它不適用。

6172* **[`modelOverrides`](#modeloverrides)**:與 `availableModels` 配對。Claude Code 從設定它的最高來源取值 `modelOverrides`,除非較高的來源設定 `availableModels` 而不設定 `modelOverrides`。在這種情況下,它會忽略來自每個來源的 `modelOverrides`。6248* **[`modelOverrides`](#modeloverrides)**:與 `availableModels` 配對。Claude Code 從設定它的最高來源取值 `modelOverrides`,除非較高的來源設定 `availableModels` 而不設定 `modelOverrides`。在這種情況下,它會忽略來自每個來源的 `modelOverrides`。

6173* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) 和 [`forceLoginMethod`](#forceloginmethod) 的 `"gateway"` 值**:Claude Code 永遠不會從伺服器受管設定讀取它們,因此那裡的值既不適用也不隱藏在 MDM 原則或受管設定檔案中設定的值。在機器上的管理員來源中,只有攜帶原則金鑰的最高排名來源提供它們,無論伺服器受管設定是否也存在。6249* **[`forceLoginGatewayUrl`](#forcelogingatewayurl)、[`gatewayInternalNetworks`](#gatewayinternalnetworks) 和 [`forceLoginMethod`](#forceloginmethod) 的 `"gateway"` 值**:Claude Code 永遠不會從伺服器受管設定讀取它們,因此那裡的值既不適用也不隱藏在 MDM 原則或受管設定檔案中設定的值。在機器上的管理員來源中,只有攜帶原則金鑰的最高排名來源提供它們,無論伺服器受管設定是否也存在。

6174 6250 

6175若要確認機器上合併了哪些來源,請執行 `/status` 並[讀取 `Setting sources` 行](/docs/zh-TW/managed-settings#read-the-source-in-/status)。6251若要確認機器上合併了哪些來源,請執行 `/status` 並[讀取 `Setting sources` 行](/docs/zh-TW/managed-settings#read-the-source-in-/status)。

6176 6252 

setup.md +1 −1

Details

202 驗證身份202 驗證身份

203</h2>203</h2>

204 204 

205Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳戶。免費的 Claude.ai 方案不包括 Claude Code 存取權。您也可以透過第三方 API 提供者(如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry))使用 Claude Code。205Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳戶。免費的 claude.ai 方案不包括 Claude Code 存取權。您也可以透過第三方 API 提供者(如 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry))使用 Claude Code。

206 206 

207安裝後,執行 `claude` 並按照瀏覽器提示登入。如果設定了 `ANTHROPIC_API_KEY` 環境變數,Claude Code 會提示您一次以核准該金鑰,而不是開啟瀏覽器。請參閱[驗證](/docs/zh-TW/authentication)以了解所有帳戶類型和團隊設定選項。207安裝後,執行 `claude` 並按照瀏覽器提示登入。如果設定了 `ANTHROPIC_API_KEY` 環境變數,Claude Code 會提示您一次以核准該金鑰,而不是開啟瀏覽器。請參閱[驗證](/docs/zh-TW/authentication)以了解所有帳戶類型和團隊設定選項。

208 208 

skills.md +92 −75

Details

120 選擇技能的載入位置120 選擇技能的載入位置

121</h2>121</h2>

122 122 

123技能的儲存位置決定了哪些工作階段會載入它。將其儲存在主目錄下,可在每個專案中使用;將其提交到儲存庫,可與該處的所有人共享;或透過 plugin 或受管設定進行分發,以覆蓋整個團隊。123技能的儲存位置決定了哪些工作階段會載入它。將其儲存在主目錄下,可在每個專案中使用;將其提交到儲存庫,可與該處的所有人共享;或透過外掛程式或受管設定分發,以覆蓋整個團隊。

124 124 

125| 位置 | 路徑 | 載入位置 |125| 位置 | 路徑 | 載入於 |

126| :------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |126| :----------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` 在[受管設定目錄](/docs/zh-TW/managed-settings#delivery-mechanisms)中 | 組織部署該設定的機器上的所有使用者 |127| 企業 | `.claude/skills/<skill-name>/SKILL.md` 在[受管設定目錄](/docs/zh-TW/managed-settings#delivery-mechanisms)中 | 您的組織部署它的機器上的所有使用者 |

128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | 此機器上的所有專案,但不包括 [Cowork 或雲端工作階段](#skills-in-cowork-and-cloud-sessions) |128| 個人 | `~/.claude/skills/<skill-name>/SKILL.md` | 此機器上的所有專案,但不包括[協作或雲端工作階段](#skills-in-cowork-and-cloud-sessions) |

129| Project | `.claude/skills/<skill-name>/SKILL.md` | 此儲存庫中的工作階段。提交它,讓您的團隊也能取得 |129| 專案 | `.claude/skills/<skill-name>/SKILL.md` | 此儲存庫中的工作階段。提交它,您的團隊也會獲得它 |

130| Nested | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | 在 `<subdir>` 中或其下方啟動的工作階段。在上方啟動的工作階段會在 Claude 處理該處的檔案時載入技能一次。請參閱[單一儲存庫和子目錄](#discovery-from-parent-and-nested-directories) |130| 巢狀 | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | 在 `<subdir>` 中或其下方啟動的工作階段。在上方啟動的工作階段在 Claude 處理該處的檔案時會載入技能一次。請參閱[單一儲存庫和子目錄](#discovery-from-parent-and-nested-directories) |

131| Additional directory | `.claude/skills/<skill-name>/SKILL.md` 在您使用 `--add-dir` 傳遞的目錄中 | 該工作階段。請參閱[專案外的目錄](#skills-from-additional-directories) |131| 其他目錄 | `.claude/skills/<skill-name>/SKILL.md` 在您使用 `--add-dir` 傳遞的目錄中 | 該工作階段。請參閱[專案外的目錄](#skills-from-additional-directories) |

132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | 啟用 [plugin](/docs/zh-TW/plugins) 的任何位置,作為 `/plugin-name:skill-name` |132| 外掛程式 | `<plugin>/skills/<skill-name>/SKILL.md` | [外掛程式](/docs/zh-TW/plugins)啟用的任何位置,作為 `/plugin-name:skill-name` |

133| claude.ai account | 您在 claude.ai 設定中啟用的技能 | Cowork 和雲端工作階段。請參閱[從 claude.ai 同步的技能](#how-synced-skills-behave)以了解本機工作階段 |133| claude.ai 帳戶 | 為您的 claude.ai 帳戶啟用的技能 | 協作和雲端工作階段,以及您使用該帳戶登入的終端工作階段。請參閱[從 claude.ai 同步的技能](#how-synced-skills-behave) |

134 134 

135技能資料夾也遵循以下規則:135技能資料夾也遵循這些規則:

136 136 

137* **符號連結資料夾**:enterprise、personal 或 project 位置中的 `<skill-name>` 項目可以是指向磁碟上其他位置的符號連結。Claude Code 從目標讀取 `SKILL.md` 並載入技能一次,即使多個位置指向同一目標。Plugin 技能[以不同方式處理符號連結](/docs/zh-TW/plugins-reference#share-files-within-a-marketplace-with-symlinks)。137* **符號連結資料夾**:企業、個人或專案位置中的 `<skill-name>` 項目可以是指向磁碟上其他位置的目錄的符號連結。Claude Code 從目標讀取 `SKILL.md` 並載入技能一次,即使多個位置指向同一目標。外掛程式技能[以不同方式處理符號連結](/docs/zh-TW/plugins-reference#share-files-within-a-marketplace-with-symlinks)。

138* **保留名稱**:不要將技能資料夾命名為 `synced`,無論大小寫如何。Claude Code 使用 `~/.claude/skills/synced/` 來[儲存從 claude.ai 下載的技能](#where-synced-skills-load),並跳過您在 enterprise、personal 和 project 位置中以該名稱編寫的技能。138* **保留名稱**:不要將技能資料夾命名為 `synced`,無論大小寫如何。Claude Code 使用 `~/.claude/skills/synced/` 來[儲存從 claude.ai 下載的技能](#where-synced-skills-load),並跳過您在企業、個人和專案位置中以該名稱編寫的技能。

139* **命令檔案**:`.claude/commands/` 中的 Markdown 檔案是較舊的格式,仍然有效。它支援相同的 [frontmatter](#frontmatter-reference),除了 `name` 和 `paths`。若要找到您輸入以叫用它的名稱,請參閱[技能如何取得其命令名稱](#how-a-skill-gets-its-command-name)。對於新工作,建議使用技能,因為技能也支援[支援檔案](#add-supporting-files)。139* **命令檔案**:`.claude/commands/` 中的 Markdown 檔案是較舊的格式,仍然有效。它支持相同的[前置資料](#frontmatter-reference),除了 `name` 和 `paths`。若要找到您輸入以叫用它的名稱,請參閱[技能如何獲得其命令名稱](#how-a-skill-gets-its-command-name)。對於新工作,建議使用技能,因為技能也支持[支援檔案](#add-supporting-files)。

140* **技能資料夾作為 plugin**:將 `.claude-plugin/plugin.json` 新增到技能資料夾,它會載入為名為 `<name>@skills-dir` 的 [plugin](/docs/zh-TW/plugins-reference#skills-directory-plugins),因此可以捆綁代理、hooks 和 MCP 伺服器。在專案的 `.claude/skills/` 中,這需要先接受工作區信任對話。140* **技能資料夾作為外掛程式**:將 `.claude-plugin/plugin.json` 新增到技能資料夾,它會載入為[外掛程式](/docs/zh-TW/plugins-reference#skills-directory-plugins),名稱為 `<name>@skills-dir`,因此它可以捆綁代理、hooks 和 MCP 伺服器。在專案的 `.claude/skills/` 中,這需要先接受工作區信任對話。

141 141 

142<h3 id="discovery-from-parent-and-nested-directories">142<h3 id="discovery-from-parent-and-nested-directories">

143 在單一儲存庫和子目錄中載入技能143 在單一儲存庫和子目錄中載入技能

144</h3>144</h3>

145 145 

146Claude Code 從啟動它的目錄中的 `.claude/skills/` 以及直到儲存庫根目錄的每個父目錄中載入專案技能,因此在 `packages/frontend/` 中啟動仍會取得在根目錄定義的技能。當您在 v2.1.246 或更新版本上[使用 `/cd` 移動工作階段](/docs/zh-TW/permissions#move-the-session-to-another-directory)時,Claude Code 會新增新目錄的專案技能。146Claude Code 從啟動它的目錄中的 `.claude/skills/` 以及直到儲存庫根目錄的每個父目錄中載入專案技能,因此在 `packages/frontend/` 中啟動仍會拾取在根目錄定義的技能。當您在 v2.1.246 或更新版本上[使用 `/cd` 移動工作階段](/docs/zh-TW/permissions#move-the-session-to-another-directory)時,Claude Code 會新增新目錄的專案技能。

147 147 

148啟動位置下方的 `.claude/skills/` 目錄中的技能在啟動時不會載入。它們在 Claude 首次讀取或編輯該子目錄中的檔案時載入,並在工作階段的其餘時間保持可用。在此之前,它們不會出現在 `/` 功能表中,您也無法按名稱叫用它們。若要更快載入它們,請使用子目錄的路徑執行 `/add-dir`,這需要 Claude Code v2.1.257 或更新版本。148`.claude/skills/` 目錄中啟動位置下方的技能在啟動時不會載入。它們在 Claude 首次讀取或編輯該子目錄中的檔案時載入,並在工作階段的其餘時間保持可用。在此之前,它們不會出現在 `/` 功能表中,您無法按名稱叫用它們。若要更快載入它們,請使用子目錄的路徑執行 `/add-dir`,這需要 Claude Code v2.1.257 或更新版本。

149 149 

150當巢狀技能與另一個技能共享名稱時,兩者都保持可用。在儲存庫根目錄和 `apps/web/.claude/skills/` 中都有 `deploy` 技能的情況下:150當巢狀技能與另一個技能共享名稱時,兩者都保持可用。在儲存庫根目錄有 `deploy` 技能,在 `apps/web/.claude/skills/` 中有另一個:

151 151 

152* `/deploy` 執行根技能。Claude Code 也會列出目錄限定的變體供 Claude 使用,並附帶指示以叫用其目錄包含它正在處理的檔案的變體,因此巢狀技能仍適用於 `apps/web/` 中的工作。152* `/deploy` 執行根技能。Claude Code 也會為 Claude 列出目錄限定的變體,並提供指示以叫用其目錄保存它正在處理的檔案的變體,因此巢狀技能仍適用於 `apps/web/` 中的工作。

153* `/apps/web:deploy` 單獨執行巢狀技能。其描述命名了它適用的目錄。153* `/apps/web:deploy` 單獨執行巢狀技能。其描述命名它適用的目錄。

154 154 

155<h3 id="skills-from-additional-directories">155<h3 id="skills-from-additional-directories">

156 從專案外的目錄載入技能156 從專案外的目錄載入技能


160 160 

161Claude Code 監視您在啟動時使用 `--add-dir` 傳遞的目錄中的 `.claude/skills/`,如[在工作階段期間編輯技能](#live-change-detection)所述。它不監視新增目錄的 `.claude/commands/` 或 `.claude/agents/`,因此在更改該處的檔案後重新啟動工作階段。161Claude Code 監視您在啟動時使用 `--add-dir` 傳遞的目錄中的 `.claude/skills/`,如[在工作階段期間編輯技能](#live-change-detection)所述。它不監視新增目錄的 `.claude/commands/` 或 `.claude/agents/`,因此在更改該處的檔案後重新啟動工作階段。

162 162 

163這些載入取決於 `project` [設定來源](/docs/zh-TW/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources),預設為開啟。[`strictPluginOnlyCustomization`](/docs/zh-TW/settings-reference#strictpluginonlycustomization) 原則、[bare mode](/docs/zh-TW/headless#start-faster-with-bare-mode) 和 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags) 各自進一步限制它們,如這些頁面所述。請參閱[其他目錄授予檔案存取權限,而非設定](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)以了解新增目錄載入的完整表格,包括 `CLAUDE.md` 和 plugin 設定。163這些載入取決於 `project` [設定來源](/docs/zh-TW/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources),預設為開啟。[`strictPluginOnlyCustomization`](/docs/zh-TW/settings-reference#strictpluginonlycustomization) 原則、[裸機模式](/docs/zh-TW/headless#start-faster-with-bare-mode)和 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags) 各自進一步限制它們,如這些頁面所述。請參閱[其他目錄授予檔案存取權限,而非設定](/docs/zh-TW/permissions#additional-directories-grant-file-access-not-configuration)以了解新增目錄載入的完整表格,包括 `CLAUDE.md` 和外掛程式設定。

164 164 

165<h3 id="resolve-skills-that-share-a-name">165<h3 id="resolve-skills-that-share-a-name">

166 解決共享名稱的技能166 解決共享名稱的技能

167</h3>167</h3>

168 168 

169當兩個技能共享名稱時,每個技能的來源決定了 `/name` 執行的是哪一個。該表涵蓋 enterprise、personal、project、nested、plugin 和 claude.ai 位置、捆綁技能和命令檔案:169當兩個技能共享名稱時,每個技能來自的位置決定了 `/name` 執行的是哪一個。該表涵蓋企業、個人、專案、巢狀、外掛程式和 claude.ai 位置、捆綁技能和命令檔案:

170 170 

171| 相同名稱在 | 執行的是哪一個 |171| 相同名稱在 | 執行哪一個 |

172| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |172| :-------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |

173| Enterprise、personal 和 project 中的兩個 | Enterprise 優先於 personal,personal 優先於 project。如果 `~/.claude/skills/` 和專案的 `.claude/skills/` 中都有 `deploy`,`/deploy` 執行 personal 的 |173| 企業、個人和專案中的兩個 | 企業優於個人,個人優於專案。在 `~/.claude/skills/` 和專案的 `.claude/skills/` 中都有 `deploy` 時,`/deploy` 執行個人的 |

174| 這些位置中的任何一個和[捆綁技能](#bundled-skills) | 您的技能取代捆綁命令,但不取代其別名。專案 `code-review` 技能取代 `/code-review`,捆綁別名 `/review` 永遠不會執行您的技能 |174| 這些位置中的任何一個和[捆綁技能](#bundled-skills) | 您的技能替換捆綁命令,但不替換其別名。專案 `code-review` 技能替換 `/code-review`,捆綁別名 `/review` 永遠不會執行您的技能 |

175| 技能和 `.claude/commands/` 中的檔案 | 技能 |175| 技能和 `.claude/commands/` 中的檔案 | 技能 |

176| 專案根技能和巢狀技能 | 兩者都載入。請參閱[單一儲存庫和子目錄](#discovery-from-parent-and-nested-directories) |176| 專案根技能和巢狀技能 | 兩者都載入。請參閱[單一儲存庫和子目錄](#discovery-from-parent-and-nested-directories) |

177| Plugin 技能和上述任何位置的技能 | 兩者都載入,因為 plugin 技能被命名為 `/plugin-name:skill-name` |177| 外掛程式技能和上述任何位置的技能 | 兩者都載入,因為外掛程式技能被命名為 `/plugin-name:skill-name` |

178| 上述任何一個和從 claude.ai 同步的技能 | 其他技能或命令。請參閱[當同步技能名稱與另一個命令相符時](#when-a-synced-skill-name-matches-another-command) |178| 上述任何一個和[從您的 claude.ai 帳戶同步的技能](#how-synced-skills-behave) | 另一個技能或命令。同步技能仍作為 `/anthropic-skills:<name>` 執行。請參閱[當同步技能名稱與另一個命令相符時](#when-a-synced-skill-name-matches-another-command) |

179 179 

180<h3 id="skills-in-cowork-and-cloud-sessions">180<h3 id="skills-in-cowork-and-cloud-sessions">

181 在 Cowork 和雲端工作階段中使用技能181 在協作和雲端工作階段中使用技能

182</h3>182</h3>

183 183 

184[Cowork](https://claude.com/product/cowork) 工作階段和[雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)(包括[例行工作](/docs/zh-TW/routines))不會讀取您機器上的 `~/.claude/skills/`。互動式和排程 Cowork 工作階段都會載入為您的 claude.ai 帳戶啟用的技能,在工作階段開始時同步;從 Desktop 應用程式側邊欄中的**自訂**或 claude.ai 上的技能設定進行管理。雲端工作階段另外載入提交到複製儲存庫的 `.claude/skills/` 的專案技能。184[協作](https://claude.com/product/cowork)工作階段和[雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup),包括[例行工作](/docs/zh-TW/routines),不會讀取您機器上的 `~/.claude/skills/`。互動式和排程協作工作階段都會載入為您的 claude.ai 帳戶啟用的技能,在工作階段開始時同步;從桌面應用程式側邊欄中的**自訂**或從 claude.ai 上的技能設定管理它們。雲端工作階段另外載入提交到複製儲存庫的 `.claude/skills/` 的專案技能。

185 185 

186如果技能僅存在於您機器上的 `~/.claude/skills/` 中,當[例行工作](/docs/zh-TW/routines)叫用它時,Claude Code 會報告找不到該技能,因為每次例行工作執行都會作為新的遠端工作階段啟動。若要在這些工作階段中提供個人技能:186如果技能僅存在於您機器上的 `~/.claude/skills/` 中,當[例行工作](/docs/zh-TW/routines)叫用它時,Claude Code 會報告找不到該技能,因為每次例行工作執行都會作為新的雲端工作階段啟動。若要在這些工作階段中提供個人技能:

187 187 

188* 對於 Cowork 和雲端工作階段,為您的 claude.ai 帳戶啟用該技能。188* 對於協作和雲端工作階段,為您的 claude.ai 帳戶啟用該技能。

189* 對於雲端工作階段,您可以改為將技能提交到儲存庫的 `.claude/skills/`,或在儲存庫的 `.claude/settings.json` 中宣告的 plugin 中提供它。儲存庫宣告的 plugin [在工作階段開始時安裝](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup);僅在您的使用者設定中啟用的 plugin 不會轉移。189* 對於雲端工作階段,您可以改為將技能提交到儲存庫的 `.claude/skills/`,或在儲存庫的 `.claude/settings.json` 中宣告的外掛程式中提供它。儲存庫宣告的外掛程式[在工作階段開始時安裝](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup);僅在您的使用者設定中啟用的外掛程式不會轉移。

190 190 

191[Desktop 排程工作](/docs/zh-TW/desktop-scheduled-tasks)在您的機器上本機執行,因此它們確實載入 `~/.claude/skills/`。191[桌面排程工作](/docs/zh-TW/desktop-scheduled-tasks)在您的機器上本機執行,因此它們確實載入 `~/.claude/skills/`。

192 192 

193<h3 id="how-synced-skills-behave">193<h3 id="how-synced-skills-behave">

194 從 claude.ai 同步的技能194 從 claude.ai 同步的技能

195</h3>195</h3>

196 196 

197如果您為 claude.ai 帳戶啟用了技能,本節適用於您。在 Cowork 和雲端工作階段中,Claude Code 會載入這些技能,無需在您的機器上進行任何設定。在您機器上的任何其他工作階段中,Claude Code 僅在您使用 [`CLAUDE_CODE_SYNC_SKILLS`](/docs/zh-TW/env-vars#variables) 在非互動式執行中開啟同步後才載入它們,如[同步技能的載入位置](#where-synced-skills-load)所述。197本節適用於您,如果您使用協作或雲端工作階段,或在終端中使用 claude.ai 帳戶登入 Claude Code。在這些工作階段中,Claude Code 會載入為您的 claude.ai 帳戶啟用的技能,無需您進行任何設定,如[同步技能的載入位置](#where-synced-skills-load)所述。這些技能包括您在 claude.ai 設定中建立或開啟的技能、您的組織在那裡提供的技能,以及 Anthropic 的內建技能,例如 `pdf` 和 `xlsx`。

198 198 

199Claude Code 從您的帳戶下載同步技能,而不是讀取您在執行工作階段的機器上編寫的檔案,因此它對同步技能應用了不適用於您儲存在[技能位置](#where-skills-live)中的技能的規則。199Claude Code 從您的帳戶下載同步技能,而不是讀取您在執行工作階段的機器上編寫的檔案,因此它對同步技能應用不適用於您儲存在[技能位置](#where-skills-live)中的技能的規則。

200 200 

201<h4 id="where-synced-skills-load">201<h4 id="where-synced-skills-load">

202 同步技能的載入位置202 同步技能的載入位置

203</h4>203</h4>

204 204 

205在 Cowork 或雲端工作階段中,Claude Code 載入為您的 claude.ai 帳戶啟用的技能,[Cowork 和雲端工作階段中的技能](#skills-in-cowork-and-cloud-sessions)說明了如何選擇這些工作階段取得的技能。205在協作或雲端工作階段中,Claude Code 載入為您的 claude.ai 帳戶啟用的技能,[協作和雲端工作階段中的技能](#skills-in-cowork-and-cloud-sessions)說明如何選擇這些工作階段獲得的技能。

206 206 

207在您機器上的任何其他工作階段中,Claude Code 僅在您在非互動式執行中下載一次後才載入它們:207在您的終端中,Claude Code 在您使用 claude.ai 帳戶登入的工作階段中同步這些技能。當工作階段啟動時,Claude Code 會在背景中將您帳戶的技能下載到 `~/.claude/skills/synced/`,然後在工作階段執行時大約每 10 分鐘檢查一次 claude.ai 是否有變更。當檢查發現技能在 claude.ai 上被新增、編輯或關閉時,Claude Code 會在執行中的工作階段中新增、更新或移除它,無需重新啟動。終端工作階段中的同步需要 Claude Code v2.1.273 或更新版本。

208 208 

209<Steps>209同步永遠不會延遲啟動,因為 Claude 只在叫用技能時才等待技能的下載。因此,短[非互動式](/docs/zh-TW/headless)執行可能在新增的技能下載之前完成,在這種情況下,稍後的工作階段會下載它。若要讓非互動式執行下載您的技能並在回答提示之前等待清單,請將 [`CLAUDE_CODE_SYNC_SKILLS`](/docs/zh-TW/env-vars#variables) 設定為 `1`。

210 <Step title="為您的 claude.ai 帳戶啟用技能">

211 為您的 claude.ai 帳戶啟用您想要的每個技能,如 [Cowork 和雲端工作階段中的技能](#skills-in-cowork-and-cloud-sessions)所述。Claude Code 僅下載您啟用的技能,它需要您的 claude.ai 登入才能下載它們。

212 </Step>

213 210 

214 <Step title="在啟用同步的非互動式模式下執行 Claude Code">211Claude Code 僅在使用您的 claude.ai 帳戶登入的工作階段中同步,並[從 Anthropic 取得功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)。它不在這些工作階段中同步:

215 Claude Code 僅在您以[非互動式模式](/docs/zh-TW/headless)執行它並使用 `-p` 旗標且設定 [`CLAUDE_CODE_SYNC_SKILLS`](/docs/zh-TW/env-vars#variables) 為 `1` 時下載同步技能。您傳遞的提示不會影響下載。

216 212 

217 ```bash theme={null}213* 不使用 `/login` 儲存的登入的工作階段,例如使用 API 金鑰驗證的工作階段,或 `ANTHROPIC_AUTH_TOKEN`、`CLAUDE_CODE_OAUTH_TOKEN` 或 `apiKeyHelper` 指令碼提供認證的工作階段

218 CLAUDE_CODE_SYNC_SKILLS=1 claude -p "List the skills you have available"214* 不取得功能旗標的工作階段,例如 Amazon Bedrock 上的工作階段或您設定 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 的工作階段

219 ```215* [裸機模式](/docs/zh-TW/headless#start-faster-with-bare-mode)中的工作階段或您使用 `--safe-mode` 啟動的工作階段

216* 您的組織的受管設定[將技能鎖定到外掛程式來源](/docs/zh-TW/settings-reference#strictpluginonlycustomization-skills)的工作階段,或您使用[`--setting-sources`](/docs/zh-TW/cli-reference#cli-flags)清單啟動的工作階段,該清單省略了 `user`

220 217 

221 Claude Code 將技能下載到 `~/.claude/skills/synced/`,回答提示,並像任何其他非互動式執行一樣退出。下載的技能在它退出後保留在磁碟上,因此您不需要保持執行開啟。Claude Code 僅在設定了 `CLAUDE_CODE_SYNC_SKILLS` 的執行期間下載技能,因此在您在 claude.ai 上啟用或更改技能後,再次執行該命令。若要更改執行在回答提示前等待同步的時間,請設定 [`CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`](/docs/zh-TW/env-vars#variables)。218如果您在工作階段期間使用 `/login` 登入,請重新啟動 Claude Code 以開始同步。

222 </Step>

223 219 

224 <Step title="確認技能在本機工作階段中載入">220較早工作階段同步的技能保留在磁碟上。Claude Code 在稍後使用相同帳戶登入的工作階段中載入它們,即使它無法連接到 claude.ai。

225 啟動互動式工作階段,不設定 `CLAUDE_CODE_SYNC_SKILLS`,並執行 `/skills`。功能表在 `claude.ai sync` 下列出下載的技能。之後您使用相同 claude.ai 登入啟動的每個本機工作階段也會從 `~/.claude/skills/synced/` 載入它們。221 

226 </Step>222若要查看哪些技能已同步,請執行 `/skills`。功能表在 `claude.ai sync` 下列出它們。

227</Steps>223 

224Anthropic 的某些技能,例如 `pdf` 和 `xlsx`,始終同步。對於其餘的,在 claude.ai 上的技能設定中開啟或關閉技能以變更它是否同步。

225 

226若要停止在機器上同步,請在您的使用者設定中將 [`syncClaudeAiSkills`](/docs/zh-TW/settings-reference#syncclaudeaiskills) 設定為 `false`。Claude Code 停止下載,下次啟動時會將已同步的技能移動到 `~/.claude/skills/.trash/`,並不再載入它們。您的組織可以透過在 claude.ai 上關閉技能來為所有人關閉同步。若要在保持技能開啟的情況下停止同步,它可以在[受管設定](/docs/zh-TW/managed-settings)中設定相同的金鑰。

227 

228如果您的組織在 claude.ai 上關閉技能,Claude Code 會移除下載的技能,它們停止載入。移除的技能會移動到 `~/.claude/skills/.trash/`,您可以在[保留掃描](/docs/zh-TW/claude-directory#cleaned-up-automatically)刪除它們之前復原檔案。一旦您的組織重新開啟技能,Claude Code 會在下次同步時下載您啟用的技能。

228 229 

229<h4 id="when-a-synced-skill-name-matches-another-command">230<h4 id="when-a-synced-skill-name-matches-another-command">

230 當同步技能名稱與另一個命令相符時231 當同步技能名稱與另一個命令相符時

231</h4>232</h4>

232 233 

233Claude Code 跳過名稱與任何其他命令相符的同步技能,並執行該其他命令。其他命令可以是內建命令、[捆綁技能](#bundled-skills)、任何[本機層級](#where-skills-live)的技能、plugin 技能、`.claude/commands/` 中的檔案或 [MCP 提示](/docs/zh-TW/mcp#use-mcp-prompts-as-commands)。Claude Code 也保留其自身內建命令和捆綁技能的名稱,即使它們在您的工作階段中不可用,例如在您關閉捆綁技能後,因此它也跳過具有這些名稱之一的同步技能。234您可以透過其完整名稱 `/anthropic-skills:<name>` 或其短名稱 `/<name>` 叫用同步技能。當另一個命令使用該短名稱時,`/<name>` 執行另一個命令,同步技能僅作為 `/anthropic-skills:<name>` 執行。在本機 `deploy` 技能和同步 `deploy` 的情況下,`/deploy` 執行本機技能,`/anthropic-skills:deploy` 執行同步技能。在 v2.1.269 之前,同步技能僅有其短名稱。

235 

236另一個命令可以是以下任何一個:

237 

238* 內建命令或[捆綁技能](#bundled-skills),包括在您的工作階段中不可用的命令,例如在您關閉捆綁技能後

239* 任何[本機層級](#where-skills-live)的技能或 `.claude/commands/` 中的檔案

240* 外掛程式技能

241* [MCP 提示](/docs/zh-TW/mcp#use-mcp-prompts-as-commands)

234 242 

235Claude Code 標籤同步技能,以便您可以判斷它們的來源。`/skills` 功能表和 `/context` 在 `claude.ai sync` 下分組同步技能,`/` 命令功能表將它們標記為來自 claude.ai。243Claude Code 標籤同步技能,以便您可以判斷它們來自何處。`/skills` 功能表和 `/context` 在 `claude.ai sync` 下分組同步技能,`/` 命令功能表將它們標記為來自 claude.ai。

236 244 

237比較名稱時,Claude Code 忽略大小寫、間距和不可見字元,並將相容性形式(如全寬字母和破折號變體)視為其純等效項,因此同步的 `Commit` 無法與本機 `commit` 並排載入。名稱僅因來自另一個字母表的相似字母而異,計為不同名稱,`claude.ai sync` 標籤是您區分兩者的方式。這些檢查和標籤需要 Claude Code v2.1.228 或更新版本。245比較名稱時,Claude Code 忽略大小寫、間距和不可見字元,並將相容性形式(如全寬字母和破折號變體)視為其純等效項。例如,名為 `Commit` 的同步技能和名為 `commit` 的本機技能計為相同名稱,因此 `/commit` 繼續執行您的本機技能。

246 

247僅因另一個字母表中的相似字母而不同的名稱計為不同名稱,`claude.ai sync` 標籤是您區分兩者的方式。這些檢查和標籤需要 Claude Code v2.1.228 或更新版本。

238 248 

239<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">249<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

240 Claude Code 如何處理同步技能的 frontmatter250 Claude Code 如何處理同步技能的前置資料

241</h4>251</h4>

242 252 

243Claude Code 對同步技能的 frontmatter 應用兩個規則:253Claude Code 對同步技能的前置資料應用兩個規則:

244 254 

245* Claude Code 在每種工作階段中都遵守 frontmatter,因此 `allowed-tools` 授予會通過正常的[權限流程](/docs/zh-TW/permissions)。255* Claude Code 在每種工作階段中都遵守前置資料,因此 `allowed-tools` 授予會通過正常的[權限流程](/docs/zh-TW/permissions)。

246* Claude Code 清理技能提供的顯示文字,例如其描述。它移除控制字元,在到達 Claude 的文字(例如描述)中,它也會逸出角括號,以便文字無法模仿 Claude Code 的內部格式。此清理需要 Claude Code v2.1.228 或更新版本。256* Claude Code 清理技能提供的顯示文字,例如其描述。它移除控制字元,在到達 Claude 的文字(例如描述)中,它也會逸出角括號,以便文字無法模仿 Claude Code 的內部格式。此清理需要 Claude Code v2.1.228 或更新版本。

247 257 

248<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">258<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">


252Claude Code 對同步技能主體的處理取決於工作階段執行的位置:262Claude Code 對同步技能主體的處理取決於工作階段執行的位置:

253 263 

254* 在雲端工作階段中,主體保持本機技能具有的行為,因為工作階段在隔離容器中執行。264* 在雲端工作階段中,主體保持本機技能具有的行為,因為工作階段在隔離容器中執行。

255* 在您桌面上的 Cowork 工作階段中,主體保持本機技能具有的行為,除了 Claude Code 將每個 `!` 命令列替換為 [`disableSkillShellExecution` 預留位置](#inject-dynamic-context),就像它對您在那裡提供的每個技能所做的一樣。265* 在您桌面上的協作工作階段中,主體保持本機技能具有的行為,除了 Claude Code 將每個 `!` 命令行替換為 [`disableSkillShellExecution` 預留位置](#inject-dynamic-context),就像它對您在那裡提供的每個技能所做的一樣。

256* 在您機器上的任何其他工作階段中,Claude Code 不執行 [`!` 命令](#inject-dynamic-context),不附加 `@` 參考命名的檔案(就像它對本機技能所做的一樣),也不替換 `${CLAUDE_PROJECT_DIR}` 和 `${CLAUDE_SESSION_ID}` 預留位置,因此 `@` 參考和兩個預留位置都作為字面文字到達 Claude。`!` 命令列也作為字面文字到達 Claude,或當 `disableSkillShellExecution` 開啟時作為該預留位置。此處理需要 Claude Code v2.1.228 或更新版本。266* 在您機器上的任何其他工作階段中,Claude Code 不執行 [`!` 命令](#inject-dynamic-context),不附加 `@` 參考命名的檔案(就像它對本機技能所做的那樣),也不替換 `${CLAUDE_PROJECT_DIR}` 和 `${CLAUDE_SESSION_ID}` 預留位置,因此 `@` 參考和兩個預留位置都作為字面文字到達 Claude。`!` 命令行也作為字面文字到達 Claude,或在 `disableSkillShellExecution` 開啟時作為該預留位置。此處理需要 Claude Code v2.1.228 或更新版本。

257 267 

258<h3 id="live-change-detection">268<h3 id="live-change-detection">

259 在工作階段期間編輯技能269 在工作階段期間編輯技能

260</h3>270</h3>

261 271 

262Claude Code 監視技能目錄的檔案變更,除了在 [bare mode](/docs/zh-TW/headless#start-faster-with-bare-mode) 中。當您在 `~/.claude/skills/`、專案 `.claude/skills/` 或 `--add-dir` 目錄內的 `.claude/skills/` 下新增、編輯或移除技能時,Claude Code 在目前工作階段內選取變更,無需重新啟動。如果您建立在工作階段啟動時不存在的頂層技能目錄,重新啟動 Claude Code,以便它可以監視新目錄。272Claude Code 監視技能目錄的檔案變更,除了在[裸機模式](/docs/zh-TW/headless#start-faster-with-bare-mode)中。當您在 `~/.claude/skills/`、專案 `.claude/skills/` 或 `--add-dir` 目錄內的 `.claude/skills/` 下新增、編輯或移除技能時,Claude Code 在目前工作階段內拾取變更,無需重新啟動。如果您建立工作階段啟動時不存在的頂層技能目錄,請重新啟動 Claude Code,以便它可以監視新目錄。

263 273 

264即時變更偵測僅涵蓋 `SKILL.md` 文字。對於也是 [plugin](/docs/zh-TW/plugins-reference#skills-directory-plugins) 的技能資料夾,對 `hooks/`、`.mcp.json`、`agents/` 和 `output-styles/` 的變更需要 `/reload-plugins` 才能生效。274即時變更偵測僅涵蓋 `SKILL.md` 文字。對於也是[外掛程式](/docs/zh-TW/plugins-reference#skills-directory-plugins)的技能資料夾,`hooks/`、`.mcp.json`、`agents/` 和 `output-styles/` 的變更需要 `/reload-plugins` 才能生效。

265 275 

266<h3 id="remove-a-skill">276<h3 id="remove-a-skill">

267 移除技能277 移除技能

268</h3>278</h3>

269 279 

270移除技能的方式取決於它的來源:280移除技能的方式取決於它來自何處:

271 281 

272* **Personal 或 project 技能**:刪除技能的目錄,`~/.claude/skills/<skill-name>/` 或 `.claude/skills/<skill-name>/`。Claude Code [在目前工作階段中將其從 `/skills` 中移除](#live-change-detection);Claude Code 已從其載入的內容遵循[技能內容生命週期](#skill-content-lifecycle)。282* **個人或專案技能**:刪除技能的目錄,`~/.claude/skills/<skill-name>/` 或 `.claude/skills/<skill-name>/`。Claude Code [在目前工作階段中將其從 `/skills` 中移除](#live-change-detection);Claude Code 已從其載入的內容遵循[技能內容生命週期](#skill-content-lifecycle)。

273* **Enterprise 技能**:管理員從[受管設定目錄](/docs/zh-TW/managed-settings#delivery-mechanisms)內的 `.claude/skills/` 刪除技能的目錄,例如 Linux 上的 `/etc/claude-code/.claude/skills/<skill-name>/`。283* **企業技能**:管理員從[受管設定目錄](/docs/zh-TW/managed-settings#delivery-mechanisms)內的 `.claude/skills/` 刪除技能的目錄,例如 Linux 上的 `/etc/claude-code/.claude/skills/<skill-name>/`。

274* **Plugin 技能**:從 `/plugin` 功能表停用或解除安裝提供它的 plugin,或使用 `/plugin uninstall <plugin-name>@<marketplace-name>`。Claude Code 在[變更套用](/docs/zh-TW/discover-plugins#apply-plugin-changes-without-restarting)時或當您重新啟動時卸載 plugin 的技能。284* **外掛程式技能**:從 `/plugin` 功能表禁用或卸載提供它的外掛程式,或使用 `/plugin uninstall <plugin-name>@<marketplace-name>`。Claude Code 在[變更應用](/docs/zh-TW/discover-plugins#apply-plugin-changes-without-restarting)時或當您重新啟動時卸載外掛程式的技能。

275* **從 claude.ai 同步的技能**:在您[啟用它](#skills-in-cowork-and-cloud-sessions)的相同位置為您的 claude.ai 帳戶關閉該技能。Claude Code 在下次[同步您的技能](#where-synced-skills-load)時將其從 `~/.claude/skills/synced/` 中移除。如果您改為手動刪除目錄,下次同步會在技能在 claude.ai 上保持啟用時再次下載它。285* **從 claude.ai 同步的技能**:在您[啟用它](#skills-in-cowork-and-cloud-sessions)的相同位置為您的 claude.ai 帳戶關閉該技能。Claude Code 在下次[同步您的技能](#where-synced-skills-load)時將其從 `~/.claude/skills/synced/` 中移除。如果您改為手動刪除目錄,下次同步會在技能在 claude.ai 上保持啟用時再次下載它。

276* **捆綁技能**:將 [`disableBundledSkills`](#bundled-skills) 設定為 `true` 以關閉捆綁技能,或在 [`skillOverrides`](#override-skill-visibility-from-settings) 中將一個技能設定為 `"off"` 以隱藏它。286* **捆綁技能**:設定 [`disableBundledSkills`](#bundled-skills) 為 `true` 以關閉捆綁技能,或在 [`skillOverrides`](#override-skill-visibility-from-settings) 中將一個技能設定為 `"off"` 以隱藏它。

277 287 

278若要保留 personal 或 project 技能但停止 Claude 自動叫用它,請在其 frontmatter 中設定 [`disable-model-invocation: true`](#control-who-invokes-a-skill),或在 [`skillOverrides`](#override-skill-visibility-from-settings) 中設定 `"user-invocable-only"`(當您不想編輯檔案時)。288若要保留個人或專案技能但停止 Claude 自動叫用它,請在其前置資料中設定 [`disable-model-invocation: true`](#control-who-invokes-a-skill),或在不想編輯檔案時在 [`skillOverrides`](#override-skill-visibility-from-settings) 中設定 `"user-invocable-only"`。

279 289 

280<h2 id="configure-skills">290<h2 id="configure-skills">

281 設定 skills291 設定 skills


404| `.claude/commands/` 的子目錄中的檔案 | 相對於 `commands/` 的子目錄路徑,每個 `/` 替換為 `:`,然後是不含副檔名的檔案名稱 | `.claude/commands/frontend/component.md` → `/frontend:component` |414| `.claude/commands/` 的子目錄中的檔案 | 相對於 `commands/` 的子目錄路徑,每個 `/` 替換為 `:`,然後是不含副檔名的檔案名稱 | `.claude/commands/frontend/component.md` → `/frontend:component` |

405| Plugin `skills/` 子目錄 | Frontmatter `name` 或目錄名稱,由 plugin 命名空間 | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`,或使用 `name: fancy` 時為 `/my-plugin:fancy` |415| Plugin `skills/` 子目錄 | Frontmatter `name` 或目錄名稱,由 plugin 命名空間 | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`,或使用 `name: fancy` 時為 `/my-plugin:fancy` |

406| Plugin 根 `SKILL.md` | Frontmatter `name`,以 plugin 目錄名稱作為後備 | `my-plugin/SKILL.md` 搭配 `name: review` → `/my-plugin:review`。請參閱[路徑行為規則](/docs/zh-TW/plugins-reference#path-behavior-rules) |416| Plugin 根 `SKILL.md` | Frontmatter `name`,以 plugin 目錄名稱作為後備 | `my-plugin/SKILL.md` 搭配 `name: review` → `/my-plugin:review`。請參閱[路徑行為規則](/docs/zh-TW/plugins-reference#path-behavior-rules) |

417| Skill [從 claude.ai 同步](#how-synced-skills-behave) | 您 claude.ai 帳戶上的 skill 名稱,前綴為 `anthropic-skills:` | 帳戶 skill `deploy` → `/anthropic-skills:deploy`,或在沒有其他命令使用該名稱時為 `/deploy` |

407 418 

408在 plugin skill 中,frontmatter `name` 替換命令最後一段中的目錄名稱,因此 `my-plugin/skills/review/SKILL.md` 搭配 `name: fancy` 變成 `/my-plugin:fancy`。除非另一個命令已使用該名稱,否則裸 `/fancy` 也會調用該 skill。如果您寫的 `name` 已經以 plugin 自己的前綴開頭,Claude Code 在 v2.1.246 或更新版本上不會再次新增前綴。例如,`name: my-plugin:fancy` 仍然變成 `/my-plugin:fancy`。從 v2.1.216 到 v2.1.245,當 `name` 已經帶有前綴時,Claude Code 會加倍前綴。419在 plugin skill 中,frontmatter `name` 替換命令最後一段中的目錄名稱,因此 `my-plugin/skills/review/SKILL.md` 搭配 `name: fancy` 變成 `/my-plugin:fancy`。除非另一個命令已使用該名稱,否則裸 `/fancy` 也會調用該 skill。如果您寫的 `name` 已經以 plugin 自己的前綴開頭,Claude Code 在 v2.1.246 或更新版本上不會再次新增前綴。例如,`name: my-plugin:fancy` 仍然變成 `/my-plugin:fancy`。從 v2.1.216 到 v2.1.245,當 `name` 已經帶有前綴時,Claude Code 會加倍前綴。

409 420 

410在[非互動式工作階段](/docs/zh-TW/headless)中,名稱 `help` 和 `feedback` 不是為其僅限終端的內建命令保留的,因此具有其中一個名稱的 plugin skill 在那裡保持其裸命令。每個其他僅限終端的內建命令的名稱(例如 `/login`)即使該命令無法在這些工作階段中運行,仍然保留。同步的名為 `help` 或 `feedback` 的 skill 仍然在那裡被跳過,因為 Claude Code[跳過同步的 skill](#when-a-synced-skill-name-matches-another-command),其名稱與任何內建命令相符,無論該命令是否可以運行。421在[非互動式工作階段](/docs/zh-TW/headless)中,名稱 `help` 和 `feedback` 不是為其僅限終端的內建命令保留的,因此具有其中一個名稱的 plugin skill 在那裡保持其裸命令。每個其他僅限終端的內建命令的名稱(例如 `/login`)即使該命令無法在這些工作階段中運行,仍然保留。

411 422 

412對於 plugin 根 `SKILL.md`,沒有 skill 目錄可以從中獲取名稱,因此 `name` 提供整個最後一段。沒有 `name` 欄位,Claude Code 會回退到 plugin 的目錄名稱。423對於 plugin 根 `SKILL.md`,沒有 skill 目錄可以從中獲取名稱,因此 `name` 提供整個最後一段。沒有 `name` 欄位,Claude Code 會回退到 plugin 的目錄名稱。

413 424 


709 720 

710使用預設 `bash` shell,將 `|| true` 附加到任何您預期會以非零結束的其他命令。一個在發現問題時結束代碼為 1 的檢查指令碼就是一個例子。721使用預設 `bash` shell,將 `|| true` 附加到任何您預期會以非零結束的其他命令。一個在發現問題時結束代碼為 1 的檢查指令碼就是一個例子。

711 722 

712注入命令永遠不會提示權限。當命令的權限檢查返回除允許以外的任何內容時,Claude Code 會中止呼叫。這包括通常會詢問您的規則。中止會顯示 `Shell command permission check failed for pattern "..."`。723<h4 id="permission-checks-on-injected-commands">

724 注入命令的權限檢查

725</h4>

726 

727注入命令在技能呈現時永遠不會提示權限。Claude Code 首先根據您的[權限規則](/docs/zh-TW/permissions)檢查每一個。拒絕規則匹配的命令會中止呼叫,顯示 `Shell command permission check failed for pattern "..."`。

728 

729在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)之外,當命令的權限檢查返回除允許以外的任何內容時,Claude Code 會中止呼叫。這包括通常會詢問您的規則。若要防止不匹配的命令在此處中止,請使用 [`allowed-tools`](#pre-approve-tools-for-a-skill) 預先批准它。拒絕和詢問規則仍會覆寫 `allowed-tools`。請參閱[管理權限](/docs/zh-TW/permissions#manage-permissions)。

713 730 

714若要防止不匹配的命令在此處中止,請使用 [`allowed-tools`](#pre-approve-tools-for-a-skill) 預先批准它。匹配的詢問或拒絕規則仍會中止呼叫,無論 `allowed-tools` 如何。請參閱[管理權限](/docs/zh-TW/permissions#manage-permissions)。731在自動模式中,原本需要您批准的命令不會中止呼叫。技能會載入一個指示,告訴 Claude 先執行命令,然後 Claude 自己的呼叫會通過[自動模式的常規檢查](/docs/zh-TW/permission-modes#how-the-classifier-evaluates-actions)。在設定 `agent` 的[分叉技能](#run-skills-in-a-subagent)中,以及在 Claude 沒有[執行注入命令的 shell 工具](#how-injected-commands-run)的工作階段中,呼叫仍會中止。

715 732 

716<h3 id="run-skills-in-a-subagent">733<h3 id="run-skills-in-a-subagent">

717 在子代理中執行技能734 在子代理中執行技能


743技能和[子代理](/docs/zh-TW/sub-agents)在兩個方向上協同工作:760技能和[子代理](/docs/zh-TW/sub-agents)在兩個方向上協同工作:

744 761 

745| 方法 | 系統提示 | 工作 | 也會載入 |762| 方法 | 系統提示 | 工作 | 也會載入 |

746| :--------------------- | :--------------- | :----------- | :----------------------------- |763| :--------------------- | :--------------- | :----------- | :----------------------------------------------------------------------- |

747| 具有 `context: fork` 的技能 | 來自代理類型 | SKILL.md 內容 | CLAUDE.md,除非代理是 Explore 或 Plan |764| 具有 `context: fork` 的技能 | 來自代理類型 | SKILL.md 內容 | CLAUDE.md,根據代理的[啟動內容](/docs/zh-TW/sub-agents#what-loads-at-startup) |

748| 具有 `skills` 欄位的子代理 | 子代理的 markdown 主體 | Claude 的委派訊息 | 預載入的技能 + CLAUDE.md |765| 具有 `skills` 欄位的子代理 | 子代理的 markdown 主體 | Claude 的委派訊息 | 預載入的技能 + CLAUDE.md,根據子代理的[啟動內容](/docs/zh-TW/sub-agents#what-loads-at-startup) |

749 766 

750使用 `context: fork`,您在技能中編寫工作並選擇代理類型來執行它。內建的 Explore 和 Plan 代理[跳過 CLAUDE.md 和 git 狀態](/docs/zh-TW/sub-agents#what-loads-at-startup)以保持其內容較小,所以使用 `agent: Explore` 的分叉技能只會看到 SKILL.md 內容和代理自己的系統提示。對於相反的情況,您定義使用技能作為參考資料的自訂子代理,請參閱[子代理](/docs/zh-TW/sub-agents#preload-skills-into-subagents)。767使用 `context: fork`,您在技能中編寫工作並選擇代理類型來執行它。內建的 Explore 和 Plan 代理[跳過 CLAUDE.md 和 git 狀態](/docs/zh-TW/sub-agents#what-loads-at-startup)以保持其內容較小,所以使用 `agent: Explore` 的分叉技能只會看到 SKILL.md 內容和代理自己的系統提示。對於相反的情況,您定義使用技能作為參考資料的自訂子代理,請參閱[子代理](/docs/zh-TW/sub-agents#preload-skills-into-subagents)。

751 768 

slack.md +26 −26

Details

13 * **Pro 和 Max 方案:** Claude Tag 在個人方案上不可用,因此此頁面仍然是設定路徑。13 * **Pro 和 Max 方案:** Claude Tag 在個人方案上不可用,因此此頁面仍然是設定路徑。

14</Warning>14</Warning>

15 15 

16Slack 中的 Claude Code 將 Claude Code 的強大功能直接帶入您的 Slack 工作區。當您提及 `@Claude` 並附帶編碼任務時,Claude 會自動檢測意圖並在網路上建立 Claude Code 工作階段,讓您無需離開團隊對話即可委派開發工作。16Slack 中的 Claude Code 將 Claude Code 的強大功能直接帶入您的 Slack 工作區。當您提及 `@Claude` 並附帶編碼任務時,Claude 會自動檢測意圖並在雲端建立 Claude Code 工作階段,讓您無需離開團隊對話即可委派開發工作。

17 17 

18此整合建立在現有的 Claude for Slack 應用程式基礎上,但為編碼相關請求添加了智能路由到網路上的 Claude Code。每個工作階段在您自己的 Claude 帳戶下運行,使用您連接的儲存庫和您的方案限制。18此整合建立在現有的 Claude for Slack 應用程式基礎上,但為編碼相關請求添加了智能路由到雲端的 Claude Code。每個工作階段在您自己的 Claude 帳戶下運行,使用您連接的儲存庫和您的方案限制。

19 19 

20<h2 id="use-cases">20<h2 id="use-cases">

21 使用案例21 使用案例


33在使用 Slack 中的 Claude Code 之前,請確保您具有以下條件:33在使用 Slack 中的 Claude Code 之前,請確保您具有以下條件:

34 34 

35| 要求 | 詳情 |35| 要求 | 詳情 |

36| :--------------- | :------------------------------------------------------------------------- |36| :-------- | :------------------------------------------------------------------------- |

37| Claude 計畫 | Pro、Max、Team 或 Enterprise,具有 Claude Code 存取權限(高級席位或 Chat + Claude Code 席位) |37| Claude 計畫 | Pro、Max、Team 或 Enterprise,具有 Claude Code 存取權限(高級席位或 Chat + Claude Code 席位) |

38| 網路上的 Claude Code | 必須啟用對[網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 的存取 |38| 雲端工作階段 | [雲端工作階段](/docs/zh-TW/claude-code-on-the-web)已為您的帳戶啟用 |

39| GitHub 帳戶 | 連接到網路上的 Claude Code,至少有一個存儲庫已驗證 |39| GitHub 帳戶 | 在 [claude.ai/code](https://claude.ai/code) 連接,至少有一個存儲庫已驗證 |

40| Slack 驗證 | 您的 Slack 帳戶通過 Claude 應用程式連接到您的 Claude 帳戶 |40| Slack 驗證 | 您的 Slack 帳戶通過 Claude 應用程式連接到您的 Claude 帳戶 |

41 41 

42<h2 id="setting-up-claude-code-in-slack">42<h2 id="setting-up-claude-code-in-slack">


45 45 

46<Steps>46<Steps>

47 <Step title="在 Slack 中安裝 Claude 應用程式">47 <Step title="在 Slack 中安裝 Claude 應用程式">

48 工作區管理員必須從 Slack 應用程式市場安裝 Claude 應用程式。訪問 [Slack 應用程式市場](https://slack.com/marketplace/A08SF47R6P4) 並點擊'Add to Slack'以開始安裝過程。48 工作區管理員必須從 Slack 應用程式市場安裝 Claude 應用程式。訪問 [Slack 應用程式市場](https://slack.com/marketplace/A08SF47R6P4) 並點擊「Add to Slack」以開始安裝程序。

49 </Step>49 </Step>

50 50 

51 <Step title="連接您的 Claude 帳戶">51 <Step title="連接您的 Claude 帳戶">

52 應用程式安裝後,驗證您的個人 Claude 帳戶:52 應用程式安裝後,驗證您的個人 Claude 帳戶:

53 53 

54 1. 通過點擊您的應用程式部分中的「Claude」在 Slack 中打開 Claude 應用程式54 1. 通過點擊您的應用程式部分中的「Claude」在 Slack 中開啟 Claude 應用程式

55 2. 導航到應用程式首頁標籤55 2. 開啟應用程式首頁標籤

56 3. 點擊「Connect」以將您的 Slack 帳戶與您的 Claude 帳戶連接56 3. 點擊「Connect」以將您的 Slack 帳戶與您的 Claude 帳戶連接

57 4. 在您的瀏覽器中完成驗證流程57 4. 在您的瀏覽器中完成驗證流程

58 </Step>58 </Step>

59 59 

60 <Step title="在網路上配置 Claude Code">60 <Step title="設定雲端工作階段">

61 確保您在網路上的 Claude Code 已正確配置:61 確保雲端工作階段已為您的帳戶正確設定:

62 62 

63 * 訪問 [claude.ai/code](https://claude.ai/code) 並使用您連接到 Slack 的同一帳戶登入63 * 訪問 [claude.ai/code](https://claude.ai/code) 並使用您連接到 Slack 的同一帳戶登入

64 * 如果尚未連接,請連接您的 GitHub 帳戶64 * 如果尚未連接,請連接您的 GitHub 帳戶


66 </Step>66 </Step>

67 67 

68 <Step title="選擇您的路由模式">68 <Step title="選擇您的路由模式">

69 連接帳戶後,配置 Claude 如何在 Slack 中處理您的訊息。導航到 Slack 中的 Claude 應用程式首頁以找到**路由模式**設定。69 連接帳戶後,設定 Claude 如何在 Slack 中處理您的訊息。開啟 Slack 中的 Claude 應用程式首頁以找到**路由模式**設定。

70 70 

71 | 模式 | 行為 |71 | 模式 | 行為 |

72 | :---------- | :----------------------------------------------------------------------------------------------------- |72 | :---------- | :----------------------------------------------------------------------------------------------------- |


78 </Note>78 </Note>

79 </Step>79 </Step>

80 80 

81 <Step title="將 Claude 添加到頻道">81 <Step title="將 Claude 新增到頻道">

82 Claude 在安裝後不會自動添加到任何頻道。要在頻道中使用 Claude,請通過在該頻道中輸入 `/invite @Claude` 來邀請它。Claude 只能在已添加它的頻道中回應 @mentions。82 Claude 在安裝後不會自動新增到任何頻道。要在頻道中使用 Claude,請通過在該頻道中輸入 `/invite @Claude` 來邀請它。Claude 只能在已新增它的頻道中回應 @mentions。

83 </Step>83 </Step>

84</Steps>84</Steps>

85 85 


91 自動檢測91 自動檢測

92</h3>92</h3>

93 93 

94在 Code + Chat 路由模式中,當您在 Slack 頻道或執行緒中提及 @Claude 時,Claude 會自動偵測您的訊息是否為編碼任務。編碼任務會被路由到網路上的 Claude Code。其他任何內容都會收到常規聊天回覆。在 Code 專用模式中,每個 @mention 都會進入 Claude Code。94在 Code + Chat 路由模式中,當您在 Slack 頻道或執行緒中提及 @Claude 時,Claude 會自動偵測您的訊息是否為編碼任務。編碼任務會被路由到 Claude Code 雲端工作階段。其他任何內容都會收到常規聊天回覆。在 Code 專用模式中,每個 @mention 都會進入 Claude Code。

95 95 

96您也可以明確告訴 Claude 將請求作為編碼任務處理,即使它沒有自動檢測到。96您也可以明確告訴 Claude 將請求作為編碼任務處理,即使它沒有自動檢測到。

97 97 


110此背景資訊幫助 Claude 理解問題、選擇適當的存儲庫並指導其任務方法。110此背景資訊幫助 Claude 理解問題、選擇適當的存儲庫並指導其任務方法。

111 111 

112<Warning>112<Warning>

113 當在 Slack 中調用 @Claude 時,Claude 會獲得對對話背景資訊的存取權限以更好地理解您的請求。Claude 可能會遵循背景資訊中其他訊息的指示,因此用戶應確保僅在受信任的 Slack 對話中使用 Claude。113 當在 Slack 中調用 @Claude 時,Claude 會獲得對對話背景資訊的存取權限以更好地理解您的請求。Claude 可能會遵循背景資訊中其他訊息的指示,因此使用者應確保僅在受信任的 Slack 對話中使用 Claude。

114</Warning>114</Warning>

115 115 

116<h3 id="session-flow">116<h3 id="session-flow">


1223. **工作階段建立**:在 claude.ai/code 上建立新的 Claude Code 工作階段1223. **工作階段建立**:在 claude.ai/code 上建立新的 Claude Code 工作階段

1234. **進度更新**:Claude 在工作進行時向您的 Slack 執行緒發佈狀態更新1234. **進度更新**:Claude 在工作進行時向您的 Slack 執行緒發佈狀態更新

1245. **完成**:完成後,Claude @mentions 您並提供摘要和操作按鈕1245. **完成**:完成後,Claude @mentions 您並提供摘要和操作按鈕

1256. **審查**:點擊'View Session'以查看完整記錄,或點擊'Create PR'以開啟拉取請求1256. **審查**:點擊「View Session」以查看完整記錄,或點擊「Create PR」以開啟拉取請求

126 126 

127<h2 id="user-interface-elements">127<h2 id="user-interface-elements">

128 用戶介面元素128 用戶介面元素


182 182 

183**在 Slack 中**:您將看到狀態更新、完成摘要和操作按鈕。完整記錄被保留並始終可存取。183**在 Slack 中**:您將看到狀態更新、完成摘要和操作按鈕。完整記錄被保留並始終可存取。

184 184 

185**在網路上**:完整的 Claude Code 工作階段,包含完整對話歷史記錄、所有代碼更改和檔案操作。工作階段保存在您的 Claude Code 歷史記錄中,位於 [claude.ai/code](https://claude.ai/code),您可以在其中繼續過去的工作階段、參考它們或建立拉取請求。185**在 claude.ai/code**:完整的 Claude Code 工作階段,包含完整對話歷史記錄、所有代碼更改和檔案操作。工作階段保存在您的 Claude Code 歷史記錄中,位於 [claude.ai/code](https://claude.ai/code),您可以在其中繼續過去的工作階段、參考它們或建立拉取請求。

186 186 

187對於 Enterprise 和 Team 帳戶,從 Slack 中的 Claude 建立的工作階段會自動對組織可見。有關更多詳情,請參閱 [Claude Code on the Web 共享](/docs/zh-TW/claude-code-on-the-web#share-sessions)。187對於 Enterprise 和 Team 帳戶,從 Slack 中的 Claude 建立的工作階段會自動對組織可見。有關更多詳情,請參閱 [雲端工作階段共享](/docs/zh-TW/claude-code-on-the-web#share-sessions)。

188 188 

189<h2 id="best-practices">189<h2 id="best-practices">

190 最佳實踐190 最佳實踐


196 196 

197* **具體明確**:在相關時提供檔案名稱、函式名稱或錯誤訊息。197* **具體明確**:在相關時提供檔案名稱、函式名稱或錯誤訊息。

198* **提供背景資訊**:如果從對話中不清楚,請提及儲存庫或專案。198* **提供背景資訊**:如果從對話中不清楚,請提及儲存庫或專案。

199* **定義成功**:解釋「完成」的樣子——Claude 應該撰寫測試嗎?更新文件?建立 PR?199* **定義成功**:解釋「完成」的樣子。Claude 應該撰寫測試嗎?更新文件?建立 PR?

200* **使用執行緒**:在討論錯誤或功能時在執行緒中回覆,以便 Claude 可以收集完整的背景資訊。200* **使用執行緒**:在討論錯誤或功能時在執行緒中回覆,以便 Claude 可以收集完整的背景資訊。

201 201 

202<h3 id="when-to-use-slack-vs-web">202<h3 id="when-to-use-slack-vs-web">


212</h2>212</h2>

213 213 

214<h3 id="claude-code-is-not-enabled-for-your-account">214<h3 id="claude-code-is-not-enabled-for-your-account">

215 'Claude Code 未為您的帳戶啟用'215 "Claude Code 未為您的帳戶啟用"

216</h3>216</h3>

217 217 

218此錯誤表示您的 Claude 帳戶尚未有雲端環境。使用您連接到 Slack 的同一帳戶登入 [claude.ai/code](https://claude.ai/code) 一次,並完成[網路快速入門](/docs/zh-TW/web-quickstart#connect-github),這會建立您的預設雲端環境或要求您建立它。錯誤會在您下次提及時清除。每位使用者必須個別執行此操作。218此錯誤表示您的 Claude 帳戶尚未有雲端環境。使用您連接到 Slack 的同一帳戶登入 [claude.ai/code](https://claude.ai/code) 一次,並完成[網路快速入門](/docs/zh-TW/web-quickstart#connect-github),這會建立您的預設雲端環境或要求您建立它。錯誤會在您下次提及時清除。每位使用者必須個別執行此操作。


222</h3>222</h3>

223 223 

2241. 驗證您的 Claude 帳戶已在 Claude 應用程式首頁中連接2241. 驗證您的 Claude 帳戶已在 Claude 應用程式首頁中連接

2252. 檢查您是否已啟用網路上的 Claude Code 存取2252. 檢查您的帳戶是否已啟用雲端工作階段

2263. 確保您至少有一個 GitHub 存儲庫連接到 Claude Code2263. 確保您至少有一個 GitHub 存儲庫連接到 Claude Code

227 227 

228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">


242 存儲庫未顯示242 存儲庫未顯示

243</h3>243</h3>

244 244 

2451. 在 [claude.ai/code](https://claude.ai/code) 的網路上的 Claude Code 中連接存儲庫2451. 在 [claude.ai/code](https://claude.ai/code) 連接存儲庫

2462. 驗證您對該存儲庫的 GitHub 權限2462. 驗證您對該存儲庫的 GitHub 權限

2473. 嘗試斷開並重新連接您的 GitHub 帳戶2473. 嘗試斷開並重新連接您的 GitHub 帳戶

248 248 


250 選擇了錯誤的存儲庫250 選擇了錯誤的存儲庫

251</h3>251</h3>

252 252 

2531. 點擊'Change Repo'按鈕以選擇不同的存儲庫2531. 點擊「Change Repo」按鈕以選擇不同的存儲庫

2542. 在您的請求中包括存儲庫名稱以獲得更準確的選擇2542. 在您的請求中包括存儲庫名稱以獲得更準確的選擇

255 255 

256<h3 id="authentication-errors">256<h3 id="authentication-errors">


267 267 

268* **僅 GitHub**:存儲庫必須在 GitHub 上。268* **僅 GitHub**:存儲庫必須在 GitHub 上。

269* **一次一個拉取請求**:每個工作階段可以建立一個拉取請求。269* **一次一個拉取請求**:每個工作階段可以建立一個拉取請求。

270* **需要網路存取**:使用者需要存取 Claude Code 網路版;沒有存取權限的使用者會收到標準聊天回應。270* **需要雲端工作階段存取**:使用者需要存取[雲端工作階段](/docs/zh-TW/claude-code-on-the-web);沒有存取權限的使用者會收到標準聊天回應。

271 271 

272<h2 id="related-resources">272<h2 id="related-resources">

273 相關資源273 相關資源

274</h2>274</h2>

275 275 

276<CardGroup>276<CardGroup>

277 <Card title="網路上的 Claude Code" icon="globe" href="/docs/zh-TW/claude-code-on-the-web">277 <Card title="雲端上的 Claude Code" icon="cloud" href="/docs/zh-TW/claude-code-on-the-web">

278 深入瞭解網路上的 Claude Code278 深入瞭解雲端工作階段

279 </Card>279 </Card>

280 280 

281 <Card title="Claude for Slack" icon="slack" href="https://claude.com/claude-and-slack">281 <Card title="Claude for Slack" icon="slack" href="https://claude.com/claude-and-slack">

statusline.md +3 −3

Details

86 逐步建立狀態列86 逐步建立狀態列

87</h2>87</h2>

88 88 

89此逐步說明透過手動建立顯示目前模型、工作目錄和 context window 使用百分比的狀態列來展示幕後發生的情況。89此逐步說明透過手動建立顯示目前模型、工作目錄和 context window 使用百分比的狀態列來展示 `/statusline` 為您設定的內容。

90 90 

91<Note>使用 [`/statusline`](#use-the-%2Fstatusline-command) 和您想要的內容描述會自動為您設定所有這些。</Note>91<Note>使用 [`/statusline`](#use-the-%2Fstatusline-command) 和您想要的內容描述會自動為您設定所有這些。</Note>

92 92 


860 速率限制使用情況860 速率限制使用情況

861</h3>861</h3>

862 862 

863在狀態列中顯示 Claude.ai 訂閱速率限制使用情況。`rate_limits` 物件包含滾動 `five_hour` 視窗和每週 `seven_day` 視窗。每個視窗提供 `used_percentage`(0 到 100)和 `resets_at`(Unix 紀元秒,視窗重設時)。863在狀態列中顯示 claude.ai 訂閱速率限制使用情況。`rate_limits` 物件包含滾動 `five_hour` 視窗和每週 `seven_day` 視窗。每個視窗提供 `used_percentage`(0 到 100)和 `resets_at`(Unix 紀元秒,視窗重設時)。

864 864 

865在具有支出限制的 Claude 應用程式閘道後面,`rate_limits` 攜帶 `spend_limit`,其中包含適用於您的支出限制的相同兩個欄位,除了其 `used_percentage` 可以在您超過限制後超過 100。需要 Claude Code v2.1.251 或更新版本。865在具有支出限制的 Claude 應用程式閘道後面,`rate_limits` 攜帶 `spend_limit`,其中包含適用於您的支出限制的相同兩個欄位,除了其 `used_percentage` 可以在您超過限制後超過 100。需要 Claude Code v2.1.251 或更新版本。

866 866 

867`rate_limits` 物件僅對 Claude.ai Pro 和 Max 訂閱者或具有支出限制的 Claude 應用程式閘道後面出現,並且僅在第一次 API 回應後出現。每個指令碼優雅地處理不存在的欄位:867`rate_limits` 物件僅對 claude.ai Pro 和 Max 訂閱者或具有支出限制的 Claude 應用程式閘道後面出現,並且僅在第一次 API 回應後出現。每個指令碼優雅地處理不存在的欄位:

868 868 

869<CodeGroup>869<CodeGroup>

870 ```bash Bash theme={null}870 ```bash Bash theme={null}

sub-agents.md +14 −9

Details

32 32 

33Claude Code 包括內建 subagents,Claude 在適當時會自動使用。每個都繼承父對話的權限;大多數以受限的工具集執行。33Claude Code 包括內建 subagents,Claude 在適當時會自動使用。每個都繼承父對話的權限;大多數以受限的工具集執行。

34 34 

35Explore 和 Plan 會跳過您的 CLAUDE.md 檔案和父工作階段的 git status,以保持研究快速且經濟高效。其他所有內建和[自訂 subagent](#configure-subagents) 都會載入兩者。如需了解到達 subagent 的完整詳細資訊,請參閱[啟動時載入的內容](#what-loads-at-startup)。35Explore 和 Plan 會跳過您的 CLAUDE.md 檔案和父工作階段的 git status,以保持研究快速且經濟高效。其他所有內建和[自訂 subagent](#configure-subagents) 都會載入兩者,除非其定義設定 [`omitClaudeMd`](#supported-frontmatter-fields) 欄位以跳過使用者、專案和本機 CLAUDE.md 檔案。如需了解到達 subagent 的完整詳細資訊,請參閱[啟動時載入的內容](#what-loads-at-startup)。

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233`--agents` 標誌接受 JSON,具有 `prompt` 欄位加上這些 [frontmatter](#supported-frontmatter-fields) 欄位:`description`、`tools`、`disallowedTools`、`model`、`permissionMode`、`mcpServers`、`hooks`、`maxTurns`、`skills`、`initialPrompt`、`memory`、`effort`、`background` 和 `isolation`。使用 `prompt` 作為系統提示,等同於基於檔案的 subagents 中的 markdown 主體。JSON 中的每個頂級鍵是代理的名稱。不要以 `-` 開頭的名稱。233`--agents` 標誌接受 JSON,具有 `prompt` 欄位加上這些 [frontmatter](#supported-frontmatter-fields) 欄位:`description`、`tools`、`disallowedTools`、`model`、`permissionMode`、`mcpServers`、`hooks`、`maxTurns`、`skills`、`initialPrompt`、`memory`、`effort`、`background`、`omitClaudeMd` 和 `isolation`。使用 `prompt` 作為系統提示,等同於基於檔案的 subagents 中的 markdown 主體。JSON 中的每個頂級鍵是代理的名稱。不要以 `-` 開頭的名稱。

234 234 

235關於 Claude Code 對無法載入的值所做的操作,以及跳過該檢查的標誌和環境變數,請參閱 [`Invalid --agents configuration`](/docs/zh-TW/errors#invalid-agents-configuration)。235關於 Claude Code 對無法載入的值所做的操作,以及跳過該檢查的標誌和環境變數,請參閱 [`Invalid --agents configuration`](/docs/zh-TW/errors#invalid-agents-configuration)。

236 236 


313| `hooks` | 否 | [Lifecycle hooks](#define-hooks-for-subagents) 限定於此 subagent。針對 [plugin subagents](#choose-the-subagent-scope) 被忽略 |313| `hooks` | 否 | [Lifecycle hooks](#define-hooks-for-subagents) 限定於此 subagent。針對 [plugin subagents](#choose-the-subagent-scope) 被忽略 |

314| `memory` | 否 | [Persistent memory scope](#enable-persistent-memory):`user`、`project` 或 `local`。啟用跨工作階段學習 |314| `memory` | 否 | [Persistent memory scope](#enable-persistent-memory):`user`、`project` 或 `local`。啟用跨工作階段學習 |

315| `background` | 否 | 設定為 `true` 以即使 Claude 要求在前景執行也保持此 subagent 在背景。其中 [fork mode](#turn-fork-mode-on-or-off) 開啟時,Claude Code 已經在 [background](#run-subagents-in-foreground-or-background) 中執行 Claude 產生的 subagents |315| `background` | 否 | 設定為 `true` 以即使 Claude 要求在前景執行也保持此 subagent 在背景。其中 [fork mode](#turn-fork-mode-on-or-off) 開啟時,Claude Code 已經在 [background](#run-subagents-in-foreground-or-background) 中執行 Claude 產生的 subagents |

316| `omitClaudeMd` | 否 | 設定為 `true` 以啟動此 subagent 而不使用使用者、專案和本機 CLAUDE.md 檔案;[managed policy files](/docs/zh-TW/memory#how-claude-md-files-load) 仍然載入,除了 [managed subagents](#choose-the-subagent-scope)。將其用於從 [delegation prompt](#what-loads-at-startup) 獲取所需一切的 subagents。當代理透過 `--agent` 或 `agent` 設定作為主工作階段代理執行時被忽略。需要 Claude Code v2.1.271 或更高版本 |

316| `effort` | 否 | 此 subagent 活動時的努力程度。覆蓋工作階段努力程度。預設:從工作階段繼承。選項:`low`、`medium`、`high`、`xhigh`、`max`;可用的層級取決於模型 |317| `effort` | 否 | 此 subagent 活動時的努力程度。覆蓋工作階段努力程度。預設:從工作階段繼承。選項:`low`、`medium`、`high`、`xhigh`、`max`;可用的層級取決於模型 |

317| `isolation` | 否 | 設定為 `worktree` 以在臨時 [git worktree](/docs/zh-TW/worktrees) 中執行 subagent,為其提供儲存庫的隔離副本,預設從您的 [default branch](/docs/zh-TW/worktrees#choose-the-base-branch) 分支,而不是父工作階段的 `HEAD`。如果 subagent 不進行任何更改,worktree 會自動清理 |318| `isolation` | 否 | 設定為 `worktree` 以在臨時 [git worktree](/docs/zh-TW/worktrees) 中執行 subagent,為其提供儲存庫的隔離副本,預設從您的 [default branch](/docs/zh-TW/worktrees#choose-the-base-branch) 分支,而不是父工作階段的 `HEAD`。如果 subagent 不進行任何更改,worktree 會自動清理 |

318| `color` | 否 | Subagent 在任務清單和文字中的顯示顏色。接受 `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink` 或 `cyan` |319| `color` | 否 | Subagent 在任務清單和文字中的顯示顏色。接受 `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink` 或 `cyan` |


439* `WaitForMcpServers`440* `WaitForMcpServers`

440* `Workflow`441* `Workflow`

441 442 

442第二個過濾器適用於在背景中執行的 subagents。除了 `Agent` 和 `ExitPlanMode`,它們遵循第一個過濾器的條件,無論 subagent 在哪裡執行,背景 subagent 保持每個 MCP 工具,但只有這些內建工具:`Read`、`Grep`、`Glob`、`Bash`、`PowerShell`、`Edit`、`Write`、`NotebookEdit`、`WebFetch`、`WebSearch`、`TodoWrite`、`Skill`、`ToolSearch`、`EnterWorktree`、`ExitWorktree`、`Monitor`、`TaskStop`、`SendMessage` 和 `Artifact`。Claude Code 從背景 subagent 移除每個其他內建工具,無論繼承或在 `tools` 欄位中列出,因此相同的定義可以在前景和背景中解析為不同的工具。移除報告沒有錯誤,除非它使 `tools` 清單 [resolving to nothing](/docs/zh-TW/errors#agent-would-be-spawned-with-zero-tools)。443第二個過濾器適用於在背景中執行的 subagents。除了 `Agent` 和 `ExitPlanMode`,它們遵循第一個過濾器的條件,無論 subagent 在哪裡執行,背景 subagent 保持每個 MCP 工具,但只有這些內建工具:`Read`、`Grep`、`Glob`、`Bash`、`PowerShell`、`Edit`、`Write`、`NotebookEdit`、`WebFetch`、`WebSearch`、`TodoWrite`、`Skill`、`ToolSearch`、`EnterWorktree`、`ExitWorktree`、`Monitor`、`TaskStop`、`SendMessage` 和 `Artifact`,加上 [`SubagentHandoff`](/docs/zh-TW/tools-reference) 用於透過它報告的 subagent。Claude Code 從背景 subagent 移除每個其他內建工具,無論繼承或在 `tools` 欄位中列出,因此相同的定義可以在前景和背景中解析為不同的工具。移除報告沒有錯誤,除非它使 `tools` 清單 [resolving to nothing](/docs/zh-TW/errors#agent-would-be-spawned-with-zero-tools)。

443 444 

444[`ListAgents`](/docs/zh-TW/cross-session-messaging) 遵循這些過濾器,如同任何內建工具:前景 subagent 在啟用跨工作階段訊息的工作階段中繼承它,背景 subagent 不保持它。445[`ListAgents`](/docs/zh-TW/cross-session-messaging) 遵循這些過濾器,如同任何內建工具:前景 subagent 在啟用跨工作階段訊息的工作階段中繼承它,背景 subagent 不保持它。

445 446 


578 579 

579主要對話的權限模式決定 Claude Code 是否使用您設定的值:580主要對話的權限模式決定 Claude Code 是否使用您設定的值:

580 581 

581* 當主要對話在 `bypassPermissions`、`acceptEdits` 或 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 時,subagent 執行在該相同模式中,Claude Code 忽略您設定的 `permissionMode`。在自動模式下,分類器使用主要對話的阻止和允許規則評估 subagent 的工具呼叫。582* 當主要對話在 `bypassPermissions`、`acceptEdits` 或 [auto mode](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 時,subagent 執行在該相同模式中,Claude Code 忽略您設定的 `permissionMode`。在自動模式下,分類器使用主要對話的阻止和允許規則評估 subagent 的工具呼叫。當 subagent 完成時,分類器也會在報告傳遞前審查其工作和最終報告,如 [How auto mode handles subagents](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 所述。

582* 當主要對話在 `default`、`dontAsk` 或 `plan` 模式時,subagent 執行在您設定的權限模式中,除了 `bypassPermissions`。宣告 `bypassPermissions` 的 subagent 改為保持主要對話的模式。`bypassPermissions` 例外需要 Claude Code v2.1.267 或更高版本。583* 當主要對話在 `default`、`dontAsk` 或 `plan` 模式時,subagent 執行在您設定的權限模式中,除了 `bypassPermissions`。宣告 `bypassPermissions` 的 subagent 改為保持主要對話的模式。`bypassPermissions` 例外需要 Claude Code v2.1.267 或更高版本。

583 584 

584`permissionMode` 接受這些值,以及 `manual` 作為 `default` 的別名:585`permissionMode` 接受這些值,以及 `manual` 作為 `default` 的別名:


884claude --agent code-reviewer885claude --agent code-reviewer

885```886```

886 887 

887Subagent 的系統提示完全替換預設 Claude Code 系統提示,就像 [`--system-prompt`](/docs/zh-TW/cli-reference) 一樣。`CLAUDE.md` 檔案和專案記憶仍然透過正常訊息流載入。代理名稱在啟動標題中顯示為 `@<name>`,以便您可以確認它是活動的。888Subagent 的系統提示完全替換預設 Claude Code 系統提示,就像 [`--system-prompt`](/docs/zh-TW/cli-reference) 一樣。`CLAUDE.md` 檔案和專案記憶仍然透過正常訊息流載入,即使代理的定義設定 [`omitClaudeMd`](#supported-frontmatter-fields)。

889 

890代理名稱在啟動標題中顯示為 `@<name>`,以便您可以確認它是活動的。

888 891 

889這適用於內建和自訂 subagents,選擇在您恢復工作階段時持續:Claude Code 會恢復代理的工具限制和模型以及對話。如果代理在您恢復時不再存在,工作階段會繼續使用預設工具,並顯示 [警告命名代理](/docs/zh-TW/errors#session-agent-no-longer-available)。對於任一情況下的系統提示,請參閱 [已恢復對話中的系統提示標誌](/docs/zh-TW/cli-reference#system-prompt-flags-in-resumed-conversations)。892這適用於內建和自訂 subagents,選擇在您恢復工作階段時持續:Claude Code 會恢復代理的工具限制和模型以及對話。如果代理在您恢復時不再存在,工作階段會繼續使用預設工具,並顯示 [警告命名代理](/docs/zh-TW/errors#session-agent-no-longer-available)。對於任一情況下的系統提示,請參閱 [已恢復對話中的系統提示標誌](/docs/zh-TW/cli-reference#system-prompt-flags-in-resumed-conversations)。

890 893 


1057 1060 

1058預設情況下,subagent 可以產生自己的 subagents,最多在主要對話下方三層。在深度限制處,Claude Code 會從除 [fork](#fork-the-current-conversation) 外的每個 subagent 中扣留 `Agent` 工具,所以限制處的 subagent 會自行執行委派的工作並返回一個摘要。fork 在限制處保持其繼承的工具列表中的 `Agent`,但工具會返回錯誤而不是產生。1061預設情況下,subagent 可以產生自己的 subagents,最多在主要對話下方三層。在深度限制處,Claude Code 會從除 [fork](#fork-the-current-conversation) 外的每個 subagent 中扣留 `Agent` 工具,所以限制處的 subagent 會自行執行委派的工作並返回一個摘要。fork 在限制處保持其繼承的工具列表中的 `Agent`,但工具會返回錯誤而不是產生。

1059 1062 

1060嵌套 subagents 適合委派的任務本身分裂成並行子任務,例如審查者 subagent 為每個發現分派驗證者,所以中間輸出永遠不會到達主要對話。只有頂級 subagent 的摘要返回給您。1063嵌套 subagents 適合委派的任務本身分裂成並行子任務,例如審查者 subagent 為每個發現分派驗證者。在互動式工作階段中,只有頂級 subagent 的摘要返回給您,中間輸出保留在 subagent 的上下文中,而不會到達主要對話:產生背景 subagents 的 subagent 在完成之前等待其結果。在 [非互動模式](/docs/zh-TW/headless) 和 Agent SDK 中,啟動 subagent 不等待,所以在其啟動器結束後完成的嵌套背景 subagent 會報告到您的主要對話。

1061 1064 

1062若要改變限制,請將 [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/zh-TW/env-vars) 設定為您想要在主要對話下方的 subagent 層數。例如,[`settings.json`](/docs/zh-TW/settings) 中的此項目將嵌套限制為兩層:1065若要改變限制,請將 [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/zh-TW/env-vars) 設定為您想要在主要對話下方的 subagent 層數。例如,[`settings.json`](/docs/zh-TW/settings) 中的此項目將嵌套限制為兩層:

1063 1066 


1111 1114 

1112* **系統提示**:代理自己的提示加上 Claude Code 附加的環境詳細資訊,而不是 Claude Code 系統提示。自訂 subagents 在 [markdown 正文](#write-subagent-files) 或 `prompt` 欄位中定義它們。內建代理有預定義的提示。1115* **系統提示**:代理自己的提示加上 Claude Code 附加的環境詳細資訊,而不是 Claude Code 系統提示。自訂 subagents 在 [markdown 正文](#write-subagent-files) 或 `prompt` 欄位中定義它們。內建代理有預定義的提示。

1113* **任務訊息**:Claude 在交接工作時編寫的委派提示。1116* **任務訊息**:Claude 在交接工作時編寫的委派提示。

1114* **CLAUDE.md 檔案**:主要對話載入的 [CLAUDE.md 層級](/docs/zh-TW/memory#how-claude-md-files-load) 的每個級別,包括 `~/.claude/CLAUDE.md`、專案規則、`CLAUDE.local.md` 和受管理的政策檔案。內建的 Explore 和 Plan 代理跳過這個。1117* **CLAUDE.md 檔案**:主要對話載入的 [CLAUDE.md 層級](/docs/zh-TW/memory#how-claude-md-files-load) 的每個級別,包括 `~/.claude/CLAUDE.md`、專案規則、`CLAUDE.local.md`、受管理的政策檔案和任何 [`AGENTS.md` 檔案](/docs/zh-TW/memory#agents-md) 作為專案指令載入。內建的 Explore 和 Plan 代理跳過這個。subagent 的定義設定 [`omitClaudeMd`](#supported-frontmatter-fields) 時,只載入受管理的政策檔案,或當定義來自 [受管理設定](#choose-the-subagent-scope) 時完全不載入。

1115* **Git 狀態**:在父工作階段開始時拍攝的快照。當工作目錄不是 Git 儲存庫或當 [`includeGitInstructions`](/docs/zh-TW/settings-reference#includegitinstructions) 為 `false` 時不存在。Explore 和 Plan 無論如何都跳過它。1118* **Git 狀態**:在父工作階段開始時拍攝的快照。當工作目錄不是 Git 儲存庫或當 [`includeGitInstructions`](/docs/zh-TW/settings-reference#includegitinstructions) 為 `false` 時不存在。Explore 和 Plan 無論如何都跳過它。

1116* **預載入的技能**:代理的 [`skills` 欄位](#preload-skills-into-subagents) 中命名的任何技能的完整內容。內建代理不預載入技能。1119* **預載入的技能**:代理的 [`skills` 欄位](#preload-skills-into-subagents) 中命名的任何技能的完整內容。內建代理不預載入技能。

1117* **同級名單**:系統提醒,列出 `main` 和工作階段中的每個其他命名代理,每個都是 [`SendMessage`](#resume-subagents) 的有效 `to` 值。需要 Claude Code v2.1.206 或更新版本。名單僅在 subagent 的工具包括 `SendMessage` 且至少有一個其他代理有名稱時出現,無論 Claude 在產生時命名它還是它作為 [agent teams](/docs/zh-TW/agent-teams) 隊友執行。它是在 subagent 啟動時拍攝的快照,所以稍後命名的代理不會出現。1120* **同級名單**:系統提醒,列出 `main` 和工作階段中的每個其他命名代理,每個都是 [`SendMessage`](#resume-subagents) 的有效 `to` 值。需要 Claude Code v2.1.206 或更新版本。名單僅在 subagent 的工具包括 `SendMessage` 且至少有一個其他代理有名稱時出現,無論 Claude 在產生時命名它還是它作為 [agent teams](/docs/zh-TW/agent-teams) 隊友執行。它是在 subagent 啟動時拍攝的快照,所以稍後命名的代理不會出現。

1118 1121 

1119Explore 和 Plan 是唯一省略 CLAUDE.md 和 git 狀態的 subagents。沒有 frontmatter 欄位或每個代理設定來改變哪些代理跳過它們。1122若要啟動您自己的 subagents 而不使用使用者、專案和本地 CLAUDE.md 檔案,請在其 frontmatter 中設定 [`omitClaudeMd: true`](#supported-frontmatter-fields) 或 `--agents` JSON。

1123 

1124主要對話仍然有您的完整 CLAUDE.md 當它讀取這些 subagents 的結果時,所以大多數規則不需要到達 subagent 本身。如果規則必須,例如「忽略 `vendor/` 目錄」,在您委派時給 Claude 的提示中重新陳述它。

1120 1125 

1121主要對話使用完整 CLAUDE.md 上下文讀取 Explore 和 Plan 結果,所以大多數規則不需要到達 subagent 本身。如果規則必須,例如「忽略 `vendor/` 目錄」,在您委派時給 Claude 的提示中重新陳述它。1126您無法改變哪些 subagents 接收 git 狀態。只有 Explore 和 Plan 跳過它。

1122 1127 

1123某些主要對話狀態永遠不會到達非 fork subagent:1128某些主要對話狀態永遠不會到達非 fork subagent:

1124 1129 

Details

152 152 

153 <tr>153 <tr>

154 <td>身份驗證</td>154 <td>身份驗證</td>

155 <td>Claude.ai SSO 或電子郵件</td>155 <td>claude.ai SSO 或電子郵件</td>

156 <td>API 金鑰或 [Console 登入(無需 API 金鑰)](/docs/zh-TW/authentication#sign-in-without-an-api-key)</td>156 <td>API 金鑰或 [Console 登入(無需 API 金鑰)](/docs/zh-TW/authentication#sign-in-without-an-api-key)</td>

157 <td>API 金鑰或 AWS 認證</td>157 <td>API 金鑰或 AWS 認證</td>

158 <td>API 金鑰或 AWS 認證</td>158 <td>API 金鑰或 AWS 認證</td>

tools-reference.md +16 −10

Details

27| `CronList` | 列出工作階段中的所有排程任務 | 否 |27| `CronList` | 列出工作階段中的所有排程任務 | 否 |

28| `Edit` | 對特定檔案進行目標編輯。請參閱 [Edit 工具行為](#edit-tool-behavior) | 是 |28| `Edit` | 對特定檔案進行目標編輯。請參閱 [Edit 工具行為](#edit-tool-behavior) | 是 |

29| `EndConversation` | 結束工作階段,在持續濫用輸入的罕見情況下或當您要求 Claude 演示該工具時。需要 Claude Code v2.1.213 或更新版本。請參閱 [EndConversation 工具行為](#endconversation-tool-behavior) | 否 |29| `EndConversation` | 結束工作階段,在持續濫用輸入的罕見情況下或當您要求 Claude 演示該工具時。需要 Claude Code v2.1.213 或更新版本。請參閱 [EndConversation 工具行為](#endconversation-tool-behavior) | 否 |

30| `EnterPlanMode` | 切換到計畫模式以在編碼前設計方法 | 否 |30| `EnterPlanMode` | 切換到 Plan Mode 以在編碼前設計方法 | 否 |

31| `EnterWorktree` | 建立隔離的 [git worktree](/docs/zh-TW/worktrees) 並切換到它。傳遞 `path` 以切換到現有 worktree,而不是建立新的。首次進入時,目標可能是目前儲存庫的 worktree,或在多儲存庫工作區中,是其中嵌套的儲存庫的 worktree。在 v2.1.203 之前,嵌套儲存庫的 worktree 被拒絕。`.claude/worktrees/` 外的 `path` 會在進入前提示您的批准,因為它會移動工作階段的工作目錄和寫入存取權限到該位置。新 worktree 建立和 `.claude/worktrees/` 下的路徑不會提示。在 v2.1.206 之前,Claude 進入 `.claude/worktrees/` 外的路徑而不提示。從 worktree 工作階段內,或從具有固定工作目錄的子代理(例如 [`isolation: worktree`](/docs/zh-TW/sub-agents#supported-frontmatter-fields)),只有 `path` 形式可用,目標必須在工作階段儲存庫的 `.claude/worktrees/` 下 | 是 |31| `EnterWorktree` | 建立隔離的 [git worktree](/docs/zh-TW/worktrees) 並切換到它。傳遞 `path` 以切換到現有 worktree,而不是建立新的。首次進入時,目標可能是目前儲存庫的 worktree,或在多儲存庫工作區中,是其中嵌套的儲存庫的 worktree。在 v2.1.203 之前,嵌套儲存庫的 worktree 被拒絕。`.claude/worktrees/` 外的 `path` 會在進入前提示您的批准,因為它會移動工作階段的工作目錄和寫入存取權限到該位置。新 worktree 建立和 `.claude/worktrees/` 下的路徑不會提示。在 v2.1.206 之前,Claude 進入 `.claude/worktrees/` 外的路徑而不提示。從 worktree 工作階段內,或從具有固定工作目錄的子代理(例如 [`isolation: worktree`](/docs/zh-TW/sub-agents#supported-frontmatter-fields)),只有 `path` 形式可用,目標必須在工作階段儲存庫的 `.claude/worktrees/` 下 | 是 |

32| `ExitPlanMode` | 呈現計畫以供批准並退出計畫模式 | 是 |32| `ExitPlanMode` | 呈現計畫以供批准並退出 Plan Mode | 是 |

33| `ExitWorktree` | 退出 worktree 工作階段並返回原始目錄。不適用於已在自己的工作目錄中執行的子代理,例如 [`isolation: worktree`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) | 否 |33| `ExitWorktree` | 退出 worktree 工作階段並返回原始目錄。不適用於已在自己的工作目錄中執行的子代理,例如 [`isolation: worktree`](/docs/zh-TW/sub-agents#supported-frontmatter-fields) | 否 |

34| `Glob` | 根據模式匹配尋找檔案。請參閱 [Glob 工具行為](#glob-tool-behavior) | 否 |34| `Glob` | 根據模式匹配尋找檔案。預設情況下在 macOS、Linux 和 WSL 上不存在。請參閱 [Glob 工具行為](#glob-tool-behavior) | 否 |

35| `Grep` | 在檔案內容中搜尋模式。請參閱 [Grep 工具行為](#grep-tool-behavior) | 否 |35| `Grep` | 在檔案內容中搜尋模式。預設情況下在 macOS、Linux 和 WSL 上不存在。請參閱 [Grep 工具行為](#grep-tool-behavior) | 否 |

36| `ListAgents` | 列出 Claude 可以使用 `SendMessage` 傳訊的代理:工作階段中的子代理、[代理團隊](/docs/zh-TW/agent-teams)隊友、您的其他本機 Claude Code 工作階段,以及當此工作階段連接到[遠端控制](/docs/zh-TW/remote-control)時,您的 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 工作階段和您在其他機器上的遠端控制工作階段。支援 `/list-agents` 命令。請參閱[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging)。需要 Claude Code v2.1.224 或更新版本,且僅在[啟用跨工作階段傳訊](/docs/zh-TW/cross-session-messaging#availability)的工作階段中出現。隊友列和顯示此工作階段自己名稱的第一行需要 v2.1.239 或更新版本 | 否 |36| `ListAgents` | 列出 Claude 可以使用 `SendMessage` 傳訊的代理:工作階段中的子代理、[代理團隊](/docs/zh-TW/agent-teams)隊友、您的其他本機 Claude Code 工作階段,以及當此工作階段連接到[遠端控制](/docs/zh-TW/remote-control)時,您的[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)和您在其他機器上的遠端控制工作階段。支援 `/list-agents` 命令。請參閱[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging)。需要 Claude Code v2.1.224 或更新版本,且僅在[啟用跨工作階段傳訊](/docs/zh-TW/cross-session-messaging#availability)的工作階段中出現。隊友列和顯示此工作階段自己名稱的第一行需要 v2.1.239 或更新版本 | 否 |

37| `ListMcpResourcesTool` | 列出連接的 [MCP 伺服器](/docs/zh-TW/mcp)公開的資源 | 否 |37| `ListMcpResourcesTool` | 列出連接的 [MCP 伺服器](/docs/zh-TW/mcp)公開的資源 | 否 |

38| `LSP` | 透過語言伺服器的程式碼智慧:跳到定義、尋找參考、報告型別錯誤和警告。請參閱 [LSP 工具行為](#lsp-tool-behavior) | 否 |38| `LSP` | 透過語言伺服器的程式碼智慧:跳到定義、尋找參考、報告型別錯誤和警告。請參閱 [LSP 工具行為](#lsp-tool-behavior) | 否 |

39| `Monitor` | 在背景執行命令並將每個輸出行回饋給 Claude,以便它可以對日誌項目、檔案變更或輪詢狀態做出反應。也可以開啟 WebSocket 並將每個傳入訊息視為事件。請參閱 [Monitor 工具](#monitor-tool) | 是 |39| `Monitor` | 在背景執行命令並將每個輸出行回饋給 Claude,以便它可以對日誌項目、檔案變更或輪詢狀態做出反應。也可以開啟 WebSocket 並將每個傳入訊息視為事件。請參閱 [Monitor 工具](#monitor-tool) | 是 |


47| `ScheduleWakeup` | 重新排程[自我調整 `/loop`](/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval)的下一次迭代。Claude 在每次迭代結束時呼叫此項以選擇下一次執行的時間,介於一分鐘到一小時之間;您不直接呼叫它。若要改為結束迴圈,Claude 使用 `stop: true` 呼叫它,這會取消待處理的喚醒。`stop` 欄位需要 Claude Code v2.1.202 或更新版本。待處理的喚醒出現在[停止 hook 輸入](/docs/zh-TW/hooks#stop-input)中的 `session_crons` 中 | 否 |47| `ScheduleWakeup` | 重新排程[自我調整 `/loop`](/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval)的下一次迭代。Claude 在每次迭代結束時呼叫此項以選擇下一次執行的時間,介於一分鐘到一小時之間;您不直接呼叫它。若要改為結束迴圈,Claude 使用 `stop: true` 呼叫它,這會取消待處理的喚醒。`stop` 欄位需要 Claude Code v2.1.202 或更新版本。待處理的喚醒出現在[停止 hook 輸入](/docs/zh-TW/hooks#stop-input)中的 `session_crons` 中 | 否 |

48| `SendFeedback` | 起草關於 Claude Code 的回饋報告,涵蓋產品問題或 Claude 在工作階段中的自身行為,並在您的機器上排隊供您審查。Claude Code 在您選擇傳送草稿之前不會傳送任何內容。請參閱 [SendFeedback 工具行為](#sendfeedback-tool-behavior)。需要 Claude Code v2.1.238 或更新版本 | 否 |48| `SendFeedback` | 起草關於 Claude Code 的回饋報告,涵蓋產品問題或 Claude 在工作階段中的自身行為,並在您的機器上排隊供您審查。Claude Code 在您選擇傳送草稿之前不會傳送任何內容。請參閱 [SendFeedback 工具行為](#sendfeedback-tool-behavior)。需要 Claude Code v2.1.238 或更新版本 | 否 |

49| `SendMessage` | 傳送訊息給另一個代理:[代理團隊](/docs/zh-TW/agent-teams)隊友、[它按代理 ID 或名稱復原的子代理](/docs/zh-TW/sub-agents#resume-subagents),或 您的其他 Claude Code 工作階段之一,在此機器上或超越它。傳訊其他工作階段需要 Claude Code v2.1.224 或更新版本。[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging)涵蓋 Claude 可以到達的工作階段、[訊息到達時的樣子](/docs/zh-TW/cross-session-messaging#what-a-message-looks-like)以及 [Claude 如何在另一個工作階段閒置時收到通知](/docs/zh-TW/cross-session-messaging#get-a-notice-when-another-session-goes-idle)。Claude 可以包含可選的 `summary` 輸入,通常 5-10 個字,Claude Code 顯示為單行預覽。當 Claude 在[純文字訊息](/docs/zh-TW/cross-session-messaging#limitations)上省略它時,Claude Code 使用訊息的第一行作為摘要。Claude Code 使用省略號截斷超過 200 個字元的摘要 | 否 |49| `SendMessage` | 傳送訊息給另一個代理:[代理團隊](/docs/zh-TW/agent-teams)隊友、[它按代理 ID 或名稱復原的子代理](/docs/zh-TW/sub-agents#resume-subagents),或 您的其他 Claude Code 工作階段之一,在此機器上或超越它。傳訊其他工作階段需要 Claude Code v2.1.224 或更新版本。[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging)涵蓋 Claude 可以到達的工作階段、[訊息到達時的樣子](/docs/zh-TW/cross-session-messaging#what-a-message-looks-like)以及 [Claude 如何在另一個工作階段閒置時收到通知](/docs/zh-TW/cross-session-messaging#get-a-notice-when-another-session-goes-idle)。Claude 可以包含可選的 `summary` 輸入,通常 5-10 個字,Claude Code 顯示為單行預覽。當 Claude 在[純文字訊息](/docs/zh-TW/cross-session-messaging#limitations)上省略它時,Claude Code 使用訊息的第一行作為摘要。Claude Code 使用省略號截斷超過 200 個字元的摘要 | 否 |

50| `SendUserFile` | 從工作階段傳送檔案給您,帶有可選的標題,以便生成的報告、圖表、螢幕擷取畫面或內建成品到達您的裝置,而不是僅在文字記錄中提及。從 v2.1.196 開始,可選的 `display` 輸入控制呈現:`render` 在用戶端中內聯開啟檔案,`attach` 僅顯示下載卡,未設定時用戶端根據檔案型別決定。當[遠端控制](/docs/zh-TW/remote-control)用戶端連接或工作階段在受管雲端環境(例如 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web))中執行時可用。傳遞透過 Anthropic 託管的基礎設施執行,因此該工具在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用 | 否 |50| `SendUserFile` | 從工作階段傳送檔案給您,帶有可選的標題,以便生成的報告、圖表、螢幕擷取畫面或內建成品到達您的裝置,而不是僅在文字記錄中提及。從 v2.1.196 開始,可選的 `display` 輸入控制呈現:`render` 在用戶端中內聯開啟檔案,`attach` 僅顯示下載卡,未設定時用戶端根據檔案型別決定。當[遠端控制](/docs/zh-TW/remote-control)用戶端連接或在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)中時可用。傳遞透過 Anthropic 託管的基礎設施執行,因此該工具在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用 | 否 |

51| `ShareOnboardingGuide` | 上傳 `ONBOARDING.md` 並返回隊友可以在 Claude Code 中開啟的分享連結。在指南寫入後從 `/team-onboarding` 呼叫。適用於 Pro、Max、Team 和 Enterprise 方案上的 claude.ai 訂閱者 | 是 |51| `ShareOnboardingGuide` | 上傳 `ONBOARDING.md` 並返回隊友可以在 Claude Code 中開啟的分享連結。在指南寫入後從 `/team-onboarding` 呼叫。適用於 Pro、Max、Team 和 Enterprise 方案上的 claude.ai 訂閱者 | 是 |

52| `Skill` | 在主對話中執行[技能](/docs/zh-TW/skills#control-who-invokes-a-skill) | 是 |52| `Skill` | 在主對話中執行[技能](/docs/zh-TW/skills#control-who-invokes-a-skill) | 是 |

53| `SubagentHandback` | 將子代理的最終報告傳遞給接收該子代理結果的任何對話。僅在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中提供,給 Agent 工具在本機執行的子代理,除了[分支](/docs/zh-TW/sub-agents#fork-the-current-conversation),並在終端 CLI、IDE 擴充功能、雲端工作階段和 Agent SDK 中可用;分類器在傳遞報告前審查它。需要 Claude Code v2.1.271 或更新版本 | 否 |

53| `TaskCreate` | 在任務清單中建立新任務。預設情況下僅在[任務工具可用性](#task-tool-availability)下列出的模型上提供,在其他模型上當您選擇加入時提供 | 否 |54| `TaskCreate` | 在任務清單中建立新任務。預設情況下僅在[任務工具可用性](#task-tool-availability)下列出的模型上提供,在其他模型上當您選擇加入時提供 | 否 |

54| `TaskGet` | 檢索特定任務的完整詳細資訊。預設情況下僅在[任務工具可用性](#task-tool-availability)下列出的模型上提供,在其他模型上當您選擇加入時提供 | 否 |55| `TaskGet` | 檢索特定任務的完整詳細資訊。預設情況下僅在[任務工具可用性](#task-tool-availability)下列出的模型上提供,在其他模型上當您選擇加入時提供 | 否 |

55| `TaskList` | 列出所有任務及其目前狀態。預設情況下僅在[任務工具可用性](#task-tool-availability)下列出的模型上提供,在其他模型上當您選擇加入時提供 | 否 |56| `TaskList` | 列出所有任務及其目前狀態。預設情況下僅在[任務工具可用性](#task-tool-availability)下列出的模型上提供,在其他模型上當您選擇加入時提供 | 否 |


99 Agent 工具行為100 Agent 工具行為

100</h2>101</h2>

101 102 

102Agent 工具在獨立的內容視窗中生成一個子代理。子代理自主地完成其任務,然後向父對話返回單一文字結果。父對話看不到子代理的中間工具呼叫或輸出,只能看到最終結果。啟用 [agent teams](/docs/zh-TW/agent-teams) 時,帶有 `name` 的呼叫可以啟動一個 [teammate](/docs/zh-TW/agent-teams#how-claude-starts-agent-teams),它透過團隊訊息而不是返回結果來報告。103Agent 工具在獨立的內容視窗中生成一個子代理。子代理自主地完成其任務,然後向父對話返回其結果。父對話看不到子代理的中間工具呼叫或輸出,只能看到最終結果。啟用 [agent teams](/docs/zh-TW/agent-teams) 時,帶有 `name` 的呼叫可以啟動一個 [teammate](/docs/zh-TW/agent-teams#how-claude-starts-agent-teams),它透過團隊訊息而不是返回結果來報告。

103 104 

104若要限制子代理執行的回合數,請在 [subagent definition](/docs/zh-TW/sub-agents#supported-frontmatter-fields) 中設定 `maxTurns`。當子代理達到限制時,Claude Code 會將返回的結果標記為部分輸出,Claude 可以 [resume the subagent](/docs/zh-TW/sub-agents#resume-subagents) 以繼續。105若要限制子代理執行的回合數,請在 [subagent definition](/docs/zh-TW/sub-agents#supported-frontmatter-fields) 中設定 `maxTurns`。當子代理達到限制時,Claude Code 會將返回的結果標記為部分輸出,Claude 可以 [resume the subagent](/docs/zh-TW/sub-agents#resume-subagents) 以繼續。

105 106 


112* **僅設定 `disallowedTools`**:子代理獲得除了列出的工具外的每個父工具。113* **僅設定 `disallowedTools`**:子代理獲得除了列出的工具外的每個父工具。

113* **兩者都設定**:`disallowedTools` 優先。同時列在兩者中的工具會被移除。114* **兩者都設定**:`disallowedTools` 優先。同時列在兩者中的工具會被移除。

114 115 

115在每種情況下,解析的集合都限於 [tools available to subagents](/docs/zh-TW/sub-agents#available-tools):不可用於子代理的工具永遠不會被授予,即使在 `tools` 中列出也是如此。116在每種情況下,解析的集合都限於 [tools available to subagents](/docs/zh-TW/sub-agents#available-tools):不可用於子代理的工具永遠不會被授予,即使在 `tools` 中列出也是如此。在 `SubagentHandback` 工具表項目中的條件成立的地方,Claude Code 也會給予子代理該工具,即使您將其留在 `tools` 之外或在 `disallowedTools` 中列出它。

116 117 

117如果子代理的 `tools` 列表中的每個項目都無法匹配可用工具,Agent 工具通常會返回一個錯誤,命名這些項目而不是啟動子代理;請參閱 [Agent would be spawned with zero tools](/docs/zh-TW/errors#agent-would-be-spawned-with-zero-tools) 以了解訊息和如何修復每個項目。118如果子代理的 `tools` 列表中的每個項目都無法匹配可用工具,Agent 工具通常會返回一個錯誤,命名這些項目而不是啟動子代理;請參閱 [Agent would be spawned with zero tools](/docs/zh-TW/errors#agent-would-be-spawned-with-zero-tools) 以了解訊息和如何修復每個項目。

118 119 


363 364 

364您可以在同一工作階段中繼續工作,Claude 會在事件到達時插入。365您可以在同一工作階段中繼續工作,Claude 會在事件到達時插入。

365 366 

367Claude 啟動的每個監視都有一個截止時間:預設為 5 分鐘,最多 30 分鐘,在 [非互動式](/docs/zh-TW/headless) 執行中使用單一提示搭配 `-p` 時最多 10 分鐘。

368 

369在截止時間時,監視結束。Claude 會收到一個通知,因此如果仍然需要,它可以重新啟動監視。

370 

366透過要求 Claude 取消監視或結束工作階段來停止監視。當您停止啟動監視的 [子代理](/docs/zh-TW/sub-agents)(例如來自 `/tasks`)時,這些監視會隨之停止。371透過要求 Claude 取消監視或結束工作階段來停止監視。當您停止啟動監視的 [子代理](/docs/zh-TW/sub-agents)(例如來自 `/tasks`)時,這些監視會隨之停止。

367 372 

368當 Monitor 執行命令時,它使用與 [Bash 相同的權限規則](/docs/zh-TW/permissions#tool-specific-permission-rules),因此您為 Bash 設定的 `allow` 和 `deny` 模式也適用於此處。當 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 處於活動狀態時,Claude Code 會擱置命名 `Monitor` 本身的允許規則,以及它捨棄的其他 [廣泛允許規則](/docs/zh-TW/permission-modes#how-the-classifier-evaluates-actions),因此分類器以與檢查 Bash 命令相同的方式檢查 Monitor 命令。373當 Monitor 執行命令時,它使用與 [Bash 相同的權限規則](/docs/zh-TW/permissions#tool-specific-permission-rules),因此您為 Bash 設定的 `allow` 和 `deny` 模式也適用於此處。當 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 處於活動狀態時,Claude Code 會擱置命名 `Monitor` 本身的允許規則,以及它捨棄的其他 [廣泛允許規則](/docs/zh-TW/permission-modes#how-the-classifier-evaluates-actions),因此分類器以與檢查 Bash 命令相同的方式檢查 Monitor 命令。


395| `url` | 是 | 要連接的端點。必須是 `ws://` 或 `wss://` URL,不含嵌入的認證或空白字元,僅使用 ASCII 字元 |400| `url` | 是 | 要連接的端點。必須是 `ws://` 或 `wss://` URL,不含嵌入的認證或空白字元,僅使用 ASCII 字元 |

396| `protocols` | 否 | 在握手期間提供的 WebSocket 子協議名稱。每個項目必須是有效的子協議權杖,且清單不能包含重複項 |401| `protocols` | 否 | 在握手期間提供的 WebSocket 子協議名稱。每個項目必須是有效的子協議權杖,且清單不能包含重複項 |

397 402 

398`timeout_ms` 和 `persistent` 輸入的行為與它們對命令的行為相同:監視在截止時間結束,除非設定 `persistent`,且 `TaskStop` 會提前取消它。403`timeout_ms` 截止時間也適用於 WebSocket 監視:監視在截止時間結束,`TaskStop` 會提前取消它。

399 404 

400開啟 WebSocket 會提示核准;在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中,分類器會改為決定。提示不提供跳過相同主機的未來提示的選項。405開啟 WebSocket 會提示核准;在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中,分類器會改為決定。提示不提供跳過相同主機的未來提示的選項。

401 406 


573Claude Code 在使用 Claude API 而非雲端提供者的您自己機器上的互動式終端工作階段中包含該工具。它將該工具排除在外:578Claude Code 在使用 Claude API 而非雲端提供者的您自己機器上的互動式終端工作階段中包含該工具。它將該工具排除在外:

574 579 

575* 非互動式 `-p` 執行和[代理 SDK](/docs/zh-TW/agent-sdk/overview) 工作階段,這些沒有螢幕來查看佇列580* 非互動式 `-p` 執行和[代理 SDK](/docs/zh-TW/agent-sdk/overview) 工作階段,這些沒有螢幕來查看佇列

576* 雲端工作階段,例如 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web),無法寫入您機器上的佇列581* [雲端工作階段](/docs/zh-TW/claude-code-on-the-web),無法寫入您機器上的佇列

577* [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 上的工作階段582* [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Claude Platform on AWS](/docs/zh-TW/claude-platform-on-aws)、[Google Cloud's Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 上的工作階段

578* 您設定 [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/zh-TW/env-vars) 或 [`DISABLE_FEEDBACK_COMMAND=1`](/docs/zh-TW/env-vars) 的工作階段,將 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 設定為任何非空值,或關閉[功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)583* 您設定 [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/zh-TW/env-vars) 或 [`DISABLE_FEEDBACK_COMMAND=1`](/docs/zh-TW/env-vars) 的工作階段,將 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 設定為任何非空值,或關閉[功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)

579* 已關閉產品回饋的組織,以及[零資料保留的組織](/docs/zh-TW/zero-data-retention#features-disabled-under-zdr)584* 已關閉產品回饋的組織,以及[零資料保留的組織](/docs/zh-TW/zero-data-retention#features-disabled-under-zdr)


609 614 

610有幾個行為會影響 Claude 收到的回應:615有幾個行為會影響 Claude 收到的回應:

611 616 

617* WebFetch 拒絕 `localhost` 和任何其他沒有點的主機名稱,例如裸露的內部網路名稱,在發出請求之前。它[返回的錯誤](/docs/zh-TW/errors#webfetch-cannot-fetch-localhost)告訴 Claude 改為透過 Bash 使用 `curl` 來到達本機伺服器。

612* HTTP URL 會自動升級為 HTTPS。618* HTTP URL 會自動升級為 HTTPS。

613* 大型頁面會在處理前被截斷至固定字元限制。619* 大型頁面會在處理前被截斷至固定字元限制。

614* WebFetch 預設會快取每個回應 15 分鐘,所以重複擷取相同 URL 會快速返回。在 Claude Code v2.1.233 或更新版本上,設定 [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/zh-TW/env-vars#variables) 以變更 WebFetch 保留每個回應的時間長度。620* WebFetch 預設會快取每個回應 15 分鐘,所以重複擷取相同 URL 會快速返回。在 Claude Code v2.1.233 或更新版本上,設定 [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/zh-TW/env-vars#variables) 以變更 WebFetch 保留每個回應的時間長度。

ultrareview.md +34 −27

Details

10 Ultrareview 是研究預覽功能。該功能、定價和可用性可能會根據反饋而變更。該命令是 `/code-review ultra`。當 ultrareview 可用於您的帳戶時,`/ultrareview` 是別名。10 Ultrareview 是研究預覽功能。該功能、定價和可用性可能會根據反饋而變更。該命令是 `/code-review ultra`。當 ultrareview 可用於您的帳戶時,`/ultrareview` 是別名。

11</Note>11</Note>

12 12 

13Ultrareview 是在 Claude Code 網路基礎設施上執行的深度程式碼審查。當您執行 `/code-review ultra` 時,Claude Code 會在遠端沙箱中啟動一群審查代理程式,以尋找您分支或拉取請求中的錯誤。13Ultrareview 是在 [雲端工作階段](/docs/zh-TW/claude-code-on-the-web)上執行的深度程式碼審查,運行於 Anthropic 的基礎設施上。當您執行 `/code-review ultra` 時,Claude Code 會在雲端沙箱中啟動一群審查代理程式,以尋找您分支或拉取請求中的錯誤。

14 14 

15與本地 `/code-review` 相比,ultrareview 提供:15與本地 `/code-review` 相比,ultrareview 提供:

16 16 

17* **更高的信號品質**:每個報告的發現都經過獨立重現和驗證,因此結果專注於真實錯誤而非風格建議17* **更高的信號品質**:每個報告的發現都經過獨立重現和驗證,因此結果專注於真實錯誤而非風格建議

18* **更廣泛的覆蓋範圍**:許多審查代理程式並行探索變更,這會發現本地審查可能遺漏的問題18* **更廣泛的覆蓋範圍**:許多審查代理程式並行探索變更,這會發現本地審查可能遺漏的問題

19* **無本地資源使用**:審查完全在遠端沙箱中執行,因此您的終端在執行期間保持空閒,可用於其他工作19* **無本地資源使用**:審查完全在雲端沙箱中執行,因此您的終端在執行期間保持空閒,可用於其他工作

20 20 

21Ultrareview 需要使用 claude.ai 帳戶進行身份驗證,因為它在 Claude Code 網路基礎設施上執行。如果您僅使用 API 金鑰登入,請先執行 `/login` 並使用 claude.ai 進行身份驗證。使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的 Claude Code 時,Ultrareview 不可用,對於已啟用零資料保留的組織也不可用。當 ultrareview 不可用時,`/code-review ultra` 會改為在您的工作階段中執行本地審查。21Ultrareview 需要使用 claude.ai 帳戶進行身份驗證,因為它在 Anthropic 的基礎設施上作為雲端工作階段執行。如果您僅使用 API 金鑰登入,請先執行 `/login` 並使用 claude.ai 進行身份驗證。使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的 Claude Code 時,Ultrareview 不可用,對於已啟用零資料保留的組織也不可用。當 ultrareview 不可用時,`/code-review ultra` 會改為在您的工作階段中執行本地審查。

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 從 CLI 執行 ultrareview24 從 CLI 執行 ultrareview


30/code-review ultra30/code-review ultra

31```31```

32 32 

33不帶引數時,ultrareview 審查您目前分支與預設分支之間的差異,包括未提交和暫存的變更。對於名稱類似認證或金鑰的檔案(例如 `.env` 和 `*.tfvars` 檔案)中的未提交變更,Claude Code 遵循[將本地儲存庫上傳到雲端工作階段](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)的規則。33不帶引數時,ultrareview 會審查您目前分支與預設分支之間的差異,包括未提交和已暫存的變更。對於名稱類似認證或金鑰的檔案(例如 `.env` 和 `*.tfvars` 檔案)的未提交變更,Claude Code 遵循[將本機儲存庫上傳到雲端工作階段](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)的規則。

34 34 

35對於分支審查,Claude Code 會打包儲存庫狀態並將其上傳到遠端沙箱;當您[審查拉取請求](#review-a-pull-request)時,Claude Code 不會從您的機器上傳任何內容。35對於分支審查,Claude Code 會組合儲存庫狀態並將其上傳到雲端沙箱;當您[審查提取請求](#review-a-pull-request)時,Claude Code 不會從您的機器上傳任何內容。

36 36 

37啟動前,Claude Code 會顯示確認對話框,其中包含審查範圍、您剩餘的免費執行次數和估計成本;對於分支審查,範圍包括檔案和行數。確認後,審查會在背景中繼續進行,您可以繼續使用您的工作階段。37啟動前,Claude Code 會顯示確認對話方塊,其中包含審查範圍、您剩餘的免費執行次數和估計成本;對於分支審查,範圍包括檔案和行數。確認後,審查會在背景中繼續進行,同時您可以繼續使用您的工作階段。

38 38 

39該命令僅在您使用 `/code-review ultra` 叫用時執行;Claude 不會自動啟動 ultrareview。39該命令僅在您使用 `/code-review ultra` 叫用時執行;Claude 不會自行啟動 ultrareview。

40 40 

41<h3 id="review-against-a-different-base">41<h3 id="review-against-a-different-base">

42 針對不同的基礎進行審查42 針對不同的基礎進行審查

43</h3>43</h3>

44 44 

45若要與預設分支以外的基礎進行比較,請傳遞分支名稱。此範例針對 `develop` 而不是預設分支審查您的目前分支:45若要與預設分支以外的基礎進行比較,請傳遞分支名稱。此範例會針對 `develop` 而不是預設分支審查您的目前分支:

46 46 

47```text theme={null}47```text theme={null}

48/code-review ultra develop48/code-review ultra develop

49```49```

50 50 

51基礎分支不需要存在於您的本地複製中;Claude Code 會從 `origin` 擷取它。如果名稱有拼寫錯誤,Claude Code 會在錯誤中建議最接近的分支名稱。51基礎分支不需要存在於您的本機複製中;Claude Code 會從 `origin` 擷取它。如果名稱有拼寫錯誤,Claude Code 會在錯誤中建議最接近的分支名稱。

52 52 

53<h3 id="review-a-pull-request">53<h3 id="review-a-pull-request">

54 審查拉取請求54 審查提取請求

55</h3>55</h3>

56 56 

57若要審查 GitHub 拉取請求而不是本地分支,請傳遞 PR 編號:57若要審查 GitHub 提取請求而不是本機分支,請傳遞 PR 編號:

58 58 

59```text theme={null}59```text theme={null}

60/code-review ultra 123460/code-review ultra 1234


62 62 

63該命令也接受 `#1234`、`PR 1234` 和貼上的 PR URL;貼上的 URL 必須指向您目前目錄中的儲存庫。63該命令也接受 `#1234`、`PR 1234` 和貼上的 PR URL;貼上的 URL 必須指向您目前目錄中的儲存庫。

64 64 

65在 PR 模式中,遠端沙箱直接從主機複製拉取請求,而不是打包您的本地工作樹。PR 模式適用於 `github.com` 上的儲存庫以及管理員已連接到 Claude Code 的 [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server) 實例。65在 PR 模式中,雲端沙箱直接從主機複製提取請求,而不是組合您的本機工作樹。PR 模式適用於 `github.com` 上的儲存庫和[GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server) 執行個體上的儲存庫,這些執行個體已由擁有者連接到 Claude Code。

66 66 

67對於 `github.com` 上的儲存庫,沙箱使用連接到您 Claude 帳戶的 GitHub 帳戶進行複製,因此該帳戶必須能夠讀取 PR 的儲存庫。Claude Code 在建立雲端工作階段前檢查此項,除非您已設定 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars#variables),並在[未連接帳戶](/docs/zh-TW/errors#no-github-account-is-connected-to-your-claude-account)或[帳戶無法看到儲存庫](/docs/zh-TW/errors#your-connected-github-account-cant-see-the-repository)時拒絕啟動;拒絕會說明修復方法。在 v2.1.248 之前,Claude Code 在啟動前不檢查此項。67對於 `github.com` 上的儲存庫,沙箱使用連接到您 Claude 帳戶的 GitHub 帳戶進行複製,因此該帳戶必須能夠讀取 PR 的儲存庫。Claude Code 在建立雲端工作階段前檢查此項,除非您已設定 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars#variables),並在[未連接帳戶](/docs/zh-TW/errors#no-github-account-is-connected-to-your-claude-account)或[帳戶無法看到儲存庫](/docs/zh-TW/errors#your-connected-github-account-cant-see-the-repository)時拒絕啟動;拒絕會命名修正方式。在 v2.1.248 之前,Claude Code 在啟動前不檢查此項。

68 68 

69執行 [`/web-setup`](/docs/zh-TW/web-quickstart#connect-from-your-terminal) 以將您的 GitHub CLI 登入連接到您的 Claude 帳戶。69執行 [`/web-setup`](/docs/zh-TW/web-quickstart#connect-from-your-terminal) 以將您的 GitHub CLI 登入連接到您的 Claude 帳戶。

70 70 

71<h3 id="post-findings-to-the-pull-request">71<h3 id="post-findings-to-the-pull-request">

72 將發現結果發佈到拉取請求72 將發現結果發佈到提取請求

73</h3>73</h3>

74 74 

75在 Claude Code v2.1.227 或更新版本上,當您在 `github.com` 上審查拉取請求時,您可以讓 Claude 將完成的發現結果作為來自您自己 GitHub 帳戶的單一純文字評論發佈到 PR。該評論不是審查或批准,並以「由 Claude Code 生成」的備註結尾。當您審查分支或 GitHub Enterprise Server 拉取請求時,Claude Code 僅在您的工作階段中顯示發現結果。75在 Claude Code v2.1.227 或更新版本上,當您在 `github.com` 上審查提取請求時,您可以讓 Claude 將完成的發現結果作為來自您自己 GitHub 帳戶的單一純文字評論發佈到 PR。該評論不是審查或核准,並以「由 Claude Code 生成」的備註結尾。當您審查分支或 GitHub Enterprise Server 提取請求時,Claude Code 只會在您的工作階段中顯示發現結果。

76 76 

77Claude Code 絕不會發佈,除非您在該執行中選擇發佈,且 `--no-post` 是預設值。發佈是您為每次執行所做的選擇:77Claude Code 絕不會發佈,除非您在該執行中選擇發佈,且 `--no-post` 是預設值。發佈是您為每次執行所做的選擇:

78 78 

79* **互動式**:在啟動對話框中,選擇**執行並將發現結果作為我發佈到 PR**。如果您將 `--post` 新增到命令中,如 `/code-review ultra 1234 --post`,Claude Code 會預先選擇該選擇,但仍會在啟動前詢問。79* **互動式**:在啟動對話方塊中,選取**執行並將發現結果作為我發佈到 PR**。如果您將 `--post` 新增到命令中,如 `/code-review ultra 1234 --post`,Claude Code 會預先選取該選擇,但仍會在啟動前詢問。

80* **非互動式**:使用 `--post` 執行 [`claude ultrareview` 子命令](#run-ultrareview-non-interactively)。您透過使用該旗標執行子命令來同意發佈,因此 Claude Code 會發佈而不詢問。在 `claude -p '/code-review ultra'` 執行中,Claude Code 在發現結果到達前退出,因此不會發佈任何內容;請改用子命令。80* **非互動式**:使用 `--post` 執行 [`claude ultrareview` 子命令](#run-ultrareview-non-interactively)。您透過使用該旗標執行子命令來同意發佈,因此 Claude Code 會發佈而不詢問。在 `claude -p '/code-review ultra'` 執行中,Claude Code 在發現結果到達前退出,因此不會發佈任何內容;請改用子命令。

81 81 

82Claude Code 不會從您的機器發佈。它將發現結果傳送到 [Claude Code on the web](/docs/zh-TW/claude-code-on-the-web) 上的工作階段,該工作階段透過您已連接到 Claude 的 GitHub 帳戶發佈評論。發佈需要與審查本身相同的 claude.ai 登入。由於發佈透過 Claude Code on the web 執行,因此在第三方提供者上或當您設定 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars) 時不可用。82Claude Code 不會從您的機器發佈。它會將審查的工作階段 ID 傳送到 Anthropic API,該 API 會透過您連接到 Claude 的 GitHub 帳戶將審查的儲存發現結果作為評論發佈。發佈需要與審查本身相同的 claude.ai 登入,且在第三方提供者上或當您設定 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars) 時不可用。

83 83 

84在互動式工作階段中,Claude Code 在發現結果到達時啟動發佈,因此請保持工作階段開啟,直到審查完成。Claude Code 僅在該工作階段中保留發佈選擇。如果工作階段在審查完成前結束,Claude Code 不會發佈任何內容,即使您稍後繼續對話。84在互動式工作階段中,Claude Code 會在發現結果到達時啟動發佈,因此請保持工作階段開啟,直到審查完成。Claude Code 只在該工作階段中保留發佈選擇。如果工作階段在審查完成前結束,Claude Code 不會發佈任何內容,即使您稍後繼續對話。

85 85 

86當發佈無法在您的工作階段開啟時啟動時,Claude 會告訴您沒有任何內容進入 PR 以及原因,發現結果會保留在您的終端中,以便您可以手動發佈它們。86發佈完成後,Claude 會告訴您結果:

87 

88* **已發佈**:Claude 會提供評論的連結。

89* **已發佈**:同一審查的較早發佈已將評論放在 PR 上,因此 Claude 會連結您到提取請求,而不是再次發佈。

90* **失敗**:Claude 會告訴您原因,發現結果會保留在您的終端中,以便您可以手動發佈。

87 91 

88<h3 id="pass-a-request-in-plain-words">92<h3 id="pass-a-request-in-plain-words">

89 用純文字傳遞請求93 用純文字傳遞請求


95/code-review ultra check my auth changes99/code-review ultra check my auth changes

96```100```

97 101 

98審查仍涵蓋您的目前分支,與不帶引數執行的範圍相同。Claude 將您的文字保留為備註,在啟動對話框中顯示,並在發現結果到達時將其與發現結果相關聯。102審查仍涵蓋您的目前分支,與不帶引數執行的範圍相同。Claude 會將您的文字保留為備註,在啟動對話方塊中顯示,並在發現結果到達時將其與發現結果相關聯。

99 103 

100Claude Code 僅在您的文字有多個單詞且不是分支名稱或 PR 參考時才將其視為備註。它將單個單詞讀取為分支名稱或 PR 參考,因此拼寫錯誤的分支名稱會從[針對不同的基礎進行審查](#review-against-a-different-base)獲得最接近分支的錯誤,而不是使用備註啟動。如果您的文字結合 PR 參考與其他單詞,例如 `check PR 123 again`,Claude Code 也不會啟動;它會要求您重新執行,僅使用 PR 編號來審查該 PR,或不使用參考來審查您的目前分支。104Claude Code 只有在文字超過一個單字且不是分支名稱或 PR 參考時,才會將其視為備註。它將單一單字讀取為分支名稱或 PR 參考,因此拼寫錯誤的分支名稱會從[針對不同的基礎進行審查](#review-against-a-different-base)獲得最接近分支的錯誤,而不是使用備註啟動。如果您的文字結合 PR 參考與其他單字(例如 `check PR 123 again`),Claude Code 也不會啟動;它會要求您重新執行,僅使用 PR 編號來審查該 PR,或不使用參考來審查您的目前分支。

101 105 

102<Tip>106<Tip>

103 如果您的儲存庫太大而無法打包,Claude Code 會提示您改用 PR 模式。推送您的分支並開啟草稿 PR,然後執行 `/code-review ultra <PR-number>`。107 如果您的儲存庫太大而無法組合,Claude Code 會提示您改用 PR 模式。推送您的分支並開啟草稿 PR,然後執行 `/code-review ultra <PR-number>`。

104</Tip>108</Tip>

105 109 

106<h3 id="diff-limits-and-fallbacks">110<h3 id="diff-limits-and-fallbacks">


109 113 

110Ultrareview 在任何審查工作執行前檢查差異,並在無法按原樣審查時告訴您:114Ultrareview 在任何審查工作執行前檢查差異,並在無法按原樣審查時告訴您:

111 115 

112* **差異太大**:分支審查預設最多可包括 500 個已變更的檔案和 8,000 個已變更的行。確切的值可能會變更,[拒絕](/docs/zh-TW/errors#diff-is-too-large-for-ultrareview)會說明生效的值、您的差異大小以及變更行數最多的檔案。Claude Code 以相同的方式拒絕太大的拉取請求,說明其檔案和行數,但不說明每個檔案的明細116* **差異過大**:分支審查預設最多可包含 500 個變更檔案和 8,000 個變更行。確切值可能會變更,[拒絕](/docs/zh-TW/errors#diff-is-too-large-for-ultrareview)會命名生效的值、您的差異大小和變更行數最多的檔案。Claude Code 以相同方式拒絕過大的提取請求,命名其檔案和行數,但不命名每個檔案的明細

113* **沒有要審查的內容**:當針對基礎的差異為空時,Claude Code 會說明這一點,並建議暫存或提交本地編輯,或傳遞不同的基礎117* **沒有要審查的內容**:當針對基礎的差異為空時,Claude Code 會說明並建議暫存或提交本機編輯,或傳遞不同的基礎

114* **沒有合併基礎**:當您的分支與基礎分支沒有共享歷史記錄時,Claude Code 會改為審查儲存庫中的每個追蹤檔案;備用方案需要完整複製並應用相同的大小限制。在沒有分支或其他參考的簽出上,例如透過在擷取 URL 後簽出 `FETCH_HEAD` 建立的分離 HEAD,Claude Code [拒絕審查](/docs/zh-TW/errors#your-checkout-has-no-branches)並建議先建立分支118* **沒有合併基礎**:當您的分支與基礎分支沒有共享歷史記錄時,Claude Code 會改為審查儲存庫中的每個追蹤檔案;備用方案需要完整複製並套用相同的大小限制。在沒有分支或其他參考的簽出上(例如透過在擷取 URL 後簽出 `FETCH_HEAD` 建立的分離 HEAD),Claude Code [拒絕審查](/docs/zh-TW/errors#your-checkout-has-no-branches)並建議先建立分支

115 119 

116<h2 id="pricing-and-free-runs">120<h2 id="pricing-and-free-runs">

117 定價和免費執行次數121 定價和免費執行次數


185 189 

186如果您中斷該子命令,遠端審查會繼續執行;請按照列印到 stderr 的工作階段 URL 在瀏覽器中觀看它。190如果您中斷該子命令,遠端審查會繼續執行;請按照列印到 stderr 的工作階段 URL 在瀏覽器中觀看它。

187 191 

188使用 `--post` 時,該子命令在列印發現後立即開始發佈。如果執行失敗、逾時或您中斷它,該子命令不會發佈任何內容。如果審查完成但發佈無法啟動,Claude Code 會將原因列印到 stderr,發現保留在 stdout 上,以便您可以手動發佈它們。192使用 `--post` 時,該子命令在列印發現後立即開始發佈,並將連結列印到 stderr。

193 

194* 如果執行失敗、逾時或您中斷它,該子命令不會發佈任何內容。

195* 如果審查完成但評論未發佈,Claude Code 會將原因列印到 stderr,發現保留在 stdout 上,以便您可以手動發佈它們。

189 196 

190如需在 GitHub 拉取請求上進行自動審查,[Code Review](/docs/zh-TW/code-review) 直接與您的儲存庫整合,並將發現作為內嵌 PR 評論發佈,無需 CLI 步驟。197如需在 GitHub 拉取請求上進行自動審查,[Code Review](/docs/zh-TW/code-review) 直接與您的儲存庫整合,並將發現作為內嵌 PR 評論發佈,無需 CLI 步驟。

191 198 


210 相關資源217 相關資源

211</h2>218</h2>

212 219 

213* [Claude Code 網路版](/docs/zh-TW/claude-code-on-the-web):了解遠端工作階段和雲端沙箱的工作原理220* [在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web):了解雲端工作階段和雲端沙箱的工作原理

214* [有效管理成本](/docs/zh-TW/costs):追蹤使用量並設定支出限制221* [有效管理成本](/docs/zh-TW/costs):追蹤使用量並設定支出限制

Details

17語音聽寫會將您錄製的音頻串流傳輸到 Anthropic 的伺服器進行轉錄。音頻不在本地處理。它需要以下所有條件:17語音聽寫會將您錄製的音頻串流傳輸到 Anthropic 的伺服器進行轉錄。音頻不在本地處理。它需要以下所有條件:

18 18 

19* **Claude.ai 帳戶**:語音轉文字服務僅在您使用 Claude.ai 帳戶進行身份驗證時可用,當 Claude Code 配置為直接使用 Anthropic API 金鑰、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 時不可用。19* **Claude.ai 帳戶**:語音轉文字服務僅在您使用 Claude.ai 帳戶進行身份驗證時可用,當 Claude Code 配置為直接使用 Anthropic API 金鑰、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 時不可用。

20* **本地麥克風**:語音聽寫在遠端環境中不起作用,例如[網頁上的 Claude Code](/docs/zh-TW/claude-code-on-the-web)或 SSH 工作階段。20* **本地麥克風**:語音聽寫在[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)或 SSH 工作階段中不起作用。

21* **如果您在 WSL 中執行 Claude Code,則需要 WSLg**:WSLg 在從 Microsoft Store 在 Windows 10 或 11 上安裝 WSL2 時包含。如果 WSLg 不可用,例如在 WSL1 上,改為在原生 Windows 中執行 Claude Code。21* **如果您在 WSL 中執行 Claude Code,則需要 WSLg**:WSLg 在從 Microsoft Store 在 Windows 10 或 11 上安裝 WSL2 時包含。如果 WSLg 不可用,例如在 WSL1 上,改為在原生 Windows 中執行 Claude Code。

22 22 

23轉錄不會消耗 Claude 訊息或代幣,也不會計入 `/usage` 中顯示的限制。請參閱[資料使用](/docs/zh-TW/data-usage)了解 Anthropic 如何處理您的資料。23轉錄不會消耗 Claude 訊息或代幣,也不會計入 `/usage` 中顯示的限制。請參閱[資料使用](/docs/zh-TW/data-usage)了解 Anthropic 如何處理您的資料。

vs-code.md +13 −2

Details

125 125 

126 Claude 最新的待辦事項清單保持可見,待處理問題中 Claude 詢問的文字也保持可見;這需要 Claude Code v2.1.225 或更新版本。當 Claude 執行 [subagents](/docs/zh-TW/sub-agents) 時,帶有其最新活動的即時進度列會出現在啟動它們的工具呼叫群組下。這需要 Claude Code v2.1.269 或更新版本。126 Claude 最新的待辦事項清單保持可見,待處理問題中 Claude 詢問的文字也保持可見;這需要 Claude Code v2.1.225 或更新版本。當 Claude 執行 [subagents](/docs/zh-TW/sub-agents) 時,帶有其最新活動的即時進度列會出現在啟動它們的工具呼叫群組下。這需要 Claude Code v2.1.269 或更新版本。

127 * 若要報告錯誤,請點擊菜單底部的 **Report a problem**,或輸入 `/bug` 或 `/feedback` 並附上可選的描述以預填報告。當您提交報告且您已在第一方連接上登入 Anthropic 時,Claude Code 會將其傳送給 Anthropic。在第三方提供者上,或沒有 Anthropic 認證時,對話方塊仍會開啟,但提交會顯示錯誤且不傳送任何內容:與 CLI 的 `/bug` 不同,擴充功能不會寫入本機存檔。需要 Claude Code v2.1.229 或更新版本。127 * 若要報告錯誤,請點擊菜單底部的 **Report a problem**,或輸入 `/bug` 或 `/feedback` 並附上可選的描述以預填報告。當您提交報告且您已在第一方連接上登入 Anthropic 時,Claude Code 會將其傳送給 Anthropic。在第三方提供者上,或沒有 Anthropic 認證時,對話方塊仍會開啟,但提交會顯示錯誤且不傳送任何內容:與 CLI 的 `/bug` 不同,擴充功能不會寫入本機存檔。需要 Claude Code v2.1.229 或更新版本。

128 

129 如果您的組織政策關閉產品回饋,**Report a problem** 不會出現在菜單中,而 `/bug` 和 `/feedback` 會顯示 `Feedback is turned off by your organization's policy or this environment's settings.` 通知,而不是開啟報告。

128* **Side questions**:輸入 `/btw` 後跟一個問題以詢問有關您的會話的問題[而不新增到對話](/docs/zh-TW/interactive-mode#side-questions-with-%2Fbtw)。答案會在聊天旁的面板中開啟,您可以在其中提出後續問題。執行緒在視窗重新載入後仍然存在。Claude Code 保留最新的 20 個交換,並根據 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 排程過期儲存的執行緒,只要 Claude Code 可以[安全地確定保留期](/docs/zh-TW/claude-directory#cleaned-up-automatically)。若要清除執行緒,請點擊面板中的垃圾桶圖示。需要 Claude Code v2.1.227 或更新版本。130* **Side questions**:輸入 `/btw` 後跟一個問題以詢問有關您的會話的問題[而不新增到對話](/docs/zh-TW/interactive-mode#side-questions-with-%2Fbtw)。答案會在聊天旁的面板中開啟,您可以在其中提出後續問題。執行緒在視窗重新載入後仍然存在。Claude Code 保留最新的 20 個交換,並根據 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 排程過期儲存的執行緒,只要 Claude Code 可以[安全地確定保留期](/docs/zh-TW/claude-directory#cleaned-up-automatically)。若要清除執行緒,請點擊面板中的垃圾桶圖示。需要 Claude Code v2.1.227 或更新版本。

129* **Context indicator**:提示框顯示您使用了多少 Claude 的內容視窗。Claude 會在需要時自動壓縮,或您可以手動執行 `/compact`。131* **Context indicator**:提示框顯示您使用了多少 Claude 的內容視窗。Claude 會在需要時自動壓縮,或您可以手動執行 `/compact`。

132* **Prompt cache clock**:內容指示器旁的時鐘圖示估計對話的 [prompt cache](/docs/zh-TW/prompt-caching) 在過期前還剩多少時間。它從快取的五分鐘或一小時[生命週期](/docs/zh-TW/prompt-caching#cache-lifetime)倒數,每個使用快取的回應都會重新啟動倒數。除了壓縮外,[使快取失效的操作](/docs/zh-TW/prompt-caching#actions-that-invalidate-the-cache)不會重設時鐘,因此在您切換模型後它仍然可以顯示剩餘的分鐘數。

133 * 在倒數結束前,圖示會顯示剩餘的分鐘數,例如 **12m**。

134 * 當倒數結束時,分鐘數消失,圖示變為紅色,或您主題的錯誤顏色,直到下一個回應。快取可能已過期,因此預期您下一條訊息的回應會更慢、更昂貴,同時快取重建。如果五分鐘的生命週期在您的訊息之間不斷用完,請參閱[自己選擇 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)。

135 * 對話[壓縮](/docs/zh-TW/prompt-caching#compacting-the-conversation)後,圖示也會變為紅色,沒有分鐘數直到下一個回應,因為快取還不涵蓋壓縮的對話。

130* **Agent map**:當對話包括 [subagents](/docs/zh-TW/sub-agents) 時,代理計數(例如 **2 agents**)會出現在提示框底部。其點顯示任何 subagent 是否正在工作或等待您的權限。136* **Agent map**:當對話包括 [subagents](/docs/zh-TW/sub-agents) 時,代理計數(例如 **2 agents**)會出現在提示框底部。其點顯示任何 subagent 是否正在工作或等待您的權限。

131 137 

132 點擊代理計數以開啟代理地圖,它將對話的 subagents 繪製為主代理下的樹,每個都有其狀態、經過的時間和令牌計數。點擊 subagent 以查看其提示和工具呼叫、開啟其唯讀文字記錄,或在其執行時停止它。需要 Claude Code v2.1.269 或更新版本。138 點擊代理計數以開啟代理地圖,它將對話的 subagents 繪製為主代理下的樹,每個都有其狀態、經過的時間和令牌計數。點擊 subagent 以查看其提示和工具呼叫、開啟其唯讀文字記錄,或在其執行時停止它。需要 Claude Code v2.1.269 或更新版本。


146 152 

147對於大型 PDF,您可以要求 Claude 讀取特定頁面而不是整個檔案:單一頁面、範圍如第 1-10 頁,或開放式範圍如第 3 頁起。153對於大型 PDF,您可以要求 Claude 讀取特定頁面而不是整個檔案:單一頁面、範圍如第 1-10 頁,或開放式範圍如第 3 頁起。

148 154 

149當您在編輯器中選擇文字時,Claude 可以自動看到您的反白程式碼。提示框頁尾顯示選擇了多少行。按 `Option+K`(Mac)/ `Alt+K`(Windows/Linux)以插入帶有檔案路徑和行號的 @-mention(例如 `@app.ts#5-10`)。點擊選擇指示器上的 **X** 以將其從內容中移除,使 Claude 不會接收選擇。當您選擇其他文字或切換到不同檔案時,指示器會重新出現。155當您在編輯器中選擇文字時,Claude 可以自動看到您的反白程式碼。提示框頁尾顯示選擇了多少行。按 `Option+K`(Mac)/ `Alt+K`(Windows/Linux)以插入帶有檔案路徑和行號的 @-mention(例如 `@app.ts#5-10`)。點擊選擇指示器上的 **X** 以將其從內容中移除,使 Claude 不會接收選擇。當您選擇其他文字時,指示器會重新出現。

156 

157Claude 也會看到您在編輯器中開啟的檔案,即使沒有選擇任何內容,提示框也會顯示其名稱。若要僅新增您選擇的文字,請關閉[附加開啟檔案設定](vscode://settings/claudeCode.attachOpenFile)。此設定需要 Claude Code v2.1.271 或更新版本。

150 158 

151若要附加影像,請從您的剪貼簿將其貼到提示框中。您也可以在將檔案拖入提示框時按住 `Shift` 以將它們新增為附件。點擊任何附件上的 X 以將其從內容中移除。159若要附加影像,請從您的剪貼簿將其貼到提示框中。您也可以在將檔案拖入提示框時按住 `Shift` 以將它們新增為附件。點擊任何附件上的 X 以將其從內容中移除。

152 160 


450| `initialPermissionMode` | - | 控制新對話的核准提示:`default`、`plan`、`acceptEdits` 或 `bypassPermissions`。`manual` 是 `default` 的別名,並選擇模式指示器中標示為 **Manual** 的模式。當您將其保留為未設定時,擴充功能會選擇起始權限模式,如[切換權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)中所述。 |458| `initialPermissionMode` | - | 控制新對話的核准提示:`default`、`plan`、`acceptEdits` 或 `bypassPermissions`。`manual` 是 `default` 的別名,並選擇模式指示器中標示為 **Manual** 的模式。當您將其保留為未設定時,擴充功能會選擇起始權限模式,如[切換權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)中所述。 |

451| `preferredLocation` | `panel` | Claude 開啟的位置:`sidebar`(右側)或 `panel`(新標籤) |459| `preferredLocation` | `panel` | Claude 開啟的位置:`sidebar`(右側)或 `panel`(新標籤) |

452| `autosave` | `true` | Claude 讀取或寫入檔案前自動儲存檔案 |460| `autosave` | `true` | Claude 讀取或寫入檔案前自動儲存檔案 |

461| `attachOpenFile` | `true` | 將編輯器中開啟的檔案新增至您的訊息,並在提示框中顯示。關閉時,只會新增您選取的文字。需要 Claude Code v2.1.271 或更新版本 |

453| `useCtrlEnterToSend` | `false` | 使用 Ctrl/Cmd+Enter 而非 Enter 來傳送提示 |462| `useCtrlEnterToSend` | `false` | 使用 Ctrl/Cmd+Enter 而非 Enter 來傳送提示 |

454| `enableNewConversationShortcut` | `false` | 啟用 Cmd/Ctrl+N 以開始新對話 |463| `enableNewConversationShortcut` | `false` | 啟用 Cmd/Ctrl+N 以開始新對話 |

455| `enableReopenClosedSessionShortcut` | `true` | 使用 Cmd/Ctrl+Shift+T 重新開啟最近關閉的 Claude 工作階段標籤。當最後關閉的標籤不是 Claude 工作階段時,快捷鍵會改為執行 VS Code 的正常重新開啟已關閉編輯器命令。 |464| `enableReopenClosedSessionShortcut` | `true` | 使用 Cmd/Ctrl+Shift+T 重新開啟最近關閉的 Claude 工作階段標籤。當最後關閉的標籤不是 Claude 工作階段時,快捷鍵會改為執行 VS Code 的正常重新開啟已關閉編輯器命令。 |


493| 命令和 skills | [全部](/docs/zh-TW/commands) | 子集(輸入 `/` 以查看可用項目) |502| 命令和 skills | [全部](/docs/zh-TW/commands) | 子集(輸入 `/` 以查看可用項目) |

494| MCP 伺服器設定 | 是 | 是(在聊天面板中使用 `/mcp` [新增和管理伺服器](#connect-to-external-tools-with-mcp)) |503| MCP 伺服器設定 | 是 | 是(在聊天面板中使用 `/mcp` [新增和管理伺服器](#connect-to-external-tools-with-mcp)) |

495| Checkpoints | 是 | 是 |504| Checkpoints | 是 | 是 |

496| `!` bash 快捷方式 | 是 | 否 |505| `!` Bash 快捷方式 | 是 | 否 |

497| Tab 完成 | 是 | 否 |506| Tab 完成 | 是 | 否 |

498 507 

499<h3 id="rewind-with-checkpoints">508<h3 id="rewind-with-checkpoints">


625 634 

626**選擇和開啟檔案內容。** 連接時,CLI 會在您傳送的每個提示上包含您目前的編輯器選擇和活動檔案的路徑作為內容。當發生這種情況時,文字記錄會顯示 `⧉ Selected N lines from <file>` 行。若要排除敏感檔案(例如 `.env`),請為其路徑新增 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)。相符的拒絕規則會防止該檔案的選定文字和開啟檔案通知到達 Claude。635**選擇和開啟檔案內容。** 連接時,CLI 會在您傳送的每個提示上包含您目前的編輯器選擇和活動檔案的路徑作為內容。當發生這種情況時,文字記錄會顯示 `⧉ Selected N lines from <file>` 行。若要排除敏感檔案(例如 `.env`),請為其路徑新增 [`Read` 拒絕規則](/docs/zh-TW/permissions#read-and-edit)。相符的拒絕規則會防止該檔案的選定文字和開啟檔案通知到達 Claude。

627 636 

637如果您關閉[附加開啟檔案設定](#extension-settings),CLI 只有在您在該檔案中選取文字時才會接收活動檔案的路徑。

638 

628**傳輸和驗證。** 伺服器繫結到 `127.0.0.1` 上的隨機連接埠,範圍在 10000–65535,連接埠不可設定。傳輸是未加密的 `ws://`;因為通訊端是僅限迴圈的,任何可以擷取流量的程序也可以從鎖定檔案讀取權杖,所以 TLS 不會增加保護。每次擴充功能啟動都會產生一個新的隨機驗證權杖,將其寫入位於 `~/.claude/ide/<port>.lock` 的鎖定檔案,CLI 必須將其作為 `X-Claude-Code-Ide-Authorization` 標頭呈現以進行連接。鎖定檔案在 `0700` 目錄中具有 `0600` 權限,因此只有執行 VS Code 的使用者可以讀取它。如果設定了 `CLAUDE_CONFIG_DIR`,鎖定檔案會改為寫入 `$CLAUDE_CONFIG_DIR/ide/`。639**傳輸和驗證。** 伺服器繫結到 `127.0.0.1` 上的隨機連接埠,範圍在 10000–65535,連接埠不可設定。傳輸是未加密的 `ws://`;因為通訊端是僅限迴圈的,任何可以擷取流量的程序也可以從鎖定檔案讀取權杖,所以 TLS 不會增加保護。每次擴充功能啟動都會產生一個新的隨機驗證權杖,將其寫入位於 `~/.claude/ide/<port>.lock` 的鎖定檔案,CLI 必須將其作為 `X-Claude-Code-Ide-Authorization` 標頭呈現以進行連接。鎖定檔案在 `0700` 目錄中具有 `0600` 權限,因此只有執行 VS Code 的使用者可以讀取它。如果設定了 `CLAUDE_CONFIG_DIR`,鎖定檔案會改為寫入 `$CLAUDE_CONFIG_DIR/ide/`。

629 640 

630**公開給模型的工具。** 伺服器裝載十幾個工具,但只有兩個對模型可見。其餘的是 CLI 用於自己的 UI 的內部 RPC(開啟差異、讀取選擇、儲存檔案),在工具清單到達 Claude 之前會被篩選掉。641**公開給模型的工具。** 伺服器裝載十幾個工具,但只有兩個對模型可見。其餘的是 CLI 用於自己的 UI 的內部 RPC(開啟差異、讀取選擇、儲存檔案),在工具清單到達 Claude 之前會被篩選掉。

web-quickstart.md +49 −43

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# 在網頁上開始使用 Claude Code5# 在雲端開始使用 Claude Code

6 6 

7> 在雲端從瀏覽器或手機執行 Claude Code。連接 GitHub 儲存庫、提交任務,並在無需本地設定的情況下檢查 PR。7> 在雲端從瀏覽器或手機執行 Claude Code。連接 GitHub 儲存庫、提交任務,並在無需本地設定的情況下檢查 PR。

8 8 

9<Note>9<Note>

10 Claude Code on the web 目前處於研究預覽階段,適用於 Pro、Max 和 Team 用戶,以及擁有高級席位或 Chat + Claude Code 席位的企業用戶。10 雲端會話處於研究預覽階段,適用於 Pro、Max 和 Team 使用者,以及擁有高級席位或 Chat + Claude Code 席位的企業使用者。

11</Note>11</Note>

12 12 

13Claude Code on the web 在 Anthropic 管理的雲端基礎設施上執行,而不是在您的機器上。從瀏覽器或 Claude 行動應用程式的 [claude.ai/code](https://claude.ai/code) 提交任務。13雲端會話在雲端基礎設施上執行 Claude Code,而不是在您的機器上,預設由 Anthropic 管理。此快速入門從瀏覽器中的 [claude.ai/code](https://claude.ai/code) 啟動一個會話。您也可以從 Claude 行動應用程式、Desktop 應用程式或終端機使用 `claude --cloud` 啟動一個會話。

14 14 

15您需要一個 GitHub 儲存庫來[開始使用](#connect-github)。Claude 將其複製到隔離的虛擬機器中、進行更改,並為您推送一個分支以供檢查。會話在設備間持續存在,因此您在筆記型電腦上開始的任務可以稍後從手機上檢查。15您需要一個 GitHub 儲存庫來[開始使用](#connect-github)。Claude 將其複製到隔離的虛擬機器中、進行更改,並為您推送一個分支以供檢查。會話在設備間持續存在,因此您在筆記型電腦上開始的任務可以稍後從手機上檢查。

16 16 

17Claude Code on the web 適用於:17雲端會話適用於:

18 18 

19* **並行任務**:同時執行多個獨立任務,每個任務在自己的會話和分支中,無需管理多個 worktrees19* **並行任務**:同時執行多個獨立任務,每個任務在自己的會話和分支中,無需管理多個 worktrees

20* **您本地沒有的儲存庫**:Claude 在每個會話中新鮮複製儲存庫,因此您無需簽出它20* **您本地沒有的儲存庫**:Claude 在每個會話中新鮮複製儲存庫,因此您無需簽出它

21* **不需要頻繁引導的任務**:提交一個定義明確的任務,做其他事情,並在 Claude 完成時檢查結果21* **不需要頻繁引導的任務**:提交一個定義明確的任務,做其他事情,並在 Claude 完成時檢查結果

22* **代碼問題和探索**:理解代碼庫或追蹤功能如何實現,無需本地簽出22* **代碼問題和探索**:理解代碼庫或追蹤功能如何實現,無需本地簽出

23 23 

24對於需要您本地配置、工具或環境的工作,在本地執行 Claude Code 或使用 [Remote Control](/docs/zh-TW/remote-control) 更合適。24對於需要您本地設定、工具或環境的工作,在本地執行 Claude Code 或使用 [Remote Control](/docs/zh-TW/remote-control) 更合適。

25 25 

26<h2 id="how-sessions-run">26<h2 id="how-sessions-run">

27 會話如何執行27 會話如何執行


40 比較執行 Claude Code 的方式40 比較執行 Claude Code 的方式

41</h2>41</h2>

42 42 

43Claude Code 在任何地方的行為都相同。改變的是代碼執行的位置以及您的本地配置是否可用。Desktop 應用程式提供本地和雲端會話,因此其下面的答案取決於您選擇的是哪一個:43Claude Code 在任何地方的行為都相同。改變的是代碼執行的位置以及您的本地設定是否可用:

44 44 

45| | 在網頁上 | Remote Control | Terminal CLI | Desktop 應用程式 |45| | 雲端會話 | 本地會話 | 本地會話搭配 [Remote Control](/docs/zh-TW/remote-control) |

46| :---------------------------------- | :---------------------------------------------------------------------------------------------- | :---------------- | :----------- | :----------- |46| :---------------------------------- | :---------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :--------------------------------------------- |

47| **代碼執行於** | 雲端 VM,預設由 Anthropic 管理 | 您的機器 | 您的機器 | 您的機器或雲端 VM |47| **代碼執行於** | 雲端 VM,預設由 Anthropic 管理 | 您的機器 | 您的機器 |

48| **您從以下位置聊天** | claude.ai 或行動應用程式 | claude.ai 或行動應用程式 | 您的終端 | Desktop UI |48| **您從以下位置啟動** | claude.ai/code、Claude 行動應用程式、選擇 **Cloud** 的 Desktop 應用程式,或 `claude --cloud` | 您的終端、您的 IDE,或選擇 **Local** 的 Desktop 應用程式 | 您的終端、VS Code 擴充功能,或 Desktop 應用程式 |

49| **使用您的本地配置** | 否,僅儲存庫 | 是 | 是 | 本地為是,雲端為否 |49| **您從以下位置聊天** | claude.ai、行動應用程式,或 Desktop 應用程式 | 您啟動它的位置 | claude.ai 或行動應用程式,以及您啟動它的位置 |

50| **需要 GitHub** | 是,或透過 `--cloud` [捆綁本地儲存庫](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github) | 否 | 否 | 僅限雲端會話 |50| **使用您的本地設定** | 否,僅儲存庫 | 是 | 是 |

51| **如果您斷開連接,保持執行** | 是 | 終端保持開啟時 | 否 | 取決於會話類型 |51| **需要 GitHub** | 是,或透過 `--cloud` [捆綁本地儲存庫](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github) | 否 | 否 |

52| **[權限模式](/docs/zh-TW/permission-modes)** | 接受編輯、Plan、Auto | 詢問、自動接受編輯、Plan | 所有模式 | 取決於會話類型 |52| **如果您斷開連接,保持執行** | 是 | 否 | 當會話在您的機器上保持開啟時 |

53| **網路存取** | 每個環境可配置 | 您機器的網路 | 您機器的網路 | 取決於會話類型 |53| **[權限模式](/docs/zh-TW/permission-modes)** | 接受編輯、Plan、Auto | 終端中的所有模式;請參閱 [切換權限模式](/docs/zh-TW/permission-modes#switch-permission-modes) 以了解 IDE 和 Desktop 應用程式 | 來自 claude.ai 和行動應用程式的手動、接受編輯或 Plan |

54| **網路存取** | 每個環境可配置 | 您機器的網路 | 您機器的網路 |

54 55 

55請參閱 [terminal quickstart](/docs/zh-TW/quickstart)、[Desktop 應用程式](/docs/zh-TW/desktop) 或 [Remote Control](/docs/zh-TW/remote-control) 文件以設定這些。56請參閱 [terminal quickstart](/docs/zh-TW/quickstart)、[Desktop 應用程式](/docs/zh-TW/desktop) 或 [Remote Control](/docs/zh-TW/remote-control) 文件以設定本地會話。

56 57 

57<h2 id="connect-github">58<h2 id="connect-github">

58 連接 GitHub59 連接 GitHub

59</h2>60</h2>

60 61 

61連接 GitHub 是一次性步驟。如果您已經使用 GitHub CLI,您可以[從您的終端執行此操作](#connect-from-your-terminal),而不是使用瀏覽器。62連接 GitHub 是一次性步驟。如果您已經使用 GitHub CLI,您可以[從終端執行此操作](#connect-from-your-terminal),而不是使用瀏覽器。

62 63 

63<Note>64<Note>

64 在 Team 和 Enterprise 方案上,**Sign in with GitHub** 步驟僅在您的 Claude 組織的[擁有者](/docs/zh-TW/server-managed-settings#access-control)在[**Admin settings > Connectors**](https://claude.ai/admin-settings/connectors)開啟 GitHub 連接器後才有效。在此之前,該步驟會顯示「GitHub access is required for Claude Code on the web」而不是登入按鈕。連接器開啟後,重新載入 [claude.ai/code](https://claude.ai/code) 並從第一步重新開始。第二個切換開關[Quick web setup](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)位於[**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code),是可選的:開啟時,`/web-setup` 可用,且上線流程會為成員建立環境。65 在 Team 和 Enterprise 方案上,**使用 GitHub 登入**步驟僅在您的 Claude 組織的[擁有者](/docs/zh-TW/server-managed-settings#access-control)在[**管理設定 > 連接器**](https://claude.ai/admin-settings/connectors)開啟 GitHub 連接器後才有效。在此之前,該步驟會顯示「GitHub 存取權是 Claude Code 網頁版所需」而不是登入按鈕。連接器開啟後,重新載入 [claude.ai/code](https://claude.ai/code) 並從第一步重新開始。第二個切換開關[快速網頁設定](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)位於[**管理設定 > Claude Code**](https://claude.ai/admin-settings/claude-code),是選用的:開啟時,`/web-setup` 可運作,且上線流程會為成員建立環境。

65</Note>66</Note>

66 67 

67<Steps>68<Steps>

68 <Step title="訪問 claude.ai/code">69 <Step title="造訪 claude.ai/code">

69 前往 [claude.ai/code](https://claude.ai/code) 並使用您的 claude.ai 帳戶登入。在 macOS 或 Windows 上,第一個畫面提供 Claude Code 桌面應用程式和其他安裝 Claude Code 的方式。若要留在瀏覽器中,請點擊頁面底部的**Continue on web**。70 前往 [claude.ai/code](https://claude.ai/code) 並使用您的 claude.ai 帳戶登入。

70 </Step>71 </Step>

71 72 

72 <Step title="Sign in with GitHub">73 <Step title="使用 GitHub 登入">

73 登入後,claude.ai/code 會提示您連接 GitHub。按照提示,claude.ai/code 會將您送到 GitHub 的授權頁面。批准授權請求,GitHub 會將您返回到 claude.ai/code。雲端會話適用於現有的 GitHub 儲存庫。若要啟動新項目,請先[在 GitHub 上建立空儲存庫](https://github.com/new)。74 登入後,claude.ai/code 會提示您連接 GitHub。按照提示操作,claude.ai/code 會將您導向 GitHub 的授權頁面。核准授權要求,GitHub 會將您返回 claude.ai/code。雲端工作階段可與現有 GitHub 儲存庫搭配使用。若要啟動新專案,請先[在 GitHub 上建立空白儲存庫](https://github.com/new)。

74 75 

75 透過此連接,會話可以複製任何公開儲存庫,但只有在 Claude GitHub App 安裝在私有儲存庫上時,才能在私有儲存庫中工作。[在每個 GitHub 帳戶或組織上安裝應用程式](https://github.com/apps/claude/installations/new),其私有儲存庫您想要使用。在 GitHub 組織上,組織擁有者可能需要批准安裝。安裝應用程式也會啟用[自動修復](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests),這讓 Claude 可以回應 CI 失敗並審查這些儲存庫中提取請求上的評論。76 透過此連接,工作階段可以複製任何公開儲存庫,但只有在 Claude GitHub App 安裝在私人儲存庫上時,才能在私人儲存庫中工作。[在您想要使用其私人儲存庫的每個 GitHub 帳戶或組織上安裝 Claude GitHub App](https://github.com/apps/claude/installations/new)。在 GitHub 組織上,組織擁有者可能需要核准安裝。安裝應用程式也會啟用[自動修復](/docs/zh-TW/claude-code-on-the-web#auto-fix-pull-requests),讓 Claude 能夠回應這些儲存庫中的 CI 失敗和提取要求審查意見。

76 77 

77 如果上線流程在此時提示您安裝應用程式,而您寧願稍後再做,請點擊**Skip**。78 如果上線流程在此時提示您安裝 Claude GitHub App,而您想稍後再安裝,請按一下**略過**。

78 </Step>79 </Step>

79 80 

80 <Step title="設定您的預設環境">81 <Step title="設定您的預設環境">

81 [雲端環境](/docs/zh-TW/cloud-environments)是已儲存的設定,控制 Claude 在會話期間可以存取的網路以及會話啟動時執行的內容。連接 GitHub 後發生的情況取決於您的方案:82 [雲端環境](/docs/zh-TW/cloud-environments)是已儲存的設定,控制 Claude 在工作階段期間具有的網路存取權,以及工作階段啟動時執行的內容。連接 GitHub 後發生的情況取決於您的方案:

82 83 

83 * **Pro 和 Max**:上線流程為您建立名為**Default**的環境。84 * **Pro 和 Max**:上線流程會為您建立名為**預設**的環境。

84 * **Team 和 Enterprise**:上線流程顯示**Create your first cloud environment**表單。保持預填的名稱和網路存取不變,並點擊**Create & finish**以建立**Default**環境。如果擁有者已開啟[Quick web setup](/docs/zh-TW/claude-code-on-the-web#github-authentication-options),上線流程會改為為您建立**Default**。85 * **Team 和 Enterprise**:上線流程會顯示**建立您的第一個雲端環境**表單。保持預填的名稱和網路存取權不變,然後按一下**建立並完成**以建立**預設**環境。如果擁有者已開啟[快速網頁設定](/docs/zh-TW/claude-code-on-the-web#github-authentication-options),上線流程會改為為您建立**預設**。

85 86 

86 **Default** 使用[`Trusted` 網路存取](/docs/zh-TW/cloud-environments#access-levels):會話可以存取[常見套件登錄](/docs/zh-TW/cloud-environments#default-allowed-domains)和其他允許清單中的網域,以及透過會話網路的其他任何內容。請參閱[已安裝的工具](/docs/zh-TW/cloud-environments#installed-tools)以了解無需任何設定即可使用的內容。87 **預設**使用[`信任`網路存取權](/docs/zh-TW/cloud-environments#access-levels):工作階段可以存取[常見套件登錄](/docs/zh-TW/cloud-environments#default-allowed-domains)和其他允許清單中的網域,以及透過工作階段網路的其他任何內容都無法存取。請參閱[已安裝的工具](/docs/zh-TW/cloud-environments#installed-tools)以了解無需任何設定即可使用的內容。

87 88 

88 對於第一個項目,**Default** 環境可以按原樣使用。若要變更其網路存取、新增環境變數或在會話啟動前執行[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts),請[編輯它或建立其他環境](/docs/zh-TW/cloud-environments#configure-your-environment)。89 對於第一個專案,**預設**環境可以按原樣使用。若要變更其網路存取權、新增環境變數或在工作階段啟動前執行[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts),請[編輯它或建立其他環境](/docs/zh-TW/cloud-environments#configure-your-environment)。

89 </Step>90 </Step>

90</Steps>91</Steps>

91 92 


93 從您的終端連接94 從您的終端連接

94</h3>95</h3>

95 96 

96如果您已經使用 GitHub CLI (`gh`),您可以在不打開瀏覽器的情況下設定 Claude Code on the web。這需要 [Claude Code CLI](/docs/zh-TW/quickstart)。在 Team 和 Enterprise 方案上,`/web-setup` 僅在擁有者開啟[Quick web setup](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)後才可用。97如果您已經使用 GitHub CLI (`gh`),您可以從終端為雲端工作階段連接 GitHub。這需要 [Claude Code CLI](/docs/zh-TW/quickstart)。在 Team 和 Enterprise 方案上,`/web-setup` 僅在擁有者開啟[快速網頁設定](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)後才可用。

97 98 

98當您執行 `/web-setup` 時,Claude Code 會讀取 `gh auth token` 列印的令牌,要求您確認,並將令牌傳送給 Anthropic。Anthropic 使用您的 claude.ai 帳戶加密儲存它,您的雲端會話使用它進行 GitHub 存取,直到您[移除它](#remove-the-web-setup-token)。雲端會話可以存取該令牌可以存取的任何儲存庫,無需 Claude GitHub App 安裝。99當您執行 `/web-setup` 時,Claude Code 會讀取 `gh auth token` 列印的權杖,要求您確認,並將權杖傳送給 Anthropic。Anthropic 會使用您的 claude.ai 帳戶加密儲存它,您的雲端工作階段會使用它進行 GitHub 存取,直到您[移除它](#remove-the-web-setup-token)。您自己啟動的雲端工作階段隨後可以存取該權杖可以存取的任何儲存庫,無需 Claude GitHub App 安裝。[專案](/docs/zh-TW/claude-projects#set-up-github-access)中的執行緒仍然需要 Claude GitHub App。

99 100 

100如果您已經在瀏覽器中連接了 GitHub,`/web-setup` 會警告您繼續會為您的雲端會話取代該連接。101如果您已經在瀏覽器中連接了 GitHub,`/web-setup` 會警告您繼續將會取代您的雲端工作階段的該連接。

101 102 

102<Note>103<Note>

103 啟用了[零資料保留](/docs/zh-TW/zero-data-retention)的組織無法使用 `/web-setup` 或其他雲端會話功能。如果未安裝或驗證 GitHub CLI,Claude Code 會改為開啟瀏覽器上線流程。104 啟用[零資料保留](/docs/zh-TW/zero-data-retention)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。如果未安裝 GitHub CLI 或未進行驗證,Claude Code 會改為開啟瀏覽器上線流程。

104</Note>105</Note>

105 106 

106<Steps>107<Steps>


113 </Step>114 </Step>

114 115 

115 <Step title="登入 Claude">116 <Step title="登入 Claude">

116 在 Claude Code CLI 中,執行 `/login` 以使用您的 claude.ai 帳戶登入。如果您已經登入 claude.ai 帳戶,請跳過此步驟。使用 API 金鑰進行驗證不計算在內。若要檢查,請執行 `/status` 並確認**Login method**列顯示 claude.ai 帳戶。117 在 Claude Code CLI 中,執行 `/login` 以使用您的 claude.ai 帳戶登入。如果您已經使用 claude.ai 帳戶登入,請略過此步驟。使用 API 金鑰進行驗證不計算在內。若要檢查,請執行 `/status` 並確認**登入方法**列顯示 claude.ai 帳戶。

117 </Step>118 </Step>

118 119 

119 <Step title="執行 /web-setup">120 <Step title="執行 /web-setup">


123 /web-setup124 /web-setup

124 ```125 ```

125 126 

126 確認提示以將您的 `gh` 令牌傳送到您的 Claude 帳戶。成功時,Claude Code 會列印 `Connected as <your-github-username>` 並在您的瀏覽器中開啟 [claude.ai/code](https://claude.ai/code)。如果您還沒有雲端環境,`/web-setup` 會建立一個具有 Trusted 網路存取且沒有設定指令碼的環境。您可以[稍後編輯環境或新增變數](/docs/zh-TW/cloud-environments#configure-your-environment)。一旦 `/web-setup` 完成,您可以使用 [`--cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-web) 從您的終端啟動雲端會話,或使用 [`/schedule`](/docs/zh-TW/routines) 設定定期任務。127 確認提示以將您的 `gh` 權杖傳送到您的 Claude 帳戶。成功時,Claude Code 會列印 `Connected as <your-github-username>` 並在您的瀏覽器中開啟 [claude.ai/code](https://claude.ai/code)。如果您還沒有雲端環境,`/web-setup` 會建立一個具有信任網路存取權且沒有設定指令碼的環境。您可以[稍後編輯環境或新增變數](/docs/zh-TW/cloud-environments#configure-your-environment)。`/web-setup` 完成後,您可以使用 [`--cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud) 從終端啟動雲端工作階段,或使用 [`/schedule`](/docs/zh-TW/routines) 設定定期工作。

127 </Step>128 </Step>

128</Steps>129</Steps>

129 130 

130<h4 id="remove-the-web-setup-token">131<h4 id="remove-the-web-setup-token">

131 移除 `/web-setup` 令牌132 移除 `/web-setup` 權杖

132</h4>133</h4>

133 134 

134若要從您的 Claude 帳戶移除令牌,請在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 斷開 GitHub 連接。斷開連接會刪除您的雲端會話使用的 GitHub 認證,無論它們來自瀏覽器還是 `/web-setup`,因此雲端會話會失去 GitHub 存取權,直到您再次連接。您的本地 `gh` 保持登入狀態,令牌在 GitHub 上保持有效。135若要從您的 Claude 帳戶移除權杖,請在 [claude.ai/customize/connectors](https://claude.ai/customize/connectors) 斷開 GitHub 連接。斷開連接會刪除您的雲端工作階段使用的 GitHub 認證,無論它們來自瀏覽器還是 `/web-setup`,因此雲端工作階段會失去 GitHub 存取權,直到您再次連接。您的本機 `gh` 保持登入狀態,權杖在 GitHub 上保持有效。

135 136 

136若要使令牌本身失效,請在 GitHub 上撤銷它。如果您透過瀏覽器登入 `gh`,令牌屬於 GitHub 上[**Settings > Applications > Authorized OAuth Apps**](https://github.com/settings/applications)下的**GitHub CLI**項目,撤銷該項目也會在您的機器上登出 GitHub CLI。雲端會話隨後會失去 GitHub 存取權,直到您再次執行 `gh auth login` 和 `/web-setup`。137若要使權杖本身失效,請在 GitHub 上撤銷它。如果您透過瀏覽器登入 `gh`,權杖屬於 GitHub 上[**設定 > 應用程式 > 授權的 OAuth 應用程式**](https://github.com/settings/applications)下的 **GitHub CLI** 項目,撤銷該項目也會在您的機器上將 GitHub CLI 登出。雲端工作階段隨後會失去 GitHub 存取權,直到您再次執行 `gh auth login` 和 `/web-setup`。

137 138 

138<h2 id="start-a-task">139<h2 id="start-a-task">

139 啟動任務140 啟動任務


232 "不適用於選定的組織"233 "不適用於選定的組織"

233</h3>234</h3>

234 235 

235企業組織可能需要管理員啟用 Claude Code on the web。聯繫您的 Anthropic 帳戶團隊。236企業組織可能需要擁有者啟用雲端會話。聯繫您的 Anthropic 帳戶團隊。

236 237 

237<h3 id="/web-setup-says-not-signed-in-to-claude">238<h3 id="/web-setup-says-not-signed-in-to-claude">

238 `/web-setup` 說 "Not signed in to Claude"239 `/web-setup` 說 "Not signed in to Claude"


254 255 

255如果您在 Claude Code 內輸入它並且命令菜單顯示 `No commands match "/web-setup"`,或提交它返回 `Unknown command: /web-setup`,該命令被隱藏是因為未滿足要求。原因通常是您使用 API 金鑰或第三方提供商而不是 claude.ai 訂閱進行驗證。執行 `/login` 以使用您的 claude.ai 帳戶登入。256如果您在 Claude Code 內輸入它並且命令菜單顯示 `No commands match "/web-setup"`,或提交它返回 `Unknown command: /web-setup`,該命令被隱藏是因為未滿足要求。原因通常是您使用 API 金鑰或第三方提供商而不是 claude.ai 訂閱進行驗證。執行 `/login` 以使用您的 claude.ai 帳戶登入。

256 257 

257在 Team 和 Enterprise 方案上,該命令預設是隱藏的:[快速網頁設定切換](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)在擁有者開啟之前是關閉的。當它關閉時,[從瀏覽器連接 GitHub](#connect-github) 代替。當管理員為您的組織停用 Claude Code on the web 時,或當您的 Enterprise 組織啟用了[零資料保留](/docs/zh-TW/zero-data-retention)(使 Claude Code on the web 不可用)時,該命令也被隱藏。258在 Team 和 Enterprise 方案上,該命令預設是隱藏的:[快速網頁設定切換](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)在擁有者開啟之前是關閉的。當它關閉時,[從瀏覽器連接 GitHub](#connect-github) 代替。

259 

260該命令在另外兩種情況下也被隱藏:

261 

262* 管理員已為您的組織停用雲端會話。在這種情況下,提交 `/web-setup` 會返回 [`Cloud sessions are disabled by your organization's policy`](/docs/zh-TW/errors#cloud-sessions-are-disabled-by-your-organizations-policy)。在 v2.1.268 之前,這種情況也會返回 `Unknown command: /web-setup`。

263* 您的 Enterprise 組織已啟用[零資料保留](/docs/zh-TW/zero-data-retention),這使雲端會話不可用。

258 264 

259<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">265<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">

260 使用 `--cloud` 時出現 "Could not create a cloud environment" 或 "No cloud environment available"266 使用 `--cloud` 時出現 "Could not create a cloud environment" 或 "No cloud environment available"

261</h3>267</h3>

262 268 

263遠端會話功能會在您沒有雲端環境時自動建立預設雲端環境。如果您看到 "Could not create a cloud environment",自動建立失敗。如果您看到 "No cloud environment available",您的 CLI 早於自動建立。在任何一種情況下,在 Claude Code CLI 中執行 `/web-setup`,或從 [claude.ai/code](https://claude.ai/code) 的[環境選擇器](/docs/zh-TW/cloud-environments#configure-your-environment)新增環境。269雲端會話功能會在您沒有雲端環境時自動建立預設雲端環境。如果您看到 "Could not create a cloud environment",自動建立失敗。如果您看到 "No cloud environment available",您的 CLI 早於自動建立。在任何一種情況下,在 Claude Code CLI 中執行 `/web-setup`,或從 [claude.ai/code](https://claude.ai/code) 的[環境選擇器](/docs/zh-TW/cloud-environments#configure-your-environment)新增環境。

264 270 

265<h3 id="setup-script-failed">271<h3 id="setup-script-failed">

266 設定指令碼失敗272 設定指令碼失敗


269設定指令碼以非零狀態退出,這會阻止會話啟動。常見原因:275設定指令碼以非零狀態退出,這會阻止會話啟動。常見原因:

270 276 

271* 套件安裝失敗,因為登錄不在您的[網路存取級別](/docs/zh-TW/cloud-environments#access-levels)中。`Trusted` 涵蓋大多數套件管理器;`None` 阻止它們全部。277* 套件安裝失敗,因為登錄不在您的[網路存取級別](/docs/zh-TW/cloud-environments#access-levels)中。`Trusted` 涵蓋大多數套件管理器;`None` 阻止它們全部。

272* 指令碼引用在新鮮複製中不存在的文件或路徑。278* 指令碼引用在新鮮複製中不存在的檔案或路徑。

273* 在本地工作的命令在 Ubuntu 上需要不同的調用。279* 在本地工作的命令在 Ubuntu 上需要不同的調用。

274 280 

275要除錯,在指令碼頂部新增 `set -x` 以查看哪個命令失敗。對於非關鍵命令,附加 `|| true` 以便它們不會阻止會話啟動。281要除錯,在指令碼頂部新增 `set -x` 以查看哪個命令失敗。對於非關鍵命令,附加 `|| true` 以便它們不會阻止會話啟動。


302* [設定雲端環境](/docs/zh-TW/cloud-environments):網路存取層級、環境變數和雲端會話的設定指令碼308* [設定雲端環境](/docs/zh-TW/cloud-environments):網路存取層級、環境變數和雲端會話的設定指令碼

303* [Routines](/docs/zh-TW/routines):按計劃、透過 API 呼叫或回應 GitHub 事件自動化工作309* [Routines](/docs/zh-TW/routines):按計劃、透過 API 呼叫或回應 GitHub 事件自動化工作

304* [CLAUDE.md](/docs/zh-TW/memory):為 Claude 提供在每個會話開始時載入的持久指令和上下文310* [CLAUDE.md](/docs/zh-TW/memory):為 Claude 提供在每個會話開始時載入的持久指令和上下文

305* 安裝 Claude 行動應用程式以用於 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 或 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 以從您的手機監控會話。從 Claude Code CLI,`/mobile` 顯示 QR 碼。311* 安裝 Claude 行動應用程式以用於 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 或 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 以從您的手機監控會話。從 Claude Code CLI,`/mobile` 顯示 QR 碼以用於 [claude.ai/mobile](https://claude.ai/mobile),該碼會為您的手機開啟正確的應用程式商店。

whats-new.md +24 −0

Details

8 8 

9每週開發摘要重點介紹最有可能改變您工作方式的功能。每個條目都包含可執行的程式碼、簡短的示範和完整文件的連結。如需每個錯誤修復和次要改進,請參閱 [changelog](/docs/en/changelog)。9每週開發摘要重點介紹最有可能改變您工作方式的功能。每個條目都包含可執行的程式碼、簡短的示範和完整文件的連結。如需每個錯誤修復和次要改進,請參閱 [changelog](/docs/en/changelog)。

10 10 

11<Update label="Week 37" description="September 7–11, 2026" tags={["v2.1.263–v2.1.269"]}>

12 **`claude plugin eval`**:針對一套測試案例執行您的外掛程式、評分結果,並與無外掛程式基準進行比較。`claude plugin eval init` 為您草擬案例和評分器。

13 

14 本週還有:將任何 **Claude Code Desktop 窗格** 彈出到自己的視窗中,稍後再將其停靠回去;**`maxEffortLevel`** 設定會限制每個提供者的努力等級;以及 **WebFetch** 在五分鐘內未完成下載的頁面會失敗而不是掛起。

15 

16 [閱讀 Week 37 摘要 →](/docs/zh-TW/whats-new/2026-w37)

17</Update>

18 

19<Update label="Week 36" description="August 31 – September 4, 2026" tags={["v2.1.251–v2.1.261"]}>

20 **Claude Fable 5.1**:在 Claude Code 中提供,具有 1M 代幣內容視窗。

21 

22 本週還有:在 Pro 和 Max 計畫上,**Desktop 應用中的 computer use** 在 macOS 上在背景執行,同時您繼續工作;在全螢幕渲染中,**`/diff`** 開啟一個即時面板在對話旁邊,當 Claude 編輯時會重新整理;以及 **`/skill-doctor`** 顯示您每個技能在內容中的成本以及它被使用的頻率。

23 

24 [閱讀 Week 36 摘要 →](/docs/zh-TW/whats-new/2026-w36)

25</Update>

26 

27<Update label="Week 35" description="August 24–28, 2026" tags={["v2.1.240–v2.1.250"]}>

28 **在 Desktop 應用中恢復終端機工作階段**:在 Claude Code Desktop 提示框中輸入 `/resume`,以選擇您從 CLI 啟動的任何工作階段,並保持完整的對話和內容。

29 

30 本週還有:**Claude 草擬的回饋** 讓 Claude 在工作階段中出現問題時撰寫回饋報告,您可以檢閱並從 `/feedback` 傳送;**`--restricted`** 啟動工作階段時不使用命令執行工具或您的使用者和專案設定,用於共享機器上的評估工具;以及 **`modelPicker`** 設定控制 `/model` 選擇器列出的模型。

31 

32 [閱讀 Week 35 摘要 →](/docs/zh-TW/whats-new/2026-w35)

33</Update>

34 

11<Update label="Week 34" description="August 17–21, 2026" tags={["v2.1.234–v2.1.239"]}>35<Update label="Week 34" description="August 17–21, 2026" tags={["v2.1.234–v2.1.239"]}>

12 **`/design`**:一個研究預覽版,將 Claude Design 的畫板工作流程帶入 CLI 和 Claude Code Desktop,建立在 artifacts 上,讓 Claude 為您的 UI 草擬可編輯的畫板並實現您選擇的那個。36 **`/design`**:一個研究預覽版,將 Claude Design 的畫板工作流程帶入 CLI 和 Claude Code Desktop,建立在 artifacts 上,讓 Claude 為您的 UI 草擬可編輯的畫板並實現您選擇的那個。

13 37 

whats-new/2026-w35.md +98 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# 第 35 週 · 2026 年 8 月 24–28 日

6 

7> 在 Claude Code Desktop 應用程式中復原終端機工作階段、檢閱 Claude 為您起草的意見回饋報告,以及在受限模式中啟動工作階段。

8 

9<div className="digest-meta">

10 <span>版本 <a href="/docs/en/changelog#2-1-240">v2.1.240 → v2.1.250</a></span>

11 <span>3 項功能 · 8 月 24–28 日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">在 Desktop 應用程式中復原終端機工作階段</span>

17 <span className="digest-feature-pill">Desktop</span>

18 </div>

19 

20 <p className="digest-feature-lede">在 Claude Code Desktop 提示框中輸入 <code>/resume</code>,以選擇您從 CLI 啟動的任何工作階段,並在應用程式中繼續進行,保持完整的對話和內容。按標題、資料夾或分支搜尋您的工作階段,並在復原前預覽您停止的位置。</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-resume-cli-session.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=41e4a5fda6b9d63280589f2cbdabf44f" data-path="images/whats-new/desktop-resume-cli-session.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">在 Desktop 工作階段中,執行命令以列出您的終端機工作階段:</p>

27 

28 ```text Claude Code theme={null}

29 > /resume

30 ```

31 

32 <p className="digest-feature-try">選擇工作階段並按 <code>Enter</code>。對話會在您停止的位置在應用程式中開啟。</p>

33 

34 <a className="digest-feature-link" href="/docs/zh-TW/desktop#coming-from-the-cli">在 CLI 和 Desktop 之間移動</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Claude 起草的意見回饋</span>

40 <span className="digest-feature-pill">CLI</span>

41 </div>

42 

43 <p className="digest-feature-lede">當工具持續失敗、Claude 無法協助請求,或您指出錯誤時,Claude 現在會使用 <code>SendFeedback</code> 工具為您起草意見回饋報告。提示上方的卡片會顯示草稿,您可以從那裡檢閱、傳送或關閉它。在您傳送之前,沒有任何內容會到達 Anthropic。需要 v2.1.238 或更新版本。</p>

44 

45 <Frame>

46 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/claude-drafted-feedback.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=5cacb3be0dffd1cbd417381f3721637e" alt="Claude Code 工作階段,其中 Claude 已起草標題為「沙箱映像拉取在代理後失敗」的錯誤報告,顯示為提示上方的卡片,具有檢閱、傳送或關閉的選項" width="1440" height="756" data-path="images/whats-new/claude-drafted-feedback.jpg" />

47 </Frame>

48 

49 <p className="digest-feature-try">執行 <code>/feedback</code> 且不帶任何引數,以開啟來自每個工作階段的草稿佇列:</p>

50 

51 ```text Claude Code theme={null}

52 > /feedback

53 ```

54 

55 <p className="digest-feature-try">選擇草稿,然後編輯、傳送或捨棄它。若要關閉起草功能,請在 <code>/config</code> 中將 <strong>Claude 起草的意見回饋</strong>設定為 <code>off</code>。</p>

56 

57 <a className="digest-feature-link" href="/docs/zh-TW/tools-reference#sendfeedback-tool-behavior">SendFeedback 工具行為</a>

58</div>

59 

60<div className="digest-feature">

61 <div className="digest-feature-header">

62 <span className="digest-feature-title">受限模式</span>

63 <span className="digest-feature-pill">v2.1.248</span>

64 </div>

65 

66 <p className="digest-feature-lede">受限模式啟動 Claude Code 時不包含執行命令或程式碼的內建工具。當評估工具在共用機器上驅動 <code>claude</code> 時使用它。使用 `--restricted` 啟動或設定 <code>CLAUDE\_CODE\_RESTRICTED=1</code>。Claude Code 也會移除 <code>WebFetch</code>、將檔案工具限制在工作目錄、僅載入受管設定和 `--settings`,並拒絕 <code>bypassPermissions</code> 權限模式。</p>

67 

68 <p className="digest-feature-try">執行不具有命令執行工具的非互動式查詢:</p>

69 

70 ```bash terminal theme={null}

71 claude --restricted -p "review src/ for SQL injection risks"

72 ```

73 

74 <p className="digest-feature-try">若要將移除的工具之一還原給 Claude,請將其與您想要的其他內建工具一起列在 `--tools` 中,例如 `--tools "Bash,Read,Edit"`。`--tools` 是允許清單,其 <code>default</code> 預設值不會復原移除的工具。</p>

75 

76 <a className="digest-feature-link" href="/docs/zh-TW/cli-reference#cli-flags">CLI 旗標</a>

77</div>

78 

79<div className="digest-wins">

80 <p className="digest-wins-title">其他成果</p>

81 

82 <div className="digest-wins-grid">

83 <div>設定新的 <a href="/docs/zh-TW/settings-reference#modelpicker"><code>modelPicker</code></a> 設定以擴充或取代 <code>/model</code> 選擇器的內建清單,包含您自己的有序、標籤化項目,包括 Amazon Bedrock 或 Google Cloud 的 Agent Platform 模型 ID</div>

84 <div>設定 <a href="/docs/zh-TW/prompt-caching#choose-the-ttl-yourself"><code>promptCacheTtl</code></a> 為 <code>1h</code>,以在您使用 API 金鑰或雲端提供者時在主對話上保持一小時的提示快取;<code>subagentPromptCacheTtl</code> 為子代理和主對話外的所有其他請求設定 TTL</div>

85 <div>在 Pro、Max、Team 和 Enterprise 方案上,<a href="/docs/zh-TW/costs#plan-usage-breakdown"><code>/usage</code></a> 新增迴圈分解:執行計數、總權杖、每次執行的權杖,以及使用最多權杖的 <code>/loop</code> 和排程工作的最後執行</div>

86 <div>簽約費率的組織可以設定 <a href="/docs/zh-TW/costs#report-spend-at-your-contracted-rates"><code>modelPricing</code></a> 受管設定,以便 <code>/usage</code>、狀態列和 OpenTelemetry 以這些費率而非清單價格報告成本</div>

87 <div><code>/login</code> 在 <strong>Anthropic Console 帳戶</strong>選項下提供 <strong>使用您的 Console 帳戶登入</strong>,因此 Console 組織的成員若不允許 API 金鑰可以登入而無需建立一個</div>

88 <div>執行 <code>/permissions</code> 並開啟新的 <a href="/docs/zh-TW/auto-mode-config#edit-rules-from-permissions"><strong>Auto mode</strong> 標籤</a>以檢視和編輯自動模式分類器規則,而無需開啟設定檔</div>

89 <div>當自動模式可用時,Manual 和 <code>acceptEdits</code> 權限模式中的 Bash 權限提示會提供 <a href="/docs/zh-TW/permission-modes#switch-permission-modes"><strong>是的,並切換到自動模式</strong></a>選項;選擇它以核准命令並將工作階段切換到自動模式</div>

90 <div>在您 <a href="/docs/zh-TW/permissions#move-the-session-to-another-directory">使用 <code>/cd</code> 移動工作階段</a>後,新目錄的專案設定、hooks、<code>.mcp.json</code> 伺服器、skills 和子代理會立即生效,而不是在下一個 `--resume` 時生效</div>

91 <div>在非互動式工作階段中,包括 <code>-p</code> 執行、Agent SDK 執行和雲端工作階段,Claude Code <a href="/docs/zh-TW/errors#the-response-above-may-be-incomplete">繼續回應</a>伺服器錯誤、連線中斷或停滯中斷的回應,當部分回應包含文字且沒有工具呼叫時</div>

92 <div>在其 <code>maxTurns</code> 限制處停止的子代理會傳回標記為部分的輸出,並提示 Claude 可以 <a href="/docs/zh-TW/sub-agents#resume-subagents">使用 <code>SendMessage</code> 繼續它</a>,而不是顯示為已完成</div>

93 <div>在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,同一機器上的工作階段現在可以 <a href="/docs/zh-TW/cross-session-messaging#availability">彼此傳訊</a>、<code>/loop</code> 可以 <a href="/docs/zh-TW/scheduled-tasks#let-claude-choose-the-interval">選擇自己的間隔</a>,以及 <code>/model</code> 和 <code>/effort</code> 立即應用而不是在回合結束後應用</div>

94 <div>原生安裝程式和自動更新程式下載 zstd 壓縮的組建,在 Linux x64 上約 75 MB 而不是 340 MB,原生組建按需載入程式碼,每個工作階段使用大約 40 到 70 MB 更少的記憶體</div>

95 </div>

96</div>

97 

98[v2.1.240–v2.1.250 的完整變更日誌 →](/docs/en/changelog#2-1-240)

whats-new/2026-w36.md +109 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# 第 36 週 · 8 月 31 日 – 9 月 4 日,2026 年

6 

7> 切換至 Claude Fable 5.1,讓電腦使用在 Desktop 上於背景執行,並在即時 /diff 面板中觀看 Claude 的編輯。

8 

9<div className="digest-meta">

10 <span>版本 <a href="/docs/en/changelog#2-1-251">v2.1.251 → v2.1.261</a></span>

11 <span>4 項功能 · 8 月 31 日 – 9 月 4 日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Claude Fable 5.1</span>

17 <span className="digest-feature-pill">新模型</span>

18 </div>

19 

20 <p className="digest-feature-lede">Claude Fable 5.1 在 Claude Code 中提供,具有 1M 權杖的內容視窗,而 <code>fable</code> 別名現在會選擇它。在 Claude 應用程式閘道工作階段中,<code>fable</code> 仍會選擇 Fable 5。如果您的閘道提供 Fable 5.1,請執行 <code>/model claude-fable-5-1</code>。需要 v2.1.257 或更新版本。</p>

21 

22 <p className="digest-feature-try">將目前工作階段切換至 Fable 5.1 並將其儲存為您的預設值:</p>

23 

24 ```text Claude Code theme={null}

25 > /model fable

26 ```

27 

28 <p className="digest-feature-try">在 Anthropic API 上,選擇器只有在伺服器報告您的組織可用時才會列出 Fable,但輸入 <code>/model fable</code> 會直接與伺服器檢查。</p>

29 

30 <a className="digest-feature-link" href="/docs/zh-TW/model-config#work-with-fable">使用 Fable</a>

31</div>

32 

33<div className="digest-feature">

34 <div className="digest-feature-header">

35 <span className="digest-feature-title">電腦使用在 Desktop 上於背景執行</span>

36 <span className="digest-feature-pill">Desktop</span>

37 </div>

38 

39 <p className="digest-feature-lede">在 macOS 上,Claude Code Desktop 應用程式中的電腦使用現在可在背景執行:Claude 會在您已核准的應用程式中看到並執行動作,同時您可以繼續工作。背景電腦使用在 Pro 和 Max 方案上處於測試版。</p>

40 

41 <Frame>

42 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/background-computer-use.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=a599a6c6fa544cb8d1b426b93706caf4" alt="Claude Code Desktop 工作階段,其中 Claude 要求使用 Xcode,旁邊有一張電腦使用權限卡,上面寫著「讓 Claude 在您核准的應用程式中看到並執行動作,在背景或完全控制您的螢幕」,以及一個「啟用」按鈕" width="1440" height="810" data-path="images/whats-new/background-computer-use.jpg" />

43 </Frame>

44 

45 <a className="digest-feature-link" href="/docs/zh-TW/desktop#let-claude-use-your-computer">讓 Claude 使用您的電腦</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">全螢幕轉譯中的即時 diff 面板</span>

51 <span className="digest-feature-pill">v2.1.260</span>

52 </div>

53 

54 <p className="digest-feature-lede">在全螢幕轉譯中,<code>/diff</code> 現在會在對話旁邊開啟一個面板,而不是您必須關閉的檢視器。該面板列出已變更的檔案及其新增和移除的行數,並在每次 Claude 編輯檔案或執行 shell 命令時重新整理。在面板中使用滑鼠選擇行,以將其附加到您的下一個提示。</p>

55 

56 <Frame>

57 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/diff-panel.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=9d7553c19e7f227891cd95f1f59d796d" data-path="images/whats-new/diff-panel.mp4" />

58 </Frame>

59 

60 <p className="digest-feature-try">啟用全螢幕轉譯、在 git 儲存庫中,以及在至少 110 欄寬的終端機中,切換面板:</p>

61 

62 ```text Claude Code theme={null}

63 > /diff

64 ```

65 

66 <p className="digest-feature-try">再次執行 <code>/diff</code> 或按一下其標題中的 <code>✕</code> 以關閉它。</p>

67 

68 <a className="digest-feature-link" href="/docs/zh-TW/interactive-mode#diff-panel">Diff 面板</a>

69</div>

70 

71<div className="digest-feature">

72 <div className="digest-feature-header">

73 <span className="digest-feature-title">使用 /skill-doctor 尋找未使用的 skills</span>

74 <span className="digest-feature-pill">CLI</span>

75 </div>

76 

77 <p className="digest-feature-lede"><code>/skill-doctor</code> 顯示您的每個 skill 在內容中的成本以及它被使用的頻率,因此您可以決定要關閉哪些。<a href="/docs/zh-TW/skills#skill-descriptions-are-cut-short">skill 列表</a>中的每個 skill 都會在每個回合中新增到您的內容中,無論 Claude 是否使用它。需要 v2.1.252 或更新版本,且在跳過<a href="/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching">功能旗標擷取</a>的工作階段中不可用。</p>

78 

79 <p className="digest-feature-try">在互動式工作階段中執行它,以在 <code>/plugin</code> 管理員的<strong>統計資料</strong>標籤中開啟報告:</p>

80 

81 ```text Claude Code theme={null}

82 > /skill-doctor

83 ```

84 

85 <p className="digest-feature-try">在非互動式模式下使用 <code>-p</code>,Claude Code 會改為將報告列印為文字。</p>

86 

87 <a className="digest-feature-link" href="/docs/zh-TW/skills#find-unused-skills">尋找未使用的 skills</a>

88</div>

89 

90<div className="digest-wins">

91 <p className="digest-wins-title">其他成果</p>

92 

93 <div className="digest-wins-grid">

94 <div><a href="/docs/zh-TW/hooks#premodelswitch"><code>PreModelSwitch</code></a> hook 可以阻止您要求的模型切換,而 <a href="/docs/zh-TW/hooks#postmodelswitch"><code>PostModelSwitch</code></a> hook 可以在工作階段的模型變更後為 Claude 新增內容</div>

95 <div><a href="/docs/zh-TW/costs#prompt-cache-statistics"><code>/cost</code></a> 新增了一行 <code>Prompt cache (main)</code>:從快取提供的輸入權杖份額、快取遺漏、快取是否預熱,以及當 Claude Code 可以命名時最後一次遺漏的可能原因。狀態行指令碼會取得相符的 <code>prompt\_cache</code> 物件</div>

96 <div>組織可以在 <a href="/docs/zh-TW/managed-mcp#provide-servers-through-managed-settings"><code>managedMcpServers</code></a> 受管設定下列出 HTTP 和 SSE MCP 伺服器,以將其提供給每個使用者,除了使用者自行新增的伺服器外</div>

97 <div><code>/effort</code> 和 <code>/model</code> 選擇器現在<a href="/docs/zh-TW/model-config#adjust-effort-level">為每個模型儲存個別的努力等級</a>;按 <code>s</code> 而不是 <code>Enter</code> 以僅將等級套用到目前工作階段</div>

98 <div>根據預設,自動模式分類器<a href="/docs/zh-TW/permission-modes#what-the-classifier-blocks-by-default">現在也會阻止</a>諸如從雲端執行個體中繼資料端點要求認證或連接到 Claude 未啟動的同層容器等動作</div>

99 <div>在自動模式中,Claude Code 會在 Claude <a href="/docs/zh-TW/permission-modes#first-read-outside-the-working-directories">首次讀取工作目錄外的檔案</a>前詢問您,並提供一個選項以從此後阻止此類讀取</div>

100 <div>提高 <a href="/docs/zh-TW/settings-reference#bashoutputmaxchars"><code>bashOutputMaxChars</code></a> 和 <a href="/docs/zh-TW/settings-reference#taskoutputmaxchars"><code>taskOutputMaxChars</code></a>,最多 128,000 個字元,以便 Claude 內聯接收來自成功命令或背景工作的更多輸出</div>

101 <div>提示的<a href="/docs/zh-TW/interactive-mode#make-ctrl-w-delete-back-to-whitespace">字詞編輯快捷鍵遵循 readline</a>,適用於所有人,而 <code>keybindingFlavor</code> 設定不再有任何效果。<code>Ctrl+W</code> 刪除回到前一個空白字元,而 <code>Alt+B</code>、<code>Alt+F</code> 和 <code>Alt+D</code> 將標點符號(例如 <code>/</code> 和 <code>.</code>)視為字詞分隔符</div>

102 <div>如果您在專案的 <code>.claude/settings.json</code> 或 <code>.claude/settings.local.json</code> 中將 <code>defaultMode</code> 設定為 <code>"bypassPermissions"</code>,它<a href="/docs/zh-TW/permission-modes#which-mode-a-session-starts-in">不再生效</a>,工作階段會以手動模式啟動;改為在使用者或受管設定中設定 <code>"bypassPermissions"</code>,或傳遞 `--permission-mode`</div>

103 <div>基於座位的企業方案現在<a href="/docs/zh-TW/model-config#default-model-setting">預設為 Opus 5</a></div>

104 <div>在 VS Code 擴充功能中,按一下提示框底部的模型名稱以<a href="/docs/zh-TW/vs-code#use-the-prompt-box">開啟模型選擇器</a></div>

105 <div>在 VS Code 擴充功能中,在命令選單的自訂部分中選擇<strong>輸出樣式</strong>以<a href="/docs/zh-TW/vs-code#use-the-prompt-box">選擇輸出樣式</a>,包括您的自訂樣式</div>

106 </div>

107</div>

108 

109[v2.1.251–v2.1.261 的完整變更日誌 →](/docs/en/changelog#2-1-251)

whats-new/2026-w37.md +69 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# 第 37 週 · 2026 年 9 月 7–11 日

6 

7> 使用 claude plugin eval 測試您的外掛程式,並將 Claude Code Desktop 窗格彈出到各自的視窗中。

8 

9<div className="digest-meta">

10 <span>版本 <a href="/docs/en/changelog#2-1-263">v2.1.263 → v2.1.269</a></span>

11 <span>2 項功能 · 9 月 7–11 日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">使用 claude plugin eval 測試外掛程式</span>

17 <span className="digest-feature-pill">v2.1.269</span>

18 </div>

19 

20 <p className="digest-feature-lede"><code>claude plugin eval</code> 針對一套測試案例執行您的外掛程式、評分結果,並且預設會在沒有外掛程式的情況下再次執行每個案例,讓您可以看到外掛程式的貢獻。<code>claude plugin eval init</code> 會詢問您良好的結果應該是什麼樣子,然後提議測試案例和評分檢查、嘗試該套件一次,並寫入檔案。每次執行,以及每個有第二個模型判斷回覆的檢查,都是您帳戶上的真實模型呼叫。</p>

21 

22 <Frame>

23 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/plugin-eval.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=913066f6d4a2a15426e98a627802f47f" alt="claude plugin eval 的終端輸出:一個包含七個案例的表格,每個案例都有使用和不使用外掛程式的分數、兩者之間的差異、執行次數和成本,後面跟著一個摘要行,顯示平均差異、總持續時間和總成本" width="1600" height="900" data-path="images/whats-new/plugin-eval.jpg" />

24 </Frame>

25 

26 <p className="digest-feature-try">從您的外掛程式根目錄,讓 Claude 草擬該套件:</p>

27 

28 ```bash terminal theme={null}

29 claude plugin eval init

30 ```

31 

32 <p className="digest-feature-try">當 Claude 告訴您該套件已準備好時,退出 <code>claude plugin eval init</code> 開啟的工作階段,並執行 <code>claude plugin eval .</code> 來評分每個案例。摘要表格會列印在您的終端中,<code>evals/results/</code> 下的 <code>report.html</code> 包含每次執行的詳細資訊。</p>

33 

34 <a className="digest-feature-link" href="/docs/zh-TW/plugin-evals">使用評估測試外掛程式</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">將 Desktop 窗格彈出到各自的視窗中</span>

40 <span className="digest-feature-pill">Desktop</span>

41 </div>

42 

43 <p className="digest-feature-lede">在 Claude Code Desktop 應用程式中,您可以將任何窗格彈出到其自己的視窗中。將差異或終端拖到第二個螢幕,同時 Claude 在主視窗中繼續工作,然後在完成後將窗格停靠回去。</p>

44 

45 <Frame>

46 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-pop-out-panes.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=ff3770dd09bb15ed9cf17a460f3d1e23" data-path="images/whats-new/desktop-pop-out-panes.mp4" />

47 </Frame>

48 

49 <a className="digest-feature-link" href="/docs/zh-TW/desktop#arrange-your-workspace">整理您的工作區</a>

50</div>

51 

52<div className="digest-wins">

53 <p className="digest-wins-title">其他成果</p>

54 

55 <div className="digest-wins-grid">

56 <div>在頂層或 <code>modelSettings</code> 下按模型設定 <a href="/docs/zh-TW/settings-reference#maxeffortlevel"><code>maxEffortLevel</code></a>,以限制每個提供者(包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry)上的努力等級;任何更高的等級都會以上限執行</div>

57 <div>將 `--plugin-dir` 指向一個外掛程式資料夾,以 <a href="/docs/zh-TW/plugins#test-your-plugins-locally">載入每個具有資訊清單的直接子資料夾</a></div>

58 <div>如果 WebFetch 在五分鐘內未完成下載頁面,<a href="/docs/zh-TW/tools-reference#webfetch-tool-behavior">擷取會因截止期限錯誤而失敗</a>,而不是掛起;設定 <code>CLAUDE\_CODE\_WEBFETCH\_DEADLINE\_MS</code> 以變更截止期限,或設定為 <code>0</code> 以移除限制</div>

59 <div>將 `--json` 傳遞給 <code>claude plugin install</code>、<code>uninstall</code>、<code>update</code>、<code>enable</code> 或 <code>disable</code>,以將結果列印為 <a href="/docs/zh-TW/plugins-reference#plugin-json-result">stdout 最後一行上的一個 JSON 物件</a></div>

60 <div>當自動模式分類器阻止某個動作時,Claude 收到的原因 <a href="/docs/zh-TW/auto-mode-config#fix-a-denial-with-an-allow-rule-an-environment-entry-or-a-retry">通常會命名相符的規則</a>,例如 <code>\[Data Exfiltration]</code></div>

61 <div>當您在提示中途輸入 <code>/</code> 時,您現在可以從 <a href="/docs/zh-TW/interactive-mode#complete-a-command-mid-prompt">相符命令的清單</a>中選擇,而不是單一建議。該清單在全螢幕呈現時隨著您的輸入而開啟。外掛程式技能也會在其名稱上相符,不需要外掛程式前綴</div>

62 <div>在 VS Code 擴充功能中,按一下提示框底部的代理計數以開啟 <a href="/docs/zh-TW/vs-code#use-the-prompt-box">代理地圖</a>,您可以在其中開啟子代理的唯讀文字記錄或停止它</div>

63 <div>在 VS Code 擴充功能中,在命令選單的 Customize 部分中選擇 <strong>Hooks</strong> 或 <strong>Permissions</strong>,以 <a href="/docs/zh-TW/vs-code#use-the-prompt-box">在您的使用者、專案和本機設定中新增或移除 hooks 和權限規則</a></div>

64 <div>Claude 可以選擇 <a href="/docs/zh-TW/artifacts#create-an-artifact">瀏覽器標籤圖示</a>以符合它發佈的每個成品</div>

65 <div>在雲端工作階段中的 Claude Code 網頁版上,在 Claude 讀取之前取回佇列中的訊息:將其從佇列中移除,或按 <code>Esc</code> 或 <code>Up</code>,文字會返回到訊息框</div>

66 </div>

67</div>

68 

69[v2.1.263–v2.1.269 的完整變更日誌 →](/docs/en/changelog#2-1-263)

workflows.md +21 −6

Details

400執行時期應用以下約束:400執行時期應用以下約束:

401 401 

402| 約束 | 為什麼 |402| 約束 | 為什麼 |

403| :------------------------------------------------------------- | :-------------------------------------------------------------------- |403| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |

404| 無中途使用者輸入 | 只有代理權限提示可以暫停執行。對於階段之間的簽核,將每個階段作為其自己的工作流程執行 |404| 無中途使用者輸入 | 執行只會因代理權限提示和[使用量限制等待](#when-a-run-hits-your-usage-limit)而暫停。對於階段之間的簽核,將每個階段作為其自己的工作流程執行 |

405| 無來自工作流程本身的直接檔案系統或 shell 存取 | 代理讀取、寫入和執行命令。指令碼協調代理 |405| 無來自工作流程本身的直接檔案系統或 shell 存取 | 代理讀取、寫入和執行命令。指令碼協調代理 |

406| 無模組載入:包含 `import()` 的指令碼在執行開始前會失敗 | 指令碼主體是純 JavaScript。將需要程式庫的工作放在代理的任務中 |406| 無模組載入:包含 `import()` 的指令碼在執行開始前會失敗 | 指令碼主體是純 JavaScript。將需要程式庫的工作放在代理的任務中 |

407| 最多 16 個並行代理,在 Claude Code 可用 CPU 較少時更少,包括在 CPU 受限的容器內 | 限制本地資源使用 |407| 最多 16 個並行代理,在 Claude Code 可用 CPU 較少時更少,包括在 CPU 受限的容器內。若要變更限制,請將 [`CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS`](/docs/zh-TW/env-vars#variables) 設定為 1 到 256 的值,這需要 Claude Code v2.1.269 或更新版本 | 限制本地資源使用 |

408| 在扇出中,共享第一個代理提示快取前綴的代理預設在其後最多啟動 5 秒 | 除第一個外的所有代理都讀取[第一個代理快取的前綴](#prompt-caching-in-a-fan-out),而不是每個都未快取地處理它 |408| 在扇出中,共享第一個代理提示快取前綴的代理預設在其後最多啟動 5 秒 | 除第一個外的所有代理都讀取[第一個代理快取的前綴](#prompt-caching-in-a-fan-out),而不是每個都未快取地處理它 |

409| 單一 `parallel()` 或 `pipeline()` 呼叫中最多 4,096 個項目:執行時期會以錯誤拒絕更長的清單 | 無聲上限會在不告知指令碼的情況下丟棄部分工作負載 |409| 單一 `parallel()` 或 `pipeline()` 呼叫中最多 4,096 個項目:執行時期會以錯誤拒絕更長的清單 | 無聲上限會在不告知指令碼的情況下丟棄部分工作負載 |

410| 每次執行 1,000 個代理 | 防止失控迴圈 |410| 每次執行 1,000 個代理 | 防止失控迴圈 |


440 440 

441在本地和雲端工作階段中,當 Claude 重新啟動較早的執行並且 Claude Code 根本找不到該執行的已保存結果時,重新啟動會失敗並出現 `nothing to resume` 錯誤,而不是自動啟動執行。要求 Claude 將工作流程作為新執行啟動。441在本地和雲端工作階段中,當 Claude 重新啟動較早的執行並且 Claude Code 根本找不到該執行的已保存結果時,重新啟動會失敗並出現 `nothing to resume` 錯誤,而不是自動啟動執行。要求 Claude 將工作流程作為新執行啟動。

442 442 

443<h3 id="when-a-run-hits-your-usage-limit">

444 當執行達到您的使用限制時

445</h3>

446 

447當代理達到您的 claude.ai [使用限制](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset)時,執行會暫停而不是該代理失敗:達到限制的代理會等待重設,並且不會啟動新代理。限制重設後不久,等待中的代理會再次執行,執行會自動繼續。需要 Claude Code v2.1.271 或更新版本;在較早版本上,受影響的代理會失敗。

448 

449執行等待時,任務面板中的進度線和 [`/workflows`](#watch-the-run) 標題會顯示限制何時重設。

450 

451執行只在以下所有情況成立時暫停;當其中一個不成立時,受影響的代理會改為失敗:

452 

453* 工作階段是互動式的,並使用 claude.ai 訂閱登入。執行不會在[非互動模式](/docs/zh-TW/headless)中使用 `claude -p` 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 暫停,在[背景工作階段](/docs/zh-TW/agent-view)中,或在[遠端控制](/docs/zh-TW/remote-control)或[代理團隊](/docs/zh-TW/agent-teams)隊友工作階段中。

454* [`autoContinueAtUsageLimit`](/docs/zh-TW/settings-reference#autocontinueatusagelimit) 已開啟,這是允許工作階段本身[等待使用限制重設](/docs/zh-TW/interactive-mode#wait-for-a-usage-limit-to-reset)的相同設定。如果您在等待期間關閉它,等待會結束,等待中的代理會失敗。

455* 限制在 24 小時內重設。每週限制可能會更晚重設。

456* 執行尚未已等待兩次。當它第三次達到限制時,代理會失敗。

457 

443<h3 id="cost">458<h3 id="cost">

444 成本459 成本

445</h3>460</h3>

446 461 

447工作流程生成許多代理,因此單次執行可以使用比在對話中完成相同任務更多的令牌。執行計入您的方案使用量和速率限制,如任何其他工作階段。462工作流程生成許多代理,因此單次執行可以使用比在對話中完成相同任務更多的令牌。執行計入您的方案使用量和速率限制。

448 463 

449為了在提交大型任務前評估支出,請先在小片段上執行工作流程:一個目錄而不是整個儲存庫,或一個狹隘的問題而不是廣泛的問題。`/workflows` 檢視顯示每個代理的令牌使用量,隨著執行進行,您可以隨時在那裡停止執行,通常不會丟失已完成的工作。[暫停後恢復](#resume-after-a-pause)涵蓋已停止的執行保留的內容。執行時間的[代理上限](#behavior-and-limits)限制單次執行可以生成多少個代理,這限制了失控指令碼的成本。要保持執行為較少的代理,請選擇 `small`[大小指南](#set-a-size-guideline)。464為了在提交大型任務前評估支出,請先在小片段上執行工作流程:一個目錄而不是整個儲存庫,或一個狹隘的問題而不是廣泛的問題。`/workflows` 檢視顯示每個代理的令牌使用量,隨著執行進行,您可以隨時在那裡停止執行,通常不會丟失已完成的工作。[暫停後恢復](#resume-after-a-pause)涵蓋已停止的執行保留的內容。執行時間的[代理上限](#behavior-and-limits)限制單次執行可以生成多少個代理,這限制了失控指令碼的成本。要保持執行為較少的代理,請選擇 `small`[大小指南](#set-a-size-guideline)。

450 465 


476| :------------- | :---------------------- |491| :------------- | :---------------------- |

477| `unrestricted` | 無指南:Claude 根據任務調整工作流程大小 |492| `unrestricted` | 無指南:Claude 根據任務調整工作流程大小 |

478| `small` | 少於 5 個代理 |493| `small` | 少於 5 個代理 |

479| `medium` | 少於 15 個代理 |494| `medium` | 少於 10 個代理 |

480| `large` | 少於 50 個代理 |495| `large` | 少於 50 個代理 |

481 496 

482預設值為 `medium`。在您選擇值之前,`/config` 列會顯示 `medium (default)`,工作流程的 `Running in background` 列會顯示 `medium size (/config)`。需要 Claude Code v2.1.219 或更新版本;較早版本預設為 `unrestricted`。497預設值為 `medium`,或當您使用 Claude Code v2.1.271 或更新版本登入 Pro 方案時為 `small`。在您選擇值之前,`/config` 列會將值標記為預設值,工作流程的 `Running in background` 列會命名生效的大小。需要 Claude Code v2.1.219 或更新版本;較早版本預設為 `unrestricted`。

483 498 

484要變更指南,在 `/config` 中為 Dynamic workflow size 設定選擇一個值,或執行 `/config workflowSizeGuideline=small`。在 v2.1.219 及更新版本上,您也可以在任何設定檔中設定 [`workflowSizeGuideline` 鍵](/docs/zh-TW/settings-reference#workflowsizeguideline);該值優先於 `/config`,而當設定檔提供一個時,Claude Code 會隱藏 `/config` 列。499要變更指南,在 `/config` 中為 Dynamic workflow size 設定選擇一個值,或執行 `/config workflowSizeGuideline=small`。在 v2.1.219 及更新版本上,您也可以在任何設定檔中設定 [`workflowSizeGuideline` 鍵](/docs/zh-TW/settings-reference#workflowsizeguideline);該值優先於 `/config`,而當設定檔提供一個時,Claude Code 會隱藏 `/config` 列。

485 500 

worktrees.md +5 −2

Details

139當您[背景](/docs/zh-TW/agent-view#send-the-session-to-the-background)一個 `--worktree` 會話時,其 worktree 會變成背景會話 worktree,掃描可以移除。掃描在這些情況下保留 worktree:139當您[背景](/docs/zh-TW/agent-view#send-the-session-to-the-background)一個 `--worktree` 會話時,其 worktree 會變成背景會話 worktree,掃描可以移除。掃描在這些情況下保留 worktree:

140 140 

141* worktree 仍然保留工作:已變更或未追蹤的檔案,或未推送的提交。141* worktree 仍然保留工作:已變更或未追蹤的檔案,或未推送的提交。

142* Claude Code 無法確定儲存庫配置定義的篩選驅動程式,在[三個也阻止 worktree 建立的情況](#git-lfs-content-is-missing-from-a-worktree-claude-code-created)中的任何一個。142* Claude Code 無法確定儲存庫配置定義的篩選驅動程式,或在儲存庫配置中找到它無法關閉的設定,在[四個也阻止 worktree 建立的情況](#git-lfs-content-is-missing-from-a-worktree-claude-code-created)中的任何一個適用。

143* worktree 屬於您未背景的 `--worktree` 會話,無論其年齡如何。143* worktree 屬於您未背景的 `--worktree` 會話,無論其年齡如何。

144* 您自己使用 `git worktree add` 建立了 worktree,即使您隨後在其中執行了 `--worktree <name>` 會話並背景了該會話。144* 您自己使用 `git worktree add` 建立了 worktree,即使您隨後在其中執行了 `--worktree <name>` 會話並背景了該會話。

145 145 


353 353 

354要獲取真實檔案,請在 worktree 內執行 `git lfs pull`。354要獲取真實檔案,請在 worktree 內執行 `git lfs pull`。

355 355 

356在三個罕見的情況下,Claude Code 無法判斷儲存庫的配置定義的篩選驅動程式,並根本不建立 worktree。將錯誤與其修復相符:356在四個罕見的情況下,Claude Code 無法判斷儲存庫的設定定義的篩選驅動程式,或找到它無法關閉的設定,因此根本不建立 worktree。將錯誤與其修復相符:

357 357 

358* **`Could not read the repository git config to neutralize filter drivers`**:Claude Code 無法讀取儲存庫的 `.git/config`,例如因為其權限。修復該問題並重試。358* **`Could not read the repository git config to neutralize filter drivers`**:Claude Code 無法讀取儲存庫的 `.git/config`,例如因為其權限。修復該問題並重試。

359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`**:在 `.git/config` 中重新命名或移除該篩選驅動程式並重試。359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`**:在 `.git/config` 中重新命名或移除該篩選驅動程式並重試。

360* **`The repository git config has a conditional include (includeIf)`**:將 `includeIf` 在 `.git/config` 中拉入的設定直接移動到該檔案中,移除 `includeIf`,然後重試。您全域 git 配置中的 `includeIf` 不會觸發此問題。360* **`The repository git config has a conditional include (includeIf)`**:將 `includeIf` 在 `.git/config` 中拉入的設定直接移動到該檔案中,移除 `includeIf`,然後重試。您全域 git 配置中的 `includeIf` 不會觸發此問題。

361* **`Git was not run: the repository's own git config sets <key>`**:訊息命名一個指向 Git LFS 執行程式的金鑰,例如 `lfs.customtransfer.<name>.path` 或 `lfs.standalonetransferagent`。如果該設定是您的,將其移動到您的全域 git 設定。如果您不認識它,請從儲存庫的 git 設定中移除它,因為您不信任的工具或檢出可能已寫入它。金鑰從儲存庫的設定中消失後重試。

361 362 

362<h3 id="claude-code-refuses-to-use-a-worktree">363<h3 id="claude-code-refuses-to-use-a-worktree">

363 Claude Code 拒絕使用 worktree364 Claude Code 拒絕使用 worktree


406 407 

407嵌入在每個錯誤中的拒絕結尾與互動式通知共享,因此它仍然與[Claude Code 拒絕使用 worktree](#claude-code-refuses-to-use-a-worktree) 下的其項目相符。408嵌入在每個錯誤中的拒絕結尾與互動式通知共享,因此它仍然與[Claude Code 拒絕使用 worktree](#claude-code-refuses-to-use-a-worktree) 下的其項目相符。

408 409 

410在 stream-json 結果中,[`startup_failure_reason`](/docs/zh-TW/agent-sdk/typescript#startup_failure_reason) 對於 `could not verify worktree` 錯誤是 `worktree_unverified`,對於 `cannot resume into worktree` 和 `The worktree binding is kept` 錯誤是 `worktree_resume_refused`。應用程式可以在其上分支,而不是匹配錯誤文字。在 v2.1.274 之前,結果沒有 `startup_failure_reason` 欄位。

411 

409<h2 id="see-also">412<h2 id="see-also">

410 另請參閱413 另請參閱

411</h2>414</h2>

Details

64當 Claude for Enterprise 上的 Claude Code 組織啟用 ZDR 時,某些需要儲存提示或完成內容的功能會在後端層級自動停用:64當 Claude for Enterprise 上的 Claude Code 組織啟用 ZDR 時,某些需要儲存提示或完成內容的功能會在後端層級自動停用:

65 65 

66| 功能 | 原因 |66| 功能 | 原因 |

67| --------------------------------------------------------------- | ------------------------------------ |67| -------------------------------------------------------------------------------------------------------- | ------------------------------------ |

68| [Claude Code on the Web](/docs/zh-TW/claude-code-on-the-web) | 需要伺服器端儲存對話歷史記錄。 |68| [Cloud sessions](/docs/zh-TW/claude-code-on-the-web),包括從 [Desktop app](/docs/zh-TW/desktop#cloud-sessions) 啟動的工作階段 | 需要伺服器端儲存工作階段資料,包括包含提示和完成內容的對話歷史記錄。 |

69| [Cloud sessions](/docs/zh-TW/desktop#cloud-sessions) 來自 Desktop 應用程式 | 需要包含提示和完成內容的持久性工作階段資料。 |

70| [Claude Tag](/docs/zh-TW/claude-tag) | 保留頻道記憶和工作階段文字記錄。 |69| [Claude Tag](/docs/zh-TW/claude-tag) | 保留頻道記憶和工作階段文字記錄。 |

71| [Artifacts](/docs/zh-TW/artifacts) | 需要在 Anthropic 營運的基礎設施上儲存已發佈的頁面內容。 |70| [Artifacts](/docs/zh-TW/artifacts) | 需要在 Anthropic 營運的基礎設施上儲存已發佈的頁面內容。 |

72| 意見反饋提交(`/feedback`、`/bug`、`/share`) | 提交意見反饋會將對話資料傳送至 Anthropic。 |71| 意見反饋提交(`/feedback`、`/bug`、`/share`) | 提交意見反饋會將對話資料傳送至 Anthropic。 |