SpyBara
Go Premium

Documentation 2026-10-14 22:58 UTC to 2026-10-15 23:58 UTC

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

636| 限制 | 描述 |636| 限制 | 描述 |

637| - | - |637| - | - |

638| 僅限 Write/Edit/NotebookEdit 工具 | 透過 Bash 命令所做的變更不會被追蹤 |638| 僅限 Write/Edit/NotebookEdit 工具 | 透過 Bash 命令所做的變更不會被追蹤 |

639| 子代理編輯 | [子代理](/docs/zh-TW/agent-sdk/subagents)所套用的編輯不會被追蹤或復原,除了在前景執行的具有 `context: fork` 的技能;使用 git 來復原未追蹤的編輯 |639| Subagent 編輯 | [subagent](/docs/zh-TW/agent-sdk/subagents) 所套用的編輯不會被追蹤,但在前景執行且具有 `context: fork` 的 skill 除外。回溯只會在主對話先前已編輯過的檔案中還原這些編輯;其餘部分請使用 git 來還原 |

640| 相同工作階段 | Checkpoint 與建立它們的工作階段相關聯 |640| 相同工作階段 | Checkpoint 與建立它們的工作階段相關聯 |

641| 僅限檔案內容 | 建立、移動或刪除目錄不會透過回溯來撤銷 |641| 僅限檔案內容 | 建立、移動或刪除目錄不會透過回溯來撤銷 |

642| 本機檔案 | 遠端或網路檔案不會被追蹤 |642| 本機檔案 | 遠端或網路檔案不會被追蹤 |

Details

398 398 

399* **服務啟動時找不到 CLI**:在 Python 中,容器或服務管理員使用與您的 shell 不同的 `PATH` 來執行您的應用程式,因此在本機運作的安裝對該程序不可見。在 TypeScript 中,映像建置跳過了 SDK 的選用相依性,或 `pathToClaudeCodeExecutable` 指向映像中不存在的檔案。請參閱 [Claude Code not found](/docs/zh-TW/agent-sdk/troubleshooting#clinotfounderror-claude-code-not-found)。399* **服務啟動時找不到 CLI**:在 Python 中,容器或服務管理員使用與您的 shell 不同的 `PATH` 來執行您的應用程式,因此在本機運作的安裝對該程序不可見。在 TypeScript 中,映像建置跳過了 SDK 的選用相依性,或 `pathToClaudeCodeExecutable` 指向映像中不存在的檔案。請參閱 [Claude Code not found](/docs/zh-TW/agent-sdk/troubleshooting#clinotfounderror-claude-code-not-found)。

400* **CLI 存在於映像中但無法啟動**:Claude Code 無法從與容器架構或 libc 不相符的二進位檔案啟動,或從在映像建置中失去執行權限的檔案啟動。請參閱 [Failed to start Claude Code](/docs/zh-TW/agent-sdk/troubleshooting#cliconnectionerror-failed-to-start-claude-code)。400* **CLI 存在於映像中但無法啟動**:Claude Code 無法從與容器架構或 libc 不相符的二進位檔案啟動,或從在映像建置中失去執行權限的檔案啟動。請參閱 [Failed to start Claude Code](/docs/zh-TW/agent-sdk/troubleshooting#cliconnectionerror-failed-to-start-claude-code)。

401* **Claude Code 程序在執行中途退出**:您的應用程式收到的錯誤取決於 SDK 語言以及 CLI 是否先報告了錯誤結果。[CLI process exit](/docs/zh-TW/agent-sdk/troubleshooting#cli-process-exit) 下的項目涵蓋每條訊息。401* **Claude Code 程序在執行中途退出**:您的應用程式收到的錯誤取決於 SDK 語言以及 CLI 是否先報告了錯誤結果。[CLI 程序退出](/docs/zh-TW/agent-sdk/troubleshooting#cli-process-exit) 下的項目涵蓋每條訊息。

402 402 

403<h2 id="next-steps">403<h2 id="next-steps">

404 後續步驟404 後續步驟

405</h2>405</h2>

406 406 

407* [Hosting cookbook](https://github.com/anthropics/claude-cookbooks/blob/main/claude_agent_sdk/07_Hosting_the_agent.ipynb):包含 Docker、Modal 和 Kubernetes 的[可部署程式碼](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)的筆記本逐步解說。407* [託管食譜](https://github.com/anthropics/claude-cookbooks/blob/main/claude_agent_sdk/07_Hosting_the_agent.ipynb):包含 Docker、Modal 和 Kubernetes 的[可部署程式碼](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)的筆記本逐步解說。

408* [工作階段儲存](/docs/zh-TW/agent-sdk/session-storage):使用 `SessionStore` 配接器在主機間保留文字記錄。408* [工作階段儲存](/docs/zh-TW/agent-sdk/session-storage):使用 `SessionStore` 配接器在主機間保留文字記錄。

409* [Observability](/docs/zh-TW/agent-sdk/observability):將 OTEL 追蹤、指標和日誌匯出到您的收集器。409* [可觀測性](/docs/zh-TW/agent-sdk/observability):將 OTEL 追蹤、指標和日誌匯出到您的收集器。

410* [Secure deployment](/docs/zh-TW/agent-sdk/secure-deployment):網路控制、認證管理和隔離強化。410* [安全部署](/docs/zh-TW/agent-sdk/secure-deployment):網路控制、認證管理和隔離強化。

411* [Cost tracking](/docs/zh-TW/agent-sdk/cost-tracking):每個會話的權杖和成本計算。411* [成本追蹤](/docs/zh-TW/agent-sdk/cost-tracking):每個工作階段的權杖和成本計帳。

Details

457 457 

458當您的代理程式提供相同指導的自己版本時,請關閉一段內建上下文。例如,如果您的提示告訴 Claude 將提交訊息寫成 `PROJ-142: fix login redirect` 且沒有預告片,Claude Code 仍然會告訴 Claude 以 `Co-Authored-By` 預告片結束每個提交訊息,因此 Claude 會收到針對相同提交的兩個衝突指示。458當您的代理程式提供相同指導的自己版本時,請關閉一段內建上下文。例如,如果您的提示告訴 Claude 將提交訊息寫成 `PROJ-142: fix login redirect` 且沒有預告片,Claude Code 仍然會告訴 Claude 以 `Co-Authored-By` 預告片結束每個提交訊息,因此 Claude 會收到針對相同提交的兩個衝突指示。

459 459 

460在 TypeScript 中透過 [`settings`](/docs/zh-TW/agent-sdk/typescript#options) 選項或在 Python 中透過 [`settings`](/docs/zh-TW/agent-sdk/python#claudeagentoptions) 傳遞設定金鑰,並透過 `env` 選項傳遞環境變數。在 TypeScript 中,[`env`](/docs/zh-TW/agent-sdk/typescript#options) 會取代繼承的環境,因此請將 `process.env` 展開到其中。460在 TypeScript 中透過 [`settings`](/docs/zh-TW/agent-sdk/typescript#options) 選項或在 Python 中透過 [`settings`](/docs/zh-TW/agent-sdk/python#claudeagentoptions) 傳遞設定鍵,並透過 `env` 選項傳遞環境變數。在 TypeScript 中,[`env`](/docs/zh-TW/agent-sdk/typescript#options) 會取代繼承的環境,因此請將 `process.env` 展開到其中。

461 461 

462| 內建上下文 | 如何關閉 |462| 內建上下文 | 如何關閉 |

463| :- | :- |463| :- | :- |


471 471 

472如果您設定 `CLAUDE_CODE_DISABLE_ATTACHMENTS`,Claude Code 也會將 `@` 檔案提及作為純文字傳送,而不是將其展開為檔案內容。可用 subagent 清單和背景任務通知仍然會到達。若只要停止展開 `@` 檔案提及,請改為設定 [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/zh-TW/env-vars#variables),需使用 Claude Code v2.1.299 或更新版本。Claude 接著會收到所提及的路徑,以及一則要求使用其檔案工具讀取這些路徑的備註。472如果您設定 `CLAUDE_CODE_DISABLE_ATTACHMENTS`,Claude Code 也會將 `@` 檔案提及作為純文字傳送,而不是將其展開為檔案內容。可用 subagent 清單和背景任務通知仍然會到達。若只要停止展開 `@` 檔案提及,請改為設定 [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/zh-TW/env-vars#variables),需使用 Claude Code v2.1.299 或更新版本。Claude 接著會收到所提及的路徑,以及一則要求使用其檔案工具讀取這些路徑的備註。

473 473 

474以下範例適用於在 `append` 中攜帶自己提交規則的代理程式。它將兩個 `attribution` 金鑰設定為空字串以移除預告片和頁尾,並關閉 `includeGitInstructions`,以便 Claude Code 自己的提交工作流程指示不會與您的指示競爭:474以下範例適用於在 `append` 中攜帶自己提交規則的代理程式。它將兩個 `attribution` 鍵設定為空字串以移除預告片和頁尾,並關閉 `includeGitInstructions`,以便 Claude Code 自己的提交工作流程指示不會與您的指示競爭:

475 475 

476<CodeGroup>476<CodeGroup>

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

Details

17 17 

18本指南說明 SDK 如何發出遙測資料、如何配置匯出,以及如何在資料到達您的後端後標記和篩選資料。若要直接從 SDK 回應流讀取 token 使用量和成本,而不是匯出到後端,請參閱[追蹤成本和使用量](/docs/zh-TW/agent-sdk/cost-tracking)。18本指南說明 SDK 如何發出遙測資料、如何配置匯出,以及如何在資料到達您的後端後標記和篩選資料。若要直接從 SDK 回應流讀取 token 使用量和成本,而不是匯出到後端,請參閱[追蹤成本和使用量](/docs/zh-TW/agent-sdk/cost-tracking)。

19 19 

20<Note>

21 若要了解 Claude API 或 Managed Agents,請參閱 [OpenTelemetry for the Claude API](https://platform.claude.com/docs/en/manage-claude/opentelemetry)。

22</Note>

23 

20<h2 id="how-telemetry-flows-from-the-sdk">24<h2 id="how-telemetry-flows-from-the-sdk">

21 遙測資料如何從 SDK 流動25 遙測資料如何從 SDK 流動

22</h2>26</h2>

Details

1926| `costUSD` | `float` | 此模型的估計成本(以 USD 為單位),在客戶端計算。見[追蹤成本和使用情況](/docs/zh-TW/agent-sdk/cost-tracking)以了解計費注意事項。 |1926| `costUSD` | `float` | 此模型的估計成本(以 USD 為單位),在客戶端計算。見[追蹤成本和使用情況](/docs/zh-TW/agent-sdk/cost-tracking)以了解計費注意事項。 |

1927| `contextWindow` | `int` | 此模型的上下文視窗大小。 |1927| `contextWindow` | `int` | 此模型的上下文視窗大小。 |

1928| `maxOutputTokens` | `int` | 此模型的最大輸出令牌限制。 |1928| `maxOutputTokens` | `int` | 此模型的最大輸出令牌限制。 |

1929| `canonicalModel` | `str` | 用於定價查詢的規範模型 ID。可能與項目所鍵入的原始模型字串不同,例如提供者特定的 ID 或別名。並非總是存在。 |1929| `canonicalModel` | `str` | 用於定價查詢的規範模型 ID。可能與用作項目鍵的原始模型字串不同,例如提供者特定的 ID 或別名。並非總是存在。 |

1930| `provider` | `str` | 提供此模型的 API 提供者,例如 `firstParty`、`bedrock`、`vertex`、`foundry`、`anthropicAws`、`mantle` 或 `gateway`。並非總是存在。 |1930| `provider` | `str` | 提供此模型的 API 提供者,例如 `firstParty`、`bedrock`、`vertex`、`foundry`、`anthropicAws`、`mantle` 或 `gateway`。並非總是存在。 |

1931| `costBasis` | `str` | 為此模型最新請求定價的價格表:`list` 表示牌價,`managed` 表示 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing) 表,或當兩者皆不符合模型 ID 時為 `unknown`。並非總是存在,且未在 TypedDict 上宣告,因此使用 `.get()` 讀取它。需要 Claude Code v2.1.246 或更新版本。 |1931| `costBasis` | `str` | 為此模型最新請求定價的價格表:`list` 表示牌價,`managed` 表示 [`modelPricing`](/docs/zh-TW/settings-reference#modelpricing) 表,或當兩者皆不符合模型 ID 時為 `unknown`。並非總是存在,且未在 TypedDict 上宣告,因此使用 `.get()` 讀取它。需要 Claude Code v2.1.246 或更新版本。 |

1932 1932 


2965 # 是所選標籤的逗號連接字串;輸入時接受2965 # 是所選標籤的逗號連接字串;輸入時接受

2966 # 標籤列表並強制轉換為該形式2966 # 標籤列表並強制轉換為該形式

2967 "annotations": dict[str, dict] | None,2967 "annotations": dict[str, dict] | None,

2968 # 來自使用者的每個問題註釋,由問題文字鍵入。2968 # 來自使用者的每個問題註釋,以問題文字為鍵。

2969 # 每個值可以攜帶「preview」(所選選項的預覽2969 # 每個值可以攜帶「preview」(所選選項的預覽

2970 # 內容)和「notes」(關於選擇的自由文字註釋)2970 # 內容)和「notes」(關於選擇的自由文字註釋)

2971 "metadata": dict | None, # 分析中繼資料,例如 {"source": "remember"};不向使用者顯示2971 "metadata": dict | None, # 分析中繼資料,例如 {"source": "remember"};不向使用者顯示

Details

90 90 

91`SessionKey` 指向一個記錄。`projectKey` 是工作目錄的穩定、檔案系統安全的編碼,`sessionId` 是工作階段 UUID,`subpath` 在項目屬於子代理記錄或邊車檔案而不是主對話時設定。91`SessionKey` 指向一個記錄。`projectKey` 是工作目錄的穩定、檔案系統安全的編碼,`sessionId` 是工作階段 UUID,`subpath` 在項目屬於子代理記錄或邊車檔案而不是主對話時設定。

92 92 

93因為 `projectKey` 編碼了工作目錄,請從與原始執行的工作目錄相符的工作目錄中從存放區恢復或繼續。在 TypeScript 中,如果您在查詢的 [`env` 選項](/docs/zh-TW/agent-sdk/typescript#options)中在 `CLAUDE_CONFIG_DIR` 旁邊設定 [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/zh-TW/sessions#name-the-project-directory-yourself),SDK 會按該名稱鍵入該查詢的項目,以及其 `resume` 和 `continue` 查詢。因為 `listSessions` 和 `deleteSession` 等獨立協助程式不接受 `env` 並讀取程序環境,請在主機程序環境中也設定 `CLAUDE_CONFIG_DIR` 和相同的名稱。需要 Agent SDK v0.3.234 或更新版本。93因為 `projectKey` 編碼了工作目錄,請從與原始執行的工作目錄相符的工作目錄中從存放區恢復或繼續。在 TypeScript 中,如果您在查詢的 [`env` 選項](/docs/zh-TW/agent-sdk/typescript#options)中在 `CLAUDE_CONFIG_DIR` 旁邊設定 [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/zh-TW/sessions#name-the-project-directory-yourself),SDK 會改以該名稱作為該查詢的項目及其 `resume` 和 `continue` 查找的鍵。因為 `listSessions` 和 `deleteSession` 等獨立協助程式不接受 `env` 並讀取程序環境,請在主機程序環境中也設定 `CLAUDE_CONFIG_DIR` 和相同的名稱。需要 Agent SDK v0.3.234 或更新版本。

94 94 

95將 `subpath` 視為不透明的鍵後綴;它遵循磁碟上的配置,例如 `subagents/agent-<id>`。當 `subpath` 未定義時,鍵指向主記錄。95將 `subpath` 視為不透明的鍵後綴;它遵循磁碟上的配置,例如 `subagents/agent-<id>`。當 `subpath` 未定義時,鍵指向主記錄。

96 96 

Details

369| `session_id` | `string` | 此訊息所屬的工作階段 |369| `session_id` | `string` | 此訊息所屬的工作階段 |

370| `message` | `unknown` | 來自逐字稿的原始訊息 payload |370| `message` | `unknown` | 來自逐字稿的原始訊息 payload |

371| `parent_tool_use_id` | `string \| null` | 對於 subagent 訊息,為啟動該 subagent 的 `Agent` 或 `Skill` 工具呼叫的 `tool_use_id`。對於主工作階段訊息和較舊的工作階段為 `null` |371| `parent_tool_use_id` | `string \| null` | 對於 subagent 訊息,為啟動該 subagent 的 `Agent` 或 `Skill` 工具呼叫的 `tool_use_id`。對於主工作階段訊息和較舊的工作階段為 `null` |

372| `parent_agent_id` | `string \| null` | 對於來自[巢狀 subagent](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 的訊息,為產生它的 subagent 的 `agentId`。對於主工作階段訊息、來自頂層 subagent 的訊息和較舊的工作階段為 `null`。需要 Claude Code v2.1.202 或更新版本 |372| `parent_agent_id` | `string \| null` | 對於來自[巢狀 subagent](/docs/zh-TW/sub-agents#let-subagents-spawn-their-own-subagents) 的訊息,為產生該巢狀 subagent 的 subagent 的 `agentId`。對於主工作階段訊息、來自頂層 subagent 的訊息和較舊的工作階段為 `null`。需要 Claude Code v2.1.202 或更新版本 |

373 373 

374<h4 id="example-4">374<h4 id="example-4">

375 範例375 範例


3998 3998 

3999`limit` 設定列表傳回的 artifact 數量上限,範圍為 1 到 200。`limit` 大於 50 需要 Agent SDK v0.3.292 或更新版本。未指定 `limit` 時,列表最多傳回 25 個。3999`limit` 設定列表傳回的 artifact 數量上限,範圍為 1 到 200。`limit` 大於 50 需要 Agent SDK v0.3.292 或更新版本。未指定 `limit` 時,列表最多傳回 25 個。

4000 4000 

4001* `capabilities`:已發佈頁面使用的執行時功能,按功能名稱鍵入,例如[頁面可能呼叫的連接器](/docs/zh-TW/artifacts#pull-live-data-with-mcp-connectors)。artifact 服務驗證宣告並拒絕命名帳戶無法使用的功能或給予一個無效設定的發佈。傳遞 `{}` 以清除儲存的宣告,在重新部署時省略欄位以保留它。需要 Agent SDK v0.3.235 或更新版本。4001* `capabilities`:已發佈頁面使用的執行時功能,以功能名稱為鍵,例如[頁面可能呼叫的連接器](/docs/zh-TW/artifacts#pull-live-data-with-mcp-connectors)。artifact 服務會驗證宣告,並拒絕指定了帳戶無法使用的功能或為某功能提供無效設定的發佈。傳遞 `{}` 以清除儲存的宣告,在重新部署時省略欄位以保留它。需要 Agent SDK v0.3.235 或更新版本。

4002* `contract`:已發佈頁面執行的執行時版本。省略它以保留 artifact 的目前版本,傳遞 `"latest"` 以升級,或傳遞特定版本以釘選或回滾。需要 Agent SDK v0.3.235 或更新版本。4002* `contract`:已發佈頁面執行的執行時版本。省略它以保留 artifact 的目前版本,傳遞 `"latest"` 以升級,或傳遞特定版本以釘選或回滾。需要 Agent SDK v0.3.235 或更新版本。

4003 4003 

4004類型已匯出,但工具在 Agent SDK 工作階段中預設為關閉。發佈也需要[artifact 可用性表](/docs/zh-TW/artifacts#availability)中的每個條件,使用 API 金鑰驗證的工作階段不符合。4004類型已匯出,但工具在 Agent SDK 工作階段中預設為關閉。發佈也需要[artifact 可用性表](/docs/zh-TW/artifacts#availability)中的每個條件,使用 API 金鑰驗證的工作階段不符合。

agent-view.md +5 −5

Details

500 移到背景時會帶入的內容500 移到背景時會帶入的內容

501</h4>501</h4>

502 502 

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

504 504 

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

506 506 

507Claude Code 會停止無法轉移的工作,例如執行中的 [monitor](/docs/zh-TW/tools-reference#monitor-tool),並一併停止擁有 monitor 的已移到背景 subagent。當有任何此類工作在執行時,Claude Code 會顯示 `Background this session?` 對話框,讓您在它停止工作前確認。507Claude Code 會停止無法轉移的背景工作,例如執行中的 [monitor](/docs/zh-TW/tools-reference#monitor-tool),並一併停止擁有 monitor 的背景 subagent。當有任何此類工作在執行時,Claude Code 會顯示 `Background this session?` 對話框,讓您在它停止工作前確認。

508 508 

509進入背景後,工作階段可以啟動新的 subagent、monitor 和背景命令,這些在之後分離和重新附加時都會持續執行。509進入背景後,工作階段可以啟動新的 subagent、monitor 和背景命令,這些在之後分離和重新附加時都會持續執行。

510 510 


949 背景化顯示 `Background this session?` 對話框949 背景化顯示 `Background this session?` 對話框

950</h3>950</h3>

951 951 

952如果您按 `←` 將目前的工作階段放到背景,而 Claude Code 顯示 `Background this session?` 對話框,表示該工作階段有進行中的工作,背景化會使其停止、重新啟動或在無人看管的情況下繼續執行,因此 Claude Code 在執行上述任何操作之前會先詢問:952如果您按 `←` 將目前的工作階段放到背景,而 Claude Code 顯示 `Background this session?` 對話框,表示該工作階段有進行中的背景工作,背景化會使其停止、重新啟動或在無人看管的情況下繼續執行,因此 Claude Code 在執行上述任何操作之前會先詢問:

953 953 

954* **無法移動的工作**:工作階段有無法移動到背景工作階段的工作,例如執行中的 [monitor](/docs/zh-TW/tools-reference#monitor-tool)。對話框會列出 Claude Code 將停止的工作,並另外計算會轉移的任務數量。954* **無法移動的工作**:工作階段有無法移動到背景工作階段的工作,例如執行中的 [monitor](/docs/zh-TW/tools-reference#monitor-tool)。對話框會列出 Claude Code 將停止的背景工作,並另外計算會轉移的任務數量。

955* **具有執行中 subagent 的工作流程**:[動態工作流程](/docs/zh-TW/workflows)仍有 subagent 在執行。工作流程本身會轉移,但其執行中的 subagent 會從頭開始重新啟動,對話框會說明有多少個。955* **具有執行中 subagent 的工作流程**:[動態工作流程](/docs/zh-TW/workflows)仍有 subagent 在執行。工作流程本身會轉移,但其執行中的 subagent 會從頭開始重新啟動,對話框會說明有多少個。

956* **自動 artifact 回覆**:Claude 正在[自行回覆 artifact 上的評論](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。這些回覆會在背景工作階段中繼續,對話框也會說明這一點。956* **自動 artifact 回覆**:Claude 正在[自行回覆 artifact 上的評論](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。這些回覆會在背景工作階段中繼續,對話框也會說明這一點。

957 957 


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

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

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

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

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

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

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

analytics.md +2 −0

Details

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | 使用指標、與 GitHub 整合的貢獻指標、排行榜、資料匯出 | [詳細資訊](#access-analytics-for-team-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | 使用指標、與 GitHub 整合的貢獻指標、排行榜、資料匯出 | [詳細資訊](#access-analytics-for-team-and-enterprise) |

14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | 使用指標、支出追蹤、團隊見解 | [詳細資訊](#access-analytics-for-api-customers) |14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | 使用指標、支出追蹤、團隊見解 | [詳細資訊](#access-analytics-for-api-customers) |

15 15 

16Code Review 有其專屬的儀表板。如需審查活動與支出,請參閱[檢視使用情況](/docs/zh-TW/code-review-costs#view-usage)。

17 

16<h2 id="access-analytics-for-team-and-enterprise">18<h2 id="access-analytics-for-team-and-enterprise">

17 存取 Team 和 Enterprise 的分析資料19 存取 Team 和 Enterprise 的分析資料

18</h2>20</h2>

artifacts.md +7 −5

Details

44Claude 可能會在輸出適合頁面時自動發佈成品,或者你可以直接要求建立一個。若要要求,請用純文字命名功能或描述你想要的視覺輸出。任何比以文字閱讀更容易看到的東西都是很好的候選,例如帶有內聯註解的差異、圖表或一組選項進行比較。下面的提示是兩個例子;請參閱[你可以建立的內容](#what-you-can-build)以了解更多模式。44Claude 可能會在輸出適合頁面時自動發佈成品,或者你可以直接要求建立一個。若要要求,請用純文字命名功能或描述你想要的視覺輸出。任何比以文字閱讀更容易看到的東西都是很好的候選,例如帶有內聯註解的差異、圖表或一組選項進行比較。下面的提示是兩個例子;請參閱[你可以建立的內容](#what-you-can-build)以了解更多模式。

45 45 

46```text wrap theme={null}46```text wrap theme={null}

47建立一個成品,逐步說明此 PR,並在內聯中註解差異。47Make an artifact that walks through this PR with the diff annotated inline.

48```48```

49 49 

50```text wrap theme={null}50```text wrap theme={null}

51建立一個儀表板成品,顯示上週按服務的部署失敗,並在你調查時保持更新。51Build a dashboard artifact of last week's deploy failures by service and keep it updated as you investigate.

52```52```

53 53 

54除非您指定位置,否則 Claude 會將頁面寫入專案外暫存目錄中的 HTML 或 Markdown 檔案,然後將其發佈。在您[分享](#share-an-artifact)之前,artifact 僅供您本人檢視。54除非您指定位置,否則 Claude 會將頁面寫入專案外暫存目錄中的 HTML 或 Markdown 檔案,然後將其發佈。在您[分享](#share-an-artifact)之前,artifact 僅供您本人檢視。


75| 工作階段處於 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) | 在每個 artifact 首次發佈前詢問 |75| 工作階段處於 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) | 在每個 artifact 首次發佈前詢問 |

76| 該發佈為頁面宣告了執行階段功能,例如[連接器呼叫](#pull-live-data-with-mcp-connectors)或[檔案下載](#offer-a-file-download) | 在該次發佈前詢問 |76| 該發佈為頁面宣告了執行階段功能,例如[連接器呼叫](#pull-live-data-with-mcp-connectors)或[檔案下載](#offer-a-file-download) | 在該次發佈前詢問 |

77| 您已公開分享該 artifact | 在每次對話中變更前詢問一次 |77| 您已公開分享該 artifact | 在每次對話中變更前詢問一次 |

78| 您已關閉[功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) | 在每個 artifact 首次發佈前詢問 |

79| Claude 在由工作階段中觸發的[排程任務](/docs/zh-TW/scheduled-tasks)所啟動的回合中發佈,而非由您輸入的提示詞啟動 | 在每個 artifact 首次發佈前詢問 |78| Claude 在由工作階段中觸發的[排程任務](/docs/zh-TW/scheduled-tasks)所啟動的回合中發佈,而非由您輸入的提示詞啟動 | 在每個 artifact 首次發佈前詢問 |

80| Claude 在未經您核准的情況下無法讀取該檔案 | 在發佈前詢問。`Artifact` 工具的允許規則不會略過此提示 |79| Claude 在未經您核准的情況下無法讀取該檔案 | 在發佈前詢問。`Artifact` 工具的允許規則不會略過此提示 |

80| 在 [Manual](/docs/zh-TW/permission-modes) 或 `acceptEdits` 模式中,Claude 對某個 artifact 的檔案進行小幅變更,而該檔案未經您核准便無法編輯,例如 Manual 模式中的專案檔案 | 在發佈該變更前詢問。即使允許規則涵蓋 `Artifact` 工具,仍會詢問您,因為對該檔案的編輯需要您的核准 |

81 81 

82Claude 會直接讀取工作階段[工作目錄](/docs/zh-TW/permissions#working-directories)中的檔案,以及其寫入頁面的暫存目錄中的檔案,而不會詢問。若要讓 Claude 從其他資料夾發佈而不出現提示,請在啟動時使用 [`--add-dir`](/docs/zh-TW/cli-reference#cli-flags),或在工作階段中使用 `/add-dir`,將該資料夾新增為工作目錄。82若要讓 Claude 在未經您核准的情況下讀取[工作目錄](/docs/zh-TW/permissions#working-directories)以外的檔案,請在啟動時使用 [`--add-dir`](/docs/zh-TW/cli-reference#cli-flags),或在工作階段中使用 `/add-dir`,將其資料夾新增為工作目錄。Claude 本來就會直接讀取這些目錄中的檔案,以及其寫入頁面的暫存目錄中的檔案,而不會詢問。

83 

84如果發佈提示中包含 `Also makes 1 edit to that file on disk.` 之類的句子,表示 Claude 正在一個步驟中變更 artifact 的檔案並將其發佈。當您核准該提示後,Claude Code 會先發佈頁面,然後將變更寫入您的檔案。

83 85 

84<h2 id="update-an-artifact">86<h2 id="update-an-artifact">

85 更新成品87 更新成品


149* **沒有網路存取權的雲端工作階段**:對於 [雲端環境](/docs/zh-TW/cloud-environments#access-levels),即 **None** 等級。在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中,分類器可以代為核准;在 [Cowork](https://claude.com/product/cowork) 工作階段中,核准只能由您進行。151* **沒有網路存取權的雲端工作階段**:對於 [雲端環境](/docs/zh-TW/cloud-environments#access-levels),即 **None** 等級。在 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 中,分類器可以代為核准;在 [Cowork](https://claude.com/product/cowork) 工作階段中,核准只能由您進行。

150* **其他組織的公開 artifact**:即使在自動模式下,Claude Code 也會先詢問您。在 Claude Code 無法詢問您的情況下,例如在 `bypassPermissions` 模式中,Claude 無法閱讀該 artifact。只有在 [功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) 開啟時,Claude 才能閱讀這些 artifact。152* **其他組織的公開 artifact**:即使在自動模式下,Claude Code 也會先詢問您。在 Claude Code 無法詢問您的情況下,例如在 `bypassPermissions` 模式中,Claude 無法閱讀該 artifact。只有在 [功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching) 開啟時,Claude 才能閱讀這些 artifact。

151* **無法確認擁有者或網路設定**:當 Claude Code 無法確認 artifact 的建立者,或無法確認雲端工作階段的網路設定時,它會詢問您,而您的核准僅適用於該次請求。153* **無法確認擁有者或網路設定**:當 Claude Code 無法確認 artifact 的建立者,或無法確認雲端工作階段的網路設定時,它會詢問您,而您的核准僅適用於該次請求。

152* **plan mode,或已關閉功能旗標擷取**:在 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,或者如果您關閉了 [功能旗標擷取](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching),Claude Code 會在 Artifact 工具閱讀您組織中其他人建立的 artifact 之前詢問您。154* **plan mode**:在 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,Claude Code 會在 Artifact 工具閱讀您組織中其他人建立的 artifact 之前詢問您。

153 155 

154當 Claude 使用 WebFetch 閱讀 artifact 時,WebFetch 本身的 [提示規則](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 仍然適用。156當 Claude 使用 WebFetch 閱讀 artifact 時,WebFetch 本身的 [提示規則](/docs/zh-TW/tools-reference#webfetch-tool-behavior) 仍然適用。

155 157 

Details

102[子代理](/docs/zh-TW/sub-agents)使用 Claude 的檔案編輯工具進行編輯,但 Claude Code 通常不會在您的會話檢查點中捕捉這些編輯。回溯是否復原這些編輯取決於子代理的執行方式:102[子代理](/docs/zh-TW/sub-agents)使用 Claude 的檔案編輯工具進行編輯,但 Claude Code 通常不會在您的會話檢查點中捕捉這些編輯。回溯是否復原這些編輯取決於子代理的執行方式:

103 103 

104* **前景分叉技能**:[具有 `context: fork` 的技能](/docs/zh-TW/skills#run-skills-in-a-subagent)在前景執行,在您自己的回合期間編輯您的工作樹,因此回溯會照常復原其編輯。設定 `background: false` 以在前景執行分叉;有幾種情況([列在技能頁面上](/docs/zh-TW/skills#run-skills-in-a-subagent))無論設定如何都會在那裡執行。104* **前景分叉技能**:[具有 `context: fork` 的技能](/docs/zh-TW/skills#run-skills-in-a-subagent)在前景執行,在您自己的回合期間編輯您的工作樹,因此回溯會照常復原其編輯。設定 `background: false` 以在前景執行分叉;有幾種情況([列在技能頁面上](/docs/zh-TW/skills#run-skills-in-a-subagent))無論設定如何都會在那裡執行。

105* **任何其他子代理**:回溯不會復原編輯。使用 git 來還原它們。這包括在背景執行的分叉技能(預設值)和背景 [`/code-review --fix`](/docs/zh-TW/code-review) 執行。105* **任何其他 subagent**:回溯只會復原 Claude 在您的對話中已經編輯過的檔案。subagent 對其他檔案的編輯會保留,因此請使用 git 來還原它們。這包括在背景執行的分叉 skill(預設值)和背景 [`/code-review --fix`](/docs/zh-TW/code-review-local) 執行。

106 106 

107<h3 id="external-changes-not-tracked">107<h3 id="external-changes-not-tracked">

108 外部變更未追蹤108 外部變更未追蹤

Details

64有關 `/web-setup` 的逐步說明,請參閱[從您的終端機連接](/docs/zh-TW/web-quickstart#connect-from-your-terminal),包括 `/web-setup` 儲存的內容以及如何移除它。64有關 `/web-setup` 的逐步說明,請參閱[從您的終端機連接](/docs/zh-TW/web-quickstart#connect-from-your-terminal),包括 `/web-setup` 儲存的內容以及如何移除它。

65 65 

66<Note>66<Note>

67 啟用[零資料保留](/docs/zh-TW/zero-data-retention)或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。67 啟用[零資料保留](/docs/zh-TW/zero-data-retention)或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。使用[客戶管理的加密金鑰](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)的組織也無法啟動雲端工作階段。

68</Note>68</Note>

69 69 

70<h3 id="quick-setup-for-team-and-enterprise">70<h3 id="quick-setup-for-team-and-enterprise">

Details

559 559 

560`matcher` 將 hook 限制為 `startup` 和 `resume` 事件,`$CLAUDE_PROJECT_DIR` 解析為儲存庫根目錄,因此 hook 無論工作階段的工作目錄如何都能找到指令碼。560`matcher` 將 hook 限制為 `startup` 和 `resume` 事件,`$CLAUDE_PROJECT_DIR` 解析為儲存庫根目錄,因此 hook 無論工作階段的工作目錄如何都能找到指令碼。

561 561 

562接下來,在 `scripts/install_pkgs.sh` 建立指令碼。它在雲端外立即結束,然後安裝您的相依性:562接下來,在 `scripts/install_pkgs.sh` 建立指令碼。它在雲端外立即結束,然後安裝您的相依性。當 `package.json`、`package-lock.json` 和指令碼本身自上次成功安裝以來都未變更時,它會跳過 `npm install`:

563 563 

564```bash theme={null}564```bash theme={null}

565#!/bin/bash565#!/bin/bash


568 exit 0568 exit 0

569fi569fi

570 570 

571npm install571cd "$CLAUDE_PROJECT_DIR" || exit 1

572hashes=node_modules/.install_pkgs.sha256

573 

574if ! sha256sum --check --status "$hashes" 2>/dev/null; then

575 # Delete the old hashes first, so a failed install runs again next time

576 rm -f "$hashes"

577 if npm install; then

578 sha256sum scripts/install_pkgs.sh package.json package-lock.json > "$hashes" || rm -f "$hashes"

579 fi

580fi

581 

582# pip skips requirements that are already satisfied

572pip install -r requirements.txt583pip install -r requirements.txt

573exit 0584exit 0

574```585```

575 586 

576`CLAUDE_CODE_REMOTE` 檢查是將安裝限制在雲端工作階段的原因:工作階段 VM 的環境將該變數設為 `true`,本機上永遠不會是 `true`,因此在您的筆記型電腦上,指令碼在安裝任何內容之前結束。587`CLAUDE_CODE_REMOTE` 檢查是將安裝限制在雲端工作階段的原因:工作階段 VM 的環境將該變數設為 `true`,本機上永遠不會是 `true`,因此在您的筆記型電腦上,指令碼在安裝任何內容之前結束。

577 588 

578這兩個檔案一起為每個雲端工作階段在啟動時提供新鮮的 `npm install` 和 `pip install`,同時保持本機工作階段不受影響。589若要確認 `npm install` 已成功,請啟動雲端工作階段並要求 Claude 顯示 `node_modules/.install_pkgs.sha256`。該檔案會列出這三個檔案各自的雜湊值。如果該檔案不存在,請要求 Claude 執行 `npm install` 並回報錯誤。

590 

591<Note>

592 如果 `npm install` 會讀取其他檔案,例如工作區的 `package.json`、`.npmrc` 或您的 `postinstall` 指令碼的輸入,請將它們新增至儲存雜湊值的 `sha256sum` 命令中。否則,在其中某個檔案變更後,您仍會保留舊的套件。

593</Note>

579 594 

580<h4 id="limitations-in-cloud-sessions">595<h4 id="limitations-in-cloud-sessions">

581 雲端工作階段中的限制596 雲端工作階段中的限制


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

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

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

590* **增加啟動延遲**:hooks 在每次工作階段啟動或恢復時執行,不同於設定指令碼,設定指令碼受益於[環境快取](#environment-caching)。透過在重新安裝之前檢查相依性是否已存在來保持安裝指令碼快速。605* **增加啟動延遲**:hook 在每次工作階段啟動或恢復時執行,不同於設定指令碼,設定指令碼受益於[環境快取](#environment-caching)。透過跳過已完成的工作來保持安裝指令碼快速,如[相依性安裝指令碼](#install-dependencies-with-a-sessionstart-hook)所示。

591 606 

592若要自訂基礎映像,請使用設定指令碼在[提供的映像](#installed-tools)上安裝您需要的內容,或使用 `docker compose` 作為 Claude 旁邊的容器執行您自己的映像。目前不支援完全取代基礎映像。607若要自訂基礎映像,請使用設定指令碼在[提供的映像](#installed-tools)上安裝您需要的內容,或使用 `docker compose` 作為 Claude 旁邊的容器執行您自己的映像。目前不支援完全取代基礎映像。

593 608 

code-review.md +86 −390

Details

4 4 

5# Code Review5# Code Review

6 6 

7> 設定自動化 PR 審查,使用多代理分析您的完整程式碼庫來捕捉邏輯錯誤、安全漏洞和迴歸7> 使用 Code Review 捕捉 GitHub pull request 中的錯誤:Claude 審查每項變更、驗證其發現結果,並發佈內聯評論。適用於 Team 和 Enterprise 方案

8 8 

9<Note>9透過 Code Review,Claude 會審查您 GitHub 儲存庫中的 pull request。多個 agent 會連同周圍程式碼一起閱讀每項變更,尋找邏輯錯誤、安全漏洞或破損的邊界情況等問題。驗證步驟會在回報發現結果之前,根據程式碼檢查這些發現結果。

10 Code Review 處於研究預覽階段,適用於 [Team 和 Enterprise](https://claude.ai/admin-settings/claude-code) 訂閱。對於啟用了 [Zero Data Retention](/docs/zh-TW/zero-data-retention) 或套用了 [HIPAA 設定](/docs/zh-TW/hipaa-setup) 的組織,此功能不可用,且不在 Anthropic 的 BAA 涵蓋範圍內。在其他方案上,您仍然可以使用 `/code-review` 命令[在本地審查差異](#review-a-diff-locally)。

11</Note>

12 

13Code Review 分析您的 GitHub pull request,並在發現問題的程式碼行上發佈內聯評論。一群專門的代理在您完整程式碼庫的背景下檢查程式碼變更,尋找邏輯錯誤、安全漏洞、破損的邊界情況和細微的迴歸。

14 

15發現結果按嚴重程度標記,不會批准或阻止您的 PR,因此現有的審查工作流程保持不變。您可以通過在存儲庫中添加 `CLAUDE.md` 或 `REVIEW.md` 文件來調整 Claude 標記的內容。

16 

17要在您自己的 CI 基礎設施中運行 Claude 而不是此託管服務,請參閱 [GitHub Actions](/docs/zh-TW/github-actions) 或 [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd)。對於自託管 GitHub 實例上的存儲庫,請參閱 [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server)。

18 

19本頁涵蓋:

20 

21* [審查如何運作](#how-reviews-work)

22* [設定](#set-up-code-review)

23* [手動觸發審查](#manually-trigger-reviews),使用 `@claude review` 和 `@claude review always`

24* [自訂審查](#customize-reviews),使用 `CLAUDE.md` 和 `REVIEW.md`

25* [定價](#pricing)

26* [故障排除](#troubleshooting)失敗的運行和缺失的評論

27* [在本地審查差異](#review-a-diff-locally),使用 `/code-review` 命令

28 

29<h2 id="how-reviews-work">

30 程式碼審查的運作方式

31</h2>

32 

33一旦擁有者為您的組織[啟用程式碼審查](#set-up-code-review),審查會在 PR 開啟時、每次推送時或手動請求時觸發,具體取決於儲存庫的設定行為。在任何模式下,評論 `@claude review` 會[在 PR 上啟動審查](#manually-trigger-reviews)。

34 

35當審查執行時,多個代理會在 Anthropic 基礎設施上並行分析差異和周圍程式碼。每個代理會尋找不同類別的問題,然後驗證步驟會根據實際程式碼行為檢查候選項,以過濾掉誤判。結果會被去重、按嚴重程度排名,並作為內聯評論發佈在發現問題的特定行上,並在審查正文中提供摘要。如果未發現任何問題,程式碼審查會更新 GitHub 檢查執行以顯示未檢測到任何問題。Claude 也可能在 PR 上發佈簡短的確認評論。

36 

37審查的成本隨著 PR 的大小和複雜性而擴展,平均在 20 分鐘內完成。擁有者可以透過[分析儀表板](#view-usage)監控審查活動和支出。

38 

39<h3 id="severity-levels">

40 嚴重程度級別

41</h3>

42 

43每個發現都標記有嚴重程度級別:

44 

45| 標記 | 嚴重程度 | 含義 |

46| :- | :- | :- |

47| 🔴 | 重要 | 應在合併前修復的錯誤 |

48| 🟡 | 細節 | 輕微問題,值得修復但不會阻止 |

49| 🟣 | 預先存在 | 程式碼庫中存在但未由此 PR 引入的錯誤 |

50 

51發現包括可摺疊的**為什麼被標記**部分,您可以展開以了解 Claude 為什麼標記該問題以及它如何驗證了該問題。

52 

53<h3 id="rate-and-reply-to-findings">

54 對發現進行評分和回覆

55</h3>

56 

57Claude 的每條審查評論都已附加 👍 和 👎,因此兩個按鈕都會在 GitHub UI 中出現,以便一鍵評分。如果發現有用,請點擊 👍;如果發現錯誤或雜亂,請點擊 👎。Anthropic 在 PR 合併後收集反應計數,並使用它們來調整審查者。反應不會觸發重新審查或更改 PR 上的任何內容。

58 

59回覆內聯評論不會提示 Claude 回應或更新 PR。要對發現採取行動,請修復程式碼並推送。如果 PR 訂閱了推送觸發的審查,下一次執行會在問題修復時解決執行緒。要在不推送的情況下請求新審查,請將 `@claude review` 評論為[頂級 PR 評論](#manually-trigger-reviews)。

60 

61要在不進行程式碼變更的情況下關閉發現,請解決其執行緒;回覆不會關閉它。

62 

63<h3 id="check-run-output">

64 檢查執行輸出

65</h3>

66 

67除了內聯審查評論外,每次審查都會填充與您的 CI 檢查一起出現的 **Claude Code Review** 檢查執行。展開其 **Details** 連結以在一個地方查看每個發現的摘要,按嚴重程度排序:

68 

69| 嚴重程度 | 檔案:行 | 問題 |

70| - | - | - |

71| 🔴 重要 | `src/auth/session.ts:142` | 令牌重新整理與登出競爭,導致過時的工作階段保持活躍 |

72| 🟡 細節 | `src/auth/session.ts:88` | `parseExpiry` 在格式錯誤的輸入上無聲地返回 0 |

73 

74每個發現也會在 **Files changed** 標籤中顯示為註解,直接標記在相關的差異行上。重要發現以紅色標記呈現,細節以黃色警告呈現,預先存在的錯誤以灰色通知呈現。註解和嚴重程度表獨立於內聯審查評論寫入檢查執行,因此即使 GitHub 在移動的行上拒絕內聯評論,它們仍然可用。

75 

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:

77 

78```bash theme={null}

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

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

81```

82 

83這會傳回一個 JSON 物件,其中包含每個嚴重程度的計數,例如 `{"normal": 2, "nit": 1, "pre_existing": 0}`。`normal` 鍵保存重要發現的計數;非零值表示 Claude 發現了至少一個值得在合併前修復的錯誤。

84 

85<h3 id="what-code-review-checks">

86 程式碼審查檢查的內容

87</h3>

88 

89預設情況下,程式碼審查專注於正確性:會破壞生產的錯誤,而不是格式設定偏好或缺少的測試涵蓋範圍。您可以透過[新增指導檔案](#customize-reviews)到您的儲存庫來擴展它檢查的內容。

90 

91<h2 id="set-up-code-review">

92 設定 Code Review

93</h2>

94 

95管理員為組織啟用 Code Review 一次,並選擇要包含的存儲庫。

96 

97<Steps>

98 <Step title="開啟 Claude Code 管理員設定">

99 前往 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 並找到 Code Review 部分。您需要對 Claude 組織的管理員或主要管理員角色,以及在 GitHub 組織中安裝 GitHub Apps 的權限。

100 </Step>

101 

102 <Step title="開始設定">

103 點擊 **Setup**。這開始 GitHub App 安裝流程。

104 </Step>

105 

106 <Step title="安裝 Claude GitHub App">

107 按照提示安裝 Claude GitHub App:選擇擁有您想要審查的存儲庫的 GitHub 組織,選擇應用可以存取的存儲庫,並批准請求的權限。

108 

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) 以取得完整清單。

110 </Step>

111 

112 <Step title="選擇存儲庫">

113 選擇要為 Code Review 啟用的存儲庫。如果您看不到存儲庫,請確保您在安裝期間給予 Claude GitHub App 存取權限。您可以稍後添加更多存儲庫。

114 </Step>

115 

116 <Step title="設定每個存儲庫的審查觸發器">

117 設定完成後,Code Review 部分在表格中顯示您的存儲庫。對於每個存儲庫,使用 **Review Behavior** 下拉菜單選擇何時運行審查:

118 

119 * **Once after PR creation**:當 PR 開啟或標記為準備審查時,審查運行一次

120 * **After every push**:在每次推送到 PR 分支時運行審查,在 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)。

124 

125 每次推送時審查運行最多的審查並花費最多。手動模式對於高流量存儲庫很有用,您想選擇特定 PR 進行審查,或者只在 PR 準備好時才開始審查您的 PR。

126 </Step>

127</Steps>

128 

129存儲庫表還顯示每個存儲庫基於最近活動的平均審查成本。使用行操作菜單按存儲庫打開或關閉 Code Review,或完全移除存儲庫。

130 

131要驗證設定,請開啟測試 PR。如果您選擇了自動觸發器,名為 **Claude Code Review** 的檢查運行會在幾分鐘內出現。如果您選擇了手動,在 PR 上評論 `@claude review` 以開始第一次審查。如果沒有檢查運行出現,請確認存儲庫列在您的管理員設定中,並且 Claude GitHub App 有權存取它。

132 10 

133<h2 id="manually-trigger-reviews">11發現結果會以內聯評論的形式出現在相關的程式碼行上,並按[嚴重程度](/docs/zh-TW/code-review-pull-requests#severity-levels)排名,同時在 pull request 上提供摘要和檢查執行。審查永遠不會批准或阻止 pull request,因此是否合併的決定仍由您的團隊掌握。

134 手動觸發審查

135</h2>

136 

137評論命令可按需啟動審查。無論儲存庫的設定觸發器如何,它們都能運作,因此您可以使用它們在手動模式下選擇特定 PR 進行審查,或在其他模式下獲得立即重新審查。

138 12 

139| 命令 | 功能 |13<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=0351c96df9efa3105172eb00a672f130" className="dark:hidden" alt="四個階段審查的圖表。GitHub 上的 pull request 會交給多個在 Anthropic 基礎設施上並行搜尋的 agent。驗證步驟會移除誤判,其餘發現結果經過去重並按嚴重程度排名,審查會將內聯評論、摘要和檢查執行發佈回 GitHub。" width="760" height="300" data-path="images/code-review-pipeline.svg" />

140| :- | :- |

141| `@claude review` | 啟動單次審查,不訂閱 PR 以進行未來推送 |

142| `@claude review always` | 啟動審查並訂閱 PR 以進行後續推送觸發的審查 |

143| `@claude review once` | 與 `@claude review` 相同:啟動單次審查,不訂閱 |

144 14 

145當您希望每次後續推送到 PR 都啟動新的審查時,請使用 `@claude review always`,例如在設定為手動模式的儲存庫中的高優先級 PR 上。由於裸命令不訂閱 PR,您可以請求一次性的第二意見,而不改變後續推送是否觸發審查。15<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline-dark.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=9cf26bde98f4e999d0d9ff5bf5bdff40" className="hidden dark:block" alt="四個階段審查的圖表。GitHub 上的 pull request 會交給多個在 Anthropic 基礎設施上並行搜尋的 agent。驗證步驟會移除誤判,其餘發現結果經過去重並按嚴重程度排名,審查會將內聯評論、摘要和檢查執行發佈回 GitHub。" width="760" height="300" data-path="images/code-review-pipeline-dark.svg" />

146 16 

147<Note>17<Note>

148 在 2026 年 7 月更新之前,`@claude review` 訂閱了 PR 以進行推送觸發的審查。如果您依賴該行為,請改為評論 `@claude review always`。`@claude review once` 仍然有效,其行為與裸命令相同。18 Code Review 使用 AI 審查程式碼,可能會遺漏錯誤、安全漏洞或其他問題。沒有發現結果的審查並不代表您的程式碼沒有錯誤或是安全的。

149</Note>19</Note>

150 20 

151若要這些命令中的任何一個觸發審查:21<span id="review-a-diff-locally" />

152 

153* 將其作為頂層 PR 評論發佈,而不是在差異行上的內嵌評論

154* 將命令放在評論的開頭,`once` 或 `always` 與命令的其餘部分在同一行

155* 您必須對儲存庫具有寫入、維護或管理員權限

156* PR 必須是開啟的

157 

158與自動觸發器不同,手動觸發器在草稿 PR 上運作,因為明確的請求表示您希望立即進行審查,無論草稿狀態如何。

159 

160如果該 PR 上已有審查正在進行,請求將排隊等待進行中的審查完成。您可以透過 PR 上的檢查執行來監控進度。

161 

162<h3 id="review-pull-requests-from-forks">

163 審查來自複製儲存庫的拉取請求

164</h3>

165 

166Claude 不會自動審查來自複製儲存庫的拉取請求,無論儲存庫的**審查行為**設定如何。若要啟動一個,請在拉取請求上評論 `@claude review`。[評論命令的要求](#manually-trigger-reviews)仍然適用,您需要的寫入存取權是針對基礎儲存庫,而不是複製儲存庫。

167 22 

168若要獲得複製儲存庫拉取請求的另一次審查,請發佈新的 `@claude review` 評論。`@claude review always` 也有效,但不會訂閱拉取請求以進行後續推送上的審查。除了評論命令外,沒有其他方式可以在複製儲存庫拉取請求上啟動審查:23若要啟用 Code Review,您 Claude 組織的擁有者需依照[設定 Code Review](/docs/zh-TW/code-review-setup) 操作。Claude 也可以在不使用此服務的情況下審查程式碼。在任何方案上,於您的 Claude Code 工作階段中執行 [`/code-review`](/docs/zh-TW/code-review-local),或[比較所有選項](#compare-ways-to-get-a-review)。

169 24 

170* 在檢查執行上點擊**重新執行**不會啟動審查25<h2 id="availability">

171* 推送新提交不會啟動審查,即使在設定為**每次推送後**的儲存庫中也不會26 可用性

172 

173<h2 id="customize-reviews">

174 自訂審查

175</h2>27</h2>

176 28 

177Code Review 從您的儲存庫讀取兩個檔案來指導它標記的內容。它們在影響審查的強度上有所不同:29在設定 Code Review 之前,請確認您的組織符合資格:

178 

179* **`CLAUDE.md`**:Claude Code 用於所有任務(不僅是審查)的共享專案指示。Code Review 將其作為專案背景讀取,並將新引入的違規標記為 nit。

180* **`REVIEW.md`**:僅用於審查的指示,提供給尋找和驗證發現的代理,並由排名和報告發現的代理查詢。使用它來說明您的團隊想要標記什麼、以什麼嚴重程度標記,以及如何報告發現。

181 

182<h3 id="claude-md">

183 CLAUDE.md

184</h3>

185 

186Code Review 讀取您儲存庫的 `CLAUDE.md` 檔案,並將新引入的違規視為[nit 級別](#severity-levels)的發現。這是雙向工作的:如果您的 PR 以使 `CLAUDE.md` 陳述過時的方式更改程式碼,Claude 會標記文件需要更新。

187 

188Claude 在目錄階層的每個級別讀取 `CLAUDE.md` 檔案,因此子目錄的 `CLAUDE.md` 中的規則僅適用於該路徑下的檔案。有關 `CLAUDE.md` 如何運作的更多資訊,請參閱[記憶文件](/docs/zh-TW/memory)。

189 30 

190對於您不想應用於一般 Claude Code 工作階段的審查特定指導,請改用 [`REVIEW.md`](#review-md)。31* **方案**:[Team 和 Enterprise](/docs/zh-TW/feature-availability)

191 32* **程式碼託管**:託管於 GitHub 的儲存庫,包括 [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server) 以及具備資料落地功能的 GitHub Enterprise Cloud。若要使用資料落地,請由擁有者依照 [GitHub Enterprise Server 管理員設定](/docs/zh-TW/github-enterprise-server#admin-setup)操作,並輸入您企業的 `ghe.com` 主機名稱。

192<h3 id="review-md">33* **資料保留**:對於啟用了 [Zero Data Retention](/docs/zh-TW/zero-data-retention) 或套用了 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織,Code Review 不可用,且不在 Anthropic 的商業夥伴協議(BAA)涵蓋範圍內。

193 REVIEW\.md34* **加密金鑰**:Code Review 目前尚不適用於使用客戶管理加密金鑰(CMEK)的組織。

194</h3>35* **雲端供應商**:即使您的開發人員透過 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 使用 Claude Code,您仍需要一個使用上述方案之一的 Claude 組織

195 36 

196`REVIEW.md` 是位於您儲存庫根目錄的檔案,可將 Code Review 調整為適合您的儲存庫。審查管道中尋找和驗證發現的代理會收到其內容作為您儲存庫的審查指示,以及 Code Review 的預設審查指導,排名和報告發現的代理在確定嚴重程度和撰寫審查之前會查詢它。37<h2 id="set-up-and-use-code-review">

197 38 設定及使用 Code Review

198將您想要強制執行的規則直接放在 `REVIEW.md` 中。

199 

200<h4 id="what-you-can-tune">

201 您可以調整的內容

202</h4>

203 

204`REVIEW.md` 是自由格式的 markdown,因此任何您可以表達為審查指示的內容都在範圍內。下面的模式在實踐中影響最大。

205 

206**嚴重程度**:重新定義 🔴 Important 對您的儲存庫的含義。預設校準針對生產程式碼;文件儲存庫、設定儲存庫或原型可能需要更狹隘的定義。明確說明哪些發現類別是 Important,哪些最多是 Nit。您也可以朝另一個方向升級,例如將任何 `CLAUDE.md` 違規視為 Important,而不是預設的 nit。

207 

208**Nit 數量**:限制單個審查發佈的 🟡 Nit 評論數量。散文和設定檔案可以永遠被打磨。像「最多報告五個 nit,在摘要中提及其餘的計數」這樣的上限可以保持審查的可操作性。

209 

210**跳過規則**:列出 Claude 應該不發佈任何發現的路徑、分支模式和發現類別。常見的候選項是生成的程式碼、lockfile、供應商依賴項和機器編寫的分支,以及您的 CI 已經強制執行的任何內容,如 linting 或拼寫檢查。對於值得進行某些審查但不需要完全審查的路徑,設定更高的標準,而不是完全跳過:「在 `scripts/` 中,僅在接近確定且嚴重時報告。」

211 

212**儲存庫特定檢查**:新增您想在每個 PR 上標記的規則,例如「新 API 路由必須有整合測試。」因為 `REVIEW.md` 直接到達每個發現和驗證代理,這些比長 `CLAUDE.md` 中的相同規則更可靠地著陸。

213 

214**驗證標準**:在發佈發現類別之前需要證據。例如,「行為聲明需要來源中的 `file:line` 引用,而不是從命名推斷」會減少虛假正面,否則會使作者往返一次。

215 

216**重新審查收斂**:告訴 Claude 當 PR 已經被審查時如何表現。像「在第一次審查後,抑制新的 nit 並僅發佈 Important 發現」這樣的規則會阻止單行修復因風格而到達第七輪。

217 

218**摘要形狀**:要求審查正文以單行計數開頭,例如 `2 factual, 4 style`,並在情況如此時以「no factual issues」開頭。作者想在詳細資訊之前了解工作的形狀。

219 

220<h4 id="example">

221 範例

222</h4>

223 

224此 `REVIEW.md` 為後端服務重新校準嚴重程度、限制 nit、跳過生成的檔案,並新增儲存庫特定檢查。

225 

226```markdown theme={null}

227# Review instructions

228 

229## What Important means here

230 

231Reserve Important for findings that would break behavior, leak data,

232or block a rollback: incorrect logic, unscoped database queries, PII

233in logs or error messages, and migrations that aren't backward

234compatible. Style, naming, and refactoring suggestions are Nit at

235most.

236 

237## Cap the nits

238 

239Report at most five Nits per review. If you found more, say "plus N

240similar items" in the summary instead of posting them inline. If

241everything you found is a Nit, lead the summary with "No blocking

242issues."

243 

244## Do not report

245 

246- Anything CI already enforces: lint, formatting, type errors

247- Generated files under `src/gen/` and any `*.lock` file

248- Test-only code that intentionally violates production rules

249 

250## Always check

251 

252- New API routes have an integration test

253- Log lines don't include email addresses, user IDs, or request bodies

254- Database queries are scoped to the caller's tenant

255```

256 

257<h4 id="keep-it-focused">

258 保持專注

259</h4>

260 

261長度是有代價的:冗長的 `REVIEW.md` 會削弱最重要的規則。將其保持為改變審查行為的指示,並將一般專案背景留在 `CLAUDE.md` 中。

262 

263<h2 id="view-usage">

264 查看使用情況

265</h2>39</h2>

266 40 

267前往 [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) 查看整個組織的 Code Review 活動。儀表板顯示:41<span id="set-up-code-review" />

268 42 

269| 部分 | 它顯示什麼 |43<span id="pricing" />

270| :- | :- |

271| PRs reviewed | 在選定時間範圍內審查的 pull request 的每日計數 |

272| Code Review cost | 本月至今的 Code Review 支出 |

273| Feedback | 因開發人員解決問題而自動解決的審查評論計數 |

274| Repository breakdown | 每個儲存庫審查的 PR 計數、解決的評論數和審查執行次數,並附有估計成本和每個 PR 的檢視 |

275 44 

276Code Review cost 卡片僅在選取目前月份時顯示金額。分析中的成本數字可能與您的發票不同。Repository breakdown 的成本以牌價估算,未計入任何折扣或額度,且僅涵蓋 Claude 在 pull request 上發布的審查。如需發票準確的支出,請參閱您的 Anthropic 帳單。45<span id="manually-trigger-reviews" />

277 46 

278<h2 id="pricing">47<span id="customize-reviews" />

279 定價

280</h2>

281 

282Code Review 根據 token 使用量計費。每次審查平均成本為 \$15-25,根據 PR 大小、程式碼庫複雜性和需要驗證的問題數量而變化。Code Review 使用量透過[使用額度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)單獨計費,不計入您方案的包含使用量。

283 

284您選擇的審查觸發器會影響總成本:

285 

286* **PR 建立後一次**:每個 PR 執行一次

287* **每次推送後**:在每次推送時執行,成本乘以推送次數

288* **手動**:在開啟或推送時不執行審查,因此成本僅來自有人要求的審查

289 48 

290在 PR 建立後一次或手動模式中,評論 `@claude review always` [將 PR 選入推送觸發的審查](#manually-trigger-reviews),因此在該評論後每次推送都會產生額外成本。在每次推送後模式中,推送已經觸發審查,因此訂閱不會改變每次推送的成本。評論 `@claude review` 會執行單次審查,無需訂閱未來的推送。Claude 只在有人評論 `@claude review` 時才審查[來自分支的提取請求](#review-pull-requests-from-forks),因此分支提取請求在任何模式下都不會產生每次推送的成本。49<span id="troubleshooting" />

291 50 

292無論您的組織是否使用 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 服務設定限制。51請依您需要完成的事項選擇頁面:

293 52 

294若要監控支出,請使用[分析儀表板](#view-usage)。53<CardGroup cols={2}>

54 <Card title="設定 Code Review" icon="toggle-on" href="/docs/zh-TW/code-review-setup">

55 檢查需求、安裝 Claude GitHub App,並選擇儲存庫、審查等級以及審查執行的時機

56 </Card>

295 57 

296<h2 id="troubleshooting">58 <Card title="自訂 Code Review" icon="sliders" href="/docs/zh-TW/code-review-customize">

297 故障排除59 使用儲存庫中的 `REVIEW.md` 和 `CLAUDE.md` 檔案調整要標記的內容

298</h2>60 </Card>

299 

300審查運行是盡力而為的,失敗的運行永遠不會阻止您的 PR。Code Review 會自動重試某些中斷的審查。本部分涵蓋如何自己再次運行審查,以及在檢查運行報告您找不到的問題時在哪裡查看。

301 61 

302<h3 id="retrigger-a-failed-or-timed-out-review">62 <Card title="在 pull request 上閱讀及請求審查" icon="code-pull-request" href="/docs/zh-TW/code-review-pull-requests">

303 重新觸發失敗或超時的審查63 閱讀發現結果及其嚴重程度,並透過評論請求另一次審查

304</h3>64 </Card>

305 65 

306當審查失敗或超過其時間限制時,檢查運行完成,標題為 **Code review failed** 或 **Code review timed out**。結論仍然是中立的,因此沒有任何東西阻止您的合併。除非檢查運行的摘要說已自動排隊進行新的提交審查,否則請自己再次運行審查。66 <Card title="Code Review 疑難排解" icon="wrench" href="/docs/zh-TW/code-review-troubleshooting">

67 修正未啟動、失敗或因預算而略過的審查

68 </Card>

307 69 

308要再次運行審查,在 PR 上評論 `@claude review`。這啟動一個新的審查,不訂閱 PR 以進行未來推送。如果 PR 不是[來自分支](#review-pull-requests-from-forks),您可以改為在 GitHub 的 Checks 標籤中的 **Claude Code Review** 檢查上點擊 **Re-run**。重新運行也會啟動一個新的審查,不訂閱 PR。70 <Card title="Code Review 成本與使用量" icon="chart-line" href="/docs/zh-TW/code-review-costs">

71 了解審查的計費方式、估算支出、設定每月支出上限,並追蹤審查活動

72 </Card>

73</CardGroup>

309 74 

310<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">75<h2 id="how-reviews-work">

311 審查未運行,PR 顯示預算訊息76 審查的運作方式

312</h3>

313 

314當您組織的 Code Review 每月支出上限已達到,或其用量點數餘額已用盡時,Code Review 會略過審查,並在 PR 上發佈單一評論。該評論和檢查運行卡片都會說明原因,並連結至管理員可進行修正的管理頁面:

315 

316* **已達支出上限**:審查會在下一個計費期開始時恢復,或在管理員於 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) 提高上限後立即恢復

317* **用量點數已用盡**:在管理員於 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) 新增更多[用量點數](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)後,審查即會恢復

318 

319<h3 id="find-issues-that-aren’t-showing-as-inline-comments">

320 查找未顯示為內聯評論的問題

321</h3>

322 

323如果檢查運行標題說發現了問題,但您在差異上看不到內聯審查評論,請在這些其他位置查看發現的位置:

324 

325* **Check run Details**:在 Checks 標籤中的 Claude Code Review 檢查旁邊點擊 **Details**。嚴重程度表列出每個發現及其文件、行和摘要,無論內聯評論是否被接受。

326* **Files changed annotations**:在 PR 上打開 **Files changed** 標籤。發現呈現為直接附加到差異行的註釋,與審查評論分開。

327* **Review body**:如果您在審查運行時推送到 PR,某些發現可能引用當前差異中不再存在的行。這些出現在審查正文文本中的 **Additional findings** 標題下,而不是作為內聯評論。

328 

329<h2 id="review-a-diff-locally">

330 在本地審查差異

331</h2>77</h2>

332 78 

333[`/code-review` 命令](/docs/zh-TW/commands)在您的終端機中審查差異,無需安裝 GitHub App。它會報告正確性錯誤。視您的模型和 effort 等級而定,審查也會涵蓋重用、簡化和效率方面的清理。79<span id="what-code-review-checks" />

334 80 

335`/review` 是 `/code-review` 的別名;在 v2.1.223 之前,它是一個單獨的命令,對 GitHub pull request 執行單次通過、唯讀審查。81預設情況下,Code Review 專注於正確性:會破壞生產環境的錯誤,而不是格式偏好或缺少的測試涵蓋範圍。若要變更它標記的內容,請[新增指導檔案](/docs/zh-TW/code-review-customize)到您的儲存庫。

336 82 

337<Steps>83審查在 Anthropic 基礎設施上分四個階段執行:

338 <Step title="執行 /code-review">

339 從您正在工作的工作階段中,執行命令:

340 84 

341 ```text theme={null}851. **尋找**:多個 agent 並行檢查差異和周圍程式碼。

342 /code-review862. **驗證**:驗證步驟根據程式碼檢查候選發現結果,並過濾掉誤判。

343 ```873. **排名**:剩餘的發現結果經過去重並按嚴重程度排名。

884. **發佈**:審查將其結果發佈到 pull request 上。

344 89 

345 它審查您分支相對於其上游的提交,加上任何未提交的變更,因此它需要在分支或工作樹中有工作才能有內容可報告。若要審查其他內容,請傳遞目標:檔案路徑、PR 編號、分支名稱或參考範圍,例如 `main...my-feature`。90每次審查會在 pull request 上留下以下內容:

346 91 

347 您也可以新增旗標:92* **發現結果**:相關程式碼行上的內聯評論,並在審查正文中提供摘要

93* **檢查執行**:名為 **Claude Code Review**,其[詳細資訊](/docs/zh-TW/code-review-pull-requests#check-run-output)中列出發現結果。檢查執行不會以失敗作結。

94* **未發現任何問題時**:檢查執行的標題顯示為 **Code review found no issues**,且 Claude 會在 pull request 上發佈相同的簡短說明

348 95 

349 * `--fix`:在審查後將發現結果應用到您的工作樹96Code Review 會選擇審查所執行的 Claude 模型,其管理設定不提供模型選擇。若要讓審查更徹底或更精簡,請變更[審查等級](#review-levels)。

350 * `--comment`:將發現結果作為內聯評論發佈在 GitHub pull request 上,或作為單一備註發佈在 GitLab merge request 上

351 * `--post`:在 `github.com` pull request 的 `ultra` 雲端審查上,在啟動對話框中預先選擇將完成的發現結果發佈到 PR;請參閱[將發現結果發佈到 pull request](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更新版本

352 * `--max-findings <n>`、`--max-findings all` 或 `--max-findings default`:最多報告 `n` 個發現結果,或使用 `all` 報告所有發現結果,以取代審查的一般上限。之後的審查會重用您輸入的值,直到您傳遞 `--max-findings default` 為止。需要 Claude Code v2.1.288 或更新版本

353 97 

354 當您為 GitLab merge request 傳遞 `--comment` 時,Claude Code 透過 GitLab 的 `glab` CLI 發佈發現結果。需要 Claude Code v2.1.257 或更新版本。當 `glab` 未安裝時,Claude 會改為在終端中列印發現結果。98擁有者啟用 Code Review 後,每個儲存庫都有一項設定決定[審查執行的時機](/docs/zh-TW/code-review-setup#set-when-reviews-run):在 pull request 開啟時執行一次、每次推送後執行,或僅在請求時執行。無論設定為何,對儲存庫具有寫入權限的人都可以在 pull request 上評論 `@claude review` 來[啟動審查](/docs/zh-TW/code-review-pull-requests#comment-commands)。

355 99 

356 將 merge request 作為其 URL 或 `!123` 參考傳遞。Claude Code 僅當簽出的來源在 `gitlab.com` 上時,才將裸數字或分支名稱視為 merge request。在自管理的 GitLab 執行個體上,傳遞 URL 或 `!123` 形式。100<h3 id="review-levels">

357 </Step>101 審查等級

358 

359 <Step title="繼續工作">

360 審查作為具有自己內容視窗的背景[子代理](/docs/zh-TW/sub-agents)執行,因此它不會填滿您的對話。發現結果在審查完成時到達您的對話。

361 </Step>

362 

363 <Step title="根據發現結果採取行動">

364 要求 Claude 修復審查發現的內容。如果您傳遞了 `--fix` 或 `--comment`,審查已經應用或發佈了其發現結果。

365 </Step>

366</Steps>

367 

368Claude 在這兩個執行中都將發現結果報告為回覆中的文字,即使主應用程式要求發現結果清單:

369 

370* 在終端工作階段中,其中 `/code-review` 作為[分叉子代理](/docs/zh-TW/skills#run-skills-in-a-subagent)執行審查

371* 在具有文字或 JSON 輸出的 `-p` 執行中

372 

373在請求發現結果清單的主應用程式中,例如[桌面應用程式](/docs/zh-TW/desktop#review-your-code),Claude 改為透過 [`ReportFindings` 工具](/docs/zh-TW/tools-reference)報告審查的發現結果。Claude Code 將報告呈現為發現結果清單,每個項目顯示檔案位置、單句摘要,以及當發現結果帶有類別標籤時的標籤,例如 `correctness`。主應用程式請求適用於每個 effort 等級,需要 Claude Code v2.1.218 或更新版本。

374 

375當 Claude 稍後在工作階段中修復報告的發現結果時,它會再次報告它們,Claude Code 會將更新的發現結果清單中的每個發現結果標記為已修復、已跳過或無需變更。

376 

377<h3 id="what-the-review-reads-and-edits">

378 審查讀取和編輯的內容

379</h3>102</h3>

380 103 

381審查遵循您的 `CLAUDE.md`,就像任何 Claude Code 工作階段一樣,但它不讀取 [`REVIEW.md`](#review-md)。背景審查在您工作階段的[檢查點](/docs/zh-TW/checkpointing#subagent-edits-not-restored)之外應用其 `--fix` 編輯,因此 `/rewind` 不會撤銷它們;使用 git 來還原它們。當審查[在前景中執行](#run-in-the-foreground)時,它在您自己的回合期間編輯您的工作樹,因此 `/rewind` 照常還原其編輯。104審查等級決定每次審查的徹底程度,越徹底的審查成本越高:

382 105 

383<h3 id="tune-effort-and-arguments">106* **Quick**:較輕量的檢查。速度最快、成本最低的等級。

384 調整努力和引數107* **Standard**:在深度、速度和成本之間取得平衡。預設等級。

385</h3>108* **Deep**:最徹底的檢查。耗時最長、成本最高。

386 109 

387傳遞 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)以在覆蓋範圍和信心之間取捨。在 `low` 時,審查會報告它最有信心的發現結果,因此您看到的誤報較少。從 `medium` 到 `max`,審查會擴大覆蓋範圍。110擁有者可以[為組織選擇一個等級](/docs/zh-TW/code-review-setup#set-the-default-review-level),並可為個別儲存庫指定自己的等級,例如為例行的程式碼庫使用 Quick,為關鍵的程式碼庫使用 Deep。關於影響每次審查成本的其他因素,請參閱 [Code Review 成本與使用量](/docs/zh-TW/code-review-costs)。

388 111 

389當您未輸入級別時,審查會重用您上次輸入的 `low` 到 `max` 級別,即使在較早的工作階段中,Claude Code 會顯示通知,例如 `重用 high 努力,您上次輸入的級別`。輸入級別,例如 `/code-review high`,以變更稍後執行重用的內容;您在非互動式 `-p` 執行中傳遞的級別不會更新它。`ultra` 既不更新也不使用記住的級別。如果您從未輸入過級別,審查會使用工作階段的當前努力。在 v2.1.223 之前,沒有級別的 `/code-review` 始終使用工作階段的當前努力。112<h3 id="what-a-review-can-access">

390 113 審查可以存取的內容

391在努力級別和旗標之後,Claude Code 以以下兩種方式之一讀取該行的其餘部分:

392 

393* **不使用 `ultra`**:左邊的所有內容都是審查目標,即使它以另一個命令名稱開頭。`/code-review /fix-issue 123` 以 `/fix-issue 123` 作為目標文字進行審查,而不是將 `/fix-issue` 作為第二個[堆疊技能](/docs/zh-TW/skills#pass-arguments-to-skills)載入。在 v2.1.218 之前,堆疊在 `/code-review` 之後的命令會展開為其自己的技能。

394* **使用 `ultra`**:Claude Code 將單個單詞讀取為基礎分支或 PR 編號,並將不命名分支或 PR 的較長文字轉換為[附加到審查的備註](/docs/zh-TW/ultrareview#pass-a-request-in-plain-words)。`/code-review ultra check my auth changes` 審查您的當前分支,Claude 將發現結果與您的備註相關聯。

395 

396<h3 id="run-in-the-foreground">

397 在前景中執行

398</h3>114</h3>

399 115 

400審查預設在背景中執行;在 v2.1.218 之前,它在您的對話中執行。在以下情況下,它改為在前景中執行:116審查透過擁有者[在設定期間安裝](/docs/zh-TW/code-review-setup#turn-on-code-review)的 Claude GitHub App 存取您的儲存庫:

401 117 

402* 您在較早的審查仍在進行時再次執行 `/code-review`118* **執行位置**:在 Anthropic 基礎設施上的受管理環境中。審查不會在[自行託管的環境](/docs/zh-TW/self-hosted-environments)中執行。

403* 您以非互動模式執行它,使用 `-p` 旗標或 Agent SDK;Claude Code 等待審查並在回應中包含發現結果,但 `ultra` 除外,它[不會等待雲端審查](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively)119* **讀取和寫入的內容**:在審查中,對您儲存庫的存取是唯讀的,審查不會推送提交。在 pull request 上,它會發佈評論和[檢查執行](/docs/zh-TW/code-review-pull-requests#check-run-output)、解決自己先前的評論執行緒,並可以用 👀 回應評論命令。應用程式本身擁有由其他 Claude 功能共享的[更廣泛權限集](/docs/zh-TW/github-actions#github-app-permissions)。

404* 您將 [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/zh-TW/env-vars) 設定為 `1`,這也會關閉所有其他背景工作功能120* **檢查程式碼的方式**:審查透過閱讀差異和周圍程式碼進行,不會建置或執行您的程式碼。

405 121 

406<h3 id="let-claude-start-the-review">122<h3 id="who-controls-a-review">

407 讓 Claude 開始審查123 誰控制審查

408</h3>124</h3>

409 125 

410Claude 可以自行開始 `/code-review`。要求它以純文字審查您的變更,它可以執行技能而無需您輸入命令,[排程工作](/docs/zh-TW/scheduled-tasks)以 `/code-review` 作為其提示執行審查。126* **誰可以啟動審查**:在自動執行審查的情況下,開啟 pull request 或推送到 pull request 會啟動審查,[草稿和分叉除外](/docs/zh-TW/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)。[評論命令](/docs/zh-TW/code-review-pull-requests#comment-commands)僅在來自對儲存庫具有寫入權限的人時才會啟動審查。

411 127* **遵循哪些指示**:來自基礎分支或預設分支的 `REVIEW.md`,[絕不會來自 pull request 本身的變更](/docs/zh-TW/code-review-customize#which-branch-review-md-is-read-from)。

412排程工作永遠不會啟動[雲審查](#escalate-to-ultrareview),因此排程 `/code-review` 時不使用 `ultra` 引數。

413 128 

414若要在保持 `/code-review` 可供您輸入的同時停止 Claude 和排程工作開始審查,請將 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 項目新增到[設定檔](/docs/zh-TW/settings#where-settings-live),例如 `~/.claude/settings.json`:129<h2 id="compare-ways-to-get-a-review">

415 130 比較取得審查的方式

416```json theme={null}131</h2>

417{

418 "skillOverrides": {

419 "code-review": "user-invocable-only"

420 }

421}

422```

423 

424在 v2.1.246 之前,Claude 僅在從 Anthropic 擷取的功能旗標開啟它的地方自行開始 `/code-review`。在[不擷取功能旗標的工作階段](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)中,`/code-review` 僅在您輸入時執行,排程的 `/code-review` 作為純文字到達 Claude。

425 

426<h3 id="escalate-to-ultrareview">

427 升級到 ultrareview

428</h3>

429 

430`/code-review ultra --fix` 在雲中執行更深入的 [ultrareview](/docs/zh-TW/ultrareview),然後在它們回到您的工作階段時將其發現結果應用到您的工作樹。

431 

432Ultrareview 使用其自己的範圍:您的當前分支相對於儲存庫的預設分支,加上工作樹中的任何未提交和已暫存變更。對於命名為認證或金鑰的檔案(例如 `.env` 和 `*.tfvars` 檔案),Claude Code 遵循[將本地儲存庫上傳到雲工作階段](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)的規則。傳遞分支名稱,例如 `/code-review ultra develop`,以與不同的基礎進行比較。

433 

434當目標是 `github.com` pull request 時,您可以讓 Claude[將完成的發現結果發佈到 PR](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)作為來自您 GitHub 帳戶的評論。需要 Claude Code v2.1.227 或更新版本。

435 

436<Note>

437 Ultrareview 需要使用 claude.ai 帳戶進行身分驗證,在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用,對於啟用了零資料保留或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織也不可用。當 ultrareview 不可用時,`/code-review ultra` 會改為在您的工作階段中執行本地審查。

438</Note>

439 132 

440若要從指令碼或 CI 作業執行雲端審查,請使用 [`claude ultrareview` 子命令](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively),它會等待發現結果並將其列印到 stdout。133若要找出您可使用的選項,請對照您的方案和程式碼託管檢查**誰可以使用**欄位:

441 134 

442該命令在 v2.1.147 之前被命名為 `/simplify`,當時它預設應用修復。`/simplify` 執行單獨的僅清理審查,該審查應用修復而不尋找錯誤。如果您編寫了 `/simplify` 用於尋找錯誤,請切換到 `/code-review --fix`。135| 選項 | 啟動審查的方式 | 執行位置 | 誰可以使用 |

136| :- | :- | :- | :- |

137| [Code Review](#how-reviews-work) | 依各儲存庫設定的 pull request 活動,或 `@claude review` 評論 | Anthropic 基礎設施 | 使用 Team 或 Enterprise 方案且擁有 GitHub 儲存庫的組織,需由擁有者啟用 |

138| [`/code-review`](/docs/zh-TW/code-review-local) | 您在分支上執行命令 | 您的 Claude Code 工作階段 | 任何人,任何方案 |

139| [Ultrareview](/docs/zh-TW/ultrareview) | 您從 Claude Code 啟動 | 雲端沙箱 | 需要使用 claude.ai 帳戶登入。關於無法使用的情況,請參閱 [Ultrareview](/docs/zh-TW/ultrareview) |

140| 在您自己的 CI 中使用 Claude,搭配 [GitHub Actions](/docs/zh-TW/github-actions) 或 [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd) | 您管道的事件,例如每個 pull request 或 merge request | 您自己的 CI 執行器 | 在 GitHub 或 GitLab 上擁有 Claude API 金鑰或雲端供應商憑證的任何人 |

141| 您自己的審查者,作為 [subagent](/docs/zh-TW/sub-agents) 或 [skill](/docs/zh-TW/skills) | 您或 Claude 在工作階段中叫用它 | 您執行 Claude Code 的任何位置 | 任何自行撰寫的人 |

443 142 

444<h2 id="related-resources">143<h2 id="related-resources">

445 相關資源144 相關資源

446</h2>145</h2>

447 146 

448* [Commands](/docs/zh-TW/commands):在本地 Claude Code 工作階段中運行 `/code-review` 以在推送前檢查差異147* [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server):在自行託管的 GitHub 執行個體上使用 Code Review

449* [GitHub Actions](/docs/zh-TW/github-actions):在您自己的 GitHub Actions 工作流中運行 Claude,以實現超越程式碼審查的自訂自動化148* [GitHub App 權限](/docs/zh-TW/github-actions#github-app-permissions):Claude GitHub App 請求的完整權限集

450* [GitLab CI/CD](/docs/zh-TW/gitlab-ci-cd):GitLab 管道的自託管 Claude 集成

451* [Memory](/docs/zh-TW/memory):`CLAUDE.md` 文件如何在 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 安全開發流程的一層149* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle):自動化審查如何作為 Anthropic 安全開發流程的一層

code-review-costs.md +88 −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# Code Review 費用與用量

6 

7> 估算並限制您的組織在 Claude Code Review 上的支出:審查如何透過用量點數計費、哪些因素影響費用,以及在何處追蹤用量。

8 

9[Code Review](/docs/zh-TW/code-review) 沒有固定的單次審查價格。您的支出取決於每次審查的費用以及執行的審查次數:

10 

11* **每次審查的費用**:隨[審查等級](/docs/zh-TW/code-review-setup#set-the-default-review-level)、變更的大小、周邊程式碼的複雜度,以及需要驗證的候選問題數量而增減

12* **審查次數**:由每個儲存庫中[審查的執行頻率](#how-often-reviews-run)決定

13 

14<h2 id="pricing">

15 定價

16</h2>

17 

18Code Review 依 token 用量透過[用量點數](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)計費,與您方案內含的用量分開計算。審查費用會計入您的組織,而非開啟 PR 或請求審查的開發人員。無論您的組織是否將 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 用於其他 Claude Code 功能,費用都會出現在您的 Anthropic 帳單上。

19 

20<h3 id="how-often-reviews-run">

21 審查的執行頻率

22</h3>

23 

24從管理頁面新增的儲存庫預設為 **After every push**,此設定執行的審查次數最多。每個儲存庫的 [**Review runs** 設定](/docs/zh-TW/code-review-setup#set-when-reviews-run)決定一個 pull request 會進行多少次審查:

25 

26* **Once after PR creation**:在 pull request 開啟、重新開啟或標記為可供審查時執行一次審查

27* **After every push**:每次推送時執行,費用會乘以推送次數

28* **Manual (@claude review)**:開啟或推送時皆不執行審查

29 

30留言命令、草稿以及來自分支(fork)的 pull request 會調整這些次數:

31 

32* **在 Once after PR creation 或 Manual 模式下使用 `@claude review always`**:[讓該 PR 加入推送觸發的審查](/docs/zh-TW/code-review-pull-requests#comment-commands),因此在該留言之後,每次推送都會產生額外費用

33* **在 After every push 模式下使用 `@claude review always`**:推送本來就會觸發審查,因此此訂閱不會改變每次推送的費用

34* **`@claude review`**:執行單次審查,不會訂閱未來的推送

35* **草稿與來自分支的 pull request**:[自動審查會略過這兩者](/docs/zh-TW/code-review-pull-requests#review-drafts-and-pull-requests-from-forks),因此對它們的推送不會增加審查次數

36 

37<h2 id="estimate-your-spend">

38 估算您的支出

39</h2>

40 

41在大規模推行之前,請先進行小規模試行,以根據您自己的 pull request 估算每月支出。

42 

431. 為試行設定[每月支出上限](#limit-your-spend)。

442. 為幾個具代表性的儲存庫啟用 Code Review,並將 **Review runs** 設為 **Once after PR creation** 或 **Manual (@claude review)**。

453. 在執行數次審查後,前往 [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) 的 **Code review** 區段,在 **Repositories** 表格的 **Average cost** 欄中查看每個儲存庫的平均單次審查費用。

464. 將該平均值乘以該儲存庫每月開啟的 pull request 數量。若使用 **After every push**,請再乘以每個 pull request 的一般推送次數。

47 

48儲存庫的平均值會隨其 pull request 的大小以及您選擇的審查等級而變動。

49 

50<h2 id="limit-your-spend">

51 限制您的支出

52</h2>

53 

54若要為 Code Review 設定每月支出上限,請前往 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage),並為 Claude Code Review 服務設定上限。此上限適用於整個組織。

55 

56當下列任一項用盡時,Code Review 會略過審查:

57 

58* **Code Review 支出上限**:您為 Claude Code Review 服務設定的每月上限。此上限會在下一個計費週期開始時重設;若您提高上限,審查會更早恢復。

59* **組織支出上限**:您的組織在用量點數上的整體每月支出上限。可在同一頁面提高此上限。

60* **用量點數餘額**:您的組織的用量點數餘額。可在同一頁面加值點數。

61 

62當剩餘額度少於單次審查的預期費用時,Code Review 也會略過審查。審查被略過時,開發人員會看到一則 [PR 上的留言](/docs/zh-TW/code-review-troubleshooting#review-didn’t-run-and-the-pr-shows-a-budget-message),其中會說明原因並附上用量設定的連結。

63 

64若要監控支出,請使用[分析儀表板](#view-usage)。

65 

66<h2 id="view-usage">

67 檢視用量

68</h2>

69 

70前往 [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) 查看整個組織的 Code Review 活動。

71 

72| 區段 | 顯示內容 |

73| :- | :- |

74| PRs reviewed | 所選時間範圍內每日審查的 pull request 數量 |

75| Code Review cost | 本月至今的 Code Review 支出 |

76| Feedback | 因開發人員已處理問題而自動解決的審查留言數量 |

77| Repository breakdown | 各儲存庫已審查的 PR 數量、已解決的留言數量與審查執行次數,並附有估算費用與各 PR 檢視 |

78 

79只有在選取當月時,Code Review cost 卡片才會顯示金額。分析中的費用數字可能與您的帳單不同。Repository breakdown 的費用是以牌價估算,未計入任何折扣或點數,且僅涵蓋 Claude 已在 pull request 上發布的審查。如需與帳單一致的支出資訊,請參閱您的 Anthropic 帳單。

80 

81<h2 id="related-resources">

82 相關資源

83</h2>

84 

85* [設定 Code Review](/docs/zh-TW/code-review-setup):在此為每個儲存庫選擇審查等級與審查執行時機

86* [在 pull request 上閱讀與請求審查](/docs/zh-TW/code-review-pull-requests):留言命令、來自分支的 pull request,以及審查被略過時開發人員看到的預算訊息

87* [Code Review](/docs/zh-TW/code-review):審查會檢查哪些內容以及會發布哪些內容

88* [有效管理費用](/docs/zh-TW/costs):Claude Code 其他部分的支出控制與用量追蹤

code-review-customize.md +149 −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# 自訂 Code Review

6 

7> 使用 REVIEW.md 和 CLAUDE.md 調整 Code Review 在您的 pull request 上標記的內容:重新校準嚴重程度、略過路徑、新增檢查,並了解套用的是哪一份副本。

8 

9您可以透過將指令提交到儲存庫,來變更 [Code Review](/docs/zh-TW/code-review) 在該儲存庫上標記的內容。這是減少 nit 數量、停止在產生的檔案上留言,或新增團隊重視之規則的方式。請將指令放在以下兩個檔案之一:

10 

11* **`CLAUDE.md`**:Claude Code 在每項任務(包括審查)中都會讀取的[專案指令](/docs/zh-TW/memory)。Code Review 會將其作為專案脈絡讀取,並標記違反這些指令的變更。

12* **`REVIEW.md`**:僅用於審查的指令。用它來說明您的團隊希望標記哪些內容、以何種嚴重程度標記,以及要略過哪些內容。

13 

14在儲存庫根目錄新增 `REVIEW.md` 並合併。接著[保護您的預設分支](#which-branch-review-md-is-read-from)。

15 

16<Note>

17 若要變更審查的詳盡程度或執行時機,請要求 Owner 變更[審查等級](/docs/zh-TW/code-review-setup#set-the-default-review-level)或 [**Review runs** 設定](/docs/zh-TW/code-review-setup#set-when-reviews-run)。

18</Note>

19 

20<h2 id="use-claude-md-for-project-wide-rules">

21 使用 CLAUDE.md 設定全專案規則

22</h2>

23 

24Code Review 會將儲存庫中的 `CLAUDE.md` 檔案作為專案脈絡讀取。違反其中任一規則的變更,會成為一項發現,並依問題套用適當的[嚴重程度等級](/docs/zh-TW/code-review-pull-requests#severity-levels)。

25 

26審查會讀取儲存庫根目錄的 `CLAUDE.md`,以及每個變更檔案之上層目錄中的 `CLAUDE.md` 檔案。當 pull request 變更某個子目錄路徑下的檔案時,就會讀取該子目錄的 `CLAUDE.md`。

27 

28<h2 id="use-review-md-for-review-only-rules">

29 使用 REVIEW\.md 設定僅限審查的規則

30</h2>

31 

32`REVIEW.md` 是位於儲存庫根目錄的檔案,可依您的儲存庫量身調整 Code Review。您也可以在子目錄中新增 `REVIEW.md`,在根目錄檔案之外,針對該路徑下的變更新增檢查。

33 

34負責找出問題的 agent 與負責驗證問題的 agent,都會收到其內容作為您儲存庫的審查指令,並搭配 Code Review 的預設審查指引。撰寫最終審查的步驟,會在確定嚴重程度與撰寫摘要之前參考此檔案。

35 

36以下範例配置包含一個根目錄檔案和一個子目錄檔案:

37 

38```text theme={null}

39your-repo/

40├── REVIEW.md # Root file

41├── services/

42│ └── billing/

43│ └── REVIEW.md # Adds checks for changes under services/billing/

44└── src/

45```

46 

47在依賴子目錄檔案之前,請先保護您的預設分支,並檢查[您的分支設定下審查會讀取哪些內容](#what-a-review-reads-for-each-branch-setup)。

48 

49<Note>

50 Code Review 服務與本機的 [`/code-review` 命令](/docs/zh-TW/code-review-local)是兩個獨立的工具,讀取的檔案也不同。服務會同時讀取 `CLAUDE.md` 和 `REVIEW.md`。`/code-review` 命令是在您自己電腦上的 Claude Code 工作階段中執行,它會讀取您的 `CLAUDE.md` 檔案,但不會讀取 `REVIEW.md`。請將希望在兩處都套用的指引放在 `CLAUDE.md` 中,並將 `REVIEW.md` 保留給 pull request 審查專屬的規則。

51</Note>

52 

53<h3 id="example-review-md">

54 REVIEW\.md 範例

55</h3>

56 

57此 `REVIEW.md` 為後端服務重新校準嚴重程度、限制 nit 數量、略過產生的檔案,並新增儲存庫專屬的檢查。

58 

59```markdown theme={null}

60# Review instructions

61 

62## What Important means here

63 

64Reserve Important for findings that would break behavior, leak data,

65or block a rollback: incorrect logic, unscoped database queries, PII

66in logs or error messages, and migrations that aren't backward

67compatible. Style, naming, and refactoring suggestions are Nit at

68most.

69 

70## Cap the nits

71 

72Report at most five Nits per review.

73 

74## Do not report

75 

76- Anything CI already enforces: lint, formatting, type errors

77- Generated files under `src/gen/` and any `*.lock` file

78- Test-only code that intentionally violates production rules

79 

80## Always check

81 

82- New API routes have an integration test

83- Log lines don't include email addresses, user IDs, or request bodies

84- Database queries are scoped to the caller's tenant

85```

86 

87<h3 id="choose-what-to-write-in-review-md">

88 決定在 REVIEW\.md 中撰寫的內容

89</h3>

90 

91`REVIEW.md` 是自由格式的 Markdown,可變更審查所發現與回報的內容。它不會變更審查的格式。找出您遇到的問題,然後新增如下所示的指令。[範例](#example-review-md)使用了前四項。

92 

93* **錯誤的項目被標記為 Important**:為您的儲存庫重新定義 🔴 Important 的意義。預設校準以正式環境程式碼為目標,而文件儲存庫、設定儲存庫或原型可能需要範圍窄得多的定義。請說明哪些類別的發現屬於 Important,哪些最多只算 Nit。您也可以提高等級,例如將任何違反 `CLAUDE.md` 的情況視為 Important。

94* **nit 太多**:限制單次審查張貼的 🟡 Nit 留言數量。例如「最多回報五個 nit」這樣的上限,能讓審查保持可據以行動。

95* **在產生的檔案或 CI 已檢查的項目上留言**:列出 Claude 應略過發現的路徑與發現類別。常見的候選項目包括產生的程式碼、lockfile 和 vendored 相依套件,以及 CI 已強制執行的任何項目,例如 linting 或拼字檢查。對於值得某種程度審查但不需完整檢視的路徑,請改為設定較高的門檻:「在 `scripts/` 中,僅在幾乎確定且嚴重時才回報。」

96* **團隊規則未被檢查**:新增您希望在每個 pull request 上標記的規則,例如「新的 API 路由必須有整合測試」。

97* **結果證明有誤的發現**:要求某類發現在張貼前必須提供證據。例如,「行為相關的主張需要在原始碼中提供 `file:line` 引用,而非從命名推論」,可減少誤報,避免作者因此多花一次往返。

98 

99其中部分指令[需要根目錄檔案位於受保護的預設分支上](#which-branch-review-md-is-read-from)。

100 

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

102 

103<h3 id="which-branch-review-md-is-read-from">

104 從哪個分支讀取 REVIEW\.md

105</h3>

106 

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

108 

109請將 `REVIEW.md` 保留在預設分支上,並保護該分支。當審查讀取的是受保護預設分支上的副本(即下表第一列)時,會遵循根目錄檔案中的下列指令:

110 

111* 降低發現的嚴重程度

112* 排除路徑、檔案或問題類別

113* 限制 nit 留言數量

114 

115<h4 id="what-counts-as-branch-protection">

116 哪些設定算是分支保護

117</h4>

118 

119Code Review 將下列設定視為保護:

120 

121* **預設分支**:傳統分支保護規則或 ruleset

122* **任何其他分支**:僅限 ruleset

123 

124當 ruleset 限制更新,或要求 pull request 至少取得一次核准時,即視為保護。如果它要求 pull request,還必須在有新推送時撤銷該核准,或要求核准須在最後一次推送之後取得。

125 

126<h4 id="what-a-review-reads-for-each-branch-setup">

127 各種分支設定下審查會讀取的內容

128</h4>

129 

130請在下表第一欄中找出您儲存庫的情況。

131 

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

133| :- | :- | :- |

134| 預設分支受保護,且 pull request 的目標是預設分支,或是未受任何 ruleset 保護的分支 | 預設分支 | 根目錄與子目錄檔案 |

135| pull request 的目標是受 ruleset 保護的其他分支 | 該基礎分支 | 根目錄與子目錄檔案 |

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

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

138 

139如果檢查執行提及 `REVIEW.md`,請參閱[檢查執行提及 REVIEW.md](/docs/zh-TW/code-review-troubleshooting#the-check-run-mentions-review-md)。

140 

141<h2 id="related-resources">

142 相關資源

143</h2>

144 

145* [Code Review](/docs/zh-TW/code-review):此服務是什麼,以及審查如何執行

146* [在 pull request 上閱讀與請求審查](/docs/zh-TW/code-review-pull-requests#severity-levels):各嚴重程度等級的意義,以及發現如何呈現

147* [設定 Code Review](/docs/zh-TW/code-review-setup):由 Owner 設定的審查等級與審查執行時機

148* [使用 `/code-review` 在本機審查](/docs/zh-TW/code-review-local):`/code-review` 命令、其引數與 effort 等級

149* [記憶](/docs/zh-TW/memory):`CLAUDE.md` 檔案在 Claude Code 中的運作方式

code-review-local.md +197 −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# 使用 /code-review 在本機審查

6 

7> 在 Claude Code 工作階段中執行 `/code-review`,找出分支變更中的錯誤、將審查指向 pull request 或路徑,並讓 Claude 套用修正。

8 

9`/code-review` 是在您工作的工作階段中,於 Claude Code 提示詞輸入處輸入的命令。Claude 會審查您分支上的變更、尋找正確性錯誤,並在對話中回報發現的問題。視您的模型與 effort 等級而定,審查也會涵蓋重複利用、簡化與效率方面的整理。

10 

11此命令適用於任何方案。審查在您自己的工作階段中執行,因此會與工作階段的其餘部分一樣,計入您方案的使用量或 API 計費。

12 

13<Note>

14 若要在 GitHub 上自動審查儲存庫中的每個 pull request,請參閱 [Code Review](/docs/zh-TW/code-review),這是由 Owner 為您的組織啟用的託管服務。

15</Note>

16 

17`/review` 是 `/code-review` 的別名。在 v2.1.223 之前,`/review` 是一個獨立的命令,會對 GitHub pull request 執行單次、唯讀的審查。

18 

19<Steps>

20 <Step title="執行 /code-review">

21 執行命令:

22 

23 ```text theme={null}

24 /code-review

25 ```

26 

27 未指定目標時,審查會涵蓋您目前分支上的變更。若要改為將審查指向 pull request、其他分支、路徑或提交範圍,請參閱[選擇要審查的內容](#choose-what-to-review)。

28 

29 您也可以加入旗標:

30 

31 * `--fix`:同時要求 Claude 在審查後將發現的問題套用到您的工作樹。其編輯會經過您的[權限模式](/docs/zh-TW/permission-modes)。

32 * `--comment`:將發現的問題以行內留言的形式張貼到 GitHub pull request,或以單一備註的形式張貼到 [GitLab merge request](#post-findings-to-a-gitlab-merge-request)

33 </Step>

34 

35 <Step title="繼續工作">

36 審查會以背景 [subagent](/docs/zh-TW/sub-agents) 的形式執行,擁有自己的上下文視窗,因此不會填滿您的對話。審查完成時,發現的問題會出現在您的對話中。

37 </Step>

38 

39 <Step title="處理發現的問題">

40 請 Claude 修正審查發現的問題。使用 `--fix` 或 `--comment` 時,Claude 會在審查過程中套用或張貼發現的問題,且可能會請您核准其編輯。

41 </Step>

42</Steps>

43 

44<h2 id="choose-what-to-review">

45 選擇要審查的內容

46</h2>

47 

48若要審查目前分支以外的內容,請在 effort 等級與任何旗標之後輸入目標。Claude 會將該文字作為審查目標接收。目標可以是 pull request 編號、分支名稱、檔案路徑或 Git 修訂範圍。在第一欄找到您要審查的內容,並輸入第二欄所示的內容:

49 

50| 要將審查指向 | 輸入 |

51| :- | :- |

52| 您目前的分支與未提交的變更 | `/code-review` |

53| 您最近的 15 個提交 | `/code-review HEAD~15..HEAD` |

54| 一個分支對照另一個分支 | `/code-review main...my-feature` |

55| 單一提交,其中 `abc1234` 為該提交的雜湊值 | `/code-review abc1234^..abc1234` |

56| 依編號指定的 pull request | `/code-review 1234` |

57| 檔案或目錄路徑 | `/code-review src/auth` |

58 

59未指定目標時,`/code-review` 會審查您分支中領先其上游分支的提交,以及您未提交的變更。若分支沒有上游,Claude 會與 `main` 或前一個提交進行比較。

60 

61使用 `ultra` 時,Claude Code 會以不同方式解讀目標,如 [effort 等級與旗標之後的文字](#text-after-the-effort-level-and-flags)所述。

62 

63<h2 id="what-the-review-reads-and-edits">

64 審查會讀取與編輯的內容

65</h2>

66 

67執行審查前請先確認以下事項,特別是使用 `--fix` 時:

68 

69* **編輯**:未使用 `--fix` 時,審查的指令只要求 Claude 提供報告。使用 `--fix` 時,指令還會要求它將發現的問題套用到您的工作樹。無論哪種情況,任何編輯都會經過您的權限模式。

70* **倒回**:背景審查會在您工作階段的[檢查點](/docs/zh-TW/checkpointing#subagent-edits-not-restored)之外套用其 `--fix` 編輯。之後,`/rewind` 只會還原 Claude 先前已在您的對話中編輯過的檔案。審查對其他檔案的編輯會保留,因此請使用 git 將其還原。當審查[在前景執行](#run-in-the-foreground)時,它會在您自己的回合中編輯工作樹,因此 `/rewind` 會照常還原其編輯。

71* **指令**:審查會遵循您的 `CLAUDE.md`,包括在非互動的 `-p` 執行中。它不會讀取 `REVIEW.md`。該檔案用於設定 GitHub pull request 上的託管 [Code Review 服務](/docs/zh-TW/code-review-customize#use-review-md-for-review-only-rules)。

72 

73<h2 id="how-findings-are-reported">

74 發現的問題如何回報

75</h2>

76 

77在以下兩種執行方式中,Claude 都會以回覆中的文字回報發現的問題:

78 

79* 在終端機工作階段中,`/code-review` 會以 [forked subagent](/docs/zh-TW/skills#run-skills-in-a-subagent) 的形式執行審查

80* 在使用文字或 JSON 輸出的 `-p` 執行中

81 

82在會請求發現問題清單的主機應用程式中(例如[桌面應用程式](/docs/zh-TW/desktop#review-your-code)),Claude 會改為透過 [`ReportFindings` 工具](/docs/zh-TW/tools-reference)回報審查發現的問題。報告會以發現問題清單的形式呈現,每個項目會顯示檔案位置、一句話摘要,以及該問題若帶有類別標籤時所顯示的標籤(例如 `correctness`)。主機請求適用於所有 effort 等級,且需要 Claude Code v2.1.218 或更新版本。

83 

84當 Claude 在工作階段稍後修正已回報的問題時,會再次回報這些問題。接著 Claude Code 會在更新後的發現問題清單中,將每個問題標記為已修正、已略過或無需變更。

85 

86<h2 id="tune-effort-and-arguments">

87 調整 effort 與引數

88</h2>

89 

90除了 `--fix` 與 `--comment` 之外,此命令還接受以下旗標:

91 

92* `--post`:在針對 `github.com` pull request 的 `ultra` 雲端審查中,於啟動對話框中預先選取將完成的發現問題張貼到 PR。請參閱[將發現的問題張貼到 pull request](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更新版本。

93* `--max-findings <n>`、`--max-findings all` 或 `--max-findings default`:回報最多 `n` 個發現的問題,或使用 `all` 回報所有問題,以取代審查的一般上限。當審查透過發現問題工具回報時,上限為 32。之後的審查會沿用您輸入的值,直到您傳入 `--max-findings default` 為止,但在非互動的 `-p` 執行中傳入的值不會被記住。需要 Claude Code v2.1.288 或更新版本。

94 

95傳入 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level),可在涵蓋範圍與信心程度之間取捨。在 `low` 時,審查會回報它最有把握的問題,因此您看到的誤判會較少。從 `medium` 到 `max`,審查會擴大涵蓋範圍。

96 

97若您未輸入等級,審查會沿用您上次輸入的 `low` 到 `max` 之間的等級,即使是在先前的工作階段中輸入的。Claude Code 會顯示如 `Reusing high effort, the level you typed last time` 的通知。以下規則決定每次執行使用哪個等級:

98 

99* **輸入等級**:您輸入的等級(例如 `/code-review high`)會改變之後執行所沿用的等級

100* **非互動執行**:您在非互動 `-p` 執行中傳入的等級不會更新記住的等級

101* **`ultra`**:審查既不使用也不更新記住的等級

102* **從未輸入過等級**:審查會使用工作階段目前的 effort

103 

104在 v2.1.223 之前,未指定等級的 `/code-review` 一律使用工作階段目前的 effort。

105 

106<h3 id="post-findings-to-a-gitlab-merge-request">

107 將發現的問題張貼到 GitLab merge request

108</h3>

109 

110當您為 GitLab merge request 傳入 `--comment` 時,Claude Code 會透過 GitLab 的 `glab` CLI 張貼發現的問題。需要 Claude Code v2.1.257 或更新版本。若未安裝 `glab`,Claude 會改為在終端機中印出發現的問題。

111 

112請以 URL 或 `!123` 參照的形式傳入 merge request。只有當檢出的 origin 位於 `gitlab.com` 時,Claude Code 才會將單純的數字或分支名稱視為 merge request。在自行管理的 GitLab 執行個體上,請傳入 URL 或 `!123` 形式。

113 

114<h3 id="text-after-the-effort-level-and-flags">

115 effort 等級與旗標之後的文字

116</h3>

117 

118在 effort 等級與旗標之後,Claude Code 會將該行的其餘部分讀取為審查目標。`ultra` 引數會改變這種解讀方式:

119 

120* **使用 `ultra` 時**:Claude Code 會將單一字詞讀取為基底分支或 PR 編號。未指明分支或 PR 的較長文字會成為[附加到審查的備註](/docs/zh-TW/ultrareview#pass-a-request-in-plain-words)。`/code-review ultra check my auth changes` 會審查您目前的分支,而 Claude 會將發現的問題與您的備註相關聯。

121* **未使用 `ultra` 時**:剩餘的所有內容都是審查目標,即使它以另一個命令名稱開頭也一樣。`/code-review /fix-issue 123` 會以 `/fix-issue 123` 作為目標文字進行審查,而不是將 `/fix-issue` 載入為第二個[堆疊的 skill](/docs/zh-TW/skills#pass-arguments-to-skills)。在 v2.1.218 之前,堆疊在 `/code-review` 之後的命令會展開為其自己的 skill。

122 

123<h2 id="run-in-the-foreground">

124 在前景執行

125</h2>

126 

127若要讓審查在前景執行,請執行下列其中一項:

128 

129* 以非互動模式執行,使用 `-p` 旗標或 Agent SDK。Claude Code 會等待審查完成,並在回應中包含發現的問題,但 `ultra` 除外,它[不會等待雲端審查](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively)。

130* 將 [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/zh-TW/env-vars) 設為 `1`,這也會關閉所有其他背景任務功能

131* 在先前的審查仍在進行時,再次執行 `/code-review`

132 

133在 v2.1.218 之前,審查會在您的對話中執行。

134 

135<h2 id="let-claude-start-the-review">

136 讓 Claude 啟動審查

137</h2>

138 

139Claude 可以自行啟動 `/code-review`,無需您輸入命令:

140 

141* **當您以一般語言提出要求時**:請 Claude 審查您的變更,它就可以執行此 skill

142* **從排程任務**:以 `/code-review` 作為提示詞的[排程任務](/docs/zh-TW/scheduled-tasks)會執行審查

143 

144排程任務永遠不會啟動[雲端審查](#escalate-to-ultrareview),因此請排程不帶 `ultra` 引數的 `/code-review`。

145 

146若要阻止 Claude 與排程任務啟動審查,同時保留 `/code-review` 供您自行輸入,請在[設定檔](/docs/zh-TW/settings#where-settings-live)(例如 `~/.claude/settings.json`)中加入 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 項目:

147 

148```json theme={null}

149{

150 "skillOverrides": {

151 "code-review": "user-invocable-only"

152 }

153}

154```

155 

156在 v2.1.246 之前,只有在從 Anthropic 取得的功能旗標將其開啟時,Claude 才會自行啟動 `/code-review`。在[不取得功能旗標的工作階段](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)中,`/code-review` 只有在您輸入時才會執行,而排程的 `/code-review` 會以純文字形式傳送給 Claude。

157 

158<h2 id="escalate-to-ultrareview">

159 升級至 ultrareview

160</h2>

161 

162`/code-review ultra --fix` 會在雲端執行更深入的 [ultrareview](/docs/zh-TW/ultrareview),然後在發現的問題傳回您的工作階段時,要求 Claude 將其套用到您的工作樹。

163 

164Ultrareview 使用自己的範圍:

165 

166* **比較的內容**:您目前的分支對照儲存庫的預設分支,加上工作樹中未提交與已暫存的變更

167* **敏感檔案**:對於名稱類似憑證或金鑰的檔案(例如 `.env` 與 `*.tfvars` 檔案)的未提交變更,Claude Code 會遵循[將本機儲存庫上傳至雲端工作階段](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)的規則

168* **不同的基底**:傳入分支名稱(例如 `/code-review ultra develop`),即可與不同的基底進行比較

169 

170當目標是 `github.com` pull request 時,您可以讓 Claude 以您的 GitHub 帳戶,將[完成的發現問題以留言形式張貼到 PR](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更新版本。

171 

172<Note>

173 Ultrareview 需要使用 claude.ai 帳戶進行身分驗證。它不適用於 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry,也不適用於已啟用 Zero Data Retention 或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織。在這些情況下,`/code-review ultra` 會改為在您的工作階段中執行本機審查。使用[客戶管理加密金鑰](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)的組織無法執行 ultrareview。若要在本機審查您的變更,請執行 `/code-review`。

174</Note>

175 

176若要從指令碼或 CI 作業執行雲端審查,請使用 [`claude ultrareview` 子命令](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively),它會等待發現的問題並將其印出到 stdout。

177 

178<h2 id="change-or-build-on-the-review">

179 變更或擴充審查

180</h2>

181 

182`/code-review` 是一個[隨附 skill](/docs/zh-TW/skills#bundled-skills):其指令內建於 Claude Code 中,因此磁碟上沒有可開啟或編輯的 `SKILL.md` 檔案。若要讓每次審查都遵循專案規則,請將規則加入您的 `CLAUDE.md`。若要更進一步,請從以下其中一個頁面開始:

183 

184* **取代命令**:名為 `code-review` 的專案或個人 skill 會取代隨附的 skill 執行,而 `/review` 別名則會繼續執行隨附的審查。請參閱[解決名稱相同的 skill](/docs/zh-TW/skills#resolve-skills-that-share-a-name)。

185* **打造您自己的審查者**:撰寫審查者 [subagent](/docs/zh-TW/sub-agents) 或審查 [skill](/docs/zh-TW/skills)

186* **使用相關命令**:[`/simplify`](/docs/zh-TW/commands) 僅審查整理方面的問題並套用其修正,而 [`/verify`](/docs/zh-TW/commands) 會執行您的應用程式以確認變更是否有效

187 

188此命令在 v2.1.147 之前名為 `/simplify`,當時預設會套用修正。若您曾為了找出錯誤而在指令碼中使用 `/simplify`,請改用 `/code-review --fix`。

189 

190<h2 id="related-resources">

191 相關資源

192</h2>

193 

194* [Code Review](/docs/zh-TW/code-review):為您的組織審查 GitHub 上每個 pull request 的託管服務

195* [Ultrareview](/docs/zh-TW/ultrareview):更深入的雲端審查的設定、限制與費用

196* [命令](/docs/zh-TW/commands):`/code-review`、`/review`、`/simplify` 與 `/verify` 的單行參考

197* [Skills](/docs/zh-TW/skills):隨附 skill 的運作方式,以及如何撰寫您自己的 skill

code-review-pull-requests.md +169 −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# 在 pull request 上閱讀與請求審查

6 

7> 在您的 GitHub pull request 上閱讀 Code Review 的發現項目、回應或駁回這些項目,並使用 `@claude review` 請求審查。

8 

9Code Review 是一項託管服務,由您 Claude 組織中的 Owner 為一組 GitHub 儲存庫啟用。啟用後,Claude 會審查這些儲存庫中的 pull request,並將其發現項目以行內留言、審查內文中的摘要,以及名為 **Claude Code Review** 的 check run 形式發佈。審查永遠不會核准或阻擋您的 pull request,且 check run 的結論永遠不會是失敗。

10 

11Owner 可針對每個儲存庫控制[審查的執行時機](/docs/zh-TW/code-review-setup#set-when-reviews-run)以及[審查的深入程度](/docs/zh-TW/code-review-setup#set-the-default-review-level)。

12 

13<Note>

14 如果您的方案不包含 Code Review,您仍可從 Claude Code 工作階段讓 Claude 審查您的分支:請參閱[使用 `/code-review` 在本機審查](/docs/zh-TW/code-review-local)。

15</Note>

16 

17<h2 id="severity-levels">

18 嚴重性等級

19</h2>

20 

21Claude 會將每個發現項目以行內留言形式發佈在相關的程式碼行上,並以三種嚴重性等級之一加以標示:

22 

23| 標示 | 嚴重性 | 意義 |

24| :- | :- | :- |

25| 🔴 | Important | 應在合併前修正的錯誤 |

26| 🟡 | Nit | 小問題,值得修正但不構成阻擋 |

27| 🟣 | Pre-existing | 存在於程式碼庫中、但並非由此 PR 引入的錯誤 |

28 

29當審查記錄了其推理過程時,該發現項目會有一個收合的 **Why this was flagged** 區段。展開即可閱讀 Claude 指出此問題的原因,以及它如何驗證該問題。

30 

31若要變更 Claude 在您的儲存庫中指出的內容或其嚴重性排序方式,請參閱[自訂 Code Review](/docs/zh-TW/code-review-customize)。

32 

33<h2 id="respond-to-findings">

34 回應發現項目

35</h2>

36 

37除非您儲存庫本身的規則有所要求,否則您可以不回應發現項目就直接合併。如果其分支保護[要求解決對話](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-conversation-resolution-before-merging),請在合併前解決每個發現項目的討論串。

38 

39若要清除發現項目,請解決其討論串或推送修正。

40 

41* **不修改程式碼而駁回**:在 GitHub 上自行解決該討論串。僅回覆並不會駁回發現項目。

42* **修正問題**:修改程式碼並推送。pull request 的下一次審查若判定問題已修正,就會解決先前的討論串,無論該審查是在您推送時自動執行,還是由您請求執行。

43* **說明或提出異議**:回覆該留言。Claude 不會立即回應,且回覆不會啟動審查。pull request 的下一次審查會讀取對先前發現項目的回覆,並可能解決該討論串或發佈一則後續回覆。如果同類型的發現項目不斷出現,請請維護者在 [`REVIEW.md`](/docs/zh-TW/code-review-customize#choose-what-to-write-in-review-md) 中新增規則。

44 

45若要在不推送的情況下取得下一次審查,請以[頂層 pull request 留言](#comment-commands)的形式留言 `@claude review`。

46 

47<h2 id="check-run-output">

48 Check run 輸出

49</h2>

50 

51**Claude Code Review** check run 上的 **Details** 連結會以單一表格開啟依嚴重性排序的發現項目,包括 GitHub 未接受其行內留言的任何發現項目:

52 

53| 嚴重性 | 檔案:行 | 問題 |

54| - | - | - |

55| 🔴 Important | `src/auth/session.ts:142` | Token 重新整理與登出發生競爭,導致過時的工作階段仍保持作用中 |

56| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` 在輸入格式錯誤時會無聲地傳回 0 |

57 

58具有行號但未以行內留言形式發佈的發現項目,會以註解形式出現在 **Files changed** 分頁中的相關程式碼行上。Important 發現項目以紅色顯示、nit 以黃色顯示,pre-existing 錯誤則以灰色顯示。

59 

60Check run 的結論為 neutral;當自動審查因推送未變更任何檔案而未執行時,結論則為 skipped。其結論永遠不會是失敗,因此已完成的審查不會使必要檢查失敗。如果您沒有看到發現項目,或審查未執行,請參閱[疑難排解 Code Review](/docs/zh-TW/code-review-troubleshooting)。

61 

62<h3 id="read-the-result-from-a-script">

63 從指令碼讀取結果

64</h3>

65 

66若要從您自己的 CI 控管合併或發佈摘要,請使用 `gh` 和 jq 剖析 Details 文字的最後一行。該行是一則機器可讀的註解。

67 

68<Steps>

69 <Step title="找出 check run ID">

70 從您的 shell 列出該提交的 check run,並取得 `Claude Code Review` 執行的 `id`。將 `OWNER` 和 `REPO` 替換為您的儲存庫擁有者和名稱,並將 `<commit-sha>` 替換為 pull request 的 head 提交:

71 

72 ```bash theme={null}

73 gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'

74 ```

75 </Step>

76 

77 <Step title="讀取嚴重性計數">

78 從該 check run 讀取計數,並將 `CHECK_RUN_ID` 替換為該 ID:

79 

80 ```bash theme={null}

81 gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \

82 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'

83 ```

84 

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

86 </Step>

87 

88 <Step title="依結果採取行動">

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

90 

91 * **`normal` 大於零**:如果您想控管合併,請讓該作業失敗。`normal` 鍵存放的是 Important 發現項目的計數,因此表示 Claude 至少發現了一個值得在合併前修正的錯誤。

92 * **缺少該行**:將其視為沒有判定結果,而非零個發現項目。失敗、逾時、被取消或被較新審查取代的審查,其 check run 不會有這一行,而某些已完成的審查也沒有。

93 </Step>

94</Steps>

95 

96<h2 id="request-a-review">

97 請求審查

98</h2>

99 

100如果您的 pull request 是草稿或來自 fork,自動審查會略過它,因此請[使用留言命令請求審查](#review-drafts-and-pull-requests-from-forks)。若要讓您的 pull request 獲得審查,請執行下列其中一項:

101 

102* **開啟或標記為就緒**:在設定為 **Once after PR creation** 或 **After every push** 的儲存庫中,當您開啟或重新開啟 pull request,或將草稿標記為可供審查時,就會啟動審查。

103* **留言命令**:在 pull request 上發佈 [`@claude review`](#comment-commands)。

104* **推送提交**:在設定為 **After every push** 的儲存庫中,或在您已使用 `@claude review always` 訂閱的 pull request 上,推送會啟動審查。

105* **點擊 Re-run**:在非來自 fork 的 pull request 上,審查失敗或逾時後,可從 check run [再次執行](/docs/zh-TW/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review)。

106* **等待自動重試**:工作階段被中斷的審查會自動重試一次。[Check run 的摘要](/docs/zh-TW/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review)會說明何時正在進行重試。

107 

108<h3 id="comment-commands">

109 留言命令

110</h3>

111 

112在 pull request 上以留言形式發佈下列其中一個命令:

113 

114| 命令 | 作用 | 使用時機 |

115| :- | :- | :- |

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

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

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

119 

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

121 

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

123* 將命令放在留言開頭,且 `always` 必須與命令的其餘部分位於同一行。大小寫不影響。

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

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

126 

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

128 

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

130 

131<Note>

132 在 2026 年 7 月的更新之前,`@claude review` 會讓 PR 訂閱由推送觸發的審查。如果您依賴該行為,請改為留言 `@claude review always`。

133</Note>

134 

135<h3 id="what-a-later-review-covers">

136 後續審查涵蓋的範圍

137</h3>

138 

139自行啟動的後續審查(例如在推送之後)會著重於自上次審查以來的變更,並發佈較少的 nit 和 pre-existing 發現項目。其摘要會在一行以 "found and not posted" 或 "outside the scope of this re-review and not posted." 結尾的文字中,計算它省略的項目數量。

140 

141若要取得不省略任何這些項目的審查,請留言 [`@claude review`](#comment-commands)。它會再次涵蓋整個 pull request。

142 

143<h3 id="review-drafts-and-pull-requests-from-forks">

144 審查草稿與來自 fork 的 pull request

145</h3>

146 

147自動審查會略過這兩者,因此請使用留言命令請求審查:

148 

149* **草稿 pull request**:留言命令可在草稿上執行,因此您可以在將 pull request 標記為就緒之前請求審查。對草稿的推送不會啟動審查,即使在 `@claude review always` 之後也一樣。訂閱會在您將 pull request 標記為就緒後生效。

150* **來自 fork 的 pull request**:無論儲存庫的 **Review runs** 設定為何,Claude 都不會自動審查來自 fork 的 pull request。若要啟動審查,請在 pull request 上留言 `@claude review`。[留言命令的條件](#comment-commands)仍然適用,且您需要的 write 存取權限是針對基礎儲存庫,而非 fork。

151 

152在來自 fork 的 pull request 上,`@claude review always` 也可以使用,但不會讓 pull request 訂閱之後推送的審查。在該處點擊 check run 上的 **Re-run** 不會啟動審查。

153 

154<h3 id="use-code-review-alongside-the-claude-code-github-action">

155 搭配 Claude Code GitHub Action 使用 Code Review

156</h3>

157 

158如果儲存庫也以互動模式執行 [Claude Code GitHub Action](/docs/zh-TW/github-actions),並使用其預設的 `@claude` 觸發詞,`@claude review` 留言也會啟動該 Action。若要將兩者區隔開來,請將該 Action 的 `trigger_phrase` 輸入設定為不同的詞語。

159 

160<h2 id="related-resources">

161 相關資源

162</h2>

163 

164* [疑難排解 Code Review](/docs/zh-TW/code-review-troubleshooting):未啟動、失敗或因預算而被略過的審查

165* [Code Review](/docs/zh-TW/code-review):此服務是什麼,以及審查如何執行

166* [設定 Code Review](/docs/zh-TW/code-review-setup):供 Owner 使用,啟用 Code Review 並選擇審查的執行時機與等級

167* [自訂 Code Review](/docs/zh-TW/code-review-customize):使用 `REVIEW.md` 和 `CLAUDE.md` 變更 Claude 指出的內容

168* [Code Review 費用與使用量](/docs/zh-TW/code-review-costs):審查如何計費,以及支出上限的設定位置

169* [使用 `/code-review` 在本機審查](/docs/zh-TW/code-review-local):從 Claude Code 工作階段對您的分支執行審查

code-review-setup.md +189 −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# 設定 Code Review

6 

7> 為您的 Claude 組織啟用 Code Review:連接 GitHub、安裝 Claude GitHub App、選擇儲存庫,並設定審查的執行時機

8 

9身為 Claude 組織的 Owner,您可以在 claude.ai 的 [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) 中啟用 Code Review。審查在 Anthropic 的基礎架構上執行,因此無需在儲存庫中新增工作流程檔案。

10 

11設定完成後,您可以為每個儲存庫選擇審查的詳盡程度以及執行時機。審查等級越高、審查執行越頻繁,花費就越多。請參閱 [Code Review 費用](/docs/zh-TW/code-review-costs#pricing)。

12 

13<h2 id="what-you-need-to-turn-on-code-review">

14 啟用 Code Review 所需條件

15</h2>

16 

17首先確認您的組織[符合 Code Review 的使用資格](/docs/zh-TW/code-review#availability)。接著確認您本身具備以下存取權,或有具備這些存取權的人員協助:

18 

19| 存取權 | 用途 |

20| :- | :- |

21| 在 Claude 組織中擁有 [Owner 角色](/docs/zh-TW/server-managed-settings#access-control) | 管理頁面上的每個步驟 |

22| GitHub 組織的 owner | 安裝 Claude GitHub App 並[將其連結至您的 Claude 組織](/docs/zh-TW/admin-setup#connected-github-accounts)。如果您不是 owner,請在開始之前請一位 owner 安裝並連結此應用程式 |

23| 您連接至 Claude 的 GitHub 帳戶對每個要新增的儲存庫具有寫入存取權 | 新增儲存庫 |

24 

25<h2 id="turn-on-code-review">

26 啟用 Code Review

27</h2>

28 

29<Steps>

30 <Step title="點選 Allow code review 開關">

31 前往 [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) 的 **Code review** 區段,然後點選 **Allow code review** 開關。

32 

33 如果 Code Review 立即啟用且未出現任何對話方塊,表示您的組織已連結 Claude GitHub App 或已新增儲存庫。請前往[新增更多儲存庫](#add-more-repositories),再回來執行最後一個步驟。

34 </Step>

35 

36 <Step title="連接您的 GitHub 帳戶">

37 如果開啟了 **Connect GitHub** 對話方塊,請點選 **Connect**。如果您的組織使用 GitHub Enterprise Server,請先在對話方塊中選擇您的執行個體。GitHub 會要求您授權 Claude,然後將您帶回管理頁面,並開啟 **Add a repository** 對話方塊。

38 

39 如果直接開啟了 **Add a repository**,表示您的帳戶已連接,請繼續下一個步驟。

40 </Step>

41 

42 <Step title="安裝 Claude GitHub App">

43 如果您想要的儲存庫已列在 **Add a repository** 對話方塊中,或可在其中搜尋到,請繼續下一個步驟。對話方塊只會列出 Claude GitHub App 可存取的儲存庫,因此如果找不到,請安裝此應用程式:

44 

45 * 點選 **Install GitHub App**。若未列出任何儲存庫,它會是對話方塊中的一個按鈕;否則,它位於對話方塊中 GitHub 組織篩選選單的底部。GitHub 的安裝頁面會在新分頁中開啟。

46 * 選擇擁有這些儲存庫的 GitHub 組織。

47 * 選擇應用程式可存取的儲存庫。

48 * 核准所要求的權限。這組權限的範圍比審查實際使用的更廣,並與其他 Claude 功能共用,例如 [GitHub Actions](/docs/zh-TW/github-actions)。請參閱[審查可存取的內容](/docs/zh-TW/code-review#what-a-review-can-access)以及[完整權限清單](/docs/zh-TW/github-actions#github-app-permissions)。

49 * 安裝完成後,該分頁會返回 Claude。如果顯示 **Finish connecting GitHub** 按鈕,請點選它,將此安裝連結至您的 Claude 組織。

50 * 回到管理頁面的分頁,對話方塊中的清單會重新整理。

51 </Step>

52 

53 <Step title="選擇儲存庫">

54 選擇您要進行審查的儲存庫,然後點選 **Continue**。新增儲存庫需要您所連接的 GitHub 帳戶對該儲存庫具有寫入存取權。您之後可以[新增更多儲存庫](#add-more-repositories)。

55 </Step>

56 

57 <Step title="點選 Finish">

58 接著會出現 **Code review is set up** 對話方塊。點選 **Finish** 即可啟用 Code Review。如果以其他方式關閉此對話方塊,您的儲存庫仍會保持已新增狀態,但 **Allow code review** 會維持關閉,您需要透過該開關將其開啟。

59 

60 每個儲存庫一開始都設定為在每次推送後進行審查,這會執行最多次審查。若要減少審查次數,請[設定審查的執行時機](#set-when-reviews-run)。

61 </Step>

62 

63 <Step title="以測試 pull request 驗證">

64 在您新增的其中一個儲存庫中開啟一個測試 pull request,且不要將其標示為草稿。幾分鐘內會出現名為 **Claude Code Review** 的 check run。如果您已將該儲存庫設定為 **Manual (@claude review)**,請在 pull request 上留言 `@claude review` 以啟動第一次審查。

65 

66 如果沒有出現 check run,請參閱 [No check run appears on the test pull request](/docs/zh-TW/code-review-troubleshooting#no-check-run-appears-on-the-test-pull-request)。

67 

68 審查結果出現後,請將[在 pull request 上閱讀及請求審查](/docs/zh-TW/code-review-pull-requests)提供給您的開發人員,其中涵蓋嚴重程度等級、留言命令,以及如何回應審查發現。

69 </Step>

70</Steps>

71 

72<h2 id="set-defaults-for-your-organization">

73 為您的組織設定預設值

74</h2>

75 

76身為 Owner,您可以決定審查的詳盡程度及執行頻率。這兩項都位於 [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) 的 **Code review** 區段中。

77 

78<h3 id="set-the-default-review-level">

79 設定預設審查等級

80</h3>

81 

82審查等級決定每次審查的詳盡程度,越詳盡的審查費用越高。您可以為組織設定一個預設值,並針對個別儲存庫進行覆寫。

83 

84| 等級 | 取捨 |

85| :- | :- |

86| Quick | 較輕量的檢查。最快的等級,費用最低 |

87| Standard | 在深度、速度與費用之間取得平衡。預設等級 |

88| Deep | 最詳盡的檢查。耗時最長,費用最高 |

89 

90* **組織預設值**:在 **Review level** 下選擇一個等級,並以 **Change level** 確認。除非您為某個儲存庫另行設定,否則所有儲存庫都會使用此等級。

91* **單一儲存庫**:點選該儲存庫所在列的 **Edit**,然後在其中選擇 **Review level**。第一個選項 **Default** 會沿用組織設定。選擇後等級會立即儲存。

92 

93新的等級會套用於變更後開始的審查。關於其他影響每次審查費用的因素,請參閱 [Code Review 費用與使用量](/docs/zh-TW/code-review-costs)。

94 

95<h3 id="set-when-reviews-run">

96 設定審查的執行時機

97</h3>

98 

99每個儲存庫都有各自的 **Review runs** 設定,用於決定其 pull request 何時接受審查。

100 

101* **Once after PR creation**:當 pull request 被開啟、重新開啟或標示為可供審查時,執行一次審查

102* **After every push**:每次推送至 pull request 分支時執行審查,隨著 pull request 的演進發現新問題,並在您修正所指出的問題時自動解決討論串

103* **Manual (@claude review)**:開啟 pull request 或推送至 pull request 不會啟動審查。留言 [`@claude review`](/docs/zh-TW/code-review-pull-requests#comment-commands) 以請求審查,或留言 `@claude review always`,讓該 pull request 在後續推送時也會接受審查。

104 

105Manual 適用於流量大的儲存庫,讓您選擇特定 pull request 進行審查,或僅在 pull request 準備就緒時才開始審查。若要比較各選項對花費的影響,請參閱[審查的執行頻率](/docs/zh-TW/code-review-costs#how-often-reviews-run)。

106 

107若要變更此設定,請在 **Repositories** 表格中點選該儲存庫所在列的 **Edit**,然後選擇一個 **Review runs** 選項。選擇後會立即儲存,表格的 **Review runs** 欄位會以簡短形式顯示為 Once per PR、Every push 或 Manual。

108 

109* **草稿及來自 fork 的 pull request**:無論您選擇哪個選項,[自動審查都會略過這兩者](/docs/zh-TW/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)

110* **新儲存庫**:從 **Add a repository** 對話方塊新增的儲存庫一開始設定為 **After every push**。如果其 GitHub 組織已[整體涵蓋](#cover-a-whole-github-organization),則會改為採用該組織列的設定。

111 

112<h3 id="turn-tip-comments-on-or-off">

113 開啟或關閉提示留言

114</h3>

115 

116提示留言是當審查未啟動時,Claude 在 pull request 上發布的簡短留言,說明原因及後續步驟。**Show tips on pull requests** 預設為開啟。開啟時,Claude 會在下列各情況發布提示,說明:

117 

118* **儲存庫設定為 Manual**:如何透過留言請求審查

119* **pull request 來自 fork**:維護者可以請求審查

120* **機器人或沒有寫入存取權的人留言 `@claude review`**:未啟動審查,以及誰可以請求審查

121* **GitHub 組織未連結至您的 Claude 組織**:審查已暫停,以及如何進行連結

122 

123關閉此設定即可停止這些留言。

124 

125<h3 id="what-developers-can-change">

126 開發人員可以變更的項目

127</h3>

128 

129開發人員若要變更審查等級、**Review runs** 設定,或哪些儲存庫接受審查,需要向您提出。在沒有 Owner 角色的情況下,他們可以在 GitHub 上執行以下操作:

130 

131* **請求審查**:在 pull request 上留言 [`@claude review`](/docs/zh-TW/code-review-pull-requests#comment-commands)。這需要對該儲存庫具有寫入存取權,且適用於自動審查會略過的[草稿及來自 fork 的 pull request](/docs/zh-TW/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)。

132* **讓單一 pull request 在每次推送時接受審查**:在非[草稿或非來自 fork](/docs/zh-TW/code-review-pull-requests#review-drafts-and-pull-requests-from-forks) 的 pull request 上留言 `@claude review always`,例如在設定為 Manual 的儲存庫中

133* **變更審查所指出的問題**:將 [`REVIEW.md` 和 `CLAUDE.md` 檔案](/docs/zh-TW/code-review-customize)提交至儲存庫,例如新增一項檢查

134 

135開發人員所請求的審查會[向您的組織計費](/docs/zh-TW/code-review-costs#pricing)。若要限制 Code Review 每月的花費,請參閱[限制您的花費](/docs/zh-TW/code-review-costs#limit-your-spend)。

136 

137<h2 id="manage-repositories">

138 管理儲存庫

139</h2>

140 

141您可以逐一新增儲存庫,或一次涵蓋整個 GitHub 組織,並在不需要審查的地方停止審查。

142 

143<h3 id="add-more-repositories">

144 新增更多儲存庫

145</h3>

146 

147若要在設定完成後新增儲存庫,請點選 **Code review** 區段中 **Repositories** 表格上方的 **Add**。**Add a repository** 對話方塊會開啟。選擇儲存庫並點選 **Continue**。

148 

149* **某個儲存庫未列出**:請參閱 [A repository isn't listed in Add a repository](/docs/zh-TW/code-review-troubleshooting#a-repository-isn’t-listed-in-add-a-repository)。

150* **您想要 GitHub 組織中的所有儲存庫**:請[涵蓋該組織](#cover-a-whole-github-organization),而非逐一選擇儲存庫

151 

152<h3 id="cover-a-whole-github-organization">

153 涵蓋整個 GitHub 組織

154</h3>

155 

156若要為 GitHub 組織中的所有儲存庫啟用 Code Review,請在 **Repositories** 表格中該組織所在的列設定 **Review runs**。這會涵蓋該組織中 Claude GitHub App 可存取的所有儲存庫,包括之後新增的儲存庫。這可能會大幅增加花費。需要滿足以下所有條件:

157 

158* 您連接至 Claude 的 GitHub 帳戶是該 GitHub 組織的 owner。

159* 該組織位於 github.com 上。GitHub Enterprise Server 執行個體及個人 GitHub 帳戶不符合資格。

160* 已為您的 Claude 組織或 Code Review 設定[每月花費上限](/docs/zh-TW/code-review-costs#limit-your-spend)。

161 

162若要涵蓋該組織,請點選其所在列的 **Edit**,選擇一個 **Review runs** 選項並確認。選項包括[設定審查的執行時機](#set-when-reviews-run)中的三個選項,再加上 **Off**。

163 

164確認後,以下變更會生效:

165 

166* **涵蓋範圍**:每個儲存庫會從其下一個 pull request 開始受到涵蓋。如果 Claude GitHub App 是安裝在選定的儲存庫而非全部儲存庫上,Claude 會審查那些儲存庫;請在 GitHub 上變更應用程式的儲存庫存取權以涵蓋其餘儲存庫。

167* **現有設定**:該 GitHub 組織中的每個儲存庫都會採用您選擇的選項,包括您先前個別設定的儲存庫。再次設定該列也會產生相同效果。您在其各自所在列上關閉的儲存庫會維持關閉。

168* **之後的個別變更**:您之後設定為與其組織不同的儲存庫,會在表格中標示為 **Custom**。

169* **審查等級**:組織列本身沒有審查等級。

170 

171<h3 id="turn-off-code-review-or-remove-a-repository">

172 關閉 Code Review 或移除儲存庫

173</h3>

174 

175在 [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) 的 **Code review** 區段中,選擇與您要停止的項目相符的控制項:

176 

177* **單一儲存庫,保留在清單中**:點選其所在列的 **Edit**,然後關閉 **Code review**。表格會將該儲存庫顯示為 Off。

178* **單一儲存庫,將其移除**:點選其所在列的 **Edit**,然後點選對話方塊底部的 **Remove repository**。該儲存庫的審查會停止,之後其他 Claude 組織便可以設定該儲存庫。當該儲存庫的 GitHub 組織被整體涵蓋時,您無法將其移除;請改為關閉其 **Code review** 開關。

179* **整個 GitHub 組織**:點選該組織所在列的 **Edit**,然後選擇 **Off**。這也會關閉該組織中您逐一新增的儲存庫。

180* **全部**:關閉 **Allow code review**。所有儲存庫都不會再啟動新的審查,而您的儲存庫清單會保留,以便您之後重新開啟。

181 

182<h2 id="related-resources">

183 相關資源

184</h2>

185 

186* [Code Review 費用與使用量](/docs/zh-TW/code-review-costs):審查等級及審查執行時機如何影響花費、如何設定花費上限,以及在哪裡查看使用量

187* [在 pull request 上閱讀及請求審查](/docs/zh-TW/code-review-pull-requests):開發人員在 pull request 上看到的內容及留言命令

188* [自訂 Code Review](/docs/zh-TW/code-review-customize):使用 `REVIEW.md` 和 `CLAUDE.md` 調整 Claude 所指出的問題

189* [GitHub Enterprise Server](/docs/zh-TW/github-enterprise-server):在設定之前連接自行託管的 GitHub 執行個體

code-review-troubleshooting.md +113 −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# Code Review 疑難排解

6 

7> 修正未啟動、失敗或因預算而略過的 Code Review,找出遺漏的發現,並解決設定與 `REVIEW.md` 相關問題。

8 

9當 [Code Review](/docs/zh-TW/code-review) 在 pull request 上未如預期運作時,請先查看 **Claude Code Review** check run。其標題會說明審查進行到哪個階段。

10 

11<h2 id="check-how-far-the-review-got">

12 檢查審查進行到哪個階段

13</h2>

14 

15在 pull request 上找到 **Claude Code Review** check run,然後將其標題與下列常見標題進行比對:

16 

17| Check run 標題 | 代表意義 | 處理方式 |

18| :- | :- | :- |

19| **Code review queued...** 或 **Code review in progress...** | 審查尚未完成 | 等待標題變更 |

20| **Code review found no issues** | 審查已完成,且未發現需要標記的問題 | 無需處理 |

21| 表示發現問題的標題 | 審查已完成並有發現 | 若在差異中看不到這些發現,請參閱[找出未顯示為行內留言的問題](#find-issues-that-aren’t-showing-as-inline-comments) |

22| **Code review skipped — no new changes** | 最新一次推送未執行自動審查 | 若仍想取得審查,請留言 `@claude review` |

23| **Code review failed** 或 **Code review timed out** | 審查未完成 | 若要重新執行,請參閱[重新觸發失敗或逾時的審查](#retrigger-a-failed-or-timed-out-review) |

24| **Code review declined** | 審查未執行 | 閱讀 check run 的摘要。若其中提及預算或支出上限,請參閱[審查未執行且 PR 顯示預算訊息](#review-didn’t-run-and-the-pr-shows-a-budget-message) |

25| 沒有 check run | 審查未啟動 | 留言 `@claude review`。若之後仍未出現 check run,請參閱[留言命令未啟動審查](#a-comment-command-didn’t-start-a-review) |

26 

27<h2 id="a-review-didn’t-start">

28 審查未啟動

29</h2>

30 

31當未出現 **Claude Code Review** check run,或 Claude 發布留言表示審查已略過時,請檢查下列情況。

32 

33<h3 id="a-comment-command-didn’t-start-a-review">

34 留言命令未啟動審查

35</h3>

36 

37留言 `@claude review` 之後,請在 pull request 上尋找標題為 **Code review queued...** 或 **Code review in progress...** 的 **Claude Code Review** check run。留言上出現 👀 反應並不代表審查即將進行。若未出現 check run,請逐一檢查下列原因:

38 

39* **此儲存庫未啟用 Code Review**:Claude 不會針對該命令發布任何留言或 check run。請聯絡 Owner [新增此儲存庫](/docs/zh-TW/code-review-setup#add-more-repositories)。

40* **留言不符合條件**:該留言是行內留言或審查內文,而非新的頂層留言,或命令未位於留言開頭。編輯先前的留言而非發布新留言同樣不算數,且 pull request 必須處於開啟狀態。請參閱[留言命令的條件](/docs/zh-TW/code-review-pull-requests#comment-commands),並發布符合條件的新留言。

41* **您沒有寫入權限**:您需要具備儲存庫的 write、maintain 或 admin 權限;若是來自 fork 的 pull request,則以基底儲存庫上的權限為準。若您的組織已啟用提示,Claude 會回覆「No review was started: manual reviews can only be requested by someone with write access to this repository.」請改由具有寫入權限的人員留言。

42* **預算已用盡**:Claude 會發布以「⚠️ Code review skipped」開頭的留言。請參閱[審查未執行且 PR 顯示預算訊息](#review-didn’t-run-and-the-pr-shows-a-budget-message)。

43 

44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">

45 審查未執行且 PR 顯示預算訊息

46</h3>

47 

48當組織的預算不足以支付一次審查時,Code Review 會略過該審查,而 Claude 會在 pull request 上發布以「⚠️ Code review skipped」開頭的留言。在其中部分情況下,也會出現標題為 **Code review declined** 的 check run。

49 

50該留言會連結至 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage),管理員可在此恢復預算。留言的措辭會說明達到的是哪一項上限:

51 

52* **「has reached its monthly code review spending cap」**:已達到 [Code Review 的每月支出上限](/docs/zh-TW/code-review-costs#limit-your-spend)。審查將於下一個計費週期開始時恢復。若要提早恢復,請聯絡管理員提高上限。

53* **「has no extra usage available to pay for this review」**:組織的[用量點數](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)餘額已用完,或已達到其整體每月支出上限。請聯絡管理員加購用量點數或提高該上限。

54* **「is too low to start another review」**:剩餘的預算或餘額低於一次審查的預估費用。請聯絡管理員提高上限或加購用量點數。

55 

56恢復預算後,請在 pull request 上留言 `@claude review`,以取得先前被略過的審查。此時適用[留言命令的條件](/docs/zh-TW/code-review-pull-requests#comment-commands),因此留言者需要具備寫入權限。

57 

58<h2 id="retrigger-a-failed-or-timed-out-review">

59 重新觸發失敗或逾時的審查

60</h2>

61 

62若 check run 的摘要顯示「The review session was interrupted before it could finish. A new review of this commit has been queued automatically.」,則您無需採取任何動作。該審查會自動重試一次。

63 

64否則,當 check run 的標題為 **Code review failed** 或 **Code review timed out** 時,請透過留言或重新執行再次進行審查:

65 

66* **留言 `@claude review`**:在 pull request 上以頂層留言的方式發布。這會啟動一次全新的審查,且不會讓 pull request 訂閱之後的推送。

67* **點擊 Re-run**:若 pull request 並非[來自 fork](/docs/zh-TW/code-review-pull-requests#review-drafts-and-pull-requests-from-forks),請在 GitHub 的 **Checks** 分頁中,點擊 **Claude Code Review** 檢查上的 **Re-run**。重新執行會涵蓋 pull request 目前的 head 提交,同樣不會讓 pull request 訂閱之後的推送。

68 

69<h2 id="find-issues-that-aren’t-showing-as-inline-comments">

70 找出未顯示為行內留言的問題

71</h2>

72 

73若 check run 標題表示已發現問題,但您在差異中看不到行內審查留言,請查看下列其他顯示發現的位置:

74 

75* **Check run Details**:在 **Checks** 分頁中,點擊 **Claude Code Review** 檢查旁的 **Details**。嚴重程度表格會列出各項發現及其檔案、行號與摘要,無論行內留言是否被接受皆會列出。

76* **Files changed 註解**:開啟 PR 上的 **Files changed** 分頁。具有行號但未以行內留言發布的發現,會以註解的形式顯示在相關行上。

77* **審查內文**:沒有行內位置,或位於目前差異範圍之外的發現,會顯示在審查內文中的 **Additional findings** 標題下。

78 

79<h2 id="the-check-run-mentions-review-md">

80 Check run 提及 REVIEW\.md

81</h2>

82 

83Check run 中可能出現的 `REVIEW.md` 相關訊息中,有兩則與分支保護有關:

84 

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

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

87 

88<h2 id="setup-problems">

89 設定問題

90</h2>

91 

92這些情況會在 Owner [設定 Code Review](/docs/zh-TW/code-review-setup) 時發生。

93 

94<h3 id="a-repository-isn’t-listed-in-add-a-repository">

95 儲存庫未列在 Add a repository 中

96</h3>

97 

98請先依名稱搜尋儲存庫,因為該對話方塊不會完整載入過長的清單。只有 Claude GitHub App 能夠存取的儲存庫才會列在對話方塊中。請點擊 **Install GitHub App**,並授予該應用程式存取此儲存庫的權限。當未列出任何儲存庫時,**Install GitHub App** 會是對話方塊中的一個按鈕;否則,它位於對話方塊中 GitHub 組織篩選選單的底部。

99 

100<h3 id="no-check-run-appears-on-the-test-pull-request">

101 測試用的 pull request 上未出現 check run

102</h3>

103 

104請確認 **Allow code review** 已開啟、該儲存庫已列在 **Code review** 區段的 **Repositories** 下,且 Claude GitHub App 具有存取該儲存庫的權限。自動審查會略過草稿 pull request,而設為 **Manual (@claude review)** 的儲存庫則需要留言 `@claude review` 才會啟動第一次審查。

105 

106<h2 id="related-resources">

107 相關資源

108</h2>

109 

110* [在 pull request 上閱讀與請求審查](/docs/zh-TW/code-review-pull-requests):發現與 check run 的意義,以及留言命令

111* [設定 Code Review](/docs/zh-TW/code-review-setup):供 Owner 使用,啟用 Code Review 並管理儲存庫

112* [Code Review 費用與用量](/docs/zh-TW/code-review-costs):預算訊息背後的支出上限

113* [自訂 Code Review](/docs/zh-TW/code-review-customize):審查會讀取哪一份 `REVIEW.md`

commands.md +2 −2

Details

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

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

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

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

76| `/color [color\|default]` | 設定目前工作階段的提示詞欄顏色。可用顏色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或運行時不帶引數以選擇隨機顏色。當 [Remote Control](/docs/zh-TW/remote-control) 連接時,顏色會同步到 claude.ai/code。也可在非互動模式 (`-p`) 中使用 |76| `/color [color\|default]` | 設定目前工作階段的提示詞欄顏色。可用顏色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或運行時不帶引數以選擇隨機顏色。當 [Remote Control](/docs/zh-TW/remote-control) 連接時,顏色會同步到 claude.ai/code。也可在非互動模式 (`-p`) 中使用 |

77| `/compact [instructions]` | 通過總結到目前為止的對話來釋放上下文。可選地傳遞焦點指示以進行摘要。請參閱[壓縮如何處理規則、skill 和記憶檔案](/docs/zh-TW/context-window#what-survives-compaction) |77| `/compact [instructions]` | 通過總結到目前為止的對話來釋放上下文。可選地傳遞焦點指示以進行摘要。請參閱[壓縮如何處理規則、skill 和記憶檔案](/docs/zh-TW/context-window#what-survives-compaction) |

78| `/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 行動應用程式通過 [Remote Control](/docs/zh-TW/remote-control)。`key=value` 形式無法打開需要您在面板中確認的設定,例如 [`autoContinueAtUsageLimit`](/docs/zh-TW/interactive-mode#turn-automatic-continue-off),儘管它可以關閉一個。運行 `/config --help` 以列出它接受的鍵。別名:`/settings` |78| `/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 行動應用程式通過 [Remote Control](/docs/zh-TW/remote-control)。`key=value` 形式無法打開需要您在面板中確認的設定,例如 [`autoContinueAtUsageLimit`](/docs/zh-TW/interactive-mode#turn-automatic-continue-off),儘管它可以關閉一個。運行 `/config --help` 以列出它接受的鍵。別名:`/settings` |


134| `/remote-env` | 為您從 CLI 啟動的雲端工作階段選擇預設[雲端環境](/docs/zh-TW/cloud-environments#select-an-environment-from-the-cli) |134| `/remote-env` | 為您從 CLI 啟動的雲端工作階段選擇預設[雲端環境](/docs/zh-TW/cloud-environments#select-an-environment-from-the-cli) |

135| `/rename [name]` | 重新命名目前工作階段並在提示詞欄上顯示名稱。沒有名稱時,從對話歷史記錄自動生成一個。也可在非互動模式 (`-p`) 中使用。從每個重新命名的使用介面,包括 claude.ai 和桌面應用程式,Claude Code 會用空格替換新名稱中的控制和不可見字元,並將名稱上限設為 200 個字元。如果移除不可見字元後名稱為空,Claude Code 會拒絕它並顯示 `That name is empty once invisible characters are removed. Usage: /rename <name>`。字元替換和長度上限需要 Claude Code v2.1.221 或更新版本 |135| `/rename [name]` | 重新命名目前工作階段並在提示詞欄上顯示名稱。沒有名稱時,從對話歷史記錄自動生成一個。也可在非互動模式 (`-p`) 中使用。從每個重新命名的使用介面,包括 claude.ai 和桌面應用程式,Claude Code 會用空格替換新名稱中的控制和不可見字元,並將名稱上限設為 200 個字元。如果移除不可見字元後名稱為空,Claude Code 會拒絕它並顯示 `That name is empty once invisible characters are removed. Usage: /rename <name>`。字元替換和長度上限需要 Claude Code v2.1.221 或更新版本 |

136| `/resume [session]` | 按 ID 或名稱恢復對話,或打開工作階段選擇器。[背景工作階段](/docs/zh-TW/agent-view)在選擇器中以 `bg` 標記出現。恢復仍在運行的工作階段時,無論是從選擇器或按 ID 或名稱,都會[打開該工作階段](/docs/zh-TW/sessions#resume-a-running-background-session):您目前的對話會移到背景,此終端機會附加到運行中的工作階段。在空提示詞上按 `←` 可返回 agent view,其中也會列出您離開的對話。在 v2.1.285 之前,Claude Code 會拒絕,並告訴您使用 `claude attach` 打開該工作階段或先停止它。別名:`/continue` |136| `/resume [session]` | 按 ID 或名稱恢復對話,或打開工作階段選擇器。[背景工作階段](/docs/zh-TW/agent-view)在選擇器中以 `bg` 標記出現。恢復仍在運行的工作階段時,無論是從選擇器或按 ID 或名稱,都會[打開該工作階段](/docs/zh-TW/sessions#resume-a-running-background-session):您目前的對話會移到背景,此終端機會附加到運行中的工作階段。在空提示詞上按 `←` 可返回 agent view,其中也會列出您離開的對話。在 v2.1.285 之前,Claude Code 會拒絕,並告訴您使用 `claude attach` 打開該工作階段或先停止它。別名:`/continue` |

137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](/docs/zh-TW/code-review#review-a-diff-locally) 的別名:檢查目前差異或您傳遞的 PR 編號、分支或路徑,例如 `/review 1234`,並採用相同的 effort 等級和旗標。沒有給定等級時,檢查重複使用您最後輸入的 `low` 到 `max` 等級;有關確切規則,請參閱[本地檢查差異](/docs/zh-TW/code-review#review-a-diff-locally)。對於深度雲端檢查,使用 [`/code-review ultra`](/docs/zh-TW/ultrareview)。在 v2.1.223 之前,`/review` 是一個單獨的命令,按編號對 GitHub pull request 進行單次通過、唯讀檢查,在運行時不帶引數時列出打開的 PR 以選擇;從 v2.1.186 到 v2.1.201,它運行與 `/code-review medium` 相同的多 agent 引擎 |137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](/docs/zh-TW/code-review-local) 的別名:檢查目前差異或您傳遞的 PR 編號、分支或路徑,例如 `/review 1234`,並採用相同的 effort 等級和旗標。沒有給定等級時,檢查重複使用您最後輸入的 `low` 到 `max` 等級;有關確切規則,請參閱[使用 `/code-review` 在本地檢查](/docs/zh-TW/code-review-local)。對於深度雲端檢查,使用 [`/code-review ultra`](/docs/zh-TW/ultrareview)。在 v2.1.223 之前,`/review` 是一個單獨的命令,按編號對 GitHub pull request 進行單次通過、唯讀檢查,在運行時不帶引數時列出打開的 PR 以選擇;從 v2.1.186 到 v2.1.201,它運行與 `/code-review medium` 相同的多 agent 引擎 |

138| `/rewind` | 倒帶對話和/或程式碼到上一個點,或從選定的訊息進行摘要。請參閱[檢查點功能](/docs/zh-TW/checkpointing)。別名:`/checkpoint`、`/undo` |138| `/rewind` | 倒帶對話和/或程式碼到上一個點,或從選定的訊息進行摘要。請參閱[檢查點功能](/docs/zh-TW/checkpointing)。別名:`/checkpoint`、`/undo` |

139| `/run` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 啟動並驅動您的專案應用程式以查看變更實際運作,而不僅僅是通過測試。請參閱[運行和驗證您的應用程式](/docs/zh-TW/skills#run-and-verify-your-app) |139| `/run` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 啟動並驅動您的專案應用程式以查看變更實際運作,而不僅僅是通過測試。請參閱[運行和驗證您的應用程式](/docs/zh-TW/skills#run-and-verify-your-app) |

140| `/run-skill-generator` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 通過編寫每個專案的 [skill](/docs/zh-TW/skills#run-and-verify-your-app),教 `/run` 和 `/verify` 如何從乾淨環境建置、啟動和驅動您的專案應用程式 |140| `/run-skill-generator` | **[Skill](/docs/zh-TW/skills#bundled-skills)。** 通過編寫每個專案的 [skill](/docs/zh-TW/skills#run-and-verify-your-app),教 `/run` 和 `/verify` 如何從乾淨環境建置、啟動和驅動您的專案應用程式 |

desktop.md +443 −189

Details

207* 點擊**在差異中逐一檢視**以開啟差異檢視,並逐一檢視各項結果。位於目前差異中的結果會顯示在其對應的行,您可以在那裡點擊**修正此項**或將其關閉。207* 點擊**在差異中逐一檢視**以開啟差異檢視,並逐一檢視各項結果。位於目前差異中的結果會顯示在其對應的行,您可以在那裡點擊**修正此項**或將其關閉。

208* 點擊**套用修正**以要求 Claude 修正仍未處理的結果。208* 點擊**套用修正**以要求 Claude 修正仍未處理的結果。

209 209 

210在任何工作階段中,您也可以在提示詞輸入框中要求 Claude 修正審查發現的問題。若要了解 `/code-review` 檢查的內容及其接受的引數,請參閱[在本機審查差異](/docs/zh-TW/code-review#review-a-diff-locally)。210在任何工作階段中,您也可以在提示詞輸入框中要求 Claude 修正審查發現的問題。若要了解 `/code-review` 檢查的內容及其接受的引數,請參閱[使用 `/code-review` 在本機審查](/docs/zh-TW/code-review-local)。

211 211 

212<h3 id="monitor-pull-request-status">212<h3 id="monitor-pull-request-status">

213 監控 pull request 狀態213 監控 pull request 狀態


785</Tabs>785</Tabs>

786 786 

787<h2 id="environment-configuration">787<h2 id="environment-configuration">

788 環境配置788 環境設定

789</h2>789</h2>

790 790 

791您在[開始會話](#start-a-session)時選擇的環境決定了 Claude 執行的位置以及您如何連接:791您在[啟動工作階段](#start-a-session)時選擇的環境,決定了 Claude 在何處執行以及您如何連線:

792 792 

793* **Local**:在您的機器上執行,直接存取您的檔案793* **Local**:在您的機器上執行,可直接存取您的檔案

794* **Cloud**:在 Anthropic 管理的基礎設施上執行。即使您關閉應用程式,會話也會繼續。794* **Cloud**:預設在 Anthropic 管理的基礎架構上執行。即使您關閉應用程式,工作階段仍會繼續。

795* **SSH**:在您透過 SSH 連接的遠端機器上執行,例如您自己的伺服器、雲端虛擬機器或開發容器。執行中的任務可以[在 Desktop 中斷連線時繼續進行](#keep-a-task-running-while-desktop-is-disconnected),但使用 Claude 帳戶時,它可能會在登入過期時停止。795* **SSH**:在您透過 SSH 連線的遠端機器上執行,例如您自己的伺服器、雲端 VM 或開發容器。正在執行的任務可以[在 Desktop 中斷連線時繼續進行](#keep-a-task-running-while-desktop-is-disconnected),但使用 Claude 帳戶時,任務可能會在其登入過期時停止。

796* **WSL** (Windows):在您機器上的 [WSL 2 發行版](/docs/zh-TW/desktop-wsl)內執行,使用其 Linux 工具鏈和原生路徑796* **WSL**(Windows):在您機器上的 [WSL 2 發行版](/docs/zh-TW/desktop-wsl)內執行,使用其 Linux 工具鏈和原生路徑

797 797 

798<h3 id="local-sessions">798<h3 id="local-sessions">

799 本機會話799 本機工作階段

800</h3>800</h3>

801 801 

802桌面應用程式並不總是繼承您完整的 shell 環境。在 macOS 上,當您從 Dock 或 Finder 啟動應用程式時,它會讀取您的 shell 設定檔(如 `~/.zshrc` 或 `~/.bashrc`),為 Claude Code 提供 `PATH` 和一組固定的 Claude Code 變數,但不包括您在那裡匯出的其他變數。在 Windows 上,應用程式繼承使用者和系統環境變數,但不讀取 PowerShell 設定檔。802桌面應用程式不一定會繼承您完整的 shell 環境。在 macOS 上,當您從 Dock 或 Finder 啟動應用程式時,它會讀取您的 shell 設定檔(例如 `~/.zshrc` 或 `~/.bashrc`),以提供 Claude Code `PATH` 和一組固定的 Claude Code 變數,但不會提供您在其中匯出的其他變數。在 Windows 上,應用程式會繼承使用者和系統環境變數,但不會讀取 PowerShell 設定檔。

803 803 

804若要在任何平台上為本機會話和開發伺服器設定環境變數,請在提示框中開啟環境下拉式選單,將滑鼠懸停在 **Local** 上,然後點擊齒輪圖示以開啟本機環境編輯器。您在此處儲存的變數會在您的機器上加密儲存,並適用於您啟動的每個本機會話和預覽伺服器。您也可以將變數新增到 `~/.claude/settings.json` 檔案中的 `env` 金鑰,儘管這些僅到達 Claude 會話而不是開發伺服器。有關支援的變數的完整清單,請參閱[環境變數](/docs/zh-TW/env-vars)。804若要在任何平台上為本機工作階段和開發伺服器設定環境變數,請開啟提示詞方塊中的環境下拉選單,將滑鼠游標停在 **Local** 上,然後按一下齒輪圖示以開啟本機環境編輯器。您在此儲存的變數會加密儲存在您的機器上,並套用至您啟動的每個本機工作階段和預覽伺服器。您也可以將變數加入 `~/.claude/settings.json` 檔案中的 `env` 鍵,但這些變數只會傳遞給 Claude 工作階段,而不會傳遞給開發伺服器。如需支援的變數完整清單,請參閱[環境變數](/docs/zh-TW/env-vars)。

805 805 

806[延伸思考](/docs/zh-TW/model-config#extended-thinking)預設啟用,這改進了複雜推理任務的效能,但使用額外的 token。在 Anthropic API 上,在本機環境編輯器中將 `MAX_THINKING_TOKENS` 設定為 `0` 以關閉思考;這對 Opus 5.5、Sonnet 5.5、Haiku 5.5 或 Fable 模型沒有影響,它們始終使用延伸思考。在 Anthropic API 上關閉思考後,Claude Code 會傳送 effort `high` 而不是更高的級別給它知道[不接受該組合](/docs/zh-TW/errors#effort-isnt-available-with-thinking-turned-off)的模型,例如 Opus 5。806[延伸思考](/docs/zh-TW/model-config#extended-thinking)預設為啟用,可提升複雜推理任務的效能,但會使用額外的 token。在 Anthropic API 上,於本機環境編輯器中將 `MAX_THINKING_TOKENS` 設為 `0` 即可關閉思考;這對 Opus 5.5、Sonnet 5.5、Haiku 5.5 或 Fable 模型沒有作用,因為這些模型一律使用延伸思考。在 Anthropic API 上關閉思考時,對於 Claude Code 已知[不接受該組合](/docs/zh-TW/errors#effort-isnt-available-with-thinking-turned-off)的模型(例如 Opus 5),Claude Code 會傳送 effort `high`,而非更高的等級。

807 807 

808在具有[自適應推理](/docs/zh-TW/model-config#adjust-effort-level)的模型上,對於正值的 `MAX_THINKING_TOKENS`,Claude Code 會忽略該數值本身,因為改由自適應推理控制思考深度。在 Opus 4.6 和 Sonnet 4.6 上,將 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 設定為 `1` 以使用固定思考預算;Fable 模型、Sonnet 5 及更新版本、Haiku 5.5,以及 Opus 4.7 及更新版本始終使用自適應推理,沒有固定預算模式。808在具有[自適應推理](/docs/zh-TW/model-config#adjust-effort-level)的模型上,Claude Code 會忽略正值 `MAX_THINKING_TOKENS` 中的數字本身,因為改由自適應推理控制思考深度。在 Opus 4.6 和 Sonnet 4.6 上,將 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 設為 `1` 即可使用固定的思考預算;Fable 模型、Sonnet 5 及更新版本、Haiku 5.5,以及 Opus 4.7 及更新版本一律使用自適應推理,沒有固定預算模式。

809 809 

810<h4 id="local-sessions-on-managed-devices">810<h4 id="local-sessions-on-managed-devices">

811 受管設備上的本機會話811 受管裝置上的本機工作階段

812</h4>812</h4>

813 813 

814您的管理員可以使用 [`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 團隊。814您的管理員可以透過 [`disableDesktopLocalSessions` 受管設定](#managed-settings)關閉本機工作階段。若管理員已這樣做,**Local** 仍會留在環境下拉選單中,但會呈現灰色且無法選取,並顯示工具提示說明您的組織已將其關閉;在 Windows 上,[WSL](/docs/zh-TW/desktop-wsl) 項目(其在受管裝置上的可用性[另行管理](/docs/zh-TW/admin-setup#wsl-sessions-in-claude-code-desktop))也會以相同方式呈現灰色。若已設定 SSH 連線,新工作階段預設會使用第一個 SSH 連線;若您嘗試繼續現有的工作階段,Desktop 會顯示訊息,說明此裝置無法使用本機工作階段。請改為選擇 [SSH](#ssh-sessions) 或[雲端](#cloud-sessions)環境,或聯絡您的 IT 團隊。

815 815 

816<h3 id="cloud-sessions">816<h3 id="cloud-sessions">

817 雲端會話817 雲端工作階段

818</h3>818</h3>

819 819 

820雲端會話即使您關閉應用程式也會在背景繼續。使用情況計入您的[訂閱計畫限制](/docs/zh-TW/costs),沒有單獨的計算費用。820即使您關閉應用程式,雲端工作階段仍會在背景繼續執行。使用量會計入您的[訂閱方案限制](/docs/zh-TW/costs),不另外收取運算費用。

821 821 

822您可以建立具有不同網路存取級別和環境變數的自訂雲端環境。若要管理它們,請在提示框中開啟環境下拉式選單並選擇 **Cloud**:822您可以建立具有不同網路存取層級和環境變數的自訂雲端環境。若要管理這些環境,請開啟提示詞方塊中的環境下拉選單,然後選取 **Cloud**:

823 823 

824* **Add an environment**:選擇 **Add cloud environment**824* **新增環境**:選取 **Add cloud environment**

825* **Edit or archive one of your own environments**:將滑鼠懸停在它上面並點擊齒輪圖示825* **編輯或封存您自己的其中一個環境**:將滑鼠游標停在該環境上,然後按一下齒輪圖示

826 826 

827有關配置網路存取和環境變數的詳細資訊,請參閱[配置雲端環境](/docs/zh-TW/cloud-environments)。827如需設定網路存取和環境變數的詳細資訊,請參閱[設定雲端環境](/docs/zh-TW/cloud-environments)。

828 828 

829<h3 id="ssh-sessions">829<h3 id="ssh-sessions">

830 SSH 會話830 SSH 工作階段

831</h3>831</h3>

832 832 

833SSH 會話可讓您在遠端機器上執行 Claude Code,同時使用桌面應用程式作為您的介面。這對於使用存在於雲端虛擬機器、開發容器或具有特定硬體或相依性的伺服器上的程式碼庫很有用。833SSH 工作階段可讓您在遠端機器上執行 Claude Code,同時使用桌面應用程式作為介面。這對於處理位於雲端 VM、開發容器,或具有特定硬體或相依性的伺服器上的程式碼庫很有用。

834 834 

835<Note>835<Note>

836 如果您透過[第三方供應商](/docs/zh-TW/third-party-integrations)使用 Desktop,SSH 工作階段需要另外設定。請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。836 如果您搭配[第三方供應商](/docs/zh-TW/third-party-integrations)使用 Desktop,SSH 工作階段需要另外設定。請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。

837</Note>837</Note>

838 838 

839若要新增 SSH 連線,請在開始工作階段前於提示詞輸入框中開啟環境下拉式選單,然後選擇 **SSH > Add SSH connection…** 並填寫連線詳細資訊:839若要新增 SSH 連線,請在啟動工作階段之前開啟提示詞方塊中的環境下拉選單,然後選取 **SSH > Add SSH connection…** 並填寫連線詳細資料:

840 840 

841* **Name**:此連線的友善標籤841* **Name**:此連線的易記標籤

842* **SSH host**:`user@hostname` 或在 `~/.ssh/config` 中定義的主機842* **SSH host**:`user@hostname` 或 `~/.ssh/config` 中定義的主機

843* **SSH port**:如果留空則預設為 22,或使用您的 SSH 設定中的連接埠843* **SSH port**:若留空則預設為 22,或使用您 SSH 設定中的連接埠

844* **SSH key (optional)**:您的私鑰的路徑,例如 `~/.ssh/id_ed25519`。留空以使用您的 SSH 設定或 SSH agent。844* **SSH key (optional)**:您私密金鑰的路徑,例如 `~/.ssh/id_ed25519`。留空則使用您的 SSH 設定或 SSH agent。

845* **Worktree folder**:遠端機器上的資料夾,例如 `~/worktrees`,新工作階段會在此建立其 worktree。留空以使用[遠端機器的預設值](#choose-where-ssh-session-worktrees-go)。845* **Worktree folder**:遠端機器上的資料夾,例如 `~/worktrees`,新工作階段會在其中建立 worktree。留空則使用[遠端機器的預設值](#choose-where-ssh-session-worktrees-go)。

846 846 

847新增後,連線會出現在環境下拉式選單的 **SSH** 下方。選擇它以在該機器上啟動工作階段。Claude 在遠端機器上執行,可存取其檔案和工具。847新增後,連線會出現在環境下拉選單的 **SSH** 下方。選取它即可在該機器上啟動工作階段。Claude 會在遠端機器上執行,並可存取其檔案和工具。

848 848 

849遠端機器可以執行 Linux、macOS 或 [Windows](#windows-remote-machines)。Desktop 會在您第一次連接時自動在遠端機器上安裝 Claude Code。連接後,SSH 工作階段支援權限模式、連接器、外掛和 MCP 伺服器。849遠端機器可以執行 Linux、macOS 或 [Windows](#windows-remote-machines)。Desktop 會在您第一次連線時自動在遠端機器上安裝 Claude Code。連線後,SSH 工作階段支援權限模式、連接器、外掛和 MCP 伺服器。

850 850 

851<h4 id="remote-machine-requirements-for-ssh-sessions">851<h4 id="remote-machine-requirements-for-ssh-sessions">

852 SSH 工作階段的遠端機器需求852 SSH 工作階段的遠端機器需求

853</h4>853</h4>

854 854 

855Linux 或 macOS 遠端機器需要受支援的處理器、具備 SFTP 的 SSH 伺服器、未以 `noexec` 掛載的安裝資料夾、可正常運作的 shell,以及網路存取。請在連接前,或在登入後連線失敗時,檢查每項需求:855Linux 或 macOS 遠端機器需要支援的處理器、具有 SFTP 的 SSH 伺服器、未以 `noexec` 掛載的安裝資料夾、可運作的 shell,以及網路存取。請在連線之前,或在登入後連線失敗時,檢查每一項需求:

856 856 

857* **系統**:x86\_64 或 arm64 處理器。該機器也必須符合 Claude Code 的[系統需求](/docs/zh-TW/setup#system-requirements)。在 Linux 上,Claude Code 需要 glibc 2.17 或更新版本,或 musl。若要查看機器使用的是哪一種,請在該機器上執行 `ldd --version`。在以 musl 為基礎的發行版(例如 Alpine Linux)上,也請安裝 [Claude Code 所需的套件](/docs/zh-TW/setup#alpine-linux-and-musl-based-distributions)。857* **系統**:x86\_64 或 arm64 處理器。該機器也必須符合 Claude Code 的[系統需求](/docs/zh-TW/setup#system-requirements)。在 Linux 上,Claude Code 需要 glibc 2.17 或更新版本,或 musl。若要查看機器使用哪一種,請在該機器上執行 `ldd --version`。在 Alpine Linux 等以 musl 為基礎的發行版上,也請安裝 [Claude Code 所需的套件](/docs/zh-TW/setup#alpine-linux-and-musl-based-distributions)。

858* **SFTP**:SSH 伺服器必須提供 SFTP 子系統,可透過其 `sshd_config` 中的 `Subsystem sftp` 行開啟。若要檢查,請在您電腦上的終端機中使用 `sftp` 連接到相同的主機和連接埠。正常運作的伺服器會顯示 `sftp>` 提示字元。858* **SFTP**:SSH 伺服器必須提供 SFTP 子系統,其 `sshd_config` 中的 `Subsystem sftp` 行會開啟此子系統。若要檢查,請在您電腦上的終端機中以 `sftp` 連線到相同的主機和連接埠。可正常運作的伺服器會顯示 `sftp>` 提示字元。

859* **每個連線的工作階段數**:macOS 和 Linux 上的 Desktop 會在一個 SSH 連線上開啟多個工作階段。如果伺服器的 `sshd_config` 設定了 `MaxSessions 1`,請將其調高,例如調至 OpenSSH 的預設值 10。859* **每個連線的工作階段數**:macOS 和 Linux 上的 Desktop 會在一個 SSH 連線上開啟多個工作階段。如果伺服器的 `sshd_config` 設定了 `MaxSessions 1`,請將其調高,例如調到 OpenSSH 的預設值 10。

860* **安裝資料夾**:Desktop 會在您家目錄下的 `~/.claude/remote/` 安裝輔助程式和 Claude Code。它會從該處執行它們,因此該資料夾不能位於以 `noexec` 掛載的檔案系統上。請在每位連接使用者的家目錄中預留約 1 GB 的磁碟空間。關於該資料夾包含的內容,請參閱[遠端機器上的檔案和程序](#files-and-processes-on-the-remote-machine)。860* **安裝資料夾**:Desktop 會在您家目錄的 `~/.claude/remote/` 下安裝輔助程式和 Claude Code。它會從該處執行這些程式,因此該資料夾不能位於以 `noexec` 掛載的檔案系統上。請在每位連線使用者的家目錄中預留約 1 GB 的磁碟空間。如需該資料夾包含的內容,請參閱[遠端機器上的檔案和程序](#files-and-processes-on-the-remote-machine)。

861* **Shell**:遠端機器上為您帳戶設定的 shell 必須能執行透過 SSH 傳送的命令,就像 Bash、Zsh 和 `sh` 一樣861* **Shell**:遠端機器上為您帳戶設定的 shell 必須能執行透過 SSH 傳送的命令,如同 Bash、Zsh 和 `sh`

862* **網路**:Claude Code 在遠端機器上執行並從該處發出網路請求,因此該機器需要 [Claude Code 所需的網路存取](/docs/zh-TW/network-config#network-access-requirements)。如果該機器無法下載 Claude Code,Desktop 會在您的電腦上下載並上傳。Claude Code 的其他請求仍從遠端機器發出。862* **網路**:Claude Code 在遠端機器上執行,並從該處發出網路請求,因此該機器需要 [Claude Code 所需的網路存取](/docs/zh-TW/network-config#network-access-requirements)。如果該機器無法下載 Claude Code,Desktop 會在您的電腦上下載後再上傳。Claude Code 的其他請求仍會從遠端機器發出。在 Linux 遠端機器上,如果這些請求需要代理伺服器,請[為 SSH 工作階段設定它](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions)。

863 

864<h4 id="set-a-proxy-or-a-ca-certificate-for-ssh-sessions">

865 為 SSH 工作階段設定代理伺服器或 CA 憑證

866</h4>

867 

868如果 Linux 遠端機器透過代理伺服器連上網際網路或需要 CA 憑證,請在該機器的 `~/.claude/settings.json` 中的 `env` 下加入[代理伺服器和 CA 變數](/docs/zh-TW/network-config)。即使您已在該機器的 `~/.profile`、`~/.bash_profile`、`~/.zprofile` 或 `~/.zshrc` 中匯出這些變數,也請加入。

869 

870SSH 工作階段不會從這些檔案取得這些變數,即使在該機器的終端機中執行的 `claude` 會取得。工作階段可能會因此停滯,或顯示 **The connection from … to the API failed** 或 **Authentication failed**,而重新登入也無濟於事。

871 

872<Steps>

873 <Step title="加入變數">

874 對於 CA 檔案,請使用 [`NODE_EXTRA_CA_CERTS`](/docs/zh-TW/network-config#custom-ca-certificates),因為 Claude Code 不會信任 `~/.claude/settings.json` 中來自 `SSL_CERT_FILE` 的 CA。此範例設定了代理伺服器和 CA 檔案:

875 

876 ```json ~/.claude/settings.json theme={null}

877 {

878 "env": {

879 "HTTPS_PROXY": "http://proxy.example.com:8080",

880 "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"

881 }

882 }

883 ```

884 </Step>

885 

886 <Step title="再次傳送您的訊息">

887 請再次傳送您的訊息,因為您在該檔案中新增或變更的變數會在幾秒內生效。如果仍然失敗,請啟動新的工作階段。

888 </Step>

889</Steps>

890 

891<h5 id="find-a-proxy-or-ca-variable-set-elsewhere-on-the-remote-machine">

892 找出在遠端機器其他位置設定的代理伺服器或 CA 變數

893</h5>

894 

895請檢查 Linux 遠端機器是否在其他位置設定了代理伺服器或 CA 變數,因為工作階段會使用該值,並[忽略任何設定檔中的值](/docs/zh-TW/settings-reference#how-env-values-interact-with-your-shell):

896 

897<Steps>

898 <Step title="列出遠端機器設定的變數">

899 在您電腦上的終端機中執行 `ssh devbox env`,並將主機換成您自己的。

900 </Step>

901 

902 <Step title="在設定變數的位置變更該變數">

903 如果清單中有該變數,請在設定它的檔案中變更,例如遠端機器上的 `~/.zshenv`、`/etc/environment` 或 `~/.bashrc`。

904 </Step>

905 

906 <Step title="讓工作階段取得新值">

907 重新啟動遠端機器,或結束 Desktop 並終止輔助程式的程序,如[移除輔助程式](#files-and-processes-on-the-remote-machine)的前兩個步驟所示。請在沒有任務執行時進行,因為任一種方式都會中斷 Claude 的工作。

908 </Step>

909</Steps>

863 910 

864<h4 id="use-your-ssh-configuration-on-macos-and-linux">911<h4 id="use-your-ssh-configuration-on-macos-and-linux">

865 在 macOS 和 Linux 上使用您的 SSH 設定912 在 macOS 和 Linux 上使用您的 SSH 設定

866</h4>913</h4>

867 914 

868在 macOS 和 Linux 上,Desktop 透過在您的電腦上執行 OpenSSH 用戶端來連接,因此會使用您的 `~/.ssh/config`。透過 OpenSSH 用戶端連接需要 Claude Desktop v1.37937.0 或更新版本。在 **SSH host** 欄位中輸入該檔案中的 `Host` 名稱,即可使用其項目中的設定,例如 `HostName`、`User`、`IdentityFile`、`CertificateFile`、`ProxyJump` 和 `ProxyCommand`。915在 macOS 和 Linux 上,Desktop 會執行您電腦上的 OpenSSH 用戶端來連線,因此會使用您的 `~/.ssh/config`。透過 OpenSSH 用戶端連線需要 Claude Desktop v1.37937.0 或更新版本。在 **SSH host** 欄位中輸入該檔案中的 `Host` 名稱,即可使用其項目中的設定,例如 `HostName`、`User`、`IdentityFile`、`CertificateFile`、`ProxyJump` 和 `ProxyCommand`。

869 916 

870新增連線前,請在您電腦上的終端機中檢查用戶端和該項目:917新增連線之前,請在您電腦上的終端機中檢查用戶端和項目:

871 918 

872* **用戶端版本**:執行 `ssh -V`。用戶端必須是 OpenSSH 7.6 或更新版本。919* **用戶端版本**:執行 `ssh -V`。用戶端必須是 OpenSSH 7.6 或更新版本。

873* **項目**:使用 `Host` 名稱執行 `ssh`,例如 `ssh devbox`。如果失敗,請先修正該項目。920* **項目**:以 `Host` 名稱執行 `ssh`,例如 `ssh devbox`。如果失敗,請先修正該項目。

874 921 

875您可以將 **SSH port** 和 **SSH key (optional)** 欄位留空。如果您填寫其中之一,Desktop 會將其與該項目一起使用:922您可以將 **SSH port** 和 **SSH key (optional)** 欄位留空。如果您填寫其中之一,Desktop 會將其與項目一併使用:

876 923 

877* **SSH port**:此處的值會覆寫該項目的 `Port`924* **SSH port**:此處的值會覆寫項目的 `Port`

878* **SSH key (optional)**:除了該項目的 `IdentityFile` 和您 SSH agent 中的金鑰外,Desktop 還會提供您選擇的金鑰檔案925* **SSH key (optional)**:除了項目的 `IdentityFile` 和您 SSH agent 中的金鑰之外,Desktop 也會提供您選取的金鑰檔案

879 926 

880<h5 id="reach-a-machine-behind-a-jump-host">927<h5 id="reach-a-machine-behind-a-jump-host">

881 連接位於跳板主機後方的機器928 透過跳板主機連線到機器

882</h5>929</h5>

883 930 

884若要連接位於跳板主機(也稱為堡壘主機)後方的機器,請在該項目中設定 `ProxyJump` 或 `ProxyCommand`。以下項目透過 `bastion.example.com` 連接 `devbox.internal.example.com`:931若要連線到位於跳板主機(也稱為 bastion)後方的機器,請在項目中設定 `ProxyJump` 或 `ProxyCommand`。下列項目會透過 `bastion.example.com` 連線到 `devbox.internal.example.com`:

885 932 

886```text ~/.ssh/config theme={null}933```text ~/.ssh/config theme={null}

887Host devbox934Host devbox


892 939 

893在 **SSH host** 欄位中輸入 `devbox`。940在 **SSH host** 欄位中輸入 `devbox`。

894 941 

942<h5 id="reach-a-container-on-a-remote-machine">

943 連線到遠端機器上的容器

944</h5>

945 

946若要在未公開 SSH 連接埠的容器內執行工作階段,請使用 `ProxyCommand` 連線到它,因為 Desktop 不會執行您所連線項目的 `RemoteCommand`。如果您的項目使用 `RemoteCommand` 進入容器,工作階段會在該項目所登入的機器上執行,而不是在容器中執行。

947 

948<Steps>

949 <Step title="加入項目">

950 將下列項目新增至 `~/.ssh/config` 的結尾,若您有第一個 `Host *` 項目,則直接新增在其上方。請將 Docker 容器 `devbox`、其使用者 `dev` 與機器 `build.example.com` 替換為您自己的值。此項目的命令會為每個連線在容器內啟動一個 SSH 伺服器:

951 

952 ```text ~/.ssh/config theme={null}

953 Host devbox-container

954 User dev

955 ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i

956 ```

957 </Step>

958 

959 <Step title="準備容器">

960 * 安裝 OpenSSH 伺服器,並使用在您重新建置映像或重新建立容器時保持不變的主機金鑰

961 * 為 `User` 中指定的帳戶提供登入方式,例如 `authorized_keys` 檔案

962 * 確認容器符合[遠端機器需求](#remote-machine-requirements-for-ssh-sessions)

963 </Step>

964 

965 <Step title="檢查允許清單">

966 如果您的管理員[限制 SSH 主機](#restrict-which-ssh-hosts-users-can-connect-to),請在您電腦上的終端機中執行 `ssh -G devbox-container`。請管理員在 `sshHostAllowlist` 中允許它輸出的 `hostname`,此處為 `devbox-container`。當管理員允許該名稱時,就等於允許您項目的 `ProxyCommand` 所連線的任何目標。

967 </Step>

968 

969 <Step title="測試項目,然後連線">

970 在您電腦上的終端機中執行 `ssh devbox-container`。修正它回報的問題,並重複執行,直到它在不詢問您任何內容的情況下於容器中開啟 shell:

971 

972 * **如果 `ssh` 要求輸入密碼、複雜密碼或驗證碼**:改用無需提示即可運作的登入方式,例如您 SSH agent 持有的金鑰

973 * **如果 `ssh` 回報 `Cannot execute command-line and remote command.` 或 `Bad packet length`**:從您 `build.example.com` 的項目中移除 `RemoteCommand` 和 `RequestTTY`。之後,在您電腦上的終端機中執行 `ssh build.example.com` 會在該機器上開啟 shell,而不是在容器中。

974 * **如果 `ssh` 回報 `Connection closed by UNKNOWN port 65535`**:在同一個終端機中執行 `ssh build.example.com docker exec devbox /usr/sbin/sshd -t`。

975 * 如果輸出 `Missing privilege separation directory: /run/sshd`,請在容器中建立該資料夾。

976 * 如果輸出 `no hostkeys available` 且容器有主機金鑰,請在此命令和項目中的 `exec` 之後加入 `-u root`。

977 

978 然後在 **SSH host** 欄位中輸入 `devbox-container`。

979 </Step>

980</Steps>

981 

895<h5 id="use-variables-from-your-shell-in-a-proxycommand">982<h5 id="use-variables-from-your-shell-in-a-proxycommand">

896 在 `ProxyCommand` 中使用 shell 的變數983 在 `ProxyCommand` 中使用來自您 shell 的變數

897</h5>984</h5>

898 985 

899若要在 `ProxyCommand` 或 `Match exec` 命令中使用您自己的環境變數,請在 shell 啟動檔(例如 `~/.zshrc`)中匯出它,然後結束並重新開啟 Desktop。Desktop 啟動時會讀取您的登入 shell 所匯出的內容,並保留這些值直到您結束 Desktop 為止。986若要在 `ProxyCommand` 或 `Match exec` 命令中使用您自己的環境變數,請在 shell 啟動檔案(例如 `~/.zshrc`)中匯出它,然後結束並重新開啟 Desktop。Desktop 啟動時會讀取您登入 shell 匯出的內容,並保留這些值直到您結束它。

987 

988這需要 Claude Desktop v2.37337.0 或更新版本,以及接受 `-0` 的 `env` 命令,您可以在電腦上的終端機中執行 `env -0` 來檢查。

989 

990<Note>

991 如果您的 shell 設定了臨時 AWS 憑證,請[為 AWS CLI 提供設定檔](#use-aws-credentials-in-a-proxycommand),而不是匯出 `AWS_*` 變數。

992</Note>

993 

994<a id="use-aws-credentials-in-a-proxycommand" />

900 995 

901這需要 Claude Desktop v2.37337.0 或更新版本,以及接受 `-0` 的 `env` 命令;您可以在電腦上的終端機中執行 `env -0` 來檢查。996<h5 id="use-aws-credentials-in-a-proxycommand">

997 在 `ProxyCommand` 中使用 AWS 憑證

998</h5>

999 

1000如果您在 shell 啟動檔案中設定了臨時 AWS 憑證,執行 AWS CLI 的 `ProxyCommand` 可能在終端機中能夠連線,但在 Desktop 中失敗。當您的 shell 匯出 `AWS_SESSION_TOKEN`、`AWS_SECURITY_TOKEN` 或 `AWS_CREDENTIAL_EXPIRATION` 時,Desktop 中的 `ssh` 和您的 `ProxyCommand` 不會取得 shell 的 AWS 憑證、`AWS_REGION` 或 `AWS_PROFILE`。

1001 

1002如果 AWS CLI 沒有其他區域或憑證來源,它會失敗並顯示 `You must specify a region` 或 `Unable to locate credentials`。若要從 Desktop 連線,請為 AWS CLI 提供一個它從 `~/.aws/config` 讀取的設定檔:

1003 

1004<Steps>

1005 <Step title="新增具有區域和憑證來源的設定檔">

1006 此範例新增名為 `corp` 的設定檔,該設定檔從輔助程式取得憑證:

1007 

1008 ```ini ~/.aws/config theme={null}

1009 [profile corp]

1010 region = us-east-1

1011 credential_process = /full/path/to/your-credential-helper

1012 ```

1013 

1014 * **`region`**:提供您所連線機器的 AWS 區域

1015 * **`credential_process`**:提供以 [AWS 文件所述的 JSON 格式](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html)輸出憑證之程式的完整路徑。請選擇不需要您輸入任何內容的程式,因為 AWS CLI 會在每次連線時執行它,包括您不在時的重新連線。

1016 * **IAM Identity Center**:加入設定檔的 [IAM Identity Center 設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html)來取代 `credential_process`。請在連線之前於終端機中執行 `aws sso login --profile corp`,並在該登入失效時再次執行。

1017 </Step>

1018 

1019 <Step title="在 ProxyCommand 中指定設定檔">

1020 此範例將 `--profile` 加入 [AWS 文件中針對 Session Manager 的命令](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html):

1021 

1022 ```text ~/.ssh/config theme={null}

1023 Host i-*

1024 ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

1025 ```

1026 </Step>

1027 

1028 <Step title="再次連線">

1029 在終端機中以該主機執行 `ssh`,確認項目在該處仍可連線,然後從 Desktop 連線。

1030 </Step>

1031</Steps>

902 1032 

903<h5 id="raise-the-ssh-connection-timeout">1033<h5 id="raise-the-ssh-connection-timeout">

904 提高 SSH 連線逾時1034 提高 SSH 連線逾時

905</h5>1035</h5>

906 1036 

907如果您的 SSH 設定未為該主機設定 `ConnectTimeout`,Desktop 會給 `ssh` 30 秒來連接。透過跳板主機或 `ProxyCommand` 時,該時間包含路由連接所需的時間。如果您的路由需要更長時間,請在該項目中新增較高的值:1037如果您的 SSH 設定未針對主機設定 `ConnectTimeout`,Desktop 會給 `ssh` 30 秒的連線時間。透過跳板主機或 `ProxyCommand` 連線時,該時間包含路由連線所需的時間。如果您的路由需要更長時間,請在項目中加入更高的值:

908 1038 

909```text ~/.ssh/config theme={null}1039```text ~/.ssh/config theme={null}

910Host devbox1040Host devbox


914 ConnectTimeout 1201044 ConnectTimeout 120

915```1045```

916 1046 

917`ssh` 會使用它為主機找到的第一個值,因此請將該項目放在任何設定 `ConnectTimeout` 的 `Host *` 項目之上。若要確認,請在您電腦上的終端機中執行 `ssh -G devbox`。其輸出會包含 `connecttimeout 120`。變更值後,請結束並重新開啟 Desktop。1047`ssh` 會使用它為主機找到的第一個值,因此請將項目保持在任何設定 `ConnectTimeout` 的 `Host *` 項目之上。若要確認,請在您電腦上的終端機中執行 `ssh -G devbox`。其輸出會包含 `connecttimeout 120`。變更值之後,請結束並重新開啟 Desktop。

1048 

1049如果遠端機器本身會等待您在手機上核准,無論您設定的 `ConnectTimeout` 為何,都請在 45 秒內核准。您無法提高此限制,因為 Desktop 會自行設定 `ServerAliveInterval` 和 `ServerAliveCountMax`,而 `ssh` 會關閉遠端機器在這段時間內未傳送任何內容的登入。如果改為由跳板主機或 `ProxyCommand` 等待您,請在遠端機器的項目中提高 `ConnectTimeout` 以涵蓋該時間。

1050 

1051<h5 id="fix-a-match-host-block-that-only-desktop-applies">

1052 修正只有 Desktop 會套用的 `Match host` 區塊

1053</h5>

1054 

1055如果 Desktop 使用了終端機中 `ssh devbox` 不會使用的設定,請在項目的 `HostName` 行上方尋找 `Match host` 區塊。在終端機中,`ssh` 會在 `HostName` 行之前讀取該處的區塊,因此它會將區塊與 `devbox` 比較。Desktop 會在命令列上將 `HostName` 值提供給 `ssh`,因此 `ssh` 會將區塊與該值比較。

1056 

1057若要檢查,請在您電腦上的終端機中執行 `ssh -G`,並如同 Desktop 一樣在命令列上加入項目的 `HostName` 和 `User` 值:

1058 

1059```bash theme={null}

1060ssh -G -o HostName=devbox.internal.example.com -l alice devbox

1061```

1062 

1063將輸出與 `ssh -G devbox` 的輸出比較。如果區塊的設定(例如 `proxycommand`)只出現在第一個輸出中,該區塊就只會在 Desktop 中生效。若要讓 Desktop 也略過它,請在其 `Match` 行中加入 `!originalhost devbox`:

1064 

1065```text ~/.ssh/config theme={null}

1066Match host *.internal.example.com !originalhost devbox

1067```

1068 

1069若要確認,請再次執行第一個命令。區塊的設定不再出現在其輸出中。

918 1070 

919<h5 id="forwarding-settings-that-desktop-leaves-off">1071<h5 id="forwarding-settings-that-desktop-leaves-off">

920 Desktop 保持關閉的轉送設定1072 Desktop 會關閉的轉送設定

921</h5>1073</h5>

922 1074 

923在連往遠端機器的連線上,Desktop 會讓 `ForwardAgent`、`ForwardX11`、`LocalForward`、`RemoteForward`、`DynamicForward` 和 `Tunnel` 保持關閉,即使您的 SSH 設定開啟了它們。在[終端機](#run-commands-in-the-terminal)或 `!` 命令中,您的轉送設定預期[只會有時套用](#limits-while-desktop-is-disconnected),因為 Desktop 可能會在該處啟動一個遵循這些設定的獨立 `ssh`。1075在與遠端機器的連線上,Desktop 會關閉 `ForwardAgent`、`ForwardX11`、`LocalForward`、`RemoteForward`、`DynamicForward` 和 `Tunnel`,即使您的 SSH 設定開啟了它們。在[終端機](#run-commands-in-the-terminal)或 `!` 命令中,您的轉送設定可能[只有有時會套用](#limits-while-desktop-is-disconnected),因為 Desktop 可能會在該處啟動遵循這些設定的另一個 `ssh`。

924 1076 

925* **若要連接遠端機器上的連接埠**:[自行轉送](#reach-a-port-on-the-remote-machine)1077* **若要連線到遠端機器上的連接埠**:[自行轉送](#reach-a-port-on-the-remote-machine)

926* **若要從遠端機器使用您自己的金鑰**:在遠端機器本身設定憑證,例如用於 `git push`1078* **若要從遠端機器使用您自己的金鑰**:在遠端機器本身設定憑證,例如用於 `git push`

927 1079 

928若要避免 Desktop 轉送您的 SSH agent 或連接埠,請在您電腦上的終端機中執行 `ssh -G devbox`。接著以 Desktop 可能執行的方式再執行一次,帶入它印出的 `hostname` 和 `user` 值,例如 `ssh -G -o HostName=devbox.internal.example.com -l alice devbox`。第二次的輸出可能會顯示第一次略過的 `Match` 區塊中的設定。1080若要防止 Desktop 轉送您的 SSH agent 或連接埠,請在您電腦上的終端機中執行 `ssh -G devbox`。然後以 Desktop 可能的執行方式再執行一次,加上它輸出的 `hostname` 和 `user` 值,如 `ssh -G -o HostName=devbox.internal.example.com -l alice devbox`。第二個輸出可能會顯示第一個輸出略過的 `Match` 區塊中的設定。

929 1081 

930在兩次輸出中尋找內容不是 `no` 的 `forwardagent` 行,以及以 `localforward`、`remoteforward` 或 `dynamicforward` 開頭的行。如果找到,請從您的 SSH 設定中移除該設定。對於您的 `ProxyCommand` 透過 `ssh` 連接的主機,也請比照辦理。1082在兩個輸出中尋找值不是 `no` 的 `forwardagent` 行,以及以 `localforward`、`remoteforward` 或 `dynamicforward` 開頭的行。如果找到,請從您的 SSH 設定中移除該設定。對您的 `ProxyCommand` 以 `ssh` 連線的主機也做同樣的處理。

931 1083 

932<h4 id="reach-a-port-on-the-remote-machine">1084<h4 id="reach-a-port-on-the-remote-machine">

933 連接遠端機器上的連接埠1085 連線到遠端機器上的連接埠

934</h4>1086</h4>

935 1087 

936若要開啟在遠端機器上執行的伺服器,例如連接埠 3000 上的開發伺服器,請自行轉送該連接埠。在您電腦上的終端機中,使用 `-L` 和您連接的主機(例如 `devbox`)執行 `ssh`:1088若要開啟在遠端機器上執行的伺服器(例如連接埠 3000 上的開發伺服器),請自行轉送該連接埠。在您電腦上的終端機中,以 `-L` 和您連線的主機(例如 `devbox`)執行 `ssh`:

937 1089 

938```bash theme={null}1090```bash theme={null}

939ssh -N -L 3000:localhost:3000 devbox1091ssh -N -L 3000:localhost:3000 devbox

940```1092```

941 1093 

942如果您在連線上填寫了 **SSH port** 或 **SSH key (optional)**,請加上帶有相同值的 `-p` 或 `-i`。讓該命令保持執行,並在您電腦上的瀏覽器中開啟 `http://localhost:3000`,即可連接遠端機器的連接埠 3000。如果 `ssh` 印出 `open failed: administratively prohibited`,請要求該機器的管理員允許 TCP 轉送,這由 SSH 伺服器 `sshd_config` 中的 `AllowTcpForwarding` 控制。1094如果您在連線上填寫了 **SSH port** 或 **SSH key (optional)**,請以相同的值加入 `-p` 或 `-i`。讓該命令保持執行,並在您電腦上的瀏覽器中開啟 `http://localhost:3000`,即可連線到遠端機器的連接埠 3000。如果 `ssh` 輸出 `open failed: administratively prohibited`,請要求該機器的管理員允許 TCP 轉送,這由 SSH 伺服器 `sshd_config` 中的 `AllowTcpForwarding` 控制。

943 1095 

944<h4 id="windows-remote-machines">1096<h4 id="windows-remote-machines">

945 Windows 遠端機器1097 Windows 遠端機器


947 1099 

948Windows 遠端機器需要 Claude Desktop v2.31226.0 或更新版本。1100Windows 遠端機器需要 Claude Desktop v2.31226.0 或更新版本。

949 1101 

950請使用 Microsoft 的 OpenSSH Server。該機器可以是 x64 或 ARM64。SSH 伺服器啟動的 shell 可以是 `cmd.exe`、Windows PowerShell 5.1 或 Git Bash。1102請使用 Microsoft 的 OpenSSH Server。機器可以是 x64 或 ARM64。SSH 伺服器啟動的 shell 可以是 `cmd.exe`、Windows PowerShell 5.1 或 Git Bash。

951 1103 

952Windows 遠端機器的測試比 Linux 遠端機器少。在依賴它之前,請先在該處嘗試您自己的工作。1104Windows 遠端機器的測試比 Linux 遠端機器少。在依賴它之前,請先在該處試用您自己的工作。

953 1105 

954在 Windows 遠端機器上,預期會有以下限制(但不限於此):1106在 Windows 遠端機器上,預期會有下列限制(但不限於此):

955 1107 

956* **終端機**:在資料夾為 Windows 路徑(例如 `C:/projects/app`)的工作階段中,[終端機](#run-commands-in-the-terminal)不會開啟1108* **終端機**:在資料夾為 Windows 路徑(例如 `C:/projects/app`)的工作階段中,[終端機](#run-commands-in-the-terminal)不會開啟

957* **沙箱**:Claude Code 在該處以原生 Windows 執行,會在沒有沙箱的情況下執行命令。請參閱[沙箱的執行位置](/docs/zh-TW/sandboxing)。1109* **沙箱**:Claude Code 在該處以原生 Windows 執行,並在沙箱外執行命令。請參閱[沙箱的執行位置](/docs/zh-TW/sandboxing)。

958* **外掛**:如果外掛包含 Windows 無法儲存的檔案或資料夾名稱(例如含有 `:` 的名稱),Desktop 不會複製該外掛。工作階段會列出 Desktop 略過的外掛。1110* **外掛**:Desktop 不會複製包含 Windows 無法儲存之檔案或資料夾名稱(例如含有 `:` 的名稱)的外掛。工作階段會列出 Desktop 略過的外掛。

959* **MCP 伺服器**:在某些 Windows 遠端機器上,Claude 對來自 `claude_desktop_config.json` 的 MCP 伺服器的呼叫會經過 Desktop,因此 Claude [在 Desktop 中斷連線時](#limits-while-desktop-is-disconnected)無法呼叫它們的工具。在 Claude Desktop v2.37337.0 之前,這適用於所有 Windows 遠端機器。1111* **MCP 伺服器**:在某些 Windows 遠端機器上,Claude 對 `claude_desktop_config.json` 中 MCP 伺服器的呼叫會經過 Desktop,因此 Claude [在 Desktop 中斷連線時](#limits-while-desktop-is-disconnected)無法呼叫它們的工具。在 Claude Desktop v2.37337.0 之前,這適用於所有 Windows 遠端機器。

960* **Worktree**:worktree 會放在 `<project-root>/.claude/worktrees/`。如果您[選擇其他資料夾](#choose-where-ssh-session-worktrees-go),Desktop 會忽略它。1112* **Worktree**:worktree 會放在 `<project-root>/.claude/worktrees/`。如果您[選擇其他資料夾](#choose-where-ssh-session-worktrees-go),Desktop 會忽略它。

961* **先前的訊息**:如果 SSH 伺服器的 shell 是 `cmd.exe` 或 Windows PowerShell,您可能必須先連接,才能看到工作階段先前的訊息1113* **先前的訊息**:如果 SSH 伺服器的 shell 是 `cmd.exe` 或 Windows PowerShell,您可能必須先連線才能看到工作階段先前的訊息

962* **分支**:如果 SSH 伺服器的 shell 是 `cmd.exe` 或 Windows PowerShell,您只能在工作階段的第一則訊息處分支1114* **分支**:如果 SSH 伺服器的 shell 是 `cmd.exe` 或 Windows PowerShell,您只能在工作階段的第一則訊息處分支該工作階段

963* **中斷連線時執行**:只有當 SSH 伺服器允許程式在啟動它的連線結束後繼續存在時,任務才會[在 Desktop 中斷連線時持續執行](#keep-a-task-running-while-desktop-is-disconnected)。若要確認,請[測試遠端機器](#prepare-a-long-task)。1115* **中斷連線時執行**:只有在 SSH 伺服器允許程式在啟動它的連線結束後繼續存在時,任務才會[在 Desktop 中斷連線時繼續執行](#keep-a-task-running-while-desktop-is-disconnected)。若要確認,請[測試遠端機器](#prepare-a-long-task)。

964* **殘留的程序**:工作階段結束後,請檢查機器上是否有 Claude Code 啟動的程式,因為它們可能會持續執行。Desktop 安裝的[背景輔助程式](#keep-a-task-running-while-desktop-is-disconnected)在該處不會自行停止。1116* **殘留的程序**:工作階段結束後,請檢查機器上是否有 Claude Code 啟動的程式,因為它們可能會繼續執行。Desktop 安裝的[背景輔助程式](#keep-a-task-running-while-desktop-is-disconnected)在該處不會自行停止。

965 1117 

966<h4 id="keep-a-task-running-while-desktop-is-disconnected">1118<h4 id="keep-a-task-running-while-desktop-is-disconnected">

967 在 Desktop 中斷連線時讓任務持續執行1119 在 Desktop 中斷連線時讓任務繼續執行

968</h4>1120</h4>

969 1121 

970如果您的電腦進入睡眠、您失去網路,或您結束 Desktop,任務會持續進行,直到完成、需要您處理,或達到其中一項[限制](#limits-while-desktop-is-disconnected)。闔上螢幕也算是睡眠。重新啟動 Desktop 或您的電腦(包括為了更新)都算是結束。1122如果您的電腦進入睡眠、失去網路或您結束 Desktop,任務會繼續進行,直到完成、需要您處理,或達到其中一項[限制](#limits-while-desktop-is-disconnected)。闔上筆電蓋子視為睡眠。Desktop 或電腦重新啟動(包括因更新而重新啟動)視為結束。

971 1123 

972Claude Code 以程序形式在遠端機器上執行,由 Desktop 安裝在該處的背景輔助程式管理,因此它不需要您的 SSH 連線就能持續執行。本節所述的行為需要 Claude Desktop v2.31226.0 或更新版本。1124Claude Code 在遠端機器上以程序執行,並在 Desktop 安裝於該處的背景輔助程式之下運作,因此不需要您的 SSH 連線即可繼續執行。本節所述的行為需要 Claude Desktop v2.31226.0 或更新版本。

973 1125 

974<Warning>1126<Warning>

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

976 1128 

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

978 1130 

979 如果任務必須整夜執行:1131 如果任務必須整夜執行:

980 1132 

981 * [讓您的電腦保持喚醒](/docs/zh-TW/desktop-scheduled-tasks#how-scheduled-tasks-run)並連上網路,螢幕保持開啟且 Desktop 持續執行1133 * [讓您的電腦保持喚醒](/docs/zh-TW/desktop-scheduled-tasks#how-scheduled-tasks-run)並連上網路,筆電蓋子保持開啟且 Desktop 保持執行

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

983 1135 

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

985</Warning>1137</Warning>

986 1138 

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

988* **結束之後,Desktop 在 macOS 或 Linux 上且使用 Claude 帳戶**:如果 Desktop 能[重新加入該程序](#reopen-a-session-after-you-quit-desktop),您就能取回執行中的任務。如果無法,任務會停止。如果任務持續停止,請傳送訊息。1140* **結束之後,Desktop 在 macOS 或 Linux 上且使用 Claude 帳戶**:如果 Desktop 能[重新加入該程序](#reopen-a-session-after-you-quit-desktop),您就能取回執行中的任務。如果無法,任務會停止。如果任務持續停止,請傳送訊息。

989* **結束之後,Desktop 在 Windows 上或使用[第三方供應商](/docs/zh-TW/third-party-integrations)**:您會失去執行中的任務,因為 Desktop 會在工作階段開啟時結束該程序。請傳送訊息以繼續。1141* **結束之後,Desktop 在 Windows 上或使用[第三方供應商](/docs/zh-TW/third-party-integrations)**:您會失去執行中的任務,因為 Desktop 會在工作階段開啟時終止該程序。請傳送訊息以繼續。

990 1142 

991當您回來而任務尚未完成時,請查看是否有 Desktop 無法重新連線的訊息、身分驗證錯誤或等待中的請求:1143當您回來且任務尚未完成時,請檢查是否有 Desktop 無法重新連線的訊息、身分驗證錯誤或等待中的請求:

992 1144 

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

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


1001 準備長時間任務1153 準備長時間任務

1002</h5>1154</h5>

1003 1155 

1004* **先更新**:在開始長時間任務之前更新 Desktop。在 macOS 和 Windows 上,Desktop 可能會自行重新啟動以安裝已下載的更新。當 Claude 正在處理 SSH 任務時,該重新啟動會等待。在 macOS 上使用 Claude 帳戶時,預設情況下,一旦更新已等待 72 小時,重新啟動仍可能照常進行。1156* **先更新**:在開始長時間任務之前更新 Desktop。在 macOS 和 Windows 上,Desktop 可能會自行重新啟動以安裝已下載的更新。當 Claude 正在處理 SSH 任務時,該重新啟動會等待。在 macOS 上使用 Claude 帳戶時,預設情況下,一旦更新已等待 72 小時,重新啟動仍可能會進行。

1005* **不要結束 Desktop**:如果 Desktop 在 Windows 上執行或使用第三方供應商,請在長時間任務執行期間保持開啟。結束之後,它會在工作階段開啟時[結束執行中的任務](#reopen-a-session-after-you-quit-desktop)。保持開啟並不能保護[等待您處理](#handle-requests-that-arrive-while-you-are-away)的請求。1157* **不要結束 Desktop**:如果 Desktop 在 Windows 上執行或使用第三方供應商,請在長時間任務執行期間讓它保持開啟。結束之後,它會在工作階段開啟時[終止執行中的任務](#reopen-a-session-after-you-quit-desktop)。讓它保持開啟並不能保護[等待您處理](#handle-requests-that-arrive-while-you-are-away)的請求。

1006* **減少請求**:選擇能[讓任務較少等待您](#handle-requests-that-arrive-while-you-are-away)的權限模式、規則或 hook1158* **減少請求**:選擇能[讓任務較少等待您](#handle-requests-that-arrive-while-you-are-away)的權限模式、規則或 hook

1007* **檢查跳板主機**:如果您的跳板主機要求登入,例如推播到手機,請改用不需提示即可運作的登入方式。否則 Desktop 每次嘗試重新連線時都可能再傳送一次推播。1159* **檢查跳板主機**:如果您的跳板主機要求登入(例如推送到手機),請改用無需提示即可運作的登入方式。否則 Desktop 每次嘗試重新連線時都可能再傳送一次推送。

1008* **測試遠端機器**:啟動一個簡短的任務,在任務仍在執行時結束 Desktop,並在任務理應完成很久之後再次開啟工作階段。如果任務尚未完成且工作階段未顯示身分驗證錯誤,請檢查遠端機器上[可能結束任務的因素](#limits-while-desktop-is-disconnected)。1160* **測試遠端機器**:啟動一個短任務,在任務仍在執行時結束 Desktop,並在任務應已完成很久之後再次開啟工作階段。如果任務尚未完成且工作階段未顯示身分驗證錯誤,請檢查遠端機器上[可能終止任務的因素](#limits-while-desktop-is-disconnected)。

1009* **不要在 Desktop 的終端機中執行命令**:如果遠端機器會[登出閒置的終端機](#limits-while-desktop-is-disconnected),請從 Desktop 以外的 SSH 登入執行您自己的命令1161* **不要在 Desktop 的終端機中執行命令**:如果遠端機器會[登出閒置的終端機](#limits-while-desktop-is-disconnected),請從 Desktop 以外的 SSH 登入執行您自己的命令

1010 1162 

1011<a id="limits-while-desktop-is-disconnected" />1163<a id="limits-while-desktop-is-disconnected" />


1014 Desktop 中斷連線時的限制1166 Desktop 中斷連線時的限制

1015</h5>1167</h5>

1016 1168 

1017您讓其持續執行的任務可能會在其登入過期時、在遠端機器將其結束時,或在輔助程式停止或被取代時結束:1169您讓其保持執行的任務,可能會在其登入過期時、遠端機器終止它時,或輔助程式停止或被取代時結束:

1018 1170 

1019* **登入 token 或憑證**:使用 Claude 帳戶時,token 過期時任務會因身分驗證錯誤而停止。使用第三方供應商時,會過期的憑證(例如來自單一登入或憑證輔助程式的憑證)也是如此。請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。使用 Claude 帳戶時,請[讓 Desktop 保持執行並連線](#keep-a-task-running-while-desktop-is-disconnected),以便它能更新登入。1171* **登入 token 或憑證**:使用 Claude 帳戶時,token 過期後任務會因身分驗證錯誤而停止。使用第三方供應商時,會過期的憑證(例如來自單一登入或憑證輔助程式的憑證)也是如此。請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。使用 Claude 帳戶時,請[讓 Desktop 保持執行且已連線](#keep-a-task-running-while-desktop-is-disconnected),以便它更新登入。

1020* **遠端機器**:如果遠端機器重新啟動,或在您的 SSH 連線關閉時結束您的程序,執行中的任務就會結束。在 Desktop 中斷連線期間,沒有任何東西會再次啟動它。systemd-logind 的 `KillUserProcesses` 為 `yes` 且適用於您使用者的 Linux 機器,就會以此方式結束您的程序。若要讓任務在該處持續執行,請要求管理員將您的使用者排除,例如使用 `KillExcludeUsers`。1172* **遠端機器**:如果遠端機器重新啟動,或在您的 SSH 連線關閉時終止您的程序,執行中的任務就會結束。Desktop 中斷連線期間,沒有任何機制會重新啟動它。systemd-logind 的 `KillUserProcesses` 為 `yes` 且適用於您使用者的 Linux 機器,會以這種方式終止您的程序。若要讓任務在該處持續執行,請要求管理員將您的使用者排除,例如使用 `KillExcludeUsers`。

1021* **閒置的終端機**:某些 Linux 遠端機器會在一段設定時間內無人輸入時登出終端機(systemd-logind 的 `StopIdleSessionSec`)。Desktop 在 macOS 或 Linux 上時,工作階段的[終端機](#run-commands-in-the-terminal)和 `!` 命令預設會共用 Desktop 的 SSH 連線。該登出會在 Desktop 連線期間結束該連線,執行中的任務可能隨之結束。關閉終端機窗格並不能防止這種情況,因此請[不要在該終端機中執行命令](#prepare-a-long-task)。1173* **閒置的終端機**:某些 Linux 遠端機器會登出在設定時間內無人輸入的終端機(systemd-logind 的 `StopIdleSessionSec`)。Desktop 在 macOS 或 Linux 上時,工作階段的[終端機](#run-commands-in-the-terminal)和 `!` 命令預設會共用 Desktop 的 SSH 連線。該登出會在 Desktop 連線時結束連線,執行中的任務也可能隨之結束。關閉終端機窗格無法避免此情況,因此請[不要在該終端機中執行命令](#prepare-a-long-task)。

1022* **Desktop 更新**:如果更新帶來新的輔助程式,Desktop 會在之後的連線中取代遠端機器上的輔助程式,這可能會結束仍在執行的任務1174* **Desktop 更新**:如果更新帶來新的輔助程式,Desktop 會在之後的連線中取代遠端機器上的輔助程式,這可能會終止仍在執行的任務

1023* **長時間離開**:在 Linux 或 macOS 遠端機器上,如果 Desktop 30 天未連接,輔助程式會停止,並結束在其下執行的每個 Claude Code 程序。請在此之前連接。1175* **長時間未連線**:在 Linux 或 macOS 遠端機器上,如果 Desktop 30 天內未連線,輔助程式會停止,並終止在其下執行的每個 Claude Code 程序。請在此之前連線。

1024 1176 

1025Desktop 中斷連線時,檔案編輯和某些工具可能會失敗。如果任務需要它們,請讓 Desktop 保持連線:1177Desktop 中斷連線時,檔案編輯和某些工具可能會失敗。如果任務需要它們,請讓 Desktop 保持連線:

1026 1178 

1027* **Worktree**:在使用 [worktree](#work-in-parallel-with-sessions) 的工作階段中,Desktop 會在 Claude 進行每次檔案編輯之前檢查它。Desktop 中斷連線時,每次編輯會等待約 30 秒,然後失敗。Shell 命令仍會執行。在 Linux 或 macOS 遠端機器上,[編輯可以持續運作](#worktree-edits-while-disconnected)。如果您不確定,請在不使用 worktree 的情況下啟動工作階段。1179* **Worktree**:在使用 [worktree](#work-in-parallel-with-sessions) 的工作階段中,Desktop 會在 Claude 進行每次檔案編輯之前先檢查。Desktop 中斷連線時,每次編輯會等待約 30 秒後失敗。Shell 命令仍會執行。在 Linux 或 macOS 遠端機器上,[編輯可能會繼續運作](#worktree-edits-while-disconnected)。如果您不確定,請不使用 worktree 啟動工作階段。

1028* **資料夾限制**:如果您的組織限制工作階段可使用的資料夾,Desktop 會檢查每次檔案讀取、搜尋和編輯,無論是否使用 worktree。Desktop 中斷連線時,每一項會等待最多 10 分鐘,然後失敗。1180* **資料夾限制**:如果您的組織限制工作階段可使用的資料夾,無論是否使用 worktree,Desktop 都會檢查每次檔案讀取、搜尋和編輯。Desktop 中斷連線時,每項操作會等待最多 10 分鐘後失敗。

1029* **連接器**:[連接器](#connect-external-tools)和 Desktop 提供的其他工具會透過 Desktop 執行,因此在它中斷連線時,每次呼叫會在約 30 秒後失敗1181* **連接器**:[連接器](#connect-external-tools)和 Desktop 提供的其他工具會透過 Desktop 執行,因此在 Desktop 中斷連線時,每次呼叫會在約 30 秒後失敗

1030* **工作流程**:Desktop 會在每個新的[工作流程](/docs/zh-TW/workflows)啟動前檢查它,因此在 Desktop 中斷連線時,新的工作流程會等待最多 10 分鐘,然後失敗1182* **工作流程**:Desktop 會在每個新的[工作流程](/docs/zh-TW/workflows)啟動前進行檢查,因此在 Desktop 中斷連線時,新的工作流程會等待最多 10 分鐘後失敗

1031* **MCP 伺服器**:Claude Code 在遠端機器上啟動的 MCP 伺服器不會透過 Desktop 執行,因此 Claude 仍可呼叫它們的工具。來自 `claude_desktop_config.json` 的伺服器只有在 Desktop 未使用其[內建 SSH 用戶端](#worktree-edits-while-disconnected)時才屬於此類。否則,以及在[某些 Windows 遠端機器](#windows-remote-machines)上,Claude 在 Desktop 中斷連線時無法呼叫它們的工具。1183* **MCP 伺服器**:Claude Code 在遠端機器上啟動的 MCP 伺服器不會透過 Desktop 執行,因此 Claude 仍可呼叫它們的工具。只有在 Desktop 未使用其[內建 SSH 用戶端](#worktree-edits-while-disconnected)時,來自 `claude_desktop_config.json` 的伺服器才屬於此類。否則,以及在[某些 Windows 遠端機器](#windows-remote-machines)上,Claude 在 Desktop 中斷連線時無法呼叫它們的工具。

1032 1184 

1033<span id="worktree-edits-while-disconnected" />1185<span id="worktree-edits-while-disconnected" />

1034 1186 

1035<Accordion title="worktree 中的編輯何時可持續運作">1187<Accordion title="worktree 中的編輯何時會繼續運作">

1036 在 Linux 或 macOS 遠端機器上,該檢查不會經過 Desktop,因此在 Desktop 中斷連線時,worktree 內的編輯會持續運作。在 Claude Desktop v2.37337.0 之前,這僅適用於 Linux 遠端機器。1188 在 Linux 或 macOS 遠端機器上,該檢查不會經過 Desktop,因此在 Desktop 中斷連線時,worktree 內的編輯會繼續運作。在 Claude Desktop v2.37337.0 之前,這僅適用於 Linux 遠端機器。

1037 1189 

1038 在某些情況下編輯仍會失敗,包括以下情況:1190 在某些情況下編輯仍會失敗,包括下列情況:

1039 1191 

1040 * **內建 SSH 用戶端**:Desktop 使用它,例如在 Microsoft Store 安裝中、在沒有 Microsoft OpenSSH 9.4 或更新版本的 Windows 電腦上,或在 Windows 上使用第三方供應商時的預設情況1192 * **內建 SSH 用戶端**:Desktop 使用它,例如在 Microsoft Store 安裝版中、在沒有 Microsoft OpenSSH 9.4 或更新版本的 Windows 電腦上,或在 Windows 上使用第三方供應商時預設如此

1041 * **儲存庫位置**:儲存庫是您的家目錄、其上層的資料夾,或 `~/.claude`1193 * **儲存庫位置**:儲存庫是您的家目錄、家目錄上層的資料夾,或 `~/.claude`

1042 * **macOS 路徑**:在 macOS 遠端機器上,儲存庫位於 `/Volumes` 之下,或儲存庫或 worktree 路徑中的資料夾名稱含有 `~` 或非 ASCII 字元1194 * **macOS 路徑**:在 macOS 遠端機器上,儲存庫位於 `/Volumes` 之下,或儲存庫或 worktree 路徑中的資料夾名稱含有 `~` 或非 ASCII 字元

1043 * **資料夾限制**:您的組織限制工作階段可使用的資料夾1195 * **資料夾限制**:您的組織限制工作階段可使用的資料夾

1044 * **企業啟動器**:在 Claude Desktop v2.37337.0 之前,您以 Claude 帳戶登入,且您的組織透過[企業啟動器](/docs/zh-TW/corporate-launcher)在遠端機器上啟動 Claude Code1196 * **企業啟動器**:在 Claude Desktop v2.37337.0 之前,您使用 Claude 帳戶登入,且您的組織透過[企業啟動器](/docs/zh-TW/corporate-launcher)在遠端機器上啟動 Claude Code

1045 1197 

1046 沒有 worktree 的工作階段沒有這類檢查,除非您的組織限制工作階段可使用的資料夾。1198 沒有 worktree 的工作階段不會有此類檢查,除非您的組織限制工作階段可使用的資料夾。

1047</Accordion>1199</Accordion>

1048 1200 

1049<a id="handle-requests-that-arrive-while-you-are-away" />1201<a id="handle-requests-that-arrive-while-you-are-away" />

1050 1202 

1051<h5 id="handle-requests-that-arrive-while-you-are-away">1203<h5 id="handle-requests-that-arrive-while-you-are-away">

1052 處理您離開期間到達的請求1204 處理您不在時收到的請求

1053</h5>1205</h5>

1054 1206 

1055如果 Claude 在 Desktop 中斷連線時需要您的核准或向您提問,Claude 會在遠端機器上等待。該等待本身沒有時間限制。當 Desktop 重新加入該程序時,會向您顯示該請求。如果 Desktop 改為啟動新的程序,您就會失去該請求。1207如果 Claude 在 Desktop 中斷連線時需要您的核准或向您提問,Claude 會在遠端機器上等待。此等待本身沒有時間限制。當 Desktop 重新加入該程序時,會向您顯示該請求。如果 Desktop 改為啟動新的程序,您就會失去該請求。

1056 1208 

1057在任務等待您時,Desktop 可能會自行重新啟動,例如為了安裝更新。如果 Desktop 在 Windows 上執行或使用第三方供應商,您會在該次重新啟動後失去該請求。1209在任務等待您期間,Desktop 可能會自行重新啟動,例如為了安裝更新。如果 Desktop 在 Windows 上執行或使用第三方供應商,該次重新啟動後您就會失去該請求。

1058 1210 

1059如果您失去了請求,請傳送訊息以繼續。1211如果您失去請求,請傳送訊息以繼續。

1060 1212 

1061若要減少任務停下來等待您的頻率,並在您離開時收到它的消息,請在離開前設定以下任一項:1213若要減少任務停下來等待您的頻率,並在您不在時收到任務的消息,請在離開前設定下列任一項:

1062 1214 

1063* **自動模式**:如果[您可使用自動模式](#auto-mode-availability),請選擇[自動模式](#choose-a-permission-mode)。在多次遭到阻擋後,系統會[再次詢問您](/docs/zh-TW/permission-modes#when-auto-mode-falls-back)。1215* **自動模式**:如果[您可使用自動模式](#auto-mode-availability),請選擇[自動模式](#choose-a-permission-mode)。在多次遭到封鎖後,系統會[再次詢問您](/docs/zh-TW/permission-modes#when-auto-mode-falls-back)。

1064* **允許規則**:在遠端機器上的使用者設定檔 `~/.claude/settings.json` 中,為任務所需的命令新增[允許規則](/docs/zh-TW/permissions#manage-permissions)。如果您的組織[僅接受來自受管設定的權限規則](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly),請要求您的管理員將它們新增到會到達遠端機器的[受管設定](#managed-settings)中。關於專案 `.claude/settings.json` 中的允許規則,請參閱[專案允許規則與工作區信任](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust)。1216* **允許規則**:在遠端機器上的使用者設定檔 `~/.claude/settings.json` 中,為任務所需的命令加入[允許規則](/docs/zh-TW/permissions#manage-permissions)。如果您的組織[只接受來自受管設定的權限規則](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly),請要求管理員將規則加入會傳送到遠端機器的[受管設定](#managed-settings)。如需專案 `.claude/settings.json` 中的允許規則,請參閱[專案允許規則與工作區信任](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust)。

1065* **代為回應的 hook**:在遠端機器上的 `~/.claude/settings.json` 中設定 [`PermissionRequest` hook](/docs/zh-TW/hooks#permissionrequest),以代替您允許或拒絕請求1217* **會代為回應的 hook**:在遠端機器上的 `~/.claude/settings.json` 中設定 [`PermissionRequest` hook](/docs/zh-TW/hooks#permissionrequest),代替您允許或拒絕請求

1066* **提醒您的 hook**:在同一個檔案中設定帶有 `permission_prompt` matcher 的 [`Notification` hook](/docs/zh-TW/hooks#notification),以在有請求等待時傳送訊息給自己1218* **會提醒您的 hook**:在同一個檔案中設定帶有 `permission_prompt` matcher 的 [`Notification` hook](/docs/zh-TW/hooks#notification),在有請求等待時傳送訊息給自己

1067* **在 Claude 完成時通知您的 hook**:在同一個檔案中設定 [`Stop` hook](/docs/zh-TW/hooks#stop),以在 Claude 完成回應時傳送訊息給自己。當 API 錯誤結束回合時它不會執行。針對該情況,請設定 [`StopFailure` hook](/docs/zh-TW/hooks#stopfailure)。1219* **在 Claude 完成時通知您的 hook**:在同一個檔案中設定 [`Stop` hook](/docs/zh-TW/hooks#stop),在 Claude 完成回應時傳送訊息給自己。當 API 錯誤結束該回合時,它不會執行。對於該情況,請設定 [`StopFailure` hook](/docs/zh-TW/hooks#stopfailure)。

1068 1220 

1069如果您的組織[僅執行受管 hook](/docs/zh-TW/settings-reference#allowmanagedhooksonly),請要求您的管理員將該 hook 新增到會到達遠端機器的[受管設定](#managed-settings)中。1221如果您的組織[只執行受管 hook](/docs/zh-TW/settings-reference#allowmanagedhooksonly),請要求管理員將 hook 加入會傳送到遠端機器的[受管設定](#managed-settings)。

1070 1222 

1071Claude Code 在任何權限模式下(包括 Bypass permissions)都不會自動核准[少數幾項動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。依權限模式而定,Claude Code 會拒絕此類動作或詢問您,任務隨後會等待您的回應。1223Claude Code 在任何權限模式下(包括 Bypass permissions)都不會自動核准[少數動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。視權限模式而定,Claude Code 會拒絕此類動作或詢問您,任務接著會等待您的回答。

1072 1224 

1073<a id="reconnect-after-sleep-or-a-network-loss" />1225<a id="reconnect-after-sleep-or-a-network-loss" />

1074 1226 


1076 睡眠或網路中斷後重新連線1228 睡眠或網路中斷後重新連線

1077</h5>1229</h5>

1078 1230 

1079如果您回來時 Desktop 尚未重新連線,請在工作階段中傳送訊息。Desktop 只有在可以不需提示即可登入的情況下才會自行重新連線,例如使用由您的 SSH agent 持有的金鑰。1231如果您回來時 Desktop 尚未重新連線,請在工作階段中傳送訊息。只有在能夠無提示登入的情況下(例如使用您 SSH agent 持有的金鑰),Desktop 才會自行重新連線。

1080 1232 

1081* **記住的密碼**:您讓 Desktop 記住的密碼也可以不需提示即可運作,但若要長時間離開,建議使用由您的 SSH agent 持有的金鑰。如果使用該密碼的登入中斷或停滯,Desktop 可能會停止重新連線並等待您。1233* **記住的密碼**:您讓 Desktop 記住的密碼同樣能在無提示的情況下運作,但若長時間離開,建議使用您 SSH agent 持有的金鑰。如果使用該密碼的登入中斷或停滯,Desktop 可能會停止重新連線並等待您。

1082* **其他任何提示**:如果遠端機器提示輸入其他內容,例如一次性驗證碼,您的電腦上可能會收到通知。點擊該通知,或在工作階段中傳送訊息,Desktop 就會顯示該提示。1234* **其他任何提示**:如果遠端機器提示輸入其他內容(例如一次性驗證碼),您可能會在電腦上收到通知。按一下通知,或在工作階段中傳送訊息,Desktop 就會顯示該提示。

1083 1235 

1084<Accordion title="如果跳板主機要求登入、中斷時間很長、輸出遺失或程序已消失">1236<Accordion title="如果跳板主機要求登入、中斷時間很長、輸出遺失或程序已消失">

1085 - **跳板主機,您離開期間推播停止**:當無人回應跳板主機的登入(例如推播到手機)時,Desktop 在 macOS 或 Linux 上可能會發生這種情況。Desktop 接著會在無人使用您的電腦時停止重新連線。當您解鎖或使用電腦時,可能會再收到一次推播,因為 Desktop 可能會再次嘗試。在三次未回應的嘗試後,它會等待您重試或傳送訊息。1237 - **跳板主機,您不在時推送停止**:當沒有人回應跳板主機的登入(例如推送到手機)時,macOS 或 Linux 上的 Desktop 可能會發生此情況。Desktop 接著會在沒有人使用您電腦時停止重新連線。當您解鎖或使用電腦時,您可能會再收到一次推送,因為 Desktop 可能會再試一次。在三次嘗試未獲回應後,它會等待直到您重試或傳送訊息。

1086 - **跳板主機,推播持續出現**:在 Desktop 無法判斷無人回應的情況下(例如 Desktop 在 Windows 上),只要它有可重新加入的程序,無論該程序是否仍在執行,它都會持續嘗試。每次嘗試您都可能收到另一次推播。若要停止嘗試,請結束 Desktop,但這[可能讓您失去執行中的任務](#reopen-a-session-after-you-quit-desktop)。1238 - **跳板主機,推送持續傳來**:在 Desktop 無法判斷沒有人回應的情況下(例如 Windows 上的 Desktop),只要有可重新加入的程序,無論該程序是否仍在執行,它都會持續嘗試。您每次嘗試都可能再收到一次推送。若要結束嘗試,請結束 Desktop,這[可能會讓您失去執行中的任務](#reopen-a-session-after-you-quit-desktop)。

1087 - **長時間中斷**:Desktop 會放慢到大約每五分鐘嘗試一次。若要更快重新連線,請在工作階段中重試或傳送訊息,Desktop 會在連線後傳送該訊息。1239 - **長時間中斷**:Desktop 會放慢到大約每五分鐘嘗試一次。若要更快重新連線,請在工作階段中重試或傳送訊息,Desktop 會在連線後傳遞該訊息。

1088 - **遺失的輸出**:在 Desktop 中斷連線期間,輔助程式會將每個工作階段最近的 Claude Code 輸出保存在 16 MiB 的緩衝區中,並捨棄較舊的輸出。Desktop 重新連線後,工作階段可能會顯示 `Loading recent output from <host>…`。如果 Desktop 無法載入所有輸出,您會看到 `Some output produced while you were disconnected may be missing here.` 這一列。該列並不表示任務已停止。1240 - **輸出遺失**:Desktop 中斷連線時,輔助程式會將每個工作階段最近的 Claude Code 輸出保留在 16 MiB 的緩衝區中,並捨棄較舊的輸出。Desktop 重新連線後,工作階段可能會顯示 `Loading recent output from <host>…`。如果 Desktop 無法載入所有輸出,您會看到 `Some output produced while you were disconnected may be missing here.` 這一列。此列並不代表任務已停止。

1089 - **程序已消失**:如果 Desktop 重新連線時程序已消失,Desktop 可以從對話的已儲存歷史記錄啟動新的程序,並告訴 Claude 繼續該任務。如果程序持續結束,或 Desktop 使用第三方供應商,Desktop 不會自行繼續該任務。請傳送訊息以繼續。1241 - **程序已消失**:如果 Desktop 重新連線時程序已消失,Desktop 可能會根據對話的已儲存歷程記錄啟動新的程序,並告訴 Claude 繼續任務。如果程序持續結束,或 Desktop 使用第三方供應商,Desktop 不會自行繼續任務。請傳送訊息以繼續。

1090</Accordion>1242</Accordion>

1091 1243 

1092<a id="reopen-a-session-after-you-quit-desktop" />1244<a id="reopen-a-session-after-you-quit-desktop" />


1095 結束 Desktop 後重新開啟工作階段1247 結束 Desktop 後重新開啟工作階段

1096</h5>1248</h5>

1097 1249 

1098結束 Desktop 後,任務會在遠端機器上持續執行,直到完成、需要您處理,或達到其中一項[限制](#limits-while-desktop-is-disconnected)。1250結束 Desktop 後,任務會在遠端機器上繼續執行,直到完成、需要您處理,或達到其中一項[限制](#limits-while-desktop-is-disconnected)。

1099 1251 

1100* **Desktop 在 macOS 或 Linux 上,使用 Claude 帳戶**:啟動 Desktop 並開啟工作階段。當 Desktop 能重新加入該程序時,您就能取回執行中的任務。它並非總是能重新加入,例如在某些 Desktop 更新之後,或在您的組織變更其受管設定之後。1252* **macOS 或 Linux 上的 Desktop,使用 Claude 帳戶**:啟動 Desktop 並開啟工作階段。當 Desktop 能重新加入程序時,您就能取回執行中的任務。它不一定都能重新加入,例如在某些 Desktop 更新之後,或在您的組織變更其受管設定之後。

1101* **在 macOS 或 Linux 上,當 Desktop 無法重新加入時**:Desktop 會結束該程序,並從對話的已儲存歷史記錄啟動新的程序。您執行中的任務會停止,且您會失去任何正在等待您的核准或問題。更新之後,Desktop 接著可能會告訴 Claude 繼續。如果任務持續停止,請傳送訊息。1253* **在 macOS 或 Linux 上,當 Desktop 無法重新加入時**:Desktop 會終止該程序,並根據對話的已儲存歷程記錄啟動新的程序。您執行中的任務會停止,且您會失去任何等待您處理的核准或問題。更新之後,Desktop 接著可能會告訴 Claude 繼續。如果任務持續停止,請傳送訊息。

1102* **Desktop 在 Windows 上,或在任何平台上使用第三方供應商**:只有在您預期任務已完成時才再次啟動 Desktop。您無法取回執行中的任務,因為 Desktop 在結束後絕不會重新加入。它會在工作階段開啟時結束該程序,而這可能在 Desktop 啟動時就發生。請傳送訊息以繼續。1254* **Windows 上的 Desktop,或在任何平台上使用第三方供應商**:只有在您預期任務已完成時才再次啟動 Desktop。您無法取回執行中的任務,因為 Desktop 在結束後永遠不會重新加入。它會在工作階段開啟時終止該程序,而這可能在 Desktop 啟動時就發生。請傳送訊息以繼續。

1103 1255 

1104關於第三方部署,請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。1256如需第三方部署的相關資訊,請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。

1105 1257 

1106<Warning>1258<Warning>

1107 當對話的 Claude Code 程序仍在執行時,請勿在遠端機器上為其執行 [`claude --resume`](/docs/zh-TW/cli-reference#cli-flags)。Claude Code 不會阻止您,而兩個程序接著會寫入同一個對話。如果您不確定,請加上 `--fork-session`,它會在對話的副本中繼續,但兩個程序仍會處理相同的檔案。1259 當對話的 Claude Code 程序仍在執行時,請勿在遠端機器上為該對話執行 [`claude --resume`](/docs/zh-TW/cli-reference#cli-flags)。Claude Code 不會阻止您,兩個程序接著會寫入同一個對話。如果您不確定,請加入 `--fork-session`,它會在對話的副本中繼續,但兩個程序仍會處理相同的檔案。

1108</Warning>1260</Warning>

1109 1261 

1110<h4 id="choose-where-ssh-session-worktrees-go">1262<h4 id="choose-where-ssh-session-worktrees-go">

1111 選擇 SSH 工作階段 worktree 的位置1263 選擇 SSH 工作階段 worktree 的位置

1112</h4>1264</h4>

1113 1265 

1114除非您的組織限制工作階段可使用的資料夾,否則新的 SSH 工作階段會在以下項目中第一個已設定的位置建立其 [worktree](#work-in-parallel-with-sessions):1266除非您的組織限制工作階段可使用的資料夾,否則新的 SSH 工作階段會在下列項目中第一個已設定的位置建立其 [worktree](#work-in-parallel-with-sessions):

1115 1267 

11161. SSH 連線上的 **Worktree folder**12681. SSH 連線上的 **Worktree folder**

11172. 遠端機器上 `~/.claude/settings.json` 中的 [`worktree.location`](/docs/zh-TW/settings-reference#worktree-location)12692. 遠端機器上 `~/.claude/settings.json` 中的 [`worktree.location`](/docs/zh-TW/settings-reference#worktree-location)

11183. `<project-root>/.claude/worktrees/`,即預設值12703. `<project-root>/.claude/worktrees/`,即預設值

1119 1271 

1120每個專案會在您設定的資料夾中擁有自己的子資料夾,因此若設定為 `~/worktrees`,worktree 的路徑為 `~/worktrees/<project>-<id>/<worktree-name>`。如果您設定的資料夾位於專案內,Desktop 會對該專案忽略它並使用預設值。在 [Windows 遠端機器](#windows-remote-machines)上,Desktop 一律使用預設值。1272每個專案會在您設定的資料夾中取得自己的子資料夾,因此使用 `~/worktrees` 時,worktree 的路徑為 `~/worktrees/<project>-<id>/<worktree-name>`。如果您設定的資料夾位於專案內,Desktop 會對該專案忽略它並使用預設值。在 [Windows 遠端機器](#windows-remote-machines)上,Desktop 一律使用預設值。

1121 1273 

1122若要在您先前新增的連線或您組織管理的連線上設定 **Worktree folder**,請在環境下拉式選單中將滑鼠懸停在該連線上,然後點擊齒輪圖示。1274若要在您先前新增的連線或您組織管理的連線上設定 **Worktree folder**,請在環境下拉選單中將滑鼠游標停在該連線上,然後按一下齒輪圖示。

1123 1275 

1124此欄位需要 Claude Desktop v1.44121.0 或更新版本。如果您的組織限制工作階段可使用的資料夾,Desktop 會隱藏此欄位,並將 worktree 保留在專案內。1276此欄位需要 Claude Desktop v1.44121.0 或更新版本。如果您的組織限制工作階段可使用的資料夾,Desktop 會隱藏此欄位,並將 worktree 保留在專案內。

1125 1277 


1127 遠端機器上的檔案和程序1279 遠端機器上的檔案和程序

1128</h4>1280</h4>

1129 1281 

1130Desktop 會在每位連接到 Linux 或 macOS 遠端機器之使用者的家目錄下的 `~/.claude/remote/` 安裝輔助程式和 Claude Code。輔助程式不會監聽任何網路連接埠,但 Claude Code 及其啟動的程式(例如 MCP 伺服器和開發伺服器)可能會。1282Desktop 會在每位連線到 Linux 或 macOS 遠端機器的使用者家目錄中,於 `~/.claude/remote/` 下安裝輔助程式和 Claude Code。輔助程式不會監聽任何網路連接埠,但 Claude Code 及其啟動的程式(例如 MCP 伺服器和開發伺服器)可能會。

1131 1283 

1132| 資料夾 | 內容 |1284| 資料夾 | 內容 |

1133| - | - |1285| - | - |

1134| `~/.claude/remote/srv/` | 輔助程式,每個版本一個資料夾 |1286| `~/.claude/remote/srv/` | 輔助程式,每個版本一個資料夾 |

1135| `~/.claude/remote/ccd-cli/` | Claude Code,每個版本一個檔案 |1287| `~/.claude/remote/ccd-cli/` | Claude Code,每個版本一個檔案 |

1136| `~/.claude/remote/run/` | 輔助程式的執行階段檔案,例如其 socket 和日誌,每台連接的電腦一個資料夾 |1288| `~/.claude/remote/run/` | 輔助程式的執行階段檔案,例如其 socket 和日誌,每台連線的電腦一個資料夾 |

1137| `~/.claude/remote/plugins/` | Desktop 從使用者電腦複製的外掛 |1289| `~/.claude/remote/plugins/` | Desktop 從使用者電腦複製的外掛 |

1138| [`~/.claude/uploads/`](/docs/zh-TW/claude-directory#clear-local-data) | 使用者附加到訊息的檔案,每個工作階段一個資料夾 |1290| [`~/.claude/uploads/`](/docs/zh-TW/claude-directory#clear-local-data) | 使用者附加到訊息的檔案,每個工作階段一個資料夾 |

1139 1291 

1140若要列出某位使用者的程序,請以該使用者身分在遠端機器上執行 `pgrep -fl "$HOME/.claude/remote/"`,或將 `$HOME` 替換為該使用者的家目錄:1292若要列出某位使用者的程序,請以該使用者身分在遠端機器上執行 `pgrep -fl "$HOME/.claude/remote/"`,或以該使用者的家目錄取代 `$HOME`:

1141 1293 

1142* **輔助程式**:每台連接的電腦有一個或多個 `server` 程序1294* **輔助程式**:每台連線的電腦會有一個或多個 `server` 程序

1143* **Claude Code**:輔助程式為使用者的工作階段啟動的程序,每個都來自以其版本命名的檔案,例如 `2.1.295-…`1295* **Claude Code**:輔助程式為使用者工作階段啟動的程序,每個程序都來自以其版本命名的檔案,例如 `2.1.295-…`

1144 1296 

1145Desktop 透過使用者的 SSH 連線,經由 `~/.claude/remote/run/` 下輔助程式資料夾中的 Unix socket `rpc.sock` 連接輔助程式。除了 root 之外,機器上的其他使用者無法連接到該 socket,因為它的模式為 600,且其資料夾的模式為 700。1297Desktop 透過使用者的 SSH 連線,經由輔助程式在 `~/.claude/remote/run/` 下資料夾中的 Unix socket `rpc.sock` 連線到輔助程式。除了 root 之外,機器上的其他使用者無法連線到該 socket,因為它的模式為 600,且其資料夾的模式為 700。

1146 1298 

1147關於輔助程式何時會自行停止,請參閱 [Desktop 中斷連線時的限制](#limits-while-desktop-is-disconnected)。1299如需輔助程式何時會自行停止,請參閱 [Desktop 中斷連線時的限制](#limits-while-desktop-is-disconnected)。

1148 1300 

1149若要為某位使用者移除輔助程式和 Claude Code:1301若要為某位使用者移除輔助程式和 Claude Code:

1150 1302 

1151<Steps>1303<Steps>

1152 <Step title="結束 Desktop">1304 <Step title="結束 Desktop">

1153 在該使用者用來連接的每台電腦上結束 Desktop。Desktop 會在下次連接時再次安裝這兩個程式,且它可能會自行重新連線。1305 在該使用者連線來源的每台電腦上結束 Desktop。Desktop 會在下次連線時再次安裝這兩個程式,而且它可能會自行重新連線。

1154 </Step>1306 </Step>

1155 1307 

1156 <Step title="結束程序">1308 <Step title="終止程序">

1157 以該使用者身分登入遠端機器,對 [`pgrep`](#files-and-processes-on-the-remote-machine) 列出的每個程序 ID 執行 `kill`。1309 以該使用者身分登入遠端機器,對 [`pgrep`](#files-and-processes-on-the-remote-machine) 列出的每個 Claude Code 程序 ID 執行 `kill`。當這些程序從清單中消失後,再對每個 `server` 程序的 ID 執行 `kill`。如果您先終止 `server` 程序,Claude Code 正在執行的命令可能會繼續執行。

1310 

1311 然後列出該使用者剩餘的程序,例如使用 `ps -u "$(id -un)" -f`,並終止您認得是由 Claude Code 啟動的任何程序。它留在背景的程式可能在其結束後繼續執行,且不會出現在 `pgrep` 清單中。

1158 </Step>1312 </Step>

1159 1313 

1160 <Step title="刪除資料夾">1314 <Step title="刪除資料夾">

1161 刪除 `~/.claude/remote/`。若要移除 Claude Code 本身位於 `~/.claude/` 和 `~/.claude.json` 的檔案,請參閱[移除設定檔](/docs/zh-TW/setup#remove-configuration-files)。1315 刪除 `~/.claude/remote/`。若要移除 Claude Code 本身在 `~/.claude/` 和 `~/.claude.json` 中的檔案,請參閱[移除設定檔](/docs/zh-TW/setup#remove-configuration-files)。

1162 </Step>1316 </Step>

1163</Steps>1317</Steps>

1164 1318 

1165<h5 id="end-one-session’s-process">1319<h5 id="end-one-session’s-process">

1166 結束單一工作階段的程序1320 終止單一工作階段的程序

1321</h5>

1322 

1323若要終止單一工作階段的 Claude Code 程序,請在 Desktop 連線到遠端機器時,在 Desktop 中[封存該工作階段](#work-in-parallel-with-sessions)。該程序在任務完成後以及您結束 Desktop 後都會繼續執行。

1324 

1325在封存具有 worktree 的工作階段之前,請參閱[使用工作階段平行作業](#work-in-parallel-with-sessions)。

1326 

1327<h5 id="see-which-user-the-processes-run-as">

1328 查看程序以哪位使用者身分執行

1167</h5>1329</h5>

1168 1330 

1169若要結束單一工作階段的 Claude Code 程序,請在 Desktop 已連接到遠端機器時,於 Desktop 中[封存該工作階段](#work-in-parallel-with-sessions)。該程序在其任務完成後以及您結束 Desktop 後仍會持續執行。1331輔助程式和 Claude Code 會以 Desktop 透過 SSH 登入的使用者身分執行。安裝和啟動它們不需要 `sudo`。若要檢查使用者,請在遠端機器上以 [`pgrep`](#files-and-processes-on-the-remote-machine) 列出的程序 ID 執行 `ps -o user= -p`。

1170 1332 

1171在封存具有 worktree 的工作階段之前,請參閱[使用工作階段平行工作](#work-in-parallel-with-sessions)。1333Claude Code 啟動的程式(例如 shell 命令和 MCP 伺服器)也會以該使用者身分啟動。請審查該使用者在遠端機器上的權限(包括其 `sudo` 規則),就像審查在該處執行命令的人員一樣。

1172 1334 

1173<h5 id="see-who-connected-to-the-remote-machine">1335<h5 id="see-who-connected-to-the-remote-machine">

1174 查看誰連接到遠端機器1336 查看誰連線到遠端機器

1337</h5>

1338 

1339若要了解誰連線到遠端機器,請讀取該機器上 SSH 伺服器的日誌,其中來自 Desktop 的登入看起來與來自終端機的登入相同。Desktop 在 macOS 或 Linux 上時,預期每次 Desktop 連線會有一筆記錄,而不是每個工作階段一筆。

1340 

1341您在 Claude Code 的[指標與事件](/docs/zh-TW/monitoring-usage#available-metrics-and-events)中找不到 Desktop 的 SSH 連線。若要從中得知 SSH 工作階段在哪台遠端機器上執行,請參閱[將遙測歸因於 Desktop SSH 工作階段](/docs/zh-TW/monitoring-usage#attribute-telemetry-to-desktop-ssh-sessions)。關於 Desktop 自身的連線記錄,請參閱[取得 SSH 問題的 Desktop 日誌](#get-desktops-logs-for-an-ssh-problem)。

1342 

1343<h4 id="connections-that-close-before-login">

1344 登入前即關閉的連線

1345</h4>

1346 

1347若 SSH 伺服器的日誌顯示在任何登入之前即關閉的連線,這些可能是 Desktop 對 SSH 連接埠的測試。Desktop 會測試機器是否有回應,例如在連線至該機器失敗之後。它會開啟至該連接埠的連線並立即關閉,不傳送任何內容。預期會有一次或連續數次測試,例如約兩分鐘內八次。

1348 

1349若沒有任何機制因此類連線而封鎖或拒絕位址,您不需要對 Desktop 的測試採取任何行動。若 Desktop 連線所用的位址遭到拒絕或封鎖,請檢查 [SSH 伺服器本身是否拒絕該位址](#check-whether-the-ssh-server-itself-refuses-the-address),以及 [fail2ban 是否計入 Desktop 的測試](#check-whether-fail2ban-counts-desktops-tests)。

1350 

1351<h5 id="recognize-a-test-in-the-ssh-server’s-log">

1352 在 SSH 伺服器的日誌中辨識測試

1175</h5>1353</h5>

1176 1354 

1177若要查出誰連接到遠端機器,請讀取該機器上 SSH 伺服器的日誌,其中來自 Desktop 的登入看起來就像來自終端機的登入。Desktop 在 macOS 或 Linux 上時,預期每次 Desktop 連接都會有一筆項目,而不是每個工作階段一筆。1355請將您日誌中的行,與 Linux 上的 OpenSSH 伺服器在預設 `LogLevel` 下為測試寫入的行進行比較,並對照您伺服器版本所在的列。若伺服器的問候訊息在 Desktop 關閉連線之前送達,您可能會看到最後一欄中的行:

1356 

1357| OpenSSH 版本 | 測試的行 | 問候訊息先送達時的行 |

1358| - | - | - |

1359| 6.6 至 7.9 | 含有 `Did not receive identification string from 203.0.113.7` 的行 | 相同的行 |

1360| 8.0 至 8.2 | `error: kex_exchange_identification: Connection closed by remote host` | `error: kex_exchange_identification: read: Connection reset by peer` |

1361| 8.3 至 9.4 | `error: kex_exchange_identification: Connection closed by remote host`,接著是 `Connection closed by 203.0.113.7 port 51234` | `error: kex_exchange_identification: read: Connection reset by peer`,接著是 `Connection reset by 203.0.113.7 port 51234` |

1362| 9.5 至 10.2 | `Connection closed by 203.0.113.7 port 51234` | `error: kex_exchange_identification: read: Connection reset by peer`,接著是 `Connection reset by 203.0.113.7 port 51234` |

1363| 10.3 至 10.5 | `Connection closed by 203.0.113.7 port 51234 [preauth]` | `error: kex_exchange_identification: read: Connection reset by peer [preauth]`,接著是 `Connection reset by 203.0.113.7 port 51234 [preauth]` |

1364 

1365其他開啟並關閉該連接埠的程式也可能留下相同的行。若行中有位址,請確認它是執行 Desktop 的電腦所連線的位址。

1366 

13678.0 至 8.2 的行沒有位址。若要取得位址,請在 `sshd_config` 中設定 `LogLevel VERBOSE`,並以 root 身分執行 `sshd -T | grep -i loglevel`。若輸出 `loglevel VERBOSE`,請重新載入 SSH 伺服器。然後在測試的行之前尋找含有 `Connection from 203.0.113.7 port 51234` 的行。

1368 

1369<a id="check-whether-the-ssh-server-itself-refuses-the-address" />

1370 

1371<h5 id="check-whether-the-ssh-server-itself-refuses-the-address">

1372 檢查 SSH 伺服器本身是否拒絕該位址

1373</h5>

1374 

1375若來自許多執行 Desktop 的電腦共用之位址的連線遭到拒絕,請在 SSH 伺服器的日誌中尋找結尾類似下列內容的行:

1376 

1377```text theme={null}

1378drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication

1379```

1380 

1381在預設 `LogLevel` 下,OpenSSH 9.8 及更新版本在因連線未嘗試登入即關閉(如 Desktop 的測試)而拒絕某個位址時,可能會寫入這樣的行。在預設設定下,僅憑幾次測試不會出現這樣的行。

1382 

1383若要防止拒絕,請在 `sshd_config` 中將 `PerSourcePenaltyExemptList` 設為使用者連線所用的位址,例如 `PerSourcePenaltyExemptList 203.0.113.7`。伺服器接著不會對這些位址套用任何懲罰,包括針對登入失敗的懲罰。若要檢查該檔案,請以 root 身分執行 `sshd -T | grep -i persourcepenalt`。若輸出您的清單,請重新載入 SSH 伺服器。

1384 

1385<a id="check-whether-fail2ban-counts-desktops-tests" />

1386 

1387<h5 id="check-whether-fail2ban-counts-desktop’s-tests">

1388 檢查 fail2ban 是否計入 Desktop 的測試

1389</h5>

1390 

1391若 fail2ban 0.10.5 或更新版本封鎖了 Desktop 連線所用的位址,請在 `jail.conf`、`jail.local` 或 `jail.d/` 下找出您 jail 的模式:

1392 

1393* **在括號中指定模式的 `filter` 行**,例如 `filter = sshd[mode=aggressive]`:使用該模式。

1394* **只有原始的 `filter` 行**,含有 `[mode=%(mode)s]`:使用 `mode` 行,若沒有則為 `normal`。

1395 

1396若模式為 `normal`,fail2ban 不會計入 Desktop 測試的行,因此請尋找封鎖的其他原因。

1397 

1398若為其他模式,請將您自己日誌中的行複製到遠端機器上的檔案。複製每一行的完整內容,從日期到結尾;若測試留下兩行,則兩行都複製。在該處以該檔案與您 jail 的模式(例如 `aggressive`)執行 `fail2ban-regex`:

1399 

1400```bash theme={null}

1401fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"

1402```

1403 

1404對於 fail2ban 計入的每次失敗,該命令會在單獨一行輸出位址,例如 `203.0.113.7`。在此情況下,請[防止封鎖](#prevent-a-ban-by-fail2ban)。若沒有輸出任何內容,表示 fail2ban 在該模式下不會計入這些行,因此請尋找封鎖的其他原因。

1405 

1406<a id="prevent-a-ban-by-fail2ban" />

1407 

1408<h5 id="prevent-a-ban-by-fail2ban">

1409 防止 fail2ban 封鎖

1410</h5>

1411 

1412若要防止 fail2ban 因 Desktop 的測試而封鎖某個位址,請變更 jail 的兩項設定之一,兩者各有代價:

1413 

1414* **`mode`**:在您 jail 設定它的任何位置將其設為 `normal`,無論是在 `mode` 行中,或在 `filter = sshd[mode=aggressive]` 這類行的括號中。您會放棄只有其他模式才會進行的所有計數,例如對未嘗試登入即連線並離開之用戶端的計數。

1415* **`ignoreip`**:將其設為使用者連線所用的位址,例如 `ignoreip = 203.0.113.7`。fail2ban 接著不會計入來自這些位址的任何內容,包括登入失敗。

1178 1416 

1179<h4 id="use-mcp-servers-set-up-on-the-remote-machine">1417<h4 id="use-mcp-servers-set-up-on-the-remote-machine">

1180 使用在遠端機器上設定的 MCP 伺服器1418 使用在遠端機器上設定的 MCP 伺服器

1181</h4>1419</h4>

1182 1420 

1183若要在 SSH 工作階段中使用來自 `~/.claude.json` 或專案 `.mcp.json` 的 [MCP 伺服器](/docs/zh-TW/mcp),請在遠端機器上的這些檔案中設定它。Claude Code 會在該處啟動其 stdio 伺服器,因此請在遠端機器上安裝這些伺服器所執行的命令。關於來自 `claude_desktop_config.json` 的伺服器,請參閱 [Desktop 中斷連線時的限制](#limits-while-desktop-is-disconnected)。1421若要在 SSH 工作階段中使用來自 `~/.claude.json` 或專案 `.mcp.json` 的 [MCP 伺服器](/docs/zh-TW/mcp),請在遠端機器上的這些檔案中設定它。Claude Code 會在該處啟動它們的 stdio 伺服器,因此請在遠端機器上安裝這些伺服器所執行的命令。如需來自 `claude_desktop_config.json` 的伺服器,請參閱 [Desktop 中斷連線時的限制](#limits-while-desktop-is-disconnected)。

1184 1422 

1185<h4 id="open-an-ssh-session-from-a-link">1423<h4 id="open-an-ssh-session-from-a-link">

1186 從連結開啟 SSH 工作階段1424 從連結開啟 SSH 工作階段

1187</h4>1425</h4>

1188 1426 

1189`claude://code/new` 連結會開啟 Desktop 的新工作階段頁面,且可以指定一個 SSH 連線。將此類連結放在操作手冊、儀表板或 wiki 頁面中,即可開啟已針對正確機器和資料夾設定好的 Desktop。對於會移除此類連結的平台,請參閱[連結顯示為純文字而無法點擊](/docs/zh-TW/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable)。1427`claude://code/new` 連結會開啟 Desktop 的新工作階段頁面,且可以指定 SSH 連線。將此類連結放在執行手冊、儀表板或 wiki 頁面中,即可開啟已針對正確機器和資料夾設定好的 Desktop。對於會移除此類連結的平台,請參閱[連結顯示為純文字而非可點選的連結](/docs/zh-TW/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable)。

1190 1428 

1191SSH 連結需要 Claude Desktop v2.110.0 或更新版本。1429SSH 連結需要 Claude Desktop v2.110.0 或更新版本。

1192 1430 

1193以下連結指定了 `build.example.com` 上的使用者 `dev`、連接埠 2222 和資料夾 `/srv/payments`,並填入提示詞:1431下列連結指定了 `build.example.com` 上的使用者 `dev`、連接埠 2222 和資料夾 `/srv/payments`,並填入提示詞:

1194 1432 

1195```text theme={null}1433```text theme={null}

1196claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy1434claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy

1197```1435```

1198 1436 

1199SSH 連結接受以下參數,其中只有 `ssh_host` 為必要:1437SSH 連結接受下列參數,其中只有 `ssh_host` 為必要參數:

1200 1438 

1201| 參數 | 值 |1439| 參數 | 值 |

1202| :- | :- |1440| :- | :- |

1203| `ssh_host` | `host` 或 `user@host`,寫法與 **SSH host** 欄位相同。值不能以 `-` 開頭,且主機部分只接受字母、數字、`.`、`_`、`:` 和 `-` |1441| `ssh_host` | `host` 或 `user@host`,寫法與 **SSH host** 欄位相同。值不能以 `-` 開頭,且主機部分只接受字母、數字、`.`、`_`、`:` 和 `-` |

1204| `ssh_port` | 1 到 65535 之間的連接埠號碼 |1442| `ssh_port` | 1 到 65535 之間的連接埠號碼 |

1205| `ssh_folder` | 遠端機器上的資料夾。以 `/` 或 `~/` 開頭,或使用 `~` |1443| `ssh_folder` | 遠端機器上的資料夾。以 `/` 或 `~/` 開頭,或使用 `~` |

1206| `q` | 提示詞輸入框的 URL 編碼文字 |1444| `q` | 要填入提示詞方塊的 URL 編碼文字 |

1207 1445 

1208來自 `~/.ssh/config` 的別名只對擁有該項目的人才能作為 `ssh_host` 使用。若要符合其他人已有的連線,請讓連結使用與該連線相同的使用者、主機和連接埠。1446來自 `~/.ssh/config` 的別名只有對擁有該項目的人才能作為 `ssh_host` 使用。若要符合人們已有的連線,請為連結提供與該連線相同的使用者、主機和連接埠。

1209 1447 

1210當您開啟連結時,Desktop 會在選擇連線前要求您確認:1448當您開啟連結時,Desktop 會在選取連線之前要求您確認:

1211 1449 

1212* **您已有的連線**:如果主機、使用者和連接埠與您的某個連線相符,Desktop 會詢問是否使用它,並顯示該連線的名稱和主機,以及連結中指定的資料夾(如果有)。1450* **您已有的連線**:如果主機、使用者和連接埠與您的其中一個連線相符,Desktop 會詢問是否使用該連線,並顯示連線的名稱和主機,以及連結指定的資料夾(若有)。

1213* **新連線**:否則 Desktop 會開啟新增 SSH 連線的對話框。當您新增連線時,Desktop 會在儲存任何內容前詢問是否連接,並顯示連結中的主機,以及連結中指定的連接埠和資料夾(如果有)。1451* **新連線**:否則 Desktop 會開啟新增 SSH 連線的對話方塊。當您新增連線時,Desktop 會在儲存任何內容之前詢問是否連線,並顯示連結中的主機,以及連結指定的連接埠和資料夾(若有)。

1214 1452 

1215在您確認之前,Desktop 不會儲存連結中的主機、連接埠或資料夾,也不會以它們選擇或開啟連線。如果已選擇了某個 SSH 連線,新工作階段頁面仍可自行連接到該連線,就像沒有連結時一樣,即使連結指定的是相同主機也是如此。連結無法攜帶金鑰檔案、密碼或命令。1453在您確認之前,Desktop 不會儲存連結中的主機、連接埠或資料夾,也不會以它們選取或開啟連線。如果已選取某個 SSH 連線,新工作階段頁面仍可能自行連線到該連線,就像沒有連結時一樣,即使連結指定的是相同的主機。連結無法攜帶金鑰檔案、密碼或命令。

1216 1454 

1217任何人都可以撰寫連結,因此請檢查它填入的內容:1455任何人都可以撰寫連結,因此請檢查它填入了什麼:

1218 1456 

1219* **確認之前**:檢查主機和資料夾。1457* **確認之前**:檢查主機和資料夾。

1220* **傳送之前**:檢查提示詞和所選的環境。1458* **傳送之前**:檢查提示詞和所選的環境。

1221 1459 

1222Desktop 會在連結開啟時填入提示詞,取代您尚未傳送的任何文字,且絕不會替您傳送。它將提示詞視為純文字,因此開頭的 `/` 或 `!` 以及 `@` 檔案提及不會作為命令或提及生效。如果您取消,提示詞會保留在輸入框中,且您先前選擇的環境不會改變。1460Desktop 會在連結開啟時填入提示詞,取代您尚未傳送的任何文字,且絕不會代您傳送。它會將提示詞視為純文字,因此開頭的 `/` 或 `!` 以及 `@` 檔案提及不會作為命令或提及。如果您取消,提示詞會保留在方塊中,且您原先選取的環境不會變更。

1223 1461 

1224連結不會繞過 [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to)。Desktop 會在連接時檢查允許清單。1462連結不會繞過 [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to)。Desktop 會在連線時檢查允許清單。

1225 1463 

1226如果連結開啟 Desktop 時沒有出現關於連線的對話框,請檢查是否為以下原因之一:1464如果連結開啟 Desktop 時沒有出現有關連線的對話方塊,請查看是否為下列原因之一:

1227 1465 

1228* **您已登出**:請登入,然後再次開啟連結。1466* **您已登出**:請登入,然後再次開啟連結。

1229* **另一個對話框已開啟**:請將其關閉,然後再次開啟連結。1467* **另一個對話方塊已開啟**:請關閉它,然後再次開啟連結。

1230* **連結無效**:Desktop 會顯示一則訊息說明需要修正的內容,且不會填入提示詞。1468* **連結無效**:Desktop 會顯示說明需修正內容的訊息,且不會填入提示詞。

1231* **Desktop 版本早於 v2.110.0**:較早的版本會忽略 SSH 參數,並僅以提示詞開啟新工作階段頁面。1469* **Desktop 版本早於 v2.110.0**:較早的版本會忽略 SSH 參數,並只以提示詞開啟新工作階段頁面。

1232* **SSH 工作階段已關閉**:如果您的管理員將允許清單設定為空陣列,Desktop 會拒絕 SSH 連結。1470* **SSH 工作階段已關閉**:如果您的管理員將允許清單設為空陣列,Desktop 會拒絕 SSH 連結。

1233 1471 

1234<h4 id="pre-configure-ssh-connections-for-your-team">1472<h4 id="pre-configure-ssh-connections-for-your-team">

1235 為您的團隊預先配置 SSH 連線1473 為您的團隊預先設定 SSH 連線

1236</h4>1474</h4>

1237 1475 

1238管理員可以透過在[受管設定](/docs/zh-TW/managed-settings)中設定 `sshConfigs`,將 SSH 連線分發給團隊成員。以這種方式定義的連線會自動出現在每個使用者的環境下拉式選單中,並顯示為受管。使用者可以選擇它們,並為它們[設定自己的 **Worktree folder**](#choose-where-ssh-session-worktrees-go),但無法在應用程式中編輯其他任何內容或刪除它們。1476管理員可以在[受管設定](/docs/zh-TW/managed-settings)中設定 `sshConfigs`,將 SSH 連線分發給團隊成員。以此方式定義的連線會自動出現在每位使用者的環境下拉選單中,並顯示為受管連線。使用者可以選取它們並為它們[設定自己的 **Worktree folder**](#choose-where-ssh-session-worktrees-go),但無法在應用程式中編輯其他任何內容或刪除它們。

1239 1477 

1240以下範例預先配置了一個單一連線:1478下列範例預先設定了單一連線:

1241 1479 

1242```json theme={null}1480```json theme={null}

1243{1481{


1253}1491}

1254```1492```

1255 1493 

1256每個項目都需要 `id`、`name` 和 `sshHost`。`sshPort` 和 `sshIdentityFile` 欄位是選用的。使用者也可以將 `sshConfigs` 新增到他們自己的 `~/.claude/settings.json`。1494每個項目都需要 `id`、`name` 和 `sshHost`。`sshPort` 和 `sshIdentityFile` 欄位為選用。使用者也可以將 `sshConfigs` 加入自己的 `~/.claude/settings.json`。

1257 1495 

1258如果您在 `sshHost` 中省略 `user@`,Desktop 會以每位開發人員的 `~/.ssh/config` 為該主機設定的 `User` 連接,否則會以他們在自己電腦上的使用者名稱連接。1496如果您在 `sshHost` 中省略 `user@`,Desktop 會以每位開發人員的 `~/.ssh/config` 為該主機設定的 `User` 連線,否則以他們在自己電腦上的使用者名稱連線。

1259 1497 

1260<h4 id="restrict-which-ssh-hosts-users-can-connect-to">1498<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

1261 限制使用者可以連接的 SSH 主機1499 限制使用者可連線的 SSH 主機

1262</h4>1500</h4>

1263 1501 

1264管理員可以透過在[受管設定](/docs/zh-TW/managed-settings)中設定 `sshHostAllowlist`,將 Desktop 的 SSH 工作階段限制在已核准的主機集合。設定後,使用者只能連接到其解析的主機名稱與其中一個模式相符的主機。將其設定為空陣列以停用 SSH 工作階段。[`sshHostAllowlist` 參考項目](/docs/zh-TW/settings-reference#sshhostallowlist)說明了空陣列如何與其他受管來源中的清單結合。1502管理員可以在[受管設定](/docs/zh-TW/managed-settings)中設定 `sshHostAllowlist`,將 Desktop 的 SSH 工作階段限制在一組核准的主機。設定後,使用者只能連線到解析後主機名稱符合其中一個模式的主機。將其設為空陣列即可停用 SSH 工作階段。[`sshHostAllowlist` 參考項目](/docs/zh-TW/settings-reference#sshhostallowlist)說明空陣列如何與其他受管來源中的清單合併。

1265 1503 

1266以下範例允許連接到 `devboxes.example.com` 下的任何主機以及單一命名的堡壘主機:1504下列範例允許連線到 `devboxes.example.com` 下的任何主機,以及單一指定的堡壘主機:

1267 1505 

1268```json theme={null}1506```json theme={null}

1269{1507{


1272```1510```

1273 1511 

1274<Warning>1512<Warning>

1275 如果您的組織提供[伺服器管理設定](/docs/zh-TW/server-managed-settings),請在那裡設定 `sshHostAllowlist`。預設情況下,Desktop 只會從[提供政策鍵的最高優先順序受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)讀取此鍵。如果該來源未設定此鍵,Desktop 會忽略較低優先順序的 MDM 政策或受管設定檔中的清單,並將此鍵視為[未設定](/docs/zh-TW/settings-reference#sshhostallowlist)。Desktop 不會顯示任何警告。1513 如果您的組織提供[伺服器管理的設定](/docs/zh-TW/server-managed-settings),請在該處設定 `sshHostAllowlist`。預設情況下,Desktop 只會從[提供政策鍵的最高排名受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)讀取此鍵。如果該來源未設定此鍵,Desktop 會忽略較低排名的 MDM 政策或受管設定檔中的清單,並將此鍵視為[未設定](/docs/zh-TW/settings-reference#sshhostallowlist)。Desktop 不會顯示任何警告。

1276 1514 

1277 此外,也請在每位使用者的機器上,於該處最高優先順序的 MDM 政策或受管設定檔中保留相同的清單。Desktop 會在啟動時擷取伺服器管理設定,且不保留快取副本,因此在擷取成功之前,套用的是該機器上的清單。1515 也請在每位使用者機器上的最高排名 MDM 政策或受管設定檔中保留相同的清單。Desktop 會在啟動時擷取伺服器管理的設定,且不會保留快取副本,因此在擷取成功之前,套用的是機器上的清單。

1278</Warning>1516</Warning>

1279 1517 

1280模式不區分大小寫。`*` 符合任何主機,`*.example.com` 符合 `example.com` 和任何子網域。其他任何內容都是精確符合。檢查會針對透過 `ssh -G` 進行 `~/.ssh/config` 解析後的主機名稱執行,因此允許 `Host` 別名和 `ProxyCommand`/`ProxyJump` 項目,只要解析的 `HostName` 相符即可。1518模式不區分大小寫。`*` 符合任何主機,而 `*.example.com` 符合 `example.com` 及其任何子網域。其他任何內容都是完全比對。檢查會針對透過 `ssh -G` 進行 `~/.ssh/config` 解析後的主機名稱執行,因此只要解析後的 `HostName` 相符,就允許 `Host` 別名和 `ProxyCommand`/`ProxyJump` 項目。

1281 1519 

1282`sshHostAllowlist` 僅從受管設定讀取;使用者或專案設定中的值會被忽略。只有 Claude Desktop 應用程式遵守此設定;Claude Code CLI 和 IDE 擴充功能不讀取它,它也不限制透過 Bash 工具執行的 `ssh` 命令。它控制 Desktop 應用程式連接的主機,而不是網路出口,因此如果您需要硬邊界,請將其與您組織的網路或零信任控制配對。1520`sshHostAllowlist` 只會從受管設定讀取;使用者或專案設定中的值會被忽略。只有 Claude Desktop 應用程式會遵循此設定;Claude Code CLI 和 IDE 擴充功能不會讀取它,且它不會限制透過 Bash 工具執行的 `ssh` 命令。它管理的是 Desktop 應用程式會連線到哪些主機,而不是網路出口流量,因此如果您需要硬性邊界,請將它與您組織的網路或零信任控制措施搭配使用。

1283 1521 

1284<h4 id="turn-off-local-sessions-and-distribute-ssh-connections">1522<h4 id="turn-off-local-sessions-and-distribute-ssh-connections">

1285 關閉本機工作階段並分發 SSH 連線1523 關閉本機工作階段並分發 SSH 連線

1286</h4>1524</h4>

1287 1525 

1288若要關閉本機工作階段,並將 SSH 工作階段限制在您選擇的主機,請同時部署 [`disableDesktopLocalSessions`](/docs/zh-TW/settings-reference#disabledesktoplocalsessions)、[`sshConfigs`](#pre-configure-ssh-connections-for-your-team) 和 [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to)。1526若要關閉本機工作階段並將 SSH 工作階段限制在您選擇的主機,請同時部署 [`disableDesktopLocalSessions`](/docs/zh-TW/settings-reference#disabledesktoplocalsessions)、[`sshConfigs`](#pre-configure-ssh-connections-for-your-team) 和 [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to)。

1289 1527 

1290<Note>1528<Note>

1291 此設定適用於以 Claude 帳戶登入的使用者。使用[第三方供應商](/docs/zh-TW/third-party-integrations)時,SSH 工作階段預設為關閉,而設定 `sshHostAllowlist` 可以將其開啟。部署這些鍵之前,請先閱讀 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。1529 此設定適用於使用 Claude 帳戶登入的使用者。使用[第三方供應商](/docs/zh-TW/third-party-integrations)時,SSH 工作階段預設為關閉,而設定 `sshHostAllowlist` 可以開啟它們。部署這些鍵之前,請閱讀 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。

1292</Note>1530</Note>

1293 1531 

1294以下範例會關閉本機工作階段、新增一個連線,並將 SSH 工作階段限制在該連線的主機:1532下列範例關閉本機工作階段、新增一個連線,並將 SSH 工作階段限制在該連線的主機:

1295 1533 

1296```json managed-settings.json theme={null}1534```json managed-settings.json theme={null}

1297{1535{


1311 1549 

1312* **CLI**:這些鍵都無法阻止開發人員在自己的電腦上執行 Claude Code CLI1550* **CLI**:這些鍵都無法阻止開發人員在自己的電腦上執行 Claude Code CLI

1313* **Cowork**:這些鍵都不適用於 [Cowork](https://claude.com/docs/cowork/overview) 工作階段或 Cowork 排程任務1551* **Cowork**:這些鍵都不適用於 [Cowork](https://claude.com/docs/cowork/overview) 工作階段或 Cowork 排程任務

1314* **雲端工作階段**:這些鍵都不會改變[雲端工作階段](#cloud-sessions)是否可用。若要將其關閉,請使用 [Admin console 控制項](#admin-console-controls)下的 **Cloud sessions** 設定。1552* **雲端工作階段**:這些鍵都不會改變[雲端工作階段](#cloud-sessions)是否可用。若要關閉它們,請使用 [Admin console 控制項](#admin-console-controls)下的 **Cloud sessions** 設定。

1315 1553 

1316調整此範例時,請檢查主機名稱、Desktop 版本和檔案的權限:1554調整範例時,請檢查主機名稱、Desktop 版本和檔案權限:

1317 1555 

1318* **主機名稱**:請確保 `sshHostAllowlist` 中有一個模式符合每個 `sshConfigs` 項目的主機名稱(不含 `user@`),否則開發人員將無法連接到它。有關 Desktop 如何比對主機名稱,請參閱[限制使用者可以連接的 SSH 主機](#restrict-which-ssh-hosts-users-can-connect-to)。1556* **主機名稱**:確保 `sshHostAllowlist` 中的某個模式符合每個 `sshConfigs` 項目的主機名稱(不含 `user@`),否則開發人員無法連線到它。如需 Desktop 如何比對主機名稱,請參閱[限制使用者可連線的 SSH 主機](#restrict-which-ssh-hosts-users-can-connect-to)。

1319* **版本**:`disableDesktopLocalSessions` 需要 Claude Desktop v1.37937.0 或更新版本1557* **版本**:`disableDesktopLocalSessions` 需要 Claude Desktop v1.37937.0 或更新版本

1320* **檔案權限**:請確保每位開發人員在電腦上的帳戶可以讀取受管設定檔。Desktop 不會套用該帳戶無法讀取之檔案中的鍵,Claude Code 也會[在沒有這些鍵的情況下啟動](/docs/zh-TW/managed-settings#find-entries-claude-code-dropped)。1558* **檔案權限**:確保電腦上每位開發人員的帳戶都能讀取受管設定檔。Desktop 不會套用帳戶無法讀取之檔案中的鍵,而 Claude Code 也會[在沒有這些鍵的情況下啟動](/docs/zh-TW/managed-settings#find-entries-claude-code-dropped)。

1321 1559 

1322請將這三個鍵放在同一個[受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)中,也就是您所提供的最高優先順序來源。如果您提供[伺服器管理設定](/docs/zh-TW/server-managed-settings),也請在每台電腦上最高優先順序的 MDM 政策或受管設定檔中保留這三個鍵的副本。Desktop 會在啟動時擷取伺服器管理設定,在擷取成功之前,套用的是電腦上的副本。1560將這三個鍵放在同一個[受管來源](/docs/zh-TW/managed-settings#how-claude-code-combines-managed-sources)中,也就是您提供的最高排名來源。如果您提供[伺服器管理的設定](/docs/zh-TW/server-managed-settings),也請在每台電腦上的最高排名 MDM 政策或受管設定檔中保留這三個鍵的副本。Desktop 會在啟動時擷取伺服器管理的設定,而在擷取成功之前,會套用電腦上的副本。

1323 1561 

1324若要確認設定已套用,請檢查開發人員的電腦:1562若要確認設定已套用,請檢查開發人員的電腦:

1325 1563 

1326<Steps>1564<Steps>

1327 <Step title="檢查環境下拉式選單">1565 <Step title="檢查環境下拉選單">

1328 結束並重新開啟 Desktop,然後在提示詞輸入框中開啟環境下拉式選單。**Local** 會呈灰色,且 **Shared Dev VM** 會出現在 **SSH** 下方。如果 **Local** 仍可使用,請檢查 Desktop 版本、檔案是否為有效的 JSON,以及電腦讀取的是哪個受管來源。1566 結束並重新開啟 Desktop,然後開啟提示詞方塊中的環境下拉選單。**Local** 會呈現灰色,且 **Shared Dev VM** 會出現在 **SSH** 下方。如果 **Local** 仍可使用,請檢查 Desktop 版本、檔案是否為有效的 JSON,以及電腦讀取的是哪個受管來源。

1329 </Step>1567 </Step>

1330 1568 

1331 <Step title="新增不在允許清單中的主機">1569 <Step title="新增不在允許清單上的主機">

1332 使用不在允許清單中的主機名稱(例如 `other.example.com`)[新增 SSH 連線](#ssh-sessions)。Desktop 會儲存該連線但拒絕連接,並說明您組織的設定不允許此連線。1570 使用不在允許清單上的主機名稱(例如 `other.example.com`)[新增 SSH 連線](#ssh-sessions)。Desktop 會儲存該連線但拒絕連線,並說明您組織的設定不允許該連線。

1333 </Step>1571 </Step>

1334</Steps>1572</Steps>

1335 1573 


1682 1920 

1683對於任何其他訊息,請檢查[遠端機器要求](#remote-machine-requirements-for-ssh-sessions)。1921對於任何其他訊息,請檢查[遠端機器要求](#remote-machine-requirements-for-ssh-sessions)。

1684 1922 

1923<a id="get-desktops-logs-for-an-ssh-problem" />

1924 

1925<h3 id="get-desktop’s-logs-for-an-ssh-problem">

1926 取得 SSH 問題的 Desktop 日誌

1927</h3>

1928 

1929`ssh.log` 是 Desktop 對其 SSH 連線的記錄,包含在您從 **Help** 選單儲存的 Desktop 日誌 zip 檔案中。若要儲存,請開啟 **Help > Troubleshooting**,並選擇適用於您系統的項目:

1930 

1931* **macOS**:**Show Logs in Finder**

1932* **Windows**:**Show Logs in File Explorer**

1933* **Linux**:**Show Logs in File Manager**

1934 

1935傳送前請先檢查這些檔案,因為其中可能包含您環境中的名稱和其他詳細資訊。`<host>` 和 `<user>` 代表 Desktop 已取代的名稱。Desktop 不會取代所有名稱,SSH 主機或使用者名稱仍可能以原樣出現。如果您將 zip 檔案傳送給他人,請告知是哪個主機在何時失敗,因為日誌中可能未指出該主機。

1936 

1937zip 檔案不包含 Desktop 安裝在遠端機器上的輔助程式的日誌。若也要取得該日誌,請從連線使用者家目錄中 [`~/.claude/remote/run/`](#files-and-processes-on-the-remote-machine) 下的輔助程式資料夾複製 `remote-server.log`。傳送前也請檢查該檔案。

1938 

1685<h3 id="app-won’t-quit">1939<h3 id="app-won’t-quit">

1686 應用程式無法退出1940 應用程式無法退出

1687</h3>1941</h3>

env-vars.md +3 −1

Details

225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 設定為 `0` 可阻止 Claude Code 在發布新的 [artifact](/docs/zh-TW/artifacts#create-an-artifact) 時自動開啟瀏覽器 |225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 設定為 `0` 可阻止 Claude Code 在發布新的 [artifact](/docs/zh-TW/artifacts#create-an-artifact) 時自動開啟瀏覽器 |

226| `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 或更新版本 |226| `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 或更新版本 |

227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | 設定為 `0` 可阻止 Claude [自行回覆傳送給它的留言](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。需要 Claude Code v2.1.228 或更新版本 |227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | 設定為 `0` 可阻止 Claude [自行回覆傳送給它的留言](/docs/zh-TW/artifacts#let-claude-reply-to-comments-on-its-own)。需要 Claude Code v2.1.228 或更新版本 |

228| `CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS` | 設為 `0` 可阻止 Claude 在發布 [artifact](/docs/zh-TW/artifacts#update-an-artifact) 時一併對其檔案套用小幅變更。Claude 會改用其檔案編輯工具編輯該檔案,並以獨立步驟發布。需要 Claude Code v2.1.300 或更新版本 |

228| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 設定為 `0` 可從系統提示詞開頭省略[歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block),該區塊包含用戶端版本與提示詞指紋。無論如何,直接連線至 Anthropic API 時的快取都不受影響。在某些直接連線設定中,即使您設定了 `0`,Claude Code 仍會在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)分類器請求中保留此區塊。請在[系統提示詞歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block)中查看此情況涵蓋哪些連線與憑證。在 v2.1.181 之前,此區塊在自訂基礎 URL 與 Microsoft Foundry 連線上包含每個請求專屬的 token,因此在這些版本上,當您的 LLM 閘道依請求本文進行快取或將請求轉送至第三方提供者時,或當您直接連線至 Microsoft Foundry 時,請將其設定為 `0` |229| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 設定為 `0` 可從系統提示詞開頭省略[歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block),該區塊包含用戶端版本與提示詞指紋。無論如何,直接連線至 Anthropic API 時的快取都不受影響。在某些直接連線設定中,即使您設定了 `0`,Claude Code 仍會在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)分類器請求中保留此區塊。請在[系統提示詞歸屬區塊](/docs/zh-TW/llm-gateway-protocol#system-prompt-attribution-block)中查看此情況涵蓋哪些連線與憑證。在 v2.1.181 之前,此區塊在自訂基礎 URL 與 Microsoft Foundry 連線上包含每個請求專屬的 token,因此在這些版本上,當您的 LLM 閘道依請求本文進行快取或將請求轉送至第三方提供者時,或當您直接連線至 Microsoft Foundry 時,請將其設定為 `0` |

229| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | 已於 v2.1.283 移除。請改用 `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | 已於 v2.1.283 移除。請改用 `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

230| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 設定[自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window),單位為 token,範圍從 `100000` 到 `1000000`。僅接受純整數,例如 `500000`:像 `500k` 這樣的值會被讀取為 `500`,並被限制為 100K 最小值。實際視窗也以模型的上下文視窗為上限。優先於 `/autocompact` 命令、`--autocompact` 旗標與 `autoCompactWindow` 設定。狀態列的 `used_percentage` 一律以模型的完整上下文視窗為基準,因此一旦設定此變數,該百分比就不再代表壓縮何時會執行 |231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 設定[自動壓縮視窗](/docs/zh-TW/model-config#set-the-auto-compact-window),單位為 token,範圍從 `100000` 到 `1000000`。僅接受純整數,例如 `500000`:像 `500k` 這樣的值會被讀取為 `500`,並被限制為 100K 最小值。實際視窗也以模型的上下文視窗為上限。優先於 `/autocompact` 命令、`--autocompact` 旗標與 `autoCompactWindow` 設定。狀態列的 `used_percentage` 一律以模型的完整上下文視窗為基準,因此一旦設定此變數,該百分比就不再代表壓縮何時會執行 |


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

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

334| `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` 路由至某個模型,而其上下文視窗與其名稱對應的內建大小不符時使用 |335| `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` 路由至某個模型,而其上下文視窗與其名稱對應的內建大小不符時使用 |

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

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

337| `CLAUDE_CODE_MAX_RETRIES` | 覆寫失敗 API 請求的重試次數(預設:10)。自 v2.1.186 起上限為 15;自 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。對於需要等候較長服務中斷的無人值守工作階段,請改為設定 `CLAUDE_CODE_RETRY_WATCHDOG` |338| `CLAUDE_CODE_MAX_RETRIES` | 覆寫失敗 API 請求的重試次數(預設:10)。自 v2.1.186 起上限為 15;自 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 會提高預設值並移除上限。對於需要等候較長服務中斷的無人值守工作階段,請改為設定 `CLAUDE_CODE_RETRY_WATCHDOG` |

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


598* 執行 [`/skill-doctor`](/docs/zh-TW/skills#find-unused-skills),或在 `/plugin` 的 **Stats** 分頁中開啟其報告599* 執行 [`/skill-doctor`](/docs/zh-TW/skills#find-unused-skills),或在 `/plugin` 的 **Stats** 分頁中開啟其報告

599* 將您的 claude.ai 帳戶所啟用的 [skills](/docs/zh-TW/skills#where-synced-skills-load) 和[外掛](/docs/zh-TW/plugins/loading#synced-plugins)同步到您的終端機工作階段600* 將您的 claude.ai 帳戶所啟用的 [skills](/docs/zh-TW/skills#where-synced-skills-load) 和[外掛](/docs/zh-TW/plugins/loading#synced-plugins)同步到您的終端機工作階段

600* 啟用 [You should know mod](/docs/zh-TW/interactive-mode#you-should-know-suggestions)601* 啟用 [You should know mod](/docs/zh-TW/interactive-mode#you-should-know-suggestions)

602* 查看 [mod](/docs/zh-TW/plugins/mods/overview#where-mods-run) 在 VS Code 擴充功能的聊天面板中繪製的內容;該 mod 的 hook 仍會執行

601* 使用 [advisor 工具](/docs/zh-TW/advisor#requirements)603* 使用 [advisor 工具](/docs/zh-TW/advisor#requirements)

602* 閱讀或回覆 [artifact 上的留言](/docs/zh-TW/artifacts#collect-comments-on-an-artifact)604* 閱讀或回覆 [artifact 上的留言](/docs/zh-TW/artifacts#collect-comments-on-an-artifact)

603* 讓 Claude 讀取[其他組織的公開 artifact](/docs/zh-TW/artifacts#read-an-artifact-shared-with-you)605* 讓 Claude 讀取[其他組織的公開 artifact](/docs/zh-TW/artifacts#read-an-artifact-shared-with-you)

errors.md +202 −10

Details

72| `Claude.ai login was rejected — run /login, then /remote-control` | [身分驗證](#remote-control-couldnt-refresh-your-login) |72| `Claude.ai login was rejected — run /login, then /remote-control` | [身分驗證](#remote-control-couldnt-refresh-your-login) |

73| `OAuth token unavailable — run /login to restore Remote Control` | [身分驗證](#remote-control-couldnt-refresh-your-login) |73| `OAuth token unavailable — run /login to restore Remote Control` | [身分驗證](#remote-control-couldnt-refresh-your-login) |

74| `Signed out of Claude — run /login, then /remote-control` | [身分驗證](#remote-control-couldnt-refresh-your-login) |74| `Signed out of Claude — run /login, then /remote-control` | [身分驗證](#remote-control-couldnt-refresh-your-login) |

75| `Remote Control could not renew this computer's connection` | [身分驗證](#remote-control-could-not-renew-this-computers-connection) |

75| `signed-in claude.ai account or organization changed on this machine` | [身分驗證](#remote-control-stopped-because-the-signed-in-account-changed) |76| `signed-in claude.ai account or organization changed on this machine` | [身分驗證](#remote-control-stopped-because-the-signed-in-account-changed) |

76| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [身分驗證](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |77| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [身分驗證](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Remote Control stopped — the app running this session is signed out of Claude` | [身分驗證](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |78| `Remote Control stopped — the app running this session is signed out of Claude` | [身分驗證](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |


153| `Request too large` | [請求錯誤](#request-too-large) |154| `Request too large` | [請求錯誤](#request-too-large) |

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

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

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

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

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

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


179| `Effort '<level>' isn't available with thinking turned off on this model` | [請求錯誤](#effort-isnt-available-with-thinking-turned-off) |181| `Effort '<level>' isn't available with thinking turned off on this model` | [請求錯誤](#effort-isnt-available-with-thinking-turned-off) |

180| `effort '<level>' is not supported when thinking is disabled` | [請求錯誤](#effort-isnt-available-with-thinking-turned-off) |182| `effort '<level>' is not supported when thinking is disabled` | [請求錯誤](#effort-isnt-available-with-thinking-turned-off) |

181| `max_tokens must be greater than thinking.budget_tokens` | [請求錯誤](#thinking-budget-exceeds-output-limit) |183| `max_tokens must be greater than thinking.budget_tokens` | [請求錯誤](#thinking-budget-exceeds-output-limit) |

184| `Claude's response exceeded the ... output token maximum` | [請求錯誤](#response-exceeded-the-output-token-maximum) |

182| `API Error: 400 due to tool use concurrency issues` | [請求錯誤](#tool-use-or-thinking-block-mismatch) |185| `API Error: 400 due to tool use concurrency issues` | [請求錯誤](#tool-use-or-thinking-block-mismatch) |

183| `API Error: 400 orphaned tool_result in conversation history` | [請求錯誤](#tool-use-or-thinking-block-mismatch) |186| `API Error: 400 orphaned tool_result in conversation history` | [請求錯誤](#tool-use-or-thinking-block-mismatch) |

184| `API Error: 400 duplicate tool_use ID in conversation history` | [請求錯誤](#tool-use-or-thinking-block-mismatch) |187| `API Error: 400 duplicate tool_use ID in conversation history` | [請求錯誤](#tool-use-or-thinking-block-mismatch) |


199| `The connection dropped while downloading the update` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |202| `The connection dropped while downloading the update` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

200| `Download timed out: exceeded the total deadline` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |203| `Download timed out: exceeded the total deadline` | [疑難排解安裝和登入](/docs/zh-TW/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

201| `--bg and --print conflict` | [命令列錯誤](#conflict-between-bg-and-print) |204| `--bg and --print conflict` | [命令列錯誤](#conflict-between-bg-and-print) |

205| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [命令列錯誤](#couldnt-tell-whether-bg-is-a-flag-or-text) |

202| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [命令列錯誤](#conflict-between-a-system-prompt-flag-and-its-file-form) |206| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [命令列錯誤](#conflict-between-a-system-prompt-flag-and-its-file-form) |

203| `Cloud sessions cannot be created from a --restricted session` | [命令列錯誤](#cloud-sessions-cannot-be-created-from-a-restricted-session) |207| `Cloud sessions cannot be created from a --restricted session` | [命令列錯誤](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

204| `Cloud sessions are disabled by your organization's policy` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |208| `Cloud sessions are disabled by your organization's policy` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |


217| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [命令列錯誤](#directory-couldnt-be-resolved-to-a-real-location) |221| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [命令列錯誤](#directory-couldnt-be-resolved-to-a-real-location) |

218| 啟動 Remote Control 時出現的 `Error: Workspace not trusted` | [命令列錯誤](#workspace-not-trusted-when-starting-remote-control) |222| 啟動 Remote Control 時出現的 `Error: Workspace not trusted` | [命令列錯誤](#workspace-not-trusted-when-starting-remote-control) |

219| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [命令列錯誤](#not-carried-over-to-the-sessions-remote-control-starts) |223| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [命令列錯誤](#not-carried-over-to-the-sessions-remote-control-starts) |

224| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [命令列錯誤](#sandbox-is-not-supported-by-claude-remote-control) |

220| `` `claude import` is not yet available in this build `` | [命令列錯誤](#claude-import-is-not-yet-available-in-this-build) |225| `` `claude import` is not yet available in this build `` | [命令列錯誤](#claude-import-is-not-yet-available-in-this-build) |

221| `Could not read Claude Code config` | [命令列錯誤](#could-not-read-claude-code-config) |226| `Could not read Claude Code config` | [命令列錯誤](#could-not-read-claude-code-config) |

222| `Could not import <server>: <reason>` | [命令列錯誤](#could-not-import-a-server-from-claude-desktop) |227| `Could not import <server>: <reason>` | [命令列錯誤](#could-not-import-a-server-from-claude-desktop) |


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

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

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

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

236| `Input must be provided either through stdin or as a prompt argument when using --print` | [命令列錯誤](#input-must-be-provided-when-using-print) |242| `Input must be provided either through stdin or as a prompt argument when using --print` | [命令列錯誤](#input-must-be-provided-when-using-print) |

237| `Claude Code can't read the keyboard here: stdin is not a terminal` | [命令列錯誤](#claude-code-cant-read-the-keyboard-here) |243| `Claude Code can't read the keyboard here: stdin is not a terminal` | [命令列錯誤](#claude-code-cant-read-the-keyboard-here) |

238| `Error: Input contained only whitespace` | [命令列錯誤](#input-contained-only-whitespace) |244| `Error: Input contained only whitespace` | [命令列錯誤](#input-contained-only-whitespace) |


367| `Claude Code exited after an unrecoverable interface error (...)` | [設定警告](#exited-after-an-unrecoverable-interface-error) |373| `Claude Code exited after an unrecoverable interface error (...)` | [設定警告](#exited-after-an-unrecoverable-interface-error) |

368| `Agent descriptions are over the 15.0k-token limit` | [設定警告](#agent-descriptions-are-over-the-15000-token-limit) |374| `Agent descriptions are over the 15.0k-token limit` | [設定警告](#agent-descriptions-are-over-the-15000-token-limit) |

369| `hook needs quotes around a path with a space` | [設定警告](#hook-needs-quotes-around-a-path-with-a-space) |375| `hook needs quotes around a path with a space` | [設定警告](#hook-needs-quotes-around-a-path-with-a-space) |

376| `Instruction file not loaded` | [設定警告](#instruction-file-not-loaded) |

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

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

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


377| `Your organization's managed settings allow Claude Code to use: <providers>` | [設定警告](#managed-settings-dont-allow-this-api-provider) |384| `Your organization's managed settings allow Claude Code to use: <providers>` | [設定警告](#managed-settings-dont-allow-this-api-provider) |

378| `Your organization's managed settings allow Claude Code to use no API provider at all` | [設定警告](#managed-settings-dont-allow-this-api-provider) |385| `Your organization's managed settings allow Claude Code to use no API provider at all` | [設定警告](#managed-settings-dont-allow-this-api-provider) |

379| `MCP server <name> is blocked by enterprise managed policy` | [設定警告](#mcp-server-is-blocked-by-enterprise-managed-policy) |386| `MCP server <name> is blocked by enterprise managed policy` | [設定警告](#mcp-server-is-blocked-by-enterprise-managed-policy) |

387| `"<name>" is a reserved MCP server name and was not loaded` | [設定警告](#mcp-server-name-is-reserved) |

380| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [設定警告](#managed-settings-document-could-not-be-parsed) |388| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [設定警告](#managed-settings-document-could-not-be-parsed) |

381| `Managed settings drop-in directory could not be read` | [設定警告](#managed-settings-document-could-not-be-parsed) |389| `Managed settings drop-in directory could not be read` | [設定警告](#managed-settings-document-could-not-be-parsed) |

382| `Unable to read managed policy settings` | [設定警告](#unable-to-read-managed-policy-settings) |390| `Unable to read managed policy settings` | [設定警告](#unable-to-read-managed-policy-settings) |

391| `Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:` | [設定警告](#managed-settings-hooks-not-loaded) |

383| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [設定警告](#otelheadershelper-failed) |392| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [設定警告](#otelheadershelper-failed) |

384| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [設定警告](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |393| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [設定警告](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |

385| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [設定警告](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [設定警告](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |


389| `... has a wildcard before the rest of the command` | [設定警告](#has-a-wildcard-before-the-rest-of-the-command) |398| `... has a wildcard before the rest of the command` | [設定警告](#has-a-wildcard-before-the-rest-of-the-command) |

390| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [設定警告](#denying-bash-also-turns-off-the-powershell-tool) |399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [設定警告](#denying-bash-also-turns-off-the-powershell-tool) |

391| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [設定警告](#the-200k-limit-isnt-enforced) |400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [設定警告](#the-200k-limit-isnt-enforced) |

401| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [修正閘道或自訂模型 ID 的上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [修正閘道或自訂模型 ID 的上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

392| `[claude-code:unrecognized_model]` | [設定警告](#unrecognized-model-id-on-a-request) |403| `[claude-code:unrecognized_model]` | [設定警告](#unrecognized-model-id-on-a-request) |

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

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

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

395 407 


1209 1221 

1210在 v2.1.238 之前,Claude Code 會將現在顯示為 `Signed out of Claude` 的情況回報為 `JWT refresh failed: no OAuth token — run /login`,並且只要有一次登入重新整理沒有得到回應,就會以 `Claude.ai login expired — run /login to restore Remote Control` 停止 Remote Control。1222在 v2.1.238 之前,Claude Code 會將現在顯示為 `Signed out of Claude` 的情況回報為 `JWT refresh failed: no OAuth token — run /login`,並且只要有一次登入重新整理沒有得到回應,就會以 `Claude.ai login expired — run /login to restore Remote Control` 停止 Remote Control。

1211 1223 

1224<h3 id="remote-control-could-not-renew-this-computers-connection">

1225 Remote Control could not renew this computer's connection

1226</h3>

1227 

1228當伺服器無法在連線的憑證到期前使用您的 claude.ai 登入為其續期時,此警告會出現在執行 [`claude remote-control`](/docs/zh-TW/remote-control#start-a-remote-control-session) 的終端機中。警告的最後一句會說明目前的憑證還能使用多久,或說明它已經過期:

1229 

1230```text theme={null}

1231Remote Control could not renew this computer's connection: claude.ai did not accept the sign-in it uses. Run `claude /login` to sign in again. The connection keeps working for about 26 hours; if it still cannot sign in then, it stops.

1232```

1233 

1234**處理方式:**

1235 

1236* 如果警告要求您執行 `claude /login`,請在執行伺服器的機器上開啟另一個終端機,在其中執行 `claude /login`,並以您的 claude.ai 帳戶登入

1237* 如果在連線的憑證過期後伺服器仍無法登入,它會輸出包含 `Poll: Authentication failed (401)` 的錯誤並停止。請依警告第二句的說明重新登入,然後在伺服器停止的終端機中再次執行 `claude remote-control`。

1238 

1212<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1239<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1213 由於登入的帳戶已變更,Remote Control 已停止1240 由於登入的帳戶已變更,Remote Control 已停止

1214</h3>1241</h3>


2279* 使用 `/mcp disable <name>` 禁用您未使用的 MCP 伺服器,以從上下文中移除其工具定義2306* 使用 `/mcp disable <name>` 禁用您未使用的 MCP 伺服器,以從上下文中移除其工具定義

2280* 修剪大型 `CLAUDE.md` 記憶檔案,或將指示移至[路徑範圍規則](/docs/zh-TW/memory#path-specific-rules),這些規則僅在相關時載入2307* 修剪大型 `CLAUDE.md` 記憶檔案,或將指示移至[路徑範圍規則](/docs/zh-TW/memory#path-specific-rules),這些規則僅在相關時載入

2281* 自動壓縮預設為開啟,通常可防止此錯誤。如果您在 `/config` 中或使用 [`DISABLE_AUTO_COMPACT`](/docs/zh-TW/env-vars) 關閉了它,請將其重新開啟。如果您保持關閉,請在視窗填滿之前自己執行 `/compact`。2308* 自動壓縮預設為開啟,通常可防止此錯誤。如果您在 `/config` 中或使用 [`DISABLE_AUTO_COMPACT`](/docs/zh-TW/env-vars) 關閉了它,請將其重新開啟。如果您保持關閉,請在視窗填滿之前自己執行 `/compact`。

2309* 若錯誤在接受更多 token 的模型上於接近 200K token 時出現,原因之一是 Claude Code 無法辨識的模型 ID。Claude Code 會為這類 ID 假設 200K 的視窗,因此若要在超過該點後繼續工作,請[提供模型的實際上下文視窗](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。

2282 2310 

2283請參閱[探索上下文視窗](/docs/zh-TW/context-window)以獲得上下文如何填滿的互動式檢視。2311請參閱[探索上下文視窗](/docs/zh-TW/context-window)以獲得上下文如何填滿的互動式檢視。

2284 2312 


2340```text theme={null}2368```text theme={null}

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

2342API Error: 400 ... image dimensions exceed max allowed size2370API Error: 400 ... image dimensions exceed max allowed size

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

2343```2372```

2344 2373 

2345Claude Code 用文字佔位符替換無法處理的影像並重試,因此後續訊息成功。在 2.1.142 之前的版本上,貼上的影像可能保留在對話中,並在後續每條訊息上重複相同的錯誤。若要在這些版本上恢復,按 Esc 兩次並回到添加影像的回合之前。2374`could not be processed and was removed` 這一行表示 API 拒絕了對話中的某張圖片,例如超過大小或尺寸上限的圖片。

2375 

2376若其中某個錯誤持續出現,請更新 Claude Code。在較舊的版本中,圖片錯誤可能因下列原因重複出現:

2377 

2378* 在 v2.1.299 之前,在含有許多圖片的長對話中,Claude Code 可能會移除您最後附加的圖片,而非超過上限的那張。接著 `was removed` 這一行會在每個回合重複出現,且 Claude 看不到您的新圖片。

2379* 在 v2.1.299 之前,在 VS Code、Desktop 應用程式和 Agent SDK 中,您在 Claude 工作期間附加的圖片不會像其他附加圖片一樣經過縮放。它們以原始大小送達 API,導致長對話中重複出現圖片錯誤。

2380* 在 v2.1.166 之前,貼上的圖片可能會留在對話中,導致之後的每則訊息都重複出現相同錯誤

2346 2381 

2347**該怎麼辦:**2382**該怎麼辦:**

2348 2383 


2800* 將 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/zh-TW/env-vars) 提高到思考預算以上2835* 將 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/zh-TW/env-vars) 提高到思考預算以上

2801* 請參閱[延伸思考](/docs/zh-TW/model-config#extended-thinking)以了解預算如何與輸出長度互動2836* 請參閱[延伸思考](/docs/zh-TW/model-config#extended-thinking)以了解預算如何與輸出長度互動

2802 2837 

2838<h3 id="response-exceeded-the-output-token-maximum">

2839 Response exceeded the output token maximum

2840</h3>

2841 

2842Claude 的回覆達到了請求所允許的最大輸出 token 數,並在該處被截斷:

2843 

2844```text theme={null}

2845API Error: Claude's response exceeded the ... output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.

2846API Error: Claude's response exceeded the 64000 output token maximum for a request sent without streaming. The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable cannot raise this limit.

2847```

2848 

2849列出 `a request sent without streaming` 的形式,表示某個串流請求失敗,而 Claude Code 以非串流方式重新送出,這會將回覆限制在 64,000 個輸出 token。在 v2.1.299 之前,在這類重新送出的請求中被截斷的回覆會結束該回合,且不顯示此訊息,就好像回覆已完成一樣。

2850 

2851**處理方式:**

2852 

2853* 若 Claude 在回覆被截斷之前已寫出部分文字,請在互動式工作階段中回覆 `continue` 以要求其餘內容。該文字會保留在對話中。

2854* 若訊息要求設定 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`,請參閱 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/zh-TW/env-vars) 了解該值的上限,並參閱[設定環境變數](/docs/zh-TW/env-vars#set-environment-variables)了解設定位置

2855* 若要讓每則回覆都在上限之內,請要求 Claude 以較小的片段輸出,例如每則回覆一個檔案或一個章節

2856 

2803<h3 id="tool-use-or-thinking-block-mismatch">2857<h3 id="tool-use-or-thinking-block-mismatch">

2804 工具使用或思考區塊不匹配2858 工具使用或思考區塊不匹配

2805</h3>2859</h3>


2936模型的安全措施將對話中的內容標記為網路安全主題。訊息命名標記請求的模型:2990模型的安全措施將對話中的內容標記為網路安全主題。訊息命名標記請求的模型:

2937 2991 

2938```text theme={null}2992```text theme={null}

2939API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2993API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2940```2994```

2941 2995 

2942如果訊息包含 `` Details: `[reasoning_extraction]` `` 這一行,請參閱[安全措施標記了要求提供 Claude 推理過程的請求](#safeguards-flagged-a-request-for-claudes-reasoning)。2996如果訊息包含 `` Details: `[reasoning_extraction]` `` 這一行,請參閱[安全措施標記了要求提供 Claude 推理過程的請求](#safeguards-flagged-a-request-for-claudes-reasoning)。


2945 2999 

2946在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 和 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 上,網路安全標記會產生[使用政策拒絕](#usage-policy-refusal)訊息。3000在 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 和 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 上,網路安全標記會產生[使用政策拒絕](#usage-policy-refusal)訊息。

2947 3001 

2948安全措施本身是伺服器端的,早於 v2.1.203;自那時以來的用戶端版本僅更改了訊息的措辭。

2949從 v2.1.203 到 v2.1.218,訊息讀取 `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` 後跟相同的幫助中心連結,互動式工作階段附加 `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`

2950在 v2.1.203 之前,它讀取 `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` 後跟豁免表單連結。

2951 

2952**該怎麼辦:**3002**該怎麼辦:**

2953 3003 

2954* 如果您的工作需要此內容,請通過[網路安全驗證計畫](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)申請存取權限3004* 如果您的工作需要此內容,請通過[網路安全驗證計畫](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)申請存取權限

2955* 如果您的請求不是關於網路安全主題,請執行 `/feedback` 以報告誤報3005* 如果您的請求不是關於網路安全主題,請執行 `/feedback` 以報告誤報

2956* 若要在同一工作階段中繼續工作,請按 Esc 兩次或執行 `/rewind` 以回到觸發標記的回合之前的檢查點,然後採取不同的方法。請參閱[檢查點功能](/docs/zh-TW/checkpointing)。3006* 若要在同一工作階段中繼續工作,請按 Esc 兩次或執行 `/rewind` 以回到觸發標記的回合之前的檢查點,然後採取不同的方法。請參閱[檢查點功能](/docs/zh-TW/checkpointing)。

2957 3007 

3008如果您看到的訊息措辭與下列其中之一相同,則為較早版本 Claude Code 上的相同旗標:

3009 

3010* 從 v2.1.219 到 v2.1.296,訊息也可能在結尾句之前包含 `Apply to the Cyber Verification Program to reduce these interruptions.`

3011* 從 v2.1.203 到 v2.1.218,訊息內容為 `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:`,後接相同的說明中心連結。在互動式工作階段中,訊息會接著顯示 `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`

3012* 在 v2.1.203 之前,訊息內容為 `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:`,後接豁免表單連結

3013 

2958<h3 id="safeguards-flagged-a-request-for-claudes-reasoning">3014<h3 id="safeguards-flagged-a-request-for-claudes-reasoning">

2959 安全措施標記了要求提供 Claude 推理過程的請求3015 安全措施標記了要求提供 Claude 推理過程的請求

2960</h3>3016</h3>


3012* 移除 `-p` 或 `--print`。`--bg` 會將提示詞作為其位置引數,因此 `claude --bg "<task>"` 就是完整的命令。請參閱[從 shell 分派新的 agent](/docs/zh-TW/agent-view#from-your-shell)。3068* 移除 `-p` 或 `--print`。`--bg` 會將提示詞作為其位置引數,因此 `claude --bg "<task>"` 就是完整的命令。請參閱[從 shell 分派新的 agent](/docs/zh-TW/agent-view#from-your-shell)。

3013* 若要以非互動方式執行提示詞並列印結果,而不是建立背景工作階段,請移除 `--bg` 並執行 `claude -p "<task>"`3069* 若要以非互動方式執行提示詞並列印結果,而不是建立背景工作階段,請移除 `--bg` 並執行 `claude -p "<task>"`

3014 3070 

3071<h3 id="couldnt-tell-whether-bg-is-a-flag-or-text">

3072 Couldn't tell whether `--bg` is a flag or text

3073</h3>

3074 

3075您執行 `claude` 時,將 `--bg` 或 `--background` 放在 Claude Code 無法判斷您是要將其作為背景旗標還是文字的位置。該命令沒有啟動任何東西,僅列印這一行,並以退出碼 1 結束:

3076 

3077```text theme={null}

3078Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>

3079```

3080 

3081如果您輸入的是 `--background`,該行會改為列出 `--background`。

3082 

3083**處理方式:**

3084 

3085* 若要啟動[背景工作階段](/docs/zh-TW/agent-view#from-your-shell),請在 shell 中將旗標放在最前面再次執行命令:`claude --bg --name nightly-audit "<task>"`

3086 

3015<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">3087<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

3016 系統提示詞旗標與其檔案形式衝突3088 系統提示詞旗標與其檔案形式衝突

3017</h3>3089</h3>


3296 3368 

3297在 v2.1.248 之前,當全域旗標在前時,`claude remote-control` 不接受其自身的旗標,該命令會以 `unknown option` 錯誤失敗。3369在 v2.1.248 之前,當全域旗標在前時,`claude remote-control` 不接受其自身的旗標,該命令會以 `unknown option` 錯誤失敗。

3298 3370 

3371<h3 id="sandbox-is-not-supported-by-claude-remote-control">

3372 `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3373</h3>

3374 

3375此錯誤表示啟動您 [Remote Control](/docs/zh-TW/remote-control) 伺服器的命令在 `remote-control` 之後傳入了 `--sandbox` 或 `--no-sandbox`,而 `claude remote-control` 兩者皆不接受。伺服器會以退出碼 1 結束,而不會啟動:

3376 

3377```text theme={null}

3378Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.

3379Error: --no-sandbox is not supported by claude remote-control. The flag had no effect and was removed. Remove it from the command.

3380```

3381 

3382**處理方式:**

3383 

3384* 從命令中移除該旗標(包括在替您啟動伺服器的指令碼或服務定義中),然後再次執行

3385* 若要對伺服器所啟動的工作階段使用沙箱,請在[設定檔](/docs/zh-TW/settings#where-settings-live)中將 [`sandbox.enabled`](/docs/zh-TW/settings-reference#sandbox-enabled) 設為 `true`,以開啟[沙箱機制](/docs/zh-TW/sandboxing)

3386 

3387這兩個旗標已在 v2.1.300 中從 `claude remote-control` 移除,因此為較早版本撰寫的命令可能仍帶有其中之一。

3388 

3299<h3 id="claude-import-is-not-yet-available-in-this-build">3389<h3 id="claude-import-is-not-yet-available-in-this-build">

3300 此建置中尚無法使用 claude import3390 此建置中尚無法使用 claude import

3301</h3>3391</h3>


3542* 伺服器端 HEAD 指向無人推送過之分支的遠端3632* 伺服器端 HEAD 指向無人推送過之分支的遠端

3543* 沒有 `origin` 遠端的儲存庫,或您從未擷取過的遠端3633* 沒有 `origin` 遠端的儲存庫,或您從未擷取過的遠端

3544 3634 

3545Claude Code 對任何[注入動態脈絡](/docs/zh-TW/skills#when-an-injected-command-fails)的 skill 都會顯示相同的錯誤,而失敗的注入命令會中止該 skill 的呼叫。另有兩個同類字串會在命令執行之前就觸發:3635對於任何[注入動態上下文](/docs/zh-TW/skills#when-an-injected-command-fails)的 skill,Claude Code 都會顯示相同的錯誤,而注入的命令失敗會中止該 skill 的呼叫。

3636 

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

3546 3638 

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

3548* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:該 skill 的 frontmatter 要求在沒有 bash 的機器上使用 bash。請安裝 Git for Windows,或將 frontmatter 改為 `shell: powershell`。請參閱[注入命令的執行方式](/docs/zh-TW/skills#how-injected-commands-run)3640* ``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)

3641* `No shell command in <name> was run`:檔案中的某個 `!` 命令包含 tab 或換行以外的原始控制字元,因此所有命令都不會執行。請參閱[如何找出並移除該字元](#no-shell-command-was-run)

3549 3642 

3550**處理方式:**3643**處理方式:**

3551 3644 


3553* 如果您不想指定分支名稱,請執行 `git fetch origin`,然後執行 `git remote set-head origin --auto`,它會詢問遠端哪個分支是預設分支。當遠端沒有公告預設分支(因為它是空的,或其 HEAD 指向無人推送的分支)時,它會以 `error: Cannot determine remote HEAD` 失敗;此時請明確指定分支。當您的複製不擷取該分支時,它會以 `error: Not a valid ref` 失敗;請先如上所述擴大 refspec。3646* 如果您不想指定分支名稱,請執行 `git fetch origin`,然後執行 `git remote set-head origin --auto`,它會詢問遠端哪個分支是預設分支。當遠端沒有公告預設分支(因為它是空的,或其 HEAD 指向無人推送的分支)時,它會以 `error: Cannot determine remote HEAD` 失敗;此時請明確指定分支。當您的複製不擷取該分支時,它會以 `error: Not a valid ref` 失敗;請先如上所述擴大 refspec。

3554* 如果儲存庫沒有遠端,請使用 `git remote add origin <url>` 新增一個,並在建立參照前先擷取。如果遠端是空的,請先使用 `git push -u origin HEAD` 推送您的分支,並在 set-head 命令中指定該分支;之後 `origin/HEAD` 會指向您剛推送的分支,因此在您的分支與其分歧之前,`/security-review` 看到的差異都會是空的。3647* 如果儲存庫沒有遠端,請使用 `git remote add origin <url>` 新增一個,並在建立參照前先擷取。如果遠端是空的,請先使用 `git push -u origin HEAD` 推送您的分支,並在 set-head 命令中指定該分支;之後 `origin/HEAD` 會指向您剛推送的分支,因此在您的分支與其分歧之前,`/security-review` 看到的差異都會是空的。

3555 3648 

3649<h3 id="no-shell-command-was-run">

3650 No shell command in a skill or command was run

3651</h3>

3652 

3653skill 或自訂命令檔案中的某個 `` !`<command>` `` [動態上下文命令](/docs/zh-TW/skills#inject-dynamic-context)包含 tab 或換行以外的原始控制字元。Claude Code 會在該檔案的任何命令執行之前拒絕整個呼叫。

3654 

3655訊息會列出原本要執行這些命令的 shell 工具(Bash 或 PowerShell),並以遭拒絕的命令結尾。每個此類字元都會以 `�` 取代,方便您看出其位置:

3656 

3657```text theme={null}

3658No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.

3659build.sh --target�dist

3660```

3661 

3662**處理方式:**

3663 

3664* 在訊息結尾所引用的命令中找出每個 `�`。從 skill 或命令檔案中,或從代入該檔案的引數或選項中,移除它所代表的字元。

3665 

3556<h3 id="input-must-be-provided-when-using-print">3666<h3 id="input-must-be-provided-when-using-print">

3557 使用 `--print` 時必須提供輸入3667 使用 `--print` 時必須提供輸入

3558</h3>3668</h3>


3694 3804 

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

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

3697* **您傳入的基礎分支不在您的 clone 中**:Claude Code 在比對之前先從 origin 擷取了它。提示為 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``;當 Claude Code 無法判斷您的 clone 是否為淺層 clone 時,則會改為建議 `git fetch --unshallow origin`。在 v2.1.221 之前,提示會對每個擷取的基礎分支建議 `git fetch --unshallow origin`,而在完整的 clone 上,該命令會以 `fatal: --unshallow on a complete repository does not make sense` 失敗。3807* **您傳入的基底分支不在您的 clone 中**:Claude Code 在比較前從 origin 擷取了它。提示為 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``;當 Claude Code 無法判斷您的 clone 是否為淺層時,會改為建議 `git fetch --unshallow origin`。在 v2.1.221 之前,提示會為每個擷取的基底分支建議 `git fetch --unshallow origin`,而在完整的 clone 上,該命令會以 `fatal: --unshallow on a complete repository does not make sense` 失敗。

3698 3808 

3699**處理方式:**3809**處理方式:**

3700 3810 


5499 5609 

5500* 在執行通知所指腳本之 hook 的 `command` 中,以雙引號包住路徑。在 JSON 檔案中,請寫成 `"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""`。5610* 在執行通知所指腳本之 hook 的 `command` 中,以雙引號包住路徑。在 JSON 檔案中,請寫成 `"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""`。

5501 5611 

5612<h3 id="instruction-file-not-loaded">

5613 Instruction file not loaded

5614</h3>

5615 

5616互動式工作階段對話檢視中的此通知,表示某個存在的[記憶檔案](/docs/zh-TW/memory#how-claude-md-files-load)未被載入。有一項讀取限制正在生效。

5617 

5618```text theme={null}

5619Instruction file not loaded (a Read deny rule covers it):

5620path: .claude/rules/shared.md

5621```

5622 

5623括號內容會指出原因,例如:

5624 

5625* **`a Read deny rule covers it`**:某條 `Read` [拒絕規則](/docs/zh-TW/permissions#read-and-edit)符合該檔案所寫的路徑,或其上的連結所指向的位置

5626* **`it's read from outside your working directories, where reads are blocked`**:在 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories) 開啟的情況下,該檔案解析到的位置在[工作目錄](/docs/zh-TW/settings-reference#permissions-blockreadsoutsideworkingdirectories)之外

5627* **`where it leads couldn't be worked out`**:例如,該檔案是直接或透過其他連結指回自身的連結

5628 

5629當 Claude 處理某個子目錄中的檔案,而該子目錄本身的記憶檔案無法載入時,相同的行會在該回合中出現在對話裡。當被保留的檔案多於這些行所列出的數量時,最後一行會計算其餘的數量,例如 `and 3 more instruction files not loaded`。

5630 

5631**處理方式:**

5632 

5633* 若此限制是刻意設定的,則無需處理:工作階段會在沒有該檔案指令的情況下執行。

5634* 若要載入因 `a Read deny rule covers it` 而被保留的檔案,請[移除或縮小該規則](/docs/zh-TW/permissions#manage-permissions)。然後啟動新的工作階段。

5635* 若要載入因 `it's read from outside your working directories, where reads are blocked` 而被保留的檔案,請將該檔案或其連結目標移至工作目錄內。然後啟動新的工作階段。

5636* 若要載入因 `where it leads couldn't be worked out` 而被保留的檔案,請檢查該檔案是否為指回自身的連結。若是,請將連結指向存在的檔案,或以一般檔案取代它。然後啟動新的工作階段。

5637 

5638在 v2.1.292 之前,此通知會在同一行中、原因之後的結尾處列出該檔案。

5639 

5502<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">5640<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

5503 某個 skill、命令或工作流程因名稱為保留名稱而未載入5641 某個 skill、命令或工作流程因名稱為保留名稱而未載入

5504</h3>5642</h3>


5683 5821 

5684在 v2.1.257 之前,`/mcp` 中的 **Reconnect** 和重新啟用可以連線到在工作階段中途因政策更新而被封鎖的伺服器。5822在 v2.1.257 之前,`/mcp` 中的 **Reconnect** 和重新啟用可以連線到在工作階段中途因政策更新而被封鎖的伺服器。

5685 5823 

5824<h3 id="mcp-server-name-is-reserved">

5825 MCP 伺服器名稱為保留名稱

5826</h3>

5827 

5828此訊息會指出您的某個 MCP 伺服器,其名稱屬於 Claude Code 保留的名稱,例如其內建伺服器的名稱:

5829 

5830```text theme={null}

5831"workspace" is a reserved MCP server name and was not loaded

5832```

5833 

5834**處理方式:**

5835 

5836* 在您定義該伺服器的位置重新命名,例如從 `workspace` 改為 `my-workspace`

5837* 關於其他應避免的保留名稱,請參閱 [MCP 設定警告](/docs/zh-TW/mcp#configuration-warnings)

5838 

5686<h3 id="managed-settings-document-could-not-be-parsed">5839<h3 id="managed-settings-document-could-not-be-parsed">

5687 Managed settings document could not be parsed5840 Managed settings document could not be parsed

5688</h3>5841</h3>


5737 5890 

5738在 v2.1.285 之前,只有以 claude.ai 或 Claude Console 憑證登入的工作階段會以此訊息結束,而被作業系統拒絕的讀取也會產生此訊息。5891在 v2.1.285 之前,只有以 claude.ai 或 Claude Console 憑證登入的工作階段會以此訊息結束,而被作業系統拒絕的讀取也會產生此訊息。

5739 5892 

5893<h3 id="managed-settings-hooks-not-loaded">

5894 Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded

5895</h3>

5896 

5897`-p` 執行所輸出的這段 stderr 區塊,表示某個[受管設定](/docs/zh-TW/managed-settings)來源包含 Claude Code 無法載入的 hook 項目。該 hook 不會執行;而當某一行將該來源的 `hooks` 欄位列為已忽略時,該來源的所有 hook 都不會執行。

5898 

5899每一行會列出來源、欄位(若有的話)以及問題,例如未知的 hook `type`,或在 `hooks` 鍵之外宣告的 hook:

5900 

5901```text theme={null}

5902Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:

5903 <source> (<field>): <message>

5904```

5905 

5906**處理方式:**

5907 

5908* 若您負責管理該來源,請修正或移除區塊中列出的每個項目。[Hook 設定](/docs/zh-TW/hooks#configuration)說明了 Claude Code 在 `hooks` 下預期的結構。

5909* 若某一行的來源是 `parent managed settings`,表示啟動 Claude Code 的應用程式將該項目作為[父層設定](/docs/zh-TW/managed-settings#parent-settings-from-embedding-hosts)傳入,因此請向該應用程式的開發者回報

5910* 否則,請將此區塊傳送給您的管理員

5911 

5912在 v2.1.300 之前,`-p` 執行會將此情況列在 `Managed settings failed to load; policies from the failed source are NOT in effect:` 標題下。

5913 

5740<h3 id="otelheadershelper-failed">5914<h3 id="otelheadershelper-failed">

5741 otelHeadersHelper failed5915 otelHeadersHelper failed

5742</h3>5916</h3>


5955 6129 

5956在 v2.1.233 之前,Claude Code 在為無法辨識的模型 ID 傳送請求時不會寫入任何行。6130在 v2.1.233 之前,Claude Code 在為無法辨識的模型 ID 傳送請求時不會寫入任何行。

5957 6131 

6132<h3 id="sandbox-allow-entries-are-ignored-under-a-managed-lock">

6133 在受管鎖定下會忽略沙箱允許項目

6134</h3>

6135 

6136`/status` 和 `claude doctor` 中的此警告表示受管設定設定了 [`allowManagedReadPathsOnly`](/docs/zh-TW/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) 或 [`allowManagedDomainsOnly`](/docs/zh-TW/settings-reference#sandbox-network-allowmanageddomainsonly),因此其所指檔案中的 [`allowRead`](/docs/zh-TW/settings-reference#sandbox-filesystem-allowread) 或 [`allowedDomains`](/docs/zh-TW/settings-reference#sandbox-network-alloweddomains) 項目不會套用:

6137 

6138```text wrap theme={null}

6139sandbox.filesystem.allowRead is ignored — managed settings set allowManagedReadPathsOnly, so only allowRead paths from managed settings are honored. The 3 entries in /home/you/.claude/settings.json will NOT apply (see https://code.claude.com/docs/en/settings#sandbox-settings).

6140```

6141 

6142對於網路鎖定,警告會提及 `sandbox.network.allowedDomains` 和 `allowManagedDomainsOnly`,並說明 `only allowed domains (and WebFetch domain rules) from managed settings are honored`。

6143 

6144**處理方式:**

6145 

6146* 您不必針對此警告採取行動

6147* 若您需要這些路徑或網域,且是組織的受管設定設定了該鎖定,請請您的管理員將它們加入這些設定。在您也從所指的檔案中移除這些項目之前,警告會持續存在。

6148* 若要消除警告,請從所指的檔案中移除這些項目。對於您共用的檔案,例如專案的 `.claude/settings.json`,您可以為沒有該鎖定的隊友保留這些項目,並讓警告繼續顯示。

6149 

5958<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">6150<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">

5959 Stale sandbox mask files left by a killed session6151 Stale sandbox mask files left by a killed session

5960</h3>6152</h3>

Details

57 </Step>57 </Step>

58 58 

59 <Step title="啟用 Code Review">59 <Step title="啟用 Code Review">

60 前往 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 並為您的 GHES 儲存庫啟用 [Code Review](/docs/zh-TW/code-review#set-up-code-review),使用與 github.com 相同的設定。60 前往 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 並為您的 GHES 儲存庫啟用 [Code Review](/docs/zh-TW/code-review-setup),使用與 github.com 相同的設定。

61 </Step>61 </Step>

62</Steps>62</Steps>

63 63 

Details

222| `T{char}` | 跳到目前行上上一個字元出現位置之後 |222| `T{char}` | 跳到目前行上上一個字元出現位置之後 |

223| `;` | 重複上一個 f/F/t/T 動作 |223| `;` | 重複上一個 f/F/t/T 動作 |

224| `,` | 反向重複上一個 f/F/t/T 動作 |224| `,` | 反向重複上一個 f/F/t/T 動作 |

225| `%` | 跳到對應的 `()`、`[]` 或 `{}` 括號;當游標不在括號上時,會從目前行上的下一個括號開始。需要 Claude Code v2.1.301 或更新版本 |

225| `/` | 開啟反向歷史搜尋,與 `Ctrl+R` 相同。空搜尋提示會顯示提示:按 `Esc` 然後 `i` 然後 `/` 以改為開啟命令選單 |226| `/` | 開啟反向歷史搜尋,與 `Ctrl+R` 相同。空搜尋提示會顯示提示:按 `Esc` 然後 `i` 然後 `/` 以改為開啟命令選單 |

226 227 

227<Note>228<Note>


243| `dj`/`dk` | 刪除目前行和下方或上方的行 |244| `dj`/`dk` | 刪除目前行和下方或上方的行 |

244| `dgg`/`dG` | 從目前行刪除到第一行或最後一行 |245| `dgg`/`dG` | 從目前行刪除到第一行或最後一行 |

245| `d0`/`c0`/`y0` | 從游標刪除、變更或複製回到行首。需要 Claude Code v2.1.281 或更新版本 |246| `d0`/`c0`/`y0` | 從游標刪除、變更或複製回到行首。需要 Claude Code v2.1.281 或更新版本 |

247| `d%`/`c%`/`y%` | 從游標刪除、變更或複製到 `%` 所跳至的括號(包括該括號)。需要 Claude Code v2.1.301 或更新版本 |

246| `cc` | 變更行 |248| `cc` | 變更行 |

247| `C` | 變更到行尾 |249| `C` | 變更到行尾 |

248| `cw`/`ce`/`cb` | 變更單字/到結尾/向後 |250| `cw`/`ce`/`cb` | 變更單字/到結尾/向後 |

mcp.md +1 −1

Details

1632 1632 

1633在 v2.1.296 之前,較短的限制為 2,048 個字元;在 v2.1.295 之前,該限制適用於每個工具描述,包括透過工具搜尋載入的描述。1633在 v2.1.296 之前,較短的限制為 2,048 個字元;在 v2.1.295 之前,該限制適用於每個工具描述,包括透過工具搜尋載入的描述。

1634 1634 

1635若要變更工作階段中每個 MCP 伺服器的限制,請將 [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/zh-TW/env-vars#variables) 設定為字元數。您設定的數字會取代這兩個限制:例如 `8192` 會提高較短的限制並降低較長的限制。此變數需要 Claude Code v2.1.280 或更新版本。1635Anthropic 在 `api.anthropic.com` 託管的部分 MCP 伺服器,其描述和指令會完整傳送給 Claude。若要變更工作階段中其他 MCP 伺服器的限制,請將 [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/zh-TW/env-vars#variables) 設定為字元數。您設定的數字會取代這兩個限制:例如 `8192` 會提高較短的限制並降低較長的限制。此變數需要 Claude Code v2.1.280 或更新版本。

1636 1636 

1637<h4 id="per-tool-alwaysload">1637<h4 id="per-tool-alwaysload">

1638 標記工具為預先載入或保持延遲1638 標記工具為預先載入或保持延遲

mcp-quickstart.md +14 −10

Details

322 Claude Code 未找到目前目錄的任何伺服器。最常見的原因:322 Claude Code 未找到目前目錄的任何伺服器。最常見的原因:

323 323 

324 * 您從不同的專案執行了 `claude mcp add`。本機範圍伺服器與您新增它們的專案相關聯:儲存庫根目錄,或如果您不在 git 儲存庫中,則為確切目錄。從您現在所在的專案重新新增伺服器,或使用 `--scope user` 新增它,使其不與專案相關聯。324 * 您從不同的專案執行了 `claude mcp add`。本機範圍伺服器與您新增它們的專案相關聯:儲存庫根目錄,或如果您不在 git 儲存庫中,則為確切目錄。從您現在所在的專案重新新增伺服器,或使用 `--scope user` 新增它,使其不與專案相關聯。

325 * 您在錯誤的路徑編輯了設定檔。正確的檔案是 `~/.claude.json` 和 `<project>/.mcp.json`。Claude Code 不讀取 `~/.claude/.mcp.json`、`~/.claude/config/mcp.json`、`~/.claude/mcp.json` 或 `%APPDATA%\Claude\mcp.json` 等路徑。對於使用者範圍伺服器,執行 `claude mcp add --scope user`,它會寫入 `~/.claude.json` 中的 `mcpServers` 金鑰;對於專案範圍伺服器,編輯專案根目錄的 `.mcp.json`。325 * 您在錯誤的路徑編輯了設定檔。正確的檔案是 `~/.claude.json` 和 `<project>/.mcp.json`。Claude Code 不讀取 `~/.claude/.mcp.json`、`~/.claude/config/mcp.json`、`~/.claude/mcp.json` 或 `%APPDATA%\Claude\mcp.json` 等路徑。對於使用者範圍伺服器,執行 `claude mcp add --scope user`,它會寫入 `~/.claude.json` 中的 `mcpServers` 鍵;對於專案範圍伺服器,編輯專案根目錄的 `.mcp.json`。

326 * 您在 `.mcp.json` 中寫入了格式不正確的項目。Claude Code 會跳過該項目並仍然載入其他項目。從您的 shell 執行 `claude mcp list` 並尋找解析警告,它會命名有問題的欄位。326 * 您在 `.mcp.json` 中寫入了格式不正確的項目。Claude Code 會跳過該項目並仍然載入其他項目。從您的 shell 執行 `claude mcp list` 並尋找解析警告,它會命名有問題的欄位。

327 </Accordion>327 </Accordion>

328 328 

329 <Accordion title="狀態顯示 Failed to connect 或 Connection error">329 <Accordion title="狀態顯示 Failed to connect 或 Connection error">

330 兩種狀態都表示伺服器未啟動或 URL 未回應。它們也可能出現在您在 `headers.Authorization` 中配置的令牌被 HTTP 伺服器拒絕的情況下;需要您未配置的令牌的伺服器會改為顯示 `! Needs authentication`,在[連接需要登入的伺服器](#connect-a-server-that-requires-sign-in)中涵蓋。330 兩種狀態都表示伺服器未啟動或 URL 未回應。它們也可能出現在您在 `headers.Authorization` 中設定的 token 被 HTTP 伺服器拒絕的情況下;需要您未設定之 token 的伺服器會改為顯示 `! Needs authentication`,在[連接需要登入的伺服器](#connect-a-server-that-requires-sign-in)中涵蓋。

331 331 

332 您的第一步取決於您看到的狀態:332 您的第一步取決於您看到的狀態:

333 333 

334 * `Failed to connect`:從狀態本身的失敗詳細資訊開始。`claude mcp list` 和 `claude mcp get <name>` 顯示 HTTP 狀態或錯誤代碼以及伺服器返回的任何錯誤文字,通常直接命名問題,例如缺少標頭或被拒絕的令牌。在 v2.1.219 之前,`Failed to connect` 只顯示裸露狀態,您需要本節稍後的 curl 和命令檢查來找到原因。334 * `Failed to connect`:從狀態本身的失敗詳細資訊開始。`claude mcp list` 和 `claude mcp get <name>` 顯示 HTTP 狀態或錯誤代碼以及伺服器返回的任何錯誤文字,通常直接命名問題,例如缺少標頭或被拒絕的 token。在 v2.1.219 之前,`Failed to connect` 只顯示裸露狀態,您需要本節稍後的 curl 和命令檢查來找到原因。

335 * `Connection error`:Claude Code 在任何版本上都不會將詳細資訊附加到此狀態,因此請直接進行本節稍後的 curl 和命令檢查。335 * `Connection error`:Claude Code 在任何版本上都不會將詳細資訊附加到此狀態,因此請直接進行本節稍後的 curl 和命令檢查。

336 336 

337 如果詳細資訊指向認證或 URL,也請檢查 `claude mcp list` 輸出中的警告。Claude Code 會標記具有隱藏的前導或尾隨空白的配置值,這是貼上令牌後驗證失敗的常見原因。337 如果詳細資訊指向憑證或 URL,也請檢查 `claude mcp list` 輸出中的警告。Claude Code 會標記具有隱藏的前導或尾隨空白的設定值,這是貼上 token 後驗證失敗的常見原因。

338 338 

339 如果 HTTP 伺服器返回 `404 Not Found`,當您在 `/mcp` 中選擇伺服器時,Claude Code 會顯示 `MCP endpoint not found at <origin>. Check the URL in your MCP config.`。該訊息命名 URL 的來源,例如 `https://mcp.example.com`,不含其路徑,因此執行 `claude mcp get <name>` 以查看您配置的完整 URL。將其路徑與伺服器的文件化 MCP 端點路徑進行比較,然後執行 `claude mcp remove <name>` 並使用正確的 URL 重新新增。在 v2.1.219 之前,該訊息也包含 URL 的路徑,在 v2.1.191 之前,`404` 顯示通用的 `Error POSTing to endpoint` 訊息,不含 URL。339 如果 HTTP 伺服器返回 `404 Not Found`,當您在 `/mcp` 中選擇伺服器時,Claude Code 會顯示 `MCP endpoint not found at <origin>. Check the URL in your MCP config.`。該訊息命名 URL 的來源,例如 `https://mcp.example.com`,不含其路徑,因此執行 `claude mcp get <name>` 以查看您設定的完整 URL。將其路徑與伺服器文件中記載的 MCP 端點路徑進行比較,然後執行 `claude mcp remove <name>` 並使用正確的 URL 重新新增。在 v2.1.219 之前,該訊息也包含 URL 的路徑,在 v2.1.191 之前,`404` 顯示通用的 `Error POSTing to endpoint` 訊息,不含 URL。

340 340 

341 對於 HTTP 伺服器,確認 URL 可從您的機器到達:341 對於 HTTP 伺服器,確認 URL 可從您的機器到達:

342 342 


349 回應告訴您您有哪種問題:349 回應告訴您您有哪種問題:

350 350 

351 * `404` 或 `405`:伺服器已啟動。許多 MCP 端點僅回答 POST 請求,因此這仍然確認 URL 可從您的機器到達。351 * `404` 或 `405`:伺服器已啟動。許多 MCP 端點僅回答 POST 請求,因此這仍然確認 URL 可從您的機器到達。

352 * `401` 或 `403`:伺服器已啟動,您需要驗證。使用[連接需要登入的伺服器](#connect-a-server-that-requires-sign-in)中的瀏覽器登入,或對於接受令牌的伺服器(例如 GitHub 的),使用 `claude mcp add` 命令上的 `--header "Authorization: Bearer <token>"` 傳遞它。352 * `401` 或 `403`:伺服器已啟動,您需要驗證。使用[連接需要登入的伺服器](#connect-a-server-that-requires-sign-in)中的瀏覽器登入,或對於接受 token 的伺服器(例如 GitHub 的),使用 `claude mcp add` 命令上的 `--header "Authorization: Bearer <token>"` 傳遞它。

353 * 完全沒有回應:檢查 URL 和您的網路。353 * 完全沒有回應:檢查 URL 和您的網路。

354 354 

355 對於 stdio 伺服器,直接在您的終端機中執行配置的命令以查看基礎錯誤。對於本指南中的 Playwright 伺服器,執行:355 對於 stdio 伺服器,直接在您的終端機中執行設定的命令以查看基礎錯誤。對於本指南中的 Playwright 伺服器,執行:

356 356 

357 ```bash theme={null}357 ```bash theme={null}

358 npx -y @playwright/mcp@latest358 npx -y @playwright/mcp@latest


360 360 

361 接下來發生的情況告訴您問題在哪裡:361 接下來發生的情況告訴您問題在哪裡:

362 362 

363 * 命令啟動並等待輸入:伺服器本身有效。執行 `claude mcp get <name>` 並確認那裡顯示的命令與您剛執行的相符。如果顯示的命令與您輸入的不同,您可能省略了伺服器命令前的 `--` 分隔符。移除伺服器並使用 `--` 重新新增。如果您手寫了 `.mcp.json`,檢查其語法和位置。在 v2.1.285 之前,`claude mcp get` 對於保存時沒有 `type` 欄位的 stdio 項目(例如手寫的 `.mcp.json` 項目)不列印 `Command` 行。在這些版本上,執行 `claude mcp list` 代替,它無論如何都會列印命令行。363 * 命令啟動並等待輸入:伺服器本身有效。

364 

365 執行 `claude mcp get <name>` 並確認那裡顯示的命令與您剛執行的相符。如果顯示的命令與您輸入的不同,您可能省略了伺服器命令前的 `--` 分隔符。移除伺服器並使用 `--` 重新新增。如果您手寫了 `.mcp.json`,檢查其語法和位置。在 v2.1.285 之前,`claude mcp get` 對於保存時沒有 `type` 欄位的 stdio 項目(例如手寫的 `.mcp.json` 項目)不列印 `Command` 行。在這些版本上,執行 `claude mcp list` 代替,它無論如何都會列印命令行。

364 * 命令錯誤:訊息命名缺少的內容,例如 Node.js 或瀏覽器。366 * 命令錯誤:訊息命名缺少的內容,例如 Node.js 或瀏覽器。

365 </Accordion>367 </Accordion>

366 368 


376 ```powershell theme={null}378 ```powershell theme={null}

377 $env:MCP_TIMEOUT = "60000"; claude379 $env:MCP_TIMEOUT = "60000"; claude

378 ```380 ```

381 

382 在 v2.1.299 之前,部分連至已啟動之 HTTP 伺服器的連接會在啟動時逾時,不論 `MCP_TIMEOUT` 的值為何。如果您使用的是這些版本之一,且已啟動的 HTTP 伺服器在您提高限制後仍然逾時,請[更新 Claude Code](/docs/zh-TW/setup#update-claude-code)。

379 </Accordion>383 </Accordion>

380 384 

381 <Accordion title="伺服器已存在">385 <Accordion title="伺服器已存在">


399 403 

400 如果您的伺服器仍未出現,執行 `claude mcp list` 並尋找解析警告。Claude Code 跳過格式不正確的項目並在那裡顯示有問題的欄位。404 如果您的伺服器仍未出現,執行 `claude mcp list` 並尋找解析警告。Claude Code 跳過格式不正確的項目並在那裡顯示有問題的欄位。

401 405 

402 如果您之前在提示時拒絕了伺服器,重設專案批准:406 如果您之前在提示時拒絕了伺服器,重設專案核准:

403 407 

404 ```bash theme={null}408 ```bash theme={null}

405 claude mcp reset-project-choices409 claude mcp reset-project-choices


407 </Accordion>411 </Accordion>

408 412 

409 <Accordion title="OAuth 登入失敗或瀏覽器未開啟">413 <Accordion title="OAuth 登入失敗或瀏覽器未開啟">

410 執行 `/mcp`,選擇伺服器,然後再次選擇 `Authenticate`。如果瀏覽器未自動開啟,複製終端機中顯示的 URL 並手動開啟。請參閱[使用遠端 MCP 伺服器驗證](/docs/zh-TW/mcp#authenticate-with-remote-mcp-servers)以取得固定回呼連接埠和預先配置的認證。414 執行 `/mcp`,選擇伺服器,然後再次選擇 `Authenticate`。如果瀏覽器未自動開啟,複製終端機中顯示的 URL 並手動開啟。請參閱[使用遠端 MCP 伺服器驗證](/docs/zh-TW/mcp#authenticate-with-remote-mcp-servers)以取得固定回呼連接埠和預先設定的憑證。

411 </Accordion>415 </Accordion>

412</AccordionGroup>416</AccordionGroup>

413 417 

memory.md +1 −0

Details

648要除錯:648要除錯:

649 649 

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

651* 如果出現 `Instruction file not loaded` 通知,請參閱[其含義以及處理方式](/docs/zh-TW/errors#instruction-file-not-loaded)。

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

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

653* 使指令更具體。「使用 2 空格縮排」比「正確格式化程式碼」效果更好。654* 使指令更具體。「使用 2 空格縮排」比「正確格式化程式碼」效果更好。

model-config.md +20 −0

Details

895 為閘道或自訂模型 ID 修正視窗895 為閘道或自訂模型 ID 修正視窗

896</h3>896</h3>

897 897 

898出現下列任一啟動警告,都表示 Claude Code 無法辨識您工作階段的模型 ID,因此無法得知該模型的上下文視窗,並假定其為 200K token:

899 

900```text theme={null}

901⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

902Claude Code doesn't recognize the model "my-gateway-opus", so it assumes a context window of 200k tokens. Update Claude Code, or see https://code.claude.com/docs/en/model-config#correct-the-window-for-a-gateway-or-custom-model-id to set the window.

903```

904 

905Claude Code 會在假定的 200K [自動壓縮](#default-auto-compact-thresholds)對話,因此若模型的實際上下文視窗為 200K,就不需要修正。否則,請依您的 ID 選擇下列適合的方式,將實際視窗告知 Claude Code:

906 

907* **比您的 Claude Code 版本更新的模型**:在 shell 中執行 `claude update`。若更新後 Claude Code 能辨識該 ID,您就不需要再設定其他項目。

908* **您的閘道或供應商為 Claude Code 已知模型所使用的名稱**:新增 [`modelOverrides`](#override-model-ids-per-version) 項目,將 Anthropic 模型 ID 對應至您的 ID,例如 `"claude-opus-4-8": "my-gateway-opus"`。您也可以改為在 [`modelPicker`](/docs/zh-TW/settings-reference#fields-for-modelpicker) 列中列出您的 ID,並將 `behavesAs` 設為該模型。無論採用哪種方式,Claude Code 之後都會將該 ID 視為該模型。

909* **具有 1M 視窗的模型**:在您設定模型之處,於 ID 後附加 `[1m]`,例如在 shell 中執行 `claude --model 'my-gateway-opus[1m]'`。若您已[關閉 1M 上下文](#turn-off-1m-context),無論有無此後綴,您都會得到相同的視窗。

910* **其他任何視窗**:在啟動 Claude Code 的環境中,將 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/zh-TW/env-vars) 設為以 token 計算的視窗大小,例如 `CLAUDE_CODE_MAX_CONTEXT_TOKENS=400000`。對於不以 `claude-` 開頭且沒有 `[1m]` 後綴的無法辨識 ID,此變數單獨設定即可生效。對於其他任何 ID,請先查看[它適用於哪些 ID](#which-ids-claude_code_max_context_tokens-applies-to)。

911 

912一旦 Claude Code 辨識出該 ID 或使用您提供的視窗,當您以該 ID 啟動工作階段時,就不會再出現此警告。

913 

914<h4 id="which-ids-claude_code_max_context_tokens-applies-to">

915 `CLAUDE_CODE_MAX_CONTEXT_TOKENS` 適用於哪些 ID

916</h4>

917 

898在 [LLM 閘道](/docs/zh-TW/llm-gateway)或其他自訂部署上,無論 Claude Code 是否將模型 ID 解析為 Claude 模型,它為該 ID 假定的上下文視窗都可能與模型的實際視窗不同。請將 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/zh-TW/env-vars) 設為 Claude Code 應改為假定的視窗。918在 [LLM 閘道](/docs/zh-TW/llm-gateway)或其他自訂部署上,無論 Claude Code 是否將模型 ID 解析為 Claude 模型,它為該 ID 假定的上下文視窗都可能與模型的實際視窗不同。請將 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/zh-TW/env-vars) 設為 Claude Code 應改為假定的視窗。

899 919 

900此變數如何套用取決於 ID。當 ID 不以 `claude-` 開頭(不分大小寫),或帶有 Claude Code 在讀取 ID 時會去除的後綴(例如 Google Cloud 的 Agent Platform 上使用的 `@YYYYMMDD` 日期)時,Claude Code 會將其視為供應商或自訂拼寫。在 v2.1.259 之前,Claude Code 不會計入被去除的後綴,因此帶有日期後綴且無法辨識的 `claude-` ID 會被視為單純的 `claude-` 名稱。920此變數如何套用取決於 ID。當 ID 不以 `claude-` 開頭(不分大小寫),或帶有 Claude Code 在讀取 ID 時會去除的後綴(例如 Google Cloud 的 Agent Platform 上使用的 `@YYYYMMDD` 日期)時,Claude Code 會將其視為供應商或自訂拼寫。在 v2.1.259 之前,Claude Code 不會計入被去除的後綴,因此帶有日期後綴且無法辨識的 `claude-` ID 會被視為單純的 `claude-` 名稱。

Details

6 6 

7> 了解如何為 Claude Code 啟用和配置 OpenTelemetry。7> 了解如何為 Claude Code 啟用和配置 OpenTelemetry。

8 8 

9透過 OpenTelemetry (OTel) 匯出遙測資料,追蹤 Claude Code 在整個組織中的使用情況、成本和工具活動。Claude Code 透過標準指標協議匯出指標作為時間序列資料、透過日誌/事件協議匯出事件,以及可選地透過[追蹤協議](#traces-beta)匯出分散式追蹤。9透過 OpenTelemetry (OTel) 匯出遙測資料,追蹤 Claude Code 在整個組織中的使用情況、成本和工具活動。Claude Code 透過標準指標協議匯出指標作為時間序列資料、透過日誌/事件協議匯出事件,以及可選地[透過 OpenTelemetry 匯出分散式追蹤](#traces-beta)。

10 

11<Note>

12 若要了解 Claude API 或 Managed Agents 的相關資訊,請參閱 [OpenTelemetry for the Claude API](https://platform.claude.com/docs/en/manage-claude/opentelemetry)。

13</Note>

10 14 

11<h2 id="quick-start">15<h2 id="quick-start">

12 快速開始16 快速開始

Details

48* **社群 marketplace 名稱**:`claude-community`、`claude-plugins-community` 和 `healthcare`。在與官方名稱相同的規則下保留。48* **社群 marketplace 名稱**:`claude-community`、`claude-plugins-community` 和 `healthcare`。在與官方名稱相同的規則下保留。

49* **外掛程式目錄名稱**:`anthropic-plugin-directory` 和 `claude-plugin-directory`。在與官方名稱相同的規則下保留。49* **外掛程式目錄名稱**:`anthropic-plugin-directory` 和 `claude-plugin-directory`。在與官方名稱相同的規則下保留。

50* **冒充官方 marketplace 的名稱**:名稱如 `official-claude-plugins` 或 `claude-plugins-v2`,以及任何包含非 ASCII 字元的名稱。錯誤是 `Marketplace name impersonates an official Anthropic/Claude marketplace`。名稱中的控制或雙向格式化字元也會報告 `Marketplace name cannot contain control or bidirectional-formatting characters`。已在此類名稱下註冊的 marketplace 停止載入,連同其外掛程式。50* **冒充官方 marketplace 的名稱**:名稱如 `official-claude-plugins` 或 `claude-plugins-v2`,以及任何包含非 ASCII 字元的名稱。錯誤是 `Marketplace name impersonates an official Anthropic/Claude marketplace`。名稱中的控制或雙向格式化字元也會報告 `Marketplace name cannot contain control or bidirectional-formatting characters`。已在此類名稱下註冊的 marketplace 停止載入,連同其外掛程式。

51* <span id="reserved-name-spellings" />**保留名稱的另一種拼寫**:與保留名稱的拼寫不同,只是尾部有點,或用下劃線以外的符號代替連字號,因此 `claude.code.plugins` 計為 `claude-code-plugins`。新增 marketplace 失敗,錯誤為 [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/zh-TW/errors#marketplace-name-is-another-spelling-of-a-reserved-name),而已在其中一個下註冊的 marketplace 停止載入。此檢查需要 Claude Code v2.1.280 或更新版本。51* <span id="reserved-name-spellings" />**保留名稱的另一種拼寫**:與保留名稱的拼寫不同,只是尾部有點,或用下劃線以外的符號代替連字號,因此 `claude.code.plugins` 計為 `claude-code-plugins`。新增 marketplace 失敗,錯誤為 [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/zh-TW/errors#marketplace-name-is-another-spelling-of-a-reserved-name),而已使用此類名稱註冊的 marketplace 會停止載入。此檢查需要 Claude Code v2.1.280 或更新版本。

52* **Claude Code 用於不來自 marketplace 的外掛程式的名稱**:`inline` 用於使用 [`--plugin-dir`](/docs/zh-TW/cli-reference) 載入的外掛程式,`builtin` 用於內建外掛程式,`skills-dir` 用於從 [`.claude/skills/`](/docs/zh-TW/skills) 自動載入的外掛程式,`synced` 用於從您的 claude.ai 帳戶同步的外掛程式。`claude-plugin-test` 也被保留。`skills-dir` 也在 `strictKnownMarketplaces` 和 `blockedMarketplaces` 中顯示為 `{"source": "skills-dir"}`,在 [Source values valid only in policy lists](#source-values-valid-only-in-policy-lists) 下描述。52* **Claude Code 用於不來自 marketplace 的外掛程式的名稱**:`inline` 用於使用 [`--plugin-dir`](/docs/zh-TW/cli-reference) 載入的外掛程式,`builtin` 用於內建外掛程式,`skills-dir` 用於從 [`.claude/skills/`](/docs/zh-TW/skills) 自動載入的外掛程式,`synced` 用於從您的 claude.ai 帳戶同步的外掛程式。`claude-plugin-test` 也被保留。`skills-dir` 也在 `strictKnownMarketplaces` 和 `blockedMarketplaces` 中顯示為 `{"source": "skills-dir"}`,在 [Source values valid only in policy lists](#source-values-valid-only-in-policy-lists) 下描述。

53* **`npm`、`pip`、`uv`、`cargo`、`github` 和 `gh`**:以任何大小寫保留。此檢查需要 Claude Code v2.1.275 或更新版本。53* **`npm`、`pip`、`uv`、`cargo`、`github` 和 `gh`**:以任何大小寫保留。此檢查需要 Claude Code v2.1.275 或更新版本。

54* **每個 JavaScript 物件都具有的成員名稱**:`constructor`、`hasOwnProperty`、`isPrototypeOf`、`propertyIsEnumerable`、`toLocaleString`、`toString` 和 `valueOf`。`claude plugin marketplace add` 會拒絕使用其中之一的 marketplace,錯誤為 [`Claude Code reserves this name and cannot register a marketplace under it`](/docs/zh-TW/plugins/troubleshooting#claude-code-reserves-this-name)。此檢查需要 Claude Code v2.1.296 或更新版本。54* **每個 JavaScript 物件都具有的成員名稱**:`constructor`、`hasOwnProperty`、`isPrototypeOf`、`propertyIsEnumerable`、`toLocaleString`、`toString` 和 `valueOf`。`claude plugin marketplace add` 會拒絕使用其中之一的 marketplace,錯誤為 [`Claude Code reserves this name and cannot register a marketplace under it`](/docs/zh-TW/plugins/troubleshooting#claude-code-reserves-this-name)。此檢查需要 Claude Code v2.1.296 或更新版本。

Details

84* **網路政策涵蓋 `$.http.fetch`。**84* **網路政策涵蓋 `$.http.fetch`。**

85 85 

86 * **您組織的政策不允許 WebFetch**:Claude Code 也會拒絕每個 mod 的 `$.http.fetch` 請求。請參閱 [WebFetch 可用性](/docs/zh-TW/tools-reference#webfetch-availability)。86 * **您組織的政策不允許 WebFetch**:Claude Code 也會拒絕每個 mod 的 `$.http.fetch` 請求。請參閱 [WebFetch 可用性](/docs/zh-TW/tools-reference#webfetch-availability)。

87 * **您在受管設定或任何其他設定檔中,使用 [`CLAUDE_CODE_DISABLE_WEB_FETCH`](/docs/zh-TW/env-vars#variables) 或 `WebFetch` [拒絕規則](/docs/zh-TW/permissions#tool-specific-permission-rules)關閉 WebFetch 工具**:mod 仍然可以發出 `$.http.fetch` 請求。

88 

89 若要對使用者安裝的每個 mod 阻止這些請求,請[防止使用者安裝的 mod 載入](#stop-user-installed-mods-from-loading),或在[原則 mod](#enforce-a-policy-with-a-mod-of-your-own) 中 hook `http.fetch` 並拒絕來自使用者 mod 的請求。請為該 hook 提供同樣會拒絕的 [`.catch` 處理常式](/docs/zh-TW/plugins/mods/events#handle-a-hook-that-fails),因為 Claude Code 會略過失敗的 hook,請求便會繼續進行。如果您只[限制使用者可以安裝哪些外掛程式](/docs/zh-TW/plugins/org#restrict-what-users-can-install),載入的 mod 會變少,但您允許的 mod 仍然可以發出這些請求。

87 * **您設定了 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars)**:您或您的使用者安裝的 mod 仍然可以發出這些請求。此變數只會阻止 [Claude Code 內建的 mod](/docs/zh-TW/plugins/mods/overview#mods-built-into-claude-code),以及任何攜帶工作階段 Anthropic 憑證的 `$.http.fetch` 請求。在 v2.1.288 之前,此變數會阻止每個 mod 的 `$.http.fetch` 請求。90 * **您設定了 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-TW/env-vars)**:您或您的使用者安裝的 mod 仍然可以發出這些請求。此變數只會阻止 [Claude Code 內建的 mod](/docs/zh-TW/plugins/mods/overview#mods-built-into-claude-code),以及任何攜帶工作階段 Anthropic 憑證的 `$.http.fetch` 請求。在 v2.1.288 之前,此變數會阻止每個 mod 的 `$.http.fetch` 請求。

88 91 

89 兩者都不涵蓋 mod 使用 `$.process.run` 啟動的程式,該程式會以使用者自己的存取權限連上網路。92 這些都不涵蓋 mod 使用 `$.process.run` 啟動的程式,該程式會以使用者自己的存取權限連上網路。

90* **外掛程式控制涵蓋 mods。** Mod 是外掛程式,因此[限制使用者可以安裝的設定](/docs/zh-TW/plugins/org#restrict-what-users-can-install)(例如 `strictKnownMarketplaces`)決定是否可以安裝它。93* **外掛程式控制涵蓋 mods。** Mod 是外掛程式,因此[限制使用者可以安裝的設定](/docs/zh-TW/plugins/org#restrict-what-users-can-install)(例如 `strictKnownMarketplaces`)決定是否可以安裝它。

91* **Mods 無法更改權限提示。** Mod 可以重新設定 Claude Code 介面的大部分,但不能重新設定權限提示,因此無法更改提示顯示的內容。Mod 仍然可以在提示出現之前批准或拒絕工具呼叫,如[了解預設情況下會發生什麼](#know-what-happens-by-default)所述。94* **Mods 無法更改權限提示。** Mod 可以重新設定 Claude Code 介面的大部分,但不能重新設定權限提示,因此無法更改提示顯示的內容。Mod 仍然可以在提示出現之前批准或拒絕工具呼叫,如[了解預設情況下會發生什麼](#know-what-happens-by-default)所述。

92* **信任提示優先。** 在使用者尚未信任的目錄中的互動工作階段中,在他們回答信任提示之前,沒有 mod 載入。95* **信任提示優先。** 在使用者尚未信任的目錄中的互動工作階段中,在他們回答信任提示之前,沒有 mod 載入。

Details

234| `$.ui.toast(text)` | 帶有 mod 名稱的快顯通知,幾秒後消失。在[全螢幕渲染](/docs/zh-TW/fullscreen)中,它是右上角的一個方框;在傳統渲染器中,它是提示下方右側的一行。 |234| `$.ui.toast(text)` | 帶有 mod 名稱的快顯通知,幾秒後消失。在[全螢幕渲染](/docs/zh-TW/fullscreen)中,它是右上角的一個方框;在傳統渲染器中,它是提示下方右側的一行。 |

235| `$.ui.log(text)` | 文字記錄中的一條暗線,Claude 不讀取。它以 `●` 和 mod 的名稱開頭,如 `● my-mod: build finished`。 |235| `$.ui.log(text)` | 文字記錄中的一條暗線,Claude 不讀取。它以 `●` 和 mod 的名稱開頭,如 `● my-mod: build finished`。 |

236 236 

237在 [VS Code 擴充功能](/docs/zh-TW/plugins/mods/interface#draw-in-the-vs-code-extension)中,狀態列和快顯通知改為顯示在提示詞輸入框上方,而日誌行則顯示在對話中。

238 

237<h3 id="start-a-turn-from-a-background-job">239<h3 id="start-a-turn-from-a-background-job">

238 從背景工作啟動回合240 從背景工作啟動回合

239</h3>241</h3>

Details

226| `Spinner`, `ToolProgress`, `TurnDuration` | 回合的狀態列:在 Claude 工作時動畫的行、執行中工具的即時進度行,以及關閉回合的行 |226| `Spinner`, `ToolProgress`, `TurnDuration` | 回合的狀態列:在 Claude 工作時動畫的行、執行中工具的即時進度行,以及關閉回合的行 |

227| `InfoNotice`, `SessionMode`, `PromptHint` | 標誌下的狀態列、頁尾中的模式標籤,以及提示詞下方的提示行 |227| `InfoNotice`, `SessionMode`, `PromptHint` | 標誌下的狀態列、頁尾中的模式標籤,以及提示詞下方的提示行 |

228 228 

229`Pane`、`AskUserQuestion`、`Spinner`、`UserMessage`、`AssistantMessage` 和工具呼叫位置在終端機、Desktop 應用程式和 VS Code 擴充功能中都有效。[轉譯位置表](/docs/zh-TW/plugins/mods/reference#render-sites)列出其他每個位置的引發位置。

230 

229在 Claude Code 已經繪製的位置,您的 hook 可以更改詳細資訊、替換繪製或不理會。選擇一個標籤以查看每個應用於微調器的選項。範例讀取另一個 hook 計數的 `calls` 變數,如[教學 mod](/docs/zh-TW/plugins/mods/create#write-a-mod-yourself) 中所示。231在 Claude Code 已經繪製的位置,您的 hook 可以更改詳細資訊、替換繪製或不理會。選擇一個標籤以查看每個應用於微調器的選項。範例讀取另一個 hook 計數的 `calls` 變數,如[教學 mod](/docs/zh-TW/plugins/mods/create#write-a-mod-yourself) 中所示。

230 232 

231<Tabs>233<Tabs>


297 299 

298權限提示不是渲染位置,因此 mod 無法更改其顯示的內容。問題對話框 `AskUserQuestion` 是渲染位置,因此 mod 可以更改它。對話框的樹必須恰好包含該參照一次,並將您的元素放在其上方。否則,Claude Code 會繪製它自己的對話框。300權限提示不是渲染位置,因此 mod 無法更改其顯示的內容。問題對話框 `AskUserQuestion` 是渲染位置,因此 mod 可以更改它。對話框的樹必須恰好包含該參照一次,並將您的元素放在其上方。否則,Claude Code 會繪製它自己的對話框。

299 301 

300終端機和桌面應用程式不會引發所有相同的位置。`Pane`、`AbovePrompt`、`Spinner` 和逐字稿位置在兩者中都有效。其他一些狀態列僅在終端機中引發。[渲染位置表](/docs/zh-TW/plugins/mods/reference#render-sites)列出每個位置的引發位置。

301 

302<h3 id="open-a-pane-at-the-right-time">302<h3 id="open-a-pane-at-the-right-time">

303 在正確的時間開啟窗格303 在正確的時間開啟窗格

304</h3>304</h3>


328| `rows` | 當窗格位於提示詞上方時請求的高度。預設值是空間的三分之一。 |328| `rows` | 當窗格位於提示詞上方時請求的高度。預設值是空間的三分之一。 |

329| `columns` | 當窗格位於逐字稿旁邊時請求的寬度 |329| `columns` | 當窗格位於逐字稿旁邊時請求的寬度 |

330 330 

331[VS Code 擴充功能](#draw-in-the-vs-code-extension)會忽略 `rows` 和 `columns`,並自行決定窗格的大小。

332 

331`focus`、`closeOnEscape` 和 `holdToasts` 是可選的,只接受 `true`。若要省略其中一個,請將其省略。傳遞 `false` 會擲回錯誤,例如 `ui.open: focus is true or left out`。若要有條件地設定其中一個,請只在條件成立時新增欄位。此呼叫只在 `items` 不為空時請求鍵盤焦點:333`focus`、`closeOnEscape` 和 `holdToasts` 是可選的,只接受 `true`。若要省略其中一個,請將其省略。傳遞 `false` 會擲回錯誤,例如 `ui.open: focus is true or left out`。若要有條件地設定其中一個,請只在條件成立時新增欄位。此呼叫只在 `items` 不為空時請求鍵盤焦點:

332 334 

333```javascript theme={null}335```javascript theme={null}


356 358 

357當窗格出現時,`$.ui.open` 解析為 `{ isPlaced: true }`。當窗格在等待時,`isPlaced` 是 `false`,`reason` 是說明原因的字串。當使用者開啟窗格或加寬終端機時,等待的窗格會出現。若要說明某些內容可用而不開啟窗格,請呼叫 `$.ui.toast('Your message')`,它會顯示快顯通知。359當窗格出現時,`$.ui.open` 解析為 `{ isPlaced: true }`。當窗格在等待時,`isPlaced` 是 `false`,`reason` 是說明原因的字串。當使用者開啟窗格或加寬終端機時,等待的窗格會出現。若要說明某些內容可用而不開啟窗格,請呼叫 `$.ui.toast('Your message')`,它會顯示快顯通知。

358 360 

361<h3 id="draw-in-the-vs-code-extension">

362 在 VS Code 擴充功能中繪製

363</h3>

364 

365在 VS Code 擴充功能中,mod 繪製的內容會出現在聊天面板中,前提是擴充功能版本為 2.1.299 或更新版本,且工作階段會[擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)。在面板的 `ui.render` hook 中,`e.surface` 為 `vscode`。若要查看面板會繪製哪些位置和元素,以及會忽略哪些 prop,請參閱[轉譯位置](/docs/zh-TW/plugins/mods/reference#render-sites)和[元素](/docs/zh-TW/plugins/mods/reference#elements)表格。

366 

367若要讓 mod 在面板和終端機中都能運作,請考量以下差異:

368 

369* **窗格**:在寬度 800 像素以上的面板中,窗格會停駐在對話旁邊,`e.props.placement` 為 `'dock'`,且 `e.viewport.isFullscreen` 為 `true`。在較窄的面板中,窗格會繪製在提示詞輸入框上方,`placement` 為 `'inline'`,且窗格在捲動前會顯示 12 列。

370* **快顯通知和狀態列**:這些會位於提示詞輸入框正上方的同一個堆疊中,面板較窄時窗格也在其中,每個 mod 有一個狀態列。當權限請求或對話框顯示時,此堆疊會隱藏。

371* **標籤**:面板會為 mod 繪製或改寫的內容加上框架,並以外掛的名稱標示,例如 **From the token-chart plugin** 或 **Edited by the token-chart plugin**。

372* **鍵盤**:按鈕沒有快速鍵,因此使用者需點擊按鈕,或在按鈕取得焦點後按下 Enter。

373* **鍵盤焦點**:只有在面板具有焦點、Claude 處於閒置且沒有等待中的問題,並且提示詞輸入框為空時,面板才會接受窗格的 `focus: true` 請求。

374* **問題對話框**:在 `AskUserQuestion`,面板會保留自己的問題卡片,並在其上方繪製您的元素。您傳遞給 `next` 的 props 不會更改該卡片。

375* **提示詞建議**:`$.prompt.suggest` 會以 `isShown: false` 解析且不顯示任何內容,因為面板會將提示詞輸入框中的淡色建議文字保留給 Claude 自己的建議。

376* **文字限制**:面板會將狀態列截斷為 200 個字元或兩列,並將快顯通知截斷為 500 個字元。

377 

359<h2 id="build-a-tree-from-elements">378<h2 id="build-a-tree-from-elements">

360 從元素建立樹379 從元素建立樹

361</h2>380</h2>

362 381 

363`ui.render` hook 返回的是元素樹:對要繪製的內容的描述,由相互嵌套的框、文字和控制項組成。您描述繪製,Claude Code 在終端機或桌面應用程式中呈現它。382`ui.render` hook 返回的是元素樹:對要繪製的內容的描述,由相互嵌套的框、文字和控制項組成。您描述繪製,Claude Code 會在使用者開啟的任何應用程式中呈現它:終端機、桌面應用程式或 VS Code 擴充功能。

364 383 

365若要取得元素,請在您的 hook 中呼叫 `$.ui.resolve(e)`,如 `const { Box, Text, Button } = $.ui.resolve(e)`。每個元素都是一個函式。您傳遞它屬性,並將應該在其中的元素和字串放在 `children` 中。384若要取得元素,請在您的 hook 中呼叫 `$.ui.resolve(e)`,如 `const { Box, Text, Button } = $.ui.resolve(e)`。每個元素都是一個函式。您傳遞它屬性,並將應該在其中的元素和字串放在 `children` 中。

366 385 


440| `Text` | 樣式文字。採用 `color`、`bold`、`dimColor`、`italic` 和 `wrap`。`color` 是主題鍵或顏色,例如 `'red'`。`wrap` 是 `'wrap'`、`'truncate'`、`'truncate-start'`、`'truncate-middle'` 或 `'truncate-end'`。 | 到處 |459| `Text` | 樣式文字。採用 `color`、`bold`、`dimColor`、`italic` 和 `wrap`。`color` 是主題鍵或顏色,例如 `'red'`。`wrap` 是 `'wrap'`、`'truncate'`、`'truncate-start'`、`'truncate-middle'` 或 `'truncate-end'`。 | 到處 |

441| `Button` | 呼叫 `onPress` 的控制項 | 到處 |460| `Button` | 呼叫 `onPress` 的控制項 | 到處 |

442| `Link`, `Code`, `Markdown` | 具有 `href` 和可選 `label` 的連結、程式碼區塊和格式化為 Claude 回覆方式的文字。`Markdown` 在 `text` 屬性中而不是在 `children` 中採用其內容,並在您傳遞 `onLinkPress` 時需要 `key`。 | 到處 |461| `Link`, `Code`, `Markdown` | 具有 `href` 和可選 `label` 的連結、程式碼區塊和格式化為 Claude 回覆方式的文字。`Markdown` 在 `text` 屬性中而不是在 `children` 中採用其內容,並在您傳遞 `onLinkPress` 時需要 `key`。 | 到處 |

443| `Input`, `Select` | 文字欄位和下拉式選單 | 終端機、桌面 |462| `Input`, `Select` | 文字欄位和下拉式選單 | 終端機、桌面、VS Code |

444| `Svg` | SVG 文件 | 桌面 |463| `Svg` | SVG 文件 | 桌面、VS Code |

445| `Client` | 由您的第二個檔案繪製的區域,用於動畫和指標輸入。該檔案不取得 mods API。它透過發佈資料到達您的 hook,該資料作為 `ui.message` 事件到達。如果它無法載入、繪製或執行,您的 hook 會收到 [`ui.fault`](/docs/zh-TW/plugins/mods/reference#interface) 事件。 | 終端機、桌面 |464| `Client` | 由您的第二個檔案繪製的區域,用於動畫和指標輸入。該檔案不取得 mods API。它透過發佈資料到達您的 hook,該資料作為 `ui.message` 事件到達。如果它無法載入、繪製或執行,您的 hook 會收到 [`ui.fault`](/docs/zh-TW/plugins/mods/reference#interface) 事件。 | 終端機、桌面 |

446| `Raster`, `Image` | [彩色儲存格網格](#draw-a-grid-of-colored-cells)和圖片 | 終端機 |465| `Raster`, `Image` | [彩色儲存格網格](#draw-a-grid-of-colored-cells)和圖片 | 終端機 |

447 466 


452在使用 `--plugin-dir` 啟動的工作階段中,逐字稿中會有一行說明這一點,例如 `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`。[偵錯日誌](/docs/zh-TW/plugins/mods/troubleshoot#read-the-debug-log)將其記錄為 `ui.render (Pane): a hook returned a tree that does not validate` 並提供相同的原因。工作階段中沒有其他內容出現,因此當繪製不顯示時,請檢查該行或日誌。471在使用 `--plugin-dir` 啟動的工作階段中,逐字稿中會有一行說明這一點,例如 `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`。[偵錯日誌](/docs/zh-TW/plugins/mods/troubleshoot#read-the-debug-log)將其記錄為 `ui.render (Pane): a hook returned a tree that does not validate` 並提供相同的原因。工作階段中沒有其他內容出現,因此當繪製不顯示時,請檢查該行或日誌。

453 472 

454<h3 id="link-in-the-desktop-app">473<h3 id="link-in-the-desktop-app">

455 桌面應用程式中的 `Link`474 桌面應用程式和 VS Code 中的 `Link`

456</h3>475</h3>

457 476 

458在桌面應用程式中,除非 `Link` 的 `href` 符合下列要求,否則會繪製為純文字:477在桌面應用程式和 VS Code 擴充功能中,除非 `Link` 的 `href` 符合下列要求,否則會繪製為純文字:

459 478 

460* **協定與主機**:`https:` URL,或 `http://localhost` URL,例如 `http://localhost:3000`479* **協定與主機**:`https:` URL,或 `http://localhost` URL,例如 `http://localhost:3000`

461* **不含 `@`**:在路徑或查詢字串中將 `@` 寫成 `%40`480* **不含 `@`**:在路徑或查詢字串中將 `@` 寫成 `%40`


477 496 

478對於熱力圖、迷你圖或終端機中的遊戲板,繪製一個 `Raster` 而不是每個儲存格一個 `Box`。`Raster` 採用 `key`、其大小(以 `columns` 和 `rows` 為單位)以及 `cells`,這是一個打包了每個儲存格的 base64 字串。每個儲存格是三個數字:字元的程式碼點、其顏色和其背景顏色。顏色是以十六進位表示的 24 位元 RGB 值,例如 `0xc62828` 表示紅色。值 `0x01000000` 比該範圍大一,表示終端機的預設值。497對於熱力圖、迷你圖或終端機中的遊戲板,繪製一個 `Raster` 而不是每個儲存格一個 `Box`。`Raster` 採用 `key`、其大小(以 `columns` 和 `rows` 為單位)以及 `cells`,這是一個打包了每個儲存格的 base64 字串。每個儲存格是三個數字:字元的程式碼點、其顏色和其背景顏色。顏色是以十六進位表示的 24 位元 RGB 值,例如 `0xc62828` 表示紅色。值 `0x01000000` 比該範圍大一,表示終端機的預設值。

479 498 

480桌面應用程式沒有 `Raster`,因此請檢查 `e.surface` 並在那裡繪製文字。此窗格主體繪製一個三乘二的熱力圖:499終端機以外的應用程式沒有 `Raster`,因此請檢查 `e.surface` 並在那裡繪製文字。此窗格主體繪製一個三乘二的熱力圖:

481 500 

482```javascript theme={null}501```javascript theme={null}

483// 表示「使用終端機的預設顏色」的值502// 表示「使用終端機的預設顏色」的值


535 554 

536您的 mod 永遠不會自己讀取鍵盤。使用者按下一個鍵,Claude Code 決定它是為您的哪個控制項,該控制項的回呼執行。除了[帶狀區域上的數字快捷鍵](/docs/zh-TW/plugins/mods/reference#elements)外,這只在您的窗格或帶狀區域具有鍵盤焦點時發生。其餘時間,按鍵會進入提示詞輸入區。555您的 mod 永遠不會自己讀取鍵盤。使用者按下一個鍵,Claude Code 決定它是為您的哪個控制項,該控制項的回呼執行。除了[帶狀區域上的數字快捷鍵](/docs/zh-TW/plugins/mods/reference#elements)外,這只在您的窗格或帶狀區域具有鍵盤焦點時發生。其餘時間,按鍵會進入提示詞輸入區。

537 556 

557在 [VS Code 擴充功能](#draw-in-the-vs-code-extension)中,按鈕沒有快捷鍵:使用者點擊按鈕或在其上按 Enter,並在欄位中輸入。

558 

538<h4 id="how-a-pane-gets-keyboard-focus">559<h4 id="how-a-pane-gets-keyboard-focus">

539 窗格如何獲得鍵盤焦點560 窗格如何獲得鍵盤焦點

540</h4>561</h4>


570 設定快捷鍵和第一個焦點591 設定快捷鍵和第一個焦點

571</h4>592</h4>

572 593 

573控制項上的這些屬性決定鍵盤如何到達它:

574 

575* **`hotkey`**:若要讓使用者使用一個鍵按下 `Button`,請給它一個 `hotkey` 的一位數字或一個小寫字母,如 `hotkey: 'a'`594* **`hotkey`**:若要讓使用者使用一個鍵按下 `Button`,請給它一個 `hotkey` 的一位數字或一個小寫字母,如 `hotkey: 'a'`

576* **`autoFocus`**:若要選擇窗格開啟時哪個控制項具有焦點,請將 `autoFocus: true` 新增到它。此屬性僅接受 `true`,因此請在其他控制項上省略它。595* **`autoFocus`**:若要選擇窗格開啟時哪個控制項具有焦點,請將 `autoFocus: true` 新增到它。在 [VS Code 擴充功能](#draw-in-the-vs-code-extension)中,`autoFocus` 不起作用:控制項的繪製方式就如同您省略了它,您不需要更改任何內容。此 prop 僅接受 `true`,因此請在其他控制項上省略它。

577 596 

578快捷鍵的顯示方式取決於按鈕和應用程式:597快捷鍵的顯示方式取決於按鈕和應用程式:

579 598 

580| 按鈕 | 在終端機中 | 在桌面應用程式中 |599| 按鈕 | 在終端機中 | 在桌面應用程式中 | 在 VS Code 擴充功能中 |

581| :- | :- | :- |600| :- | :- | :- | :- |

582| 帶括號,預設值 | `[ Add one ]`,沒有顯示快捷鍵 | 標籤旁邊有一個小鍵 |601| 帶括號,預設值 | `[ Add one ]`,沒有顯示快捷鍵 | 標籤旁邊有一個小鍵 | 標籤,快捷鍵不起作用 |

583| 使用 `plain: true` | `1: One` | 標籤旁邊有一個小鍵 |602| 使用 `plain: true` | `1: One` | 標籤旁邊有一個小鍵 | 標籤,快捷鍵不起作用 |

584 603 

585在終端機中,在括號按鈕的標籤中命名鍵,或使用 `plain: true`,以便使用者可以看到要按什麼。[元素參考](/docs/zh-TW/plugins/mods/reference#elements)有其他 `Button` 規則:`action`、帶狀區域上的數字快捷鍵,以及一個快捷鍵上的兩個按鈕。604在終端機中,在括號按鈕的標籤中命名鍵,或使用 `plain: true`,以便使用者可以看到要按什麼。[元素參考](/docs/zh-TW/plugins/mods/reference#elements)有其他 `Button` 規則:`action`、帶狀區域上的數字快捷鍵,以及一個快捷鍵上的兩個按鈕。

586 605 

Details

24* **在命令上執行您自己的程式碼**:一個 `/command`,立即執行您的函式,沒有 Claude 回合,即使 Claude 正在工作。請參閱[新增命令或工具](/docs/zh-TW/plugins/mods/api#add-a-command-or-a-tool)。24* **在命令上執行您自己的程式碼**:一個 `/command`,立即執行您的函式,沒有 Claude 回合,即使 Claude 正在工作。請參閱[新增命令或工具](/docs/zh-TW/plugins/mods/api#add-a-command-or-a-tool)。

25* **在 hooks 之間共享資料**:mod 的 hooks 共享其檔案中的變數,因此一個 hook 記錄的內容,另一個可以顯示。例如,一個 hook 可以計算工具呼叫,而另一個在微調器旁邊顯示計數,或一個可以讀取每個請求的權杖使用量,而另一個在窗格中繪製它。請參閱[對事件做出反應](/docs/zh-TW/plugins/mods/events)。25* **在 hooks 之間共享資料**:mod 的 hooks 共享其檔案中的變數,因此一個 hook 記錄的內容,另一個可以顯示。例如,一個 hook 可以計算工具呼叫,而另一個在微調器旁邊顯示計數,或一個可以讀取每個請求的權杖使用量,而另一個在窗格中繪製它。請參閱[對事件做出反應](/docs/zh-TW/plugins/mods/events)。

26 26 

27Mods 在 Claude Code CLI 和 Claude Desktop 應用程式的 Code 標籤中運作。請參閱[Mods 執行的位置](#where-mods-run)以了解它們在其他地方的行為,例如在 VS Code 擴充功能、`claude -p` 和雲端工作階段中。如果設定 hook、skill 或 MCP 伺服器已經做了您需要的事情,在您編寫 mod 之前[比較它們](#compare-mods-settings-hooks-skills-and-mcp-servers)。若要為組織管理 mods,請參閱[為您的組織管理 mods](/docs/zh-TW/plugins/mods/admin)。27Mod 可在 Claude Code CLI、Claude Desktop 應用程式的 Code 標籤以及 VS Code 擴充功能中運作。請參閱[mod 執行的位置](#where-mods-run)以了解它們在其他地方的行為,例如在 `claude -p` 和雲端工作階段中。如果設定 hook、skill 或 MCP 伺服器已經做了您需要的事情,在您編寫 mod 之前[比較它們](#compare-mods-settings-hooks-skills-and-mcp-servers)。若要為組織管理 mod,請參閱[為您的組織管理 mod](/docs/zh-TW/plugins/mods/admin)。

28 28 

29<h2 id="get-a-mod">29<h2 id="get-a-mod">

30 取得 mod30 取得 mod


212 Mods 執行的位置212 Mods 執行的位置

213</h3>213</h3>

214 214 

215Mod 的 hook 在載入外掛程式的每種工作階段中執行,無論由哪個供應商提供模型,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry。繪製的範圍較窄:只有終端機和 Desktop 應用程式顯示 mod 的窗格、帶狀區域和取代的列。此表列出您可能執行 Claude Code 的每個位置:215Mod 的 hook 在載入外掛程式的每種工作階段中執行,無論由哪個供應商提供模型,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry。繪製的範圍較窄:mod 繪製的內容會出現在終端機、Desktop 應用程式和 VS Code 擴充功能中。此表列出您可能執行 Claude Code 的每個位置:

216 216 

217| 您執行 Claude Code 的位置 | Hook 執行 | Mod 繪製的內容出現 |217| 您執行 Claude Code 的位置 | Hook 執行 | Mod 繪製的內容出現 |

218| :- | :- | :- |218| :- | :- | :- |

219| 終端機中的 `claude`,包括編輯器的整合終端機和 JetBrains 外掛程式 | 是 | 是 |219| 終端機中的 `claude`,包括編輯器的整合終端機和 JetBrains 外掛程式 | 是 | 是 |

220| Desktop 應用程式的 Code 標籤,除了 WSL 工作階段外 | 是 | 是,除了[元素表](/docs/zh-TW/plugins/mods/reference#elements)標記為僅限終端機的元素 |220| Desktop 應用程式的 Code 標籤,除了 WSL 工作階段外 | 是 | 是,除了[元素表](/docs/zh-TW/plugins/mods/reference#elements)標記為僅限終端機的元素 |

221| Desktop 應用程式中的 [WSL 工作階段](/docs/zh-TW/desktop-wsl) | 否,因為外掛程式在 WSL 工作階段中不可用 | 否 |221| Desktop 應用程式中的 [WSL 工作階段](/docs/zh-TW/desktop-wsl) | 否,因為外掛程式在 WSL 工作階段中不可用 | 否 |

222| VS Code 擴充功能的聊天面板 | 是 | 否 |222| VS Code 擴充功能的聊天面板 | 是 | 是,需使用擴充功能版本 2.1.299 或更新版本,並在會[擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段中。[轉譯位置](/docs/zh-TW/plugins/mods/reference#render-sites)和[元素](/docs/zh-TW/plugins/mods/reference#elements)表標示了面板會繪製的內容。 |

223| `claude -p` 和 [Agent SDK](/docs/zh-TW/agent-sdk/overview) | 是 | 否 |223| `claude -p` 和 [Agent SDK](/docs/zh-TW/agent-sdk/overview) | 是 | 否 |

224| 從 claude.ai 或行動應用程式使用的 [Remote Control](/docs/zh-TW/remote-control) | 是,在您機器上的工作階段中 | 在您機器上的終端機中 |224| 從 claude.ai 或行動應用程式使用的 [Remote Control](/docs/zh-TW/remote-control) | 是,在您機器上的工作階段中 | 在您機器上的終端機中 |

225| [雲端工作階段](/docs/zh-TW/claude-code-on-the-web) | 是,對於[到達雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)的外掛程式 | 否 |225| [雲端工作階段](/docs/zh-TW/claude-code-on-the-web) | 是,對於[到達雲端工作階段](/docs/zh-TW/cloud-environments#what-carries-over-from-your-setup)的外掛程式 | 否 |

Details

6 6 

7> Claude Code mod 的完整參考資料:hook 模組配置、事件、mods API 方法、轉譯位置、各使用介面的元素、限制與設定。7> Claude Code mod 的完整參考資料:hook 模組配置、事件、mods API 方法、轉譯位置、各使用介面的元素、限制與設定。

8 8 

9查詢 [mod](/docs/zh-TW/plugins/mods/overview) 可處理的任何事件、可呼叫的任何 mods API 方法,或可繪製的任何轉譯位置,適用於 v2.1.290 版起的 Claude Code CLI 與 Desktop 應用程式。每個項目皆提供名稱與一行說明,若有對應的指南章節,亦會連結至該處。9查詢 [mod](/docs/zh-TW/plugins/mods/overview) 可處理的任何事件、可呼叫的任何 mods API 方法,或可繪製的任何轉譯位置。各項目涵蓋 v2.1.290 版起的 Claude Code CLI 與 Desktop 應用程式,以及 v2.1.299 版起的 VS Code 擴充功能。每個項目皆提供名稱與一行說明,若有對應的指南章節,亦會連結至該處。

10 10 

11<Note>11<Note>

12 完整的參考資料是 Claude Code 的 [mod TypeScript 宣告](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts),其中以範例描述每個事件、方法與元素。GitHub 上的副本可能比您安裝的 Claude Code 版本更舊。兩者不一致時,請以 [Claude Code 為您的版本寫入的副本](/docs/zh-TW/plugins/mods/create#get-the-types-for-your-build)為準。12 完整的參考資料是 Claude Code 的 [mod TypeScript 宣告](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts),其中以範例描述每個事件、方法與元素。GitHub 上的副本可能比您安裝的 Claude Code 版本更舊。兩者不一致時,請以 [Claude Code 為您的版本寫入的副本](/docs/zh-TW/plugins/mods/create#get-the-types-for-your-build)為準。


255 轉譯位置255 轉譯位置

256</h2>256</h2>

257 257 

258轉譯位置是 Claude Code 介面中的擴充點。每一列都是 `ui.render` hook 中 `e.component` 的一個值,並列出 `e.props` 的欄位以及轉譯它的應用程式。`e.surface` 為 `terminal` 或 `desktop`。[變更 Claude Code 既有的繪製內容](/docs/zh-TW/plugins/mods/interface#change-what-claude-code-already-draws)說明 hook 能在某個位置做什麼,並為每種選擇提供範例。258轉譯位置是 Claude Code 介面中的擴充點。每一列都是 `ui.render` hook 中 `e.component` 的一個值,並列出 `e.props` 的欄位以及轉譯它的應用程式。`e.surface` 指出正在繪製的應用程式,例如 `terminal`、`desktop` 或 `vscode`。[變更 Claude Code 既有的繪製內容](/docs/zh-TW/plugins/mods/interface#change-what-claude-code-already-draws)說明 hook 能在某個位置做什麼,並為每種選擇提供範例。

259 

260在 VS Code 擴充功能中進行轉譯,需要擴充功能版本 2.1.299 或更新版本,以及一個會[擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段。[在 VS Code 擴充功能中繪製](/docs/zh-TW/plugins/mods/interface#draw-in-the-vs-code-extension)列出該擴充功能在繪製上的不同之處。

259 261 

260| 位置 | `e.props` | `e.requestId` | 轉譯於 |262| 位置 | `e.props` | `e.requestId` | 轉譯於 |

261| :- | :- | :- | :- |263| :- | :- | :- | :- |

262| [`Pane`](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) | `title`、`isFocused`、`bodyColumns`、`placement`、`scroll`、`view` | 窗格的 `id` | 終端機、Desktop |264| [`Pane`](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) | `title`、`isFocused`、`bodyColumns`、`placement`、`scroll`、`view` | 窗格的 `id` | 終端機、Desktop、VS Code |

263| [`AbovePrompt`](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`、`isWorking`、`maxRows`、`bodyColumns`、`scroll`、`view` | 單一實例 | 終端機、Desktop |265| [`AbovePrompt`](/docs/zh-TW/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`、`isWorking`、`maxRows`、`bodyColumns`、`scroll`、`view` | 單一實例 | 終端機、Desktop |

264| `UserMessage` | `text`、`origin`、`isExpanded`,以及依來源而定的 `task` 或 `from` | 訊息 id | 終端機、Desktop |266| `UserMessage` | `text`、`origin`、`isExpanded`,以及依來源而定的 `task` 或 `from` | 訊息 id | 終端機、Desktop、VS Code |

265| `AssistantMessage` | 回覆的文字 | 訊息 id | 終端機、Desktop |267| `AssistantMessage` | 回覆的文字 | 訊息 id | 終端機、Desktop、VS Code |

266| `ToolUse`、`ToolResult`、`ToolGroup` | 工具的名稱、輸入與結果 | 工具呼叫 id | 終端機、Desktop |268| `ToolUse`、`ToolResult`、`ToolGroup` | 工具的名稱、輸入與結果 | 工具呼叫 id | 終端機、Desktop、VS Code |

267| `CommandOutput` | `command`、`text` | 訊息 id | 終端機、Desktop |269| `CommandOutput` | `command`、`text` | 訊息 id | 終端機、Desktop |

268| [`AskUserQuestion`](/docs/zh-TW/plugins/mods/interface#change-what-claude-code-already-draws) | 問題與選項 | 工具呼叫 id | 終端機、Desktop |270| [`AskUserQuestion`](/docs/zh-TW/plugins/mods/interface#change-what-claude-code-already-draws) | 問題與選項 | 工具呼叫 id | 終端機、Desktop、VS Code |

269| `ToolProgress` | `kind` | 工具呼叫 id | 終端機 |271| `ToolProgress` | `kind` | 工具呼叫 id | 終端機 |

270| [`Spinner`](/docs/zh-TW/plugins/mods/interface#change-what-claude-code-already-draws) | `word`、`message`、`suffix`、`mode` | agent id | 終端機、Desktop |272| [`Spinner`](/docs/zh-TW/plugins/mods/interface#change-what-claude-code-already-draws) | `word`、`message`、`suffix`、`mode` | agent id | 終端機、Desktop、VS Code |

271| `TurnDuration` | `word`、`durationMs` | 訊息 id | 終端機 |273| `TurnDuration` | `word`、`durationMs` | 訊息 id | 終端機 |

272| `InfoNotice` | `text`、`command` | 訊息 id | 終端機 |274| `InfoNotice` | `text`、`command` | 訊息 id | 終端機 |

273| `SessionMode` | `modes` | 單一實例 | 終端機、Desktop |275| `SessionMode` | `modes` | 單一實例 | 終端機、Desktop |

274| `PromptHint` | `isDraft`、`isWorking`、`hint` | 單一實例 | 終端機、Desktop |276| `PromptHint` | `isDraft`、`isWorking`、`hint` | 單一實例 | 終端機、Desktop |

275 277 

276`e.viewport` 存放 `columns`、`rows` 與 `isFullscreen`。在應用程式量測其視窗之前,它不會存在。其 `rows` 是整個視窗的高度,而非您窗格的高度。278`e.viewport` 存放 `columns`、`rows` 與 `isFullscreen`。在終端機與 Desktop 應用程式中,在應用程式量測其視窗之前,它不會存在。在這些環境中,其 `rows` 是整個視窗的高度,而非您窗格的高度。在 VS Code 擴充功能中,它一律存在。

277 279 

278若要讓樹狀結構符合其位置,請在 hook 中讀取下列 prop:280若要讓樹狀結構符合其位置,請在 hook 中讀取下列 prop:

279 281 

280* **`Pane` 或橫帶的寬度**:依 `e.props.bodyColumns` 繪製282* **`Pane` 或橫帶的寬度**:依 `e.props.bodyColumns` 繪製

281* **逐字稿旁 `Pane` 的高度**:當 `e.props.placement` 為 `'dock'` 時,`e.props.scroll.bodyRows` 是窗格可供您的樹狀結構使用的列數283* **逐字稿旁 `Pane` 的高度**:當 `e.props.placement` 為 `'dock'` 時,`e.props.scroll.bodyRows` 是窗格可供您的樹狀結構使用的列數

282* **提示詞上方 `Pane` 的高度**:當 `e.props.placement` 為 `'inline'` 時,窗格會隨您的樹狀結構增高,直到上限為止,而 `bodyRows` 即為該上限。[`$.ui.open` 的 `rows` 欄位](/docs/zh-TW/plugins/mods/interface#open-a-pane-at-the-right-time)可要求不同的上限。284* **提示詞上方 `Pane` 的高度**:當 `e.props.placement` 為 `'inline'` 時,窗格會隨您的樹狀結構增高,直到上限為止,而 `bodyRows` 即為該上限。若要要求不同的上限,請參閱 [`$.ui.open` 的 `rows` 欄位](/docs/zh-TW/plugins/mods/interface#open-a-pane-at-the-right-time)。

283 285 

284高於窗格的樹狀結構會整體捲動。286高於窗格的樹狀結構會整體捲動。

285 287 


289 291 

290元素是 `ui.render` hook 所回傳樹狀結構的建構區塊,您可以從 `$.ui.resolve(e)` 取得。[從元素建立樹狀結構](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements)會展示常用元素以及終端機如何繪製它們,[介面圖庫](/docs/zh-TW/plugins/mods/gallery)則提供大多數元素的螢幕截圖。勾號表示該應用程式可以繪製此元素。292元素是 `ui.render` hook 所回傳樹狀結構的建構區塊,您可以從 `$.ui.resolve(e)` 取得。[從元素建立樹狀結構](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements)會展示常用元素以及終端機如何繪製它們,[介面圖庫](/docs/zh-TW/plugins/mods/gallery)則提供大多數元素的螢幕截圖。勾號表示該應用程式可以繪製此元素。

291 293 

292| 元素 | 主要 prop | 終端機 | Desktop |294| 元素 | 主要 prop | 終端機 | Desktop | VS Code |

293| :- | :- | :-: | :-: |295| :- | :- | :-: | :-: | :-: |

294| [`Box`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `key`、flex 版面配置、`gap`、`padding`、`margin`、`width`、`height`、[`borderStyle`](#box-border-styles)、`backgroundColor`、`position`、`hover` | ✓ | ✓ |296| [`Box`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `key`、flex 版面配置、`gap`、`padding`、`margin`、`width`、`height`、[`borderStyle`](#box-border-styles)、`backgroundColor`、`position`、`hover` | ✓ | ✓ | ✓ |

295| [`Text`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `color`、`backgroundColor`、`bold`、`italic`、`underline`、`dimColor`、`inverse`、`wrap` | ✓ | ✓ |297| [`Text`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `color`、`backgroundColor`、`bold`、`italic`、`underline`、`dimColor`、`inverse`、`wrap` | ✓ | ✓ | ✓ |

296| [`Button`](/docs/zh-TW/plugins/mods/interface#respond-to-presses-and-typing) | `key`、`label`、`onPress`、`hotkey`、`plain`、`dimColor`、`autoFocus`、`action` | ✓ | ✓ |298| [`Button`](/docs/zh-TW/plugins/mods/interface#respond-to-presses-and-typing) | `key`、`label`、`onPress`、`hotkey`、`plain`、`dimColor`、`autoFocus`、`action` | ✓ | ✓ | ✓ |

297| [`Link`](/docs/zh-TW/plugins/mods/interface#link-in-the-desktop-app) | `href`、`label`。請參閱[限制](#limits)。 | ✓ | ✓ |299| [`Link`](/docs/zh-TW/plugins/mods/interface#link-in-the-desktop-app) | `href`、`label`。請參閱[限制](#limits)。 | ✓ | ✓ | ✓ |

298| [`Code`](/docs/zh-TW/plugins/mods/gallery#show-code-and-changes) | `source`、`language`、`path`、`startLine`、`format`、`wrap` | ✓ | ✓ |300| [`Code`](/docs/zh-TW/plugins/mods/gallery#show-code-and-changes) | `source`、`language`、`path`、`startLine`、`format`、`wrap` | ✓ | ✓ | ✓ |

299| `Markdown` | `text`、`key`、`dimColor`、`onLinkPress`、`pressableLinks` | ✓ | ✓ |301| `Markdown` | `text`、`key`、`dimColor`、`onLinkPress`、`pressableLinks` | ✓ | ✓ | ✓ |

300| [`Input`](/docs/zh-TW/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`、`label`、`placeholder`、`value`、`submitLabel`、`onSubmit`、`onInput`、`autoFocus` | ✓ | ✓ |302| [`Input`](/docs/zh-TW/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`、`label`、`placeholder`、`value`、`submitLabel`、`onSubmit`、`onInput`、`autoFocus` | ✓ | ✓ | ✓ |

301| `Select` | `key`、`label`、`options`、`value`、`onSelect`、`autoFocus` | ✓ | ✓ |303| `Select` | `key`、`label`、`options`、`value`、`onSelect`、`autoFocus` | ✓ | ✓ | ✓ |

302| `Svg` | SVG 文件,最多 131,072 個字元 | | ✓ |304| `Svg` | SVG 文件,最多 131,072 個字元 | | ✓ | ✓ |

303| [`Client`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key` | ✓ | ✓ |305| [`Client`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key` | ✓ | ✓ | |

304| [`Raster`](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`、最多 512 的 `columns`、最多 256 的 `rows`、`cells`。請參閱[繪製彩色儲存格網格](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells)。 | ✓ | |306| [`Raster`](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`、最多 512 的 `columns`、最多 256 的 `rows`、`cells`。請參閱[繪製彩色儲存格網格](/docs/zh-TW/plugins/mods/interface#draw-a-grid-of-colored-cells)。 | ✓ | | |

305| `Image` | 最多 2 MiB 的 PNG 或 RGBA 位元組,或檔案路徑、最多 255 的 `columns` 和 `rows`,以及 `alt` 文字。 | ✓ | |307| `Image` | 最多 2 MiB 的 PNG 或 RGBA 位元組,或檔案路徑、最多 255 的 `columns` 和 `rows`,以及 `alt` 文字。 | ✓ | | |

306 308 

307更多 `Button` 規則:`action` 指定 Claude Code 本身的某個[快捷鍵動作](/docs/zh-TW/keybindings),當使用者對該動作的綁定為組合鍵或修飾鍵時,該綁定會按下此按鈕。橫帶中按鈕上的數字 `hotkey`,在使用者於空白提示詞中單獨輸入該數字並停頓時也會觸發。當同一次繪製中有兩個按鈕指定相同的 `hotkey` 時,由後者取得。`autoFocus` 在任何控制項上都只接受 `true`,因此若要關閉,請省略此 prop。309更多 `Button` 規則:`action` 指定 Claude Code 本身的某個[快捷鍵動作](/docs/zh-TW/keybindings),當使用者對該動作的綁定為組合鍵或修飾鍵時,該綁定會按下此按鈕。橫帶中按鈕上的數字 `hotkey`,在使用者於空白提示詞中單獨輸入該數字並停頓時也會觸發。當同一次繪製中有兩個按鈕指定相同的 `hotkey` 時,由後者取得。`autoFocus` 在任何控制項上都只接受 `true`,因此若要關閉,請省略此 prop。

308 310 

311VS Code 擴充功能會忽略部分元素 prop,並以如同您省略這些 prop 的方式繪製元素:

312 

313* **`Box`**:`position` 和 `hover`

314* **`Button`**:`hotkey`、`plain`、`autoFocus` 和 `action`,因此使用者在該處要透過點擊按下按鈕,或在按鈕取得焦點後按 Enter

315* **`Code`**:`language`、`path`、`startLine`、`format` 和 `wrap`,因此程式碼繪製時不會有色彩或行號,而 `format: 'diff'` 區塊會顯示差異的原始文字

316* **`Input` 和 `Select`**:`autoFocus`

317 

309<h3 id="box-border-styles">318<h3 id="box-border-styles">

310 `Box` 框線樣式319 `Box` 框線樣式

311</h3>320</h3>

Details

289 快捷鍵沒有作用289 快捷鍵沒有作用

290</h3>290</h3>

291 291 

292您的窗格沒有鍵盤焦點。292您的窗格沒有鍵盤焦點,或繪圖位於 VS Code 擴充功能中,而該處的按鈕沒有快捷鍵。請執行相符的操作:

293 293 

294按 Ctrl+X 然後 Tab,或按一下窗格。使用 `focus: true` 從命令開啟它。294* **沒有鍵盤焦點**:按 Ctrl+X 然後 Tab,或按一下窗格。若要讓窗格在開啟時取得焦點,請從命令以 `focus: true` 開啟它。

295* **在 VS Code 擴充功能中**:按一下按鈕,或在按鈕取得焦點後按 Enter

295 296 

296<h3 id="a-drawing-works-in-the-terminal-and-not-in-the-desktop-app">297<h3 id="a-drawing-works-in-the-terminal-and-not-in-the-desktop-app-or-vs-code">

297 繪圖在終端機中有效,但在 Desktop 應用程式中無效298 繪圖在終端機中有效,但在 Desktop 應用程式或 VS Code 中無效

298</h3>299</h3>

299 300 

300該位置或元素在那裡不可用。301可能是該應用程式不繪製該位置或元素,或是該工作階段屬於 VS Code 擴充功能不會為 mod 繪製任何內容的情況。mod 的其他 hook 仍會執行。請檢查以下原因:

301 302 

302檢查[轉譯位置](/docs/zh-TW/plugins/mods/reference#render-sites)和[元素](/docs/zh-TW/plugins/mods/reference#elements)表。303* **該位置或元素未在該應用程式中繪製**:在[轉譯位置](/docs/zh-TW/plugins/mods/reference#render-sites)表中查詢您的位置,並在[元素](/docs/zh-TW/plugins/mods/reference#elements)表中查詢您的元素。對於該應用程式缺少的元素,請在 hook 中檢查 `e.surface`,並返回該應用程式可繪製的樹。

304* **VS Code 擴充功能版本早於 2.1.299**:聊天面板從[擴充功能版本](/docs/zh-TW/vs-code#install-the-extension) 2.1.299 起會為 mod 繪製內容。請在 VS Code 的 Extensions 檢視中檢查版本,並在該處更新擴充功能。

305* **VS Code 工作階段不擷取功能旗標**:在聊天面板中繪製需要擷取功能旗標。在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上的工作階段,或透過 [Claude apps 閘道](/docs/zh-TW/claude-apps-gateway)的工作階段,會略過此步驟,[需要擷取功能旗標的功能](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)中列出的其他情況亦同。若要在此類工作階段中看到繪圖,請改為在終端機中執行 `claude`,例如 VS Code 的整合式終端機。

303 306 

304<h2 id="an-edit-or-a-value-is-lost">307<h2 id="an-edit-or-a-value-is-lost">

305 編輯或值遺失308 編輯或值遺失

remote-control.md +90 −89

Details

39* **工作區信任**:在您尚未信任的目錄中,`claude remote-control` 會列印信任該目錄會啟用的功能,並在啟動前詢問 `Trust <directory>? [y/N]`。回答 `y` 會儲存該選擇,但在您的主目錄中除外,該目錄中信任永遠不會被儲存,每次執行時都會重新詢問。當其標準輸入或輸出不是終端機時,該命令無法詢問並會以 [`Workspace not trusted`](/docs/zh-TW/errors#workspace-not-trusted-when-starting-remote-control) 錯誤結束。39* **工作區信任**:在您尚未信任的目錄中,`claude remote-control` 會列印信任該目錄會啟用的功能,並在啟動前詢問 `Trust <directory>? [y/N]`。回答 `y` 會儲存該選擇,但在您的主目錄中除外,該目錄中信任永遠不會被儲存,每次執行時都會重新詢問。當其標準輸入或輸出不是終端機時,該命令無法詢問並會以 [`Workspace not trusted`](/docs/zh-TW/errors#workspace-not-trusted-when-starting-remote-control) 錯誤結束。

40 40 

41<h2 id="start-a-remote-control-session">41<h2 id="start-a-remote-control-session">

42 啟動 Remote Control 會話42 啟動 Remote Control 工作階段

43</h2>43</h2>

44 44 

45您可以從 CLI、[Claude Desktop 應用程式](/docs/zh-TW/desktop)或 VS Code 擴充功能啟動 Remote Control 會話。CLI 提供三種調用模式;Desktop 應用程式和 VS Code 使用 `/remote-control` 命令。45您可以從 CLI、[Claude Desktop 應用程式](/docs/zh-TW/desktop)或 VS Code 擴充功能啟動 Remote Control 工作階段。CLI 提供三種呼叫模式;Desktop 應用程式和 VS Code 則使用 `/remote-control` 命令。

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

53 ```53 ```

54 54 

55 在您接受 Remote Control 的一次性確認之前,`claude remote-control` 會說明它的功能並詢問 `Enable Remote Control? (y/n)` 後才啟動伺服器。回答 `y` 以接受並啟動伺服器。如果您拒絕,Claude Code 會在不啟動伺服器的情況下退出,並在您下次執行該命令時再次詢問。55 在您接受 Remote Control 的一次性確認之前,`claude remote-control` 會說明其功能,並在啟動伺服器前詢問 `Enable Remote Control? (y/n)`。回答 `y` 即可接受並啟動伺服器。若您拒絕,Claude Code 會在不啟動伺服器的情況下結束,並在您下次執行此命令時再次詢問。

56 56 

57 該程序在您的終端機中以伺服器模式保持執行,等待遠端連接。它顯示一個會話 URL,您可以使用該 URL 從[另一個裝置連接](#connect-from-another-device),您可以按空格鍵顯示 QR 碼以從手機快速存取。當遠端會話處於活動狀態時,終端機會顯示連接狀態和工具活動。57 在伺服器模式下,此程序會持續在終端機中執行,等待遠端連線。它會顯示一個工作階段 URL,您可以用來[從其他裝置連線](#connect-from-another-device),也可以按空白鍵顯示 QR 碼,以便從手機快速存取。當遠端工作階段處於作用中狀態時,終端機會顯示連線狀態和工具活動。

58 58 

59 在 `remote-control` 後傳遞以下任何旗標:59 可在 `remote-control` 之後傳入下列任一旗標:

60 60 

61 | 旗標 | 說明 |61 | 旗標 | 說明 |

62 | - | - |62 | - | - |

63 | `--name "My Project"` | 設定自訂會話標題,在 claude.ai/code 的會話清單中可見。 |63 | `--name "My Project"` | 設定自訂工作階段標題,顯示於 claude.ai/code 的工作階段清單中。 |

64 | `--remote-control-session-name-prefix <prefix>` | 未設定明確名稱時自動生成會話名稱的前綴。預設為您機器的主機名稱,產生類似 `myhost-graceful-unicorn` 的名稱。設定 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` 以獲得相同效果。 |64 | `--remote-control-session-name-prefix <prefix>` | 未設定明確名稱時,自動產生之工作階段名稱的前綴。預設為您機器的主機名稱,產生如 `myhost-graceful-unicorn` 的名稱。設定 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` 亦可達到相同效果。 |

65 | `-c`, `--continue` | 恢復此目錄中最後一個伺服器啟動的會話,而不是建立新會話。請參閱[停止伺服器後恢復會話](#resume-sessions-after-stopping-the-server)。無法與 `--session-id`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 結合。需要 Claude Code v2.1.200 或更新版本。 |65 | `-c`, `--continue` | 恢復此目錄中上一個伺服器啟動時所建立的工作階段,而非建立新的工作階段。請參閱[停止伺服器後恢復工作階段](#resume-sessions-after-stopping-the-server)。不可與 `--session-id`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 合併使用。需要 Claude Code v2.1.200 或更新版本。 |

66 | `--session-id <id>` | 按其 ID 恢復一個會話。請參閱[停止伺服器後恢復會話](#resume-sessions-after-stopping-the-server)。無法與 `--continue`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 結合。需要 Claude Code v2.1.200 或更新版本。 |66 | `--session-id <id>` | 依 ID 恢復單一工作階段。請參閱[停止伺服器後恢復工作階段](#resume-sessions-after-stopping-the-server)。不可與 `--continue`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 合併使用。需要 Claude Code v2.1.200 或更新版本。 |

67 | `--spawn <mode>` | 伺服器如何建立工作階段。<br />• `same-dir`(預設):所有工作階段共享目前的工作目錄,因此如果編輯相同的檔案可能會衝突。<br />• `worktree`:每個按需工作階段都會獲得自己的 [git worktree](/docs/zh-TW/worktrees)。需要 git 儲存庫或 [`WorktreeCreate` hook](/docs/zh-TW/hooks#worktreecreate)。<br />• `session`:單一工作階段模式。恰好提供一個工作階段並拒絕其他連接。僅在啟動時設定。<br />在執行時按 `w` 在 `same-dir` 和 `worktree` 之間切換。 |67 | `--spawn <mode>` | 伺服器建立工作階段的方式。<br />• `same-dir`(預設):所有工作階段共用目前的工作目錄,因此若編輯相同檔案可能會發生衝突。<br />• `worktree`:每個隨需建立的工作階段都會取得自己的 [git worktree](/docs/zh-TW/worktrees)。需要 git 儲存庫或 [`WorktreeCreate` hook](/docs/zh-TW/hooks#worktreecreate)。<br />• `session`:單一工作階段模式。僅服務一個工作階段,並拒絕其他連線。僅能在啟動時設定。<br />在執行期間按 `w` 可在 `same-dir` 與 `worktree` 之間切換。 |

68 | `--capacity <N>` | 並行會話的最大數量。預設值為 32。不能與 `--spawn=session` 一起使用。 |68 | `--capacity <N>` | 同時進行的工作階段數量上限。預設為 32。不可與 `--spawn=session` 一起使用。 |

69 | `--[no-]create-session-in-dir` | 伺服器啟動時在目前目錄中預先建立一個會話,以便您有地方立即輸入。在 `worktree` 模式中,此會話保留在目前目錄中,而按需會話會獲得隔離的 worktrees。預設為開啟。如果您傳遞 `--no-create-session-in-dir` 以不建立任何會話啟動,Claude Code 會在您停止伺服器時封存伺服器的會話,因此沒有任何東西可以[恢復](#resume-sessions-after-stopping-the-server)。 |69 | `--[no-]create-session-in-dir` | 在伺服器啟動時於目前目錄預先建立一個工作階段,讓您可以立即開始輸入。在 `worktree` 模式下,此工作階段會留在目前目錄,而隨需建立的工作階段則會取得隔離的 worktree。預設為開啟。若您傳入 `--no-create-session-in-dir` 以不建立任何工作階段的方式啟動,Claude Code 會在您停止伺服器時封存伺服器的工作階段,因此將沒有可[恢復](#resume-sessions-after-stopping-the-server)的工作階段。 |

70 | `--permission-mode <mode>` | 為伺服器的會話設定起始[權限模式](/docs/zh-TW/permission-modes),例如 `acceptEdits`。接受 `manual` 作為 `default` 的別名;無法識別的模式會在啟動時停止伺服器並列出有效的模式。 |70 | `--permission-mode <mode>` | 設定伺服器工作階段的起始[權限模式](/docs/zh-TW/permission-modes),例如 `acceptEdits`。接受 `manual` 作為 `default` 的別名;無法辨識的模式會在啟動時停止伺服器並列出有效的模式。 |

71 | `--chrome` / `--no-chrome` | 在伺服器建立的會話中開啟或關閉 [Chrome 整合](/docs/zh-TW/chrome),以便 Claude 可以在您從另一個裝置工作時在您的機器上使用 Chrome。沒有任何旗標的情況下,伺服器預先建立的會話以及您從 claude.ai/code 或 Claude 應用程式自己啟動的任何會話都會以 Chrome 關閉開始,即使您[預設啟用了 Chrome](/docs/zh-TW/chrome#enable-chrome-by-default)。伺服器為您的[專案](/docs/zh-TW/claude-projects)執行緒啟動的會話會改為遵循該設定,除非在 `bypassPermissions` 模式中。需要 Claude Code v2.1.273 或更新版本。 |71 | `--chrome` / `--no-chrome` | 在伺服器建立的工作階段中開啟或關閉 [Chrome 整合](/docs/zh-TW/chrome),讓 Claude 能在您從其他裝置工作時使用您機器上的 Chrome。若未使用任一旗標,伺服器預先建立的工作階段,以及您自行從 claude.ai/code 或 Claude 應用程式啟動的任何工作階段,都會以 Chrome 關閉的狀態開始,即使您已[預設啟用 Chrome](/docs/zh-TW/chrome#enable-chrome-by-default) 亦然。伺服器為您的某個[專案](/docs/zh-TW/claude-projects)執行緒啟動的工作階段則會改為遵循該設定,但 `bypassPermissions` 模式除外。需要 Claude Code v2.1.273 或更新版本。 |

72 | `-d`, `--debug[=<filter>]` | 為伺服器開啟偵錯日誌,可選擇按類別篩選。僅以 `=` 形式傳遞篩選器,例如 `--debug=api,hooks`。需要 Claude Code v2.1.282 或更新版本。 |72 | `-d`, `--debug[=<filter>]` | 為伺服器開啟除錯日誌,可選擇依類別篩選。篩選條件只能以 `=` 形式傳入,例如 `--debug=api,hooks`。需要 Claude Code v2.1.282 或更新版本。 |

73 | `--debug-file <path>` | 將偵錯日誌寫入給定的檔案。 |73 | `--debug-file <path>` | 將除錯日誌寫入指定的檔案。 |

74 | `--verbose` | 顯示詳細的連接和會話日誌。 |74 | `--verbose` | 顯示詳細的連線與工作階段日誌。 |

75 75 | `--sandbox`, `--no-sandbox` | 已於 v2.1.300 移除。若您傳入任一旗標,伺服器會[以錯誤結束](/docs/zh-TW/errors#sandbox-is-not-supported-by-claude-remote-control)而不會啟動。 |

76 如果您在 `remote-control` 之前傳遞全域 `claude` 旗標,或包裝指令碼新增一個,Claude Code 不會將該旗標帶到伺服器建立的會話中。Claude Code 只在丟棄該旗標已知不會改變這些會話可以執行的操作時才允許該旗標通過,例如 `--verbose` 或 `--model`。對於任何其他旗標,例如 `--settings`,Claude Code [拒絕啟動](/docs/zh-TW/errors#not-carried-over-to-the-sessions-remote-control-starts)並命名要移除的旗標。76 

77 77 若您在 `remote-control` 之前傳入全域 `claude` 旗標,或包裝指令碼加入了此類旗標,Claude Code 不會將該旗標沿用至伺服器建立的工作階段。只有在已知捨棄該旗標不會改變這些工作階段的能力時,Claude Code 才會讓該旗標通過,例如 `--verbose` 或 `--model`。對於任何其他旗標,例如 `--settings`,Claude Code 會[拒絕啟動](/docs/zh-TW/errors#not-carried-over-to-the-sessions-remote-control-starts),並指出需要移除的旗標名稱。

78 要沙箱化伺服器啟動的會話,請在設定檔案中開啟[沙箱](/docs/zh-TW/sandboxing)。78 

79 79 若要將伺服器啟動的工作階段置於沙箱中,請在設定檔中開啟[沙箱機制](/docs/zh-TW/sandboxing)。

80 Claude Code 在列印說明之前檢查 Remote Control 資格,因此當您未使用符合條件的帳戶登入時,`claude remote-control --help` 會傳回錯誤而不是此旗標清單。80 

81 Claude Code 會在列印說明之前檢查 Remote Control 的使用資格,因此當您未以符合資格的帳戶登入時,`claude remote-control --help` 會傳回錯誤,而非此旗標清單。

81 </Tab>82 </Tab>

82 83 

83 <Tab title="互動式會話">84 <Tab title="互動式工作階段">

84 要啟動啟用了 Remote Control 的一般互動式 Claude Code 會話,請使用 `--remote-control` 旗標(或 `--rc`):85 若要啟動已啟用 Remote Control 的一般互動式 Claude Code 工作階段,請使用 `--remote-control` 旗標(或 `--rc`):

85 86 

86 ```bash theme={null}87 ```bash theme={null}

87 claude --remote-control88 claude --remote-control

88 ```89 ```

89 90 

90 可選地為會話傳遞一個名稱:91 可選擇為工作階段傳入名稱:

91 92 

92 ```bash theme={null}93 ```bash theme={null}

93 claude --remote-control "My Project"94 claude --remote-control "My Project"

94 ```95 ```

95 96 

96 這為您提供了一個完整的互動式會話在您的終端機中,您也可以從 claude.ai 或 Claude 應用程式控制。與 `claude remote-control`(伺服器模式)不同,您可以在會話也可遠端使用時在本地輸入訊息。97 這會在終端機中提供完整的互動式工作階段,您也可以從 claude.ai 或 Claude 應用程式加以控制。與 `claude remote-control`(伺服器模式)不同,您可以在本機輸入訊息,同時該工作階段也可供遠端使用。

97 </Tab>98 </Tab>

98 99 

99 <Tab title="從現有會話">100 <Tab title="從現有工作階段">

100 如果您已經在 Claude Code 會話中並想遠端繼續它,請使用 `/remote-control`(或 `/rc`)命令:101 若您已在 Claude Code 工作階段中,並希望從遠端繼續,請使用 `/remote-control`(或 `/rc`)命令:

101 102 

102 ```text theme={null}103 ```text theme={null}

103 /remote-control104 /remote-control

104 ```105 ```

105 106 

106 傳遞一個名稱作為引數以設定自訂會話標題:107 傳入名稱作為引數即可設定自訂工作階段標題:

107 108 

108 ```text theme={null}109 ```text theme={null}

109 /remote-control My Project110 /remote-control My Project

110 ```111 ```

111 112 

112 這啟動一個 Remote Control 會話,該會話會延續您目前的對話歷史記錄。113 這會啟動一個 Remote Control 工作階段,並沿用您目前的對話歷程。

113 114 

114 在您接受 Remote Control 的一次性確認之前,會出現一個對話框,然後 `/remote-control` 才會連接。選擇**啟用 Remote Control** 以接受並連接。如果您選擇**算了**或按 Esc,Claude Code 不會連接,並在您下次執行 `/remote-control` 時再次詢問。115 在您接受 Remote Control 的一次性確認之前,`/remote-control` 連線前會出現對話框。選擇 **Enable Remote Control** 即可接受並連線。若您選擇 **Never mind** 或按 Esc,Claude Code 不會連線,並會在您下次執行 `/remote-control` 時再次詢問。

115 116 

116 此命令不提供 `--verbose` 旗標。117 此命令無法使用 `--verbose` 旗標。

117 </Tab>118 </Tab>

118 119 

119 <Tab title="VS Code">120 <Tab title="VS Code">

120 在 [Claude Code VS Code 擴充功能](/docs/zh-TW/vs-code)中,在提示框中輸入 `/remote-control` 或 `/rc`。121 在 [Claude Code VS Code 擴充功能](/docs/zh-TW/vs-code)中,於提示詞輸入框中輸入 `/remote-control` 或 `/rc`。

121 122 

122 ```text theme={null}123 ```text theme={null}

123 /remote-control124 /remote-control

124 ```125 ```

125 126 

126 當 Remote Control 開啟時,Claude Code 在提示框頁尾顯示 **Remote Control** 指示器。會話連接後,點擊指示器直接進入會話,或在 [claude.ai/code](https://claude.ai/code) 的會話清單中找到它。Claude Code 也會在對話中發佈會話 URL。要斷開連接,再次執行 `/remote-control`。127 當 Remote Control 開啟時,Claude Code 會在提示詞輸入框的頁尾顯示 **Remote Control** 指示器。工作階段連線後,按一下指示器即可直接前往該工作階段,或在 [claude.ai/code](https://claude.ai/code) 的工作階段清單中找到它。Claude Code 也會在對話中張貼工作階段 URL。若要中斷連線,請再次執行 `/remote-control`。

127 128 

128 與 CLI 不同,VS Code 命令不接受名稱引數或顯示 QR 碼。會話標題是從您的對話歷史記錄或第一個提示衍生的。129 與 CLI 不同,VS Code 命令不接受名稱引數,也不會顯示 QR 碼。工作階段標題會根據您的對話歷程或第一個提示詞產生。

129 </Tab>130 </Tab>

130 131 

131 <Tab title="Desktop 應用程式">132 <Tab title="Desktop 應用程式">

132 在 [Claude Desktop 應用程式](/docs/zh-TW/desktop)的 Code 標籤中的本地會話中,在提示框中輸入 `/remote-control` 或 `/rc`。133 在 [Claude Desktop 應用程式](/docs/zh-TW/desktop) Code 分頁的本機工作階段中,於提示詞輸入框中輸入 `/remote-control` 或 `/rc`。

133 134 

134 ```text theme={null}135 ```text theme={null}

135 /remote-control136 /remote-control

136 ```137 ```

137 138 

138 會話連接後,在 [claude.ai/code](https://claude.ai/code) 的會話清單中找到它。要斷開連接,再次執行 `/remote-control`。139 工作階段連線後,即可在 [claude.ai/code](https://claude.ai/code) 的工作階段清單中找到它。若要中斷連線,請再次執行 `/remote-control`。

139 140 

140 要改為預設為每個會話開啟 Remote Control,請參閱[為所有會話啟用 Remote Control](#enable-remote-control-for-all-sessions)。141 若要改為預設為每個工作階段開啟 Remote Control,請參閱[為所有工作階段啟用 Remote Control](#enable-remote-control-for-all-sessions)。

141 </Tab>142 </Tab>

142</Tabs>143</Tabs>

143 144 

144<h3 id="check-connection-status">145<h3 id="check-connection-status">

145 檢查連接狀態146 檢查連線狀態

146</h3>147</h3>

147 148 

148在互動式會話中,當 Remote Control 連接時,終端機會顯示 `/rc active` 指示器,該指示器連結到 claude.ai 上的會話。當終端機太窄無法容納時,指示器會隱藏。要查看會話 URL 和 QR 碼以從[另一個裝置連接](#connect-from-another-device),請再次執行 `/remote-control` 以開啟狀態面板。該面板也可讓您斷開 Remote Control 連接,同時您的本地會話會繼續在終端機中執行。149在互動式工作階段中,當 Remote Control 已連線時,終端機會顯示 `/rc active` 指示器,並連結至 claude.ai 上的工作階段。當終端機寬度不足以容納時,指示器會隱藏。若要查看工作階段 URL 以及用於[從其他裝置連線](#connect-from-another-device)的 QR 碼,請再次執行 `/remote-control` 以開啟狀態面板。此面板也可讓您在本機工作階段持續執行的同時中斷 Remote Control 連線。

149 150 

150<span id="session-ended-elsewhere" />如果連接在互動式會話中失敗,指示器會變更以顯示失敗,Claude Code 會在通知中顯示原因並將其新增到對話中。執行 `/remote-control` 以重新連接,除非原因說會話在其他地方被接管或結束:151<span id="session-ended-elsewhere" />若互動式工作階段中的連線失敗,指示器會變更以顯示失敗,Claude Code 會在通知中顯示原因並將其加入對話中。請執行 `/remote-control` 重新連線,除非原因表示工作階段已在其他地方發生變更:

151 152 

152* **另一個連接接管了此會話**:另一個裝置或 Claude Code 會話現在擁有它。只有在您想從該裝置奪回它時才執行 `/remote-control`。153* **Another connection took over this session**:另一個裝置或 Claude Code 工作階段目前擁有此工作階段。只有在您想要取回時,才執行 `/remote-control`。

153* **此會話從另一個裝置或應用程式被結束或封存**:只有在您想要它回來時才執行 `/remote-control`;Claude Code 會重新開啟已封存的會話。154* **This session was ended or archived from another device or app**:只有在您想要取回工作階段時,才執行 `/remote-control`。Claude Code 會重新開啟已封存的工作階段。

154* **伺服器不再報告此會話**:它可能已從另一個裝置或應用程式中刪除。155* **The server no longer reports this session**:此工作階段可能已從其他裝置或應用程式中刪除。

155 156 

156<h3 id="connect-from-another-device">157<h3 id="connect-from-another-device">

157 從另一個裝置連接158 從其他裝置連線

158</h3>159</h3>

159 160 

160一旦 Remote Control 會話處於活動狀態,您有幾種方式從另一個裝置連接:161Remote Control 工作階段啟用後,您可以透過幾種方式從其他裝置連線:

161 162 

162* **開啟會話 URL** 在任何瀏覽器中直接進入 [claude.ai/code](https://claude.ai/code) 上的會話。163* 在任何瀏覽器中**開啟工作階段 URL**,即可直接前往 [claude.ai/code](https://claude.ai/code) 上的工作階段。

163* **掃描 QR 碼** 顯示在會話 URL 旁邊,直接在 Claude 應用程式中開啟它。使用 `claude remote-control` 時,按空格鍵切換 QR 碼顯示。164* **掃描**工作階段 URL 旁顯示的 **QR 碼**,即可直接在 Claude 應用程式中開啟。使用 `claude remote-control` 時,按空白鍵可切換 QR 碼的顯示。

164* **開啟 [claude.ai/code](https://claude.ai/code) 或 Claude 應用程式**,並在會話清單中按名稱找到會話。在 Claude 行動應用程式中,點擊導航中的**程式碼**以到達會話清單。Remote Control 會話在線上時顯示帶有綠色狀態點的電腦圖示。165* **開啟 [claude.ai/code](https://claude.ai/code) 或 Claude 應用程式**,並在工作階段清單中依名稱找到該工作階段。在 Claude 行動應用程式中,點選導覽列中的 **Code** 即可前往工作階段清單。Remote Control 工作階段在線上時會顯示帶有綠色狀態點的電腦圖示。

165 166 

166當您連接時,該裝置會顯示會話已在背景執行的任何子代理和工作流程。從該裝置停止其中一個,Claude Code 會停止您機器上的該任務。167連線時,裝置會顯示該工作階段已在背景執行的任何 subagent 和工作流程。從裝置停止其中一個,Claude Code 就會在您的機器上停止該工作。

167 168 

168遠端會話標題按以下順序選擇:169遠端工作階段標題會依下列順序選定:

169 170 

1701. 您傳遞給 `--name`、`--remote-control` 或 `/remote-control` 的名稱1711. 您傳給 `--name`、`--remote-control` 或 `/remote-control` 的名稱

1712. 您使用 `/rename` 設定的標題1722. 您以 `/rename` 設定的標題

1723. 現有對話歷史記錄中最後一條有意義的訊息1733. 現有對話歷程中最後一則有意義的訊息

1734. 類似 `myhost-graceful-unicorn` 的自動生成名稱,其中 `myhost` 是您機器的主機名稱或您使用 `--remote-control-session-name-prefix` 設定的前綴1744. 自動產生的名稱,例如 `myhost-graceful-unicorn`,其中 `myhost` 為您機器的主機名稱,或您以 `--remote-control-session-name-prefix` 設定的前綴

174 175 

175如果您沒有設定明確名稱,Claude Code 會在您發送提示後更新標題以反映您的提示。當您從 claude.ai 或 Claude 應用程式重新命名會話時,Claude Code 也會更新在 `claude --resume` 中顯示的本地標題。176若您未設定明確的名稱,Claude Code 會在您送出提示詞後更新標題以反映該提示詞。當您從 claude.ai 或 Claude 應用程式重新命名工作階段時,Claude Code 也會更新 `claude --resume` 中顯示的本機標題。

176 177 

177如果您還沒有 Claude 應用程式,請在 Claude Code 內使用 `/mobile` 命令顯示 [claude.ai/mobile](https://claude.ai/mobile) 的 QR 碼,該碼會開啟適合您手機的應用程式商店。178若您尚未安裝 Claude 應用程式,請在 Claude Code 中執行 `/mobile` 以顯示 [claude.ai/mobile](https://claude.ai/mobile) 的 QR 碼,它會為您的手機開啟對應的應用程式商店。

178 179 

179<h3 id="what-connected-devices-see">180<h3 id="what-connected-devices-see">

180 連接的裝置看到什麼181 已連線裝置所見的內容

181</h3>182</h3>

182 183 

183連接的裝置會在您的終端機中看到對話發生的情況。這些情況超越了普通訊息:184已連線的裝置會即時顯示終端機中的對話。下列情況超出一般訊息的範圍:

184 185 

185* **壓縮和 `/clear`**:當 Claude Code [壓縮對話](/docs/zh-TW/context-window#what-survives-compaction)時,連接的裝置會顯示進度,然後顯示對話被壓縮的位置。當您執行 `/clear` 時,對話也會在連接的裝置上重設。186* **壓縮與 `/clear`**:當 Claude Code [壓縮對話](/docs/zh-TW/context-window#what-survives-compaction)時,已連線的裝置會顯示進度,接著顯示對話被壓縮的位置。當您執行 `/clear` 時,已連線裝置上的對話也會重設。

186* **使用 `/resume` 切換對話**:連接的裝置不會接收切換到的對話的標題或較早的歷史記錄,但雙向的新訊息會進出您的終端機中開啟的任何對話。要再次從裝置處理原始對話,請在您的終端機中執行 `/resume` 並切換回它。187* **使用 `/resume` 切換對話**:已連線的裝置不會收到切換後對話的標題或先前歷程,但雙向的新訊息都會傳送至終端機中目前開啟的對話,或從該對話傳出。若要再次從裝置處理原本的對話,請在終端機中執行 `/resume` 並切換回該對話。

187* **使用 `/teleport` 拉取會話**:當您使用 `/teleport` 將[雲端會話](/docs/zh-TW/claude-code-on-the-web#from-cloud-to-terminal)拉入您的終端機時,連接的裝置不會接收拉取的對話的較早歷史記錄。雙向的新訊息會進出拉取的對話,該對話現在是您的終端機中開啟的對話。188* **使用 `/teleport` 拉取工作階段**:當您使用 `/teleport` 將[雲端工作階段](/docs/zh-TW/claude-code-on-the-web#from-cloud-to-terminal)拉取至終端機時,已連線的裝置不會收到所拉取對話的先前歷程。雙向的新訊息會傳送至所拉取的對話或從該對話傳出,該對話現在即為終端機中開啟的對話。

188* **來自您其他會話的訊息**:使用[跨會話訊息](/docs/zh-TW/cross-session-messaging),相同的連接會在不同機器上的您自己的會話之間以及來自您的[雲端會話](/docs/zh-TW/claude-code-on-the-web)的訊息進行傳遞。189* **來自您其他工作階段的訊息**:透過[跨工作階段傳訊](/docs/zh-TW/cross-session-messaging),同一個連線會傳遞您在不同機器上各工作階段之間的訊息,以及來自您[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)的訊息。

189* **您的變更的差異**:當會話的目錄在 git 儲存庫中時,連接的裝置的差異窗格會顯示您的變更。在有提交領先儲存庫預設分支的分支上,窗格會顯示自分支從它分歧以來的變更,包括您未提交的編輯。在預設分支本身上,或在沒有領先它的分支上,窗格只會顯示您未提交的變更。190* **變更的差異**:當工作階段的目錄位於 git 儲存庫中時,已連線裝置的差異窗格會顯示您的變更。在具有領先儲存庫預設分支之提交的分支上,窗格會顯示自該分支從預設分支分出以來的變更,包括您尚未提交的編輯。在預設分支本身,或在未領先預設分支的分支上,窗格只會顯示您尚未提交的變更。

190* **模型**:當您從連接的裝置選擇[模型](/docs/zh-TW/model-config)時,Claude Code 會在該模型上執行會話。需要 Claude Code v2.1.238 或更新版本。您從裝置的模型控制中選擇的模型只適用於目前會話。當您從裝置向互動式會話發送 `/model <name>` 時,Claude Code 也會為新會話設定您的預設值。191* **模型**:當您從已連線的裝置選擇[模型](/docs/zh-TW/model-config)時,Claude Code 會以該模型執行工作階段。需要 Claude Code v2.1.238 或更新版本。您從裝置的模型控制項選擇的模型僅適用於目前的工作階段。當您從裝置向互動式工作階段傳送 `/model <name>` 時,Claude Code 也會設定新工作階段的預設值。

191* **努力等級**:當您從連接的裝置使用 `/effort` 或裝置的努力控制設定[努力等級](/docs/zh-TW/model-config#adjust-effort-level)時,Claude Code 會將其應用於您機器上的會話。如果您使用 `CLAUDE_CODE_EFFORT_LEVEL` 固定了一個等級,會話會保留該等級,Claude Code 會拒絕來自努力控制的不同選擇。從努力控制中選擇等級需要您機器上的 Claude Code v2.1.234 或更新版本。192* **Effort 等級**:當您從已連線的裝置以 `/effort` 或裝置的 effort 控制項設定 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)時,Claude Code 會將其套用至您機器上的工作階段。若您已使用 `CLAUDE_CODE_EFFORT_LEVEL` 固定等級,工作階段會維持該等級,且 Claude Code 會拒絕從 effort 控制項選擇的不同等級。從 effort 控制項選擇等級需要您的機器上安裝 Claude Code v2.1.234 或更新版本。

192* **連接失敗後重新連接**:執行 `/remote-control` 以重新連接。如果壓縮重寫了對話或您在此期間使用 `/resume` 切換了對話,Claude Code 會封存它正在使用的伺服器會話,而不是將其留在會話清單中。您仍然可以通過[篩選已封存的會話](/docs/zh-TW/claude-code-on-the-web#archive-sessions)找到它。在裝置仍然連接時切換對話不會封存會話。193* **連線失敗後重新連線**:執行 `/remote-control` 即可重新連線。若在此期間壓縮改寫了對話,或您使用 `/resume` 切換了對話,Claude Code 會封存其先前使用的伺服器工作階段,而不會將其留在工作階段清單中。您仍可透過[篩選已封存的工作階段](/docs/zh-TW/claude-code-on-the-web#archive-sessions)找到它。在裝置仍連線時切換對話不會封存工作階段。

193 194 

194<h3 id="enable-remote-control-for-all-sessions">195<h3 id="enable-remote-control-for-all-sessions">

195 為所有會話啟用 Remote Control196 為所有工作階段啟用 Remote Control

196</h3>197</h3>

197 198 

198Remote Control 只在您明確執行 `claude remote-control`、`claude --remote-control` 或 `/remote-control` 時啟動,除非自動連接已開啟。要為每個互動式會話開啟自動連接,請在 Claude Code 內執行 `/config` 並設定**為所有會話啟用 Remote Control**。切換有三個值:199除非開啟自動連線,否則 Remote Control 只會在您明確執行 `claude remote-control`、`claude --remote-control` 或 `/remote-control` 時啟用。若要為每個互動式工作階段開啟自動連線,請在 Claude Code 中執行 `/config` 並設定 **Enable Remote Control for all sessions**。此切換開關有三個值:

199 200 

200* **`true`**:當互動式會話啟動時自動連接。201* **`true`**:互動式工作階段啟動時自動連線。

201* **`false`**:關閉自動連接,儘管來自[受管設定](/docs/zh-TW/managed-settings)的 `true` 會優先,因為 Claude Code 會將選擇儲存到您的使用者設定。專案或本地設定(`.claude/settings.json`、`.claude/settings.local.json`)中的 `false` 會關閉自動連接,即使是受管 `true` 也是如此。202* **`false`**:關閉自動連線,但來自[受管設定](/docs/zh-TW/managed-settings)的 `true` 會優先於此值,因為 Claude Code 會將此選擇儲存至您的使用者設定。專案或本機設定(`.claude/settings.json`、`.claude/settings.local.json`)中的 `false` 即使在受管設定為 `true` 的情況下,仍會關閉自動連線。

202* **`default`**:清除您的選擇並遵循您組織的管理員預設值(如果已設定),否則遵循 Claude Code 的目前預設值。203* **`default`**:清除您的選擇,若您的組織已設定管理員預設值則遵循該值,否則遵循 Claude Code 目前的預設值。

203 204 

204VS Code 擴充功能和 Desktop 應用程式也有自動連接切換:205VS Code 擴充功能與 Desktop 應用程式也有自動連線切換開關:

205 206 

206* **VS Code 擴充功能**:[命令選單](/docs/zh-TW/vs-code#use-the-prompt-box)的設定部分中的**為所有會話啟用 Remote Control**。207* **VS Code 擴充功能**:[命令選單](/docs/zh-TW/vs-code#use-the-prompt-box) Settings 區段中的 **Enable Remote Control for all sessions**。

207* **Desktop 應用程式**:**設定 > Claude Code > 將新工作階段連接到 Remote Control**。請參閱[控制哪些工作階段出現在您的其他裝置上](/docs/zh-TW/desktop#control-which-sessions-appear-on-your-other-devices)。208* **Desktop 應用程式**:**Settings > Claude Code > Connect new sessions to Remote Control**。請參閱[控制哪些工作階段會出現在您的其他裝置上](/docs/zh-TW/desktop#control-which-sessions-appear-on-your-other-devices)。

208 209 

209要改為從設定檔案開啟自動連接,請在您的使用者 `~/.claude/settings.json` 或[受管設定](/docs/zh-TW/managed-settings)中將 [`remoteControlAtStartup`](/docs/zh-TW/settings-reference#remotecontrolatstartup) 設定為 `true`。在專案或本地設定(`.claude/settings.json`、`.claude/settings.local.json`)中,Claude Code 會遵守 `false` 並為該儲存庫關閉自動連接,但會忽略 `true`,因此已簽入的檔案無法為打開儲存庫的每個人開啟 Remote Control。210若要改從設定檔開啟自動連線,請在您的使用者 `~/.claude/settings.json` 或[受管設定](/docs/zh-TW/managed-settings)中將 [`remoteControlAtStartup`](/docs/zh-TW/settings-reference#remotecontrolatstartup) 設為 `true`。在專案或本機設定(`.claude/settings.json`、`.claude/settings.local.json`)中,Claude Code 會採用 `false` 並為該儲存庫關閉自動連線,但會忽略 `true`,因此簽入的檔案無法為每位開啟該儲存庫的人開啟 Remote Control。

210 211 

211自動連接使用您自己的 claude.ai 帳戶登入,因此它啟動的會話只會出現在您自己帳戶的 Claude 應用程式中,並且不會授予任何人其他存取權限。212自動連線會以您自己的 claude.ai 帳戶登入,因此它所啟動的工作階段只會出現在您自己帳戶的 Claude 應用程式中,不會授予其他任何人存取權。

212 213 

213啟用此設定後,每個互動式 Claude Code 程序會註冊一個遠端會話。如果您執行多個實例,每個實例都會獲得自己的遠端會話。要從單個程序執行多個並行會話,請改用[伺服器模式](#start-a-remote-control-session)。214開啟此設定後,每個互動式 Claude Code 程序都會註冊一個遠端工作階段。若您執行多個執行個體,每個執行個體都會取得自己的遠端工作階段。若要從單一程序執行多個同時進行的工作階段,請改用[伺服器模式](#start-a-remote-control-session)。

214 215 

215<h3 id="resume-sessions-after-stopping-the-server">216<h3 id="resume-sessions-after-stopping-the-server">

216 停止伺服器後恢復會話217 停止伺服器後恢復工作階段

217</h3>218</h3>

218 219 

219當您使用 Ctrl+C 停止 `claude remote-control` 時,它正在提供的會話會停止從您的手機或瀏覽器回應。只要您沒有在同一目錄中執行另一個 `claude remote-control` 並且沒有使用 `--no-create-session-in-dir` 啟動此會話,Claude Code 就不會封存它們。要將它們恢復,請在同一目錄中執行以下命令之一:220當您以 Ctrl+C 停止 `claude remote-control` 時,它所服務的工作階段將不再回應來自手機或瀏覽器的操作。只要您未在同一目錄中執行另一個 `claude remote-control`,且未以 `--no-create-session-in-dir` 啟動此伺服器,Claude Code 就不會封存這些工作階段。若要恢復它們,請在同一目錄中執行下列其中一個命令:

220 221 

221* **`claude remote-control`**:恢復伺服器正在提供的每個會話。222* **`claude remote-control`**:恢復伺服器所服務的每個工作階段。

222* **`claude remote-control --continue`**:恢復伺服器啟動的會話,並在該會話結束時退出。如果此目錄沒有記錄,Claude Code 會使用此儲存庫其他 git worktrees 中最新的記錄。223* **`claude remote-control --continue`**:僅恢復伺服器啟動時建立的工作階段,並在該工作階段結束時結束。若此目錄沒有記錄,Claude Code 會使用此儲存庫其他 git worktree 中最新的記錄。

223* **`claude remote-control --session-id <id>`**:恢復您傳遞的 ID 的會話,並在該會話結束時退出。ID 是會話在 claude.ai/code 的 URL 中 `/code/` 和任何 `?` 之間的部分。224* **`claude remote-control --session-id <id>`**:僅恢復您傳入 ID 的工作階段,並在該工作階段結束時結束。ID 是 claude.ai/code 上工作階段 URL 中位於 `/code/` 與任何 `?` 之間的部分。

224 225 

225這些命令在伺服器停止後約四小時內有效。之後,執行 `claude remote-control` 以啟動新會話。如果您在此期間封存了會話,`--continue` 和 `--session-id` 會在 Claude Code v2.1.228 或更新版本上取消封存它。226這些命令在伺服器停止後約四小時內有效。之後,請執行 `claude remote-control` 以啟動新的工作階段。若您在此期間封存了工作階段,在 Claude Code v2.1.228 或更新版本上,`--continue` 和 `--session-id` 會將其取消封存。

226 227 

227要恢復您使用 `claude --remote-control` 或 `/remote-control` 啟動的工作階段,請使用 `claude --continue` 或 `claude --resume` 恢復對話。關於恢復的對話以哪種權限模式開始,請參閱[恢復時的權限模式](/docs/zh-TW/sessions#permission-mode-on-resume)。如果 Remote Control 無法重新連接,請參閱[無法重新連接到您的 Remote Control 工作階段](#couldnt-reconnect-to-your-remote-control-session)。228若要恢復以 `claude --remote-control` 或 `/remote-control` 啟動的工作階段,請以 `claude --continue` 或 `claude --resume` 恢復對話。關於恢復的對話所使用的起始權限模式,請參閱[恢復時的權限模式](/docs/zh-TW/sessions#permission-mode-on-resume)。若 Remote Control 未重新連線,請參閱 [Couldn't reconnect to your Remote Control session](#couldnt-reconnect-to-your-remote-control-session)。

228 229 

229如果您在第一個終端機仍然開啟 Remote Control 時在第二個終端機中恢復對話,Claude Code 會在第二個終端機中列印 `Remote Control not started here` 通知並改為在那裡關閉 Remote Control,而不是從第一個終端機奪取會話。在第二個終端機中執行 `/remote-control` 以將 Remote Control 移動到它。230若您在第二個終端機中恢復對話,而第一個終端機仍開啟著 Remote Control,Claude Code 會在第二個終端機中列印 `Remote Control not started here` 通知,並在該處保持 Remote Control 關閉,而不會從第一個終端機奪走該工作階段。在第二個終端機中執行 `/remote-control` 即可將 Remote Control 移至該終端機。

230 231 

231當您在啟用了 Remote Control 的 Claude Desktop 或 IDE 擴充功能中恢復對話時,Claude Code 會將其重新附加到現有的 claude.ai 會話,而不是向會話清單新增新會話。232當您在 Claude Desktop 或 IDE 擴充功能中恢復一個曾開啟 Remote Control 的對話時,Claude Code 會將其重新連結至現有的 claude.ai 工作階段,而不會在工作階段清單中新增一個工作階段。

232 233 

233<h2 id="connection-and-security">234<h2 id="connection-and-security">

234 連接和安全性235 連接和安全性

routines.md +1 −1

Details

400 400 

401**Default** 環境使用 **Trusted** 網路存取,它只允許 [預設允許清單](/docs/zh-TW/cloud-environments#default-allowed-domains) 通過會話的網路。對該路徑上允許清單外的主機的請求失敗,返回 `403` 和 `x-deny-reason: host_not_allowed`。MCP connector 流量通過 Anthropic 的伺服器路由,而不是該路徑,因此您新增到例行程序的 connectors 無需將其主機新增到 **Allowed domains** 即可工作。移除您不需要的任何 connectors,詳見 [Connectors](#connectors)。401**Default** 環境使用 **Trusted** 網路存取,它只允許 [預設允許清單](/docs/zh-TW/cloud-environments#default-allowed-domains) 通過會話的網路。對該路徑上允許清單外的主機的請求失敗,返回 `403` 和 `x-deny-reason: host_not_allowed`。MCP connector 流量通過 Anthropic 的伺服器路由,而不是該路徑,因此您新增到例行程序的 connectors 無需將其主機新增到 **Allowed domains** 即可工作。移除您不需要的任何 connectors,詳見 [Connectors](#connectors)。

402 402 

403要允許其他網域上的一個您自己的環境,請遵循這些步驟。[organization-shared environment](/docs/zh-TW/cloud-environments#organization-shared-environments) 在此處打開為唯讀,因此所有者從 [admin settings](https://claude.ai/admin-settings) 中的 **Cloud environments** 頁面變更其網路存取。403要在您自己的某個環境上允許其他網域,請遵循這些步驟。[組織共用環境](/docs/zh-TW/cloud-environments#organization-shared-environments) 在此處以唯讀方式開啟,因此改由擁有者從 [管理設定](https://claude.ai/admin-settings) 中的 **Cloud environments** 頁面變更其網路存取。

404 404 

405<Steps>405<Steps>

406 <Step title="打開例行程序進行編輯">406 <Step title="打開例行程序進行編輯">

skills.md +8 −2

Details

720 720 

721您也可以在一條訊息的開始堆疊多個 skills。鍵入 `/write-tests /fix-issue 123` 加載兩個 skills 並將尾隨文本 `123` 作為 `$ARGUMENTS` 傳遞給每個。721您也可以在一條訊息的開始堆疊多個 skills。鍵入 `/write-tests /fix-issue 123` 加載兩個 skills 並將尾隨文本 `123` 作為 `$ARGUMENTS` 傳遞給每個。

722 722 

723Claude Code 擴展第一個 skill 加上最多五個堆疊在它之後的。擴展在第一個不是內聯使用者可調用 skill 的令牌處停止,因此作為[分叉子代理](#run-skills-in-a-subagent)運行的 skill(例如[`/code-review`](/docs/zh-TW/code-review#review-a-diff-locally))或其引數本身可能以斜杠命令開始的 skill(例如 `/loop`)也在那裡結束運行。該令牌和它之後的所有內容成為每個擴展 skill 的引數文本。從 v2.1.218 開始,`/code-review` 作為分叉子代理運行;在較早的版本上,它內聯運行並堆疊。723Claude Code 擴展第一個 skill 加上最多五個堆疊在它之後的。擴展在第一個不是內聯使用者可調用 skill 的 token 處停止,因此作為[分叉 subagent](#run-skills-in-a-subagent)運行的 skill(例如[`/code-review`](/docs/zh-TW/code-review-local))或其引數本身可能以斜線命令開始的 skill(例如 `/loop`)也在那裡結束運行。該 token 和它之後的所有內容成為每個擴展 skill 的引數文本。從 v2.1.218 開始,`/code-review` 作為分叉 subagent 運行;在較早的版本上,它內聯運行並堆疊。

724 724 

725要按位置訪問個別引數,使用 `$ARGUMENTS[N]` 或較短的 `$N`:725要按位置訪問個別引數,使用 `$ARGUMENTS[N]` 或較短的 `$N`:

726 726 


832 832 

833使用預設 `bash` shell,將 `|| true` 附加到任何您預期會以非零結束的其他命令。一個在發現問題時結束代碼為 1 的檢查指令碼就是一個例子。833使用預設 `bash` shell,將 `|| true` 附加到任何您預期會以非零結束的其他命令。一個在發現問題時結束代碼為 1 的檢查指令碼就是一個例子。

834 834 

835<h4 id="control-characters-in-injected-commands">

836 注入命令中的控制字元

837</h4>

838 

839`No shell command in <name> was run` 表示該檔案的某個 `!` 命令包含 tab 或換行以外的原始控制字元,因此其中任何命令都不會執行。請參閱[如何找出並移除該字元](/docs/zh-TW/errors#no-shell-command-was-run)。

840 

835<h4 id="permission-checks-on-injected-commands">841<h4 id="permission-checks-on-injected-commands">

836 注入命令的權限檢查842 注入命令的權限檢查

837</h4>843</h4>


865 871 

866背景分叉也會使用[適用於背景子代理的較窄工具集](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)執行:技能的子代理是常規代理類型,所以分叉對話的子代理豁免不涵蓋它。如果您的技能步驟取決於該集合外的工具,請設定 `background: false` 以保持完整工具集。872背景分叉也會使用[適用於背景子代理的較窄工具集](/docs/zh-TW/sub-agents#run-subagents-in-foreground-or-background)執行:技能的子代理是常規代理類型,所以分叉對話的子代理豁免不涵蓋它。如果您的技能步驟取決於該集合外的工具,請設定 `background: false` 以保持完整工具集。

867 873 

868在背景中執行的分叉技能會在您工作階段的[檢查點](/docs/zh-TW/checkpointing)之外應用其編輯,所以 `/rewind` 不會撤銷它們;使用 git 來還原它們。874在背景中執行的分叉 skill 會在您工作階段的[檢查點](/docs/zh-TW/checkpointing#subagent-edits-not-restored)之外套用其編輯。在這樣的 skill 執行之後,`/rewind` 只會還原 Claude 已在您對話中編輯過的檔案。該 skill 對其他檔案的編輯會保留,因此請使用 git 來還原它們。

869 875 

870<Warning>876<Warning>

871 `context: fork` 只對具有明確指示的技能有意義。如果您的技能包含「使用這些 API 慣例」之類的指南而沒有工作,子代理會收到指南但沒有可操作的提示,並返回而沒有有意義的輸出。877 `context: fork` 只對具有明確指示的技能有意義。如果您的技能包含「使用這些 API 慣例」之類的指南而沒有工作,子代理會收到指南但沒有可操作的提示,並返回而沒有有意義的輸出。

ultrareview.md +1 −1

Details

18* **更廣泛的覆蓋範圍**:許多審查代理程式並行探索變更,這會發現本地審查可能遺漏的問題18* **更廣泛的覆蓋範圍**:許多審查代理程式並行探索變更,這會發現本地審查可能遺漏的問題

19* **無本地資源使用**:審查完全在雲端沙箱中執行,因此您的終端在執行期間保持空閒,可用於其他工作19* **無本地資源使用**:審查完全在雲端沙箱中執行,因此您的終端在執行期間保持空閒,可用於其他工作

20 20 

21Ultrareview 需要使用 claude.ai 帳戶進行身分驗證,因為它在 Anthropic 的基礎設施上作為雲端工作階段執行。如果您僅使用 API 金鑰登入,請先執行 `/login` 並使用 claude.ai 進行身分驗證。使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的 Claude Code 時,Ultrareview 不可用,對於已啟用零資料保留或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織也不可用。當 ultrareview 不可用時,`/code-review ultra` 會改為在您的工作階段中執行本地審查。21Ultrareview 需要使用 claude.ai 帳戶進行身分驗證,因為它在 Anthropic 的基礎設施上作為雲端工作階段執行。如果您僅使用 API 金鑰登入,請先執行 `/login` 並使用 claude.ai 進行身分驗證。使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 的 Claude Code 時,Ultrareview 不可用,對於已啟用零資料保留或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織也不可用。在這些情況下,`/code-review ultra` 會改為在您的工作階段中執行本地審查。使用[客戶管理的加密金鑰](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)的組織無法執行 ultrareview。若要在本地審查您的變更,請執行 `/code-review`。

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 從 CLI 執行 ultrareview24 從 CLI 執行 ultrareview

vs-code.md +76 −2

Details

220* 如果在您貼上時出現通知(例如 `Removed 3 invisible characters from the pasted text`),文字會進入而不會有這些字元。220* 如果在您貼上時出現通知(例如 `Removed 3 invisible characters from the pasted text`),文字會進入而不會有這些字元。

221* 如果在您傳送時出現有關移除字元的通知,則沒有傳送任何內容。清理的文字回到提示框中。再次傳送以傳送如所示的文字。221* 如果在您傳送時出現有關移除字元的通知,則沒有傳送任何內容。清理的文字回到提示框中。再次傳送以傳送如所示的文字。

222 222 

223<h3 id="latex-math-in-responses">

224 回應中的 LaTeX 數學

225</h3>

226 

227聊天面板會將 Claude 回應中的 LaTeX 數學顯示為排版後的公式。數學渲染需要 Claude Code v2.1.301 或更新版本。在[終端機模式](#switch-to-terminal-mode)中,數學不會排版。面板會同時排版獨立顯示的數學和行內數學:

228 

229* **獨立顯示的數學**:單獨佔一行或多行的 `$$ … $$` 或 `\[ … \]` 區塊,以及語言為 `math` 的圍欄程式碼區塊

230* **行內數學**:在同一行上開始和結束的 `$…$` 或 `\(…\)`,例如 `$E = mc^2$` 或 `\(a^2 + b^2 = c^2\)`

231 

232面板會嘗試區分數學與相同字元的其他用途,因此 `$HOME`、像 `$5` 這樣的價格或 `sed 's/\(foo\)/\1/'` 等文字不會排版。程式碼片段內的文字,或 `math` 圍欄區塊以外任何程式碼區塊內的文字也不會排版。如果您預期排版的公式仍按原樣顯示,請參閱[公式顯示為原始 LaTeX](#a-formula-shows-as-raw-latex)。

233 

234當您選擇並複製包含排版公式的文字時,您會得到以 `$…$` 或 `$$…$$` 分隔符號包住的公式 TeX 原始碼,而不是繪製出的符號。[**Copy response**](#use-the-prompt-box) 和 `/copy` 會提供 Claude 所寫的回應原文,包括 TeX 原始碼。

235 

223<h3 id="resume-past-conversations">236<h3 id="resume-past-conversations">

224 恢復過去的對話237 恢復過去的對話

225</h3>238</h3>

226 239 

227點擊 Claude Code 面板頂部的 **Session history** 按鈕以存取您的對話歷史記錄。您可以按關鍵字搜尋或按時間瀏覽。240點擊 Claude Code 面板頂部的 **Session history** 按鈕以存取您的對話歷史記錄。您可以按關鍵字搜尋或按時間瀏覽。

228 241 

229點擊任何對話以使用完整的訊息歷史記錄恢復它。如果對話已在目前視窗的另一個標籤中開啟,點擊它會切換到該標籤。如需有關恢復工作階段的更多資訊,請參閱[管理工作階段](/docs/zh-TW/sessions)。242點擊任何對話以使用完整的訊息歷史記錄恢復它。如果對話已在目前視窗的另一個標籤中開啟,點擊它會切換到該標籤。如果訊息一開始保持空白,請參閱[它們為何空白以及何時出現](#a-resumed-conversation-is-blank-at-first)。如需有關恢復工作階段的更多資訊,請參閱[管理工作階段](/docs/zh-TW/sessions)。

230 243 

231* **Session titles**:新工作階段會根據您的第一條訊息接收 AI 生成的標題。244* **Session titles**:新工作階段會根據您的第一條訊息接收 AI 生成的標題。

232* **Rename and archive**:將滑鼠懸停在工作階段上以顯示這些操作。重新命名以給它一個描述性標題,或存檔以將其移動到清單底部的 **Archived sessions** 群組。245* **Rename and archive**:將滑鼠懸停在工作階段上以顯示這些操作。重新命名以給它一個描述性標題,或存檔以將其移動到清單底部的 **Archived sessions** 群組。


321* **編輯器標籤**:對話會與其標籤一起回到。334* **編輯器標籤**:對話會與其標籤一起回到。

322* **側邊欄**:如果您在過去 10 分鐘內傳送了訊息或 Claude 在其中回應,對話會回到。如果它沒有回到,請從 [工作階段歷史記錄](#resume-past-conversations) 繼續對話。335* **側邊欄**:如果您在過去 10 分鐘內傳送了訊息或 Claude 在其中回應,對話會回到。如果它沒有回到,請從 [工作階段歷史記錄](#resume-past-conversations) 繼續對話。

323 336 

324如果另一個 Claude Code 程序仍開啟著該對話,系統會在對話於此處開啟前詢問您,並顯示與您[從工作階段歷史記錄繼續對話](#resume-past-conversations)時相同的 **Open here anyway** 通知。337如果另一個 Claude Code 程序仍開啟著該對話,系統會在對話於此處開啟前詢問您,並顯示與您[從工作階段歷史記錄繼續對話](#resume-past-conversations)時相同的 **Open here anyway** 通知。如果訊息一開始保持空白,請參閱[訊息為何空白以及何時會出現](#a-resumed-conversation-is-blank-at-first)。

325 338 

326如果重新載入在 Claude 執行步驟中途中斷,當對話回到時 Claude 會繼續該步驟,聊天中的通知會標記該繼續。需要 Claude Code v2.1.274 或更新版本。如果步驟在一小時前被中斷或工作階段在其他地方開啟,對話會改為回到閒置狀態。339如果重新載入在 Claude 執行步驟中途中斷,當對話回到時 Claude 會繼續該步驟,聊天中的通知會標記該繼續。需要 Claude Code v2.1.274 或更新版本。如果步驟在一小時前被中斷或工作階段在其他地方開啟,對話會改為回到閒置狀態。

327 340 

328若要關閉繼續功能,請開啟 [Continue After Reload 設定](vscode://settings/claudeCode.continueAfterReload) 並取消勾選。在 VS Code 的環境或 [`environmentVariables` 設定](#extension-settings)中設定 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/zh-TW/env-vars#variables) 或任何其他 `CLAUDE_CODE_RESUME_` 變數,在面板中不會有任何效果,因為擴充功能會在啟動面板的工作階段之前移除這些變數。341若要關閉繼續功能,請開啟 [Continue After Reload 設定](vscode://settings/claudeCode.continueAfterReload) 並取消勾選。在 VS Code 的環境或 [`environmentVariables` 設定](#extension-settings)中設定 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/zh-TW/env-vars#variables) 或任何其他 `CLAUDE_CODE_RESUME_` 變數,在面板中不會有任何效果,因為擴充功能會在啟動面板的工作階段之前移除這些變數。

329 342 

343<h4 id="a-conversation-was-not-reopened">

344 對話未重新開啟

345</h4>

346 

347重新載入後,如果新的聊天在其提示詞輸入框上方顯示類似以下的通知,表示面板讓您的對話保持關閉,因為該對話最近兩次開啟都未完成:

348 

349```text theme={null}

350“Fix the login bug” was not reopened. It did not finish opening the last 2 times, and opening it again may stop Claude Code from responding here.

351```

352 

353當面板在載入對話時當機或停止回應,或者您在對話開啟後約三秒內重新載入或關閉視窗時,開啟就不會完成。不會遺失任何內容:對話保持不變,並保留在[工作階段歷史記錄](#resume-past-conversations)中。

354 

355* **仍要開啟**:點擊 **Open it anyway**,或從工作階段歷史記錄中選擇該對話。如果對話開啟且面板持續正常運作,之後重新載入時它會照常回到。如果面板再次停止回應,請重新載入視窗,以回到顯示該通知的新聊天。

356* **保持關閉**:繼續在新聊天中工作。傳送提示詞後,通知就會消失。

357 

330<h3 id="run-multiple-conversations">358<h3 id="run-multiple-conversations">

331 執行多個對話359 執行多個對話

332</h3>360</h3>


464 492 

465如需深入瞭解 plugin 系統,請參閱 [Plugins](/docs/zh-TW/plugins/overview) 和 [Plugin marketplaces](/docs/zh-TW/plugins/overview)。493如需深入瞭解 plugin 系統,請參閱 [Plugins](/docs/zh-TW/plugins/overview) 和 [Plugin marketplaces](/docs/zh-TW/plugins/overview)。

466 494 

495<h3 id="plugins-that-draw-in-the-panel">

496 在面板中繪製的 plugins

497</h3>

498 

499包含 [mod](/docs/zh-TW/plugins/mods/overview) 的 plugin 可以在聊天面板中繪製。繪製需要擴充功能版本 2.1.299 或更新版本,以及會[擷取功能旗標](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)的工作階段。從這類 plugin 中,您可以看到:

500 

501* 位於對話旁邊或提示詞輸入框上方的窗格

502* 位於提示詞輸入框上方的快顯通知或狀態列

503* 以 plugin 自己的方式繪製的訊息或工具呼叫

504 

505當您安裝的 plugin 在面板中新增或變更某些內容時,會有標籤標示其名稱,措辭例如:

506 

507* **來自 token-chart plugin**:此內容由 plugin 繪製或輸出,或此卡片是 plugin 在向您詢問某些事情

508* **由 token-chart plugin 編輯**:plugin 變更了 Claude Code 繪製的某些內容,例如工具呼叫

509* **來自 token-chart plugin 的提示詞**:plugin 代表您傳送了此訊息

510 

511若要阻止 plugin 繪製,請在 [plugin 對話框](#install-plugins)中關閉該 plugin。

512 

467<h2 id="automate-browser-tasks-with-chrome">513<h2 id="automate-browser-tasks-with-chrome">

468 使用 Chrome 自動化瀏覽器任務514 使用 Chrome 自動化瀏覽器任務

469</h2>515</h2>


896 942 

897或者,將擴充功能重新綁定到不同的按鍵:開啟 VS Code [快捷鍵編輯器](https://code.visualstudio.com/docs/configure/keybindings)(`Cmd+K Cmd+S`),搜尋 `Claude Code: Focus input`,並指派新的綁定。943或者,將擴充功能重新綁定到不同的按鍵:開啟 VS Code [快捷鍵編輯器](https://code.visualstudio.com/docs/configure/keybindings)(`Cmd+K Cmd+S`),搜尋 `Claude Code: Focus input`,並指派新的綁定。

898 944 

945<h3 id="a-resumed-conversation-is-blank-at-first">

946 繼續的對話一開始是空白的

947</h3>

948 

949當您[繼續過去的對話](#resume-past-conversations),或某個對話[在重新載入後恢復](#continue-conversations-after-a-reload)時,在該對話的 Claude Code 程序啟動期間,其訊息可能會保持空白。大約一秒後,空白處會出現 `Waiting for your plugins…`。

950 

951您不需要執行任何操作。當程序啟動並確認沒有外掛需要先檢查這些訊息後,訊息就會出現;如果啟動時間較長,則會在 20 秒後出現。

952 

953<h3 id="the-panel-stops-responding-each-time-a-reload-reopens-a-conversation">

954 每次重新載入重新開啟對話時,面板都停止回應

955</h3>

956 

957如果每次重新載入且對話恢復時,整個面板都會當機、凍結,或只顯示 `Something went wrong`,請將擴充功能更新至 v2.1.301 或更新版本。然後再次重新載入視窗或重新啟動 VS Code。當對話連續兩次無法完成開啟後,您會在原處取得一個新的聊天,並附有通知說明[該對話未被重新開啟](#a-conversation-was-not-reopened)。

958 

959<h3 id="a-formula-shows-as-raw-latex">

960 公式顯示為原始 LaTeX

961</h3>

962 

963如果 Claude 回應中的數學式全都沒有被排版,請在擴充功能檢視中檢查擴充功能的版本,因為[數學式呈現](#latex-math-in-responses)需要 2.1.301 或更新版本。如果您使用[終端機模式](#switch-to-terminal-mode)(無論版本為何都不會排版數學式),請取消勾選 [Use Terminal 設定](vscode://settings/claudeCode.useTerminal),讓 Claude Code 改為在聊天面板中開啟。

964 

965如果某個公式按原樣顯示,而其附近的其他公式都已排版,請檢查是否為下列原因:

966 

967* **它被解讀為數學式以外的內容**:讀起來像單字的 `$…$` 文字會保持原樣,例如 `$O(n log n)$`。以數字開頭的 `$…$` 文字,例如 `$30$` 或 `$1/N$`,除非有 `=`、`+` 或 `^` 等字元將其標示為數學式,否則也會保持原樣。請改為要求 Claude 使用獨立成行的 `$$` 區塊,面板會直接排版而不進行此檢查。

968* **它含有內側空白、過長或跨行**:美元符號內側有空格的 `$ x^2 $`、內容超過 60 個字元的 `$…$`,以及跨越兩行的 `$…$` 或 `\(…\)` 都不會被排版。請改為要求 Claude 使用獨立成行的 `$$` 區塊,它沒有這些限制。

969* **該 TeX 無法排版**:含有語法錯誤的公式、`\newcommand` 或 `\def` 等巨集定義,或未跳脫的 `%` 都會按原樣顯示。請要求 Claude 修正錯誤後重寫、不使用巨集重寫,或以 `\%` 表示百分比符號。

970* **它太大**:長度超過 8,192 個字元的公式,或繪製結果遠大於其原始碼的公式,會按原樣顯示。請要求 Claude 將其拆分為較小的公式,或以更精簡的方式撰寫。

971* **它位於大量數學式之後**:在回應中的同一個文字區塊內,面板會依序排版公式,直到達到上限為止。超出上限的後續公式會按原樣顯示。請要求 Claude 單獨再次傳送您需要的公式。

972 

899<h3 id="claude-code-never-responds">973<h3 id="claude-code-never-responds">

900 Claude Code 從不回應974 Claude Code 從不回應

901</h3>975</h3>

Details

86 * **Pro 和 Max**:上線流程會為您建立名為**預設**的環境。86 * **Pro 和 Max**:上線流程會為您建立名為**預設**的環境。

87 * **Team 和 Enterprise**:上線流程會顯示**建立您的第一個雲端環境**表單。保持預填的名稱和網路存取權不變,然後按一下**建立並完成**以建立**預設**環境。如果擁有者已開啟[快速設定](/docs/zh-TW/claude-code-on-the-web#quick-setup-for-team-and-enterprise),上線流程會改為為您建立**預設**。87 * **Team 和 Enterprise**:上線流程會顯示**建立您的第一個雲端環境**表單。保持預填的名稱和網路存取權不變,然後按一下**建立並完成**以建立**預設**環境。如果擁有者已開啟[快速設定](/docs/zh-TW/claude-code-on-the-web#quick-setup-for-team-and-enterprise),上線流程會改為為您建立**預設**。

88 88 

89 **預設**使用[`信任`網路存取權](/docs/zh-TW/cloud-environments#access-levels):工作階段可以存取[常見套件登錄](/docs/zh-TW/cloud-environments#default-allowed-domains)和其他允許清單中的網域,以及透過工作階段網路的其他任何內容都無法存取。請參閱[已安裝的工具](/docs/zh-TW/cloud-environments#installed-tools)以了解無需任何設定即可使用的內容。89 **預設**使用[`Trusted` 網路存取權](/docs/zh-TW/cloud-environments#access-levels):工作階段可以存取[常見套件登錄](/docs/zh-TW/cloud-environments#default-allowed-domains)和其他允許清單中的網域,以及透過工作階段網路的其他任何內容都無法存取。請參閱[已安裝的工具](/docs/zh-TW/cloud-environments#installed-tools)以了解無需任何設定即可使用的內容。

90 90 

91 對於第一個專案,**預設**環境可以按原樣使用。若要變更其網路存取權、新增環境變數或在工作階段啟動前執行[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts),請[編輯它或建立其他環境](/docs/zh-TW/cloud-environments#configure-your-environment)。91 對於第一個專案,**預設**環境可以按原樣使用。若要變更其網路存取權、新增環境變數或在工作階段啟動前執行[設定指令碼](/docs/zh-TW/cloud-environments#setup-scripts),請[編輯它或建立其他環境](/docs/zh-TW/cloud-environments#configure-your-environment)。

92 </Step>92 </Step>


103如果您已經在瀏覽器中連接了 GitHub,`/web-setup` 會警告您繼續將會取代您的雲端工作階段的該連接。103如果您已經在瀏覽器中連接了 GitHub,`/web-setup` 會警告您繼續將會取代您的雲端工作階段的該連接。

104 104 

105<Note>105<Note>

106 啟用[零資料保留](/docs/zh-TW/zero-data-retention)或套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。如果未安裝 GitHub CLI 或未進行驗證,Claude Code 會改為開啟瀏覽器上線流程。106 啟用[零資料保留](/docs/zh-TW/zero-data-retention)或套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織無法使用 `/web-setup` 或其他雲端工作階段功能。使用[客戶管理的加密金鑰](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) 的組織也無法啟動雲端工作階段。如果未安裝 GitHub CLI 或未進行驗證,Claude Code 會改為開啟瀏覽器上線流程。

107</Note>107</Note>

108 108 

109<Steps>109<Steps>

Details

74 <p className="digest-wins-title">其他成果</p>74 <p className="digest-wins-title">其他成果</p>

75 75 

76 <div className="digest-wins-grid">76 <div className="digest-wins-grid">

77 <div><a href="/docs/zh-TW/code-review#review-a-diff-locally"><code>/code-review</code></a> 現在以具有自己內容視窗的背景子代理身份執行,因此審查工作不會進入您的對話,發現會在完成時到達</div>77 <div><a href="/docs/zh-TW/code-review-local"><code>/code-review</code></a> 現在以具有自己上下文視窗的背景 subagent 身份執行,因此審查工作不會進入您的對話,發現會在完成時到達</div>

78 <div><code>/verify</code>、<code>/code-review</code> 和 <code>/deep-research</code> 僅在您叫用時執行;Claude 不再自行啟動它們</div>78 <div><code>/verify</code>、<code>/code-review</code> 和 <code>/deep-research</code> 僅在您叫用時執行;Claude 不再自行啟動它們</div>

79 <div><a href="/docs/zh-TW/interactive-mode#emoji-shortcodes">Emoji 快速代碼</a>在提示輸入中自動完成:輸入 <code>:heart:</code> 以插入 emoji,或在 <code>:</code> 後輸入兩個或更多字元以獲得建議;使用 <code>emojiCompletionEnabled</code> 關閉它</div>79 <div><a href="/docs/zh-TW/interactive-mode#emoji-shortcodes">Emoji 快速代碼</a>在提示詞輸入中自動完成:輸入 <code>:heart:</code> 以插入 emoji,或在 <code>:</code> 後輸入兩個或更多字元以獲得建議;使用 <code>emojiCompletionEnabled</code> 關閉它</div>

80 <div>具有 <code>context: fork</code> 的 Skills <a href="/docs/zh-TW/skills#run-skills-in-a-subagent">預設在背景執行</a>,而 skill 的 frontmatter 中的 <code>background: false</code> 會在同一輪中等待結果</div>80 <div>具有 <code>context: fork</code> 的 Skills <a href="/docs/zh-TW/skills#run-skills-in-a-subagent">預設在背景執行</a>,而 skill 的 frontmatter 中的 <code>background: false</code> 會在同一回合中等待結果</div>

81 <div>工作階段預設最多同時執行 20 個子代理;使用 <code>CLAUDE\_CODE\_MAX\_CONCURRENT\_SUBAGENTS</code> 變更<a href="/docs/zh-TW/sub-agents#concurrent-subagent-limit">限制</a></div>81 <div>工作階段預設最多同時執行 20 個 subagent;使用 <code>CLAUDE\_CODE\_MAX\_CONCURRENT\_SUBAGENTS</code> 變更<a href="/docs/zh-TW/sub-agents#concurrent-subagent-limit">限制</a></div>

82 <div>`--max-budget-usd` 現在對子代理強制執行上限:一旦支出達到上限,Claude 就無法啟動更多,執行中的背景子代理會停止</div>82 <div>`--max-budget-usd` 現在對 subagent 強制執行上限:一旦支出達到上限,Claude 就無法啟動更多,執行中的背景 subagent 會停止</div>

83 <div>新的 <a href="/docs/zh-TW/sandboxing#disable-filesystem-isolation"><code>sandbox.filesystem.disabled</code></a> 設定會跳過檔案系統隔離,同時保持網路出口控制</div>83 <div>新的 <a href="/docs/zh-TW/sandboxing#disable-filesystem-isolation"><code>sandbox.filesystem.disabled</code></a> 設定會跳過檔案系統隔離,同時保持網路出口控制</div>

84 <div>在自動模式中,危險 <code>rm</code> 命令、背景工作和可疑 Windows 路徑的檢查不再開啟權限對話框;自動模式分類器會改為判決它們</div>84 <div>在自動模式中,危險 <code>rm</code> 命令、背景工作和可疑 Windows 路徑的檢查不再開啟權限對話框;自動模式分類器會改為判決它們</div>

85 <div>Bash 權限檢查在更多 shell 形式上失敗關閉,包括檔案描述符重新導向、<code>\[\[ ]]</code> 比較中的 Zsh 變數下標、可能執行不安全選項的 <code>help</code> 和 <code>man</code> 叫用,以及超過 10,000 個字元的命令</div>85 <div>Bash 權限檢查在更多 shell 形式上失敗關閉,包括檔案描述符重新導向、<code>\[\[ ]]</code> 比較中的 Zsh 變數下標、可能執行不安全選項的 <code>help</code> 和 <code>man</code> 叫用,以及超過 10,000 個字元的命令</div>

Details

84 <p className="digest-wins-title">其他改進</p>84 <p className="digest-wins-title">其他改進</p>

85 85 

86 <div className="digest-wins-grid">86 <div className="digest-wins-grid">

87 <div>VS Code 擴充功能獲得 <a href="/docs/zh-TW/vs-code#extension-settings">焦點檢視</a>,它在每個回合後面隱藏工具活動;從命令選單或使用 <code>Ctrl+Alt+F</code>(Mac 上為 <code>Ctrl+Option+F</code>)切換它</div>87 <div>VS Code 擴充功能獲得 <a href="/docs/zh-TW/vs-code#extension-settings">焦點檢視</a>,它將每個回合的工具活動隱藏在一個可展開的列後面;從命令選單或使用 <code>Ctrl+Alt+F</code>(Mac 上為 <code>Ctrl+Option+F</code>)切換它</div>

88 <div>沙箱認證檔案在 Linux 和 WSL2 上接受 <a href="/docs/zh-TW/sandboxing#mask-credential-files"><code>mode: "mask"</code></a>,因此沙箱化命令讀取哨兵副本,而沙箱代理在出口時替換實際值;認證遮罩也獲得 <code>extract</code>、JWT 感知 <code>decode</code> 和 AWS SigV4 重新簽署選項</div>88 <div>沙箱憑證檔案在 Linux 和 WSL2 上接受 <a href="/docs/zh-TW/sandboxing#mask-credential-files"><code>mode: "mask"</code></a>,因此沙箱化命令讀取哨兵副本,而沙箱代理伺服器在出口時替換實際值;憑證遮罩也獲得 <code>extract</code>、JWT 感知 <code>decode</code> 和 AWS SigV4 重新簽署選項</div>

89 <div>市場可以使用新的 <a href="/docs/zh-TW/plugins/marketplace-reference#archive-plugin-source"><code>archive</code> 來源</a>將外掛程式分發為 zip 封存,透過 HTTPS 下載並具有可選的 SHA-256 釘選,因此安裝無需 git 或 npm</div>89 <div>市集可以使用新的 <code>archive</code> 來源將外掛分發為 <a href="/docs/zh-TW/plugins/marketplace-reference#archive-plugin-source">zip 封存</a>,透過 HTTPS 下載並具有可選的 SHA-256 釘選,因此安裝無需 git 或 npm</div>

90 <div><code>/review</code> 現在是 <a href="/docs/zh-TW/code-review#review-a-diff-locally"><code>/code-review</code></a> 的別名,<code>/code-review</code> 沒有努力等級時會重複使用您上次輸入的等級</div>90 <div><code>/review</code> 現在是 <a href="/docs/zh-TW/code-review-local"><code>/code-review</code></a> 的別名,<code>/code-review</code> 沒有 effort 等級時會重複使用您上次輸入的等級</div>

91 <div>您使用 <a href="/docs/zh-TW/agent-view#copy-the-session-with-%2Ffork"><code>/fork</code></a> 複製的工作階段現在在其自己的 worktree 中進行程式碼變更,而不是原始工作階段的簽出</div>91 <div>您使用 <a href="/docs/zh-TW/agent-view#copy-the-session-with-%2Ffork"><code>/fork</code></a> 複製的工作階段現在在其自己的 worktree 中進行程式碼變更,而不是原始工作階段的簽出</div>

92 <div>您從 <a href="/docs/zh-TW/plugins/install#install-a-plugin"><code>/plugin</code></a> 安裝的外掛程式在當前工作階段中啟動(如果安全的話);安裝摘要報告 <code>Plugin is now active.</code> 或告訴您執行 <code>/reload-plugins</code></div>92 <div>您從 <a href="/docs/zh-TW/plugins/install#install-a-plugin"><code>/plugin</code></a> 安裝的外掛在當前工作階段中啟動(如果安全的話);安裝摘要報告 <code>Plugin is now active.</code> 或告訴您執行 <code>/reload-plugins</code></div>

93 <div><a href="/docs/zh-TW/agent-view#how-file-edits-are-isolated">背景工作階段</a>在 worktree 中變更程式碼現在在完成前提交並推送,僅在任務要求時開啟草稿拉取請求,並遵循您 <code>CLAUDE.md</code> 中的 git 指示</div>93 <div><a href="/docs/zh-TW/agent-view#how-file-edits-are-isolated">背景工作階段</a>在 worktree 中變更程式碼現在在完成前提交並推送,僅在任務要求時開啟草稿 pull request,並遵循您 <code>CLAUDE.md</code> 中的 git 指示</div>

94 <div>每個工作階段 200 個子代理的上限已移除,因此長時間執行的工作階段不再拒絕新的子代理;<a href="/docs/zh-TW/sub-agents#concurrent-subagent-limit">並行</a>和深度限制仍然適用</div>94 <div>每個工作階段 200 個 subagent 的上限已移除,因此長時間執行的工作階段不再拒絕新的 subagent;<a href="/docs/zh-TW/sub-agents#concurrent-subagent-limit">並行</a>和深度限制仍然適用</div>

95 <div>存放庫的簽入設定不再能開啟 <a href="/docs/zh-TW/remote-control#enable-remote-control-for-all-sessions">遠端控制自動連線</a>;改為在您的使用者或受管設定中設定 <code>remoteControlAtStartup</code>,而專案和本機設定只能將其關閉</div>95 <div>儲存庫的簽入設定不再能開啟 <a href="/docs/zh-TW/remote-control#enable-remote-control-for-all-sessions">Remote Control 自動連線</a>;改為在您的使用者或受管設定中設定 <code>remoteControlAtStartup</code>,而專案和本機設定只能將其關閉</div>

96 <div><a href="/docs/zh-TW/worktrees#how-claude-code-enforces-isolation">Worktree 隔離</a>現在不僅阻止檔案編輯,還阻止 Bash 命令和 git 重新導向到達主簽出,在每個工作階段類型和工作階段的子代理中</div>96 <div><a href="/docs/zh-TW/worktrees#how-claude-code-enforces-isolation">Worktree 隔離</a>現在不僅阻止檔案編輯,還阻止 Bash 命令和 git 重新導向到達主簽出,在每個工作階段類型和工作階段的 subagent 中</div>

97 <div>Bash 命令不再能隱藏自身的一部分免於權限檢查,而製表符或不可見的 Unicode 填充不再隱藏命令的一部分免於核准對話框</div>97 <div>Bash 命令不再能隱藏自身的一部分免於權限檢查,而製表符或不可見的 Unicode 填充不再隱藏命令的一部分免於核准對話框</div>

98 <div>PreToolUse 自動允許鉤子不再在 Claude Code 的內部側任務(例如摘要和壓縮)中繞過工具限制</div>98 <div>PreToolUse 自動允許 hook 不再在 Claude Code 的內部側任務(例如摘要和壓縮)中繞過工具限制</div>

99 <div><a href="/docs/zh-TW/ultraplan">Ultraplan</a> 研究預覽已移除,包括 <code>/ultraplan</code> 命令和 <code>ultraplan</code> 關鍵字;改為使用計畫模式或網路上的 Claude Code</div>99 <div><a href="/docs/zh-TW/ultraplan">Ultraplan</a> 研究預覽已移除,包括 <code>/ultraplan</code> 命令和 <code>ultraplan</code> 關鍵字;改為使用 plan mode 或網路上的 Claude Code</div>

100 </div>100 </div>

101</div>101</div>

102 102 

Details

4 4 

5# 第 33 週 · 2026 年 8 月 10–14 日5# 第 33 週 · 2026 年 8 月 10–14 日

6 6 

7> Claude Code Desktop 在使用限制重設後自動繼續,Fork 模式預設開啟,GitLab 合併請求和市集加入 GitHub。7> Claude Code Desktop 在用量上限重設後自動繼續,Fork 模式預設開啟,GitLab 合併請求和市集加入 GitHub。

8 8 

9<div className="digest-meta">9<div className="digest-meta">

10 <span>版本 <a href="/docs/en/changelog#2-1-225">v2.1.225 → v2.1.233</a></span>10 <span>版本 <a href="/docs/en/changelog#2-1-225">v2.1.225 → v2.1.233</a></span>


13 13 

14<div className="digest-feature">14<div className="digest-feature">

15 <div className="digest-feature-header">15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Desktop 上使用限制重設後自動繼續</span>16 <span className="digest-feature-title">Desktop 上達到用量上限後自動繼續</span>

17 <span className="digest-feature-pill">Desktop</span>17 <span className="digest-feature-pill">Desktop</span>

18 </div>18 </div>

19 19 


23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/2SnAdpL4dJ18nKb3/images/whats-new/desktop-auto-continue.mp4?fit=max&auto=format&n=2SnAdpL4dJ18nKb3&q=85&s=1937f489695feaea715e48ecfd7e62cd" data-path="images/whats-new/desktop-auto-continue.mp4" />23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/2SnAdpL4dJ18nKb3/images/whats-new/desktop-auto-continue.mp4?fit=max&auto=format&n=2SnAdpL4dJ18nKb3&q=85&s=1937f489695feaea715e48ecfd7e62cd" data-path="images/whats-new/desktop-auto-continue.mp4" />

24 </Frame>24 </Frame>

25 25 

26 <p className="digest-feature-try">下次出現工作階段限制卡片時,勾選 <strong>限制重設時自動繼續</strong> 並保持工作階段開啟。卡片會顯示 <code>自動繼續於</code> 後面跟著重設時間,一旦限制重設,回合就會自動繼續。</p>26 <p className="digest-feature-try">下次出現工作階段限制卡片時,勾選 <strong>限制重設時自動繼續</strong> 並保持工作階段開啟。卡片會顯示 <code>Auto-resuming at</code> 後面跟著重設時間,一旦限制重設,回合就會自動繼續。</p>

27 27 

28 <a className="digest-feature-link" href="/docs/zh-TW/errors#youve-hit-your-session-limit">達到使用限制時該怎麼辦</a>28 <a className="digest-feature-link" href="/docs/zh-TW/errors#youve-hit-your-session-limit">達到用量上限時該怎麼辦</a>

29</div>29</div>

30 30 

31<div className="digest-feature">31<div className="digest-feature">


34 <span className="digest-feature-pill">v2.1.232</span>34 <span className="digest-feature-pill">v2.1.232</span>

35 </div>35 </div>

36 36 

37 <p className="digest-feature-lede">Fork 模式現在在互動式工作階段中預設開啟。Claude 可以請求 <code>fork</code> 子代理類型,它繼承完整的對話和提示快取,而不是從頭開始,所以您不必為側邊任務重新解釋背景。Claude 在互動式工作階段中產生的子代理(除了代理團隊隊友產生的子代理外)也預設在背景中執行。</p>37 <p className="digest-feature-lede">Fork 模式現在在互動式工作階段中預設開啟。Claude 可以請求 <code>fork</code> subagent 類型,它繼承完整的對話和提示詞快取,而不是從頭開始,所以您不必為側邊任務重新解釋背景。Claude 在互動式工作階段中產生的 subagent(除了 agent team 隊友產生的 subagent 外)也預設在背景中執行。</p>

38 38 

39 <p className="digest-feature-try">使用需要您迄今為止討論的所有內容的任務自行啟動 fork:</p>39 <p className="digest-feature-try">使用需要您迄今為止討論的所有內容的任務自行啟動 fork:</p>

40 40 


42 > /subtask draft unit tests for the parser changes so far42 > /subtask draft unit tests for the parser changes so far

43 ```43 ```

44 44 

45 <p className="digest-feature-try">fork 會出現在您的提示下方的面板中,其結果在完成時會到達您的對話。若要關閉 fork 模式,請設定 <code>CLAUDE\_CODE\_FORK\_SUBAGENT=0</code>。</p>45 <p className="digest-feature-try">fork 會出現在您的提示詞下方的面板中,其結果在完成時會到達您的對話。若要關閉 fork 模式,請設定 <code>CLAUDE\_CODE\_FORK\_SUBAGENT=0</code>。</p>

46 46 

47 <a className="digest-feature-link" href="/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off">開啟或關閉 fork 模式</a>47 <a className="digest-feature-link" href="/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off">開啟或關閉 fork 模式</a>

48</div>48</div>


53 <span className="digest-feature-pill">v2.1.232</span>53 <span className="digest-feature-pill">v2.1.232</span>

54 </div>54 </div>

55 55 

56 <p className="digest-feature-lede">外掛程式市集複製裸 <code>gitlab.com</code> URL,包括巢狀子群組。在 v2.1.233 或更新版本上,將 GitLab 合併請求 URL 傳遞給 <code>--worktree</code> 以從中建立分支,<code>claude agents</code> 檢視會將連結到合併請求的工作階段標記為 <code>!N</code>。Claude Code 也會編輯 GitLab 權杖系列(例如 <code>glpat-</code> 和 <code>glrt-</code>),並以與保護 <code>gh</code> 相同的方式保護 <code>glab</code> CLI 的設定存放區。</p>56 <p className="digest-feature-lede">外掛程式市集複製裸 <code>gitlab.com</code> URL,包括巢狀子群組。在 v2.1.233 或更新版本上,將 GitLab 合併請求 URL 傳遞給 `--worktree` 以從中建立分支,<code>claude agents</code> 檢視會將連結到合併請求的工作階段標記為 <code>!N</code>。Claude Code 也會遮蔽 GitLab token 系列(例如 <code>glpat-</code> 和 <code>glrt-</code>),並以與保護 <code>gh</code> 相同的方式保護 <code>glab</code> CLI 的設定存放區。</p>

57 57 

58 <p className="digest-feature-try">在從合併請求建立分支的 worktree 中啟動工作階段:</p>58 <p className="digest-feature-try">在從合併請求建立分支的 worktree 中啟動工作階段:</p>

59 59 


70 <p className="digest-wins-title">其他成果</p>70 <p className="digest-wins-title">其他成果</p>

71 71 

72 <div className="digest-wins-grid">72 <div className="digest-wins-grid">

73 <div>在提示中輸入 <code>@</code> 以<a href="/docs/zh-TW/cross-session-messaging#message-another-session">提及另一個 Claude 工作階段</a>的名稱,Claude 會使用 <code>SendMessage</code> 直接向其傳送訊息;完全符合一個即時工作階段的裸名稱現在無需確認步驟即可傳遞</div>73 <div>在提示詞中輸入 <code>@</code> 以<a href="/docs/zh-TW/cross-session-messaging#message-another-session">提及另一個 Claude 工作階段</a>的名稱,Claude 會使用 <code>SendMessage</code> 直接向其傳送訊息;完全符合一個即時工作階段的裸名稱現在無需確認步驟即可傳遞</div>

74 <div>一台機器上的互動式工作階段保持<a href="/docs/zh-TW/cross-session-messaging#see-which-sessions-claude-can-reach">唯一名稱</a>:如果您使用另一個即時工作階段已使用的名稱啟動或重新命名工作階段,Claude Code 會為您的工作階段提供 <code>name-word-word</code> 變體並告知您</div>74 <div>一台機器上的互動式工作階段保持<a href="/docs/zh-TW/cross-session-messaging#see-which-sessions-claude-can-reach">唯一名稱</a>:如果您使用另一個即時工作階段已使用的名稱啟動或重新命名工作階段,Claude Code 會為您的工作階段提供 <code>name-word-word</code> 變體並告知您</div>

75 <div>外掛程式市集接受 <a href="/docs/zh-TW/plugins/marketplace-reference#command-plugin-source"><code>command</code> 來源</a>:本機命令會列印外掛程式目錄,Claude Code 會在每個工作階段中重新解析並應用,無需重新啟動</div>75 <div>外掛程式市集接受 <a href="/docs/zh-TW/plugins/marketplace-reference#command-plugin-source"><code>command</code> 來源</a>:本機命令會列印外掛程式目錄,Claude Code 會在每個工作階段中重新解析並應用,無需重新啟動</div>

76 <div>在 Linux 和 WSL 上,將 <a href="/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl"><code>CLAUDE\_CODE\_TOOL\_MEMORY\_LIMIT</code></a> 設定為 <code>4G</code> 之類的大小,以限制 Bash 和 PowerShell 工具命令可以使用的記憶體</div>76 <div>在 Linux 和 WSL 上,將 <a href="/docs/zh-TW/tools-reference#memory-limit-on-linux-and-wsl"><code>CLAUDE\_CODE\_TOOL\_MEMORY\_LIMIT</code></a> 設定為 <code>4G</code> 之類的大小,以限制 Bash 和 PowerShell 工具命令可以使用的記憶體</div>

77 <div>任務追蹤工具(例如 <code>TaskCreate</code>、<code>TaskUpdate</code> 和 <code>TodoWrite</code>)<a href="/docs/zh-TW/tools-reference#task-tool-availability">在 Opus 4.8、Sonnet 5、Fable 5、Mythos 5 及更新版本的這些系列上不再可用</a>;設定 <code>CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1</code> 以重新啟用它們</div>77 <div>任務追蹤工具(例如 <code>TaskCreate</code>、<code>TaskUpdate</code> 和 <code>TodoWrite</code>)<a href="/docs/zh-TW/tools-reference#task-tool-availability">在 Opus 4.8、Sonnet 5、Fable 5、Mythos 5 及更新版本的這些系列上不再可用</a>;設定 <code>CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1</code> 以重新啟用它們</div>

78 <div><a href="/docs/zh-TW/code-review#review-a-diff-locally"><code>/code-review</code></a> 在高、超高和最大努力級別現在像其他級別一樣在背景代理中執行</div>78 <div><a href="/docs/zh-TW/code-review-local"><code>/code-review</code></a> 在高、超高和最大努力級別現在像其他級別一樣在背景 agent 中執行</div>

79 <div><a href="/docs/zh-TW/plugins/install#install-a-plugin"><code>/plugin install plugin\@marketplace</code></a> 首先重新整理市集,因此新發佈的外掛程式無需手動市集更新即可安裝</div>79 <div><a href="/docs/zh-TW/plugins/install#install-a-plugin"><code>/plugin install plugin\@marketplace</code></a> 首先重新整理市集,因此新發佈的外掛程式無需手動市集更新即可安裝</div>

80 <div>設定接受 <a href="/docs/zh-TW/settings-reference#marketplace-key-aliases"><code>additionalMarketplaces</code> 和 <code>allowedMarketplaces</code></a> 作為 <code>extraKnownMarketplaces</code> 和 <code>strictKnownMarketplaces</code> 的別名</div>80 <div>設定接受 <a href="/docs/zh-TW/settings-reference#marketplace-key-aliases"><code>additionalMarketplaces</code> 和 <code>allowedMarketplaces</code></a> 作為 <code>extraKnownMarketplaces</code> 和 <code>strictKnownMarketplaces</code> 的別名</div>

81 <div>在較新的模型上,Claude 可以<a href="/docs/zh-TW/tools-reference#write-tool-behavior">使用 Write 工具覆寫現有檔案</a>,無需在此工作階段中先讀取它,符合 Edit 工具的規則;較舊的模型需要讀取</div>81 <div>在較新的模型上,Claude 可以<a href="/docs/zh-TW/tools-reference#write-tool-behavior">使用 Write 工具覆寫現有檔案</a>,無需在此工作階段中先讀取它,符合 Edit 工具的規則;較舊的模型需要讀取</div>

workflows.md +4 −4

Details

205 205 

206在 `claude -p` 和 Agent SDK 中,Claude Code 永遠不會顯示此提示。它透過與工作階段其餘部分相同的[權限評估](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)執行 Workflow 工具呼叫,因此拒絕規則、詢問規則和 `dontAsk` 模式適用於啟動,就像它們適用於每個工具呼叫一樣。若要讓工作流程在這些執行中啟動,請使用以下其中一個:206在 `claude -p` 和 Agent SDK 中,Claude Code 永遠不會顯示此提示。它透過與工作階段其餘部分相同的[權限評估](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)執行 Workflow 工具呼叫,因此拒絕規則、詢問規則和 `dontAsk` 模式適用於啟動,就像它們適用於每個工具呼叫一樣。若要讓工作流程在這些執行中啟動,請使用以下其中一個:

207 207 

208* **Permission rule**:您允許規則中的 `Workflow` 批准每個工作流程,`Workflow(<name>)` 按名稱批准一個保存的工作流程。208* **Permission rule**:將 `Workflow` 新增到您的允許規則以核准每個工作流程,或新增 `Workflow(<name>)` 以按名稱核准一個保存的工作流程。

209* **Auto permission mode**:[分類器](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)檢查呼叫並可以批准它。209* **Auto permission mode**:在[自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)中執行,分類器會檢查該呼叫並可以核准它。

210* **Bypass permissions mode**:Claude Code 批准呼叫。210* **Bypass permissions mode**:在 bypass permissions 模式中執行。

211* **A hook**:允許該呼叫的 [`PreToolUse`](/docs/zh-TW/hooks#pretooluse) hook 會核准它。211* **A hook**:從 [`PreToolUse`](/docs/zh-TW/hooks#pretooluse) hook 為該呼叫回傳 `"allow"`。在 [plan mode](/docs/zh-TW/permission-modes#analyze-before-you-edit-with-plan-mode) 中,工作流程不會僅憑 hook 的核准就啟動,因此請在該處改用權限規則或您主機的核准。

212* **Your host**:[`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 會核准它,或在使用 Agent SDK 時,由 [`canUseTool`](/docs/zh-TW/agent-sdk/permissions) 回呼核准它。212* **Your host**:[`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 會核准它,或在使用 Agent SDK 時,由 [`canUseTool`](/docs/zh-TW/agent-sdk/permissions) 回呼核准它。

213 213 

214在桌面應用程式中,批准卡會顯示工作流程名稱、階段清單和令牌使用警告,具有 **Once**、**Always** 和 **Deny** 動作。進度檢視會出現在「背景任務」側窗格中。214在桌面應用程式中,批准卡會顯示工作流程名稱、階段清單和令牌使用警告,具有 **Once**、**Always** 和 **Deny** 動作。進度檢視會出現在「背景任務」側窗格中。