· 進階知識 · 約 11 分鐘

Claude Code連線不穩怎麼辦?用V2Ray設定終端機代理

在使用 Claude Code 時遇到登入失敗、請求逾時或終端機連不上服務?本文從命令列工作流程出發,說明如何透過 v2rayN 等用戶端建立本機代理,設定終端機代理環境變數,並檢查節點線路與分流規則。另整理常見連線問題的排查方向與安全提醒,協助開發者確認問題出在網路、帳號或用戶端設定。

本文重點

Claude Code 在終端機執行時出現連線逾時或登入失敗,不一定是節點故障,也可能是終端機沒有使用代理、代理連接埠填錯,或帳號本身尚未完成授權。本文以 Windows 上的 v2rayN 為例,說明如何確認本機代理入口、在 PowerShell 設定代理環境變數,並逐步區分網路、終端機與帳號問題。選單名稱和連接埠會依版本與設定不同,請以自己的用戶端畫面為準。

先分清楚代理與帳號問題

v2rayN 負責管理節點與啟動核心;Claude Code 則是在終端機中執行的命令列工具。瀏覽器能透過 v2rayN 開啟網站,只代表瀏覽器目前可以連線,不代表 PowerShell、Windows Terminal 或其他終端機程式也會自動使用同一條代理。終端機通常需要讀取目前工作階段中的代理環境變數,或使用應用程式明確支援的代理設定。

建議先把故障分成三層:第一層是 v2rayN 核心與節點能否正常連線;第二層是終端機是否連到正確的本機代理入口;第三層才是 Claude Code 的登入狀態、帳號資格與授權流程。一次只檢查一層,避免同時換節點、重裝工具和清除登入資料,最後反而難以判斷是哪項改動有效。

127.0.0.1
終端機連向本機代理的常見位址
10809
HTTP 代理連接埠範例,需以 v2rayN 設定為準
443
HTTPS 服務常見的遠端連接埠,不是本機代理連接埠

上述數字只是檢查用的常見範例,並非固定規格。若你的 v2rayN 設定使用其他 HTTP 監聽連接埠,環境變數也必須跟著修改。不要把節點伺服器的位址或遠端連接埠填到 HTTP_PROXY;這個變數應指向本機代理服務。

確認 v2rayN 本機代理入口

先啟動 v2rayN,選取一個可用節點並確認核心正在執行。不同版本的介面位置可能不同,可從「設定」→「參數設定」查看本機監聽連接埠,或在系統匣選單與主視窗中尋找入站、HTTP 代理或本機代理相關設定。若介面將 HTTP 與 SOCKS 分開顯示,記下 HTTP 代理的位址和連接埠;下方指令以 127.0.0.1:10809 為例。

  1. 啟動核心

    在 v2rayN 中選擇作用中節點並啟動服務。查看日誌或狀態提示,確認核心沒有因設定錯誤或本機連接埠占用而立即退出。

  2. 查看代理類型

    開啟「設定」→「參數設定」或相應的入站設定,確認本機是否提供 HTTP 代理。使用 HTTP 代理網址格式填入環境變數,不要把 SOCKS 連接埠誤當成 HTTP 連接埠。

  3. 核對監聽位址

    記下本機位址與連接埠,常見位址是 127.0.0.1。若設定限定監聽在其他介面,請以實際設定為準,並避免在不必要時將本機代理開放給區域網路。

  4. 測試核心連線

    先用瀏覽器或其他已知可用的方式測試同一節點。若核心尚未連上伺服器,先處理節點、網路或核心錯誤,再設定 Claude Code。

  5. 記下實際連接埠

    把設定頁面顯示的 HTTP 連接埠記下來,後續指令中的 10809 都要替換成這個值。切換節點通常不等於更換本機監聽連接埠,但仍應重新確認實際設定。

如果不確定某個連接埠是否正在監聽,可在 PowerShell 執行唯讀檢查。以下指令檢查範例連接埠 10809;沒有輸出表示當下沒有找到該 TCP 監聽項目,並不能證明遠端節點一定故障。

Get-NetTCPConnection -LocalPort 10809 -State Listen -ErrorAction SilentlyContinue |
  Select-Object LocalAddress, LocalPort, OwningProcess

在終端機設定代理變數

