Context Course documentation
Using Plugins
Using Plugins
Now that you’ve built a plugin, let’s learn how to install and use them, both your own and plugins from others. The process differs slightly across platforms, but the core idea is identical: discover → install → configure → use.
Installing Plugins
Installing Plugins in Claude Code
Claude Code installs plugins through marketplaces and the in-session /plugin command.
From a marketplace
/plugin marketplace add <owner>/<repo> /plugin install <plugin-name>@<marketplace-name>
/plugin opens the plugin browser, where you can enable, disable, and uninstall plugins interactively.
From a local directory
For local development, point /plugin at a marketplace.json file that references your plugin directory:
{
"name": "local-example-plugins",
"owner": { "name": "you" },
"plugins": [
{
"name": "text-processor-plugin",
"source": "./text-processor-plugin",
"description": "Text analysis skills"
}
]
}Then inside Claude Code:
/plugin marketplace add /absolute/path/to/marketplace.json /plugin install text-processor-plugin@local-example-plugins
Claude Code reads .claude-plugin/plugin.json, loads skills from skills/, and starts MCP servers from .mcp.json.
Using Plugin Skills
Once loaded, skills are available conversationally or via explicit syntax:
Analyze the reading level of this paragraphOr invoke with namespace:
/text-processor-plugin:check-reading-level
Managing Installed Plugins
Use /plugin to review installed plugins, enable or disable them, and uninstall them. After editing a local plugin, disable and re-enable it from /plugin to reload it.
Configuring Plugins
Set environment variables required by plugins:
export HF_TOKEN="hf_xxxxx"Claude Code reads these from your shell environment when the plugin loads.
Common Plugin Tasks
Configuring API Keys
All platforms need API keys for plugins that call external services.
Set environment variables in your shell before running Claude Code:
export HF_TOKEN="hf_xxxxx"
export OPENAI_API_KEY="sk_xxxxx"Claude Code reads these when plugins load. No in-app configuration needed.
Troubleshooting Plugin Issues
Plugin not loading?
Check if .claude-plugin/plugin.json exists and is valid:
cat ./my-plugin/.claude-plugin/plugin.jsonEnsure skills directory exists:
ls -la ./my-plugin/skills/Re-enable the plugin from /plugin to reload it.
Bundled or adjacent MCP server not starting?
Verify .mcp.json has valid JSON with mcpServers key:
cat ./.mcp.jsonRe-enable the plugin from /plugin after editing the config.
Key Takeaways
In Claude Code, use /plugin marketplace add and /plugin install, with /plugin as the browser. In Codex, use /plugins plus repo or personal marketplace files, and restart after changes. In OpenCode, native plugins are JS/TS modules in .opencode/plugins/ or npm packages listed in opencode.json; skills and MCP servers remain separate extension points. In Pi, install packages with pi install, keep plugin-equivalent resources in package.json plus skills/ or extensions/, and pair them with pi-mcp-adapter when you need MCP tools.
Next up: a quiz on plugin distribution and best practices.
Update on GitHub