命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
更新指定名称的插件 marketplace
claude plugin marketplace update 是 claude plugin marketplace 子命令组(add / list / update / remove)中的一员。它从 marketplace 的来源重新拉取一个或全部 marketplace,以获取新增的插件和新版本。官方文档的描述:
ref 添加的,它会更新到该 ref 的最新 commit,而不是仓库默认分支。remove 的警告中明确建议:想刷新 marketplace 又不想丢失其插件,用 plugin marketplace update,不要先 remove 再 add。claude plugins 是 claude plugin 的别名。--json 选项需要 Claude Code v2.1.287 或更高版本(官方文档标注)。
claude plugin marketplace update [name] [options]
| 参数 / Flag | 说明 |
|---|---|
[name] | 可选。要刷新的 marketplace 名称。省略则刷新全部 marketplace |
--json | 把成功与否及消息以一个 JSON 对象输出在 stdout 的最后一行。不带 name 时拒绝 --json 并以退出码 1 结束。需要 v2.1.287+ |
官方文档说明,表中只列常用选项。完整选项以 claude plugin marketplace update --help 为准。
示例:
claude plugin marketplace update your-marketplace
文档规定:marketplace 子命令遵循 claude plugin 命令的通用约定,成功退出 0,失败退出 1。
| 场景 | 输出 / 退出码 |
|---|---|
| 指定名称成功 | 打印 Successfully updated marketplace: your-marketplace |
| 省略名称成功 | 打印数量,如 Successfully updated 2 marketplaces |
不带 name 却使用 --json | 拒绝,退出 1 |
--json 的具体字段结构在文档中指向"JSON result format"章节,本文未单独核实其字段,不在此展开。
官方文档只给出了单个 marketplace 的刷新示例。基于上述语法,在脚本中可以这样用:
# 刷新全部 marketplace
claude plugin marketplace update
# 刷新指定 marketplace,并取得机器可读结果(需要 v2.1.287+)
claude plugin marketplace update your-marketplace --json
文档规定退出码为 0(成功)/1(失败)。
| 项 | claude plugin marketplace update | /plugin marketplace update [name] |
|---|---|---|
| 运行位置 | shell / 脚本,会话之外 | 仅限交互式终端会话 |
| 行为 | 直接刷新并打印结果 | 打开 Marketplaces 标签页;带 name 时在该页面刷新该 marketplace |
| 别名 | 文档未列出 | market update |
非交互 claude -p | 不涉及 | 文档称 /plugin 在此类运行中不可用 |
| 约束 | 原因 |
|---|---|
| 访问 git 托管的 marketplace 时依赖本机已有凭据 | 文档称 Claude Code 在用户机器上运行 git 且关闭交互提示,自身没有 git token,marketplace.json 也没有存放 token 的字段 |
SSH 需要无口令提示(如密钥已加载进 ssh-agent),且主机已在 known_hosts 中 | 同上,非交互运行 |
| HTTPS 只能使用凭据助手中已存储的凭据 | 文档:助手被禁止弹出提示,需要询问的凭据会失败 |
GitHub owner/repo 来源会先探测 ssh -T git@github.com,失败则回退 HTTPS | 设置 CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 可跳过探测直接使用 HTTPS |
以裸 marketplace.json URL 添加的 marketplace,仓库内相对路径的插件条目会在安装时失败 | 文档称此时只下载该单个文件 |
--json 不带 name 不可用 | 命令本身拒绝 |
plugin.json 里写死了 "version": "1.0.0",即使推送了新 commit、你也运行了 marketplace update,缓存副本仍不变。作者需要每次发布提升 version,或者省略 version 让用户跟踪 commit。/plugin marketplace update <name>,或 shell 中 claude plugin update <plugin>@<name>。remove 再 add 代替 update。 文档警告:从最后一个声明它的 scope 移除 marketplace 时,会删除其缓存、卸载从中安装的所有插件,并尽可能删除这些插件保存的选项、密钥和数据。remove 的文档明确 <name> 是 plugin marketplace list 显示的名称,而非 add 时传入的来源。修复以 `constructor` 等名称命名的 marketplace 更新时出现内部错误的问题。