Skip to content
For Claude Code

DS-ReCall: we stopped leaving memory to guesswork.

We open-sourced the curated memory discipline Devsoy has run its own projects on for months — a Claude Code memory plugin. Zero AI calls, 100% local, MIT licensed.

View on GitHub How It Works

We wanted to see what the AI forgot

Claude Code's built-in auto-memory is useful but uncurated: the AI summarizes and compresses, and you can't always tell exactly what got dropped. Running dozens of projects (a finance terminal, a real-estate valuation platform, client CRMs) through the same assistant, that became a real risk for us — we needed a real answer to "did the agent invent this, or did I just miss something."

DS-ReCall is that answer: a discipline layer that runs on zero model calls, fully deterministic. We're not competing with automatic memory tools — they're more mature on the "effortless" axis. We stand on a different axis: you always see exactly what's kept.

ZERO
AI calls
Deterministic — no hallucination risk
100%
Runs locally
Data never leaves your machine, zero telemetry
MIT
Open source
Free to inspect and fork

Five building blocks

DS-ReCall doesn't reinvent storage — Claude Code already loads CLAUDE.md and .claude/rules/ every session. DS-ReCall curates that native layer.

1. Capture

Every session opens with an auto-stub, injects the current system clock (anti date-hallucination), and quietly nudges you if an earlier session is still unconsolidated.

2. Consolidate

/ds-recall:wrap — melts the session into canon: decisions to the log, index refreshed, rules updated. Every line carries a status tag.

3. Validate

Integrity check: broken links, orphan files, unindexed sessions. Runs automatically on every git commit and blocks the commit while integrity is failing.

4. Concurrency

Per-session locks plus a guard against clobbering writes to shared canon. Multiple sessions can safely work on the same project at once.

5. Visualize

/ds-recall:graph — clusters sessions into planets by topic tag; every still-unconsolidated session stays visible on one "Needs Wrap" hot-spot.

See your memory, don't guess at it

Zero dependencies, zero build — self-contained Canvas 2D. The screenshot below is generated from a synthetic demo dataset, not a real project.

DS-ReCall live memory graph demo view
DS-RECALL · github.com/toresoysal/ds-recall

Not every tool solves the same problem

Automatic compression tools like claude-mem and Anthropic's own Remember plugin are more mature on the "effortless" axis. DS-ReCall picks a different axis.

Auto-compression (Remember, claude-mem)DS-ReCall
CurationAI summarizes/compresses for youYou (or Claude, explicitly, at /wrap) decide
Cost per sessionA model callZero — hooks are plain Node.js, no model call, ever
When memory grows too bigCommonly a silent truncation — nothing tells you it happenedA visible size-warning, every time
Multi-session safetyNot a headline feature of the tools we looked atPer-session locks + a commit-gate that blocks while integrity fails
Setup costZero — fully automaticOne explicit step per session (/wrap) — real, deliberate friction

Honest bottom line: if you want memory that just works with zero thought, the automatic tools are more mature — use them. DS-ReCall is for when you want to decide what the AI keeps and drops yourself, when you share a CLAUDE.md across people/sessions, or when a client-facing project needs a real answer to "what did the AI make up."

Get started in 4 steps

  1. Load the pluginTest locally with claude --plugin-dir ./ds-recall, validate with claude plugin validate ./ds-recall.
  2. Turn off built-in auto-memory"autoMemoryEnabled": false in your project's .claude/settings.json — if you forget, SessionStart reminds you every session.
  3. Copy the templatestemplates/CLAUDE.md, templates/DECISIONS.md, templates/ds-recall.config.json and scripts/validate.js into your project.
  4. Start using it/ds-recall:wrap to close a session, /ds-recall:status for a health check, /ds-recall:graph to open the map.
github.com/toresoysal/ds-recall

Why I'm sharing this

At Devsoy, we run dozens of unrelated projects through a single assistant — a finance terminal, a real-estate valuation platform, client CRMs, social media operations. All of it flows through the same Claude Code sessions. At some point I had to ask myself honestly: when the assistant tells me something, how do I know whether it's an actual recorded fact or something invented on the spot?

The answer was uncomfortable: I didn't know. Built-in auto-memory is useful but uncurated — the assistant takes notes, over time those notes drift from the rules I wrote by hand, and once they drift the assistant arbitrarily picks which one to trust and starts "making things up." On client projects the cost of that is real: a wrong date, a decision that never happened, a constraint quietly forgotten.

What we built

DS-ReCall isn't an AI product — it's the ground the AI runs on. A discipline that runs on zero model calls: every session opens with a stub, you (or the assistant, explicitly, via /wrap) decide what enters the canon, an integrity check catches broken links and orphan files, and a concurrency guard prevents shared files from clobbering each other. At no step does the AI "summarize" — you always see exactly what's kept.

We've run this for close to six months, across hundreds of real sessions, on multiple projects. It isn't perfect — the /wrap step is real friction, and we're not hiding that. But we've always had a real answer to "what did the AI make up."

Why open source

Claude Code's memory space is filling up fast — automatic compression tools (including Anthropic's own Remember plugin) already do that job well, some at real scale. DS-ReCall isn't competing with them on "effortless," and won't. Our claim is narrower and more honest: use this when a shared CLAUDE.md needs to survive multiple people/sessions intact, or when you owe a client a real answer to "what did the assistant forget." If not, the automatic tools are probably the better choice for you — and we're not shy about saying so.

MIT licensed, free, on GitHub. Inspect it, fork it, tell us what you break.

E. Töre Soysal Founding Partner, Dev/Soy Consulting · github.com/toresoysal/ds-recall