401 Unauthorized: Incorrect API key provided - Codex
Quick fix
切换到 OpenAI Official 或关闭代理后,需手动清空 ~/.codex/auth.json 中残留的第三方 OPENAI_API_KEY 并重启 Codex 以恢复官方 OAuth 登录。
Symptom
Section titled “Symptom”401 Unauthorized: Incorrect API key provided: 9bea28a1***3WBS在 cc-switch 中切换 provider(例如从第三方渠道如 Zhipu GLM 切换到 OpenAI Official)或意外关闭代理时,工具未能正确回填请求地址或清空 ~/.codex/auth.json 中上一个 provider 的 OPENAI_API_KEY。
这导致 Codex 读取了残留的第三方 API Key,并将其发送至官方 endpoint(如 https://api.openai.com/v1/responses),从而引发认证凭据与目标 endpoint 错配。OpenAI Official 预设本应使用 OAuth 认证(requires_openai_auth = true),不需要 API Key,最终导致 401 报错。
手动打开 ~/.codex/auth.json 文件。
删除或清空残留的第三方 OPENAI_API_KEY 字段,确保其值为 null 或完全移除该字段。
// ~/.codex/auth.json{"auth_mode": "chatgpt","OPENAI_API_KEY": null,"tokens": {"id_token": "xxxx","access_token": "xxx","refresh_token": "xxxx","account_id": "xxx"}}重新启动 Codex 或 Codex App,触发官方的 ChatGPT OAuth 登录流程。
如果是代理意外关闭导致的问题,可尝试在 cc-switch 中重新打开一次代理,使请求地址正确回填。若重复操作无效,请继续使用上述手动清理配置文件的方法。
Affected Versions
Section titled “Affected Versions”ToolCodex
Version3.16.1
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 这个回填的请求地址是什么?重复开关代理流程没有生效怎么办?
- 如果重复开关代理无效,说明本地配置文件已发生错配。请直接手动清理 ~/.codex/auth.json 中残留的 OPENAI_API_KEY,然后重启应用即可恢复。
CC Switch local proxy failed while handling升级 CC Switch 到最新版并重开 Codex 对话;旧会话历史中残留的非法 schema 或图片块会持续触发 400。Your access token could not be refreshed升级 cc-switch 至 v3.17.0+,修复接管时写入 PROXY_MANAGED 占位符污染 OAuth 凭证或导致 401 的问题。ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY打开 `~/.claude/settings.json`,删除重复的 auth 环境变量,只保留当前供应商需要的 `ANTHROPIC_AUTH_TOKEN` 或 `ANTHROPIC_API_KEY`,保存后重启 Claude Code。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。