extraKnownMarketplaces local entry regenerated without required `source` discriminator on session start
Resolved 💬 1 comment Opened May 21, 2026 by Leoshneido Closed Jun 21, 2026
Describe the bug
When a local plugin marketplace is configured in extraKnownMarketplaces, Claude Code regenerates the local entry on each session start without the required source type discriminator field. This causes /doctor to report:
Settings (settings.json › extraKnownMarketplaces.local.source.source): Invalid input
Steps to reproduce
- Enable a local plugin (e.g.
quant-skills@local) so Claude Code writes a local marketplace entry - Manually add the missing discriminator:
extraKnownMarketplaces.local.source.source = "local" - Restart Claude Code
- Run
/doctor— the error reappears
Expected behavior
The source discriminator ("source": "local") is preserved across sessions:
"local": {
"source": {
"source": "local",
"path": "/path/to/local/plugins"
}
}
Actual behavior
The field is stripped on each startup, leaving:
"local": {
"source": {
"path": "/path/to/local/plugins"
}
}
Environment
- OS: macOS 14
- Claude Code CLI
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