459 字
2 分钟
Codex 已登录却反复要求登录:forced_login_method 不生效的排查与解决
codex login status 明明显示已登录,直接运行 codex 却又跳回登录界面。这篇复盘记录完整的排查过程,核心结论先行:
Codex 不是没登录,而是普通启动时认证策略没有正确生效;
-c强制 ChatGPT 可以绕过,官方 Issue #46914 也记录了这个问题。
1. 问题
codex login status显示:
Logged in using ChatGPT但:
codex却重新进入登录界面。
2. 排查
先确认登录凭证:
~/.codex/auth.json存在,并且:
auth_mode = chatgpt→ 排除登录凭证问题。
然后检查网络:
codex doctor一开始发现代理没有正确传给 Codex。代理监听在 127.0.0.1:7892,于是设置:
export HTTP_PROXY=http://127.0.0.1:7892export HTTPS_PROXY=http://127.0.0.1:7892export ALL_PROXY=http://127.0.0.1:7892再次运行 codex doctor,显示:
websocket connectedHTTP 101 Switching ProtocolsChatGPT inference URL reachable→ 网络也正常。
3. 关键发现
执行:
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-coverride works
也就是说 codex 有问题,但:
codex -c 'forced_login_method="chatgpt"'正常,和这里的症状基本一致。
5. 最终解决
编辑配置:
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:
codex app-server daemon restart最后正常运行 codex 即可。
排查路径小结
| 步骤 | 命令 | 结论 |
|---|---|---|
| 检查登录状态 | codex login status | 已登录,排除凭证问题 |
| 检查网络 | codex doctor | 补齐代理环境变量后正常 |
| 强制认证方式 | codex -c 'forced_login_method="chatgpt"' | 能进,定位到认证策略 |
| 固化配置 | config.toml + app-server daemon restart | 彻底解决 |
遇到同类问题,最关键的一条判断依据:
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/ 目录