SpyBara
Go Premium

Documentation 2026-06-24 22:02 UTC to 2026-06-25 23:58 UTC

40 files changed +1,591 −265. View all changes and history on the product overview
2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +2 −2

Details

74托管设置可以锁定工具、沙箱执行、限制 MCP 服务器和插件源,以及控制哪些 hooks 运行。每一行都是一个控制表面,具有驱动它的设置键。74托管设置可以锁定工具、沙箱执行、限制 MCP 服务器和插件源,以及控制哪些 hooks 运行。每一行都是一个控制表面,具有驱动它的设置键。

75 75 

76| 控制 | 它的作用 | 关键设置 |76| 控制 | 它的作用 | 关键设置 |

77| :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- |77| :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- |

78| [Permission rules](/zh-CN/permissions) | 允许、询问或拒绝特定工具和命令 | `permissions.allow`、`permissions.deny` |78| [Permission rules](/zh-CN/permissions) | 允许、询问或拒绝特定工具和命令 | `permissions.allow`、`permissions.deny` |

79| [Permission lockdown](/zh-CN/permissions#managed-only-settings) | 仅托管权限规则适用;禁用 `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`、`permissions.disableBypassPermissionsMode` |79| [Permission lockdown](/zh-CN/permissions#managed-only-settings) | 仅托管权限规则适用;禁用 `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`、`permissions.disableBypassPermissionsMode` |

80| [Sandboxing](/zh-CN/sandboxing) | 具有域允许列表的操作系统级文件系统和网络隔离 | `sandbox.enabled`、`sandbox.network.allowedDomains` |80| [Sandboxing](/zh-CN/sandboxing) | 具有域允许列表的操作系统级文件系统和网络隔离 | `sandbox.enabled`、`sandbox.network.allowedDomains` |


84| [Customization lockdown](/zh-CN/settings#strictpluginonlycustomization) | 阻止 skills、agents、hooks 和 MCP 服务器来自用户和项目源,使它们只能来自插件或托管设置 | `strictPluginOnlyCustomization` |84| [Customization lockdown](/zh-CN/settings#strictpluginonlycustomization) | 阻止 skills、agents、hooks 和 MCP 服务器来自用户和项目源,使它们只能来自插件或托管设置 | `strictPluginOnlyCustomization` |

85| [Hook restrictions](/zh-CN/settings#hook-configuration) | 仅托管 hooks 加载;限制 HTTP hook URL | `allowManagedHooksOnly`、`allowedHttpHookUrls` |85| [Hook restrictions](/zh-CN/settings#hook-configuration) | 仅托管 hooks 加载;限制 HTTP hook URL | `allowManagedHooksOnly`、`allowedHttpHookUrls` |

86| [Disable agent view](/zh-CN/agent-view#how-background-sessions-are-hosted) | 关闭 `claude agents`、`--bg`、`/background` 和按需监督程序 | `disableAgentView` |86| [Disable agent view](/zh-CN/agent-view#how-background-sessions-are-hosted) | 关闭 `claude agents`、`--bg`、`/background` 和按需监督程序 | `disableAgentView` |

87| [Model restrictions](/zh-CN/model-config#restrict-model-selection) | 限制用户可以选择的模型,并可选择将允许列表也应用于默认模型选择。请参阅 [surface coverage](/zh-CN/model-config#surface-coverage) 了解此设置如何到达 CLI、web 和 IDE | `availableModels`、`enforceAvailableModels` |87| [Model restrictions](/zh-CN/model-config#restrict-model-selection) | `availableModels` 筛选模型选择器中显示的模型添加 `enforceAvailableModels` 也会限制自动选择的默认模型。请参阅 [surface coverage](/zh-CN/model-config#surface-coverage) 了解此设置如何到达 CLI、web 和 IDE | `availableModels`、`enforceAvailableModels` |

88| [Version floor](/zh-CN/settings) | 防止自动更新安装低于组织范围最小值的版本 | `minimumVersion` |88| [Version floor](/zh-CN/settings) | 防止自动更新安装低于组织范围最小值的版本 | `minimumVersion` |

89| [Required version range](/zh-CN/settings) | 当运行版本超出组织批准的范围时拒绝启动。比 `minimumVersion` 更强大,后者仅阻止降级 | `requiredMinimumVersion`、`requiredMaximumVersion` |89| [Required version range](/zh-CN/settings) | 当运行版本超出组织批准的范围时拒绝启动。比 `minimumVersion` 更强大,后者仅阻止降级 | `requiredMinimumVersion`、`requiredMaximumVersion` |

90 90 

Details

214 214 

215使用匹配器来过滤您的回调何时触发。`matcher` 字段根据 hook 事件类型匹配不同的值。例如,基于工具的 hooks 匹配工具名称,而 `Notification` hooks 匹配通知类型。请参阅 [Claude Code hooks 参考](/zh-CN/hooks#matcher-patterns)以获取每个事件类型的匹配器值的完整列表。215使用匹配器来过滤您的回调何时触发。`matcher` 字段根据 hook 事件类型匹配不同的值。例如,基于工具的 hooks 匹配工具名称,而 `Notification` hooks 匹配通知类型。请参阅 [Claude Code hooks 参考](/zh-CN/hooks#matcher-patterns)以获取每个事件类型的匹配器值的完整列表。

216 216 

217SDK 匹配器遵循与[设置文件中的匹配器](/zh-CN/hooks#matcher-patterns)相同的规则:仅包含字母、数字、`_` 和 `|` 的匹配器作为精确字符串进行比较,`|` 分隔替代项,因此 `Write|Edit` 精确匹配这两个工具。`*` 的匹配器、空字符串或完全省略匹配器会匹配事件的每次出现;包含任何其他字符的匹配器被评估为正则表达式,因此 `^mcp__` 匹配每个 MCP 工具。像 `mcp__memory` 这样的匹配器仅包含字母和下划线,因此它作为精确字符串进行比较,不匹配任何工具;使用 `mcp__memory__.*` 来匹配来自该服务器的每个工具。217SDK 匹配器遵循与[设置文件中的匹配器](/zh-CN/hooks#matcher-patterns)相同的规则:仅包含字母、数字、`_`、空格、`,` 和 `|` 的匹配器作为精确字符串进行比较,替代项由 `|` 或 `,` 分隔可选的周围空格,因此 `Write|Edit` 和 `Write, Edit` 各自精确匹配这两个工具。`*` 的匹配器、空字符串或完全省略匹配器会匹配事件的每次出现;包含任何其他字符的匹配器被评估为正则表达式,因此 `^mcp__` 匹配每个 MCP 工具。像 `mcp__memory` 这样的匹配器仅包含字母和下划线,因此它作为精确字符串进行比较,不匹配任何工具;使用 `mcp__memory__.*` 来匹配来自该服务器的每个工具。

218 218 

219| 选项 | 类型 | 默认值 | 描述 |219| 选项 | 类型 | 默认值 | 描述 |

220| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |220| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

agent-sdk/mcp.md +20 −4

Details

197 197 

198要查看 MCP 服务器提供的工具,请检查服务器的文档或连接到服务器并检查 `system` init 消息:198要查看 MCP 服务器提供的工具,请检查服务器的文档或连接到服务器并检查 `system` init 消息:

199 199 

200```typescript theme={null}200<CodeGroup>

201for await (const message of query({ prompt: "...", options })) {201 ```typescript TypeScript theme={null}

202 for await (const message of query({ prompt: "...", options })) {

202 if (message.type === "system" && message.subtype === "init") {203 if (message.type === "system" && message.subtype === "init") {

203 console.log("Available MCP tools:", message.mcp_servers);204 console.log("Available MCP tools:", message.mcp_servers);

204 }205 }

205}206 }

206```207 ```

208 

209 ```python Python theme={null}

210 import asyncio

211 from claude_agent_sdk import query, SystemMessage

212 

213 

214 async def main():

215 async for message in query(prompt="...", options=options):

216 if isinstance(message, SystemMessage) and message.subtype == "init":

217 print("Available MCP tools:", message.data["mcp_servers"])

218 

219 

220 asyncio.run(main())

221 ```

222</CodeGroup>

207 223 

208<h2 id="transport-types">224<h2 id="transport-types">

209 传输类型225 传输类型

Details

421| 参数 | 类型 | 默认值 | 描述 |421| 参数 | 类型 | 默认值 | 描述 |

422| :------------------------------ | :------------------------------------ | :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |422| :------------------------------ | :------------------------------------ | :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |

423| `options.cwd` | `string` | `process.cwd()` | 用于解析项目和本地设置的相对目录 |423| `options.cwd` | `string` | `process.cwd()` | 用于解析项目和本地设置的相对目录 |

424| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | 所有源 | 要加载的文件系统源。传递 `[]` 以跳过用户、项目和本地设置。托管策略设置在所有情况下都会加载 |424| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | 所有源 | 要加载的文件系统源。传递 `[]` 以跳过用户、项目和本地设置。[端点管理的策略](/zh-CN/settings#settings-files)在所有情况下都会加载。服务器管理的设置取自主机传递的 `serverManagedSettings`,或从 CLI 的磁盘缓存中读取;快照不会从网络获取它们 |

425| `options.managedSettings` | `Settings` | `undefined` | 由嵌入主机提供的限制性策略层设置。当存在管理员部署的托管层时被删除;当 [`parentSettingsBehavior`](/zh-CN/settings#available-settings) 为 `"merge"` 时在该层下合并。非限制性密钥(如 `model`)会被静默删除,以便此选项可以加强托管策略但不能放松它 |425| `options.managedSettings` | `Settings` | `undefined` | 由嵌入主机提供的限制性策略层设置。当存在管理员部署的托管层时被删除;当 [`parentSettingsBehavior`](/zh-CN/settings#available-settings) 为 `"merge"` 时在该层下合并。非限制性密钥(如 `model`)会被静默删除,以便此选项可以加强托管策略但不能放松它 |

426| `options.serverManagedSettings` | `Settings` | `undefined` | 来自 `/api/claude_code/settings` 的服务器托管设置有效负载。非限制性密钥不经过滤地通过 |426| `options.serverManagedSettings` | `Settings` | `undefined` | 来自 `/api/claude_code/settings` 的服务器托管设置有效负载。非限制性密钥不经过滤地通过 |

427 427 


517| `sessionStore` | [`SessionStore`](/zh-CN/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | 将会话记录镜像到外部后端,以便任何主机都可以恢复它们。请参阅[将会话持久化到外部存储](/zh-CN/agent-sdk/session-storage) |517| `sessionStore` | [`SessionStore`](/zh-CN/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | 将会话记录镜像到外部后端,以便任何主机都可以恢复它们。请参阅[将会话持久化到外部存储](/zh-CN/agent-sdk/session-storage) |

518| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* `sessionStore` 的刷新模式。未设置 `sessionStore` 时忽略 |518| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* `sessionStore` 的刷新模式。未设置 `sessionStore` 时忽略 |

519| `settings` | `string \| Settings` | `undefined` | 内联[设置](/zh-CN/settings)对象或设置文件的路径。填充[优先级顺序](/zh-CN/settings#settings-precedence)中的标志设置层。使用 [`applyFlagSettings()`](#applyflagsettings) 在运行时更改 |519| `settings` | `string \| Settings` | `undefined` | 内联[设置](/zh-CN/settings)对象或设置文件的路径。填充[优先级顺序](/zh-CN/settings#settings-precedence)中的标志设置层。使用 [`applyFlagSettings()`](#applyflagsettings) 在运行时更改 |

520| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI 默认值(所有源) | 控制加载哪些文件系统设置。传递 `[]` 以禁用用户、项目和本地设置。无论如何都会加载托管策略设置。请参阅[使用 Claude Code 功能](/zh-CN/agent-sdk/claude-code-features#what-settingsources-does-not-control) |520| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI 默认值(所有源) | 控制加载哪些文件系统设置。传递 `[]` 以禁用用户、项目和本地设置。[端点管理的策略](/zh-CN/settings#settings-files)无论如何都会加载;当会话使用组织凭证在[符合条件的配置](/zh-CN/server-managed-settings#platform-availability)上进行身份验证时,会获取服务器管理的设置。请参阅[使用 Claude Code 功能](/zh-CN/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

521| `skills` | `string[] \| 'all'` | `undefined` | 会话可用的 skills。传递 `'all'` 以启用每个发现的 skill,或传递 skill 名称列表。设置后,SDK 会自动将 Skill 工具添加到 `allowedTools`。如果您也传递 `tools`,请在该列表中包含 `'Skill'`。请参阅[Skills](/zh-CN/agent-sdk/skills) |521| `skills` | `string[] \| 'all'` | `undefined` | 会话可用的 skills。传递 `'all'` 以启用每个发现的 skill,或传递 skill 名称列表。设置后,SDK 会自动将 Skill 工具添加到 `allowedTools`。如果您也传递 `tools`,请在该列表中包含 `'Skill'`。请参阅[Skills](/zh-CN/agent-sdk/skills) |

522| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | 用于生成 Claude Code 进程的自定义函数。用于在 VM、容器或远程环境中运行 Claude Code |522| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | 用于生成 Claude Code 进程的自定义函数。用于在 VM、容器或远程环境中运行 Claude Code |

523| `stderr` | `(data: string) => void` | `undefined` | stderr 输出的回调 |523| `stderr` | `(data: string) => void` | `undefined` | stderr 输出的回调 |


765 默认行为765 默认行为

766</h4>766</h4>

767 767 

768当 `settingSources` 被省略或 `undefined` 时,`query()` 加载与 Claude Code CLI 相同的文件系统设置:用户、项目和本地。在所有情况下都会加载托管策略设置;当会话使用组织凭证在[符合条件的配置](/zh-CN/server-managed-settings#platform-availability)上进行身份验证时,会获取服务器管理的设置。请参阅[settingSources 不控制的内容](/zh-CN/agent-sdk/claude-code-features#what-settingsources-does-not-control)了解无论此选项如何都会读取的输入,以及如何禁用它们。768当 `settingSources` 被省略或 `undefined` 时,`query()` 加载与 Claude Code CLI 相同的文件系统设置:用户、项目和本地。在所有情况下都会加载[端点管理的策略](/zh-CN/settings#settings-files);当会话使用组织凭证在[符合条件的配置](/zh-CN/server-managed-settings#platform-availability)上进行身份验证时,会获取服务器管理的设置。请参阅[settingSources 不控制的内容](/zh-CN/agent-sdk/claude-code-features#what-settingsources-does-not-control)了解无论此选项如何都会读取的输入,以及如何禁用它们。

769 769 

770<h4 id="why-use-settingsources">770<h4 id="why-use-settingsources">

771 为什么使用 settingSources771 为什么使用 settingSources

agent-teams.md +2 −0

Details

155 155 

156队友默认不继承负责人的 `/model` 选择。要更改在提示未指定模型时使用的模型,在 `/config` 中设置**默认队友模型**。选择\*\*默认(负责人的模型)\*\*以让队友遵循负责人的当前模型。156队友默认不继承负责人的 `/model` 选择。要更改在提示未指定模型时使用的模型,在 `/config` 中设置**默认队友模型**。选择\*\*默认(负责人的模型)\*\*以让队友遵循负责人的当前模型。

157 157 

158{/* min-version: 2.1.186 */}队友继承负责人的[工作量级别](/zh-CN/model-config#adjust-effort-level)。在分割窗格模式中,这从 v2.1.186 开始适用;较早的版本没有将负责人的会话工作量传递给分割窗格队友。

159 

158<h3 id="require-plan-approval-for-teammates">160<h3 id="require-plan-approval-for-teammates">

159 要求队友的计划批准161 要求队友的计划批准

160</h3>162</h3>

agent-view.md +1 −1

Details

324 从你的 shell324 从你的 shell

325</h3>325</h3>

326 326 

327传递 `--bg` 启动直接进入后台的会话:327传递 `--bg` 或其长形式 `--background` 启动直接进入后台的会话:

328 328 

329```bash theme={null}329```bash theme={null}

330claude --bg "investigate the flaky SettingsChangeDetector test"330claude --bg "investigate the flaky SettingsChangeDetector test"

Details

477export CLAUDE_CODE_USE_MANTLE=1477export CLAUDE_CODE_USE_MANTLE=1

478```478```

479 479 

480要在 `/model` 选择器中显示 Mantle 模型,请在您的[设置文件](/zh-CN/settings)中的 `availableModels` 中列出其 ID。此设置也将选择器限制为列出的条目。列出 `anthropic.claude-haiku-4-5` 会从选择器中移除裸 `haiku` 别名,因此也要列出版本前缀或您想保持可选择的版本的完整 ID。请参阅[合并行为](/zh-CN/model-config#merge-behavior):480要在 `/model` 选择器中显示 Mantle 模型,请在您的[设置文件](/zh-CN/settings)中的 `availableModels` 中列出其 ID。此设置也将选择器限制为列出的条目。列出 `anthropic.claude-haiku-4-5` 会从选择器中移除裸 `haiku` 别名,因此也要列出版本前缀或您想保持可选择的版本的完整 ID。Mantle ID 和 `haiku` 别名解析为相同的模型族,因此合并仅保留更具体的条目。请参阅[合并行为](/zh-CN/model-config#merge-behavior):

481 481 

482```json theme={null}482```json theme={null}

483{483{

Details

136* **刷新间隔**:默认情况下,`apiKeyHelper` 在 5 分钟后或在 HTTP 401 响应时调用。设置 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` 环境变量以获得自定义刷新间隔。136* **刷新间隔**:默认情况下,`apiKeyHelper` 在 5 分钟后或在 HTTP 401 响应时调用。设置 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` 环境变量以获得自定义刷新间隔。

137* **缓慢助手通知**:如果 `apiKeyHelper` 返回密钥需要超过 10 秒,Claude Code 会在提示栏中显示警告通知,显示经过的时间。如果您经常看到此通知,请检查您的凭证脚本是否可以优化。137* **缓慢助手通知**:如果 `apiKeyHelper` 返回密钥需要超过 10 秒,Claude Code 会在提示栏中显示警告通知,显示经过的时间。如果您经常看到此通知,请检查您的凭证脚本是否可以优化。

138 138 

139`apiKeyHelper`、`ANTHROPIC_API_KEY` 和 `ANTHROPIC_AUTH_TOKEN` 仅适用于终端 CLI 会话。Claude Desktop 和云会话仅使用 OAuth,不会调用 `apiKeyHelper` 或读取 API 密钥环境变量139`apiKeyHelper`、`ANTHROPIC_API_KEY` 和 `ANTHROPIC_AUTH_TOKEN` 适用于 CLI 和包装它的表面,包括 VS Code 扩展、Agent SDK 和 GitHub Actions。Claude Desktop 和云会话不会调用 `apiKeyHelper` 或读取这些环境变量:它们使用 OAuth,除了运行 [组织分发的第三方推理配置](/zh-CN/llm-gateway-connect#desktop-app) 的桌面会话外,这些会话使用该配置的凭证进行身份验证

140 140 

141<h3 id="authentication-precedence">141<h3 id="authentication-precedence">

142 身份验证优先级142 身份验证优先级

Details

47 47 

48选择"到此处总结"会让您留在对话末尾,输入字段为空。48选择"到此处总结"会让您留在对话末尾,输入字段为空。

49 49 

50<h4 id="rewind-past-a-cleared-conversation">

51 回溯过去已清除的对话

52</h4>

53 

54如果您在同一 Claude Code 进程中较早运行了 `/clear`,回溯菜单会在列表顶部显示一个额外的条目,标记为 `/resume <session-id> (previous session)`。选择它可以恢复在 `/clear` 运行前活跃的对话。该条目在您退出 Claude Code 或恢复不同会话之前可用,并且需要 Claude Code v2.1.191 或更高版本。在较早的版本上,运行 `/resume` 并从列表中选择上一个会话。

55 

50<h4 id="restore-vs-summarize">56<h4 id="restore-vs-summarize">

51 恢复与总结57 恢复与总结

52</h4>58</h4>

Details

65| `--ax-screen-reader` | {/* min-version: 2.1.181 */}渲染屏幕阅读器友好的输出:没有装饰性边框或动画的平面文本。强制使用经典渲染器,因此 [`tui`](/zh-CN/settings#available-settings) 设置在会话期间无效。优先于 [`CLAUDE_AX_SCREEN_READER`](/zh-CN/env-vars) 和 [`axScreenReader`](/zh-CN/settings#available-settings) 设置。需要 Claude Code v2.1.181 或更高版本 | `claude --ax-screen-reader` |65| `--ax-screen-reader` | {/* min-version: 2.1.181 */}渲染屏幕阅读器友好的输出:没有装饰性边框或动画的平面文本。强制使用经典渲染器,因此 [`tui`](/zh-CN/settings#available-settings) 设置在会话期间无效。优先于 [`CLAUDE_AX_SCREEN_READER`](/zh-CN/env-vars) 和 [`axScreenReader`](/zh-CN/settings#available-settings) 设置。需要 Claude Code v2.1.181 或更高版本 | `claude --ax-screen-reader` |

66| `--bare` | 最小模式:跳过 hooks、skills、plugins、MCP 服务器、自动内存和 CLAUDE.md 的自动发现,以便脚本化调用启动更快。Claude 可以访问 Bash、文件读取和文件编辑工具。设置 [`CLAUDE_CODE_SIMPLE`](/zh-CN/env-vars)。请参阅 [bare mode](/zh-CN/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |66| `--bare` | 最小模式:跳过 hooks、skills、plugins、MCP 服务器、自动内存和 CLAUDE.md 的自动发现,以便脚本化调用启动更快。Claude 可以访问 Bash、文件读取和文件编辑工具。设置 [`CLAUDE_CODE_SIMPLE`](/zh-CN/env-vars)。请参阅 [bare mode](/zh-CN/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |

67| `--betas` | 要包含在 API 请求中的 Beta 标头(仅限 API 密钥用户) | `claude --betas interleaved-thinking` |67| `--betas` | 要包含在 API 请求中的 Beta 标头(仅限 API 密钥用户) | `claude --betas interleaved-thinking` |

68| `--bg` | 启动会话作为 [后台代理](/zh-CN/agent-view) 并立即返回。打印会话 ID 和管理命令。与 `--exec` 结合以作为后台作业运行 shell 命令而不是 Claude 会话,或与 `--agent` 结合以运行特定的 subagent | `claude --bg "investigate the flaky test"` |68| `--bg`, `--background` | 启动会话作为 [后台代理](/zh-CN/agent-view) 并立即返回。打印会话 ID 和管理命令。与 `--exec` 结合以作为后台作业运行 shell 命令而不是 Claude 会话,或与 `--agent` 结合以运行特定的 subagent | `claude --bg "investigate the flaky test"` |

69| `--channels` | (研究预览)MCP 服务器,其 [channel](/zh-CN/channels) 通知 Claude 应在此会话中侦听。以空格分隔的 `plugin:<name>@<marketplace>` 条目列表。需要 Claude.ai 身份验证 | `claude --channels plugin:my-notifier@my-marketplace` |69| `--channels` | (研究预览)MCP 服务器,其 [channel](/zh-CN/channels) 通知 Claude 应在此会话中侦听。以空格分隔的 `plugin:<name>@<marketplace>` 条目列表。需要 Claude.ai 身份验证 | `claude --channels plugin:my-notifier@my-marketplace` |

70| `--chrome` | 启用 [Chrome 浏览器集成](/zh-CN/chrome) 以进行网络自动化和测试 | `claude --chrome` |70| `--chrome` | 启用 [Chrome 浏览器集成](/zh-CN/chrome) 以进行网络自动化和测试 | `claude --chrome` |

71| `--continue`, `-c` | 加载当前目录中最近的对话。包括使用 `/add-dir` 添加此目录的会话 | `claude --continue` |71| `--continue`, `-c` | 加载当前目录中最近的对话。包括使用 `/add-dir` 添加此目录的会话 | `claude --continue` |

code-review.md +1 −1

Details

98 98 

99<Steps>99<Steps>

100 <Step title="打开 Claude Code 管理员设置">100 <Step title="打开 Claude Code 管理员设置">

101 转到 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 并找到 Code Review 部分。您需要对 Claude 组织具有管理员访问权限,并有权在 GitHub 组织中安装 GitHub Apps。101 转到 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 并找到 Code Review 部分。您需要对 Claude 组织具有 Owner 或 Primary Owner 角色,并有权在 GitHub 组织中安装 GitHub Apps。

102 </Step>102 </Step>

103 103 

104 <Step title="开始设置">104 <Step title="开始设置">

costs.md +1 −1

Details

51 对于具有自定义速率限制的组织,此工作区中的 Claude Code 流量计入您的组织整体 API 速率限制。您可以在 Claude Console 的此工作区的 Limits 页面上设置[工作区速率限制](https://platform.claude.com/docs/zh-CN/api/rate-limits#setting-lower-limits-for-workspaces),以限制 Claude Code 的份额并保护其他生产工作负载。51 对于具有自定义速率限制的组织,此工作区中的 Claude Code 流量计入您的组织整体 API 速率限制。您可以在 Claude Console 的此工作区的 Limits 页面上设置[工作区速率限制](https://platform.claude.com/docs/zh-CN/api/rate-limits#setting-lower-limits-for-workspaces),以限制 Claude Code 的份额并保护其他生产工作负载。

52</Note>52</Note>

53 53 

54在 Bedrock、Vertex 和 Foundry 上,Claude Code 不会从您的云中发送指标。为了获取成本指标,几家大型企业报告使用[LiteLLM](/zh-CN/llm-gateway#litellm-configuration),这是一个开源工具,可帮助公司[按密钥跟踪支出](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend)。此项目与 Anthropic 无关尚未进行安全审计54在 Bedrock、Vertex 和 Foundry 上,Claude Code 不会从您的云中发送指标。已经通过 [LLM gateway](/zh-CN/llm-gateway) 路由 Claude Code 的组织可以在那里跟踪支出因为网关会看到每个请求

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 速率限制建议57 速率限制建议

Details

68 68 

69运行 `/hooks` 来列出当前会话注册的每个 hook,按事件分组。如果你定义的 hook 没有出现,它没有被读取:hooks 在设置文件中的 `"hooks"` 键下,而不是在独立文件中。69运行 `/hooks` 来列出当前会话注册的每个 hook,按事件分组。如果你定义的 hook 没有出现,它没有被读取:hooks 在设置文件中的 `"hooks"` 键下,而不是在独立文件中。

70 70 

71如果 hook 出现但没有触发,匹配器通常是原因。`matcher` 字段是一个使用 `|` 来匹配多个工具名称的单个字符串,例如 `"Edit|Write"`。拼写错误的工具名称会无声地失败,因为匹配器永远不会匹配。数组值是一个 schema 错误:Claude Code 显示设置错误通知,`/doctor` 报告验证失败,hook 条目被删除,所以它不会出现在 `/hooks` 中。71如果 hook 出现但没有触发,匹配器通常是原因。`matcher` 字段是一个使用 `|` 来匹配多个工具名称的单个字符串,例如 `"Edit|Write"`。{/* min-version: 2.1.191 */}在 Claude Code v2.1.191 或更高版本上,`,` 也可以作为分隔符,所以 `"Edit,Write"` 是等效的。在更早的版本上,逗号会进入正则表达式评估,匹配器永远不会匹配,所以如果你不在 v2.1.191 上,请使用 `|`。拼写错误的工具名称会无声地失败,原因相同。数组值是一个 schema 错误:Claude Code 显示设置错误通知,`/doctor` 报告验证失败,hook 条目被删除,所以它不会出现在 `/hooks` 中。

72 72 

73对 `settings.json` 的编辑在短暂的文件稳定延迟后在运行的会话中生效。你不需要重新启动。如果保存后几秒钟 `/hooks` 仍然显示旧定义,再次运行 `/hooks` 来刷新视图。73对 `settings.json` 的编辑在短暂的文件稳定延迟后在运行的会话中生效。你不需要重新启动。如果保存后几秒钟 `/hooks` 仍然显示旧定义,再次运行 `/hooks` 来刷新视图。

74 74 


103| 症状 | 原因 | 修复 |103| 症状 | 原因 | 修复 |

104| :-------------------------------------------------- | :------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |104| :-------------------------------------------------- | :------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |

105| Hook 永远不触发 | `matcher` 是 JSON 数组而不是字符串 | 使用单个字符串,其中 `\|` 匹配多个工具,例如 `"Edit\|Write"`。请参阅[匹配器模式](/zh-CN/hooks#matcher-patterns)。 |105| Hook 永远不触发 | `matcher` 是 JSON 数组而不是字符串 | 使用单个字符串,其中 `\|` 匹配多个工具,例如 `"Edit\|Write"`。请参阅[匹配器模式](/zh-CN/hooks#matcher-patterns)。 |

106| Hook 永远不触发 | `matcher` 在 v2.1.191 之前的版本中使用 `,` 作为分隔符 | {/* min-version: 2.1.191 */}Claude Code v2.1.191 或更高版本将 `,` 视为列表分隔符,如 `\|`。早期版本将逗号评估为字面字符,因此 `"Edit,Write"` 不匹配任何内容。改用 `\|`,或升级 Claude Code。 |

106| Hook 永远不触发 | `matcher` 值是小写的,例如 `"bash"` | 匹配是区分大小写的。工具名称是大写的:`Bash`、`Edit`、`Write`、`Read`。 |107| Hook 永远不触发 | `matcher` 值是小写的,例如 `"bash"` | 匹配是区分大小写的。工具名称是大写的:`Bash`、`Edit`、`Write`、`Read`。 |

107| Hook 永远不触发 | Hooks 在独立文件而不是 `settings.json` 中定义 | 项目或用户配置没有独立的 hooks 文件。在 `settings.json` 中的 `"hooks"` 键下定义 hooks。只有[plugins](/zh-CN/plugins-reference#hooks)加载单独的 `hooks/hooks.json`。请参阅[hook 配置](/zh-CN/hooks)。 |108| Hook 永远不触发 | Hooks 在独立文件而不是 `settings.json` 中定义 | 项目或用户配置没有独立的 hooks 文件。在 `settings.json` 中的 `"hooks"` 键下定义 hooks。只有[plugins](/zh-CN/plugins-reference#hooks)加载单独的 `hooks/hooks.json`。请参阅[hook 配置](/zh-CN/hooks)。 |

108| 全局设置的权限、hooks 或 env 被忽略 | 配置被添加到 `~/.claude.json` | `~/.claude.json` 保存应用状态和 UI 切换。`permissions`、`hooks` 和 `env` 属于 `~/.claude/settings.json`。这是两个不同的文件。 |109| 全局设置的权限、hooks 或 env 被忽略 | 配置被添加到 `~/.claude.json` | `~/.claude.json` 保存应用状态和 UI 切换。`permissions`、`hooks` 和 `env` 属于 `~/.claude/settings.json`。这是两个不同的文件。 |

errors.md +4 −4

Details

413 Routines are disabled by your organization's policy413 Routines are disabled by your organization's policy

414</h3>414</h3>

415 415 

416您的团队或企业管理员已在组织级别关闭了例程。当您尝试创建或运行例程时会出现该错误,包括从 `/schedule` 和 claude.ai/code 上的 [Routines](/zh-CN/routines) UI。416您的团队或企业组织中的所有者已在组织级别关闭了例程。当您尝试创建或运行例程时会出现该错误,包括从 `/schedule` 和 claude.ai/code 上的 [Routines](/zh-CN/routines) UI。

417 417 

418```text theme={null}418```text theme={null}

419Routines are disabled by your organization's policy.419Routines are disabled by your organization's policy.


423 423 

424**要做什么:**424**要做什么:**

425 425 

426* 要求您的管理员在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 启用**例程**切换426* 要求您的组织中的所有者在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 启用**例程**切换

427* 对于不需要组织级别例程的一次性计划工作,请参阅[计划任务](/zh-CN/scheduled-tasks)427* 对于不需要组织级别例程的一次性计划工作,请参阅[计划任务](/zh-CN/scheduled-tasks)

428 428 

429<h3 id="oauth-token-revoked-or-expired">429<h3 id="oauth-token-revoked-or-expired">


486 486 

487* 通过从同一 shell 运行 `curl -I https://api.anthropic.com` 来确认您可以到达 API 主机。在 Windows PowerShell 上使用 `curl.exe -I https://api.anthropic.com`,以便不使用内置的 `Invoke-WebRequest` 别名。487* 通过从同一 shell 运行 `curl -I https://api.anthropic.com` 来确认您可以到达 API 主机。在 Windows PowerShell 上使用 `curl.exe -I https://api.anthropic.com`,以便不使用内置的 `Invoke-WebRequest` 别名。

488* 如果您在公司代理后面,请在启动 Claude Code 之前设置 `HTTPS_PROXY` 并参阅[网络配置](/zh-CN/network-config)488* 如果您在公司代理后面,请在启动 Claude Code 之前设置 `HTTPS_PROXY` 并参阅[网络配置](/zh-CN/network-config)

489* 如果您通过 LLM 网关或中继路由,请将 [`ANTHROPIC_BASE_URL`](/zh-CN/env-vars) 设置为其地址。有关设置,请参阅 [LLM 网关配置](/zh-CN/llm-gateway)。489* 如果您通过 LLM 网关或中继路由,请将 [`ANTHROPIC_BASE_URL`](/zh-CN/env-vars) 设置为其地址。有关设置,请参阅[将 Claude Code 连接到 LLM 网关](/zh-CN/llm-gateway-connect)。

490* 确保您的防火墙允许[网络访问要求](/zh-CN/network-config#network-access-requirements)中列出的主机490* 确保您的防火墙允许[网络访问要求](/zh-CN/network-config#network-access-requirements)中列出的主机

491* 间歇性故障会[自动重试](#automatic-retries);持续故障指向本地网络问题491* 间歇性故障会[自动重试](#automatic-retries);持续故障指向本地网络问题

492 492 


669 669 

670**要做什么:**670**要做什么:**

671 671 

672* 配置您的网关以转发 `anthropic-beta` 标头。请参阅 [LLM 网关配置](/zh-CN/llm-gateway)。672* 配置您的网关以转发 `anthropic-beta` 标头。请参阅[功能传递](/zh-CN/llm-gateway-protocol#feature-pass-through)了解网关必须转发的内容

673* 作为后备,在启动之前设置 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/zh-CN/env-vars)。这会禁用需要 beta 标头的功能,以便请求通过无法转发它的网关成功。673* 作为后备,在启动之前设置 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/zh-CN/env-vars)。这会禁用需要 beta 标头的功能,以便请求通过无法转发它的网关成功。

674 674 

675<h3 id="there’s-an-issue-with-the-selected-model">675<h3 id="there’s-an-issue-with-the-selected-model">

fast-mode.md +5 −5

Details

112 快速模式使用直接计入使用额度,即使您的计划上还有剩余使用量。这意味着快速模式令牌不计入您的计划包含的使用量,并从第一个令牌开始按快速模式费率收费。112 快速模式使用直接计入使用额度,即使您的计划上还有剩余使用量。这意味着快速模式令牌不计入您的计划包含的使用量,并从第一个令牌开始按快速模式费率收费。

113</Note>113</Note>

114 114 

115* **团队和企业的管理员启用**:快速模式默认对团队和企业组织禁用。管理员必须明确[启用快速模式](#enable-fast-mode-for-your-organization),用户才能访问它。115* **团队和企业的所有者启用**:快速模式默认对团队和企业组织禁用。所有者必须明确[启用快速模式](#enable-fast-mode-for-your-organization),用户才能访问它。

116 116 

117<Note>117<Note>

118 如果您的管理员尚未为您的组织启用快速模式,`/fast` 命令将显示"Fast mode has been disabled by your organization."。如果您的组织的 [`availableModels`](/zh-CN/model-config#restrict-model-selection) 允许列表排除了快速模式 Opus 模型,`/fast` 将被拒绝,显示"is not in your organization's allowed models"。例外情况是已在支持快速模式的允许 Opus 模型上运行的会话:`/fast` 随后应用于该模型118 如果您的组织尚未启用快速模式,`/fast` 命令将显示"Fast mode has been disabled by your organization."。如果您的组织的 [`availableModels`](/zh-CN/model-config#restrict-model-selection) 允许列表排除了快速模式 Opus 模型,`/fast` 将被拒绝,显示"is not in your organization's allowed models"。例外情况是已在支持快速模式的允许 Opus 模型上运行的会话:`/fast` 随后在您当前的模型上启用快速模式,而不是切换模型

119</Note>119</Note>

120 120 

121<h3 id="enable-fast-mode-for-your-organization">121<h3 id="enable-fast-mode-for-your-organization">

122 为您的组织启用快速模式122 为您的组织启用快速模式

123</h3>123</h3>

124 124 

125管理员可以在以下位置启用快速模式125您启用快速模式的位置取决于您的组织使用的产品

126 126 

127* **控制台**(API 客户):[Claude Code 偏好设置](https://platform.claude.com/claude-code/preferences)127* **控制台**(API 客户):管理员在 [Claude Code 偏好设置](https://platform.claude.com/claude-code/preferences)中启用它

128* **Claude AI**(团队和企业):[管理员设置 > Claude Code](https://claude.ai/admin-settings/claude-code)128* **Claude AI**(团队和企业):所有者在[管理员设置 > Claude Code](https://claude.ai/admin-settings/claude-code)中启用它

129 129 

130另一个完全禁用快速模式的选项是设置 `CLAUDE_CODE_DISABLE_FAST_MODE=1`。请参阅[环境变量](/zh-CN/env-vars)。130另一个完全禁用快速模式的选项是设置 `CLAUDE_CODE_DISABLE_FAST_MODE=1`。请参阅[环境变量](/zh-CN/env-vars)。

131 131 

feature-availability.md +314 −0 created

Details

1> ## Documentation Index

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

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

4 

5# 功能可用性

6 

7> 比较 Claude Code 功能在 Anthropic 订阅计划、Anthropic Console、Amazon Bedrock、AWS 上的 Claude Platform、Google Vertex AI 和 Microsoft Foundry 中的可用性。

8 

9Claude Code CLI 和所有本地运行的功能在每个提供商上的工作方式完全相同。有关每个提供商的设置说明,请参阅[企业部署概述](/zh-CN/third-party-integrations)。要直接跳到您的提供商上缺少的功能,请参阅[按提供商汇总](#summary-by-provider)选项卡。

10 

11在下表中,✓ 表示可用,✗ 表示不可用,"See note"链接到脚注以获取部分支持。✓ 后面的限定符将可用性缩小到该子集,"Admin-enabled"表示该功能处于关闭状态,直到组织管理员将其打开。

12 

13<h2 id="availability-by-model-provider">

14 按模型提供商的可用性

15</h2>

16 

17您的身份验证方式决定了 Claude Code 可以访问哪些功能。有关您的提供商上缺少的内容的单一列表,请参阅[按提供商汇总](#summary-by-provider)选项卡。要在表格中找到您的列:

18 

19* **Claude 订阅**:您使用 claude.ai 账户登录 Pro、Max、Team 或 Enterprise 计划

20* **Anthropic Console**:您使用 Anthropic API 密钥进行身份验证

21* **Amazon Bedrock**:您从 Bedrock 模型目录中使用 Claude 模型并设置 `CLAUDE_CODE_USE_BEDROCK`。[Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint)(`CLAUDE_CODE_USE_MANTLE`)由此列涵盖

22* **Claude Platform on AWS**:您通过 AWS Marketplace 购买了 Claude,但调用 Anthropic API,并设置 `CLAUDE_CODE_USE_ANTHROPIC_AWS`

23* **Google Vertex AI**:由 Google 运营;您设置 `CLAUDE_CODE_USE_VERTEX`

24* **Microsoft Foundry**:由 Anthropic 在 Azure 上运营;您设置 `CLAUDE_CODE_USE_FOUNDRY`

25 

26<h3 id="features-available-on-every-provider">

27 每个提供商都可用的功能

28</h3>

29 

30这些在每个提供商上的工作方式完全相同:

31 

32* [CLI](/zh-CN/quickstart) 和 [Agent SDK](/zh-CN/agent-sdk/overview)

33* [VS Code](/zh-CN/vs-code) 和 [JetBrains](/zh-CN/jetbrains) 扩展

34* [Subagents](/zh-CN/sub-agents)、[hooks](/zh-CN/hooks-guide)、[commands](/zh-CN/commands) 和 [skills](/zh-CN/skills)

35* [CLAUDE.md memory](/zh-CN/memory)、[plugins](/zh-CN/plugins) 和 [MCP servers](/zh-CN/mcp)

36* [Checkpoints](/zh-CN/checkpointing)、[sandboxing](/zh-CN/sandboxing) 和 [Workflows](/zh-CN/workflows)

37* [OpenTelemetry metrics](/zh-CN/monitoring-usage) 和[托管设置文件](/zh-CN/settings#settings-files)

38 

39<h3 id="features-that-require-a-claude-subscription">

40 需要 Claude 订阅的功能

41</h3>

42 

43这些需要使用 claude.ai 账户登录,无法通过 Anthropic Console API 密钥或第三方提供商访问:

44 

45* [网络上的 Claude Code](/zh-CN/claude-code-on-the-web)、移动设备上的 Claude Code 和 [Slack 中的 Claude Code](/zh-CN/slack)

46* [Claude Code Desktop](/zh-CN/desktop)

47* [Routines](/zh-CN/routines)(`/schedule`)

48* [Ultraplan](/zh-CN/ultraplan) 和 [Ultrareview](/zh-CN/ultrareview)

49* [Code Review](/zh-CN/code-review):Team 和 Enterprise 计划

50* [Remote Control](/zh-CN/remote-control)

51* [Chrome 扩展](/zh-CN/chrome)

52* [Computer use](/zh-CN/computer-use):Pro 和 Max 计划

53* [Artifacts](/zh-CN/artifacts):Team 和 Enterprise 计划

54* [Voice dictation](/zh-CN/voice-dictation)

55 

56Desktop 是部分例外:Enterprise 部署可以通过[托管设置](https://support.claude.com/en/articles/12622667-enterprise-configuration)将 Desktop 路由到 Vertex AI 或网关提供商,[Cowork on 3P 研究预览](https://claude.com/docs/cowork/3p/overview)在 Bedrock、Vertex AI、Foundry 或自托管 LLM 网关上运行 Code 选项卡。有关这些功能的按计划可用性,请参阅[按订阅计划的可用性](#availability-by-subscription-plan)。

57 

58<h3 id="cli-capabilities-that-vary-by-provider">

59 按提供商变化的 CLI 功能

60</h3>

61 

62这些功能在本地 CLI 中工作,但取决于并非每个提供商都公开的服务器端功能。

63 

64<table>

65 <thead>

66 <tr>

67 <th>功能</th>

68 <th>Claude 订阅</th>

69 <th>Anthropic Console</th>

70 <th>Amazon Bedrock</th>

71 <th>Claude Platform on AWS</th>

72 <th>Google Vertex AI</th>

73 <th>Microsoft Foundry</th>

74 </tr>

75 </thead>

76 

77 <tbody>

78 <tr>

79 <td>[Web search](/zh-CN/tools-reference#websearch-tool-behavior)</td>

80 <td>✓</td>

81 <td>✓</td>

82 <td>✗</td>

83 <td>✓</td>

84 <td>See note <sup><a href="#fn1">1</a></sup></td>

85 <td>✓</td>

86 </tr>

87 

88 <tr>

89 <td>[Fast mode](/zh-CN/fast-mode)</td>

90 <td>✓</td>

91 <td>✓</td>

92 <td>✗</td>

93 <td>✗</td>

94 <td>✗</td>

95 <td>✗</td>

96 </tr>

97 

98 <tr>

99 <td>[Auto mode](/zh-CN/auto-mode-config)</td>

100 <td>✓</td>

101 <td>✓</td>

102 <td>See note <sup><a href="#fn2">2</a></sup></td>

103 <td>✓</td>

104 <td>See note <sup><a href="#fn2">2</a></sup></td>

105 <td>See note <sup><a href="#fn2">2</a></sup></td>

106 </tr>

107 

108 <tr>

109 <td>[Advisor](/zh-CN/advisor)</td>

110 <td>✓</td>

111 <td>✓</td>

112 <td>✗</td>

113 <td>✗</td>

114 <td>✗</td>

115 <td>✗</td>

116 </tr>

117 

118 <tr>

119 <td>[Channels](/zh-CN/channels)</td>

120 <td>✓</td>

121 <td>✓</td>

122 <td>✗</td>

123 <td>✗</td>

124 <td>✗</td>

125 <td>✗</td>

126 </tr>

127 

128 <tr>

129 <td>[`/loop` scheduled tasks](/zh-CN/scheduled-tasks)</td>

130 <td>✓</td>

131 <td>✓</td>

132 <td>See note <sup><a href="#fn3">3</a></sup></td>

133 <td>✓</td>

134 <td>See note <sup><a href="#fn3">3</a></sup></td>

135 <td>See note <sup><a href="#fn3">3</a></sup></td>

136 </tr>

137 

138 <tr>

139 <td>[GitHub Actions](/zh-CN/github-actions) 和 [GitLab CI/CD](/zh-CN/gitlab-ci-cd)</td>

140 <td>✓</td>

141 <td>✓</td>

142 <td>✓</td>

143 <td>✓</td>

144 <td>✓</td>

145 <td>✗</td>

146 </tr>

147 </tbody>

148</table>

149 

150<h3 id="admin-and-analytics">

151 管理和分析

152</h3>

153 

154组织级别的控制和使用情况可见性。

155 

156<table>

157 <thead>

158 <tr>

159 <th>功能</th>

160 <th>Claude 订阅</th>

161 <th>Anthropic Console</th>

162 <th>Amazon Bedrock</th>

163 <th>Claude Platform on AWS</th>

164 <th>Google Vertex AI</th>

165 <th>Microsoft Foundry</th>

166 </tr>

167 </thead>

168 

169 <tbody>

170 <tr>

171 <td>[Analytics dashboard and API](/zh-CN/analytics)</td>

172 <td>✓ (Team 和 Enterprise)</td>

173 <td>✓ <sup><a href="#fn5">5</a></sup></td>

174 <td>✗</td>

175 <td>✗</td>

176 <td>✗</td>

177 <td>✗</td>

178 </tr>

179 

180 <tr>

181 <td>[Server-managed settings](/zh-CN/server-managed-settings)</td>

182 <td>✓ (Team 和 Enterprise)</td>

183 <td>✓ (Team 和 Enterprise)</td>

184 <td>✗</td>

185 <td>✗</td>

186 <td>✗</td>

187 <td>✗</td>

188 </tr>

189 

190 <tr>

191 <td>[Zero Data Retention](/zh-CN/zero-data-retention)</td>

192 <td>✓ (合格的 Enterprise 账户)</td>

193 <td>✓ (合格的账户)</td>

194 <td>See note <sup><a href="#fn4">4</a></sup></td>

195 <td>✓ (合格的账户)</td>

196 <td>See note <sup><a href="#fn4">4</a></sup></td>

197 <td>See note <sup><a href="#fn4">4</a></sup></td>

198 </tr>

199 </tbody>

200</table>

201 

202<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> 在 Vertex AI 上,web search 适用于 Claude 4 及更高版本的模型。<br />

203<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> 需要 `CLAUDE_CODE_ENABLE_AUTO_MODE`。请参阅 [Auto mode 配置](/zh-CN/auto-mode-config)。<br />

204<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> 显式间隔(如 `/loop every 2 hours`)在每个提供商上都有效。在 Bedrock、Vertex AI 和 Foundry 上,`/loop` 无法选择自己的间隔或提供默认维护提示,因此没有间隔的提示每 10 分钟运行一次,没有参数的 `/loop` 显示使用消息。请参阅[计划任务](/zh-CN/scheduled-tasks)。<br />

205<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> 受您与云提供商的协议约束。<br />

206<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> 仅限仪表板和 API。[贡献指标](/zh-CN/analytics#enable-contribution-metrics)需要 claude.ai Team 或 Enterprise 组织。

207 

208<Note>

209 如果您通过 [LLM gateway](/zh-CN/llm-gateway) 进行身份验证,功能可用性与网关转发到的基础提供商相匹配。某些仅限 Anthropic 的功能(如 [Advisor](/zh-CN/advisor))仅在网关将请求完整转发到 Anthropic API 时才有效。

210</Note>

211 

212<h3 id="summary-by-provider">

213 按提供商汇总

214</h3>

215 

216每个选项卡列出了该提供商上不可用或部分支持的内容,以及存在替代方案的地方。未列出的所有内容的工作方式与 Claude 订阅上相同。在 Bedrock、Vertex AI、Foundry 和 Claude Platform on AWS 上,错误报告和遥测到 Anthropic 默认处于关闭状态。请参阅[按 API 提供商的默认行为](/zh-CN/data-usage#default-behaviors-by-api-provider)了解哪些流量仍然到达 Anthropic 以及如何选择退出。

217 

218<Tabs>

219 <Tab title="Amazon Bedrock">

220 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription),加上 [web search](/zh-CN/tools-reference#websearch-tool-behavior)、[fast mode](/zh-CN/fast-mode)、[Advisor](/zh-CN/advisor)、[Channels](/zh-CN/channels)、[analytics dashboard](/zh-CN/analytics) 和 [server-managed settings](/zh-CN/server-managed-settings)。

221 

222 **部分支持:**

223 

224 * [Desktop](/zh-CN/desktop):仅通过 [Cowork on 3P 研究预览](https://claude.com/docs/cowork/3p/overview)

225 * [Auto mode](/zh-CN/auto-mode-config):设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`

226 * [`/loop`](/zh-CN/scheduled-tasks):仅显式间隔

227 * [Zero Data Retention](/zh-CN/zero-data-retention):受您的 AWS 协议约束

228 

229 **替代方案:** 对于调度,使用带有显式间隔的 [`/loop`](/zh-CN/scheduled-tasks) 而不是 `/schedule`。对于云会话,使用 [GitHub Actions](/zh-CN/github-actions) 或 [GitLab CI/CD](/zh-CN/gitlab-ci-cd)。对于网络查询,使用带有特定 URL 的 [WebFetch tool](/zh-CN/tools-reference#webfetch-tool-behavior)。

230 </Tab>

231 

232 <Tab title="Claude Platform on AWS">

233 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription),加上 [fast mode](/zh-CN/fast-mode)、[Advisor](/zh-CN/advisor)、[Channels](/zh-CN/channels)、[analytics dashboard](/zh-CN/analytics) 和 [server-managed settings](/zh-CN/server-managed-settings)。

234 

235 **可用** Bedrock 不可用的地方:[web search](/zh-CN/tools-reference#websearch-tool-behavior)、不需要选择加入标志的 [auto mode](/zh-CN/auto-mode-config) 和 [`/loop` self-pacing](/zh-CN/scheduled-tasks)。

236 

237 **替代方案:** 对于调度,使用 [`/loop`](/zh-CN/scheduled-tasks) 而不是 `/schedule`。对于云会话,使用 [GitHub Actions](/zh-CN/github-actions) 或 [GitLab CI/CD](/zh-CN/gitlab-ci-cd)。

238 </Tab>

239 

240 <Tab title="Google Vertex AI">

241 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription),加上 [fast mode](/zh-CN/fast-mode)、[Advisor](/zh-CN/advisor)、[Channels](/zh-CN/channels)、[analytics dashboard](/zh-CN/analytics) 和 [server-managed settings](/zh-CN/server-managed-settings)。

242 

243 **部分支持:**

244 

245 * [Desktop](/zh-CN/desktop):通过[托管设置](https://support.claude.com/en/articles/12622667-enterprise-configuration)或 [Cowork on 3P 研究预览](https://claude.com/docs/cowork/3p/overview)

246 * [Web search](/zh-CN/tools-reference#websearch-tool-behavior):Claude 4 及更高版本的模型

247 * [Auto mode](/zh-CN/auto-mode-config):设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`

248 * [`/loop`](/zh-CN/scheduled-tasks):仅显式间隔

249 * [Zero Data Retention](/zh-CN/zero-data-retention):受您的 Google Cloud 协议约束

250 

251 **替代方案:** 对于调度,使用带有显式间隔的 [`/loop`](/zh-CN/scheduled-tasks) 而不是 `/schedule`。对于云会话,使用 [GitHub Actions](/zh-CN/github-actions) 或 [GitLab CI/CD](/zh-CN/gitlab-ci-cd)。

252 </Tab>

253 

254 <Tab title="Microsoft Foundry">

255 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription),加上 [fast mode](/zh-CN/fast-mode)、[Advisor](/zh-CN/advisor)、[Channels](/zh-CN/channels)、[GitHub Actions](/zh-CN/github-actions) 和 [GitLab CI/CD](/zh-CN/gitlab-ci-cd)、[analytics dashboard](/zh-CN/analytics) 和 [server-managed settings](/zh-CN/server-managed-settings)。

256 

257 **部分支持:**

258 

259 * [Desktop](/zh-CN/desktop):仅通过 [Cowork on 3P 研究预览](https://claude.com/docs/cowork/3p/overview)

260 * [Auto mode](/zh-CN/auto-mode-config):设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`

261 * [`/loop`](/zh-CN/scheduled-tasks):仅显式间隔

262 * [Zero Data Retention](/zh-CN/zero-data-retention):受您的 Azure 协议约束

263 

264 **替代方案:** 对于调度,使用带有显式间隔的 [`/loop`](/zh-CN/scheduled-tasks) 而不是 `/schedule`。

265 </Tab>

266 

267 <Tab title="Anthropic Console">

268 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription)。

269 

270 [按提供商变化的 CLI 功能](#cli-capabilities-that-vary-by-provider)中的所有内容都可用,当 API 密钥属于 Team 或 Enterprise 组织时,[server-managed settings](/zh-CN/server-managed-settings) 也可用。

271 </Tab>

272</Tabs>

273 

274<h2 id="availability-by-subscription-plan">

275 按订阅计划的可用性

276</h2>

277 

278如果您通过 Bedrock、Vertex AI、Foundry 或 Anthropic Console API 密钥进行身份验证,本部分不适用于您。当您使用 claude.ai 账户登录时,您的计划决定了以下哪些功能可用。

279 

280| 功能 | Pro | Max | Team | Enterprise |

281| :-------------------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |

282| [网络上的 Claude Code](/zh-CN/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

283| [Routines](/zh-CN/routines) | ✓ | ✓ | ✓ | ✓ |

284| [Remote Control](/zh-CN/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |

285| [Channels](/zh-CN/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |

286| [Computer use](/zh-CN/computer-use) | ✓ | ✓ | ✗ | ✗ |

287| Dispatch ([Desktop](/zh-CN/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |

288| [Code Review](/zh-CN/code-review) | ✗ | ✗ | ✓ | ✓ |

289| [Artifacts](/zh-CN/artifacts) | ✗ | ✗ | ✓ | Admin-enabled |

290| [Analytics dashboard、API 和贡献指标](/zh-CN/analytics) | ✗ | ✗ | ✓ | ✓ |

291| [Server-managed settings](/zh-CN/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

292| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |

293| SCIM | ✗ | ✗ | ✗ | ✓ |

294| [Compliance API](https://platform.claude.com/docs/en/api/admin-api/compliance/overview) | ✗ | ✗ | ✗ | ✓ |

295| [Zero Data Retention](/zh-CN/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

296 

297<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> 在 Enterprise 上,需要高级座位或 Chat + Claude Code 座位。请参阅[网络上的 Claude Code](/zh-CN/claude-code-on-the-web)。<br />

298<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> 不包含在标准 Enterprise 计划中。需要 Anthropic 为合格账户单独启用。请参阅 [Zero Data Retention](/zh-CN/zero-data-retention)。

299 

300有关定价和完整的计划比较,请参阅 [Team 计划](https://support.claude.com/en/articles/9266767-what-is-the-team-plan)和 [Enterprise 计划](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan)。

301 

302<h2 id="model-availability">

303 模型可用性

304</h2>

305 

306有关每个提供商和地区可用的 Claude 模型和上下文窗口大小,请参阅[模型配置](/zh-CN/model-config)和[模型概述](https://platform.claude.com/docs/en/about-claude/models/overview)。Vision、PDF 输入和扩展思考是模型功能而不是 Claude Code 功能,在提供该模型的每个提供商上都有效。[Prompt caching](/zh-CN/prompt-caching) 在大多数提供商上的工作方式相同;在 Bedrock 上,支持因模型而异。

307 

308<h2 id="related-resources">

309 相关资源

310</h2>

311 

312* [企业部署概述](/zh-CN/third-party-integrations):比较提供商之间的身份验证、计费和地区

313* 提供商设置指南:[Amazon Bedrock](/zh-CN/amazon-bedrock)、[Claude Platform on AWS](/zh-CN/claude-platform-on-aws)、[Google Vertex AI](/zh-CN/google-vertex-ai)、[Microsoft Foundry](/zh-CN/microsoft-foundry)

314* [平台和集成](/zh-CN/platforms):Claude Code 运行的地方,包括 CLI、Desktop、IDE 扩展、网络、移动和 CI/CD

Details

10 GitHub Enterprise Server 支持适用于 Team 和 Enterprise 计划。10 GitHub Enterprise Server 支持适用于 Team 和 Enterprise 计划。

11</Note>11</Note>

12 12 

13GitHub Enterprise Server (GHES) 支持让您的组织使用 Claude Code 处理托管在自管理 GitHub 实例上的存储库,而不是 github.com。一旦管理员连接您的 GHES 实例,开发人员可以运行网络会话、获得自动化代码审查,并从内部市场安装插件,无需任何按存储库的配置。13GitHub Enterprise Server (GHES) 支持让您的组织使用 Claude Code 处理托管在自管理 GitHub 实例上的存储库,而不是 github.com。一旦所有者连接您的 GHES 实例,开发人员可以运行网络会话、获得自动化代码审查,并从内部市场安装插件,无需任何按存储库的配置。

14 14 

15对于 github.com 上的存储库,请参阅 [网络上的 Claude Code](/zh-CN/claude-code-on-the-web) 和 [代码审查](/zh-CN/code-review)。要在您自己的 CI 基础设施中运行 Claude,请参阅 [GitHub Actions](/zh-CN/github-actions)。15对于 github.com 上的存储库,请参阅 [网络上的 Claude Code](/zh-CN/claude-code-on-the-web) 和 [代码审查](/zh-CN/code-review)。要在您自己的 CI 基础设施中运行 Claude,请参阅 [GitHub Actions](/zh-CN/github-actions)。

16 16 


22 22 

23| 功能 | GHES 支持 | 备注 |23| 功能 | GHES 支持 | 备注 |

24| :---------------- | :------ | :--------------------------------------------------------------------------------------- |24| :---------------- | :------ | :--------------------------------------------------------------------------------------- |

25| 网络上的 Claude Code | ✅ 支持 | 管理员连接 GHES 实例一次;开发人员像往常一样使用 `claude --remote` 或 [claude.ai/code](https://claude.ai/code) |25| 网络上的 Claude Code | ✅ 支持 | 所有者连接 GHES 实例一次;开发人员像往常一样使用 `claude --remote` 或 [claude.ai/code](https://claude.ai/code) |

26| 代码审查 | ✅ 支持 | 与 github.com 相同的自动化 PR 审查 |26| 代码审查 | ✅ 支持 | 与 github.com 相同的自动化 PR 审查 |

27| Claude Security | ✅ 支持 | 在 [claude.ai/security](https://claude.ai/security) 为 Enterprise 计划提供公开测试版 |27| Claude Security | ✅ 支持 | 在 [claude.ai/security](https://claude.ai/security) 为 Enterprise 计划提供公开测试版 |

28| Teleport 会话 | ✅ 支持 | 使用 `--teleport` 在网络和终端之间移动会话 |28| Teleport 会话 | ✅ 支持 | 使用 `--teleport` 在网络和终端之间移动会话 |


35 管理员设置35 管理员设置

36</h2>36</h2>

37 37 

38管理员将您的 GHES 实例连接到 Claude Code 一次。之后,您组织中的开发人员可以使用 GHES 存储库,无需任何额外配置。您需要对 Claude 组织具有管理员访问权限,以及在 GHES 实例上创建 GitHub App 的权限。38一个所有者将您的 GHES 实例连接到 Claude Code 一次。之后,您组织中的开发人员可以使用 GHES 存储库,无需任何额外配置。您需要在 Claude 组织中具有所有者或主要所有者角色,以及在 GHES 实例上创建 GitHub App 的权限。

39 39 

40引导式设置生成 GitHub App 清单,并将您重定向到 GHES 实例以一键创建应用。如果您的环境阻止重定向流,可以使用 [替代手动设置](#manual-setup)。40引导式设置生成 GitHub App 清单,并将您重定向到 GHES 实例以一键创建应用。如果您的环境阻止重定向流,可以使用 [替代手动设置](#manual-setup)。

41 41 


193 网络会话无法克隆存储库193 网络会话无法克隆存储库

194</h3>194</h3>

195 195 

196如果 `claude --remote` 因克隆错误而失败,请验证您的管理员已完成 GHES 实例的设置,并且 GitHub App 已安装在您正在处理的存储库上。与您的管理员确认在 Claude 设置中注册的实例主机名与您的 git 远程中的主机名匹配。196如果 `claude --remote` 因克隆错误而失败,请验证 Owner 已完成您的 GHES 实例的设置,并且 GitHub App 已安装在您正在处理的存储库上。与连接该实例的 Owner 确认在 Claude 设置中注册的主机名与您的 git 远程中的主机名匹配。

197 197 

198<h3 id="marketplace-add-fails-with-a-policy-error">198<h3 id="marketplace-add-fails-with-a-policy-error">

199 市场添加因策略错误而失败199 市场添加因策略错误而失败

glossary.md +1 −1

Details

208 Managed settings208 Managed settings

209</h3>209</h3>

210 210 

211由 IT 或 DevOps 在组织范围内强制执行的设置,通过管理员控制台从 Anthropic 的服务器交付,或部署到 `~/.claude` 之外的操作系统级路径。用户无法从较低优先级的范围覆盖托管设置。服务器管理的交付适用于[符合条件的配置](/zh-CN/server-managed-settings#platform-availability);请参阅[安全考虑](/zh-CN/server-managed-settings#security-considerations)。使用此功能可实现安全策略、合规要求或跨一个群体的标准化工具。211由 IT 或 DevOps 在组织范围内强制执行的设置,通过管理员控制台从 Anthropic 的服务器交付,或部署到 `~/.claude` 之外的操作系统级路径。用户和项目设置无法覆盖托管设置。服务器管理的交付适用于[符合条件的配置](/zh-CN/server-managed-settings#platform-availability);请参阅[安全考虑](/zh-CN/server-managed-settings#security-considerations)。使用此功能可实现安全策略、合规要求或跨一个群体的标准化工具。

212 212 

213了解更多:[服务器管理的设置](/zh-CN/server-managed-settings) · [设置文件](/zh-CN/settings#settings-files)213了解更多:[服务器管理的设置](/zh-CN/server-managed-settings) · [设置文件](/zh-CN/settings#settings-files)

214 214 

hooks.md +4 −2

Details

191`matcher` 字段过滤 hooks 何时触发。匹配器的评估方式取决于它包含的字符:191`matcher` 字段过滤 hooks 何时触发。匹配器的评估方式取决于它包含的字符:

192 192 

193| 匹配器值 | 评估为 | 示例 |193| 匹配器值 | 评估为 | 示例 |

194| :---------------- | :--------------------- | :------------------------------------------------------------------------ |194| :----------------------- | :----------------------------------- | :------------------------------------------------------------------------ |

195| `"*"`、`""` 或省略 | 匹配所有 | 在事件的每次出现时触发 |195| `"*"`、`""` 或省略 | 匹配所有 | 在事件的每次出现时触发 |

196| 仅字母、数字、`_` 和 `\|` | 精确字符串或 `\|` 分隔的精确字符串列表 | `Bash` 仅匹配 Bash 工具;`Edit\|Write` 精确匹配任一工具 |196| 仅字母、数字、`_`、空格、`,` 和 `\|` | 精确字符串或由 `\|` 或 `,` 分隔的精确字符串列表,可选周围空格 | `Bash` 仅匹配 Bash 工具;`Edit\|Write` 和 `Edit, Write` 各自精确匹配任一工具 |

197| 包含任何其他字符 | JavaScript 正则表达式 | `^Notebook` 匹配任何以 Notebook 开头的工具;`mcp__memory__.*` 匹配来自 `memory` 服务器的每个工具 |197| 包含任何其他字符 | JavaScript 正则表达式 | `^Notebook` 匹配任何以 Notebook 开头的工具;`mcp__memory__.*` 匹配来自 `memory` 服务器的每个工具 |

198 198 

199逗号分隔符和周围空格容差需要 Claude Code v2.1.191 或更高版本。`FileChanged` 和 `StopFailure` 事件仅接受 `|` 作为列表分隔符,并将 `,` 视为文字字符;下表中列出的所有其他事件接受 `|` 或 `,`。

200 

199`FileChanged` 事件在构建其监视列表时不遵循这些规则。请参阅 [FileChanged](#filechanged)。201`FileChanged` 事件在构建其监视列表时不遵循这些规则。请参阅 [FileChanged](#filechanged)。

200 202 

201每个事件类型在不同的字段上匹配:203每个事件类型在不同的字段上匹配:

hooks-guide.md +1 −1

Details

198 198 

199在 Claude 编辑的每个文件上自动运行 [Prettier](https://prettier.io/),以便格式保持一致而无需手动干预。199在 Claude 编辑的每个文件上自动运行 [Prettier](https://prettier.io/),以便格式保持一致而无需手动干预。

200 200 

201此 hook 使用带有 `Edit|Write` 匹配器的 `PostToolUse` 事件,因此它仅在文件编辑工具之后运行。该命令使用 [`jq`](https://jqlang.github.io/jq/) 提取编辑的文件路径并将其传递给 Prettier。将其添加到项目根目录中的 `.claude/settings.json`:201此 hook 使用带有 `Edit|Write` 匹配器的 `PostToolUse` 事件,因此它仅在文件编辑工具之后运行。{/* min-version: 2.1.191 */}在 Claude Code v2.1.191 或更高版本上,你也可以将匹配器写为 `Edit,Write`,因为在这些版本上 `|` 和 `,` 是工具名称匹配器的可互换列表分隔符。该命令使用 [`jq`](https://jqlang.github.io/jq/) 提取编辑的文件路径并将其传递给 Prettier。将其添加到项目根目录中的 `.claude/settings.json`:

202 202 

203```json theme={null}203```json theme={null}

204{204{

Details

155</h3>155</h3>

156 156 

157| 命令 | 操作 |157| 命令 | 操作 |

158| :-------------- | :--------------------- |158| :-------------- | :-------------------------------------------------------------------------------------------------------- |

159| `h`/`j`/`k`/`l` | 向左/向下/向上/向右移动 |159| `h`/`j`/`k`/`l` | 向左/向下/向上/向右移动 |

160| `Space` | 向右移动 |160| `Space` | 向右移动 |

161| `w` | 下一个单词 |161| `w` | 下一个单词 |


172| `T{char}` | 跳转到上一个字符出现处之后 |172| `T{char}` | 跳转到上一个字符出现处之后 |

173| `;` | 重复最后一个 f/F/t/T 动作 |173| `;` | 重复最后一个 f/F/t/T 动作 |

174| `,` | 反向重复最后一个 f/F/t/T 动作 |174| `,` | 反向重复最后一个 f/F/t/T 动作 |

175| `/` | 打开反向历史搜索,与 `Ctrl+R` 相同 |175| `/` | 打开反向历史搜索,与 `Ctrl+R` 相同。{/* min-version: 2.1.191 */}从 v2.1.191 开始,空搜索提示显示一个提示:按 `Esc` 然后 `i` 然后 `/` 打开命令菜单 |

176 176 

177<Note>177<Note>

178 在 vim 正常模式下,如果光标在输入的开始或结束处且无法进一步移动,`j`/`k` 和箭头键将导航命令历史。178 在 vim 正常模式下,如果光标在输入的开始或结束处且无法进一步移动,`j`/`k` 和箭头键将导航命令历史。

llm-gateway.md +64 −205

Details

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

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

4 4 

5# LLM gateway 配置5# LLM gateway

6 6 

7> 了解如何配置 Claude Code 以使用 LLM gateway 解决方案。涵盖网关要求身份验证配置模型选择和特定提供商的端点设置7> 通过 LLM gateway 路由 Claude Code 以实现集中身份验证、使用情况跟踪和成本控制。涵盖将 Claude Code 连接到网关为您的组织部署网关Claude Code 发送到网关的内容,以及网关如何与 claude.ai 订阅交互

8 8 

9LLM gateway 提供了 Claude Code 和模型提供商之间的集中代理层通常提供以下功能:9LLM gateway 是您的组织在 Claude Code 和模型提供商之间运行的代理。Claude Code 将 API 流量发送到网关网关使用您的组织控制的凭证将其转发给提供商。

10 10 

11* **集中身份验证** - API 密钥管理的单一入口11本页面涵盖:

12* **使用情况跟踪** - 监控团队和项目的使用情况

13* **成本控制** - 实施预算和速率限制

14* **审计日志** - 跟踪所有模型交互以实现合规性

15* **模型路由** - 无需更改代码即可在提供商之间切换

16 12 

17本页面涵盖 Claude Code CLI 的网关要求和配置。企业桌面部署可以通过[托管设置](https://support.claude.com/zh-CN/articles/12622667-enterprise-configuration)配置网关提供商。Claude Desktop 应用也可以通过 [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/gateway) 针对自托管网关运行,该预览版使用自己的配置密钥。13* [网关提供的功能](#what-a-gateway-provides)

18 14* [路由和凭证如何工作](#how-a-gateway-works)

19<h2 id="gateway-requirements">15* [部署网关的步骤](#roll-out-a-gateway)

20 网关要求16* [网关如何与 claude.ai 订阅交互](#subscriptions-and-gateways)

21</h2>17* [与网关分开配置的内容](#configure-separately-from-the-gateway)

22 

23为了使 LLM gateway 与 Claude Code 配合使用,它必须满足以下要求:

24 

25**API 格式**

26 

27网关必须向客户端公开以下至少一种 API 格式:

28 

291. **Anthropic Messages**: `/v1/messages`, `/v1/messages/count_tokens`

30 * 必须转发请求头:`anthropic-beta`、`anthropic-version`

31 

322. **Bedrock InvokeModel**: `/invoke`, `/invoke-with-response-stream`

33 * 必须保留请求体字段:`anthropic_beta`、`anthropic_version`

34 

353. **Vertex rawPredict**: `:rawPredict`、`:streamRawPredict`、`/count-tokens:rawPredict`

36 * 必须转发请求头:`anthropic-beta`、`anthropic-version`

37 

38未能转发请求头或保留请求体字段可能导致功能减少或无法使用 Claude Code 功能。

39 18 

40<Note>19<Note>

41 Claude Code 根据 API 格式确定要启用的功能。当使用 Bedrock 或 Vertex 的 Anthropic Messages 格式时,您可能需要设置环境变量 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`。20 - 如果您是连接到现有网关的开发人员:[将 Claude Code 连接到您的网关](/zh-CN/llm-gateway-connect)

21 - 如果您是为组织部署网关的管理员:[部署和分发网关](/zh-CN/llm-gateway-rollout)

22 - 如果您正在配置网关产品:[网关协议参考](/zh-CN/llm-gateway-protocol)

42</Note>23</Note>

43 24 

44**请求头**25<h2 id="what-a-gateway-provides">

45 26 网关提供的功能

46Claude Code 在每个 API 请求上包含以下请求头:

47 

48| 请求头 | 描述 |

49| :------------------------------ | :--------------------------------------------------------------------------------------------- |

50| `X-Claude-Code-Session-Id` | 当前 Claude Code 会话的唯一标识符。代理可以使用此标识符来聚合来自单个会话的所有 API 请求,而无需解析请求体。 |

51| `X-Claude-Code-Agent-Id` | 发出请求的子代理或队友的标识符。您的代理可以使用此标识符将 API 成本归属于会话内的各个并行子代理,而无需解析请求体。仅在由进程内子代理或队友发出的请求中出现。 |

52| `X-Claude-Code-Parent-Agent-Id` | 生成发出请求的代理的代理的标识符。将此与 `X-Claude-Code-Agent-Id` 一起使用,以在您的代理中跨嵌套代理归属 API 成本。仅当请求代理本身由另一个代理生成时才出现。 |

53 

54两个代理 ID 请求头都是每次生成的临时标识符,而不是持久的用户或设备 ID。

55 

56Claude Code 还会在系统提示前面添加一个简短的归属块,其中包含客户端版本和从对话派生的指纹。Anthropic API 在处理前会删除此块,因此不会影响第一方提示缓存。如果您的网关实现了自己的提示缓存(以完整请求体为键),请设置 [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/zh-CN/env-vars) 以省略它。

57 

58<h2 id="configuration">

59 配置

60</h2>27</h2>

61 28 

62<h3 id="model-selection">29网关为您的组织提供一个地方来管理:

63 模型选择

64</h3>

65 

66默认情况下,Claude Code 使用所选 API 格式的标准模型名称。

67 30 

68当 `ANTHROPIC_BASE_URL` 指向一个公开 Anthropic Messages 格式的网关时,Claude Code 在启动时可以查询网关的 `/v1/models` 端点,并将返回的模型添加到 `/model` 选择器中。设置 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` 来启用此功能。默认情况下发现功能是关闭的,以便由共享 API 密钥支持的网关不会向每个用户显示该密钥可以访问的每个模型。每个发现的条目都标记为"From gateway",并在响应中提供 `display_name` 字段时使用该字段。这需要 Claude Code v2.1.129 或更高版本。31* **凭证**:提供商密钥保留在服务器端;开发人员改为持有网关凭证

32* **使用情况跟踪**:按开发人员或团队归属使用情况,无论哪个提供商处理请求

33* **成本控制**:在一个地方强制执行预算和速率限制

34* **审计日志**:记录每个模型请求以实现合规性

35* **提供商切换**:在网关配置中更改提供商,无需接触开发人员机器

69 36 

70发现功能仅适用于 Anthropic Messages 格式。它不会对 Bedrock 或 Vertex 直通端点运行也不会在 `ANTHROPIC_BASE_URL` 未设置或指向 `api.anthropic.com` 时运行37除了提供商切换外所有这些都适用于上游是 Anthropic API 还是[云提供商](/zh-CN/third-party-integrations)

71 38 

72发现请求的身份验证方式与推理请求相同:它将 `ANTHROPIC_AUTH_TOKEN` 作为 bearer 令牌发送或在未设置身份验证令牌时将 `ANTHROPIC_API_KEY` 作为 `x-api-key` 标头发送以及来自 `ANTHROPIC_CUSTOM_HEADERS` 的任何标头。只有 ID 以 `claude` `anthropic` 开头的模型才会被添加到选择器中结果被缓存到 `~/.claude/cache/gateway-models.json`,并在每次启动时刷新。如果请求失败或网关未实现 `/v1/models`,选择器将回退到上一次启动时的缓存列表或内置模型列表39权衡是网关成为您的组织运营的基础设施。Claude Code 在每个版本中添加功能不转发这些功能的网关会破坏相应的功能因此网关产品需要随着 Claude Code 的发展而保持更新[网关协议参考](/zh-CN/llm-gateway-protocol)涵盖要转发的内容

73 40 

74如果您的网关使用与发现过滤器不匹配的模型名称,请使用 [模型配置](/zh-CN/model-config) 中记录的环境变量来手动添加它们。41<h2 id="how-a-gateway-works">

75 42 网关如何工作

76<h2 id="litellm-configuration">

77 LiteLLM 配置

78</h2>43</h2>

79 44 

80<Warning>45默认情况下,Claude Code 直接向 Anthropic 的 API `api.anthropic.com` 发送请求。要通过网关路由,请将 `ANTHROPIC_BASE_URL` 设置为网关的地址;Claude Code 改为向那里发送相同的请求。网关对开发人员进行身份验证,附加您的组织的提供商凭证,并将每个请求转发给它配置的任何提供商。

81 LiteLLM PyPI 版本 1.82.7 和 1.82.8 被恶意软件感染,存在凭证窃取风险。请勿安装这些版本。如果您已经安装了它们:

82 

83 * 删除该软件包

84 * 轮换受影响系统上的所有凭证

85 * 按照 [BerriAI/litellm#24518](https://github.com/BerriAI/litellm/issues/24518) 中的补救步骤进行操作

86 

87 LiteLLM 是第三方代理服务。Anthropic 不认可、维护或审计 LiteLLM 的安全性或功能。本指南仅供参考,可能会过时。请自行判断使用。

88</Warning>

89 

90<h3 id="prerequisites">

91 前置条件

92</h3>

93 

94* Claude Code 更新到最新版本

95* LiteLLM Proxy Server 已部署且可访问

96* 通过您选择的提供商访问 Claude 模型

97 

98<h3 id="basic-litellm-setup">

99 基本 LiteLLM 设置

100</h3>

101 

102**配置 Claude Code**:

103 

104<h4 id="authentication-methods">

105 身份验证方法

106</h4>

107 46 

108<h5 id="static-api-key">47`ANTHROPIC_BASE_URL` 是大多数网关的地址变量。面向特定云提供商(如 Bedrock、Vertex、Foundry 或 AWS 上的 Claude Platform)的网关改为使用该提供商的基础 URL 变量;[API 格式](/zh-CN/llm-gateway-protocol#api-formats)列出了哪个变量与每个配置相关联。

109 静态 API 密钥

110</h5>

111 48 

112使用固定 API 密钥的最简单方法:49<Frame>

50 <img src="https://mintcdn.com/claude-code/zIcIE_SQv4Z0Zbhc/images/llm-gateway-flow.svg?fit=max&auto=format&n=zIcIE_SQv4Z0Zbhc&q=85&s=490607d033d235694efb49a73a5b9e4b" alt="显示 Claude Code 通过 LLM gateway 路由的图表。在开发人员机器区域中,Claude Code CLI、VS Code 扩展和 CI 或 Agent SDK 客户端向网关发送请求,网关 API 格式的基础 URL 变量指向它,每个开发人员持有每个开发人员的凭证,桌面应用通过组织分发的配置到达相同的网关。在标记为您的基础设施的区域中,LLM gateway 处理身份验证、使用情况跟踪、预算和路由,并使用您的组织的凭证转发请求。在模型提供商区域中,实线箭头指向您配置的提供商,显示为 Anthropic API,虚线箭头指向其他提供商选项,以 Amazon Bedrock、Google Vertex AI 和 Microsoft Foundry 为例。" width="780" height="322" data-path="images/llm-gateway-flow.svg" />

51</Frame>

113 52 

114```bash theme={null}53涉及两种凭证:

115# 在环境中设置

116export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

117 54 

118# 或在 Claude Code 设置中55* **开发人员凭证**:每个开发人员持有自己的凭证,由网关颁发。它向网关验证他们的身份并在使用情况跟踪中识别他们

119{56* **提供商凭证**:网关持有一个提供商账户的凭证,由所有转发的流量共享。您不需要为每个开发人员配置提供商密钥

120 "env": {

121 "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"

122 }

123}

124```

125 57 

126此值将作为 `Authorization` 请求头发送58网关将每个请求转发给您配置的提供商,例如 Anthropic API、[Amazon Bedrock](/zh-CN/amazon-bedrock)、[Google Vertex AI](/zh-CN/google-vertex-ai)、[Microsoft Foundry](/zh-CN/microsoft-foundry) 或 [AWS 上的 Claude Platform](/zh-CN/claude-platform-on-aws)因为 Claude Code 仅与网关通信,提供商选择是网关的配置,而不是客户端的。

127 59 

128<h5 id="dynamic-api-key-with-helper">60<h2 id="roll-out-a-gateway">

129 使用辅助程序的动态 API 密钥61 部署网关

130</h5>62</h2>

131 

132用于轮换密钥或按用户身份验证:

133 

1341. 创建 API 密钥辅助程序脚本:

135 

136```bash theme={null}

137#!/bin/bash

138# ~/bin/get-litellm-key.sh

139 

140# 示例:从保险库获取密钥

141vault kv get -field=api_key secret/litellm/claude-code

142 

143# 示例:生成 JWT 令牌

144jwt encode \

145 --secret="${JWT_SECRET}" \

146 --exp="+1h" \

147 '{"user":"'${USER}'","team":"engineering"}'

148```

149 

1502. 配置 Claude Code 设置以使用辅助程序:

151 

152```json theme={null}

153{

154 "apiKeyHelper": "~/bin/get-litellm-key.sh"

155}

156```

157 

1583. 设置令牌刷新间隔:

159 

160```bash theme={null}

161# 每小时刷新一次(3600000 毫秒)

162export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

163```

164 

165此值将作为 `Authorization` 和 `X-Api-Key` 请求头发送。`apiKeyHelper` 的优先级低于 `ANTHROPIC_AUTH_TOKEN` 或 `ANTHROPIC_API_KEY`。

166 

167<h4 id="unified-endpoint-recommended">

168 统一端点(推荐)

169</h4>

170 

171使用 LiteLLM 的 [Anthropic 格式端点](https://docs.litellm.ai/docs/anthropic_unified):

172 

173```bash theme={null}

174export ANTHROPIC_BASE_URL=https://litellm-server:4000

175```

176 

177**统一端点相对于直通端点的优势:**

178 

179* 负载均衡

180* 故障转移

181* 对成本跟踪和最终用户跟踪的一致支持

182 

183<h4 id="provider-specific-pass-through-endpoints-alternative">

184 特定提供商的直通端点(替代方案)

185</h4>

186 

187<h5 id="claude-api-through-litellm">

188 通过 LiteLLM 的 Claude API

189</h5>

190 

191使用 [直通端点](https://docs.litellm.ai/docs/pass_through/anthropic_completion):

192 63 

193```bash theme={null}64当您准备好为组织部署 LLM gateway 时,无论您选择哪个网关产品,顺序都是相同的:

194export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic

195```

196 65 

197<h5 id="amazon-bedrock-through-litellm">661. 部署网关并给予它您的提供商凭证,以便它可以验证它转发的请求。

198 通过 LiteLLM 的 Amazon Bedrock672. 为每个开发人员颁发网关凭证,以便使用情况归属于开发人员,离职时撤销一个凭证。

199</h5>683. 通过[托管设置文件](/zh-CN/settings#settings-files)和您的机密工具分发配置,以便每台机器都接收基础 URL 和凭证。当两者都分发时,开发人员无需配置任何内容。如果您没有设置分发,开发人员按照[连接页面](/zh-CN/llm-gateway-connect)自己设置变量。

694. 让每个开发人员[检查 Claude Code 中的配置](/zh-CN/llm-gateway-connect#check-for-an-existing-configuration),以便分发问题在他们依赖网关之前浮出水面。

200 70 

201使用 [直通端点](https://docs.litellm.ai/docs/pass_through/bedrock)71[为您的组织部署 LLM gateway](/zh-CN/llm-gateway-rollout) 逐步讲解每个步骤,并显示在每个步骤中分发的配置文件。网关是组织设置的一部分;对于策略强制执行、使用情况可见性和数据处理决策,请参阅[为您的组织设置 Claude Code](/zh-CN/admin-setup)

202 72 

203```bash theme={null}73<h2 id="third-party-gateways">

204export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock74 第三方网关

205export CLAUDE_CODE_SKIP_BEDROCK_AUTH=175</h2>

206export CLAUDE_CODE_USE_BEDROCK=1

207```

208 76 

209<h5 id="google-vertex-ai-through-litellm">77任何公开[支持的 API 格式](/zh-CN/llm-gateway-protocol#api-formats)的网关都可以工作。Anthropic 不认可、维护或审计第三方网关产品。按照它们自己的文档部署它们,然后使用[部署步骤](/zh-CN/llm-gateway-rollout)完成 Claude Code 端的部署。

210 通过 LiteLLM 的 Google Vertex AI

211</h5>

212 78 

213使用 [直通端点](https://docs.litellm.ai/docs/pass_through/vertex_ai):79<h2 id="subscriptions-and-gateways">

80 订阅和网关

81</h2>

214 82 

215```bash theme={null}83当[网关凭证变量](/zh-CN/llm-gateway-connect#set-the-credential-variable)或 `apiKeyHelper` 处于活动状态时,开发人员的 claude.ai 订阅不被使用:凭证替换该会话的订阅登录,订阅的使用限制不适用。该流量按令牌计费给拥有网关转发的凭证的人,例如您的组织的 Anthropic Console 账户,或当网关路由到那里时您的 Bedrock、Vertex 或 Foundry 账户。

216export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1

217export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

218export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

219export CLAUDE_CODE_USE_VERTEX=1

220export CLOUD_ML_REGION=us-east5

221```

222 84 

223<h5 id="claude-platform-on-aws-through-a-gateway">85仅设置 `ANTHROPIC_BASE_URL`,不设置网关凭证,不会替换订阅。请求仍然通过网关路由,但保存的 claude.ai 登录保持活动凭证,因此其使用限制和计费适用。将此流量转发给 Anthropic 的网关必须转发 `anthropic-beta` 中的 OAuth 功能;请参阅[请求头参考](/zh-CN/llm-gateway-protocol#request-headers)。

224 通过网关的 AWS 上的 Claude Platform

225</h5>

226 86 

227路由到转发到 [AWS 上的 Claude Platform](/zh-CN/claude-platform-on-aws) 端点的网关:87<h2 id="configure-separately-from-the-gateway">

88 与网关分开配置

89</h2>

228 90 

229```bash theme={null}91网关确定模型 API 请求的发送位置。模型选择、Claude Code 的其余网络流量和企业代理分开配置:

230export ANTHROPIC_AWS_BASE_URL=https://litellm-server:4000/anthropic-aws

231export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

232export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

233export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

234```

235 92 

236有关更多详细信息请参阅 [LiteLLM 文档](https://docs.litellm.ai/)93* **模型选择**:基础 URL 决定请求的发送位置而不是哪个模型回答它们。使用 `/model` 命令或模型环境变量选择模型;请参阅[如何设置您的模型](/zh-CN/model-config#setting-your-model)

94* **客户端流量**:版本检查和可选的客户端遥测(都可以用 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/zh-CN/env-vars) 禁用),以及当使用 claude.ai 或 Console 登录时的登录流量,转到 Anthropic 的更新和身份验证端点而不是网关。请参阅[网络访问要求](/zh-CN/network-config#network-access-requirements)了解域名

95* **企业代理**:使用 `HTTPS_PROXY` 设置的代理位于 Claude Code 和它与之通信的每个服务器之间,包括网关。如果您的网络需要代理,请配置两者;请参阅[代理配置](/zh-CN/network-config#proxy-configuration)

237 96 

238<h2 id="additional-resources">97<h2 id="related-pages">

239 其他资源98 相关页面

240</h2>99</h2>

241 100 

242* [LiteLLM 文档](https://docs.litellm.ai/)101* [ Claude Code 连接到 LLM gateway](/zh-CN/llm-gateway-connect):在您自己的机器上设置基础 URL 和凭证,具有每个表面的配置和故障排除表

243* [Claude Code 设置](/zh-CN/settings)102* [为您的组织部署 LLM gateway](/zh-CN/llm-gateway-rollout):部署网关、颁发开发人员凭证和分发托管设置的管理员检查清单

244* [企业网络配置](/zh-CN/network-config)103* [Gateway 协议参考](/zh-CN/llm-gateway-protocol):Claude Code 发送到网关的内容,供配置网关的运营商使用,涵盖端点、要转发的头和功能传递

245* [第三方集成概述](/zh-CN/third-party-integrations)104* [为您的组织设置 Claude Code](/zh-CN/admin-setup):网关是其中一部分的更广泛的部署决策,包括策略强制执行和使用情况可见性

llm-gateway-connect.md +527 −0 created

Details

1> ## Documentation Index

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

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

4 

5# 将 Claude Code 连接到 LLM 网关

6 

7> 将 Claude Code 指向您组织的 LLM 网关。检查您的管理员是否已配置它,或为 CLI、VS Code、GitHub Actions 和 Agent SDK 自行设置基础 URL 和凭证,然后验证连接并修复网关错误。

8 

9[LLM 网关](/zh-CN/llm-gateway)是您的组织在 Claude Code 和模型提供商之间运行的代理。当您的组织使用网关时,Claude Code 使用您的组织颁发的凭证而不是您的个人 claude.ai 登录来向网关进行身份验证。

10 

11本页面适用于通过其组织运营的网关运行 Claude Code 的开发人员。它涵盖两条路径:[检查您的管理员是否已为您配置它](#check-for-an-existing-configuration),以及[在他们没有配置时自行配置](#configure-claude-code-yourself)。

12 

13<Note>

14 * 要为您的组织部署网关,请参阅[推出 LLM 网关](/zh-CN/llm-gateway-rollout)

15 * 有关 Claude Code 发送到网关的内容,请参阅[网关协议参考](/zh-CN/llm-gateway-protocol)

16</Note>

17 

18<h2 id="check-for-an-existing-configuration">

19 检查现有配置

20</h2>

21 

22管理员可以通过[托管设置](/zh-CN/settings#settings-files)、设备管理或 [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) 分发网关地址和凭证,以便 Claude Code 在启动时自动获取,无需您进行任何设置。要检查您的组织是否已这样做:

23 

24<Steps>

25 <Step title="启动 Claude Code">

26 运行 `claude`。如果它打开到登录屏幕而不是会话,则没有分发网关凭证;[自行配置](#configure-claude-code-yourself)如下。

27 </Step>

28 

29 <Step title="检查状态选项卡">

30 如果 Claude Code 启动了会话而没有显示登录屏幕,运行 `/status`,打开**状态**选项卡,并检查两行:

31 

32 * `Anthropic base URL`:仅当设置了网关地址时才显示此行。如果不存在,Claude Code 未指向网关;[自行配置](#configure-claude-code-yourself)如下。

33 * `Auth token` 或 `API key`:命名 `ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_API_KEY` 或 `apiKeyHelper` 的行确认网关凭证处于活动状态。命名 claude.ai 账户的 `Login method` 行意味着凭证未被分发;[自行设置](#set-the-credential-variable)。

34 </Step>

35 

36 <Step title="发送测试消息">

37 关闭 `/status` 菜单并在 Claude Code 中发送任何提示。来自 Claude 的正常响应,没有错误,确认网关连接有效。

38 </Step>

39</Steps>

40 

41如果 `/status` 菜单中的两行看起来都正确,但向 Claude 的消息失败,请参阅[故障排除表](#troubleshoot-gateway-errors)。

42 

43<h2 id="configure-claude-code-yourself">

44 自行配置 Claude Code

45</h2>

46 

47要自行为网关配置 Claude Code,您需要从网关团队获得:

48 

49* 网关的基础 URL

50* 凭证:密钥或令牌字符串,或获取凭证的命令

51 * 如果您的网关团队没有说明凭证的类型,下面的[凭证变量部分](#set-the-credential-variable)涵盖了要尝试的内容

52 

53下面的部分按顺序涵盖配置:

54 

55* [设置凭证变量](#set-the-credential-variable)和[设置基础 URL](#set-the-base-url-and-credential):每个网关连接需要的两个变量

56* [验证连接](#verify-the-connection):在保存任何内容之前确认它有效

57* [配置每个界面](#configure-each-surface):如果您使用除 Claude Code CLI 之外的界面(如 VS Code),请查看如何使用网关凭证配置它

58* [其他配置](#additional-configuration):某些网关需要的变量超出基础 URL 和凭证,例如自定义标头、凭证助手、模型发现或提供商格式的基础 URL。仅在您的管理员命名它们时设置这些

59 

60<h3 id="set-the-credential-variable">

61 设置凭证变量

62</h3>

63 

64要向网关验证 Claude Code,请在环境变量中设置您的凭证。哪个变量取决于您的网关团队告诉您的内容:

65 

66| 在以下位置设置凭证 | 使用时机 |

67| :------------------------------------------------------ | :------------------------------------------- |

68| `ANTHROPIC_AUTH_TOKEN` | 您的网关团队说"bearer token"或"Authorization header" |

69| `ANTHROPIC_API_KEY` | 您的网关团队说"API key"或"x-api-key" |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | 凭证轮换或来自保管库 |

71 

72如果您没有被告知是哪种类型,请使用 `ANTHROPIC_AUTH_TOKEN`;下面的[验证请求](#verify-the-connection)显示了如何判断您是否需要切换。

73 

74<h3 id="set-the-base-url-and-credential">

75 设置基础 URL 和凭证

76</h3>

77 

78将网关的基础 URL 和您上面选择的凭证变量设置为环境变量。示例使用 `ANTHROPIC_AUTH_TOKEN`;如果那是[您选择的变量](#set-the-credential-variable),请将其替换为 `ANTHROPIC_API_KEY`。您可以[在您的 shell 中](#set-as-shell-environment-variables)设置它们,这仅持续一个终端会话,或[在 Claude Code 设置文件中](#set-in-a-settings-file)设置它们,这在 Claude Code 运行的任何地方都持续。

79 

80对于您的第一次连接,从 shell 导出开始,并在将值移动到设置文件之前运行[验证请求](#verify-the-connection)。

81 

82<h4 id="set-as-shell-environment-variables">

83 设置为 shell 环境变量

84</h4>

85 

86将值替换为您的网关团队给您的值:

87 

88<Tabs>

89 <Tab title="Bash or Zsh">

90 ```bash theme={null}

91 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

92 export ANTHROPIC_AUTH_TOKEN=sk-gateway-key

93 ```

94 </Tab>

95 

96 <Tab title="PowerShell">

97 ```powershell theme={null}

98 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

99 $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

100 ```

101 </Tab>

102</Tabs>

103 

104Shell 导出仅适用于该终端会话和从它启动的程序;从 dock 或开始菜单启动的编辑器不会看到它们。要使它们在新终端中持续,请将相同的行添加到您的 shell 配置文件,例如 `~/.zshrc`、`~/.bashrc` 或您的 PowerShell `$PROFILE`,或改用设置文件。

105 

106<h4 id="set-in-a-settings-file">

107 在设置文件中设置

108</h4>

109 

110要使配置在 Claude Code 运行的任何地方应用而不依赖于您的 shell,请在[设置文件](/zh-CN/settings)的 `env` 块中设置变量。设置文件有不同的范围:

111 

112* `~/.claude/settings.json` 适用于您的所有项目。在 Windows 上,路径是 `%USERPROFILE%\.claude\settings.json`

113* `.claude/settings.local.json` 适用于一个项目。Claude Code 在创建文件时将其添加到您的 gitignore;如果您自己创建它,请首先手动将其添加到您的 gitignore,以便您不会意外提交您的凭证

114 

115<Warning>

116 不要将凭证放在项目的 `.claude/settings.json` 中。该文件被提交并与克隆存储库的每个人共享。

117</Warning>

118 

119`env` 块在任一文件中看起来相同:

120 

121```json theme={null}

122{

123 "env": {

124 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

125 "ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"

126 }

127}

128```

129 

130当 shell 导出和设置文件 `env` 块都设置相同的变量时,设置文件值适用。运行 `/status` 以查看 Claude Code 使用的基础 URL 和凭证源。

131 

132<h3 id="verify-the-connection">

133 验证连接

134</h3>

135 

136使用在 shell 中导出的变量,向网关直接发送一个单令牌请求。这在您打开 Claude Code 之前确认 URL 和凭证有效,因此失败指向网关而不是您的配置。下面的命令读取 shell 变量,因此即使您也将值放在设置文件中,它们也需要[shell 导出](#set-as-shell-environment-variables)。

137 

138<Tabs>

139 <Tab title="Bash or Zsh">

140 ```bash theme={null}

141 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

142 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

143 -H "anthropic-version: 2023-06-01" \

144 -H "content-type: application/json" \

145 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `

152 -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `

153 -ContentType "application/json" `

154 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

155 ```

156 </Tab>

157</Tabs>

158 

159如果您的网关期望 `x-api-key` 标头中的密钥,请在 Bash 命令中将 `Authorization` 标头替换为 `x-api-key: $ANTHROPIC_API_KEY`,或在 PowerShell 命令中将 `"Authorization"` 哈希表条目替换为 `"x-api-key" = "$env:ANTHROPIC_API_KEY"`。

160 

161以 `{"id":"msg_` 开头并包含 `"content":[...]` 字段的 JSON 响应意味着网关可达且凭证有效。命名未知模型的错误仍然证明 URL 和凭证有效,因为网关在拒绝模型名称之前验证了请求;您不需要为此测试找到您的网关提供的模型。`401` 意味着凭证被拒绝:如果您猜测了变量,请切换到另一个并重新导出。

162 

163<h4 id="confirm-in-claude-code">

164 在 Claude Code 中确认

165</h4>

166 

167从同一 shell 启动 `claude`,以便它继承导出,发送消息,并运行 `/status`。

168 

169在**状态**选项卡上,`Anthropic base URL` 行应显示您的网关地址,这确认请求正在路由到那里;如果该行不存在,变量没有到达会话。命名您设置的变量的 `Auth token` 或 `API key` 行确认网关凭证处于活动状态而不是保存的 claude.ai 登录。

170 

171如果消息失败,或 `/status` 不显示网关 URL,请参阅下面的[故障排除表](#troubleshoot-gateway-errors)。

172 

173<h3 id="how-the-credential-variable-maps-to-a-header">

174 凭证变量如何映射到标头

175</h3>

176 

177每个变量在不同的 HTTP 标头中发送凭证:`ANTHROPIC_AUTH_TOKEN` 在 `Authorization: Bearer` 中,`ANTHROPIC_API_KEY` 在 `x-api-key` 中,`apiKeyHelper` 在两者中。错误变量中的凭证到达网关时处于它不读取的标头中,请求失败并返回 `401`。如果验证请求返回 `401`,请切换到另一个变量并重试。

178 

179<h3 id="conflicts-with-an-existing-login">

180 与现有登录的冲突

181</h3>

182 

183网关凭证变量优先于保存的 claude.ai 登录或 Console 密钥。您的 claude.ai 登录在设置变量时保持保存和未使用;取消设置变量,Claude Code 返回到它。使用 `ANTHROPIC_AUTH_TOKEN`,变量立即优先。使用 `ANTHROPIC_API_KEY`,在交互模式下提示您一次以批准密钥,然后它接管。

184 

185运行 `/status` 以确认哪个凭证源处于活动状态。如果启动显示命名两个源的身份验证冲突警告,请参阅[故障排除表](#troubleshoot-gateway-errors)的第一行,了解要删除哪一个。要清除保存的登录,以便仅保留网关凭证,请运行 `/logout`。

186 

187<h2 id="configure-each-surface">

188 配置每个界面

189</h2>

190 

191CLI 读取上面的环境变量和设置文件。其他界面是 VS Code 扩展、桌面应用、GitHub Actions、Agent SDK 和云界面(如 Slack 和网络);下面的部分涵盖这些设置是否到达每一个。

192 

193<h3 id="vs-code-extension">

194 VS Code 扩展

195</h3>

196 

197在 VS Code 自己的用户设置中的 `claudeCode.environmentVariables` 中为 [VS Code 扩展](/zh-CN/vs-code)设置网关变量,使用**首选项:打开用户设置 (JSON)** 命令打开。扩展在启动前检查此设置中的凭证,因此这是网关凭证的可靠位置;`~/.claude/settings.json` 中的值到达生成的进程但不到达扩展自己的登录检查。

198 

199```json theme={null}

200{

201 "claudeCode.environmentVariables": [

202 { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },

203 { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gateway-key" }

204 ]

205}

206```

207 

208<h3 id="desktop-app">

209 桌面应用

210</h3>

211 

212桌面应用从[管理员分发的配置](https://claude.com/docs/cowork/3p/gateway)读取网关路由,而不是从 `ANTHROPIC_BASE_URL` 或 `settings.json` 读取。如果您的组织已分发它,桌面应用通过网关路由,无需您进行任何设置;如果没有,请使用终端 CLI 或 VS Code 扩展进行网关会话。管理员按照[组织推出](/zh-CN/llm-gateway-rollout#distribute-through-managed-settings)中所述分发配置。

213 

214如果桌面应用显示 `Gateway was unreachable`,应用在启动时无法到达配置的基础 URL;使用上面的 [curl 测试](#verify-the-connection)检查 URL 和网络路径。

215 

216<h3 id="github-actions">

217 GitHub Actions

218</h3>

219 

220[Claude Code GitHub Actions](/zh-CN/github-actions) 从工作流的 `env` 块读取 `ANTHROPIC_BASE_URL` 和 `ANTHROPIC_CUSTOM_HEADERS`。将凭证作为操作的 `anthropic_api_key` 输入传递;操作将其设置为 `ANTHROPIC_API_KEY`,因此它到达网关时处于 `x-api-key` 标头中。

221 

222对于 `x-api-key` 网关,在 `env` 中设置基础 URL 并将网关密钥作为输入传递:

223 

224```yaml theme={null}

225env:

226 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

227 

228steps:

229 - uses: anthropics/claude-code-action@v1

230 with:

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```

233 

234对于 bearer 令牌网关,将相同的密钥作为 `anthropic_api_key` 输入和工作流 `env` 块中的 `ANTHROPIC_AUTH_TOKEN` 传递。操作在启动 Claude Code 之前需要 `anthropic_api_key`、`CLAUDE_CODE_OAUTH_TOKEN` 或工作负载身份联合,并且它不读取 `ANTHROPIC_AUTH_TOKEN`,因此输入满足该启动检查,而 env 变量将密钥放在网关读取的 `Authorization` 标头中。`x-api-key` 中的副本被忽略:

235 

236```yaml theme={null}

237env:

238 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

239 ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

240 

241steps:

242 - uses: anthropics/claude-code-action@v1

243 with:

244 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

245```

246 

247对于操作的其他身份验证选项,包括 `CLAUDE_CODE_OAUTH_TOKEN` 和工作负载身份联合,请参阅 [Claude Code GitHub Actions](/zh-CN/github-actions) 和操作的 [README](https://github.com/anthropics/claude-code-action#readme)。

248 

249<h3 id="agent-sdk">

250 Agent SDK

251</h3>

252 

253[Agent SDK](/zh-CN/agent-sdk/overview) 没有网关特定的选项;它将环境变量传递给它生成的 Claude Code 进程。每个 SDK 接受设置生成进程环境的 `env` 选项,TypeScript 和 Python SDK 以不同方式处理它:

254 

255* TypeScript:生成的进程默认继承父环境,但设置 `options.env` 完全替换环境。将 `process.env` 扩展到其中以保留您的网关变量。

256* Python:`ClaudeAgentOptions(env=...)` 合并到继承的环境之上,因此在父进程中设置的网关变量无需扩展即可通过。

257 

258<CodeGroup>

259 ```ts TypeScript theme={null}

260 const result = query({

261 prompt: "...",

262 options: {

263 env: {

264 ...process.env,

265 ANTHROPIC_BASE_URL: "https://llm-gateway.example.com",

266 ANTHROPIC_AUTH_TOKEN: process.env.GATEWAY_KEY,

267 },

268 },

269 })

270 ```

271 

272 ```python Python theme={null}

273 options = ClaudeAgentOptions(

274 env={

275 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

276 "ANTHROPIC_AUTH_TOKEN": os.environ["GATEWAY_KEY"],

277 }

278 )

279 ```

280</CodeGroup>

281 

282<h3 id="slack-web-and-remote-control">

283 Slack、网络和远程控制

284</h3>

285 

286[Slack 中的 Claude Code](/zh-CN/slack) 和[网络上的 Claude Code](/zh-CN/claude-code-on-the-web) 是 Anthropic 托管的产品,始终使用 Anthropic 的 API;它们不是网关部署的一部分。在云会话的环境配置中设置的网关变量不适用。如果您的流量必须保持在网关上,请不要为这些用户启用这些界面。

287 

288[远程控制](/zh-CN/remote-control)和[语音听写](/zh-CN/voice-dictation)都依赖于 claude.ai 身份:远程控制将实时会话与您的账户配对,语音听写到达 claude.ai 转录端点。当 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 处于活动状态时,它们不可用。要使用任一个,取消设置网关凭证并改用 claude.ai 登录;`/doctor` 命名要取消设置的变量。

289 

290<h2 id="additional-configuration">

291 其他配置

292</h2>

293 

294这些设置涵盖超出基础 URL 和凭证的情况。仅在您的管理员的说明或[故障排除表](#troubleshoot-gateway-errors)要求一个时设置它们。

295 

296<h3 id="send-additional-headers">

297 发送其他标头

298</h3>

299 

300某些网关使用除凭证外的自定义标头来路由或标记请求,例如租户标识符或路由密钥。要发送一个,请设置 [`ANTHROPIC_CUSTOM_HEADERS`](/zh-CN/env-vars),每行一个 `Name: Value` 对。下面的示例添加了一个名为 `X-Org-Route` 的路由标头:

301 

302<Tabs>

303 <Tab title="Bash or Zsh">

304 ```bash theme={null}

305 export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"

306 ```

307 </Tab>

308 

309 <Tab title="PowerShell">

310 ```powershell theme={null}

311 $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"

312 ```

313 </Tab>

314</Tabs>

315 

316您也可以在设置文件的 `env` 块中设置 `ANTHROPIC_CUSTOM_HEADERS`。在那里使用 `\n` 在对之间,因为 JSON 字符串不能跨多行:

317 

318```json theme={null}

319{

320 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"

322 }

323}

324```

325 

326<h3 id="add-gateway-models-to-the-model-picker">

327 将网关模型添加到模型选择器

328</h3>

329 

330模型发现在启动时查询网关的模型列表,并将这些名称添加到 `/model` 选择器中,与内置条目一起。

331 

332如果您的网关提供不在 Claude Code 内置列表中的模型名称,并且您想从选择器中选择它们,请启用它。如果内置模型是您使用的,您不需要发现;您的管理员也可能已通过托管设置启用它。

333 

334要启用它,请在您的 shell 或 `~/.claude/settings.json` 的 `env` 块中设置 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`。发现需要 Claude Code v2.1.129 或更高版本。{/* min-version: 2.1.129 */}

335 

336发现的模型显示为标记为 `From gateway` 的其他 `/model` 条目。要确认发现运行,启动 `claude --debug` 并查找 `[gatewayDiscovery]` 行:成功记录缓存了多少模型,`404`、超时或重定向也记录在那里。有关发现何时运行、它过滤什么以及网关提供的响应格式,请参阅[模型发现参考](/zh-CN/llm-gateway-protocol#model-discovery)。

337 

338<h3 id="rotate-credentials-with-apikeyhelper">

339 使用 apiKeyHelper 轮换凭证

340</h3>

341 

342`apiKeyHelper` 是 Claude Code 运行以获取您的网关凭证的命令,而不是从静态环境变量读取它。

343 

344当凭证按计划过期、来自保管库或 SSO 命令,或您的管理员告诉您配置一个时,使用助手。如果您的凭证是您设置一次的固定字符串,[凭证变量](#set-the-credential-variable)是您需要的全部,您可以跳过本部分。

345 

346助手是任何将当前凭证打印到 stdout 的 shell 命令。Claude Code 通过您的系统 shell 运行它,因此在 Windows 上它可以是可执行文件或 PowerShell 调用。编写脚本,使其可执行,并从您的[设置文件](/zh-CN/settings)中的 `apiKeyHelper` 引用它:

347 

348<Tabs>

349 <Tab title="Bash or Zsh">

350 例如,从保管库读取的脚本:

351 

352 ```bash theme={null}

353 #!/bin/bash

354 vault kv get -field=api_key secret/llm-gateway/claude-code

355 ```

356 

357 在 `~/.claude/settings.json` 中引用其路径:

358 

359 ```json theme={null}

360 {

361 "apiKeyHelper": "~/bin/get-gateway-key.sh"

362 }

363 ```

364 </Tab>

365 

366 <Tab title="PowerShell">

367 例如,从保管库读取的脚本:

368 

369 ```powershell theme={null}

370 vault kv get -field=api_key secret/llm-gateway/claude-code

371 ```

372 

373 在 `%USERPROFILE%\.claude\settings.json` 中引用 PowerShell 调用,转义 JSON 字符串中的反斜杠:

374 

375 ```json theme={null}

376 {

377 "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"

378 }

379 ```

380 </Tab>

381</Tabs>

382 

383Claude Code 默认缓存助手的输出五分钟,并在请求返回 HTTP 401 时重新运行它。要更改缓存生命周期,请以毫秒为单位设置 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS`,例如 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` 表示 15 分钟。

384 

385助手的值在 `Authorization` 和 `x-api-key` 标头中都发送,因此它适用于您的网关读取的任何标头。

386 

387<h3 id="route-to-a-cloud-provider-through-a-gateway">

388 通过网关路由到云提供商

389</h3>

390 

391这些配置使用提供商特定的基础 URL 变量代替 `ANTHROPIC_BASE_URL` 将 Claude Code 指向通过网关的云提供商。Bedrock 和 Vertex 网关接受这些提供商的本机请求格式;Foundry 和 AWS 上的 Claude Platform 网关接受 Anthropic Messages 格式,仅在哪个基础 URL 变量到达它们方面有所不同。

392 

393仅在您的网关团队特别命名 Bedrock、Vertex、Foundry 或 AWS 上的 Claude Platform 时使用一个。如果上面的[验证请求](#verify-the-connection)返回 JSON,您可以跳过本部分。

394 

395为您的网关团队命名的提供商设置块。跳过身份验证变量告诉 Claude Code 不要使用提供商凭证签署请求,因为网关持有这些。如果网关需要自己的令牌,请在块后添加 `ANTHROPIC_AUTH_TOKEN`,除了 Foundry,它使用 `ANTHROPIC_FOUNDRY_API_KEY`,如所示。

396 

397<h4 id="amazon-bedrock">

398 Amazon Bedrock

399</h4>

400 

401<Tabs>

402 <Tab title="Bash or Zsh">

403 ```bash theme={null}

404 export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock

405 export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

406 export CLAUDE_CODE_USE_BEDROCK=1

407 ```

408 </Tab>

409 

410 <Tab title="PowerShell">

411 ```powershell theme={null}

412 $env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"

413 $env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"

414 $env:CLAUDE_CODE_USE_BEDROCK = "1"

415 ```

416 </Tab>

417</Tabs>

418 

419<h4 id="google-vertex-ai">

420 Google Vertex AI

421</h4>

422 

423<Tabs>

424 <Tab title="Bash or Zsh">

425 ```bash theme={null}

426 export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex

427 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

428 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

429 export CLAUDE_CODE_USE_VERTEX=1

430 export CLOUD_ML_REGION=us-east5

431 ```

432 </Tab>

433 

434 <Tab title="PowerShell">

435 ```powershell theme={null}

436 $env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"

437 $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"

438 $env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"

439 $env:CLAUDE_CODE_USE_VERTEX = "1"

440 $env:CLOUD_ML_REGION = "us-east5"

441 ```

442 </Tab>

443</Tabs>

444 

445<h4 id="microsoft-foundry">

446 Microsoft Foundry

447</h4>

448 

449将网关的凭证放在 `ANTHROPIC_FOUNDRY_API_KEY` 中;它作为 `x-api-key` 标头发送到网关。`CLAUDE_CODE_SKIP_FOUNDRY_AUTH` 在这里不适用:没有 API 密钥,Foundry 客户端在它离开机器之前会使每个请求失败。

450 

451<Tabs>

452 <Tab title="Bash or Zsh">

453 ```bash theme={null}

454 export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry

455 export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key

456 export CLAUDE_CODE_USE_FOUNDRY=1

457 ```

458 </Tab>

459 

460 <Tab title="PowerShell">

461 ```powershell theme={null}

462 $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"

463 $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"

464 $env:CLAUDE_CODE_USE_FOUNDRY = "1"

465 ```

466 </Tab>

467</Tabs>

468 

469<h4 id="claude-platform-on-aws">

470 AWS 上的 Claude Platform

471</h4>

472 

473有关工作区 ID,请参阅 [AWS 上的 Claude Platform](/zh-CN/claude-platform-on-aws)。

474 

475<Tabs>

476 <Tab title="Bash or Zsh">

477 ```bash theme={null}

478 export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws

479 export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

480 export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

481 export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

482 ```

483 </Tab>

484 

485 <Tab title="PowerShell">

486 ```powershell theme={null}

487 $env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"

488 $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"

489 $env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"

490 $env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"

491 ```

492 </Tab>

493</Tabs>

494 

495<h2 id="troubleshoot-gateway-errors">

496 故障排除网关错误

497</h2>

498 

499这些是通过网关运行 Claude Code 时最常见的错误,包括网关端的原因和修复:

500 

501| 错误 | 原因 | 修复 |

502| :-------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

503| 启动警告命名两个凭证源并以 `auth may not work as expected` 结尾。较旧的版本显示 `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` 代替。 | 网关凭证和保存的登录都处于活动状态;变量用于请求,但过时的登录可能导致意外的身份验证行为 | 取消设置变量以使用保存的登录,或运行 `/logout` 以使用网关凭证 |

504| `401` 错误命名无效或无法识别的令牌 | 凭证不是网关颁发的,或它处于网关不读取的标头中 | 确认变量与[凭证表](#set-the-credential-variable)中的凭证类型匹配,如果凭证被撤销,请在网关处重新生成密钥 |

505| `Unable to connect to API (ConnectionRefused)`,或来自 npm 安装的 `(ECONNREFUSED)`,通常在 Claude Code [使用退避重试](/zh-CN/errors#automatic-retries)时的静默暂停之后 | 没有任何东西在基础 URL 处应答:地址错误,或 VPN 或防火墙阻止了网关的路径 | 运行上面的 [curl 测试](#verify-the-connection),它会立即因相同原因失败,并与您的网关团队确认 URL 和网络路径 |

506| `API returned an empty or malformed response (HTTP 200)` | 网关或中间代理返回了非 API 响应,通常是 HTML 错误或登录页面 | 使用上面的 [curl 请求](#verify-the-connection)测试;修复返回非 JSON 的网关路由 |

507| `400` 错误命名 `context_management`、`Extra inputs are not permitted` 或其他无法识别的字段 | 网关将请求转发到上游,该上游拒绝 Claude Code 发送到 Anthropic 格式端点的字段 | 设置 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`,它抑制大多数预发布字段;请参阅[功能传递](/zh-CN/llm-gateway-protocol#feature-pass-through)。某些 beta 不受此标志限制;对于那些,设置匹配的 `CLAUDE_CODE_USE_*` 提供商变量,以便 Claude Code 仅发送该提供商接受的内容 |

508| `400` 错误命名 `thinking` 或 `adaptive`,例如 `Input tag 'adaptive' found` | 上游模型构建不接受自适应推理,Claude Code 为 Claude 4.6 及更高版本的模型请求 | 升级网关的上游。在 Opus 4.6 和 Sonnet 4.6 上,`CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` 代替有效。[模型配置](/zh-CN/model-config)能力变量仅适用于提供商配置,例如 `CLAUDE_CODE_USE_BEDROCK` 和 `CLAUDE_CODE_USE_VERTEX`,不在 `ANTHROPIC_BASE_URL` 网关后面 |

509| `400` 错误声明网关自己的措辞中的上下文或令牌限制,例如 `ContextWindowExceededError` 或 `prompt token count of N exceeds the limit of M` | 网关强制执行比模型的本机窗口更小的上下文,并重写上游错误,因此自动紧凑和重试(与 Anthropic 的 `prompt is too long` 措辞匹配)不会触发 | 运行 `/compact` 以恢复会话。要防止它,请将 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 设置为网关的限制;该值被限制在至少 100,000 令牌和最多模型的上下文窗口,因此低于 100,000 的网关限制无法匹配,`/compact` 仍然是那里的恢复。还要将 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 设置为低于网关模型的输出限制 |

510| 模型从 `/model` 选择器中缺失 | 网关模型名称不在 Claude Code 的内置列表中 | 启用[网关模型发现](#add-gateway-models-to-the-model-picker)或使用[模型配置](/zh-CN/model-config)变量添加名称 |

511| Claude Code 要求您登录,即使 [curl 测试](#verify-the-connection)成功 | CLI 没有自己的凭证:可达的基础 URL 不是一个,项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的 `env` 块仅在第一次运行向导和信任提示之后应用 | 在 Claude Code 在首次运行设置之前读取的某处设置 `ANTHROPIC_AUTH_TOKEN`:shell 导出、`~/.claude/settings.json` 中的 `env` 块或托管设置 |

512| `ANTHROPIC_API_KEY` 已设置但被忽略,没有提示 | 密钥需要在交互会话中进行一次性批准,之前拒绝的密钥被忽略而不再询问 | 在 `/config` 下使用 `Use custom API key` 选项启用它 |

513| `This machine's managed settings require a first-party login` | 托管设置包括 `forceLoginMethod` 或 `forceLoginOrgUUID`,在 Claude Code v2.1.146 及更高版本上不能与 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 共存 | 您的管理员必须从托管设置中删除 `forceLoginMethod` 和 `forceLoginOrgUUID` 以使用网关凭证,或删除网关凭证以使用第一方登录。两者不能组合 |

514| `403` 带有 HTML 正文,例如 `403 Forbidden`,当网关自己的日志显示没有收到请求时 | 网关前面的 Web 应用防火墙或反向代理在请求到达网关之前阻止了请求正文。Claude Code 提示包括 XML 样式标签和与跨站脚本正文规则匹配的源代码,因此短 curl 测试通过而实际会话不通过 | 从请求正文检查中豁免网关的 `/v1/messages` 路径。在 AWS WAF 上这是 `CrossSiteScripting_Body` 托管规则;在带有 ModSecurity 的 nginx 上它是等效的 OWASP CRS 正文规则 |

515| 证书或 TLS 错误,例如 `SSL certificate verification failed` 或 `Self-signed certificate detected`,当 [curl 测试](#verify-the-connection)成功时 | Claude Code 的运行时不信任 `curl` 使用的相同证书颁发机构。常见于企业 TLS 检查代理后面 | 将 `NODE_EXTRA_CA_CERTS` 设置为 CA 包路径;请参阅 [CA 证书存储](/zh-CN/network-config#ca-certificate-store) |

516 

517如果 Claude Code 在删除网关配置后重复提示您登录,原因通常是凭证存储而不是网关;请参阅[身份验证错误](/zh-CN/errors#authentication-errors)。

518 

519<h2 id="related-resources">

520 相关资源

521</h2>

522 

523* [LLM 网关概述](/zh-CN/llm-gateway):什么是网关以及它如何与 claude.ai 订阅交互

524* [为您的组织推出 LLM 网关](/zh-CN/llm-gateway-rollout):部署和分发网关配置的面向管理员的检查清单

525* [网关协议参考](/zh-CN/llm-gateway-protocol):Claude Code 发送到网关的内容,包括网关必须转发的标头和字段

526* [设置](/zh-CN/settings):设置文件的位置以及如何读取 `env` 块

527* [身份验证](/zh-CN/authentication):凭证变量、`apiKeyHelper` 和 OAuth 登录如何交互

llm-gateway-protocol.md +208 −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# Gateway 协议参考

6 

7> Claude Code 与 LLM gateway 之间的 API 契约:端点、要转发的请求头和请求体字段、字段被删除时的功能降级、用于成本跟踪的归属请求头以及模型发现。

8 

9本页面记录了 Claude Code 发送到 gateway 的请求,包括它调用的端点、gateway 必须转发的请求头和请求体字段,以及当 gateway 不转发这些内容时哪些功能会停止工作。本页面是为配置 gateway 产品以与 Claude Code 配合工作的运营人员编写的。

10 

11<Note>

12 * 要为您的组织推出现有或第三方 gateway,请参阅[推出 LLM gateway](/zh-CN/llm-gateway-rollout)

13 * 如果您是使用给定凭证向 gateway 验证 Claude Code 的个人开发者,请参阅[将 Claude Code 连接到 LLM gateway](/zh-CN/llm-gateway-connect)

14</Note>

15 

16本页面涵盖:

17 

18* [API 格式](#api-formats)和每种格式要提供的端点

19* [请求头](#request-headers):哪些必须到达上游,哪些您的 gateway 可以使用

20* [系统提示归属块](#system-prompt-attribution-block)及其与提示缓存的交互方式

21* [功能传递](#feature-pass-through):当请求头或请求体字段被删除时会破坏什么

22* [模型发现](#model-discovery)

23 

24本页面对您的 gateway 处理每个请求头和请求体字段的方式使用两个术语:

25 

26* **转发不变**:将其逐字节传递到上游

27* **使用**:gateway 可能会读取它用于路由、归属或跟踪,不需要转发它

28 

29任何未标记为转发不变的内容都可以由您使用或忽略。

30 

31<h2 id="api-formats">

32 API 格式

33</h2>

34 

35gateway 必须向 Claude Code 客户端公开以下至少一种 API 格式。Claude Code 使用哪种格式由客户端的配置决定:下表"选择者"列中的变量指向您的 gateway 使用该格式。

36 

37| 格式 | 选择者 | 端点 | 转发不变 |

38| :------------------ | :---------------------------------------------------------- | :------------------------------------------------------------------- | :---------------------------------------------------------------------- |

39| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`、`/v1/messages/count_tokens`(可选) | `anthropic-beta` 和 `anthropic-version` 请求头 |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` 配合 `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`、`/model/{model}/invoke-with-response-stream` | `anthropic_beta` 和 `anthropic_version` 请求体字段 |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` 配合 `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`、`:streamRawPredict`、`count-tokens:rawPredict`(可选) | `anthropic-beta` 和 `anthropic-version` 请求头,以及 `anthropic_version` 请求体字段 |

42 

43<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry 和 AWS 上的 Claude Platform

45</h3>

46 

47Microsoft Foundry 和 [AWS 上的 Claude Platform](/zh-CN/claude-platform-on-aws) 实现了 Anthropic Messages 格式。Claude Code 通过它们自己的变量 `ANTHROPIC_FOUNDRY_BASE_URL` 和 `ANTHROPIC_AWS_BASE_URL` 路由到它们,但 fronting 任一方的 gateway 实现上面的 Anthropic Messages 行。fronting AWS 上的 Claude Platform 的 gateway 还必须转发 `anthropic-workspace-id` 请求头,[该平台在每个请求上都需要](/zh-CN/claude-platform-on-aws)。

48 

49<h3 id="optional-endpoints-and-startup-traffic">

50 可选端点和启动流量

51</h3>

52 

53令牌计数端点是唯一可选的:当它们不存在时,Claude Code 在本地估计上下文使用情况。推理请求发送到 `/v1/messages?beta=true`,因此请匹配路径,而不是完整 URL。Vertex 方法后缀附加到发布者模型路径,如 `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`。

54 

55gateway 还会看到尽力而为的启动流量,它可以拒绝而不会破坏任何东西:一个 `HEAD /` 连接探针,以及在 Bedrock 格式 gateway 上的 `GET /inference-profiles?type=SYSTEM_DEFINED` 请求。

56 

57<h3 id="streaming">

58 流式传输

59</h3>

60 

61推理响应必须流式传输。Claude Code 在服务器发送事件到达时使用它们,因此缓冲完整响应然后中继它们的 gateway 会使客户端停滞。

62 

63<h3 id="format-mismatch-with-the-upstream">

64 与上游的格式不匹配

65</h3>

66 

67客户端使用的格式决定了您的 gateway 接收的内容。常见的失败模式是客户端发送到您的 gateway 的格式与上游提供商接受的格式之间的不匹配。

68 

69* 当客户端使用 Bedrock 或 Vertex 格式时,Claude Code 仅发送这些提供商接受的完整功能集的子集

70* 当客户端使用 Anthropic Messages 格式时,Claude Code 发送完整集合,即使您的 gateway 转发到 Bedrock 或 Vertex 上游

71 

72弥合这种差异是您的 gateway 的工作。[功能传递](#feature-pass-through)描述了当它不这样做时会破坏什么。

73 

74<h2 id="request-headers">

75 请求头

76</h2>

77 

78Claude Code 在 API 请求上包含这些请求头。请求头名称在网络上不区分大小写。转发 `anthropic-version` 和 `anthropic-beta` 不变,加上当上游是 [AWS 上的 Claude Platform](/zh-CN/claude-platform-on-aws) 时的 `anthropic-workspace-id`;其余的 gateway 可能会使用它们进行路由、归属和跟踪,不需要转发。

79 

80| 请求头 | 描述 |

81| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

82| `Authorization`、`x-api-key` | 开发者的 gateway 凭证,根据他们设置的[凭证变量](/zh-CN/llm-gateway-connect#set-the-credential-variable)在一个或两个请求头中 |

83| `anthropic-version` | API 版本,目前为 `2023-06-01`。Bedrock 和 Vertex 格式请求也携带 `anthropic_version` 请求体字段,其值是提供商方言字符串,而不是此请求头的值 |

84| `anthropic-beta` | 请求的逗号分隔功能值。逐字转发请求头;不要将单个值列入白名单,因为该集合随 Claude Code 版本而变化。当开发者使用 claude.ai 登录进行身份验证时(当设置 `ANTHROPIC_BASE_URL` 而不设置 gateway 凭证变量时可能),此请求头还携带上游需要的 OAuth 功能,删除它会导致这些请求失败,返回 `401` |

85| `x-claude-code-session-id` | 当前 Claude Code 会话的唯一标识符。使用它来聚合来自一个会话的所有请求,而无需解析请求体 |

86| `x-claude-code-agent-id` | 发出请求的[子代理](/zh-CN/sub-agents)的标识符,仅在来自 Claude Code 在会话内生成的代理的请求上存在。将其与会话 ID 一起使用以将成本归属于并行代理 |

87| `x-claude-code-parent-agent-id` | 生成请求代理的代理的标识符,仅对嵌套代理存在 |

88 

89子代理 ID 在每次生成时都会生成新的。队友代理,[代理团队](/zh-CN/agent-teams)的命名成员,在重新连接时重用基于名称的稳定 ID。在两种情况下,ID 都标识一个代理,而不是一个人或设备,因此不要将代理 ID 请求头视为用户标识符。

90 

91如果您的开发者设置了 `ANTHROPIC_CUSTOM_HEADERS`,这些请求头也会出现在请求上。

92 

93<h3 id="forward-as-open-lists">

94 作为开放列表转发

95</h3>

96 

97将请求头和请求体字段视为开放列表,而不是封闭列表。Claude Code 在版本中获得功能,它们作为新的 `anthropic-beta` 值、新的请求体字段以及偶尔新的 `anthropic-*` 或 `x-claude-code-*` 请求头到达。

98 

99转发到 Anthropic 格式上游时,将 `anthropic-*` 请求头和请求体字段原封不动地传递,而不是将您今天看到的列入白名单。固定到观察列表的 gateway 会删除下一个功能的请求头或字段,并在引入它的版本上破坏它。

100 

101例外是非 Anthropic 上游,如 Bedrock 或 Vertex,其中弥合架构差异是 gateway 的工作;请参阅[功能传递](#feature-pass-through)。

102 

103<h2 id="system-prompt-attribution-block">

104 系统提示归属块

105</h2>

106 

107Claude Code 在系统提示前面加上一个短的归属块,其中包含客户端版本和从对话派生的指纹。`api.anthropic.com` 端点在处理前删除该块,因此它不会影响第一方提示缓存;任何其他上游都会将其作为提示的一部分接收。Anthropic 和云提供商的 Claude 端点读取它以进行归属,因此要省略它,请设置 [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/zh-CN/env-vars) 而不是在 gateway 中删除它。

108 

109{/* min-version: 2.1.181 */}从 Claude Code v2.1.181 开始,当请求通过自定义基础 URL 路由时,该块在对话的生命周期内是稳定的,因此以完整请求体为键的 gateway 端提示缓存可以在不禁用它的情况下工作。在 v2.1.181 之前,该块包含每个请求的令牌;在这些版本上,如果您的 gateway 实现了这样的缓存,请设置 `CLAUDE_CODE_ATTRIBUTION_HEADER=0`。

110 

111<h2 id="feature-pass-through">

112 功能传递

113</h2>

114 

115Claude Code 将 `ANTHROPIC_BASE_URL` gateway 视为 Anthropic 格式端点,并向其发送它发送到 `api.anthropic.com` 的 beta 请求头和请求体字段,除了为直接连接保留的一小组诊断和默认值。

116 

117添加请求体字段的功能将它们与 beta 请求头配对,该对一起传递。删除请求头同时传递请求体的 gateway,或将 Anthropic 格式请求体转发到具有不同架构的上游,会产生硬 `400` 错误;只有当两个部分一起缺失时,功能才会安静地关闭。重写或编辑请求体以进行内容检查的 gateway 会以与删除相同的方式破坏配对,因此在不修改的情况下检查。该表注明了功能偏离配对的位置。

118 

119细粒度工具流式传输是直接连接默认值之一:每当请求通过自定义基础 URL 路由时,它默认关闭,当开发者设置 [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/zh-CN/env-vars) 时,gateway 会接收它。

120 

121| 功能 | 请求头和请求体对 | 破坏时的症状 | 补救 |

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

123| [自适应推理](/zh-CN/model-config#adjust-effort-level) | 无 beta 请求头。Claude Code 为 Claude 4.6 及更高版本发送 `thinking: {"type": "adaptive"}`,并将它不识别的模型名称(如 gateway 别名)视为接收该字段的当前模型 | 当上游模型构建不接受它时,命名 `thinking` 字段或 `adaptive` 标签的 `400` | 升级上游。在 Opus 4.6 和 Sonnet 4.6 上,开发者可以改为设置 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |

124| [上下文管理](https://platform.claude.com/docs/en/build-with-claude/context-management) | 上下文管理 beta 请求头与 `context_management` 请求体字段配对 | `400` 带有 `Extra inputs are not permitted`。常见于 gateway 接受 Anthropic 格式请求但将其转发到 Bedrock 时 | 转发两者,或 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/zh-CN/env-vars) |

125| [扩展上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)和[交错思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | 仅 Beta 请求头,无请求体字段 | 当请求头被删除时无声地不可用;上游永远不会看到功能请求 | 逐字转发 `anthropic-beta` |

126| Beta [工具字段](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | 工具相关的 beta 请求头与工具架构字段(如 `strict` 和 `defer_loading`)配对 | 当请求体通过而没有其请求头时,命名无法识别的工具架构字段的 `400` | 转发两者,或 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [努力](https://platform.claude.com/docs/en/build-with-claude/effort)和[结构化输出](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | `output_config` 请求体字段携带努力、结构化输出格式和任务预算设置;每个都与自己的 beta 请求头配对 | 在 Bedrock 和 Vertex 上游上命名 `output_config` 的 `400`,通常是 `Extra inputs are not permitted` | 一起转发字段及其请求头 |

128| [令牌计数](https://platform.claude.com/docs/en/build-with-claude/token-counting) | 无 beta 配对;使用 `count_tokens` 端点 | Claude Code 回退到在本地估计上下文使用情况 | 如果您想要精确计数,请公开该端点 |

129 

130`ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [变量](/zh-CN/model-config)仅在提供商配置中声明模型功能:`CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_VERTEX`、`CLAUDE_CODE_USE_FOUNDRY` 和 [`CLAUDE_CODE_USE_MANTLE`](/zh-CN/amazon-bedrock#use-the-mantle-endpoint)。它们在 `ANTHROPIC_BASE_URL` gateway 后面没有效果。

131 

132<h3 id="automatic-retry-and-error-forwarding">

133 自动重试和错误转发

134</h3>

135 

136Claude Code 在某些上游拒绝后自动重试,并为对话的其余部分禁用被拒绝的功能。`thinking` 字段的拒绝、[思考签名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)的拒绝和中途对话系统消息的拒绝都以这种方式恢复。上下文管理和工具架构字段拒绝不重试;这些 `400` 错误到达开发者。

137 

138重试逻辑与上游的错误措辞匹配,因此原封不动地转发错误响应体。将上游错误包装在自己的信封中的 gateway 会破坏恢复路径,即使它保留了状态代码。

139 

140<h3 id="disable-pre-release-capabilities">

141 禁用预发布功能

142</h3>

143 

144`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` 阻止 Claude Code 在每个提供商上发送预发布功能及其请求体字段,包括上下文管理和 beta 工具字段。它不影响自适应推理,后者由模型而不是 beta 选择,它永远不会抑制订阅身份验证所需的 OAuth 功能。

145 

146Claude Code 发送的功能集随版本增长。有关当前 beta 请求头字符串,请参阅 [beta 请求头参考](https://platform.claude.com/docs/en/api/beta-headers);针对新的 Claude Code 版本测试您的 gateway,而不是固定到观察列表。

147 

148<h2 id="model-discovery">

149 模型发现

150</h2>

151 

152当 `ANTHROPIC_BASE_URL` 指向公开 Anthropic Messages 格式的 gateway 时,Claude Code 可以在启动时查询 gateway 的 `/v1/models` 端点,并将返回的模型添加到 `/model` 选择器。

153 

154开发者通过在自己的环境中或通过托管设置设置 [`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`](/zh-CN/env-vars) 来启用它。发现默认关闭,以便由共享 API 密钥支持的 gateway 不会向每个用户公开密钥可以访问的每个模型。这需要 Claude Code v2.1.129 或更高版本。

155 

156<h3 id="when-discovery-runs">

157 发现何时运行

158</h3>

159 

160发现仅适用于 Anthropic Messages 格式。在以下情况下不运行:

161 

162* 设置了任何 `CLAUDE_CODE_USE_*` 提供商变量,即使也设置了 `ANTHROPIC_BASE_URL`

163* `ANTHROPIC_BASE_URL` 未设置或指向 `api.anthropic.com`

164* 非必要流量被禁用,通过 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/zh-CN/env-vars) 或组织策略

165 

166<h3 id="request-and-response">

167 请求和响应

168</h3>

169 

170请求是 `GET /v1/models?limit=1000`,超时为 3 秒,任何重定向都被视为失败,因此凭证不会泄露到重定向目标。响应缓慢或重定向 `/v1/models` 的 gateway,即使是 `http` 到 `https`,也会无声地失败发现;在配置的基础 URL 处直接提供端点。

171 

172发现请求恰好发送一个凭证请求头:

173 

174* 设置时 `ANTHROPIC_AUTH_TOKEN` 作为承载令牌

175* 否则解析的 API 密钥,包括 [`apiKeyHelper`](/zh-CN/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 值,在 `x-api-key` 请求头中

176 

177这与推理请求不同,后者在两个请求头中发送帮助程序值。验证 `/v1/models` 的 gateway 必须为帮助程序部署接受 `x-api-key`。来自 `ANTHROPIC_CUSTOM_HEADERS` 的任何请求头也包括在内。

178 

179Claude Code 从响应的 `data` 数组中的每个条目读取 `id` 和可选的 `display_name`,并忽略其 `id` 不以 `claude` 或 `anthropic` 开头的条目:

180 

181```json theme={null}

182{

183 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }

186 ]

187}

188```

189 

190<h3 id="picker-entries-and-caching">

191 选择器条目和缓存

192</h3>

193 

194选择器是当开发者在 Claude Code 中运行 `/model` 时打开的交互式模型列表。每个发现的条目都标记为"来自 gateway",并在提供时使用 `display_name`。仅当发现的 ID 与选择器中已有的行完全匹配时,或当发现的和现有的 ID 都解析为 [Fable](/zh-CN/model-config#work-with-fable-5) 时,才会跳过发现的 ID。内置行按别名(如 `sonnet`)键入,因此发现的 ID(如 `claude-sonnet-4-6`)在内置条目旁边添加自己的"来自 gateway"行。[`availableModels` 托管设置](/zh-CN/settings#available-settings)限制了发现可以添加的内容。

195 

196结果被缓存到 `~/.claude/cache/gateway-models.json`,或在 Windows 上 `%USERPROFILE%\.claude\cache\gateway-models.json`,并在每次启动时刷新。如果请求失败或 gateway 未实现 `/v1/models`,选择器会回退到上次启动的缓存列表或内置模型列表。如果您的 gateway 在不匹配发现过滤器的别名下提供 Claude 模型,开发者可以使用[模型配置](/zh-CN/model-config)变量手动添加这些别名。

197 

198<h2 id="related-resources">

199 相关资源

200</h2>

201 

202有关 gateway 文档集的其余部分和基础 API 参考:

203 

204* [LLM gateway 概述](/zh-CN/llm-gateway):gateway 是什么以及它如何与 claude.ai 订阅交互

205* [为您的组织推出 LLM gateway](/zh-CN/llm-gateway-rollout):使用此契约的管理员检查清单

206* [将 Claude Code 连接到 LLM gateway](/zh-CN/llm-gateway-connect):每个开发者的配置和故障排除表

207* [Beta 请求头参考](https://platform.claude.com/docs/en/api/beta-headers):当前的 `anthropic-beta` 值集

208* [Messages API](https://platform.claude.com/docs/en/api/messages):Anthropic 格式 gateway 实现的 API 格式

llm-gateway-rollout.md +296 −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# 为您的组织推出 LLM 网关

6 

7> 为 Claude Code 部署网关产品:配置它以转发 Claude Code 发送的内容,颁发开发者凭证,通过托管设置分发配置,并验证推出。

8 

9本页面指导管理员为 Claude Code 推出 LLM 网关。它假设您已部署了满足[网关要求](#gateway-requirements)的网关产品。本页面不涵盖部署或运营任何特定产品;请按照您的供应商文档部署您的产品。

10 

11<Note>

12 * 要将您自己机器上的 Claude Code 连接到现有网关,请参阅[将 Claude Code 连接到 LLM 网关](/zh-CN/llm-gateway-connect)

13 * 有关 Claude Code 发送到网关的内容以及要转发的内容,请参阅[网关协议参考](/zh-CN/llm-gateway-protocol)

14</Note>

15 

16<h2 id="prerequisites">

17 前置条件

18</h2>

19 

20要完成推出,您需要:

21 

22* 在您的基础设施上部署的网关,在您将分发给开发者的确切地址上提供 HTTPS,而不是重定向到它的地址,并配置为将 Claude 模型名称路由到您的提供商

23* 网关转发的提供商凭证:

24 * 对于 Anthropic API:来自 [Claude 控制台](https://platform.claude.com/settings/keys)的 API 密钥

25 * 对于云提供商:具有模型访问权限的云凭证。请参阅 [Amazon Bedrock](/zh-CN/amazon-bedrock#prerequisites)、[Google Vertex AI](/zh-CN/google-vertex-ai#prerequisites) 或 [Microsoft Foundry](/zh-CN/microsoft-foundry#prerequisites) 页面上的前置条件

26* 一种向开发者机器交付设置文件的方式,例如 MDM 或配置管理

27 * 如果您还没有,[设置如何到达设备](/zh-CN/admin-setup#decide-how-settings-reach-devices)比较了各种选项

28 

29<h3 id="gateway-requirements">

30 网关要求

31</h3>

32 

33无论哪种产品提供网关,它必须:

34 

35* **接受支持的 API 格式**:[API 格式表](/zh-CN/llm-gateway-protocol#api-formats)中的格式之一。下面的推出步骤假设 Anthropic Messages API 位于 `POST /v1/messages`,大多数网关都提供此格式

36* **流式传输响应**:按到达时传递服务器发送的事件,而不是缓冲整个响应

37* **路由 Claude 模型名称**:将开发者使用的每个名称映射到上游模型。Claude Code 在每个请求中发送模型名称,例如 `claude-sonnet-4-6`;在大多数网关产品中,映射是网关自己配置中的模型列表或路由表

38* **转发标头和正文不变**:在两个方向上传递 `anthropic-beta`、`anthropic-version` 和请求正文;[功能传递表](/zh-CN/llm-gateway-protocol#feature-pass-through)将每个映射到没有它就会中断的功能

39* **返回未修改的上游错误**:Claude Code 的自动恢复与错误措辞匹配,因此在网关自己的信封中包装错误会破坏它

40* **豁免路径免受请求正文 WAF 检查**:Claude Code 提示包含源代码和 XML 样式标签,与跨站脚本正文规则匹配;网关前面的 WAF 在真实会话中返回 `403`,而短测试请求通过

41 

42可选地,提供 `GET /v1/models` 以便 Claude Code 可以使用[模型发现](/zh-CN/llm-gateway-protocol#model-discovery)从您的网关填充模型选择器。{/* min-version: 2.1.129 */}

43 

44<h2 id="rollout-steps">

45 推出步骤

46</h2>

47 

48推出分为五个步骤,每个步骤都有一个检查点:

49 

501. [确认网关路由您的模型](#confirm-the-gateway-routes-your-models)

512. [为每个开发者颁发凭证](#issue-developer-credentials)

523. [针对网关测试 Claude Code](#test-claude-code-against-the-gateway)

534. [分发基础 URL 和凭证](#distribute-the-configuration)

545. [从开发者机器验证](#verify-the-rollout)

55 

56这些步骤涉及三个不同的凭证,检查点用占位符命名它们,以便您可以在出现问题时判断哪个有问题:

57 

58| 凭证 | 谁持有它 | 检查点中的占位符 |

59| :----- | :--------------------------------------------------- | :----------------- |

60| 提供商凭证 | 网关,它将其转发给上游提供商 | 在网关上配置;从不出现在客户端命令中 |

61| 网关管理凭证 | 您,如果您的网关产品为其管理或测试界面颁发一个 | `<gateway-key>` |

62| 开发者密钥 | 每个开发者,由网关在[颁发开发者凭证](#issue-developer-credentials)中颁发 | `<developer-key>` |

63 

64<h3 id="confirm-the-gateway-routes-your-models">

65 确认网关路由您的模型

66</h3>

67 

68您的网关应该已经配置了您的提供商凭证,在其基础 URL 上侦听,并将请求转发到您的提供商的 API。使用最小请求测试路径是否端到端工作,替换来自您的部署的两个值:

69 

70* `<gateway-key>` 是任何让您现在调用网关的凭证:管理密钥、测试密钥或您自己的开发者密钥(如果您已经颁发了一个)。并非每个网关产品都有单独的管理凭证;如果您的没有,请先在[颁发开发者凭证](#issue-developer-credentials)中为自己颁发开发者密钥

71* `model` 是您的网关配置为路由的 Claude 模型名称。示例使用 `claude-sonnet-4-6`;替换为您配置的名称

72 

73<Tabs>

74 <Tab title="Bash 或 Zsh">

75 ```bash theme={null}

76 curl -X POST "https://llm-gateway.example.com/v1/messages" \

77 -H "Authorization: Bearer <gateway-key>" \

78 -H "anthropic-version: 2023-06-01" \

79 -H "content-type: application/json" \

80 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

81 ```

82 </Tab>

83 

84 <Tab title="PowerShell">

85 ```powershell theme={null}

86 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

87 -Headers @{ "Authorization" = "Bearer <gateway-key>"; "anthropic-version" = "2023-06-01" } `

88 -ContentType "application/json" `

89 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

90 ```

91 </Tab>

92</Tabs>

93 

94**检查点**:带有 `content` 字段的 `200` 意味着网关以该模型名称到达了提供商。`404` 意味着该名称在网关处未路由;来自提供商的 `401` 意味着网关的提供商凭证错误。

95 

96对网关路由配置中的每个 Claude 模型名称重复请求一次。网关不路由的名称会向选择它的任何开发者返回 `404`,因此在推出前测试每个名称。

97 

98<Note>

99 避免在重定向后提供网关。重定向可能会在推理请求上丢弃请求正文或剥离凭证标头,[模型发现](/zh-CN/llm-gateway-protocol#model-discovery)将任何重定向视为失败,因此凭证无法泄露到重定向目标。

100</Note>

101 

102<h3 id="issue-developer-credentials">

103 颁发开发者凭证

104</h3>

105 

106每个开发者需要自己的网关密钥来进行身份验证。按照您的产品的凭证管理文档在网关处为每个开发者创建凭证。

107 

108使用与[确认网关路由您的模型](#confirm-the-gateway-routes-your-models)相同的请求确认新颁发的密钥对网关有效,将 `<gateway-key>` 替换为新的 `<developer-key>`:

109 

110<Tabs>

111 <Tab title="Bash 或 Zsh">

112 ```bash theme={null}

113 curl -X POST "https://llm-gateway.example.com/v1/messages" \

114 -H "Authorization: Bearer <developer-key>" \

115 -H "anthropic-version: 2023-06-01" \

116 -H "content-type: application/json" \

117 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

118 ```

119 </Tab>

120 

121 <Tab title="PowerShell">

122 ```powershell theme={null}

123 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

124 -Headers @{ "Authorization" = "Bearer <developer-key>"; "anthropic-version" = "2023-06-01" } `

125 -ContentType "application/json" `

126 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

127 ```

128 </Tab>

129</Tabs>

130 

131**检查点**:带有 `content` 字段的 `200` 意味着开发者密钥到达网关,网关转发它。当[前一步](#confirm-the-gateway-routes-your-models)成功时,这里的 `401` 意味着开发者密钥错误或尚未在网关处生效。

132 

133为每个开发者颁发一个密钥而不是共享密钥是使每个开发者使用归因和个人离职工作的原因。保存密钥的环境变量取决于网关读取的标头。对于在 `Authorization: Bearer` 标头中检查凭证的网关,开发者在 `ANTHROPIC_AUTH_TOKEN` 中设置他们的密钥。对于从 `x-api-key` 标头读取密钥的网关,开发者改为设置 `ANTHROPIC_API_KEY`;[凭证表](/zh-CN/llm-gateway-connect#set-the-credential-variable)涵盖了映射。

134 

135<h3 id="test-claude-code-against-the-gateway">

136 针对网关测试 Claude Code

137</h3>

138 

139在分发任何内容之前,使用推出将交付的相同配置自己通过网关运行 Claude Code。直接在终端中键入这些,而不是在 `.env` 或设置文件中;它们仅在此终端会话中持续,因此关闭它会将您的机器返回到其正常配置。如果您的网关读取 `x-api-key` 标头,请使用 `ANTHROPIC_API_KEY` 而不是 `ANTHROPIC_AUTH_TOKEN`:

140 

141<Tabs>

142 <Tab title="Bash 或 Zsh">

143 ```bash theme={null}

144 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

145 export ANTHROPIC_AUTH_TOKEN="<developer-key>"

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

152 $env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"

153 ```

154 </Tab>

155</Tabs>

156 

157然后通过网关发送一次性提示:

158 

159```bash theme={null}

160claude -p "Reply with one word: connected"

161```

162 

163**检查点**:提示返回响应,请求在网关日志中显示为对 `/v1/messages` 路径的 `POST`,状态为 `200`。Claude Code 附加查询字符串,例如 `?beta=true`,因此匹配路径,而不是完整 URL。两条失败消息指向不同的方向:

164 

165* `Not logged in`:检查网关日志以区分两个原因。如果它是空的,没有凭证到达会话,没有请求离开机器;在您测试的 shell 中重新运行导出。如果它显示在 `401` 正文中带有 `x-api-key` 的被拒绝请求,网关期望密钥在该标头中;切换到 `ANTHROPIC_API_KEY`

166* `Failed to authenticate. API Error: 401` 意味着凭证被发送并被拒绝,网关日志说明了在哪里:命名 `api.anthropic.com` 或您的提供商端点的 `401` 意味着网关到达了上游但其提供商凭证被拒绝,因此开发者密钥有效,网关持有的提供商凭证错误或是占位符

167 

168错误或无法到达的基础 URL 会产生不同的症状:Claude Code [以退避方式重试连接](/zh-CN/errors#automatic-retries),在报告错误之前可能会坐着没有输出几分钟。如果命令似乎挂起,请检查网关日志而不是等待;没有到达的请求意味着 `ANTHROPIC_BASE_URL` 不指向网关。

169 

170<h3 id="distribute-the-configuration">

171 分发配置

172</h3>

173 

174每个开发者机器都需要网关地址和凭证。您可以通过[托管设置](/zh-CN/settings#settings-files)集中分发它们,以便开发者不配置任何内容,或者手动向开发者提供值以自己设置。

175 

176<h4 id="what-to-distribute">

177 要分发的内容

178</h4>

179 

180无论您选择哪条路径,都适用相同的变量集。大多数推出只需要 `ANTHROPIC_BASE_URL` 和凭证;当您的网关设置需要时包括条件行。

181 

182| 变量或设置 | 它的作用 | 包括时间 |

183| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |

184| `ANTHROPIC_BASE_URL` | 将 Claude Code 的 API 请求发送到网关而不是 `api.anthropic.com` | 总是 |

185| `apiKeyHelper`,或 `ANTHROPIC_AUTH_TOKEN` 或 `ANTHROPIC_API_KEY` 中的凭证 | 对网关的每个请求进行身份验证。助手运行命令来获取密钥;变量保存静态密钥,分别作为 `Authorization: Bearer` 和 `x-api-key` 发送 | 总是;三个中的一个 |

186| `ANTHROPIC_CUSTOM_HEADERS` | 向每个 API 请求添加额外的 HTTP 标头 | 您的网关在每个请求上需要租户或路由标头 |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 在启动时查询网关的 `/v1/models` 并将返回的名称添加到 `/model` 选择器 | 您的网关提供 `/v1/models` 并且您希望开发者的选择器从中填充 |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 停止 Claude Code 发送预发布功能标头和正文字段 | 您的网关转发到拒绝 beta 字段的 Bedrock 或 Vertex 上游;请参阅[网关要求](#gateway-requirements) |

189| `ANTHROPIC_MODEL` 或 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/zh-CN/model-config) | 设置 Claude Code 为主会话和后台流量请求的模型名称 | 您的网关路由与 Claude Code 默认值不匹配的模型名称,或您将[后台功能](/zh-CN/costs#background-token-usage)路由到不同的模型。在网关处路由覆盖名称和 Claude Code 的默认名称,因为某些子调用可以请求默认名称,无论覆盖如何 |

190| `ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL`、`ANTHROPIC_FOUNDRY_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 以及[该提供商的变量](/zh-CN/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | 通过网关将 Claude Code 指向网关。Bedrock 和 Vertex 也切换到这些提供商的本机请求格式 | 您的网关前置 Bedrock、Vertex、Foundry 或 AWS 上的 Claude 平台;请参阅 [API 格式](/zh-CN/llm-gateway-protocol#api-formats) |

191 

192<h4 id="distribute-through-managed-settings">

193 通过托管设置分发

194</h4>

195 

196通过[托管设置文件](/zh-CN/settings#settings-files)的 `env` 块交付变量,由 MDM、注册表策略或配置管理推送:

197 

198```json theme={null}

199{

200 "env": {

201 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com"

202 },

203 "apiKeyHelper": "/usr/local/bin/get-gateway-key"

204}

205```

206 

207将表中的条件变量添加到相同的 `env` 块。托管的 `ANTHROPIC_BASE_URL` 被强制执行,不能被开发者的 shell 导出覆盖,因为 Claude Code 在进程环境和较低优先级设置上应用它。

208 

209不要在托管设置中与网关凭证一起包括 `forceLoginMethod` 或 `forceLoginOrgUUID`。在 Claude Code v2.1.146 及更高版本上,任一密钥在启动时阻止 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 和 `apiKeyHelper`,因此开发者看到 `This machine's managed settings require a first-party login` 并且无法继续。{/* min-version: 2.1.146 */}

210 

211[服务器管理的设置](/zh-CN/server-managed-settings#platform-availability)交付需要直接连接到 `api.anthropic.com`,因此它不会到达网关路由的会话。网关部署使用这个基于文件的托管设置路径,它强制执行相同的密钥。

212 

213对于凭证,在托管设置文件中分发一个 [`apiKeyHelper`](/zh-CN/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 命令,如上所示;该命令作为本地开发者对您的秘密存储进行身份验证,因此每台机器都接收自己的密钥。或者,通过您现有的秘密流程向每个开发者交付他们的密钥,并让他们自己设置 `ANTHROPIC_AUTH_TOKEN`。

214 

215某些环境需要单独的交付:

216 

217* 桌面应用仅从其 MDM 交付的第三方推理配置读取网关路由;部署该文件以及托管设置,以便桌面会话也通过网关路由。请参阅[桌面第三方配置文档](https://claude.com/docs/cowork/3p/configuration)和[桌面网关文档](https://claude.com/docs/cowork/3p/gateway)

218* CI 运行器需要在[运行器的环境](/zh-CN/llm-gateway-connect#configure-each-surface)中设置 `ANTHROPIC_BASE_URL` 和凭证

219* 托管 Windows 机器上的 WSL 仅在 [`wslInheritsWindowsSettings`](/zh-CN/settings#available-settings) 为 `true` 时读取 Windows 托管设置

220 

221<h4 id="hand-developers-the-values-to-set-themselves">

222 手动向开发者提供值以自己设置

223</h4>

224 

225如果您没有托管设置分发,请向每个开发者发送他们需要的内容以遵循[连接页面](/zh-CN/llm-gateway-connect#configure-claude-code-yourself):

226 

227* 网关 URL

228* 他们的个人凭证

229* **将凭证放在哪个变量中**:对于 bearer-token 网关为 `ANTHROPIC_AUTH_TOKEN`,或对于 `x-api-key` 网关为 `ANTHROPIC_API_KEY`。告诉开发者哪一个可以节省他们在[连接页面](/zh-CN/llm-gateway-connect#set-the-credential-variable)上描述的试错

230* [要分发的内容表](#what-to-distribute)中的任何条件变量,以及它们的值

231 

232[连接页面](/zh-CN/llm-gateway-connect#configure-claude-code-yourself)指导开发者设置每一个。

233 

234**检查点**:在开发者机器上,`claude` 启动会话而不显示登录屏幕,因为分发的凭证满足身份验证。然后运行 `/status` 并打开**状态**选项卡:`Anthropic base URL` 行显示网关地址,对于托管分发,`Setting sources` 行包括托管设置。登录屏幕或缺少 `Anthropic base URL` 行意味着配置没有到达机器。

235 

236<h3 id="verify-the-rollout">

237 验证推出

238</h3>

239 

240从开发者机器而不是网关主机确认一切工作,以便测试涵盖开发者使用的网络路径。发送流式请求,它一次检查端点、流式传输传递和模型路由:

241 

242<Tabs>

243 <Tab title="Bash 或 Zsh">

244 ```bash theme={null}

245 curl -N -X POST "https://llm-gateway.example.com/v1/messages" \

246 -H "Authorization: Bearer <developer-key>" \

247 -H "anthropic-version: 2023-06-01" \

248 -H "content-type: application/json" \

249 -d '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

250 ```

251 </Tab>

252 

253 <Tab title="PowerShell">

254 ```powershell theme={null}

255 $body = '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

256 $body | curl.exe -N -X POST "https://llm-gateway.example.com/v1/messages" `

257 -H "Authorization: Bearer <developer-key>" `

258 -H "anthropic-version: 2023-06-01" `

259 -H "content-type: application/json" `

260 --data-binary '@-'

261 ```

262 </Tab>

263</Tabs>

264 

265您应该看到 `data:` 行逐步到达。整个响应在暂停后一次到达意味着网关正在缓冲,这会停滞 Claude Code;`404` 意味着模型名称未路由。每个模型名称重复。

266 

267然后启动 `claude` 并发送消息。此步骤的每个症状都有一个原因:

268 

269* 登录提示意味着凭证缺口。运行 `/status` 并打开**状态**选项卡:当 `Setting sources` 行不包括托管设置时,分发没有到达机器;当它包括时,开发者凭证没有被交付,因此设置 `ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper`

270* `Failed to authenticate` 错误意味着网关拒绝请求;其日志说明了哪个凭证失败。网关自己记录的拒绝命名开发者密钥,而来自 `api.anthropic.com` 或您的提供商端点的 `401` 意味着网关持有的提供商凭证被拒绝

271* 当网关期望密钥在 `x-api-key` 标头中时,在首次使用时出现一次性批准提示是预期的,设置为 `ANTHROPIC_API_KEY`。使用 `ANTHROPIC_AUTH_TOKEN`,不会出现提示,变量会无声地接管;以前保存的 claude.ai 登录对该会话无效

272 

273最后,检查网关的日志以查看您发送的消息:凭证标识开发者,[`x-claude-code-session-id` 标头](/zh-CN/llm-gateway-protocol#request-headers)按会话对请求进行分组。如果功能因[故障排除症状](/zh-CN/llm-gateway-connect#troubleshoot-gateway-errors)而失败,网关正在剥离标头或重写错误;请参阅上面的[网关要求](#gateway-requirements)。

274 

275<h2 id="maintain-the-gateway">

276 维护网关

277</h2>

278 

279推出后,三种变化会随着时间到达网关。每一种都有一个症状要观察和一个要采取的行动。

280 

281| 变化 | 当网关没有跟上时的症状 | 行动 |

282| :-------------------------------------------- | :------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------- |

283| 新的 Claude Code 版本添加 `anthropic-beta` 值和请求正文字段 | 开发者在更新 Claude Code 后报告 `400` 错误,命名新字段;请参阅[功能传递](/zh-CN/llm-gateway-protocol#feature-pass-through) | 逐字转发 `anthropic-*` 标头和请求正文,而不是允许列表;在新 Claude Code 版本到达开发者之前针对网关测试它们 |

284| 新的 Claude 模型变得可用 | 开发者选择新模型名称得到 `404`;`/model` 选择器不列出它 | 将模型名称添加到网关的路由配置,然后重新运行[路由检查](#confirm-the-gateway-routes-your-models)。如果您分发 `ANTHROPIC_MODEL` 或默认模型变量,更新托管设置 |

285| 凭证过期或需要轮换 | 所有开发者请求开始从上游失败,出现 `401` | 按照自己的计划轮换网关的提供商凭证;开发者密钥在网关处轮换,[`apiKeyHelper`](/zh-CN/llm-gateway-connect#rotate-credentials-with-apikeyhelper) 处理每个开发者的轮换,无需重新分发设置 |

286 

287在调整每个密钥的速率限制时,考虑客户端[重试瞬时故障](/zh-CN/errors#automatic-retries),包括 `429` 响应,最多 10 次,带有退避,遵守 `Retry-After`。将[协议参考](/zh-CN/llm-gateway-protocol)保持为每个 Claude Code 版本发送的内容的合同。

288 

289<h2 id="related-resources">

290 相关资源

291</h2>

292 

293* [将 Claude Code 连接到 LLM 网关](/zh-CN/llm-gateway-connect):面向开发者的设置步骤,具有每个表面的配置和您可以交给开发者的故障排除表

294* [网关协议参考](/zh-CN/llm-gateway-protocol):网关运营商的有线合同,涵盖端点、要转发的标头以及功能传递表

295* [设置文件和优先级](/zh-CN/settings#settings-files):托管、项目和用户设置如何组合,以及托管文件在每个平台上的位置

296* [为您的组织设置 Claude Code](/zh-CN/admin-setup):这个网关是其中一部分的更广泛推出,包括策略强制执行、使用可见性和数据处理

mcp.md +3 −1

Details

196 196 

197相同的退避策略也适用于 HTTP 或 SSE 服务器在启动时初始连接失败的情况。从 v2.1.121 开始,Claude Code 在瞬时错误(如 5xx 响应、连接被拒绝或超时)上最多重试初始连接三次,如果仍然无法连接,则将服务器标记为失败。身份验证和未找到错误不会重试,因为它们需要配置更改才能解决。197相同的退避策略也适用于 HTTP 或 SSE 服务器在启动时初始连接失败的情况。从 v2.1.121 开始,Claude Code 在瞬时错误(如 5xx 响应、连接被拒绝或超时)上最多重试初始连接三次,如果仍然无法连接,则将服务器标记为失败。身份验证和未找到错误不会重试,因为它们需要配置更改才能解决。

198 198 

199从 v2.1.191 开始,在成功连接后运行的功能发现请求(如 `tools/list`、`prompts/list` 和 `resources/list`)也会在短退避的情况下最多重试三次瞬时网络和服务器错误。身份验证错误、4xx 响应和请求超时不会重试。

200 

199<h3 id="push-messages-with-channels">201<h3 id="push-messages-with-channels">

200 使用频道推送消息202 使用频道推送消息

201</h3>203</h3>


568 570 

569要稍后清除存储的凭据,请运行 `claude mcp logout <name>`。571要稍后清除存储的凭据,请运行 `claude mcp logout <name>`。

570 572 

571当您通过 SSH 连接时添加 `--no-browser` 以便命令打印授权 URL 而不是打开浏览器。在您的本地计算机上打开 URL,然后将浏览器地址栏中的完整重定向 URL 粘贴回提示符。该命令需要交互式终端来执行粘贴步骤,因此请使用 `ssh -t` 连接。573 v2.1.191 开始该命令检测何时没有本地浏览器可用,例如在 SSH 会话期间或在没有显示服务器的 Linux 上,并打印授权 URL 而不是尝试打开浏览器。在您的本地计算机上打开 URL,然后将浏览器地址栏中的完整重定向 URL 粘贴回提示符。该命令需要交互式终端来执行粘贴步骤,因此请使用 `ssh -t` 连接。传递 `--no-browser` 以强制 URL 提示,即使检测到本地浏览器。

572 574 

573```bash theme={null}575```bash theme={null}

574claude mcp login sentry --no-browser576claude mcp login sentry --no-browser

Details

321 <Accordion title="状态显示连接失败或连接错误">321 <Accordion title="状态显示连接失败或连接错误">

322 两种状态都意味着服务器没有启动或 URL 没有响应。对于期望令牌而不是[连接需要登录的服务器](#connect-a-server-that-requires-sign-in)中涵盖的浏览器登录的 HTTP 服务器,它们也可能出现。322 两种状态都意味着服务器没有启动或 URL 没有响应。对于期望令牌而不是[连接需要登录的服务器](#connect-a-server-that-requires-sign-in)中涵盖的浏览器登录的 HTTP 服务器,它们也可能出现。

323 323 

324 从 v2.1.191 开始,返回 `404 Not Found` 的 HTTP 服务器在您在 `/mcp` 中选择服务器时显示 `MCP endpoint not found at <url>. Check the URL in your MCP config.`,并显示 Claude Code 尝试的 URL。早期版本显示通用的 `Error POSTing to endpoint` 消息,不包含 URL。将 URL 与服务器的文档化 MCP 端点路径进行比较,然后运行 `claude mcp remove <name>` 并使用正确的 URL 重新添加。

325 

324 对于 HTTP 服务器,确认 URL 可从您的机器访问:326 对于 HTTP 服务器,确认 URL 可从您的机器访问:

325 327 

326 ```bash theme={null}328 ```bash theme={null}

model-config.md +2 −2

Details

20 * Vertex:版本名称20 * Vertex:版本名称

21 21 

22<Note>22<Note>

23 `ANTHROPIC_BASE_URL` 改变请求发送的位置,而不是哪个模型回答它们。要通过 LLM 网关路由 Claude,请参阅 [LLM 网关配置](/zh-CN/llm-gateway)。23 `ANTHROPIC_BASE_URL` 改变请求发送的位置,而不是哪个模型回答它们。要通过 LLM 网关路由 Claude,请参阅 [LLM 网关](/zh-CN/llm-gateway)。

24</Note>24</Note>

25 25 

26<h3 id="model-aliases">26<h3 id="model-aliases">


493 添加自定义模型选项493 添加自定义模型选项

494</h2>494</h2>

495 495 

496使用 `ANTHROPIC_CUSTOM_MODEL_OPTION` 向 `/model` 选择器添加单个自定义条目,而无需替换内置别名。这对于测试 Claude Code 默认不列出的模型 ID 很有用。对于 LLM 网关部署,当设置 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` 时,Claude Code 可以从网关的 `/v1/models` 端点自动填充选择器,因此仅当发现被禁用或未返回您想要的模型时才需要此变量。请参阅 [LLM 网关模型选择](/zh-CN/llm-gateway#model-selection)。496使用 `ANTHROPIC_CUSTOM_MODEL_OPTION` 向 `/model` 选择器添加单个自定义条目,而无需替换内置别名。这对于测试 Claude Code 默认不列出的模型 ID 很有用。对于 LLM 网关部署,当设置 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` 时,Claude Code 可以从网关的 `/v1/models` 端点自动填充选择器,因此仅当发现被禁用或未返回您想要的模型时才需要此变量。请参阅 [网关模型发现](/zh-CN/llm-gateway-protocol#model-discovery)。

497 497 

498此示例设置所有三个变量以使网关路由的 Opus 部署可选择:498此示例设置所有三个变量以使网关路由的 Opus 部署可选择:

499 499 

Details

476**属性**:476**属性**:

477 477 

478* 所有 [标准属性](#standard-attributes)478* 所有 [标准属性](#standard-attributes)

479* `start_type`:会话的启动方式。`"fresh"`、`"resume"` 或 `"continue"` 之一479* `start_type`:会话的启动方式。`"fresh"`、`"resume"`、`"continue"` 或 `"agents_view"` 之一。`"agents_view"` 值标识 `claude agents` 仪表板进程,这是用户启动的本地 UI 而不是对话会话。在您的仪表板中过滤此值以将 UI 进程启动与对话会话分开。

480 480 

481<h4 id="lines-of-code-counter">481<h4 id="lines-of-code-counter">

482 代码行计数器482 代码行计数器


1156* 异常的令牌消耗1156* 异常的令牌消耗

1157* 来自特定用户的高会话量1157* 来自特定用户的高会话量

1158 1158 

1159所有指标都可以按[标准属性](#standard-attributes)进行分段。`model` 属性在 `claude_code.token.usage`、`claude_code.cost.usage` 上可用,以及从 v2.1.172 开始,`claude_code.lines_of_code.count` 上也可用。代码行数或提交的按模型分解只能通过在 `session.id` 上与令牌或成本指标进行联接来近似,因为一个会话可以跨越多个模型。1159所有指标都可以按[标准属性](#standard-attributes)进行分段。`model` 属性在 `claude_code.token.usage`、`claude_code.cost.usage` 上可用,以及从 v2.1.172 开始,`claude_code.lines_of_code.count` 上也可用。代码行数或提交的按模型分解只能通过在 `session.id` 上与令牌或成本指标进行联接来近似,因为一个会话可以跨越多个模型。筛选令牌或成本端的行,使 `query_source` 为 `"main"`,以便辅助和子代理请求不会将会话的提交归属于未进行这些提交的模型。

1160 1160 

1161<h3 id="detect-retry-exhaustion">1161<h3 id="detect-retry-exhaustion">

1162 检测重试耗尽1162 检测重试耗尽

overview.md +2 −0

Details

42 42 

43 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.43 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.

44 44 

45 If the install command fails with `syntax error near unexpected token '<'`, a `403`, or another curl error, see [Troubleshoot installation](/en/troubleshoot-install#find-your-error) to match the error to a fix and for alternative install methods.

46 

45 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.47 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.

46 48 

47 <Info>49 <Info>

quickstart.md +2 −0

Details

51 51 

52 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.52 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.

53 53 

54 If the install command fails with `syntax error near unexpected token '<'`, a `403`, or another curl error, see [Troubleshoot installation](/en/troubleshoot-install#find-your-error) to match the error to a fix and for alternative install methods.

55 

54 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.56 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.

55 57 

56 <Info>58 <Info>

Details

7> 使用 Remote Control 从您的手机、平板电脑或任何浏览器继续本地 Claude Code 会话。适用于 claude.ai/code 和 Claude 移动应用。7> 使用 Remote Control 从您的手机、平板电脑或任何浏览器继续本地 Claude Code 会话。适用于 claude.ai/code 和 Claude 移动应用。

8 8 

9<Note>9<Note>

10 Remote Control 处于研究预览阶段,在所有计划中都可用。在 Team 和 Enterprise 上,在管理员在 [Claude Code 管理员设置](https://claude.ai/admin-settings/claude-code)中启用 Remote Control 切换之前,它默认处于关闭状态。10 Remote Control 处于研究预览阶段,在所有计划中都可用。在 Team 和 Enterprise 上,在所有者在 [Claude Code 管理员设置](https://claude.ai/admin-settings/claude-code)中启用 Remote Control 切换之前,它默认处于关闭状态。

11</Note>11</Note>

12 12 

13Remote Control 将 [claude.ai/code](https://claude.ai/code) 或 Claude 应用([iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude))连接到在您的机器上运行的 Claude Code 会话。在您的办公桌上启动一个任务,然后从沙发上的手机或另一台计算机上的浏览器继续。13Remote Control 将 [claude.ai/code](https://claude.ai/code) 或 Claude 应用([iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 和 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude))连接到在您的机器上运行的 Claude Code 会话。在您的办公桌上启动一个任务,然后从沙发上的手机或另一台计算机上的浏览器继续。


32 32 

33在使用 Remote Control 之前,请确认您的环境满足以下条件:33在使用 Remote Control 之前,请确认您的环境满足以下条件:

34 34 

35* **订阅**:在 Pro、Max、Team 和 Enterprise 计划中可用。不支持 API 密钥。在 Team 和 Enterprise 上,管理员必须首先在 [Claude Code 管理员设置](https://claude.ai/admin-settings/claude-code)中启用 Remote Control 切换。35* **订阅**:在 Pro、Max、Team 和 Enterprise 计划中可用。不支持 API 密钥。在 Team 和 Enterprise 上,Owner 必须首先在 [Claude Code 管理员设置](https://claude.ai/admin-settings/claude-code)中启用 Remote Control 切换。

36* **身份验证**:运行 `claude` 并使用 `/login` 通过 claude.ai 登录(如果您还没有登录)。36* **身份验证**:运行 `claude` 并使用 `/login` 通过 claude.ai 登录(如果您还没有登录)。

37* **工作区信任**:在您的项目目录中至少运行一次 `claude` 以接受工作区信任对话框。37* **工作区信任**:在您的项目目录中至少运行一次 `claude` 以接受工作区信任对话框。

38 38 


160 160 

161所有流量都通过 Anthropic API 通过 TLS 传输,与任何 Claude Code 会话的传输安全相同。连接使用多个短期凭证,每个凭证的范围限定为单一目的并独立过期。161所有流量都通过 Anthropic API 通过 TLS 传输,与任何 Claude Code 会话的传输安全相同。连接使用多个短期凭证,每个凭证的范围限定为单一目的并独立过期。

162 162 

163<h2 id="trusted-devices">

164 受信任的设备

165</h2>

166 

167<Note>

168 受信任的设备目前处于测试阶段。功能和特性可能会随着体验的完善而演变。

169 

170 受信任的设备在 Team 和 Enterprise 计划中可用。在管理员启用它之前,它默认处于关闭状态。

171</Note>

172 

173受信任的设备是一个组织范围的设置,要求成员在从 claude.ai、Claude 移动应用或 Claude Desktop 查看或控制 Remote Control 会话之前验证其设备。它将 Remote Control 访问权限与已知设备和最近的身份验证绑定,而不仅仅是已登录的账户。

174 

175当设置打开时,与 Remote Control 会话交互需要以下两项:

176 

177* **已注册的设备**:成员用于 Remote Control 的每个浏览器、手机或桌面应用都会注册自己的凭证。注册仅在完整登录后不久提供,因此设备作为真实身份验证的一部分加入受信任列表,而不是在后台静默加入。

178* **最近的登录**:成员的登录不能超过 18 小时。成员不需要每天重新登录,而是使用 Face ID、Touch ID、Windows Hello 或通行密钥确认存在。此生物识别步骤立即刷新会话。

179 

180生物识别检查通过操作系统或浏览器在设备上运行,与通行密钥登录的机制相同。Anthropic 从不接收或存储指纹、面部数据或任何其他生物识别信息。仅存储设备的公钥和基本元数据,如显示名称、平台和注册时间。

181 

182该设置仅适用于 Remote Control。常规 Claude 聊天、终端中的 Claude Code 和 API 使用不受影响。

183 

184<h3 id="enable-trusted-devices-for-your-organization">

185 为您的组织启用受信任的设备

186</h3>

187 

188管理员从 Claude Code 管理员控制台启用该设置。

189 

190<Steps>

191 <Step title="打开 Claude Code 管理员设置">

192 转到 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)。**需要受信任的设备**切换出现在 Remote Control 设置下方。

193 </Step>

194 

195 <Step title="打开需要受信任的设备">

196 该设置适用于组织的每个成员以及在您启用它后启动的 Remote Control 会话。在切换打开之前已经运行的会话不会被追溯保护,并继续运行而不需要设备要求,直到它们结束。不提供按团队或按项目的范围。

197 </Step>

198 

199 <Step title="告诉成员期望什么">

200 在启用该设置后,成员第一次从浏览器、手机或桌面应用查看或控制新的 Remote Control 会话时,系统会提示他们注册该设备。提前告知他们可以避免混淆。

201 </Step>

202</Steps>

203 

204<h3 id="what-members-see">

205 成员看到什么

206</h3>

207 

208注册是每个设备的一次性步骤。之后,唯一可见的变化是偶尔的生物识别提示。

209 

210* **首次在每个设备上使用**:成员被要求注册。如果他们的登录不是最近的,他们首先通过您的正常流程登录,包括配置的 SSO,然后确认注册。

211* **日常使用**:拥有已注册设备和最近登录的成员看不到任何提示。当登录超过 18 小时时,下一次 Remote Control 交互会显示单个 Face ID、Touch ID、Windows Hello 或通行密钥提示。

212* **未注册的设备**:Remote Control 会话无法查看或控制,直到设备被注册。该设备上的常规 Claude 聊天不受影响。

213* **没有平台身份验证器**:在没有 Face ID、Touch ID 或 Windows Hello 的机器上的成员可以使用硬件安全密钥,或重新登录而不是升级。

214* **在终端中**:运行 Claude Code 的机器在开发人员登录到 CLI 时自动接收自己的凭证。终端中没有单独的注册步骤。

215 

216<h3 id="manage-enrolled-devices">

217 管理已注册的设备

218</h3>

219 

220成员可以从账户设置中查看和撤销自己的设备。

221 

222打开 [claude.ai/settings/account](https://claude.ai/settings/account#trusted-devices) 并找到**受信任的设备**部分,查看每个已注册设备及其名称、平台和注册日期。删除设备会立即撤销其凭证,设备可以在新登录后重新注册。凭证如果不续期也会自动过期,因此未使用的设备会自动从受信任列表中删除。

223 

224对于丢失或被盗的设备,成员从此页面删除它。如果成员无法登录,管理员可以在管理员控制台中使用**到处登出**为该成员撤销每个会话和已注册设备,之后成员重新注册他们仍然持有的设备。

225 

163<h2 id="remote-control-vs-claude-code-on-the-web">226<h2 id="remote-control-vs-claude-code-on-the-web">

164 Remote Control 与网络上的 Claude Code 的比较227 Remote Control 与网络上的 Claude Code 的比较

165</h2>228</h2>


262此错误有四个不同的原因。首先运行 `/status` 以查看您使用的登录方法和订阅。325此错误有四个不同的原因。首先运行 `/status` 以查看您使用的登录方法和订阅。

263 326 

264* **您使用 API 密钥或 Console 账户进行身份验证**:Remote Control 需要 claude.ai OAuth。运行 `/login` 并选择 claude.ai 选项。如果在您的环境中设置了 `ANTHROPIC_API_KEY`,请取消设置它。327* **您使用 API 密钥或 Console 账户进行身份验证**:Remote Control 需要 claude.ai OAuth。运行 `/login` 并选择 claude.ai 选项。如果在您的环境中设置了 `ANTHROPIC_API_KEY`,请取消设置它。

265* **您的 Team 或 Enterprise 管理员尚未启用它**:Remote Control 在这些计划上默认处于关闭状态管理员可以在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 通过打开 **Remote Control** 切换来启用它。此切换是服务器端组织设置。328* **您的组织的所有者尚未启用它**:Remote Control 在 Team 和 Enterprise 计划上默认处于关闭状态所有者可以在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 通过打开 **Remote Control** 切换来启用它。此切换是服务器端组织设置。

266* **管理员切换呈灰色**:您的组织有数据保留或合规配置与 Remote Control 不兼容。这无法从管理面板更改。请联系 Anthropic 支持以讨论选项。329* **管理员切换呈灰色**:您的组织有数据保留或合规配置与 Remote Control 不兼容。这无法从管理面板更改。请联系 Anthropic 支持以讨论选项。

267* **错误提及 `disableRemoteControl`**:您的 IT 管理员已通过[托管设置](/zh-CN/settings#settings-files)在此设备上禁用了 Remote Control,独立于组织范围的切换。330* **错误提及 `disableRemoteControl`**:您的 IT 管理员已通过[托管设置](/zh-CN/settings#settings-files)在此设备上禁用了 Remote Control,独立于组织范围的切换。

268 331 


282* 网络或代理问题:防火墙或代理可能阻止出站 HTTPS 请求。Remote Control 需要访问端口 443 上的 Anthropic API。345* 网络或代理问题:防火墙或代理可能阻止出站 HTTPS 请求。Remote Control 需要访问端口 443 上的 Anthropic API。

283* 会话创建失败:如果您还看到 `Session creation failed — see debug log`,失败发生在设置的早期。检查您的订阅是否处于活动状态。346* 会话创建失败:如果您还看到 `Session creation failed — see debug log`,失败发生在设置的早期。检查您的订阅是否处于活动状态。

284 347 

348<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

349 "您的组织需要受信任的设备用于 Remote Control,但此设备未注册"

350</h3>

351 

352您的组织已[启用受信任的设备](#trusted-devices),此机器尚未注册。在 Claude Code 中运行 `/login`。注册作为登录的一部分进行,没有单独的注册命令。

353 

354<h3 id="session-expired-for-trusted-device-check">

355 "session expired for trusted-device check"

356</h3>

357 

358您的登录已超过 18 小时。在 Claude Code 中运行 `/login`,或在 claude.ai 或移动应用提示您时使用 Face ID、Touch ID、Windows Hello 或通行密钥确认。请参阅[受信任的设备](#trusted-devices)。

359 

285<h2 id="choose-the-right-approach">360<h2 id="choose-the-right-approach">

286 选择正确的方法361 选择正确的方法

287</h2>362</h2>

routines.md +4 −4

Details

410 故障排除410 故障排除

411</h2>411</h2>

412 412 

413<h3 id="/schedule-returns-unknown-command">413<h3 id="/schedule-shows-no-commands-match-or-unknown-command">

414 `/schedule` 返回"Unknown command"414 `/schedule` 显示"No commands match"或"Unknown command"

415</h3>415</h3>

416 416 

417当不满足其中一个要求时,CLI 会隐藏 `/schedule`。原因通常是以下之一:417当不满足其中一个要求时,CLI 会隐藏 `/schedule`,因此命令菜单在您输入时显示 `No commands match "/schedule"`,提交它会返回 `Unknown command: /schedule`。原因通常是以下之一:

418 418 

419* 您使用 Console API 密钥或云提供商(如 Bedrock、Vertex 或 Foundry)进行身份验证。`/schedule` 需要 claude.ai 订阅登录。如果在您的 shell 中设置了 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,或在 `settings.json` 中设置了 `apiKeyHelper`,请先删除它,因为这些会优先于 claude.ai 登录419* 您使用 Console API 密钥或云提供商(如 Bedrock、Vertex 或 Foundry)进行身份验证。`/schedule` 需要 claude.ai 订阅登录。如果在您的 shell 中设置了 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,或在 `settings.json` 中设置了 `apiKeyHelper`,请先删除它,因为这些会优先于 claude.ai 登录

420* `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK` 在您的 shell 环境或 [`settings.json` 文件](/zh-CN/settings#available-settings)的 `env` 块中设置。这些会禁用功能标志获取,而 `/schedule` 依赖于此420* `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK` 在您的 shell 环境或 [`settings.json` 文件](/zh-CN/settings#available-settings)的 `env` 块中设置。这些会禁用功能标志获取,而 `/schedule` 依赖于此


427 "Routines 被您的组织的策略禁用"427 "Routines 被您的组织的策略禁用"

428</h3>428</h3>

429 429 

430您的 Team 或 Enterprise 管理员可能已在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 处关闭了 **Routines** 切换。这是一个服务器端组织设置,因此无法从您的本地配置中覆盖。请联系您的管理员以请求为您的组织启用 routines430您的 Team 或 Enterprise 组织中的所有者可能已在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 处关闭了 **Routines** 切换。这是一个服务器端组织设置,因此无法从您的本地配置中覆盖。请联系所有者为您的组织启用例程

431 431 

432<h2 id="related-resources">432<h2 id="related-resources">

433 相关资源433 相关资源

sandboxing.md +2 −2

Details

206 保护凭证206 保护凭证

207</h3>207</h3>

208 208 

209`sandbox.credentials` 设置声明沙箱化命令不能访问的凭证文件和环境变量。列出的文件路径在沙箱内被拒绝读取,与 `filesystem.denyRead` 应用的块相同,列出的环境变量在每个沙箱化命令运行前被取消设置。专用的 `credentials` 块将凭证规则与环境变量取消设置分组,并与常规文件系统规则分开。需要 Claude Code v2.1.187 或更高版本。209`sandbox.credentials` 设置声明沙箱化命令不能访问的凭证文件和环境变量。列出的文件路径在沙箱内被拒绝读取,与 `filesystem.denyRead` 应用的限制相同,列出的环境变量在每个沙箱化命令运行前被取消设置。专用的 `credentials` 块将凭证规则与环境变量取消设置分组,并与常规文件系统规则分开。需要 Claude Code v2.1.187 或更高版本。

210 210 

211下面的示例阻止读取 AWS 凭证文件和 SSH 目录,并从沙箱化命令的环境中删除 `GITHUB_TOKEN` 和 `NPM_TOKEN`:211下面的示例阻止读取 AWS 凭证文件和 SSH 目录,并从沙箱化命令的环境中删除 `GITHUB_TOKEN` 和 `NPM_TOKEN`:

212 212 


256 256 

257网络访问通过在沙箱外运行的代理服务器进行控制:257网络访问通过在沙箱外运行的代理服务器进行控制:

258 258 

259* **域名限制**:没有预先允许的域名。命令第一次需要新的域名时,Claude Code 会提示批准。使用 [`allowedDomains`](/zh-CN/settings#sandbox-settings) 预先允许域名以避免提示。259* **域名限制**:没有预先允许的域名。命令第一次需要新的域名时,Claude Code 会提示批准。{/* min-version: 2.1.191 */}从 v2.1.191 开始,选择"是"会在当前会话的其余时间内允许该主机,因此稍后连接到同一主机时不会再次提示。使用 [`allowedDomains`](/zh-CN/settings#sandbox-settings) 预先允许域名以避免提示。

260* **托管锁定**:如果在托管设置中设置了 [`allowManagedDomainsOnly`](/zh-CN/settings#sandbox-settings),非允许的域名会自动被阻止而不是提示,只有来自托管设置的 `allowedDomains` 被尊重。260* **托管锁定**:如果在托管设置中设置了 [`allowManagedDomainsOnly`](/zh-CN/settings#sandbox-settings),非允许的域名会自动被阻止而不是提示,只有来自托管设置的 `allowedDomains` 被尊重。

261* **自定义代理支持**:高级用户可以在出站流量上实现自定义规则261* **自定义代理支持**:高级用户可以在出站流量上实现自定义规则

262* **全面覆盖**:限制适用于所有脚本、程序和由命令生成的子进程262* **全面覆盖**:限制适用于所有脚本、程序和由命令生成的子进程

Details

6 6 

7> 通过 Claude.ai 上基于网络的界面为您的组织集中配置 Claude Code,无需设备管理基础设施。7> 通过 Claude.ai 上基于网络的界面为您的组织集中配置 Claude Code,无需设备管理基础设施。

8 8 

9服务器管理的设置允许管理员通过 Claude.ai 上基于网络的界面集中配置 Claude Code。Claude Code 客户端在用户使用组织 OAuth 登录或直接配置的 API 密钥进行身份验证时自动接收这些设置,在支持服务器管理交付的平台上。请参阅[平台可用性](#platform-availability)。9服务器管理的设置允许组织所有者通过 claude.ai 控制台中的 [**Admin Settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code) 集中配置 Claude Code。Claude Code 客户端在用户使用组织 OAuth 登录或直接配置的 API 密钥进行身份验证时自动获取这些设置,在支持服务器管理交付的平台上。请参阅[平台可用性](#platform-availability)。

10 10 

11这种方法专为没有设备管理基础设施的组织或需要为非托管设备上的用户管理设置的组织而设计。11这种方法专为没有设备管理基础设施的组织或需要为非托管设备上的用户管理设置的组织而设计。

12 12 


21要使用服务器管理的设置,您需要:21要使用服务器管理的设置,您需要:

22 22 

23* Claude for Teams 或 Claude for Enterprise 计划23* Claude for Teams 或 Claude for Enterprise 计划

24* 您的 Claude 组织中的所有者或主要所有者角色,以查看和编辑配置

24* Claude for Teams 的 Claude Code 版本 2.1.38 或更高版本,或 Claude for Enterprise 的版本 2.1.30 或更高版本25* Claude for Teams 的 Claude Code 版本 2.1.38 或更高版本,或 Claude for Enterprise 的版本 2.1.30 或更高版本

25* 对 `api.anthropic.com` 的网络访问26* 对 `api.anthropic.com` 的网络访问

26 27 


43 44 

44<Steps>45<Steps>

45 <Step title="打开管理控制台">46 <Step title="打开管理控制台">

46[Claude.ai](https://claude.ai) 导航到 **Admin Settings > Claude Code > Managed settings**。47 在 claude.ai 控制台中转到 [**Admin Settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code)

48 

49 如果链接将您重定向到不同的 Admin Settings 页面而不是 Claude Code 页面,您的账户没有所需的角色。Admin 和其他非 Owner 角色无法查看或编辑托管设置,因此请要求您的组织中的 Owner 或 Primary Owner 进行更改。请参阅[访问控制](#access-control)。

47 </Step>50 </Step>

48 51 

49 <Step title="定义您的设置">52 <Step title="定义您的设置">


204}207}

205```208```

206 209 

210您也可以在[端点管理的](/zh-CN/settings#settings-files) MDM 配置文件或系统 `managed-settings.json` 文件中设置此键,以在首次启动时强制执行故障关闭行为,在任何服务器有效负载被传递之前。从 v2.1.191 开始,此标志是上述[优先级规则](#settings-precedence)的例外:当在任何托管源中设置时,即使也存在缓存的服务器管理有效负载,它也会被遵守,因此当服务器管理的设置存在时,MDM 传递的值不会被忽略。设置获取还发送 `Cache-Control: no-cache` 标头,以便中间 HTTP 代理不会提供陈旧的响应。

211 

207在启用此设置之前,请确保您的网络策略允许连接到 `api.anthropic.com`。如果该端点无法访问,CLI 在启动时退出,用户无法启动 Claude Code。212在启用此设置之前,请确保您的网络策略允许连接到 `api.anthropic.com`。如果该端点无法访问,CLI 在启动时退出,用户无法启动 Claude Code。

208 213 

209从 v2.1.139 开始,`claude auth` 子命令(如 `claude auth login`)不受此检查的限制,因此当过期的凭证是设置获取失败的原因时,用户可以重新身份验证。214从 v2.1.139 开始,`claude auth` 子命令(如 `claude auth login`)不受此检查的限制,因此当过期的凭证是设置获取失败的原因时,用户可以重新身份验证。

settings.md +3 −2

Details

183安全强制字段按字段处理,而不是在存在但无效时被整体删除:183安全强制字段按字段处理,而不是在存在但无效时被整体删除:

184 184 

185| 字段 | 存在但无效时的行为 |185| 字段 | 存在但无效时的行为 |

186| :--------------------------- | :------------------------------------------------------------------------------------------------ |186| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |

187| `allowedMcpServers` | 作为空允许列表强制执行,因此在修复值之前不允许任何 MCP servers。单个无效条目被删除,有效子集被强制执行。 |187| `allowedMcpServers` | 作为空允许列表强制执行,因此在修复值之前不允许任何 MCP servers。单个无效条目被删除,有效子集被强制执行。 |

188| `allowManagedMcpServersOnly` | 视为 `true`。 |188| `allowManagedMcpServersOnly` | 视为 `true`。 |

189| `availableModels` | {/* min-version: 2.1.175 */}作为空允许列表强制执行,因此在修复值之前仅默认模型可用。单个非字符串条目被删除,有效子集被强制执行。适用于 v2.1.175 及更高版本。 |189| `availableModels` | {/* min-version: 2.1.175 */}作为空允许列表强制执行,因此在修复值之前仅默认模型可用。单个非字符串条目被删除,有效子集被强制执行。适用于 v2.1.175 及更高版本。 |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}视为 `true`。适用于 v2.1.175 及更高版本。 |190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}视为 `true`。适用于 v2.1.175 及更高版本。 |

191| `forceLoginOrgUUID` | 在修复值之前不允许任何组织登录。 |191| `forceLoginOrgUUID` | 在修复值之前不允许任何组织登录。 |

192| `deniedMcpServers` | 单个无效条目被删除,有效子集被强制执行。完全无效的值被丢弃并显示警告,因为拒绝每个 server 会阻止策略从未命名的 servers。 |192| `deniedMcpServers` | 单个无效条目被删除,有效子集被强制执行。完全无效的值被丢弃并显示警告,因为拒绝每个 server 会阻止策略从未命名的 servers。 |

193| `sandbox.credentials` | {/* min-version: 2.1.191 */}在 `files` 或 `envVars` 中的单个无效条目被删除并显示警告,有效子集被强制执行。完全无效的 `credentials` 值被丢弃并显示警告,同时 `sandbox` 的其余部分仍然适用。适用于 v2.1.191 及更高版本。 |

193 194 

194`requiredMinimumVersion` 和 `requiredMaximumVersion` 通过设计失败开放:无效值被删除而不是强制执行,因此坏策略推送无法阻止 Claude Code 启动。195`requiredMinimumVersion` 和 `requiredMaximumVersion` 通过设计失败开放:无效值被删除而不是强制执行,因此坏策略推送无法阻止 Claude Code 启动。

195 196 


222| `allowManagedMcpServersOnly` | (仅 Managed 设置)仅尊重来自 managed 设置的 `allowedMcpServers`。`deniedMcpServers` 仍从所有源合并。用户仍可以添加 MCP servers,但仅应用管理员定义的允许列表。请参阅 [Managed MCP 配置](/zh-CN/managed-mcp) | `true` |223| `allowManagedMcpServersOnly` | (仅 Managed 设置)仅尊重来自 managed 设置的 `allowedMcpServers`。`deniedMcpServers` 仍从所有源合并。用户仍可以添加 MCP servers,但仅应用管理员定义的允许列表。请参阅 [Managed MCP 配置](/zh-CN/managed-mcp) | `true` |

223| `allowManagedPermissionRulesOnly` | (仅 Managed 设置)防止用户和项目设置定义 `allow`、`ask` 或 `deny` 权限规则。仅应用 managed 设置中的规则。请参阅 [Managed 专用设置](/zh-CN/permissions#managed-only-settings) | `true` |224| `allowManagedPermissionRulesOnly` | (仅 Managed 设置)防止用户和项目设置定义 `allow`、`ask` 或 `deny` 权限规则。仅应用 managed 设置中的规则。请参阅 [Managed 专用设置](/zh-CN/permissions#managed-only-settings) | `true` |

224| `alwaysThinkingEnabled` | 为所有会话默认启用[扩展思考](/zh-CN/model-config#extended-thinking)。通常通过 `/config` 命令而不是直接编辑来配置。要强制禁用思考,无论此设置如何,请在 `env` 中设置 [`MAX_THINKING_TOKENS=0`](/zh-CN/env-vars),这会禁用 Anthropic API 上的思考,除了 Fable 5,它无法关闭思考。在[第三方提供商](/zh-CN/third-party-integrations)上,这会省略 `thinking` 参数,自适应推理模型仍可能思考 | `true` |225| `alwaysThinkingEnabled` | 为所有会话默认启用[扩展思考](/zh-CN/model-config#extended-thinking)。通常通过 `/config` 命令而不是直接编辑来配置。要强制禁用思考,无论此设置如何,请在 `env` 中设置 [`MAX_THINKING_TOKENS=0`](/zh-CN/env-vars),这会禁用 Anthropic API 上的思考,除了 Fable 5,它无法关闭思考。在[第三方提供商](/zh-CN/third-party-integrations)上,这会省略 `thinking` 参数,自适应推理模型仍可能思考 | `true` |

225| `apiKeyHelper` | 自定义脚本, `/bin/sh` 中执行,以生成身份验证值。此值将作为 `X-Api-Key` 和 `Authorization: Bearer` 标头发送用于模型请求。使用 [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/zh-CN/env-vars) 设置刷新间隔 | `/bin/generate_temp_api_key.sh` |226| `apiKeyHelper` | 自定义脚本,在系统 shell(macOS 和 Linux 上为 `/bin/sh`,Windows 上为 `cmd`)中运行,以生成身份验证值。此值将作为 `X-Api-Key` 和 `Authorization: Bearer` 标头发送用于模型请求。使用 [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/zh-CN/env-vars) 设置刷新间隔 | `/bin/generate_temp_api_key.sh` |

226| `attribution` | 自定义 git 提交和拉取请求的归属。请参阅[归属设置](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |227| `attribution` | 自定义 git 提交和拉取请求的归属。请参阅[归属设置](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}当上下文接近限制时自动压缩对话。默认:`true`。在 `/config` 中显示为**自动压缩**。要通过环境变量禁用,请在 `env` 中设置 [`DISABLE_AUTO_COMPACT`](/zh-CN/env-vars) | `false` |228| `autoCompactEnabled` | {/* min-version: 2.1.119 */}当上下文接近限制时自动压缩对话。默认:`true`。在 `/config` 中显示为**自动压缩**。要通过环境变量禁用,请在 `env` 中设置 [`DISABLE_AUTO_COMPACT`](/zh-CN/env-vars) | `false` |

228| `autoMemoryDirectory` | [自动内存](/zh-CN/memory#storage-location)存储的自定义目录。接受绝对路径或 `~/` 前缀的路径。从项目或本地设置接受,仅在您接受工作区信任对话框后,因为克隆的存储库可能提供此文件 | `"~/my-memory-dir"` |229| `autoMemoryDirectory` | [自动内存](/zh-CN/memory#storage-location)存储的自定义目录。接受绝对路径或 `~/` 前缀的路径。从项目或本地设置接受,仅在您接受工作区信任对话框后,因为克隆的存储库可能提供此文件 | `"~/my-memory-dir"` |

setup.md +2 −0

Details

65 65 

66 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.66 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.

67 67 

68 If the install command fails with `syntax error near unexpected token '<'`, a `403`, or another curl error, see [Troubleshoot installation](/en/troubleshoot-install#find-your-error) to match the error to a fix and for alternative install methods.

69 

68 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.70 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.

69 71 

70 <Info>72 <Info>

Details

190 </tbody>190 </tbody>

191</table>191</table>

192 192 

193有关每个选项上可用功能的逐项细分,请参阅[功能可用性](/zh-CN/feature-availability)。

194 

193选择部署选项以查看设置说明:195选择部署选项以查看设置说明:

194 196 

195* [Claude for Teams 或 Enterprise](/zh-CN/authentication#claude-for-teams-or-enterprise)197* [Claude for Teams 或 Enterprise](/zh-CN/authentication#claude-for-teams-or-enterprise)


206大多数组织可以直接使用云提供商,无需额外配置。但是,如果您的组织有特定的网络或管理要求,您可能需要配置企业代理或 LLM 网关。这些是可以一起使用的不同配置:208大多数组织可以直接使用云提供商,无需额外配置。但是,如果您的组织有特定的网络或管理要求,您可能需要配置企业代理或 LLM 网关。这些是可以一起使用的不同配置:

207 209 

208* **企业代理**:通过 HTTP/HTTPS 代理路由流量。如果您的组织要求所有出站流量通过代理服务器以进行安全监控、合规性或网络策略执行,请使用此选项。使用 `HTTPS_PROXY` 或 `HTTP_PROXY` 环境变量进行配置。在[企业网络配置](/zh-CN/network-config)中了解更多。210* **企业代理**:通过 HTTP/HTTPS 代理路由流量。如果您的组织要求所有出站流量通过代理服务器以进行安全监控、合规性或网络策略执行,请使用此选项。使用 `HTTPS_PROXY` 或 `HTTP_PROXY` 环境变量进行配置。在[企业网络配置](/zh-CN/network-config)中了解更多。

209* **LLM 网关**:位于 Claude Code 和云提供商之间的服务,用于处理身份验证和路由。如果您需要跨团队的集中使用情况跟踪、自定义速率限制或预算或集中身份验证管理,请使用此选项。使用 `ANTHROPIC_BASE_URL`、`ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_AWS_BASE_URL` 或 `ANTHROPIC_VERTEX_BASE_URL` 环境变量进行配置。在[LLM 网关配置](/zh-CN/llm-gateway)中了解更多。211* **LLM 网关**:位于 Claude Code 和云提供商之间的服务,用于处理身份验证和路由。如果您需要跨团队的集中使用情况跟踪、自定义速率限制或预算或集中身份验证管理,请使用此选项。使用 `ANTHROPIC_BASE_URL`、`ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_AWS_BASE_URL` 或 `ANTHROPIC_VERTEX_BASE_URL` 环境变量进行配置。在[LLM 网关](/zh-CN/llm-gateway)中了解更多。

210 212 

211以下示例显示在 shell 或 shell 配置文件(`.bashrc`、`.zshrc`)中设置的环境变量。有关其他配置方法,请参阅[设置](/zh-CN/settings)。213以下示例显示在 shell 或 shell 配置文件(`.bashrc`、`.zshrc`)中设置的环境变量。有关其他配置方法,请参阅[设置](/zh-CN/settings)。

212 214 


270 272 

271 # 配置 LLM 网关273 # 配置 LLM 网关

272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'274 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'

273 export CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 # 如果网关处理 Azure 身份验证275 export ANTHROPIC_FOUNDRY_API_KEY=your-gateway-key # 作为 x-api-key 发送

274 ```276 ```

275 </Tab>277 </Tab>

276</Tabs>278</Tabs>


304 # 配置 LLM 网关306 # 配置 LLM 网关

305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'307 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'

306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # 如果网关处理 GCP 身份验证308 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # 如果网关处理 GCP 身份验证

309 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

310 export CLOUD_ML_REGION=us-east5

307 ```311 ```

308 </Tab>312 </Tab>

309</Tabs>313</Tabs>

ultrareview.md +1 −1

Details

38/code-review ultra 123438/code-review ultra 1234

39```39```

40 40 

41在 PR 模式下,远程沙箱直接从主机克隆拉取请求,而不是捆绑您的本地工作树。PR 模式适用于 `github.com` 上的存储库以及管理员已连接到 Claude Code 的 [GitHub Enterprise Server](/zh-CN/github-enterprise-server) 实例。41在 PR 模式下,远程沙箱直接从主机克隆拉取请求,而不是捆绑您的本地工作树。PR 模式适用于 `github.com` 上的存储库以及 Owner 已连接到 Claude Code 的 [GitHub Enterprise Server](/zh-CN/github-enterprise-server) 实例。

42 42 

43<Tip>43<Tip>

44 如果您的存储库太大而无法捆绑,Claude Code 会提示您改用 PR 模式。推送您的分支并打开草稿 PR,然后运行 `/code-review ultra <PR-number>`。44 如果您的存储库太大而无法捆绑,Claude Code 会提示您改用 PR 模式。推送您的分支并打开草稿 PR,然后运行 `/code-review ultra <PR-number>`。

Details

208 208 

209企业组织可能需要管理员启用 Claude Code on the web。联系您的 Anthropic 账户团队。209企业组织可能需要管理员启用 Claude Code on the web。联系您的 Anthropic 账户团队。

210 210 

211<h3 id="/web-setup-returns-unknown-command">211<h3 id="/web-setup-shows-no-commands-match-or-unknown-command">

212 `/web-setup` 返回 "Unknown command"212 `/web-setup` 显示 "No commands match" 或 "Unknown command"

213</h3>213</h3>

214 214 

215`/web-setup` 在 Claude Code CLI 内运行,而不是在您的 shell 中。首先启动 `claude`,然后在提示符处输入 `/web-setup`。215`/web-setup` 在 Claude Code CLI 内运行,而不是在您的 shell 中。首先启动 `claude`,然后在提示符处输入 `/web-setup`。

216 216 

217如果您在 Claude Code 内输入它仍然看到错误您的 CLI 版本早于 v2.1.80,或者您使用 API 密钥或第三方提供商而不是 claude.ai 订阅进行身份验证。运行 `claude update`,然后 `/login` 以使用您的 claude.ai 账户登录。217如果您在 Claude Code 内输入它命令菜单显示 `No commands match "/web-setup"`,或提交它返回 `Unknown command: /web-setup`,该命令被隐藏是因为未满足要求。原因通常是您的 CLI 版本早于 v2.1.80,或者您使用 API 密钥或第三方提供商而不是 claude.ai 订阅进行身份验证。运行 `claude update`,然后 `/login` 以使用您的 claude.ai 账户登录。

218 218 

219<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-remote-or-ultraplan">219<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-remote-or-ultraplan">

220 使用 `--remote` 或 ultraplan 时出现 "Could not create a cloud environment" 或 "No cloud environment available"220 使用 `--remote` 或 ultraplan 时出现 "Could not create a cloud environment" 或 "No cloud environment available"