/plugin marketplace fails to load in v2.1.58: schema rejects new object-format source fields

Resolved 💬 4 comments Opened Mar 14, 2026 by paulwbailey Closed Apr 15, 2026

Summary

/plugin fails to load the official marketplace on Claude Code v2.1.58. The marketplace JSON on GitHub has been updated with new object-style source fields that the client's schema validator doesn't support, causing the entire marketplace to fail rather than skipping the unknown entries.

Version

Claude Code 2.1.58 (reports as latest)

Error

Failed to load all marketplaces. Errors: claude-plugins-official: Failed to load marketplace "claude-plugins-official" from source (github): Failed to parse marketplace file at /Users/paulbailey/.claude/plugins/marketplaces/anthropics-claude-plugins-official/.claude-plugin/marketplace.json: Invalid schema: /Users/paulbailey/.claude/plugins/marketplaces/anthropics-claude-plugins-official/.claude-plugin/marketplace.json plugins.56.source: Invalid input, plugins.63.source: Invalid input, plugins.67.source: Invalid input, plugins.71.source: Invalid input, plugins.72.source: Invalid input, plugins.73.source: Invalid input, plugins.74.source: Invalid input, plugins.75.source: Invalid input

Root cause

The marketplace JSON (anthropics/claude-plugins-official) now includes plugins with object-style source fields, e.g.:

"source": {
  "source": "url",
  "url": "https://github.com/pinecone-io/pinecone-claude-code-plugin.git"
}

and

"source": {
  "source": "git-subdir",
  "url": "https://github.com/semgrep/mcp-marketplace.git",
  "path": "plugin"
}

The client schema in v2.1.58 only accepts a plain string for source. Plugins using the new format are at array indices 56, 63, 67, 71–75 (atlassian, figma, Notion, sentry, slack, vercel, pinecone, huggingface-skills, circleback, superpowers, posthog, coderabbit, and others further in the list).

Secondary issue

The error path references anthropics-claude-plugins-official but the actual installLocation in known_marketplaces.json is claude-plugins-official. The loader appears to be deriving the path from the repo name (anthropics/claude-plugins-officialanthropics-claude-plugins-official) instead of reading installLocation, so it may not even be finding the cached file.

Expected behavior

  1. The client should support the new source object formats (url, git-subdir, etc.), OR
  2. The loader should gracefully skip entries it cannot parse rather than failing the entire marketplace.

Workaround

None — the marketplace cache is re-fetched from GitHub so local edits are temporary.

View original on GitHub ↗

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