Troubleshooting

Fix "adb devices" Showing Unauthorized: 7 Solutions

Published: June 25, 2026 Applies to: Windows 10/11, macOS, Linux — all Android devices

Running adb devices and seeing your phone listed as unauthorized instead of device is one of the most common ADB setup problems. The device is physically connected and the USB driver is working — but ADB is blocked because the RSA key from your computer has not been accepted by the phone. This guide walks through every cause and its specific fix.

What "unauthorized" Actually Means

When ADB reports a device as unauthorized, it means:

  1. The USB connection is established and the driver is loaded correctly (otherwise the device would not appear at all).
  2. The ADB daemon on the phone received the connection request.
  3. The RSA key that your PC presented has not been authorized by the user on the phone — either the authorization dialog was not seen, not tapped, or the key was revoked.

This is fundamentally a security feature. Android requires explicit per-computer authorization to prevent unauthorized ADB access when a phone is connected to an unknown PC. The fixes all revolve around ensuring the authorization dialog appears and is accepted, or clearing stale key data that is preventing re-authorization.

Fix 1: Look for and Accept the Authorization Dialog

The most common reason for unauthorized is simply that the dialog was missed. The "Allow USB Debugging" dialog appears on the phone screen after adb devices is run, but it may appear behind other notifications or on a locked screen.

If no dialog appears, proceed to the next fix.

Fix 2: Revoke Authorizations and Re-authorize

Corrupted or mismatched key entries can prevent the authorization dialog from appearing even when no key has been accepted. Revoking all existing authorizations forces a fresh key exchange.

  1. On the phone, go to Settings > Developer Options.
  2. Tap Revoke USB Debugging Authorizations. Confirm when prompted.
  3. Toggle USB Debugging off, wait 5 seconds, then toggle it back on.
  4. On the PC, run adb kill-server then adb start-server.
  5. Disconnect the USB cable, wait 10 seconds, then reconnect.
  6. Run adb devices. The authorization dialog should now appear on the phone.

Fix 3: Delete the ADB Keys Folder on the PC

ADB stores the RSA key pair used for authorization in a folder on the PC. If these files are corrupted or if the phone has authorized a different key (from a previous ADB installation), generating a fresh key pair resolves the mismatch.

ADB key file locations:

Steps:

  1. Run adb kill-server to stop the ADB daemon on the PC.
  2. Delete both adbkey and adbkey.pub from the .android folder.
  3. Also revoke authorizations on the phone (Developer Options > Revoke USB Debugging Authorizations).
  4. Reconnect the phone and run adb devices. ADB generates a new key pair and presents it to the phone for fresh authorization.

Fix 4: Change the USB Connection Mode

On some Android builds, ADB authorization prompts only appear when the phone is in a mode that exposes the ADB interface. Charging Only mode and some MTP configurations do not present the full ADB interface.

  1. Pull down the notification shade on the phone.
  2. Tap the USB connection notification (usually "Charging this device via USB" or similar).
  3. Change the mode to File Transfer.
  4. Run adb devices again and watch for the authorization dialog.

If the USB notification does not appear, go to Developer Options and look for a Select USB Configuration or Default USB Configuration option to set File Transfer as the default.

Fix 5: MIUI, ColorOS, and Brand-Specific Fixes

Several Android skins add extra authorization layers that must be enabled in addition to the standard USB Debugging toggle:

Xiaomi MIUI / HyperOS: In Developer Options, look for USB Debugging (Security Settings) as a separate toggle below USB Debugging. Enable both. Without the security settings toggle, some MIUI builds show the device as unauthorized even after accepting the standard dialog.

OPPO ColorOS / Realme UI: The authorization dialog may timeout faster than on stock Android. Have the phone screen on and unlocked, run adb devices, and immediately tap Allow on the phone. If the dialog expires before you tap, run adb devices again to trigger it again.

Samsung One UI: On some Galaxy devices, the authorization may be tied to the lock screen credential. If the phone is locked or in a work profile restricted state, the dialog may not appear. Fully unlock the device including biometric or PIN authentication before connecting.

Huawei EMUI / HarmonyOS: Some EMUI versions require confirming an "Allow debugging?" dialog in HiSuite or a secondary EMUI-specific dialog before the standard ADB authorization. Connect through HiSuite first to clear the EMUI layer, then switch to direct ADB.

Fix 6: Restart ADB Server with Elevated Permissions

On Windows, ADB occasionally requires administrator permissions to communicate with certain USB devices, particularly when the driver was installed by a different user account.

  1. Close all ADB instances: run adb kill-server in a standard terminal.
  2. Right-click the Command Prompt or PowerShell icon and choose Run as administrator.
  3. In the elevated terminal, run adb start-server.
  4. Run adb devices from the same elevated terminal.

If this resolves the unauthorized issue, the USB driver permissions on the PC are the root cause. Fix it permanently by reinstalling the USB driver while logged in as an administrator, or by adjusting the device permissions in Device Manager under the driver's Advanced Properties.

Fix 7: Test with a Different USB Cable and Port

A physically defective USB cable can cause intermittent connection states where the device appears in ADB but drops the authorization handshake midway. This manifests as the device alternating between unauthorized and not appearing at all, or the authorization dialog appearing but then disappearing before it can be tapped.

Last Resort: Factory Reset Developer Options

If none of the above fixes work and the phone consistently shows unauthorized across multiple PCs and cables, a corrupted Developer Options state on the phone itself may be the cause. The nuclear option is to disable Developer Options entirely (toggling the main Developer Options switch off in Settings), which clears all developer settings including saved ADB keys, then re-enable and set up USB Debugging from scratch. On some Android builds, disabling and re-enabling Developer Options is the only way to clear deeply cached authorization state.