codex连接超时需按故障层级逐项清理:先清除代理环境变量残留,再重置winhttp代理,接着修复根证书并重启,最后验证代理端口监听状态,缺一不可。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex连接超时后重置网络配置,不是简单重启或删配置文件就能解决,必须按真实故障层级逐项清理:先断开异常代理残留、再重置系统级网络协议栈、最后修复证书信任链,否则改完config.toml依然会卡在“Reconnecting”循环里。
清除代理环境变量残留
打开终端,执行以下命令彻底清空可能干扰Codex的代理设置:
Windows PowerShell(非管理员)中运行:$env:HTTP_PROXY="" → $env:HTTPS_PROXY="" → $env:ALL_PROXY=""。
macOS/Linux终端中运行:unset HTTP_PROXY HTTPS_PROXY ALL_PROXY。
【关键前提】这一步必须在启动Codex前执行,否则环境变量会优先于config.toml中的proxy配置生效,导致你改了配置也无效。
重置Windows WinHTTP代理设置
以管理员身份运行PowerShell,执行:
netsh winhttp reset proxy。
这条命令会清除系统级WinHTTP代理策略——Codex CLI底层依赖WinHTTP发起请求,而浏览器或代理工具设置的系统代理不会自动同步到这里,必须手动重置。
执行后无需重启,但后续所有测试必须新开一个管理员PowerShell窗口进行。
修复Windows根证书并重启
证书损坏是超时最隐蔽的原因,跳过此步会导致TLS握手失败,表面是超时,实则是证书验证被静默拒绝。
第一步:清理证书缓存 → certutil -urlcache *delete。
第二步:更新根证书列表 → certutil -generateSSTFromWU roots.sst && certutil -addstore -f Root roots.sst。
第三步:重置网络协议栈 → netsh winsock reset → netsh int ip reset。
【必须重启电脑】这四条命令中任意一条未生效,都会让后续所有网络配置失效;重启不是可选项,而是强制生效条件。
验证本地代理端口是否真正监听
方法一(Windows):在PowerShell中运行 netstat -ano | findstr :7890,确认输出含 LISTENING 状态且PID对应你的代理进程(如Clash、Stash)。
方法二(macOS/Linux):运行 lsof -i :7890,看到类似 node 12345 user 12u IPv6 的行才表示端口就绪。
若无输出,说明代理根本没运行,或设置了「仅允许局域网连接」但未启用该选项——此时Codex发出的请求连代理入口都触达不了,必然超时。
临时禁用TLS证书校验(仅限诊断)
方法一:启动Codex时加参数 → codex --no-verify-ssl。
方法二:设置环境变量 → Windows中执行 $env:NODE_TLS_REJECT_UNAUTHORIZED="0",macOS/Linux中执行 export NODE_TLS_REJECT_UNAUTHORIZED=0。
如果加了这个参数后连接立刻成功,说明问题100%出在证书链上,必须回到“修复Windows根证书”步骤重新执行,不能长期保留该设置。











