Claude Code 插件命令指到目录外怎么处理
2.1.251 起,市场条目里声明的插件命令若指向插件目录之外,会被当成路径穿越拒绝。请核对 marketplace 条目里的 command 路径。

claude code plugin 命令指向目录外怎么办:2.1.251 起,marketplace 条目里登记的插件命令如果指向插件目录之外,客户端会按 path-traversal 拒绝。以前条目可以写 ../../ 或绝对路径,指向你机器上插件包以外的脚本。升级后这类路径不再执行,应看到穿越类错误,而不是静默跑了外面的文件。
谁会被拒
被拒的是「市场条目声明的 command 路径」落在插件根目录外面。插件自己目录里的 ./scripts/foo.sh 仍合法。/usr/local/bin/something、~/tools/x、../../../.claude/settings.json 这类写法会失败。
自己用 claude plugin 从 git 装的本地插件,若 marketplace 元数据同样写了外指路径,一样拒。和 zip 分发不是同一条线。zip 归档怎么用见 plugin zip。
2.1.247 已经拒过带控制字符、不可见字符的市场名。这次补的是路径,不是名字。
合法插件突然不能跑
先 claude --version。报 path-traversal 时打开该插件的 marketplace 条目,看 command 字段是不是 .. 或绝对路径。作者若把共享脚本放在仓库根、却把插件子目录当 plugin root,升级后会炸。修法是把脚本拷进插件目录,或把 plugin root 提到包含脚本的那一层,而不是关安全检查。
企业私有市场同样受这条约束。内网「方便起见指向共享盘脚本」的条目,升级后要改包装,不要要求成员降级。
和其它插件坑分开
版本号缺失的市场插件,2.1.247 修过二次安装时活缓存目录被删重建、打断正在用它的会话。那是缓存生命周期,不是路径穿越。
插件建议弹窗在 2.1.251 会等你把正在打的字发完或清掉,避免回车误点安装。那只影响提示时机。
不信任的市场不要加。路径检查挡的是「条目写到目录外」,挡不住插件目录内的恶意脚本。审核仍看插件自己的文件。
和项目里乱开日志一起收的口
2.1.251 禁止项目 settings 打开详细 beta 追踪或裸 API body 日志,也禁止较低层的追踪端点绕过托管设置钉死的 OTLP 收集器。插件路径穿越是「代码跑到包外面」;项目日志是「请求体写到磁盘」。企业升级清单应两条一起看,不要只打插件补丁。