适用场景:国内网络环境下启动 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,直接报错:
或者:
跟着提示去 /login,浏览器登录这一步又卡住,来回折腾就是进不去主界面。 原因分析这两个报错本质是同一件事:Claude Code 需要和 Anthropic 服务器通信来完成登录和调用,而当前网络环境连不上 api.anthropic.com。 Not logged in 和 Failed to connect 只是同一个问题在不同网络条件下的两种表现形式。要解决,思路有三条:
第三种是企业里最常用的做法,也是本文的重点——因为 Claude Code 底层用的是标准 Anthropic 协议,换一个 BASE_URL 就能整体切过去。 解决步骤(以 settings.json 配置为例,最稳)第一步:找到配置文件配置文件位置:
没有就新建一个。 第二步:写入 env 配置块
各字段说明:
注意: 如果配置文件里已有 apiKeyHelper 字段,会和这里的凭证配置互相冲突,二选一,删掉另一个。 第三步:重开终端验证关闭所有终端窗口,重新打开(环境变量类配置对已打开的窗口不生效),然后检查:
能读到值,说明配置已注入。启动 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% 的"配置不生效"都是这一步没做 |
2023-03-06
2024-04-14
2023-03-06
2023-03-08
2023-03-20