Get your free AI audit.
Book a call →Claude plugins package skills, agents, hooks and MCP servers for Claude Code. This guide shows how to install one from a marketplace and how to build your own.
A Claude Code plugin is a self-contained directory that bundles skills, agents, hooks, MCP servers and LSP support into a single installable package. You can share it with a team or distribute it to thousands of people with one command. It is the distribution layer that .claude/ never had.

This post covers plugins in Claude Code. The same plugin format also installs on claude.ai and in Cowork, where a different set of components loads, and I cover that side in my Claude Cowork plugins guide. A Claude Code plugin is also a different thing from the Claude Code extension for VS Code or the JetBrains plugin, which put Claude Code inside your editor.
If you have been building skills and slash commands in your .claude/ directory, you already understand 80% of how plugins work. The remaining 20% is the manifest, which also sets the namespace, and the marketplace. I'm Tom. I run AI Architects and have been working inside Claude Code since before skills had a name.
A Claude plugin is a directory of components that Claude Code installs and loads as one unit, usually with a manifest at .claude-plugin/plugin.json. The manifest gives the plugin its name and can add a version, a description and other metadata. The component folders hold the actual functionality, such as skills in skills/, agents in agents/, hooks in hooks/hooks.json and MCP server configs in .mcp.json.
When you install a plugin from a marketplace, Claude Code copies it to a local cache and makes every component inside it available to your sessions. Skills get namespaced as /plugin-name:skill-name, agents become subagents Claude can delegate to, hooks fire on the events they listen for, and MCP servers run alongside the session. All of it comes from one install command.
Think of your .claude/ directory as a shoebox and a plugin as a labeled box with a lid. The contents are the same type of thing, but the labeled box can be versioned, shared through a marketplace, installed in seconds and updated in one step.
Claude plugins work through three mechanisms: a manifest that names the plugin, component folders that hold what it does, and a marketplace that delivers it to users. Anthropic's plugins overview has a diagram of all three.
The manifest lives at .claude-plugin/plugin.json in the plugin's root. Only name is required. Anthropic's own example uses four fields:
{
"name": "my-plugin",
"description": "What this plugin does",
"version": "1.0.0",
"author": { "name": "Your Name" }
}The name field is the namespace. If the name is commit-commands, every skill inside the plugin is reachable as /commit-commands:skill-name. The version field is optional, and when you set it, installed users get a new copy only when that string changes.
Each type of functionality lives in its own folder at the plugin root. A plugin can have any combination of these, and none is required:
skills/: skills Claude loads when relevant, namespaced as /plugin-name:skill-namecommands/: the older flat Markdown commands. Use skills/ for new workagents/: subagent definitions Claude can delegate tohooks/hooks.json: event handlers for tool use, file edits, session start and more.mcp.json: bundled MCP server configurations.lsp.json: language server configurations for code intelligencemonitors/monitors.json: background commands that watch logs, files or external state and report to Claudesettings.json: settings applied while the plugin is enabled. Only the agent and subagentStatusLine keys take effectbin/: executables added to the PATH of the shell Claude runs commands inOne mistake to avoid: only plugin.json goes inside .claude-plugin/, and components saved there don't load. Everything else sits at the plugin root.
A marketplace is a catalog of plugins and their sources. When you add a marketplace, Claude Code reads that catalog and makes its plugins browsable in /plugin. When you install a plugin, Claude Code fetches the source, copies it to the cache and loads its components.
A Claude plugin marketplace is a repository or directory with a .claude-plugin/marketplace.json file that lists plugins and where to fetch each one. It is a catalog, not a hosted store. Anthropic publishes three general marketplaces, and anyone can publish their own.
The three Anthropic marketplaces, per the Anthropic's marketplaces page:
claude-plugins-official): plugins Anthropic maintains plus plugins from partners and other authors. Claude Code adds it the first time you start an interactive terminal sessionclaude-community): third-party plugins their authors submitted to Anthropic. Add it with /plugin marketplace add anthropics/claude-plugins-communityclaude-code-plugins): a small set of example plugins. Add it with /plugin marketplace add anthropics/claude-codeAn older tutorial that tells you to run /plugin marketplace add anthropics/claude-code is adding the demo marketplace. Most of its plugins are also in the official one under the same names, so install those from claude-plugins-official and avoid two copies.
The official catalog is the claude-plugins-official repository on GitHub, and its marketplace.json listed 315 plugins on 26 October 2026. You browse it in the Discover tab of /plugin, or on the web at Claude Marketplace, which shows install counts and marks some plugins as Anthropic verified.

