Install Claude Code on Windows: native, WinGet, and WSL2

Windows is the platform where Claude Code installation genuinely differs. WSL used to be the only option, most of the advice online still assumes that, and it has not been true for a long time.

By the Continuum team. We build a workbench that runs Claude Code, Codex, and their peers, so the model rates quoted here are the ones our own cost analytics ship with.

The short version

Open PowerShell, run irm https://claude.ai/install.ps1 | iex, close the window, open a new one, and run claude in your project. That is the whole native install: no Node.js, no WSL, no administrator rights. WinGet (winget install Anthropic.ClaudeCode) is the alternative if you manage software that way. Install inside WSL2 instead when your toolchain is Linux or when you want the Bash sandbox, which native Windows does not support. Claude Code requires Windows 10 version 1809 or later, 64-bit, with 4 GB of RAM, as of August 2026.

What you need to know
  • Native install is one line in PowerShell and needs no WSL and no Node.js.
  • Open a new terminal after installing. This is the number one Windows report.
  • Use WSL2 if your project already lives there, or if you want the Bash sandbox.
  • Never work on /mnt/c/... from WSL. Microsoft says so, and the agent reads constantly.
  • Git for Windows is optional now: without it Claude Code uses the PowerShell tool.
  • claude doctor reports install health, PATH, and settings errors without starting a session.

Pick a route in ten seconds

Four routes are supported as of August 2026. They install the same native binary, so the choice is about update mechanics and which shell your code lives next to, not about capability.

Pick by where your code lives, not by preference.

RouteCommandPick it whenAuto-updates
Native, PowerShellirm https://claude.ai/install.ps1 | iexDefault. Your project is on C:\Yes
Native, CMDcurl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmdSame, but you are in Command PromptYes
WinGetwinget install Anthropic.ClaudeCodeYour org manages software through WinGetNo, run winget upgrade
WSL2curl -fsSL https://claude.ai/install.sh | bashLinux toolchain, or you want the Bash sandboxYes

Install natively on Windows

01

Work out which shell you are in

PowerShell and CMD take different install commands, and the error you get from using the wrong one is confusing rather than descriptive. Look at your prompt.

Your prompt showsYou are inWrong-command error
PS C:\Users\You>PowerShellThe token '&&' is not a valid statement separator
C:\Users\You>CMD'irm' is not recognized as an internal or external command
02

Run the installer

PowerShell. No administrator rights needed.
irm https://claude.ai/install.ps1 | iex
Command Prompt.
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

The installer writes a self-contained binary to %USERPROFILE%\.local\bin\claude.exe. There is no Node.js in this path at any point. On success it prints Claude Code successfully installed!

03

Close the terminal and open a new one

The installer edits your user PATH, and a window that was already open keeps the PATH it started with. Every "I installed it but the command is not found" report on Windows starts here, and reopening the terminal ends most of them.

04

Verify

claude --version
# 2.1.211 (Claude Code)

claude doctor

claude doctor prints read-only installation and settings diagnostics without starting a session: install health, settings-file validation errors, the result of the last update attempt, and suggested fixes. Run it before you conclude anything is broken.

05

Optionally install Git for Windows

winget install --id Git.Git -e

This is no longer required. With Git for Windows present, Claude Code uses Git Bash for the Bash tool. Without it, it runs shell commands through the PowerShell tool instead. Install it if your project's scripts and tooling are Bash-based; skip it if you are working in a Windows-native toolchain.

06

Start in your project

cd C:\code\your-project
claude

First run sends you to a browser to authenticate. Claude Code needs a Pro, Max, Team, Enterprise, or Console account, as of August 2026; the free Claude.ai plan does not include it.

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

When Windows says claude is not recognized

The installer puts the binary at %USERPROFILE%\.local\bin\claude.exe. If that directory is not on your user PATH, the install succeeded and the shell still cannot find it. Check, then add.

Check whether the install directory is on PATH.
$env:PATH -split ';' | Select-String '\.local\\bin'
No output? Add it to the User PATH, then open a new window.
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
Still wrong? Find out which binary is winning.
where.exe claude
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

The WinGet route

winget install Anthropic.ClaudeCode

# WinGet installs do not auto-update. Do this periodically:
winget upgrade Anthropic.ClaudeCode

# Remove it:
winget uninstall Anthropic.ClaudeCode

The package installs the same binary the script does. The difference is who owns updates: native installs update themselves in the background, WinGet installs do not.

Native Windows against WSL2

What actually differs, as of August 2026.

