Claude Code 连不上怎么办?命令行工具的网络配置指南

本文要点

Claude Code 是命令行工具,通常不走系统代理,需要通过环境变量或 TUN 模式让它使用代理。先在同一终端里验证网络出口,再排查工具本身。

Claude Code 是跑在终端里的命令行工具,和浏览器打开 claude.ai 不是一回事:浏览器可以靠系统代理或者浏览器插件解决地区限制,但终端里的命令行程序不一定会自动读取系统代理设置,这是很多人配好了代理、Claude Code 却依然报连接错误的主要原因。

为什么浏览器能用,命令行工具却报错

大部分图形化代理客户端(比如 Clash、Clash Verge)默认只接管浏览器和支持系统代理的应用流量。终端里运行的命令行程序是否走代理,取决于它自己有没有读取 HTTP_PROXY / HTTPS_PROXY 这类环境变量,或者你的代理客户端有没有开启”TUN 模式 / 增强模式”把全局流量都接管。Claude Code 走的是 Anthropic 的 API 接口,同样受地区限制,原理和网页版一致,可以先看这篇了解背景:Claude 国内无法访问的原因。

两种可行的配置方式

方式一:给终端设置代理环境变量

大部分基于 Node.js 的命令行工具(Claude Code 也是)会读取标准的代理环境变量。以 Clash 系客户端为例,本地 HTTP 代理端口默认通常是 7890:

  • macOS / Linux 终端:临时设置 export HTTPS_PROXY=http://127.0.0.1:7890 和 export HTTP_PROXY=http://127.0.0.1:7890 后再启动 Claude Code。
  • Windows(PowerShell):$env:HTTPS_PROXY="http://127.0.0.1:7890",同理设置 HTTP_PROXY。
  • 具体端口号以你的客户端设置页面显示的为准,不同客户端、不同机场的默认端口可能不一样。

想长期生效,可以把这两行写进 .zshrc/.bashrc 或者 PowerShell Profile,避免每次开终端都要重新设置。

方式二:开启客户端的”增强模式 / TUN 模式”

如果你不想每个命令行工具都单独配置环境变量,更省事的办法是在 Clash Verge 等客户端里开启 TUN 模式(增强模式),让代理在系统网络层接管所有流量,包括终端里的程序,不需要额外设置环境变量。这种方式配置一次,之后所有命令行工具都能受益,Clash Verge 的具体设置可以参考 Clash 订阅配置教程里的客户端设置部分。

常见报错怎么判断

  • 连接超时 / timeout:大概率是代理没生效,命令行工具还是在直连,先确认环境变量或 TUN 模式是否真的开启。
  • 提示地区不支持 / 403:代理生效了,但节点出口地区不在 Anthropic 支持范围内,换一个受支持地区的节点。
  • 能连上但经常中断:多是节点不稳定导致的长连接掉线,优先选延迟低、晚高峰不掉速的节点,机场怎么选可以参考 这篇机场推荐指南。

和其他 AI 编程工具的配置逻辑是通用的

如果你同时也在用 Cursor 或 GitHub Copilot 写代码,会发现它们遇到的网络问题和配置思路是相通的——都是命令行/IDE 环境要不要读代理设置的问题,只是每家的具体报错和处理细节略有不同。可以分别看:Cursor 连不上怎么解决、AI 编程工具网络问题汇总(含 Copilot)。

小结

Claude Code 连不上,八成不是代理没配对,而是终端程序没走代理。先确认环境变量或 TUN 模式是否真的接管了命令行流量,再排查节点地区和稳定性问题。整体思路和网页版 Claude 的地区限制是一回事,参考 AI 工具科学上网专题 建立起自己的代理方案会更省心。

先验证终端的网络出口

在同一个终端窗口里,先用命令行访问一个境外网站,确认代理确实生效,再运行工具。终端窗口与浏览器是两个独立的网络环境,浏览器能上网不代表终端也能。

常见问题

环境变量设置后要重启终端吗?

新开一个终端窗口通常更稳妥,避免旧环境变量残留。

换了节点为什么还是连不上?

也可能是代理端口与工具配置不一致,或代理软件没有监听该端口,先核对端口。

想先小额试用?无忧链接 MINI 包月起步约 ¥6.6/月,价格、线路、协议、节点都有官方页面表述。

访问无忧链接官网