459 字
2 分钟
Codex 已登录却反复要求登录:forced_login_method 不生效的排查与解决
2026-10-06

codex login status 明明显示已登录,直接运行 codex 却又跳回登录界面。这篇复盘记录完整的排查过程,核心结论先行:

Codex 不是没登录,而是普通启动时认证策略没有正确生效;-c 强制 ChatGPT 可以绕过,官方 Issue #46914 也记录了这个问题。

1. 问题#

Terminal window
codex login status

显示:

Logged in using ChatGPT

但:

Terminal window
codex

却重新进入登录界面。

2. 排查#

先确认登录凭证:

~/.codex/auth.json

存在,并且:

auth_mode = chatgpt

→ 排除登录凭证问题。

然后检查网络:

Terminal window
codex doctor

一开始发现代理没有正确传给 Codex。代理监听在 127.0.0.1:7892,于是设置:

Terminal window
export HTTP_PROXY=http://127.0.0.1:7892
export HTTPS_PROXY=http://127.0.0.1:7892
export ALL_PROXY=http://127.0.0.1:7892

再次运行 codex doctor,显示:

websocket connected
HTTP 101 Switching Protocols
ChatGPT inference URL reachable

→ 网络也正常。

3. 关键发现#

执行:

Terminal window
codex -c 'forced_login_method="chatgpt"'

结果:直接进入 Codex。

所以可以确定:账号、token、代理都没问题,问题出在 Codex 启动时的认证策略 / app-server。

4. 官方 Issue#

OpenAI Codex 官方仓库有一个几乎一样的现象:

Issue 描述:

forced_login_method = "chatgpt" from config.toml is not respected, while CLI -c override works

也就是说 codex 有问题,但:

Terminal window
codex -c 'forced_login_method="chatgpt"'

正常,和这里的症状基本一致。

5. 最终解决#

编辑配置:

Terminal window
nano ~/.codex/config.toml

加入:

forced_login_method = "chatgpt"

最终的 config.toml:

model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
forced_login_method = "chatgpt"
[tui]
screen_reader_detection_done = true

然后重启 app-server:

Terminal window
codex app-server daemon restart

最后正常运行 codex 即可。

排查路径小结#

步骤命令结论
检查登录状态codex login status已登录,排除凭证问题
检查网络codex doctor补齐代理环境变量后正常
强制认证方式codex -c 'forced_login_method="chatgpt"'能进,定位到认证策略
固化配置config.toml + app-server daemon restart彻底解决

遇到同类问题,最关键的一条判断依据:

Terminal window
codex -c 'forced_login_method="chatgpt"'

能进 = 优先查配置 / app-server,不要去删 auth.json。

Codex 已登录却反复要求登录:forced_login_method 不生效的排查与解决
https://blog.xqcherry.top/posts/operations/codex-forced-login-method-issue/
作者
xqcherry
发布于
2026-10-06
许可协议
CC BY-NC-SA 4.0