Cómo desinstalar OpenClaw limpiamente (Linux, Windows y Mac)

Cómo desinstalar OpenClaw limpiamente (Linux, Windows y Mac)

23 de julio del 20266 minOpenClaw, IA, Tutorial, DevOps, Uninstall

Respuesta corta (60 segundos): si el CLI sigue disponible, corré openclaw uninstall --all --yes --non-interactive — eso borra el Gateway daemon (LaunchAgent en macOS, systemd user unit en Linux, Scheduled Task en Windows), el state dir, el workspace y la app de macOS. Después sacás el CLI global con npm rm -g openclaw (o pnpm remove -g openclaw / bun remove -g openclaw según cómo lo instalaste). Si el CLI ya no está, hacés la limpieza del servicio a mano: launchctl bootout en macOS, systemctl --user disable --now en Linux, schtasks /Delete /TN "OpenClaw Gateway" en Windows. Borrá también ~/.openclaw/ (o %USERPROFILE%\.openclaw\) para limpiar state y config.

OpenClaw se desinstala con un comando, pero hay tres o cuatro trampas conocidas según el método de install original y el sistema operativo. Esta guía cubre los tres caminos: fácil (CLI presente), manual completo (CLI presente, control fino), y service-only (CLI desapareció pero el daemon quedó corriendo).

Camino 1 · Fácil con openclaw uninstall (CLI presente)

Si openclaw --version responde, este es el camino recomendado. El uninstaller sabe dónde está todo en tu sistema y limpia cada scope que le pidas.

Vista previa segura (dry run)

Antes de tocar nada, mirá qué va a borrar:

openclaw uninstall --dry-run --all

Imprime la lista de paths y servicios sin eliminar nada. Útil en servidores donde querés revisar antes de ejecutar.

Desinstalación completa no interactiva

openclaw uninstall --all --yes --non-interactive

Borra todo: servicio (Gateway daemon), state (config + credenciales), workspace (archivos del agente) y (en macOS) la app.

Si querés automatización vía npx (CI, scripts):

npx -y openclaw uninstall --all --yes --non-interactive

Flags de scope individual

Si querés control fino — por ejemplo conservar el workspace pero borrar el resto:

FlagQué borra
--serviceSolo el Gateway daemon (LaunchAgent / systemd / schtasks)
--stateSolo el state dir (~/.openclaw/ o %USERPROFILE%\.openclaw\)
--workspaceSolo el workspace del agente (default: ~/.openclaw/workspace)
--appSolo la app de macOS (/Applications/OpenClaw.app)
--allShorthand para los cuatro scopes anteriores

Combinaciones típicas:

# Conservar workspace, borrar el resto
openclaw uninstall --service --state --app --yes --non-interactive

# Reset total incluyendo workspace
openclaw uninstall --all --yes --non-interactive

# Solo parar y borrar el daemon (conservar state para reinstall futuro)
openclaw uninstall --service --yes --non-interactive

Sacar el CLI global

Después de correr el uninstaller, queda el binario openclaw instalado via npm/pnpm/bun. Para borrarlo:

# Si instalaste con npm
npm rm -g openclaw

# Si instalaste con pnpm
pnpm remove -g openclaw

# Si instalaste con bun
bun remove -g openclaw

Si instalaste con el instalador oficial (install.sh / install.ps1), el CLI vive en ~/.openclaw/node/ — borrá ese directorio:

rm -rf ~/.openclaw/node

Y el wrapper en ~/.local/bin/openclaw (o el equivalente Windows):

rm -f ~/.local/bin/openclaw

Camino 2 · Manual paso a paso (CLI presente, control fino)

Si preferís entender qué pasa en cada paso (útil en servidores con auditoría, o para mantener parte del setup), este es el orden.

Paso 1 · Parar el Gateway

openclaw gateway stop

Paso 2 · Desinstalar el servicio del sistema

openclaw gateway uninstall

Este paso borra:

  • macOS: el LaunchAgent en ~/Library/LaunchAgents/ai.openclaw.gateway.plist y lo descarga de launchd.
  • Linux: la systemd user unit en ~/.config/systemd/user/openclaw-gateway.service y la desactiva.
  • Windows: la Scheduled Task OpenClaw Gateway.

Paso 3 · Borrar state + config

rm -rf "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}"

Si usaste OPENCLAW_CONFIG_PATH para apuntar a un archivo fuera del state dir, borrá ese archivo manualmente después.

Si querés conservar el workspace (los archivos del agente), movelo aparte antes del rm -rf:

mv ~/.openclaw/workspace ~/openclaw-workspace-backup
rm -rf ~/.openclaw

Paso 4 · Borrar el workspace (opcional)

rm -rf ~/.openclaw/workspace

O el backup del paso anterior si decidiste conservarlo temporalmente.

Paso 5 · Sacar el CLI

npm rm -g openclaw   # o pnpm/bun según corresponda

Paso 6 · Sacar la app de macOS (si la instalaste)

rm -rf /Applications/OpenClaw.app

Camino 3 · Solo el servicio (CLI desapareció)

Si el binario openclaw ya no responde pero el daemon sigue corriendo (típico: borraste el npm global sin parar el Gateway antes), este es el camino.

macOS (launchd)

El label default es ai.openclaw.gateway (o ai.openclaw.<profile> si usaste profile):

launchctl bootout gui/$UID/ai.openclaw.gateway
rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist

