Claude Map Reduce Memory banner
agynio agynio

Claude Map Reduce Memory

Development community

Description

Global, unlimited persistent memory for Claude Code agents. Context-activated hints injected automatically via hooks using scatter-gather map-reduce.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

cmr-memory

Persistent, cross-session memory for Claude Code agents.

Overview

Without persistent memory, a Claude Code agent resets to zero every session — repeating the same mistakes, ignoring learned preferences, requiring the same rules re-prompted every time. Claude's built-in `MEMORY.md` is per-repo and read once at startup; notes fall off by position as the file grows, not by relevance.

`cmr-memory` replaces that with context-activated retrieval. Notes are stored globally with a plain-language `--when` condition. Before every tool call, a PreToolUse hook reads the current transcript and runs retrieval against stored notes — using a small LLM that reasons about relevance rather than matching strings. Only hints that aren't already in the transcript are injected, so context stays bounded regardless of session length.

At scale, retrieval uses a map-reduce pattern: notes are split into fixed-size chunks and queried in parallel (one Haiku call per chunk) that makes it fast. Chunk system prompts are stable, so prompt caching keeps per-call cost low.

Everything ships as a single npm CLI. No extra processes, no MCP servers. `cmr-memory init` registers the hooks, injects instructions into `CLAUDE.md`, and configures the retrieval model in one command.

Installation

npm install -g @agynio/cmr-memory
cmr-memory init --api-key sk-ant-...

Authentication

`cmr-memory` requires an API key for memory calls. Provide it with the `--api-key` flag or the `ANTHROPIC_API_KEY` environment variable.

cmr-memory init --api-key sk-ant-...
ANTHROPIC_API_KEY=sk-ant-... cmr-memory init

Configure or update the key later:

cmr-memory config --api-key sk-ant-...

Remove the key:

cmr-memory config --api-key off

Usage

Agent-facing commands

These are called by the agent via the Bash tool.

cmr-memory write "note content" --when "activation condition"
cmr-memory retrieve "rate limiter