openclaw hooks
Gestiona hooks de agente (automatizaciones basadas en eventos para comandos como /new, /reset e inicio del gateway).
Relacionado:
Listar todos los hooks
openclaw hooks list
Lista todos los hooks descubiertos desde directorios de workspace, gestionados y empaquetados.
Opciones:
--eligible: Mostrar solo hooks elegibles (requisitos cumplidos)--json: Salida como JSON-v, --verbose: Mostrar información detallada incluyendo requisitos faltantes
Ejemplo de salida:
Hooks (4/4 ready)
Ready:
🚀 boot-md ✓ - Run BOOT.md on gateway startup
📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap
📝 command-logger ✓ - Log all command events to a centralized audit file
💾 session-memory ✓ - Save session context to memory when /new command is issued
Ejemplo (detallado):
openclaw hooks list --verbose
Muestra requisitos faltantes para hooks no elegibles.
Ejemplo (JSON):
openclaw hooks list --json
Devuelve JSON estructurado para uso programático.
Obtener información de un hook
openclaw hooks info <name>
Muestra información detallada sobre un hook específico.
Argumentos:
<name>: Nombre del hook (ej.,session-memory)
Opciones:
--json: Salida como JSON
Ejemplo:
openclaw hooks info session-memory
Salida:
💾 session-memory ✓ Ready
Save session context to memory when /new command is issued
Details:
Source: openclaw-bundled
Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md
Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts
Homepage: https://docs.openclaw.ai/automation/hooks#session-memory
Events: command:new
Requirements:
Config: ✓ workspace.dir
Verificar elegibilidad de hooks
openclaw hooks check
Muestra un resumen del estado de elegibilidad de hooks (cuántos están listos vs. no listos).
Opciones:
--json: Salida como JSON
Ejemplo de salida:
Hooks Status
Total hooks: 4
Ready: 4
Not ready: 0
Habilitar un hook
openclaw hooks enable <name>
Habilita un hook específico agregándolo a tu configuración (~/.openclaw/config.json).
Nota: Los hooks gestionados por plugins muestran plugin:<id> en openclaw hooks list y
no pueden habilitarse/deshabilitarse aquí. Habilita/deshabilita el plugin en su lugar.
Argumentos:
<name>: Nombre del hook (ej.,session-memory)
Ejemplo:
openclaw hooks enable session-memory
Salida:
✓ Enabled hook: 💾 session-memory
Qué hace:
- Verifica si el hook existe y es elegible
- Actualiza
hooks.internal.entries.<name>.enabled = trueen tu configuración - Guarda la configuración en disco
Después de habilitar:
- Reinicia el gateway para que los hooks se recarguen (reinicio de la app de barra de menú en macOS, o reinicia tu proceso de gateway en dev).
Deshabilitar un hook
openclaw hooks disable <name>
Deshabilita un hook específico actualizando tu configuración.
Argumentos:
<name>: Nombre del hook (ej.,command-logger)
Ejemplo:
openclaw hooks disable command-logger
Salida:
⏸ Disabled hook: 📝 command-logger
Después de deshabilitar:
- Reinicia el gateway para que los hooks se recarguen
Instalar hooks
openclaw hooks install <path-or-spec>
openclaw hooks install <npm-spec> --pin
Instala un pack de hooks desde una carpeta/archivo local o npm.
Las especificaciones npm son solo de registro (nombre del paquete + versión exacta opcional o
dist-tag). Las especificaciones de Git/URL/archivo y rangos semver se rechazan. Las instalaciones
de dependencias se ejecutan con --ignore-scripts por seguridad.
Las especificaciones base y @latest se mantienen en la pista estable. Si npm resuelve cualquiera
de ellas a un prerelease, OpenClaw se detiene y te pide que aceptes explícitamente con un
tag de prerelease como @beta/@rc o una versión exacta de prerelease.
Qué hace:
- Copia el pack de hooks en
~/.openclaw/hooks/<id> - Habilita los hooks instalados en
hooks.internal.entries.* - Registra la instalación en
hooks.internal.installs
Opciones:
-l, --link: Vincular un directorio local en lugar de copiar (lo agrega ahooks.internal.load.extraDirs)--pin: Registrar instalaciones npm comoname@versionresuelto exacto enhooks.internal.installs
Archivos soportados: .zip, .tgz, .tar.gz, .tar
Ejemplos:
# Directorio local
openclaw hooks install ./my-hook-pack
# Archivo local
openclaw hooks install ./my-hook-pack.zip
# Paquete NPM
openclaw hooks install @openclaw/my-hook-pack
# Vincular un directorio local sin copiar
openclaw hooks install -l ./my-hook-pack
Actualizar hooks
openclaw hooks update <id>
openclaw hooks update --all
Actualiza packs de hooks instalados (solo instalaciones npm).
Opciones:
--all: Actualizar todos los packs de hooks rastreados--dry-run: Mostrar qué cambiaría sin escribir
Cuando existe un hash de integridad almacenado y el hash del artefacto obtenido cambia,
OpenClaw imprime una advertencia y pide confirmación antes de proceder. Usa
--yes global para omitir prompts en ejecuciones CI/no interactivas.
Hooks empaquetados
session-memory
Guarda el contexto de la sesión en memoria cuando ejecutas /new.
Habilitar:
openclaw hooks enable session-memory
Salida: ~/.openclaw/workspace/memory/YYYY-MM-DD-slug.md
Ver: session-memory documentation
bootstrap-extra-files
Inyecta archivos bootstrap adicionales (por ejemplo AGENTS.md / TOOLS.md locales del monorepo) durante agent:bootstrap.
Habilitar:
openclaw hooks enable bootstrap-extra-files
Ver: bootstrap-extra-files documentation
command-logger
Registra todos los eventos de comandos en un archivo de auditoría centralizado.
Habilitar:
openclaw hooks enable command-logger
Salida: ~/.openclaw/logs/commands.log
Ver logs:
# Comandos recientes
tail -n 20 ~/.openclaw/logs/commands.log
# Pretty-print
cat ~/.openclaw/logs/commands.log | jq .
# Filtrar por acción
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .
Ver: command-logger documentation
boot-md
Ejecuta BOOT.md cuando el gateway inicia (después de que los canales arrancan).
Eventos: gateway:startup
Habilitar:
openclaw hooks enable boot-md