Claude Code配合Clash Verge国内访问配置指南

Claude Code配合Clash Verge国内访问配置指南

想在国内使用 Claude Code,却遇到登录失败、请求超时或终端无法联网?本文从 Clash Verge 安装与订阅导入开始,讲解代理模式、分流规则和节点选择,帮助新手快速完成稳定的 Claude Code 访问配置。

先确认使用条件与问题范围

Claude Code 是运行在终端中的开发工具,网络请求路径和浏览器不完全相同。浏览器能够打开相关页面,并不代表终端里的 Claude Code 一定能完成登录、版本检查或 API 请求。最常见的原因是:浏览器读取了系统代理,而终端进程没有读取;或者 Clash Verge 已经启动,但当前配置的规则把 Anthropic 相关域名判定成了直连。

开始配置前,先准备好三个条件。第一,电脑上已经安装 Clash Verge 或 Clash Verge Rev,并且客户端使用的是支持当前配置格式的 mihomo 内核。第二,手里有来源明确、仍在有效期内的 Clash 订阅配置,订阅内容应当包含可用节点和策略组。第三,Claude 账号、Claude Code 的使用资格以及相关服务应符合服务提供方所在地区的条款和当地法律法规。代理工具只能改变网络转发路径,不能绕过账号权限、地区限制或服务端风控。

可以先把问题分成三类,这样不会一上来就修改大量配置:

  • Clash Verge 本身无法联网:订阅更新失败、节点全部超时、代理页没有可用节点,应先处理客户端和订阅问题。
  • 浏览器可以访问,Claude Code 不能访问:通常是终端没有使用代理环境变量,或者终端进程没有被 TUN 模式接管。
  • 能够连接但登录或请求报错:需要查看 Claude Code 的具体错误、Clash 的连接记录、规则命中情况和当前节点质量。
提示:不要把“Clash Verge 界面显示运行中”理解成所有应用都已经走代理。客户端运行只说明内核启动成功,具体流量是否经过代理,还取决于系统代理、TUN 模式、应用行为和规则匹配结果。

安装 Clash Verge 并导入订阅

从可信来源获取与操作系统匹配的 Clash Verge 或 Clash Verge Rev 安装包。首次启动后,先不要急着配置 Claude Code,建议先完成一次基础连通性检查:确认客户端没有端口占用报错,配置页能够正常打开,代理页能看到节点和策略组,日志页没有持续出现内核启动失败或配置解析错误。

导入和检查配置文件

打开 Clash Verge 的配置页或 Profiles 页面,粘贴订阅链接并执行下载。订阅导入成功后,选择这份配置作为当前配置,再点击更新或重新加载。配置文件通常是 YAML 文本,至少应能看到 proxiesproxy-groupsrules 等字段。不同订阅服务商提供的字段结构可能不同,但如果下载结果是一段 HTML 错误页面、登录过期提示或空白内容,客户端自然无法解析成节点列表。

如果导入时报 YAML 格式错误,先在浏览器中直接访问订阅链接,确认返回的确实是配置内容。不要把普通的 Base64 节点订阅、单个协议链接或服务商网页地址直接当作 Clash YAML 使用。订阅格式不兼容时,应使用服务商提供的 Clash Meta 格式链接,或者按照服务商说明完成转换。

配置页还应检查当前配置是否真的被选中。保存多份订阅时,下载成功不等于正在使用;只有被标记为当前配置的文件,才会加载对应的节点、代理组、DNS 和规则。

确认本地代理端口

Claude Code 通过终端启动时,需要知道本机 Clash Verge 正在监听哪个代理端口。常见配置会使用 mixed-port: 7890,但实际端口可能被改成其他数字,因此应以客户端设置页或当前配置文件为准:

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

mixed-port 是同时兼容 HTTP 代理和 SOCKS5 代理的混合端口。配置中如果没有混合端口,而是分别设置了 portsocks-port,就要根据实际协议分别填写终端变量。若 Clash Verge 启动时提示 address already in use,说明端口已经被其他程序占用,需要关闭冲突进程或改用未占用的高位端口,不能只反复重启客户端。

选择代理模式和节点

Claude Code 的访问通常涉及登录页面、账号接口、模型服务接口以及可能的更新或遥测请求。不同请求可能使用不同域名,因此只在浏览器里打开一个页面并不能完整证明 Claude Code 工作正常。建议先在代理页选择一个稳定节点,再逐项验证终端请求,而不是一开始就开启多个接管开关。

优先使用规则模式

