codex连接超时主因是本地防火墙拦截node.js出站请求、1455端口被系统排除或代理未被cli识别;需同时配置入站/出站防火墙规则、释放1455端口、验证代理监听与服务响应,并可通过图形界面完成首次登录复用token规避回调。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex连接超时往往不是网络慢或服务器远,而是本地防火墙直接切断了出站请求——Node.js进程被默认拦截、回调端口1455被系统排除、代理未被CLI识别,三者任一成立都会让连接卡在TCP握手阶段,最终触发ETIMEDOUT或os error 10013。
确认Node.js是否被防火墙拦死
以管理员身份打开PowerShell,执行:Get-NetFirewallApplicationFilter | Where-Object { $_.Program -like "*node.exe*" } | Get-NetFirewallRule。如果返回空,说明node.exe完全没被放行。
必须同时添加入站和出站规则:右键“Windows Defender 防火墙”→“高级设置”→左侧选“出站规则”→右侧点“新建规则”→选“程序”→浏览到C:\Program Files\nodejs\node.exe→允许连接→应用到所有配置文件。
【关键前提】仅开一个方向会导致TLS握手失败,必须双方向都放行。
检查1455端口是否被系统占用
Codex登录时依赖localhost:1455启动回调服务,但Windows系统可能将该端口列入排除范围。
在管理员PowerShell中运行:netsh interface ipv4 show excludedportrange protocol=tcp,重点查找1359–1458区间。
若1455在此区间内,立即执行:net stop winnat → net start winnat。重启WinNAT后无需重启电脑,直接重试登录即可生效。
验证代理链路是否真实贯通
方法一:确认代理端口监听状态
执行netstat -ano | findstr :7890,看到127.0.0.1:7890且状态为LISTENING,说明Clash/Quantumult等工具已正常工作。
方法二:用curl探测本地服务响应
执行curl -v http://localhost:1455/,返回200或404表示端口通、服务在跑;返回Connection refused说明服务根本没起来。
【注意】别用Edge或Firefox访问回调链接——它们可能因安全策略自动拦截localhost请求,Chrome最可靠。
绕过拦截的临时方案
第一步:在Windows桌面环境成功登录Codex
确保当前是带图形界面的Windows系统(非WSL/远程服务器),用PowerShell执行codex login,完整走完浏览器授权流程,直到看到“Login successful”提示。
第二步:复用已有登录态
后续所有CLI命令将跳过登录环节,直接读取本地token,彻底避开端口监听与回调环节。











