ENOENT: no such file or directory, scandir Claude Code
Quick fix
在 VSCode Remote SSH 环境下,需在远程 Linux 服务器上单独配置 Claude Code 认证并创建缺失目录,本地配置不会自动同步。
Symptom
Section titled “Symptom”Error: Error: ENOENT: no such file or directory, scandir '/home/jack22/.claude/skills'当使用 VSCode Remote SSH 连接到 Linux 服务器时,Claude Code 扩展及其后端进程实际运行在远程 Linux 环境中,而不是本地 Windows。因此,本地 Windows 上通过 cc-switch 修改的免登录配置(如 `~/.claude.json` 或环境变量)对远程服务器完全无效。远程服务器上的 Claude Code 找不到认证信息,抛出 `Could not resolve authentication method` 并要求登录。此外,由于远程服务器可能是全新环境,缺少 `~/.claude/skills` 等默认目录,导致启动时出现 `ENOENT` 报错。
在远程 Linux 服务器上打开终端,创建缺失的 skills 目录以消除 `ENOENT` 报错: ```bash mkdir -p ~/.claude/skills ```
在远程服务器上同步认证配置。你可以将本地 Windows 已经配置好的 `~/.claude.json` 文件内容复制到远程服务器的 `~/.claude.json` 中,或者直接在远程 Linux 环境中安装并运行 cc-switch 重新进行免登录配置。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version2.1.22
PlatformsWindowsLinux
Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
- 为什么本地 Windows 已经免登录了,Remote SSH 还要登录?
- VSCode Remote SSH 会将扩展后端运行在远程服务器上,远程服务器读取的是 Linux 环境下的配置,无法直接读取本地 Windows 的配置。
- ENOENT 报错会导致 Claude Code 无法使用吗?
- `ENOENT` 本身只是提示缺少 skills 目录,不会导致程序崩溃。真正导致无法使用的是后续的 `Could not resolve authentication method` 认证失败错误。
cc-switch 导致 Claude Code / Codex 的 MCP 配置丢失升级 cc-switch 到最新修复版,关闭或谨慎使用统一接管 MCP,逐个排查无效 MCP,并手动修正被改写的 command/type/path 字段。[mcp_servers.node_repl] 被 CC Switch 自动写回在 CC Switch 右上角的【MCP 管理】中关闭或删除 node_repl,即可阻止其被自动写入 Codex 配置文件。大模型无法发现任何工具 - Codex升级 cc-switch 至 3.16.1 以上版本,并修改 cc-switch-model-catalog.json 将 DeepSeek 模型的 supports_search_tool 设为 false。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。