想在台灣的本地電腦試用 Claude Code,最常遇到的問題通常不是指令本身,而是登入流程、終端機代理與圖形用戶端設定沒有接在同一條連線路徑上。瀏覽器可以開啟 Anthropic 網站,不代表終端機中的 Claude Code 也能正常連線;反過來,Clash Verge 顯示代理已啟用,也不代表命令列程式一定會自動使用這個代理。
Clash Verge 負責啟動 mihomo 或其他相容核心、管理訂閱與建立本機代理埠,Claude Code 則是執行在終端機中的開發工具。兩者之間需要透過環境變數、系統代理或 TUN 模式建立連線關係。本文會從安裝前檢查開始,說明 Clash Verge 的訂閱匯入、代理模式、終端機設定與常見登入錯誤,並示範如何只讓 AI 開發相關網域經過代理,避免把所有本機流量都無條件送出。
一、Claude Code 與 Clash Verge 的連線關係
Claude Code 是命令列工具,通常在 Windows PowerShell、macOS Terminal、Linux Shell 或整合式開發環境的終端機中執行。它不一定會讀取瀏覽器的代理擴充功能,也不一定會跟隨 Clash Verge 的系統代理開關。要讓它使用 Clash,必須確認目前終端機程序能取得有效的 HTTP、HTTPS 或 SOCKS5 代理設定。
Clash Verge 常見的本機入口包括 HTTP 代理埠、SOCKS5 代理埠與 mixed-port。不同版本、不同設定檔的埠號可能完全不同,因此不要直接複製網路文章中的 127.0.0.1:7890。應在 Clash Verge 的設定或一般頁面查看目前實際監聽的埠號,再將它填入終端機環境變數。若用戶端啟用了驗證,還需要同時確認代理使用者名稱與密碼。
| 連線層 | 負責內容 | 排查重點 |
|---|---|---|
| Claude Code | 登入、API 請求、更新與終端機輸出 | 帳號狀態、版本、環境變數與錯誤訊息 |
| 終端機 | 承載 Claude Code 的 Shell 程序 | PowerShell、Bash、zsh 的變數語法是否正確 |
| Clash Verge | 代理埠、訂閱、規則、策略組與核心 | 核心是否啟動、埠號是否監聽、請求是否出現在日誌 |
| 遠端服務 | 帳號驗證與 Claude Code 所需服務 | 地區、方案、DNS、TLS 與節點出口是否可用 |
實際排查時,建議先從近端往遠端檢查:先確認 Clash 核心正在執行,再確認本機代理埠可以連線,接著查看 Claude Code 的請求是否出現在 Clash 日誌,最後才判斷遠端服務、帳號或規則問題。這個順序可以避免把登入錯誤誤判為訂閱失效。
二、安裝 Clash Verge 並匯入訂閱
桌面環境可先從本站的下載頁選擇與作業系統相符的 Clash 用戶端。Windows 使用者通常會選擇 Windows 安裝包,macOS 使用者則要注意 Intel 與 Apple Silicon 架構差異。安裝完成後,首次啟動可能需要允許防火牆、系統代理或網路擴充功能;這些權限會影響系統代理與 TUN 模式,但不代表授予用戶端讀取所有檔案的權限。
匯入訂閱前的準備
訂閱連結通常由服務提供者產生,內容可能包含多個代理節點、策略組、規則提供器與 DNS 設定。請使用可信任來源的訂閱網址,不要把訂閱連結貼到公開論壇或聊天群組;這類網址往往等同於帳戶憑證,洩漏後可能被他人消耗流量或修改設定。若服務商提供「Clash」「Clash Meta」或「mihomo」不同格式,應優先選擇與目前核心相符的格式。
- 開啟 Clash Verge,進入設定檔或訂閱管理頁面。
- 貼上服務提供者給出的訂閱 URL,為設定檔取一個容易辨識的名稱。
- 執行更新或匯入,等待節點與規則完成解析。
- 選取剛匯入的設定檔,確認核心可以正常啟動。
- 在代理頁面查看策略組,先選擇穩定節點,不要一開始就啟用過於複雜的自動切換。
匯入成功不等於所有節點都可用。若核心日誌出現 YAML 縮排錯誤、未知欄位、協定不支援或 DNS 初始化失敗,應先處理設定載入問題。若設定檔包含 VLESS、Reality、Hysteria2、TUIC 或其他擴充欄位,請確認 Clash Verge 實際使用的是支援這些欄位的 mihomo 核心,而不是較早期的原版核心。
三、動手設定終端機代理
這是整個流程中最重要的操作步驟。先在 Clash Verge 的一般設定中找到 HTTP、SOCKS 或 mixed-port,以下以假設的 127.0.0.1:7890 示範。若你的用戶端顯示其他埠號,必須全部替換,不要同時使用兩個不同的埠號。
Windows PowerShell
在 PowerShell 中,可以先為目前視窗設定代理。這種方式只影響目前的 PowerShell 工作階段,關閉視窗後通常不會保留,適合測試:
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:ALL_PROXY="socks5://127.0.0.1:7890"
$env:NO_PROXY="localhost,127.0.0.1,::1"
如果 Clash Verge 的 mixed-port 是 HTTP 與 SOCKS 共用入口,通常可以先使用 HTTP_PROXY 與 HTTPS_PROXY 測試。ALL_PROXY 是否被目前版本的工具採用,取決於 Claude Code 及其底層網路函式庫,因此不要只設定它一項。若本機代理沒有啟用 SOCKS,則不要將 ALL_PROXY 指向不存在的 SOCKS 埠。
macOS 與 Linux Shell
在 Bash 或 zsh 中,設定方式使用 export:
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"
export NO_PROXY="localhost,127.0.0.1,::1"
部分程式只讀取小寫變數,因此測試時也可以同步設定小寫名稱:
export http_proxy="$HTTP_PROXY"
export https_proxy="$HTTPS_PROXY"
export all_proxy="$ALL_PROXY"
export no_proxy="$NO_PROXY"
完成後,先不要急著重新登入。可以使用系統可用的 HTTPS 測試命令確認本機代理是否能建立連線:
curl -I https://example.com
這個命令只能驗證代理路徑的基本可用性,不能證明 Claude Code 所需的每個服務都正常。若 Clash 日誌完全沒有出現請求,通常代表環境變數沒有傳入目前終端機、代理埠填錯,或 Claude Code 使用的程序沒有採用這組變數。若日誌有請求但回應逾時,則應繼續檢查規則、策略組、DNS 與節點出口。
是否要永久寫入環境變數
不建議一開始就把代理變數永久寫入全域系統。永久設定可能讓 Git、套件管理器、雲端工具與其他命令列程式全部經過代理,遇到內網、公司網域或不支援代理的服務時反而增加故障範圍。比較安全的方式是先在專案專用的 Shell 工作階段中設定,確認 Claude Code 穩定後,再依工作習慣建立專用啟動腳本。
四、為 AI 開發工具設計分流規則
Claude Code 不只會發送一次登入請求。執行期間可能涉及帳號驗證、API 通訊、版本檢查、文件下載或其他遠端資源。實際網域會隨版本與服務架構變化,因此不應只複製一份來源不明的固定網域清單。比較穩妥的做法是先觀察 Clash 日誌,辨識確實由 Claude Code 產生的請求,再依服務商文件與目前環境建立規則。
分流規則的順序非常重要。Clash 會由上到下比對規則,先匹配的規則會決定流量去向。若將寬泛的網域規則放在前面,可能把不需要代理的開發服務、套件鏡像或公司內網一併送到相同節點。若規則太寬,還可能造成登入回呼、原始碼平台與 API 使用不同出口,增加驗證風控或連線不一致的機會。
rules:
- DOMAIN-SUFFIX,example-ai-service.com,AI服務
- DOMAIN-SUFFIX,example.com,DIRECT
- GEOIP,LAN,DIRECT
- MATCH,日常代理
上例中的網域只是示意,不能直接當作 Claude Code 的完整規則清單。AI服務、日常代理 必須是目前設定檔中已存在的策略組名稱;如果策略組不存在,核心可能在載入時報錯,或該規則無法按照預期工作。新增規則後,應重新載入設定並在日誌中確認實際命中結果。
| 分流方式 | 優點 | 可能問題 | 適用情境 |
|---|---|---|---|
| 系統代理 | 設定簡單,桌面應用程式容易跟隨 | 終端機與特殊應用程式不一定採用 | 瀏覽器與一般桌面工具 |
| 終端機環境變數 | 範圍明確,容易測試與撤銷 | 每個 Shell 需要正確設定 | Claude Code、Git、套件工具 |
| TUN 模式 | 可接管較多不讀取代理變數的程式 | 需要系統權限,DNS 與路由較複雜 | 多種應用程式都必須統一分流 |
如果只有 Claude Code 需要代理,優先使用終端機環境變數,通常比直接啟用 TUN 更容易控制。TUN 是系統層級的透明代理,可能接管更多流量,也會影響本機服務、容器、虛擬機與區域網路。只有在目標工具完全不支援代理變數,或需要統一處理多種網路程式時,才考慮啟用 TUN,並先設定好 LAN、localhost 與內網網段的直連規則。
五、登入失敗與終端機連不上時怎麼查
遇到 Claude Code 登入失敗時,不要連續更換節點、核心與規則,這樣很難知道是哪個變更產生效果。建議先記錄完整錯誤訊息,再按照「核心、埠號、環境變數、規則、帳號」的順序逐項驗證。登入過程若需要瀏覽器回呼,也要確認瀏覽器與終端機使用的網路出口沒有被不同代理設定分開。
- 確認 Clash 核心狀態:在 Clash Verge 中查看核心是否正常執行,設定檔是否載入完成,代理埠是否處於監聽狀態。
- 確認終端機變數:Windows 使用
Get-ChildItem Env:,macOS 或 Linux 使用env | grep -i proxy,檢查目前 Shell 是否真的取得變數。 - 確認日誌是否有請求:執行 Claude Code 操作時,若 Clash 完全沒有新連線,問題多半仍在終端機入口或程序代理設定。
- 確認策略組與節點:先手動選擇一個穩定節點,暫時不要使用頻繁測速或多層自動策略,避免健康檢查結果干擾判斷。
- 確認 DNS 與時間:DNS 解析失敗、系統時間錯誤或 TLS 憑證驗證異常,都可能表現為登入逾時或安全連線失敗。
- 確認帳號與瀏覽器回呼:若請求已經抵達遠端服務,但仍顯示授權失敗,應檢查帳號方案、驗證狀態、回呼頁面與服務端訊息。
常見錯誤現象與處理方向
| 現象 | 較可能原因 | 建議處理 |
|---|---|---|
| 瀏覽器正常,Claude Code 逾時 | 終端機未讀取代理或埠號錯誤 | 重新設定環境變數並查看 Clash 日誌 |
| 日誌出現連線但 TLS 失敗 | 節點、時間、DNS 或中間代理異常 | 更換穩定節點並檢查系統時間與憑證 |
| 登入頁可開啟但授權不完成 | 回呼網址、瀏覽器代理或帳號狀態問題 | 保持瀏覽器與終端機路徑一致,重新確認帳號 |
| 執行後沒有任何 Clash 記錄 | 程序未採用環境變數或被其他設定攔截 | 在同一個 Shell 直接檢查變數與代理測試命令 |
| 普通網站可用,特定服務失敗 | 規則命中錯誤、出口限制或服務端拒絕 | 查看目標網域命中策略與遠端回應 |
測試完成後,如果不希望其他命令列程式繼續使用代理,可以在 PowerShell 中清除目前工作階段的變數:
Remove-Item Env:HTTP_PROXY
Remove-Item Env:HTTPS_PROXY
Remove-Item Env:ALL_PROXY
Remove-Item Env:NO_PROXY
在 macOS 或 Linux 中則可執行:
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY NO_PROXY
unset http_proxy https_proxy all_proxy no_proxy
建立穩定的日常使用流程
完成初次設定後,日常使用可以保持簡單:先啟動 Clash Verge,確認設定檔與核心正常,再開啟新的終端機工作階段,最後執行 Claude Code。若終端機是在 Clash 啟動前開啟,原本的環境變數通常仍然有效,但代理服務尚未監聽時,第一次連線可能會失敗。因此,先啟動用戶端再開終端機,比較容易排除時序問題。
開發期間不必頻繁切換節點。對需要登入、長時間工作或持續提交請求的工具而言,穩定出口通常比短暫測得較低的延遲更重要。若使用 url-test,可以適當拉長檢查間隔並設定合理的容忍值;若必須維持固定出口,則選擇手動策略組或主備型 fallback,避免工作途中因節點自動切換而觸發重新驗證。
最後,請把訂閱網址、代理驗證資料、帳號權杖與終端機輸出視為敏感資訊。不要將含有環境變數的診斷截圖、完整登入網址或私有設定檔直接公開。當需要尋求協助時,可以先遮蔽訂閱 Token、使用者名稱、密碼、Cookie、授權碼與實際節點位址,只保留核心錯誤、埠號格式與規則命中結果。
總結來說,Claude Code 在台灣本地電腦上的連線設定,核心不是單純開啟 Clash Verge 的「系統代理」,而是確認終端機程序、代理埠、核心規則與帳號驗證共同使用可預期的網路路徑。先用環境變數完成小範圍測試,再按需要擴大到系統代理或 TUN 模式,通常能以較少變更換得更容易維護的 AI 開發環境。
選擇用戶端並開始設定
先下載適合作業系統的 Clash 用戶端,再依照快速上手流程完成訂閱匯入與代理檢查。