Recover production without waiting on review
Use live updates for JavaScript, CSS, copy, remote configuration, and web asset fixes while native changes continue through the stores.
Push web-layer fixes instantly. Skip the App Store wait.
14-day unlimited free trial. No credit card required.
Native rollback
JS failures recover outside JavaScript
99.99% uptime
Platform uptime
Dynamic channels
Canary, beta, support, and production tracks
300+ edge locations
Worldwide CDN
44ms typical
Ultra-low latency
Device logs
Per-device update status and rollback history
Capgo gives mobile teams a release path for urgent web fixes, controlled rollout, and a clear audit trail, so a bad deploy does not become days of store-review waiting.
Use live updates for JavaScript, CSS, copy, remote configuration, and web asset fixes while native changes continue through the stores.
Ship to internal, beta, canary, and production channels with rollback ready before a rollout becomes a support incident.
Use device logs, update status, bundle history, and adoption metrics to explain releases to engineering, support, and leadership.
Capgo founder Martin on channels, compatibility checks, rollback, and shipping web bundle changes safely after store approval.
Martin, Founder, Capgo
Short notes from Capacitor teams using Capgo for production OTA updates.
The Capgo Capacitor Updater plugin completely transformed how we ship updates. What used to take days now takes just minutes.
Being able to push production OTA updates instantly without waiting for full App Store review cycles has been a massive operational advantage.
Native runtime, rollback, validation, and rollout control in one service.
$ npx @capgo/cli bundle upload ✔ validated · ✔ published · ✔ rolling out
CLI scans native dependencies and warns you before deploying incompatible updates. Ship web changes fast without pushing native-breaking code to customers.
If your app doesn't call notifyAppReady() within 10 seconds, we automatically roll back to the last working version.
Validates notifyAppReady(), index.html, bundle size limits, and checksums before accepting any upload.
Every update is checksummed, signed, and encrypted end-to-end. No one can tamper with updates - not even Capgo can see what's inside your bundles.
Fallback bundle mechanism always maintains a working version. Your users never see a broken app.
Capgo channels are live controls, not hardcoded. Move users between dev, staging, PR, canary, and production from your app UI or via API instantly.
See whether an upload is OTA-safe, needs a native build, or should wait — before it hits production.
$ npx @capgo/cli@latest bundle upload --channel production --fail-on-incompatible
warning: native-incompatible bundle
@capacitor/camera changed from 6.1.0 to 6.2.0
action: fail this upload or ship a native build first
Automatic when you want speed. Manual when you need control. Safety checks at every step.
Before upload, CLI checks native dependencies, version compatibility, and required files
Pure native code downloads and installs the update - completely isolated from JavaScript
Your app calls notifyAppReady(). If it doesn't within 10s, automatic rollback kicks in
Same OTA promise. Different safety model.
| Capgo Live Updates | DIY / self-hosted Custom scripts and static hosting | Competitor cloud | |
|---|---|---|---|
| Update runtime | Fully native. Download, install, and activate on native OS threads. A JS crash cannot break the update pipeline. | Runs in your app JS context. A bad bundle can break updates too. | Mostly app-layer delivery. JS errors can block or corrupt the update flow. |
| Rollback recovery | Native rollback. Falls back to the last good bundle outside JavaScript, even when the new bundle crashes on launch. | You design and maintain your own rollback logic. | Rollback exists but often depends on the app layer still working. |
| Failed install guard | Automatic. Rolls back if notifyAppReady() is not called within 10 seconds. | You instrument and monitor it yourself. | Optional or manual, depending on product. |
| Native compatibility | CLI checks. Scans native dependencies before upload and flags breaking changes. | No guardrails unless you build them. | Upload validation only on most products. |
| Pre-upload validation | Deep checks. Validates index.html, bundle size, checksums, duplicate versions, and hub constraints. | Your CI rules, if you wrote them. | Basic bundle checks. |
| Rollout control | Dynamic channels. Canary, beta, production, support, and per-device channel assignment. | Multiple hosted URLs or custom routing. | Channels supported, depth and APIs vary. |
| Device visibility | Per-device logs. Install, failure, rollback, and policy events per device without Xcode or Android Studio. | Custom analytics or server-side download counts. | Dashboard aggregates, less per-device depth. |
| Try before you pay | Yes. 14-day unlimited free trial. No credit card required. | Cheap hosting until traffic grows. | Tiered plans. Trials vary by vendor. |
Comparison reflects typical DIY/self-hosted setups and public competitor cloud documentation.
Start automatic in 5 minutes. Switch to manual control when your release strategy needs it.
Start shipping →Connect this page with Channels, Rollbacks, Update Behavior, and Capgo Native Builds for releases that still need store review.