Pimp My IDE / garage dispatch
Back to garage
October 1, 2026 | agent controls / process custody

A Stop button needs an owner.

The red square in an agent panel may cancel a request, ask another process to stop, or do nothing to work already running elsewhere. The label must name the contract.

Draw the whole brake line. Show the request, the process owner, the acknowledgment, and the observed effect.

Zed removed the wrong brake.

Zed 1.22 removed Stop controls from terminals managed by an external agent. The related change explains why. Provider terminal metadata creates a display buffer, not a process owned by the editor client. The old path treated the buffer like a local task, reported completion too early, and discarded the provider's exit status.[1][2]

Removing a button can improve control. A visible Stop that cannot reach the running process teaches the wrong ownership model. Zed kept local process kill behavior and cleanup where the client still owns them. It removed the control where the agent owns the terminal lifecycle.

A brake on the display is not a brake on the process.

Cancel is a request with a result.

The Agent Client Protocol defines $/cancel_request because JSON-RPC has no standard cancellation mechanism. Support is optional. A receiving implementation may cancel the request and nested activity. It must still answer the original request with a result or a cancellation error.[3]

This gives the interface a precise claim to make. The client sent a cancellation request. It does not yet prove that every child process stopped or that an earlier side effect was reversed. The acknowledgment and the observed effect need separate places in the UI.

Terminal custody is explicit.

ACP terminal methods put command execution in the client environment. The client returns a terminal ID. The agent may read output, wait for exit, kill the command, and release the terminal. The protocol says the agent must release the terminal when it no longer needs it.[4]

That route differs from a provider-owned terminal shown inside the editor. The pixels may look identical. The kill authority is not. A useful terminal card should expose the owner and the available action instead of drawing the same Stop control on every stream.

Agent hosts make custody visible work.

VS Code 1.140 says its Copilot harness runs in a dedicated agent-host process. The same release adds experimental delegation to connected remote agent hosts. One interface can now watch work that lives in another process or on another machine.[5]

The product lesson is simple. Put the control beside the layer it can reach. If the editor can only request cancellation, label it Request stop. If a host owns the process, name that host. Keep Stopped for a state backed by an acknowledgment and an observed effect.

Interactive makeover / stop custody brake

Trace the brake line before you label it Stop

Traditional purpose replaced: one Stop button on a terminal card. Better version: an owner selector, ordered custody checks, a connected hydraulic line, and a copyable drill card.

Choose the process owner

This teaching demo drafts a stop drill. It does not cancel a request or kill a process.

Execution owner
Ordered brake checks

Selected checks define the drill card. They do not prove a live request stopped.

Hydraulic route / custody line

Stop circuit

Client / blocked

Four drill fields are open.

Name the request before choosing where to send the stop signal.

One brake / four witnesses

Match each status word to evidence.

01 / REQUEST

Name the target

Attach the control to a request, turn, terminal, job, or process ID.

02 / OWNER

Route to custody

Send the signal to the process that owns execution. A display buffer is not that process.

03 / ACK

Keep the response

Record the cancellation result, exit status, timeout, or refusal.

04 / EFFECT

Inspect what remains

Check child work, files, network actions, locks, and cleanup before saying stopped.

Sources read

Source log and evidence boundary
  1. Zed 1.22.0 release notes, read October 1, 2026. The release says external-agent terminals no longer show Stop controls because those terminals are controlled by the agent rather than a local process.
  2. Zed pull request 64544, "Fix provider-owned terminal lifecycle", read October 1, 2026. The merged change distinguishes a provider terminal display buffer from a client-owned process. It preserves local wait, kill, PTY release, and sandbox cleanup behavior.
  3. Agent Client Protocol v1, "Cancellation", read October 1, 2026. The page defines $/cancel_request, makes cancellation support optional, and requires a response to the original request.
  4. Agent Client Protocol v1, "Terminals", read October 1, 2026. The page documents client-hosted command execution, terminal IDs, output, wait, kill, and release methods.
  5. Visual Studio Code 1.140 release notes, read October 1, 2026. The release says the Copilot harness runs in a dedicated agent-host process and introduces experimental delegation to connected remote agent hosts.
  6. Hacker News item 49921010 and Bivy repository, opened October 1, 2026. The project is a current example of driving coding agents on other machines from a phone or browser. It helped confirm that control surfaces are moving farther from process owners. We did not use its behavior as evidence for Zed, ACP, or VS Code.

Evidence boundary: The Zed sources document one ownership fix. ACP documents protocol behavior. VS Code documents its agent-host design. The four-witness brake line and drill card are Pimp My IDE editorial guidance. We did not run Zed, an ACP agent, VS Code 1.140, or Bivy in this pass.