SpyBara
Go Premium

Documentation 2026-07-15 22:00 UTC to 2026-07-16 22:59 UTC

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

30 30 

31如果您通过 SSH 使用 Claude Code,请在运行 Claude Code 的远程机器上设置环境变量或设置。31如果您通过 SSH 使用 Claude Code,请在运行 Claude Code 的远程机器上设置环境变量或设置。

32 32 

33当模式打开时,Claude Code 打印的第一件事是一条确认行,命名打开它的方法:`[Screen Reader Mode: on via flag]`、`[Screen Reader Mode: on via env]` 或 `[Screen Reader Mode: on via settings]`此方法命名格式需要 Claude Code v2.1.206 或更高版本。33当模式打开时,Claude Code 打印的第一件事是一条确认行,命名打开它的方法:`[Screen Reader Mode: on via flag]`、`[Screen Reader Mode: on via env]` 或 `[Screen Reader Mode: on via settings]`此方法命名格式需要 Claude Code v2.1.206 或更高版本。当 Claude Code 重新启动自身时(例如完成安装更新),新进程通过 `CLAUDE_AX_SCREEN_READER` 环境变量继承该模式,因此其确认行读取 `[Screen Reader Mode: on via env]`,无论您使用了哪种方法。

34{/* max-version: 2.1.205 */}早期版本打印 `[Accessible screen reader mode: on]`。34{/* max-version: 2.1.205 */}早期版本打印 `[Accessible screen reader mode: on]`。

35 35 

36<h2 id="turn-off-screen-reader-mode">36<h2 id="turn-off-screen-reader-mode">

admin-setup.md +7 −4

Details

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

90 90 

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

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

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

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

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

96| [Managed policy CLAUDE.md](/zh-CN/memory#deploy-organization-wide-claude-md) | 在每个会话中加载的组织范围指令,无法排除 | 托管策略路径处的文件 |96| [Managed policy CLAUDE.md](/zh-CN/memory#deploy-organization-wide-claude-md) | 在每个会话中加载的组织范围指令,无法排除 | 托管策略路径处的文件 |

97| [MCP server control](/zh-CN/managed-mcp) | 限制用户可以添加或连接的 MCP 服务器,或部署固定集合 | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly` 或已部署的 `managed-mcp.json` 文件 |97| [MCP server control](/zh-CN/managed-mcp) | 限制用户可以添加或连接的 MCP 服务器,或部署固定集合 | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly` 或已部署的 `managed-mcp.json` 文件 |

98| [Plugin marketplace control](/zh-CN/plugin-marketplaces#managed-marketplace-restrictions) | 限制用户可以添加和安装的市场来源,并拒绝为单次运行侧加载插件、agents 和 MCP 服务器的 CLI 标志 | `strictKnownMarketplaces`、`blockedMarketplaces`、`disableSideloadFlags` |98| [Plugin marketplace control](/zh-CN/plugin-marketplaces#managed-marketplace-restrictions) | 限制用户可以添加和安装的市场来源,拒绝为单次运行侧加载插件、agents 和 MCP 服务器的 CLI 标志,并允许列出哪些市场的插件可以被建议 | `strictKnownMarketplaces`、`blockedMarketplaces`、`disableSideloadFlags`、`pluginSuggestionMarketplaces` |

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

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

101| [Login enforcement](/zh-CN/settings#available-settings) | 限制交互式登录到特定方法或 Anthropic 组织。设置后,由 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 进行身份验证的会话在启动时被阻止;云提供商会话不受影响 | `forceLoginMethod`、`forceLoginOrgUUID` |

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

102| [Model restrictions](/zh-CN/model-config#restrict-model-selection) | `availableModels` 筛选模型选择器中显示的模型。添加 `enforceAvailableModels` 也会限制自动选择的默认模型。请参阅 [surface coverage](/zh-CN/model-config#surface-coverage) 了解此设置如何到达 CLI、web 和 IDE | `availableModels`、`enforceAvailableModels` |103| [Model restrictions](/zh-CN/model-config#restrict-model-selection) | `availableModels` 筛选模型选择器中显示的模型。添加 `enforceAvailableModels` 也会限制自动选择的默认模型。请参阅 [surface coverage](/zh-CN/model-config#surface-coverage) 了解此设置如何到达 CLI、web 和 IDE | `availableModels`、`enforceAvailableModels` |

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


105 106 

106通过 claude.ai 或 Anthropic API 进行身份验证的组织成员也可以在不部署设置的情况下管理模型:[organization model restrictions](/zh-CN/model-config#organization-model-restrictions) 禁用单个模型,[organization default model](/zh-CN/model-config#organization-default-model) 设置新会话启动时使用的模型,[organization effort limits](/zh-CN/model-config#organization-effort-limits) 限制每个角色的工作量级别。这三个控制都需要 Claude Enterprise 计划。模型限制和工作量限制在服务器端强制执行;默认模型是一个起点,用户可以更改,除非组织强制执行。强制执行仅适用于有限的组织集合;请咨询您的 Anthropic 账户团队了解可用性。这些控制都不会到达 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 上的会话;在这些提供商上,使用上面的 `availableModels` 进行限制,并在托管设置中使用 `model` 键作为默认值。107通过 claude.ai 或 Anthropic API 进行身份验证的组织成员也可以在不部署设置的情况下管理模型:[organization model restrictions](/zh-CN/model-config#organization-model-restrictions) 禁用单个模型,[organization default model](/zh-CN/model-config#organization-default-model) 设置新会话启动时使用的模型,[organization effort limits](/zh-CN/model-config#organization-effort-limits) 限制每个角色的工作量级别。这三个控制都需要 Claude Enterprise 计划。模型限制和工作量限制在服务器端强制执行;默认模型是一个起点,用户可以更改,除非组织强制执行。强制执行仅适用于有限的组织集合;请咨询您的 Anthropic 账户团队了解可用性。这些控制都不会到达 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 上的会话;在这些提供商上,使用上面的 `availableModels` 进行限制,并在托管设置中使用 `model` 键作为默认值。

107 108 

109[Claude Code on the web](/zh-CN/claude-code-on-the-web) 有其自己的管理表面:在管理设置中的 Cloud environments 页面上,所有者和管理员创建 [organization-shared environments](/zh-CN/claude-code-on-the-web#organization-shared-environments),设置成员云会话的 [network access level](/zh-CN/claude-code-on-the-web#network-access)、环境变量和设置脚本,并选择组织的默认环境。

110 

108权限规则和沙箱覆盖不同的层。拒绝 WebFetch 会阻止 Claude 的 fetch 工具,但如果允许 Bash,`curl` 和 `wget` 仍然可以到达任何 URL。沙箱通过在操作系统级别强制执行的网络域允许列表来弥补这一差距。111权限规则和沙箱覆盖不同的层。拒绝 WebFetch 会阻止 Claude 的 fetch 工具,但如果允许 Bash,`curl` 和 `wget` 仍然可以到达任何 URL。沙箱通过在操作系统级别强制执行的网络域允许列表来弥补这一差距。

109 112 

110有关这些控制防御的威胁模型,请参阅 [Security](/zh-CN/security)。113有关这些控制防御的威胁模型,请参阅 [Security](/zh-CN/security)。


116根据您需要报告的内容选择监控。仪表板、API 和支出控制在 Claude for Teams 或 Enterprise 计划与 Claude Console 组织之间有所不同,因此在围绕某项功能规划报告之前,请检查"可用性"列。119根据您需要报告的内容选择监控。仪表板、API 和支出控制在 Claude for Teams 或 Enterprise 计划与 Claude Console 组织之间有所不同,因此在围绕某项功能规划报告之前,请检查"可用性"列。

117 120 

118| 功能 | 您获得的内容 | 可用性 | 从何处开始 |121| 功能 | 您获得的内容 | 可用性 | 从何处开始 |

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

120| Usage monitoring | 会话、工具和令牌的 OpenTelemetry 导出 | 所有提供商 | [Monitoring usage](/zh-CN/monitoring-usage) |123| Usage monitoring | 会话、工具和令牌的 OpenTelemetry 导出 | 所有提供商 | [Monitoring usage](/zh-CN/monitoring-usage) |

121| Analytics dashboard | Teams / Enterprise 上具有排行榜的采用和贡献指标;Console 上的每用户使用情况和支出指标 | Teams / Enterprise 在 [claude.ai/analytics](https://claude.ai/analytics/claude-code),Console 在 [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/zh-CN/analytics) |124| Analytics dashboard | Teams / Enterprise 上具有排行榜的采用和贡献指标;Console 上的每用户使用情况和支出指标 | Teams / Enterprise 在 [claude.ai/analytics](https://claude.ai/analytics/claude-code),Console 在 [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/zh-CN/analytics) |

122| Programmatic reporting | 通过 API 的每用户使用情况和成本数据 | Enterprise 的 [Enterprise Analytics API](https://support.claude.com/en/articles/13703965-claude-enterprise-analytics-api-reference-guide),Console 的 [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) | [Costs](/zh-CN/costs#manage-costs-for-your-organization) |125| Programmatic reporting | 通过 API 的每用户使用情况和成本数据 | Enterprise 的 [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics),Console 的 [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) | [Costs](/zh-CN/costs#manage-costs-for-your-organization) |

123| Spend controls | 支出限制和速率限制 | Teams / Enterprise 的管理员设置,Console 的工作区限制;在第三方云上,云预算控制或具有每用户[支出限制](/zh-CN/claude-apps-gateway-spend-limits)的 [Claude apps gateway](/zh-CN/claude-apps-gateway) | [Costs](/zh-CN/costs#manage-costs-for-your-organization) |126| Spend controls | 支出限制和速率限制 | Teams / Enterprise 的管理员设置,Console 的工作区限制;在第三方云上,云预算控制或具有每用户[支出限制](/zh-CN/claude-apps-gateway-spend-limits)的 [Claude apps gateway](/zh-CN/claude-apps-gateway) | [Costs](/zh-CN/costs#manage-costs-for-your-organization) |

124 127 

125在 Teams 和 Enterprise 上,每用户使用情况和支出数字来自您组织的分析设置中的[支出报告](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans),而不是分析仪表板。云提供商通过 AWS Cost Explorer、GCP Billing 或 Azure Cost Management 公开支出。有关跨 Claude chat、Claude Code 和 Cowork 规划企业预算的信息,请参阅 [Claude Enterprise consumption guide](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide)。128在 Teams 和 Enterprise 上,每用户使用情况和支出数字来自您组织的分析设置中的[支出报告](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans),而不是分析仪表板。云提供商通过 AWS Cost Explorer、GCP Billing 或 Azure Cost Management 公开支出。有关跨 Claude chat、Claude Code 和 Cowork 规划企业预算的信息,请参阅 [Claude Enterprise consumption guide](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide)。

advisor.md +2 −2

Details

7> 将您的主模型与更强大的顾问模型配对,Claude 在任务期间的关键时刻咨询该模型。7> 将您的主模型与更强大的顾问模型配对,Claude 在任务期间的关键时刻咨询该模型。

8 8 

9<Note>9<Note>

10 顾问工具是实验性的,需要 Anthropic API。它在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用。行为、定价和可用性可能会改变。10 顾问工具是实验性的,需要 Anthropic API。它在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用。行为、定价和可用性可能会改变。

11</Note>11</Note>

12 12 

13顾问工具让 Claude 在任务期间的关键时刻咨询第二个通常更强大的模型,例如在提交方法之前、陷入重复错误时或在声明任务完成之前。顾问接收完整的对话,包括每个工具调用和结果,并返回 Claude 在继续之前应用的指导。13顾问工具让 Claude 在任务期间的关键时刻咨询第二个通常更强大的模型,例如在提交方法之前、陷入重复错误时或在声明任务完成之前。顾问接收完整的对话,包括每个工具调用和结果,并返回 Claude 在继续之前应用的指导。


159 159 

160顾问工具需要以下所有条件:160顾问工具需要以下所有条件:

161 161 

162* **仅 Anthropic API**:顾问是服务器执行的工具。它在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用。通过配置了 `ANTHROPIC_BASE_URL` 的 [LLM 网关](/zh-CN/llm-gateway),可用性取决于网关是否将请求完整转发到 Anthropic API。162* **仅 Anthropic API**:顾问是服务器执行的工具。它在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用。通过配置了 `ANTHROPIC_BASE_URL` 的 [LLM 网关](/zh-CN/llm-gateway),可用性取决于网关是否将请求完整转发到 Anthropic API。

163* **支持的主模型**:Opus 4.6 或更高版本、Sonnet 4.6 或更高版本,或 Haiku 4.5。{/* min-version: 2.1.170 */}Fable 5 在 Claude Code v2.1.170 或更高版本上也符合条件。163* **支持的主模型**:Opus 4.6 或更高版本、Sonnet 4.6 或更高版本,或 Haiku 4.5。{/* min-version: 2.1.170 */}Fable 5 在 Claude Code v2.1.170 或更高版本上也符合条件。

164 164 

165<h2 id="turn-the-advisor-off">165<h2 id="turn-the-advisor-off">

Details

55 55 

56* **`SystemMessage`:** 会话生命周期事件。`subtype` 字段区分它们:56* **`SystemMessage`:** 会话生命周期事件。`subtype` 字段区分它们:

57 57 

58 * `"init"`:第一条消息包含会话元数据58 * `"init"`:运行的会话元数据。当 `SessionStart` 或 `Setup` hook 在会话启动期间运行时其 [hook 生命周期消息](/zh-CN/agent-sdk/typescript#sdkhookstartedmessage) 在 `init` 消息之前到达

59 * `"compact_boundary"`:在 [compaction](#automatic-compaction) 后触发59 * `"compact_boundary"`:在 [compaction](#automatic-compaction) 后触发

60 * `"informational"`:来自循环的纯文本状态横幅60 * `"informational"`:来自循环的纯文本状态横幅

61 * `"worker_shutting_down"`:循环将在当前轮次后结束,因为主机正在退出或 Remote Control 已断开连接61 * `"worker_shutting_down"`:循环将在当前轮次后结束,因为主机正在退出或 Remote Control 已断开连接


233权限模式选项(Python 中的 `permission_mode`,TypeScript 中的 `permissionMode`)控制代理是否在使用工具前请求批准:233权限模式选项(Python 中的 `permission_mode`,TypeScript 中的 `permissionMode`)控制代理是否在使用工具前请求批准:

234 234 

235| 模式 | 行为 |235| 模式 | 行为 |

236| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

237| `"default"` | 不被允许规则覆盖的工具触发你的批准回调;没有回调意味着拒绝 |237| `"default"` | 不被允许规则覆盖的工具触发你的批准回调;没有回调意味着拒绝 |

238| `"acceptEdits"` | 自动批准文件编辑和常见文件系统命令(`mkdir`、`touch`、`mv`、`cp` 等);其他 Bash 命令遵循默认规则 |238| `"acceptEdits"` | 自动批准文件编辑和常见文件系统命令(`mkdir`、`touch`、`mv`、`cp` 等);其他 Bash 命令遵循默认规则 |

239| `"plan"` | Claude 探索并规划而不编辑你的源文件;文件编辑永远不会自动批准,并通过你的 `canUseTool` 回调提示 |239| `"plan"` | Claude 探索并规划而不编辑你的源文件;文件编辑永远不会自动批准,并通过你的 `canUseTool` 回调提示 |

240| `"dontAsk"` | 从不提示。由 [权限规则](/zh-CN/settings#permission-settings) 预批准的工具运行其他一切被拒绝 |240| `"dontAsk"` | 从不提示。由 [权限规则](/zh-CN/settings#permission-settings) 预批准的工具运行其他一切被拒绝。`AskUserQuestion`、连接器工具 [你的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使你已允许它们也会被拒绝 |

241| `"auto"` | 使用模型分类器批准或拒绝每个工具调用。有关可用性和行为,请参阅 [自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) |241| `"auto"` | 使用模型分类器批准或拒绝每个工具调用。有关可用性和行为,请参阅 [自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) |

242| `"bypassPermissions"` | 运行所有允许的工具而不询问,除非显式 [`ask` 规则](/zh-CN/settings#permission-settings) 匹配;有关 ask 规则在优先级顺序中的位置,请参阅 [权限如何被评估](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)。在 Unix 上以 root 身份运行时无法使用。仅在隔离环境中使用,其中代理的操作无法影响你关心的系统 |242| `"bypassPermissions"` | 运行所有允许的工具而不询问,除了由显式 [`ask` 规则](/zh-CN/settings#permission-settings) 匹配的工具、连接器工具 [你的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 和需要用户交互的工具;有关优先级顺序,请参阅 [权限如何被评估](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)。在 Unix 上以 root 身份运行时无法使用。仅在隔离环境中使用,其中代理的操作无法影响你关心的系统 |

243 243 

244对于交互式应用程序,使用 `"default"` 和工具批准回调来显示批准提示。对于开发机器上的自主代理,`"acceptEdits"` 自动批准文件编辑和常见文件系统命令(`mkdir`、`touch`、`mv`、`cp` 等),同时仍然在允许规则后面限制其他 `Bash` 命令。为 CI、容器或其他隔离环境保留 `"bypassPermissions"`。有关完整详情,请参阅 [权限](/zh-CN/agent-sdk/permissions)。244对于交互式应用程序,使用 `"default"` 和工具批准回调来显示批准提示。对于开发机器上的自主代理,`"acceptEdits"` 自动批准文件编辑和常见文件系统命令(`mkdir`、`touch`、`mv`、`cp` 等),同时仍然在允许规则后面限制其他 `Bash` 命令。为 CI、容器或其他隔离环境保留 `"bypassPermissions"`。有关完整详情,请参阅 [权限](/zh-CN/agent-sdk/permissions)。

245 245 


486* **需要对代理能做什么进行更严格的控制?** 使用 [权限](/zh-CN/agent-sdk/permissions) 锁定工具访问,并使用 [hooks](/zh-CN/agent-sdk/hooks) 在工具执行前审计、阻止或转换工具调用。486* **需要对代理能做什么进行更严格的控制?** 使用 [权限](/zh-CN/agent-sdk/permissions) 锁定工具访问,并使用 [hooks](/zh-CN/agent-sdk/hooks) 在工具执行前审计、阻止或转换工具调用。

487* **运行长期或昂贵的任务?** 将隔离的工作卸载到 [子代理](/zh-CN/agent-sdk/subagents) 以保持你的主上下文精简。487* **运行长期或昂贵的任务?** 将隔离的工作卸载到 [子代理](/zh-CN/agent-sdk/subagents) 以保持你的主上下文精简。

488 488 

489有关代理循环的更广泛概念图(不是 SDK 特定的),请参阅 [Claude Code 如何工作](/zh-CN/how-claude-code-works)。489有关代理循环的更广泛概念图(不是 SDK 特定的),请参阅 [Claude Code 如何工作](/zh-CN/how-claude-code-works)。有关在 Claude Code 中设计循环的实用指南,从轮次制到目标制和主动循环,请参阅博客上的 [Loop engineering: getting started with loops](https://claude.com/blog/getting-started-with-loops)。

Details

57 57 

58结果消息([TypeScript](/zh-CN/agent-sdk/typescript#sdkresultmessage)、[Python](/zh-CN/agent-sdk/python#resultmessage))标记 `query()` 调用的代理循环的结束。它包括 `total_cost_usd`,即该调用中所有步骤的累积估计成本。这适用于成功和错误结果。如果您使用会话进行多个 `query()` 调用,每个结果仅反映该单个调用的成本。58结果消息([TypeScript](/zh-CN/agent-sdk/typescript#sdkresultmessage)、[Python](/zh-CN/agent-sdk/python#resultmessage))标记 `query()` 调用的代理循环的结束。它包括 `total_cost_usd`,即该调用中所有步骤的累积估计成本。这适用于成功和错误结果。如果您使用会话进行多个 `query()` 调用,每个结果仅反映该单个调用的成本。

59 59 

60当代理生成[子代理](/zh-CN/agent-sdk/subagents)时,三个结果级字段在计数内容上有所不同。使用 `modelUsage` 或 Python 中的 `model_usage` 进行整树令牌计数;`usage` 字段一旦发生嵌套就会低估。

61 

62| 字段 | 子代理活动 |

63| ---------------------------- | ------------------------------ |

64| `usage` | 已排除。仅计算顶级代理循环,因此子代理内消耗的令牌不会被添加 |

65| `total_cost_usd` | 已包含。计算子代理请求以及顶级循环 |

66| `modelUsage` / `model_usage` | 已包含。计算子代理请求以及顶级循环,按模型分解 |

67 

60以下示例遍历 `query()` 调用的消息流,并在 `result` 消息到达时打印总成本:68以下示例遍历 `query()` 调用的消息流,并在 `result` 消息到达时打印总成本:

61 69 

62<CodeGroup>70<CodeGroup>

Details

149SDK 为代理执行的不同阶段提供 hooks。某些 hooks 在两个 SDK 中都可用,而其他 hooks 仅在 TypeScript 中可用。149SDK 为代理执行的不同阶段提供 hooks。某些 hooks 在两个 SDK 中都可用,而其他 hooks 仅在 TypeScript 中可用。

150 150 

151| Hook 事件 | Python SDK | TypeScript SDK | 触发条件 | 示例用例 |151| Hook 事件 | Python SDK | TypeScript SDK | 触发条件 | 示例用例 |

152| -------------------- | ---------- | -------------- | -------------------------- | ---------------------------- |152| --------------------------------------------------------- | ---------- | -------------- | -------------------------- | ---------------------------- |

153| `PreToolUse` | 是 | 是 | 工具调用请求(可以阻止或修改) | 阻止危险的 shell 命令 |153| `PreToolUse` | 是 | 是 | 工具调用请求(可以阻止或修改) | 阻止危险的 shell 命令 |

154| `PostToolUse` | 是 | 是 | 工具执行结果 | 将所有文件更改记录到审计跟踪 |154| `PostToolUse` | 是 | 是 | 工具执行结果 | 将所有文件更改记录到审计跟踪 |

155| `PostToolUseFailure` | 是 | 是 | 工具执行失败 | 处理或记录工具错误 |155| `PostToolUseFailure` | 是 | 是 | 工具执行失败 | 处理或记录工具错误 |

156| `PostToolBatch` | 否 | 是 | 一整批工具调用解决,每批一次,在下一个模型调用之前 | 为整个批次注入约定 |156| `PostToolBatch` | 否 | 是 | 一整批工具调用解决,每批一次,在下一个模型调用之前 | 为整个批次注入约定 |

157| `UserPromptSubmit` | 是 | 是 | 用户提示提交 | 将额外上下文注入到提示中 |157| `UserPromptSubmit` | 是 | 是 | 用户提示提交 | 将额外上下文注入到提示中 |

158| [`UserPromptExpansion`](/zh-CN/hooks#userpromptexpansion) | 否 | 是 | 用户输入的命令在到达 Claude 之前扩展为提示 | 阻止命令直接调用或在输入 skill 时添加上下文 |

158| `MessageDisplay` | 否 | 是 | 助手消息包含文本完成,每条消息一次,包含完整消息文本 | 编辑或重新格式化显示的文本而不改变记录 |159| `MessageDisplay` | 否 | 是 | 助手消息包含文本完成,每条消息一次,包含完整消息文本 | 编辑或重新格式化显示的文本而不改变记录 |

159| `Stop` | 是 | 是 | 代理执行停止 | 在退出前保存会话状态 |160| `Stop` | 是 | 是 | 代理执行停止 | 在退出前保存会话状态 |

160| `SubagentStart` | 是 | 是 | 子代理初始化 | 跟踪并行任务生成 |161| `SubagentStart` | 是 | 是 | 子代理初始化 | 跟踪并行任务生成 |


817* 增加 `HookMatcher` 配置中的 `timeout` 值818* 增加 `HookMatcher` 配置中的 `timeout` 值

818* 在 TypeScript 中使用第三个回调参数中的 `AbortSignal` 来优雅地处理取消819* 在 TypeScript 中使用第三个回调参数中的 `AbortSignal` 来优雅地处理取消

819 820 

821{/* min-version: 2.1.208 */}超过超时时间的 `UserPromptSubmit` 或 [`UserPromptExpansion`](/zh-CN/hooks#userpromptexpansion) 回调会用超时消息阻止该提示,会话继续进行。在回调待处理时中断查询会取消待处理的工具调用。在 v2.1.208 之前,这些事件上的回调超时会以 `error_during_execution` 结束查询,在待处理的 `PreToolUse` 回调期间中断可能会让工具调用继续进行。

822 

820<h3 id="tool-blocked-unexpectedly">823<h3 id="tool-blocked-unexpectedly">

821 工具意外被阻止824 工具意外被阻止

822</h3>825</h3>


887 systemMessage 未出现在输出中890 systemMessage 未出现在输出中

888</h3>891</h3>

889 892 

890`systemMessage` 字段向用户显示消息,而不是模型。默认情况下,SDK 不会在消息流中显示 hook 输出,因此除非您设置 `includeHookEvents`(Python 中为 `include_hook_events`),否则消息可能不会出现。要改为将上下文传递给模型,请返回 [`additionalContext`](/zh-CN/hooks#add-context-for-claude)。893`systemMessage` 字段向用户显示消息,而不是模型。默认情况下,SDK 仅在消息流中为 `SessionStart` 和 `Setup` hooks 显示 hook 输出,因此除非您设置 `includeHookEvents`(Python 中为 `include_hook_events`),否则来自任何其他 hook 事件的消息不会出现。要改为将上下文传递给模型,请返回 [`additionalContext`](/zh-CN/hooks#add-context-for-claude)。

891 894 

892如果您需要可靠地将 hook 决定呈现给您的应用程序,请单独记录它们或使用专用输出通道。895如果您需要可靠地将 hook 决定呈现给您的应用程序,请单独记录它们或使用专用输出通道。

893 896 

Details

188通配符 (`*`) 让您允许来自服务器的所有工具,而无需逐个列出每一个。188通配符 (`*`) 让您允许来自服务器的所有工具,而无需逐个列出每一个。

189 189 

190<Note>190<Note>

191 **对于 MCP 访问,优先使用 `allowedTools` 而不是权限模式。** `permissionMode: "acceptEdits"` 不会自动批准 MCP 工具(仅文件编辑和文件系统 Bash 命令)。`permissionMode: "bypassPermissions"` 确实会自动批准 MCP 工具,但也会禁用所有其他安全提示除非明确的 [`ask` 规则](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated) 匹配,这比必要的范围更广。`allowedTools` 中的通配符仅授予您想要的 MCP 服务器,没有其他。请参阅 [权限模式](/zh-CN/agent-sdk/permissions#permission-modes) 以获得完整比较。191 **对于 MCP 访问,优先使用 `allowedTools` 而不是权限模式。** `permissionMode: "acceptEdits"` 不会自动批准 MCP 工具(仅文件编辑和文件系统 Bash 命令)。`permissionMode: "bypassPermissions"` 确实会自动批准 MCP 工具,但也会禁用大多数其他安全提示这比必要的范围更广;请参阅 [权限如何被评估](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated) 了解保留的提示。`allowedTools` 中的通配符仅授予您想要的 MCP 服务器,没有其他。请参阅 [权限模式](/zh-CN/agent-sdk/permissions#permission-modes) 以获得完整比较。

192</Note>192</Note>

193 193 

194<h3 id="discover-available-tools">194<h3 id="discover-available-tools">


831* 在启动代理之前预热服务器831* 在启动代理之前预热服务器

832* 检查服务器日志以了解缓慢初始化的原因832* 检查服务器日志以了解缓慢初始化的原因

833 833 

834<h3 id="tool-output-exceeds-maximum-allowed-tokens">

835 工具输出超过最大允许令牌数

836</h3>

837 

838SDK 应用与 Claude Code 相同的 MCP 输出限制。当工具结果大于 25,000 令牌时,完整输出被保存到文件,工具结果被替换为错误消息,该消息命名文件路径,以便代理可以分部分读取输出。使用 [`MAX_MCP_OUTPUT_TOKENS`](/zh-CN/env-vars) 环境变量提高限制。有关完整行为(包括服务器如何声明更高的每工具限制),请参阅 [MCP 输出限制和警告](/zh-CN/mcp#mcp-output-limits-and-warnings)。

839 

834<h2 id="related-resources">840<h2 id="related-resources">

835 相关资源841 相关资源

836</h2>842</h2>

Details

6 6 

7> 使用 Claude Code 作为库构建生产级 AI 代理7> 使用 Claude Code 作为库构建生产级 AI 代理

8 8 

9构建能够自主读取文件、运行命令、搜索网络、编辑代码等的 AI 代理。Agent SDK 为您提供了与 Claude Code 相同的工具、代理循环和上下文管理,可在 Python 和 TypeScript 中编程。9构建能够自主读取文件、运行命令、搜索网络、编辑代码等的 AI 代理。Agent SDK 为您提供了与 Claude Code 相同的工具、代理循环和上下文管理,可在 Python 和 TypeScript 中编程。有关代理工具设计背后的思考,请参阅博客上的 [A harness for every task: dynamic workflows in Claude Code](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code)。

10 10 

11<CodeGroup>11<CodeGroup>

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

Details

31 检查来自 [settings.json](/zh-CN/settings#permission-settings) 的 `ask` 规则。如果询问规则匹配,调用会传递到您的 [`canUseTool` 回调](/zh-CN/agent-sdk/user-input) 以获得确认,即使在 `bypassPermissions` 模式下也是如此。31 检查来自 [settings.json](/zh-CN/settings#permission-settings) 的 `ask` 规则。如果询问规则匹配,调用会传递到您的 [`canUseTool` 回调](/zh-CN/agent-sdk/user-input) 以获得确认,即使在 `bypassPermissions` 模式下也是如此。

32 32 

33 需要用户交互的工具行为相同:`AskUserQuestion` 和 MCP 工具,其服务器设置 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 总是传递到回调,即使当允许规则匹配时。在 `dontAsk` 模式下,两种情况都被拒绝,因为该模式从不提示。{/* min-version: 2.1.199 */}MCP 注解需要 Claude Code v2.1.199 或更高版本。33 需要用户交互的工具行为相同:`AskUserQuestion` 和 MCP 工具,其服务器设置 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 总是传递到回调,即使当允许规则匹配时。在 `dontAsk` 模式下,两种情况都被拒绝,因为该模式从不提示。{/* min-version: 2.1.199 */}MCP 注解需要 Claude Code v2.1.199 或更高版本。

34 

35 [claude.ai connector](/zh-CN/mcp#organization-controls-on-connector-tools) 工具,您的组织已设置为 `ask` 也会在此步骤离开流程。每个调用都会传递到回调,即使在 `bypassPermissions` 模式下,即使当允许规则匹配时。回调接收原因 `Your organization requires approval for this tool`。在 `dontAsk` 模式下,调用被拒绝,因为该模式从不提示。

34 </Step>36 </Step>

35 37 

36 <Step title="权限模式">38 <Step title="权限模式">


77 79 

78允许规则仅在字面 `mcp__<server>__` 前缀之后接受工具名称通配符。服务器段必须无通配符,以便规则命名您配置的特定服务器:`mcp__puppeteer__*` 匹配来自 `puppeteer` 服务器的每个工具,`mcp__github__get_*` 匹配其 `get_` 工具。未锚定的条目如 `allowed_tools=["*"]` 或 `allowed_tools=["mcp__*"]` 被忽略并显示启动警告,不会自动批准任何内容。80允许规则仅在字面 `mcp__<server>__` 前缀之后接受工具名称通配符。服务器段必须无通配符,以便规则命名您配置的特定服务器:`mcp__puppeteer__*` 匹配来自 `puppeteer` 服务器的每个工具,`mcp__github__get_*` 匹配其 `get_` 工具。未锚定的条目如 `allowed_tools=["*"]` 或 `allowed_tools=["mcp__*"]` 被忽略并显示启动警告,不会自动批准任何内容。

79 81 

82范围化规则用于 `Read` 和 `Edit` 采用路径模式。`Edit(path)` 规则管理所有写入文件的内置工具,包括 `Write` 和 `NotebookEdit`;`Write(path)` 规则永远不会被文件权限检查匹配。

83 

84使用 `//path` 表示绝对文件系统路径:`Edit(//secrets/**)` 的拒绝规则阻止在磁盘上 `/secrets` 下任何位置的写入。使用单个前导斜杠,`Edit(/secrets/**)` 在规则的源处锚定。对于通过 `allowed_tools` 或 `disallowed_tools` 传递的规则,这意味着会话的工作目录,因此规则不会阻止磁盘上的 `/secrets`。请参阅 [Read 和 Edit 规则](/zh-CN/permissions#read-and-edit) 了解四种锚定形式以及来自设置文件的规则如何解析。

85 

80<Warning>86<Warning>

81 **自动批准的工具永远不会到达 `canUseTool`。** 在任何早期步骤中批准的工具调用,通过 `acceptEdits` 或 `bypassPermissions`,或通过允许规则,会跳过您的 `canUseTool` 回调,因此您在那里放置的权限检查对该工具被静默绕过。例外是需要用户交互的工具,`AskUserQuestion` 和 MCP 工具标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool),即使允许规则匹配也会到达回调。覆盖范围取决于条目的形式:像 `Read` 或 `mcp__github__get_issue` 这样的裸名称自动批准对该工具的每个调用,而像 `Bash(ls *)` 这样的范围化规则仅自动批准匹配的调用,其他 `Bash` 调用仍然继续进行回调。对于必须在每个工具调用上运行的检查请使用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks):hooks 在每个其他步骤之前运行hook 拒绝甚至在 `bypassPermissions` 模式中也适用87 **自动批准的工具永远不会到达 `canUseTool`。** 在任何早期步骤中批准的工具调用,通过 `acceptEdits` 或 `bypassPermissions`,或通过允许规则,会跳过您的 `canUseTool` 回调,因此您在那里放置的权限检查对该工具被静默绕过。`AskUserQuestion`、标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) MCP 工具以及连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 仍然到达回调即使允许规则匹配

88 

89 覆盖范围取决于条目的形式:像 `Read` 或 `mcp__github__get_issue` 这样的裸名称自动批准对该工具的每个调用,而像 `Bash(ls *)` 这样的范围化规则仅自动批准匹配的调用,其他 `Bash` 调用仍然继续进行回调。对于必须在每个工具调用上运行的检查,请使用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks):hooks 在每个其他步骤之前运行,hook 拒绝甚至在 `bypassPermissions` 模式中也适用。

82</Warning>90</Warning>

83 91 

84对于锁定的代理,将 `allowedTools` 与 `permissionMode: "dontAsk"` 配对。列出的工具被批准;其他任何内容都被直接拒绝,而不是提示:92对于锁定的代理,将 `allowedTools` 与 `permissionMode: "dontAsk"` 配对。列出的工具被批准,除了上面警告中的始终提示工具;其他任何内容都被直接拒绝,而不是提示:

85 93 

86```typescript theme={null}94```typescript theme={null}

87const options = {95const options = {


109SDK 支持这些权限模式:117SDK 支持这些权限模式:

110 118 

111| 模式 | 描述 | 工具行为 |119| 模式 | 描述 | 工具行为 |

112| :------------------ | :------- | :--------------------------------------------------------------------------------------------- |120| :------------------ | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |

113| `default` | 标准权限行为 | 无自动批准;不匹配的工具触发您的 `canUseTool` 回调 |121| `default` | 标准权限行为 | 无自动批准;不匹配的工具触发您的 `canUseTool` 回调 |

114| `dontAsk` | 拒绝而不是提示 | 任何未被 `allowed_tools` 或规则预批准的内容都被拒绝;`canUseTool` 永远不会被调用 |122| `dontAsk` | 拒绝而不是提示 | 任何未被 `allowed_tools` 或规则预批准的内容都被拒绝;连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具即使您已预批准它们也被拒绝。`canUseTool` 永远不会被调用 |

115| `acceptEdits` | 自动接受文件编辑 | 文件编辑和 [文件系统操作](#accept-edits-mode-acceptedits)(`mkdir`、`rm`、`mv` 等)被自动批准 |123| `acceptEdits` | 自动接受文件编辑 | 文件编辑和 [文件系统操作](#accept-edits-mode-acceptedits)(`mkdir`、`rm`、`mv` 等)被自动批准 |

116| `bypassPermissions` | 绕过权限检查 | 工具运行而无需权限提示,除非显式 [`ask` 规则](#how-permissions-are-evaluated) 匹配(谨慎使用) |124| `bypassPermissions` | 绕过权限检查 | 工具运行而无需权限提示,除了显式 [`ask` 规则](#how-permissions-are-evaluated)匹配的工具、连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具(谨慎使用) |

117| `plan` | 规划模式 | Claude 在不编辑源文件的情况下探索和规划;文件编辑永远不会自动批准,并通过您的 `canUseTool` 回调提示 |125| `plan` | 规划模式 | Claude 在不编辑源文件的情况下探索和规划;文件编辑永远不会自动批准,并通过您的 `canUseTool` 回调提示 |

118| `auto` | 模型分类批准 | 模型分类器批准或拒绝每个工具调用。请参阅 [Auto 模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 了解可用性 |126| `auto` | 模型分类批准 | 模型分类器批准或拒绝每个工具调用。请参阅 [Auto 模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 了解可用性 |

119 127 

120<Warning>128<Warning>

121 **子代理继承:** 当父代理使用 `bypassPermissions`、`acceptEdits` 或 `auto` 时,所有子代理继承该模式,并且不能按子代理覆盖。子代理可能有不同的系统提示和行为约束较少,比您的主代理,所以继承 `bypassPermissions` 授予它们完整的、自主的系统访问权限。显式 [`ask` 规则](#how-permissions-are-evaluated) 仍然会强制提示129 **子代理继承:** 当父代理使用 `bypassPermissions`、`acceptEdits` 或 `auto` 时,所有子代理继承该模式,并且不能按子代理覆盖。子代理可能有不同的系统提示和行为约束较少,比您的主代理,所以继承 `bypassPermissions` 授予它们完整的、自主的系统访问权限。显式 [`ask` 规则](#how-permissions-are-evaluated)、连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具仍然会强制提示

122</Warning>130</Warning>

123 131 

124<h3 id="set-permission-mode">132<h3 id="set-permission-mode">


252 不询问模式(`dontAsk`)260 不询问模式(`dontAsk`)

253</h4>261</h4>

254 262 

255将任何权限提示转换为拒绝。由 `allowed_tools`、`settings.json` 允许规则或作为 hook 运行的工具正常运行。其他所有内容都被拒绝,无需调用 `canUseTool`。263将任何权限提示转换为拒绝。由 `allowed_tools`、`settings.json` 允许规则或作为 hook 运行的工具正常运行。连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具即使允许规则匹配也被拒绝。其他所有内容都被拒绝,无需调用 `canUseTool`。

256 264 

257**使用时机:** 您想要为无头代理提供固定的、明确的工具表面,并且更喜欢硬拒绝而不是默默依赖 `canUseTool` 不存在。265**使用时机:** 您想要为无头代理提供固定的、明确的工具表面,并且更喜欢硬拒绝而不是默默依赖 `canUseTool` 不存在。

258 266 


265<Warning>273<Warning>

266 谨慎使用。Claude 在此模式下具有完整的系统访问权限。仅在您信任所有可能操作的受控环境中使用。274 谨慎使用。Claude 在此模式下具有完整的系统访问权限。仅在您信任所有可能操作的受控环境中使用。

267 275 

268 `allowed_tools` 不约束此模式。每个工具都被批准,而不仅仅是您列出的工具。拒绝规则(`disallowed_tools`)、显式 `ask` 规则和 hooks 在模式检查之前被评估,仍然可以阻止工具。276 `allowed_tools` 不约束此模式。每个工具都被批准,而不仅仅是您列出的工具。拒绝规则(`disallowed_tools`)、显式 `ask` 规则和 hooks 在模式检查之前被评估,仍然可以阻止工具。连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具仍然会通过您的 `canUseTool` 回调。

269</Warning>277</Warning>

270 278 

271<h4 id="plan-mode-plan">279<h4 id="plan-mode-plan">

Details

138) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]138) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]

139```139```

140 140 

141<h4 id="parameters-1">141<h4 id="parameters-2">

142 参数142 参数

143</h4>143</h4>

144 144 


171 }171 }

172 ```172 ```

173 173 

174<h4 id="returns-1">174<h4 id="returns-2">

175 返回175 返回

176</h4>176</h4>

177 177 


234) -> McpSdkServerConfig234) -> McpSdkServerConfig

235```235```

236 236 

237<h4 id="parameters-2">237<h4 id="parameters-3">

238 参数238 参数

239</h4>239</h4>

240 240 


244| `version` | `str` | `"1.0.0"` | 服务器版本字符串 |244| `version` | `str` | `"1.0.0"` | 服务器版本字符串 |

245| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | 使用 `@tool` 装饰器创建的工具函数列表 |245| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | 使用 `@tool` 装饰器创建的工具函数列表 |

246 246 

247<h4 id="returns-2">247<h4 id="returns-3">

248 返回248 返回

249</h4>249</h4>

250 250 

251返回一个 `McpSdkServerConfig` 对象,可以传递给 `ClaudeAgentOptions.mcp_servers`。251返回一个 `McpSdkServerConfig` 对象,可以传递给 `ClaudeAgentOptions.mcp_servers`。

252 252 

253<h4 id="example-1">253<h4 id="example-2">

254 示例254 示例

255</h4>255</h4>

256 256 


291def list_sessions(291def list_sessions(

292 directory: str | None = None,292 directory: str | None = None,

293 limit: int | None = None,293 limit: int | None = None,

294 offset: int = 0,

294 include_worktrees: bool = True295 include_worktrees: bool = True

295) -> list[SDKSessionInfo]296) -> list[SDKSessionInfo]

296```297```

297 298 

298<h4 id="parameters-3">299<h4 id="parameters-4">

299 参数300 参数

300</h4>301</h4>

301 302 


303| :------------------ | :------------ | :----- | :--------------------------------------------- |304| :------------------ | :------------ | :----- | :--------------------------------------------- |

304| `directory` | `str \| None` | `None` | 列出会话的目录。省略时,返回所有项目中的会话 |305| `directory` | `str \| None` | `None` | 列出会话的目录。省略时,返回所有项目中的会话 |

305| `limit` | `int \| None` | `None` | 返回的最大会话数 |306| `limit` | `int \| None` | `None` | 返回的最大会话数 |

307| `offset` | `int` | `0` | 从排序结果开始跳过的会话数。与 `limit` 一起用于分页 |

306| `include_worktrees` | `bool` | `True` | 当 `directory` 在 git 仓库内时,包括所有 worktrees 路径中的会话 |308| `include_worktrees` | `bool` | `True` | 当 `directory` 在 git 仓库内时,包括所有 worktrees 路径中的会话 |

307 309 

308<h4 id="return-type-sdksessioninfo">310<h4 id="return-type-sdksessioninfo">


322| `tag` | `str \| None` | 用户设置的会话标签(见 [`tag_session()`](#tag_session)) |324| `tag` | `str \| None` | 用户设置的会话标签(见 [`tag_session()`](#tag_session)) |

323| `created_at` | `int \| None` | 会话创建时间(自纪元以来的毫秒数) |325| `created_at` | `int \| None` | 会话创建时间(自纪元以来的毫秒数) |

324 326 

325<h4 id="example-2">327<h4 id="example-3">

326 示例328 示例

327</h4>329</h4>

328 330 


350) -> list[SessionMessage]352) -> list[SessionMessage]

351```353```

352 354 

353<h4 id="parameters-4">355<h4 id="parameters-5">

354 参数356 参数

355</h4>357</h4>

356 358 


373| `message` | `Any` | 原始消息内容 |375| `message` | `Any` | 原始消息内容 |

374| `parent_tool_use_id` | `None` | 保留供将来使用 |376| `parent_tool_use_id` | `None` | 保留供将来使用 |

375 377 

376<h4 id="example-3">378<h4 id="example-4">

377 示例379 示例

378</h4>380</h4>

379 381 


400) -> SDKSessionInfo | None402) -> SDKSessionInfo | None

401```403```

402 404 

403<h4 id="parameters-5">405<h4 id="parameters-6">

404 参数406 参数

405</h4>407</h4>

406 408 


411 413 

412返回 [`SDKSessionInfo`](#return-type-sdksessioninfo),如果找不到会话则返回 `None`。414返回 [`SDKSessionInfo`](#return-type-sdksessioninfo),如果找不到会话则返回 `None`。

413 415 

414<h4 id="example-4">416<h4 id="example-5">

415 示例417 示例

416</h4>418</h4>

417 419 


439) -> None441) -> None

440```442```

441 443 

442<h4 id="parameters-6">444<h4 id="parameters-7">

443 参数445 参数

444</h4>446</h4>

445 447 


451 453 

452如果 `session_id` 不是有效的 UUID 或 `title` 为空,则抛出 `ValueError`;如果找不到会话,则抛出 `FileNotFoundError`。454如果 `session_id` 不是有效的 UUID 或 `title` 为空,则抛出 `ValueError`;如果找不到会话,则抛出 `FileNotFoundError`。

453 455 

454<h4 id="example-5">456<h4 id="example-6">

455 示例457 示例

456</h4>458</h4>

457 459 


479) -> None481) -> None

480```482```

481 483 

482<h4 id="parameters-7">484<h4 id="parameters-8">

483 参数485 参数

484</h4>486</h4>

485 487 


491 493 

492如果 `session_id` 不是有效的 UUID 或 `tag` 在清理后为空,则抛出 `ValueError`;如果找不到会话,则抛出 `FileNotFoundError`。494如果 `session_id` 不是有效的 UUID 或 `tag` 在清理后为空,则抛出 `ValueError`;如果找不到会话,则抛出 `FileNotFoundError`。

493 495 

494<h4 id="example-6">496<h4 id="example-7">

495 示例497 示例

496</h4>498</h4>

497 499 


1257 1259 

1258回调是 SDK 对交互式权限提示的替代:它仅在[权限评估流](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)解析为提示时调用。已由 `allowed_tools` 条目、设置允许规则或权限模式(如 `acceptEdits` 或 `bypassPermissions`)批准的工具调用永远不会调用它。要限制每个工具调用,改用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks)。1260回调是 SDK 对交互式权限提示的替代:它仅在[权限评估流](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)解析为提示时调用。已由 `allowed_tools` 条目、设置允许规则或权限模式(如 `acceptEdits` 或 `bypassPermissions`)批准的工具调用永远不会调用它。要限制每个工具调用,改用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks)。

1259 1261 

1262`AskUserQuestion`、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,以及你的组织[设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 的连接器工具即使允许规则匹配也会到达回调。在 `dontAsk` 模式下,这些调用被拒绝,不调用回调。

1263 

1260<h3 id="toolpermissioncontext">1264<h3 id="toolpermissioncontext">

1261 `ToolPermissionContext`1265 `ToolPermissionContext`

1262</h3>1266</h3>


1744`usage` 字典在存在时包含以下键:1748`usage` 字典在存在时包含以下键:

1745 1749 

1746| 键 | 类型 | 描述 |1750| 键 | 类型 | 描述 |

1747| ----------------------------- | ----- | ------------- |1751| ----------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------- |

1748| `input_tokens` | `int` | 消耗的总输入令牌 |1752| `input_tokens` | `int` | 顶级代理循环消耗的输入令牌[子代理令牌不包括在内](/zh-CN/agent-sdk/cost-tracking#get-the-total-cost-of-a-query);使用 `model_usage` 进行整树计费。 |

1749| `output_tokens` | `int` | 生成的总输出令牌 |1753| `output_tokens` | `int` | 顶级代理循环生成的输出令牌子代理令牌不包括在内。 |

1750| `cache_creation_input_tokens` | `int` | 用于创建新缓存条目的令牌。 |1754| `cache_creation_input_tokens` | `int` | 用于创建新缓存条目的令牌。 |

1751| `cache_read_input_tokens` | `int` | 从现有缓存条目读取的令牌。 |1755| `cache_read_input_tokens` | `int` | 从现有缓存条目读取的令牌。 |

1752 1756 


2688```python theme={null}2692```python theme={null}

2689{2693{

2690 "command": str, # 要执行的命令2694 "command": str, # 要执行的命令

2691 "timeout": int | None, # 可选的超时时间(毫秒)(最大 600000)2695 "timeout": int | None, # 可选的超时时间(毫秒)(最大 600000;更高的值被限制为最大值

2692 "description": str | None, # 清晰、简洁的描述(5-10 个单词)2696 "description": str | None, # 清晰、简洁的描述(5-10 个单词)

2693 "run_in_background": bool | None, # 设置为 true 以在后台运行2697 "run_in_background": bool | None, # 设置为 true 以在后台运行

2694}2698}


3667 在沙箱设置中设置 `"failIfUnavailable": True` 以改为停止。该键尚未在 `SandboxSettings` 上声明,但 SDK 会将其转发给 Claude Code,后者会遵守它。然后 `query()` 报告一个 `ResultMessage`,其 `subtype="error_during_execution"` 和 `errors` 中的原因。监视该子类型,而不是期望 `query()` 在生成消息之前引发。3671 在沙箱设置中设置 `"failIfUnavailable": True` 以改为停止。该键尚未在 `SandboxSettings` 上声明,但 SDK 会将其转发给 Claude Code,后者会遵守它。然后 `query()` 报告一个 `ResultMessage`,其 `subtype="error_during_execution"` 和 `errors` 中的原因。监视该子类型,而不是期望 `query()` 在生成消息之前引发。

3668</Note>3672</Note>

3669 3673 

3670<h4 id="example-usage-1">3674<h4 id="example-usage-2">

3671 示例用法3675 示例用法

3672</h4>3676</h4>

3673 3677 

Details

368**权限模式**控制你想要多少人工监督:368**权限模式**控制你想要多少人工监督:

369 369 

370| 模式 | 行为 | 用例 |370| 模式 | 行为 | 用例 |

371| ------------------- | ------------------------------------------------------------------------------------------ | -------------- |371| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |

372| `acceptEdits` | 自动批准文件编辑和常见文件系统命令,询问其他操作 | 受信任的开发工作流 |372| `acceptEdits` | 自动批准文件编辑和常见文件系统命令,询问其他操作 | 受信任的开发工作流 |

373| `plan` | 运行只读工具;文件编辑永远不会自动批准,并到达你的 `canUseTool` 回调 | 在批准执行前确定任务范围 |373| `plan` | 运行只读工具;文件编辑永远不会自动批准,并到达你的 `canUseTool` 回调 | 在批准执行前确定任务范围 |

374| `dontAsk` | 拒绝不在 `allowedTools` 中的任何内容 | 锁定的无头代理 |374| `dontAsk` | 拒绝不在 `allowedTools` 中的任何内容;连接器工具[你的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具即使你已列出它们也会被拒绝 | 锁定的无头代理 |

375| `auto` | 模型分类器批准或拒绝每个工具调用 | 具有安全防护的自主代理 |375| `auto` | 模型分类器批准或拒绝每个工具调用 | 具有安全防护的自主代理 |

376| `bypassPermissions` | 运行每个工具而不提示,除非显式的 [`ask` 规则](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated) 匹配 | 沙箱 CI、完全受信任的环境 |376| `bypassPermissions` | 运行每个工具而不提示,除了显式的 [`ask` 规则](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)匹配的工具、连接器工具[你的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和需要用户交互的工具 | 沙箱 CI、完全受信任的环境 |

377| `default` | 需要 `canUseTool` 回调来处理批准 | 自定义批准流程 |377| `default` | 需要 `canUseTool` 回调来处理批准 | 自定义批准流程 |

378 378 

379上面的示例使用 `acceptEdits` 模式,它自动批准文件操作,以便代理可以在没有交互式提示的情况下运行。如果你想提示用户批准,使用 `default` 模式并提供一个 [`canUseTool` 回调](/zh-CN/agent-sdk/user-input)来收集用户输入。为了获得更多控制,请参阅[权限](/zh-CN/agent-sdk/permissions)。379上面的示例使用 `acceptEdits` 模式,它自动批准文件操作,以便代理可以在没有交互式提示的情况下运行。如果你想提示用户批准,使用 `default` 模式并提供一个 [`canUseTool` 回调](/zh-CN/agent-sdk/user-input)来收集用户输入。为了获得更多控制,请参阅[权限](/zh-CN/agent-sdk/permissions)。

Details

222 子代理继承的内容222 子代理继承的内容

223</h2>223</h2>

224 224 

225子代理的上下文窗口从新开始(无父对话),但不是空的。从父代理到子代理的唯一通道是 Agent 工具的提示词字符串,因此请直接在该提示词中包含子代理需要的任何文件路径、错误消息或决策。225子代理的上下文窗口从新开始,没有父对话,但不是空的。从父代理到子代理的唯一内容是 Agent 工具的提示词字符串,因此请直接在该提示词中包含子代理需要的任何文件路径、错误消息或决策。

226 

227{/* min-version: 2.1.206 */}具有 [`SendMessage`](/zh-CN/tools-reference) 工具的子代理会从会话中运行的其他命名代理列表开始,因此它知道可以向哪些名称发送消息。Claude Code 会自动在子代理的第一轮中添加该列表。[fork](/zh-CN/sub-agents#fork-the-current-conversation) 不会获得该列表,因为它继承了父对话。该列表需要 Claude Code v2.1.206 或更高版本。

226 228 

227| 子代理接收 | 子代理不接收 |229| 子代理接收 | 子代理不接收 |

228| :---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- |230| :---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- |


581* **会话持久性**:子代理记录在其会话内持久存在。您可以通过恢复同一会话在重启 Claude Code 后恢复子代理。583* **会话持久性**:子代理记录在其会话内持久存在。您可以通过恢复同一会话在重启 Claude Code 后恢复子代理。

582* **自动清理**:记录根据 `cleanupPeriodDays` 设置进行清理,默认为 30 天。584* **自动清理**:记录根据 `cleanupPeriodDays` 设置进行清理,默认为 30 天。

583 585 

584<h2 id="tool-restrictions-1">586<h2 id="tool-restrictions-2">

585 工具限制587 工具限制

586</h2>588</h2>

587 589 

Details

100}): Promise<WarmQuery>;100}): Promise<WarmQuery>;

101```101```

102 102 

103<h4 id="parameters">103<h4 id="parameters-2">

104 参数104 参数

105</h4>105</h4>

106 106 


109| `options` | [`Options`](#options) | 可选配置对象。与 `query()` 的 `options` 参数相同 |109| `options` | [`Options`](#options) | 可选配置对象。与 `query()` 的 `options` 参数相同 |

110| `initializeTimeoutMs` | `number` | 等待子进程初始化的最长时间(毫秒)。默认为 `60000`。如果初始化未在规定时间内完成,promise 将以超时错误拒绝 |110| `initializeTimeoutMs` | `number` | 等待子进程初始化的最长时间(毫秒)。默认为 `60000`。如果初始化未在规定时间内完成,promise 将以超时错误拒绝 |

111 111 

112<h4 id="returns">112<h4 id="returns-2">

113 返回值113 返回值

114</h4>114</h4>

115 115 


149): SdkMcpToolDefinition<Schema>;149): SdkMcpToolDefinition<Schema>;

150```150```

151 151 

152<h4 id="parameters">152<h4 id="parameters-3">

153 参数153 参数

154</h4>154</h4>

155 155 


204}): McpSdkServerConfigWithInstance;204}): McpSdkServerConfigWithInstance;

205```205```

206 206 

207<h4 id="parameters">207<h4 id="parameters-4">

208 参数208 参数

209</h4>209</h4>

210 210 


224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;

225```225```

226 226 

227<h4 id="parameters">227<h4 id="parameters-5">

228 参数228 参数

229</h4>229</h4>

230 230 


251| `tag` | `string \| undefined` | 用户设置的会话标签(请参阅 [`tagSession()`](#tagsession)) |251| `tag` | `string \| undefined` | 用户设置的会话标签(请参阅 [`tagSession()`](#tagsession)) |

252| `createdAt` | `number \| undefined` | 创建时间(自纪元以来的毫秒数),来自第一个条目的时间戳 |252| `createdAt` | `number \| undefined` | 创建时间(自纪元以来的毫秒数),来自第一个条目的时间戳 |

253 253 

254<h4 id="example">254<h4 id="example-2">

255 示例255 示例

256</h4>256</h4>

257 257 


280): Promise<SessionMessage[]>;280): Promise<SessionMessage[]>;

281```281```

282 282 

283<h4 id="parameters">283<h4 id="parameters-6">

284 参数284 参数

285</h4>285</h4>

286 286 


304| `parent_tool_use_id` | `string \| null` | 对于子代理消息,生成 `Agent` 工具调用的 `tool_use_id`。对于主会话消息和较旧的会话为 `null` |304| `parent_tool_use_id` | `string \| null` | 对于子代理消息,生成 `Agent` 工具调用的 `tool_use_id`。对于主会话消息和较旧的会话为 `null` |

305| `parent_agent_id` | `string \| null` | 对于来自[嵌套子代理](/zh-CN/sub-agents#spawn-nested-subagents)的消息,生成该消息的子代理的 `agentId`。对于主会话消息、来自顶级子代理的消息和较旧的会话为 `null`。{/* min-version: 2.1.202 */}需要 Claude Code v2.1.202 或更高版本 |305| `parent_agent_id` | `string \| null` | 对于来自[嵌套子代理](/zh-CN/sub-agents#spawn-nested-subagents)的消息,生成该消息的子代理的 `agentId`。对于主会话消息、来自顶级子代理的消息和较旧的会话为 `null`。{/* min-version: 2.1.202 */}需要 Claude Code v2.1.202 或更高版本 |

306 306 

307<h4 id="example">307<h4 id="example-3">

308 示例308 示例

309</h4>309</h4>

310 310 


338): Promise<SDKSessionInfo | undefined>;338): Promise<SDKSessionInfo | undefined>;

339```339```

340 340 

341<h4 id="parameters">341<h4 id="parameters-7">

342 参数342 参数

343</h4>343</h4>

344 344 


363): Promise<void>;363): Promise<void>;

364```364```

365 365 

366<h4 id="parameters">366<h4 id="parameters-8">

367 参数367 参数

368</h4>368</h4>

369 369 


387): Promise<void>;387): Promise<void>;

388```388```

389 389 

390<h4 id="parameters">390<h4 id="parameters-9">

391 参数391 参数

392</h4>392</h4>

393 393 


413): Promise<ResolvedSettings>;413): Promise<ResolvedSettings>;

414```414```

415 415 

416<h4 id="parameters">416<h4 id="parameters-10">

417 参数417 参数

418</h4>418</h4>

419 419 


438| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | 对于 `effective` 中的每个顶级密钥,哪个源提供了该值 |438| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | 对于 `effective` 中的每个顶级密钥,哪个源提供了该值 |

439| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | 每个源的原始设置,按从最低到最高优先级排序 |439| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | 每个源的原始设置,按从最低到最高优先级排序 |

440 440 

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

442 示例442 示例

443</h4>443</h4>

444 444 


467`query()` 函数的配置对象。467`query()` 函数的配置对象。

468 468 

469| 属性 | 类型 | 默认值 | 描述 |469| 属性 | 类型 | 默认值 | 描述 |

470| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |470| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

472| `additionalDirectories` | `string[]` | `[]` | Claude 可以访问的其他目录 |472| `additionalDirectories` | `string[]` | `[]` | Claude 可以访问的其他目录 |

473| `agent` | `string` | `undefined` | 主线程的代理名称。代理必须在 `agents` 选项或设置中定义 |473| `agent` | `string` | `undefined` | 主线程的代理名称。代理必须在 `agents` 选项或设置中定义 |


476| `allowDangerouslySkipPermissions` | `boolean` | `false` | 启用绕过权限。使用 `permissionMode: 'bypassPermissions'` 时需要 |476| `allowDangerouslySkipPermissions` | `boolean` | `false` | 启用绕过权限。使用 `permissionMode: 'bypassPermissions'` 时需要 |

477| `allowedTools` | `string[]` | `[]` | 无需提示即可自动批准的工具。这不会将 Claude 限制为仅这些工具;未列出的工具会通过 `permissionMode` 和 `canUseTool` 进行处理。使用 `disallowedTools` 阻止工具。请参阅[权限](/zh-CN/agent-sdk/permissions#allow-and-deny-rules) |477| `allowedTools` | `string[]` | `[]` | 无需提示即可自动批准的工具。这不会将 Claude 限制为仅这些工具;未列出的工具会通过 `permissionMode` 和 `canUseTool` 进行处理。使用 `disallowedTools` 阻止工具。请参阅[权限](/zh-CN/agent-sdk/permissions#allow-and-deny-rules) |

478| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | 启用测试功能 |478| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | 启用测试功能 |

479| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | 自定义权限函数,仅在[权限流](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)落到提示时调用。不会为 `allowedTools`、allow 规则或 `permissionMode` 自动批准的调用调用。请参阅 [`CanUseTool`](#canusetool) 了解详情 |479| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | 自定义权限函数,仅在[权限流](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)落到提示时调用。不会为 `allowedTools`、allow 规则或 `permissionMode` 自动批准的调用调用。`AskUserQuestion`、connector 工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使您已允许它们也会到达它;在 `dontAsk` 模式下这些会被拒绝。请参阅 [`CanUseTool`](#canusetool) 了解详情 |

480| `continue` | `boolean` | `false` | 继续最近的对话 |480| `continue` | `boolean` | `false` | 继续最近的对话 |

481| `cwd` | `string` | `process.cwd()` | 当前工作目录 |481| `cwd` | `string` | `process.cwd()` | 当前工作目录 |

482| `debug` | `boolean` | `false` | 为 Claude Code 进程启用调试模式 |482| `debug` | `boolean` | `false` | 为 Claude Code 进程启用调试模式 |


492| `forkSession` | `boolean` | `false` | 使用 `resume` 恢复时,分叉到新会话 ID 而不是继续原始会话 |492| `forkSession` | `boolean` | `false` | 使用 `resume` 恢复时,分叉到新会话 ID 而不是继续原始会话 |

493| `forwardSubagentText` | `boolean` | `false` | 转发子代理文本和思考块作为助手和用户消息,并设置 `parent_tool_use_id`,以便消费者可以呈现嵌套记录。默认情况下,仅从子代理发出 `tool_use` 和 `tool_result` 块 |493| `forwardSubagentText` | `boolean` | `false` | 转发子代理文本和思考块作为助手和用户消息,并设置 `parent_tool_use_id`,以便消费者可以呈现嵌套记录。默认情况下,仅从子代理发出 `tool_use` 和 `tool_result` 块 |

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

495| `includeHookEvents` | `boolean` | `false` | 在消息流中包括 hook 生命周期事件,作为 [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage) |495| `includeHookEvents` | `boolean` | `false` | 在消息流中包括 hook 生命周期事件,作为 [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage)。`SessionStart` 和 `Setup` hooks 的生命周期事件始终包括在内,不需要此选项 |

496| `includePartialMessages` | `boolean` | `false` | 包括部分消息事件 |496| `includePartialMessages` | `boolean` | `false` | 包括部分消息事件 |

497| `loadTimeoutMs` | `number` | `60000` | *Alpha.* 每个 `sessionStore.load()` 和 `sessionStore.listSubkeys()` 调用在恢复物化期间的超时时间(以毫秒为单位)。如果适配器未在此窗口内解决,查询将失败而不是挂起。未设置 `sessionStore` 时忽略 |497| `loadTimeoutMs` | `number` | `60000` | *Alpha.* 每个 `sessionStore.load()` 和 `sessionStore.listSubkeys()` 调用在恢复物化期间的超时时间(以毫秒为单位)。如果适配器未在此窗口内解决,查询将失败而不是挂起。未设置 `sessionStore` 时忽略 |

498| `managedSettings` | `Settings` | `undefined` | 由生成的父进程提供的策略层设置。当机器上已存在 IT 控制的托管设置层时删除,除非该管理员选择使用 `parentSettingsBehavior: 'merge'`。无论如何都会过滤为仅限制性键 |498| `managedSettings` | `Settings` | `undefined` | 由生成的父进程提供的策略层设置。当机器上已存在 IT 控制的托管设置层时删除,除非该管理员选择使用 `parentSettingsBehavior: 'merge'`。无论如何都会过滤为仅限制性键 |


599| `rewindFiles(userMessageId, options?)` | 将文件恢复到指定用户消息时的状态。传递 `{ dryRun: true }` 以预览更改。需要 `enableFileCheckpointing: true`。请参阅[文件 checkpointing](/zh-CN/agent-sdk/file-checkpointing) |599| `rewindFiles(userMessageId, options?)` | 将文件恢复到指定用户消息时的状态。传递 `{ dryRun: true }` 以预览更改。需要 `enableFileCheckpointing: true`。请参阅[文件 checkpointing](/zh-CN/agent-sdk/file-checkpointing) |

600| `setPermissionMode()` | 更改权限模式(仅在流式输入模式下可用) |600| `setPermissionMode()` | 更改权限模式(仅在流式输入模式下可用) |

601| `setModel()` | 更改模型(仅在流式输入模式下可用) |601| `setModel()` | 更改模型(仅在流式输入模式下可用) |

602| `setMaxThinkingTokens()` | *已弃用:* 改用 `thinking` 选项。更改最大思考令牌数 |602| `setMaxThinkingTokens()` | *已弃用:* 改用 `thinking` 选项。更改最大思考令牌数。传递 `null` 会将思考重置为会话默认值:清除中期覆盖,对于禁用思考的会话思考保持关闭 |

603| `applyFlagSettings(settings)` | 在运行时将设置合并到会话的标志设置层中(仅在流式输入模式下可用)。请参阅 [`applyFlagSettings()`](#applyflagsettings) |603| `applyFlagSettings(settings)` | 在运行时将设置合并到会话的标志设置层中(仅在流式输入模式下可用)。请参阅 [`applyFlagSettings()`](#applyflagsettings) |

604| `initializationResult()` | 返回完整的初始化结果,包括支持的命令、模型、帐户信息和输出样式配置 |604| `initializationResult()` | 返回完整的初始化结果,包括支持的命令、模型、帐户信息和输出样式配置 |

605| `reinitialize()` | {/* min-version: 2.1.195 */}重新发送 `initialize` 控制请求到运行的 CLI,并返回新的结果而不是缓存的首次连接结果。在传输间隙后使用它,例如在断开连接后重新连接到会话,以便待处理的权限请求再次到达您的 `canUseTool` 回调。使回调对每个请求 ID 幂等,因为响应丢失的请求会再次分派。需要 Claude Code v2.1.195 或更高版本 |605| `reinitialize()` | {/* min-version: 2.1.195 */}重新发送 `initialize` 控制请求到运行的 CLI,并返回新的结果而不是缓存的首次连接结果。在传输间隙后使用它,例如在断开连接后重新连接到会话,以便待处理的权限请求再次到达您的 `canUseTool` 回调。使回调对每个请求 ID 幂等,因为响应丢失的请求会再次分派。需要 Claude Code v2.1.195 或更高版本 |


623 623 

624仅某些键在会话中期生效:624仅某些键在会话中期生效:

625 625 

626* **在下一个轮次应用**:`model`、`effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`awaySummaryEnabled`、`agent`。切换 `agent` 也会在下一个轮次应用该代理的模型覆盖、hooks 和系统提示。626* **在下一个轮次应用**:`model`、`effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`agent`。切换 `agent` 也会在下一个轮次应用该代理的模型覆盖、hooks 和系统提示。

627* **会话中期无效**:系统提示选项。这些在启动时解决一次,因此运行的会话保持原始值,即使调用成功。要更改它们,请启动新会话。627* **会话中期无效**:系统提示选项。这些在启动时解决一次,因此运行的会话保持原始值,即使调用成功。要更改它们,请启动新会话。

628 628 

629`effortLevel` 接受一个[努力级别](/zh-CN/model-config#adjust-effort-level)名称。它也接受 `"ultracode"`,它以 `xhigh` 努力运行会话并打开[ultracode](/zh-CN/workflows#let-claude-decide-with-ultracode)。`Settings` 类型声明 `effortLevel` 不包含该值,因此在 TypeScript 中传递等效的 `{ ultracode: true }`。{/* min-version: 2.1.203 */}`ultracode` 值需要 Claude Code v2.1.203 或更高版本,仅由 `applyFlagSettings()` 接受,不由设置文件中的 `effortLevel` 键接受。629`effortLevel` 接受一个[努力级别](/zh-CN/model-config#adjust-effort-level)名称。它也接受 `"ultracode"`,它以 `xhigh` 努力运行会话并打开[ultracode](/zh-CN/workflows#let-claude-decide-with-ultracode)。`Settings` 类型声明 `effortLevel` 不包含该值,因此在 TypeScript 中传递等效的 `{ ultracode: true }`。{/* min-version: 2.1.203 */}`ultracode` 值需要 Claude Code v2.1.203 或更高版本,仅由 `applyFlagSettings()` 接受,不由设置文件中的 `effortLevel` 键接受。


663}663}

664```664```

665 665 

666<h4 id="methods-1">666<h4 id="methods-2">

667 方法667 方法

668</h4>668</h4>

669 669 


915 915 

916该函数是 SDK 替代交互式权限提示:仅当[权限评估流](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)解决为提示时才调用它。已由 `allowedTools` 条目、设置 allow 规则或权限模式(如 `acceptEdits` 或 `bypassPermissions`)批准的工具调用永远不会调用它。要限制每个工具调用,请改用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks)。916该函数是 SDK 替代交互式权限提示:仅当[权限评估流](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)解决为提示时才调用它。已由 `allowedTools` 条目、设置 allow 规则或权限模式(如 `acceptEdits` 或 `bypassPermissions`)批准的工具调用永远不会调用它。要限制每个工具调用,请改用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks)。

917 917 

918`AskUserQuestion`、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具和[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 的 connector 工具即使 allow 规则匹配也会到达该函数。在 `dontAsk` 模式下这些调用会被拒绝,不调用它。

919 

918```typescript theme={null}920```typescript theme={null}

919type CanUseTool = (921type CanUseTool = (

920 toolName: string,922 toolName: string,


1123 | SDKTaskProgressMessage1125 | SDKTaskProgressMessage

1124 | SDKTaskUpdatedMessage1126 | SDKTaskUpdatedMessage

1125 | SDKBackgroundTasksChangedMessage1127 | SDKBackgroundTasksChangedMessage

1128 | SDKThinkingTokensMessage

1126 | SDKSessionStateChangedMessage1129 | SDKSessionStateChangedMessage

1127 | SDKWorkerShuttingDownMessage1130 | SDKWorkerShuttingDownMessage

1128 | SDKCommandsChangedMessage1131 | SDKCommandsChangedMessage


1183 1186 

1184将 `shouldQuery` 设置为 `false` 以将消息附加到记录中而不触发助手轮次。消息被保留并合并到下一个触发轮次的用户消息中。使用此方法注入上下文,例如您在带外运行的命令的输出,而无需在其上花费模型调用。1187将 `shouldQuery` 设置为 `false` 以将消息附加到记录中而不触发助手轮次。消息被保留并合并到下一个触发轮次的用户消息中。使用此方法注入上下文,例如您在带外运行的命令的输出,而无需在其上花费模型调用。

1185 1188 

1189在携带 `tool_result` 块的消息上,`tool_use_result` 是工具的结构化输出对象,而不是发送给模型的文本。其形状取决于匹配的 `tool_use` 块命名的工具,因此该字段被类型化为 `unknown`;内置形状列在[工具输出类型](#tool-output-types)下。

1190 

1191对于 `Agent` 工具,`tool_use_result` 是 [`AgentOutput`](#agent-2)。在 `completed` 结果上,`content` 保存子代理的报告,不包含 Claude Code 附加到 `tool_result` 文本的代理 ID 和使用情况预告片,因此从 `tool_use_result` 呈现而不是解析该文本。

1192 

1186<h3 id="sdkusermessagereplay">1193<h3 id="sdkusermessagereplay">

1187 `SDKUserMessageReplay`1194 `SDKUserMessageReplay`

1188</h3>1195</h3>


1203};1210};

1204```1211```

1205 1212 

1213从会话外部注入的用户轮次,其 [`origin`](#sdkmessageorigin) 类型为 `peer` 或 `channel`,无论是在活跃轮次期间交付还是在会话空闲时启动新轮次,都会作为重放到达流。{/* min-version: 2.1.207 */}在 v2.1.207 之前,在会话空闲时交付的注入轮次在流上不产生任何消息,仅在您重新读取记录时出现。

1214 

1206<h3 id="sdkresultmessage">1215<h3 id="sdkresultmessage">

1207 `SDKResultMessage`1216 `SDKResultMessage`

1208</h3>1217</h3>


1265* `api_error_status`:终止对话的 API 错误的 HTTP 状态码。当轮次在没有 API 错误的情况下结束时,该字段不存在或为 `null`。1274* `api_error_status`:终止对话的 API 错误的 HTTP 状态码。当轮次在没有 API 错误的情况下结束时,该字段不存在或为 `null`。

1266* `ttft_ms`:首个令牌的时间(毫秒),在第一个完整的助手消息到达时测量。仅在成功分支上显示。1275* `ttft_ms`:首个令牌的时间(毫秒),在第一个完整的助手消息到达时测量。仅在成功分支上显示。

1267* `ttft_stream_ms`:直到第一个 `message_start` 流事件的时间(毫秒),当响应流打开时。低于 `ttft_ms`;两者之间的差距是流式传输第一条消息所花费的时间。仅在成功分支上显示。1276* `ttft_stream_ms`:直到第一个 `message_start` 流事件的时间(毫秒),当响应流打开时。低于 `ttft_ms`;两者之间的差距是流式传输第一条消息所花费的时间。仅在成功分支上显示。

1268* `terminal_reason`:循环结束的原因。为 `"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"` 或 `"model_error"` 之一。1277* `terminal_reason`:循环结束的原因。为 `"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"background_requested"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"`、`"model_error"`、`"api_error"`、`"malformed_tool_use_exhausted"`、`"budget_exhausted"`、`"structured_output_retry_exhausted"`、`"tool_deferred_unavailable"` 或 `"turn_setup_failed"` 之一。

1269* `fast_mode_state`:为 `"on"`、`"off"` 或 `"cooldown"` 之一。1278* `fast_mode_state`:为 `"on"`、`"off"` 或 `"cooldown"` 之一。

1270 1279 

1271`origin` 字段转发触发此结果的用户消息的 [`SDKMessageOrigin`](#sdkmessageorigin)。当后台任务完成且 SDK 注入合成后续轮次时,生成的 `SDKResultMessage` 携带 `origin: { kind: "task-notification" }`。检查此字段以区分回答您的提示的结果与为后台任务后续操作发出的结果,以便您可以路由或抑制后者。对于在任何用户轮次之前发出的结果(例如启动错误),该字段不存在。1280`origin` 字段转发触发此结果的用户消息的 [`SDKMessageOrigin`](#sdkmessageorigin)。当后台任务完成且 SDK 注入合成后续轮次时,生成的 `SDKResultMessage` 携带 `origin: { kind: "task-notification" }`。检查此字段以区分回答您的提示的结果与为后台任务后续操作发出的结果,以便您可以路由或抑制后者。对于在任何用户轮次之前发出的结果(例如启动错误),该字段不存在。


2034type AgentInput = {2043type AgentInput = {

2035 description: string;2044 description: string;

2036 prompt: string;2045 prompt: string;

2037 subagent_type: string;2046 subagent_type?: string;

2038 model?: "sonnet" | "opus" | "haiku" | "fable";2047 model?: "sonnet" | "opus" | "haiku" | "fable";

2039 resume?: string;

2040 run_in_background?: boolean;2048 run_in_background?: boolean;

2041 max_turns?: number;

2042 name?: string;2049 name?: string;

2043 mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";2050 mode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan";

2044 isolation?: "worktree";2051 isolation?: "worktree";

2045};2052};

2046```2053```


2075```typescript theme={null}2082```typescript theme={null}

2076type BashInput = {2083type BashInput = {

2077 command: string;2084 command: string;

2078 timeout?: number;2085 timeout?: number; // 毫秒,最大 600000;更高的值会被限制为最大值

2079 description?: string;2086 description?: string;

2080 run_in_background?: boolean;2087 run_in_background?: boolean;

2081 dangerouslyDisableSandbox?: boolean;2088 dangerouslyDisableSandbox?: boolean;


2492 | WorkflowOutput;2499 | WorkflowOutput;

2493```2500```

2494 2501 

2495<h3 id="agent-1">2502<h3 id="agent-2">

2496 Agent2503 Agent

2497</h3>2504</h3>

2498 2505 


2503 | {2510 | {

2504 status: "completed";2511 status: "completed";

2505 agentId: string;2512 agentId: string;

2506 content: Array<{ type: "text"; text: string }>;2513 agentType?: string;

2514 content: Array<{ type: "text"; text: string; citations?: unknown[] | null }>;

2507 resolvedModel?: string;2515 resolvedModel?: string;

2508 totalToolUseCount: number;2516 totalToolUseCount: number;

2509 totalDurationMs: number;2517 totalDurationMs: number;


2517 web_search_requests: number;2525 web_search_requests: number;

2518 web_fetch_requests: number;2526 web_fetch_requests: number;

2519 } | null;2527 } | null;

2520 service_tier: ("standard" | "priority" | "batch") | null;2528 service_tier: string | null;

2521 cache_creation: {2529 cache_creation: {

2522 ephemeral_1h_input_tokens: number;2530 ephemeral_1h_input_tokens: number;

2523 ephemeral_5m_input_tokens: number;2531 ephemeral_5m_input_tokens: number;

2524 } | null;2532 } | null;

2533 inference_geo?: string | null;

2534 speed?: string | null;

2535 iterations?: unknown;

2536 };

2537 toolStats?: {

2538 readCount: number;

2539 searchCount: number;

2540 bashCount: number;

2541 editFileCount: number;

2542 linesAdded: number;

2543 linesRemoved: number;

2544 otherToolCount: number;

2545 frameCount?: number;

2525 };2546 };

2526 prompt: string;2547 prompt: string;

2548 worktreePath?: string;

2549 worktreeBranch?: string;

2527 }2550 }

2528 | {2551 | {

2529 status: "async_launched";2552 status: "async_launched";

2553 isAsync?: true;

2530 agentId: string;2554 agentId: string;

2531 description: string;2555 description: string;

2532 resolvedModel?: string;2556 resolvedModel?: string;


2535 canReadOutputFile?: boolean;2559 canReadOutputFile?: boolean;

2536 }2560 }

2537 | {2561 | {

2538 status: "sub_agent_entered";2562 status: "remote_launched";

2563 taskId: string;

2564 sessionUrl: string;

2539 description: string;2565 description: string;

2540 message: string;2566 prompt: string;

2567 outputFile: string;

2541 };2568 };

2542```2569```

2543 2570 

2544返回来自子代理的结果。在 `status` 字段上进行区分:`"completed"` 表示已完成的任务,`"async_launched"` 表示后台任务,`"sub_agent_entered"` 表示交互式子代理2571返回来自子代理的结果。在 `status` 字段上进行区分:`"completed"` 表示已完成的任务,`"async_launched"` 表示后台任务,`"remote_launched"` 表示 Claude Code 分派到远程云会话的任务,其中 `sessionUrl` 链接到该会话,`taskId` 标识它

2545 2572 

2546`completed` 和 `async_launched` 变体上的 `resolvedModel` 字段命名子代理实际运行的模型,当应用 [`availableModels`](/zh-CN/model-config#restrict-model-selection) 或其他覆盖时,该模型可能与请求的 `model` 输入不同。{/* min-version: 2.1.174 */}此字段需要 Claude Code v2.1.174 或更高版本。2573`completed` 和 `async_launched` 变体上的 `resolvedModel` 字段命名子代理实际运行的模型,当应用 [`availableModels`](/zh-CN/model-config#restrict-model-selection) 或其他覆盖时,该模型可能与请求的 `model` 输入不同。{/* min-version: 2.1.174 */}此字段需要 Claude Code v2.1.174 或更高版本。

2547 2574 

2548<h3 id="askuserquestion-1">2575 `completed` 变体上,当子代理在隔离的 git worktree 中运行时,`worktreePath` 被设置,`worktreeBranch` 在 Claude Code 创建该 worktree 时命名其分支。`usage.service_tier` 携带 API 为子代理的请求报告的服务层字符串。

2576 

2577在 v2.1.207 之前,发布的类型更窄。它省略了 `worktreePath`、`worktreeBranch`、`citations`、`toolStats.frameCount` 和 `inference_geo`、`speed` 和 `iterations` 使用字段,并将 `service_tier` 类型化为 `"standard" | "priority" | "batch"`。类型标记为可选的字段可能在早期版本记录的结果中不存在。

2578 

2579<h3 id="askuserquestion-2">

2549 AskUserQuestion2580 AskUserQuestion

2550</h3>2581</h3>

2551 2582 


2566 2597 

2567返回提出的问题和用户的答案。当用户输入自由形式的回复而不是回答结构化问题时,`response` 被设置;当存在时,Claude 会收到"用户回复:…"而不是每个问题的答案列表。2598返回提出的问题和用户的答案。当用户输入自由形式的回复而不是回答结构化问题时,`response` 被设置;当存在时,Claude 会收到"用户回复:…"而不是每个问题的答案列表。

2568 2599 

2569<h3 id="bash-1">2600<h3 id="bash-2">

2570 Bash2601 Bash

2571</h3>2602</h3>

2572 2603 


2591 2622 

2592返回命令输出,stdout/stderr 分开。后台命令包括 `backgroundTaskId`。2623返回命令输出,stdout/stderr 分开。后台命令包括 `backgroundTaskId`。

2593 2624 

2594<h3 id="monitor-1">2625<h3 id="monitor-2">

2595 Monitor2626 Monitor

2596</h3>2627</h3>

2597 2628 


2607 2638 

2608返回运行监视器的后台任务 ID。使用此 ID 与 `TaskStop` 一起提前取消监视。2639返回运行监视器的后台任务 ID。使用此 ID 与 `TaskStop` 一起提前取消监视。

2609 2640 

2610<h3 id="edit-1">2641<h3 id="edit-2">

2611 Edit2642 Edit

2612</h3>2643</h3>

2613 2644 


2641 2672 

2642返回编辑操作的结构化差异。2673返回编辑操作的结构化差异。

2643 2674 

2644<h3 id="read-1">2675<h3 id="read-2">

2645 Read2676 Read

2646</h3>2677</h3>

2647 2678 


2701 2732 

2702返回适合文件类型的格式的文件内容。在 `type` 字段上进行区分。2733返回适合文件类型的格式的文件内容。在 `type` 字段上进行区分。

2703 2734 

2704<h3 id="write-1">2735<h3 id="write-2">

2705 Write2736 Write

2706</h3>2737</h3>

2707 2738 


2733 2764 

2734返回写入结果,包含结构化差异信息。2765返回写入结果,包含结构化差异信息。

2735 2766 

2736<h3 id="glob-1">2767<h3 id="glob-2">

2737 Glob2768 Glob

2738</h3>2769</h3>

2739 2770 


2750 2781 

2751返回与 glob 模式匹配的文件路径,按修改时间排序。2782返回与 glob 模式匹配的文件路径,按修改时间排序。

2752 2783 

2753<h3 id="grep-1">2784<h3 id="grep-2">

2754 Grep2785 Grep

2755</h3>2786</h3>

2756 2787 


2771 2802 

2772返回搜索结果。形状因 `mode` 而异:文件列表、带匹配的内容或匹配计数。2803返回搜索结果。形状因 `mode` 而异:文件列表、带匹配的内容或匹配计数。

2773 2804 

2774<h3 id="taskstop-1">2805<h3 id="taskstop-2">

2775 TaskStop2806 TaskStop

2776</h3>2807</h3>

2777 2808 


2788 2819 

2789停止后台任务后返回确认。2820停止后台任务后返回确认。

2790 2821 

2791<h3 id="notebookedit-1">2822<h3 id="notebookedit-2">

2792 NotebookEdit2823 NotebookEdit

2793</h3>2824</h3>

2794 2825 


2810 2841 

2811返回笔记本编辑的结果,包含原始和更新的文件内容。2842返回笔记本编辑的结果,包含原始和更新的文件内容。

2812 2843 

2813<h3 id="webfetch-1">2844<h3 id="webfetch-2">

2814 WebFetch2845 WebFetch

2815</h3>2846</h3>

2816 2847 


2829 2860 

2830返回获取的内容,包含 HTTP 状态和元数据。2861返回获取的内容,包含 HTTP 状态和元数据。

2831 2862 

2832<h3 id="websearch-1">2863<h3 id="websearch-2">

2833 WebSearch2864 WebSearch

2834</h3>2865</h3>

2835 2866 


2851 2882 

2852返回来自网络的搜索结果。2883返回来自网络的搜索结果。

2853 2884 

2854<h3 id="workflow-1">2885<h3 id="workflow-2">

2855 Workflow2886 Workflow

2856</h3>2887</h3>

2857 2888 


2881| `scriptPath` | `string` | 此运行的持久化工作流脚本的路径。编辑它并作为 `scriptPath` 传回以重新运行而无需重新发送脚本 |2912| `scriptPath` | `string` | 此运行的持久化工作流脚本的路径。编辑它并作为 `scriptPath` 传回以重新运行而无需重新发送脚本 |

2882| `error` | `string` | 当脚本语法检查失败时设置。存在时,尽管 `async_launched` 状态,运行未启动 |2913| `error` | `string` | 当脚本语法检查失败时设置。存在时,尽管 `async_launched` 状态,运行未启动 |

2883 2914 

2884<h3 id="todowrite-1">2915<h3 id="todowrite-2">

2885 TodoWrite2916 TodoWrite

2886</h3>2917</h3>

2887 2918 


2908 自 TypeScript Agent SDK 0.3.142 起,`TodoWrite` 默认被禁用。改用 `TaskCreate`、`TaskGet`、`TaskUpdate` 和 `TaskList`。请参阅[迁移到 Task 工具](/zh-CN/agent-sdk/todo-tracking#migrate-to-task-tools)更新您的监视代码,或设置 `CLAUDE_CODE_ENABLE_TASKS=0` 以恢复为 `TodoWrite`。2939 自 TypeScript Agent SDK 0.3.142 起,`TodoWrite` 默认被禁用。改用 `TaskCreate`、`TaskGet`、`TaskUpdate` 和 `TaskList`。请参阅[迁移到 Task 工具](/zh-CN/agent-sdk/todo-tracking#migrate-to-task-tools)更新您的监视代码,或设置 `CLAUDE_CODE_ENABLE_TASKS=0` 以恢复为 `TodoWrite`。

2909</Note>2940</Note>

2910 2941 

2911<h3 id="taskcreate-1">2942<h3 id="taskcreate-2">

2912 TaskCreate2943 TaskCreate

2913</h3>2944</h3>

2914 2945 


2925 2956 

2926返回创建的任务及其分配的 ID。2957返回创建的任务及其分配的 ID。

2927 2958 

2928<h3 id="taskupdate-1">2959<h3 id="taskupdate-2">

2929 TaskUpdate2960 TaskUpdate

2930</h3>2961</h3>

2931 2962 


2946 2977 

2947返回更新结果,包括哪些字段已更改。2978返回更新结果,包括哪些字段已更改。

2948 2979 

2949<h3 id="taskget-1">2980<h3 id="taskget-2">

2950 TaskGet2981 TaskGet

2951</h3>2982</h3>

2952 2983 


2967 2998 

2968返回完整的任务记录,或在找不到 ID 时返回 `null`。2999返回完整的任务记录,或在找不到 ID 时返回 `null`。

2969 3000 

2970<h3 id="tasklist-1">3001<h3 id="tasklist-2">

2971 TaskList3002 TaskList

2972</h3>3003</h3>

2973 3004 


2987 3018 

2988返回当前列表中所有任务的快照。3019返回当前列表中所有任务的快照。

2989 3020 

2990<h3 id="exitplanmode-1">3021<h3 id="exitplanmode-2">

2991 ExitPlanMode3022 ExitPlanMode

2992</h3>3023</h3>

2993 3024 


3006 3037 

3007返回退出规划模式后的计划状态。3038返回退出规划模式后的计划状态。

3008 3039 

3009<h3 id="listmcpresources-1">3040<h3 id="listmcpresources-2">

3010 ListMcpResources3041 ListMcpResources

3011</h3>3042</h3>

3012 3043 


3024 3055 

3025返回可用 MCP 资源的数组。3056返回可用 MCP 资源的数组。

3026 3057 

3027<h3 id="readmcpresource-1">3058<h3 id="readmcpresource-2">

3028 ReadMcpResource3059 ReadMcpResource

3029</h3>3060</h3>

3030 3061 


3042 3073 

3043返回请求的 MCP 资源的内容。3074返回请求的 MCP 资源的内容。

3044 3075 

3045<h3 id="enterworktree-1">3076<h3 id="enterworktree-2">

3046 EnterWorktree3077 EnterWorktree

3047</h3>3078</h3>

3048 3079 


3538 3569 

3539当 hook 开始执行时发出。3570当 hook 开始执行时发出。

3540 3571 

3572Claude Code 将此消息、[`SDKHookProgressMessage`](#sdkhookprogressmessage) 和 [`SDKHookResponseMessage`](#sdkhookresponsemessage) 立即传递到消息流,包括在会话启动期间 `SessionStart` 或 `Setup` hook 仍在运行时。Claude Code v2.1.169 至 v2.1.203 在 `SessionStart` 或 `Setup` hook 完成后以一个批次传递这些消息;v2.1.204 恢复了实时传递。

3573 

3541```typescript theme={null}3574```typescript theme={null}

3542type SDKHookStartedMessage = {3575type SDKHookStartedMessage = {

3543 type: "system";3576 type: "system";


3725};3758};

3726```3759```

3727 3760 

3761<h3 id="sdkthinkingtokensmessage">

3762 `SDKThinkingTokensMessage`

3763</h3>

3764 

3765在 Claude 生成思考块(包括编辑过的块)时发出,携带迄今为止生成的思考令牌的运行估计。`estimated_tokens` 是当前思考块的运行总计,`estimated_tokens_delta` 是此帧携带的增量。将其用于进度显示。顶级代理循环的最终计数是结果消息的 `usage.output_tokens`,它[不包括子代理令牌](/zh-CN/agent-sdk/cost-tracking#get-the-total-cost-of-a-query);使用 [`modelUsage`](#modelusage) 进行整树会计。

3766 

3767{/* min-version: 2.1.153 */}需要 Claude Code v2.1.153 或更高版本。

3768 

3769```typescript theme={null}

3770type SDKThinkingTokensMessage = {

3771 type: "system";

3772 subtype: "thinking_tokens";

3773 estimated_tokens: number;

3774 estimated_tokens_delta: number;

3775 uuid: UUID;

3776 session_id: string;

3777};

3778```

3779 

3728<h3 id="sdkfilespersistedevent">3780<h3 id="sdkfilespersistedevent">

3729 `SDKFilesPersistedEvent`3781 `SDKFilesPersistedEvent`

3730</h3>3782</h3>


3976 沙箱外命令的权限回退4028 沙箱外命令的权限回退

3977</h3>4029</h3>

3978 4030 

3979启用 `allowUnsandboxedCommands` 时,模型可以通过在工具输入中设置 `dangerouslyDisableSandbox: true` 来请求在沙箱外运行命令。这些请求回退到现有权限系统,意味着您的 `canUseTool` 处理程序被调用,允许您实现自定义授权逻辑。4031启用 `allowUnsandboxedCommands` 时,模型可以通过在工具输入中设置 `dangerouslyDisableSandbox: true` 来请求在沙箱外运行命令。这些请求回退到现有权限系统,意味着您的 `canUseTool` 处理程序被调用,允许您实现自定义授权逻辑。在下面的示例中,`isCommandAuthorized` 代表您定义的授权检查。

3980 4032 

3981<Note>4033<Note>

3982 **`excludedCommands` vs `allowUnsandboxedCommands`:**4034 **`excludedCommands` vs `allowUnsandboxedCommands`:**

Details

49 49 

50<Warning>50<Warning>

51 **回调永远不会对自动批准的工具触发。** [权限评估流程](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)中任何较早的批准、允许规则或 `acceptEdits` 或 `bypassPermissions` 等模式会在咨询 `canUseTool` 之前解决调用。如果您在 `allowed_tools` 中列出一个工具,除非询问规则或 `plan` 模式将调用路由回提示,否则该工具的 `canUseTool` 检查永远不会运行。对于必须应用于每个工具调用的逻辑,请使用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks),它在流程的其余部分之前执行,可以允许、拒绝或修改请求。51 **回调永远不会对自动批准的工具触发。** [权限评估流程](/zh-CN/agent-sdk/permissions#how-permissions-are-evaluated)中任何较早的批准、允许规则或 `acceptEdits` 或 `bypassPermissions` 等模式会在咨询 `canUseTool` 之前解决调用。如果您在 `allowed_tools` 中列出一个工具,除非询问规则或 `plan` 模式将调用路由回提示,否则该工具的 `canUseTool` 检查永远不会运行。对于必须应用于每个工具调用的逻辑,请使用 [`PreToolUse` hook](/zh-CN/agent-sdk/hooks),它在流程的其余部分之前执行,可以允许、拒绝或修改请求。

52 

53 `AskUserQuestion`、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具以及连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)即使在允许规则匹配时也会到达回调。在 `dontAsk` 模式下,这些调用会被拒绝,而不会调用回调。

52</Warning>54</Warning>

53 55 

54您还可以使用 [`PermissionRequest` hook](/zh-CN/agent-sdk/hooks#available-hooks) 在 Claude 等待批准时发送外部通知(Slack、电子邮件、推送)。56您还可以使用 [`PermissionRequest` hook](/zh-CN/agent-sdk/hooks#available-hooks) 在 Claude 等待批准时发送外部通知(Slack、电子邮件、推送)。


214| **允许** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |216| **允许** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |

215| **拒绝** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |217| **拒绝** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |

216 218 

217允许时,传递工具输入(原始或修改的)。拒绝时提供说明原因的消息。Claude 会看到此消息并可能调整其方法219允许时,工具使用 Claude 请求的输入运行除非您返回修改的输入,TypeScript 中的 `updatedInput` 或 Python 中的 `updated_input`{/* min-version: 2.1.207 */}在 v2.1.207 之前,Claude Code 拒绝了省略 `updatedInput` 的允许结果,并以验证错误拒绝了工具调用

220 

221拒绝时,提供说明原因的消息。Claude 会看到此消息并可能调整其方法。

218 222 

219<CodeGroup>223<CodeGroup>

220 ```python Python theme={null}224 ```python Python theme={null}

agent-teams.md +5 −1

Details

249 249 

250有关显示配置选项,请参阅 [选择显示模式](#choose-a-display-mode)。队友消息自动到达负责人。250有关显示配置选项,请参阅 [选择显示模式](#choose-a-display-mode)。队友消息自动到达负责人。

251 251 

252每个代理的邮箱是位于 `~/.claude/teams/{team-name}/inboxes/{agent-name}.json` 的 JSON 文件。Claude Code 在读取邮箱文件时验证每个条目。不匹配消息格式的条目被报告为错误并从文件中删除;有效的消息仍然会被传递。在 v2.1.207 之前,单个格式错误的邮箱条目会导致每秒重复出现错误,并阻止该邮箱的传递,直到你手动删除文件。

253 

252系统自动管理任务依赖关系。当队友完成其他任务依赖的任务时,被阻止的任务会自动解除阻止。254系统自动管理任务依赖关系。当队友完成其他任务依赖的任务时,被阻止的任务会自动解除阻止。

253 255 

254团队和任务存储在本地,名称来自会话派生的名称。名称是 `session-` 后跟会话 ID 的前八个字符:256团队和任务存储在本地,名称来自会话派生的名称。名称是 `session-` 后跟会话 ID 的前八个字符:


290 292 

291队友从负责人的权限设置开始。如果负责人使用 `--dangerously-skip-permissions` 运行,所有队友也会这样做。生成后,你可以更改个别队友模式,但在生成时无法设置每个队友的模式。293队友从负责人的权限设置开始。如果负责人使用 `--dangerously-skip-permissions` 运行,所有队友也会这样做。生成后,你可以更改个别队友模式,但在生成时无法设置每个队友的模式。

292 294 

293当一个代理通过 `SendMessage` 向另一个代理发送消息时,接收代理被告知它来自另一个 Claude 会话,而不是来自你。队友无法批准权限提示或代表你提供同意,被拒绝某项操作的队友无法将其转发给另一个队友以绕过检查。在 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 中,分类器将从另一个代理转发的批准声明视为不受信任的输入,而不是来自你的确认。队友权限提示会冒泡到负责人会话,所以请在那里自己批准它们。295当一个代理通过 `SendMessage` 向另一个代理发送消息时,接收代理被告知它来自另一个 Claude 会话,而不是来自你。队友无法批准权限提示或代表你提供同意,被拒绝某项操作的队友无法将其转发给另一个队友以绕过检查。在 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 中,分类器将从另一个代理转发的批准声明视为不受信任的输入,而不是来自你的确认。

296 

297队友权限提示会冒泡到负责人会话,所以请在那里自己批准它们。[Plan approval](#require-plan-approval-for-teammates) 是设计的例外:负责人会话授予队友计划批准,无需向你单独提示。

294 298 

295<h3 id="context-and-communication">299<h3 id="context-and-communication">

296 Context 和通信300 Context 和通信

agent-view.md +57 −13

Details

70 70 

71你可以使用 `claude agents` 作为你的主要入口点而不是 `claude`:从 agent view 调度每个任务,当你想要完整对话时附加,按 `←` 返回表格。71你可以使用 `claude agents` 作为你的主要入口点而不是 `claude`:从 agent view 调度每个任务,当你想要完整对话时附加,按 `←` 返回表格。

72 72 

73{/* min-version: 2.1.205 */}在常规 `claude` 会话内,提示页脚的 `←` 提示计算正在等待你的后台 agent 数量,例如 `← 2 agents`,当没有 agent 需要输入时返回 `← for agents`。超过 99 的计数显示为 `99+`。当终端获得焦点时,计数大约每十秒刷新一次,当焦点返回时立即刷新。当计数移动和 agent 完成时,它会短暂改变颜色,除非启用了[`prefersReducedMotion` 设置](/zh-CN/settings#available-settings),并且在[屏幕阅读器模式](/zh-CN/accessibility)中隐藏。在 [Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry](/zh-CN/third-party-integrations) 上,提示保持其纯 `← for agents` 形式,没有计数。需要 Claude Code v2.1.205 或更高版本。

74 

73<h2 id="monitor-sessions-with-agent-view">75<h2 id="monitor-sessions-with-agent-view">

74 使用 agent view 监控会话76 使用 agent view 监控会话

75</h2>77</h2>

76 78 

77运行 `claude agents` 打开 agent view。它接管整个终端并列出按状态分组的每个会话,固定的会话和需要你的会话在顶部。每行显示会话的名称、当前活动和上次更改的时间79运行 `claude agents` 打开 agent view。它接管整个终端并列出按状态分组的每个会话,固定的会话和需要你的会话在顶部。每行显示会话的名称、当前活动和其年龄,从会话创建时开始计算;已完成的会话的年龄冻结在运行花费的时间

78 80 

79名称用该会话中由 [`/color`](/zh-CN/commands) 设置的颜色着色。{/* min-version: 2.1.199 */}从 v2.1.199 开始,当你用 `←` 或 `/background` [后台会话](#from-inside-a-session)时,颜色会保留。81名称用该会话中由 [`/color`](/zh-CN/commands) 设置的颜色着色。{/* min-version: 2.1.199 */}从 v2.1.199 开始,当你用 `←` 或 `/background` [后台会话](#from-inside-a-session)时,颜色会保留。

80 82 


149 151 

150每行中的单行摘要由 [Haiku-class 模型](/zh-CN/model-config)生成,所以该行可以告诉你会话正在做什么、需要什么或生成了什么,无需打开记录。当会话正在积极工作时,摘要最多每 15 秒从会话自己的最近输出刷新一次,无需发送模型请求,每个回合结束时模型写入新摘要。152每行中的单行摘要由 [Haiku-class 模型](/zh-CN/model-config)生成,所以该行可以告诉你会话正在做什么、需要什么或生成了什么,无需打开记录。当会话正在积极工作时,摘要最多每 15 秒从会话自己的最近输出刷新一次,无需发送模型请求,每个回合结束时模型写入新摘要。

151 153 

152工作中的行显示会话说它正在做什么,被阻止的行显示它提出的问题。在长回合期间,模型也大约每分钟重写一次摘要,每次重写后等待时间加倍,最多四分钟,所以繁忙的行不会继续显示过时的摘要。文本在 64 列处截断;打开[窥视面板](#peek-and-reply)读取整个句子。在 v2.1.205 之前,工作中的行可能显示原始工具调用而不是报告,运行并行工作项的会话在文本之前显示 `done/total` 计数,例如 `2/5`。154工作中的行显示会话说它正在做什么,被阻止的行显示它提出的问题。在长回合期间,模型也大约每分钟重写一次摘要,每次重写后等待时间加倍,最多四分钟,所以繁忙的行不会继续显示过时的摘要。在 v2.1.205 之前,工作中的行可能显示原始工具调用而不是报告,运行并行工作项的会话在文本之前显示 `done/total` 计数,例如 `2/5`。

155 

156摘要文本填充行的剩余宽度,仅在终端的右边缘截断;打开[窥视面板](#peek-and-reply)读取边缘裁剪的句子。在 v2.1.206 之前,文本在 64 列处被切割,无论终端宽度如何。

153 157 

154当列表[按目录分组](#organize-the-list)时,摘要以会话的状态作为彩色单词开头,例如 `Needs input · double jump or wall climb?`。在默认状态分组中,组标题已经命名了状态,所以行只显示摘要。在 v2.1.205 之前,按目录分组的行不带状态单词。158当列表[按目录分组](#organize-the-list)时,摘要以会话的状态作为彩色单词开头,例如 `Needs input · double jump or wall climb?`。在默认状态分组中,组标题已经命名了状态,所以行只显示摘要。在 v2.1.205 之前,按目录分组的行不带状态单词。

155 159 


184 窥视和回复188 窥视和回复

185</h3>189</h3>

186 190 

187在选定的行上按 `Space` 打开窥视面板。它打开时显示会话的完整状态句子,该行截断它,以及它上次更改的时间,然后是链接到会话的任何拉取请求。对于等待你的会话,它提出的确切问题也出现在回复输入上方。大多数时候窥视面板就足够了你不需要打开完整的记录。191在选定的行上按 `Space` 打开窥视面板。它打开时显示行截断的句子该句子是什么取决于会话的状态:

192 

193* 等待你的会话:它提出的确切问题,在回复输入上方

194* 已完成的会话:其结果

195* 工作中的会话:其完整状态句子

196 

197任何链接到会话的拉取请求都列在下面。对于等待你的会话,下面的一行,例如 `waiting 3m` 显示它已经等待多长时间,这是面板中唯一显示的时间。行右边缘的年龄是一个不同的数字:它从会话启动时开始计算。

198 

199大多数时候窥视面板就足够了,你不需要打开完整的记录。

188 200 

189在 v2.1.205 之前,面板仅在没有其他内容显示时重复状态句子并命名运行时间最长的并行工作项201在 v2.1.207 之前,每次窥视都以状态句子和裸时间戳打开被阻止的会话的问题出现在它们下方,前缀为相同的时间戳第二次

190 202 

191在窥视面板中输入回复并按 `Enter` 将其发送到该会话。当会话提出多选问题时,窥视面板显示选项,你可以按数字键选择一个。对于其他被阻止的会话,按 `Tab` 用建议的回复填充输入,你可以在发送前编辑。用 `!` 前缀回复以发送 Bash 命令。203在窥视面板中输入回复并按 `Enter` 将其发送到该会话。当会话提出多选问题时,窥视面板显示选项,你可以按数字键选择一个。对于其他被阻止的会话,按 `Tab` 用建议的回复填充输入,你可以在发送前编辑。用 `!` 前缀回复以发送 Bash 命令。

192 204 

205无法传递的回复,因为后台服务无法访问或发送失败,会被保存并在其进程再次启动时作为其下一个提示发送到会话,错误消息说回复已保存。前缀为 `!` 的回复不会被保存,因为保存的文本会作为纯提示而不是 Bash 命令到达会话。

206 

193启用[语音听写](/zh-CN/voice-dictation)后,在回复输入获得焦点时按住或点击你的推送通话键以听写回复而不是输入。同样的功能在 agent view 底部的调度输入中也有效。207启用[语音听写](/zh-CN/voice-dictation)后,在回复输入获得焦点时按住或点击你的推送通话键以听写回复而不是输入。同样的功能在 agent view 底部的调度输入中也有效。

194 208 

195使用 `↑` 和 `↓` 窥视相邻会话而不关闭面板,或 `→` 附加。209使用 `↑` 和 `↓` 窥视相邻会话而不关闭面板,或 `→` 附加。


200 214 

201在选定的行上按 `Enter` 或 `→` 附加。Agent view 被完整的交互式会话替换。当你附加时,Claude 发布一个关于你离开时发生的事情的简短回顾。215在选定的行上按 `Enter` 或 `→` 附加。Agent view 被完整的交互式会话替换。当你附加时,Claude 发布一个关于你离开时发生的事情的简短回顾。

202 216 

203附加时,会话的行为像任何其他 Claude Code 会话:每个[命令](/zh-CN/commands)、快捷键和功能都有效。217附加时,会话的行为像任何其他 Claude Code 会话:[命令](/zh-CN/commands)、快捷键和功能都有效,除了下面的例外

218 

219后台会话拒绝 `/install-github-app` 和 [`/mcp`](/zh-CN/mcp) 设置列表,包括其身份验证操作,无论你是附加还是从窥视面板回复。消息指导你到常规 `claude` 会话,`/mcp reconnect <server>`、`/mcp enable` 和 `/mcp disable` 仍然有效。

204 220 

205附加的会话始终以[全屏模式](/zh-CN/fullscreen)呈现,无论你的 `tui` 设置如何,因为后台会话没有终端滚动历史可追加。使用 `PgUp`、`PgDn` 或鼠标滚轮滚动,按 `Ctrl+O` 进入记录模式。你的终端的原生滚动和 tmux 复制模式仅显示当前视口,与运行任何全屏应用程序时相同。221附加的会话始终以[全屏模式](/zh-CN/fullscreen)呈现,无论你的 `tui` 设置如何,因为后台会话没有终端滚动历史可追加。使用 `PgUp`、`PgDn` 或鼠标滚轮滚动,按 `Ctrl+O` 进入记录模式。你的终端的原生滚动和 tmux 复制模式仅显示当前视口,与运行任何全屏应用程序时相同。

206 222 


241 257 

242删除会从 agent view 中删除会话。如果 Claude [为会话创建了 worktree](#how-file-edits-are-isolated),删除会删除该 worktree,包括其中的任何未提交的更改,所以在删除前推送或提交你想保留的工作。你自己创建的 worktree 并在其中启动会话的会被保留。对话记录保留在你的本地机器上,并且仍然可以通过 `claude --resume` 访问。258删除会从 agent view 中删除会话。如果 Claude [为会话创建了 worktree](#how-file-edits-are-isolated),删除会删除该 worktree,包括其中的任何未提交的更改,所以在删除前推送或提交你想保留的工作。你自己创建的 worktree 并在其中启动会话的会被保留。对话记录保留在你的本地机器上,并且仍然可以通过 `claude --resume` 访问。

243 259 

260删除永远不会删除有未推送到任何地方的提交的 worktree,或另一个运行中的会话声称或已锁定的 worktree。Claude Code 保留 worktree 和会话,页脚命名保留的路径和原因。推送提交或关闭其他会话,然后再次删除。

261 

262删除也会从[监督进程](#the-supervisor-process)的会话列表中清除会话,无论你用 `Ctrl+X` 删除还是从 shell 用 [`claude rm`](#manage-sessions-from-the-shell) 删除,所以删除在监督进程重启中保持。在 v2.1.206 之前,在监督进程重启或无法访问时删除会话会将其留在该列表中,下一个监督进程重启其进程并再次显示该行。

263 

244不适合屏幕的已完成会话折叠成 `… N more` 行。失败和有打开拉取请求的会话始终保持可见。`Completed` 组填充活跃组之后剩余的垂直空间,在短终端上标题压缩为单个摘要行,以便正在工作或需要输入的会话保持可见。264不适合屏幕的已完成会话折叠成 `… N more` 行。失败和有打开拉取请求的会话始终保持可见。`Completed` 组填充活跃组之后剩余的垂直空间,在短终端上标题压缩为单个摘要行,以便正在工作或需要输入的会话保持可见。

245 265 

246<h3 id="filter-sessions">266<h3 id="filter-sessions">


293 313 

294在 agent view 底部的输入框中输入提示并按 `Enter` 启动新的后台会话。会话从提示自动命名;稍后可以用 `Ctrl+R` 重命名它。314在 agent view 底部的输入框中输入提示并按 `Enter` 启动新的后台会话。会话从提示自动命名;稍后可以用 `Ctrl+R` 重命名它。

295 315 

316会话稍后获得的名称也会出现在其行上,包括当你在该会话中 [接受计划](/zh-CN/permission-modes#review-and-approve-a-plan) 时 Claude 推导的名称。在 v2.1.207 之前,通过接受计划命名的后台会话在 `/status` 中显示该名称,但在你自己重命名之前不会在其 agent-view 行上显示。

317 

296将图像粘贴到提示中以包含任务的屏幕截图或图表。318将图像粘贴到提示中以包含任务的屏幕截图或图表。

297 319 

320粘贴的文本长度超过 800 个字符或超过两行会折叠为 `[Pasted text #N]` 占位符,以便输入保持在一行;完整文本在你调度时发送。{/* min-version: 2.1.207 */}要在调度前查看或编辑折叠的文本,再次粘贴相同的文本,占位符会展开回输入。在至少 90 列宽的终端上,粘贴后会在输入下方出现 `paste again to expand` 提醒几秒钟。在 v2.1.207 之前,再次粘贴相同的文本会添加第二个占位符而不是展开第一个。

321 

298前缀或提及提示的部分以控制会话如何启动:322前缀或提及提示的部分以控制会话如何启动:

299 323 

300| 输入 | 效果 |324| 输入 | 效果 |


445 469 

446当 hook 在不是 git 存储库的目录中失败时,会话跳过该目录的隔离并就地编辑工作目录。在 git 存储库内,写入保持被阻止,直到会话隔离。在 v2.1.203 之前,处于该状态的后台会话无法编辑任何文件:每次写入都被拒绝,直到它隔离,hook 永远无法隔离该目录。470当 hook 在不是 git 存储库的目录中失败时,会话跳过该目录的隔离并就地编辑工作目录。在 git 存储库内,写入保持被阻止,直到会话隔离。在 v2.1.203 之前,处于该状态的后台会话无法编辑任何文件:每次写入都被拒绝,直到它隔离,hook 永远无法隔离该目录。

447 471 

448在 agent view 中删除会话(`Ctrl+X` 两次)会删除 Claude 为其创建的 worktree,包括任何未提交的更改,所以在删除前合并或推送你想保留的更改。从 shell 用 [`claude rm`](#manage-sessions-from-the-shell) 删除会保持有未提交更改的 worktree 并打印其路径,以便你可以自己清理它。你自己创建的 worktree 并在其中启动会话的,无论哪种方式都会保留在原地。472删除会话会删除或保留 Claude 为其创建的 worktree,取决于你如何删除它以及 worktree 包含的内容:

473 

474* 在 agent view 中用 `Ctrl+X` 两次删除会删除 worktree,包括任何未提交的更改,所以先提交你想保留的更改。

475* 从 shell 用 [`claude rm`](#manage-sessions-from-the-shell) 删除会保留有未提交更改的 worktree,以及其会话行。

476* 两种方式都不会删除有未推送到任何地方的提交的 worktree:worktree 会 [与其会话一起保留](#organize-the-list),输出会命名保留的路径和原因。

477* 你自己创建的 worktree 并在其中启动会话的,无论哪种方式都会保留在原地。

449 478 

450要找到会话的 worktree 路径,查看会话或附加并检查其工作目录。479要找到会话的 worktree 路径,查看会话或附加并检查其工作目录。

451 480 


475每个后台会话可以在不同的模型上运行。要为一个会话覆盖它:504每个后台会话可以在不同的模型上运行。要为一个会话覆盖它:

476 505 

477* 从 shell,用 `claude --bg` 传递 `--model`。506* 从 shell,用 `claude --bg` 传递 `--model`。

478* 附加到运行中的会话打开 `/model`,并在模型上按 `s` 以仅为该会话切换。如果会话被重新生成,更改会持续507* 附加到运行中的会话并运行 `/model` 以切换:从选择器中选择或输入 `/model <name>`,保存为你的新会话默认值,除非你在选择器中按 `s` 进行仅会话切换。如果会话被重新生成,仅会话切换会持续

479* 调度一个 [subagent](/zh-CN/sub-agents),其 frontmatter 设置 `model` 字段。508* 调度一个 [subagent](/zh-CN/sub-agents),其 frontmatter 设置 `model` 字段。

480 509 

481<h3 id="permission-mode-model-and-effort">510<h3 id="permission-mode-model-and-effort">


484 513 

485后台会话从它运行的目录读取其 [settings](/zh-CN/settings),就像你在那里启动了 `claude` 一样。这包括项目设置中的 [`env` 值](/zh-CN/settings#available-settings),所以在那里设置的 `ANTHROPIC_MODEL` 或提供商变量适用于该目录中的后台会话。514后台会话从它运行的目录读取其 [settings](/zh-CN/settings),就像你在那里启动了 `claude` 一样。这包括项目设置中的 [`env` 值](/zh-CN/settings#available-settings),所以在那里设置的 `ANTHROPIC_MODEL` 或提供商变量适用于该目录中的后台会话。

486 515 

487云提供商选择,如 `CLAUDE_CODE_USE_BEDROCK` 或 `CLAUDE_CODE_USE_VERTEX`,以及 `ANTHROPIC_DEFAULT_*_MODEL` 别名遵循调度会话的 shell。网关 `ANTHROPIC_BASE_URL` 导出到该 shell 中会跟随它,以及 `ANTHROPIC_CUSTOM_HEADERS`,当监督者使用相同的网关环境运行且会话在你调度的目录中运行或是你自己的会话用 `←` 或 `/background` 后台化时。这是第一个 shell 打开 agent view 或调度后台会话时的正常情况,是网关 shell。用 `@repo` 或 `--cwd` 调度到不同目录不会携带 shell 的网关;该项目的 [settings](/zh-CN/settings) 提供端点参见 [监督者进程](#the-supervisor-process) 了解后台会话如何获取提供商设置和凭证516云提供商选择,如 `CLAUDE_CODE_USE_BEDROCK` 或 `CLAUDE_CODE_USE_VERTEX`,以及 `ANTHROPIC_DEFAULT_*_MODEL` 别名遵循调度会话的 shell。{/* min-version: 2.1.206 */}如果你在该 shell 中导出 [`CLAUDE_CODE_EXTRA_BODY`](/zh-CN/env-vars) 请求体覆盖,它会以相同的方式到达会话 v2.1.206 之前,后台工作进程忽略了 shell 导出的 `CLAUDE_CODE_EXTRA_BODY`

517 

518如果你在调度 shell 中导出网关 `ANTHROPIC_BASE_URL`,它也会到达会话,以及 `ANTHROPIC_CUSTOM_HEADERS`,当监督者使用相同的网关环境运行且会话在你调度的目录中运行或是你自己的会话用 `←` 或 `/background` 后台化时。这是第一个 shell 打开 agent view 或调度后台会话时的正常情况,是网关 shell。用 `@repo` 或 `--cwd` 调度到不同目录不会携带 shell 的网关;该项目的 [settings](/zh-CN/settings) 提供端点。参见 [监督者进程](#the-supervisor-process) 了解后台会话如何获取提供商设置和凭证。

488 519 

489[permission mode](/zh-CN/permissions) 取决于你如何启动会话。用 `/bg` 或 `←` 后台化现有会话会保持当前权限模式,所以你切换到 `acceptEdits` 或 `auto` 的会话在分离后仍保持该模式。从 agent view 输入调度或从你的 shell 运行 `claude --bg` 使用该目录设置中的 `defaultMode`,或调度的 [subagent 的 frontmatter](/zh-CN/sub-agents#supported-frontmatter-fields) 中的 `permissionMode`。520[permission mode](/zh-CN/permissions) 取决于你如何启动会话。用 `/bg` 或 `←` 后台化现有会话会保持当前权限模式,所以你切换到 `acceptEdits` 或 `auto` 的会话在分离后仍保持该模式。从 agent view 输入调度或从你的 shell 运行 `claude --bg` 使用该目录设置中的 `defaultMode`,或调度的 [subagent 的 frontmatter](/zh-CN/sub-agents#supported-frontmatter-fields) 中的 `permissionMode`。

490 521 


548| `claude stop <id>` | 停止会话。也接受 `claude kill` |579| `claude stop <id>` | 停止会话。也接受 `claude kill` |

549| `claude respawn <id>` | 重新启动会话,运行中或已停止,保持其对话完整,例如用于获取更新的 Claude Code 二进制文件 |580| `claude respawn <id>` | 重新启动会话,运行中或已停止,保持其对话完整,例如用于获取更新的 Claude Code 二进制文件 |

550| `claude respawn --all` | 重新启动每个运行中的会话,例如一次性将所有会话移至更新的 Claude Code 二进制文件 |581| `claude respawn --all` | 重新启动每个运行中的会话,例如一次性将所有会话移至更新的 Claude Code 二进制文件 |

551| `claude rm <id>` | 从列表中删除会话。如果没有未提交的更改,会删除 Claude 为会话创建的 worktree;否则打印 worktree 路径以便你清理。保留你自己创建的 worktree。对话记录保存在你的本地机器上,并且仍然可以通过 `claude --resume` 访问 |582| `claude rm <id>` | 从列表中删除会话。如果没有未提交的更改和没有未推送的提交,会删除 Claude 为会话创建的 worktree;否则会话也会被保留,命令会打印 worktree 路径和原因,以便你可以解决它并再次运行 `claude rm`。保留你自己创建的 worktree。对话记录保存在你的本地机器上,并且仍然可以通过 `claude --resume` 访问 |

552| `claude daemon status` | 打印 [supervisor](#the-supervisor-process) 的状态、版本、socket 目录和 worker 数量 |583| `claude daemon status` | 打印 [supervisor](#the-supervisor-process) 的状态、版本、socket 目录和 worker 数量 |

553| `claude daemon stop --any` | 停止 supervisor 进程及其托管的后台会话。传递 `--keep-workers` 以保持后台会话运行,以便下一个 supervisor 重新连接到它们。下一个 `claude agents` 或 `claude --bg` 启动一个新的 supervisor |584| `claude daemon stop --any` | 停止 supervisor 进程及其托管的后台会话。传递 `--keep-workers` 以保持后台会话运行,以便下一个 supervisor 重新连接到它们。下一个 `claude agents` 或 `claude --bg` 启动一个新的 supervisor |

554 585 


564 595 

565后台会话由每用户监督进程托管,与你的终端和 agent view 分离。监督进程在你第一次后台会话或打开 agent view 时自动启动,你不直接管理它。596后台会话由每用户监督进程托管,与你的终端和 agent view 分离。监督进程在你第一次后台会话或打开 agent view 时自动启动,你不直接管理它。

566 597 

598当更新替换或移除了运行中的 Claude Code 进程启动时所用的二进制文件时,该进程会从另一个已安装的副本(如已安装的 `claude` 启动器或磁盘上的最新版本)启动监督进程。

599 

567监督进程保持一个预热的工作进程就绪,以便从 agent view 或 `claude --bg` 的调度启动时不会有冷启动的延迟。当你调度时,监督进程将预热的工作进程分配给你的会话,将该会话的目录、设置和凭证应用到它,然后为下一次调度启动一个替代进程。如果没有可用的健康预热工作进程,监督进程会改为启动一个新进程。600监督进程保持一个预热的工作进程就绪,以便从 agent view 或 `claude --bg` 的调度启动时不会有冷启动的延迟。当你调度时,监督进程将预热的工作进程分配给你的会话,将该会话的目录、设置和凭证应用到它,然后为下一次调度启动一个替代进程。如果没有可用的健康预热工作进程,监督进程会改为启动一个新进程。

568 601 

569监督进程及其会话使用与你的交互式会话相同的凭证进行身份验证,并且除了模型 API 外不进行额外的网络连接。提供商选择变量如 `CLAUDE_CODE_USE_BEDROCK` 和 `ANTHROPIC_DEFAULT_*_MODEL` 别名从调度每个会话的 shell 中读取,并应用到其工作进程。602监督进程及其会话使用与你的交互式会话相同的凭证进行身份验证,并且除了模型 API 外不进行额外的网络连接。提供商选择变量如 `CLAUDE_CODE_USE_BEDROCK` 和 `ANTHROPIC_DEFAULT_*_MODEL` 别名从调度每个会话的 shell 中读取,并应用到其工作进程。


572 605 

573后台会话不继承网关端点变量如 `ANTHROPIC_BASE_URL` 或等效的 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 基础 URL 变量,这些变量来自启动监督进程的 shell。如果没有在你调度的 shell 中导出网关,会话会使用你的存储凭证和项目目录的[设置](/zh-CN/settings)中 `env` 块中的任何 `env` 值。要在项目中指向[LLM 网关](/zh-CN/llm-gateway)的每个会话,在该项目的 `.claude/settings.json` `env` 块中设置 `ANTHROPIC_BASE_URL`。606后台会话不继承网关端点变量如 `ANTHROPIC_BASE_URL` 或等效的 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 基础 URL 变量,这些变量来自启动监督进程的 shell。如果没有在你调度的 shell 中导出网关,会话会使用你的存储凭证和项目目录的[设置](/zh-CN/settings)中 `env` 块中的任何 `env` 值。要在项目中指向[LLM 网关](/zh-CN/llm-gateway)的每个会话,在该项目的 `.claude/settings.json` `env` 块中设置 `ANTHROPIC_BASE_URL`。

574 607 

575{/* min-version: 2.1.203 */}在你调度的 shell 中导出的网关 `ANTHROPIC_BASE_URL` 会到达该会话的工作进程连同 `ANTHROPIC_CUSTOM_HEADERS` 和与它们一起导出的凭证,当监督进程从具有相同网关的环境启动时。监督进程从打开 agent view 或调度后台会话的第一个 shell 中捕获其环境,因此从网关 shell 启动会给它该环境。转发也仅适用于调度到你调度的目录中的会话,或从你自己的会话用 `←` 或 `/background` 后台化的会话:用 `@repo` 或 `--cwd` 调度到不同目录不会携带 shell 的网关,该项目的 `settings.json` `env` 块会改为提供端点。当监督进程的环境携带不同的网关或没有网关时,工作进程会针对默认端点保持你的存储凭证,而不是混合一个环境的凭证与另一个环境的端点。在 v2.1.203 之前,调度 shell 的 `ANTHROPIC_BASE_URL` 被丢弃,而与它一起导出的 `ANTHROPIC_API_KEY` 被保留,因此网关的密钥被发送到默认端点,每个请求都以 401 失败。608{/* min-version: 2.1.203 */}如果你在调度的 shell 中导出网关 `ANTHROPIC_BASE_URL`,它会到达该会话的工作进程。`ANTHROPIC_CUSTOM_HEADERS` 和与它们一起导出的凭证会随之转发这发生在监督进程从具有相同网关的环境启动时。监督进程从打开 agent view 或调度后台会话的第一个 shell 中捕获其环境,因此从网关 shell 启动会给它该环境。转发也仅适用于调度到你调度的目录中的会话,或从你自己的会话用 `←` 或 `/background` 后台化的会话:用 `@repo` 或 `--cwd` 调度到不同目录不会携带 shell 的网关,该项目的 `settings.json` `env` 块会改为提供端点。当监督进程的环境携带不同的网关或没有网关时,工作进程会针对默认端点保持你的存储凭证,而不是混合一个环境的凭证与另一个环境的端点。在 v2.1.203 之前,调度 shell 的 `ANTHROPIC_BASE_URL` 被丢弃,而与它一起导出的 `ANTHROPIC_API_KEY` 被保留,因此网关的密钥被发送到默认端点,每个请求都以 401 失败。

576 609 

577转发的端点仅适用于该活跃进程,永远不会写入磁盘。当监督进程停止空闲会话并稍后重新启动它时,重新启动的进程会从你的设置中再次读取其端点:使用网关 `ANTHROPIC_AUTH_TOKEN` 它会回退到你的存储凭证,使用网关颁发的 `ANTHROPIC_API_KEY` 它可能会失败进行身份验证,直到网关在设置中设置。610转发的端点仅适用于该活跃进程,永远不会写入磁盘。当监督进程停止空闲会话并稍后重新启动它时,重新启动的进程会从你的设置中再次读取其端点:使用网关 `ANTHROPIC_AUTH_TOKEN` 它会回退到你的存储凭证,使用网关颁发的 `ANTHROPIC_API_KEY` 它可能会失败进行身份验证,直到网关在设置中设置。

578 611 


592 625 

593删除会话会停止它交付的所有内容。要让会话的所有后台工作随进程停止而不是被交付,将 [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/zh-CN/env-vars#variables) 环境变量设置为 `1`。626删除会话会停止它交付的所有内容。要让会话的所有后台工作随进程停止而不是被交付,将 [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/zh-CN/env-vars#variables) 环境变量设置为 `1`。

594 627 

628重新启动的进程会找到[移入 worktree](#how-file-edits-are-isolated) 的会话的对话,该会话在任务中途移动:当记录不在会话启动的位置时,Claude Code 也会在存储库的已注册 worktree 下查找。在 v2.1.207 之前,在其进程停止后从 agent view 重新打开该会话可能会显示仅包含其原始提示的空对话,记录仍完整地保留在磁盘上;在 v2.1.207 或更高版本上再次打开会话会恢复它。

629 

595如果重新启动的会话回来时仅显示其原始提示,因为 Claude Code 误读了其记录为空,对话记录会被重命名为 `.orphaned-` 后缀而不是删除,所以它保留在你的机器上。630如果重新启动的会话回来时仅显示其原始提示,因为 Claude Code 误读了其记录为空,对话记录会被重命名为 `.orphaned-` 后缀而不是删除,所以它保留在你的机器上。

596 631 

597从按 `←` 留下的空行从未给出提示符会在大约五分钟后被完全删除,以便列表自动清理。使用 `claude --bg` 启动的会话和等待设置提示符(如信任对话)的会话不会以这种方式被删除。632从按 `←` 留下的空行从未给出提示符会在大约五分钟后被完全删除,以便列表自动清理。使用 `claude --bg` 启动的会话和等待设置提示符(如信任对话)的会话不会以这种方式被删除。


600 635 

601监督进程监视磁盘上安装的 Claude Code 二进制文件,在常规[自动更新程序](/zh-CN/setup#auto-updates)替换它后重新启动到新版本。这是本地文件监视,不是网络检查。后台会话是分离的进程,所以它们在重新启动期间继续运行,新的监督进程重新连接到它们。空闲的固定会话也会在原地重新启动到新版本,以便它获取更新而无需你重新附加。636监督进程监视磁盘上安装的 Claude Code 二进制文件,在常规[自动更新程序](/zh-CN/setup#auto-updates)替换它后重新启动到新版本。这是本地文件监视,不是网络检查。后台会话是分离的进程,所以它们在重新启动期间继续运行,新的监督进程重新连接到它们。空闲的固定会话也会在原地重新启动到新版本,以便它获取更新而无需你重新附加。

602 637 

638一旦新的监督进程接管,它也会将剩余的空闲会话重新启动到新版本,在后台一次几个,在短暂延迟后,让在重新启动期间连接的终端首先重新连接。积极工作、等待你的输入或有终端连接的会话不会被中断;它在其进程下次重新启动时移动到新版本。在 v2.1.206 之前,监督进程每分钟仅将几个空闲会话移动到新版本,因此会话可能在更新后继续运行旧版本一段时间。

639 

640这些重新启动仅将会话移动到较新版本。运行比会话进程启动时所用版本更旧的 Claude Code 版本的监督进程会单独保留该进程;会话继续运行较新版本,直到较新的监督进程接管。

641 

603在监督进程重新启动会话时运行 `claude attach`,无论是为了更新、停滞还是迁移,会等待替换进程而不是失败。状态行如 `Agent is updating to the new Claude Code…` 会命名它正在等待的内容并计算经过的秒数,命令在会话准备好后立即连接。大约 60 秒后它停止等待并报告错误。在 v2.1.205 之前,`claude attach` 在几秒后停止重试并在会话仍在重新启动时打印错误。642在监督进程重新启动会话时运行 `claude attach`,无论是为了更新、停滞还是迁移,会等待替换进程而不是失败。状态行如 `Agent is updating to the new Claude Code…` 会命名它正在等待的内容并计算经过的秒数,命令在会话准备好后立即连接。大约 60 秒后它停止等待并报告错误。在 v2.1.205 之前,`claude attach` 在几秒后停止重试并在会话仍在重新启动时打印错误。

604 643 

605<h3 id="where-state-is-stored">644<h3 id="where-state-is-stored">


737 776 

738一旦会话完成并未连接地坐了大约一小时,监督进程停止其进程以释放资源。附加启动一个从中断处的新进程并立即切换到会话,而进程重新启动。工作或等待你的会话,或[固定](#organize-the-list)的会话永远不会以这种方式停止,所以用 `Ctrl+T` 固定一个会话来保持它的响应性。777一旦会话完成并未连接地坐了大约一小时,监督进程停止其进程以释放资源。附加启动一个从中断处的新进程并立即切换到会话,而进程重新启动。工作或等待你的会话,或[固定](#organize-the-list)的会话永远不会以这种方式停止,所以用 `Ctrl+T` 固定一个会话来保持它的响应性。

739 778 

779当进程启动时,会话记录的最后一屏会显示,下面有一个 `Session is starting` 注记,当会话准备好时,实时会话会立即替换它。

780 

740<h3 id="claude/worktrees/-is-filling-up">781<h3 id="claude/worktrees/-is-filling-up">

741 `.claude/worktrees/` 填满了782 `.claude/worktrees/` 填满了

742</h3>783</h3>

743 784 

744在 agent view 中删除会话会删除 Claude 为其创建的 worktree。`claude rm` 保留具有未提交更改的 worktree 并打印其路径。在项目目录中用 `git worktree list` 列出剩余条目,并用 `git worktree remove <path>` 删除每个。参见[清理 worktrees](/zh-CN/worktrees#clean-up-worktrees)。785在 agent view 中删除会话会删除 Claude 为其创建的 worktree,无法安全删除的 worktree [保持其会话行](#organize-the-list),这样它就不会被孤立。`claude rm` 保留具有未提交更改的 worktree 及其会话行,并打印保留的路径。在项目目录中用 `git worktree list` 列出剩余条目,并用 `git worktree remove <path>` 删除每个。参见[清理 worktrees](/zh-CN/worktrees#clean-up-worktrees)。

745 786 

746<h2 id="limitations">787<h2 id="limitations">

747 限制788 限制


751 792 

752* **速率限制适用**:后台会话消耗你的订阅使用量,与交互式会话相同,因此并行运行十个代理的配额消耗速度大约是运行一个代理的十倍。793* **速率限制适用**:后台会话消耗你的订阅使用量,与交互式会话相同,因此并行运行十个代理的配额消耗速度大约是运行一个代理的十倍。

753* **会话是本地的**:后台会话在你的机器上运行。它们在机器睡眠时保留,但在机器关闭时停止。794* **会话是本地的**:后台会话在你的机器上运行。它们在机器睡眠时保留,但在机器关闭时停止。

754* **Claude 创建的 worktrees 在 agent view 中随会话删除**:在删除在其自己的 worktree 中编辑文件的会话之前,请合并或推送更改。`claude rm` 保留具有未提交更改的 worktree;你自己创建的 worktree 保持原位。795* **Claude 创建的 worktrees 在 agent view 中随会话删除**:在删除在其自己的 worktree 中编辑文件的会话之前,请提交更改具有未推送任何地方的提交的 worktree 与会话一起保留。`claude rm` 也会将具有未提交更改的 worktree 与其会话一起保留,而你自己创建的 worktree 保持原位。

755 796 

756<h2 id="related-resources">797<h2 id="related-resources">

757 相关资源798 相关资源


770Agent view 在研究预览期间发展迅速。如果你使用较旧的 Claude Code 版本,本页上的某些行为可能会有所不同;特别是,`claude agents` 拒绝它尚不支持的标志,出现 `unknown option` 错误。下表列出了何时添加每个标志和行为。811Agent view 在研究预览期间发展迅速。如果你使用较旧的 Claude Code 版本,本页上的某些行为可能会有所不同;特别是,`claude agents` 拒绝它尚不支持的标志,出现 `unknown option` 错误。下表列出了何时添加每个标志和行为。

771 812 

772| 版本 | 更改 |813| 版本 | 更改 |

773| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |814| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

815| v2.1.208 | {/* min-version: 2.1.208 */}附加到一个进程已停止的会话会显示其记录的最后一屏,而进程启动,而不是仅显示 `Session is starting` 注记。无法传递的回复(因为后台服务无法访问或发送失败)会被保存,并在会话的进程再次启动时作为会话的下一个提示发送;在此版本之前,后台服务无法访问时丢失的回复会被丢弃。其自身二进制文件被更新替换的进程仍然可以从已安装的 `claude` 启动器或磁盘上的最新版本启动监督进程,而不是在 Claude Code 重新启动之前失败。运行较旧版本的监督进程永远不会将由较新版本启动的空闲会话重新启动到其自身的较旧二进制文件上。删除会话会删除其 worktree,即使会话将 worktree 移到了不同的分支,并在 worktree 有未推送到任何地方的提交或另一个会话声称它时将 worktree 与会话行保持在一起,而不是销毁提交或孤立 worktree。`/install-github-app` 和 `/mcp` 设置列表及其身份验证操作在后台会话中被拒绝,并显示替代方案的消息;仅在 v2.1.208 中,`/model` 选择器以相同方式被拒绝,键入的 `/model <name>` 仅切换该会话,而不是也保存你的默认模型。 |

816| v2.1.207 | {/* min-version: 2.1.207 */}窥视面板以行截断的句子打开,例如等待你的会话的确切问题,并显示被阻止的会话已等待多长时间作为单个 `waiting 3m` 行,而不是将相同的时间戳前缀添加到状态句子和问题。在调度输入中再次粘贴相同的文本会展开折叠的 `[Pasted text #N]` 占位符,而不是添加第二个。按名称接受计划的后台会话在其行上显示该名称。移入 worktree 的后台会话在其进程从 agent view 重新启动时保持其对话。 |

817| v2.1.206 | {/* min-version: 2.1.206 */}行摘要填充行的剩余宽度,仅在终端的右边缘截断,而不是在 64 列处。监督进程重新启动到新的 Claude Code 版本后,它在后台将剩余的空闲后台会话重新启动到该版本,而不是每分钟几个。使用 `Ctrl+X` 或 `claude rm` 删除会话也会将其从监督进程的会话列表中清除,因此行在监督进程重新启动后不再重新出现。 |

774| v2.1.205 | {/* min-version: 2.1.205 */}行摘要显示会话自己的单行报告,在 64 列处截断,而不是原始工具调用或 `done/total` 计数;按目录分组的行以彩色状态词打开。窥视面板以完整状态句子打开,对于等待你的会话,其精确问题显示在回复输入上方。编辑、评论、关闭或使用 `gh` 标记拉取请求为就绪的会话与其关联,不仅仅是创建或检出拉取请求的会话,推送即使本地分支名称不匹配也会关联拉取请求,创建命令的输出超过内联限制的拉取请求也会关联。没有可读文本的转向保持会话的前一个状态,而不是将其翻转回 `Working`。`claude attach` 等待重新启动的会话长达约 60 秒,带有命名原因的状态行,而不是失败。 |818| v2.1.205 | {/* min-version: 2.1.205 */}行摘要显示会话自己的单行报告,在 64 列处截断,而不是原始工具调用或 `done/total` 计数;按目录分组的行以彩色状态词打开。窥视面板以完整状态句子打开,对于等待你的会话,其精确问题显示在回复输入上方。编辑、评论、关闭或使用 `gh` 标记拉取请求为就绪的会话与其关联,不仅仅是创建或检出拉取请求的会话,推送即使本地分支名称不匹配也会关联拉取请求,创建命令的输出超过内联限制的拉取请求也会关联。没有可读文本的转向保持会话的前一个状态,而不是将其翻转回 `Working`。`claude attach` 等待重新启动的会话长达约 60 秒,带有命名原因的状态行,而不是失败。 |

775| v2.1.203 | {/* min-version: 2.1.203 */}在调度 shell 中导出的网关 `ANTHROPIC_BASE_URL` 当监督进程共享该网关环境时,会到达从它调度的会话进入同一目录,而不是在保留随之导出的 API 密钥时被丢弃。调度 shell 的 `PATH` 应用于每个会话的工作进程。在子代理运行时按 `←` 会等待它们,而不是在十秒后重新启动它们。空列表始终显示部分标题及其下方的描述。在调度输入中键入 `@` 也会列出启动存储库内其目录树中的已注册 git worktrees。从 `effortLevel` 设置继承的工作量在该设置的后续编辑后跟随,而不是在调度时固定。打开一个已停止的会话(其对话已在另一个运行中的会话中打开)会被拒绝并显示消息,而不是导致行失败。在 agent view 中不可用的命令会在输入中保留已键入的文本。在 git 存储库外失败的 `WorktreeCreate` hook 不再阻止会话编辑文件。 |819| v2.1.203 | {/* min-version: 2.1.203 */}在调度 shell 中导出的网关 `ANTHROPIC_BASE_URL` 当监督进程共享该网关环境时,会到达从它调度的会话进入同一目录,而不是在保留随之导出的 API 密钥时被丢弃。调度 shell 的 `PATH` 应用于每个会话的工作进程。在子代理运行时按 `←` 会等待它们,而不是在十秒后重新启动它们。空列表始终显示部分标题及其下方的描述。在调度输入中键入 `@` 也会列出启动存储库内其目录树中的已注册 git worktrees。从 `effortLevel` 设置继承的工作量在该设置的后续编辑后跟随,而不是在调度时固定。打开一个已停止的会话(其对话已在另一个运行中的会话中打开)会被拒绝并显示消息,而不是导致行失败。在 agent view 中不可用的命令会在输入中保留已键入的文本。在 git 存储库外失败的 `WorktreeCreate` hook 不再阻止会话编辑文件。 |

776| v2.1.202 | {/* min-version: 2.1.202 */}使用 `/rename` 或 `Ctrl+R` 在后台会话上设置的名称在监督进程停止并重新启动时保持不变,而不是恢复为会话调度时的名称。 |820| v2.1.202 | {/* min-version: 2.1.202 */}使用 `/rename` 或 `Ctrl+R` 在后台会话上设置的名称在监督进程停止并重新启动时保持不变,而不是恢复为会话调度时的名称。 |

agents.md +1 −1

Details

54 54 

55* 对于后台会话,`claude agents` 打开 [代理视图](/zh-CN/agent-view):一个屏幕显示每个会话、其状态以及哪些需要您的输入。55* 对于后台会话,`claude agents` 打开 [代理视图](/zh-CN/agent-view):一个屏幕显示每个会话、其状态以及哪些需要您的输入。

56* 对于当前会话中的子代理,命名的后台子代理出现在 @-mention 类型提前中,显示其状态。{/* min-version: 2.1.198 */}从 v2.1.198 开始,`/agents` 不再打开面板;它打印一个通知,指向子代理文件位置。要 [创建和编辑自定义子代理](/zh-CN/sub-agents#configure-subagents),请询问 Claude 或直接编辑文件。尽管名称相似,`/agents` 与 `claude agents` 是分开的。56* 对于当前会话中的子代理,命名的后台子代理出现在 @-mention 类型提前中,显示其状态。{/* min-version: 2.1.198 */}从 v2.1.198 开始,`/agents` 不再打开面板;它打印一个通知,指向子代理文件位置。要 [创建和编辑自定义子代理](/zh-CN/sub-agents#configure-subagents),请询问 Claude 或直接编辑文件。尽管名称相似,`/agents` 与 `claude agents` 是分开的。

57* 对于当前会话后台运行的任何内容,`/tasks` 列出每个项目,让您检查、附加到或停止它。57* 对于当前会话后台运行的任何内容,`/tasks` 列出每个项目,让您检查、附加到或停止它。该列表还包括已完成的子代理。

58* 对于动态工作流,`/workflows` 列出运行和已完成的运行、每个运行所处的阶段以及有多少代理已完成。58* 对于动态工作流,`/workflows` 列出运行和已完成的运行、每个运行所处的阶段以及有多少代理已完成。

59 59 

60有关所有会话的桌面视图,请参阅 [桌面应用中的并行会话](/zh-CN/desktop#work-in-parallel-with-sessions)。60有关所有会话的桌面视图,请参阅 [桌面应用中的并行会话](/zh-CN/desktop#work-in-parallel-with-sessions)。

Details

111 </Step>111 </Step>

112</Steps>112</Steps>

113 113 

114登录后,随时运行 `/setup-bedrock` 重新打开向导并更改您的凭证、区域或模型固定。114登录后,随时运行 `/setup-bedrock` 重新打开向导并更改您的凭证、区域或模型固定。模型固定步骤从您当前固定的模型开始。向导写入 `~/.claude/settings.json`,或在设置了 [`CLAUDE_CONFIG_DIR`](/zh-CN/env-vars#variables) 时写入 `$CLAUDE_CONFIG_DIR/settings.json`。

115 115 

116<h2 id="set-up-manually">116<h2 id="set-up-manually">

117 手动设置117 手动设置


154 154 

155**选项 C:环境变量(SSO 配置文件)**155**选项 C:环境变量(SSO 配置文件)**

156 156 

157将 `your-profile-name` 替换为您的 AWS 配置文件的名称,然后运行这些命令。

158 

157```bash theme={null}159```bash theme={null}

158aws sso login --profile=<your-profile-name>160aws sso login --profile=your-profile-name

159 161 

160export AWS_PROFILE=your-profile-name162export AWS_PROFILE=your-profile-name

161```163```

162 164 

165Claude Code 从 IAM Identity Center 区域请求角色凭证,该区域由配置文件的 `sso_region` 命名,不需要与您运行 Amazon Bedrock 的区域匹配。{/* min-version: 2.1.208 */}在 v2.1.207 中,Amazon Bedrock 区域覆盖了 `sso_region`,因此其 IAM Identity Center 实例在不同区域的配置文件无法使用 `Session token not found or invalid` 错误进行身份验证。

166 

163**选项 D:AWS 管理控制台凭证**167**选项 D:AWS 管理控制台凭证**

164 168 

165```bash theme={null}169```bash theme={null}


176 180 

177Amazon Bedrock API 密钥提供了一种更简单的身份验证方法,无需完整的 AWS 凭证。[了解更多关于 Amazon Bedrock API 密钥](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)。181Amazon Bedrock API 密钥提供了一种更简单的身份验证方法,无需完整的 AWS 凭证。[了解更多关于 Amazon Bedrock API 密钥](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)。

178 182 

183<h4 id="credential-caching-and-resolution-timeout">

184 凭证缓存和解析超时

185</h4>

186 

187Claude Code 解析 AWS 默认凭证提供商链一次,并将解析的凭证保存在内存中。它重复使用它们,直到它们过期前五分钟,或在没有过期时间时使用一小时,因此 SSO 支持的配置文件大约每个凭证生命周期从 IAM Identity Center 请求一次凭证。来自 API 的凭证错误会清除缓存,重试会解析新的凭证。

188 

189在 v2.1.207 之前,Claude Code 在每个 API 请求时解析链,因此 SSO 支持的配置文件每次都从 IAM Identity Center 请求新凭证,在大型部署中可能会被限流。

190 

191缓存涵盖上面的每个凭证选项,除了 Amazon Bedrock API 密钥,它不使用提供商链。要改为在每个请求时解析链,请设置 [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/zh-CN/env-vars)。

192 

193链的每次解析在 60 秒后超时。如果链中的一个步骤停滞,例如等待无法接收的输入的 `credential_process` 帮助程序,请求会失败,显示 [`AWS default-chain credential resolve timed out`](/zh-CN/errors#aws-default-chain-credential-resolve-timed-out)。如果您的链运行合法需要更长时间的交互式登录,例如通过 `aws-vault` 等包装器进行基于浏览器的 SSO 和 MFA,请使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/zh-CN/env-vars) 以毫秒为单位提高限制。在 v2.1.207 之前,停滞的凭证解析会使请求无限期等待。

194 

179<h4 id="advanced-credential-configuration">195<h4 id="advanced-credential-configuration">

180 高级凭证配置196 高级凭证配置

181</h4>197</h4>


223 239 

224`Expiration` 是可选的。{/* min-version: 2.1.176 */}从 Claude Code v2.1.176 开始,当命令返回有效的 ISO 8601 `Expiration` 时,Claude Code 会缓存凭证直到该时间前五分钟。没有它,或在更早的版本上,凭证被缓存一小时。240`Expiration` 是可选的。{/* min-version: 2.1.176 */}从 Claude Code v2.1.176 开始,当命令返回有效的 ISO 8601 `Expiration` 时,Claude Code 会缓存凭证直到该时间前五分钟。没有它,或在更早的版本上,凭证被缓存一小时。

225 241 

242当您配置 `awsCredentialExport` 而不配置 `awsAuthRefresh` 时,Claude Code 直接使用导出的凭证,不在启动时重新解析 AWS 默认凭证提供商链。在 v2.1.206 之前,启动也会重新解析默认提供商链,这会在您的代理配置之外进行实时 SSO 或 STS 调用,并可能在具有受限出口的网络上阻止第一个提示数分钟。

243 

226<h3 id="3-configure-claude-code">244<h3 id="3-configure-claude-code">

227 3. 配置 Claude Code245 3. 配置 Claude Code

228</h3>246</h3>


262</h3>280</h3>

263 281 

264<Warning>282<Warning>

265 在部署到多个用户时固定特定的模型版本。如果不固定,模型别名(如 `sonnet` 和 `opus`)会解析为 Claude Code 为 Amazon Bedrock 内置的默认值,这可能滞后于最新版本,并且可能在您的账户中还不可用。Claude Code 在启动时会[回退](#startup-model-checks)到上一个版本(如果默认版本不可用),但固定让您可以控制用户何时迁移到新模型。283 在部署到多个用户时固定特定的模型版本。如果不固定,模型别名(如 `sonnet` 和 `opus`)会解析为 Claude Code 为 Amazon Bedrock 内置的默认值,这可能滞后于最新版本,并且可能在您的账户中还不可用。Claude Code 在启动时会[回退](#startup-model-checks)到上一个版本或更低级别的模型(如果默认版本不可用),但固定让您可以控制用户何时迁移到新模型。

266</Warning>284</Warning>

267 285 

268将这些环境变量设置为特定的 Amazon Bedrock 模型 ID。286将这些环境变量设置为特定的 Amazon Bedrock 模型 ID。

269 287 

270如果没有这些变量,Amazon Bedrock 上的 `opus` 别名会解析为 Opus 4.8,`sonnet` 别名会解析为 Sonnet 4.5。将每个变量设置为特定版本以固定其别名288如果没有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,Amazon Bedrock 上的 `opus` 别名会解析为 Opus 4.8,如果没有 `ANTHROPIC_DEFAULT_SONNET_MODEL`,`sonnet` 别名会解析为 Sonnet 4.5。此示例将每个别名固定到特定版本

271 289 

272```bash theme={null}290```bash theme={null}

273export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'291export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'


280Claude Code 使用这些默认模型当未设置固定变量时:298Claude Code 使用这些默认模型当未设置固定变量时:

281 299 

282| 模型类型 | 默认值 |300| 模型类型 | 默认值 |

283| :------ | :----------------------------- |301| :------ | :--------------------------------------------- |

284| 主模型 | `us.anthropic.claude-opus-4-8` |302| 主模型 | `us.anthropic.claude-opus-4-8` |

285| 小型/快速模型 | 与主模型相同 |303| 小型/快速模型 | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

304 

305后台任务(如会话标题生成)使用小型/快速模型,通常是 Haiku 级别的模型。在 Amazon Bedrock 上,Claude Code 为后台任务使用默认 Sonnet 模型,因为并非每个账户或区域都启用了 Haiku。两个选择改变哪个模型执行它们:

286 306 

287后台任务(如会话标题生成)使用小型/快速模型,通常是 Haiku 级别的模型。在 Amazon Bedrock Claude Code 默认将其设置为主模型,因为并非每个账户或区域都启用了 Haiku。要为后台任务使用 Haiku请将 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 设置为您账户中可用的模型 ID307* 当您使用 `--model`、`ANTHROPIC_MODEL` `model` 设置选择主模型时后台任务使用该模型。设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 而不设置 `ANTHROPIC_DEFAULT_SONNET_MODEL` 也算作一个选择因为内置 Sonnet 模型可能在引导自己的 Opus 的账户中不启用

308* 要为后台任务使用 Haiku,请将 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 设置为您账户中可用的模型 ID。

309 

310<Warning>

311 Opus 模型的每令牌价格高于 Sonnet 模型,因此不固定主模型的部署在更新到 v2.1.207 或更高版本后将按 Opus 费率计费。要将 Sonnet 4.5 保持为主模型,请将 `ANTHROPIC_MODEL` 设置为其完整模型 ID。使用 `ANTHROPIC_DEFAULT_SONNET_MODEL` 引导默认值且不设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 的部署会保持其引导的 Sonnet 模型作为默认值。

312</Warning>

313 

314{/* min-version: 2.1.207 */}在 v2.1.207 之前,Amazon Bedrock 上的主模型默认为 Sonnet 4.5,`opus` 别名解析为 Opus 4.6,后台任务始终使用主模型。

288 315 

289要进一步自定义模型,请使用以下方法之一:316要进一步自定义模型,请使用以下方法之一:

290 317 


336 363 

337如果您固定了一个比当前 Claude Code 默认值更旧的模型版本,并且您的账户可以调用较新版本,Claude Code 会提示您更新固定。接受会将新模型 ID 写入您的[用户设置文件](/zh-CN/settings)并重启 Claude Code。拒绝会被记住,直到下一个默认版本更改。指向[应用推理配置文件 ARN](#map-each-model-version-to-an-inference-profile) 的固定会被跳过,因为这些由您的管理员管理。364如果您固定了一个比当前 Claude Code 默认值更旧的模型版本,并且您的账户可以调用较新版本,Claude Code 会提示您更新固定。接受会将新模型 ID 写入您的[用户设置文件](/zh-CN/settings)并重启 Claude Code。拒绝会被记住,直到下一个默认版本更改。指向[应用推理配置文件 ARN](#map-each-model-version-to-an-inference-profile) 的固定会被跳过,因为这些由您的管理员管理。

338 365 

339如果您没有固定模型,并且当前默认值在您的账户中不可用,Claude Code 会在当前会话中回退到上一个版本并显示通知。回退不会被持久化。在您的 Amazon Bedrock 账户中启用较新的模型或[固定一个版本](#4-pin-model-versions)以使选择永久化。366如果您没有固定模型,并且当前默认值在您的账户中不可用,Claude Code 会在当前会话中回退并显示通知它首先尝试默认模型的早期版本,当默认值是 Opus 模型且没有 Opus 版本可用时,会回退到默认 Sonnet 模型。回退不会被持久化。在您的 Amazon Bedrock 账户中启用较新的模型或[固定一个版本](#4-pin-model-versions)以使选择永久化。

340 367 

341<h2 id="iam-configuration">368<h2 id="iam-configuration">

342 IAM 配置369 IAM 配置


397 1M 令牌上下文窗口424 1M 令牌上下文窗口

398</h2>425</h2>

399 426 

400Claude Sonnet 5、Opus 4.6 及更高版本,以及 Sonnet 4.6 在 Amazon Bedrock 上支持 [1M 令牌上下文窗口](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)。Sonnet 5 通过 [Mantle 端点](#use-the-mantle-endpoint)提供,始终以 1M 窗口运行,没有 `[1m]` 变体可选择。对于其他模型,当您选择 1M 模型变体时,Claude Code 会自动启用扩展上下文窗口。427Claude Sonnet 5、Opus 4.6 及更高版本,以及 Sonnet 4.6 在 Amazon Bedrock 上支持 [1M 令牌上下文窗口](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)。Sonnet 5 通过 [Mantle 端点](#use-the-mantle-endpoint)提供,始终以 1M 窗口运行,没有 `[1m]` 变体可选择。对于其他模型,当您选择 1M 模型变体时,Claude Code 会自动启用扩展上下文窗口。

401 428 

402[设置向导](#sign-in-with-bedrock)在固定模型时提供 1M 上下文选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。请参阅[为第三方部署固定模型](/zh-CN/model-config#pin-models-for-third-party-deployments)了解详情。429[设置向导](#sign-in-with-bedrock)在固定模型时提供 1M 上下文选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。请参阅[为第三方部署固定模型](/zh-CN/model-config#pin-models-for-third-party-deployments)了解详情。

403 430 


538 565 

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

540 567 

568<h3 id="streaming-errors-behind-a-gateway-or-proxy">

569 网关或代理后的流式传输错误

570</h3>

571 

572如果流式传输请求失败,错误以 `Bedrock streaming response has content-type` 开头,则 Claude Code 和 Amazon Bedrock 之间的网关或代理正在转换流式传输响应。Amazon Bedrock 以二进制事件流格式流式传输响应,内容类型为 `application/vnd.amazon.eventstream`,Claude Code 拒绝报告不同内容类型的成功流式传输响应,而不是解码它无法读取的正文。该错误命名了它收到的内容类型,通常是来自 Amazon API Gateway 和 Lambda 集成的 `text/event-stream`,该集成将流重新发出为服务器发送的事件。

573 

574在 v2.1.208 之前,相同的配置错误在整个响应被缓冲后显示为 `API Error: Truncated event message received`。

575 

576要修复它,请配置网关以通过未修改的 `InvokeModelWithResponseStream` 响应正文及其 `Content-Type` 标头。如果网关仅重写标头并通过完整的二进制正文,请设置 [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/zh-CN/env-vars) 以跳过检查,直到网关被修复。关闭检查后,被转换的响应正文再次失败,显示 `Truncated event message received`。

577 

541<h3 id="zero-token-counts-in-/context">578<h3 id="zero-token-counts-in-/context">

542 /context 中的零令牌计数579 /context 中的零令牌计数

543</h3>580</h3>

analytics.md +1 −1

Details

228 以编程方式访问数据228 以编程方式访问数据

229</h4>229</h4>

230 230 

231在 Enterprise 计划上,[Claude Enterprise Analytics API](https://support.claude.com/en/articles/13703965-claude-enterprise-analytics-api-reference-guide) 为您的组织返回每个用户的参与度、使用情况和成本报告,涵盖 Claude 的所有表面,包括 Claude Code。主要所有者在 [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys) 处使用 `read:analytics` 范围创建密钥。该 API 在 Teams 计划上不可用。231在 Enterprise 计划上,[Claude Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) 为您的组织返回每个用户的参与度、使用情况和成本报告,涵盖 Claude 的所有表面,包括 Claude Code。主要所有者在 [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys) 处使用 `read:analytics` 范围创建密钥。该 API 在 Teams 计划上不可用。

232 232 

233要通过 GitHub 查询贡献数据,请搜索标记为 `claude-code-assisted` 的 PR。233要通过 GitHub 查询贡献数据,请搜索标记为 `claude-code-assisted` 的 PR。

234 234 

artifacts.md +325 −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# 将会话输出作为 artifacts 共享

6 

7> Artifacts 将 Claude Code 的工作转化为实时交互式页面,可在 claude.ai 上保持私密、与您的组织共享或发布到公开链接。

8 

9{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}

10 

11<Note>

12 Artifacts 在 Pro、Max、Team 和 Enterprise 计划上可用,需要使用 [`/login`](/zh-CN/setup#authenticate) 登录的会话。有关完整的要求集,请参阅 [可用性](#availability)。

13</Note>

14 

15Artifact 是一个实时交互式网页,Claude Code 从您的会话发布到 claude.ai 上的私有 URL。您可以在浏览器中打开它,当会话继续时它会就地更新。当您想让其他人也看到它时,可以从页面标题中共享它。例如,使用 artifact 来引导审阅者查看带有注释的 diff 的拉取请求、从会话数据构建仪表板,或维护一个随着 Claude 工作而填充的调查时间线。

16 

17<Frame>

18 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="在 claude.ai/code/artifact 中打开的 artifact。查看器标题显示 artifact 标题 acme-funnel-fix、Share 按钮和作者头像。Share 菜单打开,显示'始终共享最新版本'切换、显示'共享版本 2'的版本选择器、'Acme 中的所有人'受众选择器和'复制链接'按钮。标题下方,artifact 页面显示两个并排的移动模型、一个漏斗图表和一行指标卡。" width="2511" height="1890" data-path="images/artifacts-viewer.png" />

19</Frame>

20 

21<h2 id="when-to-use-an-artifact">

22 何时使用 artifact

23</h2>

24 

25当终端文本不是 Claude 生成的内容的合适媒介时,请使用 artifact:输出更容易查看和交互,而不是逐行阅读。Claude 从您的会话可以访问的任何内容构建页面,包括您的代码库和通过您的 [连接工具](/zh-CN/mcp) 拉取的数据,因此页面可以显示需要段落才能描述的内容。例如,要求 Claude:

26 

27* 引导审阅者查看带有注释的 diff 的拉取请求

28* 从会话已拉取的数据呈现仪表板

29* 并排布置多个设计或实现选项

30* 维护一个在长任务运行时填充的调查时间线

31* 向队友发送链接,而不是将输出粘贴到 Slack

32* 发布一个 [通过 MCP 连接器拉取新鲜数据](#pull-live-data-with-mcp-connectors) 的状态板,每次有人打开它时都会拉取新数据

33 

34有关与这些选项匹配的提示,请参阅 [您可以构建的内容](#what-you-can-build),以及 [通过 MCP 连接器拉取实时数据](#pull-live-data-with-mcp-connectors) 了解连接器支持的板的提示。

35 

36<h3 id="what-an-artifact-is-not">

37 Artifact 不是什么

38</h3>

39 

40Artifact 是工作的捕获,不是应用程序。它是一个自包含的页面,没有后端,因此无法存储表单输入或提供多个路由,当有人查看它时,它访问外部数据的唯一途径是 [调用 MCP 连接器](#pull-live-data-with-mcp-connectors)。对于具有后端的托管内部工具,请改为在您自己的基础设施上部署它。有关完整的限制集,请参阅 [页面约束](#page-constraints)。

41 

42<h2 id="create-an-artifact">

43 创建 artifact

44</h2>

45 

46当输出适合页面时,Claude 可能会自动发布 artifact,或者您可以直接要求一个。要请求,请用纯语言命名功能或描述您想要的视觉输出。任何比作为文本阅读更容易看到的内容都是很好的候选,例如注释的 diff、图表或一组要比较的选项。下面的提示是两个示例;有关更多模式,请参阅 [您可以构建的内容](#what-you-can-build)。

47 

48```text wrap theme={null}

49Make an artifact that walks through this PR with the diff annotated inline.

50```

51 

52```text wrap theme={null}

53Build a dashboard artifact of last week's deploy failures by service and keep it updated as you investigate.

54```

55 

56Claude 将页面写入项目中的 HTML 或 Markdown 文件,然后发布它。在发布新 artifact 之前,Claude Code 会要求权限;它可能会说类似 `Claude wants to publish "Deploy failures by service" (deploy-failures.html) to a private page on claude.ai` 的内容。重新发布您已经批准的 artifact 不会再次提示。

57 

58选择 **Yes** 以发布。Claude 打印 URL,您的浏览器打开到新页面。随时按 `Ctrl+]` 从终端重新打开最近的 artifact。

59 

60Claude 为 artifact 选择标题和浏览器标签图标的表情符号。两者都出现在您在 claude.ai 上的 [artifacts 库](#share-an-artifact) 和共享链接中,因此如果您想要特定的标题或图标,请要求 Claude 使用它。

61 

62要在发布新 artifact 时停止浏览器自动打开,请在您的环境中设置 `CLAUDE_CODE_ARTIFACT_AUTO_OPEN=0`。

63 

64如果 Claude 响应它无法发布,或写入本地 HTML 文件而没有链接,则该工具未为您的会话启用。检查 [可用性](#availability) 要求。

65 

66<h2 id="update-an-artifact">

67 更新 artifact

68</h2>

69 

70要求 Claude 修改页面,或让长时间运行的任务在取得进展时重新发布。Claude 编辑基础文件并再次发布到相同的 URL。

71 

72```text wrap theme={null}

73Add a per-region breakdown below the summary chart and republish.

74```

75 

76任何打开页面的人都会看到就地更新。每次发布都会成为一个版本,从页面标题中的 **Share** 控件,您可以选择查看者看到哪个版本。

77 

78要从不同的会话更新 artifact,请向 Claude 提供 artifact 的 URL 并要求它修改。没有 URL,新会话总是创建新 artifact 而不是更新现有的。

79 

80```text wrap theme={null}

81Update https://claude.ai/code/artifact/5fbea6f3-... with today's numbers.

82```

83 

84<h2 id="share-an-artifact">

85 分享一个artifact

86</h2>

87 

88新的artifact仅对你可见。要分享它,请在浏览器中打开该artifact,并使用页面标题中的**Share**控件。标题中会显示你是该artifact的作者,因此与你分享的任何人都可以看到谁发布了该页面。它还链接到你的库,位于[claude.ai/code/artifacts](https://claude.ai/code/artifacts),其中列出了你创建的每个artifact。

89 

90你可以与谁分享取决于你的计划:

91 

92* **在你的组织内**:在Team和Enterprise计划中,向你组织中的特定人员或整个组织授予访问权限。查看者以你组织的成员身份登录claude.ai以查看该页面。

93* **公开**:分享一个链接,互联网上的任何人都可以打开,无需登录claude.ai。在Pro和Max计划中,公开链接是分享artifact的唯一方式。在Team和Enterprise计划中,公开分享处于关闭状态,直到Owner[为组织启用它](#control-public-sharing)。

94 

95<h3 id="let-someone-edit-with-you">

96 让某人与你一起编辑

97</h3>

98 

99与你分享的人默认是查看者:他们可以看到你发布的每个版本,但无法更改页面。在Team和Enterprise计划中,你也可以让某人成为编辑者。在分享对话框中,添加一个人并将其角色从**viewer**切换到**editor**。

100 

101编辑者发布新版本的方式与你[从另一个会话更新artifact](#update-an-artifact)的方式相同:他们在自己的会话中向Claude提供artifact的URL,Claude会拉取当前内容并使用他们的更改重新发布。打开该页面的每个人都会实时看到每个更新。

102 

103<h2 id="pull-live-data-with-mcp-connectors">

104 使用 MCP 连接器拉取实时数据

105</h2>

106 

107{/* plan-availability: feature=artifact-mcp plans=pro,max,team,enterprise providers=anthropic */}

108 

109artifact 可以在每次有人查看它时调用 [MCP 连接器](/zh-CN/mcp#use-mcp-servers-from-claude-ai),因此页面显示的是当前数据而不是构建它的会话中的快照。来自 artifact 的连接器调用在 Pro、Max、Team 和 Enterprise 计划上可用,需要 Claude Code v2.1.209 或更高版本。在早期版本上,Claude 会发布该页面,其中包含会话在构建时收集的任何数据。

110 

111要创建一个由连接器支持的页面,请在提示中命名连接器和您想要的数据:

112 

113```text wrap theme={null}

114Build a dashboard artifact of our open pull requests that pulls the live list through my GitHub connector when the page loads.

115```

116 

117Claude 在发布时声明页面可能调用的连接器,页面无法调用该声明之外的连接器。只有来自您 claude.ai 账户的连接器符合条件:Claude 在声明中命名它们,当有人查看页面时,每个调用都会 [通过查看账户自己的连接](#how-connector-calls-work-for-viewers) 运行到该连接器。您在 Claude Code 中配置的本地 MCP 服务器(例如来自 `.mcp.json` 的服务器)可以在 Claude 构建页面时提供数据,但已发布的页面无法调用它们。

118 

119页面在加载时获取数据,可以按间隔刷新或当查看者在页面上使用刷新控件时刷新。响应缓存在查看者的浏览器中,因此重新打开的页面会立即从缓存的响应呈现,然后使用新结果更新。

120 

121<h3 id="how-connector-calls-work-for-viewers">

122 连接器调用如何为查看者工作

123</h3>

124 

125当已发布的页面调用连接器时,该调用使用查看页面的人的账户,而不是发布它的人的账户:

126 

127* **每个查看者使用自己的连接器**:调用通过查看账户的已连接工具进行,因此两个打开同一仪表板的人可能会看到不同的数据,具体取决于他们的账户可以访问什么。页面永远看不到任何人的凭证;claude.ai 代表页面进行调用。

128* **查看者首先批准访问**:claude.ai 在页面的第一次连接器调用之前向每个查看者请求权限。拒绝的查看者或未连接页面使用的连接器的查看者仍然可以看到页面,但没有其实时部分。

129* **操作也使用查看者的账户**:页面可以提供控件,调用具有副作用的连接器工具,例如发布消息或更新问题。操作通过选择控件的人的账户进行。

130 

131当您计划共享由连接器支持的页面时,请要求 Claude 在每个实时部分中包含一条后备消息,该消息命名它需要的连接器。缺少连接的查看者随后会看到要连接的内容,而不是空白部分。

132 

133调用连接器的 artifact 无法在任何计划上共享到公共链接。在 Team 和 Enterprise 计划上,您可以将其保持为私密或 [在您的组织内共享](#share-an-artifact)。在 Pro 和 Max 计划上,其中公共链接是唯一的共享方式,由连接器支持的 artifact 对您保持私密。

134 

135<h3 id="the-page-shows-no-live-data-for-a-viewer">

136 页面对查看者显示无实时数据

137</h3>

138 

139当由连接器支持的页面呈现但其实时部分对您共享的某人保持空白时,请处理这些原因:

140 

141* **查看者未连接连接器**:连接器是按账户的,因此每个查看者都需要自己连接到页面调用的每个连接器。他们可以在 claude.ai 上的 **Settings > Connectors** 下添加一个,然后重新加载页面。

142* **查看者拒绝了权限请求**:拒绝在该页面加载的其余时间内持续。重新加载页面会再次显示权限请求。

143* **为组织关闭了连接器调用**:所有者控制管理设置中的 [**Enable artifact connectors** 切换](#control-connector-calls-from-artifacts)。

144 

145<h2 id="what-you-can-build">

146 您可以构建的内容

147</h2>

148 

149Artifact 是单个 HTML 页面,因此您可以用 HTML、CSS 和内联 JavaScript 表达的任何内容都在范围内。下面的模式最常出现。

150 

151<h3 id="walk-through-a-change">

152 逐步讲解更改

153</h3>

154 

155要求一个页面,在相关行旁边呈现 diff 或设计更改并带有注释,以便审阅者可以在代码旁边阅读您的推理,而不是从描述中重建它。

156 

157```text wrap theme={null}

158Make an artifact that walks through this PR. Render the diff with margin annotations and color-code findings by severity.

159```

160 

161<h3 id="compare-alternatives">

162 比较替代方案

163</h3>

164 

165要求在一个页面上有多个变体,以便您可以相互评估它们。这适用于布局、文案、API 形状或实现计划。

166 

167```text wrap theme={null}

168Make an artifact with four distinctly different layouts for the settings panel. Vary density and grouping, and lay them out as a grid with a one-line tradeoff under each.

169```

170 

171<h3 id="tune-with-interactive-controls">

172 使用交互式控件进行调整

173</h3>

174 

175要求滑块、切换或输入字段绑定到您正在调整的任何内容,以便您可以直接探索值,而不是描述它们。

176 

177```text wrap theme={null}

178Build an artifact with sliders for the easing curve, duration, and delay so I can try values on this transition. Show the animation live as I move them.

179```

180 

181<h3 id="bring-the-result-back-to-your-session">

182 将结果带回您的会话

183</h3>

184 

185Artifact 可以充当您随后交给 Claude 的决定的轻量级编辑器。要求一个导出控件,生成您可以粘贴到终端的文本,以便与页面交互的结果流回会话,而不是停留在页面上。

186 

187```text wrap theme={null}

188Make a triage board artifact with each open issue as a draggable card across Now, Next, Later, and Cut columns. Add a "Copy as prompt" button that gives me the final ordering to paste back here.

189```

190 

191<h3 id="track-work-in-progress">

192 跟踪进行中的工作

193</h3>

194 

195要求 Claude 在长任务运行时保持 artifact 最新,以便任何拥有链接的人都可以跟随,而无需阅读终端。

196 

197```text wrap theme={null}

198Turn this migration plan into a checklist artifact. Check items off as you complete them and add a note for anything you skip.

199```

200 

201<h2 id="improve-the-visual-design">

202 改进视觉设计

203</h2>

204 

205从 Claude Code v2.1.183 开始,Claude 在构建 artifact 时应用内置设计技能,因此页面获得深思熟虑的调色板、排版和布局,无需额外提示。该技能还在选择自己的设计之前查找项目中的现有设计系统。要保持 artifacts 与您产品的品牌一致,请在 Claude 可以找到的地方记录您的设计令牌,例如项目的 [CLAUDE.md](/zh-CN/memory) 或存储库中的主题文件:

206 

207```markdown theme={null}

208## Design system

209 

210- Colors: primary #1a4d8f, accent #f59e0b, surface #f8fafc

211- Typography: Inter for body, JetBrains Mono for code

212- Spacing: 8px scale, 6px border radius

213```

214 

215Claude 将您的设计系统视为比其自己的选择更高的优先级,并将您的提示视为比两者都更高的优先级。上面的标题和格式是一个示例;任何清晰的颜色、字体和间距列表都有效。

216 

217<h2 id="page-constraints">

218 页面约束

219</h2>

220 

221每个 artifact 是一个自包含的页面。Claude Code 将您发布的文件包装在 HTML 文档 shell 中,并在严格的内容安全策略 (CSP) 下提供它,这决定了页面可以做什么。

222 

223| 约束 | 效果 |

224| :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

225| 无外部请求 | CSP 阻止从任何其他主机加载的脚本、样式表、字体和图像,以及 `fetch`、XHR 和 WebSocket 调用。Claude 内联 CSS 和 JavaScript,并将图像嵌入为数据 URI,以便页面呈现而无需任何外部请求。[Connector 调用](#pull-live-data-with-mcp-connectors)是例外:页面将它们交给 claude.ai,由它自己进行网络调用。 |

226| 无后端 | Artifact 是静态页面。它无法存储通过表单提交的数据或自行验证查看者。它在有人查看时获取数据的唯一方式是[调用 MCP connectors](#pull-live-data-with-mcp-connectors),而不是它自己的 API。 |

227| 单页 | 相对链接不解析,因为没有任何内容与页面一起部署。对于多部分内容,Claude 使用页面内锚点而不是单独的文件。 |

228| 源文件类型 | 发布的文件必须是 `.html`、`.htm` 或 `.md`。Markdown 文件呈现为样式化的 HTML。 |

229| 呈现大小 | 呈现的页面必须为 16 MiB 或更小。大型嵌入图像是发布因大小失败的常见原因。 |

230 

231生成 artifact 使用输出令牌,就像任何其他响应一样,样式化页面比相同内容作为终端文本更耗费令牌。内联 CSS、用于交互式控件的 JavaScript,尤其是嵌入为数据 URI 的图像是主要贡献者。要减少 artifact 的令牌成本:

232 

233* 对于图表,优先选择 SVG 或 HTML 和 CSS,而不是嵌入的光栅图像

234* 省略您不需要的交互性

235* 让页面汇总大型数据集,而不是完整内联它们

236 

237<h2 id="availability">

238 可用性

239</h2>

240 

241Artifacts 需要以下所有条件。当不满足其中一个时,Claude 写入本地 HTML 文件或说它无法发布。

242 

243| 要求 | 可用时间 |

244| :---- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

245| 计划 | Pro、Max、Team 或 Enterprise。在 Pro 和 Max 计划上,artifacts 仅对您私有,不适用任何管理员管理。在 Team 计划上,artifacts 默认启用。在 Enterprise 计划上,Owner 在 claude.ai 管理设置中 [启用它们](#manage-artifacts-for-your-organization)。 |

246| 身份验证 | 会话由 claude.ai 账户支持:在 CLI 或桌面应用中使用 `/login` 登录。Claude Tag 会话通过代理的身份登录,因此不需要任何步骤。使用 API 密钥、[网关令牌](/zh-CN/llm-gateway) 或云提供商凭证的会话无法发布。 |

247| 模型提供商 | Anthropic API。在 [Amazon Bedrock](/zh-CN/amazon-bedrock)、[Google Cloud 的 Agent Platform](/zh-CN/google-vertex-ai) 或 [Microsoft Foundry](/zh-CN/microsoft-foundry) 上不可用。 |

248| 组织策略 | 客户管理的加密密钥 (CMEK)、HIPAA 和 [零数据保留](/zh-CN/zero-data-retention) 未为组织启用。 |

249| 表面 | Claude Code CLI 版本 2.1.183 或更高版本,或 Claude 桌面应用版本 1.13576.0 或更高版本。当 Claude Tag 和 artifacts 都为组织启用时,[Claude Tag](https://claude.com/docs/claude-tag/overview) 会话也可以发布 artifacts。在 [Agent SDK](/zh-CN/agent-sdk/overview)、GitHub Action 和 MCP-server 上下文中默认关闭,以及当设置 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/zh-CN/env-vars) 时。 |

250 

251<h2 id="disable-artifacts">

252 禁用 artifacts

253</h2>

254 

255要根据您组织的设置为您自己的会话关闭 artifacts,请使用以下任何一种:

256 

257| 方法 | 设置 |

258| :------------------------- | :---------------------------------- |

259| [设置文件](/zh-CN/settings) | `"disableArtifact": true` |

260| [环境变量](/zh-CN/env-vars) | `CLAUDE_CODE_DISABLE_ARTIFACT=1` |

261| [权限规则](/zh-CN/permissions) | 将 `Artifact` 添加到 `permissions.deny` |

262 

263<h2 id="manage-artifacts-for-your-organization">

264 为您的组织管理 artifacts

265</h2>

266 

267Team 和 Enterprise 计划上的管理员从 [claude.ai 管理设置](https://claude.ai/admin-settings/claude-code) 控制 artifacts。Artifact 内容存储在 Anthropic 运营的基础设施上,仅对发布组织的经过身份验证的成员可见,除非该 artifact 是[公开共享](#control-public-sharing)的。

268 

269<h3 id="enable-or-disable-artifacts">

270 启用或禁用 artifacts

271</h3>

272 

273要为整个组织启用或禁用 artifacts,请转到 **Settings > Claude Code > Capabilities** 并使用 **Artifacts** 切换。在具有基于角色的访问控制的 Enterprise 计划上,您还可以将 artifacts 限制到特定角色:转到 **Settings > Roles**,编辑角色,并在 **Claude Code** 组下设置 **Artifacts** 权限。

274 

275<h3 id="control-connector-calls-from-artifacts">

276 控制来自 artifacts 的连接器调用

277</h3>

278 

279[来自 artifacts 的连接器调用](#pull-live-data-with-mcp-connectors)有自己的切换,与打开或关闭 artifacts 的 **Artifacts** 切换分开。转到 [**Settings > Capabilities**](https://claude.ai/admin-settings/capabilities) 并使用 **Enable artifact connectors** 切换。同一切换控制在 claude.ai 对话中创建的 artifacts 的连接器调用,这就是为什么它位于 **Settings > Capabilities** 而不是 **Settings > Claude Code** 下。

280 

281<h3 id="control-public-sharing">

282 控制公开共享

283</h3>

284 

285在 Team 和 Enterprise 计划上,公开共享默认处于关闭状态,因此成员只能在组织内共享 artifacts,直到管理员将其打开。要让成员将 artifacts 发布到任何人都可以查看而无需登录的公开链接,请转到 **Settings > Claude Code > Capabilities** 并在 **Artifacts** 切换下打开 **External sharing**。将其关闭会阻止通过现有公开链接的访问,而不会更改每个 artifact 的受众;如果您重新启用它,访问将恢复。

286 

287<h3 id="set-a-retention-policy">

288 设置保留策略

289</h3>

290 

291要设置在自动删除之前保留 artifacts 的时间长度,请转到 **Settings > Data & privacy controls**。您可以为仍然对其作者私有的 artifacts 和已共享的 artifacts 设置单独的保留期。

292 

293<h3 id="review-the-audit-log">

294 查看审计日志

295</h3>

296 

297发布、共享和删除 artifact 各自出现在您组织的审计日志中,位于 `claude_artifact_*` 事件类型下,这是用于在 claude.ai 对话中创建的 artifacts 的同一系列。

298 

299<h3 id="allowlist-the-viewer-domain">

300 将查看器域列入允许列表

301</h3>

302 

303claude.ai 上的查看器从沙箱 `*.claudeusercontent.com` 源加载每个 artifact。如果您的组织限制出站网络访问,请将该域添加到您的允许列表中,与 `claude.ai` 一起。有关完整列表,请参阅 [网络访问要求](/zh-CN/network-config#network-access-requirements)。

304 

305<h3 id="list-and-delete-artifacts-with-the-compliance-api">

306 使用 Compliance API 列出和删除 artifacts

307</h3>

308 

309[Compliance API](https://docs.claude.com/en/api/compliance) 提供端点来列出组织的 artifacts、检索特定版本的内容和删除 artifact:

310 

311| 方法 | 端点 |

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

313| `GET` | `/v1/compliance/code/artifacts` |

314| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |

315| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |

316 

317有关请求和响应架构,请参阅 [Compliance API 参考](https://docs.claude.com/en/api/compliance/code/artifacts)。

318 

319<h2 id="related-resources">

320 相关资源

321</h2>

322 

323* 浏览与 artifacts 配对的 [提示模式和工作流](/zh-CN/prompt-library)

324* 将您重复使用的 artifact 提示转换为 [skill](/zh-CN/skills),以便您可以将其作为命令调用

325* [连接 MCP 服务器](/zh-CN/mcp),以便 Claude 可以在构建页面时将数据拉入 artifact

Details

18 18 

19如果您的浏览器在您登录后显示登录代码而不是重定向回来,请将其粘贴到终端的 `Paste code here if prompted` 提示符处。这种情况在浏览器无法访问 Claude Code 的本地回调服务器时会发生,这在 WSL2、SSH 会话和容器中很常见。19如果您的浏览器在您登录后显示登录代码而不是重定向回来,请将其粘贴到终端的 `Paste code here if prompted` 提示符处。这种情况在浏览器无法访问 Claude Code 的本地回调服务器时会发生,这在 WSL2、SSH 会话和容器中很常见。

20 20 

21登录完成后,终端会显示 `Login successful`,并提示您按 `Enter` 继续。

22 

21您可以使用以下任何账户类型进行身份验证:23您可以使用以下任何账户类型进行身份验证:

22 24 

23* **Claude Pro 或 Max 订阅**:使用您的 Claude.ai 账户登录。在 [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max) 订阅。25* **Claude Pro 或 Max 订阅**:使用您的 Claude.ai 账户登录。在 [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max) 订阅。

24* **Claude for Teams 或 Enterprise**:使用您的团队管理员邀请您的 Claude.ai 账户登录。26* **Claude for Teams 或 Enterprise**:使用您的团队管理员邀请您的 Claude.ai 账户登录。

25* **Claude Console**:使用您的 Console 凭证登录。您的管理员必须先 [邀请您](#claude-console-authentication)。27* **Claude Console**:使用您的 Console 凭证登录。您的管理员必须先 [邀请您](#claude-console-authentication)。

26* **云提供商**:如果您的组织使用 [Amazon Bedrock](/zh-CN/amazon-bedrock)、[Google Cloud's Agent Platform](/zh-CN/google-vertex-ai) 或 [Microsoft Foundry](/zh-CN/microsoft-foundry),请在运行 `claude` 之前设置所需的环境变量。不需要浏览器登录。28* **云提供商**:如果您的组织使用 [Amazon Bedrock](/zh-CN/amazon-bedrock)、[Google Cloud's Agent Platform](/zh-CN/google-vertex-ai) 或 [Microsoft Foundry](/zh-CN/microsoft-foundry),请在运行 `claude` 之前设置所需的环境变量,或在登录提示符处选择 **3rd-party platform**,这将为 Bedrock 和 Vertex AI 启动交互式设置向导。不需要浏览器登录。

27* **云网关**:如果您的组织运行自托管的 [Claude apps gateway](/zh-CN/claude-apps-gateway),请通过 `/login` 使用企业 SSO 登录。网关颁发的令牌是会话的唯一凭证。29* **云网关**:如果您的组织运行自托管的 [Claude apps gateway](/zh-CN/claude-apps-gateway),请通过 `/login` 使用企业 SSO 登录。网关颁发的令牌是会话的唯一凭证。

28 30 

29要登出并重新身份验证,请在 Claude Code 提示符处输入 `/logout`。31管理员可以使用 [`forceLoginMethod` `forceLoginOrgUUID`](/zh-CN/settings#available-settings) 托管设置来限制交互式登录。当设置其中任何一个时,由 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 进行身份验证的会话在启动时会被阻止;云提供商会话不受影响

32 

33要登出并重新身份验证,请在 Claude Code 提示符处输入 `/logout`。登出还会重置您的首次启动设置状态,因此下次运行 `claude` 时,它会再次引导您完成登录和设置。

30 34 

31如果您在登录时遇到问题,请参阅 [身份验证故障排除](/zh-CN/troubleshoot-install#login-and-authentication)。35如果您在登录时遇到问题,请参阅 [身份验证故障排除](/zh-CN/troubleshoot-install#login-and-authentication)。

32 36 


133 * 在 Windows 上,凭证存储在 `%USERPROFILE%\.claude\.credentials.json` 中,并继承您的用户配置文件目录的访问控制,默认情况下将文件限制为您的用户帐户。137 * 在 Windows 上,凭证存储在 `%USERPROFILE%\.claude\.credentials.json` 中,并继承您的用户配置文件目录的访问控制,默认情况下将文件限制为您的用户帐户。

134 * 如果您在 Linux 或 Windows 上设置了 `CLAUDE_CONFIG_DIR` 环境变量,`.credentials.json` 文件将位于该目录下。138 * 如果您在 Linux 或 Windows 上设置了 `CLAUDE_CONFIG_DIR` 环境变量,`.credentials.json` 文件将位于该目录下。

135 * Claude Code 通过 `/login` 和 `/logout` 管理 `.credentials.json`。要通过自定义 API 端点路由请求,请改为设置 [`ANTHROPIC_BASE_URL`](/zh-CN/env-vars) 环境变量。139 * Claude Code 通过 `/login` 和 `/logout` 管理 `.credentials.json`。要通过自定义 API 端点路由请求,请改为设置 [`ANTHROPIC_BASE_URL`](/zh-CN/env-vars) 环境变量。

136* **支持的身份验证类型**:Claude.ai 凭证、Claude API 凭证、Azure Auth、Bedrock Auth、Vertex Auth 和 [Claude apps gateway](/zh-CN/claude-apps-gateway) 会话令牌。140* **支持的身份验证类型**:Claude.ai 凭证、Claude API 凭证、Microsoft Foundry Auth、Bedrock Auth、Vertex Auth 和 [Claude apps gateway](/zh-CN/claude-apps-gateway) 会话令牌。

137* **自定义凭证脚本**:[`apiKeyHelper`](/zh-CN/settings#available-settings) 设置可以配置为运行返回 API 密钥的 shell 脚本。141* **自定义凭证脚本**:[`apiKeyHelper`](/zh-CN/settings#available-settings) 设置可以配置为运行返回 API 密钥的 shell 脚本。

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

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

144* **助手失败**:{/* min-version: 2.1.208 */}当脚本以错误退出、超时或不输出任何内容时,请求在三次尝试内失败,并显示 [`Your apiKeyHelper script is failing`](/zh-CN/errors#your-apikeyhelper-script-is-failing)。在 v2.1.208 之前,助手失败显示为通用 401,经过大约十次无声重试。

140 145 

141`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) 的桌面会话外,这些会话使用该配置的凭证进行身份验证。146`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) 的桌面会话外,这些会话使用该配置的凭证进行身份验证。

142 147 

143<h3 id="renew-an-expiring-login">148<h3 id="renew-an-expiring-login">

144 续期即将过期的登录149 续期即将过期的登录


148 153 

149运行 `/login` 以续期。该警告仅供参考,永远不会阻止请求:身份验证将继续工作,直到登录实际过期。登录生命周期本身不变;提前警告是 v2.1.203 添加的功能。154运行 `/login` 以续期。该警告仅供参考,永远不会阻止请求:身份验证将继续工作,直到登录实际过期。登录生命周期本身不变;提前警告是 v2.1.203 添加的功能。

150 155 

156{/* min-version: 2.1.206 */}一旦存储的登录过期且无法刷新,每个请求都会失败,显示 [`Login expired · Please run /login`](/zh-CN/errors#login-expired),直到您再次登录。在 v2.1.206 之前,过期的登录显示为模型错误。

157 

151该警告仅在 claude.ai 或 Claude Console 登录是活跃凭证时出现,而不是在云提供商、`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 提供凭证时出现。158该警告仅在 claude.ai 或 Claude Console 登录是活跃凭证时出现,而不是在云提供商、`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN` 或 `apiKeyHelper` 提供凭证时出现。

152 159 

153对于运行无人值守的会话,提前续期最为重要。在 [agent view 中的后台会话](/zh-CN/agent-view) 或 [Remote Control](/zh-CN/remote-control) 会话一旦登录过期,就会停止进行,并且在您再次登录之前无法恢复。160对于运行无人值守的会话,提前续期最为重要。在 [agent view 中的后台会话](/zh-CN/agent-view) 或 [Remote Control](/zh-CN/remote-control) 会话一旦登录过期,就会停止进行,并且在您再次登录之前无法恢复。


160 167 

1611. 云提供商凭证,当设置了 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_VERTEX` 或 `CLAUDE_CODE_USE_FOUNDRY` 时。有关设置,请参阅 [第三方集成](/zh-CN/third-party-integrations)。1681. 云提供商凭证,当设置了 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_VERTEX` 或 `CLAUDE_CODE_USE_FOUNDRY` 时。有关设置,请参阅 [第三方集成](/zh-CN/third-party-integrations)。

1622. `ANTHROPIC_AUTH_TOKEN` 环境变量。作为 `Authorization: Bearer` 标头发送。当通过 [LLM 网关或代理](/zh-CN/llm-gateway) 进行路由时使用此选项,该网关或代理使用持有者令牌而不是 Anthropic API 密钥进行身份验证。1692. `ANTHROPIC_AUTH_TOKEN` 环境变量。作为 `Authorization: Bearer` 标头发送。当通过 [LLM 网关或代理](/zh-CN/llm-gateway) 进行路由时使用此选项,该网关或代理使用持有者令牌而不是 Anthropic API 密钥进行身份验证。

1633. `ANTHROPIC_API_KEY` 环境变量。作为 `X-Api-Key` 标头发送。用于直接 Anthropic API 访问,使用来自 [Claude Console](https://platform.claude.com) 的密钥。在交互模式下,系统会提示您一次批准或拒绝该密钥,您的选择会被记住。要稍后更改它,请使用 `/config` 中的"使用自定义 API 密钥"切换。在非交互模式(`-p`)下,当密钥存在时始终使用该密钥。1703. `ANTHROPIC_API_KEY` 环境变量。作为 `X-Api-Key` 标头发送。用于直接 Anthropic API 访问,使用来自 [Claude Console](https://platform.claude.com) 的密钥。在交互模式下,系统会提示您一次批准或拒绝该密钥,您的选择会被记住。要稍后更改它,请使用 `/config` 中的"使用自定义 API 密钥"切换。该切换仅在 `ANTHROPIC_API_KEY` 在您的环境中设置时出现。在非交互模式(`-p`)下,当密钥存在时始终使用该密钥。

1644. [`apiKeyHelper`](/zh-CN/settings#available-settings) 脚本输出。用于动态或轮换凭证,例如从保管库获取的短期令牌。1714. [`apiKeyHelper`](/zh-CN/settings#available-settings) 脚本输出。用于动态或轮换凭证,例如从保管库获取的短期令牌。

1655. `CLAUDE_CODE_OAUTH_TOKEN` 环境变量。由 [`claude setup-token`](#generate-a-long-lived-token) 生成的长期 OAuth 令牌。用于 CI 管道和脚本,其中浏览器登录不可用。1725. `CLAUDE_CODE_OAUTH_TOKEN` 环境变量。由 [`claude setup-token`](#generate-a-long-lived-token) 生成的长期 OAuth 令牌。用于 CI 管道和脚本,其中浏览器登录不可用。

1666. 来自 `/login` 的订阅 OAuth 凭证。这是 Claude Pro、Max、Team 和 Enterprise 用户的默认设置。1736. 来自 `/login` 的订阅 OAuth 凭证。这是 Claude Pro、Max、Team 和 Enterprise 用户的默认设置。

167 174 

168一个已签名的 [Claude apps gateway](/zh-CN/claude-apps-gateway) 会话位于此列表之外:它是一个提供商选择,如 Amazon Bedrock 或 Google Cloud 的 Agent Platform,并且它优先于它们。当网关会话存在时,即使设置了 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_VERTEX` 或 `CLAUDE_CODE_USE_FOUNDRY`,CLI 也会使用网关令牌进行身份验证,上面的持有者令牌、API 密钥和 `apiKeyHelper` 条目不会被使用。175一个已签名的 [Claude apps gateway](/zh-CN/claude-apps-gateway) 会话位于此列表之外:它是一个提供商选择,如 Amazon Bedrock 或 Google Cloud 的 Agent Platform,并且它优先于它们。当网关会话存在时,即使设置了 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_VERTEX` 或 `CLAUDE_CODE_USE_FOUNDRY`,CLI 也会使用网关令牌进行身份验证,上面的持有者令牌、API 密钥和 `apiKeyHelper` 条目不会被使用。

169 176 

170如果您有活跃的 Claude 订阅,但环境中也设置了 `ANTHROPIC_API_KEY`,则 API 密钥在批准后优先。如果密钥属于已禁用或过期的组织,这可能会导致身份验证失败。运行 `unset ANTHROPIC_API_KEY` 以回退到您的订阅,并检查 `/status` 以确认哪种方法处于活跃状态。177如果您有活跃的 Claude 订阅,但环境中也设置了 `ANTHROPIC_API_KEY`,则 API 密钥在批准后优先。如果密钥属于已禁用或过期的组织,这可能会导致身份验证失败。运行 `unset ANTHROPIC_API_KEY` 以回退到您的订阅,并检查 `/status` 以确认哪种方法处于活跃状态。`Login method` 行显示您的订阅帐户,当 API 密钥在使用时会出现 `API key` 行。

171 178 

172[Claude Code on the Web](/zh-CN/claude-code-on-the-web) 始终使用您的订阅凭证。沙箱环境中的 `ANTHROPIC_API_KEY` `ANTHROPIC_AUTH_TOKEN` 不会覆盖它们179[Claude Code on the Web](/zh-CN/claude-code-on-the-web) 始终使用您的订阅凭证。如果您在沙箱环境中设置 `ANTHROPIC_API_KEY` `ANTHROPIC_AUTH_TOKEN`,它不会覆盖您的订阅凭证

173 180 

174<h3 id="generate-a-long-lived-token">181<h3 id="generate-a-long-lived-token">

175 生成长期令牌182 生成长期令牌

Details

6 6 

7> 告诉自动模式分类器您的组织信任哪些代码库、存储桶和域。设置环境上下文,覆盖默认的阻止和允许规则,并使用自动模式 CLI 子命令检查您的有效配置。7> 告诉自动模式分类器您的组织信任哪些代码库、存储桶和域。设置环境上下文,覆盖默认的阻止和允许规则,并使用自动模式 CLI 子命令检查您的有效配置。

8 8 

9[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)让 Claude Code 无需常规权限提示即可运行,通过将工具调用路由到一个分类器,该分类器会阻止任何不可逆、破坏性或针对您环境外的操作。拒绝和明确询问规则在分类器之前进行评估,仍然会阻止或提示。使用 `autoMode` 设置块告诉该分类器您的组织信任哪些代码库、存储桶和域,以便它停止阻止常规内部操作。9[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)让 Claude Code 无需常规权限提示即可运行,通过将工具调用路由到一个分类器,该分类器会阻止任何不可逆、破坏性或针对您环境外的操作。拒绝和显式询问规则在分类器之前进行评估,仍然会阻止或提示。使用 `autoMode` 设置块告诉该分类器您的组织信任哪些代码库、存储桶和域,以便它停止阻止常规内部操作。

10 10 

11<Note>11<Note>

12 自动模式可通过 Anthropic API 供所有用户使用。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登录的[Claude 应用网关](/zh-CN/claude-apps-gateway)会话上,您必须首先[设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`](/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)。如果 Claude Code 报告您的账户无法使用自动模式,请检查[完整要求](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode),其中还涵盖了支持的模型和 Team Enterprise 计划上的所有者启用。12 自动模式可供所有提供商上的所有用户使用,包括 Anthropic APIAmazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登录的 [Claude 应用网关](/zh-CN/claude-apps-gateway)会话。如果 Claude Code 报告您的账户无法使用自动模式,请检查[完整要求](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode),其中还涵盖了支持的模型和 Team Enterprise 计划上的所有者启用。{/* min-version: 2.1.207 */}在 v2.1.158 到 v2.1.206 中,Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和 Claude 应用网关会话上的自动模式需要设置 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`;v2.1.207 移除了该要求。

13</Note>13</Note>

14 14 

15默认情况下,分类器仅信任工作目录和当前代码库的已配置远程。推送到您公司的源代码控制组织或写入团队云存储桶等操作会被阻止,直到您将它们添加到 `autoMode.environment`。15默认情况下,分类器仅信任工作目录和当前代码库的已配置远程。推送到您公司的源代码控制组织或写入团队云存储桶等操作会被阻止,直到您将它们添加到 `autoMode.environment`。

16 16 

17有关如何启用自动模式以及它默认阻止什么的信息,请参阅[权限模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)。本页是配置参考。17有关如何启用自动模式以及它默认阻止的内容,请参阅[权限模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)。本页是配置参考。

18 18 

19本页涵盖以下内容19本页涵盖如何

20 20 

21* [选择在何处设置规则](#where-the-classifier-reads-configuration) CLAUDE.md、用户设置和托管设置21* [为推送和拉取请求添加人工检查点](#common-boundaries),使用 `permissions.ask`

22* [定义受信任的基础设施](#define-trusted-infrastructure)使用 `autoMode.environment`22* [选择在何处设置规则](#where-the-classifier-reads-configuration),跨越 CLAUDE.md、用户设置和托管设置

23* [覆盖阻止和允许规则](#override-the-block-and-allow-rules)当默认值不适合您的管道时23* [定义受信任的基础设施](#define-trusted-infrastructure),使用 `autoMode.environment`

24* [将所有 shell 命令路由通过分类器](#route-all-shell-commands-through-the-classifier)使用 `autoMode.classifyAllShell`24* [覆盖阻止和允许规则](#override-the-block-and-allow-rules),当默认值不适合您的管道时

25* [检查您的有效配置](#inspect-the-defaults-and-your-effective-config)使用 `claude auto-mode` 子命令25* [将所有 shell 命令路由通过分类器](#route-all-shell-commands-through-the-classifier)使用 `autoMode.classifyAllShell`

26* [查看拒绝](#review-denials)以便您知道接下来要添加什么26* [检查您的有效配置](#inspect-the-defaults-and-your-effective-config),使用 `claude auto-mode` 子命令

27* [查看拒绝](#review-denials),以便您知道接下来要添加什么

28 

29<h2 id="common-boundaries">

30 常见边界

31</h2>

32 

33自动模式默认允许推送到您的工作分支、例行推送到存储库默认分支以及拉取请求创建。分类器仅在存在风险时(例如强制推送或绕过您设置的审查的内容)才会阻止推送。如果您想在每次推送或拉取请求之前进行人工检查点,请添加权限规则:以下配方将为其他所有操作保持自动模式开启。

34 

35最直接的机制是 [`permissions.ask`](/zh-CN/permissions#permission-rule-syntax)。内容范围的 ask 规则(如下面的规则)在分类器之前进行评估,并且即使在自动模式下也始终强制权限提示,因为显式 ask 规则是您明确表示要对该操作进行提示的意图。在您的 [settings](/zh-CN/settings#settings-files) 中添加规则:

36 

37```json theme={null}

38{

39 "permissions": {

40 "ask": [

41 "Bash(git push *)",

42 "Bash(gh pr create *)"

43 ]

44 }

45}

46```

47 

48选择与边界需要的严格程度相匹配的机制:

49 

50| 边界 | 机制 | 自动模式中的行为 |

51| :-------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------- |

52| 在操作前提示 | `permissions.ask` | 始终为内容范围的规则(如上面的配方)提示。分类器无法自动批准匹配的操作。 |

53| 永不运行操作 | `permissions.deny` | 在咨询分类器之前阻止。分类器和用户意图都无法覆盖它。 |

54| 此会话的一次性边界 | 在对话中说明,例如"在我审查之前不要推送" | 分类器阻止匹配的操作,但如果 [context compaction](/zh-CN/costs#reduce-token-usage) 删除了说明该边界的消息,边界可能会丢失。使用 ask 或 deny 规则以获得持久保证。 |

27 55 

28<h2 id="where-the-classifier-reads-configuration">56<h2 id="where-the-classifier-reads-configuration">

29 分类器读取配置的位置57 分类器读取配置的位置

30</h2>58</h2>

31 59 

32分类器读取与 Claude 本身加载的相同的 [CLAUDE.md](/zh-CN/memory) 内容,因此您项目的 CLAUDE.md 中的"从不强制推送"之类的指令同时指导 Claude 和分类器。从那里开始了解项目约定和行为规则。60分类器读取与 Claude 本身加载的相同 [CLAUDE.md](/zh-CN/memory) 内容,因此项目的 CLAUDE.md 中的指令(如"从不强制推送")会同时引导 Claude 和分类器。从那里开始了解项目约定和行为规则。

33 61 

34对于跨项目应用的规则,例如受信任的基础设施或组织范围的拒绝规则,请使用 `autoMode` 设置块。分类器从以下范围读取 `autoMode`:62对于跨项目应用的规则,例如受信任的基础设施或组织范围的拒绝规则,请使用 `autoMode` 设置块。分类器从以下范围读取 `autoMode`:

35 63 

36| 范围 | 文件 | 用途 |64| 范围 | 文件 | 用途 |

37| :------------------------- | :------------------------------------- | :--------------- |65| :------------------------- | :------------------------------------- | :--------------- |

38| 一个开发者 | `~/.claude/settings.json` | 个人受信任的基础设施 |66| 单个开发者 | `~/.claude/settings.json` | 个人受信任的基础设施 |

39| 一个项目,一个开发者 | `.claude/settings.local.json` | 按项目的受信任存储桶或服务 |

40| 组织范围 | [托管设置](/zh-CN/server-managed-settings) | 分发给所有开发者的受信任基础设施 |67| 组织范围 | [托管设置](/zh-CN/server-managed-settings) | 分发给所有开发者的受信任基础设施 |

41| `--settings` 标志或 Agent SDK | 内联 JSON | 用于自动化的按调用覆盖 |68| `--settings` 标志或 Agent SDK | 内联 JSON | 自动化的每次调用覆盖 |

42 69 

43分类器不从 `.claude/settings.json` 中的共享项目设置读取 `autoMode`,因此已检入的代码库无法注入其自己的允许规则70分类器不从 `.claude/settings.json` `.claude/settings.local.json` 中的项目设置读取 `autoMode`。两个文件都位于仓库目录中因此已检入的仓库或构建步骤可能会注入自己的允许规则在 v2.1.207 之前,分类器也读取 `.claude/settings.local.json`;将该文件中的任何 `autoMode` 块移动到 `~/.claude/settings.json`。排除 `.claude/settings.local.json` 也解决了仓库提交该文件或本地工具或构建步骤写入该文件的情况。

44 71 

45来自每个范围的条目被合并。开发者可以使用个人条目扩展 `environment`、`allow`、`soft_deny` 和 `hard_deny`,但无法删除托管设置提供的条目因为允许规则在分类器内充当软阻止规则的例外,开发者添加的 `allow` 条目可以覆盖组织 `soft_deny` 条目:组合是累加的,而不是硬策略边界。72来自每个范围的条目被合并。开发者可以使用个人条目扩展 `environment`、`allow`、`soft_deny` 和 `hard_deny`,但不能删除托管设置提供的条目由于允许规则在分类器内充当软块规则的例外,开发者添加的 `allow` 条目可以覆盖组织的 `soft_deny` 条目:组合是累加的,而不是硬策略边界。

46 73 

47<Note>74<Note>

48 分类器是在[权限系统](/zh-CN/permissions)之后运行的第二道门。对于无论用户意图或分类器配置如何都必须永远不运行的操作,请在托管设置中使用 `permissions.deny`,它在咨询分类器之前阻止操作,无法被覆盖。75 分类器是在[权限系统](/zh-CN/permissions)之后运行的第二道门。对于必须永远不运行的操作无论用户意图或分类器配置如何,请在托管设置中使用 `permissions.deny`,它在咨询分类器之前阻止操作,无法被覆盖。

49</Note>76</Note>

50 77 

51<h2 id="define-trusted-infrastructure">78<h2 id="define-trusted-infrastructure">


179```206```

180 207 

181<Danger>208<Danger>

182 在不包含 `"$defaults"` 的情况下设置 `environment`、`allow`、`soft_deny` 或 `hard_deny` 中的任何一个会替换该部分的整个默认列表。没有 `"$defaults"` 的 `soft_deny` 数组会丢弃每个内置软阻止规则包括强制推送、`curl | bash` 和生产部署。没有 `"$defaults"` 的 `hard_deny` 数组会丢弃内置的数据泄露和自动模式绕过规则。209 在不包含 `"$defaults"` 的情况下设置 `environment`、`allow`、`soft_deny` 或 `hard_deny` 中的任何一个会替换该部分的整个默认列表。如果您设置一个没有 `"$defaults"` 的数组您会丢弃该部分的内置规则:

210 

211 * `soft_deny`:每个内置软阻止规则,包括强制推送、`curl | bash`、生产部署和自动模式绕过

212 * `hard_deny`:内置的数据泄露规则

183</Danger>213</Danger>

184 214 

185每个部分独立评估,因此单独设置 `environment` 会保持默认 `allow`、`soft_deny` 和 `hard_deny` 列表完整。仅在您打算完全拥有该列表时才省略 `"$defaults"`。要安全地执行此操作,请运行 `claude auto-mode defaults` 打印内置规则,将它们复制到您的设置文件中,然后根据您自己的管道和风险容限审查每条规则。215每个部分独立评估,因此单独设置 `environment` 会保持默认 `allow`、`soft_deny` 和 `hard_deny` 列表完整。仅在您打算完全拥有该列表时才省略 `"$defaults"`。要安全地执行此操作,请运行 `claude auto-mode defaults` 打印内置规则,将它们复制到您的设置文件中,然后根据您自己的管道和风险容限审查每条规则。


220claude auto-mode defaults250claude auto-mode defaults

221```251```

222 252 

253{/* min-version: 2.1.208 */}要读取一条规则的完整措辞而不通过 `jq` 管道,请传递 `--label` 和规则标签的开头,例如 `claude auto-mode defaults --label 'Git Destructive'`。匹配是对每条规则标签的不区分大小写的前缀,没有匹配的部分打印为空列表。需要 Claude Code v2.1.208 或更高版本。

254 

223打印分类器实际使用的内容作为 JSON,应用您的设置(如果设置)或使用默认值:255打印分类器实际使用的内容作为 JSON,应用您的设置(如果设置)或使用默认值:

224 256 

225```bash theme={null}257```bash theme={null}

channels.md +2 −2

Details

261 </Step>261 </Step>

262</Steps>262</Steps>

263 263 

264如果 Claude 在您离开终端时遇到权限提示,会话会暂停,直到您响应。声明[权限中继功能](/zh-CN/channels-reference#relay-permission-prompts)的 Channel 服务器可以将这些提示转发给您,以便您可以远程批准或拒绝。对于无人值守使用,[`--dangerously-skip-permissions`](/zh-CN/permission-modes#skip-all-checks-with-bypasspermissions-mode) 完全绕过提示,但仅在您信任的环境中使用。264如果 Claude 在您离开终端时遇到权限提示,会话会暂停,直到您响应。声明[权限中继功能](/zh-CN/channels-reference#relay-permission-prompts)的 Channel 服务器可以将这些提示转发给您,以便您可以远程批准或拒绝。对于无人值守使用,[`--dangerously-skip-permissions`](/zh-CN/permission-modes#skip-all-checks-with-bypasspermissions-mode) 完全绕过提示,但仅在您信任的环境中使用。显式询问规则、连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具仍然会提示。

265 265 

266当您使用 `-p` 以非交互模式运行 channels 时,需要终端输入的工具(如多选问题和 Plan Mode 批准)被禁用,以便会话永远不会因等待输入而停滞。266当您使用 `-p` 以非交互模式运行 channels 时,需要终端输入的工具(如多选问题和 Plan Mode 批准)被禁用,以便会话永远不会因等待输入而停滞。

267 267 


329}329}

330```330```

331 331 

332设置 `allowedChannelPlugins` 时,它完全替换 Anthropic 允许列表:只有列出的插件可以注册。保持未设置以回退到默认 Anthropic 允许列表。空数组阻止所有 channel 插件从允许列表中,但 `--dangerously-load-development-channels` 仍可以为本地测试绕过它。要完全阻止 channels,包括开发标志,请改为保持 `channelsEnabled` 未设置。332设置 `allowedChannelPlugins` 时,它完全替换 Anthropic 允许列表:只有列出的插件可以注册。保持未设置以回退到默认 Anthropic 允许列表。如果设置空数组,您会阻止所有 channel 插件从允许列表中,但 `--dangerously-load-development-channels` 仍可以为本地测试绕过该阻止。要完全阻止 channels,包括开发标志,请改为保持 `channelsEnabled` 未设置。

333 333 

334此设置需要 `channelsEnabled: true`。如果用户将不在您列表中的插件传递给 `--channels`,Claude Code 会正常启动,但 channel 不会注册,启动通知会解释该插件不在组织的批准列表中。334此设置需要 `channelsEnabled: true`。如果用户将不在您列表中的插件传递给 `--channels`,Claude Code 会正常启动,但 channel 不会注册,启动通知会解释该插件不在组织的批准列表中。

335 335 

Details

21Claude Code 跟踪其文件编辑工具所做的所有更改:21Claude Code 跟踪其文件编辑工具所做的所有更改:

22 22 

23* 每个用户提示都会创建一个新的 checkpoint23* 每个用户提示都会创建一个新的 checkpoint

24* Claude Code 在一个会话中保留最近 100 个 checkpoint 的文件快照。丢弃较旧的 checkpoint 会删除没有其他 checkpoint 引用的快照文件,除了每个文件的第一个快照,VS Code 扩展将其用作会话 diffs 的基线。{/* min-version: 2.1.208 */}在 v2.1.208 之前,这些被取代的快照文件会保留在磁盘上,直到会话被清理。

24* Checkpoints 与对话一起保存,因此恢复的会话仍然可以 `/rewind` 到它们25* Checkpoints 与对话一起保存,因此恢复的会话仍然可以 `/rewind` 到它们

25* 在 30 天后自动清理(可配置)26* 在 30 天后自动清理(可配置)

26 27 

chrome.md +3 −1

Details

65 Go to code.claude.com/docs, click on the search box,65 Go to code.claude.com/docs, click on the search box,

66 type "hooks", and tell me what results appear66 type "hooks", and tell me what results appear

67 ```67 ```

68 

69 第一个浏览器操作要求获得使用 `claude-in-chrome` skill 的权限。批准它,Claude 将打开一个新标签页并开始任务。

68 </Step>70 </Step>

69</Steps>71</Steps>

70 72 


105 示例工作流107 示例工作流

106</h2>108</h2>

107 109 

108这些示例展示了将浏览器操作与编码任务结合的常见方式。运行 `/mcp` 并选择 `claude-in-chrome` 以查看可用浏览器工具的完整列表。110这些示例展示了将浏览器操作与编码任务结合的常见方式。运行 `/mcp`,选择 `claude-in-chrome`,然后选择**查看工具**以查看可用浏览器工具的完整列表。

109 111 

110<h3 id="test-a-local-web-application">112<h3 id="test-a-local-web-application">

111 测试本地网络应用113 测试本地网络应用

Details

190 190 

191空的 `auth` 块使用 AWS SDK 的默认凭证链:环境变量、`~/.aws/credentials`、ECS 任务角色、EC2 实例元数据或 EKS 上的 IRSA。在生产中,给网关 pod 一个 IAM 角色,而不是在容器镜像中嵌入静态密钥。191空的 `auth` 块使用 AWS SDK 的默认凭证链:环境变量、`~/.aws/credentials`、ECS 任务角色、EC2 实例元数据或 EKS 上的 IRSA。在生产中,给网关 pod 一个 IAM 角色,而不是在容器镜像中嵌入静态密钥。

192 192 

193显式凭证必须完整:当 `aws_access_key_id` 和 `aws_secret_access_key` 未一起设置时,或当 `aws_session_token` 在没有它们的情况下设置时,网关在启动时失败。在 v2.1.207 之前,部分 `auth:` 块通过验证。

194 

193| 设置 | 如何 |195| 设置 | 如何 |

194| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |196| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

195| IAM 权限 | 授予网关的主体 `bedrock:InvokeModel` 和 `bedrock:InvokeModelWithResponseStream` 在推理配置文件 ARN 和底层基础模型 ARN 上。对于美国地区的内置目录:`arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` 和 `arn:aws:bedrock:*::foundation-model/anthropic.*`。 |197| IAM 权限 | 授予网关的主体 `bedrock:InvokeModel` 和 `bedrock:InvokeModelWithResponseStream` 在推理配置文件 ARN 和底层基础模型 ARN 上。对于美国地区的内置目录:`arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` 和 `arn:aws:bedrock:*::foundation-model/anthropic.*`。 |


530* **在安全列表上**:自动更新和模型名称变量532* **在安全列表上**:自动更新和模型名称变量

531* **不在安全列表上**:代理变量、基础 URL 变量和 `OTEL_EXPORTER_OTLP_ENDPOINT`533* **不在安全列表上**:代理变量、基础 URL 变量和 `OTEL_EXPORTER_OTLP_ENDPOINT`

532 534 

533网关的[遥测](#telemetry)配置推送 `OTEL_EXPORTER_OTLP_ENDPOINT`,因此设置 `telemetry.forward_to` 在每个交互式客户端上触发对话。使用 `-p` 标志的非交互式运行跳过对话并在没有批准的情况下应用设置。对话保护开发者的机器免受受损或敌对网关,而不是组织免受开发者,因此 `-p` 跳过是故意的而不是差距535网关的[遥测](#telemetry)配置推送 `OTEL_EXPORTER_OTLP_ENDPOINT`,因此设置 `telemetry.forward_to` 在每个交互式客户端上触发对话。对话保护开发者的机器免受受损或敌对网关,而不是组织免受开发者。

536 

537使用 `-p` 标志的非交互式运行无法显示对话。它仅为该运行应用推送的设置,不将其记录为已批准,因此开发者的下一个交互式会话仍然显示对话。在 v2.1.207 之前,非交互式运行将设置保存为已批准,之后没有交互式会话为它们显示对话。

534 538 

535如果开发者拒绝,Claude Code 退出而不是应用策略。将新钩子或非安全环境变量推送到广泛策略因此意味着每个匹配开发者下一次启动时的批准提示。539如果开发者拒绝,Claude Code 退出而不是应用策略。将新钩子或非安全环境变量推送到广泛策略因此意味着每个匹配开发者下一次启动时的批准提示。

536 540 

Details

19 19 

20<Note>20<Note>

21 **在您的私有网络上部署。** Claude Code 仅连接到地址为私有的网关。这是一个安全防护,因为受信任的网关可以推送在开发者机器上运行命令的设置。将网关放在内部负载均衡器或 VPN 后面,并为其分配一个仅解析为私有 IP 的主机名。21 **在您的私有网络上部署。** Claude Code 仅连接到地址为私有的网关。这是一个安全防护,因为受信任的网关可以推送在开发者机器上运行命令的设置。将网关放在内部负载均衡器或 VPN 后面,并为其分配一个仅解析为私有 IP 的主机名。

22 

23 Anthropic 运营的公共网关端点是例外:`/login` 通过 `https://` 接受它们。这是一小组固定的由 Anthropic 本身运营的网关;它们不是您可以选择或配置的部署选项。该列表被编译到 Claude Code 中,因此没有配置可以向其添加主机名,您托管的任何网关都不符合豁免条件。{/* min-version: 2.1.206 */}在 v2.1.206 之前,`/login` 像拒绝任何其他公共地址一样拒绝这些端点。

22</Note>24</Note>

23 25 

24<h2 id="identity-provider-setup">26<h2 id="identity-provider-setup">


271* **推理问题**:请求的模型、配置的上游和请求的网关审计日志,记录哪个上游提供了它和响应状态273* **推理问题**:请求的模型、配置的上游和请求的网关审计日志,记录哪个上游提供了它和响应状态

272 274 

273| 症状 | 原因 | 修复 |275| 症状 | 原因 | 修复 |

274| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |276| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

275| 开发者的 `/login` 显示标准账户选择器而不是 **Cloud gateway** 屏幕 | `forceLoginMethod` 或 `forceLoginGatewayUrl` 未在该机器的托管设置中设置 | 将 [托管设置文件](/zh-CN/claude-apps-gateway#set-the-gateway-url) 部署到设备;`/login` 从那里读取网关 URL |277| 开发者的 `/login` 显示标准账户选择器而不是 **Cloud gateway** 屏幕 | `forceLoginMethod` 或 `forceLoginGatewayUrl` 未在该机器的托管设置中设置 | 将 [托管设置文件](/zh-CN/claude-apps-gateway#set-the-gateway-url) 部署到设备;`/login` 从那里读取网关 URL |

276| 启动显示 `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | 安装的 Claude Code 构建早于网关支持 | 让开发者更新 Claude Code 到包括 Cloud gateway 支持的版本 |278| 启动显示 `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | 安装的 Claude Code 构建早于网关支持 | 让开发者更新 Claude Code 到包括 Cloud gateway 支持的版本 |

277| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 网关主机名解析为至少一个公共 IP 地址。Claude Code 检查每个解析的地址,需要每一个都是私有的。常见原因是一个双栈名称,其中一个族解析为公共地址,包括 AWS 内部双栈负载均衡器,它们返回公共范围 AAAA 地址 | 让网关名称在开发者机器上仅解析为私有地址。对于双栈名称,删除公共范围记录或提供单独的仅内部 DNS 名称。请参阅 [私有网络先决条件](/zh-CN/claude-apps-gateway#prerequisites)。 |279| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 网关主机名解析为至少一个公共 IP 地址。Claude Code 检查每个解析的地址,需要每一个都是私有的。常见原因是一个双栈名称,其中一个族解析为公共地址,包括 AWS 内部双栈负载均衡器,它们返回公共范围 AAAA 地址。Anthropic 运营的公共网关端点免于检查,`/login` 通过 `https://` 接受它们。在 v2.1.206 之前,`/login` 拒绝它们,就像任何其他公共地址一样 | 让网关名称在开发者机器上仅解析为私有地址。对于双栈名称,删除公共范围记录或提供单独的仅内部 DNS 名称。请参阅 [私有网络先决条件](/zh-CN/claude-apps-gateway#prerequisites)。 |

278| CLI `/login`:`Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 适用于网关主机,代理的主机名解析为公共地址。代理的主机解析为仅私有地址是允许的,不会触发此错误 | 在开发者的机器上将网关主机添加到 `NO_PROXY`,以便连接是直接的,或使用主机名解析为私有地址的代理 |280| CLI `/login`:`Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 适用于网关主机,代理的主机名解析为公共地址。代理的主机解析为仅私有地址是允许的,不会触发此错误 | 在开发者的机器上将网关主机添加到 `NO_PROXY`,以便连接是直接的,或使用主机名解析为私有地址的代理 |

279| CLI `/login`:`Could not resolve gateway host <host>` | 机器无法解析网关的内部 DNS 名称,通常是因为它不在公司网络上 | 让开发者连接到您的网络或 VPN,然后重试 `/login` |281| CLI `/login`:`Could not resolve gateway host <host>` | 机器无法解析网关的内部 DNS 名称,通常是因为它不在公司网络上 | 让开发者连接到您的网络或 VPN,然后重试 `/login` |

280| 启动退出,配置验证错误命名 `store.postgres_url` | 未配置 Postgres;网关需要 Postgres | 设置 `store.postgres_url`。对于本地开发,使用一次性容器:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |282| 启动退出,配置验证错误命名 `store.postgres_url` | 未配置 Postgres;网关需要 Postgres | 设置 `store.postgres_url`。对于本地开发,使用一次性容器:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |

Details

113 113 

114云会话包括内置的 GitHub 工具,让 Claude 可以读取问题、列出拉取请求、获取 diffs 和发布评论,无需任何设置。这些工具通过[GitHub 代理](#github-proxy)进行身份验证,使用你在[GitHub 身份验证选项](#github-authentication-options)下配置的任何方法,所以你的令牌永远不会进入容器。114云会话包括内置的 GitHub 工具,让 Claude 可以读取问题、列出拉取请求、获取 diffs 和发布评论,无需任何设置。这些工具通过[GitHub 代理](#github-proxy)进行身份验证,使用你在[GitHub 身份验证选项](#github-authentication-options)下配置的任何方法,所以你的令牌永远不会进入容器。

115 115 

116你可以在[环境设置](#configure-your-environment)中自己设置 `GH_TOKEN` 或 `GITHUB_TOKEN`,或者两者都不设置,让[GitHub 代理](#github-proxy)为你进行身份验证:

117 

118* 如果你设置了令牌,它会原样传递到容器中,所以 `gh` 和你的脚本直接使用它。

119* 如果你两者都不设置,容器会将两个变量都设置为占位符字符串 `proxy-injected`,代理会在出站 GitHub 请求上替换你的真实凭证。`gh` 无需你自己的令牌即可工作,但直接读取 `GITHUB_TOKEN` 的脚本会获得占位符,而不是可用的令牌。

120 

121要检查哪种情况适用于你的会话,请要求 Claude 运行 `echo $GH_TOKEN`。

122 

116`gh` CLI 未预装。如果你需要内置工具不涵盖的 `gh` 命令,如 `gh release` 或 `gh workflow run`,请自己安装和身份验证:123`gh` CLI 未预装。如果你需要内置工具不涵盖的 `gh` 命令,如 `gh release` 或 `gh workflow run`,请自己安装和身份验证:

117 124 

118<Steps>125<Steps>


120 将 `apt update && apt install -y gh` 添加到你的[设置脚本](#setup-scripts)。127 将 `apt update && apt install -y gh` 添加到你的[设置脚本](#setup-scripts)。

121 </Step>128 </Step>

122 129 

123 <Step title="提供令牌">130 <Step title="如果代理未处理身份验证,请提供令牌">

124 将 `GH_TOKEN` 环境变量添加到你的[环境设置](#configure-your-environment),使用 GitHub 个人访问令牌。`gh` 会自动读取 `GH_TOKEN`,所以不需要 `gh auth login` 步骤。131 如果 `echo $GH_TOKEN` 打印 `proxy-injected`,[GitHub 代理](#github-proxy)会为你验证 `gh`,此步骤不必要。否则,将 `GH_TOKEN` 环境变量添加到你的[环境设置](#configure-your-environment),使用 GitHub 个人访问令牌。`gh` 会自动读取 `GH_TOKEN`,所以不需要 `gh auth login` 步骤。

125 </Step>132 </Step>

126</Steps>133</Steps>

127 134 


194DATABASE_URL=postgres://localhost:5432/myapp201DATABASE_URL=postgres://localhost:5432/myapp

195```202```

196 203 

204<h3 id="organization-shared-environments">

205 组织共享环境

206</h3>

207 

208Team 和 Enterprise 计划上的所有者和管理员可以创建与组织的每个成员共享的云环境。共享环境在每个成员的环境选择器中与他们的个人环境一起出现,所以团队可以标准化一个配置,而不是每个成员重新创建它。

209 

210从[管理设置](https://claude.ai/admin-settings)中的**云环境**页面管理共享环境。从那里你可以:

211 

212* 创建、编辑和归档共享环境。每个环境都有与个人环境相同的字段:名称、[网络访问级别](#access-levels)、`.env` 格式的[环境变量](#configure-your-environment)和[设置脚本](#setup-scripts)。

213* 为组织设置默认环境。

214 

215共享环境中的值到达该环境中每个成员的会话。与个人环境一样,共享环境没有专用的秘密存储,所以不要包含秘密。

216 

217自托管运行器计划中的组织也从同一页面管理他们的运行器池。

218 

197<h2 id="setup-scripts">219<h2 id="setup-scripts">

198 设置脚本220 设置脚本

199</h2>221</h2>


338 360 

339使用 `*.` 进行通配符子域匹配。检查**也包括常见包管理器的默认列表**以在自定义条目旁边保留[受信任的域](#default-allowed-domains),或将其取消选中以仅允许你列出的内容。361使用 `*.` 进行通配符子域匹配。检查**也包括常见包管理器的默认列表**以在自定义条目旁边保留[受信任的域](#default-allowed-domains),或将其取消选中以仅允许你列出的内容。

340 362 

363允许的域按环境配置。没有组织级别的允许列表,所有者可以推送给所有用户的环境;[服务器管理的设置](/zh-CN/server-managed-settings)可以限制云会话,但无法添加允许的域。

364 

341<h3 id="github-proxy">365<h3 id="github-proxy">

342 GitHub 代理366 GitHub 代理

343</h3>367</h3>

344 368 

345为了安全起见,所有 GitHub 操作都通过专用代理服务进行,该服务透明地处理所有 git 交互。在沙箱内,git 客户端使用自定义构建的作用域凭证进行身份验证此代理369为了安全起见,所有 GitHub 操作都通过专用代理服务进行,该服务将你的真实 GitHub 凭证保留在沙箱外代理验证两种类型的流量

346 370 

347* 安全地管理 GitHub 身份验证:git 客户端在沙箱内使用作用域凭证,代理验证并将其转换为你的实际 GitHub 身份验证令牌371* Git 交互沙箱内的 git 客户端使用自定义构建的作用域凭证,代理验证并将其转换为你的实际 GitHub 身份验证令牌

348* 限制 git push 操作到当前工作分支以确保安全372* GitHub API 请求:代理在来自内置 GitHub 工具的请求上替换你的真实凭证,以及来自 `gh` 的请求(当你的会话设置[使用 GitHub 问题和拉取请求](#work-with-github-issues-and-pull-requests)中描述的 `proxy-injected` 占位符时)

349* 启用克隆、获取和 PR 操作,同时维护安全边界373 

374代理还限制 git push 操作到当前工作分支以确保安全,并启用克隆、获取和 PR 操作,同时维护安全边界。

375 

376代理限制 GitHub API 和发布资产请求到附加到会话的存储库,无论环境的[访问级别](#access-levels)如何。从未附加的存储库下载发布资产的设置脚本返回 403。来自公共存储库的已提交文件通过 `raw.githubusercontent.com` 获取,[安全代理](#security-proxy)处理该域。该域在默认[受信任列表](#default-allowed-domains)中,所以文件保持可访问,除非环境的[访问级别](#access-levels)排除它。

350 377 

351<h3 id="security-proxy">378<h3 id="security-proxy">

352 安全代理379 安全代理


743 管理上下文770 管理上下文

744</h3>771</h3>

745 772 

746云会话支持产生文本输出的[内置命令](/zh-CN/commands)。仅在终端界面中运行的命令,如 `/plugin` 或 `/resume`,不可用。{/* min-version: 2.1.205 */}}`/model`、`/effort`、`/fast`、`/color` 和 `/rename` 与值一起作为参数工作,例如 `/model sonnet`,而不是打开终端选择器或滑块;参数形式需要会话环境中的 Claude Code v2.1.205 或更高版本,并遵循每个命令的[可用性说明](/zh-CN/commands#all-commands),因此当模型的[启动默认工作量保持](/zh-CN/model-config#adjust-effort-level)生效时 `/effort` 报告 `Not applied`而 `/fast` 仅在以快速模式启动的会话中工作。`/config` 在你传递 `key=value` 时设置一个设置。773云会话支持产生文本输出的[内置命令](/zh-CN/commands)。仅在终端界面中运行的命令,如 `/plugin` 或 `/resume`,不可用。在云会话中打开选择器或面板的命令表现不同:

774 

775* {/* min-version: 2.1.205 */}**`/model`、`/effort`、`/fast`、`/color` 和 `/rename`**:将值作为参数传递,例如 `/model sonnet`,而不是打开终端选择器或滑块。参数形式需要会话环境中的 Claude Code v2.1.205 或更高版本,并遵循每个命令的[可用性说明](/zh-CN/commands#all-commands):当模型的[启动默认工作量保持](/zh-CN/model-config#adjust-effort-level)生效时,`/effort` 报告 `Not applied`,而 `/fast` 仅在以快速模式启动的会话中工作。

776* **`/config`**:在网络上,打开你的设置的 Claude Code 部分,而不是设置值,命令后的文本(包括 `key=value`)被忽略。要更改云会话的设置,请使用[环境变量](#configure-your-environment)或将[设置文件](/zh-CN/settings)提交到存储库。

747 777 

748对于上下文管理特别是:778对于上下文管理特别是:

749 779 

Details

1533下面路径中的文件在启动时被删除,一旦它们的年龄超过 [`cleanupPeriodDays`](/zh-CN/settings#available-settings)。默认值为 30 天。1533下面路径中的文件在启动时被删除,一旦它们的年龄超过 [`cleanupPeriodDays`](/zh-CN/settings#available-settings)。默认值为 30 天。

1534 1534 

1535| `~/.claude/` 下的路径 | 内容 |1535| `~/.claude/` 下的路径 | 内容 |

1536| -------------------------------------------- | --------------------------------------------------------------------------------------- |1536| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |

1537| `projects/<project>/<session>.jsonl` | 完整的对话记录:每条消息、工具调用和工具结果 |1537| `projects/<project>/<session>.jsonl` | 完整的对话记录:每条消息、工具调用和工具结果 |

1538| `projects/<project>/<session>/subagents/` | [Subagent](/zh-CN/sub-agents) 对话记录,当父会话记录过期时被删除 |1538| `projects/<project>/<session>/subagents/` | [Subagent](/zh-CN/sub-agents) 对话记录,当父会话记录过期时被删除 |

1539| `projects/<project>/<session>/tool-results/` | 大型工具输出溢出到单独的文件 |1539| `projects/<project>/<session>/tool-results/` | 大型工具输出溢出到单独的文件 |

1540| `file-history/<session>/` | Claude 更改的文件的编辑前快照,用于 [checkpoint 恢复](/zh-CN/checkpointing) |1540| `file-history/<session>/` | Claude 更改的文件的编辑前快照,用于 [checkpoint 恢复](/zh-CN/checkpointing)。保存最近 100 个 checkpoint 的快照;没有保留 checkpoint 引用的快照文件被删除,除了每个文件的第一个快照 |

1541| `plans/` | 在 [Plan Mode](/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode) 期间写入的计划文件 |1541| `plans/` | 在 [Plan Mode](/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode) 期间写入的计划文件 |

1542| `debug/` | 每个会话的调试日志,仅在您使用 `--debug` 启动或运行 `/debug` 时写入 |1542| `debug/` | 每个会话的调试日志,仅在您使用 `--debug` 启动或运行 `/debug` 时写入 |

1543| `paste-cache/`、`image-cache/` | 大型粘贴和附加图像的内容 |1543| `paste-cache/`、`image-cache/` | 大型粘贴和附加图像的内容 |

1544| `session-env/` | 每个会话的环境元数据 |1544| `session-env/` | 每个会话的环境元数据 |

1545| `tasks/` | 由 Task 工具写入的每个会话的任务列表 |1545| `tasks/` | 由 Task 工具写入的每个会话的任务列表 |

1546| `shell-snapshots/` | 由 Bash 工具使用的捕获的 shell 环境。在正常退出时删除。扫描清理任何在崩溃后留下的内容。 |1546| `shell-snapshots/` | 在启动时捕获的别名、函数和 shell 选项,[Bash 工具](/zh-CN/tools-reference#bash-tool-behavior) 应用于每个命令。在正常退出时删除。扫描清理任何在崩溃后留下的内容。 |

1547| `backups/` | 在配置迁移前获取的 `~/.claude.json` 的时间戳副本 |1547| `backups/` | 在配置迁移前获取的 `~/.claude.json` 的时间戳副本 |

1548| `feedback-bundles/` | 由 `/feedback` 在第三方提供商上写入的编辑后的记录存档,用于发送到您的 Anthropic 账户团队 |1548| `feedback-bundles/` | 由 `/feedback` 在第三方提供商上或当未配置 Anthropic 凭证时写入的编辑后的记录存档,用于发送到您的 Anthropic 账户团队 |

1549| `todos/`、`statsig/`、`logs/` | 来自旧版本的旧版目录。不再写入。扫描删除其内容,然后删除空目录。 |1549| `todos/`、`statsig/`、`logs/` | 来自旧版本的旧版目录。不再写入。扫描删除其内容,然后删除空目录。 |

1550 1550 

1551<h3 id="kept-until-you-delete-them">1551<h3 id="kept-until-you-delete-them">

Details

188 188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 190 

191AWS 上的 Claude Platform 是 Anthropic 运营的 Claude API,支持 AWS 身份验证、IAM 访问控制和 AWS Marketplace 计费。请求直接到达 Anthropic 的 API,因此您获得与 [Claude API](https://platform.claude.com/docs) 相同的模型和功能,并遵循相同的发布计划。您可以使用 AWS 凭证或工作区 API 密钥进行身份验证,并通过 AWS Marketplace 付款。191AWS 上的 Claude Platform 是 Anthropic 运营的 Claude API,支持 AWS 身份验证、IAM 访问控制和 AWS Marketplace 计费。请求直接到达 Anthropic 的 API,因此您获得与 [Claude API](https://platform.claude.com/docs) 相同的模型和 API 功能,并遵循相同的发布计划。Claude Code 通过 Anthropic 的功能标志服务启用的客户端功能(例如 [`/loop` 自我调节](/zh-CN/scheduled-tasks#let-claude-choose-the-interval))默认处于关闭状态,[advisor 工具](/zh-CN/advisor)不可用。有关完整列表,请参阅[功能可用性矩阵](/zh-CN/feature-availability#summary-by-provider)。您可以使用 AWS 凭证或工作区 API 密钥进行身份验证,并通过 AWS Marketplace 付款。

192 192 

193使用本指南将 Claude Code 指向您已通过 AWS 上的 Claude Platform 配置的工作区。有关在此之前的 AWS 订阅和工作区设置,请参阅 [AWS 上的 Claude Platform 文档](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)。193使用本指南将 Claude Code 指向您已通过 AWS 上的 Claude Platform 配置的工作区。有关在此之前的 AWS 订阅和工作区设置,请参阅 [AWS 上的 Claude Platform 文档](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)。

194 194 


276 3. 固定模型版本276 3. 固定模型版本

277</h3>277</h3>

278 278 

279AWS 上的 Claude Platform 使用与直接 Claude API 相同的模型 ID。默认别名 `fable`、`opus`、`sonnet` 和 `haiku` 解析为 Claude Code 为 AWS 上的 Claude Platform 内置的默认值,这些值可能滞后于最新版本。如果没有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,`opus` 别名解析为 Opus 4.8。279AWS 上的 Claude Platform 使用与直接 Claude API 相同的模型 ID。

280 

281默认别名 `fable`、`opus`、`sonnet` 和 `haiku` 解析为 Claude Code 为 AWS 上的 Claude Platform 内置的默认值,这些值可能滞后于最新版本。如果没有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,`opus` 别名解析为 Opus 4.8。{/* min-version: 2.1.207 */}在 v2.1.207 之前,它解析为 Opus 4.7。

280 282 

281如果您将 Claude Code 部署到团队,请显式固定模型 ID,以便新版本不会一次性移动所有人:283如果您将 Claude Code 部署到团队,请显式固定模型 ID,以便新版本不会一次性移动所有人:

282 284 

Details

29| `claude auth status` | 以 JSON 格式显示身份验证状态。使用 `--text` 获取人类可读的输出。如果已登录,则以代码 0 退出,如果未登录,则以代码 1 退出 | `claude auth status` |29| `claude auth status` | 以 JSON 格式显示身份验证状态。使用 `--text` 获取人类可读的输出。如果已登录,则以代码 0 退出,如果未登录,则以代码 1 退出 | `claude auth status` |

30| `claude agents` | 打开 [agent view](/zh-CN/agent-view) 以监控和分派并行后台会话。使用 `--cwd <path>` 仅显示在该目录下启动的会话,或使用 `--json` 将实时会话打印为 JSON 数组以供脚本使用(`--json --all` 也包括已完成的后台会话)。传递 `--permission-mode`、`--model`、`--effort` 或 `--agent` 以设置 [分派会话的默认值](/zh-CN/agent-view#permission-mode-model-and-effort)。接受 `--settings`、`--add-dir`、`--plugin-dir` 和 `--mcp-config`,如顶级 `claude` 命令。打开 agent view 需要交互式终端 | `claude agents --json` |30| `claude agents` | 打开 [agent view](/zh-CN/agent-view) 以监控和分派并行后台会话。使用 `--cwd <path>` 仅显示在该目录下启动的会话,或使用 `--json` 将实时会话打印为 JSON 数组以供脚本使用(`--json --all` 也包括已完成的后台会话)。传递 `--permission-mode`、`--model`、`--effort` 或 `--agent` 以设置 [分派会话的默认值](/zh-CN/agent-view#permission-mode-model-and-effort)。接受 `--settings`、`--add-dir`、`--plugin-dir` 和 `--mcp-config`,如顶级 `claude` 命令。打开 agent view 需要交互式终端 | `claude agents --json` |

31| `claude attach <id>` | 在此终端中附加到 [后台会话](/zh-CN/agent-view#manage-sessions-from-the-shell) | `claude attach 7c5dcf5d` |31| `claude attach <id>` | 在此终端中附加到 [后台会话](/zh-CN/agent-view#manage-sessions-from-the-shell) | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | 以 JSON 格式打印内置 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分类器规则。使用 `claude auto-mode config` 查看应用了设置的有效配置 | `claude auto-mode defaults > rules.json` |32| `claude auto-mode defaults` | 以 JSON 格式打印内置 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分类器规则。使用 `claude auto-mode config` 查看应用了设置的有效配置。{/* min-version: 2.1.208 */}}`--label <prefix>` 仅打印标签以该前缀开头的规则,不区分大小写匹配。需要 Claude Code v2.1.208 或更高版本 | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude daemon status` | 打印后台会话 [supervisor](/zh-CN/agent-view#the-supervisor-process) 的状态、版本、套接字目录和工作进程数以进行诊断。如果 supervisor 未运行,则退出代码 1 | `claude daemon status` |33| `claude daemon status` | 打印后台会话 [supervisor](/zh-CN/agent-view#the-supervisor-process) 的状态、版本、套接字目录和工作进程数以进行诊断。如果 supervisor 未运行,则退出代码 1 | `claude daemon status` |

34| `claude daemon stop --any` | 停止后台会话 [supervisor](/zh-CN/agent-view#the-supervisor-process) 及其托管的会话。传递 `--keep-workers` 以保持后台会话运行,以便下一个 supervisor 重新连接到它们。`--any` 确认停止按需 supervisor,这是默认值。使用此命令从 [无响应的 supervisor](/zh-CN/agent-view#agent-view-says-the-background-service-did-not-respond) 恢复 | `claude daemon stop --any --keep-workers` |34| `claude daemon stop --any` | 停止后台会话 [supervisor](/zh-CN/agent-view#the-supervisor-process) 及其托管的会话。传递 `--keep-workers` 以保持后台会话运行,以便下一个 supervisor 重新连接到它们。`--any` 确认停止按需 supervisor,这是默认值。使用此命令从 [无响应的 supervisor](/zh-CN/agent-view#agent-view-says-the-background-service-did-not-respond) 恢复 | `claude daemon stop --any --keep-workers` |

35| `claude doctor` | 从终端打印只读安装和设置诊断,无需启动会话,包括安装健康状况、设置文件验证错误和远程控制资格。对于可以应用修复的会话内设置检查,请运行 [`/doctor`](/zh-CN/commands#all-commands) | `claude doctor` |35| `claude doctor` | 从终端打印只读安装和设置诊断,无需启动会话,包括安装健康状况、设置文件验证错误和远程控制资格。对于可以应用修复的会话内设置检查,请运行 [`/doctor`](/zh-CN/commands#all-commands) | `claude doctor` |


76| `--cloud` | 在 claude.ai 上创建新的 [网络会话](/zh-CN/claude-code-on-the-web),提供任务描述 | `claude --cloud "Fix the login bug"` |76| `--cloud` | 在 claude.ai 上创建新的 [网络会话](/zh-CN/claude-code-on-the-web),提供任务描述 | `claude --cloud "Fix the login bug"` |

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

78| `--dangerously-load-development-channels` | 启用不在批准的允许列表中的 [channels](/zh-CN/channels-reference#test-during-the-research-preview),用于本地开发。接受 `plugin:<name>@<marketplace>` 和 `server:<name>` 条目。提示确认 | `claude --dangerously-load-development-channels server:webhook` |78| `--dangerously-load-development-channels` | 启用不在批准的允许列表中的 [channels](/zh-CN/channels-reference#test-during-the-research-preview),用于本地开发。接受 `plugin:<name>@<marketplace>` 和 `server:<name>` 条目。提示确认 | `claude --dangerously-load-development-channels server:webhook` |

79| `--dangerously-skip-permissions` | 跳过权限提示。等同于 `--permission-mode bypassPermissions`。请参阅 [权限模式](/zh-CN/permission-modes#skip-all-checks-with-bypasspermissions-mode) 了解此操作跳过和不跳过的内容 | `claude --dangerously-skip-permissions` |79| `--dangerously-skip-permissions` | 跳过权限提示。等同于 `--permission-mode bypassPermissions`。请参阅 [权限模式](/zh-CN/permission-modes#skip-all-checks-with-bypasspermissions-mode) 了解此操作跳过和不跳过的内容。对于使用 `--bg` 启动的会话,该模式 [在主管重启会话时持久化](/zh-CN/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |

80| `--debug` | 启用调试模式,可选类别过滤(例如,`"api,hooks"` 或 `"!statsig,!file"`) | `claude --debug "api,mcp"` |80| `--debug` | 启用调试模式,可选类别过滤(例如,`"api,hooks"` 或 `"!statsig,!file"`) | `claude --debug "api,mcp"` |

81| `--debug-file <path>` | 将调试日志写入特定文件路径。隐式启用调试模式。优先于 `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |81| `--debug-file <path>` | 将调试日志写入特定文件路径。隐式启用调试模式。优先于 `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

82| `--disable-slash-commands` | 为此会话禁用所有 skills 和命令 | `claude --disable-slash-commands` |82| `--disable-slash-commands` | 为此会话禁用所有 skills 和命令 | `claude --disable-slash-commands` |


91| `--ide` | 如果恰好有一个有效的 IDE 可用,则在启动时自动连接到 IDE | `claude --ide` |91| `--ide` | 如果恰好有一个有效的 IDE 可用,则在启动时自动连接到 IDE | `claude --ide` |

92| `--init` | 在会话前运行带有 `init` 匹配器的 [Setup hooks](/zh-CN/hooks#setup)(仅打印模式) | `claude -p --init "query"` |92| `--init` | 在会话前运行带有 `init` 匹配器的 [Setup hooks](/zh-CN/hooks#setup)(仅打印模式) | `claude -p --init "query"` |

93| `--init-only` | 运行 [Setup](/zh-CN/hooks#setup) 和 `SessionStart` hooks,然后退出而不启动对话 | `claude --init-only` |93| `--init-only` | 运行 [Setup](/zh-CN/hooks#setup) 和 `SessionStart` hooks,然后退出而不启动对话 | `claude --init-only` |

94| `--include-hook-events` | 在输出流中包含所有 hook 生命周期事件。需要 `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |94| `--include-hook-events` | 在输出流中包含所有 hook 生命周期事件。`SessionStart` 和 `Setup` hook 事件始终包含,不需要此标志。需要 `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

95| `--include-partial-messages` | 在输出中包含部分流事件。需要 `--print` 和 `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |95| `--include-partial-messages` | 在输出中包含部分流事件。需要 `--print` 和 `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |

96| `--input-format` | 为打印模式指定输入格式(选项:`text`、`stream-json`) | `claude -p --output-format json --input-format stream-json` |96| `--input-format` | 为打印模式指定输入格式(选项:`text`、`stream-json`) | `claude -p --output-format json --input-format stream-json` |

97| `--json-schema` | 在代理完成其工作流后获得与 JSON Schema 匹配的验证 JSON 输出(仅打印模式)。请参阅 [结构化输出](/zh-CN/agent-sdk/structured-outputs)。{/* min-version: 2.1.205 */}Claude Code 在无效的 schema 上以错误退出,并接受 `format` 关键字作为注释而无需客户端验证。在 v2.1.205 之前,无效的 schema 产生无结构的输出且没有错误,使用 `format` 的 schemas 被视为无效 | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |97| `--json-schema` | 在代理完成其工作流后获得与 JSON Schema 匹配的验证 JSON 输出(仅打印模式)。请参阅 [结构化输出](/zh-CN/agent-sdk/structured-outputs)。{/* min-version: 2.1.205 */}Claude Code 在无效的 schema 上以错误退出,并接受 `format` 关键字作为注释而无需客户端验证。在 v2.1.205 之前,无效的 schema 产生无结构的输出且没有错误,使用 `format` 的 schemas 被视为无效 | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |


105| `--no-session-persistence` | 禁用会话持久化,以便会话不会保存到磁盘且无法恢复。仅打印模式。[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/zh-CN/env-vars) 环境变量在任何模式下都做同样的事情 | `claude -p --no-session-persistence "query"` |105| `--no-session-persistence` | 禁用会话持久化,以便会话不会保存到磁盘且无法恢复。仅打印模式。[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/zh-CN/env-vars) 环境变量在任何模式下都做同样的事情 | `claude -p --no-session-persistence "query"` |

106| `--output-format` | 为打印模式指定输出格式(选项:`text`、`json`、`stream-json`) | `claude -p "query" --output-format json` |106| `--output-format` | 为打印模式指定输出格式(选项:`text`、`json`、`stream-json`) | `claude -p "query" --output-format json` |

107| `--permission-mode` | 以指定的 [权限模式](/zh-CN/permission-modes) 开始。接受 `default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions` 或 {/* min-version: 2.1.200 */}}`manual` 作为 `default` 的别名。`manual` 别名选择 UI 标记为"手动"的模式,需要 Claude Code v2.1.200 或更高版本;`claude --help` 用它代替 `default` 列出它,两个值都有效。覆盖设置文件中的 `defaultMode` | `claude --permission-mode plan` |107| `--permission-mode` | 以指定的 [权限模式](/zh-CN/permission-modes) 开始。接受 `default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions` 或 {/* min-version: 2.1.200 */}}`manual` 作为 `default` 的别名。`manual` 别名选择 UI 标记为"手动"的模式,需要 Claude Code v2.1.200 或更高版本;`claude --help` 用它代替 `default` 列出它,两个值都有效。覆盖设置文件中的 `defaultMode` | `claude --permission-mode plan` |

108| `--permission-prompt-tool` | 指定 MCP 工具以在非交互模式下处理权限提示。{/* min-version: 2.1.199 */}截至 v2.1.199,提示工具无法批准标记为 [需要用户交互](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具:一个的 `allow` 结果被转换为拒绝 | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |108| `--permission-prompt-tool` | 指定 MCP 工具以在非交互模式下处理权限提示。{/* min-version: 2.1.206 */}Claude Code 等待该工具的 MCP 服务器连接后再运行第一轮,最多等待 [`MCP_TIMEOUT`](/zh-CN/env-vars) 启动超时 30 秒。在 v2.1.206 之前启动缓慢的服务器可能会导致运行 [以错误退出,表示未找到 MCP 工具](/zh-CN/errors#mcp-permission-prompt-tool-not-found)。<br /><br />{/* min-version: 2.1.199 */}提示工具无法批准标记为 [需要用户交互](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具:Claude Code 将其中一个的 `allow` 结果转换为拒绝。此限制需要 Claude Code v2.1.199 或更高版本 | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

109| `--plugin-dir` | 仅为此会话从目录或 `.zip` 存档加载插件。每个标志采用一个路径。重复该标志以获取多个插件:`--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |109| `--plugin-dir` | 仅为此会话从目录或 `.zip` 存档加载插件。每个标志采用一个路径。重复该标志以获取多个插件:`--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

110| `--plugin-url` | 仅为此会话从 URL 获取插件 `.zip` 存档。重复该标志以获取多个插件,或在单个引用值中传递以空格分隔的 URL | `claude --plugin-url https://example.com/plugin.zip` |110| `--plugin-url` | 仅为此会话从 URL 获取插件 `.zip` 存档。重复该标志以获取多个插件,或在单个引用值中传递以空格分隔的 URL | `claude --plugin-url https://example.com/plugin.zip` |

111| `--print`, `-p` | 打印响应而不进入交互模式(请参阅 [Agent SDK 文档](/zh-CN/agent-sdk/overview) 了解编程使用详情) | `claude -p "query"` |111| `--print`, `-p` | 打印响应而不进入交互模式(请参阅 [Agent SDK 文档](/zh-CN/agent-sdk/overview) 了解编程使用详情) | `claude -p "query"` |

commands.md +18 −16

Details

12 12 

13命令只在您的消息开头被识别。命令名称后面的文本作为参数传递给它。{/* min-version: 2.1.199 */}从 v2.1.199 开始,[skills](/zh-CN/skills#pass-arguments-to-skills) 是例外:skill 调用后跟更多 skills,例如 `/skill-a /skill-b do XYZ`,会加载开头命名的每个 skill,并将尾部文本作为参数传递给每个 skill。最多可以链接六个 skills。13命令只在您的消息开头被识别。命令名称后面的文本作为参数传递给它。{/* min-version: 2.1.199 */}从 v2.1.199 开始,[skills](/zh-CN/skills#pass-arguments-to-skills) 是例外:skill 调用后跟更多 skills,例如 `/skill-a /skill-b do XYZ`,会加载开头命名的每个 skill,并将尾部文本作为参数传递给每个 skill。最多可以链接六个 skills。

14 14 

15如果您在 Claude 正在响应时发送命令,它会排队并在当前轮次完成后运行。某些命令,例如 `/status`、`/tasks` 和 `/usage`,会立即运行而不中断响应。

16 

15<h2 id="commands-across-a-typical-workflow">17<h2 id="commands-across-a-typical-workflow">

16 典型工作流程中的命令18 典型工作流程中的命令

17</h2>19</h2>


22 24 

23**在任务期间。** `/plan` 在大型更改前切换到 Plan Mode。`/model` 和 `/effort` 调整您使用的模型以及它应用的推理量。当对话变长时,`/context` 显示窗口中填充的内容,`/compact` 将其总结以释放空间。使用 `/btw` 进行快速附加说明,不应该添加到对话历史记录中。25**在任务期间。** `/plan` 在大型更改前切换到 Plan Mode。`/model` 和 `/effort` 调整您使用的模型以及它应用的推理量。当对话变长时,`/context` 显示窗口中填充的内容,`/compact` 将其总结以释放空间。使用 `/btw` 进行快速附加说明,不应该添加到对话历史记录中。

24 26 

25**并行运行工作。** Claude 将侧面任务委派给 [subagents](/zh-CN/sub-agents),`/tasks` 列出当前会话后台运行的内容。`/background` 分离整个会话以继续作为 [background agent](/zh-CN/agent-view) 运行,并释放您的终端。对于跨越代码库的大型更改,`/batch` 将其分解为独立单元,并在其自己的 [worktree](/zh-CN/worktrees) 中运行每个单元。请参阅 [Run agents in parallel](/zh-CN/agents) 以了解这些方法如何相关联。27**并行运行工作。** Claude 将侧面任务委派给 [subagents](/zh-CN/sub-agents),`/tasks` 列出当前会话的后台工作,包括已完成的 subagents。`/background` 分离整个会话以继续作为 [background agent](/zh-CN/agent-view) 运行,并释放您的终端。对于跨越代码库的大型更改,`/batch` 将其分解为独立单元,并在其自己的 [worktree](/zh-CN/worktrees) 中运行每个单元。请参阅 [Run agents in parallel](/zh-CN/agents) 以了解这些方法如何相关联。

26 28 

27**在您发布之前。** `/diff` 显示更改的内容,`/code-review` 检查差异以查找正确性错误和清理,并可以使用 `--fix` 应用这些发现,`/review` 对 GitHub pull request 运行快速单遍只读审查,`/code-review <level> <pr#>` 对其运行多代理审查,`/security-review` 检查差异以查找安全漏洞。`/code-review ultra` 在云中运行多代理审查。29**在您发布之前。** `/diff` 显示更改的内容,`/code-review` 检查差异以查找正确性错误和清理,并可以使用 `--fix` 应用这些发现,`/review` 对 GitHub pull request 运行快速单遍只读审查,`/code-review <level> <pr#>` 对其运行多代理审查,`/security-review` 检查差异以查找安全漏洞。`/code-review ultra` 在云中运行多代理审查。

28 30 


48</Note>50</Note>

49 51 

50| 命令 | 用途 |52| 命令 | 用途 |

51| :--------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

52| `/add-dir <path>` | 为当前会话期间的文件访问添加工作目录。大多数 `.claude/` 配置[不会从添加的目录中发现](/zh-CN/permissions#additional-directories-grant-file-access-not-configuration)。您可以稍后使用 `--continue` 或 `--resume` 从添加的目录恢复会话 |54| `/add-dir <path>` | 为当前会话期间的文件访问添加工作目录。输入部分路径会显示匹配的目录建议;按 `Tab` 接受一个。大多数 `.claude/` 配置[不会从添加的目录中发现](/zh-CN/permissions#additional-directories-grant-file-access-not-configuration)。您可以稍后使用 `--continue` 或 `--resume` 从添加的目录恢复会话 |

53| `/advisor [model\|off]` | 启用或禁用[顾问工具](/zh-CN/advisor),它在任务期间的关键时刻咨询第二个模型以获取指导。接受 `opus`、`sonnet`、`fable`({/* min-version: 2.1.170 */}v2.1.170+)或完整模型 ID。不带参数时,打开选择器 |55| `/advisor [model\|off]` | 启用或禁用[顾问工具](/zh-CN/advisor),它在任务期间的关键时刻咨询第二个模型以获取指导。接受 `opus`、`sonnet`、`fable`({/* min-version: 2.1.170 */}v2.1.170+)或完整模型 ID。不带参数时,打开选择器 |

54| `/agents` | {/* min-version: 2.1.198 */}从 v2.1.198 开始,运行 `/agents` 会打印一个提醒,要求您询问 Claude 创建或管理 [subagents](/zh-CN/sub-agents),或直接编辑 `.claude/agents/` 或 `~/.claude/agents/`。{/* max-version: 2.1.197 */}在 v2.1.197 及更早版本中,打开用于创建和管理 subagent 配置的交互式界面 |56| `/agents` | {/* min-version: 2.1.198 */}从 v2.1.198 开始,运行 `/agents` 会打印一个提醒,要求您询问 Claude 创建或管理 [subagents](/zh-CN/sub-agents),或直接编辑 `.claude/agents/` 或 `~/.claude/agents/`。{/* max-version: 2.1.197 */}在 v2.1.197 及更早版本中,打开用于创建和管理 subagent 配置的交互式界面 |

55| `/autofix-pr [prompt]` | 生成一个[网络版 Claude Code](/zh-CN/claude-code-on-the-web#auto-fix-pull-requests) 会话,监视当前分支的 PR,并在 CI 失败或审阅者留下评论时推送修复。使用 `gh pr view` 检测已检出分支的开放 PR;要监视不同的 PR,请先检出其分支。默认情况下,远程会话被告知修复每个 CI 失败和审阅评论;传递一个提示以给它不同的说明,例如 `/autofix-pr only fix lint and type errors`。需要 `gh` CLI 和访问[网络版 Claude Code](/zh-CN/claude-code-on-the-web) |57| `/autofix-pr [prompt]` | 生成一个[网络版 Claude Code](/zh-CN/claude-code-on-the-web#auto-fix-pull-requests) 会话,监视当前分支的 PR,并在 CI 失败或审阅者留下评论时推送修复。使用 `gh pr view` 检测已检出分支的开放 PR;要监视不同的 PR,请先检出其分支。默认情况下,远程会话被告知修复每个 CI 失败和审阅评论;传递一个提示以给它不同的说明,例如 `/autofix-pr only fix lint and type errors`。需要 `gh` CLI 和访问[网络版 Claude Code](/zh-CN/claude-code-on-the-web) |


57| `/batch <instruction>` | **[Skill](/zh-CN/skills#bundled-skills).** 在整个代码库中并行编排大规模更改。研究代码库,将工作分解为 5 到 30 个独立单元,并呈现一个计划。获得批准后,在隔离的 [git worktree](/zh-CN/worktrees) 中为每个单元生成一个[后台 subagent](/zh-CN/sub-agents#run-subagents-in-foreground-or-background)。每个 subagent 实现其单元、运行测试并打开一个 pull request。需要一个 git 存储库。示例:`/batch migrate src/ from Solid to React` |59| `/batch <instruction>` | **[Skill](/zh-CN/skills#bundled-skills).** 在整个代码库中并行编排大规模更改。研究代码库,将工作分解为 5 到 30 个独立单元,并呈现一个计划。获得批准后,在隔离的 [git worktree](/zh-CN/worktrees) 中为每个单元生成一个[后台 subagent](/zh-CN/sub-agents#run-subagents-in-foreground-or-background)。每个 subagent 实现其单元、运行测试并打开一个 pull request。需要一个 git 存储库。示例:`/batch migrate src/ from Solid to React` |

58| `/branch [name]` | 在此点创建当前对话的分支,以便您可以尝试不同的方向而不会丢失当前的对话。切换到分支并保留原始分支,您可以使用 `/resume` 返回。要将附加任务交给后台 subagent 而不是自己切换到副本,请使用 `/fork` |60| `/branch [name]` | 在此点创建当前对话的分支,以便您可以尝试不同的方向而不会丢失当前的对话。切换到分支并保留原始分支,您可以使用 `/resume` 返回。要将附加任务交给后台 subagent 而不是自己切换到副本,请使用 `/fork` |

59| `/btw <question>` | 提出快速[附加问题](/zh-CN/interactive-mode#side-questions-with-%2Fbtw),无需添加到对话中 |61| `/btw <question>` | 提出快速[附加问题](/zh-CN/interactive-mode#side-questions-with-%2Fbtw),无需添加到对话中 |

60| `/cd <path>` | {/* min-version: 2.1.169 */}将此会话移动到新的工作目录。对话的提示缓存被保留:新目录的 [`CLAUDE.md`](/zh-CN/memory) 作为消息附加,而不是重建系统提示。会话被重新定位到新目录的项目存储,因此 `--resume` 和 `--continue` 从那里找到它。如果您之前未在该目录中工作过,会提示您信任该目录。要授予对额外目录的访问权限而不移动会话,请使用 `/add-dir`。使用 [`Cd` 权限规则](/zh-CN/permissions#cd) 限制或禁用 `/cd` 目标。需要 Claude Code v2.1.169 或更高版本;早期版本报告 `Unknown command: /cd` |62| `/cd <path>` | {/* min-version: 2.1.169 */}将此会话移动到新的工作目录。对话的提示缓存被保留:新目录的 [`CLAUDE.md`](/zh-CN/memory) 作为消息附加,而不是重建系统提示。会话被重新定位到新目录的项目存储,因此 `--resume` 和 `--continue` 从那里找到它。如果您之前未在该目录中工作过,会提示您信任该目录。{/* min-version: 2.1.206 */}输入部分路径会显示匹配的目录建议;按 `Tab` 接受一个。建议需要 Claude Code v2.1.206 或更高版本。要授予对额外目录的访问权限而不移动会话,请使用 `/add-dir`。使用 [`Cd` 权限规则](/zh-CN/permissions#cd) 限制或禁用 `/cd` 目标。需要 Claude Code v2.1.169 或更高版本;早期版本报告 `Unknown command: /cd` |

61| `/chrome` | 配置 [Claude in Chrome](/zh-CN/chrome) 设置 |63| `/chrome` | 配置 [Claude in Chrome](/zh-CN/chrome) 设置 |

62| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/zh-CN/skills#bundled-skills).** 为您的项目语言(Python、TypeScript、Java、Go、Ruby、C#、PHP 或 cURL)和 Managed Agents 参考加载 Claude API 参考资料。涵盖工具使用、流式传输、批处理、结构化输出和常见陷阱。当您的代码导入 `anthropic` 或 `@anthropic-ai/sdk` 时也会自动激活。运行 `/claude-api migrate` 以将现有 Claude API 代码升级到更新的模型:Claude 询问要扫描哪些文件以及要针对哪个模型,然后更新在版本之间更改的模型 ID、thinking 配置和其他参数。运行 `/claude-api managed-agents-onboard` 以获得交互式演练,从头开始创建新的 Managed Agent |64| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/zh-CN/skills#bundled-skills).** 为您的项目语言(Python、TypeScript、Java、Go、Ruby、C#、PHP 或 cURL)和 Managed Agents 参考加载 Claude API 参考资料。涵盖工具使用、流式传输、批处理、结构化输出和常见陷阱。当您的代码导入 `anthropic` 或 `@anthropic-ai/sdk` 时也会自动激活。运行 `/claude-api migrate` 以将现有 Claude API 代码升级到更新的模型:Claude 询问要扫描哪些文件以及要针对哪个模型,然后更新在版本之间更改的模型 ID、thinking 配置和其他参数。运行 `/claude-api managed-agents-onboard` 以获得交互式演练,从头开始创建新的 Managed Agent |

63| `/clear [name]` | 使用空上下文启动新对话。之前的对话在 `/resume` 中保持可用。传递一个名称以在 `/resume` 选择器中标记之前的对话。要在继续同一对话的同时释放上下文,请改用 `/compact`。别名:`/reset`、`/new` |65| `/clear [name]` | 使用空上下文启动新对话。传递一个名称以在 `/resume` 选择器中标记之前的对话。要在继续同一对话的同时释放上下文,请改用 `/compact`。使用 `/resume` 恢复之前的对话,或在同一 Claude Code 进程中,{/* min-version: 2.1.191 */}从[倒回菜单的上一个会话条目](/zh-CN/checkpointing#rewind-past-a-cleared-conversation)恢复它。别名:`/reset`、`/new` |

64| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[Skill](/zh-CN/skills#bundled-skills).** 审阅当前差异以查找正确性错误以及重用、简化和效率清理。传递 `--fix` 以将发现应用到您的工作树,传递 `--comment` 以将其作为内联 GitHub PR 评论发布,或传递 `ultra` 以运行深度[云审阅](/zh-CN/ultrareview)。{/* min-version: 2.1.154 */}从 v2.1.154 开始,`/simplify` 运行单独的仅清理审阅,应用修复而不寻找错误。有关工作量级别和目标,请参阅[本地审阅差异](/zh-CN/code-review#review-a-diff-locally) |66| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[Skill](/zh-CN/skills#bundled-skills).** 审阅当前差异以查找正确性错误以及重用、简化和效率清理。传递 `--fix` 以将发现应用到您的工作树,传递 `--comment` 以将其作为内联 GitHub PR 评论发布,或传递 `ultra` 以运行深度[云审阅](/zh-CN/ultrareview)。{/* min-version: 2.1.154 */}从 v2.1.154 开始,`/simplify` 运行单独的仅清理审阅,应用修复而不寻找错误。有关工作量级别和目标,请参阅[本地审阅差异](/zh-CN/code-review#review-a-diff-locally) |

65| `/color [color\|default]` | 为当前会话设置提示栏颜色。可用颜色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或不带参数运行以选择随机颜色。当 [Remote Control](/zh-CN/remote-control) 连接时,颜色同步到 claude.ai/code。{/* min-version: 2.1.205 */}也可在非交互模式(`-p`)中使用;需要 Claude Code v2.1.205 或更高版本 |67| `/color [color\|default]` | 为当前会话设置提示栏颜色。可用颜色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或不带参数运行以选择随机颜色。当 [Remote Control](/zh-CN/remote-control) 连接时,颜色同步到 claude.ai/code。{/* min-version: 2.1.205 */}也可在非交互模式(`-p`)中使用;需要 Claude Code v2.1.205 或更高版本 |

66| `/compact [instructions]` | 通过总结到目前为止的对话来释放上下文。可选择性地传递焦点说明以进行总结。请参阅[压缩如何处理规则、skills 和内存文件](/zh-CN/context-window#what-survives-compaction) |68| `/compact [instructions]` | 通过总结到目前为止的对话来释放上下文。可选择性地传递焦点说明以进行总结。请参阅[压缩如何处理规则、skills 和内存文件](/zh-CN/context-window#what-survives-compaction) |


72| `/debug [description]` | **[Skill](/zh-CN/skills#bundled-skills).** 为当前会话启用调试日志记录并通过读取会话调试日志来排查问题。调试日志默认关闭,除非您使用 `claude --debug` 启动,因此在会话中途运行 `/debug` 会从该点开始捕获日志。可选择性地描述问题以集中分析 |74| `/debug [description]` | **[Skill](/zh-CN/skills#bundled-skills).** 为当前会话启用调试日志记录并通过读取会话调试日志来排查问题。调试日志默认关闭,除非您使用 `claude --debug` 启动,因此在会话中途运行 `/debug` 会从该点开始捕获日志。可选择性地描述问题以集中分析 |

73| `/deep-research <question>` | **[Workflow](/zh-CN/workflows#bundled-workflows).** 在问题上展开网络搜索,获取并交叉检查来源,并综合一份引用的报告 |75| `/deep-research <question>` | **[Workflow](/zh-CN/workflows#bundled-workflows).** 在问题上展开网络搜索,获取并交叉检查来源,并综合一份引用的报告 |

74| `/design-login` | 使用您的 claude.ai 账户授权设计系统访问权限以供 `/design-sync` 使用 |76| `/design-login` | 使用您的 claude.ai 账户授权设计系统访问权限以供 `/design-sync` 使用 |

75| `/design-sync [hint]` | **[Skill](/zh-CN/skills#bundled-skills).** 转换您的存储库的 React 设计系统并将其上传到 [Claude Design](https://claude.ai/design),以便它生成的设计使用您的真实组件。可选择性地命名设计系统,例如 `/design-sync Acme DS`。首次同步验证每个组件,在大型存储库上可能需要几个小时。在 Anthropic API 上可用;在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,底层工具无法访问 claude.ai,因此该命令不可用 |77| `/design-sync [hint]` | **[Skill](/zh-CN/skills#bundled-skills).** 转换您的存储库的 React 设计系统并将其上传到 [Claude Design](https://claude.ai/design),以便它生成的设计使用您的真实组件。可选择性地命名设计系统,例如 `/design-sync Acme DS`。首次同步验证每个组件,在大型存储库上可能需要几个小时。在 Anthropic API 上可用;在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry Claude Platform on AWS 上,底层工具无法访问 claude.ai,因此该命令不可用 |

76| `/desktop` | 在 Claude Code Desktop 应用中继续当前会话。仅限 macOS 和 Windows,需要 Claude 订阅。别名:`/app` |78| `/desktop` | 在 Claude Code Desktop 应用中继续当前会话。仅限 macOS 和 Windows,需要 Claude 订阅。别名:`/app` |

77| `/diff` | 打开交互式差异查看器,显示未提交的更改和每轮差异。使用左/右箭头在当前 git 差异和单个 Claude 轮次之间切换,使用上/下浏览文件。{/* min-version: 2.1.198 */}从 v2.1.198 开始,打开的查看器也会在存储库的 git 状态在会话外发生变化时自动刷新,例如在另一个终端中进行分支切换或提交 |79| `/diff` | 打开交互式差异查看器,显示未提交的更改和每轮差异。使用左/右箭头在当前 git 差异和单个 Claude 轮次之间切换,使用上/下浏览文件。按 Enter 打开所选文件的差异,使用上/下或 PageUp/PageDown 滚动,按 Esc 返回文件列表。{/* min-version: 2.1.198 */}从 v2.1.198 开始,打开的查看器也会在存储库的 git 状态在会话外发生变化时自动刷新,例如在另一个终端中进行分支切换或提交 |

78| `/doctor` | **[Skill](/zh-CN/skills#bundled-skills).** 运行设置检查以诊断问题并可以修复它们。检查安装健康状况,包括重复或遗留安装、`PATH` 问题和无法解析的设置文件。查找未使用的 skills、MCP servers 和 plugins 与其上下文成本,针对已检入的文件去重本地 `CLAUDE.md` 文件,将始终加载的指导迁移到 [skills](/zh-CN/skills) 和按需加载的嵌套 `CLAUDE.md` 文件,标记缓慢的 [hooks](/zh-CN/hooks),并检查是否有更新版本。还提供将 [auto mode](/zh-CN/permissions#permission-modes) 设置为默认值的选项,以及[预先批准](/zh-CN/permissions)经常被拒绝的只读命令。首先报告发现并在更改任何内容之前要求确认。从终端,`claude doctor` 打印只读安装诊断而不启动会话。别名:`/checkup`。{/* min-version: 2.1.205 */}在 v2.1.205 之前,`/doctor` 打开只读诊断屏幕,按 `f` 将报告发送给 Claude |80| `/doctor` | **[Skill](/zh-CN/skills#bundled-skills).** 运行设置检查以诊断问题并可以修复它们。检查安装健康状况,包括重复或遗留安装、`PATH` 问题和无法解析的设置文件。查找未使用的 skills、MCP servers 和 plugins 与其上下文成本,标记缓慢的 [hooks](/zh-CN/hooks),并检查是否有更新版本。针对已检入的文件去重本地 `CLAUDE.md` 文件,通过删除 Claude 可以从代码库派生的内容来修剪已检入的 [`CLAUDE.md`](/zh-CN/memory) 文件,并将保留的始终加载的指导迁移到 [skills](/zh-CN/skills) 和按需加载的嵌套 `CLAUDE.md` 文件。修剪会删除目录布局、依赖列表和架构概览等部分并保留陷阱、基本原理和与工具默认值不同的约定。还提供将 [auto mode](/zh-CN/permissions#permission-modes) 设置为默认值的选项,以及[预先批准](/zh-CN/permissions)经常被拒绝的只读命令。首先报告发现并在更改任何内容之前要求确认。从终端,`claude doctor` 打印只读安装诊断而不启动会话。别名:`/checkup`。{/* min-version: 2.1.206 */}CLAUDE.md 修剪检查需要 Claude Code v2.1.206 或更高版本。在 v2.1.206 之前,版本检查将 Homebrew 安装与 `autoUpdatesChannel` 设置进行比较,而不是[已安装 cask 的频道](/zh-CN/setup#configure-release-channel)。{/* min-version: 2.1.205 */}在 v2.1.205 之前,`/doctor` 打开只读诊断屏幕,按 `f` 将报告发送给 Claude |

79| `/effort [level\|auto]` | 设置模型[工作量级别](/zh-CN/model-config#adjust-effort-level)。接受 `low`、`medium`、`high`、`xhigh`、`max` 或 `ultracode`;可用级别取决于模型,`max` 和 `ultracode` 仅限会话。`ultracode` 是一个 Claude Code 设置,它结合了 `xhigh` 推理和自动[工作流](/zh-CN/workflows#let-claude-decide-with-ultracode)编排。`auto` 重置为模型默认值。不带参数时,打开交互式滑块;使用左右箭头选择级别,按 `Enter` 应用。立即生效,无需等待当前响应完成。{/* min-version: 2.1.205 */}也可在非交互模式(`-p`)中使用级别参数,其中它仅适用于当前会话且不保存为您的默认值;需要 Claude Code v2.1.205 或更高版本。在 Fable 5、Opus 4.8 和 Opus 4.7 上,当[模型默认工作量级别保持](/zh-CN/model-config#adjust-effort-level)生效时,非交互 `/effort` 报告 `Not applied`,因此改为在启动时传递 `--effort` |81| `/effort [level\|auto]` | 设置模型[工作量级别](/zh-CN/model-config#adjust-effort-level)。接受 `low`、`medium`、`high`、`xhigh`、`max` 或 `ultracode`;可用级别取决于模型,`max` 和 `ultracode` 仅限会话。`ultracode` 是一个 Claude Code 设置,它结合了 `xhigh` 推理和自动[工作流](/zh-CN/workflows#let-claude-decide-with-ultracode)编排。`auto` 重置为模型默认值。不带参数时,打开交互式滑块;使用左右箭头选择级别,按 `Enter` 应用。立即生效,无需等待当前响应完成。{/* min-version: 2.1.205 */}也可在非交互模式(`-p`)中使用级别参数,其中它仅适用于当前会话且不保存为您的默认值;需要 Claude Code v2.1.205 或更高版本。在 Fable 5、Opus 4.8 和 Opus 4.7 上,当[模型默认工作量级别保持](/zh-CN/model-config#adjust-effort-level)生效时,非交互 `/effort` 报告 `Not applied`,因此改为在启动时传递 `--effort` |

80| `/exit` | 退出 CLI。在附加的[后台会话](/zh-CN/agent-view#attach-to-a-session)中,这会分离并且会话继续运行。别名:`/quit` |82| `/exit` | 退出 CLI。在附加的[后台会话](/zh-CN/agent-view#attach-to-a-session)中,这会分离并且会话继续运行。别名:`/quit` |

81| `/export [filename]` | 将当前对话导出为纯文本。使用文件名时,直接写入该文件。不使用文件名时,打开对话框以复制到剪贴板或保存到文件 |83| `/export [filename]` | 将当前对话导出为纯文本。使用文件名时,直接写入该文件。不使用文件名时,打开对话框以复制到剪贴板或保存到文件 |

82| `/fast [on\|off]` | 切换[快速模式](/zh-CN/fast-mode)开启或关闭。{/* min-version: 2.1.205 */}在非交互模式(`-p`)中,`/fast` 仅在使用快速模式在其 [`--settings`](/zh-CN/cli-reference#cli-flags) 值中启动的会话中工作,例如 `claude -p --settings '{"fastMode": true}'`;切换然后仅适用于当前会话且不保存为您的默认值,在任何其他非交互会话中,该命令报告快速模式不可用。需要 Claude Code v2.1.205 或更高版本 |84| `/fast [on\|off]` | 切换[快速模式](/zh-CN/fast-mode)开启或关闭。{/* min-version: 2.1.205 */}在非交互模式(`-p`)中,`/fast` 仅在使用快速模式在其 [`--settings`](/zh-CN/cli-reference#cli-flags) 值中启动的会话中工作,例如 `claude -p --settings '{"fastMode": true}'`;切换然后仅适用于当前会话且不保存为您的默认值,在任何其他非交互会话中,该命令报告快速模式不可用。需要 Claude Code v2.1.205 或更高版本 |

83| `/feedback [report]` | 提交反馈、报告错误或分享您的对话。别名:`/bug`、`/share` |85| `/feedback [report]` | 提交反馈、报告错误或分享您的对话。发送给 Anthropic 需要[身份验证](/zh-CN/authentication)。别名:`/bug`、`/share` |

84| `/fewer-permission-prompts` | **[Skill](/zh-CN/skills#bundled-skills).** 扫描您的记录以查找常见的只读 Bash 和 MCP 工具调用,然后向项目 `.claude/settings.json` 添加优先级允许列表以减少权限提示 |86| `/fewer-permission-prompts` | **[Skill](/zh-CN/skills#bundled-skills).** 扫描您的记录以查找常见的只读 Bash 和 MCP 工具调用,然后向项目 `.claude/settings.json` 添加优先级允许列表以减少权限提示 |

85| `/focus` | 切换焦点视图,仅显示您的最后一个提示、带有编辑 diffstats 的单行工具调用摘要和最终响应。{/* min-version: 2.1.198 */}从 v2.1.198 开始,工具调用摘要也计算在轮次中启动的 subagents 数量,并将已完成的后台任务通知折叠为单个计数。选择在会话间保持;设置 [`viewMode`](/zh-CN/settings#available-settings) 在设置中以覆盖它。仅在[全屏渲染](/zh-CN/fullscreen)中可用 |87| `/focus` | 切换焦点视图,仅显示您的最后一个提示、带有编辑 diffstats 的单行工具调用摘要和最终响应。{/* min-version: 2.1.198 */}从 v2.1.198 开始,工具调用摘要也计算在轮次中启动的 subagents 数量,并将已完成的后台任务通知折叠为单个计数。选择在会话间保持;设置 [`viewMode`](/zh-CN/settings#available-settings) 在设置中以覆盖它。仅在[全屏渲染](/zh-CN/fullscreen)中可用 |

86| `/fork <directive>` | {/* min-version: 2.1.161 */}生成一个[分叉的 subagent](/zh-CN/sub-agents#fork-the-current-conversation):一个继承完整对话的后台 subagent,在您继续进行时处理该指令。其结果在完成时返回到您的对话。要自己切换到对话的副本,请使用 `/branch`。在 v2.1.161 之前,`/fork` 是 `/branch` 的别名 |88| `/fork <directive>` | {/* min-version: 2.1.161 */}生成一个[分叉的 subagent](/zh-CN/sub-agents#fork-the-current-conversation):一个继承完整对话的后台 subagent,在您继续进行时处理该指令。其结果在完成时返回到您的对话。要自己切换到对话的副本,请使用 `/branch`。在 v2.1.161 之前,`/fork` 是 `/branch` 的别名 |


108| `/powerup` | 通过带有动画演示的快速交互式课程发现 Claude Code 功能 |110| `/powerup` | 通过带有动画演示的快速交互式课程发现 Claude Code 功能 |

109| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}在 v2.1.91 中移除。改为直接询问 Claude 以查看 pull request 评论。在早期版本中,从 GitHub pull request 获取并显示评论;自动检测当前分支的 PR,或传递 PR URL 或编号。需要 `gh` CLI |111| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}在 v2.1.91 中移除。改为直接询问 Claude 以查看 pull request 评论。在早期版本中,从 GitHub pull request 获取并显示评论;自动检测当前分支的 PR,或传递 PR URL 或编号。需要 `gh` CLI |

110| `/privacy-settings` | 查看和更新您的隐私设置。仅对 Pro 和 Max 计划订阅者可用 |112| `/privacy-settings` | 查看和更新您的隐私设置。仅对 Pro 和 Max 计划订阅者可用 |

111| `/radio` | 在浏览器中打开 Claude FM lo-fi 电台。当浏览器不可用时打印流 URL。在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用 |113| `/radio` | 在浏览器中打开 Claude FM lo-fi 电台。当浏览器不可用时打印流 URL。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry Claude Platform on AWS 上不可用 |

112| `/recap` | 按需生成当前会话的单行摘要。请参阅[会话摘要](/zh-CN/interactive-mode#session-recap)以了解您离开后出现的自动摘要 |114| `/recap` | 按需生成当前会话的单行摘要。请参阅[会话摘要](/zh-CN/interactive-mode#session-recap)以了解您离开后出现的自动摘要 |

113| `/release-notes` | 在交互式版本选择器中查看更改日志。选择特定版本以查看其发布说明,或选择显示所有版本 |115| `/release-notes` | 在交互式版本选择器中查看更改日志。选择特定版本以查看其发布说明,或选择显示所有版本。{/* min-version: 2.1.208 */}这些说明出现在您的记录中,而不进入 Claude 看到的对话。在 v2.1.208 之前,查看的说明进入对话,包括显示所有版本时的整个更改日志 |

114| `/reload-plugins [--force]` | 重新加载所有活跃 [plugins](/zh-CN/plugins) 以应用待处理的更改而无需重启。报告每个已重新加载组件的计数并标记任何加载错误。当重新加载会改变加载哪些 MCP 工具并使提示缓存失效时,该命令会警告并跳过,除非您传递 `--force` |116| `/reload-plugins [--force]` | 重新加载所有活跃 [plugins](/zh-CN/plugins) 以应用待处理的更改而无需重启。报告每个已重新加载组件的计数并标记任何加载错误。当重新加载会改变加载哪些 MCP 工具并使提示缓存失效时,该命令会警告并跳过,除非您传递 `--force` |

115| `/reload-skills` | {/* min-version: 2.1.152 */}重新扫描 [skill](/zh-CN/skills) 和命令目录,以便在会话期间添加或更改的 skills 在磁盘上变得可用,无需重启。报告有多少 skills 可用以及添加或删除了多少 |117| `/reload-skills` | {/* min-version: 2.1.152 */}重新扫描 [skill](/zh-CN/skills) 和命令目录,以便在会话期间添加或更改的 skills 在磁盘上变得可用,无需重启。报告有多少 skills 可用以及添加或删除了多少 |

116| `/remote-control` | 使此会话可从 claude.ai 进行[远程控制](/zh-CN/remote-control)。别名:`/rc` |118| `/remote-control` | 使此会话可从 claude.ai 进行[远程控制](/zh-CN/remote-control)。{/* min-version: 2.1.206 */}在未登录时运行它会打印远程控制需要 claude.ai 订阅并告诉您如何登录;在 v2.1.206 之前它报告 `Unknown command: /remote-control`。别名:`/rc` |

117| `/remote-env` | 为[云 agents](/zh-CN/claude-code-on-the-web#configure-your-environment) 选择默认环境 |119| `/remote-env` | 为[云 agents](/zh-CN/claude-code-on-the-web#configure-your-environment) 选择默认环境 |

118| `/rename [name]` | 重命名当前会话并在提示栏上显示名称。不使用名称时,从对话历史记录自动生成一个。{/* min-version: 2.1.205 */}也可在非交互模式(`-p`)中使用;需要 Claude Code v2.1.205 或更高版本 |120| `/rename [name]` | 重命名当前会话并在提示栏上显示名称。不使用名称时,从对话历史记录自动生成一个。{/* min-version: 2.1.205 */}也可在非交互模式(`-p`)中使用;需要 Claude Code v2.1.205 或更高版本 |

119| `/resume [session]` | 按 ID 或名称恢复对话,或打开会话选择器。从 v2.1.144 起,[后台会话](/zh-CN/agent-view)在选择器中显示,标记为 `bg`。别名:`/continue` |121| `/resume [session]` | 按 ID 或名称恢复对话,或打开会话选择器。从 v2.1.144 起,[后台会话](/zh-CN/agent-view)在选择器中显示,标记为 `bg`;仍在运行的会话无法在此处恢复,因此从 `claude agents` 附加到它或先在那里停止它。别名:`/continue` |

120| `/review [PR]` | {/* min-version: 2.1.202 */}按编号运行 GitHub pull request 的快速单遍、只读审阅。不带参数时,列出要选择的开放 PR;PR 编号后的文本成为额外的审阅说明。从 v2.1.186 到 v2.1.201,`/review` 改为运行与 `/code-review medium` 相同的多 agent 引擎。对于选定工作量级别的多 agent 审阅,使用 [`/code-review <level> <pr#>`](/zh-CN/code-review#review-a-diff-locally);对于基于云的审阅,请参阅 [`/code-review ultra`](/zh-CN/ultrareview) |122| `/review [PR]` | {/* min-version: 2.1.202 */}按编号运行 GitHub pull request 的快速单遍、只读审阅。不带参数时,列出要选择的开放 PR;PR 编号后的文本成为额外的审阅说明。从 v2.1.186 到 v2.1.201,`/review` 改为运行与 `/code-review medium` 相同的多 agent 引擎。对于选定工作量级别的多 agent 审阅,使用 [`/code-review <level> <pr#>`](/zh-CN/code-review#review-a-diff-locally);对于基于云的审阅,请参阅 [`/code-review ultra`](/zh-CN/ultrareview) |

121| `/rewind` | 将对话和/或代码倒回到上一个点,或从选定的消息进行总结。请参阅 [checkpointing](/zh-CN/checkpointing)。别名:`/checkpoint`、`/undo` |123| `/rewind` | 将对话和/或代码倒回到上一个点,或从选定的消息进行总结。请参阅 [checkpointing](/zh-CN/checkpointing)。别名:`/checkpoint`、`/undo` |

122| `/run` | **[Skill](/zh-CN/skills#bundled-skills).** 启动并驱动您的项目应用以在运行的应用中看到更改工作,而不仅仅是在测试中。请参阅[运行和验证您的应用](/zh-CN/skills#run-and-verify-your-app)。{/* min-version: 2.1.145 */}需要 Claude Code v2.1.145 或更高版本 |124| `/run` | **[Skill](/zh-CN/skills#bundled-skills).** 启动并驱动您的项目应用以在运行的应用中看到更改工作,而不仅仅是在测试中。请参阅[运行和验证您的应用](/zh-CN/skills#run-and-verify-your-app)。{/* min-version: 2.1.145 */}需要 Claude Code v2.1.145 或更高版本 |


134| `/statusline` | 配置 Claude Code 的[状态行](/zh-CN/statusline)。描述您想要的内容,或不带参数运行以从您的 shell 提示自动配置 |136| `/statusline` | 配置 Claude Code 的[状态行](/zh-CN/statusline)。描述您想要的内容,或不带参数运行以从您的 shell 提示自动配置 |

135| `/stickers` | 订购 Claude Code 贴纸 |137| `/stickers` | 订购 Claude Code 贴纸 |

136| `/stop` | 停止当前[后台会话](/zh-CN/agent-view)。仅在附加到后台会话时可用;记录和任何 worktree 都会保留。要分离而不停止,请使用 `/exit` 或按 `←` |138| `/stop` | 停止当前[后台会话](/zh-CN/agent-view)。仅在附加到后台会话时可用;记录和任何 worktree 都会保留。要分离而不停止,请使用 `/exit` 或按 `←` |

137| `/tasks` | 查看和管理后台运行的所有内容。也可用作 `/bashes` |139| `/tasks` | 查看和管理后台工作中的所有内容,包括已完成的 subagents。也可用作 `/bashes` |

138| `/team-onboarding` | 从您的 Claude Code 使用历史记录生成团队入职指南。Claude 分析您过去 30 天的会话、命令和 MCP server 使用情况,并生成一个 markdown 指南,团队成员可以粘贴为第一条消息以快速设置。对于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者,还返回一个共享链接,团队成员可以直接在 Claude Code 中打开 |140| `/team-onboarding` | 从您的 Claude Code 使用历史记录生成团队入职指南。Claude 分析您过去 30 天的会话、命令和 MCP server 使用情况,并生成一个 markdown 指南,团队成员可以粘贴为第一条消息以快速设置。对于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者,还返回一个共享链接,团队成员可以直接在 Claude Code 中打开 |

139| `/teleport` | 将[网络版 Claude Code](/zh-CN/claude-code-on-the-web#from-web-to-terminal) 会话拉入此终端:打开选择器,然后获取分支和对话。也可用作 `/tp`。需要 claude.ai 订阅 |141| `/teleport` | 将[网络版 Claude Code](/zh-CN/claude-code-on-the-web#from-web-to-terminal) 会话拉入此终端:打开选择器,然后获取分支和对话。也可用作 `/tp`。需要 claude.ai 订阅 |

140| `/terminal-setup` | 为 Shift+Enter 和其他快捷键配置终端快捷键。仅在需要它的终端中可见,如 VS Code、Cursor、Devin Desktop、Alacritty 或 Zed |142| `/terminal-setup` | 为 Shift+Enter 和其他快捷键配置终端快捷键。仅在需要它的终端中可见,如 VS Code、Cursor、Devin Desktop、Alacritty 或 Zed |


142| `/tui [default\|fullscreen]` | 设置终端 UI 渲染器并使用您的对话完整性重新启动到它。`fullscreen` 启用[无闪烁 alt-screen 渲染器](/zh-CN/fullscreen)。不带参数时,打印活跃渲染器 |144| `/tui [default\|fullscreen]` | 设置终端 UI 渲染器并使用您的对话完整性重新启动到它。`fullscreen` 启用[无闪烁 alt-screen 渲染器](/zh-CN/fullscreen)。不带参数时,打印活跃渲染器 |

143| `/ultraplan <prompt>` | 在 [ultraplan](/zh-CN/ultraplan) 会话中起草计划,在浏览器中审阅,然后远程执行或将其发送回您的终端 |145| `/ultraplan <prompt>` | 在 [ultraplan](/zh-CN/ultraplan) 会话中起草计划,在浏览器中审阅,然后远程执行或将其发送回您的终端 |

144| `/ultrareview [PR]` | 在云沙箱中运行深度、多 agent 代码审阅,使用 [ultrareview](/zh-CN/ultrareview)。首选调用现在是 `/code-review ultra`,`/ultrareview` 仍然作为别名保留。Pro 和 Max 包括 3 次免费运行,然后需要[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |146| `/ultrareview [PR]` | 在云沙箱中运行深度、多 agent 代码审阅,使用 [ultrareview](/zh-CN/ultrareview)。首选调用现在是 `/code-review ultra`,`/ultrareview` 仍然作为别名保留。Pro 和 Max 包括 3 次免费运行,然后需要[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

145| `/upgrade` | 打开升级页面以切换到更高的计划层级 |147| `/upgrade` | 打开升级页面在您的浏览器中以切换到更高的计划层级。当浏览器无法打开时,该命令显示登录提示而不打印 URL |

146| `/usage` | 显示会话成本、计划使用限制和活动统计。在 Pro、Max、Team 或 Enterprise 计划上,包括按 skill、subagent、plugin 和 MCP server 的使用情况分解。有关详细信息,请参阅[成本跟踪指南](/zh-CN/costs#using-the-%2Fusage-command)。`/cost` 和 `/stats` 是别名 |148| `/usage` | 显示会话成本、计划使用限制和活动统计。在 Pro、Max、Team 或 Enterprise 计划上,包括按 skill、subagent、plugin 和 MCP server 的使用情况分解。有关详细信息,请参阅[成本跟踪指南](/zh-CN/costs#using-the-%2Fusage-command)。`/cost` 和 `/stats` 是别名 |

147| `/usage-credits` | 配置使用额度以在达到限制时继续工作。打开使用额度计费页面在您的浏览器中。{/* min-version: 2.1.205 */}当没有浏览器可以打开时,例如通过 SSH,该命令改为打印要访问的 URL;这需要 Claude Code v2.1.205 或更高版本,早期版本在这种情况下没有显示任何内容。之前为 `/extra-usage` |149| `/usage-credits` | 配置使用额度以在达到限制时继续工作。在 Pro 和 Max 计划上,打开[CLI 内对话框](/zh-CN/costs#set-a-spend-limit-on-pro-and-max)以购买使用额度、设置每月支出限制和配置自动重新加载;在 Claude Code v2.1.207 之前的版本和其他计划上,打开使用额度计费页面在您的浏览器中,除了 Team 和 Enterprise 成员没有计费访问权限的情况下,改为从 CLI 向其管理员发送使用额度请求。{/* min-version: 2.1.205 */}当没有浏览器可以打开计费页面时,例如通过 SSH,该命令改为打印要访问的 URL;这需要 Claude Code v2.1.205 或更高版本,早期版本在这种情况下没有显示任何内容。之前为 `/extra-usage` |

148| `/verify` | **[Skill](/zh-CN/skills#bundled-skills).** 通过构建您的项目应用、运行它并观察结果来确认代码更改是否按预期工作,而不是依赖测试或类型检查。请参阅[运行和验证您的应用](/zh-CN/skills#run-and-verify-your-app)。{/* min-version: 2.1.145 */}需要 Claude Code v2.1.145 或更高版本 |150| `/verify` | **[Skill](/zh-CN/skills#bundled-skills).** 通过构建您的项目应用、运行它并观察结果来确认代码更改是否按预期工作,而不是依赖测试或类型检查。请参阅[运行和验证您的应用](/zh-CN/skills#run-and-verify-your-app)。{/* min-version: 2.1.145 */}需要 Claude Code v2.1.145 或更高版本 |

149| `/vim` | {/* max-version: 2.1.91 */}在 v2.1.92 中移除。要在 Vim 和普通编辑模式之间切换,请使用 `/config` → 编辑器模式 |151| `/vim` | {/* max-version: 2.1.91 */}在 v2.1.92 中移除。要在 Vim 和普通编辑模式之间切换,请使用 `/config` → 编辑器模式 |

150| `/voice [hold\|tap\|off]` | 切换[语音听写](/zh-CN/voice-dictation),或在特定模式下启用它。需要 Claude.ai 账户 |152| `/voice [hold\|tap\|off]` | 切换[语音听写](/zh-CN/voice-dictation),或在特定模式下启用它。需要 Claude.ai 账户 |

costs.md +22 −5

Details

35 35 

36在 Pro、Max、Team 或 Enterprise 计划上,`/usage` 还显示计入您的计划限制的内容明细。它将最近的使用情况归属于 skills、subagents、plugins 和各个 MCP 服务器,每个都显示为总数的百分比。按 `d` 或 `w` 在过去 24 小时和过去 7 天之间切换。这些数据是近似值,从此机器上的本地会话历史记录计算,因此不包括来自其他设备或 claude.ai 的使用情况。36在 Pro、Max、Team 或 Enterprise 计划上,`/usage` 还显示计入您的计划限制的内容明细。它将最近的使用情况归属于 skills、subagents、plugins 和各个 MCP 服务器,每个都显示为总数的百分比。按 `d` 或 `w` 在过去 24 小时和过去 7 天之间切换。这些数据是近似值,从此机器上的本地会话历史记录计算,因此不包括来自其他设备或 claude.ai 的使用情况。

37 37 

38当您的计划限制请求失败时(通常是因为使用情况端点受到速率限制),`/usage` 会显示它在过去 60 分钟内在此机器上加载的最后一个使用情况条,以及一个 `Showing last-known usage` 注释,说明该数据是多久前获取的。按 `r` 重试;成功重试会用新数据替换最后已知的条。如果没有过去 60 分钟内的快照,`/usage` 会报告使用情况端点受到速率限制,并提供相同的重试快捷方式。在 v2.1.208 之前,在尚未加载使用情况的会话中受速率限制的请求始终显示错误,没有条。

39 

38在 [VS Code 扩展](/zh-CN/vs-code#check-account-and-usage) 中,相同的明细显示在"账户和使用情况"对话框中,带有"日"和"周"切换。需要 Claude Code v2.1.174 或更高版本。40在 [VS Code 扩展](/zh-CN/vs-code#check-account-and-usage) 中,相同的明细显示在"账户和使用情况"对话框中,带有"日"和"周"切换。需要 Claude Code v2.1.174 或更高版本。

39 41 

40<h3 id="set-a-spend-limit-on-pro-and-max">42<h3 id="set-a-spend-limit-on-pro-and-max">

41 在 Pro 和 Max 上设置支出限制43 在 Pro 和 Max 上设置支出限制

42</h3>44</h3>

43 45 

44在 Pro 和 Max 计划上,您可以使用 `/usage-credits` 命令为使用额度设置每月支出限制。如果您在仍有使用额度可用时达到该限制,Claude Code 会提示您提高或移除该限制以便您可以继续使用而无需离开 CLI。更改限制需要账户的计费访问权限46在 Pro 和 Max 计划上,`/usage-credits` 命令在 CLI 中打开一个对话框您可以在其中管理 [使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)从对话框中,您可以:

47 

48* 为您的账户启用使用额度

49* 购买更多使用额度,可以是列出的套餐或自定义金额

50* 设置、更改或移除您的每月支出限制

51* 配置自动重新加载,当您的余额低于您设置的阈值时自动购买更多使用额度

52 

53在 Claude Code v2.1.207 之前的版本以及 CLI 内对话框不可用的账户上,`/usage-credits` 会在您的浏览器中打开使用额度计费页面。在 Team 和 Enterprise 计划上,具有计费访问权限的成员获得相同的浏览器页面,没有计费访问权限的成员从 CLI 发送请求,要求其管理员启用使用额度或提高限制。

54 

55更改每月支出限制需要账户的计费访问权限。如果您在仍有使用额度可用时达到该限制,Claude Code 会提示您提高或移除该限制,以便您可以继续使用而无需离开 CLI。

56 

57您输入到对话框中的金额,例如自定义购买金额、每月支出限制或自动重新加载阈值和目标,必须是数字,可选地后跟一个句号和一到两个小数位,例如 `20` 或 `20.50`。任何其他输入(包括逗号)都会显示内联错误,不会被保存。v2.1.207 之前的版本不显示对话框,而是打开计费页面。

58 

59Claude Code 要求您输入 `yes` 来确认每次购买和每次自动重新加载更改,无论金额多少,购买确认显示您批准的税后总额。更改每月支出限制仅在超过 \$1,000 或非美元计费货币的 1,000 个单位时要求相同的输入确认。在 v2.1.208 之前,购买和自动重新加载更改也使用该阈值,因此较小的金额通过标准对话框流程进行,没有额外的输入 `yes` 步骤。

60 

61金额字段打开时预填充建议值,您输入的第一个数字替换建议而不是追加到它。启用使用额度的屏幕打开时选中"取消",因此启用它需要刻意选择而不是误按 Enter。两者都需要 Claude Code v2.1.208 或更高版本。

45 62 

46<h2 id="manage-costs-for-your-organization">63<h2 id="manage-costs-for-your-organization">

47 管理组织的成本64 管理组织的成本


52该表将每种设置映射到您查看支出的位置、您限制支出的位置以及如何提取每用户数字。69该表将每种设置映射到您查看支出的位置、您限制支出的位置以及如何提取每用户数字。

53 70 

54| 您的设置 | 查看支出 | 限制支出 | 每用户报告 |71| 您的设置 | 查看支出 | 限制支出 | 每用户报告 |

55| :----------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72| :----------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

56| [Claude for Teams 或 Enterprise](#claude-for-teams-and-enterprise) | [组织分析中的支出报告](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | 管理员设置中的支出限制 | [支出报告 CSV](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans);Enterprise 上的 [Enterprise Analytics API](https://support.claude.com/en/articles/13703965-claude-enterprise-analytics-api-reference-guide) |73| [Claude for Teams 或 Enterprise](#claude-for-teams-and-enterprise) | [组织分析中的支出报告](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | 管理员设置中的支出限制 | [支出报告 CSV](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans);Enterprise 上的 [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) |

57| [Claude Console (API)](#claude-console) | [Console 使用情况页面](https://platform.claude.com/usage) | 工作区支出限制 | [Console 仪表板](https://platform.claude.com/claude-code)、[Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |74| [Claude Console (API)](#claude-console) | [Console 使用情况页面](https://platform.claude.com/usage) | 工作区支出限制 | [Console 仪表板](https://platform.claude.com/claude-code)、[Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |

58| [Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry](#cloud-providers) | 您的云计费控制台 | 您的云预算控制 | [OpenTelemetry](/zh-CN/monitoring-usage) 或 [LLM gateway](/zh-CN/llm-gateway) |75| [Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry](#cloud-providers) | 您的云计费控制台 | 您的云预算控制 | [OpenTelemetry](/zh-CN/monitoring-usage) 或 [LLM gateway](/zh-CN/llm-gateway) |

59 76 


63 Claude for Teams 和 Enterprise80 Claude for Teams 和 Enterprise

64</h3>81</h3>

65 82 

66在 Claude for Teams 和 Enterprise 计划中,每个成员的 Claude Code 使用情况从按座位额度中扣除,该额度在滚动五小时窗口和每周窗口上重置。该额度与 Claude chat 和 Cowork 共享,其大小取决于[座位等级](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan)。您的控制位于 claude.ai 管理控制台中,而不是 Claude Console。83在 Claude for Teams 和 Enterprise 计划中,每个成员的 Claude Code 使用情况从按座位额度中扣除,该额度在滚动五小时窗口和每周窗口上重置。该额度与 Claude chat 和 Cowork 共享,其大小取决于成员的[座位等级](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan)(Standard 或 Premium)。您的控制位于 claude.ai 管理控制台中,而不是 Claude Console。

67 84 

68* **查看支出**:[组织分析中的支出报告](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans)显示每个用户和每个模型的估计支出,带有 CSV 导出,每日更新。该报告涵盖使用额度支出,并在启用使用额度后出现。座位额度内的使用情况不以美元计量。85* **查看支出**:[组织分析中的支出报告](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans)显示每个用户和每个模型的估计支出,带有 CSV 导出,每日更新。该报告涵盖使用额度支出,并在启用使用额度后出现。座位额度内的使用情况不以美元计量。

69* **查看采用情况**:[分析仪表板](https://claude.ai/analytics/claude-code)显示每日活跃用户、会话和贡献指标,带有贡献数据的 CSV 导出。请参阅[使用分析跟踪团队使用情况](/zh-CN/analytics)。86* **查看采用情况**:[分析仪表板](https://claude.ai/analytics/claude-code)显示每日活跃用户、会话和贡献指标,带有贡献数据的 CSV 导出。请参阅[使用分析跟踪团队使用情况](/zh-CN/analytics)。

70* **限制支出**:座位额度是默认上限。要让成员继续超过它,请启用[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)并在组织、组或个人成员级别设置支出限制。87* **限制支出**:座位额度是默认上限。要让成员继续超过它,请启用[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)并在组织、组或个人成员级别设置支出限制。

71* **提取每用户数字**:在 Enterprise 计划中,[Enterprise Analytics API](https://support.claude.com/en/articles/13703965-claude-enterprise-analytics-api-reference-guide)返回跨 Claude 表面(包括 Claude Code)的每用户使用情况和成本报告。主所有者在 [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys) 处使用 `read:analytics` 范围创建密钥。在 Teams 计划中,导出[支出报告 CSV](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans),其中列出了每个用户和每个模型的令牌使用情况和估计支出。88* **提取每用户数字**:在 Enterprise 计划中,[Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) 返回跨 Claude 表面(包括 Claude Code)的每用户使用情况和成本报告。主所有者在 [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys) 处使用 `read:analytics` 范围创建密钥。在 Teams 计划中,导出[支出报告 CSV](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans),其中列出了每个用户和每个模型的令牌使用情况和估计支出。

72 89 

73[Claude Enterprise 消费指南](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide)是管理员的规划参考。它解释了消费如何在 Claude chat、Claude Code 和 Cowork 中有所不同,并为预算提供了每用户美元起点。为编码座位预算比聊天座位更多:每个 Claude Code 轮次都包含文件内容、工具调用和多步推理,因此一个调试会话可能会消耗超过一天的聊天。90[Claude Enterprise 消费指南](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide)是管理员的规划参考。它解释了消费如何在 Claude chat、Claude Code 和 Cowork 中有所不同,并为预算提供了每用户美元起点。为编码座位预算比聊天座位更多:每个 Claude Code 轮次都包含文件内容、工具调用和多步推理,因此一个调试会话可能会消耗超过一天的聊天。

74 91 

data-usage.md +16 −7

Details

75 数据访问75 数据访问

76</h2>76</h2>

77 77 

78对于所有第一方用户,您可以了解更多关于为[本地 Claude Code](#local-claude-code-data-flow-and-dependencies) 和[远程 Claude Code](#cloud-execution-data-flow-and-dependencies) 记录的数据。[Remote Control](/zh-CN/remote-control) 会话遵循本地数据流,因为所有执行都发生在您的机器上。请注意,对于远程 Claude Code,Claude 访问您启动 Claude Code 会话的存储库。Claude 不访问您已连接但未在其中启动会话的存储库。78对于所有第一方用户,您可以了解更多关于为[本地 Claude Code](#local-claude-code-data-flow-and-dependencies) 和[远程 Claude Code](#cloud-execution-data-flow-and-dependencies) 记录的数据。[Remote Control](/zh-CN/remote-control) 会话遵循本地数据流,因为所有执行都发生在您的机器上;连接时,会话记录也存储在 Anthropic 服务器上以在设备间同步对话,如[连接和安全](/zh-CN/remote-control#connection-and-security)中所述。请注意,对于远程 Claude Code,Claude 访问您启动 Claude Code 会话的存储库。Claude 不访问您已连接但未在其中启动会话的存储库。

79 79 

80<h2 id="local-claude-code-data-flow-and-dependencies">80<h2 id="local-claude-code-data-flow-and-dependencies">

81 本地 Claude Code:数据流和依赖关系81 本地 Claude Code:数据流和依赖关系


83 83 

84下面的图表显示了 Claude Code 在安装和正常操作期间如何连接到外部服务。实线表示必需的连接,而虚线表示可选或用户启动的数据流。84下面的图表显示了 Claude Code 在安装和正常操作期间如何连接到外部服务。实线表示必需的连接,而虚线表示可选或用户启动的数据流。

85 85 

86<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/claude-code-data-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=5b1131530bdfdd415700a0cb4d4070c4" alt="显示 Claude Code 外部连接的图表:安装/更新连接到分发服务器,用户请求连接到 Anthropic 服务,包括 Console 身份验证、public-api,以及可选的指标和 Sentry。通过 /feedback 发送的反馈转到 Google Cloud Storage,并可选择创建 GitHub issue" width="720" height="520" data-path="images/claude-code-data-flow.svg" />86<img src="https://mintcdn.com/claude-code/YR4DRZyI3CdsXkiT/images/claude-code-data-flow.svg?fit=max&auto=format&n=YR4DRZyI3CdsXkiT&q=85&s=2846ea92cfc2297b8620c31c82b482ad" alt="显示 Claude Code 外部连接的图表:安装/更新连接到分发服务器,用户请求连接到 Anthropic Console 身份验证和 public-api,可选的遥测流将指标和错误报告发送到 Anthropic 和第三方服务。通过 /feedback 发送的反馈转到 Google Cloud Storage,并可选择创建 GitHub issue" width="720" height="520" data-path="images/claude-code-data-flow.svg" />

87 87 

88Claude Code 在本地运行。为了与 LLM 交互,Claude Code 通过网络发送数据。此数据包括所有用户提示和模型输出,通过 TLS 1.2+ 在传输中加密。Claude Code 与大多数流行的 VPN 和 LLM 代理兼容。88Claude Code 在本地运行。为了与 LLM 交互,Claude Code 通过网络发送数据。此数据包括所有用户提示和模型输出,通过 TLS 1.2+ 在传输中加密。Claude Code 与大多数流行的 VPN 和 LLM 代理兼容。

89 89 


115 遥测服务115 遥测服务

116</h2>116</h2>

117 117 

118Claude Code 从用户的机器连接到 Anthropic 以记录操作指标,例如延迟、可靠性和使用模式。此日志记录不包括任何代码或文件路径。数据在传输中加密,静止时也加密要选择退出遥测请设置 `DISABLE_TELEMETRY` 环境变量118Claude Code 发送两种操作遥测:使用指标和错误报告您可以使用下面的环境变量分别关闭每一种或通过设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 一次性禁用所有非必要流量

119 119 

120Claude Code 从用户的机器连接到 Sentry 以进行操作错误日志记录。数据使用 TLS 在传输中加密使用 256 AES 加密在静止时加密在 [Sentry 安全文档](https://sentry.io/security/) 中了解更多要选择退出错误日志记录,请设置 `DISABLE_ERROR_REPORTING` 环境变量120**指标**:延迟、可靠性和使用模式通过 TLS 发送到 Anthropic 和第三方日志记录基础设施指标永远不包括您的代码、提示或文件路径设置 `DISABLE_TELEMETRY=1` 以选择退出

121 

122**错误报告**:来自 Claude Code 自身内部的错误消息和堆栈跟踪,通过 TLS 发送到第三方错误跟踪服务。Claude Code 在任何内容离开您的机器之前会编辑已知的密钥、文件路径、电子邮件地址和其他个人信息的模式。设置 `DISABLE_ERROR_REPORTING=1` 以选择退出。

123 

124错误报告仅在以下所有条件都适用时才启用:

125 

126* 您使用 Claude Pro 或 Max 订阅登录

127* 您运行的是 Claude Code v2.1.198 或更高版本

128* 您直接连接到 Claude API

129* 您的组织没有零数据保留或 HIPAA 协议

121 130 

122当您运行 `/feedback` 命令时,您的对话历史记录(包括代码)的副本被发送到 Anthropic。在提交之前,您可以选择包含多少历史记录:仅当前会话(这是默认设置),或者也包括来自同一项目在过去 24 小时或 7 天内的其他会话。数据通过 TLS 在传输中加密并存储在 Google Cloud Storage 中,Google Cloud Storage 默认对静止数据进行加密。可选地,在公共存储库中创建 GitHub 问题。要选择退出,请将 `DISABLE_FEEDBACK_COMMAND` 环境变量设置为 `1`。131当您运行 `/feedback` 命令时,您的对话历史记录(包括代码)的副本被发送到 Anthropic。在提交之前,您可以选择包含多少历史记录:仅当前会话(这是默认设置),或者也包括来自同一项目在过去 24 小时或 7 天内的其他会话。数据通过 TLS 在传输中加密并存储在 Google Cloud Storage 中,Google Cloud Storage 默认对静止数据进行加密。可选地,在公共存储库中创建 GitHub 问题。要选择退出,请将 `DISABLE_FEEDBACK_COMMAND` 环境变量设置为 `1`。

123 132 


131 140 

132| 服务 | Claude API | Google Cloud 的 Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |141| 服务 | Claude API | Google Cloud 的 Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |

133| ------------------------------ | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |142| ------------------------------ | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |

134| **Anthropic(指标)** | 默认开启。<br />`DISABLE_TELEMETRY=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |143| **Metrics** | 默认开启。<br />`DISABLE_TELEMETRY=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |

135| **Sentry(错误)** | 默认开启。<br />`DISABLE_ERROR_REPORTING=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |144| **Error reports** | v2.1.198+ 上 Pro 和 Max 登录默认开启,否则关闭。<br />`DISABLE_ERROR_REPORTING=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |

136| **Claude API(`/feedback` 报告)** | 默认开启。<br />`DISABLE_FEEDBACK_COMMAND=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |145| **Claude API(`/feedback` 报告)** | 默认开启。<br />`DISABLE_FEEDBACK_COMMAND=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |

137| **会话质量调查** | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 |146| **会话质量调查** | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 |

138| **WebFetch 域安全检查** | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 |147| **WebFetch 域安全检查** | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 |

139 148 

140所有环境变量都可以检查到 `settings.json`(请参阅 [settings 参考](/zh-CN/settings))。149所有环境变量都可以检查到 `settings.json`(请参阅 [settings 参考](/zh-CN/settings))。

141 150 

142从 v2.1.126 开始,当主机平台设置 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` 时,Google Cloud 的 Agent Platform、Amazon Bedrock 和 Microsoft Foundry 的指标默认开启,并遵循标准的 `DISABLE_TELEMETRY` 选择退出。Sentry 错误报告和 `/feedback` 报告在这些提供商上仍然默认关闭。151从 v2.1.126 开始,当主机平台设置 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` 时,Google Cloud 的 Agent Platform、Amazon Bedrock 和 Microsoft Foundry 的指标默认开启,并遵循标准的 `DISABLE_TELEMETRY` 选择退出。错误报告和 `/feedback` 报告在这些提供商上仍然默认关闭。

143 152 

144<h3 id="webfetch-domain-safety-check">153<h3 id="webfetch-domain-safety-check">

145 WebFetch 域安全检查154 WebFetch 域安全检查

Details

25| `/hooks` | 活跃的 hook 配置 |25| `/hooks` | 活跃的 hook 配置 |

26| `/mcp` | 连接的 MCP 服务器及其状态 |26| `/mcp` | 连接的 MCP 服务器及其状态 |

27| `/permissions` | 当前生效的已解析允许和拒绝规则 |27| `/permissions` | 当前生效的已解析允许和拒绝规则 |

28| `/doctor` | 配置检查:安装健康状况、无效的设置文件、未使用的扩展和同一目录中重复的[子代理](/zh-CN/sub-agents)名称,以及建议的修复 |28| `/doctor` | 配置检查:安装健康状况、无效的设置文件、未使用的扩展、同一目录中重复的[子代理](/zh-CN/sub-agents)名称,以及建议的修复 |

29| `/debug [issue]` | 为会话启用调试日志记录,并提示 Claude 使用日志输出和设置路径进行诊断 |29| `/debug [issue]` | 为会话启用调试日志记录,并提示 Claude 使用日志输出和设置路径进行诊断 |

30| `/status` | 活跃的设置源,包括是否启用了托管设置 |30| `/status` | 活跃的设置源,包括是否启用了托管设置 |

31 31 


45 45 

46设置在托管、用户、项目和本地范围内合并。当存在时,托管设置总是优先。在其余的中,更接近的范围按本地、项目、用户的顺序覆盖更广泛的范围。某些设置也可以由命令行标志或[环境变量](/zh-CN/env-vars)设置,它们充当另一个覆盖层。当设置似乎不适用时,你设置的值通常被另一个范围或环境变量覆盖。46设置在托管、用户、项目和本地范围内合并。当存在时,托管设置总是优先。在其余的中,更接近的范围按本地、项目、用户的顺序覆盖更广泛的范围。某些设置也可以由命令行标志或[环境变量](/zh-CN/env-vars)设置,它们充当另一个覆盖层。当设置似乎不适用时,你设置的值通常被另一个范围或环境变量覆盖。

47 47 

48运行 `/doctor` 来检查你的配置和安装。它报告它发现的内容,包括无效的设置文件、重复的安装和未使用的扩展,然后提议仅在你确认后应用的修复。在 v2.1.205 之前,`/doctor` 打开一个只读诊断屏幕,按 `f` 将报告发送给 Claude 来修复。48运行 `/doctor` 来检查你的配置和安装。它报告它发现的内容,包括无效的设置文件、重复的安装、未使用的扩展以及 {/* min-version: 2.1.206 */}已检入的 `CLAUDE.md` 内容 Claude 可以从代码库中推导出来,然后提议仅在你确认后应用的修复。`CLAUDE.md` 修剪检查需要 Claude Code v2.1.206 或更高版本。在 v2.1.205 之前,`/doctor` 打开一个只读诊断屏幕,按 `f` 将报告发送给 Claude 来修复。

49 49 

50从终端,`claude doctor` 打印只读安装和设置诊断,而不启动会话。50从终端,`claude doctor` 打印只读安装和设置诊断,而不启动会话。

51 51 

desktop.md +78 −19

Details

80 80 

81权限模式控制 Claude 在会话期间拥有多少自主权:它是否在编辑文件、运行命令或两者之前询问。你可以随时使用发送按钮旁的模式选择器切换模式。从 Manual 开始以准确查看 Claude 的操作,然后随着你变得更舒适,转移到 Accept edits 或 Plan。81权限模式控制 Claude 在会话期间拥有多少自主权:它是否在编辑文件、运行命令或两者之前询问。你可以随时使用发送按钮旁的模式选择器切换模式。从 Manual 开始以准确查看 Claude 的操作,然后随着你变得更舒适,转移到 Accept edits 或 Plan。

82 82 

83要为新的本地会话设置默认模式,请将 `permissions.defaultMode` 添加到你的[设置文件](/zh-CN/settings#settings-files)。桌面应用读取与 CLI 相同的设置文件。你在选择器中选择的模式会被记住,每个文件夹都会优先于 `defaultMode`,除了 Plan,它仅适用于当前会话。

84 

83| 模式 | 设置键 | 行为 |85| 模式 | 设置键 | 行为 |

84| ---------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |86| ---------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

85| **Manual** | `default` | Claude 在编辑文件或运行命令之前询问。你会看到一个 diff,可以接受或拒绝每个更改。推荐给新用户。 |87| **Manual** | `default` | Claude 在编辑文件或运行命令之前询问。你会看到一个 diff,可以接受或拒绝每个更改。推荐给新用户。 |

86| **Accept edits** | `acceptEdits` | Claude 自动接受文件编辑和常见的文件系统命令,如 `mkdir`、`touch` 和 `mv`,但在运行其他终端命令之前仍然询问。当你信任文件更改并想要更快的迭代时,使用此选项。 |88| **Accept edits** | `acceptEdits` | Claude 自动接受文件编辑和常见的文件系统命令,如 `mkdir`、`touch` 和 `mv`,但在运行其他终端命令之前仍然询问。当你信任文件更改并想要更快的迭代时,使用此选项。 |

87| **Plan** | `plan` | Claude 读取文件并运行命令来探索,然后提出计划而不编辑你的源代码。适合复杂任务,你想先审查方法。 |89| **Plan** | `plan` | Claude 读取文件并运行命令来探索,然后提出计划而不编辑你的源代码。适合复杂任务,你想先审查方法。 |

88| **Auto** | `auto` | Claude 执行所有操作,并进行后台安全检查以验证与你的请求的一致性。减少权限提示,同时保持监督。在你的设置 → Claude Code 中启用。请参阅下面的[可用性要求](#auto-mode-availability)。 |90| **Auto** | `auto` | Claude 执行所有操作,并进行后台安全检查以验证与你的请求的一致性。减少权限提示,同时保持监督。在你的账户满足下面的[可用性要求](#auto-mode-availability)时出现;没有单独的设置切换 |

89| **Bypass permissions** | `bypassPermissions` | Claude 运行时没有任何权限提示,除了由显式[询问规则](/zh-CN/permissions#manage-permissions)强制的权限提示或当 Claude [在外部网站上操作](#browse-external-sites)时由安全分类器强制的权限提示;等同于 CLI 中的 `--dangerously-skip-permissions`。在设置 → Claude Code 中的"允许绕过权限模式"下启用。仅在沙箱容器或虚拟机中使用。企业管理员可以禁用此选项。 |91| **Bypass permissions** | `bypassPermissions` | Claude 运行时没有权限提示,除了由显式[询问规则](/zh-CN/permissions#manage-permissions)强制的权限提示、连接器工具[你的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,或当 Claude [在外部网站上操作](#browse-external-sites)时由安全分类器强制的权限提示;等同于 CLI 中的 `--dangerously-skip-permissions`。 Pro 和 Max 计划上,在你的设置 → Claude Code 中的"允许绕过权限模式"下启用;在 Team 和 Enterprise 计划上没有设置切换,组织政策控制它。仅在沙箱容器或虚拟机中使用。 |

90 92 

91代码选项卡的早期版本将这些模式标记为 Ask permissions、Auto accept edits 和 Plan mode。93代码选项卡的早期版本将这些模式标记为 Ask permissions、Auto accept edits 和 Plan mode。

92 94 


94 96 

95<span id="auto-mode-availability" />97<span id="auto-mode-availability" />

96 98 

97Auto mode 在 Anthropic API 上对所有用户可用,需要 Claude Opus 4.6 或更高版本,或 Sonnet 4.6 或更高版本。在路由到 Google Cloud 的 Agent Platform 的企业部署中,Auto mode 处于关闭状态,直到你[设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`](/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry),并且只有 Claude Sonnet 5、Opus 4.7 和 Opus 4.8 在那里受支持99Auto mode 在 Anthropic API 上对所有用户可用,需要 Claude Opus 4.6 或更高版本,或 Sonnet 4.6 或更高版本。在路由到 Google Cloud 的 Agent Platform 的企业部署中,auto mode [默认可用](/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry),仅支持 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。{/* min-version: 2.1.207 */}在 Claude Code v2.1.207 之前,Google Cloud 的 Agent Platform 上的企业部署必须设置 `CLAUDE_CODE_ENABLE_AUTO_MODE` 来启用 auto mode

98 100 

99<Tip title="最佳实践">101<Tip title="最佳实践">

100 在 Plan 中启动复杂任务,以便 Claude 在进行更改之前制定方法。一旦你批准计划,切换到 Accept edits 或 Manual 来执行它。有关此工作流的更多信息,请参阅[先探索,然后计划,然后编码](/zh-CN/best-practices#explore-first-then-plan-then-code)。102 在 Plan 中启动复杂任务,以便 Claude 在进行更改之前制定方法。一旦你批准计划,切换到 Accept edits 或 Manual 来执行它。有关此工作流的更多信息,请参阅[先探索,然后计划,然后编码](/zh-CN/best-practices#explore-first-then-plan-then-code)。


155 157 

156浏览器遵循与 [Chrome 中的 Claude 扩展](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)相同的[网站允许列表和阻止列表控制](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)。如果你的组织已经为扩展配置了这些列表,浏览器会自动尊重它们。管理员也可以使用 [`browserExternalPageTools` 托管设置](#managed-settings)关闭 Claude 在外部页面上的工具。禁用工具后,用户仍然可以导航到外部网站;Claude 的工具无法读取或对其进行操作。158浏览器遵循与 [Chrome 中的 Claude 扩展](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)相同的[网站允许列表和阻止列表控制](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)。如果你的组织已经为扩展配置了这些列表,浏览器会自动尊重它们。管理员也可以使用 [`browserExternalPageTools` 托管设置](#managed-settings)关闭 Claude 在外部页面上的工具。禁用工具后,用户仍然可以导航到外部网站;Claude 的工具无法读取或对其进行操作。

157 159 

160要完全关闭外部浏览,请将 [`disableBrowserExternalNavigation` 托管设置](#managed-settings)设置为 `true`。这会阻止浏览器中的所有外部导航,包括你的组织允许列表上的网站;localhost 开发服务器和文件预览继续工作。使用 `browserExternalPageTools` 让用户继续浏览外部网站而不使用 Claude 的工具,使用 `disableBrowserExternalNavigation` 为用户和 Claude 阻止外部网站。

161 

158<h3 id="review-changes-with-diff-view">162<h3 id="review-changes-with-diff-view">

159 使用 diff 视图审查更改163 使用 diff 视图审查更改

160</h3>164</h3>


313 317 

314<Steps>318<Steps>

315 <Step title="更新桌面应用">319 <Step title="更新桌面应用">

316 确保你有最新版本的 Claude Desktop。在 [claude.com/download](https://claude.com/download) 下载或更新,然后重启应用。320 确保你有最新版本的 Claude Desktop。在 macOS 和 Windows 上,在 [claude.com/download](https://claude.com/download) 下载或更新;在 Linux 上通过你的包管理器更新([说明](/zh-CN/desktop-linux))。然后重启应用。

317 </Step>321 </Step>

318 322 

319 <Step title="打开切换">323 <Step title="打开切换">


418 来自 Dispatch 的会话422 来自 Dispatch 的会话

419</h3>423</h3>

420 424 

421[Dispatch](https://support.claude.com/en/articles/13947068) 是一个与 Claude 的持久对话,存在于 [Cowork](https://claude.com/product/cowork#dispatch-and-computer-use) 选项卡中。你向 Dispatch 发送任务消息,它决定如何处理。425[Dispatch](https://support.claude.com/en/articles/13947068) 是一个与 Claude 的持久对话,存在于 [Cowork](https://claude.com/product/cowork) 选项卡中。你向 Dispatch 发送任务消息,它决定如何处理。

422 426 

423任务可以通过两种方式成为 Code 会话:你直接要求一个,例如"打开 Claude Code 会话并修复登录错误",或 Dispatch 决定任务是开发工作并自己生成一个。通常路由到 Code 的任务包括修复错误、更新依赖项、运行测试或打开拉取请求。研究、文档编辑和电子表格工作保留在 Cowork 中。427任务可以通过两种方式成为 Code 会话:你直接要求一个,例如"打开 Claude Code 会话并修复登录错误",或 Dispatch 决定任务是开发工作并自己生成一个。通常路由到 Code 的任务包括修复错误、更新依赖项、运行测试或打开拉取请求。研究、文档编辑和电子表格工作保留在 Cowork 中。

424 428 


454 458 

455[Skills](/zh-CN/skills)扩展 Claude 可以做的事情。Claude 在相关时自动加载它们,或者你可以直接调用一个:在提示框中输入 `/` 或点击 **+** 按钮并选择 **Slash commands** 来浏览可用的内容。这包括[内置命令](/zh-CN/commands)、你的[自定义 skills](/zh-CN/skills#create-your-first-skill)、来自你的代码库的项目 skills 以及来自任何[已安装插件](/zh-CN/plugins)的 skills。选择一个,它会在输入字段中突出显示。在它之后输入你的任务并照常发送。459[Skills](/zh-CN/skills)扩展 Claude 可以做的事情。Claude 在相关时自动加载它们,或者你可以直接调用一个:在提示框中输入 `/` 或点击 **+** 按钮并选择 **Slash commands** 来浏览可用的内容。这包括[内置命令](/zh-CN/commands)、你的[自定义 skills](/zh-CN/skills#create-your-first-skill)、来自你的代码库的项目 skills 以及来自任何[已安装插件](/zh-CN/plugins)的 skills。选择一个,它会在输入字段中突出显示。在它之后输入你的任务并照常发送。

456 460 

461你可以在 Claude 工作时发送命令,就像任何其他消息一样,会话在轮次完成后返回空闲状态。在 v2.1.206 之前,在轮次中间发送的命令可能会导致会话显示为运行状态,你之后发送的消息未被传递。

462 

457<h3 id="install-plugins">463<h3 id="install-plugins">

458 安装插件464 安装插件

459</h3>465</h3>


737| `disableAutoMode` | 设置为 `"disable"` 以防止用户启用 [Auto](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 模式。从模式选择器中删除 Auto。也在 `permissions` 下接受。 |743| `disableAutoMode` | 设置为 `"disable"` 以防止用户启用 [Auto](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 模式。从模式选择器中删除 Auto。也在 `permissions` 下接受。 |

738| `autoMode` | 自定义 auto 模式分类器在你的组织中信任和阻止的内容。请参阅[配置 auto 模式](/zh-CN/auto-mode-config)。 |744| `autoMode` | 自定义 auto 模式分类器在你的组织中信任和阻止的内容。请参阅[配置 auto 模式](/zh-CN/auto-mode-config)。 |

739| `browserExternalPageTools` | 设置为 `"disabled"` 以防止 Claude 使用工具在[浏览器窗格](#browse-external-sites)中读取或作用于外部页面。用户仍然可以自己导航到外部网站,本地开发服务器预览不受影响。 |745| `browserExternalPageTools` | 设置为 `"disabled"` 以防止 Claude 使用工具在[浏览器窗格](#browse-external-sites)中读取或作用于外部页面。用户仍然可以自己导航到外部网站,本地开发服务器预览不受影响。 |

746| `disableBrowserExternalNavigation` | 设置为 `true` 以完全关闭[浏览器窗格](#browse-external-sites)中的外部浏览。用户和 Claude 都无法导航到外部网站,localhost 开发服务器预览不受影响。该值必须是 JSON 布尔值 `true`;字符串 `"true"` 被忽略。 |

740| `sshConfigs` | 预配置[SSH 连接](#pre-configure-ssh-connections-for-your-team),在环境下拉菜单中显示。用户无法编辑或删除托管连接。 |747| `sshConfigs` | 预配置[SSH 连接](#pre-configure-ssh-connections-for-your-team),在环境下拉菜单中显示。用户无法编辑或删除托管连接。 |

741| `sshHostAllowlist` | 限制 [SSH 会话](#restrict-which-ssh-hosts-users-can-connect-to)连接到已解析主机名与这些模式之一匹配的主机。空数组禁用 SSH 会话。仅从托管设置中读取。 |748| `sshHostAllowlist` | 限制 [SSH 会话](#restrict-which-ssh-hosts-users-can-connect-to)连接到已解析主机名与这些模式之一匹配的主机。空数组禁用 SSH 会话。仅从托管设置中读取。 |

742| `managedMcpServers` | 将 MCP 服务器配置推送到第三方部署中的所有用户。每个条目指定 `"http"`、`"sse"` 或 `"stdio"` 的传输、连接详细信息,以及可选的 `toolPolicy` 映射,该映射限制该服务器中用户可以调用的工具。仅在第三方 (3P) Desktop 部署中可用。通过托管设置文件或 MDM 提供此键,因为第三方部署不接收管理员控制台设置。 |749| `managedMcpServers` | 将 MCP 服务器配置推送到第三方部署中的所有用户。每个条目指定 `"http"`、`"sse"` 或 `"stdio"` 的传输、连接详细信息,以及可选的 `toolPolicy` 映射,该映射限制该服务器中用户可以调用的工具。仅在第三方 (3P) Desktop 部署中可用。通过托管设置文件或 MDM 提供此键,因为第三方部署不接收管理员控制台设置。 |


747* **[云会话](#cloud-sessions)**:在 Anthropic 管理的虚拟机上运行,仅接收[服务器管理的设置](/zh-CN/server-managed-settings)。754* **[云会话](#cloud-sessions)**:在 Anthropic 管理的虚拟机上运行,仅接收[服务器管理的设置](/zh-CN/server-managed-settings)。

748* **[SSH 会话](#ssh-sessions)**:会话从远程主机读取托管设置文件。Desktop 本身在创建连接时从本地机器的托管设置中读取 `sshConfigs` 和 `sshHostAllowlist`。755* **[SSH 会话](#ssh-sessions)**:会话从远程主机读取托管设置文件。Desktop 本身在创建连接时从本地机器的托管设置中读取 `sshConfigs` 和 `sshHostAllowlist`。

749 756 

750`permissions.disableBypassPermissionsMode` 和 `disableAutoMode` 也在用户和项目设置中工作,但将它们放在托管设置中可防止用户覆盖它们。`autoMode` 从用户设置、`.claude/settings.local.json` 和托管设置中读取,但不从已检入的 `.claude/settings.json` 中读取:克隆的存储库无法注入其自己的分类器规则。有关托管专用设置的完整列表,包括 `allowManagedPermissionRulesOnly` 和 `allowManagedHooksOnly`,请参阅[托管专用设置](/zh-CN/permissions#managed-only-settings)。757`permissions.disableBypassPermissionsMode` 和 `disableAutoMode` 也在用户和项目设置中工作,但将它们放在托管设置中可防止用户覆盖它们。

758 

759{/* min-version: 2.1.207 */}Claude Code 从用户设置、`--settings` 标志和托管设置中读取 `autoMode`,但不从 `.claude/settings.json` 或 `.claude/settings.local.json` 中读取:两个文件都位于存储库目录中,因此克隆的存储库或构建步骤无法注入其自己的分类器规则。在 v2.1.207 之前,Claude Code 也读取 `.claude/settings.local.json`。

760 

761有关托管专用设置的完整列表,包括 `allowManagedPermissionRulesOnly` 和 `allowManagedHooksOnly`,请参阅[托管专用设置](/zh-CN/permissions#managed-only-settings)。

751 762 

752<h3 id="device-management-policies">763<h3 id="device-management-policies">

753 设备管理策略764 设备管理策略


758* **macOS**:通过使用 Jamf 或 Kandji 等工具的 `com.anthropic.claudefordesktop` 偏好域配置769* **macOS**:通过使用 Jamf 或 Kandji 等工具的 `com.anthropic.claudefordesktop` 偏好域配置

759* **Windows**:通过 `SOFTWARE\Policies\Claude` 处的注册表配置770* **Windows**:通过 `SOFTWARE\Policies\Claude` 处的注册表配置

760 771 

772<h3 id="network-access-requirements">

773 网络访问要求

774</h3>

775 

776Desktop 从 Anthropic CDN 主机加载其应用程序代码和用户内容。

777 

778```text theme={null}

779anthropic.com

780*.anthropic.com

781claude.ai

782*.claude.ai

783claude.com

784*.claude.com

785claude.app

786*.claude.app

787*.claudeusercontent.com

788*.claudemcpcontent.com

789```

790 

791流量在端口 443 上使用 HTTPS,除非你为 [OTLP](/zh-CN/monitoring-usage)、LLM 网关或 MCP 服务器配置自定义端口。

792 

793有关代理服务器、自定义证书颁发机构、mTLS 和独立 CLI 需要的域,请参阅[网络配置](/zh-CN/network-config)。

794 

795要减少防火墙通配符的数量,请改为允许这些 Anthropic 主机。某些子域是动态生成的,必须保持为通配符。

796 

797```text theme={null}

798anthropic.com

799api.anthropic.com

800a-api.anthropic.com

801a-cdn.anthropic.com

802s-cdn.anthropic.com

803assets-proxy.anthropic.com

804claude.ai

805a.claude.ai

806a-cdn.claude.ai

807assets.claude.ai

808downloads.claude.ai

809*.livepreview.claude.ai

810claude.com

811platform.claude.com

812*.livepreview.claude.app

813*.claudeusercontent.com

814*.claudemcpcontent.com

815```

816 

761<h3 id="authentication-and-sso">817<h3 id="authentication-and-sso">

762 身份验证和 SSO818 身份验证和 SSO

763</h3>819</h3>

764 820 

765企业组织可以要求所有用户使用 SSO。有关计划级别的详细信息,请参阅[身份验证](/zh-CN/authentication),有关 SAML 和 OIDC 配置,请参阅[设置 SSO](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso)。821企业组织可以要求所有用户使用 SSO。有关计划级别的详细信息,请参阅[身份验证](/zh-CN/authentication),有关 SAML 配置,请参阅[设置 SSO](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso);OIDC 设置在 [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide) 中介绍

766 822 

767<h3 id="data-handling">823<h3 id="data-handling">

768 数据处理824 数据处理


777Desktop 可以通过企业部署工具分发:833Desktop 可以通过企业部署工具分发:

778 834 

779* **macOS**:通过 MDM(如 Jamf 或 Kandji)使用 `.dmg` 安装程序分发835* **macOS**:通过 MDM(如 Jamf 或 Kandji)使用 `.dmg` 安装程序分发

780* **Windows**:通过 MSIX 包或 `.exe` 安装程序部署。有关企业部署选项(包括静默安装),请参阅[为 Windows 部署 Claude Desktop](https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows)836* **Windows**:通过 MSIX 包部署。有关企业部署选项(包括静默安装),请参阅[为 Windows 部署 Claude Desktop](https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows)

781 837 

782有关网络配置如代理设置防火墙允许列表和 LLM 网关,请参阅[网络配置](/zh-CN/network-config)。838有关在防火墙中允许列表的域请参阅上面的[网络访问要求](#network-access-requirements)。有关代理设置自定义证书颁发机构和 LLM 网关,请参阅[网络配置](/zh-CN/network-config)。

783 839 

784有关完整的企业配置参考,请参阅[企业配置指南](https://support.claude.com/en/articles/12622667-enterprise-configuration)。840有关完整的企业配置参考,请参阅[企业配置指南](https://support.claude.com/en/articles/12622667-enterprise-configuration)。

785 841 


802此表显示了常见 CLI 标志的桌面应用等效项。未列出的标志没有桌面等效项,因为它们是为脚本或自动化设计的。858此表显示了常见 CLI 标志的桌面应用等效项。未列出的标志没有桌面等效项,因为它们是为脚本或自动化设计的。

803 859 

804| CLI | Desktop 等效项 |860| CLI | Desktop 等效项 |

805| ------------------------------------- | ------------------------------------------------------ |861| ------------------------------------- | ----------------------------------------------------------------------------------------- |

806| `--model sonnet` | 发送按钮旁的模型下拉菜单 |862| `--model sonnet` | 发送按钮旁的模型下拉菜单 |

807| `--resume`, `--continue` | 点击侧边栏中的会话 |863| `--resume`, `--continue` | 点击侧边栏中的会话 |

808| `--permission-mode` | 发送按钮旁的模式选择器 |864| `--permission-mode` | 发送按钮旁的模式选择器 |

809| `--dangerously-skip-permissions` | 绕过权限模式。在设置 → Claude Code → "允许绕过权限模式"中启用。企业管理员可以禁用此设置。 |865| `--dangerously-skip-permissions` | 绕过权限模式。在 Pro 和 Max 计划上,在设置 → Claude Code → "允许绕过权限模式"中启用它;在 Team 和 Enterprise 计划上,组织策略控制它 |

810| `--add-dir` | 在云会话中使用 **+** 按钮添加多个存储库 |866| `--add-dir` | 在云会话中使用 **+** 按钮添加多个存储库 |

811| `--allowedTools`, `--disallowedTools` | 无每个会话的等效项。[设置文件](/zh-CN/settings)中的权限规则仍然适用。 |867| `--allowedTools`, `--disallowedTools` | 无每个会话的等效项。[设置文件](/zh-CN/settings)中的权限规则仍然适用。 |

812| `--verbose` | [Verbose 视图模式](#switch-view-modes)在 Transcript 视图下拉菜单中 |868| `--verbose` | [Verbose 视图模式](#switch-view-modes)在 Transcript 视图下拉菜单中 |


839此表比较了 CLI 和 Desktop 之间的核心功能。有关 CLI 标志的完整列表,请参阅 [CLI 参考](/zh-CN/cli-reference)。895此表比较了 CLI 和 Desktop 之间的核心功能。有关 CLI 标志的完整列表,请参阅 [CLI 参考](/zh-CN/cli-reference)。

840 896 

841| 功能 | CLI | Desktop |897| 功能 | CLI | Desktop |

842| ----------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |898| ----------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

843| 权限模式 | 所有模式,包括 `dontAsk` | 手动接受编辑和 Plan Mode。Auto 和绕过权限在你在设置中启用它们后出现在模式选择器中 |899| 权限模式 | 所有模式,包括 `dontAsk` | ManualAccept edits、Plan Auto。绕过权限在模式选择器中出现一次启用:通过 Pro 和 Max 计划上的设置切换,或通过 Team 和 Enterprise 计划上的组织策略 |

844| `--dangerously-skip-permissions` | CLI 标志 | 绕过权限模式。在设置 → Claude Code → "允许绕过权限模式"中启用 |900| `--dangerously-skip-permissions` | CLI 标志 | 绕过权限模式。在 Pro 和 Max 计划上,在设置 → Claude Code → "允许绕过权限模式"中启用它;在 Team 和 Enterprise 计划上,组织策略控制它 |

845| [第三方提供商](/zh-CN/third-party-integrations) | Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry | Anthropic 的 API 默认。企业部署可以配置 Google Cloud 的 Agent Platform 和网关提供商。请参阅[企业配置指南](https://support.claude.com/en/articles/12622667-enterprise-configuration)。要在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡,请参阅 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。 |901| [第三方提供商](/zh-CN/third-party-integrations) | Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry | Anthropic 的 API 默认。对于网关路由,请参阅[将桌面应用连接到网关](/zh-CN/llm-gateway-connect#desktop-app)。要在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡,请参阅 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。 |

846| [MCP servers](/zh-CN/mcp) | 在设置文件中配置 | 本地和 SSH 会话的连接器 UI,或设置文件 |902| [MCP servers](/zh-CN/mcp) | 在设置文件中配置 | 本地和 SSH 会话的连接器 UI,或设置文件 |

847| [Plugins](/zh-CN/plugins) | `/plugin` 命令 | 插件管理器 UI |903| [Plugins](/zh-CN/plugins) | `/plugin` 命令 | 插件管理器 UI |

848| @mention 文件 | 基于文本 | 带自动完成;仅本地和 SSH 会话 |904| @mention 文件 | 基于文本 | 带自动完成;仅本地和 SSH 会话 |


860 916 

861以下功能仅在 CLI 或 VS Code 扩展中可用,除非另有说明:917以下功能仅在 CLI 或 VS Code 扩展中可用,除非另有说明:

862 918 

863* **第三方提供商**:Desktop 默认连接到 Anthropic 的 API。企业部署可以通过[托管设置](https://support.claude.com/en/articles/12622667-enterprise-configuration)配置 Google Cloud 的 Agent Platform 和网关提供商。对于 CLI 中的 Amazon Bedrock 或 Microsoft Foundry,请参阅[快速入门](/zh-CN/quickstart)。作为上述部分的例外,[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡。919* **第三方提供商**:Desktop 默认连接到 Anthropic 的 API。要通过网关路由 Desktop,请参阅[将桌面应用连接到网关](/zh-CN/llm-gateway-connect#desktop-app)。企业部署可以通过[托管设置](https://claude.com/docs/third-party/claude-desktop/configuration)配置 Google Cloud 的 Agent Platform 和网关提供商。对于 CLI 中的 Amazon Bedrock 或 Microsoft Foundry,请参阅[快速入门](/zh-CN/quickstart)。作为上述部分的例外,[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡。

864* **Linux (beta)**:Linux 桌面应用中尚不提供计算机使用。请参阅 [Claude Desktop on Linux](/zh-CN/desktop-linux)。920* **Linux (beta)**:Linux 桌面应用中尚不提供计算机使用。请参阅 [Claude Desktop on Linux](/zh-CN/desktop-linux)。

865* **内联代码建议**:Desktop 不提供自动完成风格的建议。它通过对话提示和显式代码更改工作。921* **内联代码建议**:Desktop 不提供自动完成风格的建议。它通过对话提示和显式代码更改工作。

866* **Agent teams**:并行 Claude Code 会话相互通信在 [CLI](/zh-CN/agent-teams) 中可用,不在 Desktop 中。对于一个会话内的多 agent 工作,使用[动态工作流](/zh-CN/workflows),它在 Desktop 中运行。922* **Agent teams**:并行 Claude Code 会话相互通信在 [CLI](/zh-CN/agent-teams) 中可用,不在 Desktop 中。对于一个会话内的多 agent 工作,使用[动态工作流](/zh-CN/workflows),它在 Desktop 中运行。

867* **Terminal-dialog 命令**:在终端中打开交互式面板的内置命令,例如 `/permissions` 和 `/config`,在 Code 选项卡中不可用,并回复 `isn't available in this environment`。`/config` 在你传递 `key=value` 时设置设置,例如 `/config theme=dark`;仅其选择器形式不可用。直接编辑[设置文件](/zh-CN/settings)来管理权限规则和配置,或从独立 CLI 运行命令。923* **Terminal-dialog 命令**:在终端中打开交互式面板的内置命令,其行为在 Code 选项卡中有所不同。直接编辑[设置文件](/zh-CN/settings)来管理权限规则和配置,或从独立 CLI 运行命令。

924 * 没有参数形式的命令,例如 `/permissions`,回复 `isn't available in this environment`。

925 * `/config` 打开设置 → Claude Code。命令后的文本被忽略,所以 `/config theme=dark` 不设置主题。

868 926 

869<h2 id="troubleshooting">927<h2 id="troubleshooting">

870 故障排除928 故障排除


902 960 

9031. 重启应用。9611. 重启应用。

9042. 检查待处理的更新。在 macOS 和 Windows 上,应用在启动时自动更新;在 Linux 上,通过 apt 更新,如 [Claude Desktop on Linux](/zh-CN/desktop-linux) 中所述。9622. 检查待处理的更新。在 macOS 和 Windows 上,应用在启动时自动更新;在 Linux 上,通过 apt 更新,如 [Claude Desktop on Linux](/zh-CN/desktop-linux) 中所述。

9053. 在 Windows 上在 **Windows 日志 → 应用程序** 下的事件查看器中检查崩溃日志9633. 在托管网络上确认你的防火墙允许[网络访问要求](#network-access-requirements)中的 CDN 主机

9644. 在 Windows 上,在 **Windows 日志 → 应用程序** 下的事件查看器中检查崩溃日志。

906 965 

907<h3 id="failed-to-load-session">966<h3 id="failed-to-load-session">

908 "Failed to load session"967 "Failed to load session"

Details

57 <Step title="启动并登录">57 <Step title="启动并登录">

58 从应用启动器启动 **Claude**,或从终端运行 `claude-desktop`,然后使用您的 Anthropic 账户登录。58 从应用启动器启动 **Claude**,或从终端运行 `claude-desktop`,然后使用您的 Anthropic 账户登录。

59 59 

60 Linux 应用的登录方式与 macOS 和 Windows 上相同:使用 claude.ai 订阅或通过您组织的 SSO。Desktop 不直接接受 Claude Console API 密钥;请使用 [CLI](/zh-CN/quickstart) 进行 API 密钥身份验证。对于路由 Desktop 到 Google Cloud 的 Agent Platform 或 LLM 网关的企业部署,请参阅 [企业配置指南](https://support.claude.com/en/articles/12622667-enterprise-configuration) 和 [网络配置](/zh-CN/network-config)。60 Linux 应用的登录方式与 macOS 和 Windows 上相同:使用 claude.ai 订阅或通过您组织的 SSO。Desktop 不直接接受 Claude Console API 密钥;请使用 [CLI](/zh-CN/quickstart) 进行 API 密钥身份验证。对于路由 Desktop 到 Google Cloud 的 Agent Platform 或 LLM 网关的企业部署,请参阅 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) 和 [网络配置](/zh-CN/network-config)。

61 </Step>61 </Step>

62</Steps>62</Steps>

63 63 

Details

33桌面应用有三个选项卡:33桌面应用有三个选项卡:

34 34 

35* **Chat**:无文件访问权限的常规对话,类似于 claude.ai。35* **Chat**:无文件访问权限的常规对话,类似于 claude.ai。

36* **Cowork**:一个自主后台代理,在云虚拟机中处理任务,拥有自己的环境。它可以独立运行,而您可以进行其他工作。36* **Cowork**:一个自主后台代理,在沙箱虚拟机中处理任务,拥有自己的环境,可以独立运行,而您可以进行其他工作。本地 Cowork 会话在您的计算机上运行虚拟机;远程 Cowork 会话改为在 Anthropic 管理的虚拟机上运行。

37* **Code**:一个交互式编码助手,可直接访问您的本地文件。您可以实时审查和批准每项更改。37* **Code**:一个交互式编码助手,可直接访问您的本地文件。您可以实时审查和批准每项更改。

38 38 

39Chat 和 Cowork 在 [Claude Desktop 支持文章](https://support.claude.com/en/collections/16163169-claude-desktop)中有介绍。本页面重点关注 **Code** 选项卡。39Chat 和 Cowork 在 [Claude 帮助中心](https://support.claude.com/)中有介绍;安装和部署桌面应用在 [Claude Desktop 支持文章](https://support.claude.com/en/collections/16163169-claude-desktop)中有介绍。本页面重点关注 **Code** 选项卡。

40 40 

41<h2 id="install">41<h2 id="install">

42 安装42 安装

Details

93 93 

94为了避免停滞,在创建任务后单击 **Run now**,查看权限提示,并为每个提示选择"always allow"。该任务的未来运行会自动批准相同的工具,无需提示。您可以从任务的详细信息页面查看和撤销这些批准。94为了避免停滞,在创建任务后单击 **Run now**,查看权限提示,并为每个提示选择"always allow"。该任务的未来运行会自动批准相同的工具,无需提示。您可以从任务的详细信息页面查看和撤销这些批准。

95 95 

96连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具在每次调用时都会提示,并且不提供"always allow"选项。调用这些工具的运行每次都会停滞。

97 

96<h2 id="manage-scheduled-tasks">98<h2 id="manage-scheduled-tasks">

97 管理定期任务99 管理定期任务

98</h2>100</h2>

Details

347 347 

348插件的[语言服务器](/zh-CN/plugins#add-lsp-servers-to-your-plugin)在提供诊断或回答代码导航请求时被计为已使用,因此其服务器在您的会话中处于活跃状态的 LSP 插件不会被列为未使用。在 v2.1.203 之前,无法计算语言服务器活动作为使用,因此贡献 LSP 服务器的插件完全免除,与主题和输出样式插件仍然相同的方式。348插件的[语言服务器](/zh-CN/plugins#add-lsp-servers-to-your-plugin)在提供诊断或回答代码导航请求时被计为已使用,因此其服务器在您的会话中处于活跃状态的 LSP 插件不会被列为未使用。在 v2.1.203 之前,无法计算语言服务器活动作为使用,因此贡献 LSP 服务器的插件完全免除,与主题和输出样式插件仍然相同的方式。

349 349 

350在计算语言服务器活动的版本的第一个会话中,还会重置每个尚未记录任何使用的 LSP 插件的使用记录,因此 Claude Code 不会根据在其服务器活动被跟踪之前记录的数据将您之前安装的插件判断为未使用。在 v2.1.206 之前,该第一个会话可能会在**最近未使用**下列出一个活跃使用的 LSP 插件并建议审查它。

351 

350当您安装声明依赖项的插件时,安装输出会列出哪些依赖项与其一起自动安装。352当您安装声明依赖项的插件时,安装输出会列出哪些依赖项与其一起自动安装。

351 353 

352您也可以使用直接命令管理插件。354您也可以使用直接命令管理插件。


400 402 

401Claude Code 重新加载所有活跃插件,并显示插件、skills、agents、hooks、插件 MCP servers 和插件 LSP servers 的计数。403Claude Code 重新加载所有活跃插件,并显示插件、skills、agents、hooks、插件 MCP servers 和插件 LSP servers 的计数。

402 404 

403重新加载在下一个请求时会产生令牌成本:新加载的组件在附加到对话的内容中宣布自己,而现有历史记录仍然从 prompt cache 读取。提供 MCP servers 的插件在其工具未被 [tool search](/zh-CN/mcp#scale-with-mcp-tool-search) 延迟时成本更高:该更改使缓存失效,下一个请求重新读取整个对话。在这种情况下,`/reload-plugins` 显示警告并不应用重新加载;传递 `--force` 以强制应用。有关详细信息,请参阅[启用或禁用插件](/zh-CN/prompt-caching#enabling-or-disabling-a-plugin)。405重新加载在下一个请求时会产生令牌成本:新加载的组件在附加到对话的内容中宣布自己,而现有历史记录仍然从 prompt cache 读取。提供 MCP servers 的插件在其工具未被 [tool search](/zh-CN/mcp#scale-with-mcp-tool-search) 延迟时成本更高:该更改使缓存失效,下一个请求重新读取整个对话。{/* min-version: 2.1.163 */}在这种情况下,`/reload-plugins` 显示警告并不应用重新加载;传递 `--force` 以强制应用。有关详细信息,请参阅[启用或禁用插件](/zh-CN/prompt-caching#enabling-or-disabling-a-plugin)。

404 406 

405<h2 id="manage-marketplaces">407<h2 id="manage-marketplaces">

406 管理市场408 管理市场


451 配置自动更新453 配置自动更新

452</h3>454</h3>

453 455 

454Claude Code 可以在启动时自动更新市场及其已安装的插件。为市场启用自动更新后,Claude Code 会刷新市场数据并将已安装的插件更新到最新版本。如果任何插件已更新,您将看到提示您运行 `/reload-plugins` 的通知456Claude Code 可以在启动后在后台自动更新市场及其已安装的插件。为市场启用自动更新后,Claude Code 会刷新市场数据并将已安装的插件更新到磁盘上的最新版本

457 

458Claude Code 在您的会话启动后检查市场和插件更新,延迟时间最多为十分钟,因此运行中的会话继续使用它在启动时加载的版本。如果任何插件已更新,您将看到提示您运行 `/reload-plugins` 的通知,或新版本在您下次启动时加载。

455 459 

456通过 UI 为单个市场切换自动更新:460通过 UI 为单个市场切换自动更新:

457 461 

env-vars.md +17 −7

Details

87 87 

88当相同的行为同时具有环境变量和设置字段时,环境变量优先。例如,`ANTHROPIC_MODEL` 覆盖 `model` 设置,`CLAUDE_CODE_AUTO_CONNECT_IDE` 覆盖 `autoConnectIde`。当环境变量未设置时,设置字段适用。88当相同的行为同时具有环境变量和设置字段时,环境变量优先。例如,`ANTHROPIC_MODEL` 覆盖 `model` 设置,`CLAUDE_CODE_AUTO_CONNECT_IDE` 覆盖 `autoConnectIde`。当环境变量未设置时,设置字段适用。

89 89 

90当相同的变量在您的 shell 和设置文件 `env` 块中都设置时,设置文件值适用。Claude Code 在启动时将每个 `env` 条目写入进程环境,替换从 shell 继承的值。少数变量是特殊情况;[`env` 设置](/zh-CN/settings#available-settings)列出了例外。

91 

92在设置文件之间,`env` 值遵循[设置优先级](/zh-CN/settings#settings-precedence),因此托管设置条目覆盖用户或项目设置中的相同变量。

93 

90环境变量与 CLI 标志和会话内命令的交互因功能而异:`--model` 和 `/model` 覆盖 `ANTHROPIC_MODEL`,而 `CLAUDE_CODE_EFFORT_LEVEL` 覆盖 `/effort`。当变量与另一个配置源交互时,其在[变量](#variables)列表中的行说明优先级或链接到记录它的页面。94环境变量与 CLI 标志和会话内命令的交互因功能而异:`--model` 和 `/model` 覆盖 `ANTHROPIC_MODEL`,而 `CLAUDE_CODE_EFFORT_LEVEL` 覆盖 `/effort`。当变量与另一个配置源交互时,其在[变量](#variables)列表中的行说明优先级或链接到记录它的页面。

91 95 

92Claude Code 在启动时读取环境变量,因此更改在您下次启动 `claude` 时生效。96Claude Code 在启动时读取环境变量,因此更改在您下次启动 `claude` 时生效。


96</h2>100</h2>

97 101 

98| 变量 | 目的 |102| 变量 | 目的 |

99| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |103| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `ANTHROPIC_API_KEY` | 作为 `X-Api-Key` 标头发送的 API 密钥。设置后,即使您已登录,此密钥也会用于替代您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(`-p`)中,存在时始终使用该密钥。在交互模式中,系统会提示您在密钥覆盖订阅之前批准一次。要改用您的订阅,请运行 `unset ANTHROPIC_API_KEY` |104| `ANTHROPIC_API_KEY` | 作为 `X-Api-Key` 标头发送的 API 密钥。设置后,即使您已登录,此密钥也会用于替代您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(`-p`)中,存在时始终使用该密钥。在交互模式中,系统会提示您在密钥覆盖订阅之前批准一次。要改用您的订阅,请运行 `unset ANTHROPIC_API_KEY` |

101| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 标头的自定义值(您在此处设置的值将以 `Bearer ` 为前缀) |105| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 标头的自定义值(您在此处设置的值将以 `Bearer ` 为前缀) |

102| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 的工作区 API 密钥,在 AWS 控制台中生成。作为 `x-api-key` 发送,优先于 AWS SigV4 |106| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 的工作区 API 密钥,在 AWS 控制台中生成。作为 `x-api-key` 发送,优先于 AWS SigV4 |


134| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 资源名称(例如,`my-resource`)。如果未设置 `ANTHROPIC_FOUNDRY_BASE_URL`,则为必需(请参阅 [Microsoft Foundry](/zh-CN/microsoft-foundry)) |138| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 资源名称(例如,`my-resource`)。如果未设置 `ANTHROPIC_FOUNDRY_BASE_URL`,则为必需(请参阅 [Microsoft Foundry](/zh-CN/microsoft-foundry)) |

135| `ANTHROPIC_MODEL` | 要使用的模型设置的名称(请参阅[模型配置](/zh-CN/model-config#environment-variables)) |139| `ANTHROPIC_MODEL` | 要使用的模型设置的名称(请参阅[模型配置](/zh-CN/model-config#environment-variables)) |

136| `ANTHROPIC_SMALL_FAST_MODEL` | \[已弃用] [用于后台任务的 Haiku 级模型](/zh-CN/costs)的名称 |140| `ANTHROPIC_SMALL_FAST_MODEL` | \[已弃用] [用于后台任务的 Haiku 级模型](/zh-CN/costs)的名称 |

137| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 时覆盖 Haiku 级模型的 AWS 区域。在 Amazon Bedrock 上,仅当同时设置 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已弃用的 `ANTHROPIC_SMALL_FAST_MODEL` 时才生效,因为 Amazon Bedrock 否则会为后台任务使用主模型 |141| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 时覆盖 Haiku 级模型的 AWS 区域。在 Amazon Bedrock 上,仅当同时设置 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已弃用的 `ANTHROPIC_SMALL_FAST_MODEL` 时才生效,因为 Amazon Bedrock 否则会在[默认 Sonnet 模型或会话区域中的主模型](/zh-CN/amazon-bedrock#4-pin-model-versions)上运行后台任务 |

138| `ANTHROPIC_VERTEX_BASE_URL` | 覆盖 Google Cloud's Agent Platform 端点 URL。用于自定义 Google Cloud's Agent Platform 端点或通过 [LLM 网关](/zh-CN/llm-gateway)路由时。请参阅 [Google Cloud's Agent Platform](/zh-CN/google-vertex-ai) |142| `ANTHROPIC_VERTEX_BASE_URL` | 覆盖 Google Cloud's Agent Platform 端点 URL。用于自定义 Google Cloud's Agent Platform 端点或通过 [LLM 网关](/zh-CN/llm-gateway)路由时。请参阅 [Google Cloud's Agent Platform](/zh-CN/google-vertex-ai) |

139| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform 请求的 GCP 项目 ID。被 `GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT` 或您的 `GOOGLE_APPLICATION_CREDENTIALS` 凭证文件中的项目覆盖。请参阅 [Google Cloud's Agent Platform](/zh-CN/google-vertex-ai) |143| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform 请求的 GCP 项目 ID。被 `GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT` 或您的 `GOOGLE_APPLICATION_CREDENTIALS` 凭证文件中的项目覆盖。请参阅 [Google Cloud's Agent Platform](/zh-CN/google-vertex-ai) |

140| `ANTHROPIC_WORKSPACE_ID` | [工作负载身份联合](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)的工作区 ID。当您的联合规则的范围超过一个工作区时设置此选项,以便令牌交换知道要针对哪个工作区 |144| `ANTHROPIC_WORKSPACE_ID` | [工作负载身份联合](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)的工作区 ID。当您的联合规则的范围超过一个工作区时设置此选项,以便令牌交换知道要针对哪个工作区 |


165| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 设置为 `0` 以从系统提示的开头省略归属块(客户端版本和提示指纹)。禁用它会改善通过 [LLM 网关](/zh-CN/llm-gateway)路由时的 prompt caching 命中率。Anthropic API 缓存不受影响 |169| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 设置为 `0` 以从系统提示的开头省略归属块(客户端版本和提示指纹)。禁用它会改善通过 [LLM 网关](/zh-CN/llm-gateway)路由时的 prompt caching 命中率。Anthropic API 缓存不受影响 |

166| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 设置用于自动压缩计算的上下文容量(以令牌为单位)。默认为模型的上下文窗口,标准模型为 200K,或[扩展上下文](/zh-CN/model-config#extended-context)模型为 1M,除了 Sonnet 5,它有自己的[默认阈值](/zh-CN/model-config#sonnet-5-context-window)。在 1M 模型上使用较低的值(如 `500000`)可将窗口视为 500K 用于压缩目的。该值上限为模型的实际上下文窗口。`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` 作为此值的百分比应用。设置此变量会将压缩阈值与状态行的 `used_percentage` 解耦,后者始终使用模型的完整上下文窗口 |170| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 设置用于自动压缩计算的上下文容量(以令牌为单位)。默认为模型的上下文窗口,标准模型为 200K,或[扩展上下文](/zh-CN/model-config#extended-context)模型为 1M,除了 Sonnet 5,它有自己的[默认阈值](/zh-CN/model-config#sonnet-5-context-window)。在 1M 模型上使用较低的值(如 `500000`)可将窗口视为 500K 用于压缩目的。该值上限为模型的实际上下文窗口。`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` 作为此值的百分比应用。设置此变量会将压缩阈值与状态行的 `used_percentage` 解耦,后者始终使用模型的完整上下文窗口 |

167| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 覆盖自动 [IDE 连接](/zh-CN/vs-code)。默认情况下,在支持的 IDE 的集成终端内启动时,Claude Code 会自动连接。设置为 `false` 以防止这种情况。设置为 `true` 以在自动检测失败时强制连接尝试,例如当 tmux 遮挡父终端时。优先于 [`autoConnectIde`](/zh-CN/settings#global-config-settings) 全局配置设置 |171| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 覆盖自动 [IDE 连接](/zh-CN/vs-code)。默认情况下,在支持的 IDE 的集成终端内启动时,Claude Code 会自动连接。设置为 `false` 以防止这种情况。设置为 `true` 以在自动检测失败时强制连接尝试,例如当 tmux 遮挡父终端时。优先于 [`autoConnectIde`](/zh-CN/settings#global-config-settings) 全局配置设置 |

172| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code 等待 AWS 默认凭证提供商链生成凭证的时间(以毫秒为单位),然后请求失败并显示 [`AWS default-chain credential resolve timed out`](/zh-CN/errors#aws-default-chain-credential-resolve-timed-out)(默认值:`60000`)。当链中的步骤合法需要更长时间时提高此值,例如通过 `aws-vault` 等包装器进行基于浏览器的 SSO 登录和 MFA。适用于 Claude Code 使用默认链签署的任何地方:[Amazon Bedrock](/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout)、[Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 和 [Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint)。需要 Claude Code v2.1.207 或更高版本 |

168| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 在会话具有活跃 [Remote Control](/zh-CN/remote-control) 连接时在 Bash 工具和 [hook 命令](/zh-CN/hooks)子进程中自动设置,并在连接结束时移除。该值是会话的 ID,格式为 `session_`,与出现在会话的 `claude.ai/code` URL 中的标识符相同,因此脚本可以链接回运行它的会话。需要 Claude Code v2.1.199 或更高版本。在[云会话](/zh-CN/claude-code-on-the-web)中,改为读取 `CLAUDE_CODE_REMOTE_SESSION_ID` |173| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 在会话具有活跃 [Remote Control](/zh-CN/remote-control) 连接时在 Bash 工具和 [hook 命令](/zh-CN/hooks)子进程中自动设置,并在连接结束时移除。该值是会话的 ID,格式为 `session_`,与出现在会话的 `claude.ai/code` URL 中的标识符相同,因此脚本可以链接回运行它的会话。需要 Claude Code v2.1.199 或更高版本。在[云会话](/zh-CN/claude-code-on-the-web)中,改为读取 `CLAUDE_CODE_REMOTE_SESSION_ID` |

169| `CLAUDE_CODE_CERT_STORE` | TLS 连接的 CA 证书源的逗号分隔列表。`bundled` 是 Claude Code 附带的 Mozilla CA 集。`system` 是操作系统信任存储,仅在具有 `tls.getCACertificates` 的运行时上读取:原生二进制文件或 npm 安装的 Node 22.15 或更高版本。请参阅 [CA 证书存储](/zh-CN/network-config#ca-certificate-store)。默认为 `bundled,system` |174| `CLAUDE_CODE_CERT_STORE` | TLS 连接的 CA 证书源的逗号分隔列表。`bundled` 是 Claude Code 附带的 Mozilla CA 集。`system` 是操作系统信任存储,仅在具有 `tls.getCACertificates` 的运行时上读取:原生二进制文件或 npm 安装的 Node 22.15 或更高版本。请参阅 [CA 证书存储](/zh-CN/network-config#ca-certificate-store)。默认为 `bundled,system` |

170| `CLAUDE_CODE_CHILD_SESSION` | 在 Claude Code 通过 Bash、PowerShell 和 Monitor 工具、[hook](/zh-CN/hooks) 命令和[状态行](/zh-CN/statusline)命令生成的子进程中设置为 `1`。不为 stdio [MCP server](/zh-CN/mcp) 子进程设置,这些是长期存在的,超过生成它们的会话。与 `CLAUDECODE` 不同,这仅由 Claude Code 自己在启动子进程时设置,而不是由 IDE 扩展设置,因此它可靠地区分嵌套会话与在 IDE 集成终端中启动的顶级 `claude`。以这种方式启动的嵌套交互式 `claude` TUI 自动从 `--resume`、`--continue`、向上箭头历史和 `claude agents` 列表中排除。非交互式 `claude -p` 会话仍然持续。设置 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` 以覆盖此排除。需要 Claude Code v2.1.172 或更高版本 |175| `CLAUDE_CODE_CHILD_SESSION` | 在 Claude Code 通过 Bash、PowerShell 和 Monitor 工具、[hook](/zh-CN/hooks) 命令和[状态行](/zh-CN/statusline)命令生成的子进程中设置为 `1`。不为 stdio [MCP server](/zh-CN/mcp) 子进程设置,这些是长期存在的,超过生成它们的会话。与 `CLAUDECODE` 不同,这仅由 Claude Code 自己在启动子进程时设置,而不是由 IDE 扩展设置,因此它可靠地区分嵌套会话与在 IDE 集成终端中启动的顶级 `claude`。以这种方式启动的嵌套交互式 `claude` TUI 自动从 `--resume`、`--continue`、向上箭头历史和 `claude agents` 列表中排除。非交互式 `claude -p` 会话仍然持续。设置 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` 以覆盖此排除。需要 Claude Code v2.1.172 或更高版本 |


183| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 设置为 `1` 以禁用附件处理。带有 `@` 语法的文件提及作为纯文本发送,而不是扩展为文件内容 |188| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 设置为 `1` 以禁用附件处理。带有 `@` 语法的文件提及作为纯文本发送,而不是扩展为文件内容 |

184| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 设置为 `1` 以禁用[自动内存](/zh-CN/memory#auto-memory)。设置为 `0` 以在 `--bare` 模式或 [`autoMemoryEnabled: false`](/zh-CN/settings#available-settings) 会禁用它时强制启用自动内存。禁用后,Claude 不会创建或加载自动内存文件 |189| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 设置为 `1` 以禁用[自动内存](/zh-CN/memory#auto-memory)。设置为 `0` 以在 `--bare` 模式或 [`autoMemoryEnabled: false`](/zh-CN/settings#available-settings) 会禁用它时强制启用自动内存。禁用后,Claude 不会创建或加载自动内存文件 |

185| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 设置为 `1` 以禁用所有后台任务功能,包括 Bash 和 subagent 工具上的 `run_in_background` 参数、自动后台处理和 Ctrl+B 快捷键 |190| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 设置为 `1` 以禁用所有后台任务功能,包括 Bash 和 subagent 工具上的 `run_in_background` 参数、自动后台处理和 Ctrl+B 快捷键 |

191| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 设置为 `1` 以跳过检查 [Amazon Bedrock](/zh-CN/amazon-bedrock) 流式响应是否携带 `application/vnd.amazon.eventstream` 内容类型。没有此变量,具有不同内容类型的响应会失败并显示命名该内容类型的错误,这意味着[网关或代理正在转换响应](/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。仅当网关重写 `Content-Type` 标头但通过未修改的二进制事件流体时设置它;如果体本身被转换,请求会失败并显示 `Truncated event message received`。需要 Claude Code v2.1.208 或更高版本 |

186| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 设置为 `1` 以在[监督员](/zh-CN/agent-view#the-supervisor-process)停止、重启或更新该会话的进程时停止[后台会话](/zh-CN/agent-view)的运行后台 shell 命令、动态工作流和(从 v2.1.198 开始)后台 subagents,而不是将它们交给会话的下一个进程。仅影响该交接:使用 `←` 或 [`/background`](/zh-CN/agent-view#from-inside-a-session) 后台处理会话仍会进行中的工作,`CLAUDE_DISABLE_ADOPT` 关闭两者。需要 Claude Code v2.1.196 或更高版本 |192| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 设置为 `1` 以在[监督员](/zh-CN/agent-view#the-supervisor-process)停止、重启或更新该会话的进程时停止[后台会话](/zh-CN/agent-view)的运行后台 shell 命令、动态工作流和(从 v2.1.198 开始)后台 subagents,而不是将它们交给会话的下一个进程。仅影响该交接:使用 `←` 或 [`/background`](/zh-CN/agent-view#from-inside-a-session) 后台处理会话仍会进行中的工作,`CLAUDE_DISABLE_ADOPT` 关闭两者。需要 Claude Code v2.1.196 或更高版本 |

187| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 设置为 `1` 以停止 Claude Code 在操作系统报告内存压力时终止[后台 shell 命令](/zh-CN/interactive-mode#background-bash-commands)。默认情况下,在 macOS 和 Linux 上,Claude Code 在会话空闲 30 分钟且没有转换或 subagent 运行后,在内存压力信号上终止在主会话中启动的后台 shell。Windows 没有内存压力信号,因此此变量对其无效。需要 Claude Code v2.1.193 或更高版本 |193| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 设置为 `1` 以停止 Claude Code 在操作系统报告内存压力时终止[后台 shell 命令](/zh-CN/interactive-mode#background-bash-commands)。默认情况下,在 macOS 和 Linux 上,Claude Code 在会话空闲 30 分钟且没有转换或 subagent 运行后,在内存压力信号上终止在主会话中启动的后台 shell。Windows 没有内存压力信号,因此此变量对其无效。需要 Claude Code v2.1.193 或更高版本 |

188| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 设置为 `1` 以禁用 Claude Code 附带的 [skills](/zh-CN/skills) 和工作流:捆绑的 skills 和工作流被完全删除,而内置的斜杠命令如 `/init` 保持可输入但对模型隐藏。`/doctor` 保持可输入,如内置命令;使用 `DISABLE_DOCTOR_COMMAND` 隐藏它。来自插件、`.claude/skills/` 和 `.claude/commands/` 的 skills 不受影响。等同于 [`disableBundledSkills`](/zh-CN/settings#available-settings) 设置;`0` 不会覆盖它 |194| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 设置为 `1` 以禁用 Claude Code 附带的 [skills](/zh-CN/skills) 和工作流:捆绑的 skills 和工作流被完全删除,而内置的斜杠命令如 `/init` 保持可输入但对模型隐藏。`/doctor` 保持可输入,如内置命令;使用 `DISABLE_DOCTOR_COMMAND` 隐藏它。来自插件、`.claude/skills/` 和 `.claude/commands/` 的 skills 不受影响。等同于 [`disableBundledSkills`](/zh-CN/settings#available-settings) 设置;`0` 不会覆盖它 |

189| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 设置为 `1` 以防止将任何 CLAUDE.md 内存文件加载到上下文中,包括用户、项目和自动内存文件 |195| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 设置为 `1` 以防止将任何 CLAUDE.md 内存文件加载到上下文中,包括用户、项目和自动内存文件 |

190| `CLAUDE_CODE_DISABLE_CRON` | 设置为 `1` 以禁用[计划任务](/zh-CN/scheduled-tasks)。`/loop` skill 和 cron 工具变为不可用,任何已计划的任务停止触发,包括已在会话中运行的任务 |196| `CLAUDE_CODE_DISABLE_CRON` | 设置为 `1` 以禁用[计划任务](/zh-CN/scheduled-tasks)。`/loop` skill 和 cron 工具变为不可用,任何已计划的任务停止触发,包括已在会话中运行的任务 |

191| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 设置为 `1` 以从 API 请求中删除 Anthropic 特定的 `anthropic-beta` 请求标头和 beta 工具架构字段(如 `defer_loading` 和 `eager_input_streaming`)。当代理网关拒绝请求并出现"Unexpected value(s) for the `anthropic-beta` header"或"Extra inputs are not permitted"之类的错误时,请使用此选项。标准字段(`name`、`description`、`input_schema`、`cache_control`)被保留 |197| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 设置为 `1` 以从 API 请求中删除 Anthropic 特定的 `anthropic-beta` 请求标头和 beta 工具架构字段(如 `defer_loading` 和 `eager_input_streaming`)。当代理网关拒绝请求并出现"Unexpected value(s) for the `anthropic-beta` header"或"Extra inputs are not permitted"之类的错误时,请使用此选项。标准字段(`name`、`description`、`input_schema`、`cache_control`)被保留。[MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)被禁用,所有 MCP 工具提前加载,即使设置了 `ENABLE_TOOL_SEARCH` |

192| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 设置为 `1` 以禁用内置 [Explore 和 Plan subagents](/zh-CN/sub-agents#built-in-subagents)。Claude 改为使用其搜索工具或通用 subagent 进行探索,[plan mode](/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode) 直接读取文件而不是启动 Explore 和 Plan agents。名为 `Explore` 或 `Plan` 的自定义 subagents 不受影响。要在 Agent SDK 或非交互模式中删除每个内置 subagent 类型,请改用 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`。需要 Claude Code v2.1.198 或更高版本 |198| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 设置为 `1` 以禁用内置 [Explore 和 Plan subagents](/zh-CN/sub-agents#built-in-subagents)。Claude 改为使用其搜索工具或通用 subagent 进行探索,[plan mode](/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode) 直接读取文件而不是启动 Explore 和 Plan agents。名为 `Explore` 或 `Plan` 的自定义 subagents 不受影响。要在 Agent SDK 或非交互模式中删除每个内置 subagent 类型,请改用 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`。需要 Claude Code v2.1.198 或更高版本 |

193| `CLAUDE_CODE_DISABLE_FAST_MODE` | 设置为 `1` 以禁用[快速模式](/zh-CN/fast-mode) |199| `CLAUDE_CODE_DISABLE_FAST_MODE` | 设置为 `1` 以禁用[快速模式](/zh-CN/fast-mode) |

194| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 设置为 `1` 以禁用"Claude 表现如何?"会话质量调查。在设置 `DISABLE_TELEMETRY`、`DO_NOT_TRACK` 或 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 时也会禁用调查,除非 `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` 选择重新启用。要设置样本率而不是完全禁用,请使用 [`feedbackSurveyRate`](/zh-CN/settings#available-settings) 设置。请参阅[会话质量调查](/zh-CN/data-usage#session-quality-surveys) |200| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 设置为 `1` 以禁用"Claude 表现如何?"会话质量调查。在设置 `DISABLE_TELEMETRY`、`DO_NOT_TRACK` 或 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 时也会禁用调查,除非 `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` 选择重新启用。要设置样本率而不是完全禁用,请使用 [`feedbackSurveyRate`](/zh-CN/settings#available-settings) 设置。请参阅[会话质量调查](/zh-CN/data-usage#session-quality-surveys) |


208| `CLAUDE_CODE_DISABLE_WORKFLOWS` | 设置为 `1` 以禁用[工作流](/zh-CN/workflows#turn-workflows-off)。等同于 [`disableWorkflows`](/zh-CN/settings#available-settings) 设置 |214| `CLAUDE_CODE_DISABLE_WORKFLOWS` | 设置为 `1` 以禁用[工作流](/zh-CN/workflows#turn-workflows-off)。等同于 [`disableWorkflows`](/zh-CN/settings#available-settings) 设置 |

209| `CLAUDE_CODE_EFFORT_LEVEL` | 为支持的模型设置努力级别。值:`low`、`medium`、`high`、`xhigh`、`max` 或 `auto` 以使用模型默认值。可用级别取决于模型。优先于 `/effort` 和 `effortLevel` 设置。请参阅[调整努力级别](/zh-CN/model-config#adjust-effort-level) |215| `CLAUDE_CODE_EFFORT_LEVEL` | 为支持的模型设置努力级别。值:`low`、`medium`、`high`、`xhigh`、`max` 或 `auto` 以使用模型默认值。可用级别取决于模型。优先于 `/effort` 和 `effortLevel` 设置。请参阅[调整努力级别](/zh-CN/model-config#adjust-effort-level) |

210| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | 设置为 `1` 以启用将额外文本附加到每个 [subagent](/zh-CN/sub-agents) 系统提示的末尾。[`--append-subagent-system-prompt`](/zh-CN/cli-reference#cli-flags) 标志提供附加的文本并自动设置此变量,因此您不需要自己设置它。需要 Claude Code v2.1.205 或更高版本 |216| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | 设置为 `1` 以启用将额外文本附加到每个 [subagent](/zh-CN/sub-agents) 系统提示的末尾。[`--append-subagent-system-prompt`](/zh-CN/cli-reference#cli-flags) 标志提供附加的文本并自动设置此变量,因此您不需要自己设置它。需要 Claude Code v2.1.205 或更高版本 |

211| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 设置为 `1` 以在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和已登录的 [Claude apps 网关](/zh-CN/claude-apps-gateway)会话上提供[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)。需要 Claude Code v2.1.158 或更高版本。对 Anthropic API 无效,自动模式在那里默认可用。请参阅[在 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 上启用自动模式](/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) |217| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 为了与较旧版本兼容而接受,无效。自动模式在每个提供商上默认可用,包括 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和已登录的 [Claude apps 网关](/zh-CN/claude-apps-gateway)会话 |

212| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | 覆盖[会话回顾](/zh-CN/interactive-mode#session-recap)可用性。设置为 `0` 以强制关闭回顾,无论 `/config` 切换如何。设置为 `1` 以在 [`awaySummaryEnabled`](/zh-CN/settings#available-settings) 为 `false` 时强制启用回顾。优先于设置和 `/config` 切换 |218| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | 覆盖[会话回顾](/zh-CN/interactive-mode#session-recap)可用性。设置为 `0` 以强制关闭回顾,无论 `/config` 切换如何。设置为 `1` 以在 [`awaySummaryEnabled`](/zh-CN/settings#available-settings) 为 `false` 时强制启用回顾。优先于设置和 `/config` 切换 |

213| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 设置为 `1` 以在[非交互模式](/zh-CN/headless)中的转换边界处刷新插件状态,在后台安装完成后。默认关闭,因为刷新会在会话中途更改系统提示,这会使该转换的 [prompt caching](/zh-CN/prompt-caching) 失效 |219| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 设置为 `1` 以在[非交互模式](/zh-CN/headless)中的转换边界处刷新插件状态,在后台安装完成后。默认关闭,因为刷新会在会话中途更改系统提示,这会使该转换的 [prompt caching](/zh-CN/prompt-caching) 失效 |

214| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | 设置为 `1` 以在 Anthropic 绑定的非必要流量被阻止时将"Claude 表现如何?"会话质量调查路由到您自己的 [OpenTelemetry 收集器](/zh-CN/monitoring-usage)。调查评分仅作为 OTEL 事件发送到您配置的收集器。在此模式下,不会向 Anthropic 发送任何调查数据。在设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 时应用,否则无效。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 和组织产品反馈政策优先 |220| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | 设置为 `1` 以在 Anthropic 绑定的非必要流量被阻止时将"Claude 表现如何?"会话质量调查路由到您自己的 [OpenTelemetry 收集器](/zh-CN/monitoring-usage)。调查评分仅作为 OTEL 事件发送到您配置的收集器。在此模式下,不会向 Anthropic 发送任何调查数据。在设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 时应用,否则无效。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 和组织产品反馈政策优先 |


220| `CLAUDE_CODE_ENABLE_TELEMETRY` | 设置为 `1` 以启用 OpenTelemetry 数据收集以获取指标和日志。在配置 OTel 导出器之前需要。请参阅[监控](/zh-CN/monitoring-usage) |226| `CLAUDE_CODE_ENABLE_TELEMETRY` | 设置为 `1` 以启用 OpenTelemetry 数据收集以获取指标和日志。在配置 OTel 导出器之前需要。请参阅[监控](/zh-CN/monitoring-usage) |

221| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 查询循环变为空闲后自动退出前等待的时间(以毫秒为单位)。对于使用 SDK 模式的自动化工作流和脚本很有用 |227| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 查询循环变为空闲后自动退出前等待的时间(以毫秒为单位)。对于使用 SDK 模式的自动化工作流和脚本很有用 |

222| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 设置为 `1` 以启用[代理团队](/zh-CN/agent-teams)。代理团队是实验性的,默认禁用 |228| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 设置为 `1` 以启用[代理团队](/zh-CN/agent-teams)。代理团队是实验性的,默认禁用 |

223| `CLAUDE_CODE_EXTRA_BODY` | JSON 对象以合并到每个 API 请求体的顶级。对于传递 Claude Code 不直接公开的提供商特定参数很有用 |229| `CLAUDE_CODE_EXTRA_BODY` | JSON 对象以合并到每个 API 请求体的顶级。对于传递 Claude Code 不直接公开的提供商特定参数很有用。在您的 shell 中导出的值也适用于您使用 `claude agents` 或 `--bg` 分派的[后台会话](/zh-CN/agent-view)。在 v2.1.206 之前,后台会话忽略了 shell 导出的值,并使用了后台监督员进程继承的任何副本 |

224| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 覆盖文件读取的默认令牌限制。当您需要完整读取较大文件时很有用 |230| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 覆盖文件读取的默认令牌限制。当您需要完整读取较大文件时很有用 |

225| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 设置为 `1` 以强制转录持久化、提示历史和 `claude agents` 注册,即使此 `claude` 是从另一个 Claude Code 会话内启动的。当继承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如来自 Claude Code 的 Bash 工具首次启动的 `screen` 会话)导致真正的顶级会话被误分类为嵌套时使用。从 v2.1.178 开始,Claude Code 自动检测 tmux 情况并忽略继承的标记,因此 tmux 不再需要此变量。也在 v2.1.169 及更早版本上受尊重;对 v2.1.170 和 v2.1.171 无效,其中它覆盖的嵌套会话检测被移除 |231| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 设置为 `1` 以强制转录持久化、提示历史和 `claude agents` 注册,即使此 `claude` 是从另一个 Claude Code 会话内启动的。当继承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如来自 Claude Code 的 Bash 工具首次启动的 `screen` 会话)导致真正的顶级会话被误分类为嵌套时使用。从 v2.1.178 开始,Claude Code 自动检测 tmux 情况并忽略继承的标记,因此 tmux 不再需要此变量。也在 v2.1.169 及更早版本上受尊重;对 v2.1.170 和 v2.1.171 无效,其中它覆盖的嵌套会话检测被移除 |

226| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 设置为 `1` 以在您的终端支持但未自动检测到时强制对 `~~text~~` 进行删除线渲染,例如通过 SSH 而不转发 `TERM_PROGRAM`。没有这个,未检测到的终端显示文字 `~~` 标记而不是将文本呈现为删除线。需要 Claude Code v2.1.186 或更高版本 |232| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 设置为 `1` 以在您的终端支持但未自动检测到时强制对 `~~text~~` 进行删除线渲染,例如通过 SSH 而不转发 `TERM_PROGRAM`。没有这个,未检测到的终端显示文字 `~~` 标记而不是将文本呈现为删除线。需要 Claude Code v2.1.186 或更高版本 |


261| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 一个或多个只读插件种子目录的路径,在 Unix 上用 `:` 分隔,在 Windows 上用 `;` 分隔。使用此选项可将预填充的插件目录捆绑到容器镜像中。Claude Code 在启动时从这些目录注册市场,并使用预缓存的插件而无需重新克隆。请参阅[为容器预填充插件](/zh-CN/plugin-marketplaces#pre-populate-plugins-for-containers) |267| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 一个或多个只读插件种子目录的路径,在 Unix 上用 `:` 分隔,在 Windows 上用 `;` 分隔。使用此选项可将预填充的插件目录捆绑到容器镜像中。Claude Code 在启动时从这些目录注册市场,并使用预缓存的插件而无需重新克隆。请参阅[为容器预填充插件](/zh-CN/plugin-marketplaces#pre-populate-plugins-for-containers) |

262| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | 设置为 `1` 以停止 Claude Code 在生成 PowerShell 以进行工具调用、hooks 和状态行命令时传递 `-ExecutionPolicy Bypass`,并改为尊重机器的有效执行策略。默认情况下,Claude Code 在进程范围内绕过执行策略,以便 `.ps1` 脚本和模块导入在默认受限的 Windows 安装上工作。无论此设置如何,进程范围的绕过永远不会覆盖组策略 `MachinePolicy` 或 `UserPolicy` |268| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | 设置为 `1` 以停止 Claude Code 在生成 PowerShell 以进行工具调用、hooks 和状态行命令时传递 `-ExecutionPolicy Bypass`,并改为尊重机器的有效执行策略。默认情况下,Claude Code 在进程范围内绕过执行策略,以便 `.ps1` 脚本和模块导入在默认受限的 Windows 安装上工作。无论此设置如何,进程范围的绕过永远不会覆盖组策略 `MachinePolicy` 或 `UserPolicy` |

263| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | [非交互模式](/zh-CN/headless#background-tasks-at-exit)中带有 `-p` 标志的最大时间(以毫秒为单位),在最后一个转换后等待其结果是输出一部分的后台 subagents 和工作流。默认值:`600000`,或 10 分钟。超过上限时,剩余的后台任务被终止,进程退出。设置为 `0` 以无限期等待。此上限与适用于纯后台 shells 的 5 秒宽限期分开 |269| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | [非交互模式](/zh-CN/headless#background-tasks-at-exit)中带有 `-p` 标志的最大时间(以毫秒为单位),在最后一个转换后等待其结果是输出一部分的后台 subagents 和工作流。默认值:`600000`,或 10 分钟。超过上限时,剩余的后台任务被终止,进程退出。设置为 `0` 以无限期等待。此上限与适用于纯后台 shells 的 5 秒宽限期分开 |

270| `CLAUDE_CODE_PROCESS_WRAPPER` | 通过包装可执行文件启动 Claude Code 从其自己的二进制文件启动的进程,给定为 argv 前缀,例如 `/opt/corp/launcher`。涵盖托管[代理视图](/zh-CN/agent-view)会话的后台服务、它生成的每个会话以及 Claude Code 执行的自我重新启动以完成安装更新。第一个令牌必须是以 `exec "$@"` 结尾的可执行文件的绝对路径,大多数启动器就是那个单一路径。该值是参数列表,而不是 shell 命令:空格分隔令牌,双引号分组包含空格的路径,以 `[` 开头的值作为 JSON 字符串数组读取。在用户或[托管设置](/zh-CN/permissions#managed-settings)的 `env` 块中设置它,而不是作为 shell 导出,以便分离的后台服务继承它;项目和本地设置无法设置它。VS Code 扩展通过其 `claudeProcessWrapper` 设置单独配置其启动器。在 Windows 上被忽略。`CLAUDE_CODE_SHELL_PREFIX` 是一个单独的控制:它将 Claude Code 运行的 shell 命令包装为单个引用字符串,而此变量将 Claude Code 自己的进程包装为 argv 前缀。请参阅[在企业启动器后面运行 Claude Code](/zh-CN/corporate-launcher) |

264| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | 设置为 `1` 以在 `ANTHROPIC_BASE_URL` 指向自定义代理时传播 W3C 跟踪上下文。传播涵盖模型和 HTTP MCP 请求上的 `traceparent` 标头以及 Bash、PowerShell 和 hook 子进程的 `TRACEPARENT` 环境变量。默认情况下,仅当直接连接到 Anthropic API 时才启用传播。在 v2.1.152 中添加。请参阅[跟踪(测试版)](/zh-CN/monitoring-usage#traces-beta) |271| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | 设置为 `1` 以在 `ANTHROPIC_BASE_URL` 指向自定义代理时传播 W3C 跟踪上下文。传播涵盖模型和 HTTP MCP 请求上的 `traceparent` 标头以及 Bash、PowerShell 和 hook 子进程的 `TRACEPARENT` 环境变量。默认情况下,仅当直接连接到 Anthropic API 时才启用传播。在 v2.1.152 中添加。请参阅[跟踪(测试版)](/zh-CN/monitoring-usage#traces-beta) |

265| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | 由嵌入 Claude Code 的主机平台设置,并代表其管理模型提供商路由。设置后,提供商选择、端点和身份验证变量(如 `CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY`)在设置文件中被忽略,以便用户设置无法覆盖主机的路由。Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 的自动遥测选择退出也被跳过,因此遥测遵循标准 `DISABLE_TELEMETRY` 选择退出。请参阅[按 API 提供商的默认行为](/zh-CN/data-usage#default-behaviors-by-api-provider) |272| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | 由嵌入 Claude Code 的主机平台设置,并代表其管理模型提供商路由。设置后,提供商选择、端点和身份验证变量(如 `CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY`)在设置文件中被忽略,以便用户设置无法覆盖主机的路由。Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 的自动遥测选择退出也被跳过,因此遥测遵循标准 `DISABLE_TELEMETRY` 选择退出。请参阅[按 API 提供商的默认行为](/zh-CN/data-usage#default-behaviors-by-api-provider) |

266| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 设置为 `1` 以允许代理执行 DNS 解析而不是调用者。对于代理应处理主机名解析的环境选择加入 |273| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 设置为 `1` 以允许代理执行 DNS 解析而不是调用者。对于代理应处理主机名解析的环境选择加入 |


279| `CLAUDE_CODE_SIMPLE` | 设置为 `1` 以使用最小系统提示和仅 Bash、文件读取和文件编辑工具运行。MCP 工具来自 `--mcp-config` 仍然可用。禁用 hooks、skills、plugins、MCP servers、自动内存和 CLAUDE.md 的自动发现。OAuth 令牌和钥匙链凭证不被读取,所以 Anthropic 身份验证必须来自 `ANTHROPIC_API_KEY` 或 `--settings` 中的 `apiKeyHelper`。等同于传递 [`--bare`](/zh-CN/headless#start-faster-with-bare-mode) |286| `CLAUDE_CODE_SIMPLE` | 设置为 `1` 以使用最小系统提示和仅 Bash、文件读取和文件编辑工具运行。MCP 工具来自 `--mcp-config` 仍然可用。禁用 hooks、skills、plugins、MCP servers、自动内存和 CLAUDE.md 的自动发现。OAuth 令牌和钥匙链凭证不被读取,所以 Anthropic 身份验证必须来自 `ANTHROPIC_API_KEY` 或 `--settings` 中的 `apiKeyHelper`。等同于传递 [`--bare`](/zh-CN/headless#start-faster-with-bare-mode) |

280| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 设置为 `1` 以在任何模型上使用较短的系统提示和缩写的工具描述。设置为 `0`、`false`、`no` 或 `off` 以选择退出,即使在实验或服务器配置会以其他方式启用它的模型上。完整的工具集、hooks、MCP 服务器和 CLAUDE.md 发现保持启用 |287| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 设置为 `1` 以在任何模型上使用较短的系统提示和缩写的工具描述。设置为 `0`、`false`、`no` 或 `off` 以选择退出,即使在实验或服务器配置会以其他方式启用它的模型上。完整的工具集、hooks、MCP 服务器和 CLAUDE.md 发现保持启用 |

281| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 跳过 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 的客户端身份验证,用于自己签署请求的网关 |288| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 跳过 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 的客户端身份验证,用于自己签署请求的网关 |

289| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | 设置为 `1` 以关闭从 AWS 默认凭证提供商链解析的凭证的进程内缓存,以便 Claude Code 在每个 API 请求上解析链。关闭缓存后,由 SSO 支持的配置文件在每个请求时从 IAM Identity Center 请求凭证。请参阅[凭证缓存和解析超时](/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更高版本 |

282| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳过 Amazon Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |290| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳过 Amazon Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |

283| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳过 Microsoft Foundry 的 Azure 身份验证,用于代理或网关,这些代理或网关注入自己的 `Authorization` 标头。Claude Code 发送没有 Azure 凭证的请求,并保留您提供的 `Authorization` 标头,例如通过 `ANTHROPIC_CUSTOM_HEADERS`。当设置 `ANTHROPIC_FOUNDRY_API_KEY` 或 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 时被忽略。在 v2.1.203 之前,此变量使 Microsoft Foundry 客户端无法在没有同时设置 API 密钥的情况下发送请求 |291| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳过 Microsoft Foundry 的 Azure 身份验证,用于代理或网关,这些代理或网关注入自己的 `Authorization` 标头。Claude Code 发送没有 Azure 凭证的请求,并保留您提供的 `Authorization` 标头,例如通过 `ANTHROPIC_CUSTOM_HEADERS`。当设置 `ANTHROPIC_FOUNDRY_API_KEY` 或 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 时被忽略。在 v2.1.203 之前,此变量使 Microsoft Foundry 客户端无法在没有同时设置 API 密钥的情况下发送请求 |

284| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳过 Amazon Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |292| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳过 Amazon Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |


295| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 设置为 `false` 以禁用 diff 输出中的语法突出显示。当颜色干扰您的终端设置时很有用。要同时禁用代码块和文件预览中的突出显示,请使用 [`syntaxHighlightingDisabled`](/zh-CN/settings) 设置 |303| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 设置为 `false` 以禁用 diff 输出中的语法突出显示。当颜色干扰您的终端设置时很有用。要同时禁用代码块和文件预览中的突出显示,请使用 [`syntaxHighlightingDisabled`](/zh-CN/settings) 设置 |

296| `CLAUDE_CODE_TASK_LIST_ID` | 跨会话共享任务列表。在多个 Claude Code 实例中设置相同的 ID 以协调共享任务列表。请参阅[任务列表](/zh-CN/interactive-mode#task-list) |304| `CLAUDE_CODE_TASK_LIST_ID` | 跨会话共享任务列表。在多个 Claude Code 实例中设置相同的 ID 以协调共享任务列表。请参阅[任务列表](/zh-CN/interactive-mode#task-list) |

297| `CLAUDE_CODE_TEAM_NAME` | 此队友所属的代理团队的名称。在[代理团队](/zh-CN/agent-teams)成员上自动设置 |305| `CLAUDE_CODE_TEAM_NAME` | 此队友所属的代理团队的名称。在[代理团队](/zh-CN/agent-teams)成员上自动设置 |

306| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 覆盖非交互式会话在退出时等待其[代理团队](/zh-CN/agent-teams)完成拆卸的时间(以毫秒为单位)。接受 1000 到 60000;超出范围的值被忽略,应用默认值 10000。需要 Claude Code v2.1.206 或更高版本 |

298| `CLAUDE_CODE_TMPDIR` | 覆盖用于内部临时文件的临时目录。Claude Code 将 `/claude-{uid}/`(Unix)或 `/claude/`(Windows)附加到此路径。默认值:macOS 上为 `/tmp`,Linux/Windows 上为 `os.tmpdir()`。从 v2.1.161 开始,在 macOS 和 Linux 上,[沙箱化](/zh-CN/sandboxing) Bash 子进程在系统默认值下接收短回退 `$TMPDIR`,当您的覆盖是长路径时,因为某些工具在临时路径过长时会失败。未沙箱化的 Bash 命令继承您的 shell 的 `$TMPDIR` 不变。Claude Code 自己的临时文件始终使用您的覆盖 |307| `CLAUDE_CODE_TMPDIR` | 覆盖用于内部临时文件的临时目录。Claude Code 将 `/claude-{uid}/`(Unix)或 `/claude/`(Windows)附加到此路径。默认值:macOS 上为 `/tmp`,Linux/Windows 上为 `os.tmpdir()`。从 v2.1.161 开始,在 macOS 和 Linux 上,[沙箱化](/zh-CN/sandboxing) Bash 子进程在系统默认值下接收短回退 `$TMPDIR`,当您的覆盖是长路径时,因为某些工具在临时路径过长时会失败。未沙箱化的 Bash 命令继承您的 shell 的 `$TMPDIR` 不变。Claude Code 自己的临时文件始终使用您的覆盖 |

299| `CLAUDE_CODE_TMUX_TRUECOLOR` | 设置为 `1` 以允许 tmux 内的 24 位真彩色输出。默认情况下,当设置 `$TMUX` 时,Claude Code 限制为 256 色,因为 tmux 不会通过真彩色转义序列,除非配置为这样做。在将 `set -ga terminal-overrides ',*:Tc'` 添加到您的 `~/.tmux.conf` 后设置此选项。请参阅[终端配置](/zh-CN/terminal-config)了解其他 tmux 设置 |308| `CLAUDE_CODE_TMUX_TRUECOLOR` | 设置为 `1` 以允许 tmux 内的 24 位真彩色输出。默认情况下,当设置 `$TMUX` 时,Claude Code 限制为 256 色,因为 tmux 不会通过真彩色转义序列,除非配置为这样做。在将 `set -ga terminal-overrides ',*:Tc'` 添加到您的 `~/.tmux.conf` 后设置此选项。请参阅[终端配置](/zh-CN/terminal-config)了解其他 tmux 设置 |

300| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) |309| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) |


319| `DISABLE_COMPACT` | 设置为 `1` 以禁用所有压缩:自动压缩和手动 `/compact` 命令 |328| `DISABLE_COMPACT` | 设置为 `1` 以禁用所有压缩:自动压缩和手动 `/compact` 命令 |

320| `DISABLE_COST_WARNINGS` | 设置为 `1` 以禁用成本警告消息 |329| `DISABLE_COST_WARNINGS` | 设置为 `1` 以禁用成本警告消息 |

321| `DISABLE_DOCTOR_COMMAND` | 设置为 `1` 以隐藏 [`/doctor`](/zh-CN/commands#all-commands) 设置检查 skill 及其 `/checkup` 别名。对于用户不应运行设置诊断的托管部署很有用。不影响 `claude doctor` 终端命令。在 v2.1.205 之前,此变量隐藏了 `/doctor` 诊断屏幕命令 |330| `DISABLE_DOCTOR_COMMAND` | 设置为 `1` 以隐藏 [`/doctor`](/zh-CN/commands#all-commands) 设置检查 skill 及其 `/checkup` 别名。对于用户不应运行设置诊断的托管部署很有用。不影响 `claude doctor` 终端命令。在 v2.1.205 之前,此变量隐藏了 `/doctor` 诊断屏幕命令 |

322| `DISABLE_ERROR_REPORTING` | 设置为 `1` 以选择退出 Sentry 错误报告 |331| `DISABLE_ERROR_REPORTING` | 设置为 `1` 以选择退出错误报告 |

323| `DISABLE_EXTRA_USAGE_COMMAND` | 设置为 `1` 以隐藏 `/usage-credits` 命令,该命令允许用户购买超过速率限制的额外使用量 |332| `DISABLE_EXTRA_USAGE_COMMAND` | 设置为 `1` 以隐藏 `/usage-credits` 命令,该命令允许用户购买超过速率限制的额外使用量 |

324| `DISABLE_FEEDBACK_COMMAND` | 设置为 `1` 以禁用 `/feedback` 命令。也接受较旧的名称 `DISABLE_BUG_COMMAND` |333| `DISABLE_FEEDBACK_COMMAND` | 设置为 `1` 以禁用 `/feedback` 命令。也接受较旧的名称 `DISABLE_BUG_COMMAND` |

325| `DISABLE_GROWTHBOOK` | 设置为 `1` 以禁用 GrowthBook 功能标志获取并对每个标志使用代码默认值。除非同时设置 `DISABLE_TELEMETRY`,否则遥测事件日志记录保持启用 |334| `DISABLE_GROWTHBOOK` | 设置为 `1` 以禁用 GrowthBook 功能标志获取并对每个标志使用代码默认值。除非同时设置 `DISABLE_TELEMETRY`,否则遥测事件日志记录保持启用 |


343| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)。未设置:默认延迟所有 MCP 工具,但在 Google Cloud's Agent Platform 上或当 `ANTHROPIC_BASE_URL` 指向非第一方主机时提前加载。值:`true`(始终延迟并发送 beta 标头,在 Google Cloud's Agent Platform 上支持 Sonnet 4.5 及更高版本或 Opus 4.5 及更高版本的请求失败,或在不支持 `tool_reference` 的代理上)、`auto`(阈值模式:如果工具适合在上下文的 10% 内则提前加载)、`auto:N`(自定义阈值,例如 `auto:5` 表示 5%)、`false`(提前加载所有) |352| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)。未设置:默认延迟所有 MCP 工具,但在 Google Cloud's Agent Platform 上或当 `ANTHROPIC_BASE_URL` 指向非第一方主机时提前加载。值:`true`(始终延迟并发送 beta 标头,在 Google Cloud's Agent Platform 上支持 Sonnet 4.5 及更高版本或 Opus 4.5 及更高版本的请求失败,或在不支持 `tool_reference` 的代理上)、`auto`(阈值模式:如果工具适合在上下文的 10% 内则提前加载)、`auto:N`(自定义阈值,例如 `auto:5` 表示 5%)、`false`(提前加载所有) |

344| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 设置为任何非空值以在任何主模型上重复过载错误后触发回退。从 v2.1.160 开始,配置的[回退模型链](/zh-CN/model-config#fallback-model-chains)在任何主模型的重复过载错误时触发,因此此变量不影响切换到回退模型 |353| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 设置为任何非空值以在任何主模型上重复过载错误后触发回退。从 v2.1.160 开始,配置的[回退模型链](/zh-CN/model-config#fallback-model-chains)在任何主模型的重复过载错误时触发,因此此变量不影响切换到回退模型 |

345| `FORCE_AUTOUPDATE_PLUGINS` | 设置为 `1` 以强制插件自动更新,即使主自动更新程序通过 `DISABLE_AUTOUPDATER` 禁用 |354| `FORCE_AUTOUPDATE_PLUGINS` | 设置为 `1` 以强制插件自动更新,即使主自动更新程序通过 `DISABLE_AUTOUPDATER` 禁用 |

355| `FORCE_HYPERLINK` | 设置为 `1` 以在您的终端支持但未自动检测到时启用可点击的 OSC 8 超链接,或 `0` 以禁用它们 |

346| `FORCE_PROMPT_CACHING_5M` | 设置为 `1` 以强制 5 分钟的 prompt cache TTL,即使 1 小时 TTL 会以其他方式应用。覆盖 `ENABLE_PROMPT_CACHING_1H` |356| `FORCE_PROMPT_CACHING_5M` | 设置为 `1` 以强制 5 分钟的 prompt cache TTL,即使 1 小时 TTL 会以其他方式应用。覆盖 `ENABLE_PROMPT_CACHING_1H` |

347| `HTTP_PROXY` | 为网络连接指定 HTTP 代理服务器 |357| `HTTP_PROXY` | 为网络连接指定 HTTP 代理服务器 |

348| `HTTPS_PROXY` | 为网络连接指定 HTTPS 代理服务器 |358| `HTTPS_PROXY` | 为网络连接指定 HTTPS 代理服务器 |


357| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的远程 MCP 服务器(HTTP/SSE)的最大数量(默认值:20) |367| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的远程 MCP 服务器(HTTP/SSE)的最大数量(默认值:20) |

358| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的本地 MCP 服务器(stdio)的最大数量(默认值:3) |368| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的本地 MCP 服务器(stdio)的最大数量(默认值:3) |

359| `MCP_TIMEOUT` | MCP 服务器启动的超时(以毫秒为单位)(默认值:30000,或 30 秒) |369| `MCP_TIMEOUT` | MCP 服务器启动的超时(以毫秒为单位)(默认值:30000,或 30 秒) |

360| `MCP_TOOL_TIMEOUT` | MCP 工具执行的超时(以毫秒为单位)(默认值:100000000,约 28 小时)。`.mcp.json` 中的每个服务器 `timeout` 字段会覆盖该服务器的此值。从 v2.1.203 开始,`.mcp.json` 中至少 1000 的每个服务器 `timeout` 也会将该服务器的工具调用的最小空闲窗口设置为至少 `timeout` 值,因此 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` 永远不会更早中止它们;此下限需要 Claude Code v2.1.203 或更高版本。对于 env 变量,低于 1000 的值被限制为一秒;对于每个服务器字段,低于 1000 的值被忽略 |370| `MCP_TOOL_TIMEOUT` | MCP 工具执行的超时(以毫秒为单位)(默认值:100000000,约 28 小时)。对于 HTTP、SSE 或 claude.ai 连接器服务器,每个请求也在 60 秒后超时(默认);设置此变量或每个服务器 `timeout` 超过 60000 以提高该每个请求的限制。较低的值仍会缩短整体工具执行超时,但将每个请求的限制保留在 60 秒。Stdio 和 WebSocket 服务器没有每个请求的计时器。`.mcp.json` 中的每个服务器 `timeout` 字段会覆盖该服务器的此值。从 v2.1.203 开始,`.mcp.json` 中至少 1000 的每个服务器 `timeout` 也会将该服务器的工具调用的最小空闲窗口设置为至少 `timeout` 值,因此 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` 永远不会更早中止它们;此下限需要 Claude Code v2.1.203 或更高版本。对于 env 变量,低于 1000 的值被限制为一秒;对于每个服务器字段,低于 1000 的值被忽略 |

361| `NO_PROXY` | 域和 IP 列表,对其的请求将直接发出,绕过代理 |371| `NO_PROXY` | 域和 IP 列表,对其的请求将直接发出,绕过代理 |

362| `OTEL_LOG_ASSISTANT_RESPONSES` | 设置为 `1` 以在 `assistant_response` OpenTelemetry 日志事件中包含模型的响应文本。未设置时,使用 `OTEL_LOG_USER_PROMPTS` 的值。设置为 `0` 以在设置 `OTEL_LOG_USER_PROMPTS` 时保持响应编辑。需要 Claude Code v2.1.193 或更高版本。请参阅[监控](/zh-CN/monitoring-usage#assistant-response-event) |372| `OTEL_LOG_ASSISTANT_RESPONSES` | 设置为 `1` 以在 `assistant_response` OpenTelemetry 日志事件中包含模型的响应文本。未设置时,使用 `OTEL_LOG_USER_PROMPTS` 的值。设置为 `0` 以在设置 `OTEL_LOG_USER_PROMPTS` 时保持响应编辑。需要 Claude Code v2.1.193 或更高版本。请参阅[监控](/zh-CN/monitoring-usage#assistant-response-event) |

363| `OTEL_LOG_RAW_API_BODIES` | 设置为 `1` 以将完整的 Anthropic Messages API 请求和响应 JSON 作为 `api_request_body` / `api_response_body` 日志事件发出,截断为 60 KB,或 `file:<dir>` 以将未截断的主体写入磁盘并发出 `body_ref` 路径。默认禁用;主体包括整个对话历史。请参阅[监控](/zh-CN/monitoring-usage#api-request-body-event) |373| `OTEL_LOG_RAW_API_BODIES` | 设置为 `1` 以将完整的 Anthropic Messages API 请求和响应 JSON 作为 `api_request_body` / `api_response_body` 日志事件发出,截断为 60 KB,或 `file:<dir>` 以将未截断的主体写入磁盘并发出 `body_ref` 路径。默认禁用;主体包括整个对话历史。请参阅[监控](/zh-CN/monitoring-usage#api-request-body-event) |

errors.md +257 −28

Details

21将您在终端中看到的消息与下面的部分相匹配。21将您在终端中看到的消息与下面的部分相匹配。

22 22 

23| 消息 | 部分 |23| 消息 | 部分 |

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

25| `API Error: 500 Internal server error` | [服务器错误](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [服务器错误](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [服务器错误](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [服务器错误](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [服务器错误](#request-timed-out),或[网络](#unable-to-connect-to-api)(如果消息提到您的互联网连接) |27| `Request timed out` | [服务器错误](#request-timed-out),或[网络](#unable-to-connect-to-api)(如果消息提到您的互联网连接) |


39| `Not logged in · Please run /login` | [身份验证](#not-logged-in) |39| `Not logged in · Please run /login` | [身份验证](#not-logged-in) |

40| `Could not resolve authentication method` | [身份验证](#could-not-resolve-authentication-method) |40| `Could not resolve authentication method` | [身份验证](#could-not-resolve-authentication-method) |

41| `Invalid API key` | [身份验证](#invalid-api-key) |41| `Invalid API key` | [身份验证](#invalid-api-key) |

42| `Your apiKeyHelper script is failing` | [身份验证](#your-apikeyhelper-script-is-failing) |

42| `This organization has been disabled` | [身份验证](#this-organization-has-been-disabled) |43| `This organization has been disabled` | [身份验证](#this-organization-has-been-disabled) |

43| `Your organization has disabled API key authentication` | [身份验证](#your-organization-has-disabled-api-key-authentication) |44| `Your organization has disabled API key authentication` | [身份验证](#your-organization-has-disabled-api-key-authentication) |

44| `Your organization has disabled Claude subscription access` | [身份验证](#your-organization-has-disabled-claude-subscription-access) |45| `Your organization has disabled Claude subscription access` | [身份验证](#your-organization-has-disabled-claude-subscription-access) |

45| `Routines are disabled by your organization's policy` | [身份验证](#routines-are-disabled-by-your-organizations-policy) |46| `Routines are disabled by your organization's policy` | [身份验证](#routines-are-disabled-by-your-organizations-policy) |

46| `Remote Control is only available when using Claude via api.anthropic.com` | [身份验证](#remote-control-requires-the-anthropic-api) |47| `Remote Control is only available when using Claude via api.anthropic.com` | [身份验证](#remote-control-requires-the-anthropic-api) |

47| `OAuth token revoked` / `OAuth token has expired` | [身份验证](#oauth-token-revoked-or-expired) |48| `OAuth token revoked` / `OAuth token has expired` | [身份验证](#oauth-token-revoked-or-expired) |

49| `Login expired · Please run /login` | [身份验证](#login-expired) |

50| `Failed to authenticate: OAuth session expired and could not be refreshed` | [身份验证](#login-expired) |

48| `does not meet scope requirement user:profile` | [身份验证](#oauth-scope-requirement) |51| `does not meet scope requirement user:profile` | [身份验证](#oauth-scope-requirement) |

49| `AWS credentials expired or invalid` | [身份验证](#aws-credentials-expired-or-invalid) |52| `AWS credentials expired or invalid` | [身份验证](#aws-credentials-expired-or-invalid) |

50| `AWS authentication failed` | [身份验证](#aws-authentication-failed) |53| `AWS authentication failed` | [身份验证](#aws-authentication-failed) |

54| `AWS default-chain credential resolve timed out` | [身份验证](#aws-default-chain-credential-resolve-timed-out) |

51| `Unable to connect to API` | [网络](#unable-to-connect-to-api) |55| `Unable to connect to API` | [网络](#unable-to-connect-to-api) |

52| `Waiting for API response · will retry in` | [自动重试](#automatic-retries),或[网络](#unable-to-connect-to-api)(如果问题持续) |56| `Waiting for API response · will retry in` | [自动重试](#automatic-retries),或[网络](#unable-to-connect-to-api)(如果问题持续) |

57| `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [网络](#bedrock-streaming-response-has-an-unexpected-content-type) |

53| `SSL certificate verification failed` | [网络](#ssl-certificate-errors) |58| `SSL certificate verification failed` | [网络](#ssl-certificate-errors) |

54| `SSL certificate error (...)` during login or startup | [网络](#ssl-certificate-errors) |59| `SSL certificate error (...)` during login or startup | [网络](#ssl-certificate-errors) |

55| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [网络](#host-not-allowed-in-a-cloud-session) |60| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [网络](#host-not-allowed-in-a-cloud-session) |


76| `--bg and --print conflict` | [命令行错误](#command-line-errors) |81| `--bg and --print conflict` | [命令行错误](#command-line-errors) |

77| `Error: --json-schema is not a valid JSON Schema` | [命令行错误](#command-line-errors) |82| `Error: --json-schema is not a valid JSON Schema` | [命令行错误](#command-line-errors) |

78| `Could not import <server>: <reason>` | [命令行错误](#could-not-import-a-server-from-claude-desktop) |83| `Could not import <server>: <reason>` | [命令行错误](#could-not-import-a-server-from-claude-desktop) |

84| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [命令行错误](#mcp-permission-prompt-tool-not-found) |

79| `Marketplace "<name>" is registered from an untrusted source` | [插件错误](#marketplace-is-registered-from-an-untrusted-source) |85| `Marketplace "<name>" is registered from an untrusted source` | [插件错误](#marketplace-is-registered-from-an-untrusted-source) |

86| `references ${user_config.*} in a shell-form command` | [插件错误](#plugin-command-references-user-config) |

87| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [插件错误](#plugin-command-references-user-config) |

88| `headersHelper for MCP server '<name>' references ${user_config.*}` | [插件错误](#plugin-command-references-user-config) |

89| `would be spawned with zero tools — refusing` | [工具错误](#agent-would-be-spawned-with-zero-tools) |

90| `File is covered by a Read deny rule in your permission settings` | [工具错误](#file-is-covered-by-a-read-deny-rule) |

91| `Can't open MCP settings in a background session` | [后台会话错误](#commands-refused-in-a-background-session) |

92| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [后台会话错误](#claude_code_process_wrapper-launcher-errors) |

80| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [配置警告](#workspace-has-not-been-trusted) |93| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [配置警告](#workspace-has-not-been-trusted) |

81| 响应质量似乎低于平常 | [响应质量](#responses-seem-lower-quality-than-usual) |94| 响应质量似乎低于平常 | [响应质量](#responses-seem-lower-quality-than-usual) |

82 95 


86 99 

87Claude Code 在向您显示错误之前会重试瞬时故障。服务器错误、过载响应、请求超时、临时 429 限流和断开的连接都会以指数退避方式重试最多 10 次。{/* min-version: 2.1.198 */}从 v2.1.198 开始,这涵盖了在任何可见输出流出之前在响应中途断开的连接:Claude Code 使用相同的退避重新发出请求,轮次继续而不是停止并显示连接错误。{/* min-version: 2.1.199 */}从 v2.1.199 开始,不携带您计划配额标头的临时 429 限流在您使用 claude.ai 订阅登录时也会重试;早期版本仅对 API 密钥和企业登录重试它们。100Claude Code 在向您显示错误之前会重试瞬时故障。服务器错误、过载响应、请求超时、临时 429 限流和断开的连接都会以指数退避方式重试最多 10 次。{/* min-version: 2.1.198 */}从 v2.1.198 开始,这涵盖了在任何可见输出流出之前在响应中途断开的连接:Claude Code 使用相同的退避重新发出请求,轮次继续而不是停止并显示连接错误。{/* min-version: 2.1.199 */}从 v2.1.199 开始,不携带您计划配额标头的临时 429 限流在您使用 claude.ai 订阅登录时也会重试;早期版本仅对 API 密钥和企业登录重试它们。

88 101 

89两个故障类别不会重试,因为重试无法成功:102某些故障类别不会重试,因为重试无法成功:

90 103 

91* {/* min-version: 2.1.199 */}从 v2.1.199 开始,TLS 证书验证失败(例如 TLS 检查代理、缺少 `NODE_EXTRA_CA_CERTS` 包或过期证书)在第一次尝试时失败,因此修复立即出现,而不是在完整重试预算之后。请参阅 [SSL 证书错误](#ssl-certificate-errors)。瞬时 TLS 条件(例如握手超时)仍然会重试。104* {/* min-version: 2.1.199 */}从 v2.1.199 开始,TLS 证书验证失败(例如 TLS 检查代理、缺少 `NODE_EXTRA_CA_CERTS` 包或过期证书)在第一次尝试时失败,因此修复立即出现,而不是在完整重试预算之后。请参阅 [SSL 证书错误](#ssl-certificate-errors)。瞬时 TLS 条件(例如握手超时)仍然会重试。

92* {/* min-version: 2.1.199 */}从 v2.1.199 开始,在 Claude 已经流出可见输出后到达的服务器错误会保留部分响应并附加[不完整响应通知](#the-response-above-may-be-incomplete),而不是重试,因为重新运行请求可能会执行相同的工具两次。早期版本丢弃了部分输出并将轮次报告为错误。105* {/* min-version: 2.1.199 */}从 v2.1.199 开始,在 Claude 已经流出可见输出后到达的服务器错误会保留部分响应并附加[不完整响应通知](#the-response-above-may-be-incomplete),而不是重试,因为重新运行请求可能会执行相同的工具两次。早期版本丢弃了部分输出并将轮次报告为错误。

106* {/* min-version: 2.1.208 */}[Amazon Bedrock 流式响应具有意外的内容类型](#bedrock-streaming-response-has-an-unexpected-content-type)在第一次尝试时失败,因为网关或代理重写响应会以相同方式重写重试。需要 Claude Code v2.1.208 或更高版本。

93 107 

94重试时,微调器在错误标签后显示 `Retrying in Ns · attempt x/y` 倒计时。标签命名了第一次尝试中您可以立即采取行动的特定原因:网络已关闭、TLS 握手失败或您达到了速率限制。对于其他错误,它最初读作 `API error`。{/* min-version: 2.1.198 */}从 v2.1.198 开始,它切换到第三次尝试中的特定原因,或当 `CLAUDE_CODE_MAX_RETRIES` 允许少于三次时在最后一次尝试;早期版本仅在最后一次尝试时切换。108重试时,微调器在错误标签后显示 `Retrying in Ns · attempt x/y` 倒计时。标签命名了第一次尝试中您可以立即采取行动的特定原因:网络已关闭、TLS 握手失败或您达到了速率限制。对于其他错误,它最初读作 `API error`。{/* min-version: 2.1.198 */}从 v2.1.198 开始,它切换到第三次尝试中的特定原因,或当 `CLAUDE_CODE_MAX_RETRIES` 允许少于三次时在最后一次尝试;早期版本仅在最后一次尝试时切换。

95 109 


285 299 

286Claude Code 会阻止进一步的请求,直到消息中显示的重置时间。会话和每周限制在所有模型中共享,因此切换模型不会恢复访问权限。Opus 限制仅适用于 Opus 请求,因此使用 `/model` 切换到另一个模型可以继续工作。300Claude Code 会阻止进一步的请求,直到消息中显示的重置时间。会话和每周限制在所有模型中共享,因此切换模型不会恢复访问权限。Opus 限制仅适用于 Opus 请求,因此使用 `/model` 切换到另一个模型可以继续工作。

287 301 

302使用量同时计入会话和每周额度。单次大量活动突发(例如大型工作流扇出)可能会在会话窗口重置之前耗尽每周额度。

303 

288**应该怎么做:**304**应该怎么做:**

289 305 

290* 等待错误消息中显示的重置时间306* 等待错误消息中显示的重置时间


430* 如果密钥来自 [`apiKeyHelper`](/zh-CN/settings#available-settings) 脚本,直接运行该脚本以确认它在 stdout 上打印有效密钥446* 如果密钥来自 [`apiKeyHelper`](/zh-CN/settings#available-settings) 脚本,直接运行该脚本以确认它在 stdout 上打印有效密钥

431* 运行 `/status` 确认 Claude Code 实际使用的凭证源447* 运行 `/status` 确认 Claude Code 实际使用的凭证源

432 448 

449<h3 id="your-apikeyhelper-script-is-failing">

450 您的 apiKeyHelper 脚本失败

451</h3>

452 

453在 [`apiKeyHelper`](/zh-CN/settings#available-settings) 设置中配置的命令以错误退出、超时或未向 stdout 打印任何内容。没有来自脚本的密钥,请求到达 API 时带有占位符凭证,API 以 `401` 拒绝它。

454 

455```text theme={null}

456Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

457```

458 

459Claude Code 重新运行脚本并在显示此消息之前最多重试请求两次,因此故障在三次尝试内浮出。{/* min-version: 2.1.208 */}在 v2.1.208 之前,Claude Code 花费完整的 [重试预算](#automatic-retries) 使用占位符凭证重新发送请求,然后报告通用的 `401` 身份验证错误而不是脚本故障。

460 

461运行 `/login` 在这里无法帮助:只要设置存在,helper 的输出 [优先于](/zh-CN/authentication#authentication-precedence) 保存的登录。

462 

463**应该做什么:**

464 

465* 在您的 shell 中直接运行在 `apiKeyHelper` 中配置的命令以重现故障

466* 如果命令报告会话已过期,请使用您的凭证提供商重新身份验证,例如再次登录您的 SSO 或密钥保管库

467* 修复命令以便它将密钥打印到 stdout 并以代码 0 退出。有关工作设置,请参阅 [使用 apiKeyHelper 轮换凭证](/zh-CN/llm-gateway-connect#rotate-credentials-with-apikeyhelper)。

468* 运行 `/status` 确认 `apiKeyHelper` 是活跃凭证源。每次命令失败时,其退出代码和错误输出都会出现在终端中的 `Cloud authentication` 面板中。

469 

433<h3 id="this-organization-has-been-disabled">470<h3 id="this-organization-has-been-disabled">

434 此组织已被禁用471 此组织已被禁用

435</h3>472</h3>


532 569 

533您保存的登录不再有效。撤销的令牌意味着您在任何地方都已登出或管理员删除了访问权限;过期的令牌意味着自动刷新在会话中途失败。570您保存的登录不再有效。撤销的令牌意味着您在任何地方都已登出或管理员删除了访问权限;过期的令牌意味着自动刷新在会话中途失败。

534 571 

572两条消息都报告 Claude Code 发送的请求 API 返回的拒绝。当保存的登录在失败的刷新后已被清除时,您会看到 [登录已过期](#login-expired) 代替。

573 

535```text theme={null}574```text theme={null}

536OAuth token revoked · Please run /login575OAuth token revoked · Please run /login

537OAuth token has expired · Please run /login576OAuth token has expired · Please run /login


545* 对于跨启动的重复登录提示,请参阅 [故障排除](/zh-CN/troubleshoot-install#not-logged-in-or-token-expired) 中的系统时钟和 macOS Keychain 检查584* 对于跨启动的重复登录提示,请参阅 [故障排除](/zh-CN/troubleshoot-install#not-logged-in-or-token-expired) 中的系统时钟和 macOS Keychain 检查

546* 对于其他故障,包括 `403 Forbidden` 和 OAuth 浏览器问题,请参阅 [登录和身份验证](/zh-CN/troubleshoot-install#login-and-authentication)585* 对于其他故障,包括 `403 Forbidden` 和 OAuth 浏览器问题,请参阅 [登录和身份验证](/zh-CN/troubleshoot-install#login-and-authentication)

547 586 

587<h3 id="login-expired">

588 登录已过期

589</h3>

590 

591Claude Code 尝试更新您保存的 claude.ai 或 Claude Console 登录,OAuth 服务拒绝了存储的刷新令牌,因此 Claude Code 清除了保存的凭证。之后,每个请求在到达 API 之前都会在本地停止,因为只有 `/login` 可以创建新凭证。{/* min-version: 2.1.206 */}在 v2.1.206 之前,Claude Code 无论如何都会发送请求,使用环境中剩余的任何凭证,然后每个模型都会失败,显示 [所选模型有问题](#theres-an-issue-with-the-selected-model) 或 401 而不是登录提示。

592 

593```text theme={null}

594Login expired · Please run /login

595```

596 

597在 [非交互模式](/zh-CN/headless) (`-p`) 和 [Agent SDK](/zh-CN/agent-sdk/overview) 中,消息如下所示,结构化错误代码为 `authentication_failed`:

598 

599```text theme={null}

600Failed to authenticate: OAuth session expired and could not be refreshed

601```

602 

603这与 [OAuth 令牌被撤销或过期](#oauth-token-revoked-or-expired) 的状态不同。这些消息报告 API 返回的 401。Claude Code 本身为已失败刷新的登录生成 `Login expired`,因此它不发送请求。

604 

605使用 API 密钥、[`CLAUDE_CODE_OAUTH_TOKEN`](/zh-CN/env-vars) 或第三方提供商进行身份验证的会话不使用保存的登录,永远不会看到此消息。

606 

607**应该做什么:**

608 

609* 运行 `/login` 重新登录。不登录重试会在每个请求上显示相同的消息。

610* 在非交互模式中,在同一环境中运行 `claude`,完成 `/login`,然后重新运行您的命令。对于无法交互式登录的自动化,使用 `ANTHROPIC_API_KEY` 进行身份验证或 [使用 `claude setup-token` 生成长期令牌](/zh-CN/authentication#generate-a-long-lived-token)。

611* 如果登录持续失败,请参阅 [登录和身份验证](/zh-CN/troubleshoot-install#login-and-authentication)

612 

548<h3 id="oauth-scope-requirement">613<h3 id="oauth-scope-requirement">

549 OAuth 范围要求614 OAuth 范围要求

550</h3>615</h3>


603* 如果您的凭证是最新的,请确认 [IAM 配置](/zh-CN/amazon-bedrock#iam-configuration) 中的 IAM 权限已附加到您使用的身份,并且所选模型已为您的账户和区域启用668* 如果您的凭证是最新的,请确认 [IAM 配置](/zh-CN/amazon-bedrock#iam-configuration) 中的 IAM 权限已附加到您使用的身份,并且所选模型已为您的账户和区域启用

604* 运行 `aws sts get-caller-identity` 确认您的请求使用哪个身份;过时的 `AWS_PROFILE` 或默认配置文件是权限不匹配的常见原因669* 运行 `aws sts get-caller-identity` 确认您的请求使用哪个身份;过时的 `AWS_PROFILE` 或默认配置文件是权限不匹配的常见原因

605 670 

671<h3 id="aws-default-chain-credential-resolve-timed-out">

672 AWS 默认链凭证解析超时

673</h3>

674 

675AWS 默认凭证提供商链在 60 秒内未产生凭证,因此 Claude Code 停止了解析并使请求失败。故障是本地凭证解析:请求从未到达 [Amazon Bedrock](/zh-CN/amazon-bedrock)、[Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 或 [Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint)。Claude Code 在此错误浮出之前清除其 [凭证缓存](/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout) 并重试,因此到您看到它时链已在重复尝试上停滞。

676 

677```text theme={null}

678API Error: AWS default-chain credential resolve timed out

679```

680 

681常见原因是 AWS 配置文件中的 `credential_process` 命令等待它无法接收的输入,以及容器或 VM 的实例元数据服务 (IMDS) 从不回答链的探测。{/* min-version: 2.1.207 */}在 v2.1.207 之前,停滞的链使请求无限期等待而不是以此消息失败。

682 

683**应该做什么:**

684 

685* 在同一 shell 中使用相同的 `AWS_PROFILE` 运行 `aws sts get-caller-identity`。如果它也挂起,请修复配置文件;提示交互式的 `credential_process` 命令是常见原因。

686* 在启动 Claude Code 之前完成登录步骤,例如 `aws sso login --profile myprofile`,以便链从本地 SSO 缓存解析而不是等待浏览器流

687* 如果您的链运行合法需要超过 60 秒的交互式登录,例如通过 `aws-vault` 等包装器的带 MFA 的 SSO,请使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/zh-CN/env-vars) 以毫秒为单位提高限制

688 

606<h2 id="network-and-connection-errors">689<h2 id="network-and-connection-errors">

607 网络和连接错误690 网络和连接错误

608</h2>691</h2>

609 692 

610这些错误表示来自 Claude Code 的网络请求未能到达其目的地。它们通常源于您的本地网络、代理或防火墙,或云环境的网络策略。693这些错误表示来自 Claude Code 的网络请求未能到达其目的地,或 Claude Code 和 API 之间的某些东西在返回途中改变了响应。它们通常源于您的本地网络、代理或防火墙,或云环境的网络策略。

611 694 

612<h3 id="unable-to-connect-to-api">695<h3 id="unable-to-connect-to-api">

613 无法连接到 API696 无法连接到 API


640* 在 macOS 上,已断开连接或卸载的 VPN 客户端可能会留下隧道接口或路由规则。检查 `ifconfig` 是否有过时的 `utun` 接口,并在系统设置中删除 VPN 的网络扩展。723* 在 macOS 上,已断开连接或卸载的 VPN 客户端可能会留下隧道接口或路由规则。检查 `ifconfig` 是否有过时的 `utun` 接口,并在系统设置中删除 VPN 的网络扩展。

641* Docker Desktop 和类似的容器运行时可能会拦截出站流量。退出它们并重试以排除这种可能性。724* Docker Desktop 和类似的容器运行时可能会拦截出站流量。退出它们并重试以排除这种可能性。

642 725 

726<h3 id="bedrock-streaming-response-has-an-unexpected-content-type">

727 Bedrock 流式响应具有意外的内容类型

728</h3>

729 

730Claude Code 和 [Amazon Bedrock](/zh-CN/amazon-bedrock) 之间的网关或代理正在转换流式响应体或其 `Content-Type` 标头。Amazon Bedrock 将响应流式传输为 `application/vnd.amazon.eventstream`,Claude Code 拒绝报告不同内容类型的成功流式响应,而不是解码它无法读取的响应体。请求不会重试。

731 

732```text theme={null}

733Bedrock streaming response has content-type "text/event-stream"; expected "application/vnd.amazon.eventstream". A gateway or proxy between Claude Code and Bedrock is likely transforming the response body — Bedrock's binary event-stream format must be passed through unmodified. Set CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 to suppress this check while the gateway is being fixed.

734```

735 

736{/* min-version: 2.1.208 */}在 v2.1.208 之前,相同的配置错误表现为 `API Error: Truncated event message received`,在整个响应被缓冲后出现。

737 

738**应该做什么:**

739 

740* 配置网关以不修改地传递 `InvokeModelWithResponseStream` 响应体及其 `Content-Type` 标头。将流重新发出为服务器发送事件的中介是常见原因。

741* 如果网关仅重写标头并完整传递二进制体,请设置 [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/zh-CN/env-vars) 以跳过检查,直到网关被修复。请参阅[网关或代理后的流式错误](/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。

742 

643<h3 id="ssl-certificate-errors">743<h3 id="ssl-certificate-errors">

644 SSL 证书错误744 SSL 证书错误

645</h3>745</h3>


859* **Agent SDK**:错误文本省略提示,因为模型是以编程方式设置的。在 TypeScript 中设置 [`Options` 上的 `model`](/zh-CN/agent-sdk/typescript#options) 或在 Python 中设置 [`ClaudeAgentOptions(model=...)`](/zh-CN/agent-sdk/python#claudeagentoptions),并处理结构化的 `model_not_found` 错误以显示您自己的重试或模型选择器。959* **Agent SDK**:错误文本省略提示,因为模型是以编程方式设置的。在 TypeScript 中设置 [`Options` 上的 `model`](/zh-CN/agent-sdk/typescript#options) 或在 Python 中设置 [`ClaudeAgentOptions(model=...)`](/zh-CN/agent-sdk/python#claudeagentoptions),并处理结构化的 `model_not_found` 错误以显示您自己的重试或模型选择器。

860* 使用别名(如 `sonnet` 或 `opus`)而不是完整的版本化 ID。别名解析为维护的默认值,因此不会过时。请参阅[模型配置](/zh-CN/model-config)。960* 使用别名(如 `sonnet` 或 `opus`)而不是完整的版本化 ID。别名解析为维护的默认值,因此不会过时。请参阅[模型配置](/zh-CN/model-config)。

861* 如果 CLI 中一直返回错误的模型,则某处设置了过时的 ID。按[优先级顺序](/zh-CN/model-config#setting-your-model)检查:`--model` 标志、`ANTHROPIC_MODEL` 环境变量,然后是 `.claude/settings.local.json` 中的 `model` 字段、您项目的 `.claude/settings.json` 和 `~/.claude/settings.json`。删除过时的值,Claude Code 会回退到您的账户默认值。961* 如果 CLI 中一直返回错误的模型,则某处设置了过时的 ID。按[优先级顺序](/zh-CN/model-config#setting-your-model)检查:`--model` 标志、`ANTHROPIC_MODEL` 环境变量,然后是 `.claude/settings.local.json` 中的 `model` 字段、您项目的 `.claude/settings.json` 和 `~/.claude/settings.json`。删除过时的值,Claude Code 会回退到您的账户默认值。

962* {/* min-version: 2.1.206 */}Claude Code 将过期的 claude.ai 登录报告为[登录已过期](#login-expired),而不是此错误。在 v2.1.206 之前,无法再刷新的过期登录在每个模型上都失败,出现此错误;如果您在较旧版本上看到这个,请运行 `/login`。

862* 对于 Google Cloud 的 Agent Platform 部署,请参阅 [Google Cloud 的 Agent Platform 故障排除](/zh-CN/google-vertex-ai#troubleshooting)。963* 对于 Google Cloud 的 Agent Platform 部署,请参阅 [Google Cloud 的 Agent Platform 故障排除](/zh-CN/google-vertex-ai#troubleshooting)。

863 964 

864<h3 id="model-is-not-a-recognized-model-id">965<h3 id="model-is-not-a-recognized-model-id">


1070 \--bg 和 --print 之间的冲突1171 \--bg 和 --print 之间的冲突

1071</h3>1172</h3>

1072 1173 

1073此消息需要 Claude Code v2.1.198 或更高版本。您在同一个 `claude` 调用中将 `--bg` 与 `-p` 或 `--print` 组合在一起。`--bg` 启动一个[后台会话](/zh-CN/agent-view#from-your-shell),您稍后可以使用 `claude agents` 附加到该会话,而 `--print` 以[非交互方式](/zh-CN/headless)运行,永远不会启动 `claude agents` 附加到的交互式会话。在 v2.1.198 之前,此组合会静默创建一个永远无法附加的后台作业。1174此消息需要 Claude Code v2.1.198 或更高版本。您在同一个 `claude` 调用中将 `--bg` 与 `-p` 或 `--print` 结合使用。`--bg` 启动一个[后台会话](/zh-CN/agent-view#from-your-shell),您稍后可以使用 `claude agents` 附加到该会话,而 `--print` 以[非交互方式](/zh-CN/headless)运行,永远不会启动 `claude agents` 附加到的交互会话。在 v2.1.198 之前,此组合会静默创建一个永远无法附加的后台作业。

1074 1175 

1075```text theme={null}1176```text theme={null}

1177--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.

1076```1178```

1077 1179 

1078**应该怎么做:**1180**应该怎么做:**

1079 1181 

1080* 删除 `-p` 或 `--print`。`--bg` 将提示作为其位置参数,因此 `claude --bg "<task>"` 是完整命令。请参阅[从您的 shell 分派新代理](/zh-CN/agent-view#from-your-shell)。1182* 删除 `-p` 或 `--print`。`--bg` 将提示作为其位置参数,所以 `claude --bg "<task>"` 是完整的命令。请参阅[从您的 shell 分派新代理](/zh-CN/agent-view#from-your-shell)。

1081* 要以非交互方式运行提示并打印结果而不是创建后台会话,请删除 `--bg` 并运行 `claude -p "<task>"`1183* 要以非交互方式运行提示并打印结果而不是创建后台会话,请删除 `--bg` 并运行 `claude -p "<task>"`

1082 1184 

1083<h3 id="the-json-schema-value-is-not-a-valid-json-schema">1185<h3 id="the-json-schema-value-is-not-a-valid-json-schema">


1093 1194 

1094第二个冒号后面的文本是验证器的诊断,并命名了失败的关键字或位置。使用 `format` 关键字的架构(例如 `"format": "email"`)是有效的:Claude Code 接受 `format` 作为注释,不强制执行它。1195第二个冒号后面的文本是验证器的诊断,并命名了失败的关键字或位置。使用 `format` 关键字的架构(例如 `"format": "email"`)是有效的:Claude Code 接受 `format` 作为注释,不强制执行它。

1095 1196 

1096Claude Code 在架构编译之前运行两项检查:它拒绝不可解析的 JSON 值,并显示 `Error: --json-schema is not valid JSON`,以及不是对象的有效 JSON,并显示 `Error: --json-schema must be a JSON object`。1197Claude Code 在架构编译之前运行两项检查:它拒绝不可解析的 JSON 值,并显示 `Error: --json-schema is not valid JSON`,以及拒绝不是对象的有效 JSON,并显示 `Error: --json-schema must be a JSON object`。

1097 1198 

1098**应该怎么做:**1199**应该怎么做:**

1099 1200 


1105 无法从 Claude Desktop 导入服务器1206 无法从 Claude Desktop 导入服务器

1106</h3>1207</h3>

1107 1208 

1108Claude Code 无法添加您在 `claude mcp add-from-claude-desktop` 中选择的其中一个服务器。该命令仍会导入其他选定的服务器,并为每个无法添加的服务器打印一行。在 v2.1.205 之前,第一个失败的服务器会停止导入,所有选定的服务器都不会被添加1209Claude Code 无法添加您在 `claude mcp add-from-claude-desktop` 中选择的其中一个服务器。该命令仍然导入其他选定的服务器,并为每个无法添加的服务器打印一行。在 v2.1.205 之前,第一个失败的服务器会停止导入,并且不会添加任何选定的服务器

1109 1210 

1110```text theme={null}1211```text theme={null}

1111Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.1212Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

1112```1213```

1113 1214 

1114服务器名称后面的文本是原因。最常见的是名称检查:Claude Desktop 允许服务器名称中的字符(例如空格和句号),而 `claude mcp` 限制为字母、数字、连字符和下划线。其他原因包括未通过验证的服务器配置以及被您组织的 [MCP 策略](/zh-CN/managed-mcp)阻止的服务器。1215服务器名称后面的文本是原因。最常见的是名称检查:Claude Desktop 允许服务器名称中的字符(例如空格和句号),而 `claude mcp` 仅限于字母、数字、连字符和下划线。其他原因包括未通过验证的服务器配置和被您组织的 [MCP 策略](/zh-CN/managed-mcp)阻止的服务器。

1115 1216 

1116**应该怎么做:**1217**应该怎么做:**

1117 1218 

1118* 在 `claude_desktop_config.json` 中重命名服务器,仅使用字母、数字、连字符和下划线,然后再次运行 `claude mcp add-from-claude-desktop`1219* 在 `claude_desktop_config.json` 中重命名服务器,仅使用字母、数字、连字符和下划线,然后再次运行 `claude mcp add-from-claude-desktop`

1119* 使用 `claude mcp add` 或 `claude mcp add-json` 在有效名称下直接添加该服务器。请参阅[从 Claude Desktop 导入 MCP 服务器](/zh-CN/mcp#import-mcp-servers-from-claude-desktop)。1220* 使用 `claude mcp add` 或 `claude mcp add-json` 在有效名称下直接添加该服务器。请参阅[从 Claude Desktop 导入 MCP 服务器](/zh-CN/mcp#import-mcp-servers-from-claude-desktop)。

1120 1221 

1222<h3 id="mcp-permission-prompt-tool-not-found">

1223 找不到 MCP 权限提示工具

1224</h3>

1225 

1226您传递给 [`--permission-prompt-tool`](/zh-CN/cli-reference#cli-flags) 的工具在运行首次需要权限决定时不在连接的 MCP 工具中,原因可能是其服务器从未连接,或者没有连接的服务器公开该名称的工具。Claude Code 仍然发送您的提示:[非交互](/zh-CN/headless)运行在第一个需要批准的工具调用时以此错误和退出代码 1 退出,因此即使请求已发出,它也不会产生答案。在第一个提示之前,Claude Code 会等待最多由 [`MCP_TIMEOUT`](/zh-CN/env-vars) 设置的每个服务器连接超时 30 秒,以便该服务器连接。{/* min-version: 2.1.206 */}在 v2.1.206 之前,启动不会等待服务器完成连接,因此启动缓慢但健康的服务器也会产生此错误。

1227 

1228```text theme={null}

1229Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

1230```

1231 

1232`Available MCP tools:` 后面的列表命名了在等待结束时连接的 MCP 工具。

1233 

1234**应该怎么做:**

1235 

1236* 检查服务器是否启动并保持连接:在同一目录中运行 `claude mcp list`,并确认服务器列为已连接

1237* 确认工具名称与服务器公开的 `mcp__<server>__<tool>` 名称匹配

1238* 如果服务器需要超过 30 秒才能启动,请提高 [`MCP_TIMEOUT`](/zh-CN/env-vars)

1239 

1121<h2 id="plugin-errors">1240<h2 id="plugin-errors">

1122 Plugin 错误1241 插件错误

1123</h2>1242</h2>

1124 1243 

1125这些错误来自 [plugin](/zh-CN/plugins) [marketplace](/zh-CN/plugin-marketplaces) 配置。对于不会产生此页面上的消息之一的 plugin 问题,例如无法加载的 marketplace URL 或已安装但不显示的 plugin,请参阅 [Plugin troubleshooting](/zh-CN/discover-plugins#troubleshooting)。1244这些错误来自[插件](/zh-CN/plugins)和[marketplace](/zh-CN/plugin-marketplaces)配置。对于不会产生本页面上的消息之一的插件问题,例如无法加载的 marketplace URL 或已安装但不显示的插件,请参阅[插件故障排除](/zh-CN/discover-plugins#troubleshooting)。

1126 1245 

1127<h3 id="marketplace-is-registered-from-an-untrusted-source">1246<h3 id="marketplace-is-registered-from-an-untrusted-source">

1128 Marketplace 从不受信任的源注册1247 Marketplace 从不受信任的源注册

1129</h3>1248</h3>

1130 1249 

1131marketplace 以 [为官方 Anthropic marketplace 保留的名称](/zh-CN/plugin-marketplaces#marketplace-schema) 注册,但其注册源不是 `anthropics` GitHub 存储库。Claude Code 每次加载或刷新 marketplace 时都会重新检查保留的名称,因此 marketplace 和从中安装的 plugin 停止加载。在 v2.1.205 之前,仅在添加 marketplace 时检查名称,因此在其名称被保留之前注册的条目继续加载。1250marketplace 以[为官方 Anthropic marketplace 保留的名称](/zh-CN/plugin-marketplaces#marketplace-schema)注册,但其注册源不是 `anthropics` GitHub 存储库。Claude Code 每次加载或刷新 marketplace 时都会重新检查保留的名称,因此 marketplace 和从中安装的插件停止加载。在 v2.1.205 之前,仅在添加 marketplace 时检查名称,因此在其名称被保留之前注册的条目继续加载。

1132 1251 

1133```text theme={null}1252```text theme={null}

1134Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.1253Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.

1135```1254```

1136 1255 

1137**应该做什么:**1256**应该怎么做:**

1138 1257 

1139* 运行 `claude plugin marketplace remove <name>`,然后从官方 `github.com/anthropics` 存储库重新添加 marketplace1258* 运行 `claude plugin marketplace remove <name>`,然后从官方 `github.com/anthropics` 存储库重新添加 marketplace

1140* 如果您发布了在名称被保留之前使用该名称的第三方 marketplace,请重命名它并要求用户从您的源重新添加它1259* 如果您发布了在名称被保留之前使用该名称的第三方 marketplace,请重命名它并要求用户从您的源重新添加它

1141* 查看 [Marketplace schema](/zh-CN/plugin-marketplaces#marketplace-schema) 下的保留名称列表1260* 请参阅[Marketplace schema](/zh-CN/plugin-marketplaces#marketplace-schema)下的保留名称列表

1261 

1262<h3 id="plugin-command-references-user-config">

1263 插件命令在 shell 命令中引用 user\_config

1264</h3>

1265 

1266插件 hook、[monitor](/zh-CN/plugins-reference#monitors)或 MCP [`headersHelper`](/zh-CN/mcp#use-dynamic-headers-for-custom-authentication)命令引用 `${user_config.KEY}` [插件选项](/zh-CN/plugins-reference#user-configuration),替换后的字符串将被传递到 shell。配置的值包含 `$(...)` 、反引号或 `;` 会在那里作为代码运行,因此 Claude Code 拒绝启动该组件而不是替换该值。检查在命令模板上运行,因此即使尚未配置任何值,错误也会出现。在 v2.1.207 之前,该值被替换到 shell 命令中。

1267 

1268措辞取决于哪个表面引用了该选项。shell 形式的 hook 报告:

1269 

1270```text theme={null}

1271Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}

1272```

1273 

1274monitor 报告:

1275 

1276```text theme={null}

1277Monitor "deploy-status" from plugin deploy-tools references ${user_config.*} in its command. The substituted value would be passed to a shell. Monitor commands cannot safely reference ${user_config.*}; have the monitor script read the value from a config file or prompt instead.

1278```

1279 

1280MCP `headersHelper` 报告:

1281 

1282```text theme={null}

1283headersHelper for MCP server 'internal-api' references ${user_config.*}. The substituted value would be passed to a shell; read the value inside the helper script instead (e.g. from an env var set in the server's "env" block).

1284```

1285 

1286**应该怎么做:**

1287 

1288* 对于 hook,添加 `args` 数组以便它在[exec 形式](/zh-CN/hooks#exec-form-and-shell-form)中运行,其中每个 `${user_config.KEY}` 成为一个参数,中间没有 shell。或删除引用并在脚本内读取 `$CLAUDE_PLUGIN_OPTION_<KEY>` 环境变量

1289* 对于 monitor,删除引用并让 monitor 脚本从配置文件读取该值

1290* 对于 `headersHelper`,将 `${user_config.KEY}` 移到服务器的 `headers` 字段中,该字段不会被 shell 解析,或在 helper 脚本内读取该值

1291 

1292<h2 id="tool-errors">

1293 工具错误

1294</h2>

1295 

1296这些错误来自 Claude 的内置工具拒绝输入。Claude 会自动纠正大多数工具错误;下面两个错误需要你进行更改,因为它们来自你控制的子代理定义或权限规则。

1297 

1298<h3 id="agent-would-be-spawned-with-zero-tools">

1299 Agent would be spawned with zero tools

1300</h3>

1301 

1302[子代理的 `tools` 列表](/zh-CN/sub-agents#supported-frontmatter-fields)中没有任何内容解析为工具,因此 Claude Code 拒绝启动子代理,而不是启动一个无法执行操作的代理。该消息按它们未解析的原因对条目进行分组:不是公认的工具、子代理不可用的工具,或已识别但与当前会话中的任何工具都不匹配。省略 `tools` 字段永远不会触发此拒绝。MCP 服务器模式(如 `mcp__github__*`)不例外:当没有来自该服务器的连接工具时,启动会被拒绝,该模式在匹配失败组中。在 v2.1.208 之前,子代理启动时没有工具,并返回空结果或令人困惑的结果。

1303 

1304```text theme={null}

1305Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.

1306```

1307 

1308**应该做什么:**

1309 

1310* 针对[子代理可用的工具](/zh-CN/sub-agents#available-tools)纠正错误命名的每个条目

1311* 删除会话没有的工具条目,例如来自未连接的服务器的 MCP 工具

1312* 要给子代理提供父代理拥有的每个工具,请删除 `tools` 字段而不是列出工具

1313 

1314<h3 id="file-is-covered-by-a-read-deny-rule">

1315 File is covered by a Read deny rule

1316</h3>

1317 

1318Edit 工具在与 [`Read` 拒绝规则](/zh-CN/permissions#read-and-edit)匹配的路径上被调用,包括在该路径创建新文件。编辑会重写 Claude 必须能够读回的内容,因此在任何文件访问之前调用被拒绝。该规则仅阻止 Edit 工具:Write 和 NotebookEdit 不受 `Read` 拒绝规则的覆盖。在 v2.1.208 之前,只有 `Edit` 拒绝规则阻止编辑,而 `Read` 拒绝规则单独不会。

1319 

1320```text theme={null}

1321File is covered by a Read deny rule in your permission settings and cannot be edited.

1322```

1323 

1324**应该做什么:**

1325 

1326* 如果 Claude 应该能够编辑该文件,请在 `/permissions` 或[设置](/zh-CN/settings#permission-settings)中删除或缩小 `Read` 拒绝规则

1327* 如果文件必须保持不变,请保留该规则并为相同路径添加 `Edit` 拒绝规则,以便 Write 和 NotebookEdit 工具也被阻止

1328 

1329<h2 id="background-session-errors">

1330 后台会话错误

1331</h2>

1332 

1333[后台会话](/zh-CN/agent-view)在没有交互式终端的情况下运行,因此需要终端的命令在那里的行为会有所不同。这些消息出现在后台会话的记录中,在代理视图中或附加后。

1334 

1335<h3 id="commands-refused-in-a-background-session">

1336 后台会话中被拒绝的命令

1337</h3>

1338 

1339打开交互式对话框的命令在后台会话中被拒绝,并显示一条消息,该消息要么命名一个在那里有效的表单,要么告诉您从常规终端运行该命令。`/install-github-app`、`/mcp` 设置列表和 MCP 服务器菜单中的身份验证操作都以这种方式被拒绝。在 v2.1.208 之前,它们在后台会话内打开其对话框。

1340{/* max-version: 2.1.208 */}在 v2.1.208 中,`/model` 选择器也在后台会话中被拒绝,`/upgrade` 打印升级 URL 而不是打开浏览器。

1341 

1342措辞会命名被拒绝的命令。`/mcp` 设置列表报告:

1343 

1344```text theme={null}

1345Can't open MCP settings in a background session — use `/mcp enable|disable|reconnect <server>` to steer, or run /mcp from an interactive terminal to authenticate.

1346```

1347 

1348**应该怎么做:**

1349 

1350* 使用消息命名的表单,例如 `/mcp reconnect <server>`、`/mcp enable` 或 `/mcp disable`

1351* 对于登录和授权流程,从终端中的常规 `claude` 会话运行该命令

1352 

1353<h3 id="claude_code_process_wrapper-launcher-errors">

1354 CLAUDE\_CODE\_PROCESS\_WRAPPER 启动器错误

1355</h3>

1356 

1357[`CLAUDE_CODE_PROCESS_WRAPPER`](/zh-CN/corporate-launcher) 已设置,其值无法使用,因此 Claude Code 拒绝启动受影响的进程,而不是在没有启动器的情况下运行它。配置问题会报告一条以变量名开头并说明原因的消息,例如:

1358 

1359```text theme={null}

1360CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file

1361```

1362 

1363启动但退出而不用 Claude Code 替换自身的启动器会导致它启动的会话失败,该会话在代理视图中的行报告启动器 `must exec, not daemonize`,后跟启动器打印的任何内容。由于启动器而无法启动或到达后台服务的会话会将启动器问题报告为 `Couldn't reach the background service (...)` 内的原因。

1364 

1365**应该怎么做:**

1366 

1367* 将变量设置为可执行文件的绝对路径,该文件以调用 `exec "$@"` 结尾。有关完整合同,请参阅[启动器合同](/zh-CN/corporate-launcher#the-launcher-contract)

1368* 检查 `/status`,它在其 Self-exec 条目中显示已解析的启动命令,并在运行的后台服务与其不匹配时发出警告,或从 shell 运行 `claude daemon status`

1369* 在[设置](/zh-CN/corporate-launcher#set-up-the-launcher)的 `env` 块中修复值后,使用 `claude daemon stop --any` 重启后台服务,以便下一次调度启动一个包装的服务

1142 1370 

1143<h2 id="configuration-warnings">1371<h2 id="configuration-warnings">

1144 配置警告1372 配置警告


1150 工作区尚未被信任1378 工作区尚未被信任

1151</h3>1379</h3>

1152 1380 

1153Claude Code 在项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中找到了 `permissions.allow` 规则或 `permissions.additionalDirectories` 条目,但没有应用它们,因为[来自项目设置的允许规则需要工作区信任](/zh-CN/permissions#project-allow-rules-and-workspace-trust)。消息中的计数、设置名称和文件名会根据您的配置而变化。`deny` 和 `ask` 规则不受影响。1381Claude Code 在项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中找到了 `permissions.allow` 规则或 `permissions.additionalDirectories` 条目,但未应用它们,因为[项目设置中的允许规则需要工作区信任](/zh-CN/permissions#project-allow-rules-and-workspace-trust)。消息中的计数、设置名称和文件名会根据您的配置而变化。`deny` 和 `ask` 规则不受影响。

1154 1382 

1155```text theme={null}1383```text theme={null}

1156Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.1384Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.

1157```1385```

1158 1386 

1159**应该怎么做:**1387**应该做什么:**

1160 1388 

1161* 在目录中运行 `claude` 并接受信任对话框。{/* min-version: 2.1.200 */}即使父目录已被信任,对话框也会出现,列出被保留的规则,并让您可以拒绝并继续工作而不应用这些规则。在 v2.1.200 之前,在这种情况下不会出现对话框,因此无法在那里完成此步骤。1389* 在目录中运行 `claude` 并接受信任对话框。{/* min-version: 2.1.200 */}即使父目录已被信任,对话框也会出现,列出被保留的规则,并让您可以拒绝并继续工作而不应用这些规则。在 v2.1.200 之前,在这种情况下不会出现对话框,因此无法在那里完成此步骤。

1162* 在[非交互模式](/zh-CN/headless)中使用 `-p` 不会显示对话框。使用消息打印的确切 `projects` 键在 `~/.claude.json` 中设置 `hasTrustDialogAccepted` 条目。1390* 在[非交互模式](/zh-CN/headless)中使用 `-p` 不会显示对话框。使用消息打印的确切 `projects` 密钥在 `~/.claude.json` 中设置 `hasTrustDialogAccepted` 条目。

1163* {/* min-version: 2.1.200 */}如果消息命名 `.claude/settings.local.json` 并且您在 git 存储库外部或在主目录中启动了 Claude Code,请更新到 v2.1.200 或更高版本。版本 2.1.196 至 2.1.199 在这些工作区中将您自己的 `.claude/settings.local.json` 视为存储库提供的。请参阅[项目允许规则和工作区信任](/zh-CN/permissions#project-allow-rules-and-workspace-trust)。1391* {/* min-version: 2.1.200 */}如果消息命名 `.claude/settings.local.json` 并且您在 git 存储库外部或在主目录中启动了 Claude Code,请更新到 v2.1.200 或更高版本。版本 2.1.196 至 2.1.199 在这些工作区中将您自己的 `.claude/settings.local.json` 视为存储库提供的。{/* min-version: 2.1.207 */}在 v2.1.207 及更高版本上,如果您尚未信任该文件夹,在 git 存储库外部更新是不够的:确定文件夹不在存储库内会运行 git,Claude Code 仅在您接受信任对话框后才运行该检查,因此请使用第一步。您的主目录和任何其他[配置主目录](/zh-CN/permissions#project-allow-rules-and-workspace-trust)是豁免的,不需要等待对话框。请参阅[项目允许规则和工作区信任](/zh-CN/permissions#project-allow-rules-and-workspace-trust)。

1164 1392 

1165<h2 id="responses-seem-lower-quality-than-usual">1393<h2 id="responses-seem-lower-quality-than-usual">

1166 响应质量似乎低于预期1394 回复质量似乎低于预期

1167</h2>1395</h2>

1168 1396 

1169如果 Claude 的回答似乎不如你预期的那样有能力,但没有显示错误,原因通常是对话状态而不是模型本身。Claude Code 不会无声地更改模型版本。它只能在三种特定情况下切换到备用模型:1397如果 Claude 的回答似乎不如你预期的那样有能力,但没有显示错误,原因通常是对话状态而不是模型本身。Claude Code 不会无声地更改模型版本。它只能在三种特定情况下切换到备用模型:

1170 1398 

1171* 配置的 [`--fallback-model`](/zh-CN/cli-reference#cli-flags) 在可用性错误后接管该轮次,并在记录中显示通知1399* 配置的 [`--fallback-model`](/zh-CN/cli-reference#cli-flags) 在可用性错误后接管该轮,并在记录中显示通知

1172* Amazon Bedrock 或 Google Cloud 的 Agent Platform 启动检查发现你的默认模型不可用1400* Amazon Bedrock 或 Google Cloud 的 Agent Platform 启动检查发现你的默认模型不可用

1173* [自动模型备用](/zh-CN/model-config#automatic-model-fallback)在 Fable 5 上将会话移至默认 Opus 模型,并在记录中显示通知1401* [自动模型备用](/zh-CN/model-config#automatic-model-fallback)在 Fable 5 上将会话移至默认 Opus 模型,并在记录中显示通知

1174 1402 

1175下面的模型选择检查捕获第二和第三种情况;第一种情况显示为记录通知而不是 `/model` 更改。[模型配置](/zh-CN/model-config)解释了每种备用何时适用1403下面的模型选择检查捕获第二和第三种情况;第一种情况显示为记录通知而不是 `/model` 更改。[模型配置](/zh-CN/model-config)解释了每个备用何时适用

1176 1404 

1177首先检查这些:1405首先检查这些:

1178 1406 

1179* **模型选择**:运行 `/model` 以确认你在预期的模型上。之前的 `/model` 选择或 `ANTHROPIC_MODEL` 环境变量可能使你在比预期更小的模型上。1407* **模型选择**:运行 `/model` 以确认你在预期的模型上。之前的 `/model` 选择或 `ANTHROPIC_MODEL` 环境变量可能使你在比预期更小的模型上。

1180* **努力级别**:运行 `/effort` 以检查当前推理级别,并为困难的调试或设计工作提高它。默认值因模型而异,所以在假设你低于最大值之前请检查。有关每个模型的默认值和 `ultrathink` 快捷方式,请参阅[调整努力级别](/zh-CN/model-config#adjust-effort-level)。1408* **努力级别**:运行 `/effort` 以检查当前推理级别,并为困难的调试或设计工作提高它。默认值因模型而异,所以在假设你低于最大值之前请检查。有关每个模型的默认值和 `ultrathink` 快捷方式,请参阅[调整努力级别](/zh-CN/model-config#adjust-effort-level)。

1181* **上下文压力**:运行 `/context` 以查看窗口有多满。如果接近容量,在自然断点处运行 `/compact` 或运行 `/clear` 以重新开始。有关自动压缩如何影响早期轮次的信息,请参阅[探索上下文窗口](/zh-CN/context-window)。1409* **上下文压力**:运行 `/context` 以查看窗口有多满。如果接近容量,在自然断点处运行 `/compact` 或运行 `/clear` 以重新开始。有关自动压缩如何影响早期轮次的信息,请参阅[探索上下文窗口](/zh-CN/context-window)。

1182* **过时的指令**:大型或过时的 `CLAUDE.md` 文件和 MCP 工具定义会消耗上下文并可能引导响应。{/* min-version: 2.1.205 */}`/doctor` 检查会标记超大内存文件和未使用的扩展,`/context` 显示 MCP 工具令牌使用情况。在 v2.1.205 之前,`/doctor` 打开一个诊断屏幕,标记超大内存文件和子代理定义。1410* **过时的指令**:大型或过时的 `CLAUDE.md` 文件和 MCP 工具定义会消耗上下文并可能引导回复。{/* min-version: 2.1.205 */}`/doctor` 检查会标记超大内存文件和未使用的扩展,`/context` 显示 MCP 工具令牌使用情况。在 v2.1.205 之前,`/doctor` 打开一个诊断屏幕,标记超大内存文件和子代理定义。

1183 1411 

1184当响应出错时回退通常比用更正进行回复效果更好按两次 Esc 或运行 `/rewind` 以回到错误轮次之前,然后用更具体的内容重新表述提示。在线程中更正会将错误的尝试保留在上下文中,这可能会将后来的答案锚定到它。请参阅[检查点](/zh-CN/checkpointing)。1412当回复出错时回退通常比用更正回复效果更好 Esc 两次或运行 `/rewind` 以回到坏轮之前,然后用更具体的内容重新表述提示。在线程中更正会将错误的尝试保留在上下文中,这可能会将后来的答案锚定到它。请参阅[检查点](/zh-CN/checkpointing)。

1185 1413 

1186如果在检查上述内容后质量仍然似乎不对请运行 `/feedback` 并描述你期望的内容与你得到的内容。以这种方式提交的反馈包括对话记录,这是 Anthropic 诊断真实回归的最快方式。如果 `/feedback` 在你的环境中不可用,请参阅[报告错误](#report-an-error)。1414如果在检查上述内容后质量仍然似乎有问题运行 `/feedback` 并描述你期望的内容与你得到的内容。以这种方式提交的反馈包括对话记录,这是 Anthropic 诊断真实回归的最快方式。如果 `/feedback` 在你的环境中不可用,请参阅[报告错误](#report-an-error)。

1187 1415 

1188{/* min-version: 2.1.201 */}如果 Sonnet 5 拒绝请求并在 Claude Code v2.1.200 或更早版本上引用可疑的提示注入请运行 `claude update` 以获取 v2.1.201 修复1416如果 Claude 警告可疑的提示注入,或因可疑注入而拒绝请求,并且警告命名的文本是 Claude Code 自动添加到对话中的上下文而不是文件或网络内容,运行 `claude update` 并重试。如果更新后警告重复出现,[报告它](#report-an-error)而不是将标记的内容粘贴回提示中。{/* min-version: 2.1.201 */} v2.1.201 之前Sonnet 5 以相同的方式拒绝了一些请求

1189 1417 

1190<h2 id="report-an-error">1418<h2 id="report-an-error">

1191 报告错误1419 报告错误


1199 1427 

1200如果此处未列出错误或建议的修复方法无法帮助:1428如果此处未列出错误或建议的修复方法无法帮助:

1201 1429 

1202* 在 Claude Code 中运行 `/feedback` 将记录和描述发送给 Anthropic。该命令还提供打开预填充的 GitHub issue 的选项。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和其他第三方提供商上,`/feedback` 保存本地存档,您可以将其发送给您的 Anthropic 账户代表。1430* 在 Claude Code 中运行 `/feedback` 将记录和描述发送给 Anthropic。该命令还提供打开预填充的 GitHub issue 的选项。发送到 Anthropic 需要[身份验证](/zh-CN/authentication)。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和其他第三方提供商上,或者当未配置 Anthropic 凭证时,`/feedback` 会保存一个本地存档,您可以将其发送给您的 Anthropic 账户代表。

1203* 从您的 shell 运行 `claude doctor` 以获取安装的只读诊断,或在 Claude Code 中运行 `/doctor` 检查以查找和修复设置问题1431* 从您的 shell 中运行 `claude doctor` 以获取安装的只读诊断,或在 Claude Code 中运行 `/doctor` 检查以查找和修复设置问题

1204* 检查 [status.claude.com](https://status.claude.com) 以了解活跃事件1432* 检查 [status.claude.com](https://status.claude.com) 以了解活跃的事件

1205* 在 GitHub 上搜索[现有 issue](https://github.com/anthropics/claude-code/issues)1433* 在 GitHub 上搜索[现有问题](https://github.com/anthropics/claude-code/issues)

fast-mode.md +3 −1

Details

47 47 

48当您再次使用 `/fast` 禁用快速模式时,您仍然保持在 Opus 上。模型不会恢复到您之前的模型。要切换到不同的模型,请使用 `/model`。48当您再次使用 `/fast` 禁用快速模式时,您仍然保持在 Opus 上。模型不会恢复到您之前的模型。要切换到不同的模型,请使用 `/model`。

49 49 

50切换到不支持快速模式的模型会关闭快速模式。{/* min-version: 2.1.208 */}切换回支持的 Opus 模型时,当您保存的快速模式偏好设置为打开时,它会再次打开,这与新会话默认启动的偏好设置相同。配置了[每个会话选择加入](#require-per-session-opt-in)后,切换回不会再次打开快速模式;运行 `/fast` 以重新启用它。快速模式永远不会为保存的偏好设置为关闭的会话打开,`↯` 图标和 `Fast mode ON` 确认在激活时出现。在 v2.1.208 之前,快速模式在您切换回后保持关闭,直到您再次运行 `/fast`。

51 

50Opus 4.8 是 Claude Code v2.1.154 及更高版本中的快速模式默认值。在 v2.1.142 到 v2.1.153 版本中,快速模式默认为 Opus 4.7。52Opus 4.8 是 Claude Code v2.1.154 及更高版本中的快速模式默认值。在 v2.1.142 到 v2.1.153 版本中,快速模式默认为 Opus 4.7。

51 53 

52<h2 id="understand-the-cost-tradeoff">54<h2 id="understand-the-cost-tradeoff">


100快速模式需要以下所有条件:102快速模式需要以下所有条件:

101 103 

102* **仅限 Anthropic API 或订阅**:快速模式可通过 Anthropic 控制台 API 和使用使用额度的 Claude 订阅计划获得。它在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 AWS 上的 Claude Platform 上不可用。104* **仅限 Anthropic API 或订阅**:快速模式可通过 Anthropic 控制台 API 和使用使用额度的 Claude 订阅计划获得。它在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或 AWS 上的 Claude Platform 上不可用。

103* **启用使用额度**:您的账户必须启用使用额度,这允许在您的计划包含的使用量之外进行计费。对于个人账户,在您的[控制台计费设置](https://platform.claude.com/settings/organization/billing)中启用此功能。对于团队和企业,管理员必须为组织启用使用额度。105* **启用使用额度**:您的账户必须启用使用额度,这允许在您的计划包含的使用量之外进行计费。对于个人账户,在您的[控制台计费设置](https://platform.claude.com/settings/billing)中启用此功能。对于团队和企业,管理员必须为组织启用使用额度。

104 106 

105<Note>107<Note>

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

Details

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

28</h3>28</h3>

29 29 

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

31 31 

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

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


36* [Checkpoints](/zh-CN/checkpointing)、[sandboxing](/zh-CN/sandboxing) 和 [Workflows](/zh-CN/workflows)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)37* [OpenTelemetry metrics](/zh-CN/monitoring-usage) 和[托管设置文件](/zh-CN/settings#settings-files)

38 38 

39这三个有提供商特定的差异:

40 

41* **MCP servers**:[来自 claude.ai 的连接器](/zh-CN/mcp#use-mcp-servers-from-claude-ai)仅在您的 claude.ai 订阅是活跃身份验证方法时加载,[工具搜索](/zh-CN/mcp#configure-tool-search)在 Google Cloud's Agent Platform 上和当 `ANTHROPIC_BASE_URL` 指向非第一方主机时默认关闭

42* **Subagents**:内置的 [Explore subagent](/zh-CN/sub-agents#built-in-subagents) 在 Claude API 上将其继承的模型限制为 Opus,在任何其他提供商(包括 Claude Platform on AWS)上直接继承主对话的模型

43* **[Commands](/zh-CN/commands#all-commands)**:`/design-sync` 和 `/radio` 在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上不可用,`/voice` 需要 claude.ai 账户

44 

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

40 需要 Claude 订阅的功能46 需要 Claude 订阅的功能

41</h3>47</h3>


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

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

55 61 

56Desktop 是部分例外:Enterprise 部署可以通过[托管设置](https://support.claude.com/en/articles/12622667-enterprise-configuration)将 Desktop 路由到 Google Cloud's Agent Platform 或网关提供商,[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) 在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡。有关这些功能的按计划可用性,请参阅[按订阅计划的可用性](#availability-by-subscription-plan)。62Desktop 是部分例外:[网关路由可以在应用中或由管理员配置](/zh-CN/llm-gateway-connect#desktop-app),Enterprise 部署可以通过[托管设置](https://claude.com/docs/third-party/claude-desktop/configuration)将 Desktop 路由到 Google Cloud's Agent Platform 或网关提供商,[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) 在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡。有关这些功能的按计划可用性,请参阅[按订阅计划的可用性](#availability-by-subscription-plan)。

57 63 

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

59 按提供商变化的 CLI 功能65 按提供商变化的 CLI 功能


81 <td>✓</td>87 <td>✓</td>

82 <td>✗</td>88 <td>✗</td>

83 <td>✓</td>89 <td>✓</td>

84 <td>See note <sup><a href="#fn1">1</a></sup></td>90 <td>参见注释 <sup><a href="#fn1">1</a></sup></td>

85 <td>✓</td>91 <td>✓</td>

86 </tr>92 </tr>

87 93 


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

100 <td>✓</td>106 <td>✓</td>

101 <td>✓</td>107 <td>✓</td>

102 <td>See note <sup><a href="#fn2">2</a></sup></td>108 <td>参见注释 <sup><a href="#fn2">2</a></sup></td>

103 <td>✓</td>109 <td>✓</td>

104 <td>See note <sup><a href="#fn2">2</a></sup></td>110 <td>参见注释 <sup><a href="#fn2">2</a></sup></td>

105 <td>See note <sup><a href="#fn2">2</a></sup></td>111 <td>参见注释 <sup><a href="#fn2">2</a></sup></td>

106 </tr>112 </tr>

107 113 

108 <tr>114 <tr>


126 </tr>132 </tr>

127 133 

128 <tr>134 <tr>

129 <td>[`/loop` scheduled tasks](/zh-CN/scheduled-tasks)</td>135 <td>[`/loop` 计划任务](/zh-CN/scheduled-tasks)</td>

130 <td>✓</td>136 <td>✓</td>

131 <td>✓</td>137 <td>✓</td>

132 <td>See note <sup><a href="#fn3">3</a></sup></td>138 <td>参见注释 <sup><a href="#fn3">3</a></sup></td>

133 <td></td>139 <td>参见注释 <sup><a href="#fn3">3</a></sup></td>

134 <td>See note <sup><a href="#fn3">3</a></sup></td>140 <td>参见注释 <sup><a href="#fn3">3</a></sup></td>

135 <td>See note <sup><a href="#fn3">3</a></sup></td>141 <td>参见注释 <sup><a href="#fn3">3</a></sup></td>

136 </tr>142 </tr>

137 143 

138 <tr>144 <tr>


200</table>206</table>

201 207 

202<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> 在 Google Cloud's Agent Platform 上,web search 适用于 Claude 4 及更高版本的模型。<br />208<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> 在 Google Cloud's Agent Platform 上,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 />209<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> 在这些提供商上,auto mode 仅支持 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。请参阅 [Auto mode 配置](/zh-CN/auto-mode-config)。{/* min-version: 2.1.207 */}在 v2.1.158 到 v2.1.206 中,这些提供商上的 auto mode 还需要设置 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`;v2.1.207 移除了该要求。<br />

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

205<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> 受您与云提供商的协议约束。<br />211<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 组织。212<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 213 


213 按提供商汇总219 按提供商汇总

214</h3>220</h3>

215 221 

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

217 223 

218<Tabs>224<Tabs>

219 <Tab title="Amazon Bedrock">225 <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)。226 **不可用:** 所有[需要 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) 和 [`/design-sync` 和 `/radio` 命令](/zh-CN/commands#all-commands)

221 227 

222 **部分支持:**228 **部分支持:**

223 229 

224 * [Desktop](/zh-CN/desktop):仅通过 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)230 * [Desktop](/zh-CN/desktop):仅通过 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

225 * [Auto mode](/zh-CN/auto-mode-config):设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`231 * [Auto mode](/zh-CN/auto-mode-config): Sonnet 5、Opus 4.7 和 Opus 4.8

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

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

228 234 


230 </Tab>236 </Tab>

231 237 

232 <Tab title="Claude Platform on AWS">238 <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)。239 **不可用:** 所有[需要 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) 和 [`/design-sync` 和 `/radio` 命令](/zh-CN/commands#all-commands)

240 

241 **Amazon Bedrock 不可用的地方可用:** [web search](/zh-CN/tools-reference#websearch-tool-behavior)。

234 242 

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)。243 **部分支持:**

244 

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

236 246 

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

238 </Tab>248 </Tab>

239 249 

240 <Tab title="Google Cloud's Agent Platform">250 <Tab title="Google Cloud's Agent Platform">

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)。251 **不可用:** 所有[需要 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) 和 [`/design-sync` 和 `/radio` 命令](/zh-CN/commands#all-commands)

242 252 

243 **部分支持:**253 **部分支持:**

244 254 

245 * [Desktop](/zh-CN/desktop):通过[托管设置](https://support.claude.com/en/articles/12622667-enterprise-configuration)或 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)255 * [Desktop](/zh-CN/desktop):通过[托管设置](https://claude.com/docs/third-party/claude-desktop/configuration)或 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

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

247 * [Auto mode](/zh-CN/auto-mode-config):设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`257 * [Auto mode](/zh-CN/auto-mode-config): Sonnet 5、Opus 4.7 和 Opus 4.8

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

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

250 260 


252 </Tab>262 </Tab>

253 263 

254 <Tab title="Microsoft Foundry">264 <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)。265 **不可用:** 所有[需要 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) 和 [`/design-sync` 和 `/radio` 命令](/zh-CN/commands#all-commands)

256 266 

257 **部分支持:**267 **部分支持:**

258 268 

259 * [Desktop](/zh-CN/desktop):仅通过 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)269 * [Desktop](/zh-CN/desktop):仅通过 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

260 * [Auto mode](/zh-CN/auto-mode-config):设置 `CLAUDE_CODE_ENABLE_AUTO_MODE`270 * [Auto mode](/zh-CN/auto-mode-config): Sonnet 5、Opus 4.7 和 Opus 4.8

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

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

263 273 


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

279 289 

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

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

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

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

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


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

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

294| SCIM | ✗ | ✗ | ✗ | ✓ |304| SCIM | ✗ | ✗ | ✗ | ✓ |

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

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

297 307 

298<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 />308<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 />

Details

73 比较相似的功能73 比较相似的功能

74</h3>74</h3>

75 75 

76某些功能可能看起来相似。以下是如何区分它们。76某些功能可能看起来相似。有关选择它们之间的更深入演练,请参阅博客上的 [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more)。以下是如何区分它们。

77 77 

78<Tabs>78<Tabs>

79 <Tab title="Skill vs Subagent">79 <Tab title="Skill vs Subagent">

fullscreen.md +20 −5

Details

7> 启用更流畅、无闪烁的渲染模式,支持鼠标操作,在长对话中保持稳定的内存使用。7> 启用更流畅、无闪烁的渲染模式,支持鼠标操作,在长对话中保持稳定的内存使用。

8 8 

9<Note>9<Note>

10 全屏渲染是一个可选的[研究预览](#research-preview)功能。在当前对话中运行 `/tui fullscreen` 来切换,或在 v2.1.110 之前的版本上设置 `CLAUDE_CODE_NO_FLICKER=1`。行为可能会根据反馈而改变。10 全屏渲染是一个可选的[研究预览](#research-preview)功能。在当前对话中运行 `/tui fullscreen` 来切换。行为可能会根据反馈而改变。

11</Note>11</Note>

12 12 

13全屏渲染是 Claude Code CLI 的一种替代渲染路径,它消除了闪烁,在长对话中保持内存使用量平稳,并添加了鼠标支持。它在终端的备用屏幕缓冲区上绘制界面,就像 `vim` 或 `htop` 一样,并且只渲染当前可见的消息。这减少了每次更新时发送到终端的数据量。13全屏渲染是 Claude Code CLI 的一种替代渲染路径,它消除了闪烁,在长对话中保持内存使用量平稳,并添加了鼠标支持。它在终端的备用屏幕缓冲区上绘制界面,就像 `vim` 或 `htop` 一样,并且只渲染当前可见的消息。这减少了每次更新时发送到终端的数据量。


24 24 

25在任何 Claude Code 对话中运行 `/tui fullscreen`。CLI 会保存 [`tui` 设置](/zh-CN/settings#available-settings)并以您的对话完整地重新启动到全屏模式,因此您可以在会话中途切换而不会丢失上下文。运行 `/tui default` 来切换回经典渲染器,或运行不带参数的 `/tui` 来打印当前活动的渲染器。25在任何 Claude Code 对话中运行 `/tui fullscreen`。CLI 会保存 [`tui` 设置](/zh-CN/settings#available-settings)并以您的对话完整地重新启动到全屏模式,因此您可以在会话中途切换而不会丢失上下文。运行 `/tui default` 来切换回经典渲染器,或运行不带参数的 `/tui` 来打印当前活动的渲染器。

26 26 

27重新启动的会话会保持对话在屏幕上显示的样子。如果您在会话早期运行过 [`/rewind`](/zh-CN/checkpointing#rewind-and-summarize),重新启动会从倒带点而不是保存在磁盘上的较长记录中恢复。在 v2.1.207 之前,在倒带后切换渲染器会恢复倒带已删除的对话。

28 

27您也可以在启动 Claude Code 之前设置 `CLAUDE_CODE_NO_FLICKER` 环境变量:29您也可以在启动 Claude Code 之前设置 `CLAUDE_CODE_NO_FLICKER` 环境变量:

28 30 

29```bash theme={null}31```bash theme={null}


57* **在提示输入框中点击**以在您正在输入的文本中的任何位置放置光标。59* **在提示输入框中点击**以在您正在输入的文本中的任何位置放置光标。

58* **点击 `/` 命令或 `@` 文件列表中的建议**以接受它。悬停会突出显示光标下的行。60* **点击 `/` 命令或 `@` 文件列表中的建议**以接受它。悬停会突出显示光标下的行。

59* **点击选择菜单中的选项**以选择它。这涵盖权限提示、`/model`、`/config` 和其他显示选项列表的对话框。悬停会在光标下的行上显示指针。{/* min-version: 2.1.187 */}需要 Claude Code v2.1.187 或更高版本。61* **点击选择菜单中的选项**以选择它。这涵盖权限提示、`/model`、`/config` 和其他显示选项列表的对话框。悬停会在光标下的行上显示指针。{/* min-version: 2.1.187 */}需要 Claude Code v2.1.187 或更高版本。

62* **点击多选菜单中的选项**以切换它,然后点击提交按钮以确认您的选择。点击自由文本行(例如多选题中的 `Other` 行)会聚焦其输入字段,以便您可以输入答案。{/* min-version: 2.1.208 */}需要 Claude Code v2.1.208 或更高版本。

60* **点击折叠的工具结果**以展开它并查看完整输出。再次点击以折叠。工具调用及其结果一起展开。只有有更多内容要显示的消息才可点击。63* **点击折叠的工具结果**以展开它并查看完整输出。再次点击以折叠。工具调用及其结果一起展开。只有有更多内容要显示的消息才可点击。

61* **在 macOS 上按住 `Cmd`,或在 Linux 和 Windows 上按住 `Ctrl`,然后点击 URL 或文件路径**以打开它。工具输出中的文件路径,如 Edit 或 Write 后打印的路径,在您的默认应用程序中打开。纯 `http://` 和 `https://` URL 在您的浏览器中打开。{/* min-version: 2.1.181 */}从 v2.1.181 开始,不按住 `Cmd` 或 `Ctrl` 的纯点击不再打开链接,与原生终端行为相匹配。某些 macOS 终端将 `Cmd`+点击转发给正在运行的应用程序,而不是由终端本身打开链接,终端鼠标协议无法编码 `Cmd` 键,因此 Claude Code 将其接收为纯点击。在 Ghostty 中,以及{/* min-version: 2.1.198 */}从 v2.1.198 开始在 macOS 上的 Warp 中,Claude Code 检测到这一点并让纯点击打开链接,按住 `Cmd` 仍然有效。在 VS Code 集成终端和类似的基于 xterm.js 的终端中,Claude Code 遵从终端自己的链接处理程序,该处理程序使用相同的手势。64* **在 macOS 上按住 `Cmd`,或在 Linux 和 Windows 上按住 `Ctrl`,然后点击 URL 或文件路径**以打开它。工具输出中的文件路径,如 Edit 或 Write 后打印的路径,在您的默认应用程序中打开。纯 `http://` 和 `https://` URL 在您的浏览器中打开。{/* min-version: 2.1.181 */}从 v2.1.181 开始,不按住 `Cmd` 或 `Ctrl` 的纯点击不再打开链接,与原生终端行为相匹配。某些 macOS 终端将 `Cmd`+点击转发给正在运行的应用程序,而不是由终端本身打开链接,终端鼠标协议无法编码 `Cmd` 键,因此 Claude Code 将其接收为纯点击。在 Ghostty 中,以及{/* min-version: 2.1.198 */}从 v2.1.198 开始在 macOS 上的 Warp 中,Claude Code 检测到这一点并让纯点击打开链接,按住 `Cmd` 仍然有效。在 VS Code 集成终端和类似的基于 xterm.js 的终端中,Claude Code 遵从终端自己的链接处理程序,该处理程序使用相同的手势。

62* **点击并拖动**以在对话中的任何位置选择文本。双击选择一个单词,匹配 iTerm2 的单词边界,以便文件路径作为一个单位选择。{/* min-version: 2.1.198 */}从 v2.1.198 开始,双击 URL 会选择整个 URL,包括方案。三击选择该行。65* **点击并拖动**以在对话中的任何位置选择文本。双击选择一个单词,匹配 iTerm2 的单词边界,以便文件路径作为一个单位选择。{/* min-version: 2.1.198 */}从 v2.1.198 开始,双击 URL 会选择整个 URL,包括方案。三击选择该行。


81| `Ctrl+End` | 跳到最新消息并重新启用自动跟随 |84| `Ctrl+End` | 跳到最新消息并重新启用自动跟随 |

82| 鼠标滚轮 | 一次滚动几行 |85| 鼠标滚轮 | 一次滚动几行 |

83 86 

84在没有专用 `PgUp`、`PgDn`、`Home` 或 `End` 键的键盘上,如 MacBook 键盘,按住 `Fn` 并使用箭头键:`Fn+↑` 发送 `PgUp`,`Fn+↓` 发送 `PgDn`,`Fn+←` 发送 `Home`,`Fn+→` 发送 `End`。这使得 `Ctrl+Fn+→` 成为跳到底部的快捷键。如果这感觉很尴尬,用鼠标滚轮滚动到底部以恢复跟随或将 `scroll:bottom` 重新绑定到可达到的东西87在没有专用 `PgUp`、`PgDn`、`Home` 或 `End` 键的键盘上,如 MacBook 键盘,按住 `Fn` 并使用箭头键:`Fn+↑` 发送 `PgUp`,`Fn+↓` 发送 `PgDn`,`Fn+←` 发送 `Home`,`Fn+→` 发送 `End`。`Ctrl+Fn+→` 在 macOS 上无法到达 Claude Code因此 MacBook 键盘默认没有可用的跳到底部快捷键相反,使用以下选项之一:

88 

89* 点击[跳到底部按钮](#auto-follow)。

90* 用鼠标滚轮滚动到底部以恢复跟随。

91* 将 `scroll:bottom` 重新绑定到您的键盘可以发送的快捷键。

85 92 

86这些操作是可重新绑定的。请参阅[滚动操作](/zh-CN/keybindings#scroll-actions)以获取完整的操作名称列表,包括没有默认绑定的半页和全页变体。93这些操作是可重新绑定的。请参阅[滚动操作](/zh-CN/keybindings#scroll-actions)以获取完整的操作名称列表,包括没有默认绑定的半页和全页变体。

87 94 


89 自动跟随96 自动跟随

90</h3>97</h3>

91 98 

92向上滚动会暂停自动跟随,以便新输出不会将您拉回底部。按 `Ctrl+End` 或滚动到底部以恢复跟随。99向上滚动会暂停自动跟随,以便新输出不会将您拉回底部。当您向上滚动时,一个`跳到底部`按钮会浮动在记录的底部边缘,当新输出到达时显示计数,如`3 条新消息`。点击它、按 `Ctrl+End` 或滚动到底部以恢复跟随。

100 

101自动跟随暂停时,当响应完成流式传输时,视图也会保持在您滚动到的位置。在 v2.1.207 之前,当长响应完成流式传输时,视图可能会跳到答案开始之上。

102 

103按钮的键盘提示反映您的键盘可以发送的内容。在 macOS 上,它建议点击或 `Fn+↓` 来滚动,因为 `Ctrl+End` 无法从 Mac 键盘到达 Claude Code。重新绑定 [`scroll:bottom`](/zh-CN/keybindings#scroll-actions),按钮会在每个平台上显示您的快捷键。在 v2.1.206 之前,按钮在 macOS 上建议 `Ctrl+End`。

104 

105在太窄而无法容纳完整标签的终端上,按钮会缩短提示而不是换行到记录行下方。在 v2.1.206 之前,长标签可能会换行覆盖记录。

93 106 

94要完全关闭自动跟随,以便视图保持在您离开的位置,请打开 `/config` 并将自动滚动设置为关闭。禁用自动滚动后,视图永远不会自动跳到底部。权限提示和其他需要响应的对话框仍然会滚动到视图中,无论此设置如何。107要完全关闭自动跟随,以便视图保持在您离开的位置,请打开 `/config` 并将自动滚动设置为关闭。禁用自动滚动后,视图永远不会自动跳到底部。权限提示和其他需要响应的对话框仍然会滚动到视图中,无论此设置如何。

95 108 


109 122 

110值 `3` 与 `vim` 和类似应用程序中的默认值匹配。该设置接受 1 到 20 的值,以及 1 以下的分数值,如 `0.5`,以减缓已经放大滚轮事件的终端中加速的触控板和滚轮滚动。123值 `3` 与 `vim` 和类似应用程序中的默认值匹配。该设置接受 1 到 20 的值,以及 1 以下的分数值,如 `0.5`,以减缓已经放大滚轮事件的终端中加速的触控板和滚轮滚动。

111 124 

112要交互式地调整滚动速度,请运行 `/scroll-speed`。该对话框显示一个标尺,您可以在其打开时滚动,以便您可以立即感受到变化。按 `←` 和 `→` 来调整,按 `r` 重置为自动检测的默认值,按 `Enter` 保存。该命令写入与 `CLAUDE_CODE_SCROLL_SPEED` 环境变量设置相同的值,持久化到 `~/.claude/settings.json`。该命令在 JetBrains IDE 终端中不可用。125要交互式地调整滚动速度,请运行 `/scroll-speed`。该对话框显示一个标尺,您可以在其打开时滚动,以便您可以立即感受到变化。按 `←` 和 `→` 来调整,按 `r` 重置为自动检测的默认值,按 `Enter` 保存。

126 

127该命令写入与 `CLAUDE_CODE_SCROLL_SPEED` 环境变量设置相同的值,持久化到 `~/.claude/settings.json`。该命令在 JetBrains IDE 终端中不可用。

113 128 

114除了基础速度外,Claude Code 还会在您快速旋转滚轮时加速滚动速率,因此快速旋转覆盖的距离比相同数量的慢凹口更远。要关闭加速并保持每个凹口的恒定速率,请在 [`settings.json`](/zh-CN/settings#available-settings) 中将 `wheelScrollAccelerationEnabled` 设置为 `false`。此设置需要 Claude Code v2.1.174 或更高版本。129除了基础速度外,Claude Code 还会在您快速旋转滚轮时加速滚动速率,因此快速旋转覆盖的距离比相同数量的慢凹口更远。{/* min-version: 2.1.174 */}要关闭加速并保持每个凹口的恒定速率,请在 [`settings.json`](/zh-CN/settings#available-settings) 中将 `wheelScrollAccelerationEnabled` 设置为 `false`。此设置需要 Claude Code v2.1.174 或更高版本。

115 130 

116<h3 id="scroll-in-the-jetbrains-ide-terminal">131<h3 id="scroll-in-the-jetbrains-ide-terminal">

117 JetBrains IDE 终端中的滚动132 JetBrains IDE 终端中的滚动

gateways.md +1 −1

Details

74 74 

75* **哪个模型回答**:使用 `/model` 命令或 [模型环境变量](/zh-CN/model-config#setting-your-model) 选择模型。网关决定请求去向,而不是开发人员选择的模型。Claude 应用网关可以使用每个组的 `availableModels` 允许列表限制选择,但开发人员仍在其中选择。75* **哪个模型回答**:使用 `/model` 命令或 [模型环境变量](/zh-CN/model-config#setting-your-model) 选择模型。网关决定请求去向,而不是开发人员选择的模型。Claude 应用网关可以使用每个组的 `availableModels` 允许列表限制选择,但开发人员仍在其中选择。

76* **其他网络流量**:Claude Code 本身将版本检查和下载直接发送到 Anthropic,与网关路径分开。可选的客户端遥测流是否也在取决于您的提供商;[遥测默认值表](/zh-CN/data-usage#telemetry-services) 涵盖每种情况。在已登录的 Claude 应用网关会话上,网关凭证禁用 Anthropic 绑定的分析,当 [配置遥测转发](/zh-CN/claude-apps-gateway-config#telemetry) 时,将 OTLP 导出固定到网关。您的网络仍需要出口到 [必需的域](/zh-CN/network-config),或设置 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/zh-CN/env-vars) 以关闭可选流。76* **其他网络流量**:Claude Code 本身将版本检查和下载直接发送到 Anthropic,与网关路径分开。可选的客户端遥测流是否也在取决于您的提供商;[遥测默认值表](/zh-CN/data-usage#telemetry-services) 涵盖每种情况。在已登录的 Claude 应用网关会话上,网关凭证禁用 Anthropic 绑定的分析,当 [配置遥测转发](/zh-CN/claude-apps-gateway-config#telemetry) 时,将 OTLP 导出固定到网关。您的网络仍需要出口到 [必需的域](/zh-CN/network-config),或设置 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/zh-CN/env-vars) 以关闭可选流。

77* **企业 HTTP 代理**:`HTTPS_PROXY` 位于 Claude Code 和它与之通信的每个服务器之间,包括网关。如果您的网络需要一个,[配置代理](/zh-CN/network-config) 以及网关。对于 Claude 应用网关,[登录检查代理主机也在私有网络上](/zh-CN/claude-apps-gateway#prerequisites);如果不是,将网关主机添加到 `NO_PROXY`,以便 CLI 直接连接到它。77* **企业 HTTP 代理**:`HTTPS_PROXY` 位于 Claude Code 和它与之通信的每个服务器之间,包括网关。如果您的网络需要一个,[配置代理](/zh-CN/network-config) 以及网关。对于您托管的 Claude 应用网关,[登录检查代理主机也在私有网络上](/zh-CN/claude-apps-gateway#prerequisites);如果不是,将网关主机添加到 `NO_PROXY`,以便 CLI 直接连接到它。

78 78 

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

80 Next steps80 Next steps

glossary.md +3 −3

Details

48 Artifact48 Artifact

49</h3>49</h3>

50 50 

51Claude Code 从您的会话发布到 claude.ai 上私有 URL 的实时交互式网页,因此您可以直观地查看输出或在您的组织内共享,而不是阅读终端文本。当会话重新发布时,页面会就地更新。您从 Claude Code 创建的 Artifacts 出现在与 claude.ai 对话中创建的 artifacts 相同的库中,但它们的共享仅限于您的组织无法公开51Claude Code 从您的会话发布到 claude.ai 上私有 URL 的实时交互式网页,因此您可以直观地查看输出或共享它,而不是阅读终端文本。当会话重新发布时,页面会就地更新。您从 Claude Code 创建的 Artifacts 出现在与 claude.ai 对话中创建的 artifacts 相同的库中。共享取决于您的计划:在 Pro 和 Max 上任何人都可以打开的公开链接;在 Team 和 Enterprise 上在您的组织内共享,以及一旦所有者启用它们就可以公开链接

52 52 

53了解更多:[将会话输出共享为 artifacts](/zh-CN/artifacts)53了解更多:[将会话输出共享为 artifacts](/zh-CN/artifacts)

54 54 


262 262 

263会话的基线批准行为。在 CLI 中使用 `Shift+Tab` 循环或在 VS Code、Desktop 和 claude.ai 中使用模式选择器。可用模式为 `default`、`acceptEdits`、`plan`、`auto`、`dontAsk` 和 `bypassPermissions`。263会话的基线批准行为。在 CLI 中使用 `Shift+Tab` 循环或在 VS Code、Desktop 和 claude.ai 中使用模式选择器。可用模式为 `default`、`acceptEdits`、`plan`、`auto`、`dontAsk` 和 `bypassPermissions`。

264 264 

265`default` 模式在 CLI 中标记为 Manual,在 VS Code 和 JetBrains 扩展中也标记为 Manual,Claude Code 接受 `manual` 作为该值的别名。265`default` 模式在 CLI 中标记为 Manual,在 VS Code 和 JetBrains 扩展中也标记为 Manual,在桌面应用中也标记为 Manual,Claude Code 接受 `manual` 作为该值的别名。

266 266 

267了解更多:[选择权限模式](/zh-CN/permission-modes)267了解更多:[选择权限模式](/zh-CN/permission-modes)

268 268 


314 Remote Control314 Remote Control

315</h3>315</h3>

316 316 

317一种通过 claude.ai 从您的手机或浏览器继续本地 Claude Code 会话的方式。您的代码保留在您的机器上只有 UI 是远程的。与在 web 上运行的 Claude Code 不同,后者在云沙箱中运行。317一种通过 claude.ai 从您的手机或浏览器继续本地 Claude Code 会话的方式。您的代码执行和文件保留在您的机器上界面是远程的。与在 web 上运行的 Claude Code 不同,后者在云沙箱中运行。

318 318 

319了解更多:[Remote Control](/zh-CN/remote-control)319了解更多:[Remote Control](/zh-CN/remote-control)

320 320 

goal.md +4 −0

Details

57 57 

58设置目标会立即启动一个回合,条件本身作为指令。你不需要发送单独的提示。当目标活跃时,`◎ /goal active` 指示器显示目标已运行多长时间。58设置目标会立即启动一个回合,条件本身作为指令。你不需要发送单独的提示。当目标活跃时,`◎ /goal active` 指示器显示目标已运行多长时间。

59 59 

60目标不会改变权限。在默认权限模式下,Claude 在进行工具调用前仍会询问,这些工具调用是你的设置不允许的,例如上面的测试命令。要让目标回合无人值守地运行,请将 `/goal` 与[自动模式](/zh-CN/auto-mode-config)配对。

61 

60每个回合后,评估器返回一个简短的原因,解释条件是否满足。最近的原因出现在状态视图和记录中,所以你可以看到 Claude 接下来要朝着什么工作。62每个回合后,评估器返回一个简短的原因,解释条件是否满足。最近的原因出现在状态视图和记录中,所以你可以看到 Claude 接下来要朝着什么工作。

61 63 

62<Note>64<Note>


127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"129claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```130```

129 131 

132使用默认文本输出时,在条件满足之前不会打印任何内容,所以运行许多回合的目标可能看起来卡住了。添加 `--output-format stream-json --verbose` 以在循环运行时发出每条消息。

133 

130使用 Ctrl+C 中断进程以在条件满足之前停止非交互式目标。134使用 Ctrl+C 中断进程以在条件满足之前停止非交互式目标。

131 135 

132<h2 id="how-evaluation-works">136<h2 id="how-evaluation-works">

Details

112 </Step>112 </Step>

113</Steps>113</Steps>

114 114 

115登录后,您可以随时运行 `/setup-vertex` 来重新打开向导并更改您的凭证、项目、区域或模型固定。115登录后,您可以随时运行 `/setup-vertex` 来重新打开向导并更改您的凭证、项目、区域或模型固定。模型固定步骤从您当前固定的模型开始。向导会写入 `~/.claude/settings.json`,或在设置了 [`CLAUDE_CONFIG_DIR`](/zh-CN/env-vars#variables) 时写入 `$CLAUDE_CONFIG_DIR/settings.json`。

116 116 

117<h2 id="region-configuration">117<h2 id="region-configuration">

118 区域配置118 区域配置


223</h3>223</h3>

224 224 

225<Warning>225<Warning>

226 在部署到多个用户时固定特定的模型版本。如果不固定,模型别名(如 `sonnet` 和 `opus`)会解析为 Claude Code 的 Google Cloud 的 Agent Platform 内置默认值,该默认值可能滞后于最新版本,并且可能尚未在您的项目中启用。Claude Code 在启动时当默认值不可用时会[回退](#startup-model-checks)到之前的版本,但固定让您可以控制用户何时迁移到新模型。226 在部署到多个用户时固定特定的模型版本。如果不固定,模型别名(如 `sonnet` 和 `opus`)会解析为 Claude Code 的 Google Cloud 的 Agent Platform 内置默认值,该默认值可能滞后于最新版本,并且可能尚未在您的项目中启用。Claude Code 在启动时当默认值不可用时会[回退](#startup-model-checks)到之前的版本或更低级别的模型,但固定让您可以控制用户何时迁移到新模型。

227</Warning>227</Warning>

228 228 

229将这些环境变量设置为特定的 Google Cloud 的 Agent Platform 模型 ID。229将这些环境变量设置为特定的 Google Cloud 的 Agent Platform 模型 ID。

230 230 

231如果没有这些变量,Google Cloud 的 Agent Platform 上的 `opus` 别名会解析为 Opus 4.8,`sonnet` 别名会解析为 Sonnet 4.5。将每个变量设置为特定版本以固定其别名231如果没有 `ANTHROPIC_DEFAULT_OPUS_MODEL`,Google Cloud 的 Agent Platform 上的 `opus` 别名会解析为 Opus 4.8,如果没有 `ANTHROPIC_DEFAULT_SONNET_MODEL`,`sonnet` 别名会解析为 Sonnet 4.5。此示例将每个别名固定到特定版本

232 232 

233```bash theme={null}233```bash theme={null}

234export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'234export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'


241Claude Code 在未设置固定变量时使用这些默认模型:241Claude Code 在未设置固定变量时使用这些默认模型:

242 242 

243| 模型类型 | 默认值 |243| 模型类型 | 默认值 |

244| :------ | :---------------- |244| :------ | :--------------------------- |

245| 主模型 | `claude-opus-4-8` |245| 主模型 | `claude-opus-4-8` |

246| 小型/快速模型 | 与主模型相同 |246| 小型/快速模型 | `claude-sonnet-4-5@20250929` |

247 247 

248后台任务(如会话标题生成)使用小型/快速模型,通常是 Haiku 级别的模型。在 Google Cloud 的 Agent Platform 上,Claude Code 默认将其设置为主模型,因为 Haiku 可能不会在每个项目或区域中启用。要为后台任务使用 Haiku,请将 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 设置为在您的项目中可用的模型 ID。248后台任务(如会话标题生成)使用小型/快速模型,通常是 Haiku 级别的模型。在 Google Cloud 的 Agent Platform 上,Claude Code 为后台任务使用默认的 Sonnet 模型,因为 Haiku 可能不会在每个项目或区域中启用。两个选择会改变哪个模型执行这些任务:

249 

250* 当您使用 `--model`、`ANTHROPIC_MODEL` 或 `model` 设置选择主模型时,后台任务使用该模型。设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 而不设置 `ANTHROPIC_DEFAULT_SONNET_MODEL` 也算作一个选择,因为内置的 Sonnet 模型可能在引导自己的 Opus 的项目中未启用。

251* 要为后台任务使用 Haiku,请将 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 设置为在您的项目中可用的模型 ID。

252 

253<Warning>

254 Opus 模型的每个令牌价格高于 Sonnet 模型,因此不固定主模型的部署在更新到 v2.1.207 或更高版本后将按 Opus 费率计费。要将 Sonnet 4.5 保持为主模型,请将 `ANTHROPIC_MODEL` 设置为其完整模型 ID。使用 `ANTHROPIC_DEFAULT_SONNET_MODEL` 引导默认值且不设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 的部署会保持其引导的 Sonnet 模型作为默认值。

255</Warning>

256 

257{/* min-version: 2.1.207 */}在 v2.1.207 之前,Google Cloud 的 Agent Platform 上的主模型默认为 Sonnet 4.5,`opus` 别名解析为 Opus 4.6,后台任务始终使用主模型。

249 258 

250要进一步自定义模型:259要进一步自定义模型:

251 260 


262 271 

263如果您固定了一个比当前 Claude Code 默认值更旧的模型版本,并且您的项目可以调用较新版本,Claude Code 会提示您更新固定。接受会将新的模型 ID 写入您的[用户设置文件](/zh-CN/settings)并重启 Claude Code。拒绝会被记住,直到下一个默认版本更改。272如果您固定了一个比当前 Claude Code 默认值更旧的模型版本,并且您的项目可以调用较新版本,Claude Code 会提示您更新固定。接受会将新的模型 ID 写入您的[用户设置文件](/zh-CN/settings)并重启 Claude Code。拒绝会被记住,直到下一个默认版本更改。

264 273 

265如果您没有固定模型,并且当前默认值在您的项目中不可用,Claude Code 会在当前会话中回退到之前的版本并显示通知。回退不会被持久化。在 [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 中启用较新的模型或[固定一个版本](#5-pin-model-versions)以使选择永久化。274如果您没有固定模型,并且当前默认值在您的项目中不可用,Claude Code 会在当前会话中回退并显示通知它首先尝试默认模型的早期版本,当默认值是 Opus 模型且没有可用的 Opus 版本时,会回退到默认 Sonnet 模型。回退不会被持久化。在 [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) 中启用较新的模型或[固定一个版本](#5-pin-model-versions)以使选择永久化。

266 275 

267<h2 id="iam-configuration">276<h2 id="iam-configuration">

268 IAM 配置277 IAM 配置


286 1M token context window295 1M token context window

287</h2>296</h2>

288 297 

289Claude Sonnet 5、Opus 4.6 及更高版本以及 Sonnet 4.6 在 Google Cloud 的 Agent Platform 上支持 [1M token context window](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)。Sonnet 5 始终以 1M 窗口运行,没有 `[1m]` 变体可选择。对于其他模型,当您选择 1M 模型变体时,Claude Code 会自动启用扩展 context window。298Claude Sonnet 5、Opus 4.6 及更高版本以及 Sonnet 4.6 在 Google Cloud 的 Agent Platform 上支持 [1M token context window](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#context-window-sizes-by-model)。Sonnet 5 始终以 1M 窗口运行,没有 `[1m]` 变体可选择。对于其他模型,当您选择 1M 模型变体时,Claude Code 会自动启用扩展 context window。

290 299 

291[设置向导](#sign-in-with-agent-platform)在固定模型时提供 1M context 选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。有关详细信息,请参阅[为第三方部署固定模型](/zh-CN/model-config#pin-models-for-third-party-deployments)。300[设置向导](#sign-in-with-agent-platform)在固定模型时提供 1M context 选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。有关详细信息,请参阅[为第三方部署固定模型](/zh-CN/model-config#pin-models-for-third-party-deployments)。

292 301 

headless.md +9 −2

Details

163claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages163claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages

164```164```

165 165 

166流的最后一行是包含最终响应文本、成本和会话元数据的 `result` 消息。{/* min-version: 2.1.208 */}在 v2.1.208 之前,管道传输大型响应可能会截断最后一行并省略 `result` 消息。

167 

166以下示例使用 [jq](https://jqlang.github.io/jq/) 来过滤文本增量并仅显示流式文本。`-r` 标志输出原始字符串(无引号),`-j` 不带换行符连接,以便令牌连续流式传输:168以下示例使用 [jq](https://jqlang.github.io/jq/) 来过滤文本增量并仅显示流式文本。`-r` 标志输出原始字符串(无引号),`-j` 不带换行符连接,以便令牌连续流式传输:

167 169 

168```bash theme={null}170```bash theme={null}


184| `uuid` | 字符串 | 唯一事件标识符 |186| `uuid` | 字符串 | 唯一事件标识符 |

185| `session_id` | 字符串 | 事件所属的会话 |187| `session_id` | 字符串 | 事件所属的会话 |

186 188 

187`system/init` 事件报告会话元数据,包括模型、工具、MCP 服务器和加载的插件。它是流中的第一个事件,除非设置了 [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/zh-CN/env-vars),在这种情况下 `plugin_install` 事件在其之前。189`system/init` 事件报告会话元数据,包括模型、工具、MCP 服务器和加载的插件。它是流中的第一个事件,除非启动事件在其之前:

190 

191* `plugin_install` 事件,当设置了 [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/zh-CN/env-vars) 时。

192* {/* min-version: 2.1.204 */}[`hook_started`、`hook_progress` 和 `hook_response` 事件](/zh-CN/agent-sdk/typescript#sdkhookstartedmessage),当配置的 [`SessionStart`](/zh-CN/hooks#sessionstart) 或 [`Setup`](/zh-CN/hooks#setup) hook 运行时。这些事件在 hook 生成时流式传输。Claude Code v2.1.169 至 v2.1.203 在 hook 完成后以一个批次传递它们,仍然在 `system/init` 之前;v2.1.204 恢复了实时传递。

188 193 

189该事件还携带一个可选的 `capabilities` 字符串数组,命名此 Claude Code 版本实现的协议行为,例如 `interrupt_receipt_v1`。检查它以进行功能检测,而不是比较版本字符串,并忽略您不认识的值。该字段需要 Claude Code v2.1.205 或更高版本,在早期版本中不存在。有关功能列表,请参阅 [`SDKSystemMessage`](/zh-CN/agent-sdk/typescript#sdksystemmessage)。194该事件还携带一个可选的 `capabilities` 字符串数组,命名此 Claude Code 版本实现的协议行为,例如 `interrupt_receipt_v1`。检查它以进行功能检测,而不是比较版本字符串,并忽略您不认识的值。该字段需要 Claude Code v2.1.205 或更高版本,在早期版本中不存在。有关功能列表,请参阅 [`SDKSystemMessage`](/zh-CN/agent-sdk/typescript#sdksystemmessage)。

190 195 


220 --allowedTools "Bash,Read,Edit"225 --allowedTools "Bash,Read,Edit"

221```226```

222 227 

223要为整个会话设置基线而不是列出单个工具,请传递 [权限模式](/zh-CN/permission-modes)。`dontAsk` 拒绝您的 `permissions.allow` 规则或 [只读命令集](/zh-CN/permissions#read-only-commands) 中未包含的任何内容,这对于锁定的 CI 运行很有用。`acceptEdits` 让 Claude 写入文件而无需提示,还自动批准常见的文件系统命令,例如 `mkdir`、`touch`、`mv` `cp`。其他 shell 命令和网络请求仍然需要 `--allowedTools` 条目或 `permissions.allow` 规则,否则当尝试时运行会中止:228要为整个会话设置基线而不是列出单个工具,请传递 [权限模式](/zh-CN/permission-modes)。`dontAsk` 拒绝您的 `permissions.allow` 规则或 [只读命令集](/zh-CN/permissions#read-only-commands) 中未包含的任何内容,这对于锁定的 CI 运行很有用。`AskUserQuestion`、连接器工具 [您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) MCP 工具即使当允许规则匹配时也被拒绝。

229 

230`acceptEdits` 让 Claude 写入文件而无需提示,还自动批准常见的文件系统命令,例如 `mkdir`、`touch`、`mv` 和 `cp`。其他 shell 命令和网络请求仍然需要 `--allowedTools` 条目或 `permissions.allow` 规则,否则当尝试时运行会中止:

224 231 

225```bash theme={null}232```bash theme={null}

226claude -p "Apply the lint fixes" --permission-mode acceptEdits233claude -p "Apply the lint fixes" --permission-mode acceptEdits

hooks.md +19 −7

Details

404}404}

405```405```

406 406 

407两种形式都支持相同的[路径占位符](#reference-scripts-by-path),并且都将它们作为环境变量 `CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_ROOT` 和 `CLAUDE_PLUGIN_DATA` 导出到生成的进程上,因此脚本可以读取 `process.env.CLAUDE_PLUGIN_ROOT`,无论它是如何启动的。插件 hooks 另外替换 `${user_config.*}` 值;请参阅[用户配置](/zh-CN/plugins-reference#user-configuration)。407两种形式都支持相同的[路径占位符](#reference-scripts-by-path),并且都将它们作为环境变量 `CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_ROOT` 和 `CLAUDE_PLUGIN_DATA` 导出到生成的进程上,因此脚本可以读取 `process.env.CLAUDE_PLUGIN_ROOT`,无论它是如何启动的。

408 

409插件 hooks 另外替换 [`${user_config.*}`](/zh-CN/plugins-reference#user-configuration) 值,仅在 exec 形式中:该值被替换为 `command` 和每个 `args` 元素中的纯字符串,因此没有 shell 重新解析它。

410 

411一个 shell 形式的插件 hook,其 `command` 引用 `${user_config.*}` 会失败并出现[错误](/zh-CN/errors#plugin-command-references-user-config),而不是运行。要从 shell 形式的 hook 使用选项值,请读取 `$CLAUDE_PLUGIN_OPTION_<KEY>` 环境变量,例如 `webhook_url` 选项的 `$CLAUDE_PLUGIN_OPTION_WEBHOOK_URL`,或设置 `args` 以将 hook 切换到 exec 形式。在 v2.1.207 之前,shell 形式的插件 hook 命令也替换了 `${user_config.*}`。

408 412 

409<Note>413<Note>

410 在 exec 形式中,`command` 仅是可执行文件名或路径。如果 `command` 是没有路径分隔符的裸名称,并且与 `args` 一起包含空格,Claude Code 会记录警告,因为生成会失败:没有名为 `node script.js` 的可执行文件。将额外的令牌移到 `args` 中。包含空格的绝对路径,如 `C:\Program Files\nodejs\node.exe`,是单个有效的可执行文件,不会触发警告。414 在 exec 形式中,`command` 仅是可执行文件名或路径。如果 `command` 是没有路径分隔符的裸名称,并且与 `args` 一起包含空格,Claude Code 会记录警告,因为生成会失败:没有名为 `node script.js` 的可执行文件。将额外的令牌移到 `args` 中。包含空格的绝对路径,如 `C:\Program Files\nodejs\node.exe`,是单个有效的可执行文件,不会触发警告。


653| `agent_id` | Subagent 的唯一标识符。仅当 hook 在 subagent 调用内触发时存在。使用此来区分 subagent hook 调用和主线程调用。 |657| `agent_id` | Subagent 的唯一标识符。仅当 hook 在 subagent 调用内触发时存在。使用此来区分 subagent hook 调用和主线程调用。 |

654| `agent_type` | 代理名称(例如,`"Explore"` 或 `"security-reviewer"`)。当会话使用 `--agent` 或 hook 在 subagent 内触发时存在。对于 subagents,subagent 的类型优先于会话的 `--agent` 值。对于[自定义 subagents](/zh-CN/sub-agents),这是代理 frontmatter 中的 `name` 字段,而不是文件名。对于由[插件](/zh-CN/plugins)提供的 subagents,这是插件范围的标识符,例如 `my-plugin:reviewer`,而不是裸 frontmatter 名称。请参阅[SubagentStart](#subagentstart)了解如何针对插件范围的名称编写匹配器。 |658| `agent_type` | 代理名称(例如,`"Explore"` 或 `"security-reviewer"`)。当会话使用 `--agent` 或 hook 在 subagent 内触发时存在。对于 subagents,subagent 的类型优先于会话的 `--agent` 值。对于[自定义 subagents](/zh-CN/sub-agents),这是代理 frontmatter 中的 `name` 字段,而不是文件名。对于由[插件](/zh-CN/plugins)提供的 subagents,这是插件范围的标识符,例如 `my-plugin:reviewer`,而不是裸 frontmatter 名称。请参阅[SubagentStart](#subagentstart)了解如何针对插件范围的名称编写匹配器。 |

655 659 

656仅[`SessionStart`](#sessionstart) hooks 可以接收 `model` 字段,且不保证存在。没有 `$CLAUDE_MODEL` 环境变量。Hook 进程继承父环境,因此如果您在 shell 中设置了 `$ANTHROPIC_MODEL`,它可以读取该值,但当您在会话期间使用 `/model` 切换模型时,该值不会改变。660仅[`SessionStart`](#sessionstart) hooks 可以接收 `model` 字段,且不保证存在。没有 `$CLAUDE_MODEL` 环境变量。Hook 进程继承父环境,因此如果您在 shell 中设置了 `$ANTHROPIC_MODEL`,它可以读取该值,但当您在会话期间使用 `/model` 切换模型时,该值不会改变。一组变量不被继承:Claude Code [从它生成的每个子进程中删除 `OTEL_*` 导出器变量](/zh-CN/monitoring-usage#administrator-configuration),包括 hooks。

657 661 

658例如,Bash 命令的 `PreToolUse` hook 在 stdin 上接收:662例如,Bash 命令的 `PreToolUse` hook 在 stdin 上接收:

659 663 


1184 1188 

1185达到超时的 `UserPromptSubmit` hook 被取消,其输出(包括任何 `additionalContext`)被丢弃。提示仍然到达 Claude,但没有该上下文。从 v2.1.196 开始,成绩单显示一个通知,命名 hook、触发的超时以及输出被丢弃。早期版本取消 hook 而不显示通知。1189达到超时的 `UserPromptSubmit` hook 被取消,其输出(包括任何 `additionalContext`)被丢弃。提示仍然到达 Claude,但没有该上下文。从 v2.1.196 开始,成绩单显示一个通知,命名 hook、触发的超时以及输出被丢弃。早期版本取消 hook 而不显示通知。

1186 1190 

1191在 `UserPromptSubmit` 上达到超时的[Agent SDK 回调 hook](/zh-CN/agent-sdk/hooks)会用命名 hook 和超时的消息阻止提示,因为那里的回调可能充当必须不失败打开的策略门。会话继续。在 v2.1.208 之前,该事件上的回调超时以执行错误结束轮次。

1192 

1187<h4 id="userpromptsubmit-input">1193<h4 id="userpromptsubmit-input">

1188 UserPromptSubmit 输入1194 UserPromptSubmit 输入

1189</h4>1195</h4>


1455执行 shell 命令。1461执行 shell 命令。

1456 1462 

1457| 字段 | 类型 | 示例 | 描述 |1463| 字段 | 类型 | 示例 | 描述 |

1458| :------------------ | :------ | :----------------- | :------------ |1464| :------------------ | :------ | :----------------- | :------------------------------------------------------------------------- |

1459| `command` | string | `"npm test"` | 要执行的 shell 命令 |1465| `command` | string | `"npm test"` | 要执行的 shell 命令 |

1460| `description` | string | `"Run test suite"` | 命令执行操作的可选描述 |1466| `description` | string | `"Run test suite"` | 命令执行操作的可选描述 |

1461| `timeout` | number | `120000` | 可选超时(毫秒) |1467| `timeout` | number | `120000` | 可选超时(毫秒)。高于[最大值](/zh-CN/tools-reference#bash-tool-behavior)的值被减少到最大值而不是被拒绝 |

1462| `run_in_background` | boolean | `false` | 是否在后台运行命令 |1468| `run_in_background` | boolean | `false` | 是否在后台运行命令 |

1463 1469 

1464<h5 id="write">1470<h5 id="write">


1610`PreToolUse` hooks 可以控制工具调用是否继续。与使用顶级 `decision` 字段的其他 hooks 不同,PreToolUse 在 `hookSpecificOutput` 对象内返回其决定。这给了它更丰富的控制:四个结果(允许、拒绝、询问或延迟)加上在执行前修改工具输入的能力。1616`PreToolUse` hooks 可以控制工具调用是否继续。与使用顶级 `decision` 字段的其他 hooks 不同,PreToolUse 在 `hookSpecificOutput` 对象内返回其决定。这给了它更丰富的控制:四个结果(允许、拒绝、询问或延迟)加上在执行前修改工具输入的能力。

1611 1617 

1612| 字段 | 描述 |1618| 字段 | 描述 |

1613| :------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1619| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1614| `permissionDecision` | `"allow"` 绕过权限提示,除了[需要用户交互的工具](#pretooluse-decision-control)。`"deny"` 防止工具调用。`"ask"` 提示用户确认。`"defer"` 优雅地退出,以便工具稍后可以恢复。[拒绝和询问规则](/zh-CN/permissions#manage-permissions)在 hook 返回什么时仍然被评估 |1620| `permissionDecision` | `"allow"` 绕过权限提示,除了[需要用户交互的工具](#pretooluse-decision-control)和连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)。`"deny"` 防止工具调用。`"ask"` 提示用户确认。`"defer"` 优雅地退出,以便工具稍后可以恢复。[拒绝和询问规则](/zh-CN/permissions#manage-permissions)在 hook 返回什么时仍然被评估 |

1615| `permissionDecisionReason` | 对于 `"allow"` 和 `"ask"`,向用户显示但不向 Claude 显示。对于 `"deny"`,向 Claude 显示。对于 `"defer"`,被忽略 |1621| `permissionDecisionReason` | 对于 `"allow"` 和 `"ask"`,向用户显示但不向 Claude 显示。对于 `"deny"`,向 Claude 显示。对于 `"defer"`,被忽略 |

1616| `updatedInput` | 在执行前修改工具的输入参数。替换整个输入对象,因此包括未修改的字段以及修改后的字段。与 `"allow"` 结合以自动批准,或与 `"ask"` 结合以向用户显示修改后的输入。对于 `"defer"`,被忽略 |1622| `updatedInput` | 在执行前修改工具的输入参数。替换整个输入对象,因此包括未修改的字段以及修改后的字段。与 `"allow"` 结合以自动批准,或与 `"ask"` 结合以向用户显示修改后的输入。对于 `"defer"`,被忽略 |

1617| `additionalContext` | 在工具执行前添加到 Claude 上下文的字符串。对于 `"defer"`,被忽略。请参阅[为 Claude 添加上下文](#add-context-for-claude) |1623| `additionalContext` | 在工具执行前添加到 Claude 上下文的字符串。对于 `"defer"`,被忽略。请参阅[为 Claude 添加上下文](#add-context-for-claude) |


1636 1642 

1637`AskUserQuestion` 和 `ExitPlanMode` 需要用户交互,通常在[非交互模式](/zh-CN/headless)中使用 `-p` 标志时阻止。返回 `permissionDecision: "allow"` 以及 `updatedInput` 满足该要求:hook 从 stdin 读取工具的输入,通过您自己的 UI 收集答案,并在 `updatedInput` 中返回它,以便工具运行而不提示。仅返回 `"allow"` 对这些工具不足够。对于 `AskUserQuestion`,回显原始 `questions` 数组并添加一个[`answers`](#askuserquestion)对象,将每个问题的文本映射到选定的答案。1643`AskUserQuestion` 和 `ExitPlanMode` 需要用户交互,通常在[非交互模式](/zh-CN/headless)中使用 `-p` 标志时阻止。返回 `permissionDecision: "allow"` 以及 `updatedInput` 满足该要求:hook 从 stdin 读取工具的输入,通过您自己的 UI 收集答案,并在 `updatedInput` 中返回它,以便工具运行而不提示。仅返回 `"allow"` 对这些工具不足够。对于 `AskUserQuestion`,回显原始 `questions` 数组并添加一个[`answers`](#askuserquestion)对象,将每个问题的文本映射到选定的答案。

1638 1644 

1645连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)即使 hook 返回 `"allow"` 也会提示。

1646 

1639从 v2.1.199 开始,一个 MCP 工具,其服务器用 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 标记它,更严格:hook 不能用 `"allow"` 跳过其批准提示,无论是否有 `updatedInput`,因为 Claude Code 无法确认 hook 收集了工具需要的交互。1647从 v2.1.199 开始,一个 MCP 工具,其服务器用 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 标记它,更严格:hook 不能用 `"allow"` 跳过其批准提示,无论是否有 `updatedInput`,因为 Claude Code 无法确认 hook 收集了工具需要的交互。

1640 1648 

1641<Note>1649<Note>


1857 PostToolUseFailure1865 PostToolUseFailure

1858</h3>1866</h3>

1859 1867 

1860当工具执行失败时运行。此事件对于抛出错误或返回失败结果的工具调用触发。使用此来记录失败、发送警报或向 Claude 提供纠正反馈。1868当工具执行失败时运行:工具抛出错误,或 MCP 工具返回错误结果。使用此来记录失败、发送警报或向 Claude 提供纠正反馈。

1861 1869 

1862在工具名称上匹配,与 PreToolUse 相同的值。1870在工具名称上匹配,与 PreToolUse 相同的值。

1863 1871 

1872<Note>

1873 此事件不对工具调用在执行前被拒绝时触发:未知工具名称、输入失败架构或工具特定验证,或权限拒绝。验证拒绝作为 `tool_use_error` 结果返回,在 hooks 运行之前发生,因此它们既不触发 `PreToolUse` 也不触发此事件。权限拒绝触发 `PreToolUse` 但不触发此事件;请参阅[PermissionDenied](#permissiondenied)。

1874</Note>

1875 

1864<h4 id="posttoolusefailure-input">1876<h4 id="posttoolusefailure-input">

1865 PostToolUseFailure 输入1877 PostToolUseFailure 输入

1866</h4>1878</h4>

hooks-guide.md +16 −5

Details

607 607 

608使用 `"deny"`,Claude Code 取消工具调用并将 `permissionDecisionReason` 反馈给 Claude。这些 `permissionDecision` 值特定于 `PreToolUse`:608使用 `"deny"`,Claude Code 取消工具调用并将 `permissionDecisionReason` 反馈给 Claude。这些 `permissionDecision` 值特定于 `PreToolUse`:

609 609 

610* `"allow"`:跳过交互式权限提示。拒绝和询问规则,包括企业托管拒绝列表,仍然适用610* `"allow"`:跳过交互式权限提示。拒绝和询问规则,包括企业托管拒绝列表,仍然适用,以及你的组织设置为 `ask` 的 [连接器工具](/zh-CN/mcp#organization-controls-on-connector-tools) 和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具

611* `"deny"`:取消工具调用并将原因发送给 Claude611* `"deny"`:取消工具调用并将原因发送给 Claude

612* `"ask"`:照常向用户显示权限提示612* `"ask"`:照常向用户显示权限提示

613 613 

614第四个值 `"defer"` 在 [非交互模式](/zh-CN/headless) 中使用 `-p` 标志时可用。它以保留的工具调用退出进程,以便 Agent SDK 包装器可以收集输入并恢复。请参阅参考中的 [延迟工具调用以供稍后使用](/zh-CN/hooks#defer-a-tool-call-for-later)。614第四个值 `"defer"` 在 [非交互模式](/zh-CN/headless) 中使用 `-p` 标志时可用。它以保留的工具调用退出进程,以便 Agent SDK 包装器可以收集输入并恢复。请参阅参考中的 [延迟工具调用以供稍后使用](/zh-CN/hooks#defer-a-tool-call-for-later)。

615 615 

616返回 `"allow"` 跳过交互式提示但不覆盖 [权限规则](/zh-CN/permissions#manage-permissions)。如果拒绝规则与工具调用匹配,即使你的 hook 返回 `"allow"`,调用也会被阻止。如果询问规则匹配,用户仍然会被提示。这意味着来自任何设置范围的拒绝规则,包括 [托管设置](/zh-CN/settings#settings-files),总是优先于 hook 批准。616返回 `"allow"` 跳过交互式提示但不覆盖 [权限规则](/zh-CN/permissions#manage-permissions)。如果拒绝规则与工具调用匹配,即使你的 hook 返回 `"allow"`,调用也会被阻止。如果询问规则匹配,用户仍然会被提示,以及你的组织设置为 `ask` 的 [连接器工具](/zh-CN/mcp#organization-controls-on-connector-tools) 和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具。这意味着来自任何设置范围的拒绝规则,包括 [托管设置](/zh-CN/settings#settings-files),总是优先于 hook 批准。

617 617 

618其他事件使用不同的决策模式。例如,`PostToolUse` 和 `Stop` hooks 使用顶级 `decision: "block"` 字段,而 `PermissionRequest` 使用 `hookSpecificOutput.decision.behavior`。有关按事件的完整分解,请参阅参考中的 [摘要表](/zh-CN/hooks#decision-control)。618其他事件使用不同的决策模式。例如,`PostToolUse` 和 `Stop` hooks 使用顶级 `decision: "block"` 字段,而 `PermissionRequest` 使用 `hookSpecificOutput.decision.behavior`。有关按事件的完整分解,请参阅参考中的 [摘要表](/zh-CN/hooks#decision-control)。

619 619 

620对于 `UserPromptSubmit` hooks,改用 `additionalContext` 将文本注入到 Claude 的上下文中。620对于 `UserPromptSubmit` hooks,改用 `hookSpecificOutput.additionalContext` 将文本注入到 Claude 的上下文中。将 `additionalContext` 嵌套在 `hookSpecificOutput` 内;如果你将其放在 JSON 的顶级,Claude Code 会默默忽略它。例如,此输出将当前分支状态添加到每个提示:

621 

622```json theme={null}

623{

624 "hookSpecificOutput": {

625 "hookEventName": "UserPromptSubmit",

626 "additionalContext": "Current branch: release-42. Deploy freeze until Friday."

627 }

628}

629```

630 

631有关完整的输出形状,包括阻止提示和设置会话标题,请参阅 [UserPromptSubmit 决策控制](/zh-CN/hooks#userpromptsubmit-decision-control)。

621 632 

622基于 prompt 的 hooks(`type: "prompt"`)处理输出的方式不同:请参阅 [Prompt-based hooks](#prompt-based-hooks)。633基于 prompt 的 hooks(`type: "prompt"`)处理输出的方式不同:请参阅 [Prompt-based hooks](#prompt-based-hooks)。

623 634 


642}653}

643```654```

644 655 

645`"Edit|Write"` 匹配器仅在 Claude 使用 `Edit` 或 `Write` 工具时触发,而不是在它使用 `Bash`、`Read` 或任何其他工具时触发。请参阅 [匹配器模式](/zh-CN/hooks#matcher-patterns) 了解纯名称和正则表达式如何被评估。656`"Edit|Write"` 匹配器仅在 Claude 使用 `Edit` 或 `Write` 工具时触发,而不是在它使用 `Bash`、`Read` 或任何其他工具时触发。{/* min-version: 2.1.191 */}在 Claude Code v2.1.191 或更高版本上,逗号以相同的方式分隔替代项,所以 `"Edit, Write"` 是等效的。请参阅 [匹配器模式](/zh-CN/hooks#matcher-patterns) 了解纯名称和正则表达式如何被评估。

646 657 

647<Note>658<Note>

648 Claude 也可以通过 `Bash` 工具运行 shell 命令来创建或修改文件。如果你的 hook 必须看到每个文件更改,例如用于合规性扫描或审计日志,添加一个 [`Stop`](/zh-CN/hooks#stop) hook,它每轮扫描一次工作树。为了获得每次调用的覆盖,也匹配 `Bash` 并让你的脚本使用 `git status --porcelain` 列出修改和未跟踪的文件。659 Claude 也可以通过 `Bash` 工具运行 shell 命令来创建或修改文件。如果你的 hook 必须看到每个文件更改,例如用于合规性扫描或审计日志,添加一个 [`Stop`](/zh-CN/hooks#stop) hook,它每轮扫描一次工作树。为了获得每次调用的覆盖,也匹配 `Bash` 并让你的脚本使用 `git status --porcelain` 列出修改和未跟踪的文件。


941 952 

942`PreToolUse` hooks 在任何权限模式检查之前触发。返回 `permissionDecision: "deny"` 的 hook 会阻止工具,即使在 `bypassPermissions` 模式或使用 `--dangerously-skip-permissions` 时也是如此。这让你强制执行用户无法通过更改其权限模式来绕过的策略。953`PreToolUse` hooks 在任何权限模式检查之前触发。返回 `permissionDecision: "deny"` 的 hook 会阻止工具,即使在 `bypassPermissions` 模式或使用 `--dangerously-skip-permissions` 时也是如此。这让你强制执行用户无法通过更改其权限模式来绕过的策略。

943 954 

944反面不成立:返回 `"allow"` 的 hook 不会绕过来自设置的拒绝规则。Hooks 可以收紧限制,但不能放松它们超过权限规则允许的范围。955反面不成立:返回 `"allow"` 的 hook 不会绕过来自设置的拒绝规则,它也无法抑制你的组织设置为 `ask` 的连接器工具的提示 [](/zh-CN/mcp#organization-controls-on-connector-tools) 或标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具。Hooks 可以收紧限制,但不能放松它们超过权限规则允许的范围。

945 956 

946<h3 id="hook-not-firing">957<h3 id="hook-not-firing">

947 Hook 未触发958 Hook 未触发

Details

33| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |33| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |

34| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑您的提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中打开"在外部编辑器中显示最后响应"以在您的提示上方将 Claude 的上一个回复作为 `#` 注释上下文预置;保存时会删除注释块 |34| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑您的提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中打开"在外部编辑器中显示最后响应"以在您的提示上方将 Claude 的上一个回复作为 `#` 注释上下文预置;保存时会删除注释块 |

35| `Ctrl+L` | 重绘屏幕 | 强制完整的终端重绘。输入和对话历史被保留。使用此功能可在显示变得混乱或部分空白时恢复 |35| `Ctrl+L` | 重绘屏幕 | 强制完整的终端重绘。输入和对话历史被保留。使用此功能可在显示变得混乱或部分空白时恢复 |

36| `Ctrl+O` | 切换转录查看器 | 显示详细的工具使用和执行情况。还会展开 MCP 调用,这些调用默认会折叠为单行,如"Called slack 3 times" |36| `Ctrl+O` | 切换转录查看器 | 显示详细的工具使用和执行情况,每个助手消息上都有时间戳和使用的模型。还会展开 MCP 调用,这些调用默认会折叠为单行,如"Called slack 3 times" |

37| `Ctrl+R` | 反向搜索命令历史 | 交互式搜索以前的命令 |37| `Ctrl+R` | 反向搜索命令历史 | 交互式搜索以前的命令 |

38| `Ctrl+V` 或 `Cmd+V`(iTerm2)或 `Alt+V`(Windows 和 WSL) | 从剪贴板粘贴图像 | 在光标处插入 `[Image #N]` 芯片,以便您可以在提示中按位置引用它。在 WSL 上,`Ctrl+V` 和 `Alt+V` 都被绑定;如果您的终端拦截 `Ctrl+V`,请使用 `Alt+V` |38| `Ctrl+V` 或 `Cmd+V`(iTerm2)或 `Alt+V`(Windows 和 WSL) | 从剪贴板粘贴图像 | 在光标处插入 `[Image #N]` 芯片,以便您可以在提示中按位置引用它。在 WSL 上,`Ctrl+V` 和 `Alt+V` 都被绑定;如果您的终端拦截 `Ctrl+V`,请使用 `Alt+V` |

39| `Ctrl+B` | 后台运行任务 | 后台运行 Bash 命令和代理。Tmux 用户按两次 |39| `Ctrl+B` | 后台运行任务 | 后台运行 Bash 命令和代理。Tmux 用户按两次 |


126 126 

127在 Claude Code 中键入 `/` 以查看所有可用命令,或键入 `/` 后跟任何字母以进行筛选。`/` 菜单显示您可以调用的所有内容:内置命令、捆绑的和用户编写的 [skills](/zh-CN/skills),以及由 [plugins](/zh-CN/plugins) 和 [MCP servers](/zh-CN/mcp#use-mcp-prompts-as-commands) 贡献的命令。并非所有内置命令对每个用户都可见,因为某些命令取决于您的平台或计划。127在 Claude Code 中键入 `/` 以查看所有可用命令,或键入 `/` 后跟任何字母以进行筛选。`/` 菜单显示您可以调用的所有内容:内置命令、捆绑的和用户编写的 [skills](/zh-CN/skills),以及由 [plugins](/zh-CN/plugins) 和 [MCP servers](/zh-CN/mcp#use-mcp-prompts-as-commands) 贡献的命令。并非所有内置命令对每个用户都可见,因为某些命令取决于您的平台或计划。

128 128 

129在[全屏渲染](/zh-CN/fullscreen#use-the-mouse)中,`/` 命令和 `@` 文件建议列表也响应鼠标:悬停突出显示一行,单击接受它。

130 

129有关 Claude Code 中包含的命令的完整列表,请参阅[命令参考](/zh-CN/commands)。131有关 Claude Code 中包含的命令的完整列表,请参阅[命令参考](/zh-CN/commands)。

130 132 

131<h2 id="vim-editor-mode">133<h2 id="vim-editor-mode">


135通过 `/config` → 编辑器模式启用 vim 风格编辑。137通过 `/config` → 编辑器模式启用 vim 风格编辑。

136 138 

137<h3 id="mode-switching">139<h3 id="mode-switching">

140 重新映射 INSERT 模式快捷键序列

141</h3>

142 

143[`vimInsertModeRemaps`](/zh-CN/settings#available-settings) 设置将两个按键的 INSERT 模式序列映射到 Escape,因此像 `jj` 这样的映射会让你返回 NORMAL 模式。{/* min-version: 2.1.208 */}需要 Claude Code v2.1.208 或更高版本。

144 

145以下 `~/.claude/settings.json` 示例打开 vim 模式并将 `jj` 映射到 Escape:

146 

147```json theme={null}

148{

149 "editorMode": "vim",

150 "vimInsertModeRemaps": { "jj": "<Esc>" }

151}

152```

153 

154每个键恰好是按顺序输入的两个可打印字符,`"<Esc>"` 是唯一支持的目标。具有不同长度或目标的条目将被忽略。

155 

156输入序列的第一个字符会正常插入。在一秒内按下第二个字符会移除该待处理字符并切换到 NORMAL 模式,在你的输入中不留下任何字符。在一秒窗口之后,或者如果按下不同的键,两个字符都会保留为文字文本,因此你仍然可以通过在两个键之间暂停来输入包含该序列的单词。

157 

158Claude Code 仅从你的用户设置文件、`--settings` 标志和[托管设置](/zh-CN/permissions#managed-settings)读取此设置。项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的条目被忽略,因此已检出的存储库无法重新映射你的按键。

159 

160<h3 id="remap-insert-mode-key-sequences">

138 模式切换161 模式切换

139</h3>162</h3>

140 163 

jetbrains.md +26 −0

Details

242* 了解 Claude Code 有权修改哪些文件242* 了解 Claude Code 有权修改哪些文件

243 243 

244如需 IDE 外的 Claude Code 安装或登录问题,请参阅[故障排除安装和登录](/zh-CN/troubleshoot-install)。244如需 IDE 外的 Claude Code 安装或登录问题,请参阅[故障排除安装和登录](/zh-CN/troubleshoot-install)。

245 

246<h3 id="the-built-in-ide-mcp-server">

247 内置 IDE MCP 服务器

248</h3>

249 

250当插件处于活动状态时,它运行一个本地 MCP 服务器,CLI 会自动连接到该服务器。这是 CLI 在 IDE 的原生 diff 查看器中打开 diff、读取您当前的 `@`-提及选择内容以及将检查诊断信息拉入对话的方式。

251 

252服务器名为 `ide`,从 `/mcp` 中隐藏,因为没有任何内容需要配置。但是,如果您的组织使用 [`PreToolUse` hook](/zh-CN/hooks#pretooluse) 来允许列表 MCP 工具,您需要知道它的存在。

253 

254**选择和打开文件上下文。** 连接时,CLI 会在您发送的每个提示中包含您当前的编辑器选择和活动文件的路径作为上下文。当发生这种情况时,记录会显示一行 `⧉ Selected N lines from <file>`。要排除敏感文件(如 `.env`),请为其路径添加 [`Read` 拒绝规则](/zh-CN/permissions#read-and-edit)。匹配的拒绝规则可防止该文件的选定文本和打开文件通知到达 Claude。

255 

256**传输和身份验证。** 服务器侦听 OS 分配的临时端口,该端口不可配置。传输是未加密的 `ws://`;在环回上,任何可以捕获流量的进程也可以从锁文件中读取令牌,因此 TLS 不会对本地攻击者增加保护。每次 IDE 启动都会生成一个新的随机身份验证令牌,将其写入 `~/.claude/ide/<port>.lock` 处的锁文件,CLI 必须将其作为 `X-Claude-Code-Ide-Authorization` 标头呈现才能连接。如果设置了 `CLAUDE_CONFIG_DIR`,锁文件将改为写入 `$CLAUDE_CONFIG_DIR/ide/`。

257 

258**向模型公开的工具。** 服务器托管多个工具,但只有一个对模型可见。其余的是 CLI 用于自己的 UI 的内部 RPC,例如打开 diff 和读取选择,在工具列表到达 Claude 之前会被过滤掉。

259 

260| 工具名称(如 hooks 所见) | 功能 | 只读 |

261| -------------------------- | ---------------------------------------- | -- |

262| `mcp__ide__getDiagnostics` | 返回 IDE 的检查诊断信息,即编辑器中显示的错误和警告。可选地限定到一个文件。 | 是 |

263 

264JetBrains 插件不向模型公开代码执行工具。

265 

266**侦听接口。** 服务器绑定到的网络接口由**设置 → 工具 → Claude Code \[Beta] → 网络(高级)**下的**接受来自所有网络接口的连接**控制。禁用该设置时,服务器仅侦听 `127.0.0.1`,无法从其他主机访问。启用该设置时,该端口可从您的本地网络访问。该设置存在于 CLI 无法通过环回到达 IDE 的情况,例如具有默认 NAT 网络的 WSL2 或远程 IDE 设置;有关该场景,请参阅 [WSL 配置](#wsl-configuration)。

267 

268<Warning>

269 启用**接受来自所有网络接口的连接**会使 IDE MCP 端口可从您的本地网络访问。连接仍需要来自锁文件的身份验证令牌,但由于传输是未加密的 `ws://`,当设置打开时,会话流量和该令牌都会以明文形式跨网络传输。仅在环回确实无法工作时才打开它。对于 WSL2,更倾向于[镜像网络](#switch-wsl2-to-mirrored-networking),以便 Windows 环回接口与 Linux VM 共享,套接字可以保持在环回上。

270</Warning>

keybindings.md +6 −5

Details

147在 `Confirmation` 上下文中可用的操作:147在 `Confirmation` 上下文中可用的操作:

148 148 

149| 操作 | 默认 | 描述 |149| 操作 | 默认 | 描述 |

150| :-------------------------- | :-------- | :----- |150| :-------------------------- | :-------- | :--------------------------------------------------------------------------- |

151| `confirm:yes` | Y, Enter | 确认操作 |151| `confirm:yes` | Y, Enter | 确认操作 |

152| `confirm:no` | N, Escape | 拒绝操作 |152| `confirm:no` | N, Escape | 拒绝操作 |

153| `confirm:previous` | Up | 上一个选项 |153| `confirm:previous` | Up | 上一个选项 |


156| `confirm:previousField` | (未绑定) | 上一个字段 |156| `confirm:previousField` | (未绑定) | 上一个字段 |

157| `confirm:toggle` | Space | 切换选择 |157| `confirm:toggle` | Space | 切换选择 |

158| `confirm:cycleMode` | Shift+Tab | 循环权限模式 |158| `confirm:cycleMode` | Shift+Tab | 循环权限模式 |

159| `confirm:toggleExplanation` | Ctrl+E | 切换权限说明 |159| `confirm:toggleExplanation` | Ctrl+E | Bash 和 PowerShell 权限提示上切换模型生成的[命令说明](/zh-CN/permissions#permission-system) |

160 160 

161<h3 id="permission-actions">161<h3 id="permission-actions">

162 权限操作162 权限操作


283在 `DiffDialog` 上下文中可用的操作:283在 `DiffDialog` 上下文中可用的操作:

284 284 

285| 操作 | 默认 | 描述 |285| 操作 | 默认 | 描述 |

286| :-------------------- | :------- | :----------------------- |286| :-------------------- | :------ | :------------------------------------------------------------------------- |

287| `diff:dismiss` | Escape | 关闭差异查看器 |287| `diff:dismiss` | Escape | 关闭差异查看器;从详情视图返回到文件列表 |

288| `diff:previousSource` | Left | 上一个差异源 |288| `diff:previousSource` | Left | 上一个差异源 |

289| `diff:nextSource` | Right | 下一个差异源 |289| `diff:nextSource` | Right | 下一个差异源 |

290| `diff:previousFile` | Up, K | 文件列表中的上一个文件;在详情视图中向上滚动一行 |290| `diff:previousFile` | Up, K | 文件列表中的上一个文件;在详情视图中向上滚动一行 |

291| `diff:nextFile` | Down, J | 文件列表中的下一个文件;在详情视图中向下滚动一行 |291| `diff:nextFile` | Down, J | 文件列表中的下一个文件;在详情视图中向下滚动一行 |

292| `diff:viewDetails` | Enter | 查看差异详情 |292| `diff:viewDetails` | Enter | 查看差异详情 |

293| `diff:back` | (特定于上下文 | 在差异查看器中返回 |293| `diff:back` | (未绑定 | 在差异查看器中返回。Escape 通过 `diff:dismiss` 执行返回操作。详情视图中之前的 Left 默认值在 v2.1.203 中被移除 |

294 294 

295差异详情视图还将寻呼机风格的快捷键绑定到标准[滚动操作](#scroll-actions)。这些绑定是 `DiffDialog` 上下文的一部分,仅在详情视图中应用;[滚动操作](#scroll-actions)下列出的 `Scroll` 上下文默认值保持不变。295差异详情视图还将寻呼机风格的快捷键绑定到标准[滚动操作](#scroll-actions)。这些绑定是 `DiffDialog` 上下文的一部分,仅在详情视图中应用;[滚动操作](#scroll-actions)下列出的 `Scroll` 上下文默认值保持不变。

296 296 


526* **快捷键**在组件级别处理操作(切换待办事项、提交等)526* **快捷键**在组件级别处理操作(切换待办事项、提交等)

527* vim 模式中的 Escape 键从 INSERT 切换到 NORMAL 模式;它不触发 `chat:cancel`527* vim 模式中的 Escape 键从 INSERT 切换到 NORMAL 模式;它不触发 `chat:cancel`

528* 大多数 Ctrl+key 快捷键通过 vim 模式传递到快捷键系统528* 大多数 Ctrl+key 快捷键通过 vim 模式传递到快捷键系统

529* Vim 键不能通过快捷键文件重新映射。要映射两键 INSERT 模式序列(如 `jj`)到 Escape,请使用 [`vimInsertModeRemaps`](/zh-CN/interactive-mode#remap-insert-mode-key-sequences) 设置

529* 在 vim NORMAL 模式中,`?` 显示帮助菜单(vim 行为)530* 在 vim NORMAL 模式中,`?` 显示帮助菜单(vim 行为)

530* 在 vim NORMAL 模式中,`/` 打开历史搜索,与标准模式中的 Ctrl+R 相同531* 在 vim NORMAL 模式中,`/` 打开历史搜索,与标准模式中的 Ctrl+R 相同

531 532 

Details

254 254 

255在 `sparsePaths` 中列出目录,而不是单个文件。根级文件如 `package.json`、`tsconfig.base.json` 和锁文件始终与你列出的目录一起检出。根级目录不是,所以如果你想要存储库根目录的 `.claude/settings.json`、`.claude/rules/` 或 `.claude/skills/` 在 worktree 内可用,请在列表中包含 `.claude`。255在 `sparsePaths` 中列出目录,而不是单个文件。根级文件如 `package.json`、`tsconfig.base.json` 和锁文件始终与你列出的目录一起检出。根级目录不是,所以如果你想要存储库根目录的 `.claude/settings.json`、`.claude/rules/` 或 `.claude/skills/` 在 worktree 内可用,请在列表中包含 `.claude`。

256 256 

257Sparse checkout 需要 git 在存在 sparse worktree 时在存储库的共享 `.git/config` 中启用 `extensions.worktreeConfig`。Claude Code 在删除最后一个 worktree 后会删除该条目,但仅当 Claude Code 添加了它时。它永远不会删除你自己设置的值。在 v2.1.207 之前,该条目在删除最后一个 worktree 后仍然存在,基于 go-git 的工具(如 `tea`)无法打开存储库,直到你运行 `git config --unset extensions.worktreeConfig`。

258 

257要避免在 worktrees 中复制大型目录如 `node_modules`,将 `sparsePaths` 与同一 `.claude/settings.json` 中的 `symlinkDirectories` 配对:259要避免在 worktrees 中复制大型目录如 `node_modules`,将 `sparsePaths` 与同一 `.claude/settings.json` 中的 `symlinkDirectories` 配对:

258 260 

259```json .claude/settings.json theme={null}261```json .claude/settings.json theme={null}

Details

4 4 

5# 将 Claude Code 连接到 LLM 网关5# 将 Claude Code 连接到 LLM 网关

6 6 

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

8 8 

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

10 10 


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

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

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

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

59 59 

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

61 设置凭证变量61 设置凭证变量


209 桌面应用209 桌面应用

210</h3>210</h3>

211 211 

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

213 

214* **由管理员分发**:如果您的组织已[部署配置](/zh-CN/llm-gateway-rollout#distribute-through-managed-settings),桌面应用通过网关路由,无需您进行任何设置

215* **本地配置**:对于没有管理员分发配置的设备,打开帮助 → 故障排除 → 启用开发者模式,这将重新启动应用并显示开发者菜单。然后打开开发者 → 配置第三方推理并输入您的网关基础 URL。管理员分发的配置优先级更高,使此表单为只读

216 

217启用网关配置后,桌面应用仅在您的本地机器上运行会话:环境选择器不提供 SSH 会话或 Anthropic 托管的云环境,[远程控制](/zh-CN/remote-control)不可用。要通过网关在远程主机上使用 Claude Code,请在该主机上运行 CLI,并在那里设置[`ANTHROPIC_BASE_URL` 和网关凭证](#set-the-base-url-and-credential)。

213 218 

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

215 220 


296 其他配置301 其他配置

297</h2>302</h2>

298 303 

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

300 305 

301<h3 id="send-additional-headers">306<h3 id="send-additional-headers">

302 发送其他标头307 发送其他标头


389 394 

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

391 396 

397<h3 id="turn-off-traffic-outside-the-gateway-path">

398 关闭网关路径外的流量

399</h3>

400 

401网关承载模型请求,但 Claude Code 也向网关路径外发送非必要的后台流量,发送到 Anthropic 和第三方服务(如 GitHub):版本检查、遥测、错误报告、发行说明和类似请求。在仅允许出站到网关的网络上,这些请求失败,并可能在您的出站监控中显示为被阻止的连接。

402 

403要关闭该流量,请在与网关变量相同的 shell 导出或设置文件 `env` 块中设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1`:

404 

405<Tabs>

406 <Tab title="Bash or Zsh">

407 ```bash theme={null}

408 export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

409 ```

410 </Tab>

411 

412 <Tab title="PowerShell">

413 ```powershell theme={null}

414 $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"

415 ```

416 </Tab>

417</Tabs>

418 

419设置该变量具有以下效果和限制:

420 

421* 它禁用自动更新,因此请为另一个更新路径做计划,例如您的包管理器或托管分发。

422* 它抑制 [fast mode](/zh-CN/fast-mode) 可用性检查。除非之前的检查已在机器上启用了 fast mode,否则 `/fast` 报告 fast mode 不可用。

423* 它关闭[网关模型发现](#add-gateway-models-to-the-model-picker),尽管发现查询网关本身。之前发现的模型从本地缓存保持可用,但列表不会刷新。

424* WebFetch 工具的[域安全检查](/zh-CN/data-usage#webfetch-domain-safety-check)不受影响,仍然调用 `api.anthropic.com`。如果您的网络阻止该主机,请在[设置](/zh-CN/settings)中使用 `skipWebFetchPreflight: true` 单独关闭它。

425* 对于每个遥测流及控制它的变量,请参阅[遥测服务](/zh-CN/data-usage#telemetry-services)。

426 

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

393 通过网关路由到云提供商428 通过网关路由到云提供商

394</h3>429</h3>


509| :-------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |544| :-------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

547| `Your apiKeyHelper script is failing` | [`apiKeyHelper`](/zh-CN/settings#available-settings) 设置中的命令以错误退出、超时或未打印任何内容,因此请求携带占位符密钥 | 直接运行该命令以查看失败原因,如果报告会话过期,请使用您的凭证提供商重新身份验证;请参阅[错误参考](/zh-CN/errors#your-apikeyhelper-script-is-failing) |

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

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

514| `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 仅发送该提供商接受的内容 |550| `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 仅发送该提供商接受的内容 |

Details

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

130 130 

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

132| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------- |132| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------- |

133| [自适应推理](/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` |133| [自适应推理](/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` |

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

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

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

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

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

managed-mcp.md +7 −2

Details

133 使用允许列表和拒绝列表进行基于策略的控制133 使用允许列表和拒绝列表进行基于策略的控制

134</h2>134</h2>

135 135 

136允许列表和拒绝列表过滤允许加载的已配置服务器。它们不是注册表:服务器仍然必须由用户、插件或 `managed-mcp.json` 添加,然后允许列表或拒绝列表才能应用于它。要将服务器部署给用户,请使用 [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json)。136允许列表和拒绝列表过滤允许加载的已配置服务器。它们不是注册表:服务器仍然必须由用户、插件或 `managed-mcp.json` 添加,然后允许列表或拒绝列表才能应用于它。要将服务器部署给用户,请使用 [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json)。两个列表也过滤通过 [`--mcp-config` CLI 标志](/zh-CN/cli-reference#cli-flags) 传递的服务器;`--strict-mcp-config` 限制加载哪些配置文件,不会绕过任一列表。

137 137 

138要使允许列表具有权威性,请在[托管设置源](/zh-CN/admin-setup#decide-how-settings-reach-devices)(如服务器管理的设置或部署的 `managed-settings.json` 文件)中一起设置 `allowedMcpServers` 和 `allowManagedMcpServersOnly: true`。[将允许列表限制为仅托管设置](#restrict-the-allowlist-to-managed-settings-only)显示配置。没有 `allowManagedMcpServersOnly`,来自每个设置源的允许列表会合并,包括用户自己的 `~/.claude/settings.json`,因此用户可以扩展您的允许列表允许的内容。拒绝列表无论如何都会从每个源合并。138要使允许列表具有权威性,请在[托管设置源](/zh-CN/admin-setup#decide-how-settings-reach-devices)(如服务器管理的设置或部署的 `managed-settings.json` 文件)中一起设置 `allowedMcpServers` 和 `allowManagedMcpServersOnly: true`。[将允许列表限制为仅托管设置](#restrict-the-allowlist-to-managed-settings-only)显示配置。没有 `allowManagedMcpServersOnly`,来自每个设置源的允许列表会合并,包括用户自己的 `~/.claude/settings.json`,因此用户可以扩展您的允许列表允许的内容。拒绝列表无论如何都会从每个源合并。

139 139 


160| `allowedMcpServers` | 允许所有服务器 | 不允许任何服务器 | 仅允许匹配的服务器 |160| `allowedMcpServers` | 允许所有服务器 | 不允许任何服务器 | 仅允许匹配的服务器 |

161| `deniedMcpServers` | 不阻止任何服务器 | 不阻止任何服务器 | 阻止匹配的服务器 |161| `deniedMcpServers` | 不阻止任何服务器 | 不阻止任何服务器 | 阻止匹配的服务器 |

162 162 

163请参阅[托管设置中的无效条目](/zh-CN/settings#invalid-entries-in-managed-settings)了解条目未通过架构验证时会发生什么。

164 

163<Warning>165<Warning>

164 `serverName` 条目(在任一列表中)不是安全控制。名称是用户在运行 `claude mcp add` 或编辑配置文件时分配的标签,而不是底层服务器,因此用户可以将任何服务器称为 `github`。对于 claude.ai 连接器,名称是 claude.ai 返回的显示名称,可能会更改。要强制执行实际运行的服务器,请添加 `serverCommand` 或 `serverUrl` 条目。166 `serverName` 条目(在任一列表中)不是安全控制。名称是用户在运行 `claude mcp add` 或编辑配置文件时分配的标签,而不是底层服务器,因此用户可以将任何服务器称为 `github`。对于 claude.ai 连接器,名称是 claude.ai 返回的显示名称,可能会更改。要强制执行实际运行的服务器,请添加 `serverCommand` 或 `serverUrl` 条目。

165</Warning>167</Warning>


186| 远程(HTTP 或 SSE) | 一个 `serverUrl` 条目。仅当允许列表不包含 `serverUrl` 条目时,`serverName` 匹配才计数 |188| 远程(HTTP 或 SSE) | 一个 `serverUrl` 条目。仅当允许列表不包含 `serverUrl` 条目时,`serverName` 匹配才计数 |

187| Stdio | 一个 `serverCommand` 条目。仅当允许列表不包含 `serverCommand` 条目时,`serverName` 匹配才计数 |189| Stdio | 一个 `serverCommand` 条目。仅当允许列表不包含 `serverCommand` 条目时,`serverName` 匹配才计数 |

188 190 

189这些检查中适用两个匹配规则191这些检查中适用三个匹配规则

190 192 

191* **命令精确匹配。** 每个参数,按顺序。`["npx", "-y", "server"]` 不匹配 `["npx", "server"]` 或 `["npx", "-y", "server", "--flag"]`。193* **命令精确匹配。** 每个参数,按顺序。`["npx", "-y", "server"]` 不匹配 `["npx", "server"]` 或 `["npx", "-y", "server", "--flag"]`。

194* **`serverCommand` 和 `serverUrl` 值在匹配前展开。** 策略条目和服务器的配置值都经过与 `.mcp.json` 相同的 [`${VAR}` 和 `${VAR:-default}` 展开](/zh-CN/mcp#environment-variable-expansion-in-mcp-json),因此写成 `["${HOME}/bin/server"]` 的条目匹配使用相同引用或展开路径的服务器配置。在 Windows 上,引用在那里设置的环境变量,例如 `${USERPROFILE}` 而不是 `${HOME}`。`serverName` 值按字面匹配,永不展开。

192* **URL 支持 `*` 通配符**在模式中的任何地方,包括方案。主机名匹配不区分大小写,忽略尾部 FQDN 点,因此 `https://Mcp.Example.com/*` 匹配 `https://mcp.example.com/api`。路径保持区分大小写。195* **URL 支持 `*` 通配符**在模式中的任何地方,包括方案。主机名匹配不区分大小写,忽略尾部 FQDN 点,因此 `https://Mcp.Example.com/*` 匹配 `https://mcp.example.com/api`。路径保持区分大小写。

193 196 

194| 模式 | 允许 |197| 模式 | 允许 |


199| `http://localhost:*/*` | localhost 上的任何端口 |202| `http://localhost:*/*` | localhost 上的任何端口 |

200| `*://mcp.example.com/*` | 任何方案到特定域 |203| `*://mcp.example.com/*` | 任何方案到特定域 |

201 204 

205因为 `${VAR}` 展开读取 Claude Code 自己的进程环境,引用变量的 `serverCommand` 或 `serverUrl` 策略条目展开为用户设置的任何值。对于您依赖的强制执行条目,使用字面 URL 和命令。

206 

202<h3 id="example-configuration">207<h3 id="example-configuration">

203 示例配置208 示例配置

204</h3>209</h3>

mcp.md +33 −13

Details

187* 您的用户 `~/.claude/settings.json`187* 您的用户 `~/.claude/settings.json`

188* 托管设置188* 托管设置

189* 使用 `--settings` 传递的设置189* 使用 `--settings` 传递的设置

190* `.claude/settings.local.json`,只要 git 不跟踪它190 

191未跟踪的 `.claude/settings.local.json` 中的批准也适用,但仅在您接受该文件夹或其父目录之一的信任对话框后:Claude Code 运行 git 来检查文件是否被跟踪,并且仅在受信任的文件夹中运行该检查。在您从未信任过的文件夹中,文件的批准会等待信任对话框,除非该文件夹是您自己的配置主目录:您的主目录,或一个您已将其 `.claude` 设置为 [`CLAUDE_CONFIG_DIR`](/zh-CN/env-vars) 的目录。在 v2.1.207 之前,未跟踪的 `.claude/settings.local.json` 在您从未信任过的文件夹中批准了服务器。

191 192 

192任何设置文件中的 `disabledMcpjsonServers` 条目仍然会拒绝该服务器。193任何设置文件中的 `disabledMcpjsonServers` 条目仍然会拒绝该服务器。

193 194 

194`/mcp` 面板在每个连接的服务器旁边显示工具计数,并标记声称工具功能但未公开任何工具的服务器。195`/mcp` 面板在每个连接的服务器旁边显示工具计数,并标记声称工具功能但未公开任何工具的服务器。

195 196 

197配置为空 `url` 的远程服务器在 `/mcp`、`claude mcp list` 和[`/plugin`](/zh-CN/plugins)管理器中显示为 `未配置`,Claude Code 不会尝试连接到它。插件可以包含一个占位符条目,如下所示,用于您稍后配置的连接器,因此 Claude Code 不会将其报告为错误或设置问题。服务器在 `/mcp` 中的详细视图读取 `未为此服务器配置 URL`;设置条目的 `url` 以连接它。在 v2.1.208 之前,Claude Code 将空 `url` 报告为配置问题,并提示重新连接。

198 

196如果您的请求需要来自仍在后台连接的服务器的工具,Claude 会在继续之前等待该服务器。启用[工具搜索](#scale-with-mcp-tool-search)(这是默认设置)后,等待发生在 `ToolSearch` 调用内部。在没有工具搜索的配置中,例如 Google Cloud 的 Agent Platform、自定义 `ANTHROPIC_BASE_URL` 或 `ENABLE_TOOL_SEARCH=false`,Claude 改为使用 `WaitForMcpServers` 工具。199如果您的请求需要来自仍在后台连接的服务器的工具,Claude 会在继续之前等待该服务器。启用[工具搜索](#scale-with-mcp-tool-search)(这是默认设置)后,等待发生在 `ToolSearch` 调用内部。在没有工具搜索的配置中,例如 Google Cloud 的 Agent Platform、自定义 `ANTHROPIC_BASE_URL` 或 `ENABLE_TOOL_SEARCH=false`,Claude 改为使用 `WaitForMcpServers` 工具。

197 200 

198某些服务器名称为 Claude Code 的内置服务器保留:`workspace`、`claude-in-chrome`、`computer-use`、`Claude Preview` 和 `Claude Browser`。如果您的配置定义了具有保留名称的服务器,Claude Code 会在加载时跳过它,并显示一条警告,要求您重命名它。`claude mcp add` 会以错误拒绝保留名称。201某些服务器名称为 Claude Code 的内置服务器保留:`workspace`、`claude-in-chrome`、`computer-use`、`Claude Preview` 和 `Claude Browser`。如果您的配置定义了具有保留名称的服务器,Claude Code 会在加载时跳过它,并显示一条警告,要求您重命名它。`claude mcp add` 会以错误拒绝保留名称。


213 216 

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

215 218 

216当配置的服务器无法连接时,Claude Code 告诉 Claude 哪个服务器失败及其连接错误,包括在 `ToolSearch` 结果中找不到匹配工具,因此 Claude 在其响应中报告连接失败。需要[工具搜索](#scale-with-mcp-tool-search),默认启用。在没有工具搜索的配置中,例如自定义 `ANTHROPIC_BASE_URL`、`ENABLE_TOOL_SEARCH=false` 或 Haiku 模型,以及在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,Claude Code 不会向 Claude 报告失败的服务器连接。在 v2.1.205 之前,Claude Code 不会将连接错误传递给 Claude,Claude 可能会响应,就像失败的服务器的工具从未配置过一样。219当配置的服务器无法连接时,Claude Code 告诉 Claude 哪个服务器失败及其连接错误,包括在 `ToolSearch` 结果中找不到匹配工具,因此 Claude 在其响应中报告连接失败。需要[工具搜索](#scale-with-mcp-tool-search),默认启用。在没有工具搜索的配置中,例如自定义 `ANTHROPIC_BASE_URL`、`ENABLE_TOOL_SEARCH=false` 或不支持工具搜索的模型,以及在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,Claude Code 不会向 Claude 报告失败的服务器连接。在 v2.1.205 之前,Claude Code 不会将连接错误传递给 Claude,Claude 可能会响应,就像失败的服务器的工具从未配置过一样。

217 220 

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

219 222 


234 * `--transport` 和 `--header` 标志也接受 `-t` 和 `-H` 短形式237 * `--transport` 和 `--header` 标志也接受 `-t` 和 `-H` 短形式

235 * 使用 `MCP_TIMEOUT` 环境变量配置 MCP 服务器启动超时(例如,`MCP_TIMEOUT=10000 claude` 设置 10 秒超时)238 * 使用 `MCP_TIMEOUT` 环境变量配置 MCP 服务器启动超时(例如,`MCP_TIMEOUT=10000 claude` 设置 10 秒超时)

236 * 通过向该服务器的 `.mcp.json` 条目添加 `timeout` 字段(以毫秒为单位)来设置每个服务器的工具执行超时,例如 `"timeout": 600000` 表示十分钟。这仅对该服务器覆盖 `MCP_TOOL_TIMEOUT` 环境变量239 * 通过向该服务器的 `.mcp.json` 条目添加 `timeout` 字段(以毫秒为单位)来设置每个服务器的工具执行超时,例如 `"timeout": 600000` 表示十分钟。这仅对该服务器覆盖 `MCP_TOOL_TIMEOUT` 环境变量

237 * 当 MCP 工具输出超过 10,000 个令牌时,Claude Code 将显示警告。要增加此限制,请设置 `MAX_MCP_OUTPUT_TOKENS` 环境变量(例如,`MAX_MCP_OUTPUT_TOKENS=50000`)240 * 当 MCP 工具输出超过 10,000 个令牌时,Claude Code 将显示警告,并默认将输出限制为 25,000 个令牌。要增加此限制,请设置 `MAX_MCP_OUTPUT_TOKENS` 环境变量(例如,`MAX_MCP_OUTPUT_TOKENS=50000`);警告阈值是固定的。请参阅 [MCP 输出限制和警告](#mcp-output-limits-and-warnings)

238 * 使用 `/mcp` 对需要 OAuth 2.0 身份验证的远程服务器进行身份验证241 * 使用 `/mcp` 对需要 OAuth 2.0 身份验证的远程服务器进行身份验证

239</Tip>242</Tip>

240 243 

241每个服务器的 `timeout` 是每个工具调用的硬时钟限制,来自服务器的进度通知不会延长它。低于 1000 的值被忽略,并回退到 `MCP_TOOL_TIMEOUT`,或在该变量未设置时回退到其约 28 小时的默认值。{/* min-version: 2.1.162 */}在 v2.1.162 之前,低于 1000 的值被限制为一秒。244每个服务器的 `timeout` 是每个工具调用的硬时钟限制,来自服务器的进度通知不会延长它。低于 1000 的值被忽略,并回退到 `MCP_TOOL_TIMEOUT`,或在该变量未设置时回退到其约 28 小时的默认值。对于 HTTP、SSE 或 [claude.ai connector](/zh-CN/mcp#use-mcp-servers-from-claude-ai) 服务器,还有第二个每请求计时器,涵盖从每个请求到服务器第一个响应字节的时间。该计时器为 60 秒,除非您设置每个服务器的 `timeout` 或 `MCP_TOOL_TIMEOUT`;将任一设置为 60 秒或更高会将每请求计时器提高到该值,较低的值不会缩短它,未设置的 `MCP_TOOL_TIMEOUT` 的 28 小时默认值永远不会影响它。Stdio 和 WebSocket 服务器没有每请求计时器。{/* min-version: 2.1.162 */}在 v2.1.162 之前,低于 1000 的值被限制为一秒。

242 245 

243每个服务器至少 1000 的 `timeout` 也充当下面描述的空闲超时的下限:Claude Code 永远不会因为空闲而在每个服务器的 `timeout` 之前中止该服务器的工具调用。需要 Claude Code v2.1.203 或更高版本。246每个服务器至少 1000 的 `timeout` 也充当下面描述的空闲超时的下限:Claude Code 永远不会因为空闲而在每个服务器的 `timeout` 之前中止该服务器的工具调用。需要 Claude Code v2.1.203 或更高版本。

244 247 

245对于 HTTP 和 SSE 服务器,每个请求的 fetch 首字节预算有 60 秒的最小值。

246 

247对 MCP 服务器的工具调用如果在空闲窗口内没有发送响应和进度通知,将以错误中止,而不是等待时钟限制。空闲超时需要 Claude Code v2.1.187 或更高版本。{/* min-version: 2.1.203 */}它适用于除 IDE 服务器和 SDK 进程内服务器之外的每种服务器类型。空闲窗口对于 HTTP、SSE、WebSocket 和 [claude.ai connector](#use-mcp-servers-from-claude-ai) 服务器默认为五分钟,对于 stdio 服务器默认为 30 分钟。在 v2.1.203 之前,stdio 服务器不受空闲超时的限制。248对 MCP 服务器的工具调用如果在空闲窗口内没有发送响应和进度通知,将以错误中止,而不是等待时钟限制。空闲超时需要 Claude Code v2.1.187 或更高版本。{/* min-version: 2.1.203 */}它适用于除 IDE 服务器和 SDK 进程内服务器之外的每种服务器类型。空闲窗口对于 HTTP、SSE、WebSocket 和 [claude.ai connector](#use-mcp-servers-from-claude-ai) 服务器默认为五分钟,对于 stdio 服务器默认为 30 分钟。在 v2.1.203 之前,stdio 服务器不受空闲超时的限制。

248 249 

249在毫秒中设置 [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/zh-CN/env-vars) 环境变量以更改空闲窗口,或将其设置为 `0` 以禁用检查。250在毫秒中设置 [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/zh-CN/env-vars) 环境变量以更改空闲窗口,或将其设置为 `0` 以禁用检查。


296**插件 MCP 功能**:297**插件 MCP 功能**:

297 298 

298* **自动生命周期**:在会话启动时,启用的插件的服务器会自动连接。如果您在会话期间启用或禁用插件,请运行 `/reload-plugins` 以连接或断开其 MCP 服务器299* **自动生命周期**:在会话启动时,启用的插件的服务器会自动连接。如果您在会话期间启用或禁用插件,请运行 `/reload-plugins` 以连接或断开其 MCP 服务器

299* **环境变量**:对捆绑的插件文件使用 `${CLAUDE_PLUGIN_ROOT}`,[持久状态](/zh-CN/plugins-reference#persistent-data-directory)使用 `${CLAUDE_PLUGIN_DATA}`(在插件更新后仍然存在)以及对稳定项目根目录使用 `${CLAUDE_PROJECT_DIR}`300* **路径占位符**:`${CLAUDE_PLUGIN_ROOT}` 解析为插件的安装目录`${CLAUDE_PLUGIN_DATA}` 解析为其[持久状态](/zh-CN/plugins-reference#persistent-data-directory)目录,`${CLAUDE_PROJECT_DIR}` 解析为稳定的项目根目录。替换适用于:

301 * `stdio` 服务器:`command`、`args`、`env`

302 * `http`、`sse` 和 `ws` 服务器:`url`、`headers` 和 `headersHelper`。{/* min-version: 2.1.195 */}在 v2.1.195 之前,`headersHelper` 将占位符作为字面字符串传递

300* **用户环境访问**:访问与手动配置的服务器相同的环境变量303* **用户环境访问**:访问与手动配置的服务器相同的环境变量

301* **多种传输类型**:支持 stdio、SSE、HTTP 和 WebSocket 传输,尽管传输支持可能因服务器而异304* **多种传输类型**:支持 stdio、SSE、HTTP 和 WebSocket 传输,尽管传输支持可能因服务器而异

302 305 


464}467}

465```468```

466 469 

467如果未设置所需的环境变量且没有默认值,Claude Code 将无法解析配置470如果未设置所需的环境变量且没有默认值,Claude Code 会将文字 `${VAR}` 文本保留在值中,并为该服务器报告缺失变量警告配置仍然会加载,因此请设置变量或添加 `:-default` 回退,以便服务器使用您想要的值启动。

468 471 

469<h2 id="practical-examples">472<h2 id="practical-examples">

470 实际示例473 实际示例


552 555 

553许多基于云的 MCP 服务器需要身份验证。Claude Code 支持 OAuth 2.0 以实现安全连接。556许多基于云的 MCP 服务器需要身份验证。Claude Code 支持 OAuth 2.0 以实现安全连接。

554 557 

555当服务器响应 `401 Unauthorized` 或 `403 Forbidden` 时,Claude Code 将远程服务器标记为需要身份验证。任一状态代码都会在 `/mcp` 中标记该服务器,以便您可以完成 OAuth 流程。558Claude Code 将远程服务器标记为需要身份验证,当服务器响应 `401 Unauthorized` 或 `403 Forbidden` 时。对于您尚未登录的服务器,任一状态代码都会在 `/mcp` 中标记它,以便您可以完成 OAuth 流程。

559 

560当对您已登录的 OAuth 服务器的请求返回 `401 Unauthorized` 时,Claude Code 会刷新存储的令牌、重新连接并重试请求一次。只有在该重试也失败时,它才会在 `/mcp` 中标记服务器。在 v2.1.206 之前,由于网络错误等暂时性原因导致的令牌刷新失败会将 OAuth 服务器标记为在会话的其余时间需要身份验证,即使其刷新令牌仍然有效。

556 561 

557从 v2.1.195 开始,当令牌刷新失败,因为服务器拒绝了存储的刷新令牌时,Claude Code 会立即显示一个指向 `/mcp` 的通知。连接的服务器的菜单中提供了"重新身份验证"选项,因此您可以在下一个工具调用失败之前重新登录。562从 v2.1.195 开始,当令牌刷新失败,因为服务器拒绝了存储的刷新令牌时,Claude Code 会立即显示一个指向 `/mcp` 的通知。连接的服务器的菜单中提供了"重新身份验证"选项,因此您可以在下一个工具调用失败之前重新登录。

558 563 


787**要求:**792**要求:**

788 793 

789* 命令必须将字符串键值对的 JSON 对象写入标准输出794* 命令必须将字符串键值对的 JSON 对象写入标准输出

790* 命令在 shell 中运行,超时时间为 10 秒795* 命令在 shell 中运行,超时时间为 10 秒,从会话的当前工作目录运行。对脚本使用绝对路径或 `PATH` 上的命令

791* 动态标头覆盖任何具有相同名称的静态 `headers`796* 动态标头覆盖任何具有相同名称的静态 `headers`

792 797 

793助手在每次连接时运行(在会话启动和重新连接时)。没有缓存,因此您的脚本负责任何令牌重用。798助手在每次连接时运行(在会话启动和重新连接时)。没有缓存,因此您的脚本负责任何令牌重用。


806 811 

807对于插件提供的服务器,助手也会在其工作目录设置为插件根目录的情况下运行,因此相对 `headersHelper` 路径在插件目录内解析,而不是针对会话的工作目录。需要 Claude Code v2.1.195 或更高版本。812对于插件提供的服务器,助手也会在其工作目录设置为插件根目录的情况下运行,因此相对 `headersHelper` 路径在插件目录内解析,而不是针对会话的工作目录。需要 Claude Code v2.1.195 或更高版本。

808 813 

814插件提供的 `headersHelper` 无法引用插件的 [`${user_config.*}`](/zh-CN/plugins-reference#user-configuration) 值,因为命令通过 shell 运行。Claude Code 报告服务器配置错误,并显示[错误](/zh-CN/errors#plugin-command-references-user-config),不替换该值。将 `${user_config.KEY}` 放在服务器的 `headers` 字段中,该字段不会被 shell 解析,或让助手脚本从其自己的环境或配置文件中读取该值。在 v2.1.207 之前,`headersHelper` 替换了 `${user_config.*}` 值。

815 

809<Note>816<Note>

810 `headersHelper` 执行任意 shell 命令。在项目或本地范围定义时,它仅在您接受工作区信任对话框后运行。817 `headersHelper` 执行任意 shell 命令。在项目或本地范围定义时,它仅在您接受工作区信任对话框后运行。

811</Note>818</Note>


889 使用来自 claude.ai 的 MCP 服务器896 使用来自 claude.ai 的 MCP 服务器

890</h2>897</h2>

891 898 

892如果您已使用 [claude.ai](https://claude.ai) 帐户登录 Claude Code,您在 claude.ai 中添加的 MCP 服务器会自动在 Claude Code 中可用:899如果您已使用 [claude.ai](https://claude.ai) 帐户登录 Claude Code,您在 claude.ai 中添加的 MCP 服务器(称为 [connectors](https://claude.com/docs/connectors))会自动在 Claude Code 中可用:

893 900 

894<Steps>901<Steps>

895 <Step title="在 claude.ai 中配置 MCP 服务器">902 <Step title="在 claude.ai 中配置 MCP 服务器">


913 920 

914从 v2.1.161 开始,您从未登录过的连接器会折叠在 claude.ai 部分末尾的 `Show unused connectors` 行后面,因此组织预配的列表不会填满面板。选择该行以展开它们。您之前登录过的连接器即使当前需要重新身份验证,也会保持可见。921从 v2.1.161 开始,您从未登录过的连接器会折叠在 claude.ai 部分末尾的 `Show unused connectors` 行后面,因此组织预配的列表不会填满面板。选择该行以展开它们。您之前登录过的连接器即使当前需要重新身份验证,也会保持可见。

915 922 

916Claude.ai 连接器仅在您的活跃[身份验证方法](/zh-CN/authentication#authentication-precedence)是您的 Claude.ai 订阅时才会被获取。当 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、`apiKeyHelper` 或第三方提供商(如 Amazon Bedrock 或 Google Cloud 的 Agent Platform)处于活跃状态时,它们不会被加载,即使您之前运行过 `/login`。如果 `/mcp` 未列出您添加的连接器,请运行 `/status` 以确认哪种身份验证方法处于活跃状态,取消设置该环境变量或删除 `apiKeyHelper` 设置,然后运行 `/login` 以选择您的 claude.ai 帐户。923Claude.ai 连接器仅在您的活跃[身份验证方法](/zh-CN/authentication#authentication-precedence)是您的 claude.ai 订阅时才会被获取。当 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、`apiKeyHelper` 或第三方提供商(如 Amazon Bedrock 或 Google Cloud 的 Agent Platform)处于活跃状态时,它们不会被加载,即使您之前运行过 `/login`。如果 `/mcp` 未列出您添加的连接器,请运行 `/status` 以确认哪种身份验证方法处于活跃状态,取消设置该环境变量或删除 `apiKeyHelper` 设置,然后运行 `/login` 以选择您的 claude.ai 帐户。

917 924 

918您在 Claude Code 中添加的服务器优先于指向相同 URL 的 claude.ai 连接器。发生这种情况时,`/mcp` 会将连接器列为隐藏,并显示如何删除重复项(如果您更希望使用连接器)。925您在 Claude Code 中添加的服务器优先于指向相同 URL 的 claude.ai 连接器。发生这种情况时,`/mcp` 会将连接器列为隐藏,并显示如何删除重复项(如果您更希望使用连接器)。

919 926 

920某些 Anthropic 托管的连接器(如 Microsoft 365、Gmail 和 Google Calendar)不支持来自 Claude Code 的本地 OAuth,因为上游身份提供商仅接受 claude.ai 注册的重定向 URL。从 v2.1.162 开始,在 `/mcp` 中对这些主机之一进行身份验证会显示一条消息,指导您改为在 claude.ai 上的"设置"→"连接器"中连接它。连接后,连接器会自动出现在 Claude Code 中。927某些 Anthropic 托管的连接器(如 Microsoft 365、Gmail 和 Google Calendar)不支持来自 Claude Code 的本地 OAuth,因为上游身份提供商仅接受 claude.ai 注册的重定向 URL。从 v2.1.162 开始,在 `/mcp` 中对这些主机之一进行身份验证会显示一条消息,指导您改为在 claude.ai 上的"设置"→"连接器"中连接它。连接后,连接器会自动出现在 Claude Code 中。

921 928 

929<h3 id="organization-controls-on-connector-tools">

930 组织对连接器工具的控制

931</h3>

932 

933您的组织可以对 [claude.ai connectors](https://claude.com/docs/connectors) 设置按工具控制。Claude Code 在启动时读取这些设置并在本地强制执行。运行 `/mcp` 以查看哪个设置适用于连接器上的每个工具。

934 

935* **工具设置为 `ask`**:Claude Code 会在每次调用时提示,原因是 `Your organization requires approval for this tool`。即使在 `acceptEdits`、`auto` 和 `bypassPermissions` [permission modes](/zh-CN/permissions#permission-modes) 中,提示也会出现,并且永远不会提供记住您选择的选项。匹配该工具的 [Allow rules](/zh-CN/permissions) 也不会跳过提示。在 `dontAsk` 模式中(从不提示),Claude Code 会改为拒绝该调用。

936* **工具设置为 `blocked`**:Claude Code 在 Claude 看到之前过滤掉该工具,因此它永远不会出现在工具列表中。

937 

938强制执行这些控制需要 Claude Code v2.1.129 或更高版本。早期版本会忽略这些设置并应用标准权限流程。

939 

922<h3 id="disable-claude-ai-connectors">940<h3 id="disable-claude-ai-connectors">

923 禁用 claude.ai 连接器941 禁用 claude.ai 连接器

924</h3>942</h3>


1191 1209 

1192工具搜索默认启用:MCP 工具被延迟并按需发现。Claude Code 在 Google Cloud 的 Agent Platform 上默认禁用它。当 `ANTHROPIC_BASE_URL` 指向非第一方主机时,它也被禁用,因为大多数代理不转发 `tool_reference` 块。显式设置 `ENABLE_TOOL_SEARCH` 以覆盖任一回退。1210工具搜索默认启用:MCP 工具被延迟并按需发现。Claude Code 在 Google Cloud 的 Agent Platform 上默认禁用它。当 `ANTHROPIC_BASE_URL` 指向非第一方主机时,它也被禁用,因为大多数代理不转发 `tool_reference` 块。显式设置 `ENABLE_TOOL_SEARCH` 以覆盖任一回退。

1193 1211 

1194工具搜索需要支持 `tool_reference` 块的模型。Haiku 模型不支持它。在 Google Cloud 的 Agent Platform 工具搜索支持 Claude Sonnet 4.5 及更高版本以及 Claude Opus 4.5 及更高版本1212设置 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/zh-CN/env-vars) 保持工具搜索关闭`ENABLE_TOOL_SEARCH` 无法覆盖它。该变量删除 `defer_loading` 工具定义和 `tool_reference` 内容块所需的 beta 标头

1213 

1214工具搜索需要支持 `tool_reference` 块的模型:Claude Sonnet 4.5、Claude Haiku 4.5、Claude Opus 4.5 及更高版本的模型。有关当前列表,请参阅 [API 文档中的模型兼容性](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility)。在 Google Cloud 的 Agent Platform 上,工具搜索支持 Claude Sonnet 4.5 及更高版本以及 Claude Opus 4.5 及更高版本。

1195 1215 

1196使用 `ENABLE_TOOL_SEARCH` 环境变量控制工具搜索行为:1216使用 `ENABLE_TOOL_SEARCH` 环境变量控制工具搜索行为:

1197 1217 

memory.md +4 −0

Details

257---257---

258```258```

259 259 

260Glob 语法将 `[` 视为括号表达式的开始,例如 `[abc]`。一个包含 `[` 的模式无法读作括号表达式,例如 `photos [2024/**`,是无效的:它不匹配任何内容,规则的其他模式继续工作。要匹配文件名中的字面 `[`,将其转义为 `photos \[2024/**`。{/* min-version: 2.1.207 */}在 v2.1.207 之前,一个无效模式会导致 Read 工具对规则被评估的每个文件失败,而不是不匹配任何内容。

261 

260<h4 id="share-rules-across-projects-with-symlinks">262<h4 id="share-rules-across-projects-with-symlinks">

261 使用符号链接跨项目共享规则263 使用符号链接跨项目共享规则

262</h4>264</h4>


474 476 

475超过 200 行的文件消耗更多上下文并可能降低遵守度。使用 [路径范围规则](#path-specific-rules) 仅在 Claude 处理匹配文件时加载指令,或修剪不是每个会话都需要的内容。分割到 [`@path` 导入](#import-additional-files) 有助于组织,但不会减少上下文,因为导入的文件在启动时加载。477超过 200 行的文件消耗更多上下文并可能降低遵守度。使用 [路径范围规则](#path-specific-rules) 仅在 Claude 处理匹配文件时加载指令,或修剪不是每个会话都需要的内容。分割到 [`@path` 导入](#import-additional-files) 有助于组织,但不会减少上下文,因为导入的文件在启动时加载。

476 478 

479[`/doctor`](/zh-CN/commands#all-commands) 检查为已检入的 CLAUDE.md 提议修剪:它删除 Claude 可以从代码库派生的内容,例如目录布局、依赖项列表和架构概览,并保留与工具默认值不同的陷阱、基本原理和约定。修剪检查需要 Claude Code v2.1.206 或更高版本。

480 

477<h3 id="instructions-seem-lost-after-/compact">481<h3 id="instructions-seem-lost-after-/compact">

478 在 `/compact` 后指令似乎丢失了482 在 `/compact` 后指令似乎丢失了

479</h3>483</h3>

Details

104 104 

1051. 导航到 [Microsoft Foundry 门户](https://ai.azure.com/)1051. 导航到 [Microsoft Foundry 门户](https://ai.azure.com/)

1062. 创建新资源,记下您的资源名称1062. 创建新资源,记下您的资源名称

1073. 为 Claude 模型创建部署:1073. 为 Claude 模型创建部署,记下您为每个模型指定的部署名称;您将在第 4 步中将这些名称设置为模型变量

108 * Claude Opus108 * Claude Opus

109 * Claude Sonnet109 * Claude Sonnet

110 * Claude Haiku110 * Claude Haiku


1201. 在 Microsoft Foundry 门户中导航到您的资源1201. 在 Microsoft Foundry 门户中导航到您的资源

1212. 转到**端点和密钥**部分1212. 转到**端点和密钥**部分

1223. 复制 **API 密钥**1223. 复制 **API 密钥**

1234. 设置环境变量:1234. 设置环境变量,将 `your-azure-api-key` 替换为您复制的密钥

124 124 

125```bash theme={null}125```bash theme={null}

126export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key126export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key


209 209 

210Claude Code 从环境中读取 `CLAUDE_CODE_USE_FOUNDRY` 和其他 Microsoft Foundry 变量,并在第一个提示时连接到您的 Azure 资源。与 Amazon Bedrock 和 Google Cloud 的 Agent Platform 不同,Microsoft Foundry 没有交互式设置向导,因此第 3 和第 4 步中的环境变量是唯一的配置路径。210Claude Code 从环境中读取 `CLAUDE_CODE_USE_FOUNDRY` 和其他 Microsoft Foundry 变量,并在第一个提示时连接到您的 Azure 资源。与 Amazon Bedrock 和 Google Cloud 的 Agent Platform 不同,Microsoft Foundry 没有交互式设置向导,因此第 3 和第 4 步中的环境变量是唯一的配置路径。

211 211 

212要验证您的设置,请在 Claude Code 中运行 `/status`。API 提供商行显示 `Microsoft Foundry`,以及您配置的资源名称或基础 URL。

213 

212<h2 id="azure-rbac-configuration">214<h2 id="azure-rbac-configuration">

213 Azure RBAC 配置215 Azure RBAC 配置

214</h2>216</h2>


239 241 

240* 在环境中配置 Entra ID,或设置 `ANTHROPIC_FOUNDRY_API_KEY`。242* 在环境中配置 Entra ID,或设置 `ANTHROPIC_FOUNDRY_API_KEY`。

241 243 

244如果请求在第一个提示上反复出现连接错误而失败:

245 

246* 检查 `ANTHROPIC_FOUNDRY_RESOURCE` 是否设置为您的实际资源名称,而不是占位符。Claude Code 从此值构建端点 URL,因此不正确的名称会指向不存在的主机。

247 

242<h2 id="additional-resources">248<h2 id="additional-resources">

243 其他资源249 其他资源

244</h2>250</h2>

model-config.md +25 −16

Details

19 * Microsoft Foundry:部署名称19 * Microsoft Foundry:部署名称

20 * Google Cloud 的 Agent Platform:版本名称20 * Google Cloud 的 Agent Platform:版本名称

21 21 

22有关哪个模型和工作量级别适合不同类型工作的指导,请参阅博客上的 [Choosing a Claude model and effort level in Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code)。

23 

22<Note>24<Note>

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

24</Note>26</Note>


30模型别名提供了一种便捷的方式来选择模型设置,无需记住确切的版本号:32模型别名提供了一种便捷的方式来选择模型设置,无需记住确切的版本号:

31 33 

32| 模型别名 | 行为 |34| 模型别名 | 行为 |

33| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |35| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

34| **`default`** | 特殊值,清除任何模型覆盖并恢复到您的账户类型推荐的模型,或在管理员设置了[组织默认模型](#organization-default-model)时恢复到该模型。本身不是模型别名 |36| **`default`** | 特殊值,清除任何模型覆盖并恢复到您的账户类型推荐的模型,或在管理员设置了[组织默认模型](#organization-default-model)时恢复到该模型。本身不是模型别名 |

35| **`best`** | 在您的组织有权限的地方使用 Fable 5,否则使用最新的 Opus 模型 |37| **`best`** | 在您的组织有权限的地方使用 Fable 5,否则使用最新的 Opus 模型 |

36| **`fable`** | 使用 Claude Fable 5 处理您最困难和耗时最长的任务 |38| **`fable`** | 使用 Claude Fable 5 处理您最困难和耗时最长的任务 |

37| **`sonnet`** | 使用最新的 Sonnet 模型用于日常编码任务 |39| **`sonnet`** | 使用最新的 Sonnet 模型用于日常编码任务 |

38| **`opus`** | 使用最新的 Opus 模型用于复杂推理任务 |40| **`opus`** | 使用最新的 Opus 模型用于复杂推理任务 |

39| **`haiku`** | 使用快速高效的 Haiku 模型用于简单任务 |41| **`haiku`** | 使用快速高效的 Haiku 模型用于简单任务 |

40| **`sonnet[1m]`** | 使用 Sonnet 和[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)用于长会话。当 `sonnet` 已解析为具有原生 1M 窗口的 Sonnet 5 时无效;在 [LLM 网关](/zh-CN/llm-gateway)后面,为 Sonnet 5 选择 1M 窗口 |42| **`sonnet[1m]`** | 使用 Sonnet 和[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#context-window-sizes-by-model)用于长会话。当 `sonnet` 已解析为具有原生 1M 窗口的 Sonnet 5 时无效;在 [LLM gateway](/zh-CN/llm-gateway)后面,为 Sonnet 5 选择 1M 窗口 |

41| **`opus[1m]`** | 使用 Opus 和[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)用于长会话 |43| **`opus[1m]`** | 使用 Opus 和[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#context-window-sizes-by-model)用于长会话 |

42| **`opusplan`** | 特殊模式,在 Plan Mode 中使用 `opus`,然后在执行时切换到 `sonnet` |44| **`opusplan`** | 特殊模式,在 Plan Mode 中使用 `opus`,然后在执行时切换到 `sonnet` |

43 45 

44每个别名解析为什么取决于提供商46`opus` 和 `sonnet` 别名解析为的版本取决于提供商

45 47 

46* **Anthropic API**:`opus` 解析为 Opus 4.8,`sonnet` 解析为 Sonnet 5。48| 提供商 | `opus` | `sonnet` |

47* **[Claude Platform on AWS](/zh-CN/claude-platform-on-aws)**:`opus` 解析为 Opus 4.8,`sonnet` 解析为 Sonnet 4.6。49| :------------------------------------------------------ | :------- | :--------- |

48* **Amazon Bedrock 和 Google Cloud 的 Agent Platform**:`opus` 解析为 Opus 4.8,`sonnet` 解析为 Sonnet 4.550| Anthropic API | Opus 4.8 | Sonnet 5 |

49* **Microsoft Foundry**:`opus` 解析为 Opus 4.6,`sonnet` 解析为 Sonnet 4.5。51| [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) | Opus 4.8 | Sonnet 4.6 |

52| Amazon Bedrock、Google Cloud 的 Agent Platform | Opus 4.8 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

50 54 

51当别名解析为较旧的模型时,可以通过显式选择完整模型名称或设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 来获得更新的模型。55当别名解析为较旧的模型时,可以通过显式选择完整模型名称或设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 来获得更新的模型。

52 56 

57{/* min-version: 2.1.207 */}在 v2.1.207 之前,`opus` 在 Claude Platform on AWS 上解析为 Opus 4.7,在 Amazon Bedrock 和 Google Cloud 的 Agent Platform 上解析为 Opus 4.6。

58 

53别名指向您的提供商推荐的版本,并随时间更新。要固定到特定版本,请使用完整模型名称(例如 `claude-opus-4-8`),或设置相应的环境变量,如 `ANTHROPIC_DEFAULT_OPUS_MODEL`。59别名指向您的提供商推荐的版本,并随时间更新。要固定到特定版本,请使用完整模型名称(例如 `claude-opus-4-8`),或设置相应的环境变量,如 `ANTHROPIC_DEFAULT_OPUS_MODEL`。

54 60 

55<Note>61<Note>


97 103 

98`--model` 标志和 `ANTHROPIC_MODEL` 环境变量仅适用于您启动它们的会话。要同时在不同终端中运行不同的模型,请使用各自的 `--model` 标志启动每个终端,而不是使用 `/model` 切换。104`--model` 标志和 `ANTHROPIC_MODEL` 环境变量仅适用于您启动它们的会话。要同时在不同终端中运行不同的模型,请使用各自的 `--model` 标志启动每个终端,而不是使用 `/model` 切换。

99 105 

106当 Claude Code 与 Anthropic API 通信时,`/model` 选择器中会显示价格,直接或通过代理它的 [LLM gateway](/zh-CN/llm-gateway),行上的价格是该行选择的模型的价格。在 [Amazon Bedrock](/zh-CN/third-party-integrations) 等第三方提供商上和在 [Claude apps gateway](/zh-CN/claude-apps-gateway) 上,您的提供商或网关决定您支付的费用,所以选择器行不显示价格。价格仅是显示标签;它不影响行选择哪个模型或您的提供商计费的内容。在 v2.1.206 之前,[Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 和网关会话显示 Anthropic 列表价格,一行可能显示与其选择的模型不同的模型的价格。

107 

100使用 `claude --resume`、`--continue` 或 `/resume` 选择器启动的恢复会话会保持保存转录时使用的模型,无论当前 `model` 设置如何。如果该模型已被停用或被 [`availableModels`](#restrict-model-selection) 排除,会话会回退到正常的优先级顺序。这可以防止另一个会话的 `/model` 选择在恢复时改变模型。108使用 `claude --resume`、`--continue` 或 `/resume` 选择器启动的恢复会话会保持保存转录时使用的模型,无论当前 `model` 设置如何。如果该模型已被停用或被 [`availableModels`](#restrict-model-selection) 排除,会话会回退到正常的优先级顺序。这可以防止另一个会话的 `/model` 选择在恢复时改变模型。

101 109 

102您为新启动选择的模型使用 `--model` 或 `ANTHROPIC_MODEL` 仍然优先于恢复的模型。{/* min-version: 2.1.195 */}从 v2.1.195 开始,[`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables) 系列变量也是如此。110您为新启动选择的模型使用 `--model` 或 `ANTHROPIC_MODEL` 仍然优先于恢复的模型。{/* min-version: 2.1.195 */}从 v2.1.195 开始,[`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables) 系列变量也是如此。


345`default` 的行为取决于您的账户类型:353`default` 的行为取决于您的账户类型:

346 354 

347* **Max、Team Premium、Enterprise 按使用量付费和 Anthropic API**:默认为 Opus 4.8355* **Max、Team Premium、Enterprise 按使用量付费和 Anthropic API**:默认为 Opus 4.8

348* **AWS 上的 Claude Platform**:默认为 Opus 4.8356* **AWS 上的 Claude Platform 和 Amazon Bedrock 以及 Google Cloud 的 Agent Platform**:默认为 Opus 4.8

349* **Pro、Team Standard 和 Enterprise 订阅席位**:默认为 Sonnet 5357* **Pro、Team Standard 和 Enterprise 订阅席位**:默认为 Sonnet 5

350* **Amazon Bedrock 和 Google Cloud 的 Agent Platform**:默认为 Opus 4.8

351* **Microsoft Foundry**:默认为 Sonnet 4.5358* **Microsoft Foundry**:默认为 Sonnet 4.5

352 359 

353Enterprise 按使用量付费是指按使用量而非按订阅席位计费的 Enterprise 组织。360Enterprise 按使用量付费是指按使用量而非按订阅席位计费的 Enterprise 组织。

354 361 

362{/* min-version: 2.1.207 */}在 v2.1.207 之前,`default` 在 AWS 上的 Claude Platform 上解析为 Opus 4.7,在 Amazon Bedrock 和 Google Cloud 的 Agent Platform 上解析为 Sonnet 4.5。

363 

355当管理员设置了[组织默认模型](#organization-default-model)时,`default` 解析为该模型,而不是上面的账户类型默认值。需要 Claude Code v2.1.196 或更高版本。364当管理员设置了[组织默认模型](#organization-default-model)时,`default` 解析为该模型,而不是上面的账户类型默认值。需要 Claude Code v2.1.196 或更高版本。

356 365 

357当托管设置[对默认模型强制执行允许列表](#enforce-the-allowlist-for-the-default-model)且账户类型默认值不在 `availableModels` 中时,`default` 会解析为强制执行的默认值,而不是上面的账户类型默认值。当两者都适用时,组织默认值首先替换账户类型默认值,然后强制执行应用于它:允许列表中的组织默认值被保留,而列表外的则解析为强制执行的默认值。366当托管设置[对默认模型强制执行允许列表](#enforce-the-allowlist-for-the-default-model)且账户类型默认值不在 `availableModels` 中时,`default` 会解析为强制执行的默认值,而不是上面的账户类型默认值。当两者都适用时,组织默认值首先替换账户类型默认值,然后强制执行应用于它:允许列表中的组织默认值被保留,而列表外的则解析为强制执行的默认值。


412 421 

413本部分涵盖来自 Fable 5 的基于内容的回退。有关模型过载或不可用时的基于可用性的回退,请参阅 [Fallback model chains](#fallback-model-chains)。422本部分涵盖来自 Fable 5 的基于内容的回退。有关模型过载或不可用时的基于可用性的回退,请参阅 [Fallback model chains](#fallback-model-chains)。

414 423 

415Fable 5 运行时具有网络安全和生物学内容的安全分类器。当分类器标记请求时,Claude Code 在 Opus 4.8 上重新运行该请求并在记录中显示通知424Fable 5 运行时具有网络安全和生物学内容的安全分类器。当分类器标记请求时,Claude Code 在您提供商的默认 Opus 模型上重新运行该请求,并在记录中显示通知。Anthropic API、[LLM gateway](/zh-CN/llm-gateway) 部署和 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 上,该模型是 Opus 4.8。在 [Claude apps gateway](/zh-CN/claude-apps-gateway) 上它是 Opus 4.7,除非您将 [`opus` 别名](#environment-variables)指向另一个模型

416 425 

417会话随后在该 Opus 模型上继续。要返回 Fable 5,请运行 `/model fable`。426会话随后在该 Opus 模型上继续。要返回 Fable 5,请运行 `/model fable`。

418 427 


562 扩展上下文571 扩展上下文

563</h3>572</h3>

564 573 

565Fable 5、Sonnet 5、Opus 4.6 及更高版本和 Sonnet 4.6 支持[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)用于包含大型代码库的长会话。574Fable 5、Sonnet 5、Opus 4.6 及更高版本和 Sonnet 4.6 支持[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#context-window-sizes-by-model)用于包含大型代码库的长会话。

566 575 

567可用性因模型和计划而异。在 Anthropic API 上,Fable 5、Sonnet 5、Opus 4.8 和 Opus 4.7 始终使用 1M 窗口运行。在 Max、Team 和 Enterprise 计划上,Opus 会自动升级到 1M 上下文,无需额外配置。这适用于 Team Standard 和 Team Premium 席位。Sonnet 4.6 with 1M context 不是自动升级的一部分,需要在每个订阅计划上[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans),包括 Max。576可用性因模型和计划而异。在 Anthropic API 上,Fable 5、Sonnet 5、Opus 4.8 和 Opus 4.7 始终使用 1M 窗口运行。在 Max、Team 和 Enterprise 计划上,Opus 会自动升级到 1M 上下文,无需额外配置。这适用于 Team Standard 和 Team Premium 席位。Sonnet 4.6 with 1M context 不是自动升级的一部分,需要在每个订阅计划上[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans),包括 Max。

568 577 


634您可以使用以下环境变量来控制别名映射到的模型名称。每个值必须是完整的模型名称,或您的 API 提供商的等效标识符。643您可以使用以下环境变量来控制别名映射到的模型名称。每个值必须是完整的模型名称,或您的 API 提供商的等效标识符。

635 644 

636| 环境变量 | 描述 |645| 环境变量 | 描述 |

637| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |646| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

638| `ANTHROPIC_DEFAULT_FABLE_MODEL` | 用于 `fable` 的模型,以及 Claude Code 识别为 Fable 5 的模型 ID,用于第三方提供商上的[自动模型回退](#automatic-model-fallback) |647| `ANTHROPIC_DEFAULT_FABLE_MODEL` | 用于 `fable` 的模型,以及 Claude Code 识别为 Fable 5 的模型 ID,用于第三方提供商上的[自动模型回退](#automatic-model-fallback) |

639| `ANTHROPIC_DEFAULT_OPUS_MODEL` | 用于 `opus` 的模型,或在 Plan Mode 活跃时用于 `opusplan` 的模型。 |648| `ANTHROPIC_DEFAULT_OPUS_MODEL` | 用于 `opus` 的模型,或在 Plan Mode 活跃时用于 `opusplan` 的模型。 |

640| `ANTHROPIC_DEFAULT_SONNET_MODEL` | 用于 `sonnet` 的模型,或在 Plan Mode 不活跃时用于 `opusplan` 的模型。 |649| `ANTHROPIC_DEFAULT_SONNET_MODEL` | 用于 `sonnet` 的模型,或在 Plan Mode 不活跃时用于 `opusplan` 的模型。 |

641| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | 用于 `haiku` 的模型,或[后台功能](/zh-CN/costs#background-token-usage) |650| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | 用于 `haiku` 的模型,或[后台功能](/zh-CN/costs#background-token-usage) |

642| `CLAUDE_CODE_SUBAGENT_MODEL` | 用于所有 [subagents](/zh-CN/sub-agents#choose-a-model)[agent teams](/zh-CN/agent-teams) 的模型覆盖每次调用的 `model` 参数和 subagent 定义的 `model` frontmatter。设置为 `inherit` 以改用常规模型解析 |651| `CLAUDE_CODE_SUBAGENT_MODEL` | 用于所有 [subagents](/zh-CN/sub-agents#choose-a-model)[agent teams](/zh-CN/agent-teams) 和 [workflow](/zh-CN/workflows) 运行的代理的模型接受别名(如 `haiku`)或完整模型名称,并覆盖每次调用的 `model` 参数和 subagent 定义的 `model` frontmatter。设置为 `inherit` 以改用常规模型解析 |

643 652 

644注意:`ANTHROPIC_SMALL_FAST_MODEL` 已弃用,改为使用 `ANTHROPIC_DEFAULT_HAIKU_MODEL`。653注意:`ANTHROPIC_SMALL_FAST_MODEL` 已弃用,改为使用 `ANTHROPIC_DEFAULT_HAIKU_MODEL`。

645 654 


649 658 

650当通过 [Amazon Bedrock](/zh-CN/amazon-bedrock)、[Google Cloud's Agent Platform](/zh-CN/google-vertex-ai)、[Microsoft Foundry](/zh-CN/microsoft-foundry) 或 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 部署 Claude Code 时,在向用户推出前固定模型版本。659当通过 [Amazon Bedrock](/zh-CN/amazon-bedrock)、[Google Cloud's Agent Platform](/zh-CN/google-vertex-ai)、[Microsoft Foundry](/zh-CN/microsoft-foundry) 或 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 部署 Claude Code 时,在向用户推出前固定模型版本。

651 660 

652不固定模型,Claude Code 会使用模型别名(如 `fable`、`opus`、`sonnet` 和 `haiku`),这些别名会解析为每个提供商的内置默认模型 ID。该默认值可能滞后于最新的 Anthropic 版本,并且它指向的模型可能尚未在用户账户中启用。当默认值不可用时,Amazon Bedrock 和 Google Cloud's Agent Platform 用户会看到通知并回退到该会话的先前版本, Microsoft Foundry 用户会看到错误,因为 Microsoft Foundry 没有等效的启动检查。661不固定模型,Claude Code 会使用模型别名(如 `fable`、`opus`、`sonnet` 和 `haiku`),这些别名会解析为每个提供商的内置默认模型 ID。该默认值可能滞后于最新的 Anthropic 版本,并且它指向的模型可能尚未在用户账户中启用。当默认值不可用时,Amazon Bedrock 和 Google Cloud's Agent Platform 用户会看到通知并回退到该会话的先前版本,或当默认值是 Opus 模型且没有 Opus 版本可用时回退到默认 Sonnet 模型。Microsoft Foundry 用户会看到错误,因为 Microsoft Foundry 没有等效的启动检查。

653 662 

654<Warning>663<Warning>

655 在初始设置中将模型环境变量设置为特定版本 ID。固定让您控制用户何时迁移到新模型。664 在初始设置中将模型环境变量设置为特定版本 ID。固定让您控制用户何时迁移到新模型。


674`[1m]` 后缀将 1M 上下文窗口应用于 `opus` 和 `sonnet` 别名的所有使用,包括 [`opusplan`](#opusplan-model-setting) 的 plan-mode Opus 阶段。683`[1m]` 后缀将 1M 上下文窗口应用于 `opus` 和 `sonnet` 别名的所有使用,包括 [`opusplan`](#opusplan-model-setting) 的 plan-mode Opus 阶段。

675 684 

676* Claude Code 在将模型 ID 发送到您的提供商之前会删除该后缀。685* Claude Code 在将模型 ID 发送到您的提供商之前会删除该后缀。

677* 仅当底层模型[支持 1M 上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)时才附加 `[1m]`。686* 仅当底层模型[支持 1M 上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)时才附加 `[1m]`。

678* 该后缀按变量读取,而不是按模型读取。在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上,一个变量中没有 `[1m]` 的模型 ID 使用 200K 上下文,即使另一个变量使用相同的模型和后缀。Sonnet 5 在这些提供商上始终以 1M 窗口运行,从不需要该后缀。687* 该后缀按变量读取,而不是按模型读取。在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上,一个变量中没有 `[1m]` 的模型 ID 使用 200K 上下文,即使另一个变量使用相同的模型和后缀。Sonnet 5 在这些提供商上始终以 1M 窗口运行,从不需要该后缀。

679 688 

680<Note>689<Note>

Details

119Claude Code 需要访问以下 URL。在您的代理配置和防火墙规则中将这些 URL 列入白名单,特别是在容器化或受限网络环境中。119Claude Code 需要访问以下 URL。在您的代理配置和防火墙规则中将这些 URL 列入白名单,特别是在容器化或受限网络环境中。

120 120 

121| URL | 用途 |121| URL | 用途 |

122| ------------------------------ | ------------------------------------------------------------------------------------------------ |122| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

123| `api.anthropic.com` | Claude API 请求 |123| `api.anthropic.com` | Claude API 请求 |

124| `claude.ai` | claude.ai 账户身份验证 |124| `claude.ai` | claude.ai 账户身份验证 |

125| `platform.claude.com` | Anthropic 控制台账户身份验证 |125| `platform.claude.com` | Anthropic 控制台账户身份验证 |

126| `mcp-proxy.anthropic.com` | [来自 claude.ai 的 MCP 连接器](/zh-CN/mcp#use-mcp-servers-from-claude-ai),包括组织管理员配置的连接器。连接器流量通过此代理路由;对于 claude.ai 认证用户,连接器默认启用。要禁用,请设置 [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/zh-CN/env-vars) 或 [`disableClaudeAiConnectors`](/zh-CN/settings#available-settings) 设置 |

126| `downloads.claude.ai` | 插件可执行文件下载;原生安装程序和原生自动更新程序 |127| `downloads.claude.ai` | 插件可执行文件下载;原生安装程序和原生自动更新程序 |

128| `storage.googleapis.com` | `/plugin` 中显示的安装计数和插件元数据。已签名的 [artifact](/zh-CN/artifacts) 上传首先尝试此主机;当 `api.anthropic.com` 被阻止时,发布会回退到它 |

127| `storage.googleapis.com` | {/* max-version: 2.1.115 */}2.1.116 版本之前的原生安装程序和原生自动更新程序 |129| `storage.googleapis.com` | {/* max-version: 2.1.115 */}2.1.116 版本之前的原生安装程序和原生自动更新程序 |

128| `bridge.claudeusercontent.com` | [Chrome 中的 Claude](/zh-CN/chrome) 扩展 WebSocket 桥接 |130| `bridge.claudeusercontent.com` | [Chrome 中的 Claude](/zh-CN/chrome) 扩展 WebSocket 桥接 |

129| `*.claudeusercontent.com` | 在 claude.ai 上查看[artifacts](/zh-CN/artifacts)。查看器从此源的沙箱子域加载每个 artifact 的内容。查看器的浏览器中需要此项,CLI 本身不需要 |131| `*.claudeusercontent.com` | 在 claude.ai 上查看[artifacts](/zh-CN/artifacts)。查看器从此源的沙箱子域加载每个 artifact 的内容。查看器的浏览器中需要此项,CLI 本身不需要 |

130| `raw.githubusercontent.com` | [`/release-notes`](/zh-CN/commands) 的更新日志源和更新后显示的发布说明;插件市场安装计数 |132| `raw.githubusercontent.com` | [`/release-notes`](/zh-CN/commands) 的更新日志源和更新后显示的发布说明 |

131 133 

132如果您通过 npm 安装 Claude Code 或管理自己的二进制分发,最终用户可能不需要访问 `downloads.claude.ai` 或 `storage.googleapis.com`134如果您通过 npm 安装 Claude Code 或管理自己的二进制分发,最终用户不需要原生安装程序,自动更新程序不需要使用 `downloads.claude.ai`。表中的其他用途无论安装方法如何都适用。

133 135 

134Claude Code 默认还会发送可选的操作遥测数据,您可以使用环境变量禁用它。请参阅 [遥测服务](/zh-CN/data-usage#telemetry-services) 了解如何在最终确定您的白名单之前禁用它。136Claude Code 默认还会发送可选的操作遥测数据,您可以使用环境变量禁用它。请参阅 [遥测服务](/zh-CN/data-usage#telemetry-services) 了解如何在最终确定您的白名单之前禁用它。

135 137 


139 141 

140对于防火墙后的自托管 [GitHub Enterprise Server](/zh-CN/github-enterprise-server) 实例,请将相同的 [Anthropic API IP 地址](https://platform.claude.com/docs/en/api/ip-addresses) 列入白名单,以便 Anthropic 基础设施可以访问您的 GHES 主机来克隆存储库和发布审查评论。142对于防火墙后的自托管 [GitHub Enterprise Server](/zh-CN/github-enterprise-server) 实例,请将相同的 [Anthropic API IP 地址](https://platform.claude.com/docs/en/api/ip-addresses) 列入白名单,以便 Anthropic 基础设施可以访问您的 GHES 主机来克隆存储库和发布审查评论。

141 143 

144<h3 id="desktop-and-claude-ai">

145 Desktop 和 claude.ai

146</h3>

147 

148前面的表格主要涵盖独立 CLI。Claude Desktop 应用和浏览器中的 claude.ai 从其他 Anthropic CDN 主机加载其应用代码,包括 `assets-proxy.anthropic.com`。允许 `claude.ai` 而阻止这些主机会产生空白页面而不是错误。请参阅 Desktop 页面上的 [网络访问要求](/zh-CN/desktop#network-access-requirements)。

149 

142<h2 id="additional-resources">150<h2 id="additional-resources">

143 其他资源151 其他资源

144</h2>152</h2>

overview.md +1 −0

Details

250* [快速入门](/zh-CN/quickstart):通过你的第一个真实任务,从探索代码库到提交修复250* [快速入门](/zh-CN/quickstart):通过你的第一个真实任务,从探索代码库到提交修复

251* [存储说明和内存](/zh-CN/memory):使用 CLAUDE.md 文件和自动内存为 Claude 提供持久说明251* [存储说明和内存](/zh-CN/memory):使用 CLAUDE.md 文件和自动内存为 Claude 提供持久说明

252* [常见工作流](/zh-CN/common-workflows)和[最佳实践](/zh-CN/best-practices):充分利用 Claude Code 的模式252* [常见工作流](/zh-CN/common-workflows)和[最佳实践](/zh-CN/best-practices):充分利用 Claude Code 的模式

253* [每项任务的框架](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code):Claude Code 团队如何使用[动态工作流](/zh-CN/workflows)大规模编排子代理

253* [设置](/zh-CN/settings):为你的工作流自定义 Claude Code254* [设置](/zh-CN/settings):为你的工作流自定义 Claude Code

254* [故障排除](/zh-CN/troubleshooting):常见问题的解决方案255* [故障排除](/zh-CN/troubleshooting):常见问题的解决方案

255* [code.claude.com](https://code.claude.com/):演示、定价和产品详情256* [code.claude.com](https://code.claude.com/):演示、定价和产品详情

Details

27 27 

28在除 `bypassPermissions` 之外的每种模式中,对[受保护路径](#protected-paths)的写入永远不会自动批准,保护存储库状态和 Claude 自己的配置免受意外损坏。28在除 `bypassPermissions` 之外的每种模式中,对[受保护路径](#protected-paths)的写入永远不会自动批准,保护存储库状态和 Claude 自己的配置免受意外损坏。

29 29 

30模式设置基线。在顶部分层[权限规则](/zh-CN/permissions#manage-permissions)以预先批准或阻止特定工具。拒绝规则和显式询问规则适用于每种模式,包括 `bypassPermissions`。允许规则在该模式中无效,因为其他所有内容都已被批准。30模式设置基线。在顶部分层[权限规则](/zh-CN/permissions#manage-permissions)以预先批准或阻止特定工具。拒绝规则、显式询问规则、[连接器工具上的组织 `ask` 设置](/zh-CN/mcp#organization-controls-on-connector-tools)和 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 标记适用于每种模式,包括 `bypassPermissions`。允许规则在该模式中无效,因为其他所有内容都已被批准。

31 31 

32<h2 id="switch-permission-modes">32<h2 id="switch-permission-modes">

33 切换权限模式33 切换权限模式


137 137 

138`acceptEdits` 模式让 Claude 在你的工作目录中创建和编辑文件,无需提示。当此模式处于活动状态时,状态栏显示 `⏵⏵ accept edits on`。138`acceptEdits` 模式让 Claude 在你的工作目录中创建和编辑文件,无需提示。当此模式处于活动状态时,状态栏显示 `⏵⏵ accept edits on`。

139 139 

140除了文件编辑外,`acceptEdits` 模式还自动批准常见的文件系统 Bash 命令:`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp` 和 `sed`。当这些命令带有安全环境变量(如 `LANG=C` 或 `NO_COLOR=1`)或进程包装器(如 `timeout`、`nice` 或 `nohup`)作为前缀时,也会自动批准。与文件编辑一样,自动批准仅适用于工作目录或 `additionalDirectories` 内的路径。超出该范围的路径、对[受保护路径](#protected-paths)的写入以及所有其他 Bash 命令仍然会提示140除了文件编辑外,`acceptEdits` 模式还自动批准常见的文件系统 Bash 命令:`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp` 和 `sed`。当这些命令带有安全环境变量(如 `LANG=C` 或 `NO_COLOR=1`)或进程包装器(如 `timeout`、`nice` 或 `nohup`)作为前缀时,也会自动批准。与文件编辑一样,自动批准仅适用于工作目录或 `additionalDirectories` 内的路径。超出该范围的路径、对[受保护路径](#protected-paths)的写入以及所有其他 Bash 命令(除了[内置只读集合](/zh-CN/permissions#read-only-commands))仍然会提示

141 141 

142当启用 [PowerShell tool](/zh-CN/tools-reference#powershell-tool) 时,`acceptEdits` 模式还会自动批准 `Set-Content`、`Add-Content`、`Clear-Content` 和 `Remove-Item` 在范围内路径上的操作,以及它们的常见别名。相同的范围和受保护路径规则适用。142当启用 [PowerShell tool](/zh-CN/tools-reference#powershell-tool) 时,`acceptEdits` 模式还会自动批准 `Set-Content`、`Add-Content`、`Clear-Content` 和 `Remove-Item` 在范围内路径上的操作,以及它们的常见别名。相同的范围和受保护路径规则适用。

143 143 


201 201 

202自动模式让 Claude 无需例行权限提示即可执行。一个独立的分类器模型在操作运行前审查它们,阻止任何超出您请求范围、针对无法识别的基础设施或看起来由 Claude 读取的恶意内容驱动的操作。显式的[询问规则](/zh-CN/permissions#manage-permissions)仍然会强制显示提示。202自动模式让 Claude 无需例行权限提示即可执行。一个独立的分类器模型在操作运行前审查它们,阻止任何超出您请求范围、针对无法识别的基础设施或看起来由 Claude 读取的恶意内容驱动的操作。显式的[询问规则](/zh-CN/permissions#manage-permissions)仍然会强制显示提示。

203 203 

204针对文件系统根目录或主目录的删除操作,如 `rm -rf /` 和 `rm -rf ~`,会提示批准而不是进入分类器。{/* min-version: 2.1.208 */}当命令包含带有 `$(...)` 或反引号的命令替换,或带有 `<(...)` 的进程替换时,此提示也会触发,无论删除是在替换内部(如 `echo "$(rm -rf ~)"`),还是在同一命令的其他地方。在 v2.1.208 之前,包含这些形式的命令进入分类器而不是提示。

205 

204自动模式还会促使 Claude 继续工作而不停下来提出澄清问题,尽管当您的提示或技能明确依赖它时,Claude 仍然会询问。为了获得更强的自主行为同时保持权限提示,请改为设置[主动输出风格](/zh-CN/output-styles)。206自动模式还会促使 Claude 继续工作而不停下来提出澄清问题,尽管当您的提示或技能明确依赖它时,Claude 仍然会询问。为了获得更强的自主行为同时保持权限提示,请改为设置[主动输出风格](/zh-CN/output-styles)。

205 207 

206<Warning>208<Warning>


210自动模式仅在您的账户满足以下所有要求时可用:212自动模式仅在您的账户满足以下所有要求时可用:

211 213 

212* **计划**:所有计划。214* **计划**:所有计划。

213* **所有者**:在 Team 和 Enterprise 上,所有者必须在[Claude Code 管理员设置](https://claude.ai/admin-settings/claude-code)中启用它,用户才能打开它。管理员也可以通过在[托管设置](/zh-CN/permissions#managed-settings)中将 `permissions.disableAutoMode` 设置为 `"disable"` 来关闭自动模式。对于桌面应用的 Code 选项卡,`disableAutoMode` 是组织级别的控制,管理员设置切换不适用。215* **所有者**:在 Team 和 Enterprise 上,所有者必须在 [Claude Code 管理员设置](https://claude.ai/admin-settings/claude-code)中启用它,用户才能打开它。管理员也可以通过在[托管设置](/zh-CN/permissions#managed-settings)中将 `permissions.disableAutoMode` 设置为 `"disable"` 来关闭自动模式。对于桌面应用的 Code 选项卡,`disableAutoMode` 是组织级别的控制,管理员设置切换不适用。

214* **模型**:在 Anthropic API 上,Claude Opus 4.6 或更高版本,或 Sonnet 4.6 或更高版本。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登录的 [Claude apps gateway](/zh-CN/claude-apps-gateway) 会话上,仅支持 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。较旧的模型,包括 Sonnet 4.5、Opus 4.5、Haiku 和 claude-3 模型,在任何提供商上都不受支持。216* **模型**:在 Anthropic API 上,Claude Opus 4.6 或更高版本,或 Sonnet 4.6 或更高版本。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登录的 [Claude apps gateway](/zh-CN/claude-apps-gateway) 会话上,仅支持 Claude Sonnet 5、Opus 4.7 和 Opus 4.8。较旧的模型,包括 Sonnet 4.5、Opus 4.5、Haiku 和 claude-3 模型,在任何提供商上都不受支持。

215* **提供商**:在 Anthropic API、Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登录的 Claude apps gateway 会话上默认可用。{/* min-version: 2.1.207 */}在 v2.1.158 到 v2.1.206 中,自动模式在除 Anthropic API 之外的所有这些提供商上都是关闭的,直到您设置 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`;v2.1.207 移除了该要求。217* **提供商**:在 Anthropic API、Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 和已登录的 Claude apps gateway 会话上默认可用。{/* min-version: 2.1.207 */}在 v2.1.158 到 v2.1.206 中,自动模式在除 Anthropic API 之外的所有这些提供商上都是关闭的,直到您设置 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`;v2.1.207 移除了该要求。

216 218 


301* 读取 `.env` 并向其匹配的 API 发送凭证303* 读取 `.env` 并向其匹配的 API 发送凭证

302* 只读 HTTP 请求304* 只读 HTTP 请求

303* 推送到您启动的分支或 Claude 创建的分支305* 推送到您启动的分支或 Claude 创建的分支

306* {/* min-version: 2.1.203 */}例行推送到存储库默认分支。在 v2.1.203 之前,任何直接推送到默认分支都被阻止

304 307 

305Claude Code v2.1.195 及更高版本也默认允许这些:308Claude Code v2.1.195 及更高版本也默认允许这些:

306 309 


319 322 

320运行 `claude auto-mode defaults` 查看完整规则列表。如果例行操作被阻止,管理员可以通过 `autoMode.environment` 设置添加受信任的存储库、存储桶和服务:请参阅[配置自动模式](/zh-CN/auto-mode-config)。323运行 `claude auto-mode defaults` 查看完整规则列表。如果例行操作被阻止,管理员可以通过 `autoMode.environment` 设置添加受信任的存储库、存储桶和服务:请参阅[配置自动模式](/zh-CN/auto-mode-config)。

321 324 

325推送到您的工作分支、例行推送到存储库默认分支以及创建与您的请求匹配的拉取请求都无需提示即可运行。分类器仅在推送存在风险时才阻止它,如强制推送或绕过您设置的审查的内容。要在保持自动模式的同时在这些操作前需要人工检查点,请添加 `permissions.ask` 规则:请参阅[常见边界](/zh-CN/auto-mode-config#common-boundaries)。

326 

322<h3 id="boundaries-you-state-in-conversation">327<h3 id="boundaries-you-state-in-conversation">

323 您在对话中陈述的边界328 您在对话中陈述的边界

324</h3>329</h3>


343 <Accordion title="分类器如何评估操作">348 <Accordion title="分类器如何评估操作">

344 每个操作都经过固定的决策顺序。第一个匹配的步骤获胜:349 每个操作都经过固定的决策顺序。第一个匹配的步骤获胜:

345 350 

346 1. 与您的[允许或拒绝规则](/zh-CN/permissions#manage-permissions)匹配的操作立即解决,除了[受保护路径](#protected-paths)的写入,即使允许规则匹配也会路由到分类器351 1. 与您的[允许、询问或拒绝规则](/zh-CN/permissions#manage-permissions)匹配的操作立即解决。写入[受保护路径](#protected-paths)的操作即使允许规则匹配也会路由到分类器。您的组织[设置为 `ask` 的连接器工具](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使允许规则匹配也会直接提示您。内容范围的询问规则回退到权限提示

347 2. 只读操作和工作目录中的文件编辑被自动批准,除了[受保护路径](#protected-paths)的写入352 2. 只读操作和工作目录中的文件编辑被自动批准,除了[受保护路径](#protected-paths)的写入

348 3. 其他所有内容都进入分类器。{/* min-version: 2.1.199 */}从 v2.1.199 开始,标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具跳过分类器并直接提示您,因此同意步骤从不代表工具作者自动批准353 3. 其他所有内容都进入分类器。您的组织[设置为 `ask` 的连接器工具](/zh-CN/mcp#organization-controls-on-connector-tools)跳过分类器并直接提示您,因此组织要求的批准从不被自动批准。{/* min-version: 2.1.199 */}从 v2.1.199 开始,标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具也跳过分类器并直接提示您,因此同意步骤从不代表工具作者自动批准

349 4. 如果分类器阻止,Claude 接收原因并尝试替代方案354 4. 如果分类器阻止,Claude 接收原因并尝试替代方案

350 355 

351 进入自动模式时,授予任意代码执行的广泛允许规则被丢弃:356 进入自动模式时,授予任意代码执行的广泛允许规则被丢弃:


379 使用 dontAsk 模式仅允许预先批准的工具384 使用 dontAsk 模式仅允许预先批准的工具

380</h2>385</h2>

381 386 

382`dontAsk` 模式会自动拒绝所有原本会提示的工具调用。当此模式处于活动状态时状态栏显示 `⏵⏵ don't ask on`只有与您的 `permissions.allow` 规则和[只读 Bash 命令](/zh-CN/permissions#read-only-commands)匹配的操作才能执行;显式的[`ask` 规则](/zh-CN/permissions#manage-permissions)会被拒绝而不是提示。{/* min-version: 2.1.199 */}从 v2.1.199 开始,标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具在此模式下也会被拒绝,即使 allow 规则与其匹配,因为其批准卡需要此模式永远不会收集的答案这使得该模式对于 CI 管道或受限环境完全非交互式您可以在其中预先定义 Claude 可以执行的操作。[Claude Code on the web](/zh-CN/claude-code-on-the-web) 上的云会话会忽略 `defaultMode: "dontAsk"`;有关详细信息,请参阅 [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode)387如果您设置 `dontAsk` 模式Claude Code 会自动拒绝所有原本会提示的工具调用Claude 仅运行与您的 `permissions.allow` 规则、[只读 Bash 命令](/zh-CN/permissions#read-only-commands)匹配的操作,以及由 [PreToolUse hook](/zh-CN/permissions#extend-permissions-with-hooks) 批准的调用 CI 管道或受限环境中使用此模式您可以预先定义 Claude 可以执行的操作;会话永远不会等待输入当此模式处于活动状态时,状态栏显示 `⏵⏵ don't ask on`。

388 

389Claude Code 拒绝与您的显式 [`ask` 规则](/zh-CN/permissions#manage-permissions)匹配的调用,而不是提示。它还拒绝内置的 `AskUserQuestion` 工具和连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools),即使您的 allow 规则与其匹配。{/* min-version: 2.1.199 */}它以相同的方式拒绝标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,因为其批准卡需要此模式永远不会收集的答案;这需要 Claude Code v2.1.199 或更高版本。

390 

391[Claude Code on the web](/zh-CN/claude-code-on-the-web) 上的云会话会忽略 `defaultMode: "dontAsk"`;有关详细信息,请参阅 [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode)。

383 392 

384在启动时使用标志设置它:393在启动时使用标志设置它:

385 394 


391 使用 bypassPermissions 模式跳过所有检查400 使用 bypassPermissions 模式跳过所有检查

392</h2>401</h2>

393 402 

394`bypassPermissions` 模式禁用权限提示和安全检查,以便工具调用立即执行。从 v2.1.126 开始这包括对[受保护路径](#protected-paths)的写入,早期版本仍会提示显式的[询问规则](/zh-CN/permissions#manage-permissions)仍会在此模式下强制提示,针对文件系统根目录或主目录的删除操作(如 `rm -rf /` 和 `rm -rf ~`)仍会作为针对模型错误的断路器进行提示。{/* min-version: 2.1.199 */}从 v2.1.199 开始,标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具也仍会提示。仅在隔离环境(如容器、虚拟机或没有互联网访问的开发容器)中使用此模式其中 Claude Code 无法损害您的主机系统403`bypassPermissions` 模式禁用权限提示和安全检查,以便工具调用立即执行,包括对[受保护路径](#protected-paths)的写入。 v2.1.126 之前受保护路径的写入在此模式下仍会提示

404 

405显式的[询问规则](/zh-CN/permissions#manage-permissions)和连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)仍会在此模式下强制提示。{/* min-version: 2.1.199 */}标记有 [`_meta["anthropic/requiresUserInteraction"]`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具也仍会提示;这需要 Claude Code v2.1.199 或更高版本。

406 

407针对文件系统根目录或主目录的删除操作,如 `rm -rf /` 和 `rm -rf ~`,仍会作为针对模型错误的断路器进行提示。{/* min-version: 2.1.208 */}当命令包含使用 `$(...)` 或反引号的命令替换,或使用 `<(...)` 的进程替换时,断路器也会触发,无论删除操作位于替换内部(如 `echo "$(rm -rf ~)"`),还是位于同一命令中的其他位置。纯形式(作为其自己的命令输入)自断路器引入以来在此模式下已提示;在 v2.1.208 之前,包含这些形式的命令不会提示。

408 

409<Warning>

410 仅在隔离环境(如容器、虚拟机或没有互联网访问的开发容器)中使用此模式,其中 Claude Code 无法损害您的主机系统。

411</Warning>

395 412 

396您无法从未使用启用标志启动的会话进入 `bypassPermissions`;使用以下标志重新启动以启用它:413您无法从未使用启用标志启动的会话进入 `bypassPermissions`;使用以下标志重新启动以启用它:

397 414 

permissions.md +24 −6

Details

20| Bash 命令 | Shell 执行 | 是,除了内置的[只读命令](#read-only-commands)集合 | 每个项目目录和命令永久有效 |20| Bash 命令 | Shell 执行 | 是,除了内置的[只读命令](#read-only-commands)集合 | 每个项目目录和命令永久有效 |

21| 文件修改 | Edit/Write 文件 | 是 | 直到会话结束 |21| 文件修改 | Edit/Write 文件 | 是 | 直到会话结束 |

22 22 

23在 Bash 或 PowerShell 权限提示上,按 `Ctrl+E` 显示命令的说明:它的作用、Claude 为什么运行它,以及可能出现的问题,标记为**低风险**、**中风险**或**高风险**。Claude Code 仅在您按 `Ctrl+E` 时将命令和 Claude 自己对调用的描述发送给模型以生成说明,而不是在每个提示上都发送。显示说明不会运行命令;再次按 `Ctrl+E` 隐藏它。

24 

25要关闭快捷键,请在 `~/.claude.json` 中将 [`permissionExplainerEnabled`](/zh-CN/settings#global-config-settings) 设置为 `false`。

26 

23<h2 id="manage-permissions">27<h2 id="manage-permissions">

24 管理权限28 管理权限

25</h2>29</h2>


47Claude Code 支持多种权限模式来控制工具的批准方式。请参阅[权限模式](/zh-CN/permission-modes)了解何时使用每种模式。在您的[设置文件](/zh-CN/settings#settings-files)中设置 `defaultMode`:51Claude Code 支持多种权限模式来控制工具的批准方式。请参阅[权限模式](/zh-CN/permission-modes)了解何时使用每种模式。在您的[设置文件](/zh-CN/settings#settings-files)中设置 `defaultMode`:

48 52 

49| 模式 | 描述 |53| 模式 | 描述 |

50| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |54| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

51| `default` | 标准行为:在首次使用每个工具时提示权限。{/* min-version: 2.1.200 */}在 CLIVS Code JetBrains 扩展中标记为 Manual,Claude Code 接受 `manual` 作为别名。标签和别名需要 Claude Code v2.1.200 或更高版本 |55| `default` | 标准行为:在首次使用每个工具时提示权限。{/* min-version: 2.1.200 */}在 CLIVS Code JetBrains 扩展以及桌面应用中标记为 Manual,Claude Code 接受 `manual` 作为别名。标签和别名需要 Claude Code v2.1.200 或更高版本。桌面应用的标签不依赖于您的 CLI 版本 |

52| `acceptEdits` | 自动接受工作目录或 `additionalDirectories` 中路径的文件编辑和常见文件系统命令(`mkdir`、`touch`、`mv`、`cp` 等) |56| `acceptEdits` | 自动接受工作目录或 `additionalDirectories` 中路径的文件编辑和常见文件系统命令(`mkdir`、`touch`、`mv`、`cp` 等) |

53| `plan` | Claude 读取文件并运行只读 shell 命令来探索,但不编辑您的源文件。在 CLI 和 VS Code 扩展中标记为 Plan |57| `plan` | Claude 读取文件并运行只读 shell 命令来探索,但不编辑您的源文件。在 CLI 和 VS Code 扩展中标记为 Plan |

54| `auto` | 自动批准工具调用,并进行后台安全检查以验证操作与您的请求一致 |58| `auto` | 自动批准工具调用,并进行后台安全检查以验证操作与您的请求一致 |

55| `dontAsk` | 自动拒绝工具,除非通过 `/permissions` 或 `permissions.allow` 规则预先批准 |59| `dontAsk` | 自动拒绝工具,除非通过 `/permissions` 或 `permissions.allow` 规则预先批准。`AskUserQuestion`、连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具即使您已允许它们也会被拒绝 |

56| `bypassPermissions` | 跳过权限提示,除了由显式 `ask` 规则强制的提示。根目录和主目录删除操作(如 `rm -rf /`)仍会作为断路器提示 |60| `bypassPermissions` | 跳过权限提示,除了由显式 `ask` 规则强制的提示、连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具。根目录和主目录删除操作(如 `rm -rf /`)仍会作为断路器提示 |

57 61 

58<Warning>62<Warning>

59 `bypassPermissions` 模式跳过权限提示,包括对 `.git`、`.config/git`、`.claude`、`.vscode`、`.idea`、`.husky`、`.cargo`、`.devcontainer`、`.yarn` 和 `.mvn` 的写入。显式 `ask` 规则仍会强制提示,针对文件系统根目录或主目录的删除操作(如 `rm -rf /` 和 `rm -rf ~`)仍会作为断路器提示以防止模型错误。仅在隔离环境(如容器或虚拟机)中使用此模式,其中 Claude Code 无法造成损害。63 `bypassPermissions` 模式跳过权限提示,包括对 `.git`、`.config/git`、`.claude`、`.vscode`、`.idea`、`.husky`、`.cargo`、`.devcontainer`、`.yarn` 和 `.mvn` 的写入。仅在隔离环境(如容器或虚拟机)中使用此模式,其中 Claude Code 无法造成损害。

64 

65 此模式中仍会触发一些提示。显式 `ask` 规则、连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具仍会提示。针对文件系统根目录或主目录的删除操作(如 `rm -rf /` 和 `rm -rf ~`)也会作为断路器提示以防止模型错误,{/* min-version: 2.1.208 */}包括当命令包含带 `$(...)` 或反引号的命令替换或带 `<(...)` 的进程替换时。在 v2.1.208 之前,仅当以纯形式(如 `rm -rf ~` 作为其自己的命令输入)时才会提示;通过替换到达删除操作的命令不会提示。

60</Warning>66</Warning>

61 67 

62为了防止 `bypassPermissions` 或 `auto` 模式被使用,在任何[设置文件](/zh-CN/settings#settings-files)中将 `permissions.disableBypassPermissionsMode` 或 `permissions.disableAutoMode` 设置为 `"disable"`。这些在[托管设置](#managed-settings)中最有用,因为它们无法被覆盖。68为了防止 `bypassPermissions` 或 `auto` 模式被使用,在任何[设置文件](/zh-CN/settings#settings-files)中将 `permissions.disableBypassPermissionsMode` 或 `permissions.disableAutoMode` 设置为 `"disable"`。这些在[托管设置](#managed-settings)中最有用,因为它们无法被覆盖。


217 223 

218`cd` 进入工作目录或[其他目录](#working-directories)内的路径也是只读的。像 `cd packages/api && ls` 这样的复合命令在每个部分都符合条件时无需提示即可运行。在一个复合命令中组合 `cd` 和 `git` 时,当 `cd` 改变到不同目录时会提示,因为在新目录中运行 `git` 可以执行该目录的钩子。`cd` 的目标解析到当前工作目录是无操作的,不会触发此提示。224`cd` 进入工作目录或[其他目录](#working-directories)内的路径也是只读的。像 `cd packages/api && ls` 这样的复合命令在每个部分都符合条件时无需提示即可运行。在一个复合命令中组合 `cd` 和 `git` 时,当 `cd` 改变到不同目录时会提示,因为在新目录中运行 `git` 可以执行该目录的钩子。`cd` 的目标解析到当前工作目录是无操作的,不会触发此提示。

219 225 

226在一个复合命令中组合 `cd` 和输出重定向时,当 Claude Code 无法确定在 `cd` 运行后重定向目标解析到哪个目录时也会提示。仅重定向目标为 `/dev/null` 的命令,如 `cd app; grep -r pattern . 2>/dev/null`,不会触发此提示,因为 `/dev/null` 不依赖于工作目录。{/* min-version: 2.1.207 */}在 v2.1.207 之前,包含 `cd` 的复合命令会对任何输出重定向提示,包括仅重定向目标为 `/dev/null` 的重定向。

227 

220<Warning>228<Warning>

221 尝试约束命令参数的 Bash 权限模式很脆弱。例如,`Bash(curl http://github.com/ *)` 旨在将 curl 限制为 GitHub URL,但不会匹配以下变体:229 尝试约束命令参数的 Bash 权限模式很脆弱。例如,`Bash(curl http://github.com/ *)` 旨在将 curl 限制为 GitHub URL,但不会匹配以下变体:

222 230 


265 273 

266`Edit` 规则适用于所有编辑文件的内置工具。Claude 尽力将 `Read` 规则应用于所有读取文件的内置工具,如 Grep 和 Glob,以及您提示中的 `@file` 提及,以及连接的 [IDE](/zh-CN/vs-code#the-built-in-ide-mcp-server) 与 Claude 共享的选择和打开文件上下文。274`Edit` 规则适用于所有编辑文件的内置工具。Claude 尽力将 `Read` 规则应用于所有读取文件的内置工具,如 Grep 和 Glob,以及您提示中的 `@file` 提及,以及连接的 [IDE](/zh-CN/vs-code#the-built-in-ide-mcp-server) 与 Claude 共享的选择和打开文件上下文。

267 275 

276{/* min-version: 2.1.208 */}`Read` deny 规则也会阻止[同一路径上的 Edit 工具](/zh-CN/errors#file-is-covered-by-a-read-deny-rule),包括在那里创建新文件。Write 和 NotebookEdit 不被覆盖,因此为任何工具都不能更改的路径添加 `Edit` deny 规则。需要 Claude Code v2.1.208 或更高版本。

277 

268<Warning>278<Warning>

269 Read 和 Edit deny 规则适用于 Claude 的内置文件工具和 Claude Code 在 Bash 中识别的文件命令,如 `cat`、`head`、`tail` 和 `sed`。它们不适用于间接读取或写入文件的任意子进程,如打开文件本身的 Python 或 Node 脚本。为了获得阻止所有进程访问路径的 OS 级别强制执行,请[启用沙箱](/zh-CN/sandboxing)。279 Read 和 Edit deny 规则适用于 Claude 的内置文件工具和 Claude Code 在 Bash 中识别的文件命令,如 `cat`、`head`、`tail` 和 `sed`。它们不适用于间接读取或写入文件的任意子进程,如打开文件本身的 Python 或 Node 脚本。为了获得阻止所有进程访问路径的 OS 级别强制执行,请[启用沙箱](/zh-CN/sandboxing)。

270</Warning>280</Warning>


344* `mcp__puppeteer__*` 使用通配符语法,也匹配来自 `puppeteer` 服务器的所有工具354* `mcp__puppeteer__*` 使用通配符语法,也匹配来自 `puppeteer` 服务器的所有工具

345* `mcp__puppeteer__puppeteer_navigate` 匹配由 `puppeteer` 服务器提供的 `puppeteer_navigate` 工具355* `mcp__puppeteer__puppeteer_navigate` 匹配由 `puppeteer` 服务器提供的 `puppeteer_navigate` 工具

346 356 

357如果您的组织已设置[claude.ai 连接器](/zh-CN/mcp#organization-controls-on-connector-tools)工具为 `ask`,该工具的 allow 规则不会生效:Claude Code 在每次调用时都会提示,即使在 `auto` 和 `bypassPermissions` 模式下。在 `dontAsk` 模式下(从不提示),Claude Code 会拒绝调用。连接器工具显示为 `mcp__claude_ai_<server>__<tool>`。

358 

347<h3 id="agent-subagents">359<h3 id="agent-subagents">

348 Agent(subagents)360 Agent(subagents)

349</h3>361</h3>


388 400 

389[Claude Code hooks](/zh-CN/hooks-guide) 提供了一种方法来注册自定义 shell 命令以在运行时执行权限评估。当 Claude Code 进行工具调用时,PreToolUse hooks 在权限提示之前运行。hook 输出可以拒绝工具调用、强制提示或跳过提示以让调用继续。401[Claude Code hooks](/zh-CN/hooks-guide) 提供了一种方法来注册自定义 shell 命令以在运行时执行权限评估。当 Claude Code 进行工具调用时,PreToolUse hooks 在权限提示之前运行。hook 输出可以拒绝工具调用、强制提示或跳过提示以让调用继续。

390 402 

391Hook 决定不会绕过权限规则。Deny ask 规则在 hook 返回 `"allow"` `"ask"` 后仍然被评估,因此匹配的 deny 规则仍然会阻止调用,匹配的 ask 规则即使在 hook 返回 `"allow"` 或 `"ask"` 时仍然提示。这保留了[管理权限](#manage-permissions)中描述的 deny 优先级,包括在托管设置中设置的 deny 规则。403Hook 决定不会绕过权限规则。Claude Code 评估 deny ask 规则,无论 PreToolUse hook 返回什么:匹配的 deny 规则会阻止调用,匹配的 ask 规则即使在 hook 返回 `"allow"` 或 `"ask"` 时仍然会提示。这保留了[管理权限](#manage-permissions)中描述的 deny 优先级,包括在托管设置中设置的 deny 规则。

404 

405连接器工具[您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具在 hook 返回 `"allow"` 时仍然会提示。

392 406 

393阻止 hook 也优先于 allow 规则。以退出代码 2 退出的 hook 在权限规则被评估之前停止工具调用,因此即使 allow 规则会让调用继续,阻止也适用。要运行所有 Bash 命令而无需提示,除了您想要阻止的少数几个,将 `"Bash"` 添加到您的 allow 列表,并注册一个 PreToolUse hook 来拒绝那些特定命令。请参见[阻止对受保护文件的编辑](/zh-CN/hooks-guide#block-edits-to-protected-files)以获取您可以调整的 hook 脚本。407阻止 hook 也优先于 allow 规则。以退出代码 2 退出的 hook 在权限规则被评估之前停止工具调用,因此即使 allow 规则会让调用继续,阻止也适用。要运行所有 Bash 命令而无需提示,除了您想要阻止的少数几个,将 `"Bash"` 添加到您的 allow 列表,并注册一个 PreToolUse hook 来拒绝那些特定命令。请参见[阻止对受保护文件的编辑](/zh-CN/hooks-guide#block-edits-to-protected-files)以获取您可以调整的 hook 脚本。

394 408 


404 418 

405其他目录中的文件遵循与原始工作目录相同的权限规则:它们变为可读的而无需提示,文件编辑权限遵循当前权限模式。419其他目录中的文件遵循与原始工作目录相同的权限规则:它们变为可读的而无需提示,文件编辑权限遵循当前权限模式。

406 420 

421在 macOS 上的后台会话中,会话主机会单独从您的终端请求访问受保护的文件夹(如 `~/Desktop`、`~/Documents` 和 `~/Downloads`),当 Claude 需要在那里读取或写入文件时;如果读取失败并显示 `Operation not permitted`,请参阅[如何向后台会话授予文件夹访问权限](/zh-CN/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos)。

422 

407要改变会话的主工作目录而不是添加另一个目录,请使用 [`/cd`](/zh-CN/commands)。`/cd` 命令需要 Claude Code v2.1.169 或更高版本。与 `/add-dir` 不同,它重新定位会话:新目录的 `CLAUDE.md` 被加载,`--resume` 从那里找到会话。423要改变会话的主工作目录而不是添加另一个目录,请使用 [`/cd`](/zh-CN/commands)。`/cd` 命令需要 Claude Code v2.1.169 或更高版本。与 `/add-dir` 不同,它重新定位会话:新目录的 `CLAUDE.md` 被加载,`--resume` 从那里找到会话。

408 424 

409<h3 id="additional-directories-grant-file-access-not-configuration">425<h3 id="additional-directories-grant-file-access-not-configuration">


517 533 

518`.claude/settings.local.json` 是您自己的文件,因此工作区信任检查通常不适用于它。当存储库可能提供了该文件时,例如当它提交到 git 或 `.claude` 是符号链接时,其允许规则和其他目录会像项目设置一样通过信任检查。534`.claude/settings.local.json` 是您自己的文件,因此工作区信任检查通常不适用于它。当存储库可能提供了该文件时,例如当它提交到 git 或 `.claude` 是符号链接时,其允许规则和其他目录会像项目设置一样通过信任检查。

519 535 

536Claude Code 运行 git 来检查存储库是否提供了该文件,并且仅在被接受的信任对话框覆盖的文件夹中运行该检查,对于该文件夹或其父目录之一。在您尚未信任的文件夹中的交互式会话中,`.claude/settings.local.json` 中的允许规则和其他目录会像项目设置一样通过信任检查,直到您接受对话框,除非会话在您自己的配置主目录中运行,如下所述。在以下两个例外中,只有配置主目录例外在对话框之前适用,因为它不需要运行 git。确定目录不在 git 存储库内使用相同的 git 检查,因此不在存储库内的例外在接受覆盖该文件夹的信任对话框后生效。在 v2.1.207 之前,未跟踪的 `.claude/settings.local.json` 在您接受对话框之前在该文件夹中应用其允许规则。

537 

520`.claude/settings.local.json` 中的允许规则和其他目录在两种情况下也可以在没有工作区信任的情况下应用:538`.claude/settings.local.json` 中的允许规则和其他目录在两种情况下也可以在没有工作区信任的情况下应用:

521 539 

522* 您启动 Claude Code 的目录不在 git 存储库内。540* 您启动 Claude Code 的目录不在 git 存储库内。

platforms.md +1 −1

Details

23| [Web](/zh-CN/claude-code-on-the-web) | 不需要太多操作的长时间运行任务,或应该在您离线时继续的工作 | Anthropic 托管云、断开连接后继续运行 |23| [Web](/zh-CN/claude-code-on-the-web) | 不需要太多操作的长时间运行任务,或应该在您离线时继续的工作 | Anthropic 托管云、断开连接后继续运行 |

24| Mobile | 在远离计算机时启动和监控任务 | 来自 iOS 和 Android 版 Claude 应用的云会话、用于本地会话的 [Remote Control](/zh-CN/remote-control)、Pro 和 Max 上的 [Dispatch](/zh-CN/desktop#sessions-from-dispatch) 到 Desktop |24| Mobile | 在远离计算机时启动和监控任务 | 来自 iOS 和 Android 版 Claude 应用的云会话、用于本地会话的 [Remote Control](/zh-CN/remote-control)、Pro 和 Max 上的 [Dispatch](/zh-CN/desktop#sessions-from-dispatch) 到 Desktop |

25 25 

26CLI 是终端原生工作的最完整界面:脚本编写和 Agent SDK 仅限 CLI。第三方提供商也可在 [VS Code](/zh-CN/vs-code#use-third-party-providers) 中使用。企业 [Desktop](/zh-CN/desktop) 部署支持 Google Cloud 的 Agent Platform 和网关提供商;对于 Amazon Bedrock 或 Microsoft Foundry,请使用 CLI 或 VS Code,或 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview),它在这些提供商上运行 Code 选项卡。Desktop 和 IDE 扩展为了视觉审查和更紧密的编辑器集成而放弃了一些仅限 CLI 的功能。Web 在 Anthropic 的云中运行,因此任务在您断开连接后继续进行。Mobile 是这些相同云会话的瘦客户端,或通过 Remote Control 进入本地会话,并可以使用 Dispatch 向 Desktop 发送任务。26CLI 是终端原生工作的最完整界面:脚本编写和 Agent SDK 仅限 CLI。第三方提供商也可在 [VS Code](/zh-CN/vs-code#use-third-party-providers) 中使用。企业 [Desktop](/zh-CN/desktop) 部署支持 Google Cloud 的 Agent Platform,Desktop 支持[网关提供商](/zh-CN/llm-gateway-connect#desktop-app);对于 Amazon Bedrock 或 Microsoft Foundry,请使用 CLI 或 VS Code,或 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview),它在这些提供商上运行 Code 选项卡。Desktop 和 IDE 扩展为了视觉审查和更紧密的编辑器集成而放弃了一些仅限 CLI 的功能。Web 在 Anthropic 的云中运行,因此任务在您断开连接后继续进行。Mobile 是这些相同云会话的瘦客户端,或通过 Remote Control 进入本地会话,并可以使用 Dispatch 向 Desktop 发送任务。

27 27 

28您可以在同一项目上混合使用多个界面。配置、项目内存和 MCP 服务器在本地界面之间共享。28您可以在同一项目上混合使用多个界面。配置、项目内存和 MCP 服务器在本地界面之间共享。

29 29 

Details

4 4 

5# 约束插件依赖版本5# 约束插件依赖版本

6 6 

7> 在插件依赖上声明版本约束,以便当上游插件发布破坏性变更时,你的插件继续正常工作7> 在插件依赖上声明版本约束,并将精选插件集合捆绑在一个安装后面

8 8 

9插件可以通过在 `plugin.json` 或其 marketplace 条目中列出其他插件来依赖它们。默认情况下,依赖会跟踪最新可用版本,因此上游发布可能会在没有警告的情况下更改你的插件下的依赖。版本约束让你可以将依赖保持在经过测试的版本范围内,直到你选择升级。9插件可以通过在 `plugin.json` 或其 marketplace 条目中列出其他插件来依赖它们。默认情况下,依赖会跟踪最新可用版本,因此上游发布可能会在没有警告的情况下更改你的插件下的依赖。版本约束让你可以将依赖保持在经过测试的版本范围内,直到你选择升级。

10 10 


12 12 

13本指南适用于在 `plugin.json` 中声明依赖的插件作者和标记发布的 marketplace 维护者。要安装具有依赖的插件,请参阅[发现和安装插件](/zh-CN/discover-plugins)。有关完整的 manifest 架构,请参阅[插件参考](/zh-CN/plugins-reference)。13本指南适用于在 `plugin.json` 中声明依赖的插件作者和标记发布的 marketplace 维护者。要安装具有依赖的插件,请参阅[发现和安装插件](/zh-CN/discover-plugins)。有关完整的 manifest 架构,请参阅[插件参考](/zh-CN/plugins-reference)。

14 14 

15<Note>

16 依赖版本约束需要 Claude Code v2.1.110 或更高版本。

17</Note>

18 

19<h2 id="why-constrain-dependency-versions">15<h2 id="why-constrain-dependency-versions">

20 为什么要约束依赖版本16 为什么要约束依赖版本

21</h2>17</h2>


55 51 

56`version` 字段接受 Node 的 `semver` 包支持的任何表达式,包括 caret、tilde、hyphen 和 comparator 范围。预发布版本(如 `2.0.0-beta.1`)被排除,除非你的范围使用预发布后缀(如 `^2.0.0-0`)选择加入。52`version` 字段接受 Node 的 `semver` 包支持的任何表达式,包括 caret、tilde、hyphen 和 comparator 范围。预发布版本(如 `2.0.0-beta.1`)被排除,除非你的范围使用预发布后缀(如 `^2.0.0-0`)选择加入。

57 53 

54<h2 id="bundle-plugins-for-a-team">

55 为团队捆绑 plugins

56</h2>

57 

58除了必需的 `name` 之外,plugin manifest 可以仅包含一个 `dependencies` 数组。安装它会拉取每个依赖项,这使其成为在一个安装后面打包精选 plugin 集的一种方式。

59 

60例如,平台团队可以在内部 marketplace 中发布特定角色的捆绑包,这样工程师只需运行一次 `claude plugin install`,而不是分别安装每个工具:

61 

62```json .claude-plugin/plugin.json theme={null}

63{

64 "name": "backend-standard",

65 "version": "1.0.0",

66 "description": "Standard plugin set for backend engineers",

67 "dependencies": [

68 "secrets-vault",

69 "deploy-kit",

70 { "name": "db-migrate", "version": "^3.0" },

71 "oncall-runbook"

72 ]

73}

74```

75 

76安装 `backend-standard` 会解析并安装所有四个依赖项。

77 

78要稍后向标准集添加工具,请发布新的 `backend-standard` 版本并添加额外的依赖项。对于非 Anthropic marketplace,自动更新默认处于关闭状态,因此工程师可以通过以下两种方式之一获取新版本:

79 

80* 在 `/plugin` 中为 marketplace 启用自动更新。下一次自动更新会将捆绑包移至新版本并安装它添加的任何依赖项。

81* 运行 `claude plugin update backend-standard`,然后运行 `/reload-plugins` 以安装新添加的依赖项。

82 

83要在整个组织中推出捆绑包,请将捆绑 plugin 添加到[托管设置](/zh-CN/settings#enabledplugins)中的 `enabledPlugins`。

84 

58<h2 id="depend-on-a-plugin-from-another-marketplace">85<h2 id="depend-on-a-plugin-from-another-marketplace">

59 依赖来自另一个 marketplace 的插件86 依赖来自另一个 marketplace 的插件

60</h2>87</h2>

plugin-hints.md +2 −0

Details

31 发出提示31 发出提示

32</h2>32</h2>

33 33 

34提示提示仅对官方 Anthropic 市场中列出的插件触发。在发布集成之前,请参阅[将您的插件纳入官方市场](#get-your-plugin-into-the-official-marketplace)。

35 

34在环境变量上进行门控以发出提示,使标记不太可能在人类直接运行您的 CLI 时出现,然后将标签写入 stderr,单独占一行。选择要检查的变量:36在环境变量上进行门控以发出提示,使标记不太可能在人类直接运行您的 CLI 时出现,然后将标签写入 stderr,单独占一行。选择要检查的变量:

35 37 

36* `CLAUDECODE`:在每个 Claude Code 版本上设置,因此可以到达最多的会话。它也在 tmux 会话和 Claude Code 启动的 stdio MCP 服务器子进程中设置,IDE 扩展在其集成终端中设置它,人类可能在那里直接运行您的 CLI。38* `CLAUDECODE`:在每个 Claude Code 版本上设置,因此可以到达最多的会话。它也在 tmux 会话和 Claude Code 启动的 stdio MCP 服务器子进程中设置,IDE 扩展在其集成终端中设置它,人类可能在那里直接运行您的 CLI。

Details

205 205 

206`plugins` 数组中的每个 plugin 条目描述一个 plugin 及其位置。你可以包含 [plugin manifest 架构](/zh-CN/plugins-reference#plugin-manifest-schema)中的任何字段,如 `description`、`version`、`author`、`commands` 和 `hooks`,加上这些 marketplace 特定的字段:`source`、`category`、`tags`、`strict` 和 `relevance`。206`plugins` 数组中的每个 plugin 条目描述一个 plugin 及其位置。你可以包含 [plugin manifest 架构](/zh-CN/plugins-reference#plugin-manifest-schema)中的任何字段,如 `description`、`version`、`author`、`commands` 和 `hooks`,加上这些 marketplace 特定的字段:`source`、`category`、`tags`、`strict` 和 `relevance`。

207 207 

208<h3 id="required-fields-1">208<h3 id="required-fields-2">

209 必需字段209 必需字段

210</h3>210</h3>

211 211 


507需要注意的关键事项:507需要注意的关键事项:

508 508 

509* **`commands` 和 `agents`**:你可以指定多个目录或单个文件。路径相对于 plugin 根目录。509* **`commands` 和 `agents`**:你可以指定多个目录或单个文件。路径相对于 plugin 根目录。

510* **`${CLAUDE_PLUGIN_ROOT}`**:在 hooks 和 MCP server 配置中使用此变量来引用 plugin 安装目录中的文件。这是必要的,因为 plugins 在安装时被复制到缓存位置。对于应该在 plugin 更新后保留的依赖项或状态,请改用 [`${CLAUDE_PLUGIN_DATA}`](/zh-CN/plugins-reference#persistent-data-directory)。510* **`${CLAUDE_PLUGIN_ROOT}`**:在 hooks 和 MCP server 配置中使用此变量来引用 plugin 安装目录中的文件。这是必要的,因为 plugins 在安装时被复制到缓存位置。

511 * 查看[替换表](/zh-CN/plugins-reference#environment-variables)了解每个服务器类型在哪些配置字段中替换它

512 * 对于应该在 plugin 更新后保留的依赖项或状态,请改用 [`${CLAUDE_PLUGIN_DATA}`](/zh-CN/plugins-reference#persistent-data-directory)

511* **`strict: false`**:由于这设置为 false,plugin 不需要自己的 `plugin.json`。marketplace 条目定义了一切。见下面的 [Strict 模式](#strict-mode)。513* **`strict: false`**:由于这设置为 false,plugin 不需要自己的 `plugin.json`。marketplace 条目定义了一切。见下面的 [Strict 模式](#strict-mode)。

512 514 

513默认情况下,plugin 的 skills 从其 `source` 下的 `skills/` 目录加载。`skills` 字段中列出的路径添加到该扫描中:515默认情况下,plugin 的 skills 从其 `source` 下的 `skills/` 目录加载。`skills` 字段中列出的路径添加到该扫描中:


571 私有存储库573 私有存储库

572</h3>574</h3>

573 575 

574Claude Code 支持从私有存储库安装 plugins。对于手动安装和更新,Claude Code 使用你现有的 git 凭证助手,所以通过 `gh auth login`、macOS Keychain 或 `git-credential-store` 的 HTTPS 访问工作方式与你的终端中相同。SSH 访问工作,只要主机已经在你的 `known_hosts` 文件中,并且密钥已加载到 `ssh-agent` 中,因为 Claude Code 会抑制主机指纹和密钥密码的交互式 SSH 提示。576Claude Code 支持从私有存储库安装 plugins。对于手动安装和更新,Claude Code 使用你现有的 git 凭证助手,所以通过 `gh auth login`、macOS Keychain 或 `git-credential-store` 的 HTTPS 访问工作方式与你的终端中相同。SSH 访问工作,只要主机已经在你的 `known_hosts` 文件中,并且密钥已加载到 `ssh-agent` 中,因为 Claude Code 会抑制主机指纹和密钥密码的交互式 SSH 提示。GitHub `owner/repo` 简写源默认通过 SSH 克隆;设置 [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/zh-CN/env-vars#variables) 以改为通过 HTTPS 克隆它们。

575 577 

576后台自动更新的工作方式不同。默认情况下,后台刷新会为其 `git pull` 禁用 git 凭证助手,所以即使配置了助手,pull 也无法对 HTTPS 上的私有存储库进行身份验证。SSH 远程不受影响:加载到 `ssh-agent` 中的密钥以与手动操作相同的方式对后台 pulls 进行身份验证。当后台 pull 失败时,Claude Code 会回退到从头重新克隆 marketplace。重新克隆确实使用你存储的 git 凭证,但它可能在大型存储库上[超时](#git-operations-time-out),所以私有 marketplace 自动更新可能会间歇性失败。578后台自动更新的工作方式不同。默认情况下,后台刷新会为其 `git pull` 禁用 git 凭证助手,所以即使配置了助手,pull 也无法对 HTTPS 上的私有存储库进行身份验证。SSH 远程不受影响:加载到 `ssh-agent` 中的密钥以与手动操作相同的方式对后台 pulls 进行身份验证。当后台 pull 失败时,Claude Code 会回退到从头重新克隆 marketplace。重新克隆确实使用你存储的 git 凭证,但它可能在大型存储库上[超时](#git-operations-time-out),所以私有 marketplace 自动更新可能会间歇性失败。

577 579 


695 托管 marketplace 限制697 托管 marketplace 限制

696</h3>698</h3>

697 699 

698对于需要严格控制 plugin 源的组织,管理员可以使用托管设置中的 [`strictKnownMarketplaces`](/zh-CN/settings#strictknownmarketplaces) 设置限制用户允许添加哪些 plugin marketplaces。要同时拒绝为单次运行 sideload plugins、agents 和 MCP servers 的 CLI 标志,请将其与 [`disableSideloadFlags`](/zh-CN/settings#available-settings) 配对。700对于需要严格控制 plugin 源的组织,管理员可以使用托管设置中的 [`strictKnownMarketplaces`](/zh-CN/settings#strictknownmarketplaces) 设置限制用户允许添加哪些 plugin marketplaces。要同时拒绝为单次运行 sideload plugins、agents 和 MCP servers 的 CLI 标志,请将其与 [`disableSideloadFlags`](/zh-CN/settings#available-settings) 配对。要允许列表哪些 marketplaces 的 plugins 可以作为上下文安装建议出现,请设置 [`pluginSuggestionMarketplaces`](/zh-CN/settings#available-settings)。

699 701 

700当在托管设置中配置 `strictKnownMarketplaces` 时,限制行为取决于值:702当在托管设置中配置 `strictKnownMarketplaces` 时,限制行为取决于值:

701 703 


1083 Plugin marketplace update1085 Plugin marketplace update

1084</h3>1086</h3>

1085 1087 

1086从其源刷新 marketplaces 以检索新 plugins 和版本更改。1088从其源刷新 marketplaces 以检索新 plugins 和版本更改。使用分支或标签 `ref` 添加的 marketplace 会更新到该 ref 的最新提交,而不是存储库的默认分支。

1087 1089 

1088```bash theme={null}1090```bash theme={null}

1089claude plugin marketplace update [name]1091claude plugin marketplace update [name]

Details

185 },185 },

186 "plugin-api-client": {186 "plugin-api-client": {

187 "command": "npx",187 "command": "npx",

188 "args": ["@company/mcp-server", "--plugin-mode"],188 "args": ["@company/mcp-server", "--plugin-mode"]

189 "cwd": "${CLAUDE_PLUGIN_ROOT}"

190 }189 }

191 }190 }

192}191}


303 302 

304Plugin monitors 使用与 [Monitor tool](/zh-CN/tools-reference#monitor-tool) 相同的机制,并共享其可用性约束。它们仅在交互式 CLI 会话中运行,在与 [hooks](#hooks) 相同的信任级别上无沙箱运行,并在 Monitor tool 不可用的主机上跳过。303Plugin monitors 使用与 [Monitor tool](/zh-CN/tools-reference#monitor-tool) 相同的机制,并共享其可用性约束。它们仅在交互式 CLI 会话中运行,在与 [hooks](#hooks) 相同的信任级别上无沙箱运行,并在 Monitor tool 不可用的主机上跳过。

305 304 

306<Note>

307 Plugin monitors 需要 Claude Code v2.1.105 或更高版本。

308</Note>

309 

310**位置**:插件根目录中的 `monitors/monitors.json`,或在 plugin.json 中内联305**位置**:插件根目录中的 `monitors/monitors.json`,或在 plugin.json 中内联

311 306 

312**格式**:监视器条目的 JSON 数组307**格式**:监视器条目的 JSON 数组


317[312[

318 {313 {

319 "name": "deploy-status",314 "name": "deploy-status",

320 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh ${user_config.api_endpoint}",315 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh",

321 "description": "Deployment status changes"316 "description": "Deployment status changes"

322 },317 },

323 {318 {


345| :----- | :---------------------------------------------------------------------------------------------------------- |340| :----- | :---------------------------------------------------------------------------------------------------------- |

346| `when` | 控制 monitor 何时启动。`"always"` 在会话启动和插件重新加载时启动它,这是默认值。`"on-skill-invoke:<skill-name>"` 在此插件中的命名 skill 首次被分派时启动它 |341| `when` | 控制 monitor 何时启动。`"always"` 在会话启动和插件重新加载时启动它,这是默认值。`"on-skill-invoke:<skill-name>"` 在此插件中的命名 skill 首次被分派时启动它 |

347 342 

348`command` 值支持与 MCP 和 LSP server 配置相同的 [变量替换](#environment-variables)`${CLAUDE_PLUGIN_ROOT}`、`${CLAUDE_PLUGIN_DATA}``${CLAUDE_PROJECT_DIR}`、`${user_config.*}` 和环境中的任何 `${ENV_VAR}`。如果脚本需要从插件自己的目录运行,请在命令前加上 `cd "${CLAUDE_PLUGIN_ROOT}" && `。343`command` 值支持 [路径替换](#environment-variables) `${CLAUDE_PLUGIN_ROOT}`、`${CLAUDE_PLUGIN_DATA}``${CLAUDE_PROJECT_DIR}`,加上环境中的任何 `${ENV_VAR}`。如果脚本需要从插件自己的目录运行,请在命令前加上 `cd "${CLAUDE_PLUGIN_ROOT}" && `。

344 

345monitor `command` 不能引用 [`${user_config.*}`](#user-configuration) 值。该命令通过 shell 运行,因此 Claude Code 会拒绝该 monitor 并显示 [错误](/zh-CN/errors#plugin-command-references-user-config),而不是替换该值。Monitor 进程不会接收 `CLAUDE_PLUGIN_OPTION_<KEY>` 环境变量,因此让 monitor 脚本从它拥有的配置文件中读取该值。在 v2.1.207 之前,monitor 命令替换了 `${user_config.*}` 值。

349 346 

350在会话中途禁用插件不会停止已在运行的 monitors。它们在会话结束时停止。347在会话中途禁用插件不会停止已在运行的 monitors。它们在会话结束时停止。

351 348 


602| `multiple` | 否 | 对于 `string` 类型,允许字符串数组 |599| `multiple` | 否 | 对于 `string` 类型,允许字符串数组 |

603| `min` / `max` | 否 | `number` 类型的边界 |600| `min` / `max` | 否 | `number` 类型的边界 |

604 601 

605每个值都可用于在 MCP 和 LSP server 配置、hook 命令和 monitor 命令中作为 `${user_config.KEY}` 进行替换。非敏感值也可以在 skill 和 agent 内容中替换。所有值都作为 `CLAUDE_PLUGIN_OPTION_<KEY>` 环境变量导出到 plugin 子进程。602每个值都可用于在 MCP 和 LSP server 配置和 hook 命令中作为 `${user_config.KEY}` 进行替换。非敏感值也可以在 skill 和 agent 内容中替换。所有值都作为 `CLAUDE_PLUGIN_OPTION_<KEY>` 环境变量导出到 hook 进程和 MCP 及 LSP server 子进程,其中 `<KEY>` 是选项键的大写形式

603 

604在 shell 中运行的字段拒绝 `${user_config.*}`:将配置的值替换到 shell 命令中会让 shell 运行该值包含的任何内容,因此组件会失败并出现[错误](/zh-CN/errors#plugin-command-references-user-config)。每个被拒绝的字段都有一种替代方式来传递值:

605 

606| 被拒绝的字段 | 如何传递值 |

607| :------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------- |

608| Shell 形式的 hook 命令 | 使用[执行形式](/zh-CN/hooks#exec-form-and-shell-form)与 `args`,或从 hook 的环境中读取 `CLAUDE_PLUGIN_OPTION_<KEY>` |

609| [Monitor](#monitors) 命令 | 从脚本中的配置文件读取值 |

610| MCP [`headersHelper`](/zh-CN/mcp#use-dynamic-headers-for-custom-authentication) | 从脚本中的配置文件读取值 |

611 

612在 v2.1.207 之前,这些字段替换了 `${user_config.KEY}` 值;更新依赖此功能的 plugins。

613 

614非敏感值存储在 `settings.json` 中的 [`pluginConfigs`](/zh-CN/settings#pluginconfigs) 键下,作为 `pluginConfigs[<plugin-id>].options`。{/* min-version: 2.1.207 */}Claude Code 将键写入用户设置并从用户设置、`--settings` 标志和托管设置中读取它;项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的条目被忽略。在 v2.1.207 之前,Claude Code 也读取项目和本地设置。

606 615 

607非敏感值存储在 `settings.json` 中的 `pluginConfigs[<plugin-id>].options` 下。敏感值进入系统钥匙链(或在钥匙链不可用的地方进入 `~/.claude/.credentials.json`。钥匙链存储与 OAuth 令牌共享,总限制约为 2 KB,因此请保持敏感值较小。616敏感值进入 macOS Keychain,或在没有支持的钥匙链的平台上进入 `~/.claude/.credentials.json`。钥匙链存储与 OAuth 令牌共享,总限制约为 2 KB,因此请保持敏感值较小。

608 617 

609<h3 id="channels">618<h3 id="channels">

610 Channels619 Channels


677 环境变量686 环境变量

678</h3>687</h3>

679 688 

680Claude Code 提供三个变量用于引用路径。所有这些变量都在 skill 内容、agent 内容、hook 命令、monitor 命令以及 MCP 或 LSP server 配置中出现的任何地方进行内联替换。所有这些变量也都作为环境变量导出到 hook 进程和 MCP 或 LSP server 子进程。689Claude Code 提供三个变量用于引用路径

681 690 

682**`${CLAUDE_PLUGIN_ROOT}`**:plugin 安装目录的绝对路径。使用此路径引用与 plugin 捆绑的脚本、二进制文件和配置文件。在 hook 命令中,使用[执行形式](/zh-CN/hooks#exec-form-and-shell-form)与 `args` 以便路径作为一个参数传递,无需引用。在 shell 形式的 hooks 和 monitor 命令中,用双引号包装它,如 `"${CLAUDE_PLUGIN_ROOT}"`。当 plugin 更新时,此路径会更改。前一个版本的目录在更新后约七天内保留在磁盘上以进行清理,但应将其视为临时的,不要在此处写入状态。691| 变量 | 解析为 | 用途 |

692| :---------------------- | :-------------------------------------------------------- | :---------------------------------------------- |

693| `${CLAUDE_PLUGIN_ROOT}` | plugin 安装目录的绝对路径 | 与 plugin 捆绑的脚本、二进制文件和配置文件 |

694| `${CLAUDE_PLUGIN_DATA}` | [持久目录](#persistent-data-directory),在 plugin 更新后保留,首次引用时创建 | 已安装的依赖项,如 `node_modules` 或 Python 虚拟环境、生成的代码和缓存 |

695| `${CLAUDE_PROJECT_DIR}` | 项目根目录 | 项目本地脚本和配置文件 |

683 696 

684当 plugin 在会话中期更新时,hook 命令、monitors、MCP servers LSP servers 继续使用前一个版本的路径运行 `/reload-plugins` 以将 hooks、MCP servers 和 LSP servers 切换到新路径;monitors 需要会话重启。697所有三个都作为环境变量导出到 hook 进程和 MCP LSP server 子进程哪些字段内联替换它们取决于 plugin 组件:

685 

686**`${CLAUDE_PLUGIN_DATA}`**:用于 plugin 状态的持久目录,在更新后保留。使用此目录用于已安装的依赖项,如 `node_modules` 或 Python 虚拟环境、生成的代码、缓存以及任何应在 plugin 版本之间保留的其他文件。首次引用此变量时,目录会自动创建。

687 698 

688**`${CLAUDE_PROJECT_DIR}`**:项目根目录。这是 hooks 在其 `CLAUDE_PROJECT_DIR` 变量中接收的相同目录。使用此路径引用项目本地脚本或配置文件。用引号包装以处理包含空格的路径,例如 `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`。699| Plugin 组件 | 占位符解析的字段 |

700| :---------------------------- | :--------------------------------------- |

701| Skill 和 agent 内容 | 占位符出现的任何地方 |

702| Hook 和 monitor 命令 | 占位符出现的任何地方 |

703| MCP `stdio` servers | `command`、`args`、`env` |

704| MCP `http`、`sse`、`ws` servers | `url`、`headers`、`headersHelper` |

705| LSP servers | `command`、`args`、`env`、`workspaceFolder` |

689 706 

690MCP servers 也可以调用 `roots/list` 请求来在运行时读取会话的工作目录。请参阅[`roots/list` 返回的内容以及 Claude Code 何时通知服务器更改](/zh-CN/mcp#option-3-add-a-local-stdio-server)。707 hook 命令中,使用[执行形式](/zh-CN/hooks#exec-form-and-shell-form)与 `args` 以便每个路径作为一个参数传递,无需引用在 shell 形式的 hooks 和 monitor 命令中,用双引号包装变量,如 `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`。此 shell 形式的 hook 运行与 plugin 捆绑的脚本:

691 708 

692```json theme={null}709```json theme={null}

693{710{


706}723}

707```724```

708 725 

726`${CLAUDE_PLUGIN_ROOT}` 在 plugin 更新时更改。前一个版本的目录在更新后约七天内保留在磁盘上以进行清理,但应将其视为临时的,不要在此处写入状态。

727 

728当 plugin 在会话中期更新时,hook 命令、monitors、MCP servers 和 LSP servers 继续使用前一个版本的路径。运行 `/reload-plugins` 以将 hooks、MCP servers 和 LSP servers 切换到新路径;monitors 需要会话重启。

729 

730MCP servers 也可以调用 `roots/list` 请求来在运行时读取会话的工作目录。请参阅[`roots/list` 返回的内容以及 Claude Code 何时通知服务器更改](/zh-CN/mcp#option-3-add-a-local-stdio-server)。

731 

709<h4 id="persistent-data-directory">732<h4 id="persistent-data-directory">

710 持久数据目录733 持久数据目录

711</h4>734</h4>

Details

102工具定义位于系统提示层中,所以当请求之间的工具定义集合更改时,缓存会失效。切换[顾问工具](/zh-CN/advisor)是一个例外:其定义位于缓存断点之后,所以启用或禁用 `/advisor` 会保持缓存的前缀完整。[MCP 服务器](/zh-CN/mcp)更改是否执行此操作取决于其工具是否由[工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)延迟或加载到前缀中:102工具定义位于系统提示层中,所以当请求之间的工具定义集合更改时,缓存会失效。切换[顾问工具](/zh-CN/advisor)是一个例外:其定义位于缓存断点之后,所以启用或禁用 `/advisor` 会保持缓存的前缀完整。[MCP 服务器](/zh-CN/mcp)更改是否执行此操作取决于其工具是否由[工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)延迟或加载到前缀中:

103 103 

104* **延迟工具**,在支持的模型上是默认设置:服务器连接、断开连接或更改其工具列表仅附加新内容,不会扰乱已缓存的任何内容。104* **延迟工具**,在支持的模型上是默认设置:服务器连接、断开连接或更改其工具列表仅附加新内容,不会扰乱已缓存的任何内容。

105* **加载到前缀中的工具**:对它们的任何更改都会使缓存失效。这发生在[工具搜索不可用或被禁用](/zh-CN/mcp#configure-tool-search)时,例如在 Haiku 模型上、在 Google Cloud 的 Agent Platform 上或使用自定义 `ANTHROPIC_BASE_URL` 网关时。它也发生在标记为 [`alwaysLoad`](/zh-CN/mcp#exempt-a-server-from-deferral) 的服务器或工具上,以及由[基于阈值的加载](/zh-CN/mcp#configure-tool-search)保持在前面的定义上。105* **加载到前缀中的工具**:对它们的任何更改都会使缓存失效。这发生在[工具搜索不可用或被禁用](/zh-CN/mcp#configure-tool-search)时,例如在 Google Cloud 的 Agent Platform 上或使用自定义 `ANTHROPIC_BASE_URL` 网关时。它也发生在标记为 [`alwaysLoad`](/zh-CN/mcp#exempt-a-server-from-deferral) 的服务器或工具上,以及由[基于阈值的加载](/zh-CN/mcp#configure-tool-search)保持在前面的定义上。

106 106 

107当工具加载到前缀中时,失效的最常见原因是服务器在会话中期连接或断开连接,这可能在没有您采取任何操作的情况下发生:stdio 服务器的进程退出、HTTP 会话过期或服务器[在暂时故障后自动重新连接](/zh-CN/mcp#automatic-reconnection)。连接的服务器也可以推送[动态工具更新](/zh-CN/mcp#dynamic-tool-updates)来更改其工具列表。107当工具加载到前缀中时,失效的最常见原因是服务器在会话中期连接或断开连接,这可能在没有您采取任何操作的情况下发生:stdio 服务器的进程退出、HTTP 会话过期或服务器[在暂时故障后自动重新连接](/zh-CN/mcp#automatic-reconnection)。连接的服务器也可以推送[动态工具更新](/zh-CN/mcp#dynamic-tool-updates)来更改其工具列表。

108 108 

remote-control.md +14 −10

Details

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 会话。在您的办公桌上启动一个任务,然后从沙发上的手机或另一台计算机上的浏览器继续。

14 14 

15当您在机器上启动 Remote Control 会话时,Claude 始终在本地运行,因此没有任何内容移动到云端。使用 Remote Control,您可以:15当您在机器上启动 Remote Control 会话时,Claude 始终在本地运行,因此您的代码执行和文件系统访问保留在您的机器上。使用 Remote Control,您可以:

16 16 

17* **远程使用您的完整本地环境**:您的文件系统、[MCP servers](/zh-CN/mcp)、工具和项目配置都保持可用,输入 `@` 会自动完成本地项目中的文件路径17* **远程使用您的完整本地环境**:您的文件系统、[MCP servers](/zh-CN/mcp)、工具和项目配置都保持可用,输入 `@` 会自动完成本地项目中的文件路径

18* **同时从两个界面工作**:对话在所有连接的设备上保持同步,因此您可以从终端、浏览器和手机交替发送消息18* **同时从两个界面工作**:对话和 [subagents](/zh-CN/sub-agents) 和 [dynamic workflows](/zh-CN/workflows) 的进度在所有连接的设备上保持同步,因此您可以从终端、浏览器和手机交替发送消息。{/* min-version: 2.1.207 */}在 v2.1.207 之前,由 [Desktop app](/zh-CN/desktop) 托管的会话不会将 subagent 或工作流进度发送到连接的设备。

19* **从您的手机或浏览器发送图像和文件**:当您在 Claude 应用或 claude.ai/code 中添加附件时,Claude Code 会将其下载到您的机器并将其作为 `@` 文件引用传递给 Claude,可以带有或不带有标题。{/* min-version: 2.1.202 */}在 v2.1.202 之前,Claude Code 可能会在不带标题的附件到达会话之前将其丢弃。19* **从您的手机或浏览器发送图像和文件**:当您在 Claude 应用或 claude.ai/code 中添加附件时,Claude Code 会将其下载到您的机器并将其作为 `@` 文件引用传递给 Claude,可以带有或不带有标题。{/* min-version: 2.1.202 */}在 v2.1.202 之前,Claude Code 可能会在不带标题的附件到达会话之前将其丢弃。

20* **在中断后恢复**:如果您的笔记本电脑进入睡眠状态或网络断开,当您的机器重新上线时,会话会自动重新连接20* **在中断后恢复**:如果您的笔记本电脑进入睡眠状态或网络断开,当您的机器重新上线时,会话会自动重新连接。Claude Code 在连接重建时对 subagents 和工作流的状态更新进行排队,并在恢复后传递它们。{/* min-version: 2.1.207 */}在 v2.1.207 之前,在重新连接或凭证刷新期间发送的更新可能会丢失,因此连接的设备会继续将已完成的任务显示为正在运行。

21 21 

22与[网络上的 Claude Code](/zh-CN/claude-code-on-the-web)(在云基础设施上运行)不同,Remote Control 会话直接在您的机器上运行并与您的本地文件系统交互。网络和移动界面只是该本地会话的一个窗口。22与[网络上的 Claude Code](/zh-CN/claude-code-on-the-web)(在云基础设施上运行)不同,Remote Control 会话直接在您的机器上运行并与您的本地文件系统交互。网络和移动界面只是该本地会话的一个窗口。

23 23 


132* **扫描 QR 码** 显示在会话 URL 旁边,直接在 Claude 应用中打开它。使用 `claude remote-control` 时,按空格键切换 QR 码显示。132* **扫描 QR 码** 显示在会话 URL 旁边,直接在 Claude 应用中打开它。使用 `claude remote-control` 时,按空格键切换 QR 码显示。

133* **打开 [claude.ai/code](https://claude.ai/code) 或 Claude 应用** 并在会话列表中按名称查找会话。在 Claude 移动应用中,点击导航中的**代码**以访问会话列表。Remote Control 会话在在线时显示带有绿色状态点的计算机图标。133* **打开 [claude.ai/code](https://claude.ai/code) 或 Claude 应用** 并在会话列表中按名称查找会话。在 Claude 移动应用中,点击导航中的**代码**以访问会话列表。Remote Control 会话在在线时显示带有绿色状态点的计算机图标。

134 134 

135当您连接时,设备显示会话已在后台运行的任何子代理和工作流。{/* min-version: 2.1.208 */}在 v2.1.208 之前,连接到在交互式终端中托管的会话的设备在其中一个子代理或工作流启动或停止之前不会显示已在运行的子代理和工作流。

136 

135远程会话标题按以下顺序选择:137远程会话标题按以下顺序选择:

136 138 

1371. 您传递给 `--name`、`--remote-control` 或 `/remote-control` 的名称1391. 您传递给 `--name`、`--remote-control` 或 `/remote-control` 的名称


161 163 

162所有流量都通过 Anthropic API 通过 TLS 传输,与任何 Claude Code 会话的传输安全相同。连接使用多个短期凭证,每个凭证的范围限定为单一目的并独立过期。164所有流量都通过 Anthropic API 通过 TLS 传输,与任何 Claude Code 会话的传输安全相同。连接使用多个短期凭证,每个凭证的范围限定为单一目的并独立过期。

163 165 

166Remote Control 连接时,会话记录(包括您的消息、Claude 的响应和工具活动)存储在 Anthropic 服务器上。存储的记录保持您的设备之间的对话同步,并让会话在网络中断后重新连接。执行和文件系统访问保留在您的机器上,存储的记录根据[数据使用](/zh-CN/data-usage)政策保留。

167 

168要完全关闭 Remote Control,请使用 [`disableRemoteControl`](/zh-CN/settings#available-settings) 设置。具有零数据保留等合规要求的组织无法启用 Remote Control。

169 

164<h2 id="trusted-devices">170<h2 id="trusted-devices">

165 受信任的设备171 受信任的设备

166</h2>172</h2>


240 246 

241Claude 决定何时推送。它通常在长时间运行的任务完成或需要您的决定来继续时发送一个。您也可以在提示中请求推送,例如 `notify me when the tests finish`。除了下面的两个开/关切换外,没有按事件配置。247Claude 决定何时推送。它通常在长时间运行的任务完成或需要您的决定来继续时发送一个。您也可以在提示中请求推送,例如 `notify me when the tests finish`。除了下面的两个开/关切换外,没有按事件配置。

242 248 

243<Note>

244 移动推送通知需要 Claude Code v2.1.110 或更高版本。

245</Note>

246 

247要设置移动推送通知:249要设置移动推送通知:

248 250 

249<Steps>251<Steps>


281* **扩展网络中断**:如果您的机器处于唤醒状态但无法在大约 10 分钟以上的时间内到达网络,会话超时并且进程退出。再次运行 `claude remote-control` 以启动新会话。283* **扩展网络中断**:如果您的机器处于唤醒状态但无法在大约 10 分钟以上的时间内到达网络,会话超时并且进程退出。再次运行 `claude remote-control` 以启动新会话。

282* **Ultraplan 断开 Remote Control**:启动 [ultraplan](/zh-CN/ultraplan) 会话会断开任何活动的 Remote Control 会话,因为两个功能都占据 claude.ai/code 界面,一次只能连接一个。284* **Ultraplan 断开 Remote Control**:启动 [ultraplan](/zh-CN/ultraplan) 会话会断开任何活动的 Remote Control 会话,因为两个功能都占据 claude.ai/code 界面,一次只能连接一个。

283* **某些命令仅限本地**:仅在终端界面中运行的命令,例如 `/plugin` 或 `/resume`,仅从本地 CLI 工作,无论您是否传递参数。以下命令可从移动和网络工作:285* **某些命令仅限本地**:仅在终端界面中运行的命令,例如 `/plugin` 或 `/resume`,仅从本地 CLI 工作,无论您是否传递参数。以下命令可从移动和网络工作:

284 * 文本输出命令:`/compact`、`/clear`、`/context`、`/usage`、`/exit`、`/usage-credits`、`/recap`、`/reload-plugins`286 * 文本输出命令:`/compact`、`/clear`、`/context`、`/usage`、`/exit`、`/usage-credits`(运行文本形式而不是打开 CLI 内对话框)、`/recap`、`/reload-plugins`

285 * `/model`、`/effort`、`/fast`、`/color` 和 `/rename`:将值作为参数传递,例如 `/model sonnet` 或 `/effort high`。从移动和网络,`/model` 和 `/effort` 在终端选择器或滑块的位置接受参数。287 * `/model`、`/effort`、`/fast`、`/color` 和 `/rename`:将值作为参数传递,例如 `/model sonnet` 或 `/effort high`。从移动和网络,`/model` 和 `/effort` 在终端选择器或滑块的位置接受参数。

286 * {/* min-version: 2.1.166 */}`/mcp`,从 v2.1.166 开始:返回服务器状态的文本摘要而不是打开选择器并接受 `reconnect`、`enable` 和 `disable` [子命令](/zh-CN/commands#all-commands)。与本地 CLI 不同,不带服务器名称的 `/mcp reconnect` 会重新连接每个已失败或需要身份验证的服务器。288 * {/* min-version: 2.1.166 */}`/mcp`,从 v2.1.166 开始:从移动应用返回服务器状态的文本摘要而不是打开选择器。在网络上`/mcp` 单独打开 [claude.ai 连接器](/zh-CN/mcp#use-mcp-servers-from-claude-ai) 的目录而不是返回摘要。`reconnect`、`enable` 和 `disable` [子命令](/zh-CN/commands#all-commands)可从两者工作。与本地 CLI 不同,不带服务器名称的 `/mcp reconnect` 会重新连接每个已失败或需要身份验证的服务器。

287 * {/* min-version: 2.1.181 */}`/config`,从 v2.1.181 开始:传递 `key=value` 以设置一个设置,或不带参数运行它以列出您可以设置的键。289 * {/* min-version: 2.1.181 */}`/config`,从 v2.1.181 开始:从移动应用,传递 `key=value` 以设置一个设置,或不带参数运行它以列出您可以设置的键。在网络上,`/config` 打开您设置的 Claude Code 部分,并忽略命令后的文本。

288 290 

289<h2 id="troubleshooting">291<h2 id="troubleshooting">

290 故障排除292 故障排除


296 298 

297您未使用 claude.ai 账户进行身份验证。运行 `claude auth login` 并选择 claude.ai 选项。如果在您的环境中设置了 `ANTHROPIC_API_KEY`,请先取消设置它。299您未使用 claude.ai 账户进行身份验证。运行 `claude auth login` 并选择 claude.ai 选项。如果在您的环境中设置了 `ANTHROPIC_API_KEY`,请先取消设置它。

298 300 

301{/* min-version: 2.1.206 */}在 v2.1.206 之前,在未登出的情况下运行 `/remote-control` 会报告 `Unknown command: /remote-control` 而不是此消息。

302 

299<h3 id="remote-control-requires-a-full-scope-login-token">303<h3 id="remote-control-requires-a-full-scope-login-token">

300 "Remote Control 需要完整范围的登录令牌"304 "Remote Control 需要完整范围的登录令牌"

301</h3>305</h3>

routines.md +16 −4

Details

126 126 

127在任何会话中运行 `/schedule` 以对话方式创建计划例程。您也可以直接传递描述,对于定期例程如 `/schedule daily PR review at 9am` 或一次性例程如 `/schedule clean up feature flag in one week`。Claude 会遍历 Web 表单收集的相同信息,然后将例程保存到您的账户。127在任何会话中运行 `/schedule` 以对话方式创建计划例程。您也可以直接传递描述,对于定期例程如 `/schedule daily PR review at 9am` 或一次性例程如 `/schedule clean up feature flag in one week`。Claude 会遍历 Web 表单收集的相同信息,然后将例程保存到您的账户。

128 128 

129成功启动看起来像一次对话:Claude 在保存前询问有关计划、存储库和提示的后续问题。如果 Claude 改为回复说您需要进行身份验证或无法连接到您的远程 claude.ai 账户,则未创建例程;请参阅 [Troubleshooting](#troubleshooting)。

130 

129CLI 中的 `/schedule` 仅创建计划例程。要添加 API 或 GitHub 触发器,请在 [claude.ai/code/routines](https://claude.ai/code/routines) 的 Web 上编辑例程。131CLI 中的 `/schedule` 仅创建计划例程。要添加 API 或 GitHub 触发器,请在 [claude.ai/code/routines](https://claude.ai/code/routines) 的 Web 上编辑例程。

130 132 

131CLI 还支持管理现有例程。运行 `/schedule list` 查看所有例程,`/schedule update` 更改一个,或 `/schedule run` 立即触发它。133CLI 还支持管理现有例程。运行 `/schedule list` 查看所有例程,`/schedule update` 更改一个,或 `/schedule run` 立即触发它。


152 154 

153一次性计划在特定时间戳处触发例程一次。使用它来提醒自己本周晚些时候、在推出完成后打开清理 PR,或在上游更改到达时启动后续任务。例程触发后,它会自动禁用,Web UI 将其标记为 **Ran**。要再次运行它,请编辑例程并设置新的一次性时间。155一次性计划在特定时间戳处触发例程一次。使用它来提醒自己本周晚些时候、在推出完成后打开清理 PR,或在上游更改到达时启动后续任务。例程触发后,它会自动禁用,Web UI 将其标记为 **Ran**。要再次运行它,请编辑例程并设置新的一次性时间。

154 156 

157<Note>

158 一次性计划从 CLI 逐步推出,可能在您的账户上还不可用。如果 `/schedule` 仅提供定期计划,请改为在 Web 上从 [claude.ai/code/routines](https://claude.ai/code/routines) 创建一次性运行。

159</Note>

160 

155通过在 CLI 中自然语言描述时间来创建一次性运行。Claude 根据当前时间解析该短语并在保存前确认绝对时间戳。161通过在 CLI 中自然语言描述时间来创建一次性运行。Claude 根据当前时间解析该短语并在保存前确认绝对时间戳。

156 162 

157```text theme={null}163```text theme={null}


200 206 

201向 `/fire` 端点发送 POST 请求,在 `Authorization` 标头中包含持有者令牌。请求正文接受可选的 `text` 字段,用于运行特定的上下文,如警报正文或失败的日志,与其保存的提示一起传递给例程。该值是自由格式文本,不被解析:如果您发送 JSON 或其他结构化有效负载,例程会将其作为文字字符串接收。207向 `/fire` 端点发送 POST 请求,在 `Authorization` 标头中包含持有者令牌。请求正文接受可选的 `text` 字段,用于运行特定的上下文,如警报正文或失败的日志,与其保存的提示一起传递给例程。该值是自由格式文本,不被解析:如果您发送 JSON 或其他结构化有效负载,例程会将其作为文字字符串接收。

202 208 

203下面的示例从 shell 触发例程:209下面的示例从 shell 触发例程。显示的例程 ID 和令牌是占位符将它们替换为您在 [添加 API 触发器](#add-an-api-trigger) 时复制的 URL 和令牌,否则请求将失败并显示 `401` 身份验证错误:

204 210 

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

206curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \212curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \


410 故障排除416 故障排除

411</h2>417</h2>

412 418 

413<h3 id="/schedule-shows-no-commands-match-or-unknown-command">419<h3 id="/schedule-returns-unknown-command">

414 `/schedule` 显示"No commands match"或"Unknown command"420 `/schedule` 返回"Unknown command"

415</h3>421</h3>

416 422 

417当不满足其中一个要求时,CLI 会隐藏 `/schedule`,因此命令菜单在您输入时显示 `No commands match "/schedule"`,提交它会返回 `Unknown command: /schedule`。原因通常是以下之一:423当不满足其中一个要求时,CLI 会隐藏 `/schedule`:命令菜单在您输入时显示 `No commands match "/schedule"`,提交它会返回 `Unknown command: /schedule`。原因通常是以下之一:

418 424 

419* 您使用 Console API 密钥或云提供商(如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry)进行身份验证。`/schedule` 需要 claude.ai 订阅登录。如果在您的 shell 中设置了 `ANTHROPIC_API_KEY` 或 `ANTHROPIC_AUTH_TOKEN`,或在 `settings.json` 中设置了 `apiKeyHelper`,请先删除它,因为这些会优先于 claude.ai 登录425* 您使用 Console API 密钥或云提供商(如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft 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` 依赖于此426* `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 或 `DISABLE_GROWTHBOOK` 在您的 shell 环境或 [`settings.json` 文件](/zh-CN/settings#available-settings)的 `env` 块中设置。这些会禁用功能标志获取,而 `/schedule` 依赖于此


422 428 

423无论 CLI 如何配置,您始终可以在 [claude.ai/code/routines](https://claude.ai/code/routines) 处创建和管理例程。429无论 CLI 如何配置,您始终可以在 [claude.ai/code/routines](https://claude.ai/code/routines) 处创建和管理例程。

424 430 

431<h3 id="/schedule-asks-you-to-authenticate">

432 `/schedule` 要求您进行身份验证

433</h3>

434 

435如果 `/schedule` 运行但 Claude 响应您需要先使用 claude.ai 账户进行身份验证,则 CLI 没有存储的 claude.ai 登录。API 账户不支持例程。运行 `/login`,使用您的 claude.ai 账户登录,然后再次运行 `/schedule`。

436 

425<h3 id="routines-are-disabled-by-your-organization’s-policy">437<h3 id="routines-are-disabled-by-your-organization’s-policy">

426 "Routines 被您的组织的策略禁用"438 "Routines 被您的组织的策略禁用"

427</h3>439</h3>

Details

60 60 

61[Permission modes](/zh-CN/permission-modes) 决定工具调用是否运行以及是否首先提示您。隔离限制命令运行后可以访问的内容。两者协同工作:当权限模式允许操作在不询问您的情况下运行时,隔离边界限制这些操作可以到达的内容。61[Permission modes](/zh-CN/permission-modes) 决定工具调用是否运行以及是否首先提示您。隔离限制命令运行后可以访问的内容。两者协同工作:当权限模式允许操作在不询问您的情况下运行时,隔离边界限制这些操作可以到达的内容。

62 62 

63`--dangerously-skip-permissions` 删除除了显式 [ask rules](/zh-CN/permissions#manage-permissions) 之外的按操作审查因此隔离边界是唯一限制 Claude 可以做什么的东西。始终在容器、虚拟机或 [sandbox runtime](#sandbox-runtime) 内运行它,以便文件工具、MCP 服务器和 hooks 也在边界内。63当您传递 `--dangerously-skip-permissions` 时,Claude 在不首先询问您的情况下行动;您仅会被提示显式 [ask rules](/zh-CN/permissions#manage-permissions)、连接器工具 [您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具以及针对 `/` 或您的主目录的删除没有提示来捕捉错误,您选择的隔离边界是保护您的系统的东西。始终在容器、虚拟机或 [sandbox runtime](#sandbox-runtime) 内运行 `--dangerously-skip-permissions` 会话,以便文件工具、MCP 服务器和 hooks 也在边界内。

64 64 

65[Auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 用审查操作的分类器替换提示,并阻止超出请求范围、针对无法识别的基础设施或似乎由 Claude 读取的恶意内容驱动的操作。分类器是按操作控制,而不是隔离边界,因此隔离边界仍然为无人值守运行添加纵深防御,并且不像 `--dangerously-skip-permissions` 那样是必需的。65[Auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 用审查操作的分类器替换提示,并阻止超出请求范围、针对无法识别的基础设施或似乎由 Claude 读取的恶意内容驱动的操作。分类器是按操作控制,而不是隔离边界,因此隔离边界仍然为无人值守运行添加纵深防御,并且不像 `--dangerously-skip-permissions` 那样是必需的。

66 66 

sandboxing.md +10 −5

Details

121 121 

122Claude Code 提供两种沙箱模式:122Claude Code 提供两种沙箱模式:

123 123 

124**自动允许模式**:Bash 命令将尝试在沙箱内运行,并自动允许而无需权限。无法沙箱化的命令(例如需要访问非允许主机的网络访问的命令)会回退到常规权限流程,其中 Claude Code 检查你的 [权限规则](/zh-CN/permissions) 并为这些规则不允许的任何命令提示你。124**自动允许模式**:Bash 命令将尝试在沙箱内运行,并自动允许而无需权限。无法沙箱化的命令(例如需要访问非允许主机的网络访问的命令)会回退到常规权限流程,其中 Claude Code 检查你的 [权限规则](/zh-CN/permissions) 并为这些规则不允许的任何命令提示你,在默认模式下提示或在 [自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 中使用分类器

125 125 

126即使在自动允许模式下,以下仍然适用:126即使在自动允许模式下,以下仍然适用:

127 127 


136 136 

137会话临时目录在沙箱内默认可写,与工作目录一起。Claude Code 为沙箱化命令设置 `$TMPDIR` 为此目录,因此写入临时文件的工具无需额外配置即可工作。非沙箱化命令继承你的 shell 的 `$TMPDIR` 不变,这意味着沙箱化和非沙箱化命令将 `$TMPDIR` 解析为不同的目录。要在两者之间传递临时文件,请改为在工作目录下写入它们。137会话临时目录在沙箱内默认可写,与工作目录一起。Claude Code 为沙箱化命令设置 `$TMPDIR` 为此目录,因此写入临时文件的工具无需额外配置即可工作。非沙箱化命令继承你的 shell 的 `$TMPDIR` 不变,这意味着沙箱化和非沙箱化命令将 `$TMPDIR` 解析为不同的目录。要在两者之间传递临时文件,请改为在工作目录下写入它们。

138 138 

139某些命令根本无法在沙箱内运行,例如与其不兼容的工具或需要你未允许的主机的工具。与其让任务失败或要求你关闭沙箱,Claude Code 包括一个逃生舱:当命令因沙箱限制而失败时,Claude 分析失败,可能使用 `dangerouslyDisableSandbox` 参数重试命令。重试的命令在沙箱外运行,因此通过常规权限流程进行在 [自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分类器评估基础命令而不是提示你139某些命令根本无法在沙箱内运行,例如与其不兼容的工具或需要你未允许的主机的工具。与其让任务失败或要求你关闭沙箱,Claude Code 包括一个逃生舱:当命令因沙箱限制而失败时,Claude 分析失败,可能使用 `dangerouslyDisableSandbox` 参数重试命令。重试的命令在沙箱外运行,因此通过常规权限流程进行:在默认模式下你会获得确认提示;在 [自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 中分类器评估基础命令而不是提示你。要在自动模式下的每次非沙箱化重试时都被提示请为 `Bash(dangerouslyDisableSandbox:true)` 添加一个 [询问规则](/zh-CN/permissions#match-by-input-parameter)

140 140 

141你可以通过在 [沙箱设置](/zh-CN/settings#sandbox-settings) 中设置 `"allowUnsandboxedCommands": false` 来禁用此逃生舱。禁用时,`/sandbox` Overrides 选项卡显示为 **严格沙箱模式**,`dangerouslyDisableSandbox` 参数被完全忽略,所有命令必须沙箱化运行或在 `excludedCommands` 中明确列出。141你可以通过在 [沙箱设置](/zh-CN/settings#sandbox-settings) 中设置 `"allowUnsandboxedCommands": false` 来禁用此逃生舱。禁用时,`/sandbox` Overrides 选项卡显示为 **严格沙箱模式**,`dangerouslyDisableSandbox` 参数被完全忽略,所有命令必须沙箱化运行或在 `excludedCommands` 中明确列出。

142 142 


177 177 

178此语法与 [Read and Edit permission rules](/zh-CN/permissions#read-and-edit) 不同,后者使用 `//path` 表示绝对路径,`/path` 表示项目相对路径。沙箱文件系统路径使用标准约定:`/tmp/build` 是绝对路径。178此语法与 [Read and Edit permission rules](/zh-CN/permissions#read-and-edit) 不同,后者使用 `//path` 表示绝对路径,`/path` 表示项目相对路径。沙箱文件系统路径使用标准约定:`/tmp/build` 是绝对路径。

179 179 

180你也可以使用 `sandbox.filesystem.denyWrite` 和 `sandbox.filesystem.denyRead` 拒绝写入或读取访问,以及使用 `sandbox.filesystem.allowRead` 重新允许被拒绝区域内的特定路径。180你也可以使用 `sandbox.filesystem.denyWrite` 和 `sandbox.filesystem.denyRead` 拒绝写入或读取访问,以及使用 `sandbox.filesystem.allowRead` 重新允许被拒绝区域内的特定路径。当读取规则重叠时,更具体的路径获胜:

181 

182| 示例规则 | 结果 |

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

184| `"denyRead": ["~/"]` 与 `"allowRead": ["~/projects"]` | `~/projects` 可读,主目录的其余部分保持被阻止。更窄的允许重新打开被拒绝区域的该部分 |

185| `"allowRead": ["~/"]` 与 `"denyRead": ["~/.env"]` | `~/.env` 保持被阻止,主目录的其余部分可读。精确的拒绝在更广泛的允许内部保持有效,因此广泛的允许无法悄悄地重新暴露秘密 |

181 186 

182下面的示例阻止从整个主目录读取,同时仍允许从当前项目读取。将其放在你的项目的 `.claude/settings.json` 中,因为相对路径 `.` 仅在配置位于项目设置中时才解析为项目根目录:187下面的示例阻止从整个主目录读取,同时仍允许从当前项目读取。将其放在你的项目的 `.claude/settings.json` 中,因为相对路径 `.` 仅在配置位于项目设置中时才解析为项目根目录:

183 188 


351`/sandbox` 不是 [permission mode](/zh-CN/permission-modes)。权限模式决定工具调用是否运行以及是否首先提示你,而沙箱限制 Bash 命令运行后可以访问的内容。它们在控制的内容和替换每个操作提示的内容上有所不同:356`/sandbox` 不是 [permission mode](/zh-CN/permission-modes)。权限模式决定工具调用是否运行以及是否首先提示你,而沙箱限制 Bash 命令运行后可以访问的内容。它们在控制的内容和替换每个操作提示的内容上有所不同:

352 357 

353| | 它控制什么 | 替换提示的内容 |358| | 它控制什么 | 替换提示的内容 |

354| :-------------------------------------------------------------------- | :---------------- | :------------------------------------------------------------------------------------ |359| :-------------------------------------------------------------------- | :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

355| `/sandbox` | Bash 命令运行后可以访问的内容 | 沙箱边界本身,在 [auto-allow mode](#sandbox-modes) 中 |360| `/sandbox` | Bash 命令运行后可以访问的内容 | 沙箱边界本身,在 [auto-allow mode](#sandbox-modes) 中 |

356| [Auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) | 每个工具调用是否运行 | 审查操作的分类器 |361| [Auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) | 每个工具调用是否运行 | 审查操作的分类器 |

357| `--dangerously-skip-permissions` | 每个工具调用是否运行 | 无。[Protected path](/zh-CN/permission-modes#protected-paths) 检查也被跳过;仅删除 `/` 或你的主目录仍会提示 |362| `--dangerously-skip-permissions` | 每个工具调用是否运行 | 无。[Protected path](/zh-CN/permission-modes#protected-paths) 检查也被跳过;仅显式 [ask rules](/zh-CN/permissions#manage-permissions)、连接器工具 [你的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具,以及删除 `/` 或你的主目录仍会提示 |

358 363 

359沙箱的 [auto-allow mode](#sandbox-modes) 与 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分开:自动允许批准 Bash 命令,因为沙箱边界包含它们,而自动模式使用分类器审查操作。两者独立工作,可以结合。要为无人值守运行选择隔离边界,请参阅 [Sandbox environments](/zh-CN/sandbox-environments#how-isolation-relates-to-permission-modes)。364沙箱的 [auto-allow mode](#sandbox-modes) 与 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分开:自动允许批准 Bash 命令,因为沙箱边界包含它们,而自动模式使用分类器审查操作。两者独立工作,可以结合。要为无人值守运行选择隔离边界,请参阅 [Sandbox environments](/zh-CN/sandbox-environments#how-isolation-relates-to-permission-modes)。

360 365 

Details

82动态计划的循环出现在您的[计划任务列表](#manage-scheduled-tasks)中,就像任何其他任务一样,所以您可以以相同的方式列出或取消它。[抖动规则](#jitter)不适用于它,但[七天过期](#seven-day-expiry)适用:循环在您启动它七天后自动结束。82动态计划的循环出现在您的[计划任务列表](#manage-scheduled-tasks)中,就像任何其他任务一样,所以您可以以相同的方式列出或取消它。[抖动规则](#jitter)不适用于它,但[七天过期](#seven-day-expiry)适用:循环在您启动它七天后自动结束。

83 83 

84<Note>84<Note>

85 在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,没有间隔的提示词在固定的 10 分钟计划上运行。85 在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,没有间隔的提示词在固定的 10 分钟计划上运行。

86</Note>86</Note>

87 87 

88<h3 id="run-the-built-in-maintenance-prompt">88<h3 id="run-the-built-in-maintenance-prompt">


104裸 `/loop` 在[动态选择的间隔](#let-claude-choose-the-interval)上运行此提示词。添加间隔,例如 `/loop 15m`,以在固定计划上运行它。要用您自己的默认值替换内置提示词,请参阅[使用 loop.md 自定义默认提示词](#customize-the-default-prompt-with-loop-md)。104裸 `/loop` 在[动态选择的间隔](#let-claude-choose-the-interval)上运行此提示词。添加间隔,例如 `/loop 15m`,以在固定计划上运行它。要用您自己的默认值替换内置提示词,请参阅[使用 loop.md 自定义默认提示词](#customize-the-default-prompt-with-loop-md)。

105 105 

106<Note>106<Note>

107 在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,没有提示词的 `/loop` 会打印使用消息而不是运行维护提示词。107 在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,没有提示词的 `/loop` 会打印使用消息而不是运行维护提示词。

108</Note>108</Note>

109 109 

110<h3 id="customize-the-default-prompt-with-loop-md">110<h3 id="customize-the-default-prompt-with-loop-md">


132对 `loop.md` 的编辑在下一次迭代时生效,所以您可以在循环运行时优化说明。当任一位置都不存在 `loop.md` 时,循环回退到内置维护提示词。保持文件简洁:超过 25,000 字节的内容会被截断。132对 `loop.md` 的编辑在下一次迭代时生效,所以您可以在循环运行时优化说明。当任一位置都不存在 `loop.md` 时,循环回退到内置维护提示词。保持文件简洁:超过 25,000 字节的内容会被截断。

133 133 

134<Note>134<Note>

135 在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,`loop.md` 不被读取,没有提示词的 `/loop` 会打印使用消息。135 在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,`loop.md` 不被读取,没有提示词的 `/loop` 会打印使用消息。

136</Note>136</Note>

137 137 

138<h3 id="stop-a-loop">138<h3 id="stop-a-loop">

security.md +1 −1

Details

129 129 

130有关云执行的更多详情,请参阅 [Claude Code on the web](/zh-CN/claude-code-on-the-web)。130有关云执行的更多详情,请参阅 [Claude Code on the web](/zh-CN/claude-code-on-the-web)。

131 131 

132[Remote Control](/zh-CN/remote-control) 会话的工作方式不同:Web 界面连接到在您本地机器上运行的 Claude Code 进程。所有代码执行和文件访问都保持本地,任何本地 Claude Code 会话期间流动的相同数据通过 TLS 上的 Anthropic API 传输。不涉及云 VM 或沙箱。连接使用多个短期的、范围狭窄的凭证,每个凭证限制于特定目的并独立过期,以限制任何单个受损凭证的影响范围。132[Remote Control](/zh-CN/remote-control) 会话的工作方式不同:Web 界面连接到在您本地机器上运行的 Claude Code 进程。所有代码执行和文件访问都保持本地,会话流量通过 TLS 上的 Anthropic API 传输;连接时,会话记录存储在 Anthropic 服务器上以跨设备同步对话,如 [Connection and security](/zh-CN/remote-control#connection-and-security) 中所述。不涉及云 VM 或沙箱。连接使用多个短期的、范围狭窄的凭证,每个凭证限制于特定目的并独立过期,以限制任何单个受损凭证的影响范围。

133 133 

134<h2 id="security-best-practices">134<h2 id="security-best-practices">

135 安全最佳实践135 安全最佳实践

Details

242当这些设置存在时,用户会看到一个安全对话框,解释正在配置的内容。用户必须批准才能继续。如果用户拒绝设置,Claude Code 会退出。242当这些设置存在时,用户会看到一个安全对话框,解释正在配置的内容。用户必须批准才能继续。如果用户拒绝设置,Claude Code 会退出。

243 243 

244<Note>244<Note>

245 在使用 `-p` 标志的非交互模式下,Claude Code 跳过安全对话框并在没有用户批准的情况下应用设置245 非交互式运行(例如 `claude -p` 或 Agent SDK 会话)无法显示对话框。当传递的设置需要批准时,Claude Code 仅为该运行应用它们:它不会将它们记录为已批准或写入[本地缓存](#fetch-and-caching-behavior),下一个交互式会话会显示对话框在用户在交互式会话中批准之前,每个非交互式运行都会在启动时再次获取设置。在 v2.1.207 之前,非交互式运行会将设置保存为已批准,因此后来的交互式会话永远不会为它们显示对话框。

246</Note>246</Note>

247 247 

248<h2 id="platform-availability">248<h2 id="platform-availability">


259* [Claude Platform on AWS](/zh-CN/claude-platform-on-aws)259* [Claude Platform on AWS](/zh-CN/claude-platform-on-aws)

260* 通过 `ANTHROPIC_BASE_URL` 或第三方 [LLM gateways](/zh-CN/llm-gateway) 的自定义 API 端点260* 通过 `ANTHROPIC_BASE_URL` 或第三方 [LLM gateways](/zh-CN/llm-gateway) 的自定义 API 端点

261 261 

262如果您在 shell 中导出 `CLAUDE_CODE_USE_*` 提供商变量或非默认的 `ANTHROPIC_BASE_URL`,Claude Code 将跳过您的会话的设置获取。您无法使用服务器管理的 `env` 块清除导出,因为该块通过导出阻止的获取到达。[端点管理的设置](/zh-CN/settings#settings-files) `env` 块也不会恢复获取:Claude Code 在应用管理的 `env` 块之前检查资格,因此覆盖会改变会话的提供商选择,但获取保持跳过。

263 

264要恢复服务器管理的交付,请从 shell 中删除导出,或在用户设置 `env` 块中将变量设置为 `""`,该块在资格检查之前应用。要在不依赖用户更改其 shell 的情况下强制执行策略,请改为通过端点管理的通道交付设置。

265 

262对于 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 部署,自托管的 [Claude apps gateway](/zh-CN/claude-apps-gateway) 提供等效的远程管理设置交付:网关登录的客户端从网关而不是 `api.anthropic.com` 获取管理设置。启动时的失败语义不同:无法到达网关的网关客户端以错误退出,而不是回退到缓存的设置,而每小时的后台刷新在两个通道上都是故障开放的。266对于 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 部署,自托管的 [Claude apps gateway](/zh-CN/claude-apps-gateway) 提供等效的远程管理设置交付:网关登录的客户端从网关而不是 `api.anthropic.com` 获取管理设置。启动时的失败语义不同:无法到达网关的网关客户端以错误退出,而不是回退到缓存的设置,而每小时的后台刷新在两个通道上都是故障开放的。

263 267 

264<h2 id="audit-logging">268<h2 id="audit-logging">

sessions.md +1 −1

Details

115 115 

116这些命令控制上下文窗口中的内容而不离开会话:116这些命令控制上下文窗口中的内容而不离开会话:

117 117 

118* **`/clear`**:以空上下文重新开始。之前的对话已保存并可恢复118* **`/clear`**:以空上下文重新开始。之前的对话已保存并可通过 `/resume` 恢复,或在同一个 Claude Code 进程中,{/* min-version: 2.1.191 */}从[倒带菜单的上一个会话条目](/zh-CN/checkpointing#rewind-past-a-cleared-conversation)恢复

119* **`/compact [instructions]`**:用摘要替换历史记录,可选地专注于您指定的内容119* **`/compact [instructions]`**:用摘要替换历史记录,可选地专注于您指定的内容

120* **`/context`**:显示当前消耗的上下文120* **`/context`**:显示当前消耗的上下文

121 121 

settings.md +43 −17

Details

180 Managed 设置中的无效条目180 Managed 设置中的无效条目

181</h3>181</h3>

182 182 

183Managed 设置宽容地解析。当 managed 配置包含验证架构失败的条目时,Claude Code 会删除该条目,记录警告,并强制执行所有剩余的有效策略。单个拼写错误无法禁用组织的其余策略。此行为在所有三种交付机制中一致:[服务器管理的设置](/zh-CN/server-managed-settings)、通过 MDM 部署的 plist 和注册表策略,以及 `managed-settings.json` 文件。需要 Claude Code v2.1.169 或更高版本。183Managed 设置宽容地解析。当 managed 配置包含验证架构失败的条目时,Claude Code 会删除该条目,记录警告,并强制执行所有剩余的有效策略。单个拼写错误无法禁用组织的其余策略。运行 [`/doctor`](/zh-CN/debug-your-config#check-resolved-settings) 以列出被删除的条目及其源文件和字段。此行为在所有三种交付机制中一致:[服务器管理的设置](/zh-CN/server-managed-settings)、通过 MDM 部署的 plist 和注册表策略,以及 `managed-settings.json` 文件。需要 Claude Code v2.1.169 或更高版本。

184 184 

185安全强制字段按字段处理,而不是在存在但无效时被整体删除:185安全强制字段按字段处理,而不是在存在但无效时被整体删除:

186 186 


213`settings.json` 支持多个选项:213`settings.json` 支持多个选项:

214 214 

215| 键 | 描述 | 示例 |215| 键 | 描述 | 示例 |

216| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |216| :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |

217| `advisorModel` | 服务器端 [advisor tool](/zh-CN/advisor) 的模型。接受模型别名,如 `"opus"`、`"sonnet"` 或 `"fable"`({/* min-version: 2.1.170 */}v2.1.170+),或完整模型 ID。当您运行 `/advisor` 时自动写入。取消设置以禁用 advisor | `"opus"` |217| `advisorModel` | 服务器端 [advisor tool](/zh-CN/advisor) 的模型。接受模型别名,如 `"opus"`、`"sonnet"` 或 `"fable"`({/* min-version: 2.1.170 */}v2.1.170+),或完整模型 ID。当您运行 `/advisor` 时自动写入。取消设置以禁用 advisor | `"opus"` |

218| `agent` | 将主线程作为命名 subagent 运行,并为从 `claude agents` 分派的会话设置默认 agent。应用该 subagent 的系统提示、工具限制和模型。请参阅[显式调用 subagents](/zh-CN/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |218| `agent` | 将主线程作为命名 subagent 运行,并为从 `claude agents` 分派的会话设置默认 agent。应用该 subagent 的系统提示、工具限制和模型。请参阅[显式调用 subagents](/zh-CN/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

219| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}**默认**:`false`。当[远程控制](/zh-CN/remote-control)已连接时,允许 Claude 向您的手机发送主动推送通知,例如当长任务完成时。在 `/config` 中显示为**Claude 决定时推送**。请参阅[移动推送通知](/zh-CN/remote-control#mobile-push-notifications)。需要 Claude Code v2.1.119 或更高版本 | `true` |219| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}**默认**:`false`。当[远程控制](/zh-CN/remote-control)已连接时,允许 Claude 向您的手机发送主动推送通知,例如当长任务完成时。在 `/config` 中显示为**Claude 决定时推送**。请参阅[移动推送通知](/zh-CN/remote-control#mobile-push-notifications)。需要 Claude Code v2.1.119 或更高版本 | `true` |


231| `autoCompactEnabled` | {/* min-version: 2.1.119 */}**默认**:`true`。当上下文接近限制时自动压缩对话。在 `/config` 中显示为**自动压缩**。要通过环境变量禁用,请在 `env` 中设置 [`DISABLE_AUTO_COMPACT`](/zh-CN/env-vars) | `false` |231| `autoCompactEnabled` | {/* min-version: 2.1.119 */}**默认**:`true`。当上下文接近限制时自动压缩对话。在 `/config` 中显示为**自动压缩**。要通过环境变量禁用,请在 `env` 中设置 [`DISABLE_AUTO_COMPACT`](/zh-CN/env-vars) | `false` |

232| `autoMemoryDirectory` | [自动内存](/zh-CN/memory#storage-location)存储的自定义目录。接受绝对路径或 `~/` 前缀的路径。从项目或本地设置接受,仅在您接受工作区信任对话框后,因为克隆的存储库可能提供此文件 | `"~/my-memory-dir"` |232| `autoMemoryDirectory` | [自动内存](/zh-CN/memory#storage-location)存储的自定义目录。接受绝对路径或 `~/` 前缀的路径。从项目或本地设置接受,仅在您接受工作区信任对话框后,因为克隆的存储库可能提供此文件 | `"~/my-memory-dir"` |

233| `autoMemoryEnabled` | **默认**:`true`。启用[自动内存](/zh-CN/memory#enable-or-disable-auto-memory)。当为 `false` 时,Claude 不从自动内存目录读取或写入。您也可以在会话期间使用 `/memory` 切换此选项。要通过环境变量禁用,请在 `env` 中设置 [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/zh-CN/env-vars) | `false` |233| `autoMemoryEnabled` | **默认**:`true`。启用[自动内存](/zh-CN/memory#enable-or-disable-auto-memory)。当为 `false` 时,Claude 不从自动内存目录读取或写入。您也可以在会话期间使用 `/memory` 切换此选项。要通过环境变量禁用,请在 `env` 中设置 [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/zh-CN/env-vars) | `false` |

234| `autoMode` | 自定义[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)分类器阻止和允许的内容。包含 `environment`、`allow`、`soft_deny` 和 `hard_deny` 散文规则数组。在数组中包含字面字符串 `"$defaults"` 以在该位置继承内置规则。请参阅[配置自动模式](/zh-CN/auto-mode-config)。不从共享项目设置读取 | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |234| `autoMode` | 自定义[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)分类器阻止和允许的内容。包含 `environment`、`allow`、`soft_deny` 和 `hard_deny` 散文规则数组。在数组中包含字面字符串 `"$defaults"` 以在该位置继承内置规则。请参阅[配置自动模式](/zh-CN/auto-mode-config)。仅从用户设置、`--settings` 标志和 managed 设置读取。在项目 `.claude/settings.json` 和本地 `.claude/settings.local.json` 中被忽略。{/* min-version: 2.1.207 */}在 v2.1.207 之前,`.claude/settings.local.json` 也被读取 | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

235| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**默认**:`false`。当为 `true` 时,在自动模式活跃时暂停每个 Bash 和 PowerShell 允许规则,以便所有 shell 命令通过分类器路由,而不仅仅是匹配任意代码执行模式的规则。请参阅[通过分类器路由所有 shell 命令](/zh-CN/auto-mode-config#route-all-shell-commands-through-the-classifier)。需要 Claude Code v2.1.193 或更高版本 | `true` |235| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**默认**:`false`。当为 `true` 时,在自动模式活跃时暂停每个 Bash 和 PowerShell 允许规则,以便所有 shell 命令通过分类器路由,而不仅仅是匹配任意代码执行模式的规则。请参阅[通过分类器路由所有 shell 命令](/zh-CN/auto-mode-config#route-all-shell-commands-through-the-classifier)。需要 Claude Code v2.1.193 或更高版本 | `true` |

236| `autoScrollEnabled` | **默认**:`true`。在[全屏渲染](/zh-CN/fullscreen)中,跟随新输出到对话的底部。在 `/config` 中显示为**自动滚动**。权限提示仍在此关闭时滚动到视图中 | `false` |236| `autoScrollEnabled` | **默认**:`true`。在[全屏渲染](/zh-CN/fullscreen)中,跟随新输出到对话的底部。在 `/config` 中显示为**自动滚动**。权限提示仍在此关闭时滚动到视图中 | `false` |

237| `autoUpdatesChannel` | **默认**:`"latest"`。遵循更新的发布渠道。使用 `"stable"` 获取通常约一周前的版本并跳过有主要回归的版本,或使用 `"latest"` 获取最新版本。要完全禁用自动更新,请在 `env` 中设置 [`DISABLE_AUTOUPDATER`](/zh-CN/setup#disable-auto-updates) | `"stable"` |237| `autoUpdatesChannel` | **默认**:`"latest"`。遵循更新的发布渠道。使用 `"stable"` 获取通常约一周前的版本并跳过有主要回归的版本,或使用 `"latest"` 获取最新版本。要完全禁用自动更新,请在 `env` 中设置 [`DISABLE_AUTOUPDATER`](/zh-CN/setup#disable-auto-updates) | `"stable"` |


239| `awaySummaryEnabled` | 在您离开终端几分钟后返回时显示单行会话回顾。设置为 `false` 或在 `/config` 中关闭会话回顾以禁用。与 [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/zh-CN/env-vars) 相同 | `true` |239| `awaySummaryEnabled` | 在您离开终端几分钟后返回时显示单行会话回顾。设置为 `false` 或在 `/config` 中关闭会话回顾以禁用。与 [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/zh-CN/env-vars) 相同 | `true` |

240| `awsAuthRefresh` | 修改 `.aws` 目录的自定义脚本(请参阅[高级凭证配置](/zh-CN/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |240| `awsAuthRefresh` | 修改 `.aws` 目录的自定义脚本(请参阅[高级凭证配置](/zh-CN/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

241| `awsCredentialExport` | 输出包含 AWS 凭证的 JSON 的自定义脚本(请参阅[高级凭证配置](/zh-CN/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |241| `awsCredentialExport` | 输出包含 AWS 凭证的 JSON 的自定义脚本(请参阅[高级凭证配置](/zh-CN/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

242| `axScreenReader` | {/* min-version: 2.1.181 */}渲染屏幕阅读器友好的输出:没有装饰性边框或动画的平面文本。屏幕阅读器模式始终使用经典渲染器,因此在其活跃时 `tui` 设置无效;附加的[后台会话](/zh-CN/agent-view)仍渲染全屏。[`CLAUDE_AX_SCREEN_READER`](/zh-CN/env-vars) 环境变量和 [`--ax-screen-reader`](/zh-CN/cli-reference#cli-flags) 标志优先。需要 Claude Code v2.1.181 或更高版本 | `true` |242| `axScreenReader` | {/* min-version: 2.1.181 */}渲染屏幕阅读器友好的输出:没有装饰性边框或动画的平面文本。屏幕阅读器模式使用经典渲染器,因此在其活跃时 `tui` 设置无效;附加的[后台会话](/zh-CN/agent-view)仍渲染全屏。[`CLAUDE_AX_SCREEN_READER`](/zh-CN/env-vars) 环境变量和 [`--ax-screen-reader`](/zh-CN/cli-reference#cli-flags) 标志优先。需要 Claude Code v2.1.181 或更高版本 | `true` |

243| `blockedMarketplaces` | (仅 Managed 设置)市场源的阻止列表。在市场添加和插件安装、更新、刷新和自动更新时强制执行,因此在设置策略之前添加的市场无法用于获取插件。被阻止的源在下载前被检查,因此它们永远不会接触文件系统。请参阅 [Managed 市场限制](/zh-CN/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |243| `blockedMarketplaces` | (仅 Managed 设置)市场源的阻止列表。在市场添加和插件安装、更新、刷新和自动更新时强制执行,因此在设置策略之前添加的市场无法用于获取插件。被阻止的源在下载前被检查,因此它们永远不会接触文件系统。请参阅 [Managed 市场限制](/zh-CN/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

244| `browserExternalPageTools` | (仅 Managed 设置)设置为 `"disabled"` 以防止 Claude 使用工具读取或作用于桌面应用[浏览器窗格](/zh-CN/desktop#browse-external-sites)中的外部页面。用户仍可以自己导航到外部站点,本地开发服务器预览不受影响 | `"disabled"` |244| `browserExternalPageTools` | (仅 Managed 设置)设置为 `"disabled"` 以防止 Claude 使用工具读取或作用于桌面应用[浏览器窗格](/zh-CN/desktop#browse-external-sites)中的外部页面。用户仍可以自己导航到外部站点,本地开发服务器预览不受影响 | `"disabled"` |

245| `channelsEnabled` | (仅 Managed 设置)为组织允许 [channels](/zh-CN/channels)。在 claude.ai Team 和 Enterprise 计划上,当此项未设置或为 `false` 时,channels 被阻止。对于使用 API 密钥身份验证的 [Anthropic Console](/zh-CN/authentication#claude-console-authentication) 账户,channels 默认被允许,除非您的组织部署 managed 设置,在这种情况下此键必须设置为 `true` | `true` |245| `channelsEnabled` | (仅 Managed 设置)为组织允许 [channels](/zh-CN/channels)。在 claude.ai Team 和 Enterprise 计划上,当此项未设置或为 `false` 时,channels 被阻止。对于使用 API 密钥身份验证的 [Anthropic Console](/zh-CN/authentication#claude-console-authentication) 账户,channels 默认被允许,除非您的组织部署 managed 设置,在这种情况下此键必须设置为 `true` | `true` |


253| `disableAllHooks` | 禁用所有 [hooks](/zh-CN/hooks) 和任何自定义[状态行](/zh-CN/statusline) | `true` |253| `disableAllHooks` | 禁用所有 [hooks](/zh-CN/hooks) 和任何自定义[状态行](/zh-CN/statusline) | `true` |

254| `disableArtifact` | 设置为 `true` 以禁用 [Artifact](/zh-CN/artifacts) 工具,该工具将会话输出发布为 claude.ai 上的私有网页。等同于将 `CLAUDE_CODE_DISABLE_ARTIFACT` 设置为 `1` | `true` |254| `disableArtifact` | 设置为 `true` 以禁用 [Artifact](/zh-CN/artifacts) 工具,该工具将会话输出发布为 claude.ai 上的私有网页。等同于将 `CLAUDE_CODE_DISABLE_ARTIFACT` 设置为 `1` | `true` |

255| `disableAutoMode` | 设置为 `"disable"` 以防止[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)被激活。从 `Shift+Tab` 循环中删除 `auto` 并在启动时拒绝 `--permission-mode auto`。在[managed 设置](/zh-CN/permissions#managed-settings)中最有用,用户无法覆盖它 | `"disable"` |255| `disableAutoMode` | 设置为 `"disable"` 以防止[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)被激活。从 `Shift+Tab` 循环中删除 `auto` 并在启动时拒绝 `--permission-mode auto`。在[managed 设置](/zh-CN/permissions#managed-settings)中最有用,用户无法覆盖它 | `"disable"` |

256| `disableBrowserExternalNavigation` | (仅 Managed 设置)设置为 `true` 以关闭桌面应用[浏览器窗格](/zh-CN/desktop#browse-external-sites)中的外部浏览。用户和 Claude 都无法导航到外部站点,localhost 开发服务器预览不受影响。值必须是 JSON 布尔值 `true`;字符串 `"true"` 被忽略 | `true` |

256| `disableBundledSkills` | 设置为 `true` 以禁用 Claude Code 附带的 [skills](/zh-CN/skills) 和工作流:捆绑的 skills 和工作流被完全删除,而内置斜杠命令(如 `/init`)保持可键入但对模型隐藏。`/doctor` 保持可键入,如内置命令;用 [`DISABLE_DOCTOR_COMMAND`](/zh-CN/env-vars) 隐藏它。来自插件、`.claude/skills/` 和 `.claude/commands/` 的 skills 不受影响。等同于将 `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` 设置为 `1` | `true` |257| `disableBundledSkills` | 设置为 `true` 以禁用 Claude Code 附带的 [skills](/zh-CN/skills) 和工作流:捆绑的 skills 和工作流被完全删除,而内置斜杠命令(如 `/init`)保持可键入但对模型隐藏。`/doctor` 保持可键入,如内置命令;用 [`DISABLE_DOCTOR_COMMAND`](/zh-CN/env-vars) 隐藏它。来自插件、`.claude/skills/` 和 `.claude/commands/` 的 skills 不受影响。等同于将 `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` 设置为 `1` | `true` |

257| `disableClaudeAiConnectors` | {/* min-version: 2.1.182 */}禁用 [claude.ai MCP connectors](/zh-CN/mcp#use-mcp-servers-from-claude-ai),以便它们不被自动获取或连接。在任何设置作用域中设置。任何源中的 `true` 优先,因此已检入的项目 `.claude/settings.json` 可以选择存储库退出云连接器,但项目级 `false` 无法覆盖用户或策略级 `true`。通过 `--mcp-config` 显式传递的 servers 不受影响。要拒绝单个连接器而不是所有连接器,请改用 [`deniedMcpServers`](/zh-CN/managed-mcp)。需要 Claude Code v2.1.182 或更高版本 | `true` |258| `disableClaudeAiConnectors` | {/* min-version: 2.1.182 */}禁用 [claude.ai MCP connectors](/zh-CN/mcp#use-mcp-servers-from-claude-ai),以便它们不被自动获取或连接。在任何设置作用域中设置。任何源中的 `true` 优先,因此已检入的项目 `.claude/settings.json` 可以选择存储库退出云连接器,但项目级 `false` 无法覆盖用户或策略级 `true`。通过 `--mcp-config` 显式传递的 servers 不受影响。要拒绝单个连接器而不是所有连接器,请改用 [`deniedMcpServers`](/zh-CN/managed-mcp)。需要 Claude Code v2.1.182 或更高版本 | `true` |

258| `disableDeepLinkRegistration` | 设置为 `"disable"` 以防止 Claude Code 在启动时向操作系统注册 `claude-cli://` 协议处理程序。[深链接](/zh-CN/deep-links)让外部工具通过预填充的提示打开 Claude Code 会话。在协议处理程序注册受限或单独管理的环境中很有用 | `"disable"` |259| `disableDeepLinkRegistration` | 设置为 `"disable"` 以防止 Claude Code 在启动时向操作系统注册 `claude-cli://` 协议处理程序。[深链接](/zh-CN/deep-links)让外部工具通过预填充的提示打开 Claude Code 会话。在协议处理程序注册受限或单独管理的环境中很有用 | `"disable"` |


267| `enableArtifact` | {/* min-version: 2.1.196 */}为此用户启用或禁用 [Artifact](/zh-CN/artifacts) 工具。未设置时,默认遵循该功能对您账户的[可用性](/zh-CN/artifacts#availability)。`/config` 中的**Artifacts** 行写入此键。managed `disableArtifact` 和您的组织的[管理员设置](/zh-CN/artifacts#manage-artifacts-for-your-organization)优先,该键在项目和本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中被忽略,存储库可能会检入。需要 Claude Code v2.1.196 或更高版本 | `true` |268| `enableArtifact` | {/* min-version: 2.1.196 */}为此用户启用或禁用 [Artifact](/zh-CN/artifacts) 工具。未设置时,默认遵循该功能对您账户的[可用性](/zh-CN/artifacts#availability)。`/config` 中的**Artifacts** 行写入此键。managed `disableArtifact` 和您的组织的[管理员设置](/zh-CN/artifacts#manage-artifacts-for-your-organization)优先,该键在项目和本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中被忽略,存储库可能会检入。需要 Claude Code v2.1.196 或更高版本 | `true` |

268| `enabledMcpjsonServers` | 要批准的 `.mcp.json` 文件中特定 MCP servers 的列表。{/* min-version: 2.1.196 */}从 v2.1.196 开始,`claude mcp list` 和 `claude mcp get` 仅在[未检入存储库的设置文件](/zh-CN/mcp#managing-your-servers)中的不受信任的文件夹中尊重此键 | `["memory", "github"]` |269| `enabledMcpjsonServers` | 要批准的 `.mcp.json` 文件中特定 MCP servers 的列表。{/* min-version: 2.1.196 */}从 v2.1.196 开始,`claude mcp list` 和 `claude mcp get` 仅在[未检入存储库的设置文件](/zh-CN/mcp#managing-your-servers)中的不受信任的文件夹中尊重此键 | `["memory", "github"]` |

269| `enforceAvailableModels` | {/* min-version: 2.1.175 */}将 `availableModels` 允许列表扩展到默认模型。当在 managed 设置中为 `true` 且 `availableModels` 是非空数组时,默认选项回退到第一个可用的允许列表条目,但仅当默认模型会解析为的模型(当应用[组织默认](/zh-CN/model-config#organization-default-model)时,否则账户类型默认)不在允许列表中时;允许列表默认保持原样。当 `availableModels` 未设置或为空时无效。请参阅[为默认模型强制执行允许列表](/zh-CN/model-config#enforce-the-allowlist-for-the-default-model)。需要 Claude Code v2.1.175 或更高版本 | `true` |270| `enforceAvailableModels` | {/* min-version: 2.1.175 */}将 `availableModels` 允许列表扩展到默认模型。当在 managed 设置中为 `true` 且 `availableModels` 是非空数组时,默认选项回退到第一个可用的允许列表条目,但仅当默认模型会解析为的模型(当应用[组织默认](/zh-CN/model-config#organization-default-model)时,否则账户类型默认)不在允许列表中时;允许列表默认保持原样。当 `availableModels` 未设置或为空时无效。请参阅[为默认模型强制执行允许列表](/zh-CN/model-config#enforce-the-allowlist-for-the-default-model)。需要 Claude Code v2.1.175 或更高版本 | `true` |

270| `env` | 应用于每个会话和 Claude Code 从其生成的子进程的环境变量。{/* min-version: 2.1.143 */}从 v2.1.143 开始此处设置的 `NO_COLOR` 和 `FORCE_COLOR` 被传递到子进程,但不改变 Claude Code 自己的界面颜色在启动 `claude` 前在您的 shell 中设置这些以改变界面颜色。{/* min-version: 2.1.195 */}从 v2.1.195 开始,Claude Code 的托管环境设置的身份变量,例如 `CLAUDE_CODE_REMOTE` 和 `CLAUDE_CODE_ACCOUNT_UUID`,在此处设置时被忽略 | `{"FOO": "bar"}` |271| `env` | 应用于每个会话和 Claude Code 从其生成的子进程的环境变量。将变量设置为 `""` 以用空字符串覆盖 shell 导出Claude Code 将其视为未设置用于提供商选择。子进程仍继承空值。`NO_COLOR` 和 `FORCE_COLOR` 在此处设置仅到达子进程;要改变 Claude Code 自己的界面颜色在启动 `claude` 前在您的 shell 中设置它们。{/* min-version: 2.1.195 */}从 v2.1.195 开始,Claude Code 的托管环境设置的身份变量,例如 `CLAUDE_CODE_REMOTE` 和 `CLAUDE_CODE_ACCOUNT_UUID`,在此处设置时被忽略 | `{"FOO": "bar"}` |

271| `fallbackModel` | 当主模型过载或不可用时按顺序尝试的备用模型。Claude Code 为该轮的其余部分切换到链中的下一个可用模型并显示通知。`"default"` 扩展为默认模型。链限制为三个模型;额外条目被忽略。与大多数数组设置不同,此键不跨设置文件合并:定义它的最高优先级文件提供整个链。[`--fallback-model`](/zh-CN/cli-reference#cli-flags) 标志覆盖此用于一个会话。请参阅[备用模型链](/zh-CN/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |272| `fallbackModel` | 当主模型过载或不可用时按顺序尝试的备用模型。Claude Code 为该轮的其余部分切换到链中的下一个可用模型并显示通知。`"default"` 扩展为默认模型。链限制为三个模型;额外条目被忽略。与大多数数组设置不同,此键不跨设置文件合并:定义它的最高优先级文件提供整个链。[`--fallback-model`](/zh-CN/cli-reference#cli-flags) 标志覆盖此用于一个会话。请参阅[备用模型链](/zh-CN/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |

273| `fastMode` | 为可用的会话打开[快速模式](/zh-CN/fast-mode)。使用 `/fast` 切换会在用户设置中写入 `true`,当您关闭快速模式时删除键 | `true` |

272| `fastModePerSessionOptIn` | 当为 `true` 时,快速模式不会跨会话持久化。每个会话都以快速模式关闭开始,需要用户使用 `/fast` 启用它。用户的快速模式偏好仍被保存。请参阅[需要每个会话的选择加入](/zh-CN/fast-mode#require-per-session-opt-in) | `true` |274| `fastModePerSessionOptIn` | 当为 `true` 时,快速模式不会跨会话持久化。每个会话都以快速模式关闭开始,需要用户使用 `/fast` 启用它。用户的快速模式偏好仍被保存。请参阅[需要每个会话的选择加入](/zh-CN/fast-mode#require-per-session-opt-in) | `true` |

273| `feedbackSurveyRate` | 概率(0–1)[会话质量调查](/zh-CN/data-usage#session-quality-surveys)在符合条件时出现。设置为 `0` 以完全抑制,或在 `env` 中设置 [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/zh-CN/env-vars)。在使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 时很有用,其中默认采样率不适用 | `0.05` |275| `feedbackSurveyRate` | 概率(0–1)[会话质量调查](/zh-CN/data-usage#session-quality-surveys)在符合条件时出现。设置为 `0` 以完全抑制,或在 `env` 中设置 [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/zh-CN/env-vars)。在使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 时很有用,其中默认采样率不适用 | `0.05` |

274| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**默认**:`true`。在每次编辑前快照文件,以便 [`/rewind`](/zh-CN/checkpointing) 可以恢复它们。在 `/config` 中显示为**回退代码(checkpoints)**。要通过环境变量禁用,请在 `env` 中设置 [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/zh-CN/env-vars) | `false` |276| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**默认**:`true`。在每次编辑前快照文件,以便 [`/rewind`](/zh-CN/checkpointing) 可以恢复它们。在 `/config` 中显示为**回退代码(checkpoints)**。要通过环境变量禁用,请在 `env` 中设置 [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/zh-CN/env-vars) | `false` |


292| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(仅 Managed 设置)**默认**:`"first-wins"`。控制由嵌入主机进程(例如 Agent SDK 或 IDE 扩展)以编程方式提供的 managed 设置在同时存在管理员部署的 managed 层时是否应用。`"first-wins"`:父级提供的设置被丢弃,仅应用管理员层。`"merge"`:父级提供的设置在管理员层下应用,经过筛选以便它们可以收紧策略但不能放松策略。当未部署管理员层时无效。需要 Claude Code v2.1.133 或更高版本 | `"merge"` |294| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(仅 Managed 设置)**默认**:`"first-wins"`。控制由嵌入主机进程(例如 Agent SDK 或 IDE 扩展)以编程方式提供的 managed 设置在同时存在管理员部署的 managed 层时是否应用。`"first-wins"`:父级提供的设置被丢弃,仅应用管理员层。`"merge"`:父级提供的设置在管理员层下应用,经过筛选以便它们可以收紧策略但不能放松策略。当未部署管理员层时无效。需要 Claude Code v2.1.133 或更高版本 | `"merge"` |

293| `permissions` | 请参阅下表了解权限的结构。 | |295| `permissions` | 请参阅下表了解权限的结构。 | |

294| `plansDirectory` | **默认**:`~/.claude/plans`。自定义 Plan Mode 文件的存储位置。路径相对于项目根目录。 | `"./plans"` |296| `plansDirectory` | **默认**:`~/.claude/plans`。自定义 Plan Mode 文件的存储位置。路径相对于项目根目录。 | `"./plans"` |

295| `pluginSuggestionMarketplaces` | (仅 Managed 设置)其插件可以显示为上下文安装建议的市场名称。建议来自每个插件在其市场条目中的 `relevance` 声明。名称仅在市场在机器上注册且其注册源也在 managed 设置中声明时才生效,作为该名称的 `extraKnownMarketplaces` 条目或 `strictKnownMarketplaces` 的条目。从不同源注册的市场在允许列表名称下被忽略。官方市场豁免于源要求:仅允许列表其名称就足够了,因为该名称只能从官方 Anthropic 源注册。 | `["acme-corp-plugins"]` |297| `pluginSuggestionMarketplaces` | (仅 Managed 设置)其插件可以显示为上下文安装建议的市场名称。无市场声明的建议出现而不需要此允许列表;内置的第一方前端设计提示不受影响。建议来自每个插件在其市场条目中的 `relevance` 声明。名称仅在市场在机器上注册且其注册源也在 managed 设置中声明时才生效,作为该名称的 `extraKnownMarketplaces` 条目或 `strictKnownMarketplaces` 的条目。从不同源注册的市场在允许列表名称下被忽略。官方市场豁免于源要求:仅允许列表其名称就足够了,因为该名称只能从官方 Anthropic 源注册。 | `["acme-corp-plugins"]` |

296| `pluginTrustMessage` | (仅 Managed 设置)在安装前显示的插件信任警告中附加的自定义消息。使用此添加组织特定的上下文,例如确认来自您内部市场的插件已获批准。 | `"All plugins from our marketplace are approved by IT"` |298| `pluginTrustMessage` | (仅 Managed 设置)在安装前显示的插件信任警告中附加的自定义消息。使用此添加组织特定的上下文,例如确认来自您内部市场的插件已获批准。 | `"All plugins from our marketplace are approved by IT"` |

297| `policyHelper` | {/* min-version: 2.1.136 */}管理员部署的可执行文件,在启动时动态计算 managed 设置。仅从 MDM 或系统 `managed-settings.json` 文件受尊重。请参阅[使用策略助手计算 managed 设置](#compute-managed-settings-with-a-policy-helper)。需要 Claude Code v2.1.136 或更高版本 | `{"path": "/usr/local/bin/claude-policy"}` |299| `policyHelper` | {/* min-version: 2.1.136 */}管理员部署的可执行文件,在启动时动态计算 managed 设置。仅从 MDM 或系统 `managed-settings.json` 文件受尊重。请参阅[使用策略助手计算 managed 设置](#compute-managed-settings-with-a-policy-helper)。需要 Claude Code v2.1.136 或更高版本 | `{"path": "/usr/local/bin/claude-policy"}` |

298| `preferredNotifChannel` | **默认**:`"auto"`。任务完成和权限提示通知的方法:`"auto"`、`"terminal_bell"`、`"iterm2"`、`"iterm2_with_bell"`、`"kitty"`、`"ghostty"` 或 `"notifications_disabled"`。`"auto"` 在 iTerm2、Ghostty 和 Kitty 中发送桌面通知,在其他终端中不执行任何操作。设置 `"terminal_bell"` 以在任何终端中响铃。在 `/config` 中显示为**通知**。请参阅[获取终端铃声或通知](/zh-CN/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |300| `preferredNotifChannel` | **默认**:`"auto"`。任务完成和权限提示通知的方法:`"auto"`、`"terminal_bell"`、`"iterm2"`、`"iterm2_with_bell"`、`"kitty"`、`"ghostty"` 或 `"notifications_disabled"`。`"auto"` 在 iTerm2、Ghostty 和 Kitty 中发送桌面通知,在其他终端中不执行任何操作。设置 `"terminal_bell"` 以在任何终端中响铃。在 `/config` 中显示为**通知**。请参阅[获取终端铃声或通知](/zh-CN/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |


306| `showClearContextOnPlanAccept` | **默认**:`false`。在 Plan Mode 接受屏幕上显示"清除上下文"选项。设置为 `true` 以恢复该选项 | `true` |308| `showClearContextOnPlanAccept` | **默认**:`false`。在 Plan Mode 接受屏幕上显示"清除上下文"选项。设置为 `true` 以恢复该选项 | `true` |

307| `showThinkingSummaries` | **默认**:`false`。在交互式会话中显示[扩展思考](/zh-CN/model-config#extended-thinking)摘要。未设置或 `false` 时,思考块由 API 编辑并显示为折叠的存根。编辑仅改变您看到的内容,而不是模型生成的内容:要减少思考支出,[降低预算或禁用思考](/zh-CN/model-config#extended-thinking)。此设置在非交互模式(`-p`)、Agent SDK 或 IDE 扩展(如 VS Code)中无效 | `true` |309| `showThinkingSummaries` | **默认**:`false`。在交互式会话中显示[扩展思考](/zh-CN/model-config#extended-thinking)摘要。未设置或 `false` 时,思考块由 API 编辑并显示为折叠的存根。编辑仅改变您看到的内容,而不是模型生成的内容:要减少思考支出,[降低预算或禁用思考](/zh-CN/model-config#extended-thinking)。此设置在非交互模式(`-p`)、Agent SDK 或 IDE 扩展(如 VS Code)中无效 | `true` |

308| `showTurnDuration` | **默认**:`true`。在响应后显示轮次持续时间消息,例如"Cooked for 1m 6s"。在 `/config` 中显示为**显示轮次持续时间** | `false` |310| `showTurnDuration` | **默认**:`true`。在响应后显示轮次持续时间消息,例如"Cooked for 1m 6s"。在 `/config` 中显示为**显示轮次持续时间** | `false` |

309| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}**默认**:`0.01`。为[skill 列表](/zh-CN/skills#skill-descriptions-are-cut-short)预留的模型上下文窗口的分数,Claude 每轮看到。当列表超过预算时,最少使用的 skills 的描述被折叠为仅名称,以便 Claude 仍可以调用它们但不会看到原因。提高以保持更多描述可见,代价是每轮更多上下文。`/doctor` 显示当前截断计数和受影响的 skills。需要 Claude Code v2.1.105 或更高版本 | `0.02` |311| `skillListingBudgetFraction` | **默认**:`0.01`。为[skill 列表](/zh-CN/skills#skill-descriptions-are-cut-short)预留的模型上下文窗口的分数,Claude 每轮看到。当列表超过预算时,最少使用的 skills 的描述被删除仅列出其名称,以便 Claude 仍可以调用它们但不会看到它们的作用。提高以保持更多描述可见,代价是每轮更多上下文。`/doctor` 估计列表成本与预算 | `0.02` |

310| `skillListingMaxDescChars` | {/* min-version: 2.1.105 */}**默认**:`1536`。[skill 列表](/zh-CN/skills#skill-descriptions-are-cut-short)中每个 skill 的 `description` 和 `when_to_use` 文本组合的字符上限。超过此长度的文本被截断。提高以保持长描述完整,代价是每轮更多上下文;降低以在 [`skillListingBudgetFraction`](#available-settings) 下适应更多 skills。需要 Claude Code v2.1.105 或更高版本 | `2048` |312| `skillListingMaxDescChars` | **默认**:`1536`。[skill 列表](/zh-CN/skills#skill-descriptions-are-cut-short)中每个 skill 的 `description` 和 `when_to_use` 文本组合的字符上限。超过此长度的文本被截断。提高以保持长描述完整,代价是每轮更多上下文;降低以在 [`skillListingBudgetFraction`](#available-settings) 下适应更多 skills | `2048` |

311| `skillOverrides` | {/* min-version: 2.1.129 */}按 skill 名称键入的每个 skill 可见性覆盖。值为 `"on"`、`"name-only"`、`"user-invocable-only"` 或 `"off"`。让您隐藏或折叠 skill 而无需编辑其 SKILL.md。不适用于插件 skills,这些通过 `/plugin` 管理。`/skills` 菜单将这些写入 `.claude/settings.local.json`。请参阅[从设置覆盖 skill 可见性](/zh-CN/skills#override-skill-visibility-from-settings)。需要 Claude Code v2.1.129 或更高版本 | `{"legacy-context": "name-only", "deploy": "off"}` |313| `skillOverrides` | {/* min-version: 2.1.129 */}按 skill 名称键入的每个 skill 可见性覆盖。值为 `"on"`、`"name-only"`、`"user-invocable-only"` 或 `"off"`。让您隐藏或折叠 skill 而无需编辑其 SKILL.md。不适用于插件 skills,这些通过 `/plugin` 管理。`/skills` 菜单将这些写入 `.claude/settings.local.json`。请参阅[从设置覆盖 skill 可见性](/zh-CN/skills#override-skill-visibility-from-settings)。需要 Claude Code v2.1.129 或更高版本 | `{"legacy-context": "name-only", "deploy": "off"}` |

312| `skipWebFetchPreflight` | 跳过[WebFetch 域安全检查](/zh-CN/data-usage#webfetch-domain-safety-check),该检查在获取前将每个请求的主机名发送到 `api.anthropic.com`。在阻止到 Anthropic 的流量的环境中设置为 `true`,例如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 部署,具有限制性出站。跳过时,WebFetch 尝试任何 URL 而不咨询阻止列表 | `true` |314| `skipWebFetchPreflight` | 跳过[WebFetch 域安全检查](/zh-CN/data-usage#webfetch-domain-safety-check),该检查在获取前将每个请求的主机名发送到 `api.anthropic.com`。在阻止到 Anthropic 的流量的环境中设置为 `true`,例如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 部署,具有限制性出站。跳过时,WebFetch 尝试任何 URL 而不咨询阻止列表 | `true` |

313| `spinnerTipsEnabled` | **默认**:`true`。在 Claude 工作时在微调器中显示提示。设置为 `false` 以禁用提示 | `false` |315| `spinnerTipsEnabled` | **默认**:`true`。在 Claude 工作时在微调器中显示提示。设置为 `false` 以禁用提示 | `false` |


322| `terminalProgressBarEnabled` | **默认**:`true`。在支持的终端中显示终端进度条:ConEmu、Ghostty 1.2.0+ 和 iTerm2 3.6.6+。在 `/config` 中显示为**终端进度条** | `false` |324| `terminalProgressBarEnabled` | **默认**:`true`。在支持的终端中显示终端进度条:ConEmu、Ghostty 1.2.0+ 和 iTerm2 3.6.6+。在 `/config` 中显示为**终端进度条** | `false` |

323| `theme` | {/* min-version: 2.1.119 */}**默认**:`"dark"`。界面的颜色主题:`"auto"`、`"dark"`、`"light"`、`"dark-daltonized"`、`"light-daltonized"`、`"dark-ansi"`、`"light-ansi"` 或自定义主题参考,如 `"custom:<slug>"` 或 `"custom:<plugin-name>:<slug>"`。请参阅[创建自定义主题](/zh-CN/terminal-config#create-a-custom-theme)。在 `/config` 中显示为**主题** | `"dark"` |325| `theme` | {/* min-version: 2.1.119 */}**默认**:`"dark"`。界面的颜色主题:`"auto"`、`"dark"`、`"light"`、`"dark-daltonized"`、`"light-daltonized"`、`"dark-ansi"`、`"light-ansi"` 或自定义主题参考,如 `"custom:<slug>"` 或 `"custom:<plugin-name>:<slug>"`。请参阅[创建自定义主题](/zh-CN/terminal-config#create-a-custom-theme)。在 `/config` 中显示为**主题** | `"dark"` |

324| `tui` | 终端 UI 渲染器。使用 `"fullscreen"` 获取无闪烁的[替代屏幕渲染器](/zh-CN/fullscreen),具有虚拟化滚动条。使用 `"default"` 获取经典主屏幕渲染器。通过 `/tui` 设置。您也可以设置 [`CLAUDE_CODE_NO_FLICKER`](/zh-CN/env-vars) 环境变量。后台会话从[代理视图](/zh-CN/agent-view)打开始终使用全屏渲染器,无论此设置如何 | `"fullscreen"` |326| `tui` | 终端 UI 渲染器。使用 `"fullscreen"` 获取无闪烁的[替代屏幕渲染器](/zh-CN/fullscreen),具有虚拟化滚动条。使用 `"default"` 获取经典主屏幕渲染器。通过 `/tui` 设置。您也可以设置 [`CLAUDE_CODE_NO_FLICKER`](/zh-CN/env-vars) 环境变量。后台会话从[代理视图](/zh-CN/agent-view)打开始终使用全屏渲染器,无论此设置如何 | `"fullscreen"` |

325| `ultracode` | 为会话打开 [ultracode](/zh-CN/workflows#let-claude-decide-with-ultracode)。仅限会话,不从 `settings.json` 读取。通过 `/effort ultracode`、`--settings` 或 Agent SDK 控制请求设置。{/* min-version: 2.1.203 */}要启动已打开 ultracode 的会话,使用 `claude --effort ultracode` 启动,需要 Claude Code v2.1.203 或更高版本 | `true` |327| `ultracode` | 为会话打开 [ultracode](/zh-CN/workflows#let-claude-decide-with-ultracode)。此键不从 `settings.json` 读取。通过 `/effort ultracode`、`--settings` 或 Agent SDK 控制请求设置。{/* min-version: 2.1.203 */}要启动已打开 ultracode 的会话,使用 `claude --effort ultracode` 启动,需要 Claude Code v2.1.203 或更高版本 | `true` |

326| `useAutoModeDuringPlan` | **默认**:`true`。Plan Mode 在自动模式可用时是否使用自动模式语义。不从共享项目设置读取。在 `/config` 中显示为"在计划期间使用自动模式" | `false` |328| `useAutoModeDuringPlan` | **默认**:`true`。Plan Mode 在自动模式可用时是否使用自动模式语义。不从共享项目设置读取。在 `/config` 中显示为"在计划期间使用自动模式" | `false` |

327| `verbose` | {/* min-version: 2.1.119 */}**默认**:`false`。显示完整工具输出而不是截断的摘要。在 `/config` 中显示为**详细输出**。`--verbose` 标志覆盖此用于一个会话 | `true` |329| `verbose` | {/* min-version: 2.1.119 */}**默认**:`false`。显示完整工具输出而不是截断的摘要。在 `/config` 中显示为**详细输出**。`--verbose` 标志覆盖此用于一个会话 | `true` |

328| `viewMode` | 启动时的默认记录视图模式:`"default"`、`"verbose"` 或 `"focus"`。设置时覆盖粘性 `/focus` 选择。`--verbose` 标志覆盖此用于一个会话 | `"verbose"` |330| `viewMode` | 启动时的默认记录视图模式:`"default"`、`"verbose"` 或 `"focus"`。设置时覆盖粘性 `/focus` 选择。`--verbose` 标志覆盖此用于一个会话 | `"verbose"` |

331| `vimInsertModeRemaps` | {/* min-version: 2.1.208 */}将两键 INSERT 模式序列映射到 Escape 在[vim 编辑器模式](/zh-CN/interactive-mode#vim-editor-mode)中。每个键恰好是两个按顺序键入的可打印字符,`"<Esc>"` 是唯一支持的目标;其他条目被忽略。仅从用户、`--settings` 标志和 managed 设置读取,因此存储库的已检入设置无法重新映射您的按键。除非 `editorMode` 为 `"vim"`,否则无效。请参阅[重新映射 INSERT 模式键序列](/zh-CN/interactive-mode#remap-insert-mode-key-sequences)。需要 Claude Code v2.1.208 或更高版本 | `{"jj": "<Esc>"}` |

329| `voice` | [语音听写](/zh-CN/voice-dictation)设置:`enabled` 打开听写,`mode` 选择 `"hold"` 或 `"tap"`,`autoSubmit` 在保持模式下按键释放时发送提示。当您运行 `/voice` 时自动写入。需要 Claude.ai 账户 | `{ "enabled": true, "mode": "tap" }` |332| `voice` | [语音听写](/zh-CN/voice-dictation)设置:`enabled` 打开听写,`mode` 选择 `"hold"` 或 `"tap"`,`autoSubmit` 在保持模式下按键释放时发送提示。当您运行 `/voice` 时自动写入。需要 Claude.ai 账户 | `{ "enabled": true, "mode": "tap" }` |

330| `voiceEnabled` | `voice.enabled` 的旧别名。优先使用 `voice` 对象 | `true` |333| `voiceEnabled` | `voice.enabled` 的旧别名。优先使用 `voice` 对象 | `true` |

331| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}**默认**:`true`。在[全屏渲染](/zh-CN/fullscreen#mouse-wheel-scrolling)中,加速鼠标滚轮滚动速度在快速滚动期间。设置为 `false` 以获得每个滚轮缺口的恒定滚动速率。需要 Claude Code v2.1.174 或更高版本 | `false` |334| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}**默认**:`true`。在[全屏渲染](/zh-CN/fullscreen#mouse-wheel-scrolling)中,加速鼠标滚轮滚动速度在快速滚动期间。设置为 `false` 以获得每个滚轮缺口的恒定滚动速率。需要 Claude Code v2.1.174 或更高版本 | `false` |


343</Note>346</Note>

344 347 

345| 键 | 描述 | 示例 |348| 键 | 描述 | 示例 |

346| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |349| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

347| `autoConnectIde` | **默认**:`false`。当 Claude Code 从外部终端启动时自动连接到运行的 IDE。在 VS Code 或 JetBrains 终端外运行时在 `/config` 中显示为**自动连接到 IDE(外部终端)**。[`CLAUDE_CODE_AUTO_CONNECT_IDE`](/zh-CN/env-vars) 环境变量在设置时覆盖此 | `true` |350| `autoConnectIde` | **默认**:`false`。当 Claude Code 从外部终端启动时自动连接到运行的 IDE。在 VS Code 或 JetBrains 终端外运行时在 `/config` 中显示为**自动连接到 IDE(外部终端)**。[`CLAUDE_CODE_AUTO_CONNECT_IDE`](/zh-CN/env-vars) 环境变量在设置时覆盖此 | `true` |

348| `autoInstallIdeExtension` | **默认**:`true`。从 VS Code 终端运行时自动安装 Claude Code IDE 扩展。在 VS Code 或 JetBrains 终端内运行时在 `/config` 中显示为**自动安装 IDE 扩展**。您也可以设置 [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/zh-CN/env-vars) 环境变量 | `false` |351| `autoInstallIdeExtension` | **默认**:`true`。从 VS Code 终端运行时自动安装 Claude Code IDE 扩展。在 VS Code 或 JetBrains 终端内运行时在 `/config` 中显示为**自动安装 IDE 扩展**。您也可以设置 [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/zh-CN/env-vars) 环境变量 | `false` |

349| `externalEditorContext` | **默认**:`false`。当您使用 `Ctrl+G` 打开外部编辑器时,将 Claude 的上一个响应作为 `#` 注释上下文前置。在 `/config` 中显示为**在外部编辑器中显示最后响应** | `true` |352| `externalEditorContext` | **默认**:`false`。当您使用 `Ctrl+G` 打开外部编辑器时,将 Claude 的上一个响应作为 `#` 注释上下文前置。在 `/config` 中显示为**在外部编辑器中显示最后响应** | `true` |

353| `permissionExplainerEnabled` | **默认**:`true`。当您在 Bash 或 PowerShell 权限提示上按 `Ctrl+E` 时显示模型生成的[命令说明](/zh-CN/permissions#permission-system)。设置为 `false` 以关闭快捷键 | `false` |

350| `teammateDefaultModel` | [agent team](/zh-CN/agent-teams) 队友的默认模型,当生成提示未指定时。设置为模型别名(如 `"sonnet"`),或 `null` 以继承主导的当前 `/model` 选择。在 `/config` 中显示为**默认队友模型** | `"sonnet"` |354| `teammateDefaultModel` | [agent team](/zh-CN/agent-teams) 队友的默认模型,当生成提示未指定时。设置为模型别名(如 `"sonnet"`),或 `null` 以继承主导的当前 `/model` 选择。在 `/config` 中显示为**默认队友模型** | `"sonnet"` |

351| `workflowSizeGuideline` | {/* min-version: 2.1.202 */}**默认**:`unrestricted`,不发送指南。设置[动态工作流](/zh-CN/workflows#set-a-size-guideline)中 Claude 针对的[代理计数](/zh-CN/workflows#set-a-size-guideline)。Claude Code 将值作为建议而不是强制上限发送给 Claude。接受 `unrestricted`、`small`、`medium` 或 `large`。在 `/config` 中显示为**动态工作流大小**。您也可以使用 `/config workflowSizeGuideline=small` 直接设置它。需要 Claude Code v2.1.202 或更高版本。{/* min-version: 2.1.203 */}指南的代理计数也替换[`Large workflow` 警告](/zh-CN/workflows#cost)的默认阈值;该行为需要 Claude Code v2.1.203 或更高版本 | `"small"` |355| `workflowSizeGuideline` | {/* min-version: 2.1.202 */}**默认**:`unrestricted`,不发送指南。设置[动态工作流](/zh-CN/workflows#set-a-size-guideline)中 Claude 针对的[代理计数](/zh-CN/workflows#set-a-size-guideline)。Claude Code 将值作为建议而不是强制上限发送给 Claude。接受 `unrestricted`、`small`、`medium` 或 `large`。在 `/config` 中显示为**动态工作流大小**。您也可以使用 `/config workflowSizeGuideline=small` 直接设置它。需要 Claude Code v2.1.202 或更高版本。{/* min-version: 2.1.203 */}指南的代理计数也替换[`Large workflow` 警告](/zh-CN/workflows#cost)的默认阈值;该行为需要 Claude Code v2.1.203 或更高版本 | `"small"` |

352 356 


358 362 

359| 键 | 描述 | 示例 |363| 键 | 描述 | 示例 |

360| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |364| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |

361| `worktree.baseRef` | 新 worktrees 分支的参考。`"fresh"`(默认)从 `origin/<default-branch>` 分支以获得与远程匹配的干净树。`"head"` 从您当前的本地 `HEAD` 分支,因此未推送的提交和特性分支状态存在于 worktree 中。适用于 `--worktree`、`EnterWorktree` 工具和 subagent 隔离 | `"head"` |365| `worktree.baseRef` | 新 worktrees 分支的参考。`"fresh"`(默认)从 `origin/<default-branch>` 分支以获得与远程匹配的干净树。`"head"` 从您当前的本地 `HEAD` 分支,因此未推送的提交和特性分支状态存在于 worktree 中。在 linked worktree 内,`"head"` 解析为该 worktree 的 `HEAD`,而不是主检出的。适用于 `--worktree`、`EnterWorktree` 工具和 subagent 隔离 | `"head"` |

362| `worktree.symlinkDirectories` | 要从主存储库符号链接到每个 worktree 的目录,以避免在磁盘上复制大型目录。默认情况下不符号链接任何目录 | `["node_modules", ".cache"]` |366| `worktree.symlinkDirectories` | 要从主存储库符号链接到每个 worktree 的目录,以避免在磁盘上复制大型目录。默认情况下不符号链接任何目录 | `["node_modules", ".cache"]` |

363| `worktree.sparsePaths` | 通过 git sparse-checkout 在每个 worktree 中检出的目录。仅将列出的目录加上根级文件写入磁盘,在大型 monorepos 中更快 | `["packages/my-app", "shared/utils"]` |367| `worktree.sparsePaths` | 通过 git sparse-checkout 在每个 worktree 中检出的目录。仅将列出的目录加上根级文件写入磁盘,在大型 monorepos 中更快。当 sparse worktree 存在时,git 在存储库的共享 `.git/config` 中启用 `extensions.worktreeConfig`;请参阅[仅检出您需要的目录](/zh-CN/large-codebases#check-out-only-the-directories-you-need) | `["packages/my-app", "shared/utils"]` |

364| `worktree.bgIsolation` | {/* min-version: 2.1.143 */}[后台会话](/zh-CN/agent-view#how-file-edits-are-isolated)的隔离模式。`"worktree"`(默认)在调用 `EnterWorktree` 之前阻止主检出中的 `Edit`/`Write`。{/* min-version: 2.1.203 */}在 git 存储库外,失败的 [`WorktreeCreate` hook](/zh-CN/worktrees#non-git-version-control) 释放块,以便会话可以就地编辑工作目录;需要 Claude Code v2.1.203 或更高版本。`"none"` 让后台作业直接编辑工作副本。需要 Claude Code v2.1.143 或更高版本 | `"none"` |368| `worktree.bgIsolation` | {/* min-version: 2.1.143 */}[后台会话](/zh-CN/agent-view#how-file-edits-are-isolated)的隔离模式。`"worktree"`(默认)在调用 `EnterWorktree` 之前阻止主检出中的 `Edit`/`Write`。{/* min-version: 2.1.203 */}在 git 存储库外,失败的 [`WorktreeCreate` hook](/zh-CN/worktrees#non-git-version-control) 释放块,以便会话可以就地编辑工作目录;需要 Claude Code v2.1.203 或更高版本。`"none"` 让后台作业直接编辑工作副本。需要 Claude Code v2.1.143 或更高版本 | `"none"` |

365 369 

366要将 gitignored 文件(如 `.env`)复制到新的 worktrees,请在项目根目录中使用 [`.worktreeinclude` 文件](/zh-CN/worktrees#copy-gitignored-files-into-worktrees),而不是设置。370要将 gitignored 文件(如 `.env`)复制到新的 worktrees,请在项目根目录中使用 [`.worktreeinclude` 文件](/zh-CN/worktrees#copy-gitignored-files-into-worktrees),而不是设置。


370</h3>374</h3>

371 375 

372| 键 | 描述 | 示例 |376| 键 | 描述 | 示例 |

373| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |377| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |

374| `allow` | 允许工具使用的权限规则数组。工具名称 globs 仅在字面 `mcp__<server>__` 前缀后的工具位置支持,例如 `mcp__github__get_*`;server 段必须无 glob。请参阅下面的[权限规则语法](#permission-rule-syntax)了解模式匹配详情 | `[ "Bash(git diff *)" ]` |378| `allow` | 允许工具使用的权限规则数组。工具名称 globs 仅在字面 `mcp__<server>__` 前缀后的工具位置支持,例如 `mcp__github__get_*`;server 段必须无 glob。请参阅下面的[权限规则语法](#permission-rule-syntax)了解模式匹配详情 | `[ "Bash(git diff *)" ]` |

375| `ask` | 在工具使用时要求确认的权限规则数组。请参阅下面的[权限规则语法](#permission-rule-syntax) | `[ "Bash(git push *)" ]` |379| `ask` | 在工具使用时要求确认的权限规则数组。请参阅下面的[权限规则语法](#permission-rule-syntax) | `[ "Bash(git push *)" ]` |

376| `deny` | 拒绝工具使用的权限规则数组。使用此排除敏感文件不被 Claude Code 访问。工具名称接受 glob 模式:`"*"` 拒绝每个工具,`"mcp__*"` 拒绝所有 MCP 工具。请参阅[权限规则语法](#permission-rule-syntax)和 [Bash 权限限制](/zh-CN/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |380| `deny` | 拒绝工具使用的权限规则数组。使用此排除敏感文件不被 Claude Code 访问。工具名称接受 glob 模式:`"*"` 拒绝每个工具,`"mcp__*"` 拒绝所有 MCP 工具。请参阅[权限规则语法](#permission-rule-syntax)和 [Bash 权限限制](/zh-CN/permissions#tool-specific-permission-rules) | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |

377| `additionalDirectories` | Claude 有权访问的额外[工作目录](/zh-CN/permissions#working-directories)。大多数 `.claude/` 配置[未从这些目录发现](/zh-CN/permissions#additional-directories-grant-file-access-not-configuration) | `[ "../docs/" ]` |381| `additionalDirectories` | Claude 有权访问的额外[工作目录](/zh-CN/permissions#working-directories)。大多数 `.claude/` 配置[未从这些目录发现](/zh-CN/permissions#additional-directories-grant-file-access-not-configuration) | `[ "../docs/" ]` |

378| `defaultMode` | 打开 Claude Code 时的默认[权限模式](/zh-CN/permission-modes)。有效值:`default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions` 和 {/* min-version: 2.1.200 */}}`manual` 作为 `default` 的别名,CLIVS Code 和 JetBrains 扩展中标记为 Manual 的模式。`manual` 别名需要 Claude Code v2.1.200 或更高版本。{/* min-version: 2.1.142 */}}从 Claude Code v2.1.142 开始,当在项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中设置时,`auto` 被忽略,因此存储库无法授予自己自动模式。改为在 `~/.claude/settings.json` 中设置它。`--permission-mode` CLI 标志覆盖此设置用于单个会话 | `"acceptEdits"` |382| `defaultMode` | 打开 Claude Code 时的默认[权限模式](/zh-CN/permission-modes)。有效值:`default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions` 和 {/* min-version: 2.1.200 */}}`manual` 作为 `default` 的别名,CLIVS Code 和 JetBrains 扩展以及桌面应用中标记为 Manual 的模式。`manual` 别名需要 Claude Code v2.1.200 或更高版本。{/* min-version: 2.1.142 */}从 Claude Code v2.1.142 开始,当在项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中设置时,`auto` 被忽略,因此存储库无法授予自己自动模式。改为在 `~/.claude/settings.json` 中设置它。在 v2.1.142 之前,项目设置可以设置 `auto`。`--permission-mode` CLI 标志覆盖此设置用于单个会话 | `"acceptEdits"` |

379| `disableBypassPermissionsMode` | 设置为 `"disable"` 以防止激活 `bypassPermissions` 模式。禁用 `--dangerously-skip-permissions` 标志。[managed 设置](/zh-CN/permissions#managed-settings)中最有用用户无法覆盖它 | `"disable"` |383| `disableBypassPermissionsMode` | 设置为 `"disable"` 以防止激活 `bypassPermissions` 模式。禁用 `--dangerously-skip-permissions` 标志。通常放在[managed 设置](/zh-CN/permissions#managed-settings)中以强制执行组织策略但适用于任何作用域 | `"disable"` |

380| `skipDangerousModePermissionPrompt` | 跳过通过 `--dangerously-skip-permissions` 或 `defaultMode: "bypassPermissions"` 进入 bypass permissions 模式前显示的确认提示。在项目设置(`.claude/settings.json`)中设置时被忽略,以防止不受信任的存储库自动绕过提示 | `true` |384| `skipDangerousModePermissionPrompt` | 跳过通过 `--dangerously-skip-permissions` 或 `defaultMode: "bypassPermissions"` 进入 bypass permissions 模式前显示的确认提示。在项目设置(`.claude/settings.json`)中设置时被忽略,以防止不受信任的存储库自动绕过提示 | `true` |

381 385 

382<h3 id="permission-rule-syntax">386<h3 id="permission-rule-syntax">


412| `filesystem.allowWrite` | sandboxed 命令可以写入的额外路径。数组跨所有设置作用域合并:用户、项目和 managed 路径组合,不替换。也与 `Edit(...)` 允许权限规则中的路径合并。请参阅下面的[路径前缀](#sandbox-path-prefixes)。 | `["/tmp/build", "~/.kube"]` |416| `filesystem.allowWrite` | sandboxed 命令可以写入的额外路径。数组跨所有设置作用域合并:用户、项目和 managed 路径组合,不替换。也与 `Edit(...)` 允许权限规则中的路径合并。请参阅下面的[路径前缀](#sandbox-path-prefixes)。 | `["/tmp/build", "~/.kube"]` |

413| `filesystem.denyWrite` | sandboxed 命令无法写入的路径。数组跨所有设置作用域合并。也与 `Edit(...)` 拒绝权限规则中的路径合并。 | `["/etc", "/usr/local/bin"]` |417| `filesystem.denyWrite` | sandboxed 命令无法写入的路径。数组跨所有设置作用域合并。也与 `Edit(...)` 拒绝权限规则中的路径合并。 | `["/etc", "/usr/local/bin"]` |

414| `filesystem.denyRead` | sandboxed 命令无法读取的路径。数组跨所有设置作用域合并。也与 `Read(...)` 拒绝权限规则中的路径合并。 | `["~/.aws/credentials"]` |418| `filesystem.denyRead` | sandboxed 命令无法读取的路径。数组跨所有设置作用域合并。也与 `Read(...)` 拒绝权限规则中的路径合并。 | `["~/.aws/credentials"]` |

415| `filesystem.allowRead` | 在 `denyRead` 区域内重新允许读取的路径。优先于 `denyRead`。数组跨所有设置作用域合并。使用此创建仅工作区读取访问模式。 | `["."]` |419| `filesystem.allowRead` | 在 `denyRead` 区域内重新允许读取的路径。`allowRead` 路径在更广泛的 `denyRead` 区域内重新打开读取,`denyRead` 中的精确路径在更广泛的 `allowRead` 内保持被阻止;请参阅[重叠表](/zh-CN/sandboxing#configure-sandboxing)了解示例。数组跨所有设置作用域合并。使用此创建仅工作区读取访问模式。 | `["."]` |

416| `filesystem.allowManagedReadPathsOnly` | (仅 Managed 设置)仅尊重来自 managed 设置的 `filesystem.allowRead` 路径。`denyRead` 仍从所有源合并。默认:false | `true` |420| `filesystem.allowManagedReadPathsOnly` | (仅 Managed 设置)仅尊重来自 managed 设置的 `filesystem.allowRead` 路径。`denyRead` 仍从所有源合并。默认:false | `true` |

417| `credentials.files` | {/* min-version: 2.1.187 */}Credential 文件或目录,sandboxed 命令无法读取。应用与 `filesystem.denyRead` 相同的读取块;单独的键将凭证路径与 `credentials.envVars` 分组,与一般文件系统规则分开。每个条目是 `{ "path": "...", "mode": "deny" }`,仅支持 `deny`。路径使用与 `filesystem.*` 设置相同的[前缀](#sandbox-path-prefixes)。数组跨所有设置作用域合并。需要 Claude Code v2.1.187 或更高版本。 | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |421| `credentials.files` | {/* min-version: 2.1.187 */}Credential 文件或目录,sandboxed 命令无法读取。应用与 `filesystem.denyRead` 相同的读取块;单独的键将凭证路径与 `credentials.envVars` 分组,与一般文件系统规则分开。每个条目是 `{ "path": "...", "mode": "deny" }`,仅支持 `deny`。路径使用与 `filesystem.*` 设置相同的[前缀](#sandbox-path-prefixes)。数组跨所有设置作用域合并。需要 Claude Code v2.1.187 或更高版本。 | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |

418| `credentials.envVars` | {/* min-version: 2.1.187 */}要[保护免受 sandboxed 命令](/zh-CN/sandboxing#protect-credentials)的环境变量。每个条目有一个 `name` 和一个 `mode`;名称必须以字母或下划线开头,仅包含字母、数字和下划线。`deny` 从 sandboxed 命令的环境中删除变量。需要 Claude Code v2.1.187 或更高版本。{/* min-version: 2.1.199 */}}`mask` 在 sandbox 内用每个会话的哨兵值替换变量,同时 sandbox 代理在对该条目的 `injectHosts` 的出站请求上替换真实值;它需要 `network.tlsTerminate` 和 Claude Code v2.1.199 或更高版本。`mask` 条目仅从用户、managed 或 CLI `--settings` 设置受尊重,不从 `.claude/settings.json` 或 `.claude/settings.local.json`。数组跨所有设置作用域合并,当同一变量同时出现两种模式时 `deny` 优先。 | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |422| `credentials.envVars` | {/* min-version: 2.1.187 */}要[保护免受 sandboxed 命令](/zh-CN/sandboxing#protect-credentials)的环境变量。每个条目有一个 `name` 和一个 `mode`;名称必须以字母或下划线开头,仅包含字母、数字和下划线。`deny` 从 sandboxed 命令的环境中删除变量。需要 Claude Code v2.1.187 或更高版本。{/* min-version: 2.1.199 */}}`mask` 在 sandbox 内用每个会话的哨兵值替换变量,同时 sandbox 代理在对该条目的 `injectHosts` 的出站请求上替换真实值;它需要 `network.tlsTerminate` 和 Claude Code v2.1.199 或更高版本。`mask` 条目仅从用户、managed 或 CLI `--settings` 设置受尊重,不从 `.claude/settings.json` 或 `.claude/settings.local.json`。数组跨所有设置作用域合并,当同一变量同时出现两种模式时 `deny` 优先。 | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |


582}586}

583```587```

584 588 

585配置此后,当 `PROJ-1234` 出现在工具结果或 Claude 的回复中时,一个 `PROJ-1234` 芯片出现在页脚中,链接到 `https://issues.example.com/browse/PROJ-1234`。589配置此后,当 `PROJ-1234` 出现在工具结果或 Claude 的回复中时,一个 `PROJ-1234` 徽章出现在页脚中,链接到 `https://issues.example.com/browse/PROJ-1234`。

586 590 

587以下约束适用于每个条目:591以下约束适用于每个条目:

588 592 


829}833}

830```834```

831 835 

836<h4 id="pluginconfigs">

837 `pluginConfigs`

838</h4>

839 

840存储插件的 [`userConfig`](/zh-CN/plugins-reference#user-configuration) 提示收集的非敏感选项值,按插件 ID 键入。当您填写插件的配置对话框时,Claude Code 会将此键写入用户设置,因此您无需手动编辑它。敏感选项存储在 macOS Keychain 中,或在没有支持的 keychain 的平台上存储在 `~/.claude/.credentials.json` 中。

841 

842此示例为从 `acme-tools` 市场安装的插件存储一个选项:

843 

844```json theme={null}

845{

846 "pluginConfigs": {

847 "deployer@acme-tools": {

848 "options": {

849 "api_endpoint": "https://api.example.com"

850 }

851 }

852 }

853}

854```

855 

856`pluginConfigs` 仅从用户设置、`--settings` 标志和 managed 设置中读取。项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的条目被忽略,因为这些值被替换到插件 hook、MCP 和 LSP 配置中,克隆的存储库不得能够提供它们。在 v2.1.207 之前,项目和本地设置也被读取。

857 

832<h4 id="extraknownmarketplaces">858<h4 id="extraknownmarketplaces">

833 `extraKnownMarketplaces`859 `extraKnownMarketplaces`

834</h4>860</h4>

setup.md +6 −0

Details

206 206 

207运行 `claude doctor` 以查看最近一次更新尝试的结果。207运行 `claude doctor` 以查看最近一次更新尝试的结果。

208 208 

209在 macOS 和 Linux 上,原生安装程序将启动器作为 `~/.local/bin/claude` 处的符号链接管理到 `~/.local/share/claude/versions/`。如果您将该启动器替换为您自己的脚本或符号链接,自动更新和 `claude update` 会将其保留在原位:新版本仍然安装在 `versions/` 目录下,您的启动器决定运行哪个版本。在 v2.1.207 之前,自动更新程序在每次更新时都会将该路径处的自定义启动器替换为其自己的符号链接。

210 

211使用自定义启动器,Claude Code 也会在磁盘上保留每个已安装的版本,因为它无法判断启动器需要哪个版本。`claude doctor` 报告原生安装程序未创建的启动器。

212 

213要让 Claude Code 再次管理启动器,请删除 `~/.local/bin/claude` 并运行 `claude update`。

214 

209如果 npm 全局安装因为 npm 全局目录不可写而无法自动更新,Claude Code 会在启动时显示一次性通知,`claude doctor` 会列出可用的修复。有关详细信息,请参阅[安装期间的权限错误](/zh-CN/troubleshoot-install#permission-errors-during-installation)。215如果 npm 全局安装因为 npm 全局目录不可写而无法自动更新,Claude Code 会在启动时显示一次性通知,`claude doctor` 会列出可用的修复。有关详细信息,请参阅[安装期间的权限错误](/zh-CN/troubleshoot-install#permission-errors-during-installation)。

210 216 

211<Note>217<Note>

skills.md +1 −1

Details

359 359 

360* **`user-invocable: false`**:只有 Claude 可以调用该 skill。用于不可作为命令操作的背景知识。`legacy-system-context` skill 解释了旧系统的工作原理。Claude 在相关时应该知道这一点,但 `/legacy-system-context` 对用户来说不是一个有意义的操作。360* **`user-invocable: false`**:只有 Claude 可以调用该 skill。用于不可作为命令操作的背景知识。`legacy-system-context` skill 解释了旧系统的工作原理。Claude 在相关时应该知道这一点,但 `/legacy-system-context` 对用户来说不是一个有意义的操作。

361 361 

362此示例创建一个只有你可以触发的部署 skill。`disable-model-invocation: true` 字段防止 Claude 自动运行它362此示例创建一个只有你可以触发的部署 skill。如果你设置 `disable-model-invocation: true`Claude 无法自动运行该 skill

363 363 

364```yaml theme={null}364```yaml theme={null}

365---365---

slack.md +1 −1

Details

7> 直接从 Slack 工作区委派编码任务7> 直接从 Slack 工作区委派编码任务

8 8 

9<Note>9<Note>

10 Slack 中的 Claude Code 正在被 [Claude Tag](https://claude.com/docs/claude-tag/overview) 替代,用于 Team 和 Enterprise 工作区。Claude Tag 以您组织的共享身份运行 @Claude,具有管理员配置的访问权限,在同一 Slack 应用下运行,因此无需重新安装,现有设置在过渡期间继续工作。要切换工作区,请参阅 [从早期 Claude in Slack 迁移](https://claude.com/docs/claude-tag/admins/migrate-from-earlier)。10 Slack 中的 Claude Code 正在被 [Claude Tag](https://claude.com/product/tag) 替代,用于 Team 和 Enterprise 工作区。Claude Tag 以您组织的共享身份运行 @Claude,具有管理员配置的访问权限,在同一 Slack 应用下运行,因此无需重新安装,现有设置在过渡期间继续工作。要切换工作区,请参阅 [从早期 Claude in Slack 迁移](https://claude.com/docs/claude-tag/admins/migrate-from-earlier)。

11</Note>11</Note>

12 12 

13Slack 中的 Claude Code 将 Claude Code 的强大功能直接引入您的 Slack 工作区。当您使用编码任务提及 `@Claude` 时,Claude 会自动检测意图并在网络上创建 Claude Code 会话,允许您在不离开团队对话的情况下委派开发工作。13Slack 中的 Claude Code 将 Claude Code 的强大功能直接引入您的 Slack 工作区。当您使用编码任务提及 `@Claude` 时,Claude 会自动检测意图并在网络上创建 Claude Code 会话,允许您在不离开团队对话的情况下委派开发工作。

sub-agents.md +10 −3

Details

363 363 

364如果两者都设置,`disallowedTools` 首先应用,然后 `tools` 针对剩余的池进行解析。同时列在两者中的工具被删除。364如果两者都设置,`disallowedTools` 首先应用,然后 `tools` 针对剩余的池进行解析。同时列在两者中的工具被删除。

365 365 

366当 `tools` 列表中没有任何内容解析为工具时,例如因为每个条目都拼写错误或命名了对 subagents 不可用的工具,Claude Code 拒绝启动 subagent,Agent 工具返回一个错误,命名未解析的条目。{/* min-version: 2.1.208 */}在 v2.1.208 之前,该 subagent 启动时没有工具,可能返回空的或令人困惑的结果。

367 

366两个字段都接受 MCP 服务器级别的模式,除了精确的工具名称:`mcp__<server>` 或 `mcp__<server>__*` 授予或删除来自命名服务器的每个工具。在 `disallowedTools` 中,`mcp__*` 也删除来自任何服务器的每个 MCP 工具。此示例删除来自 `github` MCP 服务器的每个工具,同时保留来自其他服务器的工具和每个内置工具:368两个字段都接受 MCP 服务器级别的模式,除了精确的工具名称:`mcp__<server>` 或 `mcp__<server>__*` 授予或删除来自命名服务器的每个工具。在 `disallowedTools` 中,`mcp__*` 也删除来自任何服务器的每个 MCP 工具。此示例删除来自 `github` MCP 服务器的每个工具,同时保留来自其他服务器的工具和每个内置工具:

367 369 

368```yaml theme={null}370```yaml theme={null}


456`permissionMode` 字段控制 subagent 如何处理权限提示。Subagents 从主对话继承权限上下文,并可以覆盖模式,除非父模式优先,如下所述。458`permissionMode` 字段控制 subagent 如何处理权限提示。Subagents 从主对话继承权限上下文,并可以覆盖模式,除非父模式优先,如下所述。

457 459 

458| Mode | Behavior |460| Mode | Behavior |

459| :------------------ | :--------------------------------------------------------------------------------------- |461| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

460| `default` | 标准权限检查,带有提示 |462| `default` | 标准权限检查,带有提示 |

461| `acceptEdits` | 自动接受文件编辑和工作目录或 `additionalDirectories` 中路径的常见文件系统命令 |463| `acceptEdits` | 自动接受文件编辑和工作目录或 `additionalDirectories` 中路径的常见文件系统命令 |

462| `auto` | [Auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode):后台分类器审查命令和受保护目录的写入 |464| `auto` | [Auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode):后台分类器审查命令和受保护目录的写入 |

463| `dontAsk` | 自动拒绝权限提示显式允许的工具仍然工作|465| `dontAsk` | 自动拒绝权限提示显式允许的工具仍然工作;`AskUserQuestion`、connector 工具 [您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools) 和标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具被拒绝,即使您已允许它们 |

464| `bypassPermissions` | 跳过权限提示 |466| `bypassPermissions` | 跳过权限提示 |

465| `plan` | Plan mode(只读探索) |467| `plan` | Plan mode(只读探索) |

466 468 

467<Warning>469<Warning>

468 谨慎使用 `bypassPermissions`。它跳过权限提示,允许 subagent 在没有批准的情况下执行操作,包括对 `.git`、`.config/git`、`.claude`、`.vscode`、`.idea`、`.husky`、`.cargo`、`.devcontainer`、`.yarn` 和 `.mvn` 的写入。显式 [`ask` 规则](/zh-CN/permissions#manage-permissions) 和根目录和主目录删除(如 `rm -rf /`)仍然会提示。有关详细信息,请参阅 [permission modes](/zh-CN/permission-modes#skip-all-checks-with-bypasspermissions-mode)。470 谨慎使用 `bypassPermissions`。它跳过权限提示,允许 subagent 在没有批准的情况下执行操作,包括对 `.git`、`.config/git`、`.claude`、`.vscode`、`.idea`、`.husky`、`.cargo`、`.devcontainer`、`.yarn` 和 `.mvn` 的写入。

471 

472 显式 [`ask` 规则](/zh-CN/permissions#manage-permissions)、connector 工具 [您的组织设置为 `ask`](/zh-CN/mcp#organization-controls-on-connector-tools)、标记为 [`requiresUserInteraction`](/zh-CN/mcp#require-approval-for-a-specific-tool) 的 MCP 工具以及根目录和主目录删除(如 `rm -rf /`)仍然会提示。有关详细信息,请参阅 [permission modes](/zh-CN/permission-modes#skip-all-checks-with-bypasspermissions-mode)。

469</Warning>473</Warning>

470 474 

471如果父级使用 `bypassPermissions` 或 `acceptEdits`,这优先并且无法被覆盖。如果父级使用 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode),subagent 继承 auto mode,其 frontmatter 中的任何 `permissionMode` 被忽略:分类器使用与父会话相同的块和允许规则评估 subagent 的工具调用。475如果父级使用 `bypassPermissions` 或 `acceptEdits`,这优先并且无法被覆盖。如果父级使用 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode),subagent 继承 auto mode,其 frontmatter 中的任何 `permissionMode` 被忽略:分类器使用与父会话相同的块和允许规则评估 subagent 的工具调用。


784* 要求 Claude 在后台或前台运行任务788* 要求 Claude 在后台或前台运行任务

785* 按 **Ctrl+B** 将运行中的任务放在后台789* 按 **Ctrl+B** 将运行中的任务放在后台

786 790 

791{/* min-version: 2.1.208 */}完成的后台 subagent 在 [`/tasks`](/zh-CN/commands) 中保持列出,标记为完成并排序在运行工作下方,直到会话清理其任务列表。当 subagent 完成时,其详情视图保持打开。失败或您停止的 Subagents 离开列表。在 v2.1.208 之前,完成的 subagent 在完成时立即离开列表,其详情视图关闭。

792 

787要禁用所有后台任务功能,请将 `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 环境变量设置为 `1`。请参阅 [Environment variables](/zh-CN/env-vars)。793要禁用所有后台任务功能,请将 `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 环境变量设置为 `1`。请参阅 [Environment variables](/zh-CN/env-vars)。

788 794 

789当 [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) 设置为 `1` 时,每个 subagent 生成都在后台运行,frontmatter `background` 字段无效,因为 fork 模式从 `Agent` 工具中移除了 `run_in_background` 参数。`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 优先于 fork 模式,并将 subagent 生成保持在前台。795当 [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) 设置为 `1` 时,每个 subagent 生成都在后台运行,frontmatter `background` 字段无效,因为 fork 模式从 `Agent` 工具中移除了 `run_in_background` 参数。`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 优先于 fork 模式,并将 subagent 生成保持在前台。


897* **CLAUDE.md 和内存**:主对话加载的 [内存层次结构](/zh-CN/memory#how-claude-md-files-load) 的每个级别,包括 `~/.claude/CLAUDE.md`、项目规则、`CLAUDE.local.md` 和托管策略文件。内置的 Explore 和 Plan 代理跳过这个。903* **CLAUDE.md 和内存**:主对话加载的 [内存层次结构](/zh-CN/memory#how-claude-md-files-load) 的每个级别,包括 `~/.claude/CLAUDE.md`、项目规则、`CLAUDE.local.md` 和托管策略文件。内置的 Explore 和 Plan 代理跳过这个。

898* **Git 状态**:在父会话开始时拍摄的快照。当工作目录不是 Git 存储库或 [`includeGitInstructions`](/zh-CN/settings#available-settings) 为 `false` 时不存在。Explore 和 Plan 无论如何都跳过它。904* **Git 状态**:在父会话开始时拍摄的快照。当工作目录不是 Git 存储库或 [`includeGitInstructions`](/zh-CN/settings#available-settings) 为 `false` 时不存在。Explore 和 Plan 无论如何都跳过它。

899* **预加载的技能**:代理的 [`skills` 字段](#preload-skills-into-subagents) 中命名的任何技能的完整内容。内置代理不预加载技能。905* **预加载的技能**:代理的 [`skills` 字段](#preload-skills-into-subagents) 中命名的任何技能的完整内容。内置代理不预加载技能。

906* **兄弟名单**:系统提醒,列出 `main` 和会话中的每个其他命名代理,每个都是 [`SendMessage`](#resume-subagents) 的有效 `to` 值。{/* min-version: 2.1.206 */}需要 Claude Code v2.1.206 或更高版本。名单仅在 subagent 的工具包括 `SendMessage` 且至少有一个其他代理有名称时出现,无论 Claude 在生成时命名它还是它作为 [agent team](/zh-CN/agent-teams) 队友运行。它是 subagent 启动时拍摄的快照,所以稍后命名的代理不会出现。

900 907 

901Explore 和 Plan 是仅有的省略 CLAUDE.md 和 git 状态的 subagents。没有 frontmatter 字段或按代理设置来改变哪些代理跳过它们。908Explore 和 Plan 是仅有的省略 CLAUDE.md 和 git 状态的 subagents。没有 frontmatter 字段或按代理设置来改变哪些代理跳过它们。

902 909 

Details

296 296 

297如果显示闪烁或在 Claude 工作时滚动位置跳跃,请切换到[全屏渲染模式](/zh-CN/fullscreen)。它绘制到终端为全屏应用程序保留的单独屏幕,而不是附加到您的正常滚动条,这保持内存使用平稳并为滚动和选择添加鼠标支持。在此模式下,您使用鼠标或 PageUp 在 Claude Code 内滚动,而不是使用您的终端的本机滚动条;请参阅[全屏页面](/zh-CN/fullscreen#search-and-review-the-conversation)了解如何搜索和复制。297如果显示闪烁或在 Claude 工作时滚动位置跳跃,请切换到[全屏渲染模式](/zh-CN/fullscreen)。它绘制到终端为全屏应用程序保留的单独屏幕,而不是附加到您的正常滚动条,这保持内存使用平稳并为滚动和选择添加鼠标支持。在此模式下,您使用鼠标或 PageUp 在 Claude Code 内滚动,而不是使用您的终端的本机滚动条;请参阅[全屏页面](/zh-CN/fullscreen#search-and-review-the-conversation)了解如何搜索和复制。

298 298 

299如果闪烁是唯一的问题,且您的终端支持同步输出但未被自动检测,例如 Emacs `eat`,请设置 [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/zh-CN/env-vars) 以停止闪烁而不改变渲染器。

300 

299运行 `/tui fullscreen` 以切换并保存偏好设置。您的对话将完整重新启动,未来的会话将在全屏中启动。您也可以在启动 Claude Code 之前设置 `CLAUDE_CODE_NO_FLICKER` 环境变量:301运行 `/tui fullscreen` 以切换并保存偏好设置。您的对话将完整重新启动,未来的会话将在全屏中启动。您也可以在启动 Claude Code 之前设置 `CLAUDE_CODE_NO_FLICKER` 环境变量:

300 302 

301<CodeGroup>303<CodeGroup>


330 332 

331Claude Code 包括提示符输入的 Vim 风格编辑模式。通过 `/config` → 编辑器模式启用它,或通过在 `~/.claude/settings.json` 中将 [`editorMode`](/zh-CN/settings#available-settings) 设置为 `"vim"` 来启用。将编辑器模式设置回 `normal` 以关闭它。333Claude Code 包括提示符输入的 Vim 风格编辑模式。通过 `/config` → 编辑器模式启用它,或通过在 `~/.claude/settings.json` 中将 [`editorMode`](/zh-CN/settings#available-settings) 设置为 `"vim"` 来启用。将编辑器模式设置回 `normal` 以关闭它。

332 334 

333Vim 模式支持 NORMAL 模式和 VISUAL 模式动作和运算符的子集,例如 `hjkl` 导航、`v`/`V` 选择以及 `d`/`c`/`y` 与文本对象。请参阅 [Vim 编辑器模式参考](/zh-CN/interactive-mode#vim-editor-mode)了解完整的快捷键表。Vim 动作不可通过快捷键文件重新映射。335Vim 模式支持 NORMAL 模式和 VISUAL 模式动作和运算符的子集,例如 `hjkl` 导航、`v`/`V` 选择以及 `d`/`c`/`y` 与文本对象。请参阅 [Vim 编辑器模式参考](/zh-CN/interactive-mode#vim-editor-mode)了解完整的快捷键表。

336 

337Vim 动作不可通过快捷键文件重新映射。要映射两个按键的 INSERT 模式序列(例如 `jj` 到 Escape),请在用户设置中设置 [`vimInsertModeRemaps`](/zh-CN/interactive-mode#remap-insert-mode-key-sequences)。

334 338 

335在 INSERT 模式下按 Enter 仍会提交您的提示符,与标准 Vim 不同。在 NORMAL 模式下使用 `o` 或 `O`,或 Ctrl+J,来插入换行。339在 INSERT 模式下按 Enter 仍会提交您的提示符,与标准 Vim 不同。在 NORMAL 模式下使用 `o` 或 `O`,或 Ctrl+J,来插入换行。

336 340 

Details

202* [Google Cloud's Agent Platform](/zh-CN/google-vertex-ai)202* [Google Cloud's Agent Platform](/zh-CN/google-vertex-ai)

203* [Microsoft Foundry](/zh-CN/microsoft-foundry)203* [Microsoft Foundry](/zh-CN/microsoft-foundry)

204 204 

205对于 Amazon Bedrock 和 Google Vertex AI,您也可以运行 `claude` 并在登录提示处选择 **3rd-party platform** 来启动交互式设置向导。

206 

205<h2 id="configure-proxies-and-gateways">207<h2 id="configure-proxies-and-gateways">

206 配置代理和网关208 配置代理和网关

207</h2>209</h2>


209大多数组织可以直接使用云提供商,无需额外配置。但是,如果您的组织有特定的网络或管理要求,您可能需要配置企业代理或 LLM 网关。这些是可以一起使用的不同配置:211大多数组织可以直接使用云提供商,无需额外配置。但是,如果您的组织有特定的网络或管理要求,您可能需要配置企业代理或 LLM 网关。这些是可以一起使用的不同配置:

210 212 

211* **企业代理**:通过 HTTP/HTTPS 代理路由流量。如果您的组织要求所有出站流量通过代理服务器以进行安全监控、合规性或网络策略执行,请使用此选项。使用 `HTTPS_PROXY` 或 `HTTP_PROXY` 环境变量进行配置。在[企业网络配置](/zh-CN/network-config)中了解更多。213* **企业代理**:通过 HTTP/HTTPS 代理路由流量。如果您的组织要求所有出站流量通过代理服务器以进行安全监控、合规性或网络策略执行,请使用此选项。使用 `HTTPS_PROXY` 或 `HTTP_PROXY` 环境变量进行配置。在[企业网络配置](/zh-CN/network-config)中了解更多。

212* **LLM 网关**:位于 Claude Code 和云提供商之间的服务,用于处理身份验证和路由。如果您需要跨团队的集中使用情况跟踪、自定义速率限制或预算或集中身份验证管理,请使用此选项。使用 `ANTHROPIC_BASE_URL`、`ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_AWS_BASE_URL` 或 `ANTHROPIC_VERTEX_BASE_URL` 环境变量进行配置。在[LLM 网关](/zh-CN/llm-gateway)中了解更多。214* **LLM 网关**:位于 Claude Code 和云提供商之间的服务,用于处理身份验证和路由。如果您需要跨团队的集中使用情况跟踪、自定义速率限制或预算或集中身份验证管理,请使用此选项。使用 `ANTHROPIC_BASE_URL`、`ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_AWS_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_FOUNDRY_BASE_URL` 环境变量进行配置。在[LLM 网关](/zh-CN/llm-gateway)中了解更多。

213 215 

214以下示例显示在 shell 或 shell 配置文件(`.bashrc`、`.zshrc`)中设置的环境变量。有关其他配置方法,请参阅[设置](/zh-CN/settings)。216以下示例显示在 shell 或 shell 配置文件(`.bashrc`、`.zshrc`)中设置的环境变量。有关其他配置方法,请参阅[设置](/zh-CN/settings)。

215 217 


314</Tabs>316</Tabs>

315 317 

316<Tip>318<Tip>

317 在 Claude Code 中使用 `/status` 来验证您的代理和网关配置是否正确应用。319 在 Claude Code 中使用 `/status` 来验证您的代理和网关配置是否正确应用。例如,使用上面的 Bedrock 网关配置,输出包括以下行:

320 

321 ```

322 API provider: Amazon Bedrock

323 Bedrock base URL: https://your-llm-gateway.com/bedrock

324 AWS region: us-east-1

325 AWS auth skipped

326 ```

327 

328 如果您配置了企业代理,`/status` 也会显示一条 `Proxy` 行,其中包含您的代理 URL。

318</Tip>329</Tip>

319 330 

320<h2 id="best-practices-for-organizations">331<h2 id="best-practices-for-organizations">


327 338 

328我们强烈建议投资文档,以便 Claude Code 理解您的代码库。组织可以在多个级别部署 CLAUDE.md 文件:339我们强烈建议投资文档,以便 Claude Code 理解您的代码库。组织可以在多个级别部署 CLAUDE.md 文件:

329 340 

330* **组织范围**:部署到系统目录,如 `/Library/Application Support/ClaudeCode/CLAUDE.md`(macOS),用于公司范围的标准341* **组织范围**:部署到系统目录,如 `/Library/Application Support/ClaudeCode/CLAUDE.md`(macOS)、`/etc/claude-code/CLAUDE.md`(Linux 和 WSL)或 `C:\Program Files\ClaudeCode\CLAUDE.md`(Windows),用于公司范围的标准

331* **存储库级别**:在存储库根目录中创建 `CLAUDE.md` 文件,包含项目架构、构建命令和贡献指南。将这些检入源代码控制,以便所有用户受益342* **存储库级别**:在存储库根目录中创建 `CLAUDE.md` 文件,包含项目架构、构建命令和贡献指南。将这些检入源代码控制,以便所有用户受益

332 343 

333在[内存和 CLAUDE.md 文件](/zh-CN/memory)中了解更多。344在[内存和 CLAUDE.md 文件](/zh-CN/memory)中了解更多。

tools-reference.md +22 −10

Details

13Permission required 列显示该工具在默认权限模式下是否对工作目录内的路径进行提示。标记为"否"的文件访问工具,包括 `Read`、`Grep` 和 `Glob`,仍然会对[工作目录和其他目录](/zh-CN/permissions#working-directories)之外的路径进行提示。`Bash` 标记为"是",但运行一组内置的[只读命令](/zh-CN/permissions#read-only-commands)而无需提示。13Permission required 列显示该工具在默认权限模式下是否对工作目录内的路径进行提示。标记为"否"的文件访问工具,包括 `Read`、`Grep` 和 `Glob`,仍然会对[工作目录和其他目录](/zh-CN/permissions#working-directories)之外的路径进行提示。`Bash` 标记为"是",但运行一组内置的[只读命令](/zh-CN/permissions#read-only-commands)而无需提示。

14 14 

15| 工具 | 描述 | 需要权限 |15| 工具 | 描述 | 需要权限 |

16| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--- |16| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--- |

17| `Agent` | 生成一个具有自己 context window 的 [subagent](/zh-CN/sub-agents),用于处理任务。请参阅 [Agent 工具行为](#agent-tool-behavior) | 否 |17| `Agent` | 生成一个具有自己 context window 的 [subagent](/zh-CN/sub-agents),用于处理任务。请参阅 [Agent 工具行为](#agent-tool-behavior) | 否 |

18| `Artifact` | 将 HTML 或 Markdown 文件发布为 [artifact](/zh-CN/artifacts):一个私有的、交互式的 claude.ai 页面。 Team 和 Enterprise 计划上您可以在组织内共享它。{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}需要 Pro、Max、Team 或 Enterprise 计划和 `/login` 身份验证;请参阅[可用性](/zh-CN/artifacts#availability) | 是 |18| `Artifact` | 将 HTML 或 Markdown 文件发布为 [artifact](/zh-CN/artifacts):一个私有的、交互式的 claude.ai 页面。您可以与公开链接共享它,或在 Team 和 Enterprise 计划上在您的组织内共享其中公开共享需要所有者[启用它](/zh-CN/artifacts#control-public-sharing)。{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}需要 Pro、Max、Team 或 Enterprise 计划和 `/login` 身份验证;请参阅[可用性](/zh-CN/artifacts#availability) | 是 |

19| `AskUserQuestion` | 提出多选问题以收集需求或澄清歧义。{/* min-version: 2.1.200 */}问题保持打开状态直到您回答:默认情况下没有空闲超时。要让空闲对话框自动继续,请将 [`askUserQuestionTimeout`](/zh-CN/settings#available-settings) 设置设置为 `60s`、`5m` 或 `10m`,可以在您的用户 `settings.json` 中或从 `/config` 中的**问题自动继续超时**行进行设置。一旦经过所选的空闲时间且没有输入,对话框会自动关闭:它会提交您已选择的任何选项,并告诉 Claude 您可能离开了键盘,因此 Claude 会根据自己的判断继续进行,稍后可以重新提问。最后 20 秒会出现倒计时。任何按键都会重启计时器,对于报告焦点的终端上的焦点窗口也是如此。超时仅适用于 `AskUserQuestion` 的多选问题;权限提示(包括计划批准)在空闲时永远不会自动解决。在 v2.1.198 和 v2.1.199 中,对话框默认在 60 秒空闲后自动继续,[`CLAUDE_AFK_TIMEOUT_MS`](/zh-CN/env-vars#variables) 是改变这一点的唯一方式 | 否 |19| `AskUserQuestion` | 提出多选问题以收集需求或澄清歧义。{/* min-version: 2.1.200 */}问题保持打开状态直到您回答:默认情况下没有空闲超时。要让空闲对话框自动继续,请将 [`askUserQuestionTimeout`](/zh-CN/settings#available-settings) 设置设置为 `60s`、`5m` 或 `10m`,可以在您的用户 `settings.json` 中或从 `/config` 中的**问题自动继续超时**行进行设置。一旦经过所选的空闲时间且没有输入,对话框会自动关闭:它会提交您已选择的任何选项,并告诉 Claude 您可能离开了键盘,因此 Claude 会根据自己的判断继续进行,稍后可以重新提问。最后 20 秒会出现倒计时。任何按键都会重启计时器,对于报告焦点的终端上的焦点窗口也是如此。超时仅适用于 `AskUserQuestion` 的多选问题;权限提示(包括计划批准)在空闲时永远不会自动解决。在 v2.1.198 和 v2.1.199 中,对话框默认在 60 秒空闲后自动继续,[`CLAUDE_AFK_TIMEOUT_MS`](/zh-CN/env-vars#variables) 是改变这一点的唯一方式 | 否 |

20| `Bash` | 在您的环境中执行 shell 命令。请参阅 [Bash 工具行为](#bash-tool-behavior) | 是 |20| `Bash` | 在您的环境中执行 shell 命令。请参阅 [Bash 工具行为](#bash-tool-behavior) | 是 |

21| `CronCreate` | 在当前会话中安排定期或一次性提示。任务是会话范围的,在 `--resume` 或 `--continue` 时如果未过期则会恢复。请参阅[计划任务](/zh-CN/scheduled-tasks) | 否 |21| `CronCreate` | 在当前会话中安排定期或一次性提示。任务是会话范围的,在 `--resume` 或 `--continue` 时如果未过期则会恢复。请参阅[计划任务](/zh-CN/scheduled-tasks) | 否 |


23| `CronList` | 列出会话中的所有计划任务 | 否 |23| `CronList` | 列出会话中的所有计划任务 | 否 |

24| `Edit` | 对特定文件进行有针对性的编辑。请参阅 [Edit 工具行为](#edit-tool-behavior) | 是 |24| `Edit` | 对特定文件进行有针对性的编辑。请参阅 [Edit 工具行为](#edit-tool-behavior) | 是 |

25| `EnterPlanMode` | 切换到 Plan Mode 以在编码前设计方法 | 否 |25| `EnterPlanMode` | 切换到 Plan Mode 以在编码前设计方法 | 否 |

26| `EnterWorktree` | 创建一个隔离的 [git worktree](/zh-CN/worktrees) 并切换到它。传递 `path` 以切换到现有 worktree,而不是创建新的。{/* min-version: 2.1.203 */}首次进入时,目标可能是当前存储库的 worktree,或在多存储库工作区中,是嵌套在其中的存储库的 worktree。在 v2.1.203 之前,嵌套存储库的 worktree 被拒绝。从 worktree 会话内,或从具有固定工作目录的 subagent(例如 [`isolation: worktree`](/zh-CN/sub-agents#supported-frontmatter-fields))中,仅 `path` 形式可用,目标必须在会话存储库的 `.claude/worktrees/` 下 | |26| `EnterWorktree` | 创建一个隔离的 [git worktree](/zh-CN/worktrees) 并切换到它。传递 `path` 以切换到现有 worktree,而不是创建新的。{/* min-version: 2.1.203 */}首次进入时,目标可能是当前存储库的 worktree,或在多存储库工作区中,是嵌套在其中的存储库的 worktree。在 v2.1.203 之前,嵌套存储库的 worktree 被拒绝。{/* min-version: 2.1.206 */}`.claude/worktrees/` 之外的 `path` 会在进入前提示您的批准,因为它会移动会话的工作目录和对该位置的写入访问权限。新 worktree 创建和 `.claude/worktrees/` 下的路径不会提示。在 v2.1.206 之前,Claude 进入 `.claude/worktrees/` 之外的路径而无需提示。从 worktree 会话内,或从具有固定工作目录的 subagent(例如 [`isolation: worktree`](/zh-CN/sub-agents#supported-frontmatter-fields))中,仅 `path` 形式可用,目标必须在会话存储库的 `.claude/worktrees/` 下 | |

27| `ExitPlanMode` | 提出计划以供批准并退出 Plan Mode | 是 |27| `ExitPlanMode` | 提出计划以供批准并退出 Plan Mode | 是 |

28| `ExitWorktree` | 退出 worktree 会话并返回到原始目录。不适用于已在自己的工作目录中运行的 subagents,例如使用 [`isolation: worktree`](/zh-CN/sub-agents#supported-frontmatter-fields) | 否 |28| `ExitWorktree` | 退出 worktree 会话并返回到原始目录。不适用于已在自己的工作目录中运行的 subagents,例如使用 [`isolation: worktree`](/zh-CN/sub-agents#supported-frontmatter-fields) | 否 |

29| `Glob` | 基于模式匹配查找文件。请参阅 [Glob 工具行为](#glob-tool-behavior) | 否 |29| `Glob` | 基于模式匹配查找文件。请参阅 [Glob 工具行为](#glob-tool-behavior) | 否 |


38| `ReadMcpResourceTool` | 按 URI 读取特定 MCP 资源 | 否 |38| `ReadMcpResourceTool` | 按 URI 读取特定 MCP 资源 | 否 |

39| `RemoteTrigger` | 在 claude.ai 上创建、更新、运行和列出 [Routines](/zh-CN/routines)。支持 `/schedule` 命令。{/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines 存在于 claude.ai 上,需要 Pro、Max、Team 或 Enterprise 计划,因此此工具无法从 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 访问 | 否 |39| `RemoteTrigger` | 在 claude.ai 上创建、更新、运行和列出 [Routines](/zh-CN/routines)。支持 `/schedule` 命令。{/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines 存在于 claude.ai 上,需要 Pro、Max、Team 或 Enterprise 计划,因此此工具无法从 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 访问 | 否 |

40| `ReportFindings` | 将代码审查发现报告为结构化列表,每个发现包含文件、摘要和失败场景,以便 Claude Code 可以呈现它们而不是将其打印为文本。当活跃的代码审查指令告诉它时,Claude 会调用它。{/* min-version: 2.1.196 */}需要 Claude Code v2.1.196 或更高版本。{/* min-version: 2.1.199 */}从 v2.1.199 起,发现还可以携带可选的 `category` slug,例如 `correctness` 或 `test-coverage`,显示在呈现列表中的文件位置旁边 | 否 |40| `ReportFindings` | 将代码审查发现报告为结构化列表,每个发现包含文件、摘要和失败场景,以便 Claude Code 可以呈现它们而不是将其打印为文本。当活跃的代码审查指令告诉它时,Claude 会调用它。{/* min-version: 2.1.196 */}需要 Claude Code v2.1.196 或更高版本。{/* min-version: 2.1.199 */}从 v2.1.199 起,发现还可以携带可选的 `category` slug,例如 `correctness` 或 `test-coverage`,显示在呈现列表中的文件位置旁边 | 否 |

41| `ScheduleWakeup` | 重新安排 [self-paced `/loop`](/zh-CN/scheduled-tasks#let-claude-choose-the-interval) 的下一次迭代。Claude 在每次迭代结束时调用此工具以选择下一次运行的时间,范围在一分钟到一小时之间;您不需要直接调用它。要结束循环,Claude 会调用它并设置 `stop: true`,这会取消待处理的唤醒。{/* min-version: 2.1.202 */}`stop` 字段需要 Claude Code v2.1.202 或更高版本。待处理的唤醒显示在 [Stop hook input](/zh-CN/hooks#stop-input) 中的 `session_crons` 中。{/* plan-availability: feature=loop-dynamic providers=anthropic */}在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用,其中没有间隔的 `/loop` 提示按固定时间表运行 | 否 |41| `ScheduleWakeup` | 重新安排 [self-paced `/loop`](/zh-CN/scheduled-tasks#let-claude-choose-the-interval) 的下一次迭代。Claude 在每次迭代结束时调用此工具以选择下一次运行的时间,范围在一分钟到一小时之间;您不需要直接调用它。要结束循环,Claude 会调用它并设置 `stop: true`,这会取消待处理的唤醒。{/* min-version: 2.1.202 */}`stop` 字段需要 Claude Code v2.1.202 或更高版本。待处理的唤醒显示在 [Stop hook input](/zh-CN/hooks#stop-input) 中的 `session_crons` 中。{/* plan-availability: feature=loop-dynamic providers=anthropic */}在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用,其中没有间隔的 `/loop` 提示按固定时间表运行 | 否 |

42| `SendMessage` | 向 [agent team](/zh-CN/agent-teams) 队友发送消息,或按 agent ID 或名称[恢复 subagent](/zh-CN/sub-agents#resume-subagents)。已完成的 subagent 在后台自动恢复;您从 `/tasks` 停止的 subagent 不会,调用返回拒绝。结构化的团队协议消息需要 agent teams。接收者永远不会将来自另一个 agent 的消息视为您的同意或批准。{/* min-version: 2.1.198 */}从 v2.1.198 起,subagent 将来自启动它的 agent 的消息视为正常任务指示,而不是对等请求。{/* min-version: 2.1.199 */}从 v2.1.199 起,发送到现在解析为与对话早期不同的 agent 的名称会被拒绝而不是传递;请参阅[恢复 subagents](/zh-CN/sub-agents#resume-subagents) | 否 |42| `SendMessage` | 向 [agent team](/zh-CN/agent-teams) 队友发送消息,或按 agent ID 或名称[恢复 subagent](/zh-CN/sub-agents#resume-subagents)。已完成的 subagent 在后台自动恢复;您从 `/tasks` 停止的 subagent 不会,调用返回拒绝。结构化的团队协议消息需要 agent teams。接收者永远不会将来自另一个 agent 的消息视为您的同意或批准。{/* min-version: 2.1.198 */}从 v2.1.198 起,subagent 将来自启动它的 agent 的消息视为正常任务指示,而不是对等请求。{/* min-version: 2.1.199 */}从 v2.1.199 起,发送到现在解析为与对话早期不同的 agent 的名称会被拒绝而不是传递;请参阅[恢复 subagents](/zh-CN/sub-agents#resume-subagents) | 否 |

43| `SendUserFile` | 将会话中的文件发送给您,带有可选的标题,以便生成的报告、图表、屏幕截图或构建的工件到达您的设备,而不仅仅是在记录中提及。{/* min-version: 2.1.196 */}从 v2.1.196 起,可选的 `display` 输入控制呈现方式:`render` 在客户端中内联打开文件,`attach` 仅显示下载卡,未设置时客户端按文件类型决定。当连接了 [Remote Control](/zh-CN/remote-control) 客户端或会话在托管云环境(如 [Claude Code on the web](/zh-CN/claude-code-on-the-web))中运行时可用。传递通过 Anthropic 托管的基础设施运行,因此该工具在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用 | 否 |43| `SendUserFile` | 将会话中的文件发送给您,带有可选的标题,以便生成的报告、图表、屏幕截图或构建的工件到达您的设备,而不仅仅是在记录中提及。{/* min-version: 2.1.196 */}从 v2.1.196 起,可选的 `display` 输入控制呈现方式:`render` 在客户端中内联打开文件,`attach` 仅显示下载卡,未设置时客户端按文件类型决定。当连接了 [Remote Control](/zh-CN/remote-control) 客户端或会话在托管云环境(如 [Claude Code on the web](/zh-CN/claude-code-on-the-web))中运行时可用。传递通过 Anthropic 托管的基础设施运行,因此该工具在 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用 | 否 |

44| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}上传 `ONBOARDING.md` 并返回队友可以在 Claude Code 中打开的共享链接。在编写指南后从 `/team-onboarding` 调用。适用于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者 | 是 |44| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}上传 `ONBOARDING.md` 并返回队友可以在 Claude Code 中打开的共享链接。在编写指南后从 `/team-onboarding` 调用。适用于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者 | 是 |


85 85 

86此处未列出的工具,例如 `ExitPlanMode` 或 `ShareOnboardingGuide`,仅接受不带 specifier 的裸工具名称。86此处未列出的工具,例如 `ExitPlanMode` 或 `ShareOnboardingGuide`,仅接受不带 specifier 的裸工具名称。

87 87 

88`Edit(...)` 允许规则也授予对相同路径的读取访问权限,因此您不需要匹配的 `Read(...)` 规则。88`Edit(...)` 允许规则也授予对相同路径的读取访问权限,因此您不需要匹配的 `Read(...)` 规则。{/* min-version: 2.1.208 */}`Read(...)` 拒绝规则也会阻止 Edit 工具在相同路径上的使用,包括在该处创建新文件,因为编辑需要读取结果。Edit 上的 `Read` 拒绝检查需要 Claude Code v2.1.208 或更高版本。

89 89 

90Hook `matcher` 字段使用裸工具名称,而不是带括号的规则格式。请参阅[匹配器模式](/zh-CN/hooks#matcher-patterns)了解匹配规则。对于每个工具在 hooks 中传递给 `tool_input` 的字段名称,请参阅 [PreToolUse 输入参考](/zh-CN/hooks#pretooluse-input)。90Hook `matcher` 字段使用裸工具名称,而不是带括号的规则格式。请参阅[匹配器模式](/zh-CN/hooks#matcher-patterns)了解匹配规则。对于每个工具在 hooks 中传递给 `tool_input` 的字段名称,请参阅 [PreToolUse 输入参考](/zh-CN/hooks#pretooluse-input)。

91 91 


106* **仅设置 `disallowedTools`**:subagent 获得除列出的工具外的每个父工具。106* **仅设置 `disallowedTools`**:subagent 获得除列出的工具外的每个父工具。

107* **两个都设置**:`disallowedTools` 优先。同时列在两个中的工具会被移除。107* **两个都设置**:`disallowedTools` 优先。同时列在两个中的工具会被移除。

108 108 

109当 subagent 的 `tools` 列表最终没有任何工具时,例如因为每个条目都拼写错误或命名了一个对 subagents 不可用的工具,Agent 工具会返回一个错误,列出这些条目,而不是启动 subagent。{/* min-version: 2.1.208 */}在 v2.1.208 之前,subagent 会以无工具的方式启动,可能返回空结果或令人困惑的结果。

110 

109启动 subagent 本身不会提示权限。Claude Code 在运行时根据您的权限规则检查 subagent 自己的工具调用。111启动 subagent 本身不会提示权限。Claude Code 在运行时根据您的权限规则检查 subagent 自己的工具调用。

110 112 

111{/* min-version: 2.1.198 */}从 v2.1.198 起,subagents 默认在后台运行;当 Claude 需要结果后才继续时,它会在前台运行一个。113{/* min-version: 2.1.198 */}从 v2.1.198 起,subagents 默认在后台运行;当 Claude 需要结果后才继续时,它会在前台运行一个。


134* **超时**:默认为两分钟。Claude 可以使用 `timeout` 参数请求每个命令最多 10 分钟。使用 [`BASH_DEFAULT_TIMEOUT_MS` 和 `BASH_MAX_TIMEOUT_MS`](/zh-CN/env-vars) 覆盖默认值和上限。136* **超时**:默认为两分钟。Claude 可以使用 `timeout` 参数请求每个命令最多 10 分钟。使用 [`BASH_DEFAULT_TIMEOUT_MS` 和 `BASH_MAX_TIMEOUT_MS`](/zh-CN/env-vars) 覆盖默认值和上限。

135* **输出长度**:默认为 30,000 个字符。当命令产生超过该数量的输出时,Claude Code 将完整输出保存到会话目录中的文件,并给 Claude 文件路径加上开头的简短预览。Claude 在需要其余部分时读取或搜索该文件。使用 [`BASH_MAX_OUTPUT_LENGTH`](/zh-CN/env-vars) 提高限制,最高为 150,000 个字符的硬上限。137* **输出长度**:默认为 30,000 个字符。当命令产生超过该数量的输出时,Claude Code 将完整输出保存到会话目录中的文件,并给 Claude 文件路径加上开头的简短预览。Claude 在需要其余部分时读取或搜索该文件。使用 [`BASH_MAX_OUTPUT_LENGTH`](/zh-CN/env-vars) 提高限制,最高为 150,000 个字符的硬上限。

136 138 

137对于长时间运行的进程,例如开发服务器或监视构建,Claude 可以设置 `run_in_background: true` 以将命令作为后台任务启动并在其运行时继续工作。使用 `/tasks` 列出和停止后台任务。139对于长时间运行的进程,例如开发服务器或监视构建,Claude 可以设置 `run_in_background: true` 以将命令作为后台任务启动并在其运行时继续工作。使用 `/tasks` 列出和停止后台任务。在使用 `-p` 标志的非交互模式下,[后台任务在运行的最终结果后不久结束](/zh-CN/headless#background-tasks-at-exit)。

138 140 

139<h2 id="edit-tool-behavior">141<h2 id="edit-tool-behavior">

140 Edit 工具行为142 Edit 工具行为


142 144 

143Edit 工具执行精确的字符串替换。它接受 `old_string` 和 `new_string` 并用后者替换前者。它不使用正则表达式或模糊匹配。145Edit 工具执行精确的字符串替换。它接受 `old_string` 和 `new_string` 并用后者替换前者。它不使用正则表达式或模糊匹配。

144 146 

145三个检查必须通过才能应用编辑147三个检查必须通过才能应用编辑。{/* min-version: 2.1.208 */}在任何检查之前,与 [`Read` 拒绝规则](/zh-CN/permissions#tool-specific-permission-rules)匹配的路径会被拒绝,包括在那里创建新文件。此拒绝需要 Claude Code v2.1.208 或更高版本。

146 148 

147* **编辑前读取**:Claude 必须在当前对话中读取过该文件并且该文件在该读取后不能在磁盘上更改此检查首先运行,在任何字符串匹配之前149* **编辑前读取**:Claude 在当前对话中读取文件后才能编辑它并且以 [`PARTIAL view` 通知](#read-tool-behavior)中断的读取不计数Claude Opus 4.6、Claude Haiku 4.5 和更早的模型始终需要读取较新的模型可以在读取不需要权限提示且 Read 工具可用时编辑未读文件。

148* **匹配**:`old_string` 必须在文件中完全按照编写的方式出现。单个空格或缩进差异足以导致不匹配。150* **匹配**:`old_string` 必须在文件中完全按照编写的方式出现。单个空格或缩进差异足以导致不匹配。

149* **唯一性**:`old_string` 必须恰好出现一次。当它出现多次时,Claude 要么提供一个更长的字符串,其中包含足够的周围上下文来确定一个出现,要么设置 `replace_all: true` 来替换所有出现。151* **唯一性**:`old_string` 必须恰好出现一次。当它出现多次时,Claude 要么提供一个更长的字符串,其中包含足够的周围上下文来确定一个出现,要么设置 `replace_all: true` 来替换所有出现。

150 152 

151使用 Bash 查看文件也满足编辑前读取要求当命令是 `cat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep` `fgrep` 在单个文件上没有管道或重定向时管道输出和其他 Bash 命令不计数,Claude 在这些情况下必须在编辑前使用 Read153 Claude 最后读取文件后在磁盘上更改的文件仍然可以编辑 `old_string` 与当前内容完全且明确匹配,并且 Claude Code 可以读取文件而无需提示时。针对文件的当前内容进行匹配可以保持安全,结果会注明该文件包含其他更改,以便 Claude 在依赖周围内容的编辑之前重新读取它。在任何其他情况下,例如过时的 `old_string` 或与多个出现匹配而没有 `replace_all` 的情况Claude 在编辑前重新读取文件{/* min-version: 2.1.208 */}未读和已更改文件的宽松处理需要 Claude Code v2.1.208 或更高版本;在此之前,Claude Code 拒绝对它在对话中未读过或在读取后在磁盘上更改的任何文件进行编辑

154 

155使用 Bash 查看文件也满足编辑前读取要求,当命令是 `cat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep` 或 `fgrep` 在单个文件上,没有管道或重定向时。管道输出和其他 Bash 命令不计入编辑前读取检查。

152 156 

153这仅影响编辑资格,不影响权限。[Read 和 Edit 拒绝规则](/zh-CN/permissions#tool-specific-permission-rules)也适用于 Claude Code 在 Bash 中识别的文件命令,例如 `cat`、`head`、`tail`、`sed` 和 `grep`,但不适用于间接读取或写入文件的任意子进程,例如自己打开文件的 Python 或 Node 脚本。对于编辑前读取,识别的命令集与上面的拒绝规则列表不同:例如,`egrep` 和 `fgrep` 计入编辑前读取但不针对 Read 拒绝规则进行检查。对于覆盖每个进程的操作系统级别强制,请[启用沙箱](/zh-CN/sandboxing)。157这仅影响编辑资格,不影响权限。[Read 和 Edit 拒绝规则](/zh-CN/permissions#tool-specific-permission-rules)也适用于 Claude Code 在 Bash 中识别的文件命令,例如 `cat`、`head`、`tail`、`sed` 和 `grep`,但不适用于间接读取或写入文件的任意子进程,例如自己打开文件的 Python 或 Node 脚本。对于编辑前读取,识别的命令集与上面的拒绝规则列表不同:例如,`egrep` 和 `fgrep` 计入编辑前读取但不针对 Read 拒绝规则进行检查。对于覆盖每个进程的操作系统级别强制,请[启用沙箱](/zh-CN/sandboxing)。

154 158 


166 170 

167Glob 默认不尊重 `.gitignore`,因此它找到被 gitignore 的文件以及跟踪的文件。这与 [Grep](#grep-tool-behavior) 不同,后者跳过被 gitignore 的文件。要使 Glob 尊重 `.gitignore`,请在启动 Claude Code 之前设置 `CLAUDE_CODE_GLOB_NO_IGNORE=false`。171Glob 默认不尊重 `.gitignore`,因此它找到被 gitignore 的文件以及跟踪的文件。这与 [Grep](#grep-tool-behavior) 不同,后者跳过被 gitignore 的文件。要使 Glob 尊重 `.gitignore`,请在启动 Claude Code 之前设置 `CLAUDE_CODE_GLOB_NO_IGNORE=false`。

168 172 

173包含空字节的 `pattern` 或 `path` 值会返回错误,要求 Claude 将其删除。{/* min-version: 2.1.208 */}

174 

169<h2 id="grep-tool-behavior">175<h2 id="grep-tool-behavior">

170 Grep 工具行为176 Grep 工具行为

171</h2>177</h2>


174 180 

175Grep 基于 [ripgrep](https://github.com/BurntSushi/ripgrep) 并使用 ripgrep 的正则表达式语法,而不是 POSIX grep。包含正则表达式元字符的模式需要转义。例如,在 Go 代码中查找 `interface{}` 需要模式 `interface\{\}`。181Grep 基于 [ripgrep](https://github.com/BurntSushi/ripgrep) 并使用 ripgrep 的正则表达式语法,而不是 POSIX grep。包含正则表达式元字符的模式需要转义。例如,在 Go 代码中查找 `interface{}` 需要模式 `interface\{\}`。

176 182 

183一个 ripgrep 拒绝的模式、glob 或文件类型会返回一个包含 ripgrep 诊断信息的错误,这样 Claude 可以更正输入并再次搜索。{/* min-version: 2.1.208 */}在 v2.1.208 之前,Claude Code 将被拒绝的输入报告为 `No files found`,而不是错误,即使搜索的文本存在于目标文件中。

184 

177三种输出模式控制返回的内容:185三种输出模式控制返回的内容:

178 186 

179* `files_with_matches`:仅文件路径,无行内容。这是默认值。187* `files_with_matches`:仅文件路径,无行内容。这是默认值。

180* `content`:匹配的行及其文件和行号。188* `content`:匹配的行及其文件和行号。

181* `count`:每个文件的匹配计数。189* `count`:每个文件的匹配计数,后跟所有匹配文件的总计数{/* min-version: 2.1.208 */}总计覆盖每一个匹配,即使工具的 `head_limit` 或 `offset` 参数截断了列出的每个文件条目。在 v2.1.208 之前,总计仅对列出的条目求和。

182 190 

183Claude 可以使用 `glob` 参数(例如 `**/*.tsx`)按文件范围结果,或使用 `type` 参数(例如 `py` 或 `rust`)按语言范围结果。默认情况下,模式在单行内匹配。Claude 可以设置 `multiline: true` 以跨行边界匹配。191Claude 可以使用 `glob` 参数(例如 `**/*.tsx`)按文件范围结果,或使用 `type` 参数(例如 `py` 或 `rust`)按语言范围结果。默认情况下,模式在单行内匹配。Claude 可以设置 `multiline: true` 以跨行边界匹配。

184 192 


325 333 

326默认情况下,Read 从开始返回文件。当整个文件读取超过令牌限制时,Read 返回第一页,并显示 `PARTIAL view` 通知,告诉 Claude 它收到了多少文件内容以及如何使用 `offset` 和 `limit` 读取更多内容。传递显式 `offset` 或 `limit` 的读取仍然超过令牌限制时会返回错误。334默认情况下,Read 从开始返回文件。当整个文件读取超过令牌限制时,Read 返回第一页,并显示 `PARTIAL view` 通知,告诉 Claude 它收到了多少文件内容以及如何使用 `offset` 和 `limit` 读取更多内容。传递显式 `offset` 或 `limit` 的读取仍然超过令牌限制时会返回错误。

327 335 

336使用显式 `limit` 的读取会在选定的行超过令牌限制可能容纳的内容时立即停止,并返回错误而不加载范围的其余部分。该错误告诉 Claude 使用较小的 `limit`,或者当单行非常大时,改为使用 [Grep](#grep-tool-behavior) 搜索特定内容。{/* min-version: 2.1.208 */}在 v2.1.208 之前,Claude Code 在拒绝前会将整个范围加载到内存中,因此具有极长单行的文件可能会耗尽内存。

337 

338读取空文件会返回一个通知,说明文件存在但其内容为空,而超过最后一行的 `offset` 会返回一个给出文件行数的通知。{/* min-version: 2.1.208 */}在 v2.1.208 之前,读取空文件会返回过去末尾的通知。

339 

328Read 处理纯文本之外的几种文件类型:340Read 处理纯文本之外的几种文件类型:

329 341 

330* **图像**:PNG、JPG 和其他图像格式作为 Claude 可以看到的视觉内容返回,而不是原始字节。Claude Code 在发送前调整大小并重新压缩大图像以适应模型的图像大小限制,因此 Claude 可能会看到大截图的缩小版本。{/* min-version: 2.1.196 */}从 v2.1.196 开始,调整大小后仍然大于 500KB 的图像会以降低质量的 JPEG 格式重新编码,其像素尺寸保持不变。如果 Claude 在大图像中遗漏了细微的像素级细节,请要求它首先裁剪感兴趣的区域,例如使用 ImageMagick 通过 Bash。342* **图像**:PNG、JPG 和其他图像格式作为 Claude 可以看到的视觉内容返回,而不是原始字节。Claude Code 在发送前调整大小并重新压缩大图像以适应模型的图像大小限制,因此 Claude 可能会看到大截图的缩小版本。{/* min-version: 2.1.196 */}从 v2.1.196 开始,调整大小后仍然大于 500KB 的图像会以降低质量的 JPEG 格式重新编码,其像素尺寸保持不变。如果 Claude 在大图像中遗漏了细微的像素级细节,请要求它首先裁剪感兴趣的区域,例如使用 ImageMagick 通过 Bash。

Details

196 ls -la ~/.local/bin/claude196 ls -la ~/.local/bin/claude

197 ```197 ```

198 198 

199 一个本机安装显示一个指向 `~/.local/share/claude/versions/` 的符号链接。您在此路径创建的脚本或符号链接是自定义启动程序,[自动更新会将其保留在原位](/zh-CN/setup#auto-updates)。

200 

199 如果任一 `ls` 命令打印 `No such file or directory`,这不是错误。这意味着该位置没有安装任何内容,因此继续进行下一个检查。201 如果任一 `ls` 命令打印 `No such file or directory`,这不是错误。这意味着该位置没有安装任何内容,因此继续进行下一个检查。

200 202 

201 ```bash theme={null}203 ```bash theme={null}


447 ```449 ```

448 如果您没有证书文件,请向您的 IT 团队询问。您也可以尝试直接连接以确认代理是原因。450 如果您没有证书文件,请向您的 IT 团队询问。您也可以尝试直接连接以确认代理是原因。

449 451 

4504. **在 Windows 上,如果您看到 `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` `CRYPT_E_REVOCATION_OFFLINE (0x80092013)`,请绕过证书撤销检查**。这些意味着 curl 到达了服务器,但您的网络阻止了证书撤销查询,这在企业防火墙后很常见。 `--ssl-revoke-best-effort` 添加到安装命令4524. **在 Windows 上,如果您的网络阻止撤销检查,请切换安装程序**。错误 `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` 意味着 curl 到达了服务器,但您的网络阻止了证书撤销查询,这在企业防火墙后很常见。添加 curl 的 `--ssl-revoke-best-effort` 标志不会修复此问题该标志仅适用于下载 `install.cmd` 本身,脚本自己的下载在没有它的情况下运行,因此安装失败并出现相同的错误。改用容许被阻止查询的安装方法。打开 PowerShell 并运行 PowerShell 安装程序,它通过 .NET 下载,当撤销服务器无法访问时不会失败:

451 ```batch theme={null}453 ```powershell theme={null}

452 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd454 irm https://claude.ai/install.ps1 | iex

453 ```455 ```

454 或者,使用 `winget install Anthropic.ClaudeCode` 安装,这完全避免了 curl。456 您也可以使用 `winget install Anthropic.ClaudeCode` 安装,这完全避免了 curl。

455 457 

456<h3 id="failed-to-fetch-version-from-downloads-claude-ai">458<h3 id="failed-to-fetch-version-from-downloads-claude-ai">

457 `Failed to fetch version from downloads.claude.ai`459 `Failed to fetch version from downloads.claude.ai`

Details

43 43 

44分解显示驻留集大小、JS 堆、数组缓冲区和未计算的本机内存,这有助于识别增长是在 JavaScript 对象还是本机代码中。要检查保留者,请在 Chrome DevTools 中的 Memory → Load 下打开 `.heapsnapshot` 文件。在 [GitHub](https://github.com/anthropics/claude-code/issues) 上报告内存问题时附加两个文件。44分解显示驻留集大小、JS 堆、数组缓冲区和未计算的本机内存,这有助于识别增长是在 JavaScript 对象还是本机代码中。要检查保留者,请在 Chrome DevTools 中的 Memory → Load 下打开 `.heapsnapshot` 文件。在 [GitHub](https://github.com/anthropics/claude-code/issues) 上报告内存问题时附加两个文件。

45 45 

46<h3 id="large-tables-are-cut-off-in-the-terminal">

47 大型表格在终端中被截断

48</h3>

49 

50超过 200 行的 Markdown 表格呈现其前 200 行,后跟 `… N more rows not shown` 行。仅显示被限制:完整表格保留在对话中,[`/copy`](/zh-CN/commands) 复制每一行。对于在终端中太大而无法读取的表格,请要求 Claude 将其写入文件。在 v2.1.208 之前,Claude Code 呈现每一行,因此恢复包含非常大表格的会话可能会在重新呈现时停滞。

51 

46<h3 id="auto-compaction-stops-with-a-thrashing-error">52<h3 id="auto-compaction-stops-with-a-thrashing-error">

47 自动压缩停止并出现抖动错误53 自动压缩停止并出现抖动错误

48</h3>54</h3>

vs-code.md +7 −7

Details

360</h3>360</h3>

361 361 

362| 设置 | 默认值 | 描述 |362| 设置 | 默认值 | 描述 |

363| ----------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |363| ----------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

364| `useTerminal` | `false` | 以终端模式而不是图形面板启动 Claude |364| `useTerminal` | `false` | 以终端模式而不是图形面板启动 Claude |

365| `initialPermissionMode` | `default` | 控制新对话的批准提示:`default`、`plan`、`acceptEdits` 或 `bypassPermissions`。{/* min-version: 2.1.200 */}`manual` 是 `default` 的别名,选择模式指示器中标记为**手动**的模式。需要 Claude Code v2.1.200 或更高版本。请参阅[权限模式](/zh-CN/permission-modes)。 |365| `initialPermissionMode` | `default` | 控制新对话的批准提示:`default`、`plan`、`acceptEdits` 或 `bypassPermissions`。{/* min-version: 2.1.200 */}`manual` 是 `default` 的别名,选择模式指示器中标记为**手动**的模式。需要 Claude Code v2.1.200 或更高版本。请参阅[权限模式](/zh-CN/permission-modes)。 |

366| `preferredLocation` | `panel` | Claude 打开的位置:`sidebar`(右侧)或 `panel`(新选项卡) |366| `preferredLocation` | `panel` | Claude 打开的位置:`sidebar`(右侧)或 `panel`(新选项卡) |


374| `environmentVariables` | `[]` | 为 Claude 进程设置环境变量。对于共享配置,请改用 Claude Code 设置。 |374| `environmentVariables` | `[]` | 为 Claude 进程设置环境变量。对于共享配置,请改用 Claude Code 设置。 |

375| `disableLoginPrompt` | `false` | 跳过身份验证提示(用于第三方提供商设置) |375| `disableLoginPrompt` | `false` | 跳过身份验证提示(用于第三方提供商设置) |

376| `allowDangerouslySkipPermissions` | `false` | 添加 Bypass permissions 到模式选择器。仅在没有互联网访问的沙箱中使用。 |376| `allowDangerouslySkipPermissions` | `false` | 添加 Bypass permissions 到模式选择器。仅在没有互联网访问的沙箱中使用。 |

377| `claudeProcessWrapper` | - | 用于启动 Claude 进程的可执行文件。当存在时,捆绑的二进制文件路径作为参数传递。如果扩展构建不包含您的平台的二进制文件,请将其设置为单独安装的 `claude` 二进制文件。 |377| `claudeProcessWrapper` | - | 用于启动 Claude 进程的可执行文件。当存在时,捆绑的二进制文件路径作为参数传递。如果扩展构建不包含您的平台的二进制文件,请将其设置为单独安装的 `claude` 二进制文件。在激活时出现"不支持的平台"错误意味着您的平台没有捆绑二进制文件;请参阅[哪些平台有预构建的二进制文件](/zh-CN/troubleshoot-install#native-binary-not-found-after-npm-install)。 |

378 378 

379<h2 id="vs-code-extension-vs-claude-code-cli">379<h2 id="vs-code-extension-vs-claude-code-cli">

380 VS Code 扩展与 Claude Code CLI380 VS Code 扩展与 Claude Code CLI


525 525 

526**选择和打开文件上下文。** 连接时,CLI 在您发送的每个提示上包含您当前的编辑器选择和活动文件的路径作为上下文。当发生这种情况时,记录显示一行 `⧉ Selected N lines from <file>`。要排除敏感文件(如 `.env`),请为其路径添加一个 [`Read` 拒绝规则](/zh-CN/permissions#read-and-edit)。匹配的拒绝规则可防止该文件的选定文本和打开文件通知到达 Claude。526**选择和打开文件上下文。** 连接时,CLI 在您发送的每个提示上包含您当前的编辑器选择和活动文件的路径作为上下文。当发生这种情况时,记录显示一行 `⧉ Selected N lines from <file>`。要排除敏感文件(如 `.env`),请为其路径添加一个 [`Read` 拒绝规则](/zh-CN/permissions#read-and-edit)。匹配的拒绝规则可防止该文件的选定文本和打开文件通知到达 Claude。

527 527 

528**传输和身份验证。** 该服务器绑定到 `127.0.0.1` 上的随机高端口无法从其他机器访问每次扩展激活都会生成一个新的随机身份验证令牌CLI 必须提供该令牌才能连接该令牌被写入 `~/.claude/ide/` 下的锁定文件权限为 `0600`,在 `0700` 目录中,因此只有运行 VS Code 的用户可以读取它。528**传输和身份验证。** 该服务器绑定到 `127.0.0.1` 上的随机端口范围在 10000–65535,该端口不可配置传输是未加密的 `ws://`;因为套接字仅限于本地回环任何可以捕获流量的进程也可以从锁定文件中读取令牌,所以 TLS 不会增加保护每次扩展激活都会生成一个新的随机身份验证令牌,将其写入 `~/.claude/ide/<port>.lock` 处的锁定文件CLI 必须将其作为 `X-Claude-Code-Ide-Authorization` 标头提供才能连接。锁定文件在 `0700` 目录中具有 `0600` 权限,因此只有运行 VS Code 的用户可以读取它。如果设置了 `CLAUDE_CONFIG_DIR`,锁定文件将改为写入 `$CLAUDE_CONFIG_DIR/ide/`。

529 529 

530**暴露给模型的工具。** 该服务器托管十几个工具,但只有两个对模型可见。其余的是 CLI 用于自己的 UI 的内部 RPC — 打开差异、读取选择、保存文件 — 并在工具列表到达 Claude 之前被过滤掉。530**暴露给模型的工具。** 该服务器托管十几个工具,但只有两个对模型可见。其余的是 CLI 用于自己的 UI 的内部 RPC — 打开差异、读取选择、保存文件 — 并在工具列表到达 Claude 之前被过滤掉。

531 531 

532| 工具名称(如 hooks 所见) | 它的作用 | 写入? |532| 工具名称(如 hooks 所见) | 它的作用 | 只读 |

533| -------------------------- | ------------------------------------------------- | --- |533| -------------------------- | ------------------------------------------------- | -- |

534| `mcp__ide__getDiagnostics` | 返回语言服务器诊断 — VS Code 问题面板中的错误和警告。可选地限定到一个文件。 | |534| `mcp__ide__getDiagnostics` | 返回语言服务器诊断 — VS Code 问题面板中的错误和警告。可选地限定到一个文件。 | |

535| `mcp__ide__executeCode` | 在活动 Jupyter notebook 的内核中运行 Python 代码。请参阅下面的确认流程。 | |535| `mcp__ide__executeCode` | 在活动 Jupyter notebook 的内核中运行 Python 代码。请参阅下面的确认流程。 | |

536 536 

537**Jupyter 执行总是先询问。** `mcp__ide__executeCode` 无法静默运行任何内容。在每次调用时,代码被插入为活动 notebook 末尾的新单元格,VS Code 将其滚动到视图中,本地 Quick Pick 要求您**执行**或**取消**。取消 — 或用 `Esc` 关闭选择器 — 向 Claude 返回错误,什么都不运行。当没有活动 notebook、Jupyter 扩展(`ms-toolsai.jupyter`)未安装或内核不是 Python 时,该工具也会直接拒绝。537**Jupyter 执行总是先询问。** `mcp__ide__executeCode` 无法静默运行任何内容。在每次调用时,代码被插入为活动 notebook 末尾的新单元格,VS Code 将其滚动到视图中,本地 Quick Pick 要求您**执行**或**取消**。取消 — 或用 `Esc` 关闭选择器 — 向 Claude 返回错误,什么都不运行。当没有活动 notebook、Jupyter 扩展(`ms-toolsai.jupyter`)未安装或内核不是 Python 时,该工具也会直接拒绝。

538 538 

Details

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />

24 </Frame>24 </Frame>

25 25 

26 <p className="digest-feature-try">运行 <code>/mcp</code>,找到 <code>computer-use</code>,然后将其打开。然后要求 Claude 端到端验证更改:</p>26 <p className="digest-feature-try">需要 macOS 和 Pro 或 Max 计划;否则,<code>computer-use</code> 不会出现在 <code>/mcp</code> 中。运行 <code>/mcp</code>,找到 <code>computer-use</code>,然后将其打开。然后要求 Claude 端到端验证更改:</p>

27 27 

28 ```text Claude Code theme={null}28 ```text Claude Code theme={null}

29 > Open the iOS simulator, tap through onboarding, and screenshot each step29 > Open the iOS simulator, tap through onboarding, and screenshot each step


123 <p className="digest-wins-title">其他成就</p>123 <p className="digest-wins-title">其他成就</p>

124 124 

125 <div className="digest-wins-grid">125 <div className="digest-wins-grid">

126 <div>自动模式后续:新的 <code>PermissionDenied</code> 钩子在分类器拒绝时触发(返回 <code>retry: true</code> 让 Claude 尝试不同的方法),<code>/permissions</code> → 最近让你用 <code>r</code> 手动重试</div>126 <div>自动模式后续:新的 <code>PermissionDenied</code> 钩子在分类器拒绝时触发(返回 <code>retry: true</code> 让 Claude 尝试不同的方法),<code>/permissions</code> → 最近拒绝让你用 <code>r</code> 手动重试</div>

127 <div><code>PreToolUse</code> 钩子中 <code>permissionDecision</code> 的新 <code>defer</code> 值:<code>-p</code> 会话在工具调用处暂停并以 <code>deferred\_tool\_use</code> 有效负载退出,以便 SDK 应用或自定义 UI 可以显示它,然后用 <code>--resume</code> 恢复</div>127 <div><code>PreToolUse</code> 钩子中 <code>permissionDecision</code> 的新 <code>defer</code> 值:<code>-p</code> 会话在工具调用处暂停并以 <code>deferred\_tool\_use</code> 有效负载退出,以便 SDK 应用或自定义 UI 可以显示它,然后用 <code>--resume</code> 恢复</div>

128 <div><code>/buddy</code>:孵化一个小生物来观看你编码(4 月 1 日)</div>128 <div><code>/buddy</code>:孵化一个小生物来观看你编码。一个愚人节玩笑,不再可用</div>

129 <div><code>disableSkillShellExecution</code> 设置阻止来自技能、斜杠命令和插件命令的内联 shell</div>129 <div><code>disableSkillShellExecution</code> 设置阻止来自技能、斜杠命令和插件命令的内联 shell</div>

130 <div>编辑工具现在可以在通过 <code>cat</code> 或 <code>sed -n</code> 查看的文件上工作,无需单独的读取</div>130 <div>编辑工具现在可以在通过 <code>cat</code> 或 <code>sed -n</code> 查看的文件上工作,无需单独的读取</div>

131 <div>超过 50K 的钩子输出保存到磁盘,带有路径和预览,而不是注入到上下文中</div>131 <div>超过 50K 的钩子输出保存到磁盘,带有路径和预览,而不是注入到上下文中</div>

Details

25 export CLAUDE_CODE_ENABLE_AUTO_MODE=125 export CLAUDE_CODE_ENABLE_AUTO_MODE=1

26 ```26 ```

27 27 

28 <a className="digest-feature-link" href="/zh-CN/docs/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry">在第三方提供商上启用自动模式</a>28 <a className="digest-feature-link" href="/docs/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry">在第三方提供商上启用自动模式</a>

29</div>29</div>

30 30 

31<div className="digest-feature">31<div className="digest-feature">

workflows.md +6 −4

Details

100进度视图显示每个阶段及其代理计数、令牌总数和经过的时间。页脚列出每个操作的键:100进度视图显示每个阶段及其代理计数、令牌总数和经过的时间。页脚列出每个操作的键:

101 101 

102| 键 | 操作 |102| 键 | 操作 |

103| :------------ | :-------------------------------------------------- |103| :------------ | :---------------------------------------------------------- |

104| `↑` / `↓` | 选择一个阶段或代理 |104| `↑` / `↓` | 选择一个阶段或代理 |

105| `Enter` 或 `→` | 深入选定的阶段,然后进入代理以读取其提示、最近的工具调用和结果 |105| `Enter` 或 `→` | 深入选定的阶段,然后进入代理以读取其提示、最近的工具调用和结果 |

106| `Esc` | 返回一个级别 |106| `Esc` 或 `←` | 返回一个级别。在 v2.1.203 至 v2.1.205 中,`←` 没有退出阶段或代理;在这些版本上使用 `Esc` |

107| `j` / `k` | 当代理详情溢出时在其中滚动 |107| `j` / `k` | 当代理详情溢出时在其中滚动 |

108| `f` | {/* min-version: 2.1.186 */}按状态过滤选定阶段中的代理列表。再次按下以循环 |108| `f` | {/* min-version: 2.1.186 */}按状态过滤选定阶段中的代理列表。再次按下以循环 |

109| `p` | 暂停或恢复运行 |109| `p` | 暂停或恢复运行 |


192运行 `/workflows`,选择您想保留的运行,然后按 `s`。在保存对话中,Tab 在两个保存位置之间切换:192运行 `/workflows`,选择您想保留的运行,然后按 `s`。在保存对话中,Tab 在两个保存位置之间切换:

193 193 

194* `.claude/workflows/` 在您的项目中:与克隆仓库的每个人共享194* `.claude/workflows/` 在您的项目中:与克隆仓库的每个人共享

195* `~/.claude/workflows/` 在您的主目录中:在每个项目中可用,仅对您可见195* `~/.claude/workflows/` 在您的主目录中:在每个项目中可用,仅对您可见。如果您设置了 [`CLAUDE_CONFIG_DIR`](/zh-CN/env-vars),此位置是该路径下的 `workflows/` 目录。

196 

197{/* min-version: 2.1.208 */}保存对话显示个人位置的已解析路径。在 v2.1.208 之前,即使设置了 `CLAUDE_CONFIG_DIR`,它也显示 `~/.claude/workflows/`;文件仍然保存在配置的目录下。

196 198 

197按 Enter 保存。工作流在未来会话中从任一位置作为 `/<name>` 运行。199按 Enter 保存。工作流在未来会话中从任一位置作为 `/<name>` 运行。

198 200 


357* 如果您[设置大小指南](#set-a-size-guideline),指南的代理计数替换 25 个代理的阈值。359* 如果您[设置大小指南](#set-a-size-guideline),指南的代理计数替换 25 个代理的阈值。

358* 启用[ultracode](#let-claude-decide-with-ultracode)的会话不显示警告,因为打开 ultracode 已经让您选择加入大型运行。360* 启用[ultracode](#let-claude-decide-with-ultracode)的会话不显示警告,因为打开 ultracode 已经让您选择加入大型运行。

359 361 

360工作流中的每个代理使用您的会话模型,除非脚本将阶段路由到不同的模型。要控制模型成本:362工作流中的每个代理使用您的会话模型,除非脚本将阶段路由到不同的模型,或设置了 [`CLAUDE_CODE_SUBAGENT_MODEL`](/zh-CN/model-config#environment-variables) 环境变量,该变量会覆盖两者。要控制模型成本:

361 363 

362* 在大型运行前检查 `/model`,如果您通常为日常工作切换到较小的模型364* 在大型运行前检查 `/model`,如果您通常为日常工作切换到较小的模型

363* 当您描述任务时,要求 Claude 为不需要最强模型的阶段使用较小的模型365* 当您描述任务时,要求 Claude 为不需要最强模型的阶段使用较小的模型

worktrees.md +23 −1

Details

36 36 

37您也可以在会话期间要求 Claude "在 worktree 中工作",它将使用 [`EnterWorktree`](/zh-CN/tools-reference) 工具创建一个。一旦进入 worktree,Claude 可以通过调用 `EnterWorktree` 并指定目标路径,直接切换到 `.claude/worktrees/` 下的另一个 worktree。之前的 worktree 保留在磁盘上不变。37您也可以在会话期间要求 Claude "在 worktree 中工作",它将使用 [`EnterWorktree`](/zh-CN/tools-reference) 工具创建一个。一旦进入 worktree,Claude 可以通过调用 `EnterWorktree` 并指定目标路径,直接切换到 `.claude/worktrees/` 下的另一个 worktree。之前的 worktree 保留在磁盘上不变。

38 38 

39进入存储库的 `.claude/worktrees/` 目录之外的路径首先会要求您的批准,因为它会移动会话的工作目录、写入访问权限和项目配置,例如 `CLAUDE.md` 和设置到该位置。`EnterWorktree` [权限规则](/zh-CN/permissions)或选择"不再询问"不会抑制此提示;只有 `bypassPermissions` 模式会跳过它。在 v2.1.206 之前,Claude 可以进入任何现有的 worktree 路径而无需询问。

40 

39{/* min-version: 2.1.198 */}从 v2.1.198 开始,进入或退出 worktree 也会将会话记录重新定位到该目录的项目存储,与 [`/cd`](/zh-CN/commands) 的方式相同,因此 `/desktop` 和 `--resume` 之后会在那里找到会话。由 [`WorktreeCreate` hook](#non-git-version-control) 创建的 Worktrees 被排除在外,并将记录保留在启动目录中。41{/* min-version: 2.1.198 */}从 v2.1.198 开始,进入或退出 worktree 也会将会话记录重新定位到该目录的项目存储,与 [`/cd`](/zh-CN/commands) 的方式相同,因此 `/desktop` 和 `--resume` 之后会在那里找到会话。由 [`WorktreeCreate` hook](#non-git-version-control) 创建的 Worktrees 被排除在外,并将记录保留在启动目录中。

40 42 

43Worktrees 在启用[沙箱](/zh-CN/sandboxing#filesystem-isolation)的情况下工作:沙箱允许写入主存储库的共享 `.git` 目录,以便 `git commit` 等命令可以从链接的 worktree 内部更新引用和索引。

44 

41在首次在目录中使用 `--worktree` 之前,请通过在该目录中运行一次 `claude` 来接受工作区信任对话框。如果尚未接受信任,`--worktree` 将以错误退出并提示您首先在目录中运行 `claude`。使用 `-p` 的非交互式运行会跳过[信任检查](/zh-CN/security),因此 `claude -p --worktree` 会在没有信任检查的情况下进行。45在首次在目录中使用 `--worktree` 之前,请通过在该目录中运行一次 `claude` 来接受工作区信任对话框。如果尚未接受信任,`--worktree` 将以错误退出并提示您首先在目录中运行 `claude`。使用 `-p` 的非交互式运行会跳过[信任检查](/zh-CN/security),因此 `claude -p --worktree` 会在没有信任检查的情况下进行。

42 46 

43如果 Claude Code 在启动时无法进入 worktree 目录,例如因为 [`WorktreeCreate` hook](/zh-CN/hooks#worktreecreate) 打印了除了它创建的目录之外的其他内容,或者因为目录在设置后被删除,Claude Code 会打印一个错误,命名该路径并以代码 1 退出。在 v2.1.205 之前,这会导致会话崩溃,使用 `-p` 时会在大约 30 秒后停滞,然后以代码 0 退出。47如果 Claude Code 在启动时无法进入 worktree 目录,例如因为 [`WorktreeCreate` hook](/zh-CN/hooks#worktreecreate) 打印了除了它创建的目录之外的其他内容,或者因为目录在设置后被删除,Claude Code 会打印一个错误,命名该路径并以代码 1 退出。在 v2.1.205 之前,这会导致会话崩溃,使用 `-p` 时会在大约 30 秒后停滞,然后以代码 0 退出。


52 选择基础分支56 选择基础分支

53</h3>57</h3>

54 58 

55Worktrees 从您的存储库的默认分支 `origin/HEAD` 分支,因此它们从与远程匹配的干净树开始。如果未配置远程或获取失败worktree 会回退到您当前的本地 `HEAD`。要始终从本地 `HEAD` 分支请在[设置](/zh-CN/settings#worktree-settings)中将 `worktree.baseRef` 设置为 `"head"`将 `baseRef` 设置为 `"head"` 会使新 worktrees 携带您未推送的提交和功能分支状态这在隔离需要在进行中的工作上操作的子代理时很有用。该设置仅接受 `"fresh"` `"head"`,不接受任意 git refs:59Worktrees 从您的存储库的默认分支 `origin/HEAD` 分支,因此它们从与远程匹配的干净树开始。当在过去 24 小时内没有任何内容获取存储库时Claude Code 会使用默认分支的获取来刷新 `origin/HEAD`,上限为 5 秒,如果获取失败,则使用本地缓存的引用如果未配置远程,或 `origin/HEAD` 未在本地缓存且无法获取worktree 会回退到您当前的本地 `HEAD`

60 

61刷新需要 Claude Code v2.1.208 或更高版本;在此之前,新的 worktree 使用已经本地缓存的任何 `origin/HEAD`。

62 

63要始终从本地 `HEAD` 分支,请在[设置](/zh-CN/settings#worktree-settings)中将 `worktree.baseRef` 设置为 `"head"`。将 `baseRef` 设置为 `"head"` 会使新 worktrees 携带您未推送的提交和功能分支状态,这在隔离需要在进行中的工作上操作的子代理时很有用。当会话在链接的 worktree 内运行时,`"head"` 解析为该 worktree 的 `HEAD`,而不是主检出的。该设置仅接受 `"fresh"` 或 `"head"`,不接受任意 git refs:

56 64 

57```json theme={null}65```json theme={null}

58{66{


70 78 

71要完全控制 worktrees 的创建方式,请配置 [`WorktreeCreate` hook](/zh-CN/hooks#worktreecreate),它完全替代默认的 `git worktree` 逻辑。79要完全控制 worktrees 的创建方式,请配置 [`WorktreeCreate` hook](/zh-CN/hooks#worktreecreate),它完全替代默认的 `git worktree` 逻辑。

72 80 

81<h3 id="reuse-a-worktree-name">

82 重用 worktree 名称

83</h3>

84 

85重用已存在目录的 worktree 名称会恢复该 worktree。

86 

87当以下所有条件都成立时,恢复的 worktree 会重置为[当前基础](#choose-the-base-branch),而不是在其旧提示处恢复:

88 

89* 它没有未提交的更改或未跟踪的文件。

90* 它仍然在 Claude Code 为其创建的分支上。

91* 它从未提交,或其拉取请求已合并且其远程分支已删除。

92 

93在 v2.1.208 之前,重用名称总是在其旧提示处恢复旧的 worktree。

94 

73<h2 id="copy-gitignored-files-into-worktrees">95<h2 id="copy-gitignored-files-into-worktrees">

74 将 gitignored 文件复制到 worktrees96 将 gitignored 文件复制到 worktrees

75</h2>97</h2>

Details

63| 来自 Desktop 应用的[云会话](/zh-CN/desktop#cloud-sessions) | 需要包含提示和完成的持久会话数据。 |63| 来自 Desktop 应用的[云会话](/zh-CN/desktop#cloud-sessions) | 需要包含提示和完成的持久会话数据。 |

64| [Artifacts](/zh-CN/artifacts) | 需要在 Anthropic 运营的基础设施上存储已发布的页面内容。 |64| [Artifacts](/zh-CN/artifacts) | 需要在 Anthropic 运营的基础设施上存储已发布的页面内容。 |

65| 反馈提交 (`/feedback`) | 提交反馈会将对话数据发送给 Anthropic。 |65| 反馈提交 (`/feedback`) | 提交反馈会将对话数据发送给 Anthropic。 |

66| [Remote Control](/zh-CN/remote-control) | 在 Anthropic 服务器上存储会话记录以跨设备同步对话。 |

66 67 

67这些功能在后端被阻止,无论客户端显示如何。如果您在启动期间在 Claude Code 终端中看到禁用的功能,尝试使用它会返回一个错误,指示组织的政策不允许该操作。68这些功能在后端被阻止,无论客户端显示如何。如果您在启动期间在 Claude Code 终端中看到禁用的功能,尝试使用它会返回一个错误,指示组织的政策不允许该操作。

68 69