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.
When ADB reports a device as unauthorized, it means:
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.
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.
adb devices on the PC.adb devices again. The status should now show device.If no dialog appears, proceed to the next fix.
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.
adb kill-server then adb start-server.adb devices. The authorization dialog should now appear on the phone.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:
C:\Users\<YourUsername>\.android\adbkey and adbkey.pub~/.android/adbkey and adbkey.pubSteps:
adb kill-server to stop the ADB daemon on the PC.adbkey and adbkey.pub from the .android folder.adb devices. ADB generates a new key pair and presents it to the phone for fresh authorization.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.
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.
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.
On Windows, ADB occasionally requires administrator permissions to communicate with certain USB devices, particularly when the driver was installed by a different user account.
adb kill-server in a standard terminal.adb start-server.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.
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.
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.