一个路径,搞崩 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 流程的健壮性检查------毕竟,魔鬼往往藏在细节里。


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

相关推荐
formulahendry2 天前
ACP UI 大战 VS Code Agents app:谁才是真正的跨平台 Agent 客户端?
visual studio code·vs code·acp
golang学习记3 天前
五年, Zed 1.0正式发布:VS Code慌了?
visual studio code
成都易yisdong9 天前
纬地、鸿业、海地、CASS等横断面数据互转工具V3.2——测绘与道路设计人员的效率神器
c#·visual studio code
Jenlybein10 天前
速学 VS Code 插件开发入门,客制化你的开发体验
前端·javascript·visual studio code
酿情师12 天前
OpenCode 详细入门指南,从安装到使用保姆级教程
vscode·visual studio code·cli·opencode
golang学习记14 天前
☕️➡️🚀 Java 一键转 Kotlin?VS Code 这个新插件太香了!
intellij idea·visual studio code
formulahendry16 天前
OpenClaw 已过时?在 VS Code 中运行 Hermes Agent!
visual studio code·vs code·acp
iDao技术魔方18 天前
Bun v1.3.12 深度解析:新特性、性能优化与实战指南
开发语言·javascript·visual studio code
golang学习记19 天前
当终端变成"编辑器":VSCode 这个小改动,竟是 AI 时代的神助攻?
visual studio code
雨落Re20 天前
Claude Opus 4.6无限使用方法
人工智能·visual studio code