This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Test your project in Expo Go on a remote simulator
Edit page
Install Expo Go on an Expo Simulators session, connect it to Metro through a tunnel, and test a project that has no custom native code without creating a build.
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 Go on Expo Simulators lets you test your project without a build. Pass --expo-go to eas simulator:start. EAS CLI selects the Expo Go version that matches the Expo SDK of your project, and EAS installs it. Then Expo Go opens your project from Metro through a tunnel.
Expo Go works only for projects that have no custom native code. For other projects, use a development build. See Use Fast Refresh with Metro on a remote simulator.
Connect Expo Go to Metro
1
Start Metro with a tunnel
The remote device must reach Metro over the internet. Start Metro first, because EAS opens the Metro URL while the session starts:
EXPO_UNSTABLE_TUNNEL_V2=1 selects a tunnel that is signed for your Expo account. From SDK 58, npx expo start --tunnel uses this tunnel by default and ignores the variable.
2
3
Select an Expo Go version
EAS CLI reads the Expo SDK version from the project. To use a different version, pass --sdk-version together with --expo-go:
--sdk-version works only with --expo-go.
Start Expo Go from a link
A create session link can also start Expo Go. Set these parameters:
expoGo=trueplatform=androidorplatform=ios. Android support is still in development.sdkVersion: the Expo SDK version of your project, such as58openUrl: the Metro URL
https://expo.dev/accounts/<account>/projects/<project>/simulator-sessions/create?expoGo=true&platform=ios&sdkVersion=<version>&openUrl=exp%3A%2F%2F<metro-host>
A link does not read the SDK version from your project. Without sdkVersion, the session installs the current Expo Go release.
See Start a session from a link.
Common questions
Expo Go cannot find the SDK version. What do I do?
Run the command from an Expo project with a valid app config, or pass --sdk-version <version> with --expo-go.
Why does my project not load?
The usual causes are that Metro was not running when the session started, or that the --open-url value does not use the exp:// scheme. Start Metro first, and pass an exp:// URL. Do not pass the webPreviewUrl to --open-url. See Troubleshoot Expo Simulators.