How to specify production channel for eas update (bare workflow)

Workflow: Bare
eas-cli: 0.47.0
platform: iOS

Issue: I am not receiving update on the testflight build.

New to Expo, will try to describe the details.
In my previous project, I used bare workflow. Manually build and publish the app, use expo:publish for OTA update and works fine.

In this new project, I wanted to try the eas and loving it so far. However, I am not able to figure out the OTA for eas. (I have upgraded to production plan)

Here’s the commands I ran to publish the app:

  1. eas build
  2. eas submit

When running command eas:update, I was asked to specify a branch which did not config in previous steps (build, submit). I went ahead use the current github branch but the update didn’t show on the testflight build. Force killed the app multiple times.

Question - How do I push the update to the production app with eas update command? How do I specify which release channel to push the update, I have read through the document but didn’t find any info.

Also I am confused with the concept branch and release channel. If I want to manually push the update why do I need to specify the branch?

Attaching eas.json file:

below is eas.json file

  "cli": {
    "version": ">= 0.46.0"
  "build": {
    "development": {
      "distribution": "internal",
      "android": {
        "gradleCommand": ":app:assembleDebug"
      "ios": {
        "buildConfiguration": "Debug"
    "preview": {
      "distribution": "internal",
      "channel": "preview",
      "releaseChannel": "staging"
    "production": {
      "channel": "production",
      "ios": {
        "cocoapods": "1.11.2"
  "submit": {
    "production": {}

Hey @womanezeteam, welcome to the community! I would recommend taking a look at these docs pages to gain a better understanding of the nuances at play:

1 Like

Thanks! @adamjnav