🔍 问题现象
- 使用
cc switch配置 OpenRouter 与自定义模型(如z-ai/glm-5)后,CLI 仍返回默认 Claude Opus 4.1
CC Switch 已经改了默认模型 glm-5 ,但是在 Claude Code Cli 中, 我问 Claude Code 是什么模型, 他回答始终是 Opus 4.1

- 执行
claude diagnostics发现:系统同时存在 本地版 (npm-local) 与 全局版 (npm-global) 两个安装

这是本地版本与全局的版本冲突了, CC-Switch 安装的是 /Users/nanlan/.claude/local 目录,而全局的版本我是安装在 /opt/homebrew/bin/claude目录下,两个版本的配置混乱
⚠️ 冲突根源
- 版本共存 :全局版(Homebrew/npm 全局安装)与本地版(
~/.claude/local)同时存在,CLI 优先运行全局版 - 配置隔离 :
cc switch仅修改本地版配置文件,全局版无法读取该配置 - 默认回退:全局版未读到自定义配置时,自动回退到官方默认模型(Opus 4.1)
✅ 解决方案
方案 1:迁移到本地版(推荐,彻底解决冲突)
sh
claude migrate-installer
- 自动卸载全局版,仅保留本地版
- 配置路径与
cc switch完全对齐 - 后续
cc switch配置立即生效
方案 2:保留全局版(备选方案)
这种方式我觉得麻烦,因为 cc switch 只支持本地版 Claude CLI,用不了全局版。 CC-Switch 多好用的工具
-
删除本地版目录:
shrm -rf ~/.claude/local -
修复全局版更新权限:
shsudo chown -R $USER:$(id -gn) $(npm -g config get prefix) -
通过环境变量配置模型(写入
~/.zshrc):shexport ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1" export ANTHROPIC_MODEL="z-ai/glm-5" export ANTHROPIC_DEFAULT_HAIKU_MODEL="anthropic/claude-opus-4.6" export ANTHROPIC_DEFAULT_SONNET_MODEL="anthropic/claude-opus-4.6" export ANTHROPIC_DEFAULT_OPUS_MODEL="anthropic/claude-opus-4.6" -
使环境变量生效:
shsource ~/.zshrc
🧪 验证步骤
-
查看当前运行版本:
shclaude doctor确认
Currently running为npm-local(本地版)

-
验证当前模型:
shclaude model返回配置的模型(如
z-ai/glm-5)
🤩 全局安装与本地的方式
- 全局安装
arduino
# brew install
brew uninstall claude
# npm
npm install -g calude
- 本地安装
arduino
curl -fsSL https://claude.ai/install | sh
💡 关键结论
cc switch是为本地版设计的配置工具,仅对本地版生效- 全局版与
cc switch天然不兼容,是导致配置不生效的核心原因 - 推荐迁移到本地版,这是最干净、最稳定的解决方案,能彻底避免版本冲突和配置失效问题