Codex 登录失败 account/read failed 怎么办

按登录状态、网络与代理、浏览器回调、凭据存储和 Windows 系统依赖逐层排查 Codex 登录失败;不要直接删 auth.json 或关闭整机防护。

内容更新 2026-09-05

先看结论

先用 codex login status 确认登录方式和状态,再按具体报错处理;只有确认需要重新登录时才退出,设备码登录也取决于账号或组织是否允许。

确认现象

  • 终端报 account/read failed during TUI bootstrap
  • 浏览器一直转圈打不开登录页
  • 登录后命令依然提示未登录
  • Windows 报 Sign-in could not be completed: Token exchange failed
  • 浏览器回调 localhost 端口无响应
  • Windows 报 exit code 3221225781(0xC0000135)

可能原因

  • 网络、代理、TLS / 企业 CA、系统时间或服务可用范围导致认证链路失败
  • 缓存的登录态过期或不匹配;凭据可能保存在 ~/.codex/auth.json,也可能在系统 keyring
  • 代理分流或企业网络策略影响浏览器登录、token exchange 或 localhost 回调
  • Windows 的 0xC0000135 表示系统找不到某个 DLL;缺少 Visual C++ 运行库只是可能原因之一
  • 本地端口被占用导致 OAuth 回调失败
  • 防火墙或杀毒软件拦截了 Codex 的本地回调监听

按顺序排查

  1. 先跑 codex login status,确认是 ChatGPT 订阅登录还是 API Key 登录;两条路线的权限、额度和计费不能混用
  2. 确认本机能正常打开 chatgpt.com / auth.openai.com
  3. 只有确认凭据过期或账号不匹配、且知道如何重新登录时才执行 codex logout;CLI 与 IDE 扩展可能共享登录缓存,退出会影响另一个入口,不要直接删除 auth.json
  4. 核对系统时间、代理、TLS / 企业 CA 和服务可用范围;只使用稳定、可信且符合服务条款的网络
  5. ChatGPT 路线重新执行 codex login;浏览器回调不可用时,先确认个人安全设置或工作区权限允许设备码登录,再尝试 codex login --device-auth。API 路线按官方 API Key 登录流程处理,不要为修登录随意切换计费路线
  6. 登录成功后跑 codex login status 确认状态为已登录
  7. Windows 报 3221225781 时先确认缺失的 DLL 名称或查看系统事件;只有指向 vcruntime140_1.dll 等 VC++ 组件时,再安装官方 Visual C++ Redistributable

命令与示例

# 检查当前登录状态
codex login status
# 使用标准命令清理当前凭据;不要直接删除 auth.json 或系统 keyring 项
codex logout
# 重新登录(默认浏览器方式)
codex login
# 仅限 ChatGPT 登录路线,且个人安全设置或组织策略已允许设备码登录
# 不要分享一次性代码、认证链接或登录缓存
codex login --device-auth

仍未解决

  • 反复失败可以临时换 Claude Code 或 Cursor 顶替
  • Windows 上 Token exchange failed:检查系统时间、代理、TLS / CA、浏览器回调和安全软件拦截记录;只放行明确的 Codex 进程或 localhost 回调,不要关闭整机防火墙或杀毒软件
  • 浏览器回调失败:检查本地端口和安全软件记录;设备码不可用时让管理员核对权限,不绕过组织策略
  • 需要提交日志时,只截取 codex-login.log 中与失败时间相邻的必要片段;删除 Token、Cookie、账号、本机路径和代理信息,绝不发送 auth.json

适合谁看

  • 首次安装 Codex 登录卡住
  • 之前能用,今天突然报 account/read failed
  • 换了 VPN 或网络后没法继续
  • Windows 上报 Token exchange failed 或 exit code 3221225781
  • 浏览器回调页面显示 can't reach this page

小白先准备什么

  1. 确认本机能正常打开 chatgpt.com 和 auth.openai.com(测试网络连通性)
  2. 确认代理/VPN 是全局模式还是分流模式,并核对 TLS / 企业 CA;不要分享代理账号或配置
  3. 知道 Codex 的本地状态默认位于 ~/.codex/(可由 CODEX_HOME 改变),但不要打开、复制或发送 auth.json
  4. 准备一个可信且符合服务可用范围的备用网络,用于判断是否为当前网络策略问题
  5. Windows 用户:先记录完整退出码和缺失 DLL 名称,再判断是否需要安装 Visual C++ Redistributable

验收标准

  • codex login status 返回退出码 0(表示已登录)
  • 进入 Codex TUI 后能正常显示界面,不报 account/read failed
  • 登录状态正常只证明认证通过,不代表模型可用或任务免费;模型验收需另行确认费用和可用范围,使用虚构资料
  • 不需要为了验收反复切网络或退出;保留与原故障对应的状态、版本和错误摘要即可

Windows 特有问题

  • exit code 3221225781(0xC0000135):表示 DLL_NOT_FOUND,不等于固定缺少 vcruntime140_1.dll;结合系统事件或缺失 DLL 名称判断,确认是 VC++ 组件后再装官方运行库。
  • Token exchange failed:可能来自网络、代理、TLS / CA、系统时间、浏览器回调、登录态或安全软件拦截;按层排查,不要直接关闭整机防护。
  • 浏览器回调 localhost 失败:检查端口占用;只有账号或组织已允许设备码登录时再用 codex login --device-auth,不绕过组织策略
  • 企业网络做 TLS 检查:按官方认证说明配置可信 CA,或让管理员核对拦截策略;不要绕过公司安全要求。

可复制排查提示词

只分享严格脱敏后的必要报错片段,不要发送 auth.json、Cookie、Token 或任何真实凭证:

我的 Codex 登录失败。以下内容已删除 Cookie、Token、API Key、账号信息和本机私有路径。

必要报错片段:
```
<只粘贴相关错误,敏感值写成 <REDACTED>>
```

我的环境:
- 操作系统:<Mac/Windows/Linux>
- 网络环境:<家庭/公司/其他,不提供代理凭证>
- 之前是否登录成功过:<是/否>
- codex login status 摘要:<脱敏后粘贴>

请帮我:
1. 判断是网络、登录态还是系统依赖问题
2. 给出最小修复步骤
3. 需要清理凭据时先说明影响和备份方式
4. 不要要求我提供任何真实凭证

常见误区

  • 误区:反复执行 codex login 就能修好 → 先看 codex login status 和具体错误;需要重登时先执行 codex logout,不要直接发送或随意删除 ~/.codex/auth.json
  • 误区:能访问其他网站就说明登录链路正常 → 应按当前官方登录说明检查所需域名、浏览器回调和本机端口
  • 误区:登录失败一定是 Codex 的 Bug → 网络、登录态、浏览器回调、系统时间和本机依赖都可能导致失败,应按错误逐项验证
  • 误区:不断切换代理节点就能解决 → 使用稳定且符合服务可用范围的网络,不要用未知节点绕过限制或暴露登录凭证
  • 误区:Windows 报错码看不懂就重装系统 → Visual C++ 运行库缺失只是可能原因之一,应结合 DLL 名称和系统事件确认

参考来源