AI 使用指南Codex 使用指南Codex 专题

Codex CLI 代理配置教程:让终端稳定走代理

Codex CLI 运行在终端,默认不使用系统代理。本文给出 bash、zsh 与 PowerShell 的环境变量配置、验证命令、TUN 模式替代方案,以及登录回调失败与长任务断连的处理方法。

直接答案

让 Codex CLI 走代理最直接的方式是在终端设置 HTTPS_PROXY 与 HTTP_PROXY 环境变量,指向本地客户端的混合端口(如 http://127.0.0.1:7897),然后在同一终端运行 codex。如果环境变量在你的环境中不生效,改用 Clash Verge Rev 的 TUN 模式接管全部流量。

目录

Codex CLI 是终端里的命令行程序,与浏览器不同,它不会自动读取系统代理设置。因此在客户端已经开启系统代理的情况下,ChatGPT 网页正常而 codex 命令报连接失败,是最常见的现象。解决方法只有两种:给终端设置 HTTPS_PROXY 与 HTTP_PROXY 环境变量指向本地客户端端口,或者在 Clash Verge Rev 中开启 TUN 模式让所有进程自动走代理。

本文按步骤给出两种方法的配置与验证,并覆盖登录回调、长任务断连等 Codex CLI 特有的问题。Codex 三种形态的整体网络路径见 Codex 网络环境完整指南。

先看结论

方法适用场景注意点
环境变量只想让某个终端走代理,或需要在多套代理间切换每个终端窗口都要生效,子进程需要继承
TUN 模式终端、IDE、Git、Docker 全部走代理需要安装服务模式,关闭系统代理开关

第一步:记下端口,固定节点

在 Clash Verge Rev 的设置页找到混合端口(Mixed Port),常见为 7897 或 7890。这个端口同时支持 HTTP 与 SOCKS5,环境变量里写 http:// 前缀即可。

然后在代理页面把 AI 分组固定到一个节点:美国、日本或新加坡,专线优先。Codex CLI 长任务是流式长连接,自动测速分组在中途切换节点会直接导致断开,务必手动选定。

第二步:设置环境变量

macOS / Linux 的 bash 或 zsh:

export HTTP_PROXY=http://127.0.0.1:7897
export HTTPS_PROXY=http://127.0.0.1:7897
export NO_PROXY=localhost,127.0.0.1,::1

需要长期生效时,把上面几行追加到 ~/.zshrc 或 ~/.bashrc,然后重新打开终端。

Windows PowerShell:

$env:HTTP_PROXY = "http://127.0.0.1:7897"
$env:HTTPS_PROXY = "http://127.0.0.1:7897"
$env:NO_PROXY = "localhost,127.0.0.1"

需要长期生效时写入 PowerShell 配置文件(在终端输入 $PROFILE 可查看路径),或在系统“环境变量”中为当前用户添加同名变量。

关于配置文件:截至 2026 年 9 月,Codex CLI 会在用户主目录下的 .codex 目录中保存配置与登录信息。环境变量是最稳定、跨版本通用的方式,优先使用;如果你使用的版本支持在配置文件中声明代理,请以官方文档中的字段为准,本文不列举具体字段名,以免版本变化后误导。

第三步:验证终端是否走代理

在设置好环境变量的同一个终端窗口执行:

curl -sS https://ipinfo.io/json
curl -sS https://api.openai.com/ -o /dev/null -w "%{http_code}\n"

第一条命令的 country 字段应与你选择的节点地区一致,显示 CN 说明代理未生效。第二条命令返回任意 HTTP 状态码(例如 421 或 404)都说明链路已通,返回 000 表示连接失败。Windows 用户在 PowerShell 中请使用 curl.exe 而不是 curl。

第四步:运行 codex 并登录

在同一终端窗口运行 codex。首次使用会提示登录,流程是打开浏览器完成授权,然后回调到本地终端。这里有两个前提:浏览器与终端使用同一地区的节点;终端已经走了代理。任一条件不满足都会出现浏览器授权成功但终端一直等待的情况。

授权完成后发送一条简单指令测试,正常收到回复即配置完成。

第五步:环境变量不生效时用 TUN 模式

以下场景环境变量经常失效:IDE 内置终端未加载 shell 配置、Windows 下某些工具链不读取变量、Docker 容器或 WSL 中运行。此时直接开启 TUN 模式更省事:

  1. 在 Clash Verge Rev 设置中安装服务模式(需要管理员权限)。
  2. 打开 TUN 模式开关,栈类型保持默认。
  3. 关闭系统代理开关,避免叠加。
  4. 重新打开终端,直接用第三步的 curl 验证,然后运行 codex。

TUN 模式的 DNS 设置、冲突处理与验证方法见 Clash Verge Rev TUN 模式教程。

常见报错

报错原因处理
连接失败 / fetch failed终端未走代理检查环境变量是否在当前窗口生效
登录回调超时浏览器与终端地区不一致两者使用同一节点后重新登录
地区不支持节点不在支持列表切换到美国 / 日本 / 新加坡
任务中途断开节点丢包或自动切换节点固定单个专线节点
407 认证错误本地端口开启了认证客户端中关闭端口认证

更多排查见 Codex 连接失败怎么办。Claude Code 的配置思路与本文几乎相同,可参考 Claude Code 网络环境配置。

总结

  • Codex CLI 不读取系统代理,环境变量与 TUN 模式二选一。
  • 环境变量写 http://127.0.0.1:混合端口,在同一终端用 curl 验证出口 IP 后再运行 codex。
  • 配置文件字段随版本变化,以官方文档为准,环境变量最通用。
  • 登录靠浏览器回调,浏览器与终端必须同地区、同时走代理。
  • 长任务断连看丢包与节点切换,固定单个专线节点是最有效的处理。

常见问题

Codex CLI 有没有自己的代理配置文件?

环境变量是最通用、最不依赖版本的方式,优先使用。截至 2026 年 9 月,Codex CLI 的配置目录位于用户主目录下的 .codex 文件夹,是否支持在配置文件中设置代理以及字段名称随版本变化,请以官方文档为准,不要照搬网上的旧字段。

环境变量设置后运行 codex 仍然报错怎么办?

先确认是在同一个终端窗口设置并运行的,新开窗口不会继承临时变量。再用 curl 验证出口 IP。如果 curl 正常而 codex 报错,通常是节点地区不支持或登录状态失效。

为什么登录时浏览器授权成功,终端却一直等待?

浏览器与终端走的节点地区不一致,或终端未走代理导致回调请求发不出去。让两者使用同一节点,重新执行登录。

IDE 内置终端里环境变量不生效是怎么回事?

IDE 内置终端可能不加载 shell 配置文件,或者 IDE 本身是在设置变量之前启动的。重启 IDE 通常可以解决;仍不行就用 TUN 模式。

搜索文章、品牌、AI 工具、客户端与问题

提示:直接输入 Claude、Codex、IEPL、订阅失败 等关键词。也可以打开 搜索页。