Claude Code plugins package extensions for the coding agent. According to Anthropic’s install guide, installing a plugin adds its skills, agents, hooks and MCP servers to Claude Code on your machine, and the details pane can also list commands and LSP servers. Review what a plugin adds, install it from a marketplace you have checked, and choose the scope that records it in the right settings file.
Applies to: Claude Code plugin documentation (Install and manage plugins, Plugin security and trust) as published on October 31, 2026. Last checked: October 31, 2026.
On this page
Before you install: inspect what can run
Anthropic’s plugin security page says a plugin you install can execute arbitrary code on your machine with your user privileges. Its hooks run as shell commands, its monitors run as background shell commands, a stdio MCP server runs as a process Claude Code starts, and Claude Code adds the plugin’s bin/ directory to the PATH of the Bash tool’s shell. Skills, commands and agents enter Claude’s context as instructions.
In a session, run /plugin, select the plugin and read the Will install section, which lists its commands, agents, skills, hooks, and MCP and LSP servers. That section shows that a hook exists but not what it runs, so the security page says to read these files in the plugin’s directory:
hooks/hooks.json: the command each hook runs.mcp.json: each server’s command or URLbin/: every file in the directory
To list what a plugin contains before installing it, clone the repository that holds the plugin’s directory, then run:
claude --plugin-dir <plugin directory> plugin details <plugin name>
After you install a plugin, the same command without --plugin-dir prints the Component inventory for the installed copy:
claude plugin details <plugin name>
A marketplace’s name tells you who publishes the catalog, not what each plugin in it does. Claude Code accepts the official and community marketplace names only for marketplaces sourced from github.com/anthropics/ repositories, and Anthropic still says to review a plugin whichever marketplace it comes from (plugin security).
Install from the official marketplace
Claude Code adds Anthropic’s official marketplace for you the first time you start an interactive terminal session (install guide). Anthropic’s example plugin is commit-commands. In a session, run:
/plugin install commit-commands@claude-plugins-official
In a session, this command does not install right away: it opens the /plugin panel on the plugin’s details so you can review it and choose a scope. To browse instead, run /plugin with no plugin name; the panel opens on the Discover tab.
After you choose a scope, Claude Code installs the plugin and prints a summary. Plugin is now active. means no reload is needed. Run /reload-plugins to apply. means a reload is needed; if that reload would invalidate the prompt cache, Claude Code warns and leaves the plugin pending, and /reload-plugins --force activates it anyway at the cost of one uncached request.
To install from your shell without starting a session, the install guide gives this form:
claude plugin install <name>@claude-plugins-official
Plugins installed from the shell load the next time you start Claude Code, or when you run /reload-plugins in an open session. On a machine where no one has opened an interactive Claude Code session yet, the official marketplace is not registered, so a script runs claude plugin marketplace add anthropics/claude-plugins-official before the install (install from your shell).
Choose user, project or local scope
A plugin’s install scope decides who gets the plugin and which settings file records it as enabled (choose an install scope):
| Scope | Settings file | Who gets the plugin |
|---|---|---|
| User | ~/.claude/settings.json | You, in every project on this machine |
| Project | .claude/settings.json | Everyone who works in this repository |
| Local | .claude/settings.local.json | You, in this repository only |
When the same plugin is set at several scopes, the local setting overrides the project setting, and the project setting overrides the user setting.
From the shell, claude plugin install uses user scope by default. Pass --scope project or --scope local to change it. The install guide’s example:
claude plugin install formatter@your-org --scope project
Committing a project-scope entry turns the plugin on for your collaborators but does not download it to their machines, so each collaborator also runs claude plugin install <name>@<marketplace> --scope project once.
If you are deciding between a plugin and a standalone skill, read Claude Code skills.
Add a custom marketplace
A marketplace is a catalog of plugins, and Claude Code has to know about it before you can install from it (add a marketplace). In a session, run /plugin marketplace add with the marketplace’s source: a GitHub owner/repo, a git repository on any host, a local directory or file, or a hosted marketplace.json. The install guide’s example that pins a GitHub repository to the v1.2.0 tag:
/plugin marketplace add your-org/plugins#v1.2.0
From your shell, claude plugin marketplace add takes the same sources. After it succeeds, the marketplace’s plugins appear on the Discover tab and install with <plugin>@<marketplace>.
To see where each marketplace was added from, run:
claude plugin marketplace list
To remove a marketplace, run claude plugin marketplace remove <name>. Removing a marketplace uninstalls every plugin you installed from it and removes their enabledPlugins entries from your settings files (manage marketplaces).
Check that the plugin loaded
Type / and look for the plugin’s skills under its name, in the form /<plugin>:<skill>. The Installed tab in /plugin lists the plugin with its scope, and in your shell this command prints the same list with Version, Scope and Status lines (install guide):
claude plugin list
If Claude Code reports that a plugin enabled in the repository’s .claude/settings.json isn’t installed, install it at project scope as shown above.
For MCP server setup in general, see the Claude Code MCP guide; for allow, ask and deny rules, see Claude Code permissions.
Update, disable or remove a plugin
Plugins update automatically when their marketplace has auto-update turned on. It is on by default for claude-plugins-official and the other official marketplace names except knowledge-work-plugins and first-party-plugins, and off by default for the community marketplace, third-party marketplaces and local development marketplaces (keep plugins updated). The security page notes that auto-update can change the files you reviewed on disk.
To update one plugin, select Update now on the Installed tab, or run:
claude plugin update <plugin>@<marketplace>
There is no command that updates every plugin at once. The Update marketplace action on the Marketplaces tab refreshes one marketplace’s listing and updates the plugins you installed from it. claude plugin marketplace update with no name refreshes every marketplace’s listing but leaves installed plugins at their current versions.
To stop loading a plugin without removing it, disable it on the Installed tab. The install guide’s shell example disables, re-enables and then uninstalls a plugin at project scope:
claude plugin disable formatter@your-org
claude plugin enable formatter@your-org
claude plugin uninstall formatter@your-org --scope project
When you remove a plugin you no longer trust, pass the --scope you installed it at. Its files stay on disk under ~/.claude/plugins/cache/ for 14 days before a background sweep removes them; to delete them now, remove the plugin’s directory under ~/.claude/plugins/cache/<marketplace>/<plugin>/ yourself. If you don’t trust the marketplace’s owner either, remove the marketplace too (remove a plugin you no longer trust).
Claude Code’s permission rules and sandbox cover the tool calls Claude makes, not the code a plugin runs by itself: Claude Code runs hooks, monitors, MCP servers and LSP servers outside the sandbox (plugin security). For the sandbox itself, see Claude Code sandbox.





