Context Course documentation

Using Plugins

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

Claude Code
Codex
OpenCode
Pi

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 paragraph

Or 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.

Claude Code
Codex
OpenCode
Pi

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?

Claude Code
Codex
OpenCode
Pi

Check if .claude-plugin/plugin.json exists and is valid:

cat ./my-plugin/.claude-plugin/plugin.json

Ensure skills directory exists:

ls -la ./my-plugin/skills/

Re-enable the plugin from /plugin to reload it.

Bundled or adjacent MCP server not starting?

Claude Code
Codex
OpenCode
Pi

Verify .mcp.json has valid JSON with mcpServers key:

cat ./.mcp.json

Re-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