OpenAI Codex CLI 登录异常修复记录:从「user not found」到重新认证成功
记录一次 Codex CLI 登录异常排查过程。症状表现为重新安装 Codex、重启电脑、清理 App 缓存均无效CLI 启动后自动恢复旧登录状态并持续报错user not found。一、问题背景最近在 Windows 环境下使用 OpenAI Codex CLI 时突然出现登录异常。最开始的现象Codex CLI 无法正常使用ChatGPT/Codex 客户端出现异常重新登录无效卸载重新安装后依然自动登录CLI和app端 启动后出现user not found, 用户不存在同时发现即使完全重新安装 Codex启动后仍然保留之前的账号信息。这说明问题并不简单是程序损坏安装失败网络代理问题而更可能是本地保存的认证状态没有被清除。二、初步排查误判为客户端缓存问题1. 检查代理环境由于 OpenAI 服务访问经常受到网络环境影响首先排查代理。执行echo $env:HTTP_PROXY echo $env:HTTPS_PROXY netsh winhttp show proxy结果当前的 WinHTTP 代理服务器设置: 直接访问(没有代理服务器)随后测试curl.exe https://auth.openai.com可以正常返回页面进一步测试curl.exe -x http://127.0.0.1:7890 https://chatgpt.com也可以返回响应。因此判断网络代理不是主要问题。三、尝试修复客户端缓存由于怀疑是 Windows App 缓存损坏开始清理相关组件。1. 删除 Codex Store App执行taskkill /f /im Codex.exe Get-AppxPackage OpenAI.Codex | Remove-AppxPackage成功执行。但是尝试删除Remove-Item $env:LOCALAPPDATA\Packages\OpenAI.Codex_2p2nqsd0c76g0 -Recurse -Force提示找不到路径原因Microsoft Store 应用目录并不存在。2. 清理 WebView因为 ChatGPT App 依赖 Edge WebView2因此尝试taskkill /f /im msedgewebview2.exe然后Remove-Item $env:LOCALAPPDATA\EBWebView -Recurse -Force执行成功。但是问题仍然存在。四、关键发现问题根本不是 App而是 Codex CLI 状态文件经过多轮排查后发现Codex CLI 的核心状态目录C:\Users\chenfeng\.codex仍然存在。查看dir $env:USERPROFILE\.codex发现auth.json config.toml sessions cache sqlite ...其中auth.json保存了 OAuth 登录信息。查看type $env:USERPROFILE\.codex\auth.json发现{ auth_mode: chatgpt, tokens: { access_token: ..., refresh_token: ..., account_id: ... } }这里保存的是之前登录状态。五、真正错误原因Codex CLI 的启动流程启动 Codex CLI ↓ 读取 ~/.codex/auth.json ↓ 发现已有 OAuth Token ↓ 自动使用旧登录状态 ↓ 请求 OpenAI 用户信息 ↓ 服务器返回 user not found也就是说卸载软件并不会删除用户目录中的认证状态。类似删除浏览器但是 Chrome 用户配置还在。重新安装以后浏览器仍然知道你的账号。六、最终解决方案1. 备份旧配置不要直接删除。执行Rename-Item $env:USERPROFILE\.codex .codex_backup效果.codex ↓ .codex_backup保留历史数据。2. 重新启动 Codex执行codex此时进入新的初始化流程。出现Sign in with ChatGPT重新完成登录。3. 初始化 Sandbox登录成功后出现Setting up sandbox... Sandbox ready Codex can now safely edit files and execute commands说明环境恢复。【截图5Sandbox ready成功页面】七、修复后的状态最终OpenAI Codex v0.132.0 model: gpt-5.5 Sandbox: ready可以正常执行命令修改代码调用 Agent 能力【截图Codex正常启动界面】八、额外问题WebSocket fallback启动时可能出现Falling back from WebSockets to HTTPS transport这个不是登录失败。含义Codex 原本尝试WebSocket失败后HTTPS fallback继续运行。原因可能网络代理防火墙网络环境限制如果功能正常可以忽略。九、经验总结1. 不要只盯着安装目录很多现代软件程序文件Program Files只是外壳。真正重要的数据用户目录 AppData 配置文件 Token缓存 SQLite数据库2. 遇到登录异常排查顺序应该是推荐流程网络 ↓ 服务状态 ↓ 认证Token ↓ 用户配置文件 ↓ 缓存 ↓ 重新安装不要一上来卸载。因为卸载程序 ≠ 删除用户状态。3. AI Agent 工具尤其容易遇到状态问题传统软件安装 运行 卸载比较简单。但是 AI Agent客户端 ↓ 模型配置 ↓ 账号认证 ↓ 工具权限 ↓ 本地状态数据库 ↓ 缓存状态更多。所以排错必须区分程序问题配置问题认证问题网络问题十、最终解决命令汇总# 查看 Codex 状态目录 dir $env:USERPROFILE\.codex # 备份旧状态 Rename-Item $env:USERPROFILE\.codex .codex_backup # 重新启动 codex总结这次 Codex 登录异常最终定位为旧 OAuth Token 保存在~/.codex/auth.json中导致重新安装后仍自动恢复错误登录状态。解决方法备份并重建.codex目录让 Codex 重新完成 OAuth 登录。这类问题本质不是软件坏了而是状态管理问题。在 AI Agent 工具快速发展的阶段本地状态、认证体系、缓存管理会越来越复杂掌握这类排错方法比单纯记住某一个命令更重要。