一个路径,搞崩 VSCode 的 Claude Code 插件

💡 更多技术分享,欢迎访问我的博客:叁木の小屋

问题概述

近期 Claude Code VSCode 扩展在 v2.1.51 版本开始出现了一个严重的 Windows 平台兼容性问题,导致插件无法正常激活,用户点击 Claude 图标时提示 command 'claude-vscode.editor.openLast' not found 错误。

更新(2026年2月25日) :截止至发稿,Anthropic 已在 v2.1.56 版本中明确修复了此问题,Windows 用户可以直接更新到最新版本。(话说,两天内连着犯低级失误,第一天改好了第二天又出问题了,小声蛐蛐下😂,不过也确实要佩服这个更新速度,一天三更)

受影响版本

版本 发布时间(UTC) 状态
v2.1.49 及之前 - 正常工作
v2.1.51 2/24 09:49 ❌ 问题版本
v2.1.52 2/24 14:49 ✅ 已修复
v2.1.53 2/25 08:22 ❌ 问题版本
v2.1.55 2/25 11:24 ❌ 问题版本
v2.1.56 2/25 14:40 ✅ 已修复

问题表现

  1. VSCode 启动后 Claude 扩展激活失败
  2. 点击右上角 Claude 图标弹出错误:command 'claude-vscode.editor.openLast' not found
  3. 即使重新安装插件也无法解决问题

根本原因分析

根据用户报告的详细日志,问题的根源在于构建时路径泄漏

php 复制代码
TypeError: The argument 'filename' must be a file URL object, file URL string,
or absolute path string. Received 'file:///home/runner/work/claude-cli-internal/
claude-cli-internal/build-agent-sdk/sdk.mjs'

技术细节

  1. 构建路径硬编码 :扩展代码中包含了一个 Linux CI/CD 构建环境的绝对路径(/home/runner/work/...
  2. createRequire() 调用失败 :这个路径被传递给 Node.js 的 Module.createRequire() 函数
  3. Windows 无法识别:Windows 系统无法将这个 Linux 路径解析为有效的文件 URL
  4. 激活崩溃:扩展在初始化阶段就抛出异常,导致所有命令都未能注册

为什么重装无效

重装无法解决问题,因为问题不是安装损坏,而是扩展运行时代码本身包含了错误的路径。这是一个打包/构建流程的 bug,不是用户端的问题。

解决方案

方案一:更新到最新版本(推荐) ✅

直接更新扩展到 v2.1.56 或更高版本即可:

bash 复制代码
# 方法一:VSCode 扩展面板更新
# 打开扩展面板 (Ctrl+Shift+X) → 搜索 "Claude Code" → 点击更新

# 方法二:命令行更新
code --update-extension anthropic.claude-code

以下方案为历史记录,供遇到类似问题的用户参考

在 v2.1.56 修复之前,用户曾采用以下临时方案:

方案二:回退到 v2.1.49

这是目前最可靠的解决方案:

bash 复制代码
# 1. 卸载当前版本
code --uninstall-extension anthropic.claude-code

# 2. 下载 v2.1.49 的 VSIX 文件
# 访问 https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
# 点击 "Version History" 标签页,找到 2.1.49 版本并下载

# 3. 手动安装旧版本
code --install-extension anthropic.claude-code-2.1.49.vsix

# 4. 禁用自动更新(可选但推荐)
# 在 VSCode 设置中搜索 "extensions.autoUpdate" 并设置为 false

方案三:等待官方修复

Anthropic 团队已被通知此问题,预计会在后续版本中修复。 关注以下 GitHub issues 获取最新进展:

方案四:临时使用终端模式

如果不想回退版本,可以通过命令行直接使用 Claude Code:

bash 复制代码
# 在项目目录下运行
claude

验证修复

回退后,可以通过以下命令验证安装版本:

bash 复制代码
code --list-extensions --show-versions | findstr "claude-code"

总结

这是一个典型的跨平台构建路径泄漏 问题,CI/CD 构建环境的绝对路径被错误地打包进了发布版本。此类问题在 Node.js 生态中时有发生,特别是在使用 createRequire 等 CJS/ESM 互操作 API 时。

给我们的一点启示:即便是 Anthropic 这样的顶尖 AI 公司,也会在构建流程中犯下"路径硬编码"这种低级错误。这提醒我们在日常开发中,发布生产环境前务必做好跨平台测试、代码审查和 CI/CD 流程的健壮性检查------毕竟,魔鬼往往藏在细节里。


感谢阅读!如果这篇文章对你有帮助,欢迎分享给遇到同样问题的朋友。我们下篇文章见!👋

相关推荐
老师用之于民3 小时前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code
ON10N18 小时前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code
普通码农2 天前
在 Cursor 中使用 VS Code 扩展
visual studio code·cursor
用户94658117999183 天前
我做了个 VSCode 插件,让你在写代码时顺手炒股
visual studio code
甲枫叶4 天前
【claude产品经理系列11】实现后端接口——数据在背后如何流动
java·数据库·人工智能·产品经理·ai编程·visual studio code
楼田莉子6 天前
C++项目:日志&&线程池
linux·c++·学习·visual studio code
xzjiang_3657 天前
检查是否安装了MinGW 编译器
开发语言·qt·visual studio code
沐墨染13 天前
黑词分析与可疑对话挖掘组件的设计与实现
前端·elementui·数据挖掘·数据分析·vue·visual studio code
玹外之音14 天前
VSCode + Codex · 32ai 零魔法集成
visual studio code