Overview
A marketplace is a JSON file that lists available plugins and describes where to find them. Marketplaces provide:- Centralized discovery: Browse plugins from multiple sources in one place
- Version management: Track and update plugin versions automatically
- Team distribution: Share required plugins across your organization
- Flexible sources: Support for git repositories, GitHub repos, local paths, and package managers
Prerequisites
- Claude Code installed and running
- Basic familiarity with JSON file format
- For creating marketplaces: Git repository or local development environment
Add and use marketplaces
Add marketplaces using the/plugin marketplace
commands to access plugins from different sources:
Add GitHub marketplaces
Add a GitHub repository containing .claude-plugin/marketplace.json
Add Git repositories
Add any git repository
Add local marketplaces for development
Add local directory containing .claude-plugin/marketplace.json
Add direct path to marketplace.json file
Add remote marketplace.json via URL
Install plugins from marketplaces
Once you’ve added marketplaces, install plugins directly:Install from any known marketplace
Browse available plugins interactively
Verify marketplace installation
After adding a marketplace:- List marketplaces: Run
/plugin marketplace list
to confirm it’s added - Browse plugins: Use
/plugin
to see available plugins from your marketplace - Test installation: Try installing a plugin to verify the marketplace works correctly
Configure team marketplaces
Set up automatic marketplace installation for team projects by specifying required marketplaces in.claude/settings.json
:
enabledPlugins
field.
Create your own marketplace
Build and distribute custom plugin collections for your team or community.Prerequisites for marketplace creation
- Git repository (GitHub, GitLab, or other git hosting)
- Understanding of JSON file format
- One or more plugins to distribute
Create the marketplace file
Create.claude-plugin/marketplace.json
in your repository root:
Marketplace schema
Required fields
Field | Type | Description |
---|---|---|
name | string | Marketplace identifier (kebab-case, no spaces) |
owner | object | Marketplace maintainer information |
plugins | array | List of available plugins |
Optional metadata
Field | Type | Description |
---|---|---|
metadata.description | string | Brief marketplace description |
metadata.version | string | Marketplace version |
metadata.pluginRoot | string | Base path for relative plugin sources |
Plugin entries
Plugin entries are based on the plugin manifest schema (with all fields made optional) plus marketplace-specific fields (
source
, category
, tags
, strict
), with name
being required.Field | Type | Description |
---|---|---|
name | string | Plugin identifier (kebab-case, no spaces) |
source | string|object | Where to fetch the plugin from |
Optional plugin fields
Standard metadata fields:Field | Type | Description |
---|---|---|
description | string | Brief plugin description |
version | string | Plugin version |
author | object | Plugin author information |
homepage | string | Plugin homepage or documentation URL |
repository | string | Source code repository URL |
license | string | SPDX license identifier (e.g., MIT, Apache-2.0) |
keywords | array | Tags for plugin discovery and categorization |
category | string | Plugin category for organization |
tags | array | Tags for searchability |
strict | boolean | Require plugin.json in plugin folder (default: true) 1 |
Field | Type | Description |
---|---|---|
commands | string|array | Custom paths to command files or directories |
agents | string|array | Custom paths to agent files |
hooks | string|object | Custom hooks configuration or path to hooks file |
mcpServers | string|object | MCP server configurations or path to MCP config |
strict: true
(default), the plugin must include a plugin.json
manifest file, and marketplace fields supplement those values. When strict: false
, the plugin.json is optional. If it’s missing, the marketplace entry serves as the complete plugin manifest.
Plugin sources
Relative paths
For plugins in the same repository:GitHub repositories
Git repositories
Advanced plugin entries
Plugin entries can override default component locations and provide additional metadata. Note that${CLAUDE_PLUGIN_ROOT}
is an environment variable that resolves to the plugin’s installation directory (for details see Environment variables):
Schema relationship: Plugin entries use the plugin manifest schema with all fields made optional, plus marketplace-specific fields (
source
, strict
, category
, tags
). This means any field valid in a plugin.json
file can also be used in a marketplace entry. When strict: false
, the marketplace entry serves as the complete plugin manifest if no plugin.json
exists. When strict: true
(default), marketplace fields supplement the plugin’s own manifest file.Host and distribute marketplaces
Choose the best hosting strategy for your plugin distribution needs.Host on GitHub (recommended)
GitHub provides the easiest distribution method:- Create a repository: Set up a new repository for your marketplace
- Add marketplace file: Create
.claude-plugin/marketplace.json
with your plugin definitions - Share with teams: Team members add with
/plugin marketplace add owner/repo
Host on other git services
Any git hosting service works for marketplace distribution, using a URL to an arbitrary git repository. For example, using GitLab:Use local marketplaces for development
Test your marketplace locally before distribution:Add local marketplace for testing
Test plugin installation
Manage marketplace operations
List known marketplaces
List all configured marketplaces
Update marketplace metadata
Refresh marketplace metadata
Remove a marketplace
Remove a marketplace
Removing a marketplace will uninstall any plugins you installed from it.
Troubleshooting marketplaces
Common marketplace issues
Marketplace not loading
Symptoms: Can’t add marketplace or see plugins from it Solutions:- Verify the marketplace URL is accessible
- Check that
.claude-plugin/marketplace.json
exists at the specified path - Ensure JSON syntax is valid using
claude plugin validate
- For private repositories, confirm you have access permissions
Plugin installation failures
Symptoms: Marketplace appears but plugin installation fails Solutions:- Verify plugin source URLs are accessible
- Check that plugin directories contain required files
- For GitHub sources, ensure repositories are public or you have access
- Test plugin sources manually by cloning/downloading
Validation and testing
Test your marketplace before sharing:Validate marketplace JSON syntax
Add marketplace for testing
Install test plugin
Next steps
For marketplace users
- Discover community marketplaces: Search GitHub for Claude Code plugin collections
- Contribute feedback: Report issues and suggest improvements to marketplace maintainers
- Share useful marketplaces: Help your team discover valuable plugin collections
For marketplace creators
- Build plugin collections: Create themed marketplace around specific use cases
- Establish versioning: Implement clear versioning and update policies
- Community engagement: Gather feedback and maintain active marketplace communities
- Documentation: Provide clear README files explaining your marketplace contents
For organizations
- Private marketplaces: Set up internal marketplaces for proprietary tools
- Governance policies: Establish guidelines for plugin approval and security review
- Training resources: Help teams discover and adopt useful plugins effectively
See also
- Plugins - Installing and using plugins
- Plugins reference - Complete technical specifications and schemas
- Plugin development - Creating your own plugins
- Settings - Plugin configuration options