Skip to content
harbor
How it worksAgentsReviewMeasureDocsPricing
Get started →
How it worksAgentsReviewMeasureDocsPricingGet started →
Home/Blog

Blog

  • Claude Code and AGENTS.md
  • Claude Code skills
  • Claude Code hooks
  • claude-mem
  • Claude Code best practices
  • Karpathy CLAUDE.md
  • AGENTS.md vs CLAUDE.md
  • Cursor rules
  • copilot-instructions.md
  • Why Claude ignores it
  • CLAUDE.md length
  • Committing CLAUDE.md
  • Agent memory compared
  • CLAUDE.md vs skills vs hooks
  • Same mistake again
  • Review comments to rules
  • Slack decisions
  • Company brain
  • Context engineering, Claude 5
  • Context rot, stale rules
  • AGENTS.md research
  • ADRs for agents
  • Memory poisoning
  • MCP memory servers
  • Claude Code, Cursor, Codex
  • Growing CLAUDE.md
  • Served vs cited

Blog

What is claude-mem, and is it enough for a team?

Published: September 23, 2026

claude-mem is an open-source plugin that gives Claude Code memory across sessions. Hooks record what happens as you work, a local worker compresses it into observations stored in SQLite and a vector index, and the next session starts with the relevant ones. It is personal memory: one developer, one machine, one agent's history.

Checked against the claude-mem repository on 2026-09-23 (version 13.25.3, Apache 2.0, about 94,000 GitHub stars). It is one of the most installed Claude Code plugins, and it is worth understanding both what it does well and what it was not built to do.

What is claude-mem?

Claude Code forgets everything when a session ends. Its built-in fix is CLAUDE.md, which you write by hand, and auto memory, which Claude writes to your machine. claude-mem is a third answer: capture the session automatically, compress it with a model, and hand the useful parts back later. You do not decide what to remember. It watches.

How does claude-mem work?

PartWhat it does
Lifecycle hooksSessionStart, UserPromptSubmit, PostToolUse, Stop and SessionEnd. They see prompts and tool use as they happen.
Worker serviceA local HTTP service, run with Bun, that turns raw tool activity into compressed observations and summaries. It also serves a web viewer.
StorageSQLite for sessions, observations and summaries, plus a Chroma vector database for semantic and keyword search. Settings live in ~/.claude-mem/.
Search over MCPsearch returns a compact index, timeline gives the context around a hit, get_observations fetches full detail for chosen ids.
PrivacyAnything inside <private> tags is not stored.

The search design is the interesting part: a cheap index first, full detail only for what survives filtering. It is the same progressive disclosure Anthropic recommends for skills, applied to memory.

How do you install claude-mem?

From the README, inside Claude Code:

/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem

Or npx claude-mem install, which also has installers for OpenCode and a few other agents. An optional sign-in backs memories up to the project's cloud service; without it everything stays local.

claude-mem vs Claude Code auto memory vs CLAUDE.md

CLAUDE.mdClaude auto memoryclaude-mem
Who writes itYouClaudeHooks and a compression model
What it holdsRules and commandsNotes Claude chose to keepCompressed observations of every session
WhereThe repoYour machineYour machine, optional cloud backup
Shared with the teamIf committedNoNo team feature documented
Reviewed before useThrough code review, if committedNoNo

The comparison across tools, including Codex and Copilot memory, is in Claude Code memory vs Codex, Cursor and Copilot.

Is claude-mem good for a team?

It was not built for one, and the README does not claim otherwise. That matters in three concrete ways.

It remembers what one person saw. Your teammate's session last week, where the reviewer explained why webhook retries stop at five, is in their memory, not yours. Two engineers on the same repo build two different memories of it.

Nobody reviews what it stored. A compressed observation of a session is the model's summary of what happened, including the wrong turns. For one person that is a fair trade. For a team, an unreviewed memory that feeds every future session is the everyday version of memory poisoning: not an attack, just a mistake that keeps getting served.

It captures sessions, not decisions. Most of what a team has decided was never said to an agent. It was said in a pull request review or a thread in #eng-payments. A memory built from agent sessions cannot know it until someone repeats it to the agent.

When should you use claude-mem?

When you work alone, or when your own continuity is the problem: long projects, many sessions, context you are tired of re-explaining. It is a good tool for that, and it runs locally. Pair it with a short CLAUDE.md for the rules that must hold every session, and a hook for anything that must never happen. See the hooks guide.

Where Harbor fits

Harbor is the team half. It reads where decisions are made (Slack threads, pull request reviews, docs), a person approves what becomes a fact or a policy you set approves the routine ones, and every agent on the team, in Claude Code, Codex or Cursor, is served the approved facts that apply to its task. What a session learns goes back through the same review before anyone else's agent sees it. Contradictions are always held for a person.

The two can sit side by side: personal memory for your own sessions, approved team facts for what everyone's agents must know. Harbor also counts, per fact, how often it was served against how often an answer cited it, so the team can see which facts earn their place. A cite is evidence, not proof. See served vs cited.

How the team memory is built. Knowledge covers the five kinds of fact and the review modes, and the quickstart takes about ten minutes.

Questions

What is claude-mem?

claude-mem is an open-source Claude Code plugin that records your sessions through hooks, compresses them into observations stored locally in SQLite and a vector index, and gives the relevant ones back to later sessions.

How do I install claude-mem?

In Claude Code, run /plugin marketplace add thedotmack/claude-mem and then /plugin install claude-mem. It can also be installed with npx claude-mem install.

Is claude-mem the same as Claude Code auto memory?

No. Auto memory is built into Claude Code and holds notes Claude chooses to keep. claude-mem is a separate plugin that captures every session automatically and adds search over MCP.

Can a team share claude-mem memory?

The claude-mem README does not document a team or shared memory feature. Each developer builds their own memory from their own sessions, and nothing is reviewed before it is reused.

harbor

Decide once. Every agent knows. One company brain for all the agents your team runs, built from work you already do and kept only while it is still true.

Product

  • How it works
  • Review
  • Your agents
  • Guardrails
  • What it counts
  • Pricing

Developers

  • Docs
  • Blog
  • CLI
  • MCP server
  • Served and cited
  • Environments

Company

  • Get started
  • Contact
  • Privacy Policy
  • Terms of Service
  • Data Processing Agreement
  • Refund Policy
© 2026 harbor·Product names and logos are trademarks of their respective owners.