✅ App Registered
Your app is registered in Capgo with a production channel
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
The Capgo CLI provides an interactive onboarding that sets up live updates for your Capacitor app. You’ll:
Estimated time: 10-20 minutes (varies based on your internet speed and build time)
Run the onboarding command with your API key:
npx @capgo/cli@latest init [APIKEY]You’ll see the welcome message:
Capgo onboarding 🛫The CLI will guide you through 13 interactive steps:
Setup Phase (Steps 1-6):
@capgo/capacitor-updater pluginTesting Phase (Steps 7-12):
Completion (Step 13):
The CLI checks your development environment to ensure you have the necessary tools installed.
What’s checked:
Possible outcomes:
✅ Both environments found:
✅ Xcode detected - iOS development ready✅ Android SDK detected - Android development ready⚠️ No environment found:
⚠️ Xcode not found⚠️ Android SDK not found❌ No development environment detected
📱 To develop mobile apps with Capacitor, you need: • For iOS: Xcode (macOS only) - https://developer.apple.com/xcode/ • For Android: Android Studio - https://developer.android.com/studioQuestions you may be asked:
The CLI will log you into Capgo and add your app to your account.
(spinner) Running: npm @capgo/cli@latest login ***Login Done ✅
❓ Add {appId} in Capgo?If your app ID is already taken:
The CLI will suggest alternatives:
❌ App ID "com.example.app" is already taken💡 Here are some suggestions: 1. com.example.app2 2. com.example.app3 3. com.example.app.new 4. com.example.app.app
❓ What would you like to do?You can choose a suggestion or enter a custom app ID.
Channels allow you to manage different update streams for your app.
❓ Create default channel production for {appId} in Capgo?If you select Yes:
(spinner) Running: npm @capgo/cli@latest channel add production {appId} --defaultChannel add Done ✅ (or "Channel already added ✅")A production channel will be created and set as default. This is the recommended option for most users.
If you select No:
If you change your mind, run it for yourself with: "npm @capgo/cli@latest channel add production {appId} --default"You’ll need to create and configure channels manually later. Alternatively, you can:
capacitor.config.ts filesetChannel() method to dynamically set the channelThe CLI will install the @capgo/capacitor-updater plugin compatible with your Capacitor version.
❓ Automatic Install "@capgo/capacitor-updater" dependency in {appId}?Version compatibility:
@capgo/capacitor-updater v5@capgo/capacitor-updater v6@capgo/capacitor-updater v7Instant updates option:
After installation, you’ll be asked:
❓ Do you want to set instant updates in {appId}? Read more: https://capgo.app/docs/live-updates/update-behavior/#applying-updates-immediatelyIf you select Yes:
directUpdate: 'always' and autoSplashscreen: true will be added to your configcapacitor.config.ts will be updated automaticallyIf you select No:
capacitor.config.tsThe CLI will automatically inject the required code into your main application file.
❓ Automatic Add "CapacitorUpdater.notifyAppReady()" code and import in {appId}?What gets added:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()Project type detection:
plugins/capacitorUpdater.client.tsEnd-to-end encryption adds an extra security layer for your updates.
🔐 End-to-end encryption ✅ Use this for: Banking, healthcare, or apps with legal encryption requirements ⚠️ Note: Makes debugging harder - skip if you don't need it
❓ Enable end-to-end encryption for {appId} updates?If you enable encryption, the CLI will:
Choose which platform to test with during onboarding.
📱 Platform selection for onboarding This is just for testing during onboarding - your app will work on all platforms
❓ Which platform do you want to test with during this onboarding? Options: - iOS - AndroidThe CLI will build your app and sync it with Capacitor.
❓ Automatic build {appId} with "npm run build"?What happens:
npx cap sync {platform}If build script is missing:
You’ll be asked if you want to skip the build or add a build script to your package.json.
Test the initial version of your app on a device or simulator.
❓ Run {appId} on {PLATFORM} device now to test the initial version?If you select Yes:
(spinner) Running: npx cap run {platform}(device picker appears)App started ✅📱 Your app should now be running on your {platform} device with Capgo integrated🔄 This is your baseline version - we'll create an update nextNow it’s time to test Capgo’s update system by making a visible change.
🎯 Now let's test Capgo by making a visible change and deploying an update!
❓ How would you like to test the update? Options: - Auto: Let Capgo CLI make a visible change for you - Manual: I'll make changes myselfAuto mode: The CLI will automatically modify your files to add a visible test banner or change.
Manual mode: You make your own changes (e.g., change text, colors, or add elements).
Version handling:
❓ How do you want to handle the version for this update? Options: - Auto: Bump patch version ({currentVersion} → {nextVersion}) - Manual: I'll provide the version numberBuild with changes:
❓ Build {appId} with changes before uploading?Upload your updated app bundle to Capgo.
❓ Upload the updated {appId} bundle (v{version}) to Capgo?The CLI runs:
npx @capgo/cli@latest bundle uploadDelta updates prompt (if Direct Update is enabled):
💡 Direct Update (instant updates) is enabled in your config Delta updates send only changed files instead of the full bundle
❓ Enable delta updates for this upload? (Recommended with Direct Update)Success:
✅ Update v{version} uploaded successfully!🎉 Your updated bundle is now available on CapgoTime to see the update in action!
🧪 Time to test the Capgo update system!📱 Go to your device where the app is runningFor instant updates:
🔄 IMPORTANT: Background your app (swipe up/press home button) and then reopen it⏱️ The update should be downloaded and applied automaticallyFor standard updates:
📱 With standard updates, you will need to: 1. Background the app (swipe up/press home button) to start download 2. Wait a few seconds for download to complete 3. Background and foreground again to see the updateMonitor logs:
❓ Monitor Capgo logs to verify the update worked?If you select Yes, you’ll see live logs from your device showing the update process.
Welcome onboard ✈️!Congratulations! You’ve successfully set up Capgo live updates for your app.
After completing the onboarding, you have:
✅ App Registered
Your app is registered in Capgo with a production channel
✅ Plugin Installed
The Capacitor Updater plugin is installed and configured
✅ Code Integrated
Integration code is added to your app
✅ Update Tested
You’ve successfully deployed and received a live update
For subsequent updates, use:
npm run buildnpx @capgo/cli@latest bundle upload --channel=productionFor more deployment options, see Deploy a Live Update.
If you exit the onboarding process, you can resume anytime:
npx @capgo/cli@latest init [APIKEY]You’ll see:
You have already got to the step {stepNumber}/13 in the previous session❓ Would you like to continue from where you left off?Problem: Neither Xcode nor Android SDK is detected.
Solution:
Problem: Your app ID is already registered.
Solution: Choose one of the suggested alternatives or enter a custom app ID in reverse domain notation.
Problem: No build script found in package.json.
Solution: Add a build script to your package.json:
{ "scripts": { "build": "your-build-command" }}Problem: CLI cannot automatically inject the integration code.
Solution: Add the code manually to your main file:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()Problem: Your Capacitor version is below v5.
Solution: Upgrade Capacitor to v5 or higher:
Now that you’ve completed onboarding, explore these topics:
Deploy Updates
Learn how to deploy updates from the Capgo dashboard
Update Types
Reference of all OTA update types: apply timing, delay conditions, version blocking, and delivery
CI/CD Integration
Automate your update deployments with CI/CD
Channels
Manage multiple update streams with channels
Encryption
Secure your updates with end-to-end encryption
Update Behavior
Customize when and how updates are applied (direct, delta, etc.)
If you encounter issues during onboarding: