Common Errors

Permission Denied For Plugin Call

SymptomLikely causeFix
Frontend plugin call fails with denied permissionCapability file missing permissionAdd the exact plugin permission to the capability for the relevant window
Works in one window but not anotherCapability attaches only to one window labelAdd or split capability intentionally
Works after broad permission addedScope was too narrow or wrongKeep the narrow permission and fix the scope instead of broadening blindly

Command Not Found

SymptomLikely causeFix
invoke rejects command nameRust command not registeredAdd it to tauri::generate_handler!
Command works in desktop but not mobileConditional cfg registration differsCheck desktop/mobile handler lists
Payload deserialization failsFrontend shape differs from Rust structTest wrapper with mockIPC and align names

Sidecar Missing

SymptomLikely causeFix
Sidecar works in dev but not releaseBinary not bundled for target tripleVerify bundle.externalBin and release artifact contents
Spawn deniedMissing shell permissionAdd narrow shell:allow-spawn or execute permission with args scope
Dynamic arg rejectedValidator does not matchTighten frontend input or update validator intentionally
Process hangs on exitCleanup path missingAdd shutdown cleanup and test app exit

WebView2 Runtime Missing

SymptomLikely causeFix
Windows app fails on clean machineWebView2 Runtime missing and installer skipped itChoose a WebView2 install mode and rebuild installer
Store package rejected or fails installOffline/silent installer expectations unmetUse offline installer mode and silent install settings

Updater Fails

SymptomLikely causeFix
Update rejectedMissing or invalid updater signatureRegenerate signed artifacts with the correct private key
Check finds no updateEndpoint JSON wrong or unreachableValidate static JSON or update server response
Future updates impossiblePrivate key lostTreat as release incident; users may need a new install path
Signed app still cannot updateOS signing confused with updater signingConfigure both signing paths separately

Mobile Build Fails

SymptomLikely causeFix
Android build failsSDK, NDK, env vars, or Rust targets missingRecheck Tauri Android prerequisites
iOS build failsNot on macOS, Xcode/CocoaPods missing, or signing unavailableUse macOS with required iOS setup
Plugin missing on mobilePlugin has no mobile implementationAdd Kotlin/Swift plugin path or choose another stack
App freezes on AndroidLong plugin work on main threadMove work to background dispatcher