[BUG] [Windows] /plugin marketplace add reports success but marketplace directory is not created; marketplace validator is also inconsistent
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?
On Windows, /plugin marketplace add mocreo-iot/skills reports success, but the marketplace is not actually installed to the expected local directory.
Claude Code prints:
Successfully added marketplace: mocreo-marketplace
However, the target directory is not created:
C:\Users\<user>\.claude\plugins\marketplaces\mocreo-marketplace
At the same time, Claude Code does write partial marketplace state into local config:
~/.claude/plugins/known_marketplaces.json~/.claude/settings.json
So the result is a half-installed state:
- Claude believes the marketplace was added
- local config records it as added
- but the marketplace files are not actually present on disk
I also found a related inconsistency in the official validator:
claude plugin validatepasses for the plugin package itself- but fails for the marketplace manifest with:
Unrecognized keys: "$schema", "description"
- those same keys are also present in Anthropic's own built-in marketplace manifest
That suggests two related problems:
- marketplace add can report success before installation is fully materialized on disk
- marketplace validation appears inconsistent with the marketplace format Claude Code itself uses
I found related previously reported plugin/marketplace issues, but those threads are now closed and I cannot comment there. I am filing this new issue because I have a fresh reproducible case on Windows plus an additional validator inconsistency that may help narrow down the root cause.
What Should Happen?
/plugin marketplace add <repo>should only report success after the marketplace has actually been downloaded and written to the expected local install directory.- If the marketplace content cannot be fetched, unpacked, or validated, Claude Code should not leave partial state in
known_marketplaces.jsonorsettings.json. - Marketplace installation should be atomic: either fully installed and usable, or fully rolled back.
claude plugin validate <marketplace-path>should accept the same marketplace manifest format that Claude Code itself uses for built-in marketplaces.- Error output should clearly indicate whether failure happened during repo fetch, local extraction, manifest parsing, or plugin discovery.
Error Messages/Logs
Steps to Reproduce
- On Windows, run:
```bash
/plugin marketplace add mocreo-iot/skills
Observe that Claude Code reports:
Successfully added marketplace: mocreo-marketplace
Check:
C:\Users\<user>\.claude\plugins\known_marketplaces.json
C:\Users\<user>\.claude\settings.json
C:\Users\<user>\.claude\plugins\marketplaces\
Observe that:
known_marketplaces.json contains mocreo-marketplace
settings.json contains extraKnownMarketplaces.mocreo-marketplace
but C:\Users\<user>\.claude\plugins\marketplaces\mocreo-marketplace does not exist
Run marketplace validation:
claude plugin validate E:\MOCREOUSER\mocreoskill\skills
Observe validation error:
Unrecognized keys: "$schema", "description"
Compare with Anthropic's built-in marketplace manifest under:
C:\Users\<user>\.claude\plugins\marketplaces\claude-plugins-official\.claude-plugin\marketplace.json
Validate Anthropic's built-in marketplace and observe the same error
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.79
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
The plugin package itself validates successfully:
claude plugin validate E:\MOCREOUSER\mocreoskill\skills\plugins\mocreo-api
Result: validation passed.
The marketplace root does not validate, but the reported invalid keys are also present in Anthropic's own built-in marketplace manifest.
I also tested a temporary copy of the marketplace manifest with only $schema and description removed; that copy validated successfully, which suggests the validator is inconsistent rather than the marketplace structure being fundamentally broken.
This seems related to other Claude Code plugin/marketplace state issues:
#9426
#9537
#10364
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