coaching

Reduce interruptions

Stopping the agent mid-task burns tokens and breaks its plan. Front-load context instead.

Updated · · 3 min read

An interruption is a prompt you send while the agent is still working, before it has finished the previous turn. A few are normal. A high rate usually means the opening prompt was under-specified, so you keep course-correcting mid-flight.

When PromptConduit flags this

PromptConduit tracks turns per session from the hook events your assistant emits. A turn opens when you submit a prompt (UserPromptSubmit) and closes when the main agent’s Stop event arrives. A subagent’s stop does not close the turn. If you submit another prompt while the turn is still open, that prompt is counted as an interruption. A hard Esc interrupt during a tool call also marks the turn as open.

The “You interrupt the agent often” warning fires when:

  • Editor extension (live session): the interruption rate is at least 30% and there are at least 2 interruptions, in a session with at least 3 prompts.
  • Web Trends view (7, 30, or 90 days): the rate is at least 30% and there are at least 3 interruptions, across at least 5 prompts in the period.

If the live session is too small to flag anything, the extension falls back to your whole local history (once it has at least 8 prompts) so coaching still appears.

Why it matters

Every request to the model resends the conversation so far. An interruption adds a turn that exists only to say “no, not that”, and the agent then has to re-read context and work out where it was. You pay for that recovery in input tokens, output tokens, and wall-clock time.

There is also a quality cost. An agent that keeps getting redirected rarely finishes a coherent pass through the problem. You get a series of partial attempts instead of one complete one, and each restart is a chance for it to lose a constraint you mentioned earlier.

A high rate is usually a symptom, not the disease. The cause is almost always one of three things: the goal was vague, a constraint was missing, or the approach was never agreed before editing started.

What to do

Front-load the first prompt. State the goal, the constraints, and what “done” looks like. Compare:

fix the login bug
Login fails with a 401 after token refresh. Reproduce with `npm test -- auth`.
Fix it in src/auth/refresh.ts only; don't change the public API.
Done = that test passes and the rest of the auth suite still passes.

The second version answers the questions you would otherwise interrupt to answer.

Agree the approach before editing. For multi-step work, start in plan mode. In Claude Code, press Shift+Tab until the status bar shows plan mode, or run claude --permission-mode plan. Claude reads and proposes without editing your source, and you redirect the plan, not half-finished edits. You can choose No, keep planning to revise it, or press Ctrl+G to edit the plan yourself.

Let it finish, then steer. If the agent is close, let the turn complete and correct in the next prompt. That prompt arrives after Stop, so it is a normal turn rather than an interruption.

Know what your keys do. In Claude Code, Esc stops the current response or tool call and keeps the work done so far. Typing a message and pressing Enter while Claude works queues it instead of stopping the turn. Double Esc on an empty prompt opens the rewind menu if you need to back out entirely.

Write recurring constraints down once. If you keep interrupting to say “use pnpm, not npm” or “don’t touch generated files”, put that in CLAUDE.md so it loads every session.

How to check it worked

Open the editor extension’s coaching tab (PromptConduit: Show Agent Coaching). The Interruptions cell under “How you drove the agent” shows the count and the rate for the live session. It reads as good below 15% and as a warning at 30% or more. The Interruptions / day sparkline in “Your trends” should drift down over a week or two.

If you are signed in, the web Trends view shows the same metric over 7, 30, or 90 days, compared with the previous period. See /docs/editor-extension for setup and /docs/tools for which assistants report the hook events this metric needs. If tool calls are still failing after you stop interrupting, see raise your tool success rate, since a hard stop during a tool call also counts as a failed call.

Frequently asked questions

What counts as an interruption in PromptConduit?

A prompt you submit while the agent's previous turn in the same session is still open, meaning the main agent has not emitted its Stop event yet. A hard Esc interrupt during a tool call also marks the turn as open, so the next prompt counts.

How many interruptions trigger the coaching warning?

In the editor extension, 30% or more of a session's prompts must be interruptions, with at least 2 interruptions and at least 3 prompts. On the web Trends view the bar is 30% with at least 3 interruptions across at least 5 prompts in the selected period.

Does pressing Esc in Claude Code throw away the work?

No. Esc stops the current response or tool call and Claude keeps the work done so far. The call that was running is cut off, though, and the agent has to re-orient around your new instruction.

Is it better to queue a message than to interrupt?

Claude Code lets you type and press Enter while Claude works; the message is queued instead of stopping the turn. Letting the turn finish and then steering is the only pattern that is guaranteed not to count as an interruption.