Skip to content

Fix two notification-content bugs in the Claude Code plugin - #86

Open
RomanBOGR wants to merge 2 commits into
warpdotdev:mainfrom
RomanBOGR:permission-preview-ask-user-question
Open

RomanBOGR wants to merge 2 commits into
warpdotdev:mainfrom
RomanBOGR:permission-preview-ask-user-question

Conversation

@RomanBOGR

@RomanBOGR RomanBOGR commented Sep 10, 2026 •

Copy link
Copy Markdown

Two independent fixes to what Warp notifications say. Both are small, both come with tests — the affected expressions had no coverage before. tests/test-hooks.sh: 67 passed, 0 failed.

1. AskUserQuestion permission notifications show raw JSON

on-permission-request.sh builds its preview from .command or .file_path and falls back to tostring[0:80] for everything else. For AskUserQuestion that fallback dumps the tool input:

Wants to run AskUserQuestion: {"questions": [{"question":"Should we...

and truncates before the question itself. Adds an elif .questions branch.

2. Stop notifications are titled with synthetic transcript entries

on-stop.sh takes the last entry of type user as the query. But that type also carries background-task notifications, blocking-hook feedback, system reminders, messages from other sessions and subagent prompts, so notifications read:

'<task-notification>\n<task...' finished

An image-only message carries just [Image: source: /path], which titled the notification with a file path.

Skips synthetic entries and sidechains, strips image markers, falls back to the last real prompt.

Why it matters

Both show up when several Claude Code sessions run in parallel: the notification is the only thing visible from another tab, so a title that names the session's actual task and a body that carries the actual question are the difference between acting on it and switching tabs to find out what happened.

Tests added

  • preview: Bash, Write, AskUserQuestion, unknown-tool fallback
  • query: plain prompt, task notification, hook feedback, peer message, subagent prompt, image-only message

🤖 Generated with Claude Code

RomanBOGR and others added 2 commits September 11, 2026 02:42
The preview in on-permission-request.sh handles .command and .file_path and
falls back to tostring[0:80] for everything else. For AskUserQuestion that
fallback dumps raw JSON, so the notification truncates before the question
itself.

Add an elif branch for .questions, plus four tests covering Bash, Write,
AskUserQuestion and the unknown-tool fallback.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…entries

Transcript entries of type "user" are not only what the human typed.
Background-task notifications, blocking-hook feedback, system reminders,
messages from other sessions and subagent prompts all arrive under the same
type, so taking the last one titled notifications like

  '<task-notification>\n<task...' finished

An image-only message carries just "[Image: source: /path]", which titled the
notification with a file path.

Skip synthetic entries and sidechains, strip image markers, and fall back to
the last real prompt. Six tests cover each shape.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@RomanBOGR RomanBOGR changed the title Show the question in AskUserQuestion permission notifications Fix two notification-content bugs in the Claude Code plugin Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant