# How to Submit a New Plugin to the Claude Plugin Directory

> Easily submit your new plugin to the Claude Plugin Directory using the official web form. Learn the simple steps to get your plugin listed and validated by Anthropic.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: how-to-guide
- Published: 2026-08-26

---

**Submit your plugin through the official web form at `clau.de/plugin-directory-submission` rather than editing the repository directly; Anthropic merges valid entries into [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) after automated validation by the `validate-plugins` GitHub Action.**

The Claude Plugin Directory serves as the official registry for community-built extensions that enhance Claude Code and Claude Cowork functionality. All community plugins are centralized in the `anthropics/claude-plugins-community` repository, where a single JSON file powers the marketplace backend. To submit a new plugin to the Claude plugin directory, developers must follow a structured submission process that ensures security and schema compliance before publication.

## Understanding the Centralized Registry Architecture

The `anthropics/claude-plugins-community` repository operates using a single source-of-truth model. Every plugin available to Claude users is defined as an entry in **[`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)**. This file resides in the repository root and is the only location where community plugin metadata is stored.

The repository's [`README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/README.md) provides high-level overview documentation, but you do not modify the JSON file directly when submitting. Instead, the submission portal handles the insertion after internal review. The repository's continuous integration pipeline, specifically the **`validate-plugins`** GitHub Action referenced in [`.github/actions/validate-plugins/README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/actions/validate-plugins/README.md), validates all entries against a strict Zod schema to prevent malformed data from reaching production.

## Required Metadata Schema

Each plugin entry in [`marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/marketplace.json) must conform to a specific JSON structure. The required fields are:

- **`name`**: The human-readable identifier used during installation. Users invoke this with `claude plugin install <name>@claude-community`.
- **`description`**: A concise summary displayed in the marketplace UI explaining the plugin's functionality.
- **`source`**: An object defining where the plugin code resides. This supports URL-based sources with optional SHA pinning for security:
  ```json
  {
    "source": "url",
    "url": "https://github.com/username/my-plugin.git",
    "sha": "d34db33f5c6e7a9e8b2c1f4a9c3e6b7d9f0a1c2d"
  }
  ```

Optional but recommended fields include:

- **`homepage`**: Link to documentation or the repository landing page.
- **`author`**: Contributor metadata containing at minimum a `name` field.
- **`category`**: Logical grouping for UI filtering, such as `testing`, `productivity`, or `data-analysis`.

## Steps to Submit a New Plugin to the Claude Plugin Directory

Follow these steps to submit a new plugin correctly:

### 1. Prepare Your Plugin Package

Bundle your plugin files according to the Claude plugin specification. Your repository must include a `.claude-plugin/` directory containing:

- **[`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json)**: The main manifest file defining your plugin's entry points and capabilities.
- **[`mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/mcp.json)** (optional): Configuration for Model Context Protocol integration.
- **Skill files**: Any additional code or resources your plugin requires.

### 2. Construct the JSON Payload

Create a JSON object matching the schema used in [`marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/marketplace.json). Use existing entries in the repository as templates. A complete example:

```json
{
  "name": "my-awesome-plugin",
  "description": "AI‑assisted markdown generation with custom templates.",
  "source": {
    "source": "url",
    "url": "https://github.com/username/my-awesome-plugin.git",
    "sha": "d34db33f5c6e7a9e8b2c1f4a9c3e6b7d9f0a1c2d"
  },
  "homepage": "https://github.com/username/my-awesome-plugin",
  "author": { "name": "Jane Doe" },
  "category": "productivity"
}

```

### 3. Submit via the Web Form

Navigate to the official submission portal at **`clau.de/plugin-directory-submission`**. Paste your JSON payload into the form. This portal is the only accepted submission method; direct pull requests to the `anthropics/claude-plugins-community` repository are automatically closed by the repository's automation rules.

### 4. Automated Validation and Review

Upon submission, Anthropic's security scanning infrastructure and the **`validate-plugins`** GitHub Action verify your payload against the Zod schema. This CI step, documented in [`.github/actions/validate-plugins/README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/actions/validate-plugins/README.md), runs `claude plugin validate` to enforce:

- Schema compliance for all required fields.
- URL accessibility and SHA validity for source references.
- Security policy conformance.

Once validation passes and internal review completes, Anthropic automatically merges your entry into [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) and republishes the community marketplace.

## Installing Community Plugins

After publication, users can discover and install your plugin using the Claude CLI. First, users add the community marketplace source (required only once):

```bash
claude plugin marketplace add anthropics/claude-plugins-community

```

Then install specific plugins by referencing the `name` field and the `@claude-community` suffix:

```bash
claude plugin install my-awesome-plugin@claude-community

```

## Summary

- **Do not open pull requests**: Submit exclusively through `clau.de/plugin-directory-submission` to add entries to [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).
- **Schema compliance is mandatory**: All submissions must pass the `validate-plugins` GitHub Action checks defined in the repository.
- **Use SHA-pinned sources**: For security, specify an immutable SHA in your source object rather than floating branch references.
- **Three core files**: Your plugin repository needs [`.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/plugin.json), optional [`mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/mcp.json), and your implementation code.
- **Installation protocol**: Published plugins are installed via `claude plugin install <name>@claude-community` after users add the community marketplace.

## Frequently Asked Questions

### What file contains the master list of community plugins?

The **`anthropics/claude-plugins-community`** repository stores all plugin definitions in **[`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)**. This single JSON file serves as the source of truth for the entire Claude Plugin Directory, with each entry representing one community plugin.

### Can I submit a plugin by opening a pull request?

No. Direct pull requests to the repository are automatically closed. You must use the official submission form at **`clau.de/plugin-directory-submission`** to propose new plugins. Anthropic's team handles all modifications to [`marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/marketplace.json) after internal validation.

### What validation checks does my plugin submission undergo?

Your submission undergoes automated validation via the **`validate-plugins`** GitHub Action, which enforces the Zod schema defined in the repository's CI pipeline. This includes verifying required fields (`name`, `description`, `source`), validating URL accessibility, checking SHA hash formats, and ensuring the payload matches the structure of existing entries in [`marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/marketplace.json).

### How do users install community plugins once published?

Users first register the community marketplace with `claude plugin marketplace add anthropics/claude-plugins-community`, then install specific plugins using the syntax `claude plugin install <name>@claude-community`, where `<name>` matches the `name` field defined in your [`marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/marketplace.json) entry.