[DOCS] plugin-marketplaces.md doesn't document the extraKnownMarketplaces source schema (git/hostPattern/file types missing, "url"/"github" mean something different there)
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 84/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- documentation
Research direction
Start with the plugin-marketplaces documentation page and compare its plugin-entry source table with the extraKnownMarketplaces schema at schemastore.org/claude-code-settings.json. Add a clearly separated table for the six extraKnownMarketplaces source types, including their fields and differing meanings. Done means the page documents git, hostPattern, and file and explicitly distinguishes overlapping url and github types.
Written by the indexing model from the issue text.
Description
Documentation Type
Missing documentation (feature not documented)
Documentation Location
https://code.claude.com/docs/en/plugin-marketplaces
Section/Topic
Marketplace sources vs plugin sources / the extraKnownMarketplaces setting
Current Documentation
The page's source-types table and surrounding prose only describe the schema for a plugin entry's source field inside marketplace.json:
"The git-based source types below are
github,url, andgit-subdir."
url| string | Required. Full git repository URL (https://orgit@)
This table is presented right next to the page's own "Marketplace source vs plugin source" callout, which links extraKnownMarketplaces directly beside it — making it read as if this table is also the reference for extraKnownMarketplaces in settings.json.
What's Wrong or Missing?
extraKnownMarketplaces actually uses a different, undocumented schema from the one on this page. Pulled directly from the current published schema (https://www.schemastore.org/claude-code-settings.json), the real extraKnownMarketplaces source union is:
url— direct HTTP(S) URL to amarketplace.jsonfile (format: uri, no git involved)git— full git-clone of a repo (git@/SSH andhttps://remotes both work here)github—owner/reposhorthand (different field shape than the plugin-entrygithubtype)hostPattern— trust a git host patternnpm— package containingmarketplace.jsonfile— local path tomarketplace.json
None of git, hostPattern, or file appear anywhere on the docs page. Worse, url and github do appear, but with different meaning and shape than the plugin-entry version of those same names — url here is a plain file fetch, not a git-based source at all, despite sitting directly under a section titled "the git-based source types."
This tripped me up in practice: I had "source": "git" with a git@host:path.git SSH URL in extraKnownMarketplaces, which works correctly, but it looked wrong against this page since "git" isn't listed as a valid type anywhere. Meanwhile "url" looked like it should accept the same SSH syntax per its description here — but url under extraKnownMarketplaces can't clone a repo at all, it only fetches a static file over HTTP(S).
Suggested Improvement
Add a clearly-separated section (or its own page) documenting the extraKnownMarketplaces source schema on its own terms, distinct from the plugin-entry source table — ideally with its own table:
| Source | Fields | Notes |
|---|---|---|
url |
url (must be a URI) |
Fetches marketplace.json directly over HTTP(S); not a git clone |
git |
url, ref?, path?, skipLfs? |
Clones a full git repo; url accepts https:// or git@ SSH remotes |
github |
repo, ref?, path?, skipLfs? |
GitHub owner/repo shorthand |
hostPattern |
hostPattern |
Trusts a git host pattern for repos in source specs |
npm |
package |
NPM package containing marketplace.json |
file |
path |
Local file path to marketplace.json |
And note explicitly that this schema is not the same as the plugin-entry source schema documented above it, even though some type names overlap.
Impact
Medium - Makes feature difficult to understand
Additional Context
Related: #77315 (same extraKnownMarketplaces → git source schema area, different specific defect — a stale .git$ suffix pattern requirement, confirmed by a maintainer as a stale-schema issue rather than a doc issue). Not a duplicate, just adjacent.
- Dominant language
- TypeScript
- Stars
- 147k
- Forks
- 24k
- Avg merge
- 8h 14m
- Merged PRs (30d)
- 18
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from anthropics/claude-code
-
area:desktop bug platform:macos
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
anthropics/claude-code#95572 ·
-
area:agents area:docs bug
Difficulty 1/5 Under an hour Newbie friendliness 95/100
anthropics/claude-code#95540 · 2 comments ·
-
area:docs bug has repro platform:macos
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
anthropics/claude-code#95526 ·
-
area:claude-code-web area:hooks bug has repro
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
anthropics/claude-code#95524 · 1 comment ·
-
area:mcp enhancement external
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
anthropics/claude-code#95435 ·
All issues in anthropics/claude-code
Similar issues
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100