答案是:认证模式残留、请求地址与Key平台不匹配、协议不兼容及环境变量未生效四类底层逻辑冲突导致Codex接入第三方API失败。需检查auth.json中auth_mode是否为chatgpt并删除该文件;确认config.toml中model_provider配置已清除;验证CLI是否为支持中转的版本(非@openai/codex);确保env_key与系统环境变量名严格一致且持久生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex接入第三方API时频繁报错,不是Key填错了就是配置写串了,但真正卡住你的往往藏在认证模式、请求协议、工具版本这三层底下的逻辑冲突里。
认证模式残留导致403 Forbidden
打开 【C:\Users\用户名\.codex\auth.json】(Windows)或 【~/.codex/auth.json】(macOS/Linux),检查里面是否同时存在 "auth_mode":"chatgpt" 和 "tokens":{...} 字段。
只要 auth_mode 是 chatgpt,Codex 启动时就会强行走官方 Token 刷新流程,哪怕你已经填了第三方 Key —— 它根本不会读你设的环境变量,而是直接拿 refresh_token 去 OpenAI 服务器换新 token,结果被拒:Country, region, or territory not supported。
删掉整个 auth.json 文件,再重新用 API Key 登录。
请求地址与Key平台不匹配引发401 Unauthorized
方法一:看报错里的 url
如果错误中出现 https://api.openai.com/v1/responses,但你用的是 PackyCode 或 Agnes 的 Key,说明 Key 和接口完全不对路——OpenAI 官方服务器根本不认第三方发的 Key。
方法二:查 config.toml 是否残留旧配置
打开 config.toml,搜索 model_provider= 这一行。哪怕你已经在 Codex Desktop 界面切回 ChatGPT Plus 账号,只要这行还写着 model_provider="packycode",Codex 就会继续往 PackyAPI 发请求,而不会自动切换回官方通道。
【必须手动删掉或注释掉整行 model_provider=xxx】,否则登录状态和实际请求路由是脱钩的。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
协议不兼容:Codex只认/v1/responses,第三方只提供/v1/chat/completions
第一步:确认你用的 CLI 工具是不是官方 @openai/codex
运行 codex --version,如果输出含 @openai/codex 字样,立刻停用——它原生只支持 OpenAI 官方 Responses API,【不解析 config.toml 中的 model_provider 和 wire_api 配置】,所有第三方配置对你都是摆设。
第二步:改用支持中转的工具
执行 npx wecode 启动,或安装 Codex Desktop;前者通过 config.toml 读取 provider,后者在设置页可选中转服务。
第三步:配对 wire_api 和中转站能力
若中转站(如 CC-Switch)只实现了 /v1/chat/completions 接口,config.toml 中 wire_api 必须填 chat;若填 responses 却没真实部署该路径,请求直接 404,连认证环节都进不去。
环境变量未生效或Key注入路径错误
在终端里运行 echo $MY_PROXY_API_KEY(Linux/macOS)或 echo $env:MY_PROXY_API_KEY(PowerShell),输出为空就说明环境变量根本没设成功。
不要把 Key 写进 config.toml 的任何字段里——Codex 不读 config 里的 key,只认系统环境变量,且变量名必须和 config.toml 中 env_key = "XXX" 完全一致,大小写都不能错。
PowerShell 用户注意:$env:XXX="sk-..." 只在当前会话有效,重启终端就丢失;要永久生效,得写进 $PROFILE 并重新加载。

















