Claude Codeをv2rayNで使う設定方法と接続トラブル解決ガイド

Claude Codeをターミナルから使いたいのに、ログインできない、APIがタイムアウトする、リクエストが途中で止まるといった問題はありませんか。本記事ではv2rayNへのサブスクリプション追加、システムプロキシ、環境変数、ルーティング設定を初心者向けに解説します。

この記事の要点

Claude Codeを導入した後にログインできない、APIリクエストがタイムアウトする、ブラウザーは通信できるのにターミナルだけ失敗するといった場合は、v2rayNの接続状態とターミナルのプロキシ環境変数を分けて確認します。この記事では、v2rayNのサブスクリプション追加、ノード接続、HTTPプロキシとSOCKSプロキシの選択、PowerShellやコマンドプロンプトへの環境変数設定、Claude Codeだけを対象にしたルール確認までを順番に説明します。

Claude Codeとv2rayNの通信経路を理解する

Claude Codeはターミナルから動作する開発支援ツールです。一般的なウェブブラウザーと違い、ブラウザーのプロキシ設定やOSのシステムプロキシを自動的に使うとは限りません。そのため、v2rayNのメイン画面でノードが接続済みになっていても、Claude Codeを起動したターミナルからのHTTPS通信が直接接続になり、ログインやAPIリクエストだけが失敗することがあります。

v2rayNでは、外部サーバーとの通信をXrayなどのコアが処理し、PC上ではローカルプロキシポートを待ち受けます。よく使われる構成では、HTTPプロキシが127.0.0.1:10809、SOCKSプロキシが127.0.0.1:10808です。ただし、これらは固定値ではありません。v2rayNの「設定」→「パラメータ設定」→「ポート設定」または同等の画面で、実際のHTTPポートとSocksポートを確認してください。

Claude Codeが要求を作成ターミナルが環境変数を参照v2rayNがローカル受信Xrayがノードへ接続HTTPS応答を返す
10809
HTTPプロキシの設定例
10808
SOCKSプロキシの設定例
443
HTTPS接続で一般的な宛先ポート
2系統
v2rayNとターミナルの確認箇所

最初に切り分けるべきなのは、v2rayN自体がノードへ接続できていないのか、Claude Codeだけがローカルプロキシを利用していないのかです。ターミナルで環境変数を設定する前に、v2rayNの接続テスト、ブラウザーでのHTTPSアクセス、ローカルポートの待ち受けを順に確認すると、設定を無意味に変更せずに済みます。

v2rayNでサブスクリプションとノードを確認する

Claude Codeの設定を先に変更するより、まずv2rayN単体の通信を安定させます。サブスクリプション更新が失敗している状態では、一覧に表示されたノードが古い、期限切れ、または接続情報の一部を欠いている可能性があります。v2rayNの「サブスクリプショングループ」から対象グループを確認し、「更新」または「すべて更新」を実行してください。更新時にタイムアウトが出る場合は、購読元のURL、ネットワーク、DNS、更新にプロキシを使う設定を分けて調べます。

  1. 購読を追加

    v2rayNの「サブスクリプショングループ」→「追加」を開き、購読名と完全なURLを入力します。URLの前後に空白や改行を入れず、保存後に「更新」を実行します。購読URLには認証用のトークンが含まれる場合があるため、ログや画面共有にそのまま貼り付けないでください。

  2. ノードを選択

    更新後、メイン画面のサーバー一覧から有効なノードを1つ選びます。VLESS、VMess、Trojanなどの名前だけで判断せず、アドレス、ポート、TLS、SNI、UUIDやパスが購読内容と一致しているかを確認します。

  3. 接続を開始

    ノードを右クリックして「サーバーに接続」または同等の操作を実行します。v2rayNのステータスが接続済みになり、ログに継続的なタイムアウトや名前解決失敗が出ていないことを確認します。

  4. ポートを確認

    「設定」→「パラメータ設定」→「ポート設定」を開き、HTTPプロキシとSocksプロキシのポート番号を記録します。この記事の例はHTTPが10809、SOCKSが10808ですが、実際には表示された番号を優先してください。

  5. 通常通信を検証

    ブラウザーまたはコマンドラインからHTTPSサイトへアクセスし、v2rayNのログに新しい接続が現れるか確認します。ここで外部通信ができない場合、Claude Codeの環境変数を変更しても改善しないため、先にノード、DNS、TLS、ルーティングを修正します。

v2rayNのシステムプロキシを有効にすると、対応するデスクトップアプリは自動的にHTTPプロキシを使えるようになります。しかし、ターミナルで起動するNode.js系のツールがその設定を必ず継承するとは限りません。Claude Codeを起動するシェルに明示的な環境変数を設定する方法のほうが、対象と動作条件を確認しやすくなります。

