Plugins in claude-plugins-official marketplace lack `version` field in plugin.json, displayed as "unknown"
Summary
Several plugins distributed through the official claude-plugins-official
marketplace do not declare a version in their .claude-plugin/plugin.json
(and have no version pinned in the marketplace entry either). As a result,claude plugin list shows them with Version: unknown, and they install
into a cache directory named unknown/ rather than a versioned slot.
This is a metadata hygiene issue, not a runtime bug — the plugins load and
function correctly. But for an official Anthropic-maintained marketplace
it surfaces inconsistency in user-facing output and prevents straightforward
version tracking, changelog correlation, and rollback.
Observed State (claude-plugins-official, as of 2026-05-08)
Audited \~/.claude/plugins/cache/claude-plugins-official/<name>/<version>/.claude-plugin/plugin.json\:
| Plugin | plugin.json \version\ | marketplace.json \version\ | Display |
|---|---|---|---|
| claude-code-setup | \1.0.0\ | absent | \1.0.0\ ✓ |
| claude-md-management | \1.0.0\ | absent | \1.0.0\ ✓ |
| ralph-loop | \1.0.0\ | absent | \1.0.0\ ✓ |
| superpowers | \5.1.0\ | absent | \5.1.0\ ✓ |
| vercel | \0.42.1\ | absent | \0.42.1\ ✓ |
| code-review | MISSING | absent | \unknown\ ✗ |
| feature-dev | MISSING | absent | \unknown\ ✗ |
| frontend-design | MISSING | absent | \unknown\ ✗ |
| playwright | MISSING | absent | \unknown\ ✗ |
| pr-review-toolkit | MISSING | absent | \unknown\ ✗ |
| security-guidance | MISSING | absent | \unknown\ ✗ |
| skill-creator | MISSING | absent | \unknown\ ✗ |
| session-report | (no plugin.json) | absent | \unknown\ ✗ |
| swift-lsp | (no plugin.json) | \1.0.0\ | \1.0.0\ (via mp) ✓ |
Summary: 8 of 14 plugins display as \Version: unknown\. 7 of those have
a \plugin.json\ but no \version\ key. 1 (\session-report\) has no
\plugin.json\ at all.
Reproduction
\\\`bash
claude plugin list
observe several @claude-plugins-official entries with Version: unknown
ls ~/.claude/plugins/cache/claude-plugins-official/code-review/
→ "unknown"
jq '.version' ~/.claude/plugins/cache/claude-plugins-official/code-review/unknown/.claude-plugin/plugin.json
→ null
\\\`
Expected Behavior
Plugins distributed through Anthropic's own official marketplace should
populate either:
- \
version\in their \plugin.json\, or - \
version\in the marketplace entry (as \swift-lsp\already does)
…so users see a meaningful version string and can correlate against
release notes / changelog.
Why an issue rather than a PR
The affected plugins live in \anthropics/claude-plugins-official/plugins/\,
so adding \\"version\": \"...\"\ to each \plugin.json\ is mechanically a
one-line change. However, the value of that version is a maintainer
policy decision (initial version number, semver scheme, future bump
conventions) that an external contributor can't make unilaterally. The
repository also has no existing tags or releases to derive versions from.
Hence this issue rather than a drive-by PR.
Suggested Fix
Add a \version\ field to each plugin's \.claude-plugin/plugin.json\ (or to
the corresponding entry in the marketplace \marketplace.json\). For the
plugin with no \plugin.json\ at all (\session-report\), create one.
Impact
Low-Medium — Affects user clarity, version tracking, and changelog
correlation. Does not break plugin functionality. Notable because it
affects the official Anthropic-maintained marketplace specifically.
Environment
- Claude Code CLI 2.1.132
- macOS (Darwin 25.4.0)
- Marketplace: \
claude-plugins-official\(anthropics/claude-plugins-official)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