YesMem

Adaptive context window for Claude Code – every session starts where it matters, not at zero.

Tuesday morning. New session. You type: “What did we do last Tuesday?” Claude tells you – the refactoring, the bug in the auth middleware, the decision to switch to connection pooling.

You ask: “What was still open?” Claude shows you.
You ask: “Why did we stop?” Claude explains – you hit a dependency issue, decided to wait for the upstream fix.
You ask: “What did you think about that approach?” Claude gives you its honest assessment from last week’s context, not a guess.

That’s where you start. Not from zero. From where it matters.
claude — ~/project

# Session briefing loaded by YesMem

What did we do last week?

Last session (Apr 8, 14:23):

▸ Refactored auth middleware

▸ Fixed connection pooling bug

▸ Open: upstream dependency upgrade

Why did we stop?

You hit a version conflict in the pooling
library. Decided to wait for v2.3 release
before continuing the migration.

4,067 learnings · 87% compression · 0 lost

What You Get

Nothing is ever lost. Claude Code’s built-in compaction throws away your conversation. YesMem collapses it losslessly instead. Three hours in, you need something from hour one? It’s there, word for word.

Optimal context window. Set your threshold, resize on the fly. 150K for focused work, 500K for deep research, switch mid-session. No performance degradation, no matter how long you work.

Better answers out of the box. You didn’t change anything, but Claude suddenly stops cutting corners. YesMem replaces Anthropic’s output throttling with quality directives. Same workflow, better results.

Zero effort knowledge capture. You finish debugging, close the session, go home. Next morning, Claude already knows what you fixed and why. Extraction happens in the background.

Knowledge that self-corrects. Last month you decided on REST. This week you switched to gRPC. Claude doesn’t suggest REST anymore. Outdated facts get replaced automatically, your explicit decisions always outrank Claude’s guesses.

Your rules stick. You wrote careful instructions in CLAUDE.md. After 20 minutes, Claude ignores them, buried under tool outputs. YesMem re-injects your rules every 40k tokens.

Pick up where you left off. Not “here are 5 bullet points” but “last time you were debugging the race condition in the proxy…” Immersive handovers, not summaries.

Costs go down over time. The longer you work, the more context hits the prompt cache. Collapsing cycles exploit Anthropic’s cache TTL. Context gets cheaper, not more expensive.

Foundations

Find anything. Full-text + semantic search combined. BM25 + 512d vectors, Reciprocal Rank Fusion.

Your words matter most. 4-tier trust hierarchy: user_stated > agreed_upon > claude_suggested > llm_extracted.

Noise fades, signal stays. Ebbinghaus decay based on conversation turns. Useful knowledge strengthens, irrelevant fades.

One binary, one command. No Python, no Node, no Docker, no cloud account. yesmem setup, done.

Your data stays yours. Everything in ~/.claude/yesmem/. Nothing leaves your machine.

Free. FSL-1.1-ALv2. Use it for anything except building a competing product. After 2 years, Apache 2.0.

Install

terminal
# One-line install (Linux/macOS)
$ curl -fsSL https://raw.githubusercontent.com/carsteneu/yesmem/main/scripts/install.sh | bash

# Setup everything — MCP server, hooks, proxy, services
$ yesmem setup

# Done. Open a new Claude Code session.

Or download the binary from GitHub Releases. Windows via WSL2.

Numbers

Real data from production use. 1000+ sessions.

MetricValue
Sessions indexed2,537 (401k messages)
Active learnings4,067
Auto-corrected (superseded)38,057
Context collapsing ratio87–98%
LoCoMo benchmark (Opus)0.87
MCP tools50
CLI commands~53

Architecture

Single Go binary (~120MB with embedded SSE embedding model). Three cooperating processes plus a hook layer. All data local. No cloud. No external dependencies. Pure Go — no CGo, no C compiler.

ComponentRole
DaemonBackground service: indexing, extraction, search, embedding, RPC
MCP ServerThin stdio interface for Claude Code — forwards to daemon
ProxyBetween Claude Code and Anthropic API — context collapsing, prompt cache, associative injection. Optional.
HooksEvent-driven Claude Code integration (SessionStart, PreToolUse, PostToolUseFailure, UserPromptSubmit)