It only replaces the JavaScript on the app. If you install or update a package that requires running native code it won’t be able to use code push. So that’s a pretty important one. Answer from NastroAzzurro on reddit.com
🌐
Expo Documentation
docs.expo.dev › eas-update › introduction
EAS Update - Expo Documentation
March 17, 2025 - EAS Update is a hosted service that serves updates for projects using the expo-updates library.
🌐
Expo Documentation
docs.expo.dev › eas-update › how-it-works
How EAS Update works - Expo Documentation
February 18, 2025 - To publish an update, we can run eas update --auto. This command will create a local update bundle inside the dist directory in our project. Once it's created an update bundle, it will upload that bundle to EAS servers, in a database object ...
Discussions

How to do EAS update?
Have you seen this guide ? TL;DR: Run `eas update:configure` Then create new builds Then run `eas update --channel production` to update builds with the channel production. There is a concept of branches, which allows for more flexible (and complex) release flows. We added `--channel` recently, which makes it such that you don't have to think about branches if you're not using them. Also, to amend another commenter: you can preview updates in Expo Go or inside a development build. With the command above, you can also send updates to end-users using app store builds. If you want to learn more about delivering code to your users, this doc can help. More on reddit.com
🌐 r/expo
9
4
May 31, 2023
Expo EAS: How to link eas update branch with build channel? - Stack Overflow
Do i need to do some additional steps to link the created update with the existing staging build? ... HINT: A little bit off-topic but can be helpful. If someone has EAS updates in usage and suddenly it stops working analyze the "usage" section on expo.dev. The free tier just supports 1,000 ... More on stackoverflow.com
🌐 stackoverflow.com
react native - How do I send an Expo EAS Update to a specific build or version of my app? - Stack Overflow
I create internal expo builds using: npx eas-cli build --profile preview --platform ios npx eas-cli build --profile preview --platform android And, I send updates using: npx eas-cli update --branch More on stackoverflow.com
🌐 stackoverflow.com
react native - Expo - EAS Update - Push changes to TestFlight - Stack Overflow
I am using the fully managed expo workflow. I am trying to figure out how to use eas update to push updates to TestFlight on ios. I have linked all channels to my main branch, the update is pushed More on stackoverflow.com
🌐 stackoverflow.com
🌐
Reddit
reddit.com › r/expo › known limitations of eas update?
r/expo on Reddit: Known limitations of EAS Update?
August 1, 2024 -

Hello,

I'm new to React Native and Expo, and I've been exploring the EAS Service. I find the EAS Update feature particularly interesting. From what I understand, it allows you to bypass the traditional process of building, submitting, and waiting for verification from the iOS App Store or Google Play Store.

However, it seems that EAS Update is intended mainly for small bug fixes and minor changes. Is this correct? What prevents us from releasing the app only once on the stores and then using EAS Update to deliver major changes and new versions of the app?

Could someone explain the possible limitations of using EAS Update in this way?

Thanks!

🌐
Expo Documentation
docs.expo.dev › eas-update › getting-started
Get started with EAS Update - Expo Documentation
1 week ago - Learn how to get started with the setup required to configure and use EAS Update in your project.
🌐
GitHub
github.com › expo › eas-cli
GitHub - expo/eas-cli: Fastest way to build, submit, and update iOS and Android apps
Fastest way to build, submit, and update iOS and Android apps - expo/eas-cli
Starred by 1.2K users
Forked by 162 users
Languages   TypeScript
🌐
Fig
fig.io › manual › eas › update
eas update | Fig
eas update · eas update:configure · eas update:delete · eas update:list · eas update:view · eas webhook:create · eas webhook:delete · eas webhook:list · eas webhook:update · eas webhook:view · Publish an update group · On this page ·
Find elsewhere
🌐
DEV Community
dev.to › nour_abdou › react-native-ota-updates-with-expo-eas-step-by-step-guide-best-practices-1idk
React Native OTA Updates with Expo EAS: Step-by-Step Guide & Best Practices - DEV Community
May 12, 2025 - In EAS Update, a channel acts as the "distribution pipeline" that delivers updates to your app, while a branch represents the mode or version stream—such as test or production—from which updates are sourced.
🌐
Medium
vincentmsanders.medium.com › how-not-understanding-the-basics-of-eas-update-led-to-me-crashing-our-app-in-production-b47b58783f26
How not understanding the basics of EAS Update led to me crashing our app in production | by Vincent Sanders | Medium
September 5, 2024 - Everything started smoothly. After applying some updates, I pushed a new version of our app using EAS Update. Initially, the app worked flawlessly in the preview. However, shortly after pushing the update to production, the app crashed unexpectedly.
🌐
Reddit
reddit.com › r/expo › how to do eas update?
r/expo on Reddit: How to do EAS update?
May 31, 2023 -