Si usaste un profile, reemplazá el label y el plist con el nombre del profile (ai.openclaw.<profile>).

Linux (systemd user unit)

El nombre default es openclaw-gateway.service (o openclaw-gateway-<profile>.service).

Nota sobre installs viejos: si actualizaste desde una versión muy anterior, puede quedar un unit clawdbot-gateway.service (pre-rename). openclaw uninstall y openclaw gateway uninstall lo detectan y lo borran automáticamente; manual es:

systemctl --user disable --now openclaw-gateway.service
rm -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

# Si quedó el unit viejo:
systemctl --user disable --now clawdbot-gateway.service
rm -f ~/.config/systemd/user/clawdbot-gateway.service

Windows (Scheduled Task)

El nombre default de la task es OpenClaw Gateway (o OpenClaw Gateway (<profile>)). La task lanza un script gateway.vbs que corre gateway.cmd, ambos bajo el state dir.

PowerShell como admin (o usuario normal si la task se creó per-user):

schtasks /Delete /F /TN "OpenClaw Gateway"
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.cmd" -ErrorAction SilentlyContinue
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.vbs" -ErrorAction SilentlyContinue

Si usaste profile, repetí con el nombre task OpenClaw Gateway (<profile>) y los archivos bajo ~\.openclaw-<profile>\.

Después de borrar el servicio, limpiá el state dir:

Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw"

Si instalaste desde source (git clone)

Si corrés OpenClaw desde un checkout (git clone + pnpm openclaw ...), el uninstaller CLI no aplica — hay que hacerlo manual.

  1. Desinstalá el Gateway primero (Camino 3 de arriba o openclaw gateway uninstall si el CLI está).
  2. Borrá el directorio del repo: rm -rf /path/to/openclaw (o donde lo hayas clonado).
  3. Borrá state + workspace como en el Camino 2, paso 3 y 4.

Verificación post-desinstalación

Después de desinstalar, verificá que no quede nada:

# macOS / Linux
which openclaw           # no debería devolver nada
launchctl list | grep openclaw   # no debería listar nada
systemctl --user list-units --type=service | grep openclaw   # no debería listar nada

# Windows (PowerShell)
Get-Command openclaw -ErrorAction SilentlyContinue
Get-ScheduledTask | Where-Object {$_.TaskName -like "*OpenClaw*"}

Si todo devuelve vacío, la desinstalación está completa.

¿Reinstalás más adelante?

Si pensás reinstalar OpenClaw después (por ejemplo para probar otra versión), podés conservar el state dir:

# Solo parar el daemon y borrar el wrapper, mantener state y workspace
openclaw gateway stop
openclaw uninstall --service --yes --non-interactive
mv ~/.openclaw ~/openclaw-state-backup
# CLI fuera via npm rm -g openclaw

Después, para reinstalar:

curl -fsSL https://openclaw.ai/install.sh | bash
mv ~/openclaw-state-backup ~/.openclaw   # restaurar state
openclaw onboard --install-daemon        # reactivar daemon

¿Tenés algún edge case raro (docker, Nix, install en contenedor) o querés ayuda para decidir si conviene conservar algo antes de desinstalar? Hay un CTA al final con una llamada gratis de 30 minutos.

Preguntas frecuentes

¿Cuál es el comando rápido para desinstalar OpenClaw?

Si el CLI todavía está disponible, `openclaw uninstall --all --yes --non-interactive` borra servicio + state + workspace + (en macOS) app en una sola pasada. Sin el flag `--all`, el uninstaller es interactivo y pregunta qué scopes limpiar.

¿El comando `openclaw uninstall` borra el CLI mismo?

No. El uninstaller borra el Gateway daemon, el state dir y el workspace, pero deja el binario del CLI instalado via npm/pnpm/bun. Para sacar el CLI global: `npm rm -g openclaw` (o el equivalente con pnpm/bun).

¿Cómo desinstalo OpenClaw si el CLI ya no está disponible?

Servicio manual. En macOS: `launchctl bootout gui/$UID/ai.openclaw.gateway && rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist`. En Linux: `systemctl --user disable --now openclaw-gateway.service && rm -f ~/.config/systemd/user/openclaw-gateway.service && systemctl --user daemon-reload`. En Windows: `schtasks /Delete /F /TN "OpenClaw Gateway"` y borrar `gateway.cmd` y `gateway.vbs` bajo `~\.openclaw\`.

¿Qué pasa con mi workspace y los archivos del agente?

`openclaw uninstall` los conserva salvo que pidas `--workspace`. Si querés resetear de cero incluyendo el workspace, usá `--all`. Si querés conservar el workspace pero borrar config y credenciales, `--service --state`.

¿OpenClaw deja restos después de desinstalar?

Si usás el uninstaller con `--all`, no. Si instalaste con `git clone`, queda el directorio del repo (hay que borrarlo manual). En macOS puede quedar `~/Library/Application Support/OpenClaw/` si lo configuraste explícitamente.

¿Cómo borro los perfiles adicionales (`--profile`)?

Si instalaste con `--profile foo`, los state dirs viven en `~/.openclaw-foo`. Repetí `openclaw uninstall --state --workspace` para cada perfil, o `rm -rf ~/.openclaw-foo` después de parar el servicio correspondiente (`openclaw-gateway-foo.service` o el plist / schtasks con el sufijo del perfil).