/doctor false positive: Plugin validation uses incorrect marketplace identifier format
Bug Description
The /doctor command incorrectly validates plugin marketplace references by constructing marketplace identifiers that don't match the actual marketplace names defined in marketplace.json.
Steps to Reproduce
- Add a GitHub-hosted marketplace with a name different from the org name:
``bash``
# Marketplace repo: DiligentCorp/platform-sre-standards
# Marketplace name in .claude-plugin/marketplace.json: "platform-sre-standards"
- Install a plugin from this marketplace:
``bash``
# Plugin installed as: psre-workflow@platform-sre-standards
- Enable the plugin in
~/.claude/settings.json:
``json``
"enabledPlugins": {
"psre-workflow@platform-sre-standards": true
}
- Run
/doctor
Expected Behavior
/doctor should recognize the plugin as valid since:
- The marketplace is properly registered in
~/.claude/plugins/known_marketplaces.jsonasplatform-sre-standards - The plugin is properly installed in
~/.claude/plugins/installed_plugins.jsonaspsre-workflow@platform-sre-standards - The plugin is functional (all skills load correctly)
Actual Behavior
/doctor reports:
- Plugin (psre-workflow@DiligentCorp-platform-sre-standards): Plugin psre-workflow not found in marketplace DiligentCorp-platform-sre-standards
Root Cause
/doctor appears to be constructing the marketplace identifier as {GitHubOrg}-{MarketplaceName} (e.g., DiligentCorp-platform-sre-standards) instead of using the actual marketplace name from the marketplace.json file (e.g., platform-sre-standards).
Environment
- OS: macOS (Darwin 24.6.0)
- Claude Code: Desktop/CLI
- Model: Opus 4.7
- Plugin repo: https://github.com/DiligentCorp/platform-sre-standards
Supporting Files
~/.claude/plugins/known_marketplaces.json
{
"platform-sre-standards": {
"source": {
"source": "github",
"repo": "DiligentCorp/platform-sre-standards"
},
"installLocation": "/Users/mmoore/.claude/plugins/marketplaces/platform-sre-standards",
"lastUpdated": "2026-05-14T15:52:57.779Z",
"autoUpdate": true
}
}
marketplace.json from the plugin repo
{
"name": "platform-sre-standards",
"owner": {
"name": "Platform SRE"
},
"plugins": [
{
"name": "psre-workflow",
"source": "./plugins/psre-workflow",
"description": "Enforcing platform sre standards and providing a generalized AI workflow",
"version": "1.4.1"
}
]
}
~/.claude/plugins/installed_plugins.json (excerpt)
{
"psre-workflow@platform-sre-standards": [
{
"scope": "user",
"installPath": "/Users/mmoore/.claude/plugins/cache/platform-sre-standards/psre-workflow/1.4.1",
"version": "1.4.1",
"installedAt": "2026-05-06T22:53:14.782Z",
"lastUpdated": "2026-05-13T17:50:24.835Z",
"gitCommitSha": "7bc4bfbf741344854942db9b035e3a8cfe5bb7d9"
}
]
}
Suggested Fix
/doctor should use the marketplace name as registered in known_marketplaces.json (the key in the JSON object) rather than attempting to derive it from the GitHub repo path.
Impact
- Users receive false positive warnings that their properly configured plugins are broken
- May cause confusion about whether plugins are properly installed
- Low severity (does not affect plugin functionality)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