命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
把当前对话复制进一个全新的后台会话(在 claude agents 里独占一行),继承到此刻为止的完整上下文,你在主会话继续工作。v2.1.212 起为此语义(会话内 subagent 能力已移到 /subtask);v2.1.221 起 forked 会话使用独立 git worktree。
/fork <directive>/fork 把 src/routes 下所有端点审一遍缺失的鉴权检查/fork <directive> 是 Claude Code CLI 中的会话内 slash 命令。自 v2.1.212 起,/fork 把你的对话复制进一个全新的后台会话:它继承到此刻为止的完整对话(同样的 system prompt、工具、消息历史),在后台按你给的指令干活,而你在主会话里继续手头的事。这个 forked 会话在 claude agents 里独占一行(是一个独立会话,不是会话内 subagent),完成后其结果可回看/回传。
重要语义更正(v2.1.212):官方 changelog 原句——"
/forknow copies your conversation into a new background session (its own row inclaude agents) while you keep working; the in-session subagent it used to launch is now/subtask"。也就是说:/fork原来那种"会话内 subagent"的行为,现在归/subtask了;/fork本身已升级为"复制成独立后台会话"。若你看到旧文把/fork描述成"会话内 forked subagent",那是 v2.1.212 之前的口径,现已过时。
fork 会话丢掉了命名 subagent 的输入隔离(后者从全新上下文起步),所以你不用再向它复述背景;适合"想从同一起点并行推进另一条线、又不想切走主会话"的场景。
版本门槛:独立
/fork命令需 Claude Code v2.1.161+;v2.1.212 起语义变为"复制成后台会话";v2.1.221 起 forked 会话使用独立 git worktree(不再复用原 checkout),避免两个会话在同一工作树里互相踩踏。让 Claude 自行派生 fork 仍是实验性能力,受CLAUDE_CODE_FORK_SUBAGENT影响。
/fork vs /subtask:先分清这两个v2.1.212 把老 /fork 一拆为二,这是当前最大的认知坑:
| 维度 | /fork <directive> | /subtask <directive> |
|---|---|---|
| 是什么 | 独立后台会话(在 claude agents 里独占一行) | 会话内 subagent(留在当前会话里跑) |
| 上下文 | 复制到此刻为止的完整对话 | 继承到此刻为止的完整对话 |
| worktree | v2.1.221+ 独立 git worktree | 跟随主会话工作树 |
| 生命周期 | 是一个可 claude agents 独立管理/恢复的会话 | 随主会话,面板里一行,结果回传主会话 |
| 用途 | 把一整条线复制出去后台独立推进 | 把一个侧任务甩给会话内后台 subagent |
一句话:想要"独立的后台会话、能在 claude agents 里单独管理"用 /fork;想要"会话内后台 subagent、结果回传当前会话"用 /subtask(即老 /fork 的行为)。
/fork vs /branch:也别混| 维度 | /fork <directive> | /branch [name] |
|---|---|---|
| 你去哪 | 留在主会话继续干 | 切入对话的一个副本 |
| 谁干活 | 后台 forked 会话干指令 | 你自己在新分支里干 |
| 起点 | 复制完整对话(到此刻) | 在当前点为对话打分支快照 |
| 结果 | 后台会话独立推进,可回看 | 不回传;原会话用 /resume 切回 |
在会话内,消息开头输入 /fork 再跟一段指令:
/fork draft unit tests for the parser changes so far
fork 出的会话在后台跑,你继续在主会话工作。当会话没有标题时,Claude Code 用指令开头的词给它命名(v2.1.212)。它作为独立会话出现在 claude agents 列表里,可用 claude attach / claude agents 管理。
无论是否设了环境变量,你都能用 /fork 手动派生。要不受分阶段 rollout 影响地控制 fork 模式:设 CLAUDE_CODE_FORK_SUBAGENT=1 显式启用、=0 显式禁用(交互模式、headless、Agent SDK 均生效)。
运行中的 fork / subtask 显示在 prompt 输入框下方的面板里,主会话一行、每个后台项各一行:
| 键 | 动作 |
|---|---|
↑ / ↓ | 在行间移动 |
Enter | 打开选中项的 transcript,并向它追加后续消息 |
x | 关掉已完成的或停掉正在跑的 |
Esc | 焦点回到 prompt 输入框 |
fork 作为独立会话,也可用 claude agents(全局 Agent View)跨会话查看与恢复。
CLAUDE_CODE_FORK_SUBAGENT=1 会让 Claude Code 发生两点变化:
fork subagent 类型来自行派生 fork(不带 subagent type 的派生仍用 general-purpose;Explore 等命名 subagent 照旧)。CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1。| 约束 | 说明 |
|---|---|
| 版本 | 独立 /fork 命令需 v2.1.161+;"复制成后台会话"语义需 v2.1.212+;独立 worktree 需 v2.1.221+ |
| 独立会话 | fork 是 claude agents 里的独立会话,可单独 attach / resume / 停止 |
| worktree | v2.1.221 起 fork 用独立 git worktree,不复用原 checkout,两会话文件改动互不干扰 |
| prompt cache | fork 首个请求复用父会话 prompt cache,比全新 subagent 便宜 |
| 权限 | fork 的权限提示出现在你的终端 |
| 环境变量作用域 | CLAUDE_CODE_FORK_SUBAGENT 在交互、非交互、Agent SDK 全局生效;=0 关掉包括服务端 rollout 在内的一切 fork |
| 机制 | 干什么 | 谁/什么在跑 | 上下文 | 结果去向 | 何时选 |
|---|---|---|---|---|---|
/fork | 把对话复制成独立后台会话 | claude agents 里独立会话 | 复制完整对话(共享 prompt cache) | 后台独立推进,可回看 | 想把一整条线复制出去后台独立跑 |
/subtask | 派生会话内后台 subagent | 继承完整对话的 subagent | 同主会话 | 完成后回传主会话 | 想甩侧任务给会话内后台、结果回传 |
/branch | 把当前会话切出一个副本 | 你自己在新分支里干 | 当前点的对话快照 | 不回传,/resume 切回 | 想自己换条线试不同方向 |
/agents 命名 subagent | 委派专门化子任务 | 命名 subagent(独立定义) | 全新上下文 + 你传的 prompt | 只回传摘要 | 侧任务背景少、想隔离上下文/限工具/降模型省钱 |
/advisor | 关键决策点咨询更强顾问模型 | 顾问模型(server tool) | 读完整对话,不接管 | 指导吸收后主模型继续 | 方案/失败/完成校验处要第二意见 |
/deep-research | 并行搜证 + 交叉核验 | 后台 workflow 调度多 subagent | 中间结果不进上下文 | 带引用报告回传 | 需多源佐证的调研 |
/fork 复制当前对话到独立后台会话,让它独立推进某个方向,你在主会话继续;之后在 claude agents 里回看。/subtask:如果你要的是"侧任务干完把结果送回主会话"而非独立会话,那是 /subtask 的活。/fork 当成会话内 subagent(头号坑):v2.1.212 起 /fork 是"复制成独立后台会话";会话内 subagent 的能力已移到 /subtask。要结果回传主会话选 /subtask,要独立会话选 /fork。/fork 当 /branch:/fork 让后台会话干活、你不切走;/branch 是你自己切进对话副本。CLAUDE_CODE_FORK_SUBAGENT=1 后连命名 subagent 也跑后台,需要同步就设 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1。x——已完成的关掉、运行中的停掉;也可 claude agents 里管理。CLAUDE_CODE_FORK_SUBAGENT=0。/fork 是一次性派生,不需要"退出";再派生别的直接再 /fork 或 /subtask。/fork now copies your conversation into a new background session ... the in-session subagent it used to launch is now /subtask"(v2.1.212);"/fork now creates a new worktree instead of using the original checkout"(v2.1.221)修复了连续快速点击 /fork 按钮时无法立即后台运行 session 的问题
修复后台会话在其父会话名称下列出而非其自身 fork 名称的问题
修复了从已 fork 或后台会话创建新会话时对话为空的问题
改变了此命令创建的分叉会话行为,现在创建自己的 worktree 而不是使用原会话的检出
现在将会话复制到后台会话,你可继续工作
/fork 升级为独立命令:派生一个继承完整对话的后台 forked subagent 处理指令,完成后将结果回传当前会话(此前 /fork 仅为 /branch 的别名)
修复写入完整父会话到磁盘的问题,现在写入指针并在读取时水合
已重命名为/branch,但仍可用作别名
修复了 forked conversations 错误地共享同一 plan file 的问题。
修复在使用过 web search 的会话上使用 `/fork` 命令时发生崩溃的问题