Daily Edition Sources +5

An Approval Cannot Outlive the Conversation That Asked for It

Cline fixed a small but revealing failure in its VS Code extension: change a message while a command approval is waiting, and the old run could keep waiting forever—then catch answers meant for the new one.

A torn-paper marker diagram shows an old tool-approval card being denied and unwound before an edited replacement conversation begins, with Cline PR, controller, coordinator, and issue evidence cards and a caveat stamp.
Diagram Punkan unanswered approval belongs to one run; replacing the conversation must close it before the next run can speak.
repo cline/cline evidence
5 source signals 1 repo commit e450cbf
Evidence: commit e450cbf / August 2, 2026 / Daily Edition
Open Edition Evidence below

An agent’s approval question feels temporary: run this command, read that file, make this edit. In cline/cline, the newly merged PR #12836 makes the less obvious contract explicit. If a person edits an earlier message and starts over while that question is still on screen, the old session must receive an answer before the replacement session begins. Otherwise the question belongs to a conversation that no longer does.

The failure was concrete. The cline/cline PR’s reproduction turns command auto-approval off, waits for a “Run Command / Reject” prompt, then edits and resubmits the original message without answering. Before the patch, the old run remained suspended on its approval promise and its parked resolver could intercept later answers. That explains a nearby public report of a skipped tool call leaving the main interface stuck in “Thinking”: the visible tool state and the run’s waiting state can stop agreeing.

The old question needs a real answer

The implementation is only six added lines, but it lands at the right boundary. In the edit-and-regenerate path, Cline now clears pending interactions before calling startNewSession. The coordinator does not merely hide the prompt: its clearPending method resolves a pending question with an empty answer and resolves a pending tool approval as denied, recording the reason first.

That sequence is the point. A replacement session is not a cosmetic refresh; it invalidates an outstanding decision. Cline already used the same cleanup for cancellation, clearing a task, switching tasks, and changing modes. The gap was the one user action that rewrites the premise of the work: “Actually, start again from here.” The patch brings it under the same rule instead of hoping a stale promise will disappear when the interface changes.

The repository’s existing interaction-coordinator test shows what that cleanup means in the smaller case: clearing a pending approval resolves it as approved: false, records the denial, and prevents a later response from resolving the old request. The PR says the VS Code test suite passed 979 tests. That is evidence of a targeted implementation and project test run, not proof that every provider, client surface, or interruption path is now immune to stranded work.

Approval is also a handoff protocol

This is an unglamorous bug, but it is the kind that decides whether an agent can be supervised. An approval is not just a dialog box; it is a live handoff between a person and a particular execution context. If a new context can inherit the old one’s unanswered question, a person may answer the wrong run—or never be told that anything remains alive.

Builders with editable conversations, retries, checkpoints, task switching, or multiple clients should test this exact seam: create a pending approval, supersede the run, then make sure the old promise receives an explicit terminal result before the new run accepts input. The next useful public signal from Cline would be an end-to-end regression for the edit-and-regenerate path itself, across a real tool prompt and the replacement session. Until then, the patch is a precise source-level repair, not a blanket claim about agent safety.

Evidence Trail

Receipts below the story

The article above is the public narrative. This section keeps the source trail and limits on the same page.

Edition
DateAugust 2, 2026
LaneDaily Edition
Confidence78%
Sources5
Reposcline/cline

Primary Evidence

Evidence Limits

  • These sources establish a targeted source-level change and the project’s stated test result. They do not establish that a released extension contains it, that all interrupted agent runs share this cause, or that every Cline host and provider route receives the same cleanup.
  • Watch for a public end-to-end test that performs the edit-and-regenerate sequence against a real pending tool approval and proves that the old run cannot receive the new session’s answer.
Letters & Corrections

Send a note to the desk

Corrections, missing context, or a follow-up lead.