[FEATURE] Allow /reload-plugins to be invoked programmatically from slash commands / hooks

Resolved 💬 2 comments Opened Mar 10, 2026 by maxosl Closed Apr 8, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When building slash commands that switch between plugin profiles (e.g. /dev-mode frontend vs /dev-mode backend), the command can already call claude plugin enable / claude plugin disable via Bash. However, activating the changes in the current session requires a separate manual /reload-plugins step.

There is no way for a slash command, hook, or any other automated mechanism to trigger plugin reload programmatically. The /reload-plugins command is built-in and the SlashCommand tool explicitly excludes built-in commands, so it cannot be invoked as a tool call either.

The current workflow is unavoidably two steps:

  1. /dev-mode backend — runs claude plugin enable/disable via Bash ✅
  2. 2. /reload-plugins — must be typed manually by the user ❌

This makes fully automated plugin-switching workflows impossible.

Proposed Solution

Allow /reload-plugins to be triggered from within a running Claude Code session without user interaction. A few possible approaches:

Option A: Allow the SlashCommand tool and Skill tool to invoke built-in commands like /reload-plugins, similar to how custom commands can invoke each other.

Option B: Expose a reloadPlugins allowed-tool permission (e.g. allowed-tools: ReloadPlugins) that slash commands can declare and call directly.

Option C: Add a CLI subcommand (claude plugin reload) that sends a reload signal to a running session, allowing external scripts and hooks to trigger it.

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

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