The mobile verification
for AI Agents
Device automation CLI for AI agents. Real apps on iOS, Android, TV, and desktop. Token-efficient snapshots, semantic refs, evidence captured only when needed
Inspired by the browser automation patterns that made web agents practical. Built for native mobile and TV apps.
# An agent exploring a real iOS app
$ agent-device open com.myapp --platform ios
$ agent-device snapshot -i
# @e1 [heading] "Settings"
# @e2 [button] "Wi-Fi"
$ agent-device press @e2
$ agent-device snapshot -i
Give your agent "eyes" on the UI
Agents need a structured way to understand the current screen. snapshot exposes the accessibility tree and assigns stable refs (like @e2), keeping context smaller than raw screenshots or verbose dumps.
Act with semantic precision
Once the agent understands the screen, it acts. It can use stable refs or rely on semantic selectors to find elements by text, label, or role—making flows readable and resilient.
Cross-platform by default
One mental model across iOS, Android, and TV. The same agent workflow moves seamlessly between development simulators, physical QA devices, and TV-class targets.
From Exploration to E2E Replay
This is where exploration becomes infrastructure. Agents can explore a UI, save the flow to a script, and re-run it later. Experimental auto-updating (-u) can even heal stale selectors on the fly.
Built for agents. Anywhere.
We believe all agents should have access to agent-device running real simulators and devices regardless whether they operate within your desktop or from a cloud sandbox.
Make your agent productive from the first prompt.
Don't make your agent learn the tool from scratch. Install the official agent-device skills to give it the canonical workflows, targeting rules, debugging patterns, and replay guidance it needs to automate mobile apps effectively.
# Give your agent the official toolset
$ npx skills add callstack/agent-device
# Add the structured exploratory QA skill
$ npx skills add callstack/agent-device --skill dogfood
Not just a CLI. A fully typed integration layer.
Use the typed TypeScript client to integrate directly into your codebase or your custom cloud agents. Manage sessions, provision devices, and capture snapshots programmatically and deterministically.
Built for debugging, not just the happy path.
When things break, agents and humans both need evidence. Capture parsed logs, network dumps, and screen recordings without leaving the terminal.
Log & Network Parsing
Visual Proof
Environment & Push Triggers
What agents build with it
Exploratory QA
Navigate apps, identify problems, collect visual evidence.
Bug Reproduction
Deep link to a state, capture logs, and preserve exact steps.
Regression Loops
Turn successful exploration into replayable .ad scripts.
Clean-State Testing
Reinstall builds, manage permissions, test onboarding.