This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Introduction to Expo Simulators
Edit page
Run and control remote Android Emulators and iOS Simulators on EAS infrastructure from the CLI, REST API, an AI agent, or a browser.
Expo Simulators is a limited-access preview. It is not included with paid or free plans and is currently available only to select partners. Join the waitlist if you are interested in trying it.
Expo Simulators runs a remote Android Emulator or iOS Simulator on EAS infrastructure. You can install an app, inspect its user interface, and interact with it. You can also collect screenshots and recordings or share a browser preview without running the device locally.
Expo Simulators is built for agentic development. It gives coding agents a real device runtime for verifying agent-written code. Agents can fix issues they observe and return evidence from the running app.
Expo Simulators is especially useful when:
- A background or cloud coding agent needs device access that is not available in its sandbox
- An AI agent needs to verify a change in a running app instead of only inspecting source code
- You want a temporary, shareable browser preview
- You need to offload simulator compute or test on a remote platform
If you use Linux or Windows, Expo Simulators gives you an iOS Simulator. It also helps when your computer has limited resources, because the device runs on EAS.
Expo Simulators does not replace local Xcode or Android Studio workflows when you already have the required local device runtime. Use it when you need remote or shareable access.
Use Expo Simulators with a coding agent
For agentic development, start with the official Expo Simulators skill. Ask your coding agent to use the skill instead of giving it individual EAS CLI and controller commands. The skill covers the access check, build preparation, session naming and limits, remote session, controller workflow, evidence collection, and cleanup.
Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud.
The agent can then complete the runtime loop:
- Implement or fix the code.
- Check Expo Simulators access and prepare a compatible app build.
- Start a remote device and drive the app through agent-device or Argent.
- Inspect the result and iterate if needed.
- Return screenshots, recordings, logs, or other evidence and stop the session.
Typical setup: a Cursor cloud agent
A common setup is a Cursor cloud agent or another background coding agent working in a cloud project checkout. The environment can edit and build the project, but it cannot launch a local iOS Simulator. With the Expo Simulators skill, the agent starts a remote device on EAS and controls it through agent-device or Argent. It then returns the result to the task or pull request, while your computer does not need to host the simulator.
How it works
An Expo Simulators workflow has four stages:
- Start a session with EAS CLI, the REST API, or an authenticated create session link. Give the session a descriptive name, choose a remote device and session type, and optionally set automatic duration or idle limits.
- Install your app. Pass an EAS Build, build fingerprint, application archive URL, or Expo Go to the start command. You can also install a local build through the controller after the session starts. A session without an application source starts with a blank device.
- Drive the device. Use agent-device, Argent, or Appium for programmatic control. Each session also includes a browser preview.
- Stop the session. Stop it explicitly when you finish. An unattended non-interactive session continues consuming usage until it stops or reaches a configured limit.
EAS CLI manages the session lifecycle and connection configuration. Use the REST API to manage sessions from your own HTTP client. The controller provides device actions such as opening an app, pressing a button, entering text, inspecting the accessibility tree, and capturing a screenshot.
Available surfaces
Use EAS Build to create installable builds, and use local device tooling for physical devices.
Next steps
Check access, start your first session, and open the dashboard and browser preview.
Install an EAS Build, a fingerprint match, an archive, Expo Go, or a local build.
Give a coding agent a remote device so it can test its change and return evidence.
Use Expo Simulators with Expo, React Native, native, Flutter, Unity, Appium, and Maestro.
Review the simulator commands, flags, output, and managed environment file.
Create, inspect, connect to, and stop sessions from CI or your own HTTP client.
Recover from unavailable accounts, stale sessions, dropped tunnels, and incorrect builds.