ターミナルにプロキシ環境変数を設定する

Claude Codeを使うシェルごとに、プロキシの指定方法が異なります。WindowsのPowerShellでは$env:HTTPS_PROXY、コマンドプロンプトではset HTTPS_PROXY=...を使います。HTTPとHTTPSの両方を同じローカルHTTPプロキシへ向ける構成が分かりやすく、まずはhttp://127.0.0.1:10809を試してください。ポート番号は必ずv2rayNの実際の表示に合わせます。

PowerShell

HTTP_PROXY
http://127.0.0.1:10809
HTTPS_PROXY
http://127.0.0.1:10809
NO_PROXY
localhost,127.0.0.1

現在開いているPowerShellのセッションだけに適用する例です。

コマンドプロンプト

HTTP_PROXY
http://127.0.0.1:10809
HTTPS_PROXY
http://127.0.0.1:10809
NO_PROXY
localhost,127.0.0.1

新しく起動したコマンドプロンプトには再設定が必要です。

PowerShellで一時的に設定する場合は、次のコマンドを実行してから同じウィンドウでClaude Codeを起動します。

$env:HTTP_PROXY="http://127.0.0.1:10809"
$env:HTTPS_PROXY="http://127.0.0.1:10809"
$env:NO_PROXY="localhost,127.0.0.1"
claude

コマンドプロンプトでは、次のように設定します。

set HTTP_PROXY=http://127.0.0.1:10809
set HTTPS_PROXY=http://127.0.0.1:10809
set NO_PROXY=localhost,127.0.0.1
claude

環境変数名の大文字と小文字は実装によって扱いが異なる場合があるため、互換性を優先するなら小文字のhttp_proxyhttps_proxyも同時に設定します。ただし、同じ変数に異なるURLを入れると、どの値が採用されたか分かりにくくなります。HTTPプロキシ方式で試す場合は、すべて同じ127.0.0.1:10809へ統一してください。

プロキシを使わない状態へ戻すときは、PowerShellでRemove-Item Env:HTTP_PROXY, Env:HTTPS_PROXY, Env:ALL_PROXYを実行します。コマンドプロンプトではset HTTP_PROXY=set HTTPS_PROXY=set ALL_PROXY=を実行します。別のターミナルを開いても古い設定が残る場合は、Windowsのユーザー環境変数または起動スクリプトに登録されていないか確認してください。

HTTPとSOCKSの使い分け

Claude CodeのようなHTTPSベースのCLIでは、最初はv2rayNのHTTPプロキシを使用するのが無難です。HTTPプロキシはCONNECTによってHTTPS先へトンネルを作る方式で、多くのコマンドラインツールが環境変数から解釈しやすい構成です。SOCKSポートしか使わない場合は、ツール側がsocks5://127.0.0.1:10808をサポートしているか確認する必要があります。

HTTPプロキシを設定しても接続できない場合、直ちにSOCKSへ切り替えるのではなく、まずポートが開いているか、v2rayNのログに要求が届いているかを確認します。ログに何も出ないなら、Claude Codeを起動したシェルが環境変数を読んでいない、変数名が異なる、または別のターミナルから起動している可能性があります。ログに要求が出ているのに失敗するなら、ノード側のTLS、DNS、ルーティング、リモートサービスへの到達性を調べます。

症状 優先確認箇所 次の操作
v2rayNのログに要求がない 環境変数、起動したシェル、ポート番号 echo $env:HTTPS_PROXYなどで値を表示する
ローカル接続が拒否される HTTPポートの待ち受け状態 v2rayNを起動し、設定画面のポートを再確認する
ノード接続後もタイムアウトする ノード、DNS、ルーティング 別ノードで試し、ログの最初のエラーを確認する
認証画面だけ失敗する 環境変数とサービス到達性 同じターミナルでHTTPS通信を検証し、認証情報を再入力する

サービス別ルールと名前解決を見直す

Claude CodeのログインやAPI通信で使用されるドメインは、設定やサービスの構成によって変わる可能性があります。特定のホスト名を推測して手動登録するより、まずv2rayNのログで実際に要求されたドメインを確認し、そのドメインが意図したプロキシ出站へ送られているかを調べてください。ルールを追加する場合も、広すぎるキーワード指定で開発ツール全体をプロキシ対象にするのではなく、必要なドメインだけを対象にします。

