Skip to content

Preventing VSCode WSL Update Prompts After Uninstallation

Problem: Persistent WSL Prompt in VSCode

Visual Studio Code users on Windows may encounter a terminal prompt requesting a Windows Subsystem for Linux (WSL) update—even after removing both the WSL extension and WSL itself. This issue occurs despite clear evidence that WSL isn't installed on the system.

When launching VSCode, you may see:

Windows Subsystem for Linux must be updated to the latest version to proceed. You can update by running 'wsl.exe --update'.
For more information please visit https://aka.ms/wslinstall

Press any key to install Windows Subsystem for Linux.
Press CTRL-C or close this window to cancel.
This prompt will time out in 60 seconds.

Running wsl --status confirms WSL's absence:

The Windows Subsystem for Linux is not installed. You can install by running 'wsl.exe --install'.
For more information please visit https://aka.ms/wslinstall

This occurs because:

  • Windows retains WSL-related components after uninstallation
  • VSCode checks for WSL presence regardless of extension status
  • The condition is triggered by a Windows background feature that wasn't fully removed

Resolution: Disable WSL Feature in Windows

Permanently resolve the prompts by disabling WSL via Windows Features:

  1. Open the Windows Run dialog (Win + R)
  2. Enter optionalfeatures.exe and press Enter to launch Windows Features
  3. In the features list:
    • Uncheck Windows Subsystem for Linux
    • Uncheck Virtual Machine Platform (recommended if unused) Windows Features dialog
  4. Click OK and restart your computer when prompted

SYSTEM RESTART REQUIRED

Changes only take effect after a full system reboot. Save all work before proceeding.

Why This Works

The Windows Subsystem for Linux remains partially enabled at the OS level even when distributions are uninstalled. VSCode detects this residue and triggers the update prompt. Disabling the feature:

  • Completely removes WSL-related components
  • Eliminates the background checks VSCode relies on
  • Ensures the system reports WSL as unavailable