Claude Code国内怎么用?Clash终端访问配置指南
在日常使用中,我们经常会遇到只有 PC 端开启了代理,但手机、电视盒或其他移动设备也需要科学上网的情况。通过 Clash Verge Rev 的「允许局域网连接(Allow LAN)」功能,你可以轻松地将电脑的代理网络共享给同一 Wi-Fi 下的所有设备。本文将手把手带你完成从软件开关到 Windows 防火墙策略的完整配置流程。
Claude Code 为什么需要配置 Clash
Claude Code 是面向开发者的终端工具,适合在项目目录中完成代码生成、文件分析、重构建议、测试编写和自动化开发。与浏览器聊天不同,它需要在命令行中持续访问模型服务,并根据你的指令读取项目文件、执行授权范围内的命令,有时还要下载依赖、访问代码仓库或调用其他开发服务。因此,Claude Code 能否正常使用,不只取决于客户端是否安装成功,也取决于终端进程能否稳定连接相关服务。
在国内网络环境中,常见现象包括登录页面打不开、验证码加载失败、命令执行后长时间等待、模型请求超时,以及 npm、pip 或 GitHub 依赖下载失败。很多人已经在 Clash 图形界面中打开了系统代理,却发现 Claude Code 仍然无法联网,原因通常是:终端程序没有继承系统代理、Clash 只代理了浏览器、当前规则把目标域名判定为直连,或者终端使用的代理协议与 Clash 监听端口不匹配。
本文以桌面端 Clash Verge、Clash Verge Rev、Clash for Windows 和 Mihomo 客户端为例,说明如何从代理端口、终端环境变量、规则分流和连通性测试几个方面完成配置。不同客户端的按钮名称可能略有差异,但核心思路一致:先让 Clash 有可用节点,再确认终端知道代理地址,最后用日志和命令验证请求确实经过了正确的策略组。
开始前需要准备什么
配置前请准备以下内容:
- Clash 客户端:可以使用 Clash Verge、Clash Verge Rev 或其他兼容 Mihomo 内核的桌面客户端。
- 有效订阅配置:Clash 本身不提供代理节点,需要从合法、可靠的代理服务中获取 Clash 格式订阅。
- Claude Code 运行环境:建议先安装较新的 Node.js、npm,并确认终端能够执行
node -v与npm -v。 - 一个测试项目:最好使用不包含密码、私钥、生产数据和客户资料的本地项目进行首次测试。
配置前先打开 Clash 的代理面板,确认配置文件已经成功加载,并在「代理」页面选择一个延迟较低、状态正常的节点。不要一开始就同时修改 DNS、TUN、规则和终端变量,否则出现问题时很难判断是哪一层导致失败。建议采用逐层验证的方法:浏览器测试一次,终端测试一次,最后再运行 Claude Code。
还要注意项目安全。Claude Code 可能需要读取当前目录中的文件,具体行为取决于工具版本、启动参数和你的确认操作。首次使用时应避免在包含 .env、SSH 私钥、云服务密钥或内部源代码的目录中直接授权大量操作。网络代理解决的是连接问题,不会替代权限控制和敏感信息管理。
第一步:在 Clash 中确认混合端口
终端代理最容易出错的地方是端口。Clash 通常会提供 HTTP、SOCKS 或混合端口,其中混合端口可以同时接受 HTTP 代理和 SOCKS5 代理请求,比较适合让不同命令行工具共用。打开 Clash 的「设置」「常规」或「端口」页面,记录本机监听地址与端口,常见形式如下:
| 项目 | 常见值 | 用途 |
|---|---|---|
| 本机地址 | 127.0.0.1 |
仅允许当前电脑上的程序连接,安全性较好 |
| HTTP 端口 | 7890 |
供支持 HTTP 代理的终端工具使用 |
| SOCKS5 端口 | 7891 |
供支持 SOCKS5 的程序使用 |
| 混合端口 | 7890 或自定义端口 |
用一个端口兼容 HTTP 与 SOCKS 请求 |
实际端口以你的客户端界面为准,不能机械照抄示例。若 Clash 使用的是混合端口 7890,可以先在终端设置 HTTP 和 HTTPS 代理;如果客户端只开启了 SOCKS5 端口,则应使用以 socks5:// 开头的地址。端口被其他程序占用时,Clash 可能启动失败,或者界面显示已开启但终端连接不上。
不要随意开启局域网共享
如果 Claude Code 与 Clash 在同一台电脑上运行,代理地址优先使用 127.0.0.1。只有在确实需要让其他设备共享代理时,才开启「允许局域网连接」并设置访问控制。直接把代理监听在所有网卡上,可能让同一局域网内的其他设备使用你的端口,也会增加被扫描和滥用的风险。
确认端口后,在 Clash 的日志或连接面板中观察请求是否出现。此时还没有运行 Claude Code,可以先用浏览器访问需要代理的站点,确认节点本身可用。如果浏览器也无法打开,先切换节点或检查订阅状态,不要急着修改终端配置。
第二步:让终端继承 Clash 代理
Windows PowerShell 配置方法
Windows 用户可以在 PowerShell 中设置当前会话的代理环境变量。下面的示例假设 Clash 的 HTTP 混合端口是 7890。这些变量只对当前打开的 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,::1"
如果你的 Clash 端口只支持 SOCKS5,可以把代理地址改成 socks5://127.0.0.1:7891。但并非所有 Node.js 工具都能直接处理 SOCKS 环境变量,因此初次配置更推荐使用 Clash 的 HTTP 或混合端口。设置完成后,使用支持代理的命令进行测试,观察是否能够完成 HTTPS 握手。
macOS 与 Linux 配置方法
macOS、Linux 以及 WSL 环境通常使用 Bash、Zsh 或其他兼容 Shell,可以通过 export 设置环境变量。以下示例同样以本机混合端口 7890 为例:
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"
如果确认配置长期有效,可以将这些内容加入 ~/.zshrc 或 ~/.bashrc,然后重新打开终端。不要把带有代理账号、密码或访问令牌的完整 URL 直接写入公开仓库,也不要把终端历史记录截图发到公共论坛。普通本机代理通常不需要认证,若你的代理端口启用了认证,应采用操作系统的安全凭据管理方式保存敏感信息。
先验证变量是否生效
执行 echo $HTTPS_PROXY(macOS/Linux)或 echo $env:HTTPS_PROXY(PowerShell),确认当前终端显示的是预期地址。若你在 VS Code 集成终端中运行 Claude Code,需要在 VS Code 完全重启后再打开新终端,因为已经打开的终端不会自动获得后来新增的环境变量。
Windows 的 CMD 使用方式与 PowerShell 不同,可以使用 set HTTP_PROXY=http://127.0.0.1:7890 和 set HTTPS_PROXY=http://127.0.0.1:7890。如果你使用 Git Bash、WSL 或远程开发容器,必须确认变量设置在实际运行 Claude Code 的那一层环境中;Windows 主机上的变量不会自动传入所有 Linux 子系统或容器。
第三步:安装 Claude Code 并进行连接测试
终端已经设置代理后,再按照 Claude Code 当前版本的官方安装说明完成安装。安装命令可能会随版本和平台变化,因此不要长期依赖来源不明的一键脚本,也不要为了绕过报错而关闭系统安全防护。安装完成后,先确认命令能够被找到,再进入一个普通测试项目:
claude --version
mkdir claude-proxy-test
cd claude-proxy-test
claude
首次运行通常会进入登录或授权流程。登录页面无法打开时,先检查 Clash 连接日志:如果完全没有相关请求,说明 Claude Code 没有读取代理变量,或者当前程序使用了独立的网络库;如果日志中有请求但持续超时,则应切换节点、检查规则匹配和 DNS。不要仅凭 Clash 的绿色运行状态判断成功,客户端进程正常并不代表每个目标域名都能访问。
进入交互界面后,可以先发送一个不涉及敏感代码的简单请求,例如让工具说明当前空目录状态。若能得到响应,再复制一个小型、无隐私的示例项目进行分析。模型请求成功但依赖安装失败,说明 Claude Code 的模型连接已经打通,问题可能出在 npm、pip、Git 或代码仓库的独立代理设置上。
| 现象 | 优先检查 | 处理方向 |
|---|---|---|
| 命令找不到 | Node.js、npm、PATH | 重新打开终端,确认全局安装目录已加入 PATH |
| 登录页面打不开 | 环境变量与 Clash 日志 | 检查端口、代理协议和规则命中情况 |
| 模型请求超时 | 节点质量、DNS、策略组 | 切换节点并观察请求是否重复重试 |
| 模型正常但 npm 失败 | npm 独立配置 | 检查 npm registry 与 npm proxy 配置是否冲突 |
第四步:配置分流并排查常见问题
Claude Code 的请求不一定只访问一个域名。登录、模型接口、静态资源、更新服务和依赖仓库可能分别匹配不同规则。如果 Clash 处于规则模式,建议在连接面板中确认相关请求都进入预期的代理策略组,而不是简单地把所有流量切换为全局代理。规则模式可以让国内网站和局域网服务保持直连,减少延迟与不必要的流量消耗;全局模式只适合短时间定位「到底是不是规则导致失败」。
终端工具的环境变量通常只负责告诉程序「代理在哪里」,并不能决定目标域名走哪个节点。节点选择、域名分流和 DNS 处理仍由 Clash 配置负责。若使用 Mihomo 内核和 TUN 模式,可以让不读取环境变量的部分程序也有机会被接管,但 TUN 涉及路由表、虚拟网卡、管理员权限和 DNS 劫持,建议在普通系统代理已经验证成功后再启用。
推荐的排查顺序
- 确认 Clash 配置文件没有过期,节点可以正常测速并建立连接。
- 确认混合端口正在监听,端口号与终端环境变量完全一致。
- 关闭并重新打开终端,避免旧 Shell 没有加载新变量。
- 查看 Clash 日志,确认 Claude Code 的请求确实出现并命中代理策略。
- 仅切换一次节点进行对比,不要同时修改多个配置项。
- 如果模型正常而依赖下载失败,分别检查 Git、npm、pip 的代理设置。
如果登录后出现反复跳转,可能是浏览器回调没有正确返回终端,或者系统默认浏览器被安全软件拦截。可以先检查本机回调地址是否被代理,确保 localhost 和 127.0.0.1 位于 NO_PROXY 中。若把本地回调也送进远程代理,登录流程反而可能失败。
如果报错提示证书、TLS 或握手失败,不建议第一时间关闭证书验证。先检查系统日期与时区、Clash 内核版本、节点出口质量以及是否有杀毒软件进行 HTTPS 扫描。若公司或校园网络安装了自定义根证书,还需要确认终端运行环境是否信任该证书。随意开启「跳过证书验证」会降低安全性,尤其不适合处理代码仓库和开发凭据。
如果只有某个项目无法运行,应检查项目自己的配置文件、代理脚本和依赖锁定版本。Claude Code 访问模型成功,不代表项目中的 Docker、SSH、数据库或私有 npm 源也能通过同一代理。排查时可以暂时复制一个干净项目做对照,确认问题属于网络层还是项目层。
让 Claude Code 终端代理长期稳定
完成首次登录后,建议把配置整理成可复用的工作流。日常使用时保持 Clash 规则模式,选择延迟稳定的节点组,并定期更新订阅;终端只保留必要的代理变量,局域网地址加入 NO_PROXY,这样本地开发服务器、数据库和调试回调不会绕到代理节点。对需要访问代码仓库的命令,可以单独检查 Git 的代理配置,避免全局配置与环境变量互相覆盖。
还应建立「最小权限」习惯:不要在 Shell 配置文件中保存长期令牌,不要将 Claude Code 的运行日志和项目上下文直接上传到公共位置;在授权工具执行命令前,先阅读命令内容,特别留意删除文件、修改依赖、上传数据和执行远程脚本的操作。代理稳定后,安全边界仍然由你的操作确认、项目权限和密钥管理决定。
建议保留一份诊断记录
记录当前使用的 Clash 客户端、内核版本、混合端口、代理模式、节点组和终端类型。下次升级 Claude Code、切换网络或更换订阅后,可以按照同一顺序复测。这样比反复复制网上的随机配置更容易定位差异,也能避免把已经解决的问题重新引入。
有些同类终端工具需要分别填写 HTTP、HTTPS、SOCKS、证书和自定义网络参数,更新后还可能改变环境变量的读取方式;只在浏览器中设置代理的方案,也常常覆盖不到 Node.js 子进程、Git 或集成开发环境。Clash 的优势在于能够集中管理节点、规则、日志和模式,并通过混合端口让多个开发工具共享一套清晰的出口策略。完成本文配置后,如果你希望用更直观的界面管理订阅与终端代理,可以前往 免费下载 Clash,立即体验。