问题背景
在 Windows 本地环境中,通过 VSCode 使用 Claude Code 插件可以免登录 直接使用;但一旦通过 Remote SSH 连接到远程 Linux 服务器,同样的插件却需要重新登录 Claude 账号才能正常使用。
问题的核心在于,cc-switch(一个用于管理 Claude Code 账号切换的工具)的免认证机制并没有被同步传递到远程 SSH 环境中。
问题复现步骤
- 在 Windows 本地通过 VSCode 打开 Claude Code ------ ✅ 免登录,正常使用
- 在 VSCode 中通过 Remote SSH 连接到一台 Linux 服务器
- 在远程环境中打开 Claude Code ------ ❌ 提示需要登录 Claude 账号
日志分析
从日志中,可以看到几个关键报错信息,揭示了问题的根本原因:
认证失败:
[ERROR] "Error: Could not resolve authentication method.
Expected either apiKey or authToken to be set."
说明在远程 Linux 环境中,Claude Code 插件无法找到有效的认证凭据(API Key 或 OAuth Token),导致所有 API 请求均失败。
OAuth Token 检查为空:
[DEBUG] [API:auth] OAuth token check starting
[DEBUG] [API:auth] OAuth token check complete
Token 检查流程虽然正常执行,但最终结果为空,说明 cc-switch 注入的认证信息没有被远程环境中的 VSCode Server 所读取。
修复步骤
在远程服务器上修改 ~/.claude.json 配置文件,将 hasCompletedOnboarding 字段设置为 true。
第一步:SSH 连接到远程服务器,打开配置文件
bash
vim ~/.claude.json
第二步:找到 hasCompletedOnboarding 字段,将其值改为 true
json
"hasCompletedOnboarding": true,
如果文件中没有该字段,手动添加即可。

第三步:保存文件后,在 VSCode 中重新连接远程环境
关闭并重新打开 VSCode 的 Remote SSH 窗口,Claude Code 插件即可免登录正常使用。

注意:远程服务器要保障全局魔法,不然仍然无法使用