What are plugins in Claude Code, Codex, Cursor and Grok Build?

By

A plugin bundles skills, hooks and tools you install together. How plugins and marketplaces work in Claude Code, Codex, Cursor and Grok Build.

Plugins are a directory of skills, agents, hooks, MCP servers or other pieces, installed as one unit. A marketplace is a catalog that lists those plugins and where to fetch them. Installing one plugin can add a slash command, a hook and a tool in the same step.

How plugins work

You add a marketplace once. You then install a plugin by name from that catalog. The tool copies the bundle into its own plugin directory and loads it on later sessions.

What loads depends on the piece. A skill’s name and description can sit in context on every turn, while the full instructions load when the skill runs. An MCP server starts while the plugin is enabled. A hook fires on its event. The plugin runs as you, so a hook or a local server can do anything your user can do.

How a plugin reaches a sessionA marketplace lists plugins. You install one at a chosen scope. On the next start, its skills, hooks and MCP servers load. A hook or MCP server then runs as you.Marketplace catalogInstall one pluginScope: you, therepo, or thischeckoutSession loadsskills, hooks, MCPThose pieces run asyou

A marketplace is not a review of the code inside every plugin. Read the hooks and the MCP config before you enable a bundle you did not write.

Plugins in each tool

Each tool has its own manifest path and its own marketplace. A folder that installs in one tool does not automatically install in the others, except where Grok Build says it reads Claude Code plugins.

Claude Code Codex Cursor Grok Build
Manifest .claude-plugin/plugin.json Not documented on the plugins page plugin.json at the root, or .cursor-plugin/plugin.json A directory of skills, agents, hooks, MCP and LSP
Install /plugin install name@marketplace /plugins in the CLI, or the Plugins tab Customize, then Install grok plugin install, or /plugins
Marketplace file .claude-plugin/marketplace.json A marketplace source you configure Cursor Marketplace, plus team marketplaces [[marketplace.sources]] in ~/.grok/config.toml
Where files land ~/.claude/plugins/ Not documented as a path on the plugins page Marketplace install, or ~/.cursor/plugins/local for local dev ~/.grok/plugins/ and ~/.grok/plugins/marketplaces/
Also reads Not documented Not documented Agent Plugins and Cursor Plugins Claude Code plugins, with no extra setup

Claude Code

A plugin is a directory, usually with .claude-plugin/plugin.json. That manifest sets the name and can add a version and a description. The components are skills, agents, hooks, MCP servers and other pieces the plugin includes.

A marketplace is a repo or directory with .claude-plugin/marketplace.json. It is a catalog, not the website at claude.com/marketplace. Claude Code adds Anthropic’s official marketplace the first time you start an interactive terminal session, unless a managed policy blocks it. The official names include claude-plugins-official and claude-code-plugins. The community marketplace is not added for you.

Inside a session, /plugin install commit-commands@claude-plugins-official does not install immediately. It opens the plugin panel so you can review the bundle and pick a scope. From the shell, claude plugin install is the install form the marketplace button copies.

The three scopes are user (you, every project on this machine), project (the repo, for collaborators) and local (you, this repo only). When the same plugin is set at more than one scope, local overrides project, and project overrides user.

A cloud session, including one at claude.ai/code, does not load plugins from your local settings. In claude -p, the /plugin panel is not available, and plugins you already installed still load. --plugin-dir loads one folder for a single session.

Official marketplace plugins can show a context-cost estimate before you install. Every turn is what the plugin adds to each message. When invoked is what its skills and agents add once they load. See Plugins overview and Install and manage plugins.

OpenAI Codex

A Codex plugin can include skills, MCP servers, browser extensions and hooks. ChatGPT and Codex share one public plugin directory. Plugins work in Chat and Work on the web, desktop and mobile, and in Codex in the ChatGPT desktop app.

In the CLI, /plugins opens a browser grouped by marketplace. Press Space on an installed plugin to turn it on or off. Start a new session before you use the skills or tools it added. The IDE extension does not support plugins. Use the desktop app or the CLI.

Desktop-only plugins have to be installed in the desktop app. Plugin hooks are not supported in cloud-orchestrated ChatGPT Work. Hook scripts have to exist in the execution environment. Installing a plugin on the web does not deploy those scripts. Review and trust hooks before they run.

If you sign in with an OpenAI API key, you can browse and install supported OpenAI-curated plugins in the CLI and the desktop app. Some plugins need an OAuth connection and are unavailable on that login.

Uninstalling removes the plugin bundle. The plugins page does not say that a marketplace add has a shell subcommand. Use /plugins in the CLI. See Plugins.

Cursor

Cursor plugins package rules, skills, agents, commands, MCP servers and hooks. There are two formats. An Agent Plugin has plugin.json at the plugin root and packages skills and MCP servers. A Cursor Plugin has .cursor-plugin/plugin.json and can also add rules, agents, commands, hooks and variables.

