Skip to main content
Claude Code supports two extension mechanisms: plugins for adding new capabilities to the tool, and skills for bundling reusable prompt-and-tool workflows.

Plugin system

Source location: src/plugins/, src/services/plugins/Plugins are installable packages that extend Claude Code with new tools, commands, and prompts. They are discovered, loaded, and managed at runtime.

Plugin lifecycle

1

Discovery

Claude Code scans configured plugin directories and the marketplace for available plugins.
2

Installation

The user installs a plugin via the /plugin command. The plugin is downloaded and registered.
3

Loading

Installed plugins are initialized at startup or on-demand. Built-in plugins from builtinPlugins.ts load automatically.
4

Execution

Active plugins can contribute new tools, slash commands, and prompt templates that become available in the session.
5

Auto-update

The usePluginAutoupdateNotification hook monitors for plugin updates and notifies the user when newer versions are available.

Plugin components

ComponentLocationPurpose
Plugin loadersrc/services/plugins/Discovers and loads plugins at runtime
Built-in pluginssrc/plugins/builtinPlugins.tsPlugins that ship with Claude Code
Bundled pluginssrc/plugins/bundled/Plugin code bundled into the binary
Plugin typessrc/types/plugin.tsTypeScript types for the plugin API

Plugin commands

CommandPurpose
/pluginInstall, remove, or manage plugins
/reload-pluginsReload all installed plugins without restarting

Build docs developers (and LLMs) love