前两天把 Codex 升级到了 0.149.0,结果Codex++一用就报错:

unexpected status 401 Unauthorized: {"code":"API_KEY_REQUIRED","message":"API key is required..."}

跑去搜了一圈,网上的教程基本清一色都说:“去 config.toml 里把 requires_openai_auth 改成 true。”

千万别信!这个坑我替你们踩了!

如果你用的是官方账号那没问题,但如果你跟我一样用的是第三方 API 中转站,一旦改成 true,Codex 启动时就会强行校验 OpenAI 的官方登录,直接把你卡在“登录 ChatGPT”的界面上,无解!

为什么会这样?

说白了就是新版 Codex 的鉴权逻辑变严了:

  1. 之前设为 false 时,它还会顺手帮你带上 Key;到了 0.149.0 之后,设为 false 它就真的一点 Key 都不带了,所以中转站收到请求直接报 401。

  2. 如果你听信网上的设为 true,它又会强制走官方 OAuth,导致没官方号的中转用户卡在登录页。

终极解决办法(一行配置搞定)

思路其实很简单:我们既要保持 requires_openai_auth = false 来跳过登录弹窗,又要强行把我们的中转 Key 塞进 HTTP 请求头里。

直接修改配置文件即可:

1. 打开配置文件

  • Windows 路径:C:\Users\你的用户名\.codex\config.toml

  • Mac 路径:~/.codex/config.toml

2. 在你的 custom 配置下加几行 http_headers

找到 [model_providers.custom],改成下面这样:

[model_providers.custom]
name = "custom"
wire_api = "responses"
base_url = "https://your-api-endpoint.com/v1" # 换成你自己的中转地址
requires_openai_auth = false                  # 保持 false,防止弹出登录框

# 重点!强行给请求头带上 API Key
[model_providers.custom.http_headers]
Authorization = "Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx" # 换成你的中转 Key

3. 彻底重启软件

保存文件后,去任务管理器里把 Codex 的进程彻底杀掉,然后再重新打开。

这时候你会发现:既没有弹出那个讨厌的登录界面,请求也能正常发送了,401 报错完美解决!

遇到同样问题的朋友赶紧去试试吧,有用的话记得点个赞!

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