Claude Code on Windows, and the errors you will hit
Every command and error text below comes from Anthropic's own documentation and issue tracker, checked on the date shown. Eleos is an independent product; this page is here because half the questions we get are install questions.
What it actually requires
- Windows 10 (1809 or newer) or Windows Server 2019+, x64 or ARM64, 4 GB RAM.
- Node.js is not required for the native installer. Only the npm route needs it (Node 22+).
- Git for Windows is optional. With it, Claude Code uses Bash; without it, PowerShell.
- A paid account: Pro, Max, Team, Enterprise or Console. The free claude.ai plan does not include Claude Code.
- Sandboxing does not run on native Windows — "macOS, Linux, and WSL2" only.
Source: setup, sandboxing.
Installing
PowerShell, the native route:
irm https://claude.ai/install.ps1 | iex
CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
WinGet, if you prefer a package manager — note that these do not auto-update:
winget install Anthropic.ClaudeCode
Then check it:
claude --version
claude doctor
The native install lands at %USERPROFILE%\.local\bin\claude.exe, and the Windows binaries are signed by Anthropic, PBC — you can verify with Get-AuthenticodeSignature .\claude.exe.
The five errors people actually hit
1. claude is not recognised, right after a successful install
claude : The term 'claude' is not recognized as the name of a cmdlet, function,
script file, or operable program.
The installer finished, but its folder is not on your PATH. Check, then add it and open a new terminal:
$env:PATH -split ';' | Select-String '\.local\\bin'
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
2. running scripts is disabled on this system
npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system.
PowerShell's execution policy blocking npm's .ps1 launchers. Either allow signed local scripts for your user, or call the .cmd launchers, or skip npm and use the native installer, which installs a binary rather than a script:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
3. The wrong installer for the shell you are in
| What you see | What happened |
|---|---|
'irm' is not recognized as an internal or external command | You are in CMD; use the CMD line above |
The token '&&' is not a valid statement separator in this version | You are in PowerShell but ran the CMD line |
A parameter cannot be found that matches parameter name 'fsSL' | You ran the macOS/Linux line in PowerShell, where curl is an alias |
'bash' is not recognized as the name of a cmdlet | Same, the Linux installer on Windows |
Your prompt tells you which shell you are in: PowerShell shows PS C:\, CMD shows C:\.
4. Claude Code on Windows requires either Git for Windows (for bash) or PowerShell
Neither shell was found. PowerShell's default location is C:\Windows\System32\WindowsPowerShell\v1.0\; add it to PATH or install PowerShell 7. If you want Git Bash, install Git for Windows and tick "Add to PATH".
If Git is installed and still not found, point at it explicitly — and note the trap: the setting is ignored unless the file is named bash.exe or sh.exe, so git-bash.exe silently does nothing.
{ "env": { "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe" } }
5. The process cannot access the file while downloading
Failed to download binary: The process cannot access the file ... because it is being used by another process
A previous attempt is still running, or antivirus has the partial download open. Clear it and run the installer again:
Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"
irm https://claude.ai/install.ps1 | iex
One more that confuses people
If claude opens the Claude Desktop app instead of the command line, an older Desktop install registered its own Claude.exe ahead of the CLI on your PATH. Updating Claude Desktop fixes it.
Where your sessions are kept
Conversations are stored on your own machine at %USERPROFILE%\.claude\projects\<project>\<session>.jsonl — one JSON object per line, in plain text, holding every message, tool call and result. They are deleted after 30 days by default (cleanupPeriodDays), except sessions from Claude Desktop or Cowork, which are kept.
That is also why they can be read back: importing old Claude Code chats is just reading those files.
Questions
Do I need WSL to run Claude Code on Windows?
No. Native Windows works. WSL2 is needed only if you want the sandbox, which does not exist on native Windows.
Do I need Node.js?
Not for the native installer. Only the npm route needs Node 22 or later.
Can I use Claude Code without the terminal?
Anthropic ships a Claude Code desktop app, and Eleos is an independent Windows app that runs it for you in a normal window, alongside other AI plans and open models on your PC.
Where did the documentation move to?
Claude Code's docs are now at code.claude.com/docs. Old docs.claude.com links redirect.
Where to go next
- A Claude Desktop alternative for Windows
- Local AI on Windows, offline and on your own machine
- Ten dead ends between download and first answer
Try it on Windows. Seven days free, no card, then $19.90/month for two PCs. The AI is whichever plan you already pay for, or an open model on your own PC, which needs no subscription.
Eleos