Repository navigation
Terminal Status
英文名:
terminal-status· 领域:工具 · 返回功能索引
同时开着好几个终端标签页时,你很难知道哪个 Claude 已经做完、哪个卡在等你点「Yes」。
OSC 7501 是一种终端协议:程序通过不可见的控制序列告诉终端「我现在是什么状态」,终端再把它显示在标签页、侧栏或通知里。Claude Code 会上报这些状态:
| 状态 | 含义 |
|---|---|
idle |
空闲,等你输入 |
working |
正在回答或跑工具 |
blocked |
卡住等你:kind=permission(等批准)、question(等回答问题)、auth(等登录),msg 是一句说明 |
done |
这一轮做完了 |
error |
出错 |
clear |
退出时清掉终端上的记录 |
后台任务(子代理、Monitor 等)会带 id 作为子记录单独上报,结束后移除。
不需要任何配置。 启动时 Claude 会先问终端「你支持 OSC 7501 吗」,终端回应了才开始上报;不支持的终端(包括 tmux)不会收到任何状态序列。所以普通终端里看不到变化是正常的。
下面用一个模拟「支持 OSC 7501」的小终端包装器演示:左边是 Claude,右边是终端收到并解码后的状态记录。
1. Claude 要跑 touch notes.txt,停下来等你批准。 终端收到 state=blocked kind=permission,msg 里写着要批准什么,支持的终端可以据此在标签页上亮提示:

2. 批准后继续执行,这一轮结束时上报 done。 完成状态会一直保留,不会因为你切换窗口或按普通键就消失;退出 Claude 时再发 state=clear 清掉:

| 配置项 | 写法 | 说明 |
|---|---|---|
CLAUDE_CODE_DISABLE_TERMINAL_TITLE |
1 |
关闭终端标题和状态上报 |
CLAUDE_CODE_SESSION_KIND |
bg |
后台会话使用,同样不探测、不上报 |
msg 会包含完整的 Bash 命令、文件路径或 URL(和官方 2.1.296 一致)。内容只做了控制字符清理和长度限制,传输时的 Base64 只是编码,不是脱敏;如果你的终端会把状态同步到别处,请留意。
-
done时官方会附一句回合摘要,working时会附当前活动文字;本 fork 还没有对应数据源,这两种msg暂时为空。 - 后台子记录的增删已验收,但父子回合的完整时序还不能保证与官方完全一致。
画面来自实际运行:左侧为本项目构建的 Claude Code,右侧是测试用包装器 osc7501.py(在 pty 里应答探测并把收到的 OSC 7501 解码打印出来,title / msg 已从 Base64 还原,省略了固定的 app=claude-code 字段)。模型回复由测试用假 API 生成(FAKE_DONE;DO<<…>> 是让假 API 调用工具的指令)。
本页由 docs/features/terminal-status.md 自动同步,请在仓库中修改。
- Agent SDK 与 stream-json 控制协议
- Agent Teams
- Agent 与后台任务
- 自动模式(Auto mode)
- 背景会话、daemon 与 agents 视图
- 自定义 UI / Branding 与 Status line
- 构建、发布与终端验收工具
- Channels
- Codex Apps
- 自动压缩窗口
- 调试日志
- /diff 视图
- Direct Connect
- Effort 档位
- 自主 Goal
- Hooks 事件、匹配与输出校验
- 快捷键与 Vim 模式
- MCP 配置与认证
- 记忆:auto memory 与 SQLite FTS5 检索
- 模型自动发现与 Gateway
- Mods 远程客户端(stream-json)
- Mods / Function Hooks
- Monitor 工具
- OpenAI / Codex provider
- 独立会话通信
- 权限规则、权限模式与 Safe mode
- 插件与 Marketplace
- Prompt context 与 Tool search
- 请求韧性:重试、回退模型与默认模型
- Bash 沙箱
- 定时任务:Cron、/loop 与 ScheduleWakeup
- 会话命令
- Skills
- SSH Remote
- 遥测与反馈
- 终端程序状态(OSC 7501)
- Terminal 工具
- 用量、成本与状态
- VS Code 插件
- Dynamic Workflow