SpoolMedic: Fix Stuck Print Queues
Without Rebooting

January 8, 2026  ·  VARØ Industries
← Back to Blog

I run into this problem constantly. A print job gets stuck, the queue locks up, and nothing prints. It doesn't matter if it's a home inkjet or a managed MFP on a corporate network — the Windows Print Spooler just decides it's done for the day. The standard fix is either a reboot or a trip through services.msc to manually stop the spooler, navigate to the spool folder, delete the stuck files, and restart the service. I've done that sequence hundreds of times. Enough times that I finally sat down and wrapped the whole thing into something I could just click.

SpoolMedic is a lightweight Python app that sits in the Windows system tray and fixes stuck print queues with a single click — no reboot, no services console, no command prompts.

Just want the download? The SpoolMedic tool page has the features, install steps, and FAQ in one place.

What It Does

When you click "Fix Print Spooler" from the tray icon, SpoolMedic runs through a complete repair sequence:

  1. Stops the Print Spooler service — gracefully, with a timeout fallback
  2. Clears the spool folder — deletes all .SPL and .SHD files from C:\Windows\System32\spool\PRINTERS
  3. Restarts the Print Spooler service — confirms it's running before reporting success
  4. Shows a toast notification — tells you how many stuck jobs were cleared

The whole process takes about two seconds. No dialogs, no confirmation prompts — just a fix.

Network Printer Extras

If you work in an environment with network printers, SpoolMedic can also reset TCP/IP printer ports and re-register network printers after a spooler reset. This handles the cases where a spooler crash leaves network printers in a disconnected state even after the service comes back up.

No UAC Nag

SpoolMedic uses a scheduled task to run with elevated privileges, so you don't get a UAC prompt every time you click the tray icon. The installer sets this up automatically. You click, it fixes — that's it.

Auto-Fix on Startup

There's an option to run a spooler health check when SpoolMedic starts. If it detects stuck jobs in the queue at launch, it clears them automatically before you even notice. Enable it from the tray menu under Settings.

Built-In Log

Every fix is logged with a timestamp, the number of jobs cleared, and the service state before and after. You can view the log from the tray menu or find it in the app's data folder. Useful if you're troubleshooting a printer that jams the queue repeatedly — you can see exactly when and how often it's happening.

Get SpoolMedic

SpoolMedic is free and open source. It requires Python 3.10+ on Windows 10 or 11.

Install

git clone https://github.com/VAROIndustries/SpoolMedic.git
cd SpoolMedic
pip install -r requirements.txt

Run

python spoolmedic.py

GitHub: VAROIndustries/SpoolMedic


Check out more free tools and apps at varo.industries/apps.

Frequently Asked Questions

What is the manual way to clear a stuck print queue in Windows?
Stop the Print Spooler service in services.msc, delete the leftover files from C:\Windows\System32\spool\PRINTERS, then start the service again. SpoolMedic runs that same sequence — stop, clear, restart, confirm the service came back — from one click in the tray.
What are .SPL and .SHD files?
They are the spooled print data and the matching shadow files that Windows writes into the spool folder for each queued job. When a job jams, its files are left behind and keep the queue wedged; clearing them is the part of the fix that actually unblocks printing.
How long does a SpoolMedic fix take?
About two seconds. There are no dialogs and no confirmation prompts — you click, it runs the repair sequence, and a toast notification tells you how many stuck jobs were cleared.
Can it clear stuck jobs automatically instead of waiting for me to click?
Yes. There is an option to run a spooler health check when SpoolMedic starts, which clears anything already jammed in the queue before you notice it. Enable it from the tray menu under Settings.
Does SpoolMedic keep a log of what it did?
Every fix is logged with a timestamp, the number of jobs cleared, and the service state before and after. Open it from the tray menu or find it in the app’s data folder — useful for spotting a printer that jams the queue on a regular schedule.
What does SpoolMedic need to run?
Python 3.10 or newer on Windows 10 or 11. It is free and open source, and it sets itself up to run elevated through a scheduled task so clicking the tray icon does not raise a UAC prompt every time.

Sources & References

  1. VAROIndustries/SpoolMedic
  2. KillSwitch: Kill Every Messaging, Video, VPN, and Social App in One Click — VARØ Industries Blog
  3. EnvForge: A Better Way to Manage Windows Environment Variables — VARØ Industries Blog
  4. ClaudeTray: A Battery Meter for Your Claude Code Rate Limits — VARØ Industries Blog
  5. PlainText for Claude: Stop Copying Broken URLs from AI Output — VARØ Industries Blog