Codex App (Windows/MSIX): bundled plugin reconcile only unpacks "chrome" — computer-use/browser silently dropped ("no longer exists in discovered marketplaces")

Open 💬 2 comments Opened Jun 5, 2026 by raederhans

What version of the Codex App are you using (From “About Codex” dialog)?

26.602.4764.0 — MSIX package OpenAI.Codex_26.602.4764.0_x64__2p2nqsd0c76g0.

What subscription do you have?

GPT PRO

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Computer Use shows as missing/unavailable in Settings. The plugin's files are all present on disk, but the bundled-plugin loader drops it because the on-disk "marketplace discovery" directory is left half-populated (only chrome).

Exact log lines (from ~/.codex/logs_2.sqlite, paths redacted):

WARN codex_core_plugins::loader: configured non-curated plugin no longer exists in
discovered marketplaces during cache refresh
plugin="computer-use" marketplace="openai-bundled" (core-plugins/src/loader.rs)
WARN codex_core_plugins::loader: failed to load plugin: missing or invalid plugin.json
plugin="chrome@openai-bundled" path=~/.codex/plugins/cache/openai-bundled/chrome/0.1.7
(core-plugins/src/loader.rs)

Key point — the plugin is installed, just not "discovered":

~/.codex/plugins/cache/openai-bundled/computer-use/26.602.30954/ exists and is complete (.codex-plugin/plugin.json, scripts/computer-use-client.mjs, node_modules/@oai/sky/bin/windows/codex-computer-use.exe).
config.toml has [plugins."computer-use@openai-bundled"] enabled = true.
But ~/.codex/.tmp/bundled-marketplaces/openai-bundled/plugins/ contains only chrome (should contain browser, chrome, computer-use, latex, sites), so the loader treats computer-use as "no longer exists in marketplace" and removes it.

What steps can reproduce the bug?

Observed state (appeared after upgrading to 26.602.x; recurred on 2026-05-31, 06-01, 06-05):

The bundled-marketplace discovery dir ~/.codex/.tmp/bundled-marketplaces/openai-bundled/plugins/ ends up containing only chrome.
The app's own repair ran (2026-06-01) and also produced only chrome — leftover dirs openai-bundled.repair-backup-20260601-131214/ and openai-bundled.staging-<uuid>.repair-backup-20260601-131214/ both contain only chrome. → the repair/reconcile path itself reproduces the defect.
Restarting the App does not fix it — the discovery dir already exists, so startup only does an incremental pass and never re-expands the missing plugins.
Compounding issue: cache/openai-bundled/chrome/latest is a junction pointing into .tmp/.../chrome, and the running browser extension-host holds that target locked — so any attempt to remove/repair the .tmp dir fails with Access denied, and the browser auto-respawns extension-host to re-acquire the lock.
(No clean from-scratch repro — this is post-upgrade state corruption, but the repair-backup evidence shows the expansion logic deterministically yields only chrome on this machine. Session id omitted for privacy.)

What is the expected behavior?

On startup/repair, the App should expand all enabled bundled plugins (computer-use, browser, chrome, latex, sites) into the discovery directory. When the directory is partially populated, repair should reconcile against the enabled set and backfill missing plugins, not emit only chrome. A plugin that is installed in cache/ and enabled in config should never be silently dropped just because the discovery dir is incomplete.

Additional information

Verified workaround: fully quit the App + the browser's Codex extension-host processes → move the entire ~/.codex/.tmp/bundled-marketplaces aside (backup) → relaunch. The empty directory forces a full rebuild and computer-use comes back. (The junction lock means you must win the race before the browser respawns extension-host.)

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