Agent Device Verification CLI

A CLI that lets coding agents inspect, control, and verify apps running on devices and simulators.

Stars
★ 5.3k
Last updated
today
License
MIT
Primary language
TypeScript

At a glance

How it runs
CLIMCP serverLibrary / SDK
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Medium · a few setup steps
You'll need
Node.js 22.12 or newerNode.js 24 or newer for web automationShell / CLINetwork accessLocal filesystemMCP Server
Typical use
A React Native or Expo developer asks a coding agent to verify a changed form flow on an iOS Simulator or Android Emulator using snapshots, press, and fill.
Not a fit if
  • Teams that cannot install Node.js 22.12 or newer
  • Web-only automation projects stuck on Node.js 22
  • Teams needing physical Fire TV or full Vega OS capture support
Source review
74/100 · Some gaps

What does this agent do, and when should you use it?

agent-device is a command-line automation tool for coding agents and QA tools to inspect, control, and verify running applications. It supports iOS, Android, tvOS, Android TV, Amazon Vega OS TV through Vega Virtual Device, web, macOS, and Linux, with command and evidence availability varying by target. The CLI keeps device state in sessions and uses XCTest for iOS and tvOS, ADB plus a snapshot helper for Android, Vega CLI/VDA for VVD, a local macOS helper, and AT-SPI on Linux. It can produce accessibility snapshots, screenshots, video, logs, traces, network data, performance samples, crash details, and React profiles; successful workflows can be saved as .ad scripts or exported as strict Maestro YAML. Teams can use it locally, replay runs in CI/CD, or configure remote and cloud execution paths.

A session can begin with a command such as agent-device open Contacts --platform ios, followed by agent-device snapshot -i to read the accessibility tree and obtain current @eN refs. An agent can act on the latest refs or selectors with press, fill, scrolling, gestures, waits, assertions, and alert handling; --settle returns UI changes after an action. It can save a screenshot with screenshot and collect video, logs, traces, network data, performance samples, crash details, and React profiles. Workflows can be retained as .ad scripts for local or CI replay, or exported as strict Maestro YAML; Node.js applications can also use the typed client or public subpaths, including agent-device/android-adb for Android ADB, logcat, clipboard, keyboard, app, and port-reverse helpers.

  1. A React Native or Expo developer asks a coding agent to verify a changed form flow on an iOS Simulator or Android Emulator using snapshots, press, and fill.
  2. A mobile QA engineer saves a successful login or onboarding flow as an .ad script for CI replay with screenshots and logs retained as artifacts.
  3. A native iOS, Android, or Flutter team captures screenshots, video, and diagnostic data when accessibility information is insufficient for a reviewable bug report.
  4. A TV application team uses a Vega Virtual Device to discover an app, manage its lifecycle, and perform complete TV-remote interactions.
  5. A React Native performance team reproduces a UI issue while collecting performance samples, traces, network data, or a React profile.

How do you install or deploy this agent?

Install Node.js 22.12 or newer; web automation requires Node.js 24 or newer. Run: npm install -g agent-device@latest. Then verify the environment with: agent-device doctor. The supplied material does not state that CLI installation requires an account or credential; device and target-specific setup requirements are covered by the installation documentation.

How do you use this agent?

Run agent-device doctor first, then use agent-device help workflow for workflow help. A working iOS sequence shown in the supplied material is: agent-device open Contacts --platform ios; agent-device snapshot -i; agent-device press @e2 --settle; agent-device fill @e7 "Ada" --settle; agent-device screenshot ./contact-form.png; agent-device close. Use @eN refs only from the latest output; after --settle, use the refs returned in its diff.

What are this agent's strengths and limitations?

Pros
  • Uses an inspect-act-verify workflow, so an agent can read live app state and choose each next command at runtime.
  • Combines mobile, TV, desktop, and basic web automation in one CLI while using target-appropriate underlying automation interfaces.
  • Provides token-efficient accessibility snapshots alongside refs, selectors, screenshots, and video for both interaction and reviewable evidence.
  • Can preserve validated flows as .ad scripts and export strict Maestro YAML for repeatability and CI use.
  • Includes React Native-oriented diagnostic surfaces such as component trees, React profiles, and performance-related evidence.
Limitations
  • Requires Node.js 22.12 or newer, and web automation raises that requirement to Node.js 24 or newer.
  • Commands and evidence vary by target, so feature parity across platforms is not documented.
  • Initial Vega OS support is limited to Vega Virtual Device discovery, app lifecycle, and complete TV-remote control; physical Fire TV, capture, and selector backends are unsupported.
  • Element refs can become stale after UI changes, requiring refs from the newest snapshot or --settle diff.
  • Poor accessibility labels, roles, or test IDs reduce snapshot reliability and may require screenshots or video as fallback evidence.

How does this agent compare with similar options?

Appium, Detox, and Maestro are described as tools teams use to write and maintain test suites. agent-device instead lets an agent read application state and select commands at runtime, while complementing those tools by saving .ad scripts or exporting strict Maestro YAML.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Agent Device Verification CLI This agent 74 · Some gaps CLIFree ★ 5.3k today TypeScript Codex · Claude Code
Playwright Browser Automation MCP 65 · Some gaps MCP serverFree ★ 39k 1d ago TypeScript Codex · Claude Code
iOS Simulator Skill Pack 71 · Some gaps Agent plugin / skillFree ★ 1.3k today Python Claude Code
Expo Skills – Official AI Agent Skills for Expo 67 · Some gaps Agent plugin / skillFreemium ★ 4.1k 6d ago Shell Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
74/ 100 5-point scale 3.7 / 5
Trust 16/29
Reliability 9/14
Adaptability 15/18
Convention 15/18
Effectiveness 12/13
Verifiability 7/8
Why each dimension lost points
Trust16 / 29 · 2.8/5

