Auto memory y el directorio .claude
CLAUDE.md es lo que escribes tú. La auto memory es lo que Claude escribe solo. Mientras trabaja, va apuntando cosas que le serán útiles más adelante: el comando de build que costó encontrar, un insight de un debug peliagudo, una preferencia tuya que detectó. No guarda algo en cada sesión; decide qué merece recordarse.
| CLAUDE.md | Auto memory | |
|---|---|---|
| Quién lo escribe | tú | Claude |
| Qué contiene | instrucciones y reglas | aprendizajes y patrones |
| Para qué | convenciones, workflows | comandos de build, insights de debug, preferencias |
Las dos se cargan al inicio de cada sesión. Son complementarias.
Un ejemplo de cómo aprende
Pasas una sesión peleando un test flaky. Descubrís juntos que hay que correr
pnpm test --runInBandpara que no falle por concurrencia. Claude apunta en su memoria: "los tests de integración requieren--runInBand". (semanas después) arranca los tests directamente con ese flag, sin que se lo recuerdes.
No escribiste nada. Lo aprendió de la sesión.
Dónde vive
Cada proyecto tiene su carpeta de memoria:
~/.claude/projects/<project>/memory/
├── MEMORY.md # índice conciso, se carga en cada sesión
├── debugging.md # notas de debug, se leen bajo demanda
└── api-conventions.md # decisiones de API
<project> se deriva del repo git, así que todos los worktrees del mismo repo comparten memoria. De MEMORY.md se cargan las primeras 200 líneas o 25 KB — el límite que se alcance primero — al arrancar; los ficheros por tema, Claude los lee bajo demanda. Es local a tu máquina y son ficheros markdown normales. Cuando ves "Writing memory" o "Recalled memory" en la interfaz, está leyendo o actualizando esa carpeta.
Curarla con /memory
La memoria del agente no es una caja negra. Con /memory listas los ficheros cargados, activas o desactivas la auto memory, y abres la carpeta para leer, editar o borrar lo que haya guardado.
Cúrala como cualquier contexto: si apuntó algo desactualizado o un comando que cambió, bórralo o corrígelo. Memoria sucia = consejos malos en futuras sesiones.
Cuando le dices "recuerda que los tests necesitan un Redis local", lo manda a la auto memory. Si quieres que entre en el contrato del repo, pídele "añade esto a CLAUDE.md". Está activa por defecto (requiere una versión reciente del CLI: compruébala con claude --version) y se desactiva con el toggle de /memory o "autoMemoryEnabled": false en settings.
El árbol .claude/ de un vistazo
Toda la configuración del agente vive en dos sitios: .claude/ en tu repo (lo del equipo) y ~/.claude/ en tu home (lo tuyo, en todos los proyectos).
En el proyecto (.claude/, versionado salvo lo *.local.*):
| Entrada | Qué es |
|---|---|
settings.json | permisos, hooks y configuración (commiteado) |
settings.local.json | tus overrides personales (gitignored) |
rules/ | reglas por tema (lección anterior) |
skills/ | workflows reutilizables por nombre |
commands/ | prompts de un fichero, invocados con /nombre |
agents/ | subagentes con su propia ventana de contexto |
En tu home (~/.claude/, personal):
| Entrada | Qué es |
|---|---|
CLAUDE.md | tus preferencias en todos los proyectos |
settings.json | tus settings por defecto |
projects/<project>/memory/ | la auto memory (lo de arriba) |
rules/, skills/, commands/, agents/ | tus versiones personales |
No memorices la tabla: cada entrada tiene su curso más adelante (skills, comandos, subagentes, hooks). Lo importante hoy: todo lo que configures vive aquí, en texto plano, versionable y compartible.
Qué llevas hasta aquí
- La auto memory es lo que Claude apunta solo, en
~/.claude/projects/<project>/memory/. - La revisas y curas con
/memory— son ficheros markdown que puedes editar o borrar. - El árbol
.claude/(repo) y~/.claude/(personal) concentran toda la configuración.
En la última lección, el reverso: los antipatrones que envenenan el contexto.
Fuente oficial: Auto memory · The .claude directory
¿Quieres llevar la cuenta de las lecciones que has terminado?
Entrar para guardar progreso