> ## Documentation Index
> Fetch the complete documentation index at: https://docs.remem.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Session Memory

> Durable coding-session checkpoints and rollups across Claude and Codex.

# Session Memory

Remem supports durable coding memory by storing periodic checkpoints and final rollups as documents.

For the turnkey toolkit, use **`remem-dev-sessions`**:

* Repo: [`asimgilani/remem-memory`](https://github.com/asimgilani/remem-memory)
* Claude: plugin + hooks
* Codex: wrapper + skill + optional MCP config helper

## What gets stored

Session memory stores **structured summaries**, not raw full transcripts.

Typical checkpoint payload includes:

* project
* session ID
* checkpoint kind (`interval`, `milestone`, `final`, `manual`)
* summary text
* files touched
* decisions / next actions (if provided)

This keeps memory high-signal for future recall.

## Metadata convention

Use these keys for reliable filtering:

* `project`
* `session_id`
* `checkpoint_kind`

They map to query filters:

* `checkpoint_project`
* `checkpoint_session`
* `checkpoint_kinds`

## Claude workflow (auto)

In Claude Code, install the `remem-dev-sessions` plugin and restart. Hooks emit:

* interval checkpoints on tool activity
* milestone checkpoint on stop
* final rollup on session end

## Codex workflow (auto)

In Codex, launch via wrapper in your project folder:

```bash theme={null}
remem-codex
```

Wrapper behavior:

* periodic interval checkpoints (default 20 min)
* milestone checkpoint on Codex exit
* final rollup on exit

## Manual checkpoint command

```bash theme={null}
remem-dev-sessions checkpoint \
  --project remem \
  --session-id 2026-02-14-a \
  --kind interval \
  --summary "Updated query filters and docs." \
  --decision "Keep API-key data plane unchanged" \
  --next-action "Ship docs-site updates" \
  --ingest
```

## Manual rollup command

```bash theme={null}
remem-dev-sessions rollup \
  --project remem \
  --session-id 2026-02-14-a \
  --summary "Finished session-memory integration + docs refresh" \
  --ingest
```

## Recall examples

### CLI recall

```bash theme={null}
remem-dev-sessions recall \
  --query "What issues did we hit last Tuesday?" \
  --mode rich \
  --synthesize \
  --checkpoint-project remem \
  --checkpoint-session 2026-02-14-a
```

### Raw API recall

```bash theme={null}
curl -X POST https://api.remem.io/v1/query \
  -H "Content-Type: application/json" \
  -H "X-API-Key: vlt_..." \
  -d '{
    "query": "What did we decide about MCP filters?",
    "mode": "rich",
    "synthesize": true,
    "filters": {
      "checkpoint_project": ["remem"],
      "checkpoint_session": ["2026-02-14-a"]
    }
  }'
```

## Practical guidance

* Use a fresh `session_id` per coding session.
* Prefer plain-English summaries over raw transcript dumps.
* Keep project naming stable (`project: remem`, `project: hive`, etc.).
* If you change API key env vars, rerun install scripts so wrapper/MCP envs stay in sync.
