blog

What a runaway Claude Code task costs, and how Clawdline lets you cancel at minute three

A task going the wrong way looks exactly like one going well. Clawdline asks every task it dispatches to state its plan before it starts, which is what moves the decision to minute three.

Handing a job to another agent session feels free. You write a paragraph, a terminal tab opens, and you go back to what you were doing. What is not free is the stretch where the session is wrong and nobody knows yet.

This is from our own dispatch records on one machine: one person’s habits, not an industry statistic. The two most expensive cancelled tasks burned 18.5 million and 16.5 million tokens before anybody could say what they had set off to do.

The question that would have ended both at minute three costs nothing to start asking today.

A task going the wrong way looks exactly like one going well

Both are a tab with text scrolling in it. A session that has understood the job and one that has quietly decided to rewrite your test fixtures look identical.

So you find out by reading. You scroll back far enough to reconstruct what the session decided, which takes a few minutes a tab. And again each time the work moves on. By the time you reach the third of five tabs, the first has been running half an hour.

Reading the output works. It is just the most expensive way to learn something the session could have told you in one sentence. It gets worse with every tab.

The fix is not a better cancel button, it is an earlier question

Cancelling is already easy. Deciding to cancel takes half an hour, so that is the part worth making cheaper. The cheapest information here is one sentence from the session before it starts: what it now understands the job to be.

Before is what makes it worth having. A status note halfway through tells you where the work has got to. A sentence before it tells you where the work is going, while stopping still costs nothing but the tab.

A session that has to stop and compose a status report will not do it. Ask for a report, get silence; ask for a line, get a line.

Minute three

What you have: one sentence, in its own words, saying what it has decided to do
What stopping costs: one tab

Minute twenty-six

What you have: eight hundred lines of output, and a scroll back far enough to reconstruct the decision
What stopping costs: the half hour, and whatever it has already changed
Both sides are the same decision. All that differs is when it reached you. A task going the wrong way and a task going well are both a tab with text scrolling in it — so the expensive thing is never the parallelism, it is the stretch where it is already wrong and nobody knows yet.

Every task Clawdline dispatches is asked that question before it starts

When Clawdline sends a task out, the app writes the briefing itself, and the briefing asks for that sentence within about three minutes. You do not have to remember to ask. One sentence, at most 300 characters; the newest five are kept, and the same sentence twice is ignored rather than refused.

The answer lands on the task’s own record, where more than one person reads it. The session that dispatched it reads it there. So does any other session checking whether the thing it is about to start is already being done. That list includes deliveries finished on a branch nobody has merged, which no git status in the shared checkout will show. A task can also push the answer to you as a notification, at most five times.

What a wrong sentence costs, at worst, is one session. A task Clawdline dispatches cannot dispatch tasks of its own. A wrong plan caught at minute three is one tab to stop, not one task becoming five becoming twenty-five.

We got the channel wrong first. For a while every task was asked to send its sentence over a call to the local machine. In our own records, 133 tasks under a sandboxed assistant sent not one note. That sandbox has no network: the call fails instantly, and nothing about it looks like an error. Over the same stretch, 26 of 40 tasks under the other assistant sent theirs. So the briefing is now written per assistant. A session with no network writes its sentence into a file in its own task directory. If you asked an agent to report and no report came, find out whether it could physically have reported.

Stopping the work is something you can do from your phone. Starting it is not.

Reading the task list is a read, and a paired device may read. Stopping a task is a write. A write from a device needs one switch as well: Let a paired device write into a session, in Settings → Remote. It is off until you turn it on, because writing into a session runs code on your Mac. Dispatching is not on that list at all: sending work out needs the local credential, on the Mac itself.

The asymmetry is what makes a three-minute decision usable: a stolen phone can stop your work and cannot start any. When you do stop a task, the session is asked to leave through its own words, then the tab closes.

What this does not do

The sentence is what the session believes, not a promise. A confidently wrong plan reads as fluently as a right one. What changes is when you read it.

Nothing here is automatic, by choice. The note is not scored, not checked against the task, and never used to stop anything. The app will not cancel on your behalf.

Our own last count is the honest one: 26 of 40 — a third of the sessions that could send it did not. That was before the file fallback existed and has not been measured since, so treat it as a floor.

And a plan is not a result. What a session set off to do says nothing about whether what it delivered was reviewed, landed, or still sitting on a branch. Those are different words with different receipts.

The version you can run tomorrow, with or without us

Put the ask where the agent actually reads it. That is the instructions file it loads at the start of every session, not the prompt you typed once. Ask for one sentence, before the work: what it now understands the job to be. And give it a channel it can reach — a file in its own working directory works inside a sandbox with no network.

Then the part no tool does for you. Decide, before you dispatch, what answer would make you stop it.

The workflows guide covers project rows, dispatch, schedules and delivery in order. Still deciding whether this belongs in your setup? The next post compares this shape with the other tools in the same space.

Common questions

How can you tell an AI coding agent has gone the wrong way?
Not by looking at it. A session that has understood the job and one that has quietly decided to rewrite your test fixtures are both a tab with text scrolling in it, and the output never announces which one you have. The only reading that answers the question is enough of the output to reconstruct what the session decided, which takes minutes per tab and has to be repeated as it goes. The cheaper answer is to make the session say it: one sentence, before the work starts, on what it now understands the job to be. That sentence is fifteen words at minute three instead of eight hundred lines at minute twenty-six, and it is the same information.
How do you cancel a Claude Code or Codex task that has gone wrong?
The mechanical part is not the problem — in Clawdline, stopping a task asks the assistant to leave through its own words and then closes the tab, and it is one of the few things a paired phone or laptop is allowed to do, once Let a paired device write into a session is on in Settings → Remote. The hard part is deciding, because a wrong task looks exactly like a right one until you have read enough output to tell. So the useful change is not a better cancel button, it is an earlier question: every task Clawdline dispatches is asked, in the briefing the app writes for it, for one sentence within about three minutes of starting, before it begins. That sentence is what you cancel on.
How do you keep track of several coding agent sessions at once?
By having each one tell you what it decided rather than by reading what it typed. Every task Clawdline dispatches is a real assistant session in its own terminal tab, with its own task id, its own timeout and its own result file, and the briefing asks it for one sentence about its plan before it starts work. That sentence, at most 300 characters with the newest five kept, lands on the task's record — where the session that dispatched it can read it, and where another session in the same repository sees it when it checks whether the thing it is about to start is already being done by somebody else. None of it is automatic: nothing scores the plan and nothing cancels on your behalf.