CLAUDE ROUTING

Claude Codeのルーティングルール

Claude Codeの公式ネットワークアクセス要件をもとに、プロキシ、企業ファイアウォール、テレメトリー、動的・静的リソースのドメインについてルーティングを確認する実践ガイドです。

claude.aiだけでは不十分な理由

Claude Codeの公式の企業向けネットワーク設定ドキュメントには、実行時に必要なURLが記載されています。中核となるのは次の4つです:

  • api.anthropic.com — APIリクエスト、WebFetchのドメイン安全性チェック、機能フラグ、テレメトリーイベント
  • claude.ai — claude.aiのアカウント認証
  • claude.com — ログインページ(claude.aiにリダイレクト)、WebFetchによるドキュメント検索
  • platform.claude.com — OAuthトークンの交換 / 更新 / 失効 — どちらのアカウント種別でも必要
注意:広く出回っている複数のルーティングリストには、今もstatsig.anthropic.com、sentry.io、cdn.anthropic.comが含まれています。これらはいずれも公式の要件から外れており(テレメトリーはDatadogに移行)、うち2つはDNSで名前解決すらできなくなっています。以下の各エントリーは公式ドキュメントと照合済みで、確認日を記載しています。

誰もが見落とすドメイン:platform.claude.com

公式ドキュメントには、このホストがOAuthトークンの交換・更新・失効を担うと明記されています。Consoleアカウントだけでなく、claude.aiでのログインも同様です。それにもかかわらず、出回っているルーティングリストのほとんどにこのホストは含まれていません。

これを設定し忘れると、単に機能が1つ使えなくなるだけでは済みません。トークンの更新が直接接続で送信されるため、更新リクエストの出口IPがAPI通信と一致しなくなります。これはまさにリスク管理システムが注目する種類の不整合です。症状はわかりにくく、ただランダムにログアウトされるだけです。

完全なルーティングリスト(公式ドキュメントのグループ別)

コア要件

どれか1つでも欠けると、ログインや会話が失敗します

api.anthropic.com
APIリクエスト、WebFetchのドメイン安全性チェック、機能フラグ、テレメトリーイベント
claude.ai
claude.aiのアカウント認証
claude.com
ログインページ(claude.aiにリダイレクト)、WebFetchによるドキュメント検索
platform.claude.com
OAuthトークンの交換 / 更新 / 失効 — どちらのアカウント種別でも必要

機能に応じて必要

該当する機能を使う場合にのみ必要

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サーバー、npm/bunによるClaude Code自体のインストール
storage.googleapis.com
プラグインのメタデータとインストール数、Artifactのアップロード
code.claude.com
組み込みドキュメントの検索(claude-code-guideエージェントと事前承認済みの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
2つのDatadogエンドポイントをまとめて無効化
DISABLE_TELEMETRY=1
テレメトリーを無効化
DO_NOT_TRACK=1
汎用的なDo Not Track標準。効果は同じ
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と2つのIPv6 /48(2607:6bc0::/48、2607:6bc0:11::/48)で、登録されているブロックより狭い範囲です。登録ブロックで設定するほうが範囲が広く、より安全です。また、テレメトリーやインストール関連のホスト(Datadog、npm、GitHub、Google Cloud)はAnthropic自身のIPアドレス帯に含まれないため、IPのフォールバックではカバーできず、ドメインルールでしか対応できません。

システム時刻の同期

Claude Code自体の公式ネットワーク要件にNTPは含まれていません。ただし、システム時計が大きくずれていると、TLS、OAuthログイン、リクエスト署名などの処理が失敗することがあります。システム時刻は正確に保つことをおすすめします。NTPの通信をプロキシ経由にするかどうかは、ネットワーク環境とクライアントの機能によります。

広く出回っている主張を1つ訂正しておきます。一部のガイドでは、Claude CodeはNTPでタイムゾーンを判定するため、NTPをプロキシ経由にする必要があると説明しています。これはプロトコルのレベルで不可能です。NTPが運ぶのはUTCのタイムスタンプだけで、タイムゾーンのフィールドはありません。タイムゾーンはOSの設定から決まります。公式のネットワーク要件にもNTPは一切登場しません。実際にタイムゾーンを漏らしているのはブラウザーとシステムのIntl / getTimezoneOffset APIであり、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はすべてのサブドメインをカバーするため、重複して記載する必要はありません。2つのDatadog intakeホストはそれぞれ独立した登録可能ドメインのため、完全一致で指定する必要があります。CIDR/ASNルールにはno-resolveを付けて逆引きを省略し、マッチングの負荷を減らしましょう。

検証

設定後、以下のツールで通信が漏れていないことを確認してください:

mimetic
mimetic
mimetic