Windows Computer Use @oai/sky exports mismatch still reproduces on 26.609.30741 / @oai/sky 0.4.10
What issue are you seeing?
Windows Computer Use still fails during bootstrap because the bundled computer-use-client.mjs imports an internal @oai/sky subpath that the bundled @oai/sky package does not export.
This appears to be the same packaging/exports contract issue as openai/codex#27287, but it is still reproducible after the bundled Computer Use plugin/runtime updated to a newer build.
Slightly pointed note: this is exactly the kind of bundled dependency mismatch that should be caught before release. Users should not need to become package.json janitors after every Codex desktop/runtime update just to use a first-party bundled plugin.
Exact error
Package subpath './dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js' is not defined by "exports" in C:\Users\<user>\AppData\Local\OpenAI\Codex\runtimes\cua_node\789504f803e82e2b\bin\node_modules\@oai\sky\package.json
Environment observed
- OS: Windows
- Codex Desktop package path:
C:\Program Files\WindowsApps\OpenAI.Codex_26.608.1337.0_x64__2p2nqsd0c76g0\app\Codex.exe - Computer Use plugin path:
C:\Users\<user>\.codex\plugins\cache\openai-bundled\computer-use\26.609.30741 @oai/skyversion:0.4.10@oai/skypackage path:C:\Users\<user>\AppData\Local\OpenAI\Codex\runtimes\cua_node\789504f803e82e2b\bin\node_modules\@oai\sky- Current
@oai/sky/package.jsononly exports.before the workaround.
Reproduction steps
- In Codex Desktop on Windows, invoke Computer Use /
@Computer. - Use the supported bootstrap from the bundled Computer Use skill:
if (!globalThis.sky) {
const { setupComputerUseRuntime } = await import(
"C:/Users/<user>/.codex/plugins/cache/openai-bundled/computer-use/26.609.30741/scripts/computer-use-client.mjs"
);
await setupComputerUseRuntime({ globals: globalThis });
}
globalThis.apps = await sky.list_apps();
- The import fails before
sky.list_apps()can run, with the package exports error above.
What appears to be happening
computer-use-client.mjs imports this internal module:
import { WindowsComputerUseClientBase } from "@oai/sky/dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js";
That file exists on disk in the bundled runtime:
...\node_modules\@oai\sky\dist\project\cua\sky_js\src\targets\windows\internal\computer_use_client_base.js
But @oai/sky/package.json exports only:
"exports": {
".": "./dist/project/cua/sky_js/src/index.js"
}
So Node rejects the internal subpath import before the Computer Use client reaches any Windows helper/native pipe logic.
Workaround that confirms the cause
Adding the missing subpath export to the current runtime's @oai/sky/package.json allows the normal computer-use-client.mjs bootstrap to proceed:
"./dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js": "./dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js"
After applying that local workaround and resetting the JS kernel:
sky.list_apps()succeeded.- It returned 40 apps.
get_window_state({ include_text: true })successfully read state from an existing Windows app window.
This is not a durable fix because Codex updates create a fresh cua_node/<hash> runtime, so the local package edit is lost on the next runtime update.
Expected behavior
Computer Use should bootstrap from the first-party bundled plugin without users editing files under AppData\Local\OpenAI\Codex\runtimes\cua_node\...\node_modules.
A first-party bundled plugin should either:
- import only exported/public
@oai/skyentrypoints, or - ship an
@oai/skypackage that exports the internal subpath it imports.
Additional context
This is one of several recent Windows Computer Use incompatibility failures reported in this repository, including native pipe/helper path issues and missing nodeRepl.nativePipe / SKY_CUA_NATIVE_PIPE_DIRECTORY wiring. This one is earlier and more deterministic: package import fails before the native helper is even contacted.
6 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding a broader failure history from the same Windows host because this has not been a one-off break. The
@oai/skyexports mismatch is the latest deterministic failure, but this machine has hit multiple distinct Windows Computer Use breakpoints across recent Codex desktop/plugin updates.Pointed note #1: Windows Computer Use currently feels less like a first-party bundled feature and more like a tour of every fragile seam between the app, marketplace cache, native helper, Node runtime, and plugin package graph.
Pointed note #2: Users should not need to debug stale native hosts, missing helper paths, missing native pipe metadata, and broken package exports just to let a first-party Codex plugin click a Windows app.
Repeated failure classes observed on this host
1. Bundled marketplace / Chrome native-host lock broke Computer Use helper availability
Observed log chain across earlier runs included:
and:
This was followed by the Computer Use native helper path failure:
In that state, the temporary bundled marketplace could be incomplete, e.g. containing only
chromeand notcomputer-use, making the laterComputer Use native pipe path is unavailablesymptom unsurprising.2. Native pipe metadata was not injected into the Node REPL runtime
Separate from missing helper paths, sessions on this machine also failed at the plugin/runtime boundary with missing runtime metadata:
Runtime probes showed the relevant Computer Use bridge metadata was absent in the JS execution context:
This failure class is different from the helper executable not starting. The app may have a live-looking
codex-computer-use-*pipe in logs, but the plugin bootstrap still cannot connect ifnodeRepl.nativePipe/SKY_CUA_NATIVE_PIPE_DIRECTORYis not present in the execution context.3. Desktop/session-state failure:
GetCursorPosaccess deniedAnother distinct class observed on this host:
This is not the same as
missing-helper-pathand not the same as the@oai/skypackage export mismatch. It points at Windows desktop/session state or access context. It needs to be classified separately; otherwise troubleshooting bounces between unrelated fixes.4. Package export mismatch now reproduced across runtime/plugin updates
The current issue is the most deterministic one:
This was first observed here with:
26.608.12217@oai/sky0.4.8-202606020558-pr-981870-f570e0604110cua_node\2f053e67fec2d258After a Codex/plugin/runtime update, the same class still reproduced with:
26.609.30741@oai/sky0.4.10cua_node\789504f803e82e2bIn both cases, the internal file existed on disk, but
@oai/sky/package.jsonexported only.. Adding the missing subpath export locally allowed the normal first-partycomputer-use-client.mjsbootstrap to proceed andsky.list_apps()to succeed.5. Verification after workaround
After applying the local
@oai/skyexport workaround to the active runtime and resetting the JS kernel:That makes the package export mismatch a confirmed blocker, not a speculative diagnosis.
Why this matters
These failures are distinct but clustered in the same first-party path: bundled marketplace reconciliation, native helper startup, native pipe metadata injection, Windows desktop access, and package import compatibility. When any one layer fails, Computer Use becomes unusable, often before it can even list apps.
Please treat Windows Computer Use as a versioned compatibility contract across the Codex app, bundled plugin cache,
cua_noderuntime, and@oai/sky, not as a best-effort collection of moving parts that users have to patch after each update.The durable fix should be upstream: ship a
computer-use-client.mjsthat imports public/exported@oai/skyentrypoints, or ship an@oai/skypackage that exports the internal subpath it requires, and harden the native pipe/runtime injection path so helper readiness actually translates into a usable Computer Use JS context.I also reproduced this on another Windows host and opened #27826 before seeing this issue.
Additional data point:
26.609.307410.130.026.609.30741@oai/sky:0.4.1010.0.26200, build26200, 64-bitI cleared and reinstalled both:
~\.codex\plugins\cache\openai-bundled\computer-use%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_nodeAfter Codex re-downloaded the runtime, the same versions came back and the same
ERR_PACKAGE_PATH_NOT_EXPORTEDfailure reproduced. Adding the missingexportsentry locally to@oai/sky/package.jsonallowed the normal Computer Use bootstrap to succeed;sky.list_apps()returned 40 apps and Computer Use was able to find/activate Google Chrome.Closing #27826 as a duplicate of this issue.
Still reproducible on my end. It seems like this might be relatively straightforward to diagnose, but I haven't seen a fix yet. Ideally, users shouldn't need to manually patch package.json themselves as a workaround.
Closing as a duplicate of #27287.
Fresh repro on a newer Windows Store build.
Environment
OpenAI.Codex_26.611.8604.0_x64__2p2nqsd0c76g0codex doctor:0.140.0-alpha.19,windows-x86_64Windows 10.0.26200reported by doctorcomputer-use@openai-bundled, version26.611.62324cua-node-0.0.1-20260609232601-73ffe8b8261e-win32-x64.zip%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\a89897d3d9baa117\...@oai/skyversion:0.4.13@oai/sky/package.jsonexports only:Repro
Using the bundled Computer Use skill's documented bootstrap:
Actual result
Still fails before reaching any Windows helper action:
The target file exists physically at:
but the package export map blocks the first-party plugin import.
Supported repair attempts tried
codex doctor: no install/config failure for plugins or MCP; only unrelated warnings.codex update: cannot update this Store install, reports manual/unknown install method.winget upgrade --id 9PLM9XGG6VKS --source msstore: no available upgrade.codex plugin remove computer-use@openai-bundled --jsoncodex plugin add computer-use@openai-bundled --jsonSame exports error remains.
Additional related observation
After bypassing only the package-export problem locally in-memory by importing the existing runtime file via absolute
file:///...URL, the next blocker is the native bridge object:At the same time,
config.tomlcontains the expected MCP env values, includingSKY_CUA_NATIVE_PIPE=1andSKY_CUA_NATIVE_PIPE_DIRECTORY=\\.\pipe\codex-computer-use-<uuid>, and the named pipe exists under\\.\pipe\.So there appear to be two failures on this newer build:
computer-use-client.mjsand bundled@oai/sky@0.4.13;node_repltool session is not receiving/exposing the privileged Computer Use native pipe fields even though Codex config has them and the pipe exists.No manual runtime/package patch was applied; only the supported plugin remove/add path was used.