Codex CLI 报 `stream disconnected before completion` 排障文档

大家好,我是G探险者! 今天记录一个windows环境下使用codex一直断流的问题,让我痛苦不堪,整整一天的时间,最终搞定,也是魔法打败魔法,使用chatgpt自查,反复追问,最后搞定,值得记录,能够帮到遇到类似问题的朋友们也不枉我花费一天的时间。

一、问题现象

在 Windows 本地命令行中运行 Codex CLI 时,输入正常指令后报错:

text 复制代码
stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses)

同时,手动执行下面的网络探测命令时,曾出现过证书校验错误:

bat 复制代码
curl https://chatgpt.com/backend-api/codex/responses

报错示例:

text 复制代码
curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - 证书链是由不受信任的颁发机构颁发的。

这类现象说明,Codex CLI 表面上是"流式响应中断",但底层更可能是 HTTPS/TLS 证书链校验失败,而不是单纯的账号权限或额度问题。

二、相关背景

Codex CLI 官方安装方式是通过 npm 安装 @openai/codex,首次运行时会提示登录。CLI 默认可通过浏览器完成 ChatGPT 登录,也支持 API Key 登录。官方文档还说明,CLI 会缓存登录态,后续启动时复用本地认证信息。([OpenAI开发者][1])

另外,OpenAI 官方说明当前 ChatGPT Plus、Pro、Business、Edu 和 Enterprise 计划都包含 Codex 访问,因此"已经开通 Plus 但 CLI 突然报错"并不必然意味着套餐权限缺失。([OpenAI开发者][2])

三、问题初步判断

本次排障中,最关键的判断链路如下:

1. 先排除"套餐/权限问题"

因为用户已经升级到 Plus,而官方文档明确说明 Plus 计划包含 Codex,所以问题优先级不应放在"没有资格使用 Codex"上。([OpenAI开发者][2])

2. 再看 CLI 的网络错误表现

curl 直接访问 chatgpt.com 相关地址时,报出:

text 复制代码
SEC_E_UNTRUSTED_ROOT

这是 Windows Schannel 的典型报错,含义是:

系统在校验证书链时,发现根证书不受信任,或本机无法正确构建信任链。

由于 Windows 下很多命令行 HTTPS 请求会依赖系统证书库,因此这类问题会直接影响 Codex CLI 与 OpenAI 服务的 TLS 握手。

3. 浏览器证书查看结果正常

随后在浏览器里查看 chatgpt.com 证书,看到的是 Let's Encrypt 链路,而不是 360、企业代理或其他中间人证书。这说明站点本身的公网证书大概率没有问题,更像是 本机 Windows 根证书库或证书链缓存异常

4. 后续 curl -I https://chatgpt.com 返回 403

之后再次执行:

bat 复制代码
curl -I https://chatgpt.com

拿到了 HTTP 403 且响应头中带有 Cloudflare challenge 标识。这个结果说明当时 TLS 握手已经能成功完成,只是被 Cloudflare 当作非浏览器请求做了挑战拦截。也就是说,到了这一步,证书层面已经不再是硬阻塞问题。

四、根因分析

本次问题的根因可以总结为:

Windows 本机根证书库/信任链异常,导致命令行环境在校验 chatgpt.com 的 HTTPS 证书链时失败,进而让 Codex CLI 底层请求异常,最终表现为 stream disconnected before completion

由于 Codex CLI 需要通过 HTTPS 与 OpenAI/ChatGPT 相关服务通信,而登录态与请求流程都依赖正常的 TLS 信任链,所以一旦系统根证书库不完整、过旧、损坏,或者链构建异常,就会导致 CLI 无法稳定完成请求。官方文档也说明 Codex CLI 在首次运行时会走浏览器登录流程,并缓存登录态;如果底层网络与 TLS 不正常,CLI 的认证和请求流程都会受影响。([OpenAI开发者][3])

五、实际排查过程

步骤 1:确认是否为证书问题

执行:

bat 复制代码
curl https://chatgpt.com/backend-api/codex/responses

如果看到类似下面的错误:

text 复制代码
schannel: SEC_E_UNTRUSTED_ROOT

则优先怀疑系统证书链,而不是 Codex 套餐、登录态或 CLI 指令本身。

步骤 2:查看浏览器中的站点证书

在浏览器打开 https://chatgpt.com,查看证书颁发者。

本次看到的结果为 Let's Encrypt 正常链路,这说明:

  • 不是明显的企业代理改签证书
  • 不是 360/Fiddler/Charles 之类的中间人证书
  • 更像是 Windows 命令行环境的信任链问题

步骤 3:再次验证 HTTPS 联通性

执行:

bat 复制代码
curl -I https://chatgpt.com

