Skip to content
/ eas-cli Public

Fastest way to build, submit, and update iOS and Android apps

License

Notifications You must be signed in to change notification settings

expo/eas-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eas-cli

EAS command line tool

oclif Version Downloads/week License

Installation

npm install -g eas-cli
# or
yarn global add eas-cli

Enforcing eas-cli version for your project

If you want to enforce the eas-cli version for your project, use the "cli.version" field in eas.json. Installing eas-cli to your project dependencies is strongly discouraged because it may cause dependency conflicts that are difficult to debug.

An example of eas.json that enforces eas-cli in version 1.0.0 or newer:

{
  "cli": {
    "version": ">=1.0.0"
  },
  "build": {
    // build profiles
  },
  "submit": {
    // submit profiles
  }
}

Learn more: https://docs.expo.dev/build/eas-json/

Usage

eas COMMAND
# runs the command
eas (-v|--version|version)
# prints the version
eas --help COMMAND
# outputs help for specific command

Commands

eas account:login

log in with your Expo account

USAGE
  $ eas account:login [-s]

FLAGS
  -s, --sso  Login with SSO

DESCRIPTION
  log in with your Expo account

ALIASES
  $ eas login

See code: packages/eas-cli/src/commands/account/login.ts

eas account:logout

log out

USAGE
  $ eas account:logout

DESCRIPTION
  log out

ALIASES
  $ eas logout

See code: packages/eas-cli/src/commands/account/logout.ts

eas account:view

show the username you are logged in as

USAGE
  $ eas account:view

DESCRIPTION
  show the username you are logged in as

ALIASES
  $ eas whoami

See code: packages/eas-cli/src/commands/account/view.ts

eas analytics [STATUS]

display or change analytics settings

USAGE
  $ eas analytics [STATUS]

DESCRIPTION
  display or change analytics settings

See code: packages/eas-cli/src/commands/analytics.ts

eas autocomplete [SHELL]

display autocomplete installation instructions

USAGE
  $ eas autocomplete [SHELL] [-r]

ARGUMENTS
  SHELL  (zsh|bash|powershell) Shell type

FLAGS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

DESCRIPTION
  display autocomplete installation instructions

EXAMPLES
  $ eas autocomplete

  $ eas autocomplete bash

  $ eas autocomplete zsh

  $ eas autocomplete powershell

  $ eas autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

eas branch:create [NAME]

create a branch

USAGE
  $ eas branch:create [NAME] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the branch to create

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  create a branch

See code: packages/eas-cli/src/commands/branch/create.ts

eas branch:delete [NAME]

delete a branch

USAGE
  $ eas branch:delete [NAME] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the branch to delete

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  delete a branch

See code: packages/eas-cli/src/commands/branch/delete.ts

eas branch:list

list all branches

USAGE
  $ eas branch:list [--offset <value>] [--limit <value>] [--json --non-interactive]

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>    The number of items to fetch each query. Defaults to 50 and is capped at 100.
  --non-interactive  Run the command in non-interactive mode.
  --offset=<value>   Start queries from specified index. Use for paginating results. Defaults to 0.

DESCRIPTION
  list all branches

See code: packages/eas-cli/src/commands/branch/list.ts

eas branch:rename

rename a branch

USAGE
  $ eas branch:rename [--from <value>] [--to <value>] [--json --non-interactive]

FLAGS
  --from=<value>     current name of the branch.
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.
  --to=<value>       new name of the branch.

DESCRIPTION
  rename a branch

See code: packages/eas-cli/src/commands/branch/rename.ts

eas branch:view [NAME]

view a branch

USAGE
  $ eas branch:view [NAME] [--offset <value>] [--limit <value>] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the branch to view

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>    The number of items to fetch each query. Defaults to 25 and is capped at 50.
  --non-interactive  Run the command in non-interactive mode.
  --offset=<value>   Start queries from specified index. Use for paginating results. Defaults to 0.

DESCRIPTION
  view a branch

See code: packages/eas-cli/src/commands/branch/view.ts

eas build

start a build

USAGE
  $ eas build [-p android|ios|all] [-e <value>] [--local] [--output <value>] [--wait] [--clear-cache]
    [--auto-submit | --auto-submit-with-profile <value>] [-m <value>] [--build-logger-level
    trace|debug|info|warn|error|fatal] [--freeze-credentials] [--json --non-interactive]

