Skip to main content
The Plugin Dashboard provides a web interface for exploring Claude Code plugins, managing marketplace subscriptions, and reviewing component permissions (agents, commands, hooks, MCPs).

Launch Dashboard

Start the plugin dashboard server:
Output:
The dashboard automatically opens at http://localhost:3336.

Features

Marketplace Management

View and manage plugin marketplaces:lines/plugin-dashboard.js:78
  • Marketplace sources: GitHub, Git, Local, URL
  • Plugin counts: Number of plugins per marketplace
  • Enabled status: Active/inactive marketplaces
  • Last updated: Marketplace sync timestamps
  • Repository URLs: Direct links to marketplace repos
Data source:
  • ~/.claude/plugins/known_marketplaces.json:line/plugin-dashboard.js:83

Plugin Catalog

Browse all installed plugins:lines/plugin-dashboard.js:161 Plugin information:
  • Name and version
  • Description
  • Marketplace source
  • Component counts (agents, commands, hooks, MCPs)
  • Author and homepage
  • License
  • Keywords and category
  • Enabled/disabled status:line/plugin-dashboard.js:279

Component Permissions

View all components with their sources:lines/plugin-dashboard.js:356 Agents:
  • Project agents (.claude/agents/)
  • Personal agents (~/.claude/agents/)
  • Plugin-provided agents
Commands:
  • Project commands (.claude/commands/)
  • Personal commands (~/.claude/commands/)
  • Plugin-provided commands
Hooks:
  • User hooks (~/.claude/settings.json)
  • Project hooks (.claude/settings.json)
  • Plugin-provided hooks
  • Hook events (PreToolUse, PostToolUse, Stop, Notification)
MCP Servers:
  • User MCPs (~/.claude/.mcp.json)
  • Project MCPs (.mcp.json)
  • Plugin-provided MCPs

API Reference

GET /api/marketplaces

List all plugin marketplaces:lines/plugin-dashboard.js:558 Response:

GET /api/plugins

List all installed plugins:lines/plugin-dashboard.js:572 Response:

GET /api/permissions

List all components and their sources:lines/plugin-dashboard.js:586 Response:

GET /api/summary

Get counts summary:lines/plugin-dashboard.js:605 Response:

Plugin Structure

Marketplace Configuration

Format of known_marketplaces.json:
Supported sources::line/plugin-dashboard.js:148
  • github: GitHub repository
  • git: Git repository URL
  • local or directory: Filesystem path
  • url: HTTP/HTTPS URL

Plugin Manifest

Format of .claude-plugin/plugin.json:

Marketplace Manifest

Format of .claude-plugin/marketplace.json:lines/plugin-dashboard.js:233
Plugin sources::line/plugin-dashboard.js:260
  • String path: Relative to marketplace directory
  • Object with source and url: External reference

Component Counting

Components counted from:lines/plugin-dashboard.js:313 Agents:
  • agents/*.md files
  • Or inline agents array in manifest
Commands:
  • commands/*.md files
  • Or inline commands array in manifest
Hooks:
  • hooks/hooks.json file
  • Or inline hooks array/object in manifest
MCPs:
  • .mcp.json file (mcpServers object)
  • Or inline mcpServers array in manifest

Plugin Enablement

Plugins enabled via ~/.claude/settings.json:lines/plugin-dashboard.js:306
Key format: {pluginName}@{marketplaceName}:line/plugin-dashboard.js:309

Architecture

PluginDashboard Class:line/plugin-dashboard.js:8

Properties:
  • port: Server port (3336)
  • claudeDir: ~/.claude directory
  • settingsFile: ~/.claude/settings.json
  • marketplaces: Loaded marketplace data
  • plugins: Loaded plugin data
  • permissions: Component permissions
  • enabledPlugins: Set of enabled plugin keys
Methods:
  • initialize(): Load all plugin data:line/plugin-dashboard.js:19
  • loadPluginData(): Load marketplaces and plugins:line/plugin-dashboard.js:30
  • loadMarketplaces(): Parse known marketplaces:line/plugin-dashboard.js:78
  • loadInstalledPlugins(): Scan plugin directories:line/plugin-dashboard.js:161
  • loadPermissions(): Load component permissions:line/plugin-dashboard.js:356
  • countPluginComponents(): Count components in plugin:line/plugin-dashboard.js:313
  • isPluginEnabled(): Check plugin enabled status:line/plugin-dashboard.js:306

Data Flow

  1. Initialization:line/plugin-dashboard.js:19
    • Check ~/.claude directory exists
    • Load plugin data
    • Setup Express server
  2. Marketplace Loading:line/plugin-dashboard.js:78
    • Read known_marketplaces.json
    • Load marketplace details
    • Count plugins per marketplace
    • Check enabled status
  3. Plugin Loading:line/plugin-dashboard.js:161
    • Scan ~/.claude/plugins/marketplaces/
    • Find marketplace manifests
    • Parse plugin definitions
    • Count components
    • Check enabled status
  4. Permission Loading:line/plugin-dashboard.js:356
    • Load user-level components
    • Load plugin components
    • Combine into permission list

Example: Query Plugin Info

Example: Find Plugin Components

Troubleshooting

Dashboard Won’t Start

Error: Claude Code directory not found Solution: Run Claude Code at least once to create ~/.claude/

No Plugins Found

Check marketplace configuration:

Port Already in Use

Dashboard uses port 3336. If occupied:line/plugin-dashboard.js:12

Plugin Not Showing as Enabled

Check settings file:lines/plugin-dashboard.js:57
Format must be: "plugin-name@marketplace-name": true

Component Count Incorrect

Verify plugin structure:

See Also