```json
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "say -a 87 \"Клауд коуд завершил задачу. Пожалуйста, обратите внимание\""
}
]
}
],
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{
"type": "command",
"command": "say -a 87 \"Клауд коуд просит подтверждение. Пожалуйста, обратите внимание\""
}
]
},
{
"matcher": "idle_prompt",
"hooks": [
{
"type": "command",
"command": "say -a 87 \"Клауд коуд задал вопрос и ждет от вас ответа уже 60 секунд\""
}
]
}
]
}
}
```
## `Stop`
Срабатывает **каждый раз, когда Claude “заканчивает ход” (turn) и останавливается**, то есть **после того, как он дописал очередной ответ и вернул управление тебе**. Это не “задача полностью выполнена”, а именно “ответ/шаг завершён”. ([DEV Community](https://dev.to/holasoymalva/the-ultimate-claude-code-guide-every-hidden-trick-hack-and-power-feature-you-need-to-know-2l45?utm_source=chatgpt.com "The Ultimate Claude Code Guide: Every Hidden Trick ..."))
## `permission_prompt`
Срабатывает, когда Claude Code **показывает тебе запрос на разрешение** (например: “нужно разрешение на Bash / чтение / запись / и т.п.”). Это именно уведомление о том, что нужно твоё подтверждение. ([Claude Code](https://code.claude.com/docs/en/hooks "Hooks reference - Claude Code Docs"))
## `idle_prompt`
Срабатывает, когда Claude **ждёт твоего ввода**, _но только после того, как терминал “простаивает”_ (idle) **60+ секунд** в этом состоянии ожидания. То есть это не “мгновенно задал вопрос”, а “ждёт ответа уже какое-то время”. ([Claude Code](https://code.claude.com/docs/en/hooks "Hooks reference - Claude Code Docs"))