Cursor does not expand ${PLUGIN_ROOT} or ${PLUGIN_DATA} in mcp.json. Use ${CURSOR_PLUGIN_ROOT} for the plugin root.

Install from Customize in the sidebar. Choose Install, then a project or user scope. For local development, put the plugin in ~/.cursor/plugins/local, then restart Cursor or run Developer: Reload Window. A symlink there loads only when its target is inside that folder. On Enterprise, Allow Local Plugin Imports is off by default, under Dashboard, then Settings, then Security & Identity, then Marketplace and Plugins. A marketplace plugin with the same name wins over the local copy.

The official marketplace is cursor.com/marketplace. Plugins there are reviewed manually. Community plugins are listed at cursor.directory. You submit at cursor.com/marketplace/publish.

On the Teams plan you can import one team marketplace. The Default marketplace does not count toward that limit. Enterprise can have unlimited team marketplaces. Manage them from Dashboard, then Plugins & MCPs. The Default marketplace cannot be renamed or deleted. Adding a Team MCP server to Default does not install it for every developer. See Plugins.

Grok Build

A Grok plugin adds skills, agents, hooks, MCP servers and LSP servers. Grok loads them from ./.grok/plugins/, ~/.grok/plugins/, marketplace installs under ~/.grok/plugins/marketplaces/, extra [plugins] paths in ~/.grok/config.toml, and --plugin-dir.

/plugins, /marketplace, /hooks, /skills and /mcps open the same extensions modal on different tabs. Marketplace sources are [[marketplace.sources]] in ~/.grok/config.toml and ~/.grok/plugins/known_marketplaces.json.

The CLI commands are grok plugin with list, install, uninstall, update, enable, disable, details and validate, plus grok plugin marketplace with list, add, remove and update. grok inspect lists rules, skills, plugins, hooks and MCP servers. grok inspect --json prints the same list as JSON.

Grok reads Claude Code marketplaces, plugins, skills, MCP servers, agents, hooks and CLAUDE.md files alongside .grok/, with no extra setup. It also reads AGENTS.md and skills under ~/.agents/skills/.

Plugin hooks receive GROK_PLUGIN_ROOT and GROK_PLUGIN_DATA. Project hooks need /hooks-trust before they run. See Skills, plugins and marketplaces and the CLI reference.

Details checked against each vendor’s documentation in November 2026.

A real example

This is the install command from the Claude Code docs. It opens the panel for commit-commands from Anthropic’s official marketplace, which adds commands for committing, pushing and opening pull requests. You still pick a scope before it installs.

/plugin install commit-commands@claude-plugins-official

After it is active, /commit-commands:commit is the skill the docs say you should see.

In Grok Build, list what is already loaded before you add a second copy. Grok may already be reading a Claude Code plugin from the same repo.

grok plugin list
grok plugin marketplace list
grok inspect

When to use plugins

Use a plugin when you want the same skill, hook and MCP server in more than one repo, installed as one bundle. A marketplace is how a team shares that bundle without copying the folder by hand.

Use a single skill file when you only need instructions. A plugin is the heavier package, and it costs context on every turn for each skill description it adds.

Use --plugin-dir in Claude Code, or ~/.cursor/plugins/local in Cursor, when you are still editing the plugin and do not want it published.

Skip a plugin you have not read when it contains hooks or a local MCP server. Those run as you.

Pitfalls

In a Claude Code session, the install command opens a review panel. It does not install until you pick a scope. A cloud session also ignores plugins that exist only in your local settings, so a plugin that works on your laptop can be missing in claude.ai/code.

Codex in the IDE extension cannot install plugins. The same account in the desktop app or the CLI can. Plugin hooks do not run in cloud-orchestrated ChatGPT Work, and installing the plugin on the web does not copy the hook scripts onto the machine that will run them.

Cursor will not expand ${PLUGIN_ROOT} inside a plugin mcp.json. A server that worked in another tool can fail until the path uses ${CURSOR_PLUGIN_ROOT}.

Grok loads Claude Code plugins automatically. Installing the same bundle a second time through grok plugin install can leave you with two copies. Run grok inspect first.

A skill’s allowed-tools field does not grant or restrict tools in Grok. A plugin that says the agent may only read files is a workflow note, not a permission boundary. Use the permission settings for that.

  • Slash commands: Slash commands are the /name controls inside a coding agent session. How they work in Claude Code, Codex, Cursor and Grok Build, and how to add your own.
  • Hooks: Hooks run your own scripts when a coding agent calls a tool or stops. How hooks work in Claude Code, Codex, Cursor and Grok Build, with examples.
  • Subagents: A subagent is a helper your coding agent starts with its own context window. How subagents work in Claude Code, Codex, Cursor and Grok Build.

All AI glossary entries →

Want me to talk about your product? You can sponsor this site.