Windows Desktop: elevated sandbox blocks node_repl; unelevated fixes bridge but Computer Use pipe missing
Summary
Codex Desktop on Windows had a node_repl / plugin bridge failure where nodeRepl.write('ok') failed before executing. The root symptom was the sandbox setup helper being spawned from the bridge path and failing with os error 740.
Changing the Windows sandbox setting from elevated to unelevated recovered node_repl and Chrome/browser control, but Computer Use remains unavailable because its native pipe is not created. Settings now reports Browser/Computer Use plugin availability inconsistently with the runtime state.
Feedback ID already submitted from Codex Desktop:
019e9343-cf10-7dd1-9de9-c2e24bd3636a
Environment
- OS: Windows
- Codex Desktop package observed:
OpenAI.Codex_26.602.9276.0_x64__2p2nqsd0c76g0 - Codex CLI/app-server path observed under the user-local Codex install
- Plugin set involved:
node_replbrowserchromecomputer-use
Original Minimal Reproduction
Run:
nodeRepl.write('ok')
Observed:
node_repl kernel exited unexpectedly
windows sandbox failed: spawn setup refresh
Relevant sandbox log pattern:
setup refresh: spawning C:\Users\<user>\AppData\Local\OpenAI\Codex\bin\<hash>\codex-windows-sandbox-setup.exe
setup refresh: failed to spawn C:\Users\<user>\AppData\Local\OpenAI\Codex\bin\<hash>\codex-windows-sandbox-setup.exe: The requested operation requires elevation. (os error 740)
This reproduced after:
- Codex Desktop uninstall/reinstall.
- Chrome plugin removal/reinstall.
- Renaming local Codex runtime folders.
- Full Codex process shutdown and relaunch.
- Launching Codex as administrator.
- Running the sandbox setup EXE once with UAC.
- Resetting generated sandbox folders and accepting the in-app sandbox update.
Profiler environment variables requested by support were checked and were not present:
COR_ENABLE_PROFILING
COR_PROFILER
COR_PROFILER_PATH
COR_PROFILER_PATH_32
COR_PROFILER_PATH_64
CORECLR_ENABLE_PROFILING
CORECLR_PROFILER
CORECLR_PROFILER_PATH
Partial Fix Found
The bridge recovered after changing:
[windows]
sandbox = "elevated"
to:
[windows]
sandbox = "unelevated"
Then fully closing Codex, stopping remaining Codex processes, reopening Codex, and retesting.
Confirmed after the change:
nodeRepl.write('ok') => ok
Chrome extension/browser runtime also became available.
Remaining Failure
Computer Use is still unavailable.
Runtime check from node_repl after the partial fix:
{
"nodeRepl": "ok",
"extensionBrowser": true,
"inAppBrowser": true,
"computerUse": "unavailable",
"computerUseError": "Computer Use native pipe is unavailable: Error: failed to connect native pipe: The system cannot find the file specified. (os error 2)"
}
Observed local process/pipe state:
- No
codex-computer-use.exeprocess is running. - No
codex-computer-use-*named pipe exists. - Browser-related Codex pipes do exist.
Settings UI after this state:
Settings > Computer use: Computer Use plugins unavailable
Settings > Browser: In-app browser plugin unavailable
However, local config still shows the relevant plugins enabled:
[plugins."computer-use@openai-bundled"]
enabled = true
[plugins."browser@openai-bundled"]
enabled = true
[plugins."chrome@openai-bundled"]
enabled = true
Plugin cache folders are also still present:
C:\Users\<user>\.codex\plugins\cache\openai-bundled\browser
C:\Users\<user>\.codex\plugins\cache\openai-bundled\chrome
C:\Users\<user>\.codex\plugins\cache\openai-bundled\computer-use
Expected Behavior
node_replshould execute simple scripts without requiring an elevation-dependent sandbox setup spawn from the user-local bridge path.- Browser/Chrome and Computer Use plugin availability in Settings should match runtime availability.
- Computer Use should start/register its native helper and named pipe when enabled and installed.
Actual Behavior
- With
windows.sandbox = "elevated",node_replfails with sandbox setupos error 740. - With
windows.sandbox = "unelevated",node_repland Chrome/browser recover, but Computer Use remains unavailable because the native pipe does not exist. - Settings reports Browser/Computer Use plugin unavailability even though local config and plugin cache are present, and browser runtime is available from
node_repl.
Evidence Package
A local evidence package was created containing:
- sanitized runtime bridge report
- partial fix instructions
- original repair/reset scripts used during troubleshooting
- isolated Chrome CDP test script
The issue body above contains the essential evidence because GitHub issue attachment upload is not available through the connector used to create this issue.
6 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Follow-up after reviewing the potential duplicates posted by the bot:
This issue appears to overlap with two related bug clusters, but I do not think it is a pure duplicate yet because it captures the transition between them on the same machine/session.
Related sandbox /
node_replreports:windows.sandbox = "elevated"failure and theunelevatedworkaround.os error 740path and includes the useful observation that the npm Codex CLI 0.137.0 sandbox helper appears to contain anasInvokermanifest while the Desktop cached/bundled helper may not.node_replhits Windows sandbox setupos error 740.Related Computer Use native-pipe reports:
codex-computer-use-*pipe may exist but the client still cannot connect reliably. In this issue's current state, nocodex-computer-use-*pipe exists at all.Current state for this issue:
windows.sandbox = "elevated",node_replfails with sandbox setupos error 740.windows.sandbox = "unelevated"and fully restarting Codex recoversnodeRepl.write('ok')and Chrome/browser runtime.That makes this issue useful as a combined repro showing that the
unelevatedworkaround addresses thenode_replbridge failure but does not necessarily restore Computer Use on Windows.Additional diagnostics and user-observed context from the affected machine:
Desktop sandbox helper comparison
The Desktop cached sandbox setup helper and the packaged Desktop resource helper are byte-for-byte identical on this installation:
Both have:
A simple string scan of both helpers did not find:
This seems consistent with the theory discussed in #26530 / #26419 that the Windows Desktop helper may lag the newer npm CLI helper that reportedly contains an
asInvokermanifest.Current pipe state
After switching to:
node_repland browser runtimes are available, but Computer Use still is not. Current named pipes include browser-related pipes only:No
codex-computer-use-*pipe exists, and nocodex-computer-use.exeprocess is running.Winget/App Installer note
App Installer is installed and healthy according to PowerShell:
The
winget.exeApp Execution Alias exists at:But invoking
winget --versionfrom this Codex shell currently exits without useful output. This may be a shell/session alias issue rather than the primary blocker.User-observed account/project-sharing context
The user reports that the problem appeared to start after two separate business accounts were linked through some form of shared project/invite relationship. The first meaningful improvement occurred only after the user decoupled the shared project relationship and revoked invites from the personal business account to the company business accounts.
This is only a user-observed correlation, not a proven cause. It may still be relevant if plugin availability, project-scoped permissions, entitlement state, or account/workspace sharing state affects whether Browser/Computer Use runtimes are surfaced or launched by Codex Desktop.
Additional diagnostic: standalone npm Codex CLI comparison.
I installed Node.js LTS and then installed
@openai/codex@0.139.0locally into the workspace only, not globally. This was done to compare the standalone CLI helper against the Desktop helper without replacing Desktop files.Observed versions:
Helper comparison:
The npm CLI helper contains:
The Desktop helper did not show
asInvoker,requireAdministrator, orrequestedExecutionLevelin the same string scan.The npm CLI
codex.exeandcodex-windows-sandbox-setup.exesignatures both verified as valid and signed byOpenAI OpCo, LLC.Installing Node/npm and the standalone CLI did not by itself change the Desktop runtime state. Retest still shows:
Interpretation: this supports the theory from #26530 / #26419 that the standalone CLI helper has the manifest behavior needed to avoid the
os error 740path, while the Desktop helper still appears to lag. It does not by itself resolve the remaining Computer Use native-pipe launch failure.Update after retesting on a newer Windows Desktop build.
Current environment from the same affected Windows user profile:
Live
node_replcontext still does not expose the older expected native-pipe metadata directly:However, with
computer-use@openai-bundledversion26.616.32156, the supported Computer Use bootstrap now succeeds from this same profile:Observed result:
Chrome extension backend also registers successfully on the same build/profile; a read-only check returned open tabs successfully.
Interpretation: the original
os error 740/ elevated sandbox failure remains avoided bywindows.sandbox = "unelevated", and the newer bundled Computer Use runtime now appears able to connect when acodex-computer-use-*named pipe exists, even thoughnodeRepl.nativePipe/SKY_CUA_NATIVE_PIPE_DIRECTORYare still absent from the visible REPL context.This may indicate that the current Desktop/plugin version fixed or bypassed the native-pipe metadata failure for at least this Windows profile. I am leaving the issue open for now because the earlier failure was persistent across installs and because related Windows reports suggest the problem can vary by user profile, plugin marketplace state, Chrome native-host locks, WSL mode, and runtime relocation state.
Disclosure: I maintain WinBridge Recovery: https://github.com/zemeng5208/winbridge-recovery
This report is useful because it already separates two failure layers: changing
windows.sandboxtounelevatedrestoresnode_repl+ Chrome/browser, but the Computer Use helper/pipe still never appears even though the plugin cache/config remain present.WinBridge checks that remaining local side as a consistency set — active config, bundled marketplace/plugin generation,
cua_node/node_repl, Computer Use helper paths, and related native-host/runtime pointers — with a backup before any repair. That can detect cases where an update/reinstall leaves the visible plugin enabled but the helper/runtime generation is stale or incomplete.It will not treat changing sandbox mode as a universal fix, and it will not synthesize a privileged Computer Use pipe if Desktop never starts/provisions the helper. If all expected local resources line up but no helper process/pipe is created, that remaining failure should be classified upstream.
If anyone here tries WinBridge after reaching the same partial state (
node_replworks, Chrome works, Computer Use pipe missing), please report ✅ / 🟡 / ❌ at https://github.com/zemeng5208/winbridge-recovery/issues/4. Partial results are particularly useful for this case.