Skip to content

Capabilities

The target tables below are generated from the runtime command-admission facts that back the capabilities command: a command that leaves the code leaves this page. Labels, limits, and integration rows are maintained beside the generator, and command availability does not establish support for every operation, subcommand, or device model. It covers agent-device 0.21.34-dev, generated 2026-10-27.

Yes means the facts admit every command in that row on the target and every operation the row advertises. No means at least one is refused. A qualified cell names the operations that answer there. Targets that share the same available operations print as one column.

Physical iOS devices discovered only through xctrace use the XCTest backend rather than CoreDevice: they support open/close, interactions, snapshots, and screenshots, while app inventory, installation, logs, performance sampling, recording, deep links, and launch arguments need CoreDevice.

One capability depends on the agent machine rather than the target: system audio sampling works only when the daemon runs on macOS, which is what this page assumes.

Check the device in front of you rather than trusting a table:

Terminal window
agent-device capabilities --platform ios --device "iPhone 17 Pro"
agent-device capabilities --session my-session --json

A provider column answers for that provider in its default configuration. Provider credentials, device selection, and artifact retrieval live on the provider pages.

Inspect and verify the UI

Mobile targets

Capability and reference iOS Simulator iOS device (CoreDevice) Android emulator Android device HarmonyOS emulator HarmonyOS device
Accessibility snapshot and snapshot diff Yes Yes Yes Yes Yes Yes
Refs, selectors, element lookup, and attribute reads Yes Yes Yes Yes Yes Yes
Screenshots Yes Yes Yes Yes Yes Yes
Wait for text, selectors, and timeouts Yes Yes Yes Yes Yes Yes

TV targets

Capability and reference Android TV emulator Android TV / Fire OS device tvOS Simulator tvOS device Vega OS (VVD)
Accessibility snapshot and snapshot diff Yes Yes Yes Yes No
Refs, selectors, element lookup, and attribute reads Yes Yes Yes Yes No
Screenshots Yes Yes Yes Yes No
Wait for text, selectors, and timeouts Yes Yes Yes Yes No

Desktop and web targets

Capability and reference macOS desktop macOS app Linux desktop Web browser
Accessibility snapshot and snapshot diff Yes Yes Yes Yes
Refs, selectors, element lookup, and attribute reads Yes Yes Yes Yes
Screenshots Yes Yes Yes Yes
Wait for text, selectors, and timeouts Yes Yes Yes Yes

Hosted provider sessions

Capability and reference BrowserStack Android / TestMu AI Android BrowserStack iOS / TestMu AI iOS AWS Device Farm Android AWS Device Farm iOS Limrun iOS Limrun Android
Accessibility snapshot and snapshot diff Yes Yes Yes Yes Yes Yes
Refs, selectors, element lookup, and attribute reads Yes Yes Yes Yes Yes Yes
Screenshots Yes Yes Yes Yes Yes Yes
Wait for text, selectors, and timeouts Yes Yes Yes Yes Yes Yes

What a Yes does not claim:

  • Accessibility snapshot and snapshot diff: A capture returns a tree only when the app or desktop exposes an accessibility tree.

Interact with the app

Mobile targets

Capability and reference iOS Simulator iOS device (CoreDevice) Android emulator Android device HarmonyOS emulator HarmonyOS device
Tap, press, fill, and type Yes Yes Yes Yes Yes Yes
Long press Yes Yes Yes Yes Yes Yes
Scroll Yes Yes Yes Yes Yes Yes
Gesture plans and swipes Yes Yes Yes Yes Yes Yes
Hover and viewport size No No No No No No
Read, accept, and dismiss system alerts Yes Yes Yes Yes No No
Keyboard dismiss, enter, and status Dismiss and enter; status unsupported Dismiss and enter; status unsupported Yes Yes Dismiss and enter; status unsupported Dismiss and enter; status unsupported
React Native overlay dismissal Yes Yes Yes Yes Yes Yes

TV targets

Capability and reference Android TV emulator Android TV / Fire OS device tvOS Simulator tvOS device Vega OS (VVD)
Tap, press, fill, and type Yes Yes Yes Yes No
Long press Yes Yes Yes Yes No
Scroll Yes Yes Yes Yes No
Gesture plans and swipes Yes Yes Yes Yes No
Hover and viewport size No No No No No
Read, accept, and dismiss system alerts Yes Yes Yes No No
Keyboard dismiss, enter, and status Yes Yes No No No
React Native overlay dismissal Yes Yes Yes Yes No

Desktop and web targets

