Quick answer (for experienced users)
Stop the Spooler service, delete everything in C:\Windows\System32\spool\PRINTERS, restart the service, then clear the print queue in Devices & Printers.
What's going on here?
This error happens when Windows tries to send a print job to a printer that's in a permanent idle state—it's powered on, connected, but the print spooler thinks it's done with all jobs and won't accept new ones. You'll see this most often after a print job gets corrupted or a user cancels a job mid-print. The system locks the printer's queue, and any new job gets hit with 0X0000086E (NERR_DestIdle). It's not a hardware problem. Don't replace the printer or reinstall drivers yet. The real fix is resetting the spooler and clearing its cache.
Fix steps (do them in order)
-
Open the Services panel
Press Win + R, typeservices.msc, hit Enter. You'll see a long list of services. -
Stop the Print Spooler service
Scroll down to Print Spooler. Right-click it and choose Stop. After clicking Stop, the status column should change to blank (no 'Running' label). Keep this window open. -
Delete stuck print jobs from the spool folder
Open File Explorer. Paste this into the address bar:C:\Windows\System32\spool\PRINTERS. Press Enter. You should see a folder—possibly empty, possibly with .SHD and .SPL files. Select everything inside (Ctrl + A) and delete it. If you get a permissions error, you forgot to stop the spooler in step 2. Go back and stop it first. -
Restart the Print Spooler
Go back to the Services window. Right-click Print Spooler again and choose Start. The status column should now show 'Running'. -
Clear the queue in Devices & Printers
Open the Start menu, type Printers & scanners, open it. Find your printer in the list, click on it, then click Open print queue. If you see any jobs listed, right-click each one and select Cancel. The queue should be completely empty. -
Test print
In the same print queue window, click Printer in the top menu, then Properties, then click Print Test Page. A test page should come out within 30 seconds. If it doesn't, wait 60 seconds and check the queue—no new error should appear.
Alternative fixes (if the main fix didn't work)
Run the printer troubleshooter
Windows has a built-in troubleshooter that sometimes catches issues I've missed. Go to Settings > Update & Security > Troubleshoot > Additional troubleshooters > Printer. Run it. It'll tell you if it finds problems—often it just restarts the spooler, which you already did, but it's worth a try.
Remove and re-add the printer
Go to Printers & scanners, click your printer, choose Remove device. Wait 10 seconds. Click Add a printer or scanner, let Windows detect it, and add it back. This clears any corrupt port or driver settings that can cause the idle lock.
Update or reinstall the driver
If the error keeps coming back, the driver might be old or corrupt. Go to the printer manufacturer's website (HP, Canon, Brother, etc.), download the latest driver for your exact model and Windows version. Uninstall the current driver via Device Manager > Print queues (right-click your printer > Uninstall device). Then install the new one. You'll know the driver was the issue if the error goes away for weeks and then slowly returns after updates.
How to prevent this from happening again
This error usually comes from corrupt print jobs—typically large PDFs or web pages that crash mid-print. Here's the simple rule: Never cancel a print job while the printer is processing it. Wait for the job to finish or the printer to go idle before canceling. Also, set your printer to spool jobs Start printing after last page is spooled instead of immediately. That way if a job fails, it fails before the printer locks up. You change this in Printer Properties > Advanced tab.
If you're on a network printer, also make sure the printer's firmware is up to date. Old firmware on HP LaserJet or Brother models has a known bug where the printer reports idle despite having queued jobs. Update the firmware from the manufacturer's support page—it's a one-time fix that eliminates this error entirely for those models.