确认卡死需先ctrl+c测试:若无响应且进程cpu为0%、连接established但无数据流动,即为连接层挂起;根本解法是配置read_timeout="30s"强制客户端30秒内超时重试。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex CLI运行卡住时终端光标持续闪烁、无任何输出也无报错,既不退出也不响应输入,这种“假死”状态会中断编码流程,浪费大量等待时间。
确认是否真卡死而非正常流式响应
先按 Ctrl+C 尝试中断当前操作——如果终端立刻返回命令提示符,说明它只是在等待服务端流式响应,尚未真正卡死;如果按了没反应、光标仍闪烁、进程仍在任务管理器中存活,则进入下一步排查。
打开另一个终端窗口,执行 ps aux | grep codex(macOS/Linux)或 tasklist /fi "imagename eq node.exe"(Windows),确认 codex 进程是否处于 S(sleep)或 R(running)状态但 CPU 占用长期为 0%。若 CPU 持续 0% 且无日志输出,基本可判定是连接层挂起,不是模型推理慢。
检查网络连接与服务端可达性
运行 codex --verbose ping(支持该子命令的版本)或手动测试基础连通性:用 curl -v https://api.codex.ai/v1/health(替换为你实际配置的 endpoint)观察是否能建立 TLS 握手并收到 HTTP 200 响应。
若 curl 报 Connection timed out 或卡在 TCP_NODELAY set 阶段,说明网络链路异常;若返回 401/403,则问题在认证层,不属于“卡住”范畴。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
注意:不要用 ping 测试 API 可达性 —— ICMP 通不代表 HTTPS 端口开放,很多企业防火墙会放行 ping 但拦截 443 出站请求,必须用真实 HTTP 请求验证。
定位卡在连接哪一环
第一步:启用完整调试日志
在终端中执行 CODEV_LOG_LEVEL=debug codex --verbose your-command(Linux/macOS)或 set CODEV_LOG_LEVEL=debug && codex --verbose your-command(Windows CMD),观察最后一条有效日志是否停在 POST /responses、waiting for response body 或 connecting to xxx。
第二步:判断卡点类型
① 若日志停在 connecting to 后无后续 → 卡在 DNS 解析或 TCP 三次握手,检查代理设置、hosts 文件、本地 DNS 缓存;
② 若日志显示 connected 但再无输出 → 卡在 TLS 握手或服务端静默丢弃连接,重点查 SSL/TLS 版本兼容性及中间设备策略;
③ 若日志出现 sending request 后消失 → 卡在读取响应阶段,极大概率是 read_timeout 缺失导致无限等待,需立即修改配置。
第三步:验证 TCP 连接状态
在卡住状态下,另开终端执行 lsof -iTCP -n -P | grep codex(macOS/Linux)或 netstat -ano | findstr :443(Windows),查看对应 PID 的连接状态是否为 ESTABLISHED 但 Recv-Q 长期非零(如 >1024 字节),这是典型半开连接特征。
快速修复:一行 read_timeout 配置生效
找到 Codex 配置文件位置:codex config path(CLI 自带命令)或默认路径 ~/.codex/config.toml(Linux/macOS)、%USERPROFILE%\.codex\config.toml(Windows)。
用文本编辑器打开 config.toml,在 [http] 段落下新增一行:read_timeout = "30s"。若无该段落,手动添加:
[http]
read_timeout = "30s"
保存后无需重启终端,下次请求即生效。该配置强制客户端在 30 秒内未收到任何响应字节时主动断开并重试,避免陷入操作系统级 TCP 超时(可能长达 15 分钟)。










