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

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 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, while the Zoom plugin stores its configuration at 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 file defines the plugin's identity, interface capabilities, and configuration requirements. Below is a typical example from the Replit plugin manifest:

{
  "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 reads each 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, which defines the exact structure and validation rules for all manifest files.

Summary

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 automatically checks each 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.

Can I create a plugin without a manifest file?

No, the plugin evaluation tooling requires a valid plugin.json manifest at the specified path to recognize and load the plugin within the openai/plugins ecosystem.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →