openclaw update

Actualiza OpenClaw de forma segura y cambia entre los canales stable/beta/dev.

Si instalaste mediante npm/pnpm (instalación global, sin metadatos de git), las actualizaciones se realizan mediante el flujo del gestor de paquetes en Updating.

Uso

openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --dry-run
openclaw update --no-restart
openclaw update --json
openclaw --update

Opciones

  • --no-restart: omite el reinicio del servicio del Gateway después de una actualización exitosa.
  • --channel <stable|beta|dev>: establece el canal de actualización (git + npm; se persiste en la configuración).
  • --tag <dist-tag|version>: sustituye el dist-tag o versión de npm solo para esta actualización.
  • --dry-run: previsualiza las acciones de actualización planificadas (canal/tag/destino/flujo de reinicio) sin escribir configuración, instalar, sincronizar plugins ni reiniciar.
  • --json: muestra un JSON legible por máquinas UpdateRunResult.
  • --timeout <seconds>: timeout por paso (por defecto 1200s).

Nota: las degradaciones requieren confirmación porque versiones anteriores pueden romper la configuración.

update status

Muestra el canal de actualización activo + tag/rama/SHA de git (para checkouts de código fuente), además de la disponibilidad de actualizaciones.

openclaw update status
openclaw update status --json
openclaw update status --timeout 10

Opciones:

  • --json: muestra un JSON de estado legible por máquinas.
  • --timeout <seconds>: timeout para las comprobaciones (por defecto 3s).

update wizard

Flujo interactivo para elegir un canal de actualización y confirmar si reiniciar el Gateway después de actualizar (por defecto se reinicia). Si seleccionas dev sin un checkout de git, ofrece crear uno.

Qué hace

Cuando cambias de canal explícitamente (--channel ...), OpenClaw también alinea el método de instalación:

  • dev -> asegura un checkout de git (por defecto: ~/openclaw, se puede cambiar con OPENCLAW_GIT_DIR), lo actualiza e instala el CLI global desde ese checkout.
  • stable/beta -> instala desde npm usando el dist-tag correspondiente.

El auto-actualizador del núcleo del Gateway (cuando está habilitado en la configuración) reutiliza esta misma ruta de actualización.

Flujo de checkout de git

Canales:

  • stable: checkout del último tag sin beta, luego build + doctor.
  • beta: checkout del último tag -beta, luego build + doctor.
  • dev: checkout de main, luego fetch + rebase.

En resumen:

  1. Requiere un árbol de trabajo limpio (sin cambios sin confirmar).
  2. Cambia al canal seleccionado (tag o rama).
  3. Hace fetch del upstream (solo dev).
  4. Solo dev: preflight de lint + build de TypeScript en un worktree temporal; si el tip falla, retrocede hasta 10 commits para encontrar el build limpio más reciente.
  5. Hace rebase sobre el commit seleccionado (solo dev).
  6. Instala dependencias (pnpm preferido; fallback a npm).
  7. Construye + construye la Control UI.
  8. Ejecuta openclaw doctor como verificación final de “actualización segura”.
  9. Sincroniza plugins al canal activo (dev usa extensiones incluidas; stable/beta usa npm) y actualiza plugins instalados desde npm.

Atajo --update

openclaw --update se reescribe a openclaw update (útil para shells y scripts de lanzamiento).

Ver también