> ## Documentation Index
> Fetch the complete documentation index at: https://agent-harness101.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seven state stores

> Seven stores, each holding one kind of state — reassembled per turn.

## The question

Concretely — what does "separate state" look like in a real build?

## The answer

Seven stores, each holding one kind of state — reassembled per turn.

### Conversation history

`JSONL · ~/.claude/projects/`

Lets a session resume exactly where it left off

### Task state

`JSON · ~/.claude/tasks/`

What's actually checked each step, not the full history

### Persistent memory

`Markdown · project's memory/`

Lessons carry into future sessions, not just this one

### Subagent history

`JSONL · nested under parent session`

Full exploration trail kept, without re-entering the parent's context

### File recovery

`Snapshots · ~/.claude/file-history/`

Undo an edit even if it was never committed to git

### Configuration

`settings.json`

Model/permissions persist without entering the reasoning context

### Code

`Stays in the repo — never copied into permanent model memory`

It's the actual deliverable; a memory of it would go stale

```mermaid theme={null}
flowchart LR
n0["Session record"]
n1["Task + memory + files"]
n2["Context builder"]
n3["Working context"]
n0 --> n1
n1 --> n2
n2 --> n3
```

### Source

[Observed in Claude Code's local \~/.claude directory](https://code.claude.com/docs) — The JSONL session logs are independently confirmed by community tooling; treat exact paths as the observed layout of a specific version, not a documented stable API.

## Continue the walkthrough

<Card title="Why not one blob" icon="arrow-right" href="/context/why-not-one-blob">
  Continue to topic 5 of 14.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.