Pimp My IDE / garage dispatchBack to the garage
October 8, 2026 / VS Code 1.141 / agent steering

A queue is not a steering wheel.

VS Code can steer an active agent conversation and manage messages waiting behind it. Keep active input, queued work, running processes, and final results on separate records.

Replace the message only while it is still waiting.

Four verbs now share one input box.

VS Code 1.141 adds four actions for agent-triggered messages. A caller can steer an active conversation, queue a separate follow-up, replace a queued message without moving its position, or cancel a queued message. The release notes set one firm boundary. After a queued message starts processing, it can no longer be replaced or canceled.[1]

These actions look adjacent in the interface. They do different work. Steering changes the active conversation. Enqueueing creates later work. Replacing edits work that has not started. Canceling removes work that has not started.

Record which message you changed and when the runtime accepted the change.

The host owns the live state.

VS Code's Agent Host is the source of truth for its sessions. Clients receive a state snapshot and ordered actions. After a dropped connection, a client can receive missed actions or a fresh snapshot. The host can keep an active turn running while no editor window is connected.[2]

A stale panel is not proof that a message is still queued. Read fresh host state before replacing or canceling it. Save the session, message, and turn identifiers when the implementation exposes them. Keep the execution host with the record because file edits and commands run where the host lives.

Canceling input does not stop every effect.

The Agent Client Protocol makes cancellation a separate protocol action. Its cancellation notification is optional because some implementations cannot interrupt active work. A supporting implementation may cancel nested activity, may send pending notifications first, and must return a result for the original request. The caller may wait for that response.[3]

VS Code's queued-message action has a narrower job. It removes a message before processing starts. It does not prove that an earlier tool call, shell, or remote task stopped. If a steering message asks an agent to abandon a route, inspect the work already dispatched and use the runner's cancellation path for any process that must end.

Give the queue a receipt.

A useful record names the selected action, target session, target turn or queued message, observed queue state, execution host, process disposition, acknowledgement, and final result. Preserve the prior and replacement text hashes when the exact message content is sensitive.

ACTION=[STEER / ENQUEUE / REPLACE / CANCEL]
SESSION_ID=[REQUIRED]
TARGET_MESSAGE_OR_TURN=[REQUIRED]
OBSERVED_STATE=[ACTIVE / QUEUED / STARTED / UNKNOWN]
EXECUTION_HOST=[REQUIRED]
PROCESS_DISPOSITION=[UNCHANGED / CANCEL REQUESTED / VERIFIED STOPPED]
ACKNOWLEDGEMENT=[REQUIRED]
FINAL_RESULT=[REQUIRED]

Do not call a replacement successful because the input field changed. Wait for the host to accept it. Do not call a cancellation complete because a row disappeared. Record the acknowledgement and inspect any work that could have started before the action landed.

Interactive makeover / steering queue interlock

Route one message action.

This replaces an ambiguous input box with a native action selector, two visible lanes, four record sections, and copyable text. It drafts a control record. It does not connect to an agent session.

ObserveSelect actionRead host resultRecord effects

Input action

Choose the action you intend. Then select the sections the record must request.

Message action

Lane readout

The active turn receives a correction. The queue is unchanged.

Steering record has 4 open sections.A correction targets the active turn. Confirm what happened to any tool or process already running.
Sources read / October 8, 2026

Source log

Open the evidence boundary
  1. Visual Studio Code 1.141 release notes, released October 7 and read October 8, 2026. Microsoft documents steering an active conversation, queueing a separate follow-up, replacing a queued message in place, canceling a queued message, ordered processing, and the started-message boundary.
  2. Visual Studio Code documentation, "Understand the VS Code Agent Host", read October 8, 2026. Microsoft documents host-owned state, snapshots, ordered actions, reconnect behavior, independent execution, client and host roles, and execution placement.
  3. Agent Client Protocol v1, "Cancellation", read October 8, 2026. The protocol documents optional cancellation support, nested activity, pending notifications, response requirements, graceful waiting, and internal cancellation. It is used here to define a general cancellation boundary, not to claim that VS Code's message queue uses ACP.
  4. Agent Client Protocol v1, "Prompt Turn", read October 8, 2026. It defines a prompt turn as a complete interaction cycle and documents streamed session updates, tool activity, plans, and completion results.

Evidence boundary: this page read the named release notes and protocol documentation. It did not install VS Code 1.141, connect to an Agent Host, or steer a live session. The interlock uses synthetic state. Selecting every section makes the record structure complete. It does not send, replace, or cancel a message, stop a process, or verify a host result.