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
Collapse queue/steer into one mid-run gesture, add stop-and-reinject, and stop discarding queued input on interrupt
Plain Enter and Alt+Enter both waited for a turn boundary before delivering,
so an operator had two gestures with the same effect and no way to tell them
apart. Alt+Enter now hard-stops the run and restarts from the typed message
without waiting for a boundary; plain Enter always queues to steer at the
next boundary, and the transcript row says so plainly ([will steer next] /
[steering]) instead of leaving the operator to infer it from a badge count.
Interrupting used to discard every queued and steered message ("interrupt —
discarded N pending"). An operator who queued an instruction and then lost
patience was destroying the thing they were trying to deliver. Interrupt no
longer clears the queue; it reports what will steer the next run instead.
Verified live: Shift+Enter does insert a newline, but only on a terminal
that negotiates the kitty keyboard protocol (this app requests it); on a
plain terminal Enter and Shift+Enter send the same bare \r, so the chord is
silently a no-op there. Ctrl+Enter/Ctrl+J remain the newline chord that
works everywhere, and the shortcut list's existing wording already reflects
that condition rather than promising it unconditionally.
Both interrupt paths close the underlying agent, which cascades an abort
into any in-flight sub-agent dispatch (task-tool.ts forwards the parent's
operation signal into the child's own controller) — redirecting the parent
stops the fleet it dispatched too, not just its own turn. Documented in
docs/TUI.md.
{keys: "Enter",description: "queue the message mid-run (badge); send straight through when idle"},
24
-
{keys: "Alt+Enter",description: "steer at the next tool boundary; does nothing unless a run is busy"},
23
+
{keys: "Enter",description: "queue the message to steer at the next turn boundary (badge); send straight through when idle"},
24
+
{keys: "Alt+Enter",description: "stop the run right now and restart from this message, without waiting for a boundary; does nothing unless a run is busy"},
25
25
{keys: "Ctrl+C",description: "interrupt the run, or clear the prompt when idle; press twice to exit"},
26
26
{keys: "Ctrl+G",description: "cancel the most recently queued or steered message before it dispatches"},
27
27
{keys: "Alt+C",description: "copy mode: pick a message, tool output, or diff; press again to close it"},
0 commit comments