Claude Code国内怎么用?Clash Verge终端访问配置指南
在日常使用中,我们经常会遇到只有 PC 端开启了代理,但手机、电视盒或其他移动设备也需要科学上网的情况。通过 Clash Verge Rev 的「允许局域网连接(Allow LAN)」功能,你可以轻松地将电脑的代理网络共享给同一 Wi-Fi 下的所有设备。本文将手把手带你完成从软件开关到 Windows 防火墙策略的完整配置流程。
Claude Code 是什么?为什么终端代理容易出问题
Claude Code 是面向开发者的终端式 AI 编程工具。它可以读取项目文件、理解代码结构、执行经过确认的命令,并根据自然语言完成代码解释、重构、测试和文档编写等任务。与只在网页中提问相比,Claude Code 更接近一个能够参与项目工作的命令行助手,因此它需要在终端里持续访问登录服务、模型接口、更新服务以及可能使用到的代码托管平台。
对国内用户来说,Claude Code 无法正常使用时,问题不一定出在安装过程。常见情况包括:浏览器可以打开登录页面,但终端登录回调失败;Clash Verge 已经启动,但命令行程序没有经过代理;系统代理可以访问网页,Node.js 或 Python 发出的请求却仍然超时;还有一些情况下,订阅节点可用,但规则把认证域名错误地判定为 DIRECT。因此,配置 Claude Code 的重点不是简单地打开一个代理开关,而是确认「终端进程、域名解析、Clash 规则、实际节点」这四个环节确实连在一起。
本文以 Clash Verge 或 Clash Verge Rev 为例,介绍一套适合新手的配置思路。不同版本的菜单名称可能略有区别,Clash Verge Rev 通常使用 Mihomo 内核,界面中可能出现「增强模式」「服务模式」或「TUN 模式」等名称。只要理解端口、代理模式和规则匹配的关系,就不必拘泥于某个按钮的具体位置。
开始前需要准备什么
配置清单
- Clash Verge 客户端:建议从可信渠道获取较新的稳定版本,并确认系统架构与安装包匹配。
- 可用的 Clash 订阅链接:Clash 本身不提供节点,需要从合法、可靠的代理服务商处取得订阅。
- Claude 账户:账户注册、登录和服务可用性受地区、服务条款及账户状态影响,请以官方页面显示为准。
- 终端环境:Windows Terminal、PowerShell、macOS Terminal、Linux Shell 均可,建议先确认 Node.js 与 npm 能正常运行。
- 项目目录:首次运行最好选择一个不含敏感密钥和私人资料的测试项目,避免误操作造成文件修改或信息泄露。
安装 Clash Verge 后,先不要急着运行 Claude Code。打开客户端的「配置」或「Profiles」页面,粘贴订阅链接并下载配置文件。订阅链接一般以 https:// 开头,如果复制时多了一段空格、换行或引号,可能会导致下载失败。配置加载完成后,进入代理页面确认节点列表不为空,再选择延迟较低、近期稳定的节点组。
还要记录 Clash Verge 当前的本地监听端口。许多配置会使用混合端口 7890,但实际端口可能是 7897、7898 或订阅作者指定的其他值。不要直接照抄别人的命令,应该以 Clash Verge「设置」「端口」或「常规」页面显示的端口为准。混合端口通常同时支持 HTTP 和 SOCKS5,适合给终端程序使用。
Clash Verge 的核心配置思路
Claude Code 的请求通常包含 HTTPS 连接、域名解析和登录跳转。对于桌面应用来说,开启「系统代理」后,遵循系统代理设置的浏览器和部分软件可以自动使用 Clash;但终端程序是否自动读取系统代理,取决于具体的运行时和环境变量。也就是说,系统代理正常并不等于 Claude Code 一定正常。
代理模式建议优先使用 Rule(规则),而不是长时间使用 Global(全局)。规则模式可以让国内网站、局域网地址和常用开发镜像保持直连,同时将需要代理的服务交给节点组处理。排查问题时,可以临时切换到 Global 做对照:如果全局模式可以访问、规则模式不行,说明节点本身大概率可用,下一步应检查域名规则或策略组。
| 配置项目 | 建议设置 | 适用场景 | 排查重点 |
|---|---|---|---|
| 系统代理 | 开启 | 浏览器、支持系统代理的桌面应用 | 系统是否显示 HTTP/HTTPS 代理地址和端口 |
| 代理模式 | Rule | 日常使用和国内外分流 | 目标域名是否匹配到正确策略组 |
| TUN 模式 | 按需开启 | 不读取系统代理的终端或应用 | 服务权限、虚拟网卡、DNS 接管是否正常 |
| 混合端口 | 以客户端显示值为准 | 为终端设置 HTTP 或 SOCKS5 代理 | 端口是否被其他程序占用,协议类型是否匹配 |
如果只是浏览器无法完成登录,可以先确认系统代理和规则;如果浏览器正常,而终端中的 curl、npm 或 Claude Code 仍然超时,则应优先检查环境变量。若某个程序完全不支持代理环境变量,或者它创建的子进程没有继承代理配置,再考虑开启 TUN 模式。TUN 的覆盖范围更广,但也会增加 DNS、路由和权限方面的排查成本,不建议在没有必要时长期全局开启。
安全提醒
不要把订阅链接、访问令牌、API Key 或登录 Cookie 粘贴到公开聊天、截图和代码仓库中。Claude Code 可能读取项目文件并执行命令,首次使用时应仔细查看确认提示,避免让工具接触生产密钥、客户数据或未提交的私有配置。
动手操作:让 Claude Code 终端使用 Clash Verge
下面以 Clash Verge 的混合端口为例。假设客户端显示的本地端口是 7890,Windows PowerShell、macOS 和 Linux 的写法略有不同。如果你的端口不是这个数值,请替换成实际端口;如果客户端只提供 SOCKS5 端口,也要使用对应的 socks5:// 地址。
- 打开 Clash Verge,导入订阅并选中一个确认可用的配置文件。
- 进入代理页面,选择一个稳定节点,并暂时切换为 Rule 模式。
- 打开系统代理;如果终端仍然无法访问,再为当前终端设置 HTTP 与 HTTPS 代理变量。
- 使用命令测试代理是否生效,再启动 Claude Code,避免把多个问题混在一起排查。
Windows PowerShell
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:ALL_PROXY="socks5://127.0.0.1:7890"
curl.exe -I https://example.com
macOS 或 Linux Shell
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:7890
curl -I https://example.com
curl 返回 HTTP 响应头,说明当前终端至少能够通过指定代理建立连接。测试时不必只看网页是否打开,还可以观察 Clash Verge 的连接日志:执行命令的瞬间,日志中应出现目标域名、匹配到的规则和实际使用的策略组。如果终端命令有响应,但日志完全没有新增连接,通常说明环境变量没有被当前 Shell 读取,或者程序使用了独立的网络库。
对于 Claude Code,建议在设置好代理变量的同一个终端窗口中启动命令。环境变量只对当前进程及其子进程生效,关闭窗口后通常不会永久保存。如果你希望每次打开终端都自动设置,可以把变量写入 PowerShell 配置文件或 Shell 的启动文件,但应先确认这台设备由自己管理,并了解如何撤销,避免影响其他项目的网络请求。
Windows 用户还应留意 PowerShell 中的 curl 别名问题。某些环境下直接输入 curl 实际调用的是 Invoke-WebRequest,参数行为与 Linux curl 不同,因此测试时可以明确使用 curl.exe。如果命令行提示证书、连接重置或名称解析错误,不要连续重复登录,先回到 Clash 日志观察请求究竟有没有进入代理。
关于 TUN 模式
当 Claude Code 或其子进程不读取 HTTP_PROXY、HTTPS_PROXY 时,可以在 Clash Verge 中开启 TUN。首次开启可能需要管理员权限、系统扩展授权或虚拟网卡确认。开启后先测试普通网页、代码托管平台和终端请求,再决定是否长期使用。若出现国内网站变慢、局域网设备无法访问或 DNS 反复超时,应暂时关闭 TUN,回到系统代理加环境变量的方案定位问题。
为 Claude Code 检查分流规则与 DNS
即使终端已经连接到 Clash,规则也可能把请求送到错误的出口。Claude Code 使用的域名可能随登录流程、版本更新和服务架构变化,不能只根据一个域名写死规则。排查时应在 Clash Verge 的日志中查看实际请求,并把确实需要代理的认证、接口和更新域名交给同一个稳定的代理策略组。不要为了省事把所有流量永久设为全局代理,也不要把不确定的域名随意加入配置。
规则的顺序非常重要。通常局域网地址、回环地址和明确的国内直连规则应放在前面,海外服务规则放在后面,最后由 MATCH 处理未匹配流量。如果 Claude Code 的请求显示为 DIRECT,但目标服务在当前网络下无法直连,说明需要调整规则或策略组;如果请求已经进入代理却仍然超时,则应换节点并检查 DNS、TLS 握手和节点质量。
DNS 问题也很容易被误认为是代理失效。系统解析得到的地址可能与 Clash 内置解析结果不同,浏览器还可能单独启用安全 DNS。使用 TUN 时,确认 DNS 接管、Fake-IP 或 Redir-Host 模式与当前配置兼容;使用系统代理时,则要注意某些终端工具会自行解析域名,系统代理并不会接管所有 DNS 请求。排查过程中可以暂时关闭浏览器独立 DoH,并清理系统 DNS 缓存,再观察结果是否变化。
建议的验证顺序
- 在 Clash Verge 中确认节点延迟和连接状态,不要只看订阅是否成功导入。
- 用浏览器访问一个确定需要代理的服务,确认系统代理工作正常。
- 在终端设置代理变量,使用
curl.exe或curl测试。 - 查看日志中的域名、规则名称、策略组和错误信息,确认流量没有被误判为直连。
- 最后再启动 Claude Code,并在项目中执行低风险的读取或解释操作。
登录、请求失败和终端断连怎么排查
浏览器能登录,但终端回调失败
这种情况通常表示浏览器和终端使用了不同的代理路径。先确认浏览器打开登录页面时,Clash 日志中确实产生了连接;然后确认终端窗口中的代理变量没有拼写错误,端口也与 Clash Verge 当前值一致。如果登录需要调用本机回调地址,不要把 localhost、127.0.0.1 或本地端口强行交给远程代理,局部回调通常应该保持直连。
接口请求超时或频繁断开
先切换一个节点做对照,再查看日志是连接建立失败、TLS 握手失败,还是响应等待超时。节点延迟低并不代表长连接稳定,Claude Code 的交互请求可能比普通网页更依赖持续连接质量。若只有某个节点失败,不要立即修改 DNS;若所有节点都失败,再检查系统时间、证书、代理端口和配置文件是否过期。
终端提示命令不存在
「命令不存在」与代理无关,通常是 Node.js、npm 或 Claude Code 的安装路径没有加入 PATH。可以先执行 node -v、npm -v 检查运行环境,再重新打开终端让新的环境变量生效。不要在同一时间反复卸载和安装多个 Node.js 版本,否则容易出现全局包路径混乱。先解决本地命令问题,再处理网络连接。
开启 TUN 后国内网站或局域网异常
TUN 会改变系统路由和 DNS 行为,部分局域网网段、虚拟机、Docker 网络或企业 VPN 可能与它产生冲突。可以先关闭 TUN,保留系统代理和终端环境变量,确认 Claude Code 是否能够运行;如果这样正常,再逐项开启 TUN 的 DNS、自动路由和服务模式选项。出现异常时记录每次修改,避免一次打开多个开关后无法判断真正原因。
日常使用中的稳定性与安全建议
Claude Code 和 Clash Verge 都会持续更新,配置文件中的策略组、域名规则和内核行为也可能变化。建议定期更新订阅,但不要在重要工作前立即更换全部配置。更新后先用浏览器和 curl 做快速验证,再进入项目。若一个订阅包含大量节点和复杂规则,启动速度、内存占用和日志可读性可能受到影响,日常使用可以保留一份精简配置用于开发。
对终端代理而言,稳定的单节点往往比不断自动切换更容易排错。自动选择策略组适合普通网页,但长时间运行的开发任务可能因为节点切换而中断。遇到登录、提交或长响应任务时,可以手动固定一个可靠节点;完成任务后再恢复自动选择。若配置中存在「故障转移」或「自动测速」,应了解它们的切换条件,避免把短暂的延迟波动误判为节点故障。
另外,代理只负责网络路径,不会替你解决账户权限、服务地区限制、付款状态或软件版本兼容问题。Claude Code 是否能够使用,仍应以官方服务条款、账户状态和当地适用规定为准。不要尝试绕过账户安全验证,也不要使用来源不明的破解客户端、共享账号或声称可以永久解锁服务的脚本。
如果其他终端代理工具在这个场景下需要分别配置多个端口、手动维护复杂的环境变量,或者对 TUN、DNS 和规则的状态提示不够清晰,遇到问题时往往很难判断到底是应用、系统还是网络出了故障。Clash Verge 提供可视化订阅管理、节点切换、连接日志、规则分流和 TUN 开关,能够把这些环节集中在一个界面中;如果你希望更直观地完成 Claude Code 的终端代理设置,可以前往 免费下载 Clash,立即体验。