v0.3.11
August 21, 2026Windows catches up with Linux: the same fine-grained input, the same region capture, and the same way of asking a desktop to describe what is on screen.
The input primitives Windows was missing
Clicks now take held modifiers and a repeat count, /mouse_down and /mouse_up let you act while the button is held for drag-select and spreadsheet ranges, and /hold_key holds a key for a duration where /key only taps. The repeat count is applied inside the desktop, so a double- or triple-click no longer depends on how long each request took to arrive, and an unrecognised modifier is refused outright rather than dropped. A partial set performs a different gesture and would otherwise report success for it.
Region screenshots
GET /screenshot?region=x,y,w,h returns one rectangle, captured at the display’s own resolution. The returned width and height describe the crop rather than the screen, so a caller scaling coordinates against a cropped image does not land every click somewhere else.
Ask an action to describe the screen it left behind
Add ?context=1 to an action and the response also carries the pointer position, the focused window, and every window grouped by application with its geometry. It is the same shape the Linux image returns, so one format reads from both. A focused Chrome window also reports the elements on the page in screen coordinates, so a click can name what it is aiming at instead of estimating a position off a screenshot. Without the parameter, responses are byte-for-byte what they were.
Stricter credential checksSecurity
A Windows desktop is stricter about what it will accept as a valid credential. Update your computers to pick this up.
Chrome page elements are actually reachableFix
The browser could report no page elements at all, with nothing explaining why. Fixed.