# Where to Find the Claude Plugin Entry Schema: Complete File Paths and Validation Guide

> Find the Claude plugin entry schema at .github/actions/validate-plugins/policy/schema.json in the anthropics/claude-plugins-community repo. Understand Zod validation rules for the CLI.

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

---

**The canonical Claude plugin entry schema is located at [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json) in the `anthropics/claude-plugins-community` repository, defining the Zod-based validation rules used by the `claude plugin validate` CLI command.**

Every Claude plugin entry submitted to the marketplace must conform to a strict JSON schema that ensures consistency and security. The `anthropics/claude-plugins-community` repository hosts the official validation tooling and the definitive schema that powers the `claude plugin validate` command. Understanding the exact location and structure of this Claude plugin entry schema is essential for developers building and submitting plugins.

## Canonical Location of the Claude Plugin Entry Schema

The definitive source of truth for the schema resides in the repository's validation action tooling. According to the `anthropics/claude-plugins-community` source code, the schema is implemented as a **Zod-based** definition within the policy folder of the `validate-plugins` GitHub Action.

The primary schema file is located at:

- [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json) — Contains the complete Zod-derived JSON schema used to verify every marketplace entry.

Comprehensive documentation explaining the schema's role and validation workflow is available at:

- [`/.github/actions/validate-plugins/README.md`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/README.md) — Confirms that the schema represents the "source of truth for the marketplace/plugin schema" and describes how the validation process applies to all plugin submissions.

## Schema Structure and Required Fields

The Claude plugin entry schema enforces a strict object structure with specific required fields and regex validation patterns. Based on the source analysis of [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json), the schema defines the following mandatory requirements:

**Required top-level fields include:**

- `name` — A string representing the plugin name.
- `description` — A string describing the plugin's functionality.
- `repo` — A string formatted as a URI pointing to the repository.
- `source` — An object containing the source code location details.

**The `source` object requires:**

- `type` — Must be either `"github"` or `"git"` (enum constraint).
- `url` — A valid URI string pointing to the source location.
- `sha` (optional) — A 40-character hexadecimal SHA-1 hash matching the pattern `^[0-9a-f]{40}$` for specific commit verification.

The schema references a `pluginConfig` definition via `"$ref": "#/definitions/pluginConfig"` and explicitly sets `"additionalProperties": false`, preventing any undefined fields from being included.

## Validating Plugin Entries Against the Schema

Developers can validate their plugin manifests using the command-line interface, which applies the exact schema rules defined in the policy file. The validation process ensures that marketplace entries conform precisely to the structure defined in [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json).

To validate a plugin entry locally, execute:

```bash

# Validate a plugin entry using the CLI (the same schema is applied under the hood)

claude plugin validate path/to/.claude-plugin/marketplace.json

```

This command verifies that the manifest includes all required fields, follows correct URI formats, adheres to the SHA hash pattern specifications, and contains no additional properties outside the schema definition.

## Where Plugin Manifests Are Stored

Individual plugin entries must be placed in specific locations within the repository structure to be recognized by the validation tooling. The schema applies to two primary manifest types:

- [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) — The main marketplace manifest that must conform to the policy schema rules.
- `.claude-plugin/plugins/<plugin-name>.json` — Individual plugin manifest files, each validated against the same schema requirements.

Both file types undergo validation using the Zod-based schema located in the `validate-plugins` action, ensuring all entries meet the security and formatting standards required for the Claude plugin marketplace.

## Summary

- The canonical **Claude plugin entry schema** is located at [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json) in the `anthropics/claude-plugins-community` repository.
- The schema is **Zod-based** and serves as the source of truth for the `claude plugin validate` CLI command.
- Required fields include `name`, `description`, `repo`, and a nested `source` object with `type` and `url` properties.
- Plugin manifests must be placed in [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) or `.claude-plugin/plugins/<plugin-name>.json`.
- Validation enforces strict typing with `"additionalProperties": false`, proper URI formatting, and SHA hash pattern compliance.

## Frequently Asked Questions

### What is the exact file path for the Claude plugin entry schema?

The exact file path is [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json). This file contains the complete Zod-derived JSON schema used by the validation tooling in the `anthropics/claude-plugins-community` repository to verify all plugin marketplace entries.

### Which fields are required in a Claude plugin entry?

A Claude plugin entry must include four required top-level fields: `name` (string), `description` (string), `repo` (URI string), and `source` (object). The `source` object must contain `type` (enum: "github" or "git") and `url` (URI string), with an optional `sha` field for commit verification.

### How do I validate my plugin entry against the official schema?

Run the command `claude plugin validate path/to/.claude-plugin/marketplace.json` in your terminal. This CLI command applies the same Zod-based schema defined in [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json) to check your manifest for compliance with all required fields and formatting rules.

### What validation library does the Claude plugin schema use?

The Claude plugin schema uses **Zod** for validation. The JSON schema file at [`/.github/actions/validate-plugins/policy/schema.json`](https://github.com/anthropics/claude-plugins-community/blob/main//.github/actions/validate-plugins/policy/schema.json) is derived from Zod definitions and is used by the `validate-plugins` GitHub Action and the `claude plugin validate` CLI command to enforce type safety and structural requirements.