Claude Code 终端总超时?2026 年用 Clash 分流 Anthropic API 与依赖域名实测

症状:为什么在终端里特别容易「卡死」或超时? 要点速览

与 GUI 编辑器不同,CLI 常规不会全全全自动去吃系统 PAC;即便你在 Clash Verge、mihomo party 一类客户端里勾了「系统代理」,也未必覆盖各个子终端。

如果你在 2026 年已经熟悉了各种「桌面端/浏览器里的 AI」,那么 Claude Code 会给你一种熟悉的挫败感:明明同一个节点在浏览器里能启用 claude.ai,回到终端持续持续持续运行 claude 或插件相关命令却反复报网络疏漏、握手超时或鉴权卡住。

社区里很多人会先怀疑密钥、地区或订阅质量,但真正高频的根因经常不是「再买一个新节点」,而是终端进程根本没走你以为已经开好的那条代理链路,或者出站规则把 Anthropic API 误判到了直连/疏漏策略组。

关键点是:再加上 Anthropic API 请求普遍长连接与较大 TLS 会话,链路中间若混着企业 MITM、HTTP/2 不友好节点或糟糕的 DNS,表现就是断断续续的超时。下文把「域名清单 → Clash/Mihomo 规则 → 终端代理环境变量 → TUN 兜底 → 日志验证」连成一条可操作路径。

与站内 Cursor 一文的关系:如果你关键点在同一台机器的 Cursor IDE 里用 AI,请第一顺位阅读《Cursor IDE 与 Clash 分流》;那里覆盖扩展市场与多段 CDN。

本篇正文聚焦终端里的 Claude Code 进程与 Anthropic 官方列出的必选 URL,适合「不写 IDE、只敲命令行」或与 IDE 并排采用的读者。

对齐官方清单:哪些主机名必须从「泛泛海外规则」里拆出来 关键信息

若你希望把 Anthropic Chat 产品与 API 放在一个策略篮里笼统处理,可先复习站内《ChatGPT 与 Claude 分流》里关于域名集合与误判的讨论;

Anthropic 在《Enterprise network configuration》里写明:Claude Code 要放行一组固定 URL——这不是社区猜测,而是防火墙与代理允许列表的口径。对你来说,等价于把这些主机名视作高第一顺位级分流对象,写进置顶 DOMAIN-SUFFIX、DOMAIN 或可维护的 RULE-SET:

api.anthropic.com:Claude API 请求的出厂出口,模型调用与配额相关逻辑的重心;claude.ai:与 claude.ai 帐号鉴权相关联;platform.claude.com:Anthropic Console 帐号侧的鉴权与控制台能力;downloads.claude.ai:插件可执行文件、原生安装器与全全自动升级若走官方分发通道多数现状下会碰到;storage.googleapis.com:文档注明在部分历史版本的原生安装器路径上仍会用到(随版本演进或许变化);bridge.claudeusercontent.com:Claude in Chrome 等扩展采用使用场景的 WebSocket 桥接;raw.githubusercontent.com:升级说明与 changelog 拉取等——若你走 npm 镜像或离线包,或许不会命中,但一旦命令行在执行「读 release 信息」,缺这条就容易出现离奇无法完成。

云厂商网关模式会改出口:当你采用 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry,模型与鉴权会改走对应云平台;

但文档特别强调:除非你关闭相关设置项,否则 WebFetch 的安全性预检仍或许访问到到 api.anthropic.com。于是「我完全不用官方 API」并不全全自动等于得以全局丢弃这条主机名的规则——除非你确认关闭了对应行为且接受差异化潜在困扰。

这里要多说一句:与此同时还有若干可选遥测或服务域名;若你在企业环境要「极简允许列表」,应阅读官方 Telemetry 小节并决定是否显式放行或关闭。不要误以为「只靠代理 api 域名」就够用:登录卡在 claude.ai、插件下载永远在 downloads.claude.ai 转圈,都是真实工单里出现最多的一类。

再回到本篇正文补上仅为 Claude Code 终端进程要的那几条「安装/升级/GitHub Raw」后缀,以避免半通。

在 Clash 里怎么拆「Anthropic-Claude Code」策略组 关键点梳理

若你只关心平稳而不是全全自动挑最低响应时间节点,可用 select,人工固定两三个对照出口做 A/B;若你有规模不小相似线路,可用 url-test,但 interval 不宜过短,避免长请求途中被频繁换节点打断;尽量不要把该组径直等于「香港/日本/美国」这类泛化标签而不看协议:部分线路对 HTTP/2、上传小报文频繁的采用使用场景并不友好,会在 CLI 里放大成「偶发 ETIMEDOUT」。

实战中推荐单独建一个可读性强的组名,举个小例子 Anthropic-API 或 Claude-Code-Core:

