98 使用 agent view 监控会话98 使用 agent view 监控会话
99</h2>99</h2>
100 100
101运行 `claude agents` 打开 agent view。它接管整个终端并列出按状态分组的每个会话,固定的会话和需要你的会话在顶部。每行显示会话的名称、当前活动和其年龄,从会话创建时开始计算;已完成的会话的年龄冻结在运行花费的时间。101运行 `claude agents` 打开 agent view。它接管整个终端并列出按状态分组的每个会话,固定的会话和需要您处理的会话位于顶部。每行显示会话的名称、当前活动和存在时长,时长从会话创建时开始计算;已完成会话的时长会定格在运行所花费的时间。
102 102
103名称用该会话中由 [`/color`](/docs/zh-CN/commands) 设置的颜色着色。包括当你用 `←` 或 `/background` [后台会话](#from-inside-a-session)时。103名称使用该会话中由 [`/color`](/docs/zh-CN/commands) 设置的颜色着色,包括您用 `←` 或 `/background` [将会话转入后台](#from-inside-a-session)时。
104 104
105默认情况下,列表显示你启动的每个后台会话,跨越所有项目。在一个存储库中工作的会话和在不同 worktree 中工作的另一个会话都会出现在这里,无论你从哪个目录打开 agent view。要将列表限制到一个项目,请传递 `--cwd`:105默认情况下,列表显示您启动的每个后台会话,涵盖您的所有项目。在一个仓库中工作的会话和在另一个 worktree 中工作的会话都会出现在这里,无论您从哪个目录打开 agent view。要将列表限定到一个项目,请传递 `--cwd`:
106 106
107```bash theme={null}107```bash theme={null}
108claude agents --cwd ~/projects/my-app108claude agents --cwd ~/projects/my-app
109```109```
110 110
111这只显示在该目录下启动的会话。它仍然列出已[移入 worktree](#how-file-edits-are-isolated) 到 `~/projects/my-app/.claude/worktrees/` 下的会话。111这只显示在该目录下启动的会话。已[移入 worktree](#how-file-edits-are-isolated)(位于 `~/projects/my-app/.claude/worktrees/` 下)的会话仍会列出。
112 112
113你在其他终端中打开的交互式会话不会出现,直到你[后台它们](#from-inside-a-session)。[Subagents](/docs/zh-CN/sub-agents) 和 [teammates](/docs/zh-CN/agent-teams) 会话生成的不会列为单独的行。113您在其他终端中打开的交互式会话不会出现,直到您[将其转入后台](#from-inside-a-session)。会话生成的[子代理](/docs/zh-CN/sub-agents)和[队友](/docs/zh-CN/agent-teams)不会作为单独的行列出。
114 114
115```text theme={null}115```text theme={null}
116Pinned116Pinned
124 124
125Working125Working
126 ✽ collision detection Adding swept-AABB checks to CollisionSystem 2m126 ✽ collision detection Adding swept-AABB checks to CollisionSystem 2m
127 ✢ playtest level 3 run 12 · all checkpoints cleared in 4m127 ✢ playtest level 3 all checkpoints cleared ×12 in 4m
128 128
129Completed129Completed
130 ✻ title screen result: menu, options, and credits done 9m130 ✻ title screen menu, options, and credits done 9m
131 ∙ sound effects result: 14 SFX exported to assets/audio 4h131 ∙ sound effects 14 SFX exported to assets/audio 4h
132 … 6 more132 … 6 more
133```133```
134 134
140 140
141| 状态 | 图标显示为 | 含义 |141| 状态 | 图标显示为 | 含义 |
142| :- | :- | :- |142| :- | :- | :- |
143| 工作中 | 动画 | Claude 正在积极运行工具或生成响应 |143| 工作中 | 动画 | Claude 正在运行工具或生成回复 |
144| 需要输入 | 黄色 | Claude 等待你提供的特定内容:问题的答案、权限决定或只有你能回答的另一个提示,例如 [sandbox](/docs/zh-CN/sandboxing) 提示以允许网络主机或 MCP 服务器的[请求输入](/docs/zh-CN/mcp#respond-to-mcp-elicitation-requests)。需要附加终端的命令,例如 `/install-github-app` 或 `/mcp` 设置列表,[也在此处保持无人值守的会话](#attach-to-a-session) |144| 需要输入 | 黄色 | Claude 正在等待只有您能提供的内容:问题的答案、权限决定,或其他只有您能回答的提示,例如允许某个网络主机的[沙箱](/docs/zh-CN/sandboxing)提示,或 MCP 服务器的[输入请求](/docs/zh-CN/mcp#respond-to-mcp-elicitation-requests)。需要已附加终端的命令,例如 `/install-github-app` 或 `/mcp` 设置列表,[也会让无人值守的会话停留在这里](#attach-to-a-session) |
145| 空闲 | 暗淡 | 会话没有任何事情要做,准备好接收你的下一个提示 |145| 空闲 | 暗淡 | 会话没有任何事情要做,已准备好接收您的下一个提示词 |
146| 已完成 | 绿色 | 任务成功完成 |146| 已完成 | 绿色 | 任务成功完成 |
147| 失败 | 红色 | 任务以错误结束 |147| 失败 | 红色 | 任务以错误结束 |
148| 已停止 | 灰色 | 你用 `Ctrl+X` 或 `claude stop` 停止了会话,[其进程从 Claude Code 外部结束](#the-supervisor-process),或[它在后台服务关闭时结束](#sessions-show-as-failed-after-shutdown) |148| 已停止 | 灰色 | 您用 `Ctrl+X` 或 `claude stop` 停止了会话,[其进程从 Claude Code 外部被结束](#the-supervisor-process),或[它在后台服务关闭时结束](#sessions-show-as-failed-after-shutdown) |
149 149
150另外,图标的形状显示底层进程是否正在运行:150另外,图标的形状有其自身的含义:
151 151
152| 形状 | 含义 |152| 形状 | 含义 |
153| :- | :- |153| :- | :- |
154| `✻` 或动画 `✽` | 会话进程处于活跃状态并立即回复 |154| `✻` 或动画 `✽` | 会话进程正在运行,或会话需要您的输入 |
155| `∙` | 进程已退出。你仍然可以窥视该行,当你回复或附加时,Claude 从中断处重新启动 |155| `∙` | 进程已退出。您仍然可以窥视该行,当您回复或附加时,Claude 会从中断处重新启动 |
156| `✢` | 一个 [`/loop`](/docs/zh-CN/scheduled-tasks) 会话在迭代之间休眠。该行显示其运行计数和倒计时 |156| `✢` | 一个 [`/loop`](/docs/zh-CN/scheduled-tasks) 会话正在迭代之间休眠。该行显示其运行次数和倒计时 |
157 157
158行右边缘可能出现的 `#N` 或 `!N` 标签是[会话的拉取请求或合并请求](#pull-request-status)的链接,不是状态图标的一部分。158行右边缘可能出现的 `#N` 或 `!N` 标签是指向会话的[拉取请求或合并请求](#pull-request-status)的链接,不是状态图标的一部分。
159 159
160终端标签标题在 agent view 打开时显示等待输入的计数:当会话需要输入时显示 `2 awaiting input · claude agents`,或当没有会话需要输入时显示 `claude agents`。160agent view 打开时,终端标签页标题会显示等待输入的数量:有会话需要输入时显示 `2 awaiting input · claude agents`,没有时显示 `claude agents`。
161 161
162要从脚本或另一个程序读取会话状态,请使用 [`claude agents --json`](#read-session-state-from-a-script) 而不是 `~/.claude/jobs/` 下的文件。162要从脚本或其他程序读取会话状态,请使用 [`claude agents --json`](#read-session-state-from-a-script),而不是 `~/.claude/jobs/` 下的文件。
163 163
164当 agent view 打开时,Claude Code 还会通过你配置的[终端通知频道](/docs/zh-CN/terminal-config#get-a-terminal-bell-or-notification)发送通知,当本地后台会话开始需要你的输入、完成或失败时。在计划上运行的会话,例如 [`/loop`](/docs/zh-CN/scheduled-tasks) 会话,仅在需要你的输入时通知。通知使用与 Claude Code 其余部分相同的 [`preferredNotifChannel` 设置](/docs/zh-CN/settings-reference#preferrednotifchannel),并使用 `agent_needs_input` 或 `agent_completed` 类型触发 [`Notification` hook](/docs/zh-CN/hooks#notification)。164agent view 打开时,当本地后台会话开始需要您的输入、完成或失败时,Claude Code 还会通过您配置的[终端通知频道](/docs/zh-CN/terminal-config#get-a-terminal-bell-or-notification)发送通知。按计划运行的会话,例如 [`/loop`](/docs/zh-CN/scheduled-tasks) 会话,仅在需要您的输入时通知。通知使用与 Claude Code 其余部分相同的 [`preferredNotifChannel` 设置](/docs/zh-CN/settings-reference#preferrednotifchannel),并以 `agent_needs_input` 或 `agent_completed` 类型触发 [`Notification` hook](/docs/zh-CN/hooks#notification)。
165 165
166后台会话不需要任何打开的终端来继续工作。一个单独的[监督进程](#the-supervisor-process)运行它们,所以你可以关闭 agent view、关闭你的 shell 或启动一个新的交互式会话,你的调度工作继续进行。166后台会话不需要打开任何终端即可继续工作。一个单独的[监督进程](#the-supervisor-process)运行它们,因此您可以关闭 agent view、关闭 shell 或启动新的交互式会话,已分派的工作会继续进行。
167 167
168会话状态通过自动更新和监督进程重启在磁盘上持久化。会话在你的机器休眠时也会被保留。它们的进程在唤醒时恢复,监督进程重新连接到它们,而不是将时间间隙视为空闲。关闭仍然会停止运行中的会话;请参阅[关闭后会话显示为失败或停止](#sessions-show-as-failed-after-shutdown)了解如何恢复它们。168会话状态会在磁盘上持久保存,不受自动更新和监督进程重启的影响。机器休眠时会话也会被保留。它们的进程在唤醒时恢复,监督进程会重新连接到它们,而不是将这段时间间隔视为空闲。关机仍然会停止正在运行的会话;请参阅[关机后会话显示为失败或已停止](#sessions-show-as-failed-after-shutdown)了解如何恢复它们。
169 169
170当机器在会话中途响应时休眠时,会话可能会陷入无响应状态。当你打开一个已停止响应的会话时,监督进程重启其进程,会话从中断处继续中断的响应。170如果机器休眠时会话正在生成回复,会话恢复后可能无响应。当您打开一个已停止响应的会话时,监督进程会重启其进程,会话会从中断处继续被打断的回复。
171 171
172<h3 id="row-summaries">172<h3 id="row-summaries">
173 行摘要173 行摘要
174</h3>174</h3>
175 175
176每行中的单行摘要由 [Haiku-class 模型](/docs/zh-CN/model-config)生成,所以该行可以告诉你会话正在做什么、需要什么或生成了什么,无需打开记录。当会话正在积极工作时,摘要最多每 15 秒从会话自己的最近输出刷新一次,无需发送模型请求,每个回合结束时模型写入新摘要。176每行中的单行摘要由 [Haiku-class 模型](/docs/zh-CN/model-config)生成,因此无需打开会话记录,该行就能告诉您会话正在做什么、需要什么或产出了什么。会话正在工作时,行文本最多每 15 秒根据会话自身的最近输出更新一次,不发送模型请求;每个轮次结束时,模型会写入新的摘要。
177 177
178工作中的行显示会话说它正在做什么,被阻止的行显示它提出的问题。在长回合期间,模型也大约每分钟重写一次摘要,所以繁忙的行不会继续显示过时的摘要。摘要文本填充行的剩余宽度;打开[窥视面板](#peek-and-reply)读取终端边缘裁剪的句子。178工作中的行显示会话自述正在做的事情,被阻塞的行显示它提出的问题。在较长的轮次中,模型还会每隔几分钟重写一次摘要,因此繁忙的行不会一直显示过时的摘要。摘要文本会填满行的剩余宽度;打开[窥视面板](#peek-and-reply)可阅读被终端边缘截断的句子。
179 179
180当列表[按目录分组](#organize-the-list)时,摘要以会话的状态作为彩色单词开头,例如 `Needs input · double jump or wall climb?`。在默认状态分组中,组标题已经命名了状态,所以行只显示摘要。180当列表[按目录分组](#organize-the-list)时,摘要以彩色文字显示的会话状态开头,例如 `Needs input · double jump or wall climb?`。在默认的按状态分组中,组标题已经指明了状态,因此行只显示摘要。
181 181
182结束回合摘要和每次中途重写是通过你的正常提供商的一个短 Haiku-class 请求,按与会话本身相同的[数据使用条款](/docs/zh-CN/data-usage)计费和处理。15 秒的模型重写之间的更新重用会话自己的输出,不发送请求。在没有配置 Haiku-class 模型的第三方提供商或网关上,请求使用会话的主模型;设置 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/zh-CN/model-config#environment-variables) 以选择一个。182轮次结束时的摘要和每次轮次中途的重写,都是通过您的常规提供商发送的一个简短 Haiku-class 请求,按与会话本身相同的[数据使用条款](/docs/zh-CN/data-usage)计费和处理。两次模型重写之间每 15 秒的更新复用会话自身的输出,不发送请求。在未配置 Haiku-class 模型的第三方提供商或网关上,请求改用会话的主模型;设置 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/zh-CN/model-config#environment-variables) 可选择一个模型。
183 183
184<h3 id="pull-request-status">184<h3 id="pull-request-status">
185 拉取请求状态185 拉取请求状态
186</h3>186</h3>
187 187
188当会话[打开拉取请求](#how-file-edits-are-isolated)时,Claude Code 在行的右边缘添加一个标签,链接到拉取请求:188当会话[创建拉取请求](#how-file-edits-are-isolated)时,Claude Code 会在行的右边缘添加一个链接到该拉取请求的标签:
189 189
190* Claude Code 将标签写为 `#1234` 用于拉取请求,`!1234` 用于 GitLab 合并请求。190* Claude Code 对拉取请求将标签写为 `#1234`,对 GitLab 合并请求写为 `!1234`。
191* Claude Code 即使无法检测到超链接支持(例如通过 SSH 或 tmux)也会发出链接。设置 [`FORCE_HYPERLINK=0`](/docs/zh-CN/env-vars) 将标签呈现为纯文本。191* 即使无法检测到超链接支持(例如通过 SSH 或 tmux),Claude Code 也会输出链接。设置 [`FORCE_HYPERLINK=0`](/docs/zh-CN/env-vars) 可将标签呈现为纯文本。
192* 在你向会话发送后续内容后,Claude Code 保持标签,同时行返回到实时进度。192* 在您向会话发送后续消息后,Claude Code 会保留该标签,同时行恢复显示实时进度。
193 193
194处理现有拉取请求的会话以相同方式链接到它。Claude Code 根据 Claude 运行的命令以不同方式查找拉取请求:194处理现有拉取请求的会话也会以相同方式链接到它。Claude Code 查找拉取请求的方式取决于 Claude 运行的命令:
195 195
196* 当 Claude 用 `gh` 编辑、评论、关闭或标记拉取请求为就绪时,Claude Code 链接命令自己的输出命名的拉取请求。捕获的输出不命名拉取请求的 `gh` 命令不创建链接;`gh pr merge` 是常见情况,因为它仅将其结果打印到交互式终端。196* 当 Claude 使用 `gh` 编辑、评论、关闭拉取请求或将其标记为就绪时,Claude Code 会链接该命令自身输出中指明的拉取请求。捕获的输出中未指明拉取请求的 `gh` 命令不会创建链接;`gh pr merge` 是常见情况,因为它只将结果打印到交互式终端。
197* 当 Claude 用 `gh pr checkout` 检出拉取请求或推送到分支时,Claude Code 用 `gh pr view` 查找分支并链接其打开的拉取请求。197* 当 Claude 使用 `gh pr checkout` 检出拉取请求或推送到分支时,Claude Code 会用 `gh pr view` 查找该分支,并链接其打开的拉取请求。
198* 当 Claude 推送时拉取请求不需要已存在:Claude Code 在同一目录中最多五个后续 `git`、`gh`、`glab` 或 `curl` 命令运行后重试分支查找,所以在推送后创建的拉取请求,包括 Claude 通过 GitHub REST API 创建的,在重试找到它时链接。198* Claude 推送时拉取请求不必已经存在:在同一目录中后续最多五个 `git`、`gh`、`glab` 或 `curl` 命令运行后,Claude Code 会重试分支查找,因此在推送之后创建的拉取请求,包括 Claude 通过 GitHub REST API 创建的拉取请求,会在重试找到它时被链接。
199 199
200当会话链接到多个拉取请求时,标签显示计数,例如 `3 PRs`,按最需要关注的打开拉取请求着色。打开[窥视面板](#peek-and-reply)查看它们全部。200当会话链接到多个拉取请求时,标签改为显示数量,例如 `3 PRs`,并按最需要关注的打开拉取请求着色。打开[窥视面板](#peek-and-reply)可查看全部拉取请求。
201 201
202拉取请求编号由其状态着色:202拉取请求编号按其状态着色:
203 203
204| 颜色 | 拉取请求状态 |204| 颜色 | 拉取请求状态 |
205| :- | :- |205| :- | :- |
208| 紫色 | 已合并 |208| 紫色 | 已合并 |
209| 灰色 | 草稿或已关闭 |209| 灰色 | 草稿或已关闭 |
210 210
211对于以拉取请求结束的任务,检查此标签以获取结果:当其编号变绿时审查和合并拉取请求。211对于以拉取请求结束的任务,请查看此标签了解结果:当编号变为绿色时,审查并合并该拉取请求。
212 212
213<h3 id="peek-and-reply">213<h3 id="peek-and-reply">
214 窥视和回复214 窥视和回复
215</h3>215</h3>
216 216
217在选定的行上按 `Space` 打开窥视面板。它打开时显示行截断的句子,该句子是什么取决于会话的状态:217在选中的行上按 `Space` 打开窥视面板。面板打开时会显示该行在终端边缘被截断的句子,具体是哪个句子取决于会话的状态:
218 218
219* 等待你的会话:它提出的确切问题,在回复输入上方219* 正在等待您的会话:它提出的确切问题,显示在回复输入框上方
220* 已完成的会话:其结果220* 已完成的会话:其结果
221* 工作中的会话:其完整状态句子221* 工作中的会话:其完整的状态句子
222 222
223任何链接到会话的拉取请求都列在下面。对于等待你的会话,下面的一行,例如 `waiting 3m` 显示它已经等待多长时间,这是面板中唯一显示的时间。行右边缘的年龄是一个不同的数字:它从会话启动时开始计算。223接下来列出与该会话链接的所有拉取请求。对于正在等待您的会话,其下方的一行(例如 `waiting 3m`)显示它已等待多长时间,这也是面板中显示的唯一时间。行右边缘的时长是另一个数字:它从会话启动时开始计算。
224 224
225大多数时候窥视面板就足够了,你不需要打开完整的记录。225大多数时候窥视面板就足够了,您无需打开完整的会话记录。
226 226
227在窥视面板中输入回复并按 `Enter` 将其发送到该会话。在回复前加上 `!` 可改为发送 Bash 命令。回复的处理方式取决于会话以及您发送的内容:227在窥视面板中输入回复并按 `Enter` 将其发送到该会话。在回复前加上 `!` 可改为发送 Bash 命令。回复的处理方式取决于会话以及您发送的内容:
228 228
236* 没有预定义选项的问题:输入您的答案。当空输入框显示建议的回复时,按 `Tab` 将其填入,并可在发送前编辑236* 没有预定义选项的问题:输入您的答案。当空输入框显示建议的回复时,按 `Tab` 将其填入,并可在发送前编辑
237* 权限提示或其他对话框,例如[沙箱](/docs/zh-CN/sandboxing)提示或 MCP 服务器的[输入请求](/docs/zh-CN/mcp#respond-to-mcp-elicitation-requests):回复并不会回答它。您的回复会在队列中等待。要回答该对话框,请用 `→` 附加237* 权限提示或其他对话框,例如[沙箱](/docs/zh-CN/sandboxing)提示或 MCP 服务器的[输入请求](/docs/zh-CN/mcp#respond-to-mcp-elicitation-requests):回复并不会回答它。您的回复会在队列中等待。要回答该对话框,请用 `→` 附加
238 238
239当 [`PermissionRequest`](/docs/zh-CN/hooks#permissionrequest) 或 [`PreToolUse`](/docs/zh-CN/hooks#pretooluse) hook 返回 Claude Code 无法为会话询问的调用验证的输出时,行显示 hook 事件和 `hook output invalid:` 以及验证错误,然后是待处理请求的文本。对于以其他方式失败的 hook,行说 hook 失败。会话仍然等待相同的请求。239当 [`PermissionRequest`](/docs/zh-CN/hooks#permissionrequest) 或 [`PreToolUse`](/docs/zh-CN/hooks#pretooluse) hook 针对会话正在询问的调用返回了 Claude Code 无法验证的输出时,该行会在待处理请求的文本之前显示 hook 事件以及 `hook output invalid:` 和验证错误。对于以其他方式失败的 hook,该行会说明 hook 失败。会话仍在等待同一个请求。
240 240
241无法传递的回复,因为后台服务无法访问或发送失败,会被保存并在其进程再次启动时作为其下一个提示发送到会话,错误消息说回复已保存。前缀为 `!` 的回复不会被保存,因为保存的文本会作为纯提示而不是 Bash 命令到达会话。241由于后台服务无法访问或发送失败而无法送达的回复会被保存,并在会话进程再次启动时作为其下一个提示词发送给会话,错误消息会说明回复已保存。以 `!` 开头的回复不会被保存,因为保存的文本会以普通提示词而不是 Bash 命令的形式送达会话。
242 242
243启用[语音听写](/docs/zh-CN/voice-dictation)后,在回复输入获得焦点时按住或点击你的推送通话键以听写回复而不是输入。同样的功能在 agent view 底部的调度输入中也有效。243在[按住模式](/docs/zh-CN/voice-dictation#hold-to-record)下启用[语音听写](/docs/zh-CN/voice-dictation)后,在回复输入框获得焦点时按住您的按键通话键,即可通过听写而非键入来回复。agent view 底部的分派输入框中也同样适用。
244 244
245使用 `↑` 和 `↓` 窥视相邻会话而不关闭面板,或 `→` 附加。245使用 `↑` 和 `↓` 窥视相邻会话而无需关闭面板,或按 `→` 附加。
246 246
247<h3 id="attach-to-a-session">247<h3 id="attach-to-a-session">
248 附加到会话248 附加到会话
249</h3>249</h3>
250 250
251在选定的行上按 `Enter` 或 `→` 附加。Agent view 被完整的交互式会话替换。当你附加时,Claude 发布一个关于你离开时发生的事情的简短回顾。251在选中的行上按 `Enter` 或 `→` 即可附加。agent view 会被完整的交互式会话取代。附加时,Claude 会发布一段简短回顾,说明您离开期间发生了什么。
252 252
253附加时,会话的行为像任何其他 Claude Code 会话:[命令](/docs/zh-CN/commands)、快捷键和功能都有效,除了下面的例外。253附加后,会话的行为与任何其他 Claude Code 会话相同:[命令](/docs/zh-CN/commands)、快捷键和功能都可正常使用,但以下情况除外。
254 254
255当你附加时,`/install-github-app` 和 [`/mcp`](/docs/zh-CN/mcp) 设置列表正常工作,因为终端上有人可以完成它们的对话。当没有人附加时,这些命令无法打开它们的对话,所以会话在 agent view 中显示在 `Needs input` 下,行如 `open this session to manage MCP servers`,记录回复说相同的内容。附加并再次运行命令以继续;当你附加时需要输入的行清除。`/mcp reconnect <server>`、`/mcp enable` 和 `/mcp disable` 无论哪种方式都无需附加即可工作。255附加后,`/install-github-app` 和 [`/mcp`](/docs/zh-CN/mcp) 设置列表可正常使用,因为终端前有人可以完成它们的对话框。没有人附加时,这些命令无法打开对话框,因此会话会出现在 agent view 的 `Needs input` 下,行中显示类似 `open this session to manage MCP servers` 的内容,会话记录中的回复也会说明同样的情况。附加并再次运行该命令即可继续;附加时需要输入的行会被清除。`/mcp reconnect <server>`、`/mcp enable` 和 `/mcp disable` 无论是否附加都可使用。
256 256
257附加的会话始终以[全屏模式](/docs/zh-CN/fullscreen)呈现,无论你的 `tui` 设置如何,因为后台会话没有终端滚动历史可追加。使用 `PgUp`、`PgDn` 或鼠标滚轮滚动,按 `Ctrl+O` 进入记录模式。你的终端的原生滚动和 tmux 复制模式仅显示当前视口,与运行任何全屏应用程序时相同。257附加的会话始终以[全屏模式](/docs/zh-CN/fullscreen)呈现,不受您的 `tui` 设置影响,因为后台会话没有可追加内容的终端回滚缓冲区。使用 `PgUp`、`PgDn` 或鼠标滚轮滚动,按 `Ctrl+O` 进入会话记录模式。终端的原生滚动和 tmux 复制模式仅显示当前视口,与运行任何全屏应用程序时相同。
258 258
259在空提示上按 `←` 或运行 `/exit` 分离并返回 agent view,无论你从 agent view 打开会话还是从 shell 用 `claude attach <id>` 运行。259在空提示符上按 `←` 或运行 `/exit` 即可分离并返回 agent view,无论您是从 agent view 打开会话,还是从 shell 用 `claude attach <id>` 打开的。
260 260
261当 [`/btw` overlay](/docs/zh-CN/interactive-mode#side-questions-with-%2Fbtw) 打开时,`←` 也分离。需要 Claude Code v2.1.257 或更高版本。仍在回答的侧问题在你离开时继续运行。下次你附加时,overlay 会重新打开它,或带有它的答案。261[`/btw` overlay](/docs/zh-CN/interactive-mode#side-questions-with-%2Fbtw) 打开时,`←` 也可以分离。需要 Claude Code v2.1.257 或更高版本。仍在回答中的旁支问题会在您离开期间继续运行。下次附加时,overlay 会重新打开并显示该问题或其答案。
262 262
263在 Windows 上,如果你在附加后约半秒内按 `←`,Claude Code 显示 `Ambiguous ←, press again to detach`,因为在该窗口中终端可以重新传递附加前的按压。再按一次 `←` 以分离。263在 Windows 上,如果您在附加后约半秒内按 `←`,Claude Code 会显示 `Ambiguous ←, press again to detach`,因为在这段时间内终端可能会重新传递附加之前的按键。再按一次 `←` 即可分离。
264 264
265`Ctrl+Z` 也分离但返回到你开始的地方:如果你从那里附加则返回 agent view,或如果你运行了 `claude attach` 则返回你的 shell。当对话有焦点且不响应 `←` 时使用 `Ctrl+Z`。265`Ctrl+Z` 也会分离,但会返回到您开始的地方:如果您从 agent view 附加则返回 agent view,如果您运行的是 `claude attach` 则返回 shell。当对话框获得焦点且不响应 `←` 时,请使用 `Ctrl+Z`。
266 266
267`Ctrl+C` 在附加时保持其标准中断行为:它取消运行中的响应或 `!` shell 命令,而不是分离。在空提示上按两次 `Ctrl+C` 分离,与任何会话中的相同。267附加时 `Ctrl+C` 保持其标准中断行为:它会取消正在进行的回复或 `!` shell 命令,而不是分离。在空提示符上按两次 `Ctrl+C` 会分离,与在任何会话中相同。
268 268
269分离永远不会停止后台会话:`←`、`Ctrl+Z`、`/exit` 和双 `Ctrl+C` 或双 `Ctrl+D` 都让它运行。要从内部结束会话,运行 `/stop`。269分离永远不会停止后台会话:`←`、`Ctrl+Z`、`/exit` 以及连按两次 `Ctrl+C` 或 `Ctrl+D` 都会让它继续运行。要从会话内部结束会话,请运行 `/stop`。
270 270
271<h4 id="switch-sessions-without-leaving-the-terminal">271<h4 id="switch-sessions-without-leaving-the-terminal">
272 在不离开终端的情况下切换会话272 在不离开终端的情况下切换会话
273</h4>273</h4>
274 274
275在前台运行的会话中,一个你在终端中启动的而不是从 agent view 附加的,在空提示上按 `←` 会后台它并打开 agent view,该行被选中,所以你可以在不离开终端的情况下切换会话。同样的单次按压分离附加的会话。275在前台运行的会话中(即您在终端中启动、而非从 agent view 附加的会话),在空提示符上按 `←` 会将其转入后台并打开 agent view,同时选中该会话的行,因此您无需离开终端即可切换会话。对于已附加的会话,同样按一次即可分离。
276 276
277如果你在删除提示的最后文本或通过提示历史移动后立即按 `←`,Claude Code 会要求你确认:第一次按压显示 `Press ← again to open agents`,或在附加的会话中显示 `Press ← again to go back to agents`,第二次按压切换。277如果您在删除提示符中最后的文本或浏览提示历史后立即按 `←`,Claude Code 会要求您确认:第一次按下显示 `Press ← again to open agents`(在已附加的会话中显示 `Press ← again to go back to agents`),第二次按下才会切换。
278 278
279当 `←` 后台前台会话时,agent view 显示 `Your conversation moved to the background` 在列表上方,该会话的行已被选中。从那里:279当 `←` 将前台会话转入后台时,agent view 会在列表上方显示 `Your conversation moved to the background`,并已选中该会话的行。接下来:
280 280
281* 按 `Enter` 重新打开对话。281* 按 `Enter` 重新打开对话。
282* 按 `Esc` 撤销切换并返回对话。如果 `Esc` 显示 `Still starting — try again in a moment`,后台会话还没有准备好,所以稍后再按一次 `Esc`。282* 按 `Esc` 撤销切换并返回对话。如果 `Esc` 显示 `Still starting — try again in a moment`,说明后台会话尚未就绪,请稍后再按一次 `Esc`。
283* 按 `Ctrl+C` 两次以退出到你的 shell。283* 按两次 `Ctrl+C` 退出到 shell。
284 284
285当 Claude Code 无法重新打开对话时,它退出并打印一个 `claude --resume` 命令来恢复它。285当 Claude Code 无法重新打开对话时,它会退出并打印一条可恢复该对话的 `claude --resume` 命令。
286 286
287[Claude 的任务列表](/docs/zh-CN/interactive-mode#task-list)随对话移动到后台会话,所以当你返回该行时清单是完整的。287[Claude 的任务列表](/docs/zh-CN/interactive-mode#task-list)会随对话移到后台会话,因此当您返回该行时,清单保持完整。
288 288
289你按 `←` 的行也在你用箭头键或鼠标移动选择后保持粗体、未暗淡的名称,所以你可以告诉你来自哪个会话。289在您用方向键或鼠标移动选择后,您按下 `←` 时所在的行仍会保持粗体、不暗淡的名称,便于您辨认自己来自哪个会话。
290 290
291如果在你按 `←` 时工具正在运行,Claude Code 会等待大约十秒钟让它完成后台,响应在后台会话中继续。再按一次 `←` 以立即后台而不是等待。当进行中的工作无法转移到后台会话时,Claude Code 首先显示 `Background this session?` 对话,与 [`/background`](#from-inside-a-session) 相同。291如果按 `←` 时有工具正在运行,Claude Code 会最多等待约十秒让其完成后再转入后台,Claude 会在后台会话中继续回复。再按一次 `←` 可立即转入后台而不等待。当进行中的工作无法转移到后台会话时,Claude Code 会先显示 `Background this session?` 对话框,与 [`/background`](#from-inside-a-session) 相同。
292 292
293十秒限制在[前台 subagents](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background) Claude 在对话中启动的仍在运行时不适用。Claude Code 继续等待以便它们的工作转移,并在等待时显示 `Still backgrounding after the current tool` 通知。再按一次 `←` 以立即后台而不等待,这会从头重新启动这些 subagents。Claude Code 不等待[动态工作流](/docs/zh-CN/workflows)正在运行的 subagents。当工作流有 subagents 运行时,Claude Code 显示 `Background this session?` 对话。293当 Claude 在对话中启动的[前台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background)仍在运行时,十秒限制不适用。Claude Code 会继续等待以便转移它们的工作,并在等待期间显示 `Still backgrounding after the current tool` 通知。再按一次 `←` 可不等待直接转入后台,这会从头重新启动这些子代理。Claude Code 不会等待[动态工作流](/docs/zh-CN/workflows)正在运行的子代理。当工作流有子代理正在运行时,Claude Code 会改为显示 `Background this session?` 对话框。
294 294
295Claude Code 不会在你的提示输入中有未发送的文本时后台会话,因为文本会留在你的终端输入框中,不会移动到后台会话。如果你在 Claude Code 等待后台会话时输入到输入中,它会用 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` 取消切换。295当提示输入框中有未发送的文本时,Claude Code 不会将会话转入后台,因为这些文本会留在终端的输入框中,不会移到后台会话。如果您在 Claude Code 等待转入后台期间在输入框中输入内容,它会取消切换并显示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`
296 296
297按 `←` 创建会话的行,即使对话还没有消息,所以 `→` 仍然返回到它。297即使对话还没有任何消息,按 `←` 也会创建该会话的行,因此 `→` 仍可返回该会话。
298 298
299你可以在 `/config` 中用 [`leftArrowOpensAgents`](/docs/zh-CN/settings-reference#leftarrowopensagents) 设置关闭此快捷键。299您可以在 `/config` 中通过 [`leftArrowOpensAgents`](/docs/zh-CN/settings-reference#leftarrowopensagents) 设置为前台会话关闭此快捷键。
300 300
301<h3 id="organize-the-list">301<h3 id="organize-the-list">
302 组织列表302 组织列表
303</h3>303</h3>
304 304
305Agent view 按状态分组会话,需要输入的会话在顶部,`Ready for review` 和 `Needs input` 在 `Working` 和 `Completed` 上方。这些组名不与上面的[状态](#read-session-state)一一对应:当会话有打开的拉取请求时,它移动到 `Ready for review`,`Completed` 收集已完成、失败和已停止的会话。305agent view 对会话进行分组,使需要输入的会话位于顶部,`Ready for review` 和 `Needs input` 位于 `Working` 和 `Completed` 之上。这些组名与上面的[状态](#read-session-state)并非一一对应:会话有需要审查或检查失败的打开拉取请求时会移到 `Ready for review`,而 `Completed` 会同时收纳已完成、失败和已停止的会话。
306 306
307按 `Ctrl+S` 改为按目录分组。你的选择在运行中保存。307按 `Ctrl+S` 可改为按目录分组。您的选择会在多次运行之间保留。
308 308
309在一个组内:309在一个组内:
310 310
311* 按 `Ctrl+T` 将会话固定到顶部并[在空闲时保持其进程运行](#the-supervisor-process)311* 按 `Ctrl+T` 将会话固定到顶部,并[在空闲时保持其进程运行](#the-supervisor-process)
312* 按 `Shift+↑` 或 `Shift+↓` 重新排序会话312* 按 `Shift+↑` 或 `Shift+↓` 重新排序会话
313* 按 `Ctrl+R` 重命名会话313* 按 `Ctrl+R` 重命名会话
314* 在组标题上按 `Enter` 将其折叠,但[过滤](#filter-sessions)处于活动状态时除外,此时所有组都保持展开314* 在组标题上按 `Enter` 将其折叠,但[过滤器](#filter-sessions)处于活动状态时除外,此时所有组都保持展开
315 315
316要从列表中删除会话,按 `Ctrl+X` 停止它,在两秒内再按 `Ctrl+X` 删除它。在组标题上按 `Ctrl+X` 在确认后删除该组中的每个会话。316要从列表中移除会话,按 `Ctrl+X` 停止它,并在两秒内再按一次 `Ctrl+X` 删除它。在组标题上按 `Ctrl+X` 会在确认后删除该组中的所有会话。
317 317
318第二次按压删除会话,即使停止尝试失败,例如因为[后台服务没有响应](#agent-view-says-the-background-service-did-not-respond):确认保持活跃另外两秒,删除结束会话的进程本身。按 `Esc` 关闭确认而不删除。318即使停止尝试失败(例如因为[后台服务没有响应](#agent-view-says-the-background-service-did-not-respond)),第二次按下也会删除会话:确认状态会再保持两秒,删除操作会自行结束会话的进程。按 `Esc` 可关闭确认而不删除。
319 319
320除了[删除会话删除什么](#what-deleting-a-session-removes)中涵盖的保留情况外,删除会从列表中删除会话,Claude 为其创建的 worktree 会被删除、保留或留在原地,取决于你如何删除以及 worktree 保留什么。对话记录始终保留在你的本地机器上,可通过 `claude --resume` 访问。320除了[删除会话会移除什么](#what-deleting-a-session-removes)中所述的保留情况外,删除会将会话从列表中移除,而 Claude 为其创建的 worktree 会被移除、保留或留在原处,具体取决于您的删除方式以及 worktree 中的内容。对话会话记录始终保留在您的本地机器上,可通过 `claude --resume` 访问。
321 321
322要在 Claude Code v2.1.212 或更高版本上恢复会话,在调度输入中输入 `/resume`。一个选择器打开,显示你打开 agent view 的存储库的过去会话,最新的在前,包括你从列表中删除的会话;已有行的会话不会列出。`↑`/`↓` 移动选择,`Enter` 恢复选定的会话作为后台会话,所以它重新加入列表作为行,`Esc` 关闭选择器。322在 Claude Code v2.1.212 或更高版本上,要恢复会话,请在分派输入框中输入 `/resume`。此时会打开一个选择器,按从新到旧的顺序列出您打开 agent view 所在仓库的过往会话,包括您从列表中删除的会话;已有行的会话不会列出。`↑`/`↓` 移动选择,`Enter` 将选中的会话作为后台会话恢复,使其以行的形式重新加入列表,`Esc` 关闭选择器。
323 323
324选择器仅对裸 `/resume` 打开。有针对性的、作用域的或受限的恢复无法由选择器提供,所以当以下情况时 agent view 显示 `attach to a session to run it` 提示:324选择器仅在输入不带参数的 `/resume` 时打开。指定目标、限定范围或受限制的恢复无法通过选择器完成,因此在以下情况下,agent view 会改为显示 `attach to a session to run it` 提示:
325 325
326* `/resume` 命名一个 id 或搜索项326* `/resume` 指定了 id 或搜索词
327* 视图用 `--cwd` 作用域327* 视图通过 `--cwd` 限定了范围
328* 视图用 [`--safe-mode`](/docs/zh-CN/cli-reference#cli-flags) 启动328* 视图以 [`--safe-mode`](/docs/zh-CN/cli-reference#cli-flags) 启动
329* 视图用 `--permission-mode` 或 `--settings` 等标志打开329* 视图以 `--permission-mode` 或 `--settings` 等标志打开
330 330
331不适合屏幕的已完成会话折叠成 `… N more` 行。失败和有打开拉取请求的会话始终保持可见。`Completed` 组填充活跃组之后剩余的垂直空间,在短终端上标题压缩为单个摘要行,以便正在工作或需要输入的会话保持可见。331屏幕容纳不下的已完成会话会折叠成一行 `… N more`。`Completed` 组会填满活跃组之后剩余的垂直空间;在较矮的终端上,标题会压缩为单行摘要,以便正在工作或需要输入的会话保持可见。
332 332
333<h3 id="filter-sessions">333<h3 id="filter-sessions">
334 过滤会话334 过滤会话
335</h3>335</h3>
336 336
337在调度输入框开头输入以下过滤器之一,即可在输入时缩小列表范围:337在分派输入框开头输入以下过滤器之一,即可在输入时缩小列表范围:
338 338
339| 过滤 | 显示 |339| 过滤器 | 显示 |
340| :- | :- |340| :- | :- |
341| `a:<name>` | 运行命名代理的会话 |341| `a:<name>` | 运行指定 Agent 的会话 |
342| `s:<state>` | 处于给定状态的会话,例如 `s:working`,或位于给定组标题下的会话,例如 `s:ready` 对应 `Ready for review`。`s:blocked` 列出所有正在等待您的会话 |342| `s:<state>` | 处于给定状态的会话,例如 `s:working`,或位于给定组标题下的会话,例如 `s:ready` 对应 `Ready for review`。`s:blocked` 列出所有正在等待您的会话 |
343| `n:<text>` | 名称或第一个提示词包含该文本的会话,例如 `n:login`。需要 Claude Code v2.1.287 或更高版本 |343| `n:<text>` | 名称或第一个提示词包含该文本的会话,例如 `n:login`。需要 Claude Code v2.1.287 或更高版本 |
344| `o:<text>` | 结果包含该文本的会话,例如 `o:merged`。单独的 `o:` 会列出所有已报告结果的会话 |344| `o:<text>` | 结果包含该文本的会话,例如 `o:merged`。单独的 `o:` 会列出所有已报告结果的会话 |
345| 拉取请求或合并请求编号(例如 `#1234`)或其 URL | 正在处理该拉取请求或合并请求的会话 |345| 拉取请求或合并请求编号(例如 `#1234`)或其 URL | 正在处理该拉取请求或合并请求的会话 |
346| 任何其他 URL | 其第一个提示包含该 URL 的会话 |346| 任何其他 URL | 第一个提示词包含该 URL 的会话 |
347 347
348要组合过滤器,请以 `a:`、`s:`、`n:` 或 `o:` 开头,再添加更多过滤器,以空格分隔。列表会显示同时匹配所有过滤器的会话。例如,`s:blocked a:reviewer` 会列出正在等待您的 `reviewer` 会话。348要组合过滤器,请以 `a:`、`s:`、`n:` 或 `o:` 开头,再添加更多过滤器,以空格分隔。列表会显示同时匹配所有过滤器的会话。例如,`s:blocked a:reviewer` 会列出正在等待您的 `reviewer` 会话。
349 349
353 快捷键353 快捷键
354</h3>354</h3>
355 355
356在 agent view 中按 `?` 查看每个快捷键的上下文。下表总结了它们。356在 agent view 中按 `?` 可在上下文中查看快捷键。下表对其进行了汇总。
357 357
358| 快捷键 | 操作 |358| 快捷键 | 操作 |
359| :- | :- |359| :- | :- |
362| `Home` / `End` | 跳到第一行或最后一行 |362| `Home` / `End` | 跳到第一行或最后一行 |
363| `Enter` | 附加到选定的会话;如果输入框中的文本不是[过滤器](#filter-sessions),则提交该文本 |363| `Enter` | 附加到选定的会话;如果输入框中的文本不是[过滤器](#filter-sessions),则提交该文本 |
364| `Space` | 打开或关闭选定会话的窥视面板 |364| `Space` | 打开或关闭选定会话的窥视面板 |
365| `Shift+Enter` | 在调度输入中插入换行符,[如在主提示中](/docs/zh-CN/terminal-config#enter-multiline-prompts) |365| `Shift+Enter` | 在分派输入框中插入换行符,[与主提示输入框相同](/docs/zh-CN/terminal-config#enter-multiline-prompts) |
366| `Ctrl+Enter` | 调度并立即附加,在终端中 `?` overlay 列出 `ctrl+enter to start and open` |366| `Ctrl+Enter` | 分派并立即附加,适用于 `?` overlay 中列出 `ctrl+enter to start and open` 的终端 |
367| `→` | 附加到选定的会话 |367| `→` | 附加到选定的会话 |
368| `Alt+1`..`Alt+9` | 附加到焦点会话目录中的第 1–9 个会话 |368| `Alt+1`..`Alt+9` | 附加到焦点会话所在目录中的第 1–9 个会话 |
369| `Tab` | 在空输入上浏览所有 subagents。否则应用突出显示的建议 |369| `Tab` | 输入框为空时,浏览所有子代理。否则应用突出显示的建议 |
370| `Ctrl+S` | 在状态和目录之间切换分组 |370| `Ctrl+S` | 在按状态和按目录分组之间切换 |
371| `Ctrl+T` | 固定或取消固定选定的会话 |371| `Ctrl+T` | 固定或取消固定选定的会话 |
372| `Ctrl+F` | 使用 [`n:` 过滤器](#filter-sessions)按名称查找会话 |372| `Ctrl+F` | 使用 [`n:` 过滤器](#filter-sessions)按名称查找会话 |
373| `Alt+↑` / `Alt+↓` | 跳到上一个或下一个组标题 |373| `Alt+↑` / `Alt+↓` | 跳到上一个或下一个组标题 |
374| `Ctrl+R` | 重命名选定的会话 |374| `Ctrl+R` | 重命名选定的会话 |
375| `Ctrl+G` | 在你的 `$VISUAL` 或 `$EDITOR` 中打开调度提示 |375| `Ctrl+G` | 在您的 `$VISUAL` 或 `$EDITOR` 中打开分派提示词 |
376| `Ctrl+J` | 在调度输入中插入换行符 |376| `Ctrl+J` | 在分派输入框中插入换行符 |
377| `Ctrl+X` | 停止会话;在两秒内再按一次删除它 |377| `Ctrl+X` | 停止会话;在两秒内再按一次即可删除 |
378| `Shift+↑` / `Shift+↓` | 重新排序选定的会话 |378| `Shift+↑` / `Shift+↓` | 重新排序选定的会话 |
379| `Esc` | 关闭窥视面板、清除输入或退出。当你通过用 `←` 后台会话打开 agent view 时,最后的 `Esc` 返回该对话而不是退出。启用[vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在输入中按 `Esc` 从 INSERT 切换到 NORMAL 模式并保留你的文本,如在主提示中 |379| `Esc` | 关闭窥视面板、清空输入框或退出。当您通过用 `←` 将会话转入后台而打开 agent view 时,最后一次 `Esc` 会返回该对话而不是退出。启用 [vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在输入框中按 `Esc` 会从 INSERT 模式切换到 NORMAL 模式并保留您的文本,与主提示输入框相同 |
380| `Ctrl+C` | 清除输入;按两次退出 |380| `Ctrl+C` | 清空输入框;按两次退出 |
381| `?` | 显示所有快捷键 |381| `?` | 显示快捷键 |
382 382
383在 [`Agents` 上下文](/docs/zh-CN/keybindings#agents-actions)中有对应操作的快捷键遵循您的 [`keybindings.json`](/docs/zh-CN/keybindings)。`Ctrl+G` 也是如此,它通过 `Chat` 上下文的 `chat:externalEditor` 绑定进行配置。383在 [`Agents` 上下文](/docs/zh-CN/keybindings#agents-actions)中有对应操作的快捷键遵循您的 [`keybindings.json`](/docs/zh-CN/keybindings)。`Ctrl+G` 也是如此,它通过 `Chat` 上下文的 `chat:externalEditor` 绑定进行配置。
384 384
385<h2 id="dispatch-new-agents">385<h2 id="dispatch-new-agents">
386 分派新的 agents386 分派新的 Agent
387</h2>387</h2>
388 388
389您可以从 agent 视图分派新的后台会话,将现有的交互式会话发送或复制到后台,或直接从 shell 启动一个。389您可以从 Agent 视图分派新的后台会话,将现有的交互式会话发送或复制到后台,或直接从 shell 启动一个。
390 390
391<h3 id="from-agent-view">391<h3 id="from-agent-view">
392 从 agent 视图392 从 Agent 视图
393</h3>393</h3>
394 394
395在 agent 视图底部的输入框中输入提示,然后按 `Enter` 启动新的后台会话。会话会根据提示自动命名;稍后可以使用 `Ctrl+R` 重命名。395在 Agent 视图底部的输入框中输入提示词,然后按 `Enter` 启动新的后台会话。会话会根据提示词自动命名;稍后可以使用 `Ctrl+R` 重命名。
396 396
397自动名称是由 [Haiku-class model](/docs/zh-CN/model-config) 生成的简短标签。会话稍后获得的名称也会显示在其行上,包括当您在该会话中 [接受计划](/docs/zh-CN/permission-modes#review-and-approve-a-plan) 时会话获得的 [生成的标题](/docs/zh-CN/sessions#name-your-sessions)。397自动名称是由 [Haiku 级模型](/docs/zh-CN/model-config) 生成的简短标签。会话稍后获得的名称也会显示在其行上,包括当您在该会话中 [接受计划](/docs/zh-CN/permission-modes#review-and-approve-a-plan) 时会话获得的 [生成的标题](/docs/zh-CN/sessions#name-your-sessions)。
398 398
399将图像粘贴到提示中以包含屏幕截图或图表与任务。399将图像粘贴到提示词中,即可随任务附上屏幕截图或图表。
400 400
401粘贴的文本超过 800 个字符或超过三行时会折叠为 `[Pasted text #N]` 占位符,以便输入保持在一行;完整文本在您分派时发送。要在分派前查看或编辑折叠的文本,请再次粘贴相同的文本,占位符会展开回输入框。401粘贴的文本超过 800 个字符或超过三行时会折叠为 `[Pasted text #N]` 占位符,以便输入保持在一行;完整文本在您分派时发送。要在分派前查看或编辑折叠的文本,请再次粘贴相同的文本,占位符会展开回输入框。
402 402
403在提示的前缀或提及部分来控制会话如何启动:403通过为提示词添加前缀或在其中提及特定内容来控制会话如何启动:
404 404
405| 输入 | 效果 |405| 输入 | 效果 |
406| :- | :- |406| :- | :- |
407| `<agent-name> <prompt>` | 如果第一个单词与自定义 [subagent](/docs/zh-CN/sub-agents) 名称匹配,该 subagent 将作为会话的主 agent 运行,使用其 frontmatter 中的配置 |407| `<agent-name> <prompt>` | 如果第一个单词与自定义 [子代理](/docs/zh-CN/sub-agents) 名称匹配,该子代理将作为会话的主 Agent 运行,使用其 frontmatter 中的配置 |
408| `@<agent-name>` | 在提示中的任何位置提及自定义 subagent 以将其作为主 agent 运行 |408| `@<agent-name>` | 在提示词中的任何位置提及自定义子代理,以将其作为主 Agent 运行 |
409| `@<repo>` | 提及一个存储库以在该处运行会话。请参阅 [分派到特定目录](#dispatch-to-a-specific-directory) 了解列出了哪些存储库 |409| `@<repo>` | 提及一个仓库以在该处运行会话。请参阅 [分派到特定目录](#dispatch-to-a-specific-directory) 了解会列出哪些仓库 |
410| `/<command>` | 建议 [skills](/docs/zh-CN/skills) 和 [commands](/docs/zh-CN/commands) 作为提示分派 |410| `/<command>` | 建议可作为提示词分派的 [skill](/docs/zh-CN/skills) 和 [命令](/docs/zh-CN/commands) |
411| `! <command>` | 运行 shell 命令作为后台作业,而不是启动 Claude 会话。该作业显示为一行,您可以附加到、观看和分离 |411| `! <command>` | 将 shell 命令作为后台作业运行,而不是启动 Claude 会话。该作业显示为一行,您可以附加到它、观察它并从中分离 |
412| `#<number>` 或 pull 或 merge request URL | 如果会话已在处理该 pull request 或 merge request,Claude Code 会选择其行而不是分派新会话 |412| `#<number>` 或 Pull Request/合并请求 URL | 如果已有会话在处理该 Pull Request 或 merge request,Claude Code 会选中其行,而不是分派新会话 |
413 413
414一小组命令在 agent 视图本身中运行,而不是分派:414有一小组命令在 Agent 视图本身中运行,而不是分派:
415 415
416* `/exit` 和 `/quit` 关闭 agent 视图416* `/exit` 和 `/quit` 关闭 Agent 视图
417* `/logout` 将您登出417* `/logout` 将您注销
418* `/model` 设置 [分派模型](#set-the-model)418* `/model` 设置 [分派模型](#set-the-model)
419* `/login` 打开登录对话框,以便您可以重新登录而无需附加到会话419* `/login` 打开登录对话框,以便您无需附加到会话即可重新登录
420* 裸 `/resume` 或其 `/continue` 别名打开存储库过去会话的选择器,以 [恢复一个](#organize-the-list) 作为后台会话。需要 Claude Code v2.1.212 或更高版本420* 不带参数的 `/resume` 或其别名 `/continue` 会打开该仓库过去会话的选择器,以将其中一个作为后台会话 [恢复](#organize-the-list)。需要 Claude Code v2.1.212 或更高版本
421 421
422Skills、您自己的命令和提示扩展内置命令(如 `/init`)作为其第一个提示发送到新的后台会话。其他内置命令显示 `attach to a session to run it` 提示。您输入的所有内容都保留在提示旁边的输入中,以便您可以编辑。422Skill、您自己的命令以及会展开为提示词的内置命令(如 `/init`)会作为第一条提示词发送到新的后台会话。其他内置命令则显示 `attach to a session to run it` 提示。您输入的所有内容都会保留在该提示旁边的输入框中,以便您进行编辑。
423 423
424将重复任务打包为 [skill](/docs/zh-CN/skills) 可让您从 agent 视图重复启动相同的工作流,而无需重新输入提示。424将重复任务打包为 [skill](/docs/zh-CN/skills),即可从 Agent 视图反复启动相同的工作流,而无需重新输入提示词。
425 425
426当相同的 `@name` 同时匹配 subagent 和同级存储库时,subagent 优先。裸第一个单词匹配也适用,因此恰好以您的 subagent 名称之一开头的提示会分派该 subagent,而不是将该单词视为纯文本。当您想要明确时使用 `@` 形式,或以不同的单词开头提示以避免匹配。426当同一个 `@name` 同时匹配子代理和同级仓库时,子代理优先。不带 `@` 的第一个单词匹配同样适用,因此恰好以您某个子代理名称开头的提示词会分派该子代理,而不是将该单词视为纯文本。想要明确指定时请使用 `@` 形式,或以其他单词开头来避免匹配。
427 427
428<h4 id="dispatch-to-a-specific-directory">428<h4 id="dispatch-to-a-specific-directory">
429 分派到特定目录429 分派到特定目录
430</h4>430</h4>
431 431
432新会话在您打开 agent 视图的目录中运行。要针对不同的目录,请使用以下任何一种:432新会话在您打开 Agent 视图的目录中运行。要指定其他目录,请使用以下任一方式:
433 433
434* 在该目录中打开 `claude agents`。434* 在该目录中打开 `claude agents`。
435* 在父目录中打开 `claude agents` 并在提示中使用 `@<repo>` 提及子存储库。输入 `@` 列出这些目标:435* 在父目录中打开 `claude agents`,并在提示词中使用 `@<repo>` 提及子仓库。输入 `@` 会列出这些目标:
436 436
437 * 启动目录下一级的 Git 存储库437 * 启动目录下一级的 Git 仓库
438 * 您启动的存储库的已注册 [git worktrees](/docs/zh-CN/worktrees),位于其目录树内,例如 Claude 在 `.claude/worktrees/` 下创建的,标记有其检出的分支。在存储库外添加的 Worktrees,例如使用 `git worktree add ../feature`,不会列出438 * 您启动时所在仓库已注册的、位于其目录树内的 [git worktree](/docs/zh-CN/worktrees),例如 Claude 在 `.claude/worktrees/` 下创建的 worktree,并标注其检出的分支。在仓库外添加的 worktree(例如使用 `git worktree add ../feature` 添加的)不会列出
439 * 列表中已有会话的任何目录439 * 列表中已有会话的任何目录
440 440
441 名称包含空格的目录不会列出。441 名称包含空格的目录不会列出。
442* 从 shell,`cd` 进入目录并运行 `claude --bg "<prompt>"`。442* 从 shell 中 `cd` 进入该目录并运行 `claude --bg "<prompt>"`。
443 443
444当 agent 视图按目录分组时,分派会将提示发送到所选行的目录,因此您可以选择一个组并分派到其中,而无需重新输入路径。444当 Agent 视图按目录分组时,分派会将提示词发送到所选行的目录,因此您可以选择一个分组并分派到其中,而无需重新输入路径。
445 445
446<h3 id="from-inside-a-session">446<h3 id="from-inside-a-session">
447 从会话内部447 从会话内部
448</h3>448</h3>
449 449
450两个命令将工作从您所在的会话移到后台:`/background` 将当前对话发送到那里并释放您的终端,`/fork` 发送一个副本,同时您继续在原处工作。450有两个命令可将工作从您所在的会话移到后台:`/background` 将当前对话发送到后台并释放您的终端,`/fork` 则发送一个副本,同时您继续在原处工作。
451 451
452<h4 id="send-the-session-to-the-background">452<h4 id="send-the-session-to-the-background">
453 将会话发送到后台453 将会话发送到后台
454</h4>454</h4>
455 455
456运行 `/background` 或其别名 `/bg` 将当前对话移到后台会话。传递一个提示,例如 `/bg run the test suite and fix any failures` 以首先给出一个更多指令。如果您运行 `/bg` 时 Claude 正在响应,响应会在后台会话中继续。456运行 `/background` 或其别名 `/bg` 将当前对话移到后台会话。传递一个提示词,例如 `/bg run the test suite and fix any failures`,可以先再给出一条指令。如果您运行 `/bg` 时 Claude 正在回复,回复会在后台会话中继续。
457 457
458退出仍有后台工作运行的会话(例如 subagents、后台 shell 命令、工作流或 [monitors](/docs/zh-CN/tools-reference#monitor-tool))会显示 `Background work is running` 对话框,而不是立即退出。选择 `Move to background and exit` 以与 `/background` 相同的方式将会话移到后台并返回到您的 shell。当 agent 视图 [关闭](#turn-off-agent-view) 时不显示该选项。458退出仍有后台工作运行的会话(例如子代理、后台 shell 命令、工作流或 [monitor](/docs/zh-CN/tools-reference#monitor-tool))时,会显示 `Background work is running` 对话框,而不是立即退出。选择 `Move to background and exit` 可以像 `/background` 一样将会话移到后台并返回到您的 shell。当 Agent 视图 [已关闭](#turn-off-agent-view) 时不显示该选项。
459 459
460如果列表上的后台会话已具有对话的名称,Claude Code 会对新行的名称进行编号,例如 `my-session (2)`,并保持现有行的名称不变。要重命名新行,在 agent 视图中选择它并按 `Ctrl+R`。460如果列表上的后台会话已使用该对话的名称,Claude Code 会为新行的名称编号,例如 `my-session (2)`,并保持现有行的名称不变。要重命名新行,请在 Agent 视图中选择它并按 `Ctrl+R`。
461 461
462<h4 id="copy-the-session-with-/fork">462<h4 id="copy-the-session-with-/fork">
463 使用 /fork 复制会话463 使用 /fork 复制会话
464</h4>464</h4>
465 465
466运行 `/fork` 将当前对话复制到新的后台会话,同时原始会话继续运行。副本从对话中到该点的所有内容开始;请参阅下面的项目符号了解副本运行的位置。它还继承模型、权限模式、努力级别以及您在会话期间添加的任何目录或"不再询问"权限授予。副本在 agent 视图中显示为其自己的行。466运行 `/fork` 将当前对话复制到新的后台会话,同时原始会话继续运行。副本包含截至该时刻对话中的所有内容;副本运行的位置请参阅下面的列表。它还会继承模型、权限模式、effort 级别,以及您在会话期间添加的任何目录或"不再询问"权限授予。副本在 Agent 视图中显示为独立的一行。
467 467
468在 fork 之后,两个对话是独立的:副本所做的任何事情都不会自动进入原始对话,尽管在启用 [cross-session messaging](/docs/zh-CN/cross-session-messaging) 的会话中,任一会话的 Claude 都可以显式地向另一个发送消息。468fork 之后,两个对话彼此独立:副本所做的任何事情都不会自行进入原始对话,不过在启用了 [跨会话消息](/docs/zh-CN/cross-session-messaging) 的会话中,任一会话的 Claude 都可以显式地向另一个发送消息。
469 469
470复制会话需要 Claude Code v2.1.212 或更高版本;在 v2.1.161 到 v2.1.211 上,`/fork` 启动 [forked subagent](/docs/zh-CN/sub-agents#fork-the-current-conversation),现在是 `/subtask`。当 [agent 视图关闭](#turn-off-agent-view) 时,`/fork` 保持 forked-subagent 行为,`/subtask` 不可用。470复制会话需要 Claude Code v2.1.212 或更高版本;在 v2.1.161 到 v2.1.211 上,`/fork` 启动的是 [fork 出的子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation),该功能现在为 `/subtask`。当 [Agent 视图已关闭](#turn-off-agent-view) 时,`/fork` 保持 fork 子代理的行为,且 `/subtask` 不可用。
471 471
472传递一个提示,例如 `/fork open a draft pull request with the work so far`,副本立即开始处理它。没有提示的情况下,副本等待其第一个指令:在 `claude agents` 中选择其行并按 `Space` 发送一个,或运行 `claude attach <id>`。所选行在等待时显示 `space to send it a prompt`。472传递一个提示词,例如 `/fork open a draft pull request with the work so far`,副本会立即开始处理。不带提示词时,副本会等待第一条指令:在 `claude agents` 中选择其行并按 `Space` 发送一条,或运行 `claude attach <id>`。等待期间,所选行会显示 `space to send it a prompt`。
473 473
474`/fork` 确认是一行,显示副本的状态,例如 `session running`、其 agent-view 行的名称和其会话 ID(用于 `claude attach`)。单击名称以切换到副本:此会话移到后台,与按 `←` 相同,agent 视图打开副本的会话。474`/fork` 的确认信息只有一行,显示副本的状态(例如 `session running`)、其在 Agent 视图中的行名称,以及用于 `claude attach` 的会话 ID。单击名称即可切换到副本:此会话会移到后台(与按 `←` 相同),Agent 视图随即打开副本的会话。
475 475
476除非副本 [就地编辑](#how-file-edits-are-isolated),Claude Code 会指示它在进行代码更改前创建自己的 worktree。在 git 存储库外,只有从 hook 创建的 worktree 移出的副本才会获得该指令;没有 [`WorktreeCreate` hook](/docs/zh-CN/hooks#worktreecreate),副本就地编辑。从您的 worktree 移出的副本也被告知永远不要编辑、在其中运行命令或进入该 worktree,无论隔离设置如何。476除非副本 [就地编辑](#how-file-edits-are-isolated),Claude Code 会指示它在进行代码更改前创建自己的 worktree。在 git 仓库外,只有从 hook 创建的 worktree 移出的副本才会获得该指令;没有 [`WorktreeCreate` hook](/docs/zh-CN/hooks#worktreecreate) 时,副本就地编辑。无论隔离设置如何,从您的 worktree 移出的副本还会被告知绝不要编辑该 worktree、在其中运行命令或进入该 worktree。
477 477
478副本启动的位置取决于当前会话运行的位置:478副本启动的位置取决于当前会话运行的位置:
479 479
480* 像任何分派的会话一样,副本 [在编辑文件前移到自己的 worktree](#how-file-edits-are-isolated)。在这种情况下,确认不会提及副本运行的位置。480* 与任何分派的会话一样,副本会 [在编辑文件前移入自己的 worktree](#how-file-edits-are-isolated)。这种情况下,确认信息不会提及副本运行的位置。
481* 当您的会话在启动后移到其链接的 [worktree](/docs/zh-CN/worktrees) 时,副本从会话移动前的位置开始,除非它 [就地编辑](#how-file-edits-are-isolated),在那里进行其代码更改到自己的 worktree。当您的 worktree 在分支上检出时,该指令也告诉副本(其任务建立在您的工作基础上)将其新分支基于您的分支,因为您的分支在您的 worktree 中保持检出。确认以 `runs in the origin tree` 结尾。481* 当您的会话在启动后移入其链接的 [worktree](/docs/zh-CN/worktrees) 时,副本会回到会话移动前的位置启动,并且除非它 [就地编辑](#how-file-edits-are-isolated),否则会在那里自己的 worktree 中进行代码更改。当您的 worktree 检出在某个分支上时,该指令还会告诉任务建立在您工作之上的副本将其新分支基于您的分支,因为您的分支仍检出在您的 worktree 中。确认信息以 `runs in the origin tree` 结尾。
482* 当您在具有主工作树的存储库的链接 worktree 内启动会话时,副本从该主工作树开始,具有相同的 worktree-of-its-own 规则但没有分支指令。确认也以 `runs in the origin tree` 结尾。482* 当您在拥有主工作树的仓库的链接 worktree 内启动会话时,副本会在该主工作树中启动,同样遵循使用自己 worktree 的规则,但没有分支指令。此时确认信息同样以 `runs in the origin tree` 结尾。
483* 在裸存储库布局的 worktree 内启动的会话没有主工作树可返回,因此副本保持原位,确认以 `edits this checkout` 结尾。当 worktree 隔离在不在链接 worktree 内的会话中 [关闭](#how-file-edits-are-isolated) 时,也会出现相同的注释,因为副本随后编辑您打开的文件。483* 在裸仓库布局的 worktree 内启动的会话没有可返回的主工作树,因此副本留在原处,确认信息以 `edits this checkout` 结尾。当在不位于链接 worktree 内的会话中 [关闭了](#how-file-edits-are-isolated) worktree 隔离时,也会出现相同的说明,因为此时副本会编辑您打开的文件。
484 484
485使用启动标志启动的会话副本不会继承,例如替换的系统提示或 `--tools` 允许列表,无法 fork;Claude Code 会说明这一点,而不是进行部分副本。从 agent 视图分派的会话正常 fork:副本使用与其来自的会话相同的 [agent 定义](/docs/zh-CN/sub-agents) 和附加指令启动。485使用副本无法继承的启动标志(例如替换的系统提示词或 `--tools` 允许列表)启动的会话无法 fork;Claude Code 会说明这一点,而不是创建不完整的副本。从 Agent 视图分派的会话可以正常 fork:副本会使用与来源会话相同的 [Agent 定义](/docs/zh-CN/sub-agents) 和附加指令启动。
486 486
487<h4 id="what-carries-over-when-you-background">487<h4 id="what-carries-over-when-you-background">
488 后台处理时的继承内容488 后台处理时的继承内容
489</h4>489</h4>
490 490
491后台处理启动一个新进程,从保存的对话恢复,进行中的工作移到其中:运行后台 shell 命令、后台 subagents、动态工作流、使用 [`/loop`](/docs/zh-CN/scheduled-tasks) 创建的计划任务以及 Claude 对 [artifact 注释的自动回复](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own) 都会继承并继续在那里运行。Subagent 与它启动的所有内容一起移动,因此仅当所有该工作也能移动时才会继承。要停止进行中的工作而不是继承它,请设置 [`CLAUDE_DISABLE_ADOPT=1`](/docs/zh-CN/env-vars#variables) 环境变量;Claude Code 随后会在后台处理前要求您确认。491后台处理会启动一个从已保存对话恢复的新进程,进行中的工作会移到该进程:正在运行的后台 shell 命令、已转入后台的子代理、动态工作流、您使用 [`/loop`](/docs/zh-CN/scheduled-tasks) 创建的定时任务,以及 Claude 对 [Artifact 评论的自动回复](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own) 都会继承过去并在那里继续运行。子代理会与其启动的所有内容一起移动,因此只有当所有这些工作也都能移动时它才会被继承。要停止进行中的工作而不是继承它,请设置 [`CLAUDE_DISABLE_ADOPT=1`](/docs/zh-CN/env-vars#variables) 环境变量;Claude Code 随后会在后台处理前要求您确认。
492 492
493当 [dynamic workflow](/docs/zh-CN/workflows) 仍有 subagents 运行时,Claude Code 在后台处理前询问 `Background this session?` 对话框,其中说明有多少 subagents 会重新启动。选择 `Stay` 让它们先完成。如果您确认,Claude Code 会在后台会话中重放运行:仍在运行的 subagents 从头开始,因此它们迄今为止使用的令牌会再次花费。请参阅 [Resume after a pause](/docs/zh-CN/workflows#resume-after-a-pause) 了解哪些已完成的 subagents 返回其保存的结果,哪些再次运行。493当 [动态工作流](/docs/zh-CN/workflows) 仍有子代理在运行时,Claude Code 会在后台处理前通过 `Background this session?` 对话框询问,其中会说明有多少子代理将重新启动。选择 `Stay` 可让它们先完成。如果您确认,Claude Code 会在后台会话中重放该运行:仍在运行的子代理会从头开始,因此它们目前已使用的 token 会再次消耗。请参阅 [暂停后恢复](/docs/zh-CN/workflows#resume-after-a-pause) 了解哪些已完成的子代理会返回其保存的结果、哪些会再次运行。
494 494
495Claude Code 停止无法继承的工作,例如运行的 [monitor](/docs/zh-CN/tools-reference#monitor-tool),并停止拥有 monitor 的后台 subagent 及其一起。当任何此类工作运行时,Claude Code 显示 `Background this session?` 对话框,以便您可以在停止工作前确认。495Claude Code 会停止无法继承的工作,例如正在运行的 [monitor](/docs/zh-CN/tools-reference#monitor-tool),并一并停止拥有 monitor 的后台子代理。当有任何此类工作正在运行时,Claude Code 会显示 `Background this session?` 对话框,以便您在它停止工作前确认。
496 496
497一旦在后台,会话可以启动新的 subagents、monitors 和后台命令,这些在稍后分离和重新附加时继续运行。497进入后台后,会话可以启动新的子代理、monitor 和后台命令,这些在之后的分离和重新附加过程中会持续运行。
498 498
499来自原始启动的配置标志通过到后台会话,因此其 MCP 服务器、设置和回退模型保持有效:499原始启动时的配置标志会传递到后台会话,因此其 MCP 服务器、设置和备用模型保持有效:
500 500
501* `--mcp-config` 和 `--strict-mcp-config`501* `--mcp-config` 和 `--strict-mcp-config`
502* `--settings`502* `--settings`
506* `--fallback-model`506* `--fallback-model`
507* `--allow-dangerously-skip-permissions`507* `--allow-dangerously-skip-permissions`
508 508
509您在会话期间使用 [`/add-dir`](/docs/zh-CN/permissions#additional-directories-grant-file-access-not-configuration) 添加的目录也会继承。继承 `--allow-dangerously-skip-permissions` 使 `bypassPermissions` 在后台会话中可访问,但它不授予任何新内容:该模式仍需要 [Permission mode, model, and effort](#permission-mode-model-and-effort) 中描述的一次性交互式接受。509您在会话期间使用 [`/add-dir`](/docs/zh-CN/permissions#additional-directories-grant-file-access-not-configuration) 添加的目录也会继承。继承 `--allow-dangerously-skip-permissions` 会使 `bypassPermissions` 在后台会话中保持可用,但不会授予任何新权限:该模式仍需要 [权限模式、模型和 effort](#permission-mode-model-and-effort) 中所述的一次性交互式接受。
510 510
511<h3 id="from-your-shell">511<h3 id="from-your-shell">
512 从您的 shell512 从您的 shell
513</h3>513</h3>
514 514
515传递 `--bg` 或其长形式 `--background` 启动直接进入后台的会话:515传递 `--bg` 或其长形式 `--background` 可启动直接进入后台的会话:
516 516
517```bash theme={null}517```bash theme={null}
518claude --bg "investigate the flaky SettingsChangeDetector test"518claude --bg "investigate the flaky SettingsChangeDetector test"
519```519```
520 520
521提示是位置参数,不是 `-p` 值。Claude Code 拒绝 `--bg` 与 `-p` 或 `--print` 组合在任何会话创建前,因为 `--print` 永远不会启动 `claude agents` 附加到的交互式会话。521提示词是位置参数,而不是 `-p` 的值。Claude Code 会在创建任何会话前拒绝 `--bg` 与 `-p` 或 `--print` 的组合,因为 `--print` 永远不会启动 `claude agents` 所附加的交互式会话。
522 522
523如果您从您未 [信任](/docs/zh-CN/permissions#project-allow-rules-and-workspace-trust) 的目录中的终端运行 `claude --bg`,工作区信任对话框会首先出现,会话在您接受后启动。如果您拒绝,Claude Code 会退出而不启动会话。在没有对话框可以出现的地方,例如在脚本中,命令会以 [`Workspace not trusted`](/docs/zh-CN/errors#workspace-not-trusted-when-dispatching-a-background-session) 错误退出。523如果您在未 [信任](/docs/zh-CN/permissions#project-allow-rules-and-workspace-trust) 的目录中从终端运行 `claude --bg`,会先出现工作区信任对话框,会话在您接受后启动。如果您拒绝,Claude Code 会退出而不启动会话。在无法显示对话框的环境中(例如脚本中),命令会以 [`Workspace not trusted`](/docs/zh-CN/errors#workspace-not-trusted-when-dispatching-a-background-session) 错误退出。
524 524
525要运行您定义的特定 [subagent](/docs/zh-CN/sub-agents)(例如 `code-reviewer`)作为会话的主 agent,将 `--bg` 与 `--agent` 组合:525要将您定义的特定 [子代理](/docs/zh-CN/sub-agents)(例如 `code-reviewer`)作为会话的主 Agent 运行,请将 `--bg` 与 `--agent` 组合使用:
526 526
527```bash theme={null}527```bash theme={null}
528claude --agent code-reviewer --bg "address review comments on PR 1234"528claude --agent code-reviewer --bg "address review comments on PR 1234"
529```529```
530 530
531如果名称与您的任何 subagents 不匹配,启动失败:Claude Code 打印 `no agent named` 警告,仍然报告会话为后台,但会话立即以 `--agent '<name>' not found` 错误退出。531如果名称与您的任何子代理都不匹配,启动会失败:Claude Code 会打印 `no agent named` 警告,并仍报告会话已转入后台,但会话会立即以 `--agent '<name>' not found` 错误退出。
532 532
533当后台会话稍后恢复或重新启动时,Claude Code 恢复 agent 及其工具限制;对于其系统提示,请参阅 [System prompt flags in resumed conversations](/docs/zh-CN/cli-reference#system-prompt-flags-in-resumed-conversations)。它首先在会话自己的目录中搜索 agent,前提是您已 [信任该工作区](/docs/zh-CN/permissions#project-allow-rules-and-workspace-trust),因此项目范围的 agent 在从另一个目录恢复会话时仍会加载。如果 agent 不再存在,会话继续使用默认工具,其记录打开时带有 [warning naming the agent](/docs/zh-CN/errors#session-agent-no-longer-available)。533当后台会话之后恢复或重新启动时,Claude Code 会恢复该 Agent 及其工具限制;关于其系统提示词,请参阅 [恢复的对话中的系统提示词标志](/docs/zh-CN/cli-reference#system-prompt-flags-in-resumed-conversations)。它会先在会话自己的目录中搜索该 Agent(前提是您已 [信任该工作区](/docs/zh-CN/permissions#project-allow-rules-and-workspace-trust)),因此从其他目录恢复会话时,项目范围的 Agent 仍会加载。如果该 Agent 已不存在,会话会使用默认工具继续运行,其会话记录打开时会带有一条 [指明该 Agent 的警告](/docs/zh-CN/errors#session-agent-no-longer-available)。
534 534
535要在后台继续现有对话,使用 `--resume` 传递其完整会话 ID:535要在后台继续现有对话,请使用 `--resume` 传递其完整会话 ID:
536 536
537```bash theme={null}537```bash theme={null}
538claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"538claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"
539```539```
540 540
541在 Claude Code v2.1.257 或更高版本上,Claude Code 要么在相同 ID 下继续该会话,要么在新 ID 下启动副本并打印 `note:` 行解释为什么它无法就地继续。当会话就地继续时,`claude agents` 为其显示一行。541在 Claude Code v2.1.257 或更高版本上,Claude Code 要么以相同 ID 继续该会话,要么以新 ID 启动一个副本并打印 `note:` 行,说明为何无法就地继续。当会话就地继续时,`claude agents` 只为其显示一行。
542 542
543当您将 `--bg` 与 `--continue`、裸 `--resume` 或 `--resume` 与名称或文件路径组合时,Claude Code 总是启动这样的副本。添加 `--fork-session` 以有目的地启动副本,不带注释。543当您将 `--bg` 与 `--continue`、不带参数的 `--resume` 或带名称或文件路径的 `--resume` 组合使用时,Claude Code 总是会启动这样的副本。添加 `--fork-session` 可有意启动副本,且不显示该说明。
544 544
545传递 `--name` 以在 agent 视图中设置会话的显示名称,而不是自动生成的名称:545传递 `--name` 可在 Agent 视图中设置会话的显示名称,而不使用自动生成的名称:
546 546
547```bash theme={null}547```bash theme={null}
548claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"548claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"
549```549```
550 550
551后台处理后,Claude 打印会话的短 ID 和用于管理它的命令。当托管后台会话的服务尚未运行时,`--bg` 可能首先在此输出上方打印 `Starting background service…`。当您传递 `--name` 时,名称显示在短 ID 后:551转入后台后,Claude 会打印会话的短 ID 和用于管理它的命令。当托管后台会话的服务尚未运行时,`--bg` 可能会先在此输出上方打印 `Starting background service…`。当您传递 `--name` 时,名称会显示在短 ID 之后:
552 552
553```text theme={null}553```text theme={null}
554backgrounded · 7c5dcf5d · flaky-test-fix554backgrounded · 7c5dcf5d · flaky-test-fix
562 运行 shell 命令562 运行 shell 命令
563</h4>563</h4>
564 564
565要运行 shell 命令作为后台作业而不是 Claude 会话,传递 `--exec`。以下示例运行 `pytest -x` 作为后台作业:565要将 shell 命令作为后台作业而不是 Claude 会话运行,请传递 `--exec`。以下示例将 `pytest -x` 作为后台作业运行:
566 566
567```bash theme={null}567```bash theme={null}
568claude --bg --exec 'pytest -x'568claude --bg --exec 'pytest -x'
569```569```
570 570
571从 agent 视图,通过在分派输入的第一个字符中输入 `!` 分派相同类型的作业:`!` 显示为前缀,其后的所有内容是命令,`Enter` 启动作业。571在 Agent 视图中,将 `!` 作为分派输入的第一个字符即可分派同类作业:`!` 显示为前缀,其后的所有内容为命令,按 `Enter` 启动作业。
572 572
573命令作为 PTY 支持的作业运行,在 agent 视图中显示为一行,最近的输出行作为其状态。Shell 作业运行命令代替 Claude,因此不调用任何模型,输出不发送到任何会话。573该命令作为基于 PTY 的作业运行,并在 Agent 视图中显示为一行,以最近一行输出作为其状态。shell 作业以命令代替 Claude 运行,因此不会调用任何模型,输出也不会发送到任何会话。
574 574
575要查看输出,附加到行,按 `Space` 在不附加的情况下查看,或从您的 shell 运行 `claude logs <id>`。捕获的输出保留在内存中,不写入磁盘。行及其输出在命令退出后约五分钟自动清理,因此如果您需要结果,请在那之前读取。575要查看输出,请附加到该行、按 `Space` 在不附加的情况下预览,或从您的 shell 运行 `claude logs <id>`。捕获的输出保存在内存中,不会写入磁盘。该行及其输出会在命令退出约五分钟后自动清理,因此如果您需要结果,请在此之前读取。
576 576
577<h3 id="how-file-edits-are-isolated">577<h3 id="how-file-edits-are-isolated">
578 文件编辑如何隔离578 文件编辑如何隔离
583Claude 在以下情况下跳过 worktree:583Claude 在以下情况下跳过 worktree:
584 584
585* 您使用 `←` 或 `/background` [将已打开的会话移到后台](#from-inside-a-session)。该会话会继续在其原本工作的位置编辑文件585* 您使用 `←` 或 `/background` [将已打开的会话移到后台](#from-inside-a-session)。该会话会继续在其原本工作的位置编辑文件
586* 会话已在链接的 git worktree 内,无论 Claude 在 `.claude/worktrees/` 下创建它还是您使用 `git worktree add` 在其他地方创建它586* 会话已位于链接的 git worktree 内,无论该 worktree 是 Claude 在 `.claude/worktrees/` 下创建的,还是您使用 `git worktree add` 在其他位置创建的
587* Claude 编辑的文件在链接的 git worktree 内,例如会话或其 subagent 使用 `git worktree add` 创建的587* Claude 正在编辑的文件位于链接的 git worktree 内,例如会话或其子代理使用 `git worktree add` 创建的 worktree
588* 工作目录不是 git 存储库,且没有配置 [`WorktreeCreate` hook](/docs/zh-CN/hooks#worktreecreate)588* 工作目录不是 git 仓库,且没有配置 [`WorktreeCreate` hook](/docs/zh-CN/hooks#worktreecreate)
589* 写入在工作目录外589* 写入位置在工作目录之外
590 590
591要为 git worktrees 不实用的存储库关闭 worktree 隔离,将 [`worktree.bgIsolation`](/docs/zh-CN/settings-reference#worktree-bgisolation) 设置为 `"none"`。后台会话随后直接编辑您的工作副本,而无需先移到 worktree。将设置添加到项目的 `.claude/settings.json`:591要为不适合使用 git worktree 的仓库关闭 worktree 隔离,请将 [`worktree.bgIsolation`](/docs/zh-CN/settings-reference#worktree-bgisolation) 设置为 `"none"`。后台会话随后会直接编辑您的工作副本,而不会先移入 worktree。将该设置添加到项目的 `.claude/settings.json`:
592 592
593```json theme={null}593```json theme={null}
594{594{
598}598}
599```599```
600 600
601在 git 存储库外,会话直接写入工作目录,彼此之间不隔离,因此避免分派编辑相同文件的并行会话。如果您使用不同的版本控制系统,配置 [`WorktreeCreate` hook](/docs/zh-CN/worktrees#non-git-version-control),Claude 以与 git 相同的方式隔离编辑。601在 git 仓库外,会话直接写入工作目录,彼此之间不隔离,因此请避免分派会编辑相同文件的并行会话。如果您使用其他版本控制系统,请配置 [`WorktreeCreate` hook](/docs/zh-CN/worktrees#non-git-version-control),Claude 会以与 git 相同的方式隔离编辑。
602 602
603当 hook 在非 git 仓库的目录中失败时,Claude 会跳过该目录的隔离,并就地编辑工作目录。在 git 仓库内,Claude 在编辑前会将其移入 worktree 的会话,在该移动完成之前无法编辑共享检出中的文件。603当 hook 在非 git 仓库的目录中失败时,Claude 会跳过该目录的隔离,并就地编辑工作目录。在 git 仓库内,Claude 在编辑前会将其移入 worktree 的会话,在该移动完成之前无法编辑共享检出中的文件。
604 604
605要找到会话的 worktree 路径,查看会话或附加并检查其工作目录。605要查找会话的 worktree 路径,请附加到会话并查看其工作目录。
606 606
607后台会话生成的 [子代理](/docs/zh-CN/sub-agents) 会继承会话的工作目录。一旦会话进入 worktree,子代理的文件编辑就会落在该 worktree 中,而不是您的工作副本中。要改为给子代理分配单独的 worktree,请在其 frontmatter 中设置 [`isolation: worktree`](/docs/zh-CN/sub-agents#supported-frontmatter-fields),或在生成它时传递 `isolation: "worktree"`。607后台会话生成的 [子代理](/docs/zh-CN/sub-agents) 会继承会话的工作目录。一旦会话进入 worktree,子代理的文件编辑就会落在该 worktree 中,而不是您的工作副本中。要改为给子代理分配单独的 worktree,请在其 frontmatter 中设置 [`isolation: worktree`](/docs/zh-CN/sub-agents#supported-frontmatter-fields),或在生成它时传递 `isolation: "worktree"`。
608 608
609当后台会话在 Claude 进入的 worktree 中进行了代码更改时,Claude Code 指示 Claude 在完成前保留工作,因此如果您删除会话及其 worktree,它会存活:609当后台会话在 Claude 进入的 worktree 中进行了代码更改时,Claude Code 会指示 Claude 在完成前保存这些工作,这样即使您删除会话及其 worktree,工作也不会丢失:
610 610
611* **提交并推送**:Claude 无需询问即可提交,当存储库有远程时推送分支。611* **提交并推送**:Claude 无需询问即可提交,并在仓库有远程时推送分支。
612* **草稿 pull request**:Claude 在任务要求时打开一个,[`#N` 标签](#pull-request-status) 出现在行上。612* **草稿 Pull Request**:Claude 会在任务需要时打开一个,该行上会显示 [`#N` 标签](#pull-request-status)。
613* **永不**:推送到 `main` 或 `master`、强制推送和合并。613* **绝不**:推送到 `main` 或 `master`、强制推送以及合并。
614* **您的 git 指令优先**:如果任务、`CLAUDE.md` 或 [memory](/docs/zh-CN/memory) 说您自己处理提交或推送,Claude 将 git 留给您。614* **您的 git 指令优先**:如果任务、`CLAUDE.md` 或 [记忆](/docs/zh-CN/memory) 表明由您自己处理提交或推送,Claude 会将 git 操作留给您。
615 615
616编辑未自己隔离的检出的会话仍在提交或切换分支前询问。这适用于隔离设置为 `"none"` 时、worktree 移动失败时或会话在已存在的 worktree 内启动时。616编辑并非由其自身隔离的检出的会话,在提交或切换分支前仍会询问。这适用于隔离设置为 `"none"`、worktree 移动失败,或会话在已存在的 worktree 内启动的情况。
617 617
618无论任务如何,Claude 以报告结束作业,说明它做了什么以及工作在哪里:路径、分支、pull request 或答案本身。618无论任务是什么,Claude 都会以一份报告结束作业,说明它做了什么以及工作成果在哪里:路径、分支、Pull Request 或答案本身。
619 619
620<h4 id="what-deleting-a-session-removes">620<h4 id="what-deleting-a-session-removes">
621 删除会话会移除什么621 删除会话会移除什么
622</h4>622</h4>
623 623
624在 [agent 视图](#organize-the-list) 中使用 `Ctrl+X` 两次或使用 [`claude rm`](#manage-sessions-from-the-shell) 删除会话。除了下面保留的情况外,会话离开列表。其记录通过 `claude --resume` 保留在您的机器上,移除在主管重新启动后存活。624在 [Agent 视图](#organize-the-list) 中按两次 `Ctrl+X`,或使用 [`claude rm`](#manage-sessions-from-the-shell) 删除会话。除下述保留的情况外,会话会从列表中移除。其会话记录仍保留在您的机器上,可通过 `claude --resume` 访问,且该移除在主管进程重新启动后依然有效。
625 625
626Claude 为会话创建的 worktree 会发生什么:626Claude 为会话创建的 worktree 会如何处理:
627 627
628* Agent 视图移除它,包括未提交的更改,因此首先提交您想保留的内容。628* Agent 视图会移除它,包括未提交的更改,因此请先提交您想保留的内容。
629* `claude rm` 在它有未提交的更改时保留它,以及会话行。629* 当它有未提交的更改时,`claude rm` 会保留它以及会话行。
630* Agent 视图和 `claude rm` 都不会移除另一个运行中的会话正在使用或已锁定的 worktree,再次删除不会改变这一点。Claude Code 保留 worktree 和会话,并命名保留的目录和原因;在 agent 视图中,会话的行显示 `not deleted`。关闭另一个会话,然后再次删除。630* Agent 视图和 `claude rm` 都不会移除另一个正在运行的会话正在使用或已锁定的 worktree,再次删除也不会改变这一点。Claude Code 会保留 worktree 和会话,并指明保留的目录及原因;在 Agent 视图中,该会话的行会显示 `not deleted`。请关闭另一个会话,然后再次删除。
631* 当您删除其 worktree 有 Claude Code 无法确认保存在其他地方的提交的会话时,Claude Code 保留 worktree 和会话,消息命名 worktree 的分支和有多少未推送的提交。消息还提供两种前进方式:推送提交或再次删除以丢弃它们。631* 当您删除的会话的 worktree 中有 Claude Code 无法确认已保存到其他位置的提交时,Claude Code 会保留 worktree 和会话,消息会指明 worktree 的分支以及有多少未推送的提交。消息还提供两种后续做法:推送这些提交,或再次删除以丢弃它们。
632 632
633 远程上的提交不会阻止删除。本地副本上的提交也不会,您的 `origin` 远程的默认分支,只要该分支在您的主检出中检出,存储库目录本身而不是 worktree。633 远程上的提交不会阻止删除。您的 `origin` 远程默认分支的本地副本上的提交也不会阻止删除,前提是该分支检出在您的主检出中(即仓库目录本身,而不是 worktree)。
634 634
635 在该拒绝后,您选择:635 在该拒绝之后,您可以选择:
636 636
637 * 要保留提交,推送它们或将它们合并到该默认分支,然后再次删除会话。637 * 要保留这些提交,请推送它们,或将它们合并到该默认分支,然后再次删除会话。
638 * 要丢弃它们,再次删除会话而不推送:在 agent 视图中的其行上按 `Ctrl+X` 两次,或运行拒绝打印的 `claude rm <id> --discard-unpushed` 命令。这移除会话和 worktree 及其分支,丢弃未推送的提交和任何未提交的更改。638 * 要丢弃它们,请不推送而直接再次删除会话:在 Agent 视图中该会话的行上按两次 `Ctrl+X`,或运行拒绝消息中打印的 `claude rm <id> --discard-unpushed` 命令。这会移除会话和 worktree 及其分支,丢弃未推送的提交和任何未提交的更改。
639 639
640 当您再次删除时,Claude Code 仅丢弃拒绝显示的内容:如果 worktree 自那以后获得了提交,Claude Code 再次保留它并显示更新的状态。640 当您再次删除时,Claude Code 只会丢弃拒绝消息中显示的内容:如果此后 worktree 又有了新的提交,Claude Code 会再次保留它并显示更新后的状态。
641 641
642 当另一个已完成的会话的记录也命名 worktree 时,它在您再次删除时保留;推送提交,然后再次删除。642 当另一个已完成会话的记录也指向该 worktree 时,再次删除时它仍会被保留;请推送这些提交,然后再次删除。
643* git 不再识别的 worktree,例如在 `git worktree prune` 后,不会阻止删除。Claude Code 删除会话并将目录留在磁盘上。643* git 已不再识别的 worktree(例如在执行 `git worktree prune` 之后)不会阻止删除。Claude Code 会删除会话,并将目录留在磁盘上。
644* 当 git 或您的 [`WorktreeRemove` hook](/docs/zh-CN/hooks#worktreeremove) 无法移除 worktree 时,Claude Code 保留 worktree 和会话,消息命名原因。对于 hook,消息说它如何结束,例如 `exited 1`,并引用其 stderr 的开始。消息还告诉您接下来要做以下哪一个:644* 当 git 或您的 [`WorktreeRemove` hook](/docs/zh-CN/hooks#worktreeremove) 未能移除 worktree 时,Claude Code 会保留 worktree 和会话,消息会指明原因。对于 hook,消息会说明它是如何结束的(例如 `exited 1`),并引用其 stderr 的开头部分。消息还会告诉您接下来执行以下哪项操作:
645 645
646 * 再次删除会话以无论如何移除目录,通过在 agent 视图中的其行上按 `Ctrl+X` 两次或运行 `claude rm` 拒绝打印的 `claude rm <id> --force-remove-worktree <worktree-id>` 命令。Worktree 的分支保留在存储库中。646 * 再次删除会话以强制移除目录:在 Agent 视图中该会话的行上按两次 `Ctrl+X`,或运行 `claude rm` 拒绝消息中打印的 `claude rm <id> --force-remove-worktree <worktree-id>` 命令。worktree 的分支会保留在仓库中。
647 647
648 Claude Code 仅在可以确认以下所有内容时提供此选项:648 只有当 Claude Code 能确认以下所有条件时才会提供此选项:
649 649
650 * 目录是存储库在 `.claude/worktrees/` 下的链接 worktrees 之一650 * 该目录是仓库在 `.claude/worktrees/` 下的链接 worktree 之一
651 * Worktree 和检出的子模块都没有对跟踪文件的未提交更改651 * worktree 及其已检出的子模块都没有对已跟踪文件的未提交更改
652 * 没有其他会话的记录命名它652 * 没有其他会话的记录指向它
653 653
654 当 Claude Code 无法验证子模块检出的状态时,例如被单独的 git 存储库替换的,它也不提供此选项。654 当 Claude Code 无法验证子模块检出的状态时(例如该子模块被一个单独的 git 仓库替换),也不会提供此选项。
655 * 修复阻碍的内容,例如提交或隐藏未提交的更改、将单独的 git 存储库移出 worktree、关闭使用目录的任何内容或修复 hook,然后再次删除会话。655 * 解决阻碍因素,例如提交或储藏未提交的更改、将单独的 git 仓库移出 worktree、关闭正在使用该目录的程序或修复 hook,然后再次删除会话。
656 * 自己移除目录,然后再次删除会话。656 * 自行移除该目录,然后再次删除会话。
657 657
658您自己创建并在其内启动会话的 worktree 无论如何都会保留。658您自己创建并在其中启动会话的 worktree 在任何情况下都会保留。
659 659
660其 worktree 目录不属于任何 git 存储库的会话,因为存储库被删除或 [`WorktreeCreate` hook](/docs/zh-CN/hooks#worktreecreate) 在其他地方创建了目录,仍然可以删除。当目录中仍有文件时:660如果会话的 worktree 目录不属于任何 git 仓库(因为仓库已被删除,或 [`WorktreeCreate` hook](/docs/zh-CN/hooks#worktreecreate) 在其他位置创建了该目录),该会话仍然可以删除。当目录中仍有文件时:
661 661
662* Agent 视图在丢弃它们前要求相同的 `Ctrl+X` 双按。对于 hook 创建的目录,它运行您的 [`WorktreeRemove` hook](/docs/zh-CN/hooks#worktreeremove),没有一个它拒绝删除并保留会话。662* Agent 视图在丢弃这些文件前会要求同样按两次 `Ctrl+X`。对于由 hook 创建的目录,它会改为运行您的 [`WorktreeRemove` hook](/docs/zh-CN/hooks#worktreeremove);如果没有该 hook,它会拒绝删除并保留会话。
663* `claude rm` 保留会话和 worktree,并命名原因。663* `claude rm` 会保留会话和 worktree,并指明原因。
664 664
665任一路径保留另一个已完成的会话的记录命名的目录。665两种方式都会保留另一个已完成会话的记录所指向的目录。
666 666
667<h3 id="set-the-model">667<h3 id="set-the-model">
668 设置模型668 设置模型
669</h3>669</h3>
670 670
671agent 视图标题中显示的模型名称是分派默认值。您从输入启动的新会话使用此模型,它来自您的用户设置中的 [`model` 设置](/docs/zh-CN/settings-reference#model)。通过在 [`/model` 选择器](/docs/zh-CN/model-config) 中选择模型或直接编辑设置来设置它。671Agent 视图标题中显示的模型名称是分派默认值。您从输入框启动的新会话会使用此模型,它来自您用户设置中的 [`model` 设置](/docs/zh-CN/settings-reference#model)。您可以在 [`/model` 选择器](/docs/zh-CN/model-config) 中选择模型来设置它,也可以直接编辑该设置。
672 672
673要为整个 agent 视图会话覆盖分派默认值,在打开 agent 视图 时传递 `--model`。请参阅 [Permission mode, model, and effort](#permission-mode-model-and-effort)。673要为整个 Agent 视图会话覆盖分派默认值,请在打开 Agent 视图时传递 `--model`。请参阅 [权限模式、模型和 effort](#permission-mode-model-and-effort)。
674 674
675要从 agent 视图内更改分派默认值,在分派输入中输入 `/model` 后跟模型名称并按 `Enter`。标题更新以显示该模型,带有 `(session)` 标记,您之后分派的会话使用它。输入 `/model default` 清除覆盖并返回分派默认值。此覆盖持续当前 `claude agents` 运行的其余部分,不写入您的设置文件。以下示例在 Opus 上分派一个会话,在 Sonnet 上分派下一个:675要在 Agent 视图内更改分派默认值,请在分派输入框中输入 `/model` 后跟模型名称,然后按 `Enter`。标题会更新以显示该模型并带有 `(session)` 标记,之后您分派的会话都会使用它。输入 `/model default` 可清除覆盖并恢复分派默认值。此覆盖在当前 `claude agents` 运行的剩余时间内有效,不会写入您的设置文件。以下示例在 Opus 上分派一个会话,在 Sonnet 上分派下一个:
676 676
677```text theme={null}677```text theme={null}
678/model opus678/model opus
681run the test suite681run the test suite
682```682```
683 683
684每个后台会话可以在不同的模型上运行。要为一个会话覆盖它:684每个后台会话可以在不同的模型上运行。要为单个会话覆盖模型:
685 685
686* 从 shell,使用 `claude --bg` 传递 `--model`。686* 从 shell 中使用 `claude --bg` 时传递 `--model`。
687* 附加到运行中的会话并运行 `/model` 以切换:从选择器中选择或输入 `/model <name>` 保存为您的新会话默认值,除非您在选择器中按 `s` 进行仅会话切换。仅会话切换在会话重新生成时持续。687* 附加到正在运行的会话并运行 `/model` 进行切换:在选择器中选择,或输入 `/model <name>`,都会保存为新会话的默认值,除非您在选择器中按 `s` 进行仅限当前会话的切换。仅限当前会话的切换在会话重新生成后依然有效。
688* 分派其 frontmatter 设置 `model` 字段的 [subagent](/docs/zh-CN/sub-agents)。688* 分派一个在 frontmatter 中设置了 `model` 字段的 [子代理](/docs/zh-CN/sub-agents)。
689 689
690<h3 id="permission-mode-model-and-effort">690<h3 id="permission-mode-model-and-effort">
691 权限模式、模型和努力691 权限模式、模型和 effort
692</h3>692</h3>
693 693
694后台会话从您分派它的位置和方式获取其设置、提供者、权限模式、模型和努力。下面的小节涵盖每个来源,以及主管重新启动会话时持续的内容。694后台会话会根据您分派它的位置和方式获取其设置、提供商、权限模式、模型和 effort。下面的小节介绍每个来源,以及主管进程重新启动会话时哪些内容会保留。
695 695
696<h4 id="settings-and-provider">696<h4 id="settings-and-provider">
697 设置和提供者697 设置和提供商
698</h4>698</h4>
699 699
700后台会话从它运行的目录读取其 [settings](/docs/zh-CN/settings),与您在该目录启动 `claude` 时相同,使用 [它继承的配置标志](#what-carries-over-when-you-background)。这包括项目设置中的 [`env` 值](/docs/zh-CN/settings-reference#env),因此在那里设置的 `ANTHROPIC_MODEL` 或提供者变量适用于该目录中的每个后台会话。700后台会话从其运行的目录读取 [设置](/docs/zh-CN/settings),就像您在该目录中使用 [它继承的配置标志](#what-carries-over-when-you-background) 启动 `claude` 一样。这包括项目设置中的 [`env` 值](/docs/zh-CN/settings-reference#env),因此在那里设置的 `ANTHROPIC_MODEL` 或提供商变量适用于该目录中的每个后台会话。
701 701
702后台会话也使用您分派它的 shell 的 `PATH` 运行,因此它运行的命令找到与您的终端相同的工具。它也保留该 shell 的云提供者选择,例如 `CLAUDE_CODE_USE_BEDROCK` 或 `CLAUDE_CODE_USE_VERTEX`,以及其 `ANTHROPIC_DEFAULT_*_MODEL` 别名和您在那里导出的任何 [`CLAUDE_CODE_EXTRA_BODY`](/docs/zh-CN/env-vars) 覆盖。702后台会话还会使用您分派它时所在 shell 的 `PATH` 运行,因此它运行的命令能找到与您终端相同的工具。它也会保留该 shell 的云提供商选择(例如 `CLAUDE_CODE_USE_BEDROCK` 或 `CLAUDE_CODE_USE_VERTEX`),以及其 `ANTHROPIC_DEFAULT_*_MODEL` 别名和您在那里导出的任何 [`CLAUDE_CODE_EXTRA_BODY`](/docs/zh-CN/env-vars) 覆盖。
703 703
704<h4 id="llm-gateway">704<h4 id="llm-gateway">
705 LLM gateway705 LLM 网关
706</h4>706</h4>
707 707
708如果您通过 [LLM gateway](/docs/zh-CN/llm-gateway) 路由 Claude Code,将 gateway 变量放在设置文件的 `env` 块中,而不是在您的 shell 中导出它们,后台会话与其余设置一起读取它们。[Set in a settings file](/docs/zh-CN/llm-gateway-connect#set-in-a-settings-file) 显示块和要使用哪个设置文件作为凭证。708如果您通过 [LLM 网关](/docs/zh-CN/llm-gateway) 路由 Claude Code,请将网关变量放在设置文件的 `env` 块中,而不是在 shell 中导出,这样后台会话会随其余设置一起读取它们。[在设置文件中设置](/docs/zh-CN/llm-gateway-connect#set-in-a-settings-file) 展示了该块以及凭据应使用哪个设置文件。
709 709
710如果您仅在 shell 中导出 gateway `ANTHROPIC_BASE_URL`,它到达后台会话,以及您与它导出的 `ANTHROPIC_CUSTOM_HEADERS` 和凭证,仅当 [supervisor](#the-supervisor-process) 本身从导出相同 gateway 的 shell 启动时,仅在这些情况下:710如果您改为仅在 shell 中导出网关 `ANTHROPIC_BASE_URL`,那么它连同您一起导出的 `ANTHROPIC_CUSTOM_HEADERS` 和凭据,只有在 [主管进程](#the-supervisor-process) 本身是从导出了相同网关的 shell 启动时才会传递到后台会话,并且仅限以下情况:
711 711
712* 您使用 `←` 或 `/background` 后台处理您自己的会话712* 您使用 `←` 或 `/background` 将自己的会话转入后台
713* 您分派会话到您所在的目录713* 您将会话分派到您当前所在的目录
714* 您通过附加或回复来唤醒您所在目录中的停止会话714* 您通过附加或回复来唤醒当前所在目录中已停止的会话
715 715
716Claude Code 在云提供者前转发 gateway。如果您分派的 shell 选择提供者并使用其 auth-bypass 标志导出其 gateway 端点,Claude Code 在适用于 `ANTHROPIC_BASE_URL` 的条件下转发端点和标志对,以及 `ANTHROPIC_CUSTOM_HEADERS`。例如,导出 `CLAUDE_CODE_USE_VERTEX=1` 与 `ANTHROPIC_VERTEX_BASE_URL` 和 `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`,Claude Code 转发该端点和标志。716Claude Code 会转发位于云提供商前面的网关。如果您分派时所在的 shell 选择了该提供商,并导出了其网关端点及其身份验证绕过标志,Claude Code 会在适用于 `ANTHROPIC_BASE_URL` 的条件下,将该端点与标志组合连同 `ANTHROPIC_CUSTOM_HEADERS` 一起转发给会话。例如,导出 `CLAUDE_CODE_USE_VERTEX=1` 以及 `ANTHROPIC_VERTEX_BASE_URL` 和 `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`,Claude Code 就会转发该端点和标志。
717 717
718Claude Code 仅将转发的 gateway 应用于该会话的运行进程,永远不写入磁盘。718Claude Code 仅将转发的网关应用于该会话正在运行的进程,绝不会将其写入磁盘。
719 719
720<h4 id="permission-mode">720<h4 id="permission-mode">
721 权限模式721 权限模式
722</h4>722</h4>
723 723
724[permission mode](/docs/zh-CN/permissions) 取决于您如何启动会话:724[权限模式](/docs/zh-CN/permissions) 取决于您启动会话的方式:
725 725
726* **使用 `/bg` 或 `←` 后台处理**:Claude Code 保留会话所在的权限模式,因此您切换到 `acceptEdits` 或 `auto` 的模式在分离后保留在那里726* **使用 `/bg` 或 `←` 转入后台**:Claude Code 保留会话原有的权限模式,因此您已切换到 `acceptEdits` 或 `auto` 的会话在分离后仍保持该模式
727* **从使用 `←` 打开的 agent 视图分派**:目标自己的配置优先,您来自的会话的权限模式在没有其他设置时适用727* **从使用 `←` 打开的 Agent 视图分派**:目标自身的配置优先;当没有其他设置指定权限模式时,采用您来源会话的权限模式
728* **从 shell 中启动的 `claude agents` 或使用 `claude --bg` 分派**:新会话以新 `claude` 会话在该目录中的方式启动,除非您从使用 [dispatch defaults](#dispatch-defaults) 打开的 agent 视图分派。[Which permission mode a session starts in](/docs/zh-CN/permission-modes#which-mode-a-session-starts-in) 列出顺序728* **从在 shell 中启动的 `claude agents` 分派,或使用 `claude --bg` 分派**:新会话的启动方式与在该目录中启动新的 `claude` 会话相同,除非您是从使用 [分派默认值](#dispatch-defaults) 打开的 Agent 视图分派的。[会话以哪种权限模式启动](/docs/zh-CN/permission-modes#which-mode-a-session-starts-in) 列出了优先顺序
729 729
730对于您从使用 `←` 打开的 agent 视图分派的会话,Claude Code 从适用的第一个中获取权限模式:730对于您从使用 `←` 打开的 Agent 视图分派的会话,Claude Code 会从以下第一个适用的来源获取权限模式:
731 731
7321. 目标目录的 [`permissions.defaultMode`](/docs/zh-CN/settings-reference#permissions-defaultmode)。两个源规则适用:7321. 目标目录的 [`permissions.defaultMode`](/docs/zh-CN/settings-reference#permissions-defaultmode)。适用两条来源规则:
733 * `auto` 和 `bypassPermissions` [仅从托管设置、`--settings` 文件或 `~/.claude/settings.json` 生效](/docs/zh-CN/settings-reference#permissions-defaultmode)。733 * `auto` 和 `bypassPermissions` [仅在来自托管设置、`--settings` 文件或 `~/.claude/settings.json` 时生效](/docs/zh-CN/settings-reference#permissions-defaultmode)。
734 * Claude Code 拒绝来自项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 的 `defaultMode`,选择比您来自的会话所在的权限模式更宽松的模式。734 * 如果项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的 `defaultMode` 选择了比您来源会话更宽松的模式,Claude Code 会拒绝它。
7352. 您来自的会话的权限模式7352. 您来源会话的权限模式
736 736
737当 Claude Code 拒绝源的模式为过于宽松时,列表中的下一个源决定。例如,如果您从计划模式会话分派到其检入的设置要求 `acceptEdits` 的目录,新会话在计划模式中启动。如果您将该 `defaultMode` 移到 `~/.claude/settings.json`,它无论您来自的会话的权限模式如何都适用。737当 Claude Code 因某个来源的模式过于宽松而拒绝它时,由列表中的下一个来源决定。例如,如果您从计划模式会话分派到一个其已签入设置要求 `acceptEdits` 的目录,新会话会以计划模式启动。如果您将该 `defaultMode` 移到 `~/.claude/settings.json`,则无论您来源会话的权限模式如何,它都会生效。
738 738
739宽松性运行计划,然后手动和 `dontAsk`,然后 `acceptEdits` 和 auto,每个计为比另一个更宽松,然后 `bypassPermissions`。739宽松程度从低到高依次为:计划模式,然后是手动和 `dontAsk`,然后是 `acceptEdits` 和 auto(二者均视为比对方更宽松),最后是 `bypassPermissions`。
740 740
741<h4 id="dispatch-defaults">741<h4 id="dispatch-defaults">
742 分派默认值742 分派默认值
743</h4>743</h4>
744 744
745要为您从 agent 视图分派的每个会话设置默认值,在打开它时传递 `--permission-mode`、`--model`、`--effort` 或 `--agent` 中的任何一个:745要为从 Agent 视图分派的每个会话设置默认值,请在打开 Agent 视图时传递 `--permission-mode`、`--model`、`--effort` 或 `--agent` 中的任意一个:
746 746
747```bash theme={null}747```bash theme={null}
748claude agents --permission-mode plan --model opus --effort high748claude agents --permission-mode plan --model opus --effort high
749```749```
750 750
751`--effort` 这里接受与 [top-level `--effort` 标志](/docs/zh-CN/cli-reference#cli-flags) 相同的值,包括 `ultracode`。751此处的 `--effort` 接受与 [顶层 `--effort` 标志](/docs/zh-CN/cli-reference#cli-flags) 相同的值,包括 `ultracode`。
752 752
753`--agent` 设置当分派提示不命名一个时使用的 [subagent](/docs/zh-CN/sub-agents),要么使用 `@name` 要么作为第一个单词。它默认为 [`agent` 设置](/docs/zh-CN/settings-reference#agent)(如果设置了),否则为内置的 catch-all `claude` agent。在分派输入中命名 subagent 覆盖两者。753`--agent` 设置分派提示词未指定子代理(无论是通过 `@name` 还是作为第一个单词)时使用的 [子代理](/docs/zh-CN/sub-agents)。如果设置了 [`agent` 设置](/docs/zh-CN/settings-reference#agent),则默认使用该设置,否则使用内置的通用 `claude` Agent。在分派输入中指定子代理会覆盖两者。
754 754
755`claude agents` 也接受 `--dangerously-skip-permissions` 作为 `--permission-mode bypassPermissions` 的简写,和 `--allow-dangerously-skip-permissions` 使 `bypassPermissions` 在每个分派会话的 `Shift+Tab` 循环中可用,而不在该模式中启动。两者都匹配 [top-level CLI flags](/docs/zh-CN/cli-reference)。755`claude agents` 还接受 `--dangerously-skip-permissions` 作为 `--permission-mode bypassPermissions` 的简写,以及 `--allow-dangerously-skip-permissions`,使 `bypassPermissions` 在每个分派会话的 `Shift+Tab` 循环中可用,而不以该模式启动。两者都与 [顶层 CLI 标志](/docs/zh-CN/cli-reference) 一致。
756 756
757传递 `--restricted` 以在 [restricted mode](/docs/zh-CN/cli-reference#cli-flags) 中启动您从视图分派的每个会话,就像每个都使用 top-level `--restricted` 标志启动一样。需要 Claude Code v2.1.248 或更高版本。757传递 `--restricted` 可使您从该视图分派的每个会话都以 [受限模式](/docs/zh-CN/cli-reference#cli-flags) 启动,如同每个会话都使用顶层 `--restricted` 标志启动一样。需要 Claude Code v2.1.248 或更高版本。
758 758
759活跃的默认值出现在分派输入下方的页脚中。759当前生效的默认值会显示在分派输入框下方的页脚中。
760 760
761Claude Code 拒绝 `claude --bg --permission-mode bypassPermissions` 直到您通过运行 `claude --dangerously-skip-permissions` 一次交互式接受 bypass 免责声明,因为该模式让您不观看的会话无需批准即可行动。将 `--dangerously-skip-permissions` 或 `--permission-mode bypassPermissions` 传递给 `claude agents` 在您之前未接受时显示相同的免责声明,接受将 `bypassPermissions` 应用于您从视图启动的会话。传递 `--allow-dangerously-skip-permissions` 也显示相同的免责声明,接受使 `bypassPermissions` 在这些会话的 `Shift+Tab` 循环中可用,而不在其中启动它们。761在您通过交互式运行一次 `claude --dangerously-skip-permissions` 接受绕过免责声明之前,Claude Code 会拒绝 `claude --bg --permission-mode bypassPermissions`,因为该模式允许一个您未在观察的会话无需批准即可执行操作。如果您之前未接受过,将 `--dangerously-skip-permissions` 或 `--permission-mode bypassPermissions` 传递给 `claude agents` 会显示相同的免责声明,接受后会将 `bypassPermissions` 应用于您从该视图启动的会话。传递 `--allow-dangerously-skip-permissions` 同样会显示该免责声明,接受后会使 `bypassPermissions` 在这些会话的 `Shift+Tab` 循环中可用,但不会以该模式启动它们。
762 762
763<h4 id="what-persists-across-restarts">763<h4 id="what-persists-across-restarts">
764 跨重新启动持续的内容764 重新启动后保留的内容
765</h4>765</h4>
766 766
767您为后台会话选择的权限模式、模型和努力,以及 [它继承的配置标志](#what-carries-over-when-you-background),在主管稍后 [停止并重新启动](#the-supervisor-process) 其进程时都持续。您使用 `claude --bg --dangerously-skip-permissions` 或 `claude --bg --permission-mode bypassPermissions` 启动的会话在该重新启动后保留在 `bypassPermissions` 中。您在会话中期使用 `/model` 或 `/effort` 更改的模型或努力也保留。767您为后台会话选择的权限模式、模型和 effort,以及 [它继承的配置标志](#what-carries-over-when-you-background),在主管进程之后 [停止并重新启动](#the-supervisor-process) 其进程时都会保留。使用 `claude --bg --dangerously-skip-permissions` 或 `claude --bg --permission-mode bypassPermissions` 启动的会话在重新启动后仍处于 `bypassPermissions`。您在会话中途使用 `/model` 或 `/effort` 更改的模型或 effort 也会保留。
768 768
769如果会话从您的设置而不是从 `--effort` 或 `/effort` 获取其努力,Claude Code 每次为会话启动进程时都会再次读取您的设置。在您编辑 `settings.json` 中保存的努力后,更改到达您使用 `←` 或 `/bg` 后台处理的会话,及其稍后的重新启动。保存的努力是 [`effortLevel`](/docs/zh-CN/settings-reference#effortlevel) 键或 [`modelSettings`](/docs/zh-CN/settings-reference#modelsettings) 条目。769如果会话的 effort 来自您的设置,而不是 `--effort` 或 `/effort`,Claude Code 每次为该会话启动进程时都会重新读取您的设置。在您编辑 `settings.json` 中保存的 effort 后,更改会作用于您使用 `←` 或 `/bg` 转入后台的会话及其之后的重新启动。保存的 effort 是 [`effortLevel`](/docs/zh-CN/settings-reference#effortlevel) 键或 [`modelSettings`](/docs/zh-CN/settings-reference#modelsettings) 条目。
770 770
771Claude Code 也保留您使用 [`/rename`](/docs/zh-CN/commands) 或 `Ctrl+R` 设置的名称跨该重新启动,因此您仍然可以运行 [`claude --resume <name>`](/docs/zh-CN/sessions#name-your-sessions) 到达会话。771Claude Code 还会在重新启动后保留您使用 [`/rename`](/docs/zh-CN/commands) 或 `Ctrl+R` 设置的名称,因此您仍可以运行 [`claude --resume <name>`](/docs/zh-CN/sessions#name-your-sessions) 来访问该会话。
772 772
773您使用 [`Ctrl+S`](/docs/zh-CN/interactive-mode#general-controls) 在附加时隐藏的提示与会话一起保留。在其进程停止或重新启动后重新打开会话,`Ctrl+S` 恢复隐藏的文本。隐藏内容中的粘贴内容不会在重新启动中存活。773您在附加状态下使用 [`Ctrl+S`](/docs/zh-CN/interactive-mode#general-controls) 暂存的提示词也会随会话保留。在会话进程停止或重新启动后重新打开会话,按 `Ctrl+S` 即可恢复暂存的文本。暂存内容中的粘贴内容在重新启动后不会保留。
774 774
775<h3 id="settings-plugins-and-mcp-servers">775<h3 id="settings-plugins-and-mcp-servers">
776 设置、plugins 和 MCP 服务器776 设置、插件和 MCP 服务器
777</h3>777</h3>
778 778
779Agent 视图接受与 `claude` 相同的配置标志以加载设置、plugins、MCP 服务器和其他目录。Agent 视图将 `--settings`、`--setting-sources` 和 `--plugin-dir` 应用于自己,并将每个配置标志传递给您从它分派的会话,因此您以这种方式加载的 plugin 或 MCP 服务器在这些会话中可用。779Agent 视图接受与 `claude` 相同的配置标志,用于加载设置、插件、MCP 服务器和附加目录。Agent 视图会将 `--settings`、`--setting-sources` 和 `--plugin-dir` 应用于自身,并将每个配置标志传递给您从中分派的会话,因此以这种方式加载的插件或 MCP 服务器在这些会话中可用。
780 780
781| 标志 | 效果 |781| 标志 | 效果 |
782| :- | :- |782| :- | :- |
783| [`--settings <file-or-json>`](/docs/zh-CN/settings) | 覆盖 agent 视图和分派会话的设置 |783| [`--settings <file-or-json>`](/docs/zh-CN/settings) | 覆盖 Agent 视图和分派会话的设置 |
784| [`--setting-sources <sources>`](/docs/zh-CN/cli-reference#cli-flags) | 仅加载命名的设置源,在 agent 视图和分派会话中 |784| [`--setting-sources <sources>`](/docs/zh-CN/cli-reference#cli-flags) | 在 Agent 视图和分派会话中仅加载指定的设置来源 |
785| [`--add-dir <path>`](/docs/zh-CN/permissions#additional-directories-grant-file-access-not-configuration) | 授予对其他目录的文件访问权限 |785| [`--add-dir <path>`](/docs/zh-CN/permissions#additional-directories-grant-file-access-not-configuration) | 授予对附加目录的文件访问权限 |
786| [`--plugin-dir <path>`](/docs/zh-CN/plugins/create#load-a-directory-or-archive-for-one-session) | 从本地目录加载 plugin |786| [`--plugin-dir <path>`](/docs/zh-CN/plugins/create#load-a-directory-or-archive-for-one-session) | 从本地目录加载插件 |
787| [`--mcp-config <file-or-json>`](/docs/zh-CN/mcp) | 从配置文件或 JSON 字符串加载 MCP 服务器 |787| [`--mcp-config <file-or-json>`](/docs/zh-CN/mcp) | 从配置文件或 JSON 字符串加载 MCP 服务器 |
788| `--strict-mcp-config` | 仅使用来自 `--mcp-config` 的 MCP 服务器,忽略其他 MCP 配置。请参阅 [Exclusive control with managed-mcp.json](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 了解标志在托管 MCP 文件下的作用 |788| `--strict-mcp-config` | 仅使用来自 `--mcp-config` 的 MCP 服务器,忽略其他 MCP 配置。请参阅 [使用 managed-mcp.json 进行独占控制](/docs/zh-CN/managed-mcp#exclusive-control-with-managed-mcp-json) 了解该标志在托管 MCP 文件下的作用 |
789 789
790每个值重复 `--add-dir`、`--plugin-dir` 或 `--mcp-config` 一次。`claude agents` 不支持空格分隔的形式,例如 `--add-dir a b c`。790每个值需重复一次 `--add-dir`、`--plugin-dir` 或 `--mcp-config`。`claude agents` 不支持空格分隔的形式,例如 `--add-dir a b c`。
791 791
792您可以在 `agents` 前或后放置 `--settings`、`--setting-sources` 和 `--plugin-dir`。将 `--add-dir` 和 `--mcp-config` 保留在 `agents` 后:如果您在 `agents` 前放置任何一个,[`claude agents --json`](#manage-sessions-from-the-shell) 失败,出现 `unknown option` 错误。792您可以将 `--settings`、`--setting-sources` 和 `--plugin-dir` 放在 `agents` 之前或之后。请将 `--add-dir` 和 `--mcp-config` 放在 `agents` 之后:如果将其中任一个放在 `agents` 之前,[`claude agents --json`](#manage-sessions-from-the-shell) 会因 `unknown option` 错误而失败。
793 793
794以下示例使用设置覆盖和一个额外目录打开 agent 视图:794以下示例使用设置覆盖和一个额外目录打开 Agent 视图:
795 795
796```bash theme={null}796```bash theme={null}
797claude agents --settings ./ci-settings.json --add-dir ../shared-lib797claude agents --settings ./ci-settings.json --add-dir ../shared-lib
798```798```
799 799
800`--settings` 接受文件路径或内联 JSON 字符串。文件路径必须指向现有文件;如果不存在,Claude Code 以 `Settings file not found` 错误退出。800`--settings` 接受文件路径或内联 JSON 字符串。文件路径必须指向已存在的文件;如果文件不存在,Claude Code 会以 `Settings file not found` 错误退出。
801 801
802<h2 id="manage-sessions-from-the-shell">802<h2 id="manage-sessions-from-the-shell">
803 从 shell 管理会话803 从 shell 管理会话
804</h2>804</h2>
805 805
806每个后台会话有一个短 ID,你可以从 shell 使用。当你使用 `claude --bg` 启动会话时会打印该 ID,每个会话的 ID 是其在 `~/.claude/jobs/` 下的目录名。这些命令对于脚本编写或当你不想打开 agent view 时很有用。806每个后台会话有一个短 ID,您可以从 shell 使用。当您使用 `claude --bg` 启动会话时会打印该 ID,每个会话的 ID 是其在 `~/.claude/jobs/` 下的目录名。这些命令对于脚本编写或当您不想打开 agent view 时很有用。
807 807
808| 命令 | 目的 |808| 命令 | 目的 |
809| :- | :- |809| :- | :- |
810| `claude agents` | 打开 agent view |810| `claude agents` | 打开 agent view |
811| `claude agents --cwd <path>` | 打开 agent view,范围限定为在 `<path>` 下启动的会话 |811| `claude agents --cwd <path>` | 打开 agent view,范围限定为在 `<path>` 下启动的会话 |
812| `claude agents --json` | 将会话打印为 JSON 数组并退出。参见 [将会话列为 JSON](#list-sessions-as-json) |812| `claude agents --json` | 将会话打印为 JSON 数组并退出。参见 [将会话列为 JSON](#list-sessions-as-json) |
813| `claude attach <id>` | 在此终端附加到会话 |813| `claude attach <id\|name>` | 在此终端附加到会话 |
814| `claude logs <id>` | 打印会话的最近输出 |814| `claude logs <id\|name>` | 打印会话的最近输出 |
815| `claude stop <id>` | 停止会话。也接受 `claude kill` |815| `claude stop <id>` | 停止会话。也接受 `claude kill` |
816| `claude respawn <id>` | 重新启动会话,运行中或已停止,例如用于获取更新的 Claude Code 二进制文件。重新启动的会话恢复其保存的对话;当磁盘上没有对话时,它会再次运行其原始提示作为新对话 |816| `claude respawn <id>` | 重新启动会话,运行中或已停止,例如用于获取更新的 Claude Code 二进制文件。重新启动的会话恢复其保存的对话;当磁盘上没有对话时,它会再次运行其原始提示词作为新对话 |
817| `claude respawn --all` | 重新启动每个运行中的会话,例如一次性将所有会话移至更新的 Claude Code 二进制文件 |817| `claude respawn --all` | 重新启动每个运行中的会话,例如一次性将所有会话移至更新的 Claude Code 二进制文件 |
818| `claude rm <id>` | 从列表中删除会话,以及 Claude 为其创建的 worktree(当安全删除时);参见 [删除会话会删除什么](#what-deleting-a-session-removes)。对话记录保存在你的本地机器上,并且仍然可以通过 `claude --resume` 访问 |818| `claude rm <id>` | 从列表中删除会话,以及 Claude 为其创建的 worktree(当安全删除时);参见 [删除会话会删除什么](#what-deleting-a-session-removes)。会话记录保存在您的本地机器上,并且仍然可以通过 `claude --resume` 访问 |
819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | 删除因未推送提交而删除被拒绝的会话,丢弃 worktree 及其分支和提交。传递拒绝打印的确切值;参见 [删除会话会删除什么](#what-deleting-a-session-removes)。需要 v2.1.260 或更高版本 |819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | 删除因未推送提交而删除被拒绝的会话,丢弃 worktree 及其分支和提交。传递拒绝打印的确切值;参见 [删除会话会删除什么](#what-deleting-a-session-removes)。需要 v2.1.260 或更高版本 |
820| `claude rm <id> --force-remove-worktree <worktree-id>` | 删除因 git 或 `WorktreeRemove` hook 无法删除其 worktree 而删除被拒绝的会话,无论如何删除 worktree 目录并在存储库中保留其分支。传递拒绝打印的确切值;参见 [删除会话会删除什么](#what-deleting-a-session-removes)。需要 v2.1.268 或更高版本 |820| `claude rm <id> --force-remove-worktree <worktree-id>` | 删除因 git 或 `WorktreeRemove` hook 无法删除其 worktree 而删除被拒绝的会话,无论如何删除 worktree 目录并在仓库中保留其分支。传递拒绝打印的确切值;参见 [删除会话会删除什么](#what-deleting-a-session-removes)。需要 v2.1.268 或更高版本 |
821| `claude daemon status` | 打印 [supervisor](#the-supervisor-process) 的状态、版本、socket 目录和 worker 数量 |821| `claude daemon status` | 打印 [supervisor](#the-supervisor-process) 的状态、版本、socket 目录和 worker 数量 |
822| `claude daemon stop --any` | 停止 supervisor 进程及其托管的后台会话。传递 `--keep-workers` 以保持后台会话运行,以便下一个 supervisor 重新连接到它们。下一个 `claude agents` 或 `claude --bg` 启动一个新的 supervisor |822| `claude daemon stop --any` | 停止 supervisor 进程及其托管的后台会话。传递 `--keep-workers` 以保持后台会话运行,以便下一个 supervisor 重新连接到它们。下一个 `claude agents` 或 `claude --bg` 启动一个新的 supervisor |
823 823
824`claude attach` 和 `claude logs` 可以使用运行中会话名称的一部分代替 ID,例如 `claude logs "auth refactor"`。传递名称需要 Claude Code v2.1.290 或更高版本。
825
824<h3 id="list-sessions-as-json">826<h3 id="list-sessions-as-json">
825 将会话列为 JSON827 将会话列为 JSON
826</h3>828</h3>
835| `id` | 后台会话 | 短 ID,可与 `claude attach`、`claude logs` 和 `claude stop` 一起使用 |837| `id` | 后台会话 | 短 ID,可与 `claude attach`、`claude logs` 和 `claude stop` 一起使用 |
836| `state` | 后台会话 | `working`、`blocked`、`done`、`failed` 或 `stopped` 之一。参见 [从脚本读取会话状态](#read-session-state-from-a-script) 了解每个值的含义 |838| `state` | 后台会话 | `working`、`blocked`、`done`、`failed` 或 `stopped` 之一。参见 [从脚本读取会话状态](#read-session-state-from-a-script) 了解每个值的含义 |
837| `pid`、`status` | 进程活跃时 | 进程 ID 和 `busy`、`waiting` 或 `idle` 之一 |839| `pid`、`status` | 进程活跃时 | 进程 ID 和 `busy`、`waiting` 或 `idle` 之一 |
838| `waitingFor` | 当 `status` 为 `waiting` 时 | 会话被阻止的原因:`permission prompt` 表示需要批准,`input needed` 表示来自 Claude 或 MCP 服务器的输入请求的问题,`sandbox request`、`worker request` 或 `dialog open` |840| `waitingFor` | 当 `status` 为 `waiting` 时 | 会话被阻止的原因:`permission prompt` 表示需要批准,`input needed` 表示来自 Claude 的问题或 MCP 服务器的输入请求,`sandbox request`、`worker request` 或 `dialog open` |
839| `sessionId`、`name` | 当设置时 | `sessionId` 是完整的会话 UUID,可与 [`claude --resume`](/docs/zh-CN/sessions) 一起使用。交互式会话的 `name` 是其 [默认显示名称](/docs/zh-CN/sessions#name-your-sessions),直到你命名会话或在其中接受计划 |841| `sessionId`、`name` | 当设置时 | `sessionId` 是完整的会话 UUID,可与 [`claude --resume`](/docs/zh-CN/sessions) 一起使用。交互式会话的 `name` 是其 [默认显示名称](/docs/zh-CN/sessions#name-your-sessions),直到您命名会话或在其中接受计划 |
840 842
841<h3 id="read-session-state-from-a-script">843<h3 id="read-session-state-from-a-script">
842 从脚本读取会话状态844 从脚本读取会话状态
846 848
847| `state` | 含义 |849| `state` | 含义 |
848| :- | :- |850| :- | :- |
849| `working` | 一个回合正在运行,或会话在其自己驱动的工作步骤之间,例如 [`/loop`](/docs/zh-CN/scheduled-tasks) 迭代或对 CI 的等待。`status` 告诉你其进程现在是否 `busy` |851| `working` | 一个轮次正在运行,或会话在其自己驱动的工作步骤之间,例如 [`/loop`](/docs/zh-CN/scheduled-tasks) 迭代或对 CI 的等待。`status` 告诉您其进程现在是否 `busy` |
850| `blocked` | 会话在等待你:它提出的问题、权限或沙箱决定、只有你能清除的错误(例如过期的登录),或如果你在没有提示的情况下启动它,则为其第一个提示。当等待是活跃进程中的开放提示时,`waitingFor` 会命名它 |852| `blocked` | 会话在等待您:它提出的问题、权限或沙箱决定、只有您能清除的错误(例如过期的登录),或如果您在没有提示词的情况下启动它,则为其第一个提示词。当等待是活跃进程中的开放提示时,`waitingFor` 会命名它 |
851| `done` | 最后一个回合完成了你要求的内容,会话已准备好接收你的下一个提示,无论其进程是否仍然活跃 |853| `done` | 最后一个轮次完成了您要求的内容,会话已准备好接收您的下一个提示词,无论其进程是否仍然活跃 |
852| `failed`、`stopped` | 任务以错误结束,或会话被停止 |854| `failed`、`stopped` | 任务以错误结束,或会话被停止 |
853 855
854完成其回合并等待你的下一条指令的会话读取 `done`,而不是 `blocked`。`blocked` 总是意味着会话在继续之前需要你提供的东西。856完成其轮次并等待您的下一条指令的会话读取 `done`,而不是 `blocked`。`blocked` 总是意味着会话在继续之前需要您提供的东西。
855 857
856`~/.claude/jobs/<id>/` 下的文件不是稳定的接口。会话或其他程序写入 `state`、`detail`、`tempo` 或 `needs` 的值会在下一次更新时被替换。858`~/.claude/jobs/<id>/` 下的文件不是稳定的接口。会话或其他程序写入 `state`、`detail`、`tempo` 或 `needs` 的值会在下一次更新时被替换。
857 859
858如果你想让会话用自己的话报告进度,让它写一个自己的文件,例如在 `$CLAUDE_JOB_DIR/tmp` 下,而不是编辑 `state.json`。860如果您想让会话用自己的话报告进度,让它写一个自己的文件,例如在 `$CLAUDE_JOB_DIR/tmp` 下,而不是编辑 `state.json`。
859 861
860<h2 id="how-background-sessions-are-hosted">862<h2 id="how-background-sessions-are-hosted">
861 后台会话如何被托管863 后台会话如何被托管
862</h2>864</h2>
863 865
864Claude Code 将 agent view 中列出的每个会话都视为后台会话,无论你当前是否连接到它。相比之下,通过直接运行 `claude` 启动的会话与该终端绑定,并在终端关闭时结束,除非你[将其发送到后台](#from-inside-a-session)。866Claude Code 将 agent view 中列出的每个会话都视为后台会话,无论您当前是否连接到它。相比之下,通过直接运行 `claude` 启动的会话与该终端绑定,并在终端关闭时结束,除非您[将其发送到后台](#from-inside-a-session)。
865 867
866要检查你所在的会话类型,请运行 [`/status`](/docs/zh-CN/commands)。在后台会话中,`Session kind` 行显示 `background job · attached` 或 `background job · unattended`,具体取决于是否连接了终端,在任何其他会话中显示 `interactive`。868要检查您所在的会话类型,请运行 [`/status`](/docs/zh-CN/commands)。在后台会话中,`Session kind` 行显示 `background job · attached` 或 `background job · unattended`,具体取决于是否连接了终端,在任何其他会话中显示 `interactive`。
867 869
868<h3 id="the-supervisor-process">870<h3 id="the-supervisor-process">
869 监督进程871 监督进程
870</h3>872</h3>
871 873
872监督进程是一个后台服务,运行你的后台会话,使其在你关闭 agent view 或终端后继续工作。Claude Code 在你第一次后台化会话或打开 agent view 时启动它,你不需要自己管理它。874监督进程是一个后台服务,运行您的后台会话,使其在您关闭 agent view 或终端后继续工作。Claude Code 在您第一次后台化会话或打开 agent view 时启动它,您不需要自己管理它。
873 875
874每个会话都是监督进程下的自己的 Claude Code 进程,该进程发生的情况取决于会话的状态:876每个会话都是监督进程下的独立 Claude Code 进程,该进程发生的情况取决于会话的状态:
875 877
876* **工作中、暂停在权限提示或其他对话上,或已连接**:进程继续运行。运行中的子代理、工作流或监视器计为工作中。878* **工作中、暂停在权限提示或其他对话框上,或已连接**:进程继续运行。运行中的子代理、工作流或监视器计为工作中。
877* **已完成或等待你的下一条消息,且未连接约一小时**:监督进程停止该进程以释放资源。以向你提问结束其轮次的会话计为等待你的下一条消息。对话保存在磁盘上,下次你连接或回复时,会话从中断处恢复。使用 `Ctrl+T` 固定会话以保持其进程运行。879* **已完成或等待您的下一条消息,且未连接约一小时**:监督进程停止该进程以释放资源。以向您提问结束其轮次的会话计为等待您的下一条消息。对话保存在磁盘上,下次您连接或回复时,会话从中断处恢复。使用 `Ctrl+T` 固定会话以保持其进程运行。
878* **在监督进程运行时意外退出**:监督进程重新启动该进程。使用 `←` 或 `/background` 后台化的会话(例如使用 `kill`)标记为已停止而不是重新启动。对于以关闭结束的会话,请参阅[会话在关闭后显示为失败或已停止](#sessions-show-as-failed-after-shutdown)。880* **在监督进程运行时意外退出**:监督进程重新启动该进程。如果通过 `kill` 等方式结束您自己使用 `←` 或 `/background` 后台化的会话,该会话会被标记为已停止,而不是重新启动。对于以关闭结束的会话,请参阅[会话在关闭后显示为失败或已停止](#sessions-show-as-failed-after-shutdown)。
879* **自动更新后**:监督进程重新启动自身到新版本,并在后台移动空闲会话。工作中、等待你或已连接的会话不会被中断。881* **自动更新后**:监督进程重新启动自身到新版本,并在后台移动空闲会话。工作中、等待您或已连接的会话不会被中断。
880 882
881当会话的进程停止或重新启动时,Claude 在其中启动的后台 shell 命令、动态工作流和后台子代理会转移到其下一个进程;运行中的监视器和子代理启动的 shell 命令会随进程停止。删除会话会停止它转移的所有内容。要改为让所有内容随进程停止而不是转移,请将 [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/zh-CN/env-vars#variables) 设置为 `1`。883当会话的进程停止或重新启动时,Claude 在其中启动的后台 shell 命令、动态工作流和后台子代理会转移到其下一个进程;运行中的监视器和子代理启动的 shell 命令会随进程停止。删除会话会停止它转移的所有内容。要改为让所有内容随进程停止而不是转移,请将 [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/zh-CN/env-vars#variables) 设置为 `1`。
882 884
883监督进程及其会话使用与你的交互式会话相同的存储凭证进行身份验证。关于哪些设置和 shell 变量到达会话(包括 `PATH`),请参阅[设置和提供商](#settings-and-provider)。关于网关端点,请参阅 [LLM 网关](#llm-gateway)。885监督进程及其会话使用与您的交互式会话相同的存储凭据进行身份验证。关于哪些设置和 shell 变量到达会话(包括 `PATH`),请参阅[设置和提供商](#settings-and-provider)。关于网关端点,请参阅 [LLM 网关](#llm-gateway)。
884 886
885<h3 id="where-state-is-stored">887<h3 id="where-state-is-stored">
886 状态存储位置888 状态存储位置
887</h3>889</h3>
888 890
889会话状态存储在你的 Claude Code 配置目录下。如果你设置了 [`CLAUDE_CONFIG_DIR`](/docs/zh-CN/env-vars),监督进程使用该目录而不是 `~/.claude`,并作为单独的实例运行,具有其自己的会话。891会话状态存储在您的 Claude Code 配置目录下。如果您设置了 [`CLAUDE_CONFIG_DIR`](/docs/zh-CN/env-vars),监督进程使用该目录而不是 `~/.claude`,并作为单独的实例运行,具有其自己的会话。
890 892
891| 路径 | 内容 |893| 路径 | 内容 |
892| :- | :- |894| :- | :- |
893| `~/.claude/daemon.log` | 监督进程日志 |895| `~/.claude/daemon.log` | 监督进程日志 |
894| `~/.claude/daemon/roster.json` | 运行中的后台会话列表,用于在重新启动后重新连接 |896| `~/.claude/daemon/roster.json` | 运行中的后台会话列表,用于在重新启动后重新连接 |
895| `~/.claude/jobs/<id>/state.json` | 在 agent view 中显示的每会话状态。通过 [`claude agents --json`](#read-session-state-from-a-script) 读取它,而不是解析文件 |897| `~/.claude/jobs/<id>/state.json` | 在 agent view 中显示的每会话状态。通过 [`claude agents --json`](#read-session-state-from-a-script) 读取它,而不是解析文件 |
896| `~/.claude/jobs/<id>/tmp/` | 每会话临时目录。Claude 的 `Write` 和 `Edit` 调用此处不会提示权限。会话删除时移除 |898| `~/.claude/jobs/<id>/tmp/` | 每会话临时目录。Claude 在此处的 `Write` 和 `Edit` 调用不会提示权限。会话删除时移除 |
897 899
898每个后台会话都设置了 `CLAUDE_JOB_DIR` 环境变量指向其 `~/.claude/jobs/<id>` 目录,因此会话运行的 shell 命令可以将临时文件写入 `$CLAUDE_JOB_DIR/tmp` 而不会与并行会话冲突。900每个后台会话都设置了 `CLAUDE_JOB_DIR` 环境变量指向其 `~/.claude/jobs/<id>` 目录,因此会话运行的 shell 命令可以将临时文件写入 `$CLAUDE_JOB_DIR/tmp` 而不会与并行会话冲突。
899 901
900要在不直接读取文件的情况下检查此状态,请运行 `claude daemon status`。它报告监督进程是否可达、其进程 ID 和版本、套接字目录以及有多少后台会话处于活跃状态。902要在不直接读取文件的情况下检查此状态,请运行 `claude daemon status`。它报告监督进程是否可达、其进程 ID 和版本、套接字目录以及有多少后台会话处于活跃状态。
901 903
902该命令还会在运行的监督进程版本与你调用的 `claude` 版本不同时发出警告,这发生在监督进程尚未重新启动到新版本的更新之后。警告显示两个版本,并告诉你运行 `claude daemon stop --any` 以获取新版本。当 Claude Code 作为操作系统服务安装时,建议的命令是 `claude daemon stop` 不带该标志。904该命令还会在运行的监督进程版本与您调用的 `claude` 版本不同时发出警告,这发生在监督进程尚未重新启动到新版本的更新之后。警告显示两个版本,并告诉您运行 `claude daemon stop --any` 以获取新版本。当 Claude Code 作为操作系统服务安装时,建议的命令是 `claude daemon stop` 不带该标志。
903 905
904会话完整地保留该版本不匹配:更新会话 `state.json` 的较旧 Claude Code 版本会保留它不识别的字段并保持会话列出。`roster.json` 中的会话列表遵循相同的规则,因此由较新版本启动的会话保持可达并在监督进程重新启动后继续接受输入。906会话在该版本不匹配时完好无损:更新会话 `state.json` 的较旧 Claude Code 版本会保留它不识别的字段并保持会话列出。`roster.json` 中的会话列表遵循相同的规则,因此由较新版本启动的会话保持可达并在监督进程重新启动后继续接受输入。
905 907
906<h3 id="turn-off-agent-view">908<h3 id="turn-off-agent-view">
907 关闭 agent view909 关闭 agent view
908</h3>910</h3>
909 911
910要完全关闭后台代理和 agent view,将 `disableAgentView` [设置](/docs/zh-CN/settings)设为 `true` 或设置 `CLAUDE_CODE_DISABLE_AGENT_VIEW` 环境变量。管理员可以通过[托管设置](/docs/zh-CN/managed-settings)强制执行这个。912要完全关闭后台 Agent 和 agent view,请将 `disableAgentView` [设置](/docs/zh-CN/settings)设为 `true` 或设置 `CLAUDE_CODE_DISABLE_AGENT_VIEW` 环境变量。管理员可以通过[托管设置](/docs/zh-CN/managed-settings)强制执行此项。
911 913
912<h2 id="troubleshooting">914<h2 id="troubleshooting">
913 Troubleshooting915 故障排除
914</h2>916</h2>
915 917
916<h3 id="claude-agents-lists-subagents-instead-of-opening-agent-view">918<h3 id="claude-agents-lists-subagents-instead-of-opening-agent-view">
917 `claude agents` 列出子代理而不是打开代理视图919 `claude agents` 列出子代理而不是打开 Agent 视图
918</h3>920</h3>
919 921
920如果 `claude agents` 打印一个计数,然后是您配置的子代理,然后退出,说明代理视图在您的环境中不可用。运行 `claude update` 来安装最新版本。922如果 `claude agents` 打印一个计数,然后是您配置的子代理,然后退出,说明 Agent 视图在您的环境中不可用。运行 `claude update` 来安装最新版本。
921 923
922如果更新后代理视图仍然没有打开,请检查它是否已被设置或环境变量[关闭](#turn-off-agent-view)。924如果更新后 Agent 视图仍然没有打开,请检查它是否已被设置或环境变量[关闭](#turn-off-agent-view)。
923 925
924<h3 id="agent-view-opens-with-no-sessions">926<h3 id="agent-view-opens-with-no-sessions">
925 代理视图打开时没有会话927 Agent 视图打开时没有会话
926</h3>928</h3>
927 929
928在您分派第一个会话之前,代理视图显示空的部分标题,每个标题下有一个描述,以及在输入上方有一行说明,代替会话列表。在底部的输入中输入提示,然后按 `Enter` 来分派您的第一个会话。930在您分派第一个会话之前,Agent 视图显示空的部分标题,每个标题下有一个描述,以及在输入框上方有一行说明,代替会话列表。在底部的输入框中输入提示词,然后按 `Enter` 来分派您的第一个会话。
929 931
930<h3 id="backgrounding-shows-a-background-this-session-dialog">932<h3 id="backgrounding-shows-a-background-this-session-dialog">
931 后台处理显示 `Background this session?` 对话框933 后台处理显示 `Background this session?` 对话框
935 937
936* **无法移动的工作**:该会话有无法移动到后台会话的工作,例如正在运行的[监视器](/docs/zh-CN/tools-reference#monitor-tool)。对话框命名 Claude Code 会停止的工作,并分别计算转移的任务数。938* **无法移动的工作**:该会话有无法移动到后台会话的工作,例如正在运行的[监视器](/docs/zh-CN/tools-reference#monitor-tool)。对话框命名 Claude Code 会停止的工作,并分别计算转移的任务数。
937* **具有运行子代理的工作流**:[动态工作流](/docs/zh-CN/workflows)仍然有子代理在运行。工作流本身会转移,但其运行的子代理从头开始重新启动,对话框会说明有多少个。939* **具有运行子代理的工作流**:[动态工作流](/docs/zh-CN/workflows)仍然有子代理在运行。工作流本身会转移,但其运行的子代理从头开始重新启动,对话框会说明有多少个。
938* **自动工件回复**:Claude [自动回复工件上的评论](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own)。这些回复在后台会话中继续,对话框会说明这一点。940* **自动 Artifact 回复**:Claude [自动回复 Artifact 上的评论](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own)。这些回复在后台会话中继续,对话框会说明这一点。
939 941
940运行 `/tasks` 来查看正在运行的所有内容,然后确认后台处理或选择 `Stay` 来让工作先完成。请参阅[后台处理时转移的内容](#what-carries-over-when-you-background),了解哪些类型的工作会转移,哪些 Claude Code 会停止。942运行 `/tasks` 来查看正在运行的所有内容,然后确认后台处理或选择 `Stay` 来让工作先完成。请参阅[后台处理时转移的内容](#what-carries-over-when-you-background),了解哪些类型的工作会转移,哪些 Claude Code 会停止。
941 943
942<h3 id="prompt-rejected-as-too-short">944<h3 id="prompt-rejected-as-too-short">
943 提示被拒绝为过短945 提示词被拒绝为过短
944</h3>946</h3>
945 947
946分派输入期望一个任务描述,而不是对话开场白。短于四个字符的提示会被拒绝,并显示 `Too short` 提示,以防止误触发启动会话。描述您希望会话执行的操作,例如 `investigate the flaky checkout test`。948分派输入框期望一个任务描述,而不是对话开场白。短于四个字符的提示词会被拒绝,并显示 `Too short` 提示,以防止误触发启动会话。描述您希望会话执行的操作,例如 `investigate the flaky checkout test`。
947 949
948<h3 id="sessions-show-as-failed-after-shutdown">950<h3 id="sessions-show-as-failed-after-shutdown">
949 会话在关闭后显示为失败或已停止951 会话在关闭后显示为失败或已停止
950</h3>952</h3>
951 953
952关闭或重新启动您的机器会停止运行的后台会话。等待您输入的会话在您返回时仍会显示在 `Needs input` 下。对于任何其他运行的会话,代理视图显示的内容取决于它上次取得进展的时间:954关闭或重新启动您的机器会停止运行的后台会话。等待您输入的会话在您返回时仍会显示在 `Needs input` 下。对于任何其他运行的会话,Agent 视图显示的内容取决于它上次取得进展的时间:
953 955
954* 在 48 小时内,会话显示为失败。附加或回复它,它会从中断的地方重新启动。956* 在 48 小时内,会话显示为失败。附加或回复它,它会从中断的地方重新启动。
955* 超过 48 小时,例如机器关闭数天后,会话显示为已停止,并显示 `ended while the background service was off`。在该行上按 `Enter`,页脚会显示 `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` 在同一行上再次按 `Enter` 来恢复其保存的对话。回复或 `claude attach <id>` 会在没有该页脚提示的情况下恢复它。957* 超过 48 小时,例如机器关闭数天后,会话显示为已停止,并显示 `ended while the background service was off`。在该行上按 `Enter`,页脚会显示 `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` 在同一行上再次按 `Enter` 来恢复其保存的对话。回复或 `claude attach <id>` 会在没有该页脚提示的情况下恢复它。
956 958
957当[转录清理](/docs/zh-CN/settings-reference#cleanupperioddays)删除了已停止会话的保存对话时,Claude Code 拒绝打开该行:消息说没有可恢复的内容。`claude rm <id>` 删除该行,除了[保留的情况](#what-deleting-a-session-removes)中描述的情况,`claude respawn <id>` 再次运行其原始提示。请参阅[此会话的保存对话不再在磁盘上](/docs/zh-CN/errors#this-sessions-saved-conversation-is-no-longer-on-disk)。959当[会话记录清理](/docs/zh-CN/settings-reference#cleanupperioddays)删除了已停止会话的保存对话时,Claude Code 拒绝打开该行:消息说没有可恢复的内容。`claude rm <id>` 删除该行,除了上文[保留的情况](#what-deleting-a-session-removes)中描述的情况,`claude respawn <id>` 再次运行其原始提示词。请参阅[此会话的保存对话不再在磁盘上](/docs/zh-CN/errors#this-sessions-saved-conversation-is-no-longer-on-disk)。
958 960
959仅睡眠不会停止会话。会话在睡眠中被保留,主管在唤醒时重新连接到它们。961仅睡眠不会停止会话。会话在睡眠中被保留,主管在唤醒时重新连接到它们。
960 962
962 打开会话说对话已经打开964 打开会话说对话已经打开
963</h3>965</h3>
964 966
965两个进程不能写入同一个转录。当已停止会话的保存对话已在另一个活跃的 Claude Code 进程中打开时,Claude Code 拒绝启动该会话自己的进程。您看到的内容取决于什么持有对话:967两个进程不能写入同一个会话记录。当已停止会话的保存对话已在另一个活跃的 Claude Code 进程中打开时,Claude Code 拒绝启动该会话自己的进程。您看到的内容取决于什么持有对话:
966 968
967* 您恢复对话的终端,例如使用 `claude --resume` 或 `/resume`:该行显示 `Open in a terminal`,并提示在那里继续,打开该行显示 `Can't open — this session is running in another terminal`。在该终端中继续,或退出它并再次打开该行。969* 您恢复对话的终端,例如使用 `claude --resume` 或 `/resume`:该行显示 `Open in a terminal`,并提示在那里继续,打开该行显示 `Can't open — this session is running in another terminal`。在该终端中继续,或退出它并再次打开该行。
968* 另一个非交互式 Claude Code 进程,例如同一对话的后台会话进程,尚未退出:打开该行显示 `This conversation is already open in another running Claude session`。使用该进程,或等待它退出并再次打开该行。970* 另一个非交互式 Claude Code 进程,例如同一对话的后台会话进程,尚未退出:打开该行显示 `This conversation is already open in another running Claude session`。使用该进程,或等待它退出并再次打开该行。
969 971
970Claude Code 保存您在拒绝的尝试中输入的回复,并在会话下次启动时发送它。972Claude Code 保存您在被拒绝的尝试中输入的回复,并在会话下次启动时发送它。
971 973
972<h3 id="opening-a-session-says-it-has-no-saved-transcript">974<h3 id="opening-a-session-says-it-has-no-saved-transcript">
973 打开会话说它没有保存的转录975 打开会话说它没有保存的会话记录
974</h3>976</h3>
975 977
976已停止的会话[从另一个对话后台处理](#from-inside-a-session)并在其第一个响应完成之前停止,没有任何可恢复的内容:在该第一个响应完成之前,对话仍然只存在于它被后台处理的会话中。`claude attach` 拒绝打开它,显示 `This session has no saved transcript`。978已停止的会话[从另一个对话后台处理](#from-inside-a-session)并在其第一个回复完成之前停止,没有任何可恢复的内容:在该第一个回复完成之前,对话仍然只存在于它被后台处理的会话中。`claude attach` 拒绝打开它,显示 `This session has no saved transcript`。
977 979
978在代理视图中,打开该行在列表下显示 `Press enter again to restart this session fresh`。在同一行上再次按 `Enter` 来使用空对话重新启动会话,或从 shell 运行 `claude respawn <id>`。980在 Agent 视图中,打开该行会在列表下显示 `Press enter again to restart this session fresh`。在同一行上再次按 `Enter` 来使用空对话重新启动会话,或从 shell 运行 `claude respawn <id>`。
979 981
980原始对话完整无损;使用 `claude --resume` 恢复它或继续在其中工作。有关详细信息,请参阅[错误参考](/docs/zh-CN/errors#this-session-has-no-saved-transcript)。982原始对话完整无损;使用 `claude --resume` 恢复它或继续在其中工作。有关详细信息,请参阅[错误参考](/docs/zh-CN/errors#this-session-has-no-saved-transcript)。
981 983
998释放机器上的内存,然后附加或回复该行,主管为会话启动新进程。当内存保持不足时,主管也会[停止空闲会话](#the-supervisor-process)来自行释放资源,如果停止其他会话没有释放任何内容,也会停止空闲的固定会话。1000释放机器上的内存,然后附加或回复该行,主管为会话启动新进程。当内存保持不足时,主管也会[停止空闲会话](#the-supervisor-process)来自行释放资源,如果停止其他会话没有释放任何内容,也会停止空闲的固定会话。
999 1001
1000<h3 id="agent-view-says-the-background-service-did-not-respond">1002<h3 id="agent-view-says-the-background-service-did-not-respond">
1001 代理视图说后台服务没有响应1003 Agent 视图说后台服务没有响应
1002</h3>1004</h3>
1003 1005
1004如果附加、查看或 `claude logs` 报告后台服务没有响应,主管进程可能已停滞。停止它并让下一个 `claude agents` 启动新的。要在重新启动期间保持后台会话运行,请传递 `--keep-workers`:1006如果附加、查看或 `claude logs` 报告后台服务没有响应,主管进程可能已停滞。停止它并让下一个 `claude agents` 启动新的。要在重新启动期间保持后台会话运行,请传递 `--keep-workers`:
1019 分派失败,显示 `Could not resolve authentication method`1021 分派失败,显示 `Could not resolve authentication method`
1020</h3>1022</h3>
1021 1023
1022如果后台分派失败,显示 `Could not resolve authentication method`,而交互式会话正常进行身份验证,接收分派的工作人员没有获取凭据。后台会话从[主管](#the-supervisor-process)获取其凭据,所以此错误意味着主管进程本身没有可用的存储凭据。确认您已运行 `/login` 或配置了 API 密钥,然后停止主管:1024如果后台分派失败,显示 `Could not resolve authentication method`,而交互式会话正常进行身份验证,说明接收分派的工作进程没有获取凭据。后台会话从[主管](#the-supervisor-process)获取其凭据,所以此错误意味着主管进程本身没有可用的存储凭据。确认您已运行 `/login` 或配置了 API 密钥,然后停止主管:
1023 1025
1024```bash theme={null}1026```bash theme={null}
1025claude daemon stop --any --keep-workers1027claude daemon stop --any --keep-workers
1047 附加后会话响应缓慢1049 附加后会话响应缓慢
1048</h3>1050</h3>
1049 1051
1050当已完成或等待您下一条消息的会话保持未附加约一小时时,主管停止其进程以释放资源。附加从中断的地方启动新进程,并在进程重新启动时立即切换到会话。正在工作、暂停在权限提示或其他对话上的会话,或[固定](#organize-the-list)的会话不会以这种方式停止,所以使用 `Ctrl+T` 固定会话以保持其响应性。1052当已完成或等待您下一条消息的会话保持未附加约一小时时,主管停止其进程以释放资源。附加从中断的地方启动新进程,并在进程重新启动时立即切换到会话。正在工作、暂停在权限提示或其他对话框上的会话,或[固定](#organize-the-list)的会话不会以这种方式停止,所以使用 `Ctrl+T` 固定会话以保持其响应性。
1051 1053
1052进程启动时,Claude Code 显示会话转录的尾部,格式化为实时会话呈现的方式,带有 markdown、突出显示的代码块和工具调用作为暗淡的行,上方是带有 `Session is starting` 注释的暗淡提示区域。实时会话在准备好后立即替换它。1054进程启动时,Claude Code 显示会话记录的尾部,格式化为实时会话呈现的方式,带有 markdown、突出显示的代码块和作为暗淡行的工具调用,上方是带有 `Session is starting` 注释的暗淡提示区域。实时会话在准备好后立即替换它。
1053 1055
1054<h3 id="claude/worktrees/-is-filling-up">1056<h3 id="claude/worktrees/-is-filling-up">
1055 `.claude/worktrees/` 正在填满1057 `.claude/worktrees/` 正在填满
1056</h3>1058</h3>
1057 1059
1058在代理视图中删除会话会删除 Claude 为其创建的 worktree,但[某些删除会保留 worktree 或在磁盘上留下其目录](#what-deleting-a-session-removes),所以剩余目录可能会累积。Git 不再识别的目录不会出现在 `git worktree list` 中,所以手动删除这些目录。1060在 Agent 视图中删除会话会删除 Claude 为其创建的 worktree,但[某些删除会保留 worktree 或在磁盘上留下其目录](#what-deleting-a-session-removes),所以剩余目录可能会累积。Git 不再识别的目录不会出现在 `git worktree list` 中,所以手动删除这些目录。
1059 1061
1060在项目目录中使用 `git worktree list` 列出剩余条目,并使用 `git worktree remove <path>` 删除每一个。请参阅[清理 worktrees](/docs/zh-CN/worktrees#clean-up-worktrees)。1062在项目目录中使用 `git worktree list` 列出剩余条目,并使用 `git worktree remove <path>` 删除每一个。请参阅[清理 worktrees](/docs/zh-CN/worktrees#clean-up-worktrees)。
1061 1063
1085 版本历史1087 版本历史
1086</h2>1088</h2>
1087 1089
1088Agent view 在研究预览期间发展迅速。如果你使用较旧的 Claude Code 版本,本页上的某些行为可能会有所不同;特别是,`claude agents` 拒绝它尚不支持的标志,出现 `unknown option` 错误。下表列出了何时添加每个标志和行为。1090Agent view 在研究预览期间发展迅速。如果您使用的是较旧的 Claude Code 版本,本页上的某些行为可能会有所不同;特别是,`claude agents` 会以 `unknown option` 错误拒绝它尚不支持的标志。下表列出了每个标志和行为的添加时间。
1089 1091
1090| 版本 | 更改 |1092| 版本 | 更改 |
1091| - | - |1093| - | - |
1094| v2.1.290 | [`claude attach` 和 `claude logs`](#manage-sessions-from-the-shell) 可以使用正在运行的会话名称的一部分来代替 ID。 |
1092| v2.1.288 | `Ctrl+F` 按名称查找会话,`Alt+↑` / `Alt+↓` 在组标题之间跳转。这两者以及 `Ctrl+R` 都可以[重新绑定](/docs/zh-CN/keybindings#agents-actions)。 |1095| v2.1.288 | `Ctrl+F` 按名称查找会话,`Alt+↑` / `Alt+↓` 在组标题之间跳转。这两者以及 `Ctrl+R` 都可以[重新绑定](/docs/zh-CN/keybindings#agents-actions)。 |
1093| v2.1.287 | [`n:<text>` 筛选器](#filter-sessions)按名称或第一个提示词查找会话。当任何筛选器处于活动状态时,您折叠的组会展开以显示其匹配项,并且第一个匹配项被选中,因此 `Enter` 会打开它。 |1096| v2.1.287 | [`n:<text>` 筛选器](#filter-sessions)按名称或第一个提示词查找会话。当任何筛选器处于活动状态时,您折叠的组会展开以显示其匹配项,并且第一个匹配项被选中,因此 `Enter` 会打开它。 |
1094| v2.1.287 | 作为[窥视回复](#peek-and-reply)发送的命令会在会话当前轮次结束时运行,包括在会话自身的输入框中一键入就立即运行的命令。内容恰好为 `/stop` 的回复会立即停止会话。 |1097| v2.1.287 | 作为[窥视回复](#peek-and-reply)发送的命令会在会话当前轮次结束时运行,包括在会话自身的输入框中一键入就立即运行的命令。内容恰好为 `/stop` 的回复会立即停止会话。 |
1095| v2.1.281 | [`--setting-sources`](/docs/zh-CN/cli-reference#cli-flags) 限制[转移](#what-carries-over-when-you-background)到你使用 `←` 或 `/bg` 后台的会话,以及你从 agent view 调度的会话。在此版本之前,生成的会话加载每个设置源。 |1098| v2.1.281 | [`--setting-sources`](/docs/zh-CN/cli-reference#cli-flags) 限制会[转移](#what-carries-over-when-you-background)到您使用 `←` 或 `/bg` 移到后台的会话,以及您从 agent view 调度的会话。在此版本之前,生成的会话会加载每个设置源。 |
1096| v2.1.281 | `claude --bg` 和重启会话的命令首先检查会话目录的工作区信任。从该目录中的终端,如果你尚未接受,[信任对话框出现](#from-your-shell);在无法出现对话框的地方,例如在脚本中,命令以 [`Workspace not trusted`](/docs/zh-CN/errors#workspace-not-trusted-when-dispatching-a-background-session) 错误退出。 |1099| v2.1.281 | `claude --bg` 以及重启会话的命令会首先检查会话目录的工作区信任。从该目录中的终端运行时,如果您尚未接受,[会出现信任对话框](#from-your-shell);在无法出现对话框的地方,例如在脚本中,命令会以 [`Workspace not trusted`](/docs/zh-CN/errors#workspace-not-trusted-when-dispatching-a-background-session) 错误退出。 |
1097| v2.1.274 | 自动更新后,你离开约一小时的 agent view 可以将自己重新启动到新的构建上。当它这样做时,它保留你打开它时的[调度默认值](#dispatch-defaults):`--model`、`--effort`、`--permission-mode`、`--allow-dangerously-skip-permissions` 和 `--agent`。在此版本之前,重新启动的 view 仅保留 `--cwd` 和配置标志,例如 `--settings` 和 `--mcp-config`,所以你之后调度的会话启动时没有这些默认值。 |1100| v2.1.274 | 自动更新后,您离开约一小时的 agent view 可以将自己重新启动到新的构建版本上。这样做时,它会保留您打开它时使用的[调度默认值](#dispatch-defaults):`--model`、`--effort`、`--permission-mode`、`--allow-dangerously-skip-permissions` 和 `--agent`。在此版本之前,重新启动的 view 仅保留 `--cwd` 和配置标志,例如 `--settings` 和 `--mcp-config`,因此您之后调度的会话启动时没有这些默认值。 |
1098| v2.1.274 | 当[删除被拒绝](#what-deleting-a-session-removes)因为 git 或你的 `WorktreeRemove` hook 无法删除 worktree 时,Claude Code 验证的已检出子模块没有对跟踪文件的未提交更改不会阻止再次删除的提议,并删除目录。已检出子模块内的未提交工作计为未提交更改,消息会命名子模块。在此版本之前,worktree 中的任何子模块检出都会阻止提议,消息说 worktree 包含嵌套存储库。 |1101| v2.1.274 | 当因为 git 或您的 `WorktreeRemove` hook 无法删除 worktree 而[删除被拒绝](#what-deleting-a-session-removes)时,经 Claude Code 验证对跟踪文件没有未提交更改的已检出子模块,不会阻止再次删除并强制删除目录的提议。已检出子模块内的未提交工作计为未提交更改,消息会指出该子模块。在此版本之前,worktree 中的任何子模块检出都会阻止该提议,消息称 worktree 包含嵌套仓库。 |
1099| v2.1.268 | 当[删除被拒绝](#what-deleting-a-session-removes)因为 git 或你的 `WorktreeRemove` hook 无法删除 worktree 时,消息会说明原因,包括 hook 如何结束以及其 stderr 的开始。对于位于存储库的 `.claude/worktrees/` 下的链接 worktree,没有对跟踪文件的未提交更改,其中没有嵌套存储库,也没有其他会话的记录命名它,再次删除会话会从 agent view 或使用 `claude rm <id> --force-remove-worktree <worktree-id>` 删除目录。在此版本之前,该行仅显示 `worktree could not be removed (WorktreeRemove hook failed)` 或 git 的错误,hook 的 stderr 仅进入调试日志,再次删除被以相同方式拒绝。 |1102| v2.1.268 | 当因为 git 或您的 `WorktreeRemove` hook 无法删除 worktree 而[删除被拒绝](#what-deleting-a-session-removes)时,消息会说明原因,包括 hook 如何结束以及其 stderr 的开头部分。对于位于仓库的 `.claude/worktrees/` 下、对跟踪文件没有未提交更改、其中没有嵌套仓库、且没有其他会话的记录指向它的链接 worktree,从 agent view 或使用 `claude rm <id> --force-remove-worktree <worktree-id>` 再次删除会话会强制删除该目录。在此版本之前,该行仅显示 `worktree could not be removed (WorktreeRemove hook failed)` 或 git 的错误,hook 的 stderr 仅进入调试日志,再次删除也会以相同方式被拒绝。 |
1100| v2.1.268 | 在第一个 `←` 显示 `Press ← again to open agents` 或在附加的会话中 `Press ← again to go back to agents` 后,[至少一秒后到达的第一次按压会切换](#switch-sessions-without-leaving-the-terminal),即使中间更快的按压被忽略。在此版本之前,每次被忽略的按压都会重新启动等待,所以以稳定的速度再次按 `←` 直到你暂停超过一秒才会切换。 |1103| v2.1.268 | 在第一次按 `←` 显示 `Press ← again to open agents`(在附加的会话中为 `Press ← again to go back to agents`)后,[至少一秒后的第一次按键会切换](#switch-sessions-without-leaving-the-terminal),即使中间更快的按键被忽略。在此版本之前,每次被忽略的按键都会重新开始等待,因此以稳定的节奏再次按 `←` 时,直到您暂停超过一秒才会切换。 |
1101| v2.1.260 | 当你[后台会话](#from-inside-a-session)时,你的其他会话的[代理列表](/docs/zh-CN/cross-session-messaging#see-which-sessions-claude-can-reach)显示对话一次,作为其后台会话,它们对它的消息不再到达你移动它的终端。在此版本之前,该终端可能在 `claude agents --json` 中显示为对话名称下的第二个交互式会话,在移动前已向对话发送消息的会话继续传递到该终端。 |1104| v2.1.260 | 当您[将会话移到后台](#from-inside-a-session)时,您的其他会话的 [Agent 列表](/docs/zh-CN/cross-session-messaging#see-which-sessions-claude-can-reach)仅显示该对话一次,即作为其后台会话,它们发送给它的消息也不再到达您将其移出的终端。在此版本之前,该终端可能仍作为对话名称下的第二个交互式会话被列出,而在移动之前已向该对话发送过消息的会话会继续向该终端投递消息。 |
1102| v2.1.260 | 当[删除因未推送的提交被拒绝](#what-deleting-a-session-removes)时,消息会说明 worktree 的分支以及有多少提交未推送,再次删除会话会丢弃 worktree 及其提交。在此版本之前,拒绝仅说 `worktree has commits that are not pushed anywhere`,再次删除被以相同方式拒绝,删除会话需要推送提交或手动删除 worktree。 |1105| v2.1.260 | 当[删除因未推送的提交被拒绝](#what-deleting-a-session-removes)时,消息会说明 worktree 的分支以及有多少提交未推送,再次删除会话会丢弃 worktree 及其提交。在此版本之前,拒绝消息仅显示 `worktree has commits that are not pushed anywhere`,再次删除也会以相同方式被拒绝,删除会话需要推送提交或手动删除 worktree。 |
1103| v2.1.257 | `←` [从附加的会话分离,即使 `/btw` 覆盖层打开](#attach-to-a-session),甚至在回答中途,覆盖层在你下次附加时重新打开。在此版本之前,当覆盖层打开时 `←` 不分离。 |1106| v2.1.257 | `←` [在 `/btw` 覆盖层打开时也会从附加的会话分离](#attach-to-a-session),即使在回答中途也是如此,覆盖层会在您下次附加时重新打开。在此版本之前,覆盖层打开时 `←` 不会分离。 |
1104| v2.1.257 | 当你运行 [`claude --resume <session-id> --bg`](#from-your-shell) 时,Claude Code 在其自己的 ID 下继续该会话,或在新 ID 下启动副本并打印 `note:` 行解释原因。`--continue`、裸 `--resume` 和带名称或路径的 `--resume` 启动具有相同注记的副本。在此版本之前,`--resume` 与 `--bg` 总是在新 ID 下启动副本且不说任何内容。 |1107| v2.1.257 | 当您运行 [`claude --resume <session-id> --bg`](#from-your-shell) 时,Claude Code 会以该会话自己的 ID 继续它,或以新 ID 启动一个副本并打印一行 `note:` 说明原因。`--continue`、不带参数的 `--resume` 以及带名称或路径的 `--resume` 会启动副本并显示相同的说明。在此版本之前,`--resume` 与 `--bg` 一起使用时总是以新 ID 启动副本,且不做任何说明。 |
1105| v2.1.257 | 当你从使用 `←` 打开的 agent view 调度会话时,Claude Code 在[目标目录通过 `permissions.defaultMode` 配置](#permission-mode)的权限模式下启动它。当目录未设置时,你来自的会话的权限模式适用。在此版本之前,调度的会话总是在你来自的会话的权限模式下启动,覆盖它。 |1108| v2.1.257 | 当您从使用 `←` 打开的 agent view 调度会话时,Claude Code 会以[目标目录通过 `permissions.defaultMode` 配置的权限模式](#permission-mode)启动它。当目录未设置时,使用您来源会话的权限模式。在此版本之前,调度的会话总是以您来源会话的权限模式启动,覆盖目录的设置。 |
1106| v2.1.257 | agent view 中的 `Ctrl+S`、`Ctrl+T` 和 `Ctrl+G` [遵循你的 `keybindings.json`](#keyboard-shortcuts):`Ctrl+S` 和 `Ctrl+T` 通过 `Agents` 上下文的 `agents:switchView` 和 `agents:togglePin` 操作,`Ctrl+G` 通过 `Chat` 上下文的 `chat:externalEditor` 绑定。在此版本之前,agent view 忽略 `keybindings.json`,这些键是固定的。 |1109| v2.1.257 | agent view 中的 `Ctrl+S`、`Ctrl+T` 和 `Ctrl+G` [遵循您的 `keybindings.json`](#keyboard-shortcuts):`Ctrl+S` 和 `Ctrl+T` 通过 `Agents` 上下文的 `agents:switchView` 和 `agents:togglePin` 操作,`Ctrl+G` 通过 `Chat` 上下文的 `chat:externalEditor` 绑定。在此版本之前,agent view 忽略 `keybindings.json`,这些键是固定的。 |
1107| v2.1.257 | 启动[后台服务](#the-supervisor-process)从两个失败原因恢复。在 macOS npm 安装上,自更新期间的启动[等待安装](/docs/zh-CN/errors#eacces-when-starting-a-background-session)而不是运行 npm 在替换二进制文件时放下的占位符。在 Windows 上,在机器上次启动前写入的陈旧 `daemon.lock`,或其记录的进程 ID 现在属于不同进程的,被替换。在此版本之前,macOS 启动在安装窗口期间失败,出现 `Error: claude native binary not installed.`,Windows 锁使每次启动都失败,出现 [`exited before it became reachable`](/docs/zh-CN/errors#background-service-exited-before-it-became-reachable),直到你删除 `~/.claude/daemon.lock`。 |1110| v2.1.257 | 启动[后台服务](#the-supervisor-process)时可以从两种失败原因中恢复。在 macOS 的 npm 安装上,自更新期间的启动会[等待安装完成](/docs/zh-CN/errors#eacces-when-starting-a-background-session),而不是运行 npm 在替换二进制文件时放置的占位文件。在 Windows 上,在机器上次启动之前写入的陈旧 `daemon.lock`,或其记录的进程 ID 现在属于其他进程的 `daemon.lock`,会被替换。在此版本之前,macOS 上的启动在安装窗口期间会失败并显示 `Error: claude native binary not installed.`,而 Windows 上的锁会使每次启动都失败并显示 [`exited before it became reachable`](/docs/zh-CN/errors#background-service-exited-before-it-became-reachable),直到您删除 `~/.claude/daemon.lock`。 |
1108| v2.1.257 | 当你在另一个 Claude Code 进程下载 npm 更新时打开或调度后台会话时,Claude Code [继续等待长达两分钟](/docs/zh-CN/errors#eacces-when-starting-a-background-session),同时安装运行,然后失败,说 `Claude Code is being updated by npm on this machine`。在此版本之前,等待在十秒时停止,所以在下载仍在运行时打开失败,出现 `Couldn't start the background service`。 |1111| v2.1.257 | 当您在另一个 Claude Code 进程下载 npm 更新时打开或调度后台会话,Claude Code 会在安装运行期间[持续等待最多两分钟](/docs/zh-CN/errors#eacces-when-starting-a-background-session),然后失败并显示 `Claude Code is being updated by npm on this machine`。在此版本之前,等待在十秒时停止,因此在下载仍在进行时打开就会失败并显示 `Couldn't start the background service`。 |
1109| v2.1.257 | 持有[跨会话消息](/docs/zh-CN/cross-session-messaging#control-inbound-messages)等待你批准的后台会话在其 `Needs input` 行上显示 `approve message from`,带有发送者的地址和发送者声称的名称。在此版本之前,该行移到 `Needs input` 但保留其前一个文本,所以 `claude agents` 中没有任何内容命名等待的消息或其发送者。 |1112| v2.1.257 | 持有等待您批准的[跨会话消息](/docs/zh-CN/cross-session-messaging#control-inbound-messages)的后台会话,会在其 `Needs input` 行上显示 `approve message from`,以及发送者的地址和发送者声称的名称。在此版本之前,该行会移到 `Needs input`,但保留之前的文本,因此 `claude agents` 中没有任何内容指明等待中的消息或其发送者。 |
1110| v2.1.257 | 在打开的后台会话内使用 `Ctrl+S` 隐藏的提示[与会话一起保留](#what-persists-across-restarts),所以 `Ctrl+S` 在会话的进程停止并再次启动后恢复它。在此版本之前,隐藏仅存在于运行的进程中,当会话空闲足够长时间使其进程停止时丢失,或当它停止然后重新打开时丢失。 |1113| v2.1.257 | 在打开的后台会话中使用 `Ctrl+S` 暂存的提示词[会随会话一起保留](#what-persists-across-restarts),因此在会话的进程停止并再次启动后,`Ctrl+S` 仍可将其恢复。在此版本之前,暂存内容仅存在于运行中的进程里,当会话空闲足够长时间导致其进程停止,或会话被停止后重新打开时,暂存内容会丢失。 |
1111| v2.1.251 | 在尚未[移入 worktree](#how-file-edits-are-isolated) 的后台会话中,Claude 和它生成的子代理可以编辑链接 git worktree 内的文件。 |1114| v2.1.251 | 在尚未[移入 worktree](#how-file-edits-are-isolated) 的后台会话中,Claude 及其生成的子代理可以编辑链接 git worktree 内的文件。 |
1112| v2.1.251 | Claude Code 转发在你调度的 shell 中导出的云提供商网关,例如 `ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 及其身份验证绕过标志,到[会话的工作进程](#llm-gateway),条件与 `ANTHROPIC_BASE_URL` 相同。在此版本之前,如果你仅通过此类网关进行身份验证后台或从 shell 调度,会话进行的每个请求都失败,因为端点和标志从其环境中删除。 |1115| v2.1.251 | Claude Code 会将您调度时所在 shell 中导出的云提供商网关(例如 `ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 及其身份验证绕过标志),在与 `ANTHROPIC_BASE_URL` 相同的条件下转发到[会话的工作进程](#llm-gateway)。在此版本之前,如果您从仅通过此类网关进行身份验证的 shell 将会话移到后台或调度会话,会话发出的每个请求都会失败,因为端点和标志已从其环境中被删除。 |
1113| v2.1.251 | 当后台会话在另一个 Claude Code 进程刷新[插件市场](/docs/zh-CN/plugins/overview)时启动,例如运行[市场自动更新](/docs/zh-CN/plugins/install#keep-plugins-updated)的同级会话,Claude Code 保持该市场的插件可用。在此版本之前,此类会话可能启动时没有该市场的任何 skills、agents、hooks 和 MCP 服务器,并在整个运行期间保持这样。 |1116| v2.1.251 | 当后台会话在另一个 Claude Code 进程刷新[插件市场](/docs/zh-CN/plugins/overview)时启动(例如某个同级会话正在运行[市场自动更新](/docs/zh-CN/plugins/install#keep-plugins-updated)),Claude Code 会保持该市场的插件可用。在此版本之前,此类会话启动时可能缺少该市场的任何 skill、Agent、hook 和 MCP 服务器,并在整个运行期间一直如此。 |
1114| v2.1.248 | 在[调度输入](#keyboard-shortcuts)中 `Shift+Enter` 插入换行符,与主提示匹配,`Ctrl+Enter` 在 `?` 覆盖层列出 `ctrl+enter to start and open` 的终端中立即调度并附加。在此版本之前,`Shift+Enter` 调度并附加。 |1117| v2.1.248 | 在[调度输入框](#keyboard-shortcuts)中,`Shift+Enter` 插入换行符,与主输入框一致;在 `?` 覆盖层列出 `ctrl+enter to start and open` 的终端中,`Ctrl+Enter` 会立即调度并附加。在此版本之前,`Shift+Enter` 会调度并附加。 |
1115| v2.1.248 | [删除会话](#what-deleting-a-session-removes)在 worktree 的提交已经在你的 `origin` 远程的默认分支的本地副本上且你的主检出已检出该分支时成功;在此版本之前,删除被拒绝,出现 `has commits that are not pushed anywhere`。 |1118| v2.1.248 | 当 worktree 的提交已在您 `origin` 远程默认分支的本地副本上,且您的主检出已检出该分支时,[删除会话](#what-deleting-a-session-removes)会成功;在此版本之前,删除会被拒绝并显示 `has commits that are not pushed anywhere`。 |
1116| v2.1.248 | 使用 `←` 或 `/background` 后台的会话在运行时在其 worktree 上持有 [`git worktree lock`](/docs/zh-CN/worktrees#clean-up-subagent-and-background-session-worktrees);在此版本之前,后台释放锁,清理或 `git worktree remove` 可以在运行的会话下删除 worktree。 |1119| v2.1.248 | 使用 `←` 或 `/background` 移到后台的会话在运行期间会在其 worktree 上持有 [`git worktree lock`](/docs/zh-CN/worktrees#clean-up-subagent-and-background-session-worktrees);在此版本之前,移到后台会释放该锁,清理或 `git worktree remove` 可能会在会话运行时删除其 worktree。 |
1117| v2.1.248 | 未等待你的输入且在其最后活动后超过 48 小时被发现已死的后台会话,例如在机器关闭数天后,[显示为已停止](#sessions-show-as-failed-after-shutdown),出现 `ended while the background service was off`,`Enter` 在它上面询问后恢复其保存的对话。在此版本之前,此类会话重新出现为新鲜失败,排序到列表顶部,单个 `Enter` 将数周前的对话拉入前台。 |1120| v2.1.248 | 未在等待您输入、且在最后一次活动超过 48 小时后被发现已终止的后台会话(例如机器关闭数天后),会[显示为已停止](#sessions-show-as-failed-after-shutdown)并附带 `ended while the background service was off`,在其上按 `Enter` 会先询问再恢复其保存的对话。在此版本之前,此类会话会作为新的失败重新出现并排在列表顶部,按一次 `Enter` 就会把数周前的对话拉到前台。 |
1118| v2.1.248 | 打开一个已停止的行,其对话[你在另一个终端中恢复](#opening-a-session-says-the-conversation-is-already-open)被拒绝,出现 `Can't open — this session is running in another terminal`,该行显示 `Open in a terminal` 而不是显示在 `Working` 下。在此版本之前,打开该行启动第二个进程写入相同的对话。 |1121| v2.1.248 | 打开一个已停止的行,而其对话[已被您在另一个终端中恢复](#opening-a-session-says-the-conversation-is-already-open)时,会被拒绝并显示 `Can't open — this session is running in another terminal`,该行会显示 `Open in a terminal`,而不是显示在 `Working` 下。在此版本之前,打开该行会启动第二个写入同一对话的进程。 |
1119| v2.1.248 | 等待权限决定的后台会话,同时 `PermissionRequest` 或 `PreToolUse` hook 打印了无效答案[在其行上命名 hook 事件和架构错误](#peek-and-reply)。在此版本之前,该行仅显示待处理请求。 |1122| v2.1.248 | 等待权限决定的后台会话,如果 `PermissionRequest` 或 `PreToolUse` hook 输出了无效答案,会[在其行上指明 hook 事件和 schema 错误](#peek-and-reply)。在此版本之前,该行仅显示待处理的请求。 |
1120| v2.1.248 | 在 Windows 上,`claude agents` 在早期程序留在 win32-input-mode 的终端标签中启动时响应键盘。在此版本之前,Claude Code 没有解码此类标签发送的关键记录。 |1123| v2.1.248 | 在 Windows 上,当 `claude agents` 在被之前的程序置于 win32-input-mode 的终端标签页中启动时,能够响应键盘。在此版本之前,Claude Code 无法解码此类标签页发送的按键记录。 |
1121| v2.1.247 | 在 Linux 和 WSL 上,[其终端主机进程已死](#the-terminal-host-died-or-the-session-stopped-responding)的会话在几秒内失败,出现原因。没有输出的打开在约十秒后以重启提议结束,行上的 `Enter` 使用其对话重启会话;`claude attach <id>` 报告原因并退出。在此版本之前,打开此类会话无限期显示 `opening… · esc to cancel`,`claude attach <id>` 等待而不报告错误。 |1124| v2.1.247 | 在 Linux 和 WSL 上,[终端主机进程已终止](#the-terminal-host-died-or-the-session-stopped-responding)的会话会在几秒内失败并显示原因。没有产生输出的打开操作会在约十秒后结束并提供重启选项,在该行上按 `Enter` 会使用其对话重启会话;`claude attach <id>` 会报告原因并退出。在此版本之前,打开此类会话会无限期显示 `opening… · esc to cancel`,`claude attach <id>` 会一直等待而不报告错误。 |
1122| v2.1.246 | 在 npm 安装上,当[后台服务](#the-supervisor-process)在 `npm install -g @anthropic-ai/claude-code` 替换二进制文件时启动失败时,Claude Code 等待长达十秒以完成安装并重试,然后报告 [`EACCES: permission denied`](/docs/zh-CN/errors#eacces-when-starting-a-background-session)。 |1125| v2.1.246 | 在 npm 安装上,当[后台服务](#the-supervisor-process)在 `npm install -g @anthropic-ai/claude-code` 替换二进制文件期间启动失败时,Claude Code 会等待最多十秒让安装完成并重试,然后才报告 [`EACCES: permission denied`](/docs/zh-CN/errors#eacces-when-starting-a-background-session)。 |
1123| v2.1.246 | 当[后台服务](#the-supervisor-process)进程在打印错误后死亡时,Claude Code 报告失败并[引用服务的第一个错误行](/docs/zh-CN/errors#background-service-exited-before-it-became-reachable)。 |1126| v2.1.246 | 当[后台服务](#the-supervisor-process)进程在输出错误后终止时,Claude Code 会报告失败并[引用服务的第一行错误](/docs/zh-CN/errors#background-service-exited-before-it-became-reachable)。 |
1124| v2.1.246 | 如果你的机器在[后台服务](#the-supervisor-process)启动时睡眠,Claude Code 重试启动一次而不是失败。 |1127| v2.1.246 | 如果您的机器在[后台服务](#the-supervisor-process)启动期间进入睡眠,Claude Code 会重试启动一次,而不是直接失败。 |
1125| v2.1.246 | Claude Code 等待约两分钟而不是 45 秒以获得新启动的[后台服务](#the-supervisor-process),该服务活跃但接受连接缓慢。 |1128| v2.1.246 | 对于新启动的、仍在运行但接受连接缓慢的[后台服务](#the-supervisor-process),Claude Code 会等待约两分钟,而不是 45 秒。 |
1126| v2.1.246 | [后台服务](#the-supervisor-process)从你的主目录启动,所以在 macOS 和 Linux 上已删除或移动的启动目录不再阻止启动。 |1129| v2.1.246 | [后台服务](#the-supervisor-process)从您的主目录启动,因此在 macOS 和 Linux 上,已被删除或移动的启动目录不再阻止启动。 |
1127| v2.1.246 | `/fork` [复制完整对话](#copy-the-session-with-%2Ffork)来自本身作为副本启动且未记录新提示的会话:你附加到的 `/fork` 副本、在 `←` 或 `/background` 将其移到后台后重新附加的会话,或使用 `claude --resume <id> --fork-session` 启动的会话。在此版本之前,如果你在此类会话中运行 `/fork` 然后向其发送新提示,Claude Code 打印正常确认但使用空对话启动副本。使用 `←` 或 `/background` 将此类会话移到后台以相同方式丢失对话。 |1130| v2.1.246 | `/fork` 会从本身作为副本启动且此后未记录新提示词的会话中[复制完整对话](#copy-the-session-with-%2Ffork):您附加到的 `/fork` 副本、在 `←` 或 `/background` 将其移到后台后重新附加的会话,或使用 `claude --resume <id> --fork-session` 启动的会话。在此版本之前,如果您在向此类会话发送新提示词之前运行 `/fork`,Claude Code 会打印正常的确认信息,但以空对话启动副本。使用 `←` 或 `/background` 将此类会话移到后台也会以同样方式丢失对话。 |
1128| v2.1.246 | 当你打开刚调度的会话,同时其工作进程仍在启动时,例如通过按其行上的 `Enter`,Claude Code 等待进程然后附加。在此版本之前,如果你在进程仍在启动时按 `Enter`,Claude Code 可能停止会话,出现 [`Session <id> was stopped while the respawn was in flight`](/docs/zh-CN/errors#session-was-stopped-while-the-respawn-was-in-flight)。 |1131| v2.1.246 | 当您在刚调度的会话的工作进程仍在启动时打开它(例如在其行上按 `Enter`),Claude Code 会等待进程启动后再附加。在此版本之前,如果您在进程仍在启动时按 `Enter`,Claude Code 可能会停止会话并显示 [`Session <id> was stopped while the respawn was in flight`](/docs/zh-CN/errors#session-was-stopped-while-the-respawn-was-in-flight)。 |
1129| v2.1.246 | 当你[后台](#from-inside-a-session)一个命名的会话时,Claude Code 列出它一次,当你再次后台相同的对话时,它对新行的名称进行编号,例如 `my-session (2)`,现有行保留其名称。在此版本之前,你按 `←` 的终端可能在 `claude agents --json` 中显示为相同名称下的第二个会话,如果你再次后台相同的对话,Claude Code 在相同名称下添加另一行。 |1132| v2.1.246 | 当您将已命名的会话[移到后台](#from-inside-a-session)时,Claude Code 只列出它一次;当您再次将同一对话移到后台时,它会为新行的名称编号,例如 `my-session (2)`,现有行保留其名称。在此版本之前,您按 `←` 的终端可能会在 `claude agents --json` 中显示为同名的第二个会话,如果您再次将同一对话移到后台,Claude Code 会以完全相同的名称添加另一行。 |
1130| v2.1.239 | 启用[vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在 agent view 的输入中按 `Esc` 从 INSERT 切换到 NORMAL 模式并保留你的文本,与主提示匹配;在 NORMAL 模式下,输入中仍有文本时,按 `Esc` 清除它,在空输入上按 `Esc` 退出,如[`Esc` 快捷键](#keyboard-shortcuts)描述。在此版本之前,`Esc` 清除输入。 |1133| v2.1.239 | 启用 [vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在 agent view 的输入框中按 `Esc` 会从 INSERT 切换到 NORMAL 模式并保留您的文本,与主输入框一致;在 NORMAL 模式下输入框中仍有文本时,按 `Esc` 会清除文本,在空输入框上按 `Esc` 会退出,如 [`Esc` 快捷键](#keyboard-shortcuts)所述。在此版本之前,`Esc` 会清除输入框。 |
1131| v2.1.233 | 对于链接到 GitLab 合并请求的会话,Claude Code 在 GitLab 的 `!1234` 参考语法中写入行的标签。你也可以将合并请求的 URL 粘贴到[调度输入](#filter-sessions)中以选择该会话。在此版本之前,标签呈现为 `#1234`,粘贴的合并请求 URL 仅在其第一个提示包含 URL 时与会话匹配。 |1134| v2.1.233 | 对于链接到 GitLab 合并请求的会话,Claude Code 会以 GitLab 的 `!1234` 引用语法写入该行的标签。您也可以将合并请求的 URL 粘贴到[调度输入框](#filter-sessions)中以选择该会话。在此版本之前,标签显示为 `#1234`,并且粘贴的合并请求 URL 仅在会话的第一个提示词包含该 URL 时才能匹配到会话。 |
1132| v2.1.227 | [删除会话](#what-deleting-a-session-removes)在另一个活跃的 Claude Code 会话在该 worktree 目录内运行时保留会话及其 worktree。Agent view 在行上显示 `not deleted` 和页脚中的原因,`claude rm` 打印 `kept <id>` 及原因,其命名另一个会话的进程 ID。在此版本之前,删除会话在另一个会话仍在其中工作时删除 worktree。 |1135| v2.1.227 | 当另一个活跃的 Claude Code 会话正在某个 worktree 目录内运行时,[删除会话](#what-deleting-a-session-removes)会保留该会话及其 worktree。Agent view 会在行上显示 `not deleted` 并在页脚中显示原因,`claude rm` 会打印 `kept <id>` 及原因,其中会指明另一个会话的进程 ID。在此版本之前,即使另一个会话仍在其中工作,删除会话也会删除 worktree。 |
1133| v2.1.225 | 在你未信任的目录中 `claude agents` 显示与 `claude` 在启动时显示相同的[工作区信任对话框](/docs/zh-CN/permissions#project-allow-rules-and-workspace-trust),在 agent view 打开之前。接受保存该工作区的信任;拒绝退出而不打开 agent view。在此版本之前,`claude agents` 打开而不询问,所以你从它调度的会话在你从未被要求信任的目录中运行。<br /><br />列表按目录分组时,将鼠标悬停在行上突出显示它而不改变[调度目标](#dispatch-to-a-specific-directory);使用箭头键或点击选择行仍然改变目标。在此版本之前,将鼠标移到另一个项目中的会话上无声地改变下一个调度的会话启动的目录。 |1136| v2.1.225 | 在您尚未信任的目录中运行 `claude agents` 时,会在 agent view 打开之前显示与 `claude` 启动时相同的[工作区信任对话框](/docs/zh-CN/permissions#project-allow-rules-and-workspace-trust)。接受会保存该工作区的信任;拒绝则退出而不打开 agent view。在此版本之前,`claude agents` 会在不询问的情况下打开,因此您从中调度的会话会在您从未被要求信任的目录中运行。<br /><br />列表按目录分组时,将鼠标悬停在某行上会突出显示该行,而不会更改[调度目标](#dispatch-to-a-specific-directory);使用箭头键或点击选择行仍会更改目标。在此版本之前,将鼠标移到另一个项目中的会话上,会在不提示的情况下更改下一个调度会话的启动目录。 |
1134| v2.1.221 | `/status` 显示 `Session kind` 行:后台会话中的 `background job · attached` 或 `background job · unattended`,取决于是否附加了终端,任何其他会话中的 `interactive`。在此版本之前,`/status` 没有报告会话类型。<br /><br />`/fork`:Claude Code 指示[副本](#from-inside-a-session)隔离其工作与原始会话的:副本在进行代码更改前创建自己的 worktree,远离原始会话的 worktree,当其任务建立在该工作基础上时基于原始分支的新分支。查看链接部分了解确切条件。在此版本之前,副本没有收到隔离指令,可能最终编辑原始会话仍在工作的 worktree 或检出。<br /><br />启用[vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在使用 `u` 撤销提示回到空后立即按 `←` 要求与删除文本或通过提示历史移动相同的确认,仅在第二次按压时切换;在此版本之前按压立即切换。 |1137| v2.1.221 | `/status` 会显示 `Session kind` 行:在后台会话中,根据是否附加了终端显示 `background job · attached` 或 `background job · unattended`,在其他任何会话中显示 `interactive`。在此版本之前,`/status` 不报告会话类型。<br /><br />`/fork`:Claude Code 会指示[副本](#from-inside-a-session)将其工作与原始会话隔离:副本在进行代码更改前会创建自己的 worktree,不进入原始会话的 worktree,并在其任务基于原始会话的工作时,以原始会话的分支为基础创建新分支。确切条件请参阅链接的章节。在此版本之前,副本不会收到隔离指令,可能最终编辑原始会话仍在其中工作的 worktree 或检出。<br /><br />启用 [vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在使用 `u` 将提示词撤销为空后立即按 `←`,会要求与删除文本或浏览提示词历史相同的确认,并且只在第二次按键时切换;在此版本之前,按键会立即切换。 |
1135| v2.1.219 | 启用[vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在空提示上按 `←` 从 NORMAL 模式以及 INSERT 打开 agent view,页脚的 `←` 提示在 NORMAL 模式中显示;在此版本之前手势和提示仅限 INSERT,在 NORMAL 模式中空提示上的 `←` 不做任何事。在 Claude Code 等待后台会话时在输入中键入取消切换,出现 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` 所以键入的草稿不会丢失。 |1138| v2.1.219 | 启用 [vim 编辑器模式](/docs/zh-CN/interactive-mode#vim-editor-mode)时,在空输入框上按 `←` 在 NORMAL 模式和 INSERT 模式下都会打开 agent view,页脚的 `←` 提示在 NORMAL 模式下也会显示;在此版本之前,该手势和提示仅限 INSERT 模式,在 NORMAL 模式下于空输入框按 `←` 不起作用。在 Claude Code 等待将会话移到后台期间向输入框中键入内容,会取消切换并显示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`,因此键入的草稿不会丢失。 |
1136| v2.1.218 | 在清空提示的删除后两秒内或通过提示历史移动后按 `←` 显示 `Press ← again to open agents`,或在附加的会话中 `Press ← again to go back to agents`,仅在至少一秒后的第二次按压时切换;在此版本之前按压立即切换。在粘贴或脚本输入内到达的 `←` 不再触发切换。使用 `←` 后台前台会话显示 `Your conversation moved to the background` 在列表上方,agent view 根部的 `Esc` 返回到该对话而不是退出到 shell,双 `Ctrl+C` 保持退出;如果对话无法重新打开,Claude Code 退出并为其打印 `claude --resume` 命令。在 Windows 上,在附加后约半秒内按下的 `←` 显示 `Ambiguous ←, press again to detach` 并在第二次按压时分离。 |1139| v2.1.218 | 在清空输入框的删除操作或浏览提示词历史后两秒内按 `←`,会显示 `Press ← again to open agents`(在附加的会话中为 `Press ← again to go back to agents`),并且只在至少一秒后的第二次按键时切换;在此版本之前,按键会立即切换。在粘贴或脚本输入中出现的 `←` 不再触发切换。使用 `←` 将前台会话移到后台时,会在列表上方显示 `Your conversation moved to the background`,在 agent view 根层级按 `Esc` 会返回该对话,而不是退出到 shell,连按两次 `Ctrl+C` 仍为退出;如果该对话无法重新打开,Claude Code 会退出并为其打印 `claude --resume` 命令。在 Windows 上,附加后约半秒内按下的 `←` 会显示 `Ambiguous ←, press again to detach`,并在第二次按键时分离。 |
1137| v2.1.217 | 会话行上的拉取请求徽章呈现为超链接,即使 Claude Code 无法检测到终端超链接支持,例如通过 SSH 或 tmux;设置 [`FORCE_HYPERLINK=0`](/docs/zh-CN/env-vars) 将其呈现为纯文本。在此版本之前,当未检测到支持时徽章呈现为纯文本。 |1140| v2.1.217 | 即使 Claude Code 无法检测到终端超链接支持(例如通过 SSH 或 tmux),会话行上的 Pull Request 徽章也会显示为超链接;设置 [`FORCE_HYPERLINK=0`](/docs/zh-CN/env-vars) 可将其显示为纯文本。在此版本之前,未检测到支持时徽章显示为纯文本。 |
1138| v2.1.216 | `/fork`:[确认](#from-inside-a-session)是一行,显示副本的状态、其 agent-view 行的名称和其会话 ID 用于 `claude attach`,仅当副本在主工作树中运行或编辑你打开的检出时以 `runs in the origin tree` 或 `edits this checkout` 结尾。点击名称后台此会话并在副本的会话中打开 agent view。确认不再重述副本的继承权限模式;早期版本打印了多行确认,没有可点击的名称。<br /><br />需要输入:`/install-github-app` 和 `/mcp` 设置列表,在没有人附加时运行,在 `Needs input` 下显示会话,带有命名命令的行,附加并重新运行命令继续;从 v2.1.208 到 v2.1.215 它们在该状态下被直接拒绝。<br /><br />`--agent` 恢复:恢复或重启[后台 `--agent` 会话](#from-your-shell)恢复代理的系统提示和工具限制,在会话自己的目录中搜索代理首先,当其工作区被信任时;代理不再存在的会话继续使用默认工具和系统提示,并以可见警告打开,而不是无声地恢复到默认代理。<br /><br />`Ctrl+X`:按两次删除会话,即使停止尝试失败,而不是失败的停止取消待处理删除,已删除的会话其工作进程已死不再在下一次刷新时重新出现。<br /><br />Worktree 删除:其 worktree 目录不属于任何 git 存储库的会话可以被删除;在此版本之前每次删除此类会话的尝试都被拒绝。已经消失的目录立即清除。agent view 双按删除仍有文件的目录,为 hook 创建的目录运行你的 `WorktreeRemove` hook,除非另一个会话的记录也命名它。`claude rm` 在文件仍然存在时保留此类目录。 |1141| v2.1.216 | `/fork`:[确认信息](#from-inside-a-session)只有一行,显示副本的状态、其 agent view 行的名称以及用于 `claude attach` 的会话 ID,仅当副本在主工作树中运行或编辑您打开的检出时,才以 `runs in the origin tree` 或 `edits this checkout` 结尾。点击该名称会将此会话移到后台,并在副本的会话中打开 agent view。确认信息不再重复说明副本继承的权限模式;早期版本会打印多行确认信息,且名称不可点击。<br /><br />需要输入:在没有人附加时运行的 `/install-github-app` 和 `/mcp` 设置列表,会将会话显示在 `Needs input` 下,并有一行指明该命令,附加后重新运行该命令即可继续;从 v2.1.208 到 v2.1.215,它们在该状态下会被直接拒绝。<br /><br />`--agent` 恢复:当工作区受信任时,恢复或重启[移到后台的 `--agent` 会话](#from-your-shell)会恢复该 Agent 的系统提示词和工具限制,并优先在会话自己的目录中查找该 Agent;如果会话的 Agent 已不存在,会话会使用默认工具和系统提示词继续运行,并在打开时显示可见警告,而不是在不提示的情况下恢复为默认 Agent。<br /><br />`Ctrl+X`:即使停止尝试失败,按两次也会删除会话,而不是因停止失败而取消待处理的删除;工作进程已终止的已删除会话不再在下次刷新时重新出现。<br /><br />Worktree 删除:worktree 目录不属于任何 git 仓库的会话现在可以删除;在此版本之前,删除此类会话的每次尝试都会被拒绝。已不存在的目录会立即清除。agent view 中的双击删除会删除仍有文件的目录,对于由 hook 创建的目录会运行您的 `WorktreeRemove` hook,除非另一个会话的记录也指向该目录。只要仍有文件,`claude rm` 就会保留此类目录。 |
1139| v2.1.214 | 使用 `←` 或 `/background` 后台的会话,空闲时没有任何运行,其进程停止,如同任何其他空闲会话,而不是保持其进程和后台服务无限期运行。已完成的会话可以在后台服务空闲后使用 `claude rm` 或从 agent view 删除,从不是 git 存储库的目录调度后进入 worktree 的会话,例如多存储库工作区文件夹,当 worktree 本身属于 git 存储库时可以从 agent view 删除,因为清理从 worktree 而不是会话调度的目录解决;两个删除在此版本之前都被拒绝。重新打开已停止的会话恢复其保存的对话,即使记录存储中的文件夹无法读取。 |1142| v2.1.214 | 使用 `←` 或 `/background` 移到后台、且处于空闲状态没有任何运行内容的会话,其进程会像任何其他空闲会话一样被停止,而不是无限期地保持其进程和后台服务运行。后台服务空闲后,可以使用 `claude rm` 或从 agent view 删除已完成的会话;从非 git 仓库的目录(例如多仓库工作区文件夹)调度后又进入 worktree 的会话,当 worktree 本身属于 git 仓库时,可以从 agent view 删除,因为清理操作是根据 worktree 而不是会话调度时所在的目录来解析的;在此之前,这两种删除的每次尝试都会被拒绝。重新打开已停止的会话会恢复其保存的对话,即使会话记录存储中的某个文件夹无法读取。 |
1140| v2.1.213 | `/install-github-app`、[`/mcp`](/docs/zh-CN/mcp) 设置列表和 MCP 身份验证操作在附加了终端的后台会话中工作,仅在没有人附加时被拒绝,带有告诉你附加并再次运行命令的消息;从 v2.1.208 到 v2.1.212 即使附加了终端也被拒绝。 |1143| v2.1.213 | `/install-github-app`、[`/mcp`](/docs/zh-CN/mcp) 设置列表和 MCP 身份验证操作在附加了终端的后台会话中可以使用,仅在没有人附加时才会被拒绝,并显示提示您附加后再次运行该命令的消息;从 v2.1.208 到 v2.1.212,即使附加了终端它们也会被拒绝。 |
1141| v2.1.212 | [交互式会话中的 `/fork`](#from-inside-a-session)将对话复制到显示为其自己行的新后台会话中,以来自的会话命名或,对于未命名会话的提示 fork,以 fork 提示命名,而原始保持运行;`/fork` 的早期 forked-subagent 行为移到 `/subtask`。启用[关闭 agent view](#turn-off-agent-view) 时,`/fork` 保持 forked-subagent 行为。等待其第一个提示的聚焦行显示 `space to send it a prompt`。`Ctrl+J` 在具有扩展键报告的终端上在调度输入中插入换行符,其中按键之前被忽略,`?` 覆盖层列出快捷键。当后台会话完成而没有任何需要你的输入时,交互式会话中的 `←` 页脚提示简要显示 `N done`。在 agent view 中键入裸 `/resume` 打开你打开 agent view 的存储库的过去会话的选择器,包括从列表中删除的会话,选择一个将其恢复为后台会话;在此版本之前 `/resume` 在 agent view 中不可用,已删除的会话仅通过 `claude --resume` 或交互式会话中的 `/resume` 可达。目标、范围和受限形式保留 `attach to a session to run it` 提示,早期版本为每个形式显示。等待沙箱网络主机提示、MCP 输入请求或托管设置提示的会话显示为 `Needs input` 而不是 `Working`,在 agent view 和 `claude agents --json` 中,Claude 的问题报告 `waitingFor: input needed` 而不是 `permission prompt`。附加到其进程已停止的会话显示其记录格式化为活跃会话呈现的方式,而不是原始文本。已停止的会话其记录在意外位置通过你保存的记录的最后手段扫描恢复,打开没有保存记录的行显示 `Press enter again to restart this session fresh`,在第二次按压时新鲜重启;v2.1.211 显示拒绝而没有从 agent view 重启的方式。 |1144| v2.1.212 | [交互式会话中的 `/fork`](#from-inside-a-session) 会将对话复制到一个新的后台会话中,该会话显示为独立的一行,以其来源会话命名,对于未命名会话的带提示词 fork,则以 fork 提示词命名,同时原始会话继续运行;`/fork` 早期的 forked-subagent 行为已移至 `/subtask`。在[关闭 agent view](#turn-off-agent-view) 的情况下,`/fork` 保留 forked-subagent 行为。正在等待第一个提示词的聚焦行会显示 `space to send it a prompt`。在支持扩展按键报告的终端上,`Ctrl+J` 会在调度输入框中插入换行符(此前该按键会被忽略),`?` 覆盖层会列出该快捷键。当有后台会话完成且没有会话需要您输入时,交互式会话中的 `←` 页脚提示会短暂显示 `N done`。在 agent view 中键入不带参数的 `/resume` 会打开一个选择器,列出您打开 agent view 时所在仓库的过去会话,包括已从列表中删除的会话,选择其中一个会将其恢复为后台会话;在此版本之前,`/resume` 在 agent view 中不可用,已删除的会话只能通过 `claude --resume` 或交互式会话中的 `/resume` 访问。指定目标、限定作用域和受限的形式会保留 `attach to a session to run it` 提示,早期版本对所有形式都显示该提示。等待沙箱网络主机提示、MCP 输入请求或托管设置提示的会话,在 agent view 和 `claude agents --json` 中都会显示为 `Needs input` 而不是 `Working`,来自 Claude 的问题会报告 `waitingFor: input needed` 而不是 `permission prompt`。附加到进程已停止的会话时,其会话记录会以实时会话的呈现方式格式化显示,而不是原始文本。会话记录位于意外位置的已停止会话,会通过对您保存的会话记录进行最后手段的扫描来恢复;打开没有保存会话记录的行会显示 `Press enter again to restart this session fresh`,并在第二次按键时全新重启;v2.1.211 会显示拒绝信息,且无法从 agent view 重启。 |
1142| v2.1.211 | 通过附加或从其运行的目录回复唤醒已停止的会话再次转发你的 shell 的网关 `ANTHROPIC_BASE_URL`,条件与新鲜调度相同,所以通过网关 `ANTHROPIC_AUTH_TOKEN` 身份验证的会话在网关上恢复而不是报告 `Not logged in`。附加到已停止的会话,该会话在其第一个响应完成前从另一个对话后台,被拒绝,出现 `This session has no saved transcript` 而不是无声地在相同会话 id 下启动空白对话;从 agent view 打开相同行显示页脚中的拒绝。从 Claude Code 外部结束 `←` 或 `/background` 会话的进程将其标记为已停止,而不是监督进程重新启动它,已记录在磁盘上的停止被尊重,除非你发送的回复仍在等待传递,崩溃后重新启动的会话被告知它被重新启动,重新启动的 `←` 或 `/background` 会话不恢复超过约一小时的中断响应。回答或拒绝提示而不是标记它的会话命名回复,例如对于主要是链接的提示,被丢弃,行保留从提示文本获取的名称。删除其 worktree git 不再识别的会话成功,在磁盘上留下 worktree 目录并命名其路径,而不是每次尝试都被拒绝。拒绝的删除在会话行上显示原因,包括 worktree 无法删除时的基础 git 错误,而不是行无声地重新出现。 |1145| v2.1.211 | 通过附加或从其运行目录回复来唤醒已停止的会话时,会再次转发您 shell 中的网关 `ANTHROPIC_BASE_URL`,条件与全新调度相同,因此通过网关 `ANTHROPIC_AUTH_TOKEN` 进行身份验证的会话会在网关上恢复,而不是报告 `Not logged in`。附加到在第一个回复完成前就从另一个对话中移到后台的已停止会话时,会被拒绝并显示 `This session has no saved transcript`,而不是在不提示的情况下以相同会话 ID 启动空白对话;从 agent view 打开同一行时,会在页脚中显示该拒绝信息。从 Claude Code 外部结束 `←` 或 `/background` 会话的进程会将其标记为已停止,而不是由监督进程重启它;已记录在磁盘上的停止会被遵守,除非您发送的回复仍在等待投递;崩溃后重启的会话会被告知它已被重启;重启的 `←` 或 `/background` 会话不会恢复超过约一小时的中断回复。会话命名回复如果回答或拒绝了提示词而不是为其加标签(例如针对主要内容是链接的提示词),会被丢弃,该行会保留从提示词文本中提取的名称。删除 git 已无法识别其 worktree 的会话会成功,worktree 目录会保留在磁盘上并指明其路径,而不是每次尝试都被拒绝。被拒绝的删除会在会话行上显示原因,包括 worktree 无法删除时底层的 git 错误,而不是该行在不提示的情况下重新出现。 |
1143| v2.1.210 | `claude attach` 在后台服务启动或重新连接时等待,而不是失败,出现 `job not found` 或 `still starting` 错误,报告在附加期间完成的会话为已退出,并应用在缓慢附加期间进行的终端调整大小,当附加完成时。提示页脚的 `←` 需要输入计数出现在每个提供商上,包括以前显示纯 `← for agents` 形式的第三方提供商。使用 `←` 后台会话将 Claude 的任务列表转移到后台会话,而不是丢弃它。你按 `←` 的行在选择移动后保留粗体、未变暗的名称。`claude agents --effort` 接受 `ultracode` 而不是无声地丢弃它。 |1146| v2.1.210 | `claude attach` 在后台服务启动或重新连接期间会等待,而不是因 `job not found` 或 `still starting` 错误而失败;它会将在附加过程中完成的会话报告为已退出,并在附加完成时应用在缓慢附加期间发生的终端尺寸调整。输入框页脚的 `←` 需要输入计数会在所有提供商上显示,包括此前显示普通 `← for agents` 形式的第三方提供商。使用 `←` 将会话移到后台时,会将 Claude 的任务列表带到后台会话,而不是将其丢弃。您按 `←` 时所在的行在选择移动后仍保留加粗、未变暗的名称。`claude agents --effort` 接受 `ultracode`,而不是在不提示的情况下将其丢弃。 |
1144| v2.1.208 | 附加到其进程已停止的会话显示其记录的最后屏幕,同时进程启动,而不是仅显示 `Session is starting` 注记。无法传递的回复,因为后台服务无法访问或发送失败,被保存并在其进程再次启动时作为会话的下一个提示发送;在此版本之前,后台服务无法访问时丢失的回复被丢弃。其自身二进制文件被更新替换的进程仍然可以从已安装的 `claude` 启动器或磁盘上的最新版本启动监督进程,而不是在 Claude Code 重新启动前失败。运行较旧版本的监督进程永远不会将由较新版本启动的空闲会话重新启动到其自身的较旧二进制文件上。删除会话删除其 worktree,即使会话将 worktree 移到了不同的分支,并在 worktree 有未推送到任何地方的提交或另一个会话声称它时将 worktree 与会话行保持在一起,而不是销毁提交或孤立 worktree。`/install-github-app` 和 `/mcp` 设置列表及其身份验证操作在后台会话中被拒绝,带有命名替代方案的消息;仅在 v2.1.208 中,`/model` 选择器以相同方式被拒绝,键入的 `/model <name>` 仅切换该会话,而不是也保存你的默认模型。 |1147| v2.1.208 | 附加到进程已停止的会话时,会在进程启动期间显示其会话记录的最后一屏内容,而不是仅显示 `Session is starting` 说明。因后台服务无法访问或发送失败而无法投递的回复会被保存,并在会话进程再次启动时作为其下一个提示词发送;在此版本之前,后台服务无法访问时丢失的回复会被丢弃。自身二进制文件已被更新替换的进程仍然可以从已安装的 `claude` 启动器或磁盘上的最新版本启动监督进程,而不是在 Claude Code 重启之前一直失败。运行较旧版本的监督进程永远不会将由较新版本启动的空闲会话重启到其自身的较旧二进制文件上。即使会话已将 worktree 切换到不同的分支,删除会话也会删除其 worktree;当 worktree 有未推送到任何地方的提交或被另一个会话占用时,会将 worktree 与会话行一起保留,而不是销毁提交或让 worktree 成为孤立项。`/install-github-app` 以及 `/mcp` 设置列表及其身份验证操作在后台会话中会被拒绝,并显示指明替代方法的消息;仅在 v2.1.208 中,`/model` 选择器也以相同方式被拒绝,而键入的 `/model <name>` 仅切换该会话,而不会同时保存您的默认模型。 |
1145| v2.1.207 | 窥视面板以行截断的句子打开,例如等待你的会话的确切问题,并显示被阻止的会话已等待多长时间作为单个 `waiting 3m` 行,而不是将相同的时间戳前缀添加到状态句子和问题。在调度输入中再次粘贴相同的文本展开折叠的 `[Pasted text #N]` 占位符,而不是添加第二个。按名称接受计划的后台会话在其行上显示该名称。移入 worktree 的后台会话在其进程从 agent view 重新启动时保持其对话。 |1148| v2.1.207 | 窥视面板打开时会显示该行被截断的句子,例如等待您的会话的确切问题,并以单独一行 `waiting 3m` 显示被阻塞的会话已等待多长时间,而不是在状态句子和问题前都加上相同的时间戳。在调度输入框中再次粘贴相同的文本会展开已折叠的 `[Pasted text #N]` 占位符,而不是添加第二个。通过接受计划而命名的后台会话会在其行上显示该名称。已移入 worktree 的后台会话在从 agent view 重启其进程时会保留其对话。 |
1146| v2.1.206 | 行摘要填充行的剩余宽度,仅在终端的右边缘截断,而不是在 64 列处。监督进程重新启动到新的 Claude Code 版本后,它在后台将剩余的空闲后台会话重新启动到该版本,而不是每分钟几个。使用 `Ctrl+X` 或 `claude rm` 删除会话也会将其从监督进程的会话列表中清除,所以行在监督进程重新启动后不再重新出现。在调度 shell 中导出的 `CLAUDE_CODE_EXTRA_BODY` 请求体覆盖到达后台会话,而不是被忽略。 |1149| v2.1.206 | 行摘要会填满该行的剩余宽度,仅在终端右边缘截断,而不是在 64 列处截断。监督进程重启到新的 Claude Code 版本后,会在后台将剩余的空闲后台会话重启到该版本,而不是每分钟只重启几个。使用 `Ctrl+X` 或 `claude rm` 删除会话也会将其从监督进程的会话列表中清除,因此该行在监督进程重启后不再重新出现。在调度 shell 中导出的 `CLAUDE_CODE_EXTRA_BODY` 请求体覆盖会传递到后台会话,而不是被忽略。 |
1147| v2.1.205 | 提示页脚的 `←` 提示在常规 `claude` 会话中计数等待你的后台代理,例如 `← 2 agents`。行摘要显示会话自己的单行报告,在 64 列处截断,而不是原始工具调用或 `done/total` 计数;按目录分组的行以彩色状态词打开。窥视面板以完整状态句子打开,对于等待你的会话,其精确问题显示在回复输入上方。编辑、评论、关闭或使用 `gh` 标记拉取请求为就绪的会话与其关联,不仅仅是创建或检出拉取请求的会话,推送即使本地分支名称不匹配也会关联拉取请求,创建命令的输出超过内联限制的拉取请求也会关联。没有可读文本的转向保持会话的前一个状态,而不是将其翻转回 `Working`。`claude attach` 等待重新启动的会话长达约 60 秒,带有命名原因的状态行,而不是失败。 |1150| v2.1.205 | 在常规 `claude` 会话中,输入框页脚的 `←` 提示会统计等待您的后台 Agent 数量,例如 `← 2 agents`。行摘要会显示会话自己的单行报告,在 64 列处截断,而不是原始的工具调用或 `done/total` 计数;按目录分组的行以彩色状态词开头。窥视面板打开时会显示完整的状态句子,对于等待您的会话,还会在回复输入框上方显示其确切的问题。使用 `gh` 编辑、评论、关闭 Pull Request 或将其标记为就绪的会话都会与该 Pull Request 关联,而不仅仅是创建或检出 Pull Request 的会话;即使本地分支名称不匹配,推送也会关联 Pull Request;创建命令的输出超出内联限制的 Pull Request 也会被关联。没有可读文本的轮次会保持会话之前的状态,而不是将其切换回 `Working`。`claude attach` 会为正在重启的会话等待最多约 60 秒,并显示一行说明原因的状态,而不是直接失败。 |
1148| v2.1.203 | 在调度 shell 中导出的网关 `ANTHROPIC_BASE_URL` 当监督进程共享该网关环境时,到达从它调度的会话进入同一目录,而不是在保留随之导出的 API 密钥时被丢弃。调度 shell 的 `PATH` 应用于每个会话的工作进程。在子代理运行时按 `←` 等待它们,而不是在十秒后重新启动它们。空列表始终显示部分标题及其下方的描述。在调度输入中键入 `@` 也列出启动存储库内其目录树中的已注册 git worktrees。从 `effortLevel` 设置继承的工作量在该设置的后续编辑后跟随,而不是在调度时固定。打开一个已停止的会话(其对话已在另一个运行中的会话中打开)被拒绝并显示消息,而不是导致行失败。在 agent view 中不可用的命令在输入中保留已键入的文本。在 git 存储库外失败的 `WorktreeCreate` hook 不再阻止会话编辑文件。 |1151| v2.1.203 | 当监督进程共享该网关环境时,在调度 shell 中导出的网关 `ANTHROPIC_BASE_URL` 会传递到从该 shell 调度到同一目录的会话,而不是在保留随之导出的 API 密钥的同时将其丢弃。调度 shell 的 `PATH` 会应用于每个会话的工作进程。在子代理运行时按 `←` 会等待它们,而不是在十秒后重启它们。空列表始终显示各部分标题,并在每个标题下显示说明。在调度输入框中键入 `@` 也会列出启动仓库中位于其目录树内的已注册 git worktree。从 `effortLevel` 设置继承的工作量会跟随该设置之后的修改,而不是在调度时固定。打开一个已停止的会话(其对话已在另一个运行中的会话中打开)会被拒绝并显示消息,而不是导致该行失败。在 agent view 中不可用的命令会将已键入的文本保留在输入框中。在 git 仓库外失败的 `WorktreeCreate` hook 不再阻止会话编辑文件。 |
1149| v2.1.202 | 使用 `/rename` 或 `Ctrl+R` 在后台会话上设置的名称在监督进程停止并重新启动其进程时保持不变,而不是恢复为会话调度时的名称。 |1152| v2.1.202 | 使用 `/rename` 或 `Ctrl+R` 为后台会话设置的名称,在监督进程停止并重启其进程时会保留,而不是恢复为会话调度时的名称。 |
1150| v2.1.200 | 重写 `roster.json` 中会话列表的较旧 Claude Code 版本保留由较新版本写入的字段,与现有的 `state.json` 保证相匹配,因此由较新版本启动的会话在监督进程重新启动后继续接受输入。当你打开已停止响应的会话时,监督进程重新启动其进程,会话从中断处继续响应。Agent view 应用放在 `agents` 后的 `--plugin-dir` 标志到其自己的子代理和 skill 自动完成在调度输入中以及调度的会话。 |1153| v2.1.200 | 重写 `roster.json` 中会话列表的较旧 Claude Code 版本会保留由较新版本写入的字段,与现有的 `state.json` 保证一致,因此由较新版本启动的会话在监督进程重启后仍能继续接受输入。当您打开已停止响应的会话时,监督进程会重启其进程,会话会从中断处继续被中断的回复。Agent view 会将放在 `agents` 之后的 `--plugin-dir` 标志应用于其自身在调度输入框中的子代理和 skill 自动补全,以及所调度的会话。 |
1151| v2.1.199 | 后台会话的进程在低内存主机上完成启动前退出时,其行状态显示 `possibly low memory — free some up and retry` 而不仅仅是裸退出原因。使用 `←` 或 `/background` 后台会话时将其 `/color` 转移到新行。 |1154| v2.1.199 | 在低内存主机上,后台会话的进程在完成启动前退出时,其行状态会显示 `possibly low memory — free some up and retry`,而不仅仅是简单的退出原因。使用 `←` 或 `/background` 将会话移到后台时,会将其 `/color` 带到新行。 |
1152| v2.1.198 | Agent view 在后台会话需要输入、完成或失败时通过 `preferredNotifChannel` 发送通知,并使用 `agent_needs_input` 或 `agent_completed` 类型触发 `Notification` hook。`←` 和 `/exit` 在 `claude attach <id>` 内返回 agent view 而不是退出到 shell;`Ctrl+Z` 返回到 shell。后台会话在 worktree 中隔离其工作,提交、推送其自己的隔离分支,从不 `main` 或 `master`,并在完成时打开草稿拉取请求而不是先询问。`/login` 在 agent view 中运行并打开登录对话框。`Background work is running` 退出对话框提供 `Move to background and exit`。退出交付也涵盖后台子代理,它们在下次唤醒时从其记录恢复,而不是被报告为失败。`claude --bg` 与 `-p` 或 `--print` 结合被拒绝并出现错误。后台会话主机在首次 LAN 访问时请求 macOS 本地网络权限,而不是失败,出现 `connect: no route to host`。 |1155| v2.1.198 | 当后台会话需要输入、完成或失败时,Agent view 会通过 `preferredNotifChannel` 发送通知,并以 `agent_needs_input` 或 `agent_completed` 类型触发 `Notification` hook。在 `claude attach <id>` 中,`←` 和 `/exit` 会返回 agent view,而不是退出到 shell;`Ctrl+Z` 会返回 shell。在 worktree 中隔离其工作的后台会话完成时,会提交、推送其自己的隔离分支(绝不会推送 `main` 或 `master`),并打开一个草稿 Pull Request,而不是先询问。`/login` 可在 agent view 中运行并打开登录对话框。`Background work is running` 退出对话框提供 `Move to background and exit`。退出交接也涵盖后台子代理,它们会在下次唤醒时从其会话记录恢复,而不是被报告为失败。`claude --bg` 与 `-p` 或 `--print` 组合使用时会被拒绝并报错。后台会话主机会在首次访问局域网时请求 macOS 本地网络权限,而不是以 `connect: no route to host` 失败。 |
1153| v2.1.196 | 单次 `←` 按压后台前台会话;早期版本需要两次按压,带有页脚提示和确认。`--dangerously-skip-permissions` 传递给 `claude agents` 显示绕过免责声明,而不是被无声地丢弃。你从未命名的交互式会话在会话列表和 `claude agents --json` 中携带默认名称,例如 `my-app-3f`。后台 shell 命令和动态工作流在会话的进程被停止、重新启动或更新时存活,包括在 Windows 上;设置 `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` 关闭交付。在重新启动时误读为空的记录被重命名为 `.orphaned-` 后缀,而不是删除。 |1156| v2.1.196 | 按一次 `←` 即可将前台会话移到后台;早期版本需要按两次,并带有页脚提示和确认。传递给 `claude agents` 的 `--dangerously-skip-permissions` 会显示绕过免责声明,而不是在不提示的情况下被丢弃。您从未命名的交互式会话在会话列表和 `claude agents --json` 中会带有默认名称,例如 `my-app-3f`。后台 shell 命令和动态工作流在会话进程被停止、重启或更新时仍能继续存在,包括在 Windows 上;设置 `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` 可关闭此交接。在重启时被误读为空的会话记录会被重命名并加上 `.orphaned-` 后缀,而不是被删除。 |
1154| v2.1.195 | 进行中的工作在 Windows 上后台会话时也转移;设置 `CLAUDE_DISABLE_ADOPT=1` 改为停止它。`Completed` 组填充剩余的垂直空间,标题在短终端上压缩。较旧的 Claude Code 版本不再丢弃较新会话的 `state.json` 字段或从 `claude agents` 隐藏这些会话。附加到停止的会话立即切换,而不是显示空白屏幕长达五秒。无法接受连接的监督进程自行退出并释放其锁。 |1157| v2.1.195 | 在 Windows 上将会话移到后台时,进行中的工作也会转移;设置 `CLAUDE_DISABLE_ADOPT=1` 可改为停止它。`Completed` 组会填满剩余的垂直空间,标题在较矮的终端上会压缩显示。较旧的 Claude Code 版本不再丢弃较新会话的 `state.json` 字段,也不再在 `claude agents` 中隐藏这些会话。附加到已停止的会话会立即切换,而不是显示最多五秒的空白屏幕。无法接受连接的监督进程会自行退出并释放其锁。 |
1155| v2.1.191 | `claude --bg` 与不匹配你任何子代理的 `--agent` 名称失败启动:会话立即退出,出现 `--agent '<name>' not found` 错误,而不是使用默认代理运行。 |1158| v2.1.191 | 如果 `claude --bg` 使用的 `--agent` 名称与您的任何子代理都不匹配,启动会失败:会话会立即退出并显示 `--agent '<name>' not found` 错误,而不是使用默认 Agent 运行。 |
1156| v2.1.174 | 后台会话不再从监督进程的启动 shell 继承网关端点变量如 `ANTHROPIC_BASE_URL`;监督进程向预热工作进程提供新的凭证快照,修复虚假的 `Could not resolve authentication method` 错误。 |1159| v2.1.174 | 后台会话不再从监督进程的启动 shell 继承 `ANTHROPIC_BASE_URL` 等网关端点变量;监督进程会向预热的工作进程提供新的凭据快照,修复了虚假的 `Could not resolve authentication method` 错误。 |
1157| v2.1.172 | 调度输入中的 `/model` 设置会话范围的调度模型覆盖。 |1160| v2.1.172 | 调度输入框中的 `/model` 会设置仅限当前会话的调度模型覆盖。 |
1158| v2.1.161 | 行摘要显示并行工作项的 `done/total` 计数;窥视面板命名最长运行的并行工作项。 |1161| v2.1.161 | 行摘要会显示并行工作项的 `done/total` 计数;窥视面板会指明运行时间最长的并行工作项。 |
1159| v2.1.157 | `claude agents` 接受 `--agent`;调度的会话尊重 `agent` 设置。 |1162| v2.1.157 | `claude agents` 接受 `--agent`;调度的会话会遵循 `agent` 设置。 |
1160| v2.1.145 | 窥视面板回复输入和调度输入中支持语音听写。 |1163| v2.1.145 | 窥视面板的回复输入框和调度输入框支持语音听写。 |
1161| v2.1.143 | 添加 `worktree.bgIsolation` 设置;`claude agents` 接受 `--allow-dangerously-skip-permissions`。 |1164| v2.1.143 | 添加了 `worktree.bgIsolation` 设置;`claude agents` 接受 `--allow-dangerously-skip-permissions`。 |
1162| v2.1.142 | `claude agents` 接受 `--permission-mode`、`--model`、`--effort`、`--dangerously-skip-permissions`、`--settings`、`--add-dir`、`--plugin-dir`、`--mcp-config` 和 `--strict-mcp-config`。 |1165| v2.1.142 | `claude agents` 接受 `--permission-mode`、`--model`、`--effort`、`--dangerously-skip-permissions`、`--settings`、`--add-dir`、`--plugin-dir`、`--mcp-config` 和 `--strict-mcp-config`。 |
1163| v2.1.141 | `claude agents` 接受 `--cwd` 以将列表范围限定到一个项目。 |1166| v2.1.141 | `claude agents` 接受 `--cwd`,用于将列表限定到一个项目。 |
1164| v2.1.139 | Agent view 作为研究预览版引入。 |1167| v2.1.139 | Agent view 作为研究预览版引入。 |