> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Problemas conocidos de WSL

> Soluciona problemas conocidos de Devin Desktop al ejecutarlo en Windows Subsystem for Linux (WSL), incluido el bajo rendimiento por saturación del sistema de archivos Plan 9 (9P) y los fallos de conexión causados por una VPN o software de red zero-trust.

Esta página describe los problemas conocidos al usar Devin Desktop con Windows Subsystem for Linux (WSL) y las soluciones recomendadas.

***

<div id="slow-performance-or-disconnections-9p-filesystem-saturation">
  ## **Rendimiento lento o desconexiones (saturación del sistema de archivos 9P)**
</div>

Al usar Devin Desktop en WSL (mediante **Remote - WSL**), el editor puede volverse lento, dejar de responder o desconectarse repetidamente del backend de WSL. La causa más habitual es que las extensiones realicen una supervisión de archivos e indexación agresivas sobre el sistema de archivos de WSL, lo que satura el **protocolo Plan 9 (9P)**, el puente del sistema de archivos entre Windows y el entorno Linux de WSL.

Esto es más probable en repositorios grandes y cuando varios servidores de lenguaje se ejecutan al mismo tiempo.

<div id="symptoms">
  ### **Síntomas**
</div>

* Devin Desktop funciona notablemente lento o con retraso cuando está conectado a WSL
* El editor se desconecta con frecuencia del backend de WSL e intenta volver a conectarse
* Las desconexiones se producen durante el desarrollo activo (p. ej., mientras se usa Cascade) **y** también cuando el editor está inactivo
* Devin Desktop falla o deja de responder, por lo que es necesario reiniciar tanto el IDE como WSL (`wsl --shutdown`)
* El uso de memoria de WSL aumenta con el tiempo, incluso en sistemas con más de 32 GB de RAM
* Los registros de diagnóstico de WSL muestran una gran cantidad de eventos `P9 Reply_Rlerror` (errores de archivo no encontrado)
* El rendimiento es normal cuando se usa Devin Desktop fuera de WSL (p. ej., al abrir una carpeta local de Windows)
* Las soluciones alternativas habituales (reiniciar WSL, reinstalar Devin Desktop, aumentar la memoria en `.wslconfig`) no resuelven el problema por sí solas

***

<div id="root-cause">
  ### **Causa raíz**
</div>

La comunicación entre Windows y el sistema de archivos Linux de WSL utiliza el **protocolo Plan 9 (9P)**, que ofrece un rendimiento limitado en comparación con el acceso nativo al sistema de archivos.

Cuando se instalan extensiones en el entorno de WSL, algunas realizan una monitorización de archivos y una indexación agresivas en todo el espacio de trabajo. En repositorios grandes (p. ej., 250,000+ archivos, 5+ GB), esto genera un volumen masivo de operaciones del sistema de archivos a través del puente 9P, lo que puede:

* Saturar la capacidad del protocolo
* Generar miles de errores de archivo no encontrado (`Reply_Rlerror`)
* Hacer que se pierda la conexión entre Devin Desktop y el backend de WSL
* Contribuir a un aumento gradual de la presión de memoria dentro de WSL con el tiempo

Esto se agrava cuando también se están ejecutando múltiples servidores de lenguaje (p. ej., Sorbet, Ruby LSP, TypeScript, etc.), ya que añaden una sobrecarga adicional de monitorización de archivos. La actividad combinada del sistema de archivos procedente de las extensiones y los servidores de lenguaje puede saturar el puente 9P incluso en sistemas con 32 GB+ de RAM.

