命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
从目录或ZIP存档加载插件
--plugin-dir <path>claude --plugin-dir ./my-plugin--plugin-dir 是一个**会话级(session-scoped)**的 CLI 启动 flag,用于从本地目录或 .zip 压缩包直接加载一个或多个插件,无需先安装到 marketplace。取值为路径(目录路径或 .zip 文件路径)。从 Claude Code v2.1.265 起,还支持指向一个"插件的文件夹"——即该路径下每个含有 .claude-plugin/plugin.json 清单的子目录,都会被当作独立插件分别加载。默认不传则不加载任何额外插件。
claude --plugin-dir ./my-plugin
加载多个插件,重复传 flag:
claude --plugin-dir ./plugin-a --plugin-dir ./plugin-b.zip
加载一个插件文件夹(要求 v2.1.265 及以上):
claude --plugin-dir ./plugins-folder
等价的环境变量是 CLAUDE_CODE_PLUGIN_DIRS(要求 v2.1.280 及以上),用于在无法直接传 flag 的场景里列出多个插件的绝对路径;其中每条路径都会按 --plugin-dir 路径的方式加载,并且与 --plugin-dir 传入的插件是叠加关系,不是互相替代。project/local 级别的 settings 不能设置这个环境变量。
--plugin-url:用于从 URL 拉取 .zip 压缩包(例如 CI 构建产物),同样只对当前会话生效。--plugin-dir 加载的本地版本在本次会话中优先生效,便于在不卸载已装插件的情况下测试改动。--plugin-dir 无法覆盖这个强制状态。| flag | env | settings.json |
|---|---|---|
--plugin-dir <path>(可重复) | CLAUDE_CODE_PLUGIN_DIRS(多路径列表,v2.1.280+;project/local settings 不能设置) | 无直接等价字段;插件包内可携带自己的 settings.json(仅支持 agent、subagentStatusLine 两个 key),但那是配置插件自身行为,不是"选择加载哪个插件目录"的开关 |
| 约束 | 原因 |
|---|---|
| 仅对当前会话生效 | 不写入任何持久配置;重启后需重新传 flag,或改用 CLAUDE_CODE_PLUGIN_DIRS,或把插件放进 skills 目录让其自动加载 |
| "插件的文件夹"用法要求 v2.1.265+ | 更早版本只识别单个插件目录/压缩包,不会展开子目录逐个加载 |
CLAUDE_CODE_PLUGIN_DIRS 要求 v2.1.280+,且不能被 project/local settings 设置 | 官方文档明确的版本门槛与作用域限制 |
| 无法覆盖 managed settings 强制启用/禁用的同名插件 | managed settings 优先级高于会话级的 --plugin-dir |
| 改动插件文件不会自动生效 | --plugin-dir 只在启动时加载一次;需手动执行 /reload-plugins。插件文件夹场景下新增/删除子目录时,若改动会使 prompt cache 失效,交互式会话会把改动搁置,提示你手动 /reload-plugins;非交互式会话里插件 MCP server 的改动要等到下一次会话才生效 |
claude --plugin-dir ./my-first-plugin 直接测试,不需要先发布或安装。.zip 验证打包产物:确认压缩包本身能被正确加载,而不仅仅是解压后的目录结构可用。--plugin-url 做一次性验证:从 URL(例如 CI 构建产出)拉取 .zip 插件包,在会话中临时加载测试。--plugin-dir 只在启动时读取一次,后续对文件的修改必须手动执行 /reload-plugins 才会应用;在没有交互式终端的会话里,插件 MCP server 的改动甚至要等到下一次会话才生效。--plugin-dir 加载的本地版本不会生效,仍然遵循 managed settings 的结果。--plugin-dir 放在 agents 子命令之后会导致插件的 agents/skills 完全没被加载,且没有任何报错提示;v2.1.200 起该 flag 不论放在 agents 子命令前后都会被正确识别。修复沙箱内的 shell 命令可以写入 --plugin-dir 目录的问题。
添加了 path 字段到加载失败条目,说明未能加载的目录
修复了在包含 .claude-plugin/marketplace.json 的文件夹上加载空插件的问题
增加对指向文件夹的 --plugin-dir 支持,文件夹中的每个子文件夹(含 manifest)都会被加载
修复标志位置不正确导致插件代理和技能在代理视图中不显示的问题
现在接受 .zip 插件档案以及目录
修改为仅接受一个path支持subcommands,改为使用repeated --plugin-dir支持多个目录