Fix SPAPI_E_NO_CLASS_DRIVER_LIST (0x800F0218) on Windows 10/11
This error means Windows can't find a class driver list for a device, usually after a failed driver update or corrupted INF cache. Here's how to fix it fast.
Quick answer for advanced users
Delete C:\Windows\INF\INFCACHE.1, run pnputil /reboot-device in an admin command prompt, then reinstall the driver.
What's actually happening here?
I know this error is infuriating — you're trying to install a hard drive or storage controller driver, and Windows just spits back SPAPI_E_NO_CLASS_DRIVER_LIST (0x800F0218). This tripped me up the first time too. It means the Plug and Play service can't locate the list of driver classes (like "DiskDrive" or "SCSIAdapter") that it needs to match your hardware. This usually happens after a failed driver update, a corrupted INF cache, or when you've manually deleted driver files and left Windows with an incomplete reference.
This error loves to pop up on Windows 10 22H2 and Windows 11 during storage controller driver installations — especially Intel RST or NVMe drivers. But it can hit any device class. The root cause is almost always a corrupted or missing INFCACHE.1 file, which is where Windows caches driver class information. When that file gets out of sync, the class driver list disappears.
Step-by-step fix
Open an administrative Command Prompt. Press Win + X, choose "Terminal (Admin)" or "Command Prompt (Admin)".
Stop the Plug and Play service so it's not holding the cache file open:
net stop pnplugin
If the service fails to stop, skip this step and just delete the file while Windows isn't using it — it works most of the time.Navigate to the INF folder:
cd C:\Windows\INFDelete the cache file:
del INFCACHE.1
If you get an access denied error, boot into Safe Mode (hold Shift while clicking Restart) and try again. I've seen this happen with aggressive antivirus apps locking the file.Restart the Plug and Play service:
net start pnpluginNow rebuild the driver class list by scanning for hardware changes:
pnputil /reboot-device
This forces Windows to re-enumerate all devices and regenerate the class driver list from scratch.Go to Device Manager, right-click the device showing the error, and choose "Update driver" — select "Browse my computer for drivers" and point it to your driver files.
What if that doesn't work?
If deleting the cache and scanning doesn't resolve it, the problem is deeper — usually a system file corruption that's preventing the class list from being built properly. Here's what else to try:
Run DISM and SFC
Open an admin command prompt and run these two commands in order:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannowDISM fixes the component store, then SFC repairs system files. Reboot after both complete.
Check for third-party filter drivers
Some antivirus or disk encryption software (I'm looking at you, older versions of McAfee and BitLocker variants) can intercept the class driver list creation. Temporarily disable real-time protection or uninstall the software, then repeat the cache deletion step.
Manually re-register the driver class
For storage-related errors, you can try installing the driver using the pnputil tool directly:
pnputil /add-driver <path_to_inf> /installReplace <path_to_inf> with the full path to your driver's .inf file. This bypasses the Device Manager UI entirely and often works when the GUI fails.
Prevention tips
Once you've fixed it, you don't want to see this again. Here's how to avoid it:
- Don't manually delete driver files from
C:\Windows\INForC:\Windows\System32\DriverStore— use the built-inpnputil /delete-drivercommand instead. - Always run driver installers as Administrator and reboot when prompted.
- Keep Windows updated. Microsoft has tightened the driver installation process significantly since Windows 10 2004.
- If you're an IT admin deploying drivers via scripts, make sure your deployment tool (like Dell Command Update or Lenovo System Update) doesn't leave orphaned INF files.
This error is annoying but it's not a hardware failure — your drive is fine, Windows just lost its cheat sheet. Clear the cache, rebuild it, and you're set.
Was this solution helpful?