Claude Code runs natively on Windows: open PowerShell and run irm https://claude.ai/install.ps1 | iex, or run winget install Anthropic.ClaudeCode, then start it with claude. You don't need WSL, Administrator rights or Git Bash, though installing Git for Windows lets Claude use Bash, and WSL 2 adds sandboxing.
This guide covers the requirements, the three native install methods, when to choose WSL instead, how Git Bash fits in, and fixes for the Windows errors people hit most. It's based on Anthropic's setup docs and install troubleshooting page, read on 24 October 2026.
What do you need to run Claude Code on Windows?
From the system requirements:
- Windows: Windows 10 1809 or later, or Windows Server 2019 or later. Claude Code requires a 64-bit operating system.
- Hardware: 4 GB or more of RAM, x64 or ARM64 processor.
- Shell: Bash, Zsh, PowerShell or CMD. On native Windows you run the installer from PowerShell or CMD.
- Network: an internet connection, from an Anthropic supported country.
- Account: a paid Claude plan or a Claude Console account. See the Claude Code pricing guide.
If you'd rather skip the terminal, Anthropic also ships a Claude desktop app for Windows that runs Claude Code sessions with a graphical interface.
How do you install Claude Code natively on Windows?
First check which shell you're in. Your prompt shows PS C:\ in PowerShell and C:\ without the PS in CMD.
PowerShell:
irm https://claude.ai/install.ps1 | iex
CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
WinGet:
winget install Anthropic.ClaudeCode
The installer shows no progress while it downloads. When it finishes, open a new terminal window and check it worked:
claude --version
A working install prints a version number. Then cd into a project and run claude to sign in and start a session. The Claude Code setup guide walks through your first session.
Native installer or WinGet?
| Method | Updates | Where claude lives |
|---|---|---|
| PowerShell or CMD installer | Updates automatically in the background | %USERPROFILE%\.local\bin\claude.exe |
| WinGet | Does not auto-update; run winget upgrade Anthropic.ClaudeCode |
Managed by WinGet |
To have Claude Code run the WinGet upgrade for you, the docs describe setting CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE to 1. The upgrade can fail while Claude Code is running, because Windows locks the executable; Claude Code then shows the manual command.
Should you use native Windows or WSL?
Anthropic's docs offer three options:
| Option | Requires | Sandboxing | When to use |
|---|---|---|---|
| Native Windows | Nothing; Git for Windows is optional | Not supported | Windows-native projects and tools |
| WSL 2 | WSL 2 enabled | Supported | Linux toolchains or sandboxed command execution |
| WSL 1 | WSL 1 enabled | Not supported | Only if WSL 2 is unavailable |
To install in WSL, open your WSL distribution and run the Linux installer there:
curl -fsSL https://claude.ai/install.sh | bash
You install and launch claude inside the WSL terminal, not from PowerShell or CMD. WSL setups don't need Git for Windows.
Two WSL tips from the troubleshooting docs:
- Keep projects on the Linux filesystem. Search can return fewer results for projects under
/mnt/c/because of cross-filesystem read penalties. Put them under/home/instead, or run Claude Code natively. - Sign-in from WSL 2. The browser opens on Windows, so its redirect can't reach Claude Code. After you sign in, paste the code the browser shows at the
Paste code here if promptedprompt. If the browser doesn't open at all, setBROWSERto your Windows browser's path.
How does Git Bash fit in?
Git for Windows is optional, but it changes which shell Claude uses for commands:
- Without Git for Windows, Claude Code runs shell commands with its PowerShell tool.
- With Git for Windows, Claude Code uses Git Bash for its Bash tool, and the PowerShell tool stays available alongside it for claude.ai and Console accounts. Git Bash is also what the Monitor tool needs.
The setup docs recommend Git for Windows "so Claude Code can use the Bash tool," which helps when your project has Bash scripts or tooling. During Git setup, select "Add to PATH."
If Git is installed but Claude Code can't find it, point to it in %USERPROFILE%\.claude\settings.json (on Windows, ~/.claude means that folder):
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}
Run where.exe git in PowerShell to find your Git folder. The path must end in a file named bash.exe, sh.exe, bash or sh. Git's git-bash.exe launcher is ignored.
How do you fix common Claude Code errors on Windows?
"'irm' is not recognized" or "The token '&&' is not a valid statement separator"
You ran the command for the other shell. irm not recognized means you're in CMD: open PowerShell, or use the CMD installer. The && error means you're in PowerShell but ran the CMD command. Errors mentioning fsSL or bash mean you ran the macOS and Linux installer in PowerShell; use irm https://claude.ai/install.ps1 | iex.
"'claude' is not recognized" after installing
The install folder isn't on your PATH. Check the file exists, then add the folder to your User PATH:
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
Open a new terminal afterwards. A terminal inside an editor takes its PATH from the editor, so quit and reopen the editor too. Note that the VS Code extension bundles its own private copy of the CLI and does not add claude to your PATH.
"Claude Code does not support 32-bit Windows"
You probably opened Windows PowerShell (x86), which runs as a 32-bit process even on 64-bit Windows. Run [Environment]::Is64BitOperatingSystem. If it prints True, close the window, open Windows PowerShell without the x86 suffix and install again.
"Claude Code on Windows requires either Git for Windows (for bash) or PowerShell"
Neither shell was found. Add C:\Windows\System32\WindowsPowerShell\v1.0\ to your PATH, install PowerShell 7, or install Git for Windows.
"The process cannot access the file" during install
A previous install attempt is still running, or antivirus is scanning a partial download. Close other installer windows, then:
Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"
irm https://claude.ai/install.ps1 | iex
"running scripts is disabled on this system"
This comes from npm installs, where PowerShell's execution policy blocks the .ps1 launchers. Run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser, call claude.cmd instead, or switch to the PowerShell installer, which installs a binary.
Typing claude opens the desktop app
An older Claude desktop app can register a Claude.exe that takes PATH priority. Update the desktop app to the latest version.
"Exec format error" in WSL
You're on WSL 1, which has a known regression with the native binary. Convert the distribution with wsl --set-version <DistroName> 2 from PowerShell.
What should you set up after installing?
Once claude runs, the setup is the same as on any other system:
- Run
/initin a project to create a CLAUDE.md with your project's commands and conventions. - If you use VS Code or Cursor, install the extension; see the Claude Code VS Code guide.
- Keep the cheat sheet open for commands and shortcuts.
Personal skills live in ~/.claude/skills/ according to the skills docs, and the settings docs say that on Windows ~/.claude means %USERPROFILE%\.claude. A WSL distribution has its own Linux home folder, so install skills in the environment you actually use. If you keep your prompts and Agent Skills in Kipt, they live as Markdown in a private GitHub repo you own, and npx skills add https://github.com/<you>/<repo>.git --all -g installs every skill in one command.