OpenAI Plugins Installation Policies: Understanding the "AVAILABLE" Constraint

The OpenAI Plugins repository currently defines only one installation policy—"AVAILABLE"—which grants end-users permission to install plugins via the marketplace manifest located at /.agents/plugins/marketplace.json.

The openai/plugins repository centralizes plugin governance through a strict policy framework defined in its marketplace configuration. Understanding the installation policies for plugins is essential for developers integrating with the Codex ecosystem, as these policies determine whether a plugin can be deployed by end-users. Currently, the repository maintains a uniform availability standard across all listed plugins, with no alternative restriction states implemented.

Where Installation Policies Are Defined

The Marketplace Manifest File

All plugin installation policies reside in the /.agents/plugins/marketplace.json file. This central manifest serves as the authoritative source for plugin metadata, including source paths, categories, and policy configurations. Each plugin entry contains a policy object that explicitly declares its installation permissions according to the repository's schema.

The Single "AVAILABLE" Value

According to the source code, every plugin in the repository specifies "installation": "AVAILABLE" within its policy block. This string literal indicates that the plugin is installable by end-users, whether through the Codex UI or API calls. Notably, the repository does not currently implement alternative states such as "UNAVAILABLE", "RESTRICTED", or "PENDING".

Installation Policy Structure and Examples

The JSON schema in marketplace.json follows a consistent pattern for each plugin entry. The policy object contains the installation field alongside authentication settings, though only the installation aspect maintains a fixed value across the repository.

{
  "name": "linear",
  "source": {
    "source": "local",
    "path": "./plugins/linear"
  },
  "policy": {
    "installation": "AVAILABLE",
    "authentication": "ON_INSTALL"
  },
  "category": "Productivity"
}

This structure repeats identically for plugins such as gmail, slack, figma, and build-web-apps. The "installation" field remains strictly constrained to the "AVAILABLE" string, indicating universal installability for current marketplace entries.

Installation vs. Authentication Policies

While installation policies remain limited to a single value, the repository implements more granular authentication policies that control when credentials are validated. These include "ON_INSTALL" (requiring immediate authentication) and "ON_USE" (deferring authentication until plugin invocation). However, these authentication settings operate independently from the installation policy, which uniformly permits plugin acquisition.

Implications for Plugin Developers

Developers contributing to the openai/plugins repository should recognize that the centralized marketplace.json manifest governs all installation permissions. Unlike plugin-specific metadata files such as plugins/<plugin>/.codex-plugin/plugin.json, which describe functional capabilities, the marketplace manifest exclusively controls deployment eligibility. Currently, no mechanism exists within the repository to restrict installation through policy flags, meaning all submitted plugins must be ready for immediate public availability.

Summary

  • Single Policy Value: The /.agents/plugins/marketplace.json file assigns "installation": "AVAILABLE" to every plugin without exception.
  • Universal Availability: No restricted, unavailable, or pending installation states currently exist in the repository.
  • Centralized Control: Installation permissions are defined in the marketplace manifest, not in individual plugin configuration files.
  • Authentication Separation: While installation is always permitted, authentication timing (ON_INSTALL vs ON_USE) varies by plugin.

Frequently Asked Questions

What values can the installation policy field contain in OpenAI Plugins?

Currently, the installation policy field only accepts the string "AVAILABLE". The repository does not define any alternative values such as "UNAVAILABLE" or "RESTRICTED", meaning all plugins listed in marketplace.json are installable by end-users.

Where is the installation policy for plugins defined?

Installation policies are defined centrally in the /.agents/plugins/marketplace.json file. Each plugin entry contains a policy object with an installation key that controls whether the plugin can be deployed.

How does the installation policy differ from the authentication policy?

The installation policy determines whether a plugin can be installed (currently always "AVAILABLE"), while the authentication policy controls when users must provide credentials, either "ON_INSTALL" or "ON_USE". These operate independently within the same policy object in the manifest.

Can a plugin be marked as unavailable for installation?

Based on the current source code, no mechanism exists to mark plugins as unavailable. All entries in the marketplace manifest use "installation": "AVAILABLE", indicating that restriction functionality has not been implemented in the current version of the repository.

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 →