O Claude Code roda nativamente no Windows 10 1809 ou mais novo (e no Windows Server 2019 ou mais novo), em processador x64 ou ARM64, com pelo menos 4 GB de RAM. A instalação nativa é um comando no PowerShell ou no CMD, sem precisar de administrador; o instalador baixa um claude.exe e coloca em %USERPROFILE%\.local\bin. A alternativa é instalar dentro do WSL, como em qualquer Linux. Os erros mais comuns vêm de rodar o comando no shell errado ou de um PATH que não foi atualizado.
Este post é um dos guias práticos do guia de Claude Code. Os passos seguem a documentação de instalação e o guia de solução de problemas de instalação oficiais. As saídas mostradas foram capturadas em 12 de outubro de 2026 num Windows Server 2025 (build 26100, x64) limpo, sem login, com Claude Code 2.1.296.
Escolha entre Windows nativo e WSL
| Opção | Precisa de | Sandbox | Quando usar |
|---|---|---|---|
| Windows nativo | Nada; Git for Windows é opcional | Não suportado | Projetos e ferramentas do próprio Windows |
| WSL 2 | WSL 2 ativado | Suportado | Toolchain Linux ou execução de comandos em sandbox |
| WSL 1 | WSL 1 ativado | Não suportado | Só se o WSL 2 não estiver disponível |
Instale o Claude Code no mesmo ambiente em que o projeto roda. Projeto .NET em C:\dev, nativo. Projeto Python ou Node que você já roda no Ubuntu do WSL, WSL. Misturar (projeto em C:\, Claude Code no WSL acessando por /mnt/c/) funciona, mas a busca fica mais lenta e pode trazer menos resultados, segundo a documentação.
Confira os requisitos antes de instalar
Duas checagens evitam erros comuns. No PowerShell:
[Environment]::Is64BitOperatingSystem # precisa ser True
[Environment]::Is64BitProcess # precisa ser True tambémNo teste, as duas linhas deram True. Na entrada x86, a segunda dá False, e o instalador recusa:
Claude Code does not support 32-bit Windows. Please use a 64-bit version of Windows.O instalador recusa processo de 32 bits. O Menu Iniciar tem duas entradas, Windows PowerShell e Windows PowerShell (x86), e a segunda é 32 bits mesmo num Windows 64 bits. Se a primeira linha dá True e a segunda False, você abriu a entrada x86.
A outra checagem é a conta: o Claude Code exige plano Pro, Max, Team, Enterprise ou conta do Console. O plano gratuito do claude.ai não inclui acesso. Também dá pra usar via Amazon Bedrock, Google Cloud ou Microsoft Foundry.
Instale pelo PowerShell
Abra o PowerShell (o prompt começa com PS C:\) e rode:
irm https://claude.ai/install.ps1 | iexNão há barra de progresso durante o download (o binário tem cerca de 260 MB); no teste, o comando levou 24 segundos e imprimiu:
Setting up Claude Code...
Checking installation status...
Installing Claude Code native build latest...
Setting up launcher and shell integration...
‼ Setup notes:
● Native installation exists but C:\Users\runneradmin\.local\bin is not in your PATH. Add it by opening: System Properties → Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal.
√ Claude Code successfully installed!
Version: 2.1.296
Location: C:\Users\runneradmin\.local\bin\claude.exe
Next: Run claude --help to get started
✅ Installation complete!Leia o Setup notes. Ele diz que o instalador não colocou %USERPROFILE%\.local\bin no PATH; conferimos, e nem o PATH da sessão nem o PATH do usuário mudaram. Sem esse passo manual, o claude não é encontrado em nenhum terminal novo. Lendo o script, dá pra ver o resto: recusa processo de 32 bits, escolhe o binário x64 ou ARM64, baixa pra %USERPROFILE%\.claude\downloads, confere o SHA256 e só então instala.
Pra instalar a versão do canal estável (em geral cerca de uma semana atrás da mais nova, pulando versões com regressões graves) ou uma versão específica:
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89No dia do teste, stable instalou a 2.1.287, enquanto o canal padrão estava na 2.1.296.
Ou instale pelo CMD
No Prompt de Comando (o prompt é C:\ sem o PS):
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdFuncionou igual ao PowerShell, com a mesma saída e o mesmo aviso de PATH. Os dois comandos são de shells diferentes. Rodando cada um no shell errado, o resultado foi este:
| Onde rodou | Comando | Resultado |
|---|---|---|
| CMD | irm ... | iex | 'irm' is not recognized as an internal or external command, operable program or batch file. |
| Windows PowerShell 5.1 (o que vem no Windows) | curl ... && install.cmd ... | The token '&&' is not a valid statement separator in this version. |
PowerShell 7 (pwsh) | curl ... && install.cmd ... | Falha em install.cmd, porque o PowerShell não roda arquivo da pasta atual sem .\. Com .\install.cmd, instala. |
| Windows PowerShell 5.1 | curl -fsSL https://claude.ai/install.sh | bash (o de Linux) | Invoke-WebRequest : A parameter cannot be found that matches parameter name 'fsSL'. (no 5.1, curl é apelido do Invoke-WebRequest) |
Ou instale com WinGet
winget install Anthropic.ClaudeCodeNo teste, o WinGet instalou a 2.1.292, quatro versões atrás do instalador nativo no mesmo dia. Ele também se comporta diferente com o PATH: criou o atalho %LOCALAPPDATA%\Microsoft\WinGet\Links\claude.exe e avisou Path environment variable modified; restart your shell to use the new value. Num terminal novo, claude funcionou sem mexer em nada.
A outra diferença está na atualização. A instalação nativa se atualiza sozinha em segundo plano. A do WinGet, não: rode winget upgrade Anthropic.ClaudeCode de vez em quando, ou defina CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 pra o Claude Code rodar o upgrade por você. Mesmo assim, o upgrade pode falhar com o Claude Code aberto, porque o Windows trava o executável em uso.
Instale o Git for Windows (recomendado)
O Git for Windows é opcional, mas recomendado no Windows nativo. Ele traz o Git Bash, que a ferramenta Bash do Claude Code usa:
- Sem Git for Windows, o Claude Code roda comandos pela ferramenta PowerShell.
- Com Git for Windows, usa o Git Bash pra ferramenta Bash, e a ferramenta PowerShell fica disponível junto.
O Git for Windows coloca o bash.exe em C:\Program Files\Git\bin\. Cuidado com o bash.exe de C:\Windows\System32: esse é o do WSL. Se o Git está instalado num lugar fora do padrão e o Claude Code não acha o bash.exe, aponte o caminho no settings.json:
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}Dobre as barras. Com C:\Program Files\... de barra simples, o JSON fica inválido, e o claude doctor acusa Invalid settings com settings.json: Invalid or malformed JSON. Um caminho que não existe, por outro lado, passa pelo doctor sem aviso.
Verifique a instalação e faça login
Se usou o instalador nativo, primeiro ponha %USERPROFILE%\.local\bin no PATH do usuário (o caminho que o Setup notes indicou). Depois abra um terminal novo (o que estava aberto guarda o PATH antigo) e rode:
claude --version
claude doctorO primeiro imprime 2.1.296 (Claude Code) (ou a sua versão). O claude doctor funciona antes do login e saiu com código 0. Saída real, sem conta conectada:
Claude Code doctor
Running: native (2.1.296)
Commit: fdb6c17a97b6
Platform: win32-x64
Path: C:\Users\runneradmin\.local\bin\claude.exe
Config install method: native
Search: OK (bundled)
Auto-updates: enabled
Auto-update channel: latest
Last update attempt: none recorded
Managed settings (remote): not fetched — no usable credentials for the settings fetch
Organization policy: not fetched: no API key or claude.ai sign-in for the policy lookup (apiKeyHelper keys are not used for it)
Remote Control
Remote Control requires a claude.ai subscription. Run claude auth login to sign in with your claude.ai account.
- Not signed in to claude.ai
...
No installation issues found.A linha que importa é No installation issues found.. As linhas de Remote Control e de política só dizem que você ainda não fez login. Instalado pelo WinGet, o doctor mostra Running: package-manager, Package manager: winget e Auto-updates: Managed by package manager. No Git Bash, o mesmo claude --version funciona depois que a pasta está no PATH do Windows.
Depois, entre na pasta do projeto e rode claude. O login abre no navegador. Sem login, claude -p "oi" sai com código 1 e Not logged in · Please run /login.
Instale no WSL, se essa for a escolha
Abra a distribuição (Ubuntu, por exemplo) e rode o instalador de Linux dentro dela:
curl -fsSL https://claude.ai/install.sh | bashInstalação e uso acontecem no terminal do WSL, não no PowerShell. O WSL não precisa de Git for Windows. Mantenha o projeto no sistema de arquivos do Linux (/home/...) em vez de /mnt/c/... por causa do desempenho da busca. Se você está no WSL 1 e vê cannot execute binary file: Exec format error, é uma regressão conhecida; a correção mais limpa é converter pra WSL 2 no PowerShell:
wsl --set-version <NomeDaDistro> 2Ajuste o projeto pro Windows
Duas coisas dos outros guias desta série mudam no Windows nativo:
- Hooks em exec form precisam de um executável de verdade. Com
args, o comando tem que resolver pra um.exe. Os atalhos.cmde.batque o npm cria emnode_modules/.binnão servem; chamenodecom o caminho do script. No guia de hooks, os exemplos usampython3. No Windows, confira se esse nome resolve pra umpython3.exeno seu PATH; se não, troque porpythonoupy. Semargs(shell form), o comando roda no Git Bash ou, sem ele, no PowerShell, e o camposhellescolhe explicitamente. - Skills com injeção de comando usam bash por padrão. Numa skill,
shell: powershellno frontmatter faz os comandos!rodarem pelo PowerShell, com a ferramenta PowerShell ativa. Detalhes em Como criar uma Skill no Claude Code.
Como usamos na Capiva
O guard de fases do capivaOS é registrado com o matcher Bash|PowerShell (hooks.json), e não só Bash. No Windows sem Git Bash, os comandos passam pela ferramenta PowerShell, e um hook que olha só pra Bash não dispara. Se você escreve hooks pra um time com gente no Windows, cubra as duas ferramentas.
Checklist de troubleshooting
- [ ]
'irm' is not recognized. Você está no CMD. Abra o PowerShell ou use o comando do CMD. - [ ]
The token '&&' is not a valid statement separator in this version.Você está no Windows PowerShell 5.1 rodando o comando do CMD. - [ ]
A parameter cannot be found that matches parameter name 'fsSL'ou'bash' is not recognized. Você copiou o comando de macOS/Linux. Use o do Windows. - [ ] O comando imprime o texto do script e não instala nada. Você rodou só metade dele. Copie a linha inteira.
- [ ]
'claude' is not recognized as an internal or external commanddepois de instalar. No instalador nativo, é o esperado até você pôr%USERPROFILE%\.local\binno PATH do usuário (oSetup notes:avisa). Confira com$env:PATH -split ';' | Select-String '\.local\\bin': sem saída, a pasta não está no PATH. Depois de corrigir, abra um terminal novo. - [ ]
Claude Code does not support 32-bit Windows. Please use a 64-bit version of Windows.Você abriu oWindows PowerShell (x86). Use a entrada sem x86. - [ ]
The process cannot access the file ... being used by another process. Outra instalação aberta ou antivírus segurando o arquivo. Feche as janelas do instalador, apague%USERPROFILE%\.claude\downloadse rode de novo. - [ ]
Claude Code on Windows requires either Git for Windows (for bash) or PowerShell. Nenhum dos dois shells foi encontrado. O PowerShell padrão fica emC:\Windows\System32\WindowsPowerShell\v1.0\; ponha no PATH ou instale o Git for Windows marcando "Add to PATH". - [ ] Instalou só a extensão do VS Code e o
claudenão existe no terminal. A extensão traz uma cópia própria do CLI e não mexe no PATH. Rode a instalação normal. - [ ] Busca lenta ou incompleta no WSL. Projeto em
/mnt/c/. Mova pra/home/.
Perguntas frequentes
Preciso rodar como administrador?▼
Não. A documentação diz que a instalação nativa não precisa de administrador.
Preciso de Node.js?▼
Não pra instalação nativa nem pro WinGet. O instalador baixa um claude.exe de cerca de 260 MB que não usa o Node.
Nativo ou WSL: qual é melhor?▼
Depende de onde o projeto vive. O WSL 2 é a única opção no Windows com sandbox de comandos.
Existe versão com interface gráfica?▼
Existe o app Desktop do Claude Code pra Windows, que dispensa o terminal.
Leia também
- Claude Code é um harness: CLAUDE.md, hooks, MCP e subagentes (o guia principal)
- Como escrever um CLAUDE.md que o agente segue, o primeiro arquivo a criar depois de instalar
- Como configurar hooks no Claude Code
- Como criar uma Skill no Claude Code
- Como criar um servidor MCP em Python e configurar no Claude Code
Instalou e quer o Claude Code trabalhando com fases e gates desde o primeiro dia? Conheça o capivaOS.