The Firebase CLI cannot find emulator configuration in your firebase.json file. This happens when the emulators section is missing or incorrectly formatted, preventing local development.
This error occurs when you run `firebase emulators:start` but the Firebase CLI cannot find any emulator configuration in your firebase.json file. The Firebase Local Emulator Suite requires an "emulators" section in firebase.json that specifies which emulators to start and their configuration settings. The Firebase CLI looks for this configuration to determine which services (Firestore, Authentication, Functions, Hosting, etc.) to emulate locally. Without this section, the CLI has no instructions on what to start, resulting in the "No emulators to start" error. This is typically a setup issue that occurs on new projects or when the firebase.json file has been manually edited without including the emulators configuration.
First, confirm your firebase.json file exists in your project root and check if it has an "emulators" section:
cat firebase.jsonIf the file is missing an "emulators" section, or the section is empty, this is the root cause.
The easiest solution is to run the Firebase initialization wizard specifically for emulators:
firebase init emulatorsThis interactive wizard will:
- Ask which emulators you want to use (Firestore, Functions, Auth, etc.)
- Let you customize ports (or use defaults)
- Automatically update your firebase.json with the correct configuration
Select the emulators you need for your project when prompted.
Alternatively, manually add an "emulators" section to your firebase.json file. Here's a common configuration example:
{
"emulators": {
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
"firestore": {
"port": 8080
},
"storage": {
"port": 9199
},
"hosting": {
"port": 5000
},
"ui": {
"enabled": true,
"port": 4000
},
"singleProjectMode": true
}
}Only include the emulators you actually need. Remove sections for services you're not using.
After adding the configuration, verify your firebase.json is valid JSON and start the emulators:
firebase emulators:startYou should see output indicating which emulators are starting and their ports. The Emulator UI should be accessible at http://localhost:4000 (or your configured port).
Default Emulator Ports: If you don't specify ports, emulators use defaults: Auth (9099), Functions (5001), Firestore (8080), Realtime Database (9000), Hosting (5000), Storage (9199), Pub/Sub (8085), and UI (4000). Explicit configuration is recommended to avoid conflicts.
Windows-Specific Issues: There are documented bugs (GitHub issues #8816, #8847, #8921) where the Firebase CLI on Windows enters a corrupted state and fails to read firebase.json correctly even when properly configured. If firebase init emulators fails repeatedly on Windows, try: (1) completely removing and reinstalling firebase-tools, (2) manually creating the emulators section, or (3) using WSL2 instead of native Windows.
Using --only Flag: The firebase emulators:start --only functions,firestore command requires those specific emulators to be configured in firebase.json. If you get "No emulators to start" with --only but it works without it, check that the emulators you're targeting are actually listed in your configuration.
Single Project Mode: Setting "singleProjectMode": true allows you to use the emulators without being logged into Firebase or having an active project. This is useful for completely offline development.
messaging/UNSPECIFIED_ERROR: No additional information available
How to fix "messaging/UNSPECIFIED_ERROR: No additional information available" in Firebase Cloud Messaging
App Check: reCAPTCHA Score Too Low
App Check reCAPTCHA Score Too Low
storage/invalid-url: Invalid URL format for Cloud Storage reference
How to fix invalid URL format in Firebase Cloud Storage
auth/missing-uid: User ID identifier required
How to fix "auth/missing-uid: User ID identifier required" in Firebase
auth/invalid-argument: Invalid parameter passed to method
How to fix "auth/invalid-argument: Invalid parameter passed to method" in Firebase