疑难排查 · Codex CLI

Codex auth.json / 登录错误——改用 API 密钥认证

Codex 的登录状态存放在 ~/.codex/auth.json,文件失效或缺失会导致登录提示和认证失败。何时需要重新登录,何时自定义提供商完全绕过它。

你看到的报错

codex auth.json error

为什么会发生

  • auth.json 缺失、不可读或已失效,导致默认提供商没有可用的登录状态。
  • 登录属于与会话预期不同的账户或套餐状态——刷新令牌不再成功。
  • 故障被归因错了:使用自定义提供商加 env_key 时,ChatGPT 登录状态毫不相关,真正的问题出在环境变量或 profile 上。

如何解决

  • 对于默认提供商,重新走一遍登录流程,让 auth.json 被重新写入。
  • 对于自定义提供商,auth.json 不参与认证:认证靠的是 env_key 指定的变量。检查 profile 是否真的被选中,以及变量是否在运行中的 shell 里已设置。
  • 把两条路径在脑中分开——默认提供商走订阅登录,自定义提供商走 API 密钥。一条路径的错误不能在另一条上修。

相关搜索

  • codex not logged in
  • codex login failed

常见问题

Codex 的自定义提供商使用 auth.json 吗?+
不使用。[model_providers.*] 条目通过 env_key 指名的环境变量进行认证。auth.json 只承载默认的 ChatGPT 登录。
为什么 Codex 一直让我登录?+
它存储的登录状态无法刷新。重新登录以重写它——或者,如果你本意是用自定义提供商,就显式选择那个 profile,这样根本不需要登录。
没有任何 ChatGPT 订阅能运行 Codex 吗?+
能——配好自定义提供商 profile 并把该提供商的 API 密钥放进环境变量,Codex 就完全以 API 密钥认证运行。

跳过折腾坏掉的配置

apiToken.sale 提供标准的 Anthropic API——同样的模型、同样的 SDK、一个预付余额。把你工具的 base URL 指向它,本页的配置即可原样生效。