CLI commands
Actualizar
openclaw update
Actualiza OpenClaw de forma segura y cambia entre los canales stable/beta/dev.
Si instalaste mediante npm/pnpm/bun (instalación global, sin metadatos de git), las actualizaciones se realizan mediante el flujo del gestor de paquetes en Actualización.
Uso
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --tag main
openclaw update --dry-run
openclaw update --no-restart
openclaw update --yes
openclaw update --json
openclaw --update
Opciones
--no-restart: omite el reinicio del servicio Gateway después de una actualización correcta. Las actualizaciones del gestor de paquetes que sí reinician el Gateway verifican que el servicio reiniciado informe la versión actualizada esperada antes de que el comando finalice correctamente.--channel <stable|beta|dev>: establece el canal de actualización (git + npm; se conserva en la configuración).--tag <dist-tag|version|spec>: sobrescribe el objetivo del paquete solo para esta actualización. Para instalaciones de paquetes,mainse asigna agithub:openclaw/openclaw#main.--dry-run: previsualiza las acciones de actualización planificadas (flujo de canal/etiqueta/objetivo/reinicio) sin escribir configuración, instalar, sincronizar plugins ni reiniciar.--json: imprime JSONUpdateRunResultlegible por máquina, incluidospostUpdate.plugins.warningscuando plugins administrados corruptos o no cargables necesitan reparación después de que la actualización del núcleo se complete correctamente, ypostUpdate.plugins.integrityDriftscuando se detecta deriva de artefactos de plugins npm durante la sincronización de plugins posterior a la actualización.--timeout <seconds>: tiempo de espera por paso (el valor predeterminado es 1800s).--yes: omite las solicitudes de confirmación (por ejemplo, la confirmación de degradación de versión).
openclaw update no tiene una marca --verbose. Usa --dry-run para previsualizar
las acciones planificadas de canal/etiqueta/instalación/reinicio, --json para resultados
legibles por máquina y openclaw update status --json cuando solo necesites detalles
del canal y de disponibilidad. Si estás depurando registros del Gateway durante una actualización,
la verbosidad de consola y el nivel de registro de archivo son independientes: --verbose de Gateway afecta
la salida de terminal/WebSocket, mientras que los registros de archivo requieren logging.level: "debug" o
"trace" en la configuración. Consulta Registros del Gateway.
update status
Muestra el canal de actualización activo + etiqueta/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: imprime JSON de estado legible por máquina.--timeout <seconds>: tiempo de espera para comprobaciones (el valor predeterminado es 3s).
update wizard
Flujo interactivo para elegir un canal de actualización y confirmar si se debe reiniciar el Gateway
después de actualizar (el valor predeterminado es reiniciar). Si seleccionas dev sin un checkout de git,
ofrece crear uno.
Opciones:
--timeout <seconds>: tiempo de espera para cada paso de actualización (valor predeterminado1800)
Qué hace
Cuando cambias de canal explícitamente (--channel ...), OpenClaw también mantiene
alineado el método de instalación:
dev→ garantiza un checkout de git (valor predeterminado:~/openclaw, sobrescribir conOPENCLAW_GIT_DIR), lo actualiza e instala la CLI global desde ese checkout.stable→ instala desde npm usandolatest.beta→ prefiere la dist-tagbetade npm, pero recurre alatestcuando beta falta o es anterior a la versión estable actual.
OpenClaw aún no tiene un canal LTS ni de soporte mensual. Estamos trabajando
hacia líneas de soporte mensuales, pero --channel actualmente acepta solo
stable, beta y dev. Usa --tag <version-or-dist-tag> para un objetivo
puntual cuando necesites un artefacto de paquete específico.
El actualizador automático del núcleo del Gateway (cuando está habilitado mediante configuración) inicia la ruta de actualización de la CLI
fuera del controlador de solicitudes del Gateway en vivo. Las actualizaciones del gestor de paquetes update.run del plano de control
fuerzan un reinicio de actualización no diferido y sin enfriamiento después del intercambio del paquete,
porque el proceso antiguo del Gateway aún puede tener fragmentos en memoria que apuntan a
archivos eliminados por el paquete nuevo.
Para instalaciones mediante gestor de paquetes, openclaw update resuelve la versión
del paquete objetivo antes de invocar el gestor de paquetes. Las instalaciones globales de npm usan una
instalación por etapas: OpenClaw instala el paquete nuevo en un prefijo npm temporal, verifica
allí el inventario dist empaquetado y luego intercambia ese árbol de paquete limpio en el
prefijo global real. Si la verificación falla, el doctor posterior a la actualización, la sincronización de plugins y
el trabajo de reinicio no se ejecutan desde el árbol sospechoso. Incluso cuando la versión instalada
ya coincide con el objetivo, el comando actualiza la instalación global del paquete,
luego ejecuta la sincronización de plugins, una actualización de finalización de comandos del núcleo y el trabajo de reinicio. Esto
mantiene los sidecars empaquetados y los registros de plugins propiedad del canal alineados con la
compilación instalada de OpenClaw, dejando las reconstrucciones completas de finalización de comandos de plugins para
ejecuciones explícitas de openclaw completion --write-state.
Cuando hay instalado un servicio Gateway administrado local y el reinicio está habilitado,
las actualizaciones del gestor de paquetes detienen el servicio en ejecución antes de reemplazar el árbol
del paquete, luego actualizan los metadatos del servicio desde la instalación actualizada, reinician el
servicio y verifican que el Gateway reiniciado informe la versión esperada antes de
informar éxito. En macOS, la comprobación posterior a la actualización también verifica que el LaunchAgent
esté cargado/en ejecución para el perfil activo y que el puerto local loopback configurado esté
saludable. Si el plist está instalado pero launchd no lo está supervisando, OpenClaw
vuelve a arrancar el LaunchAgent automáticamente y luego repite las comprobaciones de
preparación de salud/versión/canal. Un arranque nuevo carga el trabajo RunAtLoad
directamente, por lo que la recuperación de actualización no ejecuta inmediatamente kickstart -k en el Gateway
recién generado. Si el Gateway aún no queda saludable, el comando sale
con código distinto de cero e imprime la ruta del registro de reinicio, además de instrucciones explícitas de reinicio, reinstalación y
reversión del paquete. Con --no-restart,
el reemplazo del paquete todavía se ejecuta, pero el servicio administrado no se detiene ni
se reinicia, por lo que el Gateway en ejecución puede conservar código antiguo hasta que lo reinicies
manualmente.
Flujo de checkout de git
Selección de canal
stable: hace checkout de la etiqueta no beta más reciente, luego compila y ejecuta doctor.beta: prefiere la etiqueta-betamás reciente, pero recurre a la última etiqueta estable cuando beta falta o es anterior.dev: hace checkout demain, luego obtiene cambios y hace rebase.
Pasos de actualización
Verificar árbol de trabajo limpio
Requiere que no haya cambios sin confirmar.
Cambiar canal
Cambia al canal seleccionado (etiqueta o rama).
Obtener upstream
Solo dev.
Compilación preliminar (solo dev)
Ejecuta la compilación de TypeScript en un árbol de trabajo temporal. Si la punta falla, retrocede hasta 10 commits para encontrar el commit compilable más reciente. Establece OPENCLAW_UPDATE_PREFLIGHT_LINT=1 para ejecutar también lint durante esta comprobación preliminar; lint se ejecuta en modo serie restringido porque los hosts de actualización de usuario suelen ser más pequeños que los runners de CI.
Rebase
Hace rebase sobre el commit seleccionado (solo dev).
Instalar dependencias
Usa el gestor de paquetes del repositorio. Para checkouts de pnpm, el actualizador arranca pnpm bajo demanda (primero mediante corepack, luego con un fallback temporal de npm install pnpm@10) en lugar de ejecutar npm run build dentro de un workspace pnpm.
Compilar Control UI
Compila el gateway y la Control UI.
Ejecutar doctor
openclaw doctor se ejecuta como la comprobación final de actualización segura.
Sincronizar plugins
Sincroniza plugins con el canal activo. Dev usa plugins incluidos; stable y beta usan npm. Actualiza las instalaciones de plugins rastreadas.
En el canal de actualización beta, las instalaciones rastreadas de plugins npm y ClawHub que siguen
la línea predeterminada/latest prueban primero una versión @beta del plugin. Si el plugin no tiene
versión beta, OpenClaw recurre a la especificación predeterminada/latest registrada. Para plugins
npm, OpenClaw también recurre cuando el paquete beta existe pero falla la validación
de instalación. Las versiones exactas y las etiquetas explícitas no se reescriben.
Atajo --update
openclaw --update se reescribe como openclaw update (útil para shells y scripts de lanzamiento).
Relacionado
openclaw doctor(ofrece ejecutar update primero en checkouts de git)- Canales de desarrollo
- Actualización
- Referencia de CLI