computer lets an expert operate your desktop directly: native applications, games, any interface without a DOM. It is the lowest-level interaction tool available, and the one where understanding the constraints matters most.
Activation
profy-computer is user_selectable: true with requires: { desktop_connected: true }. Both conditions are mandatory — you must enable it in the plugin panel and be running Profy Desktop. The plugin never activates in a cloud sandbox.Element addressing: prefer tokens, avoid coordinates
This is the key to usingcomputer well and the easiest place to get stuck. cua-driver 0.17 has strict addressing rules:
Tokens go stale. Taking another
get_window_state snapshot of the same window invalidates the previous batch, producing stale_element_token. The right response is to re-snapshot and retry, not to fall back to coordinates.
Standard workflow
The 18 actions
Observation
Action
Phantom cursor: move is hard-disabled
Callingmove returns this error directly:
- Accessibility-addressed clicks dispatch events through the AX API and never touch the cursor
- Pixel-coordinate clicks save and restore the cursor position in the driver layer
Background key delivery and its blind spot
keypress defaults to delivery_mode="background", which does not steal focus. The cost: native application menu shortcuts (Cmd+N, Cmd+F, and so on) may be silently ignored in the background — no error, nothing happens.
The correct handling order:
- Verify with
get_window_stateafter the keypress and notice nothing changed - Retry once with
delivery_mode="foreground"(this does steal focus) - Or switch to
invoke_menu, which goes through the accessibility menu — neither stealing focus nor being ignored
invoke_menu is the better default.
Automatic pixel fallback
When a token-addressed click is refused by the accessibility layer, the tool automatically performs one pixel retry: it re-snapshots, locates the element by the index parsed out of the failed token, and clicks the center of its frame. That fallback requireswindow_id to have been supplied. Without it, the original error is returned untouched. So pass window_id alongside token addressing even though the token alone would work.
Failures and what to do
Execution path
screenshot is translated at the driver layer into get_desktop_state (full screen) or get_window_state (window-scoped) — cua-driver has no standalone screenshot command.
The underlying driver is trycua/cua-driver-rs, pinned to 0.17 in the desktop platform.ts. Every addressing constraint above is the behavior of that version.
How it divides work with chrome and browser
Prefer
chrome or browser for anything on the web: they do not depend on screen resolution and are far more stable. Reserve computer for cases where there is no other way in.
Keep reading
Chrome
Control your own browser, sessions included
Browser
The isolated sandbox browser
Record and replay
Turn a desktop sequence into a reusable flow
Tool catalog
Full parameters for every action

