# Firebase CLI: “firebase: command not found” / “‘firebase’ is not recognized”

> firebase: command not found, or firebase is not recognized on Windows. Install firebase-tools, fix npm’s global folder and PATH, or use the standalone binary.

Canonical: https://app369.com/fix/firebase-command-not-found/
Last updated: 2026-11-08

firebase login or firebase deploy fails with command not found (zsh, bash) or is not recognized (Windows). The Firebase CLI isn’t installed, or it was installed into a global npm folder that isn’t on your PATH, or the install failed on permissions and nothing was written.

**Short answer**

Run npm install -g firebase-tools and read the output for errors. If it fails with EACCES, don’t use sudo: install Node with nvm and run it again. Then open a new terminal and run firebase --version. Without Node, use Firebase’s install script (curl -sL https://firebase.tools | bash) or the standalone binary.

## **Why the shell can’t find firebase, and the fix**

1. 01 ### **The CLI isn’t installed on this machine**
  > “Install the Firebase CLI via npm by running the following command: npm install -g firebase-tools This command enables the globally available firebase command.” [**Firebase, Firebase CLI reference**](https://firebase.google.com/docs/cli) Firebase’s CLI comes from npm, not from the Firebase SDKs in your project. Install it globally once per machine, then check the version.```
npm install -g firebase-tools
firebase --version
```
2. 02 ### **The npm install failed on permissions**
  > “Reinstall npm with a node version manager This is the best way to avoid permissions issues.” [**npm, Resolving EACCES permissions errors**](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally) With Node from the official installer, global installs into a system folder fail with EACCES, and the firebase command never appears. Reinstall Node through nvm so global packages live in your home folder, then install again.```
# install nvm with the command in its README (github.com/nvm-sh/nvm), then open a new terminal
nvm install --lts
npm install -g firebase-tools
```
3. 03 ### **npm’s global bin folder isn’t on PATH** The install worked, but the shell doesn’t look where npm put the command. Find the folder, add it to PATH in ~/.zprofile (or the Path user variable on Windows), and open a new terminal. Switching Node versions with nvm also switches global packages, so install the CLI again under the new version.```
npm prefix -g          # the command lives in <prefix>/bin on macOS and Linux
echo $PATH
# add to ~/.zprofile if missing:
export PATH="$(npm prefix -g)/bin:$PATH"
```
4. 04 ### **No Node.js on the machine**
  > “This script automatically detects your operating system, downloads the latest Firebase CLI release, then enables the globally available firebase command.” [**Firebase, Firebase CLI reference**](https://firebase.google.com/docs/cli) If you don’t use Node for anything else, skip npm. On macOS and Linux the install script sets up the firebase command for you; on Windows the standalone binary opens a shell with firebase ready.```
curl -sL https://firebase.tools | bash
```

Checked against the vendor’s docs on November 8, 2026: [Firebase CLI reference (install options)](https://firebase.google.com/docs/cli); [npm Docs: Resolving EACCES permissions errors](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally).

## **Rather hand it over?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [from $450**App Fix Ticket**One reproducible bug in an existing mobile or web app, diagnosed and fixed.**See scope and start**](https://app369.com/fixed-price/flutter-firebase-bug-fix/)
- [from $450**AI-Built App Rescue**A Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.****No issues worth fixing, no charge.**** If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.**See scope and start**](https://app369.com/fixed-price/ai-app-rescue/)

Related: [**“flutterfire: command not found”**](https://app369.com/fix/firebase-flutterfire-command-not-found/) · [**flutter: command not found**](https://app369.com/fix/flutter-command-not-found/) · [**Firebase “google-services” plugin not found**](https://app369.com/fix/firebase-google-services-plugin-not-found/) · [**Firestore DEADLINE_EXCEEDED**](https://app369.com/fix/firestore-deadline-exceeded/)

Questions

## **More on this error**

<details>

<summary>**Can I run it without installing it globally? **+</summary>

Yes, for a one-off command: npx firebase-tools login or npx firebase-tools deploy downloads and runs it in one step.

</details>

<details>

<summary>**PowerShell says running scripts is disabled. Is that the same problem? **+</summary>

No. The command was found but PowerShell’s execution policy blocks npm’s firebase.ps1 wrapper. Run it from Command Prompt, or allow local scripts for your user with Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.

</details>

<details>

<summary>**Can you fix it for me? **+</summary>

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

</details>

A different error?

## **Describe it and get a written quote**

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.

[**Describe your problem **→](https://app369.com/contact/) [**All fixes**](https://app369.com/fix/)