---
description: The Capawesome Cloud CLI manages apps and resources from the command line — Live Updates, Native Builds, and App Submissions.
title: Capawesome Cloud CLI - Capawesome
image: https://capawesome.io/docs/assets/images/social/cloud/cli.png
---

[ Skip to content](#cli) 

[ 🎉 Introducing **Capawesome Platform** — one platform for Live Updates, Native Builds, App Store Publishing, and Insider SDKs.](https://capawesome.io) 

* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Command Reference ](#command-reference)
* [  Advanced ](#advanced)
* [  Console ](https://console.cloud.capawesome.io/)
* [  App Store Publishing ](/docs/cloud/app-store-publishing/)
* [  Live Updates ](/docs/cloud/live-updates/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

* [  Command Reference ](#command-reference)
* [  Advanced ](#advanced)

# CLI[¶](#cli "Permanent link")

The Capawesome Cloud Command Line Interface (CLI) can be used to manage your apps and resources from the command line, including Live Updates, Native Builds, and App Submissions.

## Installation[¶](#installation "Permanent link")

The Capawesome CLI can be installed globally via [npm](https://www.npmjs.com/package/@capawesome/cli):

`[](#%5F%5Fcodelineno-0-1)npm install -g @capawesome/cli@latest
`

## Help[¶](#help "Permanent link")

The Capawesome CLI ships with command documentation that is accessible with the `--help` flag.

`[](#%5F%5Fcodelineno-1-1)npx @capawesome/cli --help
`

## Usage[¶](#usage "Permanent link")

The Capawesome CLI uses the following syntax:

`[](#%5F%5Fcodelineno-2-1)npx @capawesome/cli <command> [options]
`

### Authentication[¶](#authentication "Permanent link")

To use the Capawesome CLI, you need to authenticate with Capawesome Cloud. You can do this by running the following command:

`[](#%5F%5Fcodelineno-3-1)npx @capawesome/cli login
`

For CI/CD environments, you can generate a token from the [Capawesome Cloud Console](https://console.cloud.capawesome.io/settings/tokens) and use it to log in non-interactively:

`[](#%5F%5Fcodelineno-4-1)npx @capawesome/cli login --token <your_token>
`

## Command Reference[¶](#command-reference "Permanent link")

* [apps:create](#appscreate)
* [apps:delete](#appsdelete)
* [apps:get](#appsget)
* [apps:link](#appslink)
* [apps:list](#appslist)
* [apps:transfer](#appstransfer)
* [apps:unlink](#appsunlink)
* [apps:builds:cancel](#appsbuildscancel)
* [apps:builds:create](#appsbuildscreate)
* [apps:builds:download](#appsbuildsdownload)
* [apps:builds:get](#appsbuildsget)
* [apps:builds:list](#appsbuildslist)
* [apps:builds:logs](#appsbuildslogs)
* [apps:certificates:create](#appscertificatescreate)
* [apps:certificates:delete](#appscertificatesdelete)
* [apps:certificates:get](#appscertificatesget)
* [apps:certificates:list](#appscertificateslist)
* [apps:certificates:update](#appscertificatesupdate)
* [apps:channels:create](#appschannelscreate)
* [apps:channels:delete](#appschannelsdelete)
* [apps:channels:get](#appschannelsget)
* [apps:channels:list](#appschannelslist)
* [apps:channels:pause](#appschannelspause)
* [apps:channels:resume](#appschannelsresume)
* [apps:channels:update](#appschannelsupdate)
* [apps:deployments:cancel](#appsdeploymentscancel)
* [apps:deployments:create](#appsdeploymentscreate)
* [apps:deployments:get](#appsdeploymentsget)
* [apps:deployments:list](#appsdeploymentslist)
* [apps:deployments:logs](#appsdeploymentslogs)
* [apps:destinations:create](#appsdestinationscreate)
* [apps:destinations:delete](#appsdestinationsdelete)
* [apps:destinations:get](#appsdestinationsget)
* [apps:destinations:list](#appsdestinationslist)
* [apps:destinations:update](#appsdestinationsupdate)
* [apps:devices:delete](#appsdevicesdelete)
* [apps:devices:forcechannel](#appsdevicesforcechannel)
* [apps:devices:probe](#appsdevicesprobe)
* [apps:devices:unforcechannel](#appsdevicesunforcechannel)
* [apps:environments:create](#appsenvironmentscreate)
* [apps:environments:delete](#appsenvironmentsdelete)
* [apps:environments:list](#appsenvironmentslist)
* [apps:environments:set](#appsenvironmentsset)
* [apps:environments:unset](#appsenvironmentsunset)
* [apps:liveupdates:bundle](#appsliveupdatesbundle)
* [apps:liveupdates:create](#appsliveupdatescreate)
* [apps:liveupdates:generatemanifest](#appsliveupdatesgeneratemanifest)
* [apps:liveupdates:generatesigningkey](#appsliveupdatesgeneratesigningkey)
* [apps:liveupdates:rollback](#appsliveupdatesrollback)
* [apps:liveupdates:rollout](#appsliveupdatesrollout)
* [apps:liveupdates:upload](#appsliveupdatesupload)
* [apps:liveupdates:register](#appsliveupdatesregister)
* [apps:liveupdates:setnativeversions](#appsliveupdatessetnativeversions)
* [doctor](#doctor)
* [login](#login)
* [logout](#logout)
* [whoami](#whoami)
* [organizations:create](#organizationscreate)
* [organizations:get](#organizationsget)
* [organizations:list](#organizationslist)

### `apps:create`[¶](#appscreate "Permanent link")

Create a new app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-5-1)npx @capawesome/cli apps:create [options]
`

**Options:**

* `--json`: Output in JSON format.
* `--link`: Connect the created app to the local git repository.
* `--name`: The name of the app.
* `--organization-id`: The ID of the organization to create the app in.
* `--type`: The type of the app. Must be `android`, `capacitor`, `cordova`, or `ios`. Defaults to `capacitor`.
* `--yes, -y`: Skip all confirmation prompts.

### `apps:delete`[¶](#appsdelete "Permanent link")

Delete an app from Capawesome Cloud.

`[](#%5F%5Fcodelineno-6-1)npx @capawesome/cli apps:delete [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--yes, -y`: Skip confirmation prompt.

### `apps:get`[¶](#appsget "Permanent link")

Get an existing app from Capawesome Cloud.

`[](#%5F%5Fcodelineno-7-1)npx @capawesome/cli apps:get [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--json`: Output in JSON format.

### `apps:list`[¶](#appslist "Permanent link")

List all apps in an organization.

`[](#%5F%5Fcodelineno-8-1)npx @capawesome/cli apps:list [options]
`

**Options:**

* `--json`: Output in JSON format.
* `--limit`: The maximum number of apps to return.
* `--offset`: The offset to start returning apps from.
* `--organization-id`: The ID of the organization.

### `apps:transfer`[¶](#appstransfer "Permanent link")

Transfer an app to another organization.

`[](#%5F%5Fcodelineno-9-1)npx @capawesome/cli apps:transfer [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--organization-id`: The ID of the target organization.
* `--yes, -y`: Skip confirmation prompt.

### `apps:link`[¶](#appslink "Permanent link")

Connect a git repository to an app. The repository information (provider, owner, and repository name) is automatically detected from the local git remote (`origin`).

`[](#%5F%5Fcodelineno-10-1)npx @capawesome/cli apps:link [options]
`

**Options:**

* `--app-id`: The ID of the app.

### `apps:unlink`[¶](#appsunlink "Permanent link")

Disconnect a git repository from an app.

`[](#%5F%5Fcodelineno-11-1)npx @capawesome/cli apps:unlink [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--yes, -y`: Skip confirmation prompt.

### `apps:builds:cancel`[¶](#appsbuildscancel "Permanent link")

Cancel an app build.

`[](#%5F%5Fcodelineno-12-1)npx @capawesome/cli apps:builds:cancel [options]
`

**Options:**

* `--app-id`: The ID of the app the build belongs to.
* `--build-id`: The ID of the build to cancel.

### `apps:builds:create`[¶](#appsbuildscreate "Permanent link")

Create a new app build.

`[](#%5F%5Fcodelineno-13-1)npx @capawesome/cli apps:builds:create [options]
`

**Options:**

* `--aab`: Download the generated AAB file (Android only). Optionally provide a file path.
* `--apk`: Download the generated APK file (Android only). Optionally provide a file path.
* `--app-id`: The ID of the app to create the build for.
* `--certificate`: The name of the certificate to use for the build.
* `--channel`: The name of the channel to deploy to (Web only).
* `--destination`: The name of the destination to deploy to (Android/iOS only).
* `--detached`: Exit immediately after creating the build without waiting for completion.
* `--environment`: The name of the environment to use for the build.
* `--git-ref`: The Git reference (branch, tag, or commit SHA) to build.
* `--ipa`: Download the generated IPA file (iOS only). Optionally provide a file path.
* `--json`: Output in JSON format. This will include additional information such as the build ID.
* `--path`: Path to local source files to upload. Cannot be used together with `--git-ref`.
* `--platform`: The platform for the build. Supported values are `android`, `ios`, and `web`.
* `--stack`: The name of the stack to use for the build. Must be either `macos-sequoia` or `macos-tahoe`.
* `--type`: The type of build. For Android, supported values are `debug` and `release`. For iOS, supported values are `simulator`, `development`, `ad-hoc`, `app-store`, and `enterprise`. For Web, no type is required.
* `--url`: URL to a zip file to use as build source. Cannot be used together with `--git-ref` or `--path`.
* `--variable`: Ad hoc environment variable in `key=value` format. Can be specified multiple times.
* `--variable-file`: Path to a file containing ad hoc environment variables in `.env` format.
* `--yes, -y`: Skip confirmation prompts.
* `--zip`: Download the generated zip file (Web only). Optionally provide a file path.

### `apps:builds:download`[¶](#appsbuildsdownload "Permanent link")

Download the build artifacts for an app build.

`[](#%5F%5Fcodelineno-14-1)npx @capawesome/cli apps:builds:download [options]
`

**Options:**\- `--app-id`: The ID of the app the build belongs to.  
\- `--build-id`: The ID of the build to download artifacts for.  
\- `--aab`: Download the generated AAB file (Android only). Optionally provide a file path.  
\- `--apk`: Download the generated APK file (Android only). Optionally provide a file path.  
\- `--ipa`: Download the generated IPA file (iOS only). Optionally provide a file path. - `--zip`: Download the generated zip file (Web only). Optionally provide a file path.

### `apps:builds:get`[¶](#appsbuildsget "Permanent link")

Get an existing app build. When `--json` is set, the response also includes the related job (status, logs, timing) so failed builds can be debugged programmatically.

`[](#%5F%5Fcodelineno-15-1)npx @capawesome/cli apps:builds:get [options]
`

**Options:**

* `--app-id`: The ID of the app the build belongs to.
* `--build-id`: The ID of the build.
* `--json`: Output in JSON format. Includes the related job.

### `apps:builds:list`[¶](#appsbuildslist "Permanent link")

List all builds for an app. When `--json` is set, each build also includes the related job (status, logs, timing) so failed builds can be debugged programmatically.

`[](#%5F%5Fcodelineno-16-1)npx @capawesome/cli apps:builds:list [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--json`: Output in JSON format. Includes the related job for each build.
* `--limit`: The maximum number of builds to return.
* `--number-as-string`: Filter by build number.
* `--offset`: The offset to start returning builds from.
* `--platform`: Filter by platform. Supported values are `android`, `ios`, and `web`.

### `apps:builds:logs`[¶](#appsbuildslogs "Permanent link")

Display the logs for a ongoing or completed app build.

`[](#%5F%5Fcodelineno-17-1)npx @capawesome/cli apps:builds:logs [options]
`

**Options:**\- `--app-id`: The ID of the app the build belongs to.  
\- `--build-id`: The ID of the build to display logs for. 

### `apps:certificates:create`[¶](#appscertificatescreate "Permanent link")

Create a new certificate for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-18-1)npx @capawesome/cli apps:certificates:create [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--file`: Path to the certificate file.
* `--key-alias`: Key alias for the certificate.
* `--key-password`: Key password for the certificate.
* `--name`: The name of the certificate.
* `--password`: Password for the certificate.
* `--platform`: The platform of the certificate. Supported values are `android`, `ios`, and `web`.
* `--provisioning-profile`: Paths to provisioning profile files to upload and link. Can be specified multiple times.
* `--type`: The type of the certificate. Supported values are `development` and `production`.
* `--yes, -y`: Skip optional prompts.

### `apps:certificates:delete`[¶](#appscertificatesdelete "Permanent link")

Delete a certificate from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-19-1)npx @capawesome/cli apps:certificates:delete [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--certificate-id`: The ID of the certificate.
* `--name`: The name of the certificate.
* `--platform`: The platform of the certificate (`android`, `ios`, `web`).
* `--type`: The type of the certificate. Supported values are `development` and `production`.
* `--yes, -y`: Skip confirmation prompt.

### `apps:certificates:get`[¶](#appscertificatesget "Permanent link")

Get a certificate from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-20-1)npx @capawesome/cli apps:certificates:get [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--certificate-id`: The ID of the certificate.
* `--json`: Output in JSON format.
* `--name`: The name of the certificate.
* `--platform`: The platform of the certificate (`android`, `ios`, `web`).
* `--type`: The type of the certificate. Supported values are `development` and `production`.

### `apps:certificates:list`[¶](#appscertificateslist "Permanent link")

List all certificates for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-21-1)npx @capawesome/cli apps:certificates:list [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--json`: Output in JSON format.
* `--limit`: The maximum number of certificates to return.
* `--offset`: The offset to start returning certificates from.
* `--platform`: Filter by platform. Supported values are `android`, `ios`, and `web`.
* `--type`: Filter by type. Supported values are `development` and `production`.

### `apps:certificates:update`[¶](#appscertificatesupdate "Permanent link")

Update an existing certificate from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-22-1)npx @capawesome/cli apps:certificates:update [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--certificate-id`: The ID of the certificate.
* `--key-alias`: Key alias for the certificate.
* `--key-password`: Key password for the certificate.
* `--name`: The name of the certificate.
* `--password`: Password for the certificate.
* `--type`: The type of the certificate. Supported values are `development` and `production`.

### `apps:channels:create`[¶](#appschannelscreate "Permanent link")

Create a new channel for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-23-1)npx @capawesome/cli apps:channels:create [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--ignore-errors`: Ignore errors when creating the channel. This is useful for CI/CD pipelines where the channel may already exist. Defaults to `false`.
* `--name`: The name of the channel.
* `--protected`: Whether to protect the channel or not. Defaults to `false`.

### `apps:channels:delete`[¶](#appschannelsdelete "Permanent link")

Delete a channel from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-24-1)npx @capawesome/cli apps:channels:delete [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel-id`: The ID of the channel. Either the ID or the name of the channel must be provided.
* `--name`: The name of the channel. Either the ID or the name of the channel must be provided.
* `--yes, -y`: Skip confirmation prompt.

### `apps:channels:get`[¶](#appschannelsget "Permanent link")

Get a channel from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-25-1)npx @capawesome/cli apps:channels:get [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel-id`: The ID of the channel. Either the ID or the name of the channel must be provided.
* `--json`: Output in JSON format.
* `--name`: The name of the channel. Either the ID or the name of the channel must be provided.

### `apps:channels:list`[¶](#appschannelslist "Permanent link")

List all channels for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-26-1)npx @capawesome/cli apps:channels:list [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--json`: Output in JSON format.
* `--limit`: The maximum number of channels to return.
* `--offset`: The offset to start returning channels from.

### `apps:channels:pause`[¶](#appschannelspause "Permanent link")

Pause an app channel.

`[](#%5F%5Fcodelineno-27-1)npx @capawesome/cli apps:channels:pause [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel`: The name of the channel to pause.

### `apps:channels:resume`[¶](#appschannelsresume "Permanent link")

Resume an app channel.

`[](#%5F%5Fcodelineno-28-1)npx @capawesome/cli apps:channels:resume [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel`: The name of the channel to resume.

### `apps:channels:update`[¶](#appschannelsupdate "Permanent link")

Update an existing channel from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-29-1)npx @capawesome/cli apps:channels:update [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel-id`: The ID of the channel.
* `--name`: The name of the channel.
* `--protected`: Whether to protect the channel or not.

### `apps:deployments:cancel`[¶](#appsdeploymentscancel "Permanent link")

Cancel an ongoing app deployment.

`[](#%5F%5Fcodelineno-30-1)npx @capawesome/cli apps:deployments:cancel [options]
`

**Options:**

* `--app-id`: The ID of the app the deployment belongs to.
* `--deployment-id`: The ID of the deployment to cancel.

### `apps:deployments:create`[¶](#appsdeploymentscreate "Permanent link")

Create a new app deployment.

`[](#%5F%5Fcodelineno-31-1)npx @capawesome/cli apps:deployments:create [options]
`

**Options:**

* `--app-id`: The ID of the app to create the deployment for.
* `--build-id`: The ID of the build to deploy. Alternative to `--build-number`.
* `--build-number`: The build number to deploy (e.g., "1", "42"). Alternative to `--build-id`.
* `--channel`: The name of the channel to deploy the build to (Web only).
* `--destination`: The name of the destination to deploy to (Android/iOS only).
* `--detached`: Exit immediately after creating the deployment without waiting for completion.

### `apps:deployments:get`[¶](#appsdeploymentsget "Permanent link")

Get an existing app deployment. When `--json` is set, the response also includes the related job (status, logs, timing) so failed deployments can be debugged programmatically.

`[](#%5F%5Fcodelineno-32-1)npx @capawesome/cli apps:deployments:get [options]
`

**Options:**

* `--app-id`: The ID of the app the deployment belongs to.
* `--deployment-id`: The ID of the deployment.
* `--json`: Output in JSON format. Includes the related job.

### `apps:deployments:list`[¶](#appsdeploymentslist "Permanent link")

List all deployments for an app. When `--json` is set, each deployment also includes the related job (status, logs, timing) so failed deployments can be debugged programmatically.

`[](#%5F%5Fcodelineno-33-1)npx @capawesome/cli apps:deployments:list [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--build-id`: Filter by build ID.
* `--channel-id`: Filter by channel ID.
* `--destination-id`: Filter by destination ID.
* `--json`: Output in JSON format. Includes the related job for each deployment.
* `--limit`: The maximum number of deployments to return.
* `--offset`: The offset to start returning deployments from.

### `apps:deployments:logs`[¶](#appsdeploymentslogs "Permanent link")

Display the logs for a ongoing or completed app deployment.

`[](#%5F%5Fcodelineno-34-1)npx @capawesome/cli apps:deployments:logs [options]
`

**Options:**\- `--app-id`: The ID of the app the deployment belongs to. - `--deployment-id`: The ID of the deployment to display logs for.

### `apps:destinations:create`[¶](#appsdestinationscreate "Permanent link")

Create a new destination for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-35-1)npx @capawesome/cli apps:destinations:create [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--name`: The name of the destination.
* `--platform`: The platform of the destination. Supported values are `android` and `ios`.
* `--android-build-artifact-type`: Android build artifact type. Supported values are `aab` and `apk`.
* `--android-package-name`: Android package name.
* `--android-release-status`: Android release status. Supported values are `completed` and `draft`.
* `--google-play-track`: Google Play track.
* `--google-service-account-key-file`: Path to the Google service account key JSON file.
* `--apple-api-key-file`: Path to the Apple API key (.p8) file.
* `--apple-app-id`: Apple App ID.
* `--apple-app-password`: Apple app-specific password.
* `--apple-id`: Apple ID.
* `--apple-issuer-id`: Apple Issuer ID.
* `--apple-team-id`: Apple Team ID.

### `apps:destinations:delete`[¶](#appsdestinationsdelete "Permanent link")

Delete a destination from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-36-1)npx @capawesome/cli apps:destinations:delete [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--destination-id`: The ID of the destination.
* `--name`: The name of the destination.
* `--platform`: The platform of the destination (`android`, `ios`).
* `--yes, -y`: Skip confirmation prompt.

### `apps:destinations:get`[¶](#appsdestinationsget "Permanent link")

Get a destination from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-37-1)npx @capawesome/cli apps:destinations:get [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--destination-id`: The ID of the destination.
* `--json`: Output in JSON format.
* `--name`: The name of the destination.
* `--platform`: The platform of the destination (`android`, `ios`).

### `apps:destinations:list`[¶](#appsdestinationslist "Permanent link")

List all destinations for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-38-1)npx @capawesome/cli apps:destinations:list [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--json`: Output in JSON format.
* `--limit`: The maximum number of destinations to return.
* `--offset`: The offset to start returning destinations from.
* `--platform`: Filter by platform. Supported values are `android` and `ios`.

### `apps:destinations:update`[¶](#appsdestinationsupdate "Permanent link")

Update an existing destination from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-39-1)npx @capawesome/cli apps:destinations:update [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--destination-id`: The ID of the destination.
* `--name`: The name of the destination.
* `--android-build-artifact-type`: Android build artifact type. Supported values are `aab` and `apk`.
* `--android-package-name`: Android package name.
* `--android-release-status`: Android release status. Supported values are `completed` and `draft`.
* `--app-google-service-account-key-id`: App Google Service Account Key ID.
* `--google-play-track`: Google Play track.
* `--apple-api-key-id`: Apple API Key ID.
* `--apple-app-id`: Apple App ID.
* `--apple-app-password`: Apple app-specific password.
* `--apple-id`: Apple ID.
* `--apple-issuer-id`: Apple Issuer ID.
* `--apple-team-id`: Apple Team ID.
* `--app-apple-api-key-id`: App Apple API Key ID.

### `apps:devices:delete`[¶](#appsdevicesdelete "Permanent link")

Delete a device from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-40-1)npx @capawesome/cli apps:devices:delete [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--device-id`: The ID of the device.
* `--yes, -y`: Skip confirmation prompt.

### `apps:devices:forcechannel`[¶](#appsdevicesforcechannel "Permanent link")

Force a device to use a specific channel.

`[](#%5F%5Fcodelineno-41-1)npx @capawesome/cli apps:devices:forcechannel [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--device-id`: The ID of the device. Can be specified multiple times.
* `--channel`: The name of the channel to force.

### `apps:devices:probe`[¶](#appsdevicesprobe "Permanent link")

Check whether a device would receive a live update. This is useful for debugging and testing purposes, especially when setting up new devices or troubleshooting existing ones.

`[](#%5F%5Fcodelineno-42-1)npx @capawesome/cli apps:devices:probe [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--device-id`: The ID of the device.
* `--json`: Output in JSON format.

### `apps:devices:unforcechannel`[¶](#appsdevicesunforcechannel "Permanent link")

Remove the forced channel from a device.

`[](#%5F%5Fcodelineno-43-1)npx @capawesome/cli apps:devices:unforcechannel [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--device-id`: The ID of the device. Can be specified multiple times.

### `apps:environments:create`[¶](#appsenvironmentscreate "Permanent link")

Create a new environment for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-44-1)npx @capawesome/cli apps:environments:create [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--name`: The name of the environment.

### `apps:environments:delete`[¶](#appsenvironmentsdelete "Permanent link")

Delete an environment from an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-45-1)npx @capawesome/cli apps:environments:delete [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--environment-id`: The ID of the environment. Either the ID or name must be provided.
* `--name`: The name of the environment. Either the ID or name must be provided.
* `--yes, -y`: Skip confirmation prompt.

### `apps:environments:list`[¶](#appsenvironmentslist "Permanent link")

List all environments for an app in Capawesome Cloud.

`[](#%5F%5Fcodelineno-46-1)npx @capawesome/cli apps:environments:list [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--json`: Output in JSON format.
* `--limit`: The maximum number of environments to return.
* `--offset`: The offset to start returning environments from.

### `apps:environments:set`[¶](#appsenvironmentsset "Permanent link")

Set environment variables and secrets for an environment in Capawesome Cloud.

`[](#%5F%5Fcodelineno-47-1)npx @capawesome/cli apps:environments:set [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--environment-id`: The ID of the environment.
* `--variable`: Environment variable in `key=value` format. Can be specified multiple times.
* `--variable-file`: Path to a file containing environment variables in `.env` format.
* `--secret`: Environment secret in `key=value` format. Can be specified multiple times.
* `--secret-file`: Path to a file containing environment secrets in `.env` format.

### `apps:environments:unset`[¶](#appsenvironmentsunset "Permanent link")

Unset environment variables and secrets for an environment in Capawesome Cloud.

`[](#%5F%5Fcodelineno-48-1)npx @capawesome/cli apps:environments:unset [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--environment-id`: The ID of the environment.
* `--variable`: Key of the environment variable to unset. Can be specified multiple times.
* `--secret`: Key of the environment secret to unset. Can be specified multiple times.

### `apps:liveupdates:bundle`[¶](#appsliveupdatesbundle "Permanent link")

Generate manifest file and compress web assets into a zip file.

`[](#%5F%5Fcodelineno-49-1)npx @capawesome/cli apps:liveupdates:bundle [options]
`

**Options:**

* `--input-path`: Path to the web assets directory.
* `--output-path`: Output path for the generated artifact file. Defaults to `./bundle.zip`.
* `--overwrite`: Overwrite output file if it already exists. Defaults to `false`.
* `--skip-manifest`: Skip manifest file generation. Defaults to `false`.

### `apps:liveupdates:create`[¶](#appsliveupdatescreate "Permanent link")

Create a new live update by building and deploying web assets using Capawesome Cloud Runners.

`[](#%5F%5Fcodelineno-50-1)npx @capawesome/cli apps:liveupdates:create [options]
`

**Options:**

* `--android-eq`: The exact Android versionCode for the live update.
* `--android-max`: The maximum Android versionCode for the live update.
* `--android-min`: The minimum Android versionCode for the live update.
* `--app-id`: The ID of the app to create the live update for.
* `--certificate`: The name of the certificate to use for the build.
* `--channel`: The name of the channel to deploy to. Can be specified multiple times.
* `--custom-property`: A custom property to assign to the build. Must be in the format `key=value`. Can be specified multiple times.
* `--environment`: The name of the environment to use for the build.
* `--git-ref`: The Git reference (branch, tag, or commit SHA) to build.
* `--ios-eq`: The exact iOS CFBundleVersion for the live update.
* `--ios-max`: The maximum iOS CFBundleVersion for the live update.
* `--ios-min`: The minimum iOS CFBundleVersion for the live update.
* `--json`: Output in JSON format.
* `--path`: Path to local source files to upload. Cannot be used together with `--git-ref` or `--url`.
* `--rollout-percentage`: The rollout percentage for the deployment (0-100). Defaults to `100`.
* `--stack`: The build stack to use for the build process. Must be either `macos-sequoia` or `macos-tahoe`.
* `--url`: URL to a zip file to use as build source. Cannot be used together with `--git-ref` or `--path`.
* `--variable`: Ad hoc environment variable in `key=value` format. Can be specified multiple times.
* `--variable-file`: Path to a file containing ad hoc environment variables in `.env` format.
* `--yes, -y`: Skip confirmation prompts.

### `apps:liveupdates:generatemanifest`[¶](#appsliveupdatesgeneratemanifest "Permanent link")

Generate a manifest file.

`[](#%5F%5Fcodelineno-51-1)npx @capawesome/cli apps:liveupdates:generatemanifest [options]
`

**Options:**

* `--path`: Path to the web assets folder (e.g. `www` or `dist`).

### `apps:liveupdates:generatesigningkey`[¶](#appsliveupdatesgeneratesigningkey "Permanent link")

Generate a new code signing key pair for Live Updates. This command creates an RSA key pair that can be used to sign and verify Live Updates bundles.

`[](#%5F%5Fcodelineno-52-1)npx @capawesome/cli apps:liveupdates:generatesigningkey [options]
`

**Options:**

* `--key-size`: The RSA key size in bits. Must be `2048`, `3072`, or `4096`. Defaults to `2048`.
* `--public-key-path`: Path where the public key should be saved. Defaults to `public.pem`.
* `--private-key-path`: Path where the private key should be saved. Defaults to `private.pem`.

### `apps:liveupdates:rollback`[¶](#appsliveupdatesrollback "Permanent link")

Rollback the active build in a channel to a previous deployment.

`[](#%5F%5Fcodelineno-53-1)npx @capawesome/cli apps:liveupdates:rollback [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel`: The name of the channel to rollback.
* `--steps`: The number of deployments to go back (1-5).

### `apps:liveupdates:rollout`[¶](#appsliveupdatesrollout "Permanent link")

Update the rollout percentage of the active build in a channel.

`[](#%5F%5Fcodelineno-54-1)npx @capawesome/cli apps:liveupdates:rollout [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--channel`: The name of the channel to update rollout for.
* `--percentage`: The rollout percentage (0-100).

### `apps:liveupdates:upload`[¶](#appsliveupdatesupload "Permanent link")

Upload a locally built bundle and deploy it to a channel.

`[](#%5F%5Fcodelineno-55-1)npx @capawesome/cli apps:liveupdates:upload [options]
`

**Options:**

* `--android-eq`: The exact Android version code (`versionCode`) that the bundle does not support.
* `--android-max`: The maximum Android version code (`versionCode`) that the bundle supports.
* `--android-min`: The minimum Android version code (`versionCode`) that the bundle supports.
* `--app-id`: The ID of the app.
* `--artifact-type`: The type of artifact to upload. Must be `zip` or `manifest`. Defaults to `zip`.
* `--channel`: The channel to deploy the bundle to.
* `--commit-message`: The commit message of the Git commit that the bundle is linked to. Deprecated, use `--git-ref` instead.
* `--commit-ref`: The commit ref of the Git commit that the bundle is linked to. Deprecated, use `--git-ref` instead.
* `--commit-sha`: The commit SHA of the Git commit that the bundle is linked to. Deprecated, use `--git-ref` instead.
* `--custom-property`: A custom property to assign to the bundle. Must be in the format `key=value`. Can be specified multiple times.
* `--git-ref`: The Git reference (branch, tag, or commit SHA) to associate with the bundle.
* `--ios-eq`: The exact iOS version code (`CFBundleVersion`) that the bundle does not support.
* `--ios-max`: The maximum iOS version code (`CFBundleVersion`) that the bundle supports.
* `--ios-min`: The minimum iOS version code (`CFBundleVersion`) that the bundle supports.
* `--path`: The path to the bundle to upload. Must be a folder or zip archive.
* `--private-key`: The private key to sign the bundle with. Can be a file path to a .pem file or the private key content as plain text.
* `--rollout-percentage`: The percentage of devices to deploy the bundle to. Must be an integer between 0 and 100.
* `--yes, -y`: Skip confirmation prompts.

### `apps:liveupdates:register`[¶](#appsliveupdatesregister "Permanent link")

Register a self-hosted bundle URL and deploy it to a channel.

`[](#%5F%5Fcodelineno-56-1)npx @capawesome/cli apps:liveupdates:register [options]
`

**Options:**

* `--android-eq`: The exact Android version code (`versionCode`) that the bundle does not support.
* `--android-max`: The maximum Android version code (`versionCode`) that the bundle supports.
* `--android-min`: The minimum Android version code (`versionCode`) that the bundle supports.
* `--app-id`: The ID of the app.
* `--channel`: The channel to deploy the bundle to.
* `--commit-message`: The commit message of the Git commit that the bundle is linked to. Deprecated, use `--git-ref` instead.
* `--commit-ref`: The commit ref of the Git commit that the bundle is linked to. Deprecated, use `--git-ref` instead.
* `--commit-sha`: The commit SHA of the Git commit that the bundle is linked to. Deprecated, use `--git-ref` instead.
* `--custom-property`: A custom property to assign to the bundle. Must be in the format `key=value`. Can be specified multiple times.
* `--git-ref`: The Git reference (branch, tag, or commit SHA) to associate with the bundle.
* `--ios-eq`: The exact iOS version code (`CFBundleVersion`) that the bundle does not support.
* `--ios-max`: The maximum iOS version code (`CFBundleVersion`) that the bundle supports.
* `--ios-min`: The minimum iOS version code (`CFBundleVersion`) that the bundle supports.
* `--path`: Path to zip file for code signing only.
* `--private-key`: The private key to sign the bundle with. Can be a file path to a .pem file or the private key content as plain text.
* `--rollout-percentage`: The percentage of devices to deploy the bundle to. Must be an integer between 0 and 100.
* `--url`: The URL to the self-hosted bundle file. The URL must start with `https://`.
* `--yes, -y`: Skip confirmation prompts.

### `apps:liveupdates:setnativeversions`[¶](#appsliveupdatessetnativeversions "Permanent link")

Set native version constraints on a web build.

`[](#%5F%5Fcodelineno-57-1)npx @capawesome/cli apps:liveupdates:setnativeversions [options]
`

**Options:**

* `--app-id`: The ID of the app.
* `--build-id`: The ID of the build to update.
* `--android-eq`: The exact Android version code (`versionCode`) that the build supports.
* `--android-max`: The maximum Android version code (`versionCode`) that the build supports.
* `--android-min`: The minimum Android version code (`versionCode`) that the build supports.
* `--ios-eq`: The exact iOS bundle version (`CFBundleVersion`) that the build supports.
* `--ios-max`: The maximum iOS bundle version (`CFBundleVersion`) that the build supports.
* `--ios-min`: The minimum iOS bundle version (`CFBundleVersion`) that the build supports.

### `doctor`[¶](#doctor "Permanent link")

Print various information about the Capawesome CLI and your environment. This is useful for debugging issues with the CLI or your environment.

`[](#%5F%5Fcodelineno-58-1)npx @capawesome/cli doctor
`

### `login`[¶](#login "Permanent link")

Log in to Capawesome Cloud.

`[](#%5F%5Fcodelineno-59-1)npx @capawesome/cli login
`

**Options:**

* `--token`: The token to use for authentication.

### `logout`[¶](#logout "Permanent link")

Log out of Capawesome Cloud.

`[](#%5F%5Fcodelineno-60-1)npx @capawesome/cli logout
`

### `whoami`[¶](#whoami "Permanent link")

Show the current logged-in user.

`[](#%5F%5Fcodelineno-61-1)npx @capawesome/cli whoami
`

### `organizations:create`[¶](#organizationscreate "Permanent link")

Create a new organization in Capawesome Cloud.

`[](#%5F%5Fcodelineno-62-1)npx @capawesome/cli organizations:create [options]
`

**Options:**

* `--name`: The name of the organization.

### `organizations:get`[¶](#organizationsget "Permanent link")

Get an existing organization from Capawesome Cloud.

`[](#%5F%5Fcodelineno-63-1)npx @capawesome/cli organizations:get [options]
`

**Options:**

* `--json`: Output in JSON format.
* `--organization-id`: The ID of the organization.

### `organizations:list`[¶](#organizationslist "Permanent link")

List all organizations the current user belongs to.

`[](#%5F%5Fcodelineno-64-1)npx @capawesome/cli organizations:list [options]
`

**Options:**

* `--json`: Output in JSON format.
* `--limit`: The maximum number of organizations to return.
* `--offset`: The offset to start returning organizations from.

## Advanced[¶](#advanced "Permanent link")

### Parsing JSON Output[¶](#parsing-json-output "Permanent link")

Many commands in the Capawesome CLI support a `--json` flag that outputs the command result in JSON format. This is useful for scripting and automation.

You can use tools like [jq](https://stedolan.github.io/jq/) to parse the JSON output. For example, to get the ID of a newly created build, you can run:

`[](#%5F%5Fcodelineno-65-1)OUTPUT=$(mktemp)
[](#%5F%5Fcodelineno-65-2)npx @capawesome/cli apps:builds:create \
[](#%5F%5Fcodelineno-65-3)    --app-id <app-id> \
[](#%5F%5Fcodelineno-65-4)    --platform <platform> \
[](#%5F%5Fcodelineno-65-5)    --type <type> \
[](#%5F%5Fcodelineno-65-6)    --git-ref <git-ref> \
[](#%5F%5Fcodelineno-65-7)    --json \
[](#%5F%5Fcodelineno-65-8)    --yes | tee "$OUTPUT"
[](#%5F%5Fcodelineno-65-9)BUILD_ID=$(sed -n '/^{/,$p' "$OUTPUT" | jq -r '.id')
[](#%5F%5Fcodelineno-65-10)rm "$OUTPUT"
`

Then, you can use the `BUILD_ID` variable in subsequent commands, such as creating a deployment:

`[](#%5F%5Fcodelineno-66-1)npx @capawesome/cli apps:deployments:create \
[](#%5F%5Fcodelineno-66-2)    --app-id <app-id> \
[](#%5F%5Fcodelineno-66-3)    --build-id "$BUILD_ID" \
[](#%5F%5Fcodelineno-66-4)    --destination <destination>
`

May 7, 2026 

 Back to top 