Opus stalls on multi-step tasks: gathers enough material but waits for a nudge instead of delivering
Summary
When Opus 4.x runs as an agent (Claude Code) on a multi-step research/analysis task, it reliably gathers all the material needed to reach a conclusion — and then stops without producing the final deliverable, idling until the user sends another message. It treats "all material gathered" as a waiting point rather than a trigger to deliver.
This is a sibling failure mode to #63629 (over-confirmation / silent blocking), but distinct: nothing is blocking it; it simply fails to recognize that it is time to ship.
Environment
- Model: Opus 4.x (claude-opus-4 series)
- Surface: Claude Code CLI
Repro
- Give the agent a multi-step task (e.g. "research and break down X").
- It reads files / runs tools across several turns, narrating "just N more samples and the report is ready."
- It finishes gathering all supporting material.
- It does not write the report. It ends the turn and waits.
- The user asks an unrelated small question; the agent switches context.
- The original task's main thread is dropped and the deliverable is never produced.
Expected
Once the agent has gathered material sufficient to support the conclusion, it should proceed directly to producing the deliverable in the same turn, without an extra user prompt. Long multi-step tasks should be tracked (e.g. a todo/Task list) so an interruption does not lose the thread.
Actual
The agent stops at the "everything is ready" point and waits for the user to say "continue." If the user is distracted by another question, the task silently stalls. The user has to explicitly ask "why did it stop?" to retrieve the deliverable.
Suggested fix
- Treat "supporting material gathered" as an internal trigger to deliver, not a pause point.
- Register long/multi-step tasks as trackable in-progress state so interruptions can be recovered.
- Recognize self-statements like "just one more and it's ready" as a commitment to finish, not a stopping point.
Notes
Related to #63629 — same theme of agent autonomy / knowing when to act without a nudge.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