Claude Code plugins: install, manage and build your own
Code8 min read · 30 September 2026
A Claude Code plugin is a bundle you add to Claude Code with one command: skills, agents, hooks, MCP servers. Instead of copying ten files by hand, you install one plugin and get its updates. Here’s the full path, checked against Anthropic’s official documentation as of September 30, 2026.
In short: a plugin is a folder of components described by a .claude-plugin/plugin.json file. You install it from a marketplace, a catalog you add once with /plugin marketplace add. From then on, /plugin does everything: discover, install, enable, disable, update, uninstall. A plugin can run code with your privileges, so read what it contains before you install it. To build one, a folder, a manifest and one skill are enough.
Not installed yet? Start with Claude Code for beginners.
What a Claude Code plugin is
The official documentation describes a plugin as a directory of components that Claude Code installs and loads as one unit. The manifest, .claude-plugin/plugin.json, gives it its name.
| Component | Location | What it adds |
|---|---|---|
| Skills | skills/<name>/SKILL.md |
instructions Claude loads when relevant, which you can also run as a command |
| Commands | commands/ |
the older form of skills |
| Agents | agents/ |
subagents Claude can hand work to |
| Hooks | hooks/hooks.json |
commands that run at set points, such as after every edit |
| MCP servers | .mcp.json |
extra tools, active while the plugin is enabled |
Plugin skills carry the plugin’s name as a prefix: the review skill of my-plugin runs as /my-plugin:review.
Do you always need a plugin? No. A skill saved in ~/.claude/skills/ works on its own (see our guide to installing a skill). A plugin pays off when you want several components bundled together and kept up to date by their author.
Worth knowing: an enabled plugin is part of every session. The names and descriptions of its skills and agents sit in Claude’s context on every turn, which counts toward your usage even when you don’t use them. Install only what you need.
Add a marketplace
A Claude Code plugin marketplace is a catalog: a marketplace.json file listing plugins and where to fetch each one. Claude Code adds Anthropic’s official marketplace, claude-plugins-official, during your first interactive terminal session. It adds no other one on its own.
To add one, run /plugin marketplace add followed by its source. The install page accepts four forms: a GitHub repository (owner/repo), the full clone URL of a git repository on another host, a local path starting with ./ or ../, or the https:// URL of a hosted marketplace.json.
Here’s an example with GetPack’s public marketplace:
/plugin marketplace add https://getpack.fr/marketplace.json
Claude Code replies Successfully added marketplace: followed by the catalog name, here getpack, and its plugins show up in the Discover tab of /plugin. Two traps: leaving out https:// (the address is then read as GitHub shorthand and rejected), or writing a local path without ./.
Install a Claude Code plugin, step by step
-
Open the plugin’s details. Run
/plugin installwith the plugin name, an at sign and the marketplace name. Here’s the officialcommit-commandsplugin, which adds commands for committing, pushing and opening pull requests:/plugin install commit-commands@claude-plugins-officialFor GetPack’s marketplace, it would be
/plugin install revisions@getpack. In a session, this doesn’t install anything yet: it opens the details. Running/pluginon its own opens the Discover tab so you can search. -
Read the Will install section. It lists the commands, agents, skills, hooks and MCP servers the plugin adds.
-
Pick a scope. For you in every project (user), for everyone working in the repository (project, through
.claude/settings.json), or for you in this repository only (local). For a quick try, stay local. -
Read the summary. Either
Plugin is now active., or Claude Code runs/reload-pluginsto activate it. If loading fails, the Errors tab of/plugintells you why. -
Check it works. Type
/: the skills appear as/<plugin>:<skill>, such as/commit-commands:commit. Outside a session,claude plugin listshows version, scope and status.
A shortcut since version 2.1.275: /plugin install <plugin> --marketplace <source> adds the marketplace and opens the details in one command, once you confirm the source.
Manage your plugins: enable, disable, update, uninstall
Everything happens in the Installed tab of /plugin. Space enables or disables the selected plugin, and Enter opens its details, with Disable plugin, Update now and Uninstall. Plugins you haven’t used in a while are grouped under Not used recently: that’s where you clean up.
In your shell, the same actions exist: claude plugin enable, claude plugin disable, claude plugin update and claude plugin uninstall, followed by <plugin>@<marketplace>. Each takes --scope to target one scope.
One rule to remember: auto-update is on by default for the official marketplace and off for every other one. You change it in the Marketplaces tab. After an update, the running session keeps the old version until you run /reload-plugins.
For catalogs: /plugin marketplace list, /plugin marketplace update <name> and /plugin marketplace remove <name>. Careful: removing a marketplace uninstalls every plugin you installed from it.
Security: a plugin can run code
The security page is clear: an installed plugin can execute arbitrary code on your machine with your user privileges. Its hooks run shell commands outside Claude Code’s sandbox, its local MCP servers run as processes, its bin/ directory is added to the PATH of Claude’s shell, and its skills steer what Claude does. Your permission rules cover Claude’s tool calls, not the code a hook runs by itself. And with auto-update on, the files you reviewed can change.
Before installing a plugin from an author you don’t know:
- Run
claude plugin marketplace listto see where each marketplace came from. - Read the Will install section.
- Open the source (Open homepage or View on GitHub) and read
hooks/hooks.json,.mcp.jsonand everything inbin/. - For a full inventory, clone the repository and run
claude --plugin-dir <directory> plugin details <name>.
Two safeguards exist. Official marketplace names such as claude-plugins-official are only accepted for repositories under github.com/anthropics/, so a third party can’t pose as Anthropic. And when a catalog entry pins an archive to a sha256 digest, Claude Code refuses the install if the downloaded file doesn’t match; GetPack’s marketplace uses that pin for every plugin.
If you stop trusting a plugin, remove it with claude plugin uninstall. Its files stay in ~/.claude/plugins/cache/ for 14 days before an automatic cleanup.
Our take: treat a plugin like an npm package or a browser extension. A marketplace’s name tells you who publishes the catalog, not what each plugin does.
Build a Claude Code plugin
The smallest plugin fits in two files. The create page follows this path (commands for macOS, Linux, WSL or Git Bash on Windows):
mkdir -p my-first-plugin/.claude-plugin
mkdir -p my-first-plugin/skills/hello
The manifest, at my-first-plugin/.claude-plugin/plugin.json:
{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
Only name is required, with no spaces: it becomes your skills’ prefix. The skill, at my-first-plugin/skills/hello/SKILL.md:
---
name: hello
description: Greet the user with a friendly message
disable-model-invocation: true
---
Greet the user warmly and ask how you can help them today.
The disable-model-invocation: true line stops Claude from running the skill on its own. Then validate and test:
claude plugin validate ./my-first-plugin
claude --plugin-dir ./my-first-plugin
Validation should print Validation passed. In the session, type /my-first-plugin:hello. If you edit files along the way, /reload-plugins reloads the plugin.
The most common mistake: putting skills/ inside .claude-plugin/. Only plugin.json goes in that folder; everything else sits at the plugin root.
To share your plugin, run your own marketplace: a folder with .claude-plugin/marketplace.json, which needs a name, an owner and a plugins list where each entry has a name and a source. The dedicated page goes all the way to installing with claude plugin install my-first-plugin@my-marketplace.
FAQ
What’s the difference between a plugin and a skill?
A skill is one component: a folder with a SKILL.md. A plugin is a bundle that can hold several skills, agents, hooks and MCP servers, installed and updated as one unit.
What are the best Claude Code plugins for a student?
There’s no official ranking. Browse the Discover tab of /plugin, pick based on what you actually do (Git, tests, revision) and keep few plugins enabled. GetPack’s marketplace offers, for example, revisions and premiers-pas-code.
Do my plugins work in claude.ai/code in the browser?
No. A cloud session loads neither the plugins installed on your machine nor the ones your repository’s .claude/settings.json turns on.
Why doesn’t my plugin show up after installing?
Run /reload-plugins, then check the Errors tab of /plugin. In your shell, claude plugin list shows whether it loaded, and claude plugin validate names the fields to fix.
Does a plugin weigh down every session?
A little. Each enabled plugin adds its skills’ and agents’ names and descriptions to the context on every turn. claude plugin details <name> shows that cost. Disable what you don’t use.
What it changes for you
Plugins save you time: instead of rebuilding your setup for every project, you install a tested bundle and share it with your group at project scope. In return, you’re responsible for what you install: read the details pane, read the hooks, favor sources you know. And for graded work, check your school’s rules on AI use first.
Further reading
- Claude Code for beginners: install Claude Code, run your first session, write a CLAUDE.md.
- Installing a skill in Claude in 2 minutes: the basic building block of a plugin.
- Connect an MCP connector to Claude: understand the MCP servers a plugin can add.
- Writing your own Claude skill: write the SKILL.md you will put in your plugin.
Sources
- Plugins overview — Claude Code Docs · accessed 30 September 2026
- Install and manage plugins — Claude Code Docs · accessed 30 September 2026
- Plugin security and trust — Claude Code Docs · accessed 30 September 2026
- Create a Claude Code plugin — Claude Code Docs · accessed 30 September 2026
- Create a marketplace — Claude Code Docs · accessed 30 September 2026






