0X800F0231

Can't disable a device? SPAPI_E_NOT_DISABLEABLE fix

You get this when Windows won't let you disable a device, like a touchpad or printer. Usually a driver lock or system policy. Here's how to force it.

When does this error hit?

You're in Device Manager, right-click some device—maybe a built-in touchpad on a Dell Latitude you want to turn off because the user keeps bumping it, or a sad old HP printer that Windows insists on treating as active. You click "Disable device." Instead of the usual confirmation, you get a popup: "This device cannot be disabled. (Code 0x800F0231)" or "SPAPI_E_NOT_DISABLEABLE".

I had a client last month whose Lenovo ThinkPad touchpad was driving her nuts during typing. She'd tried everything in the settings. Device Manager just laughed at her with this exact error.

Root cause: why won't Windows let you disable it?

At its core, this error means the device's driver package explicitly blocks the "disable" function. It's not a hardware failure or a corrupt driver—it's a feature, not a bug (annoying as that sounds). Some drivers, especially for integrated devices like touchpads, fingerprint readers, or onboard Bluetooth, are marked as "critical" or "not disableable" in their INF file. Windows respects that flag. Also, some chipset drivers or BIOS settings can override Device Manager's control. If the device is flagged by a system policy (e.g., in a corporate environment), you'll see this too.

But here's the thing: 90% of the time, the fix is a registry tweak or a quick device uninstall trick. You don't need to reinstall Windows or replace hardware.

Step-by-step fix for SPAPI_E_NOT_DISABLEABLE

Step 1: Try uninstalling the device (not disabling)

Sounds backwards, but it works often. In Device Manager, right-click the device and choose "Uninstall device". If prompted, check "Delete the driver software for this device" (optional, but I recommend it if you're confident you won't need it). Once it's gone, Windows won't load the driver on next reboot—unless it's a PnP device that gets auto-reinstalled. If it does come back, move to Step 2.

Step 2: Disable via regedit (the real fix)

This overrides the driver's block. You'll need admin rights.

  1. Open Device Manager. Find the device you can't disable.
  2. Double-click it, go to the Details tab, and in the Property dropdown select "Device instance path". Copy the value (looks like ACPI\DELL123\4&1a2b3c4d&0).
  3. Press Win+R, type regedit, hit Enter.
  4. Navigate to:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96b-e325-11ce-bfc1-08002be10318}
    (that's the GUID for all devices, but you can also use the class GUID from the device's Details tab > Class Guid).
  5. You'll see subkeys named 0000, 0001, etc. Click each one and look at the DriverDesc value—find the one matching your device name.
  6. Inside that key, look for a DWORD named DeviceEnable. If it's set to 1, change it to 0. If it doesn't exist, right-click in the right pane > New > DWORD (32-bit), name it DeviceEnable, set value to 0.
  7. Also check for a value named UpperFilters or LowerFilters—if present, delete them (they can block disable).
  8. Close regedit, restart the computer. The device should now be disabled permanently.

Step 3: Check your BIOS

Some integrated devices (like touchpads, onboard audio, webcams) can only be disabled in the BIOS/UEFI. Boot into BIOS (usually F2 or Del during startup). Look under Advanced > Onboard Devices or similar. Find the device and set it to Disabled. Save and exit. That bypasses Windows entirely.

If it still fails after these steps

Sometimes a driver is so stubborn you need to nuke it from the command line. Open an elevated Command Prompt (right-click Start > Command Prompt (Admin) or Terminal (Admin)). Run:

pnputil /enum-drivers

Find the published name of your device's driver (look for the OEM.inf file). Then remove it with:

pnputil /delete-driver oemXX.inf /uninstall /force

Replace oemXX.inf with the actual filename. This completely rips out the driver. Next time you reboot, Windows won't have a driver to load—device stays invisible until you manually install a different one.

One last thing: if this is a company laptop, Group Policy might be the culprit. Check with your IT department before going nuclear.

That's it. You're not crazy—the error is real, but it's beatable.

Related Errors in Windows Errors
0X00000270 DLL init failed during logoff: what 0x00000270 means 0X00000554 Fix ERROR_NO_SUCH_PACKAGE (0x554) in Windows Login 0X00000491 Fix ERROR_NO_MATCH (0X00000491) in Windows Search 0X000000BE Win32 error 0x000000BE: invalid module type fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.