Custom marketplace plugins show as enabled but fail to load skills
Title: Custom marketplace plugins show as enabled but fail to load skills
Description:
Summary
Custom Git-based marketplace plugins are marked as "enabled" and appear in claude plugin list, but their skills and commands never load. Debug logs show "Plugin not found in marketplace" errors during startup.
Environment
- Claude Code Version: 2.1.32 (latest as of 2026-02-07)
- OS: macOS Darwin 25.2.0
- Marketplace Type: Custom Git-based marketplace
Bug Description
When using a custom Git-based marketplace, plugins from that marketplace:
- ✅ Install successfully (
claude plugin installworks) - ✅ Show as "✔ enabled" in
claude plugin list - ✅ Are listed in
~/.claude/settings.jsonas enabled - ✅ Have all files present in the cache directory
- ❌ But their skills/commands never load and cannot be invoked
Error Message
[DEBUG] Plugin loading errors: Plugin sb-dev-base not found in marketplace safebreach-marketplace
[DEBUG] getPluginSkills: Processing 3 enabled plugins
Only plugins from claude-plugins-official are processed. Custom marketplace plugins are excluded from the loading phase.
Steps to Reproduce
- Set up a custom Git-based marketplace (e.g., from a private Bitbucket/GitLab repo)
- Add marketplace to known_marketplaces.json
- Install plugins from that marketplace:
claude plugin install my-plugin@my-marketplace - Verify plugin shows as enabled:
claude plugin list - Try to use a skill from the plugin:
/my-skill - Result: "Unknown skill" error
- Check debug logs: Plugin excluded from
getPluginSkillsprocessing
Expected Behavior
Plugins from custom marketplaces should load their skills/commands just like official marketplace plugins.
Actual Behavior
- Plugin shows as "✔ enabled" in
claude plugin list - Debug log shows: "Plugin not found in marketplace"
- Plugin is excluded from the skill loading process
- Skills from the plugin are never registered
- Attempting to invoke skills fails with "Unknown skill"
Evidence
$ claude plugin list
❯ sb-dev-base@safebreach-marketplace
Version: 1.0.10
Status: ✔ enabled
$ # Try to use skill from this plugin
$ # Returns: Unknown skill: analyzing-risks
Debug logs show only official plugins processed:
[DEBUG] getPluginSkills: Processing 3 enabled plugins
[DEBUG] Checking plugin atlassian: skillsPath=none
[DEBUG] Checking plugin superpowers: skillsPath=exists
[DEBUG] Total plugin skills loaded: 14
Notice: Custom marketplace plugins are completely absent from this list despite being "enabled".
Files Checked
All plugin files are present and valid:
- ✅
~/.claude/plugins/cache/my-marketplace/my-plugin/version/exists - ✅
.claude-plugin/plugin.jsonis valid - ✅
skills/directory contains skill files - ✅ Plugin metadata in
installed_plugins.jsonis correct
Root Cause
Plugin validation during startup fails for custom marketplace plugins, causing them to be excluded from the enabled plugins list that's passed to getPluginSkills(), even though the plugin registry still shows them as enabled.
Impact
- Severity: High - Complete loss of plugin functionality
- Workaround: None currently known
- Affected: Anyone using custom/private marketplaces
Suggested Fix
Investigate why plugin validation fails for custom marketplace plugins and either:
- Fix the validation logic to properly recognize custom marketplace plugins
- Allow plugins to load even if marketplace validation fails (since they're in cache)
- Provide better error messages explaining why validation failed
---
Note: Full diagnostic details available if needed. This was discovered through systematic debugging with debug logs enabled.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