Claude Code on Windows: native or WSL install and Zukko setup
Claude Code runs on Windows natively and in WSL. Official install methods, Git Bash, environment variables for Zukko, and the usual errors.
5 min · · development · IDE
Installing Claude Code on Windows takes one command, but newcomers often get stuck on which terminal to open, whether WSL is required, and where the key goes. Below are the official install methods (checked against the Advanced setup page of the Claude Code docs), the choice between native and WSL, and the environment variables for working through Zukko.
Requirements
- Windows 10 version 1809 or later, or Windows Server 2019 or later;
- 4 GB RAM or more, x64 or ARM64 processor;
- shell: PowerShell or CMD (Bash or Zsh in WSL).
You don't need administrator rights to install.
Installing Claude Code on Windows
The official installer (recommended). In PowerShell:
irm https://claude.ai/install.ps1 | iexIn CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdWith WinGet:
winget install Anthropic.ClaudeCodeWith npm (installs the same native binary):
npm install -g @anthropic-ai/claude-codeThen open a new terminal window and check:
claude --version
claude doctorclaude doctor prints install and settings diagnostics without starting a session. The official installer's build updates itself in the background. Update a WinGet install with winget upgrade Anthropic.ClaudeCode.
The official docs list no MSI package and no Chocolatey package. Use one of the methods above.
Git Bash or PowerShell
On native Windows, installing Git for Windows is recommended. Claude Code then runs commands through Git Bash (the Bash tool). Without it, commands go through the PowerShell tool. If Git is installed but Claude Code can't find Git Bash, set the path in %USERPROFILE%\.claude\settings.json:
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}Native Windows or WSL
| Option | Requires | Sandboxing | When to use |
|---|---|---|---|
| Native Windows | nothing; Git for Windows optional | not supported | Windows-native projects and tools |
| WSL 2 | WSL 2 enabled | supported | Linux toolchains, sandboxed command execution |
| WSL 1 | WSL 1 enabled | not supported | if WSL 2 is unavailable |
For WSL, open your distribution's terminal and run the Linux installer:
curl -fsSL https://claude.ai/install.sh | bashIn WSL you install and launch claude inside the Linux terminal, not from PowerShell. Windows and WSL are separate environments, so set the key wherever you actually run claude.
Connecting to Zukko: environment variables
Claude Code works through Zukko with three variables:
ANTHROPIC_BASE_URL=https://api.zukko.pro— no/v1, Claude Code adds it itself;ANTHROPIC_AUTH_TOKEN=fetch_...— your key, sent asAuthorization: Bearer;ANTHROPIC_MODEL=claude-sonnet-5— the default model.
Create the key in your Zukko dashboard. The full key is shown only once, so save it right away.
Current PowerShell window only
$env:ANTHROPIC_BASE_URL = "https://api.zukko.pro"
$env:ANTHROPIC_AUTH_TOKEN = "fetch_your_key"
$env:ANTHROPIC_MODEL = "claude-sonnet-5"
claudeThe variables disappear when you close the window. This is a handy way to test the setup.
Persistent for your user: setx
setx ANTHROPIC_BASE_URL "https://api.zukko.pro"
setx ANTHROPIC_AUTH_TOKEN "fetch_your_key"
setx ANTHROPIC_MODEL "claude-sonnet-5"setx saves the variables for your user, but the current window won't see them, so open a new terminal. You can do the same in the GUI: search Windows for the environment variables editor and add the three variables to the user section.
In the Claude Code settings file
Instead of system variables, you can use the env block in %USERPROFILE%\.claude\settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.zukko.pro",
"ANTHROPIC_AUTH_TOKEN": "fetch_your_key",
"ANTHROPIC_MODEL": "claude-sonnet-5"
}
}This applies only to Claude Code and stays invisible to other programs. Don't put the key in a project's .claude/settings.json that gets committed to git. Claude Code does not read a .env file from the project folder on its own.
To check that PowerShell sees the variables:
$env:ANTHROPIC_BASE_URL
$env:ANTHROPIC_MODELThe step-by-step guide with a connection check is in the Zukko Claude Code docs. For the current model list, call GET https://api.zukko.pro/v1/models or open the Models page in your dashboard. To switch models for one session, use the flag: claude --model claude-opus-5-5.
What it costs
In Zukko, claude-sonnet-5 and claude-opus-5-5 cost $0.3 per 1M input tokens and $0.3 per 1M output tokens. Example: a session sends 2,000,000 input tokens and receives 100,000 output tokens. Cost: 2 × $0.3 + 0.1 × $0.3 = $0.63. Agents resend the same context many times. Vendors charge about 10% of the input price for prompt-cache reads, while Zukko bills cached tokens at the normal input price, so for long sessions the real gap versus official pricing is smaller than a straight price comparison suggests. Payment from Russia is available: SBP, Russian bank cards, crypto.
Common problems
"claude" is not recognized
The install directory isn't on the current window's PATH yet. Open a new terminal. If that doesn't help, the Claude Code docs have a Troubleshoot installation section with PATH instructions.
'irm' is not recognized or The token '&&' is not a valid statement separator
The first means you're in CMD running the PowerShell command. The second is the reverse. In PowerShell the prompt starts with PS C:\.
Variables aren't applied
After setx you need a new terminal window. Check whether a variable with the same name is also set in the settings file's env block. And remember that Windows variables aren't visible inside WSL.
Error 401 or 402
401 means a wrong key: check ANTHROPIC_AUTH_TOKEN for stray spaces or quotes. 402 means your balance is too low; top it up in the dashboard.
FAQ
Where are Claude Code settings stored on Windows?
In %USERPROFILE%\.claude\, including settings.json. It's the equivalent of ~/.claude on macOS and Linux.
Is WSL required?
No. Claude Code runs natively. Choose WSL 2 if you use a Linux toolchain or want sandboxed command execution.
Can I run Claude Code from the VS Code terminal?
Yes, it's a regular terminal. The environment variables need to be visible there, so restart VS Code after setx.
How do I update Claude Code?
The official installer's build updates automatically. Run claude update to update right away. For WinGet, use winget upgrade Anthropic.ClaudeCode.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- A neural network for Lua and Roblox: writing Luau scripts with AIWithout guidance a model may confuse Lua with Luau and suggest outdated Roblox APIs. How to phrase the task, check the code and connect an agent to your project.
- How to connect Qwen to VS Code: Companion, Cline and ContinueTwo ways to get Qwen in your editor: the official Companion for Qwen Code, or the Cline, Kilo Code and Continue extensions with an OpenAI-compatible key.
- Claude Code in JetBrains: IntelliJ IDEA and PyCharm on Your Own KeyThe plugin does not bundle Claude Code. It launches the console agent in the IDE terminal. Install, gateway key, diffs and common failures explained.
- Cursor for 1C: writing BSL code with an AI agentHow to open a 1C configuration dump in Cursor, write rules for BSL, give the agent metadata and avoid accepting invented code. With a session cost estimate.