From interplug
Use when a Claude Code plugin is not working — plugin not loading, skill not triggering, command not appearing, MCP server not starting, or hooks not firing. Provides systematic debug steps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/interplug:troubleshootThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Systematic debug guide for Claude Code plugin problems.
Systematic debug guide for Claude Code plugin problems.
Identify your symptom and jump to the relevant section:
| Symptom | Section |
|---|---|
Plugin doesn't appear in /plugin list | Plugin Not Loading |
| Skill exists but Claude ignores it | Skill Not Triggering |
/command not available | Command Not Appearing |
| MCP tools not available | MCP Server Not Starting |
| Hook scripts don't execute | Hooks Not Firing |
| Changes don't take effect | Development Workflow |
jq . .claude-plugin/plugin.json.claude-plugin/ must exist at plugin root with plugin.jsongrep -r "/Users/" .claude-plugin/ should return nothing/plugin list--- delimiters, name, descriptionskills/skill-name/SKILL.md (not inside .claude-plugin/)commands/command-name.md at plugin rootdescription${CLAUDE_PLUGIN_ROOT} in all configchmod +x on scripts and binariesclaude --debug for startup errorswhich node or equivalenthooks/hooks.json at plugin rootjq . hooks/hooks.json"matcher" field${CLAUDE_PLUGIN_ROOT}chmod +x on all hook scriptsChanges not taking effect:
/plugin uninstall my-plugin@my-dev
# Make changes
/plugin install my-plugin@my-dev
# Restart Claude Code
Can't install locally:
.claude-plugin/marketplace.json exists and is valid/plugin marketplace list| Mistake | Fix |
|---|---|
Skills in .claude-plugin/skills/ | Move to skills/ at root |
| Hardcoded absolute paths | Use ${CLAUDE_PLUGIN_ROOT} |
| Forgot to restart | Always restart after changes |
| Script not executable | chmod +x script.sh |
| Invalid JSON | Validate with jq |
| Vague skill description | Be specific about triggers |
| Testing without uninstall | Uninstall before reinstalling |
# 1. Validate all JSON
jq . .claude-plugin/plugin.json
jq . hooks/hooks.json 2>/dev/null
# 2. Check paths
grep -r "Users/" . --include='*.json'
# 3. Check permissions
find . -name "*.sh" ! -perm -u+x
# 4. Clean reinstall
/plugin uninstall my-plugin@my-dev
/plugin marketplace remove /path/to/plugin
/plugin marketplace add /path/to/plugin
/plugin install my-plugin@my-dev
# Restart Claude Code
For detailed component formats, see /interplug:create-plugin references:
references/plugin-structure.md — directory layout and syntaxreferences/polyglot-hooks.md — cross-platform hooksnpx claudepluginhub mistakeknot/interagency-marketplace --plugin interplugGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.