在 VS Code 里使用 Claude Code 扩展时,已经按照教程在设置里配置了环境变量,但启动插件后还是会看到登录选择页:
在这里插入图片描述

明明 ANTHROPIC_BASE_URLANTHROPIC_API_KEY 都写进去了,为什么 Claude Code 还是提示登录?

这个问题的关键点在于:只配置 VS Code 的 settings.json 还不够,新版 Claude Code 还会检查用户目录下的顶层认证状态文件 .claude.json

如果这个文件不存在,或者里面缺少必要字段,Claude Code 就会认为当前环境还没有完成初始化,于是继续弹出登录页。

一、常见配置方式:只改 VS Code settings.json

很多人会通过 VS Code 扩展设置界面配置 Claude Code:

  1. Ctrl + , 打开 VS Code 设置。
  2. 搜索 Claude Code
  3. 找到 Environment Variables
  4. 点击在 settings.json 中编辑。

常见配置大概是这样:

{
  "claudeCode.environmentVariables": [
    {
      "name": "ANTHROPIC_BASE_URL",
      "value": "https://**你的API地址**"
    },
    {
      "name": "ANTHROPIC_API_KEY",
      "value": "sk-替换成你的完整密钥"
    }
  ]
}

这一步本身没有问题,它的作用是把环境变量传给 VS Code 里的 Claude Code 扩展。

但它只能解决“运行时读取哪个 API 地址和密钥”的问题,不能完全解决“Claude Code 是否已经完成首次认证初始化”的问题。

二、真正缺少的是用户目录下的 .claude.json

在 Windows 上,需要检查用户主目录下的这个文件:

%USERPROFILE%\.claude.json

展开后通常类似这样:

C:\Users\你的用户名\.claude.json

注意,这里容易看错:

  • 不是 VS Code 项目目录里的配置文件。
  • 不是 .claude 文件夹里面的某个文件。
  • 而是和 .claude 文件夹同级、直接放在用户主目录下的 .claude.json

也就是说,它的位置通常是:

用户目录
├─ .claude
└─ .claude.json

新版 Claude Code 启动时会先读取这个顶层认证状态文件,用它判断是否已经完成初始化。只要这个状态文件缺失,就算你在 VS Code 里配置了环境变量,也可能继续看到登录页。

三、解决方法:手动创建 .claude.json

在当前用户主目录下新建一个文件,文件名必须是:

.claude.json

然后写入下面的内容:

{
  "hasCompletedOnboarding": true,
  "primaryApiKey": "sk-替换成你的完整密钥",
  "baseUrl": "https://**你的API地址**"
}

字段说明:

  • hasCompletedOnboarding: 告诉 Claude Code 已经完成首次初始化,不再强制进入登录引导。
  • primaryApiKey: 新版校验会读取这个字段,建议填写完整 API Key。
  • baseUrl: 填写你的中转地址。

如果你使用的是别的中转地址,就把 baseUrl 换成自己的地址。

示例效果如下:

在这里插入图片描述

四、保存后还需要重启 VS Code

.claude.json 创建完成后,建议按下面顺序操作一次:

  1. 保存 .claude.json
  2. 完全关闭 VS Code。
  3. 重新打开 VS Code。
  4. 再启动 Claude Code 扩展。

如果之前的配置都正确,这时就不会再卡在登录选择页了。

五、再检查 3 个容易踩坑的地方

1. 文件名不要写错

文件名必须是:

.claude.json

不要写成:

claude.json
.claude.json.txt

Windows 默认可能隐藏文件扩展名,如果你用记事本新建文件,尤其要确认最后没有多出 .txt

2. JSON 里不要保留多余逗号

下面这种末尾多一个逗号的写法,可能会导致读取失败:

{
  "hasCompletedOnboarding": true,
  "primaryApiKey": "sk-替换成你的完整密钥",
  "baseUrl": "https://**你的API地址**",
}

正确写法是最后一项后面不要加逗号:

{
  "hasCompletedOnboarding": true,
  "primaryApiKey": "sk-替换成你的完整密钥",
  "baseUrl": "https://**你的API地址**"
}

3. 最后还是推荐下CC-switch更方便点

如果你不想手动维护这些路径、字段和多个客户端配置,还是更推荐使用 CC-switch。它可以统一配置 Claude Code CLI、VS Code 扩展和 Cursor 插件,后续切换模型、密钥和中转地址会方便很多。

关于 CC-switch 的一键配置方法,可以看上期文章。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