CLI Reference

Install with npm install -g @otakit/cli. All commands resolve configuration from environment variables and capacitor.config.ts (Updater plugin config). Auth priority:OTAKIT_ACCESS_TOKEN, then stored keychain token (otakit login), then OTAKIT_SECRET_KEY for automation.

otakit login

Sign in with email OTP and store token in OS keychain.

--email <email>Email address. If omitted, prompts interactively.
--server <url>Server URL. Defaults to OTAKIT_SERVER_URL or managed cloud URL.
--token-onlyPrint only the token to stdout (for shell scripting).
otakit login --email you@example.com

otakit whoami

Show current authenticated user and tenant context.

--server <url>Server URL. Defaults to OTAKIT_SERVER_URL or managed cloud URL.
otakit whoami

otakit logout

Remove the stored token from OS keychain.

--server <url>Server URL. Defaults to OTAKIT_SERVER_URL or managed cloud URL.
otakit logout

otakit upload[path]

Upload a new bundle. By default creates a cross-platform bundle for both iOS and Android.

[path]Bundle directory. Resolved from: CLI argument, then OTAKIT_BUILD_DIR, then webDir in capacitor.config.ts.
--platform <p>Restrict to ios or android. Omit for cross-platform.
--version <v>Version string. Defaults to the version field in package.json.
--channel <c>Release to this channel immediately after upload.
--min-native-build <n>Minimum native app build required to apply this update.
otakit upload

otakit release[bundleId]

Release a bundle to a channel.

[bundleId]Bundle ID. If omitted, releases the latest bundle.
--platform <p>Target platform (ios or android). Defaults to both.
--channel <c>Target channel. Defaults to your configured default channel.
otakit release

otakit rollback

Roll back a channel to a previous release.

--platform <p>ios or android. Required.
--channel <c>Target channel. Defaults to your configured default channel.
--steps <n>Number of releases to roll back. Defaults to 1.
otakit rollback --platform ios

otakit list

List uploaded bundles.

--platform <p>Filter by ios, android, or all.
--limit <n>Max results. Defaults to 20.
otakit list

otakit releases

Show release history for a channel.

--platform <p>Filter by ios or android. Omit for all.
--channel <c>Target channel. Defaults to your configured default channel.
--limit <n>Max results. Defaults to 10.
otakit releases

otakit delete<bundleId>

Delete a bundle. Bundles in a release history cannot be deleted.

--forceSkip confirmation prompt.
otakit delete abc123 --force

otakit register

Register a new app.

--slug <slug>App slug — should match your Capacitor app identifier. Required.
--server <url>Server URL. Can also be set via OTAKIT_SERVER_URL.
--token <token>Access token or tenant API key.
--secret-key <key>Tenant API key (legacy alias for --token).
otakit register --slug com.example.myapp

otakit generate-signing-key

Generate an ES256 key pair for manifest signing.

--kid <kid>Key ID. Auto-generated if omitted.
otakit generate-signing-key