codex连接超时主因是默认30秒阈值不匹配国内网络延迟,需延长请求/流式超时至120s/180s、禁用websocket改用http、释放被拦截的1455回调端口并验证代理链路。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

codex连接超时不是网络彻底断开,而是客户端在等待服务端响应时提前放弃——默认30秒阈值在国内代理链路、TLS握手延迟、DNS解析缓慢等常见场景下根本不够用,命令卡在“reconnecting”或直接报Error: Request timeout exceeded 30000ms。
延长请求与流式超时时间
这是最直接有效的修复动作,覆盖约60%的超时场景。
第一步:打开终端,执行以下命令永久延长超时阈值:
echo 'export CODEX_REQUEST_TIMEOUT=120000' >> ~/.zshrc && echo 'export CODEX_STREAM_TIMEOUT=180000' >> ~/.zshrc && source ~/.zshrc
这一步必须写入 shell 配置文件并重载,仅当前终端临时设置(如export CODEX_REQUEST_TIMEOUT=120000)在新开终端后失效。
第二步:验证是否生效,运行:
codex --print "test" --max-turns 1
若不再卡住或报 timeout,说明配置已起效。注意:该设置对所有 codex 命令全局生效,无需每次加--timeout参数。
强制禁用 WebSocket 改用 HTTP 协议
WebSocket 在国内高丢包、高延迟网络中极易触发心跳超时或连接重置,降级为 HTTP 可绕过这一不稳定层。
方法一:修改 config.toml 配置文件
打开 ~/.codex/config.toml(Windows 为 C:\Users\用户名\.codex\config.toml),在文件最顶部(任何 [xxx] 段落之前)插入一行:
model_provider = "openai_http"
注意:这一行必须顶格书写,不能有任何缩进或空格,否则配置解析失败,整个设置无效。
然后在文件任意空白处添加完整段落:
[model_providers.openai_http]name = "OpenAI HTTP only"wire_api = "responses"supports_websockets = false
方法二:使用环境变量临时绕过(适合快速验证)
在运行 codex 前执行:
export CODEX_MODEL_PROVIDER=openai_http
该方式只影响当前终端会话,关闭即失效,不修改配置文件。
检查并释放被系统拦截的本地回调端口
登录流程卡在“登录超时”,大概率是 codex 启动的本地回调服务(默认监听 1455 端口)被 Windows 系统列入排除端口范围,导致浏览器授权后无法回传 code。
① 管理员身份打开 PowerShell,执行:
netsh interface ipv4 show excludedportrange protocol=tcp
② 查看输出中是否包含 1359–1458 区间;若存在,说明 1455 已被系统禁止绑定。
③ 执行以下命令释放端口:
net stop winnat && net start winnat
④ 不需重启电脑,直接重新运行 codex login 即可生效。
验证代理链路是否真正通达 api.openai.com
很多“超时”本质是代理未就绪,而非网络本身问题。
第一步:确认代理进程正在监听你配置的端口
macOS/Linux 执行:lsof -i :7890 | grep LISTEN;Windows 执行:netstat -ano | findstr :7890,输出中必须含 LISTEN 状态。
第二步:用 curl 测试代理能否穿透到目标接口
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,说明代理软件未运行或端口号填错。
第三步:检查环境变量是否正确加载
运行 echo $HTTPS_PROXY(macOS/Linux)或 echo %HTTPS_PROXY%(Windows),确认输出为 http://127.0.0.1:7890(注意是 http,不是 https)。
复用已有 auth.json 文件快速恢复登录态
如果你已在 Windows 图形界面成功登录过 Codex,可跳过全部登录流程,直接迁移认证凭据。
方法一:定位源文件
在已成功登录的 Windows 设备上,打开路径:C:\Users\你的用户名\AppData\Roaming\codex\auth.json
方法二:复制并覆盖
将该文件完整复制,粘贴覆盖到当前出问题设备的 C:\Users\你的用户名\.codex\auth.json(注意是 .codex 文件夹,不是 AppData\Roaming\codex)。
方法三:验证
执行 codex --print "hello",若正常返回结果,说明登录态已生效。











