openclaw hooks
Gestiona los hooks de agente (automatizaciones basadas en eventos para comandos como /new, /reset y el inicio del Gateway). openclaw hooks sin argumentos equivale a openclaw hooks list.
Relacionado: Hooks - Hooks de Plugin
Listar hooks
--eligible: solo hooks cuyos requisitos se cumplen.--json: salida estructurada.-v, --verbose: incluye una columna Missing con requisitos no cumplidos.
Obtener información de un hook
<name> es el nombre del hook o la clave del hook (por ejemplo, session-memory). Muestra el origen, las rutas de archivo/controlador, la página principal, los eventos y el estado por requisito (binarios, env, configuración, SO).
Comprobar elegibilidad
Habilitar un hook
hooks.internal.entries.<name>.enabled = true en la configuración y también activa el interruptor maestro hooks.internal.enabled (el Gateway no carga ningún controlador de hook interno hasta que al menos uno esté configurado). Falla si el hook no existe, está administrado por un Plugin o no es elegible (faltan requisitos).
Los hooks administrados por Plugin muestran plugin:<id> en hooks list y no se pueden habilitar/deshabilitar aquí; habilita o deshabilita el Plugin propietario en su lugar.
Reinicia el Gateway después de habilitarlo (reinicia la app de la barra de menús de macOS o reinicia tu proceso de Gateway en desarrollo) para que vuelva a cargar los hooks.
Deshabilitar un hook
hooks.internal.entries.<name>.enabled = false. Reinicia el Gateway después.
Instalar y actualizar paquetes de hooks
openclaw hooks install / openclaw hooks update siguen funcionando como alias obsoletos que imprimen una advertencia y reenvían a los comandos plugins.
- Las especificaciones de npm son solo de registro: nombre del paquete más una versión exacta opcional o una etiqueta dist-tag. Se rechazan las especificaciones Git/URL/file y los rangos semver. Las instalaciones de dependencias se ejecutan localmente en el proyecto con
--ignore-scripts. - Las especificaciones sin prefijo y
@latestpermanecen en el canal estable; si npm resuelve a una versión preliminar, OpenClaw se detiene y te pide que optes explícitamente por ella (@beta,@rco una versión preliminar exacta). - Archivos compatibles:
.zip,.tgz,.tar.gz,.tar. -l, --linkenlaza un directorio local en lugar de copiarlo (lo añade ahooks.internal.load.extraDirs); los paquetes de hooks enlazados son hooks administrados desde un directorio configurado por el operador, no hooks del espacio de trabajo.--pinregistra las instalaciones de npm como unname@versionexacto resuelto enhooks.internal.installs.- La instalación copia el paquete en
~/.openclaw/hooks/<id>, habilita sus hooks enhooks.internal.entries.*y registra la instalación enhooks.internal.installs. - Si un hash de integridad almacenado ya no coincide con el artefacto obtenido, OpenClaw advierte y solicita confirmación antes de continuar; pasa el
--yesglobal para omitir la confirmación (por ejemplo, en CI).
Hooks empaquetados
| Hook | Eventos | Qué hace |
|---|---|---|
| boot-md | gateway:startup | Ejecuta BOOT.md al iniciar el Gateway para cada ámbito de agente configurado |
| bootstrap-extra-files | agent:bootstrap | Inyecta archivos de arranque adicionales (por ejemplo, AGENTS.md/TOOLS.md de monorepo) durante el arranque del agente |
| command-logger | command | Registra eventos de comandos en ~/.openclaw/logs/commands.log |
| compaction-notifier | session:compact:before, session:compact:after | Envía avisos visibles en el chat cuando la compactación de la sesión empieza y termina |
| session-memory | command:new, command:reset | Guarda el contexto de la sesión en memoria en /new o /reset |
openclaw hooks enable <hook-name>. Detalles completos, claves de configuración y valores predeterminados: Hooks empaquetados.
Archivo de registro de command-logger
Notas
hooks list --json,info --jsonycheck --jsonescriben JSON estructurado directamente en stdout.