Live steering is useful because waiting is expensive.
Codex 0.159 adds an opt-in instant_interrupt setting. New input can preempt a model response or a long code-mode call instead of waiting for the current step to return.[1] That shortens the distance between "wrong file" and a corrected plan.
The implementation notes carry the detail that matters. When an exec or wait call yields, the running cell is not stopped. Codex returns the cell identifier and can collect the result with a later wait. When a model stream is preempted, completed commentary stays in history while unfinished assistant text is left out of the replacement request.[2]
A turn can stop speaking while its process keeps working.
One interrupt icon cannot explain two outcomes.
People read a stopped spinner as stopped work. That assumption fails when the conversation and process have separate lifetimes. The interface needs one visible disposition for the model turn and another for the running process.
Use plain verbs. Queue waits for the current step. Steer ends the current model step, preserves completed output, and states whether the process continues. Stop requests process cancellation and must report whether cancellation succeeded. Do not color all three with the same warning red.
Input must not rewrite standing policy.
Claude Code 2.1.284 fixes a related control leak. Typing during an automatic usage-limit wait no longer takes later waits out of the configured "Continue automatically" policy. The same release adds a one-time answer for reads outside working directories, so a person can allow one read without creating a standing grant.[3]
These are separate product behaviors. Together they expose one design rule. A message can steer the current turn without silently changing the process policy or future permission policy.
Preserve identity when the cockpit changes.
VS Code 1.139 lets agent sessions run in Dev Containers on SSH, Tunnel, and WSL hosts. It also lets people switch between multi-chat and single-chat presentation while keeping open chats and conversation state.[4] The view can change while the work remains elsewhere.
A steering receipt should name the session, turn, process or cell, execution host, and chosen disposition. Without those fields, "stopped" may describe the visible reply while a remote process still owns files, ports, or credentials.