Ending a Session Without Losing It

The problem: When a session feels done, it usually isn't. The main task is done — but the conversation holds things that were never written to disk. Close the tab, and they are gone.


The asymmetry

Every Claude session has two layers of output:

Planned output — what you came in to do. A document written, a script fixed, a refactor committed. This is what gets done. You know it's there because you asked for it and can see the result.

Discovered output — what emerged in transit. A bug noticed while doing something else. A decision made in passing. A plan that was discussed but not yet acted on. A problem diagnosed but left half-fixed. Context Claude built up about your goals and constraints that is not yet in CLAUDE.md.

Planned output usually survives — you can see it in the files. Discovered output is invisible, living only in the conversation. This is what gets lost.


What "lost" looks like in practice

In one session, the main task was a large repository refactor — moving files, rewriting the build system, updating documentation. That part was done and committed. But at the end, before closing, one question: is there anything we would lose if this session ended now?

That question surfaced three things that had not made it to disk:

  1. A broken featuremap.html (the interactive network graph) had been deleted by a cleanup step and not yet replaced. The pages linking to it would have delivered a 404. The fix took ten minutes; discovering it after the session would have taken much longer.

  2. An unrun command/update-meta-docs had not been run. The session's decisions, including two resolved open questions and a new structural direction, would have no record.

  3. A new principle — an observation made in conversation (the one this document is about) that had not yet been captured anywhere. Without the question, it would have evaporated.

None of these were part of the original task. All three were worth preserving.


The audit habit

Before ending any substantive session, ask — either yourself or Claude directly:

What is in this conversation that is not yet in the files? What would we lose if this session ended right now?

Or more specifically:

This takes two minutes. The alternative is starting the next session with a broken something and no memory of why.


Why /update-meta-docs is necessary but not sufficient

The /update-meta-docs command captures the session's intellectual content — new documents, decisions, conceptual trajectory. It is the systematic part of the audit.

But it does not catch:

The meta-doc update is the floor. The pre-close question is the ceiling.


The general principle

Claude's working memory is not durable. Everything in the conversation — every realisation, every half-made decision, every thing you said "let's come back to that" about — exists only until the session ends.

The files are what persist. The conversation is a workspace, not a record.

A researcher who knows this works differently at session end: not just "is the task done?" but "is the workspace empty?" — meaning: is everything worth keeping either committed to a file or deliberately discarded?

This is the same discipline that good programmers apply to staged changes before a commit, or that good writers apply before closing a draft: one pass to check whether the thing in your head has made it to the page.


Related