Windows Desktop WSL workspace: node_repl/Browser/Chrome fail during sandbox ACL setup on \\wsl.localhost UNC path
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:
``text``
\\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:
``text``
Open example.com using [@Browser](plugin://browser@openai-bundled)
or:
``text``
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
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