Skip to content

Releases

v1.5.3

Choose a tag to compare

@samuelfaj samuelfaj released this 16 Oct 20:55

Fix background exact-window input, verify accepted text writes without duplicate retries, and bound desktop capture. Based on cua-driver. Validated release build and native Slack delivery; 139 regression tests passed before the final narrow accepted-AXValue fix, followed by 26 affected tests. macOS arm64 binary included.

v1.5.2

Choose a tag to compare

@samuelfaj samuelfaj released this 16 Oct 13:30

Agent cursor now draws a macOS-style arrow pointer in the session color (default #42A5F5) with a white outline, shadow and session label pill; dot and crosshair themes redrawn; hotspot aligned to the target point.

v1.5.1 — foreground input works; agent cursor always visible

Choose a tag to compare

@samuelfaj samuelfaj released this 16 Oct 04:22
  • Foreground delivery no longer fails with 'foreground activation or AXRaise failed' (SwiftUI windows such as Calculator reject AXRaise); it now requires the target app frontmost and the exact window focused.
  • Background pixel clicks/double clicks press the hit-tested AX control; background Cmd chords press their menu item.
  • The first mutation waits out the activity-monitor warm-up instead of returning activity_monitor_unavailable.
  • list_windows no longer lists off-screen untitled helper surfaces as minimized windows.
  • The agent cursor overlay appears for every pointer action, with or without a session.
  • Chrome extension 1.4.1: trusted clicks and keystrokes reach background tabs and fail loudly when dropped; browser_snapshot waits for loading; stale refs report a clear error. Reload the unpacked extension after updating.

v1.5.0

Choose a tag to compare

@samuelfaj samuelfaj released this 16 Oct 03:24

cua-driver parity (inspired by trycua/cua libs/cua-driver), Jev-first.

  • Apps and desktop: list_apps, launch_app (background), kill_app, bring_to_front, get_accessibility_tree, get_desktop_state, get_screen_size, set_window_frame, clipboard_read/clipboard_write, check_permissions, health_report, get_config/set_config.
  • Input: click, double_click, drag, type_text, press_key, hotkey, move_cursor, get_cursor_position, invoke_menu, verify_state. Background by default; delivery_mode:"foreground" fronts the window and restores the previous app. Mutations refuse with human_activity while you are using the target.
  • verify_state expect.criteria: natural-language checks answered by Jev over filtered labels (no screenshots, values or secrets); without a Jev key the filtered evidence is returned for the agent.
  • jev_decide browser: true: Jev picks the next click in the owned Chrome tab.
  • Sessions, agent cursor overlay (click-through, never moves your pointer), trajectory recording (typed text redacted) and replay.
  • Chrome extension 1.4.0: browser_navigate, browser_click, browser_type, browser_pointer, browser_dialog, browser_set_input_files, browser_download, page. Uses chrome.debugger only during an action (Chrome shows its debugging bar meanwhile); new debugger and downloads permissions — reload the extension.

v1.4.3 — screenshots fail fast instead of hanging

Choose a tag to compare

@samuelfaj samuelfaj released this 15 Oct 23:24
  • The whole screenshot capture (ScreenCaptureKit plus Quartz fallback) has a 12s deadline; a wedged capture service can no longer freeze the call or hold the per-app lock.
  • After a capture timeout, screenshots fail immediately with screen_capture_stalled_retry_later for 30s instead of waiting the full deadline every time.
  • ScreenCaptureKit timeouts and missing shareable content fall back to Quartz window capture.
  • Includes v1.4.2: on-screen-only window lookup (~2x faster screenshots).

If screenshots keep timing out after reinstalling, macOS Screen Recording permission for the binary path is stale: remove and re-add mac-use-mcp in System Settings > Privacy & Security > Screen & System Audio Recording.

v1.4.2 — screenshots no longer hang

Choose a tag to compare

@samuelfaj samuelfaj released this 15 Oct 23:02
  • Screenshot capture is bounded: ScreenCaptureKit lookup times out after 5s and image capture after 10s, so a wedged capture service can no longer hold the per-app lock and freeze later mac-use calls.
  • Faster screenshots: the window lookup lists only on-screen windows (about 2x faster end-to-end in local tests: ~0.3s vs ~0.65s per screenshot).

v1.4.1

Choose a tag to compare

@samuelfaj samuelfaj released this 05 Oct 20:36

Fix click_element/set_value on SwiftUI apps (e.g. Calculator): kAXErrorNoValue is treated as an absent attribute instead of aborting semantic search.

v1.4.0

Choose a tag to compare

@samuelfaj samuelfaj released this 05 Oct 20:10

New features:

  • run_subtask: Jev observe-decide-act loop with risk contract, allowed_risks and secret_inputs (secrets redacted).
  • set_value and menu_shortcut tools; element_id (ax_) on click_element and set_value.
  • get_ui_tree OCR perception (ocr: auto|always|never).
  • UI settling (settle_ms/settled) after native actions.
  • AX-only tools work on minimized windows; allowed_risks guards on popup items and menu shortcuts.

Behavior change: browser_act now returns a fresh snapshot; refs from the previous snapshot are stale.

Thanks to shhivv/arc-cua (https://github.com/shhivv/arc-cua) for the inspiration.

v1.3.0 — Chrome extension stays connected

Choose a tag to compare

@samuelfaj samuelfaj released this 04 Oct 04:38

The Chrome extension now stays connected on its own.

  • It connects when Chrome starts the extension, retries every 30 seconds through a chrome.alarms keep-alive, and reconnects about 1 second after a long-lived connection drops.
  • Clicking the icon no longer turns it OFF; when it is disconnected, a click retries at once.
  • The extension now requests the alarms permission (version 1.3.0). Reload the unpacked extension in chrome://extensions after updating.
  • README (English, Spanish, Portuguese) updated. The MCP server binary has no code changes since v1.2.0.

Assets: the mac-use skill folder, the Chrome extension folder (zip), and a release build of mac-use-mcp for Apple silicon (unsigned). SHA256SUMS lists checksums.

Validation: Chrome extension tests (13) passed with a mocked Chrome API, including reconnect after a drop and click-while-connected.

mac-use v1.2.0

Choose a tag to compare

@samuelfaj samuelfaj released this 03 Oct 19:09

mac-use Chrome tabs now live in their own tab group, out of your way.

  • Tabs opened by browser_open are placed in a collapsed, grey "mac-use" tab group in that window. Later sessions reuse the same group; its collapsed state is left as you set it.
  • Moving a tab out of the group, or selecting it, gives control back to you (human_activity).
  • Grouping is best-effort: if Chrome refuses it, browser_open still works.
  • The extension now requests the tabGroups permission (version 1.2.0). Reload the unpacked extension in chrome://extensions after updating.
  • Skill and README (English, Spanish, Portuguese) updated.

Assets: the mac-use skill folder, the Chrome extension folder (zip), and a release build of mac-use-mcp for Apple silicon (unsigned). SHA256SUMS lists checksums.

Validation: Chrome extension tests (12) passed, including group creation, reuse, ungroup takeover and grouping failure. Not yet exercised in a live Chrome window at release time.