blog · Jul 7, 2026 · ImmorTerm

The memory that reads over Claude's shoulder

ImmorTerm Memory digests every Claude Code session as it happens and injects the relevant past into the next one — ~8ms, on-device, before you ask. How the hooks, the digester, and the 41 MCP tools actually work.

Every AI session is born yesterday. Tuesday you spent an hour landing on rotating refresh tokens; Thursday you explain it again, from scratch, to the same tool. The standard fix is CLAUDE.md — a sticky note taped to the monitor of your most expensive collaborator, re-read top to bottom every single turn. ImmorTerm Memory is the other approach: it reads over Claude’s shoulder, digests the session while it happens, and hands the next session the relevant past before you type a question.

Ambient, not on-demand

Memory libraries — Mem0, Zep, and friends — are APIs. Your agent has to remember to call them, which means the memory itself has a to-do list. Most live in the cloud, so every lookup is a 100–500ms round trip with an API key attached, and they hold only what the agent thought to save at the time.

ImmorTerm points the arrow the other way. immorterm memory install wires Claude Code hooks once; from then on a digester — a LangGraph pipeline with Claude doing the extraction — reads every session as it happens and files the decisions, the root causes, and the dead ends. There’s no end-of-session ceremony and nothing to author. Capture happens whether anyone asks or not.

Recall before you ask

Recall is a hook too. When a session starts, the relevant memories are searched and injected into context ahead of your first prompt — Claude arrives pre-briefed instead of checking its notes on request. A query takes about 8 milliseconds, on your machine.

immorterm — session start
$ claude
recalled 3 memories (8ms) — tuesday you chose rotating refresh tokens.
loading it before you ask.

When the repo changes its mind

A memory that never updates is worse than no memory. When a decision is reversed — the auth flow changed, the ORM got swapped — the digester supersedes the old memory: it’s chained beneath the new one, not surfaced. You get the current truth by default and the full history when you ask. Recall is also branch-aware and code-bound — memories know which branch and which files they were minted against, so what surfaces is scoped to the code you’re actually touching.

Local-first is a mechanism, not a promise

The pipeline runs on your machine end to end: WAL-durable SQLite for storage, on-device embeddings and reranking, hybrid retrieval underneath. No API key for recall and no network round trip — which is most of the reason 8ms is possible at all. Nothing you type, run, or decide leaves the machine.

41 tools, when you want to dig

Recall is ambient, but the memory isn’t a black box. It exposes 41 MCP tools to you and your agent both: search and filter by date, category, session, branch, file, or entity; pull the conversation context that surrounded any memory; inspect, edit, or delete anything it holds. The default is hands-free; the escape hatch is fully manual.

What Free actually gets

Everything is captured and kept forever on every tier — the gate is a window, never a purge. On Free, recall reads 5 results from the last 72 hours. Memory Pro ($9/mo) lifts the memory caps; Pro ($29/mo) is the whole tank: the terminal that doesn’t die and the memory that doesn’t wait, one organism.

Try it

macOS and Linux, one package. Claude Code today, with the deepest integration.

If your sessions are also in the habit of dying with your editor, start with Your terminal died 47 times this month. Did you notice?

local-first · ~8ms recall · claude code native