ブラウザと違って Cline CLI が途切れる理由
デスクトップの IDE とブラウザは、OS のシステムプロキシ設定に乗せやすい一方、ターミナルから単体実行する CLI は親プロセスの環境、リモート SSH、WSL/コンテナ、または CI のジョブごとに出口がずれやすくなります。Cline がどのモデル提供者と契約状態かに依存しても、共通しているのは「認証フェーズ」「推論リクエスト」「静的アセット取得」「自分自身のバージョン確認」という短いチェーンであることです。チェーンの途中でだけ別経路に落ちると、全体ログは長いタイムアウト一つに単純化されません。まず問題のウィンドウを数十秒に切り出し、Clash のライブ接続を眺めながら SNI と選ばれたグループだけを並べます。
2026 年時点でも Cline 周辺では、モデル側のゲートウェイやドキュメントのドメインが追加・改称されることがあります。過去に動いていた単一リストを丸ごと転用すると、増えたサフィックスだけ MATCH 直前へ吸い込まれる事例が定期的に見えます。恒久障害を疑う前に、広告ブロック用の開発者リストや海外向け GEOIP が誤遮蔽していないか、ルール評価の順序自体を疑ったほうが安い経路があります。複数モデルを切り替えているワークスペースほど名前空間が増えるため、「昨日までは大丈夫だった」にもルールセットの自動更新が絡むことがあります。
観測ログを共有するときには、問題のあったシェルだけを切り離し、そのセッションの ALL_PROXY、NO_PROXY、企業 PAC の有効範囲まで含めて比較表にすると議論が速くなります。Cline CLI がサブプロセスを立てて認証ウィザードへ橋渡ししている構成では、親と子で値が分かれる点も忘れず確認してください。
ログイン・モデル API・CDN・更新チェックの層分け
実務で並べやすい層は次のとおりです。(1) OAuth と組織アカウント連携——ブラウザが開いたりcline系のログインウィザードが呼ぶホスト。ベンダ構成やシングルサインオンで名前が増えやすく、自分のコンソールを正としてください。(2) 選択したモデルの推論や課金トラッキング——ここだけ別出口だと API タイムアウトがまっすぐ出ます。(3) ドキュメント・マーケット・静的アセット——UI テーマ、アイコン CDN、オンラインマニュアル類。(4) 開発者ワークフロー周辺——MCP に近い外向き連携がある場合、その認証名前は本体モデルとは分割されがちです。(5) CLI 本体の配布チャネル——自動更新チェックやバイナリ署名検証では GitHub とオブジェクトストレージ CDN、ときに証明書失効リストへ伸びます。更新だけ遅くてモデル応答だけ速いときは、(5)(3) と (2) が不一致になっていることが多いです。
「ログインウィンドウは出て完了にも見えるがモデルだけ止まる」は (1) が途中でだけ詰まり、(2) へ行くまでのトークンパスが未完に見えるパターンもあります。逆にモデルだけ通っても証明チェックだけがタイムアウトなら署名ホストだけが異なる出口です。恒久対策として、これらを開発者ワークフロー用の共通ポリシーに束ね、実際はログごとに DOMAIN 行を増やしていくモデルが扱いやすいです。サードパーティの巨大プリセットだけに頼ると、増分更新の履歴が残らず二度手間になります。
YAML の概念的な束ね方(出発例)
ポリシー名やサフィックスは自分の観測に置き換えてください。断片は雛型でありログに無い名前を増やしても意味がありません。また許可されていないサービスへの迂回目的では使わないでください。
Illustrative rules fragment — replace suffixes with your observed hosts
rules:
- DOMAIN-SUFFIX,api.anthropic.com,CLINE_STABLE
- DOMAIN-SUFFIX,api.openai.com,CLINE_STABLE
- DOMAIN-SUFFIX,generativelanguage.googleapis.com,CLINE_STABLE
- DOMAIN-SUFFIX,github.com,CLINE_STABLE
- DOMAIN-SUFFIX,objects.githubusercontent.com,CLINE_STABLE
- DOMAIN-SUFFIX,registry.npmjs.org,CLINE_STABLE
- MATCH,YOUR_FALLBACK_POLICY
モデル側の規約によりエンドポイントは増減します。公式の許可リストを読みつつ、最終決定権は自分のタイムスタンプ付きの失敗ログに置いてください。ルール分流のベストプラクティス と、購読とノード保守 を往復すると、並べ替えと更新順の両方が一本化できます。
ドメイン行とルール順:MATCH に吸われない
Clash はリストの先頭から順に評価し最初の一致で出口が決定します。CDN を国内直結させるリストや、広めの GEOIP が先に並ぶ構成では開発者ホストだけ誤経路になり、ブラウザでの再現とは別結果になりえます。またセキュリティ指向のリストが OAuth 名前を広く抑えていたりすると、ウィンドウを閉じるまで状態が不透明なまま止まって見えることもあります。
「昨日だけ急に遅くなった」現象については、(a) リスト更新で順番が微妙にずれた、(b) リスト取得自体がループしていた、(c) 上流ノード品質のみ劣化——の三通りです。接続ログと TLS エラーの読み方 と突き合わせると、どれが本命か早期に見極められます。RULE セットを丸ごと入れ替える前に、そのシートの MATCH 直前だけをスクロールすると原因が単純なことがあります。
TUN とシステムプロキシと環境変数の三段整理
多くの再現ログはブラウザはシステムプロキシに乗っているが IDE 統合側も同様なのに、ターミナルだけ環境変数が空というパターンです。TUN は POSIX 側の捕捉漏れを減らす一方で、複数 NIC や別 VPN と競合することがありTUN の深掘り とセットで読みます。TUN が唯一の正解とは限らず、GUI でのオンオフだけでなくシステムプロキシまたは環境変数の組み合わせも短時間で検証すると切り捨てが早いです。TUN を切りHTTPS_PROXY=http://127.0.0.1:7890 のような局所のみで済むワークフローも現場では普通にあります。Docker と併用する場合はコンテナ側の環境変数 まで含め同一アップストリームにぶつかっているか確認します。
開発者環境での典型ミスとして、親シェルではプロキシを設定したがcline を起動するラッパーが別ユーザとして動き環境変数が落ちている、があります。サービス単位の launchd/systemd ユニットにだけ変数があるケースでも同様です。このとき Clash が TUN を提供していても、アプリ側が明示的な直接接続を選んでいれば別経路になり得るためログの SNI と実際のアウトバウンドだけは必ず確認します。
DNS・fake-ip で「名前は返るのに進まない」
fake-ip モードではクライアントには合成アドレスが見え実解決は後続になります。このとき名前は一瞬でも届くのに実 TCP が規則と食い違うとタイムアウトにしか見えません。CLI はブラウザよりクライアント側キャッシュが薄く、この症状がログにそのまま出やすい側面があります。社内 NW の分割 DNS だけ OAuth 名前を異なる応答へ向けているときも同様です。一般的には nameserver と DOMAIN/MATCH の設計視点が揃っているかを読み直し、問題が再現しないクリーンな回線でだけ比較すると切り捨てが楽です。迷ったらFAQ の DNS 項目も確認してください。
既存ガイドとの棲み分け
OpenAI Codex CLI や Anthropic Claude Code CLI はベンダ名前空間に寄せた構成例が有用ですが、Cline が選ぶモデルは固定ではなく、リストをコピペするだけでは足りない名前が残ります。OpenCode CLI と考え方は近いものの、ワークフローの束が一致するとは限りません。Cursor ログイン は IDE が主役で名前集合が異なります。いずれの記事も自分のウィンドウのログを正として再構成する前提で読み替えてください。
許可環境チェックリスト
- ターミナルから第三者モデルを呼ぶことが契約と規約で明示的に許可されている。
- 失敗ウィンドウの接続ログで OAuth/モデル API/CDN/自動更新関連にホストを分類した。
- 分類済みホストが広めの拒否リストや GEOIP の上に出るようルール順を調整した。
- TUN、システムプロキシ、ターミナル環境変数の三通りについて短時間 A/B で比較した。
MATCH直前だけを再度読み、そのセッションの SNI が期待どおりのグループに入った。- fake-ip と nameserver、
DOMAIN規則の整合が取れているか読み返した。 - 社内向けの分割 DNS で OAuth/モデル名だけ別応答になっていないか確認した(該当すればインフラ窓口へ相談)。
- 購読とルールの自動更新ループではなく単発成功ログを確認してから上流ノード入替へ進んだ。
構成変更では増やした DOMAIN 行と日付を短文でログに残すと、名前空間が増えても追跡がしやすくなります。チーム運用でもレビュワが増分だけを読めるよう、関連するモデル提供者名とセットで書いておくと再現確認が短くなります。
よくある質問
質疑の短い並びです。FAQPage の構造化データは <head> にあります。
ブラウザではプロバイダのコンソールが開けるのに Cline CLI だけ止まるのはなぜですか。
ブラウザはシステムプロキシを尊重しやすく、ターミナルの CLI は環境変数やカーネル側の経路捕捉に依存しがちです。OAuth とモデル API と静的 CDN が別出口に割れると、CLI だけタイムアウトやログイン未完に見えます。
Claude Code CLI の記事と何が違いますか。
Cline はエディタ統合や複数モデル切替と相性よく名前空間が固定しません。サンプルリストを転用すると足りないホストだけ MATCH へ落ちやすく、自分のログで束ね直す必要があります。
CLI の更新チェックだけ遅くて本体は動く場合はどう切り分けますか。
モデル API とは別層です。GitHub Releases、オブジェクト CDN、証明チェック関連まで Clash ログで列挙し、認証経路と同じ安定グループへ寄せるか、必要なら専用の小さなルールセットにまとめます。
DOMAIN だけで足りますか、それとも DOMAIN-SUFFIX が必要ですか。
ログに基づき DOMAIN から始め、増えたら DOMAIN-SUFFIX へ広げます。広すぎるサフィックスだけ先に敷くと無関係ホストまで同じポリシーになりやすく注意が必要です。
まとめ
Cline CLI で詰まる体感は単一サービス障害だけでなく、OAuth・モデル API・CDN・更新ホストへの短い連鎖のどこかだけが経路だけ割れているケースも多くあります。ルール評価の順序が MATCH で吸い込まないか、ブラウザと CLI で TUN/環境変数/システムプロキシ が揃っているか、DNS と fake-ip の視点が矛盾していないか——この三通りを押さえると、体感の「総タイムアウト」をかなり早く細分化できます。CLI 本系は 2026 年にもアップデートが続く想定であり、増えた名前はログ優先で差分管理するモデルが持続します。
シングルチェネルの商用 VPN は出口が不透明で開発者リストの細かい並べ替えがしづらく、名前が増えるたびに「とりあえず全部同じ」と割り切ることがあります。Clash はドメイン単位でルールセットを増減させやすく、順序だけを読みなおせば切り分けが進みやすい面があります。その透明さは許可環境でのセルフトラブルシュートに適します。
Clash V.CORE はこの設計に沿って接続ログと UI を並べやすく、Cline がどのフェーズで止まったかを短いウィンドウで追いやすいです。Clash を無料ダウンロードし、自分のマシンのログからサフィックス束を増やすところから始めると、「OAuth とモデル API が別出口だった」という事実がそのまま表に現れやすくなります。