An API for agents to use your computer.

Give agents a workspace of their own. Follow their work in a live preview.

macOS + Linux · CLI + MCP

A real terminal. A real browser. A live agent preview.

29-second development preview. Scripted sequence, real MCP calls.

Open full-size video
What happens in the demo

A Ghostty terminal sits on the left and a browser on the right of a virtual desktop. The terminal runs an Action call that opens the Lattices docs. Its next call creates a second virtual workspace, whose live preview appears over the browser. Further calls navigate that workspace to the docs and read the page title. The entire stage is recorded locally on a Mac. This is a timed script executing real calls, not an agent deciding its next steps live. There is no audio.

Try Action on your Mac

Install Action, grant permissions, and take your first screenshot.

macOS on Apple Silicon · Install Bun first
No source build needed.

  1. Install and launch

    Expect: Action.app opens from Applications. The CLI is available as lats.

    bun add -g @arach/lattices
    lats action install --launch
  2. Allow access

    Expect: Approve Accessibility and Screen Recording in macOS, then run the second command. Both permissions should report granted.

    lats action call permissions.request
    lats action call permissions.snapshot
  3. Take a screenshot

    Expect: The reply reports status: screenshot. Your main display capture opens in Preview. This captures your screen, not a private workspace.

    lats action call capture.screenshotScreen \
      '{"output":"/tmp/action-first.png"}'
    open /tmp/action-first.png

Something not working?

Agent not reachable? Run lats action launch, then retry. Permission denied? Enable Action in System Settings → Privacy & Security, quit and reopen Action, then check permissions again.

Next, connect your agent

The app download includes native capture. Agent-driven browser work and the virtual workspaces in the demo also need the matching MCP runtime and host preflight.

MCP setup and agent instructions

Working with Linux?

Linux uses a remote lattices-host connection, not the macOS app. Available actions depend on the host; macOS overlays and Accessibility are not available there.

Remote Linux setup
AppKit lifecycleScreenCaptureKitAX + OCRCLI + MCP

One local path fromintent to evidence.

An agent or operator calls the local Action runtime, which owns the session, targets, and orchestration. ActionAgent bridges those requests into native macOS work.

Action.app owns AppKit, WebKit, permissions, and capture. The run comes back with its receipts attached, including an explicit finished marker when recording is actually complete.

Action system map
Hover to separate · click to hold
FINISHEDSNAPSHOTSVIDEO + TRACEEVIDENCECAPTURE PROBEACTION.APPAX + WEBKITACTIONAGENTNATIVE MACOSTARGETSSESSIONRUNTIMELOCAL RUNTIMELAUNCHERCLIAGENT + MCPREQUEST
System · Four local planes, one inspectable run

One family, two focused products

Action and Lattices.

Lattices

Unified API for your workspace

Windows, sessions, layouts, and a local API for keeping the whole Mac organized and programmable.

Explore Lattices →
observeactverify
Action

An API for computer use

Target resolution, on-device actions, capture, trace, and review for one inspectable piece of work.

Download Action →

Use Action on its own, or pair it with Lattices when the whole workspace needs to stay organized and programmable.

Built for macOS

See what happened.

Review the video, screenshots, and activity log after a run. Action also records when capture has finished.

01

Find the right control

Action finds buttons and fields through Accessibility and the browser DOM before falling back to screen coordinates.

02

Run on the Mac

Action uses AppKit and ScreenCaptureKit, with access controlled by your macOS permissions.

03

Review the recording

Each run keeps its video, screenshots, activity log, and capture completion status together.

From source

Build it. Launch it. Prove it.

Local commands live in package.json. Run them with bun from products/action.

  • macOS on Apple Silicon
  • Bun and the Swift toolchain
  • Accessibility permission
  • Screen Recording permission
Getting started →
products/action
$ bun install$ bun run native:app:buildAction.app signed and ready$ bun run native:doctorAccessibility: granted · Screen Recording: granted$ bun run native:launchAction.app running

Action for macOS

Give the agent a computer-use path you can review.