TL;DR
- 「切了没反应」的四大根因,按命中率排序:环境变量残留 > CLI 进程没重启 > 写入了另一份配置 > 新供应商本身不可用。
- 排查第一步永远是「让实际生效的配置现形」,而不是继续点切换按钮。
- 改完任何一项,重开终端再测——这是本清单出现频率最高的一句话。
图 1:四站排查流程——按命中率排序,每站修完重开终端复测(示意图)
清单 0:先让「实际生效的配置」现形
排查之前,先拿到事实。Claude Code 与 Codex 各有一条命令能直接读出当前会话真正在用的地址:
# Claude Code 侧
echo "BASE_URL = $ANTHROPIC_BASE_URL"
echo "TOKEN 前缀 = ${ANTHROPIC_AUTH_TOKEN:0:8}"
# Codex 侧
echo "BASE_URL = $OPENAI_BASE_URL"
echo "KEY 前缀 = ${OPENAI_API_KEY:0:8}"把输出和你在 CC Switch 里选中的供应商对着看:一致 = 切换其实生效了,问题在别处(去清单 4);不一致 = 切换被覆盖了,按清单 1 → 2 → 3 顺序查。
清单 1:环境变量残留(命中率最高)
CC Switch 的写入目标是配置文件,但 shell 环境变量里如果残留着手工 export 过的地址,会持续参与生效——旧地址就是从这里「复活」的。
检查项:
- ☐ 当前会话实测:上面清单 0 的命令输出,是否与你记住的手工配置吻合。
- ☐ 翻一遍 shell 配置文件(
~/.zshrc、~/.bashrc、~/.bash_profile),搜ANTHROPIC_和OPENAI_,删掉不再需要的 export 行。Windows 用户另查「系统属性 → 环境变量」里的用户级变量。 - ☐ 重开终端,重跑清单 0 确认输出已变化。环境变量改动只对新会话生效,这一步跳过等于白查。
清单 2:CLI 进程还揣着旧快照
环境变量在进程启动那一刻被拍成快照。CC Switch 切换后,已经在跑的 Claude Code / Codex 会话不会感知。
检查项:
- ☐ 退出当前 CLI 会话(不是新开一个标签页,是彻底退出进程)重新启动。
- ☐ VSCode / JetBrains 插件内嵌的终端也算「旧进程」——插件宿主要重启,别只重开集成终端。
- ☐ 重启后跑一次清单 0 确认地址已切换,再进入正式对话测试。
清单 3:写进去的,和 CLI 读的,不是同一份
「CC Switch 说它切了,CLI 说它没收到」的第三种可能:写入的文件根本不是 CLI 读取的那份。
检查项:
- ☐ 确认 CC Switch 界面上当前供应商已经显示为新目标(切换动作本身完成)。
- ☐ 检查是否设置了
CODEX_HOME/CLAUDE_CONFIG_DIR类自定义目录变量——设了的话,CLI 读的是那个目录,而不是默认的~/.codex/~/.claude。 - ☐ 直接打开配置文件肉眼核对:
~/.codex/config.toml(Codex)与~/.claude/settings.json(Claude Code,以所用版本文档为准)里的地址是否已更新为新供应商。 - ☐ 改过手工配置的,顺手验证文件语法:TOML/JSON 写坏一行,整个配置可能读不出来,表现恰好也是「切换不生效」。JSON 可用
python3 -m json.tool ~/.claude/settings.json快速校验。
清单 4:其实切换成功了,是新供应商不可用
还有一种常见误判:切换生效了,但新供应商本身连不上——你把「新家报错」错听成了「没搬家」。
检查项:
- ☐ 看报错形态:
401 / 404 / insufficient_quota是到达了新供应商才可能有的确定性错误(处理见报错串对照排查与 insufficient_quota 决策树);502 / 530 / 超时是链路层问题(见状态码速查表)。 - ☐ 用 curl 直接探新供应商地址,把 CLI 从问题里摘出去。
- ☐ 新供应商的 Key 复制完整了吗——粘贴截断是最朴素的经典款。
收底动作:按这个顺序重置
清单走完仍疑难,按破坏性从小到大重置:
- CC Switch 里重新保存一次目标供应商(排除一次手滑)。
- 手工清空 shell 里的相关环境变量 → 重开终端 → 重跑清单 0。
- 备份后重命名 CLI 配置目录(
~/.codex/~/.claude),让 CLI 回到出厂态,再用 CC Switch 重新配置一次——注意这会清掉本地会话与偏好,属于最后手段。
走到这一步还没解决,把「清单 0 的输出 + CC Switch 版本 + CLI 版本 + 报错原文」一起带上再去反馈,一轮就能定位。
维护说明
本文按 2026-09 的 CC Switch、Claude Code 与 Codex 的通用配置机制整理;配置文件路径与环境变量名以各工具官方文档为准(不同版本可能调整),工具大版本更新后会复测并更新本文日期。