Troubleshooting

How to Fix "ADB Waiting for Device" on Windows

By Andora Team Published: March 15, 2026 Updated: March 15, 2026 Reading time: 7 minutes

You run an ADB command — maybe adb shell, adb install, or adb push — and instead of executing, it just hangs and prints "waiting for device". The cursor blinks. Nothing happens. This is ADB telling you it has no valid device to talk to, and it will sit there indefinitely until one appears.

The symptom you are experiencing:
$ adb -d shell
* daemon not running; starting now at tcp:5037
* daemon started successfully
adb: waiting for device

Press Ctrl+C to cancel the waiting command first. Then work through the causes below to understand why ADB has nothing to connect to. This situation is closely related to the ADB device not found error — the difference is that "waiting for device" is the output from a command that was run before a device was ready, while "no devices found" is the explicit error from adb devices.

Cause 1: USB Debugging Is Not Enabled

This is the single most common cause. ADB will not connect to a device that does not have USB Debugging turned on. Even if the phone is physically connected, it is invisible to ADB without the setting enabled.

To verify and enable USB Debugging:

  1. On your Android device, go to Settings > About Phone.
  2. Tap Build Number seven times. You will see "You are now a developer!" after the seventh tap.
  3. Go back to Settings > System > Developer Options (path varies by brand — see our guide on USB Debugging not showing in Developer Options if you cannot find it).
  4. Enable USB Debugging.
  5. Reconnect your USB cable and run adb devices. Accept the authorization dialog on your phone if it appears.

Once adb devices shows your device with a device status, your command will no longer hang.

Cause 2: Device Screen Is Locked or Not Trusted

When ADB connects to a device for the first time (or after authorization has been revoked), it needs to show an authorization dialog on the phone screen. This dialog will not appear if the screen is locked. If your screen times out while ADB is trying to connect, the connection attempt fails silently and ADB enters the "waiting for device" loop.

Steps to resolve:

  1. Unlock your phone completely — get past any PIN, pattern, or fingerprint screen.
  2. Set the screen timeout to at least 5 minutes temporarily (Settings > Display > Screen Timeout).
  3. Disconnect and reconnect the USB cable.
  4. Watch your phone screen immediately for the "Allow USB debugging?" dialog.
  5. Tap Allow.

Inside Developer Options, there is also a setting called "Stay awake" (or "Keep screen on while charging") that prevents the screen from locking while USB is connected. Enable this while you are doing ADB work.

Cause 3: Wrong USB Connection Mode

Modern Android phones default to "Charging only" mode when you plug them into a computer. In this mode the USB connection carries power but no data, and ADB cannot discover the device at all.

To check and change the USB mode:

  1. Connect your phone via USB.
  2. Pull down the notification shade on your phone.
  3. Tap the USB notification (it typically says "Charging this device via USB").
  4. Select File Transfer or MTP.
  5. On some devices, PTP (Photo Transfer Protocol) also works for ADB.

If you want this to persist and not reset every time you connect, go to Developer Options and look for "Default USB configuration". Set it to File Transfer.

Cause 4: USB Driver Is Missing or Incorrect

Windows needs the correct USB driver to establish an ADB-capable connection to your phone. If the driver is not installed or is the wrong one, the device may not be recognized at the system level, causing ADB to wait indefinitely.

Check Device Manager to see the status of your phone:

  1. Right-click the Start button and open Device Manager.
  2. Look for your phone under Android Device, Portable Devices, or Other Devices.
  3. If there is a yellow warning icon, the driver needs to be installed or updated.
  4. Right-click the device and choose Update Driver.

For Google Pixel devices, download the Google USB Driver. For Samsung, use Samsung Smart Switch. For Xiaomi, use the Mi PC Suite driver. For all other brands, search for "[brand name] USB driver Windows".

Skip the ADB Waiting Game

Andora detects your Android device automatically with bundled ADB — no driver hunting, no USB mode switching, no waiting for authorization dialogs.

Download Andora Free See All Features

Cause 5: Multiple Devices or Ambiguous Target

If you have multiple devices connected (or a device and an emulator running simultaneously), some ADB commands require you to specify which device to target. Without a target, ADB can hang or error depending on the command.

Check what devices are connected:

adb devices
# List of devices attached
# R3CX90BXXXX    device
# emulator-5554  device

If multiple devices are listed, target a specific one using the -s flag with the device's serial number:

# Target a specific physical device by serial
adb -s R3CX90BXXXX shell

# Target the only physical device (fails if multiple USB devices)
adb -d shell

# Target the only emulator
adb -e shell

Cause 6: Stale ADB Server

A stale ADB server that started before the device was connected may not correctly discover devices added later. Restarting the server is always a safe corrective step:

adb kill-server && adb start-server
adb devices

After the restart, disconnect and reconnect your device to ensure clean enumeration.

Using wait-for-device Intentionally

It is worth noting that adb wait-for-device is also a legitimate intentional command used in scripts to pause execution until a device becomes available. If you are writing automation scripts, you can use it deliberately:

# Wait until a device is connected, then run install
adb wait-for-device && adb install -r yourapp.apk

# Wait for a specific device
adb -s R3CX90BXXXX wait-for-device && adb -s R3CX90BXXXX shell

The difference between this and the problem state is intent: in the problem state, your command is hanging unexpectedly because no device is ready. Used intentionally, wait-for-device is a useful synchronization tool.

Frequently Asked Questions

Why does adb shell say waiting for device?

ADB prints "waiting for device" when it cannot find any authorized device to connect to. The command will keep waiting indefinitely until a valid device appears. The most common cause is USB Debugging not being enabled, the device being in charging-only USB mode, or the device not being trusted by this computer.

How do I stop ADB from waiting for device?

Press Ctrl+C to cancel the waiting command. Then diagnose the root cause: check that USB Debugging is on, change USB mode to File Transfer, and ensure your phone screen is unlocked. Once the device shows as device in adb devices, your commands will run immediately.

Does adb wait for device work for wireless connections?

Yes. adb -e targets emulators and adb -d targets USB devices specifically. For wireless ADB, you need to connect first with adb connect [ip]:5555 before running commands — ADB will not auto-discover wireless devices.

Can I run ADB commands automatically when a device connects?

You can use adb wait-for-device in a script to block until a device comes online, then chain commands after it. For example: adb wait-for-device && adb install yourapp.apk — this will wait for a device and then immediately run the install.

Conclusion

The "waiting for device" hang is ADB's way of saying it has nothing to talk to. Work through the causes in order: USB Debugging off, screen locked at authorization time, wrong USB mode, missing driver, and stale ADB server. In most cases you will find the fix at cause 1, 2, or 3.

For more background on the ADB device detection problem in general, see our guide on ADB device not found. If you find Developer Options or USB Debugging hard to locate on your specific device, see USB Debugging not showing.

Connect Your Android Device in Seconds

Andora bundles everything needed to detect and manage your Android device — plug in and it works, without any of the ADB setup steps.

Download Free for Windows