---
title: Windows (WSL)
description: Ejecuta OpenCode en Windows con WSL para una mejor experiencia.
---

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

Aunque OpenCode puede ejecutarse directamente en Windows, recomendamos usar [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) para obtener la mejor experiencia. WSL ofrece un entorno Linux que funciona perfectamente con las funciones de OpenCode.

:::tip[Por que WSL?]
WSL ofrece mejor rendimiento del sistema de archivos, soporte completo de terminal y compatibilidad con las herramientas de desarrollo de las que depende OpenCode.
:::

---

## Configuracion

<Steps>

1. **Instala WSL**

   Si aun no lo hiciste, [instala WSL](https://learn.microsoft.com/en-us/windows/wsl/install) usando la guia oficial de Microsoft.

2. **Instala OpenCode en WSL**

   Cuando WSL este listo, abre tu terminal de WSL e instala OpenCode con uno de los [metodos de instalacion](/docs/).

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

3. **Usa OpenCode desde WSL**

   Ve al directorio de tu proyecto (accede a los archivos de Windows desde `/mnt/c/`, `/mnt/d/`, etc.) y ejecuta OpenCode.

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

</Steps>

---

## Aplicacion de escritorio + servidor WSL

Si prefieres usar la app de escritorio de OpenCode pero quieres ejecutar el servidor en WSL:

1. **Inicia el servidor en WSL** con `--hostname 0.0.0.0` para permitir conexiones externas:

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

2. **Conecta la app de escritorio** a `http://localhost:4096`

:::note
Si `localhost` no funciona en tu configuracion, conectate usando la direccion IP de WSL (desde WSL: `hostname -I`) y usa `http://<wsl-ip>:4096`.
:::

:::caution
Cuando uses `--hostname 0.0.0.0`, define `OPENCODE_SERVER_PASSWORD` para proteger el servidor.

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

:::

---

## Cliente web + WSL

Para obtener la mejor experiencia web en Windows:

1. **Ejecuta `opencode web` en la terminal de WSL** en lugar de PowerShell:

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

2. **Accede desde tu navegador de Windows** en `http://localhost:<port>` (OpenCode muestra la URL)

Ejecutar `opencode web` desde WSL garantiza acceso correcto al sistema de archivos e integracion con la terminal, manteniendolo accesible desde tu navegador de Windows.

---

## Acceso a archivos de Windows

WSL puede acceder a todos tus archivos de Windows mediante el directorio `/mnt/`:

- Unidad `C:` → `/mnt/c/`
- Unidad `D:` → `/mnt/d/`
- Y asi sucesivamente...

Ejemplo:

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

:::tip
Para una experiencia mas fluida, considera clonar o copiar tu repo al sistema de archivos de WSL (por ejemplo en `~/code/`) y ejecutar OpenCode ahi.
:::

---

## Consejos

- Ejecuta OpenCode en WSL para proyectos guardados en unidades de Windows: el acceso a archivos es transparente
- Usa la [extension WSL de VS Code](https://code.visualstudio.com/docs/remote/wsl) junto con OpenCode para un flujo de desarrollo integrado
- Tu configuracion y tus sesiones de OpenCode se guardan dentro del entorno WSL en `~/.local/share/opencode/`
