跳到主要内容

CC-005:首次启动即报 Unable to connect to Anthropic services

字段内容
影响组件Claude Code 本体
发现版本claude-code ≥ 1.x(2025-07 前后版本)
系统环境Linux / macOS / Windows(均可复现)
解决人GordonCC(博客园)
发现日期2025-09-21

问题现象

Claude Code 安装完成后,第一次执行claude或第一次登录时,终端立即打印以下错误并退出,无法进入交互界面:

Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ERR_BAD_REQUEST
Please check your internet connection and network settings.
Note: Claude Code might not be available in your country.
Check supported countries at https://anthropic.com/supported-countries

网络正常,代理/中转 URL 配置无误,但错误依旧出现。

示例截图:

首次启动报错示例


根因分析

Claude Code 启动
→ 检查 ~/.claude.json 中 hasCompletedOnboarding 字段
→ 字段缺失(首次安装默认不写入)
→ 触发 Onboarding 流程
→ Onboarding 流程向 api.anthropic.com 发起连通性校验
→ 国内网络或中转配置在 Onboarding 阶段不生效
→ 请求失败 → ERR_BAD_REQUEST
→ 报错退出,拒绝进入正常交互

关键点:hasCompletedOnboarding: true缺失时,Claude Code 会在进入正常会话前额外执行一次官方端点探测,该探测不受ANTHROPIC_BASE_URL等环境变量影响,导致使用中转地址的用户也会被拦住。


修复步骤

第一步:找到配置文件

文件路径为~/.claude.json(Windows 为C:\Users\<USERNAME>\.claude.json)。

第二步:在 JSON 最外层添加这一行

用文本编辑器打开文件,在最外层 JSON 对象中补上:

"hasCompletedOnboarding": true

如果你需要参考完整写法,可以写成:

{
"installMethod": "unknown",
"autoUpdates": true,
"firstStartTime": "2025-07-14T06:11:03.877Z",
"userID": "...",
"projects": { ... },
"hasCompletedOnboarding": true
}

注意:projects字段末尾的}后面要加英文逗号,,再写新字段,否则 JSON 格式非法。

第三步:验证 JSON 合法性(可选)

cat ~/.claude.json | python3 -m json.tool

无报错即表示格式正确。

第四步:重新启动 Claude Code

claude

正常进入交互界面即修复成功。


预防措施

做法避免的问题
安装后立即在~/.claude.json手动写入"hasCompletedOnboarding": true首次启动因 Onboarding 探测失败而无法进入交互
使用中转 API 时确认代理/环境变量在 shell 初始化阶段即已生效Onboarding 阶段因代理未加载导致连接被拒
修改 JSON 后用python3 -m json.tool或在线工具校验格式手动编辑引入语法错误导致 Claude Code 无法读取配置