File: rollouts.md | Updated: 11/15/2025
Hide navigation
Search
Ctrl K
Home Guides EAS Reference Learn
Archive Expo Snack Discord and Forums Newsletter
Copy page
Learn how to incrementally deploy updates to your users by using a rollout mechanism.
Copy page
A rollout allows you to roll out a change to a portion of your users to catch bugs or other issues before releasing that change to all your users.
EAS provides per-update and branch-based rollout mechanisms depending on your use case.
This rollout mechanism allows you to specify a percentage of users that should receive a new update when you publish it, and then increase that percentage gradually afterwards.
To start an update-based rollout, add the --rollout-percentage flag to your normal eas update command:
Terminal
Copy
- eas update --rollout-percentage=10
In this example, when published, the update will only be available to 10% of your end users.
To edit the percentage of an update-based rollout:
Terminal
Copy
- eas update:edit
You will be guided through the process of selecting the update to edit and asked for the new percentage.
When ending an update-based rollout, you have two options:
eas update:revert-update-rollout which will guide you through reverting back to the previous state.eas update:list or eas update:view commands.This rollout mechanism allows you to incrementally roll out a set of updates on a new branch to a percentage of end users and leave the remaining percentage of users on the current branch.
To start a branch-based rollout, run the following EAS CLI command:
Terminal
Copy
- eas channel:rollout
In the terminal, an interactive guide will assist you in selecting a channel, choosing a branch for the rollout, and setting the percentage of users for the rollout. To increase or decrease the rollout amount, run the command again and choose the Edit option to adjust the rollout percentage.
Two methods are available to end a rollout when you choose the End option in the interactive guide:
eas channel:rollout command.eas update --branch [branch], for example.eas update --channel [channel] cannot be used when a rollout is in progress since it cannot know which branch in the rollout to associate the update with.