Browser / Google Chrome plugins are removed on Codex startup after successful UI Install

Resolved 💬 4 comments Opened Jun 17, 2026 by wsdjzlh Closed Jun 27, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

0.140.0-alpha.19; package version 26.611.8273.0

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Browser and Google Chrome plugins can be installed successfully through the Codex App UI, and the local install state is written correctly. However, after fully exiting and reopening Codex App, the startup phase removes the installed plugin state within 2 to 4 seconds.

This cleanup happens during the next app startup, not during app exit.

Environment:

  • Codex App version: 0.140.0-alpha.19
  • Codex package version: 26.611.8273.0
  • OS: Windows
  • Plugins: Browser / Google Chrome
  • Marketplace: openai-bundled
  • Plugin version: 26.611.61753
  • Feedback ID: 019ed476-77ae-7612-bc5b-7b9606a58937

Relevant logs:

  • completed remote installed plugin bundle sync installed_plugin_ids=[] removed_cache_plugin_ids=[] failed_remote_plugin_ids=[]
  • configured non-curated plugin no longer exists in discovered marketplaces during cache refresh plugin="computer-use" marketplace="openai-bundled"
  • Similar no longer exists in discovered marketplaces during cache refresh warnings also appeared for openai-primary-runtime plugins.

Additional observations:

  • config.toml is valid TOML and can be parsed with Python tomllib.
  • UI Install successfully creates the local config/cache/native-host state.
  • This is not an isolated Chrome native-host failure, because manifest, registry, and official native-host entries are generated successfully after UI Install.
  • The cleanup does not happen during app exit. External polling confirmed the install state remains after Codex App fully exits.
  • The cleanup happens during the next Codex App startup.
  • Local openai-bundled marketplace files appear intact and include browser, chrome, and computer-use at version 26.611.61753.

What steps can reproduce the bug?

Feedback ID: 019ed476-77ae-7612-bc5b-7b9606a58937

  1. Open Codex App.
  2. Go to Plugins.
  3. Click Install for Browser.
  4. Immediately after install, local state is written:
  • config.toml contains browser@openai-bundled
  • plugins\cache\openai-bundled\browser\26.611.61753 exists
  1. Click Install for Google Chrome and complete the Chrome setup flow.
  2. Immediately after install, local state is written:
  • config.toml contains chrome@openai-bundled
  • plugins\cache\openai-bundled\chrome\26.611.61753 exists
  • chrome\latest points to 26.611.61753
  • native-host manifest is generated
  • HKCU NativeMessagingHosts registry entry is generated
  • both chrome-native-hosts-v2.json files contain an official entry with entryId, installId, appVersion, cliVersion, nativeHostVersion, paths, presence, and resourcesPath
  1. Fully exit Codex App.
  2. External PowerShell polling confirms the install state still exists after exit.
  3. Reopen Codex App.
  4. Within 2 to 4 seconds during startup, the installed state is removed.

Observed timeline from external polling:

  • 17:52:49 / 17:52:51:
  • config browser=True chrome=True
  • browser cache exists
  • chrome cache exists
  • native-host manifest exists
  • chrome-native-hosts-v2.json is 3054 bytes and still contains the official entry
  • 17:52:53:
  • config browser=False chrome=True
  • browser cache is removed
  • native-host manifest is removed
  • chrome-native-hosts-v2.json changes from 3054 bytes back to 1190 bytes
  • 17:52:55:
  • config browser=False chrome=False
  • both browser/chrome cache directories are removed
  • native-host manifest remains removed

What is the expected behavior?

After installing Browser and Google Chrome via the Codex App UI, fully exiting and reopening Codex App should preserve the installed plugin state. Codex should not remove config/cache/native-host/registry for these plugins during startup.

Additional information:

Current diagnosis:
This appears to be a Codex App startup plugin discovery / remote installed plugin bundle sync / cache refresh issue. UI Install writes the local installed state successfully, but on the next startup that state is not recognized by the installed plugin list or discovered marketplace set. Codex then removes Browser and Google Chrome from config/cache/native-host/registry.

