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. 是否有安全软件、代理、抓包工具影响系统证书链
相关推荐
量子位5 小时前
打败GPT-5.2,嵌入真实工业生产,这个大模型什么来头?
chatgpt·ai编程
月十丶8 小时前
OpenClaw + GPT-5.4,手把手教你无需购买 API 也能上手使用
chatgpt
爱吃的小肥羊3 天前
GPT-5.4 来了,OpenAI 终于急了,操控电脑超越人类,国内怎么用?
chatgpt·openai
小碗细面3 天前
GPT-5.4 深度评测:百万上下文+原生操控电脑,这次真的超越人类了?
chatgpt·ai编程
深藏blue475 天前
GPT-5.3 Instant 重磅上线!2026最新 ChatGPT 告别说教,国内使用与 Plus 升级教程
gpt·chatgpt·openai
Jet450511 天前
玩转ChatGPT:Seedance 2.0制作宣传片(Clip 01)
chatgpt·即梦ai·seedance 2.0
开发者每周简报11 天前
AI 代理的难题:工具调用是怎么升级的
人工智能·程序人生·chatgpt·代理
Youngchatgpt11 天前
ChatGPT Operator:如何使用 OpenAI 的新型计算机人工智能代理
人工智能·chatgpt
Youngchatgpt11 天前
如何在 Excel 中使用 ChatGPT:自动化任务和编写公式
人工智能·chatgpt·自动化·excel