Claude-Mem — memoria persistente entre sesiones de Claude Code (instalación y uso)
Guía verificada para instalar Claude-Mem, el plugin open source de thedotmack que guarda el contexto entre sesiones de Claude Code. Instalación, cómo funciona, MCP search tools, web viewer en localhost:37777 y control de privacidad con tags.
Todo el que usa Claude Code se choca con el mismo problema: abrís una sesión nueva y no tiene contexto de lo que pasó antes. Lo que hiciste ayer queda desconectado de lo que vas a hacer hoy, y la única forma de "recordarle" a Claude es volver a pegarle archivos, decisiones y resúmenes — quemando tokens en algo que ya hablaste.
Claude-Mem es un plugin open source creado por thedotmack (Alex Newman) que resuelve exactamente eso. Una IA observadora mira lo que hace tu Claude durante cada sesión, captura las decisiones, bugfixes, features y descubrimientos, y los inyecta automáticamente en sesiones futuras. Ahorra del orden de ~10× en tokens de contexto porque solo trae los detalles cuando hacen falta.
- 🌐 Sitio oficial: claude-mem.ai
- 📦 Repo: github.com/thedotmack/claude-mem
Qué hace exactamente
Cada sesión de Claude Code dispara cinco lifecycle hooks (SessionStart, UserPromptSubmit, PostToolUse, Stop, SessionEnd) que un servicio en background va leyendo. Ese servicio:
- Observa lo que Claude hizo durante la sesión.
- Comprime los eventos en observaciones categorizadas: ⚖️
decision, 🔴bugfix, 🟣feature, 🔵discovery. - Guarda todo en una base SQLite local + un vector store (Chroma) para búsqueda semántica.
- Inyecta las observaciones relevantes al iniciar la próxima sesión — sin que tengas que pedirlo.
Cuando abrís una sesión nueva, Claude ya sabe qué decidiste antes, qué bug arreglaste la semana pasada y qué archivo tocaste para implementar X feature.
La inteligencia clave es progressive disclosure: al arrancar la sesión recibís un índice liviano (títulos, tipos, timestamps — ~40 tokens por entrada). Solo cuando Claude necesita profundidad fetchea la observación completa (~850 tokens). Por eso el ahorro es enorme aunque tengas miles de observaciones acumuladas.
Componentes que se instalan
| Componente | Qué es |
|---|---|
| 5 lifecycle hooks | Scripts que se enganchan al ciclo de vida de Claude Code |
| Worker service | Servidor HTTP en localhost:37777 (gestionado por Bun) con 10 endpoints de búsqueda + UI web |
| SQLite database | Almacena sesiones, observaciones y resúmenes en ~/.claude-mem/ |
| Chroma vector DB | Búsqueda híbrida (semántica + keyword) sobre las observaciones |
| mem-search skill | Skill de Claude Code que permite consultas en lenguaje natural |
| MCP search tools | search, timeline, get_observations — el 3-layer workflow |
Requisitos previos
- Node.js 18.0.0 o superior —
node --version - Claude Code en versión reciente (con soporte de plugins) —
npm install -g @anthropic-ai/claude-code - Bun — se instala automáticamente si falta
- uv (Python package manager para el vector search) — se instala automáticamente si falta
- SQLite 3 — viene bundled
En Windows, si te aparece
npm : The term 'npm' is not recognized, instalá Node desde nodejs.org y reiniciá la terminal.
Instalación
Hay dos caminos oficiales. Elegí uno.
Opción A — Una sola línea (recomendada)
Parado en cualquier carpeta:
npx claude-mem install
El instalador registra los hooks, levanta el worker y deja todo listo. Después, reiniciá Claude Code y al abrir una sesión nueva ya empieza a observar.
Opción B — Desde el plugin marketplace de Claude Code
Dentro de claude, ejecutá:
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem
Reiniciá Claude Code. Mismo resultado.
Importante: npm install -g claude-mem instala solo la SDK/library, no registra los hooks ni levanta el worker. Usá siempre npx claude-mem install o el flujo /plugin install.
Otros clientes
Claude-Mem también funciona con Gemini CLI, OpenCode, Codex, Copilot y OpenClaw. Para los más usados:
# Gemini CLI (auto-detecta ~/.gemini)
npx claude-mem install --ide gemini-cli
# OpenCode
npx claude-mem install --ide opencode
# OpenClaw gateways (one-liner remoto)
curl -fsSL https://install.cmem.ai/openclaw.sh | bash
Verificar que funciona
- Reiniciá Claude Code después de instalar.
- Abrí una sesión, charlá un rato, tocá archivos. Cerrala.
- Abrí una sesión nueva en el mismo proyecto. Al iniciar, Claude debería decirte algo como "Contexto previo cargado: 12 observaciones de las últimas 3 sesiones..." y enumerar lo que pasó.
- Abrí en el navegador http://localhost:37777. Es el web viewer con todo el stream de observaciones en tiempo real, filtrable por tipo, fecha y archivo.
Si no aparece el contexto al iniciar la sesión, revisá que el worker esté corriendo (curl http://localhost:37777/health) y que los hooks estén registrados en ~/.claude-mem/.
Cómo usarlo en el día a día
1. Dejar que trabaje solo
El 90% del valor es automático. Vos seguís usando Claude Code como siempre y al abrir cada sesión nueva ya tenés el contexto inyectado. Sin slash commands ni pasos extra.
2. Buscar manualmente con el skill mem-search
Cuando necesitás encontrar algo puntual, invocá la skill desde un prompt:
"Usá mem-search y traeme las decisiones que tomamos sobre autenticación en este proyecto."
El skill arranca con search (índice liviano), opcionalmente trae contexto cronológico con timeline, y solo carga el detalle completo con get_observations cuando hace falta. Filtros disponibles: type:decision, type:bugfix, type:feature, type:discovery, file:src/auth/index.ts, ventanas de fecha.
Ejemplos:
type:decision file:src/auth/index.ts
bugfixes about "token refresh" last week
3. Explorar visualmente en el web viewer
http://localhost:37777 muestra todas las observaciones agrupadas por sesión, con contexto before/after (las 7 observaciones previas y las 7 posteriores a cada hallazgo). Sirve para auditar qué guardó el sistema y entender la causalidad — "esta decisión llevó a este bug".
4. Citar observaciones específicas
Cada observación tiene un ID. Podés referenciarlas en prompts:
"Revisá la observación #123 antes de proponer el cambio."
Acceso por API: http://localhost:37777/api/observation/123.
Privacidad
Por defecto Claude-Mem captura todo el contenido textual de las sesiones. Para excluir información sensible (claves, secretos, datos personales), envolvelo con tags <private>:
<private>
DATABASE_URL=postgres://user:password@host/db
</private>
Lo que esté entre <private>...</private> no se persiste en el storage local. Los datos viven todos en ~/.claude-mem/ — no se sube nada a servicios externos.
Acordate de que el web viewer en localhost:37777 queda accesible desde tu equipo. Si trabajás con datos sensibles, no expongas ese puerto fuera de localhost (no hagas port-forward ni lo abras en el firewall).
Configuración avanzada
Las settings viven en ~/.claude-mem/settings.json (se crea con defaults al primer arranque). Permite tocar:
- Modelo de IA usado por el observer
- Puerto del worker (default
37777) - Directorio de datos
- Log level
- Context injection — qué tipos y cuántas observaciones se inyectan al iniciar cada sesión
Documentación completa: docs.claude-mem.ai/configuration.
Beta channel — Endless Mode
Desde el web viewer (http://localhost:37777 → Settings) podés cambiar entre canal stable y beta. El beta incluye Endless Mode, una arquitectura de memoria biomimética para sesiones extendidas (todavía experimental). Detalles: docs.claude-mem.ai/beta-features.
Cuándo SÍ y cuándo NO te conviene
Conviene cuando:
- Trabajás varios días seguidos sobre el mismo proyecto y querés que Claude recuerde decisiones
- Pagás Claude Code por tokens y querés bajar el costo
- Tenés proyectos largos con muchos archivos y context windows que se te llenan rápido
Pensalo dos veces si:
- Trabajás con código bajo NDA estricto donde no podés tener un agente observando y almacenando todo localmente
- Tus sesiones son muy cortas (1-2 prompts) — el overhead del worker no se justifica
- Estás en una máquina con pocos recursos y no querés un proceso extra en
:37777
Próximos pasos
- Instalá con
npx claude-mem install. - Reiniciá Claude Code y trabajá normalmente durante una sesión.
- Abrí una sesión nueva y mirá cómo aparece el contexto previo.
- Después de un par de días, abrí el web viewer y revisá qué observaciones quedaron registradas — desde ahí ajustás las settings de inyección de contexto a tu gusto.
Si querés profundizar en cómo Claude Code maneja contexto y por qué este tipo de plugins suben tanto el techo de productividad, mirá también: