Claude Code ya “recuerda”: así funciona la memoria (y cómo configurarla bien sin convertir tu repo en un cajón desastre)

Durante meses, los asistentes de programación han tenido un problema bastante humano: olvidaban. La sesión terminaba y, con ella, se iba el contexto: comandos de build, convenciones del proyecto, patrones de arquitectura o ese “aquí usamos pnpm, no npm” que te tocaba repetir una y otra vez. Claude Code intenta resolverlo con un sistema de memoria persistente que combina dos ideas sencillas: memoria automática (la escribe el propio Claude) y archivos CLAUDE.md (los escribe el equipo).

La clave es que no se trata de “guardar todo”. Se trata de guardar lo justo, en el sitio adecuado y con prioridad clara, para que el asistente se comporte como un compañero que llega ya con el briefing leído.


Dos tipos de memoria que persisten entre sesiones

Claude Code usa dos mecanismos complementarios:

  • Auto memory: notas que Claude va guardando sobre el proyecto (patrones, comandos, soluciones de debugging, preferencias).
  • CLAUDE.md: instrucciones explícitas que el usuario o el equipo mantiene (reglas, estándares, decisiones de arquitectura, forma de testear, etc.).

Un matiz importante: la memoria automática solo carga de inicio las primeras 200 líneas del archivo principal (MEMORY.md). El resto se organiza en ficheros temáticos que Claude abre “bajo demanda” cuando los necesita.


La jerarquía: no hay un solo CLAUDE.md (y eso es buena noticia)

Claude Code no funciona con un único archivo mágico, sino con una estructura jerárquica de ubicaciones. Lo más específico manda sobre lo general, y la memoria se “descubre” desde el directorio de trabajo hacia arriba.

Tabla rápida de tipos de memoria y dónde viven

Tipo de memoriaUbicaciónPara qué sirveSe comparte con
Managed policy (empresa)macOS: /Library/Application Support/ClaudeCode/CLAUDE.md · Linux: /etc/claude-code/CLAUDE.md · Windows: C:\Program Files\ClaudeCode\CLAUDE.mdReglas corporativas (seguridad, compliance, estándares)Organización
Project memory./CLAUDE.md o ./.claude/CLAUDE.mdInstrucciones del proyectoEquipo (vía repo)
Project rules./.claude/rules/*.mdReglas modulares por temaEquipo (vía repo)
User memory~/.claude/CLAUDE.mdPreferencias personales globalesSolo tú
Project memory (local)./CLAUDE.local.mdPreferencias personales del proyecto (sin commitear)Solo tú
Auto memory~/.claude/projects/<project>/memory/Notas automáticas por proyectoSolo tú

Auto memory: lo que Claude apunta “para la próxima vez”

La memoria automática está pensada para registrar cosas útiles que aparecen trabajando:

  • comandos de build/test,
  • soluciones a errores recurrentes,
  • notas de arquitectura (ficheros clave, relaciones),
  • preferencias de flujo (herramientas, estilo).

Cada repositorio tiene su carpeta en ~/.claude/projects/<project>/memory/, con un MEMORY.md como índice y otros archivos temáticos (por ejemplo, debugging.md). Solo se precargan las primeras 200 líneas de MEMORY.md, así que la recomendación implícita es clara: índice corto, detalles en ficheros separados.

Cómo desactivar auto memory (si lo necesitas)

En equipos, CI o entornos regulados, puede interesar apagarlo:

// ~/.claude/settings.json  (global)
{ "autoMemoryEnabled": false }
// .claude/settings.json  (solo para un proyecto)
{ "autoMemoryEnabled": false }

O forzarlo por variable de entorno (ideal para CI):

export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1  # fuerza OFF
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 # fuerza ON

CLAUDE.md: tu “briefing” de proyecto, con imports para no crear un monstruo

Los archivos CLAUDE.md permiten documentar reglas, decisiones y preferencias. Pero el truco para que no se conviertan en una biblia inmanejable es que soportan imports con sintaxis @ruta/al/archivo, con un límite de profundidad (hasta 5 saltos). Esto permite mantener un CLAUDE.md corto y derivar reglas extensas a documentos específicos (seguridad, testing, API, frontend, etc.).

Ejemplo práctico:

# Contexto del proyecto
- Stack: Node + TypeScript + Postgres
- Comandos: ver @package.json
- Arquitectura: ver @docs/arquitectura.md# Reglas
- Testing: @docs/testing.md
- API: @docs/api.md
- Seguridad: @docs/security.md

Reglas modulares: .claude/rules y “solo aplica si tocas estos ficheros”

Para equipos grandes, lo más útil suele ser organizar reglas en ./.claude/rules/ con ficheros por tema. Y, además, se pueden limitar por rutas usando frontmatter YAML (por ejemplo, que ciertas reglas solo apliquen cuando Claude trabaja en src/api/**).

---
paths:
- "src/api/**/*.ts"
---# Reglas API
- Validación de entrada obligatoria
- Formato estándar de errores

También admite globs habituales y brace expansion (por ejemplo {src,lib}/**/*.ts).


Recomendaciones “de sysadmin” para no meterte en líos

  • No metas secretos en CLAUDE.md ni en memorias (tokens, URLs internas sensibles, credenciales). Trata estos archivos como documentación.
  • Mantén el CLAUDE.md del proyecto corto: comandos, convenciones, “gotchas” y enlaces a docs.
  • Versiona reglas del equipo (.claude/CLAUDE.md y .claude/rules/) y deja lo personal en CLAUDE.local.md.
  • En CI, considera forzar CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 para evitar escritura de contexto en runners efímeros.
  • Revisa periódicamente la memoria automática: si el asistente “aprende” mal, lo arrastrará.

vía: Claude Memory

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×