Feature request: a hook event for user interrupt/abort of a turn

Open 💬 0 comments Opened Jun 23, 2026 by amilligan

What I'm trying to do

I maintain a tmux plugin that tracks when a Claude Code session is blocked on a permission prompt (via Notification with the permission_prompt matcher) and clears that state when the block resolves. Clearing is driven by the resolution hooks: PostToolUse, PermissionDenied, UserPromptSubmit, SessionEnd.

The gap

When a user interrupts a turn with Esc (stopping the turn and leaving the session idle at an empty prompt), no hook fires. There is no interrupt/abort event, and Stop does not fire on interrupt. So any state a hook set during the turn (in my case "blocked on a permission prompt") is orphaned until the next UserPromptSubmit — which may never come if the user interrupts and walks away. External tooling is left asserting a stale state with no signal to clear it.

Request

A hook event that fires when the user interrupts/aborts a turn — e.g. Interrupt or UserAbort — carrying at least session_id (and the usual cwd / transcript fields). That is the one missing signal that would let lifecycle-tracking tooling clean up after an interrupt the same way it does after a normal turn end.

Today I work around it with a manual "clear this pane" command, but it is inherently a papering-over: there is no way to make it automatic without this event.

View original on GitHub ↗