Windows Computer Use fails with spawn EPERM; elevated sandbox setup fails on WindowsApps ACL

Open
#37,415 13 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
38/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
node.js

Research direction

Reproduce the failure from the documented @oai/sky initialization and sky.list_windows() call, then inspect the Windows helper launch path named in @oai/sky/windows/internal/helper_transport.js. Compare sandboxed and unsandboxed child-process behavior, and review the elevated setup's WindowsApps ACL failure. Done means the signed helper launches or connects in the supported sandbox modes and elevated setup completes without the reported ACL error.

Written by the indexing model from the issue text.

Description

app bug computer-use sandbox tool-calls windows-os
What version of the Codex App are you using (From “About Codex” dialog)?

OpenAI.Codex 26.803.5235.0 (Computer Use plugin 26.803.41515; bundled Codex CLI 0.147.0-alpha.6.5; @oai/sky 0.6.2)

What subscription do you have?

Unknown / not displayed in the Codex App

What platform is your computer?

Windows 11 Pro 25H2, build 26200.8973, x64; Codex installed as AppX/MSIX

What issue are you seeing?

The bundled Computer Use plugin cannot perform its first read-only operation on Windows. Importing @oai/sky succeeds, but await sky.list_windows() fails immediately with:

Error: spawn EPERM
    at ChildProcess.spawn (node:internal/child_process:421:11)
    at spawn (node:child_process:796:9)
    at ...\@oai\sky\...\windows\internal\helper_transport.js

The helper path (PII redacted) is:

C:\Users\<user>\AppData\Local\OpenAI\Codex\runtimes\cua_node\f1bf3cd3a5929acd\bin\node_modules\@oai\sky\bin\windows\codex-computer-use.exe

Every Computer Use operation fails before connecting to the signed bundled helper because sandboxed Node child-process creation returns EPERM. Updating system Node.js does not affect this because Computer Use uses its bundled runtime.

What steps can reproduce the bug?
  1. Install/enable computer-use@openai-bundled in the Windows Codex desktop app.
  2. Start a fresh task.
  3. Initialize the documented runtime:
if (!globalThis.sky) {
  const { sky } = await import("@oai/sky");
  globalThis.sky = sky;
}
  1. Run the first read-only operation:
await sky.list_windows();
  1. Observe Error: spawn EPERM.

Reproduces after a full Windows restart, clean app reinstall, Computer Use plugin/runtime refresh, and Node kernel reset.

What is the expected behavior?

sky.list_windows() should launch or connect to the bundled signed helper and return the available Windows application windows. Computer Use should work using the permission settings exposed by the desktop app.

Additional information

Control tests:

  • Bundled cua_node is Node.js v24.14.0 and is signed by OpenAI.
  • Outside the Codex sandbox, that exact bundled Node executable successfully spawns cmd.exe and prints child-ok.
  • Inside the Computer Use/Node sandbox, spawning cmd.exe, Node itself, or codex-computer-use.exe returns EPERM.
  • Updating system Node.js to v24.18.0 had no effect.
  • No matching Microsoft Defender, AppLocker, or current Code Integrity block was found. Runtime executables have valid signatures and readable/executable ACLs.

The alternative elevated Windows sandbox also cannot initialize. The app displays “Windows setup didn't finish”. Setup creates sandbox users and WFP filters, then fails while adding a read ACE to the protected WindowsApps package directory:

grant read ACE failed ... for sandbox_group: SetNamedSecurityInfoW failed: 5
read ACL run completed with errors
setup error: read ACL run had errors

Returning to unelevated mode removes the setup banner but Computer Use still fails with spawn EPERM.

Related reports:

Please investigate the Windows sandbox child-process launch policy and the elevated sandbox setup's handling of protected WindowsApps ACLs.

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.