SpyBara
Go Premium

Documentation 2026-09-29 23:58 UTC to 2026-09-30 05:58 UTC

53 files changed +663 −326. View all changes and history on the product overview
2026
Wed 30 06:58 Tue 29 23:58 Mon 28 22:59 Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

agent-view.md +28 −2

Details

64 </Step>64 </Step>

65</Steps>65</Steps>

66 66 

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

68 

69在常规 `claude` 会话内,提示页脚的 `←` 提示计算正在等待你的后台 agent 数量,例如 `← 2 agents`,当没有 agent 需要输入时返回 `← for agents`。超过 99 的计数显示为 `99+`。当终端获得焦点时,计数大约每十秒刷新一次,当焦点返回时立即刷新。当计数移动和 agent 完成时,它会短暂改变颜色,当后台会话完成而没有 agent 需要你的输入时,它会短暂显示完成的数量,例如 `← 2 done`。当启用了[`prefersReducedMotion` 设置](/docs/zh-CN/settings-reference#prefersreducedmotion)时,两个闪烁都关闭,并且在[屏幕阅读器模式](/docs/zh-CN/accessibility)中隐藏提示。67在常规 `claude` 会话内,提示页脚的 `←` 提示计算正在等待你的后台 agent 数量,例如 `← 2 agents`,当没有 agent 需要输入时返回 `← for agents`。超过 99 的计数显示为 `99+`。当终端获得焦点时,计数大约每十秒刷新一次,当焦点返回时立即刷新。当计数移动和 agent 完成时,它会短暂改变颜色,当后台会话完成而没有 agent 需要你的输入时,它会短暂显示完成的数量,例如 `← 2 done`。当启用了[`prefersReducedMotion` 设置](/docs/zh-CN/settings-reference#prefersreducedmotion)时,两个闪烁都关闭,并且在[屏幕阅读器模式](/docs/zh-CN/accessibility)中隐藏提示。

70 68 

69<h3 id="open-agent-view-by-default">

70 默认打开 agent view

71</h3>

72 

73要让 `claude` 不带参数打开 agent view 而不是新对话,请打开一个 `/config` 设置。

74 

75<Steps>

76 <Step title="打开设置">

77 在常规 `claude` 会话中,运行 `/config` 并打开**默认打开 agents view**。要跳过菜单,直接设置 [`defaultToAgentsView`](/docs/zh-CN/settings-reference#defaulttoagentsview) 键:

78 

79 ```text theme={null}

80 /config defaultToAgentsView=true

81 ```

82 </Step>

83 

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

85 退出会话,然后不带参数运行 `claude`:

86 

87 ```bash theme={null}

88 claude

89 ```

90 

91 Agent view 打开,代替新对话。

92 </Step>

93</Steps>

94 

95要在设置打开时启动常规会话,请传递一个提示:`claude "fix the login test"`。要关闭设置,在常规会话中或在从 agent view 附加的会话中运行 `/config defaultToAgentsView=false`。

96 

71<h2 id="monitor-sessions-with-agent-view">97<h2 id="monitor-sessions-with-agent-view">

72 使用 agent view 监控会话98 使用 agent view 监控会话

73</h2>99</h2>

Details

482 482 

483Claude 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 在 Invoke API 和 [Mantle 端点](#use-the-mantle-endpoint)上始终以 1M 窗口运行,没有 `[1m]` 变体可选择。对于 Invoke API 上的其他模型,当您选择 1M 模型变体时,Claude Code 会自动启用扩展上下文窗口。483Claude 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 在 Invoke API 和 [Mantle 端点](#use-the-mantle-endpoint)上始终以 1M 窗口运行,没有 `[1m]` 变体可选择。对于 Invoke API 上的其他模型,当您选择 1M 模型变体时,Claude Code 会自动启用扩展上下文窗口。

484 484 

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

486 486 

487<h2 id="service-tiers">487<h2 id="service-tiers">

488 服务层级488 服务层级

artifacts.md +11 −11

Details

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

101 101 

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

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

104 104 

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

106 让某人与你一起编辑106 让某人与你一起编辑


122 收集工件上的评论122 收集工件上的评论

123</h2>123</h2>

124 124 

125当您在组织内共享工件时,与您共享的人可以在页面上留下评论,您可以让 Claude 读取这些评论并回复。您需要 Claude Code v2.1.221 或更高版本以及 Team 或 Enterprise 计划,因为只有您[在组织内共享](#share-an-artifact)的工件才会接收评论。Claude 在两种情况下读取评论:125当您在组织内共享工件时,与您共享的人可以在页面上留下评论,您可以让 Claude 读取这些评论并回复。您需要 Claude Code v2.1.221 或更高版本。Claude 在两种情况下读取评论:

126 126 

127* **您要求 Claude 读取评论**:向 Claude 提供工件的 URL 并要求查看评论。Claude 列出每个线程,并标记可以编辑工件的人发送给它的评论。127* **您要求 Claude 读取评论**:向 Claude 提供工件的 URL 并要求查看评论。Claude 列出每个线程,并标记可以编辑工件的人发送给它的评论。

128* **可以编辑工件的人向 Claude 发送评论**:在页面上的线程中,他们使用**发送给 Claude**发送评论,或在其中提及 `@claude`。无论哪种方式,他们都会激活该线程。128* **可以编辑工件的人向 Claude 发送评论**:在页面上的线程中,他们使用**发送给 Claude**发送评论,或在其中提及 `@claude`。无论哪种方式,他们都会激活该线程。

129 129 

130Claude 只能回复或解决已激活的线程。其他线程保持打开状态,直到某人在页面上解决它们。查看者会看到每条回复都归属于 Claude,通过您。130Claude 只能回复或解决已激活的线程。其他线程保持打开状态,直到某人在页面上解决它们。查看者会看到每条回复都归属于 Claude,通过您。

131 131 

132如果您公开共享工件,查看者无法对其进行评论:页面显示`此工件公开共享时评论不可用。`要将已有评论线程的工件切换到公开链接,请先删除这些线程。132如果您公开共享工件,只有其公开链接访问权限的人看不到其评论,也无法添加任何评论。现有评论线程保留在工件上,您和其编辑者仍然可以读取和回复它们。

133 133 

134要自己要求查看评论,请向 Claude 提供 URL:134要自己要求查看评论,请向 Claude 提供 URL:

135 135 


195 195 

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

197 197 

198调用连接器的 artifact 无法在任何计划上共享到公开链接。在 Team 和 Enterprise 计划上,您可以将其保持为私有或[在您的组织内共享](#share-an-artifact)。在 Pro 和 Max 计划上,其中公开链接是唯一的共享方式,由连接器支持的 artifact 对您保持私有。198您可以在您的组织内或公开[共享一个由连接器支持的页面](#share-an-artifact),如您的计划和组织设置所允许的那样。连接器调用不会为未登录 claude.ai 的查看者或来自您组织外部的查看者运行。该查看者看到的页面没有其实时部分。

199 199 

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

201 页面对查看者显示没有实时数据201 页面对查看者显示没有实时数据

202</h3>202</h3>

203 203 

204当由连接器支持的页面呈现但其实时部分对您共享的某人保持为空时,请解决这些原因:204当由连接器支持的页面呈现但其实时部分对您组织中的查看者保持为空时,请解决这些原因:

205 205 

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

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


375 375 

376| 要求 | 可用时间 |376| 要求 | 可用时间 |

377| :- | :- |377| :- | :- |

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

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

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

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


408 为您的组织管理 artifacts408 为您的组织管理 artifacts

409</h2>409</h2>

410 410 

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

412 412 

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

414 启用或禁用 artifacts414 启用或禁用 artifacts

415</h3>415</h3>

416 416 

417要为整个组织启用或禁用 artifacts,请转到 [**Settings > Claude Code > Capabilities**](https://claude.ai/admin-settings/claude-code) 并使用 **Artifacts** 切换。在具有基于角色的访问控制的 Enterprise 计划上,您还可以将 artifacts 限制到特定角色:转到 [**Settings > Roles**](https://claude.ai/admin-settings/roles),编辑角色,并在 **Claude Code** 组下设置 **Artifacts** 权限。417要为整个组织启用或禁用 artifacts,请转到 [**Organization settings > Artifacts**](https://claude.ai/admin-settings/artifacts) 并使用 **Artifacts** 切换。在具有基于角色的访问控制的 Enterprise 计划上,您还可以将 artifacts 限制到特定角色:转到 [**Organization settings > Roles**](https://claude.ai/admin-settings/roles),编辑角色,并设置 **Artifacts** 权限。

418 418 

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

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

421</h3>421</h3>

422 422 

423[来自 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** 下。423[来自 artifacts 的连接器调用](#pull-live-data-with-mcp-connectors)有自己的切换,与打开或关闭 artifacts 的 **Artifacts** 切换分开。转到 [**Organization settings > Capabilities**](https://claude.ai/admin-settings/capabilities) 并使用 **Enable artifact connectors** 切换。同一切换控制在 claude.ai 对话中创建的 artifacts 的连接器调用。

424 424 

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

426 控制公开共享426 控制公开共享

427</h3>427</h3>

428 428 

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

430 430 

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

432 设置保留策略432 设置保留策略

433</h3>433</h3>

434 434 

435要设置在自动删除之前保留 artifacts 的时间长度,请转到 [**Settings > Data & privacy controls**](https://claude.ai/admin-settings/data-privacy-controls)。您可以为仍然对其作者私有的 artifacts 和已共享的 artifacts 设置单独的保留期。435要设置在自动删除之前保留 artifacts 的时间长度,请转到 [**Organization settings > Data and privacy**](https://claude.ai/admin-settings/data-privacy-controls)。您可以为仍然对其作者私有的 artifacts 和已共享的 artifacts 设置单独的保留期。

436 436 

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

438 查看审计日志438 查看审计日志

Details

163 有效负载作为 `<channel>` 标签到达 Claude 的上下文中:163 有效负载作为 `<channel>` 标签到达 Claude 的上下文中:

164 164 

165 ```text theme={null}165 ```text theme={null}

166 <channel source="webhook" path="/" method="POST">build failed on main: https://ci.example.com/run/1234</channel>166 <channel source="webhook" path="/" method="POST">

167 build failed on main: https://ci.example.com/run/1234

168 </channel>

167 ```169 ```

168 170 

169 您的终端将事件呈现为单行摘要 `← webhook: build failed on main: https://ci.example.com/run/1234`,而不是原始标签。然后您会看到 Claude 开始响应:读取文件、运行命令或消息要求的任何操作。这是一个单向频道,因此 Claude 在您的会话中行动,但不会通过 webhook 发送任何内容回复。要添加回复,请参阅[公开回复工具](#expose-a-reply-tool)。171 您的终端将事件呈现为单行摘要 `← webhook: build failed on main: https://ci.example.com/run/1234`,而不是原始标签。然后您会看到 Claude 开始响应:读取文件、运行命令或消息要求的任何操作。这是一个单向频道,因此 Claude 在您的会话中行动,但不会通过 webhook 发送任何内容回复。要添加回复,请参阅[公开回复工具](#expose-a-reply-tool)。

chrome.md +5 −2

Details

98* **暂不**:继续执行任务而不使用浏览器工具。Claude Code 可以在稍后的会话中再次询问。98* **暂不**:继续执行任务而不使用浏览器工具。Claude Code 可以在稍后的会话中再次询问。

99* **不再询问**:在未来的会话中停止该提示。您仍然可以随时使用 `/chrome` 设置集成。99* **不再询问**:在未来的会话中停止该提示。您仍然可以随时使用 `/chrome` 设置集成。

100 100 

101如果您的组织使用 [`deniedMcpServers` 托管设置](/docs/zh-CN/managed-mcp#policy-based-control-with-allowlists-and-denylists)阻止 `claude-in-chrome` MCP 服务器,Claude Code 不会显示安装提示。101两个托管 MCP 策略会关闭该提示:

102 

103* 如果您的组织使用 [`deniedMcpServers` 托管设置](/docs/zh-CN/managed-mcp#policy-based-control-with-allowlists-and-denylists)阻止 `claude-in-chrome` MCP 服务器,Claude Code 不会显示安装提示。

104* 如果您的组织部署了 [`managed-mcp.json`](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 文件,但未[在托管集合中允许 Claude in Chrome](/docs/zh-CN/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set),Claude Code 不会显示安装提示。

102 105 

103<h3 id="enable-chrome-by-default">106<h3 id="enable-chrome-by-default">

104 默认启用 Chrome107 默认启用 Chrome


118 管理网站权限121 管理网站权限

119</h3>122</h3>

120 123 

121网站级权限从 Chrome 扩展程序继承。在 Chrome 扩展程序设置中管理权限,以控制 Claude 可以浏览、点击和输入的网站。124网站级权限从 Chrome 扩展程序继承。在 Chrome 扩展程序设置中管理权限,以控制 Claude 可以浏览、点击和输入的网站。在[自动模式](/docs/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)中,当自动模式分类器本身批准对网站的浏览器调用时,扩展程序会跳过该调用的自己的按网站检查,除非您的权限规则拒绝任何网站对 Claude in Chrome 的访问。

122 125 

123<h3 id="browser-tools-in-plan-mode">126<h3 id="browser-tools-in-plan-mode">

124 Plan Mode 中的浏览器工具127 Plan Mode 中的浏览器工具

Details

356 356 

357仅运行 Claude Desktop 的机器需要它。Claude Desktop 将模型列表和禁用工具列表应用于嵌入式会话本身,但出口允许列表仅作为父设置到达它们,形式为 `WebFetch` 域规则和沙箱网络规则。没有选择加入,这些会话运行时没有出口限制,没有任何警告。网关仍然拒绝策略未授予的模型的推理请求。357仅运行 Claude Desktop 的机器需要它。Claude Desktop 将模型列表和禁用工具列表应用于嵌入式会话本身,但出口允许列表仅作为父设置到达它们,形式为 `WebFetch` 域规则和沙箱网络规则。没有选择加入,这些会话运行时没有出口限制,没有任何警告。网关仍然拒绝策略未授予的模型的推理请求。

358 358 

359插件市场允许列表也仅作为父设置到达嵌入式会话。当您在 Claude Desktop 的托管配置中关闭用户添加的插件市场时,Claude Desktop 2.16120.0 或更高版本隐藏您的组织未配置的市场,并拒绝从它们安装。要停止嵌入式会话加载已从这些市场安装的插件,它将 `strictKnownMarketplaces` 列表作为父设置发送给它们。没有选择加入,Claude Code 忽略该列表,这些插件继续加载。

360 

359开发人员通过 `/login` 登录的机器不需要它;每个 Claude Code 会话从网关获取其策略。361开发人员通过 `/login` 登录的机器不需要它;每个 Claude Code 会话从网关获取其策略。

360 362 

361其[`policyHelper`](/docs/zh-CN/settings-reference#policyhelper)提供托管设置的舰队无法使用它:Claude Code 从不在这些舰队上合并父设置,因为它仅从助手的输出读取托管设置。363其[`policyHelper`](/docs/zh-CN/settings-reference#policyhelper)提供托管设置的舰队无法使用它:Claude Code 从不在这些舰队上合并父设置,因为它仅从助手的输出读取托管设置。


451* **`forceLoginOrgUUID`**:当最高优先级管理员源未设置组织 UUID 时,Claude Code 尊重父提供的值。网关登录不检查此密钥。最高优先级管理员源中的组织 UUID 阻止父的值,是 Claude Code 强制执行的值。453* **`forceLoginOrgUUID`**:当最高优先级管理员源未设置组织 UUID 时,Claude Code 尊重父提供的值。网关登录不检查此密钥。最高优先级管理员源中的组织 UUID 阻止父的值,是 Claude Code 强制执行的值。

452* **`allowedMcpServers`**:当最高优先级管理员源未设置允许列表时,Claude Code 尊重父提供的允许列表,`allowManagedMcpServersOnly` 不阻止它,因为锁强制执行任何赢家列表作为托管值,包括当最高优先级管理员源未设置时的父提供列表。最高优先级管理员源中的列表阻止父的并是 Claude Code 强制执行的列表,因此在那里设置 `allowedMcpServers`,在锁旁边。在 v2.1.223 之前,任何管理员源中任一密钥的值都阻止父的。454* **`allowedMcpServers`**:当最高优先级管理员源未设置允许列表时,Claude Code 尊重父提供的允许列表,`allowManagedMcpServersOnly` 不阻止它,因为锁强制执行任何赢家列表作为托管值,包括当最高优先级管理员源未设置时的父提供列表。最高优先级管理员源中的列表阻止父的并是 Claude Code 强制执行的列表,因此在那里设置 `allowedMcpServers`,在锁旁边。在 v2.1.223 之前,任何管理员源中任一密钥的值都阻止父的。

453* **`availableModels`**:当赢家托管源未设置模型列表时,Claude Code 尊重父提供的模型列表。如果您的舰队限制模型,在赢家源中设置 `availableModels`。455* **`availableModels`**:当赢家托管源未设置模型列表时,Claude Code 尊重父提供的模型列表。如果您的舰队限制模型,在赢家源中设置 `availableModels`。

454* **`strictKnownMarketplaces`**:当赢家托管源未设置一个时,Claude Code 尊重父提供的插件市场允许列表。如果您的舰队限制市场,在赢家源中设置 `strictKnownMarketplaces`。需要 Claude Code v2.1.282 或更高版本。456* **`strictKnownMarketplaces`**:当赢家托管源未设置一个时,Claude Code 尊重父提供的插件市场允许列表。Claude Desktop 2.16120.0 或更高版本在其托管配置关闭用户添加的插件市场时发送一个。如果您的舰队限制市场,在赢家源中设置 `strictKnownMarketplaces`。需要 Claude Code v2.1.282 或更高版本。

455* **`blockedMarketplaces`**:父提供的市场阻止列表通过并添加到任何托管源设置的阻止列表,因为阻止列表只能进一步限制。需要 Claude Code v2.1.282 或更高版本。457* **`blockedMarketplaces`**:父提供的市场阻止列表通过并添加到任何托管源设置的阻止列表,因为阻止列表只能进一步限制。需要 Claude Code v2.1.282 或更高版本。

456* **`strictPluginOnlyCustomization`**:此密钥无论任何锁都通过过滤器,它使 Claude Code 忽略开发人员的自己定制,包括保护性 hooks。没有锁阻止它。458* **`strictPluginOnlyCustomization`**:此密钥无论任何锁都通过过滤器,它使 Claude Code 忽略开发人员的自己定制,包括保护性 hooks。没有锁阻止它。

457 459 

Details

303| - | - | - |303| - | - | - |

304| 推理(提示、完成) | CLI → 网关 → 您的上游 | 仅当 Anthropic API 是配置的上游时 |304| 推理(提示、完成) | CLI → 网关 → 您的上游 | 仅当 Anthropic API 是配置的上游时 |

305| 遥测(OTLP 指标,加上 [选择加入日志和跟踪](/docs/zh-CN/claude-apps-gateway-config#telemetry)) | CLI → 网关 → 您的收集器 | 从不 |305| 遥测(OTLP 指标,加上 [选择加入日志和跟踪](/docs/zh-CN/claude-apps-gateway-config#telemetry)) | CLI → 网关 → 您的收集器 | 从不 |

306| 身份(电子邮件、组、sub) | IdP → 网关 → JWT → CLI;CLI 在 OTLP 导出上标记它。如果您打开 [`forward_user_identity`](/docs/zh-CN/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run),网关也会将开发者的电子邮件和 IdP 主体作为标头发送到您的代理 | 从不 |306| 身份(电子邮件、组、sub) | IdP → 网关 → CLI;CLI 在 OTLP 导出上标记它。如果您打开 [`forward_user_identity`](/docs/zh-CN/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run),网关也会将开发者的电子邮件和 IdP 主体作为标头发送到您的代理 | 从不 |

307| 托管设置 | 您的网关 YAML → CLI | 从不 |307| 托管设置 | 您的网关 YAML → CLI | 从不 |

308| 审计日志 | 网关 stderr → 您的聚合器 | 从不 |308| 审计日志 | 网关 stderr → 您的聚合器 | 从不 |

309 309 

Details

513 遥测513 遥测

514</h2>514</h2>

515 515 

516gateway 为您提供每个开发人员的使用指标,无需任何每台机器的 OTEL 配置。Claude Code 发出 OpenTelemetry (OTLP) 指标、日志和选择加入的跟踪;[监控使用](/docs/zh-CN/monitoring-usage)涵盖 CLI 报告的所有内容。在 gateway 会话上,CLI 使用经过身份验证的 IdP 身份属性 `user.id`、`user.email` 和 `user.groups` 标记每个导出,因此使用按开发人员汇总,无需 `OTEL_RESOURCE_ATTRIBUTES` 管道。516gateway 为您提供每个开发人员的使用指标,无需任何每台机器的 OTEL 配置。Claude Code 发出 OpenTelemetry (OTLP) 指标、日志和选择加入的跟踪;[监控使用](/docs/zh-CN/monitoring-usage)涵盖 CLI 报告的所有内容。在通过 `/login` 登录的会话中,CLI 使用经过身份验证的 IdP 身份属性 `user.id`、`user.email` 和 `user.groups` 标记每个导出,因此使用按开发人员汇总。

517 517 

518gateway 本身是经过身份验证的 OTLP 中继。将 [`telemetry.forward_to`](/docs/zh-CN/claude-apps-gateway-config#telemetry) 与 `listen.public_url` 一起设置,它将 OTEL 导出器设置推送到每个连接的客户端,并将其 OTLP 流量逐字转发到您列出的每个目标。每个目标独立选择加入指标、日志和跟踪,默认值仅为指标;有关每个信号字段及其敏感性权衡,请参阅 [`telemetry` 参考](/docs/zh-CN/claude-apps-gateway-config#telemetry)。gateway 不缓冲、聚合或存储遥测,因此数据落在何处完全是收集器的导出器配置。518gateway 本身是经过身份验证的 OTLP 中继。将 [`telemetry.forward_to`](/docs/zh-CN/claude-apps-gateway-config#telemetry) 与 `listen.public_url` 一起设置,它将 OTEL 导出器设置推送到每个连接的客户端,并将其 OTLP 流量逐字转发到您列出的每个目标。每个目标独立选择加入指标、日志和跟踪,默认值仅为指标;有关每个信号字段及其敏感性权衡,请参阅 [`telemetry` 参考](/docs/zh-CN/claude-apps-gateway-config#telemetry)。gateway 不缓冲、聚合或存储遥测,因此数据落在何处完全是收集器的导出器配置。

519 519 

Details

1569| `feedback/drafts/` | 排队的 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior),等待您在 `/feedback` 中审查。在 `cleanupPeriodDays` 或 30 天后扫除,以较短者为准。当队列达到其 10 个草稿的限制时,Claude Code 删除最旧的草稿以腾出空间。 |1569| `feedback/drafts/` | 排队的 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior),等待您在 `/feedback` 中审查。在 `cleanupPeriodDays` 或 30 天后扫除,以较短者为准。当队列达到其 10 个草稿的限制时,Claude Code 删除最旧的草稿以腾出空间。 |

1570| `usage-data/` | `report.html` 和由 [`/insights`](/docs/zh-CN/costs#analyze-your-usage-patterns) 写入的时间戳报告副本,加上用于构建它们的缓存的每个会话分析数据 |1570| `usage-data/` | `report.html` 和由 [`/insights`](/docs/zh-CN/costs#analyze-your-usage-patterns) 写入的时间戳报告副本,加上用于构建它们的缓存的每个会话分析数据 |

1571| `skills/.trash/`、`plugins/.trash/` | [Skills](/docs/zh-CN/skills#how-synced-skills-behave) 和 [plugins](/docs/zh-CN/plugins/loading#synced-plugins),从 claude.ai 同步中删除,例如在您在 claude.ai 上关闭其中一个或停止同步后。文件保留在此处,以便您可以恢复它们,直到扫描删除它们 |1571| `skills/.trash/`、`plugins/.trash/` | [Skills](/docs/zh-CN/skills#how-synced-skills-behave) 和 [plugins](/docs/zh-CN/plugins/loading#synced-plugins),从 claude.ai 同步中删除,例如在您在 claude.ai 上关闭其中一个或停止同步后。文件保留在此处,以便您可以恢复它们,直到扫描删除它们 |

1572| `plugins/installed_plugins.set-aside.<date>.<hash>.json`、`plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code 在重写 [`installed_plugins.json`](/docs/zh-CN/plugins/loading#find-plugins-on-disk) 之前制作的日期副本:它删除的安装记录,以及它无法读取的文件的内容。 |

1572| `todos/`、`statsig/`、`logs/` | 来自旧版本的旧版目录。不再写入。扫描删除其内容,然后删除空目录。 |1573| `todos/`、`statsig/`、`logs/` | 来自旧版本的旧版目录。不再写入。扫描删除其内容,然后删除空目录。 |

1573 1574 

1574`sessions/` 中的会话文件、自动内存以及 Claude Desktop 和 Cowork 记录各自遵循自己的保留规则:1575`sessions/` 中的会话文件、自动内存以及 Claude Desktop 和 Cowork 记录各自遵循自己的保留规则:


1715| `~/.claude/policy-limits.json` | 无。自动刷新。 |1716| `~/.claude/policy-limits.json` | 无。自动刷新。 |

1716| `~/.claude/tasks/` | 恢复的会话会拾取的任务列表 |1717| `~/.claude/tasks/` | 恢复的会话会拾取的任务列表 |

1717| `~/.claude/skills/.trash/`、`~/.claude/plugins/.trash/` | 恢复 [synced skills](/docs/zh-CN/skills#how-synced-skills-behave) 和 [synced plugins](/docs/zh-CN/plugins/loading#synced-plugins) 的机会,Claude Code 已删除 |1718| `~/.claude/skills/.trash/`、`~/.claude/plugins/.trash/` | 恢复 [synced skills](/docs/zh-CN/skills#how-synced-skills-behave) 和 [synced plugins](/docs/zh-CN/plugins/loading#synced-plugins) 的机会,Claude Code 已删除 |

1719| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`、`~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code 删除的 plugin 安装记录副本或无法读取的文件副本。没有任何内容读取它们 |

1718| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/session-env/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | 没有面向用户的内容 |1720| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/session-env/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | 没有面向用户的内容 |

1719| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/`、`~/.claude/image-cache/` | 无。旧版目录不由当前版本写入。 |1721| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/`、`~/.claude/image-cache/` | 无。旧版目录不由当前版本写入。 |

1720 1722 

Details

4 4 

5# 扫描代码库中的漏洞5# 扫描代码库中的漏洞

6 6 

7> 安装 Claude Security 插件以在 Claude Code 会话中扫描代码库中的漏洞,并将发现的问题转化为您可以审查和应用的补丁。7> 安装 Claude Security plugin 以在 Claude Code 会话中扫描代码库中的漏洞,并将发现的问题转化为您可以审查和应用的补丁。

8 8 

9Claude Security 插件在 Claude Code 会话中运行代码库的多代理漏洞扫描。一个 Claude 代理团队映射您的架构、构建威胁模型、搜寻漏洞,并在编写报告前独立审查每个发现。使用该插件扫描整个存储库或[仅扫描一组更改](#scan-only-your-changes),例如分支的差异、拉取请求的差异或单个提交,然后将您选择的发现转化为您自己审查和应用的补丁。9Claude Security plugin 在 Claude Code 会话中对您的代码库运行多代理漏洞扫描。一个 Claude 代理团队映射您的架构、构建威胁模型、搜寻漏洞,并在编写报告前独立审查每个发现。使用该插件扫描整个存储库或[仅扫描一组更改](#scan-only-your-changes),例如分支的差异、拉取请求的差异或单个提交,然后将您选择的发现转化为您自己审查和应用的补丁。

10 10 

11该插件在您的会话中本地运行,使用您在 Claude Code 中有权访问的任何模型,每次扫描都会计入您的计划使用限额。如果您想要一个监控您的存储库的托管服务,或想要在 [Claude Mythos 5](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) 上运行扫描,请参阅 [Claude Security](https://claude.com/product/claude-security) 产品,该产品在企业计划中可用。该插件可以访问托管产品无法访问的代码,例如托管在 GitLab 或 Bitbucket 上的存储库,或在不允许入站连接的网络上的存储库。11该插件在您的会话中本地运行,使用[您在 Claude Code 中可以访问的任何模型](#models-and-providers),每次扫描都计入您的[使用量](/docs/zh-CN/costs)。如果您想要一个监控您的存储库的托管服务,或想要在 [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) 上运行扫描,请参阅 [Claude Security](https://claude.com/product/claude-security) 产品,该产品在企业计划中提供。该插件可以访问托管产品无法访问的代码,例如托管在 GitLab 或 Bitbucket 上的存储库,或在不允许入站连接的网络上的存储库。

12 12 

13该插件也不同于 Claude Code 中已有的审查工具:[security guidance 插件](/docs/zh-CN/security-guidance)在 Claude 编写代码时审查代码,[`/security-review`](/docs/zh-CN/commands#all-commands) 对您的分支运行单次扫描,[Code Review](/docs/zh-CN/code-review) 审查拉取请求。有关这些层如何堆叠的信息,请参阅[该插件如何与其他安全工具配合](#how-the-plugin-fits-with-other-security-tools)。13该插件也不同于 Claude Code 中已有的审查工具:[security guidance plugin](/docs/zh-CN/security-guidance) 在 Claude 编写代码时审查代码,[`/security-review`](/docs/zh-CN/commands#all-commands) 对您的分支运行单次扫描,[Code Review](/docs/zh-CN/code-review) 审查拉取请求。有关这些层如何堆叠的信息,请参阅[插件如何与其他安全工具配合](#how-the-plugin-fits-with-other-security-tools)。

14 14 

15<h2 id="prerequisites">15<h2 id="prerequisites">

16 前置条件16 前置条件


18 18 

19要运行该插件,您需要:19要运行该插件,您需要:

20 20 

21* 付费计划,用于扫描用来编排其代理的[动态工作流](/docs/zh-CN/workflows)。在 Pro 上,从 `/config` 中的"动态工作流"行启用它们。21* 付费计划、Anthropic API 访问权限或[第三方提供商](#models-and-providers),用于扫描使用的[动态工作流](/docs/zh-CN/workflows)来编排其代理。在 Pro 版本上,从 `/config` 中的"Dynamic workflows"行启用它们。

22* Python 3.9 或更高版本在您的 `PATH` 上可用,名称为 `python3`。使用 `python3 --version` 检查。该插件的工具仅使用 Python 标准库,因此不会安装任何内容。22* Python 3.9 或更高版本,在您的 `PATH` 中以 `python3` 的形式可用。使用 `python3 --version` 检查。该插件的工具仅使用 Python 标准库,因此无需安装任何内容。

23* Linux、macOS 或 Windows。23* Linux、macOS 或 Windows。

24* Git,用于更改扫描和将发现转化为补丁;这些任务不支持其他版本控制系统。完整扫描在任何目录中都有效,无论是否有版本控制。24* Git,用于变更扫描和将发现结果转换为补丁;这些任务不支持其他版本控制系统。完整扫描可在任何目录中工作,无论是否有版本控制。

25 

26<h2 id="models-and-providers">

27 模型和提供商

28</h2>

29 

30扫描在您的 Claude Code 会话中运行。该插件本身不进行模型调用,因此没有单独的 API 密钥或提供商设置需要配置。

31 

32* **模型**:搜索漏洞、验证发现、编写和审查补丁的代理在[您会话的模型](/docs/zh-CN/sub-agents#choose-a-model)上运行。要更改它,请在开始扫描前在您的会话中运行[`/model`](/docs/zh-CN/model-config#setting-your-model)。一些支持步骤,例如映射存储库,改为使用[`sonnet` 别名](/docs/zh-CN/model-config#model-aliases)。

33* **提供商**:扫描在付费计划上运行,具有 Anthropic API 访问权限,或在[第三方提供商](/docs/zh-CN/third-party-integrations)上运行,例如 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock)、[Google Cloud 的 Agent Platform](/docs/zh-CN/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)。

34 

35在第三方提供商上,`sonnet` 别名可能解析为与 Anthropic API 上不同的版本。如果您的账户无法使用该版本,请[固定您的模型版本](/docs/zh-CN/model-config#pin-models-for-third-party-deployments),包括 `ANTHROPIC_DEFAULT_SONNET_MODEL`。

36 

37[自动模型回退](/docs/zh-CN/model-config#automatic-model-fallback)重新运行被模型的安全防护标记的请求。在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上,根据[您的部署设置方式](/docs/zh-CN/model-config#enable-fallback-on-bedrock-agent-platform-and-foundry),请求可能以拒绝消息结束。

25 38 

26<h2 id="install-the-plugin">39<h2 id="install-the-plugin">

27 安装插件40 安装插件


156 169 

157**`/claude-security` 菜单打开时出现 Python 警告。** 该插件需要 `python3` 3.9 或更高版本在您的 `PATH` 上。当它根本找不到 `python3` 时,菜单警告 Claude Security 在安装一个之前不会工作;当您的 `PATH` 上的第一个 `python3` 较旧时,警告会命名它找到的版本。安装 Python 3,或在您的 `PATH` 上放置一个较新的 `python3`,然后启动一个新会话。170**`/claude-security` 菜单打开时出现 Python 警告。** 该插件需要 `python3` 3.9 或更高版本在您的 `PATH` 上。当它根本找不到 `python3` 时,菜单警告 Claude Security 在安装一个之前不会工作;当您的 `PATH` 上的第一个 `python3` 较旧时,警告会命名它找到的版本。安装 Python 3,或在您的 `PATH` 上放置一个较新的 `python3`,然后启动一个新会话。

158 171 

159**使用 Fable 模型扫描时,您可能会看到"safeguards flagged this message"通知。** 该消息命名模型,例如"Fable 5.1's safeguards flagged this message"。Fable 的网络安全安全分类器标记某些请求,Claude Code 通过[自动模型回退](/docs/zh-CN/model-config#automatic-model-fallback)在 Opus 模型上重新运行标记的请求。这是预期的,扫描应该仍然成功完成。172**使用 Fable 模型扫描时,您可能会看到"safeguards flagged this message"通知。** 该消息命名您正在运行的模型。Fable 的网络安全安全分类器标记某些请求,Claude Code 通过[自动模型回退](/docs/zh-CN/model-config#automatic-model-fallback)在 Opus 模型上重新运行标记的请求。这是预期的。当请求重新运行时,扫描应该仍然成功完成。

160 173 

161<h2 id="related-resources">174<h2 id="related-resources">

162 相关资源175 相关资源

Details

566 * platform.claude.com566 * platform.claude.com

567 * code.claude.com567 * code.claude.com

568 * claude.ai568 * claude.ai

569 * claude.com

570 * support.claude.com

571 * anthropic.com

572 * [www.anthropic.com](http://www.anthropic.com)

569 </Accordion>573 </Accordion>

570 574 

571 <Accordion title="版本控制">575 <Accordion title="版本控制">


596 * hub.docker.com600 * hub.docker.com

597 * [www.docker.com](http://www.docker.com)601 * [www.docker.com](http://www.docker.com)

598 * production.cloudflare.docker.com602 * production.cloudflare.docker.com

603 * production.cloudfront.docker.com

599 * download.docker.com604 * download.docker.com

600 * gcr.io605 * gcr.io

601 * \*.gcr.io606 * \*.gcr.io

commands.md +4 −1

Details

56| `/add-dir <path>` | 添加一个工作目录以在当前会话期间进行文件访问。输入部分路径以查看匹配的目录建议;按 `Tab` 接受一个。大多数 `.claude/` 配置[不会从添加的目录中被发现](/docs/zh-CN/permissions#additional-directories-grant-file-access-not-configuration)。你无法添加大多数[网络路径](/docs/zh-CN/errors#working-directory-is-a-network-path),例如 `\\server\share`。成功添加后,你的 [`DirectoryAdded` hooks](/docs/zh-CN/hooks#directoryadded) 会运行。当你在 Claude 响应时运行它时,Claude Code 会要求你立即确认目录,一旦你确认,Claude 在同一轮中的下一个工具调用就可以访问它。在 v2.1.234 之前,Claude Code 会将命令排队直到轮次完成 |56| `/add-dir <path>` | 添加一个工作目录以在当前会话期间进行文件访问。输入部分路径以查看匹配的目录建议;按 `Tab` 接受一个。大多数 `.claude/` 配置[不会从添加的目录中被发现](/docs/zh-CN/permissions#additional-directories-grant-file-access-not-configuration)。你无法添加大多数[网络路径](/docs/zh-CN/errors#working-directory-is-a-network-path),例如 `\\server\share`。成功添加后,你的 [`DirectoryAdded` hooks](/docs/zh-CN/hooks#directoryadded) 会运行。当你在 Claude 响应时运行它时,Claude Code 会要求你立即确认目录,一旦你确认,Claude 在同一轮中的下一个工具调用就可以访问它。在 v2.1.234 之前,Claude Code 会将命令排队直到轮次完成 |

57| `/advisor [model\|off]` | 启用或禁用[顾问工具](/docs/zh-CN/advisor),它在任务期间的关键时刻咨询第二个模型以获得指导。接受 `fable`、`opus`、`sonnet` 或完整的模型 ID。`fable` 需要 [Fable 访问权限](/docs/zh-CN/advisor#choose-an-advisor-model)。没有参数时,打开一个选择器。在没有交互式终端的会话中,或通过 [Remote Control](/docs/zh-CN/remote-control#limitations),将模型或 `off` 作为参数传递;在那里没有参数时,命令将当前顾问打印为文本。这些形式需要 Claude Code v2.1.260 或更高版本 |57| `/advisor [model\|off]` | 启用或禁用[顾问工具](/docs/zh-CN/advisor),它在任务期间的关键时刻咨询第二个模型以获得指导。接受 `fable`、`opus`、`sonnet` 或完整的模型 ID。`fable` 需要 [Fable 访问权限](/docs/zh-CN/advisor#choose-an-advisor-model)。没有参数时,打开一个选择器。在没有交互式终端的会话中,或通过 [Remote Control](/docs/zh-CN/remote-control#limitations),将模型或 `off` 作为参数传递;在那里没有参数时,命令将当前顾问打印为文本。这些形式需要 Claude Code v2.1.260 或更高版本 |

58| `/agents` | 从 v2.1.198 开始,运行 `/agents` 会打印一个提醒,要求你要求 Claude 创建或管理[子代理](/docs/zh-CN/sub-agents),或直接编辑 `.claude/agents/` 或 `~/.claude/agents/`。在 v2.1.197 及更早版本上,打开一个交互式界面来创建和管理子代理配置 |58| `/agents` | 从 v2.1.198 开始,运行 `/agents` 会打印一个提醒,要求你要求 Claude 创建或管理[子代理](/docs/zh-CN/sub-agents),或直接编辑 `.claude/agents/` 或 `~/.claude/agents/`。在 v2.1.197 及更早版本上,打开一个交互式界面来创建和管理子代理配置 |

59| `/artifact-capabilities` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 加载已发布[工件](/docs/zh-CN/artifacts)可以使用的运行时功能的参考,例如[调用你的连接器](/docs/zh-CN/artifacts#pull-live-data-with-mcp-connectors)或[提供文件下载](/docs/zh-CN/artifacts#offer-a-file-download),包括你的账户拥有的功能。Claude 通常在构建使用其中一个的页面之前自己加载它。在[工件](/docs/zh-CN/artifacts#availability)可用的地方可用 |

60| `/artifact-diagramming` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 为 Claude 在[工件](/docs/zh-CN/artifacts)中遵循的图表加载指导:何时图表有帮助、要绘制什么,以及如何编写在浅色和深色主题中保持清晰的内联 SVG。需要 Claude Code v2.1.221 或更高版本 |

59| `/artifacts` | 列出你拥有或与你共享的[工件](/docs/zh-CN/artifacts#find-an-artifact-again),然后将其附加到会话、在浏览器中打开或复制其链接。在[工件](/docs/zh-CN/artifacts#availability)可用的地方可用。需要 Claude Code v2.1.208 或更高版本;使用 `Enter` 附加需要 v2.1.216 |61| `/artifacts` | 列出你拥有或与你共享的[工件](/docs/zh-CN/artifacts#find-an-artifact-again),然后将其附加到会话、在浏览器中打开或复制其链接。在[工件](/docs/zh-CN/artifacts#availability)可用的地方可用。需要 Claude Code v2.1.208 或更高版本;使用 `Enter` 附加需要 v2.1.216 |

60| `/auto-mode-setup` | [从你的项目和最近的会话中起草 `autoMode.environment` 条目](/docs/zh-CN/auto-mode-config#generate-environment-entries),然后审查草稿并将其保存到你的用户设置。需要 Pro、Max 或 Team 计划以及 Claude Code v2.1.228 或更高版本。在原生 Windows 上,需要 v2.1.233 或更高版本 |62| `/auto-mode-setup` | [从你的项目和最近的会话中起草 `autoMode.environment` 条目](/docs/zh-CN/auto-mode-config#generate-environment-entries),然后审查草稿并将其保存到你的用户设置。需要 Pro、Max 或 Team 计划以及 Claude Code v2.1.228 或更高版本。在原生 Windows 上,需要 v2.1.233 或更高版本 |

61| `/autocompact [auto\|<tokens>]` | 设置自动压缩窗口:在 Claude Code 自动压缩之前上下文窗口有多满。传递一个大小,例如 `500k`,或 `auto` 以返回为你的模型调整的窗口。Claude Code 将该值保存到用户设置并将其应用于当前会话。有关接受的值和覆盖它的内容,请参阅[设置自动压缩窗口](/docs/zh-CN/model-config#set-the-auto-compact-window)。没有参数时,打开一个显示当前窗口的对话框。需要 Claude Code v2.1.221 或更高版本 |63| `/autocompact [auto\|<tokens>]` | 设置自动压缩窗口:在 Claude Code 自动压缩之前上下文窗口有多满。传递一个大小,例如 `500k`,或 `auto` 以返回为你的模型调整的窗口。Claude Code 将该值保存到用户设置并将其应用于当前会话。有关接受的值和覆盖它的内容,请参阅[设置自动压缩窗口](/docs/zh-CN/model-config#set-the-auto-compact-window)。没有参数时,打开一个显示当前窗口的对话框。需要 Claude Code v2.1.221 或更高版本 |


68| `/cd <path>` | 将此会话移动到新的工作目录,保持对话。输入部分路径以查看匹配的目录建议;按 `Tab` 接受一个。建议需要 Claude Code v2.1.206 或更高版本。有关 Claude Code 在移动时立即应用的内容,以及 `/cd` 与 `/add-dir` 的区别,请参阅[将会话移动到另一个目录](/docs/zh-CN/permissions#move-the-session-to-another-directory) |70| `/cd <path>` | 将此会话移动到新的工作目录,保持对话。输入部分路径以查看匹配的目录建议;按 `Tab` 接受一个。建议需要 Claude Code v2.1.206 或更高版本。有关 Claude Code 在移动时立即应用的内容,以及 `/cd` 与 `/add-dir` 的区别,请参阅[将会话移动到另一个目录](/docs/zh-CN/permissions#move-the-session-to-another-directory) |

69| `/chrome` | 配置 [Claude in Chrome](/docs/zh-CN/chrome) 设置 |71| `/chrome` | 配置 [Claude in Chrome](/docs/zh-CN/chrome) 设置 |

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 为你的项目的语言加载 [Claude API](https://platform.claude.com/docs/en/api/overview) 和 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 参考资料。当你的代码导入 `anthropic` 或 `@anthropic-ai/sdk` 时也会自动激活。运行 `migrate` 以将现有 Claude API 代码更新到更新的模型。运行 `upgrade` 以跨主要版本移动你的项目的 Anthropic SDK 依赖项,目前是 Python `anthropic` 包从 0.x 到 1.x。运行 `managed-agents-onboard` 以获得创建新 Managed Agent 的演练。运行 `prompt-audit` 以标记为旧模型编写的指令在你的提示词、skill 和工具描述中,并提议修复作为差异。运行 `cost-optimize` 以分析你的项目的 Claude API 支出去向,并提议从选项(如 prompt caching、修剪不需要的输入和输出令牌、批处理、工作量和模型选择)中节省,一次一个更改。运行 `build-eval` 以为你的 Claude 驱动的应用构建一个 eval 集,运行 `hillclimb` 以针对现有 eval 迭代改进应用。`prompt-audit` 子命令需要 Claude Code v2.1.221 或更高版本,`upgrade` 需要 v2.1.236 或更高版本,`cost-optimize` 需要 v2.1.247 或更高版本,`build-eval` 和 `hillclimb` 需要 v2.1.259 或更高版本 |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 为你的项目的语言加载 [Claude API](https://platform.claude.com/docs/en/api/overview) 和 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 参考资料。当你的代码导入 `anthropic` 或 `@anthropic-ai/sdk` 时也会自动激活。运行 `migrate` 以将现有 Claude API 代码更新到更新的模型。运行 `upgrade` 以跨主要版本移动你的项目的 Anthropic SDK 依赖项,目前是 Python `anthropic` 包从 0.x 到 1.x。运行 `managed-agents-onboard` 以获得创建新 Managed Agent 的演练。运行 `prompt-audit` 以标记为旧模型编写的指令在你的提示词、skill 和工具描述中,并提议修复作为差异。运行 `cost-optimize` 以分析你的项目的 Claude API 支出去向,并提议从选项(如 prompt caching、修剪不需要的输入和输出令牌、批处理、工作量和模型选择)中节省,一次一个更改。运行 `build-eval` 以为你的 Claude 驱动的应用构建一个 eval 集,运行 `hillclimb` 以针对现有 eval 迭代改进应用。`prompt-audit` 子命令需要 Claude Code v2.1.221 或更高版本,`upgrade` 需要 v2.1.236 或更高版本,`cost-optimize` 需要 v2.1.247 或更高版本,`build-eval` 和 `hillclimb` 需要 v2.1.259 或更高版本 |

73| `/claude-in-chrome [task]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 让 Claude 通过 [Claude in Chrome](/docs/zh-CN/chrome) 在你的浏览器中执行任务,例如测试页面、填充表单或读取控制台日志。当为会话启用 Chrome 集成时可用,例如使用 `claude --chrome`,或当 Claude Code 可以提供[安装扩展](/docs/zh-CN/chrome#install-the-extension-when-claude-asks)时 |

71| `/clear [name]` | 使用空上下文启动新对话。传递一个名称以在 `/resume` 选择器中标记上一个对话。要在继续同一对话的同时释放上下文,请改用 `/compact`。使用 `/resume` 恢复上一个对话,或在同一 Claude Code 进程中,从[倒带菜单的上一个会话条目](/docs/zh-CN/checkpointing#rewind-past-a-cleared-conversation)恢复它。别名:`/reset`、`/new` |74| `/clear [name]` | 使用空上下文启动新对话。传递一个名称以在 `/resume` 选择器中标记上一个对话。要在继续同一对话的同时释放上下文,请改用 `/compact`。使用 `/resume` 恢复上一个对话,或在同一 Claude Code 进程中,从[倒带菜单的上一个会话条目](/docs/zh-CN/checkpointing#rewind-past-a-cleared-conversation)恢复它。别名:`/reset`、`/new` |

72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 审查当前差异,或你传递的 PR 号、分支或路径,以查找正确性错误。根据你的模型和工作量级别,审查也涵盖清理机会。传递 `--fix` 以应用发现,`--comment` 以在 GitHub PR 或 GitLab 合并请求上发布它们,或 `ultra` 以运行深度[云审查](/docs/zh-CN/ultrareview)。发布到 GitLab 合并请求需要 Claude Code v2.1.257 或更高版本。在 `github.com` PR 目标上使用 `ultra` 时,传递 `--post` 以在启动对话框中预选[将完成的发现发布到 PR](/docs/zh-CN/ultrareview#post-findings-to-the-pull-request);`--post` 需要 Claude Code v2.1.227 或更高版本。有关工作量级别、目标和它与 `/simplify` 的关系,请参阅[本地审查差异](/docs/zh-CN/code-review#review-a-diff-locally)。别名:`/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 审查当前差异,或你传递的 PR 号、分支或路径,以查找正确性错误。根据你的模型和工作量级别,审查也涵盖清理机会。传递 `--fix` 以应用发现,`--comment` 以在 GitHub PR 或 GitLab 合并请求上发布它们,或 `ultra` 以运行深度[云审查](/docs/zh-CN/ultrareview)。发布到 GitLab 合并请求需要 Claude Code v2.1.257 或更高版本。在 `github.com` PR 目标上使用 `ultra` 时,传递 `--post` 以在启动对话框中预选[将完成的发现发布到 PR](/docs/zh-CN/ultrareview#post-findings-to-the-pull-request);`--post` 需要 Claude Code v2.1.227 或更高版本。有关工作量级别、目标和它与 `/simplify` 的关系,请参阅[本地审查差异](/docs/zh-CN/code-review#review-a-diff-locally)。别名:`/review` |

73| `/color [color\|default]` | 为当前会话设置提示栏颜色。可用颜色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或运行不带参数以选择随机颜色。当 [Remote Control](/docs/zh-CN/remote-control) 连接时,颜色同步到 claude.ai/code。也可在非交互模式 (`-p`) 中使用;需要 Claude Code v2.1.205 或更高版本 |76| `/color [color\|default]` | 为当前会话设置提示栏颜色。可用颜色:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。使用 `default` 重置,或运行不带参数以选择随机颜色。当 [Remote Control](/docs/zh-CN/remote-control) 连接时,颜色同步到 claude.ai/code。也可在非交互模式 (`-p`) 中使用;需要 Claude Code v2.1.205 或更高版本 |


91| `/fast [on\|off]` | 切换[快速模式](/docs/zh-CN/fast-mode)打开或关闭。在 Claude 响应时运行它,Claude Code 切换快速模式而不等待轮次结束,尽管运行的轮次以其原始速度完成。在 v2.1.242 之前,Claude Code 从它从 Anthropic 获取的功能标志决定是在轮中期运行命令还是将其排队直到轮次完成,并始终在不[获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)的会话中排队它。非交互模式中的可用性受限于 `-p`;请参阅[切换快速模式](/docs/zh-CN/fast-mode#toggle-fast-mode)。需要 Claude Code v2.1.205 或更高版本 |94| `/fast [on\|off]` | 切换[快速模式](/docs/zh-CN/fast-mode)打开或关闭。在 Claude 响应时运行它,Claude Code 切换快速模式而不等待轮次结束,尽管运行的轮次以其原始速度完成。在 v2.1.242 之前,Claude Code 从它从 Anthropic 获取的功能标志决定是在轮中期运行命令还是将其排队直到轮次完成,并始终在不[获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)的会话中排队它。非交互模式中的可用性受限于 `-p`;请参阅[切换快速模式](/docs/zh-CN/fast-mode#toggle-fast-mode)。需要 Claude Code v2.1.205 或更高版本 |

92| `/feedback [report]` | 发送关于 Claude Code 的产品反馈。打开与 [`/bug`](#all-commands) 相同的对话框,具有相同的同意步骤、发送规则和轮中期行为。在具有 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)的会话中,不带参数的 `/feedback` 打开草稿队列,你可以在其中审查、编辑、发送或丢弃 Claude 排队的草稿;队列包括一个选项来在对话框中写入新报告。使用参数,对于 `/bug` 总是,对话框直接打开 |95| `/feedback [report]` | 发送关于 Claude Code 的产品反馈。打开与 [`/bug`](#all-commands) 相同的对话框,具有相同的同意步骤、发送规则和轮中期行为。在具有 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)的会话中,不带参数的 `/feedback` 打开草稿队列,你可以在其中审查、编辑、发送或丢弃 Claude 排队的草稿;队列包括一个选项来在对话框中写入新报告。使用参数,对于 `/bug` 总是,对话框直接打开 |

93| `/fewer-permission-prompts` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 扫描你的记录以查找常见的只读 Bash 和 MCP 工具调用,然后将优先级允许列表添加到项目 `.claude/settings.json` 以减少权限提示 |96| `/fewer-permission-prompts` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 扫描你的记录以查找常见的只读 Bash 和 MCP 工具调用,然后将优先级允许列表添加到项目 `.claude/settings.json` 以减少权限提示 |

94| `/focus` | 切换焦点视图,仅显示你的最后一个提示、一行工具调用摘要和最终响应。工具调用摘要也计算在轮中启动的子代理数量,并将完成的后台任务通知折叠为单个计数。选择在会话中持久化;在设置中设置 [`viewMode`](/docs/zh-CN/settings-reference#viewmode) 以覆盖它。仅在[全屏渲染](/docs/zh-CN/fullscreen)中可用。[VS Code 扩展](/docs/zh-CN/vs-code#use-the-prompt-box)提供其自己的焦点视图作为命令菜单切换,存储为扩展设置,独立于 `viewMode` |97| `/focus` | 切换焦点视图,仅显示你的最后一个提示、一行工具调用摘要和最终响应。工具调用摘要也计算在轮中启动的子代理数量,并将完成的后台任务通知折叠为单个计数。选择在会话中持久化;在设置中设置 [`viewMode`](/docs/zh-CN/settings-reference#viewmode) 以覆盖它。仅在[全屏渲染](/docs/zh-CN/fullscreen)中可用。从 [Remote Control](/docs/zh-CN/remote-control) 客户端,运行 `/focus [on\|off]` 以仅为当前会话打开或关闭焦点视图,而不更改你的保存选择;这需要 Claude Code v2.1.281 或更高版本。[VS Code 扩展](/docs/zh-CN/vs-code#use-the-prompt-box)提供其自己的焦点视图作为命令菜单切换,存储为扩展设置,独立于 `viewMode` |

95| `/fork [prompt]` | [将当前对话复制](/docs/zh-CN/agent-view#copy-the-session-with-%2Ffork)到新的后台会话并继续在这里工作。传递一个提示词,副本立即开始处理它;没有它,它在代理视图中等待其第一个提示词。除非副本[就地编辑](/docs/zh-CN/agent-view#how-file-edits-are-isolated),Claude Code 指示它在进行代码更改之前创建自己的 worktree;隔离指令需要 Claude Code v2.1.221 或更高版本。要将侧面任务交给一个子代理,其结果返回到这个对话,请使用 `/subtask`;要自己切换到副本,请使用 `/branch`。需要 Claude Code v2.1.212 或更高版本;在 v2.1.161 到 v2.1.211,以及每当[代理视图关闭](/docs/zh-CN/agent-view#turn-off-agent-view)时,`/fork` 启动一个[分叉子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation) |98| `/fork [prompt]` | [将当前对话复制](/docs/zh-CN/agent-view#copy-the-session-with-%2Ffork)到新的后台会话并继续在这里工作。传递一个提示词,副本立即开始处理它;没有它,它在代理视图中等待其第一个提示词。除非副本[就地编辑](/docs/zh-CN/agent-view#how-file-edits-are-isolated),Claude Code 指示它在进行代码更改之前创建自己的 worktree;隔离指令需要 Claude Code v2.1.221 或更高版本。要将侧面任务交给一个子代理,其结果返回到这个对话,请使用 `/subtask`;要自己切换到副本,请使用 `/branch`。需要 Claude Code v2.1.212 或更高版本;在 v2.1.161 到 v2.1.211,以及每当[代理视图关闭](/docs/zh-CN/agent-view#turn-off-agent-view)时,`/fork` 启动一个[分叉子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation) |

96| `/goal [condition\|clear]` | 设置一个[目标](/docs/zh-CN/goal):Claude 跨轮继续工作直到条件满足或目标[因另一个原因清除](/docs/zh-CN/goal#how-evaluation-works)。没有参数时,显示当前或最近实现的目标。`clear`、`stop`、`off`、`reset`、`none` 或 `cancel` 提前移除活跃目标 |99| `/goal [condition\|clear]` | 设置一个[目标](/docs/zh-CN/goal):Claude 跨轮继续工作直到条件满足或目标[因另一个原因清除](/docs/zh-CN/goal#how-evaluation-works)。没有参数时,显示当前或最近实现的目标。`clear`、`stop`、`off`、`reset`、`none` 或 `cancel` 提前移除活跃目标 |

97| `/heapdump` | 写入 JavaScript 堆快照和内存细目到 `~/Desktop`,或 Linux 上没有 Desktop 文件夹的主目录,用于诊断高内存使用。报告内存问题时仅附加 `-diagnostics.json` 文件;`.heapsnapshot` 包含你的完整对话和凭证,所以不要共享它。[从命令菜单隐藏](#how-the-command-menu-matches-what-you-type);完整输入它。请参阅[如何处理输出](/docs/zh-CN/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | 写入 JavaScript 堆快照和内存细目到 `~/Desktop`,或 Linux 上没有 Desktop 文件夹的主目录,用于诊断高内存使用。报告内存问题时仅附加 `-diagnostics.json` 文件;`.heapsnapshot` 包含你的完整对话和凭证,所以不要共享它。[从命令菜单隐藏](#how-the-command-menu-matches-what-you-type);完整输入它。请参阅[如何处理输出](/docs/zh-CN/troubleshooting#high-cpu-or-memory-usage) |

costs.md +2 −0

Details

96 96 

97运行 [`/insights`](/docs/zh-CN/commands#all-commands) 以获取关于您如何工作而不是您使用了多少令牌的报告。它分析此机器上的最近会话,并编写一份 HTML 报告,涵盖您处理的内容、摩擦点(例如误解的请求或有缺陷的代码)以及有关更有效地使用 Claude Code 的建议。单次运行分析最多 200 个它之前未见过的会话,并跳过非常短的会话。当会话被遗漏时,报告标题显示分析的计数,括号中显示总数,例如 `200 sessions (412 total)`。97运行 [`/insights`](/docs/zh-CN/commands#all-commands) 以获取关于您如何工作而不是您使用了多少令牌的报告。它分析此机器上的最近会话,并编写一份 HTML 报告,涵盖您处理的内容、摩擦点(例如误解的请求或有缺陷的代码)以及有关更有效地使用 Claude Code 的建议。单次运行分析最多 200 个它之前未见过的会话,并跳过非常短的会话。当会话被遗漏时,报告标题显示分析的计数,括号中显示总数,例如 `200 sessions (412 total)`。

98 98 

99当[自动模式](/docs/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)对会话可用且您最近的会话大多在没有它的情况下运行时,报告还可以包括自动模式在这些会话中可以处理多少权限提示的估计。

100 

99Claude Code 将最新报告写入 `~/.claude/usage-data/report.html`,并在同一目录中保存每次运行的时间戳副本,因此早期报告不会被覆盖。Claude Code 按与其余会话数据相同的计划删除报告:在启动时,它删除早于 [`cleanupPeriodDays`](/docs/zh-CN/claude-directory#cleaned-up-automatically) 的文件,默认为 30 天。101Claude Code 将最新报告写入 `~/.claude/usage-data/report.html`,并在同一目录中保存每次运行的时间戳副本,因此早期报告不会被覆盖。Claude Code 按与其余会话数据相同的计划删除报告:在启动时,它删除早于 [`cleanupPeriodDays`](/docs/zh-CN/claude-directory#cleaned-up-automatically) 的文件,默认为 30 天。

100 102 

101您可以在任何计划和任何提供商上运行 `/insights`。分析通过与您的常规会话相同的提供商和账户运行,令牌计入您的计划或 API 使用情况。不包括来自其他设备和 claude.ai 的会话。103您可以在任何计划和任何提供商上运行 `/insights`。分析通过与您的常规会话相同的提供商和账户运行,令牌计入您的计划或 API 使用情况。不包括来自其他设备和 claude.ai 的会话。

desktop.md +6 −0

Details

834* **Remote Control**:为你的组织启用或禁用[远程控制](/docs/zh-CN/remote-control)834* **Remote Control**:为你的组织启用或禁用[远程控制](/docs/zh-CN/remote-control)

835* **禁用绕过权限模式**:防止你的组织中的用户启用绕过权限模式835* **禁用绕过权限模式**:防止你的组织中的用户启用绕过权限模式

836 836 

837<Note>

838 Cowork 下的 OpenTelemetry 表单位于管理员控制台的[数据和隐私设置](https://claude.ai/admin-settings/data-privacy-controls)中的**监控**下,仅适用于 Cowork 会话。在此机器上的 Cowork 会话中,桌面应用将该收集器作为 `OTEL_*` 环境变量传递给 Claude Code,因此该表单生效,尽管该会话中的 Claude Code [从不获取管理员控制台设置](#managed-settings)。

839 

840 要从 Code 选项卡会话导出遥测,请在 Claude Code 托管设置的 `env` 块中设置 `CLAUDE_CODE_ENABLE_TELEMETRY` 和 `OTEL_*` 变量,如[监控的管理员配置](/docs/zh-CN/monitoring-usage#administrator-configuration)中所示。本地、云和 SSH 会话各自从不同来源读取[托管设置](#managed-settings)。有关云会话可以到达的主机,请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)。有关 Code 选项卡会话报告的 `service.name`,请参阅[服务信息](/docs/zh-CN/monitoring-usage#service-information)。

841</Note>

842 

837<h3 id="managed-settings">843<h3 id="managed-settings">

838 托管设置844 托管设置

839</h3>845</h3>

env-vars.md +1 −1

Details

110 110 

111某些行为同时具有环境变量和专用设置键,Claude Code 读取哪一个的顺序因键而异。对于 `ANTHROPIC_MODEL` 和 `CLAUDE_CODE_AUTO_CONNECT_IDE`,Claude Code 首先读取变量,仅当变量未设置时才使用 `model` 或 `autoConnectIde` 设置。对于您正在设置的对,请检查下面变量的行和 [设置参考](/docs/zh-CN/settings-reference) 上的键条目。111某些行为同时具有环境变量和专用设置键,Claude Code 读取哪一个的顺序因键而异。对于 `ANTHROPIC_MODEL` 和 `CLAUDE_CODE_AUTO_CONNECT_IDE`,Claude Code 首先读取变量,仅当变量未设置时才使用 `model` 或 `autoConnectIde` 设置。对于您正在设置的对,请检查下面变量的行和 [设置参考](/docs/zh-CN/settings-reference) 上的键条目。

112 112 

113当同一变量在您的 shell 和设置文件 `env` 块中都设置时,设置文件值适用。Claude Code 将每个 `env` 条目写入进程环境,替换从 shell 继承的值。[`env` 设置](/docs/zh-CN/settings-reference#when-claude-code-applies-env-values) 说明何时应用它们。少数变量是特殊情况;[`env` 设置](/docs/zh-CN/settings-reference#env) 列出了例外。113当同一变量在您的 shell 和设置文件 `env` 块中都设置时,在大多数会话中设置文件值适用。Claude Code 将每个 `env` 条目写入进程环境,替换从 shell 继承的值。[`env` 值如何与您的 shell 交互](/docs/zh-CN/settings-reference#how-env-values-interact-with-your-shell) 涵盖保留继承值的会话,以及 [`env` 设置](/docs/zh-CN/settings-reference#when-claude-code-applies-env-values) 说明何时应用它们。少数变量是特殊情况;[`env` 设置](/docs/zh-CN/settings-reference#env) 列出了例外。

114 114 

115在设置文件中,您可以设置变量,但不能删除变量。要覆盖无法取消设置的变量,例如由您无法控制的 shell 配置文件导出的过时 `CLAUDE_CODE_USE_VERTEX`,请在 `env` 块中将其设置为空字符串:`"CLAUDE_CODE_USE_VERTEX": ""`。Claude Code 将空值视为未设置以进行提供程序选择。子进程仍然继承空值。115在设置文件中,您可以设置变量,但不能删除变量。要覆盖无法取消设置的变量,例如由您无法控制的 shell 配置文件导出的过时 `CLAUDE_CODE_USE_VERTEX`,请在 `env` 块中将其设置为空字符串:`"CLAUDE_CODE_USE_VERTEX": ""`。Claude Code 将空值视为未设置以进行提供程序选择。子进程仍然继承空值。

116 116 

errors.md +42 −10

Details

152| `There's an issue with the selected model` | [请求错误](#theres-an-issue-with-the-selected-model) |152| `There's an issue with the selected model` | [请求错误](#theres-an-issue-with-the-selected-model) |

153| `Model ... is not a recognized model id` | [请求错误](#model-is-not-a-recognized-model-id) |153| `Model ... is not a recognized model id` | [请求错误](#model-is-not-a-recognized-model-id) |

154| `Model ... not found` | [请求错误](#model-not-found) |154| `Model ... not found` | [请求错误](#model-not-found) |

155| `Couldn't confirm model ... with the API` | [请求错误](#couldnt-confirm-model-with-the-api) |

155| `API error: ... · model not changed` | [请求错误](#api-error-model-not-changed) |156| `API error: ... · model not changed` | [请求错误](#api-error-model-not-changed) |

156| `Claude Opus is not available with the Claude Pro plan` | [请求错误](#claude-opus-is-not-available-with-the-claude-pro-plan) |157| `Claude Opus is not available with the Claude Pro plan` | [请求错误](#claude-opus-is-not-available-with-the-claude-pro-plan) |

157| `Claude Code ... does not support this model; version ... or newer is required` | [请求错误](#claude-code-does-not-support-this-model) |158| `Claude Code ... does not support this model; version ... or newer is required` | [请求错误](#claude-code-does-not-support-this-model) |


252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin 错误](#plugin-is-required-by-your-organization) |253| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin 错误](#plugin-is-required-by-your-organization) |

253| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin 错误](#plugin-was-not-uninstalled) |254| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin 错误](#plugin-was-not-uninstalled) |

254| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin 错误](#plugin-was-not-uninstalled) |255| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin 错误](#plugin-was-not-uninstalled) |

256| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Plugin 故障排除](/docs/zh-CN/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

255| `would be spawned with zero tools — refusing` | [工具错误](#agent-would-be-spawned-with-zero-tools) |257| `would be spawned with zero tools — refusing` | [工具错误](#agent-would-be-spawned-with-zero-tools) |

256| `File is covered by a Read deny rule in your permission settings` | [工具错误](#file-is-covered-by-a-read-deny-rule) |258| `File is covered by a Read deny rule in your permission settings` | [工具错误](#file-is-covered-by-a-read-deny-rule) |

257| `cannot contain null bytes (\0)` | [工具错误](#path-cannot-contain-null-bytes) |259| `cannot contain null bytes (\0)` | [工具错误](#path-cannot-contain-null-bytes) |


2346 模型不是公认的模型 ID2348 模型不是公认的模型 ID

2347</h3>2349</h3>

2348 2350 

2349您传递给模型切换的模型字符串不是模型别名、此 Claude Code 版本知道的模型 ID,也不是以 `claude-` 开头的 ID。常见原因是 ID 中的拼写错误、显示名称(如 `Sonnet 5`,其中需要 ID `claude-sonnet-5`)或仅较新 Claude Code 版本识别的别名。Claude Code 立即拒绝切换。在 v2.1.200 之前,Claude Code 保存字符串并在下一个请求时失败,显示[所选模型存在问题](#theres-an-issue-with-the-selected-model)。2351您传递给模型切换的字符串不是 Claude Code 可以用作模型的字符串,因此它拒绝了切换而不发送请求,会话保持其当前模型。您可以在通过 [Agent SDK](/docs/zh-CN/agent-sdk/typescript) `setModel()` 方法设置模型时获得此错误,通过运行 Claude Code CLI 的应用程序(如 [Desktop app](/docs/zh-CN/desktop)),或当您从通过 [Remote Control](/docs/zh-CN/remote-control) 连接的设备选择模型时。在 v2.1.200 之前,Claude Code 保存字符串并在下一个请求时失败,显示[所选模型存在问题](#theres-an-issue-with-the-selected-model)。

2350 2352 

2351```text theme={null}2353```text theme={null}

2352Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2354Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2353```2355```

2354 2356 

2355尾部提示命名最接近的匹配别名或模型 ID。当没有足够接近的内容时,它读取 `Run /model to see available models.`。在 [Desktop app](/docs/zh-CN/desktop) 启动的会话中,无匹配提示读取 `Switch to a different model.`2357在此示例中,应用程序发送了显示名称 `Sonnet 5`,消息重复时不带其空格。尾部提示命名最接近的匹配别名或模型 ID。当没有足够接近的内容时,它读取 `Run /model to see available models.`。在 [Desktop app](/docs/zh-CN/desktop) 启动的会话中,无匹配提示读取 `Switch to a different model.`

2356 2358 

2357Claude Code 在请求切换时在本地生成此错误,在发送任何 API 请求之前。它适用于通过 [Agent SDK](/docs/zh-CN/agent-sdk/typescript) `setModel()` 方法设置模型的情况,通过运行 Claude Code CLI 的应用程序(如 [Desktop app](/docs/zh-CN/desktop)),或当您从通过 [Remote Control](/docs/zh-CN/remote-control) 连接的设备选择模型时。在 v2.1.260 之前,检查不涵盖 Remote Control 选择,因此 Claude Code 应用了选择,下一个请求失败,显示[所选模型存在问题](#theres-an-issue-with-the-selected-model)。2359当您通过 Agent SDK 或在 Anthropic API 上的应用程序切换时,只有无法成为模型 ID 的字符串(如显示名称或空字符串)会获得此错误。

2360 

2361当您从 Remote Control 设备选择模型时,Claude Code 在本地检查字符串。任何不是模型别名、Claude Code 列出或您配置的模型,或以 `claude-` 开头的 ID 的字符串都会获得此错误,包括拼写错误的 ID(如 `claud-sonnet-5`)。在 v2.1.260 之前,此检查不涵盖 Remote Control 选择,因此无法识别的字符串被应用,下一个请求失败。

2358 2362 

2359**要做什么:**2363**要做什么:**

2360 2364 

2361* 运行 `/model` 不带参数以打开选择器并从您帐户可用的模型中选择,然后传递那里显示的别名或 ID2365* 运行 `/model` 不带参数以打开选择器并从您帐户可用的模型中选择,然后传递那里显示的别名或 ID

2362* 如果您使用了较新 Claude Code 版本支持的别名,运行 `claude update`。以 `claude-` 开头的完整 ID 通过此本地检查,即使模型比您的 Claude Code 版本更新。服务器仍然可能需要该模型的最低版本;请参阅 [Claude Code 不支持此模型](#claude-code-does-not-support-this-model)。2366* 如果您使用了较新 Claude Code 版本支持的别名,运行 `claude update`,或传递模型的完整 ID。服务器仍然可能需要该模型的最低 Claude Code 版本;请参阅 [Claude Code 不支持此模型](#claude-code-does-not-support-this-model)。

2363* v2.1.200 之前保存的模型不会被此检查修复。如果过时的值不断返回,请从[设置您的模型](/docs/zh-CN/model-config#setting-your-model)下列出的位置删除它。2367* v2.1.200 之前保存的模型不会被此检查修复。如果过时的值不断返回,请从[设置您的模型](/docs/zh-CN/model-config#setting-your-model)下列出的位置删除它。

2364* 检查仅在 Anthropic API 上运行。在任何其他提供商或网关上,包括自定义 `ANTHROPIC_BASE_URL`,提供商定义模型名称,因此 Claude Code 接受任何字符串并将其传递。Claude Code 仍然可以在请求时写入[无法识别的模型诊断行](#unrecognized-model-id-on-a-request),在每个提供商上。2368* 在 Anthropic API 以外的任何提供商上,或在网关或自定义 `ANTHROPIC_BASE_URL` 后面,只有空字符串会获得此错误。Claude Code 仍然可以在请求时写入[无法识别的模型诊断行](#unrecognized-model-id-on-a-request),在每个提供商上。

2365 2369 

2366<h3 id="model-not-found">2370<h3 id="model-not-found">

2367 模型未找到2371 模型未找到

2368</h3>2372</h3>

2369 2373 

2370您使用 `/model <name>` 选择了模型,Claude Code 无法确认存在具有该名称的模型。当名称不是 [model alias](/docs/zh-CN/model-config#model-aliases) 或 Claude Code 在本地接受的另一种拼写时,`/model` 使用最小 API 请求验证它,此错误通常是您的 API 端点的答案。无法成为模型 ID 的名称(如包含空格的名称)会获得相同的消息。2374您使用名称切换到模型,Claude Code 无法确认存在具有该名称的模型。当名称不是 [model alias](/docs/zh-CN/model-config#model-aliases) 或 Claude Code 在本地接受的另一种拼写时,Claude Code 使用最小 API 请求验证它,此错误通常是您的 API 端点的答案。使用 `/model <name>` 时,无法成为模型 ID 的名称(如包含空格的名称)会获得相同的消息。

2371 2375 

2372```text theme={null}2376```text theme={null}

2373Model 'claude-opus-9' not found2377Model 'claude-opus-9' not found


2379 2383 

2380* 运行 `/model` 不带参数并从您帐户可用的模型中选择,或使用 [model alias](/docs/zh-CN/model-config#model-aliases)(如 `sonnet`),它解析为维护的默认值2384* 运行 `/model` 不带参数并从您帐户可用的模型中选择,或使用 [model alias](/docs/zh-CN/model-config#model-aliases)(如 `sonnet`),它解析为维护的默认值

2381* 如果您输入了完整 ID,请根据您提供商的模型目录检查它。新推出的模型可能在 Anthropic API 上可用,但您的提供商或地区尚未提供。2385* 如果您输入了完整 ID,请根据您提供商的模型目录检查它。新推出的模型可能在 Anthropic API 上可用,但您的提供商或地区尚未提供。

2386* 在 Agent SDK 中,`setModel()` 失败,显示此消息,会话继续在其前一个模型上运行。在 TypeScript SDK 中,调用 [`supportedModels()`](/docs/zh-CN/agent-sdk/typescript#query-object) 以列出您可以切换到的模型。

2382* 在 v2.1.265 之前,`/model` 也以此错误拒绝了 `opusplan[1m]` 别名拼写。在这些版本上,更新 Claude Code,或在[设置](/docs/zh-CN/model-config#setting-your-model)中或使用 `--model` 设置模型。2387* 在 v2.1.265 之前,`/model` 也以此错误拒绝了 `opusplan[1m]` 别名拼写。在这些版本上,更新 Claude Code,或在[设置](/docs/zh-CN/model-config#setting-your-model)中或使用 `--model` 设置模型。

2383 2388 

2389<h3 id="couldnt-confirm-model-with-the-api">

2390 无法通过 API 确认模型

2391</h3>

2392 

2393您通过 [Agent SDK](/docs/zh-CN/agent-sdk/typescript) `setModel()` 方法或运行 Claude Code CLI 的应用程序(如 [Desktop app](/docs/zh-CN/desktop))切换了模型,确认模型 ID 与您的 API 端点的请求在五秒内没有得到答复。会话保持其当前模型。

2394 

2395```text theme={null}

2396Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.

2397```

2398 

2399在 [Desktop app](/docs/zh-CN/desktop) 启动的会话中,消息在 `Try again.` 处结束。

2400 

2401**要做什么:**

2402 

2403* 再次切换到模型

2404* 如果切换继续失败,检查 Claude Code 是否可以到达您的 API 端点;请参阅[网络和连接错误](#network-and-connection-errors)

2405 

2384<h3 id="api-error-model-not-changed">2406<h3 id="api-error-model-not-changed">

2385 检查选择的模型时出现 API 错误2407 检查选择的模型时出现 API 错误

2386</h3>2408</h3>


2432API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.2454API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.

2433```2455```

2434 2456 

2457发出请求的 Claude Code 二进制文件报告的版本是 API 检查的版本。

2458 

2435**要做什么:**2459**要做什么:**

2436 2460 

2437* 运行 `claude update`,或更新 Claude 桌面应用,然后启动新会话2461更新该二进制文件,然后启动新会话。二进制文件的来源决定了如何,除了在[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#pin-the-version)中:

2438* 对于按模型措辞,您可以通过使用 `/model` 切换到另一个模型来继续在当前会话中工作2462 

2463| 发出请求的二进制文件 | 如何更新它 |

2464| :- | :- |

2465| 您安装的 Claude Code | 运行 `claude update` |

2466| Claude desktop app | 更新应用 |

2467| [VS Code extension](/docs/zh-CN/vs-code) 捆绑的二进制文件 | 更新扩展 |

2468| Agent SDK 包捆绑的二进制文件 | [升级 SDK 包](/docs/zh-CN/agent-sdk/hosting#runtime-dependencies),然后重启您的应用程序。在[编译的单文件可执行文件](/docs/zh-CN/agent-sdk/typescript#compile-to-a-single-executable)中,重建它 |

2469 

2470* 对于按模型措辞,您可以通过切换到另一个模型来继续在当前会话中工作:在 CLI 中运行 `/model`,在流式输入模式下的 TypeScript SDK 的 `Query` 对象上调用 [`setModel()`](/docs/zh-CN/agent-sdk/typescript#query-object),或在 Python SDK 的 `ClaudeSDKClient` 上调用 [`set_model()`](/docs/zh-CN/agent-sdk/python#claudesdkclient)

2439* 对于组织政策措辞,在继续之前更新2471* 对于组织政策措辞,在继续之前更新

2440 2472 

2441<h3 id="model-is-restricted-by-your-organizations-settings">2473<h3 id="model-is-restricted-by-your-organizations-settings">


3890 Plugin 未被卸载3922 Plugin 未被卸载

3891</h3>3923</h3>

3892 3924 

3893您运行了 [`claude plugin uninstall`](/docs/zh-CN/plugins/cli-reference#plugin-uninstall),或在 `/plugin` **Installed** 选项卡中选择了 **Uninstall**,卸载停止,消息开头为 `"<plugin>" was not uninstalled:`。3925您运行了 [`claude plugin uninstall`](/docs/zh-CN/plugins/cli-reference#plugin-uninstall),或在 `/plugin` **Installed** 选项卡中选择了 **Uninstall**,卸载停止,消息开头为 `"<plugin>" was not uninstalled:`。如果冒号后的文本以 `installed_plugins.json` 开头而不是命名设置文件,原因是 `installed_plugins.json` 中的内容此版本的 Claude Code 无法读取。对于该形式,请参阅 [`installed_plugins.json` 保存此版本无法读取的记录](/docs/zh-CN/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read)。

3894 3926 

3895当 Claude Code 从 `enabledPlugins` 中删除 plugin 的条目并读回该范围的设置文件时,要么 plugin 仍在那里被打开,要么可以打开它的文件无法读取或检查。在设置条目可以将其重新打开时删除 plugin 的保存选项、机密和数据会丢失它们,因此卸载停止:plugin 保持安装,它保存的任何内容都不会被删除。3927当 Claude Code 从 `enabledPlugins` 中删除 plugin 的条目并读回该范围的设置文件时,要么 plugin 仍在那里被打开,要么可以打开它的文件无法读取或检查。在设置条目可以将其重新打开时删除 plugin 的保存选项、机密和数据会丢失它们,因此卸载停止:plugin 保持安装,它保存的任何内容都不会被删除。

3896 3928 

fast-mode.md +2 −0

Details

72 72 

73在会话中输入 `/fast on` 以打开快速模式。它仅对该会话保持打开,不会保存为您的默认值。[要求](#requirements)也适用于云会话。73在会话中输入 `/fast on` 以打开快速模式。它仅对该会话保持打开,不会保存为您的默认值。[要求](#requirements)也适用于云会话。

74 74 

75在浏览器中访问 [claude.ai/code](https://claude.ai/code),您也可以从消息框上的模型菜单打开和关闭快速模式。当您的计划包含快速模式且所选模型支持它时,菜单会显示该开关。

76 

75<h2 id="understand-the-cost-tradeoff">77<h2 id="understand-the-cost-tradeoff">

76 了解成本权衡78 了解成本权衡

77</h2>79</h2>

Details

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

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

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

315| [Artifacts](/docs/zh-CN/artifacts) | ✓ | ✓ | ✓ | Admin-enabled |315| [Artifacts](/docs/zh-CN/artifacts) | ✓ | ✓ | ✓ | ✓ |

316| [分析仪表板和贡献指标](/docs/zh-CN/analytics) | ✗ | ✗ | ✓ | ✓ |316| [分析仪表板和贡献指标](/docs/zh-CN/analytics) | ✗ | ✗ | ✓ | ✓ |

317| [Enterprise Analytics API](/docs/zh-CN/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |317| [Enterprise Analytics API](/docs/zh-CN/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |

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

Details

43 43 

44Claude Code 然后推送一个包含您选择的工作流文件的分支,已设置为使用该密钥,并在您的浏览器中打开 GitHub,准备创建拉取请求。创建并合并该拉取请求,`@claude` 就可以在仓库中工作。44Claude Code 然后推送一个包含您选择的工作流文件的分支,已设置为使用该密钥,并在您的浏览器中打开 GitHub,准备创建拉取请求。创建并合并该拉取请求,`@claude` 就可以在仓库中工作。

45 45 

46要停止设置过程中途,请按 Esc。已在进行的步骤会完成,之后的步骤不会开始。关闭消息列出了仓库中已发生的事情,例如推送的分支或保存的密钥。

47 

46如果您选择审查工作流,Claude 会在拉取请求本身上发布每个审查,作为它发现的每个问题的内联评论或在它没有发现任何问题时作为一个摘要评论。Claude 会跳过一些拉取请求,例如草稿。[审查工作流示例](#run-a-skill)使用相同的 skill 并列出它们。在 v2.1.229 之前,Claude 仅将其审查写入工作流运行日志。48如果您选择审查工作流,Claude 会在拉取请求本身上发布每个审查,作为它发现的每个问题的内联评论或在它没有发现任何问题时作为一个摘要评论。Claude 会跳过一些拉取请求,例如草稿。[审查工作流示例](#run-a-skill)使用相同的 skill 并列出它们。在 v2.1.229 之前,Claude 仅将其审查写入工作流运行日志。

47 49 

48要更新早期版本生成的审查工作流,请执行以下操作之一:50要更新早期版本生成的审查工作流,请执行以下操作之一:

Details

65 GitHub App 权限65 GitHub App 权限

66</h3>66</h3>

67 67 

68清单使用以下权限和 webhook 事件配置 GitHub App,这些权限和事件共同涵盖网络会话、代码审查、Claude Security、插件市场和贡献指标:68清单使用以下权限和 webhook 事件配置 GitHub App,这些权限和事件共同涵盖云会话、代码审查、Claude Security、插件市场和贡献指标:

69 69 

70| 权限 | 访问 | 用途 |70| 权限 | 访问 | 用途 |

71| :- | :- | :- |71| :- | :- | :- |


95 网络要求95 网络要求

96</h3>96</h3>

97 97 

98对于 Anthropic 托管的会话,您的 GHES 实例必须可从 Anthropic 基础设施访问,以便 Claude 可以克隆存储库和发布审查评论。如果您的 GHES 实例在防火墙后面,请将 Anthropic 的 [出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) 加入白名单。[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#configure-git) 中的会话从您的网络内部克隆,除非运行器选择加入 [Anthropic git 代理](/docs/zh-CN/self-hosted-environments-deploy#use-the-anthropic-git-proxy),该代理从 Anthropic 一侧获取并需要相同的可达性;[SCM 连接器](/docs/zh-CN/self-hosted-environments-reference#scm-connector-flags) 涵盖托管的会话前流程,例如存储库选择器,用于仅在内部可路由的 GHES 主机。98对于 Anthropic 托管的会话,您的 GHES 实例必须可从 Anthropic 基础设施访问,以便 Claude 可以克隆存储库和发布审查评论。如果您的 GHES 实例在防火墙后面,请将 Anthropic 的 [出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) 加入白名单。[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#configure-git) 中的会话从您的网络内部克隆,除非运行器选择加入 [Anthropic git 代理](/docs/zh-CN/self-hosted-environments-deploy#use-the-anthropic-git-proxy),该代理从 Anthropic 一侧获取并需要相同的可达性。托管的会话前流程(例如存储库选择器)在会话启动前在 Anthropic 一侧运行。即使会话在自托管环境中运行,它们也需要您的 GHES 实例可从 Anthropic 基础设施访问。[SCM 连接器](/docs/zh-CN/self-hosted-environments-reference#scm-connector-flags) 不可用,因此这些流程无法访问仅在内部可路由的 GHES 主机。

99 99 

100<h2 id="developer-workflow">100<h2 id="developer-workflow">

101 开发人员工作流101 开发人员工作流


246 GHES 实例无法访问246 GHES 实例无法访问

247</h3>247</h3>

248 248 

249如果审查或 Anthropic 托管的云会话超时,您的 GHES 实例可能无法从 Anthropic 基础设施访问。确认您的防火墙允许来自 Anthropic 的 [出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) 的入站连接。[自托管环境](/docs/zh-CN/self-hosted-environments) 中的会话从您的网络内部访问 GHES,因此对于它们,请检查运行器自己的网络路径和 [SCM 连接器](/docs/zh-CN/self-hosted-environments-reference#scm-connector-flags) 代替。249如果审查或 Anthropic 托管的云会话超时,您的 GHES 实例可能无法从 Anthropic 基础设施访问。确认您的防火墙允许来自 Anthropic 的 [出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) 的入站连接。[自托管环境](/docs/zh-CN/self-hosted-environments) 中的会话从您的网络内部访问 GHES,因此当其中一个无法克隆时,请改为检查运行器自己的网络路径。对于存储库选择器和其他托管的会话前流程,请参阅 [网络要求](#network-requirements)。

250 250 

251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

252 会话启动失败,显示 `Unable to get organization UUID`252 会话启动失败,显示 `Unable to get organization UUID`

glossary.md +1 −1

Details

56 Artifact56 Artifact

57</h3>57</h3>

58 58 

59Claude Code 从您的会话发布到 claude.ai 上私有 URL 的实时交互式网页,因此您可以直观地查看输出或共享它,而不是阅读终端文本。当会话重新发布时,页面会就地更新。您从 Claude Code 创建的 Artifacts 出现在与 claude.ai 对话中创建的 artifacts 相同的库中。共享取决于您的计划:在 Pro 和 Max 上,任何人都可以打开的公开链接;在 Team 和 Enterprise 上,在您的组织内共享,以及一旦所有者启用它们就可以公开链接。59Claude Code 从您的会话发布到 claude.ai 上私有 URL 的实时交互式网页,因此您可以直观地查看输出或共享它,而不是阅读终端文本。当会话重新发布时,页面会就地更新。您从 Claude Code 创建的 Artifacts 出现在与 claude.ai 对话中创建的 artifacts 相同的库中。共享选项取决于您的计划:请参阅[共享 artifact](/docs/zh-CN/artifacts#share-an-artifact)。

60 60 

61了解更多:[将会话输出共享为 artifacts](/docs/zh-CN/artifacts)61了解更多:[将会话输出共享为 artifacts](/docs/zh-CN/artifacts)

62 62 

Details

315 315 

316Claude 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。316Claude 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。

317 317 

318[设置向导](#sign-in-with-agent-platform)在固定模型时提供 1M context 选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。有关详细信息,请参阅[为第三方部署固定模型](/docs/zh-CN/model-config#pin-models-for-third-party-deployments)。318[设置向导](#sign-in-with-agent-platform)在固定模型时提供 1M context 选项。要为手动固定的模型启用它,请在模型 ID 后附加 `[1m]`。有关详细信息,请参阅[为第三方部署固定模型](/docs/zh-CN/model-config#pin-models-for-third-party-deployments),包括如何在不更改固定的情况下使用 1M 窗口。

319 319 

320<h2 id="troubleshooting">320<h2 id="troubleshooting">

321 故障排除321 故障排除

hooks.md +3 −3

Details

274 274 

275来自设置文件、托管策略设置和插件的 Hooks 也在 [subagents](/docs/zh-CN/sub-agents) 内运行。当子代理调用工具时,工具事件(如 `PreToolUse` 和 `PostToolUse`)触发与主对话中相同的配置 hooks,输入包含标识子代理的 `agent_id` 和 `agent_type` [通用输入字段](#common-input-fields)。275来自设置文件、托管策略设置和插件的 Hooks 也在 [subagents](/docs/zh-CN/sub-agents) 内运行。当子代理调用工具时,工具事件(如 `PreToolUse` 和 `PostToolUse`)触发与主对话中相同的配置 hooks,输入包含标识子代理的 `agent_id` 和 `agent_type` [通用输入字段](#common-input-fields)。

276 276 

277企业管理员可以使用 `allowManagedHooksOnly` 来限制哪些 hooks 运行:277管理员可以使用 [`allowManagedHooksOnly`](/docs/zh-CN/settings-reference#allowmanagedhooksonly) 在 [托管设置](/docs/zh-CN/managed-settings) 中限制哪些 hooks 运行:

278 278 

279* 用户、项目、本地和插件 hooks 被阻止。托管设置 `enabledPlugins` 中强制启用的插件中的 Hooks 除外279* 用户、项目、本地和插件 hooks 被阻止。托管设置 `enabledPlugins` 中强制启用的插件中的 Hooks 除外

280* Claude Code 还将 [`statusLine`](/docs/zh-CN/statusline)、[`fileSuggestion`](/docs/zh-CN/settings-reference#filesuggestion) 和 [`subagentStatusLine`](/docs/zh-CN/statusline#subagent-status-lines) 设置限制为托管设置280* Claude Code 还将 [`statusLine`](/docs/zh-CN/statusline)、[`fileSuggestion`](/docs/zh-CN/settings-reference#filesuggestion) 和 [`subagentStatusLine`](/docs/zh-CN/statusline#subagent-status-lines) 设置限制为托管设置


1187| `resume` | `--resume`、`--continue` 或 `/resume` |1187| `resume` | `--resume`、`--continue` 或 `/resume` |

1188| `clear` | `/clear` |1188| `clear` | `/clear` |

1189| `compact` | 自动或手动压缩 |1189| `compact` | 自动或手动压缩 |

1190| `fork` | 从现有会话分叉的新会话:`--fork-session` 与 `--resume` 或 `--continue`、`/fork` 后台副本或 `/branch` |1190| `fork` | 从现有会话分叉的新会话:`--fork-session` 与 `--resume` 或 `--continue`、`/fork` 后台副本、`/branch` 或您 [移到后台](/docs/zh-CN/agent-view#from-inside-a-session) 的对话 |

1191 1191 

1192在 v2.1.214 之前,分叉的会话报告源为 `"resume"`。1192在 v2.1.214 之前,分叉的会话报告源为 `"resume"`。

1193 1193 


2431| `elicitation_url_dialog` | MCP 服务器要求您打开浏览器 URL,您约六秒没有输入 |2431| `elicitation_url_dialog` | MCP 服务器要求您打开浏览器 URL,您约六秒没有输入 |

2432| `elicitation_complete` | MCP 服务器报告 [URL 模式引出](#elicitation-input) 完成 |2432| `elicitation_complete` | MCP 服务器报告 [URL 模式引出](#elicitation-input) 完成 |

2433| `elicitation_response` | MCP 引出响应被发送回服务器 |2433| `elicitation_response` | MCP 引出响应被发送回服务器 |

2434| `agent_needs_input` | 后台会话在 [agent view](/docs/zh-CN/agent-view) 在终端中打开时开始等待您的输入,或当前会话要求您一个 [agent team 队友的终端设置问题](/docs/zh-CN/agent-teams#choose-a-display-mode),您约六秒没有输入 |2434| `agent_needs_input` | 后台会话在 [agent view](/docs/zh-CN/agent-view) 在终端中打开时开始等待您的输入,或当前会话要求您一个 [agent team 队友的终端设置问题](/docs/zh-CN/agent-teams#choose-a-display-mode) 或自动模式的 [分类器请求费用](/docs/zh-CN/auto-mode-classifier-billing) 通知,您约六秒没有输入 |

2435| `agent_completed` | 后台会话完成或失败。仅在 [agent view](/docs/zh-CN/agent-view) 在终端中打开时触发 |2435| `agent_completed` | 后台会话完成或失败。仅在 [agent view](/docs/zh-CN/agent-view) 在终端中打开时触发 |

2436| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暂停它后继续您的任务:在重置时,或更早当您在 Claude Code 中做的某事(如添加使用信用、升级您的计划或切换模型)在等待期间使使用可用时,带有 [模型设置异常](/docs/zh-CN/interactive-mode#wait-for-a-usage-limit-to-reset) |2436| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暂停它后继续您的任务:在重置时,或更早当您在 Claude Code 中做的某事(如添加使用信用、升级您的计划或切换模型)在等待期间使使用可用时,带有 [模型设置异常](/docs/zh-CN/interactive-mode#wait-for-a-usage-limit-to-reset) |

2437| `quota_auto_resume_stale` | claude.ai 使用限制在您的计算机睡眠超过约 30 分钟时重置。Claude Code 等待您按 `Enter` 而不是继续。在更短的睡眠后它继续并改为触发 `quota_auto_resume_fired` |2437| `quota_auto_resume_stale` | claude.ai 使用限制在您的计算机睡眠超过约 30 分钟时重置。Claude Code 等待您按 `Enter` 而不是继续。在更短的睡眠后它继续并改为触发 `quota_auto_resume_fired` |

hooks-guide.md +1 −1

Details

196| `elicitation_url_dialog` | MCP 服务器要求你打开浏览器 URL,且你约六秒内没有输入 |196| `elicitation_url_dialog` | MCP 服务器要求你打开浏览器 URL,且你约六秒内没有输入 |

197| `elicitation_complete` | MCP 服务器报告[URL 模式引导](/docs/zh-CN/hooks#elicitation-input)已完成 |197| `elicitation_complete` | MCP 服务器报告[URL 模式引导](/docs/zh-CN/hooks#elicitation-input)已完成 |

198| `elicitation_response` | MCP 引导响应被发送回服务器 |198| `elicitation_response` | MCP 引导响应被发送回服务器 |

199| `agent_needs_input` | 后台会话开始等待你的输入,同时 [agent view](/docs/zh-CN/agent-view) 打开,或当前会话询问你一个[代理团队队友的终端设置问题](/docs/zh-CN/agent-teams#choose-a-display-mode),且你约六秒内没有输入 |199| `agent_needs_input` | 后台会话开始等待你的输入,同时 [agent view](/docs/zh-CN/agent-view) 打开。也在终端会话显示你一个[代理团队队友的终端设置问题](/docs/zh-CN/agent-teams#choose-a-display-mode)或自动模式的[分类器请求费用](/docs/zh-CN/auto-mode-classifier-billing)通知时触发,且你约六秒内没有输入 |

200| `agent_completed` | 后台会话完成或失败。仅在 [agent view](/docs/zh-CN/agent-view) 打开时触发 |200| `agent_completed` | 后台会话完成或失败。仅在 [agent view](/docs/zh-CN/agent-view) 打开时触发 |

201| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暂停后继续你的任务:在重置时,或更早当你在等待期间在 Claude Code 中做的某些事情(如添加使用额度、升级你的计划或切换模型)使使用量再次可用时,但有[模型设置例外](/docs/zh-CN/interactive-mode#wait-for-a-usage-limit-to-reset) |201| `quota_auto_resume_fired` | Claude Code 在 claude.ai 使用限制暂停后继续你的任务:在重置时,或更早当你在等待期间在 Claude Code 中做的某些事情(如添加使用额度、升级你的计划或切换模型)使使用量再次可用时,但有[模型设置例外](/docs/zh-CN/interactive-mode#wait-for-a-usage-limit-to-reset) |

202| `quota_auto_resume_stale` | claude.ai 使用限制在你的计算机睡眠超过约 30 分钟时重置。Claude Code 等待你按 `Enter` 而不是继续。在较短的睡眠后它继续并改为触发 `quota_auto_resume_fired` |202| `quota_auto_resume_stale` | claude.ai 使用限制在你的计算机睡眠超过约 30 分钟时重置。Claude Code 等待你按 `Enter` 而不是继续。在较短的睡眠后它继续并改为触发 `quota_auto_resume_fired` |

keybindings.md +5 −2

Details

301| `footer:down` | Down | 在页脚中向下导航 |301| `footer:down` | Down | 在页脚中向下导航 |

302| `footer:openSelected` | Enter | 打开选定的页脚项 |302| `footer:openSelected` | Enter | 打开选定的页脚项 |

303| `footer:clearSelection` | Escape | 清除页脚选择 |303| `footer:clearSelection` | Escape | 清除页脚选择 |

304| `footer:dismiss` | (未绑定) | 在 v2.1.281 中移除。仍然命名该操作的 `keybindings.json` 保持有效,绑定不执行任何操作。在 v2.1.281 之前,Backspace 和 Delete 从页脚中关闭选定的 artifact 链接 |304| `footer:dismiss` | (未绑定) | 绑定键到此操作没有效果,命名它的 `keybindings.json` 保持有效。在 v2.1.281 之前,Backspace 和 Delete 被绑定到它,并从页脚中关闭选定的 artifact 链接。 |

305 305 

306选定页脚项时(例如提示下方的代理面板中的一行),即使您在 `Chat` 上下文中将 `Enter` 重新绑定到 `chat:queueSubmit` 或 `chat:newline`,`Enter` 也会打开它。306选定页脚项时(例如提示下方的代理面板中的一行),即使您在 `Chat` 上下文中将 `Enter` 重新绑定到 `chat:queueSubmit` 或 `chat:newline`,`Enter` 也会打开它。

307 307 


417| `select:accept` | Enter | 接受选择 |417| `select:accept` | Enter | 接受选择 |

418| `select:cancel` | Escape | 取消选择 |418| `select:cancel` | Escape | 取消选择 |

419 419 

420在列表面板中,例如 `/skills` 和 `/mcp`,Claude Code 应用您的 `select:pageUp`、`select:pageDown`、`select:first` 和 `select:last` 绑定。在大多数其他列表中,例如 `/model` 选择器,您的 `select:first` 和 `select:last` 绑定适用。PageUp 和 PageDown 在这些列表中进行分页,无论您的绑定如何。420在列表面板中,例如 `/skills`、`/mcp` 和 `/tasks`,Claude Code 应用您的 `select:pageUp`、`select:pageDown`、`select:first` 和 `select:last` 绑定。在大多数其他列表中,例如 `/model` 选择器,您的 `select:first` 和 `select:last` 绑定适用。PageUp 和 PageDown 在这些列表中进行分页,无论您的绑定如何。

421 421 

422在 v2.1.280 之前,这些其他列表忽略 Home、End 和您的 `select:first` 和 `select:last` 绑定。422在 v2.1.280 之前,这些其他列表忽略 Home、End 和您的 `select:first` 和 `select:last` 绑定。

423 423 

424在 v2.1.283 之前,`/mcp` 工具列表使用固定的 PageUp 和 PageDown 键进行分页,无论您的绑定如何。

425 

424<h3 id="plugin-actions">426<h3 id="plugin-actions">

425 Plugin 操作427 Plugin 操作

426</h3>428</h3>


692Claude Code 验证您的快捷键并向调试日志写入以下警告:694Claude Code 验证您的快捷键并向调试日志写入以下警告:

693 695 

694* 解析错误(无效的 JSON 或结构)696* 解析错误(无效的 JSON 或结构)

697* 拼写错误的修饰符,例如 `ctl+k`。Claude Code 会删除它无法识别的部分,并将绑定应用于剩余的按键,在此示例中为 `k`。

695* 无效的上下文名称698* 无效的上下文名称

696* 无效的操作值,例如不是字符串或 `null` 的操作699* 无效的操作值,例如不是字符串或 `null` 的操作

697* 未知的操作名称,例如注册操作的拼写错误。Claude Code 跳过该绑定并保持该键的任何默认绑定有效。在 v2.1.246 之前,具有未知操作名称的绑定会静默禁用该键700* 未知的操作名称,例如注册操作的拼写错误。Claude Code 跳过该绑定并保持该键的任何默认绑定有效。在 v2.1.246 之前,具有未知操作名称的绑定会静默禁用该键

Details

79 79 

80当客户端使用 Amazon Bedrock 格式时,原样中继 `InvokeModelWithResponseStream` 响应体及其 `Content-Type: application/vnd.amazon.eventstream` 头,不要将流转换为服务器发送事件。请参阅[网关或代理后面的流式传输错误](/docs/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。80当客户端使用 Amazon Bedrock 格式时,原样中继 `InvokeModelWithResponseStream` 响应体及其 `Content-Type: application/vnd.amazon.eventstream` 头,不要将流转换为服务器发送事件。请参阅[网关或代理后面的流式传输错误](/docs/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。

81 81 

82也转发保活 ping。在通过 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 的连接上,Claude Code 计算网关中继的每个字节,包括 SSE `ping` 事件和注释行,并默认在 300 秒内中止无声流。上游的 ping 是长思考暂停期间的唯一流量,因此如果您的网关剥离或缓冲它们,Claude Code 会在这些暂停期间中止流;[自动重试](/docs/zh-CN/errors#automatic-retries)涵盖了根据响应进度如何报告中止的流。完全不发送 ping 的上游(如 Amazon Bedrock 的二进制事件流)在这些暂停中没有任何东西可转发。从这样的上游转换时,在无声间隙期间发出您自己的 `ping` 事件。通过 `ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_FOUNDRY_BASE_URL` 到达的网关不受此字节级监视程序的包装,即使它们中继 Anthropic Messages 格式;在那里,[5 分钟空闲超时](/docs/zh-CN/env-vars)会中止无声流,在 `ANTHROPIC_BEDROCK_BASE_URL` 连接上,您可以使用 [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/zh-CN/env-vars) 添加字节监视程序。82也转发保活 ping,因为 Claude Code 在 [默认五分钟](/docs/zh-CN/network-config#streaming-idle-watchdogs) 内没有字节到达时会中止流式响应。在长思考暂停期间,上游的 SSE `ping` 事件可能是流上唯一的字节。如果您的网关剥离或缓冲它们,Claude Code 会在暂停期间中止响应。当您从完全不发送 ping 的上游(如 Amazon Bedrock 的二进制事件流)进行转换时,在无声间隙期间发出您自己的 `ping` 事件。

83 83 

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

85 与上游的格式不匹配85 与上游的格式不匹配

managed-mcp.md +40 −23

Details

31 31 

32| 模式 | 功能 | 配置 |32| 模式 | 功能 | 配置 |

33| :- | :- | :- |33| :- | :- | :- |

34| **禁用 MCP** | 不加载任何服务器,除了[启动会话的应用程序注册的进程内服务器](#exclusive-control-with-managed-mcp-json)和任何你[通过 `managedMcpServers` 提供的服务器](#provide-servers-through-managed-settings) | 使用空服务器映射的 `managed-mcp.json` |34| **禁用 MCP** | 不加载任何服务器,除了[在独占控制下加载](#exclusive-control-with-managed-mcp-json)的少数几个 | 使用空服务器映射的 `managed-mcp.json` |

35| **固定部署** | 每个用户获得相同的服务器,无法添加其他服务器 | 包含你想要的服务器的 `managed-mcp.json` |35| **固定部署** | 每个用户获得相同的服务器,无法添加其他服务器 | 包含你想要的服务器的 `managed-mcp.json` |

36| **提供的服务器** | 每个用户获得你列出的远程服务器,并保留他们自己的服务器 | 托管设置中的 `managedMcpServers` |36| **提供的服务器** | 每个用户获得你列出的远程服务器,并保留他们自己的服务器 | 托管设置中的 `managedMcpServers` |

37| **批准的目录** | 发布批准的服务器列表;用户添加他们想要的服务器,其他任何内容都被阻止 | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |37| **批准的目录** | 发布批准的服务器列表;用户添加他们想要的服务器,其他任何内容都被阻止 | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |


48 使用 managed-mcp.json 进行独占控制48 使用 managed-mcp.json 进行独占控制

49</h2>49</h2>

50 50 

51当你部署 `managed-mcp.json` 文件时,Claude Code 仅加载以下 MCP 服务器:51当你部署 `managed-mcp.json` 文件时,Claude Code 仅加载这些 MCP 服务器:

52 52 

53* 该文件定义的服务器53* 该文件定义的服务器

54* 你[通过 `managedMcpServers` 提供的服务器](#provide-servers-through-managed-settings)54* 你[通过 `managedMcpServers` 提供的服务器](#provide-servers-through-managed-settings)

55* 启动会话的应用注册的进程内服务器,例如 VS Code 扩展自己的服务器或[桌面应用提供的连接器](/docs/zh-CN/mcp#how-connectors-reach-claude-code)55* 启动会话的应用程序注册的进程内服务器,例如 VS Code 扩展自己的服务器或[桌面应用程序提供的连接器](/docs/zh-CN/mcp#how-connectors-reach-claude-code)

56* 内置的[Chrome 中的 Claude](/docs/zh-CN/chrome) 服务器,如果你[允许它与托管集合一起使用](#allow-claude-in-chrome-alongside-the-managed-set)

56 57 

57用户无法添加、修改或使用任何其他 MCP 服务器,包括插件提供的服务器和通过 [`--mcp-config` CLI 标志](/docs/zh-CN/cli-reference#cli-flags)传递的服务器。该文件还会抑制 Claude Code 自身获取的 claude.ai 连接器,除非你[允许它们与托管集合一起使用](#allow-claude-ai-connectors-alongside-the-managed-set)。58用户无法添加、修改或使用任何其他 MCP 服务器,包括插件提供的服务器和通过 [`--mcp-config` CLI 标志](/docs/zh-CN/cli-reference#cli-flags)传递的服务器。该文件还会禁止 Claude Code 自身获取的 claude.ai 连接器,除非你[允许它们与托管集合一起使用](#allow-claude-ai-connectors-alongside-the-managed-set)。

58 59 

59<h3 id="deploy-managed-mcp-json">60<h3 id="deploy-managed-mcp-json">

60 部署 managed-mcp.json61 部署 managed-mcp.json


62 63 

63`managed-mcp.json` 是一个独立文件,因此无法通过[服务器管理的设置](/docs/zh-CN/server-managed-settings)交付。要通过托管设置交付服务器而不进行独占控制,请使用 [`managedMcpServers`](#provide-servers-through-managed-settings)。64`managed-mcp.json` 是一个独立文件,因此无法通过[服务器管理的设置](/docs/zh-CN/server-managed-settings)交付。要通过托管设置交付服务器而不进行独占控制,请使用 [`managedMcpServers`](#provide-servers-through-managed-settings)。

64 65 

65任何可以以管理员权限写入系统路径的进程都可以部署该文件。在整个机队中,这通常通过设备管理工具进行,例如 macOS 上的 Jamf 或配置文件、Windows 上的组策略或 Intune,或 Linux 上你选择的机队管理工具。Claude Code 在以下路径之一查找该文件:66任何可以以管理员权限写入系统路径的进程都可以部署该文件。在整个机队中,这通常通过设备管理工具完成,例如 macOS 上的 Jamf 或配置文件、Windows 上的组策略或 Intune,或 Linux 上你选择的机队管理工具。Claude Code 在以下路径之一查找该文件:

66 67 

67| 平台 | 路径 |68| 平台 | 路径 |

68| :- | :- |69| :- | :- |


99 使用按用户凭证进行身份验证100 使用按用户凭证进行身份验证

100</h3>101</h3>

101 102 

102机器上的任何用户都可以读取此文件,因此不要在 `env` 块中存储 API 密钥或其他凭证。改用以下方式之一传递按用户凭证:103机器上的任何用户都可以读取此文件,因此不要在 `env` 块中存储 API 密钥或其他凭证。改为使用以下方式之一传递按用户凭证:

103 104 

104* [使用 `${VAR}` 扩展](/docs/zh-CN/mcp#environment-variable-expansion-in-mcp-json)从每个用户的环境中读取机密。105* [`${VAR}` 扩展](/docs/zh-CN/mcp#environment-variable-expansion-in-mcp-json)从每个用户的环境中读取机密。

105* [OAuth 或按用户标头](/docs/zh-CN/mcp#authenticate-with-remote-mcp-servers),以便每个用户以自己的身份进行身份验证。106* [OAuth 或按用户标头](/docs/zh-CN/mcp#authenticate-with-remote-mcp-servers)使每个用户以自己的身份进行身份验证。

106* [`headersHelper`](/docs/zh-CN/mcp#use-dynamic-headers-for-custom-authentication)在连接时生成凭证。107* [`headersHelper`](/docs/zh-CN/mcp#use-dynamic-headers-for-custom-authentication)在连接时生成凭证。

107 108 

108<h3 id="servers-passed-with-mcp-config-or-strict-mcp-config">109<h3 id="servers-passed-with-mcp-config-or-strict-mcp-config">

109 通过 `--mcp-config` 或 `--strict-mcp-config` 传递的服务器110 通过 `--mcp-config` 或 `--strict-mcp-config` 传递的服务器

110</h3>111</h3>

111 112 

112当会话在部署 `managed-mcp.json` 时通过 `--mcp-config` 接收服务器时,用户看到的内容在工作站和云会话之间有所不同:113当会话通过 `--mcp-config` 接收服务器,同时部署了 Claude Code 可以读取和解析的 `managed-mcp.json` 时,用户看到的内容在工作站和云会话之间有所不同:

113 114 

114* 在工作站上,Claude Code 在启动时退出,显示 `You cannot dynamically configure MCP servers when an enterprise MCP config is present`。115* 在工作站上,Claude Code 在启动时退出,显示 `You cannot dynamically configure MCP servers when an enterprise MCP config is present`。

115* 在部署了该文件的主机上的[云会话](/docs/zh-CN/claude-code-on-the-web)中,例如[自托管运行器](/docs/zh-CN/self-hosted-environments-configuration#mcp-servers),Claude Code 仅使用托管服务器启动,并跳过 claude.ai 连接器和云主机通过 `--mcp-config` 交付的其他服务器。会话中没有任何内容告诉用户哪些服务器被遗漏了。Claude Code 在其 stderr 上的警告中命名它们,自托管运行器在 `debug` 日志级别记录这些警告。116* 在[云会话](/docs/zh-CN/claude-code-on-the-web)中,在部署了该文件的主机上,例如[自托管运行器](/docs/zh-CN/self-hosted-environments-configuration#mcp-servers),Claude Code 仅使用托管服务器启动,并跳过 claude.ai 连接器和云主机通过 `--mcp-config` 交付的其他服务器。会话中没有任何内容告诉用户哪些服务器被遗漏了。Claude Code 在其 stderr 上以警告的形式命名它们,自托管运行器在 `debug` 日志级别记录这些警告。

116 117 

117`--strict-mcp-config` 标志要求替换托管集合。如果用户在部署了这样的文件时传递它,Claude Code 在工作站和云会话中都会在启动时退出。118`--strict-mcp-config` 标志要求替换托管集合。如果用户在部署了这样的文件时传递它,Claude Code 在工作站和云会话中都会在启动时退出。

118 119 


125* `deniedMcpServers` 也适用于托管服务器,因此与条目匹配的托管服务器将不会加载。126* `deniedMcpServers` 也适用于托管服务器,因此与条目匹配的托管服务器将不会加载。

126* 用户自己的 `deniedMcpServers` 从他们的设置中合并,因此用户可以为自己阻止托管服务器。127* 用户自己的 `deniedMcpServers` 从他们的设置中合并,因此用户可以为自己阻止托管服务器。

127 128 

128`allowedMcpServers` 不适用于 `managed-mcp.json` 中的服务器,有一个例外:Claude Code 仍然会检查其定义使用 [`${VAR}` 扩展](/docs/zh-CN/mcp#environment-variable-expansion-in-mcp-json)的服务器是否符合允许列表,因为该服务器的有效配置来自每个用户的环境而不是仅来自文件。在 v2.1.259 之前,每个托管服务器在设置了允许列表时都必须通过允许列表。有关哪些字段触发 `${VAR}` 检查和完整检查顺序,请参阅[如何评估服务器](#how-a-server-is-evaluated)。129`allowedMcpServers` 不适用于 `managed-mcp.json` 中的服务器,有一个例外:Claude Code 仍然会针对允许列表检查其定义使用 [`${VAR}` 扩展](/docs/zh-CN/mcp#environment-variable-expansion-in-mcp-json)的服务器,因为该服务器的有效配置来自每个用户的环境而不仅仅来自文件。在 v2.1.259 之前,每个托管服务器在设置了允许列表时都必须通过允许列表。有关哪些字段触发 `${VAR}` 检查和完整检查顺序,请参阅[如何评估服务器](#how-a-server-is-evaluated)。

129 130 

130如果你使用 `allowedMcpServers` 来防止你自己的某些 `managed-mcp.json` 服务器加载,那些服务器将在每个用户首次启动 v2.1.259 或更高版本时开始加载,除非它们使用 `${VAR}` 扩展,没有提示或通知:只有 `deniedMcpServers` 仍然从这些服务器中减去。在用户升级之前,为它们添加拒绝列表条目,或为每个组部署单独的 `managed-mcp.json`。131如果你使用 `allowedMcpServers` 来防止你自己的某些 `managed-mcp.json` 服务器加载,那些服务器将在每个用户首次启动 v2.1.259 或更高版本时开始加载,除非它们使用 `${VAR}` 扩展,没有提示或通知:只有 `deniedMcpServers` 仍然从这些服务器中减去。在用户升级之前,为它们添加拒绝列表条目,或为每个组部署单独的 `managed-mcp.json`。

131 132 


135 136 

136要确认文件生效,请在托管机器上运行两项检查:137要确认文件生效,请在托管机器上运行两项检查:

137 138 

1381. `claude mcp list` 仅显示 `managed-mcp.json` 中的服务器,加上你通过 `managedMcpServers` 提供的任何服务器。两个其他结果意味着出现了问题:1391. `claude mcp list` 仅显示 `managed-mcp.json` 中的服务器,加上你通过 `managedMcpServers` 提供的任何服务器。另外两个结果意味着出现了问题:

139 * 如果用户自己的服务器仍然出现,Claude Code 未读取该文件,因此请检查其路径和父目录的权限。140 * 如果用户自己的服务器仍然出现,Claude Code 没有读取该文件,因此请检查其路径和父目录的权限。

140 * 如果文件的服务器未出现,且 `MCP config diagnostics` 部分将企业配置标记为无法解析,Claude Code 无法读取或解析该文件。修复该部分命名的错误,然后让用户重新启动 Claude Code。141 * 如果文件的服务器没有出现,且 `MCP config diagnostics` 部分将企业配置标记为解析失败,Claude Code 无法读取或解析该文件。修复该部分命名的错误,然后让用户重新启动 Claude Code。

1412. `claude mcp add --transport http test https://example.com/mcp` 失败,显示 `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`。URL 不需要是真实服务器,因为策略检查在联系任何内容之前拒绝该命令。1422. `claude mcp add --transport http test https://example.com/mcp` 失败,显示 `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`。URL 不需要是真实服务器,因为策略检查在联系任何内容之前拒绝该命令。

142 143 

143<h3 id="disable-mcp-entirely">144<h3 id="disable-mcp-entirely">

144 完全禁用 MCP145 完全禁用 MCP

145</h3>146</h3>

146 147 

147部署包含空服务器映射的 `managed-mcp.json` 以阻止除[启动会话的应用注册的进程内服务器](#exclusive-control-with-managed-mcp-json)之外的每个 MCP 服务器:148部署包含空服务器映射的 `managed-mcp.json` 以阻止除[在独占控制下加载](#exclusive-control-with-managed-mcp-json)的服务器之外的每个 MCP 服务器:

148 149 

149```json theme={null}150```json theme={null}

150{151{


152}153}

153```154```

154 155 

155`claude mcp add` 失败,显示上面的企业策略错误。用户之前配置的服务器在下次启动会话时停止加载,没有警告说明策略是原因。你通过 `managedMcpServers` 提供的服务器仍在空映射下加载,因此也保持该密钥未设置以完全禁用 MCP。156`claude mcp add` 失败,显示上述企业策略错误。用户之前配置的服务器在下次启动会话时停止加载,没有警告说明策略是原因。你通过 `managedMcpServers` 提供的服务器以及你允许与托管集合一起使用的任何其他内容仍然在空映射下加载,因此保持这些键未设置以完全关闭 MCP。

156 157 

157<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">158<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">

158 允许 claude.ai 连接器与托管集合一起使用159 允许 claude.ai 连接器与托管集合一起使用

159</h3>160</h3>

160 161 

161默认情况下,部署 `managed-mcp.json` 会抑制 Claude Code 自身获取的 [claude.ai 连接器](/docs/zh-CN/mcp#use-mcp-servers-from-claude-ai),包括管理员在 claude.ai 管理控制台中为组织配置的连接器。要将这些连接器与 `managed-mcp.json` 中的服务器一起加载,请在[托管设置源](/docs/zh-CN/admin-setup#decide-how-settings-reach-devices)中设置 `"allowAllClaudeAiMcps": true`。162默认情况下,部署 `managed-mcp.json` 会禁止 Claude Code 自身获取的 [claude.ai 连接器](/docs/zh-CN/mcp#use-mcp-servers-from-claude-ai),包括管理员在 claude.ai 管理控制台中为组织配置的连接器。要将这些连接器与 `managed-mcp.json` 中的服务器一起加载,请在[托管设置源](/docs/zh-CN/admin-setup#decide-how-settings-reach-devices)中设置 `"allowAllClaudeAiMcps": true`。

162 163 

163启用该设置后,Claude Code 加载与未部署 `managed-mcp.json` 时相同的 claude.ai 连接器。[允许列表和拒绝列表](#policy-based-control-with-allowlists-and-denylists)仍然适用于这些连接器,因此你可以使用 `deniedMcpServers` 阻止特定连接器。该设置仅影响 Claude Code 自身获取的 claude.ai 连接器;插件提供的服务器保持被抑制。164启用该设置后,Claude Code 加载与未部署 `managed-mcp.json` 时相同的 claude.ai 连接器。[允许列表和拒绝列表](#policy-based-control-with-allowlists-and-denylists)仍然适用于这些连接器,因此你可以使用 `deniedMcpServers` 阻止特定的连接器。该设置仅影响 Claude Code 自身获取的 claude.ai 连接器;插件提供的服务器保持禁止。

164 165 

165云会话和桌面应用的本地和 SSH 会话以另一种方式接收连接器,如[连接器如何到达 Claude Code](/docs/zh-CN/mcp#how-connectors-reach-claude-code) 中所述。运行云会话的主机上的 `managed-mcp.json`,例如[自托管运行器主机](/docs/zh-CN/self-hosted-environments-configuration#mcp-servers),无论你是否设置 `allowAllClaudeAiMcps`,都会抑制该会话的连接器。没有 `managed-mcp.json` 到达桌面应用交付给其本地和 SSH 会话的连接器。166云会话和桌面应用程序的本地和 SSH 会话以另一种方式接收连接器,如[连接器如何到达 Claude Code](/docs/zh-CN/mcp#how-connectors-reach-claude-code) 中所述。运行云会话的主机上的 `managed-mcp.json`,例如[自托管运行器主机](/docs/zh-CN/self-hosted-environments-configuration#mcp-servers),无论你是否设置 `allowAllClaudeAiMcps`,都会禁止该会话的连接器。没有 `managed-mcp.json` 到达桌面应用程序交付给其本地和 SSH 会话的连接器。

166 167 

167Claude Code 仅从管理员控制的策略层读取 `allowAllClaudeAiMcps`:服务器管理的设置、MDM 部署的 plist 或 HKLM 注册表密钥,或系统 `managed-settings.json` 文件。将其放在用户或项目设置中无效,因此用户无法重新启用独占控制抑制的连接器。168Claude Code 仅从管理员控制的策略层读取 `allowAllClaudeAiMcps`:服务器管理的设置、MDM 部署的 plist 或 HKLM 注册表项,或系统 `managed-settings.json` 文件。将其放在用户或项目设置中无效,因此用户无法重新启用独占控制禁止的连接器。

169 

170<h3 id="allow-claude-in-chrome-alongside-the-managed-set">

171 允许 Chrome 中的 Claude 与托管集合一起使用

172</h3>

173 

174默认情况下,当你部署 `managed-mcp.json` 时,Claude Code 在终端会话中阻止内置的[Chrome 中的 Claude](/docs/zh-CN/chrome) 服务器。用户不会获得[扩展安装提示](/docs/zh-CN/chrome#install-the-extension-when-claude-asks),以及用户[默认启用 Chrome](/docs/zh-CN/chrome#enable-chrome-by-default) 的会话启动时不使用 Chrome 且不打印警告。当可以运行 Chrome 中的 Claude 的用户使用 `claude --chrome` 或 `CLAUDE_CODE_ENABLE_CFC=1` 启动它时,Claude Code 在启动时退出,显示命名 `allowClaudeInChromeWithManagedMcp` 设置的错误。

175 

176要让用户在 `managed-mcp.json` 中的服务器旁边运行 Chrome 中的 Claude,请在设备自己的托管设置中设置 `"allowClaudeInChromeWithManagedMcp": true`。将其放在 MDM 部署的 plist 或 HKLM 注册表项中,或系统 `managed-settings.json` 文件中,无论 Claude Code 在该设备上[选择](/docs/zh-CN/managed-settings#precedence-within-the-managed-tier)哪个。需要 Claude Code v2.1.282 或更高版本。在 v2.1.282 之前,Claude Code 忽略该设置,启动错误读取 `You cannot dynamically configure MCP servers when an enterprise MCP config is present`。

177 

178Claude Code 从这些设备源读取该设置,即使[服务器管理的设置](/docs/zh-CN/server-managed-settings)交付你的其余策略。它忽略服务器管理的设置本身、用户可写的 HKCU 注册表和用户或项目设置中的该设置。[`deniedMcpServers`](#policy-based-control-with-allowlists-and-denylists) 条目中的 `claude-in-chrome` 仍然会阻止该服务器,即使该设置已启用。

168 179 

169<h2 id="provide-servers-through-managed-settings">180<h2 id="provide-servers-through-managed-settings">

170 通过托管设置提供服务器181 通过托管设置提供服务器


303 314 

304| 设置 | 未设置(默认) | 空数组 `[]` | 已填充 |315| 设置 | 未设置(默认) | 空数组 `[]` | 已填充 |

305| :- | :- | :- | :- |316| :- | :- | :- | :- |

306| `allowedMcpServers` | 允许所有服务器 | 不允许任何服务器,除了[组织自己的](#how-a-server-is-evaluated) | 仅允许匹配的服务器,除了[组织自己的](#how-a-server-is-evaluated) |317| `allowedMcpServers` | 允许所有服务器 | 不允许任何服务器,除了[那些跳过允许列表检查的](#how-a-server-is-evaluated) | 仅允许匹配的服务器,除了[那些跳过允许列表检查的](#how-a-server-is-evaluated) |

307| `deniedMcpServers` | 不阻止任何服务器 | 不阻止任何服务器 | 阻止匹配的服务器 |318| `deniedMcpServers` | 不阻止任何服务器 | 不阻止任何服务器 | 阻止匹配的服务器 |

308 319 

309有关条目未通过架构验证时会发生什么,请参阅[托管设置中的无效条目](/docs/zh-CN/managed-settings#invalid-entries-in-managed-settings)。320有关条目未通过架构验证时会发生什么,请参阅[托管设置中的无效条目](/docs/zh-CN/managed-settings#invalid-entries-in-managed-settings)。


3292. **检查拒绝列表。** 与任何拒绝列表条目匹配的服务器(按 URL、命令或名称)被阻止。没有任何东西可以覆盖拒绝列表匹配。3402. **检查拒绝列表。** 与任何拒绝列表条目匹配的服务器(按 URL、命令或名称)被阻止。没有任何东西可以覆盖拒绝列表匹配。

3303. **检查允许列表。** 如果 `allowedMcpServers` 未在任何地方设置,每个通过拒绝列表的服务器都会加载。如果已设置,服务器必须匹配的内容取决于其类型,如下表所示。3413. **检查允许列表。** 如果 `allowedMcpServers` 未在任何地方设置,每个通过拒绝列表的服务器都会加载。如果已设置,服务器必须匹配的内容取决于其类型,如下表所示。

331 342 

332 组织自己的服务器跳过此检查:每个 `managedMcpServers` 条目,以及任何 `managed-mcp.json` 条目,其值不使用 `${VAR}` 展开。内置服务器也跳过它,例如 Chrome 中的 Claude、Claude Code 在运行的 VS Code 或 JetBrains IDE 中连接的 `ide` 服务器,以及 CLI 本身配置的服务器。343 三组服务器跳过此检查:

344 

345 * 组织自己的服务器:每个 `managedMcpServers` 条目,以及任何 `managed-mcp.json` 条目,其值不使用 `${VAR}` 展开。

346 * 内置服务器,例如 Chrome 中的 Claude、Claude Code 在运行的 VS Code 或 JetBrains IDE 中连接的 `ide` 服务器,以及 CLI 本身配置的服务器。

347 * [Claude Tag](/docs/zh-CN/claude-tag) 会话的 Slack 工具:它用来读取线程和发布回复的服务器无需允许列表条目即可加载。

333 348 

334 使用 `${VAR}` 展开的 `managed-mcp.json` 服务器在其命令、参数、`env`、URL 或标头中仍会被检查,用户、插件、`--mcp-config` 或 claude.ai 添加的每个服务器也是如此。349 使用 `${VAR}` 展开的 `managed-mcp.json` 服务器在其命令、参数、`env`、URL 或标头中仍会被检查。用户、插件或 claude.ai 添加的每个服务器也是如此,以及用户通过 `--mcp-config` 传递的每个服务器。

335 350 

336| 服务器类型 | 匹配时允许 |351| 服务器类型 | 匹配时允许 |

337| :- | :- |352| :- | :- |


514| 限制 | 用户看到的内容 |529| 限制 | 用户看到的内容 |

515| :- | :- |530| :- | :- |

516| `managed-mcp.json` 存在且用户运行 `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |531| `managed-mcp.json` 存在且用户运行 `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

532| `managed-mcp.json` 存在且可以在 Chrome 中运行 Claude 的用户运行 `claude --chrome` | Claude Code 在启动时退出,显示 `Claude in Chrome is blocked by your organization's managed MCP configuration (managed-mcp.json). An administrator can allow it with allowClaudeInChromeWithManagedMcp in device policy.` |

517| 服务器在拒绝列表上且用户运行 `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |533| 服务器在拒绝列表上且用户运行 `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| 服务器不在允许列表上且用户运行 `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |534| 服务器不在允许列表上且用户运行 `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

519| 用户在来自 `managedMcpServers` 的服务器上运行 `claude mcp remove` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |535| 用户在来自 `managedMcpServers` 的服务器上运行 `claude mcp remove` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |


541| `allowedMcpServers` | 允许的服务器允许列表 | 任何[设置范围](/docs/zh-CN/settings#where-settings-live);[服务器如何被评估](#how-a-server-is-evaluated)说明来自多个范围和托管源的列表如何组合 | 为了强制执行,一个[托管设置源](/docs/zh-CN/admin-setup#decide-how-settings-reach-devices):服务器管理的设置、`managed-settings.json`、MDM 配置文件或注册表 |557| `allowedMcpServers` | 允许的服务器允许列表 | 任何[设置范围](/docs/zh-CN/settings#where-settings-live);[服务器如何被评估](#how-a-server-is-evaluated)说明来自多个范围和托管源的列表如何组合 | 为了强制执行,一个[托管设置源](/docs/zh-CN/admin-setup#decide-how-settings-reach-devices):服务器管理的设置、`managed-settings.json`、MDM 配置文件或注册表 |

542| `deniedMcpServers` | 被阻止的服务器拒绝列表 | 任何设置范围;[服务器如何被评估](#how-a-server-is-evaluated)说明来自多个范围和托管源的列表如何组合 | 与 `allowedMcpServers` 相同 |558| `deniedMcpServers` | 被阻止的服务器拒绝列表 | 任何设置范围;[服务器如何被评估](#how-a-server-is-evaluated)说明来自多个范围和托管源的列表如何组合 | 与 `allowedMcpServers` 相同 |

543| `allowManagedMcpServersOnly` | 将允许列表锁定为仅托管源 | 仅托管设置源;[从每个管理源读取的密钥](/docs/zh-CN/managed-settings#keys-read-from-every-admin-source)说明哪些托管源可以打开它。该设置在其他范围中无效 | 与 `allowedMcpServers` 相同 |559| `allowManagedMcpServersOnly` | 将允许列表锁定为仅托管源 | 仅托管设置源;[从每个管理源读取的密钥](/docs/zh-CN/managed-settings#keys-read-from-every-admin-source)说明哪些托管源可以打开它。该设置在其他范围中无效 | 与 `allowedMcpServers` 相同 |

560| `allowClaudeInChromeWithManagedMcp` | 让内置的 Chrome 中的 Claude 服务器与 `managed-mcp.json` 一起运行 | 设备上的托管设置:MDM 配置文件、HKLM 注册表或 `managed-settings.json`。服务器管理的设置和用户可写源无效 | MDM、GPO、舰队管理或任何具有管理员权限的进程 |

544| `allowAllClaudeAiMcps` | 加载 claude.ai 连接器,Claude Code 自身与 `managed-mcp.json` 一起获取。[在运行云会话的主机上的 `managed-mcp.json` 仍然会抑制该会话的连接器](#allow-claude-ai-connectors-alongside-the-managed-set) | 仅托管设置源;该设置在其他地方无效 | 与 `allowedMcpServers` 相同 |561| `allowAllClaudeAiMcps` | 加载 claude.ai 连接器,Claude Code 自身与 `managed-mcp.json` 一起获取。[在运行云会话的主机上的 `managed-mcp.json` 仍然会抑制该会话的连接器](#allow-claude-ai-connectors-alongside-the-managed-set) | 仅托管设置源;该设置在其他地方无效 | 与 `allowedMcpServers` 相同 |

545 562 

546<h2 id="related-resources">563<h2 id="related-resources">

Details

449| [`blockedMarketplaces`](/docs/zh-CN/settings-reference#blockedmarketplaces) | 市场源的阻止列表。被阻止的源在下载前被检查,因此它们永远不会接触文件系统。请参阅[托管市场限制](/docs/zh-CN/plugins/org#restrict-what-users-can-install) |449| [`blockedMarketplaces`](/docs/zh-CN/settings-reference#blockedmarketplaces) | 市场源的阻止列表。被阻止的源在下载前被检查,因此它们永远不会接触文件系统。请参阅[托管市场限制](/docs/zh-CN/plugins/org#restrict-what-users-can-install) |

450| [`channelsEnabled`](/docs/zh-CN/settings-reference#channelsenabled) | 允许组织的[通道](/docs/zh-CN/channels)。请参阅[企业控制](/docs/zh-CN/channels#enterprise-controls)以获取每个计划上的默认值 |450| [`channelsEnabled`](/docs/zh-CN/settings-reference#channelsenabled) | 允许组织的[通道](/docs/zh-CN/channels)。请参阅[企业控制](/docs/zh-CN/channels#enterprise-controls)以获取每个计划上的默认值 |

451| [`disableCommandPluginSources`](/docs/zh-CN/settings-reference#disablecommandpluginsources) | 当 `true` 时,完全阻止[`command` 插件源](/docs/zh-CN/plugins/marketplace-reference#command-plugin-source),因此市场声明的命令永远不会运行。也阻止市场[`headersHelper` 命令](/docs/zh-CN/plugins/host-marketplace#authenticate-archive-downloads),除了托管设置本身声明的市场。未设置时,遵循 `allowManagedHooksOnly`。需要 Claude Code v2.1.229 或更高版本,`headersHelper` 块需要 v2.1.238 或更高版本 |451| [`disableCommandPluginSources`](/docs/zh-CN/settings-reference#disablecommandpluginsources) | 当 `true` 时,完全阻止[`command` 插件源](/docs/zh-CN/plugins/marketplace-reference#command-plugin-source),因此市场声明的命令永远不会运行。也阻止市场[`headersHelper` 命令](/docs/zh-CN/plugins/host-marketplace#authenticate-archive-downloads),除了托管设置本身声明的市场。未设置时,遵循 `allowManagedHooksOnly`。需要 Claude Code v2.1.229 或更高版本,`headersHelper` 块需要 v2.1.238 或更高版本 |

452| [`disableSideloadFlags`](/docs/zh-CN/settings-reference#disablesideloadflags) | 在启动时拒绝 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config` 标志。在云会话中,Claude Code 删除服务器通过 `--mcp-config` 交付的 MCP 服务器,除了进程内 `type: "sdk"` 条目,并启动会话。需要 Claude Code v2.1.193 或更高版本 |452| [`disableSideloadFlags`](/docs/zh-CN/settings-reference#disablesideloadflags) | 在启动时拒绝 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config` 标志。在云会话中,Claude Code 删除服务器通过 `--mcp-config` 交付的 MCP 服务器,除了其[参考条目](/docs/zh-CN/settings-reference#disablesideloadflags)列出的异常,并启动会话。需要 Claude Code v2.1.193 或更高版本 |

453| [`forceRemoteSettingsRefresh`](/docs/zh-CN/settings-reference#forceremotesettingsrefresh) | 当 `true` 时,阻止 CLI 启动,直到远程托管设置被新鲜获取,如果获取失败则退出。请参阅[失败关闭强制执行](/docs/zh-CN/server-managed-settings#enforce-fail-closed-startup) |453| [`forceRemoteSettingsRefresh`](/docs/zh-CN/settings-reference#forceremotesettingsrefresh) | 当 `true` 时,阻止 CLI 启动,直到远程托管设置被新鲜获取,如果获取失败则退出。请参阅[失败关闭强制执行](/docs/zh-CN/server-managed-settings#enforce-fail-closed-startup) |

454| [`managedMcpServers`](/docs/zh-CN/settings-reference#managedmcpservers) | 提供给每个用户的远程 MCP 服务器,与他们自己的一起。它提供服务器而不是锁定任何东西。请参阅[通过托管设置提供服务器](/docs/zh-CN/managed-mcp#provide-servers-through-managed-settings)。需要 Claude Code v2.1.259 或更高版本 |454| [`managedMcpServers`](/docs/zh-CN/settings-reference#managedmcpservers) | 提供给每个用户的远程 MCP 服务器,与他们自己的一起。它提供服务器而不是锁定任何东西。请参阅[通过托管设置提供服务器](/docs/zh-CN/managed-mcp#provide-servers-through-managed-settings)。需要 Claude Code v2.1.259 或更高版本 |

455| [`managedSourcesBehavior`](/docs/zh-CN/settings-reference#managedsourcesbehavior) | Claude Code 是仅应用最高优先级托管源还是[组合它们中的每一个](#compose-every-managed-source) |455| [`managedSourcesBehavior`](/docs/zh-CN/settings-reference#managedsourcesbehavior) | Claude Code 是仅应用最高优先级托管源还是[组合它们中的每一个](#compose-every-managed-source) |

memory.md +6 −0

Details

115 115 

116允许相对路径和绝对路径。相对路径相对于包含导入的文件解析,而不是工作目录。导入的文件可以递归导入其他文件,最大深度为四跳。116允许相对路径和绝对路径。相对路径相对于包含导入的文件解析,而不是工作目录。导入的文件可以递归导入其他文件,最大深度为四跳。

117 117 

118要导入其路径包含空格的文件,请在每个空格前放置反斜杠。没有反斜杠,路径在第一个空格处结束,即使导入在其自己的行上。用引号包装的路径根本不导入,无论是否有反斜杠。此导入从名为 `Design Docs` 的文件夹加载文件:

119 

120```text theme={null}

121- API conventions @Design\ Docs/api-conventions.md

122```

123 

118导入解析跳过 Markdown 代码跨度和围栏代码块。要在您的 CLAUDE.md 中提及路径而不导入它,请将其包装在反引号中:编写 `` `@README` `` 保持文本字面,而 `@README` 在反引号外导入文件。124导入解析跳过 Markdown 代码跨度和围栏代码块。要在您的 CLAUDE.md 中提及路径而不导入它,请将其包装在反引号中:编写 `` `@README` `` 保持文本字面,而 `@README` 在反引号外导入文件。

119 125 

120要引入 README、package.json 和工作流指南,请在 CLAUDE.md 中的任何地方使用 `@` 语法引用它们:126要引入 README、package.json 和工作流指南,请在 CLAUDE.md 中的任何地方使用 `@` 语法引用它们:

model-config.md +10 −10

Details

65别名指向你的提供商的推荐版本,并随时间更新。要固定到特定版本,请使用完整模型名称,例如 `claude-opus-5-5`,或设置相应的环境变量,如 `ANTHROPIC_DEFAULT_OPUS_MODEL`。65别名指向你的提供商的推荐版本,并随时间更新。要固定到特定版本,请使用完整模型名称,例如 `claude-opus-5-5`,或设置相应的环境变量,如 `ANTHROPIC_DEFAULT_OPUS_MODEL`。

66 66 

67<Note>67<Note>

68 Sonnet 5.5 需要 Claude Code v2.1.284 或更高版本,Opus 5.5 需要 v2.1.280 或更高版本。运行 `claude update` 进行升级。68 Sonnet 5.5 需要 Claude Code v2.1.284 或更高版本,Opus 5.5 需要 v2.1.280 或更高版本。如果来自较旧版本的请求失败,请参阅 [Claude Code does not support this model](/docs/zh-CN/errors#claude-code-does-not-support-this-model)。运行 `claude update` 进行升级。

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


164 164 

165当 Claude Code 无法判断你的组织的[托管插件](/docs/zh-CN/settings-reference#enabledplugins)提供哪些 PreModelSwitch hooks 时,例如因为托管插件加载失败,它拒绝切换而不是应用它,并在每次新尝试时再次检查。参阅 [Model switch was blocked by a PreModelSwitch hook](/docs/zh-CN/errors#model-switch-was-blocked-by-a-premodelswitch-hook) 了解消息和恢复。165当 Claude Code 无法判断你的组织的[托管插件](/docs/zh-CN/settings-reference#enabledplugins)提供哪些 PreModelSwitch hooks 时,例如因为托管插件加载失败,它拒绝切换而不是应用它,并在每次新尝试时再次检查。参阅 [Model switch was blocked by a PreModelSwitch hook](/docs/zh-CN/errors#model-switch-was-blocked-by-a-premodelswitch-hook) 了解消息和恢复。

166 166 

167当你通过 [Agent SDK](/docs/zh-CN/agent-sdk/overview) `setModel()` 方法或从通过 [Remote Control](/docs/zh-CN/remote-control) 连接的设备切换模型,或运行 Claude Code CLI 的应用(如 [Desktop app](/docs/zh-CN/desktop))为你切换时,Claude Code 会检查该字符串是否是它识别的。此检查需要 Claude Code v2.1.200 或更高版本。检查 Remote Control 选择需要你的机器上的 Claude Code v2.1.260 或更高版本。在 Anthropic API 上,Claude Code 识别:167当你通过 [Agent SDK](/docs/zh-CN/agent-sdk/overview) `setModel()` 方法、通过 [Remote Control](/docs/zh-CN/remote-control) 连接的设备或运行 Claude Code CLI 的应用(如 [Desktop app](/docs/zh-CN/desktop))切换模型时,Claude Code 会检查该值在切换时:

168 168 

169* 一个模型别名169* **Agent SDK 或应用**:使用 Claude Code v2.1.268 或更高版本,除非 Claude Code 在本地接受模型 ID(如它对你的[自定义模型选项](#add-a-custom-model-option)所做的那样),它在会话首次切换到它时与你的提供商确认该 ID。确认在每个提供商上运行,你的提供商不提供的 ID 在切换时被拒绝,而不是在你的下一个请求时失败。

170* `/model` 选择器中的一个条目170* **Remote Control**:在 Anthropic API 上,Claude Code 在本地检查该值并不发送请求。

171* 任何以 `claude-` 开头的名称

172* 你自己配置的值,作为[自定义模型选项](#add-a-custom-model-option)或在 [`modelOverrides`](#override-model-ids-per-version) 中

173 171 

174Claude Code 拒绝无法识别的字符串,显示 `Model "<name>" is not a recognized model id.`,会话保持其当前模型,而不是保存字符串并在下一个请求时失败。参阅[错误参考](/docs/zh-CN/errors#model-is-not-a-recognized-model-id)了解恢复步骤。172参阅 [Model is not a recognized model id](/docs/zh-CN/errors#model-is-not-a-recognized-model-id) 和 [Model not found](/docs/zh-CN/errors#model-not-found) 了解消息。

175 173 

176检查仅在 Anthropic API 上运行。在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [LLM 网关](/docs/zh-CN/llm-gateway) 后面或自定义 `ANTHROPIC_BASE_URL`,你的提供商或网关定义模型名称,所以 Claude Code 不检查地通过任何字符串。检查也不涵盖 `--model` 标志、`ANTHROPIC_MODEL` 环境变量或 `model` 设置;那里的拼写错误值会在第一个请求时产生 [There's an issue with the selected model](/docs/zh-CN/errors#theres-an-issue-with-the-selected-model)。Claude Code 仍然可以在请求时在每个提供商上写入[无法识别的模型诊断行](/docs/zh-CN/errors#unrecognized-model-id-on-a-request)。174如果你使用 `--model` 标志、`ANTHROPIC_MODEL` 环境变量或 `model` 设置设置模型,Claude Code 不会提前检查它,拼写错误的值会在第一个请求时产生 [There's an issue with the selected model](/docs/zh-CN/errors#theres-an-issue-with-the-selected-model)。

177 175 

178当请求的模型有计划的停用日期或自动重新映射到较新版本时,Claude Code 显示一个警告,命名请求的模型。交互式会话将其显示为启动通知。从 v2.1.182 开始,在使用默认文本输出格式的[非交互模式](/docs/zh-CN/headless)中,相同的警告被写入 stderr。检查也涵盖在[子代理前言](/docs/zh-CN/sub-agents)中设置的 `model`。对于 `--output-format json` 和 `stream-json`,stderr 警告被抑制;从[结果消息](/docs/zh-CN/headless#get-structured-output)的 `modelUsage` 字段读取实际模型。176当请求的模型有计划的停用日期或自动重新映射到较新版本时,Claude Code 显示一个警告,命名请求的模型。交互式会话将其显示为启动通知。从 v2.1.182 开始,在使用默认文本输出格式的[非交互模式](/docs/zh-CN/headless)中,相同的警告被写入 stderr。检查也涵盖在[子代理前言](/docs/zh-CN/sub-agents)中设置的 `model`。对于 `--output-format json` 和 `stream-json`,stderr 警告被抑制;从[结果消息](/docs/zh-CN/headless#get-structured-output)的 `modelUsage` 字段读取实际模型。

179 177 


751| 设置全局默认值 | 运行 `/config` 并切换思考模式。保存为 `~/.claude/settings.json` 中的 `alwaysThinkingEnabled` |749| 设置全局默认值 | 运行 `/config` 并切换思考模式。保存为 `~/.claude/settings.json` 中的 `alwaysThinkingEnabled` |

752| 通过环境变量禁用 | 设置 [`MAX_THINKING_TOKENS=0`](/docs/zh-CN/env-vars),这在 Anthropic API 上关闭思考,除了 Opus 5.5、Sonnet 5.5 和 Fable 模型。在[第三方提供商](/docs/zh-CN/third-party-integrations)上,Claude Code 改为省略 `thinking` 参数,自适应推理模型可能仍然思考。其他值仅适用于[固定思考预算](#adaptive-reasoning-and-fixed-thinking-budgets) |750| 通过环境变量禁用 | 设置 [`MAX_THINKING_TOKENS=0`](/docs/zh-CN/env-vars),这在 Anthropic API 上关闭思考,除了 Opus 5.5、Sonnet 5.5 和 Fable 模型。在[第三方提供商](/docs/zh-CN/third-party-integrations)上,Claude Code 改为省略 `thinking` 参数,自适应推理模型可能仍然思考。其他值仅适用于[固定思考预算](#adaptive-reasoning-and-fixed-thinking-budgets) |

753 751 

754您不能在 Opus 5.5、Sonnet 5.5 或 Fable 模型上关闭思考。会话切换、`alwaysThinkingEnabled` 和 `MAX_THINKING_TOKENS=0` 在那里没有效果,模型根据努力级别按步骤决定思考多少。752您不能在 Opus 5.5、Sonnet 5.5 或 Fable 模型上关闭思考。会话切换和 `/config` 行显示 `Thinking can't be turned off` 对于这些模型,而不是提供切换,保存的 `alwaysThinkingEnabled: false` 或 `MAX_THINKING_TOKENS=0` 在那里没有效果。在这些模型上,模型根据努力级别按步骤决定思考多少。保存的设置在您切换到接受它的模型时再次应用。

755 753 

756Claude Code 默认折叠思考输出。按 `Ctrl+O` 切换详细模式并将推理视为灰色斜体文本。Anthropic API 上的交互式会话默认接收编辑的思考块,因此如果您想要完整摘要在展开时可用,在[设置](/docs/zh-CN/settings)中设置 `showThinkingSummaries: true`。您需要为所有生成的思考令牌付费,即使折叠或编辑。754Claude Code 默认折叠思考输出。按 `Ctrl+O` 切换详细模式并将推理视为灰色斜体文本。Anthropic API 上的交互式会话默认接收编辑的思考块,因此如果您想要完整摘要在展开时可用,在[设置](/docs/zh-CN/settings)中设置 `showThinkingSummaries: true`。您需要为所有生成的思考令牌付费,即使折叠或编辑。

757 755 


784 782 

7851M 上下文窗口使用标准模型定价,超过 200K 的令牌没有溢价。对于扩展上下文包含在您的订阅中的计划,使用仍由您的订阅覆盖。对于通过使用额度访问扩展上下文的计划,令牌计费到使用额度。7831M 上下文窗口使用标准模型定价,超过 200K 的令牌没有溢价。对于扩展上下文包含在您的订阅中的计划,使用仍由您的订阅覆盖。对于通过使用额度访问扩展上下文的计划,令牌计费到使用额度。

786 784 

787如果您的账户支持 1M 上下文,该选项会出现在最新版本的 Claude Code 的 `/model` 选择器中。如果您看不到它,请尝试重新启动您的会话。785如果您的账户支持 1M 上下文,该选项会出现在最新版本的 Claude Code 的 `/model` 选择器中。如果您看不到它,请尝试重新启动您的会话,在第三方提供商上检查您的部署是否使用 `ANTHROPIC_DEFAULT_*_MODEL` 变量[固定了模型](#pin-models-for-third-party-deployments)。

788 786 

789您也可以使用 `[1m]` 后缀与模型别名或完整模型名称:787您也可以使用 `[1m]` 后缀与模型别名或完整模型名称:

790 788 


956* 仅当底层模型[支持 1M 上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)时才附加 `[1m]`。954* 仅当底层模型[支持 1M 上下文](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)时才附加 `[1m]`。

957* 该后缀按变量读取,而不是按模型读取。在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上,一个变量中没有 `[1m]` 的模型 ID 使用 200K 上下文,即使另一个变量使用相同的模型和后缀。Sonnet 5 在这些提供商上始终以 1M 窗口运行,从不需要该后缀。955* 该后缀按变量读取,而不是按模型读取。在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上,一个变量中没有 `[1m]` 的模型 ID 使用 200K 上下文,即使另一个变量使用相同的模型和后缀。Sonnet 5 在这些提供商上始终以 1M 窗口运行,从不需要该后缀。

958 956 

957当您设置 `ANTHROPIC_DEFAULT_*_MODEL` 变量时,`/model` 选择器会显示该模型的一行来替代该家族的内置行,包括任何 1M 上下文行。要在不向该变量添加后缀的情况下到达 1M 窗口,您的用户运行 `/model opus[1m]`,Claude Code 会将后缀应用于该变量命名的模型。`/model sonnet[1m]` 的工作方式相同。

958 

959<Note>959<Note>

960 通过 [MDM 或托管设置文件](/docs/zh-CN/managed-settings#delivery-mechanisms) 提供的 `availableModels` 允许列表在使用第三方提供商时仍然适用;[服务器托管设置不会在那里提供](/docs/zh-CN/server-managed-settings#platform-availability)。960 通过 [MDM 或托管设置文件](/docs/zh-CN/managed-settings#delivery-mechanisms) 提供的 `availableModels` 允许列表在使用第三方提供商时仍然适用;[服务器托管设置不会在那里提供](/docs/zh-CN/server-managed-settings#platform-availability)。

961 961 

Details

64}64}

65```65```

66 66 

67在 Claude Desktop 应用中,Code 标签页会话从 [到达每种 Desktop 会话的源](/docs/zh-CN/desktop#managed-settings) 读取这些托管设置。Cowork 在管理员控制台的 [数据和隐私设置](https://claude.ai/admin-settings/data-privacy-controls) 中的 **监控** 下的 OpenTelemetry 表单仅适用于 Cowork 会话,因此终端 CLI 和 Code 标签页都不会导出到您在那里设置的收集器。

68 

67Claude Code 忽略存储库的 `.claude/settings.json` 和 `.claude/settings.local.json` 中的 [OpenTelemetry 导出器变量](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env),因此存储库无法使用它们来打开遥测、选择其去向或捕获内容。在托管设置中设置它们,或让每个开发者在其 shell 或 `~/.claude/settings.json` 中设置它们。存储库仍然可以通过将其导出器选择器(如 `OTEL_LOGS_EXPORTER`)设置为 `none` 来关闭信号,除非托管设置、`--settings` 文件或启动 Claude Code 的环境设置了该变量。69Claude Code 忽略存储库的 `.claude/settings.json` 和 `.claude/settings.local.json` 中的 [OpenTelemetry 导出器变量](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env),因此存储库无法使用它们来打开遥测、选择其去向或捕获内容。在托管设置中设置它们,或让每个开发者在其 shell 或 `~/.claude/settings.json` 中设置它们。存储库仍然可以通过将其导出器选择器(如 `OTEL_LOGS_EXPORTER`)设置为 `none` 来关闭信号,除非托管设置、`--settings` 文件或启动 Claude Code 的环境设置了该变量。

68 70 

69Claude Code 不会将 `OTEL_*` 环境变量传递给它生成的子进程,包括 Bash 工具、hooks、MCP 服务器和语言服务器。通过 Bash 工具运行的已进行 OpenTelemetry 检测的应用程序不会继承 Claude Code 的导出器端点或标头,因此如果该应用程序需要导出自己的遥测,请直接在命令中设置这些变量。71Claude Code 不会将 `OTEL_*` 环境变量传递给它生成的子进程,包括 Bash 工具、hooks、MCP 服务器和语言服务器。通过 Bash 工具运行的已进行 OpenTelemetry 检测的应用程序不会继承 Claude Code 的导出器端点或标头,因此如果该应用程序需要导出自己的遥测,请直接在命令中设置这些变量。


582| `OTEL_RESOURCE_ATTRIBUTES` 中的键 | 您设置的自定义属性,例如 `department` 或 `team.id`。请参阅[多团队组织支持](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES`(默认值:true) |584| `OTEL_RESOURCE_ATTRIBUTES` 中的键 | 您设置的自定义属性,例如 `department` 或 `team.id`。请参阅[多团队组织支持](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES`(默认值:true) |

583| `vcs.repository.url.full`、`vcs.owner.name`、`vcs.repository.name`、`vcs.provider.name` | 会话存储库的身份,从其 `origin` 远程派生。请参阅[存储库属性](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY`(默认值:false)。需要 Claude Code v2.1.269 或更高版本 |585| `vcs.repository.url.full`、`vcs.owner.name`、`vcs.repository.name`、`vcs.provider.name` | 会话存储库的身份,从其 `origin` 远程派生。请参阅[存储库属性](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY`(默认值:false)。需要 Claude Code v2.1.269 或更高版本 |

584 586 

585当 Claude Code 登录到[Claude 应用网关](/docs/zh-CN/claude-apps-gateway)时,CLI 会使用来自网关会话的已认证身份标记导出:`user.id` 是 IdP 主体而不是匿名安装标识符,`user.email` 是已登录的电子邮件,`user.groups` 以逗号分隔的字符串形式携带 IdP 组成员身份。每个导出还携带 `identity.source: gateway-oidc`。网关身份最后应用,因此通过 `OTEL_RESOURCE_ATTRIBUTES` 设置的 `user.*` 和 `identity.*` 键在网关会话上被忽略。587在通过 `/login` 登录到[Claude 应用网关](/docs/zh-CN/claude-apps-gateway)的会话中,CLI 会使用已认证身份标记导出:`user.id` 是 IdP 主体,`user.email` 是已登录的电子邮件,`user.groups` 以逗号分隔的字符串形式携带 IdP 组成员身份。每个导出还携带 `identity.source: gateway-oidc`。网关身份最后应用,因此通过 `OTEL_RESOURCE_ATTRIBUTES` 设置的 `user.*` 和 `identity.*` 键在这些会话上被忽略。

588 

589对于通过网关连接的 Claude Desktop 和 Cowork 会话上的身份属性,请参阅[网关 `telemetry` 参考](/docs/zh-CN/claude-apps-gateway-config#telemetry)。

586 590 

587事件另外包括以下属性。这些永远不会附加到指标,因为它们会导致无限的基数:591事件另外包括以下属性。这些永远不会附加到指标,因为它们会导致无限的基数:

588 592 


1540 将属性操作归属于用户1544 将属性操作归属于用户

1541</h3>1545</h3>

1542 1546 

1543每个事件上的 [标准属性](#standard-attributes) 包括已认证用户的身份:`user.email`、`user.account_uuid`、`user.account_id` 和 `organization.id`(使用 Claude 账户登录时或在 [云会话](/docs/zh-CN/claude-code-on-the-web) 中,当会话自己的凭证携带它们时),加上 `user.id` 和每会话的 `session.id`。`user.id` 是安装范围的标识符,除了在 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway) 会话上,其中它是来自网关颁发的令牌的 IdP 主体。1547每个事件上的 [标准属性](#standard-attributes) 包括已认证用户的身份:`user.email`、`user.account_uuid`、`user.account_id` 和 `organization.id`(使用 Claude 账户登录时或在 [云会话](/docs/zh-CN/claude-code-on-the-web) 中,当会话自己的凭证携带它们时),加上 `user.id` 和每会话的 `session.id`。`user.id` 是安装范围的标识符,除了在 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway) 会话上通过 `/login` 登录时,其中它是来自网关颁发的令牌的 IdP 主体。

1544 1548 

1545在开发人员启动的会话中,MCP 工具调用、Bash 命令和文件编辑因此归属于该开发人员。Claude Code 不在单独的服务账户下运行;每个事件上记录的身份是开发人员自己的 Claude 账户,或开发人员在 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway) 会话上的 IdP 身份。在 Claude Tag 频道会话中,Claude 改为作为您组织的 [共享身份](/docs/zh-CN/cloud-environments#set-the-environment-a-claude-tag-channel-uses) 工作。1549在开发人员启动的会话中,MCP 工具调用、Bash 命令和文件编辑因此归属于该开发人员。Claude Code 不在单独的服务账户下运行;每个事件上记录的身份是开发人员自己的 Claude 账户,或开发人员在 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway) 会话上的 IdP 身份。在 Claude Tag 频道会话中,Claude 改为作为您组织的 [共享身份](/docs/zh-CN/cloud-environments#set-the-environment-a-claude-tag-channel-uses) 工作。

1546 1550 

1547当 Claude Code 使用直接 API 密钥进行身份验证,或针对 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 进行身份验证时,会话中没有 Claude 账户,仅填充 `user.id` 和 `session.id`。在这些部署中,使用 `OTEL_RESOURCE_ATTRIBUTES` 自己附加用户身份,通过 [托管设置](#administrator-configuration) 文件或启动包装器按用户设置。Claude apps gateway 会话不需要任何这些:CLI 自动标记 IdP 身份,如 [标准属性](#standard-attributes) 中所述。1551当 Claude Code 使用直接 API 密钥进行身份验证,或针对 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 进行身份验证时,会话中没有 Claude 账户,仅填充 `user.id` 和 `session.id`。在这些部署中,使用 `OTEL_RESOURCE_ATTRIBUTES` 自己附加用户身份,通过 [托管设置](#administrator-configuration) 文件或启动包装器按用户设置。Claude apps gateway 会话不需要任何这些:请参阅 [标准属性](#standard-attributes) 了解其导出携带的身份。

1548 1552 

1549```bash theme={null}1553```bash theme={null}

1550export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1554export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

network-config.md +13 −11

Details

208| 计时器 | 中止条件 | 运行位置 | 默认超时 |208| 计时器 | 中止条件 | 运行位置 | 默认超时 |

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

210| 首字节截止时间 | Claude Code 发送请求后没有响应头到达 | 直接 Anthropic API 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws),包括通过 HTTPS 代理,但不包括当 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 通过 [gateway](/docs/zh-CN/gateways) 路由时。在 Amazon Bedrock 上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒,加上每 32KB 请求体一秒 |210| 首字节截止时间 | Claude Code 发送请求后没有响应头到达 | 直接 Anthropic API 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws),包括通过 HTTPS 代理,但不包括当 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 通过 [gateway](/docs/zh-CN/gateways) 路由时。在 Amazon Bedrock 上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒,加上每 32KB 请求体一秒 |

211| 事件级监视器 | 没有响应事件解析。在运行字节级监视器的连接上,到达的字节(包括保活 ping)也会重置此监视器,最多约五分钟内没有解析的事件 | 每个提供商 | 300 秒 |211| 事件级监视器 | 没有响应事件解析。在字节级监视器运行在 Amazon Bedrock 以外的连接上的情况下,到达的字节(包括保活 ping)也会重置此监视器,最多约五分钟内没有解析的事件 | 每个提供商 | 300 秒 |

212| 字节级监视器 | 网络上没有字节到达,包括 SSE 保活 ping | 直接 Anthropic API、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [gateway](/docs/zh-CN/gateways) 连接,包括自定义 `ANTHROPIC_BASE_URL`。在 Amazon Bedrock `vnd.amazon.eventstream` 响应上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒 |212| 字节级监视器 | 线路上没有字节到达,包括 SSE 保活 ping | 直接 Anthropic API、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [gateway](/docs/zh-CN/gateways) 连接,包括自定义 `ANTHROPIC_BASE_URL`。在 Amazon Bedrock `vnd.amazon.eventstream` 响应上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒 |

213| 正文空闲超时 | 5 分钟内没有字节到达 | 除直接 Anthropic API 和 Claude Platform on AWS 之外的提供商,除非 [`API_FORCE_IDLE_TIMEOUT`](/docs/zh-CN/env-vars) 改变这一点 | 5 分钟 |213| 主体空闲超时 | 5 分钟内没有字节到达 | 除了直接 Anthropic API、Claude Platform on AWS 和设置了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 之外的提供商,除非 [`API_FORCE_IDLE_TIMEOUT`](/docs/zh-CN/env-vars) 改变这一点 | 5 分钟 |

214 214 

215使用这些变量配置计时器,每个都在 [环境变量参考](/docs/zh-CN/env-vars) 中详细说明:215如果设置 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`,字节级监视器会在 Bedrock 上替换主体空闲超时,而不是与其并行运行。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 随后也会控制 Bedrock 流在 Claude Code 将连接视为死连接之前可以保持沉默多长时间,在下面列出的限制范围内。到达的字节仍然不会在 Bedrock 上重置事件级监视器。启用调试日志后,每个 Bedrock 流随后会记录一条以 `wire-heartbeat: _chunkTimes absent` 开头的调试消息。

216 216 

217* `CLAUDE_ENABLE_STREAM_WATCHDOG` 和 `CLAUDE_ENABLE_BYTE_WATCHDOG` 在表列出的连接范围内,用 `1` 强制打开相应的监视器或用 `0` 关闭;这两个变量都不会将监视器扩展到它不覆盖的连接类型。`CLAUDE_ENABLE_BYTE_WATCHDOG` 设置为 `0` 也会关闭首字节截止时间。217使用这些变量配置计时器,每个变量在 [环境变量参考](/docs/zh-CN/env-vars) 中详细说明:

218 

219* `CLAUDE_ENABLE_STREAM_WATCHDOG` 和 `CLAUDE_ENABLE_BYTE_WATCHDOG` 在表列出的连接范围内,使用 `1` 强制打开相应的监视器或使用 `0` 关闭;这两个变量都不会将监视器扩展到它不覆盖的连接类型。`CLAUDE_ENABLE_BYTE_WATCHDOG` 设置为 `0` 也会关闭首字节截止时间。

218* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 设置两个监视器的超时。Claude Code 将低于 5 分钟的值提高到 5 分钟,并将字节级监视器的值上限设为 30 分钟。220* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 设置两个监视器的超时。Claude Code 将低于 5 分钟的值提高到 5 分钟,并将字节级监视器的值上限设为 30 分钟。

219* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 设置字节级监视器的超时,而不改变事件级监视器的超时,限制在 10 秒到 30 分钟之间,并优先于 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 用于该监视器。221* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 设置字节级监视器的超时,而不改变事件级监视器的超时,限制在 10 秒到 30 分钟之间,并优先于 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 用于该监视器。

220* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` 直接设置首字节截止时间。保持未设置状态,Claude Code 使用字节级监视器的超时,因此 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 和 `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 也会改变截止时间。有关限制、上传限额、`API_TIMEOUT_MS` 上限以及重试在无响应中止后等待多长时间,请参阅 [No response from API](/docs/zh-CN/errors#no-response-from-api)。222* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` 直接设置首字节截止时间。保持未设置状态,Claude Code 使用字节级监视器的超时,因此 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 和 `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 也会改变截止时间。有关限制、上传额度、`API_TIMEOUT_MS` 上限以及重试在无响应中止后等待多长时间,请参阅 [API 无响应](/docs/zh-CN/errors#no-response-from-api)。

221* `API_FORCE_IDLE_TIMEOUT` 设置为 `0` 会关闭正文空闲超时,设置为 `1` 会为每个提供商打开它。监视器独立于它运行,因此要让流暂停超过其阈值,还要提高或禁用它们。223* `API_FORCE_IDLE_TIMEOUT` 设置为 `0` 会关闭主体空闲超时,设置为 `1` 会为每个提供商打开它。监视器独立于它运行,因此要让流暂停超过其阈值,也要提高或禁用它们。

222 224 

223当监视器中止停滞的流时,Claude Code 将中止视为中流失败,您看到的内容取决于响应已进行到多远。Claude Code 重试请求或以错误结束轮次,保留已完成的输出并显示 [不完整响应通知](/docs/zh-CN/errors#the-response-above-may-be-incomplete),或正常结束轮次。[自动重试](/docs/zh-CN/errors#automatic-retries) 说明每个结果适用的位置。225当监视器中止停滞的流时,Claude Code 将中止视为中流失败,你看到的内容取决于响应已进行到多远。Claude Code 重试请求或以错误结束轮次,保留已完成的输出并显示 [不完整响应通知](/docs/zh-CN/errors#the-response-above-may-be-incomplete),或正常结束轮次。[自动重试](/docs/zh-CN/errors#automatic-retries) 说明每个结果适用的位置。

224 226 

225在 [非交互式会话](/docs/zh-CN/headless) 中,以及在任何会话中的子代理响应中,Claude Code 可能首先提示 Claude 继续被截断的响应;[该通知的条目](/docs/zh-CN/errors#the-response-above-may-be-incomplete) 说明何时执行此操作以及何时您仍然看到通知。227在 [非交互式会话](/docs/zh-CN/headless) 中,以及在任何会话中的子代理响应中,Claude Code 可能首先提示 Claude 继续被切断的响应;[该通知的条目](/docs/zh-CN/errors#the-response-above-may-be-incomplete) 说明何时执行此操作以及何时仍然看到通知。

226 228 

227当首字节截止时间触发时,没有响应已开始,因此没有部分输出要保留。有关 Claude Code 如何重新发送请求以及何时轮次改为结束,请参阅 [No response from API](/docs/zh-CN/errors#no-response-from-api)。229当首字节截止时间触发时,没有响应已开始,因此没有部分输出可保留。有关 Claude Code 如何重新发送请求以及何时轮次改为结束,请参阅 [API 无响应](/docs/zh-CN/errors#no-response-from-api)。

228 230 

229<h2 id="network-access-requirements">231<h2 id="network-access-requirements">

230 网络访问要求232 网络访问要求


277 279 

278如果您的 GitHub Enterprise Cloud 组织按 IP 地址限制访问,请启用[已安装 GitHub App 的 IP 白名单继承](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps),并且还要[添加白名单条目](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address)以用于 Anthropic 的[出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses)。继承仅涵盖 Claude GitHub App 作为安装进行的请求,不涵盖它代表您的用户进行的请求。对于其他防火墙,请参阅 [Anthropic API IP 地址](https://platform.claude.com/docs/en/api/ip-addresses)。280如果您的 GitHub Enterprise Cloud 组织按 IP 地址限制访问,请启用[已安装 GitHub App 的 IP 白名单继承](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps),并且还要[添加白名单条目](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address)以用于 Anthropic 的[出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses)。继承仅涵盖 Claude GitHub App 作为安装进行的请求,不涵盖它代表您的用户进行的请求。对于其他防火墙,请参阅 [Anthropic API IP 地址](https://platform.claude.com/docs/en/api/ip-addresses)。

279 281 

280对于防火墙后的自托管 [GitHub Enterprise Server](/docs/zh-CN/github-enterprise-server) 实例,白名单 Anthropic 的[出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses),以便 Anthropic 基础设施可以访问您的 GHES 主机来克隆存储库和发布审查评论。[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#configure-git)中的会话从您的网络内部访问您的 GHES 主机,因此该暴露仅适用于 Anthropic 托管会话、托管的会话前流程(如存储库选择器)以及选择加入 [Anthropic git 代理](/docs/zh-CN/self-hosted-environments-deploy#use-the-anthropic-git-proxy)的自托管运行程序,该代理从 Anthropic 一侧获取。对于仅在您的网络内可路由的 GHES 主机,[SCM 连接器](/docs/zh-CN/self-hosted-environments-reference#scm-connector-flags)通过出站连接而不是白名单来承载托管的会话前流程,因此不需要白名单。282对于防火墙后的自托管 [GitHub Enterprise Server](/docs/zh-CN/github-enterprise-server) 实例,白名单 Anthropic 的[出站 IP 地址](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses),以便 Anthropic 基础设施可以访问您的 GHES 主机来克隆存储库和发布审查评论。[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#configure-git)中的会话从您的网络内部访问您的 GHES 主机,因此该暴露仅适用于 Anthropic 托管会话、托管的会话前流程(如存储库选择器)以及选择加入 [Anthropic git 代理](/docs/zh-CN/self-hosted-environments-deploy#use-the-anthropic-git-proxy)的自托管运行程序,该代理从 Anthropic 一侧获取。[SCM 连接器](/docs/zh-CN/self-hosted-environments-reference#scm-connector-flags)不可用,因此托管的会话前流程无法访问仅在您的网络内可路由的 GHES 主机。

281 283 

282<h3 id="desktop-and-claude-ai">284<h3 id="desktop-and-claude-ai">

283 Desktop 和 claude.ai285 Desktop 和 claude.ai

Details

526 * 在具有[服务器端分类器审查](#server-side-classifier-review)的会话中,只读和[沙箱](/docs/zh-CN/sandboxing#sandbox-modes) shell 命令等待该审查并在其标记时被阻止526 * 在具有[服务器端分类器审查](#server-side-classifier-review)的会话中,只读和[沙箱](/docs/zh-CN/sandboxing#sandbox-modes) shell 命令等待该审查并在其标记时被阻止

527 * 工作目录内的写入,[符号链接检查](/docs/zh-CN/permissions#symlinks)解决为其外的位置,提示您527 * 工作目录内的写入,[符号链接检查](/docs/zh-CN/permissions#symlinks)解决为其外的位置,提示您

528 3. 其他所有内容都进入分类器,除了[关键路径删除](#critical-paths)在其默认处理下。在步骤 1 中直接提示您的连接器工具和`requiresUserInteraction` MCP 工具永远不会到达分类器,因此既不是组织要求的批准也不是同意步骤被自动批准528 3. 其他所有内容都进入分类器,除了[关键路径删除](#critical-paths)在其默认处理下。在步骤 1 中直接提示您的连接器工具和`requiresUserInteraction` MCP 工具永远不会到达分类器,因此既不是组织要求的批准也不是同意步骤被自动批准

529 4. 如果分类器阻止,Claude 收到原因并尝试替代方案。在大多数会话中,原因命名分类器匹配的规则,例如 `[Data Exfiltration]`,而不是给出书面解释;请参阅[审查拒绝](/docs/zh-CN/auto-mode-config#review-denials)529 4. 如果分类器阻止,Claude 收到原因。在大多数会话中,原因命名分类器匹配的规则,例如 `[Data Exfiltration]`,而不是给出书面解释;请参阅[审查拒绝](/docs/zh-CN/auto-mode-config#review-denials)

530 530 

531 进入自动模式时,授予任意代码执行的广泛允许规则被丢弃:531 进入自动模式时,授予任意代码执行的广泛允许规则被丢弃:

532 532 

Details

22 claude plugin 命令22 claude plugin 命令

23</h2>23</h2>

24 24 

25从 shell 或脚本中运行 `claude plugin <subcommand>`,在 Claude Code 会话外。这些子命令安装和管理 plugins,而不打开 [`/plugin`](#plugin-in-a-session) 面板。25从你的 shell 或脚本运行 `claude plugin <subcommand>`,在 Claude Code 会话外部。这些子命令安装和管理插件,无需打开 [`/plugin`](#plugin-in-a-session) 面板。

26 26 

27`claude plugins` 是 `claude plugin` 的别名。27`claude plugins` 是 `claude plugin` 的别名。

28 28 

29每个子命令共享这些退出代码、plugin 参数和作用域值:29每个子命令共享这些退出代码、插件参数和作用域值:

30 30 

31* **退出代码**:成功时为 `0`,失败时为 `1`。`validate` 为意外错误添加退出 `2`,`eval` 添加 [其部分](#plugin-eval) 中列出的代码。31* **退出代码**:成功时为 `0`,失败时为 `1`。`validate` 为意外错误添加退出 `2`,`eval` 添加 [其部分](#plugin-eval) 中列出的代码。

32* **Plugin 参数**:`<plugin>` 参数是 plugin `name` 或 `name@marketplace`。当两个市场提供相同的名称时,使用限定形式。32* **插件参数**:`<plugin>` 参数是插件 `name` 或 `name@marketplace`。当两个市场提供相同的名称时,使用限定形式。

33* **作用域**:`--scope` 接受 `user`、`project` 或 `local`,并命名命令写入的设置文件。`update` 也接受 `managed`。33* **作用域**:`--scope` 接受 `user`、`project` 或 `local`,并命名命令写入的设置文件。`update` 也接受 `managed`。

34 34 

35<h3 id="plugin-init">35<h3 id="plugin-init">

36 plugin init36 plugin init

37</h3>37</h3>

38 38 

39在 `~/.claude/skills/<name>/` 处搭建新 plugin。它在您的下一个会话中作为 `<name>@skills-dir` 加载,无需安装步骤。39在 `~/.claude/skills/<name>/` 处搭建新插件。它在你的下一个会话中作为 `<name>@skills-dir` 加载,无需安装步骤。

40 40 

41`new` 是 `init` 的别名。41`new` 是 `init` 的别名。

42 42 

43对于以此命令开始的创建、测试和编辑工作流,请参阅 [创建 plugin](/docs/zh-CN/plugins/create)。43对于从此命令开始的创建、测试和编辑工作流,请参阅 [创建插件](/docs/zh-CN/plugins/create)。

44 44 

45```bash theme={null}45```bash theme={null}

46claude plugin init <name> [options]46claude plugin init <name> [options]

47```47```

48 48 

49`<name>` 成为 `~/.claude/skills/` 下的目录名称和 plugin 清单中的 `name`。49`<name>` 成为 `~/.claude/skills/` 下的目录名称和插件清单中的 `name`。

50 50 

51该命令没有用于另一个位置的标志。要改为在项目内搭建,请参阅 [创建 plugin](/docs/zh-CN/plugins/create)。51该命令没有用于另一个位置的标志。要在项目内搭建,请参阅 [创建插件](/docs/zh-CN/plugins/create)。

52 52 

53| 标志 | 描述 |53| 标志 | 描述 |

54| :- | :- |54| :- | :- |


58| `--with <components...>` | 也为 `skills`、`agents`、`hooks`、`mcp`、`lsp`、`output-style` 或 `channel` 搭建启动文件 |58| `--with <components...>` | 也为 `skills`、`agents`、`hooks`、`mcp`、`lsp`、`output-style` 或 `channel` 搭建启动文件 |

59| `-f, --force` | 覆盖目标处的现有 `.claude-plugin/` |59| `-f, --force` | 覆盖目标处的现有 `.claude-plugin/` |

60 60 

61使用启动 skill 和 hook 文件搭建 plugin:61搭建带有启动 skill 和 hook 文件的插件:

62 62 

63```bash theme={null}63```bash theme={null}

64claude plugin init my-helper --with skills hooks64claude plugin init my-helper --with skills hooks

65```65```

66 66 

67Claude Code 验证其写入的内容并打印 `Created plugin "my-helper" at ~/.claude/skills/my-helper`,后跟它加载的 id 和关闭它的 `claude plugin disable` 命令。67Claude Code 验证它写入的内容并打印 `Created plugin "my-helper" at ~/.claude/skills/my-helper`,后跟它加载的 id 和关闭它的 `claude plugin disable` 命令。

68 68 

69当 Claude Code 无法安全搭建时,它退出 `1` 而不写入,消息命名原因。这些是常见原因:69当 Claude Code 无法安全搭建时,它退出 `1` 而不写入,消息命名原因。这些是常见原因:

70 70 

71* 未知的 `--with` 值71* 未知的 `--with` 值

72* 目标处的现有搭建,没有 `--force`72* 目标处的现有搭建,没有 `--force`

73* 阻止 skills-directory plugins 的托管设置73* 阻止 skills-directory 插件的托管设置

74 74 

75<h3 id="plugin-install">75<h3 id="plugin-install">

76 plugin install76 plugin install

77</h3>77</h3>

78 78 

79从您添加的市场安装 plugin。`i` 是 `install` 的别名。79从你添加的市场安装插件。`i` 是 `install` 的别名。

80 80 

81```bash theme={null}81```bash theme={null}

82claude plugin install <plugin> [options]82claude plugin install <plugin> [options]

83```83```

84 84 

85大多数 plugins 无需提示即可安装。对于其市场条目 [运行命令来安装它](/docs/zh-CN/plugins/host-marketplace) 或 [为其下载设置 `headersHelper`](/docs/zh-CN/plugins/host-marketplace#how-users-accept-a-headershelper-command) 的 plugin,Claude Code 首先打印命令并询问 `Run this command now? [y/N]`。85大多数插件无需提示即可安装。对于其市场条目 [运行命令来安装它](/docs/zh-CN/plugins/host-marketplace) 或 [为其下载设置 `headersHelper`](/docs/zh-CN/plugins/host-marketplace#how-users-accept-a-headershelper-command) 的插件,Claude Code 首先打印命令并询问 `Run this command now? [y/N]`。

86 86 

87| 标志 | 描述 |87| 标志 | 描述 |

88| :- | :- |88| :- | :- |

89| `-s, --scope <scope>` | 安装作用域:`user`、`project` 或 `local`。默认为 `user` |89| `-s, --scope <scope>` | 安装作用域:`user`、`project` 或 `local`。默认为 `user` |

90| `--config <key=value>` | 设置 plugin 清单声明的 [`userConfig`](/docs/zh-CN/plugins/manifest-reference) 选项。为每个选项重复该标志。需要 Claude Code v2.1.147 或更高版本 |90| `--config <key=value>` | 设置插件清单声明的 [`userConfig`](/docs/zh-CN/plugins/manifest-reference) 选项。为每个选项重复该标志。需要 Claude Code v2.1.147 或更高版本 |

91| `-y, --yes` | 接受显示的安装命令,无需 `Run this command now?` 提示。当命令在 Claude Code 会话内运行时(例如从 Bash 工具或 hook)被忽略。需要 Claude Code v2.1.229 或更高版本 |91| `-y, --yes` | 接受显示的安装命令,无需 `Run this command now?` 提示。在 Claude Code 会话内运行命令时被忽略,例如从 Bash 工具或 hook。需要 Claude Code v2.1.229 或更高版本 |

92| `--accept-command <sha256>` | 接受显示的安装命令,其 `sha256` 之前的 [`--json` 运行](#plugin-json-result) 在 `shownCommand` 中报告,代替 `-y`。不能与 `-y` 组合。请参阅 [接受显示的安装命令](#accept-a-displayed-install-command)。需要 Claude Code v2.1.271 或更高版本 |92| `--accept-command <sha256>` | 接受显示的安装命令,其 `sha256` 之前的 [`--json` 运行](#plugin-json-result) 在 `shownCommand` 中报告,代替 `-y`。不能与 `-y` 组合。请参阅 [接受显示的安装命令](#accept-a-displayed-install-command)。需要 Claude Code v2.1.271 或更高版本 |

93| `--json` | 将结果作为一个 JSON 对象打印在 stdout 的最后一行,而不是人类可读的消息,供脚本使用。请参阅 [JSON 结果格式](#plugin-json-result)。需要 Claude Code v2.1.268 或更高版本 |93| `--json` | 将结果打印为 stdout 最后一行的一个 JSON 对象,而不是人类可读的消息,供脚本使用。请参阅 [JSON 结果格式](#plugin-json-result)。需要 Claude Code v2.1.268 或更高版本 |

94 94 

95从您自己的终端传递 `-y` 以接受显示的命令而无需提示。以下是没有 TTY 和 Claude 运行命令时发生的情况:95从你自己的终端传递 `-y` 以接受显示的命令,无需提示。以下是没有 TTY 和 Claude 运行命令时发生的情况:

96 96 

97* **stdin 或 stdout 不是 TTY,您既不传递 `-y` 也不传递 `--accept-command`**:安装被拒绝。输出说命令仅被显示,退出代码为 `1`97* **stdin 或 stdout 不是 TTY,且你既不传递 `-y` 也不传递 `--accept-command`**:安装被拒绝。输出说命令仅被显示,退出代码为 `1`

98* **Claude 通过其 Bash 工具运行命令**:`-y` 被忽略。改为从您自己的终端运行命令98* **Claude 通过其 Bash 工具运行命令**:`-y` 被忽略。改为从你自己的终端运行命令

99 99 

100为克隆项目的每个人安装 plugin:100为克隆项目的每个人安装插件:

101 101 

102```bash theme={null}102```bash theme={null}

103claude plugin install formatter@my-marketplace --scope project103claude plugin install formatter@my-marketplace --scope project


106Claude Code 打印 `Successfully installed plugin: formatter@my-marketplace (scope: project)`。当没有新内容被安装时,输出说明原因:106Claude Code 打印 `Successfully installed plugin: formatter@my-marketplace (scope: project)`。当没有新内容被安装时,输出说明原因:

107 107 

108* **已在该作用域安装**:输出为 `Plugin "formatter@my-marketplace" is already installed (scope: project)`,退出代码为 `0`108* **已在该作用域安装**:输出为 `Plugin "formatter@my-marketplace" is already installed (scope: project)`,退出代码为 `0`

109* **您拒绝命令源提示**:输出为 `Aborted.`,退出代码为 `1`109* **你拒绝命令源提示**:输出为 `Aborted.`,退出代码为 `1`

110* **您拒绝 `headersHelper` 提示,或无法在没有 TTY 的情况下确认**:输出为 `Aborted — the command was not run.`,退出代码为 `1`110* **你拒绝 `headersHelper` 提示,或无法在没有 TTY 的情况下确认**:输出为 `Aborted — the command was not run.`,退出代码为 `1`

111 111 

112<h4 id="plugin-json-result">112<h4 id="plugin-json-result">

113 JSON 结果格式113 JSON 结果格式

114</h4>114</h4>

115 115 

116当您向 `plugin install` 传递 `--json` 时,stdout 的最后一行是一个 JSON 对象。仅解析该行,因为 Claude Code 在其前面打印市场声明的任何命令。116当你向 `plugin install` 传递 `--json` 时,stdout 的最后一行是一个 JSON 对象。仅解析该行,因为 Claude Code 在其前面打印市场声明的任何命令。

117 117 

118三个字段始终存在:118三个字段始终存在:

119 119 


123 123 

124其他字段,例如 `pluginId`、`scope` 和 `failureCode`,仅在适用时出现。124其他字段,例如 `pluginId`、`scope` 和 `failureCode`,仅在适用时出现。

125 125 

126`plugin uninstall`、`plugin update`、`plugin enable` 和 `plugin disable` 上的 `--json` 选项打印相同的对象,带有该子命令自己的字段。126`--json` 选项在 `plugin uninstall`、`plugin update`、`plugin enable` 和 `plugin disable` 上打印相同的对象,带有该子命令自己的字段。

127 127 

128使用错误(例如无效的 `--scope`)不打印结果行,退出 `1`,原因在 stderr 上。128使用错误,例如无效的 `--scope`,不打印结果行,退出 `1`,原因在 stderr 上。

129 129 

130<h4 id="accept-a-displayed-install-command">130<h4 id="accept-a-displayed-install-command">

131 接受显示的安装命令131 接受显示的安装命令

132</h4>132</h4>

133 133 

134当 `--json` 运行显示市场声明的命令且不运行它时,`failed` 结果也带有 `shownCommand` 对象。其字段包括显示的命令、它所属的 plugin 和命令的 `sha256`。134当 `--json` 运行显示市场声明的命令且不运行它时,`failed` 结果也携带 `shownCommand` 对象。其字段包括显示的命令、它所属的插件和命令的 `sha256`。

135 135 

136要接受完全相同的命令,从您自己的终端使用该 `sha256` 作为 `--accept-command` 重新运行,因为该标志在 Claude Code 会话内无效。需要 Claude Code v2.1.271 或更高版本。136要接受完全相同的命令,从你自己的终端使用该 `sha256` 作为 `--accept-command` 重新运行,因为该标志在 Claude Code 会话内无效。需要 Claude Code v2.1.271 或更高版本。

137 137 

138`sha256` 计为完全相同的命令、plugin 和市场目录的接受。如果自命令显示以来其中任何一个发生了变化,Claude Code 不接受 `sha256` 并再次显示命令。运行自己的市场刷新获取的更改也计为此类更改。138`sha256` 计为对完全相同的命令、插件和市场目录的接受。如果自命令显示以来其中任何一个发生了变化,Claude Code 不接受 `sha256` 并再次显示命令。运行自己的市场刷新获取的更改也计为此类更改。

139 139 

140如果 `shownCommand.acceptCommandMatched` 为 `false`,您传递的 `sha256` 与现在显示的命令不匹配。在使用其 `sha256` 重新运行之前查看该命令。140如果 `shownCommand.acceptCommandMatched` 为 `false`,你传递的 `sha256` 与现在显示的命令不匹配。在使用其 `sha256` 重新运行之前,查看该命令。

141 141 

142<h3 id="plugin-uninstall">142<h3 id="plugin-uninstall">

143 plugin uninstall143 plugin uninstall

144</h3>144</h3>

145 145 

146从一个作用域删除已安装的 plugin。`remove` 和 `rm` 是 `uninstall` 的别名。146从一个作用域移除已安装的插件。`remove` 和 `rm` 是 `uninstall` 的别名。

147 147 

148```bash theme={null}148```bash theme={null}

149claude plugin uninstall <plugin> [options]149claude plugin uninstall <plugin> [options]


152| 标志 | 描述 |152| 标志 | 描述 |

153| :- | :- |153| :- | :- |

154| `-s, --scope <scope>` | 从作用域卸载:`user`、`project` 或 `local`。默认为 `user` |154| `-s, --scope <scope>` | 从作用域卸载:`user`、`project` 或 `local`。默认为 `user` |

155| `--keep-data` | 保留 plugin 的持久数据目录 `~/.claude/plugins/data/<id>/` |155| `--keep-data` | 保留插件的持久数据目录 `~/.claude/plugins/data/<id>/` |

156| `--prune` | 也删除自动安装的 [dependencies](/docs/zh-CN/plugins/dependencies),没有剩余 plugin 需要 |156| `--prune` | 也移除自动安装的 [依赖项](/docs/zh-CN/plugins/dependencies),没有剩余插件需要 |

157| `-y, --yes` | 跳过 `--prune` 确认提示。当 stdin 或 stdout 不是 TTY 时,`--prune` 需要 |157| `-y, --yes` | 跳过 `--prune` 确认提示。当 stdin 或 stdout 不是 TTY 时,与 `--prune` 一起需要 |

158| `--json` | 将结果作为一个 JSON 对象打印在 stdout 的最后一行,格式与 [`plugin install --json`](#plugin-json-result) 相同。不能与 `--prune` 组合。需要 Claude Code v2.1.268 或更高版本 |158| `--json` | 将结果打印为 stdout 最后一行的一个 JSON 对象,格式与 [`plugin install --json`](#plugin-json-result) 相同。不能与 `--prune` 组合。需要 Claude Code v2.1.268 或更高版本 |

159 159 

160从项目作用域卸载 plugin:160从项目作用域卸载插件:

161 161 

162```bash theme={null}162```bash theme={null}

163claude plugin uninstall formatter@my-marketplace --scope project163claude plugin uninstall formatter@my-marketplace --scope project

164```164```

165 165 

166Claude Code 打印 `Successfully uninstalled plugin: formatter (scope: project)`。当 plugin 未在该作用域安装时,命令打印以 `Failed to uninstall plugin "formatter@my-marketplace":` 开头的行,退出 `1`。166Claude Code 打印 `Successfully uninstalled plugin: formatter (scope: project)`。当插件未在该作用域安装时,命令打印以 `Failed to uninstall plugin "formatter@my-marketplace":` 开头的行并退出 `1`。

167 167 

168如果失败行继续显示 `"formatter" was not uninstalled:`,Claude Code 无法确认该作用域的设置不再打开 plugin,因此 plugin 保持安装状态,并保留其保存的所有内容。使用 `--json`,结果带有 `failureCode: "settings_still_on"`。此设置检查需要 Claude Code v2.1.282 或更高版本。168如果失败行继续为 `"formatter" was not uninstalled:` 并命名设置文件,Claude Code 无法确认作用域的设置不再打开插件,因此插件保持安装状态,保留其保存的所有内容。使用 `--json` 时,结果携带 `failureCode: "settings_still_on"`。此设置检查需要 Claude Code v2.1.282 或更高版本。

169 169 

170<h4 id="what-an-uninstall-deletes-and-keeps">170<h4 id="what-an-uninstall-deletes-and-keeps">

171 卸载删除和保留的内容171 卸载删除和保留的内容

172</h4>172</h4>

173 173 

174当您从最后一个安装 plugin 的作用域卸载它时,Claude Code 也删除 plugin 的存储 [options 和 secrets](/docs/zh-CN/plugins/manifest-reference#user-configuration) 及其数据目录 `~/.claude/plugins/data/<id>/`。有三个例外:174当你从最后一个安装它的作用域卸载插件时,Claude Code 也删除插件存储的 [选项和密钥](/docs/zh-CN/plugins/manifest-reference#user-configuration) 及其数据目录 `~/.claude/plugins/data/<id>/`。有三个例外:

175 175 

176* 使用 `--keep-data`,数据目录保留176* 使用 `--keep-data` 时,数据目录保留

177* 当另一个已安装的 plugin 使用相同的文件夹时,例如其 ID 仅在字母大小写上与此不同的 plugin,数据目录保留177* 当另一个已安装的插件使用相同的文件夹时,例如其 ID 仅在字母大小写上与此不同的插件,数据目录保留

178* 当 Claude Code 无法在从该作用域删除 plugin 后读回已安装 plugins 的列表时,options、secrets 和数据目录都保留,因为 plugin 可能仍在另一个作用域安装。卸载仍然成功。消息列出保留的内容及如何删除它,使用 `--json` 结果带有 `savedKept: "install_records_unreadable"`178* 当 Claude Code 无法在从该作用域移除插件后读回已安装插件的列表时,选项、密钥和数据目录都保留,因为插件可能仍在另一个作用域安装。卸载仍然成功。消息列出保留的内容及如何删除它,使用 `--json` 时结果携带 `savedKept: "install_records_unreadable"`

179 179 

180使用 `--json`,`keptData` 报告目录是否保留,`/plugin` 在保留时显示 `· data preserved`。对于在没有 `--keep-data` 的情况下保留的目录,此报告需要 Claude Code v2.1.281 或更高版本。`savedKept` 字段需要 Claude Code v2.1.282 或更高版本。180使用 `--json` 时,`keptData` 报告目录是否保留,`/plugin` 在保留时显示 `· data preserved`。对于在没有 `--keep-data` 的情况下保留的目录,此报告需要 Claude Code v2.1.281 或更高版本。`savedKept` 字段需要 Claude Code v2.1.282 或更高版本。

181 181 

182<h3 id="plugin-enable">182<h3 id="plugin-enable">

183 plugin enable183 plugin enable

184</h3>184</h3>

185 185 

186启用禁用的 plugin。对于 [从 claude.ai 同步的 plugin](/docs/zh-CN/plugins/loading#synced-plugins),将 `<name>@synced` 作为 plugin 传递。186启用禁用的插件。对于 [从 claude.ai 同步的插件](/docs/zh-CN/plugins/loading#synced-plugins),传递 `<name>@synced` 作为插件。

187 187 

188```bash theme={null}188```bash theme={null}

189claude plugin enable <plugin> [options]189claude plugin enable <plugin> [options]


192| 标志 | 描述 |192| 标志 | 描述 |

193| :- | :- |193| :- | :- |

194| `-s, --scope <scope>` | 启用的作用域:`user`、`project` 或 `local`。省略时自动检测 |194| `-s, --scope <scope>` | 启用的作用域:`user`、`project` 或 `local`。省略时自动检测 |

195| `--json` | 将结果作为一个 JSON 对象打印在 stdout 的最后一行,格式与 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更高版本 |195| `--json` | 将结果打印为 stdout 最后一行的一个 JSON 对象,格式与 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更高版本 |

196 196 

197不使用 `--scope`,命令按本地、项目、用户的顺序检查您的设置文件,并使用提及 plugin 的第一个作用域。197不使用 `--scope` 时,命令按本地、项目、用户的顺序检查你的设置文件,并使用第一个提及插件的作用域。

198 198 

199如果您传递 plugin 未声明的 `--scope`,命令要么写入覆盖,要么失败:199如果你传递插件未声明的 `--scope`,命令要么写入覆盖,要么失败:

200 200 

201* **[优先于](/docs/zh-CN/plugins/loading) 声明作用域的作用域**:Claude Code 在您传递的作用域处写入覆盖。例如,`claude plugin disable formatter --scope local` 仅为您关闭项目启用的 plugin201* **一个 [优先于](/docs/zh-CN/plugins/loading) 声明作用域的作用域**:Claude Code 在你传递的作用域处写入覆盖。例如,`claude plugin disable formatter --scope local` 仅为你关闭项目启用的插件

202* **任何其他作用域**:命令失败,显示 `Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.`202* **任何其他作用域**:命令失败,显示 `Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.`

203 203 

204如果 plugin 已在解析的作用域启用,命令打印 `Plugin "formatter" is already enabled` 并退出 `1`。使用 `--json`,结果具有 `"failureCode": "already_in_goal_state"` 和 `"alreadyInGoalState": true`,因此脚本可以将该情况视为成功。204如果插件已在解析的作用域启用,命令打印 `Plugin "formatter" is already enabled` 并退出 `1`。使用 `--json` 时,结果有 `"failureCode": "already_in_goal_state"` 和 `"alreadyInGoalState": true`,所以脚本可以将该情况视为成功。

205 205 

206当 plugin 声明 [dependencies](/docs/zh-CN/plugins/dependencies) 时,Claude Code 也启用它们。命令在这些情况下失败:206当插件声明 [依赖项](/docs/zh-CN/plugins/dependencies) 时,Claude Code 也启用它们。命令在这些情况下失败:

207 207 

208* **dependency 未安装**:启用失败并为每个缺失的 dependency 打印 `claude plugin install` 命令208* **依赖项未安装**:启用失败并为每个缺失的依赖项打印 `claude plugin install` 命令

209* **dependency 被您组织的 plugin 策略阻止**:启用失败并命名被阻止的 dependency209* **依赖项被你的组织的插件策略阻止**:启用失败并命名被阻止的依赖项

210* **dependency 在优先级高于目标作用域的作用域处设置为 `false`**:启用失败。在该作用域启用 dependency,或传递 `--scope` 以在那里写入210* **依赖项在优先级高于目标作用域的作用域处设置为 `false`**:启用失败。在该作用域启用依赖项,或传递 `--scope` 以在那里写入

211 211 

212在声明它的任何地方重新启用 plugin:212在声明它的任何地方重新启用插件:

213 213 

214```bash theme={null}214```bash theme={null}

215claude plugin enable formatter215claude plugin enable formatter


221 plugin disable221 plugin disable

222</h3>222</h3>

223 223 

224禁用 plugin 而不卸载它。对于 [从 claude.ai 同步的 plugin](/docs/zh-CN/plugins/loading#synced-plugins),将 `<name>@synced` 作为 plugin 传递。224禁用插件而不卸载它。对于 [从 claude.ai 同步的插件](/docs/zh-CN/plugins/loading#synced-plugins),传递 `<name>@synced` 作为插件。

225 225 

226```bash theme={null}226```bash theme={null}

227claude plugin disable [plugin] [options]227claude plugin disable [plugin] [options]


229 229 

230| 标志 | 描述 |230| 标志 | 描述 |

231| :- | :- |231| :- | :- |

232| `-a, --all` | 禁用每个启用的 plugin。不能与 plugin 名称或 `--scope` 组合 |232| `-a, --all` | 禁用每个启用的插件。不能与插件名称或 `--scope` 组合 |

233| `-s, --scope <scope>` | 禁用的作用域:`user`、`project` 或 `local`。省略时自动检测 |233| `-s, --scope <scope>` | 禁用的作用域:`user`、`project` 或 `local`。省略时自动检测 |

234| `--json` | 将结果作为一个 JSON 对象打印在 stdout 的最后一行,格式与 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更高版本 |234| `--json` | 将结果打印为 stdout 最后一行的一个 JSON 对象,格式与 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更高版本 |

235 235 

236不使用 `--scope`,作用域以与 [`plugin enable`](#plugin-enable) 相同的本地、项目、用户顺序自动检测。236不使用 `--scope` 时,作用域按与 [`plugin enable`](#plugin-enable) 相同的本地、项目、用户顺序自动检测。

237 237 

238如果您既不传递 plugin 名称也不传递 `--all`,Claude Code 打印 `Please specify a plugin name or use --all to disable all plugins` 并退出 `1`。禁用已禁用的 plugin 打印 `Plugin "formatter" is already disabled` 并退出 `1`,如 [`plugin enable`](#plugin-enable) 对已启用的 plugin 所做的那样。238如果你既不传递插件名称也不传递 `--all`,Claude Code 打印 `Please specify a plugin name or use --all to disable all plugins` 并退出 `1`。禁用已禁用的插件打印 `Plugin "formatter" is already disabled` 并退出 `1`,如 [`plugin enable`](#plugin-enable) 对已启用的插件所做的那样。

239 239 

240命令对仍然需要的 plugin 失败:240命令对仍然需要的插件失败:

241 241 

242* **另一个启用的 plugin [depends on](/docs/zh-CN/plugins/dependencies) 它**:命令失败并命名要首先禁用的依赖项242* **另一个启用的插件 [依赖于](/docs/zh-CN/plugins/dependencies) 它**:命令失败并命名要首先禁用的依赖项

243* **您的组织要求它作为同步 plugin**:命令失败并保存任何内容243* **你的组织要求它作为同步插件**:命令失败并不保存任何内容

244 244 

245禁用一个 plugin:245禁用一个插件:

246 246 

247```bash theme={null}247```bash theme={null}

248claude plugin disable formatter248claude plugin disable formatter


254 plugin update254 plugin update

255</h3>255</h3>

256 256 

257将 plugin 更新到其市场提供的最新版本。新版本在您的下一个会话中加载,或在您在运行的会话中运行 `/reload-plugins` 后加载。257将插件更新到其市场提供的最新版本。新版本在你的下一个会话中加载,或在运行中的会话中运行 `/reload-plugins` 后加载。

258 258 

259```bash theme={null}259```bash theme={null}

260claude plugin update <plugin> [options]260claude plugin update <plugin> [options]


263| 标志 | 描述 |263| 标志 | 描述 |

264| :- | :- |264| :- | :- |

265| `-s, --scope <scope>` | 更新的作用域:`user`、`project`、`local` 或 `managed`。省略时自动检测 |265| `-s, --scope <scope>` | 更新的作用域:`user`、`project`、`local` 或 `managed`。省略时自动检测 |

266| `-y, --yes` | 接受来自 [command-source](/docs/zh-CN/plugins/host-marketplace) plugin 的更改的安装命令,无需提示。当 stdin 或 stdout 不是 TTY 时需要,除非您传递 `--accept-command`。需要 Claude Code v2.1.229 或更高版本 |266| `-y, --yes` | 接受来自 [命令源](/docs/zh-CN/plugins/host-marketplace) 插件的更改的安装命令,无需提示。当 stdin 或 stdout 不是 TTY 时需要,除非你传递 `--accept-command`。需要 Claude Code v2.1.229 或更高版本 |

267| `--accept-command <sha256>` | 接受市场声明的命令,其 `sha256` 之前的 [`--json` 运行](#plugin-json-result) 在 `shownCommand` 中报告,代替 `-y`。不能与 `-y` 组合。需要 Claude Code v2.1.271 或更高版本 |267| `--accept-command <sha256>` | 接受市场声明的命令,其 `sha256` 之前的 [`--json` 运行](#plugin-json-result) 在 `shownCommand` 中报告,代替 `-y`。不能与 `-y` 组合。需要 Claude Code v2.1.271 或更高版本 |

268| `--json` | 将结果作为一个 JSON 对象打印在 stdout 的最后一行,格式与 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更高版本 |268| `--json` | 将结果打印为 stdout 最后一行的一个 JSON 对象,格式与 [`plugin install --json`](#plugin-json-result) 相同。需要 Claude Code v2.1.268 或更高版本 |

269 269 

270如果您省略 `--scope`,命令在您当前项目安装的最具体作用域处更新 plugin,检查本地、项目、用户,然后托管。270如果你省略 `--scope`,命令在为你的当前项目安装它的最具体作用域处更新插件,检查本地、项目、用户,然后托管。

271 271 

272在 v2.1.281 之前,当您省略 `--scope` 时命令使用 `user`,因此更新仅在项目或本地作用域安装的 plugin 失败,显示 `Plugin "<name>" is not installed at scope user`。在这些版本上,传递 `--scope`。272在 v2.1.281 之前,当你省略 `--scope` 时命令使用 `user`,所以更新仅在项目或本地作用域安装的插件失败,显示 `Plugin "<name>" is not installed at scope user`。在这些版本上,传递 `--scope`。

273 273 

274`managed` 是您可以更新但不能安装的唯一作用域。对于管理员安装的 plugins,请参阅 [为您的组织管理 plugins](/docs/zh-CN/plugins/org)。274`managed` 是你可以更新但不能安装的唯一作用域。对于管理员安装的插件,请参阅 [为你的组织管理插件](/docs/zh-CN/plugins/org)。

275 275 

276更新 plugin:276更新插件:

277 277 

278```bash theme={null}278```bash theme={null}

279claude plugin update formatter@my-marketplace279claude plugin update formatter@my-marketplace


281 281 

282Claude Code 打印 `Checking for updates for plugin "formatter@my-marketplace"…`,然后是结果。当没有更新时,它打印 `formatter is already at the latest version (1.0.0).` 并退出 `0`。282Claude Code 打印 `Checking for updates for plugin "formatter@my-marketplace"…`,然后是结果。当没有更新时,它打印 `formatter is already at the latest version (1.0.0).` 并退出 `0`。

283 283 

284您可以传递裸 plugin 名称,命令将其与您安装的 plugins 匹配。当来自不同市场的已安装 plugins 共享名称时,命令拒绝更新并列出要运行的限定 `plugin-name@marketplace-name` 命令。按裸名称更新需要 Claude Code v2.1.246 或更高版本。284你可以传递一个裸插件名称,命令将其与你安装的插件匹配。当来自不同市场的已安装插件共享名称时,命令拒绝更新并列出要运行的限定 `plugin-name@marketplace-name` 命令。按裸名称更新需要 Claude Code v2.1.246 或更高版本。

285 285 

286<h3 id="plugin-list">286<h3 id="plugin-list">

287 plugin list287 plugin list

288</h3>288</h3>

289 289 

290列出已安装的 plugins,包括其版本、作用域和状态。290列出已安装的插件及其版本、作用域和状态。

291 291 

292```bash theme={null}292```bash theme={null}

293claude plugin list [options]293claude plugin list [options]


296| 标志 | 描述 |296| 标志 | 描述 |

297| :- | :- |297| :- | :- |

298| `--json` | 将列表打印为 JSON |298| `--json` | 将列表打印为 JSON |

299| `--available` | 也列出您的市场提供但您未安装的 plugins。没有 `--json` 时无效 |299| `--available` | 也列出你的市场提供但你未安装的插件。没有 `--json` 时无效 |

300 300 

301Claude Code 按每个 plugin 的加载方式对人类可读的输出进行分组:301Claude Code 按每个插件的加载方式对人类可读的输出进行分组:

302 302 

303* **`Installed plugins:`**:您从市场安装的 plugins303* **`Installed plugins:`**:你从市场安装的插件

304* **`Session-only plugins (--plugin-dir / --plugin-url):`**:由同一命令中的这些标志加载的 plugins,如 `claude --plugin-dir ./my-plugin plugin list`304* **`Session-only plugins (--plugin-dir / --plugin-url):`**:由同一命令中的这些标志加载的插件,如 `claude --plugin-dir ./my-plugin plugin list`

305* **`Skills-directory plugins (.claude/skills/*):`**:Claude Code 在 skills 目录中找到的 plugins305* **`Skills-directory plugins (.claude/skills/*):`**:Claude Code 在 skills 目录中找到的插件

306* **`Synced from claude.ai`**:[从您的 claude.ai 账户同步的 plugins](/docs/zh-CN/plugins/loading#synced-plugins)306* **`Synced from claude.ai`**:[从你的 claude.ai 账户同步的插件](/docs/zh-CN/plugins/loading#synced-plugins)

307 307 

308当任何组中都没有内容时,Claude Code 打印 ``No plugins installed. Use `claude plugin install` to install a plugin.``308当任何组中都没有内容时,Claude Code 打印 ``No plugins installed. Use `claude plugin install` to install a plugin.``

309 309 


311 JSON 输出311 JSON 输出

312</h4>312</h4>

313 313 

314使用 `--json`,Claude Code 打印一个数组,每个安装一个对象。每个对象都带有下面的字段。`id`、`version`、`scope`、`enabled` 和 `installPath` 始终存在,其他字段仅在适用时出现。314使用 `--json` 时,Claude Code 打印一个数组,每个安装一个对象。每个对象携带下面的字段。`id`、`version`、`scope`、`enabled` 和 `installPath` 始终存在,其他仅在适用时出现。

315 315 

316| 字段 | 类型 | 描述 |316| 字段 | 类型 | 描述 |

317| :- | :- | :- |317| :- | :- | :- |

318| `id` | string | 安装为 `name@marketplace`,会话内 plugins 为 `name@inline`,skills-directory plugins 为 `name@skills-dir`,从 claude.ai 同步的 plugins 为 `name@synced` |318| `id` | string | 安装时为 `name@marketplace`,会话内插件为 `name@inline`,skills-directory 插件为 `name@skills-dir`,从 claude.ai 同步的插件为 `name@synced` |

319| `version` | string | 对于市场安装,[Claude Code 在安装时计算的](/docs/zh-CN/plugins/loading#versions-and-updates) 版本。对于会话内、skills-directory 或同步 plugin,清单的 `version`,或当它不声明任何内容时为 `unknown` |319| `version` | string | 对于市场安装,[Claude Code 在安装时计算的](/docs/zh-CN/plugins/loading#versions-and-updates) 版本。对于会话内、skills-directory 或同步插件,清单的 `version`,或当它不声明时为 `unknown` |

320| `scope` | string | 安装为 `user`、`project`、`local` 或 `managed`;skills-directory plugins 为 `user` 或 `project`;会话内 plugins 为 `session`;从 claude.ai 同步的 plugins 为 `synced` |320| `scope` | string | 安装时为 `user`、`project`、`local` 或 `managed`;skills-directory 插件为 `user` 或 `project`;会话内插件为 `session`;从 claude.ai 同步的插件为 `synced` |

321| `enabled` | boolean | plugin 在您的合并设置中是否启用 |321| `enabled` | boolean | 插件在你的合并设置中是否启用 |

322| `installPath` | string | plugin 加载的目录 |322| `installPath` | string | 插件加载的目录 |

323| `installedAt` | string | 安装的 ISO 时间戳。仅市场安装 |323| `installedAt` | string | 安装的 ISO 时间戳。仅市场安装 |

324| `lastUpdated` | string | 最后更新的 ISO 时间戳。仅市场安装 |324| `lastUpdated` | string | 最后更新的 ISO 时间戳。仅市场安装 |

325| `projectPath` | string | 安装所属的项目。仅 `project` 和 `local` 作用域 |325| `projectPath` | string | 安装所属的项目。仅 `project` 和 `local` 作用域 |

326| `mcpServers` | object | plugin 的 MCP 服务器定义,当市场安装的 plugin 有任何时 |326| `mcpServers` | object | 插件的 MCP 服务器定义,当市场安装的插件有任何时 |

327| `errors` | array of strings | 加载错误,当 plugin 加载失败时 |327| `errors` | array of strings | 加载错误,当插件加载失败时 |

328| `notes` | array of strings | plugin 加载并工作时的创作警告 |328| `notes` | array of strings | 插件加载并工作的创作警告 |

329| `errorDetails` | array of objects | 每个 `errors` 条目一个对象,给出其诊断 `type` 和它引用的名称,例如 plugin、市场、服务器或文件。需要 Claude Code v2.1.268 或更高版本 |329| `errorDetails` | array of objects | 每个 `errors` 条目一个对象,给出其诊断 `type` 和它引用的名称,例如插件、市场、服务器或文件。需要 Claude Code v2.1.268 或更高版本 |

330| `noteDetails` | array of objects | 每个 `notes` 条目的相同详细对象。需要 Claude Code v2.1.268 或更高版本 |330| `noteDetails` | array of objects | 每个 `notes` 条目的相同详细对象。需要 Claude Code v2.1.268 或更高版本 |

331 331 

332使用 `--json --available`,Claude Code 打印一个对象而不是数组。其 `installed` 字段保存已安装 plugin 对象的数组,其 `available` 字段保存每个未安装市场 plugin 的一个对象,带有下面的字段。332使用 `--json --available` 时,Claude Code 打印一个对象而不是数组。其 `installed` 字段保存已安装插件对象的数组,其 `available` 字段保存每个未安装的市场插件的一个对象,带有下面的字段。

333 333 

334| 字段 | 类型 | 描述 |334| 字段 | 类型 | 描述 |

335| :- | :- | :- |335| :- | :- | :- |

336| `pluginId` | string | `name@marketplace` |336| `pluginId` | string | `name@marketplace` |

337| `name` | string | plugin 在市场中的名称 |337| `name` | string | 插件在市场中的名称 |

338| `marketplaceName` | string | 提供它的市场 |338| `marketplaceName` | string | 提供它的市场 |

339| `source` | string or object | 市场条目的 [source](/docs/zh-CN/plugins/marketplace-reference):相对路径为字符串,否则为对象 |339| `source` | string or object | 市场条目的 [source](/docs/zh-CN/plugins/marketplace-reference):相对路径为字符串,否则为对象 |

340| `description` | string | 条目的描述,当它有时 |340| `description` | string | 条目的描述,当它有时 |

341| `version` | string | 条目的版本,当它声明时 |341| `version` | string | 条目的版本,当它声明时 |

342| `installCount` | number | 安装计数,当 Claude Code 有 plugin 的计数时 |342| `installCount` | number | 安装计数,当 Claude Code 有插件的时 |

343 343 

344<h3 id="plugin-details">344<h3 id="plugin-details">

345 plugin details345 plugin details

346</h3>346</h3>

347 347 

348显示 plugin 的组件清单及其预计令牌成本。348显示插件的组件清单及其预计令牌成本。

349 349 

350plugin 必须被加载:已安装、在 skills 目录中找到,或在同一命令中使用 `--plugin-dir` 或 `--plugin-url` 传递。`<name>` 是 plugin `name` 或 `name@marketplace`。350插件必须被加载:已安装、在 skills 目录中找到,或在同一命令中使用 `--plugin-dir` 或 `--plugin-url` 传递。`<name>` 是插件 `name` 或 `name@marketplace`。

351 351 

352```bash theme={null}352```bash theme={null}

353claude plugin details <name>353claude plugin details <name>

354```354```

355 355 

356命令除了 `--help` 外不接受任何标志。356该命令除了 `--help` 外不接受标志。

357 357 

358显示已安装 plugin 的贡献:358显示已安装插件贡献的内容:

359 359 

360```bash theme={null}360```bash theme={null}

361claude plugin details formatter361claude plugin details formatter

362```362```

363 363 

364Claude Code 打印 plugin 的名称、版本、描述和源,然后是这些部分:364Claude Code 打印插件的名称、版本、描述和源,然后是这些部分:

365 365 

366* **`Component inventory`**:plugin 的 skills、agents、hooks、MCP 服务器和 LSP 服务器366* **`Component inventory`**:插件的 skills、agents、hooks、MCP 服务器和 LSP 服务器

367* **`Projected token cost`**:plugin 添加到每个会话的始终开启令牌367* **`Projected token cost`**:插件添加到每个会话的始终开启令牌

368* **`Per-component (rounded)`**:每个 skill、agent 和命令的始终开启和按调用估计。当 plugin 没有时省略368* **`Per-component (rounded)`**:每个 skill、agent 和命令的始终开启和按调用估计。当插件没有时省略

369 369 

370对于两个成本数字的含义,请参阅 [测量 plugin 成本和使用](/docs/zh-CN/plugins/measure)。370对于两个成本数字的含义,请参阅 [测量插件成本和使用](/docs/zh-CN/plugins/measure)。

371 371 

372对于未加载的 plugin,Claude Code 打印 ``Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk.`` 并退出 `1`。372对于未加载的插件,Claude Code 打印 ``Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk.`` 并退出 `1`。

373 373 

374<h3 id="plugin-prune">374<h3 id="plugin-prune">

375 plugin prune375 plugin prune

376</h3>376</h3>

377 377 

378删除自动安装的 [dependencies](/docs/zh-CN/plugins/dependencies),没有已安装的 plugin 需要。命令永远不会删除您自己安装的 plugin。`autoremove` 是 `prune` 的别名。378移除自动安装的 [依赖项](/docs/zh-CN/plugins/dependencies),没有已安装的插件需要。命令永远不会移除你自己安装的插件。`autoremove` 是 `prune` 的别名。

379 379 

380```bash theme={null}380```bash theme={null}

381claude plugin prune [options]381claude plugin prune [options]


384| 标志 | 描述 |384| 标志 | 描述 |

385| :- | :- |385| :- | :- |

386| `-s, --scope <scope>` | 在作用域处修剪:`user`、`project` 或 `local`。默认为 `user` |386| `-s, --scope <scope>` | 在作用域处修剪:`user`、`project` 或 `local`。默认为 `user` |

387| `--dry-run` | 列出将被删除的内容而不删除它 |387| `--dry-run` | 列出将被移除的内容而不移除它 |

388| `-y, --yes` | 跳过确认提示。当 stdin 或 stdout 不是 TTY 时需要 |388| `-y, --yes` | 跳过确认提示。当 stdin 或 stdout 不是 TTY 时需要 |

389 389 

390预览修剪将删除的内容:390预览修剪将移除的内容:

391 391 

392```bash theme={null}392```bash theme={null}

393claude plugin prune --dry-run393claude plugin prune --dry-run

394```394```

395 395 

396Claude Code 列出孤立的 dependencies 并以 `(dry run — nothing removed)` 结尾。当没有要删除的内容时,它打印以 `Nothing to prune` 开头的行。396Claude Code 列出孤立的依赖项并以 `(dry run — nothing removed)` 结尾。没有要移除的内容时,它打印以 `Nothing to prune` 开头的行。

397 397 

398不使用 `--dry-run`,命令仅在您在提示处确认或传递 `-y` 后删除孤立的 dependencies。398不使用 `--dry-run` 时,命令仅在你在提示处确认或传递 `-y` 后移除孤立的依赖项。

399 399 

400无论您在提示处的答案如何,退出代码都是 `0`。400无论你在提示处的答案如何,退出代码都是 `0`。

401 401 

402`prune` 的作用取决于是否附加了终端以及您是否传递了 `-y`:402`prune` 的作用取决于是否附加了终端以及你是否传递了 `-y`:

403 403 

404| 终端和标志 | 发生的情况 |404| 终端和标志 | 发生的情况 |

405| :- | :- |405| :- | :- |

406| 交互式终端,无 `-y` | 列出孤立的 dependencies 并询问 `Remove? [y/N]` |406| 交互式终端,无 `-y` | 列出孤立的依赖项并询问 `Remove? [y/N]` |

407| 任何终端,`-y` | 删除它们并打印 `Removed N auto-installed plugins: <names>` |407| 任何终端,`-y` | 移除它们并打印 `Removed N auto-installed plugins: <names>` |

408| 非 TTY stdin 或 stdout,无 `-y` | 打印列表和 ``Not a TTY — run `claude plugin prune -y` to remove.``,不删除任何内容 |408| 非 TTY stdin 或 stdout,无 `-y` | 打印列表并显示 ``Not a TTY — run `claude plugin prune -y` to remove.``,不移除任何内容 |

409 409 

410<h3 id="plugin-eval">410<h3 id="plugin-eval">

411 plugin eval411 plugin eval

412</h3>412</h3>

413 413 

414运行 plugin 的 [eval cases](/docs/zh-CN/plugin-evals) 并报告评分结果。需要 Claude Code v2.1.269 或更高版本。414运行插件的 [eval 案例](/docs/zh-CN/plugin-evals) 并报告评分结果。需要 Claude Code v2.1.269 或更高版本。

415 415 

416每个案例是一个提示加评分器。Claude Code 在仅加载目标 plugin 的隔离会话中多次运行它,默认情况下也不使用 plugin 运行,以便报告显示差异。416每个案例是一个提示加评分器。Claude Code 在隔离的会话中运行它多次,仅加载目标插件,默认情况下也不加载插件,所以报告显示差异。

417 417 

418有关案例格式、评分器、结果和 CI 使用,请参阅 [使用 evals 测试 plugins](/docs/zh-CN/plugin-evals)。418请参阅 [使用 evals 测试插件](/docs/zh-CN/plugin-evals) 了解案例格式、评分器、结果和 CI 使用。

419 419 

420```bash theme={null}420```bash theme={null}

421claude plugin eval [target] [options]421claude plugin eval [target] [options]

422```422```

423 423 

424可选的 `target` 默认为当前目录,采用以下任何形式:424可选的 `target` 默认为当前目录,并采用以下任何形式:

425 425 

426* plugin 目录426* 插件目录

427* 单个 `prompt.md` 或 `case.yaml` 文件427* 单个 `prompt.md` 或 `case.yaml` 文件

428* 已安装的 plugin,如 `name` 或 `name@marketplace`428* 已安装的插件作为 `name` 或 `name@marketplace`

429* `name@skills-dir`429* `name@skills-dir`

430 430 

431将目标放在 `--tag`、`--allow-tools` 和 `--json` 之前。这些选项中的每一个都将其后的单词作为其值,因此在其中一个之后写入的目标被读作标签、工具名称或 JSON 输出路径,而不是目标。431将目标放在 `--tag`、`--allow-tools` 和 `--json` 之前。这些选项中的每一个都将其后的单词作为其值,所以在其中一个之后写入的目标被读作标签、工具名称或 JSON 输出路径,而不是目标。

432 432 

433此表列出大多数运行使用的选项。运行 `claude plugin eval --help` 以获取完整集合,包括 `--case`、`--tag`、`--output-dir`、`--report`、`--allow-real-servers`、`--keep-temp` 和 `--verbose`。433此表列出大多数运行使用的选项。运行 `claude plugin eval --help` 以获取完整集合,包括 `--case`、`--tag`、`--output-dir`、`--report`、`--allow-real-servers`、`--keep-temp` 和 `--verbose`。

434 434 

435| 选项 | 描述 | 默认 |435| 选项 | 描述 | 默认 |

436| :- | :- | :- |436| :- | :- | :- |

437| `--runs <n>` | 每个 [arm](/docs/zh-CN/plugin-evals#compare-against-a-no-plugin-baseline) 中每个案例的运行 | 每个案例的 `runs`,否则 3 |437| `--runs <n>` | 每个 [arm](/docs/zh-CN/plugin-evals#compare-against-a-no-plugin-baseline) 中每个案例的运行 | 每个案例的 `runs`,否则 3 |

438| `-j, --concurrency <n>` | 一次运行的代理会话,1 到 8。它们共享您的速率限制 | `1` |438| `-j, --concurrency <n>` | 一次运行的代理会话,1 到 8。它们共享你的速率限制 | `1` |

439| `--model <model>` | 被测试代理的模型 | 每个案例的 `model`,否则 `ANTHROPIC_MODEL`(如果设置),否则 Claude Code 的默认值 |439| `--model <model>` | 被测试代理的模型 | 每个案例的 `model`,否则 `ANTHROPIC_MODEL` 如果设置,否则 Claude Code 的默认值 |

440| `--judge-model <model>` | `llm` 和 `baseline` 评分器的模型 | 一个小的快速模型 |440| `--judge-model <model>` | `llm` 和 `baseline` 评分器的模型 | 一个小的快速模型 |

441| `--ablation <mode>` | `none` 或 `with-without`。请参阅 [与无 plugin 基线比较](/docs/zh-CN/plugin-evals#compare-against-a-no-plugin-baseline) | 当 plugin 解析时为 `with-without`,否则为 `none` |441| `--ablation <mode>` | `none` 或 `with-without`。请参阅 [与无插件基线比较](/docs/zh-CN/plugin-evals#compare-against-a-no-plugin-baseline) | 当插件解析时为 `with-without`,否则 `none` |

442| `--threshold <0..1>` | 如果任何案例评分低于此,退出 1 | `1.0` |442| `--threshold <0..1>` | 如果任何案例评分低于此,退出 1 | `1.0` |

443| `--max-cost-usd <usd>` | 一旦支出达到此值,在下一次运行前停止,退出 2,并报告部分结果 | 无限制 |443| `--max-cost-usd <usd>` | 一旦支出达到此值,在下一次运行前停止,退出 2,并报告部分结果 | 无限制 |

444| `--allow-tools <tools...>` | 授予超出只读集合的工具,例如 `Bash`、`Write`、`Edit` 或 `"mcp__plugin_<plugin>_<server>__*"`。请参阅 [授予工具](/docs/zh-CN/plugin-evals#grant-tools) | |444| `--allow-tools <tools...>` | 授予超出只读集合的工具,例如 `Bash`、`Write`、`Edit` 或 `"mcp__plugin_<plugin>_<server>__*"`。请参阅 [授予工具](/docs/zh-CN/plugin-evals#grant-tools) | |

445| `--scaffold` | 运行每个案例的 [`scaffold_script`](/docs/zh-CN/plugin-evals#add-setup-or-history-with-case-yaml) | 关闭 |445| `--scaffold` | 运行每个案例的 [`scaffold_script`](/docs/zh-CN/plugin-evals#add-setup-or-history-with-case-yaml) | 关闭 |

446| `--trust-plugin` | 跳过首次运行信任提示,用于 CI。请参阅 [运行可以访问的内容](/docs/zh-CN/plugin-evals#security) | 关闭 |446| `--trust-plugin` | 跳过首次运行信任提示,用于 CI。请参阅 [运行可以访问的内容](/docs/zh-CN/plugin-evals#security) | 关闭 |

447| `--mocks <mode>` | `record` 或 `off`。请参阅 [Mock MCP 服务器](/docs/zh-CN/plugin-evals#mock-mcp-servers) | `record` |447| `--mocks <mode>` | `record` 或 `off`。请参阅 [模拟 MCP 服务器](/docs/zh-CN/plugin-evals#mock-mcp-servers) | `record` |

448| `--eval-dir <dir>` | plugin 下方保存案例的目录 | 清单的 `experimental.evals`,否则 `evals` |448| `--eval-dir <dir>` | 插件下方保存案例的目录 | 清单的 `experimental.evals`,否则 `evals` |

449| `--json [path]` | 将 [结果文档](/docs/zh-CN/plugin-evals#json-result) 打印到 stdout,或将其写入 `.json` 路径 | |449| `--json [path]` | 将 [结果文档](/docs/zh-CN/plugin-evals#json-result) 打印到 stdout,或写入 `.json` 路径 | |

450| `--no-publish` | 保持 HTML 报告本地 | |450| `--no-publish` | 保持 HTML 报告本地 | |

451 451 

452退出代码报告运行如何结束。要在管道中对其进行操作,请参阅 [在 CI 中运行 evals](/docs/zh-CN/plugin-evals#run-evals-in-ci)。452退出代码报告运行如何结束。要在管道中对其进行操作,请参阅 [在 CI 中运行 evals](/docs/zh-CN/plugin-evals#run-evals-in-ci)。


454| 退出代码 | 含义 |454| 退出代码 | 含义 |

455| :- | :- |455| :- | :- |

456| `0` | 每个案例都满足阈值 |456| `0` | 每个案例都满足阈值 |

457| `1` | 失败的案例、加载错误或不受信任的 plugin 目录 |457| `1` | 失败的案例、加载错误或不受信任的插件目录 |

458| `2` | 部分运行 |458| `2` | 部分运行 |

459| `130` | 中断 |459| `130` | 中断 |

460| `143` | 终止 |460| `143` | 终止 |


463 plugin eval init463 plugin eval init

464</h3>464</h3>

465 465 

466为当前目录中的 plugin 创建 eval 套件。需要 Claude Code v2.1.269 或更高版本。请参阅 [创建您的第一个 eval 套件](/docs/zh-CN/plugin-evals#create-your-first-eval-suite)。466为当前目录中的插件创建 eval 套件。需要 Claude Code v2.1.269 或更高版本。请参阅 [创建你的第一个 eval 套件](/docs/zh-CN/plugin-evals#create-your-first-eval-suite)。

467 467 

468```bash theme={null}468```bash theme={null}

469claude plugin eval init [name] [options]469claude plugin eval init [name] [options]

470```470```

471 471 

472在终端中,命令打开交互式 Claude Code 会话以进行创作访谈。在访谈中,Claude 执行以下操作:472在终端中,命令打开交互式 Claude Code 会话进行创作访谈。在访谈中,Claude 执行以下操作:

473 473 

4741. 读取 plugin4741. 读取插件

4752. 询问您它应该做什么4752. 询问你它应该做什么

4763. 提议案例和评分器4763. 提议案例和评分器

4774. 写入案例文件4774. 写入案例文件

4785. 运行案例并与您一起查看评分,以检查评分器是否按您的方式评分4785. 运行案例并与你一起查看评分,以检查评分器是否按你的方式评分

479 479 

480使用 `--bare` 或没有终端,命令改为写入空白单案例模板。当 Claude 从 Claude Code 会话内运行命令时,命令打印该会话要遵循的访谈说明,而不是写入模板。480使用 `--bare` 或没有终端时,命令改为写入空白单案例模板。当 Claude 从 Claude Code 会话内运行命令时,命令打印该会话要遵循的访谈说明,而不是写入模板。

481 481 

482可选的 `name` 是案例名称。它对于 `--bare` 或没有终端是必需的,因为命令为该案例写入空白模板。访谈不需要。482可选的 `name` 是案例名称。它与 `--bare` 或没有终端时需要,因为命令为该案例写入空白模板。访谈不需要。

483 483 

484命令接受这些选项:484命令接受这些选项:

485 485 


487| :- | :- | :- |487| :- | :- | :- |

488| `--bare` | 为 `<name>` 写入空白 `prompt.md` 和 `graders/criteria.md`,而不是运行访谈 | |488| `--bare` | 为 `<name>` 写入空白 `prompt.md` 和 `graders/criteria.md`,而不是运行访谈 | |

489| `-i, --interactive` | 需要访谈。没有终端时失败,而不是写入模板 | |489| `-i, --interactive` | 需要访谈。没有终端时失败,而不是写入模板 | |

490| `--eval-dir <dir>` | 当前目录下方写入案例的目录 | 清单的 `experimental.evals`,否则 `evals` |490| `--eval-dir <dir>` | 当前目录下写入案例的目录 | 清单的 `experimental.evals`,否则 `evals` |

491 491 

492<h3 id="plugin-tag">492<h3 id="plugin-tag">

493 plugin tag493 plugin tag

494</h3>494</h3>

495 495 

496为 plugin 发布创建名为 `<name>--v<version>` 的带注释 git 标签。在标记之前,命令检查 plugin 的 `plugin.json` 和任何列出它的市场条目是否同意版本。496为插件发布创建名为 `<name>--v<version>` 的带注释 git 标签。在标记前,命令检查插件的 `plugin.json` 和任何列出它的市场条目在版本上是否一致。

497 497 

498有关何时标记发布,请参阅 [发布 plugin](/docs/zh-CN/plugins/publish)。498关于何时标记发布,请参阅 [发布插件](/docs/zh-CN/plugins/publish)。

499 499 

500```bash theme={null}500```bash theme={null}

501claude plugin tag [path] [options]501claude plugin tag [path] [options]

502```502```

503 503 

504`[path]` 是 plugin 目录,默认为当前目录。命令通过从该目录向上走到列出 plugin 的 `.claude-plugin/marketplace.json` 来查找市场条目。504`[path]` 是插件目录,默认为当前目录。命令通过从该目录向上走到列出插件的 `.claude-plugin/marketplace.json` 来找到市场条目。

505 505 

506| 标志 | 描述 |506| 标志 | 描述 |

507| :- | :- |507| :- | :- |

508| `--push` | 创建后将标签推送到 `--remote` |508| `--push` | 创建标签后推送到 `--remote` |

509| `--dry-run` | 打印将被标记的内容而不创建标签 |509| `--dry-run` | 打印将被标记的内容而不创建标签 |

510| `-f, --force` | 跳过脏工作树和标签已存在检查 |510| `-f, --force` | 跳过脏工作树和标签已存在检查 |

511| `-m, --message <msg>` | 标签注释消息。`%s` 代表版本。默认为 `<name> <version>` |511| `-m, --message <msg>` | 标签注释消息。`%s` 代表版本。默认为 `<name> <version>` |

512| `--remote <name>` | 使用 `--push` 推送到的远程。默认为 `origin` |512| `--remote <name>` | 使用 `--push` 推送到的远程。默认为 `origin` |

513 513 

514预览市场检出中 plugin 的标签:514预览市场检出中插件的标签:

515 515 

516```bash theme={null}516```bash theme={null}

517claude plugin tag plugins/formatter --dry-run517claude plugin tag plugins/formatter --dry-run


519 519 

520Claude Code 打印计划:520Claude Code 打印计划:

521 521 

522* plugin 名称522* 插件名称

523* 版本和它来自哪个文件523* 版本及其来自的文件

524* 匹配的市场条目,当有时524* 匹配的市场条目,当有时

525* 标签名称525* 标签名称

526* 它将运行的 `git tag` 和 `git push` 命令526* 它将运行的 `git tag` 和 `git push` 命令

527 527 

528不使用 `--dry-run`,Claude Code 打印 `Created tag formatter--v1.0.0` 和 `Pushed to origin` 或您自己运行的推送命令。如果推送失败,标签仍在本地创建,命令以错误退出。528不使用 `--dry-run` 时,Claude Code 打印 `Created tag formatter--v1.0.0` 并打印 `Pushed to origin` 或你自己运行的推送命令。如果推送失败,标签仍在本地创建,命令以错误退出。

529 529 

530当它无法安全标记时,命令退出 `1` 并打印原因。常见原因是:530当命令无法安全标记时,它退出 `1` 并打印原因。常见原因是:

531 531 

532* `plugin.json` 或市场条目中没有 `version`532* `plugin.json` 或市场条目中没有 `version`

533* 标签已存在533* 标签已存在


537 plugin validate537 plugin validate

538</h3>538</h3>

539 539 

540验证 plugin 清单、市场清单或目录中的 skills、agents 和命令,并以 CI 作业可以操作的代码退出。对于创建、测试和编辑工作流,请参阅 [创建 plugin](/docs/zh-CN/plugins/create)。对于验证器在每个清单中检查的内容,请参阅 [plugin 清单参考](/docs/zh-CN/plugins/manifest-reference) 和 [市场参考](/docs/zh-CN/plugins/marketplace-reference)。540验证插件清单、市场清单或目录中的 skills、agents 和命令,并以 CI 作业可以操作的代码退出。对于创建、测试和编辑工作流,请参阅 [创建插件](/docs/zh-CN/plugins/create)。对于验证器在每个清单中检查的内容,请参阅 [插件清单参考](/docs/zh-CN/plugins/manifest-reference) 和 [市场参考](/docs/zh-CN/plugins/marketplace-reference)。

541 541 

542```bash theme={null}542```bash theme={null}

543claude plugin validate <path> [options]543claude plugin validate <path> [options]


545 545 

546| 标志 | 描述 |546| 标志 | 描述 |

547| :- | :- |547| :- | :- |

548| `--strict` | 将警告视为错误,因此运行时容忍的未识别字段和缺失元数据失败。需要 Claude Code v2.1.145 或更高版本 |548| `--strict` | 将警告视为错误,所以运行时容忍的未识别字段和缺失元数据失败。需要 Claude Code v2.1.145 或更高版本 |

549| `--json` | 将验证报告输出为一个 JSON 对象,具有相同的退出代码。需要 Claude Code v2.1.259 或更高版本 |549| `--json` | 将验证报告输出为一个 JSON 对象,具有相同的退出代码。需要 Claude Code v2.1.259 或更高版本 |

550 550 

551在提交前验证 plugin:551在提交前验证插件:

552 552 

553```bash theme={null}553```bash theme={null}

554claude plugin validate ./my-plugin --strict554claude plugin validate ./my-plugin --strict


567 * 名为 `.claude` 的目录:其中的 `skills`、`agents` 和 `commands` 目录567 * 名为 `.claude` 的目录:其中的 `skills`、`agents` 和 `commands` 目录

568 * 任何其他目录:其 `.claude` 下的这三个目录568 * 任何其他目录:其 `.claude` 下的这三个目录

569 569 

570Claude Code 不跟随您命名的目录内的符号链接。它的作用取决于链接的位置:570Claude Code 不跟随你命名的目录内的符号链接。它的作用取决于链接的位置:

571 571 

572* **plugin 或 `.claude` 根下的链接 `skills`、`agents` 或 `commands` 目录**:Claude Code 警告其中的任何内容都未被读取。572* **插件或 `.claude` 根下的链接 `skills`、`agents` 或 `commands` 目录**:Claude Code 警告其中的任何内容都未被读取。

573* **`skills`、`agents` 或 `commands` 目录内的链接条目**:Claude Code 跳过它并警告,每个目录,它跳过了多少条目,会话会加载。573* **`skills`、`agents` 或 `commands` 目录内的链接条目**:Claude Code 跳过它并警告,每个目录,它跳过了多少条目,会话会加载。

574* **您命名的 `skills`、`agents` 或 `commands` 目录本身是符号链接,或其父 `.claude` 目录是**:Claude Code 报告错误并检查其中的任何内容。改为命名真实目录。574* **你命名的 `skills`、`agents` 或 `commands` 目录本身是符号链接,或其父 `.claude` 目录是**:Claude Code 报告错误并检查其中的任何内容。改为命名真实目录。

575 575 

576验证运行不读取几个文件:576少数文件不被验证运行读取:

577 577 

578* **plugin 根处的 `SKILL.md`**:当您针对 plugin 目录运行 `claude plugin validate` 时,Claude Code 不检查 plugin 根处的 `SKILL.md`578* **插件根处的 `SKILL.md`**:当你针对插件目录运行 `claude plugin validate` 时,Claude Code 不检查插件根处的 `SKILL.md`

579* **plugin 根处的 `CLAUDE.md`**:在 plugin 运行中,Claude Code 也警告 plugin 根处的 `CLAUDE.md`579* **插件根处的 `CLAUDE.md`**:在插件运行中,Claude Code 也警告插件根处的 `CLAUDE.md`

580* **市场运行中的 Plugin 文件**:从市场目录,Claude Code 不打开 plugins 的 skill、agent、command 或 hook 文件。要在这些文件中查找错误,验证每个 plugin 目录580* **市场运行中的插件文件**:从市场目录,Claude Code 不打开插件的 skill、agent、command 或 hook 文件,或它们捆绑的 MCP 服务器文件。要在这些文件中找到错误,验证每个插件目录

581 581 

582<h4 id="output-and-exit-codes">582<h4 id="output-and-exit-codes">

583 输出和退出代码583 输出和退出代码


587 587 

588| 退出代码 | 判决行 | 含义 |588| 退出代码 | 判决行 | 含义 |

589| :- | :- | :- |589| :- | :- | :- |

590| `0` | `Validation passed` 或 `Validation passed with warnings` | 清单加载。使用 `--strict`,也没有警告 |590| `0` | `Validation passed` 或 `Validation passed with warnings` | 清单加载。使用 `--strict` 时,也没有警告 |

591| `1` | `Validation failed` 或 `Validation failed (--strict treats warnings as errors)` | 错误,或 `--strict` 下的警告 |591| `1` | `Validation failed` 或 `Validation failed (--strict treats warnings as errors)` | 错误,或 `--strict` 下的警告 |

592| `2` | `Unexpected error during validation: <reason>` | 验证器本身失败,例如在不可读的路径上 |592| `2` | `Unexpected error during validation: <reason>` | 验证器本身失败,例如在不可读的路径上 |

593 593 

594使用 `--json`,Claude Code 将报告作为一个 JSON 对象写入 stdout,具有这些顶级字段:594使用 `--json` 时,Claude Code 将报告作为一个 JSON 对象写入 stdout,具有这些顶级字段:

595 595 

596* `success`:退出代码给出的相同判决596* `success`:退出代码给出的相同判决

597* `strict`:运行是否将警告视为错误597* `strict`:运行是否将警告视为错误

598* `target`:Claude Code 验证的解析路径598* `target`:Claude Code 验证的解析路径

599* `manifest`:清单自己的结果,或没有清单的运行为 `null`599* `manifest`:清单自己的结果,或对没有清单的运行为 `null`

600* `contents`:每个文件的结果,命名其 `file` 并携带 `errors`、`warnings` 和 `notes` 数组600* `contents`:每个文件的结果,命名其 `file` 并携带 `errors`、`warnings` 和 `notes` 数组

601 601 

602在退出 `2` 时,命令不向 stdout 写入任何内容。错误消息转到 stderr。602在退出 `2` 时,命令不向 stdout 写入任何内容。错误消息转到 stderr。


709从你的设置中移除市场的声明。`rm` 是 `remove` 的别名。709从你的设置中移除市场的声明。`rm` 是 `remove` 的别名。

710 710 

711<Warning>711<Warning>

712 当你从最后一个声明市场的作用域中移除市场时,Claude Code 也会删除其缓存并卸载你从中安装的每个插件。不使用 `--scope` 时,命令从每个作用域中移除声明。要在不丢失其插件的情况下刷新市场,请改为运行 `plugin marketplace update`。712 当你从最后一个声明市场的作用域中移除市场时,Claude Code 也会删除其缓存并卸载你从中安装的每个插件。它也会删除它们保存的[选项和密钥](/docs/zh-CN/plugins/manifest-reference#user-configuration)和[数据](/docs/zh-CN/plugins/components#path-variables-and-persistent-data)(如果可以的话)。

713 

714 要在不丢失其插件的情况下刷新市场,请改为运行 `plugin marketplace update`。

713</Warning>715</Warning>

714 716 

715```bash theme={null}717```bash theme={null}


728claude plugin marketplace remove your-marketplace730claude plugin marketplace remove your-marketplace

729```731```

730 732 

731Claude Code 打印 `Successfully removed marketplace: your-marketplace`,当你限定作用域时添加 `(from project settings)`。如果你限定作用域到不声明市场的设置文件,命令失败,显示 `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`733Claude Code 打印 `Successfully removed marketplace: your-marketplace`。当命令卸载插件时,输出在诸如 `Also uninstalled 2 plugins from this marketplace:` 的行下列出它们。要再次使用其中一个,请添加市场并重新安装插件。

734 

735如果你限定作用域到不声明市场的设置文件,命令失败,显示 `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

732 736 

733<h3 id="plugin-marketplace-update">737<h3 id="plugin-marketplace-update">

734 plugin marketplace update738 plugin marketplace update

Details

126 126 

127你分发的每个 plugin 都是 `marketplace.json` 的 `plugins` 数组中的一个对象。要添加第二个 plugin,请添加第二个对象。这些字段涵盖了大多数条目:127你分发的每个 plugin 都是 `marketplace.json` 的 `plugins` 数组中的一个对象。要添加第二个 plugin,请添加第二个对象。这些字段涵盖了大多数条目:

128 128 

129* `name`:人们在安装时在 `@` 之前输入的标识符。它不能包含空格。129* `name`:人们在安装时在 `@` 之前输入的标识符。[Plugin 条目](/docs/zh-CN/plugins/marketplace-reference#plugin-entries)给出了名称可以使用的字符。

130* `source`:Claude Code 从哪里获取 plugin。对于 marketplace 目录内的 plugin,写一个相对路径字符串,如[演练](#create-a-marketplace)中所示,或对于目录外的 plugin,写一个源对象。请参阅[选择 plugin 源](#choose-a-plugin-source)。130* `source`:Claude Code 从哪里获取 plugin。对于 marketplace 目录内的 plugin,写一个相对路径字符串,如[演练](#create-a-marketplace)中所示,或对于目录外的 plugin,写一个源对象。请参阅[选择 plugin 源](#choose-a-plugin-source)。

131* `description`:人们在 `/plugin` 中浏览你的 marketplace 时在 plugin 旁边看到的行。131* `description`:人们在 `/plugin` 中浏览你的 marketplace 时在 plugin 旁边看到的行。

132 132 


199 199 

200* JSON 语法错误,如 `json: Invalid JSON syntax: <reason>`200* JSON 语法错误,如 `json: Invalid JSON syntax: <reason>`

201* 缺少必需字段,例如 `owner: Invalid input`201* 缺少必需字段,例如 `owner: Invalid input`

202* 包含空格、非 ASCII 字符或模仿官方 Anthropic marketplace 形式的 marketplace 名称,例如 `claude-official`202* 违反[marketplace 参考](/docs/zh-CN/plugins/marketplace-reference#top-level-fields)中命名规则的 marketplace 或 plugin 名称

203* 包含 `..` 的相对 `source`203* 包含 `..` 的相对 `source`

204* 顶级或 plugin 条目中的未知字段,作为警告204* 顶级或 plugin 条目中的未知字段,作为警告

205* 每个相对路径 plugin 的 `plugin.json` 中的问题,如 `plugins[N] plugin.json → <field>: <message>`205* 每个相对路径 plugin 的 `plugin.json` 中的问题,如 `plugins[N] plugin.json → <field>: <message>`

Details

121 121 

122在您的终端中,插件仅在您使用 claude.ai 账户登录的会话中同步。122在您的终端中,插件仅在您使用 claude.ai 账户登录的会话中同步。

123 123 

124Claude Code 在这些终端会话中既不下载也不加载同步插件,即使您使用 `/login` 登录后也是如此:

125 

126* 一个会话,其中 `ANTHROPIC_AUTH_TOKEN`、`CLAUDE_CODE_OAUTH_TOKEN` 或 `apiKeyHelper` 脚本提供凭证来代替该登录

127* 一个不[从 Anthropic 获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)的会话,例如您设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 的会话

128* 一个处于[裸模式](/docs/zh-CN/headless#start-faster-with-bare-mode)的会话或您使用 `--safe-mode` 启动的会话

129* 一个您使用[`--setting-sources`](/docs/zh-CN/cli-reference#cli-flags)列表启动的会话,该列表遗漏了 `user`

130 

124如果您在早期版本的 Claude Code 上登录,该登录不会覆盖插件,直到 Claude Code 在后台续期。要更快获得访问权限,请再次运行 `/login`。插件同步然后在下次启动 Claude Code 时开始。131如果您在早期版本的 Claude Code 上登录,该登录不会覆盖插件,直到 Claude Code 在后台续期。要更快获得访问权限,请再次运行 `/login`。插件同步然后在下次启动 Claude Code 时开始。

125 132 

126<h4 id="control-which-synced-plugins-load">133<h4 id="control-which-synced-plugins-load">


190| `.trash/` | claude.ai 同步删除的插件,例如在您在 claude.ai 上关闭一个或停止同步后 |197| `.trash/` | claude.ai 同步删除的插件,例如在您在 claude.ai 上关闭一个或停止同步后 |

191| `installed_plugins.json` 和 `known_marketplaces.json` | Claude Code 已安装的内容和已获取的市场的记录,在[检查插件达到的阶段](#check-which-stage-a-plugin-reached)下描述。[托管在 claude.ai 上的市场](/docs/zh-CN/plugins/install#add-from-claude-ai)改为记录在 `known_marketplaces_claudeai.json` 中 |198| `installed_plugins.json` 和 `known_marketplaces.json` | Claude Code 已安装的内容和已获取的市场的记录,在[检查插件达到的阶段](#check-which-stage-a-plugin-reached)下描述。[托管在 claude.ai 上的市场](/docs/zh-CN/plugins/install#add-from-claude-ai)改为记录在 `known_marketplaces_claudeai.json` 中 |

192| `flagged-plugins.json` | Claude Code 卸载的插件,因为其市场将其除名。它们出现在 `/plugin` 的 **Flagged** 部分;请参阅[托管市场](/docs/zh-CN/plugins/host-marketplace) |199| `flagged-plugins.json` | Claude Code 卸载的插件,因为其市场将其除名。它们出现在 `/plugin` 的 **Flagged** 部分;请参阅[托管市场](/docs/zh-CN/plugins/host-marketplace) |

200| `installed_plugins.set-aside.<date>.<hash>.json` 和 `installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code 在删除任何版本的 Claude Code 都无法使用的安装记录或重建不可读的 `installed_plugins.json` 之前保留的日期副本。请参阅[恢复说明](/docs/zh-CN/plugins/troubleshooting#installed-plugins-json-could-not-be-read-and-was-rebuilt)。它们按照 [`cleanupPeriodDays`](/docs/zh-CN/settings-reference#cleanupperioddays) 计划老化 |

193 201 

194因为 `${CLAUDE_PLUGIN_ROOT}` 指向版本目录,插件的根路径随每个版本更改。改为在 `${CLAUDE_PLUGIN_DATA}` 中保留插件的持久文件。202因为 `${CLAUDE_PLUGIN_ROOT}` 指向版本目录,插件的根路径随每个版本更改。改为在 `${CLAUDE_PLUGIN_DATA}` 中保留插件的持久文件。

195 203 

Details

48* **社区 marketplace 名称**:`claude-community`、`claude-plugins-community` 和 `healthcare`。保留规则与官方名称相同。48* **社区 marketplace 名称**:`claude-community`、`claude-plugins-community` 和 `healthcare`。保留规则与官方名称相同。

49* **插件目录名称**:`anthropic-plugin-directory` 和 `claude-plugin-directory`。保留规则与官方名称相同。49* **插件目录名称**:`anthropic-plugin-directory` 和 `claude-plugin-directory`。保留规则与官方名称相同。

50* **冒充官方 marketplace 的名称**:名称如 `official-claude-plugins` 或 `claude-plugins-v2`,以及任何包含非 ASCII 字符的名称。错误是 `Marketplace name impersonates an official Anthropic/Claude marketplace`。名称中的控制或双向格式化字符也会报告 `Marketplace name cannot contain control or bidirectional-formatting characters`。已在这样的名称下注册的 marketplace 停止加载,连同其插件。50* **冒充官方 marketplace 的名称**:名称如 `official-claude-plugins` 或 `claude-plugins-v2`,以及任何包含非 ASCII 字符的名称。错误是 `Marketplace name impersonates an official Anthropic/Claude marketplace`。名称中的控制或双向格式化字符也会报告 `Marketplace name cannot contain control or bidirectional-formatting characters`。已在这样的名称下注册的 marketplace 停止加载,连同其插件。

51* <span id="reserved-name-spellings" />**保留名称的另一种拼写**:与保留名称仅在尾部点或用除下划线以外的符号代替连字符的名称,因此 `claude.code.plugins` 计为 `claude-code-plugins`。`claude plugin validate` 接受这样的名称;添加 marketplace 失败,错误为 [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/zh-CN/errors#marketplace-name-is-another-spelling-of-a-reserved-name),已在一个下注册的 marketplace 停止加载。此检查需要 Claude Code v2.1.280 或更高版本。51* <span id="reserved-name-spellings" />**保留名称的另一种拼写**:与保留名称仅在尾部点或用除下划线以外的符号代替连字符的名称,因此 `claude.code.plugins` 计为 `claude-code-plugins`。添加 marketplace 失败,错误为 [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/zh-CN/errors#marketplace-name-is-another-spelling-of-a-reserved-name),已在一个下注册的 marketplace 停止加载。此检查需要 Claude Code v2.1.280 或更高版本。

52* **Claude Code 用于不来自 marketplace 的插件的名称**:`inline` 用于使用 [`--plugin-dir`](/docs/zh-CN/cli-reference) 加载的插件,`builtin` 用于内置插件,`skills-dir` 用于从 [`.claude/skills/`](/docs/zh-CN/skills) 自动加载的插件,`synced` 用于从你的 claude.ai 账户同步的插件。`claude-plugin-test` 也被保留。`skills-dir` 也显示为 `{"source": "skills-dir"}`,在 `strictKnownMarketplaces` 和 `blockedMarketplaces` 中,如 [仅在策略列表中有效的源值](#source-values-valid-only-in-policy-lists) 下所述。52* **Claude Code 用于不来自 marketplace 的插件的名称**:`inline` 用于使用 [`--plugin-dir`](/docs/zh-CN/cli-reference) 加载的插件,`builtin` 用于内置插件,`skills-dir` 用于从 [`.claude/skills/`](/docs/zh-CN/skills) 自动加载的插件,`synced` 用于从你的 claude.ai 账户同步的插件。`claude-plugin-test` 也被保留。`skills-dir` 也显示为 `{"source": "skills-dir"}`,在 `strictKnownMarketplaces` 和 `blockedMarketplaces` 中,如 [仅在策略列表中有效的源值](#source-values-valid-only-in-policy-lists) 下所述。

53* **`npm`、`pip`、`uv`、`cargo`、`github` 和 `gh`**:以任何大小写保留。此检查需要 Claude Code v2.1.275 或更高版本。53* **`npm`、`pip`、`uv`、`cargo`、`github` 和 `gh`**:以任何大小写保留。此检查需要 Claude Code v2.1.275 或更高版本。

54* **以 `claudeai-` 开头的名称**:为托管在 claude.ai 上的 marketplace 保留。`claude plugin marketplace add` 拒绝任何其他使用一个的 marketplace,错误为 `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`。54* **以 `claudeai-` 开头的名称**:为托管在 claude.ai 上的 marketplace 保留。`claude plugin marketplace add` 拒绝任何其他使用一个的 marketplace,错误为 `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`。


63 63 

64| 字段 | 类型 | 描述 |64| 字段 | 类型 | 描述 |

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

66| `name` | string | Marketplace 标识符。没有空格、控制字符或双向格式化字符,没有 `/` 或 `\`,没有 `..`,不是 `.`。请参阅 [保留名称](#reserved-names)。用户在安装插件时在 `@` 后键入它 |66| `name` | string | Marketplace 标识符:字母、数字、`.`、`_` 和 `-`,以字母或数字开头,没有 `..`。它形成从 marketplace 安装的每个 [plugin id](/docs/zh-CN/plugins/loading#find-where-a-plugin-came-from) 的 `@` 后面的部分,因此 `claude plugin validate` 会拒绝其他名称。请参阅 [保留名称](#reserved-names) |

67| `owner` | object | 维护者信息。`name` 是必需的;`email` 和 `url` 是可选的 |67| `owner` | object | 维护者信息。`name` 是必需的;`email` 和 `url` 是可选的 |

68| `plugins` | array | [插件条目](#plugin-entries)。每个条目单独验证,因此一个无效条目不会导致 marketplace 失败 |68| `plugins` | array | [插件条目](#plugin-entries)。每个条目单独验证,因此一个无效条目不会导致 marketplace 失败 |

69| `$schema` | string | JSON Schema URL 用于编辑器自动完成。在加载时忽略 |69| `$schema` | string | JSON Schema URL 用于编辑器自动完成。在加载时忽略 |


87 87 

88| 字段 | 类型 | 描述 |88| 字段 | 类型 | 描述 |

89| :- | :- | :- |89| :- | :- | :- |

90| `name` | string | 插件标识符,没有空格、控制字符或双向格式化字符。用户在安装时在 `@` 前键入它,即使插件自己的 `plugin.json` 设置了不同的 `name` |90| `name` | string | 插件标识符:字母、数字、`.`、`_` 和 `-`,以字母或数字开头。`claude plugin validate` 会拒绝其他名称,Claude Code 无法安装。用户在安装时在 `@` 前键入它,即使插件自己的 `plugin.json` 设置了不同的 `name` |

91| `source` | string or object | 从哪里获取插件。请参阅 [插件源](#plugin-sources) |91| `source` | string or object | 从哪里获取插件。请参阅 [插件源](#plugin-sources) |

92| `description` | string | 在 [`/plugin`](/docs/zh-CN/plugins/install) 列表和详情中显示 |92| `description` | string | 在 [`/plugin`](/docs/zh-CN/plugins/install) 列表和详情中显示 |

93| `version` | string | 插件的版本字符串。当 `plugin.json` 也设置 `version` 时,`plugin.json` 优先,`claude plugin validate` 警告。请参阅 [插件加载参考](/docs/zh-CN/plugins/loading) |93| `version` | string | 插件的版本字符串。当 `plugin.json` 也设置 `version` 时,`plugin.json` 优先,`claude plugin validate` 警告。请参阅 [插件加载参考](/docs/zh-CN/plugins/loading) |


469 469 

470以条目索引和 `plugin.json →` 为前缀的消息,例如 `plugins[2] plugin.json →`,涉及该插件自己的文件。[`claude plugin validate` 报告错误](/docs/zh-CN/plugins/troubleshooting#claude-plugin-validate-reports-errors) 列出这些消息及其修复。470以条目索引和 `plugin.json →` 为前缀的消息,例如 `plugins[2] plugin.json →`,涉及该插件自己的文件。[`claude plugin validate` 报告错误](/docs/zh-CN/plugins/troubleshooting#claude-plugin-validate-reports-errors) 列出这些消息及其修复。

471 471 

472提及 Claude Desktop 标志名称的警告,这些名称 Claude Code 接受但 Claude Desktop 拒绝,因为 Claude Desktop 的名称规则更严格。472提及 Claude Desktop 标志名称的警告,这些名称 Claude Desktop 拒绝。

473 473 

474该表将 marketplace 级别的消息映射到每个消息所涉及的字段。474该表将 marketplace 级别的消息映射到每个消息所涉及的字段。

475 475 


484| `Author name cannot be empty` | 错误 | `owner.name` |484| `Author name cannot be empty` | 错误 | `owner.name` |

485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | 错误 | `plugins[i].name` |485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | 错误 | `plugins[i].name` |

486| `Plugin name cannot contain control or bidirectional-formatting characters` | 错误 | `plugins[i].name` |486| `Plugin name cannot contain control or bidirectional-formatting characters` | 错误 | `plugins[i].name` |

487| `Claude Code cannot install plugins from marketplace "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | 错误 | `name` |

488| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | 错误 | `plugins[i].name` |

487| `Duplicate plugin name "x" found in marketplace` | 错误 | 两个条目共享一个 `name` |489| `Duplicate plugin name "x" found in marketplace` | 错误 | 两个条目共享一个 `name` |

488| `plugins.i.source: Invalid input` | 错误 | 该条目的 `source` 与任何类型都不匹配。请参阅 [Invalid input on a source](#invalid-input-on-a-source) |490| `plugins.i.source: Invalid input` | 错误 | 该条目的 `source` 与任何类型都不匹配。请参阅 [Invalid input on a source](#invalid-input-on-a-source) |

489| `plugins[i].source: Path contains "..": <path>` | 错误 | 转义 marketplace 根目录的相对 `source` |491| `plugins[i].source: Path contains "..": <path>` | 错误 | 转义 marketplace 根目录的相对 `source` |

Details

646 646 

647然后在您的会话中运行 `/reload-plugins`。**Errors** 选项卡条目消失,插件回到 **Installed** 下。647然后在您的会话中运行 `/reload-plugins`。**Errors** 选项卡条目消失,插件回到 **Installed** 下。

648 648 

649<h3 id="installed-plugins-json-holds-a-record-this-version-cannot-read">

650 `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`

651</h3>

652 

653消息以这些形式出现:

654 

655* **`claude plugin list`**:将其打印为 `Note:`

656* **`claude plugin install`、`uninstall` 和 `update`**:拒绝并显示 `Plugin "<name>" was not installed:`、`Plugin "<name>" was not uninstalled:` 或 `Plugin "<name>" was not updated:`,后跟相同的文本

657* **这三个命令中任何一个上的 `--json`**:结果行携带相同的 `message` 和 `failureCode: "install_records_unreadable"`

658* **多个这样的记录**:消息读作 `holds records under`

659* **整个文件声明此版本不知道的格式**:消息读作 `installed_plugins.json is in a format (version <N>) that this version of Claude Code does not know` 而不是

660 

661命名的记录在 `installed_plugins.json` 中是有效的 JSON,在有效的插件 id 下,但其字段对此版本不解析。最可能是另一个版本的 Claude Code 写了它,也许是更新的版本。

662 

663当记录在那里时,此版本不重写文件,所以记录不会丢失。

664 

665按顺序采取消息的选项:

666 

6671. 使用 `claude update` 更新 Claude Code。

6682. 如果您无法更新,请使用写入记录的 Claude Code 版本卸载命名的插件。

6693. 如果两者都没有帮助,请手动从 `installed_plugins.json` 删除记录,然后重新启动 Claude Code 或运行 `/reload-plugins`。

670 

671<h3 id="installed-plugins-json-could-not-be-read-and-was-rebuilt">

672 `installed_plugins.json could not be read and was rebuilt`

673</h3>

674 

675`claude plugin list` 打印此注释,带有保留文件的路径,名为 `installed_plugins.unreadable.<date>.<hash>.kept`,只要该文件位于 `installed_plugins.json` 旁边。

676 

677不是有效 JSON 的 `installed_plugins.json`,或不是插件列表的,无法说出您安装了什么。

678 

679打开 `.kept` 文件以查看旧文件记录的内容,并重新安装您缺少的插件。Claude Code 永远不会读回该文件,该文件在 [`cleanupPeriodDays`](/docs/zh-CN/settings-reference#cleanupperioddays) 计划上老化。

680 

681<h3 id="install-records-under-names-that-no-version-can-use">

682 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`

683</h3>

684 

685`claude plugin list` 打印此注释,带有副本的路径,名为 `installed_plugins.set-aside.<date>.<hash>.json`,只要该副本位于 `installed_plugins.json` 旁边。注释以 `Nothing needs doing about these copies.` 结尾。

686 

687`installed_plugins.json` 中的记录位于不是有效插件 id 的键下,因此没有版本的 Claude Code 可以使用它。文件的其余部分正常加载。

688 

689Claude Code 将不可用的记录复制到 `.set-aside` 文件中并将其从列表中删除。Claude Code 永远不会读回副本,副本在 [`cleanupPeriodDays`](/docs/zh-CN/settings-reference#cleanupperioddays) 计划上老化。

690 

649<h3 id="a-plugin-you-disabled-still-loads">691<h3 id="a-plugin-you-disabled-still-loads">

650 `Disabled in ~/.claude/settings.json but still loads`692 `Disabled in ~/.claude/settings.json but still loads`

651</h3>693</h3>


981| `Path contains "..": <path>` 在 `plugins[N].source` 下 | 错误 | 使用相对于市场根的路径,不带 `..` 段。 |1023| `Path contains "..": <path>` 在 `plugins[N].source` 下 | 错误 | 使用相对于市场根的路径,不带 `..` 段。 |

982| `Marketplace name cannot contain control or bidirectional-formatting characters` | 错误 | 从名称中删除字符,例如转义或换行符。 |1024| `Marketplace name cannot contain control or bidirectional-formatting characters` | 错误 | 从名称中删除字符,例如转义或换行符。 |

983| `Plugin name cannot contain control or bidirectional-formatting characters` | 错误 | 从插件 `name` 中删除字符。 |1025| `Plugin name cannot contain control or bidirectional-formatting characters` | 错误 | 从插件 `name` 中删除字符。 |

1026| `Claude Code cannot install plugins from marketplace "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | 错误 | 将市场重命名以符合消息所述的规则。 |

1027| `Claude Code cannot install plugin "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | 错误 | 将条目重命名以符合消息所述的规则。 |

984| `Marketplace has no plugins defined` | 警告 | 至少添加一个条目到 `plugins`。 |1028| `Marketplace has no plugins defined` | 警告 | 至少添加一个条目到 `plugins`。 |

985| `No marketplace description provided` | 警告 | 添加顶级 `description`。 |1029| `No marketplace description provided` | 警告 | 添加顶级 `description`。 |

986| `Plugin name "<name>" is not kebab-case` 在 `plugins[N] plugin.json → name` 下 | 警告 | 重命名为小写字母、数字和连字符。Claude Code 接受其他形式,但 claude.ai 市场同步拒绝它们。 |1030| `Plugin name "<name>" is not kebab-case` 在 `plugins[N] plugin.json → name` 下 | 警告 | 重命名为小写字母、数字和连字符;claude.ai 市场同步需要该形式。 |

987| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | 警告 | 更新条目以匹配 `plugin.json`,这在安装时是权威的。 |1031| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | 警告 | 更新条目以匹配 `plugin.json`,这在安装时是权威的。 |

988| `Marketplace name "<name>" is reserved in Claude Desktop` | 警告 | 重命名市场。Claude Desktop 的托管市场同步拒绝任何大小写的 `org`、`org-provisioned` 和 `unknown`。 |1032| `Marketplace name "<name>" is reserved in Claude Desktop` | 警告 | 重命名市场。Claude Desktop 的托管市场同步拒绝任何大小写的 `org`、`org-provisioned` 和 `unknown`。 |

989| `Marketplace name "<name>" is not accepted by Claude Desktop` 或 `Plugin name "<name>" is not accepted by Claude Desktop` | 警告 | 重命名为最多 128 个字符的字母、数字、`.`、`_` 和 `-`,以字母或数字开头。 |1033| `Marketplace name "<name>" is not accepted by Claude Desktop` 或 `Plugin name "<name>" is not accepted by Claude Desktop` | 警告 | 重命名为最多 128 个字符的字母、数字、`.`、`_` 和 `-`,以字母或数字开头。 |

remote-control.md +35 −35

Details

48 claude remote-control48 claude remote-control

49 ```49 ```

50 50 

51 在您接受远程控制的一次性确认之前,`claude remote-control` 会解释它的作用并在启动服务器之前询问 `Enable Remote Control? (y/n)`。回答 `y` 以接受并启动服务器。如果您拒绝,Claude Code 将退出而不启动服务器,并在您下次运行该命令时再次询问。51 在您接受远程控制的一次性确认之前,`claude remote-control` 会解释它的作用,并在启动服务器之前询问 `Enable Remote Control? (y/n)`。回答 `y` 以接受并启动服务器。如果您拒绝,Claude Code 将退出而不启动服务器,并在您下次运行该命令时再次询问。

52 52 

53 该进程在您的终端中以服务器模式保持运行,等待远程连接。它显示一个会话 URL,您可以使用该 URL 从[另一台设备连接](#connect-from-another-device),您可以按空格键显示 QR 码以从您的手机快速访问。当远程会话处于活动状态时,终端显示连接状态和工具活动。53 该进程在您的终端中以服务器模式保持运行,等待远程连接。它显示一个会话 URL,您可以使用该 URL 从[另一台设备连接](#connect-from-another-device),您可以按空格键显示 QR 码以便从手机快速访问。当远程会话处于活动状态时,终端显示连接状态和工具活动。

54 54 

55 可用标志:55 可用标志:

56 56 

57 | 标志 | 描述 |57 | 标志 | 描述 |

58 | - | - |58 | - | - |

59 | `--name "My Project"` | 设置自定义会话标题,在 claude.ai/code 的会话列表中可见。 |59 | `--name "My Project"` | 设置自定义会话标题,在 claude.ai/code 的会话列表中可见。 |

60 | `--remote-control-session-name-prefix <prefix>` | 当未设置显式名称时,自动生成的会话名称的前缀。默认为您的机器主机名,生成类似 `myhost-graceful-unicorn` 的名称。设置 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` 以获得相同效果。 |60 | `--remote-control-session-name-prefix <prefix>` | 当未设置显式名称时,自动生成的会话名称的前缀。默认为您机器的主机名,生成类似 `myhost-graceful-unicorn` 的名称。设置 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` 可获得相同效果。 |

61 | `-c`, `--continue` | 恢复此目录中最后一个服务器启动的会话,而不是创建新会话。请参阅[停止服务器后恢复会话](#resume-sessions-after-stopping-the-server)。不能与 `--session-id`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 结合使用。需要 Claude Code v2.1.200 或更高版本。 |61 | `-c`, `--continue` | 恢复此目录中最后一个服务器启动的会话,而不是创建新会话。请参阅[停止服务器后恢复会话](#resume-sessions-after-stopping-the-server)。不能与 `--session-id`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 结合使用。需要 Claude Code v2.1.200 或更高版本。 |

62 | `--session-id <id>` | 按其 ID 恢复一个会话。请参阅[停止服务器后恢复会话](#resume-sessions-after-stopping-the-server)。不能与 `--continue`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 结合使用。需要 Claude Code v2.1.200 或更高版本。 |62 | `--session-id <id>` | 按其 ID 恢复一个会话。请参阅[停止服务器后恢复会话](#resume-sessions-after-stopping-the-server)。不能与 `--continue`、`--spawn`、`--capacity` 或 `--create-session-in-dir` 结合使用。需要 Claude Code v2.1.200 或更高版本。 |

63 | `--spawn <mode>` | 服务器如何创建会话。<br />• `same-dir`(默认):所有会话共享当前工作目录,因此如果编辑相同文件可能会冲突。<br />• `worktree`:每个按需会话获得自己的 [git worktree](/docs/zh-CN/worktrees)。需要 git 存储库。<br />• `session`:单会话模式。恰好服务一个会话并拒绝其他连接。仅在启动时设置。<br />在运行时按 `w` 在 `same-dir` 和 `worktree` 之间切换。 |63 | `--spawn <mode>` | 服务器创建会话的方式。<br />• `same-dir`(默认):所有会话共享当前工作目录,因此如果编辑相同文件可能会冲突。<br />• `worktree`:每个按需会话获得自己的 [git worktree](/docs/zh-CN/worktrees)。需要 git 存储库。<br />• `session`:单会话模式。恰好服务一个会话并拒绝其他连接。仅在启动时设置。<br />在运行时按 `w` 在 `same-dir` 和 `worktree` 之间切换。 |

64 | `--capacity <N>` | 最大并发会话数。默认为 32。不能与 `--spawn=session` 一起使用。 |64 | `--capacity <N>` | 最大并发会话数。默认为 32。不能与 `--spawn=session` 一起使用。 |

65 | `--[no-]create-session-in-dir` | 在服务器启动时在当前目录中预创建一个会话,以便您有地方立即输入。在 `worktree` 模式下,此会话保留在当前目录中,而按需会话获得隔离的 worktree。默认启用。如果您传递 `--no-create-session-in-dir` 以不启动任何会话,Claude Code 会在您停止服务器时存档服务器的会话,因此没有任何内容可[恢复](#resume-sessions-after-stopping-the-server)。 |65 | `--[no-]create-session-in-dir` | 服务器启动时在当前目录中预创建一个会话,以便您有地方立即输入。在 `worktree` 模式下,此会话保留在当前目录中,而按需会话获得隔离的 worktree。默认启用。如果您传递 `--no-create-session-in-dir` 以不创建任何会话启动,Claude Code 会在您停止服务器时存档服务器的会话,因此没有任何内容可[恢复](#resume-sessions-after-stopping-the-server)。 |

66 | `--permission-mode <mode>` | 为服务器的会话设置起始[权限模式](/docs/zh-CN/permission-modes),例如 `acceptEdits`。接受 `manual` 作为 `default` 的别名;无法识别的模式会在启动时停止服务器并列出有效模式。 |66 | `--permission-mode <mode>` | 为服务器的会话设置起始[权限模式](/docs/zh-CN/permission-modes),例如 `acceptEdits`。接受 `manual` 作为 `default` 的别名;无法识别的模式会在启动时停止服务器并列出有效模式。 |

67 | `--chrome` / `--no-chrome` | 在服务器创建的会话中打开或关闭 [Chrome 集成](/docs/zh-CN/chrome),以便 Claude 可以在您从另一台设备工作时在您的机器上使用 Chrome。没有任何标志,服务器预创建的会话和您从 claude.ai/code 或 Claude 应用启动的任何会话都以 Chrome 关闭开始,即使您[默认启用了 Chrome](/docs/zh-CN/chrome#enable-chrome-by-default)。服务器为您的[项目](/docs/zh-CN/claude-projects)线程之一启动的会话改为遵循该设置,除非在 `bypassPermissions` 模式下。需要 Claude Code v2.1.273 或更高版本。 |67 | `--chrome` / `--no-chrome` | 在服务器创建的会话中打开或关闭 [Chrome 集成](/docs/zh-CN/chrome),以便 Claude 可以在您从另一台设备工作时在您的机器上使用 Chrome。如果没有任一标志,服务器预创建的会话和您从 claude.ai/code 或 Claude 应用自己启动的任何会话都以 Chrome 关闭开始,即使您[默认启用了 Chrome](/docs/zh-CN/chrome#enable-chrome-by-default)。服务器为您的[项目](/docs/zh-CN/claude-projects)线程之一启动的会话改为遵循该设置,除非在 `bypassPermissions` 模式下。需要 Claude Code v2.1.273 或更高版本。 |

68 | `-d`, `--debug[=<filter>]` | 为服务器打开调试日志记录,可选择按类别过滤。仅以 `=` 形式传递过滤器,例如 `--debug=api,hooks`。需要 Claude Code v2.1.282 或更高版本。 |68 | `-d`, `--debug[=<filter>]` | 为服务器打开调试日志记录,可选择按类别过滤。仅以 `=` 形式传递过滤器,例如 `--debug=api,hooks`。需要 Claude Code v2.1.282 或更高版本。 |

69 | `--debug-file <path>` | 将调试日志写入给定文件。 |69 | `--debug-file <path>` | 将调试日志写入给定文件。 |

70 | `--verbose` | 显示详细的连接和会话日志。 |70 | `--verbose` | 显示详细的连接和会话日志。 |


72 72 

73 在 `remote-control` 之后给出这些标志。73 在 `remote-control` 之后给出这些标志。

74 74 

75 如果您在 `remote-control` 之前传递全局 `claude` 标志,或者包装脚本添加了一个,Claude Code 不会将该标志转移到服务器创建的会话。Claude Code 仅在已知删除该标志不会改变这些会话可以执行的操作时才允许该标志通过,例如 `--verbose` 或 `--model`。对于任何其他标志,例如 `--settings`,Claude Code [拒绝启动](/docs/zh-CN/errors#not-carried-over-to-the-sessions-remote-control-starts)并命名要删除的标志。75 如果您在 `remote-control` 之前传递全局 `claude` 标志,或包装脚本添加了一个,Claude Code 不会将该标志转移到服务器创建的会话。Claude Code 仅在已知删除该标志不会改变这些会话可以执行的操作时才允许该标志通过,例如 `--verbose` 或 `--model`。对于任何其他标志,例如 `--settings`,Claude Code [拒绝启动](/docs/zh-CN/errors#not-carried-over-to-the-sessions-remote-control-starts)并命名要删除的标志。

76 76 

77 Claude Code 在打印帮助之前检查远程控制资格,因此当您未使用符合条件的帐户登录时,`claude remote-control --help` 返回错误而不是此标志列表。77 Claude Code 在打印帮助之前检查远程控制资格,因此当您未使用符合条件的帐户登录时,`claude remote-control --help` 返回错误而不是此标志列表。

78 </Tab>78 </Tab>


84 claude --remote-control84 claude --remote-control

85 ```85 ```

86 86 

87 可选择为会话传递一个名称:87 可选择为会话传递名称:

88 88 

89 ```bash theme={null}89 ```bash theme={null}

90 claude --remote-control "My Project"90 claude --remote-control "My Project"

91 ```91 ```

92 92 

93 这为您提供了一个完整的交互式会话在您的终端中,您也可以从 claude.ai 或 Claude 应用远程控制。与 `claude remote-control`(服务器模式)不同,您可以在本地输入消息,同时会话也可以远程使用。93 这为您提供了一个完整的交互式会话在您的终端中,您也可以从 claude.ai 或 Claude 应用远程控制。与 `claude remote-control`(服务器模式)不同,您可以在会话也可远程使用时在本地输入消息。

94 </Tab>94 </Tab>

95 95 

96 <Tab title="从现有会话">96 <Tab title="从现有会话">


100 /remote-control100 /remote-control

101 ```101 ```

102 102 

103 传递一个名称作为参数以设置自定义会话标题:103 传递名称作为参数以设置自定义会话标题:

104 104 

105 ```text theme={null}105 ```text theme={null}

106 /remote-control My Project106 /remote-control My Project

107 ```107 ```

108 108 

109 这启动一个远程控制会话,该会话继承您当前的对话历史。109 这启动一个远程控制会话,该会话延续您当前的对话历史。

110 110 

111 在您接受远程控制的一次性确认之前,在 `/remote-control` 连接之前会出现一个对话框。选择**启用远程控制**以接受并连接。如果您选择**算了**或按 Esc,Claude Code 不会连接,并在您下次运行 `/remote-control` 时再次询问。111 在您接受远程控制的一次性确认之前,在 `/remote-control` 连接之前会出现一个对话框。选择**启用远程控制**以接受并连接。如果您选择**算了**或按 Esc,Claude Code 不会连接,并在您下次运行 `/remote-control` 时再次询问。

112 112 

113 此命令不支持 `--verbose`、`--sandbox` 和 `--no-sandbox` 标志。113 `--verbose`、`--sandbox` 和 `--no-sandbox` 标志不适用于此命令。

114 </Tab>114 </Tab>

115 115 

116 <Tab title="VS Code">116 <Tab title="VS Code">


120 /remote-control120 /remote-control

121 ```121 ```

122 122 

123 当远程控制打开时,Claude Code 在提示框页脚中显示**远程控制**指示器。会话连接后,单击指示器直接转到会话,或在 [claude.ai/code](https://claude.ai/code) 的会话列表中找到它。Claude Code 也会在对话中发布会话 URL。要断开连接,再次运行 `/remote-control`。123 当远程控制打开时,Claude Code 在提示框页脚中显示**远程控制**指示器。会话连接后,单击指示器直接转到会话,或在 [claude.ai/code](https://claude.ai/code) 的会话列表中找到它。Claude Code 还在对话中发布会话 URL。要断开连接,再次运行 `/remote-control`。

124 124 

125 与 CLI 不同,VS Code 命令不接受名称参数或显示 QR 码。会话标题从您的对话历史或第一个提示派生。125 与 CLI 不同,VS Code 命令不接受名称参数或显示 QR 码。会话标题从您的对话历史或第一个提示派生。

126 </Tab>126 </Tab>


142 检查连接状态142 检查连接状态

143</h3>143</h3>

144 144 

145在交互式会话中,当远程控制已连接时,终端显示一个 `/rc active` 指示器,该指示器链接到 claude.ai 上的会话。当终端太窄无法容纳它时,指示器被隐藏。要查看会话 URL 和 QR 码以[从另一台设备连接](#connect-from-another-device),再次运行 `/remote-control` 以打开状态面板。该面板还允许您断开远程控制,同时您的本地会话继续运行。145在交互式会话中,当远程控制已连接时,终端显示一个 `/rc active` 指示器,该指示器链接到 claude.ai 上的会话。当终端太窄无法容纳它时,指示器被隐藏。要查看会话 URL 和用于[从另一台设备连接](#connect-from-another-device)的 QR 码,再次运行 `/remote-control` 以打开状态面板。该面板还允许您断开远程控制,同时您的本地会话继续运行。

146 146 

147<span id="session-ended-elsewhere" />如果连接在交互式会话中失败,指示器会更改以显示失败,Claude Code 会在通知中显示原因并将其添加到对话中。运行 `/remote-control` 以重新连接,除非原因说会话在其他地方更改:147<span id="session-ended-elsewhere" />如果连接在交互式会话中失败,指示器会更改以显示失败,Claude Code 会在通知中显示原因并将其添加到对话中。运行 `/remote-control` 以重新连接,除非原因说会话在其他地方更改:

148 148 


157一旦远程控制会话处于活动状态,您有几种方式从另一台设备连接:157一旦远程控制会话处于活动状态,您有几种方式从另一台设备连接:

158 158 

159* **打开会话 URL** 在任何浏览器中直接转到 [claude.ai/code](https://claude.ai/code) 上的会话。159* **打开会话 URL** 在任何浏览器中直接转到 [claude.ai/code](https://claude.ai/code) 上的会话。

160* **扫描 QR 码** 显示在会话 URL 旁边,以在 Claude 应用中直接打开它。使用 `claude remote-control`,按空格键切换 QR 码显示。160* **扫描 QR 码** 显示在会话 URL 旁边,在 Claude 应用中直接打开它。使用 `claude remote-control`,按空格键切换 QR 码显示。

161* **打开 [claude.ai/code](https://claude.ai/code) 或 Claude 应用** 并在会话列表中按名称找到会话。在 Claude 移动应用中,点击导航中的**代码**以到达会话列表。远程控制会话在在线时显示带有绿色状态点的计算机图标。161* **打开 [claude.ai/code](https://claude.ai/code) 或 Claude 应用** 并在会话列表中按名称找到会话。在 Claude 移动应用中,点击导航中的**代码**以到达会话列表。远程控制会话在联机时显示带有绿色状态点的计算机图标。

162 162 

163当您连接时,设备显示会话已在后台运行的任何子代理和工作流。从设备停止其中一个,Claude Code 会停止您的机器上的该任务。163当您连接时,设备显示会话已在后台运行的任何子代理和工作流。从设备停止其中一个,Claude Code 会停止您机器上的该任务。

164 164 

165远程会话标题按以下顺序选择:165远程会话标题按以下顺序选择:

166 166 

1671. 您传递给 `--name`、`--remote-control` 或 `/remote-control` 的名称1671. 您传递给 `--name`、`--remote-control` 或 `/remote-control` 的名称

1682. 您使用 `/rename` 设置的标题1682. 您使用 `/rename` 设置的标题

1693. 现有对话历史中最后一条有意义的消息1693. 现有对话历史中最后一条有意义的消息

1704. 自动生成的名称,如 `myhost-graceful-unicorn`,其中 `myhost` 是您的机器主机名或您使用 `--remote-control-session-name-prefix` 设置的前缀1704. 自动生成的名称,如 `myhost-graceful-unicorn`,其中 `myhost` 是您机器的主机名或您使用 `--remote-control-session-name-prefix` 设置的前缀

171 171 

172如果您未设置显式名称,Claude Code 会在您发送提示后更新标题以反映您的提示。当您从 claude.ai 或 Claude 应用重命名会话时,Claude Code 也会更新 `claude --resume` 中显示的本地标题。172如果您未设置显式名称,Claude Code 会在您发送提示后更新标题以反映您的提示。当您从 claude.ai 或 Claude 应用重命名会话时,Claude Code 也会更新 `claude --resume` 中显示的本地标题。

173 173 

174如果您还没有 Claude 应用,请在 Claude Code 中运行 `/mobile` 以显示 QR 码以访问 [claude.ai/mobile](https://claude.ai/mobile),它会打开您手机的正确应用商店。174如果您还没有 Claude 应用,请在 Claude Code 内运行 `/mobile` 以显示 [claude.ai/mobile](https://claude.ai/mobile) 的 QR 码,该码会打开适合您手机的应用商店。

175 175 

176<h3 id="what-connected-devices-see">176<h3 id="what-connected-devices-see">

177 连接的设备看到的内容177 连接的设备看到的内容


179 179 

180连接的设备显示您终端中的对话。这些情况超出了普通消息:180连接的设备显示您终端中的对话。这些情况超出了普通消息:

181 181 

182* **压缩和 `/clear`**:当 Claude Code [压缩对话](/docs/zh-CN/context-window#what-survives-compaction)时,连接的设备显示进度,然后显示对话被压缩的位置。当您运行 `/clear` 时,对话也会在连接的设备上重置。182* **压缩和 `/clear`**:当 Claude Code [压缩对话](/docs/zh-CN/context-window#what-survives-compaction)时,连接的设备显示进度,然后显示对话被压缩的位置。当您运行 `/clear` 时,对话也在连接的设备上重置。

183* **使用 `/resume` 切换对话**:连接的设备不会接收切换到的对话的标题或早期历史,但双向的新消息进出您的终端中打开的任何对话。要再次从设备处理原始对话,请在您的终端中运行 `/resume` 并切换回它。183* **使用 `/resume` 切换对话**:连接的设备不接收切换到的对话的标题或早期历史,但双向的新消息进出您终端中打开的任何对话。要从设备再次处理原始对话,请在您的终端中运行 `/resume` 并切换回它。

184* **使用 `/teleport` 拉取会话**:当您使用 `/teleport` 将[云会话](/docs/zh-CN/claude-code-on-the-web#from-cloud-to-terminal)拉入您的终端时,连接的设备不会接收拉取的对话的早期历史。双向的新消息进出拉取的对话,该对话现在是您的终端中打开的对话。184* **使用 `/teleport` 拉取会话**:当您使用 `/teleport` 将[云会话](/docs/zh-CN/claude-code-on-the-web#from-cloud-to-terminal)拉入您的终端时,连接的设备不接收拉取的对话的早期历史。双向的新消息进出拉取的对话,该对话现在是您终端中打开的对话。

185* **来自您其他会话的消息**:使用[跨会话消息传递](/docs/zh-CN/cross-session-messaging),相同的连接在不同机器上的您自己的会话之间以及来自您的[云会话](/docs/zh-CN/claude-code-on-the-web)传递消息。185* **来自您其他会话的消息**:使用[跨会话消息传递](/docs/zh-CN/cross-session-messaging),相同的连接在您不同机器上的自己的会话之间以及来自您的[云会话](/docs/zh-CN/claude-code-on-the-web)传递消息。

186* **您的更改的差异**:当会话的目录在 git 存储库中时,连接的设备的差异窗格显示您的更改。在具有超过存储库默认分支的提交的分支上,窗格显示自分支从它分离以来的更改,包括您未提交的编辑。在默认分支本身上,或在不超过它的分支上,窗格仅显示您未提交的更改。186* **您的更改的差异**:当会话的目录在 git 存储库中时,连接的设备的差异窗格显示您的更改。在具有超过存储库默认分支的提交的分支上,窗格显示自分支从它分离以来的更改,包括您未提交的编辑。在默认分支本身上,或在不超过它的分支上,窗格仅显示您未提交的更改。

187* **模型**:当您从连接的设备选择[模型](/docs/zh-CN/model-config)时,Claude Code 在该模型上运行会话。需要 Claude Code v2.1.238 或更高版本。您从设备的模型控制中选择的模型仅适用于当前会话。当您从设备向交互式会话发送 `/model <name>` 时,Claude Code 也会为新会话设置您的默认值。187* **模型**:当您从连接的设备选择[模型](/docs/zh-CN/model-config)时,Claude Code 在该模型上运行会话。需要 Claude Code v2.1.238 或更高版本。您从设备的模型控制中选择的模型仅适用于当前会话。当您从设备向交互式会话发送 `/model <name>` 时,Claude Code 也会为新会话设置您的默认值。

188* **努力级别**:当您从连接的设备使用 `/effort` 或设备的努力控制设置[努力级别](/docs/zh-CN/model-config#adjust-effort-level)时,Claude Code 将其应用于您的机器上的会话。如果您使用 `CLAUDE_CODE_EFFORT_LEVEL` 固定了一个级别,会话保持该级别,Claude Code 拒绝从努力控制中选择不同的级别。从努力控制中选择一个级别需要您的机器上的 Claude Code v2.1.234 或更高版本。188* **努力级别**:当您从连接的设备设置[努力级别](/docs/zh-CN/model-config#adjust-effort-level)时,使用 `/effort` 或设备的努力控制,Claude Code 将其应用于您机器上的会话。如果您使用 `CLAUDE_CODE_EFFORT_LEVEL` 固定了一个级别,会话保持该级别,Claude Code 拒绝从努力控制中选择不同的级别。从努力控制中选择级别需要您机器上的 Claude Code v2.1.234 或更高版本。

189* **连接失败后重新连接**:运行 `/remote-control` 以重新连接。如果压缩重写了对话或您在此期间使用 `/resume` 切换了对话,Claude Code 会存档它正在使用的服务器会话,而不是将其留在会话列表中。您仍然可以通过[过滤存档的会话](/docs/zh-CN/claude-code-on-the-web#archive-sessions)找到它。在设备仍然连接时切换对话不会存档会话。189* **连接失败后重新连接**:运行 `/remote-control` 以重新连接。如果压缩重写了对话或您在此期间使用 `/resume` 切换了对话,Claude Code 会存档它正在使用的服务器会话,而不是将其留在会话列表中。您仍然可以通过[过滤存档的会话](/docs/zh-CN/claude-code-on-the-web#archive-sessions)找到它。在设备仍然连接时切换对话不会存档会话。

190 190 

191<h3 id="enable-remote-control-for-all-sessions">191<h3 id="enable-remote-control-for-all-sessions">

192 为所有会话启用远程控制192 为所有会话启用远程控制

193</h3>193</h3>

194 194 

195远程控制仅在您显式运行 `claude remote-control`、`claude --remote-control` 或 `/remote-control` 时激活,除非打开了自动连接。要为每个交互式会话打开自动连接,请在 Claude Code 中运行 `/config` 并设置**为所有会话启用远程控制**。切换有三个值:195远程控制仅在您显式运行 `claude remote-control`、`claude --remote-control` 或 `/remote-control` 时激活,除非打开了自动连接。要为每个交互式会话打开自动连接,请在 Claude Code 内运行 `/config` 并设置**为所有会话启用远程控制**。切换有三个值:

196 196 

197* **`true`**:当交互式会话启动时自动连接。197* **`true`**:当交互式会话启动时自动连接。

198* **`false`**:关闭自动连接,尽管来自[托管设置](/docs/zh-CN/managed-settings)的 `true` 会优先,因为 Claude Code 将选择保存到您的用户设置。项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中的 `false` 甚至会关闭自动连接,即使托管 `true` 也是如此。198* **`false`**:关闭自动连接,尽管来自[托管设置](/docs/zh-CN/managed-settings)的 `true` 会优先,因为 Claude Code 将选择保存到您的用户设置。项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中的 `false` 即使在托管 `true` 上也会关闭自动连接。

199* **`default`**:清除您的选择并遵循您的组织的管理员默认值(如果已设置),否则遵循 Claude Code 的当前默认值。199* **`default`**:清除您的选择并遵循您组织的管理员默认值(如果已设置),否则遵循 Claude Code 的当前默认值。

200 200 

201相同的切换出现在 CLI 之外:201相同的切换出现在 CLI 之外:

202 202 

203* **Desktop 应用**:**设置 > Claude Code > 默认启用远程控制**。203* **Desktop 应用**:**设置 > Claude Code > 将新会话连接到远程控制**。

204* **VS Code 扩展**:[命令菜单](/docs/zh-CN/vs-code#use-the-prompt-box)的设置部分中的**为所有会话启用远程控制**。204* **VS Code 扩展**:[命令菜单](/docs/zh-CN/vs-code#use-the-prompt-box)的设置部分中的**为所有会话启用远程控制**。

205 205 

206要改为从设置文件打开自动连接,请在您的用户 `~/.claude/settings.json` 或[托管设置](/docs/zh-CN/managed-settings)中将 [`remoteControlAtStartup`](/docs/zh-CN/settings-reference#remotecontrolatstartup) 设置为 `true`。在项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中,Claude Code 遵守 `false` 并为该存储库关闭自动连接,但忽略 `true`,因此已检入的文件无法为打开存储库的每个人打开远程控制。206要改为从设置文件打开自动连接,请在您的用户 `~/.claude/settings.json` 或[托管设置](/docs/zh-CN/managed-settings)中将 [`remoteControlAtStartup`](/docs/zh-CN/settings-reference#remotecontrolatstartup) 设置为 `true`。在项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中,Claude Code 遵守 `false` 并为该存储库关闭自动连接,但忽略 `true`,因此已检入的文件无法为打开存储库的每个人打开远程控制。

207 207 

208自动连接使用您自己的 claude.ai 帐户登录,因此它启动的会话仅出现在您自己的帐户的 Claude 应用中,并且不向任何其他人授予访问权限。208自动连接使用您自己的 claude.ai 帐户登录,因此它启动的会话仅出现在您自己帐户的 Claude 应用中,并且不向任何其他人授予访问权限。

209 209 

210启用此设置后,每个交互式 Claude Code 进程注册一个远程会话。如果您运行多个实例,每个实例都获得自己的远程会话。要从单个进程运行多个并发会话,请改用[服务器模式](#start-a-remote-control-session)。210启用此设置后,每个交互式 Claude Code 进程注册一个远程会话。如果您运行多个实例,每个实例都获得自己的远程会话。要从单个进程运行多个并发会话,请改为使用[服务器模式](#start-a-remote-control-session)。

211 211 

212<h3 id="resume-sessions-after-stopping-the-server">212<h3 id="resume-sessions-after-stopping-the-server">

213 停止服务器后恢复会话213 停止服务器后恢复会话


216当您使用 Ctrl+C 停止 `claude remote-control` 时,它正在服务的会话停止从您的手机或浏览器响应。只要您没有在同一目录中运行另一个 `claude remote-control` 并且没有使用 `--no-create-session-in-dir` 启动此会话,Claude Code 就不会存档它们。要恢复它们,请在同一目录中运行以下命令之一:216当您使用 Ctrl+C 停止 `claude remote-control` 时,它正在服务的会话停止从您的手机或浏览器响应。只要您没有在同一目录中运行另一个 `claude remote-control` 并且没有使用 `--no-create-session-in-dir` 启动此会话,Claude Code 就不会存档它们。要恢复它们,请在同一目录中运行以下命令之一:

217 217 

218* **`claude remote-control`**:恢复服务器正在服务的每个会话。218* **`claude remote-control`**:恢复服务器正在服务的每个会话。

219* **`claude remote-control --continue`**:仅恢复服务器启动的会话,并在该会话结束时退出。如果此目录没有记录,Claude Code 会使用此存储库的其他 git worktree 中最新的。219* **`claude remote-control --continue`**:仅恢复服务器启动的会话,并在该会话结束时退出。如果此目录没有记录,Claude Code 使用此存储库其他 git worktree 中最新的。

220* **`claude remote-control --session-id <id>`**:仅恢复您传递其 ID 的会话,并在该会话结束时退出。ID 是会话 URL 在 claude.ai/code 中 `/code/` 和任何 `?` 之间的部分。220* **`claude remote-control --session-id <id>`**:仅恢复您传递其 ID 的会话,并在该会话结束时退出。ID 是会话 URL 在 claude.ai/code 中 `/code/` 和任何 `?` 之间的部分。

221 221 

222这些命令在服务器停止后约四小时内有效。之后,运行 `claude remote-control` 以启动新会话。如果您在此期间存档了会话,`--continue` 和 `--session-id` 会在 Claude Code v2.1.228 或更高版本上取消存档。222这些命令在服务器停止后约四小时内有效。之后,运行 `claude remote-control` 以启动新会话。如果您在此期间存档了会话,`--continue` 和 `--session-id` 在 Claude Code v2.1.228 或更高版本上取消存档它。

223 223 

224要恢复您使用 `claude --remote-control` 或 `/remote-control` 启动的会话,请使用 `claude --continue` 或 `claude --resume` 恢复对话。如果远程控制不重新连接,请参阅[无法重新连接到您的远程控制会话](#couldnt-reconnect-to-your-remote-control-session)。224要恢复您使用 `claude --remote-control` 或 `/remote-control` 启动的会话,请使用 `claude --continue` 或 `claude --resume` 恢复对话。如果远程控制无法重新连接,请参阅[无法重新连接到您的远程控制会话](#couldnt-reconnect-to-your-remote-control-session)。

225 225 

226如果您在第一个终端仍然打开远程控制的情况下在第二个终端中恢复对话,Claude Code 会在第二个终端中打印 `Remote Control not started here` 通知,并改为在那里关闭远程控制。在第二个终端中运行 `/remote-control` 以将远程控制移动到它。226如果您在第一个终端仍然打开远程控制的情况下在第二个终端中恢复对话,Claude Code 会在第二个终端中打印 `Remote Control not started here` 通知,并改为在那里关闭远程控制,而不是从第一个终端取走会话。在第二个终端中运行 `/remote-control` 以将远程控制移动到它。

227 227 

228当您在具有远程控制的 Claude Desktop 或 IDE 扩展中恢复对话时,Claude Code 会将其重新附加到现有的 claude.ai 会话,而不是向会话列表添加新会话。228当您在具有远程控制的 Claude Desktop 或 IDE 扩展中恢复对话时,Claude Code 会将其重新附加到现有 claude.ai 会话,而不是向会话列表添加新会话。

229 229 

230<h2 id="connection-and-security">230<h2 id="connection-and-security">

231 连接和安全231 连接和安全

routines.md +16 −6

Details

66 66 

67在所有其他情况下,包括发布新 artifact,Claude 会先询问。当例程的工作是保持页面最新时,请给它一个您已经发布的 artifact。67在所有其他情况下,包括发布新 artifact,Claude 会先询问。当例程的工作是保持页面最新时,请给它一个您已经发布的 artifact。

68 68 

69Routines 属于您的个人 claude.ai 账户。它们不与队友共享,并且计入您账户的每日运行配额。例程通过您连接的 GitHub 身份或 connectors 所做的任何事情都显示为您:提交和拉取请求携带您的 GitHub 用户,Slack 消息、Linear 票证或其他 connector 操作使用您为这些服务链接的账户。69Routines 属于您的个人 claude.ai 账户。它们不与队友共享,并且其运行计入您账户的 [usage and limits](#usage-and-limits)。例程通过您连接的 GitHub 身份或 connectors 所做的任何事情都显示为您:提交和拉取请求携带您的 GitHub 用户,Slack 消息、Linear 票证或其他 connector 操作使用您为这些服务链接的账户。

70 70 

71<h3 id="create-from-the-web">71<h3 id="create-from-the-web">

72 从 Web 创建72 从 Web 创建


174 174 

175与定期计划相同的本地到 UTC 转换适用于一次性时间戳。175与定期计划相同的本地到 UTC 转换适用于一次性时间戳。

176 176 

177一次性运行不计入每日例程运行上限。请参阅 [Usage and limits](#usage-and-limits) 了解详细信息。177一次性运行计入与其他计划运行相同的每小时限制。请参阅 [Usage and limits](#usage-and-limits) 了解详细信息。

178 178 

179<h3 id="add-an-api-trigger">179<h3 id="add-an-api-trigger">

180 添加 API 触发器180 添加 API 触发器


256GitHub 触发器在连接的存储库上发生匹配事件时自动启动新会话。Claude Code 不会跨事件重用会话,因此两个 PR 更新会产生两个独立会话。256GitHub 触发器在连接的存储库上发生匹配事件时自动启动新会话。Claude Code 不会跨事件重用会话,因此两个 PR 更新会产生两个独立会话。

257 257 

258<Note>258<Note>

259 在研究预览期间,GitHub webhook 事件受每个例程和每个账户的每小时上限限制。超过限制的事件被丢弃,直到窗口重置。在 [claude.ai/code/routines](https://claude.ai/code/routines) 查看您当前的限制。259 GitHub webhook 事件受每个例程和每个账户的每小时上限限制。超过限制的事件被丢弃,直到窗口重置。

260</Note>260</Note>

261 261 

262Claude GitHub App 必须安装在您想订阅的存储库上,无论您从哪个表面配置触发器。262Claude GitHub App 必须安装在您想订阅的存储库上,无论您从哪个表面配置触发器。


421 使用和限制421 使用和限制

422</h2>422</h2>

423 423 

424Routines 以与交互式会话相同的方式消耗订阅使用量。除了标准订阅限制外,routines 还对每个账户每天可以启动多少次运行有上限。在 [claude.ai/code/routines](https://claude.ai/code/routines) 或 [claude.ai/settings/usage](https://claude.ai/settings/usage) 查看您当前的消耗和剩余的每日 routine 运行次数。424Routines 以与交互式会话相同的方式消耗订阅使用量。在 [claude.ai/settings/usage](https://claude.ai/settings/usage) 查看您当前的消耗。

425 425 

426当 routine 达到每日上限或您的订阅使用限制时,启用了使用额度的组织可以继续在计量超额上运行 routines。没有使用额度,额外运行被拒绝,直到窗口重置。在 [claude.ai/settings/usage](https://claude.ai/settings/usage) 启用使用额度。在 Team 和 Enterprise 计划上,管理员在 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) 为组织启用使用额度。426除了订阅使用量外,每种启动运行的方式都有每小时限制:

427 427 

428一次性运行不计入每日 routine 运行上限。它们像任何其他会话一样消耗您的常规订阅使用量。428| 操作 | 限制 | 计数对象 | 超过限制 |

429| :- | :- | :- | :- |

430| 计划运行,包括一次性运行 | 每小时 100 次 | 您的账户 | 运行等待直到限制重置 |

431| **立即运行**、API 触发和设置一次性 routine 再次运行 | 每小时 30 次 | 每个 routine,三者共享一个计数 | 操作失败直到限制重置 |

432| **立即运行**和设置一次性 routine 再次运行 | 每小时 100 次 | 您的账户 | 相同 |

433| API 触发 | 每小时 100 次 | 您的账户,与**立即运行**分开计数 | 相同 |

434| GitHub 事件 | 见 [添加 GitHub 触发器](#add-a-github-trigger) | | |

435 

436这些每小时限制都没有超额费用。

437 

438当 routine 达到您的订阅使用限制时,启用了使用额度的组织可以继续在计量超额上运行 routines。没有使用额度,额外运行被拒绝,直到您的使用窗口重置。在 [claude.ai/settings/usage](https://claude.ai/settings/usage) 启用使用额度。在 Team 和 Enterprise 计划上,管理员在 [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) 为组织启用使用额度。

429 439 

430当您的订阅暂停时,您的 routines 会被暂停并且不会运行。一旦您的订阅再次激活,请将它们重新打开。440当您的订阅暂停时,您的 routines 会被暂停并且不会运行。一旦您的订阅再次激活,请将它们重新打开。

431 441 

sandboxing.md +1 −0

Details

528 528 

529* **默认写入行为**:对当前工作目录及其子目录的读写访问,加上使用 `--add-dir`、`/add-dir` 或 [`permissions.additionalDirectories`](/docs/zh-CN/settings-reference#permissions-additionaldirectories) 添加的任何目录,以及 `$TMPDIR` 指向的会话临时目录529* **默认写入行为**:对当前工作目录及其子目录的读写访问,加上使用 `--add-dir`、`/add-dir` 或 [`permissions.additionalDirectories`](/docs/zh-CN/settings-reference#permissions-additionaldirectories) 添加的任何目录,以及 `$TMPDIR` 指向的会话临时目录

530* **默认读取行为**:对整个计算机的读取访问,除了某些被拒绝的目录。注意此默认仍允许读取凭证文件,例如 `~/.aws/credentials` 和 `~/.ssh/`。使用 [`sandbox.credentials`](#protect-credentials) 阻止读取这些文件并取消设置密钥环境变量,或将路径添加到 `denyRead`。530* **默认读取行为**:对整个计算机的读取访问,除了某些被拒绝的目录。注意此默认仍允许读取凭证文件,例如 `~/.aws/credentials` 和 `~/.ssh/`。使用 [`sandbox.credentials`](#protect-credentials) 阻止读取这些文件并取消设置密钥环境变量,或将路径添加到 `denyRead`。

531* **读取阻止**:启用 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/zh-CN/settings-reference#permissions-blockreadsoutsideworkingdirectories) 时,沙箱化命令也会失去对你的主目录和其他保存用户文件的目录的读取访问权限,除了 [Sandboxed commands under the block](/docs/zh-CN/settings-reference#sandboxed-commands-under-the-block) 列出的路径。该部分也说明了此阻止部分何时不适用。

531* **被阻止的访问**:无法在没有明确权限的情况下修改工作目录、添加的目录和会话临时目录外的文件,包括 shell 配置文件(例如 `~/.bashrc`)和 `/bin/` 中的系统二进制文件532* **被阻止的访问**:无法在没有明确权限的情况下修改工作目录、添加的目录和会话临时目录外的文件,包括 shell 配置文件(例如 `~/.bashrc`)和 `/bin/` 中的系统二进制文件

532* **Git worktrees**:当工作目录是[链接的 git worktree](/docs/zh-CN/worktrees)时,沙箱还允许写入主存储库的共享 `.git` 目录,以便 `git commit` 等命令可以更新引用和索引。对该目录内的 `hooks/` 和 `config` 的写入仍然被拒绝。533* **Git worktrees**:当工作目录是[链接的 git worktree](/docs/zh-CN/worktrees)时,沙箱还允许写入主存储库的共享 `.git` 目录,以便 `git commit` 等命令可以更新引用和索引。对该目录内的 `hooks/` 和 `config` 的写入仍然被拒绝。

533* **可配置**:通过设置定义自定义允许和拒绝的路径534* **可配置**:通过设置定义自定义允许和拒绝的路径

Details

48* **零数据保留**:对于启用了[零数据保留](/docs/zh-CN/zero-data-retention)的组织不可用。48* **零数据保留**:对于启用了[零数据保留](/docs/zh-CN/zero-data-retention)的组织不可用。

49* **模型推理**:会话使用 Anthropic API,推理不能通过 [Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry](/docs/zh-CN/third-party-integrations) 或 [LLM 网关](/docs/zh-CN/llm-gateway)路由。49* **模型推理**:会话使用 Anthropic API,推理不能通过 [Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry](/docs/zh-CN/third-party-integrations) 或 [LLM 网关](/docs/zh-CN/llm-gateway)路由。

50* **表面**:从 [claude.ai/code](https://claude.ai/code)、移动和桌面应用、[计划例程](/docs/zh-CN/routines)以及终端启动的会话,带有 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud) 或 [`--environment` 调度](/docs/zh-CN/self-hosted-environments-testing#run-the-test-loop),可以在自托管环境中运行。[Claude Tag](https://claude.com/docs/claude-tag/overview) 会话也可以在其中运行,但 Claude 还不能在这些会话中使用[访问包](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)。[Claude Security](/docs/zh-CN/claude-security) 和[代码审查](/docs/zh-CN/code-review)会话还不能路由到它们。对这两个表面的支持将单独跟进。50* **表面**:从 [claude.ai/code](https://claude.ai/code)、移动和桌面应用、[计划例程](/docs/zh-CN/routines)以及终端启动的会话,带有 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud) 或 [`--environment` 调度](/docs/zh-CN/self-hosted-environments-testing#run-the-test-loop),可以在自托管环境中运行。[Claude Tag](https://claude.com/docs/claude-tag/overview) 会话也可以在其中运行,但 Claude 还不能在这些会话中使用[访问包](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)。[Claude Security](/docs/zh-CN/claude-security) 和[代码审查](/docs/zh-CN/code-review)会话还不能路由到它们。对这两个表面的支持将单独跟进。

51* **存储库**:会话从 GitHub 检出存储库;请参阅 [GitHub 身份验证选项](/docs/zh-CN/claude-code-on-the-web#github-authentication-options)。51* **存储库**:会话从 GitHub 检出存储库;请参阅 [GitHub 身份验证选项](/docs/zh-CN/claude-code-on-the-web#github-authentication-options)。对于 GitHub Enterprise Server 主机,请参阅其[网络要求](/docs/zh-CN/github-enterprise-server#network-requirements)。

52* **计费**:自托管环境中的会话消耗您的组织的 Claude Code 使用情况,与 Anthropic 托管环境中的会话相同。52* **计费**:自托管环境中的会话消耗您的组织的 Claude Code 使用情况,与 Anthropic 托管环境中的会话相同。

53 53 

54<h2 id="why-self-host">54<h2 id="why-self-host">

Details

170 170 

171如果您的 git 主机拒绝凭证,或您没有配置凭证,运行器重试几次然后失败存储库准备(当存储库是会话推送结果的存储库时)。对于会话仅从中读取的存储库,[故障排除](#troubleshooting)涵盖运行器何时改为跳过它。运行器不会将这些设置传递到会话的环境中。171如果您的 git 主机拒绝凭证,或您没有配置凭证,运行器重试几次然后失败存储库准备(当存储库是会话推送结果的存储库时)。对于会话仅从中读取的存储库,[故障排除](#troubleshooting)涵盖运行器何时改为跳过它。运行器不会将这些设置传递到会话的环境中。

172 172 

173保持您在 `GIT_SSH_COMMAND` 或 `GIT_ASKPASS` 中命名的任何程序,会话无法写入它,就像[加固清单](#harden-your-deployment)要求钩子目录和包装脚本的方式一样。该程序命令行上的任何密钥或文件也是如此。运行器自己的 git 在克隆或获取时运行该程序。

174 

173如果检出目录由与运行器进程不同的 uid 拥有,git 拒绝对其进行操作;添加 `safe.directory`:175如果检出目录由与运行器进程不同的 uid 拥有,git 拒绝对其进行操作;添加 `safe.directory`:

174 176 

175```dockerfile theme={null}177```dockerfile theme={null}


184 186 

185代理需要 `--capacity 1`,因为代理 URL 是按会话的,以及 git 2.32 或更高版本,因为较旧的 git 忽略代理用来隔离会话的配置机制。如果任一要求未满足,运行器拒绝启动。因为代理从 Anthropic 端获取,您的 git 主机必须可从 Anthropic 基础设施到达,与 Anthropic 托管会话相同的要求;对于仅在您的网络内可路由的 git 主机,改用 [`checkout` 生命周期钩子](/docs/zh-CN/self-hosted-environments-configuration#checkout)。每个运行器进程一次处理一个会话,因此运行更多副本以获得并行性。启用代理后,`--git-host-rewrite` 和 `--git-ssh-rewrite` 无效:代理 URL 指向 `api.anthropic.com`,而不是您的 git 主机。187代理需要 `--capacity 1`,因为代理 URL 是按会话的,以及 git 2.32 或更高版本,因为较旧的 git 忽略代理用来隔离会话的配置机制。如果任一要求未满足,运行器拒绝启动。因为代理从 Anthropic 端获取,您的 git 主机必须可从 Anthropic 基础设施到达,与 Anthropic 托管会话相同的要求;对于仅在您的网络内可路由的 git 主机,改用 [`checkout` 生命周期钩子](/docs/zh-CN/self-hosted-environments-configuration#checkout)。每个运行器进程一次处理一个会话,因此运行更多副本以获得并行性。启用代理后,`--git-host-rewrite` 和 `--git-ssh-rewrite` 无效:代理 URL 指向 `api.anthropic.com`,而不是您的 git 主机。

186 188 

189<Warning>

190 本页上的 [Kubernetes](#kubernetes) 和 [Docker Compose](#docker-compose) 配方使用 `--capacity 4`。如果您在不将容量更改为 `1` 的情况下向其中一个添加 `--use-anthropic-git-proxy` 或 `CLAUDE_RUNNER_USE_GIT_PROXY=1`,每次您的编排器重新启动它时,运行器都会在启动时退出。设置 `--capacity 1` 并运行更多副本以获得并行性。[当运行器退出](#when-the-runner-exits)显示运行器打印的行。

191</Warning>

192 

187运行器还在注册时向 Anthropic 报告选择加入,在启动时打印 `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)`。报告选择加入需要 Claude Code v2.1.267 或更高版本,较早的版本接受该标志而不报告它或打印该行。选择加入运行器上的每个会话然后使用 Anthropic 管理的 git 或按会话代理 URL。当会话使用按会话代理 URL 时,运行器记录一行 `[runner:warn]` 说明这一点。193运行器还在注册时向 Anthropic 报告选择加入,在启动时打印 `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)`。报告选择加入需要 Claude Code v2.1.267 或更高版本,较早的版本接受该标志而不报告它或打印该行。选择加入运行器上的每个会话然后使用 Anthropic 管理的 git 或按会话代理 URL。当会话使用按会话代理 URL 时,运行器记录一行 `[runner:warn]` 说明这一点。

188 194 

195<h4 id="trust-a-private-certificate-authority-with-anthropic-managed-git">

196 使用 Anthropic 管理的 git 信任专用证书颁发机构

197</h4>

198 

199如果您在运行器的环境中设置 `GIT_SSL_CAINFO` 或 `GIT_SSL_NO_VERIFY`,其会话使用 Anthropic 管理的 git,本部分适用。它描述的处理需要运行器运行 Claude Code v2.1.283 或更高版本。

200 

201当运行器上的 git 必须信任专用证书颁发机构 (CA)(例如 TLS 检查代理签署的证书颁发机构)时,通常的方法如下所示:

202 

203* **系统证书存储**:在运行器主机的系统证书存储中安装您的 CA,git 无需任何变量即可信任它。

204* **`GIT_SSL_CAINFO`**:将其设置为您的 CA 的 PEM 文件,例如 `GIT_SSL_CAINFO=/etc/ssl/corp-ca.pem`。

205* **`GIT_SSL_NO_VERIFY`**:在重新签名代理后面没有帮助。运行器自己通过 Anthropic 管理的 git 克隆检查证书,即使设置了变量,所以克隆失败,直到 git 通过其他两种方法之一信任您的 CA。

206 

207对于将会话令牌传送到 Anthropic 管理的 git 的 git 连接,运行器应用这两个变量如下。[`command` 钩子](/docs/zh-CN/self-hosted-environments-configuration#command)以会话的环境开始,所以它获得 git 在会话内获得的内容:

208 

209* **`GIT_SSL_CAINFO`**:git 检查 Anthropic 管理的 git 的内容取决于 git 运行的位置:

210 * **运行器自己的克隆和获取**:运行时不使用变量,并根据运行器写入的按会话证书文件检查 Anthropic 管理的 git。该文件保存运行器主机的系统 CA 包加上您的文件中的证书。

211 * **会话内的 Git**:获得 `http.sslCAInfo` 配置,命名您的文件代替变量,加上 `http.<url>.sslCAInfo` 条目,根据按会话文件检查 Anthropic 管理的 git。

212 * **`checkout` 和 `post-session` 钩子**:继承变量不变。

213* **`GIT_SSL_NO_VERIFY`**:哪些证书检查保持关闭取决于 git 运行的位置:

214 * **运行器自己的克隆和获取**:运行时不使用变量,并检查它们呈现的证书。

215 * **会话内的 Git**:获得 `http.sslVerify=false` 配置代替变量,所以检查对其他主机保持关闭。它还获得 `http.<url>.sslVerify=true` 条目,为 Anthropic 管理的 git 保持检查打开。

216 * **`checkout` 和 `post-session` 钩子**:当会话在 Anthropic 管理的 git 上有存储库时,获得 `http.sslVerify=false` 配置代替变量。它们还获得 `http.<url>.sslVerify=true` 条目,为 Anthropic 管理的 git 保持检查打开。

217 

218按会话证书文件需要在运行器主机上的 `/etc/ssl/certs/ca-certificates.crt` 或 `/etc/pki/tls/certs/ca-bundle.crt` 处的系统 CA 包。它还需要一个 `GIT_SSL_CAINFO` 文件,运行器的用户可以读取,保存 PEM `CERTIFICATE` 块,最多 1 MiB。当运行器无法构建按会话文件时,它记录一行 `[runner:warn]` 包含 `did not build the certificate file` 和原因。Git 然后按原样为 Anthropic 管理的 git 使用您的文件。修复该行命名的内容。

219 

220对于使用 Anthropic 管理的 git 的每个会话,运行器还记录一行 `[runner:warn]` 开始于 `governed git: GIT_SSL_CAINFO is set` 或 `governed git: GIT_SSL_NO_VERIFY is set`。该行说明运行器对其自己的 git、会话内的 git 和您的生命周期钩子对该变量所做的操作。它以您是否需要更改任何内容结束。

221 

189<h3 id="rewrite-git-urls-for-private-networks">222<h3 id="rewrite-git-urls-for-private-networks">

190 为专用网络重写 git URL223 为专用网络重写 git URL

191</h3>224</h3>


203 236 

204Anthropic 不发布预构建的运行器镜像。围绕 `claude` 二进制文件构建您自己的,分层您的存储库需要的任何工具链:语言运行时、编译器、包管理器和 [MCP](/docs/zh-CN/mcp) 边车。237Anthropic 不发布预构建的运行器镜像。围绕 `claude` 二进制文件构建您自己的,分层您的存储库需要的任何工具链:语言运行时、编译器、包管理器和 [MCP](/docs/zh-CN/mcp) 边车。

205 238 

206下面的配方使用 `--capacity 4`,所以一个容器为来自同一锁定所有者的最多四个并发会话服务。这不提供[加固部分](#harden-your-deployment)中的按会话容器隔离:在将环境连接到生产系统之前,要么以 `--capacity 1` 运行配方,每个会话一个容器,要么使用[按需运行器](/docs/zh-CN/self-hosted-environments-configuration#on-demand-runners),它也将环境密钥保持在会话运行主机之外。239下面的配方使用 `--capacity 4`,所以一个容器为来自同一锁定所有者的最多四个并发会话服务。这不提供[加固部分](#harden-your-deployment)中的按会话容器隔离:在将环境连接到生产系统之前,要么以 `--capacity 1` 运行配方,每个会话一个容器,要么使用[按需运行器](/docs/zh-CN/self-hosted-environments-configuration#on-demand-runners),它也将环境密钥保持在会话运行主机之外。如果您将[Anthropic git 代理](#use-the-anthropic-git-proxy)添加到这些配方之一,也要将 `--capacity` 更改为 `1`。

207 240 

208这个 Dockerfile 是一个最小的起点:241这个 Dockerfile 是一个最小的起点:

209 242 


338 371 

339下面的 Compose 服务在运行器退出时重启它,这涵盖崩溃和正常退出后的 drain。Docker 重启策略重启同一容器及其可写层完整,所以运行器以重用的文件系统而不是[加固态势](#harden-your-deployment)推荐的新文件系统回来;为评估使用此配方,对于生产要么每次运行重新创建容器,要么使用执行此操作的编排器。372下面的 Compose 服务在运行器退出时重启它,这涵盖崩溃和正常退出后的 drain。Docker 重启策略重启同一容器及其可写层完整,所以运行器以重用的文件系统而不是[加固态势](#harden-your-deployment)推荐的新文件系统回来;为评估使用此配方,对于生产要么每次运行重新创建容器,要么使用执行此操作的编排器。

340 373 

374Docker 在容器不断退出时会在每次重启前等待更长时间,直到达到上限,所以在此配方下无法启动的运行器不会在紧密循环中不断重启。[当运行器退出时](#when-the-runner-exits)描述了发生这种情况时要检查的内容。

375 

341```yaml theme={null}376```yaml theme={null}

342services:377services:

343 claude-runner:378 claude-runner:


451 486 

452每个会话的子 Claude Code 进程运行运行器自己的二进制文件,运行器在它生成的会话内关闭自动更新,所以每个会话运行您在主机上安装或构建到镜像中的版本。主机级更新在运行器下次启动时生效。487每个会话的子 Claude Code 进程运行运行器自己的二进制文件,运行器在它生成的会话内关闭自动更新,所以每个会话运行您在主机上安装或构建到镜像中的版本。主机级更新在运行器下次启动时生效。

453 488 

489您的会话使用的模型可能需要比它们运行的 Claude Code 版本更新的版本。服务器随后会以 [Claude Code does not support this model](/docs/zh-CN/errors#claude-code-does-not-support-this-model) 拒绝对该模型的请求。在您固定版本之前,请检查[模型需要的 Claude Code 版本](/docs/zh-CN/model-config#available-models),以了解您的会话使用的每个模型。

490 

454* **将队列保持在一个版本上**:使用固定版本构建镜像,或在裸主机上安装特定版本并[禁用自动更新](/docs/zh-CN/setup#disable-auto-updates)491* **将队列保持在一个版本上**:使用固定版本构建镜像,或在裸主机上安装特定版本并[禁用自动更新](/docs/zh-CN/setup#disable-auto-updates)

455* **升级**:安装较新版本或重建镜像,然后重启运行器492* **升级**:安装较新版本或重建镜像,然后重启运行器

456* **插件**:插件市场也不自动更新;在运行器的环境中设置 `FORCE_AUTOUPDATE_PLUGINS=1` 以让插件自动更新,同时二进制保持固定493* **插件**:插件市场也不自动更新;在运行器的环境中设置 `FORCE_AUTOUPDATE_PLUGINS=1` 以让插件自动更新,同时二进制保持固定


554 591 

555每个会话的子进程写入单独的调试日志。失败时,运行器在 claude.ai/code 中将日志的尾部与会话一起显示。除非您使用 [`--remove-session-state`](/docs/zh-CN/self-hosted-environments-reference#runner-cli-flags) 启动了运行器,否则它也会在磁盘上保留失败会话的日志,并在运行器日志中打印其路径。592每个会话的子进程写入单独的调试日志。失败时,运行器在 claude.ai/code 中将日志的尾部与会话一起显示。除非您使用 [`--remove-session-state`](/docs/zh-CN/self-hosted-environments-reference#runner-cli-flags) 启动了运行器,否则它也会在磁盘上保留失败会话的日志,并在运行器日志中打印其路径。

556 593 

594<h3 id="when-the-runner-exits">

595 当运行器退出时

596</h3>

597 

598不要重新启动 [按需运行器](/docs/zh-CN/self-hosted-environments-configuration#on-demand-runners),因为其工作订单是一次性的。在启动后立即退出的运行器需要与因任何其他原因退出的运行器不同的处理方式。

599 

600* **正常退出**:运行器完成了其会话并耗尽,达到了其退休时间,或被告知停止。重新启动它以便环境再次具有容量。[运行器生命周期](/docs/zh-CN/self-hosted-environments#runner-lifecycle) 描述了这些退出。

601* **启动失败**:运行器无法使用给定的配置或主机启动,因此它在启动后几秒钟退出,并且每次重新启动时都以相同的方式退出。更快地重新启动它没有帮助。有人需要阅读其输出并修复原因。

602 

603配置您的监督程序在运行器退出时重新启动它,当运行器在启动后立即保持退出时等待更长时间,并在这种情况持续发生时告知某人。

604 

605<h4 id="recognize-a-failed-start">

606 识别启动失败

607</h4>

608 

609当运行器无法启动时,它会打印一行说明原因,然后退出。对于大多数原因,该行包含 `[runner:fatal]`。对于某些原因,该行以 `error:` 开头,包括当运行器无法解析其标志、无法读取环境密钥或无法创建或写入基础目录时。下一行然后指向 `--help`。

610 

611大多数日志行以时间戳和 `[self-hosted-runner]` 开头,下面的示例省略了这些。例如,使用 Anthropic git 代理和容量大于 1 启动的运行器会打印如下一行:

612 

613```text theme={null}

614[runner:fatal] --use-anthropic-git-proxy requires --capacity 1 (the proxy URL is per-session and linked worktrees share origin). Omit --use-anthropic-git-proxy or set --capacity 1.

615```

616 

617在运行器的标准输出和标准错误、您的平台的容器日志或您使用 [`--log-file`](/docs/zh-CN/self-hosted-environments-reference#runner-cli-flags) 设置的文件中查找该行。运行器在打开日志文件之前打印 `error:` 行,因此请在终端或您的容器日志中查找它,如 [故障排除](#troubleshooting) 所述。

618 

619当您阅读启动失败时,这些也有帮助:

620 

621* **根本没有行**:主机杀死的运行器不会打印任何内容。如果输出以没有 `[runner:fatal]` 行和没有 `error:` 行结束,请检查主机或您的编排器是否停止了该进程,例如因为超过了内存限制。

622* **退出代码**:运行器不会为在每次启动时重复的错误预留退出代码。它对配置错误(例如不支持的标志组合)和可以自行清除的失败(例如 API 通过运行器自己的重试保持不可达)退出相同的代码。根据运行器退出的速度快慢来决定是否等待更长时间,并阅读运行器的输出以了解原因。

623* **看起来健康的环境**:某些启动步骤在运行器向您的环境注册后运行,例如 [`--configure-git`](#let-the-runner-configure-git) 和 Anthropic git 代理的凭证设置。如果其中一个步骤失败,环境可以在该进程退出后的几分钟内继续列出该运行器,并且 **Cloud environments** 页面可以读取 **Healthy**,而没有运行器拾取工作。如果会话在看起来健康的环境中保持排队,请检查您的监督程序是否在重新启动运行器。

624 

625<h4 id="restart-with-a-wait-that-grows">

626 使用增长的等待时间重新启动

627</h4>

628 

629如何获得增长的等待时间取决于您的监督程序。

630 

631* **Kubernetes**:此页面上的 [Deployment](#kubernetes) 不需要更改。容器退出后,kubelet 默认在重新启动容器之前等待,并且等待时间在每次重新启动时增长到一个上限。一旦容器运行了一段时间而没有退出,等待就会重新开始。

632 

633 当容器仅运行很短时间时,kubelet 在正常退出后应用相同的等待。经常耗尽的运行器因此也可以显示 `CrashLoopBackOff` 状态,所以在得出运行器无法启动的结论之前请阅读输出。下面的命令从 Deployment 的一个 pod 读取最后一次运行的输出:

634 

635 ```bash theme={null}

636 kubectl logs --previous -n claude-runners deploy/claude-runner

637 ```

638 

639 当最后一次运行是启动失败时,`[runner:fatal]` 或 `error:` 行在输出的最后几行中。要读取另一个 pod 的最后一次运行,请在 `deploy/claude-runner` 的位置命名该 pod。

640* **Docker 和 Docker Compose**:此页面上的 [Compose recipe](#docker-compose) 不需要更改。使用 `restart: always`,Docker 在保持退出的容器的每次重新启动之前等待更长时间,直到一个上限。在下面的命令中用容器的名称替换 `<container>`,该命令读取 Docker 重新启动容器的次数:

641 

642 ```bash theme={null}

643 docker inspect --format '{{.RestartCount}}' <container>

644 ```

645 

646 该命令打印一个数字。不断增加的数字意味着 Docker 不断重新启动运行器。

647* **systemd 单元**:默认情况下,systemd 在每次重新启动之前等待相同的 `RestartSec`,并且不会延长它,因此具有 `Restart=always` 的单元以相同的间隔重新启动无法启动的运行器。当启动速度足够快以达到单元的启动速率限制(默认为 10 秒内 5 次启动)时,systemd 停止重新启动该单元。该单元保持停止状态,直到有人再次启动它,systemd 允许在速率限制的间隔已过或在 `systemctl reset-failed` 之后启动。因为 `RestartSec` 适用于每次重新启动,更长的值也会延迟正常退出后的重新启动。选择一个平衡两者的值,并对单元的重新启动计数进行警报。

648* **shell 循环或您自己的监督程序**:自己应用相同的规则。从 5 秒的等待开始。在每次在一分钟内结束的运行之后,将下一次重新启动的等待加倍,最多 5 分钟。在运行了一分钟或更长时间的运行之后,回到 5 秒。

649 

650<h4 id="check-why-the-runner-keeps-exiting">

651 检查运行器为什么保持退出

652</h4>

653 

654当运行器连续多次在启动后立即退出时,在再次重新启动之前停止并检查这些。

655 

656* **最后的 `[runner:fatal]` 或 `error:` 行**:它说明运行器停止的原因。[故障排除](#troubleshooting) 列出了常见原因。

657* **标志的组合**:[Anthropic git 代理](#use-the-anthropic-git-proxy) 需要 `--capacity 1`。此页面上的配方使用更高的容量,因此当您将代理添加到其中一个时降低它。

658* **服务的环境可以到达什么**:如果运行器手动启动并在您的监督程序下失败,请比较用户、主目录、`PATH` 和内存限制。`--configure-git` 和 Anthropic git 代理需要 `PATH` 上的 git 和可写的 `~/.gitconfig`。

659* **环境密钥**:如果您撤销了密钥或输入错误,运行器会打印一行包含 `RegisterRunner auth failed`。

660* **环境的 Activity 标签**:打开环境并选择 **Activity**。如果新运行器不断出现在那里,但没有拾取工作,您的监督程序正在重新启动运行器。

661 

662如需在运行器主机上进行引导式诊断,请运行 [doctor 子命令](#troubleshooting)。

663 

557<h2 id="what’s-next">664<h2 id="what’s-next">

558 接下来665 接下来

559</h2>666</h2>

Details

105 </Step>105 </Step>

106</Steps>106</Steps>

107 107 

108运行器在其活跃会话完成后按设计退出;请参阅[运行器生命周期](/docs/zh-CN/self-hosted-environments#runner-lifecycle)。对于生产,在编排器下部署它,该编排器在退出时重新启动它。请参阅[部署到生产环境](/docs/zh-CN/self-hosted-environments-deploy)。108运行器在其活跃会话完成后按设计退出;请参阅[运行器生命周期](/docs/zh-CN/self-hosted-environments#runner-lifecycle)。对于生产,在编排器下部署它,该编排器在退出时重新启动它,并在运行器启动后立即继续退出时等待更长的时间再重新启动。请参阅[部署到生产环境](/docs/zh-CN/self-hosted-environments-deploy)和[当运行器退出时](/docs/zh-CN/self-hosted-environments-deploy#when-the-runner-exits)。

109 109 

110<h2 id="send-a-follow-up-message-to-a-running-session">110<h2 id="send-a-follow-up-message-to-a-running-session">

111 向运行中的会话发送后续消息111 向运行中的会话发送后续消息

Details

80 SCM 连接器标志80 SCM 连接器标志

81</h3>81</h3>

82 82 

83编排器可以与 Anthropic 的控制平面保持一个常设 WebSocket 连接,以便托管的预会话流(例如存储库选择器和分支或 ref 解析器)可以到达仅从您的网络内部可路由的 GitHub Enterprise Server 主机。除非您设置 `--scm-connector-host`,否则连接器保持关闭。83SCM 连接器不可用,因此请将本部分中的标志保持未设置。如果您设置 `--scm-connector-host`,连接不会打开,编排器会继续重试。运行器仍然作为会话队列启动。

84 

85连接器是从编排器到 Anthropic 控制平面的常设 WebSocket 连接。它的设计目的是让托管的预会话流(例如存储库选择器和分支或 ref 解析器)能够到达仅从您的网络内部可路由的 GitHub Enterprise Server 主机。请参阅 GitHub Enterprise Server 页面上的[网络要求](/docs/zh-CN/github-enterprise-server#network-requirements),了解这些流需要什么。

84 86 

85| 标志 | 默认值 | 描述 |87| 标志 | 默认值 | 描述 |

86| :- | :- | :- |88| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | 未设置 | GitHub Enterprise Server 主机名以转发请求。端口默认为 `443`。设置此标志启用连接器。 |89| `--scm-connector-host <host[:port]>` | 未设置 | GitHub Enterprise Server 主机名以转发请求。端口默认为 `443`。 |

88| `--scm-connector-id <n>` | 与 `--scm-connector-host` 一起需要 | 您的组织的 GitHub Enterprise Server 连接的数字 ID。启用连接器时,请与您的 Anthropic 帐户团队联系以获取该值。 |90| `--scm-connector-id <n>` | 与 `--scm-connector-host` 一起需要 | 您的组织的 GitHub Enterprise Server 连接的数字 ID。 |

89| `--scm-connector-provider <slug>` | `ghe` | 标识提供程序的路径段,匹配 `^[a-z0-9-]{1,32}$`。 |91| `--scm-connector-provider <slug>` | `ghe` | 标识提供程序的路径段,匹配 `^[a-z0-9-]{1,32}$`。 |

90| `--scm-connector-ca-file <path>` | 未设置 | 额外的 CA 包,PEM 格式,用于到 GitHub Enterprise Server 主机的 TLS 连接。 |92| `--scm-connector-ca-file <path>` | 未设置 | 额外的 CA 包,PEM 格式,用于到 GitHub Enterprise Server 主机的 TLS 连接。 |

91| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | 未设置 | 仅用于端到端测试:重定向 TCP 连接,同时将 Host 标头和 TLS SNI 保持为 `--scm-connector-host`。 |93| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | 未设置 | 仅用于端到端测试:重定向 TCP 连接,同时将 Host 标头和 TLS SNI 保持为 `--scm-connector-host`。 |

92 94 

93连接器使用编排器的现有环境密钥进行身份验证并自动重新连接:在连接断开时使用指数退避,或当控制平面关闭连接因为另一个编排器副本已持有它时使用固定的 30 秒延迟。95在每次连接尝试时,编排器发送其现有的环境密钥,并使用指数退避自动重试,上限为 30 秒加抖动。

94 96 

95<h2 id="environment-variable-only-settings">97<h2 id="environment-variable-only-settings">

96 仅环境变量设置98 仅环境变量设置

Details

595| [`agent`](#agent) | 将每个会话作为具有其提示、工具和模型的命名[子代理](/docs/zh-CN/sub-agents)启动 | 代理、会话和工作树 | Any file |595| [`agent`](#agent) | 将每个会话作为具有其提示、工具和模型的命名[子代理](/docs/zh-CN/sub-agents)启动 | 代理、会话和工作树 | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | 让 Claude 在决定时向您的手机发送[推送通知](/docs/zh-CN/remote-control#mobile-push-notifications) | 远程、桌面和通知 | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | 让 Claude 在决定时向您的手机发送[推送通知](/docs/zh-CN/remote-control#mobile-push-notifications) | 远程、桌面和通知 | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | 加载[claude.ai 连接器](/docs/zh-CN/mcp),Claude Code 与部署的 [`managed-mcp.json`](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 一起自行获取 | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | 加载[claude.ai 连接器](/docs/zh-CN/mcp),Claude Code 与部署的 [`managed-mcp.json`](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 一起自行获取 | MCP | Managed |

598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | 让内置的[Chrome 中的 Claude](/docs/zh-CN/chrome)服务器与部署的 [`managed-mcp.json`](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 一起运行 | MCP | Managed |

598| [`allowedChannelPlugins`](#allowedchannelplugins) | 替换可以推送消息的[频道插件](/docs/zh-CN/channels#restrict-which-channel-plugins-can-run)的默认允许列表 | 插件和技能 | Managed |599| [`allowedChannelPlugins`](#allowedchannelplugins) | 替换可以推送消息的[频道插件](/docs/zh-CN/channels#restrict-which-channel-plugins-can-run)的默认允许列表 | 插件和技能 | Managed |

599| [`allowedHttpHookUrls`](#allowedhttphookurls) | 限制[HTTP hooks](/docs/zh-CN/hooks)可以针对的 URL | Hooks 和自动化 | Any file |600| [`allowedHttpHookUrls`](#allowedhttphookurls) | 限制[HTTP hooks](/docs/zh-CN/hooks)可以针对的 URL | Hooks 和自动化 | Any file |

600| [`allowedMcpServers`](#allowedmcpservers) | 允许列表用户可以添加的[MCP 服务器](/docs/zh-CN/mcp) | MCP | Any file |601| [`allowedMcpServers`](#allowedmcpservers) | 允许列表用户可以添加的[MCP 服务器](/docs/zh-CN/mcp) | MCP | Any file |


3062</h4>3063</h4>

3063 3064 

3064* 此处的值覆盖在您的 shell 中导出的相同变量,当多个设置文件设置一个变量时,[最高优先级](/docs/zh-CN/settings#settings-precedence)的值适用。[Claude Code 在 `env` 中忽略的变量](#variables-claude-code-ignores-in-env)列出了项目和本地设置的例外。3065* 此处的值覆盖在您的 shell 中导出的相同变量,当多个设置文件设置一个变量时,[最高优先级](/docs/zh-CN/settings#settings-precedence)的值适用。[Claude Code 在 `env` 中忽略的变量](#variables-claude-code-ignores-in-env)列出了项目和本地设置的例外。

3066* 当 Claude Desktop 应用或[自托管环境](/docs/zh-CN/self-hosted-environments)运行器启动会话时,它构建的启动环境优先:Claude Code 忽略任何设置文件中的 `env` 值,用于启动环境已经设置的变量。[调试日志](/docs/zh-CN/debug-your-config)命名每个被忽略的变量。

3065* 要取消 shell 导出,将变量设置为 `""`。Claude Code 将空值视为提供程序选择的未设置,子进程继承空值。3067* 要取消 shell 导出,将变量设置为 `""`。Claude Code 将空值视为提供程序选择的未设置,子进程继承空值。

3066* `NO_COLOR` 和 `FORCE_COLOR` 在此处设置仅到达子进程。要更改 Claude Code 自己的界面颜色,请在启动 `claude` 之前在您的 shell 中设置它们。3068* `NO_COLOR` 和 `FORCE_COLOR` 在此处设置仅到达子进程。要更改 Claude Code 自己的界面颜色,请在启动 `claude` 之前在您的 shell 中设置它们。

3067* 此处的值是设置文件中的纯文本,到达 Claude Code 启动的每个子进程。对于轮换的 OTLP 承载令牌,使用 [`otelHeadersHelper`](#otelheadershelper);对于 API 凭证,使用 [`apiKeyHelper`](#apikeyhelper)。3069* 此处的值是设置文件中的纯文本,到达 Claude Code 启动的每个子进程。对于轮换的 OTLP 承载令牌,使用 [`otelHeadersHelper`](#otelheadershelper);对于 API 凭证,使用 [`apiKeyHelper`](#apikeyhelper)。


5155 5157 

5156[`allowedMcpServers`](#allowedmcpservers) 和 [`deniedMcpServers`](#deniedmcpservers) 仍然适用于此密钥加载的连接器。传递到[云会话](/docs/zh-CN/claude-code-on-the-web)的连接器,其主机携带 `managed-mcp.json`(例如自托管运行器),仍然会被禁止。请参阅[在托管集合旁边允许 claude.ai 连接器](/docs/zh-CN/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set)。5158[`allowedMcpServers`](#allowedmcpservers) 和 [`deniedMcpServers`](#deniedmcpservers) 仍然适用于此密钥加载的连接器。传递到[云会话](/docs/zh-CN/claude-code-on-the-web)的连接器,其主机携带 `managed-mcp.json`(例如自托管运行器),仍然会被禁止。请参阅[在托管集合旁边允许 claude.ai 连接器](/docs/zh-CN/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set)。

5157 5159 

5160<h3 id="allowclaudeinchromewithmanagedmcp">

5161 `allowClaudeInChromeWithManagedMcp`

5162</h3>

5163 

5164让内置的 [Chrome 中的 Claude](/docs/zh-CN/chrome) 服务器在部署的 `managed-mcp.json` 旁边运行。如果没有此密钥,部署的 `managed-mcp.json` 会在终端会话中阻止 Chrome 中的 Claude。需要 Claude Code v2.1.282 或更高版本。

5165 

5166* **作用域**: [`Managed`](#scopes),仅来自设备自己的托管设置:MDM 部署的 plist 或 HKLM 注册表密钥,或系统 `managed-settings.json` 文件。Claude Code 在服务器托管的设置、用户可写的 HKCU 注册表以及用户或项目设置中忽略它。

5167* **类型**: 布尔值

5168 * `true`: 内置的 Chrome 中的 Claude 服务器可以在部署的 `managed-mcp.json` 旁边运行

5169 * `false`: 部署的 `managed-mcp.json` 会在终端会话中阻止 Chrome 中的 Claude

5170* **默认值**: `false`,因此部署的 `managed-mcp.json` 会在终端会话中阻止 Chrome 中的 Claude

5171 

5172```json managed-settings.json theme={null}

5173{

5174 "allowClaudeInChromeWithManagedMcp": true

5175}

5176```

5177 

5178[`deniedMcpServers`](#deniedmcpservers) 中的 `claude-in-chrome` 条目仍然会在此密钥打开时阻止服务器。请参阅[在托管集合旁边允许 Chrome 中的 Claude](/docs/zh-CN/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set)。

5179 

5158<h3 id="allowedmcpservers">5180<h3 id="allowedmcpservers">

5159 `allowedMcpServers`5181 `allowedMcpServers`

5160</h3>5182</h3>

5161 5183 

5162允许列表化人们可以添加的 MCP 服务器。Claude Code 会阻止任何不匹配条目的服务器,无论在何处定义,包括插件服务器、使用 `--mcp-config` 传递的服务器以及来自 claude.ai 的服务器。5184允许列表化人们可以添加的 MCP 服务器。Claude Code 会阻止任何不匹配条目的服务器,无论在何处定义,包括插件服务器、使用 `--mcp-config` 传递的服务器以及来自 claude.ai 的服务器。

5163 5185 

5164内置服务器(例如 Chrome 中的 Claude、Claude Code 在运行的 [VS Code](/docs/zh-CN/vs-code#the-built-in-ide-mcp-server) 或 [JetBrains](/docs/zh-CN/jetbrains#the-built-in-ide-mcp-server) IDE 中连接的 `ide` 服务器,以及 CLI 本身配置的服务器)不受允许列表的限制,拒绝列表仍然适用于它们。进程内 `type: "sdk"` 服务器不受两个列表的限制;[启动会话的应用](/docs/zh-CN/mcp#how-connectors-reach-claude-code)会注册它们。5186内置服务器(例如 Chrome 中的 Claude、Claude Code 在运行的 [VS Code](/docs/zh-CN/vs-code#the-built-in-ide-mcp-server) 或 [JetBrains](/docs/zh-CN/jetbrains#the-built-in-ide-mcp-server) IDE 中连接的 `ide` 服务器,以及 CLI 本身配置的服务器)不受允许列表的限制,拒绝列表仍然适用于它们。在 Claude Code v2.1.268 或更高版本上,[Claude Tag](/docs/zh-CN/claude-tag) 会话的 Slack 工具也不受允许列表的限制,拒绝列表仍然适用于它们。进程内 `type: "sdk"` 服务器不受两个列表的限制;[启动会话的应用](/docs/zh-CN/mcp#how-connectors-reach-claude-code)会注册它们。

5165 5187 

5166您的组织提供的服务器也不受允许列表的限制,拒绝列表仍然适用于它们。豁免涵盖每个 [`managedMcpServers`](#managedmcpservers) 条目,以及任何 [`managed-mcp.json`](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 条目,其值不使用 `${VAR}` 扩展。有关完整的检查顺序,请参阅[如何评估服务器](/docs/zh-CN/managed-mcp#how-a-server-is-evaluated)。在 v2.1.259 之前,来自 `managed-mcp.json` 的服务器也必须匹配。5188您的组织提供的服务器也不受允许列表的限制,拒绝列表仍然适用于它们。豁免涵盖每个 [`managedMcpServers`](#managedmcpservers) 条目,以及任何 [`managed-mcp.json`](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 条目,其值不使用 `${VAR}` 扩展。有关完整的检查顺序,请参阅[如何评估服务器](/docs/zh-CN/managed-mcp#how-a-server-is-evaluated)。在 v2.1.259 之前,来自 `managed-mcp.json` 的服务器也必须匹配。

5167 5189 


6302 `disableSideloadFlags`6324 `disableSideloadFlags`

6303</h3>6325</h3>

6304 6326 

6305在启动时拒绝 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config` CLI 标志,用户可能会传递这些标志来绕过 [`strictKnownMarketplaces`](#strictknownmarketplaces) 进行单次运行。Claude Code 会以错误退出并命名被拒绝的标志,并对在内部使用这些标志启动 CLI 的表面应用相同的检查,目前在桌面应用中的 [Cowork](/docs/zh-CN/desktop) 本地会话。在[云会话](/docs/zh-CN/claude-code-on-the-web)中,Claude Code 会删除服务器通过 `--mcp-config` 传递的 MCP 服务器,除了进程内 `type: "sdk"` 条目,并启动会话。需要 Claude Code v2.1.193 或更高版本。6327在启动时拒绝 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config` CLI 标志,用户可能会传递这些标志来绕过 [`strictKnownMarketplaces`](#strictknownmarketplaces) 进行单次运行。Claude Code 会以错误退出并命名被拒绝的标志,并对在内部使用这些标志启动 CLI 的表面应用相同的检查,目前在桌面应用中的 [Cowork](/docs/zh-CN/desktop) 本地会话。在[云会话](/docs/zh-CN/claude-code-on-the-web)中,Claude Code 会启动会话并删除服务器通过 `--mcp-config` 传递的每个条目,除了进程内 `type: "sdk"` 条目和 [Claude Tag](/docs/zh-CN/claude-tag) 会话的 Slack 工具。需要 Claude Code v2.1.193 或更高版本。

6306 6328 

6307* **Scope**: [`Managed`](#scopes)6329* **Scope**: [`Managed`](#scopes)

6308* **Type**: Boolean6330* **Type**: Boolean

6309 * `true`: Claude Code 在启动时拒绝 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config`,并以错误退出并命名它们,除了在云会话中它删除服务器通过 `--mcp-config` 传递的 MCP 服务器,除了进程内 `type: "sdk"` 条目,并启动会话6331 * `true`: Claude Code 在启动时拒绝 `--plugin-dir`、`--plugin-url`、`--agents` 和 `--mcp-config`,并以错误退出并命名它们。在云会话中,它会启动会话并删除服务器通过 `--mcp-config` 传递的每个条目,除了进程内 `type: "sdk"` 条目和 Claude Tag 会话的 Slack 工具

6310 * `false`: Claude Code 接受这些标志6332 * `false`: Claude Code 接受这些标志

6311* **Default**: `false`6333* **Default**: `false`

6312 6334 


6320 6342 

6321相同的检查涵盖在 [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/zh-CN/env-vars#variables) 环境变量中命名的插件文件夹,这需要 Claude Code v2.1.280 或更高版本。当变量命名一个文件夹时,Claude Code 以相同的错误退出,错误说要取消设置该变量。6343相同的检查涵盖在 [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/zh-CN/env-vars#variables) 环境变量中命名的插件文件夹,这需要 Claude Code v2.1.280 或更高版本。当变量命名一个文件夹时,Claude Code 以相同的错误退出,错误说要取消设置该变量。

6322 6344 

6323在云会话中,Claude Code 也忽略服务器传递的中途 MCP 更新,云会话配置和 SDK `setMcpServers()` 调用背后的路径到达这些会话。进程内 `type: "sdk"` 条目在那里也保持豁免。在 v2.1.239 之前,服务器传递的 `--mcp-config` 阻止云会话启动。6345在云会话中,Claude Code 也忽略服务器传递的中途 MCP 更新,云会话配置和 SDK `setMcpServers()` 调用背后的路径到达这些会话。进程内 `type: "sdk"` 条目和 Claude Tag 会话的 Slack 工具在那里也保持豁免。在 v2.1.268 之前,这个删除和启动删除也删除了 Claude Tag 会话的 Slack 工具。在 v2.1.239 之前,服务器传递的 `--mcp-config` 阻止云会话启动。

6324 6346 

6325<h3 id="forceremotesettingsrefresh">6347<h3 id="forceremotesettingsrefresh">

6326 `forceRemoteSettingsRefresh`6348 `forceRemoteSettingsRefresh`

statusline.md +1 −1

Details

1178**上下文百分比显示意外值**1178**上下文百分比显示意外值**

1179 1179 

1180* 使用 `used_percentage` 获得最简单的准确上下文状态1180* 使用 `used_percentage` 获得最简单的准确上下文状态

1181* 上下文百分比可能与 `/context` 输出不同,因为每个的计算时间不同1181* 状态行报告来自最后一次 API 响应的计数,而 `/context` 添加了自该响应以来添加的消息的估计值,因此 `/context` 可以读取更高的值,直到下一次响应

1182 1182 

1183**OSC 8 链接不可点击**1183**OSC 8 链接不可点击**

1184 1184 

sub-agents.md +4 −4

Details

30 内置 subagents30 内置 subagents

31</h2>31</h2>

32 32 

33Claude Code 包括内置 subagents,Claude 在适当时自动使用。每个都继承父对话的权限;大多数运行时工具集受限。33Claude Code 包括内置 subagents,Claude 在适当时自动使用。每个都继承父对话的权限规则;大多数运行时工具集受限。

34 34 

35Explore 和 Plan 会跳过您的 CLAUDE.md 文件和 git 状态快照,以保持研究快速且成本低廉。所有其他内置和[自定义 subagent](#configure-subagents) 都会加载两者,除非其定义设置了 [`omitClaudeMd`](#supported-frontmatter-fields) 字段以跳过用户、项目和本地 CLAUDE.md 文件。有关到达 subagent 的内容的完整分解,请参阅[启动时加载的内容](#what-loads-at-startup)。35Explore 和 Plan 会跳过您的 CLAUDE.md 文件和 git 状态快照,以保持研究快速且成本低廉。所有其他内置和[自定义 subagent](#configure-subagents) 都会加载两者,除非其定义设置了 [`omitClaudeMd`](#supported-frontmatter-fields) 字段以跳过用户、项目和本地 CLAUDE.md 文件。有关到达 subagent 的内容的完整分解,请参阅[启动时加载的内容](#what-loads-at-startup)。

36 36 


802 - matcher: "Bash"802 - matcher: "Bash"

803 hooks:803 hooks:

804 - type: command804 - type: command

805 command: "./scripts/validate-command.sh $TOOL_INPUT"805 command: "./scripts/validate-command.sh"

806 PostToolUse:806 PostToolUse:

807 - matcher: "Edit|Write"807 - matcher: "Edit|Write"

808 hooks:808 hooks:


897 897 

898您也可以手动输入提及而不使用选择器:`@agent-<name>` 用于本地 subagents,或 `@agent-` 后跟 plugin subagents 的作用域名称,例如 `@agent-my-plugin:code-reviewer`。当您输入这种形式时,类型提前显示文件匹配而不是 agents。当您提交时,agent 提及仍然会解析。898您也可以手动输入提及而不使用选择器:`@agent-<name>` 用于本地 subagents,或 `@agent-` 后跟 plugin subagents 的作用域名称,例如 `@agent-my-plugin:code-reviewer`。当您输入这种形式时,类型提前显示文件匹配而不是 agents。当您提交时,agent 提及仍然会解析。

899 899 

900**将整个会话作为 subagent 运行。** 传递 [`--agent <name>`](/docs/zh-CN/cli-reference) 以启动一个会话,其中主线程本身采用该 subagent 的系统提示、工具限制和模型:900**将整个会话作为 subagent 运行。** 传递 [`--agent <name>`](/docs/zh-CN/cli-reference) 以启动一个会话,其中主线程本身采用该 subagent 的工具限制和模型:

901 901 

902```bash theme={null}902```bash theme={null}

903claude --agent code-reviewer903claude --agent code-reviewer

904```904```

905 905 

906除非代理的 [提示为空](#choose-the-subagent-scope),subagent 的系统提示完全替换默认 Claude Code 系统提示,就像 [`--system-prompt`](/docs/zh-CN/cli-reference) 一样。`CLAUDE.md` 文件和项目内存仍然通过正常消息流加载,即使代理的定义设置了 [`omitClaudeMd`](#supported-frontmatter-fields)。代理名称在启动标题中显示为 `@<name>`,以便您可以确认它是活跃的。906除非代理的 [提示为空](#choose-the-subagent-scope),custom subagent 的系统提示完全替换默认 Claude Code 系统提示,就像 [`--system-prompt`](/docs/zh-CN/cli-reference) 一样。`CLAUDE.md` 文件和项目内存仍然通过正常消息流加载,即使代理的定义设置了 [`omitClaudeMd`](#supported-frontmatter-fields)。代理名称在启动标题中显示为 `@<name>`,以便您可以确认它是活跃的。

907 907 

908这适用于内置和自定义 subagents,当您恢复会话时选择会持续:Claude Code 恢复代理的工具限制和模型以及对话。如果代理在您恢复时不再存在,会话继续使用默认工具并显示 [警告命名代理](/docs/zh-CN/errors#session-agent-no-longer-available)。对于任一情况下的系统提示,请参阅 [已恢复对话中的系统提示标志](/docs/zh-CN/cli-reference#system-prompt-flags-in-resumed-conversations)。908这适用于内置和自定义 subagents,当您恢复会话时选择会持续:Claude Code 恢复代理的工具限制和模型以及对话。如果代理在您恢复时不再存在,会话继续使用默认工具并显示 [警告命名代理](/docs/zh-CN/errors#session-agent-no-longer-available)。对于任一情况下的系统提示,请参阅 [已恢复对话中的系统提示标志](/docs/zh-CN/cli-reference#system-prompt-flags-in-resumed-conversations)。

909 909 

Details

122 122 

123 <tr>123 <tr>

124 <td>计费</td>124 <td>计费</td>

125 <td><strong>Teams:</strong> \$150/座位(Premium)提供按使用量付费选项<br /><strong>Enterprise:</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">联系销售</a></td>125 <td><strong>Teams:</strong> 按座位订阅,提供按使用量付费选项,请参阅<a href="https://claude.com/pricing?utm_source=claude_code&utm_medium=docs&utm_content=third_party_pricing#team-&-enterprise">定价</a><br /><strong>Enterprise:</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">联系销售</a></td>

126 <td>按使用量付费</td>126 <td>按使用量付费</td>

127 <td>通过 AWS 按使用量付费</td>127 <td>通过 AWS 按使用量付费</td>

128 <td>通过 AWS Marketplace 按使用量付费</td>128 <td>通过 AWS Marketplace 按使用量付费</td>

Details

445 TLS 或 SSL 连接错误445 TLS 或 SSL 连接错误

446</h3>446</h3>

447 447 

448诸如 `curl: (35) TLS connect error`、`schannel: next InitializeSecurityContext failed` 或 PowerShell 的 `Could not establish trust relationship for the SSL/TLS secure channel` 之类的错误表示 TLS 握手失败。448诸如以下错误意味着 TLS 握手失败:

449 

450* `curl: (35) TLS connect error`

451* `schannel: next InitializeSecurityContext failed`

452* PowerShell 的 `Could not create SSL/TLS secure channel`

453* PowerShell 的 `Could not establish trust relationship for the SSL/TLS secure channel`

449 454 

450**解决方案:**455**解决方案:**

451 456 

Details

52 `.heapsnapshot` 文件包含进程中的每个字符串,包括您的完整对话和凭证。不要将其附加到公开问题或共享。52 `.heapsnapshot` 文件包含进程中的每个字符串,包括您的完整对话和凭证。不要将其附加到公开问题或共享。

53</Warning>53</Warning>

54 54 

55该命令还在对话中打印摘要,显示驻留集大小、JS 堆、数组缓冲区和未计算的本机内存,以及它检测到的任何泄漏指示器,例如高内存增长率或异常高的打开句柄数。摘要说明大部分内存是在 JS 堆中(快照捕获)还是在本机内存中(它不捕获)。55该命令还在对话中打印摘要,显示进程的总内存、其中有多少在 JS 堆中,以及有多少在堆外。摘要还列出任何泄漏指示器,例如高内存增长率或异常高的打开句柄数。摘要说明大部分内存是在 JS 堆中(快照捕获),还是在本机内存中(它不捕获)。

56 56 

57对输出执行以下两项操作之一:57对输出执行以下两项操作之一:

58 58 

workflows.md +1 −1

Details

91 观看运行91 观看运行

92</h3>92</h3>

93 93 

94工作流在后台运行,所以会话在代理工作时保持响应。随时运行 `/workflows` 列出运行中和已完成的工作流,然后选择一个打开其进度视图。94工作流在后台运行,所以会话在代理工作时保持响应。随时运行 `/workflows` 列出运行中和已完成的工作流,然后选择一个打开其进度视图。要停止运行中的工作流而不打开它,在列表中选择它并按 `x`。

95 95 

96进度视图显示每个阶段及其代理计数、令牌总数和经过的时间。页脚列出每个操作的键:96进度视图显示每个阶段及其代理计数、令牌总数和经过的时间。页脚列出每个操作的键:

97 97