Complete plugin reset - clears cache, registry, and settings (nuclear option).
Resets all plugin data by clearing cache, registry, and settings while preserving official marketplace.
/plugin marketplace add melodic-software/claude-code-plugins/plugin install claude-code-observability@melodic-software[--dry-run] [--include-marketplaces] [--force]Complete plugin reset - the "nuclear option" for plugins. Clears all plugin-related data from both ~/.claude/plugins/ directory AND enabledPlugins from ~/.claude/settings.json.
Related Skill: Invoke the user-config-management skill for comprehensive user configuration guidance.
For cache-only cleanup (preserves registry): Use /clear-plugin-cache instead.
| Location | Contents | Notes |
|---|---|---|
~/.claude/plugins/cache/ | Cached plugin copies | All versions |
~/.claude/plugins/installed_plugins.json | Plugin registry | Tracks installed plugins |
~/.claude/plugins/install-counts-cache.json | Install stats | Marketplace stats cache |
~/.claude/settings.json → enabledPlugins | Plugin enable/disable map | Only this key, other settings preserved |
| Location | Contents | Notes |
|---|---|---|
~/.claude/plugins/known_marketplaces.json | Custom marketplace sources | Use --include-marketplaces to clear |
claude-plugins-official | Official Anthropic marketplace | ALWAYS preserved, even with --include-marketplaces |
~/.claude/settings.json (other keys) | All other settings | Only enabledPlugins is removed |
| Argument | Description | Default |
|---|---|---|
--dry-run | Preview what would be cleared without deleting | false |
--include-marketplaces | Also clear custom marketplace registrations (preserves official) | false |
--force | Skip confirmation prompt | false |
/user-config:reset-plugins # Default: clear all except marketplaces
/user-config:reset-plugins --dry-run # Preview what would be cleared
/user-config:reset-plugins --include-marketplaces # Also clear custom marketplaces
/user-config:reset-plugins --force # Skip confirmation
/user-config:reset-plugins --include-marketplaces --force # Full nuclear, no prompt
DRY_RUN = "--dry-run" in arguments (case-insensitive)
INCLUDE_MARKETPLACES = "--include-marketplaces" in arguments (case-insensitive)
FORCE = "--force" in arguments (case-insensitive)
Check each location and gather statistics:
# Plugin cache directory
ls -la ~/.claude/plugins/cache/ 2>/dev/null
du -sh ~/.claude/plugins/cache/ 2>/dev/null
# Plugin registry files
ls -la ~/.claude/plugins/installed_plugins.json 2>/dev/null
ls -la ~/.claude/plugins/install-counts-cache.json 2>/dev/null
# Known marketplaces (only if --include-marketplaces)
ls -la ~/.claude/plugins/known_marketplaces.json 2>/dev/null
# Check settings.json for enabledPlugins
cat ~/.claude/settings.json 2>/dev/null
Count entries in enabledPlugins if it exists.
Present the plan to the user:
## Plugin Reset Plan
**Mode:** [Standard / Including Marketplaces]
### Will Clear:
| Item | Details |
|------|---------|
| Plugin cache | X plugins (Y MB) |
| Plugin registry | installed_plugins.json |
| Install stats cache | install-counts-cache.json |
| enabledPlugins | N entries in settings.json |
| [If --include-marketplaces] Custom marketplaces | known_marketplaces.json |
### Will Preserve:
- [If NOT --include-marketplaces] Custom marketplace registrations
- `claude-plugins-official` marketplace (ALWAYS preserved)
- All other settings in settings.json
**Estimated space freed:** ~X MB
If NOT FORCE and NOT DRY_RUN:
Use AskUserQuestion tool:
Question: "Proceed with plugin reset? This cannot be undone."
Options: ["Yes, reset plugins", "No, cancel"]
If user selects "No" or anything other than "Yes", abort.
If DRY_RUN, skip to Step 6.
rm -rf ~/.claude/plugins/cache/*
rm -f ~/.claude/plugins/installed_plugins.json
rm -f ~/.claude/plugins/install-counts-cache.json
Read known_marketplaces.json, filter to keep only claude-plugins-official, write back:
1. Read ~/.claude/plugins/known_marketplaces.json
2. Parse JSON
3. Filter to keep only entries where name === "claude-plugins-official"
4. Write filtered JSON back (or delete file if only official remains)
1. Read ~/.claude/settings.json
2. Parse JSON
3. Delete the "enabledPlugins" key (if exists)
4. Write back (preserving all other keys)
5. If settings.json becomes empty ({}), optionally delete it
## Plugin Reset Complete
### Cleared:
- Plugin cache: X plugins removed (Y MB freed)
- Plugin registry: installed_plugins.json removed
- Install stats cache: install-counts-cache.json removed
- enabledPlugins: N entries removed from settings.json
[If --include-marketplaces]
- Custom marketplaces: Z marketplace(s) removed
### Preserved:
- claude-plugins-official marketplace
[If NOT --include-marketplaces]
- Custom marketplace registrations (N marketplaces)
### Next Steps:
1. Restart Claude Code to apply changes
2. Reinstall plugins as needed:
- `/plugin` to browse available plugins
- `/plugin install {name}@{marketplace}` to install specific plugins
For --dry-run:
## Plugin Reset Plan (Dry Run)
**No changes made.** Run without `--dry-run` to execute.
[Same details as above]
| Error | Response |
|---|---|
~/.claude/plugins/ not found | "Plugin directory not found. Nothing to reset." |
~/.claude/settings.json not found | Skip settings modification, continue with directory cleanup |
| Permission denied | "Permission denied. Check file permissions on ~/.claude/" |
| JSON parse error | "Failed to parse settings.json. File may be corrupted. Consider manual backup and reset." |
claude-plugins-official is never removedenabledPlugins key is removed from settings.json--force is specified~ resolves to $USERPROFILE (e.g., C:\Users\{username})rm -rf and rm -f work in Git Bash on Windows/clear-plugin-cache - Cache-only cleanup (preserves registry)/user-config:prune - General Claude Code cache cleanup (excludes plugins)/plugin uninstall {name} - Remove a specific plugin properly