Claude Code Memory: /init, CLAUDE.md & der #-Shortcut, bebildert
Ohne Memory vergisst Claude Code jede Sitzung. Dieser Walkthrough führt /init in einem echten Next.js-Projekt aus, liest die generierte CLAUDE.md Abschnitt für Abschnitt, fügt per #-Shortcut eine Regel aus dem Chat hinzu und verifiziert, dass Claude sie wirklich befolgt – jeder Schritt per Screenshot geprüft.
TL;DR – Claude-Code-Memory in vier Zeilen
- /init einmal pro Projekt ausführen: Claude scannt das Repo – Ordnerstruktur, Scripts, State-Management – und schreibt eine strukturierte CLAUDE.md ins Root.
- Diese Datei landet automatisch im Kontext jeder Sitzung, sodass deine Vorgaben dort die gesamte künftige Codegenerierung prägen.
- Tippe im Chat # plus eine Regel, um sie sofort zu memorieren, und wähle dann, wo sie lebt: Projekt-Memory (committed), lokales Projekt-Memory oder User-Memory (~/.claude/CLAUDE.md).
- Halte die Datei aktuell, wenn sich Struktur oder Stack ändern – veraltetes Memory lenkt Claude in die Irre – und öffne jede Memory-Datei mit /memory wieder.
Claude Code Tutorial #2 - CLAUDE.md Files & /init
Kanal:Net Ninja12:18
The CLAUDE.md file
Kanal:Claude (official Anthropic channel)3:01
Claude Code's Memory System: The Full Guide
Kanal:DIY Smart Code5:05
Manage Claude's memory — Claude Code documentation
Doku:code.claude.com
Die Frames stammen aus der CLAUDE.md-Lektion von Net Ninja (eine saubere VS-Code-Aufnahme); der Walkthrough-Text wurde unabhängig geschrieben und mit Anthropics Memory-Dokumentation und dem offiziellen CLAUDE.md-Erklärvideo abgeglichen.
Screenshots bleiben Eigentum ihrer Ersteller und werden mit Quellenangabe als visuelle Dokumentation verwendet. Jeder Schritt verlinkt zurück auf die exakte Stelle im Quellvideo.
Von null Memory zu einem Projekt, das Claude kennt
1 · CLAUDE.md mit /init generieren
- 1
Mit /init beginnen
Wenn du Claude Code erstmals in ein Projekt holst, führe /init aus, bevor du Code anforderst. Der Tooltip sagt genau, was es tut: eine neue CLAUDE.md-Datei mit Codebase-Dokumentation initialisieren. Claude liest dein Projekt jetzt, damit künftige Sitzungen es nicht mehr müssen.

/init – der eine Befehl, der in einem neuen Repo vor allem anderen kommt.Ab 0:30 ansehen - 2
Zusehen, wie Claude erst erkundet, dann schreibt
Statt zu raten, baut /init seine eigene Todo-Liste: Repository-Struktur erkunden, package.json und den Quellcode analysieren, nach vorhandener Dokumentation suchen, dann CLAUDE.md mit den Erkenntnissen erstellen. Du siehst jeden Punkt in Echtzeit abgehakt – die Datei ist eine Zusammenfassung des tatsächlich Gelesenen, kein Template.

Die Update-Todos-Liste während der Initialisierung – erkunden, analysieren, dann schreiben.Ab 1:42 ansehen - 3
Den Guidance-Header und die Commands lesen, die es schrieb
Die generierte Datei beginnt mit einem Guidance-Header für Claude Code, gefolgt von Development Commands direkt aus package.json – dev, build, lint, start. Genau dieser Abschnitt hält Claude davon ab, sich einen eigenen Workflow auszudenken: Die echten Scripts sind jetzt in seinem Kontext.

Der Anfang der Datei: Guidance für Claude Code plus die echten npm-Scripts des Projekts.Ab 2:56 ansehen - 4
Die Abschnitte zu Architektur und Struktur prüfen
Weiter unten dokumentiert die Datei den Architekturüberblick (dieses Projekt: ein Next.js-15-Blog mit React 19 und Tailwind), eine Project-Structure-Karte, die zeigt, wo neue Dateien hingehören, und Data-Persistence-Hinweise zur Hygraph-CMS-Schicht. Neue Sitzungen erben all das, ohne dein Repo erneut zu lesen.

Project Structure mit markierten Pfaden, dazu die Hygraph-Data-Persistence-Notiz.Ab 2:30 ansehen
2 · Memories hinzufügen und beweisen, dass sie halten
- 5
Beweisen, dass Memory das Verhalten ändert
Der Test: Nachdem „alle wiederverwendbaren Hooks liegen in diesem hooks-Ordner“ in der Datei stand, fordern wir einen Theme-Preference-Hook – mit dem expliziten Zusatz, ihn noch nirgends zu verwenden. Claudes Todo zeigt, dass es den Hook unter src/hooks/use-theme anlegt, und es schließt mit „der Hook ist bereit zur Nutzung, aber wie gewünscht noch nirgends integriert“. Memory rein, Verhalten raus.

