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

Claude Code走红后,许多开发者希望在终端里直接使用AI编程能力。本文从账号准备、Clash Verge安装到终端代理变量配置,讲清楚国内使用时的连接问题与基础排查方法。

开始前先确认:账号、客户端与代理入口

Claude Code 是运行在终端里的 AI 编程工具,使用时需要访问对应的模型服务接口。国内网络环境下,最容易出问题的并不是安装命令本身,而是账号状态、订阅类型、代理链路和终端环境变量没有对应起来。因此,建议先把这四项分别确认,再开始配置。

  • 确认账号或 API 凭据。如果使用网页登录授权,需要准备能够正常登录的账号;如果使用 API 方式,则需要在服务商控制台创建有效的 API Key。两种方式不是一回事,不要把网页登录密码、订阅链接或普通网站登录凭据填进 API Key 变量。
  • 确认客户端版本。本文以 Clash Verge 为例,实际内核通常是 mihomo。不同版本的菜单名称可能略有变化,但核心设置仍然是配置订阅、选择代理模式、确认混合端口。
  • 确认节点可用。浏览器能打开网页,不代表终端里的 Claude Code 一定能连接。节点需要支持稳定的 HTTPS 连接,并且当前策略组确实能访问目标服务。
  • 确认代理端口。Clash Verge 常见的混合端口是 78907897,但不要直接照抄。应在 Clash Verge 的设置或首页端口区域查看实际值。

先保护好凭据

API Key、登录令牌和订阅链接都属于敏感信息。不要把它们写进公开代码仓库、截图、终端录屏或团队共享文档。配置环境变量时,示例值应使用明显虚构的占位符,例如 sk-example-not-real;发现凭据泄露后,应立即在对应控制台撤销并重新生成。

还要注意服务条款和当地网络规定。Clash Verge 只是本地代理客户端,不会自动提供账号、模型额度或网络服务;它负责按照配置把应用流量转发到选定的节点。能否使用 Claude Code,最终取决于账号资格、服务可用性、节点质量以及当前网络环境。

安装 Clash Verge 并导入配置

在 Windows 或 macOS 上,建议从本站前往下载页面选择对应平台的客户端。下载后按系统提示完成安装,首次启动时重点关注权限请求和内核状态。若客户端界面能够显示配置列表、代理节点和连接日志,说明基础组件已经正常加载。

Windows 配置要点

Windows 安装完成后,Clash Verge 通常会驻留在系统托盘。首次启动如果弹出防火墙提示,应根据实际使用场景允许客户端访问网络;如果后续要启用 TUN,还需要安装服务模式或允许客户端获取管理员权限。只使用终端 HTTP 代理时,通常不必一开始就启用 TUN,先把普通代理链路跑通更容易定位问题。

macOS 配置要点

macOS 首次运行可能要求在“隐私与安全性”中允许打开应用,也可能要求输入密码安装帮助程序。系统代理开关和 TUN 开关属于不同功能:系统代理主要修改系统的 HTTP、HTTPS 代理设置,TUN 则通过虚拟网卡接管更多不遵循系统代理的流量。Claude Code 作为终端程序,最稳妥的方式仍然是显式设置终端代理变量,而不是只依赖图形界面的系统代理。

导入订阅与选择策略组

  1. 复制服务商提供的订阅地址,打开 Clash Verge 的配置或 Profiles 页面,选择从 URL 导入。
  2. 等待配置下载完成后,选中这份配置使其生效,确认节点列表已经出现。
  3. 进入代理页面,选择一个延迟较低、HTTPS 连接稳定的节点或策略组。
  4. 把模式暂时切换为“全局”做连通性测试;测试完成后再切回“规则”模式,避免所有国内流量都经过代理。
  5. 记下混合端口,例如 7890。如果配置更新后端口发生变化,终端变量也要同步修改。

如果订阅导入失败,先不要修改 Claude Code 设置。检查订阅地址是否过期、系统时间是否准确、当前网络是否能下载配置;必要时可以暂时切换另一条可用线路后重新更新。配置已经成功导入但节点全都不可用时,再查看 Clash Verge 的日志,重点关注 DNS 解析失败、TLS 握手失败和连接超时。

