Skip to main content

Session Memory

Remem supports durable coding memory by storing periodic checkpoints and final rollups as documents. For the turnkey toolkit, use remem-dev-sessions:

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:
remem-codex
Wrapper behavior:
  • periodic interval checkpoints (default 20 min)
  • milestone checkpoint on Codex exit
  • final rollup on exit

Manual checkpoint command

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

remem-dev-sessions rollup \
  --project remem \
  --session-id 2026-02-14-a \
  --summary "Finished session-memory integration + docs refresh" \
  --ingest

Recall examples

CLI recall

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

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.