Claude Code 会在终端中完成登录、读取项目上下文并向 Claude 服务发送请求,因此「浏览器能打开网页」不一定代表命令行已经连通。常见情况是 Clash Verge 已经开启系统代理,但 Claude Code 进程没有继承系统代理设置;也可能是请求已经进入代理,却被规则送往了 DIRECT。本文以 Clash Verge 或 Clash Verge Rev 为例,依次说明订阅导入、代理模式选择、终端代理变量配置和连接日志核对方法,帮助你定位问题发生在哪一层。实际可用性还取决于你所在地区的网络环境、服务可用范围及 Anthropic 的账户与使用要求,请以服务方当前政策为准。

开始前请准备好已安装的 Claude Code、可正常使用的 Clash 配置,以及一份可信的代理订阅或本地配置文件。本文不提供账号、订阅或节点来源,也不建议通过修改身份信息、绕过服务限制等方式解决访问问题。客户端界面名称会随版本变化:下文提到的「配置」「Profiles」「系统代理」「混合端口」可能在你的版本中显示为相近名称,操作时以实际界面为准。

先确认 Claude Code 与 Clash Verge 的基础状态

先分别检查应用和网络,避免把安装、登录与代理问题混在一起。确认 Claude Code 能在当前终端中启动,并记录出现的完整报错;如果问题发生在安装阶段,先确认安装来源和当前版本,再排查连接。对于尚未配置 Clash Verge 的用户,建议先在客户端中导入可信配置,选择一个可用策略组和节点,确认客户端本身没有配置解析错误。

启动 Clash Verge 后,检查当前配置是否已启用,并查看系统代理开关。多数情况下,系统代理适合先验证遵循系统代理设置的浏览器和桌面应用;但终端程序不一定会自动使用它。先不要同时打开多个代理客户端,也不要在排障时频繁更换配置、节点和模式。每次只改一个条件,才能知道变化是否真正解决了问题。

打开浏览器访问你平时用于检查网络的网页,只能验证浏览器路径,不能证明 Claude Code 已经走代理。更有价值的基线是:Clash Verge 的连接记录能够刷新,选中的代理节点可以正常使用,系统代理启用后浏览器的连接表现符合预期。若这些基础项尚未通过,先处理配置更新、节点状态或本机网络,再进入终端排障。

先记下当前状态:记录客户端名称与版本、当前模式、选中策略组、混合端口,以及 Claude Code 的原始错误信息。后续测试时每次只改一项,便于判断是端口、环境变量、规则还是账户问题。

导入配置并选择合适的代理模式

如果使用远程订阅,在 Clash Verge 的配置管理页面添加订阅地址并更新配置;如果使用本地文件,则通过导入入口选择可信的 YAML 配置。更新完成后,将目标配置设为当前配置,并确认策略组中存在可选择的代理节点。订阅链接通常包含账户或线路信息,不要将完整地址贴到公开问题区、截图或在线配置转换网站。

建议先采用规则模式,而不是一开始就使用全局代理。规则模式可以让 Claude Code 相关请求按配置规则选择代理,同时让常用国内网站或企业内网仍按原有策略连接。对于 API、登录和客户端更新所涉及的主机,规则集可能随版本变化;不要只凭一份过时域名清单判断是否覆盖完整,应结合 Clash Verge 的连接面板,观察实际请求主机及最终策略。

若暂时无法判断是规则漏配还是终端没有代理,可以短时间用全局模式做对照测试:在其他设置不变的情况下,选择全局代理,再重新发起一次请求。如果全局模式下恢复,而规则模式下失败,问题更可能出在规则命中或策略组选择;如果两种模式都失败,则继续检查终端代理变量、节点连通性、登录状态和服务返回信息。测试结束后应恢复适合日常使用的模式,避免让不需要代理的流量长期走全局线路。

若规则模式下需要补充规则,优先使用客户端支持的规则覆写或配置合并功能,不要直接改动会被订阅更新覆盖的原始文件。可依据连接日志中的实际域名,为相关请求添加精确的域名规则并指向代理策略组;避免把过宽的域名后缀全部代理,或随意复制来源不明的整套规则。修改后重新加载配置,并再次确认连接面板显示的策略与预期一致。

让 Claude Code 终端显式使用 Clash 代理

命令行进程通常不能假设会自动读取桌面系统代理。更可控的做法是在启动 Claude Code 的同一个终端会话里设置代理环境变量。先在 Clash Verge 的设置中找到 HTTP 或混合端口;常见示例端口是 7890,但你的实际端口可能不同,必须以客户端显示值为准。端口填错时,常见表现是连接被拒绝或请求立即失败。

在 macOS、Linux 或使用 Bash/Zsh 的终端中,可以在当前会话临时设置变量,再启动 Claude Code:

export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
claude

将示例端口替换为自己的 HTTP 或混合端口。部分程序会读取大写变量,部分运行库还会检查小写形式;如果当前版本没有识别代理,可按需补充同值的小写变量进行对照。不要把需要认证的代理用户名或密码写入公开脚本,也不要把含有凭据的终端输出发到公开渠道。

在 Windows PowerShell 中,可以用当前窗口范围的环境变量进行测试:

$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:HTTP_PROXY = "http://127.0.0.1:7890"
claude

关闭该 PowerShell 窗口后,这些临时设置通常不再影响新会话。验证成功后,再考虑将设置写入自己的终端配置文件或启动脚本;不要在不清楚影响范围时使用系统级永久代理变量,以免其他开发工具、内网服务或公司 VPN 流量受到意外影响。

