文章 ·
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