跳转到内容

切换渠道后auth.json没变 - cc-switch

Quick fix

Codex 认证机制重构导致切换无效,需按官方认证保留指南检查 auth.json 路径与配置。

报错原文
切换渠道之后,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。

  1. 阅读官方认证保留指南,理解 Codex 切换时的认证机制变化。

  2. 确认 cc-switch 中配置的 Codex 配置文件路径正确,指向实际的 `auth.json` 位置。

  3. 对于 Claude Code 多 OAuth 账户切换,手动检查 `~/.claude.json` 中的 `oauthAccount` 字段是否在切换后被正确替换。

  4. 如切换无效,尝试手动删除 `~/.claude.json` 中的 `oauthAccount` 字段后重新执行 `claude auth login`。

  5. 使用无痕浏览器窗口登录不同账户,绕过旧 session 的自动复用。

ToolCodex / Claude Code
Version3.16.3 - 3.20(受影响范围)
PlatformsWindows
切换供应商后 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。本站不分发任何软件。