Windows Codex Desktop: browser-use@openai-bundled 0.1.0-alpha2 cache is missing scripts/browser-client.mjs

Open 💬 3 comments Opened May 10, 2026 by OliverGrace
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

### What version of the Codex App are you using?

Codex Desktop for Windows:

OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0

Local bundled plugin versions observed:

chrome@openai-bundled: 0.1.7
browser-use@openai-bundled: 0.1.0-alpha2

What platform is your computer?

Windows x64.

What issue are you seeing?

The bundled browser-use@openai-bundled plugin cache for version 0.1.0-alpha2 is missing the runtime file that its own skill instructions require:

%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser-use\0.1.0-alpha2\scripts\browser-client.mjs

The file does not exist. The browser-use plugin cache only contains:

skills\browser\SKILL.md
skills\browser\agents\openai.yaml

However, skills/browser/SKILL.md explicitly says the browser client module is available at scripts/browser-client.mjs and instructs agents to stop if that path cannot be found:

The browser-client module is the core entry point for browser use, and is available under scripts/browser-client.mjs.
IMPORTANT: If this path cannot be found, stop and report that this plugin is missing scripts/browser-client.mjs.

This means the direct @browser-use / in-app browser skill path cannot be bootstrapped as documented.

Reproduction

  1. On Windows Codex Desktop, enable/use bundled Browser Use:
[@浏览器](plugin://browser-use@openai-bundled)
  1. Inspect the active plugin cache:
Get-ChildItem -LiteralPath '%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser-use\0.1.0-alpha2' -Recurse -File | Where-Object { $_.FullName -notmatch '\\node_modules\\' }
  1. Observe that scripts/browser-client.mjs is absent.
  1. Attempt to follow the skill's documented bootstrap:
const { setupAtlasRuntime } = await import(
  'file:///<user-profile>/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha2/scripts/browser-client.mjs'
);
  1. The import fails because the module is missing.

Expected behavior

One of these should be true:

  • browser-use@openai-bundled/0.1.0-alpha2 should include scripts/browser-client.mjs, matching its SKILL.md; or
  • the skill instructions should point at the correct shared runtime path; or
  • Codex should not expose the browser-use skill as usable when the required runtime file is missing.

Actual behavior

The plugin is exposed with instructions that depend on a missing runtime file.

Using the Chrome plugin's bundled browser client instead:

%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\0.1.7\scripts\browser-client.mjs

can enumerate both browser backends (extension Chrome and iab Codex In-app Browser), which suggests the runtime exists elsewhere, but not under the browser-use plugin path promised by its own skill.

Additional observed behavior

While investigating this, I also reproduced the existing Browser Use external-navigation preflight failure:

  • Chrome extension backend can be listed/created.
  • In-app browser backend can be listed and can screenshot about:blank.
  • Navigating either backend to Google search is rejected before page load with:
Browser Use rejected this action due to browser security policy. Reason: Browser Use cannot determine if https://www.google.com/search is allowed.

The packed browser-client.mjs performs this check through:

https://chatgpt.com/backend-api/aura/site_status?site_url=...&url_request_source=codex_browser_use

Related issues for the navigation/preflight side:

  • #19270
  • #21710
  • #21955

This issue is specifically about the browser-use@openai-bundled/0.1.0-alpha2 package/cache mismatch: the skill references scripts/browser-client.mjs, but the file is absent from the active plugin cache.

Auth/provider note

This repro was collected in a setup that uses a third-party / OpenAI-compatible API provider for model requests, not a ChatGPT web-account login session.

Because of that, there may be no ChatGPT account login state available to the Browser Use runtime. If the aura/site_status preflight requires a ChatGPT-authenticated session, that should be surfaced explicitly as an auth/provider-state problem. The current user-facing error only says Browser Use cannot determine whether the target URL is allowed, which makes it look like a target-site policy issue rather than a missing ChatGPT login/session preflight dependency.

This may overlap with #21710, but the packaging issue above still remains: browser-use@openai-bundled/0.1.0-alpha2 points at a missing scripts/browser-client.mjs in its own active plugin cache.

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 3 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #21138

Powered by Codex Action

eitelkeit0708 · 2 months ago

I can reproduce what looks like the same class of issue on a newer Windows Codex Desktop build, but with the renamed/newer bundled plugin:

Codex Desktop: OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0
Bundled plugin: browser@openai-bundled 26.527.31326
Platform: Windows x64

The important difference from the original report is that the source bundled marketplace copy is complete after app start, but the active plugin cache is rewritten into an incomplete state.

After a clean-ish reset without restoring the old global state, and after disabling/exiting Kaspersky to rule out AV interference, every Codex restart reproduced this state:

%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\browser
  source files: 342

%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser\26.527.31326
  cache files: 60

The cache is missing the browser plugin entry/runtime files required by its own skill bootstrap:

.codex-plugin\plugin.json
scripts\browser-client.mjs
scripts\node_modules\classic-level\index.js

At the same time, computer-use@openai-bundled/26.527.31326 remains intact:

computer-use source files: 187
computer-use cache files: 187

Runtime behavior matches the missing cache files:

Error: Module not found:
file:///%USERPROFILE%/.codex/plugins/cache/openai-bundled/browser/26.527.31326/scripts/browser-client.mjs

Overlay-copying the full source plugin directory back into the active cache immediately fixes the browser runtime for the current session:

browser cache/source files: 342/342
computer-use cache/source files: 187/187
all compared hashes match: true

After that, importing scripts/browser-client.mjs succeeds and the in-app browser can be enumerated. But after the next Codex restart, the browser cache is pruned/rewritten back to 60/342 again.

So this no longer looks like only an old browser-use@0.1.0-alpha2 packaging mismatch. On 26.527, the bundled marketplace source is complete, but Codex Desktop's startup/plugin cache reconciliation appears to populate or prune the active browser@openai-bundled cache incorrectly on Windows.

zemeng5208 · 16 days ago

I maintain WinBridge Recovery for Windows Codex Desktop bundled-plugin cache recovery: https://github.com/zemeng5208/winbridge-recovery

The newer reproduction in this thread is an unusually clear match for what the project validates: the bundled marketplace source is complete (342 Browser files), while the active versioned Browser cache is rewritten to an incomplete subset (60 files) and is missing .codex-plugin/plugin.json, scripts/browser-client.mjs, and runtime dependencies. Restoring the complete source makes Browser work immediately, then the next restart corrupts/prunes the cache again.

WinBridge v3.1.1 compares the current official AppX bundled source against the active marketplace and versioned plugin cache/latest rather than trusting “directory exists” as healthy. It can stage a complete user-owned cache from the already installed official package, verify required manifests/files and SHA-256 content, retain rollback data, and switch only after validation passes. The healthy fast path skips repair entirely.

The recurring rewrite on the next Codex restart is still an upstream Desktop reconcile bug, so a local recovery tool cannot guarantee the app will never damage the cache again. But it can detect the 60/342-style partial state and restore it safely instead of requiring users to manually overlay plugin trees after every failure.

It does not modify WindowsApps ownership/ACLs or patch OpenAI's plugin code.