---
title: Windows (WSL)
description: Execute o OpenCode no Windows com WSL para melhor experiencia.
---

import { Steps } from "@astrojs/starlight/components"

Embora o OpenCode possa rodar direto no Windows, recomendamos usar [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) para a melhor experiencia. O WSL oferece um ambiente Linux que funciona de forma integrada com os recursos do OpenCode.

:::tip[Por que WSL?]
O WSL oferece melhor desempenho de sistema de arquivos, suporte completo a terminal e compatibilidade com as ferramentas de desenvolvimento das quais o OpenCode depende.
:::

---

## Configuracao

<Steps>

1. **Instale o WSL**

   Se ainda nao instalou, [instale o WSL](https://learn.microsoft.com/en-us/windows/wsl/install) usando o guia oficial da Microsoft.

2. **Instale o OpenCode no WSL**

   Depois de configurar o WSL, abra o terminal do WSL e instale o OpenCode usando um dos [metodos de instalacao](/docs/).

   ```bash
   curl -fsSL https://opencode.ai/install | bash
   ```

3. **Use o OpenCode pelo WSL**

   Va para o diretorio do seu projeto (acesse arquivos do Windows via `/mnt/c/`, `/mnt/d/` etc.) e execute o OpenCode.

   ```bash
   cd /mnt/c/Users/YourName/project
   opencode
   ```

</Steps>

---

## App desktop + servidor WSL

Se voce prefere usar o app desktop do OpenCode, mas quer rodar o servidor no WSL:

1. **Inicie o servidor no WSL** com `--hostname 0.0.0.0` para permitir conexoes externas:

   ```bash
   opencode serve --hostname 0.0.0.0 --port 4096
   ```

2. **Conecte o app desktop** em `http://localhost:4096`

:::note
Se `localhost` nao funcionar no seu ambiente, conecte usando o IP do WSL (no WSL: `hostname -I`) e use `http://<wsl-ip>:4096`.
:::

:::caution
Ao usar `--hostname 0.0.0.0`, defina `OPENCODE_SERVER_PASSWORD` para proteger o servidor.

```bash
OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
```

:::

---

## Cliente web + WSL

Para a melhor experiencia web no Windows:

1. **Execute `opencode web` no terminal WSL** em vez do PowerShell:

   ```bash
   opencode web --hostname 0.0.0.0
   ```

2. **Acesse pelo navegador do Windows** em `http://localhost:<port>` (o OpenCode mostra a URL)

Executar `opencode web` a partir do WSL garante acesso correto ao sistema de arquivos e integracao com o terminal, continuando acessivel no navegador do Windows.

---

## Acessar arquivos do Windows

O WSL pode acessar todos os arquivos do Windows pelo diretorio `/mnt/`:

- Unidade `C:` → `/mnt/c/`
- Unidade `D:` → `/mnt/d/`
- E assim por diante...

Exemplo:

```bash
cd /mnt/c/Users/YourName/Documents/project
opencode
```

:::tip
Para uma experiencia mais fluida, considere clonar/copiar seu repositorio para o sistema de arquivos do WSL (por exemplo em `~/code/`) e executar o OpenCode por la.
:::

---

## Dicas

- Mantenha o OpenCode rodando no WSL para projetos armazenados em unidades do Windows - o acesso aos arquivos fica fluido
- Use a [extensao WSL do VS Code](https://code.visualstudio.com/docs/remote/wsl) junto com o OpenCode para um fluxo de desenvolvimento integrado
- Sua configuracao e suas sessoes do OpenCode ficam armazenadas no ambiente WSL em `~/.local/share/opencode/`
