/reload-plugins doesn't rebuild slash-command index

Resolved 💬 6 comments Opened Mar 23, 2026 by reggiechan74 Closed Apr 18, 2026

Description

/reload-plugins loads skills into the model context (system reminder) but does not rebuild the / command parser index (autocomplete + direct invocation). This means plugin changes made mid-session (install, uninstall, marketplace edits) won't register as / commands until Claude Code is fully restarted.

The output message — Reloaded: 23 plugins · 68 skills · 34 agents — implies a full reload occurred, which is misleading.

Repro

  1. Start a fresh Claude Code session
  2. Install a new plugin mid-session: /plugin install fabula-nf@sefirot-marketplace
  3. /reload-plugins → reports skills loaded successfully
  4. Type /fabula-nf:essays"Unknown skill"
  5. The skill IS available via the Skill tool (model can invoke it) and appears in the system reminder
  6. Exit and restart Claude Code
  7. Type /fabula-nf:essaysworks

Also reproducible in reverse:

  1. Start session with brando installed → /brando:analysis works
  2. Uninstall brando mid-session → /reload-plugins
  3. /brando:brand-auditstill works (stale command index)
  4. Restart → brando commands correctly gone

Expected

/reload-plugins rebuilds the command index so / autocomplete and direct invocation reflect the current plugin state — or the output message indicates a restart is required.

Actual

Two separate registration systems exist:

  • Model-facing (system reminder): rebuilt on /reload-plugins
  • Command parser (/ autocomplete + direct invocation): only built on session start

Environment

  • Claude Code 2.1.81
  • Linux (OrbStack)

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