Codex Desktop Windows: bundled marketplace rebuild can be blocked by Chrome native host, breaking Computer Use pipe startup
Environment
- OS: Windows
- Codex Desktop: OpenAI.Codex_26.602.4764.0_x64
- Bundled plugin versions observed after restart: 26.602.40724
- Affected plugins: Browser, Chrome, Computer Use
Summary
On Windows, Codex Desktop can end up with a partially rebuilt bundled marketplace after the Chrome native messaging host keeps a handle open under the temporary bundled marketplace path. After that, the built-in Browser/Chrome/Computer Use plugin state becomes inconsistent. In my case this broke Computer Use startup with:
Windows Computer Use helper paths are unavailable
and the active Computer Use client later failed with:
Computer Use native pipe path is unavailable
Failure chain observed
- Chrome native host was launched through:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest
chrome\latestwas a junction into:
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\chrome
- The running
extension-host.exeheld a handle under the temporary marketplace. - Codex Desktop tried to rebuild the bundled marketplace and failed with
EBUSYwhile removing:
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\chrome\extension-host\windows\x64
- The temporary
openai-bundledmarketplace was left partial:
- missing
.agents\plugins\marketplace.json - only
plugins\chromeremained - Browser and Computer Use plugin directories were missing
- Desktop then repeatedly logged:
computer-use native pipe startup failed errorMessage="Windows Computer Use helper paths are unavailable"
- No
\\.\pipe\codex-computer-use-*pipe was created, so Computer Use was unavailable in Codex settings and runtime.
Log evidence
Relevant desktop log included:
bundled_plugins_marketplace_resolve_failed errorCode=EBUSY ... rmdir '%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\chrome\extension-host\windows\x64'
and then repeated:
computer-use native pipe startup failed errorMessage="Windows Computer Use helper paths are unavailable"
Browser native pipe startup still succeeded, so the failure appeared specific to the bundled marketplace/plugin helper resolution path for Computer Use.
Local repair that restored functionality
I repaired the local state by:
- Stopping only the Chrome native messaging host process launched from
chrome\latest. - Repointing
%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latestback to a stable cache version path instead of the temporary bundled marketplace. - Rebuilding
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundledfrom the installed app resource bundle. - Restarting Codex Desktop.
After restart:
codex plugin marketplace listshowedopenai-bundledagain.codex plugin list --marketplace openai-bundledshowed Browser, Chrome, and Computer Use asinstalled, enabled.\\.\pipe\codex-computer-use-*existed.- Browser
iabworked. - Chrome
extensionworked. - Computer Use
sky.list_apps()worked and returned app entries.
Expected behavior
A running Chrome native messaging host should not be able to leave the bundled marketplace in a partial/broken state. If the temporary marketplace cannot be removed because a helper process is still running, Codex should either:
- shut down/restart that helper cleanly,
- rebuild into a fresh temp directory and swap atomically,
- keep native hosts pointed at stable cache paths instead of temp marketplace paths, or
- recover the marketplace on next startup before plugin discovery/native pipe startup.
Why this seems product-side
The installed app resources were complete, and functionality recovered once the temporary bundled marketplace and cache junction were corrected. The failure was not caused by missing installed resources. It appears to be an update/rebuild race or path ownership issue around the bundled marketplace and Chrome native host process on Windows.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding another Windows repro/data point from 2026-06-08 that matches this root-cause chain and shows Computer Use can break after it was already working.
Environment:
OpenAI.Codex_26.602.4764.0_x64__2p2nqsd0c76g026.602.40724computer-use@openai-bundledwas installed/enabled, and the installed helper existed at the stable plugin cache pathObserved sequence in the Desktop log:
After the failure, the generated bundled marketplace under:
was partial: it only had
plugins\chrome, and was missing.agents\plugins\marketplace.jsonplus the other bundled plugin directories includingplugins\computer-use. The installed app resources were still complete, and the Computer Use plugin cache still containedscripts\computer-use-client.mjsandnode_modules\@oai\sky\bin\windows\codex-computer-use.exe.So this was not an entitlement/availability issue and not a missing helper binary in the installed package. It looks like a transient/generated
openai-bundledmarketplace corruption after Chrome's native host locked theextension-host\windows\x64directory.Local recovery that restored functionality:
plugins\chromesubtree in place because the Chrome native host still held it.Validation after repair:
codex plugin marketplace listlistedopenai-bundledagain.codex plugin listshowedcomputer-use@openai-bundled installed, enabled 26.602.40724.computer-use native pipe startup readyagain.setupComputerUseRuntime(...)+sky.list_apps()succeeded and returned 40 apps.This reinforces the expected fix here: bundled marketplace reconciliation should be atomic/recoverable, and a locked Chrome native-host directory should not invalidate Computer Use helper-path resolution or leave
openai-bundledhalf-materialized.Additional Windows repro on a newer Codex Desktop build.
Environment observed:
OpenAI.Codex_26.602.9276.0_x64__2p2nqsd0c76g0extension-host.exeprocesses under%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\...\\.\pipe\codex-computer-use-*pipe existed.Failure state:
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled\pluginswas left partial.chromeplugin directory was present at one point;browser,computer-use,latex, and the newersitesbundled plugin were missing from the temporary marketplace.browser,chrome,computer-use,latex, andsites.config.tomlhad[marketplaces.openai-bundled].sourcepointing at the temporary marketplace path instead of the installed app resource bundle.Relevant log pattern matched this issue:
followed by repeated:
Runtime check after the failure:
Local recovery that made the state usable again:
[marketplaces.openai-bundled].sourceback to the current installed app resource bundle, e.g.%ProgramFiles%\WindowsApps\OpenAI.Codex_<version>_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled.%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundledfrom that resource bundle.chrome\extension-hostwhile it is locked; copy the rest of Chrome metadata/scripts and the non-Chrome bundled plugins first, or stop/restart the Chrome native host cleanly.codex-computer-use-*pipe is recreated.One extra recovery-tooling note:
config.tomlcan contain non-ASCII project paths. Any workaround script that rewrites this file should explicitly read/write UTF-8 and avoid PowerShell's legacy default encoding, otherwise project entries with non-ASCII paths can be corrupted while repairing the plugin source.I maintain WinBridge Recovery for Windows Codex Desktop local recovery: https://github.com/zemeng5208/winbridge-recovery
This issue is a strong match for the project's file-lock + partial-marketplace recovery path. The important part is the sequence: Computer Use is initially healthy, Chrome's native
extension-host.exekeeps a handle open, the bundled marketplace rebuild hitsEBUSY, the active marketplace is left without its manifest/other plugins, and Computer Use helper-path resolution then collapses even though the installed package and stable plugin cache still contain the required files.WinBridge v3.1.1 already avoids repairing directly in-place: it verifies the current AppX/bundled source, checks known Codex/Chrome helper processes and target files before replacement, stages complete marketplace/cache/runtime copies, validates them, then performs an atomic switch with rollback data. It also verifies plugin cache versions/
latestand the post-repair Computer Use/Native Host state.One limitation: precise handle-owner attribution is still an area I am improving. The current tool can detect/prevent unsafe replacement and handle known Codex/Chrome helper processes, but I would not claim it can identify every arbitrary Windows lock holder yet. It also never uses broad
taskkill /IM node.exe, changes WindowsApps ACLs, or patches the official package.For the exact
EBUSY -> partial openai-bundled -> missing-helper-pathchain documented here, this is directly within WinBridge's intended recovery scope.