Claude Code国内怎么用?Clash Verge终端访问配置指南

想在终端里体验Claude Code,却遇到登录失败、请求超时或连接不稳定?本文介绍如何用Clash Verge完成订阅导入、代理模式选择和分流配置,让没有代理经验的开发者也能快速搭建可用环境。

先理解 Claude Code 为什么不会自动使用 Clash

在终端中运行 Claude Code,最容易遇到的误区是:只要 Clash Verge 已经启动,命令行程序就会自动走代理。实际上,Clash Verge 主要通过三种方式接管流量:修改系统代理、提供本地 HTTP/SOCKS 代理端口,以及通过 TUN 虚拟网卡接管更底层的连接。终端里的 Node.js、npm、Git、Python 或 Claude Code 是否使用代理,则取决于它们是否读取系统代理、是否识别代理环境变量,以及当前请求是否被 TUN 接管。

浏览器能够打开网页,不代表 Claude Code 一定可以完成登录。浏览器通常会读取操作系统代理设置,而终端工具可能完全忽略这些设置。即使终端已经设置了代理,也可能因为只配置了 HTTP_PROXY、没有配置 HTTPS_PROXY,或者把 Clash 的控制端口误当成代理端口,导致请求超时、TLS 连接失败或登录页面无法加载。

组件 常见地址或设置 主要作用
Clash Verge 图形客户端 桌面托盘或主窗口 导入订阅、启动内核、切换代理组与模式
HTTP 代理端口 127.0.0.1:7890 供浏览器、终端和支持 HTTP 代理的软件转发请求
SOCKS5 代理端口 常见为 127.0.0.1:7891 供支持 SOCKS5 的应用使用,实际端口以配置为准
控制接口 常见为 127.0.0.1:9090 供客户端管理内核,不是终端代理地址
终端代理变量 HTTPS_PROXY 告诉命令行程序通过哪个 HTTP 代理建立 HTTPS 请求

安装 Clash Verge 并准备可用配置

开始配置前,先在本站的下载中心选择与系统匹配的 Clash Verge 或兼容客户端。Windows 用户要注意系统架构和安装包类型;macOS 用户需要区分 Apple 芯片与 Intel 版本;Linux 用户则应确认桌面环境、文件权限以及是否需要额外配置系统服务。首次启动后,不要立即运行 Claude Code,建议先验证 Clash 内核、订阅和普通 HTTPS 访问是否正常。

导入订阅并启动内核

  1. 打开 Clash Verge,在“配置”“Profiles”或类似的配置列表页面中找到 URL 导入入口。
  2. 粘贴服务提供方给出的 Clash、Clash Meta 或 mihomo 格式订阅链接。
  3. 等待配置下载完成,选择刚刚导入的配置作为当前配置。
  4. 启动内核,确认窗口中的运行状态、日志和本地端口均已出现。
  5. 在代理组中选择一个可以稳定访问目标服务的节点或自动选择策略。

不同版本的 Clash Verge 界面名称可能略有变化,但操作逻辑基本一致:订阅配置负责提供节点与规则,代理模式决定流量如何匹配,代理端口则负责接收本地应用的请求。若订阅导入后显示解析失败,先确认订阅返回的是 Clash YAML,而不是网页、JSON 错误信息或仅包含分享链接的纯文本。关于链接过期、状态码和更新间隔,可参考站内的订阅更新排查方法

检查端口、模式与代理组

打开当前配置或内核信息,重点查看 mixed-portportsocks-portmode。推荐优先使用混合端口,因为它通常同时接受 HTTP 和 SOCKS 请求,终端配置更简单。若配置内容类似下面这样,说明本机 HTTP 代理端口是 7890

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

allow-lan: false 表示只允许本机访问代理端口,适合个人电脑使用。除非确实需要让局域网设备共享代理,否则不建议随意开启局域网监听。若开启 allow-lan: true,还要检查监听地址、防火墙和访问控制,避免把本地代理暴露给不可信设备。

模式方面,建议先使用“规则”模式。这样普通国内网站可以直连,匹配到代理规则的请求则进入代理组,减少不必要的延迟。排障时可以临时切换到“全局”模式,用来判断问题究竟来自规则匹配还是节点连接;测试结束后再切回规则模式。不要把“全局”模式当成解决所有问题的固定方案,因为它可能让 npm 镜像、局域网地址和不需要代理的服务也经过远程节点。

设置 排障阶段建议 稳定使用建议
代理模式 先规则,必要时短暂测试全局 规则模式
本地地址 127.0.0.1 保持仅本机访问
HTTP 端口 以当前 mixed-port 为准 固定记录,避免环境变量写错
代理节点 先选延迟低且日志稳定的节点 使用自动选择或手动固定节点

动手配置:让 Claude Code 使用 Clash Verge

下面是一套适用于本机代理端口为 7890 的通用配置。执行前请在 Clash Verge 中确认端口没有被其他程序占用,并通过日志观察请求是否进入内核。终端代理变量中的协议写成 http://,并不表示只能访问普通 HTTP 网站;HTTPS 请求会通过 HTTP 代理建立 CONNECT 隧道。

Windows PowerShell 配置

在 PowerShell 中,可以先设置当前窗口有效的代理变量:

$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:ALL_PROXY = "http://127.0.0.1:7890"
$env:NO_PROXY = "127.0.0.1,localhost"

这些变量只对当前 PowerShell 窗口及其启动的子进程有效。设置后先用 curl.exe 测试,不要直接把所有问题归咎于 Claude Code:

curl.exe -I https://api.anthropic.com
curl.exe -I https://claude.ai