Der Hook landet in dem Ordner, den die Memory-Datei nennt – und respektiert die „noch nicht verdrahten“-Anweisung.Ab 6:40 ansehen - 6
Per # direkt aus dem Chat eine Regel memorieren
Du musst die Datei nicht von Hand editieren. Beginne eine Nachricht mit # – etwa „# erstelle neue Seitenkomponenten, füge im Header immer einen Link zu dieser Seite hinzu“ – Claude Code erkennt das als zu speicherndes Memory und fragt, wo es leben soll: Projekt-Memory, lokales Projekt-Memory oder User-Memory.

Der #-Shortcut und der Drei-Ziele-Picker, den er öffnet.Ab 7:30 ansehen - 7
Die vier Memory-Typen auseinanderhalten
Die Dokumentationstabelle von Anthropic ist die Karte: Enterprise-Policy-Memory für Organisationen, Projekt-Memory (./CLAUDE.md, eingecheckt und mit dem Team geteilt), User-Memory (~/.claude/CLAUDE.md, deine persönlichen globalen Präferenzen) und lokales Projekt-Memory (./CLAUDE.local.md, persönlich und ungetrackt) – das die Doku als veraltet markiert zugunsten des Imports ungetrackter Dateien aus dem Projekt-Memory, das aber im Picker weiterhin auftaucht.

Die offizielle Memory-Typen-Tabelle: Ort, Zweck und wer welche Datei teilt.Ab 10:50 ansehen - 8
Bestätigen, dass die Regel in der Datei gelandet ist
Wählst du Projekt-Memory, wird die Regel an die CLAUDE.md des Projekts angehängt – und da steht sie am Dateiende: „erstelle neue Seitenkomponenten, füge im Header immer einen Link zu dieser Seite hinzu“. Ab der nächsten Sitzung reist diese Zeile automatisch im Kontext mit.

Die neue Regel, gespeichert am Ende der committeten CLAUDE.md.Ab 11:48 ansehen
3 · Memory-Dateien im Alltag verwalten
- 9
Memory in einer frischen Aufgabe verifizieren
Fordere jetzt eine About-Seite an und schau auf den Plan: „Ich erstelle eine neue About-Seite und füge gemäß deiner Memory-Anweisung einen Link im Header hinzu“ – mit „Add About page link to header navigation“ als eigenem Todo-Punkt. Die #-Regel von vor zwei Schritten steuert eine Aufgabe, in der sie nie wiederholt wurde. (Fairerweise aus dem Video: Claude fügt womöglich auch Links für Seiten hinzu, die du nicht erwähnt hast – Scope-Creep, den du mit einer Zeile in derselben Datei zähmen kannst.)

„…gemäß deiner Memory-Anweisung“ – die Todo-Liste beweist, dass die Regel aktiv ist.Ab 9:37 ansehen - 10
Jede Memory-Datei mit /memory wieder öffnen
Der Befehl /memory listet jede Memory-Datei mit ihrem Ort: Projekt-Memory eingecheckt unter ./.CLAUDE.md, gitignored Local-Memory unter ./.CLAUDE.local.md und deine globale User-Datei unter ~/.claude/CLAUDE.md. Wähle eine aus, und sie öffnet sich in deinem Editor – in dieser Projektdatei zählen wir 11 Memories.

Memory zum Bearbeiten wählen – alle drei Scopes, ein Picker.Ab 11:22 ansehen - 11
Sie wie jede andere Datei bearbeiten
Claude Code bestätigt „Opened project memory at ./.CLAUDE.md“ und öffnet die Datei in VS Code – mit dem Tipp, die Umgebungsvariable $EDITOR oder $VISUAL zu setzen, um einen anderen Editor zu wählen. Von /init bis zur täglichen Pflege ist Memory einfach eine Markdown-Datei, die du ehrlich hältst.

„Opened project memory at ./.CLAUDE.md“ – editieren und aktuell halten.Ab 12:06 ansehen
Die Memory-Layer und wo jede Datei liegt
Vier Dateien, vier Scopes – die richtige Wahl, und Claude-Code-Memory ist kein Rätselraten mehr:
- 1Projekt-Memory – ./CLAUDE.md im Repo-Root. In Git getrackt, mit jedem Entwickler am Projekt geteilt. Halte es beim Projekt: Struktur, Konventionen, Befehle, Frameworks.
- 2Lokales Projekt-Memory – ./CLAUDE.local.md. Persönliche Notizen für dieses Repo (deine Tools, deine Shortcuts), die ungetrackt bleiben. Laut Doku veraltet – empfohlen wird, ungetrackte Dateien aus dem Projekt-Memory zu importieren – aber zur Aufnahmezeit wurde die Option im #-Picker weiterhin angeboten.
- 3User-Memory – ~/.claude/CLAUDE.md in deinem Home-Verzeichnis. Deine globalen Präferenzen über alle Projekte der Maschine: Code-Stil, Antwortsprache, persönliche Workflows.
- 4Jenseits von CLAUDE.md – neuere Claude-Code-Builds ergänzen ein Auto-Memory-System (MEMORY.md und Themendateien unter ~/.claude/projects/), das Claude selbst pflegt, getrennt von der Instruktionsdatei, plus @-Imports, um weitere Docs in den Kontext zu holen. Mit CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 abschalten, wenn du nur Instruktionsdateien willst.
Welchen Layer du auch nutzt, die Gewohnheit aus dem Video bleibt dieselbe: Memory ist kein create-and-forget. Wenn sich Struktur, Pakete oder Konventionen ändern, update die Datei – veraltetes Memory ist schlimmer als keins, denn Claude folgt ihm zuversichtlich.