FLAGS
  -e, --profile=PROFILE_NAME                                Name of the build profile from eas.json. Defaults to
                                                            "production" if defined in eas.json.
  -m, --message=<value>                                     A short message describing the build
  -p, --platform=(android|ios|all)
  --auto-submit                                             Submit on build complete using the submit profile with the
                                                            same name as the build profile
  --auto-submit-with-profile=PROFILE_NAME                   Submit on build complete using the submit profile with
                                                            provided name
  --build-logger-level=(trace|debug|info|warn|error|fatal)  The level of logs to output during the build process.
                                                            Defaults to "info".
  --clear-cache                                             Clear cache before the build
  --freeze-credentials                                      Prevent the build from updating credentials in
                                                            non-interactive mode
  --json                                                    Enable JSON output, non-JSON messages will be printed to
                                                            stderr.
  --local                                                   Run build locally [experimental]
  --non-interactive                                         Run the command in non-interactive mode.
  --output=<value>                                          Output path for local build
  --[no-]wait                                               Wait for build(s) to complete

DESCRIPTION
  start a build

See code: packages/eas-cli/src/commands/build/index.ts

eas build:cancel [BUILD_ID]

cancel a build

USAGE
  $ eas build:cancel [BUILD_ID] [--non-interactive] [-p android|ios|all] [-e <value>]

FLAGS
  -e, --profile=PROFILE_NAME        Filter builds by build profile if build ID is not provided
  -p, --platform=(android|ios|all)  Filter builds by the platform if build ID is not provided
  --non-interactive                 Run the command in non-interactive mode.

DESCRIPTION
  cancel a build

See code: packages/eas-cli/src/commands/build/cancel.ts

eas build:configure

configure the project to support EAS Build

USAGE
  $ eas build:configure [-p android|ios|all]

FLAGS
  -p, --platform=(android|ios|all)  Platform to configure

DESCRIPTION
  configure the project to support EAS Build

See code: packages/eas-cli/src/commands/build/configure.ts

eas build:delete [BUILD_ID]

delete a build

USAGE
  $ eas build:delete [BUILD_ID] [--non-interactive] [-p android|ios|all] [-e <value>]

FLAGS
  -e, --profile=PROFILE_NAME        Filter builds by build profile if build ID is not provided
  -p, --platform=(android|ios|all)  Filter builds by the platform if build ID is not provided
  --non-interactive                 Run the command in non-interactive mode.

DESCRIPTION
  delete a build

See code: packages/eas-cli/src/commands/build/delete.ts

eas build:inspect

inspect the state of the project at specific build stages, useful for troubleshooting

USAGE
  $ eas build:inspect -p android|ios -s archive|pre-build|post-build -o <value> [-e <value>] [--force] [-v]

FLAGS
  -e, --profile=PROFILE_NAME
      Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.

  -o, --output=OUTPUT_DIRECTORY
      (required) Output directory.

  -p, --platform=(android|ios)
      (required)

  -s, --stage=(archive|pre-build|post-build)
      (required) Stage of the build you want to inspect.
      archive - builds the project archive that would be uploaded to EAS when building
      pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.
      post-build - builds the native project and leaves the output directory for inspection

  -v, --verbose

  --force
      Delete OUTPUT_DIRECTORY if it already exists.

DESCRIPTION
  inspect the state of the project at specific build stages, useful for troubleshooting

See code: packages/eas-cli/src/commands/build/inspect.ts

eas build:list

list all builds for your project

USAGE
  $ eas build:list [-p android|ios|all] [--status
    new|in-queue|in-progress|pending-cancel|errored|finished|canceled] [--distribution store|internal|simulator]
    [--channel <value>] [--app-version <value>] [--app-build-version <value>] [--sdk-version <value>] [--runtime-version
    <value>] [--app-identifier <value>] [-e <value>] [--git-commit-hash <value>] [--offset <value>] [--limit <value>]
    [--json --non-interactive] [--simulator]

FLAGS
  -e, --build-profile=<value>                                                   Filter only builds created with the
                                                                                specified build profile
  -p, --platform=(android|ios|all)
  --app-build-version=<value>                                                   Filter only builds created with the
                                                                                specified app build version
  --app-identifier=<value>                                                      Filter only builds created with the
                                                                                specified app identifier
  --app-version=<value>                                                         Filter only builds created with the
                                                                                specified main app version
  --channel=<value>
  --distribution=(store|internal|simulator)                                     Filter only builds with the specified
                                                                                distribution type
  --git-commit-hash=<value>                                                     Filter only builds created with the
                                                                                specified git commit hash
  --json                                                                        Enable JSON output, non-JSON messages
                                                                                will be printed to stderr.
  --limit=<value>                                                               The number of items to fetch each query.
                                                                                Defaults to 10 and is capped at 50.
  --non-interactive                                                             Run the command in non-interactive mode.
  --offset=<value>                                                              Start queries from specified index. Use
                                                                                for paginating results. Defaults to 0.
  --runtime-version=<value>                                                     Filter only builds created with the
                                                                                specified runtime version
  --sdk-version=<value>                                                         Filter only builds created with the
                                                                                specified Expo SDK version
  --simulator                                                                   Filter only iOS simulator builds. Can
                                                                                only be used with --platform flag set to
                                                                                "ios"
  --status=(new|in-queue|in-progress|pending-cancel|errored|finished|canceled)  Filter only builds with the specified
                                                                                status

