Repository navigation
Bundled plugins (browser/computer-use) silently break after every MS Store auto-update — incomplete marketplace sync + stale config cascade #26792
Description
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__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__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 │
└───────┴──────────────────────────┴─────────────────┘
Activity
github-actions commentedon Jun 6, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
dmiedog commentedon Jun 7, 2026
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.goodneamtakenbydogs commentedon Jun 16, 2026
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
wangxinyu666 commentedon Jun 24, 2026
Additional reproducible evidence from Windows 11 (Microsoft Store Codex Desktop), observed across three consecutive daily upgrades:
[marketplaces.openai-bundled].sourcestill pointed to26.616.6631.026.609.3341.0package directory26.616.5143126.616.9593.026.616.6631.0package directory26.616.7155326.616.10790.026.616.9593.0package directory26.616.81150On 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.codeOct commentedon Jun 24, 2026
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:
zemeng5208 commentedon Aug 12, 2026
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.
siweigong309-create commentedon Aug 24, 2026
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.
th3nolo commentedon Aug 30, 2026
New Windows Store data point: this failure chain is still present on 2026-08-30 with Codex AppX
26.825.6671.0.The managed bundled source contains Browser/Chrome manifests for
26.825.51511, but the installed cache contains Browser26.727.40816and Chrome26.727.40816/26.825.32147. The expected module consequently fails to import from:The important path evidence is:
[marketplaces.openai-bundled]is configured as/mnt/c/Users/<user>/.codex/.tmp/bundled-marketplaces/openai-bundledeven though the active CLI is Windows-native.codex plugin marketplace listomitsopenai-bundledentirely.-coverride to the equivalentC:\Users\<user>\...source makes the marketplace appear immediately, proving that the managed payload is present and readable.There is now a visible downstream symptom in ChatGPT Chrome extension
1.2.27268.51612:The extension is installed/enabled and its native-host registry/JSON exist. Codex's
chrome-native-hosts-v2.jsonstill contains only stale historical runtime targets and no current26.825registration.This supports the diagnosis in the issue: the Store update is not atomically reconciling the bundled marketplace registration and versioned cache. It also shows that the same mismatch cascades into the browser native-host/app-server bootstrap rather than remaining only a missing-plugin UI problem.
g1331 commentedon Sep 6, 2026
Adding another independent Windows recurrence observed on 2026-09-06. This appears to be the same bundled-plugin reconciliation failure, with one useful control result: the current Computer Use runtime remains functional when the stale cached skill is bypassed.
Environment
2620026.901.6511.026.901.5123126.901.5123126.715.31251cua_noderuntime archive0.0.9All user-specific paths, account information, process IDs, task/thread IDs, named-pipe identifiers, and unrelated configuration values have been omitted.
Observed state
The active AppX package contains the current Computer Use plugin at version
26.901.51231. Its bundledSKILL.mddocuments the current initialization path:However, Codex injected the older cached Computer Use plugin from:
That older skill instructs the agent to load
scripts/computer-use-client.mjsand callsetupComputerUseRuntime(...).Following the injected instructions fails deterministically with:
Resetting the JavaScript session and repeating the documented initialization produces the same error.
Native service status
The desktop log indicates that the native Computer Use service itself initialized successfully:
The named-pipe identifier has been removed from this report.
This suggests that the failure occurs before normal Computer Use operations, in the plugin/skill selection and initialization path rather than in the Windows native helper.
Control test using the current bundled entry point
Bypassing the stale cached skill and following the
26.901.51231AppX-bundled instructions succeeds:Verified behavior after using the current entry point:
sky.list_apps()completed successfully.sky.list_windows()returned the Calculator window.sky.get_window_state()captured the target window successfully.7 + 8 =.15.No Computer Use package, runtime, configuration, permission, or Windows setting was modified to obtain this result.
Impact
Multiple Codex tasks can incorrectly conclude that Computer Use is unavailable because they receive and follow an incompatible cached
SKILL.md, even though:@oai/skyentry point works;Restarting only the persistent JavaScript session does not repair the stale plugin selection.
A related stale Browser cache symptom was also present: the desktop log reported a missing
extension-ids.jsonbeneath an olderopenai-bundled\browser\26.715.31251cache path. This may indicate a broader bundled-marketplace/cache reconciliation failure rather than isolated corruption of Computer Use.Possible local trigger
A legacy non-Store Codex installation remains on disk, and the stale cached plugin version matches that older installation.
This may be a machine-specific trigger, but the active
26.901Store app should not select an incompatible cached bundled plugin when its own package contains the matching current version. If mixed installation history is relevant, the startup reconciliation path should either replace the stale cache or report an explicit version mismatch.Expected behavior
On startup or after a Store update, Codex should:
openai-bundledagainst the active AppX package;latestpointers;This recurrence suggests that the issue remains present in the
26.901release line, although the underlying Computer Use runtime itself is operational.g1331 commentedon Sep 6, 2026
Follow-up from the same Windows environment: the browser integration is now working, and the final recovery provides additional evidence that this is a two-stage registration/reconciliation failure rather than a failure of the underlying Computer Use runtime.
Failure progression
chrome-native-hosts-v2.jsonregistration files checked on this installation contained:{"schemaVersion":2,"entries":[]}Restarting the desktop app and repairing the browser extension did not regenerate usable app-server entries.
Recovery
The issue was resolved by rebuilding both v2 registration files with schema-v2 entries that referenced only the currently installed Codex runtime and browser-client files, then restarting the affected browser native-host process. No operating-system reinstall, browser reinstall, or account change was required.
This closely resembles the failure modes reported in #28950 and #42520, while the successful recovery mechanism is similar to #40357.
Post-repair verification
https://example.com, and read the page content successfully.7 + 8 = 15.The evidence suggests that an update/reconciliation path can leave two independently broken layers:
chrome-native-hosts-v2.json.Repairing only the first layer changes the visible error but does not restore browser control. The updater/startup reconciliation likely needs to validate and atomically refresh both layers against the active bundled-plugin/runtime version.
All usernames, absolute filesystem paths, account information, process IDs, task/thread identifiers, named-pipe identifiers, registry data beyond the generic component names, and unrelated configuration values have been omitted.