Download

Guide

Claude Code on Windows: native vs WSL, what actually works.

Claude Code runs natively on Windows 10 and 11, and it also runs inside WSL. Both work. The right one depends on where your project lives and which tools it needs. Here's what each route needs, how they compare, and how to fix the problems people hit most.

7 min readUpdated 2026-09-27Checked against Anthropic's and Microsoft's docs

The short answer

  • Go native if

    Your project sits on your Windows drive and you use Windows tools. It's simpler, and file access is faster.

  • Pick WSL if

    Your project already uses Linux tools, or you want Claude Code's sandboxing, which only works on WSL 2.

1Route 1: native Windows

  1. Run Anthropic's native installer. It's the recommended way. In PowerShell:
    PowerShell
    irm https://claude.ai/install.ps1 | iex
    In Command Prompt (CMD) it's a different command:
    Command Prompt (CMD)
    curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
  2. Open a new terminal and check it.
    PowerShell or CMD
    claude --version

Two other ways to install

  • WinGet

    winget install Anthropic.ClaudeCode works, but it doesn't update itself; run winget upgrade Anthropic.ClaudeCode now and then.

  • npm

    npm install -g @anthropic-ai/claude-code needs Node.js 22 or later and installs the same native program.

2Route 2: WSL

WSL (Windows Subsystem for Linux) runs a real Linux system on Windows. It needs Windows 10 version 2004 (build 19041) or later, or Windows 11.

  1. Install WSL once, from PowerShell opened as Administrator, then restart:
    PowerShell (Administrator)
    wsl --install
  2. Open Ubuntu, which that installs under WSL 2.
  3. Install Claude Code with the Linux installer, inside WSL, not from PowerShell:
    Ubuntu (WSL)
    curl -fsSL https://claude.ai/install.sh | bash

WSL setups don't need Git for Windows.

Where WSL is better

  • Linux toolchains

    If your project builds with Linux tools, Claude Code runs them as they are.

  • Sandboxing

    Claude Code's sandboxed command running works on WSL 2, not on WSL 1 or native Windows.

What it costs you

  • Two file systems

    Your Windows C:\ drive shows up in Linux as /mnt/c. Microsoft recommends keeping a project on the side you work from: in WSL, under /home/<you>/, not /mnt/c/. Working across the two is slower.

  • Paths look different

    C:\Users\you\Project is /mnt/c/Users/you/Project in WSL. To see WSL files from Windows, type \\wsl$ in File Explorer, or run explorer.exe . in a WSL folder.

  • Two of everything

    Git, Node.js and your settings live separately on each side. Microsoft's own advice: install Git on each file system you use it from.

  • Sign-in can need a paste

    In WSL 2 the browser may not redirect back after you sign in. It shows a code instead; paste it into Claude Code.

Native vs WSL at a glance

TopicNative WindowsWSL 2
NeedsWindows 10 1809+ or 11, 64-bitWSL 2 (Windows 10 2004+ or 11)
Install fromPowerShell or CMDThe Linux terminal
Git for WindowsOptional (enables Git Bash)Not needed
Commands run inGit Bash and PowerShell, or only PowerShell without GitLinux Bash
SandboxingNot supportedSupported
Best forProjects on your Windows drive, Windows toolsLinux toolchains, projects kept in /home
Watch out forPATH after install, Git Bash locationSlow /mnt/c, Windows Node.js leaking in

Common problems and fixes

"'claude' is not recognized" after installing

Open a new terminal first. If it still fails, the install folder %USERPROFILE%\.local\bin isn't on your PATH. Add it for your user in PowerShell, then restart the terminal:

PowerShell
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

"irm is not recognized" or "The token '&&' is not a valid statement separator"

You ran the command for the other shell. A PS at the start of your prompt means PowerShell; without it you're in CMD.

"Claude Code does not support 32-bit Windows" on a 64-bit PC

You opened "Windows PowerShell (x86)". Open plain "Windows PowerShell" and run the installer again.

Claude Code can't find Git Bash

Point it at bash.exe in your settings.json. It must be bash.exe, not the git-bash.exe launcher.

settings.json
{ "env": { "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe" } }

Typing claude opens the Claude desktop app

An older Claude Desktop can take over the name. Updating Claude Desktop fixes it.

WSL: exec: node: not found or a platform error during npm install

WSL is using the Windows Node.js. Run which node: a path starting with /mnt/c/ is the Windows one. Install Node.js inside Linux, or use the native installer, which doesn't need Node.js.

WSL: search is slow or misses files

The project is on /mnt/c. Move it into /home, or run Claude Code natively instead.

Every file shows as changed

Using one repository from both Windows and WSL can flip line endings (Windows and Linux save them differently). Set them once, with a .gitattributes file or on the Windows side, as Microsoft's Git-on-WSL guide describes.

Where Technically Not fits

Technically Not is a desktop app for Windows 10 and 11 (and Linux) that runs the coding agents you already use side by side, with live status. It uses the native route: it finds claude on your Windows PATH, the same way your terminal does, and starts it in a real terminal panel in your project folder. If Claude Code isn't signed in yet, that panel runs its sign-in first.

  • Real terminals

    Each panel is a real Windows console running the CLI itself, or Windows PowerShell for a plain terminal. Up to 12 panels per workspace.

  • Next to other agents

    Codex, Cursor Agent and OpenCode run in their own panels beside Claude Code. See how to run Claude Code and Codex together.

  • More than one account

    Keep several Claude Code accounts signed in and switch when one hits its limit. How account switching works.

Questions

Do I need WSL to run Claude Code on Windows?

No. Claude Code runs natively on Windows 10 (1809 or later) and Windows 11. Install it from PowerShell or CMD. WSL is an option if your project uses Linux tools or you want sandboxing, which native Windows doesn't support.

Do I need Git for Windows for Claude Code?

No, it's optional. With Git for Windows installed, Claude Code runs commands through Git Bash, and its PowerShell tool is available too. Without it, Claude Code uses PowerShell for its commands instead.

Do I need Node.js to install Claude Code on Windows?

Not for the native installer. Node.js is only needed if you install through npm, which needs Node.js 22 or later. Both install the same native program.

Why does Windows say 'claude' is not recognized after I installed it?

The install folder, %USERPROFILE%\.local\bin, isn't on your PATH yet, or the terminal was opened before the install. Open a new terminal first. If that doesn't help, add the folder to your User PATH and restart the terminal.

Why is Claude Code slow or missing files in WSL?

Your project is probably on the Windows drive, reached through /mnt/c. Reading across the two file systems is slower, and Claude Code's search can return fewer results. Move the project into your Linux home folder, or run Claude Code natively on Windows.

Does Technically Not work with Claude Code inside WSL?

No. The Windows app runs the Windows install of Claude Code, found on your Windows PATH, in real terminal panels. It doesn't start Claude Code installed inside a WSL distribution.

Sources

Technically Not is an independent app and isn't affiliated with Anthropic.