Capgo CLI

May 1, 2026 ยท View on GitHub

Warning

This repository is deprecated

The Capgo CLI now lives in the main Capgo monorepo. This repository will be archived. Please open new issues, pull requests, and CLI development work in the Capgo monorepo instead.

For current CLI documentation, use the Capgo CLI docs.

Capgo CLI

Capgo - Instant updates for capacitor

Check out: Capgo โ€” Instant updates for capacitor

A CLI to upload and download files from the Capgo Cloud.

You can find the most up to date version of this doc in our web doc: https://capgo.app/docs/cli/overview/

Usage

Before using the CLI, you should register here: https://capgo.app/

Then go to your account in apikey section and click in the all key to copy it.

Follow the documentation here: https://capacitorjs.com/docs/getting-started/

๐Ÿ“‘ Capgo CLI Commands

๐Ÿ“‹ Table of Contents

๐Ÿš€ Init

Alias: i

npx @capgo/cli@latest init

๐Ÿš€ Initialize a new app in Capgo Cloud with step-by-step guidance. This includes adding code for updates, building, uploading your app, and verifying update functionality. Capgo bundles are web assets and can be fetched by anyone who knows the URL. Use encryption for banking, regulated, or other high-security apps. During the iOS run-on-device step, choose a physical iPhone/iPad or simulator. If you choose a physical device, the CLI lets you connect, unlock, and check again before it launches the app.

Example:

npx @capgo/cli@latest init YOUR_API_KEY com.example.app

Options

ParamTypeDescription
-n,stringApp name for display in Capgo Cloud
-i,stringApp icon path for display in Capgo Cloud
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“ฑ Run

๐Ÿ“ฑ Run Capacitor apps on devices from the CLI.

๐Ÿ”น Device

npx @capgo/cli@latest run device

๐Ÿ“ฑ Run your Capacitor app on a connected device or simulator. If you omit the platform in an interactive terminal, the command asks whether to start on iOS or Android. The command lists available devices and simulators, lets you reload the list, and runs with your selection. For iOS, this asks whether to use a physical iPhone/iPad or simulator before showing devices. Use --no-launch to print the resolved command without starting the app.

Example:

npx @capgo/cli@latest run device ios --no-launch

Options:

ParamTypeDescription
--no-launchbooleanResolve and print the run command without starting the app

๐Ÿ”น Star

npx @capgo/cli@latest star

โญ Star a Capgo GitHub repository to support the project. If you do not pass a repository name, this defaults to capacitor-updater in the Cap-go org.

๐Ÿ”น Star-all

npx @capgo/cli@latest star-all

โญ Star all Capgo GitHub repositories with a small random delay between each request. If you do not pass repositories, this defaults to all Cap-go repositories whose name starts with capacitor-.

Options

ParamTypeDescription
--min-delay-msstringMinimum delay in ms between each star action (default: 20)
--max-delay-msstringMaximum delay in ms between each star action (default: 180)
--max-concurrencystringMaximum number of star requests running in parallel (default: 4)

๐Ÿ‘จโ€โš•๏ธ Doctor

npx @capgo/cli@latest doctor

๐Ÿ‘จโ€โš•๏ธ Check if your Capgo app installation is up-to-date and gather information useful for bug reports. This command helps diagnose issues with your setup.

Example:

npx @capgo/cli@latest doctor

Options

ParamTypeDescription
--package-jsonstringPaths to package.json files for monorepos (comma-separated)

๐Ÿ”‘ Login

Alias: l

npx @capgo/cli@latest login

๐Ÿ”‘ Save your Capgo API key to your machine or local folder for easier access to Capgo Cloud services. Use --apikey=******** in any command to override it.

Example:

npx @capgo/cli@latest login YOUR_API_KEY

Options

ParamTypeDescription
--localbooleanOnly save in local folder, git ignored for security.
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“ฆ Bundle

๐Ÿ“ฆ Manage app bundles for deployment in Capgo Cloud, including upload, compatibility checks, and encryption.

โฌ†๏ธ Upload

Alias: u

npx @capgo/cli@latest bundle upload

โฌ†๏ธ Upload a new app bundle to Capgo Cloud for distribution. Version must be > 0.0.0 and unique. Deleted versions cannot be reused for security. External option: Store only a URL link (useful for apps >200MB or privacy requirements). Capgo never inspects external content. Add encryption for trustless security.

Example:

npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
-p,stringPath of the folder to upload, if not provided it will use the webDir set in capacitor.config
-c,stringChannel to link to
-e,stringLink to external URL instead of upload to Capgo Cloud
--iv-session-keystringSet the IV and session key for bundle URL external
--s3-regionstringRegion for your S3 bucket
--s3-apikeystringAPI key for your S3 endpoint
--s3-apisecretstringAPI secret for your S3 endpoint
--s3-endpointstringURL of S3 endpoint
--s3-bucket-namestringName for your AWS S3 bucket
--s3-portstringPort for your S3 endpoint
--no-s3-sslbooleanDisable SSL for S3 upload
--key-v2stringCustom path for private signing key (v2 system)
--key-data-v2stringPrivate signing key (v2 system)
--bundle-urlbooleanPrints bundle URL into stdout
--no-keybooleanIgnore signing key and send clear update
--no-code-checkbooleanIgnore checking if notifyAppReady() is called in source code and index present in root folder
--display-iv-sessionbooleanShow in the console the IV and session key used to encrypt the update
-b,stringBundle version number of the bundle to upload
--linkstringLink to external resource (e.g. GitHub release)
--commentstringComment about this version, could be a release note, a commit hash, a commit message, etc.
--min-update-versionstringMinimal version required to update to this version. Used only if the disable auto update is set to metadata in channel
--auto-min-update-versionbooleanSet the min update version based on native packages
--ignore-metadata-checkbooleanIgnores the metadata (node_modules) check when uploading
--ignore-checksum-checkbooleanIgnores the checksum check when uploading
--force-crc32-checksumbooleanForce CRC32 checksum for upload (override auto-detection)
--timeoutstringTimeout for the upload process in seconds
--multipartboolean[DEPRECATED] Use --tus instead. Uses multipart protocol for S3 uploads
--zipbooleanUpload the bundle using zip to Capgo cloud (legacy)
--tusbooleanUpload the bundle using TUS to Capgo cloud
--tus-chunk-sizestringChunk size in bytes for TUS resumable uploads (default: auto)
--partialboolean[DEPRECATED] Use --delta instead. Upload incremental updates
--partial-onlyboolean[DEPRECATED] Use --delta-only instead. Upload only incremental updates, skip full bundle
--deltabooleanUpload delta updates (only changed files) for instant, super fast updates instead of big zip downloads
--delta-onlybooleanUpload only delta updates without full bundle for maximum speed (useful for large apps)
--no-deltabooleanDisable delta updates even if Direct Update is enabled
--encrypted-checksumstringAn encrypted checksum (signature). Used only when uploading an external bundle.
--auto-set-bundlebooleanSet the bundle in capacitor.config.json
--dry-uploadbooleanDry upload the bundle process, mean it will not upload the files but add the row in database (Used by Capgo for internal testing)
--package-jsonstringPaths to package.json files for monorepos (comma-separated)
--node-modulesstringPaths to node_modules directories for monorepos (comma-separated)
--encrypt-partialbooleanEncrypt delta update files (auto-enabled for updater > 6.14.4)
--delete-linked-bundle-on-uploadbooleanLocates the currently linked bundle in the channel you are trying to upload to, and deletes it
--no-brotli-patternsstringFiles to exclude from Brotli compression (comma-separated globs, e.g., ".jpg,.png")
--disable-brotlibooleanCompletely disable brotli compression even if updater version supports it
--version-exists-okbooleanExit successfully if bundle version already exists, useful for CI/CD workflows with monorepos
--self-assignbooleanAllow devices to auto-join this channel (updates channel setting)
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)
--verbosebooleanEnable verbose output with detailed logging

๐Ÿงช Compatibility

npx @capgo/cli@latest bundle compatibility

๐Ÿงช Check compatibility of a bundle with a specific channel in Capgo Cloud to ensure updates are safe.

Example:

npx @capgo/cli@latest bundle compatibility com.example.app --channel production

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
-c,stringChannel to check the compatibility with
--textbooleanOutput text instead of emojis
--package-jsonstringPaths to package.json files for monorepos (comma-separated)
--node-modulesstringPaths to node_modules directories for monorepos (comma-separated)
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ”น ReleaseType