换个说法:对 downloads.claude.ai 与 storage.googleapis.com 一类大文件/CDN,可视现状与「低响应时间 API 组」拆开:很多人发现「对话已通、升级一直无法完成」就是因为下载走了不适合大对象的出口。拆组不是炫技,而是让日志里一眼看出到底是 API 还是分发链在抖。

规则顺序:别让 GEOIP,CN 抢先握手 完备说明

推荐骨架(按你本地实际微调用词):局域网与私有地址直连 → 确知要直连的国内精确域名 → 本篇正文列出的 Anthropic/Claude Code 相关 DOMAIN 或 RULE-SET → 其他你已维护的 AI/开发者规则 → 大陆域名集与 GEOIP → MATCH。

无论用 Clash Premium 还是 Mihomo,牢记自上而下命中即停。一个典型反例是:你在下方写了很漂亮的 DOMAIN-SUFFIX,anthropic.com,但在更前面用了一条过宽的国内域名集或疏漏的路由,把子域解析行为搞乱,最终表现仍是 CLI 里随机超时。

若你对 Rule 模式全局不熟,可先读《规则分流深度文》再回来改,否则容易在「复制粘贴别人的 FULL 规则」时把顺序锁死。

调试顺序:先在内核连接日志里抓到无法完成连接的主机名与命中的规则名,再动节点或改策略;比「先换订阅」省时间得多。对 Claude Code 这种多域名产品,缺一次日志很容易误诊成「Key 坏了」。

终端代理:HTTPS_PROXY 与「官方不适配 SOCKS」的含义 要点速览

否则你会看到「在这个终端行,在另一个终端不行」的诡异差异。要图形UI UI 界面级一致行为时,可借助 shell 配置或 direnv,但核心仍是:变量跟进程走。

落到实处:文档明确:Claude Code 识别标准的 HTTPS_PROXY/HTTP_PROXY,并写明不适配 SOCKS。这与很多同学习惯把 ALL_PROXY=socks5://127.0.0.1:7891 一塞了之的做法是冲突的——不是 Clash 没开,而是进程根本没按你期待的方式吃代理。

Shellexport HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
# Optional: keep intranet on DIRECT
export NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16

实践上,把终端会话里的代理指到 Clash 暴露的 HTTP 混合端口即可,举个小例子(端口以你本机为准):

如果你从 launchd、systemd、IDE 集成终端或 tmux 会话开启 claude,要确保同一会话继承到上述变量;

别忽略了:企业采用使用场景若必须经 NTLM/Kerberos 一类上游,官方不妨走适配这些身份校验方式的 LLM Gateway;Clash 侧多数现状下无法单独处置身份协议困扰,但得以为 Gateway 自身再套一层可编排规则。

系统代理、TUN 与「进程仍绕开环境变量」时怎么办 关键信息

仅开启 Clash 的「系统代理」有时并不能让某些子进程信任:尤其是从 GUI 应用唤起、或由包装脚本开启的工具链。此时两条路:

  • TUN 模式:让内核把符合条件的 IP 流量兜进 Mihomo;对「 stubborn 进程」更狠、更一致。配置与坑位可参考本站《TUN 模式指南》,当心 MTU、IPv6 与分流规则一起改。
  • 透明代理/网关级:在路由器或旁路网关上做统一出口,终端不再各自背环境变量——适合团队内标准化。

若你常在 Docker Desktop 或 WSL2 里跑构建,而 Claude Code 在宿主机或子系统混用,还要警惕「DNS 与路由各管一段」的缝隙;可交叉阅读Docker 与 Clash以及WSL2 路由文,避免只改一边。

DNS、fake-ip 与终端:和 GUI 使用场景同一套底层逻辑 关键点梳理

当你启用 dns.enhanced-mode: fake-ip 时,解析策略与 rules 必须联调:nameserver-policy 把某条后缀交给不合适的 DoH,或许让策略匹配路径与真实出口不一致,表现为「偶发超时、重试又好」。终端里尤其难肉眼观察,更依赖日志。

不妨把 DNS 变更与 rules 变更放在同一次迭代里观察;若你同时开 TUN 且系统里还有多份 DNS 覆盖(举个小例子公司 VPN),要统一弄清最终是谁在回答查询。对此类「半系统级」困扰,单独改 proxy-groups 经常收效甚微。

ANTHROPIC_BASE_URL 与自建网关:规则要跟着目标主机名走 完备说明

官方环境变量允许把 API 指到自建或企业网关(举个小例子 ANTHROPIC_BASE_URL 配合相应 token)。一旦你这么做了,Clash 侧最好匹配新的主机名,而不是继续只写 api.anthropic.com。否则会形成「应用已改出口、规则还在旧域上打转」的配置漂移。

关键点是:教学上仍不妨保留一份「官方出厂域名的 RULE-SET」作为回退:规模不小排障命令、WebFetch 预检与登录流程仍会回落到文档列出的 URL。

