Manage plugins interactively
To browse marketplaces and manage plugins in adcode session:
- Run
/pluginsto open the plugin manager. - Add a marketplace from its Marketplaces tab. Supported sources include:
- A GitHub repository in
owner/repoformat, optionally followed by@branch-or-tag. - An HTTPS Git repository URL, optionally followed by
#branch-or-tag. - An HTTPS URL that serves a marketplace JSON file.
- A local marketplace directory or JSON file.
- A GitHub repository in
- Install a plugin from the marketplace.
- Run
/reloadto activate newly installed plugin skills and MCP servers without restarting the session.
/reload or start a new session.
Removing a marketplace uninstalls its plugins and removes managed cache data. Deep Agents Code preserves the original source when the marketplace came from a local directory or file. Run /reload or start a new session to apply the removal to an active session.
Manage plugins from the command line
Usedcode plugin for scripts and terminal-based administration. Plugin IDs use the format plugin-name@marketplace-name.
plugin list and plugin marketplace list accept --json. After installing a plugin, run /reload in an active interactive session or start a new session.
Use plugin skills and MCP servers
Plugin skills are namespaced to prevent collisions with project, user, and other plugin skills. Invoke a skill with its plugin ID and skill path:/plugin-name:skill-name form and expands it to the canonical /skill: command. Nested skill directories add each directory to the namespace. For example, skills/review/security/SKILL.md from quality@acme-tools becomes /skill:quality@acme-tools:review:security.
An enabled plugin can also contribute MCP servers. Deep Agents Code merges these servers with your regular MCP configuration when plugins load. Use /mcp to inspect available servers and tools.
Create a plugin
A Deep Agents Code plugin is a directory containing one or both of the supported components:.codex-plugin/plugin.json. The manifest is optional when components use their default locations. If the plugin contains one skill only, you can place SKILL.md at the plugin root instead of creating skills/.
Define the plugin manifest
When present,.claude-plugin/plugin.json or .codex-plugin/plugin.json must contain a name. You can also declare a version and custom component paths:
skills and mcpServers fields accept a path string or an array of paths. mcpServers can also contain an inline MCP configuration object. Every component path must start with ./, remain inside the plugin root, and not contain ...
When no custom path is declared, Deep Agents Code discovers:
- Skills under
skills/, or a rootSKILL.mdwhen noskills/directory exists. - MCP servers in a root
.mcp.jsonfile.
Add skills
Organize each skill as a directory containingSKILL.md:
Add MCP servers
Place standard MCP server definitions in.mcp.json or declare them inline with mcpServers in the plugin manifest. Plugin configuration supports these path variables:
${CLAUDE_PLUGIN_ROOT}or${PLUGIN_ROOT}: The installed plugin directory.${CLAUDE_PLUGIN_DATA}or${PLUGIN_DATA}: The writable data directory for the plugin.${CLAUDE_PROJECT_DIR}: The active project directory.
Create a marketplace
A marketplace is a JSON catalog with a name and aplugins array. Store it at one of these paths in the marketplace root:
.claude-plugin/marketplace.json.agents/plugins/marketplace.json.agents/plugins/api_marketplace.json
name and source. It can also include description and author. Local source paths must start with ./ and stay inside the marketplace root. Set metadata.pluginRoot when all local plugins share a different base directory.
Marketplace entries can also use external Git sources:
github, url, and git-subdir. Remote URLs must use HTTPS. A marketplace added as a direct JSON URL cannot contain local relative plugin sources because only the catalog file is downloaded. Use a Git repository or local directory when the catalog references plugin directories in the same source tree.
Test a local marketplace by adding its directory, installing a plugin, and starting a new session or running /reload:
See also
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

