How to Push App Updates Without Waiting for App Store Review

DavidDavid July 31, 2026 6 min read
A developer at a laptop looking at a successful update notification on a phone screen
Original image, App Store Launch Club

What EAS Update Does

When your app is running on a user's device, it can check an Expo-hosted endpoint for updates to its JavaScript bundle. If there is a newer bundle, it downloads it in the background and applies it on the next launch. This means you can fix a typo, update a screen, change a price - and all users get it within hours without any action on their part.

Setting Up EAS Update

Install EAS CLI with npm install -g eas-cli. Log in with eas login. Run eas update:configure in your project. This adds the necessary expo-updates dependency and updates your app.json. Then run eas build to create a build that points to your EAS channel. After that, shipping an update is one command: eas update --channel production --message 'fixed login bug'.

Channels and Branches

EAS Update uses channels to route updates to specific builds. A production channel reaches users who installed your store build. A preview channel reaches testers. You can have as many channels as you need. This lets you test an update with internal testers on a preview build before rolling it to all production users - the same pattern CI/CD engineers use for web deploys.

When Not to Use OTA Updates

Apple's App Store guidelines prohibit using OTA updates to change the primary function of an app or add major features without review. In practice this means: bug fixes and content updates are fine, adding a whole new tab or feature is a gray area, and changing your app's core purpose is prohibited. Follow the principle - do not use OTA to sneak features past review.

Free app-building tips, straight to your inbox

Short, practical drops on app ideas, validating fast, store listings, and passing app review. No spam, unsubscribe anytime.

Frequently asked questions

How long does an EAS Update take to reach users?

The update is available immediately after you run the command. Users get it the next time they open the app (it checks on launch). If they leave the app open for extended periods, it may take longer to apply.

Does EAS Update work on both iOS and Android?

Yes. It works on both platforms as long as you build with Expo and have expo-updates configured.

What happens if an OTA update breaks something?

You can roll back by running eas update:rollback to revert to the previous published update. Users will get the previous bundle on their next launch. This makes OTA updates much less risky than traditional store submissions.

Is there a size limit on OTA updates?

There is no hard-coded size limit, but larger updates take longer to download on slow connections. Keep your JS bundles lean and use CDN-hosted assets for images rather than bundling them if size is a concern.

Last reviewed by David on July 31, 2026

David

Written by

David

Founder and app builder

Keep reading

ExpoEAS

How to Manage Environment Variables and Secrets in an Expo App

Environment variables in an Expo app split into two kinds, and treating them the same is how a secret ends up shipped inside your bundle. Here is the one distinction that decides everything, how to wire public values through app config and private ones through EAS, and the safe way to read each in a production build.

David 9 min
Read article
ShippingExpo

How to Submit an App Update to the App Store (Step by Step)

Shipping the first version is one thing. Shipping the second, tenth and fiftieth update without breaking anything is the part nobody explains. Here is the exact update loop I run for an Expo app: bump the version, build, upload, write the release notes, submit, and roll it out with a phased release so a bad build never reaches everyone at once.

David 10 min
Read article

Ready to build it yourself?

Join App Store Launch Club, the #1 community for building and launching apps, for $9/month.

← Back to the blog