ccstatusline 显示的模型名不正确 - Claude Code
Quick fix
在 ccstatusline 中配置 Custom Command 脚本,读取 cc-switch 数据库中的环境变量以正确显示实际模型。
Symptom
Section titled “Symptom”在启用 `cc-switch` 代理接管模式后,Claude Code 状态栏(`ccstatusline`)显示的模型名不正确。实际请求走的是代理路由后的模型,但状态栏固定显示为 `Sonnet-4.6`(或 `claude-sonnet-4-6`)。在 `cc-switch` 代理接管模式下,`ccstatusline` 默认读取的是本地会话的默认模型名称,而不是代理解析后的实际生效模型(effective model)。这导致状态栏和代理后台的计费模型显示与实际路由到的上游模型(如 OpenRouter 模型)不一致。
此外,关于 `ANTHROPIC_DEFAULT_OPUS_MODEL` 等环境变量中声明 1M 上下文时使用大写 `[1M]` 的问题(Issue #2863),经确认 Claude Code 源码对大小写不敏感(`/\[1m\]/i.test(model)`),因此大写声明完全兼容,并非导致模型显示或请求错误的原因。
在 Claude Code 配置中,为 `ccstatusline` 添加 Custom Command,使用以下脚本替换默认的 `bunx -y ccstatusline@latest` 命令。该脚本会读取 `~/.cc-switch/cc-switch.db` 中的当前配置,并根据请求的模型类型提取对应的 `ANTHROPIC_DEFAULT_OPUS_MODEL` 等环境变量进行显示。
// ~/.claude/settings.json{"statusLine": {"command": "m=$(jq -r '.model.id // .model // \"\"'); c=$(sqlite3 ~/.cc-switch/cc-switch.db \"SELECT settings_config FROM providers WHERE app_type='claude' AND is_current=1\"); case \"$m\" in *opus*|*Opus*) r=$(echo \"$c\"|jq -r '.env.ANTHROPIC_DEFAULT_OPUS_MODEL//empty');; *sonnet*|*Sonnet*) r=$(echo \"$c\"|jq -r '.env.ANTHROPIC_DEFAULT_SONNET_MODEL//empty');; *haiku*|*Haiku*) r=$(echo \"$c\"|jq -r '.env.ANTHROPIC_DEFAULT_HAIKU_MODEL//empty');; *) r=$(echo \"$c\"|jq -r '.env.ANTHROPIC_MODEL//empty');; esac; echo \"Model: ${r:-$m}\"","padding": 0,"type": "command"}}
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version未知
PlatformsWindowsmacOSLinux
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 声明支持 1M 上下文时,环境变量生成的大写 `[1M]` 会导致报错吗?
- 不会。Claude Code 源码中对上下文长度的正则匹配是大小写不敏感的(`/\[1m\]/i.test(model)`),因此 `ANTHROPIC_DEFAULT_OPUS_MODEL` 等变量中使用 `[1M]` 完全兼容,实测可用。
- 这个 Custom Command 脚本在 Windows 上能用吗?
- 可以,该脚本已在 Windows WSL 环境中验证可行,macOS 同样适用。
settings.json被全量重写导致插件失效多数相关 issue 仍未解决;升级至v3.20.1+,该版本已修复切换配置时清空enabledPlugins等字段的Bug。ANTHROPIC_BASE_URL 被改成 127.0.0.1开启本地路由时 ANTHROPIC_BASE_URL 指向 http://127.0.0.1:15721 是预期;把插件等公共字段移进「通用配置」,切换后重启 Claude Code 生效。claude.ai connectors are disabled取消设置 `ANTHROPIC_API_KEY` 环境变量,以恢复 claude.ai 登录和组织连接器的加载。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。