提示INVALID_API_KEY,Codex 切换供应商后认证不匹配
Quick fix
升级至 v3.20.1 或更高版本;维护者称第三方切换不再写入 auth.json,避免供应商密钥与认证配置错配。
Symptom
Section titled “Symptom”切换模型厂家,提示INVALID_API_KEY多份报告描述了 Codex 切换供应商后,`~/.codex/config.toml` 已切到目标供应商,但 `~/.codex/auth.json` 中的 `OPENAI_API_KEY` 仍是上一供应商的 key,或编辑供应商时从 `auth.json` 回填,导致密钥被覆盖。另有报告称 `experimental_bearer_token` 会覆盖 provider 保存的 `auth.OPENAI_API_KEY`,使后续切换可能写回错误的 key。
维护者对早期“无法切换其它供应商”的报告称该问题应已在 v3.16.1 解决,但后续 v3.16.5、v3.17.0 以及评论中的更高版本仍有相关报告。维护者随后说明 v3.20.1 的 config-only 重构后,切换第三方不再写入 `auth.json`,且双位置互写已不存在;若升级后仍复现,应按原帖要求新开 issue 并附日志。
将 CC Switch 升级到 v3.20.1 或更高版本;维护者称该版本起切换第三方供应商不会再写入 `auth.json`。
若使用多个 Codex 官方 ChatGPT 账号,按维护者说明使用认证中心托管账号并将供应商卡绑定账号;存量托管账号需在账号行点击“重新登录”一次。
若升级后仍出现该错误,按维护者要求新开 issue,并附上日志以及已脱敏的切换前后差异。
Affected Versions
Section titled “Affected Versions”ToolCodex
Versionv3.16.1 - v3.17.0(报告的受影响版本);v3.20.1(维护者称已修复)
PlatformsWindowsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 5 个真实 issue
- 切换 Codex provider 后,为什么 `config.toml` 已更新但 `auth.json` 的 key 还是上一个供应商?
- 报告称切换时只正确写入了 `config.toml`,而 `auth.json` 的 `OPENAI_API_KEY` 未同步更新,造成 endpoint 与 key 不一致。维护者称 v3.20.1 起切换第三方不会再写入 `auth.json`。
- 多个 Codex 官方配置的登录授权会互相覆盖吗?
- 有报告称新增官方配置后会覆盖上一个配置的授权信息。维护者说明应使用认证中心托管账号并绑定供应商卡,且 v3.20.1 起同一 Team workspace 的多个账号可并存。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。