Skip to content

[Bug]: Codex bundled plugins like chrome and computer-use cannot be enabled from openclaw.json #82216

@yaanfpv

Description

@yaanfpv

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Adding any Codex plugin whose marketplaceName is not openai-curated (for example openai-bundled for chrome, browser, computer-use, or openai-primary-runtime for documents, spreadsheets, presentations) is rejected by the Codex plugin config schema, even though all three marketplaces are first-party OpenAI marketplaces that ship with Codex.

Steps to reproduce

  1. Run Openclaw 2026.5.12 with the Codex plugin enabled.
  2. Edit ~/.openclaw/openclaw.json and add a Codex sub-plugin from the bundled marketplace:
{
  "plugins": {
    "entries": {
      "codex": {
        "config": {
          "codexPlugins": {
            "enabled": true,
            "plugins": {
              "chrome": {
                "marketplaceName": "openai-bundled",
                "pluginName": "chrome"
              }
            }
          }
        }
      }
    }
  }
}
  1. Restart the gateway: openclaw restart.
  2. Inspect the resolved Codex plugin policy (via /codex plugins list after the picker work, or by tailing gateway logs at startup).

Expected behavior

chrome (from openai-bundled) and documents (from openai-primary-runtime) should be accepted and surfaced in the resolved Codex plugin policy, the same as any openai-curated plugin like google-calendar. All three marketplaces are owned by OpenAI and ship as first-party sources alongside the Codex CLI and Codex.app, so the openclaw allowlist should reflect that.

Actual behavior

The plugin config schema in extensions/codex/openclaw.plugin.json only enumerates openai-curated, so any other marketplaceName value fails schema validation. The resolved Codex plugin policy is empty or partial, and bundled-only plugins like chrome, browser, computer-use, and primary-runtime plugins like documents, spreadsheets, presentations cannot be enabled through openclaw.json at all.

The same constraint shows up in extensions/codex/src/app-server/config.ts as the single-value constant CODEX_PLUGINS_MARKETPLACE_NAME = "openai-curated", which gates every downstream resolver (plugin-activation.ts, plugin-inventory.ts, session-binding.ts, migration/apply.ts).

OpenClaw version

2026.5.12

Operating system

macOS 15.4 (Apple Silicon)

Install method

npm install -g openclaw (Mac Gateway managed install)

Model

gpt-5.4 via Codex (agentRuntime.id=codex)

Provider / routing chain

openclaw -> @openclaw/codex -> @openai/codex-app-server

Additional provider/model setup details

Codex plugin migration auto-populates plugins.entries.codex.config.codexPlugins.plugins from Codex.app's bundled plugin inventory during openclaw update. Because openai-bundled and openai-primary-runtime entries do not match the schema enum, the migration silently drops them, so the local install ends up with a partial picture of the Codex plugin surface that is actually installed on disk.

Logs, screenshots, and evidence

extensions/codex/openclaw.plugin.json (lines around 114-117):
"marketplaceName": {
  "type": "string",
  "enum": ["openai-curated"]
}

extensions/codex/src/app-server/config.ts:
export const CODEX_PLUGINS_MARKETPLACE_NAME = "openai-curated";

This constant is referenced in:
- extensions/codex/src/app-server/plugin-activation.ts
- extensions/codex/src/app-server/plugin-inventory.ts
- extensions/codex/src/app-server/session-binding.ts
- extensions/codex/src/migration/apply.ts

For reference, the OpenAI Codex CLI itself lists three marketplaces under `codex plugin marketplace list`:
- openai-curated (remote curated catalog)
- openai-bundled (local bundle that ships with Codex.app: chrome, browser, computer-use, latex-tectonic)
- openai-primary-runtime (Codex primary runtime: documents, spreadsheets, presentations)

Impact and severity

Affected: every Openclaw install that wants to use any Codex sub-plugin outside openai-curated. That includes chrome, browser, computer-use, documents, spreadsheets, presentations.
Severity: Medium. Codex still works for curated plugins, but the bundled and primary-runtime surfaces are completely unreachable from openclaw, even though they are first-party OpenAI plugins.
Frequency: Always (deterministic schema rejection).
Consequence: Users either give up on those plugins or bypass openclaw entirely and edit Codex's own config. Computer-use, the most user-visible of the bundled plugins, becomes impossible to manage from openclaw.json.

Additional information

Fix is straightforward: replace the single-value constant with an allowlist array of the three first-party OpenAI marketplaces, update the schema enum to match, and let the downstream resolvers iterate the allowlist when validating marketplaceName. PR: #82219.

Searched for related issues before filing:

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingbug:behaviorIncorrect behavior without a crashclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions