Skip to content

Fixing "zsh: command not found: brew" on macOS

Encountering "zsh: command not found: brew" after installing Homebrew is a common issue, particularly on Apple Silicon Macs (M1/M2/M3/M4 chips) where the installation path differs from Intel-based Macs. This guide provides comprehensive solutions to resolve this problem and get Homebrew working correctly.

Why This Happens

Homebrew installs to different locations depending on your Mac's architecture:

  • Intel Macs: /usr/local/bin/
  • Apple Silicon Macs (M1/M2/M3/M4): /opt/homebrew/bin/

When your shell can't find the brew command, it means the Homebrew installation directory isn't in your shell's PATH environment variable.

Primary Solution: Add Homebrew to Your PATH

Step 1: Verify Homebrew Installation

First, ensure Homebrew is properly installed using the current installation method:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Step 2: Add Homebrew to Your Shell Configuration

For Apple Silicon Macs (M1/M2/M3/M4), add this to your ~/.zshrc file:

bash
echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc

For Intel Macs, use this command instead:

bash
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.zshrc

Step 3: Apply the Changes

Either restart your terminal or run:

bash
source ~/.zshrc

Step 4: Verify Brew Works

Test that Homebrew is now accessible:

bash
brew doctor

You should see: "Your system is ready to brew."

After installation, Homebrew often provides specific instructions. Look for output similar to:

Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
  echo '# Set PATH, MANPATH, etc., for Homebrew.' >> ~/.zprofile
  echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
  eval "$(/opt/homebrew/bin/brew shellenv)"

Run these commands exactly as shown to properly configure your environment.

PATH Order Matters

Ensure Homebrew paths come before system paths in your PATH variable. The correct order should be:

bash
export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Advanced Troubleshooting

Check Installation Location

Verify where Homebrew is installed:

bash
ls /opt/homebrew/bin/brew  # Apple Silicon
ls /usr/local/bin/brew    # Intel

Manual PATH Modification

If the echo commands don't work, manually edit your ~/.zshrc file:

bash
nano ~/.zshrc

Add the appropriate export line (as shown above) to the file, save, and exit.

For Linux Users

On Ubuntu or other Linux systems, use Homebrew's recommended path:

bash
(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> ~/.zshrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

Terminal Configuration Check

INFO

If you recently force-quit Terminal or changed settings, check your Terminal preferences. Ensure "Shells open with" is set to "Default login shell" or "Command (complete path)" with /bin/zsh specified.

Verify Your Shell

Confirm zsh is your default shell:

bash
echo $SHELL

If it's not zsh, change it with:

bash
chsh -s /bin/zsh

Conclusion

The "zsh: command not found: brew" error typically occurs because Homebrew's installation directory isn't in your PATH. By adding the appropriate path to your ~/.zshrc file—/opt/homebrew/bin for Apple Silicon Macs or /usr/local/bin for Intel Macs—you'll resolve this issue and have full access to Homebrew's package management capabilities.

After applying these changes, restart your terminal and run brew doctor to confirm everything is working correctly.