[BUG] `claude plugin validate` rejects `description` field in marketplace.json but warns when it's missing
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
`claude plugin validate .` has an inconsistency in how it handles the `description` field in `marketplace.json`:
If you **include** `description` at the top level, the validator rejects it:
✘ Found 1 error:
❯ root: Unrecognized key: "description"
If you **omit** `description`, the validator passes but warns it's missing:
⚠ Found 1 warning:
❯ metadata.description: No marketplace description provided. Adding a description helps users understand what this marketplace offers
There's no way to satisfy both — including it causes a hard error, omitting it causes a warning.
Anthropic's own official marketplace repo (`anthropics/claude-plugins-official`) includes both `$schema` and `description` as top-level fields, which also fail validation.
What Should Happen?
Either the Zod schema should accept description (and optionally $schema) as valid top-level fields, or the warning about missing description should be removed if the schema intentionally excludes it.
Error Messages/Logs
# With description field:
✘ Found 1 error:
❯ root: Unrecognized key: "description"
✘ Validation failed
# Without description field:
⚠ Found 1 warning:
❯ metadata.description: No marketplace description provided. Adding a description helps users understand what this marketplace offers
✔ Validation passed with warnings
Steps to Reproduce
- Create a minimal marketplace directory:
``bash``
mkdir -p /tmp/test-marketplace/.claude-plugin
- Create marketplace.json WITH description:
``json``
{
"name": "test-marketplace",
"description": "A test marketplace",
"owner": { "name": "Test" },
"plugins": []
}
- Run
claude plugin validate /tmp/test-marketplace - Observe:
✘ root: Unrecognized key: "description" - Remove the
descriptionfield and re-run - Observe:
⚠ metadata.description: No marketplace description provided
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.81 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
Related issues:
- #36651 — Marketplace schema validation rejects
git-subdirsource type (also a Zod schema gap) - #37390 — Invalid source URLs in official marketplace
- #33828 —
git-subdirsource type not supported in schema validator
The official anthropics/claude-plugins-official marketplace.json also includes $schema which triggers the same "Unrecognized key" error.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