Capability and reference macOS desktop macOS app Linux desktop Web browser
Tap, press, fill, and type Yes Yes Yes Yes
Long press Yes Yes Yes No
Scroll Yes Yes Yes Yes
Gesture plans and swipes Yes Yes Yes No
Hover and viewport size No No No Yes
Read, accept, and dismiss system alerts Yes Yes No No
Keyboard dismiss, enter, and status No No No No
React Native overlay dismissal Yes Yes Yes Yes

Hosted provider sessions

Capability and reference BrowserStack Android / TestMu AI Android BrowserStack iOS / TestMu AI iOS AWS Device Farm Android AWS Device Farm iOS Limrun iOS Limrun Android
Tap, press, fill, and type Yes Yes Yes Yes Yes Yes
Long press Yes Yes Yes Yes Yes Yes
Scroll Yes Yes Yes Yes Yes Yes
Gesture plans and swipes Yes Yes Yes Yes No Yes
Hover and viewport size No No No No No No
Read, accept, and dismiss system alerts No No No No Yes Yes
Keyboard dismiss, enter, and status Yes Dismiss only; status and enter unsupported Yes Dismiss only; status and enter unsupported No Yes
React Native overlay dismissal Yes Yes Yes Yes Yes Yes

What a Yes does not claim:

  • Tap, press, fill, and type: Android types non-ASCII text through the test input method: automatically on emulators, and on physical devices only with open --test-ime.
  • Gesture plans and swipes: Multi-touch plans are part of gesture where the target runs them; a plan using an operation the target lacks fails at that step.
  • React Native overlay dismissal: The command runs wherever tapping runs; it answers detected: false on a surface with no React Native overlay. Only iOS and Android apps present dismissable development overlays.

Apps and devices

Mobile targets

Capability and reference iOS Simulator iOS device (CoreDevice) Android emulator Android device HarmonyOS emulator HarmonyOS device
Open and close apps, URLs, and deep links Yes Yes Yes Yes Yes Yes
Install and reinstall an app Yes Yes Yes Yes Yes Yes
Uninstall an app Yes Yes Yes Yes No No
Install from a source URL Yes Yes Yes Yes No No
Installed app list Yes Yes Yes Yes Yes Yes
Foreground app state Yes Yes Yes Yes Yes Yes
App switcher Yes Yes Yes Yes Yes Yes
Get the device ready and boot simulators and emulators Yes Yes Yes Yes No No
Shut down a simulator or emulator Yes No Yes No No No
Prepare the Apple runner Yes Yes No No No No

TV targets

Capability and reference Android TV emulator Android TV / Fire OS device tvOS Simulator tvOS device Vega OS (VVD)
Open and close apps, URLs, and deep links Yes Yes Yes Yes App open/close only; URLs and deep links rejected
Install and reinstall an app Yes Yes Yes Yes No
Uninstall an app Yes Yes Yes Yes No
Install from a source URL Yes Yes Yes Yes No
Installed app list Yes Yes Yes Yes No
Foreground app state Yes Yes Yes Yes No
App switcher Yes Yes Yes Yes No
Get the device ready and boot simulators and emulators Yes Yes Yes Yes No
Shut down a simulator or emulator Yes No Yes No No
Prepare the Apple runner No No Yes Yes No

Desktop and web targets

Capability and reference macOS desktop macOS app Linux desktop Web browser
Open and close apps, URLs, and deep links Yes Yes Yes Yes
Install and reinstall an app No No No No
Uninstall an app No No No No
Install from a source URL No No No No
Installed app list Yes Yes No No
Foreground app state No No No No
App switcher No No No No
Get the device ready and boot simulators and emulators No No No No
Shut down a simulator or emulator No No No No
Prepare the Apple runner Yes Yes No No

Hosted provider sessions

Capability and reference BrowserStack Android / TestMu AI Android BrowserStack iOS / TestMu AI iOS AWS Device Farm Android AWS Device Farm iOS Limrun iOS Limrun Android
Open and close apps, URLs, and deep links Yes Yes Yes Yes Yes Yes
Install and reinstall an app Yes Yes No No Yes Yes
Uninstall an app No No No No No No
Install from a source URL Yes Yes No No Yes Yes
Installed app list No No No No Yes Yes
Foreground app state No No No No No Yes
App switcher Yes Yes Yes Yes No Yes
Get the device ready and boot simulators and emulators Yes Yes Yes Yes Yes Yes
Shut down a simulator or emulator No No No No No No
Prepare the Apple runner No No No No No No

What a Yes does not claim:

  • Foreground app state: On iOS and macOS a bound session that owns an app identity or surface answers this from its own state, even where the sessionless probe cannot see a foreground app.
  • Get the device ready and boot simulators and emulators: On a simulator or emulator this starts the machine. On a physical or hosted device it waits for the device that is already provisioned to answer rather than starting one.

Evidence and diagnostics

