Codex 登录排障 先保留完整错误,再区分 OAuth、API Key、权限与用量

CODEX CLI AUTH TROUBLESHOOTING

Codex CLI 登录失败、401 或 403 怎么办?

不要看到 401、403 或浏览器卡住就立刻换账号、重装或复制别人的认证文件。若还不能运行 codex --version,先完成macOS / Linux 安装与更新;命令已能运行时,再定位浏览器授权、凭证返回、工作区权限或首次请求。

发布于 2026 年 7 月 21 日 · 阅读约 11 分钟

登录前先确认当前路线:Codex 用 ChatGPT 还是 API Key,分别如何计费

先给结论:登录失败要按“发生在哪一步”排查

Codex 本地客户端支持两种 OpenAI 登录方式:使用 ChatGPT 获得订阅访问,或使用 API Key 按量计费。ChatGPT 桌面应用、Codex CLI 与 IDE 扩展支持两种方式;Codex cloud 需要使用 ChatGPT 登录。

浏览器没有打开或回不来OAuth / 回调阶段

检查当前环境,必要时改用官方 device auth。

401 Unauthorized认证未被接受

核对当前模式、缓存凭证和重新登录结果。

403 Forbidden请求未获允许

检查工作区、地区、组织限制与账号通知。

429 / Usage limit用量或速率阶段

转到 Usage、恢复时间、Credits 或 API Billing。

官方参考:Codex Authentication

先把完整错误和阶段记录下来

同一个“登录失败”可能发生在五个不同位置。只复制 401 或 403,通常不足以判断原因。

阶段常见现象先保留什么
启动登录浏览器不打开、命令立即退出CLI 版本、系统、终端与命令原文
浏览器验证账号、MFA、SSO 或验证码无法完成官方页面提示与登录方式
凭证返回浏览器成功但终端一直等待WSL / SSH / 容器、回调与网络边界
令牌交换终端打印 401、403 或 token exchange failed完整错误、时间与当前认证模式
首次模型请求登录成功后才出现 403、429 或 model 错误工作区、模型、Usage 与服务状态

公开截图前隐藏邮箱、组织 ID、API Key、访问令牌、设备代码、Cookie 和完整本地路径。不要为了“给别人看看”上传整个 ~/.codex 目录。

第一步:确认 Codex 当前用哪个账号和认证方式

先在终端运行:

codex login status

OpenAI 当前 CLI 命令参考说明,该命令会打印当前认证模式,并在已登录时以成功状态退出。再记录安装与诊断信息:

codex --version
codex doctor

codex doctor 会生成本地诊断报告,覆盖安装、配置、认证、运行环境、Git、终端和线程信息。分享报告前仍要人工检查并隐藏敏感资料。

浏览器里的账号不一定是 CLI 当前账号

同一台电脑可能有多个 Chrome 账号、ChatGPT 工作区、API Key 或旧缓存。先确认 CLI 的实际认证模式,不要只看浏览器右上角头像。

官方参考:Codex developer commands:login / logout / doctor

第二步:只重置 Codex 官方缓存的认证

确认 OpenAI 服务没有大面积异常,且错误确实发生在认证后,可以按以下顺序做一次受控重登:

  1. 保存错误与当前状态

    记录 codex login status、版本、发生时间和完整错误,避免重登后丢失证据。

  2. 退出当前 Codex 凭证

    运行 codex logout。它会移除 Codex 已存的认证凭证;CLI 与 IDE 扩展共用缓存,扩展下次启动也要重登。

  3. 重新使用官方登录流程

    运行 codex login,在打开的官方浏览器页面选择正确的 ChatGPT 账号和工作区。

  4. 再次检查状态

    运行 codex login status,再发起一个最小请求,不连续重复授权。

codex logout
codex login
codex login status

不要从别人电脑复制 auth.json,也不要把账号 Session、OAuth 令牌或设备代码交给所谓“远程代修”。

浏览器显示成功,但 CLI 一直等待怎么办?

浏览器授权完成后,还需要把凭证返回当前 Codex 客户端。WSL、SSH、容器、远程终端或回环回调不可达时,可能出现网页成功而终端仍卡住。

OpenAI 官方 CLI 支持 device code 流程:

codex login --device-auth

停止原来卡住的登录后,只运行一次该命令,再按照终端和官方页面给出的地址与设备代码完成授权。设备代码属于临时敏感信息,不要截图发到公开群聊,也不要在陌生网站输入。

  • 确认浏览器打开的是 OpenAI / ChatGPT 官方域名。
  • 确认授权的是准备使用 Codex 的账号和正确工作区。
  • 企业 SSO 用户按组织要求完成身份验证,不改用个人账号绕过策略。
  • 远程环境只使用官方 device auth,不复制本机缓存文件。

401、403、429 分别应该查什么?

错误合理解释范围优先动作不要做
401 Unauthorized当前请求没有被接受为有效认证检查登录模式、缓存状态,受控 logout/login下载别人 auth.json 或反复更换账号
403 Forbidden当前请求未获允许;可能涉及工作区、组织、地区或账号状态核对工作区权限、官方通知、支持地区和服务状态直接断言封号,或伪造地区资料
429 / Usage limit速率、套餐用量或 API 配额限制查看 Usage、恢复时间、Credits 或 API Billing把用量限制当成登录故障反复注销
浏览器成功,终端等待凭证返回或当前运行环境问题改用官方 --device-auth,记录环境公开设备代码或访问令牌

403 不自动等于 Account Deactivated。真正的账号停用通常还会有明确通知或账号状态证据;如果页面明确显示停用,转到ChatGPT / Codex 账号停用申诉指南

