Capacitor+ is an automated, always-synced fork of Capacitor maintained by Capgo. It provides a drop-in replacement for the official Capacitor packages with one key advantage: community PRs and fixes are merged faster.
The Ionic team maintains Capacitor with their own priorities and release schedule. This means community contributions - bug fixes, improvements, and features - can wait months or even years to be merged. Some never make it at all.
Capacitor+ solves this problem by:
@capacitor-plus scope| Package | Description |
|---|---|
@capacitor-plus/core |
Core runtime library |
@capacitor-plus/cli |
Command-line interface |
@capacitor-plus/android |
Android runtime |
@capacitor-plus/ios |
iOS runtime |
For a new project, simply use the Capacitor+ packages instead of the official ones:
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Then initialize your project:
npx cap init
npx cap add android
npx cap add ios
To migrate an existing project from official Capacitor to Capacitor+:
# Remove official packages
npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
# Install Capacitor+ packages
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # if using Android
npm install @capacitor-plus/ios # if using iOS
Since Capacitor+ is a drop-in replacement with the same API, no code changes are required. Your imports remain the same:
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
ionic-team/capacitorplus branch@capacitor-plus/*Every upstream sync is analyzed for:
| Check | Description |
|---|---|
| Security | Command injection, XSS, path traversal, hardcoded secrets, etc. |
| Breaking Changes | Removed/renamed APIs, changed signatures, config format changes |
| Stability | Null dereferences, unhandled exceptions, race conditions, memory leaks |
| Data Safety | Data loss scenarios, privacy violations, insecure storage |
| Code Integrity | Obfuscated code, suspicious network calls, backdoors |
If any issues are detected, the PR is flagged for manual review and will NOT be auto-merged.
Have a PR stuck in the official Capacitor repo? Here's how to get it into Capacitor+:
plus branchThis way, you and others can benefit from your work immediately, without waiting for the upstream release cycle.
All official Capacitor plugins work seamlessly with Capacitor+:
import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
// Everything works exactly the same
const platform = Capacitor.getPlatform();
const photo = await Camera.getPhoto({
resultType: CameraResultType.Uri
});
const position = await Geolocation.getCurrentPosition();
Capgo plugins also work perfectly with Capacitor+:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Use Capgo plugins with Capacitor+
await CapacitorUpdater.notifyAppReady();
await ScreenOrientation.lock({ orientation: 'portrait' });
That's it! You now have a faster-updated version of Capacitor with community improvements merged faster. Your apps will benefit from bug fixes and features without waiting for the official release cycle.