Mobile targets

Capability and reference iOS Simulator iOS device (CoreDevice) Android emulator Android device HarmonyOS emulator HarmonyOS device
Screen recording Yes Yes Yes Yes No Yes
App logs Yes Yes Yes Yes Yes Yes
HTTP(S) request inspection Yes Yes Yes Yes No No
Performance samples (frames, memory, CPU profiles) Yes Frames, memory, and CPU profiles; memory-snapshot artifact reports unavailable Yes Yes Process RSS memory sample only; frames, memory-snapshot artifacts, CPU profiles, and native captures report unavailable Process RSS memory sample only; frames, memory-snapshot artifacts, CPU profiles, and native captures report unavailable
Audio probe Yes No Yes No No No

TV targets

Capability and reference Android TV emulator Android TV / Fire OS device tvOS Simulator tvOS device Vega OS (VVD)
Screen recording Yes Yes Yes Yes No
App logs Yes Yes Yes Yes No
HTTP(S) request inspection Yes Yes Yes Yes No
Performance samples (frames, memory, CPU profiles) Yes Yes Yes Yes No
Audio probe Yes No Yes No No

Desktop and web targets

Capability and reference macOS desktop macOS app Linux desktop Web browser
Screen recording Yes Yes No Yes
App logs Yes Yes No No
HTTP(S) request inspection Yes Yes No Yes
Performance samples (frames, memory, CPU profiles) Yes Yes No No
Audio probe Yes No No Page media probe only; host capture unsupported

Hosted provider sessions

Capability and reference BrowserStack Android / TestMu AI Android BrowserStack iOS / TestMu AI iOS AWS Device Farm Android AWS Device Farm iOS Limrun iOS Limrun Android
Screen recording No No No No Yes Yes
App logs No No No No Yes Yes
HTTP(S) request inspection No No No No Yes Yes
Performance samples (frames, memory, CPU profiles) No No No No No No
Audio probe No No No No No No

What a Yes does not claim:

  • Screen recording: An iOS physical device records runner screenshots, not a native video stream: no audio, and dropped frames are expected. An Android clip covers 180 seconds, and a longer recording arrives as chunks.
  • HTTP(S) request inspection: Local native app sessions inspect the HTTP(S) entries present in the session app log; traffic absent from those logs is not captured. The three WebDriver provider clouds refuse a live dump: their traffic is on the provider side, and TestMu AI can return provider network-log artifacts after the session ends. Managed web sessions inspect the browser request history.
  • Audio probe: A simulator, emulator, or macOS desktop session samples host system audio, which works on a macOS agent host and needs Screen Recording permission there.

System and hardware

Mobile targets

Capability and reference iOS Simulator iOS device (CoreDevice) Android emulator Android device HarmonyOS emulator HarmonyOS device
Back Yes Yes Yes Yes Yes Yes
Home Yes Yes Yes Yes Yes Yes
Set screen orientation Set only; unlock unsupported Set only; unlock unsupported Yes Yes No No
Phone hardware buttons No Volume only Yes Yes No No
iPhone Action Button Models with an Action Button only Models with an Action Button only No No No No
Foldable pose Foldable models only No Foldable models only No No No
TV remote keys No No No No No No
System and app settings helpers Yes No Yes Yes Clear app state only; other settings and reads unsupported Clear app state only; other settings and reads unsupported
Clipboard read and write Yes No Build-dependent; unavailable on AOSP builds without cmd clipboard Build-dependent; unavailable on AOSP builds without cmd clipboard No No
Push notification simulation Yes No Yes Yes No No
App event triggers through the app hook Yes Yes Yes Yes No No
Call and SMS simulation No No Yes No No No

TV targets

Capability and reference Android TV emulator Android TV / Fire OS device tvOS Simulator tvOS device Vega OS (VVD)
Back Yes Yes Yes Yes Yes
Home Yes Yes Yes Yes Yes
Set screen orientation Yes Yes No No No
Phone hardware buttons No No No No No
iPhone Action Button No No No No No
Foldable pose Foldable models only No No No No
TV remote keys Yes Yes Yes Yes Yes
System and app settings helpers Yes Yes Set only; no reads No No
Clipboard read and write Build-dependent; unavailable on AOSP builds without cmd clipboard Build-dependent; unavailable on AOSP builds without cmd clipboard Yes No No
Push notification simulation Yes Yes Yes No No
App event triggers through the app hook Yes Yes Yes Yes No
Call and SMS simulation Yes No No No No

Desktop and web targets

