Managed bundled marketplace snapshot remains stale after app update, causing Browser reinstall to select the old plugin version
Summary
After Codex Desktop updated, the application package contained a newer fixed Browser plugin, but the managed per-user bundled marketplace snapshot remained on the old Browser version.
Uninstalling and reinstalling Browser from Settings, deleting the plugin cache, and restarting Codex repeatedly installed the old version because the installer selected the version exposed by the stale managed marketplace.
This case is different from a persisted marketplace source pointing to an old WindowsApps package. Here, config.toml already pointed to the expected managed .tmp marketplace path; the contents of that managed snapshot were stale.
Environment
- Platform: Windows x64
- Install type: Microsoft Store / WindowsApps packaged app
- Codex Desktop package:
OpenAI.Codex_26.715.2236.0_x64 - Browser plugin included in the current app package:
26.715.21316 - Browser plugin in the managed runtime marketplace:
26.707.31428 - Browser plugin installed in the user cache before repair:
26.707.31428
Configuration
The relevant ~/.codex/config.toml entry was already pointing to the managed marketplace:
[marketplaces.openai-bundled]
last_updated = "2026-07-10T02:24:29Z"
source_type = "local"
source = '\\?\C:\Users\<user>\.codex\.tmp\bundled-marketplaces\openai-bundled'
[plugins."browser@openai-bundled"]
enabled = true
The three Browser manifests reported:
| Location | Version |
|---|---:|
| Current Codex application package | 26.715.21316 |
| Managed bundled marketplace under .codex\.tmp | 26.707.31428 |
| Installed plugin cache | 26.707.31428 |
The current application package already contained the fixed Browser plugin at a path equivalent to:
C:\Program Files\WindowsApps\OpenAI.Codex_26.715.2236.0_x64__...\app\resources\plugins\openai-bundled\plugins\browser
But the runtime marketplace still exposed:
C:\Users\<user>\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\browser
Browser version: 26.707.31428
Observed behavior
- The older Browser plugin failed during runtime initialization with:
``text``
TypeError: Cannot redefine property: process
- The issue was reported in #32935 and later marked fixed/completed.
- Updating Codex Desktop installed an application package that included Browser
26.715.21316. - Browser in the managed bundled marketplace remained at
26.707.31428. - Removing the Browser cache and reinstalling the plugin from Settings installed
26.707.31428again. - The old error therefore continued even though the fixed plugin was already present inside the current app package.
The apparent version decision was effectively:
managed marketplace version 26.707.31428
== installed cache version 26.707.31428
=> plugin considered current
The newer application-bundled version was not materialized into the managed runtime marketplace before the version comparison and reinstall.
Reproduction pattern
- Start with Codex Desktop and an older bundled Browser plugin installed.
- Update Codex Desktop to a package containing a newer Browser plugin.
- Confirm that
[marketplaces.openai-bundled].sourcepoints to.codex\.tmp\bundled-marketplaces\openai-bundled. - Compare the Browser manifest in the current app package with the manifest in the managed
.tmpmarketplace. - Observe that the app package manifest is newer while the managed marketplace remains old.
- Uninstall Browser from Settings and reinstall it.
- Observe that Codex recreates the cache using the old managed-marketplace version.
Expected behavior
When the Codex Desktop package changes, the app should compare the bundled plugin manifests in the running application package with the managed per-user marketplace snapshot.
If any bundled plugin version differs, Codex should atomically refresh the managed marketplace before plugin reconciliation, version validation, or reinstall.
Actual behavior
The managed .tmp bundled marketplace remained stale across the app update and restart. Plugin reinstall trusted the stale marketplace, so the old Browser version was installed again.
Temporary workaround
The following manual workaround restored Browser functionality:
- Uninstall Browser from Codex Settings.
- Copy the newer
browserdirectory from the current Codex application package. - Replace the stale Browser directory under:
``text``
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\browser
- Reopen Codex and reinstall Browser from Settings.
- Confirm that Codex creates the cache directory for
26.715.21316.
This is only a temporary workaround because .codex\.tmp\bundled-marketplaces is generated state and may be overwritten.
Verification after the workaround
With Browser 26.715.21316, I successfully:
- initialized
setupBrowserRuntime({ globals: globalThis }); - connected to the Codex in-app Browser;
- navigated to
https://example.com/; - read the page title and DOM;
- clicked the
Learn morelink and navigated to the IANA page; - completed the test with no Browser console errors.
The Cannot redefine property: process error no longer occurred.
Relationship to existing issues
- Related to #30270, but this reproduction does not have
config.tomlpointing to an old versionedWindowsAppssource. The configured source already points to the managed.tmpmarketplace; the managed snapshot itself was not refreshed. - Follow-up evidence for the Browser runtime incompatibility originally reported in #32935.
- Detailed version evidence and workaround were also posted at https://github.com/openai/codex/issues/32935#issuecomment-4998873649.
Requested fix
Please refresh or rematerialize the managed bundled marketplace from the currently running Codex application package whenever:
- the application package version changes;
- a bundled plugin manifest version changes;
- a bundled plugin is reinstalled; or
- the managed marketplace and application-bundled manifest versions differ.
The refresh should happen before the installed-cache version is considered current. If refresh fails, Settings should display an actionable marketplace synchronization error instead of reinstalling an older bundled plugin.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