命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
派生一个会话内 subagent,继承到此刻为止的完整对话在后台干活,完成后把结果回传当前会话。v2.1.212 新增——即 v2.1.212 之前 /fork 所做的事。
/subtask <directive>/subtask 给到目前为止的 parser 改动起草一批单元测试/subtask <directive> 是 Claude Code CLI 中的会话内 slash 命令,v2.1.212 新增。它派生一个会话内 subagent:该 subagent 继承到此刻为止的完整对话(同样的 system prompt、工具、模型、消息历史),在后台按你给的指令干活,而你在主会话里继续手头的事;它完成后,把最终结果作为一条消息回传你的主会话。
它的来历(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"。翻译过来:v2.1.212 把老/fork一拆为二——"复制成独立后台会话"留给了/fork,"会话内 subagent(继承完整对话、结果回传)"这部分独立成了/subtask。所以如果你记得旧版/fork那种"派生继承全对话的后台 subagent、干完回传"的行为,那个行为现在叫/subtask。
subtask 丢掉了命名 subagent 的输入隔离(后者从全新上下文起步),所以你不用再向它复述背景;但它自己的工具调用仍留在它的上下文里、不污染你的主会话。适合"命名 subagent 需要太多背景才有用"或"想从同一起点甩个侧任务给后台、结果拿回来"的场景。
在会话内,消息开头输入 /subtask 再跟一段指令:
/subtask draft unit tests for the parser changes so far
subtask 出现在 prompt 下方的面板里、在后台跑,你继续在主会话工作;它完成时结果作为消息抵达主会话。Claude 用指令开头的词给它命名。
/subtask vs /fork:一次拆分的两半这是当前最容易混的一对(v2.1.212 拆出来的):
| 维度 | /subtask <directive> | /fork <directive> |
|---|---|---|
| 是什么 | 会话内 subagent | 独立后台会话(claude agents 里独占一行) |
| 上下文 | 继承到此刻的完整对话 | 复制到此刻的完整对话 |
| 结果去向 | 干完回传当前会话 | 后台独立推进,可回看 |
| worktree | 跟随主会话工作树 | v2.1.221+ 独立 git worktree |
| 生命周期 | 随主会话,面板一行 | 可 claude agents 独立 attach/resume |
| 何时选 | 侧任务干完要结果回主线 | 想把一整条线复制出去独立后台跑 |
一句话:要"结果回传当前会话"选 /subtask;要"独立可管理的后台会话"选 /fork。
运行中的 subtask 显示在 prompt 输入框下方的面板里,主会话一行、每个后台项各一行:
| 键 | 动作 |
|---|---|
↑ / ↓ | 在行间移动 |
Enter | 打开选中项的 transcript,并向它追加后续消息 |
x | 关掉已完成的或停掉正在跑的 |
Esc | 焦点回到 prompt 输入框 |
| 约束 | 说明 |
|---|---|
| 版本 | 需 v2.1.212+;更早版本此能力由老 /fork 承担 |
| 后台执行 | subtask 默认在后台跑;想同步执行设 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 |
| 并发治理 | 受 subagent 治理环境变量约束:并发上限 CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS(默认 20)、每会话上限 CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION(默认 200,/clear 重置)、嵌套深度 CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH(默认 3) |
| prompt cache | 首个请求复用父会话 prompt cache,比全新 subagent 便宜 |
| 权限 | subtask 的权限提示出现在你的终端 |
| 机制 | 干什么 | 上下文 | 结果去向 | 何时选 |
|---|---|---|---|---|
/subtask | 会话内后台 subagent | 继承完整对话 | 回传当前会话 | 侧任务干完要结果回主线 |
/fork | 复制成独立后台会话 | 复制完整对话 | 后台独立推进 | 想把一条线复制出去独立跑 |
/branch | 切出对话副本自己干 | 当前点快照 | 不回传,/resume 切回 | 想自己换条线试 |
/agents 命名 subagent | 委派专门化子任务 | 全新上下文 + prompt | 只回传摘要 | 侧任务背景少、想隔离/限工具/降模型 |
/subtask draft unit tests ... 让后台起草测试,你继续在主会话写实现,结果回传合并。/subtask 让它继承全部上下文,干完把结论送回。/fork:如果你要的是一个能在 claude agents 里单独管理、独立 worktree 的会话,而非"回传结果",那是 /fork 的活。/fork 记混(头号坑):v2.1.212 后 /subtask 才是"会话内 subagent、结果回传"的那个;/fork 已变成"复制成独立后台会话"。要结果回主线用 /subtask。/subtask;claude --version 确认,旧版这能力在老 /fork 里。CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1。CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS(默认 20)/ 每会话 200 挡下;/clear 重置每会话预算。x——已完成的关掉、运行中的停掉。/subtask 是一次性派生,不需要"退出";再派生直接再 /subtask。/fork now copies your conversation into a new background session (its own row in claude agents) while you keep working; the in-session subagent it used to launch is now /subtask"(官方一手)启动会话内子代理,替代原 `/fork` 功能