命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
打印后台会话的最近输出
claude logs <id>claude logs 7c5dcf5dclaude logs 是 Claude Code CLI 的一个子命令,用于打印某个后台会话(background session)的输出日志(access session logs)。它不进入交互界面,只读取并输出该会话的历史文本,适合在不 attach 到会话的情况下快速检查进度或结果。
claude logs 是后台会话管理命令组的成员之一,其他成员包括 claude agents、claude attach、claude stop、claude respawn、claude rm。
截至 2026-06-19,官方文档(code.claude.com/docs/en/cli-reference)收录了此命令,该文档地址已从 docs.claude.com/en/docs/claude-code/cli-reference 301 重定向至 code.claude.com/docs/en/cli-reference。
claude logs <session-id>
| 参数 / Flag | 类型 | 说明 |
|---|---|---|
<session-id> | 位置参数(必填) | 后台会话的 ID,通过 claude agents --json 获取,例如 7c5dcf5d |
注意: 官方文档中未列出额外 flag(如
--follow、--lines/-n)。如需确认当前安装版本是否支持,运行claude logs --help。
claude logs 属于以下命令族,配合使用:
| 命令 | 功能 |
|---|---|
claude agents | 打开 agent view(所有后台会话的总览界面) |
claude agents --json | 以 JSON 格式列出所有后台会话及其 ID |
claude logs <id> | 打印指定会话的输出日志(只读,非交互) |
claude attach <id> | 将指定后台会话 attach 到当前终端(进入交互模式) |
claude stop <id> | 停止指定后台会话 |
claude respawn <id> | 重启已停止的会话(restart stopped session;是否保留对话历史官方来源未明确说明,按实现推断) |
claude rm <id> | 从列表中移除已完成的会话记录 |
claude attach 的差异| 维度 | claude logs <id> | claude attach <id> |
|---|---|---|
| 交互性 | 非交互,打印后退出 | 进入交互 TUI,可继续对话 |
| 对会话的影响 | 只读,不改变会话状态 | 将终端连接到会话 |
| 适合场景 | 快速查看进度、脚本采样输出 | 需要回复或干预会话时 |
1. 获取 session ID 再查看日志
# 先获取所有后台会话的 ID
claude agents --json
# 用 ID 查看指定会话输出
claude logs 7c5dcf5d
2. 在 CI 中轮询后台任务结果
SESSION_ID=$(claude agents --json | jq -r '.[0].id')
claude logs "$SESSION_ID"
3. 批量检查多个后台会话
claude agents --json | jq -r '.[].id' | xargs -I{} sh -c 'echo "=== {} ==="; claude logs {}'
session ID 建议精确传入:claude logs 要求传入有效的 session ID,ID 通过 claude agents --json 获取。是否支持唯一前缀匹配、截断 ID 能否命中均属实现细节,官方来源未描述匹配逻辑,此处为实现推断;保险做法是传入完整 ID。
会话已被 claude rm 移除后大概率无法查看日志(实现推断):claude rm <id> 会从列表中清除记录。由此按逻辑推断——三个来源均未直接描述此组合行为——一旦会话记录被移除,claude logs <id> 多半就无法再定位到对应会话。属实现层推断,非官方明示;若需保留日志,建议在 claude rm 前先 claude logs <id> 导出。
修复在 background service 无响应时挂起的问题