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 usage, limits, and billing

Edit page

Learn how Expo Simulators access works, how long a session can run on each plan, how sessions queue, and how to control usage.


Expo Simulators is an EAS service. To control usage, stop each session when you finish and set a maximum duration.

Access

Access to Expo Simulators does not come with a plan. Expo enables it for each account. Check the account of the current project:

Terminal
- eas simulator:availability --json

The check is read-only. It does not start a device or consume usage. If available is false, eas simulator:start fails with a message that links to the waitlist.

Session duration limits

Each session has a maximum duration. When the session reaches it, EAS stops the session.

PlanMaximum session duration
Free40 minutes
Paid115 minutes

If you do not set a maximum duration, the session gets the maximum for the plan. To set a shorter limit, use --max-duration-minutes in EAS CLI or maxDurationMinutes in the REST API. A value above the plan limit returns an error.

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.

Concurrency and queueing

Sessions run as EAS jobs and use your account's job concurrency. When the account has no free concurrency, the session waits in a queue. EAS CLI shows that the session is queued or waiting for available concurrency. Queue time does not count toward the 15-minute startup timeout.

Control usage

Use these methods to keep usage low:

MethodCommand or field
Stop each session when you finisheas simulator:stop, or POST /v2/device-run-sessions/:id/stop
Set a maximum duration--max-duration-minutes, or maxDurationMinutes
Stop idle sessions--max-idle-time-minutes, or maxIdleTimeMinutes
Find sessions that still runeas simulator:list --status new --status queued --status starting --status in-progress

Controller activity from agent-device, Argent, or Appium resets the idle timer. Browser preview activity does not. See How long an Expo Simulators session runs.

Each time someone opens a create session link, EAS starts a new session. See Share a live Expo Simulators session or start one from a link.

Common questions

Does the availability check consume usage?

No. eas simulator:availability only reads the account status.

Does a session stop when my terminal closes?

No. Closing the terminal does not stop the session. When EAS CLI is attached in interactive mode, press Ctrl + C to stop the session. A session started with --non-interactive or --json keeps running until you run eas simulator:stop, or until it reaches its maximum duration or idle limit.