CCometixLine状态栏不显示排查记录

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" 问题解决 :white_check_mark:

1 个赞