Skip to content

📦 bundle

📦 Manage app bundles for deployment in Capgo Cloud, including upload, compatibility checks, and encryption.

Alias: u

Terminal window
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:

Terminal window
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
Terminal window
npx @capgo/cli@latest bundle compatibility

🧪 Check compatibility of a bundle with a specific channel in Capgo Cloud to ensure updates are safe.

Example:

Terminal window
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)
Terminal window
npx @capgo/cli@latest bundle releaseType

🧭 Print “native” or “OTA” based on compatibility with a channel’s latest metadata.

Example:

Terminal window
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)

Alias: d

Terminal window
npx @capgo/cli@latest bundle delete

🗑️ Delete a specific bundle from Capgo Cloud, optionally targeting a single version.

Example:

Terminal window
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)

Alias: l

Terminal window
npx @capgo/cli@latest bundle list

📋 List all bundles uploaded for an app in Capgo Cloud.

Example:

Terminal window
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)

Alias: c

Terminal window
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:

Terminal window
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)
Terminal window
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:

Terminal window
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)
Terminal window
npx @capgo/cli@latest bundle decrypt

🔓 Decrypt an encrypted bundle (mainly for testing). Prints base64 session key for verification.

Example:

Terminal window
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)
Terminal window
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:

Terminal window
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)

If you are using bundle to plan security and compliance, connect it with Encryption for the implementation detail in Encryption, Compliance for the implementation detail in Compliance, Capgo Security Scanner for the product workflow in Capgo Security Scanner, Capgo Security for the product workflow in Capgo Security, and Capgo Trust Center for the product workflow in Capgo Trust Center.