DESCRIPTION
  list all builds for your project

See code: packages/eas-cli/src/commands/build/list.ts

eas build:resign

re-sign a build archive

USAGE
  $ eas build:resign [-p android|ios] [-e <value>] [--source-profile <value>] [--wait] [--id <value>] [--offset
    <value>] [--limit <value>] [--json --non-interactive]

FLAGS
  -e, --target-profile=PROFILE_NAME  Name of the target build profile from eas.json. Credentials and environment
                                     variables from this profile will be used when re-signing. Defaults to "production"
                                     if defined in eas.json.
  -p, --platform=(android|ios)
  --id=<value>                       ID of the build to re-sign.
  --json                             Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>                    The number of items to fetch each query. Defaults to 50 and is capped at 100.
  --non-interactive                  Run the command in non-interactive mode.
  --offset=<value>                   Start queries from specified index. Use for paginating results. Defaults to 0.
  --source-profile=PROFILE_NAME      Name of the source build profile from eas.json. Used to filter builds eligible for
                                     re-signing.
  --[no-]wait                        Wait for build(s) to complete.

DESCRIPTION
  re-sign a build archive

See code: packages/eas-cli/src/commands/build/resign.ts

eas build:run

run simulator/emulator builds from eas-cli

USAGE
  $ eas build:run [--latest | --id <value> | --path <value> | --url <value>] [-p android|ios] [-e <value>]
    [--offset <value>] [--limit <value>]

FLAGS
  -e, --profile=PROFILE_NAME    Name of the build profile used to create the build to run. When specified, only builds
                                created with the specified build profile will be queried.
  -p, --platform=(android|ios)
  --id=<value>                  ID of the simulator/emulator build to run
  --latest                      Run the latest simulator/emulator build for specified platform
  --limit=<value>               The number of items to fetch each query. Defaults to 50 and is capped at 100.
  --offset=<value>              Start queries from specified index. Use for paginating results. Defaults to 0.
  --path=<value>                Path to the simulator/emulator build archive or app
  --url=<value>                 Simulator/Emulator build archive url

DESCRIPTION
  run simulator/emulator builds from eas-cli

See code: packages/eas-cli/src/commands/build/run.ts

eas build:submit

submit app binary to App Store and/or Play Store

USAGE
  $ eas build:submit [-p android|ios|all] [-e <value>] [--latest | --id <value> | --path <value> | --url <value>]
    [--verbose] [--wait] [--verbose-fastlane] [--non-interactive]

FLAGS
  -e, --profile=<value>             Name of the submit profile from eas.json. Defaults to "production" if defined in
                                    eas.json.
  -p, --platform=(android|ios|all)
  --id=<value>                      ID of the build to submit
  --latest                          Submit the latest build for specified platform
  --non-interactive                 Run command in non-interactive mode
  --path=<value>                    Path to the .apk/.aab/.ipa file
  --url=<value>                     App archive url
  --verbose                         Always print logs from EAS Submit
  --verbose-fastlane                Enable verbose logging for the submission process
  --[no-]wait                       Wait for submission to complete

DESCRIPTION
  submit app binary to App Store and/or Play Store

ALIASES
  $ eas build:submit

eas build:version:get

get the latest version from EAS servers

USAGE
  $ eas build:version:get [-p android|ios|all] [-e <value>] [--json --non-interactive]

FLAGS
  -e, --profile=PROFILE_NAME        Name of the build profile from eas.json. Defaults to "production" if defined in
                                    eas.json.
  -p, --platform=(android|ios|all)
  --json                            Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive                 Run the command in non-interactive mode.

DESCRIPTION
  get the latest version from EAS servers

See code: packages/eas-cli/src/commands/build/version/get.ts

eas build:version:set

update version of an app

USAGE
  $ eas build:version:set [-p android|ios] [-e <value>]

FLAGS
  -e, --profile=PROFILE_NAME    Name of the build profile from eas.json. Defaults to "production" if defined in
                                eas.json.
  -p, --platform=(android|ios)

DESCRIPTION
  update version of an app

See code: packages/eas-cli/src/commands/build/version/set.ts

eas build:version:sync

update a version in native code with a value stored on EAS servers

USAGE
  $ eas build:version:sync [-p android|ios|all] [-e <value>]

FLAGS
  -e, --profile=PROFILE_NAME        Name of the build profile from eas.json. Defaults to "production" if defined in
                                    eas.json.
  -p, --platform=(android|ios|all)

DESCRIPTION
  update a version in native code with a value stored on EAS servers

