Flutter: [core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
A Firebase service was used before Firebase.initializeApp() ran and completed.
[core/no-app] No Firebase App '[DEFAULT]' has been createdNo Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()FirebaseException core/no-appFirebase.initializeApp() not called Meaning
Initialise Firebase in main() before runApp, after WidgetsFlutterBinding.ensureInitialized(), and await it. Add DefaultFirebaseOptions.currentPlatform from FlutterFire CLI. In isolates or background handlers initialise again.
Common causes
- initializeApp not called or not awaited
- Missing WidgetsFlutterBinding.ensureInitialized()
- Background message handler isolate not initialised
- Missing google-services.json / GoogleService-Info.plist
- Platform options not generated by FlutterFire CLI
⚡ Quick fix
- Call
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);in main - Run
flutterfire configure - Initialise in background isolate handlers too
Detailed fix by platform
Flutter
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); runApp(const MyApp()); }
How to diagnose
- Init — Awaited before use?
- Config — Platform files present?
- Isolate — Background handler?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- Android license status unknown / licenses not accepted flutter doctor: Android license status unknown. Run `flutter doctor --android-licenses` to accept the SDK licenses
- ApiException: 10 Google Sign-In: com.google.android.gms.common.api.ApiException: 10 (DEVELOPER_ERROR)
- BoxConstraints forces an infinite width Flutter: BoxConstraints forces an infinite width. These invalid constraints were provided to RenderStack's layout() function (TextField in a Row)
Most viewed in Flutter / Dart
- setState() called after dispose() Flutter: setState() called after dispose(): _MyState#1a2b3 (lifecycle state: defunct, not mounted)
- A RenderFlex overflowed Flutter: A RenderFlex overflowed by x pixels on the right/bottom
- Null check operator used on a null value Dart/Flutter: Null check operator used on a null value
Other ways to find it
Where this error sits
Origin: On your device. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 4 Nov 2026