---
schema_version: 1
route: /t/firebase.md
tool: "firebase"
---

# sincecutoff.com /t/firebase — Firebase CLI

- name: Firebase CLI
- kind: cli
- children: none
- homepage: <https://github.com/firebase/firebase-tools>

Changes to the tools coding agents drive, since a model's training cutoff, each linked to its first-party source. Check installed versions and limitations before acting; a cutoff date does not establish what a model knows.
Original editorial content: [Apache 2.0](https://sincecutoff.com/v1/data-license.txt), by [0xPatrick](https://0xpatrick.dev). Preserve applicable license and [NOTICE](https://sincecutoff.com/notice.txt) attribution when redistributing. Third-party source text and examples retain their own rights. [License scope and attribution](https://sincecutoff.com/v1/license.json).
To stay current, read the changes feed: [`/v1/changes.md?tool=firebase`](https://sincecutoff.com/v1/changes.md?tool=firebase) (or `.json`), adding `since=YYYY-MM-DD` for your training cutoff. Entries for registered children are included; the registry itself is `/v1/tools.json`. How to page and save your place: [llms.txt](https://sincecutoff.com/llms.txt).

### firebase ext:uninstall adds --immediate (2026-08-19)
- slug: firebase-ext-uninstall-adds-immediate-e45632fc0a1b
- score: 0.91

How to use it:

When uninstalling a Firebase Extension immediately, run `firebase ext:uninstall` with the instance ID and `--immediate`.

Examples:

```
firebase ext:uninstall <extension-instance-id> --project <project-id> --immediate
```

- why_it_matters: Uninstall a Firebase Extension immediately when maintaining a project.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.28.0>, <https://firebase.google.com/docs/extensions/users/migrate>
- gotchas: "Version: v15.28.0"; "<extension-instance-id> (required): ID of the Extension instance to uninstall."; "--project <project-id>: Select the Firebase project; omit when using the default project configured in `.firebaserc`."; "--immediate: Request immediate uninstallation; the CLI guide says this allows uninstalling Extensions regardless of how they were installed."; "Prerequisite: Set up the Firebase CLI and initialize a Firebase project."

### firebase App Check service enforcement commands (2026-08-05)
- slug: firebase-app-check-service-enforcement-commands-8abdff13e61f
- score: 0.92

How to use it:

When you need to inspect or change App Check enforcement in a Firebase project, use `appcheck:services:list` to list services, `appcheck:services:get <service>` to inspect one, or `appcheck:services:set <service> <mode>` to change one.

Examples:

```
firebase appcheck:services:list
```

```
firebase appcheck:services:get <service>
```

```
firebase appcheck:services:set <service> <mode>
```

- why_it_matters: Inspect or change App Check enforcement for a service in a Firebase project.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.26.0>, <https://github.com/firebase/firebase-tools/blob/v15.26.0/src/commands/appcheck-services-list.ts>, <https://github.com/firebase/firebase-tools/blob/v15.26.0/src/commands/appcheck-services-get.ts>, <https://firebase.google.com/docs/cli>
- gotchas: "Version: v15.26.0"; "<service> (required): Service alias; for supported services without a short name, pass its App Check service ID."; "<mode> (required): Enforcement mode. Exact allowed values and meanings were not available in the opened source excerpt."; "Prerequisite: Authenticate the Firebase CLI and select or otherwise specify a Firebase project; the commands require a project number."; "Prerequisite: The list and get commands require `firebaseappcheck.services.get` permission."; "Prerequisite: Install the Firebase CLI; its reference says to set up a Firebase project before use."

### firebase login supports a two-phase non-interactive flow (2026-08-05)
- slug: firebase-login-supports-a-two-phase-non-interactive-flow-0bb100d4af7f
- score: 0.92

How to use it:

When authenticating the Firebase CLI in a non-interactive environment, run `firebase login --non-interactive`, visit the printed URL and follow its instructions to get an authorization code, then run `firebase login <auth_code>` in the same CLI setup.

Examples:

```
firebase login --non-interactive
```

```
firebase login <auth_code>
```

- why_it_matters: Authenticate the Firebase CLI from a non-interactive coding-agent environment.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.26.0>, <https://github.com/firebase/firebase-tools/blob/v15.26.0/src/commands/login.ts>, <https://firebase.google.com/docs/cli>
- gotchas: "Version: v15.26.0"; "--non-interactive: Starts the remote login flow when non-interactive mode is enabled."; "auth_code: Positional authorization code used to complete a pending login; supply it for the second command."; "Prerequisite: Install the Firebase CLI; the official CLI reference requires Node.js v18.0.0 or later when installing via npm."; "Prerequisite: Use Firebase CLI v15.26.0 or later for this flow; it was added in v15.26.0."; "Prerequisite: Complete the second command where the pending login session was started; the CLI stores temporary login state locally."; "Docs conflict: The current general CLI reference says `firebase login` requires browser access and documents `--no-localhost` for remote environments; it does not describe the v15.26.0 two-phase `--non-interactive` flow. https://firebase.google.com/docs/cli"

### firebase apphosting:secrets:revokeaccess command (2026-06-18)
- slug: firebase-apphosting-secrets-revokeaccess-command-218ea1e43bf8
- score: 0.92

How to use it:

When revoking a secret’s access for an App Hosting backend, run `firebase apphosting:secrets:revokeaccess` with the secret name and backend ID; add `--location` if needed to identify the backend’s region. The command changes secret permissions and does not edit deployment configuration.

Examples:

```
firebase apphosting:secrets:revokeaccess <secret-name> --backend=<backend-id> [--location=<region>]
```

- why_it_matters: Revoke access to an App Hosting secret while maintaining a repository's deployment configuration.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.22.0>, <https://github.com/firebase/firebase-tools/blob/v15.22.0/src/commands/apphosting-secrets-revokeaccess.ts>
- gotchas: "Version: v15.22.0"; "<secretNames> (required): Secret name; comma-separate multiple secret names."; "--backend <backend> (required): Backend whose service-account access is revoked; mutually exclusive with `--emails`."; "--location <location>: Backend location. Cannot be combined with `--emails`; if omitted, the CLI prompts to select the backend location."; "--emails <emails>: Comma-delimited user or group emails to revoke access from; mutually exclusive with `--backend`."; "Prerequisite: Authenticate the Firebase CLI; the command also ensures the Secret Manager and App Hosting APIs are enabled."; "Prerequisite: The caller needs `secretmanager.secrets.get`, `secretmanager.secrets.getIamPolicy`, and `secretmanager.secrets.setIamPolicy` permissions."; "Prerequisite: Use firebase-tools v15.22.0 or later for this newly added command."; "Docs conflict: The Firebase CLI reference page lists `apphosting:secrets:grantaccess` and other App Hosting secret commands but omits `apphosting:secrets:revokeaccess`; v15.22.0 tagged source defines the new command. https://firebase.google.com/docs/cli"

### firebase deploy creates Firestore search indexes (2026-05-07)
- slug: firebase-deploy-creates-firestore-search-indexes-adf4a8e94476
- score: 0.96

How to use it:

When the repository has Firestore search index configuration to deploy, run `firebase deploy --only firestore` from the project directory.

Examples:

```
firebase deploy --only firestore
```

- why_it_matters: Deploy a repository's Firestore search index configuration.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.17.0>, <https://github.com/firebase/firebase-tools/pull/10431>, <https://firebase.google.com/docs/cli>, <https://github.com/firebase/firebase-tools/blob/v15.17.0/src/firestore/README.md>
- gotchas: "Version: v15.17.0"; "--only firestore (required): Scopes deployment to Cloud Firestore Security Rules and indexes for configured databases."; "Prerequisite: Run from a Firebase project directory containing `firebase.json`; Firebase CLI docs say to set up a Firebase project before using the CLI."; "Prerequisite: Configure the index file in `firebase.json`; the CLI’s default index filename is `firestore.indexes.json`."

### firebase mcp supports SSE mode (2026-04-29)
- slug: firebase-mcp-supports-sse-mode-a6ef187ae16b
- score: 0.96

How to use it:

When you need a local SSE endpoint for an MCP client, start Firebase MCP with `firebase mcp --mode=sse --port=3000` and connect the client to `http://localhost:3000`.

Examples:

```
firebase mcp --mode=sse --port=3000
```

- why_it_matters: Connect an SSE-capable client to the Firebase MCP server running locally.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.16.0>, <https://firebase.google.com/support/release-notes/cli>
- gotchas: "Version: v15.16.0"; "--mode=sse (required): Selects SSE mode."; "--port=3000 (required): Uses port 3000 for the local server."

### firebase-tools supports custom resolvers in Firebase Data Connect (2026-03-09)
- slug: firebase-tools-supports-custom-resolvers-in-firebase-data-connect-09e9d2adf3a3
- score: 0.90

How to use it:

When you have a Firebase project set up to use SQL Connect, run `firebase init dataconnect:resolver` to scaffold a custom resolver, then define its schema and implement the resolver logic in Cloud Functions.

Examples:

```
firebase init dataconnect:resolver
```

- why_it_matters: Configure custom resolvers for a Firebase Data Connect project.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.9.0>, <https://github.com/firebase/firebase-tools/pull/9967>, <https://firebase.google.com/docs/sql-connect/custom-resolvers>
- gotchas: "Version: v15.9.0"; "Prerequisite: Firebase CLI v15.9.0 or higher and Firebase Functions SDK v7.1.0 or higher."; "Prerequisite: A project already set up to use SQL Connect; custom resolver logic is implemented with Cloud Functions."

### firebase dataconnect:compile command (2026-01-29)
- slug: firebase-dataconnect-compile-command-91a74d9e5967
- score: 0.92

How to use it:

When a Firebase project has a Data Connect directory, run `firebase dataconnect:compile` to compile its schema, connector configuration, and GQL files and generate SDKs. Use `--service` and, when needed, `--location` to select services.

Examples:

```
firebase dataconnect:compile
```

```
firebase dataconnect:compile --service <serviceId>
```

```
firebase dataconnect:compile --service <serviceId> --location <location>
```

- why_it_matters: Compile a Data Connect project from the Firebase CLI.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.5.0>, <https://github.com/firebase/firebase-tools/blob/v15.5.0/src/commands/dataconnect-compile.ts>
- gotchas: "Version: v15.5.0"; "--service <serviceId>: Service ID to compile; if omitted, compiles all services."; "--location <location>: Service location; only needed if the service ID is used in multiple locations."; "Prerequisite: A Data Connect project directory must be configured; if none is found, the CLI instructs you to run `firebase init dataconnect`."

### firebase MCP adds Firestore and Storage rule generation prompts (2026-01-15)
- slug: firebase-mcp-adds-firestore-and-storage-rule-generation-prompts-563fff73ce59
- score: 0.92

How to use it:

When a Firestore or Storage development task needs security rules, invoke the corresponding Firebase MCP prompt: `/firestore:generate_rules` or `/storage:generate_rules`.

Examples:

```
/firestore:generate_rules
```

```
/storage:generate_rules
```

- why_it_matters: Generate rules prompts for a Firestore or Storage development task using Firebase MCP.
- sources: <https://github.com/firebase/firebase-tools/releases/tag/v15.3.0>, <https://firebase.google.com/docs/ai-assistance/prompt-catalog/write-security-rules>
- gotchas: "Version: v15.3.0"; "Prerequisite: Connect to the Firebase MCP server before generating rules."; "Docs conflict: Current Firebase docs list `/firestore:generate_security_rules` and `/storage:generate_security_rules`, which differ from the v15.3.0 release note’s prompt names. No parameters for the v15.3.0 prompts were found in the official documentation."
