Skip to main content
Plugins extend Claude Code with additional tools, skills, MCP servers, and other capabilities. The claude plugin command group (aliased as claude plugins) provides non-interactive management of plugins from the command line.
Inside an interactive session, use the /plugin slash command (aliased as /plugins and /marketplace) to open the plugin management UI.

Subcommands

plugin list

List all installed plugins.
--json
boolean
Output as JSON instead of formatted text.
--available
boolean
Include plugins available from configured marketplaces in the output. Requires --json.

plugin install

Install a plugin from a configured marketplace.
plugin
string
required
Plugin identifier. Use plugin-name to install from any marketplace, or plugin-name@marketplace-name to target a specific marketplace.
-s, --scope <scope>
string
Installation scope: user (default), project, or local.

plugin uninstall

Uninstall an installed plugin.
plugin
string
required
Plugin name or plugin@marketplace identifier.
-s, --scope <scope>
string
Uninstall from scope: user (default), project, or local.
--keep-data
boolean
Preserve the plugin’s persistent data directory (~/.claude/plugins/data/{id}/). By default, data is removed along with the plugin.

plugin enable

Re-enable a plugin that has been disabled.
plugin
string
required
Plugin name or plugin@marketplace identifier.
-s, --scope <scope>
string
Scope to enable the plugin in (user, project, or local). If not specified, the most specific scope for the current project is used automatically.

plugin disable

Disable a plugin without uninstalling it.
plugin
string
Plugin name or plugin@marketplace identifier. Omit when using --all.
-a, --all
boolean
Disable all currently enabled plugins.
-s, --scope <scope>
string
Scope to disable the plugin in. If not specified, the most specific scope for the current project is used automatically.

plugin update

Update a plugin to the latest version. A restart is required for the update to take effect.
plugin
string
required
Plugin name or plugin@marketplace identifier.
-s, --scope <scope>
string
Scope to update: user (default), project, or local.

plugin validate

Validate a plugin or marketplace manifest file for correctness.
path
string
required
Path to the plugin.json or marketplace.json manifest to validate.

Marketplace subcommands

Marketplaces are registries from which plugins can be discovered and installed.

plugin marketplace add

Add a marketplace from a URL, file path, or GitHub repository.
source
string
required
URL, local path, or GitHub repo (e.g. org/repo) of the marketplace.
--scope <scope>
string
Where to declare the marketplace: user (default), project, or local.
--sparse <paths...>
string[]
Limit the git checkout to specific directories using sparse-checkout (useful for monorepos). Example: --sparse .claude-plugin plugins.

plugin marketplace list

List all configured marketplaces.

plugin marketplace remove

Remove a configured marketplace.

plugin marketplace update

Update marketplace listings from their source. Updates all marketplaces if no name is specified.

Plugin scopes

Plugins installed at user scope are available in every project. Use project scope for plugins that all collaborators should have, and local scope for personal overrides that you do not want to commit to git.

The /plugin slash command

Inside an interactive session, /plugin opens the plugin management UI where you can browse, install, enable, disable, and uninstall plugins interactively:
Use --plugin-dir <path> at startup to load a local plugin directory for the current session only, without installing it permanently: