# OpenAI Plugins policy.installation Values: Complete Guide to AVAILABLE and REQUIRED

> Understand OpenAI plugins policy installation values AVAILABLE and REQUIRED. Learn how to configure optional or mandatory plugin installations for your applications.

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

---

**The `policy.installation` field in OpenAI plugin manifests accepts exactly two possible string values: `"AVAILABLE"` for optional user installation or `"REQUIRED"` for mandatory installation.**

The `policy.installation` field controls how plugins appear in the OpenAI Marketplace and governs whether users must install them to access specific features. According to the source code in the `openai/plugins` repository, this field is strictly enumerated in the plugin JSON specification found in the plugin-creator tooling. Developers configuring their `policy.installation` settings must select from the specific values defined in the marketplace policy schema to ensure marketplace compliance.

## Where policy.installation Is Defined

The enumeration for `policy.installation` appears in the plugin creator documentation at [`.agents/skills/plugin-creator/SKILL.md`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/SKILL.md). Line 90 explicitly marks the section as "Allowed `policy.installation` values", while line 87 provides the concrete example `policy.installation: "AVAILABLE"`. The formal JSON schema specification resides 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) at line 164, establishing the complete set of valid strings. Additionally, the generation logic in [`.agents/skills/plugin-creator/scripts/create_basic_plugin.py`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/scripts/create_basic_plugin.py) at line 226 demonstrates how these values are assigned programmatically during manifest creation.

## Allowed policy.installation Values

According to the specification files in the `openai/plugins` repository, the manifest schema restricts `policy.installation` to a specific enumeration of two valid strings.

### AVAILABLE

Setting `policy.installation` to `"AVAILABLE"` marks the plugin as optional in the marketplace. Users can view the plugin listing and choose whether to install it, preserving opt-in flexibility for experimental or supplementary tools. This value appears in the SKILL.md examples as the default behavior for non-critical plugins.

### REQUIRED

Setting `policy.installation` to `"REQUIRED"` designates the plugin as mandatory. When this value is specified, users must install the plugin to access the associated functionality, ensuring critical dependencies are always present. This option is appropriate for authentication providers or core infrastructure components.

## Implementation Examples in Plugin Manifests

The repository's plugin generation script at [`.agents/skills/plugin-creator/scripts/create_basic_plugin.py`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/scripts/create_basic_plugin.py) demonstrates how to assign these enumerated values when constructing plugin manifests programmatically.

### Optional Installation with AVAILABLE

To designate a plugin as optional, assign the `"AVAILABLE"` value in the policy object:

```json
{
  "name_for_human": "Productivity Assistant",
  "description_for_human": "Optional productivity tools",
  "policy": {
    "installation": "AVAILABLE",
    "authentication": "USER"
  },
  "category": "PRODUCTIVITY"
}

```

This configuration allows users to discover the plugin without forcing installation, matching the example pattern found in the SKILL.md documentation.

### Mandatory Installation with REQUIRED

For plugins that must be installed to function correctly, specify the `"REQUIRED"` value:

```json
{
  "name_for_human": "Security Toolkit",
  "description_for_human": "Mandatory security validation",
  "policy": {
    "installation": "REQUIRED",
    "authentication": "SYSTEM"
  },
  "category": "SECURITY"
}

```

This ensures the plugin is treated as a hard dependency within the OpenAI Marketplace ecosystem.

## Summary

- The `policy.installation` field accepts exactly two uppercase string values as defined in the OpenAI plugins specification.
- **`AVAILABLE`** makes plugin installation optional for users browsing the marketplace.
- **`REQUIRED`** forces users to install the plugin to access associated features or functionality.
- These values are validated against the JSON schema 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).
- Use [`.agents/skills/plugin-creator/scripts/create_basic_plugin.py`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/scripts/create_basic_plugin.py) to generate manifests with compliant `policy.installation` values.

## Frequently Asked Questions

### What happens if I omit the policy.installation field from my manifest?

Omitting the field will cause validation failures during the OpenAI Marketplace review process. The schema definition 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) explicitly enumerates this field, and the SKILL.md documentation at line 90 lists the allowed values, indicating the field is mandatory for marketplace submission.

### Can I use lowercase values like "available" or "required" instead?

No. The source specification in [`.agents/skills/plugin-creator/SKILL.md`](https://github.com/openai/plugins/blob/main/.agents/skills/plugin-creator/SKILL.md) defines the values as uppercase strings: `"AVAILABLE"` and `"REQUIRED"`. The JSON schema validation is case-sensitive, and only these exact capitalized forms will pass the marketplace validation pipeline implemented in the plugin-creator tooling.

### When should I choose REQUIRED over AVAILABLE for my plugin?

Select `"REQUIRED"` when your plugin provides core functionality that cannot function as an optional add-on, such as authentication gateways or critical data source connectors. Choose `"AVAILABLE"` for utility plugins, experimental features, or supplementary tools that enhance but do not define the primary user experience. The [`create_basic_plugin.py`](https://github.com/openai/plugins/blob/main/create_basic_plugin.py) script defaults to `"AVAILABLE"` unless explicitly overridden for mandatory system components.

### Are there any other policy.installation values planned for future releases?

Based on the current source code analysis of [`.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) and related files, the schema strictly defines only two enumeration values. No additional states or partial-installation options appear in the current implementation of the `openai/plugins` repository.