Claude Code 代理配置与浏览器出口为何不同
排查顺序示意;请结合实际结果核对。

第一步:确认 Claude Code 实际运行在哪里

先在发生问题的终端运行 claude --version,并记录它是 Windows PowerShell、macOS 终端、WSL、容器还是 SSH 远端。浏览器能打开网页,只能证明浏览器这条路径可用。远端进程读取的是远端环境,Windows 上的代理端口也不会自动出现在 WSL 或服务器里。

预期结果是能明确写出“哪个进程、在哪台设备、通过什么入口连接”。如果版本命令本身就找不到程序,先处理安装或 PATH;此时还没有证据说明网络或账号存在问题。

第二步:检查代理变量是否存在,不公开凭据

以下命令只显示变量名及是否设置,不打印代理地址、用户名或密码。在实际运行 Claude Code 的同一终端执行;变量存在不代表代理可连接,也不代表当前应用一定采用它。

PowerShell 的 Set 为 False,或 macOS/WSL 某个名称没有输出,表示当前进程环境中没有该变量。再检查代理客户端是否依靠系统代理、TUN 或应用单独配置,不能仅凭缺少变量就判定没有代理。

Windows PowerShell:只读检查

'HTTPS_PROXY','https_proxy','HTTP_PROXY','http_proxy','NO_PROXY','no_proxy' | ForEach-Object { [pscustomobject]@{Name=$_;Set=[bool][Environment]::GetEnvironmentVariable($_)} }

macOS/WSL:只读检查

for name in HTTPS_PROXY https_proxy HTTP_PROXY http_proxy NO_PROXY no_proxy; do
  if printenv "$name" >/dev/null; then printf "%s=set\n" "$name"; fi
done

第三步:核对协议、端口与生效范围

需要显式代理时,按官方网络文档设置 HTTPS_PROXY 或 HTTP_PROXY,填写客户端真实提供的 HTTP/HTTPS 代理地址。下面使用的端口是占位示例,须替换为自己的配置;不要把 SOCKS 端口直接写成 HTTP 代理。Claude Code 当前官方文档不支持 SOCKS 代理。

只在当前终端设置变量便于回退,不会自动修改系统全局配置。设置后从该终端重新启动 Claude Code;已有进程不一定读取后续变量更改。后台会话或由 Desktop 管理的连接应另查官方文档中的设置作用域,不能套用当前终端的结论。

仅当前 PowerShell 会话;替换端口后使用

$env:HTTPS_PROXY = "http://127.0.0.1:YOUR_HTTP_PORT"
claude

仅当前 macOS/WSL 终端;替换端口后使用

export HTTPS_PROXY="http://127.0.0.1:YOUR_HTTP_PORT"
claude

第四步:区分绕过规则、认证和证书错误

检查 NO_PROXY 是否把目标包含在绕过范围中,同时查看客户端连接记录中的实际目标和策略。若错误明确指向证书链,按组织批准的 CA 配置处理;不要通过关闭 TLS 校验来换取连接成功。检查配置值时只在本机查看,分享截图前遮住代理认证信息。

代理返回的 407、目标接口返回的 401/403、网络超时属于不同层级。只保留错误码还不足以定位问题,应同时记录错误正文、目标域名和运行位置,再进入对应的错误排查章节。

复测记录:一次只改变一个条件

先保存失败时刻、终端类型、Claude Code 版本、变量是否存在和原始错误;修改一项后,在同一终端重复同一请求。预期改善是原错误消失且实际任务能够完成,而不是仅看到某个 IP 变成预期国家。

本页分流检测可补充浏览器探针的目标与出口,但不能代替终端或远端进程的测量。若要公开案例,只分享脱敏的前后差异,不上传 API Key、Authorization、完整会话日志或代理密码。

参考来源与时效

以上为独立诊断与使用说明,未接入 Anthropic 内部风控。政策、界面与支持流程可能更新,按原文生效日期和实际账号可见入口核对。