It is a common mid-flash surprise: adb devices worked fine a minute ago, but the moment the phone reboots into the bootloader, fastboot devices comes back completely empty, even though the bootloader menu is clearly visible on the screen. This happens because ADB mode and Fastboot mode use two entirely different USB drivers on Windows, and a working ADB connection says nothing about whether the Fastboot-mode driver is bound correctly.
When a device is running Android normally, Windows binds it to an ADB interface driver (commonly listed as "Android ADB Interface" or "Android Composite ADB Interface" in Device Manager). The instant the device reboots into the bootloader, it re-enumerates as a completely different USB device with a different interface descriptor, and Windows needs to bind it to the Android Bootloader Interface driver instead. If that specific driver was never installed, or was installed for a different device previously and left conflicting entries behind, Windows either shows the bootloader-mode device as an unrecognized device or, worse, silently fails to enumerate it as anything fastboot can see at all.
With the phone connected and sitting in the bootloader/Fastboot screen, open Device Manager on the PC. Look specifically under three places, since the broken entry can land in any of them depending on the device and Windows build:
If nothing at all appears when the phone is in bootloader mode — not even an unrecognized device entry — the issue is more likely the USB cable or port than the driver; see the cable and port section below before touching drivers further.
Right-click the problem entry (wherever it landed) and choose Update driver > Browse my computer for drivers > Let me pick from a list. Select Android Device as the device category, then Android Bootloader Interface from the model list. If this exact entry is not available, install the Google USB Driver package from Android SDK Platform-Tools first, then retry — it registers this driver into Windows' local driver store even if it is not automatically applied.
If a device-specific driver already installed correctly for normal ADB mode but the bootloader entry is still broken, this usually means the manufacturer's driver package covers ADB and MTP interfaces but not the bootloader interface separately — not uncommon with smaller-brand driver packages that were tested only for file transfer, not flashing.
A meaningful share of "fastboot devices returns nothing" reports turn out to be hardware, not software:
Once the driver binds correctly, rerun:
fastboot devices
A correct result shows the device serial number followed by fastboot, with no other text. If it still returns nothing after a confirmed correct driver install, try a different USB port and cable before reinstalling the driver again — repeating a driver install rarely resolves what is actually a cable or port problem.
Occasionally a manufacturer's own flashing utility (Xiaomi's Mi Flash, for example) detects the device correctly in bootloader mode while plain fastboot devices from a terminal shows nothing. This usually means the OEM tool bundles and silently installs its own driver on first run, separate from whatever is registered in Device Manager for general use, and that bundled driver claims the interface exclusively while the tool's background service is running. Close the OEM tool completely, including any tray icon or background service, before retrying a plain fastboot devices check, since two drivers cannot both bind the same USB interface at once.
A driver that worked correctly can stop working after a Windows Update without any USB hardware change on your end. Windows Update occasionally replaces a manually installed OEM driver with a generic Microsoft-supplied one during a routine update pass, which is usually fine for MTP file transfer but frequently lacks the bootloader interface entry entirely. If a previously working Fastboot setup suddenly stops seeing the device with no other changes made, check the driver version and date in Device Manager against what you originally installed — a recent date matching a Windows Update cycle is a strong signal this is what happened, and reinstalling the correct driver resolves it.