CLAUDE ROUTING

Claude Code 分流规则

以官方 Claude Code 网络访问要求为底线,整理代理、企业防火墙、遥测和动态静态资源的分流检查方法。

为什么不能只写 claude.ai

Claude Code 官方企业网络配置文档明确列出运行时需要访问的 URL。核心的四条是:

  • api.anthropic.com — API 请求、WebFetch 域名安全检查、功能开关、遥测事件
  • claude.ai — claude.ai 账号认证
  • claude.com — 登录页跳转 (最终重定向到 claude.ai)、WebFetch 文档查询
  • platform.claude.com — OAuth token 交换 / 刷新 / 吊销 —— 两种账号都需要
注意: 网上流传的多份分流清单仍在列 statsig.anthropic.com、sentry.io、cdn.anthropic.com —— 这三条已不在官方要求里 (遥测端点已迁至 Datadog), 其中前者与后者连 DNS 都不解析。本页清单按官方文档逐条核对, 并标注核对日期。

最容易漏的一条: platform.claude.com

官方文档写明这个域名承担 OAuth 的 token 交换、刷新与吊销 —— 不只是 Console 账号, 用 claude.ai 账号登录同样要经过它。但几乎所有流传的中文分流清单都没有它。

漏配的后果不是「少一个功能」: token 刷新会走本地直连出去, 于是续期请求的出口 IP 与你的 API 请求 IP 不一致 —— 这正好踩在风控最敏感的判据上, 而且症状隐蔽, 表现为「用着用着突然要重新登录」。

完整分流清单 (按官方文档分组)

核心必需

缺任意一条都会导致登录或对话失败

api.anthropic.com
API 请求、WebFetch 域名安全检查、功能开关、遥测事件
claude.ai
claude.ai 账号认证
claude.com
登录页跳转 (最终重定向到 claude.ai)、WebFetch 文档查询
platform.claude.com
OAuth token 交换 / 刷新 / 吊销 —— 两种账号都需要

按功能所需

用到对应功能才需要; 不用则可不放行

mcp-proxy.anthropic.com
claude.ai 的 MCP 连接器流量
downloads.claude.ai
插件可执行文件下载、原生安装器与自动更新
bridge.claudeusercontent.com
Claude in Chrome 扩展的 WebSocket 桥接
*.frame.claudeusercontent.com
Artifact 内容读取
registry.npmjs.org
插件安装、npx 启动的 MCP server、npm/bun 安装 Claude Code 本身
storage.googleapis.com
插件元数据与安装量、Artifact 上传
code.claude.com
内置文档查询 (claude-code-guide agent 与预授权 WebFetch)
raw.githubusercontent.com
/release-notes 的更新日志
formulae.brew.sh
Homebrew 安装方式的更新检查; 其它安装方式不会请求

遥测端点 (可关闭)

仅在直连 Anthropic API 时发送; 第三方供应商通道不会发

http-intake.logs.us5.datadoghq.com
运营遥测事件
browser-intake-us5-datadoghq.com
运营错误上报 (受服务端灰度开关控制)

关闭非必要流量的环境变量

不想放行遥测域名时, 用环境变量从源头关掉更省事

CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
一次关掉两个 Datadog 端点
DISABLE_TELEMETRY=1
关闭遥测
DO_NOT_TRACK=1
通用不追踪标准, 效果同上
DISABLE_ERROR_REPORTING=1
关闭错误上报

IP / ASN 兜底规则

CIDR / ASN 只能作为高级兜底策略, 需要定期核对 BGP/ASN 变化。不要把下面的示例当作永久完整列表:

IP-CIDR, 160.79.104.0/21
IP-CIDR6, 2607:6bc0::/32
IP-ASN, AS399358

补充: AS399358 当前实际宣告的路由是 160.79.104.0/23 与两个 IPv6 /48 (2607:6bc0::/48、2607:6bc0:11::/48), 比登记的段更窄。按登记段配置覆盖更宽、更保险。另需注意遥测与安装类域名 (Datadog、npm、GitHub、Google Cloud) 都不在 Anthropic 自有段内, IP 兜底救不了它们, 必须靠域名规则。

系统时间同步

Claude Code 本身的官方网络要求不包含 NTP。但系统时间严重偏差会导致 TLS、OAuth 登录和请求签名类流程出错。建议保持系统时间准确; 是否代理 NTP 取决于你的网络环境和客户端能力。

另外澄清一个流传较广的说法: 有教程称「Claude Code 通过 NTP 判断你的时区」, 因此必须代理 NTP。这在协议层面就不成立 —— NTP 报文只传 UTC 时间戳, 根本没有时区字段; 时区来自操作系统本地设置。官方网络要求里也通篇没有 NTP。真正会暴露时区的是浏览器与系统的 Intl / getTimezoneOffset 接口, 代理 NTP 对此毫无作用。

配置格式示例 (域名清单)

# 核心 (DOMAIN-SUFFIX 已覆盖各自全部子域名)
DOMAIN-SUFFIX,anthropic.com,Claude
DOMAIN-SUFFIX,claude.ai,Claude
DOMAIN-SUFFIX,claude.com,Claude
DOMAIN-SUFFIX,clau.de,Claude
DOMAIN-SUFFIX,claudeusercontent.com,Claude

# 安装 / 插件 / 文档
DOMAIN-SUFFIX,registry.npmjs.org,Claude
DOMAIN,storage.googleapis.com,Claude
DOMAIN,raw.githubusercontent.com,Claude
DOMAIN,formulae.brew.sh,Claude

# 遥测 (可用环境变量关闭; 注意是独立域名, 后缀匹配抓不到)
DOMAIN,http-intake.logs.us5.datadoghq.com,Claude
DOMAIN,browser-intake-us5-datadoghq.com,Claude

# IP / ASN 兜底
IP-CIDR,160.79.104.0/21,Claude,no-resolve
IP-CIDR6,2607:6bc0::/32,Claude,no-resolve
IP-ASN,399358,Claude,no-resolve

注: DOMAIN-SUFFIX 已覆盖各自全部子域名, 无需重复罗列; 两个 Datadog intake 是独立可注册域名, 必须精确匹配。CIDR/ASN 建议加 no-resolve 跳过反查, 降低匹配开销。

验证

配置完后通过这几个工具验证流量没漏掉:

mimetic
mimetic
mimetic