Claude Code 网络环境配置:终端代理、TUN 模式与节点选择
Claude Code运行在终端里,不会自动使用浏览器的系统代理。本文给出TUN模式与环境变量两种配置方法、Windows/macOS/Linux写法、验证命令,以及fetch failed、ECONNRESET、超时等常见报错的处理。
Claude Code 是 Anthropic 推出的命令行 AI 编程工具。很多用户第一次使用时会遇到这样的情况:浏览器里 Claude 用得好好的,终端里运行 Claude Code 却报错 fetch failed、连接超时,或者一直卡在登录。原因很简单——终端程序不读取系统代理。
为什么浏览器能用、终端不能用
代理客户端的“系统代理”模式,本质是修改系统的代理设置,浏览器会读取这个设置,但大多数命令行程序不会。所以浏览器的流量走了代理,而 Claude Code 的流量直接出去了,自然连不上。
解决思路有两种:TUN 模式(让所有程序都走代理)或环境变量(只让当前终端走代理)。
方法一:开启 TUN 模式(推荐)
TUN 模式会创建一张虚拟网卡,在系统层面接管流量,所有程序都会经过代理,不需要逐个设置。
以 Clash Verge Rev 为例:
- 打开“设置”,在“服务模式”旁点击安装,授予管理员权限;
- 打开“虚拟网卡模式(TUN)”开关;
- 确认代理模式为“规则”,选择美国或日本节点;
- 重新打开终端窗口,运行
claude。
详细说明见 Clash Verge Rev TUN 模式教程。
方法二:设置终端代理环境变量
不想开 TUN 时,可以只为当前终端设置代理。端口号以你的客户端设置为准,Clash Verge Rev 默认混合端口常见为 7897。
macOS / Linux(bash、zsh):
export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897
Windows PowerShell:
$env:HTTPS_PROXY="http://127.0.0.1:7897"
$env:HTTP_PROXY="http://127.0.0.1:7897"
设置后在同一个窗口中运行 Claude Code。想要永久生效,可以把这两行写进 shell 配置文件(如 ~/.zshrc)。
验证代理是否生效
运行下面的命令,如果能返回响应头而不是超时,说明终端已经能通过代理访问 Anthropic:
curl -I https://api.anthropic.com
常见报错与处理
| 报错 | 常见原因 | 处理方法 |
|---|---|---|
| fetch failed | 终端未走代理 | 开启 TUN 或设置环境变量 |
| ECONNRESET | 节点丢包、连接被重置 | 换低丢包的专线节点 |
| 请求超时 | 节点不可用或晚高峰拥堵 | 换节点,避开高倍率拥挤节点 |
| 地区不支持 | 节点在香港等不支持地区 | 换美国或日本节点 |
| 登录回调失败 | 浏览器与终端出口地区不一致 | 两者使用同一节点 |
为 Claude Code 单独准备一个终端配置
如果你不想全局开启 TUN,又嫌每次手动设置环境变量麻烦,可以在 shell 配置文件中写一个简单的函数,例如定义 proxy_on 和 proxy_off 两个命令,分别设置和清除代理变量。需要使用 Claude Code 时先运行 proxy_on,用完再运行 proxy_off,既方便又不影响其他程序访问国内资源。团队协作时,也可以把这段配置写进项目的开发文档,方便新成员快速上手。
公司网络与防火墙
在公司网络中使用时,可能还存在企业防火墙或内部代理。如果开启 TUN 后仍然无法连接,先确认公司网络是否允许连接代理客户端所需的端口,并遵守公司的网络使用规定。必要时与 IT 部门沟通,使用公司批准的方式访问外部开发服务。
节点与机场建议
Claude Code 会建立长时间的连接执行任务,对丢包特别敏感。建议:
- 固定使用一个美国或日本节点,关闭自动切换;
- 优先选择 IEPL / IPLC 专线机场,晚高峰更稳定;
- 节点 IP 尽量干净,避免频繁验证。
本站实测中 极连云、宇宙云 的 Claude 与 Claude Code 表现最稳定。更多内容见 Claude 网络环境完整指南 和 Claude 专题。
常见问题
设置了环境变量为什么还是连不上?
检查三点:端口号是否与客户端一致;是否在设置变量的同一个终端窗口里运行;代理客户端当前节点是否可用。也可以用 curl 加代理访问一个海外网址来验证。
TUN 模式会影响国内网站速度吗?
在规则模式下不会,国内网站仍然直连。只有全局模式才会让所有流量都走代理。