# Plugins and marketplaces

Course: Claude Code: Pro Level — https://zero2vibecode.com/learn/claude-code-pro
Canonical URL: https://zero2vibecode.com/learn/claude-code-pro/2-3-plugins
Verified against: Claude Code v2.1.292 (2026-10-15)
Last updated: 2026-10-15

A plugin bundles skills, subagents, hooks and MCP servers into one install from a marketplace. You install it for yourself, for a project, or for the team — and it runs with your rights.

In earlier lessons you learned to set up skills, hooks and MCP servers one by one. A plugin packages them together so everything installs **in one go** from a marketplace.

## Marketplaces

Anthropic publishes three public marketplaces:

- `claude-plugins-official` — Claude Code adds it by itself the first time you start an interactive session;
- `claude-community` — plugins by third-party authors, submitted to Anthropic;
- `claude-code-plugins` — a demo collection.

A plugin is named as `plugin@marketplace`, for example `commit-commands@claude-plugins-official`.

## Installing from a session

```
/plugin install commit-commands@claude-plugins-official
```

At first **nothing is installed**: a panel opens with a description and a **Will install** list — what exactly the plugin will add. Read it, then choose the install scope.

## Scopes: who gets it

| Scope | Who gets it | Where `enabledPlugins` is written |
|---|---|---|
| user | you, in every project | `~/.claude/settings.json` |
| project | everyone in the repository | `.claude/settings.json` (committed) |
| local | you, in this repository | `.claude/settings.local.json` |

The project scope has a subtlety: the committed entry **enables** the plugin for your teammates, but each of them has to install it on their own machine, once:

```bash
claude plugin install <plugin>@<marketplace> --scope project
```

## Managing plugins from the terminal

```bash
claude plugin list
claude plugin disable commit-commands@claude-plugins-official
claude plugin uninstall commit-commands@claude-plugins-official --scope local
```

`disable` switches a plugin off but keeps it installed; `uninstall` removes it entirely. A plugin's commands appear under its name, for example `/commit-commands:commit`.

**Careful.** 
An enabled plugin takes part in every session: the descriptions of its skills take up room in the context, and its hooks and MCP servers act in your name. Anthropic does not vet third-party marketplaces. Install only what you have read, and disable what you do not use.

**Practice in the terminal.** Install commit-commands@claude-plugins-official with --scope local and check claude plugin list. Then look at cat .claude/settings.local.json — you will see where the enabledPlugins entry landed.

**Try it on a real marketplace.** 
[claude-kit](https://github.com/FunFactoryDev/claude-kit) is our plugin marketplace for Claude Code. en-kit brings the five-whys, tdd, review-diff and claude-md-review skills plus a read-only code-reviewer agent; en-guard is a hook that keeps Claude from editing .env files and lockfiles; en-notify shows a desktop notification when Claude Code is waiting for you. Add it with `/plugin marketplace add FunFactoryDev/claude-kit`, then install with `/plugin install en-kit@claude-kit`. To practice with the real Claude Code on a real project, the [Claude Code practicum](https://github.com/FunFactoryDev/claude-code-practicum) has 14 tasks that `npm run check` grades for you.
