在使用 Codex 时,不少开发者在升级到 0.149.0 版本后遇到了请求报错:API_KEY_REQUIRED / 401 Unauthorized 导致模型无法正常调用。本文将快速说明该问题的触发原因及具体修复步骤。
一、 问题原因分析
在 Codex 0.149.0 及更新版本中,鉴权逻辑进行了安全收紧:
核心变更:新版本不再允许自定义 Provider 在配置
requires_openai_auth = false时,自动继承或回退读取auth.json中的鉴权密钥。
如果你的配置文件中将自定义 Provider 设为了 requires_openai_auth = false,但实际请求依赖本地 auth.json 里的密钥注入,就会导致 Codex 无法携带有效的 API Key 发起请求,从而直接抛出 401 Unauthorized 或 API_KEY_REQUIRED 错误。
二、 解决方案
1. 找到配置文件路径
根据你的操作系统,打开对应的配置文件 config.toml:
- macOS / Linux:
~/.codex/config.toml
- Windows:
%USERPROFILE%\.codex\config.toml
2. 修改 config.toml 配置
检查并确保将 requires_openai_auth 改为 true,参考配置如下:
model_provider = "codex"
model = "gpt-5.6-sol"
[model_providers.codex]
name = "codex"
base_url = "https://your-api-endpoint.com/v1" # 替换为你的实际 API Base URL
wire_api = "responses"
requires_openai_auth = true # 关键项:必须设置为 true supports_websockets = false
注意:切勿将
requires_openai_auth设置为false后还期望其自动读取auth.json,这是该版本触发 401 的根本原因。
3. 确认 auth.json 凭证文件
在同级目录(~/.codex/auth.json 或 %USERPROFILE%\.codex\auth.json)中,确保已正确配置你的 API Key:
{ "OPENAI_API_KEY": "YOUR_API_KEY_HERE" }
4. 重启生效
- 保存上述两个文件后,重启 Codex 即可恢复正常使用。
- (可选方式):如果你使用的是官方/配套的自动化配置脚本,也可以直接重新运行最新版本的安装脚本以自动同步并修复该配置。
为什么会出现这个问题?
在 0.149.0 之前,当自定义 Provider 设置 requires_openai_auth = false 时,Codex 会“自动”从 auth.json 中读取 OPENAI_API_KEY 来完成鉴权。但新版本移除了这个“自动继承”行为——requires_openai_auth = false 意味着完全不走 OpenAI 认证体系,自然也就不会去读取 auth.json。
因此,不要继续使用 requires_openai_auth = false 然后指望 auth.json 生效——这正是 0.149.0 出现 401 的根本原因。
正确的做法是:将 requires_openai_auth 设为 true,让 Codex 通过 auth.json 正常完成认证流程。
验证是否修复成功
重启后,运行一个简单的只读任务来验证,例如:
codex "列出当前目录文件"
如果能正常返回结果,说明认证已恢复。如果仍然报 401,请按以下顺序排查:
- 确认
config.toml中requires_openai_auth = true已正确设置 - 确认
auth.json中的 API Key 有效且格式正确 - 确认配置文件的目录位置正确(macOS/Linux 为
~/.codex/,Windows 为%USERPROFILE%\.codex\) - 确认重启时 Codex 已完全退出(不仅仅是关闭窗口)
按照上述步骤操作后,0.149.0 的 401 问题应当可以得到解决。如果仍有问题,可以尝试删除 auth.json 后重新配置,或重新运行最新版安装脚本进行自动修复。