curl 能访问 API,Claude Code 却报 Connection refused
检查 终端里或某个设置文件里是否设了 ANTHROPIC_BASE_URL?
处理 删掉它,或把它指向一个正在运行的网关,然后在新终端里启动 Claude Code。
每条连接报错是什么意思,以及该按什么顺序检查。
| 项目 | 含义 | 先查什么 |
|---|---|---|
| Connection refused(ConnectionRefused、ECONNREFUSED) | 有东西拒绝了连接:防火墙、代理,或者那个地址没有在监听 | 先看有没有残留的 ANTHROPIC_BASE_URL,再看防火墙和代理 |
| Can't reach the API server(ENOTFOUND) | 域名没有解析成功 | 网络和 DNS |
| No internet route(EHOSTUNREACH) | 到那台主机没有路由 | 网络和 VPN |
| Couldn't connect through your proxy(ERR_PROXY_TUNNEL) | 代理拒绝了隧道 | 代理账号密码,以及它是否允许访问 api.anthropic.com |
| Connection dropped(ECONNRESET) | 连接建立后被重置 | 路径上的代理或网关、VPN、不稳定的网络 |
| Request timed out | 没有及时得到回答 | 网络和代理设置 |
| SSL certificate verification failed | 代理或安全设备用 Claude Code 不信任的证书重新签发了流量 | NODE_EXTRA_CA_CERTS |
来源:Claude Code 文档错误参考,2026-11-15 阅读。文档里超时显示为 Request timed out,ETIMEDOUT 按同样办法处理。
1. 网络到不了 api.anthropic.com。可能是没有网络、VPN 拦了这个主机,或者中间有防火墙。Claude Code 对临时失败最多以指数退避重试 10 次,所以你看到报错时,它已经试过了。
2. 必须走的代理没设,或设错了。Claude Code 读取 HTTPS_PROXY 和 HTTP_PROXY,账号密码写在 URL 里,不支持 SOCKS。没有 http:// 前缀的地址会让启动报错,并指出是哪个变量。
3. 残留的 ANTHROPIC_BASE_URL。只要设了它,Claude Code 就把模型请求发到那个地址而不是 api.anthropic.com,所以指向一个已不再运行的本地网关时,即使 curl 能访问 API,也会报 Connection refused。
# 1. Can this shell reach the API host at all? (PowerShell: use curl.exe)
curl -I https://api.anthropic.com
# 2. Through your proxy (replace with your own proxy URL)
curl -x http://LOGIN:PASSWORD@HOST:PORT -I https://api.anthropic.com
# 3. Is a leftover gateway address set? (PowerShell: echo $env:ANTHROPIC_BASE_URL)
echo $ANTHROPIC_BASE_URL
# 4. Set the proxy before you start Claude Code, then check the Proxy row in /status
export HTTPS_PROXY=http://LOGIN:PASSWORD@HOST:PORT
claude仅为示例:把 LOGIN、PASSWORD、HOST、PORT 换成你自己的代理信息,并使用 HTTP 代理,因为 Claude Code 不支持 SOCKS。
在上面的表里找到它。括号里的代码能告诉你是 DNS、被拒绝、被重置、代理隧道还是超时。
在你启动 claude 的那个终端运行 curl -I https://api.anthropic.com。它失败,问题就在网络、VPN 或防火墙,不在 Claude Code。
预期结果 API 主机返回一行 HTTP 状态。
检查终端里和设置文件 env 块里的 ANTHROPIC_BASE_URL。Linux 和 WSL 上看 /etc/resolv.conf 里有没有不可达的 DNS 服务器;macOS 上看有没有残留的 VPN 隧道;退出 Docker 之类的工具以排除它们。
启动 claude 之前设置 HTTPS_PROXY=http://USERNAME:PASSWORD@HOST:PORT,或写进 ~/.claude/settings.json 的 env 块,这样后台代理也能用上。运行 /status,看 Proxy 那一行。
把 NODE_EXTRA_CA_CERTS 指向你所在组织的 CA 证书包。不要设 NODE_TLS_REJECT_UNAUTHORIZED=0,那会关掉证书检查。
首次启动时会检查 api.anthropic.com 和 platform.claude.com,每个探测给 10 秒。网络畅通却一直失败,可能是 Claude Code 在你所在的国家不可用,请先看官方支持的国家和地区。
检查 终端里或某个设置文件里是否设了 ANTHROPIC_BASE_URL?
处理 删掉它,或把它指向一个正在运行的网关,然后在新终端里启动 Claude Code。
检查 账号密码对吗?代理是否允许访问 api.anthropic.com?
处理 到「我的资产」重新复制 USERNAME 和 PASSWORD,启动 claude 前先用 curl -x 测试。
停止条件 测试也失败,带订单号提交工单。
检查 代理 URL 是 socks5:// 开头吗?
处理 Claude Code 不支持 SOCKS:请改用 HTTP 代理。
检查 变量是不是只在终端里 export 了?
处理 把它写进 ~/.claude/settings.json 的 env 块。
检查 ANTHROPIC_BASE_URL 是否指向一个 LLM 网关?
处理 用直接请求测试网关这条路,并检查它接受什么;文档提到要检查的一项是工具搜索字段。
停止条件 只有经过网关才失败,就该修网关。
如果你的网络需要走代理才能到 API,请给 Claude Code 一个 HTTP 代理:打开 Claude 的 AI 订阅 ISP 页面(或静态 ISP 页面),协议选 HTTP,生成后到「我的资产」复制 HOST、PORT、USERNAME 和 PASSWORD 填进 HTTPS_PROXY。然后运行 /status 和上面的 curl 测试。
代理只改变网络出口。Anthropic 关于支持国家和地区的规则对你仍然有效,所以请选 Claude 可用国家里的出口。没有免费试用。资产失效时,带订单号提交工单后补发。
Claude Code 到 API 的 TCP 连接失败或一直没建立。括号里的代码说明失败类型,例如 ECONNREFUSED、ENOTFOUND、ECONNRESET 或超时。
报错里显示为 Connection dropped:连接建立后被重置。请检查路径上的代理或网关、VPN,以及网络是否稳定。
不能。文档写明 Claude Code 不支持 SOCKS 代理。请在 HTTPS_PROXY 里使用 HTTP 代理。
找一找是否残留了 ANTHROPIC_BASE_URL、macOS 上残留的 VPN 隧道、Linux 或 WSL 上不可达的 DNS 服务器,以及只在终端里设了、没写进 settings.json 的变量。
会,临时失败最多以指数退避重试 10 次。证书失败不会重试,因为重试修不好它。
官方文档 · 确认日期:
2026-11-15 阅读:「Unable to connect to API」一节列出带代码的各条报错:ConnectionRefused 或 ECONNREFUSED、ENOTFOUND、EHOSTUNREACH、ERR_PROXY_TUNNEL、ECONNRESET(Connection dropped)和 Request timed out;常见原因是没有网络、VPN 拦截 api.anthropic.com、必须使用的公司代理没有配置;检查办法是在同一个终端运行 curl -I https://api.anthropic.com、看 HTTPS_PROXY、看是否残留了指向已停止网关的 ANTHROPIC_BASE_URL、Linux 和 WSL 上 /etc/resolv.conf 里不可达的 DNS 服务器、macOS 上残留的 VPN 隧道,以及容器运行时;证书失败不会重试,用 NODE_EXTRA_CA_CERTS 解决,不要设 NODE_TLS_REJECT_UNAUTHORIZED=0;临时失败最多以指数退避重试 10 次;首次启动会检查 api.anthropic.com 和 platform.claude.com,每个探测给 10 秒,网络畅通仍失败时,可能是 Claude Code 在你所在的国家不可用。
官方文档 · 确认日期:
2026-11-15 阅读:Claude Code 读取 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY;需要基本认证的代理把账号密码写进 URL(http://username:password@host:port);Claude Code 不支持 SOCKS 代理;无法解析的代理 URL(例如缺少 http:// 前缀)会让启动报错并指出是哪个变量;/status 会显示当前使用的代理;在终端里设置的变量只在启动时读取一次;后台代理应从 ~/.claude/settings.json 的 env 块取得这些变量;该页列出了需要放行的主机,包括 api.anthropic.com、claude.ai 和 platform.claude.com。
产品观察 · 确认日期:
站点产品事实文件,2026-11-15 核对:网关端口 HTTP 2222、SOCKS5 3333;每个静态 IP 在购买时选定一种协议;AI 订阅 ISP 可选 HTTP 或 SOCKS5;资产失效时带订单号提交工单后补发;没有免费试用。
注册账号、充值一次,就能选动态住宅、静态 ISP 或数据中心 IP,几分钟配进你的浏览器。