Claude Code
配置 SOCKS 代理不生效
报错原文
fetch failed / ECONNREFUSED (使用 SOCKS5 代理地址时)
出现场景
把 HTTPS_PROXY 设置成 socks5://127.0.0.1:1080 这样的地址后, Claude Code 依然连不上或报错, 换成 http:// 前缀就正常。
可能原因(按概率)
- Claude Code 官方明确不支持 SOCKS 代理, 只认 HTTP/HTTPS 代理协议
- 很多代理软件默认只开放 SOCKS5 端口, 没有同时开 HTTP 混合端口
修复步骤(从最简单的开始)
- 在代理软件里额外开启一个 HTTP/HTTPS 代理端口(大多数代理客户端如 Clash 系列都支持同时监听 SOCKS 和 HTTP 混合端口)
- 确认实际监听的 HTTP 端口号后设置: export HTTPS_PROXY=http://127.0.0.1:7890 (端口号以代理软件面板显示为准, 而非直接照抄 SOCKS 端口)
- 用 curl -x http://127.0.0.1:7890 -I https://api.anthropic.com 先验证这个 HTTP 端口本身能否正常代理
- 需要跳过代理直连的域名(如内网服务)通过 NO_PROXY 环境变量单独排除
大陆网络环境注记
国内主流代理客户端(Clash 系、V2Ray 系等)通常都提供 HTTP 混合端口选项, 大陆用户配置 Claude Code 时切记不要直接把平时科学上网用的 SOCKS5 地址原样填进 HTTPS_PROXY, 这是最常见的踩坑点。
反复被网络 / 支付 / 限流问题耗时间?国内直连的 API 网关一个 key 通多家模型,绕开这一整类报错。
了解 newapi 网关claude-codesocks代理配置