你让构建跑起来,打开另一个文件继续干活。半小时后,你已经想不起还留着什么在后台跑,甚至不确定它是不是还在跑。/tasks 就是 Verboo Code 里回答这个问题的面板:现在有哪些任务在跑、处于什么状态、按哪个键能停掉卡住的那个。
本文覆盖命令本身、面板的按键、输出文件的位置,以及任务看起来卡死最常见的原因。全部内容已于 2026-11-13 对照 verbeux-ai/code 版本 0.15.41 的源码核实。
/tasks 显示什么?
只显示仍在运行或排队中的任务。已完成、失败或被你停掉的任务会立刻从列表消失,哪怕你在它结束一秒后才打开面板。
过滤规则在代码里写得很明确(src/tasks/types.ts):只有状态为 running 或 pending 的条目才会进列表。面板顶部会把总数汇总成 2 agents · 1 active shell · 3 active agents 这样的形式,每一行显示该任务的状态和最近一次活动。
哪些类型的任务会出现?
面板按区块分组,每种类型来源不同:
| 类型 | 如何产生 | 行内显示什么 |
|---|---|---|
| Shell | 发送到后台的长命令 | 执行的命令 |
| 本地 agent | 在后台启动的子 agent | 任务描述 |
| 远程会话 | 云端会话 | 会话标题 |
| 团队 agent | 在同一进程中运行的 agent | agent 的 @名称 |
| Workflow | 在后台运行的 workflow | workflow 摘要 |
| Monitor | Monitor 工具正在盯日志 | 被监视对象的描述 |
团队 agent 会按团队分组,负责人在最上面,成员依次排在下面。它和底部的状态指示器是同一份列表,就是你打字时显示 1 shell 或 2 local agents 的那个。
如何打开面板?
在提示符输入 /tasks。该命令也响应别名 /bashes,这是当初只有 shell 任务时留下的。
/tasks
只有一个活动任务时,面板会跳过列表,直接打开该任务的详情。一个都没有时,显示 No tasks currently running。面板读取的是当前会话状态,所以不会显示你另一个会话里的任务。
面板里有哪些按键?
数量不多,而且都显示在屏幕上:
| 按键 | 作用 |
|---|---|
↑ / ↓ | 移动选中项 |
Enter | 打开任务详情 |
x | 停止选中的任务 |
f | 进入团队 agent 视图 |
← 或 Esc | 关闭面板 |
ctrl+x ctrl+k | 停止所有正在运行的本地 agent |
只有选中的任务确实在运行时,x 才会出现。在详情里可以看到累积的输出和实时状态,不用退出面板。
如何把任务放到后台?
有两条路。用键盘:当命令正在前台运行时,按 ctrl+b 把它送到后台,提示符交还给你。用 agent:它调用 Bash 时带上 run_in_background: true,或者启动子 agent、Monitor 时,效果一样。
sleep 是代码唯一排除在自动后台之外的命令(src/tools/BashTool/BashTool.tsx):要求暂停的人想要的是暂停,不是一个被丢开的进程。如果你明确要求,它照样会进后台。
有一个变量可以整体关掉这个功能:设置 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 之后,run_in_background 参数根本不会出现在工具 schema 里,ctrl+b 也不再响应。
每个任务的输出在哪里?
每个任务都写入一个 <taskId>.output 文件,放在项目临时目录下的 tasks/ 里,并按会话分目录。路径会出现在工具结果中,也会随每条完成通知返回,所以用 Read 指向它即可。
/tmp/claude-{uid}/{项目}/{sessionId}/tasks/{taskId}.output
任务结束后文件仍然留在磁盘上。这也是值得记下路径的原因:任务一旦从 /tasks 消失,这个文件就是输出唯一还在的地方。TaskOutput 工具依然存在,但代码里已标记为弃用,理由正是改为直接读取文件。
任务为什么卡在等待输入?
因为命令在等一个交互式确认,而没有人能回答。后台命令收不到输入,所以运行途中的 (y/n) 会让进程永远停在那里。
Verboo Code 能发现这种情况。一个看门狗每 5 秒检查输出文件的大小,如果 45 秒没有增长,且最后一行看起来像交互式提示((y/n)、[Y/n]、Press Enter、以 ? 结尾的提问),就会发出一条通知,说这个任务看起来在等待输入。
解决办法是用 x 停掉任务,再把回答通过管道传进去,或改用程序的非交互参数重跑:
echo y | npm run db:migrate
安装程序、云厂商 CLI,以及任何会弹出菜单的东西都是同样的情况。拿不准时,先在前台跑一次,再决定要不要放到后台。
tmux 里的坑。 在 tmux 里,ctrl+b 是 tmux 自己的前缀键,根本到不了 Verboo Code。代码已经处理了这一点:屏幕上的提示会改成 ctrl+b ctrl+b。如果还是觉得别扭,就用 /tasks,它完全不依赖按键。
值得把任务留在后台吗?
任务耗时长、中途不需要你决策时值得:测试套件、构建、安装依赖、数据库迁移。你把时间拿回来,结束时收到一条通知。
需要确认的、依赖只存在于你交互式 shell 里的环境变量的、或者会打印大量内容的命令就不值得:输出文件上限为 5 GB,超过之后写入就会停止。
面板只显示此刻在运行的东西,所以合适的习惯是在关闭会话前打开 /tasks。如果你还没把后台任务用进日常,先从一个场景开始:把构建送到后台,按一下 ctrl+b,然后继续下一个文件。在 Verboo Code 里 token 不设上限,后台任务不会吃掉你之后要用的额度。账号在 verboo.ai。



