---
title: CLI Command Reference
description: Reference for every Capawesome Cloud CLI command — apps, automations, builds, certificates, channels, configurations, deployments, devices, environments, live updates, and organizations.
github_repo: capawesome-team/cli
npm_package: "@capawesome/cli"
---

# Command Reference

Reference for every Capawesome Cloud CLI command. For installation, authentication, and general usage, see the [CLI overview](index.md), [Installation](installation.md), [Authentication](authentication.md), and [Usage](usage.md).

- [`apps:create`](#appscreate)
- [`apps:delete`](#appsdelete)
- [`apps:get`](#appsget)
- [`apps:link`](#appslink)
- [`apps:list`](#appslist)
- [`apps:transfer`](#appstransfer)
- [`apps:unlink`](#appsunlink)
- [`apps:automations:create`](#appsautomationscreate)
- [`apps:automations:delete`](#appsautomationsdelete)
- [`apps:automations:get`](#appsautomationsget)
- [`apps:automations:list`](#appsautomationslist)
- [`apps:automations:update`](#appsautomationsupdate)
- [`apps:builds:cancel`](#appsbuildscancel)
- [`apps:builds:create`](#appsbuildscreate)
- [`apps:builds:download`](#appsbuildsdownload)
- [`apps:builds:failure-summary`](#appsbuildsfailure-summary)
- [`apps:builds:get`](#appsbuildsget)
- [`apps:builds:list`](#appsbuildslist)
- [`apps:builds:logs`](#appsbuildslogs)
- [`apps:builds:run`](#appsbuildsrun)
- [`apps:builds:share`](#appsbuildsshare)
- [`apps:builds:unshare`](#appsbuildsunshare)
- [`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:configurations:create`](#appsconfigurationscreate)
- [`apps:configurations:delete`](#appsconfigurationsdelete)
- [`apps:configurations:get`](#appsconfigurationsget)
- [`apps:configurations:list`](#appsconfigurationslist)
- [`apps:configurations:update`](#appsconfigurationsupdate)
- [`apps:deployments:cancel`](#appsdeploymentscancel)
- [`apps:deployments:create`](#appsdeploymentscreate)
- [`apps:deployments:failure-summary`](#appsdeploymentsfailure-summary)
- [`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:get`](#appsenvironmentsget)
- [`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`

Create a new app in Capawesome Cloud.

```bash
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`

Delete an app from Capawesome Cloud.

```bash
npx @capawesome/cli apps:delete [options]
```

**Options:**

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

### `apps:get`

Get an existing app from Capawesome Cloud.

```bash
npx @capawesome/cli apps:get [options]
```

**Options:**

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

### `apps:list`

List all apps in an organization.

```bash
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`

Transfer an app to another organization.

```bash
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`

Connect a git repository to an app using a [Git connection](../integrations/index.md). The repository is automatically detected from the local git remote (`origin`) and matched against the Git connections of your organization. If no unique match is found, the CLI prompts you to select a Git connection and repository interactively. Git connections can be created on your organization's [Git connections](https://console.cloud.capawesome.io/organizations/_/git){:target="_blank"} page in the Capawesome Cloud Console.

```bash
npx @capawesome/cli apps:link [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--git-connection`: The name of the Git connection to use. Alternative to `--git-connection-id`.
- `--git-connection-id`: The ID of the Git connection to use. Alternative to `--git-connection`.
- `--path`: The path of the repository (e.g. `owner/repo`) or the clone URL for Git (HTTP/S) connections. Defaults to the path detected from the local git remote (`origin`).

In non-interactive environments (e.g. CI/CD), the `--app-id` option and either the `--git-connection` or `--git-connection-id` option must be provided.

Git connections marked as **restricted** or **legacy** in the Capawesome Cloud Console are backed by a personal credential and cannot be assigned to apps. They are never offered by this command and are rejected when provided via the `--git-connection` or `--git-connection-id` option.

### `apps:unlink`

Disconnect a git repository from an app.

```bash
npx @capawesome/cli apps:unlink [options]
```

**Options:**

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

### `apps:automations:create`

Create a new automation for an app in Capawesome Cloud. See [Getting Started with Automations](../automations/setup.md).

```bash
npx @capawesome/cli apps:automations:create [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--certificate`: The name of the signing certificate to use for the build.
- `--channel`: The name of the Live Update channel to deploy to (Web only).
- `--commit-message-pattern`: Only trigger for commits whose message matches this pattern (branch triggers only).
- `--configuration`: The name of the native configuration (Android/iOS only).
- `--destination`: The name of the store destination to deploy to (Android/iOS only).
- `--environment`: The name of the environment to use for the build.
- `--json`: Output in JSON format. Includes the automation ID.
- `--name`: The name of the automation.
- `--platform`: The platform for the build — `android`, `ios`, or `web`.
- `--stack`: The build stack to use for the build process — `macos-sequoia` or `macos-tahoe`.
- `--trigger-pattern`: Only trigger for branches or tags matching this pattern. Defaults to all.
- `--trigger-type`: What triggers the automation — `branch` or `tag`.
- `--type`: The type of build to create — `app-store`, `ad-hoc`, `debug`, `development`, `release`, or `simulator`.

### `apps:automations:delete`

Delete an automation from an app in Capawesome Cloud. This also removes the webhook the automation registered on your repository.

```bash
npx @capawesome/cli apps:automations:delete [options]
```

**Options:**

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

### `apps:automations:get`

Get an automation from an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:automations:get [options]
```

**Options:**

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

### `apps:automations:list`

List all automations for an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:automations:list [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--json`: Output in JSON format.
- `--limit`: The maximum number of automations to return.
- `--offset`: The offset to start returning automations from.
- `--platform`: Only list automations for this platform — `android`, `ios`, or `web`.

### `apps:automations:update`

Update an existing automation from an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:automations:update [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--automation-id`: The ID of the automation.
- `--certificate`: The name of the signing certificate to use for the build. Pass an empty string to clear it.
- `--channel`: The name of the Live Update channel to deploy to (Web only). Pass an empty string to clear it.
- `--commit-message-pattern`: Only trigger for commits whose message matches this pattern (branch triggers only). Pass an empty string to clear it.
- `--configuration`: The name of the native configuration (Android/iOS only). Pass an empty string to clear it.
- `--destination`: The name of the store destination to deploy to (Android/iOS only). Pass an empty string to clear it.
- `--environment`: The name of the environment to use for the build. Pass an empty string to clear it.
- `--json`: Output in JSON format.
- `--name`: The name of the automation.
- `--platform`: The platform for the build — `android`, `ios`, or `web`.
- `--stack`: The build stack to use for the build process — `macos-sequoia` or `macos-tahoe`.
- `--trigger-pattern`: Only trigger for branches or tags matching this pattern. Pass an empty string to clear it.
- `--trigger-type`: What triggers the automation — `branch` or `tag`.
- `--type`: The type of build to create — `app-store`, `ad-hoc`, `debug`, `development`, `release`, or `simulator`.

### `apps:builds:cancel`

Cancel an app build.

```bash
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`

Create a new app build.

```bash
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).  
- `--configuration`: The name of the [native configuration](../native-builds/native-configurations.md) to apply to the native project (Android/iOS only). Defaults to the app's default native configuration.
- `--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.  
- `--failure-summary`: Request an AI-powered failure summary (Capawesome Cloud Assist) if the build fails. Cannot be used together with `--detached`.
- `--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`.
- `--share`: Share the build via a public link once it succeeds. Cannot be used together with `--detached`. See [Share a build](../native-builds/share-a-build.md).
- `--share-description`: A description shown to testers on the share page (e.g. what to test). Requires `--share`.
- `--share-expires-in-days`: Number of days after which the share link expires. Requires `--share`.
- `--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`

Download the build artifacts for an app build.

```bash
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:failure-summary`

Explain why an app build failed using Capawesome Cloud Assist (AI).

```bash
npx @capawesome/cli apps:builds:failure-summary [options]
```

**Options:**

- `--app-id`: The ID of the app the build belongs to.
- `--build-id`: The ID of the build to summarize. Alternative to `--build-number`.
- `--build-number`: The build number to summarize (e.g., "1", "42"). Alternative to `--build-id`.

### `apps:builds:get`

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.

```bash
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`

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.

```bash
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`

Display the logs for an ongoing or completed app build.

```bash
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:builds:run`

Run a succeeded build on a local Android emulator or iOS simulator. The build artifact is downloaded, the target device is started, and the app is installed and launched. See [Run on an emulator or simulator](../native-builds/run-on-emulator-or-simulator.md).

```bash
npx @capawesome/cli apps:builds:run [options]
```

**Options:**

- `--app-id`: The ID of the app the build belongs to.
- `--build-id`: The ID of the build to run.
- `--build-number`: The number of the build to run (e.g. `42`). Alternative to `--build-id`.
- `--target`: The ID of the target device to run the build on (AVD ID on Android, UDID on iOS).
- `--target-name`: The name of the target device to run the build on (e.g. `Pixel 8 Pro`, `iPhone 17 Pro`).
- `--target-name-sdk-version`: The SDK version of the target device to run the build on when using `--target-name` (e.g. `26.5` for iOS 26.5 or `35` for Android API 35).

### `apps:builds:share`

Share a succeeded build via a public link. If the build is already shared, the existing share is returned. Only succeeded builds can be shared. Use [`apps:builds:unshare`](#appsbuildsunshare) to revoke a share. See [Share a build](../native-builds/share-a-build.md).

```bash
npx @capawesome/cli apps:builds:share [options]
```

**Options:**

- `--app-id`: The ID of the app the build belongs to.
- `--build-id`: The ID of the build to share.
- `--build-number`: The number of the build to share (e.g. `42`). Alternative to `--build-id`.
- `--description`: A description shown to testers on the share page (e.g. what to test).
- `--expires-in-days`: Number of days after which the share link expires.
- `--json`: Output in JSON format. Includes the share `id`, `qrCodeUrl`, `webUrl`, and `expiresAt`. The `qrCodeUrl` is a PNG image of a QR code pointing to the share page.

### `apps:builds:unshare`

Revoke the public share link of a build. The link is invalidated immediately and the share page stops working. See [Revoke a share](../native-builds/share-a-build.md#revoke-a-share).

```bash
npx @capawesome/cli apps:builds:unshare [options]
```

**Options:**

- `--app-id`: The ID of the app the build belongs to.
- `--build-id`: The ID of the build to unshare.
- `--build-number`: The number of the build to unshare (e.g. `42`). Alternative to `--build-id`.
- `--yes`: Skip the confirmation prompt.

### `apps:certificates:create`

Create a new certificate for an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:certificates:create [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--file`: Path to the certificate file.
- `--json`: Output in JSON format.
- `--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`

Delete a certificate from an app in Capawesome Cloud.

```bash
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`

Get a certificate from an app in Capawesome Cloud.

```bash
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`

List all certificates for an app in Capawesome Cloud.

```bash
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`

Update an existing certificate from an app in Capawesome Cloud.

```bash
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`

Create a new channel for an app in Capawesome Cloud.

```bash
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`.
- `--json`: Output in JSON format.
- `--name`: The name of the channel.
- `--protected`: Whether to protect the channel or not. Defaults to `false`.  

### `apps:channels:delete`

Delete a channel from an app in Capawesome Cloud.

```bash
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`

Get a channel from an app in Capawesome Cloud.

```bash
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`

List all channels for an app in Capawesome Cloud.

```bash
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`

Pause an app channel.

```bash
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`

Resume an app channel.

```bash
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`

Update an existing channel from an app in Capawesome Cloud.

```bash
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:configurations:create`

Create a new native configuration for an app in Capawesome Cloud. See [Set Up Native Configurations](../native-builds/native-configurations.md).

```bash
npx @capawesome/cli apps:configurations:create [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--display-name`: The app name that is displayed on the home screen.
- `--json`: Output in JSON format. Includes the native configuration ID.
- `--name`: The name of the native configuration.
- `--package-name`: The package name of the app — the application ID on Android, the bundle ID on iOS.

### `apps:configurations:delete`

Delete a native configuration from an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:configurations:delete [options]
```

**Options:**

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

### `apps:configurations:get`

Get a native configuration from an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:configurations:get [options]
```

**Options:**

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

### `apps:configurations:list`

List all native configurations for an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:configurations:list [options]
```

**Options:**

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

### `apps:configurations:update`

Update an existing native configuration from an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:configurations:update [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--configuration-id`: The ID of the native configuration.
- `--display-name`: The app name that is displayed on the home screen. Pass an empty string to clear it.
- `--json`: Output in JSON format.
- `--name`: The name of the native configuration.
- `--package-name`: The package name of the app — the application ID on Android, the bundle ID on iOS. Pass an empty string to clear it.

### `apps:deployments:cancel`

Cancel an ongoing app deployment.

```bash
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`

Create a new app deployment.

```bash
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.
- `--failure-summary`: Request an AI-powered failure summary (Capawesome Cloud Assist) if the deployment fails.
- `--json`: Output in JSON format.

### `apps:deployments:failure-summary`

Explain why an app deployment failed using Capawesome Cloud Assist (AI).

```bash
npx @capawesome/cli apps:deployments:failure-summary [options]
```

**Options:**

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

### `apps:deployments:get`

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.

```bash
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`

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.

```bash
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`

Display the logs for an ongoing or completed app deployment.

```bash
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`

Create a new destination for an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:destinations:create [options]
```

**Options:**

- `--app-id`: The ID of the app.
- `--json`: Output in JSON format.
- `--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`

Delete a destination from an app in Capawesome Cloud.

```bash
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`

Get a destination from an app in Capawesome Cloud.

```bash
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`

List all destinations for an app in Capawesome Cloud.

```bash
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`

Update an existing destination from an app in Capawesome Cloud.

```bash
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`

Delete a device from an app in Capawesome Cloud.

```bash
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`

Force a device to use a specific channel.

```bash
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`

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.

```bash
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`

Remove the forced channel from a device.

```bash
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`

Create a new environment for an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:environments:create [options]
```

**Options:**

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

### `apps:environments:delete`

Delete an environment from an app in Capawesome Cloud.

```bash
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:get`

Get an existing environment for an app in Capawesome Cloud.

```bash
npx @capawesome/cli apps:environments:get [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.
- `--json`: Output in JSON format.

### `apps:environments:list`

List all environments for an app in Capawesome Cloud.

```bash
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`

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

```bash
npx @capawesome/cli apps:environments:set [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.
- `--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`

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

```bash
npx @capawesome/cli apps:environments:unset [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.
- `--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`

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

```bash
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`

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

```bash
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`

Generate a manifest file.

```bash
npx @capawesome/cli apps:liveupdates:generatemanifest [options]
```

**Options:**

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

### `apps:liveupdates:generatesigningkey`

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.

```bash
npx @capawesome/cli apps:liveupdates:generatesigningkey [options]
```

**Options:**

- `--app-type`: The app type to configure code signing for. Either `capacitor` or `cordova`.
- `--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`

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

```bash
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`

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

```bash
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`

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

```bash
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.
- `--json`: Output in JSON format.
- `--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`

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

```bash
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.
- `--json`: Output in JSON format.
- `--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`

Set native version constraints on a web build.

```bash
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`

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

```bash
npx @capawesome/cli doctor
```

### `login`

Log in to Capawesome Cloud.

```bash
npx @capawesome/cli login
```

**Options:**

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

### `logout`

Log out of Capawesome Cloud.

```bash
npx @capawesome/cli logout
```

### `whoami`

Show the current logged-in user.

```bash
npx @capawesome/cli whoami
```

### `organizations:create`

Create a new organization in Capawesome Cloud.

```bash
npx @capawesome/cli organizations:create [options]
```

**Options:**

- `--json`: Output in JSON format.
- `--name`: The name of the organization.

### `organizations:get`

Get an existing organization from Capawesome Cloud.

```bash
npx @capawesome/cli organizations:get [options]
```

**Options:**

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

### `organizations:list`

List all organizations the current user belongs to.

```bash
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.