The Claude plugins worth knowing first fall into four groups: code intelligence, external integrations, development workflow and output styles. Based on the official docs, these are the standout ones.
These are the plugins most developers will install first. Each one pairs a language server binary you already have installed with a Claude Code plugin that connects it to your sessions. Once active, Claude sees type errors immediately after edits and can jump to definitions, find references and trace call hierarchies without running a compiler.
The code intelligence plugins cover TypeScript and JavaScript (typescript-lsp), Python (pyright-lsp), Go (gopls-lsp), Rust (rust-analyzer-lsp), C/C++ (clangd-lsp), Java (jdtls-lsp), Swift (swift-lsp), Kotlin (kotlin-lsp), Lua (lua-lsp), PHP (php-lsp), C# (csharp-lsp) and Ruby (ruby-lsp). Shopify publishes liquid-lsp for Liquid.
Install one with /plugin install typescript-lsp@claude-plugins-official.
These bundle pre-configured MCP servers, so you get authenticated access to external services without manual setup. Integrations include GitHub, GitLab, Atlassian (Jira and Confluence), Figma, Vercel, Supabase, Firebase, Slack, Linear, Asana, Notion and Sentry.
Before these plugins existed, each integration meant finding the right MCP server package, writing a config block in .mcp.json, passing the right environment variables and checking it worked. The plugin does all of that in one install. If you want the MCP side in depth, my Claude Code MCP guide covers manual setup and my list of the best MCP servers for Claude Code covers which ones are worth it.
These add skills and agents for day-to-day coding work:
commit-commands: Git workflow commands for committing, pushing and opening PRspr-review-toolkit: specialized agents for structured pull request reviewagent-sdk-dev: a development kit for building with the Claude Agent SDKplugin-dev: a toolkit for building your own plugins, which is meta but usefulexplanatory-output-style and learning-output-style change how Claude responds. The first adds educational insights about implementation choices to replies, and the second turns sessions into an interactive learning mode. Both work through a hook that runs when a session starts, so they take effect as soon as the plugin is enabled.
Installing a Claude plugin takes two commands, one to add the marketplace and one to install the plugin. For official plugins the marketplace is already there, so it takes one. The install guide covers the desktop app and VS Code as well.
The official marketplace is added for you the first time you open an interactive terminal session, so for official plugins you can skip this step. For the community marketplace:
/plugin marketplace add anthropics/claude-plugins-communityYou can also add marketplaces from any git URL, a local directory or a hosted JSON file:
/plugin marketplace add https://gitlab.com/company/plugins.git
/plugin marketplace add ./my-local-marketplace
/plugin marketplace add https://example.com/marketplace.json/plugin install github@claude-plugins-officialSwap github for whichever plugin you want, and the name after @ for the marketplace. In a session, this opens the plugin's details in the /plugin panel, and nothing installs until you choose a scope:
.claude/settings.json, so it is enabled for everyone who works in the repo. Each collaborator still installs it on their own machine onceWhen you close the /plugin panel, Claude Code runs the reload for you. If it prints Run /reload-plugins to apply, run it yourself:
/reload-pluginsSkills appear under their namespace, and the plugin's hooks and MCP servers start working. To check what loaded, open the Installed tab in /plugin.
Creating a Claude Code plugin starts with a folder and a plugin.json manifest. Anthropic's create a plugin page walks through the same layout.
mkdir -p my-plugin/.claude-pluginCreate my-plugin/.claude-plugin/plugin.json:
{
"name": "my-plugin",
"description": "What this plugin does",
"version": "1.0.0",
"author": { "name": "Your Name" }
}Add a skill:
mkdir -p my-plugin/skills/helloCreate my-plugin/skills/hello/SKILL.md:
---
description: Greet the user. Use when the user says hello or asks for a greeting.
---
Greet the user warmly and ask how you can help today.Add a hook by creating my-plugin/hooks/hooks.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "npm run lint:fix" }]
}
]
}
}The hooks file uses the same format as the hooks object in a settings file. My Claude Code hooks guide has production examples you can drop straight in.
claude plugin validate ./my-plugin
claude --plugin-dir ./my-pluginThe first command checks the manifest and the frontmatter of every skill, agent and command file. The --plugin-dir flag loads your plugin for that session only, without installing it. Run /reload-plugins after each change, and repeat the flag to test several plugins at once.
When you are ready to share, publish the plugin directory to a GitHub repo. Create a marketplace.json in a .claude-plugin/ folder at the repo root that lists your plugin, and others add your marketplace with:
/plugin marketplace add your-org/your-repoOnce that file is in the repo, the plugin is published, with no submission form. To reach people on claude.ai and in Cowork as well, submit it to Anthropic's directory, which the publish guide covers.
Claude plugins and MCP servers serve different purposes and operate at different layers. The confusion is common because a plugin can bundle an MCP server inside it.
An MCP server is a process that exposes tools to Claude over a standard protocol. Claude calls MCP tools the same way it calls built-in tools, such as reading a file or querying a database. MCP is the protocol, and the server is the implementation.
A Claude plugin is a packaging format for distributing Claude Code extensions. A plugin can include zero or more MCP servers in its .mcp.json, and Claude Code starts those servers while the plugin is enabled. Without the plugin, you configure each MCP server manually in your own .mcp.json and manage the credentials yourself.
A skill is a single SKILL.md file that teaches Claude how to do one job. A plugin is a package that can contain many skills plus agents, hooks, MCP configs and other components.
The relationship is container to contents. Standalone skills live in .claude/skills/ for one project, or in ~/.claude/skills/ for every project on your machine. Plugin skills travel with the plugin and update when it does, and they get namespaced automatically.
.claude/skills/<name>/. A plugin skill sits in plugin-name/skills/<name>//skill-name. A plugin skill runs as /plugin-name:skill-nameIf you are building a skill for one project, keep it standalone. If you want to reuse it across projects or share it, package it as a plugin. My Claude Code skills guide covers the standalone case in detail, and my best Claude Code skills list is a good place to find ones worth packaging.
Claude plugins fall short in four places.
Standalone skills fire with /skill-name, and plugin skills fire with /plugin-name:skill-name. That extra prefix is a small thing until you are typing it fifty times a session. Auto-triggering still works for plugin skills, which cuts most of the manual typing, but for skills you run explicitly the namespace is a daily reminder that you are inside a plugin.
Plugins installed from a marketplace are copied to a cache, not linked. Files outside the plugin directory aren't copied, so a path that points above the plugin root breaks on install. This matters when you convert an existing .claude/ setup that relies on project-specific files.
An enabled plugin loads into every session, including the ones where you never use it. The name and description of each skill and agent Claude can run on its own sit in Claude's context on every turn, and those tokens count toward your usage. For plugins in the official marketplace, the Marketplaces tab in /plugin shows a Context cost estimate before you install.
A plugin you install runs code with your user privileges. Many popular plugins aren't in any Anthropic marketplace, and Anthropic doesn't review third-party marketplaces. Read the plugin security guide before adding one, and check the source of anything you can't vouch for.
Yes, with a clear condition. They are worth it when you need to share or reuse a setup across projects. For single-project personal workflows, your .claude/ directory is faster and simpler, and for anything you want your team to have or want to version, plugins are the right format.
These are the plugins I actually use: frontend-design and superpowers from the official marketplace, plus ponytail, warp, last30days, codex, obsidian, typesafe and operator-powers, which I built myself.
The code intelligence plugins alone are worth installing for any serious Claude Code user. Type errors surfacing in real time inside your session removes an entire category of debugging loop. The external integration plugins (GitHub, Jira, Figma) ship the MCP config for you, so you don't write it by hand, and the development workflow plugins earn their place if you commit and review code inside Claude Code daily.
If you build tools for other Claude Code users, plugins are now the correct distribution mechanism. A marketplace.json in your repo is all it takes to publish. The version field controls when users get updates, and the namespace keeps your skills from clashing with other plugins.
Start here: check the official marketplace is loaded, install one code intelligence plugin for your main language, and install commit-commands if you commit from inside Claude Code.
Run /plugin install plugin-name@claude-plugins-official for official plugins, then choose a scope in the panel that opens. For other plugins, add the marketplace first with /plugin marketplace add owner/repo, then install with /plugin install plugin-name@marketplace-name.
claude-plugins-official is the name of Anthropic's official plugin marketplace, published from the anthropics/claude-plugins-official repository on GitHub. Claude Code adds it the first time you start an interactive terminal session. It holds plugins Anthropic maintains, such as commit-commands and the language server plugins, plus plugins from partners and other authors.
Claude Code says the official marketplace is not found when it hasn't been registered on that machine yet. That happens if you have only used Claude Code through the VS Code extension, or if a policy blocks it. Add it yourself with /plugin marketplace add anthropics/claude-plugins-official.
A plugin updates when its version changes. If the author sets a version, nothing new reaches you until they change it, and if they leave it out, you track their commits. After an update, Claude Code tells you to run /reload-plugins, and the next session loads the new version automatically.
Yes. Create the plugin structure, copy your commands/, skills/ and agents/ folders into it, move the hooks object from your settings file into hooks/hooks.json, and test with claude --plugin-dir ./my-plugin. Delete the originals once it works, because a hook in both places runs twice every time its event fires.
Submit it to Anthropic's directory through the developer portal on claude.ai, which needs a paid claude.ai plan. A listing there reaches people on claude.ai, in Cowork and in Claude Code. The official marketplace, claude-plugins-official, doesn't take submissions through that portal.
--plugin-dir and converting .claude/bin/ and settings.jsonSKILL.md anatomy and how auto-triggers workA plugin is how you ship a setup, and the components inside it do the work. If you want a structured path through all of it, the Blueprint walks you from install to your first production skill in 60 minutes.
Five interactive lessons. Install Claude Code, build your first automation, and deploy it live on the internet — all in under an hour. Free, no coding required.
Grab the Blueprint →