Skip to content

feat(drivers): cua-driver 0.47.10 on macOS - #616

Merged
earakely-scale merged 3 commits into
mainfrom
edgararakelyan/cua-driver-0-47-macos
Nov 12, 2026
Merged

earakely-scale merged 3 commits into
mainfrom
edgararakelyan/cua-driver-0-47-macos

Conversation

@earakely-scale

@earakely-scale earakely-scale commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

What

macOS computers install CuaDriver.app from cua-driver-rs 0.47.10 instead of 0.38.0:

  • env.toml [install.macos]: the release tarball's URL and sha256.
  • install-app.sh: the tarball's folder.
  • driver.py EXECUTABLES["macos/arm64"]: CuaDriver.app's executable sha256.
  • mcp-macos.json: what 0.47.10's cua-driver mcp serves.
  • env.toml [[known_failures.macos]] and the drivers README: the P6 and P7 waivers say what 0.47.10 does.

Linux's X11 build and Windows stay at 0.38.0. Omarchy is already on 0.47.4.

How mcp-macos.json was made

It's cua-driver mcp --direct on an EC2 Mac: initialize, then tools/list and resources/list, keeping the fields the drivers README names. Serialization follows the pinned file's conventions: every tool field present (null when absent), resources' missing fields left out, two-space JSON.

To check the method, the same dump of 0.38.0 reproduces the current mcp-macos.json byte for byte.

What changed in 0.47.10:

  • The same 62 tools and 11 resources.
  • Twelve input schemas gain optional fields: post_action_wait on the input tools, screenshot_format and screenshot_quality on get_window_state. Nothing the driver sends was renamed or removed.
  • Ten descriptions, fifteen output schemas and the instructions changed.

Gate 3 on 0.47.10

13 macOS computers (the bench's BenchLab and three multi-app desktops) were composed at this branch's first commit on 11 EC2 Macs ([sandbox] default = "lume"). Every one is ready, with the same full probe: 49 checks passed, 1 not applicable, 1 failed.

  • P6, typed text arrives as key events: fails in all 13, as waived. The text arrives whole (P6's Unicode check passes), but the fixture sees no key events for H, W, space or comma. Desktop type_text sends each character as a key-down and key-up of keycode 0 carrying the character as Unicode (type_text_global in cua-driver-rs 0.47.10). 0.38.0's waiver blamed only the key-up, so its reason is rewritten.
  • P7, a drag starts and ends where it says: passes in all 13. The waiver stays. 0.47.10's foreground drag posts the same events as 0.38.0's (drag_at_xy_foreground_observed), and 0.38.0's failure was intermittent: feat(computer): macOS computers as VM bundles composed on a Mac, the lume provider, and cua-driver on macOS #484 saw it pass in one probe and fail in an earlier one. A probe it passes records it under unused_known_failures, so it's visible if it never fails again.

Does it work

  • The bench's macOS cua-driver rerun ran on these computers: 7 models × 90 trials, 630 in all, every one exported. Claude Sonnet 5.5 passes 43 of 50 foreground trials (39 on 0.38.0) and 23 of 40 background ones (23).
  • computer-ready held on every deploy: the executable's sha256 and the 62 pinned tools with their input schemas.

Tests

  • tst/unit/drivers, tst/unit/bundle/shipped_bundles_test.py, tst/unit/bundle/computer_driver_env_test.py, tst/unit/env/envs/test_computer_env.py: 345 passed.
  • ruff check src/agent_env/drivers tst/unit/drivers: clean.
  • macOS has no CI tier, so gate 3 above ran by hand on the EC2 Macs.

🤖 Generated with Claude Code

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; no actionable defect was established.

Summary

Updates macOS to cua-driver 0.47.10 and refreshes its pinned tool descriptions and schemas.

  • macOS arm64 computers now install CuaDriver 0.47.10.
  • macOS callers now see CuaDriver 0.47.10's updated tool options and guidance.

Validation here was limited to code inspection; no native macOS run was performed.

Reviews (1) · Last reviewed commit: "fix(drivers): cua-driver 0.47.10's macOS..." · Reviewed by Greptile

earakely-scale and others added 3 commits November 11, 2026 08:02
macOS computers install CuaDriver.app from the cua-driver-rs 0.47.10 release in place of 0.38.0: the tarball's URL
and sha256, its folder in install-app.sh, the app executable's sha256 in EXECUTABLES, and mcp-macos.json from what
0.47.10's `cua-driver mcp` serves. Its 62 tools are the same; twelve input schemas gain optional fields
(post_action_wait on the input tools, screenshot_format and screenshot_quality on get_window_state), and some
descriptions, output schemas and the instructions changed. Linux's X11 and Windows builds stay at 0.38.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Gate 3 on 13 macOS computers composed at 0.47.10 on EC2 Macs: P6 fails in every one, with no key events for H, W,
space or comma, since desktop typing sends each character as keycode 0 with the character as Unicode; P7 passes in
every one. P7's waiver stays: 0.47.10 posts a drag's events as 0.38.0 did, and 0.38.0's failure was intermittent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@earakely-scale
earakely-scale marked this pull request as ready for review November 11, 2026 23:43
@earakely-scale
earakely-scale requested a review from a team as a code owner November 11, 2026 23:43
@earakely-scale
earakely-scale merged commit 8265a6e into main Nov 12, 2026
31 of 34 checks passed
@earakely-scale
earakely-scale deleted the edgararakelyan/cua-driver-0-47-macos branch November 12, 2026 00:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant