PAUSE: Search-Free Steering of Coding Agents Before Their First Source-Code Edit
TL;DR Highlight
One pre-edit plan from a separate Planner lifted SWE-bench resolution by up to 16.8 points.
Who Should Read
Developers running SWE-agent or OpenHands-style coding agents who see many failed patches and find per-step supervisor model calls too expensive.
Core Mechanics
- Intervene once, right before the first source edit
- PAUSE blocks the agent's first source-code edit request, and a separate Planner writes a repair plan.
- The same agent (Executor) resumes with its conversation and workspace intact.
- Finding the timing costs nothing
- The trigger is an editor request whose target path is a source-code path.
- No monitor model, checkpoint search, or extra model call is needed, which the paper calls search-free.
- Agents investigate a lot before editing
- In 500 Qwen3-coder runs, the first source edit came at a median of 60% of trajectory progress.
- Most of the earlier work was reading code, reproducing bugs, and testing.
- Close to periodic oversight at a fraction of the cost
- The resolution gap to SICA (a periodic trajectory reviewer) was not statistically significant.
- Planner cost was about 11% (Verified) and 15% (Multilingual) of SICA's.
- Planner quality decides the outcome
- Using the Executor's own model as Planner barely increased recovery.
- Stronger Planners recovered far more failed runs.
- Failed runs can be reused
- Roll a failed trajectory back to just before the first source edit, add a plan, and continue.
- This uses fewer Executor tokens than restarting from scratch.
Evidence
- SWE-agent + Qwen3-coder, GPT-5.6 Sol Planner
- Verified resolution rose 50.2%→65.0% (+14.8 pts) and Multilingual 28.3%→43.0% (+14.7 pts).
- OpenHands Verified went 45.4%→62.2% (+16.8 pts) and Pi went 37.0%→43.0% (+6.0 pts).
- Versus LivePlan and SICA (SWE-agent, Verified)
- LivePlan got 61.8% at $26.10 Planner cost versus PAUSE's 65.0% at $26.13, with p=0.11 (not significant).
- SICA got 67.6% at $231.71 versus PAUSE's 65.0% at $26.13, with p=0.18 (not significant).
- Hard tasks (Verified, 45 tasks)
- The unmodified Executor solved 11.1%, PAUSE 26.7%, and SICA 17.8%.
- PAUSE's Planner cost was $3.06 versus SICA's $29.53.
- Offline recovery (OpenHands, 223 Qwen3-coder failures)
- A GPT-5.6 Sol plan recovered 79 (35.4%) versus 9 (4.0%) when continuing with no plan.
- Using the Executor's own model as Planner recovered 12 (5.4%), and resuming used 33–41% fewer Executor tokens than restarting in the full-benchmark evaluation.
How to Apply
- Run the plan prompt on a failed agent log
- Take one failed coding-agent run and cut its log at just before the first source edit.
- Paste the issue and log into the prompt below and check that a usable plan comes out.
- Hook the edit tool call
- Check whether your harness lets you intercept file-edit requests before they execute.
- Block once when the target is a source path (not tests or repro scripts) and call the Planner.
- Pick a Planner stronger than the agent
- Give the Planner no tools or workspace access, only the issue and the pre-edit record.
- A same-model Planner helped little, so A/B test a stronger model.
- Resume failed runs from the pre-edit point
- Restore the failed trajectory to the last think step before the first source edit.
- Append the plan as a user message and continue with the remaining budget.
Try It
# Paste into Claude or ChatGPT (simplified version of the paper's method: a tool-less Planner role)
You are a Planner with no tool access. Read only the issue below and the record the coding agent left up to just before its first source-code edit, then write one repair plan.
[Issue]
{{issue description}}
[Pre-edit record: code read, commands and outputs, agent reasoning]
{{agent log}}
Answer in natural language with:
1. The most likely root cause
2. The code location that needs to change
3. The intended repair and its rationale
Mark anything not confirmed by the record as a hypothesis.
Next step: paste the output into the agent's conversation as a user message and let the same agent continue the fix.Terminology
Related Papers
AI isn't replacing SREs, it's deskilling them
Letting AI handle 95% of incidents may dull the skills SREs need for the critical 5%.
Backdoor in Claude Code for VS Code extension on the Cursor Marketplace
A tampered Claude Code extension on Cursor Marketplace planted an SSH backdoor
Building an AI-native engineering org
Automating each shipping step raised merges per engineer about 5x with reverts under 0.5%
We ran AI agent swarms in Minecraft and Mindustry
We put 50 agents in Minecraft and they invented ration ledgers and bureaucracy.
The Agent SDK
Cursor released Agent SDK, letting you define agents in code and deploy them with one command.
Here be monsters: What do you still need to know when agents do the work?
Owning agent-written code depends on fundamentals, breadth, and diving deep just in time.
AI promised less work. I've never worked more
Running agents in parallel brought my GitHub activity back to full-time engineer levels, and I'm exhausted.
Show HN: Corgi, a helpful {agent, terminal} multiplexer
A tmux-like terminal tool that shows the status of all your AI agents at a glance
Original Abstract (Expand)
Coding agents can invest substantial effort in repository exploration and testing yet still produce unsuccessful patches. Existing online steering methods review trajectories periodically or invoke an advisor when a monitor detects behavioral problems; frequent reviews are costly, and the absence of anomalous behavior does not mean that an agent is on the right track. We propose PAUSE, a framework for steering coding agents with a single planning intervention. Agents reach their first source-code edit at a median of 60% of trajectory progress, after exploration, bug reproduction, and testing. PAUSE intercepts this edit request before it executes, which requires no learned monitor, no search over checkpoints, and no extra model call (search-free). A separate Planner reads the task and the pre-edit transcript and writes one repair plan; the same agent, the Executor, resumes with this plan, keeping its context and workspace. PAUSE applies online, during a live run, and offline, from a recorded trajectory prefix. We evaluate PAUSE on SWE-bench Verified and SWE-bench Multilingual with two Executors and three agent harnesses. With Qwen3-coder as Executor and GPT-5.6 Sol as Planner, online steering improves resolution by 16.8% on Verified in OpenHands and by 14.7% on Multilingual in SWE-agent. In SWE-agent, PAUSE outperforms LivePlan, a rule-triggered advisor, by 3.2% on Verified and 3.7% on Multilingual at similar Planner cost, and is comparable to SICA's periodic overseer at about 11-15% of its Planner cost. Offline, PAUSE recovers 35.4% of eligible failed Verified tasks, and resuming from the recorded prefix uses 33-41% fewer Executor tokens than restarting.