SnapshotJuly 2026a point-in-time write-up, left as written

The stateless machine

Every conversation looks continuous. It isn’t. Each turn re-sends everything.

A useful mental model:

output = f(training, prompt, tools / RAG, reasoning)

Four inputs shape every response: what the model was trained on, what’s in the prompt, what it retrieved via tools, and how much reasoning effort it spent. The model has no memory between turns. What feels like memory is your harness re-submitting the prior conversation, instructions, and any retrieved context on every request.

What actually crosses the wire

On each turn, Claude Code builds a fresh request containing:

The model receives that whole payload, produces a response, and returns nothing stateful. The next turn starts the same construction from scratch.

Why the four inputs matter

Each input is independent. Improving any of them improves the output. Most quality gains, in practice, come from sharpening the middle two: what’s in the prompt and what the model retrieved.

“Memory” is just re-submission

“Memory” features in LLM products (including anything that lets Claude “remember” a fact across sessions) are syntactic sugar over re-submission. Behind the scenes, they store text somewhere (a file, a database, a session log) and inject it into the prompt on future turns. There’s no persistent state inside the model.

This is why rewinding works the way it does (see Talking to Claude). There’s nothing inside the model to undo; rewinding just re-builds the prompt without the bad exchange.

Implications

Resources