SpyBara
Go Premium

Documentation 2026-10-06 23:59 UTC to 2026-10-07 07:00 UTC

22 files changed +100 −59. View all changes and history on the product overview
2026
Wed 7 07:57 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

717| `accountInfo()` | 傳回帳戶資訊 |717| `accountInfo()` | 傳回帳戶資訊 |

718| `reconnectMcpServer(serverName)` | 依名稱重新連線 MCP 伺服器。如果該名稱也符合 `.mcp.json` 或 `~/.claude.json` 等設定檔中的項目,Claude Code 會重新連線您透過 [`mcpServers`](#options) 或 `setMcpServers()` 設定的伺服器,而非設定檔中的項目。此解析順序需要 Claude Code v2.1.257 或更新版本 |718| `reconnectMcpServer(serverName)` | 依名稱重新連線 MCP 伺服器。如果該名稱也符合 `.mcp.json` 或 `~/.claude.json` 等設定檔中的項目,Claude Code 會重新連線您透過 [`mcpServers`](#options) 或 `setMcpServers()` 設定的伺服器,而非設定檔中的項目。此解析順序需要 Claude Code v2.1.257 或更新版本 |

719| `toggleMcpServer(serverName, enabled)` | 依名稱啟用或停用 MCP 伺服器,名稱解析方式與 `reconnectMcpServer()` 相同。停用伺服器會將其中斷連線並移除其工具。關於每種伺服器所需的 Claude Code 版本,請參閱 [`toggleMcpServer()`](#togglemcpserver) |719| `toggleMcpServer(serverName, enabled)` | 依名稱啟用或停用 MCP 伺服器,名稱解析方式與 `reconnectMcpServer()` 相同。停用伺服器會將其中斷連線並移除其工具。關於每種伺服器所需的 Claude Code 版本,請參閱 [`toggleMcpServer()`](#togglemcpserver) |

720| `setMcpServers(servers)` | 動態取代此工作階段的 MCP 伺服器集合。會以 [`McpSetServersResult`](#mcpsetserversresult) 解析,指出新增和移除了哪些伺服器,以及任何錯誤 |720| `setMcpServers(servers)` | 取代此方法所管理的 MCP 伺服器:透過它新增的伺服器以及[程序內 SDK 伺服器](#createsdkmcpserver)。會以 [`McpSetServersResult`](#mcpsetserversresult) 解析,其中指出新增和移除了哪些伺服器以及任何錯誤;該章節說明哪些其他伺服器會保持連線 |

721| `readMcpResource(serverName, uri)` | *Alpha.* 從已連線的 MCP 伺服器讀取一個 MCP Apps `ui://` 資源,讓您的應用程式能呈現工具的小工具。會以 [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) 解析。需要 TypeScript Agent SDK v0.3.280 或更新版本 |721| `readMcpResource(serverName, uri)` | *Alpha.* 從已連線的 MCP 伺服器讀取一個 MCP Apps `ui://` 資源,讓您的應用程式能呈現工具的小工具。會以 [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) 解析。需要 TypeScript Agent SDK v0.3.280 或更新版本 |

722| `streamInput(stream)` | 將輸入訊息串流至查詢,以進行多回合對話 |722| `streamInput(stream)` | 將輸入訊息串流至查詢,以進行多回合對話 |

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


1337| `mcpServer` | `{ name: string; source: string }` | 對於 `mcp__*` 工具,提供該工具的 MCP 伺服器以及該伺服器定義的來源,欄位與 [`McpServerProvenance`](#mcpserverprovenance) 相同。其他工具則不包含此項。需要 Agent SDK v0.3.274 或更新版本 |1337| `mcpServer` | `{ name: string; source: string }` | 對於 `mcp__*` 工具,提供該工具的 MCP 伺服器以及該伺服器定義的來源,欄位與 [`McpServerProvenance`](#mcpserverprovenance) 相同。其他工具則不包含此項。需要 Agent SDK v0.3.274 或更新版本 |

1338| `decisionReason` | `string` | 說明觸發此權限請求的原因 |1338| `decisionReason` | `string` | 說明觸發此權限請求的原因 |

1339| `defaultToNo` | `boolean` | 為 `true` 時,單次誤觸按鍵不得核准此請求:開啟提示時請將焦點置於拒絕選項,不要預先選取核准,也不要提供單鍵核准的快捷鍵。需要 Agent SDK v0.3.268 或更新版本 |1339| `defaultToNo` | `boolean` | 為 `true` 時,單次誤觸按鍵不得核准此請求:開啟提示時請將焦點置於拒絕選項,不要預先選取核准,也不要提供單鍵核准的快捷鍵。需要 Agent SDK v0.3.268 或更新版本 |

1340| `suppressAlwaysAllowRule` | `boolean` | 為 `true` 時,請勿為此請求提供永久「一律允許」的選項,因為它將寫入的規則所授予的權限會超出該請求本身的動作。需要 Agent SDK v0.3.268 或更新版本 |1340| `suppressAlwaysAllowRule` | `boolean` | 當為 `true` 時,不要為此請求提供永久「一律允許」的選項。需要 Agent SDK v0.3.268 或更新版本 |

1341| `toolUseID` | `string` | 此特定工具呼叫在助理訊息中的唯一識別碼 |1341| `toolUseID` | `string` | 此特定工具呼叫在助理訊息中的唯一識別碼 |

1342| `agentID` | `string` | 若在 sub-agent 中執行,則為該 sub-agent 的 ID |1342| `agentID` | `string` | 若在 sub-agent 中執行,則為該 sub-agent 的 ID |

1343| `requestId` | `string` | `control_request` 封包的 `request_id`。您的應用程式在 SDK 之外傳送的 `control_response`(例如已簽署的 HTTP POST)必須回傳此值,讓 Claude Code 程序能將回覆與請求配對 |1343| `requestId` | `string` | `control_request` 封包的 `request_id`。您的應用程式在 SDK 之外傳送的 `control_response`(例如已簽署的 HTTP POST)必須回傳此值,讓 Claude Code 程序能將回覆與請求配對 |


5531 5531 

5532當您呼叫 `setMcpServers()` 時,Claude Code 應用這些規則:5532當您呼叫 `setMcpServers()` 時,Claude Code 應用這些規則:

5533 5533 

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

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

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

5537 5537 

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

agent-view.md +1 −0

Details

819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | 刪除因未推送提交而拒絕刪除的工作階段,捨棄 worktree 及其分支和提交。傳遞拒絕列印的確切值;請參閱 [刪除工作階段會移除什麼](#what-deleting-a-session-removes)。需要 v2.1.260 或更新版本 |819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | 刪除因未推送提交而拒絕刪除的工作階段,捨棄 worktree 及其分支和提交。傳遞拒絕列印的確切值;請參閱 [刪除工作階段會移除什麼](#what-deleting-a-session-removes)。需要 v2.1.260 或更新版本 |

820| `claude rm <id> --force-remove-worktree <worktree-id>` | 刪除因 git 或 `WorktreeRemove` hook 無法移除其 worktree 而拒絕刪除的工作階段,無論如何刪除 worktree 目錄並在儲存庫中保留其分支。傳遞拒絕列印的確切值;請參閱 [刪除工作階段會移除什麼](#what-deleting-a-session-removes)。需要 v2.1.268 或更新版本 |820| `claude rm <id> --force-remove-worktree <worktree-id>` | 刪除因 git 或 `WorktreeRemove` hook 無法移除其 worktree 而拒絕刪除的工作階段,無論如何刪除 worktree 目錄並在儲存庫中保留其分支。傳遞拒絕列印的確切值;請參閱 [刪除工作階段會移除什麼](#what-deleting-a-session-removes)。需要 v2.1.268 或更新版本 |

821| `claude daemon status` | 列印 [supervisor](#the-supervisor-process) 的狀態、版本、socket 目錄和 worker 計數 |821| `claude daemon status` | 列印 [supervisor](#the-supervisor-process) 的狀態、版本、socket 目錄和 worker 計數 |

822| `claude daemon logs` | 追蹤 supervisor 的日誌檔案 [`~/.claude/daemon.log`](#where-state-is-stored),在新行出現時列印出來,直到您按下 `Ctrl+C` |

822| `claude daemon stop --any` | 停止 supervisor 程序及其託管的背景工作階段。傳遞 `--keep-workers` 以保持背景工作階段執行中,以便下一個 supervisor 可以重新連接到它們。下一個 `claude agents` 或 `claude --bg` 會啟動全新的 supervisor |823| `claude daemon stop --any` | 停止 supervisor 程序及其託管的背景工作階段。傳遞 `--keep-workers` 以保持背景工作階段執行中,以便下一個 supervisor 可以重新連接到它們。下一個 `claude agents` 或 `claude --bg` 會啟動全新的 supervisor |

823 824 

824`claude attach` 和 `claude logs` 可以使用執行中工作階段名稱的一部分來取代 ID,例如 `claude logs "auth refactor"`。傳遞名稱需要 Claude Code v2.1.290 或更新版本。825`claude attach` 和 `claude logs` 可以使用執行中工作階段名稱的一部分來取代 ID,例如 `claude logs "auth refactor"`。傳遞名稱需要 Claude Code v2.1.290 或更新版本。

agents.md +1 −1

Details

20 20 

21還有三個工具支援此工作,但它們本身不是執行代理的方式:21還有三個工具支援此工作,但它們本身不是執行代理的方式:

22 22 

23* [Worktrees](/docs/zh-TW/worktrees) 為每個工作階段提供單獨的 git 簽出,因此平行工作階段永遠不會編輯相同的檔案。將它們用於您自己執行的工作階段。代理檢視會自動將每個分派的工作階段 [移動到自己的 worktree 中](/docs/zh-TW/agent-view#how-file-edits-are-isolated),您生成的子代理也可以各自獲得一個。23* [Worktrees](/docs/zh-TW/worktrees) 為每個工作階段提供單獨的 git 簽出,因此平行工作階段各自編輯自己的檔案副本。將它們用於您自己執行的工作階段。從 agent 檢視分派的工作階段會 [在編輯檔案之前移動到自己的 worktree 中](/docs/zh-TW/agent-view#how-file-edits-are-isolated),您生成的 subagent 也可以各自獲得一個。

24* [跨工作階段訊息傳遞](/docs/zh-TW/cross-session-messaging) 讓 Claude 列出並訊息傳遞您在此機器上、另一台機器上或 [網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 上的其他 Claude Code 工作階段,因此您自己執行的工作階段可以在彼此之間傳遞發現和狀態。24* [跨工作階段訊息傳遞](/docs/zh-TW/cross-session-messaging) 讓 Claude 列出並訊息傳遞您在此機器上、另一台機器上或 [網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 上的其他 Claude Code 工作階段,因此您自己執行的工作階段可以在彼此之間傳遞發現和狀態。

25* [`/batch`](/docs/zh-TW/commands) 是一個 [skill](/docs/zh-TW/skills),讓 Claude 將一個大型變更分成 5 到 30 個 worktree 隔離的子代理。這是子代理和 worktrees 的打包使用,不是單獨的協調風格。25* [`/batch`](/docs/zh-TW/commands) 是一個 [skill](/docs/zh-TW/skills),讓 Claude 將一個大型變更分成 5 到 30 個 worktree 隔離的子代理。這是子代理和 worktrees 的打包使用,不是單獨的協調風格。

26 26 

Details

57 快速入門57 快速入門

58</h2>58</h2>

59 59 

60此快速入門走最小路徑:在您的 IdP 中註冊 OAuth 用戶端,寫入 `gateway.yaml`,使用 Docker Compose 與 Postgres 一起執行閘道,並驗證端到端登入。它使用 Amazon Bedrock 上游;Claude Platform on AWS、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Anthropic API 同樣受支援,只需如[配置參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)所示交換 `upstreams` 區塊。最後,您有一個開發人員可以 `/login` 的閘道。60此快速入門走最小路徑:在您的 IdP 中註冊 OAuth 用戶端,寫入 `gateway.yaml`,使用 Docker Compose 與 Postgres 一起執行閘道,並驗證端到端登入。它使用 Amazon Bedrock 上游;Claude Platform on AWS、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Anthropic API 同樣受支援,只需如[設定參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)所示交換 `upstreams` 區塊。最後,您有一個開發人員可以 `/login` 的閘道。

61 61 

62<Note>62<Note>

63 **在您的私有網路上部署。** Claude Code 只連接到地址為私有的閘道。這是一個安全防護,因為受信任的閘道可以推送在開發人員機器上執行命令的設定。將閘道放在內部負載平衡器或 VPN 後面,並給它一個只解析為私有 IP 的主機名。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,請參閱[允許閘道在您擁有的公開地址空間上](#allow-a-gateway-on-public-address-space-you-own)。63 **在您的私有網路上部署。** Claude Code 只連接到地址為私有的閘道。這是一個安全防護,因為受信任的閘道可以推送在開發人員機器上執行命令的設定。將閘道放在內部負載平衡器或 VPN 後面,並給它一個只解析為私有 IP 的主機名。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,請參閱[允許閘道在您擁有的公開地址空間上](#allow-a-gateway-on-public-address-space-you-own)。


73| - | - |73| - | - |

74| Claude Code v2.1.195 或更新版本 | `claude gateway` 子命令和閘道登入流程在 v2.1.195 中發布。較早的公開版本不包含它們。執行閘道伺服器的機器和每個開發人員的機器都必須是 v2.1.195 或更新版本;執行 `claude update` 以取得最新版本。[Claude Platform on AWS 上游](/docs/zh-TW/claude-apps-gateway-config#claude-platform-on-aws)在閘道伺服器上需要 Claude Code v2.1.198 或更新版本。 |74| Claude Code v2.1.195 或更新版本 | `claude gateway` 子命令和閘道登入流程在 v2.1.195 中發布。較早的公開版本不包含它們。執行閘道伺服器的機器和每個開發人員的機器都必須是 v2.1.195 或更新版本;執行 `claude update` 以取得最新版本。[Claude Platform on AWS 上游](/docs/zh-TW/claude-apps-gateway-config#claude-platform-on-aws)在閘道伺服器上需要 Claude Code v2.1.198 或更新版本。 |

75| OpenID Connect (OIDC) 身份提供商 | Okta、Microsoft Entra ID、Google Workspace、Keycloak 或 Dex,或任何其他符合 OIDC 的 IdP,例如 PingFederate。閘道針對它執行標準 OIDC 發現和授權碼流程。不支援 SAML 和 LDAP。 |75| OpenID Connect (OIDC) 身份提供商 | Okta、Microsoft Entra ID、Google Workspace、Keycloak 或 Dex,或任何其他符合 OIDC 的 IdP,例如 PingFederate。閘道針對它執行標準 OIDC 發現和授權碼流程。不支援 SAML 和 LDAP。 |

76| PostgreSQL 14 或更新版本 | 支援裝置登入流程,其中瀏覽器回呼寫入,輪詢 CLI 讀取,加上速率限制計數器。任何受管 Postgres 都可以,包括最小層級。在未配置支出限制的情況下,閘道儲存幾 KB 的短期身份驗證狀態;使用[支出限制](/docs/zh-TW/claude-apps-gateway-spend-limits),它還持有應備份的耐久支出、稽核和身份表。建議透過 `?sslmode=require` 使用 TLS。 |76| PostgreSQL 11 或更新版本 | 支援裝置登入流程和速率限制計數器。受管 PostgreSQL 服務皆可使用,包括最小層級;請參閱[支援哪些資料庫](/docs/zh-TW/claude-apps-gateway-deploy#postgres)。使用[支出限制](/docs/zh-TW/claude-apps-gateway-spend-limits)時,它還持有應備份的耐久支出、稽核和身份表。建議透過 `?sslmode=require` 使用 TLS。PostgreSQL 11、12 和 13 在閘道伺服器上需要 Claude Code v2.1.290 或更新版本。PostgreSQL 專案已不再維護這些版本,因此請盡可能使用較新的版本。 |

77| 模型上游 | Amazon Bedrock 認證、Claude Platform on AWS 認證、Google Cloud 認證、Microsoft Foundry 資源或 Anthropic API 金鑰。支援多個上游和故障轉移。 |77| 模型上游 | Amazon Bedrock 憑證、Claude Platform on AWS 憑證、Google Cloud 憑證、Microsoft Foundry 資源或 Anthropic API 金鑰。支援多個上游和故障轉移。 |

78| HTTPS | 閘道必須可從開發人員筆記型電腦和用於登入的任何瀏覽器透過 `https://` 到達;閘道在同一監聽器上提供裝置驗證頁面。透過 `listen.tls` 提供 TLS 憑證,或在 TLS 終止入口後執行並設定 `listen.public_url` 為外部來源(兩種情況下都是如此)。純 `http://` 來源僅在閘道主機為環回時接受:`localhost`、`127.0.0.1` 或 `::1`。 |78| HTTPS | 閘道必須可從開發人員筆記型電腦和用於登入的任何瀏覽器透過 `https://` 到達;閘道在同一監聽器上提供裝置驗證頁面。透過 `listen.tls` 提供 TLS 憑證,或在 TLS 終止入口後執行,並在兩種情況下都將 `listen.public_url` 設定為外部來源。在 `/login` 處,Claude Code 僅在閘道主機為環回時接受純 `http://` 來源:`localhost`、`127.0.0.1` 或 `::1`。 |

79| 私有網路地址 | 在 `/login` 處,Claude Code 要求閘道的主機名或 IP 地址僅解析為私有地址:RFC 1918、連結本地、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7` 或環回。對於您託管的閘道,任何公開地址都會被拒絕;請參閱部署指南中的[威脅模型](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)。如果開發人員機器透過公司代理路由 HTTPS,登入還要求代理主機解析為私有地址;如果不是,將閘道主機新增到 `NO_PROXY`,以便 CLI 直接連接。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,[宣告這些區塊](#allow-a-gateway-on-public-address-space-you-own),以便 `/login` 接受那裡的閘道。 |79| 私有網路地址 | 在 `/login` 處,Claude Code 要求閘道的主機名或 IP 地址僅解析為私有地址:RFC 1918、連結本地、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7` 或環回。對於您託管的閘道,任何位於您所宣告區塊之外的公開地址都會被拒絕;請參閱部署指南中的[威脅模型](/docs/zh-TW/claude-apps-gateway-deploy#threat-model-summary)。如果開發人員機器透過公司代理伺服器路由 HTTPS,登入還要求代理伺服器主機解析為私有地址;如果不是,將閘道主機新增到 `NO_PROXY`,以便 CLI 直接連接。如果您的內部網路是從您的組織擁有的公開 IPv4 空間編號的,[宣告這些區塊](#allow-a-gateway-on-public-address-space-you-own),以便 `/login` 接受那裡的閘道。 |

80| Linux 執行時 | 閘道伺服器僅在原生 Linux 二進位檔上執行。macOS 適用於本地開發。Windows 不支援作為伺服器平台。 |80| Linux 執行時 | 閘道伺服器僅在原生 Linux 二進位檔上執行。macOS 適用於本地開發。Windows 不支援作為伺服器平台。 |

81 81 

82<h3 id="steps">82<h3 id="steps">


89 </Step>89 </Step>

90 90 

91 <Step title="佈建 PostgreSQL 資料庫">91 <Step title="佈建 PostgreSQL 資料庫">

92 任何 Postgres 14 或更新版本都可以,包括最小受管層級。閘道在啟動時執行自己的架構遷移,因此資料庫角色需要建立和更改表的權限;請參閱 [`store`](/docs/zh-TW/claude-apps-gateway-config#store)。92 使用 PostgreSQL 11 或更新版本。最小的受管層級即已足夠。閘道在啟動時執行自己的 schema 遷移,因此資料庫角色需要建立和更改表的權限;請參閱 [`store`](/docs/zh-TW/claude-apps-gateway-config#store)。

93 </Step>93 </Step>

94 94 

95 <Step title="寫入 gateway.yaml">95 <Step title="寫入 gateway.yaml">

96 機密透過 `${ENV_VAR}` 擴展讀取,因此檔案本身可以存在於版本控制中。使用在您的網路上解析為私有 IP 的 `public_url` 主機名,因為 `/login` 拒絕公開地址。最小配置有五個部分,其他每個欄位都有預設值:96 機密透過 `${ENV_VAR}` 擴展讀取,因此檔案本身可以存在於版本控制中。使用在您的網路上解析為私有 IP 的 `public_url` 主機名,因為 `/login` 拒絕公開地址。最小設定有五個部分,其他每個欄位都有預設值:

97 97 

98 ```yaml gateway.yaml theme={null}98 ```yaml gateway.yaml theme={null}

99 listen:99 listen:


120 upstreams:120 upstreams:

121 - provider: bedrock121 - provider: bedrock

122 region: us-east-1122 region: us-east-1

123 auth: {} # 空:AWS 預設認證鏈123 auth: {} # 空:AWS 預設憑證鏈

124 # (IRSA、EC2/ECS 任務角色、環境變數、~/.aws)124 # (IRSA、EC2/ECS 任務角色、環境變數、~/.aws)

125 125 

126 # 模型會自動按上游轉換。內建目錄126 # 模型會自動按上游轉換。內建目錄


130 auto_include_builtin_models: true130 auto_include_builtin_models: true

131 ```131 ```

132 132 

133 此配置足以使用預設 Amazon Bedrock 模型目錄進行有效的登入迴圈。執行後,透過 [`managed.policies`](/docs/zh-TW/claude-apps-gateway-config#managed) 新增按群組 RBAC 和受管設定、透過 [`telemetry`](/docs/zh-TW/claude-apps-gateway-config#telemetry) 的遙測扇出,以及多上游故障轉移、佈建輸送量 ARN 或非美國區域,透過 [`models`](/docs/zh-TW/claude-apps-gateway-config#models)。133 此設定足以使用預設 Amazon Bedrock 模型目錄進行有效的登入迴圈。執行後,透過 [`managed.policies`](/docs/zh-TW/claude-apps-gateway-config#managed) 新增按群組 RBAC 和受管設定、透過 [`telemetry`](/docs/zh-TW/claude-apps-gateway-config#telemetry) 的遙測扇出,以及多上游故障轉移、佈建輸送量 ARN 或非美國區域,透過 [`models`](/docs/zh-TW/claude-apps-gateway-config#models)。

134 134 

135 <Note>135 <Note>

136 Amazon Bedrock 上游需要一個 AWS 主體,具有 `bedrock:InvokeModel` 和 `bedrock:InvokeModelWithResponseStream` 在 `inference-profile/us.anthropic.*` ARN 和基礎 `foundation-model/anthropic.*` ARN 上。它也需要 Anthropic 的一次性使用案例表單從 Bedrock 主控台的模型目錄提交給帳戶。136 Amazon Bedrock 上游需要一個 AWS 主體,具有 `bedrock:InvokeModel` 和 `bedrock:InvokeModelWithResponseStream` 在 `inference-profile/us.anthropic.*` ARN 和基礎 `foundation-model/anthropic.*` ARN 上。它也需要 Anthropic 的一次性使用案例表單從 Bedrock 主控台的模型目錄提交給帳戶。

137 137 

138 透過 EKS 上的 IRSA、ECS 任務角色或 EC2 執行個體設定檔提供認證,而不是靜態金鑰。[`upstreams` 參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)具有完整的 IAM 詳細資訊、跨雲認證矩陣和其他提供商的 `auth` 區塊。138 透過 EKS 上的 IRSA、ECS 任務角色或 EC2 執行個體設定檔提供憑證,而不是靜態金鑰。[`upstreams` 參考](/docs/zh-TW/claude-apps-gateway-config#upstreams)具有完整的 IAM 詳細資訊、跨雲憑證矩陣和其他提供商的 `auth` 區塊。

139 </Note>139 </Note>

140 </Step>140 </Step>

141 141 


152 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}152 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}

153 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}153 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}

154 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway154 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway

155 # AWS 認證:在生產中,省略這些並使用執行個體155 # AWS 憑證:在生產中,省略這些並使用執行個體

156 # 角色。對於本地 Compose 測試,傳遞您自己的:156 # 角色。對於本地 Compose 測試,傳遞您自己的:

157 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}157 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}

158 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}158 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}


170 volumes: { pgdata: }170 volumes: { pgdata: }

171 ```171 ```

172 172 

173 閘道是一個單一 Linux 二進位檔,讀取配置,連接到 Postgres 並應用其架構遷移,針對您的 IdP 執行 OIDC 發現,建立上游用戶端,並開始監聽。啟動對配置、Postgres 連接、OIDC 發現和上游用戶端構造是失敗關閉的。如果其中任何一個無法到達或配置錯誤,閘道會以錯誤退出,而不是以降級狀態提供流量。173 閘道是一個單一 Linux 二進位檔,讀取設定,連接到 Postgres 並套用其 schema 遷移,針對您的 IdP 執行 OIDC 發現,建立上游用戶端,並開始監聽。

174 174 

175 成功啟動不驗證推理路徑,因為 Amazon Bedrock 和 Google Cloud 的 Agent Platform 執行個體認證在第一個請求時解析,而不是在啟動時。175 啟動對設定、Postgres 連接、OIDC 發現和上游用戶端建構是失敗關閉的。如果其中任何一個無法到達或設定錯誤,閘道會以錯誤退出,而不是以降級狀態提供流量。

176 176 

177 監視 stderr 以了解啟動序列。日誌行使用格式 `[gateway] <timestamp> <level> <message>`,稽核事件是帶有 `evt` 欄位的單行 JSON,啟動橫幅(下面省略)在遷移和監聽行之間列印。新資料庫為每個架構遷移列印一個 `migration N applied` 行;已遷移的資料庫不列印任何行。您應該按順序看到:177 成功啟動不驗證推理路徑,因為 Amazon Bedrock 和 Google Cloud 的 Agent Platform 執行個體憑證在第一個請求時解析,而不是在啟動時。

178 

179 監視 stderr 以了解啟動序列。日誌行使用格式 `[gateway] <timestamp> <level> <message>`,稽核事件是帶有 `evt` 欄位的單行 JSON,啟動橫幅(下面省略)在遷移和監聽行之間列印。新資料庫為每個 schema 遷移列印一個 `migration N applied` 行;已遷移的資料庫不列印任何行。您應該按順序看到:

178 180 

179 ```text theme={null}181 ```text theme={null}

180 {"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}182 {"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}


192 * 無法到達的 Postgres194 * 無法到達的 Postgres

193 * 沒有 DDL 權限的 Postgres 角色195 * 沒有 DDL 權限的 Postgres 角色

194 * 無法到達或無效的 OIDC 發現文件196 * 無法到達或無效的 OIDC 發現文件

195 * 配置架構違規,帶有違規欄位路徑197 * 設定 schema 違規,帶有違規欄位路徑

196 198 

197 修復它並重新啟動。199 修復它並重新啟動。

198 200 


204 206 

205 示例使用閘道的公開 URL;對於沒有入口的本地 Compose 設定,在前兩個檢查中替換 `http://localhost:8080`。第三個檢查開啟 `verification_uri_complete`,它從 `public_url` 建立,因此對於本地 Compose,在 `gateway.yaml` 中設定 `public_url: http://localhost:8080`,並在步驟 1 的 OAuth 用戶端上新增 `http://localhost:8080/oauth/callback` 作為第二個重定向 URI,因為閘道從 `public_url` 建立 IdP `redirect_uri`。驗證連結然後在您的本地瀏覽器中開啟。207 示例使用閘道的公開 URL;對於沒有入口的本地 Compose 設定,在前兩個檢查中替換 `http://localhost:8080`。第三個檢查開啟 `verification_uri_complete`,它從 `public_url` 建立,因此對於本地 Compose,在 `gateway.yaml` 中設定 `public_url: http://localhost:8080`,並在步驟 1 的 OAuth 用戶端上新增 `http://localhost:8080/oauth/callback` 作為第二個重定向 URI,因為閘道從 `public_url` 建立 IdP `redirect_uri`。驗證連結然後在您的本地瀏覽器中開啟。

206 208 

207 在 Windows PowerShell 中,執行 `curl.exe`;裸 `curl` 是 `Invoke-WebRequest` 的別名,拒絕這些標誌。209 在 Windows PowerShell 中,執行 `curl.exe`;裸 `curl` 是 `Invoke-WebRequest` 的別名,拒絕這些旗標。

208 210 

209 首先,獲取發現文件,確認閘道已啟動、配置有效且所有啟動檢查已通過:211 首先,取得發現文件,確認閘道已啟動、設定有效且所有啟動檢查已通過:

210 212 

211 ```bash theme={null}213 ```bash theme={null}

212 curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq214 curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq


251 </Step>253 </Step>

252 254 

253 <Step title="登入開發人員">255 <Step title="登入開發人員">

254 最後一步發生在開發人員機器上,而不是伺服器上。在該機器的[受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms)中將 `forceLoginMethod` 設定為 `"gateway"` 並將 `forceLoginGatewayUrl` 設定為您的閘道的 `public_url`,然後執行 `/login`,在**雲端閘道**螢幕上按 Enter,並完成瀏覽器登入。下面的[設定閘道 URL](#set-the-gateway-url) 涵蓋大規模分發兩個金鑰。256 最後一步發生在開發人員機器上,而不是伺服器上。在該機器的[受管設定檔](/docs/zh-TW/managed-settings#delivery-mechanisms)中將 `forceLoginMethod` 設定為 `"gateway"` 並將 `forceLoginGatewayUrl` 設定為您的閘道的 `public_url`,然後執行 `/login`,在**雲端閘道**螢幕上按 Enter,並完成瀏覽器登入。下面的[設定閘道 URL](#set-the-gateway-url) 涵蓋如何將這兩個設定鍵分發到每台開發人員機器。

255 </Step>257 </Step>

256</Steps>258</Steps>

257 259 

Details

156閘道僅在啟動時讀取一次金鑰和憑證,因此變更的檔案僅在重新啟動後才會生效。請依照以下順序輪換,以確保沒有任何 token 請求出示 IdP 沒有的憑證:156閘道僅在啟動時讀取一次金鑰和憑證,因此變更的檔案僅在重新啟動後才會生效。請依照以下順序輪換,以確保沒有任何 token 請求出示 IdP 沒有的憑證:

157 157 

1581. 將新憑證上傳到 IdP,與舊憑證並存。1581. 將新憑證上傳到 IdP,與舊憑證並存。

1592. 替換 `gateway.yaml` 載入的金鑰和憑證檔案,然後重新啟動閘道。1592. 替換 `gateway.yaml` 載入的金鑰和憑證檔案,然後重新啟動閘道。如果您執行多個副本,可以使用[滾動重新啟動](/docs/zh-TW/claude-apps-gateway-deploy#upgrades),因為在您移除舊憑證之前,IdP 同時擁有兩個憑證。

1603. 從 IdP 移除舊憑證。1603. 在每個副本都重新啟動後,從 IdP 移除舊憑證。

161 161 

162<h4 id="idp-requests-through-a-forward-proxy">162<h4 id="idp-requests-through-a-forward-proxy">

163 透過轉發代理伺服器的 IdP 請求163 透過轉發代理伺服器的 IdP 請求


225 225 

226| 欄位 | 必需 | 說明 |226| 欄位 | 必需 | 說明 |

227| - | - | - |227| - | - | - |

228| `postgres_url` | 是 | `postgres://` 或 `postgresql://` URL。必需:裝置授權會合點(瀏覽器回呼寫入且輪詢 CLI 讀取)需要跨副本狀態。閘道在啟動時和升級時執行自己的 schema 遷移,因此角色需要在目標 schema 上建立和更改資料表的權限。請參閱[升級](/docs/zh-TW/claude-apps-gateway-deploy#upgrades)和 [Postgres](/docs/zh-TW/claude-apps-gateway-deploy#postgres)。 |228| `postgres_url` | 是 | 僅含一個主機的 `postgres://` 或 `postgresql://` URL,而不是以逗號分隔的清單。閘道在啟動時和升級時執行自己的 schema 遷移,因此角色需要在目標 schema 上建立和更改資料表的權限。請參閱[升級](/docs/zh-TW/claude-apps-gateway-deploy#upgrades)和 [Postgres](/docs/zh-TW/claude-apps-gateway-deploy#postgres)。 |

229| `username` | 否 | 覆寫 `postgres_url` 中的使用者 |229| `username` | 否 | 覆寫 `postgres_url` 中的使用者 |

230| `password` | 否 | 資料庫憑證。在此設定它而不是在 `postgres_url` 中,以便憑證保持在 URL 之外。接受任何字元並優先於 URL 中的憑證。 |230| `password` | 否 | 資料庫憑證。在此設定它而不是在 `postgres_url` 中,以便憑證保持在 URL 之外。接受任何字元並優先於 URL 中的憑證。 |

231| `max_connections` | 否 | 每個副本的 Postgres 連線池大小。預設 `5`,這是保守的且對共享資料庫友善。啟用[支出限制](#admin)後,熱路徑每個推論請求執行幾個操作,因此在負載下為專用資料庫提高它,並保持副本 × 此值低於資料庫的 `max_connections`。 |231| `max_connections` | 否 | 每個副本的 Postgres 連線池大小。預設 `5`,這是保守的且對共享資料庫友善。啟用[支出限制](#admin)後,熱路徑每個推論請求執行幾個操作,因此在負載下為專用資料庫提高它,並保持副本 × 此值低於資料庫的 `max_connections`。 |

Details

249 Postgres249 Postgres

250</h3>250</h3>

251 251 

252閘道將其狀態儲存在 PostgreSQL 資料庫中:

253 

254* **資料庫**:PostgreSQL 本身,自行託管或受管理皆可,需為[最低版本](/docs/zh-TW/claude-apps-gateway#prerequisites)或更新版本。僅實作 Postgres 協定的資料庫(例如分散式 SQL 資料庫)不受支援。

255* **位址**:`store.postgres_url` 接受一個主機。如果資料庫有多個節點,請使用位於它們前方的位址,例如您的受管理服務的端點、負載平衡器或虛擬 IP。設定比容錯移轉耗時更長的[就緒性寬限期](#readiness-grace-period)。

256 

252閘道保持五個資料表加上 `_migrations` 表,全部由其啟動時遷移建立:257閘道保持五個資料表加上 `_migrations` 表,全部由其啟動時遷移建立:

253 258 

254| 表 | 內容 | 保留 |259| 表 | 內容 | 保留 |


396| CLI `/login`:`Could not resolve the configured HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 中的主機名稱無法從開發者的機器解析,通常是因為它未連線到公司網路 | 讓開發者連線到您的網路或 VPN 並重試,或修正代理伺服器 URL |401| CLI `/login`:`Could not resolve the configured HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 中的主機名稱無法從開發者的機器解析,通常是因為它未連線到公司網路 | 讓開發者連線到您的網路或 VPN 並重試,或修正代理伺服器 URL |

397| CLI `/login`:`Could not resolve gateway host <host>` | 機器無法解析 gateway 的內部 DNS 名稱,通常是因為它不在公司網路上 | 讓開發者連線到您的網路或 VPN,然後重試 `/login` |402| CLI `/login`:`Could not resolve gateway host <host>` | 機器無法解析 gateway 的內部 DNS 名稱,通常是因為它不在公司網路上 | 讓開發者連線到您的網路或 VPN,然後重試 `/login` |

398| 啟動結束,顯示命名 `store.postgres_url` 的設定驗證錯誤 | 未設定 Postgres;gateway 需要 Postgres | 設定 `store.postgres_url`。對於本機開發,請使用一次性容器:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |403| 啟動結束,顯示命名 `store.postgres_url` 的設定驗證錯誤 | 未設定 Postgres;gateway 需要 Postgres | 設定 `store.postgres_url`。對於本機開發,請使用一次性容器:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |

404| 啟動結束:`store.postgres_url in <path> is not a URL the gateway can read`,或在 v2.1.290 之前僅顯示 `Invalid URL` 或 `URI error` | 無法剖析該 URL,例如因為它列出了多個主機,或其密碼含有未編碼的 `/`、`?`、`#` 或 `%` | 只指定[一個主機](#postgres),並將密碼移至 [`store.password`](/docs/zh-TW/claude-apps-gateway-config#store) |

399| 啟動結束:`requires the native binary` | 在 Node 下執行而不是原生二進位檔 | 使用其中一種[獨立安裝方法](/docs/zh-TW/setup)安裝 Claude Code |405| 啟動結束:`requires the native binary` | 在 Node 下執行而不是原生二進位檔 | 使用其中一種[獨立安裝方法](/docs/zh-TW/setup)安裝 Claude Code |

400| 啟動結束,在 `config.load` 後出現 OIDC 探索錯誤 | `oidc.issuer` 無法到達,或 TLS 鏈不受信任 | 檢查發行者是否可從 pod 到達並提供 `/.well-known/openid-configuration`。為私有 PKI 設定 `ca_cert_pem`。如果 pod 只能透過轉送代理伺服器到達 IdP,請設定 [`oidc.use_proxy: true`](/docs/zh-TW/claude-apps-gateway-config#idp-requests-through-a-forward-proxy);在 v2.1.227 之前的版本上,改為給 pod 一條到 IdP 每個端點的直接路由。如果 pod 也無法解析 IdP 的主機名稱,或代理伺服器拒絕 `CONNECT` 到 IP 位址,請參閱[僅透過代理伺服器的出口](/docs/zh-TW/claude-apps-gateway-config#proxy-only-egress),這需要 v2.1.277 或更新版本。 |406| 啟動結束,在 `config.load` 後出現 OIDC 探索錯誤 | `oidc.issuer` 無法到達,或 TLS 鏈不受信任 | 檢查發行者是否可從 pod 到達並提供 `/.well-known/openid-configuration`。為私有 PKI 設定 `ca_cert_pem`。如果 pod 只能透過轉送代理伺服器到達 IdP,請設定 [`oidc.use_proxy: true`](/docs/zh-TW/claude-apps-gateway-config#idp-requests-through-a-forward-proxy);在 v2.1.227 之前的版本上,改為給 pod 一條到 IdP 每個端點的直接路由。如果 pod 也無法解析 IdP 的主機名稱,或代理伺服器拒絕 `CONNECT` 到 IP 位址,請參閱[僅透過代理伺服器的出口](/docs/zh-TW/claude-apps-gateway-config#proxy-only-egress),這需要 v2.1.277 或更新版本。 |

401| 啟動結束,出現 Postgres 權限錯誤 | 資料庫角色在其 schema 上缺少 DDL 權限 | 授予角色在 gateway schema 上的 `CREATE` 權限,以便它可以在啟動時建立和更改其表格 |407| 啟動結束,出現 Postgres 權限錯誤 | 資料庫角色在其 schema 上缺少 DDL 權限 | 授予角色在 gateway schema 上的 `CREATE` 權限,以便它可以在啟動時建立和更改其表格 |

402| 日誌:`could not connect to Postgres at boot, attempt 1 of 3` | 當 gateway 啟動時資料庫無法到達,例如在冷執行個體上,其網路仍在啟動中 | 如果 gateway 隨後完成啟動,則無需採取任何行動。當資料庫無法到達時,gateway 在結束前嘗試連線三次,間隔兩秒。如果它結束時顯示 `could not connect to Postgres`,請檢查 `store.postgres_url` 和到資料庫的網路路徑。如果嘗試逾時而不是被拒絕,請提高 [`store.connect_timeout_seconds`](/docs/zh-TW/claude-apps-gateway-config#store) 以給每個嘗試更長的時間。 |408| 日誌:`could not connect to Postgres at boot, attempt 1 of 3` | 當 gateway 啟動時資料庫無法到達,例如在冷執行個體上,其網路仍在啟動中 | 如果 gateway 隨後完成啟動,則無需採取任何行動。當資料庫無法到達時,gateway 在結束前嘗試連線三次,間隔兩秒。如果它結束時顯示 `could not connect to Postgres`,請檢查 `store.postgres_url`(包括確認它只指定一個主機)以及到資料庫的網路路徑。如果嘗試逾時而不是被拒絕,請提高 [`store.connect_timeout_seconds`](/docs/zh-TW/claude-apps-gateway-config#store) 以給每個嘗試更長的時間。 |

403| `/oauth/callback` 顯示「Sign-in could not be completed」 | 電子郵件網域被拒絕、id\_token 驗證失敗,或 `email_verified` 明確為 `false`,gateway 始終拒絕且無法覆寫 | 檢查 `allowed_email_domains` 以及 IdP 是否傳回已驗證的 `email` 宣告。對於 `email_verified: false`,修正 IdP 端驗證。如果您的 IdP 在不同的宣告名稱下發出電子郵件,請設定 `oidc.email_claim`。 |409| `/oauth/callback` 顯示「Sign-in could not be completed」 | 電子郵件網域被拒絕、id\_token 驗證失敗,或 `email_verified` 明確為 `false`,gateway 始終拒絕且無法覆寫 | 檢查 `allowed_email_domains` 以及 IdP 是否傳回已驗證的 `email` 宣告。對於 `email_verified: false`,修正 IdP 端驗證。如果您的 IdP 在不同的宣告名稱下發出電子郵件,請設定 `oidc.email_claim`。 |

404| 日誌:`token exchange failed request_id=<id>: id_token missing email claim` | IdP 預設不在 id\_token 中包含 `email`。此拒絕僅在設定 `allowed_email_domains` 時觸發;沒有它,遺漏的電子郵件會建立沒有電子郵件的工作階段 | 設定 IdP 在 id\_token 中發出 `email`。Okta:將 `email` 新增到自訂授權伺服器的 ID token 宣告。Entra:在應用程式註冊上新增 `email` 作為選用宣告。PingFederate:啟用發出 `email` 的 OpenID Connect 原則。如果 IdP 從 userinfo 端點提供 `email` 但不會在 id\_token 中包含它,例如 Okta 組織授權伺服器,請設定 `oidc.userinfo_fallback: true`。 |410| 日誌:`token exchange failed request_id=<id>: id_token missing email claim` | IdP 預設不在 id\_token 中包含 `email`。此拒絕僅在設定 `allowed_email_domains` 時觸發;沒有它,遺漏的電子郵件會建立沒有電子郵件的工作階段 | 設定 IdP 在 id\_token 中發出 `email`。Okta:將 `email` 新增到自訂授權伺服器的 ID token 宣告。Entra:在應用程式註冊上新增 `email` 作為選用宣告。PingFederate:啟用發出 `email` 的 OpenID Connect 原則。如果 IdP 從 userinfo 端點提供 `email` 但不會在 id\_token 中包含它,例如 Okta 組織授權伺服器,請設定 `oidc.userinfo_fallback: true`。 |

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

Details

136 --policy-name bedrock-invoke --policy-document file://bedrock-invoke.json136 --policy-name bedrock-invoke --policy-document file://bedrock-invoke.json

137 ```137 ```

138 138 

139 ECS 也需要執行角色,ECS 代理本身使用它從 ECR 提取映像並注入稍後建立的 Secrets Manager 值。它與 gateway 的 AWS SDK 在執行時使用的任務角色分開:139 ECS 也需要執行角色,ECS agent 本身使用它從 ECR 提取映像並注入稍後建立的 Secrets Manager 值。它與 gateway 的 AWS SDK 在執行時使用的任務角色分開:

140 140 

141 ```bash theme={null}141 ```bash theme={null}

142 aws iam create-role --role-name claude-gateway-execution \142 aws iam create-role --role-name claude-gateway-execution \


169 </Step>169 </Step>

170 170 

171 <Step title="佈建 Amazon RDS for PostgreSQL">171 <Step title="佈建 Amazon RDS for PostgreSQL">

172 實例在私有子網中執行,沒有公開地址,儲存加密已開啟。引擎版本固定為 Postgres 16,滿足 gateway 支援的 PostgreSQL 14 下限,並保證下面的參數群組系列與實例相符。172 實例在私有子網中執行 Postgres 16,沒有公開地址,儲存加密已開啟。

173 173 

174 首先,建立將資料庫放在私有子網中的子網群組,以及具有 `rds.force_ssl=1` 的參數群組,以便伺服器拒絕純文字連接。引擎版本固定一次,因為參數群組的系列必須與實例執行的引擎主要版本相符:174 首先,建立將資料庫放在私有子網中的子網群組,以及具有 `rds.force_ssl=1` 的參數群組,以便伺服器拒絕純文字連接。引擎版本固定一次,因為參數群組的系列必須與實例執行的引擎主要版本相符:

175 175 


218 </Step>218 </Step>

219 219 

220 <Step title="寫入 gateway.yaml">220 <Step title="寫入 gateway.yaml">

221 `upstreams` 區塊使用 `auth: {}` 指向 Bedrock,因此 gateway 透過 ECS 上的任務角色或 EKS 上的 IRSA 角色從 AWS 預設認證鏈進行驗證。有關每個欄位,請參閱[設定參考](/docs/zh-TW/claude-apps-gateway-config)。221 `upstreams` 區塊使用 `auth: {}` 指向 Bedrock,因此 gateway 透過 ECS 上的任務角色或 EKS 上的 IRSA 角色從 AWS 預設憑證鏈進行驗證。有關每個欄位,請參閱[設定參考](/docs/zh-TW/claude-apps-gateway-config)。

222 222 

223 兩個 `listen` 欄位描述什麼位於 gateway 前面:223 兩個 `listen` 欄位描述什麼位於 gateway 前面:

224 224 

225 * `public_url`:外部 `https://` 來源,非環回繫結時必需;請參閱 [`listen` 參考](/docs/zh-TW/claude-apps-gateway-config#listen)。gateway 僅從此值建置 IdP `redirect_uri` 和其發現文件,絕不從 `X-Forwarded-*` 標頭建置。225 * `public_url`:外部 `https://` 來源,非環回繫結時必需;請參閱 [`listen` 參考](/docs/zh-TW/claude-apps-gateway-config#listen)。gateway 僅從此值建置 IdP `redirect_uri` 和其發現文件,絕不從 `X-Forwarded-*` 標頭建置。

226 * `trusted_proxies`:前端的來源範圍。gateway 僅當 TCP 對等體在此清單中時才接受 `X-Forwarded-For`,然後在受信任的躍點之後遍歷鏈,因此每 IP 登入速率限制和稽核事件記錄開發人員 IP 而不是負載平衡器的。226 * `trusted_proxies`:前端的來源範圍。gateway 僅當 TCP 對等體在此清單中時才接受 `X-Forwarded-For`,然後在受信任的躍點之後遍歷鏈,因此每 IP 登入速率限制和稽核事件記錄開發人員 IP 而不是負載平衡器的。

227 227 

228 在兩個軌道上,前端都是內部 ALB,無論是直接建立還是由 AWS Load Balancer Controller 建立,ALB 的節點從其附加到的子網中取得地址,因此將 `trusted_proxies` 設定為這些子網的 CIDR。這信任這些子網中的每個主機作為代理。保持 ALB 的入站來源(您的公司 CIDR)不與它們重疊,並且不要與可能透過 `X-Forwarded-For` 欺騙客戶端 IP 的不受信任的工作負載共享子網。228 在兩個軌道上,前端都是內部 ALB,無論是直接建立還是由 AWS Load Balancer Controller 建立,ALB 的節點從其附加到的子網中取得地址,因此將 `trusted_proxies` 設定為這些子網的 CIDR。這信任這些子網中的每個主機作為代理伺服器。保持 ALB 的入站來源(您的公司 CIDR)不與它們重疊,並且不要與可能透過 `X-Forwarded-For` 欺騙客戶端 IP 的不受信任的工作負載共享子網。

229 229 

230 ALB 的客戶端連接埠保留屬性 `routing.http.xff_client_port.enabled` 可以保持任一設定:開啟時,ALB 將客戶端寫為 `203.0.113.7:54321` 或 `[2001:db8::1]:54321`,gateway 讀取兩者並刪除連接埠。230 ALB 的客戶端連接埠保留屬性 `routing.http.xff_client_port.enabled` 可以保持任一設定:開啟時,ALB 將客戶端寫為 `203.0.113.7:54321` 或 `[2001:db8::1]:54321`,gateway 讀取兩者並刪除連接埠。

231 231 


261 - provider: bedrock261 - provider: bedrock

262 region: <your-region> # 符合 $AWS_REGION 以便 IAM262 region: <your-region> # 符合 $AWS_REGION 以便 IAM

263 # 原則的 ARN 涵蓋它263 # 原則的 ARN 涵蓋它

264 auth: {} # AWS 預設認證鏈:264 auth: {} # AWS 預設憑證鏈:

265 # ECS 任務角色,或 EKS 上的 IRSA265 # ECS 任務角色,或 EKS 上的 IRSA

266 ```266 ```

267 267 


288 字面 `--secret-string` 引數在每個命令執行時在程序表和稽核/EDR 日誌中可見。在共享或受監控的主機上,將值放在 `0600` 檔案中,改為傳遞 `--secret-string file://<path>`。套件的 `setup.sh` 以相同方式將機密值保持在程序 argv 之外,將 `0600` 臨時檔案傳遞給 `--cli-input-json`。288 字面 `--secret-string` 引數在每個命令執行時在程序表和稽核/EDR 日誌中可見。在共享或受監控的主機上,將值放在 `0600` 檔案中,改為傳遞 `--secret-string file://<path>`。套件的 `setup.sh` 以相同方式將機密值保持在程序 argv 之外,將 `0600` 臨時檔案傳遞給 `--cli-input-json`。

289 </Note>289 </Note>

290 290 

291 與機密不同,`gateway.yaml` 本身不包含機密值,因為每個認證在啟動時透過 [`${VAR}` 或 `${file:...}` 擴展](/docs/zh-TW/claude-apps-gateway-config#secret-expansion)解析。一切如何到達容器因軌道而異:291 與機密不同,`gateway.yaml` 本身不包含機密值,因為每個憑證在啟動時透過 [`${VAR}` 或 `${file:...}` 擴展](/docs/zh-TW/claude-apps-gateway-config#secret-expansion)解析。一切如何到達容器因軌道而異:

292 292 

293 * 在 ECS 上,下一步的建置將 `gateway.yaml` 複製到映像中的 `/etc/claude/gateway.yaml`,任務定義透過其 `secrets` 欄位將三個機密注入為環境變數,因此 YAML 參考 `${GATEWAY_JWT_SECRET}`、`${OIDC_CLIENT_SECRET}` 和 `${GATEWAY_POSTGRES_URL}`。293 * 在 ECS 上,下一步的建置將 `gateway.yaml` 複製到映像中的 `/etc/claude/gateway.yaml`,任務定義透過其 `secrets` 欄位將三個機密注入為環境變數,因此 YAML 參考 `${GATEWAY_JWT_SECRET}`、`${OIDC_CLIENT_SECRET}` 和 `${GATEWAY_POSTGRES_URL}`。

294 * 在 EKS 上,從 ConfigMap 掛載 `gateway.yaml` 和機密作為 `/secrets` 中的檔案,參考為 `${file:/secrets/...}`。使用 External Secrets Operator 或 Secrets Store CSI 驅動程式的 AWS 提供者從 Secrets Manager 來源 Kubernetes Secrets,或使用 `kubectl` 直接建立它們。294 * 在 EKS 上,從 ConfigMap 掛載 `gateway.yaml` 和機密作為 `/secrets` 中的檔案,參考為 `${file:/secrets/...}`。使用 External Secrets Operator 或 Secrets Store CSI 驅動程式的 AWS 提供者從 Secrets Manager 來源 Kubernetes Secrets,或使用 `kubectl` 直接建立它們。


400 400 

401 新增 HTTPS 監聽器。`--ssl-policy` 固定現代 TLS 下限,因為省略它會回到舊版 `ELBSecurityPolicy-2016-08` 預設值,仍然接受 TLS 1.0/1.1。401 新增 HTTPS 監聽器。`--ssl-policy` 固定現代 TLS 下限,因為省略它會回到舊版 `ELBSecurityPolicy-2016-08` 預設值,仍然接受 TLS 1.0/1.1。

402 402 

403 ALB 預設在 60 秒後沒有資料的連接關閉。gateway 的保活 ping 保持串流在該預設值內,因此提高逾時在 ping 頻率上方增加邊距;[故障排除](#troubleshooting)行關於掉落的串流涵蓋機制和較舊的 gateway。下面的命令新增監聽器並提高逾時:403 ALB 預設在 60 秒後沒有資料的連接關閉。gateway 的保活 ping 保持串流在該預設值內,因此提高逾時在 ping 頻率上方增加邊距;[疑難排解](#troubleshooting)行關於掉落的串流涵蓋機制和較舊的 gateway。下面的命令新增監聽器並提高逾時:

404 404 

405 ```bash theme={null}405 ```bash theme={null}

406 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \406 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \


424 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"424 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

425 ```425 ```

426 426 

427 60 秒的寬限期給冷任務時間拉取映像、連接到儲存並在 ECS 開始計算針對部署的失敗之前回答其第一個健康檢查。目標群組在 `GET /readyz` 上的健康檢查驗證儲存是否可到達,因此無法到達 Postgres 的任務永遠不會進入輪換。為了保持任務通過短資料庫中斷(例如 RDS 容錯移轉)的健康檢查,請設定 `store.readiness_grace_seconds`,如[中斷行為](/docs/zh-TW/claude-apps-gateway-deploy#outage-behavior)所述,其中也涵蓋 `/healthz` 替代方案。427 60 秒的寬限期給冷任務時間拉取映像、連接到儲存並在 ECS 開始計算針對部署的失敗之前回答其第一個健康檢查。

428 

429 目標群組在 `GET /readyz` 上的健康檢查驗證儲存是否可到達,因此無法到達 Postgres 的任務永遠不會進入輪換。為了保持任務通過短資料庫中斷(例如 RDS 容錯移轉)的健康檢查,請設定 `store.readiness_grace_seconds`,如[中斷行為](/docs/zh-TW/claude-apps-gateway-deploy#outage-behavior)所述,其中也涵蓋 `/healthz` 替代方案。

428 430 

429 任務在沒有公開 IP 的私有子網中執行,因此所有出站流量(到 Bedrock、您的 IdP、Secrets Manager、ECR 和 CloudWatch Logs)都透過 NAT 閘道。為了保持 Bedrock 流量不走公開路徑,建立 `bedrock-runtime` 介面 VPC 端點並將上游的 `base_url` 指向它,如 [Bedrock 上游參考](/docs/zh-TW/claude-apps-gateway-config#amazon-bedrock)所示;IdP 仍然需要網際網路出站。431 任務在沒有公開 IP 的私有子網中執行,因此所有出站流量(到 Bedrock、您的 IdP、Secrets Manager、ECR 和 CloudWatch Logs)都透過 NAT 閘道。為了保持 Bedrock 流量不走公開路徑,建立 `bedrock-runtime` 介面 VPC 端點並將上游的 `base_url` 指向它,如 [Bedrock 上游參考](/docs/zh-TW/claude-apps-gateway-config#amazon-bedrock)所示;IdP 仍然需要網際網路出站。

430 432 


436 <Tab title="EKS">438 <Tab title="EKS">

437 此軌道需要在本地安裝 `kubectl` 和 `eksctl`,以及具有 IAM OIDC 提供者和已安裝 AWS Load Balancer Controller 的現有 EKS 叢集。叢集必須在 `$VPC_ID` 上,以便 pod 可以到達 RDS 私有端點,`claude-gateway-db` 安全群組必須允許叢集的 pod 或節點安全群組而不是 `$GW_SG`。439 此軌道需要在本地安裝 `kubectl` 和 `eksctl`,以及具有 IAM OIDC 提供者和已安裝 AWS Load Balancer Controller 的現有 EKS 叢集。叢集必須在 `$VPC_ID` 上,以便 pod 可以到達 RDS 私有端點,`claude-gateway-db` 安全群組必須允許叢集的 pod 或節點安全群組而不是 `$GW_SG`。

438 440 

439 在 EKS 上,gateway 透過 IRSA 而不是 ECS 角色從 Bedrock 獲得其認證。IAM 步驟中的 `ecs-tasks.amazonaws.com` 信任原則在此不適用;IRSA 需要一個信任原則在叢集的 OIDC 提供者上聯合的角色,範圍為 `system:serviceaccount:claude-gateway:gateway`。`eksctl create iamserviceaccount` 在一個步驟中建立該角色、附加原則並使用角色 ARN 註釋 Kubernetes 服務帳戶。將 IAM 步驟中的兩個原則文件轉換為它可以附加的受管原則:441 在 EKS 上,gateway 透過 IRSA 而不是 ECS 角色取得其 Bedrock 憑證。IAM 步驟中的 `ecs-tasks.amazonaws.com` 信任原則在此不適用;IRSA 需要一個信任原則在叢集的 OIDC 提供者上聯合的角色,範圍為 `system:serviceaccount:claude-gateway:gateway`。`eksctl create iamserviceaccount` 在一個步驟中建立該角色、附加原則並使用角色 ARN 註釋 Kubernetes 服務帳戶。將 IAM 步驟中的兩個原則文件轉換為它可以附加的受管原則:

440 442 

441 ```bash theme={null}443 ```bash theme={null}

442 BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \444 BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \


467 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`,因此控制器管理的前端安全群組僅允許您的公司網路代替其 `0.0.0.0/0` 預設值469 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`,因此控制器管理的前端安全群組僅允許您的公司網路代替其 `0.0.0.0/0` 預設值

468 * `alb.ingress.kubernetes.io/certificate-arn` 與 ACM 憑證470 * `alb.ingress.kubernetes.io/certificate-arn` 與 ACM 憑證

469 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`,因此監聽器不會回到接受 TLS 1.0 和 1.1 的舊版預設原則471 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`,因此監聽器不會回到接受 TLS 1.0 和 1.1 的舊版預設原則

470 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`,在 gateway 的串流保活上方的邊距;請參閱[故障排除](#troubleshooting)472 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`,在 gateway 的串流保活上方的邊距;請參閱[疑難排解](#troubleshooting)

471 473 

472 使用 IRSA,AWS SDK 讀取投影的服務帳戶權杖並與 AWS STS 交換它,因此 pod 永遠不需要 EC2 實例中繼資料服務;出站 NetworkPolicy 可能會為 gateway pod 阻止 `169.254.169.254`。下面[故障排除](#troubleshooting)中的節點躍點限制問題僅適用於跳過 IRSA 並依賴節點實例角色的叢集。474 使用 IRSA,AWS SDK 讀取投影的服務帳戶權杖並與 AWS STS 交換它,因此 pod 永遠不需要 EC2 實例中繼資料服務;出站 NetworkPolicy 可能會為 gateway pod 阻止 `169.254.169.254`。下面[疑難排解](#troubleshooting)中的節點躍點限制問題僅適用於跳過 IRSA 並依賴節點實例角色的叢集。

473 </Tab>475 </Tab>

474 </Tabs>476 </Tabs>

475 </Step>477 </Step>

Details

442`claude --cloud` 和 `claude --teleport` 需要使用 claude.ai 帳戶登入。如果您使用 API 金鑰進行身分驗證,或您儲存的帳戶詳細資訊已過期,您會看到以下其中一項:442`claude --cloud` 和 `claude --teleport` 需要使用 claude.ai 帳戶登入。如果您使用 API 金鑰進行身分驗證,或您儲存的帳戶詳細資訊已過期,您會看到以下其中一項:

443 443 

444* `Unable to get organization UUID`444* `Unable to get organization UUID`

445* 表示 API 金鑰身分驗證不足的訊息445* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

446* 在不提供工作階段 ID 的情況下執行 `claude --teleport` 時,工作階段選擇器中出現 `Error loading Claude Code sessions`446* 在不提供工作階段 ID 的情況下執行 `claude --teleport` 時,工作階段選擇器中出現 `Error loading Claude Code sessions`

447 447 

448執行 `/login` 以使用您的 claude.ai 帳戶登入,然後重試命令。如果錯誤改為指出您的提供者名稱,請參閱[錯誤表](#errors-when-sending-to-a-cloud-session):雲端工作階段無法透過第三方提供者使用。448在您的 shell 中執行 [`claude auth login`](/docs/zh-TW/cli-reference#cli-commands) 以使用您的 claude.ai 帳戶登入,然後重試命令。在執行中的工作階段內,`/login` 的作用相同。如果錯誤改為指出您的提供者名稱,請參閱[錯誤表](#errors-when-sending-to-a-cloud-session):雲端工作階段無法透過第三方提供者使用。

449 

450從 v2.1.274 到 v2.1.289,登入訊息為 `Claude Code cloud sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.`

449 451 

450<h3 id="remote-control-session-expired-or-access-denied">452<h3 id="remote-control-session-expired-or-access-denied">

451 遠端控制工作階段已過期或存取被拒絕453 遠端控制工作階段已過期或存取被拒絕

Details

31| `claude attach <id\|name>` | 在此終端機中附加到 [背景工作階段](/docs/zh-TW/agent-view#manage-sessions-from-the-shell)。以執行中工作階段名稱的一部分取代 ID 傳遞,需要 Claude Code v2.1.290 或更新版本 | `claude attach 7c5dcf5d` |31| `claude attach <id\|name>` | 在此終端機中附加到 [背景工作階段](/docs/zh-TW/agent-view#manage-sessions-from-the-shell)。以執行中工作階段名稱的一部分取代 ID 傳遞,需要 Claude Code v2.1.290 或更新版本 | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | 以 JSON 格式列印內建 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器規則。使用 `claude auto-mode config` 查看應用了設定的有效設定。使用 `--label <prefix>` 僅列印標籤以該前綴開頭的規則,不區分大小寫。需要 Claude Code v2.1.208 或更新版本 | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | 以 JSON 格式列印內建 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 分類器規則。使用 `claude auto-mode config` 查看應用了設定的有效設定。使用 `--label <prefix>` 僅列印標籤以該前綴開頭的規則,不區分大小寫。需要 Claude Code v2.1.208 或更新版本 | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | 透過從使用者設定檔案中移除 `autoMode` 部分來還原預設 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 設定。在寫入前提示確認;傳遞 `-y`/`--yes` 以跳過提示。來自 [受管設定](/docs/zh-TW/server-managed-settings) 或 `--settings` 旗標的規則仍然適用。需要 Claude Code v2.1.212 或更新版本。請參閱 [檢查預設值和您的有效設定](/docs/zh-TW/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | 透過從使用者設定檔案中移除 `autoMode` 部分來還原預設 [自動模式](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 設定。在寫入前提示確認;傳遞 `-y`/`--yes` 以跳過提示。來自 [受管設定](/docs/zh-TW/server-managed-settings) 或 `--settings` 旗標的規則仍然適用。需要 Claude Code v2.1.212 或更新版本。請參閱 [檢查預設值和您的有效設定](/docs/zh-TW/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |

34| `claude daemon logs` | 追蹤背景工作階段 [監督程序](/docs/zh-TW/agent-view#the-supervisor-process) 的日誌檔案 `~/.claude/daemon.log`,在新行出現時將其列印出來,直到您按下 `Ctrl+C` | `claude daemon logs` |

35| `claude daemon run` | 在此終端機的前景中執行背景工作階段 [監督程序](/docs/zh-TW/agent-view#the-supervisor-process),並列印其日誌 | `claude daemon run` |

34| `claude daemon status` | 列印背景工作階段 [監督程序](/docs/zh-TW/agent-view#the-supervisor-process) 的狀態、版本、通訊端目錄和工作程序計數以進行診斷。如果監督程序未執行則退出代碼 1 | `claude daemon status` |36| `claude daemon status` | 列印背景工作階段 [監督程序](/docs/zh-TW/agent-view#the-supervisor-process) 的狀態、版本、通訊端目錄和工作程序計數以進行診斷。如果監督程序未執行則退出代碼 1 | `claude daemon status` |

35| `claude daemon stop --any` | 停止背景工作階段 [監督程序](/docs/zh-TW/agent-view#the-supervisor-process) 及其託管的工作階段。傳遞 `--keep-workers` 以保持背景工作階段執行,以便下一個監督程序重新連接到它們。`--any` 確認停止隨需監督程序,這是預設值。使用此命令從 [無回應的監督程序](/docs/zh-TW/agent-view#agent-view-says-the-background-service-did-not-respond) 復原 | `claude daemon stop --any --keep-workers` |37| `claude daemon stop --any` | 停止背景工作階段 [監督程序](/docs/zh-TW/agent-view#the-supervisor-process) 及其託管的工作階段。傳遞 `--keep-workers` 以保持背景工作階段執行,以便下一個監督程序重新連接到它們。`--any` 確認停止隨需監督程序,這是預設值。使用此命令從 [無回應的監督程序](/docs/zh-TW/agent-view#agent-view-says-the-background-service-did-not-respond) 復原 | `claude daemon stop --any --keep-workers` |

36| `claude doctor` | 從終端機列印唯讀安裝和設定診斷,無需啟動工作階段,包括安裝健康狀況、設定檔案驗證錯誤和 Remote Control 資格。如需可以套用修復的工作階段內設定檢查,請執行 [`/doctor`](/docs/zh-TW/commands#all-commands) | `claude doctor` |38| `claude doctor` | 從終端機列印唯讀安裝和設定診斷,無需啟動工作階段,包括安裝健康狀況、設定檔案驗證錯誤和 Remote Control 資格。如需可以套用修復的工作階段內設定檢查,請執行 [`/doctor`](/docs/zh-TW/commands#all-commands) | `claude doctor` |

desktop.md +1 −1

Details

1092若要查看您執行的桌面應用程式版本:1092若要查看您執行的桌面應用程式版本:

1093 1093 

1094* **macOS**:點擊選單列中的 **Claude**,然後點擊 **About Claude**1094* **macOS**:點擊選單列中的 **Claude**,然後點擊 **About Claude**

1095* **Windows**:點擊 **Help**,然後點擊 **About**1095* **Windows**:點擊 **Help**,然後點擊 **About Claude**

1096 1096 

1097點擊版本號以將其複製到您的剪貼簿。1097點擊版本號以將其複製到您的剪貼簿。

1098 1098 

Details

92* 使用 **Cmd+S** 儲存螢幕擷圖或使用 **Cmd+R** 儲存螢幕錄製,使用窗格的擷取按鈕或快捷鍵;檔案會儲存到您的桌面92* 使用 **Cmd+S** 儲存螢幕擷圖或使用 **Cmd+R** 儲存螢幕錄製,使用窗格的擷取按鈕或快捷鍵;檔案會儲存到您的桌面

93* 透過按一下 **Detach simulator** 停止串流裝置而不關閉它,這會將窗格返回其 **Attach simulator** 狀態93* 透過按一下 **Detach simulator** 停止串流裝置而不關閉它,這會將窗格返回其 **Attach simulator** 狀態

94 94 

95若要調整來自模擬器的影片串流,請開啟窗格的 **Display** 功能表。如果窗格對您的 Mac 造成負擔,請降低 **Frame rate** 或 **Resolution**。這兩項設定會變更窗格顯示裝置的方式,而不是應用程式的執行方式。95如果窗格顯示 **Display** 功能表,請使用它來調整來自模擬器的影片串流。如果窗格對您的 Mac 造成負擔,請降低 **Frame rate** 或 **Resolution**。這兩項設定會變更窗格顯示裝置的方式,而不是應用程式的執行方式。

96 96 

97您和 Claude 驅動相同的裝置,因此您的點選會變更 Claude 看到的應用程式狀態。要讓 Claude 檢查特定螢幕,請透過點選導航到它,然後要求。當 Claude 驅動裝置時,窗格會在螢幕上方顯示 **Claude is using this device** 徽章;在徽章清除之前暫停點選,以便結果反映應用程式而不是您的輸入。97您和 Claude 驅動相同的裝置,因此您的點選會變更 Claude 看到的應用程式狀態。要讓 Claude 檢查特定螢幕,請透過點選導航到它,然後要求。當 Claude 驅動裝置時,窗格會在螢幕上方顯示 **Claude is using this device** 徽章;在徽章清除之前暫停點選,以便結果反映應用程式而不是您的輸入。

98 98 

env-vars.md +1 −0

Details

354| `CLAUDE_CODE_PERFORCE_MODE` | 設為 `1` 可啟用感知 Perforce 的寫入保護。設定後,若目標檔案缺少擁有者寫入位元,Edit、Write 與 NotebookEdit 會失敗並提示 `p4 edit <file>`;Perforce 會清除已同步檔案的此位元,直到以 `p4 edit` 開啟為止。這可防止 Claude Code 繞過 Perforce 的變更追蹤 |354| `CLAUDE_CODE_PERFORCE_MODE` | 設為 `1` 可啟用感知 Perforce 的寫入保護。設定後,若目標檔案缺少擁有者寫入位元,Edit、Write 與 NotebookEdit 會失敗並提示 `p4 edit <file>`;Perforce 會清除已同步檔案的此位元,直到以 `p4 edit` 開啟為止。這可防止 Claude Code 繞過 Perforce 的變更追蹤 |

355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 覆寫外掛根目錄。儘管名稱如此,此變數設定的是父目錄,而非快取本身:市集與外掛快取位於此路徑下的子目錄中。預設為 `~/.claude/plugins` |355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 覆寫外掛根目錄。儘管名稱如此,此變數設定的是父目錄,而非快取本身:市集與外掛快取位於此路徑下的子目錄中。預設為 `~/.claude/plugins` |

356| `CLAUDE_CODE_PLUGIN_DIRS` | 要為工作階段載入的外掛目錄,每個目錄的載入方式都與 [`--plugin-dir`](/docs/zh-TW/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) 旗標相同。在 Unix 上以 `:` 分隔多個路徑,在 Windows 上以 `;` 分隔。每個路徑請使用絕對路徑或以 `~` 開頭,因為 Claude Code 會略過相對路徑。需要 Claude Code v2.1.280 或更新版本。請參閱[為單一工作階段載入外掛](/docs/zh-TW/plugins/create#load-a-directory-or-archive-for-one-session) |356| `CLAUDE_CODE_PLUGIN_DIRS` | 要為工作階段載入的外掛目錄,每個目錄的載入方式都與 [`--plugin-dir`](/docs/zh-TW/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) 旗標相同。在 Unix 上以 `:` 分隔多個路徑,在 Windows 上以 `;` 分隔。每個路徑請使用絕對路徑或以 `~` 開頭,因為 Claude Code 會略過相對路徑。需要 Claude Code v2.1.280 或更新版本。請參閱[為單一工作階段載入外掛](/docs/zh-TW/plugins/create#load-a-directory-or-archive-for-one-session) |

357| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 控制 Claude Code 是否會在 [mod](/docs/zh-TW/plugins/mods/overview) 的檔案變更時重新載入該 mod。重新載入適用於您使用 `--plugin-dir` 從目錄載入的 mod,且在互動式工作階段中預設為開啟。設定為 `1` 可同時在非互動式工作階段中開啟,設定為 `0` 則在所有工作階段中關閉。需要 Claude Code v2.1.287 或更新版本。請參閱 [mod 設定與環境變數](/docs/zh-TW/plugins/mods/reference#settings-and-environment-variables) |

357| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 複製或重新整理外掛市集的逾時時間(毫秒)(預設:120000)。對於大型儲存庫或緩慢的網路連線,請提高此值。請參閱 [Git clone timed out](/docs/zh-TW/plugins/troubleshooting#git-clone-timed-out-after-120s) |358| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 複製或重新整理外掛市集的逾時時間(毫秒)(預設:120000)。對於大型儲存庫或緩慢的網路連線,請提高此值。請參閱 [Git clone timed out](/docs/zh-TW/plugins/troubleshooting#git-clone-timed-out-after-120s) |

358| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 設為 `1` 可在市集重新整理無法連線至遠端或無法向遠端完成身分驗證時,略過重新複製的嘗試並繼續使用現有的市集 checkout。適用於重新複製也會以相同方式失敗的離線或實體隔離環境。請參閱[市集更新在離線環境中失敗](/docs/zh-TW/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |359| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 設為 `1` 可在市集重新整理無法連線至遠端或無法向遠端完成身分驗證時,略過重新複製的嘗試並繼續使用現有的市集 checkout。適用於重新複製也會以相同方式失敗的離線或實體隔離環境。請參閱[市集更新在離線環境中失敗](/docs/zh-TW/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

359| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | 設為 `1` 可透過 HTTPS 而非 SSH 複製 GitHub `owner/repo` 簡寫來源。適用於外掛安裝與更新,以及 `/plugin marketplace add` 與 `update`。適用於 CI runner、容器或任何未針對 `github.com` 設定 SSH 金鑰的環境 |360| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | 設為 `1` 可透過 HTTPS 而非 SSH 複製 GitHub `owner/repo` 簡寫來源。適用於外掛安裝與更新,以及 `/plugin marketplace add` 與 `update`。適用於 CI runner、容器或任何未針對 `github.com` 設定 SSH 金鑰的環境 |

errors.md +2 −3

Details

197| `Cloud sessions cannot be created from a --restricted session` | [命令列錯誤](#cloud-sessions-cannot-be-created-from-a-restricted-session) |197| `Cloud sessions cannot be created from a --restricted session` | [命令列錯誤](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

198| `Cloud sessions are disabled by your organization's policy` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |198| `Cloud sessions are disabled by your organization's policy` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |

199| `Couldn't verify your organization's policy for cloud sessions` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |199| `Couldn't verify your organization's policy for cloud sessions` | [命令列錯誤](#cloud-sessions-are-disabled-by-your-organizations-policy) |

200| `Cloud sessions need a claude.ai sign-in` | [無法取得組織 UUID](/docs/zh-TW/claude-code-on-the-web#unable-to-get-organization-uuid) |

200| `Error: --json-schema is not a valid JSON Schema` | [命令列錯誤](#the-json-schema-value-is-not-a-valid-json-schema) |201| `Error: --json-schema is not a valid JSON Schema` | [命令列錯誤](#the-json-schema-value-is-not-a-valid-json-schema) |

201| `Error: Invalid --agents configuration:` | [命令列錯誤](#invalid-agents-configuration) |202| `Error: Invalid --agents configuration:` | [命令列錯誤](#invalid-agents-configuration) |

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


387* Claude Code 偵測到的連線在您的電腦進入睡眠狀態時在請求中途被中斷。Claude Code 將其計為上述規則下的連線中斷;一旦重試標籤命名了具體原因,它會讀作 `Connection lost while your computer was asleep`,如果回合在 Claude 完成思考但在任何文字或工具呼叫之前結束,訊息會讀作 `Your computer went to sleep before a response was produced`。388* Claude Code 偵測到的連線在您的電腦進入睡眠狀態時在請求中途被中斷。Claude Code 將其計為上述規則下的連線中斷;一旦重試標籤命名了具體原因,它會讀作 `Connection lost while your computer was asleep`,如果回合在 Claude 完成思考但在任何文字或工具呼叫之前結束,訊息會讀作 `Your computer went to sleep before a response was produced`。

388* 停滯的回應串流,當回應標頭已到達但 Claude 回應的任何部分都未到達,或當 Claude 完成思考但尚未開始任何文字或工具呼叫時:Claude Code 會中止停滯的連線,並最多重新發出一次請求,不在上述 10 次嘗試預算內。如果在 Claude 完成思考但在任何文字或工具呼叫之前回應停滯第二次,Claude Code 會以 `The response stalled before a response was produced` 結束回合。389* 停滯的回應串流,當回應標頭已到達但 Claude 回應的任何部分都未到達,或當 Claude 完成思考但尚未開始任何文字或工具呼叫時:Claude Code 會中止停滯的連線,並最多重新發出一次請求,不在上述 10 次嘗試預算內。如果在 Claude 完成思考但在任何文字或工具呼叫之前回應停滯第二次,Claude Code 會以 `The response stalled before a response was produced` 結束回合。

389* 串流請求 API 從未以回應標頭回答,在 [first-byte deadline 執行](/docs/zh-TW/network-config#streaming-idle-watchdogs) 的連線上:Claude Code 在截止時間中止它,並在重試預算內最多每個模型請求重新發送一次,然後如果該嘗試也未獲得回答,則以 [No response from API](#no-response-from-api) 結束回合。在其他連線上,請求會等待 `API_TIMEOUT_MS`。當您設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,一次重試上限不適用。390* 串流請求 API 從未以回應標頭回答,在 [first-byte deadline 執行](/docs/zh-TW/network-config#streaming-idle-watchdogs) 的連線上:Claude Code 在截止時間中止它,並在重試預算內最多每個模型請求重新發送一次,然後如果該嘗試也未獲得回答,則以 [No response from API](#no-response-from-api) 結束回合。在其他連線上,請求會等待 `API_TIMEOUT_MS`。當您設定 `CLAUDE_CODE_RETRY_WATCHDOG` 時,一次重試上限不適用。

391* 在 Claude 完成思考或開始任何文字或工具呼叫之前,被 API 輸出內容過濾器停止的串流回應。Claude Code 會在重試預算內重新發送請求一次,如果過濾器也停止了第二個回應,則顯示 [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy)。

390* 暫時性 429 節流,但不是閘道的支出限制 `429`,這不是節流;請參閱 [Spend limit reached](#spend-limit-reached)。392* 暫時性 429 節流,但不是閘道的支出限制 `429`,這不是節流;請參閱 [Spend limit reached](#spend-limit-reached)。

391 * 當您使用 claude.ai 訂閱登入時,這包括不帶有您方案配額標頭的 429 節流。在 v2.1.199 之前,Claude Code 僅針對 API 金鑰和 Enterprise 登入重試這些節流。393 * 當您使用 claude.ai 訂閱登入時,這包括不帶有您方案配額標頭的 429 節流。在 v2.1.199 之前,Claude Code 僅針對 API 金鑰和 Enterprise 登入重試這些節流。

392* 因為輸入加上 `max_tokens` 超過上下文限制而被拒絕的請求。以相同方式重新發送它會以相同方式失敗,所以 Claude Code 會以縮減的 `max_tokens` 重試,並在兩種情況下停止重試並改為壓縮:394* 因為輸入加上 `max_tokens` 超過上下文限制而被拒絕的請求。以相同方式重新發送它會以相同方式失敗,所以 Claude Code 會以縮減的 `max_tokens` 重試,並在兩種情況下停止重試並改為壓縮:


405* [Amazon Bedrock 串流回應具有意外的 content-type](#bedrock-streaming-response-has-an-unexpected-content-type),因為重寫回應的閘道或代理伺服器會以相同方式重寫重試。需要 Claude Code v2.1.208 或更新版本。407* [Amazon Bedrock 串流回應具有意外的 content-type](#bedrock-streaming-response-has-an-unexpected-content-type),因為重寫回應的閘道或代理伺服器會以相同方式重寫重試。需要 Claude Code v2.1.208 或更新版本。

406* 失敗的串流請求的非串流重試獲得成功狀態但 [body 中沒有 Claude API 訊息](#api-returned-an-empty-or-malformed-response)。Claude Code 以該錯誤結束回合。408* 失敗的串流請求的非串流重試獲得成功狀態但 [body 中沒有 Claude API 訊息](#api-returned-an-empty-or-malformed-response)。Claude Code 以該錯誤結束回合。

407* 您的組織的原則檢查拒絕的請求,其表現為帶有拒絕訊息的 `API Error:` 行。您的組織管理員使用 [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks)(Claude Enterprise 功能)設定檢查,訊息以他們設定的指示結尾,或預設告訴您聯絡他們。Claude Code 不會將被拒絕的請求重新發送到相同的模型或 [備援模型](/docs/zh-TW/model-config#fallback-model-chains),因為拒絕是關於請求的內容而不是模型。在 v2.1.239 之前,Claude Code 可能會在向您顯示拒絕之前,以非串流方式或在設定的備援模型上重新發送被拒絕的請求。409* 您的組織的原則檢查拒絕的請求,其表現為帶有拒絕訊息的 `API Error:` 行。您的組織管理員使用 [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks)(Claude Enterprise 功能)設定檢查,訊息以他們設定的指示結尾,或預設告訴您聯絡他們。Claude Code 不會將被拒絕的請求重新發送到相同的模型或 [備援模型](/docs/zh-TW/model-config#fallback-model-chains),因為拒絕是關於請求的內容而不是模型。在 v2.1.239 之前,Claude Code 可能會在向您顯示拒絕之前,以非串流方式或在設定的備援模型上重新發送被拒絕的請求。

408* 被 API 輸出內容過濾器封鎖的回應。Claude Code 會立即顯示 [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy),且不會重試或重新發送該請求。

409 410 

410<h3 id="what-you-see-while-claude-code-retries-or-waits">411<h3 id="what-you-see-while-claude-code-retries-or-waits">

411 當 Claude Code 重試或等待時您看到的內容412 當 Claude Code 重試或等待時您看到的內容


2905API Error: Output blocked by content filtering policy2906API Error: Output blocked by content filtering policy

2906```2907```

2907 2908 

2908Claude Code 會在封鎖抵達時立即顯示錯誤,並在此結束請求。它不會重試請求、以非串流方式重新發送,或切換到[備援模型](/docs/zh-TW/model-config#fallback-model-chains)。在 v2.1.285 之前,Claude Code 可能會重新發送並重試被封鎖的請求,有時長達數分鐘,才向您顯示錯誤。

2909 

2910**該怎麼辦:**2909**該怎麼辦:**

2911 2910 

2912* 重新措辭您的最後一則訊息,或採取不同的方法2911* 重新措辭您的最後一則訊息,或採取不同的方法

Details

733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.

734```734```

735 735 

736此 agent 命名為 `my-plugin:security-reviewer`,使用者可以使用 `@agent-my-plugin:security-reviewer` [明確叫用它](/docs/zh-TW/sub-agents#invoke-subagents-explicitly)。名稱形式是 `<plugin>:<name>`,其中 `<name>` 來自 frontmatter,或沒有時來自檔案名稱。736此 agent 命名為 `my-plugin:security-reviewer`,使用者可以使用 `@agent-my-plugin:security-reviewer` [明確叫用它](/docs/zh-TW/sub-agents#invoke-subagents-explicitly)。名稱形式是 `<plugin>:<name>`,其中 `<name>` 來自 frontmatter 的 `name` 欄位,或在該欄位缺少時來自檔案名稱。

737 737 

738`agents` manifest 鍵取代 `agents/` 掃描。738`agents` manifest 鍵取代 `agents/` 掃描。

739 739 

Details

428 428 

429| 元素 | 它繪製的內容 | 位置 |429| 元素 | 它繪製的內容 | 位置 |

430| :- | :- | :- |430| :- | :- | :- |

431| `Box` | 彈性容器。採用佈局屬性,例如 `flexDirection`、`columnGap`、`padding`、`borderStyle` 和 `width`。 | 到處 |431| `Box` | 彈性容器。採用佈局 prop,例如 `flexDirection`、`columnGap`、`padding`、[`borderStyle`](/docs/zh-TW/plugins/mods/reference#box-border-styles) 和 `width`。 | 到處 |

432| `Text` | 樣式文字。採用 `color`、`bold`、`dimColor`、`italic` 和 `wrap`。`color` 是主題鍵或顏色,例如 `'red'`。`wrap` 是 `'wrap'`、`'truncate'`、`'truncate-start'`、`'truncate-middle'` 或 `'truncate-end'`。 | 到處 |432| `Text` | 樣式文字。採用 `color`、`bold`、`dimColor`、`italic` 和 `wrap`。`color` 是主題鍵或顏色,例如 `'red'`。`wrap` 是 `'wrap'`、`'truncate'`、`'truncate-start'`、`'truncate-middle'` 或 `'truncate-end'`。 | 到處 |

433| `Button` | 呼叫 `onPress` 的控制項 | 到處 |433| `Button` | 呼叫 `onPress` 的控制項 | 到處 |

434| `Link`, `Code`, `Markdown` | 具有 `href` 和可選 `label` 的連結、程式碼區塊和格式化為 Claude 回覆方式的文字。`Markdown` 在 `text` 屬性中而不是在 `children` 中採用其內容,並在您傳遞 `onLinkPress` 時需要 `key`。 | 到處 |434| `Link`, `Code`, `Markdown` | 具有 `href` 和可選 `label` 的連結、程式碼區塊和格式化為 Claude 回覆方式的文字。`Markdown` 在 `text` 屬性中而不是在 `children` 中採用其內容,並在您傳遞 `onLinkPress` 時需要 `key`。 | 到處 |


563許多窗格是一個文字欄位,下面有一個清單。本部分中的範例是一個筆記窗格:您輸入一個筆記並按 Enter 新增它,每個筆記都有一個 `x` 按鈕來刪除它。新增兩個筆記後,終端機會以這種方式繪製窗格:563許多窗格是一個文字欄位,下面有一個清單。本部分中的範例是一個筆記窗格:您輸入一個筆記並按 Enter 新增它,每個筆記都有一個 `x` 按鈕來刪除它。新增兩個筆記後,終端機會以這種方式繪製窗格:

564 564 

565```text theme={null}565```text theme={null}

566╭──────────────────────────────────────────────────────────╮566╭────────────────────────────────────────────────────────✕─╮

567│ Note: Type a note and press Enter ⏎ add ✕ │567│ Note: Type a note and press Enter ⏎ add │

568│ x buy milk │568│ x buy milk │

569│ x call bob │569│ x call bob │

570╰──────────────────────────────────────────────────────────╯570╰──────────────────────────────────────────────────────────╯

571```571```

572 572 

573頂部邊框上的 `✕` 是 Claude Code 本身用於關閉窗格的標記。

574 

573範例使用以下技術:575範例使用以下技術:

574 576 

575* **取得輸入的文字**:`Input` 在使用者按 Enter 時使用欄位的文字呼叫 `onSubmit(value)`,並在每次更改時呼叫 `onInput(value)`577* **取得輸入的文字**:`Input` 在使用者按 Enter 時使用欄位的文字呼叫 `onSubmit(value)`,並在每次更改時呼叫 `onInput(value)`

Details

242若要讓樹狀結構符合其位置,請在 hook 中讀取下列 prop:242若要讓樹狀結構符合其位置,請在 hook 中讀取下列 prop:

243 243 

244* **`Pane` 或橫帶的寬度**:依 `e.props.bodyColumns` 繪製244* **`Pane` 或橫帶的寬度**:依 `e.props.bodyColumns` 繪製

245* **逐字稿旁 `Pane` 的高度**:當 `e.props.placement` 為 `'dock'` 時,`e.props.scroll.bodyRows` 是窗格擁有的列數245* **逐字稿旁 `Pane` 的高度**:當 `e.props.placement` 為 `'dock'` 時,`e.props.scroll.bodyRows` 是窗格可供您的樹狀結構使用的列數

246* **提示詞上方 `Pane` 的高度**:當 `e.props.placement` 為 `'inline'` 時,窗格會隨您的樹狀結構增高,直到上限為止,而 `bodyRows` 即為該上限。[`$.ui.open` 的 `rows` 欄位](/docs/zh-TW/plugins/mods/interface#open-a-pane-at-the-right-time)可要求不同的上限。246* **提示詞上方 `Pane` 的高度**:當 `e.props.placement` 為 `'inline'` 時,窗格會隨您的樹狀結構增高,直到上限為止,而 `bodyRows` 即為該上限。[`$.ui.open` 的 `rows` 欄位](/docs/zh-TW/plugins/mods/interface#open-a-pane-at-the-right-time)可要求不同的上限。

247 247 

248高於窗格的樹狀結構會整體捲動。248高於窗格的樹狀結構會整體捲動。


255 255 

256| 元素 | 主要 prop | 終端機 | Desktop |256| 元素 | 主要 prop | 終端機 | Desktop |

257| :- | :- | :-: | :-: |257| :- | :- | :-: | :-: |

258| [`Box`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `key`、flex 版面配置、`gap`、`padding`、`margin`、`width`、`height`、`borderStyle`、`backgroundColor`、`position`、`hover` | ✓ | ✓ |258| [`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` | ✓ | ✓ |

259| [`Text`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `color`、`backgroundColor`、`bold`、`italic`、`underline`、`dimColor`、`inverse`、`wrap` | ✓ | ✓ |259| [`Text`](/docs/zh-TW/plugins/mods/interface#build-a-tree-from-elements) | `color`、`backgroundColor`、`bold`、`italic`、`underline`、`dimColor`、`inverse`、`wrap` | ✓ | ✓ |

260| [`Button`](/docs/zh-TW/plugins/mods/interface#respond-to-presses-and-typing) | `key`、`label`、`onPress`、`hotkey`、`plain`、`dimColor`、`autoFocus`、`action` | ✓ | ✓ |260| [`Button`](/docs/zh-TW/plugins/mods/interface#respond-to-presses-and-typing) | `key`、`label`、`onPress`、`hotkey`、`plain`、`dimColor`、`autoFocus`、`action` | ✓ | ✓ |

261| `Link` | `href`、`label` | ✓ | ✓ |261| `Link` | `href`、`label` | ✓ | ✓ |


270 270 

271更多 `Button` 規則:`action` 指定 Claude Code 本身的某個[快捷鍵動作](/docs/zh-TW/keybindings),當使用者對該動作的綁定為組合鍵或修飾鍵時,該綁定會按下此按鈕。橫帶中按鈕上的數字 `hotkey`,在使用者於空白提示詞中單獨輸入該數字並停頓時也會觸發。當同一次繪製中有兩個按鈕指定相同的 `hotkey` 時,由後者取得。`autoFocus` 在任何控制項上都只接受 `true`,因此若要關閉,請省略此 prop。271更多 `Button` 規則:`action` 指定 Claude Code 本身的某個[快捷鍵動作](/docs/zh-TW/keybindings),當使用者對該動作的綁定為組合鍵或修飾鍵時,該綁定會按下此按鈕。橫帶中按鈕上的數字 `hotkey`,在使用者於空白提示詞中單獨輸入該數字並停頓時也會觸發。當同一次繪製中有兩個按鈕指定相同的 `hotkey` 時,由後者取得。`autoFocus` 在任何控制項上都只接受 `true`,因此若要關閉,請省略此 prop。

272 272 

273<h3 id="box-border-styles">

274 `Box` 框線樣式

275</h3>

276 

277若要在 `Box` 周圍繪製框線,請將其 `borderStyle` 設為下列其中一個名稱,例如 `borderStyle: 'round'`。每一列說明終端機針對該名稱所繪製的內容,並顯示框線的上緣。

278 

279| `borderStyle` | 終端機繪製的內容 | 上緣 |

280| :- | :- | :- |

281| `'single'` | 直角的細線 | `┌──┐` |

282| `'double'` | 雙線 | `╔══╗` |

283| `'round'` | 圓角的細線 | `╭──╮` |

284| `'bold'` | 粗線 | `┏━━┓` |

285| `'singleDouble'` | 上下為細線,左右兩側為雙線 | `╓──╖` |

286| `'doubleSingle'` | 上下為雙線,左右兩側為細線 | `╒══╕` |

287| `'classic'` | ASCII 字元 `+`、`-` 和 `\|` | `+--+` |

288| `'arrow'` | 指向 `Box` 內部的箭頭 | `↘↓↓↙` |

289| `'dashed'` | 轉角留白的虛線 | `╌╌` |

290| `'quote'` | 左側一條豎條 `▎`,其他三側為空白儲存格 | 空白 |

291 

292若 `Box` 的 `borderStyle` 指定為其他任何名稱,例如 `'rounded'`,則繪製時不會有框線。

293 

273<h2 id="limits">294<h2 id="limits">

274 限制295 限制

275</h2>296</h2>

Details

17 17 

18 * **為什麼範圍、快取和優先順序的行為方式如此**:閱讀 [外掛程式載入參考](/docs/zh-TW/plugins/loading)18 * **為什麼範圍、快取和優先順序的行為方式如此**:閱讀 [外掛程式載入參考](/docs/zh-TW/plugins/loading)

19 * **查找旗標、欄位或命令**:使用 [外掛程式命令參考](/docs/zh-TW/plugins/cli-reference)、[清單參考](/docs/zh-TW/plugins/manifest-reference) 或 [市集參考](/docs/zh-TW/plugins/marketplace-reference)19 * **查找旗標、欄位或命令**:使用 [外掛程式命令參考](/docs/zh-TW/plugins/cli-reference)、[清單參考](/docs/zh-TW/plugins/manifest-reference) 或 [市集參考](/docs/zh-TW/plugins/marketplace-reference)

20 * **出現 `hooks module not loaded` 或 `hooks module did not load` 訊息**:該外掛程式是一個 [mod](/docs/zh-TW/plugins/mods/overview),因此請閱讀 [mod 無法載入](/docs/zh-TW/plugins/mods/troubleshoot#the-mod-doesn’t-load)

20</Note>21</Note>

21 22 

22搜尋您看到的確切訊息。每個訊息都列在產生它的階段下,這不一定是您執行的命令。例如,安裝可能因為市集遺失而失敗,所以該訊息在 [新增市集](#add-a-marketplace) 下。23搜尋您看到的確切訊息。每個訊息都列在產生它的階段下,這不一定是您執行的命令。例如,安裝可能因為市集遺失而失敗,所以該訊息在 [新增市集](#add-a-marketplace) 下。

Details

43 <Step title="開啟管理員主控台">43 <Step title="開啟管理員主控台">

44 在 claude.ai 主控台中,前往 [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code)。44 在 claude.ai 主控台中,前往 [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code)。

45 45 

46 如果連結將您重新導向至不同的 Organization settings 頁面,而不是 Claude Code 頁面,表示您的帳戶沒有所需的角色。管理員和其他非擁有者角色無法檢視或編輯受管設定,因此請要求您組織中的擁有者或主要擁有者進行變更。請參閱[存取控制](#access-control)。46 在 Team 或 Enterprise 組織中,如果頁面顯示您沒有存取權,請要求[擁有者或主要擁有者](#access-control)進行變更。

47 </Step>47 </Step>

48 48 

49 <Step title="定義您的設定">49 <Step title="定義您的設定">

sessions.md +3 −3

Details

83* 終端機:`claude --continue`、`claude --resume <session-id>` 或 `claude --resume <name>`(當名稱符合一個 session 時),不帶 `-p`。Claude Code 會復原 session 所在的權限模式,除了表格中的情況。傳遞 `--permission-mode` 或 `--dangerously-skip-permissions` 以覆蓋復原的模式。83* 終端機:`claude --continue`、`claude --resume <session-id>` 或 `claude --resume <name>`(當名稱符合一個 session 時),不帶 `-p`。Claude Code 會復原 session 所在的權限模式,除了表格中的情況。傳遞 `--permission-mode` 或 `--dangerously-skip-permissions` 以覆蓋復原的模式。

84* 非互動式:`claude -p --resume` 或 `claude -p --continue`。Claude Code 會在新 `claude -p` 執行會啟動的權限模式中啟動執行,除了在[下面的條件](#resume-in-plan-mode-with-p)下以 Plan Mode 結束的 session 會在 Plan Mode 中恢復。84* 非互動式:`claude -p --resume` 或 `claude -p --continue`。Claude Code 會在新 `claude -p` 執行會啟動的權限模式中啟動執行,除了在[下面的條件](#resume-in-plan-mode-with-p)下以 Plan Mode 結束的 session 會在 Plan Mode 中恢復。

85* VS Code:擴充功能的對話面板。表格僅涵蓋以 Plan Mode 結束的對話;對於其餘部分,請參閱[恢復過去的對話](/docs/zh-TW/vs-code#resume-past-conversations)。85* VS Code:擴充功能的對話面板。表格僅涵蓋以 Plan Mode 結束的對話;對於其餘部分,請參閱[恢復過去的對話](/docs/zh-TW/vs-code#resume-past-conversations)。

86* 啟動時的 Session 選擇器:您從[session 選擇器](#use-the-session-picker)選擇的 session,無論您是使用 `claude --resume` 單獨開啟它、`claude --from-pr` 還是符合多個 session 的名稱。Claude Code 不會復原儲存的權限模式。它會在從相同命令列啟動新 session 時所在的權限模式中啟動 session。86* 啟動時的工作階段選擇器:您從[工作階段選擇器](#use-the-session-picker)選擇的工作階段,無論您是單獨使用 `claude --resume`、使用 `claude --from-pr`,還是使用符合多個工作階段的名稱來開啟選擇器。Claude Code 會以從相同命令列啟動新工作階段時的權限模式啟動該工作階段,但以 plan mode 結束的工作階段會在 plan mode 中恢復,除非您傳遞 `--permission-mode`、`--dangerously-skip-permissions` 或 `--fork-session`。不會復原其他已儲存的權限模式。

87* `/resume` 在 session 內,帶或不帶引數:Claude Code 不會復原儲存的權限模式。您切換到的對話會在您目前 session 所在的權限模式中繼續。87* 在工作階段內使用 `/resume`,帶或不帶引數:您切換到的對話會以您目前工作階段所在的權限模式繼續,但以 plan mode 結束的對話會在 plan mode 中恢復,即使您是以 `--permission-mode` 或 `--dangerously-skip-permissions` 啟動 Claude Code。如果該對話在本次 Claude Code 執行中稍早已開啟過,例如您一開始所在的對話,或您以 `/clear` 或 `/resume` 離開的對話,它則會改為以您目前的權限模式繼續。

88 88 

89在非互動式和 VS Code 路徑上復原 Plan Mode 需要 Claude Code v2.1.246 或更新版本。每一列命名 session 結束時所在的權限模式、您透過哪個終端機、非互動式和 VS Code 路徑恢復它,以及 Claude Code 在恢復的 session 中啟動的權限模式。89在非互動式和 VS Code 路徑上復原 Plan Mode 需要 Claude Code v2.1.246 或更新版本。每一列命名 session 結束時所在的權限模式、您透過哪個終端機、非互動式和 VS Code 路徑恢復它,以及 Claude Code 在恢復的 session 中啟動的權限模式。

90 90 

91| Session 結束於 | 您如何恢復 | 恢復後的權限模式 |91| Session 結束於 | 您如何恢復 | 恢復後的權限模式 |

92| :- | :- | :- |92| :- | :- | :- |

93| `bypassPermissions` | 終端機 | 新 session 會啟動的權限模式。要再次[略過權限](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode),請在啟動時使用其啟動旗標之一或 [user、`--settings` 或受管設定](/docs/zh-TW/settings-reference#permissions-defaultmode)中的 `permissions.defaultMode: "bypassPermissions"` 啟用它 |93| `bypassPermissions` | 終端機 | 新 session 會啟動的權限模式。要再次[略過權限](/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode),請在啟動時使用其啟動旗標之一或 [user、`--settings` 或受管設定](/docs/zh-TW/settings-reference#permissions-defaultmode)中的 `permissions.defaultMode: "bypassPermissions"` 啟用它 |

94| `plan` | 終端機 | 新 session 會啟動的權限模式 |94| `plan` | 終端機 | plan mode。使用 `--fork-session` 時,則為新工作階段會啟動的權限模式 |

95| `auto` | 終端機 | `auto`,僅當您的帳戶仍符合 [auto mode 要求](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)時 |95| `auto` | 終端機 | `auto`,僅當您的帳戶仍符合 [auto mode 要求](/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode)時 |

96| Manual | 終端機 | Manual,當新 session 會從[內建預設](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)以 auto mode 啟動時。當設定檔案中的 `defaultMode` [生效](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)時,Claude Code 會在該模式中啟動恢復的 session |96| Manual | 終端機 | Manual,當新 session 會從[內建預設](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)以 auto mode 啟動時。當設定檔案中的 `defaultMode` [生效](/docs/zh-TW/permission-modes#which-mode-a-session-starts-in)時,Claude Code 會在該模式中啟動恢復的 session |

97| `plan` | 非互動式,在[下面的條件](#resume-in-plan-mode-with-p)下 | Plan Mode |97| `plan` | 非互動式,在[下面的條件](#resume-in-plan-mode-with-p)下 | Plan Mode |

sub-agents.md +2 −2

Details

310 310 

311| 欄位 | 必需 | 描述 |311| 欄位 | 必需 | 描述 |

312| :- | :- | :- |312| :- | :- | :- |

313| `name` | 是 | 唯一識別碼,例如 `code-reviewer` 或 `reviewer-v2`。[Hooks](/docs/zh-TW/hooks#subagentstart) 將此值作為 `agent_type` 接收。檔案名稱不必匹配。名稱不能包含 `:`,它保留用於[plugin 範圍識別碼](/docs/zh-TW/plugins/overview),例如 `my-plugin:reviewer`。Claude Code 不載入名稱包含一個的檔案,並將錯誤記錄到偵錯日誌。在 v2.1.218 之前,此類名稱被接受 |313| `name` | 是 | 最多 256 個字元的唯一識別碼,例如 `code-reviewer` 或 `reviewer-v2`。[Hook](/docs/zh-TW/hooks#subagentstart) 會以 `agent_type` 接收此值。檔案名稱不必相符。名稱不能包含 `:`,它保留給[外掛範圍識別碼](/docs/zh-TW/plugins/overview)使用,例如 `my-plugin:reviewer` |

314| `description` | 是 | Claude 應何時委派給此子代理 |314| `description` | 是 | Claude 應何時委派給此子代理 |

315| `tools` | 否 | 子代理可以使用的[工具](#available-tools),作為逗號分隔的字串,例如 `Read, Grep, Bash` 或 YAML 列表。如果省略,繼承子代理可用的每個工具。如果列表中沒有條目解析為工具,子代理通常[無法啟動](/docs/zh-TW/errors#agent-would-be-spawned-with-zero-tools)並出現錯誤,命名未解析的條目。若要將 Skills 預載入上下文,請使用 `skills` 欄位而不是在此列出 `Skill` |315| `tools` | 否 | 子代理可以使用的[工具](#available-tools),作為逗號分隔的字串,例如 `Read, Grep, Bash` 或 YAML 列表。如果省略,繼承子代理可用的每個工具。如果列表中沒有條目解析為工具,子代理通常[無法啟動](/docs/zh-TW/errors#agent-would-be-spawned-with-zero-tools)並出現錯誤,命名未解析的條目。若要將 Skills 預載入上下文,請使用 `skills` 欄位而不是在此列出 `Skill` |

316| `disallowedTools` | 否 | 要拒絕的工具,從繼承或指定的列表中移除。與 `tools` 相同的格式。具有指定符的條目(例如 `Bash(git push *)`)仍然[移除整個工具](#available-tools) |316| `disallowedTools` | 否 | 要拒絕的工具,從繼承或指定的列表中移除。與 `tools` 相同的格式。具有指定符的條目(例如 `Bash(git push *)`)仍然[移除整個工具](#available-tools) |


348 348 

349* **沒有 `name`**:Claude Code 將檔案視為保存在代理旁邊的文件。349* **沒有 `name`**:Claude Code 將檔案視為保存在代理旁邊的文件。

350* **不是檔案第一行的開啟 `---`**:Claude Code 讀取檔案為沒有 frontmatter,並將其視為文件。350* **不是檔案第一行的開啟 `---`**:Claude Code 讀取檔案為沒有 frontmatter,並將其視為文件。

351* **以 `-` 開頭或包含 `:` 的 `name`**:Claude Code 跳過檔案並將錯誤寫入偵錯日誌。請參閱上表中的 `name` 列。351* **`name` 以 `-` 開頭、包含 `:`,或超過 256 個字元**:Claude Code 會略過該檔案,並將錯誤寫入除錯日誌。

352* **有 `name` 但沒有 `description`**:Claude Code 跳過檔案並將原因寫入偵錯日誌。352* **有 `name` 但沒有 `description`**:Claude Code 跳過檔案並將原因寫入偵錯日誌。

353* **不解析的 YAML**:Claude Code 不從檔案讀取任何欄位,跳過它,並將解析錯誤寫入偵錯日誌。353* **不解析的 YAML**:Claude Code 不從檔案讀取任何欄位,跳過它,並將解析錯誤寫入偵錯日誌。

354 354 

vs-code.md +1 −1

Details

606| `environmentVariables` | `[]` | 為 Claude 程序設定環境變數。使用 Claude Code 設定以改為共享設定。[`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars) 項目僅在其值為絕對路徑時才會套用;擴充功能不會展開 `~`,並會忽略相對路徑值。 |606| `environmentVariables` | `[]` | 為 Claude 程序設定環境變數。使用 Claude Code 設定以改為共享設定。[`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars) 項目僅在其值為絕對路徑時才會套用;擴充功能不會展開 `~`,並會忽略相對路徑值。 |

607| `disableLoginPrompt` | `false` | 略過驗證提示(用於第三方提供者設定) |607| `disableLoginPrompt` | `false` | 略過驗證提示(用於第三方提供者設定) |

608| `allowDangerouslySkipPermissions` | `false` | 將略過權限新增至模式選擇器。僅在沒有網際網路存取的沙箱中使用。 |608| `allowDangerouslySkipPermissions` | `false` | 將略過權限新增至模式選擇器。僅在沒有網際網路存取的沙箱中使用。 |

609| `claudeProcessWrapper` | - | 用於啟動 Claude 程序的可執行檔。當存在時,組合的二進位路徑會作為引數傳遞。如果擴充功能組建不包含您平台的二進位檔,請將其設定為單獨安裝的 `claude` 二進位檔。在包裝的設定中,對話以 Manual 模式開始,除非您設定 `initialPermissionMode` 或在較早的對話中選擇了 Manual、Edit automatically 或 Auto,因為擴充功能會在那裡略過設定和內建預設步驟;請參閱[切換權限模式](/docs/zh-TW/permission-modes#switch-permission-modes)。啟動時出現「不支援的平台」錯誤表示您的平台沒有組合的二進位檔;請參閱[哪些平台有預先建置的二進位檔](/docs/zh-TW/troubleshoot-install#native-binary-not-found-after-npm-install)。 |609| `claudeProcessWrapper` | - | 用於啟動 Claude 程序的可執行檔。當存在時,組合的二進位路徑會作為引數傳遞。如果擴充功能建置不包含您平台的二進位檔,請將其設定為單獨安裝的 `claude` 二進位檔。 |

610 610 

611<h2 id="use-a-screen-reader">611<h2 id="use-a-screen-reader">

612 使用螢幕閱讀器612 使用螢幕閱讀器

worktrees.md +3 −1

Details

6 6 

7> 在獨立的 git worktrees 中隔離平行的 Claude Code 會話,使變更不會相互衝突。涵蓋 `--worktree` 旗標、子代理隔離、`.worktreeinclude`、清理和非 git VCS hooks。7> 在獨立的 git worktrees 中隔離平行的 Claude Code 會話,使變更不會相互衝突。涵蓋 `--worktree` 旗標、子代理隔離、`.worktreeinclude`、清理和非 git VCS hooks。

8 8 

9[git worktree](https://git-scm.com/docs/git-worktree) 是一個獨立的工作目錄,具有自己的檔案和分支,但與主要檢出共享相同的儲存庫歷史記錄和遠端。在自己的 worktree 中執行每個 Claude Code 會話意味著一個會話中的編輯永遠不會觸及另一個會話中的檔案,因此一個會話可以建置功能,而第二個會話可以修復錯誤。9[git worktree](https://git-scm.com/docs/git-worktree) 是一個獨立的工作目錄,具有自己的檔案和分支,但與主要檢出共享相同的儲存庫歷史記錄和遠端。在各自的 worktree 中執行每個 Claude Code 工作階段,可為其提供一份獨立的檔案副本進行編輯,因此一個工作階段可以建置功能,而第二個工作階段可以修復錯誤。

10 10 

11<Note>11<Note>

12 Worktrees 需要 git 儲存庫;對於其他版本控制系統,請[配置 hooks 以取代 git 邏輯](#non-git-version-control)。在[桌面應用程式](/docs/zh-TW/desktop#work-in-parallel-with-sessions)中,當您啟動會話時選擇 **worktree** 選項,為其提供自己的 worktree。12 Worktrees 需要 git 儲存庫;對於其他版本控制系統,請[配置 hooks 以取代 git 邏輯](#non-git-version-control)。在[桌面應用程式](/docs/zh-TW/desktop#work-in-parallel-with-sessions)中,當您啟動會話時選擇 **worktree** 選項,為其提供自己的 worktree。


104* **Git 重定向**:Claude Code 會阻止將 git 重定向到主要檢出的 Bash 或 Monitor 命令。重定向可以透過 `git -C`、`--git-dir`、`GIT_DIR` 或 `GIT_WORK_TREE` 變數,或在執行 git 之前 `cd` 到主要檢出。104* **Git 重定向**:Claude Code 會阻止將 git 重定向到主要檢出的 Bash 或 Monitor 命令。重定向可以透過 `git -C`、`--git-dir`、`GIT_DIR` 或 `GIT_WORK_TREE` 變數,或在執行 git 之前 `cd` 到主要檢出。

105* **命令形狀**:當 Claude Code 無法從命令文字驗證命令執行的任何 git 保持在 worktree 內時,Claude Code 會阻止 Bash 或 Monitor 命令。例如,當命令名稱在執行時計算、語法無法解析,或像 `${!name}` 或 `${ command; }` 這樣的展開可能執行文字中未明確說明的命令時,就會發生這種情況。Claude Code 會告訴 Claude 如何重寫被拒絕的命令,例如將其分割成純粹的、獨立的命令。您無法關閉此檢查。105* **命令形狀**:當 Claude Code 無法從命令文字驗證命令執行的任何 git 保持在 worktree 內時,Claude Code 會阻止 Bash 或 Monitor 命令。例如,當命令名稱在執行時計算、語法無法解析,或像 `${!name}` 或 `${ command; }` 這樣的展開可能執行文字中未明確說明的命令時,就會發生這種情況。Claude Code 會告訴 Claude 如何重寫被拒絕的命令,例如將其分割成純粹的、獨立的命令。您無法關閉此檢查。

106 106 

107這些檢查會讀取編輯所針對的路徑、命令執行所在的目錄,以及命令的文字。它們都不會追蹤 shell 命令寫入了哪些檔案,因此未在主要檢出中執行 git 卻寫入主要檢出的命令(例如 `cp` 或 shell 重定向)不會被這些檢查拒絕。Claude Code 會將該命令視為任何其他 shell 命令處理,因此它是直接執行還是向您顯示權限提示,取決於您的[權限模式](/docs/zh-TW/permission-modes)和規則。

108 

107檢查適用於您啟動 Claude Code 的儲存庫。它們也涵蓋連結 worktree 連結自的主要檢出。對於 PowerShell 命令,Claude Code 只應用工作目錄檢查。109檢查適用於您啟動 Claude Code 的儲存庫。它們也涵蓋連結 worktree 連結自的主要檢出。對於 PowerShell 命令,Claude Code 只應用工作目錄檢查。

108 110 

109Claude 將每次拒絕視為命名 worktree 並說明如何進行的工具錯誤。如需被拒絕的命令,請參閱[拒絕訊息的含義以及如何清除它](/docs/zh-TW/errors#command-blocked-by-the-worktree-isolation-checks)。111Claude 將每次拒絕視為命名 worktree 並說明如何進行的工具錯誤。如需被拒絕的命令,請參閱[拒絕訊息的含義以及如何清除它](/docs/zh-TW/errors#command-blocked-by-the-worktree-isolation-checks)。