Claude 代理设置:Claude Code、桌面版与 claude.ai
Claude Code 只读取 HTTP 代理变量,不支持 SOCKS。如何让 Claude Code、桌面应用和浏览器走同一个代理,哪些报错能解决,哪些不能。
关键要点
Claude Code 读取 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY,其官方文档写明不支持 SOCKS 代理。
SOCKS5 依然可用:通过本地的 HTTP 入口,或者走隧道,那样根本不需要在程序里设置代理。
桌面应用跟随系统代理设置,浏览器跟随浏览器自己的设置,HTTP/3 只能在隧道里通过。
代理只改变出口地址。账号是否可用取决于 Anthropic 的支持地区政策,而该政策看的是人所在的位置。
快速对比
| 因素 | 浏览器里的 claude.ai | Claude 桌面应用 | Claude Code |
|---|---|---|---|
| 代理在哪里设置 | 浏览器设置或扩展 | 操作系统的代理设置 | HTTPS_PROXY 环境变量 |
| 是否接受 SOCKS5 | 可以,在浏览器里 | Windows 的设置框里不行 | 不支持,文档已写明 |
| 是否接受 HTTP 代理 | 可以 | 可以 | 可以 |
| 带密码的代理 | 浏览器弹窗或扩展 | 可以 | 直接写进地址里 |
| HTTP/3 与 QUIC | 只能在隧道里 | 只能在隧道里 | 不使用 |
| TUN 隧道是否覆盖 | 覆盖 | 覆盖 | 覆盖 |
代理能改变什么,不能改变什么
代理只改变一件事:请求到达时 Anthropic 服务器看到的地址。对一部分问题这就够了,对其余问题毫无作用,所以付钱之前值得先分清。
当问题出在地址上时,代理有用。成千上万人共用的 VPN 出口会招来额外验证并频繁掉线。每晚都变的家庭地址会让每次登录都像换了地方。办公网络只允许流量从一个网关出去。团队需要一个固定的已知地址来跑共用机器。这四种情况需要的都是一个属于自己的地址。
当问题出在账号上时,代理没用。Anthropic 把产品限定在支持的国家和地区名单内,政策写的是人身处何地、机构注册在哪里,而不是数据包从哪个地址来。在不受支持的地区使用 Claude,或者绕开该限制,都是失去账号的理由。代理改变不了这一点,本文也不做这件事。
对已经被封的账号同样无能为力。那条路只有 Anthropic 消息里给出的申诉链接,而不是换个地址。
“代理改变的是请求发出的地址,不会改变 Anthropic 是否让你保住这个账号。把它说成后者的人,卖给你的是封号。”
三个客户端,三套设置
Claude 有三个客户端,它们不共用网络设置。上面的表格是简版,下面是细节。
浏览器里的 claude.ai 跟随浏览器。Windows 上的 Chrome 和 Edge 默认采用系统设置,除非有扩展覆盖,而扩展也是不装额外软件就能喂给它们带密码 SOCKS5 的唯一办法。
桌面应用跟随操作系统。在 Windows 上就是网络设置里的代理框,它要的是带主机和端口的 HTTP 代理,所以 SOCKS5 没法直接填进去。
Claude Code 读取环境变量,文档写得很明确:按 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY 的顺序取第一个有值的。NO_PROXY 里的主机用空格或逗号分隔。本地回环地址永远不走代理,不必写进去。这些值只在启动时读取一次,这也是改了却像没生效的常见原因,改完要重启会话。
# 需要密码的代理,直接写进地址
export HTTPS_PROXY=http://user:[email protected]:8080Claude Code 为什么不收 SOCKS5
文档里只有一句话:Claude Code 不支持 SOCKS 代理。而这恰好是代理最常见的售卖格式,服务商默认给的就是 SOCKS5。
绕过的办法有两个,都不需要换代理。
第一个是本地的 HTTP 入口。本机上有程序监听 127.0.0.1 充当 HTTP 代理,把流量转发到上游的 SOCKS5。Claude Code 看到的是 HTTP 代理,服务商看到的仍是 SOCKS5。在 Proxya Desktop 里这就是一个开关,配方在下面。
第二个是干脆不碰程序的设置。TUN 隧道在程序参与之前就把流量接到虚拟网卡上,Claude Code 照常连接,流量照样从代理出去。不用导出变量,不用重启,连没有代理设置的命令行工具也一并覆盖。
常见报错,哪些换地址能解决
花钱之前先读报错本身。下面这些是把人带到本页的原因,它们的成因并不相同。
App unavailable in region,或者提示 Claude Code 在你的国家可能不可用。这是地区校验,不是网络问题。代理解决不了,用代理去解决恰恰会让账号处于风险之中。
登录时 403。有时是账号,更多时候是中间的网络。先在同一台机器上用普通浏览器打开 claude.ai 再下判断。
ECONNRESET、fetch failed、连接被重置。中间有东西在切断数据流。做过滤的网络会这样,分片大小不对的 VPN 网卡也会这样。这一类问题,一个干净的直连地址确实管用。
长请求超时。网关和代理在模型还在输出时就关掉了连接。能保持空闲连接的代理可以解决,其余的用同一份文档里的超时变量调整。
企业网关后的证书错误。做内容检查的代理会换上自己的证书颁发机构。如果它已在系统信任库里,无需额外设置即可工作,否则用 NODE_EXTRA_CA_CERTS 指向证书文件,再用 CLAUDE_CODE_CERT_STORE 选择信任哪个库。
还有一个让失败显得随机的原因:Claude Code 需要的不只是 api.anthropic.com。文档里还列出了 claude.ai、claude.com、platform.claude.com、sso.claude.com、downloads.claude.ai 和 bridge.claudeusercontent.com 等,另外更新和插件还要 github.com 与 npm 源。只把一个主机放进代理而漏掉其余,登录就会以看似无关的方式失败。
把代理添加一次
Proxya Desktop 是 Windows 和 macOS 上的代理客户端,支持任意服务商的代理,Proxya 账户可选,软件免费。下载安装之后把代理粘进去。
输入框认得服务商常给的格式,包括 host:port:账号:密码 和完整的 socks5:// 地址,剪贴板按钮一次能收下整份列表。「检测」在保存之前先跑一遍,显示地址实际落在哪里、代理的响应有多快,以及 UDP 能否通过。


