Action native
Built into Action.app
Control Mac apps through Accessibility. Add native screenshots, recording and a live view of the agent’s workspace with the Action runtime.
action setup action-cuaRequires Action.appA standalone CLI, MCP server and native Mac app. Give your agent computer use through the engine you choose.
bun add -g @lattices/actionmacOS · CLI, MCP & TypeScript · Install independently
A real terminal. A real browser. A live agent preview.
29-second development preview. Scripted sequence, real MCP calls.
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.
Use Action’s native Mac engine, or connect Codex Computer Use or Cua Driver. Install the CLI once and add the companion app for your chosen engine. Each works through the same CLI, MCP server and TypeScript API.
Built into Action.app
Control Mac apps through Accessibility. Add native screenshots, recording and a live view of the agent’s workspace with the Action runtime.
action setup action-cuaRequires Action.appOpenAI
Bring the computer-use engine from the ChatGPT desktop app into your Action workflow.
action setup codex-cuaRequires the Computer Use pluginCua / trycua
Connect Cua’s local Mac driver for Accessibility actions, screenshots, keyboard and pointer input.
action setup trycua-cuaRequires CuaDriver.app and cua-driverObserve and semantic Accessibility actions are enabled by default. Keyboard and pointer input require explicit permission with --allow attention.
You select the engine for every command. Compare actions and engine requirements
Install Action.app, grant permissions, and take your first screenshot.
macOS on Apple Silicon · Install Bun first
No source build needed.
Expect: Action.app opens from Applications. The CLI is available as action.
bun add -g @lattices/action
action install --launchExpect: Approve Accessibility and Screen Recording when macOS asks. Setup waits for both, then reports action-cua: ready.
action setup action-cuaExpect: The reply reports status: screenshot. Your main display capture opens in Preview. This captures your screen, not a private workspace.
action call capture.screenshotScreen \
'{"output":"/tmp/action-first.png"}'
open /tmp/action-first.pngAgent not reachable? Run action launch, then retry. Permission denied? Enable Action in System Settings → Privacy & Security, quit and reopen Action, then run action status.
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 instructionsLinux 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 setupWith Action’s native engine, an agent or operator calls the local runtime. It owns sessions, targets and orchestration, while ActionAgent bridges 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’s native runtime keeps screenshots and an activity log with each session. When you record a run, it also tracks when capture has finished.
Action finds buttons and fields through Accessibility and the browser DOM before falling back to screen coordinates.
Action uses AppKit and ScreenCaptureKit, with access controlled by your macOS permissions.
A recorded native session keeps its video, screenshots, activity log, and capture completion status together.
Local commands live in package.json. Run them with bun from 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 runningPart of the Lattices family. Install and use Action on its own.