Clash 的 rule 模式适合日常使用:国内站点保持直连,匹配代理规则的域名交给代理策略组,未匹配到的请求按照末尾的兜底规则处理。相比全局模式,规则模式对国内网站、局域网服务和开发环境的影响更小。

在代理页中,先找到订阅提供的主策略组,例如名称可能是“Proxy”“节点选择”“手动选择”或“自动选择”。如果策略组类型是 select,需要手动点选一个节点;如果是 url-test,客户端会依据测速结果自动选择,但延迟最低不代表对 Claude 服务的实际稳定性最好。测试时优先选择延迟适中、连续请求不丢失、出口地区稳定的节点。

  • 手动选择型:适合排查问题,因为每次测试使用的节点明确,便于比较。
  • 自动测速型:适合长期使用,但节点切换可能让登录会话或请求表现发生变化。
  • 故障转移型:适合节点经常中断的情况,但要确认备用节点也能访问目标服务。
注意:不要把“延迟低”作为唯一选择标准。测速地址可能与 Claude 服务使用的线路完全不同,最终应以登录、版本检查和实际请求是否稳定为准。

必要时使用 TUN 模式

系统代理依赖应用主动读取操作系统的代理设置,而终端工具是否读取系统代理,取决于它使用的网络库和启动环境。Claude Code 在不同版本、不同操作系统和不同安装方式下,对系统代理的继承行为可能不完全一致。若浏览器正常、终端始终超时,可以先显式设置代理环境变量;如果某些请求仍然绕过代理,再考虑启用 TUN 模式。

TUN 模式通过虚拟网卡和系统路由接管网络层流量,不要求每个应用单独理解代理设置。开启前应确认 Clash Verge 具有所需权限,并检查系统中没有同时运行其他 VPN、虚拟网卡工具或会修改路由表的软件。TUN 与系统代理同时开启时,部分环境可能出现重复接管、回环或 DNS 异常。排查阶段建议一次只启用一种主要接管方式。

tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

上面的字段是 mihomo 常见的 TUN 配置示例,具体是否可用要以当前内核版本和客户端界面支持情况为准。开启 TUN 后,如果所有网络都变慢或国内地址也无法访问,应先关闭 TUN 恢复系统代理,再检查路由、DNS 和绕过列表,不要继续叠加其他配置。

给 Claude Code 配置终端代理

最可控的方式是给启动 Claude Code 的终端设置 HTTP_PROXYHTTPS_PROXY 环境变量。变量值使用 Clash Verge 的本地混合端口,地址通常是 127.0.0.1localhost。下面以常见的 7890 端口为例;如果你的客户端使用其他端口,必须同步替换。

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"
claude

如果使用 SOCKS5 端口,也可以把地址写成 socks5://127.0.0.1:7890,但应确认当前端口确实支持 SOCKS5。某些命令行工具对 ALL_PROXY 的支持方式不同,遇到行为异常时,可以先只保留 HTTP_PROXYHTTPS_PROXY 测试。

想让变量长期生效,可以在 Windows 的系统环境变量或用户环境变量中添加,但长期设置前要考虑其他开发工具是否也会被影响。更稳妥的方式是建立一个专门启动 Claude Code 的 PowerShell 脚本,只在需要时设置代理并启动程序。

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"
claude

如果确认长期需要使用,可以把这些变量加入 ~/.zshrc~/.bashrc,然后重新打开终端。对于公司内网、局域网开发服务和本机端口,建议通过 NO_PROXY 排除,避免本地请求被错误地送入远端节点。不要把代理变量写进会被提交到代码仓库的项目文件,也不要把包含账号、令牌或订阅信息的终端输出公开分享。

如果 Claude Code 是通过 IDE 内置终端、任务运行器或其他图形启动器执行的,它可能不会读取你当前 shell 的配置。此时应在对应 IDE 的终端环境设置中添加变量,或者先在普通系统终端运行同一条命令进行对照测试。

配置分流规则并验证命中

规则模式下,Clash 会按从上到下的顺序匹配请求;一旦某条规则命中,就不会继续检查后面的规则。因此,目标域名必须出现在足够靠前的位置,且策略组名称必须真实存在。规则的写法应以当前配置和服务商维护方式为准,下面是一个用于说明思路的示例:

rules:
  - DOMAIN-SUFFIX,anthropic.com,PROXY
  - DOMAIN-SUFFIX,claude.ai,PROXY
  - DOMAIN-SUFFIX,console.anthropic.com,PROXY
  - MATCH,DIRECT