隧道还是系统代理
两种模式把同样的流量送到同一个代理,区别在于怎么抓住程序。
隧道模式会建立一块虚拟网卡,覆盖一切,包括终端,需要一个小服务,安装时弹一次管理员确认。正是这个模式让 Claude Code 完全不用设置变量就能工作。
系统代理模式把代理写进操作系统的设置,不需要管理员权限。它覆盖会读取该设置的程序,也就是桌面应用和多数浏览器,不覆盖读取环境变量的 Claude Code。
两种模式下程序的选择都一样:所有程序、除所选之外、仅所选。只想让 Claude 走代理,就选「仅所选」并添加程序文件。在 Windows 上桌面应用是 Claude.exe,命令行工具是 claude.exe。「走代理的网站」按域名加入 claude.ai、claude.com 和 anthropic.com,即使发起请求的程序不在名单里,这些域名也会走代理。
旁边还开着别的 VPN 时,请用系统代理模式。两条隧道会争夺路由,路由更细的那条赢,于是隧道可能显示已连接却什么都没走。在 Windows 上,应用连接后会检查流量实际走的是哪块网卡,宁可带着说明断开,也不留下一个名义上的连接。


Claude Code 的两种配方
用隧道则无需任何设置。连接、打开终端、启动 Claude Code。
用系统代理配 SOCKS5,请在设置里打开「本地代理」。应用会监听 127.0.0.1:2080,这个端口同时接受 HTTP 和 SOCKS5,而上游仍然是 SOCKS5。然后把 Claude Code 指向这个本地地址。在我们自己的 ISP 代理上实测,经该端口的请求以代理地址出口,api.anthropic.com 约 1.2 秒返回。
变量在启动时读取,所以要在开会话之前设置。若想让它在重启后仍然生效,把同样的值写进 Claude Code 设置文件的 env 块。
# macOS 与 Linux,在启动 Claude Code 的那个终端里
export HTTPS_PROXY=http://127.0.0.1:2080
export NO_PROXY="localhost,127.0.0.1,::1,*.local"
claude# Windows PowerShell,仅对当前窗口生效
$env:HTTPS_PROXY = "http://127.0.0.1:2080"
$env:NO_PROXY = "localhost,127.0.0.1,::1,*.local"
claude{
"env": {
"HTTPS_PROXY": "http://127.0.0.1:2080",
"NO_PROXY": "localhost,127.0.0.1,::1,*.local"
}
}
与此相关的几个设置
DNS。默认是「由代理解析」,域名解析留在与代理的连接里,不经过你自己的网络服务商。选择 Cloudflare、Google、Quad9 或 AdGuard 则改为经由同一代理的 DNS over HTTPS,在我们的测试中,首次访问新站点会多花大约 0.6 秒。
伪装。与 SOCKS5 或 HTTP 代理之间的连接并不加密,有些网络会从中读出两样东西:握手里的目标地址,以及流内第一个数据包里的站点名称。伪装把两者都切成两个数据包并插入随机的短暂停顿,任何一个都不会完整出现。默认开启。它不是加密,而且我们记录的测试结果来自过滤网络下的 Telegram 和 Instagram,不是 Claude。
Kill Switch。开启期间,不是从隧道网卡发出的流量会被拦截,引擎一旦退出就是断网,而不是悄悄改走直连。仅限 Windows。
IPv6 默认关闭。只有代理确实支持 IPv6 时才打开,否则一半连接会无处可去。
该买哪种代理
这里的要求和一般买代理不同:需要一个不变的地址,位于服务受支持的国家,而且要持有几个月。
ISP 代理,也就是别处所说的静态住宅代理,正好符合。地址注册在互联网服务商名下,整个周期都归你,按代理计费且不限流量,$2.50/个/月 起。每天都要登录的账号,选这一类。
住宅代理通过家庭网络轮换地址,按 GB 计费,$2.40/GB 起。它适合跨多个国家采集数据,不适合保持登录状态,因为地址会在你脚下变动。
机房代理最便宜,也最容易被标为主机托管。放在自有基础设施的服务器上没问题,面向消费级平台则不是好选择。
无论选哪种,都要让地址保持稳定并留在同一个国家。在国家之间跳来跳去既会导致会话失效,也会引来对账号的疑问。
下载以及需要知道的限制
Windows x64 和 Apple 芯片 macOS 的安装包随附 SHA-256 校验值。Windows 安装程序目前还没有签名证书,因此 SmartScreen 会提示发布者未知。先核对校验值,再选择「更多信息」和「仍要运行」。
Kill Switch 仅限 Windows。macOS 版本不支持 Intel 机型。隧道需要安装一次服务并确认管理员提示,系统代理模式什么都不需要。
代理密码和账户会话在磁盘上是加密的,密钥保存在 Windows 凭据管理器或 macOS 钥匙串中,因此把文件夹复制到另一台机器既带不走账户访问权,也带不走代理密码。
常见问题
不支持。文档写明 Claude Code 不支持 SOCKS 代理。它读取 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY,所以 SOCKS5 需要以本地 HTTP 代理的形式提供给它,或者让流量走隧道而不是程序里的代理设置。
HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY,小写形式同样有效。按 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY 的顺序取第一个有值的。密码写进地址,形如 user:password@host:port。这些值只在启动时读取一次,改完请重启会话。
中国大陆不在 Anthropic 的支持国家和地区名单内,香港和澳门同样不在,台湾在名单内。该政策针对的是人实际身处的位置,所以换一个国家的地址并不能让账号变得合规,用它绕开限制仍然是失去账号的理由。本文面向身处受支持地区、需要稳定出口地址的用户。
不能。那是账号层面的地区校验,不是网络故障,而 Anthropic 的支持地区政策看的是人所在的位置。绕开它是失去账号的理由。
如果用代理去绕开地区限制,会,因为被绕开的正是这条限制。在受支持的地区内使用代理,为企业网络或共用机器取得稳定地址,属于普通的网络配置。我们不承诺某个服务会怎样判读某个地址,凡是给你相反承诺的人,都没有真正测量过。
它跟随操作系统的代理设置,所以设置系统代理即可。在 Proxya Desktop 里就是系统代理模式。隧道模式同样覆盖它,而且完全不改动系统设置。
桌面应用和浏览器用系统代理就够。Claude Code 不读它,只读环境变量,所以要么把变量指向本地代理端口,要么使用隧道,隧道覆盖包括终端在内的所有程序。
ISP 代理,也叫静态住宅代理,因为地址在整个周期内保持不变。住宅代理会轮换并按 GB 计费,适合采集数据而非长期保持登录。机房地址最便宜,也最容易被标为主机托管。
软件免费,账户可选。手动添加任意服务商的代理即可使用,全程不必登录。登录之后可以看到你的 Proxya 订单,并在应用内用流量余额生成住宅代理。