Claude Code 從終端機啟動時,應在啟動命令的同一個終端機工作階段中設定代理變數。常見變數名稱為 HTTP_PROXY 和 HTTPS_PROXY;HTTPS 網站仍使用 http://127.0.0.1:連接埠 這種寫法,因為這表示先透過本機 HTTP 代理轉送 HTTPS 要求,不代表目標網站改用未加密連線。

以下以 Windows PowerShell 為例,連接埠使用前述的 10809。只影響目前 PowerShell 工作階段,不會自動替其他已開啟的終端機設定代理:

$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

若已經在 Claude Code 工作階段中,可先退出,再於設定好變數的終端機重新執行。若你使用命令提示字元而不是 PowerShell,設定方式不同;不要把 PowerShell 的 $env: 語法直接貼進命令提示字元。使用 Bash 的環境可在目前工作階段執行:

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

NO_PROXY 用來指定不經代理的本機目標,並非繞過一般網際網路代理的開關。若你的環境已有 NO_PROXY 清單,先查看目前內容,再依需要合併項目;直接覆寫可能影響其他開發工具。若希望變數在新終端機中持續存在,可設定使用者層級的環境變數,但排查時建議先用工作階段設定,確認有效後再決定是否持久化。

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 視窗及由它啟動的子程序使用。

Bash 工作階段

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

請在啟動 Claude Code 的同一個 Shell 中設定並測試。

不同版本的 Claude Code、執行環境或周邊工具,可能對代理變數的處理方式有所差異。若變數已設定但仍無法連線,先確認你啟動的 Claude Code 確實繼承了這些變數,再查看錯誤訊息與官方版本說明;不要只因為瀏覽器可用,就認定命令列程式已使用相同代理。

逐層排查逾時與連線失敗

確認環境變數後,以同一個終端機視窗啟動 Claude Code,記錄完整錯誤文字與發生時間。若日誌指出本機連線遭拒,優先檢查代理連接埠與 v2rayN 核心;若錯誤發生在連線至服務端或等待回應階段,再比較節點、網路環境與服務狀態。錯誤片段只能提供方向,不能單獨證明帳號已失效或節點一定被封鎖。

每次只改一項並以相同方式重測。例如先保持節點不變,只修正 HTTP 連接埠;確認仍失敗後,再換節點,不要同時修改環境變數、核心、DNS 和帳號狀態。這樣才能從結果看出故障是否位於本機代理入口,或是在更後面的連線與授權階段。

檢查登入授權與工具狀態

代理可用並不代表 Claude Code 帳號必然能登入。登入可能使用瀏覽器完成授權,瀏覽器與終端機是兩個不同的連線路徑:瀏覽器開啟授權頁成功,不代表終端機的 API 要求也使用代理;反過來,終端機能連上代理,也不能代替帳號驗證或服務資格檢查。

依序確認以下事項:

若同一帳號在一種網路可以登入、另一種網路無法登入,可在不改變帳號與工具版本的情況下,比較兩種網路的結果。若更換可用節點後問題仍只出現在授權階段,應依錯誤內容檢查登入狀態或服務支援,而不是持續重建 v2rayN 訂閱。

常見問題

瀏覽器能上網,Claude Code 還是逾時,為什麼?

瀏覽器可能使用系統代理,但終端機不一定會自動繼承。請在啟動 Claude Code 的同一個 PowerShell 視窗設定 HTTP_PROXY 與 HTTPS_PROXY,再確認網址中的連接埠和 v2rayN 的 HTTP 監聽設定一致。

可以直接把 SOCKS 連接埠填進 HTTPS_PROXY 嗎?

不能只替換連接埠而忽略代理類型。先確認 Claude Code 執行環境是否支援你要使用的 SOCKS 格式;較容易檢查的做法,是使用 v2rayN 提供的 HTTP 代理入口,並以實際設定值建立 http://127.0.0.1:連接埠。

設定環境變數後,為什麼重開終端機又失效?

範例使用的是目前工作階段變數,關閉視窗後就不再適用。確認設定有效後,可依需要設定使用者層級的環境變數;或在每次啟動 Claude Code 前,於目前終端機重新設定並檢查連接埠。

代理已連線,Claude Code 仍顯示登入失敗怎麼辦?

先分辨失敗發生在瀏覽器授權、本機回呼,還是登入後的服務請求。檢查目前帳號與授權狀態、工具版本及組織政策;若錯誤指向帳號或服務資格,請依服務提供方的帳號支援流程處理。

下載v2rayN依平台選擇用戶端