62 62. Plugins and Marketplaces
Skills, subagents, hooks, and MCP servers each work on their own. A plugin packages several of them into one unit that you can install with one command, share with classmates, and keep up to date. This page covers what plugins are, where they come from, how to install and manage them, how to judge whether to trust one, and how to build a tiny plugin of your own.
62.1 What a plugin is
As of Oct 6, 2026 · Official docs: Plugins overview
A plugin is a folder of components that Claude Code installs and loads as one unit. Think of an app on your phone: one install, and you get a bundle of features. The usual components are:
- Skills: instructions Claude loads when relevant, which you can also run as
/commands. - Agents: subagent definitions.
- Hooks: commands that run at lifecycle events.
- A hooks module: hooks written as JavaScript functions; a plugin that has one is a mod.
- MCP servers: extra tools for Claude.
Plugins can also carry language servers (for code intelligence), output styles, color themes, and executable programs. Each part has a fixed place in the plugin’s folder:
my-plugin/
├── .claude-plugin/
│ └── plugin.json <- the manifest: the plugin's name, description, version
├── skills/
│ └── review/
│ └── SKILL.md <- a skill, run as /my-plugin:review
├── agents/
│ └── reviewer.md <- a subagent
├── hooks/
│ └── hooks.json <- hooks
└── .mcp.json <- MCP servers
The manifest (plugin.json) names the plugin. That name becomes a prefix on its skills and agents, such as /my-plugin:review, so two plugins can both have a review skill without colliding.
Do you need a plugin? Not to use these features yourself: a skill saved in ~/.claude/skills/, for example, already works in all your projects. Use a plugin to install a setup someone else built, or to share your own setup with teammates and several projects.
62.2 Marketplaces
As of Oct 6, 2026 · Official docs: Anthropic’s marketplaces
A marketplace is a catalog of plugins: a repository or folder with a .claude-plugin/marketplace.json file that lists plugins and where to fetch each one. It’s a catalog, not a store. You add a marketplace once, then install plugins from it as plugin-name@marketplace-name, for example commit-commands@claude-plugins-official.
Anthropic publishes three general-purpose marketplaces:
| Official | Community | Demo | |
|---|---|---|---|
Name (after @) |
claude-plugins-official |
claude-community |
claude-code-plugins |
| GitHub repository | anthropics/claude-plugins-official |
anthropics/claude-plugins-community |
anthropics/claude-code |
| What’s in it | Plugins Anthropic maintains, plus plugins from partners and other authors | Third-party plugins submitted to Anthropic | A few example plugins |
| How you get it | Added automatically the first time you start an interactive terminal session | /plugin marketplace add anthropics/claude-plugins-community |
/plugin marketplace add anthropics/claude-code |
Anthropic also has a few topic-specific marketplaces. Any marketplace without one of Anthropic’s reserved names is third-party, such as one a classmate or a company publishes on GitHub. Anthropic doesn’t review third-party marketplaces. To browse the official catalog on the web, see Claude Marketplace (a website, not a marketplace you add).
62.3 Installing and managing plugins
As of Oct 6, 2026 · Official docs: Install and manage plugins
Inside Claude Code, /plugin opens the plugin panel. Press Tab to move between its tabs: Discover (plugins from your marketplaces; type to search), Installed, Marketplaces, and Errors.
To install the official commit-commands plugin (commands for committing, pushing, and opening pull requests):
/plugin install commit-commands@claude-plugins-official
This doesn’t install right away. It opens the plugin’s details, which list what it will add (“Will install”) and, for official plugins, a Context cost estimate. Then you choose a scope:
| Scope | Who gets the plugin | Recorded in |
|---|---|---|
| User | You, in every project on this computer | ~/.claude/settings.json |
| Project | Everyone who works in this repository | .claude/settings.json (committed) |
| Local | You, in this repository only | .claude/settings.local.json |
The install summary tells you whether the plugin is active now or whether to run /reload-plugins. Its skills then appear under its name: type / and look for /commit-commands:commit.
The same actions work from your shell (Mac Terminal or Git Bash), without starting a session:
claude plugin install commit-commands@claude-plugins-official
claude plugin list
claude plugin disable commit-commands@claude-plugins-official
claude plugin enable commit-commands@claude-plugins-official
claude plugin uninstall commit-commands@claude-plugins-officialclaude plugin install uses user scope unless you add --scope project or --scope local. A plugin installed from the shell loads in your next session, or after /reload-plugins in an open one.
- Disable vs uninstall. Disabling keeps the plugin installed but turns it off; uninstalling removes it. Both are also on the Installed tab.
- Updates. Plugins from the official marketplace update automatically by default; for the community marketplace and third-party marketplaces, auto-update is off unless you turn it on. Update one by hand with
claude plugin update <plugin>@<marketplace>. A running session keeps the old version until/reload-pluginsor the next session. - Marketplaces.
claude plugin marketplace add <owner>/<repo>,list,update, andremovemanage marketplaces (inside a session, use/plugin marketplace ...). Removing a marketplace uninstalls every plugin you installed from it.
In the desktop app’s Code tab, click + next to the prompt box, then Plugins. In VS Code, type /plugins in the Claude Code panel. The terminal, the desktop app’s local sessions, and the VS Code extension on one computer share the same settings files, so a user-scope plugin installed in one is available in the others. Cloud sessions (such as claude.ai/code) don’t load the plugins installed on your computer. Plugins you turn on in your claude.ai account can also sync into Claude Code; they show up with the ID <name>@synced.
62.4 What an enabled plugin costs
As of Oct 6, 2026 · Official docs: Plugins overview: What an enabled plugin adds to your sessions
An enabled plugin is part of every session, not only the ones where you use it:
- Context and usage. The name and description of each skill and agent Claude can use on its own sit in Claude’s context on every turn, so Claude knows they exist. That uses tokens and room in the context window even when nothing from the plugin runs.
- Processes. Its MCP servers run, and its hooks fire on their events.
To check: look at the Context cost in the plugin’s details, run claude plugin details <name> in your shell (its Always-on line shows the tokens added to every session), and look for the Not used recently group on the Installed tab. Disable what you don’t use.
62.5 Trust and security
As of Oct 6, 2026 · Official docs: Plugin security and trust
“A Claude Code plugin you install can execute arbitrary code on your machine with your user privileges.” This is true whichever marketplace it comes from.
What makes a plugin powerful also makes it risky:
- Its hooks, MCP servers, and mod code run on your computer with your permissions, outside Claude Code’s sandbox. Your permission rules cover the tool calls Claude makes, not the code a plugin runs by itself.
- Programs in its
bin/folder can be run by Claude’s Bash commands. - Its skills and agents enter Claude’s context as instructions, which shape what Claude does.
- With auto-update on, the files you reviewed can change later.
Before installing, especially from a third-party marketplace:
- Check where the marketplace comes from:
claude plugin marketplace listprints each marketplace’s source. - Read the Will install list in the plugin’s details in
/plugin. - Open the plugin’s source (Open homepage or View on GitHub) and read
hooks/hooks.json(what each hook runs),.mcp.json(each server’s command or URL), and everything inbin/. - If you don’t understand it or don’t trust the author, don’t install it.
Marketplace names help a little: Claude Code accepts Anthropic’s official and community marketplace names only from github.com/anthropics/ repositories, so a stranger can’t publish a fake claude-plugins-official. But the name tells you who publishes the catalog, not what each plugin does.
To remove a plugin you no longer trust, run claude plugin uninstall <plugin> --scope <the scope you used>.
62.6 Create a minimal plugin
As of Oct 6, 2026 · Official docs: Create a Claude Code plugin
This plugin has one component, a greeting skill. Run these commands in your shell (Mac Terminal or Git Bash), from a folder such as ~/projects:
mkdir -p my-first-plugin/.claude-plugin
mkdir -p my-first-plugin/skills/helloSave the manifest as 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"
}
}Save the skill as 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.(disable-model-invocation: true means only you can start this skill; Claude won’t run it on its own.) Check the files, then start Claude Code with the plugin loaded for this session only:
claude plugin validate ./my-first-plugin
claude --plugin-dir ./my-first-pluginThe first command should end with ✔ Validation passed. In the session, run /my-first-plugin:hello and Claude greets you. If you edit the files during the session, run /reload-plugins to load your changes.
plugin.json goes in .claude-plugin/
Put skills/, agents/, hooks/, and .mcp.json at the plugin’s top level, next to .claude-plugin/. Components saved inside .claude-plugin/ don’t load.
To share the plugin, you can send the folder (or a .zip), list it in a marketplace of your own (a GitHub repository with a marketplace.json), or submit it to Anthropic’s directory.
claude plugin init my-toolscaffolds a starter plugin in~/.claude/skills/my-tool/, which then loads in every session asmy-tool@skills-dir.- If you already have skills, agents, or hooks under a project’s
.claude/folder, you can copy them into a plugin folder; hooks move from your settings file intohooks/hooks.json(same format). - Anthropic’s
plugin-devplugin (in the official marketplace) adds/plugin-dev:create-plugin, which walks you through designing and validating a larger plugin.
62.7 Key takeaways
- A plugin bundles skills, agents, hooks, MCP servers, and more under one name; a marketplace is a catalog you install plugins from.
- Use
/plugin(orclaude plugin ...in your shell) to browse, install, disable, update, and uninstall; pick a user, project, or local scope. - Enabled plugins cost context and run processes in every session.
- Plugins run code with your permissions: review them before installing.
Practice Questions
Easy
Question 1 · Short answer
What is a Claude Code plugin? Name three kinds of components it can contain.
Question 2 · Multiple choice
What is a plugin marketplace?
- A store where you pay for plugins with a credit card
- A catalog (a
marketplace.jsonfile in a repository or folder) that lists plugins and where to fetch them - The
~/.claude/plugins/folder on your computer - Another name for an MCP server
Question 3 · Fill in the blank
Anthropic’s official marketplace is named ________, and Claude Code adds it automatically the first time you start an ________ terminal session.
Question 4 · Matching
Match each file or folder in a plugin with what it provides.
| Path | Provides | |
|---|---|---|
1. .claude-plugin/plugin.json |
A. A subagent Claude can delegate to | |
2. skills/review/SKILL.md |
B. Tools from an MCP server | |
3. agents/reviewer.md |
C. The plugin’s name and description (the manifest) | |
4. hooks/hooks.json |
D. Commands that run at lifecycle events | |
5. .mcp.json |
E. A skill run as /<plugin>:review |
Question 5 · True or false
Plugins from Anthropic’s official marketplace run in a sandbox, so they can’t run code on your computer.
Question 6 · Multiple choice
In the /plugin panel, which tab shows the plugins you have installed and lets you enable, disable, update, or uninstall them?
- Discover
- Installed
- Marketplaces
- Errors
Medium
Question 7 · Write the command
From your shell (not inside Claude Code), install the commit-commands plugin from Anthropic’s official marketplace so that it is enabled for everyone who works in the current repository.
Question 8 · Short answer
After installing commit-commands, Sam types /commit, and the command menu suggests /commit-commands:commit. Why does the plugin’s skill have that longer name?
Question 9 · Scenario
Maria installs a formatting plugin at project scope and commits .claude/settings.json. Her teammate pulls the change. Is the plugin now working for the teammate? Explain.
Question 10 · Short answer
What is the difference between disabling and uninstalling a plugin, and when would you choose each?
Question 11 · Write the command
Inside a Claude Code session, add Anthropic’s community marketplace, then start installing a plugin named example-tool from it.
Question 12 · Multiple choice
You are developing a plugin in the folder ./my-first-plugin. Which command starts Claude Code with that plugin loaded for this session only, without installing it?
claude plugin install ./my-first-pluginclaude --plugin-dir ./my-first-pluginclaude plugin validate ./my-first-pluginclaude --agent my-first-plugin
Question 13 · Short answer
You are in a session started with --plugin-dir and you just edited your plugin’s SKILL.md. How do you load the change without restarting?
Hard
Question 14 · Find the bug
Sam’s plugin loads, but its skill never appears. Here is his layout. What is wrong?
my-plugin/
└── .claude-plugin/
├── plugin.json
└── skills/
└── hello/
└── SKILL.md
Question 15 · Scenario
A classmate sends you a link to a third-party marketplace with a plugin that “makes Claude 10x faster”. List the steps you would take before installing it.
Question 16 · Long answer
You installed eight plugins but use only two. Explain why the other six still cost you something, and how you would find and fix the problem.
Question 17 · Predict
Someone creates a GitHub repository github.com/evil-dev/plugins whose marketplace is named claude-plugins-official, and tricks you into adding it. What does Claude Code do, and why?
Question 18 · Compare
You have permission deny rules and the sandbox turned on. Does that protect you from a malicious hook inside a plugin? Explain.
Question 19 · Long answer
Plugins from the official marketplace auto-update by default, while third-party marketplaces don’t. Give one advantage and one risk of automatic updates for a plugin.
Challenge
Question 20 · Hands-on
Install commit-commands from the official marketplace at local scope in a practice Git repository. Before installing, note what the details pane says it will install and its context cost. Use /commit-commands:commit to commit a small change, then run claude plugin details commit-commands in your shell and finally disable the plugin.
Question 21 · Hands-on
Build my-first-plugin from this page, validate it, and run /my-first-plugin:hello. Then add a second skill, skills/explain/SKILL.md, that explains a file in plain English for a beginner, and load it with /reload-plugins.
Question 22 · Long answer
Your student team wants everyone to have the same two skills, one code-review subagent, and one formatting hook. Explain whether you would share them by committing them to the project’s .claude/ folder or by building a plugin, and why.