Claude 专题 · 子页

Claude Code 走代理:环境变量、TUN 模式、npm 安装与报错对照

Claude Code 在终端里运行,不会自动使用浏览器代理。本文介绍 zsh、bash、PowerShell 下设置 HTTPS_PROXY 的方法、TUN 模式、npm 通过代理安装、用 curl 验证连通性以及常见报错处理。

简短回答

Claude Code 需要终端本身能访问 api.anthropic.com。最直接的做法是在终端设置 HTTPS_PROXY 和 HTTP_PROXY 指向本地代理端口,或在代理客户端开启 TUN 模式,并确保出口节点位于 Anthropic 支持地区。

最后更新:作者:梯子Z编辑部5 分钟阅读首发 2026年9月8日

快速步骤 · 5 步

  1. 01
    确认代理端口

    在代理客户端设置中查看本地 HTTP 或混合端口,Clash 系客户端常见默认值为 7890。

  2. 02
    设置环境变量

    在终端中设置 HTTPS_PROXY 与 HTTP_PROXY 指向 http://127.0.0.1:端口,或写入 shell 配置文件长期生效。

  3. 03
    验证连通性

    运行 curl -I https://api.anthropic.com,能返回 HTTP 状态行即说明网络可达。

  4. 04
    安装 Claude Code

    按官方文档安装;若 npm 安装卡住,为 npm 配置代理后重试。

  5. 05
    登录并测试

    在同一终端运行 claude 完成登录,执行一个简单任务确认连接稳定。

为什么 Claude Code 需要单独配置网络

Claude Code 是运行在终端里的编程代理,它通过 HTTPS 持续与 Anthropic 的 API 通信。和浏览器不同,终端程序通常不会读取系统代理设置,所以“网页版能用、Claude Code 连不上”是最常见的情况。解决方法只有两类:给终端设置代理环境变量,或在代理客户端开启 TUN 模式接管全部流量。无论哪种方式,出口节点都必须位于 Anthropic 支持地区,截至 2026 年 10 月,中国大陆和香港不在列表内,以官方列表为准。Claude 整体的地区与节点建议见 Claude 网络环境与使用完整指南。

Claude Code 会访问哪些服务

了解 Claude Code 的网络去向,有助于写分流规则和排查问题。常见的访问对象包括:

用途常见域名说明
模型调用api.anthropic.com每次对话和工具调用都依赖它,是最核心的连接
账号登录与授权claude.ai、claude.com、anthropic.com 等首次登录或重新授权时使用
安装与更新npm 仓库或官方安装源取决于你使用的安装方式

完整且最新的域名清单请以官方网络配置文档为准。使用分流规则时,把 anthropic.com、claude.ai、claude.com 三个域名后缀统一指向同一个支持地区的策略组即可覆盖主要请求。

两种方式怎么选

方式优点缺点适合
环境变量精确可控,只影响当前终端每个终端或 shell 都要配置;部分工具不读取熟悉命令行的开发者
TUN 模式一次开启,所有程序生效需要管理员权限;可能影响局域网或其他 VPN新手、多工具同时使用

两种方式不必同时使用。建议先用环境变量把问题定位清楚,再决定是否长期开启 TUN。

第一步:确认本地代理端口

打开代理客户端的设置页,找到 HTTP 端口或混合端口(Mixed Port)。Clash 系客户端常见的默认混合端口是 7890,下文均以此为例,请替换为你自己客户端里的实际端口。

第二步:设置代理环境变量

macOS / Linux(zsh 或 bash)

临时生效,只对当前终端窗口有效:

export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1

长期生效,写入 shell 配置文件(macOS 默认 zsh 使用 ~/.zshrc,bash 使用 ~/.bashrc):

echo 'export HTTPS_PROXY=http://127.0.0.1:7890' >> ~/.zshrc
echo 'export HTTP_PROXY=http://127.0.0.1:7890' >> ~/.zshrc
source ~/.zshrc

Windows PowerShell

临时生效:

$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:HTTP_PROXY="http://127.0.0.1:7890"

为当前用户长期设置(设置后需重新打开终端):

