ウェブ版 Grok と違う「CLI が壊れる」理由

ブラウザで GrokX を開くときは、macOS/Windows のシステムプロキシを尊重しやすく、Clash の GUI で「システムプロキシを設定」をオンにすればタブ内の認証も同じ経路に乗りがちです。一方 Grok Build CLI は Node ランタイム上のターミナルツールであり、npm によるグローバルインストール、シェルからの直接 HTTPS、WSL/Dev Container/リモート SSH などプロキシ継承が浅いコンテキストで動きます。Clash が TUN でカーネル捕捉していない限り、HTTPS_PROXY を export していないターミナルでは xAI API への接続が実質直結のまま——その結果「ウェブの Grok は快いのに grok-build だけ総タイムアウト」という対照実験が起きます。

2026 年時点で AI コーディング CLI 市場は Claude Code、Codex CLI、Gemini CLI などが並立し、いずれもOAuth → トークン → 推論 APIの三層構造を持ちます。Grok Build も例外ではなく、xAI アカウントと X 側認証が絡む場合、ログに現れるホスト名は単一サフィックスでは収まりません。体感はすべて「CLI が壊れた」に見えますが、Clash 接続ログでどのフェーズのどの Host がどのポリシーに落ちたかを分類すれば、ベンダー障害と分流の欠けを早く切り分けられます。

観測のコツ:失敗しているターミナルで短い時間窓を切り、npm install -g grok-build、初回 grok-build login(または同等コマンド)、単発の API 呼び出しを別々に試します。Clash ライブ接続で registry.npmjs.orgapi.x.ai が同じ意図の出口か、OAuth 中に x.com だけ DIRECT になっていないかをメモしてください。

三フェーズ:npm インストール・OAuth・xAI API

多くの読者が最初にぶつかるのはフェーズ A:パッケージ取得です。npm install -g grok-build はメタデータ取得の registry.npmjs.org、ブラウザリダイレクト用の npmjs.com、場合によっては tarball 配信の CDN プレフィックスまで踏みます。ここが MATCH,DIRECT のまま不安定な ISP 経路に残ると、インストール段階で終了し、OAuth 以前の問題に見えます。

フェーズ B:OAuth/アカウント連携では、CLI がブラウザを開いて X/xAI アカウントを紐づけます。x.comtwitter.com(レガシー)、x.ai 上の認証エンドポイント、短縮 t.co などが混ざることがあります。ブラウザ側だけシステムプロキシ経由で成功し、CLI 側のコールバック待ちが別経路だと「認証画面は出たのにターミナルが固まる」典型が出ます。

フェーズ C:推論とツール実行api.x.aix.ai 配下の API ホストが中心です。ストリーミング応答や長時間セッションでは、TLS 握手・HTTP/2 の multiplex・中間 CDN まで含め同一出口で低ジッターであることが重要です。フェーズ A〜C のいずれか一つだけ別ノードや DIRECT に割れると、指数バックオフ付きリトライの末に読者にはAPI タイムアウト一行しか見えません。

npm registry と tarball CDN:インストール失敗の切り分け

npm registry 向け分流は Grok Build 固有ですが、他の Node 系 CLI(Codex、Gemini CLI など)でも共通する層です。registry.npmjs.orgnpmjs.com を安定出口へ送る DOMAIN-SUFFIXMATCH より上に置きます。社内ミラーや地域ミラー(例:registry.npmmirror.com)を使う場合は、そのホストを意図的に DIRECT するか、ミラー自体が要求する出口に合わせて別ポリシーに分けます——ミラーと公式 registry を混在させると、tarball だけ別経路でハングする原因になります。

依存パッケージの取得で cdn.jsdelivr.net や GitHub Releases 系ホストがログに現れたら、npm フェーズ専用のポリシー(例:NPM_REGISTRY)に追加します。Grok Build 本体の xAI 通信と同じグループに無理にまとめない方が、後からルール diff が読みやすいです。一方、npm config get proxy が空なのに Clash だけ頼る構成では、ターミナルが mixed-port を見ているかを必ず確認してください。Docker/ターミナル向け mixed-port 記事 の環境変数パターンがそのまま npm にも効きます。

