跳转到内容

Codex 登录失败怎么排查

很多用户第一次卡住,不是在“怎么用 Codex”,而是在“怎么登录进去”。

最容易出现的错误动作通常是:

一失败就重装
一失败就换账号
一失败就怀疑所有配置都坏了

其实大多数登录问题,都能先按类型分清楚。

前置教程:Codex CLI 安装与登录
如果你还没有完成基础安装和第一次登录流程,先完成前置教程。

依据来源:OpenAI Codex 官方手册中关于 Authentication and sessions、CLI login、device code authentication、login caching、credential storage、Troubleshooting 的说明。

学完后,你应该能做到:

  1. 区分 ChatGPT 登录、设备码登录、API Key 登录三种路径。
  2. 知道登录失败时先看哪一层。
  3. 知道什么时候是浏览器回调问题。
  4. 知道什么时候该怀疑本地登录缓存。
  5. 知道什么时候不该重装,而该先清理登录状态。

Codex 常见登录路径主要有三种:

  1. ChatGPT 浏览器登录
  2. 设备码登录
  3. API Key 登录

这三种失败后的排查方向不一样。

所以你第一步不要急着修,先确认自己是哪种方式。

1. 浏览器能打开,但登录后回不来

Section titled “1. 浏览器能打开,但登录后回不来”

这类通常不是账号错,而是:

  • 本地回调被拦截
  • 公司网络限制 localhost 回调
  • 浏览器没把结果正确回传给 CLI

这类通常要看:

  • 账号或工作区是否允许设备码登录
  • 一次性验证码是否过期
  • 当前网络是否能访问登录页面

这类通常要看:

  • Key 是不是错的
  • Key 是否过期或被删除
  • 你是不是把别的凭证当成 API Key 了

4. 明明登录过,但突然又不行了

Section titled “4. 明明登录过,但突然又不行了”

这类通常要看:

  • 本地缓存是否过期
  • auth.json 是否损坏
  • CLI 和 IDE 共用登录缓存时是否被登出

如果你已经能进入一个可对话的环境,可以先把下面这段复制给 Codex:

我现在卡在 Codex 登录。
请帮我做只读排查:
1. 先帮我判断我更像是哪一种登录失败:浏览器登录、设备码登录、API Key 登录还是本地缓存问题。
2. 不要修改文件。
3. 不要要求我贴出真实 API Key。
4. 如果需要看本地日志或配置路径,请先说明你要看什么。
请按下面格式回复:
## 初步判断
- 更像哪一种登录失败:
- 依据:
## 排查顺序
- 第一步看什么:
- 第二步看什么:
- 第三步看什么:
## 风险提醒
- 是否需要先退出当前登录状态:
- 是否不建议重装:

如果你当前根本还进不去,就按下面手动排。

情况 1:浏览器登录打开了,但登录后 CLI 没反应

Section titled “情况 1:浏览器登录打开了,但登录后 CLI 没反应”

这是非常常见的一类。

官方文档里明确提到,ChatGPT 浏览器登录依赖本地回调把登录结果回传给 CLI。

所以这类问题优先查:

  1. 本机网络是否拦截 localhost 回调。
  2. 公司网络或安全软件是否拦截。
  3. 浏览器是否完成了登录,但 CLI 没收到结果。

你可以先这样做:

Terminal window
codex logout

预期结果:

  • 当前缓存登录状态被清掉
  • 下次登录重新开始
Terminal window
codex login

如果还是出现“浏览器完成了,但终端不继续”,下一步优先试设备码登录。

情况 2:浏览器登录不稳定,优先切设备码登录

Section titled “情况 2:浏览器登录不稳定,优先切设备码登录”

官方手册明确提到,如果浏览器回调在当前环境不稳定,可以优先使用设备码登录。

执行:

Terminal window
codex login --device-auth

预期结果:

  1. 终端给你一个网址和一次性代码。
  2. 你在浏览器打开这个网址。
  3. 登录后输入代码。
  4. 回到终端看到登录完成。

如果设备码登录失败,优先检查:

  • 账号或工作区是否允许设备码登录
  • 设备码是否过期
  • 网络是否能正常访问登录页面

先确认你真的在用“OpenAI Platform API Key”,而不是别的令牌。

官方文档明确区分了:

  • ChatGPT / Codex access token
  • OpenAI Platform API key

不要混用。

如果你要重新用 API Key 登录,先退出旧状态:

Terminal window
codex logout

然后再按你当前环境使用的 API Key 登录方式重新走。

如果报错更像是:

  • Unauthorized
  • Invalid API key
  • authentication failed

优先检查:

  1. Key 是否复制完整。
  2. 是否多了空格。
  3. 是否已经在平台被删除。
  4. 是否把别的 token 误当成 API Key。

情况 4:之前能用,现在突然登录失效

Section titled “情况 4:之前能用,现在突然登录失效”

这种不要先重装。

官方文档提到,Codex 会把本地登录信息缓存到:

  • ~/.codex/auth.json
  • 或操作系统凭证存储

而且 CLI 和 IDE 扩展可能共用同一份缓存登录状态。

所以如果你从一个地方登出,另一个地方也可能受影响。

这类情况优先做:

Terminal window
codex logout
Terminal window
codex login

如果你怀疑是浏览器回调问题,就直接:

Terminal window
codex login --device-auth

官方手册提到,CLI 登录相关问题会额外写一份登录日志。

所以这类问题可以重点检查:

  • ~/.codex/auth.json
  • 登录日志

但注意:

  1. 不要把完整认证文件内容贴出来。
  2. 不要把 token 原样发给 Codex。
  3. 只看“是否存在、是否明显损坏、最近是否被改动”。

官方文档提到,如果你的网络使用企业 TLS 代理或私有 CA,登录也可能受影响。

这类常见现象是:

  • 浏览器能上网
  • 但 CLI 登录 HTTPS 请求异常
  • 或证书相关报错

这种情况下,不要先怀疑账号。

更应该先看:

  1. 当前公司网络是否有 HTTPS 代理。
  2. 是否需要额外 CA 证书配置。
  3. 是否只有当前网络环境下失败,换网络后恢复。

下面这些都不应该是第一反应:

  • 直接重装 Node.js
  • 直接重装 Codex
  • 直接删掉整个 .codex 目录
  • 把真实 API Key 整段贴进聊天
  • 同时乱试很多登录方式,最后自己也分不清哪一步失败

更稳的做法永远是:

先分类型
再按一条路径排
一次只验证一个怀疑点

一段可以长期复用的排障提示词

Section titled “一段可以长期复用的排障提示词”
我现在遇到 Codex 登录失败,请帮我做只读排障。
当前现象:
【把你看到的现象写这里,不要粘贴真实密钥】
要求:
1. 先判断更像浏览器登录失败、设备码登录失败、API Key 登录失败,还是本地缓存问题。
2. 不要修改文件。
3. 不要要求我提供真实 API Key、token 或 auth.json 完整内容。
4. 如果建议我执行命令,只给最小必要步骤。
5. 最后按优先级给我排查顺序。

做到这里,如果你已经能稳定区分下面几类情况,就说明本篇目的达到了:

  1. 浏览器登录回调问题。
  2. 设备码登录问题。
  3. API Key 登录问题。
  4. 本地缓存登录状态问题。
  5. 公司网络或证书环境问题。

下一篇建议看:Git unsafe repository 怎么处理

这个问题在 Windows 本地项目里也非常常见,而且经常和 Codex 一起出现。