SSD Nodes Learn 🎉 VPS from $5.50/mo
How to do am Matt ConnorBy Matt Connor · Updated 2026-08-13

Claude Code plugin be wetin, and e cost how much?

Learn wetin Claude Code plugin be, where e dey live, how to install am, and the real cost: plugin mechanism free, but e dey use tokens for wetin e load.

Wetin Claude Code plugin be

Claude Code plugin na one directory wey contain components wey Claude Code load and manage as one unit. Those components na skills, agents, hooks, MCP servers, LSP servers, and background monitors. When you install plugin, e add all the parts at once under one name. When you disable am, e remove dem the same way.

Plugin no give agent any ability wey e no get before. Every part inside plugin na something wey you fit write by hand for .claude/ directory. Plugin na the packaging layer: na way to version those parts, give dem to fifteen people, and update dem later without asking everybody to copy files. Na the whole idea be that. Most confusion about plugins come from expectation say dem be new kind of capability.

The optional manifest for .claude-plugin/plugin.json dey name the plugin, and that name become namespace. You invoke skill for plugin wey dem call commit-commands as /commit-commands:commit. So two plugins fit each release skill wey dem call commit, and one no go shadow the other. Plugin agents get the same scope for the @-mention list, as plugin-name:agent-name.

Plugin, skill, MCP server, o rule file

Dem dey use these four words as if dem dey compete. Dem no dey compete, and e good make we define the boundary once.

  • A skill na one instruction unit wey Claude dey load when the task need am. See wetin Agent Skill really be.
  • An MCP server na separate process wey dey expose tools to the agent through protocol. E often be network service wey you run by yourself.
  • A rules file like CLAUDE.md na project context wey system dey read when session start, and e apply to everything.
  • A plugin na container wey fit hold skills, agents, hooks, and MCP server definitions together, plus version number and distribution channel.

So, the question wey plugin dey answer no be "wetin agent fit do". Na "how I go ship this give my team and update am next month". If you dey choose between the first three, comparison of skills, MCP servers and rules files explain that decision well. If na the MCP part you care about, how to run your own MCP servers for VPS explain the hosting side.

Wia plugins dey live and wetin dey inside one

Plugin wey you install from marketplace dey copy go local cache for ~/.claude/plugins/cache, instead make e run from anywhere wey you clone am. Every installed version get im own directory. When you update or uninstall am, the old version directory dey mark as orphaned and dem dey delete am about two weeks later. So session wey don already load the old version fit continue work instead make e fail halfway through task.

Because the path dey change for every update, plugin no suppose hardcode im own location. Hooks and MCP configs inside plugin dey use ${CLAUDE_PLUGIN_ROOT}, wey dey resolve to the current install directory. State wey suppose survive update dey go ${CLAUDE_PLUGIN_DATA}, wey dey resolve to stable directory under ~/.claude/plugins/data/.

Na only the plugin own directory dem dey copy go cache, and this get consequence wey people dey discover late. Path wey point outside plugin root, like ../shared-utils, go work when you dey develop with local path, but e go fail after installation because dem no copy those files.

The layout dey look like this.

my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── code-review/
│       └── SKILL.md
├── agents/
├── hooks/
│   └── hooks.json
├── .mcp.json
└── bin/

Na only plugin.json dey go inside .claude-plugin/. Everything else dey for plugin root. If you put skills/ or hooks/ inside .claude-plugin/, na the most common reason plugin go install cleanly but no do anything: Claude Code dey look for those directories for root, e no find any, then e load plugin wey no get components.

The manifest itself no big.

{
  "name": "my-first-plugin",
  "description": "A greeting plugin to learn the basics",
  "version": "1.0.0"
}

How to install Claude Code plugin

Installation get two steps, and the first one no install anything. You go add marketplace, wey be catalog of plugins, then you install individual plugins from there. Anthropic official marketplace, claude-plugins-official, dey already registered for you the first time you start Claude Code interactively. You go add other ones yourself.

/plugin marketplace add anthropics/claude-code
/plugin install commit-commands@claude-code-plugins

