Install and manage plugins
Skills, hooks, subagents, MCP servers — this whole level, packaged so it installs as one unit. Plugins are the level’s parts bin, and the last lesson before the capstone puts it together.
01The goal
Install a plugin from Anthropic’s official marketplace at the scope that fits, see what it adds, and manage it — on, off, updated, removed — from the panel and the shell.
02The idea
A plugin packages the pieces of this level — skills, subagents, hooks, MCP servers — so they install as one unit from a marketplace. Anthropic publishes three general-purpose marketplaces: claude-plugins-official, which Claude Code adds for you the first time you start an interactive session; claude-community, third-party plugins their authors submitted to Anthropic; and claude-code-plugins, a small demo set. You install as <plugin>@<marketplace>.
| Scope | Who gets it | enabledPlugins entry lands in |
|---|---|---|
| User | You, in every project | ~/.claude/settings.json |
| Project | Everyone who works in the repository | .claude/settings.json, committed |
| Local | You, in this repository | .claude/settings.local.json |
The committed project entry turns a plugin on for your collaborators, but it does not download anything to their machines — each of them runs claude plugin install <plugin>@<marketplace> --scope project once after pulling. And know what an enabled plugin is: part of every session. Its skill descriptions sit in Claude’s context, and its hooks and MCP servers run — as you, with your rights. That is the cost line to weigh before enabling anything broadly.
03The walkthrough
- 01In a session in your repository: /plugin install commit-commands@claude-plugins-official — an Anthropic plugin that adds commit-workflow commands.
- 02Nothing installs yet. The panel shows the plugin’s description and, under Will install, the commands it adds. Read it — this is the review step, and it is the last cheap one.
- 03Choose Install for you, in this repo only — local scope. The summary ends with Plugin is now active.
- 04Type /commit-commands: and the namespaced commands list under it. Run one if you have something staged; the shape is the lesson — a plugin arrives as commands, skills and sometimes servers, namespaced by its name.
- 05Manage it from the shell: claude plugin list shows version, scope and status; claude plugin disable turns it off but keeps it installed; claude plugin uninstall removes it. Disable-keeps-installed is the distinction worth remembering — off for a week, back without re-approving.
04Your turn
Turn on the claude-code-setup plugin (Anthropic) for everyone who works in your repository. Add to .claude/settings.json, beside the keys from lessons 4 and 5: "enabledPlugins": { "claude-code-setup@claude-plugins-official": true } — the name after the @ is the marketplace’s name, not its repository. Commit it. Then install the way a teammate would after pulling: claude plugin install claude-code-setup@claude-plugins-official --scope project — and if the install edits .claude/settings.json, commit that too. Start a session and ask: "Recommend Claude Code automations for this project." The plugin’s read-only skill walks your repo and suggests hooks, skills, subagents and servers. Treat the output as you treat any proposal: interesting, unverified until you check.
The security stance, one last time at the highest level of packaging: a plugin’s hooks and MCP servers run with your user’s rights, and Anthropic does not review third-party marketplaces. Read the Will install list before you choose a scope — and when a project enables a plugin for you, that same list is what you are inheriting. Plugins from the official marketplace update on their own; a running session keeps the versions it loaded until /reload-plugins or the next session, and the community marketplace does not auto-update unless you turn it on. One more pairing with lesson 7: if a marketplace offers the same server you wired by hand — chrome-devtools-mcp exists as a plugin too — prefer your committed .mcp.json, where the version and the flags are yours.
What does a committed project-scope enabledPlugins entry NOT do for a teammate?
- ATurn the plugin on
- BDownload it to their machine
- CLoad its skills into sessions
→Check your answer
The entry enables; the bits still have to be fetched — each collaborator runs claude plugin install <plugin>@<marketplace> --scope project once after pulling.
What does an enabled plugin cost every session?
- ANothing until invoked
- BIts skill descriptions in context, and its hooks and servers running
- CA separate subscription
→Check your answer
Enabled means present: descriptions occupy the window, hooks and MCP servers run with your rights. That is the number to weigh when choosing a scope.
disable versus uninstall…
- Adisable turns it off but keeps it installed; uninstall removes it
- Bdisable removes the files; uninstall hides them
- CThey are synonyms
→Check your answer
Off-for-now versus gone — the same distinction as unstaging versus deleting, and the reason to disable first when investigating a conflict.