marketplace.json Schema Reference¶
Complete technical reference for the marketplace.json configuration file that defines a Claude Code plugin marketplace.
Overview¶
The marketplace.json file is the catalog for a Claude Code plugin marketplace. It lists all available plugins and provides marketplace metadata. Users add marketplaces to their Claude Code settings to discover and install plugins.
Location¶
| Text Only | |
|---|---|
Required: Yes (at repository root for marketplace)
Schema¶
Root Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Marketplace identifier (lowercase, hyphen-separated) |
version | string | Yes | Marketplace schema version |
owner | object | Yes | Marketplace owner information |
description | string | Yes | Brief marketplace description |
plugins | array | Yes | List of available plugins |
Owner Object¶
| JSON | |
|---|---|
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Owner name or organization |
email | string | Yes | Contact email address |
url | string | No | Owner website URL |
Plugin Entry¶
Each plugin in the plugins array:
| JSON | |
|---|---|
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Plugin identifier (must match plugin.json) |
description | string | Yes | Brief plugin description |
source | string | Yes | Relative path to plugin directory |
version | string | Yes | Plugin version (must match plugin.json) |
tags | array | Yes | Search keywords for discoverability |
Complete Example¶
Validation Rules¶
Marketplace Name¶
- Format: Lowercase letters, numbers, and hyphens only
- Pattern:
^[a-z0-9][a-z0-9-]*$ - Examples:
- ✅
talent-factory - ✅
my-marketplace - ✅
company-plugins - ❌
Talent-Factory(uppercase) - ❌
talent_factory(underscore)
- ✅
Version¶
- Format: Semantic versioning (MAJOR.MINOR.PATCH)
- Current:
1.0.0(marketplace schema version) - Note: This is the schema version, not the marketplace content version
Plugin Entries¶
Each plugin entry must:
- Match plugin.json:
nameandversionmust match the plugin'splugin.json - Valid source: Path must point to existing plugin directory
- Unique names: No duplicate plugin names in the array
- Consistent tags: Use standardized tag vocabulary
Best Practices¶
Marketplace Organization¶
✅ Do:
- Group related plugins together
- Use consistent tag vocabulary across plugins
- Keep descriptions concise but informative
- Maintain version consistency with plugin.json files
- Order plugins logically (by category or popularity)
❌ Don't:
- List plugins that don't exist in the repository
- Use inconsistent versioning between marketplace.json and plugin.json
- Duplicate plugin entries
- Use vague or marketing-heavy descriptions
Plugin Descriptions¶
Good descriptions explain what the plugin does and its key features:
| JSON | |
|---|---|
Poor descriptions are vague or too brief:
Tag Strategy¶
Use a consistent tag vocabulary across your marketplace:
Development Tags: git, workflow, commits, pull-requests, automation Language Tags: python, java, javascript, typescript, react Feature Tags: linting, formatting, testing, review, refactoring Domain Tags: education, project-management, productivity, integration
Example tag sets:
| JSON | |
|---|---|
User Installation¶
Users add your marketplace to their .claude/settings.json:
| JSON | |
|---|---|
Then enable specific plugins:
| JSON | |
|---|---|
Marketplace Discovery Flow¶
Maintenance¶
Adding a New Plugin¶
- Create plugin directory structure
- Add plugin.json with metadata
- Add plugin entry to marketplace.json
- Ensure version numbers match
- Test locally with
claude --plugin-dir . - Commit and push changes
Updating Plugin Version¶
- Update version in
plugins/NAME/.claude-plugin/plugin.json - Update version in
.claude-plugin/marketplace.json - Update CHANGELOG.md with changes
- Commit with version bump message
Removing a Plugin¶
- Remove plugin entry from marketplace.json
- (Optional) Archive plugin directory
- Document removal in CHANGELOG.md
- Notify users if plugin was widely used
Troubleshooting¶
Plugin Not Appearing¶
Problem: Plugin doesn't show in /plugin browse list
Solutions:
- Verify plugin entry exists in marketplace.json
- Check that
sourcepath is correct - Ensure plugin.json exists at
source/.claude-plugin/plugin.json - Validate JSON syntax (no trailing commas, proper quotes)
Version Mismatch Error¶
Problem: "Version mismatch between marketplace.json and plugin.json"
Solution: Ensure versions match exactly
| JSON | |
|---|---|
Invalid JSON Syntax¶
Problem: Marketplace fails to load
Common issues:
| JSON | |
|---|---|
Related Resources¶
- plugin.json - Plugin metadata schema
- Plugin Development - Create plugins
- Installation Guide - User installation
- Marketplace Setup - Add marketplace to Claude Code