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. 是否有安全软件、代理、抓包工具影响系统证书链
相关推荐
不爱记笔记1 天前
GPT-5.6 Sol 真实项目实测!Bug修复、UI重构与帆船游戏复刻
人工智能·gpt·ui·chatgpt·bug·openai
程序员天天困2 天前
GPT-5.6 来了!三款模型、Ultra 模式、编程能力全面解析
人工智能·chatgpt
卡卡罗特AI2 天前
ChatGPT 5.6模型终于发布!然而Codex被夺舍了!
chatgpt·ai编程
跨境观察员小周2 天前
如何使用Chat GPT进行爬虫?2026年最新教程
爬虫·gpt·chatgpt
lkshop2 天前
跨境电商 GEO 实战:如何让独立站被 AI 搜索优先推荐
人工智能·chatgpt·geo
行走的陀螺仪3 天前
深入理解 Agent Loop(一):从 Agent 爆发到传统 LLM 的局限
人工智能·chatgpt·agent
147API3 天前
OpenAI工作区Agent计费后,技术团队要补一张成本观测表
人工智能·chatgpt·openai
love530love3 天前
GPT + Codex CLI + CodexPro 三位一体:AI 编程协作工作流
人工智能·windows·gpt·chatgpt·devops·mcp
love530love3 天前
ChatGPT 与 Codex 协同:AGENTS、.agents 与 Handoff 工程配置
人工智能·windows·chatgpt
Java小白笔记4 天前
Codex config.toml配置实战指南
人工智能·算法·chatgpt·ai编程·集成学习