Claude Code Plugin
This guide walks you through setting up a local plugin marketplace, installing plugins, and managing your Claude Code plugin development workflow โ all with a more hands-on, conversational approach.
Prerequisites
Make sure you have Claude Code CLI installed and configured before proceeding. If you haven't done that yet, now's the time!
Setting Up Local Marketplace
Create the Marketplace Structure
First, create the directory structure for your local plugin marketplace:mkdir -p /Users/growthacker/.claude/plugins/.claude-pluginCreate the Marketplace Manifest
Now create the manifest file at/Users/growthacker/.claude/plugins/.claude-plugin/marketplace.json:{ "name": "my-local-marketplace", "owner": { "name": "Your Name" }, "plugins": [ { "name": "rubot", "source": "./rubot", "description": "Your rubot plugin" } ] }Add and Install in Claude Code
Register your local marketplace and install the plugin:/plugin marketplace add /Users/growthacker/.claude/plugins /plugin install rubot@my-local-marketplaceImportant: Make sure your plugin folder contains a
.claude-plugin/plugin.jsonmanifest file, or this won't work!
Updating Plugins
After making changes, you have several ways to update your plugins. Pick the one that fits your workflow:
Option 1: Restart Claude Code
Simply restart Claude Code to pick up the changes. If you're using --plugin-dir during development, restart after each change โ it's the quickest way to see results.
Option 2: Update via Marketplace Command
If your plugin is installed from a marketplace, run this:
/plugin update rubot@rulismeOption 3: Refresh the Marketplace
If you updated the plugin source, refresh the marketplace with:
/plugin marketplace update rulismeDevelopment Workflow
For active plugin development, load your plugin directly using the --plugin-dir flag:
claude --plugin-dir /Users/growthacker/.claude/plugins/rubotTip: When using
--plugin-dir, you'll need to restart Claude Code each time you make changes to see updates. Think of it as a quick sanity check.
Troubleshooting
Clear Plugin Cache
If updates aren't sticking, clear the cache:
rm -rf ~/.claude/plugins/cacheReinstall Plugin
Sometimes a clean install works wonders:
claude /plugin uninstall rubot@rulisme claude /plugin install rubot@rulisme
Sync Plugin Cache
Re-sync the plugin cache to keep everything fresh:
claude plugins syncRemove Broken Plugin
If a plugin is broken, remove it temporarily:
rm -rf ~/.claude/plugins/cache/claude-plugins-official/security-guidanceThen reload with --plugin-dir:
claude --plugin-dir ~/.claude/plugins/rubotQuick Reference
/plugin marketplace add <path>โ Add a local marketplace/plugin install <name>@<marketplace>โ Install a plugin/plugin uninstall <name>@<marketplace>โ Uninstall a plugin/plugin update <name>@<marketplace>โ Update a plugin/plugin marketplace update <name>โ Refresh marketplaceclaude plugins syncโ Sync plugin cacheclaude --plugin-dir <path>โ Load plugin directly for development