npx @capgo/cli@latest bundle releaseType

๐Ÿงญ Print "native" or "OTA" based on compatibility with a channel's latest metadata.

Example:

npx @capgo/cli@latest bundle releaseType com.example.app --channel production

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
-c,stringChannel to compare against
--package-jsonstringPaths to package.json files for monorepos (comma-separated)
--node-modulesstringPaths to node_modules directories for monorepos (comma-separated)
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ—‘๏ธ Delete

Alias: d

npx @capgo/cli@latest bundle delete

๐Ÿ—‘๏ธ Delete a specific bundle from Capgo Cloud, optionally targeting a single version.

Example:

npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“‹ List

Alias: l

npx @capgo/cli@latest bundle list

๐Ÿ“‹ List all bundles uploaded for an app in Capgo Cloud.

Example:

npx @capgo/cli@latest bundle list com.example.app

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿงน Cleanup

Alias: c

npx @capgo/cli@latest bundle cleanup

๐Ÿงน Delete old bundles in Capgo Cloud, keeping specified number of recent versions. Bundles linked to channels are preserved unless --ignore-channel is used.

Example:

npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3

Options:

ParamTypeDescription
-b,stringBundle version number of the app to delete
-a,stringAPI key to link to your account
-k,stringNumber of versions to keep
-f,stringForce removal
--ignore-channelbooleanDelete bundles even if linked to channels (WARNING: deletes channels too)
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ”’ Encrypt

npx @capgo/cli@latest bundle encrypt

๐Ÿ”’ Encrypt a zip bundle for secure external storage. Returns ivSessionKey for upload/decryption. Get checksum using 'bundle zip --json'.

Example:

npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM

Options:

ParamTypeDescription
--keystringCustom path for private signing key
--key-datastringPrivate signing key
-j,stringOutput in JSON
--package-jsonstringPaths to package.json files for monorepos (comma-separated)

๐Ÿ”“ Decrypt

npx @capgo/cli@latest bundle decrypt

๐Ÿ”“ Decrypt an encrypted bundle (mainly for testing). Prints base64 session key for verification.

Example:

npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM

Options:

ParamTypeDescription
--keystringCustom path for private signing key
--key-datastringPrivate signing key
--checksumstringChecksum of the bundle, to verify the integrity of the bundle
--package-jsonstringPaths to package.json files for monorepos (comma-separated)

๐Ÿ”น Zip

npx @capgo/cli@latest bundle zip

๐Ÿ—œ๏ธ Create a zip file of your app bundle. Returns checksum for use with encryption. Use --json for machine-readable output.

Example:

npx @capgo/cli@latest bundle zip com.example.app --path ./dist

Options:

ParamTypeDescription
-p,stringPath of the folder to upload, if not provided it will use the webDir set in capacitor.config
-b,stringBundle version number to name the zip file
-n,stringName of the zip file
-j,stringOutput in JSON
--no-code-checkbooleanIgnore checking if notifyAppReady() is called in source code and index present in root folder
--key-v2booleanUse encryption v2
--package-jsonstringPaths to package.json files for monorepos (comma-separated)

๐Ÿ“ฑ App

๐Ÿ“ฑ Manage your Capgo app settings and configurations in Capgo Cloud.

โž• Add

Alias: a

npx @capgo/cli@latest app add

โž• Add a new app to Capgo Cloud with a unique app ID in the format com.test.app. All options can be guessed from config if not provided.

Example:

npx @capgo/cli@latest app add com.example.app --name "My App" --icon ./icon.png

Options:

ParamTypeDescription
-n,stringApp name for display in Capgo Cloud
-i,stringApp icon path for display in Capgo Cloud
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ—‘๏ธ Delete

npx @capgo/cli@latest app delete

๐Ÿ—‘๏ธ Delete an app from Capgo Cloud, optionally specifying a version to delete only that bundle.

Example:

npx @capgo/cli@latest app delete com.example.app

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“‹ List

Alias: l

npx @capgo/cli@latest app list

๐Ÿ“‹ List all apps registered under your account in Capgo Cloud.

Example:

npx @capgo/cli@latest app list

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿž Debug

npx @capgo/cli@latest app debug

๐Ÿž Listen for live update events in Capgo Cloud to debug your app. Optionally target a specific device for detailed diagnostics.

Example:

