codex连接超时是客户端30秒未收到响应主动中止所致,国内用户高频出现;可通过延长mcp启动超时至60秒、禁用websocket改用http协议、验证代理链路及增加请求与流式超时阈值解决。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex连接超时不是网络彻底断开,而是客户端在30秒内没收到服务端响应就主动中止,导致命令卡死、对话中断、反复显示“reconnecting”,国内用户尤其高频出现。
延长MCP服务启动超时时间
第一步:打开Codex配置文件config.toml,路径通常为~/.codex/config.toml(Windows为C:\Users\用户名\.codex\config.toml)。
第二步:在文件末尾新增以下配置块:
[mcp_servers.codex_apps]
startup_timeout_sec = 60
【必须加在[mcp_servers]下级,不能嵌套在其他段落里】若已有同名段落,直接修改数值即可。默认30秒对国内代理链路明显不足,60秒可覆盖TLS握手+上下文初始化+首chunk返回全过程。
强制禁用WebSocket降级HTTP协议
方法一:修改model_provider配置
在config.toml文件最顶部(任何[xxx]段落之前)写入:
model_provider = "openai_http"
【model_provider必须顶格写,不能缩进,否则解析失败】然后在文件任意空白处添加完整段落:
[model_providers.openai_http]
name = "OpenAI HTTP only"
wire_api = "responses"
supports_websockets = false
方法二:使用环境变量绕过配置文件
在Codex启动前,执行:
export HTTPS_PROXY="http://127.0.0.1:7890"
export HTTP_PROXY="http://127.0.0.1:7890"
这一步只对当前终端会话有效,适合临时验证;若需长期生效,请将两行追加到~/.zshrc或~/.bashrc中并执行source ~/.zshrc。
验证并修正代理链路
① 打开终端,运行:
netstat -ano | findstr :7890(Windows)
或
lsof -i :7890(macOS/Linux)
确认输出中包含LISTENING或LISTEN状态。
② 若无输出,说明代理未监听该端口——请打开你的代理工具(Clash、Stash、Surge等),检查HTTP/Socks5端口设置,确保已启用且端口号与配置一致。
③ 运行测试命令:
curl -x http://127.0.0.1:7890 https://api.openai.com/v1/models -I --max-time 10
只要返回HTTP状态码(如HTTP/2 401或HTTP/2 200),即证明代理链路通畅;若提示Connection refused,说明代理未运行或端口错误。
调整请求超时阈值
执行命令永久延长请求超时:
export CODEX_REQUEST_TIMEOUT=120000
再执行以下命令使其长期生效:
echo 'export CODEX_REQUEST_TIMEOUT=120000' >> ~/.bashrc
source ~/.bashrc
同时增加流式超时,避免长任务被中断:
export CODEX_STREAM_TIMEOUT=180000
验证是否生效:
codex --print "hello" --max-turns 1











