# Where to Find the Plugin Manifest File in the OpenAI Plugins Repository

> Locate the plugin manifest file within the openai plugins repository. Find plugin.json in the hidden .codex-plugin directory for each plugin.

- Repository: [OpenAI/plugins](https://github.com/openai/plugins)
- Tags: how-to-guide
- Published: 2026-06-26

---

**In the openai/plugins repository, every plugin stores its manifest in a hidden `.codex-plugin` directory at `plugins/<plugin-name>/.codex-plugin/plugin.json`.**

The openai/plugins monorepo organizes multiple plugins under a unified structure, with each plugin's configuration defined in a standardized JSON manifest. Locating this plugin manifest file is essential for understanding plugin capabilities, debugging configuration issues, and contributing new integrations. All plugin manifests follow the exact same path convention, making them predictable across the entire codebase.

## Standard Plugin Manifest Location

Every individual plugin in the repository maintains its metadata in a hidden folder named `.codex-plugin` located at the root of the plugin's directory. The primary manifest file is always named [`plugin.json`](https://github.com/openai/plugins/blob/main/plugin.json) and resides at this specific path:

```

plugins/<plugin-name>/.codex-plugin/plugin.json

```

### Real-World Examples

For instance, the **Replit** plugin's manifest is located at [`plugins/replit/.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/plugins/replit/.codex-plugin/plugin.json), while the **Zoom** plugin stores its configuration at [`plugins/zoom/.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/plugins/zoom/.codex-plugin/plugin.json). This consistent naming convention applies to all plugins in the repository, regardless of their specific functionality or complexity.

## Plugin Manifest Structure

The [`plugin.json`](https://github.com/openai/plugins/blob/main/plugin.json) file defines the plugin's identity, interface capabilities, and configuration requirements. Below is a typical example from the Replit plugin manifest:

```json
{
  "name": "replit",
  "interface": {
    "description": "Run code in a Replit container",
    "defaultPrompt": [
      {
        "role": "system",
        "content": "You are a helpful assistant that can execute code snippets in a Replit environment."
      }
    ]
  },
  "skills": ["run-code"],
  "hooks": [],
  "mcpServers": [],
  "apps": [],
  "metadata": {
    "author": "OpenAI",
    "version": "0.1.0"
  }
}

```

This JSON structure declares the plugin's name, defines the system prompt for the interface, lists available skills, and provides metadata including version and author information.

## Validation and Tooling

The repository includes automated validation to ensure every plugin manifest file meets the required schema. The evaluation tooling at [`plugins/plugin-eval/src/evaluators/plugin.js`](https://github.com/openai/plugins/blob/main/plugins/plugin-eval/src/evaluators/plugin.js) reads each [`plugin.json`](https://github.com/openai/plugins/blob/main/plugin.json) and validates the presence of mandatory fields including `name`, `interface`, and `skills`.

For detailed schema requirements, refer to the specification document at [`.agents/skills/plugin-creator/references/plugin-json-spec.md`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/references/plugin-json-spec.md), which defines the exact structure and validation rules for all manifest files.

## Summary

- Every plugin manifest lives at `plugins/<plugin-name>/.codex-plugin/plugin.json`
- The `.codex-plugin` directory is hidden but follows a strict naming convention across all plugins
- Validation occurs via [`plugins/plugin-eval/src/evaluators/plugin.js`](https://github.com/openai/plugins/blob/main/plugins/plugin-eval/src/evaluators/plugin.js)
- Schema specifications are documented in [`.agents/skills/plugin-creator/references/plugin-json-spec.md`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/references/plugin-json-spec.md)

## Frequently Asked Questions

### What is the exact file path for a plugin manifest in the openai/plugins repository?

The manifest is always located at `plugins/<plugin-name>/.codex-plugin/plugin.json`, where `<plugin-name>` represents the specific plugin directory such as `replit` or `zoom`.

### Why is the plugin manifest stored in a hidden directory?

The `.codex-plugin` directory is hidden to separate plugin metadata from source code, following the convention that metadata files prefixed with dots are configuration rather than implementation files.

### How does the repository validate plugin manifest files?

The validation logic in [`plugins/plugin-eval/src/evaluators/plugin.js`](https://github.com/openai/plugins/blob/main/plugins/plugin-eval/src/evaluators/plugin.js) automatically checks each [`plugin.json`](https://github.com/openai/plugins/blob/main/plugin.json) for required fields like `name`, `interface`, and `skills`, ensuring all manifests conform to the schema defined in [`.agents/skills/plugin-creator/references/plugin-json-spec.md`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/references/plugin-json-spec.md).

### Can I create a plugin without a manifest file?

No, the plugin evaluation tooling requires a valid [`plugin.json`](https://github.com/openai/plugins/blob/main/plugin.json) manifest at the specified path to recognize and load the plugin within the openai/plugins ecosystem.