跳转到内容

codex auth.json 被覆盖、KEY 串号或官方登录丢失 - cc-switch

Quick fix

先升级到最新版 cc-switch(v3.16.1 修复了 3.16.0 的串 KEY 回归,v3.20.1/4.0 修复了退出覆盖 auth.json 丢登录);若仍异常,临时关闭「保留官方登录」功能并完全重启 Codex 即可恢复。

报错原文
codex第三方供应商的key无法切换,不同供应商都变成一个KEY了

Codex 的所有登录凭据和 API Key 都存放在 `~/.codex/auth.json` 这一个文件里。cc-switch 在切换供应商、开启本地路由接管或使用「保留官方登录」功能时,需要读写这个文件;在 3.16.0 等版本中存在回归,切换时会把当前生效的 KEY 错误地写回其他供应商的快照,或新建官方账号时把已有账号的 auth.json 内容带入,导致「不同供应商 KEY 变成一样」或「新建账号被旧账号覆盖」。另一个常见场景是退出 cc-switch 时,代理接管的恢复逻辑用开启时的旧快照覆盖 auth.json,把之后新登录的 ChatGPT 凭据冲掉,表现为每次重启都要重新登录。

  1. 立即将 cc-switch 升级到最新版本:v3.16.1 起修复了 3.16.0 引入的「切换覆盖 auth.json / 串 KEY」回归;v3.20.1 和 v4.0 进一步改为只替换关键字段,不再整份重写,官方登录会暂存到 `~/.cc-switch/codex-login-stash.json` 并在切回时自动还原。

  2. 如果暂时无法升级,先关闭「Codex 应用增强」中的「切换第三方时保留官方登录」开关,然后完全退出并重启 cc-switch 和 Codex,观察 KEY 是否还会互相覆盖。

  3. 对于「重启后官方登录被清空」的情况,确保已升级到 v3.16.3 及以上,该版本修复了接管激活状态下重启时用旧快照覆盖 live 配置的问题。

  4. 若需要在多个官方 ChatGPT 账号间切换,请为每个账号单独新建 OpenAI Official 供应商;遇到「会话已过期」无法消除时,在终端执行 `codex login` 刷新 token,然后完全退出 cc-switch 再打开。

ToolCodex
Version3.16.0 - 3.16.5(KEY 串号);3.19.1 之前(退出覆盖导致丢登录)
PlatformsWindowsmacOS

本页汇总自 30 个真实 issue

codex 使用 Sign in with ChatGPT 登录后,cc-switch 的「测试模型」提示缺失 API Key?
代理模式和测试模型功能不支持官方 ChatGPT 账号登录,防止封号。请直接在终端运行 `codex` 完成官方登录流程,之后即可在 cc-switch 中正常切换。
配置了第三方模型后,Codex 桌面端模型选择器显示「自定义」且无法切换?
这是 Codex 桌面端自身的限制:没有官方 ChatGPT 登录态时会强制回落到官方默认模型。解决方法是先在桌面端登录一次官方账号,然后在 cc-switch 设置中开启「切换第三方时保留官方登录」,并确保第三方供应商已开启本地路由,最后完全重启 Codex。
开启了「保留官方登录」后,不同供应商的 KEY 反而变成一样的了?
这是该功能在部分版本中的已知 bug,开启时会固定某个 provider 的 API 并覆盖其他配置。请关闭此开关,或升级到 v3.17.0+ 后再试。
cc-switch 切换配置后,需要重启 Codex 才能生效吗?
是的,Codex 不支持热切换,修改 auth.json 后必须完全退出并重新启动 Codex 桌面端或 CLI。
同一个 Team/Business 工作区的多个成员账号,在 OAuth Auth Center 中会互相覆盖?
目前 cc-switch 使用 workspace 级别的 `chatgpt_account_id` 作为存储键,同一工作区的不同成员会冲突。该问题尚未修复,建议暂时使用经典的「unbound Official / auth snapshot」模式为每个成员单独建供应商。
为什么接入第三方 API 期间,Codex 界面不显示我的官方 ChatGPT 登录状态?
这是 Codex 官方客户端的行为:使用第三方供应商时会隐藏官方登录态和官方插件。cc-switch 只保证切回官方供应商后凭据不丢失,无需重新登录。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。