Capabilities

Capabilities are the device features your app is allowed to use. Studio's capabilities form writes the same blocks you would otherwise hand-write in waid.config.json, so Capabilities is the reference for what each one grants.

Everything defaults to off. You add a group, then turn on the specific toggles inside it.

Groups#

GroupWhat it coversPlatforms
Host functionsNative APIs exposed as window.host.*: files, shell, vault, auth, actions, intents, push, events, MCP, consentDesktop, Android
MediaAudio and video playback, camera and microphone captureDesktop, Android, iOS
PhotosRead the device photo libraryAndroid
StorageFile access beyond the app's own directoriesAndroid
ContactsRead and write the address bookAndroid
TelephonyPlace calls, read call state, act as the default dialerAndroid
MessagingSend, read and receive SMS, act as the default SMS appAndroid
LauncherAct as the home screen, list and manage installed appsAndroid
AlarmsSchedule work that wakes the deviceAndroid

Each toggle names the OS permission it maps to, so you can see what you are actually asking the user for.

Two capabilities get extra attention in store review. All files access (Android MANAGE_EXTERNAL_STORAGE) is reviewed closely by Google Play, and Place calls (CALL_PHONE) dials without showing the dialer. Turn them on when your app needs them, and be ready to explain why in your store listing.

Auto-detection#

Studio can scan your project's source and suggest the capabilities it finds evidence for. Each suggestion shows why, with the file and line where it was found.

A capability is suggested only when your source clearly uses it, so you are never asked to request a permission your app doesn't need. Photos, storage, contacts, telephony, messaging, launcher and alarms can't be detected reliably from web code, so turn those on yourself when your app needs them.

Dismiss a suggestion and Studio won't offer it again.