← 返回知识库

浏览器能用,Claude Code 终端却连不上?HTTP 代理配置与排查

Sun Oct 25 2026

浏览器里的 Claude 能打开,终端运行 claude 却超时、登录不成功,先确认终端有没有使用代理。浏览器插件、系统代理开关和终端环境变量,是不同层面的设置;网页正常不代表终端已经配置好。

本文针对独立运行的 Claude Code CLI,不用于配置 Claude Desktop。你仍需满足官方支持地区和账号资格要求;网络连通不能替代这些条件。

这些临时设置适用于从当前终端前台启动的 CLI。--bg 或后台代理应按官方后台网络设置说明配置;长期运行的后台管理进程不能可靠地继承后来修改的 shell 变量。

1. 先让代理客户端正常连接

JMS 订阅用于给客户端配置节点,实际请求路径是:

Claude Code → 客户端本地 HTTP/mixed 端口 → 选定的 JMS 节点 → Anthropic 服务。

把当前订阅导入支持实际节点协议的客户端。JMS 在 2026 年调整过协议,不能假设旧的纯 Shadowsocks 客户端仍然可用。可先参考 VLESS/Reality 连接排查或 Clash Verge 订阅配置。

在客户端设置中查找本地 HTTP 或 mixed 监听端口,并保持客户端运行。它不是远程服务器端口,也不是订阅地址、UUID 或 Reality 公钥。监听应绑定本机,不必为了本教程开启局域网共享。

Claude Code 官方网络文档说明它支持 HTTP/HTTPS 代理设置,但不直接支持 SOCKS 代理。如果客户端只提供 SOCKS 端口,应开启 HTTP/mixed 监听或更换兼容客户端。

2. 在启动 Claude 的同一个终端设置代理

建议第一次测试使用单独的终端窗口。先在本机检查是否已经配置 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY、all_proxy、ALL_PROXY、no_proxy 或 NO_PROXY。不要把这些值直接贴到公开帖子里,代理地址可能带有密码。

Claude Code 按 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY 的顺序采用第一个已设置的值。旧的小写变量可能覆盖刚设置的大写变量。其他工具处理变量的方式不同,不要以为设置 ALL_PROXY 就能让 Claude 直接使用 SOCKS。已有配置时,先私下保存原值、解决冲突,再决定是否覆盖。

macOS 或 Linux:Bash/Zsh

7890 只是有效格式的示例。运行前必须替换为客户端实际显示的 HTTP/mixed 端口:

JMS_PROXY_PORT=7890
export HTTPS_PROXY="http://127.0.0.1:${JMS_PROXY_PORT}"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,::1"
claude

Windows:PowerShell

同样要把 7890 改成客户端实际的 HTTP/mixed 端口。下面代码应在 PowerShell 中执行,不是命令提示符:

$JmsProxyPort = 7890
$env:HTTPS_PROXY = "http://127.0.0.1:$JmsProxyPort"
$env:HTTP_PROXY = $env:HTTPS_PROXY
$env:NO_PROXY = "localhost,127.0.0.1,::1"
claude

这里的 http:// 描述的是终端到本地代理的连接方式,不会把目标网站的 HTTPS 降为明文 HTTP。NO_PROXY 让本地请求直连,有助于浏览器登录回调到达 CLI。

变量只影响当前终端以及由它启动的进程。正在运行的 Claude Code 不会读取后来修改的 shell 变量:先退出,完成设置,再从这个终端启动 claude。临时测试成功之前,不急着写入 shell 启动配置。

WSL、容器或 SSH 会话中的 127.0.0.1 指执行命令的环境,不一定是运行客户端的 Windows 或宿主机。应先确认网络可达,不要直接把代理开放到公网。

3. 不提供密钥,也能先测试连接

退出 Claude Code 后,在刚才设置好的终端运行对应命令。它明确通过本地代理请求公开 API 主机,不携带 API key:

macOS/Linux:

curl --proxy "$HTTPS_PROXY" --noproxy "localhost,127.0.0.1,::1" --connect-timeout 10 --max-time 20 --output /dev/null --silent --show-error --write-out 'HTTP %{http_code}\n' https://api.anthropic.com/

Windows PowerShell 使用 curl.exe,避免旧版 PowerShell 将 curl 解释为其他命令:

curl.exe --proxy $env:HTTPS_PROXY --noproxy "localhost,127.0.0.1,::1" --connect-timeout 10 --max-time 20 --output NUL --silent --show-error --write-out "HTTP %{http_code}\n" https://api.anthropic.com/

连接等待上限为 10 秒,整个请求上限为 20 秒。返回 HTTP 401、403 或 404,仍可能说明已经收到 HTTP 响应;API 根地址并不是一次已登录的模型调用。需要结合实际错误判断,不能看到非 2xx 就断定代理失败,也不能看到任何 HTTP 响应就认定账号可以正常使用 Claude Code。

HTTP 000 伴随连接错误或超时,通常表示没有收到正常 HTTP 响应。证书错误需要单独处理。保留 TLS 校验,不要添加 -k,也不要关闭证书检查来“解决”问题。公开求助时,不要贴订阅链接、登录验证码、令牌或包含私密信息的诊断日志。

4. 按现象决定下一步

现象下一步检查
本地连接被拒绝客户端是否运行,HTTP/mixed 端口和主机地址是否正确
超时或连接重置客户端日志、当前节点、DNS、防火墙和线路
浏览器登录成功,终端仍未完成本地回调是否可达、NO_PROXY、重启 CLI,并参考官方登录说明
已认证请求返回 HTTP 401 或 403登录方式、凭据、组织政策和支持地区,不要只当成速度问题
HTTP 429 或达到用量限制账号配额或请求频率,换节点不会增加额度
多台设备同时失败先查 Anthropic 服务状态,再改配置

通过 claude --version 查看版本,运行 claude doctor 检查安装,并按官方安装文档使用对应安装方式更新。版本缺陷、登录过期或平台故障,都可能表现得像网络问题。

5. 清除这次临时设置

如果测试前这些变量原本不存在,可只清除上面新增的值:

Bash/Zsh:

unset HTTPS_PROXY HTTP_PROXY NO_PROXY JMS_PROXY_PORT

PowerShell:

Remove-Item Env:HTTPS_PROXY, Env:HTTP_PROXY, Env:NO_PROXY -ErrorAction SilentlyContinue
Remove-Variable JmsProxyPort -ErrorAction SilentlyContinue

这些命令只是删除当前值,不会恢复被覆盖的旧值;如有原配置,需要自行在本机恢复。修改环境后应退出并重新启动 Claude Code。系统级或 shell 配置文件中的持久设置,需要另外检查。

如何选择连接服务

JMS 可为兼容客户端提供节点,由客户端与终端设置把连接交给 CLI。它不提供 Anthropic 订阅,不保证账号获批或免于停用;本地代理也不会改变云端 MCP 连接器的出口。

可以结合设备与当前协议查看套餐和客户端下载指南。如果这种配置适合你,可查看 Just My Socks 服务。

联盟披露:通过上面的推广链接购买,我们可能获得佣金。