示例中的 PROXY 只是策略组名称占位符,实际使用时必须替换成配置文件中真实存在的策略组,例如“节点选择”或“Proxy”。如果配置末尾已经有服务商维护的规则集和兜底规则,不要直接覆盖整段内容;可以先确认现有规则是否已经包含相关域名,再决定是否增加自定义规则。

域名列表不能保证永久不变,Claude Code 的登录、更新和服务请求可能随版本调整。遇到登录页面能打开但终端请求失败时,应在 Clash Verge 的连接页搜索相关域名,查看每条连接的命中规则、使用的策略组和最终节点。连接页比单看代理开关更有价值,因为它能证明请求到底有没有到达 Clash 内核。

  • 连接记录完全没有出现:终端可能没有发出请求,或请求没有被当前接管方式捕获。
  • 记录出现但规则为 DIRECT:检查规则顺序和兜底规则,确认目标域名没有被提前判定为直连。
  • 记录使用了代理但频繁超时:更换节点,并检查节点出口、DNS 和服务端响应。
  • 同一请求反复出现连接失败:查看日志中的 timeoutconnection refused、TLS 或 DNS 错误,分别处理网络、端口和解析问题。

登录失败与请求超时的排查顺序

完成代理变量设置后,先不要反复删除账号或重装工具。按照“本地端口—代理请求—节点线路—账号状态”的顺序排查,通常更快。

  1. 确认 Clash Verge 正在运行:代理开关已打开,当前配置已加载,策略组已选择可用节点,日志没有端口占用或内核退出。
  2. 确认本地端口可用:检查终端变量中的端口是否和 Clash Verge 当前的 mixed-port 一致。端口写错时,常见表现是连接被拒绝。
  3. 确认终端变量生效:在设置变量的同一个终端窗口启动 Claude Code,避免只修改了一个窗口,却在另一个没有代理变量的窗口运行。
  4. 观察 Clash 连接页:启动登录或发起请求时,搜索 Anthropic、Claude 相关域名,确认请求是否出现以及最终走向。
  5. 更换一个稳定节点:如果连接已命中代理但一直超时,换节点比立即修改 DNS 或重写规则更有效。
  6. 检查浏览器回调:登录流程可能会调用浏览器或本机回调地址。若浏览器打开正常但回调失败,确认 localhost127.0.0.1 没有被错误地送入代理,必要时加入 NO_PROXY
  7. 最后检查账号和服务状态:如果网络请求已经成功到达服务端,仍然提示账号无权限、认证失败或服务不可用,就不应继续修改 Clash 配置,应根据错误信息检查账号、订阅资格和官方服务状态。
报错:如果终端出现“connection refused”,优先检查本地代理地址和端口;出现“timeout”,再检查节点、规则和 DNS;如果返回明确的 HTTP 认证或权限错误,说明请求已经到达服务端,问题通常不在 Clash 端口。

日常使用的稳定配置建议

完成首次登录后,建议把配置保持在简单、可回滚的状态。使用一份结构清晰的配置文件,保留一个主策略组和少量明确的自定义规则,不要同时叠加多个订阅转换器、浏览器代理扩展、VPN 和 TUN 路由。配置越复杂,出现问题时越难判断到底是哪一层改变了请求路径。

  • 日常浏览可以使用 rule 模式,让国内站点和本地服务保持直连。
  • 终端不认系统代理时,优先设置 HTTP_PROXYHTTPS_PROXY,再考虑 TUN。
  • 只有在确认需要全流量接管时才启用 TUN,并留意管理员权限、DNS 劫持和路由冲突。
  • 固定一个稳定策略组,登录和长时间任务期间尽量不要频繁切换节点。
  • 订阅更新后重新检查策略组名称、规则集状态和自定义规则是否仍然存在。
  • 遇到问题时保存错误文本、连接记录和当前配置摘要,不要公开订阅链接、访问令牌或账号信息。

可以把最终配置理解为四个相互独立的环节:Clash Verge 负责启动本地代理,订阅负责提供节点和基础规则,分流规则负责决定哪些域名走代理,终端环境变量或 TUN 模式负责让 Claude Code 的请求进入 Clash。只要按这个层次逐项验证,就能避免把“账号问题”“节点问题”和“终端没有走代理”混在一起处理。

获取全平台 Clash 客户端

Windows、macOS、Android、iOS、Linux 安装包与配置说明。

获取全平台 Clash 客户端

Windows、macOS、Android、iOS、Linux 安装包与配置说明。

下载客户端