@donotuse/eas-cli
v18.5.0-rc.4
Published
EAS command line tool
Readme
eas-cli
EAS command line tool
Installation
npm install -g eas-cli
# or
yarn global add eas-cliEnforcing 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 commandCommands
eas account:logineas account:logouteas account:usage [ACCOUNT_NAME]eas account:vieweas analytics [STATUS]eas autocomplete [SHELL]eas branch:create [NAME]eas branch:delete [NAME]eas branch:listeas branch:renameeas branch:view [NAME]eas buildeas build:cancel [BUILD_ID]eas build:configureeas build:delete [BUILD_ID]eas build:deveas build:downloadeas build:inspecteas build:listeas build:resigneas build:runeas build:submiteas build:version:geteas build:version:seteas build:version:synceas build:view [BUILD_ID]eas channel:create [NAME]eas channel:delete [NAME]eas channel:edit [NAME]eas channel:listeas channel:pause [NAME]eas channel:resume [NAME]eas channel:rollout [CHANNEL]eas channel:view [NAME]eas configeas credentialseas credentials:configure-buildeas deploy [options]eas deploy:aliaseas deploy:alias:delete [ALIAS_NAME]eas deploy:delete [DEPLOYMENT_ID]eas deploy:promoteeas device:createeas device:deleteeas device:listeas device:renameeas device:view [UDID]eas diagnosticseas env:create [ENVIRONMENT]eas env:delete [ENVIRONMENT]eas env:exec ENVIRONMENT BASH_COMMANDeas env:get [ENVIRONMENT]eas env:list [ENVIRONMENT]eas env:pull [ENVIRONMENT]eas env:push [ENVIRONMENT]eas env:update [ENVIRONMENT]eas fingerprint:compare [HASH1] [HASH2]eas fingerprint:generateeas help [COMMAND]eas initeas init:onboarding [TARGET_PROJECT_DIRECTORY]eas logineas logouteas metadata:linteas metadata:pulleas metadata:pusheas new [PATH]eas onboarding [TARGET_PROJECT_DIRECTORY]eas openeas project:infoeas project:initeas project:new [PATH]eas project:onboarding [TARGET_PROJECT_DIRECTORY]eas submiteas updateeas update:configureeas update:delete GROUPIDeas update:edit [GROUPID]eas update:listeas update:republisheas update:revert-update-rollouteas update:roll-back-to-embeddedeas update:rollbackeas update:view GROUPIDeas uploadeas webhook:createeas webhook:delete [ID]eas webhook:listeas webhook:updateeas webhook:view IDeas whoamieas worker:aliaseas worker:alias:delete [ALIAS_NAME]eas worker:delete [DEPLOYMENT_ID]eas deploy [options]eas workflow:canceleas workflow:create [NAME]eas workflow:logs [ID]eas workflow:run FILEeas workflow:runseas workflow:status [WORKFLOW_RUN_ID]eas workflow:validate PATHeas workflow:view [ID]
eas account:login
log in with your Expo account
USAGE
$ eas account:login [-s] [-b]
FLAGS
-b, --browser Login with your browser
-s, --sso Login with SSO
DESCRIPTION
log in with your Expo account
ALIASES
$ eas loginSee code: packages/eas-cli/src/commands/account/login.ts
eas account:logout
log out
USAGE
$ eas account:logout
DESCRIPTION
log out
ALIASES
$ eas logoutSee code: packages/eas-cli/src/commands/account/logout.ts
eas account:usage [ACCOUNT_NAME]
view account usage and billing for the current cycle
USAGE
$ eas account:usage [ACCOUNT_NAME] [--json] [--non-interactive]
ARGUMENTS
[ACCOUNT_NAME] Account name to view usage for. If not provided, the account will be selected interactively (or
defaults to the only account if there is just one)
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
view account usage and billing for the current cycleSee code: packages/eas-cli/src/commands/account/usage.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 whoamiSee 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 settingsSee 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-cacheSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
create a branchSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
delete a branchSee 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. Implies --non-interactive.
--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 branchesSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
--to=<value> new name of the branch.
DESCRIPTION
rename a branchSee 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. Implies --non-interactive.
--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 branchSee code: packages/eas-cli/src/commands/branch/view.ts
eas build
start a build
USAGE
$ eas build [-p android|ios|all] [-e PROFILE_NAME] [--local] [--output <value>] [--wait] [--clear-cache]
[-s | --auto-submit-with-profile PROFILE_NAME] [--what-to-test <value>] [-m <value>] [--build-logger-level
trace|debug|info|warn|error|fatal] [--freeze-credentials] [--verbose-logs] [--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=<option> <options: android|ios|all>
-s, --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=<option> The level of logs to output during the build process. Defaults to "info".
<options: trace|debug|info|warn|error|fatal>
--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. Implies
--non-interactive.
--local Run build locally [experimental]
--non-interactive Run the command in non-interactive mode.
--output=<value> Output path for local build
--verbose-logs Use verbose logs for the build process
--[no-]wait Wait for build(s) to complete
--what-to-test=<value> Specify the "What to Test" information for the build in TestFlight
(iOS-only). To be used with the `auto-submit` flag
DESCRIPTION
start a buildSee 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 PROFILE_NAME]
FLAGS
-e, --profile=PROFILE_NAME Filter builds by build profile if build ID is not provided
-p, --platform=<option> Filter builds by the platform if build ID is not provided
<options: android|ios|all>
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
cancel a buildSee 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=<option> Platform to configure
<options: android|ios|all>
DESCRIPTION
configure the project to support EAS BuildSee 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 PROFILE_NAME]
FLAGS
-e, --profile=PROFILE_NAME Filter builds by build profile if build ID is not provided
-p, --platform=<option> Filter builds by the platform if build ID is not provided
<options: android|ios|all>
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
delete a buildSee code: packages/eas-cli/src/commands/build/delete.ts
eas build:dev
run dev client simulator/emulator build with matching fingerprint or create a new one
USAGE
$ eas build:dev [-p ios|android] [-e PROFILE_NAME] [--skip-build-if-not-found]
FLAGS
-e, --profile=PROFILE_NAME Name of the build profile from eas.json. It must be a profile allowing to create
emulator/simulator internal distribution dev client builds. The "development-simulator"
build profile will be selected by default.
-p, --platform=<option> <options: ios|android>
--skip-build-if-not-found Skip build if no successful build with matching fingerprint is found.
DESCRIPTION
run dev client simulator/emulator build with matching fingerprint or create a new oneSee code: packages/eas-cli/src/commands/build/dev.ts
eas build:download
download simulator/emulator builds for a given fingerprint hash
USAGE
$ eas build:download --fingerprint <value> [-p ios|android] [--dev-client] [--json] [--non-interactive]
FLAGS
-p, --platform=<option> <options: ios|android>
--[no-]dev-client Filter only dev-client builds.
--fingerprint=<value> (required) Fingerprint hash of the build to download
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
download simulator/emulator builds for a given fingerprint hashSee code: packages/eas-cli/src/commands/build/download.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 OUTPUT_DIRECTORY [-e PROFILE_NAME]
[--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=<option>
(required)
<options: android|ios>
-s, --stage=<option>
(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
<options: archive|pre-build|post-build>
-v, --verbose
--force
Delete OUTPUT_DIRECTORY if it already exists.
DESCRIPTION
inspect the state of the project at specific build stages, useful for troubleshootingSee 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>] [--fingerprint-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=<option> <options: 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=<option> Filter only builds with the specified distribution type
<options: store|internal|simulator>
--fingerprint-hash=<value> Filter only builds with the specified fingerprint hash
--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. Implies
--non-interactive.
--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=<option> Filter only builds with the specified status
<options: new|in-queue|in-progress|pending-cancel|errored|finished|canceled>
DESCRIPTION
list all builds for your projectSee 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 PROFILE_NAME] [--source-profile PROFILE_NAME] [--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=<option> <options: android|ios>
--id=<value> ID of the build to re-sign.
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies
--non-interactive.
--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 archiveSee 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 PROFILE_NAME]
[--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=<option> <options: 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-cliSee 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>]
[--what-to-test <value>] [--verbose] [--wait] [--verbose-fastlane] [-g <value>...] [--non-interactive]
FLAGS
-e, --profile=<value> Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.
-g, --groups=<value>... Internal TestFlight testing groups to add the build to (iOS only). Learn more: https://dev
eloper.apple.com/help/app-store-connect/test-a-beta-version/add-internal-testers
-p, --platform=<option> <options: 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
--what-to-test=<value> Sets the "What to test" information in TestFlight (iOS only).
DESCRIPTION
submit app binary to App Store and/or Play Store
ALIASES
$ eas build:submiteas build:version:get
get the latest version from EAS servers
USAGE
$ eas build:version:get [-p android|ios|all] [-e PROFILE_NAME] [--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=<option> <options: android|ios|all>
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies
--non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
get the latest version from EAS serversSee 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 PROFILE_NAME]
FLAGS
-e, --profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.
-p, --platform=<option> <options: android|ios>
DESCRIPTION
update version of an appSee 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 PROFILE_NAME]
FLAGS
-e, --profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.
-p, --platform=<option> <options: android|ios|all>
DESCRIPTION
update a version in native code with a value stored on EAS serversSee 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 projectSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
create a channelSee code: packages/eas-cli/src/commands/channel/create.ts
eas channel:delete [NAME]
Delete a channel
USAGE
$ eas channel:delete [NAME] [--json] [--non-interactive]
ARGUMENTS
[NAME] Name of the channel to delete
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
Delete a channelSee code: packages/eas-cli/src/commands/channel/delete.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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
point a channel at a new branchSee 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. Implies --non-interactive.
--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 channelsSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
pause a channel to stop it from sending updatesSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
resume a channel to start sending updatesSee 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=<option> Rollout action to perform
<options: create|edit|end|view>
--branch=<value> Branch to roll out. Use with --action=create
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies
--non-interactive.
--non-interactive Run the command in non-interactive mode.
--outcome=<option> End outcome of rollout. Use with --action=end
<options: republish-and-revert|revert>
--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. Implies --non-interactive.
--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 channelSee 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 PROFILE_NAME] [--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=<option> <options: android|ios>
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies
--non-interactive.
--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=<option> <options: android|ios>
DESCRIPTION
manage credentialsSee 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 PROFILE_NAME]
FLAGS
-e, --profile=PROFILE_NAME The name of the build profile in eas.json.
-p, --platform=<option> <options: android|ios>
DESCRIPTION
Set up credentials for building your project.See code: packages/eas-cli/src/commands/credentials/configure-build.ts
eas deploy [options]
deploy your Expo Router web build and API Routes
USAGE
$ eas deploy [options]
$ eas deploy --prod
FLAGS
--alias=name Custom alias to assign to the new deployment.
--dry-run Outputs a tarball of the new deployment instead of uploading it.
--environment=<value> Environment variable's environment, e.g. 'production', 'preview', 'development'
--export-dir=dir [default: dist] Directory where the Expo project was exported.
--id=xyz123 Custom unique identifier for the new deployment.
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
--prod Create a new production deployment.
--[no-]source-maps Include source maps in the deployment.
DESCRIPTION
deploy your Expo Router web build and API Routes
ALIASES
$ eas worker:deploySee code: packages/eas-cli/src/commands/deploy/index.ts
eas deploy:alias
Assign deployment aliases.
USAGE
$ eas deploy:alias [--prod] [--alias name] [--id xyz123] [--json] [--non-interactive]
FLAGS
--alias=name Custom alias to assign to the existing deployment.
--id=xyz123 Unique identifier of an existing deployment.
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
--prod Promote an existing deployment to production.
DESCRIPTION
Assign deployment aliases.
ALIASES
$ eas worker:alias
$ eas deploy:promoteSee code: packages/eas-cli/src/commands/deploy/alias/index.ts
eas deploy:alias:delete [ALIAS_NAME]
Delete deployment aliases.
USAGE
$ eas deploy:alias:delete [ALIAS_NAME] [--json] [--non-interactive]
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
Delete deployment aliases.
ALIASES
$ eas worker:alias:deleteSee code: packages/eas-cli/src/commands/deploy/alias/delete.ts
eas deploy:delete [DEPLOYMENT_ID]
Delete a deployment.
USAGE
$ eas deploy:delete [DEPLOYMENT_ID] [--json] [--non-interactive]
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
Delete a deployment.
ALIASES
$ eas worker:deleteSee code: packages/eas-cli/src/commands/deploy/delete.ts
eas deploy:promote
Assign deployment aliases.
USAGE
$ eas deploy:promote [--prod] [--alias name] [--id xyz123] [--json] [--non-interactive]
FLAGS
--alias=name Custom alias to assign to the existing deployment.
--id=xyz123 Unique identifier of an existing deployment.
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
--prod Promote an existing deployment to production.
DESCRIPTION
Assign deployment aliases.
ALIASES
$ eas worker:alias
$ eas deploy:promoteeas device:create
register new Apple Devices to use for internal distribution
USAGE
$ eas device:create
DESCRIPTION
register new Apple Devices to use for internal distributionSee 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. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
--udid=<value> The Apple device ID to disable
DESCRIPTION
remove a registered device from your accountSee 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. Implies --non-interactive.
--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 accountSee 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. Implies --non-interactive.
--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 deviceSee 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 projectSee code: packages/eas-cli/src/commands/device/view.ts
eas diagnostics
display environment info
USAGE
$ eas diagnostics
DESCRIPTION
display environment infoSee code: packages/eas-cli/src/commands/diagnostics.ts
eas env:create [ENVIRONMENT]
create an environment variable for the current project or account
USAGE
$ eas env:create [ENVIRONMENT] [--name <value>] [--value <value>] [--force] [--type string|file] [--visibility
plaintext|sensitive|secret] [--scope project|account] [--environment <value>...] [--non-interactive]
ARGUMENTS
[ENVIRONMENT] Environment to create the variable in. Default environments are 'production', 'preview', and
'development'.
FLAGS
--environment=<value>... Environment variable's environment, e.g. 'production', 'preview', 'development'
--force Overwrite existing variable
--name=<value> Name of the variable
--non-interactive Run the command in non-interactive mode.
--scope=<option> [default: project] Scope for the variable
<options: project|account>
--type=<option> The type of variable
<options: string|file>
--value=<value> Text value or the variable
--visibility=<option> Visibility of the variable
<options: plaintext|sensitive|secret>
DESCRIPTION
create an environment variable for the current project or accountSee code: packages/eas-cli/src/commands/env/create.ts
eas env:delete [ENVIRONMENT]
delete an environment variable for the current project or account
USAGE
$ eas env:delete [ENVIRONMENT] [--variable-name <value>] [--variable-environment <value>] [--scope
project|account] [--non-interactive]
ARGUMENTS
[ENVIRONMENT] Current environment of the variable to delete. Default environments are 'production', 'preview', and
'development'.
FLAGS
--non-interactive Run the command in non-interactive mode.
--scope=<option> [default: project] Scope for the variable
<options: project|account>
--variable-environment=<value> Current environment of the variable to delete
--variable-name=<value> Name of the variable to delete
DESCRIPTION
delete an environment variable for the current project or accountSee code: packages/eas-cli/src/commands/env/delete.ts
eas env:exec ENVIRONMENT BASH_COMMAND
execute a command with environment variables from the selected environment
USAGE
$ eas env:exec ENVIRONMENT BASH_COMMAND [--non-interactive]
ARGUMENTS
ENVIRONMENT Environment to execute the command in. Default environments are 'production', 'preview', and
'development'.
BASH_COMMAND bash command to execute with the environment variables from the environment
FLAGS
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
execute a command with environment variables from the selected environmentSee code: packages/eas-cli/src/commands/env/exec.ts
eas env:get [ENVIRONMENT]
view an environment variable for the current project or account
USAGE
$ eas env:get [ENVIRONMENT] [--variable-name <value>] [--variable-environment <value>] [--format
long|short] [--scope project|account] [--non-interactive]
ARGUMENTS
[ENVIRONMENT] Current environment of the variable. Default environments are 'production', 'preview', and
'development'.
FLAGS
--format=<option> [default: short] Output format
<options: long|short>
--non-interactive Run the command in non-interactive mode.
--scope=<option> [default: project] Scope for the variable
<options: project|account>
--variable-environment=<value> Current environment of the variable
--variable-name=<value> Name of the variable
DESCRIPTION
view an environment variable for the current project or accountSee code: packages/eas-cli/src/commands/env/get.ts
eas env:list [ENVIRONMENT]
list environment variables for the current project or account
USAGE
$ eas env:list [ENVIRONMENT] [--include-sensitive] [--include-file-content] [--environment <value>...]
[--format long|short] [--scope project|account]
ARGUMENTS
[ENVIRONMENT] Environment to list the variables from. Default environments are 'production', 'preview', and
'development'.
FLAGS
--environment=<value>... Environment variable's environment, e.g. 'production', 'preview', 'development'
--format=<option> [default: short] Output format
<options: long|short>
--include-file-content Display files content in the output
--include-sensitive Display sensitive values in the output
--scope=<option> [default: project] Scope for the variable
<options: project|account>
DESCRIPTION
list environment variables for the current project or accountSee code: packages/eas-cli/src/commands/env/list.ts
eas env:pull [ENVIRONMENT]
pull environment variables for the selected environment to .env file
USAGE
$ eas env:pull [ENVIRONMENT] [--non-interactive] [--environment <value>] [--path <value>]
ARGUMENTS
[ENVIRONMENT] Environment to pull variables from. Default environments are 'production', 'preview', and
'development'.
FLAGS
--environment=<value> Environment variable's environment, e.g. 'production', 'preview', 'development'
--non-interactive Run the command in non-interactive mode.
--path=<value> [default: .env.local] Path to the result `.env` file
DESCRIPTION
pull environment variables for the selected environment to .env fileSee code: packages/eas-cli/src/commands/env/pull.ts
eas env:push [ENVIRONMENT]
push environment variables from .env file to the selected environment
USAGE
$ eas env:push [ENVIRONMENT] [--environment <value>...] [--path <value>] [--force]
ARGUMENTS
[ENVIRONMENT] Environment to push variables to. Default environments are 'production', 'preview', and 'development'.
FLAGS
--environment=<value>... Environment variable's environment, e.g. 'production', 'preview', 'development'
--force Skip confirmation and automatically override existing variables
--path=<value> [default: .env.local] Path to the input `.env` file
DESCRIPTION
push environment variables from .env file to the selected environmentSee code: packages/eas-cli/src/commands/env/push.ts
eas env:update [ENVIRONMENT]
update an environment variable on the current project or account
USAGE
$ eas env:update [ENVIRONMENT] [--variable-name <value>] [--variable-environment <value>] [--name <value>]
[--value <value>] [--type string|file] [--visibility plaintext|sensitive|secret] [--scope project|account]
[--environment <value>...] [--non-interactive]
ARGUMENTS
[ENVIRONMENT] Current environment of the variable to update. Default environments are 'production', 'preview', and
'development'.
FLAGS
--environment=<value>... Environment variable's environment, e.g. 'production', 'preview', 'development'
--name=<value> New name of the variable
--non-interactive Run the command in non-interactive mode.
--scope=<option> [default: project] Scope for the variable
<options: project|account>
--type=<option> The type of variable
<options: string|file>
--value=<value> New value or the variable
--variable-environment=<value> Current environment of the variable to update
--variable-name=<value> Current name of the variable
--visibility=<option> Visibility of the variable
<options: plaintext|sensitive|secret>
DESCRIPTION
update an environment variable on the current project or accountSee code: packages/eas-cli/src/commands/env/update.ts
eas fingerprint:compare [HASH1] [HASH2]
compare fingerprints of the current project, builds, and updates
USAGE
$ eas fingerprint:compare [HASH1...] [HASH2...] [--build-id <value>...] [--update-id <value>...] [--open]
[--environment <value>] [--json] [--non-interactive]
ARGUMENTS
[HASH1...] If provided alone, HASH1 is compared against the current project's fingerprint.
[HASH2...] If two hashes are provided, HASH1 is compared against HASH2.
FLAGS
--build-id=<value>... Compare the fingerprint with the build with the specified ID
--environment=<value> If generating a fingerprint from the local directory, use the specified environment.
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies --non-interactive.
--non-interactive Run the command in non-interactive mode.
--open Open the fingerprint comparison in the browser
--update-id=<value>... Compare the fingerprint with the update with the specified ID
DESCRIPTION
compare fingerprints of the current project, builds, and updates
EXAMPLES
$ eas fingerprint:compare # Compare fingerprints in interactive mode
$ eas fingerprint:compare <FINGERPRINT-HASH> # Compare fingerprint against local directory
$ eas fingerprint:compare <FINGERPRINT-HASH-1> <FINGERPRINT-HASH-2> # Compare provided fingerprints
$ eas fingerprint:compare --build-id <BUILD-ID> # Compare fingerprint from build against local directory
$ eas fingerprint:compare --build-id <BUILD-ID> --environment production # Compare fingerprint from build against local directory with the "production" environment
$ eas fingerprint:compare --build-id <BUILD-ID-1> --build-id <BUILD-ID-2> # Compare fingerprint from a build against another build
$ eas fingerprint:compare --build-id <BUILD-ID> --update-id <UPDATE-ID> # Compare fingerprint from build against fingerprint from update
$ eas fingerprint:compare <FINGERPRINT-HASH> --update-id <UPDATE-ID> # Compare fingerprint from update against provided fingerprintSee code: packages/eas-cli/src/commands/fingerprint/compare.ts
eas fingerprint:generate
generate fingerprints from the current project
USAGE
$ eas fingerprint:generate [-p android|ios] [--environment <value> | -e <value>] [--json] [--non-interactive]
FLAGS
-e, --build-profile=<value> Name of the build profile from eas.json.
-p, --platform=<option> <options: android|ios>
--environment=<value> Environment variable's environment, e.g. 'production', 'preview', 'development'
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies
--non-interactive.
--non-interactive Run the command in non-interactive mode.
DESCRIPTION
generate fingerprints from the current project
EXAMPLES
$ eas fingerprint:generate # Generate fingerprint in interactive mode
$ eas fingerprint:generate --build-profile preview # Generate a fingerprint using the "preview" build profile
$ eas fingerprint:generate --environment preview # Generate a fingerprint using the "preview" environment
$ eas fingerprint:generate --json --non-interactive --platform android # Output fingerprint json to stdoutSee code: packages/eas-cli/src/commands/fingerprint/generate.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 initeas 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 onboardingeas login
log in with your Expo account
USAGE
$ eas login [-s] [-b]
FLAGS
-b, --browser Login with your browser
-s, --sso Login with SSO
DESCRIPTION
log in with your Expo account
ALIASES
$ eas logineas logout
log out
USAGE
$ eas logout
DESCRIPTION
log out
ALIASES
$ eas logouteas 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 configurationSee 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 storesSee 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 storesSee code: packages/eas-cli/src/commands/metadata/push.ts
eas new [PATH]
Create a new project configured with Expo Application Services (EAS)
USAGE
$ eas new [PATH] [-p bun|npm|pnpm|yarn]
ARGUMENTS
[PATH] Path to create the project (defaults to current directory)
FLAGS
-p, --package-manager=<option> [default: npm] Package manager to use for installing dependencies
<options: bun|npm|pnpm|yarn>
DESCRIPTION
Create a new project configured with Expo Application Services (EAS)
ALIASES
$ eas neweas 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 onboardingeas open
open the project page in a web browser
USAGE
$ eas open
DESCRIPTION
open the project page in a web browserSee 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 projectSee 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 initSee code: packages/eas-cli/src/commands/project/init.ts
eas project:new [PATH]
Create a new project configured with Expo Application Services (EAS)
USAGE
$ eas project:new [PATH] [-p bun|npm|pnpm|yarn]
ARGUMENTS
[PATH] Path to create the project (defaults to current directory)
FLAGS
-p, --package-manager=<option> [default: npm] Package manager to use for installing dependencies
<options: bun|npm|pnpm|yarn>
DESCRIPTION
Create a new project configured with Expo Application Services (EAS)
ALIASES
$ eas newSee code: packages/eas-cli/src/commands/project/new.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 onboardingSee code: packages/eas-cli/src/commands/project/onboarding.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>]
[--what-to-test <value>] [--verbose] [--wait] [--verbose-fastlane] [-g <value>...] [--non-interactive]
FLAGS
-e, --profile=<value> Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.
-g, --groups=<value>... Internal TestFlight testing groups to add the build to (iOS only). Learn more: https://dev
eloper.apple.com/help/app-store-connect/test-a-beta-version/add-internal-testers
-p, --platform=<option> <options: 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
--what-to-test=<value> Sets the "What to test" information in TestFlight (iOS only).
DESCRIPTION
submit app binary to App Store and/or Play Store
ALIASES
$ eas build:submitSee 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>] [--environment <value>] [--json] [--non-interactive]
FLAGS
-m, --message=<value> A short message describing the update
-p, --platform=<option> [default: all]
<options: android|ios|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
--environment=<value> Environment to use for the server-side defined EAS environment variables during
command execution, e.g. "production", "preview", "development". Required for
projects using Expo SDK 55 or greater.
--input-dir=<value> [default: dist] Location of the bundle
--json Enable JSON output, non-JSON messages will be printed to stderr. Implies
--non-interactive.
--non-interactive Run the command in non-interactive mode.
--priv