See code: packages/eas-cli/src/commands/build/version/sync.ts

eas build:view [BUILD_ID]

view a build for your project

USAGE
  $ eas build:view [BUILD_ID] [--json]

FLAGS
  --json  Enable JSON output, non-JSON messages will be printed to stderr.

DESCRIPTION
  view a build for your project

See code: packages/eas-cli/src/commands/build/view.ts

eas channel:create [NAME]

create a channel

USAGE
  $ eas channel:create [NAME] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the channel to create

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  create a channel

See code: packages/eas-cli/src/commands/channel/create.ts

eas channel:edit [NAME]

point a channel at a new branch

USAGE
  $ eas channel:edit [NAME] [--branch <value>] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the channel to edit

FLAGS
  --branch=<value>   Name of the branch to point to
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  point a channel at a new branch

See code: packages/eas-cli/src/commands/channel/edit.ts

eas channel:list

list all channels

USAGE
  $ eas channel:list [--offset <value>] [--limit <value>] [--json --non-interactive]

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>    The number of items to fetch each query. Defaults to 10 and is capped at 25.
  --non-interactive  Run the command in non-interactive mode.
  --offset=<value>   Start queries from specified index. Use for paginating results. Defaults to 0.

DESCRIPTION
  list all channels

See code: packages/eas-cli/src/commands/channel/list.ts

eas channel:pause [NAME]

pause a channel to stop it from sending updates

USAGE
  $ eas channel:pause [NAME] [--branch <value>] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the channel to edit

FLAGS
  --branch=<value>   Name of the branch to point to
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  pause a channel to stop it from sending updates

See code: packages/eas-cli/src/commands/channel/pause.ts

eas channel:resume [NAME]

resume a channel to start sending updates

USAGE
  $ eas channel:resume [NAME] [--branch <value>] [--json --non-interactive]

ARGUMENTS
  NAME  Name of the channel to edit

FLAGS
  --branch=<value>   Name of the branch to point to
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  resume a channel to start sending updates

See code: packages/eas-cli/src/commands/channel/resume.ts

eas channel:rollout [CHANNEL]

Roll a new branch out on a channel incrementally.

USAGE
  $ eas channel:rollout [CHANNEL] [--action create|edit|end|view] [--percent <value>] [--outcome
    republish-and-revert|revert] [--branch <value>] [--runtime-version <value>] [--private-key-path <value>] [--json
    --non-interactive]

ARGUMENTS
  CHANNEL  channel on which the rollout should be done

FLAGS
  --action=(create|edit|end|view)          Rollout action to perform
  --branch=<value>                         Branch to roll out. Use with --action=create
  --json                                   Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive                        Run the command in non-interactive mode.
  --outcome=(republish-and-revert|revert)  End outcome of rollout. Use with --action=end
  --percent=<value>                        Percent of users to send to the new branch. Use with --action=edit or
                                           --action=create
  --private-key-path=<value>               File containing the PEM-encoded private key corresponding to the certificate
                                           in expo-updates' configuration. Defaults to a file named "private-key.pem" in
                                           the certificate's directory. Only relevant if you are using code signing:
                                           https://docs.expo.dev/eas-update/code-signing/
  --runtime-version=<value>                Runtime version to target. Use with --action=create

DESCRIPTION
  Roll a new branch out on a channel incrementally.

See code: packages/eas-cli/src/commands/channel/rollout.ts

eas channel:view [NAME]

view a channel

USAGE
  $ eas channel:view [NAME] [--json --non-interactive] [--offset <value>] [--limit <value>]

ARGUMENTS
  NAME  Name of the channel to view

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>    The number of items to fetch each query. Defaults to 50 and is capped at 100.
  --non-interactive  Run the command in non-interactive mode.
  --offset=<value>   Start queries from specified index. Use for paginating results. Defaults to 0.

DESCRIPTION
  view a channel

See code: packages/eas-cli/src/commands/channel/view.ts

eas config

display project configuration (app.json + eas.json)

USAGE
  $ eas config [-p android|ios] [-e <value>] [--json --non-interactive]

FLAGS
  -e, --profile=PROFILE_NAME    Name of the build profile from eas.json. Defaults to "production" if defined in
                                eas.json.
  -p, --platform=(android|ios)
  --json                        Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive             Run the command in non-interactive mode.

DESCRIPTION
  display project configuration (app.json + eas.json)

See code: packages/eas-cli/src/commands/config.ts

eas credentials

manage credentials

USAGE
  $ eas credentials [-p android|ios]

FLAGS
  -p, --platform=(android|ios)

DESCRIPTION
  manage credentials

See code: packages/eas-cli/src/commands/credentials/index.ts

eas credentials:configure-build

Set up credentials for building your project.

