Claude Code 国内使用:安装、登录与终端代理
本页含推广链接,购买后本站可能获得佣金。查看推荐与推广说明。
- Claude Code 需要 Claude Pro 及以上订阅或 API 余额,免费版不能用;支持地区与 Claude 相同,不含中国大陆、香港、澳门。
- 不少终端程序不直接读取系统代理,安装和登录之前就要设置 HTTPS_PROXY 环境变量,或在代理客户端里开启 TUN 模式。
- 浏览器和终端要走同一个支持地区的固定节点,长时间使用不要放在自动测速组里,断线后用 claude --continue 接着做。
在国内用 Claude Code,关键是让终端本身走代理:先在代理客户端里选好台湾、日本、新加坡或美国的固定节点,再给终端设置 HTTPS_PROXY 环境变量或打开 TUN 模式,然后用官方命令安装、运行 claude 并登录 Claude 订阅账号。只开系统代理时,浏览器能打开 Claude,终端却连不上,这是最常见的卡点。
本文按“订阅、安装、原理、两种代理方法、登录报错、长期稳定”的顺序讲。命令以 Clash Verge Rev 的默认端口 7897 为例,用其他客户端的,换成你的客户端设置里显示的端口。
网络设置仅用于排查连接。服务支持地区、用户实际所在地、账户资格与付款条件需分别满足,变更出口 IP 不等于获得服务使用资格。
Claude Code 是什么,需要什么订阅
Claude Code 是 Anthropic 推出的编程 Agent,主要在终端里运行。和在网页上跟 Claude 聊天、再把代码复制回编辑器不同,它直接在你的项目目录里工作:读懂整个代码库,跨多个文件修改代码,运行命令和测试,按你的要求提交 Git。权限提示取决于所选模式、已授权操作和工作区设置,执行前应理解相应权限范围。它也提供 VS Code、JetBrains 等编辑器的插件。
Claude 的免费版不包含 Claude Code。截至 2026 年 11 月,可以用的方式如下(美区价格):
| 方式 | 费用 | 适合谁 |
|---|---|---|
| Claude Pro | 每月 20 美元;按年付折合每月约 17 美元 | 每天做少量任务、维护个人项目 |
| Claude Max | 每月 100 美元,用量是 Pro 的 5 倍 | 每天连续用几个小时 |
| Claude Ultra | 每月 200 美元,用量是 Pro 的 10 倍 | 全天高强度使用 |
| 团队与企业套餐 | 按席位计费 | 公司统一采购,由管理员分配席位 |
| API Key 按量付费 | 按 token 计费,例如 Sonnet 5.5 每百万输入 token 2 美元、输出 10 美元 | 用量波动大,或者要接入自动化流程 |
怎么选:先按月订 Pro 用一周,经常提示用量达到上限再升 Max。API 方式适合把 Claude Code 放进脚本和持续集成流程里使用,日常交互式编程可比较订阅额度与 API 按量费用。
使用 Claude Code 也需要满足相应地区与账户条件:
| 服务 | 中国大陆 | 香港 | 澳门 | 台湾 | 日本 | 新加坡 | 韩国 | 美国 | 英国 |
|---|---|---|---|---|---|---|---|---|---|
| Claude 含 Claude Code 与 API | 不可用 | 不可用 | 不可用 | 可用 | 可用 | 可用 | 可用 | 可用 | 可用 |
可用在服务的官方支持地区名单里 不可用不在名单里
也就是说,终端的出口同样不能落在中国大陆、香港和澳门。账号注册、手机验证和付款方式见 Claude 国内使用教程;想先比较 Cursor、Codex 等同类工具,见 AI 编程工具推荐。
安装 Claude Code:macOS、Windows、Linux
安装命令本身就要从境外服务器下载程序,终端不走代理会卡住或超时。所以先在当前终端窗口里设置一次临时代理(原理和长期设置方法见后面两节):
# macOS / Linux
export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897
# Windows PowerShell
$env:HTTPS_PROXY="http://127.0.0.1:7897"
$env:HTTP_PROXY="http://127.0.0.1:7897"
如果 TUN 已接管终端连接,可不重复设置代理变量;先用客户端连接日志确认。Windows 自带的 Windows PowerShell 5.1 下载文件时读取的是系统代理而不是环境变量,用它安装时要同时打开代理客户端的系统代理。然后按系统选一种安装方式,截至 2026 年 11 月,官方推荐用原生安装脚本:
# macOS、Linux、Windows 的 WSL:原生安装脚本
curl -fsSL https://claude.ai/install.sh | bash
# macOS 也可以用 Homebrew
brew install --cask claude-code
# Windows PowerShell:原生安装脚本
irm https://claude.ai/install.ps1 | iex
# 或者用 WinGet
winget install Anthropic.ClaudeCode
已经装了 Node.js 的,也可以用 npm 安装:
npm install -g @anthropic-ai/claude-code
- 在设置了临时代理的终端里运行上面的一条安装命令。结果:命令输出安装完成的提示,没有长时间卡住。
- 关闭并重新打开终端,执行
claude --version。结果:显示版本号。提示找不到命令,多半是安装目录没加进 PATH,按安装结束时的提示把目录加进 shell 配置文件,再重新打开终端。 - 执行
claude doctor检查安装状态和自动更新是否正常。结果:各项检查通过,没有报错。 - 用
cd进入你的项目目录,执行claude启动。第一次启动会进入登录流程,见后文“登录时提示地区不支持怎么办”。
避坑:只用官方安装方式
截至 2026 年 11 月,在 Windows 上原生运行 Claude Code 前,建议安装 Git for Windows,并按当前版本的运行要求配置,Claude Code 会调用其中的 Git Bash 执行命令;在 WSL 里使用的,按 Linux 的方式安装即可。
为什么浏览器能开 Claude,终端却连不上
代理客户端的“系统代理”开关,做的事情是把代理地址写进操作系统的网络设置。浏览器会主动读取这个设置,所以能正常打开 Claude;但终端里运行的程序,包括 Claude Code、curl、git、npm,大多不读这个设置,而是看 HTTPS_PROXY 这类环境变量。两样都没设置时,终端的请求会直接走国内网络,访问 Anthropic 的服务器必然超时。
| 程序 | 读取系统代理吗 | 怎么让它走代理 |
|---|---|---|
| Chrome、Edge、Safari 等浏览器 | 读取 | 开系统代理即可 |
| Claude Code、curl、git、npm | 一般不读取 | 设置环境变量,或开 TUN 模式 |
| Claude Code 启动的子进程(测试脚本、MCP 服务等) | 继承启动它的终端的环境变量 | 在启动 claude 的同一个终端里设置好变量 |
| 编辑器里的 Claude Code 插件 | 看编辑器的代理设置和它读取到的环境变量 | 设置编辑器代理,或开 TUN 模式 |
登录时最容易被这个问题迷惑。执行 /login 后,Claude Code 会打开浏览器让你授权:浏览器走系统代理,授权页能正常打开、显示授权成功;但接下来换取登录凭据、调用模型的请求都由终端发出,终端不通,登录就会一直卡住或超时,看起来像是“授权成功了却登不上”。
常见的报错和对应原因:
| 终端里的现象 | 通常是什么原因 |
|---|---|
Unable to connect to Anthropic services,或请求 api.anthropic.com 超时(ETIMEDOUT) |
终端没走代理 |
ECONNREFUSED 127.0.0.1:7897 |
环境变量里的端口写错了,或者代理客户端没在运行 |
| 连接失败的提示里附带一句 Claude Code 可能在你所在的国家不可用 | 多数时候仍然是网络不通,先按下一节设置代理,再判断是不是地区问题 |
API Error: 403,内容含 Request not allowed |
请求已经到达服务器,但出口地区不在支持名单里 |
终端代理设置:HTTPS_PROXY 环境变量
先在代理客户端的设置里找到本地代理端口:Clash Verge Rev 默认的混合端口是 7897,其他客户端以设置页显示的为准。然后按你的系统设置:
# macOS / Linux(zsh、bash)
export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897
export NO_PROXY=localhost,127.0.0.1
# Windows PowerShell
$env:HTTPS_PROXY="http://127.0.0.1:7897"
$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:NO_PROXY="localhost,127.0.0.1"
:: Windows 命令提示符(CMD)
set HTTPS_PROXY=http://127.0.0.1:7897
set HTTP_PROXY=http://127.0.0.1:7897
set NO_PROXY=localhost,127.0.0.1
这样设置只对当前终端窗口有效,关掉就没了。想长期生效,有两种做法:
- 写进 shell 配置文件:macOS 默认用 zsh,把上面三行
export加到~/.zshrc末尾;Linux 一般是~/.bashrc。Windows 可以在系统的“环境变量”设置里添加,或写进 PowerShell 的$PROFILE文件。这样所有终端程序都会走代理。 - 只给 Claude Code 设置:在 Claude Code 的用户设置文件
~/.claude/settings.json里加env字段,只影响 Claude Code,不影响其他程序:
{
"env": {
"HTTPS_PROXY": "http://127.0.0.1:7897",
"NO_PROXY": "localhost,127.0.0.1"
}
}
设置完,用两条命令验证:
# 能很快返回一行以 HTTP 开头的状态,说明终端能连到 Anthropic
curl -sI https://api.anthropic.com | head -n 1
# 看终端出口被识别到哪个地区,loc 应为 TW、JP、SG、US 等
curl -s https://claude.ai/cdn-cgi/trace | grep loc
Windows 用户可以在 PowerShell 里执行 curl.exe -s https://claude.ai/cdn-cgi/trace,在输出里找 loc= 那一行。
几个容易踩的坑:
- 代理地址用
http://开头:截至 2026 年 11 月,Claude Code 不支持 SOCKS 代理,填socks5://地址会连不上。Clash 系客户端的混合端口同时接受 HTTP 和 SOCKS,直接用http://127.0.0.1:端口即可。 NO_PROXY要包含本机地址:让 Claude Code 访问你本地启动的开发服务器、数据库时不绕到代理上。- 编辑器读的是旧的环境变量:改了
~/.zshrc后,新开一个终端标签页才会读到;在 Windows 系统设置里改的环境变量,要完全退出 VS Code 等编辑器再打开,内置终端和编辑器插件才会生效。 - 公司网络有 HTTPS 拦截:公司代理会替换证书时,需要按公司提供的证书配置
NODE_EXTRA_CA_CERTS,这种情况找公司的 IT 部门确认。
git、npm、pip、Docker 等工具各自的代理写法,见 终端代理设置。
用 TUN 模式接管终端流量
环境变量需要每个终端、每个工具分别照顾到,遇到不认环境变量的程序(例如部分 MCP 服务、用 SSH 协议的 git、WSL2 和 Docker 容器)还是会漏。TUN 模式在系统里加一块虚拟网卡,把所有程序的流量都接过去,一次解决,经常在终端里工作的话更省事。原理和三款客户端的开启步骤,见 TUN 模式是什么。
以 Clash Verge Rev 为例:
- 打开“设置”页的“虚拟网卡模式”(部分版本写作 TUN 模式)。提示服务模式未安装的,先点击安装并按系统提示授权。结果:开关保持开启,没有弹回。
- 新开一个终端,不设置任何环境变量,执行
curl -s https://claude.ai/cdn-cgi/trace | grep loc。结果:显示支持地区的代码。 - 在客户端的“连接”页确认
api.anthropic.com、claude.ai走的是你给 AI 准备的那个组和节点。
开 TUN 后流量仍按规则分流,所以要确认 Claude 相关的域名进了同一个手动选择的组。规则没写到的话,它们会落进订阅原有的代理组(常见名字是“节点选择”),那个组如果是自动选择,可能被分到香港节点,登录就会报地区不支持。以 Clash Verge Rev 为例,在订阅的扩展覆写配置里加上(mihomo 内核写法,“AI”是你建的手动选择组名;用 prepend-rules 插到原有规则最前面,写成 rules: 会替换掉订阅自带的全部规则):
prepend-rules:
- DOMAIN-SUFFIX,anthropic.com,AI
- DOMAIN-SUFFIX,claude.ai,AI
- DOMAIN-SUFFIX,claude.com,AI
另外两点:
- IPv6:节点不支持 IPv6 时,在客户端里关闭 IPv6,或确认 TUN 一并接管了 IPv6,避免请求从国内的 IPv6 出去。
- TUN 和环境变量可以同时存在:开着 TUN 时,环境变量指向本机代理端口的请求同样按规则走,不会冲突。不开 TUN 的电脑上,环境变量是唯一的通道。
想找标明 Claude 可用地区、支持固定出口的服务商,可以参考 机场套餐与推荐。
登录时提示地区不支持怎么办
先分清是哪个环节报的错:
| 现象 | 出在哪个环节 | 先做什么 |
|---|---|---|
| 浏览器授权页显示 App unavailable | 浏览器的出口在不支持地区 | 检查浏览器走的节点 |
| 浏览器显示授权成功,终端一直等待或超时 | 终端没走代理 | 按前两节设置环境变量或开 TUN |
终端提示 API Error: 403 和 Request not allowed |
终端的出口在不支持地区 | 检查终端走的节点和分流规则 |
| 提示授权码无效或已过期 | 授权等待太久,或复制授权码时带了多余字符 | 重新执行 /login,尽快完成授权 |
然后按这个顺序排查:
- 查终端的出口:在运行 Claude Code 的那个终端里执行
curl -s https://claude.ai/cdn-cgi/trace | grep loc。显示 CN,说明终端没走代理;显示 HK,说明走到了香港节点。 - 查浏览器的出口:在浏览器里打开
https://claude.ai/cdn-cgi/trace看loc。浏览器和终端都要在支持地区,并且尽量是同一个节点。 - 查分流规则:确认 anthropic.com、claude.ai、claude.com 三个域名都分到了同一个手动选择的组。只写了其中一两个,登录过程中的部分请求会走别的节点。
- 排除 IPv6:关闭客户端或系统的 IPv6 后重试。
- 重新登录:在 Claude Code 里执行
/logout,再执行/login,重新走一遍授权。 - 换节点:换同地区的另一个节点,或换到另一个支持地区。个别 IP 会被判错地区,换一个往往就好。
用 API Key 而不是订阅登录的,同样要求出口在支持地区,排查方法相同。另外,如果你用的是公司为团队开通的账号,还要确认公司本身符合 Anthropic 的地区规定:2025 年 9 月 4 日起,被不支持地区的公司直接或间接持股超过 50% 的企业不能使用 Claude,这类限制无法通过网络设置解决。
长时间使用的稳定性建议
Claude Code 的一次任务往往要连续工作几分钟到几十分钟,中间有大量请求和长时间的流式输出。和网页聊天相比,它对“连接不断”的要求更高,对“首包快几十毫秒”反而没那么敏感。
- 固定节点,不要自动切换:给 AI 建的组用手动选择,不要用自动测速或负载均衡。任务进行中出口 IP 变化,轻则请求失败重试,重则要求重新登录。
- 选稳定的线路,而不是延迟数字最低的:晚高峰丢包少、不断流的节点更适合长任务。专线中转、落地在日本或美国的节点,一般比直连节点在晚上更稳。
- 长任务前别更新订阅:客户端更新订阅时会重新加载配置,正在进行的连接会被断开。可以把订阅的自动更新间隔调长,或者在空闲时手动更新。
- 断线后接着做:网络中断导致会话退出时,执行
claude --continue回到最近一次会话,或用claude --resume从历史会话里选一个继续,已经做的工作不会丢。 - 保持电脑唤醒:任务较长时关闭自动睡眠;在远程服务器上运行的,用 tmux 一类的终端复用工具,断开 SSH 后任务继续运行。注意服务器的出口同样要在支持地区。
- 账号只给自己用:不要和别人共用账号,也不要用第三方工具把订阅额度包装成 API 转给其他程序或其他人使用。Anthropic 的条款只允许通过 API Key 或官方允许的工具(如 Claude Code)以程序方式访问,这类转发不在允许范围内,容易导致账号受限。
Cursor、Codex 等其他编程工具在国内的网络设置思路相同,Cursor 的具体问题见 Cursor 国内能用吗。更多 AI 工具的选择,见 好用的 AI 工具推荐。
使用前请阅读各服务的条款。