npx @capgo/cli@latest app debug com.example.app --device DEVICE_ID

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
-d,stringThe specific device ID to debug
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

โš™๏ธ Setting

npx @capgo/cli@latest app setting

โš™๏ธ Modify Capacitor configuration programmatically. Specify setting path (e.g., plugins.CapacitorUpdater.defaultChannel) with --string or --bool.

Example:

npx @capgo/cli@latest app setting plugins.CapacitorUpdater.defaultChannel --string "Production"

Options:

ParamTypeDescription
--boolstringA value for the setting to modify as a boolean, ex: --bool true
--stringstringA value for the setting to modify as a string, ex: --string "Production"

โš™๏ธ Set

Alias: s

npx @capgo/cli@latest app set

โš™๏ธ Update settings for an existing app in Capgo Cloud, such as name, icon, or retention period for bundles. Retention of 0 means infinite storage.

Example:

npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30

Options:

ParamTypeDescription
-n,stringApp name for display in Capgo Cloud
-i,stringApp icon path for display in Capgo Cloud
-a,stringAPI key to link to your account
-r,stringDays to keep old bundles (0 = infinite, default: 0)
--expose-metadatastringExpose bundle metadata (link and comment) to the plugin (true/false, default: false)
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“ข Channel

๐Ÿ“ข Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.

โž• Add

Alias: a

npx @capgo/cli@latest channel add

โž• Create a new channel for app distribution in Capgo Cloud to manage update delivery.

Example:

npx @capgo/cli@latest channel add production com.example.app --default

Options:

ParamTypeDescription
-d,stringSet the channel as default
--self-assignbooleanAllow device to self-assign to this channel
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ—‘๏ธ Delete

Alias: d

npx @capgo/cli@latest channel delete

๐Ÿ—‘๏ธ Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.

Example:

npx @capgo/cli@latest channel delete production com.example.app

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--delete-bundlebooleanDelete the bundle associated with the channel
--success-if-not-foundbooleanSuccess if the channel is not found
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“‹ List

Alias: l

npx @capgo/cli@latest channel list

๐Ÿ“‹ List all channels configured for an app in Capgo Cloud to review distribution settings.

Example:

npx @capgo/cli@latest channel list com.example.app

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ“ฆ CurrentBundle

npx @capgo/cli@latest channel currentBundle

๐Ÿ“ฆ Get the current bundle linked to a specific channel in Capgo Cloud for update tracking.

Example:

npx @capgo/cli@latest channel currentBundle production com.example.app

Options:

ParamTypeDescription
-c,stringChannel to get the current bundle from
-a,stringAPI key to link to your account
--quietbooleanOnly print the bundle version
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

โš™๏ธ Set

Alias: s

npx @capgo/cli@latest channel set

โš™๏ธ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, prod, emulator, device). One channel must be default.

Example:

npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --state default

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
-b,stringBundle version number of the file to set
-s,stringSet the state of the channel, default or normal
--latest-remotebooleanGet the latest bundle uploaded in capgo cloud and set it to the channel
--latestbooleanGet the latest version key in the package.json to set it to the channel
--downgradebooleanAllow to downgrade to version under native one
--no-downgradebooleanDisable downgrade to version under native one
--iosbooleanAllow sending update to iOS devices
--no-iosbooleanDisable sending update to iOS devices
--androidbooleanAllow sending update to Android devices
--no-androidbooleanDisable sending update to Android devices
--self-assignbooleanAllow device to self-assign to this channel
--no-self-assignbooleanDisable devices to self-assign to this channel
--disable-auto-updatestringBlock updates by type: major, minor, metadata, patch, or none (allows all)
--devbooleanAllow sending update to development devices
--no-devbooleanDisable sending update to development devices
--prodbooleanAllow sending update to production devices
--no-prodbooleanDisable sending update to production devices
--emulatorbooleanAllow sending update to emulator devices
--no-emulatorbooleanDisable sending update to emulator devices
--devicebooleanAllow sending update to physical devices
--no-devicebooleanDisable sending update to physical devices
--package-jsonstringPaths to package.json files for monorepos (comma-separated)
--ignore-metadata-checkbooleanIgnore checking node_modules compatibility if present in the bundle
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ” Key

๐Ÿ” Manage encryption keys for secure bundle distribution in Capgo Cloud, supporting end-to-end encryption with RSA and AES combination.

