Expo Go on iOS now asks you to sign in: fix a fresh-clone first run
You clone an Expo project, start the development server, scan its QR code, and Expo Go asks you to sign in. It can look like the clone is broken, especially if the same project ran without a login prompt last week. For the latest Expo Go version on iOS, Expo now requires an account in both the terminal running Expo CLI and the Expo Go app. The app will tell you which side still needs a login.
The practical fix is to diagnose the two sessions separately, sign in to the same Expo account in both places, and scan again. This guide walks through that first-run path, clarifies which environments the announcement covers, and helps you decide when the Expo Go workflow is the one you intend to use.
First check whether this is the affected path
Expo’s September 3, 2026 changelog entry says the login requirement currently applies to the latest version of Expo Go for iOS. The same entry says the requirement will be extended to Android in the future. It does not apply to simulator versions, and login is not required for development builds. Expo recommends signing in on Android; that makes running development servers and published projects appear in the app.
That scope matters. Do not treat a login prompt on an iPhone as proof that your repository, JavaScript bundle, or QR code is faulty. Do not infer from the announcement that every Android installation or simulator has the same requirement today. The changelog does not state a complete SDK-version boundary for the login requirement, so check the current Expo notice if you need to know whether a specific project or Expo Go release is included.

Before changing the project, confirm which client you opened. If you intended to test in the iOS simulator, use the simulator workflow rather than the physical-device Expo Go path. If you intended to scan with the latest iOS Expo Go app, continue with the two-session check below.
Read the prompt before trying another QR scan
Start the project using the command and package-manager flow documented for that repository. When the development server is running, scan its QR code with the camera app and open the project in Expo Go. If the project is already running and Expo Go displays a login message, read which location it identifies:
- Terminal login required: the Expo CLI session needs an account.
- Expo Go login required: the app on the phone needs an account.
- Both required: each session needs attention before retrying.
Expo says Expo Go will tell you whether the terminal, the app, or both need a login. Follow that indication instead of repeating the scan and hoping the prompt disappears. Re-scanning before authenticating does not resolve a missing session.
One codebase. iOS, Android, and web.
The Fitness Kit ships with auth, a database, and a backend already connected — no setup. Live demo at fitness-preview.otf-kit.dev.
Sign in on the terminal when Expo CLI asks
If the message points to the terminal, run Expo’s documented login command from that project’s terminal:
npx expo loginFollow the link to sign in to your Expo account in the browser. Return to the terminal and wait for the CLI to finish its login flow. Avoid pasting credentials into shell history or sharing an account password with a teammate. Use the account identity you are authorized to use for this project.
Then look at the Expo Go app again. A successful CLI login does not establish that the phone app is also signed in. Expo’s current instruction is that the terminal and Expo Go must use the same account. If Expo Go still identifies the app session as missing, complete that step too.
Sign in inside Expo Go on iOS
If the message identifies Expo Go, open the app and go to its Home screen. Tap the avatar icon in the upper-right corner, then enter your Expo username and password. Check the signed-in account against the one used by Expo CLI; the two must match.
When the app and terminal show the same account, return to the development server and scan the QR code again. Expo says you can also tap the development server address on Expo Go’s Home tab. If the project opens, the login prompt was the missing access step; no code change was needed.

If the app’s message is unclear, stop before changing dependencies or regenerating native project files. Record the exact prompt, the Expo Go platform and version, and whether Expo CLI and Expo Go show the same account. Those details distinguish an authentication issue from a separate network or project-startup problem.
Keep account access separate from project access
A sign-in requirement answers who is using Expo Go; it does not prove that every person has access to every private project, nor does it replace the repository’s own review and secret-handling rules. Keep team membership and code access managed through the project’s normal controls. Do not send an account password in a README, issue, chat message, or environment file.
For a shared project, each developer should use an account approved for their work rather than borrowing a personal session. If a teammate can sign in but cannot load the project, check project permissions and the exact account first. The current changelog explains how to satisfy the two-session login requirement; it does not provide a universal fix for access-control or network failures.
Choose between Expo Go, a simulator, and a development build
Use the route that matches the code you need to test:
- Latest Expo Go on iOS: sign in to the same account in the CLI and the app when prompted.
- Expo Go on Android: the changelog says this requirement is not in force there yet; Expo recommends signing in so the app can surface development servers and published projects.
- Simulator version: Expo says the requirement does not apply to simulator versions.
- Development build: Expo says this login requirement does not apply to development builds.
These are boundaries for this login change, not a full comparison of client capabilities or account requirements across Expo services. If your current project and task already work in Expo Go, resolving the indicated sign-in is usually the smallest next step. If your project already uses a simulator or development build, do not switch clients solely because you heard a broad claim that every Expo test now requires a login.
A short first-run checklist
When a fresh clone reaches a login screen, work through this sequence:
- Confirm whether you are using the latest iOS Expo Go app, Android, or a simulator.
- Start the project through the repository’s documented development command.
- Scan the QR code and read whether Expo identifies the terminal, app, or both.
- If the terminal is named, use
npx expo loginand complete the browser flow. - If Expo Go is named, use Home → avatar and sign in there.
- Confirm the terminal and app use the same authorized Expo account.
- Retry the QR scan or open the development server from the Home tab.
- If it still fails, preserve the exact error and check project access or the separate connectivity issue before editing app code.
For a later production reliability question, see how to monitor native crashes in an Expo app. That guide covers crash visibility in a shipped app, a different stage from opening a project in Expo Go.
Sources
- Expo Changelog, Login now required for running projects in Expo Go, published September 3, 2026; checked October 11, 2026.
Stop wiring. Start shipping.
- Login, database, and backend already connected — nothing to set up
- iOS + Android + web from one codebase
- AI configs pre-tuned + 40+ tested prompts included