Skip to main content
Tauri gates every command behind a capability. The plugin ships a safe default set covering the session lifecycle; anything that mutates the account is excluded and must be granted by name.
src-tauri/capabilities/default.json
A command that is not granted rejects with kind: "permissionDenied". That is a wiring error, not a runtime condition — grant the permission rather than handling it in the UI.

The default set

supabase-auth:default grants these commands:

Opt-in permissions

Add these individually alongside supabase-auth:default.
useOnboardingFlow() needs allow-update-user because it persists step progress in user_metadata so an abandoned flow resumes on the next launch.

Multi-window apps

Capabilities are scoped to window labels. If your app opens authentication in its own windows, the capability’s windows glob has to cover their labels — a window outside the glob gets zero capabilities and every auth command in it fails with a non-AuthError rejection.
src-tauri/capabilities/default.json