问题背景

在 Windows 本地环境中,通过 VSCode 使用 Claude Code 插件可以免登录直接使用;但一旦通过 Remote SSH 连接到远程 Linux 服务器,同样的插件却需要重新登录 Claude 账号才能正常使用。

问题的核心在于,cc-switch(一个用于管理 Claude Code 账号切换的工具)的免认证机制并没有被同步传递到远程 SSH 环境中。


问题复现步骤

  1. 在 Windows 本地通过 VSCode 打开 Claude Code —— ✅ 免登录,正常使用
  2. 在 VSCode 中通过 Remote SSH 连接到一台 Linux 服务器
  3. 在远程环境中打开 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 连接到远程服务器,打开配置文件

vim ~/.claude.json

第二步:找到 hasCompletedOnboarding 字段,将其值改为 true

"hasCompletedOnboarding": true,

如果文件中没有该字段,手动添加即可。
在这里插入图片描述

第三步:保存文件后,在 VSCode 中重新连接远程环境

关闭并重新打开 VSCode 的 Remote SSH 窗口,Claude Code 插件即可免登录正常使用。
在这里插入图片描述

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

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