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:

bash
irm https://claude.ai/install.ps1 | iex

In CMD:

bash
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

With WinGet:

bash
winget install Anthropic.ClaudeCode

With npm (installs the same native binary):

bash
npm install -g @anthropic-ai/claude-code

Then open a new terminal window and check:

bash
claude --version
claude doctor

claude 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:

bash
{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

Native Windows or WSL

OptionRequiresSandboxingWhen to use
Native Windowsnothing; Git for Windows optionalnot supportedWindows-native projects and tools
WSL 2WSL 2 enabledsupportedLinux toolchains, sandboxed command execution
WSL 1WSL 1 enablednot supportedif WSL 2 is unavailable

For WSL, open your distribution's terminal and run the Linux installer:

bash
curl -fsSL https://claude.ai/install.sh | bash

In 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 as Authorization: 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

bash
$env:ANTHROPIC_BASE_URL = "https://api.zukko.pro"
$env:ANTHROPIC_AUTH_TOKEN = "fetch_your_key"
$env:ANTHROPIC_MODEL = "claude-sonnet-5"
claude

The variables disappear when you close the window. This is a handy way to test the setup.

Persistent for your user: setx

bash
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:

bash
{
  "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:

bash
$env:ANTHROPIC_BASE_URL
$env:ANTHROPIC_MODEL

The 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.

Get API keyDocumentation

api.zukko.pro · fetch_*

Claude Code on Windows: install and environment variables · Zukko