Bundled plugins (browser/computer-use) silently break after every MS Store auto-update — incomplete marketplace sync + stale config cascade
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
- 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.
- 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.
- 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
- 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
- Let MS Store auto-update Codex (or install a newer Store version)
- Open Codex
- Check Settings → Plugins: browser and computer-use are unavailable
- chrome plugin still works
Manual Workaround
- 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"
- Copy the missing plugin dirs to cache, update latest pointers
- Fix chrome-native-hosts.json paths and pluginVersion
- Add browser@openai-bundled and computer-use@openai-bundled to electron-chrome-extension-sync-managed-plugin-ids in global state
- Restart Codex
Suggested Fixes
- Complete marketplace extraction: Ensure ALL plugins from the app package are extracted to .tmp, not just chrome
- Include .agents/plugins/marketplace.json: This manifest is critical for plugin discovery
- 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
- 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 │
└───────┴──────────────────────────┴─────────────────┘
7 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding another Windows data point from issue #26864 before closing it as a duplicate.
Environment observed:
OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g026.527.31326openai-bundledInteresting detail in this case:
~/.codex/config.tomlstill had a[marketplaces.openai-bundled]entry and the referenced runtime-generated marketplace path existed:The local cache also still contained the bundled plugin files for
browser,chrome, andcomputer-use, and the MSIX app package containedapp\resources\plugins\openai-bundled.However, before the workaround,
codex plugin marketplace listdid not includeopenai-bundledat all. It only listedopenai-primary-runtimeandopenai-curated.A lighter workaround restored it immediately:
After that,
codex plugin marketplace listshowedopenai-bundled, andcodex plugin listshowed:One extra note: invoking
codex.exethrough the WindowsApps package path failed with access denied from this shell, but using the%LOCALAPPDATA%\OpenAI\Codex\bin\...\codex.execopy worked.Adding one smaller instance that may fit this stale-config cascade.
In my Windows repro, after an update, a configured Codex CLI path pointed to an old hash directory that no longer existed. I found the stale value in both
config.toml(CODEX_CLI_PATH) andchrome-native-hosts-v2.json(paths.codexCliPath). That caused Codex app-server startup / Browser policy config reads to fail.The confusing part was the final Browser-facing error: it looked like an enterprise network policy block, even though the actionable root cause was a missing configured
codex.exepath. This may be another place where version/hash path regeneration or validation after update would help.Focused write-up: #28474
Additional reproducible evidence from Windows 11 (Microsoft Store Codex Desktop), observed across three consecutive daily upgrades:
| Date | Installed Codex package | Stale
[marketplaces.openai-bundled].sourcestill pointed to | Current Computer Use plugin ||---|---|---|---|
| 2026-06-22 |
26.616.6631.0| removed26.609.3341.0package directory |26.616.51431|| 2026-06-23 |
26.616.9593.0| removed26.616.6631.0package directory |26.616.71553|| 2026-06-24 |
26.616.10790.0| removed26.616.9593.0package directory |26.616.81150|On every update:
C:\Program Files\WindowsApps\OpenAI.Codex_<version>_x64__2p2nqsd0c76g0directory and removes the previous directory.%USERPROFILE%\.codex\config.tomlkeeps the previous absolute package path as theopenai-bundledmarketplace source.enabled = true, but the active session does not expose its required model-facing execution tool, so Computer Use is unavailable.A manual repair consistently restores functionality after a full app restart:
[marketplaces.openai-bundled].sourceto the current AppXInstallLocation\app\resources\plugins\openai-bundled;%USERPROFILE%\.codex\plugins\cache\openai-bundled\computer-use\<plugin-version>;Copying from WindowsApps with ordinary PowerShell
Copy-Itemcan fail withThe specified file could not be encrypted;xcopy /Gsucceeds, which may be relevant to the marketplace sync failure.This machine is using the normal official configuration (no persistent custom marketplace, junction, or scheduled repair). The failure returns after every Store upgrade.
Suggested additional fix: do not persist a version-specific WindowsApps path without reconciling it on every launch/update. Resolve the current AppX
InstallLocationdynamically or stage the bundled marketplace at a stable user-writable path, then atomically refresh the plugin cache before Computer Use tool registration.Additional Windows data point from Codex Desktop on 2026-06-24.
I am seeing a similar version-skew state after updates, even when the paths currently still exist and the plugins are still usable:
config.tomlhas[marketplaces.openai-bundled].sourcepointing at:\\?\C:\Program Files\WindowsApps\OpenAI.Codex_26.616.10790.0_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundledconfig.tomlhas runtime/app-related values showing:BROWSER_USE_CODEX_APP_VERSION = "26.616.81150"CODEX_CLI_PATH = C:\Users\<user>\AppData\Local\OpenAI\Codex\bin\38dff8711e296435\codex.exeopenai-bundledplugin versions at:browser 26.609.41114chrome 26.609.41114computer-use 26.609.41114openai-curatedpoints to:C:\Users\<user>\.codex\.tmp\pluginsopenai-primary-runtimepoints to:C:\Users\<user>\.cache\codex-runtimes\codex-primary-runtime\plugins\openai-primary-runtimeAll of the checked paths currently exist, so this is not a hard broken-path state at the moment. The concern is that there are at least three independent version/source identities in play at once: WindowsApps package version, app/runtime metadata version, and plugin cache version. That makes it hard to tell which source is authoritative after an update, and it seems like a plausible path into the stale config / missing plugin cascade described in this issue when an old package/cache is later removed.
It would help if Codex either:
I maintain WinBridge Recovery, an independent Windows recovery tool for exactly this class of Codex Desktop update-state drift: https://github.com/zemeng5208/winbridge-recovery
This report is a particularly close match to what the tool checks. It compares the currently installed official Desktop package with the user-side
openai-bundledmarketplace/cache state, repairs incomplete or stale marketplace materialization, reconciles versioned plugin caches andlatestpointers, and refreshes runtime / registration state when an app update leaves old paths behind.A couple of scope notes so this is not mistaken for an upstream fix: WinBridge Recovery only rebuilds/reconciles state from the official package already installed on the machine. It does not patch
WindowsApps, redistribute OpenAI plugin files, or bypass security/account/region policy. If the failure is the update cascade described here (partial.tmpmarketplace + stale cache/pointers/registration), it is a good candidate for recovery; if a current bundled plugin/runtime itself is incompatible, that still needs an upstream Codex fix.The project includes backup/rollback and post-repair consistency checks, so it may also be useful as a reproducible diagnostic path for users who otherwise have to repeat the manual repair steps after every Store update.
Additional recurrence observed on 2026-08-21:
This suggests the Windows update/reconciliation path can still activate a newer app package without a matching, usable Browser toolchain. Atomic app/plugin/runtime activation, or startup repair with a clear version-mismatch error, would prevent this failure mode.