← All tools

agent-device

Popularity 65 Updated AI & Agents

Agent-native CLI for AI app automation across iOS, Android, tvOS, Android TV, macOS, Linux, and web.

npmauto-collected

Installation

npm
npm install -g agent-device

Install with npm.

<a href="https://www.callstack.com/open-source?utmcampaign=generic&utmsource=github&utmmedium=referral&utmcontent=agent-device" align="center" <picture <img alt="agent-device: device automation CLI for AI agents" src="website/docs/public/agent-device-banner.jpg" </picture </a

---

agent-device

Let your coding agent verify its changes in the running app.

agent-device lets coding agents inspect, control, and verify apps on iOS, Android, tvOS, Android TV, Amazon Vega OS TV through the Vega Virtual Device (VVD), web, macOS, and Linux. Agents can read token-efficient accessibility snapshots where supported, find elements by ref or selector, run device actions, and save evidence for review. Initial Vega OS support is VVD-only and covers discovery, app lifecycle, and complete TV-remote control; physical Fire TV, capture, and selector backends remain unsupported.

Your coding agent or QA tool reads each result and chooses the next command. agent-device runs the command and saves evidence when asked.

agent-device uses the inspect-act-verify process from Vercel's agent-browser for mobile, TV, and desktop apps. Basic --platform web support runs agent-browser in the same session and replay system.

Quick start

Install the CLI and check setup. It requires Node.js 22.12 or newer; web automation requires Node.js 24 or newer. See Installation for target requirements.

npm install -g agent-device@latest
agent-device doctor
agent-device help workflow

Run agent-device doctor yourself before handing the CLI to an agent. The installed CLI help defines current behavior. agent-device help workflow links to guides for debugging, replay, React Native profiling, and other tasks.

Add a contact in the built-in iOS Contacts app:

# Start a session.
agent-device open Contacts --platform ios

# Inspect the screen. The example below shows the output; refs vary.
agent-device snapshot -i
# @e2 [button] "Add"

# Use the ref and wait for the UI to settle.
agent-device press @e2 --settle
# The diff includes:
# + @e7 [text-field] "First name"

The next diff shows changed values and current refs:

- @e7 [text-field] "First name"

+ @e14 [text-field] "Ada"

= @e15 [text-field] "Last name"

Capture evidence and close the session.