切换渠道后auth.json没变 - cc-switch
Quick fix
Codex 认证机制重构导致切换无效,需按官方认证保留指南检查 auth.json 路径与配置。
Symptom
Section titled “Symptom”切换渠道之后,auth.json完全没变Codex 近期版本对认证方式进行了大幅度重构,导致 cc-switch 在切换供应商时无法正确更新 `auth.json`。具体表现为切换后 `C:\Users\Administrator\.codex\auth.json` 内的 API key 没有改变,系统仍使用旧供应商的 key 去校验新供应商的 API 地址,导致请求失败。维护者已确认此问题并表示会紧急更新修复。对于 Claude Code 的多 OAuth 账户切换,根因是 `~/.claude.json` 中的 `oauthAccount` 字段未被正确替换,Claude Code CLI 运行时优先读取该字段确定当前账户,残留的旧账户信息会阻止切换生效。此外,Issue #7090 提出了进一步的功能需求:在 Codex Desktop 登录身份与模型推理配额分属不同 OAuth 账号的场景下,当前切换逻辑无法满足拆分需求,这属于尚未实现的功能而非 bug。
阅读官方认证保留指南,理解 Codex 切换时的认证机制变化。
确认 cc-switch 中配置的 Codex 配置文件路径正确,指向实际的 `auth.json` 位置。
对于 Claude Code 多 OAuth 账户切换,手动检查 `~/.claude.json` 中的 `oauthAccount` 字段是否在切换后被正确替换。
如切换无效,尝试手动删除 `~/.claude.json` 中的 `oauthAccount` 字段后重新执行 `claude auth login`。
使用无痕浏览器窗口登录不同账户,绕过旧 session 的自动复用。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 4 个真实 issue
- 切换供应商后 auth.json 里的 API key 没变怎么办?
- 这是 Codex 认证机制重构导致的已知问题,维护者已确认会紧急更新修复。临时方案是手动检查 `auth.json` 路径配置是否正确,或手动编辑 `auth.json`。
- Claude Code 多个 OAuth 账户切换后 claude auth status 还是旧账户?
- 根因是 `~/.claude.json` 中的 `oauthAccount` 字段未被 cc-switch 正确替换。可尝试手动删除该字段后重新 `claude auth login`,或使用无痕浏览器窗口登录不同账户。
- 能不能保留账号 A 的登录和插件,但模型请求使用账号 B 的配额?
- 这是 Issue #7090 提出的 Split OAuth 功能需求,目前尚未实现。当前切换逻辑是同一个 OAuth 同时承担 App 身份、插件身份和模型额度,暂不支持拆分。
- 这个 bug 什么时候修复?
- 维护者在 Issue #6782 中回复「codex 最近版本对认证方式进行了大幅度重构,ccs 这两天会紧急更新修复这些问题」,但截至部分用户反馈时仍未修复。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。