๐Ÿ”น Save

npx @capgo/cli@latest key save

๐Ÿ’พ Save the public key in the Capacitor config, useful for CI environments. Recommended not to commit the key for security.

Example:

npx @capgo/cli@latest key save --key ./path/to/key.pub

Options:

ParamTypeDescription
-f,stringForce generate a new one
--keystringKey path to save in Capacitor config
--key-datastringKey data to save in Capacitor config

๐Ÿ”จ Create

npx @capgo/cli@latest key create

๐Ÿ”จ Create RSA key pair for end-to-end encryption. Creates .capgo_key_v2 (private) and .capgo_key_v2.pub (public) in project root. Public key is saved to capacitor.config for mobile app decryption. NEVER commit the private key - store it securely!

Example:

npx @capgo/cli@latest key create

Options:

ParamTypeDescription
-f,stringForce generate a new one

๐Ÿ—‘๏ธ Delete_old

npx @capgo/cli@latest key delete_old

๐Ÿงน Delete the old encryption key from the Capacitor config to ensure only the current key is used.

Example:

npx @capgo/cli@latest key delete_old

๐Ÿ‘ค Account

๐Ÿ‘ค Manage your Capgo account details and retrieve information for support or collaboration.

๐Ÿ”น Id

npx @capgo/cli@latest account id

๐Ÿชช Retrieve your account ID, safe to share for collaboration or support purposes in Discord or other platforms.

Example:

npx @capgo/cli@latest account id

Options:

ParamTypeDescription
-a,stringAPI key to link to your account

๐Ÿ”น Organization

๐Ÿข Manage your organizations in Capgo Cloud for team collaboration and app management.

๐Ÿ“‹ List

Alias: l

npx @capgo/cli@latest organization list

๐Ÿ“‹ List all organizations you have access to in Capgo Cloud.

Example:

npx @capgo/cli@latest organization list

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

โž• Add

Alias: a

npx @capgo/cli@latest organization add

โž• Create a new organization in Capgo Cloud for team collaboration.

Example:

npx @capgo/cli@latest organization add --name "My Company" --email admin@mycompany.com

Options:

ParamTypeDescription
-n,stringOrganization name
-e,stringManagement email for the organization
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ”น Members

Alias: m

npx @capgo/cli@latest organization members

๐Ÿ‘ฅ List organization members and their 2FA status. Shows all members of an organization with their roles and whether they have 2FA enabled. Useful before enabling 2FA enforcement to see which members will be affected.

โ„น๏ธ Viewing 2FA status requires super_admin rights in the organization.

Example:

npx @capgo/cli@latest organization members ORG_ID

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

โš™๏ธ Set

Alias: s

npx @capgo/cli@latest organization set

โš™๏ธ Update organization settings including name, email, security policies, and enforcement options. Security settings require super_admin role.

Example:

npx @capgo/cli@latest organization set ORG_ID --name "New Name"

Options:

ParamTypeDescription
-n,stringOrganization name
-e,stringManagement email for the organization
--enforce-2fabooleanEnable 2FA enforcement for all organization members
--no-enforce-2fabooleanDisable 2FA enforcement for organization
--password-policybooleanEnable password policy enforcement for organization
--no-password-policybooleanDisable password policy enforcement
--min-lengthstringMinimum password length (6-128, default: 10)
--require-uppercasebooleanRequire uppercase letter in password
--no-require-uppercasebooleanDo not require uppercase letter
--require-numberbooleanRequire number in password
--no-require-numberbooleanDo not require number
--require-specialbooleanRequire special character in password
--no-require-specialbooleanDo not require special character
--require-apikey-expirationbooleanRequire all API keys to have an expiration date
--no-require-apikey-expirationbooleanDo not require API key expiration
--max-apikey-expiration-daysstringMaximum days before API key expiration (1-365, null for no limit)
--enforce-hashed-api-keysbooleanEnforce hashed/secure API keys (key value stored as hash, shown only once)
--no-enforce-hashed-api-keysbooleanAllow plain-text API keys
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ—‘๏ธ Delete

Alias: d

npx @capgo/cli@latest organization delete

๐Ÿ—‘๏ธ Delete an organization from Capgo Cloud. This action cannot be undone. Only organization owners can delete organizations.

Example:

