/plugin browse UI shows marketplace.json version instead of plugin.json version
Summary
The /plugin browse UI displays the version from marketplace.json rather than from the plugin's own plugin.json. This contradicts the documented behavior, which states that plugin.json takes priority when both specify a version.
Documentation references
The Plugins reference documentation for the version field in plugin.json states:
version (string): Semantic version. If also set in the marketplace entry, plugin.json takes priority. You only need to set it in one place.
The Plugin marketplaces documentation also warns:
When possible, avoid setting the version in both places. The plugin manifest always wins silently, which can cause the marketplace version to be ignored.
However, the actual behavior of the /plugin browse UI contradicts both of these statements — it shows the marketplace.json version, not the plugin.json version.
Steps to reproduce
- Create a marketplace with a plugin that has different versions in
marketplace.jsonandplugin.json - In
marketplace.json, set the plugin entry's version to1.3.0:
``json``
{
"plugins": [
{
"name": "my-plugin",
"source": "./plugins/my-plugin",
"version": "1.3.0"
}
]
}
- In the plugin's own
.claude-plugin/plugin.json, set version to1.12.0:
``json``
{
"name": "my-plugin",
"version": "1.12.0"
}
- Open
/pluginand browse the marketplace
Expected behavior
The /plugin browse UI should display version 1.12.0 (from plugin.json), since the documentation states that plugin.json takes priority over marketplace.json.
Actual behavior
The /plugin browse UI displays version 1.3.0 (from marketplace.json), ignoring the plugin.json version entirely.
Impact
- Confusing for plugin authors: Authors naturally bump their
plugin.jsonversion and expect that to be the version displayed in the UI. When it isn't, they may not realize the marketplace is showing stale version info. - Silent version desync: The marketplace.json version can silently get out of sync with the actual plugin version, misleading users about what version they're installing.
- Contradicts documentation: The actual behavior directly contradicts the documented priority order, which states
plugin.jsonalways wins.
Environment
- Claude Code latest (as of Feb 2026)
- macOS (Darwin 25.1.0)
- Tested with a local marketplace using relative path source
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