🌱 Empieza aquí · Aviso cuando tu asistente pide permiso
Abre esta carpeta con Claude Code o Cowork y dile a tu asistente:
"Siembra esta semilla 🌱"
Y ya. Tu asistente hace todo lo técnico; tú solo confirmas cuando te pregunte. Vas a ver algunas palabras en inglés en la pantalla; ni caso, él te guía.
¿Otras formas de decírselo? "instala esta semilla", "pon esto a funcionar", "haz el setup del aviso de permiso". Te entiende igual.
¿Qué te acabas de instalar?
A partir de ahora, cuando estés trabajando en otra ventana y tu asistente necesite tu permiso para algo (editar un archivo, correr un comando), te va a avisar con una notificación del sistema —esas que salen en la esquina de tu pantalla y suenan—.
Nunca más vas a dejar a tu asistente congelado esperándote sin darte cuenta. 🙌
Para el asistente que siembra 🤖
Esta sección es para el asistente AI, no para el humano. Ejecútala tal cual.
Este componente es un hook (gancho de automatización) que se engancha al evento Notification del asistente y dispara una notificación nativa del sistema operativo cuando se pide un permiso (matcher permission_prompt).
No hay rutas ni datos del dueño que rellenar. La semilla es autocontenida y se instala en la carpeta de configuración estándar del asistente (~/.claude/), que apunta al home del usuario actual. No apliques ningún placeholder <TU-RUTA>, <TU-REPO> ni <TU-ARCHIVO-DE-MEMORIA>: aquí no aplican.
Paso 1 · Copiar el script a la carpeta de hooks
La carpeta de hooks es la misma en Claude Code y en Cowork: ~/.claude/hooks/.
mkdir -p ~/.claude/hooks
cp kernel/notify-permission.sh ~/.claude/hooks/notify-permission.sh
Paso 2 · Dar permiso de ejecución (chmod)
chmod +x ~/.claude/hooks/notify-permission.sh
Paso 3 · Cablear el hook en settings.json
El wiring vive en ~/.claude/settings.json, bajo la llave hooks.Notification. El snippet a integrar está en kernel/settings.snippet.json:
{
"hooks": {
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{ "type": "command", "command": "bash ~/.claude/hooks/notify-permission.sh" }
]
}
]
}
}
IMPORTANTE: fusionar, no sobrescribir. Si settings.json ya existe y tiene otros hooks, hay que mezclar este bloque dentro de hooks.Notification sin borrar lo que ya haya. Si el usuario ya tiene una entrada con el matcher permission_prompt, respétala o pregúntale antes de reemplazarla.
Si ~/.claude/settings.json no existe, créalo con exactamente el contenido del snippet.
Comando de fusión sugerido (crea el archivo si falta y respeta lo existente):
python3 - <<'PY'
import json, os
p = os.path.expanduser("~/.claude/settings.json")
entry = {"matcher": "permission_prompt", "hooks": [{"type": "command", "command": "bash ~/.claude/hooks/notify-permission.sh"}]}
data = {}
if os.path.exists(p):
with open(p) as f:
data = json.load(f)
hooks = data.setdefault("hooks", {})
existing = hooks.setdefault("Notification", [])
if entry["matcher"] not in {e.get("matcher") for e in existing}:
existing.append(entry)
with open(p, "w") as f:
json.dump(data, f, indent=2, ensure_ascii=False)
print("settings.json actualizado:", p)
PY
Paso 4 · Verificación post-siembra (obligatoria)
(a) Comprobar que el script corre y sale limpio:
bash ~/.claude/hooks/notify-permission.sh </dev/null; echo "salida: $?"
Salida esperada: aparece una notificación nativa del sistema (o suena la campana de terminal en entornos sin interfaz gráfica) y la última línea imprime exactamente:
salida: 0
(b) Comprobar que el wiring quedó en settings.json:
python3 -c "import json,os; d=json.load(open(os.path.expanduser('~/.claude/settings.json'))); n=d.get('hooks',{}).get('Notification',[]); print('OK' if 'permission_prompt' in {e.get('matcher') for e in n} else 'FALTA')"
Salida esperada:
OK
Si ambos dan verde, la semilla quedó sembrada. Recuérdale al usuario que debe cerrar y reabrir la sesión del asistente para que el hook se cargue (el asistente lee los hooks al iniciar).
Personalización opcional
Si el usuario quiere otro texto o sonido, edita las variables TITULO, MENSAJE y SONIDO_MAC al inicio del script en ~/.claude/hooks/notify-permission.sh. No hace falta más.
✅ ¿Cómo sé que funcionó? (para ti, el humano)
- Cierra y vuelve a abrir tu asistente (Claude Code o Cowork).
- Pídele algo que requiera tu permiso (por ejemplo, que edite un archivo o corra un comando).
- Cámbiate a otra ventana mientras tanto.
- En cuanto necesite tu permiso, te va a saltar una notificación en la esquina de tu pantalla. 🔔
Si la ves, ya quedó. Si no, dile a tu asistente: "revisa que el aviso de permiso haya quedado bien instalado" y él verifica los dos pasos de arriba por ti.
