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.
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.
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.
Reload
After enabling, disabling, or changing plugin config within an active session, run /reload-plugins to pick up changes without restarting Claude Code.
Update
Install the latest version of an installed plugin. Run /reload-plugins or restart to apply the updated version.
Disable
Deactivate the plugin for the current project. It remains installed and can be re-enabled. Session requires reload or restart.
Remove
Completely uninstall the plugin. Removes it from disk and all projects where it was enabled.