CCometixLine 状态栏配置排查记录
问题描述
在 Windows 11 中文版环境下,安装 CCometixLine 并配置 Claude Code settings.json 后,
重启 Claude Code 始终无法显示状态栏。
根本原因分析
问题 1:%USERPROFILE% 环境变量未展开
初始配置:
"statusLine": {
"type": "command",
"command": "%USERPROFILE%\\.claude\\ccline\\ccline.exe"
}
原因: Claude Code 是 Node.js 应用,通过 child_process.spawn 启动子进程时,
不会自动展开 Windows 风格的 %VAR% 环境变量,导致找不到可执行文件。
修复: 改为绝对路径 C:\\Users\\Voyager\\.claude\\ccline\\ccline.exe。
问题 2:改为绝对路径后依然无效
实际情况: 通过测试确认 ccline.exe 本身工作正常,配置路径也正确。
真正原因:
官方文档说明:状态栏脚本只在收到助手回复之后才运行,
修改配置后必须发一条消息并等待回复才会触发更新。
最终解决方案
将命令改为直接使用 npm 全局安装的 ccline 命令名:
"statusLine": {
"type": "command",
"command": "ccline",
"padding": 0
}
原因: ccline 已通过 npm install -g @cometix/ccline 安装,
ccline.cmd 存在于 npm 全局 bin 目录且在 PATH 中,Claude Code 可以直接调用。
排查过程
| 步骤 | 操作 | 结论 |
|---|---|---|
| 1 | 读取 settings.json |
发现 %USERPROFILE% 未展开问题 |
| 2 | 确认 os.homedir() 路径 |
C:\Users\Voyager,与 C:\用户\Voyager 是同一目录 |
| 3 | 确认 ccline.exe 存在 |
路径正确,文件存在 |
| 4 | 手动管道测试 ccline.exe | 可正常解析 JSON 并输出带 ANSI 颜色的状态栏文本 |
| 5 | 模拟 cmd.exe /d /s /c 调用 |
退出码 0,输出正常 |
| 6 | 查阅官方文档 | 发现状态栏只在助手回复后更新 |
| 7 | 改用 "command": "ccline" |
问题解决 |