K 机场K
机场推荐 · 选购手册

Claude Code 代理设置:终端里怎么走代理、为什么连不上

一句话回答:Claude Code 代理设置:它读取标准的 HTTPS_PROXY / HTTP_PROXY 环境变量,填本机代理客户端的 HTTP 端口(例如 http://127.0.0.1:7890,以你客户端显示的为准),也可以写进 ~/.claude/settings.json 的 env 里;它不支持 SOCKS 代理。设置后在会话里运行 /status 看 Proxy 一行是否生效。

Claude Code 是 Anthropic 的命令行编程工具,在终端里运行。它的网络设置和浏览器不一样:浏览器读系统代理,Claude Code 读环境变量。所以很多人明明开着代理、浏览器能打开 claude.ai,终端里的 Claude Code 却一直连不上。

本页按 Anthropic 官方文档「Enterprise network configuration」(2026-10-26 查阅)整理,只写文档里写明的做法。账号与地区的要求和网页版一样,见 Claude 怎么用。

Claude Code 代理设置:环境变量

Claude Code 读取标准的代理环境变量。在启动 Claude Code 之前,在终端里执行:

export HTTPS_PROXY=http://127.0.0.1:7890
  • 地址和端口填你本机代理客户端提供的 HTTP 端口或混合端口,在客户端设置里能看到;7890 只是 Clash 系客户端的常见默认值,以你自己的为准。
  • 也可以用 HTTP_PROXY。小写的 https_proxy、http_proxy 同样有效,Claude Code 按 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY 的顺序取第一个设置了的。
  • 不支持 SOCKS 代理。 官方文档写明这一点,填 socks5:// 地址不会生效。
  • 代理地址要带 http:// 前缀。缺了协议前缀、Claude Code 解析不了时,会在启动时报错并指出是哪个变量。

Windows 的 PowerShell 写法是 $env:HTTPS_PROXY="http://127.0.0.1:7890",只对当前窗口有效。

不想走代理的地址,用 NO_PROXY 排除,逗号或空格分隔,例如 NO_PROXY="localhost,127.0.0.1"。

写进 settings.json,一劳永逸

每次开终端都 export 很麻烦,而且有一个坑:官方文档说明,后台运行的任务由一个独立进程承载,它只继承第一个启动它的终端的环境变量。你在 A 窗口设了代理、B 窗口没设,后台任务能不能连上就看运气。

官方建议把这些变量写进 ~/.claude/settings.json 的 env 里:

{
  "env": {
    "HTTPS_PROXY": "http://127.0.0.1:7890",
    "NO_PROXY": "localhost,127.0.0.1"
  }
}

写在这里,所有会话和后台任务都会读到。注意:环境变量只在 Claude Code 启动时读一次,改完要退出重新启动,正在运行的会话不会自动生效。

怎么确认代理生效了

两个办法,都来自官方文档:

  1. 会话里运行 /status:看「Proxy」一行,会显示当前使用的代理地址;地址格式不对时会标注无效并被忽略。
  2. 用 claude --debug 启动:调试日志写在 ~/.claude/debug/ 目录下,能看到证书和代理相关的加载记录。

需要能访问的域名

如果你用分流规则而不是全局代理,规则里要让这些域名走代理。官方文档列出的主要域名:

域名用途
api.anthropic.com模型请求
claude.ai、claude.comclaude.ai 账号登录
platform.claude.com控制台账号登录、令牌刷新(claude.ai 账号登录也需要)
downloads.claude.ai原生安装程序与自动更新
registry.npmjs.org用 npm 安装 Claude Code、安装插件依赖

完整列表以官方文档为准。最省事的做法是给 Claude Code 用全局模式或 TUN 模式,见下一节。

另一种办法:TUN 模式

代理客户端的 TUN 模式会在系统层创建虚拟网卡,接管所有程序的流量,包括终端里的命令行工具。开了 TUN,Claude Code 不用设任何环境变量就能走代理。适合不想折腾环境变量、或者同时还要让 npm、git 等工具走代理的人。原理和开法见 TUN 模式教程。

两种办法选一种就行。同时开着 TUN 又设了 HTTPS_PROXY 也能工作,但出问题时不好判断是哪一层的原因。

Claude Code 连不上:排查顺序

  1. 浏览器能不能打开 claude.ai:不能的话先解决节点和地区问题,见 Claude 怎么用。注意要用日本、新加坡、美国、台湾等支持地区的节点,不要用香港。
  2. /status 里 Proxy 一行有没有值:没有,说明环境变量没传进去,改用 settings.json。
  3. 端口对不对:在代理客户端里核对 HTTP / 混合端口,客户端有没有开启「允许局域网连接」不影响本机。
  4. 是不是填了 SOCKS 地址:换成 HTTP 地址。
  5. 改完有没有重启 Claude Code:环境变量只在启动时读取。
  6. 节点本身:换一个支持地区的节点再试,晚高峰卡顿时优先选专线节点。

选什么机场

Claude Code 一次会话会有大量来回请求,对延迟和稳定性比网页聊天更敏感。挑机场看三点:官网写明 AI 可用;有日本、新加坡、美国等支持地区的节点;晚高峰稳定。名单见 ChatGPT 机场推荐,用来跑 Claude Code 的节点固定一个,不要开自动切换。

同类的命令行和编辑器工具,代理设置见 Codex 代理设置 和 Cursor 代理设置。

常见问题

Claude Code 支持 SOCKS5 代理吗?

不支持。官方文档写明 Claude Code 不支持 SOCKS 代理,要用 HTTP 代理地址,例如本机代理客户端的 HTTP 或混合端口。把 ALL_PROXY 设成 socks5 地址不会生效。

代理端口填多少?

填你本机代理客户端提供的 HTTP 端口或混合端口,在客户端设置里能看到。Clash 系客户端常见的混合端口是 7890,但以你自己客户端显示的为准,填错端口 Claude Code 会连接失败。

在终端里 export 了 HTTPS_PROXY,为什么后台任务还是连不上?

官方文档说明,后台代理由一个独立的进程承载,它继承的是第一个启动它的终端的环境变量。把代理写进 ~/.claude/settings.json 的 env 里,所有会话包括后台任务都会读到。

改了代理,正在运行的会话会生效吗?

不会。官方文档说明 shell 里导出的变量只在启动时读一次,改完要退出 Claude Code 重新启动。

开了 TUN 模式还要设置 HTTPS_PROXY 吗?

一般不需要。TUN 模式在系统层接管流量,Claude Code 的请求会直接经过代理客户端。如果同时设置了 HTTPS_PROXY,流量会先发到本机代理端口,也能工作,但排查时容易混淆,二选一即可。

ChatGPT 机场推荐:本站推荐的 3 家

从 ChatGPT 机场推荐 榜单里取前 3 家,本站主推的合作品牌排在前面(已标注合作);价格以官网为准。

机场主力套餐推荐理由优惠码
星岛梦¥8 / 月 · 60GBAI 工具官网标注可用,具体节点以官网为准nmw888官网 ↗
光速云¥23 / 月 · 148GBAI 工具官网标注可用,具体节点以官网为准AMM官网 ↗
微风网络¥27 / 月 · 200GBAI 工具官网标注可用,具体节点以官网为准flat888官网 ↗