Intermediate9 min

The Plugin Lifecycle — Install, Enable, Reload

Plugin management follows a clear CLI interface: install from a registry, GitHub, or local path; enable or disable per project; reload without restarting. Understanding the lifecycle avoids the common pitfall of installing a plugin and wondering why nothing changed.

Quick Reference

  • claude plugin install name@registry — install from the registry
  • claude plugin install name@github:owner/repo — install from GitHub
  • claude plugin install ./path — install local plugin
  • claude plugin enable name — activate for current project
  • claude plugin disable name — deactivate without uninstalling
  • /reload-plugins — apply changes in the current session without restarting
  • claude plugin list — see installed and enabled plugins
  • Plugin config lives in .claude/plugins/ (project) or ~/.claude/plugins/ (global)

The Plugin Lifecycle

A plugin moves through a clear lifecycle: installed (downloaded to disk) → enabled (activated for a project) → running (active in the current session). Changes to any stage require either reloading or restarting to take effect.

1

Install

Download the plugin to the local plugins directory. This makes it available but does not activate it. Installation is global — you install once and can enable in any project.

2

Enable

Activate the plugin for the current project (or globally with --global). Enabling registers the plugin's skills, agents, MCP servers, hooks, and LSP servers.

3

Reload

After enabling, disabling, or changing plugin config within an active session, run /reload-plugins to pick up changes without restarting Claude Code.

4

Update

Install the latest version of an installed plugin. Run /reload-plugins or restart to apply the updated version.

5

Disable

Deactivate the plugin for the current project. It remains installed and can be re-enabled. Session requires reload or restart.

6

Remove

Completely uninstall the plugin. Removes it from disk and all projects where it was enabled.