ChatGPT 可以正常聊天,但一打开 Codex 就反复显示“正在重新连接”、任务无法开始,或者出现 stream disconnected before completion、failed to send request,这和“ChatGPT 整个页面都打不开”不是同一种故障。
在 Windows 上,一个常见排查方向是:以前使用过的代理客户端把 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY 留在了用户环境变量里,但变量里的本地端口已经和当前客户端不一致。ChatGPT 的普通聊天界面可能还能使用,Codex 的长连接或后台请求却仍被送到一个已经失效的本地端口。
- ChatGPT 普通聊天正常,只有 Codex 连接不上;
- Codex 一直重连,重新运行任务仍然失败;
- 电脑曾经使用过其他代理客户端或更换过本地端口;
- 关闭 ChatGPT 窗口后重新打开,问题仍然存在。
先确认:这是 Codex 单独连接失败
先不要急着修改环境变量,用一分钟区分故障范围:
- 在 ChatGPT 中发送一条普通消息,确认聊天能够正常返回;
- 打开 Codex,新建一个简单任务,观察是否持续重连;
- 用浏览器打开一个常用海外网站,确认基础网络已经连通;
- 记录 Codex 页面上出现的完整错误文字。
如果 ChatGPT、浏览器和其他海外网站都打不开,应先阅读ChatGPT 打不开排查教程。只有“ChatGPT 能用、Codex 单独失败”时,才继续检查下面的代理端口。
第一步:保持客户端连接并确认代理模式
先保持当前网络客户端处于连接状态。如果客户端同时提供智能分流和全局加速,可以先用全局加速做一次排除测试;如果更换过节点,等连接状态稳定后再启动 ChatGPT。

如果当前没有可切换节点、支持智能分流和全局加速的客户端,可以先下载自如云联 Windows 客户端,完成连接后再继续检查 Codex。
前往 ziru.us 下载客户端第二步:检查 Windows 用户环境变量
- 按 Windows 键,搜索并打开“编辑系统环境变量”;
- 在“系统属性”的“高级”页面点击“环境变量”;
- 先查看上半部分的“用户变量”;
- 依次寻找
HTTP_PROXY、HTTPS_PROXY和ALL_PROXY; - 修改前记下原值,确认它们是否仍指向旧客户端或旧端口。
Microsoft 对 Windows 环境变量的说明指出,新进程会从父进程取得一份环境变量副本。因此,变量修改后必须让应用真正退出并重新启动,已经运行的后台进程不会自动获得新值。可以参考 Microsoft 用户环境变量说明。
第三步:把旧代理端口改成当前端口
如果你看到下面这种旧值:
HTTP_PROXY=http://127.0.0.1:7897
HTTPS_PROXY=http://127.0.0.1:7897
而当前客户端实际使用的 HTTP 代理端口是 7890,可以将两个变量改为:
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
不要看到教程就直接照抄 7890。 本地端口由客户端和版本决定,应先在当前客户端的设置页面确认 HTTP 代理端口,再把环境变量改成相同的值。如果变量不存在,也不要为了尝试而盲目新建。
如果还存在 ALL_PROXY,也要检查它是否指向已经关闭的旧端口,或者仍使用另一个 SOCKS 代理。OpenAI 的 Codex 手册说明,Codex 的网络机制可以使用来自环境的上游代理;OpenAI Codex 仓库中也有 Windows 用户报告 HTTP、HTTPS 与 SOCKS 代理设置不一致时出现连接异常。后者是社区问题记录,不代表所有电脑都会出现相同结果。
第四步:彻底退出 ChatGPT,再重新打开
只点击窗口右上角关闭按钮,ChatGPT 可能仍在后台运行。正确做法是:
- 保存环境变量设置;
- 在 Windows 任务栏右下角找到 ChatGPT 图标;
- 右键选择退出,确认后台进程已经结束;
- 重新打开 ChatGPT;
- 进入 Codex,新建一个简单任务测试连接。
如果任务能够正常开始,说明旧环境变量或旧端口很可能就是主要原因。如果仍然失败,再继续下面的检查,不要反复改动多个设置而不记录结果。
修改端口后仍然连接不上怎么办?
1. 切换一个稳定节点
在客户端中切换一个可用节点,等待连接稳定后,再次彻底退出并重启 ChatGPT。不要一口气连续切换十几个节点,否则很难判断哪一步真正有效。
2. 检查是否同时运行多个代理工具
如果 Clash、v2rayN、浏览器代理扩展和其他客户端同时运行,它们可能分别占用不同端口。排查时只保留一个当前需要使用的客户端。
3. 检查 OpenAI 服务状态
如果同一时间很多用户都出现 Codex 任务失败,应查看 OpenAI 官方状态页。服务端故障不能靠修改本地端口解决。
4. 区分“Codex 连不上”和“命令不能联网”
如果 Codex 能正常回复,但它运行的命令无法访问互联网,问题可能是 Codex 的沙箱网络权限,而不是 ChatGPT 到 Codex 的连接。OpenAI 的 Codex 网络访问说明将命令和子进程的网络权限单独管理,这种情况应检查当前任务权限与网络配置。
常见问题
HTTP_PROXY 和 HTTPS_PROXY 都要改吗?
如果两个变量原本都存在并指向同一个旧客户端,通常应一起核对,避免 HTTP 和 HTTPS 请求走向不同端口。但不要为了“看起来完整”而创建当前客户端并不需要的变量。
Codex 必须使用 7890 端口吗?
不是。7890 只是常见示例。应以当前客户端实际显示的 HTTP 代理端口为准。
修改后需要重启电脑吗?
多数情况下,彻底退出 ChatGPT 后重新打开即可。如果后台进程没有真正结束,或者 ChatGPT 随系统启动后一直没有重载环境变量,再考虑注销 Windows 或重启电脑。
这个方法能解决所有 Codex 错误吗?
不能。账号验证、OpenAI 服务故障、防火墙、WebSocket 限制、沙箱网络权限和客户端自身问题都可能造成连接失败。本文只处理“旧代理变量或旧本地端口”这一类问题。
总结:先对齐端口,再彻底重启
ChatGPT 能用但 Codex 连接不上时,可以按照下面顺序处理:
- 确认只有 Codex 失败;
- 保持客户端连接并确认代理模式;
- 检查
HTTP_PROXY、HTTPS_PROXY和ALL_PROXY; - 把旧端口改成当前客户端真实端口;
- 从系统托盘彻底退出 ChatGPT;
- 重新打开并运行一个新的 Codex 任务;
- 仍失败时再检查节点、重复代理、OpenAI 状态和任务网络权限。
如果你需要一个可以切换节点、提供智能分流与全局加速的 Windows 客户端,可以前往 ziru.us 下载自如云联客户端,连接后再按本文步骤检查环境变量。
