The failure: you ask Cursor to fix an error. It "fixes" it, something else breaks, you paste the new error, and 40 minutes later the project is worse than when you started. That's an agent loop. More prompting won't end it, because the AI is building on its own wrong guess.
The fix: stop, undo, restate, go smaller
1. Stop sending messages. Every extra "still broken" makes the chat context messier.
2. Undo back to the last working state. Click Undo (Reject) on pending diffs. If you already clicked Keep, hover your last good chat message and click Restore Checkpoint.
3. Paste this into the same chat (or a fresh one):
Stop. We're going in circles. Don't change any files.
1. In 2 sentences, tell me what you think I'm asking for.
2. Tell me what you tried and why it didn't work.
3. Suggest ONE different, simpler approach.
4. Ask me one question if you're missing information.
4. Read the answer. If its 2-sentence summary of your request is wrong, that's the bug. Correct it in plain words.
5. Open a new chat if the old one is past about 20 messages. Paste only: what you want, the one error message, and the file name. Old chat history is often what's poisoning it.
6. Approve one small step. Tell it: "Only touch one file. Make the smallest change. Tell me the command to see it work." Run it before you click Keep.
How to tell you're looping
- The same error comes back with different wording.
- The AI changes files you didn't mention.
- It says "Done!" and you haven't seen it work.
Any one of these? Go back to step 1.
Prevent it next time
Three habits do most of the work: one request per message, a plan before code, and checking the result before Keep. The free teaser has the 5-point review card that covers the last two. The pack has the unstick prompt, the plan-first prompt, and rules that make Cursor stay small by default.