This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

Expo Simulators limitations

Edit page

Known limits of the Expo Simulators preview, including Android support, browser preview, session duration, physical devices, and controller features.


Expo Simulators is an experimental preview. Its commands, flags, and behavior can change. This page lists the known limits. For each limit, it also gives the alternative to use.

Access and versions

LimitAlternative
Only accounts in the limited-access preview can start sessions.Check access with eas simulator:availability. Join the waitlist.
The simulator:* commands and flags change often.Use the latest EAS CLI, and read eas simulator:start --help.
EAS CLI versions before 21.4.0 do not have the --name flag.Run npx --yes eas-cli@latest.

Platforms and devices

LimitAlternative
Android support is still in development. Some features that work on iOS may not work on Android yet.Use iOS when you need a feature that does not work on Android yet.
The Android browser preview shows the emulator, but it may not respond to input yet.Control the emulator with agent-device, Argent, or Appium.
Expo Simulators does not provide physical devices.Use a physical device with local tools or a device cloud.
A session can run only an APK on Android and a simulator build on iOS. An iOS application archive must be a .tar.gz or .tgz file that contains the .app.Create an APK or an iOS Simulator build. See Install an app on a remote Android Emulator or iOS Simulator.
Create session links for Android are still in development, and Android links need an .apk archive.Use EAS CLI or the REST API if an Android link does not work.
Local egress is an experimental feature that must be enabled for your account. On Android, it requires EAS CLI 24.9.0 or later.Contact Expo to enable it. See Network traffic and local egress in Expo Simulators.

Session lifetime

LimitAlternative
A session runs for at most 40 minutes on the Free plan and 115 minutes on paid plans.Start a new session when the old one stops.
A session started with --non-interactive does not stop when the command returns.Run eas simulator:stop, and set --max-duration-minutes.
Browser preview activity does not reset the idle timer.Use --max-duration-minutes to limit sessions that a person controls in the browser preview.
web-preview-only sessions do not support an idle timeout.Use --max-duration-minutes.

See How long an Expo Simulators session runs.

Controllers and tools

LimitAlternative
Each session provisions only the controller of its session type.Start a new session with the type that you need.
.env.eas-simulator holds one session at a time.Use a separate working directory for each parallel session, or use --out-config-type env and pass --id. See How EAS CLI and agents select an Expo Simulators session.
Fast Refresh, React DevTools, and React profiling need Metro and a development build.Use a development build with a Metro tunnel. See Use Fast Refresh with Metro on a remote simulator.
Fast Refresh and React features do not apply to apps that are not React Native apps.Use device-level commands. See Which apps and frameworks work with Expo Simulators.
Argent recordings include a watermark on Expo Simulators.Check the recording before you share it publicly.

Performance

LimitAlternative
Startup time varies. A session can wait for concurrency, then take time to start.Poll the existing session. Do not start a second session to retry.
On iOS, accessibility snapshots can take tens of seconds.Wait for the snapshot. Take a new snapshot after a timeout.
The first JavaScript bundle over a Metro tunnel is slow.Wait for the first bundle. Later Fast Refresh updates are fast.
Recordings may not capture every frame, so they cannot prove or disprove a short frame drop.Use a profiler for frame timing that a recording cannot show.

Data

LimitAlternative
Job logs on the session page are available for 30 days after the session is created.Copy the job logs that you need before they expire. Artifacts are not affected: EAS keeps session artifacts until you delete the session.

See Expo Simulators security, permissions, and data retention.