Project is incompatible with this version of expo go
Fix the "Project is incompatible with this version of Expo Go" error in Expo SDK 55, 56, and 57. Learn how to install the correct Expo Go build for your SDK version on iPhone, Android, and emulators.
On this page
If you are developing a React Native app with Expo and see the error "Project is incompatible with this version of Expo Go," it means the Expo SDK version in your project does not match the Expo Go app installed on your device. This error blocks you from running your project entirely. You may also see variations like "The project you requested requires a newer version of Expo Go" or "This project requires a newer version of Expo Go." This guide covers why this happens and how to fix it on every platform — physical iPhone, Android device, emulator, and simulator.
The Error
This error appears on the device screen inside Expo Go when you scan the QR code or open the development URL. The app refuses to load and shows one of the messages above.
Why This Happens
Each build of Expo Go includes exactly one Expo SDK version. The expo package version in your project's package.json sets the project's SDK version. When you try to run a project, Expo Go checks if the SDK versions match. If they do not, it shows the incompatibility error. The project and Expo Go SDK versions must be an exact major version match.
The most common reason you hit this error in 2026 is that Expo Go on the Apple App Store is stuck at SDK 54. Apple has not approved newer versions of Expo Go for the App Store since SDK 54. SDK 55, 56, and 57 are not available through the App Store at all. The Google Play Store version can also lag behind a new SDK release by days or weeks. So if your project uses Expo SDK 55, 56, or 57, the Expo Go app you downloaded from the store simply cannot run it.
Check Your Project's SDK Version
Before applying any fix, confirm which SDK version your project is using. Open your package.json and check the expo dependency version.
If your app.json or app.config.js contains an sdkVersion field, either remove it or make sure it matches the expo dependency version. A mismatch between these two values can also trigger the incompatibility error.
Fix 1: Install Compatible Expo Go on Physical iPhone or iPad (SDK 55+)
For projects using Expo SDK 55 or later, the App Store version of Expo Go will not work. Instead, Expo provides a self-signing installation method that bypasses the App Store entirely. Go to sign.expo.dev, select the SDK version that matches your project, and follow the on-screen steps to install Expo Go directly on your physical device.
The free provisioning certificate is valid for about seven days. When it expires, the app will stop opening and you need to go back to sign.expo.dev to re-sign and reinstall Expo Go. This is a limitation of Apple's free developer provisioning, not an Expo limitation.
Fix 2: Install Compatible Expo Go on Android Device, Android Emulator, or iOS Simulator
For Android devices, Android Emulators, and iOS Simulators, Expo hosts direct downloads of every Expo Go version. Visit expo.dev/go, select your SDK version and target platform, and download the compatible build.
After installing the compatible build, restart the development server with npx expo start and open the project again. If you had the old Expo Go version installed, you may need to uninstall it first to avoid conflicts.
Fix 3: Install Expo Go for SDK 54 from the App Store
If your project uses SDK 54, you can still install Expo Go directly from the Apple App Store or Google Play Store. SDK 54 is the last version that Apple approved for the App Store. If you need to run an older project and do not want to deal with self-signing, keeping your project on SDK 54 is the simplest path.
Note that downgrading SDK versions may require code changes if you use APIs introduced in newer SDK versions. This is only recommended as a temporary workaround, not a long-term solution.
Fix 4: Use eas go for TestFlight Distribution (Paid Apple Developer Account)
If you have a paid Apple Developer Program membership, you can build your own Expo Go using eas go and distribute it through TestFlight. This avoids the 7-day certificate expiration of the free provisioning method and is useful for teams where multiple people need to test.
Fix 5: Create a Development Build (Best for Production Projects)
Expo Go is designed as a learning environment and sandbox. For production projects, Expo's official recommendation is to stop using Expo Go entirely and create a development build. A development build gives you full control over the native app and its dependencies. You will never see the SDK version mismatch error again because the native runtime is built specifically for your project.
Development builds support all native modules and custom native code that Expo Go does not. If you are using libraries like expo-image, react-native-reanimated, or any library with native code, a development build is the correct approach. You also get the same developer experience as Expo Go including hot reloading and the Expo DevTools.
Fix 6: Fix Dependency Mismatches After Installing Correct Expo Go
If the error persists even after installing the correct Expo Go version, your project may have dependency version conflicts. Run expo-doctor and the install fix command to align all packages with your SDK version.
Which Fix Should You Use?
- Physical iPhone with SDK 55+: Use sign.expo.dev to install a self-signed Expo Go build (free, expires every 7 days)
- Physical iPhone with SDK 54: Install Expo Go from the Apple App Store
- Android device or emulator: Download from expo.dev/go or let the Expo CLI install it automatically
- iOS Simulator: Use expo.dev/go or run npx expo start --ios to auto-install
- Team testing with paid Apple account: Use eas go to build and distribute via TestFlight
- Production app or custom native modules: Create a development build with expo-dev-client and stop using Expo Go
Why Expo Go Is No Longer on the App Store (SDK 55+)
Starting with SDK 55, Expo Go has not been approved by the Apple App Store. As of August 2026, SDK 54 remains the last version available on the App Store. Expo has acknowledged this situation and recommends that developers who are using Expo Go for anything beyond learning and quick prototyping should migrate to development builds. Starting with SDK 56, the create-expo-app template even prompts developers to choose whether they want App Store Expo Go compatibility or the latest SDK version.
This is not an Expo bug. It is an Apple App Store review decision. Expo continues to provide alternative installation methods through sign.expo.dev and eas go, and the Android and simulator builds remain available through expo.dev/go.
Official-Style Error Explanation
The "Project is incompatible with this version of Expo Go" error occurs when the Expo SDK version specified by the expo package in your project's package.json does not match the SDK version baked into the Expo Go app on your device. Each Expo Go build supports exactly one SDK version. Since SDK 55, Expo Go has not been available on the Apple App Store, meaning projects using SDK 55, 56, or 57 cannot use the store-downloaded app. The fix depends on your platform: use sign.expo.dev for physical iPhones (free provisioning, 7-day expiry), expo.dev/go for Android and simulators, or eas go for TestFlight distribution with a paid Apple account. For production projects, migrating to a development build with expo-dev-client is the recommended permanent solution, as it eliminates SDK version mismatch issues entirely and supports all native modules.
FAQ
Why does Expo Go show "Project is incompatible" even though I just updated it?
The Expo Go version on the App Store is stuck at SDK 54. Even if you update Expo Go from the App Store, it will only support SDK 54 projects. If your project uses SDK 55, 56, or 57, you need to install a compatible Expo Go build from sign.expo.dev (for physical iPhones) or expo.dev/go (for Android and simulators). The App Store update does not help for newer SDK versions.
Do I need a paid Apple Developer account to fix this on iPhone?
No. The sign.expo.dev method uses your Apple ID's free developer provisioning to install Expo Go on your physical iPhone. You do not need a paid Apple Developer Program membership. The only limitation is that the certificate expires after about 7 days, so you need to re-sign and reinstall periodically. If you want a longer-lasting solution without re-signing, you need a paid account to use eas go with TestFlight.
Will Expo Go ever be updated on the App Store for SDK 55+?
As of August 2026, Expo has stated that they are waiting for Apple App Store approval for newer Expo Go versions, but cannot provide a timeline. SDK 54 remains the last approved version. Expo recommends migrating to development builds for anything beyond learning and prototyping.
What is the difference between Expo Go and a development build?
Expo Go is a pre-built app that includes a fixed set of native modules for one SDK version. A development build is a custom native app built specifically for your project. It includes all the native modules your project needs, supports custom native code, and does not have SDK version mismatch issues. You get the same developer experience including hot reloading and DevTools. The tradeoff is that you need to build the native app once, which takes a few minutes.
Can I downgrade my project to SDK 54 to use the App Store version of Expo Go?
Yes, you can run npx expo install expo@^54.0.0 --fix to downgrade. However, this is only recommended as a temporary workaround. You may lose access to APIs and features introduced in SDK 55, 56, and 57. For any production project, migrating to a development build is a better long-term solution.
How do I fix this error on an Android emulator or iOS Simulator?
Visit expo.dev/go, select your SDK version and platform, and download the compatible Expo Go build. You can also use the expo-go CLI with npx expo-go install --sdk 57 --platform android. On iOS Simulator, running npx expo start --ios often installs the correct version automatically. After installing, restart your development server with npx expo start.
Shahmeer Rizwan
Full-Stack Developer