Descripción General
hermes hooks inspecciona los hooks de shell script declarados en ~/.hermes/config.yaml, los prueba con payloads sintéticos y gestiona la lista de consentimiento de primer uso en ~/.hermes/shell-hooks-allowlist.json.
hermes hooks <list|test|revoke|doctor>
Se aceptan alias: ls en lugar de list, remove/rm en lugar de revoke.
Subcomandos
list (o ls) — Listar hooks configurados
hermes hooks list
hermes hooks ls
Muestra el matcher, el timeout y el estado de consentimiento de cada hook.
test — Ejecutar hooks coincidentes con un payload sintético
hermes hooks test pre_tool_call
hermes hooks test pre_tool_call --for-tool terminal
hermes hooks test subagent_stop --payload-file ./payload.json
| Flag | Descripción |
|---|---|
event (posicional) |
Nombre del evento, p. ej. pre_tool_call, pre_llm_call, subagent_stop. |
--for-tool FOR_TOOL |
Ejecutar solo hooks cuyo matcher coincida con este nombre de herramienta (para pre_tool_call / post_tool_call). |
--payload-file PAYLOAD_FILE |
Ruta a un archivo JSON cuyo contenido se fusiona con el payload sintético antes de la ejecución. |
revoke (o remove, rm) — Eliminar entradas de la lista de permitidos
hermes hooks revoke "~/.hermes/hooks/notify.sh"
hermes hooks rm "~/.hermes/hooks/notify.sh"
Elimina las entradas de la lista de permitidos para la cadena de comando exacta declarada en config.yaml. El cambio surte efecto al reiniciar Hermes.
doctor — Comprobar cada hook configurado
hermes hooks doctor
Valida cada hook: bit de ejecución, estado de la lista de permitidos, desviación de mtime, validez JSON y tiempo de ejecución sintético.
Escenarios Comunes
Revisar todos los hooks tras editar la configuración
hermes config edit
hermes hooks list
Probar un hook antes de aprobarlo
hermes hooks test pre_tool_call --for-tool terminal
Revocar el consentimiento de un hook
hermes hooks revoke "~/.hermes/hooks/backup.sh"
Diagnosticar problemas de hooks
hermes hooks doctor
Consejos
- Los hooks se definen en
~/.hermes/config.yaml; el consentimiento se rastrea por separado en~/.hermes/shell-hooks-allowlist.json. - Revocar el consentimiento no elimina la definición del hook — solo restablece la aprobación, y el cambio se aplica al reiniciar Hermes.
- Usa
hermes hooks testcon--payload-filepara simular payloads realistas sin ejecutar una sesión completa. hermes hooks doctores la forma más rápida de detectar problemas de permisos, sintaxis o tiempos de ejecución.- Revisa siempre los scripts de hook antes de conceder consentimiento; se ejecutan con los mismos permisos que el proceso de Hermes.