Claude Code 国内怎么用?Clash Verge终端访问配置指南
Claude Code 国内怎么用?先理解终端连接为什么会失败
Claude Code 成为开发者关注的 AI 编程工具后,很多人第一次运行它时遇到的并不是模型能力问题,而是终端无法完成登录、请求长时间等待、初始化项目失败或执行几轮对话后突然断开。尤其是在国内网络环境中,浏览器能够打开部分页面,并不代表终端里的 Node.js 进程已经拥有同样的访问路径。你可能已经在浏览器中登录了 Claude,Clash Verge 也显示为绿色运行状态,但 Claude Code 仍然报连接超时,这通常说明终端流量没有正确经过代理,或者相关域名没有命中合适的策略组。
Claude Code 的运行链路通常包含多个环节:安装命令行程序时要访问 npm 注册表或软件包 CDN,首次启动时可能需要打开浏览器完成账户授权,认证完成后还要持续访问 Anthropic 相关服务来发送提示词、接收流式响应以及同步会话状态。任何一个环节被直连、DNS 污染、规则误判或节点中途切换,都可能表现为「登录失败」。因此,解决 Claude Code 国内使用问题,不建议一上来就反复更换账号或盲目开启全局模式,而应按照客户端状态、订阅配置、终端代理、域名分流、TUN 接管的顺序逐层确认。
本文以 Clash Verge 为主要示例,目标是让 Claude Code 在 Windows、macOS 或 Linux 桌面环境中稳定使用。不同版本的 Verge Rev、Mihomo 内核和订阅面板,按钮名称可能略有差异,但「配置」「代理」「设置」「连接」「日志」这些核心概念基本一致。本文不提供账号注册或服务商推荐,只讲如何判断问题属于安装、认证、代理还是规则,并给出一套适合日常开发的低风险配置方法。
先记住一个判断:浏览器能访问 Claude,不等于 Claude Code 能访问 Claude。浏览器可能使用了扩展代理,而终端进程既不读取扩展,也不一定自动继承系统代理;因此排障时必须单独验证终端的代理环境。
安装前检查:Node.js、Claude Code 与本机端口
开始配置 Clash Verge 前,先确认 Claude Code 本身已经正确安装。很多「代理不通」其实是 Node.js 版本过旧、npm 全局路径异常或命令没有安装完整。打开 PowerShell、Windows Terminal、Terminal 或你常用的 shell,依次检查版本:
node --version
npm --version
claude --version
如果系统提示找不到 node 或 claude,先解决本机安装路径问题,不要直接修改 Clash 规则。Node.js 建议使用仍在维护的 LTS 版本,并确认终端重启后环境变量已经生效。若 claude --version 能正常返回版本号,但执行登录时才超时,才进入网络排障阶段。安装过程访问的包注册表、CDN 和登录服务并不是同一组域名,不能因为 npm 安装成功,就认为后续认证一定会成功。
接着打开 Clash Verge 的「设置」或「端口」页面,记录当前的混合端口。常见形式是 127.0.0.1:7890、127.0.0.1:7897 或其他本机端口,具体数值以你的客户端界面为准。混合端口通常同时支持 HTTP 和 SOCKS5,是终端程序最容易使用的入口。不要凭记忆填写端口,也不要把远程订阅地址误当成本机代理地址。
在 Clash Verge 的「代理」页面选择一个延迟稳定、允许访问目标服务的节点,然后打开连接日志。日志窗口的价值在于确认事实:当你运行 Claude Code 时,是否出现新的连接记录;记录中的域名是什么;连接被送往哪个策略组;最终状态是成功、超时还是被拒绝。如果终端启动后日志完全没有变化,优先检查环境变量或 TUN,而不是继续调整规则。
混合端口、HTTP 端口与 SOCKS5 端口怎么选?
对命令行工具而言,优先使用 Clash Verge 提供的混合端口,因为它能减少不同程序对协议的兼容差异。某些 Node.js 版本或第三方库只识别 HTTP_PROXY、HTTPS_PROXY,另一些程序则读取 ALL_PROXY 并要求 SOCKS5 格式。若只设置了其中一个变量,可能出现网页能开、npm 能用、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"
macOS、Linux 或使用 zsh、bash 的环境可以这样设置:
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
上面的端口只是示例,必须替换为 Clash Verge 页面显示的真实端口。环境变量只对当前终端窗口生效,适合测试,不建议在还没有确认链路的情况下直接写入全局 shell 配置。测试完成后,如果你发现关闭 Clash Verge 后终端仍然沿用旧变量,可以执行 unset HTTP_PROXY HTTPS_PROXY ALL_PROXY,或者在 PowerShell 中清除对应变量,避免把旧端口带到下一次排障中。
Clash Verge 导入订阅:先让基础代理稳定工作
打开 Clash Verge 的「订阅」或「配置」页面,粘贴服务商提供的 HTTPS 订阅链接,点击更新或导入。订阅链接包含节点和配置权限,应当像密码一样保存,不要直接发到群聊或提交到代码仓库。如果订阅更新失败,先观察错误类型:DNS 解析失败、TLS 握手失败、HTTP 403、返回内容不是 YAML,分别对应不同的处理方向。不要在订阅地址后面随意添加参数,也不要把浏览器中复制的完整页面地址当作订阅链接。
- 导入配置:在 Clash Verge 的配置页面添加订阅链接,等待远程配置下载完成;若列表出现多个文件,优先选择明确标注 Mihomo、Meta 或适用于当前内核的配置。
- 启用配置:点击新配置旁边的启用按钮,确认客户端没有显示 YAML 解析错误;如果配置加载失败,先换一份兼容 Mihomo 的订阅,不要急着修改几十处字段。
- 选择策略组:进入代理页面,为默认代理组选择一个固定节点。第一次测试不要使用会频繁测速切换的自动组,以免登录长连接在会话中途更换出口。
- 开启系统代理:先打开系统代理,再用浏览器访问目标服务或其他可验证站点,确认 Clash Verge 的连接日志有记录。
- 测试终端:在同一个终端窗口设置混合端口环境变量,重新运行
claude,同时观察日志中是否出现新的远程连接。
第一次导入后不要立刻打开 TUN。系统代理已经能够覆盖浏览器和一部分遵守代理设置的应用,先用最小改动验证 Claude Code。这样做的好处是故障边界清晰:如果系统代理加环境变量能够让认证完成,说明基础节点和规则大体正常;如果只有 TUN 开启后才成功,才需要继续检查终端是否绕过系统代理、DNS 是否被其他软件接管,以及虚拟网卡路由是否正确。
不要同时开启多个代理软件:Clash Verge、其他 VPN 客户端、浏览器代理扩展和系统 PAC 同时运行时,可能出现端口冲突、代理链套娃或 DNS 路径不一致。排障期间建议只保留一个主代理入口,记录每次改动后发生了什么。
Claude Code 分流与登录:不要只配置一个「Claude」关键词
Claude Code 的访问并不一定只使用一个固定域名。认证页面、账户接口、模型请求、静态资源和跳转页面可能分布在不同的主域或子域中,而且产品版本更新后,实际连接目标也可能变化。因此,规则配置不应只依赖一张网上复制的域名清单。更可靠的做法是:启动 Claude Code,执行一次登录或发送一次测试请求,然后在 Clash Verge 的连接列表中查看真实目标主机名,再根据连接结果补充规则。
在规则模式下,可以为明确属于 Anthropic 服务的域名设置独立策略组,例如命名为「Claude」或「AI 服务」。规则顺序要放在宽泛的地区规则、广告规则和兜底直连规则之前。若一条更宽的规则已经先匹配了目标域名,后面再添加精确规则也不会生效。常见的错误是把所有海外域名都放到一个自动测速组,登录阶段看似成功,但流式请求开始后策略组更换节点,最终导致连接中断。
| 现象 | 优先检查位置 | 处理思路 |
|---|---|---|
| 浏览器能打开,终端完全无日志 | 终端代理环境 | 检查 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY,或改用 TUN 接管。 |
| 登录页能打开,授权后回到终端超时 | 回调与认证链路 | 确认浏览器和终端使用同一代理出口,检查本机回调地址未被代理转发。 |
| 登录成功,第一次提问失败 | 模型请求域名与策略组 | 查看连接日志中的真实 SNI,确认请求没有落到直连或拒绝组。 |
| 运行几分钟后断开 | 节点稳定性与策略组切换 | 暂时固定节点,避免 url-test 在长连接期间频繁切换出口。 |
| 出现 401 或 403 | 账户权限与认证状态 | 先确认连接已经成功,再区分账号、订阅或权限问题,不要把所有状态码都归因于代理。 |
如果认证需要浏览器回调,通常应让远程认证页面经过代理,但本机的 127.0.0.1 回调服务仍应保留直连。不要把整个 localhost、127.0.0.1 或本机开发端口强行送进远程代理。对于企业网络、杀毒软件或浏览器隐私插件造成的回调阻断,也要单独检查本机端口是否被占用。登录窗口反复打开并不一定表示账号错误,也可能是回调请求没有回到正在等待的 Claude Code 进程。
规则配置完成后,可以采用「固定节点 + 日志观察」的方式进行验证。先关闭自动选择,选择一个连接建立速度快且长连接稳定的节点;完成登录和两三轮普通请求后,再恢复自动测速。如果恢复后问题重现,基本可以判断不是账号本身,而是策略组切换、节点抖动或某个出口对长连接支持不稳定。
终端不吃系统代理?在 Clash Verge 中启用 TUN
如果设置环境变量后 Claude Code 仍然没有连接记录,或者某些子进程完全不读取代理变量,可以考虑使用 Clash Verge 的 TUN 模式。TUN 会创建虚拟网络接口,在更底层接管系统流量,适合终端、开发工具、容器辅助程序和不提供代理设置入口的应用。它的覆盖范围更大,风险也更高,因此应当在基础配置已经确认、且你知道如何关闭它的前提下使用。
在 Clash Verge 的设置中找到 TUN 或增强模式,先安装所需的服务权限,随后开启自动路由和自动检测出口网卡等选项。Windows 可能弹出管理员权限请求,macOS 可能要求授权系统网络扩展;如果权限弹窗被系统拦截,应到系统设置的隐私与安全或网络扩展页面查看,而不是连续点击开关。Linux 用户还要留意 NetworkManager、systemd-resolved 和已有透明代理服务是否会与 TUN 同时修改路由。
启用后,先不要同时保留多个 DNS 接管功能。观察 Clash Verge 是否创建了 TUN 接口、系统是否仍然能够访问普通网站,再运行 Claude Code。若 TUN 开启后全网断开,常见原因包括自动路由与其他 VPN 冲突、DNS 劫持配置不兼容、默认出口网卡识别错误,或规则配置把本机服务也送到了代理。此时应先关闭 TUN 恢复网络,再逐项减少配置,而不是继续叠加 fake-ip、脚本覆写和自定义 DNS。
推荐的排障顺序:先用混合端口验证单个终端,再确认系统代理,最后才开启 TUN。每次只改一个变量,并在 Clash Verge 的连接日志中记录目标域名、策略组和节点,这比反复点击「全局」「规则」更容易找到真正原因。
登录超时与请求失败:按日志而不是按感觉排查
当 Claude Code 报错时,先记下完整错误文本和发生阶段。安装阶段的 ETIMEDOUT、认证阶段的回调等待、请求阶段的 TLS 错误、服务返回的 401 或 403,含义并不相同。建议不要只截图最后一行,而是保留前后几行日志,并在 Clash Verge 中找到对应时间点的连接记录。这样可以判断请求究竟没有发出、发出后超时,还是已经得到远端响应。
登录一直等待或浏览器授权后无反应
先确认 Claude Code 启动的终端窗口没有被关闭,并检查本机回调端口是否被其他程序占用。浏览器打开授权页面时,确认浏览器没有切换到另一套代理。若浏览器通过代理扩展访问,而终端通过 Clash Verge 访问,两个进程可能使用不同的出口和 DNS,认证状态就可能无法顺利回传。关闭冲突扩展、固定同一个 Clash 节点,再重新开始一次完整登录,通常比在原有半完成会话上反复重试更有效。
请求失败、流式输出中断或频繁重连
这类问题首先看节点稳定性。AI 编程工具的请求经常持续较长时间,对丢包和抖动比普通网页更敏感。url-test 组可能在延迟变化时更换节点,而已经建立的连接无法平滑迁移,于是表现为输出到一半停止。排查时将策略组临时改成固定节点,完成多轮请求,再逐个比较其他节点。若只有某个地区或某组节点稳定,不要用浏览器打开速度作为唯一标准,因为网页加载和终端流式响应的网络特征不同。
连接日志出现错误域名或规则命中直连
如果日志显示目标域名命中了 DIRECT、REJECT 或一个不适合的国内策略组,说明规则顺序或域名覆盖不完整。先记录实际主机名,再添加更精确的规则,并确认它位于兜底规则之前。不要一看到连接失败就把所有流量切换到全局代理;全局模式虽然能快速验证「是否是分流问题」,但会让本地开发服务、公司内网、包管理镜像和局域网设备也被改变,容易制造新的故障。
完成配置后,可以建立一份自己的检查清单:Clash Verge 是否正在运行、订阅是否仍然有效、当前配置是否已启用、策略组是否有可用节点、混合端口是否监听、终端变量是否指向正确端口、Claude Code 运行时是否在连接日志出现、认证回调是否保留本机直连。以后升级客户端或更换订阅时,按这份清单复核,通常能迅速判断是软件更新带来的变化,还是网络环境发生了变化。
相比一些只提供一键全局代理的同类工具,单纯依赖浏览器扩展或复杂的手工环境变量,在 Claude Code 这种包含安装、认证和长连接请求的场景中往往不够稳定:前者难以覆盖终端子进程,后者容易因端口、规则顺序或系统差异而失效。ClashSource 的优势在于把 Clash Verge 的订阅导入、混合端口、连接日志、分流规则与 TUN 排障路径讲清楚,方便你按步骤定位问题,而不是依靠反复换节点碰运气。如果你正准备在本机配置 Claude Code 终端代理,可以前往下载适合你的 Clash 客户端,再按照本文从基础代理开始逐层验证。