Marketplace directory name mismatch: settings key vs disk lookup path
Bug Description
When adding a third-party GitHub marketplace via claude plugin marketplace add {owner}/{repo}, there is a directory naming inconsistency between:
marketplace addcommand: Creates the directory using the settings key name (e.g.,skill-fetch)- Internal lookup logic: Searches for the directory using
{owner}-{repo}format (e.g.,girofu-skill-fetch)
This causes a Failed to load marketplace error because the directory doesn't exist at the expected path.
Steps to Reproduce
- Add a third-party marketplace:
``bash``
claude plugin marketplace add girofu/skill-fetch
- Verify the marketplace was added successfully (it is)
- Run any plugin command that triggers marketplace loading:
``bash``
claude plugin list
- Observe the warning:
````
Warning: Failed to load marketplace 'skill-fetch': Failed to load marketplace "skill-fetch" from source (github): Marketplace file not found
at /Users/xxx/.claude/plugins/marketplaces/girofu-skill-fetch/.claude-plugin/marketplace.json
Expected Behavior
The directory name used by marketplace add and the internal lookup path should be consistent. Either:
- Option A:
marketplace addcreates the directory as{owner}-{repo}(e.g.,girofu-skill-fetch) - Option B: Internal lookup uses the settings key name (e.g.,
skill-fetch)
Actual Behavior
marketplace addcreates:~/.claude/plugins/marketplaces/skill-fetch/- Internal lookup searches:
~/.claude/plugins/marketplaces/girofu-skill-fetch/ - The
extraKnownMarketplaceskey insettings.jsonis"skill-fetch"
Evidence
settings.json entry:
"extraKnownMarketplaces": {
"skill-fetch": {
"source": {
"source": "github",
"repo": "girofu/skill-fetch"
}
}
}
Disk:
~/.claude/plugins/marketplaces/
├── claude-plugins-official # repo name only
├── superpowers-marketplace # repo name only
├── girofu-my-claude-marketplace # owner-repo format (added earlier?)
└── skill-fetch # repo name only (should be girofu-skill-fetch?)
Note: girofu-my-claude-marketplace uses the {owner}-{repo} format, suggesting the naming convention may have changed across Claude Code versions, creating inconsistency for existing installations.
Workaround
Create a symlink:
ln -s ~/.claude/plugins/marketplaces/skill-fetch ~/.claude/plugins/marketplaces/girofu-skill-fetch
Environment
- Claude Code CLI (latest as of 2026-03-19)
- macOS (Darwin 25.2.0)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