Computer Use fails on Windows before any app can be controlled (`EPERM` on bundled runtime path)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
Summary
The official Computer Use plugin cannot initialize on Windows. This is not specific to Edge: Computer Use fails before it can enumerate or control any desktop application.
The failure occurs when the sandboxed Node REPL loads the bundled Computer Use package:
EPERM: operation not permitted, lstat '%LOCALAPPDATA%\OpenAI\Codex'
Impact
- Computer Use cannot list, launch, inspect, or control any Windows app.
- Edge, Chrome, Beeper, Blender, and other desktop applications are all affected.
- Other Codex functions continue to work.
Environment
- OS: Windows
- Installed AppX package:
OpenAI.Codex 26.803.10989.0 - Desktop client version reported in current logs:
26.803.81509 - Current Computer Use runtime directory:
%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\23828fd353da361d - Plugin: official bundled Computer Use plugin
Reproduction
- Install and enable the official Computer Use plugin and its server/skill toggles.
- Start a Codex chat and request a basic Computer Use action, such as listing available apps or opening Edge.
- The Computer Use bootstrap attempts to import
@oai/skyinnode_repl. - Initialization fails immediately with the
EPERM/lstaterror above.
Expected result
The bundled @oai/sky package loads, after which Computer Use can enumerate permitted applications and request any necessary approval.
Actual result
The import fails before an app is selected or launched. Changing Edge permissions or testing a different application therefore does not affect the error.
Diagnostic observations
- The same bundled Node executable can successfully run
fs.lstaton%LOCALAPPDATA%\OpenAI\Codexwhen invoked directly outsidenode_repl. - Inside
node_repl, access to the workspace,%USERPROFILE%\.codex, and the temporary directory succeeds, butlstaton%LOCALAPPDATA%\OpenAI\CodexreturnsEPERM. NODE_REPL_NODE_MODULE_DIRSpoints to the bundled runtime'snode_modulesdirectory.NODE_REPL_TRUSTED_CODE_PATHSexplicitly includes that same runtimenode_modulesdirectory.- This suggests a Windows sandbox/path-policy mismatch: the module path is configured as trusted but its parent runtime path is denied to the process that must load it.
- Windows app repair, restarting the app, and re-enabling Computer Use did not restore functionality.
Request
Could you confirm whether this is a known Windows Computer Use sandbox regression? In particular, please check whether the Node REPL sandbox is expected to allow lstat and module resolution under %LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node.
A fixed build or a targeted safe workaround would be preferable to resetting or uninstalling the app, because local Codex sessions and settings should not need to be removed to repair a bundled runtime access issue.
Privacy note
No project files, conversation transcripts, email content, authentication tokens, or unreviewed app logs are included in this report. Additional sanitized diagnostics can be provided if required.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the node_repl bootstrap and the reported NODE_REPL_NODE_MODULE_DIRS and NODE_REPL_TRUSTED_CODE_PATHS settings. Reproduce the Windows comparison between direct fs.lstat and sandboxed lstat for the bundled runtime path, then trace the sandbox/path-policy decision. Done means @oai/sky imports successfully and Computer Use can reach application enumeration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- operating-systems, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100