Instale o OpenCode no Windows via PowerShell e Scoop
Leitura: ~11 min
- Testamos ao vivo os métodos oficiais de instalação do OpenCode no Windows — o instalador em Bash e o suposto instalador em PowerShell falham, e só o Scoop funciona direto no terminal nativo.
- Com o Scoop, o OpenCode 1.18.31 instalou em menos de 1 minuto, incluindo download de 57,9 MB e verificação de hash — sem precisar de WSL.
- Chocolatey e npm existem como alternativas, mas exigem um pré-requisito que ninguém documenta claramente ou têm bugs conhecidos reportados em 2026.
Nota Técnica: Scripts e automações fornecidos têm fins exclusivamente educacionais. Teste sempre em ambiente controlado. O @CanalQb não se responsabiliza por danos, perdas ou bloqueios decorrentes do uso indevido.
O instalador oficial do OpenCode não existe para PowerShell — e não é bug.
O erro 404 na URL de instalação em .ps1 não é falha sua: esse arquivo simplesmente nunca foi publicado pela equipe do projeto. A documentação empurra quem usa Windows para três caminhos bem diferentes entre si — Scoop, Chocolatey ou WSL — e cada um se comporta de um jeito completamente distinto no seu terminal.
Neste post você vai ver, com os logs reais de um terminal Windows, exatamente qual desses três caminhos funciona de primeira, por que os outros dois travam, e o que fazer quando o comando que "deveria funcionar" simplesmente não roda.
Por que o comando oficial curl -fsSL ... | bash falha no PowerShell?
O curl do PowerShell é, na prática, um apelido (alias) para o cmdlet Invoke-WebRequest, que não reconhece flags no estilo Unix como -fsSL, e o comando bash não existe nativamente no Windows fora do WSL. Por isso o instalador oficial — feito para Linux e macOS — quebra assim que colado num PowerShell comum, com um erro de parâmetro, não um erro de rede.
Invoke-WebRequest : Não é possível localizar um parâmetro que coincida com o nome de parâmetro 'fsSL'.
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
Aqui no @CanalQb, validamos que essa mensagem aparece mesmo em máquinas com internet funcionando perfeitamente e sem nenhum firewall bloqueando — o problema é 100% de compatibilidade de shell, não de conectividade. É um erro que confunde muita gente porque parece "instalação corrompida", quando na verdade é apenas o PowerShell interpretando curl e bash como cmdlets do Windows, não como os binários Unix que o comando espera.
A segunda tentativa mais comum é tentar um suposto instalador nativo em PowerShell:
irm : O servidor remoto retornou um erro: (404) Não Localizado.
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
O 404 confirma que esse arquivo install.ps1 não existe no domínio oficial — não é uma questão de digitação ou de proxy corporativo. A conclusão prática é simples: pare de tentar adaptar o comando Bash para o PowerShell na marra, e siga um dos três caminhos que o próprio projeto lista para Windows, cobertos passo a passo a seguir.
Como preparar o PowerShell para instalar pacotes com o Scoop?
Antes de instalar qualquer coisa pelo Scoop, é preciso liberar a execução de scripts locais no PowerShell e depois baixar o instalador do próprio gerenciador de pacotes — isso leva menos de 30 segundos e resolve o 404 anterior, porque o Scoop tem instalador oficial em .ps1, diferente do OpenCode.
Passo 1 — Liberar a política de execução de scripts
O que essa ação faz: muda a política de execução do PowerShell, no escopo do seu usuário atual, de "Restricted" (padrão de fábrica) para "RemoteSigned" — que permite rodar scripts locais e exige assinatura digital apenas para scripts baixados da internet.
Por que é necessário aqui: por padrão, o Windows bloqueia qualquer script .ps1, inclusive os de instaladores legítimos como o do Scoop. Sem esse ajuste, o passo seguinte falha com uma mensagem de "execução de scripts desabilitada neste sistema", mesmo com o comando digitado corretamente.
Resultado esperado: o comando retorna ao prompt sem nenhuma mensagem — nesse caso específico, silêncio total é sinal de sucesso, não de que nada aconteceu.
Passo 2 — Instalar o Scoop
O que essa ação faz: irm (alias de Invoke-RestMethod) baixa o script de instalação hospedado em get.scoop.sh, e o iex (Invoke-Expression) o executa imediatamente, na memória, sem salvar um arquivo separado no disco.
Por que é necessário aqui: o Scoop é o gerenciador de pacotes que vai baixar, verificar e instalar o binário do OpenCode de forma automatizada. Sem ele instalado primeiro, o comando scoop install opencode do próximo passo simplesmente não existe no seu sistema.
Resultado esperado: uma sequência de mensagens confirmando cada etapa da instalação, terminando com a confirmação de sucesso e a shim (atalho executável) adicionada ao seu PATH:
Downloading...
Extracting...
Creating shim...
Adding ~\scoop\shims to your path.
Scoop was installed successfully!
Type 'scoop help' for instructions.
Como instalar o OpenCode com o Scoop no Windows, na prática?
Com o Scoop já funcionando, instalar o OpenCode é um único comando: o gerenciador busca o pacote no bucket "main", baixa o executável, confere a integridade do arquivo e cria o atalho global — tudo isso rodou em menos de um minuto no nosso teste, incluindo os 57,9 MB de download.
Passo 3 — Instalar o pacote opencode
O que essa ação faz: o Scoop localiza o manifesto do pacote "opencode" no bucket "main" (o repositório padrão de pacotes verificados), baixa o arquivo opencode-windows-x64.zip, calcula o hash do arquivo baixado e compara com o hash oficial do manifesto antes de extrair qualquer coisa.
Por que é necessário aqui: é essa verificação de hash que garante que você não está instalando um executável adulterado — pular essa etapa fazendo download manual de um .zip qualquer da internet remove essa camada de segurança.
Resultado esperado: no nosso teste real, o log completo foi este, do download até a confirmação final:
opencode-windows-x64.zip (57,9 MB) [==========] 100%
Checking hash of opencode-windows-x64.zip ... ok.
Extracting opencode-windows-x64.zip ... done.
Linking ~\scoop\apps\opencode\current => ~\scoop\apps\opencode\1.18.31
Creating shim for 'opencode'.
'opencode' (1.18.31) was installed successfully!
scoop cache rm opencode seguido de scoop install opencode de novo. Se aparecer "couldn't find manifest for 'opencode'", faltou registrar o bucket correto; rode scoop bucket add main antes de reinstalar.Passo 4 — Confirmar a instalação
O que essa ação faz: chama o binário recém-instalado e pede a ele para imprimir a própria versão — é o teste mais simples de que o shim criado pelo Scoop está corretamente apontando para o executável e que o PATH foi atualizado.
Por que é necessário aqui: uma instalação "sem erros aparentes" ainda pode ter um PATH desatualizado na sessão atual do terminal; rodar esse comando na mesma janela onde você instalou é o jeito mais rápido de confirmar que tudo está de fato utilizável, sem precisar reiniciar o Windows.
Resultado esperado: a versão instalada, sem nenhum erro:
Chocolatey ou WSL: vale a pena para instalar o OpenCode no Windows?
O Chocolatey também lista o OpenCode como pacote instalável, mas só funciona se o próprio Chocolatey já estiver presente no sistema — algo que muita gente assume que já vem com o Windows e não vem. Já o WSL é o caminho recomendado pela documentação oficial do projeto para quem quer a experiência de desenvolvimento mais completa, porque dentro dele o Linux real resolve o problema do curl | bash na raiz.
choco : O termo 'choco' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável.
+ CategoryInfo : ObjectNotFound: (choco:String) [], CommandNotFoundException
Esse erro não significa que o pacote não exista — significa que o gerenciador Chocolatey em si nunca foi instalado nessa máquina. Se você prefere esse caminho em vez do Scoop, instale primeiro o Chocolatey seguindo o instalador oficial em chocolatey.org/install, reinicie o terminal e só então rode choco install opencode seguido de opencode --version para confirmar.
Já a rota WSL faz sentido se o seu objetivo é usar o OpenCode como agente de programação de verdade, integrado a um ambiente Linux completo — é o cenário que a documentação do projeto trata como referência. O processo, resumido, é este:
Passo alternativo — Instalar via WSL
O que essa ação faz: instala o subsistema Windows para Linux junto com uma distribuição padrão (geralmente Ubuntu), criando um ambiente Linux completo rodando integrado ao Windows.
Por que é necessário aqui: dentro do WSL, o terminal é um Bash de verdade — não um alias do PowerShell — então o comando oficial curl -fsSL ... | bash funciona exatamente como documentado, sem nenhuma das incompatibilidades vistas na primeira seção deste post.
Resultado esperado: o Windows pedirá reinicialização; depois de reiniciar, um terminal Ubuntu abre automaticamente pedindo para você criar um usuário Linux local.
Esse comando, rodado dentro do terminal Ubuntu (não no PowerShell), baixa e executa o instalador oficial em Bash sem qualquer adaptação — é literalmente o mesmo comando que falhou no início do post, só que agora rodando no shell certo.
wsl --install travar em "0x80370102", a virtualização está desabilitada na BIOS/UEFI da sua máquina — precisa ser ativada manualmente antes de tentar de novo.Por que evitar npm install -g opencode-ai no Windows por enquanto?
O pacote npm existe e é uma opção oficialmente listada, mas relatos recentes de 2026 apontam problemas específicos do launcher/binário desse pacote em ambiente Windows, deixando o comando global opencode inacessível mesmo após uma instalação "sem erros" do npm. Para quem já tem Node.js instalado e quer tentar mesmo assim, vale rodar como teste secundário — nunca como primeira tentativa.
Na prática, se você já tem Node.js configurado e prefere manter tudo dentro do ecossistema npm, o comando é:
Mas o resultado esperado — um comando opencode funcionando globalmente igual ao do Scoop — não é garantido nesse método no Windows atualmente. Se o comando não for reconhecido depois da instalação, o caminho mais rápido de resolver não é depurar a instalação do npm: é desinstalar (npm uninstall -g opencode-ai) e seguir direto para o Scoop, que resolveu o problema de ponta a ponta no nosso teste sem nenhum ajuste manual de PATH.
Este script foi otimizado para os leitores do canalqb.com.br que já perderam tempo tentando os três ou quatro caminhos possíveis antes de achar o que funciona de primeira — e, pelos testes que fizemos, esse caminho é o Scoop.
O OpenCode funciona no PowerShell do Windows 11 sem precisar de WSL?
opencode-windows-x64.zip, roda direto no PowerShell sem nenhuma dependência do WSL — foi exatamente esse binário que o Scoop baixou e instalou no teste deste post, resultando na versão 1.18.31 funcionando normalmente no opencode --version. O WSL só é necessário se você especificamente quiser seguir o instalador oficial em Bash linha a linha, ou se preferir um ambiente de desenvolvimento Linux completo para outras ferramentas do seu fluxo de trabalho. Para o uso cotidiano do OpenCode como agente de terminal no Windows 11, o caminho via Scoop é suficiente e evita a camada extra de complexidade de gerenciar uma distribuição Linux dentro do Windows.Preciso ser administrador do Windows para instalar o OpenCode com Scoop?
~\scoop), sem exigir nem recomendar privilégios de administrador. Na verdade, rodar o instalador do Scoop como Administrador pode gerar avisos ou falhas, já que o projeto assume explicitamente um contexto de usuário comum. Isso também significa que, em máquinas corporativas com restrições de conta, você ainda pode conseguir instalar o OpenCode sem precisar abrir um chamado de TI pedindo elevação de privilégios — desde que a política de execução de scripts do PowerShell permita rodar o instalador inicial do Scoop.Como atualizar o OpenCode depois de instalado via Scoop?
scoop update sozinho, que atualiza o próprio Scoop e sincroniza os manifestos dos buckets com as versões mais recentes disponíveis; em seguida, rode scoop update opencode, que compara a versão instalada com a versão do manifesto atualizado e baixa apenas se houver uma versão mais nova. O Scoop mantém as versões antigas em cache por padrão, então se uma atualização causar algum problema, é possível reverter com scoop reset opencode@1.18.31 (substituindo pelo número da versão anterior que funcionava), sem precisar reinstalar do zero.O que fazer se o comando opencode não for reconhecido mesmo depois da instalação?
scoop list, que deve mostrar "opencode" na lista de pacotes instalados; se não aparecer, a instalação falhou silenciosamente e vale repetir o scoop install opencode observando se alguma mensagem de erro aparece no meio do processo.É seguro rodar irm get.scoop.sh | iex sem revisar o script antes?
irm get.scoop.sh -OutFile install.ps1, abrir o arquivo num editor de texto para revisar o conteúdo, e só então executá-lo com .\install.ps1.📚 Fontes e Referências
- Documentação oficial da Microsoft sobre Set-ExecutionPolicy — referência completa dos modos de política de execução do PowerShell.
- Site oficial do Scoop — documentação do gerenciador de pacotes usado neste tutorial.
- Guia oficial de instalação do WSL — para quem optar pela rota Linux completa.
- Mais tutoriais de PowerShell no @CanalQb
- Outros posts sobre Scoop e gerenciadores de pacotes
- Guias sobre WSL no @CanalQb
Nota Jurídica: Este conteúdo pode estar sujeito a diferentes leis de privacidade dependendo da sua jurisdição. Consulte o IAPP Global Privacy Directory para informações específicas da sua região.
Gostou do tutorial? Veja mais automações no canal @CanalQb no YouTube.
Feito com Master Rules Claude v9.0