Make you note say repository na anthropics/claude-code, but marketplace name na claude-code-plugins. The name come from catalog file inside repository, no be from repository path. So read marketplace name from Marketplaces tab of /plugin before you type install command.

After installation, read summary line. Plugin is now active. mean say components don load for this session. Run /reload-plugins to activate. mean say dem never load, and you need run that command. If /reload-plugins warn say e go read conversation again, run am as /reload-plugins --force. Then confirm say plugin really dey there: /plugin show am under Installed tab, /help list its skills under Custom commands, and anything wey fail to load go show under Errors tab with the reason.

Installation dey ask for scope, and scope decide who go get the plugin. User scope na for you, for every project. Project scope write the plugin inside repository's .claude/settings.json under enabledPlugins, so everybody wey clone repository go get offer to install am. Local scope na for you, for this repository only.

For script, Dockerfile, or any session wey no get interactive panel, use shell form instead. E install to user scope unless you pass --scope.

claude plugin install commit-commands@claude-code-plugins --scope project
claude plugin list

claude plugin install dey run outside session, so session wey don already open no go see the new plugin until you run /reload-plugins or start new session.

The pattern for managing wetin you get na the same for both places. /plugin list print wetin don install, and e accept --enabled or --disabled. /plugin disable name@marketplace turn plugin off without removing am, /plugin enable turn am on again, and /plugin uninstall remove am. The slash-command forms open plugin panel to apply the change. Na why claude plugin ... shell equivalents be the ones to use for scripts.

To give whole team one marketplace, put am inside project's .claude/settings.json. Members go receive prompt to install am once dem trust repository folder.

{
  "extraKnownMarketplaces": {
    "my-team-tools": {
      "source": {
        "source": "github",
        "repo": "your-org/claude-plugins"
      }
    }
  }
}

While you dey build your own plugin, skip marketplace completely. claude --plugin-dir ./my-plugin load directory for that session, /reload-plugins pick up your edits without restart, and claude plugin validate ./my-plugin check the manifest, skill and agent frontmatter, and hooks/hooks.json before anybody else see am.

Claude Code plugin dey cost how much?

The mechanism dey free. As of August 2026, no charge dey to add marketplace, install plugin, or keep plugin enabled. The official and community marketplaces na public git repositories, and plugin na directory wey contain text files.

Wetin plugin dey cost na tokens, and na tokens your subscription usage or API bill dey actually measure. That cost dey happen for three different ways, and each one dey behave differently.

Standing context cost. Wetin plugin contribute dey inside your context, and system dey read am again for every turn of the session. Before you install am, the /plugin detail view dey show Context cost estimate for tokens, plus Will install section wey list the commands, skills, agents, hooks, and MCP and LSP servers wey you wan add. Read both. Plugins from local or custom marketplaces fit no provide this data, so you go estimate am by hand. Plugin wey bundle MCP server usually heavy pass, because tool definitions dey large. But for models wey support MCP tool search, dem go defer those definitions until you need tool.

Invocation cost. When you run plugin skill, e append the skill instructions to the conversation, so na only when you use am you go pay for the skill body. Agent different. Subagent dey run im own conversation with im own system prompt and im own cache, starting with no cache hits. So plugin wey im workflow dey spawn agents fit cost much more than the context estimate suggest.

Cache cost. If you enable or disable plugin in the middle of session, e fit force the next request to process your whole conversation again. Skills, commands, agents, hooks, LSP servers, monitors, and themes no dey do this. Wetin dem add dey append after the existing history, so the next request pay for the new content and still read everything before am from cache. The exception na plugin wey provide MCP server. If tool search defer im tools, the cache go survive. If dem load inside the prompt prefix, the next request go read the whole conversation again as uncached input. Na exactly why /reload-plugins dey warn and refuse for that case until you pass --force.

You fit monitor this instead of guessing. Every API response dey report cache_read_input_tokens and cache_creation_input_tokens, and a custom statusline wey dey show live token usage go put both for your front. Healthy session dey read much more than e dey create. If creation remain high for turn after turn, something inside your prefix dey change every turn. For the bigger picture of wetin dey fill the window, see how to manage the Claude Code context window and wetin those token counts actually mean.