The CLI, MCP server, and SDK share a command path; the AI SDK pins the session and hides stateDir, and the docs describe device capabilities and data collection paths. Security evidence documents runner-token permissions and listener boundaries, and the policy requests private vulnerability reports. Deductions: ordinary driving flows start acting directly, while approval is optional; device interaction, installation, and network capture can have external effects, and no general undo mechanism is shown; dependency inventory and vulnerability mitigation evidence are absent from this packet. Callstack authorship, the MIT license, and attribution to agent-browser are clear, but publisher identity remains unverified as specified.

Reliability9 / 14 · 3.2/5

The README, skill cards, and SDK are broadly consistent about sessions, ref updates, and closing; the capabilities matrix and command expose platform differences. Errors include corrective hints, and the AI SDK normalizes errors. Deductions: the packet does not fully establish command coverage or dependency availability; the skill cards' fast-start advice is in slight tension with the README's doctor preflight recommendation, and static evidence cannot establish runtime outcomes.

Adaptability15 / 18 · 4.2/5

The material targets coding-agent and QA workflows across local, CI, cloud, and multiple platforms, with platform-specific skills. The capability matrix, command guidance, and explicit platform subsets show boundary awareness. Deductions: skill scope remains broad, while detailed trigger and platform selection guidance relies partly on external docs; Node, native toolchain, device, and cloud requirements create meaningful setup demands.

Convention15 / 18 · 4.2/5

The README clearly organizes installation, commands, API, integrations, FAQ, contribution, and security entry points; examples cover CLI, MCP, Node API, and common tasks. The material states Node requirements, platform differences, and evidence limits, and includes the full MIT text. Deductions: the packet contains no changelog or release cadence; the development package version and author field plus reporting process provide some maintenance signals, but no explicit maintainer responsibility is established.

Effectiveness12 / 13 · 4.6/5

Accessibility snapshots, refs, diffs, replay, and evidence capture provide actionable outputs, and a shared runtime across CLI, MCP, and SDK addresses a clear need to verify real applications from agents. Deductions: devices, simulators, native dependencies, and cloud services add setup and operating costs, which the static evidence does not quantify against benefits.

Verifiability7 / 8 · 4.4/5

Many claims are traceable to command examples, package entrypoints, workflows, ADRs, and detailed device verification records; the records distinguish verified behavior, experiments, and uncovered conditions. The README and source provide some corroboration for the CLI/MCP/SDK architecture. Deductions: many platform capabilities are only summarized in the README, and the packet lacks full docs and dependency inventory for cross-checking; verification records are not treated as independent execution in this review.

Risks and how to mitigate them
  • The agent can act directly on devices and apps; confirm the target and authorization before installation, removal, input, or cloud-device operations.
  • Platform capabilities and environment dependencies vary. Check the relevant capabilities, installation requirements, and device-cloud setup before use; this review did not execute commands.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision b24ecf2091e9
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/agent-device.svg)](https://followagents.com/en/agents/agent-device)
<a href="https://followagents.com/en/agents/agent-device"><img src="https://followagents.com/badge/agent-device.svg" alt="FARS review"></a>

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.21.36
    Release notes excerpt
    What's Changed * test(daemon): retain sanitized evidence on idle cleanup failure by @thymikee in https://github.com/callstack/agent-device/pull/4090 * test(apple): distinguish captured focus words from synthetic types by @thymikee in https://github.com/callstack/agent-device/pull/4087 * test(daemon): type teardown fixtures and clarify browser ownership by @thymikee in https://github.com/callstack/agent-device/pull/4081 * fix(platform-android): disable persistent Android snapshots after an unhealthy helper retirement by @mvanhorn in https://github.com/callstack/agent-device/pull/4007 …
    View on GitHub ↗
  2. v0.21.35
    Release notes excerpt
    What's Changed * test(proxy): cover the by-spec open that names no platform or lease backend by @thymikee in https://github.com/callstack/agent-device/pull/4044 * perf(check-affected): keep the related run out of the unit projects on fail-open plans too by @thymikee in https://github.com/callstack/agent-device/pull/4058 * refactor(daemon): require runtime access when constructing request execution by @thymikee in https://github.com/callstack/agent-device/pull/4061 …
    View on GitHub ↗
  3. v0.21.34
    Release notes excerpt
    What's Changed * refactor(android): centralize session error encoding by @thymikee in https://github.com/callstack/agent-device/pull/4000 * refactor(runtime): share host command runner construction by @thymikee in https://github.com/callstack/agent-device/pull/3999 * refactor(apple): share simulator status-bar diagnostics by @thymikee in https://github.com/callstack/agent-device/pull/3998 * refactor: reuse canonical device identity projections by @thymikee in https://github.com/callstack/agent-device/pull/3996 …
    View on GitHub ↗

FAQ

Is it limited to React Native?
No. The supplied material explicitly covers native iOS and Android applications, React Native, Expo, and Flutter apps on supported targets.
Can it run in CI?
Yes. A run can be recorded as an .ad script, replayed locally or in CI, and saved with screenshots, logs, and other artifacts.
Must every workflow be authored as a traditional test first?
No. The agent can inspect each result and choose the next command at runtime; stable runs can later be saved as .ad scripts.
What if the accessibility snapshot does not expose the control I need?
Improve accessibility labels, roles, and test IDs where possible. The material recommends screenshots and video as evidence when accessibility data is poor.
What is the Vega OS and Fire TV boundary?
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.
Was this page helpful?
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.