USAGE
  $ eas credentials:configure-build [-p android|ios] [-e <value>]

FLAGS
  -e, --profile=PROFILE_NAME    The name of the build profile in eas.json.
  -p, --platform=(android|ios)

DESCRIPTION
  Set up credentials for building your project.

See code: packages/eas-cli/src/commands/credentials/configure-build.ts

eas device:create

register new Apple Devices to use for internal distribution

USAGE
  $ eas device:create

DESCRIPTION
  register new Apple Devices to use for internal distribution

See code: packages/eas-cli/src/commands/device/create.ts

eas device:delete

remove a registered device from your account

USAGE
  $ eas device:delete [--apple-team-id <value>] [--udid <value>] [--json --non-interactive]

FLAGS
  --apple-team-id=<value>  The Apple team ID on which to find the device
  --json                   Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive        Run the command in non-interactive mode.
  --udid=<value>           The Apple device ID to disable

DESCRIPTION
  remove a registered device from your account

See code: packages/eas-cli/src/commands/device/delete.ts

eas device:list

list all registered devices for your account

USAGE
  $ eas device:list [--apple-team-id <value>] [--offset <value>] [--limit <value>] [--json --non-interactive]

FLAGS
  --apple-team-id=<value>
  --json                   Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>          The number of items to fetch each query. Defaults to 50 and is capped at 100.
  --non-interactive        Run the command in non-interactive mode.
  --offset=<value>         Start queries from specified index. Use for paginating results. Defaults to 0.

DESCRIPTION
  list all registered devices for your account

See code: packages/eas-cli/src/commands/device/list.ts

eas device:rename

rename a registered device

USAGE
  $ eas device:rename [--apple-team-id <value>] [--udid <value>] [--name <value>] [--json --non-interactive]

FLAGS
  --apple-team-id=<value>  The Apple team ID on which to find the device
  --json                   Enable JSON output, non-JSON messages will be printed to stderr.
  --name=<value>           The new name for the device
  --non-interactive        Run the command in non-interactive mode.
  --udid=<value>           The Apple device ID to rename

DESCRIPTION
  rename a registered device

See code: packages/eas-cli/src/commands/device/rename.ts

eas device:view [UDID]

view a device for your project

USAGE
  $ eas device:view [UDID]

DESCRIPTION
  view a device for your project

See code: packages/eas-cli/src/commands/device/view.ts

eas diagnostics

display environment info

USAGE
  $ eas diagnostics

DESCRIPTION
  display environment info

See code: packages/eas-cli/src/commands/diagnostics.ts

eas help [COMMAND]

Display help for eas.

USAGE
  $ eas help [COMMAND] [-n]

ARGUMENTS
  COMMAND  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for eas.

See code: @expo/plugin-help

eas init

create or link an EAS project

USAGE
  $ eas init [--id <value>] [--force] [--non-interactive]

FLAGS
  --force            Whether to create a new project/link an existing project without additional prompts or overwrite
                     any existing project ID when running with --id flag
  --id=<value>       ID of the EAS project to link
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  create or link an EAS project

ALIASES
  $ eas init

eas init:onboarding [TARGET_PROJECT_DIRECTORY]

continue onboarding process started on the https://expo.new website.

USAGE
  $ eas init:onboarding [TARGET_PROJECT_DIRECTORY]

DESCRIPTION
  continue onboarding process started on the https://expo.new website.

ALIASES
  $ eas init:onboarding
  $ eas onboarding

eas login

log in with your Expo account

USAGE
  $ eas login [-s]

FLAGS
  -s, --sso  Login with SSO

DESCRIPTION
  log in with your Expo account

ALIASES
  $ eas login

eas logout

log out

USAGE
  $ eas logout

DESCRIPTION
  log out

ALIASES
  $ eas logout

eas metadata:lint

validate the local store configuration

USAGE
  $ eas metadata:lint [--json] [--profile <value>]

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr
  --profile=<value>  Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.

DESCRIPTION
  validate the local store configuration

See code: packages/eas-cli/src/commands/metadata/lint.ts

eas metadata:pull

generate the local store configuration from the app stores

USAGE
  $ eas metadata:pull [-e <value>]

FLAGS
  -e, --profile=<value>  Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.

DESCRIPTION
  generate the local store configuration from the app stores

See code: packages/eas-cli/src/commands/metadata/pull.ts

eas metadata:push

sync the local store configuration to the app stores

USAGE
  $ eas metadata:push [-e <value>]

FLAGS
  -e, --profile=<value>  Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.

DESCRIPTION
  sync the local store configuration to the app stores

See code: packages/eas-cli/src/commands/metadata/push.ts

eas onboarding [TARGET_PROJECT_DIRECTORY]

continue onboarding process started on the https://expo.new website.

