
As mobile developers using Expo and EAS, eas update has become an essential tool for delivering instant over-the-air (OTA) updates to our users. It’s incredibly powerful, allowing us to fix bugs or deploy new features without forcing a full app store submission.
But sometimes, despite our best efforts, an update introduces a bug or causes unexpected behavior in production. That’s when the trusty eas update:rollback command comes to the rescue, letting us quickly revert users to a previous, stable version of our application code.
Recently, you might have tried to execute a precise rollback command like this:
Generated bash
eas update:rollback --runtime-version=11.4.0 --branch=production --group=0cb959d5-8a7b-42c8-acbf-bd98813e2cab
Expecting it to instantly jump back to a specific update group (0cb959d5…) on your production branch for a given runtime-version. Instead, you might have been met with a response like this:
Generated code
★ eas-cli@16.14.1 is now available. # (Optional, but a good hint!)
To upgrade, run:
npm install -g eas-cli
Proceeding with outdated version. # (Or your current version shown)
Unexpected arguments: --runtime-version=11.4.0, --branch=production, --group=0cb959d5-8a7b-42c8-acbf-bd98813e2cab
See more help with --help
Error: update:rollback command failed.
“Unexpected arguments”? But those seem like sensible things you’d want to specify for a rollback! What’s going on?
🔍 Understanding the “Unexpected Arguments” Error
This error is a strong indicator that the eas update:rollback command, in your specific version of the eas-cli, does not accept — runtime-version, — branch, or — group as direct arguments in this combination or format.
Why? Because the EAS CLI is designed to handle rollbacks interactively for clarity and safety, or accepts slightly different flags depending on the exact version and intended target (rollback to a published update vs. rollback to the embedded update).
The command needs more context or a different structure than a simple key=value flag for each parameter you want to specify. It particularly struggles when you provide flags like — runtime-version or a specific — group UUID directly in this manner.
✅ The Recommended Fix: The Interactive Rollback
The simplest, safest, and most reliable way to perform an EAS update rollback with modern EAS CLI versions is to use the interactive command. This approach guides you step-by-step and ensures you’re selecting a valid target update group from your history.
- Run the base command: Open your terminal in your project directory and simply type:
- Generated bash
eas update:rollback
2. Select Branch: The CLI will list your project’s branches (e.g., main, staging, production). Use the arrow keys to select production (or whichever branch you need) and press Enter.
? Select branch: (Use arrow keys) main staging > production # <-- Select this
3. Select Rollback Type: You’ll typically be asked what type of update you want to roll back to. Choose “Published Update”. Rolling back to an “Embedded Update” is less common and for different scenarios.
? Select rollback type: > Published Update # <-- Select this Embedded Update
4. Select the Target Update: This is the crucial step. The CLI will fetch and display a list of recent update groups published to the selected branch. You’ll see information like the published time, message, platform/runtime versions targeted, and the group ID.
? Select the update you want to roll back to: (Use arrow keys) > Published on 2023-10-26 10:00:00 UTC (my awesome feature - group: abc123de...) Published on 2023-10-25 15:30:00 UTC (fix minor UI bug - group: def456fg...) # <-- This might be the one from 1-2 days ago Published on 2023-10-24 09:00:00 UTC (initial release - group: ghi789jk...) ...
Carefully identify the update group you want to revert to. This is typically the last known good update published before the problematic one. Select it and press Enter.
5. Confirmation: The CLI will confirm your selection and perform the rollback, updating the pointer for that branch to the chosen update group.
This interactive flow prevents errors by only presenting valid options based on your project’s history and the state of your branches.
Alternative Approaches (Less Common for This Error)
While the interactive method is best, here’s why the original flags didn’t work and how you might explore command-line arguments:
- — help is Your Friend: If you want to see exactly what arguments your version of eas-cli supports for rollback, always run:
- Generated bash
eas update:rollback --help
This will output the documentation for the command, listing valid flags and examples. This is the definitive source for your local CLI version. You’ll likely find that flags like — runtime-version or direct — group UUIDs are not standard arguments for initiating the rollback process, though a — branch flag might be accepted to skip the branch selection step.
- Specifying Just the Branch: Sometimes, providing only the branch flag is accepted, and the command then becomes interactive from that point on.
eas update:rollback --branch=production
- This might work depending on the version, but it effectively just pre-selects the branch before moving into the same interactive flow described above.
Why Direct — group or — runtime-version Flags Fail Here
The update:rollback command fundamentally changes which group of update code a specific branch points to for a given runtime version. Your problematic command tried to specify all these pieces at once as flags on the command line, which isn’t the expected command structure.
The CLI prefers you tell it which branch you’re interested in, what kind of rollback you want (to a published update), and then lets you select the specific update group from a dynamic list, rather than requiring you to know and type the group ID beforehand as a flag. The runtime-version is handled implicitly based on the updates available for the selected branch/group.
Conclusion: Trust the Interactive Flow
When faced with the Unexpected arguments error for eas update:rollback, the solution is straightforward: drop the extra flags and run the command in its simplest, interactive form:
eas update:rollback
This leverages the built-in safety and guidance of the EAS CLI, ensuring you correctly identify and revert to a previous published update group on your desired branch. Consult — help if you’re curious about precise command options, but for quick and reliable rollbacks, the interactive flow is your best friend.
Have you encountered this or similar EAS CLI errors? Share your troubleshooting tips in the comments below!