如果是 429、Too Many Requests 或 API 配额问题,转到Codex 429 分流指南;页面明确显示套餐恢复时间时,再查看Codex 用量上限与 Credits

Codex 登录缓存在哪里?为什么不能发送 auth.json

OpenAI 当前认证文档说明,Codex 会把登录信息缓存并复用;CLI 与 IDE 扩展共享这些缓存。凭证可能保存在操作系统凭证库,也可能以明文文件形式位于:

~/.codex/auth.json

这个文件包含访问令牌,应按密码处理。不要提交到 Git、粘贴到工单、聊天或第三方诊断网站。官方还提供 cli_auth_credentials_store 配置,可在 filekeyringauto 之间选择;企业或多人设备优先遵循管理员配置。

  • 排障优先运行 codex logout,不要直接编辑令牌。
  • 不要把整个 ~/.codex 从一台设备复制到另一台。
  • 怀疑令牌泄露时立即退出登录、重新认证并检查账号安全。
  • 不要把 API Key、ChatGPT Session 和 Codex access token 混作同一种凭证。

API Key、企业工作区与强制登录方式

本地 Codex CLI 可以使用 API Key,但它属于 OpenAI Platform 的按量计费,不会消耗 ChatGPT Plus / Pro 包含的 Codex 用量。官方提供的 API Key 登录方式从标准输入读取密钥:

printenv OPENAI_API_KEY | codex login --with-api-key

使用前确认环境变量属于自己的 OpenAI Platform 项目,不在 shell 历史、截图或仓库中写入真实 Key。是否改用 API Key 应由计费和工作流需求决定,不能把它当成绕过 ChatGPT 账号限制的方法。

企业环境还可能设置 forced_login_method 或限定 forced_chatgpt_workspace_id。当前凭证不符合管理员限制时,Codex 会退出。遇到这种 403 或自动登出,应联系工作区管理员核对席位、角色、SSO、模型权限和允许的登录方式。

套餐、登录和 API 账单是三件事

ChatGPT 套餐有效,不代表 API 项目有余额;API Key 可用,也不代表当前 ChatGPT 工作区有 Codex 权限。购买或升级前先看Codex 套餐、Credits 与 API 区别

什么时候应该停止本地重试并联系支持?

以下情况不适合继续反复登录:

  • 官方状态页显示 Codex 或认证服务异常。
  • 同一错误在最新客户端、一次 logout/login 和 device auth 后仍稳定复现。
  • 工作区管理员确认席位与权限正常,但 403 仍持续。
  • 账号出现明确 Deactivated、Unsupported Country、MFA 或 SSO 通知。
  • 发现未知登录、凭证泄露或不属于自己的 API 用量。

准备支持材料时提供:Codex 版本、操作系统、运行环境、认证方式、错误发生时间、完整但已脱敏的错误、codex doctor 中可公开部分、是否在 CLI/IDE/App 同时复现,以及官方状态页当时结果。不要提供完整 API Key、auth.json、设备代码、验证码或恢复码。

查看 OpenAI 状态打开官方帮助中心

Codex CLI 登录失败常见问题

Codex CLI 401 Unauthorized 怎么办?

先运行 codex login status 确认当前认证方式,记录完整错误和客户端版本。状态异常时优先使用 codex logout 清除已存凭证,再运行 codex login 通过官方浏览器流程重新登录;不要把 auth.json、Session 或访问令牌发给第三方。

Codex CLI 403 Forbidden 等于账号被封吗?

不一定。403 表示当前请求未获允许,还可能涉及工作区权限、强制登录方式、地区支持、组织限制或服务异常。应结合官方状态页、账号通知、工作区设置和完整错误阶段判断。

浏览器显示 Codex 登录成功,终端为什么还在等待?

浏览器完成登录后还需要把凭证返回 Codex。终端、WSL、SSH、容器、回环地址或浏览器回调被阻断时可能卡住。可停止当前流程后使用官方 codex login --device-auth,再按页面提供的设备代码步骤完成授权。

Codex CLI 怎么查看当前登录方式?

运行 codex login status。官方命令参考说明,该命令会显示当前认证模式,并在已登录时以成功状态退出。

Codex 登录可以改用 API Key 吗?

本地 Codex CLI 支持 API Key,但会按 OpenAI Platform API 标准费率单独计费,不消耗 ChatGPT 套餐包含的 Codex 用量。Codex cloud 则要求使用 ChatGPT 登录。

Codex CLI 和 IDE 扩展会共用登录吗?

OpenAI 当前认证文档说明,Codex CLI 与 IDE 扩展共用缓存的登录信息。从其中一个退出后,另一个在下次启动时也需要重新登录。

可以把 ~/.codex/auth.json 发给别人排查吗?

不可以。官方文档明确要求把 auth.json 当作密码处理,因为其中包含访问令牌。不要提交到 Git、粘贴到工单、群聊或远程排障页面。

Codex 429 是登录失败吗?

通常不是同一类问题。429 更接近速率或用量限制,应检查 ChatGPT Codex Usage、恢复时间、Credits 或 API 账单;不要因为 429 反复注销登录。

内容说明

本文最后核对日期为 2026 年 7 月 21 日。Codex 登录流程、CLI 命令、凭证存储和工作区策略会变化,请以 OpenAI 官方文档、当前客户端和账号提示为准。

Hi Codex 提供独立人工充值协助,与 OpenAI 不存在隶属、授权或合作关系。本文不提供地区绕过、共享认证文件、账号买卖或验证码代收方法。