USAGE
  $ eas onboarding [TARGET_PROJECT_DIRECTORY]

DESCRIPTION
  continue onboarding process started on the https://expo.new website.

ALIASES
  $ eas init:onboarding
  $ eas onboarding

eas open

open the project page in a web browser

USAGE
  $ eas open

DESCRIPTION
  open the project page in a web browser

See code: packages/eas-cli/src/commands/open.ts

eas project:info

information about the current project

USAGE
  $ eas project:info

DESCRIPTION
  information about the current project

See code: packages/eas-cli/src/commands/project/info.ts

eas project:init

create or link an EAS project

USAGE
  $ eas project:init [--id <value>] [--force] [--non-interactive]

FLAGS
  --force            Whether to create a new project/link an existing project without additional prompts or overwrite
                     any existing project ID when running with --id flag
  --id=<value>       ID of the EAS project to link
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  create or link an EAS project

ALIASES
  $ eas init

See code: packages/eas-cli/src/commands/project/init.ts

eas project:onboarding [TARGET_PROJECT_DIRECTORY]

continue onboarding process started on the https://expo.new website.

USAGE
  $ eas project:onboarding [TARGET_PROJECT_DIRECTORY]

DESCRIPTION
  continue onboarding process started on the https://expo.new website.

ALIASES
  $ eas init:onboarding
  $ eas onboarding

See code: packages/eas-cli/src/commands/project/onboarding.ts

eas secret:create

create an environment secret on the current project or owner account

USAGE
  $ eas secret:create [--scope account|project] [--name <value>] [--value <value>] [--type string|file] [--force]
    [--non-interactive]

FLAGS
  --force                    Delete and recreate existing secrets
  --name=<value>             Name of the secret
  --non-interactive          Run the command in non-interactive mode.
  --scope=(account|project)  [default: project] Scope for the secret
  --type=(string|file)       The type of secret
  --value=<value>            Text value or path to a file to store in the secret

DESCRIPTION
  create an environment secret on the current project or owner account

See code: packages/eas-cli/src/commands/secret/create.ts

eas secret:delete

delete an environment secret by ID

USAGE
  $ eas secret:delete [--id <value>] [--non-interactive]

FLAGS
  --id=<value>       ID of the secret to delete
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  delete an environment secret by ID

See code: packages/eas-cli/src/commands/secret/delete.ts

eas secret:list

list environment secrets available for your current app

USAGE
  $ eas secret:list

DESCRIPTION
  list environment secrets available for your current app

See code: packages/eas-cli/src/commands/secret/list.ts

eas secret:push

read environment secrets from env file and store on the server

USAGE
  $ eas secret:push [--scope account|project] [--env-file <value>] [--force] [--non-interactive]

FLAGS
  --env-file=<value>         Env file with secrets
  --force                    Delete and recreate existing secrets
  --non-interactive          Run the command in non-interactive mode.
  --scope=(account|project)  [default: project] Scope for the secrets

DESCRIPTION
  read environment secrets from env file and store on the server

See code: packages/eas-cli/src/commands/secret/push.ts

eas submit

submit app binary to App Store and/or Play Store

USAGE
  $ eas submit [-p android|ios|all] [-e <value>] [--latest | --id <value> | --path <value> | --url <value>]
    [--verbose] [--wait] [--verbose-fastlane] [--non-interactive]

FLAGS
  -e, --profile=<value>             Name of the submit profile from eas.json. Defaults to "production" if defined in
                                    eas.json.
  -p, --platform=(android|ios|all)
  --id=<value>                      ID of the build to submit
  --latest                          Submit the latest build for specified platform
  --non-interactive                 Run command in non-interactive mode
  --path=<value>                    Path to the .apk/.aab/.ipa file
  --url=<value>                     App archive url
  --verbose                         Always print logs from EAS Submit
  --verbose-fastlane                Enable verbose logging for the submission process
  --[no-]wait                       Wait for submission to complete

DESCRIPTION
  submit app binary to App Store and/or Play Store

ALIASES
  $ eas build:submit

See code: packages/eas-cli/src/commands/submit.ts

eas update

publish an update group

USAGE
  $ eas update [--branch <value>] [--channel <value>] [-m <value>] [--input-dir <value>] [--skip-bundler]
    [--clear-cache] [--emit-metadata] [--rollout-percentage <value>] [-p android|ios|all] [--auto] [--private-key-path
    <value>] [--json --non-interactive]

