Elicitation hook does not fire for AskUserQuestion events
Summary
The Elicitation hook event does not fire when Claude uses AskUserQuestion to prompt the user for input. This means there's no way to get notified (e.g., via macOS notification, sound, Slack) when Claude is waiting for user input on a question with options.
Use case
When running long tasks or multiple background agents, users may switch away from the terminal. Hooks on Stop and PermissionRequest work well for alerting users when Claude finishes a response or needs permission approval. However, when Claude asks a question via AskUserQuestion, no hook fires — so the user has no way to know Claude is blocked waiting for their input.
Steps to reproduce
- Add an
Elicitationhook in~/.claude/settings.json:
{
"hooks": {
"Elicitation": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "cat > /tmp/claude-elicitation-debug.json; osascript -e 'display notification \"Claude needs input\" with title \"Claude Code\" sound name \"Glass\"'"
}
]
}
]
}
}
- Trigger an
AskUserQuestiontool call (e.g., ask Claude to present options) - Check
/tmp/claude-elicitation-debug.json— file is never created - No notification is shown
Expected behavior
The Elicitation hook should fire when AskUserQuestion is presented to the user, so that external notifications can alert the user that Claude needs their input.
Environment
- macOS
- Claude Code CLI
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