Docker

Docker Desktop "Virtual Machine Platform not enabled" on Windows 11 and 10

The error

Docker Desktop - Virtual Machine Platform not enabled
Virtual Machine Platform is not enabled. Enable it using the following PowerShell script (in an administrative PowerShell) and then restart your computer before using Docker Desktop:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Shown by Docker Desktop on Windows at startup when it uses the WSL 2 backend. Newer builds word it as "Docker Desktop requires the 'Virtual Machine Platform' Windows feature, which is not enabled on this machine".

Docker Desktop runs Linux containers inside WSL 2, and WSL 2 needs the Windows feature Virtual Machine Platform. Docker found it switched off. Open PowerShell as Administrator, run Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All, then use Restart (not Shut down). If Docker still complains after the restart, virtualization is off in your BIOS/UEFI or the hypervisor is not launching at boot.

Quick check: does your model support tools?

Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform | Select-Object FeatureName, State

Run in PowerShell as Administrator. State should read Enabled after a restart.

Why it happens

Docker Desktop's default WSL 2 backend needs two Windows features, Windows Subsystem for Linux and Virtual Machine Platform, plus virtualization enabled in firmware. Docker's own troubleshooting docs list all three. If any is missing, or was removed by an update or another tool, Docker Desktop cannot start its VM.

  1. The Virtual Machine Platform feature was never turned on. Fresh Windows installs, and Windows 10 and 11 Home in particular, often ship with it off.
  2. Virtualization (Intel VT-x or AMD SVM Mode) is disabled in BIOS/UEFI, so Windows cannot start the hypervisor even with the feature on.
  3. The hypervisor is installed but not launched at startup. Docker's docs name older VirtualBox versions and some game installers as the cause; they set hypervisorlaunchtype to off.
  4. A feature update or a cleanup tool turned the feature off again, or a restart was skipped after enabling it (Fast Startup can leave it half-installed).
  5. You are running Windows inside a VM without nested virtualization exposed to the guest.

The fix

  1. 1 Open PowerShell as Administrator and run Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All. Prefer clicking? Turn Windows features on or off > tick Virtual Machine Platform (and Windows Subsystem for Linux) > OK.
  2. 2 Use Restart, not Shut down and power on. Fast Startup can skip finishing the feature install.
  3. 3 Check virtualization is on: Task Manager > Performance > CPU should say Virtualization: Enabled. If it says Disabled, enable Intel VT-x / Intel Virtualization Technology or AMD SVM Mode in your BIOS/UEFI.
  4. 4 If the feature and firmware are both on, make sure the hypervisor launches at boot: bcdedit /set hypervisorlaunchtype auto in an admin console, then restart.
  5. 5 Update WSL itself: wsl --update, then check it runs with wsl -l -v. Docker's docs also suggest wsl -d docker-desktop echo WSL 2 is working.
  6. 6 Start Docker Desktop again.
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All

Why Docker Desktop needs Virtual Machine Platform

Docker containers on Windows are Linux processes, so Docker Desktop runs them in a small Linux VM. With the WSL 2 backend (the default, and the only one on Windows Home), that VM is managed by WSL 2, and WSL 2 is built on Virtual Machine Platform.

On Windows 10 or 11 Pro and Enterprise you can switch Docker to the Hyper-V backend instead, which needs Hyper-V and the Hyper-V Module for Windows PowerShell enabled, followed by a reboot. Either way, virtualization has to be on in firmware.

The same Windows feature fixes Claude Cowork and WSL errors

Claude Cowork's "Claude's workspace requires the Virtual Machine Platform" message and WSL's "Please enable the Virtual Machine Platform Windows feature" are the same missing feature. Enabling it once fixes all three. If you also run Claude Cowork, see the Claude Virtual Machine Platform fix linked below.

Still failing?

  • If Enable-WindowsOptionalFeature says the feature name is unknown or returns nothing, list what Windows has with Get-WindowsOptionalFeature -Online | Where-Object FeatureName -like '*Virtual*'. A missing entry points to a damaged or stripped Windows image: run DISM /Online /Cleanup-Image /RestoreHealth, then try again.
  • DISM error 0x800f081f (source files could not be found) means Windows can't find the feature payload. Run Windows Update fully, then retry.
  • If systeminfo shows "A hypervisor has been detected" but Docker still fails, collect diagnostics from Docker Desktop (Troubleshoot > Get support) and file them in the docker/for-win GitHub project.
  • Running Docker Desktop inside a VM? Enable nested virtualization for that VM on the host.
Full guide"Claude's Workspace Requires the Virtual Machine Platform": How to Fix It on Windows 11, 10 and Home

Hit a different error?

Paste any agent error and get the cause and fix in seconds.

Open the decoder

Frequently asked questions

Does Docker Desktop work on Windows 11 Home or Windows 10 Home?

Yes, through the WSL 2 backend. Home editions can't use the Hyper-V backend, so Virtual Machine Platform and Windows Subsystem for Linux must both be on, plus virtualization in BIOS.

Do I need full Hyper-V for Docker Desktop?

No. The WSL 2 backend needs Virtual Machine Platform, not the full Hyper-V role. Hyper-V is only needed if you pick the Hyper-V backend on Pro or Enterprise.

I enabled the feature and restarted. Why does Docker still say it is off?

Usually because the machine was shut down rather than restarted (Fast Startup), virtualization is off in firmware, or hypervisorlaunchtype is set to off. Restart properly, check Task Manager for Virtualization: Enabled, and run bcdedit /set hypervisorlaunchtype auto.

Stop firefighting agent errors

Decoding errors one at a time is the manual version of what BetterClaw automates. Run your agents on a no-code AI agent platform with managed models, retries and config validation built in.

Free plan available · Pro $49/mo · BYOK · 7-day free trial