Claude Code Memory
Konfiguriere CLAUDE.md so, dass dein Stack, deine Konventionen und dein Fokus beim Start in den hochprioritären Slot geladen werden, dem Claude stärker folgt als Chat oder geladenen Dateien.
Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.
SaaS-Builder-Vorlagen mit KI-Orchestrierung.
Problem: Jede neue Session startet leer. Du tippst denselben Kontext erneut. Framework, Konventionen, aktueller Fokus, Dateistruktur. Der Agent hat keine Erinnerung an gestern.
Quick Win: Richte die Memory-Datei in 30 Sekunden ein:
cd your-project
claude
/initClaude liest dein Repo und legt eine Starter-CLAUDE.md daneben ab. Diese Datei wird zum permanenten Projektkontext, der bei jeder zukünftigen Session an erster Stelle geladen wird.
Was CLAUDE.md wirklich ist
Die Memory-Datei heißt CLAUDE.md. Sie liegt auf der Festplatte und überlebt alles. Der Chat-Verlauf stirbt, wenn die Session endet. Diese Datei nicht. Claude liest sie beim Start und behandelt sie als maßgeblich.
Hier ist das Wichtige. Text in CLAUDE.md bekommt einen hochprioritären Slot im Kontextfenster. Claude folgt ihr stärker als Chat-Nachrichten und stärker als Dateien, die es in der Mitte einer Session lädt. Behandle sie wie Konfiguration, nicht wie Dokumentation.
Dieser Prioritätsunterschied beeinflusst, wie du alles andere strukturierst. Die Prioritätshierarchie legt das vollständig dar.
Die Datei für Retention strukturieren
Teile die Datei in zwei Hälften auf. Zeug, das sich nie ändert, oben. Zeug, das sich bewegt, unten.
# Project Context
- Framework: Next.js 14 with App Router
- Database: Supabase with Row Level Security
- Testing: Vitest for unit tests
## Key Directories
- `src/app/` - Route handlers and pages
- `src/lib/` - Shared utilities
- `src/components/` - React components
## Standards
- TypeScript strict mode required
- All API routes need error handling
- Run `npm test` before committing
## Current Focus
- Building user authentication flow
- Priority: Login and password resetDer Current Focus-Block ist dein Scratch-Pad. Überschreibe ihn alle paar Tage. Den Rest lass in Ruhe.
Hierarchisches Gedächtnis den Baum hinauf
CLAUDE.md-Dateien verschachteln sich. Claude geht den Verzeichnisbaum hoch und lädt jede, die es findet:
~/projects/CLAUDE.md <- Universal defaults
~/projects/my-app/CLAUDE.md <- Project-specific
~/projects/my-app/api/CLAUDE.md <- Component-specificMonorepo? Verschiedene Unterordner mit verschiedenen Stacks? Hier zahlt es sich aus. Halte die obersten Dateien kurz. Jede Ebene wird bei jedem Start geladen.
@import: Zusammensetzbares Gedächtnis
Eine Datei kann andere einbinden. Die Syntax ist @pfad/zur/datei. Dein Memory-Setup hört auf, eine einzige Datei zu sein, und beginnt wie ein kleiner Graph auszusehen.
See @README for project overview and @package.json for available npm commands.
# Additional Instructions
- git workflow @docs/git-instructions.mdRelative und absolute Pfade funktionieren beide. Relative Pfade werden gegen die importierende Datei aufgelöst, nicht dein Arbeitsverzeichnis. Du kannst auf alles auf deinem Rechner zeigen:
# Pull in shared team standards
- @docs/coding-standards.md
- @docs/api-conventions.md
# Reference external files with absolute paths
- @~/.claude/my-preferences.mdErstmalige Genehmigung. Wenn ein Projekt zum ersten Mal eine Datei außerhalb seiner selbst importiert, zeigt Claude Code einen Genehmigungsdialog mit den genauen Pfaden. Bestätige zum Laden. Ablehnen zum Überspringen. Die Wahl wird pro Projekt gespeichert. Eine Ablehnung ist dauerhaft, bis du sie zurücksetzt, und der Dialog erscheint nicht erneut.
Code-Block-Sicherheit. Imports innerhalb von Code-Blöcken oder Inline-Code-Spans werden ignoriert. @pfad/zur/datei in einem Beispiel zu schreiben ist sicher.
Rekursive Imports. Importierte Dateien können ihre eigenen Dateien importieren. Maximale Tiefe ist 5 Ebenen. Nutze das, um Anweisungssätze zu schichten, ohne alles an einem Ort zu stopfen.
Git-Worktree-Tipp. CLAUDE.local.md lebt immer nur in einem Worktree. Wenn du zwischen Worktrees wechselst, leg persönliche Anweisungen in dein Home-Verzeichnis und importiere sie:
# Individual Preferences
- @~/.claude/my-project-instructions.mdCLAUDE.local.md: Privates Gedächtnis
Manche Kontexte gehören nur dir, nicht dem Team. Lokale Sandbox-URLs. Test-Fixtures. Eine Branch-Naming-Gewohnheit. Leg das in CLAUDE.local.md ab. Claude Code fügt diese Datei automatisch zu .gitignore hinzu, damit sie nie ins Repo gelangt.
# CLAUDE.local.md
## My Local Setup
- Dev server: http://localhost:3001
- Test database: local-dev-db
- Preferred branch naming: feature/[initials]-[description]Sie lädt neben CLAUDE.md mit derselben hohen Priorität. Deine persönlichen Notizen bleiben persönlich. Die geteilte Datei bleibt sauber.
/memory: Live inspizieren und bearbeiten
Starte /memory in einer Session, um alle aktuell geladenen Memory-Dateien zu sehen und jede davon in deinem Editor zu öffnen. Das deckt drei Aufgaben ab:
- Prüfen, welche
CLAUDE.md-Dateien, Rules und Imports aktiv sind - Gedächtnis bearbeiten, ohne die Session zu verlassen
- Debuggen, wenn eine Anweisung scheinbar ignoriert wird
Modulare Rules: Pfadbegrenzte Erinnerungen
Willst du genauere Kontrolle? Das .claude/rules/-Verzeichnis lässt dich Anweisungen in viele kleine Dateien aufteilen, jede auf ein Pfadmuster begrenzt:
.claude/rules/
├── api-guidelines.md # paths: src/api/**/*
├── react-patterns.md # paths: src/components/**/*
└── testing-rules.md # paths: **/*.test.*Wichtig: Rules-Dateien sitzen auf derselben hohen Priorität wie CLAUDE.md. Was sich ändert, ist der Gültigkeitsbereich. Pfad-Targeting entscheidet, wann diese Priorität greift.
Das löst das "monolithische CLAUDE.md"-Problem. Alles in eine Datei stopfen und jede Anweisung kämpft um Aufmerksamkeit, auch die, die nichts mit deiner aktuellen Arbeit zu tun haben. Mit Rules konkurrieren deine API-Anweisungen nur, wenn Claude wirklich API-Code bearbeitet.
User-Level-Rules. Persönliche Regeln, die alle Projekte abdecken, leben unter ~/.claude/rules/. Sie laden vor Projektregeln, also gewinnen Projektregeln bei einem Gleichstand.
Brace Expansion. Pfadmuster akzeptieren Brace Expansion für mehrere Erweiterungen oder Ordner: src/**/*.{ts,tsx} oder {src,lib}/**/*.ts.
Symlinks. Der .claude/rules/-Ordner folgt Symlinks, was es erlaubt, Regelsets über Projekte hinweg wiederzuverwenden. Zirkuläre Symlinks werden erkannt und übersprungen.
Das Rules Directory-Guide hat die vollständige Pfadmuster-Syntax, die Prioritätsreihenfolge und Migrationshinweise.
Die fünf Gedächtnisebenen
Claude Code hat fünf verschiedene Gedächtnisslots. Jeder erfüllt eine Aufgabe:
| Gedächtnistyp | Speicherort | Zweck | Geteilt mit |
|---|---|---|---|
| Managed Policy | System-Pfade (siehe unten) | Organisationsweite Anweisungen | Alle Nutzer in der Organisation |
| Projektgedächtnis | ./CLAUDE.md oder ./.claude/CLAUDE.md | Team-geteilte Anweisungen für das Projekt | Team über Versionskontrolle |
| Projektregeln | ./.claude/rules/*.md | Modulare, themenbezogene Projektregeln | Team über Versionskontrolle |
| Nutzergedächtnis | ~/.claude/CLAUDE.md | Persönliche Präferenzen für alle Projekte | Nur du (alle Projekte) |
| Projekt lokal | ./CLAUDE.local.md | Persönliche projektspezifische Präferenzen | Nur du (aktuelles Projekt) |
Managed Policy-Pfade variieren je nach Betriebssystem:
- macOS:
/Library/Application Support/ClaudeCode/CLAUDE.md - Linux:
/etc/claude-code/CLAUDE.md - Windows:
C:\Program Files\ClaudeCode\CLAUDE.md
Höhere Ebenen laden zuerst und setzen den Boden. Spezifischere Dateien legen sich obendrauf.
Subtree-Erkennung: Lazy Loading
Claude geht den Baum beim Start hoch. Es bemerkt auch CLAUDE.md-Dateien in Unterordnern unterhalb des Startordners.
Der entscheidende Unterschied: Diese Subtree-Dateien werden beim Start nicht geladen. Sie laden, sobald Claude eine Datei in diesem Unterordner öffnet. Der Start bleibt günstig, und lokale Regeln erscheinen trotzdem, wenn sie wichtig sind.
Wenn also packages/auth/CLAUDE.md nur auth-bezogene Anweisungen enthält, bleiben sie schlafend, bis Claude eine Datei unter packages/auth/ öffnet.
Memory-Datei versionieren
Leg CLAUDE.md unter Versionskontrolle und sie wird zu einem checkpoint-fähigen Gedächtnis:
# Before experimenting with instructions
git add CLAUDE.md && git commit -m "working context state"
# Try new instructions, then restore if needed
git checkout CLAUDE.mdSofortiges Rollback, wenn eine Änderung schiefläuft.
Auto Memory: Claude's eigene Notizen
Du schreibst CLAUDE.md. Claude führt auch sein eigenes Notizbuch. Diese Datei liegt unter ~/.claude/projects/<project>/memory/ und füllt sich mit Debugging-Beobachtungen, Build-Mustern und Architekturnotizen. Die ersten 200 Zeilen der MEMORY.md-Hauptdatei werden beim Start neben deinen CLAUDE.md-Dateien geladen. Der vollständige Auto Memory-Guide deckt die Speicherstruktur und Konfiguration ab.
Session Memory: Rollende Zusammenfassung
Claude Code führt jetzt eine rollende Zusammenfassung der aktuellen Session, die bei jeder Nachricht aktualisiert wird. Die Zusammenfassungsdatei liegt unter ~/.claude/projects/[project]/[session]/session_memory und verfolgt:
- Session-Titel. Automatisch generierte Beschreibung deiner Arbeit
- Aktueller Status. Abgeschlossene Punkte, Diskussionsthemen, offene Fragen
- Wichtige Ergebnisse. Bedeutende Outcomes und Erkenntnisse
- Arbeitsprotokoll. Chronologische Aufzeichnung der durchgeführten Aktionen
Dieser Feed ermöglicht sofortige Komprimierung. Starte /compact und Claude überträgt die Zusammenfassung sofort in einen frischen Kontext. Keine zweiminütige Pause.
Frag Claude "where is your session memory stored?" und es gibt dir den genauen Pfad für die aktuelle Session aus.
Frischer Kontext auf Abruf
Lange Sessions füllen sich mit Rauschen. Zurücksetzen mit /clear:
/clear
Das löscht den Gesprächspuffer und behält CLAUDE.md. Das Rauschen geht. Dein Gedächtnis bleibt.
Für einen vollständigen Reset: beenden und neu starten:
exit
claudeIsolierte Kontexte pro Aufgabe
Willst du komplett getrenntes Gedächtnis für einen Branch? Erstelle einen neuen Ordner:
mkdir feature-auth && cd feature-auth
cp ../CLAUDE.md CLAUDE.md
echo "## Focus: Authentication only" >> CLAUDE.md
claudeJeder Ordner trägt seine eigene CLAUDE.md. Kontexte bleiben voneinander getrennt. Ideal für Feature-Branches und Scratch-Arbeit.
Wenn etwas schiefläuft
Kontext fühlt sich veraltet an. Der Gesprächsverlauf hat zu viel Müll angesammelt.
- Lösung: Starte
/clear. Chat geht,CLAUDE.mdbleibt.
Projekte bluten ineinander. Anweisungen aus einem Repo tauchen in einem anderen auf.
- Lösung: Jedes Projekt braucht eine eigene
CLAUDE.mddirekt im Projekt-Root.
Anweisungen werden ignoriert. Die Datei ist zu lang geworden oder hat ihre Struktur verloren.
- Lösung: Halte
CLAUDE.mdunter 400 Zeilen. Schiebe domänenspezifische Details in pfadbegrenzte Rules, damit sie nur dann hohe Priorität bekommen, wenn der Pfad passt.
Nächste Schritte
- Behandle
CLAUDE.mdals Betriebssystem für schwerere Orchestrierungsmuster - Lies den Auto Memory-Guide für Claude's eigene Projektnotizen
- Studiere Context Management, um Tokens schlank zu halten
- Schau dir Planning Modes für strukturierte Arbeit an
- Richte Git-Integration für Gedächtnis-Checkpoints ein
- Sieh, wie Gedächtnis in Context Engineering für Produktions-Agent-Systeme passt
Merke dir: CLAUDE.md ist keine Projektdokumentation. Es ist das Betriebssystem deines Agenten. Strukturiere es gut, und jede Session setzt genau dort an, wo die letzte aufgehört hat.
Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.
SaaS-Builder-Vorlagen mit KI-Orchestrierung.
Auto Dream
Claude Code räumt zwischen Sessions seine eigenen Projektnotizen auf. Veraltete Einträge werden gelöscht, Widersprüche aufgelöst, Themen-Dateien umsortiert. Starte mit /memory.
Dynamischer Startkontext
Kombiniere --init mit einem Slash-Befehl wie /blog oder /ship, um genau das Kontext-Bundle zu laden, das diese Art von Arbeit braucht. Keine Setup-Hooks, keine Env-Vars, kein Copy-Paste.