The symptom

Sixty messages in, the model starts forgetting decisions you made earlier, reintroduces bugs you already fixed, contradicts its own advice, or hits a hard limit and refuses.

What's happening

Everything in the conversation competes for a fixed amount of attention. A long thread contains your current problem plus every wrong turn, abandoned approach and superseded version — and all of it is being read as equally relevant.

The wrong turns are the real damage. The model has read its own bad guesses and stays near them.

The fix: start a fresh chat

Not a continuation. A new one, with a clean handover.

Before you leave the old thread, ask it to write the handover for you:

handover.txt
I'm starting a fresh conversation to continue this work. Write me a
handover brief containing:

- What we're building, in three sentences.
- The stack and any constraints I've stated.
- Decisions we made and why — especially anything we tried and
  rejected, so I don't repeat it.
- The current state: what works, what doesn't.
- The exact next step.

Write it for someone who has never seen this conversation. No
pleasantries, just the facts they need.

Paste that into the new chat with your current code. You'll usually get better answers within two messages.

Do it before you have to

Don't wait for the quality to drop. Reasonable moments to start fresh: after finishing a feature, after a long debugging session that ended in a fix, and any time you notice the model repeating something you've already rejected.

Keep the handover file

Save it in your project. Update it as you go. It becomes your project's memory — the thing you paste at the start of every session, so no conversation ever needs to be long. That's the same idea as a context primer, just maintained rather than rewritten.

A short conversation with a good primer beats a long conversation with full history, nearly every time.