Troubleshooting
Fixes for the common problems — connection failures, permission errors, and missing-index errors.
Most issues fall into one of three buckets: the connection, permissions, or Firestore indexes. Here's how to diagnose and fix each.
Connection failures#
If the connect wizard won't accept your key, or a connected project suddenly can't reach Firebase:
- "Not valid JSON" / missing fields. The pasted text isn't a complete
service-account key. Re-download it from the Firebase Console (Project
Settings → Service Accounts → Generate new private key) and paste the whole
file, including the
private_keyblock. See Connecting a project. - The key was revoked. If you deleted or disabled the key in Firebase, or rotated it, Firepanel loses access. Generate a fresh key and reconnect.
- APIs disabled. Make sure the Cloud Firestore API is enabled for the project in the Google Cloud Console.
- Re-verify. From the project's settings, use Re-verify to re-run the connection check after fixing anything on the Firebase side.
Permission errors#
If browsing works but editing, creating, or deleting fails with a permission message, the service account doesn't have write access to Firestore.
- Use a key from the Firebase Admin SDK panel (it includes write access by default), or
- If you scoped the account down for least privilege, grant it Firestore write in addition to read.
A read-only connection is fine if you only intend to browse — editing features will simply report that they can't write. See Permissions.
Missing-index errors#
Firestore requires a composite index for many sorted or filtered queries. If you sort or filter on a field and see an error mentioning a missing index, that's expected Firestore behaviour, not a Firepanel bug.
Tip
The error message from Firebase includes a direct link to create the exact index it needs. Open that link, click create, wait for the index to finish building (usually a minute or two), then retry your sort or filter in Firepanel.
If you filter and sort the same collection often, creating the index once means you won't see the error again for that query.
The table is slow or won't load#
- Very large collections load in pages and are virtualized, so scrolling stays smooth — but the first load of a huge collection can take a moment. Narrow it with a filter or open a saved view.
- A flaky network shows up as slow live reads, since Firepanel fetches from Firebase on demand. Refresh the view (also available from ⌘K).
Still not working?#
Collect the exact error text and what you were doing, and reach out via Getting support. Specifics let us help much faster.