如果拿到的是 HTTP 响应头,而不是 TLS 错误,说明握手已经恢复。 本次返回的是 Cloudflare 的 403 challenge,这属于后续访问策略层的问题,不再是根证书完全不信任的状态。

六、关键修复方案

本次真正解决问题的关键命令是:

bat 复制代码
certutil -generateSSTFromWU roots.sst
certutil -addstore -f Root roots.sst

作用说明

第一条命令:

bat 复制代码
certutil -generateSSTFromWU roots.sst

作用是从 Windows Update 生成最新的根证书集合文件。

第二条命令:

bat 复制代码
certutil -addstore -f Root roots.sst

作用是将该根证书集合强制导入到本机的 Root 根证书库中。

执行完这两步后,Windows 对公网 HTTPS 证书链的信任能力恢复,Codex CLI 底层请求也随之恢复正常。

七、修复后的结论

修复成功后,可以得出以下结论:

  1. 这次问题 不是 ChatGPT Plus 权限未生效。官方文档明确说明 Plus 计划包含 Codex。([OpenAI开发者][2])
  2. 这次问题 不是 Codex CLI 本身逻辑坏掉。
  3. 这次问题 不是 chatgpt.com 的公网证书本身错误。
  4. 真正的根因是 Windows 本机根证书库/信任链异常
  5. 真正有效的修复动作是 更新 Windows 根证书库

八、建议的标准排障模板

以后如果再遇到 Codex CLI 类似报错,可以直接按下面顺序排查。

1. 先确认 CLI 与登录方式

Codex CLI 官方支持通过 ChatGPT 登录或 API Key 登录,首次运行会拉起浏览器完成认证。([OpenAI开发者][3])

可执行:

bat 复制代码
codex login status

或重新登录:

bat 复制代码
codex logout
codex login

2. 检查 HTTPS 基础联通性

bat 复制代码
curl -I https://chatgpt.com

如果这里就报 TLS/证书错误,优先处理系统网络信任问题。

3. 重点关注这些关键词

如果报错里出现以下字样,应优先怀疑证书链而不是业务权限:

  • SEC_E_UNTRUSTED_ROOT
  • schannel
  • certificate
  • SSL
  • TLS
  • unable to get local issuer certificate

4. 直接刷新 Windows 根证书

bat 复制代码
certutil -generateSSTFromWU roots.sst
certutil -addstore -f Root roots.sst

5. 再次验证

bat 复制代码
curl -I https://chatgpt.com
codex "hello world"

九、经验总结

这次排障最核心的一句话是:

Codex CLI 的 stream disconnected before completion 只是表象,底层根因是 Windows 根证书库异常导致 HTTPS 证书链校验失败;更新根证书后,TLS 信任恢复,Codex CLI 也随之恢复正常。

对于这类问题,排障时不要一开始就把注意力放在:

  • Plus 是否生效
  • Codex 是否没额度
  • 指令是否写错

更高效的思路是先判断:

  1. 本机是否能正常完成 HTTPS/TLS 握手
  2. 系统证书库是否可信
  3. 浏览器与命令行环境是否存在差异
  4. 是否有安全软件、代理、抓包工具影响系统证书链
相关推荐
LaughingZhu19 小时前
Product Hunt 每日热榜 | 2026-03-28
数据库·人工智能·经验分享·神经网络·chatgpt
Jay叶湘伦20 小时前
【极简】用 Vue 写一个 ChatGPT 前端应用,支持连续对话、Markdown 渲染与本地记忆
前端·vue.js·chatgpt
balmtv20 小时前
从“知识检索”到“深度推理”:Gemini 3.1如何用三层思考模式解决学术难题
人工智能·gpt·chatgpt
刘大大Leo1 天前
大模型、Prompt、Skill、MCP、Agent、OpenClaw啥关系?使用AI效率提升10倍的秘诀
人工智能·chatgpt·prompt
蓝色的杯子1 天前
免费体验GPT5.4效果
python·chatgpt
AI英德西牛仔2 天前
AI复制的文字带星号
人工智能·ai·chatgpt·豆包·deepseek·ds随心转
极客老王说Agent2 天前
别被OpenClaw的30万Star晃了眼!AI产业逻辑重写后,打工人更该看清谁在“真干活”
人工智能·ai·chatgpt
Bruce20489982 天前
OpenClaw 零基础全解析(小白友好版)
人工智能·chatgpt
Agent产品评测局2 天前
企业 AI Agent 落地,如何保障数据安全与合规?——企业级智能体安全架构与合规路径深度盘点
人工智能·安全·ai·chatgpt·安全架构
abigale032 天前
从零实现 AI 聊天助手:可直接复用的前端核心方案
chatgpt·vue·流式输出