Stateless
Nothing carries over on its own: each model request starts from zero, and each new session does too.
A stateless system keeps nothing between calls. The model behind your coding agent is stateless in the strictest sense: every request it answers is a fresh computation over whatever text arrives with it, and when the response is finished, nothing is retained. The 'conversation' you see in Claude Code or Codex is not the model remembering. It is the harness resending the whole transcript on every model provider request.
The same is true one level up. By default an agent is stateless across sessions: close the terminal and the instructions you gave, the files it inspected and the decisions you made together are gone. The felt version is opening a new session, asking it to 'continue', and watching it re-explore the repo from scratch or break a rule you set an hour ago.
Nothing is broken here; this is the baseline you build on. Anything you want to survive has to be written down where the next session will read it: an AGENTS.md file, a memory system, or a handoff artifact. Treat the model as an excellent colleague with total amnesia, and keep the durable state in files.
- Claude CodeThe transcript is resent on every request;
claude --continueor--resumereloads a saved transcript rather than restoring any model memory. - Most tools'memory' features are files or notes the harness re-injects into context; the model itself never remembers anything.
“It fixed the linting rule yesterday. Why is it breaking it again today?”
“New session, new context. The model is stateless, and so is the session unless you write the rule into CLAUDE.md.”
Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.
Start Course 01 →