Claude Code
Give Claude Code a memory that outlasts the session — on the free plan, with one command.
Claude Code starts every session knowing nothing it learned in the last one. GitLoom gives it a memory to save to and recall from, over MCP. The memory is a git repository: every fact it keeps has a commit, so you can see when it learned something and what it replaced.
This works on the free plan. No card and no CLI — just an API key
and npx.
1. Get an API key
Create an account at app.gitloom.cloud, open API Keys, and create one. It is shown once, so copy it before you leave the page.
The free plan covers 500 writes and 10,000 retrievals a month, at up to 60
retrievals a minute. Each save_memory call is one write.
2. Add GitLoom to Claude Code
claude mcp add gitloom --scope user \
-e GITLOOM_API_KEY=gl_live_... \
-- npx -y @gitloomhq/mcp
--scope user makes the memory available in every project. With
--scope project the server waits for you to approve it the first time you run
claude in that directory, and your key lands in .mcp.json — don't commit that
file.
Check the connection:
claude mcp list
gitloom: npx -y @gitloomhq/mcp - ✔ Connected
The first check downloads the server, so it takes a few seconds.
3. Tell Claude Code to use it
Claude Code has a memory of its own: per-project files on your machine. With
nothing telling it otherwise, "remember this" goes there instead of to GitLoom.
That is what we saw in testing. Add this to your project's CLAUDE.md:
# Memory
This project's long-term memory is GitLoom, over MCP. Before starting a task, call
`recall_memory` with a short description of it, so you pick up conventions and past
decisions. Before answering a question about the project, its infrastructure or past
decisions, call `recall_memory` with the question. When told to remember something,
call `save_memory`.
With it in place, our test sessions saved "remember this" to GitLoom, searched GitLoom before answering a question about the project, and looked up a stored team convention before writing code, then followed it. Without the snippet, the same coding task went ahead without checking. That is what we observed, not a guarantee: the model still decides when to call a tool.
4. What Claude Code can now do
| tool | what it does | arguments |
|---|---|---|
save_memory |
keeps one fact | fact, optionally tags and occurred_at |
recall_memory |
searches what has been kept | query, optionally tags, since, until, time_field, tiers and paths |
find_skill |
finds a stored procedure for a task | task |
A saved fact is searchable a few seconds after it is saved: extraction runs after the call returns, not during it.
Ask "what did we decide in August?" and Claude Code can bound the recall to when things happened rather than when they were saved:
{"query": "decisions", "since": "2026-08-01", "until": "2026-08-31", "time_field": "occurred"}
With filters and no query, recall_memory lists everything they match. Each
memory comes back starting with the day it happened, such as [2026-08-14], so
the model sees when it happened rather than when it was saved. The
MCP page has the formats.
One memory per project
Everything goes to your account's default namespace. To keep a project's
memory apart, create a namespace for it (see
Namespaces) and add -e GITLOOM_NAMESPACE=<name> to
the command above.
Reading what it remembered
Every fact is a markdown file in a git repository. Browse them in the dashboard's Memory Graph, or read one by its path:
curl -s -G "https://api.gitloom.cloud/v1/memories" \
-H "Authorization: Bearer $GITLOOM_API_KEY" \
--data-urlencode "path=facts/..."