FLAGS
  -m, --message=<value>             A short message describing the update
  -p, --platform=(android|ios|all)  [default: all]
  --auto                            Use the current git branch and commit message for the EAS branch and update message
  --branch=<value>                  Branch to publish the update group on
  --channel=<value>                 Channel that the published update should affect
  --clear-cache                     Clear the bundler cache before publishing
  --emit-metadata                   Emit "eas-update-metadata.json" in the bundle folder with detailed information about
                                    the generated updates
  --input-dir=<value>               [default: dist] Location of the bundle
  --json                            Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive                 Run the command in non-interactive mode.
  --private-key-path=<value>        File containing the PEM-encoded private key corresponding to the certificate in
                                    expo-updates' configuration. Defaults to a file named "private-key.pem" in the
                                    certificate's directory. Only relevant if you are using code signing:
                                    https://docs.expo.dev/eas-update/code-signing/
  --rollout-percentage=<value>      Percentage of users this update should be immediately available to. Users not in the
                                    rollout will be served the previous latest update on the branch, even if that update
                                    is itself being rolled out. The specified number must be an integer between 1 and
                                    100. When not specified, this defaults to 100.
  --skip-bundler                    Skip running Expo CLI to bundle the app before publishing

DESCRIPTION
  publish an update group

See code: packages/eas-cli/src/commands/update/index.ts

eas update:configure

configure the project to support EAS Update

USAGE
  $ eas update:configure [-p android|ios|all] [--non-interactive]

FLAGS
  -p, --platform=(android|ios|all)  [default: all] Platform to configure
  --non-interactive                 Run the command in non-interactive mode.

DESCRIPTION
  configure the project to support EAS Update

See code: packages/eas-cli/src/commands/update/configure.ts

eas update:delete GROUPID

delete all the updates in an update group

USAGE
  $ eas update:delete GROUPID [--json --non-interactive]

ARGUMENTS
  GROUPID  The ID of an update group to delete.

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  delete all the updates in an update group

See code: packages/eas-cli/src/commands/update/delete.ts

eas update:edit [GROUPID]

edit all the updates in an update group

USAGE
  $ eas update:edit [GROUPID] [--rollout-percentage <value>] [--branch <value>] [--json --non-interactive]

ARGUMENTS
  GROUPID  The ID of an update group to edit.

FLAGS
  --branch=<value>              Branch for which to list updates to select from
  --json                        Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive             Run the command in non-interactive mode.
  --rollout-percentage=<value>  Rollout percentage to set for a rollout update. The specified number must be an integer
                                between 1 and 100.

DESCRIPTION
  edit all the updates in an update group

See code: packages/eas-cli/src/commands/update/edit.ts

eas update:list

view the recent updates

USAGE
  $ eas update:list [--branch <value> | --all] [--offset <value>] [--limit <value>] [--json --non-interactive]

FLAGS
  --all              List updates on all branches
  --branch=<value>   List updates only on this branch
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --limit=<value>    The number of items to fetch each query. Defaults to 25 and is capped at 50.
  --non-interactive  Run the command in non-interactive mode.
  --offset=<value>   Start queries from specified index. Use for paginating results. Defaults to 0.

DESCRIPTION
  view the recent updates

See code: packages/eas-cli/src/commands/update/list.ts

eas update:republish

roll back to an existing update

USAGE
  $ eas update:republish [--channel <value> | --branch <value> | --group <value>] [--destination-channel <value> |
    --destination-branch <value>] [-m <value>] [-p android|ios|all] [--private-key-path <value>] [--json
    --non-interactive]

FLAGS
  -m, --message=<value>             Short message describing the republished update group
  -p, --platform=(android|ios|all)  [default: all]
  --branch=<value>                  Branch name to select an update group to republish from
  --channel=<value>                 Channel name to select an update group to republish from
  --destination-branch=<value>      Branch name to republish to if republishing to a different branch
  --destination-channel=<value>     Channel name to select a branch to republish to if republishing to a different
                                    branch
  --group=<value>                   Update group ID to republish
  --json                            Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive                 Run the command in non-interactive mode.
  --private-key-path=<value>        File containing the PEM-encoded private key corresponding to the certificate in
                                    expo-updates' configuration. Defaults to a file named "private-key.pem" in the
                                    certificate's directory. Only relevant if you are using code signing:
                                    https://docs.expo.dev/eas-update/code-signing/

DESCRIPTION
  roll back to an existing update

See code: packages/eas-cli/src/commands/update/republish.ts

eas update:roll-back-to-embedded

roll back to the embedded update

USAGE
  $ eas update:roll-back-to-embedded [--branch <value>] [--channel <value>] [--message <value>] [-p android|ios|all] [--auto]
    [--private-key-path <value>] [--json --non-interactive]

