Claude Code on Windows: native support, WSL, and what differs

Claude Code has a first-class Windows build. The interesting question is no longer whether it runs, it is which of the two Windows environments you should run it in, because one of them can sandbox commands and the other cannot.

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

Claude Code runs natively on Windows 10 version 1809 or later and Windows Server 2019 or later, on x64 and ARM64, with no WSL and no Node.js. WSL 2 remains worth choosing for two reasons: sandboxed command execution is supported there and nowhere else on Windows, and a Linux toolchain stays on the Linux filesystem. Git for Windows is optional and changes which shell tool Claude gets.

What you need to know
  • Native Windows is fully supported: Windows 10 1809+ or Server 2019+, x64 or ARM64.
  • Sandboxing works only under WSL 2. Native Windows and WSL 1 do not support it.
  • Git for Windows is optional. Without it Claude uses the PowerShell tool instead of Bash.
  • Never run a WSL session against a repo on /mnt/c. Every file read crosses a translation layer.
  • Four surfaces on Windows: CLI, desktop app, VS Code, JetBrains. They share one config.

Yes, and it no longer needs WSL

Claude Code ships a native Windows binary. As of August 2026 the documented requirements are Windows 10 version 1809 or later, or Windows Server 2019 or later, on an x64 or ARM64 processor, with 4 GB of RAM and either PowerShell or CMD as your shell. You do not need WSL, you do not need Node.js, and you do not need to run the installer as Administrator.

The install lands in your user profile at %USERPROFILE%\.local\bin\claude.exe and updates itself in the background. Everything below is about the parts that genuinely behave differently from macOS and Linux.

Every way to run Claude Code on a Windows machine, as of August 2026.

SurfaceWhat it isNeeds
Native CLIclaude in PowerShell or CMDWindows 10 1809+
CLI in WSL 2The Linux build inside a WSL distributionWSL 2 enabled
Desktop appGUI with sessions, diff review, terminal panesx64 or ARM64 installer
VS Code extensionInline diffs inside the editorVS Code
JetBrains pluginIntelliJ, PyCharm, WebStorm, RiderA JetBrains IDE
WebCloud sessions in the browserNothing local

Native, WSL 2, or WSL 1

This is the only decision on Windows that has a wrong answer, and the deciding factor is documented but easy to miss: sandboxed command execution is supported under WSL 2 and nowhere else on Windows.

The official capability split, checked August 2026.

OptionRequiresSandboxingChoose it when
Native WindowsNothing; Git for Windows optionalNot supportedYour projects and tools are Windows-native
WSL 2WSL 2 enabledSupportedLinux toolchain, or you want sandboxed commands
WSL 1WSL 1 enabledNot supportedOnly if WSL 2 is unavailable to you
Inside WSL: fast versus slow, same repo.
# Fast: the repo lives on the Linux filesystem
cd ~/code/myapp && claude

# Slow: the repo lives on the Windows filesystem
cd /mnt/c/Users/you/code/myapp && claude

If your repo is on C:\ and you have no Linux toolchain requirement, run the native build. If your repo already lives inside the WSL filesystem, run the Linux build inside WSL. Mixing the two is the only combination that is straightforwardly bad.

A matrix of where Claude Code runs against where the repository lives on Windows: the two matching cells are fast, and the two that cross the filesystem boundary pay a translation cost on every read repo on the Windows disk repo in the WSL 2 filesystem Claude Code on Windows Claude Code inside WSL 2 one filesystem, fast no sandboxed commands slow crosses the boundary translated on every read slow crosses the boundary /mnt/c on every read one filesystem, fast the only sandboxed route Keep the agent on the same side of the boundary as the repo.

The shell tool: Bash or PowerShell

On macOS and Linux, Claude Code shells out through Bash and that is the end of it. On native Windows it depends on what you have installed, and this changes what the agent can actually do.

  • Without Git for Windows, Claude Code runs shell commands through the PowerShell tool.
  • With Git for Windows, it uses Git Bash for the Bash tool, which is what almost every CLAUDE.md, hook, and project script on the internet assumes.
  • WSL setups need neither. They already have a real Bash.