终端代理变量:让 Claude Code 使用 Clash

图形客户端能代理浏览器,并不意味着所有命令行程序都会自动使用代理。终端程序是否走 Clash,通常取决于它是否读取 HTTP_PROXYHTTPS_PROXYALL_PROXY 等环境变量。对 Claude Code 这类需要持续发起 HTTPS 请求的工具,优先使用 Clash 的 HTTP 代理入口,配置最简单,也最容易观察日志。

变量推荐示例用途
HTTP_PROXYhttp://127.0.0.1:7890代理 HTTP 请求
HTTPS_PROXYhttp://127.0.0.1:7890通过 HTTP CONNECT 代理 HTTPS 请求
ALL_PROXYhttp://127.0.0.1:7890部分程序使用的通用代理变量
NO_PROXYlocalhost,127.0.0.1让本机地址不经过代理

这里的 7890 只是示例端口,必须换成 Clash Verge 当前显示的混合端口。混合端口可以同时处理 HTTP 和 SOCKS 请求,因此使用 http://127.0.0.1:端口 往往比直接猜测 SOCKS 端口更稳。如果客户端明确提供独立的 SOCKS 端口,也可以把 ALL_PROXY 写成 socks5://127.0.0.1:端口,但 HTTP_PROXY 和 HTTPS_PROXY 仍建议先使用 HTTP 代理形式。

PowerShell 临时配置

Windows 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="localhost,127.0.0.1"

如果使用命令提示符 CMD,写法不同:

set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890
set ALL_PROXY=http://127.0.0.1:7890
set NO_PROXY=localhost,127.0.0.1

macOS 与 Linux 临时配置

在 zsh、bash 等终端中使用 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="localhost,127.0.0.1"

只想让一次命令使用代理,也可以把变量写在命令前面。这样不会影响当前 Shell 后续启动的其他程序:

HTTP_PROXY="http://127.0.0.1:7890" \
HTTPS_PROXY="http://127.0.0.1:7890" \
NO_PROXY="localhost,127.0.0.1" \
claude

如果终端提示找不到 claude,这是安装路径问题,不是 Clash 问题。先确认 Claude Code 已安装并且命令已经加入 PATH,再单独测试代理。Windows 可以使用 where claude,macOS 和 Linux 可以使用 which claude 检查命令位置。

认证方式与首次运行

代理变量配置好后,启动 Claude Code 时通常还要完成认证。具体提示会随版本和账号类型变化,因此不要把某一条旧教程中的全部环境变量原样复制。先根据终端提示选择网页登录授权或 API 凭据方式,再只配置当前方式需要的变量。

  • 网页登录授权。终端可能给出一个登录地址或设备授权流程。浏览器打开授权页面时,应确认浏览器本身也能通过 Clash 访问;授权完成后回到原来的终端窗口,等待程序确认登录状态。
  • API Key 方式。将密钥放入当前 Shell 的环境变量中,变量名以当前 Claude Code 版本的官方说明为准。不要同时设置多个互相冲突的密钥变量,否则程序可能读取到并非预期的凭据。
  • 自定义 API 地址。只有在你明确使用兼容接口或团队网关时,才设置 ANTHROPIC_BASE_URL 等地址变量。地址必须来自可信的服务管理方,不能为了“解决连接问题”随意填写网上找到的中转地址。

认证前可以先在 Clash Verge 的连接日志中观察是否有新的 HTTPS 请求。正常情况下,启动、登录或发送第一条请求时,日志会出现相应的域名连接记录,并显示命中的策略组。如果终端完全没有新日志,说明程序没有使用当前变量,或它采用了不读取这些变量的网络实现,需要检查变量是否在同一个终端会话中生效。

先验证代理,再验证模型

不要一看到 Claude Code 报错就立刻更换 API Key。先用一个普通的 HTTPS 请求验证本地代理端口,再观察 Clash 日志,最后才判断账号、额度或模型权限。把网络层、认证层和服务层分开测试,排查速度会快很多。

连接失败时按层排查

