Labsco
callstackincubator logo

agent-device

β˜… 3,100

from callstackincubator

Discovery router for the agent-device CLI with status, install, help, prompts, and resources

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup
<a href="https://www.callstack.com/open-source?utm_campaign=generic&utm_source=github&utm_medium=referral&utm_content=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

npm version CI License: MIT Glama MCP server

Mobile app verification for AI agents.

A device automation CLI for real apps on iOS, Android, TV, web, and desktop. Agents get token-efficient snapshots, semantic refs, and evidence captured only when needed.

agent-device lets coding agents open apps, inspect the current UI, interact with visible elements, and collect debugging evidence through one CLI. Use it when an agent needs to verify what actually happens on a device, not just reason about code.

The CLI is the agent's hands, eyes, and evidence collector; it is not the brain. Your coding agent or QA harness reads the task, interprets the current screen, chooses the next command, and decides whether the result satisfies the test. agent-device keeps that loop grounded in structured accessibility data, deterministic actions, and files an engineer can inspect.

If you know Vercel's agent-browser, agent-device is the same idea for mobile, TV, and desktop apps. Minimal --platform web support reuses agent-browser when a browser session needs to fit into the same command/session/replay loop.

It works with native iOS and Android apps, plus apps built with Expo, Flutter, and React Native, as long as the target can run on a supported device, simulator, emulator, or desktop environment.

agent-device demo showing Codex using agent-device to create a new contact in the iOS Contacts app from a simple prompt

Capabilities

  • Inspect real app UI through structured accessibility snapshots, interactive refs like @e3, selectors, and React Native component trees.
  • Interact by opening apps, tapping, typing, scrolling, performing gestures, waiting, asserting state, handling alerts, and closing sessions.
  • Capture evidence with screenshots, videos, logs, traces, network traffic, audio-level probes for browser and host-rendered simulator/emulator audio, performance samples, crash context, and React profiles.
  • Replay workflows by recording .ad scripts for local runs, CI, repeatable e2e checks, and strict Maestro YAML export when a flow needs to run in Maestro.
  • Run across platforms with iOS Simulator automation, Android Emulator automation, physical devices, tvOS, Android TV, macOS, Linux, and desktop app automation, so agents can see and feel the app they work on.

Use Cases

  • Verify mobile changes on real devices, simulators, and emulators before review or merge.
  • Give AI coding agents a real app feedback loop while they implement features.
  • Debug regressions with screenshots, logs, traces, network/audio evidence, and crash context.
  • Profile performance issues with CPU/memory samples and React render profiles when needed.
  • Turn exploratory app interactions into replayable e2e checks for CI.
  • Use one agent workflow across native iOS, Android, Expo, Flutter, React Native, TV, and desktop apps.

Sketch showing agent-device as the live app verification layer in the agentic development loop

Next Steps

  • Set up your agent: run the CLI from Cursor, Codex, Claude Code, Windsurf, or another agent terminal. For skills, rules, direct MCP tools, and client-specific setup, see AI Agent Setup.
  • Try the sample app: clone the repo and run the bundled Expo fixture when you want a guided first dogfood run with screenshots, replay, and performance evidence. See Quick Start.
  • Go deeper: use Commands, Replay & E2E, and Debugging & Profiling for production workflows.

Articles & Videos

Articles

Videos

Where To Run agent-device

PathBest forStart with
LocalExploration, debugging, and development loops on simulators, emulators, physical devices, macOS apps, and Linux desktop targets.Follow the Quick Start.
CI/CDAutomated PR and merge validation with replay scripts and captured artifacts.Try the EAS workflow template. GitHub Actions template coming soon.
Cloud / remote executionLinux runners, managed devices, and remote execution.Use Agent Device Cloud, see Commands for remote profiles, or contact Callstack for team-scale QA.

How It Works

agent-device runs session-aware commands through platform backends: XCTest for iOS and tvOS, ADB plus the Android snapshot helper for Android, a local helper for macOS desktop automation, and AT-SPI for Linux desktop targets.

Node consumers can use the typed client and public subpaths for bridge integrations. agent-device/android-adb exposes the Android ADB provider contract, logcat/clipboard/keyboard/app helpers, and port reverse management.

Used By

Used by teams and developers at Callstack, JPMorgan Chase, Expensify, Shopify, Kindred, Total Wine & More, LegendList, HerLyfe, App & Flow, and more.

Documentation

Contributing

See CONTRIBUTING.md.

Made at Callstack

agent-device is open source and MIT licensed. Visit agent-device.dev, try the EAS workflow template, read the docs, or contact us at hello@callstack.com.