Git for Windows is documented as optional rather than required, but installing it is still the higher-compatibility choice, because POSIX shell syntax is the default assumption in nearly every repo convention file you will inherit.

Install Git for Windows.
winget install --id Git.Git -e

If Claude Code cannot find Git Bash after you install it, point at it explicitly in your settings file.

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

Getting it on the machine

Four routes, all supported. The full walkthrough with the failure modes lives in the Windows install guide; this is the shortest form of each.

RouteCommandAuto-updates
Native, PowerShellirm https://claude.ai/install.ps1 | iexYes
Native, CMDcurl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmdYes
WinGetwinget install Anthropic.ClaudeCodeNo, run winget upgrade
npmnpm install -g @anthropic-ai/claude-codeYes, if the global dir is writable
Desktop appDownload the installer, x64 or ARM64Yes
Confirm it worked. A healthy install prints a version and then "(Claude Code)".
claude --version
claude doctor

ARM64, Windows Server, and enterprise machines

ARM64 Windows is a first-class target, not an afterthought. The npm package publishes both win32-x64 and win32-arm64 binaries, and the desktop app ships a separate ARM64 installer alongside the x64 one. Snapdragon-based Copilot+ machines run the native build without emulation.

Windows Server 2019 and later is in the supported matrix, which matters for build agents and jump boxes. Server installs are still per-user under %USERPROFILE%, so a machine shared by several accounts gets one install per account.

The failures that are specific to Windows

In roughly the order people hit them.

SymptomCauseFix
'claude' is not recognizedTerminal predates the installOpen a new terminal
Still not recognisedInstall dir missing from User PATHAdd %USERPROFILE%\.local\bin
Git operations behave oddlyNo Git for Windows, PowerShell tool in usewinget install Git.Git, restart
Scripts fail on \rCRLF line endingsgit config --global core.autocrlf input
Unusably slow under WSLRepo on /mnt/cMove the repo into the Linux filesystem
Browser login never returns in WSLWSL cannot open a Windows browserCopy the URL into Windows by hand
Sandboxing unavailableNative Windows or WSL 1Use WSL 2 if you need it
winget upgrade failsWindows locks the running executableQuit Claude Code, upgrade, relaunch
PATH check and permanent fix. Restart the terminal afterwards.
$env:PATH -split ';' | Select-String '\.local\\bin'

# no output? add it to the User PATH
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
Find every claude on the machine. More than one is the cause of most "it updated but did not change" reports.
where.exe claude
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

Questions people ask

Yes. There is a native Windows build for Windows 10 version 1809 or later and Windows Server 2019 or later, on x64 and ARM64. It needs no WSL and no Node.js, and you do not need Administrator rights to install it.

Whichever matches where your code lives. WSL 2 is the only Windows environment that supports sandboxed command execution, so choose it if you need that or if your toolchain is Linux. Otherwise native is simpler and avoids the filesystem boundary entirely.

No, it is optional. Without it Claude Code runs shell commands through the PowerShell tool. With it, Claude Code uses Git Bash for the Bash tool, which is what most project scripts and CLAUDE.md conventions assume.

Almost always because the repository sits on the Windows filesystem under /mnt/c. Every file read crosses a translation layer and an agent makes thousands of them. Move the repository into the Linux filesystem under your WSL home directory.

Yes. The npm package publishes a win32-arm64 binary and the desktop app has a dedicated ARM64 installer, so Snapdragon machines run the native build rather than emulating x64.

Windows 10 version 1809 or later, and Windows Server 2019 or later, with 4 GB of RAM and an x64 or ARM64 processor, as of August 2026.

Yes, both are supported shells. They differ only in which install one-liner you run. If the command errors about an invalid statement separator you are in PowerShell running the CMD version, and vice versa.

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 system requirements, Windows setup, install routes
  2. Claude Code quickstart native, WinGet, and Homebrew install commands
  3. Troubleshoot installation and login PATH fixes and conflicting installs on Windows
Try it

Windows is not
a second seat.

Continuum runs your agents from a Windows desktop client with live quota gauges and one spend view across every subscription.

free app · your subscriptions · local-first