跳到正文
查个机

终端代理

Claude Code 国内使用:代理怎么设

首发 查于 第 1 版阅读约 6 分钟

要点

Claude Code 读标准代理变量 HTTPS_PROXY、HTTP_PROXY、NO_PROXY,不支持 SOCKS,可设在启动它的终端或 ~/.claude/settings.json 的 env 里。用之前先看 Anthropic 的支持地区列表和服务条款,本页只讲代理怎么设、出口怎么确认。

问:设代理之前要先看什么?

短答:先看 Anthropic 的支持地区和服务条款,确认你的使用场景被允许。

Anthropic 公布了一份支持的国家和地区列表,页面写明没列出的国家和地区不受支持;2026-10-13 查看时,中国大陆和香港不在列表上。在不支持的地区使用,与其服务条款不符,账号可能被停用。接口返回地区不支持的报错时,原文含义见 unsupported_country_region_territory;账号被停用的情况见 Claude 封号。本站不提供规避地区限制的办法,下面只讲在允许使用的前提下,终端流量怎么经过你已有的代理、怎么确认出口。

问:Claude Code 读哪些代理变量?

短答:HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY,大小写都认,不支持 SOCKS。

HTTPS_PROXY[环境变量]Claude Code 访问 Anthropic 服务时用的代理地址。① 小写 https_proxy 也认,按 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY 的先后,用排在前面且设了值的那个;② 地址缺 http:// 前缀时,Claude Code 会在启动时报错并指出是哪个变量。参见:NO_PROXY。

NO_PROXY[环境变量]不走代理的地址,逗号或空格分隔都行,写 * 表示全部直连。① 官方文档说明它连本机回环地址的 WebSocket 本来就不进代理,不用为此专门写;② 公司内网的地址放进来。

env 配置块[settings.json]写在 ~/.claude/settings.json 里的环境变量。① 所有会话启动时都会读到;② 后台会话只能靠它拿到代理设置,shell 里 export 的不一定传得过去。

问:具体怎么设?

短答:临时用就在终端里设变量;长期用写进 settings.json。

export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1
claude
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:NO_PROXY    = "localhost,127.0.0.1"
claude

长期写法,编辑 ~/.claude/settings.json(Windows 在 %USERPROFILE%.claude\settings.json),在已有内容里加上 env 一段:

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

7890 请改为你客户端里显示的 HTTP 或混合端口。变量只在启动时读一次,改完要退出 Claude Code 重开。

问:怎么确认已经走代理、出口在哪?

短答:用 /status 看代理有没有被读到,用 debug 日志看细节,再在同一终端取一次出口 IP。

  1. 在 Claude Code 里输入 /status,看 Proxy 一行显示的是不是你填的地址;标 invalid 说明地址写错、已被忽略。
  2. 需要细节时用 claude –debug 启动,日志写在 ~/.claude/debug/ 下面,以会话编号命名。
  3. 在同一个终端里执行 curl https://chageejichang.co/api/chukou(Windows PowerShell 5.1 写 curl.exe),返回的 IP、国家、ASN 就是这个终端经代理后的出口;第三方的 ipinfo.io/json 接口作用相同。出口用于 Claude 时该怎么读,见 Claude IP 检测。
  4. 在代理客户端的连接列表里找 api.anthropic.com 的连接,能看到就说明请求进了代理。

问:哪些域名要和 api.anthropic.com 走同一条路?

短答:官方列了一组 Claude Code 要访问的地址,分流规则里它们应该一起走代理,免得登录和对话从两个出口出去。

域名 用途
api.anthropic.com 模型请求、功能开关、遥测
claude.ai、claude.com claude.ai 账号登录
platform.claude.com Console 账号登录和令牌刷新
downloads.claude.ai 原生安装包、自动更新、插件下载
registry.npmjs.org 用 npm 安装 Claude Code、安装插件依赖
github.com 克隆插件市场和插件

问:Windows、macOS、Linux 有哪些差别?

短答:变量写法、配置文件路径和取出口的命令不同;WSL 里另有本机地址的问题。

项 Windows macOS Linux
当前终端设变量 $env:HTTPS_PROXY = "…" export HTTPS_PROXY=… export HTTPS_PROXY=…
settings.json 位置 %USERPROFILE%\.claude\settings.json ~/.claude/settings.json ~/.claude/settings.json
取出口 IP curl.exe curl curl
特别注意 在 WSL 里运行时,127.0.0.1 指 WSL 自己,要填 Windows 主机地址 — —

问:不用了怎么撤销?

短答:删掉终端变量,再把 settings.json 里 env 下的两项删掉。

unset HTTPS_PROXY NO_PROXY
Remove-Item Env:HTTPS_PROXY, Env:NO_PROXY -ErrorAction SilentlyContinue

settings.json 里删完 env 段后,重启 Claude Code,再用 /status 看 Proxy 一行已经消失。git、Codex 也要走代理时,分别见 git set proxy 和 Codex 代理。

常见问题

Claude Code 能填客户端的 socks5 端口吗?

不能。官方网络配置文档写明 Claude Code 不支持 SOCKS 代理。代理客户端一般同时提供 HTTP 端口或混合端口,填成 http:// 开头的地址即可。

在 shell 里 export 了代理,后台会话却连不上,为什么?

后台会话由一个长期在后台运行的管理进程启动,它继承的是先启动它的那个终端的环境,不一定是你现在这个终端。官方建议把代理变量写进 ~/.claude/settings.json 的 env,所有会话都读得到。

/status 里 Proxy 一行标着 invalid 是什么意思?

Claude Code 解析不了你填的代理地址,已经忽略它。常见原因是漏了 http:// 前缀、端口后多了空格或引号;改好后重新启动 Claude Code 再看。

本页第 (1)
  • :首发

网站地图 · 机场推荐