Skip to content

Managed bundled marketplace snapshot remains stale after app update, causing Browser reinstall to select the old plugin version #33738

Description

@Tqsh

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

  1. The older Browser plugin failed during runtime initialization with:

    TypeError: Cannot redefine property: process
    
  2. The issue was reported in Built-in Browser plugin fails to initialize with “Cannot redefine property: process” #32935 and later marked fixed/completed.

  3. Updating Codex Desktop installed an application package that included Browser 26.715.21316.

  4. Browser in the managed bundled marketplace remained at 26.707.31428.

  5. Removing the Browser cache and reinstalling the plugin from Settings installed 26.707.31428 again.

  6. 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

  1. Start with Codex Desktop and an older bundled Browser plugin installed.
  2. Update Codex Desktop to a package containing a newer Browser plugin.
  3. Confirm that [marketplaces.openai-bundled].source points to .codex\.tmp\bundled-marketplaces\openai-bundled.
  4. Compare the Browser manifest in the current app package with the manifest in the managed .tmp marketplace.
  5. Observe that the app package manifest is newer while the managed marketplace remains old.
  6. Uninstall Browser from Settings and reinstall it.
  7. 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:

  1. Uninstall Browser from Codex Settings.

  2. Copy the newer browser directory from the current Codex application package.

  3. Replace the stale Browser directory under:

    %USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\browser
    
  4. Reopen Codex and reinstall Browser from Settings.

  5. 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 more link 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

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbrowserbugSomething isn't workingskillsIssues related to skillswindows-osIssues related to Codex on Windows systems

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions