Feature: Real-time steering — send message mid-generation without queueing
Open 💬 7 comments Opened Jun 2, 2026 by andrewkangkr
Summary
Currently, typing a message while Claude is generating queues it until the current response completes. There is no way to steer an in-progress response without pressing Escape (which discards all in-progress work).
The docs mention \"Interrupt and steer\" but this is not implemented — messages are queued, not injected. Related: #36326 (closed as not planned), #30492, #41665.
Desired behavior
Allow users to send a priority message that interrupts Claude at the next tool-call boundary, redirecting the current task without losing all context or requiring a full restart.
Rough UX options:
- Ctrl+Enter (or similar chord) sends a \"steering\" message with priority over the queue
- A dedicated
/steer <message>command injects a message at the next safe breakpoint - Messages sent while Claude is running are tagged
[steering]and processed at the next tool boundary
Why this matters
- Wasted work: Escape discards everything in progress; users must restart from scratch
- Docs-reality gap: The existing documentation claims this is possible, creating user confusion (see #36326)
- Hook workaround is unreliable: PreToolUse hook + file polling has been proposed but hook blocking itself has known bugs (#21988, #4362) and no confirmed working examples exist
Workaround (current)
None that works reliably. Escape → retype context is the only option.
References
- #36326 — Docs say Enter interrupts mid-task, but it only queues (closed not planned)
- #30492 — Real-time steering: priority message channel for redirecting Claude mid-execution
- #41665 — Support an interrupt message on stdin
- #21988 — PreToolUse hooks exit code ignored
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