Codex 出问题怎么办:消息卡住、插件卡顿、历史消失、登录报错

2026年10月30日 更新:2026年10月30日 · 作者 Taylor Yang · #开发者工具 #AI 工具 #GitHub

Codex 消息一直转圈、面板没反应、旧会话找不到?先按固定顺序排查,再对照症状速查表找临时办法,附 GitHub 上的已知故障。

💡 **这篇解决什么问题:**消息发出去一直转圈、自己进了队列或直接消失;Codex 面板卡死但 VS Code 本身正常;历史列表里找不到旧会话;登录失败、codex: command not found、MCP 不工作。这篇先给一套通用的排查顺序和症状速查表,再按症状逐个讲:怎么判断是不是工具本身的故障、有哪些已验证的临时办法、哪些操作千万别做。

更多 Codex 文章:省点力 · Codex 小类

大家卡在哪里

先按症状区分三类故障,再核对版本、日志和本地记录:

  1. 消息发不出去、卡住:输入指令后一直转圈、进入等待队列,甚至消息消失。2026 年 10 月 1–3 日多名用户报告了类似情况(GitHub #49991、#50118)。
  2. 插件卡顿,VS Code 本身正常:Codex 面板停止响应,有用户记录了扩展进程阻塞、消息积压、服务器过载的日志(#22393)。
  3. 历史会话突然找不到:旧聊天没有出现在 VS Code 历史列表里,但部分用户检查后发现本地数据库和会话文件都还在(#21244)。

另外两个痛点(复杂改动难以一次做对、上下文和任务要求容易混乱)见 Codex 改代码不翻车:权限、分支、Diff、测试和 Code Review 和 Codex 长任务和大项目:计划文件、Goals、会话管理、并行、云端与额度。

还有几条背景:

一、出问题先做这 6 件事

  1. 确认版本。在 VS Code 扩展面板里看 Codex 插件(openai.chatgpt)的版本号;用 CLI 的话,在终端运行 codex --version。后面所有判断都靠版本号。
  2. 去 GitHub 搜一下。到 openai/codex 的 Issues 搜你的版本号或症状关键词。如果一堆人在同一天报了同样的问题,基本可以确定是版本故障,等修复或回退版本就行。
  3. 先保存日志,再重启。很多故障一重启就暂时好了,日志也跟着不好找。先把日志存一份(位置见第四节),反馈问题时用得上。
  4. 别删 .codex 文件夹,也别急着清缓存。你的会话记录、配置都在里面。历史“消失”很多时候只是列表没显示,本地记录还在不等于数据丢失(见第五节)。
  5. 敲一下 /status。确认当前模型、权限、工作目录、上下文剩余量。很多“它怎么不干活了”其实是模型没切成功、处在只读模式、目录不对,或者对话太长了。新手排查问题,第一反应就是 /status。
  6. 卡住的当下先提交反馈。有用户在会话还卡着的时候提交了反馈,拿到一个 Feedback ID 附在 GitHub issue 里。卡住时提交,官方能拿到的现场信息最完整;重启以后再提交,现场就没了。

二、症状速查表

你看到的症状最可能的原因先试详见
普通消息发出去一直转圈,或显示成 steer/pending 状态2026 年 10 月某几个插件版本的队列故障↑ 键找回文字再按 Enter,重试 2–3 次;Reload Window第三节
上一轮已经完成,新消息却被放进队列不发出同上(线程卡在“还在输出”状态)重启 Extension Host;完全退出 VS Code 再打开第三节
发出去的消息直接消失同上按 ↑ 键,文字往往还在输入历史里第三节
整个 Codex 面板没反应,但 VS Code 其他功能正常Windows 上扩展进程阻塞、消息积压Reload Window 或重启项目窗口;保存日志第四节
一个普通任务跑着跑着停了,不报错、不出结果同上记下 Feedback ID,再重启项目窗口第四节
历史列表里找不到旧会话列表和本地索引不同步,数据一般还在按会话 ID 直接打开;别改本地文件第五节
浏览器授权后回到终端提示失败网络、浏览器缓存、登录状态检查网络、清缓存、codex logout 后重登第六节
codex: command not found没装好,或 npm 全局路径不在 PATH 里重装、检查 npm config get prefix第七节
配了环境变量还是提示找不到没有完全重启完全退出 Codex 再打开,不行就重启电脑第八节
接了第三方模型,连得上但跑不起来平台不支持 Responses API换支持 Responses 接口的模型或平台第八节
MCP 加了但不起作用、日志里一堆 MCP 报错配置没生效、会话没重开,或 Windows 已知问题看 config.toml、开新会话、在提示词里点名第九节

三、消息发不出去、一直转圈、自己进了队列

这是 2026 年 10 月初最集中的一批故障。2026 年 10 月 1 日插件自动更新到 26.928.31416 之后,很多人的 Codex 面板开始“时好时坏”。

典型症状

频率因人而异:有人说“大约每隔几条消息就出现一次”,有人说“差不多每隔一条”,也有人说是间歇性的,卡了一次后,下一条又能正常发出去。简单的聊天提示就会触发,最小的 type ok 也会,不一定要让它写程序。

受影响的版本和平台

插件版本平台 / 备注
26.928.31416Windows、Ubuntu;10 月 1 日更新后开始出问题
26.928.40906macOS Intel、Windows
26.5928.31416(预发布版)Linux、Apple M1 Pro;切到预发布通道也没用
26.930.21537Windows,稳定版
26.930.31428Windows
26.930.31730Windows,自带 codex-cli 0.160.0

所以这不是某个系统独有的问题。Windows、macOS(Intel 和 M1)、Ubuntu/Linux 都有人复现,稳定版、预发布版都中招。

日志里长什么样

打开 Codex 的日志(位置见第四节)搜这几行,能帮你判断是不是同一个故障:

关于那条 not valid JSON 警告,有用户把插件里的相关代码抽出来单独测试,结论是:这是锁已经成功释放之后的一个响应解析失败,单凭这条警告不能说明锁没释放;只修这一处,也不能证明就能解决所有卡队列的问题。

同一位用户还只读查看了 VS Code 的 User/globalStorage/state.vscdb(键 openai.chatgpt → queued-follow-ups),发现 6 个对话里留着 9 条队列记录,其中好几条其实早就被会话历史接收了,只是本地队列没清掉。这说明本地队列状态和真实会话历史对不上了。他特别说明,诊断过程中没有修改插件文件和这个数据库。你也不要去改它。

先试这些临时办法

从轻到重:

  1. ↑ + Enter 重试:按 ↑ 把刚才的文字找回来,再按 Enter。有用户说要这样重试 2–3 次才能发出去;也有人说一条消息要发大约 3 次才能成功。
  2. 用 Ctrl+Enter 发送:有用户提到,Codex 工作中只按 Enter,消息会消失(这是 2–3 个月前就有的老 bug);改用 Ctrl+Enter,最多是界面卡住,至少消息不会丢。
  3. 开一个新会话:用新会话判断问题是否只影响当前线程;先保存原任务和日志,别删除旧会话。
  4. Reload Window:在 VS Code 命令面板(Ctrl+Shift+P)里运行 “Developer: Reload Window”。
  5. 重启 Extension Host:相关的 #50084 标题就是“重启 Extension Host 能修好”。命令面板里运行 “Developer: Restart Extension Host”。
  6. 完全退出 VS Code 再打开:有用户说“有时 Reload Window 就行,有时要彻底关掉 VS Code 再开”。也有人说重启后照样复发,所以这只是临时办法。
  7. 回退插件版本:有用户说“回退到上一个版本立刻就好了”。在 VS Code 扩展面板里点 Codex 插件的齿轮图标,选 “Install Specific Version…” 选旧版本。代价是:回退到 26.917.62051 能用,但这个版本不支持 GPT-6.1 Sol。
  8. 回退后关掉这个插件的自动更新:不然它很快又会自己升回有问题的版本。等 GitHub 上确认修复了再打开。

注意:重载、开新会话、回退版本这些都只是个别版本的临时办法,没有证据证明适用于所有情况。

试过但不是根因的

相关 issue

四、插件整体变慢、面板卡死(Windows)

这一类和第三节不同:不是某条消息发不出去,而是整个 Codex 面板变得很慢甚至没反应,VS Code 本身却是正常的。主要出现在 Windows 上(#22393)。

典型症状

报告时的版本:插件 26.506.31421 + codex-cli 0.130.0;插件 26.715.61943 + codex-cli 0.145.0-alpha.27(Windows 11、VS Code 1.129.1)。

日志里长什么样

Reload Window 之后,同一台机器上的 outbound queue is full 和 Server overloaded 都降到了 0,但过一阵可能又回来。

日志在哪里

Windows 上的 VS Code:

%APPDATA%\Code\logs\<session>\window1\renderer.log
%APPDATA%\Code\logs\<session>\window1\exthost\openai.chatgpt\Codex.log
%TEMP%\exthost-*.cpuprofile

Windows 上的 Codex App:

%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs

CLI 可以在 config.toml 里设 log_dir 指定日志目录,设了之后还会生成纯文本的 codex-tui.log,见 一次配好 Codex:AGENTS.md、config.toml、Skills 与 MCP。

快速数一下日志里的关键报错

下面这段 PowerShell 只读取日志、不改任何东西,用来数几种关键报错出现了多少次(路径换成你自己的):

$log = "$env:APPDATA\Code\logs\<session>\window1\exthost\openai.chatgpt\Codex.log"
"outbound queue is full","Server overloaded","not valid JSON","cloudflare_challenge","markedStreaming=true" | ForEach-Object {
  "{0}: {1}" -f $_, (Select-String -Path $log -SimpleMatch $_).Count
}

数字大说明问题严重,反馈时可以附上。注意这只是一个时间点的快照,不是报错频率。

临时办法

相关 issue:#21806(Remote-SSH 下面板间歇性卡住)、#19437(Windows App 启动白屏/转圈,workspace_dependencies 循环报错)、#19366(反复拉取连接器图标导致 Server overloaded)、#20599(WSL 下后台服务 CPU 占用 70–90%、outbound queue is full)。

五、历史列表里找不到旧会话

先别慌:数据一般还在

#21244 的报告者(插件 openai.chatgpt@26.429.30905、codex-cli 0.128.0、VS Code 1.118.1 arm64)发现:VS Code 的历史列表时不时会漏掉一些旧会话,但这些会话其实都还在本地:

所以这是列表显示的问题,不是数据丢了。

怎么找回

  1. 按会话 ID 打开。CLI 用 codex resume <会话ID>。有人报告 codex resume --all 列不出某些本地会话,但用 resume <session-id> 照样能打开(#20165)。
  2. 只读搜索本地记录。记不住 ID 的话,可以在 ~/.codex/sessions/ 里按关键词搜 rollout-*.jsonl 文件,找到对应会话再按 ID 打开。只读、只搜,不改。
  3. 第三方工具:有开发者做了一个 Mac 工具 Codex Migrate,可以只读搜索本地会话记录并导出找到的对话。它是非官方的,不会修复侧栏列表,也可能漏掉一些格式的记录,用之前自己判断。

千万别做

跨设备时的另一种情况

有用户在 Windows 上用同一个会话跑 /goal,在 VS Code 和 Codex Desktop 之间切换:切出去再回来,两边都显示成几条消息之前的旧状态;Goal 栏还显示“进行中”,最后一轮却像被打断了,会话状态显示 notLoaded。实际上本地 rollout 文件里历史完整,还在继续变长,说明后台还在干活,只是界面没同步。这时界面上的状态不可信,可以看本地 rollout 文件是不是还在变大,来判断它是不是还在干活。

以后怎么防

相关 issue:#20340(session_index.jsonl 和 state_5.sqlite 不同步,历史变空白)、#19822(本地历史索引过期,最近的会话没法恢复)、#19603(希望插件侧栏和 CLI 的恢复列表规则一致)、#20624(插件打开旧会话时静默失败)、#20165。

六、登录失败

表现:浏览器里授权完成,回到终端却提示失败。

按顺序试:

  1. 检查网络连接;
  2. 清除浏览器缓存再试;
  3. 执行 codex logout,然后重新登录;
  4. 换用 API Key 的方式登录。

登录方式本身(个人账号、公司 SSO、CLI 和插件共享登录)见 Codex 第一次上手:装对插件、登录成功、选对入口。

七、codex: command not found

表现:终端里提示 codex: command not found。

先重新安装:

npm install -g @openai/codex

再看 npm 的全局安装路径:

npm config get prefix

确保这个路径在你的 PATH 环境变量里。装好后运行 codex --version,能看到版本号就说明好了。

Windows 用户如果 PATH 配置很麻烦,建议先用 App,不要卡在 CLI 环境上。VS Code 插件也不依赖 CLI,可以单独用。

八、配了环境变量还是找不到 / 第三方模型跑不起来

九、MCP 不工作

  1. 确认配置真的写进去了:用 codex mcp add 添加后,打开 config.toml 看看有没有对应的配置。
  2. 开一个新会话再试:添加 MCP 后,用新会话检查服务是否成功加载;原会话未必已经读取新配置。
  3. 在提示词里点名让它用:比如“先去 Context7 查这个库的最新文档”。想让它每次都记得,写进全局 AGENTS.md。
  4. 分清噪音和真故障:日志里的 -32601: Method not found 多半只是这个 MCP 服务器没实现资源列表这类可选功能,不一定代表它坏了。
  5. Windows 上的已知问题:非英文系统里,taskkill 的本地化输出会混进 MCP 的 JSON 解析,导致解析失败(#22393)。这是工具的问题,反馈即可,不用自己折腾。
  6. 想想是不是真的需要 MCP:计划、进度这类信息,放一个提交进 Git 的 Markdown 文件往往就够用了,见 Codex 长任务和大项目:计划文件、Goals、会话管理、并行、云端与额度。

MCP 的配置和用法见 一次配好 Codex:AGENTS.md、config.toml、Skills 与 MCP。

十、Windows 用户专项清单

十一、怎么提一个有用的反馈

在 openai/codex 提 issue 前,先搜一下有没有同样的问题。有的话在下面补充你的情况,比新开一个更有用。

写清楚这几项:

注意脱敏:别贴 token、API Key、账号信息;会话 ID、请求 ID、本地路径这些也最好替换成 <redacted>,GitHub 上的报告者都是这么做的。只说你确认过的事,没验证的结论标明是推测。

按需查阅的官方文档