This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
How long an Expo Simulators session runs
Edit page
Learn the maximum duration and idle timeout of an Expo Simulators session, which activity keeps a session alive, and every way that a session stops.
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.
An Expo Simulators session runs until you stop it or until it reaches a limit. The maximum duration is a hard stop time. The optional idle timeout stops the session after a period without controller activity. Set a limit on each session that you do not watch, so that it does not run longer than you need.
Maximum duration
If you do not set a duration, the session gets the maximum for the account. On any plan, you can set a shorter duration: pass --max-duration-minutes to EAS CLI or maxDurationMinutes to the REST API. A value above the account's maximum fails.
The session timer starts when the session is ready. The job that runs the session has a hard limit of the maximum duration plus five minutes.
Idle timeout
Pass --max-idle-time-minutes to stop the session after that many minutes without controller activity. Without this flag, the session has no idle timeout.
For a session that a person uses in the browser preview, limit the session with the maximum duration. The idle timeout can stop the session while the person uses it.
Ways that a session stops
These events do not stop a session:
- A
--non-interactiveor--jsonstart command returns. - A CI job, an HTTP request, or an agent task ends.
- A second
simulator:startreplaces .env.eas-simulator. - The local egress client disconnects. Proxied requests fail, and the session continues to run.
Dropped controller connections
If a controller command returns ERR_NGROK_3200 or Remote daemon is unavailable after the session sat idle, the controller connection dropped. A lost connection also removes the installed app state and the snapshot references. Do not retry the command. Stop the session, start a new one, and then install and drive the app immediately. Create builds before you start the session, not during it.
Common questions
How do I keep a session alive for a reviewer?
Start the session with --max-duration-minutes set to the review time, and do not set an idle timeout. Tell the reviewer when the session stops. See Share a live Expo Simulators session or start one from a link.
Can I extend a running session?
No. EAS CLI and the REST API do not have a command to change the duration of a running session. Start a new session.
Does queue time count toward the duration?
No. The maximum duration starts when the session is ready, so queue time does not count toward it. Queue time also does not count toward the 15-minute startup timeout of EAS CLI. For usage, see Expo Simulators usage, limits, and billing.