npx @capgo/cli@latest organization delete ORG_ID

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ”น Organisation

[DEPRECATED] Use "organization" instead. This command will be removed in a future version.

๐Ÿ“‹ List

Alias: l

npx @capgo/cli@latest organisation list

[DEPRECATED] Use "organization list" instead.

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

โž• Add

Alias: a

npx @capgo/cli@latest organisation add

[DEPRECATED] Use "organization add" instead.

Options:

ParamTypeDescription
-n,stringOrganization name
-e,stringManagement email for the organization
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

โš™๏ธ Set

Alias: s

npx @capgo/cli@latest organisation set

[DEPRECATED] Use "organization set" instead.

Options:

ParamTypeDescription
-n,stringOrganization name
-e,stringManagement email for the organization
--enforce-2fabooleanEnable 2FA enforcement for all organization members
--no-enforce-2fabooleanDisable 2FA enforcement for organization
--password-policybooleanEnable password policy enforcement for organization
--no-password-policybooleanDisable password policy enforcement
--min-lengthstringMinimum password length (6-128, default: 10)
--require-uppercasebooleanRequire uppercase letter in password
--no-require-uppercasebooleanDo not require uppercase letter
--require-numberbooleanRequire number in password
--no-require-numberbooleanDo not require number
--require-specialbooleanRequire special character in password
--no-require-specialbooleanDo not require special character
--require-apikey-expirationbooleanRequire all API keys to have an expiration date
--no-require-apikey-expirationbooleanDo not require API key expiration
--max-apikey-expiration-daysstringMaximum days before API key expiration (1-365, null for no limit)
--enforce-hashed-api-keysbooleanEnforce hashed/secure API keys (key value stored as hash, shown only once)
--no-enforce-hashed-api-keysbooleanAllow plain-text API keys
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ—‘๏ธ Delete

Alias: d

npx @capgo/cli@latest organisation delete

[DEPRECATED] Use "organization delete" instead.

Options:

ParamTypeDescription
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)

๐Ÿ”น Build

๐Ÿ—๏ธ Manage native iOS/Android builds through Capgo Cloud. โš ๏ธ This feature is currently in PUBLIC BETA and cannot be used by anyone at this time. ๐Ÿ”’ SECURITY GUARANTEE: Build credentials are NEVER stored on Capgo servers. They are used only during the build and auto-deleted after. Build outputs may optionally be uploaded for time-limited download links. ๐Ÿ“‹ BEFORE BUILDING: Save your credentials first: npx @capgo/cli build credentials save --appId --platform ios npx @capgo/cli build credentials save --appId --platform android

๐Ÿš€ Init

Alias: onboarding

npx @capgo/cli@latest build init

Set up iOS build credentials interactively (creates certificates and profiles automatically)

Options:

ParamTypeDescription
-a,stringAPI key to link to your account

๐Ÿ”น Request

npx @capgo/cli@latest build request

Request a native build from Capgo Cloud. This command will zip your project directory and upload it to Capgo for building. The build will be processed and sent directly to app stores. ๐Ÿ”’ SECURITY: Credentials are never stored on Capgo servers. They are auto-deleted after build completion. Build outputs may optionally be uploaded for time-limited download links. ๐Ÿ“‹ PREREQUISITE: Save credentials first with: npx @capgo/cli build credentials save --appId <app-id> --platform <ios|android>

Example:

npx @capgo/cli@latest build request com.example.app --platform ios --path .

Options:

