1 Claude Code CLI が踏む典型経路
実務で最初に触れるのは npm install -g @anthropic-ai/claude-code に代表されるグローバル導入です。ここでは公開 npm registry(registry.npmjs.org)と tarball CDN、ときどき npmjs.com 周辺の HTTPS が連続します。CLI を起動すると、モデル対話は Anthropic API の api.anthropic.com に集約されやすく、初回セットアップやブラウザ連携では claude.ai、console.anthropic.com、アカウントまわりの anthropic.com 配下が短時間に複数ホストへ跳びます。さらに Sandbox や追加ツールを有効にすると、Codex CLI 記事と同型に Docker Hub/ghcr.io などのコンテナレジストリがログに現れます。
したがって「Web の Claude が見られれば十分」と「ターミナルエージェントが最後まで走る」はレイヤが異なります。前者だけを細かく整備しても、npm registry の出口と API の出口がズレていると、依存取得は速いのに API タイムアウトだけが残る、といった非対称な症状が出ます。本稿はその束ね方が目的です。
2 npm registry とパッケージ取得
npm registry では npmjs.org と npmjs.com を DOMAIN-SUFFIX で広めに束ねるのが無難です。registry.npmjs.org 単体だけをホワイトリスト化すると、パッケージ tarball の配信ホストが別ルールへ滑ってタイムアウトすることがあります。社内ミラー(例:Verdaccio)を挟む場合は、そのミラーホストだけを DIRECT に落とし、公開 registry のみ開発者用プロキシへ載せると切り分けが楽です。国内ミラーへ向けた registry 書き換えは npm 設定の話であり本稿の主題ではありませんが、Clash 分流と併用する場合は「どのホストが実際に叩かれているか」をログで正す前提は共通です。
corepack や pnpm 利用時は追加のホスト名が出ます。詰まったら CLI が Claude だから、ではなく失敗 URL のホストを追記してください。Rule Provider に claude-code-dev-net.yaml のような短い定義を切り出しておくと、@anthropic-ai/claude-code のマイナーアップに伴う周辺ホストの変化を差分レビューしやすくなります。
3 Anthropic API と認証・Console
モデル本体のやり取りは Anthropic API(api.anthropic.com)に収斂しがちですが、ワークスペース連携や管理 UI では console.anthropic.com、製品サイトと重なる anthropic.com、ユーザー体験の claude.ai が続きます。運用上はこれらをひとつのセレクタ名(例:DEV_ANTHROPIC)へ寄せ、OAuth やデバイスフローの途中でブラウザと共用するホストが分断されないよう整えます。証明書や静的資産で claudeusercontent.com などが混ざる場合もあるため、SNI を見ながら DOMAIN-SUFFIX を増やすのが安全です。
4 API タイムアウトと長時間セッション
ターミナルエージェントはエディタ埋め込み型より長い HTTPS セッションを張りがちです。ストリーミングに近い応答では中間プロキシや企業セキュリティ機器のタイムアウトが効きやすく、ルール上は正しくても途中で切れることがあります。api.anthropic.com を含む anthropic.com 系をまとめ、MATCH より上に置きつつ、他社の生成 AI 用 DOMAIN-KEYWORD と衝突しない順序にすると安定しやすいです。DNS については FakeIP と DoH の組み合わせを使う場合、ターミナルと Clash が同じリゾルバ経路を見ているかを先に揃えてください。
企業 VPN がデフォルトルートを握ると、開発者ドメインだけ別出口へ逃がしたくても競合します。企業 VPN と Clash の切り分けを併読してください。WSL2 上で CLI を動かす場合は、Linux 側の DNS と Windows 側の TUN が二重化しやすいので、WSL2 と Clash の記事も参照するとよいです。
5 Sandbox とレジストリ取得
隔離実行やサンドボックスが有効だと、CLI あるいはバックグラウンドのランタイムが Docker Hub(docker.io/registry-1.docker.io)や ghcr.io からイメージを引く経路が増えます。モデル通信は通るが pull だけ遅い、という症状は OpenAI 側の Codex CLI と同型で、コンテナ束を Rule Provider として分離しておくとログの読みやすさが上がります。ホスト OS の Docker と Clash を同居させるときは、Docker デーモンが参照する DNS と TUN の干渉に注意し、TUN モードの除外リストを確認してください。
MCP や追加パッケージで npm/GitHub に戻るケースもあります。その層は既存の開発者ネット束と並べ、順序だけ rules で調整する運用がレビューしやすいです。
6 YAML 断片と Rule Provider
以下は Mihomo/Clash Meta 互換の rules に追記するイメージです。DEV_ANTHROPIC を手元のプロキシグループ名に置換し、MATCH より上に配置してください。コメントは英語のみとします。
# Place ABOVE MATCH. Replace DEV_ANTHROPIC. Verify hostnames from your logs.
rules:
# npm ecosystem (global install @anthropic-ai/claude-code)
- DOMAIN-SUFFIX,npmjs.org,DEV_ANTHROPIC
- DOMAIN-SUFFIX,npmjs.com,DEV_ANTHROPIC
# Anthropic: API + web + console overlap
- DOMAIN-SUFFIX,anthropic.com,DEV_ANTHROPIC
- DOMAIN-SUFFIX,claude.ai,DEV_ANTHROPIC
- DOMAIN-SUFFIX,claudeusercontent.com,DEV_ANTHROPIC
# Common sandbox / tool pulls (adjust if your logs differ)
- DOMAIN-SUFFIX,docker.io,DEV_ANTHROPIC
- DOMAIN-SUFFIX,docker.com,DEV_ANTHROPIC
- DOMAIN-SUFFIX,ghcr.io,DEV_ANTHROPIC
# rule-providers sketch:
# claude-code-net:
# type: http
# behavior: classical
# url: "https://example.com/rules/claude-code-net.yaml"
# path: ./rules/claude-code-net.yaml
# interval: 86400
# rules:
# - RULE-SET,claude-code-net,DEV_ANTHROPIC
GitHub やその he CDN を頻繁に使うなら、github.com と objects.githubusercontent.com を別 RULE-SET に載せ、DEV_ANTHROPIC と同じグループに寄せるか、順序だけ調整してください。Claude Code CLI は Anthropic と npm registry が同時に絡む典型例なので、束の分割よりセレクタの一貫性を優先するとトラブルが減ります。
7 トラブルシューティング
npm install -g @anthropic-ai/claude-codeが tarball で止まる: npm registry 以外のホストへ別ルールで落ちていないか。npmjs.org系のDOMAIN-SUFFIXを広げる。- ログインや Console だけ失敗: ブラウザ用の
claude.ai/console.anthropic.comが CLI セッションからも通るか。システムプロキシとシェルの環境変数の差を疑う。 - Anthropic API だけ遅い/切れる:
api.anthropic.comが意図したノードへ向いているか。長めのストリーミングで中間装置の API タイムアウトを疑う。 - Sandbox 起動や pull だけ遅い:
docker.io系が直連のまま詰まっていないか。Docker 側 DNS を確認。 - TUN 有効時にだけ悪化: Docker のブリッジや WSL との干渉を TUN ガイドに沿って確認。
8 よくある質問
ブラウザの Claude が速いのに CLI だけ遅いのはなぜ?
画面表示は claude.ai など表層の経路が主であり、ターミナルエージェントは Anthropic API を長く張る割合が高いからです。ルール・DNS・ノード品質を API 側に合わせて再点検してください。
Codex CLI の設定を流用してよい?
npm registry とコンテナ束はほぼ同型ですが、推論先は OpenAI と Anthropic で異なります。Codex CLI 記事の YAML をベースに、Anthropic 束へ差し替えるのが安全です。
単一の「海外プロキシ」に全部載せて問題ない?
小規模では動きますが、開発者向けドメインを細かく分けたほうが遅延の原因調査が速くなります。Mihomo の Rule Provider でファイル分割しておくと、チームで再現性が上がります。
9 まとめ
Claude Code CLI は @anthropic-ai/claude-code の取得から Anthropic API、必要に応じた Sandbox/MCP/コンテナ取得までが連続する開発者パスです。単一ドメインのルールでは足りず、DOMAIN-SUFFIX で npm registry と Anthropic 束を分けつつ、セレクタ名で一貫させるのがコツです。Clash 分流と Mihomo は DNS とルールを一体で扱えるため、API タイムアウトと依存取得の遅さが混ざるワークロード向きです。
出口の一貫性を先に取り戻せば、ネットワーク起因と CLI 設定起因の切り分けが一段と楽になります。短い YAML 断片を版管理し、DEV_ANTHROPIC のようなセレクタ名をチームで揃えるだけでも効果があります。
汎用 VPN クライアントは「すべてを同じトンネルに乗せる」ことには長けていても、npm/Anthropic API/Docker のログをホスト単位で読みながらルールを育てる作業には向きません。GUI なしの CLI 専用ツールも軽快ですが、出口の可視化と Rule Provider のチーム運用は別問題です。一方Clash Verge Revのような Mihomo 系クライアントは、接続ログを見ながらセレクタと DOMAIN-SUFFIX を差し替えやすく、ターミナルエージェントの再現性のある出口に揃えやすいです。同じマシンで長時間試すなら、まずログを正に戻してから CLI 側の設定を疑うと判断が速くなります。継続的に Clash 互換クライアントで運用したい方は、下のボタンから各 OS 向けビルドを参照できます。
→ 無料で Clash をダウンロードし、Claude Code CLI の npm・Anthropic API 経路を同じ分流で安定させる