Quick answer
To share a new build, start an Expo Simulators session with it and send a link to its browser preview. The person opens the link in a desktop browser and taps, scrolls, and types through the app, with no TestFlight build, install, or Mac. A private link opens for people signed in to your Expo project. A public link opens for anyone who has it. When the session stops, the link stops working.
A designer wants to check the new onboarding screens. A PM wants to try the checkout fix before it merges. The usual way is to make a TestFlight build, wait for it, and ask each person to install it on their phone. For a quick look at one change, that is a lot of steps.
With Expo Simulators, you start a session with the build and send a link to it. If you already build with EAS Build, the session installs your simulator build by its build ID. The person opens the link in a desktop browser and uses the app.
What the link opens
Every session has a browser preview, a tab that streams the simulator screen. To share it, select Share in the preview and send the link. The person opens it in a desktop browser and uses the app. Android support is still in development, so some features that work on iOS may not work on Android yet.
Any app built for the iOS Simulator or the Android Emulator works, including React Native, Flutter, and native apps. The session can install an EAS Build, an app archive, or Expo Go.
Share a running session
- Make a build that runs on a simulator. For iOS, use a build profile with
ios.simulator: true. For Android, build an APK. - Start a session with that build:
The command prints the link. You can also open the session on expo.dev, select Open preview, then select Share to copy the link. Send it to the people who need to see the build.
The web-preview-only type starts a session for people to use in the browser. It does not start agent-device, Argent, or Appium.
When the review is done, stop the session:
If you forget, the session stops on its own at your plan's time limit. To set an earlier stop time, add --max-duration-minutes to the start command.
Who can open the link
You pick the kind of link when you start the session, and you cannot change it later.
- Private link, the default. It opens for people who sign in to an Expo account that can view the project. Send it to the teammates, designers, and PMs on that account.
- Public link. Add
--public-linkto the start command. Anyone who has the link can open it without an Expo login and use the simulator, so send it only to people you trust with the build. Use it for someone who is not on your Expo account.
Both kinds of link stop working when the session stops. To end access early, stop the session.
Put a link on every pull request
For reviews, you do not have to start the session yourself. A create session link starts a new session from a build when someone opens it:
Add it to the pull request description, or post it from CI. The reviewer signs in to an Expo account that can access the project, with the Developer role or higher. expo.dev starts the session, which can take about a minute, then opens the browser preview.
Each click starts a new session, and each session uses Expo Simulators time until it stops. Ask reviewers to stop the session when they finish. To come back to the same session, open it from the project's Simulator sessions page. To use the newest build that matches the pull request's native code, put buildFingerprint and platform in the link in place of buildId.
Review several builds at once
Each link opens one build, so different parts of the team can work on different parts of the app at the same time. Start one session per build, give each one a --name that says what changed, such as "Checkout fix", and send each link to the people working on that part. On pull requests, each create session link opens that pull request's build.
Which link to send
| Private link | Public link | Create session link | |
|---|---|---|---|
| How you make it | Select Share in a running session's preview | Start the session with --public-link, then select Share | Build a URL with a build ID |
| Starts a new session | No | No | Yes, each time it opens |
| Needs an Expo login | Yes, with access to the project | No | Yes, with access to the project and the Developer role or higher |
| Good for | A review with people on your Expo account | A review with someone outside your Expo account | Pull requests and CI results |
| Stops working | When the session stops | When the session stops | When the build expires |
Let an agent set it up
If an agent starts the session or writes the pull request link for you, have it load these Expo Skills first:
expo-overview: the entry point that routes the agent to the right Expo skill.eas-simulator: the currenteas simulatorcommands, session types, and cleanup steps.
Install them:
- Claude Code:
claude plugin install expo@claude-plugins-official - Codex:
codex plugin add expo@openai-curated - Cursor and other agents:
npx skills add expo/skills
The full list is at docs.expo.dev/skills.
Try it
Expo Simulators is in a limited beta release. The docs on sharing a session cover every link option. For other ways to share a build, such as ad hoc builds and preview updates, see How to share a live mobile preview without TestFlight.
Verified on 20 October 2026.