What a session-start memory list costs on every call
Some memory tools for Claude Code put a list into the start of every session, so the model knows what earlier sessions did. That list rides along on every model call in the session. I measured two of them in November 2026: the claude-mem plugin and my own plain memory index file.
claude-mem's list, measured
On 5 November 2026 I loaded claude-mem (plugin version 15.9.0) for single headless runs on a small test project, model Haiku. To see the overhead I sent the same one-word prompt, "Reply with the single word OK.", with one turn and no tools, twice with the plugin and twice without.
- Without claude-mem: 35,806 input tokens per call
- With claude-mem: 37,525 input tokens per call
- Extra, the same in both runs: about 1,720 input tokens per call
About 1,000 of the extra is the note list with one note in it. With 50 notes it grows to about 1,700 tokens. That cost comes on every call, every turn.
The list was not enough to answer a question on its own. It holds note titles, not facts. In a second session Claude needed claude-mem's search tools and two extra turns to recall a value from the first one. That recall used 114,953 input tokens over 3 turns. The same question without claude-mem used 42,855 tokens in 1 turn (and it couldn't be answered). Tokens saved in this test: none.
The full test, its setup, and what else the plugin did in the background are in the guide Memory across Claude Code sessions, and what it costs.
My own index file, cut down
I keep one memory index file that Claude Code loads at the start of every session. It listed notes for every project I work on, in every session. On 6 November 2026 I counted it at 21,437 characters. I split it into a short index plus four topic index files, which Claude opens only when the task needs one. The file loaded at session start went down to 5,362 characters.
That is about 4,000 tokens less per session, at the usual estimate of four characters per token. I did not count it with a tokenizer, and I did not measure whether recall got worse after the split.
What I take from it
- Count what your session start loads. A list there is paid on every call, not once.
- Keep that list an index. Load the details only when a task needs them.
- claude-mem's list comes on top of your own memory file. In my test, claude-mem's list sat next to mine and replaced nothing.
Tiếng Việt