Skip to main content

Overview

Every Claude Code session is a JSONL file under ~/.claude/projects. Both memloom import sessions and memloom connect claude-code turn them into memories through the same pipeline. They differ only in trigger: one runs on demand over past sessions, the other installs a session-end hook so each session is distilled as it finishes.

Redacted first

Secret-shaped strings are scrubbed before anything leaves your machine.

Same belief pipeline

Distilled memories dedup, version and conflict exactly like hand-saved ones.

Traceable

Every memory keeps the session, the line range, and the excerpt it came from.

The pipeline

Discover

UUID-named main transcripts only, inside --days (14) and --sessions (20). Subagent sidecars are skipped. A file touched in the last 5 minutes is still being written, so it waits for the next run. Anything left out is reported.

Parse

User and assistant text only. Tool calls, tool results, subagent turns, meta lines and compaction summaries are dropped before the model sees them. Line numbers are kept.

Redact

A regex scrub for JWTs, vendor key formats, KEY=value assignments and credentialed URLs.

Distill

Chunks of about 24,000 characters, one model call each, returning typed memories with a line range. Output that does not parse into a known type is dropped and counted.

Save

Through the normal belief pipeline, with a provenance row recording where it came from.
Redaction is pattern-based and best-effort. Review sensitive sessions with --dry-run and the viewer rather than treating it as a hard boundary.
The distiller treats the transcript as untrusted data. Instructions inside a fetched page or a tool’s output are text a transcript happens to contain, not instructions to follow.

Conflicts get one extra step

Distilled memories go through the same belief pipeline as anything else. Import adds one thing: because a distilled memory carries its transcript excerpt, a contradiction is judged once, immediately, by a model that can read that excerpt. Nothing bypasses your review. It only saves you from resolving conflicts the transcript already answered.

Re-running is cheap

A ledger tracks how far each session was processed: a line offset and a content hash.

Continuous capture

The same pipeline, triggered by a session-end hook that hands the daemon one file path the moment Claude Code exits, skipping discovery. A daily cap on unattended distillation means a runaway loop cannot quietly spend your budget, and memloom status says so when the cap is hit. See Import.