如果命令返回 HTTP 响应,或者至少能够完成 TLS 握手,说明终端已经能通过 Clash 发起请求。若显示“无法连接到代理”,重点检查端口;若返回超时或连接重置,切换代理节点并查看 Clash 日志;若返回 407 Proxy Authentication Required,说明当前代理端口启用了认证,需要按客户端实际要求填写用户名和密码,不能继续使用无认证地址。

希望每次打开 PowerShell 都自动设置时,可以将变量写入 PowerShell 配置文件,但不建议在共享电脑上无条件全局写入。更稳妥的方式是建立一个专门的启动脚本,用完后清理变量:

Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue
Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinue
Remove-Item Env:ALL_PROXY -ErrorAction SilentlyContinue

macOS 与 Linux 配置

macOS 的 Terminal、iTerm2 以及多数 Linux shell 都可以使用 export 设置环境变量:

export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
export ALL_PROXY="http://127.0.0.1:7890"
export NO_PROXY="127.0.0.1,localhost,::1"

部分程序只读取小写变量,或者在大小写同时存在时优先使用其中一组。为了减少兼容差异,可以同时设置大小写版本:

export http_proxy="$HTTP_PROXY"
export https_proxy="$HTTPS_PROXY"
export all_proxy="$ALL_PROXY"
export no_proxy="$NO_PROXY"

如果确认这套配置长期使用,可以加入 ~/.zshrc~/.bashrc 或其他实际使用的 shell 配置文件,然后重新打开终端。不要把订阅令牌、代理用户名或密码直接写进会同步到公开代码仓库的配置文件。Clash 本机无认证时,上面的地址不包含敏感凭据;如果代理启用了认证,应使用权限受控的本地文件,并避免把完整命令复制到公开日志中。

启动 Claude Code 前的检查顺序

  1. 确认 Clash Verge 内核处于运行状态,当前配置没有红色解析错误。
  2. 确认代理组已经选中实际节点,而不是停留在“DIRECT”或空策略。
  3. 确认 HTTP_PROXYHTTPS_PROXY 都指向 HTTP 或 mixed 代理端口。
  4. 使用 curl 测试基础 HTTPS 连接,并在 Clash 日志中确认请求有记录。
  5. 在同一个终端窗口中启动 Claude Code,观察登录或初始化阶段是否仍然超时。

如果 Claude Code 需要在浏览器中完成授权,浏览器和终端必须尽量使用同一个网络出口。终端能够访问 API,但浏览器回调失败时,应检查浏览器系统代理、默认浏览器设置以及本机回环地址是否被错误地加入代理规则。localhost127.0.0.1 和本地回调端口通常不应经由远程节点转发。

规则分流、TUN 与终端访问的选择

Claude Code 运行期间可能涉及登录页面、API 请求、版本检查、包管理器以及 Git 远程仓库。不同域名不一定由同一条规则处理,因此“网页能打开但 CLI 不稳定”经常与规则集、DNS 或代理模式有关。先使用 Clash Verge 的连接记录观察实际请求,再决定是否需要调整规则,不要一开始就大范围修改订阅。

方案 优点 限制 适用情况
环境变量 范围明确,容易开启和关闭 只对读取变量的程序有效 优先推荐给终端开发工作流
系统代理 浏览器和部分桌面程序可直接使用 命令行工具不一定读取 网页授权与普通桌面应用
TUN 模式 可接管不读取代理变量的程序 需要系统权限,排障范围更大 环境变量无效且程序确实不支持代理时
全局模式 用于快速验证节点和链路 所有流量都可能经过代理 短时间定位规则问题

规则模式下的实用判断

在规则模式下,打开 Clash Verge 的连接或日志页面,启动一次 Claude Code,然后观察请求的域名、策略组和最终节点。如果请求显示为 DIRECT,但目标服务在当前网络环境下无法直连,说明规则没有命中或订阅规则不完整。此时可以暂时切换全局模式复测:全局模式成功而规则模式失败,问题大概率在规则;两种模式都失败,则更应检查节点、DNS、证书和本地端口。

DNS 也会影响终端连接。域名解析到不可达地址、IPv6 路由异常、系统 DNS 被污染或代理规则与 DNS 模式不一致,都可能表现为 API 超时。不要只根据浏览器结果判断,因为浏览器可能启用了独立的安全 DNS。若使用 TUN,可以先保持默认自动路由,确认基础连接后再尝试严格路由、IPv6 开关或 DNS 劫持等高级选项。一次只改变一个参数,便于回滚。

常见失败现象与排查顺序

遇到登录失败或请求超时时,建议保留终端中的完整错误类型和 Clash 日志时间点,但不要公开订阅链接、访问令牌、授权码或完整请求头。把错误分层后,通常比反复更换节点更快找到原因。

可以用下面的命令确认环境变量是否真的存在。输出代理地址时注意不要包含真实账号密码:

echo $HTTPS_PROXY
curl -v --proxy "$HTTPS_PROXY" https://api.anthropic.com

Windows PowerShell 对应写法如下:

echo $env:HTTPS_PROXY
curl.exe -v --proxy "$env:HTTPS_PROXY" https://api.anthropic.com

如果 curl 明确通过 127.0.0.1:7890 建立了连接,而 Claude Code 仍然失败,说明本地 Clash 代理链路基本可用,应转向检查 Claude Code 本身的版本、登录状态、认证流程和服务端返回。若 curl 也无法连接,则先不要修改 Claude Code 配置,继续处理 Clash 节点、规则、DNS 或本机防火墙。

FlClash 下载入口 查看各平台客户端