Capability and reference macOS desktop macOS app Linux desktop Web browser
Back Yes Yes Yes No
Home No No Yes No
Set screen orientation No No No No
Phone hardware buttons No No No No
iPhone Action Button No No No No
Foldable pose No No No No
TV remote keys No No No No
System and app settings helpers Set only; no reads No No No
Clipboard read and write Yes No Yes No
Push notification simulation No No No No
App event triggers through the app hook Yes Yes No No
Call and SMS simulation No No No No

Hosted provider sessions

Capability and reference BrowserStack Android / TestMu AI Android BrowserStack iOS / TestMu AI iOS AWS Device Farm Android AWS Device Farm iOS Limrun iOS Limrun Android
Back Yes Yes Yes Yes Yes Yes
Home Yes Yes Yes Yes Yes Yes
Set screen orientation Set only; unlock unsupported Set only; unlock unsupported Set only; unlock unsupported Set only; unlock unsupported Set only; unlock unsupported Yes
Phone hardware buttons Yes Yes Yes Yes No Yes
iPhone Action Button No No No No No No
Foldable pose No No No No No No
TV remote keys No No No No No No
System and app settings helpers No No No No Set only; no reads Yes
Clipboard read and write Yes Yes Yes Yes Yes Yes
Push notification simulation No No No No No No
App event triggers through the app hook Yes Yes Yes Yes Yes Yes
Call and SMS simulation No No No No No No

What a Yes does not claim:

  • Phone hardware buttons: Each button is a separate operation; a target that answers the row still refuses buttons it does not model.
  • System and app settings helpers: Each helper admits on its own, and a target may run only a subset of the helpers.
  • Clipboard read and write: A Yes means the target exposes clipboard automation. Android depends on the build: AOSP clipboard services from android13-release through android16-release have no cmd clipboard implementation, so such a build refuses the commands, and on builds that answer, Android focus rules can still make a read come back blank.

Capabilities that are not per-device commands

These come with the tool rather than with a target, so no column above decides them.

Capability What it needs Where it is documented
React component tree, inspect, and errors Needs a React Native or Expo development build that registers the React DevTools backend, reachable through the app Metro dev server. No React DevTools window may be connected. React component tree, inspect, and errors
React render profiling Needs a development build of React Native 0.74 or later and its Metro dev server. Verified on Android emulators and iOS simulators, and over proxy and remote bridge sessions. React render profiling
JavaScript heap and profiles through CDP Needs a Metro CDP target, so it applies to React Native and Expo apps. It runs a pinned npm helper on the agent host, and the first run may download it. JavaScript heap and profiles through CDP
Crash symbolication Apple crash artifacts only (.ips, .crash, or log style), symbolicated against local .dSYM bundles with atos. Android Java and R8 mapping, and native ndk-stack output, are out of scope. Crash symbolication
Native profiles and traces Use perf cpu profile for Apple xctrace or Android simpleperf profiles, and perf trace for supported Apple xctrace or Android Perfetto captures; both need a supported app session. The separate trace command captures session diagnostic logs. Native profiles and traces
.ad replay scripts and the replay test runner Runs supported .ad actions subject to target support and replay restrictions. Some resource operations are unavailable inside bounded replay even when they work standalone. .ad replay scripts and the replay test runner
Batched command runs Runs registry-approved batch commands serially in one session. Target admission still applies, and lifecycle and resource restrictions can reject operations that work standalone. Batched command runs
Maestro flow import and .ad export Runs a documented subset of Maestro YAML on iOS and Android only. Exports compatible .ad actions to Maestro YAML; unsupported actions and selector shapes fail with source context, and semantic differences produce warnings. Maestro flow import and .ad export
MCP server One agent-device mcp server per daemon exposes the device commands that mark themselves MCP-exposed, including provider sessions already connected on that daemon. MCP server
Typed Node.js API The typed client exposes device and session operations through domain methods and client.command. Daemon-backed methods share CLI command semantics and target restrictions; the client does not expose every CLI entry point. Typed Node.js API
Named sessions, leases, and parallel runs Sessions and leases are daemon state, so parallel runs come from separate session names, device allowlists, and worktrees rather than from the target. Two worktrees can drive two platforms from one checkout. Named sessions, leases, and parallel runs
Remote daemon and device host A proxy between the agent machine and the device host forwards the same daemon surface, so the device rows above apply across it. Provider clouds need no proxy. Remote daemon and device host
Hosted device providers BrowserStack, AWS Device Farm, TestMu AI, and Limrun appear as their own columns above. Provider artifact lookup after close works for the three WebDriver providers; Limrun keeps no artifacts. Hosted device providers
Native, React Native, Expo, and Flutter apps Native and Flutter apps use the interactions and accessibility data exposed by their target. React Native and Expo development builds can additionally expose React component inspection, render profiling, and Metro CDP tools when their documented prerequisites are met. Native, React Native, Expo, and Flutter apps