How to Check Your WSL Version (And What the Answer Actually Means)

If you're running Linux tools on a Windows machine, knowing which version of the Windows Subsystem for Linux (WSL) you're using isn't just trivia — it affects what you can run, how fast it performs, and what features are available to you. Here's how to check it, what you'll see, and why the difference matters.

What WSL Version Numbers Actually Mean

WSL comes in two distinct generations: WSL 1 and WSL 2. These aren't minor updates — they're architecturally different.

  • WSL 1 translates Linux system calls into Windows system calls. It doesn't run a real Linux kernel.
  • WSL 2 runs a genuine Linux kernel inside a lightweight virtual machine (VM). It uses Hyper-V virtualization under the hood.

This distinction matters because WSL 2 generally offers better system call compatibility and faster I/O performance for Linux-native workloads, while WSL 1 has faster cross-OS file access between Windows and Linux directories. Which one suits you depends entirely on your workflow — but first, you need to know which one you're actually on.

How to Check Your WSL Version 🖥️

Method 1: Check via PowerShell or Command Prompt

This is the most direct method and works on any up-to-date Windows 10 or Windows 11 machine with WSL installed.

  1. Open PowerShell or Command Prompt (no administrator privileges required)
  2. Run this command:
wsl --list --verbose 

Or use the shorthand:

wsl -l -v 

What you'll see:

 NAME STATE VERSION * Ubuntu Running 2 Debian Stopped 1 

The VERSION column tells you exactly which WSL version each installed Linux distribution is using. The asterisk marks your default distribution.

This output is important because different distros on the same machine can run under different WSL versions simultaneously.

Method 2: Check the WSL Component Version Itself

If you want to know the version of the WSL software package installed on your system (not just which mode your distros use), run:

wsl --version 

This returns output like:

WSL version: 2.1.5.0 Kernel version: 5.15.146.1 WSLg version: 1.0.60 ... 

This command is only available on newer WSL releases. If it returns an error, you're likely running an older version distributed with Windows rather than the updated standalone package from the Microsoft Store.

Method 3: Check via Windows Features (for Older Setups)

On older Windows 10 builds, the wsl --version command may not work. In that case:

  1. Open Settings → Apps → Optional Features
  2. Or go to Control Panel → Programs → Turn Windows features on or off
  3. Look for Windows Subsystem for Linux and Virtual Machine Platform

If Virtual Machine Platform is enabled and WSL 2 has been set as the default, you're likely running WSL 2. But the command-line methods above are more reliable.

Key Variables That Affect Which Version You're Running

Knowing the commands is only part of the picture. Several factors determine which version is active on your specific machine:

VariableWhy It Matters
Windows build numberWSL 2 requires Windows 10 build 19041 or later, or any Windows 11 version
Virtualization supportWSL 2 needs hardware virtualization enabled in BIOS/UEFI
Hyper-V availabilitySome Windows editions (Home) had limited Hyper-V support historically
How WSL was installedOlder installations may default to WSL 1 unless explicitly upgraded
Per-distro settingsEach distro can be set to a different version independently

If your machine has virtualization disabled in firmware, WSL 2 simply won't run — regardless of what Windows version you're on.

What Different Results Tell You About Your Setup

The version you're running has real practical implications depending on what you're doing:

If you're on WSL 1:

  • You have faster file access when reading/writing Windows files from Linux
  • Some Linux applications with complex kernel dependencies may not work correctly
  • Docker Desktop won't use the WSL 2 backend

If you're on WSL 2:

  • Full Linux kernel compatibility means most Linux software runs as expected
  • Better performance for disk-intensive Linux workloads within the Linux filesystem
  • Required for features like WSLg (Linux GUI apps) and the WSL 2-based Docker backend
  • File I/O between Linux and Windows directories (e.g., /mnt/c/) is notably slower than WSL 1

If you have mixed versions across distros, that's completely valid — and sometimes intentional. A developer might keep one distro on WSL 1 for cross-OS scripting and another on WSL 2 for containerized workloads.

Changing the Version (If Needed)

If the version you're on doesn't match what your tools need, you can convert a specific distro:

wsl --set-version <DistributionName> 2 

Or set the default for all future installs:

wsl --set-default-version 2 

Conversion takes a few minutes and requires the Virtual Machine Platform Windows feature to be enabled. 🔧

The Part That Depends on Your Situation

Knowing your WSL version is a factual question with a clean answer. What's less clear-cut is whether that version is the right one for your needs. The performance trade-offs between WSL 1 and WSL 2 play out very differently depending on your file access patterns, the Linux tools you rely on, whether you're running containers, and how your machine's virtualization stack is configured.

Checking the version is step one. What you do with that information — whether you convert, stay put, or rethink your setup — depends on details that only your own workflow can answer.