xAI API・OAuth・静的 CDN:ポリシー意図の束ね方

Grok/X ウェブ向け記事 で整理した x.aix.comtwitter.comt.co は、CLI の OAuth フェーズでも土台になります。ここに api.x.ai を明示的に足し、ログに独立 CDN やステータスページ用ホストが現れたら DOMAIN 行で追記します。ポリシー名は例として GROK_BUILD_AI とします——名称は任意で、OAuth・API・静的依存が同じ出口意図に載っていることが本質です。

API とストリーミング

コーディングエージェント CLI は SSE や chunked 応答を使うことが多く、途中で経路が切り替わると「最初の数トークンだけ返って止まる」症状になります。api.x.aix.ai を同じ低遅延ノードグループへ送り、url-test で自動選択する場合もOAuth ホストと同じグループに入れるか、少なくとも同一リージョン意図に揃えます。

OAuth と X アカウント連携

xAI は X エコシステムとアカウントが連動するため、x.com だけ代理にして x.ai を DIRECT にする——といった非対称な組み合わせは、ログインだけ成功してトークン交換が進まない温床です。認証チェーン全体を GROK_BUILD_AI(相当)に載せ、必要なら 分流ベストプラクティス に沿って順序を固定します。

ルール示意:DOMAIN-SUFFIX と順序

以下は教学用の断片です。ポリシー名・GEOIP・MATCH は環境に合わせて置き換え、実際のログに無いホストを盲信しないでください。

Illustrative rules fragment — verify against your logs

rules:
  # npm install phase
  - DOMAIN-SUFFIX,registry.npmjs.org,NPM_REGISTRY
  - DOMAIN-SUFFIX,npmjs.org,NPM_REGISTRY
  - DOMAIN-SUFFIX,npmjs.com,NPM_REGISTRY
  # Grok Build / xAI runtime
  - DOMAIN-SUFFIX,api.x.ai,GROK_BUILD_AI
  - DOMAIN-SUFFIX,x.ai,GROK_BUILD_AI
  - DOMAIN-SUFFIX,x.com,GROK_BUILD_AI
  - DOMAIN-SUFFIX,twitter.com,GROK_BUILD_AI
  - DOMAIN-SUFFIX,t.co,GROK_BUILD_AI
  - GEOIP,JP,DIRECT
  - MATCH,DIRECT

広告ブロックや開発者向け拒否リストが npmjs や CDN を先に止めていないか、GEOIP よりの行で確認します。「昨日まで動いた」ならルールプロバイダの自動更新で順序が変わったケースが多く、購読保守 とセットで見てください。

TUN/HTTPS_PROXY/npm 設定の整合

環境変数パスは「この Repo だけ Grok Build を使う」開発者向けです。export HTTPS_PROXY=http://127.0.0.1:7890ALL_PROXY、必要な NO_PROXY(社内 Git、ローカル registry)をシェルプロファイルや direnv に書き、npm installgrok-build同じターミナルセッションで実行します。npm 7 以降は npm config set proxy より環境変数の方が追いやすいことが多いです。

TUN パスは複数 CLI や Docker 子プロセスを同時に走らせるマシン向けです。カーネル層で捕捉すればバイナリが proxy フィールドを読み忘れても分流内核に入ります。企業 VPN やゲーム用 anti-cheat と競合する場合は TUN 深掘り を読み、システムプロキシだけで足りるか短時間 A/B してください。システムプロキシと TUN を無記録で二重に ON にすると、どちらが効いているか説明できなくなります。

DNS・fake-ip:名前は返るが grok-build が進まない

fake-ip モードでは CLI が合成アドレスを先に受け取り、実解決は Clash 側で後追いします。api.x.airegistry.npmjs.org が DOMAIN 規則に載っていないと、名前解決は一瞬でも TCP が進まず npm ETIMEDOUTAPI タイムアウト に見えます。Grok Build のような薄いキャッシュ層の CLI ほど、ブラウザよりログがそのまま原因になります。

嗅探(sniff)と TLS SNI の誤分類、社内 split DNS との衝突も同様です。タイムアウト/TLS ログ で「証明書失敗」「远端拒否」「ルール未命中」のどれかを切り分け、FAQ の DNS 節も参照してください。

