Claude Code 代理配置與瀏覽器出口為何不同
排查順序示意;請結合實際結果核對。

第一步:確認 Claude Code 實際執行在哪裡

先在發生問題的終端執行 claude --version,並記錄它是 Windows PowerShell、macOS 終端、WSL、容器還是 SSH 遠端。瀏覽器能開啟網頁,只能證明瀏覽器這條路徑可用。遠端程序讀取的是遠端環境,Windows 上的代理埠也不會自動出現在 WSL 或伺服器裡。

預期結果是能明確寫出“哪個程序、在哪臺裝置、通過什麼入口連線”。如果版本命令本身就找不到程式,先處理安裝或 PATH;此時還沒有證據說明網路或賬號存在問題。

第二步:檢查代理變數是否存在,不公開憑據

以下命令只顯示變數名及是否設定,不列印代理地址、使用者名稱或密碼。在實際執行 Claude Code 的同一終端執行;變數存在不代表代理可連線,也不代表當前應用一定採用它。

PowerShell 的 Set 為 False,或 macOS/WSL 某個名稱沒有輸出,表示當前程序環境中沒有該變數。再檢查代理客戶端是否依靠系統代理、TUN 或應用單獨配置,不能僅憑缺少變數就判定沒有代理。

Windows PowerShell:只讀檢查

'HTTPS_PROXY','https_proxy','HTTP_PROXY','http_proxy','NO_PROXY','no_proxy' | ForEach-Object { [pscustomobject]@{Name=$_;Set=[bool][Environment]::GetEnvironmentVariable($_)} }

macOS/WSL:只讀檢查

for name in HTTPS_PROXY https_proxy HTTP_PROXY http_proxy NO_PROXY no_proxy; do
  if printenv "$name" >/dev/null; then printf "%s=set\n" "$name"; fi
done

第三步:核對協議、埠與生效範圍

需要顯式代理時,按官方網路文件設定 HTTPS_PROXY 或 HTTP_PROXY,填寫客戶端真實提供的 HTTP/HTTPS 代理地址。下面使用的埠是佔位示例,須替換為自己的配置;不要把 SOCKS 埠直接寫成 HTTP 代理。Claude Code 當前官方文件不支援 SOCKS 代理。

只在當前終端設定變數便於回退,不會自動修改系統全域性配置。設定後從該終端重新啟動 Claude Code;已有程序不一定讀取後續變數更改。後臺會話或由 Desktop 管理的連線應另查官方文件中的設定作用域,不能套用當前終端的結論。

僅當前 PowerShell 會話;替換埠後使用

$env:HTTPS_PROXY = "http://127.0.0.1:YOUR_HTTP_PORT"
claude

僅當前 macOS/WSL 終端;替換埠後使用

export HTTPS_PROXY="http://127.0.0.1:YOUR_HTTP_PORT"
claude

第四步:區分繞過規則、認證和證書錯誤

檢查 NO_PROXY 是否把目標包含在繞過範圍中,同時檢視客戶端連線記錄中的實際目標和策略。若錯誤明確指向證書鏈,按組織批准的 CA 配置處理;不要通過關閉 TLS 校驗來換取連線成功。檢查配置值時只在本機檢視,分享截圖前遮住代理認證資訊。

代理返回的 407、目標介面返回的 401/403、網路超時屬於不同層級。只保留錯誤碼還不足以定位問題,應同時記錄錯誤正文、目標域名和執行位置,再進入對應的錯誤排查章節。

複測記錄:一次只改變一個條件

先儲存失敗時刻、終端型別、Claude Code 版本、變數是否存在和原始錯誤;修改一項後,在同一終端重複同一請求。預期改善是原錯誤消失且實際任務能夠完成,而不是僅看到某個 IP 變成預期國家。

本頁分流檢測可補充瀏覽器探針的目標與出口,但不能代替終端或遠端程序的測量。若要公開案例,只分享脫敏的前後差異,不上傳 API Key、Authorization、完整會話日誌或代理密碼。

參考來源與時效

以上為獨立診斷與使用說明,未接入 Anthropic 內部風控。政策、介面與支援流程可能更新,按原文生效日期和實際賬號可見入口核對。