AI Weekender

AI Weekender

When Your Coding Agent Says Done (And Isn’t)

Session fixes for false progress, doom loops, and instruction drift in Claude Code and Cursor (after re-prompting made my stuck sessions worse).

Claudia Ng's avatar
Claudia Ng
May 28, 2026
∙ Paid

In last week’s post, I mapped what’s inside a coding agent and named ten common failure patterns.

I’ve spent hours rephrasing prompts and giving more context, only to end up with the same tool call or the same broken output. The obvious fixes didn’t work, and a few of them actually made the session worse.

In my own experience and in conversations with other engineers, the three failure patterns that keep showing up were:

  • False progress: the agent says done when it isn’t

  • Doom loops: it keeps repeating the same tool call no matter what you type

  • Instruction drift: it stops following the constraints you set

What follows is what I changed for these three patterns, grounded in the OpenDev technical report (arXiv:2603.05344).

Coding agent session diagram: agent marks task complete before the real finish line, illustrating false progress in Claude Code and Cursor workflows.

Why the Obvious Fixes Don’t Work

All three failures sit below the prompt layer in context management and tool execution, not necessarily how clearly you worded the prompt.

In fact, adding more context to a stuck session adds more weight behind the wrong approach.

Below is the full playbook for all three failure patterns. Not more prompting theory, but what I actually run in Claude Code and Cursor:

  • False progress: the session-start template, plus the verification message I send.

  • Doom loops: when to stop re-prompting and what to do instead

  • Instruction drift: the mid-session nudge I paste when scope slips, and the signals I use to split a session.


This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 Claudia Ng · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture