VS Code 里的 Codex:"Failed to release queued message send lock",消息发不出去怎么办
返回博客
文章codexopenaitroubleshootingvs codedev tools

VS Code 里的 Codex:"Failed to release queued message send lock",消息发不出去怎么办

Mafra2026年10月6日阅读约 4 分钟

你按下回车,输入框清空了,然后什么也没发生。消息没有出现在对话里,Codex 也不回应,有时消息卡在输入框上方,旁边一直转圈。打开日志,你会看到这一段:

[warning] Failed to release queued message send lock
errorMessage="\"undefined\" is not valid JSON"
errorName=SyntaxError

这是 VS Code 版 Codex 扩展(openai.chatgpt)的 bug,与你的网络和账号无关。OpenAI 已于 2026 年 10 月 4 日在 26.930.41038 版本中发布修复。大多数情况下,更新扩展并重新加载窗口即可解决。

流程图:查看 Codex 扩展版本,安装修复版本,重新加载窗口;如果仍然卡住,回退到 26.917.62051
能解决大多数情况的三个步骤,以及仍然卡住时的出路。

"Failed to release queued message send lock" 是什么意思?

意思是扩展没能释放控制消息队列发送的锁。锁一直被占着,下一条消息就会留在队列里等待,而不是发给代理。

原因在 issue #49834 中有说明:扩展和界面之间的内部桥接用 JSON.stringify 序列化响应。当释放锁的操作没有返回值时,结果变成 undefined,另一端的 JSON.parse 随即报错 "undefined" is not valid JSON。一个本来成功的操作被当成了错误。

issue #49988 和 #50403 中报告的症状:

  • 回车清空了输入框,但消息没有出现在对话中。
  • 消息卡在输入框上方,一直转圈,删除按钮变灰。
  • 消息在很久之后才被处理,最长约 1 小时,而你并没有重新发送。
  • 同一条消息执行了两次,或者 Codex 又回答了一遍上一个请求。

日志里没有网络、超时或重连错误。尝试过的用户反馈,把 chatgpt.followUpQueueMode 在 queue 和 steer 之间切换,或修改 chatgpt.composerEnterBehavior,都没有用。

怎么确认是这个 bug?

打开 VS Code 的输出面板(View > Output),选择 Codex 频道,查找 Failed to release queued message send lock 这一行。如果它出现在消息消失的时间点附近,就是这个问题。

然后查看已安装的版本:

# macOS 和 Linux
code --list-extensions --show-versions | grep openai.chatgpt

# Windows (PowerShell)
code --list-extensions --show-versions | Select-String openai.chatgpt

哪些扩展版本有这个 bug?

问题始于 2026 年 10 月 1 日的更新,于 2026 年 10 月 4 日修复。以下是在 VS Marketplace 上核对过的正式版通道版本:

版本发布日期状态
26.917.620512026-09-23出问题之前,可用于回退
26.928.314162026-10-01有 bug
26.928.409062026-10-01有 bug
26.930.215372026-10-02有 bug
26.930.317302026-10-03有 bug
26.930.410382026-10-04已修复
26.930.612252026-10-06截至本文日期的最新正式版

版本号中带 26.59xx 的(例如 26.5928.31416)属于预发布通道。issue #50403 中的报告显示,这些版本同样有这个 bug。

怎么解决?

把扩展更新到最新正式版,然后重新加载窗口。--force 会让 VS Code 在扩展已安装的情况下也替换版本:

code --install-extension openai.chatgpt --force

如果自动更新一直停在旧版本,就明确指定修复版本:

code --install-extension openai.chatgpt@26.930.41038 --force

然后在命令面板(Ctrl+Shift+P 或 Cmd+Shift+P)中运行 Developer: Reload Window。卡住的消息通常会在这时自动发出,所以重新发送之前先看一下对话,避免执行两次。

如果你之前在预发布通道,请切回正式版:在扩展视图中打开 Codex 扩展,点击 Switch to Release Version。

如果我用 Remote-SSH 或 WSL 呢?

扩展运行在远程一侧。请在远程窗口的集成终端里运行 code --install-extension,这样才会装到服务器或 WSL 上,而不是本地机器。修复发布后,有一位用户反馈在 Linux 上通过 Remote-SSH 问题依旧,而其他使用 Remote-SSH 和 WSL 的用户确认已经解决。

更新后还是卡住怎么办?

回退到出问题之前的最后一个版本,并固定它,避免自动更新又把有问题的版本装回来:

code --install-extension openai.chatgpt@26.917.62051 --force

在界面中操作:右键点击扩展,选择 Install Specific Version...,然后选 26.917.62051。这样安装后,VS Code 会把扩展固定在这个版本。想恢复正常时,再更新一次即可。

这种情况下,提交反馈也有帮助。关闭 issue #49988 的维护者请仍遇到问题的用户评论以下信息:扩展版本、操作系统、是否使用 SSH 或 WSL,以及发送消息时 Codex 是空闲还是正在工作。

只重新加载窗口能解决吗?

能立刻解决,但不持久。Developer: Reload Window 会释放锁并发出卡住的消息,但在有 bug 的版本上,几条消息之后问题又会出现。在 issue #50403 中,作者还提到重新加载后看到"对话已在别处打开"的提示。先用重新加载解围,再用更新彻底摆脱它。

如果你想在 VS Code 里使用编程代理而不用计算 token,Verboo Code 有自己的扩展,并提供无限 token。

喜欢这篇文章吗?
把知识分享给你的朋友。
// 继续阅读

相关文章