ルーティングモードを「ルール」や「PAC」にしている場合、ブラウザーでは通るのにターミナルの対象ドメインだけが直接接続になることがあります。切り分けでは一時的にグローバルプロキシ相当のモードで試し、接続が成功するか比較します。グローバルで成功し、ルールモードで失敗するなら、ノードの問題ではなくルールセット、DNS判定、またはドメイン分類が原因である可能性が高くなります。

DNS設定にも注意が必要です。ローカルDNSで対象ドメインを解決できない、IPv6アドレスだけが返される、DNS要求が直接ネットワークへ流れると、HTTPSプロキシを設定していても接続開始前に失敗することがあります。v2rayNのDNS設定、IPv4とIPv6の利用状態、FakeDNSやTUNを併用している場合のルールを一度に変更せず、ログの名前解決エラーと接続エラーを分けて確認してください。

ブラウザーは使えるのにClaude Codeだけ失敗するのはなぜですか?

ブラウザーがシステムプロキシを使用していても、ターミナルのプロセスが同じ設定を継承するとは限りません。PowerShellで$env:HTTPS_PROXYを表示し、v2rayNのHTTPポートを明示してから同じウィンドウで起動してください。

10808と10809のどちらを使えばよいですか?

まずHTTPプロキシのポートを使います。一般的な例は10809ですが、v2rayNの「ポート設定」に表示された値が正解です。SOCKSを使う場合だけ10808などのSocksポートを指定します。

環境変数を設定した後も古い経路になります

すでに起動しているClaude Codeやターミナルは、変更前の環境を保持している場合があります。プロセスを終了し、新しいPowerShellまたはコマンドプロンプトで変数を設定してから再起動してください。

プロキシを設定すると認証情報はv2rayNに保存されますか?

通常、環境変数に指定するのはローカルプロキシのURLです。認証トークンやAPIキーをURL、ログ、共有画面に書かず、認証情報はサービスが指定する安全な方法で管理してください。

ログイン失敗と通信エラーを切り分ける

エラーが発生したときは、メッセージの末尾だけでなく、最初に発生した原因を見ます。「connection refused」はローカルポートへ接続できない状態を示すことが多く、「timeout」はDNS、ノード、リモートサービスの応答遅延など複数の可能性があります。「407 Proxy Authentication Required」が表示される場合は、外部サービスの認証ではなく、ローカルまたは中継プロキシが認証を要求している可能性があります。

エラー: connect ECONNREFUSED 127.0.0.1:10809

原因と対処:指定したHTTPプロキシポートで待ち受けているプロセスがありません。v2rayNが起動しているか、HTTPポートが10809か、別のアプリがポートを変更していないかを確認し、実際のポートへ環境変数を合わせます。

エラー: ETIMEDOUT

原因と対処:ローカルプロキシまたはノード経由の接続が制限時間内に完了していません。v2rayNのログでDNS、TLS、リモート接続のどこで止まったか確認し、別ノードと別ルーティングモードで比較します。

エラー: getaddrinfo ENOTFOUND

原因と対処:対象ホスト名を解決できていません。ターミナルが意図したプロキシを使っているか、v2rayNのDNS設定が有効か、ドメイン名の入力ミスがないかを確認してください。

エラー: 407 Proxy Authentication Required

原因と対処:接続先または中継プロキシが認証を求めています。ローカルURLに不要な認証情報を追加せず、会社や学校のネットワークで別のプロキシが強制されていないかを確認します。

ログインが成功した後も、プロキシ環境変数を永続化するかは利用環境に応じて決めます。共有PCや業務用端末では、常にプロキシを使う設定にすると、社内サービスやローカル開発サーバーまで外部ノードへ送ることがあります。NO_PROXYlocalhost127.0.0.1、必要な社内ドメインを追加し、ローカルのパッケージレジストリや開発用APIが意図せず経由しないようにしてください。

安定運用のための最終確認

Claude Codeを日常的に使う場合は、毎回手入力するより、プロジェクトごとに起動方法を決めるほうが安全です。ただし、APIキーや認証トークンをシェルスクリプトへ直接書く方法は避け、環境変数の保護機能やサービスが案内する認証方法を利用してください。プロキシURLは通常ローカルアドレスですが、ログに表示されるコマンド全体を共有する際は認証情報が含まれていないか確認します。

v2rayNを更新した後は、HTTPポート、Socksポート、コアの種類、ルーティングモードが変わっていないか確認します。設定をインポートした後にポート番号が初期値へ戻ることもあるため、以前のシェル設定をそのまま使えるとは限りません。Claude Codeを起動する前に、v2rayNの接続状態、ターミナルの環境変数、ログの新規接続という3点を確認すると、再発時の調査時間を短縮できます。

V2Rayクライアントをダウンロード お使いのシステムに合うインストーラーを選択