plugin.json silently overrides marketplace.json version with no warning

Resolved 💬 1 comment Opened Apr 28, 2026 by 0xnfrith Closed May 30, 2026

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

  1. Set plugin.json version: "0.1.0-beta.28"
  2. Set marketplace.json plugin entry version: "1.0.0"
  3. Install the plugin
  4. 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