Un ejemplo conocido es la **extensión Vue (Volar)**, que se ha observado que provoca una indexación excesiva de archivos en entornos WSL incluso cuando el espacio de trabajo no contiene archivos de Vue. Este problema está documentado en el ecosistema de VS Code:
[microsoft/vscode-remote-release#11091](https://github.com/microsoft/vscode-remote-release/issues/11091)

Esto es especialmente probable si has heredado un gran conjunto de extensiones de VS Code o de otro editor que no son necesarias para tu proyecto actual.

***

<div id="solutions">
  ### **Soluciones**
</div>

<div id="1-update-wsl-to-the-latest-version-recommended-first-step">
  #### **1. Actualiza WSL a la versión más reciente (primer paso recomendado)**
</div>

Muchos problemas de desconexión y rendimiento en WSL se resuelven simplemente actualizando WSL. Las versiones más recientes de WSL incluyen mejoras en la estabilidad del sistema de archivos 9P y en la fiabilidad de la conexión.

Abre **PowerShell** (o el Símbolo del sistema) en tu equipo Windows y ejecuta:

```
wsl --update
```

Luego, reinicia WSL:

```
wsl --shutdown
```

Abre de nuevo Devin Desktop y vuelve a conectarte a WSL. Puedes comprobar tu versión de WSL con:

```
wsl --version
```

WSL **2.7.3.0 y versiones posteriores** incluye correcciones que han resuelto problemas persistentes de desconexión para los usuarios, incluso sin necesidad de realizar otros cambios de configuración.

***

<div id="2-clean-reinstall-of-the-devin-desktop-server-in-wsl">
  #### **2. Reinstalación limpia del servidor de Devin Desktop en WSL**
</div>

Elimina el directorio del servidor de Devin Desktop dentro de WSL y deja que Devin Desktop lo reinstale en la próxima conexión:

```shell theme={null}
rm -rf ~/.windsurf-server
```

Luego, vuelve a conectar Devin Desktop a WSL. El servidor se reinstalará automáticamente.

***

<div id="3-minimize-installed-extensions-highest-impact">
  #### **3. Minimiza las extensiones instaladas (mayor impacto)**
</div>

Instala solo las extensiones que realmente necesites para el repositorio en el que estás trabajando.

* Abre el panel Extensions en Devin Desktop mientras estés conectado a WSL
* Revisa qué extensiones están instaladas en el entorno **WSL** (no solo localmente)
* Desactiva o desinstala las extensiones que no necesites, especialmente las que realizan una supervisión intensiva de archivos o indexación

**Extensiones problemáticas conocidas en WSL:**

* **Vue (Volar)** — se ha confirmado que provoca una indexación excesiva de archivos a través del puente 9P, incluso en proyectos que no son de Vue. Desinstalar solo esta extensión ya ha resuelto desconexiones para varios usuarios.
* Otras extensiones de lenguaje específicas de frameworks (Angular, Svelte, etc.) pueden comportarse de forma similar si están instaladas pero no son necesarias para el espacio de trabajo actual.

**No** des por sentado que las extensiones que funcionan bien en una configuración local (sin WSL) se comportarán igual en WSL. El puente del sistema de archivos 9P es el cuello de botella: las extensiones que son inofensivas localmente pueden volverse desestabilizadoras cuando cada operación sobre archivos debe cruzar el límite del protocolo.

Reducir la actividad del sistema de archivos generada por las extensiones reduce directamente la carga sobre el puente 9P.

***

<div id="4-optimize-wsl-resource-limits">
  #### **4. Optimiza los límites de recursos de WSL**
</div>

Crea o edita el archivo `%USERPROFILE%\.wslconfig` en tu equipo con **Windows** (p. ej., `C:\Users\<YourUser>\.wslconfig`) con límites de recursos adecuados para tu sistema:

```
[wsl2]
memory=16GB
swap=4GB
processors=4
autoMemoryReclaim=gradual
```

> **Nota:** La configuración `autoMemoryReclaim` se eliminó en WSL **2.7.3.0** y versiones posteriores. Si usas WSL 2.7.3.0 o una versión posterior, omite esta línea. Puedes comprobar la versión de WSL con `wsl --version`.

Ajusta los valores según los recursos disponibles en tu sistema.

Después de guardar el archivo, reinicia WSL:

```
wsl --shutdown
```

Luego, vuelve a abrir Devin Desktop y vuelve a conectarte a WSL.

***

<div id="diagnosis">
  ### **Diagnóstico**
</div>

<div id="check-wsl-diagnostic-logs-for-9p-errors">
  #### **Consulta los registros de diagnóstico de WSL para detectar errores de 9P**
</div>

Para confirmar que la causa es la saturación de 9P, recopila los registros de diagnóstico de WSL:

```
wsl --debug-shell
```

O recopila un paquete de diagnóstico completo:

```
Invoke-WebRequest -UseBasicParsing "https://aka.ms/wsldiag" -OutFile wsldiag.ps1
.\wsldiag.ps1
```

Busca un gran volumen de eventos `Reply_Rlerror` en los logs del sistema de archivos 9P. Normalmente, miles de eventos (o más) indican que las extensiones o los procesos dentro de WSL están generando demasiadas solicitudes al sistema de archivos y que el puente 9P no da abasto.

***

<div id="when-to-use-which-fix">
  ### **Cuándo usar cada solución**
</div>

* **Actualiza WSL** primero: muchos problemas se resuelven simplemente ejecutando `wsl --update`. WSL 2.7.3.0+ incluye mejoras importantes de estabilidad. (La solución más sencilla).
* **Minimiza las extensiones** si tienes muchas extensiones instaladas en WSL que no usas activamente o si migraste extensiones desde otro editor. (El cambio de mayor impacto).
* **Reinstala el servidor desde cero** si el estado del servidor de Devin Desktop puede estar dañado o desactualizado (p. ej., después de una actualización fallida o de un cierre inesperado).
* **Optimiza `.wslconfig`** si WSL está consumiendo demasiados recursos del host o si aún no has configurado límites de recursos. (Mejora general de la estabilidad de WSL).

Para obtener los mejores resultados, empieza actualizando WSL y luego aplica las demás soluciones según sea necesario. La combinación de una versión actualizada de WSL, un servidor limpio, un mínimo de extensiones y límites de recursos ajustados aborda tanto la causa raíz (la saturación de 9P por la actividad de las extensiones) como los factores que contribuyen al problema (el agotamiento de recursos).

***

<div id="cannot-connect-to-wsl-with-vpn-or-zero-trust-software">
  ## **No se puede conectar a WSL con VPN o software Zero Trust**
</div>

Devin Desktop no puede conectarse a WSL y muestra el error `Couldn't install vscode server on remote server, install script returned non-zero exit status` cuando una VPN o un software Zero Trust (Twingate, Tailscale, Zscaler, Cloudflare WARP, GlobalProtect, etc.) bloquea el tráfico de red saliente desde WSL.

<div id="symptoms">
  ### **Síntomas**
</div>

* Devin Desktop muestra `Error resolving authority` / `install script returned non-zero exit status` al conectarse a WSL
* WSL en sí funciona (`wsl -d Ubuntu -- echo hello` se ejecuta correctamente), pero `curl` excede el tiempo de espera dentro de WSL
* El problema empezó después de instalar o actualizar software VPN o zero trust

<div id="root-cause">
  ### **Causa raíz**
</div>

WSL 2 enruta el tráfico a través de una red virtual basada en NAT de forma predeterminada. El software de VPN y de Zero Trust a menudo no reenvía el tráfico desde esta red virtual, por lo que la descarga del servidor de Devin Desktop falla sin mostrar ningún error.

<div id="solution">
  ### **Solución**
</div>

<div id="1-enable-mirrored-networking">
  #### **1. Habilita la red en espejo**
</div>

Edita el archivo de configuración de WSL para habilitar la red en espejo (normalmente `C:\Users\<YourUser>\.wslconfig`).
Agrega lo siguiente:

```ini theme={null}
[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
```

Luego, reinicia WSL y limpia cualquier estado residual de una instalación anterior:

```
wsl --shutdown
wsl -d Ubuntu -- bash -c "rm -f ~/.windsurf-server/.installation_lock"
```

Vuelve a abrir Devin Desktop y vuelve a conectarte a WSL. El servidor se instalará automáticamente.

> **Nota:** Requiere WSL 2.0.0 o posterior. Ejecuta `wsl --version` para comprobarlo y `wsl --update` para actualizarlo si es necesario.

<div id="2-alternative-temporarily-disconnect-vpn">
  #### **2. Alternativa: desconecta temporalmente la VPN**
</div>

Si no puedes cambiar `.wslconfig`, desconecta tu VPN/ZTNA, deja que Devin Desktop instale el servidor y, después, vuelve a conectarte. Las futuras actualizaciones de Devin Desktop volverán a requerir acceso a la red desde WSL.
