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 即可恢复。
Symptom
Section titled “Symptom”codex第三方供应商的key无法切换,不同供应商都变成一个KEY了Codex 的所有登录凭据和 API Key 都存放在 `~/.codex/auth.json` 这一个文件里。cc-switch 在切换供应商、开启本地路由接管或使用「保留官方登录」功能时,需要读写这个文件;在 3.16.0 等版本中存在回归,切换时会把当前生效的 KEY 错误地写回其他供应商的快照,或新建官方账号时把已有账号的 auth.json 内容带入,导致「不同供应商 KEY 变成一样」或「新建账号被旧账号覆盖」。另一个常见场景是退出 cc-switch 时,代理接管的恢复逻辑用开启时的旧快照覆盖 auth.json,把之后新登录的 ChatGPT 凭据冲掉,表现为每次重启都要重新登录。
立即将 cc-switch 升级到最新版本:v3.16.1 起修复了 3.16.0 引入的「切换覆盖 auth.json / 串 KEY」回归;v3.20.1 和 v4.0 进一步改为只替换关键字段,不再整份重写,官方登录会暂存到 `~/.cc-switch/codex-login-stash.json` 并在切回时自动还原。
如果暂时无法升级,先关闭「Codex 应用增强」中的「切换第三方时保留官方登录」开关,然后完全退出并重启 cc-switch 和 Codex,观察 KEY 是否还会互相覆盖。
对于「重启后官方登录被清空」的情况,确保已升级到 v3.16.3 及以上,该版本修复了接管激活状态下重启时用旧快照覆盖 live 配置的问题。
若需要在多个官方 ChatGPT 账号间切换,请为每个账号单独新建 OpenAI Official 供应商;遇到「会话已过期」无法消除时,在终端执行 `codex login` 刷新 token,然后完全退出 cc-switch 再打开。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 30 个真实 issue
- #46正常配置保存报错
- #129保存失败:创建临时文件失败: /Users/moss/.codex/auth.json.tmp.1760581097714113000: Permission denied (os error 13)
- #188总是会出现登录codex覆盖前一个配置的情况
- #290codex auth.json内配置的api密钥无法被识别
- #359请问官方登录的codex 可以添加直接获取auth.json吗
- #717cc switch支持Sign in with ChatGPT么?
- #809cc-switch overrides Gemini CLI Google auth config and forces API mode
- #999配置了多个codex官方auth.json,vscode扩展无法直接切换吗?
- #1343opencode收集的数据不全,应该收集~/.local/share/opencode/auth.json目录数据
- #2157今天打开 cc switch后,codex得官方渠道上一直有一个 会话已过期,无法消除
- #2895OpenCode不支持内置供应商
- #2977codex-cli 0.132.0 切换实效
- #3451更新3.16.0版本后无法切号,新建路由配置auth.json始终写入已有账号的json内容,等于无法新建账号,3.15.0版本没有这个问题
- #34913.16.0版本切换服务商会覆盖auth.json中的OPENAI_API_KEY
- #3505codex第三方供应商的key无法切换。不同base_url的key都变成一样了
- #3543codex掉登录
- #3657codex桌面端接入deepseek模型后,在codex上模型显示自定义,无法切换 deepseek flash 和 pro 模型
- #3672codex 同一个应商切换模型问题
- #3919配置了xiaomi mimo的模型,但是在codex桌面端选择模型时无法选择
- #4099重启电脑后,codex auth官方登录被清空了
- #4548codex不可切换模型
- #4688codex每次打开,都要登录chatgpt
- #4881连了自定义模型之后,切换不了模型
- #5086codex第三方供应商的key无法切换,不同供应商都变成一个KEY了
- #5161codex客户端第三方多模型选择能力不显示
- #5866api key 混乱
- #5885Codex OAuth: Team workspace members overwrite each other in OAuth Auth Center
- #6000彻底退出ccswitch和codex时,第二次打开要求重新登录chatgpt账号
- #7042GPT 切换另外配置的时候再切回来,登录信息会丢失,导致要重新登录。
- #7105[Feature] Codex unbound Official / auth snapshot 模式支持 OAuth Token 到期前自动刷新
- 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。本站不分发任何软件。