文章 ·
Claude Code 代理設定:瀏覽器能用 Claude,終端卻在直連?
一個很常見的情況:瀏覽器打開 claude.ai 一切正常,Claude Code 卻連不上、報地區不支援,或者帳號很快被要求驗證。原因通常不是線路,而是終端根本沒走代理。
為什麼終端和瀏覽器不一樣
很多代理軟件預設用「系統代理」模式:把代理地址寫進系統設定,瀏覽器會讀,終端裏的程式卻不會。Claude Code 是終端程式,按 Claude Code 官方文檔,它只讀這幾個環境變量,按順序取第一個有值的:
https_proxy → HTTPS_PROXY → http_proxy → HTTP_PROXY
同一份文檔還寫明瞭兩點,最容易踩坑:
- 不支援 SOCKS 代理:
https_proxy=socks5://…這種寫法對 Claude Code 無效。 - 不讀 ALL_PROXY:只設了
ALL_PROXY的話,curl 會走代理,Claude Code 不會——用 curl 自測會以為沒問題。
怎麼設定
在 ~/.zshrc(或 ~/.bashrc)里加一行,端口換成代理軟件裏的 HTTP / 混合端口(常見 7890、7897):
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890
重新打開終端後再啓動 Claude Code。環境變量只在啓動時讀一次,已經在跑的會話不會跟着變。
也可以寫進 ~/.claude/settings.json 的 env。後台運行的 Claude Code 會話不繼承當前終端的環境,只認這裏的設定。
另一個辦法是把代理軟件切到 TUN / 增強模式,由它接管全部流量,終端就不需要單獨設定。
怎麼驗證
在運行 Claude Code 的同一個終端裏:
curl -sL ipjudge.org/cc | bash
腳本按 Claude Code 自己的規則算出它實際用的代理,再直接問 api.anthropic.com 看到的 IP,同時對照 claude.ai、api.openai.com、chatgpt.com,以及不走代理時的出口。只讀,不安裝、不修改、不上傳。
在 Claude Code 裏也可以運行 /status,看「Proxy」一行顯示的代理地址。
出口對了之後
- 地區要在 Anthropic 支援名單裏:中國大陸、香港、澳門不在名單裏。
- 瀏覽器和終端最好走同一個出口;claude.ai、api.anthropic.com、platform.claude.com 也最好在同一條線路上。Claude 專項檢測 會逐個對照。
- 機房 IP 能用,但更容易被要求驗證。
相關:Claude Code 出口檢測 · ChatGPT、Claude 看到的是哪個 IP
想知道你自己的 IP 屬於哪一類?
免費檢測我的 IP