分步验证清单(不妨照着勾) 要点速览

  1. 启用连接日志到 info 级别,在终端复现一次无法完成操作,记录主机名与命中规则。
  2. 对照官方 URL 表,把缺失域名补进 Anthropic-Claude Code 组或本地 RULE-SET。
  3. 确认 rules 顺序:相关域名在「大陆/全全自动直连」宽规则之前。
  4. 在同一 shell 中打印 HTTPS_PROXY,确认值为 http:// 形式且端口与 Clash HTTP 监听一致。
  5. 若仍绕开代理,启用 TUN 或排查父进程是否剥掉了环境变量。
  6. 若仅下载无法完成,单独抓一条 downloads.claude.ai 或 GCS 相关连接,尝试换「大带宽」出口对照。
  7. 若走 Bedrock/Vertex,对照官方说明确认是否仍需允许 api.anthropic.com 用于 WebFetch 预检。

可改写的 YAML 结构示例(教学用) 关键信息

下列片段只演示分组与顺序思想;请把 rule-providers 的 URL 换成你信任来源,节点名替换为你文件中真实存在的 proxies。 Anthropic 或许调整附属域名,切记以你本机日志为准增量维护。

YAMLproxy-groups:
  - name: "Anthropic-ClaudeCode"
    type: url-test
    proxies:
      - "低延迟-美西"
      - "亚太中转"
    url: "http://www.gstatic.com/generate_204"
    interval: 300
  - name: "节点选择"
    type: select
    proxies: []

rule-providers:
  anthropic_official:
    type: http
    behavior: domain
    url: "https://example.com/rulesets/anthropic-claude-code.txt"
    path: ./ruleset/anthropic_official.yaml
    interval: 86400

rules:
  - DOMAIN-SUFFIX,local,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - DOMAIN,api.anthropic.com,Anthropic-ClaudeCode
  - DOMAIN-SUFFIX,anthropic.com,Anthropic-ClaudeCode
  - DOMAIN-SUFFIX,claude.ai,Anthropic-ClaudeCode
  - DOMAIN-SUFFIX,claude.com,Anthropic-ClaudeCode
  - DOMAIN-SUFFIX,claudeusercontent.com,Anthropic-ClaudeCode
  - DOMAIN-SUFFIX,githubusercontent.com,Anthropic-ClaudeCode
  - RULE-SET,anthropic_official,Anthropic-ClaudeCode
  - MATCH,节点选择

若你尚未完成订阅载入与基础连通,可先阅读《订阅载入指南》,避免在底层链路不通时叠加规则调试。

普遍困扰(正文速览) 关键点梳理

如果你把 MITM 只装在浏览器而不在 OS 信任区,CLI 会先无法完成于 TLS,这与代理规则无关。此时应安装企业根证书或按文档配置 NODE_EXTRA_CA_CERTS,再回来看分流。

Q:已经全局「规则模式」了,还要设 HTTPS_PROXY 吗?
要分现状:rule 只决定出站策略,不全全自动让终端进程把流量交给本地 Clash HTTP 监听口。

进程若直连公网 IP,除非你走 TUN/透明代理,否则仍会绕过。最省心的组合拳经常是「置顶域名规则 + HTTPS_PROXY +(必要时)TUN」。

Q:证书/企业 MITM 给出疏漏怎么与 Clash 一起排?
文档说明 Claude Code 出厂信任系统证书库与企业代理普遍 CA;

Q:和「只允许浏览器」的方案怎么兼容?
参考《仅浏览器走代理与 TUN》一文中的思路:若你刻意不全局接管,就给终端开一个明确走代理的 shell profile,而不要假设系统托盘里的单一开关够用。

小结 完备说明

把 Claude Code 放在一个平稳链路里,本质是把 Anthropic 官方公布的必选 URL从泛泛的海外规则里拆出来,再配合终端代理或 TUN 保证进程确实经过 Clash。Anthropic API 不是唯一主角:claude.ai、控制台与安装分发任一断档,你都会得到「看起来像网络很差」的假阳性。

这里要多说一句:市面上不少一键工具只能切换全局系统代理或在 GUI 内部做浅色拦截,既不暴露连接日志也难以为单一产品维护置顶规则;对「要写 long-lived 流式 API、又要升级 CLI 二进制」的开发采用使用场景,这种粗粒度开关经常治不好终端的超时。Clash 坚持用开放规则栈把主机名与策略组分离开,你得以在同一个内核里并排维护 Claude Code、Cursor、包管理器 CDN 等不同桶,逐项对照日志改配置而不用重装环境。如果你正在找一款开源、跨平台、对规则和连接记录友好的客户端来完成上述编排,不妨免费下载 Clash,按本篇正文顺序从域名与 HTTPS_PROXY 开始验证一点时间内就能看到差异。

请遵守所在地法律法规与各在线服务条款;本篇正文仅供技术底层逻辑与客户端配置说明。远端规则集请自行甄别来源可信度。