claude.aiだけでは不十分な理由
Claude Codeの公式の企業向けネットワーク設定ドキュメントには、実行時に必要なURLが記載されています。中核となるのは次の4つです:
api.anthropic.com— APIリクエスト、WebFetchのドメイン安全性チェック、機能フラグ、テレメトリーイベントclaude.ai— claude.aiのアカウント認証claude.com— ログインページ(claude.aiにリダイレクト)、WebFetchによるドキュメント検索platform.claude.com— OAuthトークンの交換 / 更新 / 失効 — どちらのアカウント種別でも必要
誰もが見落とすドメイン: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の変化に合わせて定期的に再確認する必要があります。以下の例を恒久的な完全リストとして扱わないでください:
補足: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を付けて逆引きを省略し、マッチングの負荷を減らしましょう。
検証
設定後、以下のツールで通信が漏れていないことを確認してください: