Skip to main content

Plugins

A plugin is a folder that adds skills, agents, hooks, or MCP servers to Claude Code. A marketplace is a list of plugins that you can install. For example, claude plugin install my-plugin@my-marketplace installs a plugin from a marketplace. This page gives the big picture. The other pages list every key, command, and path.

What a Plugin Holds​

A plugin can bundle these parts. Each part has a default folder or file name.

PartStatusDefault PlacePage
Skills
Documented: An official docs page names this item.
skills/Manifest
Commands
Documented: An official docs page names this item.
commands/Manifest
Agents
Documented: An official docs page names this item.
agents/Manifest
Hooks
Documented: An official docs page names this item.
hooks/hooks.jsonManifest
MCP servers
Documented: An official docs page names this item.
.mcp.jsonManifest
LSP servers
Documented: An official docs page names this item.
.lsp.jsonManifest
Monitors
Documented: An official docs page names this item.
monitors/monitors.jsonManifest
Output styles
Documented: An official docs page names this item.
output-styles/Manifest
Workflows and themes
Documented: An official docs page names this item.
workflows/, themes/Manifest
Executables
Documented: An official docs page names this item.
bin/Manifest
Mods
Documented: An official docs page names this item.
types key, TypeScript filesMod API

Ids, Scopes, and Special Marketplaces​

  • A plugin id is name@marketplace. The text before @ is the entry name in the marketplace file.
  • The scopes are user, project, local, and managed. The enable state of each plugin lives in enabledPlugins.
  • A plugin skill gets the name /<plugin>:<skill>. Two plugins cannot clash.
  • Four marketplace names are special. You cannot reuse them.
MarketplaceStatusMeaning
inline
Documented: An official docs page names this item.
Plugins loaded for one session with --plugin-dir or --plugin-url. Their ids end in @inline.
builtin
Documented: An official docs page names this item.
Plugins that ship inside Claude Code.
skills-dir
Documented: An official docs page names this item.
Plugins that claude plugin init makes in ~/.claude/skills/. They load on the next session.
synced
Documented: An official docs page names this item.
Plugins synced from your claude.ai account. Turn off with syncClaudeAiPlugins: false.

Example​

This flow creates a plugin. It tests the plugin for one session. It then installs the plugin from a marketplace.

Build, test, and install
# Create a plugin folder at ~/.claude/skills/my-plugin/
claude plugin init my-plugin --with skills hooks

# Check the files
claude plugin validate ~/.claude/skills/my-plugin

# Try a folder for one session only
claude --plugin-dir ./my-plugin

# Add a marketplace, then install from it
claude plugin marketplace add owner/repo
claude plugin install my-plugin@my-marketplace --scope project

How It Works​

Claude Code reads the marketplace. It gets the source of the plugin that you pick. It copies the source into a cache folder. It writes an install record. At session start it loads every enabled plugin. Paths and variables are in Plugin Loading.

Pages in This Section​

PageWhat It Covers
Plugin ManifestEvery plugin.json key, userConfig, and the folder layout
MarketplacesEvery marketplace.json key, plugin sources, marketplace sources
Plugin CommandsEvery claude plugin subcommand, /plugin, and session flags
Plugin LoadingPaths, cache, variables, env vars, and enabling
Plugin Settings KeysSettings keys for plugins and marketplaces
Plugin Env VarsEnv vars for plugins and MCP

Sources​