我估计大家在用 Codex 的时候,一定对这个场景并不陌生。
当你打算让 Codex 开始干活的时候。

当你想让 Codex 给出有效指导的时候。

当你想用 Codex 跑任务的时候。

这个 Reconnecting 是神 TM 烦,这到底是啥玩意?
别急,这个 Reconnecting ,有说法的。
一般来说,这个 Reconnecting 的出现,会分为两种情况:
- Codex 没有走代理
- 已经连到服务器,但被服务器拒绝
先说第一种情况,这个大家应该都能理解,毕竟你都用上 Codex 了,肯定能理解咋回事了。
但是这种连不上,它在日志中直接体现的就是**WebSocket 握手超时**。
为什么会这样?因为 Codex Desktop 是一个桌面应用,它不像浏览器那样会自动吃系统代理。它启动的时候,需要显式读取环境变量里的HTTP_PROXY、HTTPS_PROXY这些,才会走代理。如果这些变量没设,它就以为自己能直达,结果就是等半天没响应,只好进入重连循环。
这种情况的处理方式是直接在~/.codex/.env中写入代理变量。
以 Mac 为例,如果你用的是 Clash 或类似工具,常见 HTTP/SOCKS5 混合端口是7890,但每个人的实际端口可能不一样,所以动手前最好先确认一下。你可以直接看代理工具的设置,或者在终端跑一下env | grep -i proxy看看当前 shell 已经用了什么
大家可以直接用我下面的 Prompt ,直接让 Codex 给你加上,如果你 Codex 实在连不上,用其他 Agent 也行。
ini
帮我修复 Codex Desktop 一直 Reconnecting 的问题。
请定位我本机正在使用的代理端口和代理协议,然后创建或更新 ~/.codex/.env,写入以下代理配置。不要写死 7890,请替换成实际端口;如果文件已经存在,保留其他配置。
HTTP_PROXY="http://127.0.0.1:<HTTP 或 mixed 端口>"
HTTPS_PROXY="http://127.0.0.1:<HTTP 或 mixed 端口>"
ALL_PROXY="socks5h://127.0.0.1:<SOCKS5 或 mixed 端口>"
NO_PROXY="localhost,127.0.0.1,::1"
写入后检查配置是否正确,并告诉我需要如何重启 Codex Desktop。
如果你想手搓,那就用编辑器打开(或新建)~/.codex/.env,写入:
到这里,第一种情况基本就解决了。
第二种情况比较隐蔽,也是我自己遇到的。
请求已经到达了服务器,但是服务器把请求给拒了。

为什么会拒?如果你用的是 ChatGPT 账号,而账号开启了多因素认证(MFA),但 Codex 在初次认证时没有走完整的 MFA 流程,服务器就会把后续连接判定为未授权,直接断开。
这其实不是 Codex 的 Bug,而是 OpenAI 的安全策略在起作用:启用了 MFA 之后,一些旧 Session 或者不携带二次验证信息的连接会被强制失效。
Codex Desktop 的登录状态恰好就可能因为缺少 MFA 验证而被踢下去,但又不会像网页端那样弹出二次验证提示,于是就卡在 Reconnecting 这个死循环里。
这种处理方式是
步骤如下:
- 打开 ChatGPT chatgpt.com/。
- 进入 Settings → Security。
- 在 Multi-factor authentication 下启用一种验证方式,例如验证器 App 或 Passkey。
- 完全退出 Codex Desktop:按 Cmd + Q。
别怀疑,官方也是这么说的。


我按照这个教程设置好 MFA,再把 Codex 完全退出重启后,就搞定了。
那个 Reconnecting 的提示再也没有出现过。
速度很快,非常丝滑。
希望这篇文章能帮你和 Reconnecting 彻底说再见。