ChatGPT 能正常聊天,但 Codex 却一直连接不上、反复显示“正在重新连接”,或者出现 failed to send request、stream disconnected、before completion 等错误,这种情况通常不是 ChatGPT 账号本身的问题,而更可能与 Windows 代理设置、代理端口或旧环境变量有关。
尤其是以前使用过 Clash、V2RayN、其他 VPN 或代理客户端的电脑,即使当前 ChatGPT 桌面端可以正常使用,Codex 仍可能读取到旧的 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY 配置,导致请求继续发送到已经失效的本地代理端口。
在 Windows 上,一个常见排查方向是:以前使用过的代理客户端把 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY 留在了用户环境变量里,但变量里的本地端口已经和当前客户端不一致。ChatGPT 的普通聊天界面可能还能使用,Codex 的长连接或后台请求却仍被送到一个已经失效的本地端口。
- ChatGPT 普通聊天正常,只有 Codex 连接不上;
- Codex 一直重连,重新运行任务仍然失败;
- 电脑曾经使用过其他代理客户端或更换过本地端口;
- 关闭 ChatGPT 窗口后重新打开,问题仍然存在。
先确认:这是 Codex 单独连接失败
先不要急着修改环境变量,用一分钟区分故障范围:
- 在 ChatGPT 中发送一条普通消息,确认聊天能够正常返回;
- 打开 Codex,新建一个简单任务,观察是否持续重连;
- 用浏览器打开一个常用海外网站,确认基础网络已经连通;
- 记录 Codex 页面上出现的完整错误文字。
如果 ChatGPT、浏览器和其他海外网站都打不开,应先阅读ChatGPT 打不开排查教程。只有“ChatGPT 能用、Codex 单独失败”时,才继续检查下面的代理端口。

Codex提示Connection Failed: Error Sending Request怎么办?
如果 Codex 提示:
Connection Failed: Error Sending Request
或者出现:
- failed to send request;
- connection failed;
- waiting for network;
- 正在重新连接;
- stream disconnected;
- request failed;
而 ChatGPT 网页版或桌面端仍然可以正常使用,通常说明问题集中在 Codex 自己读取到的代理环境,而不是 ChatGPT 账号本身。
Windows 上最常见的情况是:
- 以前使用过 Clash、V2RayN 或其他代理客户端;
- 系统环境变量里还保留 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY;
- 这些变量仍然指向旧的本地端口,例如 127.0.0.1:7890、10808 等;
- 当前代理客户端已经换了端口,或者原客户端已经关闭;
- Codex 仍然尝试通过旧代理发送请求,于是出现 Connection Failed: Error Sending Request。
建议按照下面顺序检查:
第一步,确认 ChatGPT 本身可以正常访问。
第二步,查看当前代理客户端实际使用的 HTTP / Mixed / SOCKS 端口。
第三步,检查 Windows 用户环境变量和系统环境变量中是否存在:
HTTP_PROXY
HTTPS_PROXY
ALL_PROXY
第四步,如果这些变量仍然指向旧端口,先记录原值,再修改为当前正确代理地址,或者在确认不再需要时删除。
第五步,完全退出 Codex、终端、VS Code 或其他相关程序,再重新打开。
因为很多程序只会在启动时读取环境变量,修改以后如果不重启程序,旧代理配置可能仍然继续生效。
如果删除旧代理变量后仍然出现 Error Sending Request,再继续检查系统代理、WinHTTP代理、防火墙和当前网络环境。
第一步:保持客户端连接并确认代理模式
先保持当前网络客户端处于连接状态。如果客户端同时提供智能分流和全局加速,可以先用全局加速做一次排除测试;如果更换过节点,等连接状态稳定后再启动 ChatGPT。
第二步:检查 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 下载自如云联客户端,连接后再按本文步骤检查环境变量。
