2026:Claude Code CLI が総タイムアウトになるとき|Clash のドメイン分流と DNS を段階実測する(開発者向け CLI)
Claude Code CLIやAnthropic製の開発者向けAnthropic CLI/コーディングエージェント連携ツールは、エディタと同じ環境でも総タイムアウト・TLS まで極端に遅い・一覧取得のみ失敗、といった問い合わせが増えています。Clash(Mihomo 系)を既定にすると、ブラウザは速いままドメイン分流とClash DNS の相互作用でハンドシェイクだけが異常に伸びて見える、という類型です。本稿はAnthropic API周辺を中心に、コピペ可能なルール叩き台から名前解決の検証順までをログ主導で整理しました。サービス側の名前は変わり得ます。例示ドメインは出発点に留めて、必ず自分の接続ログにあるホストを正として運用してください。
症状の読み替え「CLI だけ遅い」はなぜ起きやすいか
開発者CLIが弱い経路だけを炙り出すのは、単純な回線問題より適用順序の競合が多いからです。Anthropic側のチャット製品ブラウザ越しとは別に、開発者製品では api.anthropic.com へ向かうリクエストをローカルの実行ファイルが直接張り、その過程で HTTP_PROXY/HTTPS_PROXY と クラアント Ruleの両方・あるいは片方だけが効くねじれが起きやすくなります。IDE が起動した補助プロセスは親の環境を引き継がず、親ターミナルと異なる名前解決結果を抱える場合もあります。
さらに GEOIP と巨大なRULE-SETを下に広げている購読テンプレートでは、アメリカ西岸の CDN 名前が広い規則に吸い込まれ「意図は PROXY に送りたかったのに DIRECT へ落ちる」状態がログ上はサイレントに見えます。一方で上流が詰まっていれば 総タイムアウトは再現されるため、まずクラアント依存を外したときの結果を一本の軸として持つと切り分けが速くなります。
関連記事との棲み分け(検索結果で迷わないために)
ブラウザ中心に Anthropic と DNS を整理している Claude と Clash の分流・DNS は、コンソールとメディア系ドメインの比重が異なります。本稿は開発者ツール/ターミナルに寄せた版です。また Google 側の開発者CLI向け事例は Gemini CLI のタイムアウト対策稿 と手順フォーマットを揃え、GitHub と IDE 統合環境での典型は Cursor と GitHub の経路分担 が補強になります。前提の復習は チュートリアルページ と カスタムルール解説 を順に読むと頭の整理が楽です。
まず並べる三本柱(環境変数・分流順序・名前解決)
環境変数は mise/asdf/コンテナツールチェーンとの併用で二重設定されやすく、広いNO_PROXYが混入すると API 名前だけ迂回してタイムアウトに見えることがあります。GIT_PROXY_COMMAND やコンテナランタイムのdaemon.json側に残った古い指し先もチェックリストに載せます。
分流順序はより具体的な DOMAIN と DOMAIN-SUFFIX を上位に、その下に広域を置く原則を徹底します。proxy-groups の選び方 と url-test の体感差は開発者ワークロードに直結します。手早く症状を広げずに済ませたいときはログパネルを持つクラアントでの発想転用として Verge Rev でタイムアウトを切り分ける にも視線を合わせてください。
Clash DNSでは enhanced-mode: fake-ip と OS 側キャッシュ、`systemd-resolved`、ブラウザの Secure DNS が三すくみになり、同じdig結果でも実行バイナリが異なるresolverへ向く事例があります。細部は Meta/Mihomo の sniff と DNS と Linux 向け整理の systemd-resolved と Clash を参照すると安全です。
ドメイン分流の叩き台(必ず自分のログで育てる)
以下はAnthropicCLI を proxy-groups の実名に差し替えた一例です。CDN 名前やコンソール用サブドメインは時期により増減するため一覧丸写し運用は非推奨です。まずログにヒット順で足し、広すぎるサフィックスは徐々に削ります。
rules:
# Example — rename AnthropicCLI to your proxy group; order matters
- DOMAIN-SUFFIX,api.anthropic.com,AnthropicCLI
- DOMAIN-SUFFIX,anthropic.com,AnthropicCLI
- DOMAIN-SUFFIX,claude.ai,AnthropicCLI
# Add only what YOUR logs show — e.g. console.*, sts.*, CDN hostnames
DOMAIN-SUFFIX,anthropic.com のような広めのマッチは、社内運用されている他サービスとも衝突し得ます。問題が複雑化したらログに複数ヒットしていた実名だけを DOMAIN で積む方が運用耐性が高いです。コンテナ開発とホスト両方から叩くワークスペースでは、どちらのネットワーク名前空間に Clash DNS が見えているかも合わせて確認します。
DNS 実測:fake-ip と「CLI だけおかしい」を段階的にほどく
手順は一度にひとつのノブだけです。(A) 既定のfake-ipでログを読む、(B) DoH とプレーン UDP を単独交代する、(C) nameserver-policy でサービス側ドメインだけ別 resolver に切る、(D) IPv6 と IPv4 が別出口へ向いていないかを見る、(E) (Linux)競合サービスとの優先順位——の順が追いやすいです。Anthropic CLIが Node/Go/Rustなど別ランタイムでビルドされているとTLS実装ごとの体感差も出ますが、共通して名前の食い違いがあるとログ上は総じてタイムアウトに見えやすくなります。
WSL/コンテナ開発者は経路ごと名前解決が分岐しやすいので、関連する広い論点はホスト側の WSL2 と Git/npm の経路分担 を参考にレイヤを分離してください。また総タイムアウトの一部は上流の認証コンソール名が別グループへ流れ続けることによる「同意後だけ失敗」のように見えるパターンに含まれます。その場合でも同じproxy-groupsに揃えるのが近道になります。
TUN と証明書:環境変数を無視する実行ファイルへの逃がし経路
プロキシ変数が効かなくても、TUN でコア側にトラフィックを寄せると挙動が変わり得ます。詳しい副作用は TUN モードの解説 を読んでから検証すると安全です。企業プロキシのHTTPS インスペクション下ではブラウザにだけ信頼ストアが配られ、Anthropic CLIは独自CAで証明書検証が落ち続けることもあります。これはルール以前の問題で、上流のインフラ担当と合意が必要になります。
ワークフロー:ログで「宛先」「採用ルール」「名前解決」を揃える
-
1
Baseline(Direct/一時停止)
Anthropic CLIを同一シェルから叩き直し、同じ入力で失敗が消えるかを記録します。消えるなら分流またはプロキシ側が本命です。変わらなければ回線側・IPv6・時刻ずれなども並行で疑ってください。
-
2
環境変数とポート整合
mihomo/clash-metaで公開しているmixed-portと、ターミナルの指し先が完全一致しているか確認します。.zshrcと.pam_environment、コンテナ側の環境三段を混同しないようにメモだけ差し込みます。 -
3
Rule と実ホストの対応表を作る
Anthropic向けワークフローで「モデル一覧」「送信」「エージェントの再計画」の各イベントの直後にログを切り、ドメインと採用 policy を並べます。ここが欠けていた名前で詰まっていれば、ルール側にのみ不足があります。
-
4
出口を同一グループに揃える
API とステータス表示・認証コンソールが異なるグループや DIRECTに割れないか確認します。割れは OAuth または同意後処理で総タイムアウトの仮面を被りやすいです。
-
5
DNS は単一要因で順に試す
fake-ipのオン/オフ、resolver の差し替え、Secure DNS/OS DoH を個別トグルしてください。複数同時変更は「効いたもの」特定を難しくします。
このループ自体が実測です。検索結果のドメイン集合は強いヒントになりますが、置き換え前提にしないのが2026年以降 SDK が頻繁に更新される時代に耐えるコツになります。Anthropic CLIのバージョンを上げた直後だけ症状が変わった場合、そのリリースノートに名前追加がないかもあわせて見てください。
よくある質問
ブラウザの Claude/API は通るのに Claude Code CLI だけタイムアウトします
適用順序やNO_PROXY、証明書ストア、コンテナ名前空間の差が典型です。Anthropic向けワークフロー全体をログ主導で出口と名前解決をセットで見直してください。
api.anthropic.comを丸ごと PROXY でよいですか
他ライブラリとも共有するワークステーションでは影響範囲が広がります。ヒット一覧をログから絞ってDOMAIN単位へ落としていく運用が安全です。
NO_PROXY の広い項目がタイムアウトの元凶になりますか
*anthropic* やCDN断片だけを残したときに起きやすいです。npx やコンテナ側の環境にも同じ残骸が無いか横断チェックしましょう。
まとめ
Claude Code CLI/Anthropic CLI はAnthropic API名と付随コンソール名が開発者ワークフロー中に順不同で現れ得るため、クラアントのログに出ている実名だけをもとに分流を育てたほうが長持ちします。Clash DNSは fake-ip・DoH と OS の相互作用でブラウザと異なる名前解決だけが並走するので、総称で「DNS が壊れた」と決めつけず、手順ごと単一要因検証してください。
入手と機能比較の入口は ダウンロードページ と Clash と VPN の比較 から辿ってください。Anthropicウェブ視点との棲み分けはブラウザ向け記事側を参照しましょう。
すべてを一括でトンネル化する従来型 VPNは初速は単純でも、開発者環境ほど複合要因での詰まりを名前単位で可視化できず、結果として出口国を総当たりすることが増えやすくなります。Mihomo クラアントベースの Clash 環境はログを読む前提で細かく整えられるため、コード生成やエージェント連動のような高頻度 APIの安定用途に適しています。Clash をダウンロードして本稿の手順だけをひな型として置き、以降ノード/購読だけ差し替えていく運用がおすすめです。
→ Clash を無料ダウンロードして Claude Code CLI/Anthropic CLI 向けの分流と DNS を試す