Support version pinning in plugin install command

Resolved 💬 2 comments Opened May 26, 2026 by stbenjam Closed May 30, 2026

Summary

Recently, Claude Code has a way to [tag versions of plugins]( https://code.claude.com/docs/en/plugin-dependencies#tag-plugin-releases-for-version-resolution).

However, this feature only seems to be half implemented. It is only used for dependency resolution. It is neither supported by the plugin install command, or in settings.json. Users should be able to opt in to specific versions of a plugin, not just through dependency management.

claude plugin install <plugin>@<marketplace> has no way to specify a version. The version resolution engine (semver ranges, git tag enumeration via {name}--v{version}, maxSatisfying) exists and works, but is only reachable through the inter-plugin dependency resolution path.

Current behavior

install <plugin>
  -s, --scope <scope>          # user, project, or local
  --config <key=value>         # plugin manifest config

Always installs whatever the marketplace catalog currently points to. No --version flag.

Requested behavior

claude plugin install secrets-vault@acme-tools --version "~2.1.0"

or inline syntax like:

claude plugin install secrets-vault@acme-tools@2.1.0

This would let users pin a plugin to a specific version or semver range, using the same tag resolution logic that already exists for dependency constraints.

It should also be accessible in settings.json.

Workarounds

  • Pin the entire marketplace to a git ref (/plugin marketplace add repo.git#v1.0.0) — freezes all plugins, not just one
  • Disable auto-update after install — prevents upgrades but doesn't control which version you initially get

Context

The plugin dependency versioning docs describe a full version resolution system: {name}--v{version} git tags, semver range constraints (~2.1.0, ^2.0, >=1.4, =2.1.0), and intersection of multiple constraints. All of this machinery exists in the codebase but is not exposed to end users via the install command.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