Windows Bluetooth not working: diagnose and fix it

A step-by-step command-line guide to find out why Bluetooth is not working on Windows and get it back — from device status to services to drivers.

WindowshardwaresystemcmdservicesbluetoothpowershellMedium risk
List your Bluetooth devices with PowerShell to see whether the adapter is missing, errored, or simply not connected.

What this covers

When Bluetooth stops working on Windows, the cause is usually one of three things: the service stopped, the adapter was lost by the system, or the driver is broken. This guide walks through all three in the order they are most likely, using only PowerShell and built-in command-line tools.

Symptom

?Bluetooth devices will not pair, previously paired devices never connect, the Bluetooth toggle is missing from Quick Settings, or no Bluetooth adapter appears in Device Manager.

Check the state of your Bluetooth hardware

Before changing anything, see what Bluetooth adapters and paired devices Windows can detect and whether they report an error status. Run the PowerShell listing and look at the Status column: 'OK' means the device is healthy, 'Error' or a missing adapter points to a driver or hardware problem. This tells you whether you are dealing with a disabled adapter, a driver issue, or a dead device.

Show paired Bluetooth adapters and accessories and their status via Get-PnpDevice.

Command
$ Get-PnpDevice -Class Bluetooth | Sort-Object Status | Format-Table Status, FriendlyName -AutoSize

Restart the Bluetooth support service

A hung or stuck Bluetooth service is one of the most common causes of devices not pairing or not appearing. Restart the relevant service with Restart-Service, then check its status with Get-Service. If the service was stopped or stuck, restarting it often brings Bluetooth back immediately — pair or connect a device right after to see if it responds.

Stop, start, and restart Windows services in PowerShell — the forgotten one-liner alternative to services.msc or net stop/start.

Command
$ Restart-Service -Name wuauserv -Force
Get-Service -Name wuauserv | Select-Object Name, Status, StartType
▾ Undo
Undo
$ Start-Service -Name wuauserv

Make sure the service starts automatically at boot

If the Bluetooth service was stopped, check why: it may be set to Disabled or Manual so it never comes back after a reboot. Use Set-Service to set the Bluetooth support service's startup type to Automatic so it survives restarts. This step is optional but prevents the same failure from recurring after every reboot.

Use Set-Service to make a service start at boot, start on demand, or never start at all.

Command
$ Set-Service -Name spooler -StartupType Disabled    ::  also valid: Manual, Automatic, AutomaticDelayedStart
▾ Undo
Undo
$ Set-Service -Name spooler -StartupType Automatic

Rescan for hardware changes

If the adapter itself is missing or shows an error, Windows may simply have lost track of it. Run a hardware rescan with pnputil so Windows re-detects the Bluetooth adapter as if you had unplugged and replugged it. After the scan, re-check the device list — a previously missing adapter that reappears means Windows found the hardware again.

Tell Windows to re-detect newly plugged hardware from the command line — the CLI equivalent of 'Scan for hardware changes' in Device Manager.

Command
$ pnputil /scan-devices

Verify the Bluetooth driver package is installed

As a final check, enumerate the third-party driver packages in the driver store and confirm a Bluetooth driver package is present and dated sensibly. A missing or ancient driver package after the fixes above suggests the driver itself needs attention (e.g., reinstalling from the PC maker). If the adapter shows Status OK and a current driver package is listed, Bluetooth is working again.

List third-party OEM driver packages with versions and dates before pruning the driver store.

Command
$ pnputil /enum-drivers
!Changing service startup types or scanning hardware affects system-wide behavior. Do not disable or delete services you do not recognize, and note the original settings before changing them so you can revert.

How to confirm it worked

Your Bluetooth adapter appears with Status OK in the device list, the support service is Running and set to start automatically, and a current Bluetooth driver package is present in the driver store.

Undo everything

Every command above can be reverted. Run these in order to undo all of it.

Undo everything
$ Set-Service -Name spooler -StartupType Automatic
Start-Service -Name wuauserv

Review before running — some steps may not be independent.

Sources

  • Get-PnpDevice
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Lists PnP devices; can be filtered by class (e.g. Bluetooth) and present status.
  • Get-NetAdapter
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Returns adapter objects with Status, LinkSpeed and MacAddress properties.
  • Restart-Service - SS64
    SS64 · technical · 2026-09-17
    Evidence: Shows Restart-Service usage and pipeline patterns with Get-Service.
  • Restart-Service
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents Restart-Service including -Force for dependent services.
  • PnPUtil - Plug and Play Utility
    SS64 · community · 2026-09-17
    Evidence: Documents pnputil /scan-devices to trigger a rescan for plug and play device changes.
  • Set-Service
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents the -StartupType parameter with values Automatic, Manual, Disabled (and AutomaticDelayedStart) for controlling when a service starts.
  • Set-Service — Configure a Windows service
    SS64 · technical · 2026-09-17
    Evidence: Syntax shows Set-Service -Name <string> -StartupType {Automatic | Manual | Disabled} for changing a service's start mode.
  • pnputil command syntax | Microsoft Learn
    Microsoft · vendor-doc · 2026-09-17
    Evidence: pnputil /scan-devices scans the computer for any device changes.

Last verified: 2026-09-21

Related guides