You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AskUserQuestion shows up in the notch. When Claude calls the AskUserQuestion tool, the notch now surfaces an actionable card with the question, options, and an optional manual textbox. Pick an answer inline, deny the call, or hand off to the terminal so the CLI's native picker takes over.
Bug fixes
Status bar icon clicks register again. The notch's outside-click watcher used NSEvent.addLocalMonitorForEvents and returned nil for any in-app mouse-down outside the hit rect, which silently swallowed clicks on the menu-bar status item and other app windows (Settings, Marketplace, etc.). Pass the event through and just drive the collapse signal.
Completion notch shows the actual final reply, not an intermediate text block. Claude Code's Stop hook payload carries the final assistant text in last_assistant_message, but the Stop normalizer was tail-scanning the transcript jsonl instead — and the jsonl can lag a few hundred ms behind hook fire, so the scan picked up the last intermediate text (the one before the final tool calls). Stop / StopFailure now read the payload field directly; transcript scan stays as a fallback.
"Return to terminal" on AskUserQuestion lets the CLI take over cleanly. Claude Code fires both PreToolUse and a follow-up PermissionRequest for AskUserQuestion, so the same question used to pop a second card right after dismissal — and clicking Answer on the second card never reached the CLI (different printer for the PermissionRequest decision lane). The normalizer now skips PermissionRequest:askuserquestion silently, and the Return-to-terminal path resolves PreToolUse with .ask so the CLI's native picker surfaces.
Answer button is legible against the dark notch. Three layers of dimming (.disabled + .opacity(0.48) + .secondary) made it nearly invisible. Render as .primary; the inner closure already guards the no-op when nothing is selected.