对需要在终端里使用 AI 编程工具的开发者来说,Claude Code 的吸引力并不只在于模型本身,而在于它能直接进入项目目录,读取代码结构、执行命令、修改文件并配合测试流程完成一轮完整的开发任务。可是,在国内网络环境中,很多人第一次运行 Claude Code 时遇到的并不是项目配置问题,而是终端进程无法稳定连接 Anthropic 服务:命令长时间没有响应、初始化阶段卡住、出现 TLS 握手失败,或者浏览器能够打开相关页面,终端里的 Claude Code 却提示网络错误。

这类问题通常与三个环节有关:Clash Verge 是否已经启动并监听本地端口,Claude Code 所在的终端是否真正继承了代理环境变量,以及 Clash 的规则是否把 Anthropic 相关请求送入正确的代理策略组。本文以 Clash Verge 为图形化中枢,从订阅导入、代理端口确认、终端变量设置到规则排查,给出一套适合新手复现的配置路径。文章不涉及任何特定服务商推荐,实际使用时请遵守所在地区的法律法规、服务条款与公司网络政策。

Claude Code 运行时需要哪些网络条件

Claude Code 属于终端式 AI 编程工具。它与普通网页聊天的区别在于,一次任务可能包含多次 API 请求、较长的流式响应、身份验证、模型选择以及工具调用。比如你让它检查一个项目的登录流程,它可能先发送上下文信息,再等待模型返回分析结果,随后根据你的确认读取文件、调用测试命令,最后继续提交下一轮请求。只要其中一段连接不稳定,终端表现就可能是「一直转圈」,而不是立即给出一个明确的错误页面。

从本地排障角度看,最重要的主机通常是 api.anthropic.com 以及登录或账户相关的鉴权地址。不同版本的 Claude Code、不同安装方式和不同地区的服务入口,实际访问的域名可能存在变化,因此不建议只凭一篇旧教程把域名列表写死。更可靠的判断方式是:启动 Claude Code 时同时打开 Clash Verge 的连接日志页面,观察终端发起请求后出现了哪些主机名,再根据实际记录补充规则。

现象 更可能的原因 优先检查项目
命令启动后长时间无输出 终端没有使用代理,或请求被直连 代理环境变量、连接面板策略
很快返回 401 或 403 登录状态、API 凭据或账户权限问题 账号状态、环境变量、官方文档
出现 429 或 rate limit 请求频率、额度或并发限制 账户用量、任务规模、重试策略
浏览器正常,CLI 失败 浏览器走系统代理,终端没有继承代理 当前 shell 的 proxy 变量

因此,不要把所有错误都归结为「节点不行」。如果 Clash Verge 的连接记录显示请求已经命中代理,而 Claude Code 返回的是明确的认证错误,那么继续更换节点通常不会解决问题;反过来,如果日志里根本没有相关连接,或者策略始终显示 DIRECT,就应该先修复本地代理链路。

在 Clash Verge 中导入订阅并确认端口

开始配置前,先确保 Clash Verge 使用的是可信来源的客户端和配置订阅。打开应用后进入配置或订阅管理页面,将服务商提供的订阅链接粘贴到对应输入框,执行下载或更新。订阅成功后,界面通常会列出多个配置文件;选择刚刚更新的配置并设为当前配置,等待内核完成加载。若配置列表为空、更新按钮没有反应,先检查订阅链接是否过期、网络是否可用,以及系统时间是否准确。

接着进入设置页面,确认当前配置启用了一个可供本机程序使用的混合端口。常见端口可能是 78907897 或其他数字,不能直接照抄别人的示例。混合端口一般同时兼容 HTTP 代理与 SOCKS 代理,是终端工具最容易使用的入口。你可以在 Clash Verge 的设置页面查看端口值,也可以在本机终端用以下方式测试端口是否正在监听:

curl -I -x http://127.0.0.1:7890 https://api.anthropic.com

这里的 7890 只是示例,请替换成你自己的混合端口。测试结果不一定会返回一个可浏览的网页,但只要请求能够快速建立连接并返回 HTTP 状态,通常说明本地端口至少已经在工作。若出现 Connection refused,优先回到 Clash Verge 检查内核是否启动、当前配置是否加载,以及端口是否被其他程序占用。

在模式选择上,新手可以先使用规则模式,不要一开始就开启全局 TUN。规则模式更容易观察每个域名最终使用的策略,也不会立刻改变整台电脑的路由结构。确认 Claude Code 能够稳定工作后,如果某些子进程完全不读取代理变量,再考虑 TUN 模式。TUN 会接管更多网络流量,可能与公司 VPN、虚拟机网卡、Docker 网络或其他加速软件产生冲突,应该作为针对性方案,而不是默认开关。

小技巧:不要只看 Clash Verge 顶部的「系统代理」开关。这个开关主要影响遵循系统代理设置的应用,不能证明每一个 Terminal、VS Code 任务或后台脚本都已经使用代理。先记录混合端口,再在真正运行 Claude Code 的终端里做独立验证。

为终端配置 HTTPS_PROXY 与 NO_PROXY

终端配置是整篇教程的关键。Claude Code 由 shell 启动,实际发请求的是它及其依赖的运行时进程。即使你已经在 Clash Verge 中打开系统代理,终端程序也可能没有读取系统代理设置。最稳妥的方式是在同一个终端会话中显式设置代理变量,再运行 Claude Code。

macOS 与 Linux 的 shell 设置

如果你使用 zsh、bash 或其他兼容 shell,可以先临时设置变量:

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,::1

其中 HTTPS_PROXY 通常是最重要的一项,因为 Claude Code 访问 API 时主要使用 HTTPS。HTTP_PROXY 可以兼容某些依赖;ALL_PROXY 是否需要保留,要看具体运行时和库的支持情况。NO_PROXY 用来声明本机地址不应经过代理,避免本地服务、开发服务器或回环地址被错误转发。

设置后不要立刻猜测是否成功,先执行:

env | grep -i proxy
curl -I -x "$HTTPS_PROXY" https://api.anthropic.com

如果变量没有显示,说明命令没有在当前 shell 生效;如果 curl 仍然无法连接,则继续查看 Clash Verge 的连接记录和策略命中情况。验证完成后,再在同一个标签页中运行 Claude Code。若你将变量写入 ~/.zshrc~/.bashrc,修改后需要重新打开终端,或使用 source ~/.zshrc 让当前会话重新加载配置。

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

PowerShell 的环境变量只对当前窗口及其子进程生效。你在一个窗口里设置了代理,再从开始菜单打开另一个终端窗口,并不代表新窗口也拥有这些变量。VS Code 集成终端同样需要单独确认。可以使用 Get-ChildItem Env: | Select-String -Pattern "PROXY" 检查当前环境,再从这个会话启动 Claude Code。

代理变量的格式也需要注意。Clash Verge 的混合端口通常可以写成 http://127.0.0.1:端口,不要把网页订阅链接、节点地址或远程服务器地址误填到 HTTPS_PROXY 中。若你选择 SOCKS 端口,必须确认 Claude Code 所使用的运行时支持对应的 socks5socks5h 协议;对于新手而言,优先使用混合端口更容易减少兼容性问题。

设置分流规则并用日志验证

终端变量解决的是「请求是否进入本地代理端口」,但并不决定 Clash 最终选择直连还是代理。请求进入 Mihomo 内核后,还会根据域名、规则集、策略组和规则顺序进行判断。若当前配置把 Anthropic 域名归入 DIRECT,即便 HTTPS_PROXY 填写正确,Claude Code 仍可能在错误的出口上失败。

打开 Clash Verge 的连接面板,启动一次 Claude Code 操作,然后搜索 anthropicapi 或日志中出现的实际主机名。重点查看三项信息:请求是否出现、最终使用的策略是什么、连接是否持续建立并收到响应。如果完全没有记录,检查终端变量和 Claude Code 是否使用了自定义网络层;如果记录出现但策略是 DIRECT,检查规则顺序;如果策略是代理但不断重连,再看节点质量、DNS、账户限制和服务端状态。

在配置允许覆写的前提下,可以在自定义规则区域加入针对性条目。规则名称和策略组名称以你的配置为准,示例只用于说明结构:

DOMAIN,api.anthropic.com,PROXY
DOMAIN-SUFFIX,anthropic.com,PROXY
MATCH,DIRECT

实际使用时不要盲目复制 PROXY 这个组名,因为你的订阅可能叫「节点选择」「国外流量」或其他名称。更不能把所有流量永久设置为代理,尤其是在公司内网、学校网络或包含本地开发服务的环境中。推荐做法是让必要的 Anthropic 相关域名进入代理组,其余国内站点、局域网地址和企业内部资源继续使用符合网络政策的路径。

