广告位联系
返回顶部
分享到

Claude Code国内直连报错Failed to connect的原因排查与解决方法

软件教程 来源:互联网 作者:佚名 发布时间:2026-09-22 21:51:42 人浏览
摘要

适用场景:国内网络环境下启动 Claude Code 报Failed to connect to api.anthropic.com或Not logged in Please run /login,无法完成登录;或想通过 Anthropic 兼容端点(公司网关、云厂商兼容接口等)接入 Claude Co

适用场景: 国内网络环境下启动 Claude Code 报 Failed to connect to api.anthropic.com 或 Not logged in · Please run /login,无法完成登录;或想通过 Anthropic 兼容端点(公司网关、云厂商兼容接口等)接入 Claude Code。

问题现象

装好 Claude Code,第一次启动 claude,直接报错:

Failed to connect to api.anthropic.com

或者:

Not logged in · Please run /login

跟着提示去 /login,浏览器登录这一步又卡住,来回折腾就是进不去主界面。

原因分析

这两个报错本质是同一件事:Claude Code 需要和 Anthropic 服务器通信来完成登录和调用,而当前网络环境连不上 api.anthropic.com。

Not logged in 和 Failed to connect 只是同一个问题在不同网络条件下的两种表现形式。要解决,思路有三条:

  1. 官方账号 + 可直连的网络环境:让本机能够正常访问 Anthropic 服务(配置系统代理),然后正常 /login
  2. API Key 方式:在环境变量里提供 ANTHROPIC_API_KEY,跳过交互式登录
  3. 兼容端点方式:通过 ANTHROPIC_BASE_URL 把请求指向任何 Anthropic 协议兼容的服务端(公司自建网关、云厂商的兼容接口等)

第三种是企业里最常用的做法,也是本文的重点——因为 Claude Code 底层用的是标准 Anthropic 协议,换一个 BASE_URL 就能整体切过去。

解决步骤(以 settings.json 配置为例,最稳)

第一步:找到配置文件

配置文件位置:

  • Windows:C:\Users\你的用户名\.claude\settings.json
  • Linux / Mac:~/.claude/settings.json

没有就新建一个。

第二步:写入 env 配置块

1

2

3

4

5

6

7

8

9

10

11

12

{

  "env": {

    "ANTHROPIC_BASE_URL": "你的兼容端点地址",

    "ANTHROPIC_AUTH_TOKEN": "你的访问凭证",

    "ANTHROPIC_MODEL": "端点提供的模型名",

    "ANTHROPIC_DEFAULT_OPUS_MODEL": "端点提供的模型名",

    "ANTHROPIC_DEFAULT_SONNET_MODEL": "端点提供的模型名",

    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "端点提供的轻量模型名",

    "API_TIMEOUT_MS": "600000",

    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"

  }

}

各字段说明:

  • ANTHROPIC_BASE_URL:兼容端点的 API 地址,以你的服务方文档为准
  • ANTHROPIC_AUTH_TOKEN:对应的访问凭证(有些服务用 ANTHROPIC_API_KEY,看文档要求,别两个都设)
  • ANTHROPIC_MODEL + 三个 DEFAULT_*_MODEL:模型映射。Claude Code 界面里选 Opus/Sonnet 时实际转发到哪个模型,由这几个变量决定,全部按端点支持的模型名填写
  • API_TIMEOUT_MS:超时时间(毫秒),长任务建议调大
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:设为 1 可减少非必要的网络请求,弱网环境更稳

注意: 如果配置文件里已有 apiKeyHelper 字段,会和这里的凭证配置互相冲突,二选一,删掉另一个。

第三步:重开终端验证

关闭所有终端窗口,重新打开(环境变量类配置对已打开的窗口不生效),然后检查:

1

2

3

4

5

# CMD

echo %ANTHROPIC_BASE_URL%

 

# PowerShell

echo $env:ANTHROPIC_BASE_URL%

能读到值,说明配置已注入。启动 claude,正常进入对话即成功。

第四步(可选):命令行临时方式

只想临时切换、不动配置文件的话,也可以在启动前设置会话级环境变量:

1

2

3

4

# PowerShell(当前窗口有效)

$env:ANTHROPIC_BASE_URL = "你的兼容端点地址"

$env:ANTHROPIC_AUTH_TOKEN = "你的访问凭证"

claude

1

2

3

4

# Linux / Mac(当前窗口有效)

export ANTHROPIC_BASE_URL="你的兼容端点地址"

export ANTHROPIC_AUTH_TOKEN="你的访问凭证"

claude

验证是否配置成功

进入 Claude Code 后发一条简单消息,能正常回复说明链路已通。再用 /status 确认当前实际连接的服务地址符合预期。

常见问题

Q:配置了 settings.json 却好像没生效?

三个排查点:① 配置文件路径对不对(是用户目录下的 .claude,不是项目目录);② JSON 格式有没有写坏(多余的逗号是最常见的坑);③ 终端有没有重开。改完配置必重开终端。

Q:ANTHROPIC_API_KEY 和 ANTHROPIC_AUTH_TOKEN 有什么区别?

两者都是凭证变量,但对应的服务端校验方式不同,具体用哪个以你的服务方文档为准。不要同时设置两个,容易产生优先级混乱。

Q:报 model not found 或没权限用某个模型怎么办?

模型名要以端点实际支持列表为准,别照抄网上的示例名。把 ANTHROPIC_MODEL 和三个 DEFAULT_*_MODEL 全部改成端点文档里明确列出的名字即可。

Q:用第三方端点安全吗?

有真实风险:你的全部请求内容(包括代码)都会经过该服务端。公司网关相对可控,来路不明的中转服务要格外谨慎,不要在有敏感代码的项目里使用不了解的第三方端点。

总结

国内使用 Claude Code 的核心就一句话:要么让自己的网络能直连官方,要么用 BASE_URL 把请求指到兼容端点。推荐 settings.json 的 env 方式管理配置——集中、持久、不依赖 shell 类型,排错也简单。配置完记得重开终端,80% 的"配置不生效"都是这一步没做


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计