Skip to main content
Mentra Miniapp SDK betaThe SDK is in beta, so its APIs may change before general availability.There is currently no way to distribute a miniapp built with the Miniapp SDK. In a future release, developers will upload miniapps through the Mentra Developer Console, and users will download them from the Mentra Miniapp Store. Neither service supports Miniapp SDK distribution in MentraOS 3.0.Only use the Miniapp SDK if you are comfortable with these limitations.Developing on Mentra Live? We recommend using the Mentra Bluetooth SDK.The developer tools are available in the Mentra App under Settings → Miniapp Developer Settings.Share feedback with an in-app bug report, on Discord, or by email at help@mentra.glass.
These APIs are restricted to system miniapps (Mentra AI today). A regular miniapp that calls them gets NOT_PERMITTED. They’re documented here for reference. To make your own miniapp callable, expose actions instead, see Actions.
System miniapps can discover other miniapps, control their lifecycle, invoke the actions those miniapps expose, and use a small set of privileged device controls.

Discover and control miniapps

session.miniapps lists installed miniapps and starts or stops them.

Invoke an action

session.actions.invoke calls an action another miniapp exposed via session.actions.handle. It headless-wakes the target if it’s stopped, runs the handler, and returns the result.
invoke() rejects with { code, message } where code is one of: A thrown handler in the target surfaces its own error message to the caller. The action descriptor returned by session.miniapps.list() includes an optional outputSchema, which describes the structured result for result-aware callers.

Privileged device controls

Wi-Fi ADB (Mentra Live)

session.glasses.setWifiAdbState toggles wireless debugging on Mentra Live. The preference is persisted on the glasses and reapplied at boot (default off). Non-system callers get NOT_PERMITTED.