Claude Codeがつながらない?Clash Vergeで始める端末設定ガイド
2026年現在、DeepSeek は世界中で最も注目される AI モデルの一つとなりました。しかし、その急速な普及に伴い、ユーザーは頻繁に「接続タイムアウト」や「サーバー応答なし」といった問題に直面しています。特にプロキシツール Clash を使用している環境では、誤ったルーティング設定や DNS の不一致が原因でアクセスが遮断されることが少なくありません。本記事では、DeepSeek のアクセス障害を根本から解決するための Clash 設定術を徹底解説します。
Claude Codeがつながらないときに最初に見る場所
Claude Codeをターミナルから使おうとして、接続エラー、長い待ち時間、認証画面の読み込み失敗が起きる場合、原因は必ずしもClaude Code本体にあるとは限りません。端末がプロキシを使っていない、Clash Vergeのモードが意図と違う、DNSだけが別経路に流れている、または環境変数のポート番号が合っていない、といった要因がよくあります。
まず、問題を端末からClash Vergeへ渡る経路、Clash Vergeから外部サービスへ出る経路、Claude Codeが参照する設定の三つに分けて考えると、切り分けが簡単になります。ブラウザでWebページが開けても、ターミナルのCLIが同じ経路を使っているとは限りません。ブラウザだけがシステムプロキシを利用し、ターミナルは直接接続している構成も珍しくありません。
- Clash Vergeのコア:起動中で、プロファイルが正常に読み込まれているか
- プロキシモード:Rule、Global、Directのどれが選択されているか
- 出口ノード:選択中のノードが利用可能で、遅延や接続テストに問題がないか
- CLIの設定:
HTTP_PROXY、HTTPS_PROXY、ALL_PROXYが正しいポートを指しているか - 認証情報:APIキーやログイン状態のエラーと、ネットワークエラーを混同していないか
エラー文に「timeout」「connection refused」「TLS」「proxy」といった語が含まれている場合はネットワーク経路を優先して確認します。一方、「401」「403」「invalid key」などが表示されるなら、プロキシが接続を妨げているのではなく、認証情報やアカウント側の問題である可能性が高くなります。
Clash Vergeで用意する設定
Clash Vergeを使う前に、対応するプロキシサブスクリプション、または自分で管理している有効なYAML設定を準備してください。Clash Vergeそのものに接続先ノードが含まれているわけではないため、アプリをインストールしただけでは外部サービスへ接続できません。サブスクリプションURLを持っている場合は、プロバイダの管理画面からClash向けのリンクをコピーします。
事前に確認する項目
- Clash VergeまたはClash Verge Revが、使用中のOSに対応していること
- 期限切れではないサブスクリプションURLを用意していること
- 設定ファイルに利用可能なプロキシノードが含まれていること
- 他のVPNやプロキシアプリが同時に動作していないこと
- 端末の日時が大きくずれていないこと
Clash Vergeを起動したら、まず「Profiles」または「プロファイル」に移動し、サブスクリプションURLを登録します。ダウンロードが完了した後、そのプロファイルを選択して有効化してください。プロファイル名が表示されていても、実際にアクティブになっていなければ、プロキシには反映されません。
次に「Proxies」画面で、利用するノードまたは自動選択グループを確認します。自動選択が失敗する場合は、最初の切り分けとして遅延が比較的短いノードを手動で選びます。複数のノードを同時に変更すると原因が分かりにくくなるため、地域や通信方式が異なる二、三個だけを順番に試すのが安全です。
なお、サブスクリプションの取得自体が失敗する場合は、Claude Codeの設定を変更しても解決しません。ブラウザでサブスクリプションURLを開けるか、別のネットワークから取得できるかを確認し、URLの期限、アクセス制限、TLS証明書、プロバイダ側の障害を切り分けてください。
実際にターミナルから接続する手順
ここでは、Clash VergeでHTTPまたはMixedポートを確認し、Claude Codeを起動する前にターミナルの通信経路を整えます。表示名や画面の位置はバージョンによって多少異なりますが、設定画面の「Port」「Mixed Port」「System Proxy」周辺を探せば確認できます。
- Clash Vergeを起動する:コアが実行中で、アクティブなプロファイルが一つだけになっていることを確認します。
- プロキシモードを選ぶ:最初は
Globalで接続を試し、その後Ruleへ戻して動作を比較します。 - ポートを確認する:Mixed Portなどに表示されている番号を控えます。環境によっては
7890や別の番号が使われています。 - ノードを選択する:利用可能なノードを一つ選び、遅延テストや接続ログでエラーがないか確認します。
- ターミナルに環境変数を設定する:端末のシェルがClash Vergeのポートを参照するようにします。
- 小さな通信テストを行う:Claude Codeを起動する前に、一般的なHTTPS通信が通るかを確認します。
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:7890
上記の番号は例です。Clash Vergeに表示されている実際のポートへ置き換えてください。HTTPプロキシとして使う場合、HTTPS通信も通常はHTTPS_PROXY=http://の形式で指定します。ここをhttps://と誤って指定すると、ローカルのプロキシポートとのTLS通信を試みて接続に失敗することがあります。
設定後は、同じターミナルでテストを実行します。
curl -I https://example.com
env | grep -i proxy
テストが成功したら、そのターミナルからClaude Codeを起動します。別のターミナルウィンドウを開くと環境変数は引き継がれないことがあるため、設定したシェルと同じセッションで実行することが重要です。毎回入力するのが面倒な場合は、使用しているシェルの設定ファイルに追加できますが、共有端末ではプロキシ情報が不要な場面まで適用されるため、作業用スクリプトに分ける方法もあります。
ポイント
ブラウザが開けるのにClaude Codeだけが失敗するときは、最初に環境変数を確認してください。システムプロキシの有効化と、CLIがプロキシを利用することは別の設定です。どちらか一方だけが有効な状態では、アプリごとに結果が変わります。
Ruleモード、Globalモード、TUNモードの使い分け
Claude Codeのようなターミナルアプリでは、プロキシモードの選択が結果に大きく影響します。Globalはほぼすべての対象通信を選択したノードへ送るため、ルールの誤判定を避けやすい反面、国内サービスや社内ホストまでプロキシに通してしまうことがあります。接続できるかどうかを確認する初期テストには便利ですが、常用時は注意が必要です。
Ruleモードでは、ドメイン、IP、地域、プロセスなどのルールに基づいて経路が決まります。普段の利用では、必要な外部サービスだけをプロキシへ送り、それ以外を直接接続できるため、速度と安定性のバランスを取りやすくなります。ただし、Claude Codeが使用するAPIドメインや認証関連のドメインがルールに登録されていない場合、意図せずDIRECTへ送られることがあります。
| モード | 向いている場面 | 注意点 |
|---|---|---|
| Global | 最初の接続確認、ルール原因の切り分け | 不要な通信もプロキシを通り、速度や社内アクセスに影響する |
| Rule | 日常利用、通信先ごとの経路分け | ルール順序や最終MATCHの出口を確認する必要がある |
| TUN | 環境変数に対応しないアプリや複数のCLIをまとめて扱う場合 | 管理者権限、仮想ネットワーク、他のVPNとの競合に注意する |
TUNモードは、アプリ側にプロキシ設定がなくても端末の通信をClash Vergeへ渡しやすい方法です。ただし、TUNを有効にしただけで必ずClaude Codeが正常になるわけではありません。仮想インターフェースが作成されているか、OSのファイアウォールが通信を遮断していないか、別のVPNがデフォルトルートを奪っていないかを確認してください。
注意
環境変数とTUNを同時に使うと、通信が二重にプロキシされる場合があります。タイムアウトやTLSエラーが出たときは、まずTUNを一時的に無効にして環境変数だけで試す、または環境変数を解除してTUNだけで試すなど、一つずつ比較してください。
接続エラーと遅延をログから診断する
接続できないときにノードを無作為に変更し続けるより、Clash Vergeの「Logs」や「Connections」を見る方が早く解決できます。Claude Codeを起動した直後の時刻を目印にして、どのドメインへアクセスし、どのルールに一致し、どのプロキシグループへ送られたかを確認してください。
- ログに記録がない:ターミナルがClash Vergeを経由していません。環境変数、TUN、起動したシェルを確認します。
- connection refused:ポート番号が違う、Clash Vergeのコアが停止している、またはリスナーが無効になっている可能性があります。
- timeout:ノードの障害、ルールによる誤った出口、DNS解決の遅延、ネットワーク側の制限を疑います。
- TLS handshake error:時刻ずれ、証明書検証、古いコア、セキュリティソフトによるHTTPS検査を確認します。
- 認証エラー:通信自体は到達している可能性が高いため、APIキー、ログイン状態、アカウント権限を確認します。
Ruleモードで失敗し、Globalモードで成功するなら、Clash Vergeの基本的な接続は動作しており、ルールまたはDNSが原因である可能性が高いです。反対に、どちらのモードでも失敗するなら、まずノード、ポート、コアの状態を確認します。ログに同じリクエストが短時間で何度も現れる場合は、ターミナル側の再試行やタイムアウト設定によって、実際より遅く感じていることもあります。
DNSを切り分けるには、対象ドメインを通常の名前解決とClash Verge経由の名前解決で比較します。fake-ipを使っている環境で特定の開発ツールだけが不安定になる場合は、バックアップを取ったうえで一時的にredir-hostへ変更し、症状が変わるか確認してください。設定を大きく書き換えるのではなく、一項目ずつ変更して結果を記録するのが安全です。
安定して使うための運用ポイント
Claude Codeを継続的に使うなら、毎回すべてを手動で確認するのではなく、設定を単純に保つことが大切です。まず、日常用のプロファイルと検証用のプロファイルを分けてください。ルールを編集するときは検証用で試し、問題がなければ日常用へ反映します。プロファイルのバックアップも、サブスクリプション更新前に保存しておくと、更新後にノードやルールが変わった場合でも戻せます。
ノード選択では、単純な遅延の短さだけで判断しないようにします。遅延テストが速くても、長時間のHTTPS接続、ストリーミング、頻繁なAPIリクエストに弱いノードがあります。数分間の利用で応答が途切れないか、ログに再接続が増えていないかを見て、開発作業に向く出口を選んでください。
また、ターミナルの環境変数に認証情報やサブスクリプションURLを書き込まないでください。シェルの履歴、共有ログ、画面共有に残る可能性があります。プロキシのポートは通常ローカルアドレスに限定し、LAN共有を有効にする場合はアクセス元を制限します。不要なときはシステムプロキシ、TUN、環境変数を解除して、通常のネットワークへ戻せる状態を保ちましょう。
Clash Verge以外のツールでもターミナル接続は可能ですが、CLIごとにプロキシ変数を個別設定する必要があったり、GUIのログ確認やルール管理が分かりにくかったりする場合があります。Clash Vergeなら、プロファイル、ノード、RuleとGlobalの切り替え、接続ログを一つの画面で確認でき、Claude Codeのような開発用CLIの切り分けを進めやすくなります。環境変数とTUNを使い分けながら、端末全体の通信を自分で管理したい方は、Clashを無料でダウンロードして試してみてください。