Grok/X ウェブ記事 はタイムラインとブラウザ Grok のスピナーが主題です。本稿はnpm registryターミナル OAuth コールバックを追加した CLI 版です。OpenAI Codex CLIGemini CLIClaude Code CLI はいずれも「OAuth・API・CDN を同一意図へ」の方法論は共通ですが、ホスト名表の丸写しは非推奨です。OpenAI の openai.com 族を Grok に、Google の googleapis.com を xAI に貼り付けても、更新後に謎のタイムアウトだけが残ります。

コンプライアンス:法令・各サービス利用規約・組織セキュリティポリシーを遵守してください。本稿は許可されたネットワークでの経路設計の話であり、不正アクセスやポリシー回避を助長するものではありません。

許可環境でのチェックリスト

  1. 現環境で ClashGrok Build/xAI 利用が契約・ポリシー上許可されているか確認した。
  2. npm install、OAuth、API の各フェーズで接続ログから Host を列挙した。
  3. registry.npmjs.org 系が NPM_REGISTRY(相当)に、xAI/X 系が GROK_BUILD_AI(相当)に載っていることを確認した。
  4. 広域ブロックリストや GEOIP が上記行よりに当たっていない。
  5. ターミナルで HTTPS_PROXY/TUN/システムプロキシの差を A/B した。
  6. fake-ip 利用時、nameserver と DOMAIN 規則が整合している。
  7. 購読と RULE-SET 更新がプロキシループせず成功している。
  8. ローカル要因を除外したうえでノード品質と xAI 側障害情報を確認した。

よくある質問

ブラウザの Grok は動くのに Grok Build CLI だけ止まりますがなぜですか。

ブラウザはシステムプロキシを使いやすく、CLI と npm は環境変数や TUN 捕捉に依存します。registry.npmjs.orgapi.x.ai が別出口に割れると、片方だけタイムアウトに見えます。

npm install -g grok-build が ETIMEDOUT になる場合、Clash で何を見ればよいですか。

registry.npmjs.org と tarball 取得先が意図したポリシーに載っているか、DIRECT のまま不安定経路に残っていないかをログで確認します。ミラー利用時はそのホストもルールに含めます。

Grok/X ウェブ記事のルールをそのまま使えますか。

x.aix.com 系は有効ですが、CLI には npm 層と端末プロキシ検証が加わります。ウェブ記事のサフィックスに registry 行とターミナル手順を足す形が安全です。

OAuth 画面は開くがデバイス認証後に CLI が進みません。

トークン交換ホストが広域リストや GEOIP で別ポリシーに落ちている可能性があります。ログイン・トークン・API の三段階で同じ出口意図か確認します。

まとめ

Grok Build CLI の「総タイムアウト」は、多くの場合 npm registryOAuthxAI API の三層のうちどこかが Clash の意図とズレているだけです。MATCH まで届いているか各フェーズの Host が同じ出口意図かターミナルが proxy/TUN に乗っているか——この三通りを押さえると、ベンダー障害と分流欠けの切り分けが早くなります。2026 年の AI コーディング CLI 競争が激化するほど、エンドポイント追加は続くでしょう。黒箱プリセットより自分のログを読んで足すモデルの方が持続します。

「どこへでも自動で張る」タイプのアクセラレータや固定 Profile ルーターは、npm と API で別挙動になっても命中理由が見えにくく、開発者はグローバル切替だけを繰り返しがちです。Clash はドメインベースのルールとルールプロバイダで増分更新でき、上流ノードが怪しいときも差し替え可能です——Claude CodeCodex CLI 向け記事と同じ透明性が、Grok Build の三フェーズ診断にもそのまま効きます。

Clash V.CORE はライブ接続とポリシー編集を同画面で追いやすく、registry.npmjs.orgapi.x.ai が別グループに落ちた瞬間を短いセッションで発見できます。Clash を無料ダウンロードし、自分のワークステーションで npm インストールから OAuth、推論 API まで順に検証するところから始めてください。OAuth だけ別経路だった——という発見は、ログにすぐ現れます。