Plugins in claude-plugins-official marketplace lack `version` field in plugin.json, displayed as "unknown"

Resolved 💬 2 comments Opened May 7, 2026 by WoojinAhn Closed May 7, 2026

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)

View original on GitHub ↗

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