Native WindowsWSL2WSL1
RequiresNothingWSL 2 enabledWSL 1 enabled
Bash sandboxNot supportedSupportedNot supported
Shell toolPowerShell, or Git Bash if installedBashBash
Best for projects onC:\The Linux filesystemThe Linux filesystem
Known native-binary issueNoneNoneExec format error

The sandbox row is the one worth reading twice. Claude Code's sandboxed Bash tool runs on macOS, Linux, and WSL2, and native Windows is not supported. If you want the agent to run most shell commands without stopping to ask, and you want the operating system rather than a prompt to enforce the boundary, you need WSL2.

Installing inside a WSL2 distribution.
# in your WSL terminal, not PowerShell
curl -fsSL https://claude.ai/install.sh | bash
exec $SHELL -l
claude --version

# sandbox dependencies, if you want them
sudo apt-get install bubblewrap socat

# work in the Linux filesystem
cd ~/projects/your-project
claude

The Windows failures, in the order they happen

Match the message, not the symptom.

What you seeCauseFix
'claude' is not recognizedTerminal predates the PATH editOpen a new terminal; then add %USERPROFILE%\.local\bin to User PATH
'irm' is not recognizedYou are in CMD, not PowerShellUse the install.cmd command, or switch shells
The token '&&' is not a valid statement separatorYou are in PowerShell, not CMDUse irm ... | iex
Claude Code does not support 32-bit WindowsYou opened Windows PowerShell (x86)Open the entry without (x86); check with [Environment]::Is64BitOperatingSystem
Could not create SSL/TLS secure channelOlder Windows 10 TLS defaultsRun [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 first
syntax error near unexpected token '<'The URL returned a web pageRetry; if the page says region unavailable, Claude Code is not available in your country
cannot execute binary file: Exec format errorWSL1wsl --set-version <Distro> 2
exec: node: not found in WSLWSL is using Windows Node via /mnt/cInstall Node inside the distribution, or use the native installer
claude opens the desktop appOld Claude.exe in WindowsApps wins PATHwhere.exe claude, then reorder or remove
Everything is slow inside WSLWorking on /mnt/cMove the project into the Linux filesystem

Removing it, and removing the second copy

Multiple installations are the cause of most "it updated but the version did not change" reports. Find them first, keep one, remove the rest.

Find every claude on PATH, then remove what you are not keeping.
where.exe claude

# native install
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force

# winget install
winget uninstall Anthropic.ClaudeCode

# npm global install
npm uninstall -g @anthropic-ai/claude-code

Questions people ask

Yes. The native PowerShell and CMD installers produce a self-contained install that needs no WSL and no Node.js. WSL is a preference now, not a requirement. The one capability you give up natively is the sandboxed Bash tool, which runs only on macOS, Linux, and WSL2.

No. The native installer downloads a prebuilt binary that does not use Node at runtime. You only need Node if you deliberately install the npm package, and even that package just delivers the same native binary.

Almost always because the terminal was already open when the installer edited your PATH. Close it, open a new one, and try again. If it persists, add %USERPROFILE%\.local\bin to your User PATH and check where.exe claude for a competing install.

No. It is optional as of August 2026. With it installed, Claude Code uses Git Bash for the Bash tool. Without it, it uses the PowerShell tool. Install it if your project scripts are Bash-based.

Not natively. It is dramatically slower if you run it inside WSL against a project on /mnt/c, because every file read crosses the Windows and Linux filesystem boundary and an agent reads constantly. Microsoft recommends against working across the boundary for the same reason.

Windows 10 version 1809 or later, or Windows Server 2019 or later, on a 64-bit x64 or ARM64 processor with at least 4 GB of RAM, as of August 2026. A 32-bit PowerShell window produces a specific error even on a 64-bit machine.

Whichever matches where your code lives. Native for projects on C:, WSL2 for projects already in the Linux filesystem or when you want the sandbox. Mixing the two, so that a WSL agent works on a Windows path, is the only genuinely bad choice.

Native installs update themselves in the background and can be forced with claude update. WinGet installs need winget upgrade Anthropic.ClaudeCode, or set CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 to have Claude Code run that upgrade for you.

Sources

Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.

  1. Claude Code advanced setup
  2. Troubleshoot installation and login
  3. Claude Code sandboxing
  4. Microsoft: working across WSL file systems
Try it

Windows, Linux,
and Mac.

Continuum runs your agents from one workbench. Mac is stable; the Windows and Linux desktop apps are in beta.

free app · your subscriptions · local-first