SpyBara
Go Premium

Documentation 2026-05-10 23:03 UTC to 2026-05-11 23:00 UTC

27 files changed +1,355 −651. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

admin-setup.md +2 −1

Details

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

65 65 

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

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

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

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

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


72| [MCP server control](/zh-CN/mcp#managed-mcp-configuration) | 限制用户可以添加或连接的 MCP 服务器 | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly` |72| [MCP server control](/zh-CN/mcp#managed-mcp-configuration) | 限制用户可以添加或连接的 MCP 服务器 | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly` |

73| [Plugin marketplace control](/zh-CN/plugin-marketplaces#managed-marketplace-restrictions) | 限制用户可以添加和安装的市场来源 | `strictKnownMarketplaces`、`blockedMarketplaces` |73| [Plugin marketplace control](/zh-CN/plugin-marketplaces#managed-marketplace-restrictions) | 限制用户可以添加和安装的市场来源 | `strictKnownMarketplaces`、`blockedMarketplaces` |

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

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

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

76 77 

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

Details

90 SDK 还支持通过第三方 API 提供商进行身份验证:90 SDK 还支持通过第三方 API 提供商进行身份验证:

91 91 

92 * **Amazon Bedrock**:设置 `CLAUDE_CODE_USE_BEDROCK=1` 环境变量并配置 AWS 凭证92 * **Amazon Bedrock**:设置 `CLAUDE_CODE_USE_BEDROCK=1` 环境变量并配置 AWS 凭证

93 * **Claude Platform on AWS**:设置 `CLAUDE_CODE_USE_ANTHROPIC_AWS=1` 和 `ANTHROPIC_AWS_WORKSPACE_ID`,然后配置 AWS 凭证

93 * **Google Vertex AI**:设置 `CLAUDE_CODE_USE_VERTEX=1` 环境变量并配置 Google Cloud 凭证94 * **Google Vertex AI**:设置 `CLAUDE_CODE_USE_VERTEX=1` 环境变量并配置 Google Cloud 凭证

94 * **Microsoft Azure**:设置 `CLAUDE_CODE_USE_FOUNDRY=1` 环境变量并配置 Azure 凭证95 * **Microsoft Azure**:设置 `CLAUDE_CODE_USE_FOUNDRY=1` 环境变量并配置 Azure 凭证

95 96 

96 有关详细信息,请参阅 [Bedrock](/zh-CN/amazon-bedrock)、[Vertex AI](/zh-CN/google-vertex-ai) 或 [Azure AI Foundry](/zh-CN/microsoft-foundry) 的设置指南。97 有关详细信息,请参阅 [Bedrock](/zh-CN/amazon-bedrock)、[Claude Platform on AWS](/zh-CN/claude-platform-on-aws)、[Vertex AI](/zh-CN/google-vertex-ai) 或 [Azure AI Foundry](/zh-CN/microsoft-foundry) 的设置指南。

97 98 

98 <Note>99 <Note>

99 除非事先获得批准,否则 Anthropic 不允许第三方开发人员为其产品(包括基于 Claude Agent SDK 构建的代理)提供 claude.ai 登录或速率限制。请改用本文档中描述的 API 密钥身份验证方法。100 除非事先获得批准,否则 Anthropic 不允许第三方开发人员为其产品(包括基于 Claude Agent SDK 构建的代理)提供 claude.ai 登录或速率限制。请改用本文档中描述的 API 密钥身份验证方法。

Details

2608 2608 

2609```python theme={null}2609```python theme={null}

2610{2610{

2611 "response": str, # AI 模型对提示的响应2611 "bytes": int, # 获取的内容大小(字节)

2612 "code": int, # HTTP 响应代码

2613 "codeText": str, # HTTP 响应代码文本

2614 "result": str, # 通过将提示应用于内容得到的处理结果

2615 "durationMs": int, # 获取和处理内容的时间(毫秒)

2612 "url": str, # 被获取的 URL2616 "url": str, # 被获取的 URL

2613 "final_url": str | None, # 重定向后的最终 URL

2614 "status_code": int | None, # HTTP 状态代码

2615}2617}

2616```2618```

2617 2619 


2633 2635 

2634```python theme={null}2636```python theme={null}

2635{2637{

2636 "results": [{"title": str, "url": str, "snippet": str, "metadata": dict | None}],2638 "query": str, # 搜索查询

2637 "total_results": int,2639 "results": list[str | {"tool_use_id": str, "content": list[{"title": str, "url": str}]}],

2638 "query": str,2640 "durationSeconds": float, # 搜索持续时间(秒)

2639}2641}

2640```2642```

2641 2643 

Details

75 SDK 还支持通过第三方 API 提供商进行身份验证:75 SDK 还支持通过第三方 API 提供商进行身份验证:

76 76 

77 * **Amazon Bedrock**:设置 `CLAUDE_CODE_USE_BEDROCK=1` 环境变量并配置 AWS 凭证77 * **Amazon Bedrock**:设置 `CLAUDE_CODE_USE_BEDROCK=1` 环境变量并配置 AWS 凭证

78 * **Claude Platform on AWS**:设置 `CLAUDE_CODE_USE_ANTHROPIC_AWS=1` 和 `ANTHROPIC_AWS_WORKSPACE_ID`,然后配置 AWS 凭证

78 * **Google Vertex AI**:设置 `CLAUDE_CODE_USE_VERTEX=1` 环境变量并配置 Google Cloud 凭证79 * **Google Vertex AI**:设置 `CLAUDE_CODE_USE_VERTEX=1` 环境变量并配置 Google Cloud 凭证

79 * **Microsoft Azure**:设置 `CLAUDE_CODE_USE_FOUNDRY=1` 环境变量并配置 Azure 凭证80 * **Microsoft Azure**:设置 `CLAUDE_CODE_USE_FOUNDRY=1` 环境变量并配置 Azure 凭证

80 81 

81 有关详细信息,请参阅 [Bedrock](/zh-CN/amazon-bedrock)、[Vertex AI](/zh-CN/google-vertex-ai) 或 [Azure AI Foundry](/zh-CN/microsoft-foundry) 的设置指南。82 有关详细信息,请参阅 [Bedrock](/zh-CN/amazon-bedrock)、[Claude Platform on AWS](/zh-CN/claude-platform-on-aws)、[Vertex AI](/zh-CN/google-vertex-ai) 或 [Azure AI Foundry](/zh-CN/microsoft-foundry) 的设置指南。

82 83 

83 <Note>84 <Note>

84 除非事先获得批准,否则 Anthropic 不允许第三方开发者提供 claude.ai 登录或对其产品的速率限制,包括基于 Claude Agent SDK 构建的代理。请改用本文档中描述的 API 密钥身份验证方法。85 除非事先获得批准,否则 Anthropic 不允许第三方开发者提供 claude.ai 登录或对其产品的速率限制,包括基于 Claude Agent SDK 构建的代理。请改用本文档中描述的 API 密钥身份验证方法。


173 174 

1742. **`prompt`**:你想让 Claude 做什么。Claude 根据任务确定要使用哪些工具。1752. **`prompt`**:你想让 Claude 做什么。Claude 根据任务确定要使用哪些工具。

175 176 

1763. **`options`**:代理的配置。此示例使用 `allowedTools` 预先批准 `Read`、`Edit` 和 `Glob`,以及 `permissionMode: "acceptEdits"` 来自动批准文件更改。其他选项包括 `systemPrompt`、`mcpServers` 等。查看 [Python](/zh-CN/agent-sdk/python#claude-agent-options) 或 [TypeScript](/zh-CN/agent-sdk/typescript#options) 的所有选项。1773. **`options`**:代理的配置。此示例使用 `allowedTools` 预先批准 `Read`、`Edit` 和 `Glob`,以及 `permissionMode: "acceptEdits"` 来自动批准文件更改。其他选项包括 `systemPrompt`、`mcpServers` 等。查看 [Python](/zh-CN/agent-sdk/python#claudeagentoptions) 或 [TypeScript](/zh-CN/agent-sdk/typescript#options) 的所有选项。

177 178 

178`async for` 循环在 Claude 思考、调用工具、观察结果并决定下一步做什么时继续运行。每次迭代都会产生一条消息:Claude 的推理、工具调用、工具结果或最终结果。SDK 处理编排(工具执行、上下文管理、重试),所以你只需使用流。当 Claude 完成任务或遇到错误时,循环结束。179`async for` 循环在 Claude 思考、调用工具、观察结果并决定下一步做什么时继续运行。每次迭代都会产生一条消息:Claude 的推理、工具调用、工具结果或最终结果。SDK 处理编排(工具执行、上下文管理、重试),所以你只需使用流。当 Claude 完成任务或遇到错误时,循环结束。

179 180 

agent-view.md +293 −0 created

Details

1> ## Documentation Index

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

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

4 

5# 使用 agent view 管理多个代理

6 

7> 从一个屏幕调度和管理多个 Claude Code 会话。Agent view 显示每个会话正在做什么以及哪些会话需要你的输入。

8 

9Agent view 通过 `claude agents` 打开,是所有后台会话的一个屏幕:什么正在运行、什么需要你的输入、什么已完成。调度新会话,一目了然地查看它们的状态而不是滚动浏览记录,只在需要时才介入。会话在没有终端连接的情况下继续在后台运行。

10 

11当你有多个独立任务 Claude 可以同时处理时,使用 agent view,例如修复 bug、审查拉取请求或调查日志。当你想一起解决问题时,附加到一个会话并像往常一样交互式地使用 Claude Code。会话在 agent view 中独立运行,仅向你报告。要与 subagents、agent teams 和 worktrees 进行比较,请参阅 [并行运行代理](/zh-CN/agents)。

12 

13<Note>

14 Agent view 是研究预览版,需要 Claude Code v2.1.139 或更高版本。使用 `claude --version` 检查你的版本。随着功能的发展,界面和快捷键可能会改变,管理员可以通过 [`disableAgentView`](#how-background-sessions-are-hosted) 托管设置为组织禁用 agent view。

15</Note>

16 

17本页涵盖:

18 

19* [快速开始](#quick-start)

20* [使用 agent view 监控会话](#monitor-sessions-with-agent-view),包括状态图标、窥视和回复、附加、组织和快捷键

21* [调度新代理](#dispatch-new-agents),从 agent view、从会话内部或从 shell

22* [从 shell 管理会话](#manage-sessions-from-the-shell)

23* [后台会话如何被托管](#how-background-sessions-are-hosted),由监督进程

24 

25## 快速开始

26 

27本演练打开 agent view、调度一个会话、从窥视面板回复,以及附加到完整对话。

28 

29<Steps>

30 <Step title="打开 agent view">

31 从你的 shell,运行:

32 

33 ```bash theme={null}

34 claude agents

35 ```

36 

37 Agent view 打开,底部有一个输入框,当会话启动时表格会填充。随时按 `Esc` 退出。你的会话继续运行。

38 </Step>

39 

40 <Step title="调度一个会话">

41 在输入框中输入提示并按 `Enter`。一个新会话启动并显示为一行,显示它是否正在工作、等待你或已完成。重复以并行运行尽可能多的会话。

42 </Step>

43 

44 <Step title="窥视和回复">

45 用箭头键选择一行,按 `Space` 查看会话正在做什么或它需要什么。输入回复并按 `Enter` 发送,无需离开 agent view。

46 </Step>

47 

48 <Step title="附加和分离">

49 在一行上按 `Enter` 或 `→` 在你想要完整对话时附加。会话接管终端,就像你运行了 `claude` 一样。在空提示上按 `←` 分离并返回表格。

50 </Step>

51</Steps>

52 

53要将现有的交互式会话带入 agent view,在其中运行 `/bg`,或在空提示上按 `←` 以后台会话并在一步中打开 agent view。会话继续在后台运行并显示为一行。要直接从 shell 启动新的后台会话,运行 `claude --bg "<prompt>"`。

54 

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

56 

57## 使用 agent view 监控会话

58 

59运行 `claude agents` 打开 agent view。它接管整个终端并列出按状态分组的每个会话,固定的会话和需要你的会话在顶部。每行显示会话的名称、当前活动和上次更改的时间。

60 

61列表对你的机器是全局的,包括每个后台会话,无论它在哪个项目或 worktree 中工作。你在其他终端中打开的交互式会话不会出现,直到你 [后台它们](#from-inside-a-session),[subagents](/zh-CN/sub-agents) 在会话内运行不会列为单独的行。

62 

63```text theme={null}

64Pinned

65 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m

66 

67Ready for review

68 ∙ jump physics github.com/anthropics/example/pull/2048 2h

69 

70Needs input

71 ✻ power-up design needs input: double jump or wall climb? 1m

72 

73Working

74 ✽ collision detection Edit src/physics/CollisionSystem.ts 2m

75 ✢ playtest level 3 run 12 · all checkpoints cleared in 4m

76 

77Completed

78 ✻ title screen result: menu, options, and credits done 9m

79 ∙ sound effects result: 14 SFX exported to assets/audio 4h

80 … 6 more

81```

82 

83图标告诉你会话的状态:

84 

85| 图标 | 状态 | 含义 |

86| :- | :--- | :------------------------------ |

87| 动画 | 工作中 | Claude 正在积极运行工具或生成响应 |

88| 黄色 | 需要输入 | Claude 等待你的输入,通常是权限决定或答案 |

89| 暗淡 | 空闲 | 会话等待输入但不被特定问题阻止 |

90| 绿色 | 已完成 | 任务成功完成 |

91| 红色 | 失败 | 任务以错误结束 |

92| 灰色 | 已停止 | 会话被 `Ctrl+X` 或 `claude stop` 停止 |

93 

94图标的形状告诉你底层进程是否仍在运行。`✻` 或动画 `✽` 当 Claude 工作时,意味着会话是活跃的,你可以立即回复。`∙` 意味着进程已退出,但你仍然可以窥视、回复或附加:Claude 从中断处重新启动会话。`✢` 是一个 [`/loop`](/zh-CN/commands) 会话在迭代之间休眠,行显示其运行计数和下一次迭代的倒计时。

95 

96后台会话不需要任何打开的终端来继续工作。一个单独的 [监督进程](#how-background-sessions-are-hosted) 运行它们,所以你可以关闭 agent view、关闭你的 shell 或启动一个新的交互式会话,你的调度工作继续进行。

97 

98会话在磁盘上持久化:关闭你的终端或自动更新不会丢失它们,重新打开 `claude agents` 显示它们全部。如果你的机器休眠或关闭,运行中的会话停止;用 `claude respawn --all` 重新启动它们。

99 

100每行中的单行摘要由你配置的 [Haiku-class 模型](/zh-CN/model-config) 生成,所以行可以告诉你会话正在做什么、需要什么或生成了什么,无需打开记录。每个摘要是通过你的正常提供商的一个短 Haiku-class 请求,按与会话本身相同的 [数据使用条款](/zh-CN/data-usage) 计费和处理。

101 

102当会话打开拉取请求时,行显示 PR 链接和其 CI 检查的状态指示器。对于大多数任务,这行是你收集工作的方式:当其检查通过时审查和合并拉取请求。

103 

104### 窥视和回复

105 

106在选定的行上按 `Space` 打开窥视面板。它显示会话需要什么、其最近的输出和它打开的任何拉取请求。大多数时候这就足够了,你永远不需要打开完整的记录。

107 

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

109 

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

111 

112### 附加到会话

113 

114在选定的行上按 `Enter` 或 `→` 附加,或按 `Alt+1` 到 `Alt+9` 直接附加到焦点组中的第 N 个会话。Agent view 被完整的交互式会话替换,就像你在该目录中运行了 `claude` 一样。当你附加时,Claude 发布一个关于你离开时发生的事情的简短回顾。

115 

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

117 

118在空提示上按 `←` 分离并返回 agent view。如果对话有焦点且不响应 `←`,按 `Ctrl+Z` 立即分离。

119 

120分离永远不会停止后台会话:`←`、`Ctrl+C`、`Ctrl+D`、`Ctrl+Z` 和 `/exit` 都让它运行。要从内部结束会话,运行 `/stop`。

121 

122一旦你使用了 agent view,在空提示上按 `←` 从任何 Claude Code 会话工作,不仅仅是你附加的会话。它打开 agent view,你的当前会话预选,所以你可以在不离开终端的情况下切换会话。

123 

124### 组织列表

125 

126Agent view 按状态分组会话,需要输入的会话在工作或完成的会话上方。按 `Ctrl+S` 改为按目录分组。你的选择在运行中保存。在一个组内,用 `Ctrl+T` 将会话固定到顶部,用 `Shift+↑` 和 `Shift+↓` 重新排序,或在组标题上按 `Enter` 折叠它。要删除会话,按 `Ctrl+X` 停止它,在两秒内再按 `Ctrl+X` 删除它。在组标题上按 `Ctrl+X` 在确认后删除该组中的每个会话。

127 

128较旧的已完成会话折叠成"… N more"行以保持列表简短。失败和有打开拉取请求的会话始终保持可见。

129 

130### 过滤列表

131 

132在调度输入中输入以过滤而不是调度:

133 

134| 过滤 | 显示 |

135| :------------------- | :------------------------------ |

136| `a:<name>` | 运行命名代理的会话 |

137| `s:<state>` | 给定状态的会话,例如 `s:blocked` 用于需要你的会话 |

138| `#<number>` 或 PR URL | 处理该拉取请求的会话 |

139 

140### 快捷键

141 

142在 agent view 中按 `?` 查看每个快捷键。最常见的:

143 

144| 快捷键 | 操作 |

145| :-------------------- | :------------------------ |

146| `↑` / `↓` | 在行之间移动 |

147| `Enter` | 附加到选定的会话,或如果输入中有文本则调度 |

148| `Space` | 打开或关闭选定会话的窥视面板 |

149| `Shift+Enter` | 调度并立即附加 |

150| `→` | 附加到选定的会话 |

151| `Alt+1`..`Alt+9` | 附加到焦点组中的第 N 个会话 |

152| `Tab` | 浏览所有 subagents,或应用突出显示的建议 |

153| `Ctrl+S` | 在状态和目录之间切换分组 |

154| `Ctrl+T` | 固定或取消固定选定的会话 |

155| `Ctrl+R` | 重命名选定的会话 |

156| `Ctrl+G` | 在你的 `$EDITOR` 中打开调度提示 |

157| `Ctrl+X` | 停止会话;在两秒内再按一次删除它 |

158| `Shift+↑` / `Shift+↓` | 重新排序选定的会话 |

159| `Esc` | 关闭窥视面板、清除输入或退出 |

160| `Ctrl+C` | 清除输入;按两次退出 |

161| `?` | 显示所有快捷键 |

162 

163## 调度新代理

164 

165你可以从 agent view 调度新的后台会话、将现有的交互式会话发送到后台,或直接从 shell 启动一个。

166 

167### 从 agent view

168 

169在 agent view 底部的输入框中输入提示并按 `Enter` 启动新的后台会话。会话从提示自动命名。你可以稍后用 `Ctrl+R` 重命名它。将图像粘贴到提示中以包含任务的屏幕截图或图表。

170 

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

172 

173| 输入 | 效果 |

174| :---------------------- | :--------------------------------------------------------------------------------------- |

175| `<agent-name> <prompt>` | 如果第一个单词匹配自定义 [subagent](/zh-CN/sub-agents) 名称,该 subagent 作为会话的主代理运行,使用其 frontmatter 中的配置 |

176| `@<agent-name>` | 在提示中的任何地方提及自定义 subagent 以作为主代理运行它 |

177| `@<repo>` | 提及你打开 agent view 的目录下的存储库以在那里运行会话 |

178| `/<skill>` | 建议 [skills](/zh-CN/skills) 作为提示调度 |

179| `#<number>` 或拉取请求 URL | 如果会话已在处理该 PR,选择它而不是调度 |

180| `Shift+Enter` | 调度并立即附加到新会话 |

181 

182输入 `/` 调度一个 [skill](/zh-CN/skills)。将重复任务打包为 skill 让你从 agent view 多次启动相同的工作流而无需重新输入提示。在空输入上按 `Tab` 浏览每个可调度的 subagent,或在显示建议时应用突出显示的建议。

183 

184#### 调度到特定目录

185 

186新会话在你打开 agent view 的目录中运行。要针对不同的目录:

187 

188* 在该目录中打开 `claude agents`。

189* 在保存多个存储库的父目录中打开 `claude agents`,并在提示中用 `@<repo>` 提及一个以在那里运行会话。

190* 从 shell,`cd` 进入目录并运行 `claude --bg "<prompt>"`。

191 

192当 agent view 按目录分组时,突出显示的行的目录成为调度目标,所以你可以滚动到一个组并在不重新输入路径的情况下调度到它。

193 

194#### 在 worktree 中隔离文件编辑

195 

196从 agent view 调度的会话默认共享你的工作目录,所以两个代理编辑相同的文件可能会冲突。要防止这种情况,Claude Code 阻止从 agent view 调度的会话写入文件,直到它移动到隔离的 [git worktree](/zh-CN/worktrees)。当它需要编辑文件时,Claude 自动处理这个。worktree 在项目目录内的 `.claude/worktrees/` 下创建,当你删除会话时删除。删除会话也删除其 worktree,所以在删除前合并或推送你想保留的更改。

197 

198要使 subagent 始终在其自己的 worktree 中运行,无论如何启动,在其 frontmatter 中设置 [`isolation: worktree`](/zh-CN/sub-agents#supported-frontmatter-fields)。

199 

200### 从会话内部

201 

202运行 `/background` 或其别名 `/bg` 分离当前对话并保持其运行。传递提示如 `/bg run the test suite and fix any failures` 在分离前发送一个更多指令。

203 

204### 从 shell

205 

206传递 `--bg` 启动直接进入后台的会话:

207 

208```bash theme={null}

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

210```

211 

212要运行特定的 subagent 作为会话的主代理,结合 `--bg` 和 `--agent`:

213 

214```bash theme={null}

215claude --agent code-reviewer --bg "address review comments on PR 1234"

216```

217 

218后台化后,Claude 打印会话的短 ID 和管理它的命令:

219 

220```text theme={null}

221backgrounded · 7c5dcf5d

222 claude agents list sessions

223 claude attach 7c5dcf5d open in this terminal

224 claude logs 7c5dcf5d show recent output

225 claude stop 7c5dcf5d stop this session

226```

227 

228## 从 shell 管理会话

229 

230每个后台会话有一个短 ID,你可以从 shell 使用。这些命令对于脚本编写或当你不想打开 agent view 时很有用。

231 

232| 命令 | 目的 |

233| :--------------------- | :--------------------- |

234| `claude agents` | 打开 agent view |

235| `claude attach <id>` | 在此终端附加到会话 |

236| `claude logs <id>` | 打印会话的最近输出 |

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

238| `claude respawn <id>` | 重新启动已停止的会话,保持其对话完整 |

239| `claude respawn --all` | 重新启动每个已停止的会话 |

240| `claude rm <id>` | 从列表中删除会话 |

241 

242## 后台会话如何被托管

243 

244后台会话由每用户监督进程托管,与你的终端和 agent view 分离。它在你第一次后台会话或打开 agent view 时自动启动,你不直接管理它。监督进程及其会话使用与你的交互式会话相同的凭证进行身份验证,并且除了模型 API 外不进行额外的网络连接。

245 

246每个后台会话是其自己的 Claude Code 进程,父进程是监督进程而不是你的终端。积极工作、等待你的输入或有终端连接的会话保持其进程运行。一旦会话完成并未连接地坐了大约一小时,监督进程停止其进程以释放资源。记录和状态保留在磁盘上,下次你附加、窥视或回复时,监督进程从中断处启动一个新进程。当每个会话都完成且没有终端连接时,监督进程本身退出,下次你后台会话或打开 agent view 时再次启动。

247 

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

249 

250会话状态存储在你的 Claude Code 配置目录下。如果你设置 [`CLAUDE_CONFIG_DIR`](/zh-CN/env-vars),监督进程使用该目录而不是 `~/.claude` 并作为单独的实例运行,具有其自己的会话。

251 

252| 路径 | 内容 |

253| :------------------------------- | :---------------------- |

254| `~/.claude/daemon.log` | 监督进程日志 |

255| `~/.claude/daemon/roster.json` | 运行中的后台会话列表,用于在重新启动后重新连接 |

256| `~/.claude/jobs/<id>/state.json` | 在 agent view 中显示的每会话状态 |

257 

258要完全关闭后台代理和 agent view,将 `disableAgentView` [设置](/zh-CN/settings) 设为 `true` 或设置 `CLAUDE_CODE_DISABLE_AGENT_VIEW` 环境变量。管理员可以通过 [托管设置](/zh-CN/permissions#managed-settings) 强制执行这个。

259 

260## 故障排除

261 

262### Agent view 打开时没有会话

263 

264Agent view 为空,直到你调度你的第一个会话。在底部的输入框中输入提示并按 `Enter`。

265 

266### 机器唤醒后会话显示为已停止

267 

268后台会话不能存活睡眠或关闭。附加、窥视或回复任何已停止的会话,它从中断处重新启动。要一次重新启动所有会话,运行 `claude respawn --all`。

269 

270### 附加后会话响应缓慢

271 

272一旦会话完成并未连接地坐了大约一小时,监督进程停止其进程以释放资源。附加启动一个从中断处的新进程,这需要一点时间。工作或等待你的会话永远不会以这种方式停止。

273 

274### `.claude/worktrees/` 填满了

275 

276Worktrees 在你删除创建它们的会话时删除。如果会话结束而没有清理,在项目目录中用 `git worktree list` 列出剩余条目,并用 `git worktree remove <path>` 删除每个。参见 [清理 worktrees](/zh-CN/worktrees#clean-up-worktrees)。

277 

278## 限制

279 

280Agent view 是研究预览版。要注意的当前限制:

281 

282* **速率限制适用**:后台会话像交互式会话一样消耗你的订阅使用,所以并行运行十个代理使用配额快十倍。

283* **会话是本地的**:后台会话在你的机器上运行,如果它睡眠或关闭则停止。

284* **Worktrees 随会话删除**:在删除在其自己的 worktree 中编辑文件的会话前合并或推送更改。

285 

286## 后续步骤

287 

288现在你理解了 agent view,探索这些相关功能:

289 

290* [在并行中运行代理](/zh-CN/agents):比较 agent view 与 subagents、agent teams 和 worktrees

291* [Subagents](/zh-CN/sub-agents):定义具有自定义提示、工具和隔离的可重用代理配置

292* [Agent teams](/zh-CN/agent-teams):协调相互发送消息的多个会话

293* [Claude Code on the web](/zh-CN/claude-code-on-the-web):在托管的云环境中运行会话而不是本地

agents.md +52 −0 created

Details

1> ## Documentation Index

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

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

4 

5# 并行运行代理

6 

7> 比较 Claude Code 同时处理多个任务的方式:子代理、代理视图、代理团队和隔离的 worktree 会话。

8 

9[子代理](/zh-CN/sub-agents)、[代理视图](/zh-CN/agent-view)、[代理团队](/zh-CN/agent-teams) 和 [worktrees](/zh-CN/worktrees) 各自以不同的方式并行化工作。正确的选择取决于您是否想在每个对话中保持参与、交付任务并稍后检查,或让 Claude 为您协调一组工作人员。

10 

11| 方法 | 它提供什么 | 何时使用 |

12| :---------------------------- | :----------------------------------------------- | :------------------------------------- |

13| [子代理](/zh-CN/sub-agents) | 在一个会话内的委派工作人员,在自己的上下文中执行辅助任务并返回摘要 | 辅助任务会用搜索结果、日志或文件内容淹没您的主对话,而您不会再次引用这些内容 |

14| [代理视图](/zh-CN/agent-view) | 一个屏幕来分派和监控在后台运行的会话,使用 `claude agents` 打开。研究预览 | 您有多个独立任务,想要交付它们,一目了然地检查状态,并仅在需要时介入 |

15| [代理团队](/zh-CN/agent-teams) | 多个协调的会话,具有共享任务列表和代理间消息传递,由主导者管理。实验性功能,默认禁用 | 您希望 Claude 将项目分成多个部分、分配它们,并保持工作人员同步 |

16| [Worktrees](/zh-CN/worktrees) | 单独的 git 检出,以便并行会话永远不会接触彼此的文件 | 您正在自己运行多个会话,或您的子代理编辑重叠的文件 |

17| [`/batch`](/zh-CN/commands) | 将一个大型更改计划分成 5 到 30 个 worktree 隔离的子代理,每个都打开一个拉取请求 | 您可以在一条指令中描述的存储库范围迁移或机械重构 |

18 

19在每种方法中,工作人员都是 Claude 会话。要涉及不同的工具,请将其作为 [MCP server](/zh-CN/mcp) 公开给 Claude。

20 

21您可以组合这些方法。代理视图在需要编辑文件时自动将每个分派的会话移到自己的 worktree 中,您正在处理的会话可以生成子代理,每个子代理都获得自己的 worktree。

22 

23<Note>

24 同时运行多个会话或子代理会增加令牌使用量。有关使用情况和速率限制详情,请参阅 [Costs](/zh-CN/costs)。

25</Note>

26 

27## 选择一种方法

28 

29正确的方法取决于谁协调工作、工作人员是否需要通信以及他们是否编辑相同的文件:

30 

31* **谁协调工作?** 如果您希望 Claude 在一个对话中委派和收集结果,请使用 [子代理](/zh-CN/sub-agents)。如果您正在交付独立任务并稍后检查它们,请使用 [代理视图](/zh-CN/agent-view)。如果您希望 Claude 计划、分配和监督一组工作人员,请使用 [代理团队](/zh-CN/agent-teams),这是实验性的,默认禁用。

32* **工作人员需要相互交谈吗?** 子代理将结果报告回生成它们的对话,代理视图会话仅向您报告。代理团队中的队友共享任务列表并直接相互发送消息。

33* **任务是否接触相同的文件?** 使用 [worktrees](/zh-CN/worktrees) 隔离工作。子代理和您自己运行的会话可以各自使用单独的 worktree。代理团队不会在 worktrees 中隔离队友,因此 [分区工作](/zh-CN/agent-teams#avoid-file-conflicts),以便每个队友拥有不同的文件集。

34 

35## 检查运行中的工作

36 

37检查运行中工作的命令取决于您使用的方法:

38 

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

40* 对于当前会话中的子代理,`/agents` 打开一个面板,其中 **Running** 选项卡列出实时子代理,**Library** 选项卡是您 [创建和编辑自定义子代理](/zh-CN/sub-agents#use-the-%2Fagents-command) 的地方。尽管名称相似,这与 `claude agents` 是分开的。

41* 对于当前会话后台运行的任何内容,`/tasks` 列出每个项目,让您检查、附加到或停止它。

42 

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

44 

45## 了解更多

46 

47下面的每个指南涵盖一种方法的设置和配置:

48 

49* [创建自定义子代理](/zh-CN/sub-agents):定义可重用的专家并控制他们可以使用的工具。

50* [使用代理视图管理代理](/zh-CN/agent-view):分派会话、观察其状态,并在需要时附加。

51* [编排代理团队](/zh-CN/agent-teams):设置主导者和队友、分配任务并审查他们的工作。

52* [使用 worktrees 运行并行会话](/zh-CN/worktrees):在隔离的检出中启动 Claude、控制复制的内容并在之后清理。

claude-platform-on-aws.md +341 −0 created

Details

1> ## Documentation Index

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

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

4 

5# AWS 上的 Claude Platform 中的 Claude Code

6 

7> 配置 Claude Code 以使用 Anthropic 运营的 Claude API,支持 AWS 身份验证、IAM 访问控制和 AWS Marketplace 计费。

8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79export const Experiment = ({flag, treatment, children}) => {

80 const VID_KEY = 'exp_vid';

81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);

82 const fnv1a = s => {

83 let h = 0x811c9dc5;

84 for (let i = 0; i < s.length; i++) {

85 h ^= s.charCodeAt(i);

86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);

87 }

88 return h >>> 0;

89 };

90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';

91 const [decision] = useState(() => {

92 const params = new URLSearchParams(location.search);

93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];

94 const force = params.get('gb-force');

95 if (force) {

96 for (const p of force.split(',')) {

97 const [k, v] = p.split(':');

98 if (k === flag) return {

99 variant: v || 'treatment',

100 track: false

101 };

102 }

103 }

104 if (navigator.globalPrivacyControl) {

105 return {

106 variant: 'control',

107 track: false

108 };

109 }

110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);

111 if (prefsMatch) {

112 try {

113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {

114 return {

115 variant: 'control',

116 track: false

117 };

118 }

119 } catch {

120 return {

121 variant: 'control',

122 track: false

123 };

124 }

125 } else {

126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];

127 if (!country || CONSENT_COUNTRIES.has(country)) {

128 return {

129 variant: 'control',

130 track: false

131 };

132 }

133 }

134 let vid;

135 try {

136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);

137 if (ajsMatch) {

138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');

139 } else {

140 vid = localStorage.getItem(VID_KEY);

141 if (!vid) {

142 vid = crypto.randomUUID();

143 }

144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;

145 }

146 try {

147 localStorage.setItem(VID_KEY, vid);

148 } catch {}

149 } catch {

150 return {

151 variant: 'control',

152 track: false

153 };

154 }

155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);

156 return {

157 variant,

158 track: true,

159 vid

160 };

161 });

162 useEffect(() => {

163 if (!decision.track) return;

164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {

165 method: 'POST',

166 headers: {

167 'Content-Type': 'application/json',

168 'x-service-name': 'claude_code_docs'

169 },

170 body: JSON.stringify({

171 events: [{

172 event_type: 'GrowthbookExperimentEvent',

173 event_data: {

174 device_id: decision.vid,

175 anonymous_id: decision.vid,

176 timestamp: new Date().toISOString(),

177 experiment_id: flag,

178 variation_id: decision.variant === 'treatment' ? 1 : 0,

179 environment: 'production'

180 }

181 }]

182 }),

183 keepalive: true

184 }).catch(() => {});

185 }, []);

186 return decision.variant === 'treatment' ? treatment : children;

187};

188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 

191AWS 上的 Claude Platform 是 Anthropic 运营的 Claude API,支持 AWS 身份验证、IAM 访问控制和 AWS Marketplace 计费。请求直接到达 Anthropic 的 API,因此您获得与 [Claude API](https://platform.claude.com/docs) 相同的模型和功能,并遵循相同的发布计划。您可以使用 AWS 凭证或工作区 API 密钥进行身份验证,并通过 AWS Marketplace 付款。

192 

193使用本指南将 Claude Code 指向您已通过 AWS 上的 Claude Platform 配置的工作区。有关在此之前的 AWS 订阅和工作区设置,请参阅 [AWS 上的 Claude Platform 文档](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)。

194 

195<Note>

196 通过 AWS Marketplace 订阅会配置一个与您的 AWS 账户关联的新 Anthropic 组织。此组织与您已有的任何 Anthropic 组织分开,凭证不会在它们之间转移。使用来自 AWS 关联组织的工作区 ID 和 API 密钥,而不是来自预先存在的 Claude Console 账户的凭证。

197</Note>

198 

199## 前置条件

200 

201在配置 Claude Code 之前,您需要:

202 

203* 通过 AWS Marketplace 的活跃 AWS 上的 Claude Platform 订阅

204* 您的 AWS 关联 Anthropic 组织中的工作区及其工作区 ID

205* 具有调用 Anthropic 服务权限的 IAM 主体,或限定于工作区的 API 密钥

206* 您环境中的 AWS 凭证、`~/.aws/credentials` 中的凭证,或来自附加 IAM 角色的凭证(如果您想要 SigV4 身份验证)。AWS CLI 仅在 SSO 登录流程中是必需的。

207 

208## 设置

209 

210### 1. 配置 AWS 凭证

211 

212Claude Code 支持两种 AWS 上的 Claude Platform 身份验证方法。选择适合您的团队如何管理访问的方法。

213 

214**选项 A:使用 SigV4 的 AWS 凭证**

215 

216Claude Code 使用标准 AWS 凭证链使用 SigV4 对请求进行签名:环境变量、`~/.aws/credentials` 中的共享凭证、IAM 角色、AWS SSO 会话以及 AWS SDK 支持的任何其他来源。

217 

218对于本地使用,在启动 Claude Code 之前使用 AWS CLI 登录。下面的示例使用 SSO 配置文件,但任何在标准位置生成凭证的方法都可以工作。

219 

220```bash theme={null}

221aws sso login --profile my-profile

222export AWS_PROFILE=my-profile

223```

224 

225对于 CI 和自动化,为运行程序提供具有调用 Anthropic 服务权限的 IAM 角色,并设置 `AWS_REGION`。凭证链会自动获取该角色。

226 

227如果您的 SSO 凭证在会话中途过期,请配置 [`awsAuthRefresh`](/zh-CN/amazon-bedrock#advanced-credential-configuration),以便 Claude Code 重新运行您的登录命令并重试,而不是失败。将命令添加到您的 `settings.json`:

228 

229```json theme={null}

230{

231 "awsAuthRefresh": "aws sso login --profile my-profile"

232}

233```

234 

235**选项 B:工作区 API 密钥**

236 

237工作区 API 密钥是一个长期有效的密钥,当您不想管理联合 AWS 凭证时很有用。在 AWS Console 中的 **Claude Platform on AWS → API keys** 下生成一个,并将其设置为 `ANTHROPIC_AWS_API_KEY`:

238 

239```bash theme={null}

240export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx

241```

242 

243该密钥作为 `x-api-key` 发送,优先于 SigV4,因此您环境中的任何 AWS 凭证都会被忽略。来自单独 Claude Console 组织的 API 密钥在此处不起作用。

244 

245像对待任何其他生产凭证一样对待工作区 API 密钥。[用户设置文件](/zh-CN/settings) `env` 块是一种方便的方式,可以将密钥限定于您的机器,而无需全局导出。

246 

247<Note>

248 `/login` 和 `/logout` 命令不会改变 AWS 上的 Claude Platform 身份验证。身份验证通过您的 AWS 凭证或工作区 API 密钥运行,而不是通过 Claude.ai 订阅。

249</Note>

250 

251### 2. 配置 Claude Code

252 

253设置环境变量,将 Claude Code 路由通过 AWS 上的 Claude Platform,而不是默认的 Anthropic API。

254 

255```bash theme={null}

256export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

257export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

258export AWS_REGION=us-east-1

259```

260 

261`ANTHROPIC_AWS_WORKSPACE_ID` 是必需的,并在每个请求中作为 `anthropic-workspace-id` 标头发送。基础 URL 从 `AWS_REGION` 计算为 `https://aws-external-anthropic.{region}.api.aws`。要直接覆盖 URL,请设置 `ANTHROPIC_AWS_BASE_URL`。

262 

263即使您的环境中存在 AWS 凭证,AWS 上的 Claude Platform 也是可选的。Bedrock 和 Foundry 在提供程序路由中优先,因此如果设置了 `CLAUDE_CODE_USE_BEDROCK` 和 `CLAUDE_CODE_USE_FOUNDRY`,请取消设置它们。

264 

265### 3. 固定模型版本

266 

267AWS 上的 Claude Platform 使用与直接 Claude API 相同的模型 ID。默认别名 `opus`、`sonnet` 和 `haiku` 解析为您工作区中可用的最新版本。

268 

269如果您将 Claude Code 部署到团队,请显式固定模型 ID,以便新版本不会一次性移动所有人:

270 

271```bash theme={null}

272export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

273export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6

274export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

275```

276 

277有关模型 ID 和别名的完整列表,请参阅 [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview)。有关其他与模型相关的变量,请参阅 [Model configuration](/zh-CN/model-config)。

278 

279[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) 会自动启用。1 小时缓存写入的计费率高于 5 分钟写入。要请求 1 小时缓存 TTL 而不是 5 分钟默认值,请设置 `ENABLE_PROMPT_CACHING_1H=1`。

280 

281## 使用 Agent SDK

282 

283[Agent SDK](/zh-CN/agent-sdk/overview) 读取与 CLI 相同的环境变量,因此任何生成 Claude Code 子进程的程序都可以通过在调用前导出 `CLAUDE_CODE_USE_ANTHROPIC_AWS`、`ANTHROPIC_AWS_WORKSPACE_ID` 和 `ANTHROPIC_AWS_API_KEY` 或 AWS 凭证来针对 AWS 上的 Claude Platform。

284 

285```typescript theme={null}

286import { query } from "@anthropic-ai/claude-agent-sdk";

287 

288process.env.CLAUDE_CODE_USE_ANTHROPIC_AWS = "1";

289process.env.ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN";

290process.env.AWS_REGION = "us-east-1";

291 

292for await (const msg of query({ prompt: "What's in this repo?" })) {

293 console.log(msg);

294}

295```

296 

297此示例依赖于环境 AWS 凭证链进行 SigV4。要改为使用工作区 API 密钥进行身份验证,请以相同方式设置 `ANTHROPIC_AWS_API_KEY`。有关更广泛的 Agent SDK 表面,请参阅 [Agent SDK overview](/zh-CN/agent-sdk/overview)。

298 

299## 通过企业代理路由

300 

301要通过代理或 [LLM gateway](/zh-CN/llm-gateway) 路由流量,请将 `ANTHROPIC_AWS_BASE_URL` 设置为代理的地址。Claude Code 将请求发送到该 URL,并使用相同的工作区和身份验证标头,因此任何转发它们不变的网关都可以工作。

302 

303```bash theme={null}

304export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

305export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

306export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com

307```

308 

309如果您的网关自己对请求进行签名,请设置 `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1`,以便 Claude Code 发送未签名的请求,让网关在转发到 AWS 之前添加 SigV4 标头。如果网关需要自己的令牌,请在 `ANTHROPIC_AUTH_TOKEN` 中设置它。

310 

311```bash theme={null}

312export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

313export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

314export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

315export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com

316```

317 

318## 故障排除

319 

320运行 `/status` 以查看已解析的提供程序以及任何显式配置的工作区 ID、区域、基础 URL 覆盖和身份验证跳过设置。这是确认 Claude Code 是否针对 AWS 上的 Claude Platform 的最快方法。

321 

322### 每个请求都出现 `403 Forbidden` 或 `AccessDenied`

323 

324Claude Code 解析的 IAM 主体可能缺少在您的工作区中调用 Anthropic 服务的权限。检查附加到您的 AWS 配置文件或启动 Claude Code 的运行程序的角色,并验证它具有 [IAM action reference](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions) 中记录的 `aws-external-anthropic` 操作。

325 

326如果您设置了 `ANTHROPIC_AWS_API_KEY`,该密钥优先于 SigV4,过期的密钥会产生相同的错误。在 AWS Console 中的 **Claude Platform on AWS → API keys** 下重新生成密钥,或取消设置变量以回退到您的 AWS 凭证。

327 

328### 请求失败,出现缺少工作区错误

329 

330`ANTHROPIC_AWS_WORKSPACE_ID` 可能未设置或为空。每个 AWS 上的 Claude Platform 请求都必须包含工作区 ID。它不是由您的 AWS 凭证隐含的。在 AWS Console 服务页面上的 **Workspaces** 下找到 ID,并在启动 Claude Code 之前导出它。

331 

332### 请求仍然转到 `api.anthropic.com`

333 

334`CLAUDE_CODE_USE_ANTHROPIC_AWS` 可能未设置或设置为不解析为真值的值。将其设置为 `1` 并运行 `/status` 以确认已解析的提供程序。如果还设置了 `CLAUDE_CODE_USE_BEDROCK` 或 `CLAUDE_CODE_USE_FOUNDRY`,这些会优先于 AWS 上的 Claude Platform。

335 

336## 其他资源

337 

338配置 Claude Code 之前的 AWS 上的 Claude Platform 订阅、工作区和 IAM 设置在平台文档中介绍:

339 

340* [Claude Platform on AWS overview](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws):订阅、工作区设置和产品参考

341* [IAM action reference](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions):权限和托管策略

Details

24| `claude auth login` | 登录您的 Anthropic 账户。使用 `--email` 预填充您的电子邮件地址,使用 `--sso` 强制 SSO 身份验证,使用 `--console` 使用 Anthropic Console 登录以进行 API 使用计费而不是 Claude 订阅 | `claude auth login --console` |24| `claude auth login` | 登录您的 Anthropic 账户。使用 `--email` 预填充您的电子邮件地址,使用 `--sso` 强制 SSO 身份验证,使用 `--console` 使用 Anthropic Console 登录以进行 API 使用计费而不是 Claude 订阅 | `claude auth login --console` |

25| `claude auth logout` | 从您的 Anthropic 账户登出 | `claude auth logout` |25| `claude auth logout` | 从您的 Anthropic 账户登出 | `claude auth logout` |

26| `claude auth status` | 以 JSON 格式显示身份验证状态。使用 `--text` 获取人类可读的输出。如果已登录,则以代码 0 退出,如果未登录,则以代码 1 退出 | `claude auth status` |26| `claude auth status` | 以 JSON 格式显示身份验证状态。使用 `--text` 获取人类可读的输出。如果已登录,则以代码 0 退出,如果未登录,则以代码 1 退出 | `claude auth status` |

27| `claude agents` | 列出所有已配置的 [subagents](/zh-CN/sub-agents),按来源分组 | `claude agents` |27| `claude agents` | 打开 [agent view](/zh-CN/agent-view) 以监控和分派并行后台会话。当输出被管道传输时,改为列出已配置的 [subagents](/zh-CN/sub-agents) | `claude agents` |

28| `claude attach <id>` | 在此终端中附加到 [background session](/zh-CN/agent-view#manage-sessions-from-the-shell) | `claude attach 7c5dcf5d` |

28| `claude auto-mode defaults` | 以 JSON 格式打印内置 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分类器规则。使用 `claude auto-mode config` 查看应用了设置的有效配置 | `claude auto-mode defaults > rules.json` |29| `claude auto-mode defaults` | 以 JSON 格式打印内置 [auto mode](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) 分类器规则。使用 `claude auto-mode config` 查看应用了设置的有效配置 | `claude auto-mode defaults > rules.json` |

30| `claude logs <id>` | 从 [background session](/zh-CN/agent-view#manage-sessions-from-the-shell) 打印最近的输出 | `claude logs 7c5dcf5d` |

29| `claude mcp` | 配置 Model Context Protocol (MCP) 服务器 | 请参阅 [Claude Code MCP 文档](/zh-CN/mcp)。 |31| `claude mcp` | 配置 Model Context Protocol (MCP) 服务器 | 请参阅 [Claude Code MCP 文档](/zh-CN/mcp)。 |

30| `claude plugin` | 管理 Claude Code [plugins](/zh-CN/plugins)。别名:`claude plugins`。请参阅 [plugin 参考](/zh-CN/plugins-reference#cli-commands-reference) 了解子命令 | `claude plugin install code-review@claude-plugins-official` |32| `claude plugin` | 管理 Claude Code [plugins](/zh-CN/plugins)。别名:`claude plugins`。请参阅 [plugin 参考](/zh-CN/plugins-reference#cli-commands-reference) 了解子命令 | `claude plugin install code-review@claude-plugins-official` |

31| `claude project purge [path]` | 删除项目的所有本地 Claude Code 状态:记录、任务列表、调试日志、文件编辑历史、提示历史行和项目在 `~/.claude.json` 中的条目。省略 `[path]` 以从交互式列表中选择。标志:`--dry-run` 预览,`-y`/`--yes` 跳过确认,`-i`/`--interactive` 确认每一项,`--all` 用于每个项目。请参阅 [清除本地数据](/zh-CN/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |33| `claude project purge [path]` | 删除项目的所有本地 Claude Code 状态:记录、任务列表、调试日志、文件编辑历史、提示历史行和项目在 `~/.claude.json` 中的条目。省略 `[path]` 以从交互式列表中选择。标志:`--dry-run` 预览,`-y`/`--yes` 跳过确认,`-i`/`--interactive` 确认每一项,`--all` 用于每个项目。请参阅 [清除本地数据](/zh-CN/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |

32| `claude remote-control` | 启动 [Remote Control](/zh-CN/remote-control) 服务器以从 Claude.ai 或 Claude 应用控制 Claude Code。在服务器模式下运行(无本地交互式会话)。请参阅 [服务器模式标志](/zh-CN/remote-control#start-a-remote-control-session) | `claude remote-control --name "My Project"` |34| `claude remote-control` | 启动 [Remote Control](/zh-CN/remote-control) 服务器以从 Claude.ai 或 Claude 应用控制 Claude Code。在服务器模式下运行(无本地交互式会话)。请参阅 [服务器模式标志](/zh-CN/remote-control#start-a-remote-control-session) | `claude remote-control --name "My Project"` |

35| `claude respawn <id>` | 重启已停止的 [background session](/zh-CN/agent-view#manage-sessions-from-the-shell),保持其对话完整。使用 `--all` 重启每个已停止的会话 | `claude respawn 7c5dcf5d` |

36| `claude rm <id>` | 从列表中删除 [background session](/zh-CN/agent-view#manage-sessions-from-the-shell) | `claude rm 7c5dcf5d` |

33| `claude setup-token` | 为 CI 和脚本生成长期 OAuth 令牌。将令牌打印到终端而不保存。需要 Claude 订阅。请参阅 [生成长期令牌](/zh-CN/authentication#generate-a-long-lived-token) | `claude setup-token` |37| `claude setup-token` | 为 CI 和脚本生成长期 OAuth 令牌。将令牌打印到终端而不保存。需要 Claude 订阅。请参阅 [生成长期令牌](/zh-CN/authentication#generate-a-long-lived-token) | `claude setup-token` |

38| `claude stop <id>` | 停止 [background session](/zh-CN/agent-view#manage-sessions-from-the-shell)。也接受 `claude kill` | `claude stop 7c5dcf5d` |

34| `claude ultrareview [target]` | 非交互式运行 [ultrareview](/zh-CN/ultrareview#run-ultrareview-non-interactively)。将发现结果打印到标准输出,成功时退出代码 0,失败时退出代码 1。使用 `--json` 获取原始有效负载,使用 `--timeout <minutes>` 覆盖 30 分钟的默认值 | `claude ultrareview 1234 --json` |39| `claude ultrareview [target]` | 非交互式运行 [ultrareview](/zh-CN/ultrareview#run-ultrareview-non-interactively)。将发现结果打印到标准输出,成功时退出代码 0,失败时退出代码 1。使用 `--json` 获取原始有效负载,使用 `--timeout <minutes>` 覆盖 30 分钟的默认值 | `claude ultrareview 1234 --json` |

35 40 

36如果您输入错误的子命令,Claude Code 会建议最接近的匹配项并退出而不启动会话。例如,`claude udpate` 会打印 `Did you mean claude update?`。41如果您输入错误的子命令,Claude Code 会建议最接近的匹配项并退出而不启动会话。例如,`claude udpate` 会打印 `Did you mean claude update?`。


50| `--append-system-prompt-file` | 从文件加载额外的系统提示文本并附加到默认提示 | `claude --append-system-prompt-file ./extra-rules.txt` |55| `--append-system-prompt-file` | 从文件加载额外的系统提示文本并附加到默认提示 | `claude --append-system-prompt-file ./extra-rules.txt` |

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

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

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

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

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

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

commands.md +6 −1

Details

20 20 

21**在任务期间。** `/plan` 在大型更改前切换到 Plan Mode。`/model` 和 `/effort` 调整您花费的推理量。当对话变长时,`/context` 显示窗口的去向,`/compact` 将其总结下来;使用 `/btw` 进行快速附加说明,不应该增加历史记录。21**在任务期间。** `/plan` 在大型更改前切换到 Plan Mode。`/model` 和 `/effort` 调整您花费的推理量。当对话变长时,`/context` 显示窗口的去向,`/compact` 将其总结下来;使用 `/btw` 进行快速附加说明,不应该增加历史记录。

22 22 

23**并行运行工作。** `/agents` 打开管理器以处理 [子代理](/zh-CN/sub-agents),Claude 可以将侧面任务委派给这些子代理,`/tasks` 列出当前会话后台运行的内容。`/background` 分离整个会话以继续作为 [后台代理](/zh-CN/agent-view) 运行,并释放您的终端。对于跨越代码库的大型更改,`/batch` 将其分解为独立单元,并在其自己的 [worktrees](/zh-CN/worktrees) 中运行每个单元。请参阅 [并行运行代理](/zh-CN/agents) 以了解这些方法如何相关联。

24 

23**在您发布之前。** `/diff` 显示更改的内容,`/simplify` 审阅最近的文件并应用质量和效率修复,`/review` 或 `/security-review` 进行更深入的只读检查。25**在您发布之前。** `/diff` 显示更改的内容,`/simplify` 审阅最近的文件并应用质量和效率修复,`/review` 或 `/security-review` 进行更深入的只读检查。

24 26 

25**在会话之间。** `/clear` 在保持项目内存的同时开始新任务。`/resume` 和 `/branch` 让您返回或分叉早期的对话。`/teleport` 将网络会话拉入此终端,`/remote-control` 让您从另一台设备继续此本地会话。27**在会话之间。** `/clear` 在保持项目内存的同时开始新任务。`/resume` 和 `/branch` 让您返回或分叉早期的对话。`/teleport` 将网络会话拉入此终端,`/remote-control` 让您从另一台设备继续此本地会话。


41| `/add-dir <path>` | 为当前会话期间的文件访问添加工作目录。大多数 `.claude/` 配置[不会从添加的目录中发现](/zh-CN/permissions#additional-directories-grant-file-access-not-configuration)。您可以稍后使用 `--continue` 或 `--resume` 从添加的目录恢复会话 |43| `/add-dir <path>` | 为当前会话期间的文件访问添加工作目录。大多数 `.claude/` 配置[不会从添加的目录中发现](/zh-CN/permissions#additional-directories-grant-file-access-not-configuration)。您可以稍后使用 `--continue` 或 `--resume` 从添加的目录恢复会话 |

42| `/agents` | 管理 [agent](/zh-CN/sub-agents) 配置 |44| `/agents` | 管理 [agent](/zh-CN/sub-agents) 配置 |

43| `/autofix-pr [prompt]` | 生成一个[网络版 Claude Code](/zh-CN/claude-code-on-the-web#auto-fix-pull-requests) 会话,监视当前分支的 PR,并在 CI 失败或审阅者留下评论时推送修复。使用 `gh pr view` 检测已检出分支的开放 PR;要监视不同的 PR,请先检出其分支。默认情况下,远程会话被告知修复每个 CI 失败和审阅评论;传递一个提示以给它不同的说明,例如 `/autofix-pr only fix lint and type errors`。需要 `gh` CLI 和访问[网络版 Claude Code](/zh-CN/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |45| `/autofix-pr [prompt]` | 生成一个[网络版 Claude Code](/zh-CN/claude-code-on-the-web#auto-fix-pull-requests) 会话,监视当前分支的 PR,并在 CI 失败或审阅者留下评论时推送修复。使用 `gh pr view` 检测已检出分支的开放 PR;要监视不同的 PR,请先检出其分支。默认情况下,远程会话被告知修复每个 CI 失败和审阅评论;传递一个提示以给它不同的说明,例如 `/autofix-pr only fix lint and type errors`。需要 `gh` CLI 和访问[网络版 Claude Code](/zh-CN/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |

44| `/batch <instruction>` | **[Skill](/zh-CN/skills#bundled-skills).** 在整个代码库中并行编排大规模更改。研究代码库,将工作分解为 5 到 30 个独立单元,并呈现一个计划获得批准后,在隔离的 [git worktree](/zh-CN/worktrees) 中为每个单元生成一个后台 agent每个 agent 实现其单元、运行测试并打开一个 pull request。需要一个 git 存储库示例:`/batch migrate src/ from Solid to React` |46| `/background [prompt]` | 将当前会话分离以作为[后台 agent](/zh-CN/agent-view) 运行并释放此终端传递一个提示以在分离前发送一条更多指令使用 `claude agents` 监视会话别名:`/bg` |

47| `/batch <instruction>` | **[Skill](/zh-CN/skills#bundled-skills).** 在整个代码库中并行编排大规模更改。研究代码库,将工作分解为 5 到 30 个独立单元,并呈现一个计划。获得批准后,在隔离的 [git worktree](/zh-CN/worktrees) 中为每个单元生成一个[后台 subagent](/zh-CN/sub-agents#run-subagents-in-foreground-or-background)。每个 subagent 实现其单元、运行测试并打开一个 pull request。需要一个 git 存储库。示例:`/batch migrate src/ from Solid to React` |

45| `/branch [name]` | 在此点创建当前对话的分支。切换到分支并保留原始分支,您可以使用 `/resume` 返回。别名:`/fork`。当设置 [`CLAUDE_CODE_FORK_SUBAGENT`](/zh-CN/env-vars) 时,`/fork` 改为生成一个[分叉的 subagent](/zh-CN/sub-agents#fork-the-current-conversation),不再是此命令的别名 |48| `/branch [name]` | 在此点创建当前对话的分支。切换到分支并保留原始分支,您可以使用 `/resume` 返回。别名:`/fork`。当设置 [`CLAUDE_CODE_FORK_SUBAGENT`](/zh-CN/env-vars) 时,`/fork` 改为生成一个[分叉的 subagent](/zh-CN/sub-agents#fork-the-current-conversation),不再是此命令的别名 |

46| `/btw <question>` | 提出快速[附加问题](/zh-CN/interactive-mode#side-questions-with-%2Fbtw),无需添加到对话中 |49| `/btw <question>` | 提出快速[附加问题](/zh-CN/interactive-mode#side-questions-with-%2Fbtw),无需添加到对话中 |

47| `/chrome` | 配置 [Claude in Chrome](/zh-CN/chrome) 设置 |50| `/chrome` | 配置 [Claude in Chrome](/zh-CN/chrome) 设置 |


65| `/feedback [report]` | 提交关于 Claude Code 的反馈。别名:`/bug` |68| `/feedback [report]` | 提交关于 Claude Code 的反馈。别名:`/bug` |

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

67| `/focus` | 切换焦点视图,仅显示您的最后一个提示、带有编辑 diffstats 的单行工具调用摘要和最终响应。选择在会话间保持。仅在[全屏渲染](/zh-CN/fullscreen)中可用 |70| `/focus` | 切换焦点视图,仅显示您的最后一个提示、带有编辑 diffstats 的单行工具调用摘要和最终响应。选择在会话间保持。仅在[全屏渲染](/zh-CN/fullscreen)中可用 |

71| `/goal [condition\|clear]` | 设置一个[目标](/zh-CN/goal):Claude 在多个轮次中继续工作,直到满足条件。不带参数时,显示当前或最近实现的目标。`clear`、`stop`、`off`、`reset`、`none` 或 `cancel` 会提前移除活跃目标 |

68| `/heapdump` | 将 JavaScript 堆快照和内存分解写入 `~/Desktop`,或在 Linux 上没有 Desktop 文件夹的情况下写入您的主目录,以诊断高内存使用情况。请参阅[故障排除](/zh-CN/troubleshooting#high-cpu-or-memory-usage) |72| `/heapdump` | 将 JavaScript 堆快照和内存分解写入 `~/Desktop`,或在 Linux 上没有 Desktop 文件夹的情况下写入您的主目录,以诊断高内存使用情况。请参阅[故障排除](/zh-CN/troubleshooting#high-cpu-or-memory-usage) |

69| `/help` | 显示帮助和可用命令 |73| `/help` | 显示帮助和可用命令 |

70| `/hooks` | 查看工具事件的 [hook](/zh-CN/hooks) 配置 |74| `/hooks` | 查看工具事件的 [hook](/zh-CN/hooks) 配置 |


109| `/status` | 打开设置界面(状态选项卡),显示版本、模型、账户和连接性。在 Claude 响应时工作,无需等待当前响应完成 |113| `/status` | 打开设置界面(状态选项卡),显示版本、模型、账户和连接性。在 Claude 响应时工作,无需等待当前响应完成 |

110| `/statusline` | 配置 Claude Code 的[状态行](/zh-CN/statusline)。描述您想要的内容,或不带参数运行以从您的 shell 提示自动配置 |114| `/statusline` | 配置 Claude Code 的[状态行](/zh-CN/statusline)。描述您想要的内容,或不带参数运行以从您的 shell 提示自动配置 |

111| `/stickers` | 订购 Claude Code 贴纸 |115| `/stickers` | 订购 Claude Code 贴纸 |

116| `/stop` | 停止当前[后台会话](/zh-CN/agent-view)。仅在附加到后台会话时可用;记录和任何 worktree 都会保留。要分离而不停止,请使用 `/exit` 或按 `←` |

112| `/tasks` | 列出并管理后台任务。也可用作 `/bashes` |117| `/tasks` | 列出并管理后台任务。也可用作 `/bashes` |

113| `/team-onboarding` | 从您的 Claude Code 使用历史记录生成团队入职指南。Claude 分析您过去 30 天的会话、命令和 MCP server 使用情况,并生成一个 markdown 指南,团队成员可以粘贴为第一条消息以快速设置。对于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者,还返回一个共享链接,团队成员可以直接在 Claude Code 中打开 |118| `/team-onboarding` | 从您的 Claude Code 使用历史记录生成团队入职指南。Claude 分析您过去 30 天的会话、命令和 MCP server 使用情况,并生成一个 markdown 指南,团队成员可以粘贴为第一条消息以快速设置。对于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者,还返回一个共享链接,团队成员可以直接在 Claude Code 中打开 |

114| `/teleport` | 将[网络版 Claude Code](/zh-CN/claude-code-on-the-web#from-web-to-terminal) 会话拉入此终端:打开选择器,然后获取分支和对话。也可用作 `/tp`。需要 claude.ai 订阅 |119| `/teleport` | 将[网络版 Claude Code](/zh-CN/claude-code-on-the-web#from-web-to-terminal) 会话拉入此终端:打开选择器,然后获取分支和对话。也可用作 `/tp`。需要 claude.ai 订阅 |

common-workflows.md +85 −589

Details

6 6 

7> 使用 Claude Code 探索代码库、修复错误、重构、测试和其他日常任务的分步指南。7> 使用 Claude Code 探索代码库、修复错误、重构、测试和其他日常任务的分步指南。

8 8 

9本页涵盖日常开发的实用工作流程:探索陌生代码、调试、重构、编写测试、创建 PR 和管理会话。每个部分都包含示例提示,您可以根据自己的项目进行调整有关更高级的模式和提示,请参阅[最佳实践](/zh-CN/best-practices)。9本页收集了日常开发的简短工作流程有关提示和上下文管理的更高级指导,请参阅[最佳实践](/zh-CN/best-practices)。

10 10 

11## 理解新的代码库11本页涵盖:

12 12 

13### 快速获取代码库概览13* [提示工作流程](#prompt-recipes),用于探索代码、修复错误、重构、测试、PR 和文档

14* [恢复以前的对话](#resume-previous-conversations),以便任务可以跨越多个会话

15* [使用 worktrees 运行并行会话](#run-parallel-sessions-with-worktrees),以便并发编辑不会冲突

16* [编辑前规划](#plan-before-editing),以在更改接触磁盘前审查更改

17* [将研究委派给 subagents](#delegate-research-to-subagents),以保持主上下文清洁

18* [将 Claude 管道输入脚本](#pipe-claude-into-scripts),用于 CI 和批处理

19 

20## 提示工作流程

21 

22这些是日常任务的提示模式,如探索陌生代码、调试、重构、编写测试和创建 PR。每个都可以在任何 Claude Code 界面中工作;根据您的项目调整措辞。

23 

24### 理解新的代码库

25 

26#### 快速获取代码库概览

14 27 

15假设您刚加入一个新项目,需要快速了解其结构。28假设您刚加入一个新项目,需要快速了解其结构。

16 29 


56 * 请求项目特定术语的词汇表69 * 请求项目特定术语的词汇表

57</Tip>70</Tip>

58 71 

59### 查找相关代码72#### 查找相关代码

60 73 

61假设您需要定位与特定功能相关的代码。74假设您需要定位与特定功能相关的代码。

62 75 


90 103 

91***104***

92 105 

93## 高效修复错误106### 高效修复错误

94 107 

95假设您遇到了错误消息,需要找到并修复其来源。108假设您遇到了错误消息,需要找到并修复其来源。

96 109 


124 137 

125***138***

126 139 

127## 重构代码140### 重构代码

128 141 

129假设您需要更新旧代码以使用现代模式和实践。142假设您需要更新旧代码以使用现代模式和实践。

130 143 


164 177 

165***178***

166 179 

167## 使用专门的 subagents180### 使用测试

168 

169假设您想使用专门的 AI subagents 来更有效地处理特定任务。

170 

171<Steps>

172 <Step title="查看可用的 subagents">

173 ```text theme={null}

174 /agents

175 ```

176 

177 这显示所有可用的 subagents 并让您创建新的。

178 </Step>

179 

180 <Step title="自动使用 subagents">

181 Claude Code 自动将适当的任务委派给专门的 subagents:

182 

183 ```text theme={null}

184 review my recent code changes for security issues

185 ```

186 

187 ```text theme={null}

188 run all tests and fix any failures

189 ```

190 </Step>

191 

192 <Step title="明确请求特定的 subagents">

193 ```text theme={null}

194 use the code-reviewer subagent to check the auth module

195 ```

196 

197 ```text theme={null}

198 have the debugger subagent investigate why users can't log in

199 ```

200 </Step>

201 

202 <Step title="为您的工作流程创建自定义 subagents">

203 ```text theme={null}

204 /agents

205 ```

206 

207 然后选择"Create New subagent"并按照提示定义:

208 

209 * 描述 subagent 目的的唯一标识符(例如,`code-reviewer`、`api-designer`)。

210 * Claude 何时应该使用此代理

211 * 它可以访问哪些工具

212 * 描述代理角色和行为的系统提示

213 </Step>

214</Steps>

215 

216<Tip>

217 提示:

218 

219 * 在 `.claude/agents/` 中创建项目特定的 subagents 以供团队共享

220 * 使用描述性的 `description` 字段来启用自动委派

221 * 限制工具访问权限为每个 subagent 实际需要的内容

222 * 查看[subagents 文档](/zh-CN/sub-agents)了解详细示例

223</Tip>

224 

225***

226 

227## 使用 Plan Mode 进行安全的代码分析

228 

229Plan Mode 指示 Claude 通过使用只读操作分析代码库来创建计划,非常适合探索代码库、规划复杂更改或安全地审查代码。在 Plan Mode 中,Claude 使用 [`AskUserQuestion`](/zh-CN/tools-reference) 在提出计划之前收集需求并澄清您的目标。

230 

231### 何时使用 Plan Mode

232 

233* **多步骤实现**:当您的功能需要对许多文件进行编辑时

234* **代码探索**:当您想在更改任何内容之前彻底研究代码库时

235* **交互式开发**:当您想与 Claude 迭代方向时

236 

237### 如何使用 Plan Mode

238 

239**在会话期间打开 Plan Mode**

240 

241您可以在会话期间使用 **Shift+Tab** 循环切换权限模式来切换到 Plan Mode。

242 

243如果您处于 Normal Mode,**Shift+Tab** 首先切换到 Auto-Accept Mode,在终端底部显示 `⏵⏵ accept edits on`。随后的 **Shift+Tab** 将切换到 Plan Mode,显示 `⏸ plan mode on`。

244 

245**在 Plan Mode 中启动新会话**

246 

247要在 Plan Mode 中启动新会话,请使用 `--permission-mode plan` 标志:

248 

249```bash theme={null}

250claude --permission-mode plan

251```

252 

253**在 Plan Mode 中运行"无头"查询**

254 

255您也可以使用 `-p` 直接在 Plan Mode 中运行查询(即在["无头模式"](/zh-CN/headless)中):

256 

257```bash theme={null}

258claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"

259```

260 

261### 示例:规划复杂的重构

262 

263```bash theme={null}

264claude --permission-mode plan

265```

266 

267```text theme={null}

268I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.

269```

270 

271Claude 分析当前实现并创建全面的计划。通过后续问题进行细化:

272 

273```text theme={null}

274What about backward compatibility?

275```

276 

277```text theme={null}

278How should we handle database migration?

279```

280 

281<Tip>按 `Ctrl+G` 在默认文本编辑器中打开计划,您可以在 Claude 继续之前直接编辑它。</Tip>

282 

283当您接受计划时,Claude 会自动从计划内容为会话命名。该名称显示在提示栏和会话选择器中。如果您已经使用 `--name` 或 `/rename` 设置了名称,接受计划不会覆盖它。

284 

285### 将 Plan Mode 配置为默认值

286 

287```json theme={null}

288// .claude/settings.json

289{

290 "permissions": {

291 "defaultMode": "plan"

292 }

293}

294```

295 

296有关更多配置选项,请参阅[设置文档](/zh-CN/settings#available-settings)。

297 

298***

299 

300## 使用测试

301 181 

302假设您需要为未覆盖的代码添加测试。182假设您需要为未覆盖的代码添加测试。

303 183 


333 213 

334***214***

335 215 

336## 创建拉取请求216### 创建拉取请求

337 217 

338您可以通过直接要求 Claude 创建拉取请求("create a pr for my changes"),或逐步指导 Claude:218您可以通过直接要求 Claude 创建拉取请求("create a pr for my changes"),或逐步指导 Claude:

339 219 


357 </Step>237 </Step>

358</Steps>238</Steps>

359 239 

360当您使用 `gh pr create` 创建 PR 时,会话会自动链接到该 PR。您可以稍后使用 `claude --from-pr <number>` 恢复它240当您使用 `gh pr create` 创建 PR 时,会话会自动链接到该 PR。要稍后返回它,请运行 `claude --from-pr <number>` 或将 PR URL 粘贴到[`/resume` 选择器](/zh-CN/sessions#use-the-session-picker)搜索中

361 241 

362<Tip>242<Tip>

363 在提交前审查 Claude 生成的 PR,并要求 Claude 突出显示潜在的风险或注意事项。243 在提交前审查 Claude 生成的 PR,并要求 Claude 突出显示潜在的风险或注意事项。

364</Tip>244</Tip>

365 245 

366## 处理文档246### 处理文档

367 247 

368假设您需要为代码添加或更新文档。248假设您需要为代码添加或更新文档。

369 249 


403 283 

404***284***

405 285 

406## 在笔记和非代码文件夹中工作286### 在笔记和非代码文件夹中工作

407 287 

408Claude Code 可以在任何目录中工作。在笔记库、文档文件夹或任何 markdown 文件集合中运行它,以搜索、编辑和重新组织内容,就像处理代码一样。288Claude Code 可以在任何目录中工作。在笔记库、文档文件夹或任何 markdown 文件集合中运行它,以搜索、编辑和重新组织内容,就像处理代码一样。

409 289 


411 291 

412***292***

413 293 

414## 使用图像294### 使用图像

415 295 

416假设您需要在代码库中使用图像,并希望 Claude 帮助分析图像内容。296假设您需要在代码库中使用图像,并希望 Claude 帮助分析图像内容。

417 297 


471 351 

472***352***

473 353 

474## 引用文件和目录354### 引用文件和目录

475 355 

476使用 @ 快速包含文件或目录,无需等待 Claude 读取它们。356使用 @ 快速包含文件或目录,无需等待 Claude 读取它们。

477 357 


512 392 

513***393***

514 394 

515## 使用扩展思考(Thinking Mode)395### 按计划运行 Claude

516 

517[扩展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)默认启用,为 Claude 提供空间在响应前逐步推理复杂问题。此推理在详细模式中可见,您可以使用 `Ctrl+O` 切换。在扩展思考期间,进度提示会出现在指示器下方,显示 Claude 正在积极工作。

518 

519此外,[支持努力级别的模型](/zh-CN/model-config#adjust-effort-level)使用自适应推理:不是固定的思考令牌预算,而是模型根据您的努力级别设置和手头的任务动态决定是否以及如何思考。自适应推理让 Claude 能够更快地响应常规提示,并为受益于深度思考的步骤保留更深层的思考。

520 

521扩展思考对于复杂的架构决策、具有挑战性的错误、多步骤实现规划和评估不同方法之间的权衡特别有价值。

522 

523<Note>

524 "think"、"think hard" 和 "think more" 等短语被解释为常规提示指令,不分配思考令牌。

525</Note>

526 

527### 配置 Thinking Mode

528 

529思考默认启用,但您可以调整或禁用它。

530 

531| 范围 | 如何配置 | 详细信息 |

532| -------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |

533| **努力级别** | 运行 `/effort`,在 `/model` 中调整,或设置 [`CLAUDE_CODE_EFFORT_LEVEL`](/zh-CN/env-vars) | 控制[支持的模型](/zh-CN/model-config#adjust-effort-level)上的思考深度 |

534| **`ultrathink` 关键字** | 在提示中的任何地方包含 "ultrathink" | 添加上下文内指令,告诉模型在该轮进行更多推理。不改变努力级别本身;有关详细信息,请参阅[调整努力级别](/zh-CN/model-config#adjust-effort-level) |

535| **切换快捷键** | 按 `Option+T`(macOS)或 `Alt+T`(Windows/Linux) | 为当前会话切换思考开/关(所有模型)。可能需要[终端配置](/zh-CN/terminal-config)来启用 Option 键快捷键 |

536| **全局默认值** | 使用 `/config` 切换 Thinking Mode | 在所有项目中设置默认值(所有模型)。<br />保存为 `~/.claude/settings.json` 中的 `alwaysThinkingEnabled` |

537| **限制令牌预算** | 设置 [`MAX_THINKING_TOKENS`](/zh-CN/env-vars) 环境变量 | 将思考预算限制为特定数量的令牌。在具有自适应推理的模型上,仅当设置为 `0` 时才适用,除非禁用自适应推理。示例:`export MAX_THINKING_TOKENS=10000` |

538 

539要查看 Claude 的思考过程,按 `Ctrl+O` 切换详细模式,并查看显示为灰色斜体文本的内部推理。

540 

541### 扩展思考如何工作

542 

543扩展思考控制 Claude 在响应前执行多少内部推理。更多思考提供更多空间来探索解决方案、分析边界情况和自我纠正错误。

544 

545在[支持努力级别的模型](/zh-CN/model-config#adjust-effort-level)上,思考使用自适应推理:模型根据您选择的努力级别动态分配思考令牌。这是调整速度和推理深度之间权衡的推荐方式。如果您希望 Claude 比您的努力级别通常会产生的更多或更少地思考,您也可以直接在提示中或在 `CLAUDE.md` 中说明。

546 

547对于较旧的模型,思考使用从您的输出分配中提取的固定令牌预算。预算因模型而异;有关详细信息,请参阅 [`MAX_THINKING_TOKENS`](/zh-CN/env-vars)。您可以使用该环境变量限制预算,或通过 `/config` 或 `Option+T`/`Alt+T` 切换完全禁用思考。

548 

549在具有自适应推理的模型上,`MAX_THINKING_TOKENS` 仅在设置为 `0` 以禁用思考时适用,或当 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` 将模型恢复为固定预算时。`CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 仅适用于 Opus 4.6 和 Sonnet 4.6。Opus 4.7 始终使用自适应推理,不支持固定思考预算。请参阅[环境变量](/zh-CN/env-vars)。

550 

551<Warning>

552 您需要为所有使用的思考令牌付费,即使思考摘要被编辑。在交互模式中,思考默认显示为折叠的存根。在 `settings.json` 中设置 `showThinkingSummaries: true` 以显示完整摘要。

553</Warning>

554 

555***

556 

557## 恢复以前的对话

558 

559启动 Claude Code 时,您可以恢复以前的会话:

560 

561* `claude --continue` 继续当前目录中最近的对话

562* `claude --resume` 打开对话选择器或按名称恢复

563* `claude --from-pr 123` 恢复链接到特定拉取请求的会话

564 

565从活跃会话内,使用 `/resume` 切换到不同的对话。

566 

567当选定的会话足够旧且足够大,以至于重新阅读它会消耗您使用限额的大部分时,`--resume`、`--continue` 和 `/resume` 会提供从摘要恢复而不是加载完整记录的选项。此提示在 Amazon Bedrock、Google Cloud Vertex AI 或 Microsoft Foundry 上不可用。

568 

569会话按项目目录存储。默认情况下,`/resume` 选择器显示来自当前 worktree 的交互式会话,带有键盘快捷键来扩展列表到其他 worktrees 或项目、搜索、预览和重命名。有关完整的快捷键参考,请参阅下面的[使用会话选择器](#use-the-session-picker)。

570 

571当您从同一存储库的另一个 worktree 选择会话时,Claude Code 直接恢复它,无需您首先切换目录。从不相关项目选择会话会将 `cd` 和恢复命令复制到您的剪贴板。

572 

573按名称恢复在当前存储库及其 worktrees 中解析。`claude --resume <name>` 和 `/resume <name>` 都查找精确匹配并直接恢复它,即使会话位于不同的 worktree 中。

574 

575当名称不明确时,`claude --resume <name>` 打开选择器,名称预填充为搜索词。`/resume <name>` 从活跃会话内报告错误,因此运行 `/resume` 不带参数来打开选择器并选择。

576 

577由 `claude -p` 或 SDK 调用创建的会话不会出现在选择器中,但您仍然可以通过将其会话 ID 直接传递给 `claude --resume <session-id>` 来恢复它。

578 

579### 命名您的会话

580 

581给会话起描述性名称以便稍后找到它们。这是在处理多个任务或功能时的最佳实践。

582 

583<Steps>

584 <Step title="命名会话">

585 在启动时使用 `-n` 命名会话:

586 

587 ```bash theme={null}

588 claude -n auth-refactor

589 ```

590 

591 或在会话期间使用 `/rename`,这也会在提示栏上显示名称:

592 

593 ```text theme={null}

594 /rename auth-refactor

595 ```

596 

597 您也可以从选择器重命名任何会话:运行 `/resume`,导航到会话,然后按 `Ctrl+R`。

598 </Step>

599 

600 <Step title="稍后按名称恢复">

601 从命令行:

602 

603 ```bash theme={null}

604 claude --resume auth-refactor

605 ```

606 

607 或从活跃会话内:

608 

609 ```text theme={null}

610 /resume auth-refactor

611 ```

612 </Step>

613</Steps>

614 

615### 使用会话选择器

616 

617`/resume` 命令(或 `claude --resume` 不带参数)打开具有以下功能的交互式会话选择器:

618 

619**选择器中的键盘快捷键:**

620 

621| 快捷键 | 操作 |

622| :------------------------ | :------------------------------------------------------------- |

623| `↑` / `↓` | 在会话之间导航 |

624| `→` / `←` | 展开或折叠分组的会话 |

625| `Enter` | 选择并恢复突出显示的会话 |

626| `Space` | 预览会话内容。`Ctrl+V` 也适用于不将其捕获为粘贴的终端 |

627| `Ctrl+R` | 重命名突出显示的会话 |

628| `/` 或任何可打印字符(除 `Space` 外) | 进入搜索模式并过滤会话 |

629| `Ctrl+A` | 显示此机器上所有项目的会话。再次按下以恢复当前存储库 |

630| `Ctrl+W` | 显示当前存储库所有 worktrees 的会话。再次按下以恢复当前 worktree。仅在多 worktree 存储库中显示 |

631| `Ctrl+B` | 过滤到来自当前 git 分支的会话。再次按下以显示所有分支的会话 |

632| `Esc` | 退出选择器或搜索模式 |

633 

634**会话组织:**

635 

636选择器显示带有有用元数据的会话:

637 

638* 会话名称(如果设置),否则对话摘要或第一个用户提示

639* 自上次活动以来经过的时间

640* 消息计数

641* Git 分支(如果适用)

642* 项目路径,在使用 `Ctrl+A` 扩展到所有项目后显示

643 

644分叉的会话(使用 `/branch`、`/rewind` 或 `--fork-session` 创建)在其根会话下分组,使查找相关对话更容易。

645 

646<Tip>

647 提示:

648 

649 * **尽早命名会话**:在开始处理不同任务时使用 `/rename`——稍后找到"payment-integration"比"explain this function"容易得多

650 * 使用 `--continue` 快速访问当前目录中最近的对话

651 * 当您知道需要哪个会话时使用 `--resume session-name`

652 * 当您需要浏览和选择时使用 `--resume`(不带名称)

653 * 对于脚本,使用 `claude --continue --print "prompt"` 以非交互模式恢复

654 * 在选择器中按 `Space` 在恢复前预览会话

655 * 恢复的对话以与原始对话相同的模型和配置开始

656 

657 工作原理:

658 

659 1. **对话存储**:所有对话都自动保存在本地,包含完整的消息历史

660 2. **消息反序列化**:恢复时,整个消息历史被恢复以保持上下文

661 3. **工具状态**:来自以前对话的工具使用和结果被保留

662 4. **上下文恢复**:对话以所有以前的上下文完整恢复

663</Tip>

664 

665***

666 

667## 使用 Git worktrees 运行并行 Claude Code 会话

668 

669当同时处理多个任务时,您需要每个 Claude 会话都有自己的代码库副本,以便更改不会冲突。Git worktrees 通过创建单独的工作目录来解决这个问题,每个目录都有自己的文件和分支,同时共享相同的存储库历史和远程连接。这意味着您可以让 Claude 在一个 worktree 中处理功能,同时在另一个 worktree 中修复错误,而不会相互干扰。

670 

671使用 `--worktree`(`-w`)标志创建隔离的 worktree 并在其中启动 Claude。您传递的值成为 worktree 目录名称和分支名称:

672 

673```bash theme={null}

674# 在名为 "feature-auth" 的 worktree 中启动 Claude

675# 创建 .claude/worktrees/feature-auth/ 和新分支

676claude --worktree feature-auth

677 

678# 在单独的 worktree 中启动另一个会话

679claude --worktree bugfix-123

680```

681 

682如果您省略名称,Claude 会自动生成一个随机名称:

683 

684```bash theme={null}

685# 自动生成名称如 "bright-running-fox"

686claude --worktree

687```

688 

689Worktrees 在 `<repo>/.claude/worktrees/<name>` 创建,并从默认远程分支分支。worktree 分支命名为 `worktree-<name>`。

690 

691基础分支不能通过 Claude Code 标志或设置进行配置。`origin/HEAD` 是存储在您本地 `.git` 目录中的引用,Git 在您克隆时设置一次。如果存储库的默认分支稍后在 GitHub 或 GitLab 上更改,您的本地 `origin/HEAD` 会继续指向旧的,worktrees 将从那里分支。要重新同步您的本地引用与远程当前认为的默认值:

692 

693```bash theme={null}

694git remote set-head origin -a

695```

696 

697这是一个标准的 Git 命令,仅更新您的本地 `.git` 目录。远程服务器上没有任何更改。如果您希望 worktrees 基于特定分支而不是远程的默认值,请使用 `git remote set-head origin your-branch-name` 显式设置它。

698 

699为了完全控制 worktrees 的创建方式,包括为每次调用选择不同的基础,配置 [WorktreeCreate hook](/zh-CN/hooks#worktreecreate)。该 hook 完全替换 Claude Code 的默认 `git worktree` 逻辑,因此您可以从您需要的任何 ref 获取和分支。

700 

701您也可以在会话期间要求 Claude "work in a worktree" 或 "start a worktree",它会自动创建一个。

702 

703### Subagent worktrees

704 

705Subagents 也可以使用 worktree 隔离来并行工作而不会冲突。要求 Claude "use worktrees for your agents" 或在[自定义 subagent](/zh-CN/sub-agents#supported-frontmatter-fields) 中通过在代理的 frontmatter 中添加 `isolation: worktree` 来配置它。每个 subagent 获得自己的 worktree,当 subagent 完成而没有更改时自动清理。

706 

707### Worktree 清理

708 

709当您退出 worktree 会话时,Claude 根据您是否进行了更改来处理清理:

710 

711* **无更改**:worktree 及其分支自动删除

712* **存在更改或提交**:Claude 提示您保留或删除 worktree。保留会保留目录和分支,以便您稍后可以返回。删除会删除 worktree 目录及其分支,丢弃所有未提交的更改和提交

713 

714Subagent worktrees 由崩溃或中断的并行运行孤立的,在启动时会自动删除,一旦它们超过您的 [`cleanupPeriodDays`](/zh-CN/settings#available-settings) 设置,前提是它们没有未提交的更改、没有未跟踪的文件和没有未推送的提交。使用 `--worktree` 创建的 Worktrees 永远不会被此扫描删除。

715 

716要在 Claude 会话外清理 worktrees,请使用[手动 worktree 管理](#manage-worktrees-manually)。

717 

718<Tip>

719 将 `.claude/worktrees/` 添加到您的 `.gitignore` 以防止 worktree 内容在主存储库中显示为未跟踪的文件。

720</Tip>

721 

722### 复制 gitignored 文件到 worktrees

723 

724Git worktrees 是新鲜检出,所以它们不包括来自主存储库的未跟踪文件,如 `.env` 或 `.env.local`。要在 Claude 创建 worktree 时自动复制这些文件,请将 `.worktreeinclude` 文件添加到项目根目录。

725 

726该文件使用 `.gitignore` 语法列出要复制的文件。只有匹配模式且也被 gitignored 的文件才会被复制,因此跟踪的文件永远不会被复制。

727 

728```text .worktreeinclude theme={null}

729.env

730.env.local

731config/secrets.json

732```

733 

734这适用于使用 `--worktree` 创建的 worktrees、subagent worktrees 和[桌面应用](/zh-CN/desktop#work-in-parallel-with-sessions)中的并行会话。

735 

736### 手动管理 worktrees

737 

738为了更好地控制 worktree 位置和分支配置,直接使用 Git 创建 worktrees。当您需要检出特定的现有分支或将 worktree 放在存储库外时,这很有用。

739 

740```bash theme={null}

741# 使用新分支创建 worktree

742git worktree add ../project-feature-a -b feature-a

743 

744# 使用现有分支创建 worktree

745git worktree add ../project-bugfix bugfix-123

746 

747# 在 worktree 中启动 Claude

748cd ../project-feature-a && claude

749 

750# 完成时清理

751git worktree list

752git worktree remove ../project-feature-a

753```

754 

755在[官方 Git worktree 文档](https://git-scm.com/docs/git-worktree)中了解更多。

756 

757<Tip>

758 记住根据您的项目设置在每个新 worktree 中初始化您的开发环境。根据您的堆栈,这可能包括运行依赖项安装(`npm install`、`yarn`)、设置虚拟环境或遵循您的项目标准设置过程。

759</Tip>

760 

761### 非 git 版本控制

762 

763Worktree 隔离默认使用 git。对于其他版本控制系统如 SVN、Perforce 或 Mercurial,配置 [WorktreeCreate 和 WorktreeRemove hooks](/zh-CN/hooks#worktreecreate) 以提供自定义 worktree 创建和清理逻辑。配置后,这些 hooks 在您使用 `--worktree` 时替换默认的 git 行为,因此[`.worktreeinclude`](#copy-gitignored-files-to-worktrees) 不被处理。在您的 hook 脚本中复制任何本地配置文件。

764 

765对于具有共享任务和消息的并行会话的自动协调,请参阅[代理团队](/zh-CN/agent-teams)。

766 

767***

768 

769## 在 Claude 需要您的注意时获得通知

770 

771当您启动长时间运行的任务并切换到另一个窗口时,您可以设置桌面通知,以便在 Claude 完成或需要您的输入时了解。这使用 `Notification` [hook 事件](/zh-CN/hooks-guide#get-notified-when-claude-needs-input),每当 Claude 等待权限、空闲并准备好新提示或完成身份验证时触发。

772 

773<Steps>

774 <Step title="将 hook 添加到您的设置">

775 打开 `~/.claude/settings.json` 并添加一个 `Notification` hook,该 hook 调用您的平台的本机通知命令:

776 

777 <Tabs>

778 <Tab title="macOS">

779 ```json theme={null}

780 {

781 "hooks": {

782 "Notification": [

783 {

784 "matcher": "",

785 "hooks": [

786 {

787 "type": "command",

788 "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"

789 }

790 ]

791 }

792 ]

793 }

794 }

795 ```

796 </Tab>

797 

798 <Tab title="Linux">

799 ```json theme={null}

800 {

801 "hooks": {

802 "Notification": [

803 {

804 "matcher": "",

805 "hooks": [

806 {

807 "type": "command",

808 "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"

809 }

810 ]

811 }

812 ]

813 }

814 }

815 ```

816 </Tab>

817 

818 <Tab title="Windows">

819 ```json theme={null}

820 {

821 "hooks": {

822 "Notification": [

823 {

824 "matcher": "",

825 "hooks": [

826 {

827 "type": "command",

828 "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""

829 }

830 ]

831 }

832 ]

833 }

834 }

835 ```

836 </Tab>

837 </Tabs>

838 

839 如果您的设置文件已经有 `hooks` 键,请将 `Notification` 条目合并到其中,而不是覆盖。您也可以通过在 CLI 中描述您想要的内容来要求 Claude 为您编写 hook。

840 </Step>

841 

842 <Step title="可选地缩小匹配器范围">

843 默认情况下,hook 在所有通知类型上触发。要仅针对特定事件触发,请将 `matcher` 字段设置为以下值之一:

844 

845 | 匹配器 | 触发时机 |

846 | :--------------------- | :------------------ |

847 | `permission_prompt` | Claude 需要您批准工具使用 |

848 | `idle_prompt` | Claude 完成并等待您的下一个提示 |

849 | `auth_success` | 身份验证完成 |

850 | `elicitation_dialog` | MCP 服务器打开一个引出表单 |

851 | `elicitation_complete` | MCP 引出表单被提交或关闭 |

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

853 </Step>

854 

855 <Step title="验证 hook">

856 输入 `/hooks` 并选择 `Notification` 以确认 hook 出现。选择它显示将运行的命令。要端到端测试它,要求 Claude 运行需要权限的命令并切换离开终端,或要求 Claude 直接触发通知。

857 </Step>

858</Steps>

859 

860有关完整的事件架构和通知类型,请参阅[通知参考](/zh-CN/hooks#notification)。

861 

862***

863 

864## 将 Claude 用作 unix 风格的实用程序

865 

866### 将 Claude 添加到您的验证过程

867 

868假设您想将 Claude Code 用作 linter 或代码审查工具。

869 

870**将 Claude 添加到您的构建脚本:**

871 

872```json theme={null}

873// package.json

874{

875 ...

876 "scripts": {

877 ...

878 "lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"

879 }

880}

881```

882 

883<Tip>

884 提示:

885 

886 * 在您的 CI/CD 管道中使用 Claude 进行自动代码审查

887 * 自定义提示以检查与您的项目相关的特定问题

888 * 考虑为不同类型的验证创建多个脚本

889</Tip>

890 

891### 管道进入、管道输出

892 

893假设您想将数据管道输入 Claude,并获得结构化格式的数据。

894 

895**通过 Claude 管道数据:**

896 

897```bash theme={null}

898cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

899```

900 

901<Tip>

902 提示:

903 

904 * 使用管道将 Claude 集成到现有的 shell 脚本中

905 * 与其他 Unix 工具结合以实现强大的工作流程

906 * 考虑使用 `--output-format` 获得结构化输出

907</Tip>

908 

909### 控制输出格式

910 

911假设您需要 Claude 的输出采用特定格式,特别是在将 Claude Code 集成到脚本或其他工具时。

912 

913<Steps>

914 <Step title="使用文本格式(默认)">

915 ```bash theme={null}

916 cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt

917 ```

918 

919 这仅输出 Claude 的纯文本响应(默认行为)。

920 </Step>

921 

922 <Step title="使用 JSON 格式">

923 ```bash theme={null}

924 cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json

925 ```

926 

927 这输出包含元数据(包括成本和持续时间)的消息的 JSON 数组。

928 </Step>

929 

930 <Step title="使用流式 JSON 格式">

931 ```bash theme={null}

932 cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json

933 ```

934 

935 这在 Claude 处理请求时实时输出一系列 JSON 对象。每条消息都是有效的 JSON 对象,但如果连接,整个输出不是有效的 JSON。

936 </Step>

937</Steps>

938 

939<Tip>

940 提示:

941 

942 * 对于简单集成(您只需要 Claude 的响应),使用 `--output-format text`

943 * 当您需要完整的对话日志时使用 `--output-format json`

944 * 对于每个对话轮次的实时输出,使用 `--output-format stream-json`

945</Tip>

946 

947***

948 

949## 按计划运行 Claude

950 396 

951假设您想让 Claude 自动定期处理任务,如每天早上审查开放的 PR、每周审计依赖项或在夜间检查 CI 失败。397假设您想让 Claude 自动定期处理任务,如每天早上审查开放的 PR、每周审计依赖项或在夜间检查 CI 失败。

952 398 


965 411 

966***412***

967 413 

968## 询问 Claude 关于其功能414### 询问 Claude 关于其功能

969 415 

970Claude 内置访问其文档,可以回答关于其自身功能和限制的问题。416Claude 内置访问其文档,可以回答关于其自身功能和限制的问题。

971 417 

972### 示例问题418#### 示例问题

973 419 

974```text theme={null}420```text theme={null}

975can Claude Code create pull requests?421can Claude Code create pull requests?


1009 455 

1010***456***

1011 457 

458## 恢复以前的对话

459 

460当任务跨越多个会话时,从您离开的地方继续,而不是重新解释上下文。Claude Code 在本地保存每个对话。

461 

462```bash theme={null}

463claude --continue

464```

465 

466这会恢复当前目录中最近的会话;如果还没有,它会打印 `No conversation found to continue` 并退出。使用 `claude --resume` 从列表中选择,或从运行中的会话内使用 `/resume`。有关命名、分支和完整选择器参考,请参阅[管理会话](/zh-CN/sessions)。

467 

468## 使用 worktrees 运行并行会话

469 

470在一个终端中处理功能,同时 Claude 在另一个终端中修复错误,而不会编辑冲突。每个 worktree 是其自己分支上的单独检出。

471 

472```bash theme={null}

473claude --worktree feature-auth

474```

475 

476在第二个终端中使用不同的名称运行相同的命令以启动隔离的并行会话。有关清理、`.worktreeinclude` 和非 git VCS 支持,请参阅 [Worktrees](/zh-CN/worktrees)。要从一个屏幕而不是单独的终端监视并行会话,请参阅[后台代理](/zh-CN/agent-view)。

477 

478## 编辑前规划

479 

480对于您想在接触磁盘前审查的更改,切换到 plan mode。Claude 读取文件并提出计划,但在您批准前不进行任何编辑。

481 

482```bash theme={null}

483claude --permission-mode plan

484```

485 

486您也可以在会话中按 `Shift+Tab` 切换到 plan mode。有关批准流程和在文本编辑器中编辑计划,请参阅 [Plan Mode](/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode)。

487 

488## 将研究委派给 subagents

489 

490探索大型代码库会用文件读取填充您的上下文。委派探索,以便只有发现结果返回。

491 

492```text theme={null}

493use a subagent to investigate how our auth system handles token refresh

494```

495 

496subagent 在其自己的上下文窗口中读取文件并报告摘要。有关定义具有自己工具和提示的自定义代理,请参阅 [Subagents](/zh-CN/sub-agents)。

497 

498## 将 Claude 管道输入脚本

499 

500以非交互方式运行 Claude 用于 CI、预提交钩子或批处理。stdin 和 stdout 像任何 Unix 工具一样工作。

501 

502```bash theme={null}

503git log --oneline -20 | claude -p "summarize these recent commits"

504```

505 

506有关输出格式、权限标志和扇出模式,请参阅[非交互模式](/zh-CN/headless)。

507 

1012## 后续步骤508## 后续步骤

1013 509 

1014<CardGroup cols={2}>510<CardGroup cols={2}>


1016 充分利用 Claude Code 的模式512 充分利用 Claude Code 的模式

1017 </Card>513 </Card>

1018 514 

1019 <Card title="Claude Code 如何工作" icon="gear" href="/zh-CN/how-claude-code-works">515 <Card title="管理会话" icon="rotate-left" href="/zh-CN/sessions">

1020 理解代理循环和上下文管理516 恢复、命名和分支对话

1021 </Card>517 </Card>

1022 518 

1023 <Card title="扩展 Claude Code" icon="puzzle-piece" href="/zh-CN/features-overview">519 <Card title="Worktrees" icon="code-branch" href="/zh-CN/worktrees">

1024 添加 skills、hooks、MCP、subagents 和插件520 运行隔离的并行会话

1025 </Card>521 </Card>

1026 522 

1027 <Card title="参考实现" icon="code" href="https://github.com/anthropics/claude-code/tree/main/.devcontainer">523 <Card title="扩展 Claude Code" icon="puzzle-piece" href="/zh-CN/features-overview">

1028 克隆开发容器参考实现524 添加 skills、hooks、MCP、subagents 和插件

1029 </Card>525 </Card>

1030</CardGroup>526</CardGroup>

data-usage.md +12 −12

Details

67 67 

68下面的图表显示了 Claude Code 在安装和正常操作期间如何连接到外部服务。实线表示必需的连接,而虚线表示可选或用户启动的数据流。68下面的图表显示了 Claude Code 在安装和正常操作期间如何连接到外部服务。实线表示必需的连接,而虚线表示可选或用户启动的数据流。

69 69 

70<img src="https://mintcdn.com/claude-code/RcOyXc06Ja8cuvMZ/images/claude-code-data-flow.svg?fit=max&auto=format&n=RcOyXc06Ja8cuvMZ&q=85&s=b5be40abf333defe984993af89546c19" alt="显示 Claude Code 外部连接的图表:安装/更新连接到分发服务器,用户请求连接到 Anthropic 服务,包括 Console 身份验证、public-api,以及可选的 Statsig、Sentry 和错误报告" width="720" height="520" data-path="images/claude-code-data-flow.svg" />70<img src="https://mintcdn.com/claude-code/RcOyXc06Ja8cuvMZ/images/claude-code-data-flow.svg?fit=max&auto=format&n=RcOyXc06Ja8cuvMZ&q=85&s=b5be40abf333defe984993af89546c19" alt="显示 Claude Code 外部连接的图表:安装/更新连接到分发服务器,用户请求连接到 Anthropic 服务,包括 Console 身份验证、public-api,以及可选的指标、Sentry 和错误报告" width="720" height="520" data-path="images/claude-code-data-flow.svg" />

71 71 

72Claude Code 在本地运行。为了与 LLM 交互,Claude Code 通过网络发送数据。此数据包括所有用户提示和模型输出,通过 TLS 1.2+ 在传输中加密。Claude Code 与大多数流行的 VPN 和 LLM 代理兼容。72Claude Code 在本地运行。为了与 LLM 交互,Claude Code 通过网络发送数据。此数据包括所有用户提示和模型输出,通过 TLS 1.2+ 在传输中加密。Claude Code 与大多数流行的 VPN 和 LLM 代理兼容。

73 73 


95 95 

96## 遥测服务96## 遥测服务

97 97 

98Claude Code 从用户的机器连接到 Statsig 服务,以记录操作指标,例如延迟、可靠性和使用模式。此日志记录不包括任何代码或文件路径。数据使用 TLS 在传输中加密使用 256 位 AES 加密在静止时加密。在 [Statsig 安全文档](https://www.statsig.com/trust/security)中了解更多要选择退出 Statsig 遥测,请设置 `DISABLE_TELEMETRY` 环境变量。98Claude Code 从用户的机器连接到 Anthropic 以记录操作指标,例如延迟、可靠性和使用模式。此日志记录不包括任何代码或文件路径。数据在传输中加密静止时也加密要选择退出遥测,请设置 `DISABLE_TELEMETRY` 环境变量。

99 99 

100Claude Code 从用户的机器连接到 Sentry 以进行操作错误日志记录。数据使用 TLS 在传输中加密,使用 256 位 AES 加密在静止时加密。在 [Sentry 安全文档](https://sentry.io/security/)中了解更多。要选择退出错误日志记录,请设置 `DISABLE_ERROR_REPORTING` 环境变量。100Claude Code 从用户的机器连接到 Sentry 以进行操作错误日志记录。数据使用 TLS 在传输中加密,使用 256 位 AES 加密在静止时加密。在 [Sentry 安全文档](https://sentry.io/security/) 中了解更多。要选择退出错误日志记录,请设置 `DISABLE_ERROR_REPORTING` 环境变量。

101 101 

102当用户运行 `/feedback` 命令时,他们的完整对话历史记录(包括代码)的副本被发送到 Anthropic。数据在传输中使用 TLS 加密。可选地,在公共存储库中创建 GitHub 问题。要选择退出,请设置 `DISABLE_FEEDBACK_COMMAND` 环境变量为 `1`。102当用户运行 `/feedback` 命令时,他们的完整对话历史记录(包括代码)的副本被发送到 Anthropic。数据在传输中使用 TLS 加密。可选地,在公共存储库中创建 GitHub 问题。要选择退出,请设置 `DISABLE_FEEDBACK_COMMAND` 环境变量为 `1`。

103 103 

104## 按 API 提供商的默认行为104## 按 API 提供商的默认行为

105 105 

106默认情况下,当使用 Bedrock、Vertex 或 Foundry 时,错误报告、遥测和错误报告被禁用。会话质量调查和 WebFetch 域安全检查是例外,无论提供商如何都会运行。您可以通过设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 一次选择退出所有非必需的流量,包括调查。此变量不影响 WebFetch 检查,它有自己的选择退出选项。以下是完整的默认行为:106默认情况下,当使用 Bedrock、Vertex、FoundryClaude Platform on AWS 时,错误报告、遥测和错误报告被禁用。会话质量调查和 WebFetch 域安全检查是例外,无论提供商如何都会运行。您可以通过设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 一次选择退出所有非必需的流量,包括调查。此变量不影响 WebFetch 检查,它有自己的选择退出选项。以下是完整的默认行为:

107 107 

108| 服务 | Claude API | Vertex API | Bedrock API | Foundry API |108| 服务 | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform on AWS |

109| ------------------------------ | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |109| ------------------------------ | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |

110| **Statsig(指标)** | 默认开启。<br />`DISABLE_TELEMETRY=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 |110| **Anthropic(指标)** | 默认开启。<br />`DISABLE_TELEMETRY=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |

111| **Sentry(错误)** | 默认开启。<br />`DISABLE_ERROR_REPORTING=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 |111| **Sentry(错误)** | 默认开启。<br />`DISABLE_ERROR_REPORTING=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |

112| **Claude API(`/feedback` 报告)** | 默认开启。<br />`DISABLE_FEEDBACK_COMMAND=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 |112| **Claude API(`/feedback` 报告)** | 默认开启。<br />`DISABLE_FEEDBACK_COMMAND=1` 禁用。 | 默认关闭。<br />`CLAUDE_CODE_USE_VERTEX` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_BEDROCK` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_FOUNDRY` 必须为 1。 | 默认关闭。<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` 必须为 1。 |

113| **会话质量调查** | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 |113| **会话质量调查** | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 | 默认开启。<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` 禁用。 |

114| **WebFetch 域安全检查** | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 |114| **WebFetch 域安全检查** | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 | 默认开启。<br />[settings](/zh-CN/settings) 中 `skipWebFetchPreflight: true` 禁用。 |

115 115 

116所有环境变量都可以检查到 `settings.json`(请参阅 [settings 参考](/zh-CN/settings))。116所有环境变量都可以检查到 `settings.json`(请参阅 [settings 参考](/zh-CN/settings))。

117 117 

118从 v2.1.126 开始,当主机平台设置 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` 时,Statsig 指标对于 Vertex、Bedrock 和 Foundry 默认开启,并遵循标准的 `DISABLE_TELEMETRY` 选择退出。Sentry 错误报告和 `/feedback` 报告在这些提供商上仍然默认关闭。118从 v2.1.126 开始,当主机平台设置 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` 时,Vertex、Bedrock 和 Foundry 的指标默认开启,并遵循标准的 `DISABLE_TELEMETRY` 选择退出。Sentry 错误报告和 `/feedback` 报告在这些提供商上仍然默认关闭。

119 119 

120### WebFetch 域安全检查120### WebFetch 域安全检查

121 121 

env-vars.md +9 −3

Details

12| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |12| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

13| `ANTHROPIC_API_KEY` | 作为 `X-Api-Key` 标头发送的 API 密钥。设置后,即使您已登录,此密钥也会用于替代您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(`-p`)中,存在时始终使用该密钥。在交互模式中,系统会提示您在密钥覆盖订阅之前批准一次。要改用您的订阅,请运行 `unset ANTHROPIC_API_KEY` |13| `ANTHROPIC_API_KEY` | 作为 `X-Api-Key` 标头发送的 API 密钥。设置后,即使您已登录,此密钥也会用于替代您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(`-p`)中,存在时始终使用该密钥。在交互模式中,系统会提示您在密钥覆盖订阅之前批准一次。要改用您的订阅,请运行 `unset ANTHROPIC_API_KEY` |

14| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 标头的自定义值(您在此处设置的值将以 `Bearer ` 为前缀) |14| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 标头的自定义值(您在此处设置的值将以 `Bearer ` 为前缀) |

15| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 的工作区 API 密钥,在 AWS 控制台中生成。作为 `x-api-key` 发送,优先于 AWS SigV4 |

16| `ANTHROPIC_AWS_BASE_URL` | 覆盖 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 端点 URL。用于自定义区域或通过 [LLM 网关](/zh-CN/llm-gateway)路由时。默认为 `https://aws-external-anthropic.{AWS_REGION}.api.aws` |

17| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 所需。在每个请求中作为 `anthropic-workspace-id` 标头发送 |

15| `ANTHROPIC_BASE_URL` | 覆盖 API 端点以通过代理或网关路由请求。设置为非第一方主机时,[MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)默认禁用。如果您的代理转发 `tool_reference` 块,请设置 `ENABLE_TOOL_SEARCH=true` |18| `ANTHROPIC_BASE_URL` | 覆盖 API 端点以通过代理或网关路由请求。设置为非第一方主机时,[MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)默认禁用。如果您的代理转发 `tool_reference` 块,请设置 `ENABLE_TOOL_SEARCH=true` |

16| `ANTHROPIC_BEDROCK_BASE_URL` | 覆盖 Bedrock 端点 URL。用于自定义 Bedrock 端点或通过 [LLM 网关](/zh-CN/llm-gateway)路由时。请参阅 [Amazon Bedrock](/zh-CN/amazon-bedrock) |19| `ANTHROPIC_BEDROCK_BASE_URL` | 覆盖 Bedrock 端点 URL。用于自定义 Bedrock 端点或通过 [LLM 网关](/zh-CN/llm-gateway)路由时。请参阅 [Amazon Bedrock](/zh-CN/amazon-bedrock) |

17| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 覆盖 Bedrock Mantle 端点 URL。请参阅 [Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |20| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 覆盖 Bedrock Mantle 端点 URL。请参阅 [Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |


69| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 写入调试日志文件的最小日志级别。值:`verbose`、`debug`(默认)、`info`、`warn`、`error`。设置为 `verbose` 以包含高容量诊断(如完整状态行命令输出),或提高到 `error` 以减少噪音 |72| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 写入调试日志文件的最小日志级别。值:`verbose`、`debug`(默认)、`info`、`warn`、`error`。设置为 `verbose` 以包含高容量诊断(如完整状态行命令输出),或提高到 `error` 以减少噪音 |

70| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 设置为 `1` 以禁用[1M 上下文窗口](/zh-CN/model-config#extended-context)支持。设置后,1M 模型变体在模型选择器中不可用。对于具有合规要求的企业环境很有用 |73| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 设置为 `1` 以禁用[1M 上下文窗口](/zh-CN/model-config#extended-context)支持。设置后,1M 模型变体在模型选择器中不可用。对于具有合规要求的企业环境很有用 |

71| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 设置为 `1` 以禁用 Opus 4.6 和 Sonnet 4.6 的[自适应推理](/zh-CN/model-config#adjust-effort-level)并回退到由 `MAX_THINKING_TOKENS` 控制的固定思考预算。对 Opus 4.7 无效,它始终使用自适应推理 |74| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 设置为 `1` 以禁用 Opus 4.6 和 Sonnet 4.6 的[自适应推理](/zh-CN/model-config#adjust-effort-level)并回退到由 `MAX_THINKING_TOKENS` 控制的固定思考预算。对 Opus 4.7 无效,它始终使用自适应推理 |

75| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 设置为 `1` 以关闭[后台代理和代理视图](/zh-CN/agent-view):`claude agents`、`--bg`、`/background` 和按需监督员。等同于 [`disableAgentView`](/zh-CN/settings#available-settings) 设置 |

72| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 设置为 `1` 以禁用[全屏渲染](/zh-CN/fullscreen)并使用经典主屏幕渲染器。对话保持在您的终端的原生滚动条中,因此 `Cmd+f` 和 tmux 复制模式可以正常工作。优先于 `CLAUDE_CODE_NO_FLICKER` 和 [`tui`](/zh-CN/settings#available-settings) 设置。您也可以使用 `/tui default` 切换 |76| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 设置为 `1` 以禁用[全屏渲染](/zh-CN/fullscreen)并使用经典主屏幕渲染器。对话保持在您的终端的原生滚动条中,因此 `Cmd+f` 和 tmux 复制模式可以正常工作。优先于 `CLAUDE_CODE_NO_FLICKER` 和 [`tui`](/zh-CN/settings#available-settings) 设置。您也可以使用 `/tui default` 切换 |

73| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 设置为 `1` 以禁用附件处理。带有 `@` 语法的文件提及作为纯文本发送,而不是扩展为文件内容 |77| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 设置为 `1` 以禁用附件处理。带有 `@` 语法的文件提及作为纯文本发送,而不是扩展为文件内容 |

74| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 设置为 `1` 以禁用[自动内存](/zh-CN/memory#auto-memory)。设置为 `0` 以在 `--bare` 模式或 [`autoMemoryEnabled: false`](/zh-CN/settings#available-settings) 会禁用它时强制启用自动内存。禁用后,Claude 不会创建或加载自动内存文件 |78| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 设置为 `1` 以禁用[自动内存](/zh-CN/memory#auto-memory)。设置为 `0` 以在 `--bare` 模式或 [`autoMemoryEnabled: false`](/zh-CN/settings#available-settings) 会禁用它时强制启用自动内存。禁用后,Claude 不会创建或加载自动内存文件 |


104| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 设置为 `1` 以在您的终端支持但未自动检测到时强制启用 DEC 私有模式 2026 [同步输出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。对于实现 BSU/ESU 但不回复能力探针的模拟器(如 Emacs `eat`)很有用。在 tmux 下无效 |108| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 设置为 `1` 以在您的终端支持但未自动检测到时强制启用 DEC 私有模式 2026 [同步输出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。对于实现 BSU/ESU 但不回复能力探针的模拟器(如 Emacs `eat`)很有用。在 tmux 下无效 |

105| `CLAUDE_CODE_FORK_SUBAGENT` | 设置为 `1` 以启用[分叉 subagents](/zh-CN/sub-agents#fork-the-current-conversation)。分叉的 subagent 从主会话继承完整的对话上下文,而不是从头开始。启用后,`/fork` 生成分叉的 subagent 而不是充当 [`/branch`](/zh-CN/commands) 的别名,所有 subagent 生成在后台运行。在交互模式和通过 SDK 或 `claude -p` 中工作 |109| `CLAUDE_CODE_FORK_SUBAGENT` | 设置为 `1` 以启用[分叉 subagents](/zh-CN/sub-agents#fork-the-current-conversation)。分叉的 subagent 从主会话继承完整的对话上下文,而不是从头开始。启用后,`/fork` 生成分叉的 subagent 而不是充当 [`/branch`](/zh-CN/commands) 的别名,所有 subagent 生成在后台运行。在交互模式和通过 SDK 或 `claude -p` 中工作 |

106| `CLAUDE_CODE_GIT_BASH_PATH` | 仅限 Windows:Git Bash 可执行文件 (`bash.exe`) 的路径。当 Git Bash 已安装但不在您的 PATH 中时使用。请参阅 [Windows 设置](/zh-CN/setup#set-up-on-windows) |110| `CLAUDE_CODE_GIT_BASH_PATH` | 仅限 Windows:Git Bash 可执行文件 (`bash.exe`) 的路径。当 Git Bash 已安装但不在您的 PATH 中时使用。请参阅 [Windows 设置](/zh-CN/setup#set-up-on-windows) |

107| `CLAUDE_CODE_GLOB_HIDDEN` | 设置为 `false` 以在 Claude 调用 [Glob 工具](/zh-CN/tools-reference)时从结果中排除点文件。默认包含。不影响 `@` 文件自动完成、`ls`、Grep 或 Read |111| `CLAUDE_CODE_GLOB_HIDDEN` | 设置为 `false` 以在 Claude 调用 [Glob 工具](/zh-CN/tools-reference#glob-tool-behavior)时从结果中排除点文件。默认包含。不影响 `@` 文件自动完成、`ls`、Grep 或 Read |

108| `CLAUDE_CODE_GLOB_NO_IGNORE` | 设置为 `false` 以使 [Glob 工具](/zh-CN/tools-reference)尊重 `.gitignore` 模式。默认情况下,Glob 返回所有匹配的文件,包括被 gitignore 的文件。不影响 `@` 文件自动完成,它有自己的 [`respectGitignore` 设置](/zh-CN/settings#available-settings) |112| `CLAUDE_CODE_GLOB_NO_IGNORE` | 设置为 `false` 以使 [Glob 工具](/zh-CN/tools-reference#glob-tool-behavior)尊重 `.gitignore` 模式。默认情况下,Glob 返回所有匹配的文件,包括被 gitignore 的文件。不影响 `@` 文件自动完成,它有自己的 [`respectGitignore` 设置](/zh-CN/settings#available-settings) |

109| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 工具文件发现的超时时间(以秒为单位)。在大多数平台上默认为 20 秒,在 WSL 上默认为 60 秒 |113| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 工具文件发现的超时时间(以秒为单位)。在大多数平台上默认为 20 秒,在 WSL 上默认为 60 秒 |

110| `CLAUDE_CODE_HIDE_CWD` | 设置为 `1` 以在启动徽标中隐藏工作目录。对于屏幕共享或录制(其中路径暴露您的操作系统用户名)很有用 |114| `CLAUDE_CODE_HIDE_CWD` | 设置为 `1` 以在启动徽标中隐藏工作目录。对于屏幕共享或录制(其中路径暴露您的操作系统用户名)很有用 |

111| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | 覆盖用于连接到 IDE 扩展的主机地址。默认情况下,Claude Code 自动检测正确的地址,包括 WSL 到 Windows 的路由 |115| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | 覆盖用于连接到 IDE 扩展的主机地址。默认情况下,Claude Code 自动检测正确的地址,包括 WSL 到 Windows 的路由 |


144| `CLAUDE_CODE_SHELL_PREFIX` | 命令前缀以包装 Claude Code 生成的所有 bash 命令:Bash 工具调用、[hook](/zh-CN/hooks) 命令和 stdio [MCP server](/zh-CN/mcp) 启动命令。对于日志记录或审计很有用。示例:设置 `/path/to/logger.sh` 将每个命令作为 `/path/to/logger.sh <command>` 运行 |148| `CLAUDE_CODE_SHELL_PREFIX` | 命令前缀以包装 Claude Code 生成的所有 bash 命令:Bash 工具调用、[hook](/zh-CN/hooks) 命令和 stdio [MCP server](/zh-CN/mcp) 启动命令。对于日志记录或审计很有用。示例:设置 `/path/to/logger.sh` 将每个命令作为 `/path/to/logger.sh <command>` 运行 |

145| `CLAUDE_CODE_SIMPLE` | 设置为 `1` 以使用最小系统提示和仅 Bash、文件读取和文件编辑工具运行。MCP 工具来自 `--mcp-config` 仍然可用。禁用 hooks、skills、plugins、MCP servers、自动内存和 CLAUDE.md 的自动发现。[`--bare`](/zh-CN/headless#start-faster-with-bare-mode) CLI 标志设置此选项 |149| `CLAUDE_CODE_SIMPLE` | 设置为 `1` 以使用最小系统提示和仅 Bash、文件读取和文件编辑工具运行。MCP 工具来自 `--mcp-config` 仍然可用。禁用 hooks、skills、plugins、MCP servers、自动内存和 CLAUDE.md 的自动发现。[`--bare`](/zh-CN/headless#start-faster-with-bare-mode) CLI 标志设置此选项 |

146| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 设置为 `1` 以在 Opus 4.7 上使用较短的系统提示和缩写的工具描述。对其他模型无效。完整的工具集、hooks、MCP 服务器和 CLAUDE.md 发现保持启用 |150| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 设置为 `1` 以在 Opus 4.7 上使用较短的系统提示和缩写的工具描述。对其他模型无效。完整的工具集、hooks、MCP 服务器和 CLAUDE.md 发现保持启用 |

151| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 跳过 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 的客户端身份验证,用于自己签署请求的网关 |

147| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳过 Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |152| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳过 Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |

148| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳过 Microsoft Foundry 的 Azure 身份验证(例如,使用 LLM 网关时) |153| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳过 Microsoft Foundry 的 Azure 身份验证(例如,使用 LLM 网关时) |

149| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳过 Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |154| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳过 Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |


158| `CLAUDE_CODE_TEAM_NAME` | 此队友所属的代理团队的名称。在[代理团队](/zh-CN/agent-teams)成员上自动设置 |163| `CLAUDE_CODE_TEAM_NAME` | 此队友所属的代理团队的名称。在[代理团队](/zh-CN/agent-teams)成员上自动设置 |

159| `CLAUDE_CODE_TMPDIR` | 覆盖用于内部临时文件的临时目录。Claude Code 将 `/claude-{uid}/`(Unix)或 `/claude/`(Windows)附加到此路径。默认值:macOS 上为 `/tmp`,Linux/Windows 上为 `os.tmpdir()` |164| `CLAUDE_CODE_TMPDIR` | 覆盖用于内部临时文件的临时目录。Claude Code 将 `/claude-{uid}/`(Unix)或 `/claude/`(Windows)附加到此路径。默认值:macOS 上为 `/tmp`,Linux/Windows 上为 `os.tmpdir()` |

160| `CLAUDE_CODE_TMUX_TRUECOLOR` | 设置为 `1` 以允许 tmux 内的 24 位真彩色输出。默认情况下,当设置 `$TMUX` 时,Claude Code 限制为 256 色,因为 tmux 不会通过真彩色转义序列,除非配置为这样做。在将 `set -ga terminal-overrides ',*:Tc'` 添加到您的 `~/.tmux.conf` 后设置此选项。请参阅[终端配置](/zh-CN/terminal-config)了解其他 tmux 设置 |165| `CLAUDE_CODE_TMUX_TRUECOLOR` | 设置为 `1` 以允许 tmux 内的 24 位真彩色输出。默认情况下,当设置 `$TMUX` 时,Claude Code 限制为 256 色,因为 tmux 不会通过真彩色转义序列,除非配置为这样做。在将 `set -ga terminal-overrides ',*:Tc'` 添加到您的 `~/.tmux.conf` 后设置此选项。请参阅[终端配置](/zh-CN/terminal-config)了解其他 tmux 设置 |

166| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) |

161| `CLAUDE_CODE_USE_BEDROCK` | 使用 [Bedrock](/zh-CN/amazon-bedrock) |167| `CLAUDE_CODE_USE_BEDROCK` | 使用 [Bedrock](/zh-CN/amazon-bedrock) |

162| `CLAUDE_CODE_USE_FOUNDRY` | 使用 [Microsoft Foundry](/zh-CN/microsoft-foundry) |168| `CLAUDE_CODE_USE_FOUNDRY` | 使用 [Microsoft Foundry](/zh-CN/microsoft-foundry) |

163| `CLAUDE_CODE_USE_MANTLE` | 使用 Bedrock [Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |169| `CLAUDE_CODE_USE_MANTLE` | 使用 Bedrock [Mantle 端点](/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |


194| `DISABLE_UPGRADE_COMMAND` | 设置为 `1` 以隐藏 `/upgrade` 命令 |200| `DISABLE_UPGRADE_COMMAND` | 设置为 `1` 以隐藏 `/upgrade` 命令 |

195| `DO_NOT_TRACK` | 设置为 `1` 以选择退出遥测。等同于设置 `DISABLE_TELEMETRY`。作为[标准跨工具约定](https://consoledonottrack.com/)被遵守 |201| `DO_NOT_TRACK` | 设置为 `1` 以选择退出遥测。等同于设置 `DISABLE_TELEMETRY`。作为[标准跨工具约定](https://consoledonottrack.com/)被遵守 |

196| `ENABLE_CLAUDEAI_MCP_SERVERS` | 设置为 `false` 以禁用 Claude Code 中的 [claude.ai MCP servers](/zh-CN/mcp#use-mcp-servers-from-claude-ai)。对于已登录的用户默认启用 |202| `ENABLE_CLAUDEAI_MCP_SERVERS` | 设置为 `false` 以禁用 Claude Code 中的 [claude.ai MCP servers](/zh-CN/mcp#use-mcp-servers-from-claude-ai)。对于已登录的用户默认启用 |

197| `ENABLE_PROMPT_CACHING_1H` | 设置为 `1` 以请求 1 小时的 prompt cache TTL 而不是默认的 5 分钟。适用于 API 密钥、[Bedrock](/zh-CN/amazon-bedrock)、[Vertex](/zh-CN/google-vertex-ai)[Foundry](/zh-CN/microsoft-foundry) 用户。订阅用户自动获得 1 小时 TTL。1 小时缓存写入按更高费率计费 |203| `ENABLE_PROMPT_CACHING_1H` | 设置为 `1` 以请求 1 小时的 prompt cache TTL 而不是默认的 5 分钟。适用于 API 密钥、[Bedrock](/zh-CN/amazon-bedrock)、[Vertex](/zh-CN/google-vertex-ai)[Foundry](/zh-CN/microsoft-foundry) 和 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 用户。订阅用户自动获得 1 小时 TTL。1 小时缓存写入按更高费率计费 |

198| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已弃用。改用 `ENABLE_PROMPT_CACHING_1H` |204| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已弃用。改用 `ENABLE_PROMPT_CACHING_1H` |

199| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)。未设置:默认延迟所有 MCP 工具,但在 Vertex AI 上或当 `ANTHROPIC_BASE_URL` 指向非第一方主机时提前加载。值:`true`(始终延迟,包括代理和 Vertex AI)、`auto`(阈值模式:如果工具适合在上下文的 10% 内则提前加载)、`auto:N`(自定义阈值,例如 `auto:5` 表示 5%)、`false`(提前加载所有) |205| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)。未设置:默认延迟所有 MCP 工具,但在 Vertex AI 上或当 `ANTHROPIC_BASE_URL` 指向非第一方主机时提前加载。值:`true`(始终延迟,包括代理和 Vertex AI)、`auto`(阈值模式:如果工具适合在上下文的 10% 内则提前加载)、`auto:N`(自定义阈值,例如 `auto:5` 表示 5%)、`false`(提前加载所有) |

200| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 设置为任何非空值以在任何主模型上重复过载错误后触发回退到 [`--fallback-model`](/zh-CN/cli-reference#cli-flags)。默认情况下,仅 Opus 模型触发回退 |206| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 设置为任何非空值以在任何主模型上重复过载错误后触发回退到 [`--fallback-model`](/zh-CN/cli-reference#cli-flags)。默认情况下,仅 Opus 模型触发回退 |

glossary.md +8 −2

Details

126 126 

127模型在响应前执行的可见逐步推理。您可以使用 `MAX_THINKING_TOKENS` 限制思考 tokens 或调整 [effort level](#effort-level)。思考在终端中以灰色斜体文本显示。127模型在响应前执行的可见逐步推理。您可以使用 `MAX_THINKING_TOKENS` 限制思考 tokens 或调整 [effort level](#effort-level)。思考在终端中以灰色斜体文本显示。

128 128 

129了解更多:[使用 extended thinking](/zh-CN/common-workflows#use-extended-thinking-thinking-mode)129了解更多:[使用 extended thinking](/zh-CN/model-config#extended-thinking)

130 130 

131## H131## H

132 132 


286 286 

287了解更多:[Claude 可用的工具](/zh-CN/tools-reference)287了解更多:[Claude 可用的工具](/zh-CN/tools-reference)

288 288 

289### Turn

290 

291Claude 在一个 [session](#session) 中的一个完整响应。一个 turn 从您发送消息开始,到 Claude 完成响应结束,中间可能有任意数量的 [tool](#tool) 调用。[Stop hooks](#hook) 在每个 turn 的末尾触发。一个 session 由许多 turn 组成,[agentic loop](#agentic-loop) 描述了在一个 turn 内发生的情况。

292 

293了解更多:[Claude Code 如何工作](/zh-CN/how-claude-code-works#the-agentic-loop)

294 

289## W295## W

290 296 

291### Worktree isolation297### Worktree isolation

292 298 

293一个隔离模式,在 `.claude/worktrees/` 下的单独 git worktree 中运行 Claude,使用 `-w` 标志或 subagent 配置中的 `isolation: worktree` 启用。更改保留在单独分支的单独目录中,因此并行代理不会覆盖彼此的文件。299一个隔离模式,在 `.claude/worktrees/` 下的单独 git worktree 中运行 Claude,使用 `-w` 标志或 subagent 配置中的 `isolation: worktree` 启用。更改保留在单独分支的单独目录中,因此并行代理不会覆盖彼此的文件。

294 300 

295了解更多:[使用 git worktrees 运行并行会话](/zh-CN/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees)301了解更多:[使用 git worktrees 运行并行会话](/zh-CN/worktrees)

296 302 

297***303***

298 304 

goal.md +138 −0 created

Details

1> ## Documentation Index

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

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

4 

5# 让 Claude 朝着目标工作

6 

7> 使用 /goal 设置完成条件,Claude 会在多个回合中持续工作,直到条件满足。

8 

9`/goal` 命令设置一个完成条件,Claude 会在没有你逐步提示的情况下持续朝着这个目标工作。每个回合后,一个小型快速模型会检查条件是否满足。如果不满足,Claude 会开始另一个回合,而不是将控制权返回给你。一旦条件满足,目标会自动清除。

10 

11对于具有可验证的最终状态的实质性工作,使用目标:

12 

13* 将模块迁移到新 API,直到每个调用站点都能编译并通过测试

14* 实现设计文档,直到所有验收标准都满足

15* 将大文件拆分为专注的模块,直到每个模块都在大小预算内

16* 处理标记的问题积压,直到队列为空

17 

18本页涵盖以下内容:

19 

20* [比较自主工作流方法](#compare-to-other-autonomous-workflows):`/loop`、Stop hooks 和自动模式

21* [设置目标](#set-a-goal)和[编写有效的条件](#write-an-effective-condition)

22* [检查状态](#check-status)、[提前清除](#clear-a-goal)和[非交互式运行](#run-non-interactively)

23* 查看[评估如何工作](#how-evaluation-works)和[要求](#requirements)

24 

25## 比较其他自主工作流

26 

27三种方法可以在提示之间保持当前会话运行。根据应该启动下一个回合的内容进行选择:

28 

29| 方法 | 下一个回合何时开始 | 停止条件 |

30| :--------------------------------------------------------------------- | :-------- | :------------------- |

31| `/goal` | 前一个回合完成时 | 模型确认条件已满足 |

32| [`/loop`](/zh-CN/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 时间间隔过去时 | 你停止它,或 Claude 决定工作完成 |

33| [Stop hook](/zh-CN/hooks-guide#prompt-based-hooks) | 前一个回合完成时 | 你自己的脚本或提示决定 |

34 

35`/goal` 和 Stop hook 都在每个回合后触发。`/goal` 是一个会话范围的快捷方式:你输入一个条件,它仅在当前会话中活跃。Stop hook 存在于你的设置文件中,适用于其范围内的每个会话,可以运行脚本进行确定性检查或运行提示进行模型评估的检查。

36 

37[自动模式](/zh-CN/auto-mode-config)本身在单个回合内批准工具调用,但不会启动新的回合。Claude 在判断工作完成时停止。`/goal` 添加了一个单独的评估器,在每个回合后检查你的条件,因此完成由一个新鲜的模型而不是执行工作的模型决定。这两者是互补的:自动模式消除了每个工具的提示,`/goal` 消除了每个回合的提示。

38 

39<Tip>

40 上述方法保持当前会话运行。你也可以安排独立于任何打开的会话运行的工作,例如夜间测试或早晨分类。有关云例程和桌面计划任务的选项,请参阅[调度选项](/zh-CN/scheduled-tasks#compare-scheduling-options)。

41</Tip>

42 

43## 使用 `/goal`

44 

45每个会话可以有一个活跃的目标。同一命令根据参数设置、检查和清除它。

46 

47### 设置目标

48 

49运行 `/goal` 后跟你想要满足的条件。如果已经有一个活跃的目标,新目标会替换它。

50 

51```text theme={null}

52/goal all tests in test/auth pass and the lint step is clean

53```

54 

55设置目标会立即启动一个回合,条件本身作为指令。你不需要发送单独的提示。当目标活跃时,`◎ /goal active` 指示器显示目标已运行多长时间。

56 

57每个回合后,评估器返回一个简短的原因,解释条件是否满足。最近的原因出现在状态视图和记录中,所以你可以看到 Claude 接下来要朝着什么工作。

58 

59<Note>

60 目标会一直运行,直到条件满足或你运行 `/goal clear`。运行不带参数的 `/goal` 可以查看到目前为止花费的回合和令牌。

61</Note>

62 

63### 编写有效的条件

64 

65[评估器](#how-evaluation-works)根据 Claude 在对话中呈现的内容来判断你的条件。它不会独立运行命令或读取文件,所以将条件写成 Claude 自己的输出可以演示的内容。"所有 `test/auth` 中的测试都通过"之所以有效,是因为 Claude 运行测试,结果出现在记录中供评估器读取。

66 

67在许多回合中保持的条件通常具有:

68 

69* **一个可测量的最终状态**:测试结果、构建退出代码、文件计数、空队列

70* **一个陈述的检查**:Claude 应该如何证明它,例如"`npm test` 退出 0"或"`git status` 是干净的"

71* **重要的约束**:在此过程中必须不改变的任何内容,例如"没有其他测试文件被修改"

72 

73条件最多可以是 4,000 个字符。

74 

75要限制目标运行的时间,在条件中包含一个回合或时间子句,例如 `or stop after 20 turns`。Claude 每个回合都会针对该子句报告进度,评估器从对话中判断它。

76 

77### 检查状态

78 

79运行不带参数的 `/goal` 可以查看当前状态。

80 

81```text theme={null}

82/goal

83```

84 

85如果目标活跃,状态显示:

86 

87* 条件

88* 已运行多长时间

89* 已评估多少个回合

90* 当前令牌支出

91* 评估器最近的原因

92 

93如果没有活跃的目标,但在会话早期实现了一个目标,状态显示已实现的条件及其持续时间、回合计数和令牌支出。

94 

95### 清除目标

96 

97运行 `/goal clear` 可以在条件满足之前移除活跃的目标。

98 

99```text theme={null}

100/goal clear

101```

102 

103`stop`、`off`、`reset`、`none` 和 `cancel` 被接受为 `clear` 的别名。运行 `/clear` 启动新对话也会移除任何活跃的目标。

104 

105### 使用活跃目标恢复

106 

107当会话结束时仍然活跃的目标会在你使用 `--resume` 或 `--continue` 恢复该会话时恢复。条件会保留,但回合计数、计时器和令牌支出基线在恢复时都会重置。已经实现或清除的目标不会恢复。

108 

109### 非交互式运行

110 

111`/goal` 在[非交互式模式](/zh-CN/headless)和通过[远程控制](/zh-CN/remote-control)中工作。使用 `-p` 设置目标会在单个调用中运行循环至完成:

112 

113```bash theme={null}

114claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

115```

116 

117使用 Ctrl+C 中断进程以在条件满足之前停止非交互式目标。

118 

119## 评估如何工作

120 

121`/goal` 是会话范围的[基于提示的 Stop hook](/zh-CN/hooks#prompt-based-hooks)的包装器。每次 Claude 完成一个回合时,条件和到目前为止的对话都会发送到你配置的[小型快速模型](/zh-CN/model-config),默认为 Haiku。模型返回一个是或否的决定和一个简短的原因。"否"告诉 Claude 继续工作,并包括原因作为下一个回合的指导。"是"清除目标并在记录中记录一个已实现的条目。

122 

123评估器在你的会话配置的任何提供商上运行。它不调用工具,所以它只能判断 Claude 已经在对话中呈现的内容。

124 

125<Note>

126 评估令牌在为你的提供商配置的小型快速模型上计费,与主回合支出相比通常可以忽略不计。

127</Note>

128 

129## 要求

130 

131`/goal` 仅在你已接受信任对话框的工作区中运行,因为评估器是 hooks 系统的一部分。如果在托管策略设置中设置了 [`disableAllHooks`](/zh-CN/hooks#disable-or-remove-hooks),`/goal` 不可用。在这两种情况下,命令会告诉你原因,而不是默默地什么都不做。

132 

133## 另请参阅

134 

135* [使用 `/loop` 重复运行提示](/zh-CN/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop):按时间间隔重新运行,而不是直到条件满足

136* [基于提示的 hooks](/zh-CN/hooks-guide#prompt-based-hooks):当你需要自定义评估逻辑时编写你自己的 Stop hook

137* [自动模式](/zh-CN/auto-mode-config):自动批准工具调用,以便每个目标回合无人值守运行

138* [调度比较](/zh-CN/scheduled-tasks#compare-scheduling-options):独立于任何打开的会话按计划运行工作

hooks.md +4 −0

Details

1767 1767 

1768在主 Claude Code 代理完成响应时运行。如果停止是由于用户中断,则不运行。API 错误触发[StopFailure](#stopfailure)。1768在主 Claude Code 代理完成响应时运行。如果停止是由于用户中断,则不运行。API 错误触发[StopFailure](#stopfailure)。

1769 1769 

1770<Tip>

1771 [`/goal`](/zh-CN/goal)命令是会话范围的基于提示的 Stop hook 的内置快捷方式。当您想要 Claude 继续工作直到条件成立而不编写 hook 配置时使用它。

1772</Tip>

1773 

1770#### Stop 输入1774#### Stop 输入

1771 1775 

1772除了[通用输入字段](#common-input-fields)外,Stop hooks 还接收 `stop_hook_active` 和 `last_assistant_message`。`stop_hook_active` 字段在 Claude Code 已经作为 stop hook 的结果继续时为 `true`。检查此值或处理成绩单以防止 Claude Code 无限运行。`last_assistant_message` 字段包含 Claude 最终响应的文本内容,因此 hooks 可以访问它而无需解析成绩单文件。1776除了[通用输入字段](#common-input-fields)外,Stop hooks 还接收 `stop_hook_active` 和 `last_assistant_message`。`stop_hook_active` 字段在 Claude Code 已经作为 stop hook 的结果继续时为 `true`。检查此值或处理成绩单以防止 Claude Code 无限运行。`last_assistant_message` 字段包含 Claude 最终响应的文本内容,因此 hooks 可以访问它而无需解析成绩单文件。

Details

23### 常规控制23### 常规控制

24 24 

25| 快捷键 | 描述 | 上下文 |25| 快捷键 | 描述 | 上下文 |

26| :------------------------------------------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |26| :------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

27| `Ctrl+C` | 取消当前输入或生成 | 标准中断 |27| `Ctrl+C` | 取消当前输入或生成 | 标准中断 |

28| `Ctrl+X Ctrl+K` | 终止所有后台代理。在 3 秒内按两次以确认 | 后台代理控制 |28| `Ctrl+X Ctrl+K` | 终止此会话中所有后台 [background subagents](/zh-CN/sub-agents#run-subagents-in-foreground-or-background) 的运行。在 3 秒内按两次以确认 | Subagent 控制 |

29| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |29| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |

30| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑您的提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中打开"在外部编辑器中显示最后响应"以在您的提示上方将 Claude 的上一个回复作为 `#` 注释上下文预置;保存时会删除注释块 |30| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑您的提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中打开"在外部编辑器中显示最后响应"以在您的提示上方将 Claude 的上一个回复作为 `#` 注释上下文预置;保存时会删除注释块 |

31| `Ctrl+L` | 重绘屏幕 | 强制完整的终端重绘。输入和对话历史被保留。使用此功能可在显示变得混乱或部分空白时恢复 |31| `Ctrl+L` | 重绘屏幕 | 强制完整的终端重绘。输入和对话历史被保留。使用此功能可在显示变得混乱或部分空白时恢复 |

keybindings.md +1 −1

Details

104| `chat:cancel` | Escape | 取消当前输入 |104| `chat:cancel` | Escape | 取消当前输入 |

105| `chat:clearInput` | Ctrl+L | 强制全屏重绘,保留输入。在[全屏渲染](/zh-CN/fullscreen#clear-the-conversation)中,在两秒内按两次以运行 `/clear` |105| `chat:clearInput` | Ctrl+L | 强制全屏重绘,保留输入。在[全屏渲染](/zh-CN/fullscreen#clear-the-conversation)中,在两秒内按两次以运行 `/clear` |

106| `chat:clearScreen` | Cmd+K | 在[全屏渲染](/zh-CN/fullscreen#clear-the-conversation)中,在两秒内按两次以运行 `/clear` |106| `chat:clearScreen` | Cmd+K | 在[全屏渲染](/zh-CN/fullscreen#clear-the-conversation)中,在两秒内按两次以运行 `/clear` |

107| `chat:killAgents` | Ctrl+X Ctrl+K | 终止所有后台代理 |107| `chat:killAgents` | Ctrl+X Ctrl+K | 终止所有运行中的[后台子代理](/zh-CN/sub-agents#run-subagents-in-foreground-or-background)在此会话中 |

108| `chat:cycleMode` | Shift+Tab\* | 循环权限模式 |108| `chat:cycleMode` | Shift+Tab\* | 循环权限模式 |

109| `chat:modelPicker` | Meta+P | 打开模型选择器 |109| `chat:modelPicker` | Meta+P | 打开模型选择器 |

110| `chat:fastMode` | Meta+O | 切换快速模式 |110| `chat:fastMode` | Meta+O | 切换快速模式 |

llm-gateway.md +11 −0

Details

186export CLOUD_ML_REGION=us-east5186export CLOUD_ML_REGION=us-east5

187```187```

188 188 

189##### 通过网关的 AWS 上的 Claude Platform

190 

191路由到转发到 [AWS 上的 Claude Platform](/zh-CN/claude-platform-on-aws) 端点的网关:

192 

193```bash theme={null}

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

195export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

196export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

197export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

198```

199 

189有关更多详细信息,请参阅 [LiteLLM 文档](https://docs.litellm.ai/)。200有关更多详细信息,请参阅 [LiteLLM 文档](https://docs.litellm.ai/)。

190 201 

191## 其他资源202## 其他资源

model-config.md +2 −2

Details

36| **`opus[1m]`** | 使用 Opus 和[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)用于长会话 |36| **`opus[1m]`** | 使用 Opus 和[100 万令牌上下文窗口](https://platform.claude.com/docs/zh-CN/build-with-claude/context-windows#1m-token-context-window)用于长会话 |

37| **`opusplan`** | 特殊模式,在 Plan Mode 中使用 `opus`,然后在执行时切换到 `sonnet` |37| **`opusplan`** | 特殊模式,在 Plan Mode 中使用 `opus`,然后在执行时切换到 `sonnet` |

38 38 

39在 Anthropic API 上,`opus` 解析为 Opus 4.7,`sonnet` 解析为 Sonnet 4.6。在 Bedrock、Vertex 和 Foundry 上,`opus` 解析为 Opus 4.6,`sonnet` 解析为 Sonnet 4.5;通过显式选择完整模型名称或设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 可以在这些提供商上获得更新的模型。39在 Anthropic API 和 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 上,`opus` 解析为 Opus 4.7,`sonnet` 解析为 Sonnet 4.6。在 Bedrock、Vertex 和 Foundry 上,`opus` 解析为 Opus 4.6,`sonnet` 解析为 Sonnet 4.5;通过显式选择完整模型名称或设置 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 可以在这些提供商上获得更新的模型。

40 40 

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

42 42 


294 294 

295### 为第三方部署固定模型295### 为第三方部署固定模型

296 296 

297通过 [Bedrock](/zh-CN/amazon-bedrock)、[Vertex AI](/zh-CN/google-vertex-ai)[Foundry](/zh-CN/microsoft-foundry) 部署 Claude Code 时,在向用户推出前固定模型版本。297通过 [Bedrock](/zh-CN/amazon-bedrock)、[Vertex AI](/zh-CN/google-vertex-ai)[Foundry](/zh-CN/microsoft-foundry) 或 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 部署 Claude Code 时,在向用户推出前固定模型版本。

298 298 

299不固定模型,Claude Code 会使用模型别名(`sonnet`、`opus`、`haiku`),这些别名会解析为最新版本。当 Anthropic 发布新模型时,如果用户账户未启用新版本,Bedrock 和 Vertex AI 用户会看到通知并回退到该会话的先前版本,而 Foundry 用户会看到错误,因为 Foundry 没有等效的启动检查。299不固定模型,Claude Code 会使用模型别名(`sonnet`、`opus`、`haiku`),这些别名会解析为最新版本。当 Anthropic 发布新模型时,如果用户账户未启用新版本,Bedrock 和 Vertex AI 用户会看到通知并回退到该会话的先前版本,而 Foundry 用户会看到错误,因为 Foundry 没有等效的启动检查。

300 300 

overview.md +1 −1

Details

172 <Accordion title="运行代理团队并构建自定义代理" icon="users">172 <Accordion title="运行代理团队并构建自定义代理" icon="users">

173 生成[多个 Claude Code 代理](/zh-CN/sub-agents),同时处理任务的不同部分。主导代理协调工作、分配子任务并合并结果。173 生成[多个 Claude Code 代理](/zh-CN/sub-agents),同时处理任务的不同部分。主导代理协调工作、分配子任务并合并结果。

174 174 

175 对于完全自定义的工作流,[Agent SDK](/zh-CN/agent-sdk/overview) 让你构建由 Claude Code 的工具和功能驱动的自己的代理,完全控制编排、工具访问和权限。175 要在并行中运行多个完整会话并从一个屏幕观看它们,请使用[后台代理](/zh-CN/agent-view)。对于完全自定义的工作流,[Agent SDK](/zh-CN/agent-sdk/overview) 让你构建由 Claude Code 的工具和功能驱动的自己的代理,完全控制编排、工具访问和权限。

176 </Accordion>176 </Accordion>

177 177 

178 <Accordion title="使用 CLI 进行管道、脚本和自动化" icon="terminal">178 <Accordion title="使用 CLI 进行管道、脚本和自动化" icon="terminal">

permissions.md +1 −1

Details

185`Edit` 规则适用于所有编辑文件的内置工具。Claude 尽力将 `Read` 规则应用于所有读取文件的内置工具,如 Grep 和 Glob。185`Edit` 规则适用于所有编辑文件的内置工具。Claude 尽力将 `Read` 规则应用于所有读取文件的内置工具,如 Grep 和 Glob。

186 186 

187<Warning>187<Warning>

188 Read 和 Edit deny 规则适用于 Claude 的内置文件工具,不适用于 Bash 子进程。`Read(./.env)` deny 规则阻止 Read 工具但不会阻止 Bash 中的 `cat .env`。为了获得阻止所有进程访问路径的 OS 级别强制执行,请[启用沙箱](/zh-CN/sandboxing)。188 Read 和 Edit deny 规则适用于 Claude 的内置文件工具和 Claude Code 在 Bash 中识别的文件命令,如 `cat`、`head`、`tail` `sed`。它们不适用于间接读取或写入文件的任意子进程如打开文件本身的 Python Node 脚本。为了获得阻止所有进程访问路径的 OS 级别强制执行,请[启用沙箱](/zh-CN/sandboxing)。

189</Warning>189</Warning>

190 190 

191Read 和 Edit 规则都遵循 [gitignore](https://git-scm.com/docs/gitignore) 规范,具有四种不同的模式类型:191Read 和 Edit 规则都遵循 [gitignore](https://git-scm.com/docs/gitignore) 规范,具有四种不同的模式类型:

Details

10 计划任务需要 Claude Code v2.1.72 或更高版本。使用 `claude --version` 检查您的版本。10 计划任务需要 Claude Code v2.1.72 或更高版本。使用 `claude --version` 检查您的版本。

11</Note>11</Note>

12 12 

13计划任务让 Claude 按间隔自动重新运行提示词。使用它们来轮询部署、监督 PR、检查长时间运行的构建,或在会话中稍后提醒自己做某事。要对事件进行实时反应而不是轮询,请参阅 [Channels](/zh-CN/channels):您的 CI 可以直接将失败推送到会话中。13计划任务让 Claude 按间隔自动重新运行提示词。使用它们来轮询部署、监督 PR、检查长时间运行的构建,或在会话中稍后提醒自己做某事。要对事件进行实时反应而不是轮询,请参阅 [Channels](/zh-CN/channels):您的 CI 可以直接将失败推送到会话中。要保持会话工作转向转向直到满足条件而不是按间隔,请参阅 [`/goal`](/zh-CN/goal)。

14 14 

15任务是会话范围的:它们存在于当前对话中,当您启动新对话时就会停止。使用 `--resume` 或 `--continue` 恢复会带回任何尚未[过期](#seven-day-expiry)的任务:在过去 7 天内创建的重复任务,或计划时间尚未到达的一次性任务。对于独立于任何会话而存在的调度,请使用 [Routines](/zh-CN/routines)、[Desktop 计划任务](/zh-CN/desktop-scheduled-tasks) 或 [GitHub Actions](/zh-CN/github-actions)。15任务是会话范围的:它们存在于当前对话中,当您启动新对话时就会停止。使用 `--resume` 或 `--continue` 恢复会带回任何尚未[过期](#seven-day-expiry)的任务:在过去 7 天内创建的重复任务,或计划时间尚未到达的一次性任务。对于独立于任何会话而存在的调度,请使用 [Routines](/zh-CN/routines)、[Desktop 计划任务](/zh-CN/desktop-scheduled-tasks) 或 [GitHub Actions](/zh-CN/github-actions)。

16 16 


122 122 

123要在 `/loop` 等待下一次迭代时停止它,请按 `Esc`。这会清除待处理的唤醒,所以循环不会再次触发。您通过[直接询问 Claude](#manage-scheduled-tasks)计划的任务不受 `Esc` 影响,会保留在原位,直到您删除它们。123要在 `/loop` 等待下一次迭代时停止它,请按 `Esc`。这会清除待处理的唤醒,所以循环不会再次触发。您通过[直接询问 Claude](#manage-scheduled-tasks)计划的任务不受 `Esc` 影响,会保留在原位,直到您删除它们。

124 124 

125在[自主进行模式](#let-claude-choose-the-interval)中,Claude 也可以在任务可证明完成后通过不计划下一次唤醒来自己结束循环。固定间隔上的循环会一直运行,直到您停止它们或[七天过去](#seven-day-expiry)。

126 

125## 设置一次性提醒127## 设置一次性提醒

126 128 

127对于一次性提醒,用自然语言描述您想要的内容,而不是使用 `/loop`。Claude 计划一个单次触发的任务,该任务在运行后删除自己。129对于一次性提醒,用自然语言描述您想要的内容,而不是使用 `/loop`。Claude 计划一个单次触发的任务,该任务在运行后删除自己。


166 168 

167### 抖动169### 抖动

168 170 

169为了避免每个会话在同一个挂钟时刻击中 API,调度程序会向触发时间添加一个小的确定性偏移171为了避免每个会话在同一个挂钟时刻击中 API,调度程序会向触发时间添加一个确定性偏移

170 172 

171* 重复任务最多晚触发其周期的 10%上限为 15 分钟。每小时的作业可能在 `:00` 到 `:06` 之间的任何时间触发。173* 重复任务最多在计划时间之后 30 分钟触发(或对于运行频率超过每小时的任务最多为间隔的一半)。为 `:00` 计划的每小时作业可能在 `:00` 到 `:30` 之间的任何时间触发。

172* 为小时顶部或底部计划的一次性任务最多提前 90 秒触发。174* 为小时顶部或底部计划的一次性任务最多提前 90 秒触发。

173 175 

174偏移是从任务 ID 派生的,所以相同的任务总是获得相同的偏移。如果精确的时间很重要,选择不是 `:00` 或 `:30` 的分钟,例如 `3 9 * * *` 而不是 `0 9 * * *`,一次性抖动将不适用。176偏移是从任务 ID 派生的,所以相同的任务总是获得相同的偏移。如果精确的时间很重要,选择不是 `:00` 或 `:30` 的分钟,例如 `3 9 * * *` 而不是 `0 9 * * *`,一次性抖动将不适用。

settings.md +1 −0

Details

183| `companyAnnouncements` | 在启动时显示给用户的公告。如果提供多个公告,它们将随机循环显示。 | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |183| `companyAnnouncements` | 在启动时显示给用户的公告。如果提供多个公告,它们将随机循环显示。 | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

184| `defaultShell` | 输入框 `!` 命令的默认 shell。接受 `"bash"`(默认)或 `"powershell"`。设置 `"powershell"` 会在 Windows 上通过 PowerShell 路由交互式 `!` 命令。需要 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。请参阅 [PowerShell tool](/zh-CN/tools-reference#powershell-tool) | `"powershell"` |184| `defaultShell` | 输入框 `!` 命令的默认 shell。接受 `"bash"`(默认)或 `"powershell"`。设置 `"powershell"` 会在 Windows 上通过 PowerShell 路由交互式 `!` 命令。需要 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。请参阅 [PowerShell tool](/zh-CN/tools-reference#powershell-tool) | `"powershell"` |

185| `deniedMcpServers` | 在 managed-settings.json 中设置时,明确阻止的 MCP servers 的拒绝列表。适用于所有作用域,包括 managed servers。拒绝列表优先于允许列表。请参阅 [Managed MCP 配置](/zh-CN/mcp#managed-mcp-configuration) | `[{ "serverName": "filesystem" }]` |185| `deniedMcpServers` | 在 managed-settings.json 中设置时,明确阻止的 MCP servers 的拒绝列表。适用于所有作用域,包括 managed servers。拒绝列表优先于允许列表。请参阅 [Managed MCP 配置](/zh-CN/mcp#managed-mcp-configuration) | `[{ "serverName": "filesystem" }]` |

186| `disableAgentView` | 设置为 `true` 以关闭[后台代理和代理视图](/zh-CN/agent-view):`claude agents`、`--bg`、`/background` 和按需主管。通常在 [managed 设置](/zh-CN/permissions#managed-settings)中设置。等同于将 `CLAUDE_CODE_DISABLE_AGENT_VIEW` 设置为 `1` | `true` |

186| `disableAllHooks` | 禁用所有 [hooks](/zh-CN/hooks) 和任何自定义[状态行](/zh-CN/statusline) | `true` |187| `disableAllHooks` | 禁用所有 [hooks](/zh-CN/hooks) 和任何自定义[状态行](/zh-CN/statusline) | `true` |

187| `disableAutoMode` | 设置为 `"disable"` 以防止[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)被激活。从 `Shift+Tab` 循环中删除 `auto` 并在启动时拒绝 `--permission-mode auto`。在[managed 设置](/zh-CN/permissions#managed-settings)中最有用,用户无法覆盖它 | `"disable"` |188| `disableAutoMode` | 设置为 `"disable"` 以防止[自动模式](/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)被激活。从 `Shift+Tab` 循环中删除 `auto` 并在启动时拒绝 `--permission-mode auto`。在[managed 设置](/zh-CN/permissions#managed-settings)中最有用,用户无法覆盖它 | `"disable"` |

188| `disableDeepLinkRegistration` | 设置为 `"disable"` 以防止 Claude Code 在启动时向操作系统注册 `claude-cli://` 协议处理程序。[深链接](/zh-CN/deep-links)让外部工具通过预填充的提示打开 Claude Code 会话。在协议处理程序注册受限或单独管理的环境中很有用 | `"disable"` |189| `disableDeepLinkRegistration` | 设置为 `"disable"` 以防止 Claude Code 在启动时向操作系统注册 `claude-cli://` 协议处理程序。[深链接](/zh-CN/deep-links)让外部工具通过预填充的提示打开 Claude Code 会话。在协议处理程序注册受限或单独管理的环境中很有用 | `"disable"` |

sub-agents.md +8 −8

Details

11每个 subagent 在自己的 context window 中运行,具有自定义系统提示、特定的工具访问权限和独立的权限。当 Claude 遇到与 subagent 描述相匹配的任务时,它会委托给该 subagent,该 subagent 独立工作并返回结果。要在实践中看到上下文节省,[context window 可视化](/zh-CN/context-window) 演示了一个 subagent 在自己的独立窗口中处理研究的会话。11每个 subagent 在自己的 context window 中运行,具有自定义系统提示、特定的工具访问权限和独立的权限。当 Claude 遇到与 subagent 描述相匹配的任务时,它会委托给该 subagent,该 subagent 独立工作并返回结果。要在实践中看到上下文节省,[context window 可视化](/zh-CN/context-window) 演示了一个 subagent 在自己的独立窗口中处理研究的会话。

12 12 

13<Note>13<Note>

14 如果您需要多个代理并行工作并相互通信,请参阅 [agent teams](/zh-CN/agent-teams) 代替Subagents 在单个会话中工作;agent teams 跨多个会话进行协调14 Subagents 在单个会话中工作。要在并行运行许多独立会话并从一个地方监控它们,请参阅 [background agents](/zh-CN/agent-view)。对于相互通信的会话,请参阅 [agent teams](/zh-CN/agent-teams)

15</Note>15</Note>

16 16 

17Subagents 帮助您:17Subagents 帮助您:


158 158 

159这是创建和管理 subagents 的推荐方式。对于手动创建或自动化,您也可以直接添加 subagent 文件。159这是创建和管理 subagents 的推荐方式。对于手动创建或自动化,您也可以直接添加 subagent 文件。

160 160 

161要从命令行列出所有配置的 subagents 而不启动交互式会话请运行 `claude agents`。这显示按来源分组的代理,并指示哪些被更高优先级的定义覆盖。161要从命令行列出所有配置的 subagents 而不打开 [agent view](/zh-CN/agent-view)请使用管道输出 `claude agents`。例如`claude agents | cat` 打印按来源分组的代理,并指示哪些被更高优先级的定义覆盖。

162 162 

163### 选择 subagent 范围163### 选择 subagent 范围

164 164 


260 260 

261| Field | Required | Description |261| Field | Required | Description |

262| :---------------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |262| :---------------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

263| `name` | Yes | 使用小写字母和连字符的唯一标识符 |263| `name` | Yes | 使用小写字母和连字符的唯一标识符。[Hooks](/zh-CN/hooks#subagentstart) 将此值作为 `agent_type` 接收。文件名不必匹配 |

264| `description` | Yes | Claude 何时应该委托给此 subagent |264| `description` | Yes | Claude 何时应该委托给此 subagent |

265| `tools` | No | [Tools](#available-tools) subagent 可以使用。如果省略,继承所有工具。要将 Skills 预加载到上下文中,请使用 `skills` 字段而不是在此处列出 `Skill` |265| `tools` | No | [Tools](#available-tools) subagent 可以使用。如果省略,继承所有工具。要将 Skills 预加载到上下文中,请使用 `skills` 字段而不是在此处列出 `Skill` |

266| `disallowedTools` | No | 要拒绝的工具,从继承或指定的列表中删除 |266| `disallowedTools` | No | 要拒绝的工具,从继承或指定的列表中删除 |


666 666 

667Subagents 可以在前台(阻塞)或后台(并发)运行:667Subagents 可以在前台(阻塞)或后台(并发)运行:

668 668 

669* **前台 subagents** 阻塞主对话直到完成。权限提示和澄清问题(如 [`AskUserQuestion`](/zh-CN/tools-reference))会传递给您669* **前台 subagents** 阻塞主对话直到完成。权限提示会在出现时传递给您

670* **后台 subagents** 在您继续工作时并发运行。启动前,Claude Code 会提示您 subagent 需要的任何工具权限,确保它具有必要的批准。一旦运行subagent 继承这些权限并自动拒绝任何未预先批准的内容。如果后台 subagent 需要提出澄清问题,该工具调用失败,但 subagent 继续。670* **后台 subagents** 在您继续工作时并发运行。它们使用会话中已授予的权限运行并自动拒绝任何会提示的工具调用。如果后台 subagent 需要提出澄清问题,该工具调用失败,但 subagent 继续。

671 671 

672如果后台 subagent 由于缺少权限而失败,您可以启动一个新的前台 subagent 来执行相同的任务以使用交互式提示重试。672如果后台 subagent 由于缺少权限而失败,您可以启动一个新的前台 subagent 来执行相同的任务以使用交互式提示重试。

673 673 


678 678 

679要禁用所有后台任务功能,请将 `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 环境变量设置为 `1`。请参阅 [Environment variables](/zh-CN/env-vars)。679要禁用所有后台任务功能,请将 `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 环境变量设置为 `1`。请参阅 [Environment variables](/zh-CN/env-vars)。

680 680 

681当 [fork mode](#fork-the-current-conversation) 启用时,每个 subagent 生成都在后台运行,无论 `background` 字段如何。分叉仍然在您的终端中出现权限提示,而不是预先批准;命名 subagents 遵循上面的预批准流程681当 [fork mode](#fork-the-current-conversation) 启用时,每个 subagent 生成都在后台运行,无论 `background` 字段如何。分叉仍然在您的终端中出现权限提示;命名 subagents 自动拒绝任何会提示的内容,如上所述

682 682 

683### 常见模式683### 常见模式

684 684 


824分叉继承主会话在生成时拥有的一切。命名 subagent 从自己的定义开始。824分叉继承主会话在生成时拥有的一切。命名 subagent 从自己的定义开始。

825 825 

826| | 分叉 | 命名 subagent |826| | 分叉 | 命名 subagent |

827| :----------- | :--------- | :--------------------------------------------------------------------- |827| :----------- | :--------- | :--------------------------------------------------------------- |

828| 上下文 | 完整的对话历史 | 新鲜上下文,带有您传递的提示 |828| 上下文 | 完整的对话历史 | 新鲜上下文,带有您传递的提示 |

829| 系统提示和工具 | 与主会话相同 | 来自 subagent 的 [definition file](#write-subagent-files) |829| 系统提示和工具 | 与主会话相同 | 来自 subagent 的 [definition file](#write-subagent-files) |

830| 模型 | 与主会话相同 | 来自 subagent 的 `model` 字段 |830| 模型 | 与主会话相同 | 来自 subagent 的 `model` 字段 |

831| 权限 | 提示在您的终端中出现 | [Pre-approved](#run-subagents-in-foreground-or-background) 在启动前,然后自动拒绝 |831| 权限 | 提示在您的终端中出现 | [Auto-denied](#run-subagents-in-foreground-or-background) 在后台运行时 |

832| Prompt cache | 与主会话共享 | 单独的缓存 |832| Prompt cache | 与主会话共享 | 单独的缓存 |

833 833 

834因为分叉的系统提示和工具定义与父级相同,其第一个请求重用父级的 prompt cache。这使得分叉比为需要相同上下文的任务生成新 subagent 更便宜。834因为分叉的系统提示和工具定义与父级相同,其第一个请求重用父级的 prompt cache。这使得分叉比为需要相同上下文的任务生成新 subagent 更便宜。

Details

99 <th>Claude for Teams/Enterprise</th>99 <th>Claude for Teams/Enterprise</th>

100 <th>Anthropic Console</th>100 <th>Anthropic Console</th>

101 <th>Amazon Bedrock</th>101 <th>Amazon Bedrock</th>

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

102 <th>Google Vertex AI</th>103 <th>Google Vertex AI</th>

103 <th>Microsoft Foundry</th>104 <th>Microsoft Foundry</th>

104 </tr>105 </tr>


110 <td>大多数组织(推荐)</td>111 <td>大多数组织(推荐)</td>

111 <td>个人开发者</td>112 <td>个人开发者</td>

112 <td>AWS 原生部署</td>113 <td>AWS 原生部署</td>

114 <td>AWS Marketplace 计费与 Claude API 功能</td>

113 <td>GCP 原生部署</td>115 <td>GCP 原生部署</td>

114 <td>Azure 原生部署</td>116 <td>Azure 原生部署</td>

115 </tr>117 </tr>


119 <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>121 <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>

120 <td>按使用量付费</td>122 <td>按使用量付费</td>

121 <td>通过 AWS 按使用量付费</td>123 <td>通过 AWS 按使用量付费</td>

124 <td>通过 AWS Marketplace 按使用量付费</td>

122 <td>通过 GCP 按使用量付费</td>125 <td>通过 GCP 按使用量付费</td>

123 <td>通过 Azure 按使用量付费</td>126 <td>通过 Azure 按使用量付费</td>

124 </tr>127 </tr>


128 <td>支持的[国家/地区](https://www.anthropic.com/supported-countries)</td>131 <td>支持的[国家/地区](https://www.anthropic.com/supported-countries)</td>

129 <td>支持的[国家/地区](https://www.anthropic.com/supported-countries)</td>132 <td>支持的[国家/地区](https://www.anthropic.com/supported-countries)</td>

130 <td>多个 AWS [地区](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html)</td>133 <td>多个 AWS [地区](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html)</td>

134 <td>多个 AWS 地区</td>

131 <td>多个 GCP [地区](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations)</td>135 <td>多个 GCP [地区](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations)</td>

132 <td>多个 Azure [地区](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/)</td>136 <td>多个 Azure [地区](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/)</td>

133 </tr>137 </tr>


139 <td>默认启用</td>143 <td>默认启用</td>

140 <td>默认启用</td>144 <td>默认启用</td>

141 <td>默认启用</td>145 <td>默认启用</td>

146 <td>默认启用</td>

142 </tr>147 </tr>

143 148 

144 <tr>149 <tr>


146 <td>Claude.ai SSO 或电子邮件</td>151 <td>Claude.ai SSO 或电子邮件</td>

147 <td>API 密钥</td>152 <td>API 密钥</td>

148 <td>API 密钥或 AWS 凭证</td>153 <td>API 密钥或 AWS 凭证</td>

154 <td>API 密钥或 AWS 凭证</td>

149 <td>GCP 凭证</td>155 <td>GCP 凭证</td>

150 <td>API 密钥或 Microsoft Entra ID</td>156 <td>API 密钥或 Microsoft Entra ID</td>

151 </tr>157 </tr>


155 <td>使用情况仪表板</td>161 <td>使用情况仪表板</td>

156 <td>使用情况仪表板</td>162 <td>使用情况仪表板</td>

157 <td>AWS Cost Explorer</td>163 <td>AWS Cost Explorer</td>

164 <td>AWS Cost Explorer</td>

158 <td>GCP Billing</td>165 <td>GCP Billing</td>

159 <td>Azure Cost Management</td>166 <td>Azure Cost Management</td>

160 </tr>167 </tr>


166 <td>否</td>173 <td>否</td>

167 <td>否</td>174 <td>否</td>

168 <td>否</td>175 <td>否</td>

176 <td>否</td>

169 </tr>177 </tr>

170 178 

171 <tr>179 <tr>


173 <td>团队管理、SSO、使用情况监控</td>181 <td>团队管理、SSO、使用情况监控</td>

174 <td>无</td>182 <td>无</td>

175 <td>IAM 策略、CloudTrail</td>183 <td>IAM 策略、CloudTrail</td>

184 <td>IAM 策略、CloudTrail</td>

176 <td>IAM 角色、Cloud Audit Logs</td>185 <td>IAM 角色、Cloud Audit Logs</td>

177 <td>RBAC 策略、Azure Monitor</td>186 <td>RBAC 策略、Azure Monitor</td>

178 </tr>187 </tr>


184* [Claude for Teams 或 Enterprise](/zh-CN/authentication#claude-for-teams-or-enterprise)193* [Claude for Teams 或 Enterprise](/zh-CN/authentication#claude-for-teams-or-enterprise)

185* [Anthropic Console](/zh-CN/authentication#claude-console-authentication)194* [Anthropic Console](/zh-CN/authentication#claude-console-authentication)

186* [Amazon Bedrock](/zh-CN/amazon-bedrock)195* [Amazon Bedrock](/zh-CN/amazon-bedrock)

196* [Claude Platform on AWS](/zh-CN/claude-platform-on-aws)

187* [Google Vertex AI](/zh-CN/google-vertex-ai)197* [Google Vertex AI](/zh-CN/google-vertex-ai)

188* [Microsoft Foundry](/zh-CN/microsoft-foundry)198* [Microsoft Foundry](/zh-CN/microsoft-foundry)

189 199 


192大多数组织可以直接使用云提供商,无需额外配置。但是,如果您的组织有特定的网络或管理要求,您可能需要配置企业代理或 LLM 网关。这些是可以一起使用的不同配置:202大多数组织可以直接使用云提供商,无需额外配置。但是,如果您的组织有特定的网络或管理要求,您可能需要配置企业代理或 LLM 网关。这些是可以一起使用的不同配置:

193 203 

194* **企业代理**:通过 HTTP/HTTPS 代理路由流量。如果您的组织要求所有出站流量通过代理服务器以进行安全监控、合规性或网络策略执行,请使用此选项。使用 `HTTPS_PROXY` 或 `HTTP_PROXY` 环境变量进行配置。在[企业网络配置](/zh-CN/network-config)中了解更多。204* **企业代理**:通过 HTTP/HTTPS 代理路由流量。如果您的组织要求所有出站流量通过代理服务器以进行安全监控、合规性或网络策略执行,请使用此选项。使用 `HTTPS_PROXY` 或 `HTTP_PROXY` 环境变量进行配置。在[企业网络配置](/zh-CN/network-config)中了解更多。

195* **LLM 网关**:位于 Claude Code 和云提供商之间的服务,用于处理身份验证和路由。如果您需要跨团队的集中使用情况跟踪、自定义速率限制或预算或集中身份验证管理,请使用此选项。使用 `ANTHROPIC_BASE_URL`、`ANTHROPIC_BEDROCK_BASE_URL` 或 `ANTHROPIC_VERTEX_BASE_URL` 环境变量进行配置。在[LLM 网关配置](/zh-CN/llm-gateway)中了解更多。205* **LLM 网关**:位于 Claude Code 和云提供商之间的服务,用于处理身份验证和路由。如果您需要跨团队的集中使用情况跟踪、自定义速率限制或预算或集中身份验证管理,请使用此选项。使用 `ANTHROPIC_BASE_URL`、`ANTHROPIC_BEDROCK_BASE_URL`、`ANTHROPIC_AWS_BASE_URL` 或 `ANTHROPIC_VERTEX_BASE_URL` 环境变量进行配置。在[LLM 网关配置](/zh-CN/llm-gateway)中了解更多。

196 206 

197以下示例显示在 shell 或 shell 配置文件(`.bashrc`、`.zshrc`)中设置的环境变量。有关其他配置方法,请参阅[设置](/zh-CN/settings)。207以下示例显示在 shell 或 shell 配置文件(`.bashrc`、`.zshrc`)中设置的环境变量。有关其他配置方法,请参阅[设置](/zh-CN/settings)。

198 208 


313 323 

314### 为云提供商固定模型版本324### 为云提供商固定模型版本

315 325 

316如果您通过 [Bedrock](/zh-CN/amazon-bedrock)、[Vertex AI](/zh-CN/google-vertex-ai)[Foundry](/zh-CN/microsoft-foundry) 部署,请使用 `ANTHROPIC_DEFAULT_OPUS_MODEL`、`ANTHROPIC_DEFAULT_SONNET_MODEL` 和 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 固定特定模型版本。如果不固定,模型别名会解析为最新版本,当 Anthropic 发布您的账户中尚未启用的新模型时,可能会破坏用户。有关每个提供商在最新版本不可用时的行为,请参阅[模型配置](/zh-CN/model-config#pin-models-for-third-party-deployments)。326如果您通过 [Bedrock](/zh-CN/amazon-bedrock)、[Vertex AI](/zh-CN/google-vertex-ai)[Foundry](/zh-CN/microsoft-foundry) 或 [Claude Platform on AWS](/zh-CN/claude-platform-on-aws) 部署,请使用 `ANTHROPIC_DEFAULT_OPUS_MODEL`、`ANTHROPIC_DEFAULT_SONNET_MODEL` 和 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 固定特定模型版本。如果不固定,模型别名会解析为最新版本,当 Anthropic 发布您的账户中尚未启用的新模型时,可能会破坏用户。有关每个提供商在最新版本不可用时的行为,请参阅[模型配置](/zh-CN/model-config#pin-models-for-third-party-deployments)。

317 327 

318### 配置安全策略328### 配置安全策略

319 329 

tools-reference.md +180 −13

Details

4 4 

5# 工具参考5# 工具参考

6 6 

7> Claude Code 可以使用的工具的完整参考,包括权限要求7> Claude Code 可以使用的工具的完整参考,包括权限要求和每个工具的行为

8 8 

9Claude Code 可以访问一组内置工具,帮助它理解和修改您的代码库。工具名称是您在[权限规则](/zh-CN/permissions#tool-specific-permission-rules)、[subagent 工具列表](/zh-CN/sub-agents)和 [hook 匹配器](/zh-CN/hooks)中使用的确切字符串。要完全禁用某个工具,请将其名称添加到[权限设置](/zh-CN/permissions#tool-specific-permission-rules)中的 `deny` 数组。9Claude Code 可以访问一组内置工具,帮助它理解和修改您的代码库。工具名称是您在[权限规则](/zh-CN/permissions#tool-specific-permission-rules)、[subagent 工具列表](/zh-CN/sub-agents)和 [hook 匹配器](/zh-CN/hooks)中使用的确切字符串。要完全禁用某个工具,请将其名称添加到[权限设置](/zh-CN/permissions#tool-specific-permission-rules)中的 `deny` 数组。

10 10 

11要添加自定义工具,请连接一个 [MCP server](/zh-CN/mcp)。要使用可重用的基于提示的工作流扩展 Claude,请编写一个 [skill](/zh-CN/skills),它通过现有的 `Skill` 工具运行,而不是添加新的工具条目。11要添加自定义工具,请连接一个 [MCP server](/zh-CN/mcp)。要使用可重用的基于提示的工作流扩展 Claude,请编写一个 [skill](/zh-CN/skills),它通过现有的 `Skill` 工具运行,而不是添加新的工具条目。

12 12 

13| 工具 | 描述 | 需要权限 |13| 工具 | 描述 | 需要权限 |

14| :--------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--- |14| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--- |

15| `Agent` | 生成一个具有自己 context window 的 [subagent](/zh-CN/sub-agents),用于处理任务 | 否 |15| `Agent` | 生成一个具有自己 context window 的 [subagent](/zh-CN/sub-agents),用于处理任务。请参阅 [Agent 工具行为](#agent-tool-behavior) | 否 |

16| `AskUserQuestion` | 提出多选问题以收集需求或澄清歧义 | 否 |16| `AskUserQuestion` | 提出多选问题以收集需求或澄清歧义 | 否 |

17| `Bash` | 在您的环境中执行 shell 命令。请参阅 [Bash 工具行为](#bash-tool-behavior) | 是 |17| `Bash` | 在您的环境中执行 shell 命令。请参阅 [Bash 工具行为](#bash-tool-behavior) | 是 |

18| `CronCreate` | 在当前会话中安排定期或一次性提示。任务是会话范围的,在 `--resume` 或 `--continue` 时如果未过期则会恢复。请参阅[计划任务](/zh-CN/scheduled-tasks) | 否 |18| `CronCreate` | 在当前会话中安排定期或一次性提示。任务是会话范围的,在 `--resume` 或 `--continue` 时如果未过期则会恢复。请参阅[计划任务](/zh-CN/scheduled-tasks) | 否 |

19| `CronDelete` | 按 ID 取消计划任务 | 否 |19| `CronDelete` | 按 ID 取消计划任务 | 否 |

20| `CronList` | 列出会话中的所有计划任务 | 否 |20| `CronList` | 列出会话中的所有计划任务 | 否 |

21| `Edit` | 对特定文件进行有针对性的编辑 | 是 |21| `Edit` | 对特定文件进行有针对性的编辑。请参阅 [Edit 工具行为](#edit-tool-behavior) | 是 |

22| `EnterPlanMode` | 切换到 Plan Mode 以在编码前设计方法 | 否 |22| `EnterPlanMode` | 切换到 Plan Mode 以在编码前设计方法 | 否 |

23| `EnterWorktree` | 创建一个隔离的 [git worktree](/zh-CN/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) 并切换到它。传递 `path` 以切换到当前存储库的现有 worktree,而不是创建新的。不适用于 subagents | 否 |23| `EnterWorktree` | 创建一个隔离的 [git worktree](/zh-CN/worktrees) 并切换到它。传递 `path` 以切换到当前存储库的现有 worktree,而不是创建新的。不适用于 subagents | 否 |

24| `ExitPlanMode` | 提出计划以供批准并退出 Plan Mode | 是 |24| `ExitPlanMode` | 提出计划以供批准并退出 Plan Mode | 是 |

25| `ExitWorktree` | 退出 worktree 会话并返回到原始目录。不适用于 subagents | 否 |25| `ExitWorktree` | 退出 worktree 会话并返回到原始目录。不适用于 subagents | 否 |

26| `Glob` | 基于模式匹配查找文件 | 否 |26| `Glob` | 基于模式匹配查找文件。请参阅 [Glob 工具行为](#glob-tool-behavior) | 否 |

27| `Grep` | 在文件内容中搜索模式 | 否 |27| `Grep` | 在文件内容中搜索模式。请参阅 [Grep 工具行为](#grep-tool-behavior) | 否 |

28| `ListMcpResourcesTool` | 列出连接的 [MCP servers](/zh-CN/mcp) 公开的资源 | 否 |28| `ListMcpResourcesTool` | 列出连接的 [MCP servers](/zh-CN/mcp) 公开的资源 | 否 |

29| `LSP` | 通过语言服务器进行代码智能:跳转到定义、查找引用、报告类型错误和警告。请参阅 [LSP 工具行为](#lsp-tool-behavior) | 否 |29| `LSP` | 通过语言服务器进行代码智能:跳转到定义、查找引用、报告类型错误和警告。请参阅 [LSP 工具行为](#lsp-tool-behavior) | 否 |

30| `Monitor` | 在后台运行命令并将每个输出行反馈给 Claude,以便它可以对日志条目、文件更改或轮询状态做出反应。请参阅 [Monitor 工具](#monitor-tool) | 是 |30| `Monitor` | 在后台运行命令并将每个输出行反馈给 Claude,以便它可以对日志条目、文件更改或轮询状态做出反应。请参阅 [Monitor 工具](#monitor-tool) | 是 |

31| `NotebookEdit` | 修改 Jupyter notebook 单元格 | 是 |31| `NotebookEdit` | 修改 Jupyter notebook 单元格。请参阅 [NotebookEdit 工具行为](#notebookedit-tool-behavior) | 是 |

32| `PowerShell` | 本地执行 PowerShell 命令。请参阅 [PowerShell 工具](#powershell-tool)了解可用性 | 是 |32| `PowerShell` | 本地执行 PowerShell 命令。请参阅 [PowerShell 工具](#powershell-tool)了解可用性 | 是 |

33| `Read` | 读取文件内容 | 否 |33| `PushNotification` | 发送桌面通知,以及当 [Remote Control](/zh-CN/remote-control) 已连接时发送手机推送,以便长时间运行的任务或[计划任务](/zh-CN/scheduled-tasks)可以在您离开时联系您。{/* plan-availability: feature=push-notifications providers=anthropic */}推送传递通过 Anthropic 托管的基础设施运行,该基础设施无法从 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 访问 | 否 |

34| `Read` | 读取文件内容。请参阅 [Read 工具行为](#read-tool-behavior) | 否 |

34| `ReadMcpResourceTool` | 按 URI 读取特定 MCP 资源 | 否 |35| `ReadMcpResourceTool` | 按 URI 读取特定 MCP 资源 | 否 |

36| `RemoteTrigger` | 在 claude.ai 上创建、更新、运行和列出 [Routines](/zh-CN/routines)。支持 `/schedule` 命令。{/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines 存在于 claude.ai 上,需要 Pro、Max、Team 或 Enterprise 计划,因此此工具无法从 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 访问 | 否 |

35| `SendMessage` | 向 [agent team](/zh-CN/agent-teams) 队友发送消息,或按 agent ID [恢复 subagent](/zh-CN/sub-agents#resume-subagents)。已停止的 subagents 在后台自动恢复。仅当设置了 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 时可用 | 否 |37| `SendMessage` | 向 [agent team](/zh-CN/agent-teams) 队友发送消息,或按 agent ID [恢复 subagent](/zh-CN/sub-agents#resume-subagents)。已停止的 subagents 在后台自动恢复。仅当设置了 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 时可用 | 否 |

38| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}上传 `ONBOARDING.md` 并返回队友可以在 Claude Code 中打开的共享链接。在编写指南后从 `/team-onboarding` 调用。适用于 Pro、Max、Team 和 Enterprise 计划上的 claude.ai 订阅者 | 是 |

36| `Skill` | 在主对话中执行 [skill](/zh-CN/skills#control-who-invokes-a-skill) | 是 |39| `Skill` | 在主对话中执行 [skill](/zh-CN/skills#control-who-invokes-a-skill) | 是 |

37| `TaskCreate` | 在任务列表中创建新任务 | 否 |40| `TaskCreate` | 在任务列表中创建新任务 | 否 |

38| `TaskGet` | 检索特定任务的完整详细信息 | 否 |41| `TaskGet` | 检索特定任务的完整详细信息 | 否 |


44| `TeamDelete` | 解散 agent team 并清理队友进程。仅当设置了 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 时可用 | 否 |47| `TeamDelete` | 解散 agent team 并清理队友进程。仅当设置了 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 时可用 | 否 |

45| `TodoWrite` | 管理会话任务清单。在非交互模式和 [Agent SDK](/zh-CN/headless) 中可用;交互式会话改用 TaskCreate、TaskGet、TaskList 和 TaskUpdate | 否 |48| `TodoWrite` | 管理会话任务清单。在非交互模式和 [Agent SDK](/zh-CN/headless) 中可用;交互式会话改用 TaskCreate、TaskGet、TaskList 和 TaskUpdate | 否 |

46| `ToolSearch` | 当启用 [tool search](/zh-CN/mcp#scale-with-mcp-tool-search) 时搜索并加载延迟工具 | 否 |49| `ToolSearch` | 当启用 [tool search](/zh-CN/mcp#scale-with-mcp-tool-search) 时搜索并加载延迟工具 | 否 |

47| `WebFetch` | 从指定 URL 获取内容 | 是 |50| `WebFetch` | 从指定 URL 获取内容。请参阅 [WebFetch 工具行为](#webfetch-tool-behavior) | 是 |

48| `WebSearch` | 执行网络搜索 | 是 |51| `WebSearch` | 执行网络搜索。请参阅 [WebSearch 工具行为](#websearch-tool-behavior) | 是 |

49| `Write` | 创建或覆盖文件 | 是 |52| `Write` | 创建或覆盖文件。请参阅 [Write 工具行为](#write-tool-behavior) | 是 |

50 53 

51权限规则可以使用 `/permissions` 或在[权限设置](/zh-CN/settings#available-settings)中配置。另请参阅[工具特定权限规则](/zh-CN/permissions#tool-specific-permission-rules)。54## 使用权限规则和 hooks 配置工具

55 

56在大多数情况下,Claude 决定何时使用这些工具,您在与 Claude 交互时不需要自己命名它们。当定义权限和其他配置时,您直接引用工具名称:

57 

58* 在设置中的 [`permissions.allow` 和 `permissions.deny`](/zh-CN/settings#available-settings),以及 `/permissions` 界面

59* 在 [CLI 标志](/zh-CN/cli-reference)中的 `--allowedTools` 和 `--disallowedTools`

60* 在 Agent SDK 的 [`allowedTools` 和 `disallowedTools`](/zh-CN/agent-sdk/permissions#allow-and-deny-rules) 选项中

61* 在 [subagent 的 `tools` 或 `disallowedTools`](/zh-CN/sub-agents#supported-frontmatter-fields) frontmatter 中

62* 在 [skill 的 `allowed-tools`](/zh-CN/skills#frontmatter-reference) frontmatter 中

63* 在 hook 的 [`if` 条件](/zh-CN/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field)中

64 

65所有这些都接受相同的规则格式,`ToolName(specifier)`。specifier 取决于工具,几个工具共享一种格式:

66 

67| 规则格式 | 适用于 | 详情 |

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

69| `Bash(npm run *)` | Bash、Monitor | [命令模式匹配](/zh-CN/permissions#bash) |

70| `PowerShell(Get-ChildItem *)` | PowerShell | [命令模式匹配](/zh-CN/permissions#powershell) |

71| `Read(~/secrets/**)` | Read、Grep、Glob、LSP | [路径模式匹配](/zh-CN/permissions#read-and-edit) |

72| `Edit(/src/**)` | Edit、Write、NotebookEdit | [路径模式匹配](/zh-CN/permissions#read-and-edit) |

73| `Skill(deploy *)` | Skill | [Skill 名称匹配](/zh-CN/skills#restrict-claude's-skill-access) |

74| `Agent(Explore)` | Agent | [Subagent 类型匹配](/zh-CN/permissions#agent-subagents) |

75| `WebFetch(domain:example.com)` | WebFetch | [域名匹配](/zh-CN/permissions#webfetch) |

76| `WebSearch` | WebSearch | 无 specifier;允许或拒绝整个工具 |

77 

78此处未列出的工具,例如 `ExitPlanMode` 或 `ShareOnboardingGuide`,仅接受不带 specifier 的裸工具名称。

79 

80`Edit(...)` 允许规则也授予对相同路径的读取访问权限,因此您不需要匹配的 `Read(...)` 规则。

81 

82Hook `matcher` 字段使用裸工具名称,而不是带括号的规则格式。请参阅[匹配器模式](/zh-CN/hooks#matcher-patterns)了解匹配规则。对于每个工具在 hooks 中传递给 `tool_input` 的字段名称,请参阅 [PreToolUse 输入参考](/zh-CN/hooks#pretooluse-input)。

83 

84## Agent 工具行为

85 

86Agent 工具在单独的 context window 中生成一个 subagent。subagent 自主地完成其任务,然后向父对话返回单个文本结果。父对话看不到 subagent 的中间工具调用或输出,只看到最终结果。要限制 subagent 运行的轮数,请在 [subagent 定义](/zh-CN/sub-agents#supported-frontmatter-fields)中设置 `maxTurns`。

87 

88同一个 Agent 工具也在启用 fork 模式时启动[分叉 subagents](/zh-CN/sub-agents#fork-the-current-conversation)。fork 继承完整的父对话,而不是从头开始,始终在后台运行,并且仍然在您的终端中显示权限提示。本节的其余部分描述命名的 subagents。

89 

90命名的 subagent 可以使用哪些工具取决于 [subagent 定义](/zh-CN/sub-agents)中的 `tools` 和 `disallowedTools` 字段:

91 

92* **两个字段都未设置**:subagent 继承父对话可用的每个工具。

93* **仅设置 `tools`**:subagent 仅获得列出的工具。

94* **仅设置 `disallowedTools`**:subagent 获得除列出的工具外的每个父工具。

95* **两个都设置**:`disallowedTools` 优先。同时列在两个中的工具会被移除。

96 

97启动 subagent 本身不会提示权限。subagent 自己的工具调用在运行时根据您的权限规则进行检查:

98 

99* **前台 subagents** 显示您在主对话中会看到的相同权限提示,在每个工具调用发生时。

100* **后台 subagents** 不显示提示。它们使用会话中已授予的权限运行,并自动拒绝任何会提示的工具调用。拒绝后,subagent 继续运行而不使用该工具。

101 

102要首先限制 subagent 可以访问的内容,请缩小其 `tools` 字段,将 Bash 排除在列表之外,或在设置中设置拒绝规则,如[控制 subagent 功能](/zh-CN/sub-agents#control-subagent-capabilities)中所述。有关选择前台或后台的更多信息,请参阅[在前台或后台运行 subagents](/zh-CN/sub-agents#run-subagents-in-foreground-or-background)。

52 103 

53## Bash 工具行为104## Bash 工具行为

54 105 


61 112 

62在启动 Claude Code 之前激活您的 virtualenv 或 conda 环境。要使环境变量在 Bash 命令之间保持不变,请在启动 Claude Code 之前将 [`CLAUDE_ENV_FILE`](/zh-CN/env-vars) 设置为 shell 脚本,或使用 [SessionStart hook](/zh-CN/hooks#persist-environment-variables) 动态填充它。113在启动 Claude Code 之前激活您的 virtualenv 或 conda 环境。要使环境变量在 Bash 命令之间保持不变,请在启动 Claude Code 之前将 [`CLAUDE_ENV_FILE`](/zh-CN/env-vars) 设置为 shell 脚本,或使用 [SessionStart hook](/zh-CN/hooks#persist-environment-variables) 动态填充它。

63 114 

115两个限制限制每个命令:

116 

117* **超时**:默认为两分钟。Claude 可以使用 `timeout` 参数请求每个命令最多 10 分钟。使用 [`BASH_DEFAULT_TIMEOUT_MS` 和 `BASH_MAX_TIMEOUT_MS`](/zh-CN/env-vars) 覆盖默认值和上限。

118* **输出长度**:默认为 30,000 个字符。当命令产生超过该数量的输出时,Claude Code 将完整输出保存到会话目录中的文件,并给 Claude 文件路径加上开头的简短预览。Claude 在需要其余部分时读取或搜索该文件。使用 [`BASH_MAX_OUTPUT_LENGTH`](/zh-CN/env-vars) 提高限制,最高为 150,000 个字符的硬上限。

119 

120对于长时间运行的进程,例如开发服务器或监视构建,Claude 可以设置 `run_in_background: true` 以将命令作为后台任务启动并在其运行时继续工作。使用 `/tasks` 列出和停止后台任务。

121 

122## Edit 工具行为

123 

124Edit 工具执行精确的字符串替换。它接受 `old_string` 和 `new_string` 并用后者替换前者。它不使用正则表达式或模糊匹配。

125 

126三个检查必须通过才能应用编辑:

127 

128* **编辑前读取**:Claude 必须在当前对话中读取过该文件,并且该文件在该读取后不能在磁盘上更改。此检查首先运行,在任何字符串匹配之前。

129* **匹配**:`old_string` 必须在文件中完全按照编写的方式出现。单个空格或缩进差异足以导致不匹配。

130* **唯一性**:`old_string` 必须恰好出现一次。当它出现多次时,Claude 要么提供一个更长的字符串,其中包含足够的周围上下文来确定一个出现,要么设置 `replace_all: true` 来替换所有出现。

131 

132使用 Bash 查看文件也满足读取前编辑要求,当命令是 `cat path/to/file` 或 `sed -n 'X,Yp' path/to/file` 在单个文件上,没有管道或重定向时。其他 Bash 命令,例如 `head`、`tail` 或管道输出不计数,Claude 在这些情况下必须在编辑前使用 Read。

133 

134这仅影响编辑资格,不影响权限。[Read 和 Edit 拒绝规则](/zh-CN/permissions#tool-specific-permission-rules)也适用于 Claude Code 在 Bash 中识别的文件命令,例如 `cat`、`head`、`tail` 和 `sed`,但不适用于间接读取或写入文件的任意子进程,例如自己打开文件的 Python 或 Node 脚本。对于覆盖每个进程的操作系统级别强制,请[启用沙箱](/zh-CN/sandboxing)。

135 

136## Glob 工具行为

137 

138Glob 工具按名称模式查找文件。它支持标准 glob 语法,包括 `**` 用于递归目录匹配:

139 

140* `**/*.js` 匹配任何深度的所有 `.js` 文件

141* `src/**/*.ts` 匹配 `src/` 下的所有 `.ts` 文件

142* `*.{json,yaml}` 匹配当前目录中的 `.json` 和 `.yaml` 文件

143 

144结果按修改时间排序,并限制为 100 个文件。如果达到上限,Claude 会在结果中看到截断标志,并可以缩小模式。

145 

146Glob 默认不尊重 `.gitignore`,因此它找到被 gitignore 的文件以及跟踪的文件。这与[Grep](#grep-tool-behavior) 不同,后者跳过被 gitignore 的文件。要使 Glob 尊重 `.gitignore`,请在启动 Claude Code 之前设置 `CLAUDE_CODE_GLOB_NO_IGNORE=false`。

147 

148## Grep 工具行为

149 

150Grep 工具在文件内容中搜索模式。[Glob](#glob-tool-behavior) 按名称查找文件,Grep 在文件内查找行。

151 

152Grep 基于 [ripgrep](https://github.com/BurntSushi/ripgrep) 并使用 ripgrep 的正则表达式语法,而不是 POSIX grep。包含正则表达式元字符的模式需要转义。例如,在 Go 代码中查找 `interface{}` 需要模式 `interface\{\}`。

153 

154三种输出模式控制返回的内容:

155 

156* `files_with_matches`:仅文件路径,无行内容。这是默认值。

157* `content`:匹配的行及其文件和行号。

158* `count`:每个文件的匹配计数。

159 

160Claude 可以使用 `glob` 参数(例如 `**/*.tsx`)按文件范围结果,或使用 `type` 参数(例如 `py` 或 `rust`)按语言范围结果。默认情况下,模式在单行内匹配。Claude 可以设置 `multiline: true` 以跨行边界匹配。

161 

162Grep 尊重 `.gitignore`,因此被 gitignore 的文件会被跳过。要搜索被 gitignore 的文件,Claude 直接传递其路径。

163 

64## LSP 工具行为164## LSP 工具行为

65 165 

66LSP 工具为 Claude 提供来自运行中的语言服务器的代码智能。在每次文件编辑后,它会自动报告类型错误和警告,以便 Claude 可以在没有单独构建步骤的情况下修复问题。Claude 还可以直接调用它来导航代码:166LSP 工具为 Claude 提供来自运行中的语言服务器的代码智能。在每次文件编辑后,它会自动报告类型错误和警告,以便 Claude 可以在没有单独构建步骤的情况下修复问题。Claude 还可以直接调用它来导航代码:


93 193 

94插件可以声明在插件处于活动状态时自动启动的监视,而不是要求 Claude 启动它们。请参阅 [plugin monitors](/zh-CN/plugins-reference#monitors)。194插件可以声明在插件处于活动状态时自动启动的监视,而不是要求 Claude 启动它们。请参阅 [plugin monitors](/zh-CN/plugins-reference#monitors)。

95 195 

196## NotebookEdit 工具行为

197 

198NotebookEdit 一次修改一个 Jupyter notebook 单元格,按其 `cell_id` 定位单元格。它不像 [Edit](#edit-tool-behavior) 在纯文本文件上那样在整个 notebook 中执行字符串替换。

199 

200三种编辑模式控制目标单元格发生的情况:

201 

202* `replace`:覆盖单元格的源。这是默认值。

203* `insert`:在目标后添加新单元格。没有 `cell_id` 时,新单元格位于 notebook 的开始。需要 `cell_type` 设置为 `code` 或 `markdown`。

204* `delete`:删除目标单元格。

205 

206权限规则使用 `Edit(...)` 路径格式。像 `Edit(notebooks/**)` 这样的规则涵盖该目录中的 NotebookEdit 调用。

207 

96## PowerShell 工具208## PowerShell 工具

97 209 

98PowerShell 工具让 Claude 本地运行 PowerShell 命令。在 Windows 上,这意味着命令在 PowerShell 中运行,而不是通过 Git Bash 路由。在没有 Git Bash 的 Windows 上,该工具会自动启用。在安装了 Git Bash 的 Windows 上,该工具正在逐步推出。在 Linux、macOS 和 WSL 上,该工具是选择加入的。210PowerShell 工具让 Claude 本地运行 PowerShell 命令。在 Windows 上,这意味着命令在 PowerShell 中运行,而不是通过 Git Bash 路由。在没有 Git Bash 的 Windows 上,该工具会自动启用。在安装了 Git Bash 的 Windows 上,该工具正在逐步推出。在 Linux、macOS 和 WSL 上,该工具是选择加入的。


130* PowerShell 配置文件未加载242* PowerShell 配置文件未加载

131* 在 Windows 上,不支持 sandboxing243* 在 Windows 上,不支持 sandboxing

132 244 

245## Read 工具行为

246 

247Read 工具接受文件路径并返回带有行号的内容。Claude 被指示始终传递绝对路径。

248 

249默认情况下,Read 从开始返回文件。超过大小阈值的文件返回错误而不是部分内容,提示 Claude 使用 `offset` 和 `limit` 重试以读取特定范围。

250 

251Read 处理纯文本之外的几种文件类型:

252 

253* **图像**:PNG、JPG 和其他图像格式作为 Claude 可以看到的视觉内容返回,而不是原始字节。Claude Code 在发送前调整大小并重新压缩大图像以适应模型的图像大小限制,因此 Claude 可能会看到大截图的缩小版本。如果 Claude 在大图像中遗漏了细微的像素级细节,请要求它首先裁剪感兴趣的区域,例如使用 ImageMagick 通过 Bash。

254* **PDFs**:Claude 完整读取短 `.pdf` 文件。对于超过 10 页的 PDFs,它使用 `pages` 参数(例如 `"1-5"`)按范围读取,一次最多 20 页。

255* **Jupyter notebooks**:`.ipynb` 文件返回所有单元格及其输出,包括代码、markdown 和可视化。

256 

257Read 仅读取文件,不读取目录。Claude 使用通过 Bash 工具的 `ls` 列出目录内容。

258 

259## WebFetch 工具行为

260 

261WebFetch 接受 URL 和描述要提取内容的提示。它获取页面,当服务器返回 HTML 时将响应转换为 Markdown,并使用小型快速模型针对内容运行提示。对于大多数获取,Claude 接收该模型的答案,而不是原始页面。转换步骤不可配置。

262 

263这使 WebFetch 在设计上是有损的。提取提示确定到达 Claude 的内容,因此说页面不提及某内容的结果可能只意味着提示没有询问它。要求 Claude 使用更具体的提示再次获取,或通过 Bash 使用 `curl` 获取未处理的页面。

264 

265几种行为塑造 Claude 接收的响应:

266 

267* HTTP URLs 自动升级到 HTTPS。

268* 大页面在处理前被截断到固定字符限制。

269* 响应缓存 15 分钟,因此相同 URL 的重复获取快速返回。

270* 当 URL 重定向到不同的主机时,WebFetch 返回一个文本结果,命名原始 URL 和重定向目标,而不是跟随它。Claude 然后使用第二个 WebFetch 调用获取新 URL。

271 

272在默认和 `acceptEdits` 权限模式中,WebFetch 在首次到达新域时提示。要提前允许域而不提示,请添加像 `WebFetch(domain:example.com)` 这样的权限规则。`auto` 和 `bypassPermissions` [权限模式](/zh-CN/permissions#permission-modes)完全跳过提示。

273 

274WebFetch 设置以 `Claude-User` 开头的 `User-Agent` 标头,以及优先 Markdown 而不是 HTML 的 `Accept` 标头,以便支持内容协商的服务器可以直接返回 Markdown。[Sandbox](/zh-CN/sandboxing) 网络规则单独配置,因此您希望沙箱进程到达的域仍然需要显式沙箱权限规则。

275 

276## WebSearch 工具行为

277 

278WebSearch 针对 Anthropic 的[网络搜索](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)后端运行查询,并返回结果标题和 URLs。它不获取结果页面。要读取 Claude 在搜索结果中找到的页面,它使用 [WebFetch](#webfetch-tool-behavior) 进行后续操作。

279 

280该工具可能在返回结果之前发出最多八个后端搜索,在内部优化搜索。Claude 可以使用 `allowed_domains` 范围结果以仅包含某些主机,或使用 `blocked_domains` 排除它们。这两个列表不能在单个调用中组合。

281 

282搜索后端不可配置。要使用不同的提供商进行搜索,请添加一个 [MCP server](/zh-CN/mcp),公开搜索工具。

283 

284WebSearch 权限规则不接受 specifier。`allow` 或 `deny` 中的裸 `WebSearch` 条目是唯一的形式。

285 

286<Note>

287 WebSearch 在 Claude API 和 Microsoft Foundry 上可用。在 Google Cloud Vertex AI 上,它适用于 Claude 4 模型,包括 Opus、Sonnet 和 Haiku。Amazon Bedrock 不公开服务器端网络搜索工具。

288</Note>

289 

290## Write 工具行为

291 

292Write 工具创建新文件或用提供的完整内容覆盖现有文件。它不追加或合并。

293 

294如果目标路径已存在,Claude 必须在当前对话中至少读取过该文件一次才能覆盖它。对未读现有文件的 Write 失败并出现错误。此约束不适用于新文件。

295 

296使用 Bash `cat` 或 `sed -n` 查看文件也满足此要求,如 [Edit 工具行为](#edit-tool-behavior)中所述。

297 

298对于现有文件的部分更改,Claude 使用 Edit 而不是 Write。

299 

133## 检查哪些工具可用300## 检查哪些工具可用

134 301 

135您的确切工具集取决于您的提供商、平台和设置。要检查在运行中的会话中加载了什么,请直接询问 Claude:302您的确切工具集取决于您的提供商、平台和设置。要检查在运行中的会话中加载了什么,请直接询问 Claude:

worktrees.md +161 −0 created

Details

1> ## Documentation Index

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

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

4 

5# 使用 worktrees 运行并行会话

6 

7> 在单独的 git worktrees 中隔离并行 Claude Code 会话,以便更改不会相互冲突。涵盖 `--worktree` 标志、子代理隔离、`.worktreeinclude`、清理和非 git VCS hooks。

8 

9[git worktree](https://git-scm.com/docs/git-worktree) 是一个单独的工作目录,具有自己的文件和分支,但与主检出共享相同的存储库历史和远程。在自己的 worktree 中运行每个 Claude Code 会话意味着一个会话中的编辑永远不会触及另一个会话中的文件,因此您可以让 Claude 在一个终端中构建功能,同时在第二个终端中修复错误。

10 

11本页涵盖 CLI 中的 worktree 隔离。下面的所有内容都假设使用 git 存储库。对于其他版本控制系统,请参阅[非 git 版本控制](#non-git-version-control)。[桌面应用](/zh-CN/desktop#work-in-parallel-with-sessions)会为每个新会话自动创建一个 worktree。

12 

13Worktrees 是运行 Claude 并行的几种方式之一。它们隔离文件编辑,而[子代理](/zh-CN/sub-agents)和[代理团队](/zh-CN/agent-teams)协调工作本身。请参阅[并行运行代理](/zh-CN/agents)来比较这些方法,或跳到[使用 worktrees 隔离子代理](#isolate-subagents-with-worktrees)以同时使用 worktrees 和子代理。

14 

15## 在 worktree 中启动 Claude

16 

17传递 `--worktree` 或 `-w` 来创建隔离的 worktree 并在其中启动 Claude。默认情况下,worktree 在您的存储库根目录下的 `.claude/worktrees/<value>/` 下创建,在名为 `worktree-<value>` 的新分支上:

18 

19```bash theme={null}

20claude --worktree feature-auth

21```

22 

23要将 worktrees 放在其他地方,请配置 [`WorktreeCreate` hook](#non-git-version-control)。在另一个终端中使用不同的名称再次运行该命令以启动第二个隔离会话:

24 

25```bash theme={null}

26claude --worktree bugfix-123

27```

28 

29如果您省略名称,Claude 会生成一个名称,例如 `bright-running-fox`:

30 

31```bash theme={null}

32claude --worktree

33```

34 

35您也可以在会话期间要求 Claude "在 worktree 中工作",它将使用 [`EnterWorktree`](/zh-CN/tools-reference) 工具创建一个。

36 

37在首次在目录中使用 `--worktree` 之前,请通过在该目录中运行一次 `claude` 来接受工作区信任对话框。如果尚未接受信任,`--worktree` 将以错误退出并提示您首先在目录中运行 `claude`,包括与 `-p` 结合使用时。

38 

39<Tip>

40 将 `.claude/worktrees/` 添加到您的 `.gitignore`,以便 worktree 内容不会在您的主检出中显示为未跟踪的文件。

41</Tip>

42 

43### 选择基础分支

44 

45Worktrees 从您的存储库的默认分支 `origin/HEAD` 分支,因此它们从与远程匹配的干净树开始。如果未配置远程或获取失败,worktree 会回退到您当前的本地 `HEAD`。要始终从本地 `HEAD` 分支,请在[设置](/zh-CN/settings#worktree-settings)中将 `worktree.baseRef` 设置为 `"head"`。将 `baseRef` 设置为 `"head"` 会使新 worktrees 携带您未推送的提交和功能分支状态,这在隔离需要在进行中的工作上操作的子代理时很有用。该设置仅接受 `"fresh"` 或 `"head"`,不接受任意 git refs:

46 

47```json theme={null}

48{

49 "worktree": {

50 "baseRef": "head"

51 }

52}

53```

54 

55要从特定的拉取请求分支,请传递以 `#` 为前缀的 PR 编号或完整的 GitHub 拉取请求 URL。Claude Code 从 `origin` 获取 `pull/<number>/head` 并在 `.claude/worktrees/pr-<number>` 创建 worktree:

56 

57```bash theme={null}

58claude --worktree "#1234"

59```

60 

61要完全控制 worktrees 的创建方式,请配置 [`WorktreeCreate` hook](/zh-CN/hooks#worktreecreate),它完全替代默认的 `git worktree` 逻辑。

62 

63## 将 gitignored 文件复制到 worktrees

64 

65Worktree 是一个新的检出,因此来自您主存储库的未跟踪文件(如 `.env` 或 `.env.local`)不存在。要在 Claude 创建 worktree 时自动复制它们,请将 `.worktreeinclude` 文件添加到您的项目根目录。

66 

67该文件使用 `.gitignore` 语法。只有匹配模式且也被 gitignored 的文件才会被复制,因此跟踪的文件永远不会被重复。

68 

69此 `.worktreeinclude` 将两个 env 文件和一个 secrets 配置复制到每个新 worktree:

70 

71```text .worktreeinclude theme={null}

72.env

73.env.local

74config/secrets.json

75```

76 

77这适用于使用 `--worktree` 创建的 worktrees、[子代理 worktrees](#isolate-subagents-with-worktrees) 和[桌面应用](/zh-CN/desktop#work-in-parallel-with-sessions)中的并行会话。

78 

79## 使用 worktrees 隔离子代理

80 

81子代理可以在自己的 worktrees 中运行,以便并行编辑不会冲突。要求 Claude "为您的代理使用 worktrees",或通过向 frontmatter 添加 `isolation: worktree` 在[自定义子代理](/zh-CN/sub-agents#supported-frontmatter-fields)上永久设置它。每个子代理都会获得一个临时 worktree,当子代理完成且没有更改时会自动删除。

82 

83## 清理 worktrees

84 

85当您退出 worktree 会话时,清理取决于您是否进行了更改:

86 

87* **无更改**:worktree 及其分支会自动删除

88* **存在更改或提交**:Claude 提示您保留或删除 worktree。保留会保留目录和分支,以便您稍后可以返回。删除会删除 worktree 目录及其分支,丢弃所有未提交的更改和提交

89* **非交互式运行**:使用 `--worktree` 和 `-p` 创建的 worktrees 不会自动清理,因为没有退出提示。使用 `git worktree remove` 删除它们

90 

91由崩溃或中断的运行孤立的子代理 worktrees 在启动时会被删除,一旦它们的年龄超过您的 [`cleanupPeriodDays`](/zh-CN/settings#available-settings) 设置,前提是它们没有未提交的更改、没有未跟踪的文件和没有未推送的提交。使用 `--worktree` 创建的 Worktrees 永远不会被此扫描删除。

92 

93## 手动管理 worktrees

94 

95要完全控制 worktree 位置和分支配置,请直接使用 Git 创建 worktrees。当您需要检出特定的现有分支或将 worktree 放在存储库外时,这很有用。

96 

97在新分支上创建 worktree:

98 

99```bash theme={null}

100git worktree add ../project-feature-a -b feature-a

101```

102 

103从现有分支创建 worktree:

104 

105```bash theme={null}

106git worktree add ../project-bugfix bugfix-123

107```

108 

109在 worktree 中启动 Claude:

110 

111```bash theme={null}

112cd ../project-feature-a && claude

113```

114 

115列出您的 worktrees:

116 

117```bash theme={null}

118git worktree list

119```

120 

121完成后删除一个:

122 

123```bash theme={null}

124git worktree remove ../project-feature-a

125```

126 

127有关完整的命令参考,请参阅 [Git worktree 文档](https://git-scm.com/docs/git-worktree)。记住在每个新 worktree 中初始化您的开发环境:安装依赖项、设置虚拟环境或运行您的项目设置所需的任何内容。

128 

129## 非 git 版本控制

130 

131Worktree 隔离默认使用 git。对于 SVN、Perforce、Mercurial 或其他系统,请配置 [`WorktreeCreate` 和 `WorktreeRemove` hooks](/zh-CN/hooks#worktreecreate) 以提供自定义创建和清理逻辑。因为 hook 替代了默认的 git 行为,当您使用 `--worktree` 时,[`.worktreeinclude`](#copy-gitignored-files-into-worktrees) 不会被处理。改为在您的 hook 脚本内复制任何本地配置文件。

132 

133此 `WorktreeCreate` hook 从 stdin 读取 worktree 名称,检出一个新的 SVN 工作副本,并打印目录路径,以便 Claude Code 可以将其用作会话的工作目录:

134 

135```json theme={null}

136{

137 "hooks": {

138 "WorktreeCreate": [

139 {

140 "hooks": [

141 {

142 "type": "command",

143 "command": "bash -c 'NAME=$(jq -r .name); DIR=\"$HOME/.claude/worktrees/$NAME\"; svn checkout https://svn.example.com/repo/trunk \"$DIR\" >&2 && echo \"$DIR\"'"

144 }

145 ]

146 }

147 ]

148 }

149}

150```

151 

152将其与 `WorktreeRemove` hook 配对以在会话结束时进行清理。有关输入架构和删除示例,请参阅 [hooks 参考](/zh-CN/hooks#worktreecreate)。

153 

154## 另请参阅

155 

156Worktrees 处理文件隔离。下面的相关页面涵盖将工作委派到这些隔离的检出中以及在您创建的会话之间切换:

157 

158* [子代理](/zh-CN/sub-agents):在会话内将工作委派给隔离的代理

159* [代理团队](/zh-CN/agent-teams):自动协调多个 Claude 会话

160* [管理会话](/zh-CN/sessions):命名、恢复和在对话之间切换

161* [桌面并行会话](/zh-CN/desktop#work-in-parallel-with-sessions):桌面应用中由 worktree 支持的会话