规则顺序同样重要。一个过早出现的宽泛规则,例如将大量域名归入直连的规则集,可能在自定义规则之前就完成匹配。此时你虽然写了 DOMAIN-SUFFIX,anthropic.com,PROXY,但它根本没有机会执行。调整后重新发起请求,确认连接面板中的策略已经发生变化。不要只凭「配置文件保存成功」判断规则生效,必须用真实连接记录验证。

规则模式与 TUN 模式如何选择

规则模式加终端环境变量适合大多数 Claude Code 用户。它的优点是边界清楚:终端程序通过本地混合端口发起请求,Clash 根据域名进行分流,浏览器、Git、npm 和公司服务可以继续使用各自适合的路径。出现问题时,日志也更容易与具体进程对应。对于只在个人电脑上运行 Claude Code、并且运行时支持标准代理变量的场景,这通常是首选方案。

TUN 模式适合以下情况:某个子进程完全不读取 HTTP_PROXYHTTPS_PROXY,工具内部启动的二进制没有代理参数,或者你需要让多个不支持代理设置的开发工具统一经过 Clash。TUN 通过虚拟网卡和路由层接管流量,不要求每个应用理解 HTTP 代理,因此覆盖范围更广。

但 TUN 并不是「更强就一定更好」。它可能与 Windows 的其他 VPN、macOS 的网络扩展、Docker、虚拟机、WSL 以及企业安全软件同时修改路由表。在开启 TUN 后,如果出现 Git 内网无法访问、localhost 服务异常、容器拉取镜像失败或网络整体变慢,应先关闭 TUN,恢复到规则模式,逐项确认冲突来源。对于 Claude Code 这种明确支持环境变量的终端工具,先用精确规则解决问题,通常比直接全局接管更容易维护。

排障顺序:先确认 Clash 内核运行,再确认混合端口,再确认当前终端的 HTTPS_PROXY,然后看连接是否命中代理策略,最后才考虑 TUN、换节点或调整客户端超时。一次只改一个变量,才能知道哪个改动真正解决了问题。

常见错误、项目安全与长期维护

如果 Claude Code 返回 401403 或提示身份验证失败,应优先检查登录状态、凭据来源、环境变量名称和账户权限。代理能够解决的是网络路径问题,不能替你修复无效令牌、错误的账号配置或超出权限范围的模型调用。若返回 429,则更接近速率限制或额度问题;可以减少并发任务、缩小一次读取的文件范围,并按照官方建议处理重试。

如果错误是 ECONNRESETETIMEDOUT、TLS handshake timeout 或连接反复断开,先把时间点与 Clash 日志对应起来。连接一开始就没有出现,通常是终端没有走代理;连接出现且显示 DIRECT,通常是规则问题;连接命中代理但中途断开,才需要进一步比较不同节点、检查 DNS 模式、确认本地防火墙,并观察是否只有长流式响应失败。不要同时升级 Claude Code、替换配置、切换多个节点,否则很难保留可复现的故障线索。

长期使用时,建议把代理设置整理成可审计的方式。例如将 shell 变量集中写入个人的 ~/.proxy.env,需要时手动加载,而不是把敏感令牌和代理密码直接提交到 Git 仓库。项目目录中的 .env、脚本日志和终端历史记录都可能包含访问凭据,使用 Claude Code 处理代码前应确认密钥文件不会被无意读取或发送。对团队项目而言,还应在 .gitignore 中排除本地凭据文件,并遵守公司的代码、数据和第三方服务政策。

Clash Verge 的订阅也需要定期维护。更新订阅后,先确认当前配置仍是预期文件,再检查混合端口有没有变化、策略组名称是否被服务商改动,以及自定义规则是否仍然加载。部分订阅更新会覆盖手工编辑内容,因此更稳妥的方式是使用客户端支持的覆写或扩展配置功能,并保留一份不含敏感信息的规则备份。每次升级 Claude Code 或 Clash Verge 后,重新执行一次最小测试:查看环境变量、用 curl 验证端口、启动一个小任务并核对连接面板。

与只依赖浏览器代理插件的方案相比,Claude Code 需要更稳定、可验证的终端出站链路;而某些只提供全局开关的工具又难以兼顾 Git 私服、npm 镜像和本地开发服务。Clash Verge 的优势在于能把混合端口、规则分流、连接日志与可选 TUN放在同一套界面里:你既可以只代理 Claude Code 所需的请求,也能在遇到不认环境变量的子进程时逐步扩大接管范围。如果你正在寻找一套便于观察和调整的终端代理方案,可以从官方渠道获取适合自己系统的 Clash 客户端,再按本文的顺序完成配置。

立即免费下载 Clash,开启流畅上网新体验 →