命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
打开 Agent 视图监控并发送后台会话
claude agents [--cwd <path>] [--json] [--permission-mode] [--model] [--effort]claude agents --jsonclaude agents 是 Claude Code CLI 的顶级子命令,打开 Agent View——一个统一管理所有后台会话的终端仪表板。在同一屏幕上可以看到哪些会话正在运行、哪些在等待你的输入、哪些已完成,并可直接在底部 dispatch 新会话,无需切换标签。
该命令属于 Claude Code 后台会话管理命令组,与 claude --bg <task>(直接启动后台会话)和会话内 /bg 命令(把当前会话推入后台)共同构成完整的异步 agent 工作流。
可用性: 作为 Research Preview 上线,功能与键位可能随版本变化。Agent View 约在 v2.1.14x 系列引入(以官方 changelog 为准),建议升级到较新版本后用 claude --version 确认。各 flag 的引入版本见下方 Flag 表。
# 打开交互式 Agent View(TUI 界面)
claude agents
# 以 JSON 格式输出当前所有后台会话列表(非交互,适合脚本)
claude agents --json
# 将视图范围限定到指定工作目录
claude agents --cwd /path/to/project
# 为从 Agent View 内 dispatch 的新会话指定默认模型/effort/权限模式
claude agents --permission-mode plan --model opus --effort high
| Flag | 最低版本 | 说明 |
|---|---|---|
--json | — | 非交互模式:以 JSON 数组打印活动会话后退出;加 --all 同时包含已完成的后台会话 |
--cwd <path> | 约 v2.1.14x* | 将列表范围限定到指定工作目录 |
--model <id> | 约 v2.1.14x* | 从 Agent View dispatch 新会话时的默认模型(如 opus) |
--effort <level> | 约 v2.1.14x* | dispatch 新会话时的默认推理 effort,取值 low/medium/high/xhigh/max(具体档位取决于模型) |
--permission-mode <mode> | 约 v2.1.14x* | dispatch 新会话的默认权限模式 |
--dangerously-skip-permissions | 约 v2.1.14x* | 等价于 --permission-mode bypassPermissions |
--agent <name> | — | 指定 dispatch 会话的主 agent |
--settings <file-or-json> | — | 覆盖 Agent View 及派发会话的设置 |
--mcp-config <file-or-json> | — | 从配置文件/JSON 加载 MCP server |
--permission-mode 取值与顶层 claude 命令一致(default / acceptEdits / auto / plan / bypassPermissions);其中 bypassPermissions 和 auto 需先用 claude 交互式接受过一次才能使用。--effort 取值(同顶层命令,官方 cli-reference 明确)为 low / medium / high / xhigh / max,具体可用档位取决于模型。
*上述 flag 的版本号为社区 changelog/截图推断,非官方逐条标注的精确下限,以官方 changelog 为准。
--model、--effort、--permission-mode设置的是从 Agent View 底部 dispatch input 派发的新会话的默认值,不影响 Agent View 自身显示。
claude agents --json
以 JSON 数组输出当前活动会话的快照后退出(非 TUI 模式),加 --all 还会包含已完成的后台会话。适用于:
官方文档列出的字段:每条都含 cwd、kind、startedAt;后台会话条目还有 id(可配合 claude attach/logs/stop)和 state(working / blocked / done / failed / stopped);进程仍存活时才有 pid 和 status,status 为 waiting 时附带 waitingFor(说明被什么阻塞,如 permission prompt / input needed);设置了名称/会话 ID 时出现 sessionId、name。可配合 --cwd <path> 过滤。
会话状态分组(TUI 模式下按组折叠显示):
| 分组 | 含义 |
|---|---|
| Needs input | 会话在等待你回复才能继续 |
| Working | 会话正在运行中 |
| Completed | 会话已结束 |
键盘快捷键:
| 按键 | 功能 |
|---|---|
←(左方向键) | 在任意前台会话中打开 Agent View |
Enter | 进入所选会话的完整对话记录 |
→(右方向键) | 从 Agent View 返回到该会话 |
| 底部 dispatch 输入框 | 直接输入任务文本,派发新后台会话 |
界面顶部 header 显示:Claude Code 版本号、当前使用模型、工作目录、各状态会话计数。
tmux 状态栏集成示例:
# ~/.tmux.conf 中轮询 agent 数量
set -g status-right '#(claude agents --json 2>/dev/null | jq "length" 2>/dev/null || echo "?") agents'
脚本化等待所有会话完成:
#!/bin/bash
# 轮询,直到没有处于 Working 状态的会话
while claude agents --json | jq -e '[.[] | select(.state == "working")] | length > 0' > /dev/null 2>&1; do
echo "$(date): agents still working..."
sleep 10
done
echo "All agents done."
后台会话的运行态字段是
state(working/blocked/done/failed/stopped);status仅在进程存活时出现。脚本中建议加防御性解析。
与 claude --bg 配合使用:
# 并行启动多个后台任务,再用 agents 统一监控
claude --bg "为 auth 模块补充单元测试" --cwd ./packages/auth
claude --bg "生成 API 文档" --cwd ./packages/api
claude agents # 打开 Agent View 统一查看进度
| 操作 | 形式 | 适用场景 |
|---|---|---|
claude agents | CLI 子命令(在 shell 中运行) | 从终端直接进入统一管理视图 |
/bg | 会话内 slash 命令 | 把当前前台会话推入后台,继续在 Agent View 中跟踪 |
← 左箭头 | 交互快捷键 | 在已打开的会话中侧滑进入 Agent View |
三者最终都进入同一个 Agent View 界面,区别只在于触发入口。
| 约束 | 说明 |
|---|---|
| Research Preview 状态 | 功能和行为可能随版本迭代变化,不保证稳定 |
| 后台会话托管 | 后台会话由 supervisor 进程托管,会迁移到 .claude/worktrees/ 下的隔离 git worktree 再改文件 |
| 版本下限 | Agent View 与各 dispatch flag(--cwd/--model/--effort/--permission-mode)约在 v2.1.14x 系列陆续引入;具体下限以官方 changelog 为准,精确版本号无官方逐条出处 |
| 仅展示后台会话 | 普通前台会话不会出现在 Agent View 列表中,需先用 /bg 推入后台 |
--json 无持续输出 | --json 是快照模式,输出一次即退出;持续监控需在脚本中轮询 |
stopped 状态是终态,不自动重启(v2.1.191) | 自 v2.1.191 起,被显式停止(claude stop / 在 Agent View 里停止)的后台会话进入 stopped 状态后永久停止,不会被 supervisor 自动重启;要继续得手动 claude attach/恢复。区别于 failed(异常结束)——stopped 是用户主动叫停的意图。来源:Claude Code changelog v2.1.191 |
后台会话由一个 supervisor 进程托管。当 Agent View 报「background service did not respond」(supervisor 卡死/无响应)时,用官方 daemon 子命令恢复:
# 查看 supervisor 状态:版本、socket 目录、worker 数;未运行则退出码 1
claude daemon status
# 停掉 supervisor 及其托管的所有会话(从无响应状态恢复)
claude daemon stop --any
# 停 supervisor 但保留后台会话继续运行,下一个 supervisor 重连接管
claude daemon stop --any --keep-workers
--keep-workers:停掉当前 supervisor 时让后台 session 继续在跑,这样下一个 supervisor 启动后会重新连接到这些幸存的 worker——避免中断长跑任务。不加此 flag 则连同托管的会话一起停掉。--any:确认停掉一个 on-demand supervisor(按需启动的 supervisor,即默认形态)。官方说明 --any 是默认场景下确认操作所需。出处:官方 cli-reference 的
claude daemon stop --any条目(示例claude daemon stop --any --keep-workers)与claude daemon status。用于从 unresponsive supervisor 中恢复。
1. 并行多 worktree 开发
同时在多个 feature branch 上运行后台 agent,用 Agent View 统一查看哪个在等待 review 决策。
2. CI 预检脚本
# 推送前检查是否还有未完成的后台 agent
pending=$(claude agents --json --all | jq '[.[] | select(.state != "done")] | length')
if [ "$pending" -gt 0 ]; then
echo "⚠️ 还有 $pending 个 agent 未完成,确认后再推送"
exit 1
fi
3. 批量代码库迁移监控
用 claude --bg 批量启动各子包的迁移任务,再用 claude agents 或 claude agents --json 定期检查进度,有 "Needs input" 的会话优先处理。
--json schema 不稳定: Agent View 处于 Research Preview,--json 输出的字段结构未公开文档化,在版本升级后可能变更。脚本中建议加防御性解析(// null 默认值、try/catch 等),避免字段不存在时直接报错。
忘记把会话推入后台: claude agents 只列出后台会话。普通 claude 启动的前台会话不会自动出现,需在会话内运行 /bg 命令才能纳入 Agent View 管理。
修复了 CLAUDE_CODE_EXTRA_BODY 环境变量被忽略的问题
现在链接编辑、合并、评论或推送到现有 PR 的会话
修复了返回到 claude agents 时静默停止运行中的 subagents 并重新运行 prompt 的问题
修复了 claude agents 编辑器在 slash command 不可用时丢弃已输入消息的问题
修复了 claude agents 中的 @ 目录选择器不显示已注册 git worktrees 的问题
改变了空的 claude agents 视图,现在始终显示组织好的分类(Needs input / Working / Completed)及描述
修复打开聊天时崩溃
修改了会话行 PR 链接的显示格式,从 "PR" 标签改为显示为 `#N` 的格式
修复多个 UI 问题(键盘焦点、subagent 类型、session 状态显示),改进后台 agent 在 daemon restart 后自动恢复
后台任务在由较新的 Claude Code 版本写入时消失或丢失数据的问题已修复
completed 列表现在填充可用垂直空间;短终端上标题压缩以保持实时会话可见
修复内置斜杠命令被作为文本发送给后台会话的问题
修复粘贴图像的任务行显示完整路径而非占位符的问题
修复了在自定义 API gateway 下的 Invalid bearer token 401 错误。
修复在一个窗口按返回键不再分离同一会话的其他窗口的问题。
修复后台代理 PR URL 搜索:在调度唤醒或任务被阻止期间打开的 PR 现在出现在搜索结果中。
修复后台会话在 Claude Code 更新后重新连接时失去运行中的任务
从状态分组视图调度时现在在打开代理视图的目录启动会话
`--json` 现在包括 `waitingFor` 字段,显示等待会话被阻塞的原因(如权限提示)
修复在宽终端上截断状态文本问题,状态详情现在使用全部终端宽度显示
修复会话名称在 40 列截断问题,名称列现在随终端宽度增长
修复后台服务重启后 attach 偶尔直接弹回会话列表问题
修复 Ctrl+V 图像粘贴在 dispatch 输入和回复框中不工作问题
修复从 agents 视图打开后台会话时卡顿 5 秒问题
输出行数现在在详情前显示 done/total,peek 展示运行时间最长的项
修复后台会话从守护进程环境启动过期模型而非使用 settings.json 中配置的问题
修复从 `claude agents` 恢复已完成会话时丢失聊天记录且重新运行原始提示
修复 `claude agents` 返回会话列表时因自动更新程序重新检查而冻结
新增 `--agent <name>` 参数,并支持 settings.json 中的 agent 字段
修复 idle subagent 停泊或 backgrounded shell 泄漏时 completed sessions 不能自动关闭的问题
修复按 Esc 无法取消缓慢打开动画导致列表无响应的问题
修复 tmux 环境下 copy-on-select 功能无法到达系统剪贴板的回归问题
增强 dispatch 输入中的 slash-command 自动补全以支持子字符串匹配
新增在其中输入 ! <command> 来运行 shell 命令的能力
autocomplete 现在建议原生 slash 命令和 bundled skills(而不仅仅是项目 skills)
PR 列现在显示 `PR #N`(单个 PR)或 `N PRs`(多个 PR)
修复了 Remote Control 启用时留下的僵尸会话条目
修复权限提示后的后台工作进程崩溃
新增 --json 参数支持,可输出 JSON 格式的活跃会话列表供脚本调用
新增多个参数支持如 --add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, --dangerously-skip-permissions
现在接受 --add-dir, --settings, --mcp-config, --plugin-dir 并应用到 dashboard 和 background session,以及 --permission-mode, --model, --effort, --dangerously-skip-permissions 设置默认值
新增 --add-dir、--settings、--mcp-config、--plugin-dir、--permission-mode、--model、--effort、--dangerously-skip-permissions flags 用于配置后台会话
新增 --cwd flag 用于限制会话列表的目录范围
新增 agent view 模式用于查看所有会话
新增 `claude agents` CLI 命令用于列出所有配置的 agent