2026-10-12
Stop cancels the run, not the next tool call
Cline issue #14981: after Stop, the shared agent runtime still dispatches tool calls already queued in the model’s response, and an editor call can change the file.
A model often returns several tool calls in one response. In Cline’s shared SDK runtime, those calls run one after another, and pressing Stop does not remove the ones still waiting. Cline issue #14981 shows the mechanism. `executeToolCalls()` loops over the prepared calls and hands each to `executePreparedTool()`, which emits `tool-started` and invokes the tool without first checking whether the run was aborted. The abort signal is passed into the tool, but only a tool that reads it will stop. The built-in editor does not.
So if you stop the run while the first call is still working, the runtime waits for it to finish and then starts the queued edit anyway. The file changes, and the run can still report `aborted`. The reproduction, with a scripted model and the real editor executor, is the reporter’s own. Their fix, PR #14982, was still open and unmerged at the time of writing.
Treat Stop as a request, not a guarantee. If an agent can edit files or run commands, work in a checkpoint or a branch you can roll back, and check the workspace after cancelling instead of trusting the status.
Subscribe: /log/feed.xml