Skip to content

Plugins Reference

Complete technical reference for Claude Code plugin system.

Plugin Components

Commands

Location: commands/ directory

Agents

Location: agents/ directory

Skills

Location: skills/ directory with SKILL.md files

Hooks

Location: hooks/hooks.json or inline in plugin.json

Available Events: PreToolUse, PostToolUse, PermissionRequest, UserPromptSubmit, Stop, SessionStart, SessionEnd

MCP Servers

Location: .mcp.json or inline in plugin.json

LSP Servers

Location: .lsp.json or inline in plugin.json


Installation Scopes

ScopeSettings FileUse Case
user~/.claude/settings.jsonPersonal plugins (default)
project.claude/settings.jsonTeam plugins via git
local.claude/settings.local.jsonProject-specific, gitignored
managedmanaged-settings.jsonEnterprise managed (read-only)

plugin.json Schema

{
  "name": "plugin-name",
  "version": "1.0.0",
  "description": "Brief description",
  "author": {"name": "Author"},
  "commands": "./custom/commands/",
  "agents": "./custom/agents/",
  "skills": "./custom/skills/",
  "hooks": "./hooks.json",
  "mcpServers": "./.mcp.json",
  "lspServers": "./.lsp.json"
}

Directory Structure

my-plugin/
├── .claude-plugin/
│   └── plugin.json      ← Only manifest here
├── commands/            ← At root level
├── agents/
├── skills/
├── hooks/
├── .mcp.json
└── .lsp.json

CLI Commands

CommandDescription
claude plugin install <plugin>Install plugin
claude plugin uninstall <plugin>Remove plugin
claude plugin enable <plugin>Enable plugin
claude plugin disable <plugin>Disable plugin
claude plugin update <plugin>Update plugin

Debugging

claude --debug

Related Docs