【排障记录】Codex 插件 ChatGPT 登录成功但一直 401 Unauthorized(VS Code / Cursor 解决方案)
关键词:Codex、Cursor、VS Code、ChatGPT Login、unexpected status 401 Unauthorized、~/.codex/config.toml
1. 问题描述(Symptoms)
最近在 VS Code 和 Cursor 中安装了 Codex 插件,首次运行时会提示登录:
“首次运行 Codex 时,系统会提示您登录。请使用您的 ChatGPT 帐户或 API 密钥进行身份验证。”
我选择了 ChatGPT 帐户登录,插件界面提示 登录成功。
但后续只要触发一次 Codex 调用(生成代码/解释/重构),就会不断报错,且会反复重连:
Reconnecting... 1/5Reconnecting... 2/5 Reconnecting... 3/5 Reconnecting... 4/5 Reconnecting... 5/5 unexpected status 401 Unauthorized
核心矛盾点:登录成功,但请求鉴权失败(401)
2. 环境信息(Environment)
-
操作系统:macOS(Apple Silicon / Intel 均可能)
-
编辑器:VS Code / Cursor
-
插件:Codex(VS Code extension)
-
登录方式:ChatGPT Account
3. 初步排查(无效尝试)
最开始我以为是经典的网络/梯子问题,逐步做了以下排查:
3.1 检查网络
-
梯子工作正常
-
其他 OpenAI 服务可用
3.2 重新登录(无效)
在 Codex 插件中退出登录 → 再次使用 ChatGPT 登录 → 仍然 401
3.3 删除登录凭证(无效)
Codex 会在本地缓存登录凭证,于是删除:
rm ~/.codex/auth.json
重新打开 Cursor / VS Code → 再次登录 → 依旧 401
4. 关键突破:检查 ~/.codex 目录
既然 auth.json 都删了还不行,那说明很可能还有其它配置影响鉴权。
查看 Codex 本地配置目录:
ls -la ~/.codex
我发现目录里除了 auth.json 之外,还存在一个:
-
config.toml
而 config.toml 通常用于配置:
-
API Key
-
base_url
-
provider / wire_api
-
model
这就解释了为什么 “明明用 ChatGPT 登录,但请求却仍然 401”:
插件可能优先读取/合并了 config.toml 配置,从而导致认证链路被覆盖或冲突。
5. 根因分析(Root Cause)
最终确认:~/.codex/config.toml 是我之前在 IDEA / JetBrains 相关插件中配置 API Key 遗留下来的文件。
因此在 Cursor / VS Code 里使用 Codex 插件时:
-
我以为走的是 ChatGPT 登录
-
但实际上插件读取到
config.toml后,可能会:-
覆盖默认 provider
-
指向错误的鉴权方式
-
或尝试使用 OpenAI Auth 但 key/token 不匹配
-
导致所有请求都返回 401
-
6. 最终解决方案(Fix)
删除遗留的配置文件:
rm ~/.codex/config.toml
然后:
-
彻底退出 Cursor / VS Code(macOS 建议
Cmd + Q) -
重新打开 Cursor / VS Code
-
重新触发 Codex(如生成代码/Explain)
✅ 恢复正常,401 立即消失。
更多推荐

所有评论(0)