I can provide logs_2.sqlite snippets, PowerShell polling output, and before/after snapshots of config/cache/native-host state if needed.

Note: Paths in my local repro were under C:\Users\<user>\...; I can provide exact redacted paths if needed.

Additional information

<img width="1192" height="1196" alt="Image" src="https://github.com/user-attachments/assets/84274409-bfe5-4adf-b1e2-e249cbe4ae4a" />

<img width="522" height="283" alt="Image" src="https://github.com/user-attachments/assets/866247b2-efed-4d32-9128-481f562f7e54" />

codex-plugin-startup-cleanup-evidence.txt.txt

View original on GitHub ↗

4 Comments

github-actions[bot] contributor · 2 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #27234
  • #28277
  • #27152
  • #28084

Powered by Codex Action

wsdjzlh · 2 months ago

I also checked for a running extension-host.exe process matching the Chrome/openai-bundled cache path before startup, but none was found at that time. So I have not been able to confirm the exact EBUSY condition from #27234 in my repro, although the startup cleanup behavior looks related.

I’ll keep this issue open for now because the observed cleanup timeline is slightly different: UI Install succeeds, the install state remains after fully exiting Codex, and it is removed only during the next app startup.

wsdjzlh · 2 months ago

I reviewed the potential duplicates:

  • #28277 looks closely related because it also involves Windows and openai-bundled marketplace/cache discovery problems.
  • #27152 has a similar symptom where Chrome / Computer Use / Browser disappear, but it seems broader and was about openai-bundled not loading at all.
  • #28084 also appears related to Windows bundled plugin/runtime mixed state after updates, but it includes additional issues such as stale extension-host.exe, EBUSY, runtime/sandbox problems, and Computer Use import issues.

I’m keeping this issue open for now because my repro adds a more specific startup-timing observation:

  • Browser and Chrome UI Install both succeed.
  • Immediately after install, config/cache/native-host/registry are written correctly.
  • Fully exiting Codex does not remove the install state.
  • On the next startup, external PowerShell polling captures the installed state being removed within 2-4 seconds:
  • 17:52:49 / 17:52:51: browser=True chrome=True, browser/chrome cache exists, native-host manifest exists.
  • 17:52:53: browser=False chrome=True, browser cache and native-host manifest are removed.
  • 17:52:55: browser=False chrome=False, both browser/chrome cache directories are removed.

I also checked for a running extension-host.exe process matching the Chrome/openai-bundled cache path before startup, but none was found at that time. So I have not been able to confirm the exact EBUSY condition from #27234 or #28084, although the startup cleanup behavior looks related.

So this may be the same Windows bundled-plugin reconcile/cache-refresh family of bugs, but the reproducible startup-only cleanup timeline may provide useful additional evidence.

Nicolas0315 · 2 months ago

I pushed a candidate core-side fix that should also help this startup/update cleanup family when the bundled marketplace source path goes stale after a Windows app update.

Compare: https://github.com/openai/codex/compare/main...Nicolas0315:codex:codex/bundled-marketplace-source-refresh
Commit: Nicolas0315/codex@7c0e9d74799fbc8a67de2fcbbf721c8d4c4ec5e8

Summary:

  • openai-bundled / openai-bundled-alpha discovery falls back to .tmp/bundled-marketplaces/<name> when the configured local source no longer has a manifest.
  • codex plugin marketplace add can refresh a changed local source for reserved bundled marketplace names, while custom marketplaces still reject same-name/different-source refreshes.

Validation covered local focused core/CLI tests and SSH exact-commit checks on cyberagent-mac-m5max, nicolas-macbook-pro, nicolas2025, and rtx5060ti (diff-check only on hosts without a usable Rust toolchain/linker). Full details are in #30270.

Boundary: this does not replace the Desktop startup copy/rebuild path; if .tmp/bundled-marketplaces/openai-bundled itself is not repopulated, that remains a separate startup/package issue.