Your AI coding agent forgets everything —
memtrace doesn't.

Persistent, searchable memory for Claude Code, Cursor, Windsurf, and more — local, instant, zero-config. Your data never leaves your machine.

$brew install memtrace-dev/tap/memtrace

The Problem

Without memtrace
Monday
You: "we use JWT RS256, stateless, no session storage"
Claude: understood
Tuesday (new session)
Claude: "how does auth work in this project?"
With memtrace
Monday
agent → memory_save("JWT RS256, stateless, no session storage")
Tuesday (new session)
agent → memory_recall("auth")
← "JWT RS256 — stateless, no session storage" · decision · 1d ago

Every new chat starts from zero. You've explained your stack, your conventions, why you chose Postgres. Tomorrow it's gone. memtrace fixes that.

Setup in 60 seconds

01

Init

$ cd your-project
$ memtrace init

Creates a local database. Auto-imports your existing Claude Code memories, Cursor rules, and relevant git history — so memory starts populated, not empty.

02

Wire up your agent

$ memtrace setup

Detects which agents you use and writes their MCP config. Works with Claude Code, Cursor, Windsurf, VS Code, OpenCode, and Gemini CLI.

03

Start coding

Ready.

Your agent now has persistent memory. It saves decisions as it works. It recalls context before editing files. You never explain the same thing twice.

Why memtrace

Most alternatives are cloud-based, tied to a single editor, or built for everything — which means they're not really built for coding. memtrace is local-first, cross-agent, and code-aware. Your agent's memory works the same in Claude Code, Cursor, and Windsurf — because it's not owned by any of them.

Cross-agent memory

Built-in memory in Claude Code, Cursor, and Copilot only works in that tool. memtrace is neutral — save a decision in one agent, recall it in any other. One memory layer across every tool you use.

Smarter search

Not just keywords. Hybrid BM25 + vector semantic search — so recalling "JWT signing algorithm" finds the memory you saved as "use RS256 for tokens". No exact match required.

File-aware context

memory_context(file_paths) surfaces every convention and decision linked to the files your agent is about to edit — before it touches a line of code.

Memory that ages gracefully

Confidence decays exponentially. Frequently recalled memories stay fresh. Stale ones fade. memtrace scan flags memories whose referenced files have changed.

Private by design

Data lives in .memtrace/memtrace.db inside your project. No account. No telemetry. Wrap sensitive values in <private>...</private> — stripped before storage. The database never sees them.

Built for teams coming soon

Individual developers get the full tool, free forever. A team tier is coming with shared memory spaces, review queues, and access control — so institutional knowledge compounds instead of living in one person's head.

Works with

Claude Code
Cursor
Windsurf
VS Code
OpenCode
Gemini CLI
$ memtrace setup # auto-detects all agents
$ memtrace setup # or target one

The tools your agent gets

Tool Description
memory_save Save a decision, convention, or fact
memory_recall Search by natural language
memory_get Fetch full content by ID
memory_context Get context for the files you're editing
memory_prompt Capture the user's goal at session start
memory_forget Delete by ID or query
memory_update Edit an existing memory

Pricing

$0 / forever for individuals

memtrace is open source and runs entirely on your machine. Individual developers never hit a paywall — the full tool, always free. A team tier with shared memory and access control is coming.

Local only
Open source
Unlimited memories
// No API keys required
Monthly subscription $0.00
Cloud storage fees $0.00
Privacy compromises 0
Total cost $0.00

Get Started

Homebrew

bash
$ brew install memtrace-dev/tap/memtrace

Go

bash
$ go install github.com/memtrace-dev/memtrace/cmd/memtrace@latest