Official Plugins

Surveying the Official Plugin Catalog

The catalog at capacitorjs.com/docs/apis (https://capacitorjs.com/docs/apis 243,123 ) lists the official plugins, from Action Sheet and App Launcher through System Bars, Text Zoom and Toast, with newer arrivals such as File Transfer, InAppBrowser and Local LLM. Two sit inside @capacitor/core and need no install: CapacitorHttp (Plugin Configuration) and SystemBars (Status Bar and Splash Screen). Everything else is a separate package whose major version tracks the core: an 8.x plugin for Capacitor 8 243,123 . cap sync wires each one's native code into the Gradle 19,597 build.

Installing the ten plugins used in this sectionShell
npm i @capacitor/camera @capacitor/filesystem @capacitor/geolocation @capacitor/preferences \
  @capacitor/device @capacitor/app @capacitor/status-bar @capacitor/splash-screen \
  @capacitor/keyboard @capacitor/haptics
npx cap sync android
Output
...
[info] Found 10 Capacitor plugins for android:
       @capacitor/app@8.1.1
...
[info] Sync finished in 0.258s

Plugins release on their own schedules, so minor versions differ. What matters for the manifest is which Android permissions each plugin needs, and whether it merges them for you:

The ten plugins of Device, UI and System Plugins (versions current on 23 September 2026)
Plugin Version Android permission Web
Camera 8.2.4 None File input
Filesystem 8.1.3 None (app folders) IndexedDB
Geolocation 8.2.2 Location, by you Geolocation API
Preferences 8.0.1 None localStorage
Device 8.0.3 None Partial
App 8.1.1 None Partial
Status Bar 8.0.3 None No
Splash Screen 8.0.2 None No-op
Keyboard 8.0.5 None No
Haptics 8.0.2 VIBRATE, merged vibrate()

"Merged" means the permission sits in the plugin's own manifest, which Gradle's manifest merger copies into your APK. Haptics is covered in Haptics, and the full catalog table is Plugin Platform Table. In a browser, a method without a web implementation rejects as unimplemented, so guard native-only calls with Capacitor.isNativePlatform().