The adb command not found error usually means platform-tools are missing or not on your PATH.
What Triggers The Adb Command Not Found Error?
The message about adb not being found tells you that your shell cannot see the Android Debug Bridge binary at all. The tool either is not installed, lives in a folder the terminal does not search, or you are calling it from a shell that does not load the right configuration file.
On Windows, the issue often comes from extracting platform-tools to a random folder and then running adb from a different directory. On macOS and Linux, the error usually appears when the Android SDK path is missing from the PATH variable, or when you switched shells and the old profile file no longer runs.
Several smaller details add friction too. A typo in the command, running a 32 bit build on an older system, or mixing up adb from a phone vendor package with the SDK version can all lead to the same error message.
PATH is the list of folders your system scans whenever you type a command. If the folder that stores adb is missing from that list, the shell has no way to find it while the file sits on disk and Android Studio may still launch without trouble.
Quick Checks Before You Change Anything
Before you change PATH or install new tools, run a few fast checks. These quick wins often reveal whether the adb binary is present and where your setup breaks.
- Confirm adb spelling — Type
adb versionslowly and check that you did not add spaces or extra characters. - Run adb from platform-tools — Open the folder that contains
platform-tools, then open a terminal in that folder and run./adb versionon macOS or Linux, oradb.exe versionon Windows. - Search for adb — Use
where adbon Windows orwhich adbon macOS and Linux to see whether any copy of adb is already on the PATH. - Check Android Studio tools — If you have Android Studio, open its SDK Manager and confirm that Android SDK Platform-Tools are installed.
If one of these checks does print an adb version, the binary exists and this problem comes down to the PATH variable or the way the shell starts. If none of them work, you need to install fresh platform-tools first.
It also helps to read the exact wording of the message. Lines such as “adb is not recognized as an internal or external command” on Windows or “command not found” on Unix shells both point to the same root cause, while messages about “no devices” tell you that adb runs but cannot see a phone yet. That small check saves time and keeps later debugging sessions from stalling on the same setup mistake again.
ADB Command Not Found Fixes On Windows
On Windows, the error often appears in Command Prompt or PowerShell when the platform-tools folder is not part of the PATH. The clean fix is to download the official Android SDK platform-tools package, place it in a stable folder, and then point PATH at that folder.
- Download official platform-tools — Visit the Android Developers page, grab the latest platform-tools ZIP for Windows, and extract it to a simple path such as
C:\platform-tools. - Open a terminal in that folder — In the file manager, open
C:\platform-tools, click the address bar, typecmdorpowershell, and press Enter so the terminal starts in the correct directory. - Test adb locally — Run
adb version. If you see the version string, the binary works when called from its own folder, so the core files are in good shape. - Add platform-tools to PATH — Search for “Edit the system properties”, open Variables dialog, select the
Pathentry under your user or system section, choose Edit, then add a new line that points toC:\platform-tools. - Restart terminals — Close every Command Prompt, PowerShell, or Windows Terminal window, then open a new one and run
adb versionto confirm that this error is gone.
If your machine uses tools such as Chocolatey or a minimal ADB installer, they may install adb under a different folder and add their own entry to PATH. In that case, keep only one clear entry so Windows does not try to use outdated or broken adb copies.
When you add the folder to PATH, avoid long nested paths with spaces buried deep inside your user profile. A short path such as C:\platform-tools is easier to read, simpler to debug, and less likely to clash with company login scripts or old entries that point at removed SDK locations.
Adb Command Not Found Fixes On Mac
On macOS, the adb binary normally sits under the Android SDK folder, often at ~/Library/Android/sdk/platform-tools. A message about adb not being found appears when the terminal cannot see that folder through PATH, or when you changed from Bash to Z shell and the old profile file no longer loads.
- Locate platform-tools — Open Finder, press
Shift + Command + G, paste~/Library/Android/sdk/platform-tools, and confirm that the folder contains theadbbinary. - Test adb with full path — Open Terminal and run
~/Library/Android/sdk/platform-tools/adb version. If this prints a version, the binary works and only PATH needs adjustment. - Check your shell — Run
echo $0in Terminal to see whether you usebashorzsh, since each shell reads a different startup file. - Edit the correct profile file — For Bash, open
~/.bash_profile; for Z shell, open~/.zshrc, then add a line such asexport PATH="$HOME/Library/Android/sdk/platform-tools:$PATH". - Reload and retest — Run
source ~/.bash_profileorsource ~/.zshrcas needed, then open a new Terminal window and runadb versionagain.
Many Mac users also install adb with Homebrew. In that case, running brew install android-platform-tools sets up the tooling and PATH for you, which often clears this adb error without any manual profile edits.
If you switch between different terminals on macOS, such as the built in Terminal app, iTerm, and editor panels inside tools like VS Code, make sure they all read the same profile file. Launch each one, run echo $PATH, and check that the platform-tools entry appears in every session.
Adb Command Not Found Fixes On Linux
On Linux, most distributions ship adb as a package, but the name and version can vary. You may have an older build from a distribution package, a newer copy from a manual platform-tools download, or both at the same time. Mixing them without care leads to confusing results.
- Install the adb package — On Debian or Ubuntu, run
sudo apt install adb; on Fedora, runsudo dnf install android-tools; on Arch based systems, runsudo pacman -S android-tools. - Check the path of adb — Run
which adbto see where the system finds the binary, then runadb versionto confirm that the command works. - Prefer one adb copy — If you also downloaded platform-tools manually, either rely on the package copy or add the manual folder to PATH with a clear export line in
~/.bashrcor~/.zshrc, but avoid random duplicates. - Reload your shell — After editing profile files, run
source ~/.bashrcorsource ~/.zshrcor open a new terminal so the shell sees the new PATH.
Some Linux users run adb within WSL on Windows. In that setup, the Windows USB stack sits outside the WSL instance, so adb inside WSL may not see connected phones at all even when the command runs. For most people, running adb directly on the Windows side keeps things simpler.
Beyond that message, Linux users sometimes hit permission prompts when the tool tries to talk to phones over USB. Setting up udev rules for your device vendor cuts down on those prompts, though you can usually delay that step until after the base command works from a normal shell.
Common Causes And Fixes At A Glance
Once you have basic adb behavior working on one platform, you can usually apply the same thinking on others. The table below gathers the most common error patterns and the fix that resolves them in minutes.
| Symptom | Likely Cause | Quick Fix |
|---|---|---|
| Terminal prints “adb: command not found” | No adb binary on the system | Install platform-tools or adb package, then retry |
| adb works only inside platform-tools folder | Folder not added to PATH | Add platform-tools path to PATH and restart terminal |
| adb works in one shell but not another | Different profile files per shell | Edit the correct profile file for the shell you use |
| adb shows old version message | Outdated binary shadowing newer copy | Remove old adb paths, keep a single up to date folder |
When you hit adb command not found on a new machine, scan this small chart from top to bottom and match the line that feels closest to your message. Then apply the fix in order, testing after each step, instead of changing several settings at once and wondering which tweak created new problems later.
When ADB Still Does Not Work After These Fixes
If you have confirmed the PATH entry, tested the binary with its full path, and still see the same error, it helps to step back and check the overall terminal setup. The command may be running from a different account, from a restricted shell, or under a script that clears PATH before running subcommands.
- Test with a fresh user profile — Create a new user account on your system, install platform-tools there, and see whether adb works. If it does, something in your main account profile is blocking PATH.
- Check for shell startup errors — Open the profile file that sets PATH and look for broken lines, missing quotes, or paths that point to folders that do not exist any longer.
- Watch for security software — On locked down machines, security tools may prevent unknown binaries from running. You may need to place adb under an approved folder.
- Keep Android tools together — Store platform-tools, emulator images, and related scripts under one SDK folder so you can update them as a unit and avoid stray copies.
Once adb runs cleanly from any terminal window, you can focus on device side issues such as USB debugging, drivers, and permissions. Those problems usually raise messages like “no devices/emulators found” rather than a missing command error, so treat them as a separate layer and troubleshoot device connection details only after the base command runs.
Keeping adb, PATH entries, and shell settings in sync across your machines turns this error into a rare event. Once the layout is stable, new workspaces and fresh installs need only a quick PATH line and a short test before you plug in a phone and run your first command.