如果访问本机回环地址或企业内网时不应经过代理,可按实际环境设置 NO_PROXY,例如将 localhost、127.0.0.1 和内部域名加入例外。不同运行库对变量大小写及匹配语法的支持可能不同,设置后要实际验证。排障期间不建议把所有主机都加入例外,也不要同时混用多个端口、SOCKS 与 HTTP 地址;先以一个明确的代理入口完成最小测试。

确认变量是否生效:在启动 Claude Code 的同一终端中检查 HTTPS_PROXY 的值。若你从 VS Code、其他 IDE 或桌面启动器打开终端,确认它确实继承了这些设置;外部终端配置正确,不代表 IDE 集成终端也使用相同环境。

用连接记录区分终端、规则与服务问题

设置好环境变量后,重新启动 Claude Code 并执行一次需要连接服务的操作,同时打开 Clash Verge 的连接面板。可以搜索连接记录中出现的 Anthropic 或 Claude 相关主机名,重点观察连接是否出现、最终策略是代理组还是 DIRECT、连接是否持续失败。域名会因登录流程、客户端版本或服务端调整而变化,因此应以本机实际记录为准,而不是认为只需固定放行一个主机。

如果完全看不到相关连接,优先检查 Claude Code 是否从设置了变量的终端启动、代理变量是否拼写正确、端口是否与客户端一致,以及请求是否被其他网络工具接管。若能看到请求但策略显示 DIRECT,问题更可能在规则匹配或规则顺序;调整后重新载入配置,再发起新请求验证。若请求命中代理策略,但仍然超时或重置,则检查节点状态、客户端错误详情和当前网络环境,不要仅凭「已经走代理」就判断服务端一定正常。

还要区分网络错误与服务层错误。连接超时、TLS 握手失败或连接重置,通常需要从网络路径、代理端口和节点状态入手;明确的登录失败、权限提示、账户不可用、配额或速率限制,则不应靠反复换节点解决。此时请核对 Claude Code 显示的完整响应与 Anthropic 账户状态,并按照服务方的支持范围处理。不要在排查时公开 API Key、登录令牌、订阅链接或包含个人信息的日志。

若命令行在系统代理和环境变量均无法覆盖时,部分用户会考虑 TUN 模式。TUN 可以在网络层接管更多未显式使用 HTTP 代理的程序,但它也会影响整台设备的路由,可能与其他 VPN、虚拟网卡、容器网络或企业安全软件冲突。建议先用规则模式加终端环境变量完成对照;只有确认目标进程不遵循代理变量、且理解路由影响后,再尝试 TUN。开启后若 DNS、内网或其他应用异常,应先关闭 TUN 回退到原方案,逐项检查冲突来源。

常见故障排查顺序

  • 浏览器正常,Claude Code 超时:确认 Claude Code 是从设置了代理变量的同一终端启动;核对端口,再看连接面板是否出现对应请求。
  • 连接面板显示 DIRECT:检查当前配置是否为规则模式、相关主机是否命中预期规则,以及覆写规则是否排在可能匹配的广泛规则之前。
  • 提示无法连接本地代理:核对 Clash Verge 是否正在运行、端口是否正确,以及填写的代理协议是否与端口类型匹配。HTTP 代理端口不要误填为 SOCKS 端口。
  • 能命中代理但仍失败:短暂换用另一个可用节点作对照,检查 DNS 与连接错误;若失败信息是账户、认证或配额类提示,则转向账户和服务状态排查。
  • 终端可以,IDE 里不行:比较两个终端中的代理变量、启动方式和配置文件加载情况。IDE 可能在读取 shell 配置前就启动了进程,重新打开 IDE 后再测试。

排查时建议保留一份最小记录:发生时间、操作系统、Clash Verge 版本、代理模式、端口、终端类型、错误原文及连接策略。需要向管理员或服务支持求助时,先删除令牌、密钥、订阅信息和私人路径。一次只改变一个变量,并在每次改变后重新发起同一类请求,能避免把暂时恢复误当成某个设置必然有效。

常见问题

开启 Clash Verge 系统代理后,为什么 Claude Code 仍然连不上?

系统代理主要影响遵循系统代理设置的应用,终端程序未必会自动读取。建议在启动 Claude Code 的同一终端设置 HTTPS_PROXY,确认端口对应 Clash Verge 的 HTTP 或混合端口,再通过连接面板检查请求是否出现以及最终策略。

必须一直使用全局模式吗?

不一定。全局模式适合作为短时对照,帮助判断规则模式是否漏配;日常使用通常可以优先尝试规则模式,并检查实际请求命中的策略。若确实需要长期使用全局模式,应确认它不会影响内网、企业 VPN 或其他不需要代理的连接。

需要把哪些 Claude 域名加入代理规则?

不同版本、登录流程和服务端实现可能产生不同连接,固定清单未必长期完整。先在连接面板中观察 Claude Code 发起请求时出现的真实主机名,再按需添加精确规则,并验证最终策略。不要为了求稳而代理过宽的域名范围。

什么时候才需要开启 TUN?

当你确认应用没有使用终端代理变量,且规则模式无法接管其流量时,才考虑 TUN。它会影响更广泛的设备网络,启用前应确认与其他 VPN、虚拟网卡和内网路由的兼容性;出现异常时先关闭并回退。

与只能切换单一系统代理、缺少连接记录的简单工具相比,Clash Verge 能把订阅配置、策略组、规则命中和连接状态放在同一处查看,便于判断 Claude Code 请求究竟停在终端、规则还是代理节点。若你希望按本文步骤逐层验证,而不是反复盲目换节点,可以先选择适合自己系统的客户端,再根据实际网络与服务要求完成配置。

前往下载 →