claude-code - 💡(How to fix) Fix extraKnownMarketplaces local entry regenerated without required `source` discriminator on session start

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  1. Run /doctor — the error reappears

Code Example

Settings (settings.json › extraKnownMarketplaces.local.source.source): Invalid input

---

"local": {
  "source": {
    "source": "local",
    "path": "/path/to/local/plugins"
  }
}

---

"local": {
  "source": {
    "path": "/path/to/local/plugins"
  }
}
RAW_BUFFERClick to expand / collapse

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

  1. Enable a local plugin (e.g. quant-skills@local) so Claude Code writes a local marketplace entry
  2. Manually add the missing discriminator: extraKnownMarketplaces.local.source.source = "local"
  3. Restart Claude Code
  4. 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

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The source discriminator ("source": "local") is preserved across sessions:

"local": {
  "source": {
    "source": "local",
    "path": "/path/to/local/plugins"
  }
}

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix extraKnownMarketplaces local entry regenerated without required `source` discriminator on session start