One housekeeping work fit pay for itself. The Installed tab dey group plugins wey you never use for at least two weeks under Not used recently header, with Last used line for the detail view. Those plugins still dey cost startup time and context for every session. Disable or uninstall dem.

Plugin dey run with your permissions

Anthropic own documentation talk am plainly: plugins and marketplaces na highly trusted components wey fit execute arbitrary code for your machine with your user privileges. This one no be hypothetical matter. A plugin hooks dey run shell commands for session events, including before and after tool calls. E dey add the plugin bin/ directory to the Bash tool PATH while the plugin dey enabled. Its MCP servers na processes wey e start. Nothing for here dey sandbox away from your user account.

For laptop, the risk dey limited by wetin your desktop user fit access. For server, e usually no be so. The account wey dey run the agent often get SSH keys, deploy tokens, cloud CLI session, and access to Docker socket. So, "arbitrary code as your user" mean the whole machine. If Claude Code dey run for VPS, read how to run Claude Code safely on a VPS before you install anything. Also read how to keep credentials out of reach of an agent before you install plugin wey dey talk to external service.

Some guardrails dey, and e good make you know which ones. Project-scope plugin come from repository instead of from you, so e go load only after you trust the workspace. Its MCP servers still need approval for each server. Its LSP servers go wait for that trust. Its background monitors no load at all. Plugin-shipped agents no get permission to declare hooks, MCP servers, or permission mode. Marketplace plugins dey copy into cache with symlinks wey point outside marketplace skipped, so plugin no fit pull in arbitrary host files.

None of this replace reading wetin you install. Check the Will install list. Prefer plugins wey you fit open and read their source. Keep your team's plugins for marketplace repository wey you control. Run claude plugin validate on anything wey you write yourself.

FAQ

Claude Code plugins dey cost extra money?

No. Plugin system, adding a marketplace, or installing plugin no get fee. Na token usage dey cost money, and dem go bill am against your plan or API spend like any other context. Plugin adds standing context for every turn, adds more when you invoke one of its skills or agents, and fit force one expensive uncached turn if e provide MCP server wey tools load into prompt prefix. The /plugin detail view shows Context cost estimate before you install.

Wetin be difference between plugin and skill?

Skill na one unit of instruction. Plugin na package wey fit contain skills, agents, hooks, MCP servers, LSP servers, and monitors, with name, version, and marketplace wey you fit install am from. Write standalone skill for .claude/ when na for you and this project. Single-purpose skill like Ponytail, wey dey push the agent toward the smallest change wey go work na the clearest example: one file with one rule inside, until the day your team want am too. Turn am into plugin when other people need am and e need updates over time. Plugin skills get namespace, so you invoke skill inside plugin as /plugin-name:skill-name instead of /skill-name.

My plugin install, but its skills no show. Wetin dey wrong?

Check install summary first. If e talk say Run /reload-plugins to activate., the components never load yet. If reload warn say e go read the conversation again, run am as /reload-plugins --force. If e load but nothing show, open /plugin and read the Errors tab. The commonest structural mistake na putting skills/, agents/, or hooks/ inside .claude-plugin/, where Claude Code no dey look for dem. Remember say plugin skills get namespace, so you dey look for /plugin-name:skill-name inside Custom commands tab of /help. As last option, rm -rf ~/.claude/plugins/cache, restart, and reinstall.

I fit install plugins without the interactive panel?

Yes. Use shell command claude plugin install name@marketplace. E dey install to user scope unless you pass --scope project or --scope local. E work for scripts, images, and non-interactive environments where /plugin panel no dey available. Because e dey run outside session, session wey don already open need /reload-plugins before plugin go take effect.

E safe to install plugin from marketplace wey I find for GitHub?

Treat am like you go treat running that repository's install script as yourself, because na almost the same thing. Plugin fit run shell commands through hooks, add executables to Bash tool's PATH, and start MCP servers, all with your user's privileges. Anthropic no control or verify third-party plugin contents. Install from sources wey you fit read, review the Will install list before you confirm, and use stricter checks for server than laptop, because account for server usually hold keys and tokens wey people fit steal.