FLAGS
  -p, --platform=(android|ios|all)  [default: all]
  --auto                            Use the current git branch and commit message for the EAS branch and update message
  --branch=<value>                  Branch to publish the rollback to embedded update group on
  --channel=<value>                 Channel that the published rollback to embedded update should affect
  --json                            Enable JSON output, non-JSON messages will be printed to stderr.
  --message=<value>                 A short message describing the rollback to embedded update
  --non-interactive                 Run the command in non-interactive mode.
  --private-key-path=<value>        File containing the PEM-encoded private key corresponding to the certificate in
                                    expo-updates' configuration. Defaults to a file named "private-key.pem" in the
                                    certificate's directory. Only relevant if you are using code signing:
                                    https://docs.expo.dev/eas-update/code-signing/

DESCRIPTION
  roll back to the embedded update

See code: packages/eas-cli/src/commands/update/roll-back-to-embedded.ts

eas update:rollback

roll back to an embedded update or an existing update

USAGE
  $ eas update:rollback [--private-key-path <value>]

FLAGS
  --private-key-path=<value>  File containing the PEM-encoded private key corresponding to the certificate in
                              expo-updates' configuration. Defaults to a file named "private-key.pem" in the
                              certificate's directory. Only relevant if you are using code signing:
                              https://docs.expo.dev/eas-update/code-signing/

DESCRIPTION
  roll back to an embedded update or an existing update

See code: packages/eas-cli/src/commands/update/rollback.ts

eas update:view GROUPID

update group details

USAGE
  $ eas update:view GROUPID [--json]

ARGUMENTS
  GROUPID  The ID of an update group.

FLAGS
  --json  Enable JSON output, non-JSON messages will be printed to stderr.

DESCRIPTION
  update group details

See code: packages/eas-cli/src/commands/update/view.ts

eas webhook:create

create a webhook

USAGE
  $ eas webhook:create [--event BUILD|SUBMIT] [--url <value>] [--secret <value>] [--non-interactive]

FLAGS
  --event=(BUILD|SUBMIT)  Event type that triggers the webhook
  --non-interactive       Run the command in non-interactive mode.
  --secret=<value>        Secret used to create a hash signature of the request payload, provided in the
                          'Expo-Signature' header.
  --url=<value>           Webhook URL

DESCRIPTION
  create a webhook

See code: packages/eas-cli/src/commands/webhook/create.ts

eas webhook:delete [ID]

delete a webhook

USAGE
  $ eas webhook:delete [ID] [--non-interactive]

ARGUMENTS
  ID  ID of the webhook to delete

FLAGS
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  delete a webhook

See code: packages/eas-cli/src/commands/webhook/delete.ts

eas webhook:list

list webhooks

USAGE
  $ eas webhook:list [--event BUILD|SUBMIT] [--json]

FLAGS
  --event=(BUILD|SUBMIT)  Event type that triggers the webhook
  --json                  Enable JSON output, non-JSON messages will be printed to stderr.

DESCRIPTION
  list webhooks

See code: packages/eas-cli/src/commands/webhook/list.ts

eas webhook:update

update a webhook

USAGE
  $ eas webhook:update --id <value> [--event BUILD|SUBMIT] [--url <value>] [--secret <value>] [--non-interactive]

FLAGS
  --event=(BUILD|SUBMIT)  Event type that triggers the webhook
  --id=<value>            (required) Webhook ID
  --non-interactive       Run the command in non-interactive mode.
  --secret=<value>        Secret used to create a hash signature of the request payload, provided in the
                          'Expo-Signature' header.
  --url=<value>           Webhook URL

DESCRIPTION
  update a webhook

See code: packages/eas-cli/src/commands/webhook/update.ts

eas webhook:view ID

view a webhook

USAGE
  $ eas webhook:view ID

ARGUMENTS
  ID  ID of the webhook to view

DESCRIPTION
  view a webhook

See code: packages/eas-cli/src/commands/webhook/view.ts

eas whoami

show the username you are logged in as

USAGE
  $ eas whoami

DESCRIPTION
  show the username you are logged in as

ALIASES
  $ eas whoami

eas workflow:create [NAME]

create a new workflow configuration YAML file

USAGE
  $ eas workflow:create [NAME] [--non-interactive]

ARGUMENTS
  NAME  Name of the workflow file (must end with .yml or .yaml)

FLAGS
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  create a new workflow configuration YAML file

See code: packages/eas-cli/src/commands/workflow/create.ts

eas workflow:run [FILE]

Run an EAS workflow

USAGE
  $ eas workflow:run [FILE] [--non-interactive]

ARGUMENTS
  FILE  Path to the workflow file to run

FLAGS
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  Run an EAS workflow

See code: packages/eas-cli/src/commands/workflow/run.ts

eas workflow:validate PATH

validate a workflow configuration yaml file

USAGE
  $ eas workflow:validate PATH [--non-interactive]

ARGUMENTS
  PATH  Path to the workflow configuration YAML file (must end with .yml or .yaml)

FLAGS
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  validate a workflow configuration yaml file

See code: packages/eas-cli/src/commands/workflow/validate.ts