Plugin marketplace fails to load when manifest contains unknown source formats (url/git-subdir), breaking all plugins in that marketplace
Summary
When marketplace.json contains plugin entries that use source formats not recognized by the current CLI version (specifically "url" and "git-subdir"), the CLI rejects the entire manifest with a schema validation error. This causes every plugin in that marketplace to show "failed to load: Plugin X not found in marketplace" — including plugins whose entries use perfectly valid source formats.
Steps to Reproduce
- Have Claude Code 2.1.170 (latest as of 2026-06-10) with
claude-plugins-officialmarketplace configured - Run
claude plugin marketplace update claude-plugins-official - Observe: all plugins from that marketplace fail to load
Or:
claude plugin marketplace remove claude-plugins-official
claude plugin marketplace add anthropics/claude-plugins-official
✘ Failed to add marketplace: Invalid schema: .../.claude-plugin/marketplace.json
plugins.0.source: Invalid input
plugins.1.source: Invalid input
... (53 entries with source: "git-subdir" or source: {source: "url", url: "..."})
plugins.61: Unrecognized key: "displayName"
Root Cause
The anthropics/claude-plugins-official marketplace manifest recently introduced two new source formats:
{ "source": "url", "url": "https://github.com/org/repo.git", "sha": "abc123" }
{ "source": "git-subdir", "url": "...", "path": "plugins/foo", "ref": "v1.0", "sha": "..." }
The CLI's Zod schema validator does not recognize these variants. Because validation is applied to the entire plugins array, a single unrecognized entry causes the whole manifest to fail — even entries with valid string-path sources like "./plugins/code-review".
Impact
- All plugins from
claude-plugins-officialshowStatus: ✘ failed to loadeven if their own source entry is valid claude plugin discovershows "All available plugins are already installed" (can't read the marketplace)claude plugin marketplace updateis permanently broken for the official marketplace on the current CLI version- Workaround requires manually patching
~/.claude/plugins/marketplaces/claude-plugins-official/.claude-plugin/marketplace.jsonto strip unrecognized source formats
Expected Behavior
The CLI should tolerate unknown source format variants with a warn-and-skip approach:
- Plugins with unrecognized source formats are skipped (logged as warnings, not counted as "installed")
- Plugins with valid source formats in the same manifest load normally
plugin listshows a warning at the top rather than per-plugin errors
Alternatively, maintain backward compatibility in the marketplace schema by not introducing breaking source format changes without a corresponding CLI release that understands them.
Environment
- Claude Code: 2.1.170 (also reproduced on 2.1.47)
- OS: macOS Darwin 25.5.0
- Marketplace:
anthropics/claude-plugins-official(GitHub) - Affected plugins: all 12+ plugins previously working from this marketplace (slack, notion, atlassian, superpowers, figma, playwright, feature-dev, skill-creator, typescript-lsp, code-review, explanatory-output-style, frontend-design)