Codex 401 Unauthorized 报错解决教程:登录失效、API Key、代理和中转配置排查
最近不少朋友在使用 Codex CLI、Codex 插件或者通过第三方 API 中转接入 Codex 时会遇到一个非常常见的报错401Unauthorized或者类似exceeded retry limit, last status:401Unauthorized这个错误看起来很吓人但本质上并不复杂。401 Unauthorized 的意思是当前请求没有通过身份认证。换句话说Codex 已经向服务端发起请求了但服务端认为你的登录状态、Token、API Key 或权限不正确所以拒绝了请求。下面我们就把 Codex 401 报错的常见原因和解决方法整理一下。一、登录状态失效这是最常见的原因之一。Codex CLI 通常会在本地保存登录凭证例如账号登录后的 token、refresh token 或认证缓存。如果这些凭证过期、被刷新、被覆盖或者本地缓存损坏就可能出现 401 Unauthorized。解决方法可以先尝试退出并重新登录codexlogoutcodex login如果普通重新登录无效可以清理本地认证缓存后再登录。常见位置可能是~/.codex/auth.json可以尝试删除认证文件rm-rf~/.codex/auth.json然后重新执行codex login如果你之前切换过多个账号或者用过第三方工具改过 Codex 配置这一步尤其重要。二、API Key 错误或失效如果你使用的是 API Key 登录 Codex而不是 ChatGPT 账号登录那么 401 很可能和 API Key 有关。常见情况包括API Key 填错了API Key 前后多了空格API Key 已被删除或重置API Key 所属账号没有权限使用了错误平台的 Key环境变量没有生效。比如你设置了exportOPENAI_API_KEYsk-xxxx但实际终端环境没有加载或者你在另一个 shell、另一个 IDE、另一个终端里运行 Codex就可能导致 Codex 读取不到正确的 key。解决方法先检查环境变量echo$OPENAI_API_KEY如果为空重新设置exportOPENAI_API_KEY你的 OpenAI API Key如果你用的是 Windows PowerShell$env:OPENAI_API_KEY你的 OpenAI API Key如果你配置了.env、config.toml或第三方中转地址也要确认 Codex 实际读取的是哪一份配置。三、账号套餐或权限不匹配有些用户是通过 ChatGPT 账号登录 Codex有些用户是通过 API Key 使用 Codex。两种方式的权限体系并不完全一样。比如ChatGPT 账号能用不代表 API Key 一定能用API Key 能调用普通模型不代表能调用所有 Codex 相关接口Plus、Pro、Team、Enterprise 的可用能力也可能不同某些功能可能需要特定地区、组织或套餐权限。解决方法你可以检查几个点codex--versioncodex login然后确认当前登录的是不是正确的 OpenAI / ChatGPT 账号当前账号是否有 Codex 使用权限当前 API Key 是否来自正确的 Organization是否切换过多个 OpenAI 账号是否使用了企业账号、团队账号或多个 workspace。如果你同时有多个 OpenAI 账号建议先完全退出再用目标账号重新登录。四、Codex 版本过旧Codex CLI 本身也在更新。旧版本可能存在认证逻辑不兼容、新接口不支持、token 刷新失败等问题。解决方法先查看版本codex--version如果你是 npm 安装的可以尝试更新npminstall-gopenai/codexlatest或者npmupdate-gopenai/codex更新后重新登录codexlogoutcodex login五、代理、网络或地区问题有时候 401 不一定完全是账号问题也可能和网络环境有关。例如请求被代理软件改写公司网络拦截认证请求VPN 节点异常代理出口频繁变化地区访问策略变化请求被中转服务错误转发。如果 Codex 登录成功但一发起请求就 401就要重点检查网络和代理。解决方法可以尝试切换网络比如手机热点关闭代理后重试更换代理节点检查终端是否设置了HTTP_PROXY、HTTPS_PROXY检查公司电脑是否有安全软件、MDM、网关拦截。查看代理环境变量echo$HTTP_PROXYecho$HTTPS_PROXY如果需要临时取消unsetHTTP_PROXYunsetHTTPS_PROXYWindows PowerShell 可以执行Remove-ItemEnv:HTTP_PROXYRemove-ItemEnv:HTTPS_PROXY六、使用第三方 API 中转时配置错误很多朋友会通过 API 中转服务、反代网关、cc-switch、new-api、sub2api 等方式接入模型。这种情况下401 常见原因更多中转平台的 token 填错base_url 写错模型名不支持中转服务没有转发 Authorization 头上游 Key 已失效用户余额不足或渠道被禁用Codex 仍然请求了 OpenAI 官方接口中转平台没有兼容 Codex 的某些接口。解决方法检查配置中的几个关键项OPENAI_API_KEY你的中转平台 tokenOPENAI_BASE_URLhttps://你的中转地址/v1重点确认OPENAI_API_KEY是中转平台给你的 key不是乱填的OPENAI_BASE_URL是否以/v1结尾中转平台是否支持你调用的模型Codex 是否真的走了中转地址中转平台后台是否有请求日志上游渠道是否正常。如果你是站长或中转平台管理员还要看服务端日志确认请求有没有到达你的服务。七、本地配置混乱很多人折腾过 Claude Code、Codex、cc-switch、OpenAI API、中转平台之后本地环境变量和配置文件会非常混乱。比如你以为 Codex 读取的是新 key实际上它读的是旧环境变量。常见冲突来源~/.bashrc ~/.zshrc ~/.profile ~/.codex/config.toml .env IDE 环境变量 系统环境变量 cc-switch 配置解决方法建议按顺序排查echo$OPENAI_API_KEYecho$OPENAI_BASE_URLwhichcodex codex--version如果你不确定哪里配置错了可以先新开一个干净终端只设置必要变量unsetOPENAI_API_KEYunsetOPENAI_BASE_URLexportOPENAI_API_KEY你的 keyexportOPENAI_BASE_URL你的 base_url然后再运行 Codex。八、refresh token 被复用或刷新失败有些 401 是刷新登录状态时出现的。比如报错中可能出现Failed to refresh token:401Unauthorized这通常说明本地保存的 refresh token 已经不能继续使用了。解决方法这种情况最直接的方式就是清理登录状态后重新登录codexlogoutrm-rf~/.codex/auth.json codex login如果还有问题可以把整个 Codex 配置目录备份后重置mv~/.codex ~/.codex_backup codex login注意这样会清掉本地 Codex 的部分配置建议先备份。九、请求了不存在或无权限的模型有时候错误不是认证本身而是模型权限问题表现成 401 或类似鉴权错误。比如你配置了一个模型名modelgpt-xxx-codex但当前账号没有这个模型权限或者中转平台没有映射这个模型就可能请求失败。解决方法检查模型名是否正确。可以先换成平台明确支持的模型测试。如果使用中转平台要以中转平台后台的模型列表为准。十、使用非官方 Codex 工具导致认证异常这个问题也要注意。使用 Codex 相关工具时不要随便安装来路不明的 npm 包、桌面客户端或所谓“增强版 Codex”。如果某些工具修改了本地配置、劫持了 API 地址或者保存了错误 token也可能导致 Codex 一直返回 401。解决方法建议只安装官方或可信来源的 Codex不要随便运行陌生脚本如果怀疑 token 泄露立刻退出登录重置 OpenAI API Key检查账号异常用量删除本地可疑包和配置。可以查看全局 npm 包npmlist-g--depth0如果发现可疑 Codex 相关包建议谨慎卸载。推荐排查顺序遇到 Codex 401 Unauthorized可以按这个顺序处理。第一步确认是不是账号登录问题codexlogoutcodex login第二步确认 Codex 版本codex--versionnpminstall-gopenai/codexlatest第三步检查 API Keyecho$OPENAI_API_KEY第四步检查 base_urlecho$OPENAI_BASE_URL第五步清理本地认证缓存rm-rf~/.codex/auth.json codex login第六步换网络或关闭代理测试unsetHTTP_PROXYunsetHTTPS_PROXY第七步如果你使用中转平台去后台看请求日志重点看请求有没有进来Authorization 是否正确模型名是否支持用户余额是否充足上游渠道是否正常返回 401 的是中转平台还是上游 OpenAI。总结Codex 出现 401 Unauthorized本质上就是身份认证失败。常见原因主要有登录状态过期API Key 错误账号权限不足Codex 版本过旧网络或代理异常第三方中转配置错误本地环境变量冲突refresh token 失效模型无权限使用了非官方或可疑工具。大部分情况下重新登录、更新 Codex、检查 API Key、清理认证缓存就能解决问题。如果你是通过中转平台接入 Codex那就重点检查OPENAI_API_KEY、OPENAI_BASE_URL、模型名、余额、渠道状态和服务端日志。遇到 401 不要慌先判断一句话到底是 Codex 没拿到正确身份还是服务端不认可这个身份。只要沿着这个方向排查基本都能定位到问题。参考https://codex-zh.com/posts/401-unauthorized/