plugin.json silently overrides marketplace.json version with no warning
Summary
The version-resolution waterfall states plugin.json's version field wins over the marketplace entry's version field. The docs note this in a "Warning" callout but the platform does not surface any warning when both files declare a version. Plugin authors can set marketplace.json's version, expect it to take effect, and have it silently ignored.
Reproduction
- Set
plugin.jsonversion: "0.1.0-beta.28" - Set
marketplace.jsonplugin entryversion: "1.0.0" - Install the plugin
- Customize panel shows
Version: 0.1.0-beta.28(plugin.json wins)
No warning anywhere — not at marketplace add, not at install, not in claude plugin validate output.
Real-world incident
The author of nfrith/als had plugin.json declaring 0.1.0-beta.28 and marketplace.json declaring 0.1.0-beta.1 for an unknown duration. The 0.1.0-beta.1 value did nothing, silently, until manually noticed during empirical testing. No warning was ever surfaced.
Expected
At minimum a warning when both files declare conflicting versions — at validation time, marketplace add, or in /plugins UI.
Actual
Silent. Plugin authors can be misled indefinitely.
Environment
Claude Code Desktop v2.1.121 / Claude Code CLI v2.1.121, macOS.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