问题描述
使用 codex 时出现以下错误:
Unexpected status 401 Unauthorized: 401 授权信息无效,请检查
url: https://www.model-family.com/v1/responses
使用的是 OpenAI 官方 OAuth 登录方式,但请求却发到了第三方 API 地址。
根因分析
~/.codex/config.toml 中配置了第三方 provider:
model_provider = "fox"
[model_providers.fox]
name = "fox"
base_url = "https://www.model-family.com/v1"
wire_api = "responses"
requires_openai_auth = true
而 ~/.codex/auth.json 中存储的是通过 OpenAI 官方 OAuth 登录获取的 token:
{
"auth_mode": "chatgpt",
"tokens": {
"id_token": "...",
"access_token": "...",
"refresh_token": "..."
}
}
认证方式和 API 地址不匹配:官方 OAuth token 无法通过第三方服务 code.newcli.com 的认证校验,导致 401。
解决方案
方案一:恢复官方服务(推荐)
前提:网络能直连 OpenAI,且有 ChatGPT Plus 订阅。
编辑 ~/.codex/config.toml,删除以下内容:
# 删除这一行
model_provider = "fox"
# 删除整个块
[model_providers.fox]
name = "fox"
base_url = "https://www.model-family.com/v1"
wire_api = "responses"
requires_openai_auth = true
保留其余配置即可:
model = "gpt-5.4"
model_reasoning_effort = "xhigh"
disable_response_storage = true
方案二:修复第三方服务认证
如果需要使用第三方代理(例如国内无法直连 OpenAI),需要按第三方服务要求配置认证,通常是设置其专属 API key,而不是使用 OpenAI 的 OAuth token。
最终配置示例
方案一:官方服务 + OAuth 登录
~/.codex/config.toml
# 不设置 model_provider,默认使用 OpenAI 官方服务
model = "gpt-5.4"
model_reasoning_effort = "xhigh"
disable_response_storage = true
[projects."/Users/yourname/project-a"]
trust_level = "trusted"
~/.codex/auth.json(通过 codex --login 自动生成,无需手动编辑)
{
"auth_mode": "chatgpt",
"OPENAI_API_KEY": null,
"tokens": {
"id_token": "eyJhbGciOi...",
"access_token": "eyJhbGciOi...",
"refresh_token": "rt_xxx...",
"account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"last_refresh": "2026-03-06T02:16:09.461945Z"
}
要点:不配置
model_provider,auth_mode 为chatgpt,token 由官方 OAuth 登录自动获取。
方案二:第三方代理 + API Key
~/.codex/config.toml
model_provider = "fox"
model = "gpt-5.4"
model_reasoning_effort = "xhigh"
disable_response_storage = true
[model_providers.fox]
name = "fox"
base_url = "https://www.model-family.com/v1"
wire_api = "responses"
requires_openai_auth = false
[projects."/Users/yourname/project-a"]
trust_level = "trusted"
~/.codex/auth.json
{
"auth_mode": "api-key",
"OPENAI_API_KEY": "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
}
要点:
model_provider指向第三方,requires_openai_auth = false,auth.json 中使用第三方提供的 API key。
关键配置文件
| 文件 | 作用 |
|---|---|
~/.codex/config.toml |
模型、provider、项目信任等级配置 |
~/.codex/auth.json |
认证信息(OAuth token 或 API key) |
排查思路
- 查看
config.toml— 确认 API 请求发往哪个服务(官方 or 第三方) - 查看
auth.json— 确认当前使用的认证方式(OAuth 登录 or API key) - 确保两者匹配 — 官方 OAuth token 对应官方服务;第三方 API key 对应第三方服务
Member discussion: