Windows: unified Computer Use facade omits Sky native methods when browser service is also registered
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
On Windows Codex Desktop 26.901.41600, the unified Computer Use facade initializes and exposes the browser service, but does not expose the registered Sky/Windows native Computer Use service. This makes native desktop automation unavailable even though the bundled Sky client implements it.
This is distinct from reports where the native helper or model-facing computer tool is unavailable: the unified cua facade is present and browser methods work, but its trusted-service merge appears to omit Sky methods.
Environment
- Windows 11 x64
- Codex Desktop: 26.901.41600 (Sep 5, 2026)
- unified-computer-use plugin: 26.901.41600
- Bundled
@oai/sky: 0.6.26 - Windows-native task (not WSL)
Actual behavior
The unified launcher starts node_repl with both trusted services:
{
browser: "@oai/browser-desktop/service",
sky: "@oai/sky/service",
}
But runtime introspection shows only the browser-facing facade:
Object.keys(cua)
// [
// "initialize", "getState", "browsers", "getBrowser",
// "createBrowserTab", "getTab", "listBrowsers", "listTabs"
// ]
No Sky/native methods are exposed, including list_apps, list_windows, get_window, launch_app, get_window_state, activate_window, click, scroll, drag, press_key, or type_text. Browser control continues to work.
Expected behavior
With both services registered, cua should preserve the browser API and expose the documented Windows Sky native API (currently snake_case, e.g. cua.list_apps()). The trusted-service loader/merger should not silently drop the second service.
Safe reproduction
- On Windows, start a fresh Codex Desktop task with unified Computer Use enabled.
- Run only:
await cua.initialize();
Object.keys(cua);
- Observe browser methods only;
typeof cua.list_appsandtypeof cua.list_windowsare"undefined".
No application launch, input, or destructive action is needed.
Why this likely is not only a naming mismatch
The bundled Sky Windows client itself implements the snake_case methods above. The reported facade contains no equivalent camelCase native methods either. The evidence therefore points to trusted-service registration/loading or facade merging rather than just a listApps vs. list_apps documentation mismatch.
Request
Please verify the trusted-service loading and merge behavior for a node_repl session initialized with both @oai/browser-desktop/service and @oai/sky/service, and add regression coverage that asserts both the browser API and Windows native API are retained.
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 unified Computer Use launcher and trusted-service loading for a node_repl session registering @oai/browser-desktop/service and @oai/sky/service. Reproduce with await cua.initialize() and Object.keys(cua), then locate or add regression coverage showing that both the browser methods and Windows native methods such as list_apps and list_windows remain available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- desktop, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100