关键词:Codex、Cursor、VS Code、ChatGPT Login、unexpected status 401 Unauthorized、~/.codex/config.toml

1. 问题描述(Symptoms)

最近在 VS CodeCursor 中安装了 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

然后:

  1. 彻底退出 Cursor / VS Code(macOS 建议 Cmd + Q

  2. 重新打开 Cursor / VS Code

  3. 重新触发 Codex(如生成代码/Explain)

恢复正常,401 立即消失。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