I'm seriously confused with all this talk about channels, branches and whatnot.

How would I do to be able to push changes directly to my production build?

When I do my builds, i just do:

eas build --platform ios --auto-submit

I guess that uses the production setting below?

eas.json

{
  "cli": {
    "version": ">= 3.10.2"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "android": {
        "buildType": "apk"
      }
    },
    "development-simulator": {
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "simulator": true
      }
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {}
  },
  "submit": {
    "production": {}
  }
}
🌐
YouTube
youtube.com › watch
Sending Over-the-Air (OTA) Updates with EAS Update | Step-by-Step Guide - YouTube
In this tutorial, we dive into EAS Update for over-the-air (OTA) updates in Expo. Key topics include runtime version, EAS CLI setup, EAS Build configuration,...
Published   November 6, 2024
🌐
Medium
shift.infinite.red › cut-ci-from-20-minutes-to-6-with-eas-workflows-and-eas-updates-8d928fe5dcfc
Cut CI from 20 minutes to 6 with EAS Workflows and EAS Updates | by Tyler | Red Shift
June 23, 2025 - Update: June 23, 2025. Expo released first-party support for re-using native builds with Maestro through the Repack pre-packaged workflow. Read their docs for a more concise and directly supported way to set up faster CI/CD on EAS workflows.
Top answer
1 of 3
17

After reading the docs, I think you have to have to think differently about branch and channel.

Channels are specified at build time and exist inside a build's native code.

and

Branches are an ordered list of updates, similar to a Git branch, which is an ordered list of commits.

With EAS Update, we can link any channel to any branch, allowing us to make different updates available to different builds.

So first you have to "publish" the update group to a branch and then you gotta link the channel to point to that branch.

I imagine it could look like

eas update --branch staging-1.0.1
eas channel:edit staging --branch staging-1.0.1

Please correct me if I'm wrong about anything here.

https://github.com/expo/eas-cli#eas-channeledit-name

2 of 3
4

This was also hard to understand for me but now I got it. Unfortunately the docs are so far not really clear.

EAS builds retrieve updates from the channel specified in eas.json. So normally for production builds you would have a channel named "production".

If you now want to run an EAS Update to distribute changes to clients you won't publish directly to a channel but instead you go a detour using branches. Because branches are linked to channels you can work with different branches (e.g. for different versions) and then you only need to change the branch-channel link to publish an update.

To change the linking between a branch and a channel you run:

eas channel:edit

In an simplified setup (like mine) you would have a git branch called production and also a channel with the same name. To publish an update you then just run:

eas update --branch production

or

eas update --auto

In the latter case EAS then sets your current git branch as the branch name, so you could check out the production branch and then run this command to publish the update.

🌐
Ignitecookbook
ignitecookbook.com › eas update
EAS Update | Ignite Cookbook for React Native
This guide will teach you how to set up over-the-air (OTA) updates with Expo and EAS Update within an Ignite project.
🌐
LinkedIn
linkedin.com › posts › expo-dev_how-to-debug-eas-update-expo-debugging-activity-7163530338512687104-Gv-h
Expo on LinkedIn: How to debug EAS Update | Expo Debugging Tutorial
February 14, 2024 - EAS Update is a great way to ship bug fixes to your app in minutes by updating the JavaScript in your React Native app over the air. It has configuration options to help you isolate updates between test and production environments, ensure that ...
🌐
Scarb
docs.swmansion.com › setup-ci › docs › workflows › eas
EAS Preview | npx setup-ci
This workflow is meant to integrate your app with expo.dev. It uses Expo continuous-deploy-fingerprint action to publish EAS Updates and trigger EAS Builds in development profile when the fingerprint of the app changes.
🌐
GitHub
github.com › expo › expo › blob › main › docs › pages › eas-update › deployment-patterns.mdx
expo/docs/pages/eas-update/deployment-patterns.mdx at main · expo/expo
This adds an extra chance to test your app and avoids your user having to download a new update every time a PR is landed. It's easy to communicate to your team, since deploying updates occurs when merging into GitHub branches named "staging" and "production".
Author   expo
🌐
Ex Astris Scientia
ex-astris-scientia.org
Ex Astris Scientia - Bernd Schneider's Star Trek Site
EAS, like countless other websites, was temporarily down due to the global outage of Cloudflare. The issue hopefully has been resolved by now. If you still experience trouble, try clearing your browser cache. Updates · All EAS site updates · Star Trek TV Blog ·