Skip to content

devlog/agent-loops/your-coding-agent-is-still-running-interrupt-it-268.md

Your Coding Agent Is Still Running. Interrupt It?

Interrupt the wrong trajectory, not a quiet terminal

The agent has been running for six minutes. Your editor shows three modified files, the terminal is quiet, and you are wondering whether to hit Escape. I know that moment: waiting feels irresponsible, but interrupting can turn a coherent patch into half a migration.

My rule is simple: interrupt when new evidence invalidates the plan, not merely when progress becomes invisible. Here is the side-by-side comparison I use while an agent works in a disposable branch or worktree.

A failing test: wrong target or useful investigation?

  • Interrupt when the agent changes assertions to accommodate broken behavior instead of fixing the implementation.
  • Let it run when it reproduces the failure, traces the relevant call path, and tests a specific hypothesis.

Suppose the task is to preserve timezone offsets during timestamp parsing. If the agent removes the offset assertion, stop it immediately. Say: “Keep the existing contract. Fix parsing, and add a regression test for a negative offset.” That is a correction with an observable finish line.

If it is reading the parser, checking callers, and running the focused test, leave it alone. Exploration is work. A few unsuccessful hypotheses are not evidence that the task needs your keyboard.

A growing diff: necessary plumbing or scope creep?

  • Interrupt when a small bug fix expands into unrelated formatting, dependency upgrades, or public API changes.
  • Let it run when each additional file supports the requested behavior and has an explainable dependency.

A retry fix can legitimately touch configuration, transport code, and tests. File count alone is a poor alarm. Review the diff for causality: can you explain why each change exists?

In another terminal, I use git diff --stat first, then inspect the actual patch. If the agent starts replacing the HTTP client because it dislikes the current abstraction, I stop it: “Keep the current client. Limit this patch to retry behavior and tests.”

A long command: productive waiting or an approval boundary?

  • Interrupt when the next action could delete data, expose secrets, deploy changes, or modify shared infrastructure without approval.
  • Let it run when a known build or test command remains active within an agreed time budget.

A quiet integration suite is different from a database reset. Before starting, define the sandbox: local files are writable, production credentials are unavailable, and destructive commands require confirmation. Enforce that with permissions or tool controls where possible; a prompt is not a security boundary.

For long jobs, agree on a checkpoint rather than repeatedly asking for status. “Run the targeted suite; if it exceeds five minutes, report the active command and last output.” Adjust that threshold to the repository, not your patience.

A repeating loop: another attempt or missing information?

  • Interrupt when the agent repeats substantially identical commands without incorporating their errors into a changed hypothesis.
  • Let it run when each attempt tests something different and produces evidence that narrows the problem.

Three retries against the same authentication failure usually need a credential check, not more creativity. Give the missing fact or narrow the task. Avoid “try harder”; specify what evidence should change the next action.

I use the same checkpoints whether a session runs Claude Sonnet 5.5 or GPT-6.1 Sol. Model choice does not replace boundaries, and switching models mid-loop is less useful than identifying the assumption that failed.

Token visibility helps set checkpoints, not panic buttons

Fluxo fits this editor-and-terminal workflow with one key and one base URL, https://api.fluxorelay.com, for Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Qwen, Grok, and more. It works with Claude Code, Codex, Gemini CLI, and any OpenAI SDK.

Billing is per real token, including cache reads and writes, with no monthly fee. That makes a task budget worth setting, but elapsed time alone does not tell you token spend. If that setup suits your workflow, consider creating a Fluxo account. Users also earn a referral share when people they invite pay.

The verdict: supervise decisions, not every keystroke

Interrupt for a broken contract, unjustified scope, repeated reasoning failures, or an unapproved risk. Otherwise, let the agent reach its next agreed checkpoint. The best intervention changes its information or constraints; the worst merely restarts its concentration.

Next in the buffer

Sign up in a minute and get credit to try every model mentioned here. Sign up →