Claude Code 的错误提示有时比较笼统,可能只显示请求失败、连接超时或认证失败。建议按照“Clash 是否运行—端口是否正确—终端是否带变量—节点是否可用—账号是否有效”的顺序排查,不要同时改动多个地方。

  1. 确认 Clash Verge 正在运行。检查系统托盘或菜单栏图标,确认配置已启用、模式不是直连,并且策略组已经选中可用节点。
  2. 确认端口和协议。把终端变量中的端口与 Clash Verge 页面显示值逐字符对照。端口写错时,常见现象是立即出现 connection refused;端口被其他程序占用时,也可能连接到错误服务。
  3. 确认变量在当前窗口生效。PowerShell 可执行 echo $env:HTTPS_PROXY,macOS 和 Linux 可执行 echo $HTTPS_PROXY。如果没有输出,说明变量没有设置到当前会话。
  4. 确认终端请求进入 Clash。启动命令或发起请求时查看 Clash 日志。如果没有任何记录,优先修正环境变量;如果有记录但超时,重点检查节点、DNS 和目标服务连接。
  5. 区分认证错误与网络错误。401、403 一类响应通常更接近账号、密钥、权限或额度问题;连接超时、TLS handshake failed、socket hang up 则更像节点、DNS、代理协议或网络链路问题。
  6. 关闭重复代理。系统 VPN、其他代理软件、终端启动脚本里的旧变量可能与 Clash 叠加。排查时只保留一个代理入口,避免请求被多次转发。
现象优先检查处理方向
终端提示拒绝连接Clash 是否启动、端口是否正确重新查看混合端口,确认客户端正在监听
Clash 没有任何请求日志环境变量是否在当前 Shell 生效重新执行变量命令,再从同一窗口启动
请求超时或 TLS 失败节点质量、DNS、策略组切换节点,暂时用全局模式对照测试
返回未授权或权限不足认证方式、Key、账号权限重新完成对应认证,不要盲目换端口
浏览器正常但终端失败终端是否遵守系统代理显式设置 HTTP_PROXY 与 HTTPS_PROXY

什么时候需要开启 TUN

如果显式设置代理变量后 Claude Code 已经能够正常连接,就没有必要为了“更彻底”而立即开启 TUN。TUN 适合处理不读取代理变量的程序、需要接管 UDP 的应用,或者希望统一接管整机流量的场景;它同时会带来虚拟网卡、路由、DNS 劫持和系统权限等额外变量。启用 TUN 后若出现局域网打不开、虚拟机断网、容器网络异常或 DNS 循环,应先关闭 TUN,用普通终端代理恢复工作,再逐项调整。

日常使用建议保持规则模式,让国内代码托管、包管理镜像和局域网服务按规则直连;只有目标服务无法连接时,才临时切换全局模式验证。测试结束后记得切回规则模式,并关闭不再需要的终端变量或重开一个干净的 Shell,避免后续命令意外继承代理设置。

稳定使用建议:把配置做成可控流程

完成第一次连接后,可以把日常流程固定下来:先启动 Clash Verge 并确认节点,再打开新的终端窗口,设置代理变量,最后启动 Claude Code。不要把真实密钥直接写进项目的配置文件,也不要把包含凭据的 Shell 历史记录同步到公共环境。多人协作时,应通过本地环境变量、系统凭据管理器或团队认可的秘密管理方式保存敏感信息。

当网络突然异常时,先记录三个事实:Clash 当前模式和节点、混合端口是否变化、终端是否出现请求日志。只要这三项信息完整,通常可以迅速判断问题是在客户端、代理链路还是账号服务端。配置订阅后也要定期检查更新结果,避免订阅失效或策略组名称改变导致原本可用的选择失效。

如果你刚接触 Clash Verge,建议先查看教程,了解配置导入、规则模式和 TUN 的区别,再把终端变量加入自己的工作流。需要重新安装客户端或确认平台版本时,可前往下载页面选择对应版本。

下载 Clash 客户端

规则分流需要客户端先接管流量。到下载中心按平台选择客户端,再回到教程完成系统代理或 TUN 接管。

下载Clash