Repository navigation
Windows Desktop WSL workspace: node_repl/Browser/Chrome fail during sandbox ACL setup on \\wsl.localhost UNC path #24101
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.519.3891.0
What subscription do you have?
Pro $200
What platform is your computer?
Microsoft Windows NT 10.0.22631.0 x64
What issue are you seeing?
In a Codex Desktop thread attached to a WSL UNC workspace, both the bundled Browser plugin and Chrome plugin fail before any browser automation code can run.
The mcp__node_repl__js tool is exposed, but even a minimal call like:
nodeRepl.write("ping")
fails with:
node_repl kernel exited unexpectedly
node_repl diagnostics: {
"kernel_status": "running",
"kernel_stderr_tail": "windows sandbox failed: setup refresh failed with status exit code: 1",
"reason": "stdout_eof"
}
This also prevents:
@browser / in-app browser automation
@chrome / Chrome extension automation
Sandbox log detail
The short error appears to hide a Windows ACL failure on the WSL UNC workspace path:
setup refresh: spawning ... codex-windows-sandbox-setup.exe
(cwd=\\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\webapp)
write mask check failed on \\?\UNC\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\webapp for sandbox_group:
GetSecurityInfo failed ...: 1
write mask check failed on \\?\UNC\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\webapp for workspace_cap:
GetSecurityInfo failed ...: 1
write ACE grant failed on \\?\UNC\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\webapp:
GetSecurityInfo failed ...: 1
deny ACE failed on ...\.git:
GetNamedSecurityInfoW failed: 1
setup refresh completed with errors
setup error: setup refresh had errors
What steps can reproduce the bug?
-
On Windows with WSL2 Ubuntu, open Codex Desktop.
-
Add/open a project whose workspace root is a WSL UNC path, for example:
\\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\<repo> -
Start a new Codex Desktop thread in that WSL workspace.
-
Confirm the bundled Browser and/or Chrome plugin is enabled.
-
Ask Codex to use Browser or Chrome, for example:
Open example.com using [@Browser](plugin://browser@openai-bundled)or:
Does [@chrome](plugin://chrome@openai-bundled) work? -
The browser skill loads and the
mcp__node_repl__jstool is available, but the Node REPL kernel exits before any browser code can run.
Minimal reproduction without Browser/Chrome-specific code:
nodeRepl.write("ping")Observed result:
node_repl kernel exited unexpectedly
node_repl diagnostics: {
"kernel_status": "running",
"kernel_stderr_tail": "windows sandbox failed: setup refresh failed with status exit code: 1",
"reason": "stdout_eof"
}
Browser-specific reproduction attempted:
if (!globalThis.agent) {
const { setupBrowserRuntime } = await import("file:///C:/Users/<user>/.codex/plugins/cache/openai-bundled/browser/<version>/scripts/browser-client.mjs");
await setupBrowserRuntime({ globals: globalThis });
}
if (!globalThis.browser) {
globalThis.browser = await agent.browsers.get("iab");
}
await browser.nameSession("Example.com");
const tab = await browser.tabs.new();
await tab.goto("https://example.com");Chrome-specific reproduction attempted:
if (!globalThis.agent) {
const { setupBrowserRuntime } = await import("file:///C:/Users/<user>/.codex/plugins/cache/openai-bundled/chrome/<version>/scripts/browser-client.mjs");
await setupBrowserRuntime({ globals: globalThis });
}
if (!globalThis.chromeBrowser) {
globalThis.chromeBrowser = await agent.browsers.get("extension");
}
await chromeBrowser.nameSession("Chrome smoke test");
const openTabs = await chromeBrowser.user.openTabs();Both Browser and Chrome fail before the imports or browser-client setup can complete, with the same node_repl sandbox setup error.
Relevant sandbox log excerpt:
setup refresh: spawning ... codex-windows-sandbox-setup.exe
(cwd=\\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\<repo>)
write mask check failed on \\?\UNC\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\<repo> for sandbox_group:
GetSecurityInfo failed ...: 1
write ACE grant failed on \\?\UNC\wsl.localhost\Ubuntu\home\<user>\src\github.com\<org>\<repo>:
GetSecurityInfo failed ...: 1
deny ACE failed on ...\.git:
GetNamedSecurityInfoW failed: 1
setup refresh completed with errors
setup error: setup refresh had errors
Session id from the failing thread:
0230a6c7bc844e1d83c2ddae4dd5d9f1
Context/token usage does not appear to be relevant. The failure happens at tool startup before user JavaScript runs, including for the one-line nodeRepl.write("ping") check.
What is the expected behavior?
Browser/Chrome automation should work from a WSL workspace, or node_repl should avoid using the WSL UNC workspace as the Windows process cwd / sandbox ACL target.
At minimum, the error should surface the underlying GetSecurityInfo failed / UNC ACL failure instead of only reporting:
windows sandbox failed: setup refresh failed with status exit code: 1
Additional information
WSL bridge CLI: codex-cli 0.133.0-alpha.1
WSL kernel:
Linux THINKPADP16 5.15.153.1-microsoft-standard-WSL2 x86_64 GNU/Linux
Activity
jshaofa-ui commentedon May 23, 2026
openai/codex #24101: Windows Desktop WSL Workspace Sandbox ACL Failures
Issue Summary
Root Cause Analysis
1. WSL File System ACL Translation
Windows Desktop running in WSL workspaces encounters ACL failures because:
2. Specific Failure Points
3. WSL-Specific Factors
/mnt/c/paths vs native WSL paths (\\wsl$\) have different ACL behaviorsFix Approach
Component 1: WSL-Aware ACL Translation
walter-seethaler commentedon Sep 1, 2026
Cross-linking #35380 as the broader reproduction of the same Windows-native WSL-UNC sandbox failure. This issue provides the earlier Browser/Chrome/
node_replACL evidence; #35380 shows that the registered\\wsl.localhostroot also blocks ordinary shell commands, including commands explicitly started from a localC:\directory. Direct Win32 testing there further confirmsGetNamedSecurityInfoWreturning error1for multiple WSL providers.This is therefore not only a Browser-plugin failure. It is a global Windows sandbox initialization failure triggered by a WSL UNC workspace root.
rlh8177 commentedon Sep 6, 2026
Reproduced on 2026-09-06 with Codex Desktop 26.901.6511.0 (codex-command-runner 0.153.4), Windows x64 build 26200, and a WSL UNC workspace (\wsl$\Ubuntu\home<user>\src<repo>). Both exec_command and Computer Use failed before user code ran with helper_unknown_error: setup refresh had errors. The sandbox log shows write ACE check/grant failures on the workspace with GetSecurityInfo error 1, plus deny ACE failures on .git and .codex with GetNamedSecurityInfoW error 1. An escalated read-only command succeeds, confirming the requested shell/WSL command is not the failing layer. This remains reproducible in the current 26.901 app build.