ParamTypeDescription
--pathstringPath to the project directory to build (default: current directory)
--platformstringTarget platform: ios or android (required)
--build-modestringBuild mode: debug or release (default: release)
--build-certificate-base64stringiOS: Base64-encoded .p12 certificate
--p12-passwordstringiOS: Certificate password (optional if cert has no password)
--apple-idstringiOS: Apple ID email
--apple-app-specific-passwordstringiOS: App-specific password
--apple-key-idstringiOS: App Store Connect API Key ID
--apple-issuer-idstringiOS: App Store Connect Issuer ID
--apple-key-contentstringiOS: Base64-encoded App Store Connect API key (.p8)
--app-store-connect-team-idstringiOS: App Store Connect Team ID
--ios-schemestringiOS: Xcode scheme to build (default: App)
--ios-targetstringiOS: Xcode target for reading build settings (default: same as scheme)
--ios-distributionstringiOS: Distribution mode
--ios-provisioning-profilestringiOS: Provisioning profile path or bundleId=path mapping (repeatable)
--android-keystore-filestringAndroid: Base64-encoded keystore file
--keystore-key-aliasstringAndroid: Keystore key alias
--keystore-key-passwordstringAndroid: Keystore key password
--keystore-store-passwordstringAndroid: Keystore store password
--play-config-jsonstringAndroid: Base64-encoded Google Play service account JSON
--android-flavorstringAndroid: Product flavor to build (e.g. production). Required if your project has multiple flavors.
--no-playstore-uploadbooleanSkip Play Store upload for this build (nulls out saved play config). Requires --output-upload.
--output-uploadbooleanOverride output upload behavior for this build only (enable). Precedence: CLI > env > saved credentials
--no-output-uploadbooleanOverride output upload behavior for this build only (disable). Precedence: CLI > env > saved credentials
--output-retentionstringOverride output link TTL for this build only (1h to 7d). Examples: 1h, 6h, 2d. Precedence: CLI > env > saved credentials
--skip-build-number-bumpbooleanSkip automatic build number/version code incrementing. Uses whatever version is already in the project files.
--no-skip-build-number-bumpbooleanOverride saved credentials to re-enable automatic build number incrementing for this build only.
-a,stringAPI key to link to your account
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
--supa-anonstringCustom Supabase anon key (for self-hosting)
--verbosebooleanEnable verbose output with detailed logging

๐Ÿ”น Credentials

npx @capgo/cli@latest build credentials

Manage build credentials stored locally on your machine. ๐Ÿ”’ SECURITY:

๐Ÿ”น Probe

npx @capgo/cli@latest probe

๐Ÿ”Ž Probe the Capgo updates endpoint to check if an update is available for your app. Sends a single request to the updates endpoint using your project's capacitor config and reports whether an update would be delivered, or explains why not.

Example:

npx @capgo/cli@latest probe --platform ios

Options

ParamTypeDescription
--platformstringPlatform to probe: ios or android

๐Ÿ”น Mcp

npx @capgo/cli@latest mcp

๐Ÿค– Start the Capgo MCP (Model Context Protocol) server for AI agent integration. This command starts an MCP server that exposes Capgo functionality as tools for AI agents. The server communicates via stdio and is designed for non-interactive, programmatic use. Available tools exposed via MCP:

  • capgo_list_apps, capgo_add_app, capgo_update_app, capgo_delete_app
  • capgo_upload_bundle, capgo_list_bundles, capgo_delete_bundle, capgo_cleanup_bundles
  • capgo_list_channels, capgo_add_channel, capgo_update_channel, capgo_delete_channel
  • capgo_get_current_bundle, capgo_check_compatibility
  • capgo_list_organizations, capgo_add_organization
  • capgo_star_repository
  • capgo_star_all_repositories
  • capgo_get_account_id, capgo_doctor, capgo_get_stats
  • capgo_request_build, capgo_generate_encryption_keys Example usage with Claude Desktop: Add to claude_desktop_config.json: { "mcpServers": { "capgo": { "command": "npx", "args": ["@capgo/cli", "mcp"] } } }

Example:

npx @capgo/cli mcp

Programmatic Usage (SDK)

You can use the Capgo CLI programmatically in your Node.js/TypeScript projects for automation and CI/CD pipelines.

Installation

npm install @capgo/cli

Example: Upload a Bundle

import { CapgoSDK } from '@capgo/cli/sdk'

const sdk = new CapgoSDK({
  apikey: 'your-api-key'
})

await sdk.uploadBundle({
  appId: 'com.example.app',
  bundle: '1.0.0',
  path: './dist',
  channel: 'production'
})

Example: CI/CD Automation

import { CapgoSDK } from '@capgo/cli/sdk'

const sdk = new CapgoSDK({
  apikey: process.env.CAPGO_API_KEY
})

// Upload new version
await sdk.uploadBundle({
  appId: 'com.example.app',
  bundle: process.env.VERSION,
  path: './dist',
  channel: 'production'
})

// Cleanup old bundles
await sdk.cleanupBundles({
  appId: 'com.example.app',
  keep: 10
})

All CLI features are available as SDK methods. See the TypeScript types for the complete API reference.