[BUG] Desktop notification for AskUserQuestion renders as a permission request; "Allow once" dismisses the question unanswered
What's wrong
When a Claude Code session in the macOS desktop app calls AskUserQuestion and the user is away, the macOS notification posted by the app reads "Allow Claude to ask \<question\>" with an "Allow once" action button. Tapping "Allow once" resolves the underlying permission request with no answers: the AskUserQuestion dialog in the app is dismissed unanswered, and the session proceeds without the user's input.
The notification is treating the question as a tool-permission request. This looks like the push-notification face of #74052: AskUserQuestion is delivered through the permission pipeline (notification_type: "permission_prompt"), so notification surfaces apply the generic permission template and the permission quick action. For a question, "Allow" is not an answer; the quick action destroys the question instead of presenting it.
Expected
- Notification copy should present it as a question ("Claude has a question: \<question\>"), not "Allow Claude to ask ...".
- No "Allow once" quick action on AskUserQuestion notifications; tapping should deep-link to the question UI so the user can pick an option.
- At minimum, "Allow once" on a question notification should open the question rather than resolving it with empty answers.
Steps to reproduce
- Run a Claude Code session in the macOS desktop app; step away from the machine.
- Claude calls
AskUserQuestion. - A macOS notification arrives: "Allow Claude to ask \<question\>", action button "Allow once".
- Click "Allow once" on the notification.
- The AskUserQuestion dialog in the app is dismissed with no answer recorded; Claude continues without the user's input. This happens on every AskUserQuestion notification, not intermittently.
Environment
- Claude desktop app 1.37937.1, Claude Code 2.1.226, macOS 27.0
- Surface: macOS system notifications posted by the Claude desktop app
Related
- #74052: AskUserQuestion fires the Notification hook as
permission_promptwith "Claude needs your permission" (same underlying conflation, observed via hooks) - #13830: original request for a dedicated question/elicitation notification type instead of reusing
permission_prompt