Bundled plugins (browser/computer-use) silently break after every MS Store auto-update — incomplete marketplace sync + stale config cascade

Open 💬 5 comments Opened Jun 6, 2026 by dragon-zhang-woo

Environment

  • OS: Windows 11 Home
  • Codex: Microsoft Store edition, currently 26.602.4764.0
  • Affected plugins: browser@openai-bundled, computer-use@openai-bundled
  • Occurrences: 3 times across versions 26.527.x → 26.601.x → 26.602.x

Summary

After every MS Store auto-update of Codex Desktop, the browser and computer-use bundled plugins become unavailable. The chrome plugin survives. The root cause is a
multi-link cascade failure in how Codex syncs the openai-bundled marketplace from the app package to the runtime cache.

Root Cause Chain

  1. Incomplete marketplace extraction

After an update, the runtime marketplace source at:
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\
is supposed to mirror the app package at:
C:\Program Files\WindowsApps\OpenAI.Codex_<version>_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled\
The app package contains 5 plugins: browser, chrome, computer-use, latex, sites. However, after extraction, the .tmp source only contains chrome/extension-host/ —
the other 4 plugin directories are missing entirely. The marketplace manifest (.agents/plugins/marketplace.json) is also absent.

This causes Codex to see no source for browser/computer-use and either disable them or fail to load them.

  1. Stale plugin version cache

The cached plugins at %USERPROFILE%\.codex\plugins\cache\openai-bundled\ retain the old version (e.g., 26.601.21317) while the app is now 26.602.x. The latest
pointers for browser/computer-use are missing or broken after the sync failure.

  1. Configuration staleness (ripple effect)
  • chrome-native-hosts.json: codexCliPath, nodePath, nodeReplPath, resourcesPath still reference old app binary hashes and old app package paths
  • config.toml: marketplace source points to the incomplete .tmp directory
  • .codex-global-state.json: electron-chrome-extension-sync-managed-plugin-ids only contains chrome@openai-bundled, omitting browser/computer-use
  1. Self-reinforcing cycle

On restart, Codex re-syncs from the broken .tmp source, sees no browser/computer-use, and the plugins remain unavailable indefinitely — until manual intervention.

Reproduction

  1. Let MS Store auto-update Codex (or install a newer Store version)
  2. Open Codex
  3. Check Settings → Plugins: browser and computer-use are unavailable
  4. chrome plugin still works

Manual Workaround

  1. Replace the .tmp marketplace with a junction to the app package:

mklink /J %USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled "C:\Program
Files\WindowsApps\OpenAI.Codex_<version>_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled"

  1. Copy the missing plugin dirs to cache, update latest pointers
  2. Fix chrome-native-hosts.json paths and pluginVersion
  3. Add browser@openai-bundled and computer-use@openai-bundled to electron-chrome-extension-sync-managed-plugin-ids in global state
  4. Restart Codex

Suggested Fixes

  1. Complete marketplace extraction: Ensure ALL plugins from the app package are extracted to .tmp, not just chrome
  2. Include .agents/plugins/marketplace.json: This manifest is critical for plugin discovery
  3. Auto-repair on version mismatch: If the plugin cache version doesn't match the app version, trigger a full re-sync from the app package
  4. Centralize version references: Avoid scattering app version and binary hash paths across 4 separate config files

Timeline

┌───────┬──────────────────────────┬─────────────────┐
│ Date │ From → To │ Trigger │
├───────┼──────────────────────────┼─────────────────┤
│ Jun 1 │ 26.527.7698.0 → ? │ MS Store update │
├───────┼──────────────────────────┼─────────────────┤
│ Jun 2 │ ? → 26.601.x │ MS Store update │
├───────┼──────────────────────────┼─────────────────┤
│ Jun 6 │ 26.601.x → 26.602.4764.0 │ MS Store update │
└───────┴──────────────────────────┴─────────────────┘

View original on GitHub ↗

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