[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:7890", "User")
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://127.0.0.1:7890", "User")

写入 Claude Code 的配置文件

Claude Code 的 settings.json 支持 env 字段,可以只对 Claude Code 生效,而不影响其他命令。用户级配置文件通常位于 ~/.claude/settings.json:

{
  "env": {
    "HTTPS_PROXY": "http://127.0.0.1:7890",
    "HTTP_PROXY": "http://127.0.0.1:7890"
  }
}

更多终端代理写法(包括 git、npm 等工具)可参考 终端代理设置。

第三步:用 curl 验证连通性

在设置了环境变量的同一个终端里运行:

curl -I https://api.anthropic.com

只要返回 HTTP/2 404 之类的状态行,就说明网络已经可达(直接访问 API 根路径返回 4xx 状态码属于正常现象)。如果长时间无响应或提示 Could not resolve host、Connection timed out,说明请求没有经过代理,或者节点本身不可用。

检查终端的实际出口地区

能连上不等于地区正确。在同一终端中运行:

curl -s https://claude.ai/cdn-cgi/trace | grep loc

输出 loc=US、loc=JP 等说明出口在支持地区;如果是 loc=HK 或 loc=CN,说明终端流量走到了不支持地区的节点,或者根本没有走代理,需要检查分流规则或策略组当前选中的节点。

第四步:通过代理安装 Claude Code

Claude Code 可以通过 npm 安装,官方也提供原生安装方式,具体命令以官方文档为准。npm 安装命令如下:

npm install -g @anthropic-ai/claude-code

如果安装长时间卡住,可以为 npm 单独配置代理:

npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890

不再需要时用 npm config delete proxy 和 npm config delete https-proxy 移除。

第五步:开启 TUN 模式(可选)

如果你不想逐个配置环境变量,或者使用的 IDE、插件不读取环境变量,可以在客户端中开启 TUN 模式。以 Clash Verge Rev 为例,在设置中打开“虚拟网卡模式”,首次开启通常需要授予管理员权限或安装服务组件,详细步骤见 Clash Verge Rev 完整使用教程。开启后,仍需确认 Anthropic 相关域名的分流规则指向受支持地区的节点。

WSL 与 IDE 中的特殊情况

WSL2:在 Windows 的 WSL2 默认网络模式下,Linux 子系统里的 127.0.0.1 指向的是子系统自身,而不是 Windows 主机,因此直接填 http://127.0.0.1:7890 往往连不上。常见的解决方法有两种:一是在 WSL 的网络设置中启用镜像网络模式(mirrored),让子系统与主机共享本地地址;二是把代理地址改为 Windows 主机在虚拟网络中的 IP,并在代理客户端中开启“允许局域网连接”。具体选项以微软 WSL 官方文档为准。

IDE 集成:Claude Code 也可以在 VS Code、JetBrains 等编辑器中使用。编辑器内置终端通常会继承编辑器进程的环境变量;而在 macOS 上从程序坞或启动台打开的编辑器,一般不会读取 ~/.zshrc。遇到“外部终端能用、编辑器里不能用”时,可以从已设置代理的终端里启动编辑器,或改用 settings.json 的 env 字段、TUN 模式。

取消代理:不再需要时,可在终端执行:

unset HTTPS_PROXY HTTP_PROXY NO_PROXY

PowerShell 中使用 Remove-Item Env:HTTPS_PROXY 和 Remove-Item Env:HTTP_PROXY。如果写进了 shell 配置文件或用户环境变量,还需要删除对应的行或条目。

第六步:登录与运行

在已配置代理的终端中进入项目目录,运行 claude。首次使用会引导你登录,通常会打开浏览器完成授权;也可以使用 Anthropic Console 中创建的 API Key。登录完成后,先让它执行一个简单任务(例如解释某个文件),确认连接稳定,再开始大型任务。

常见报错与处理

报错或现象可能原因处理方法
连接超时、ETIMEDOUT终端未走代理,或节点不可用检查环境变量,用 curl 验证;换节点
ECONNREFUSED 127.0.0.1:7890端口写错或代理客户端未运行核对客户端端口,确认客户端已启动
403 或提示地区不支持出口在不支持地区,如香港切换到美国、日本、新加坡或英国节点
证书相关错误公司网络或安全软件做了 HTTPS 解密按官方文档配置自定义 CA,或换网络环境
长任务中途中断节点切换或晚高峰拥堵固定节点,关闭自动测速切换
npm 安装卡住npm 未走代理为 npm 配置 proxy 与 https-proxy

更完整的排查顺序见 Claude Code 网络连接失败怎么办。

请在遵守所在地法律法规与 Anthropic 服务条款的前提下使用以上配置。

常见问题

Q浏览器能打开 Claude,为什么 Claude Code 还是连不上?

浏览器读取的是系统代理,而终端程序通常只读取环境变量。没有设置 HTTPS_PROXY 或开启 TUN 模式时,Claude Code 的请求会直接发出,从而超时或被拒绝。

Q环境变量写哪个端口?

写你本地代理客户端监听的 HTTP 或混合端口。Clash 系客户端常见默认是 7890,但不同客户端和配置可能不同,请在客户端设置中确认。

Q可以用 socks5 地址吗?

官方文档描述的是 HTTP/HTTPS 代理配置。为了减少兼容问题,建议填写 http:// 开头的地址;Clash 的混合端口同时支持 HTTP 与 SOCKS5,可以直接使用。

Q开了 TUN 模式还需要设置环境变量吗?

一般不需要。TUN 模式在系统层面接管流量,终端程序也会经过代理。如果同时设置了环境变量,请确保两者指向同一个客户端,避免重复代理。

Q长任务做到一半断开怎么办?

多数是节点切换或线路波动导致。为 Claude 相关域名固定一个节点,关闭自动测速切换,并尽量避开晚高峰时段运行大型任务。

参考来源

  1. Claude Code 网络与代理配置(官方文档)
  2. Claude Code 安装与快速开始(官方文档)
  3. Anthropic 支持的国家和地区
Esc

热门搜索

    ↑↓ 选择 · Enter 打开 · Esc 关闭打开搜索页