SpyBara
Go Premium

memory.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 4 additions and 2 deletions.

2026
Wed 9 22:58 Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Wed 23 23:57

Wie Claude sich Ihr Projekt merkt

Geben Sie Claude persistente Anweisungen mit CLAUDE.md-Dateien, und lassen Sie Claude automatisch Erkenntnisse mit Auto-Memory sammeln.

Jede Claude Code-Sitzung beginnt mit einem frischen Context Window. Zwei Mechanismen tragen Wissen über Sitzungen hinweg:

  • CLAUDE.md-Dateien: Anweisungen, die Sie schreiben, um Claude persistenten Kontext zu geben
  • Auto-Memory: Notizen, die Claude selbst basierend auf Ihren Korrektionen und Vorlieben schreibt

Diese Seite behandelt folgende Themen:

CLAUDE.md vs. Auto-Memory

Claude Code hat zwei komplementäre Memory-Systeme. Beide werden zu Beginn jeder Konversation geladen. Claude behandelt sie als Kontext, nicht als erzwungene Konfiguration. Um eine Aktion unabhängig davon zu blockieren, was Claude entscheidet, verwenden Sie stattdessen einen PreToolUse Hook. Je spezifischer und prägnanter Ihre Anweisungen sind, desto konsistenter folgt Claude ihnen.

CLAUDE.md-Dateien Auto-Memory
Wer schreibt es Sie Claude
Was es enthält Anweisungen und Regeln Erkenntnisse und Muster
Umfang Projekt, Benutzer oder Organisation Pro Repository, gemeinsam über Worktrees hinweg
Geladen in Jede Sitzung Jede Sitzung (erste 200 Zeilen oder 25 KB)
Verwenden für Coding-Standards, Workflows, Projektarchitektur Ihre Vorlieben, Korrektionen, die Sie Claude geben, Projektkontext, den Claude nicht aus dem Code ableiten kann

Verwenden Sie CLAUDE.md-Dateien, wenn Sie Claudes Verhalten lenken möchten. Auto-Memory lässt Claude aus Ihren Korrektionen lernen, ohne manuelle Anstrengung.

Subagents können auch ihre eigene Auto-Memory pflegen. Weitere Informationen finden Sie unter Subagent-Konfiguration.

CLAUDE.md-Dateien

CLAUDE.md-Dateien sind Markdown-Dateien, die Claude persistente Anweisungen für ein Projekt, Ihren persönlichen Workflow oder Ihre gesamte Organisation geben. Sie schreiben diese Dateien in Klartext; Claude liest sie zu Beginn jeder Sitzung.

Wann sollte ich zu CLAUDE.md hinzufügen

Behandeln Sie CLAUDE.md als den Ort, an dem Sie aufschreiben, was Sie sonst erneut erklären würden. Fügen Sie hinzu, wenn:

  • Claude denselben Fehler ein zweites Mal macht
  • Eine Code-Review etwas findet, das Claude über diese Codebasis hätte wissen sollen
  • Sie tippen die gleiche Korrektur oder Klarstellung in den Chat, die Sie letzte Sitzung eingegeben haben
  • Ein neuer Teamkollege den gleichen Kontext benötigen würde, um produktiv zu sein

Halten Sie es bei Fakten, die Claude in jeder Sitzung behalten sollte: Build-Befehle, Konventionen, Projektlayout, „immer X machen"-Regeln. Wenn ein Eintrag ein mehrstufiges Verfahren ist oder nur für einen Teil der Codebasis wichtig ist, verschieben Sie ihn stattdessen zu einem Skill oder einer pfadgebundenen Regel. Die Funktionsübersicht behandelt, wann Sie jeden Mechanismus verwenden.

Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen

CLAUDE.md-Dateien können sich an mehreren Orten befinden, jeder mit einem anderen Umfang. Die folgende Tabelle listet sie in Ladereihenfolge auf, vom breitesten Umfang zum spezifischsten, sodass eine Projektanweisung im Kontext nach einer Benutzeranweisung erscheint.

Umfang Ort Zweck Anwendungsbeispiele Geteilt mit
Verwaltete Richtlinie • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
• Linux und WSL: /etc/claude-code/CLAUDE.md
• Windows: C:\Program Files\ClaudeCode\CLAUDE.md
Organisationsweite Anweisungen, verwaltet von IT/DevOps Unternehmens-Coding-Standards, Sicherheitsrichtlinien, Compliance-Anforderungen Alle Benutzer in der Organisation
Benutzeranweisungen ~/.claude/CLAUDE.md Persönliche Vorlieben für alle Projekte Code-Styling-Vorlieben, persönliche Tooling-Shortcuts Nur Sie (alle Projekte)
Projektanweisungen ./CLAUDE.md oder ./.claude/CLAUDE.md Team-gemeinsame Anweisungen für das Projekt Projektarchitektur, Coding-Standards, häufige Workflows Team-Mitglieder über Versionskontrolle
Lokale Anweisungen ./CLAUDE.local.md Persönliche projektspezifische Vorlieben; zu .gitignore hinzufügen Ihre Sandbox-URLs, bevorzugte Testdaten Nur Sie (aktuelles Projekt)

CLAUDE.md- und CLAUDE.local.md-Dateien in der Verzeichnishierarchie über dem Arbeitsverzeichnis werden beim Start vollständig geladen. Dateien in Unterverzeichnissen werden bei Bedarf geladen, wenn Claude Dateien in diesen Verzeichnissen liest. Weitere Informationen finden Sie unter Wie CLAUDE.md-Dateien geladen werden für die vollständige Auflösungsreihenfolge.

Für große Projekte können Sie Anweisungen in themaspezifische Dateien aufteilen, indem Sie Projektregeln verwenden. Regeln ermöglichen es Ihnen, Anweisungen auf bestimmte Dateitypen oder Unterverzeichnisse zu beschränken.

Richten Sie eine Projekt-CLAUDE.md ein

Eine Projekt-CLAUDE.md kann entweder in ./CLAUDE.md oder ./.claude/CLAUDE.md gespeichert werden. Erstellen Sie diese Datei und fügen Sie Anweisungen hinzu, die für jeden gelten, der am Projekt arbeitet: Build- und Test-Befehle, Coding-Standards, architektonische Entscheidungen, Namenskonventionen und häufige Workflows. Diese Anweisungen werden über Versionskontrolle mit Ihrem Team geteilt, daher konzentrieren Sie sich auf projektweite Standards statt auf persönliche Vorlieben. Um zu bestätigen, dass die Datei geladen wurde, führen Sie /context in einer Sitzung aus und überprüfen Sie die Liste unter Memory-Dateien.

Schreiben Sie effektive Anweisungen

CLAUDE.md-Dateien werden zu Beginn jeder Sitzung in das Context Window geladen und verbrauchen Token zusammen mit Ihrer Konversation. Die Context Window-Visualisierung zeigt, wo CLAUDE.md relativ zum Rest des Startup-Kontexts geladen wird. Da sie Kontext statt erzwungene Konfiguration sind, beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude ihnen folgt. Spezifische, prägnante, gut strukturierte Anweisungen funktionieren am besten.

Größe: Ziel unter 200 Zeilen pro CLAUDE.md-Datei. Längere Dateien verbrauchen mehr Kontext und reduzieren die Einhaltung. Wenn Ihre Anweisungen zu groß werden, verwenden Sie pfadgebundene Regeln, damit Anweisungen nur geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, um Rauschen zu reduzieren und Kontextraum zu sparen. Sie können auch Inhalte in Importe aufteilen, um sie zu organisieren, obwohl importierte Dateien immer noch geladen werden und beim Start in das Context Window eingehen.

Struktur: Verwenden Sie Markdown-Header und Aufzählungszeichen, um verwandte Anweisungen zu gruppieren. Claude scannt die Struktur genauso wie Leser: organisierte Abschnitte sind leichter zu befolgen als dichte Absätze.

Spezifität: Schreiben Sie Anweisungen, die konkret genug sind, um überprüft zu werden. Zum Beispiel:

  • „Verwenden Sie 2-Leerzeichen-Einrückung" statt „Formatieren Sie Code ordnungsgemäß"
  • „Führen Sie npm test vor dem Commit aus" statt „Testen Sie Ihre Änderungen"
  • „API-Handler befinden sich in src/api/handlers/" statt „Halten Sie Dateien organisiert"

Konsistenz: Wenn zwei Regeln sich widersprechen, kann Claude eine willkürlich auswählen. Überprüfen Sie Ihre CLAUDE.md-Dateien, verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen und .claude/rules/ regelmäßig, um veraltete oder widersprüchliche Anweisungen zu entfernen. In Monorepos verwenden Sie claudeMdExcludes, um CLAUDE.md-Dateien von anderen Teams zu überspringen, die für Ihre Arbeit nicht relevant sind.

Importieren Sie zusätzliche Dateien

CLAUDE.md-Dateien können zusätzliche Dateien mit der Syntax @path/to/import importieren. Importierte Dateien werden erweitert und beim Start zusammen mit der CLAUDE.md, die sie referenziert, in den Kontext geladen.

Sowohl relative als auch absolute Pfade sind zulässig. Relative Pfade werden relativ zur Datei aufgelöst, die den Import enthält, nicht zum Arbeitsverzeichnis. Importierte Dateien können rekursiv andere Dateien importieren, mit einer maximalen Tiefe von vier Hops.

Das Parsing von Importen überspringt Markdown-Code-Spans und eingezäunte Code-Blöcke. Um einen Pfad in Ihrer CLAUDE.md zu erwähnen, ohne ihn zu importieren, wickeln Sie ihn in Backticks ein: Das Schreiben von `@README` hält den Text literal, während @README außerhalb von Backticks die Datei importiert.

Um eine README, package.json und einen Workflow-Leitfaden einzubeziehen, referenzieren Sie sie mit der @-Syntax überall in Ihrer CLAUDE.md:

Siehe @README für Projektübersicht und @package.json für verfügbare npm-Befehle für dieses Projekt.

# Zusätzliche Anweisungen
- Git-Workflow @docs/git-instructions.md

Für persönliche Vorlieben pro Projekt, die nicht in die Versionskontrolle eingecheckt werden sollten, erstellen Sie eine CLAUDE.local.md im Projektstammverzeichnis. Sie wird zusammen mit CLAUDE.md geladen und wird auf die gleiche Weise behandelt. Fügen Sie CLAUDE.local.md zu Ihrer .gitignore hinzu, damit sie nicht committed wird. Mit CLAUDE_CODE_NEW_INIT=1 gesetzt, führt das Ausführen von /init und das Auswählen der persönlichen Option dies für Sie durch.

Wenn Sie über mehrere Git-Worktrees desselben Repositories arbeiten, existiert eine gitignorierte CLAUDE.local.md nur in dem Worktree, in dem Sie sie erstellt haben. Um persönliche Anweisungen über Worktrees hinweg zu teilen, importieren Sie stattdessen eine Datei aus Ihrem Home-Verzeichnis:

# Individuelle Vorlieben
- @~/.claude/my-project-instructions.md

AGENTS.md

Claude Code liest CLAUDE.md, nicht AGENTS.md. Wenn Ihr Repository bereits AGENTS.md für andere Coding-Agenten verwendet, erstellen Sie eine CLAUDE.md, die es importiert, damit beide Tools die gleichen Anweisungen lesen, ohne sie zu duplizieren. Sie können auch Claude-spezifische Anweisungen unter dem Import hinzufügen. Claude lädt die importierte Datei beim Sitzungsstart und hängt dann den Rest an:

@AGENTS.md

## Claude Code

Verwenden Sie Plan Mode für Änderungen unter `src/billing/`.

Ein Symlink funktioniert auch, wenn Sie keine Claude-spezifischen Inhalte hinzufügen müssen:

ln -s AGENTS.md CLAUDE.md

Der Befehl gibt bei Erfolg keine Ausgabe aus. In Ihrer nächsten Sitzung führen Sie /context aus und bestätigen Sie, dass CLAUDE.md unter Memory-Dateien angezeigt wird.

Unter Windows erfordert das Erstellen eines Symlinks Administratorrechte oder Developer Mode, daher verwenden Sie stattdessen den Import @AGENTS.md.

Das Ausführen von /init liest Cursor-Regeln in .cursor/rules/ oder .cursorrules und Copilot-Regeln in .github/copilot-instructions.md und integriert die relevanten Teile in die generierte CLAUDE.md. Mit CLAUDE_CODE_NEW_INIT=1 gesetzt, liest /init auch AGENTS.md, .devin/rules/, .windsurf/rules/ oder .windsurfrules und .clinerules.

Sie können auch /import ausführen, um die Konfiguration eines unterstützten Coding-Agenten in Claude Code zu bringen, was eine einmalige Kopie von Anweisungsdateien wie AGENTS.md an die entsprechende CLAUDE.md anhängt und MCP-Server, Befehle, Subagents und Skills übernimmt. Erfordert Claude Code v2.1.213 oder später.

Wie CLAUDE.md-Dateien geladen werden

Claude Code lädt CLAUDE.md und CLAUDE.local.md aus Ihrem aktuellen Arbeitsverzeichnis und jedem Verzeichnis darüber. Führen Sie Claude Code in foo/bar/ aus und es lädt Anweisungen aus foo/bar/CLAUDE.md, foo/CLAUDE.md und allen CLAUDE.local.md-Dateien daneben.

Alle entdeckten Dateien werden in den Kontext verkettet, statt sich gegenseitig zu überschreiben. Über die Verzeichnisstruktur hinweg wird Inhalt vom Dateisystem-Root bis zu Ihrem Arbeitsverzeichnis geordnet. Für das Beispiel foo/bar/ erscheint foo/CLAUDE.md im Kontext vor foo/bar/CLAUDE.md, sodass Anweisungen näher an dem Ort, an dem Sie Claude gestartet haben, zuletzt gelesen werden. Innerhalb jedes Verzeichnisses wird CLAUDE.local.md nach CLAUDE.md angehängt, sodass Ihre persönlichen Notizen das letzte sind, das Claude auf dieser Ebene liest.

Claude entdeckt auch CLAUDE.md- und CLAUDE.local.md-Dateien in Unterverzeichnissen unter Ihrem aktuellen Arbeitsverzeichnis. Statt sie beim Start zu laden, werden sie eingebunden, wenn Claude Dateien in diesen Unterverzeichnissen liest.

Wenn Sie in einem großen Monorepo arbeiten, in dem CLAUDE.md-Dateien anderer Teams aufgegriffen werden, verwenden Sie claudeMdExcludes, um sie zu überspringen. Für das vollständige Layout von Root- und Pro-Verzeichnis-CLAUDE.md-Dateien und Regeln siehe Monorepos und große Repos.

Block-Level-HTML-Kommentare (<!-- maintainer notes -->) in CLAUDE.md-Dateien werden vor der Injektion in Claudes Kontext entfernt. Verwenden Sie sie, um Notizen für menschliche Betreuer zu hinterlassen, ohne Kontext-Token darauf zu verschwenden. Kommentare innerhalb von Code-Blöcken werden beibehalten. Wenn Sie eine CLAUDE.md-Datei direkt mit dem Read-Tool öffnen, bleiben Kommentare sichtbar.

Laden aus zusätzlichen Verzeichnissen

Das Flag --add-dir gibt Claude Zugriff auf zusätzliche Verzeichnisse außerhalb Ihres Hauptarbeitsverzeichnisses. Standardmäßig werden CLAUDE.md-Dateien aus diesen Verzeichnissen nicht geladen.

Um auch Memory-Dateien aus zusätzlichen Verzeichnissen zu laden, setzen Sie die Umgebungsvariable CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD:

CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

Dies lädt CLAUDE.md, .claude/CLAUDE.md, .claude/rules/*.md und CLAUDE.local.md aus dem zusätzlichen Verzeichnis. CLAUDE.local.md wird übersprungen, wenn Sie local aus --setting-sources ausschließen.

Organisieren Sie Regeln mit `.claude/rules/`

Für größere Projekte können Sie Anweisungen in mehrere Dateien mit dem Verzeichnis .claude/rules/ organisieren. Dies hält Anweisungen modular und leichter für Teams zu pflegen. Regeln können auch auf bestimmte Dateipfade beschränkt werden, sodass sie nur in den Kontext geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet, was Rauschen reduziert und Kontextraum spart.

Richten Sie Regeln ein

Platzieren Sie Markdown-Dateien im Verzeichnis .claude/rules/ Ihres Projekts. Jede Datei sollte ein Thema abdecken, mit einem beschreibenden Dateinamen wie testing.md oder api-design.md. Alle .md-Dateien werden rekursiv entdeckt, sodass Sie Regeln in Unterverzeichnisse wie frontend/ oder backend/ organisieren können:

your-project/
├── .claude/
│   ├── CLAUDE.md           # Hauptprojektanweisungen
│   └── rules/
│       ├── code-style.md   # Code-Style-Richtlinien
│       ├── testing.md      # Test-Konventionen
│       └── security.md     # Sicherheitsanforderungen

Regeln ohne paths-Frontmatter werden beim Start mit der gleichen Priorität wie .claude/CLAUDE.md geladen.

Projektregeln werden übersprungen, wenn Sie project aus --setting-sources ausschließen. Vor v2.1.211 wurden Regeln, die bei Bedarf geladen werden, einschließlich pfadgebundener Regeln und Regeln in verschachtelten .claude/rules/-Verzeichnissen, auch geladen, wenn project ausgeschlossen wurde.

Pfadspezifische Regeln

Regeln können mit YAML-Frontmatter mit dem Feld paths auf bestimmte Dateien beschränkt werden. Diese bedingten Regeln gelten nur, wenn Claude mit Dateien arbeitet, die den angegebenen Mustern entsprechen.

---
paths:
  - "src/api/**/*.ts"
---

# API-Entwicklungsregeln

- Alle API-Endpunkte müssen Eingabevalidierung enthalten
- Verwenden Sie das Standard-Fehlerantwortformat
- Fügen Sie OpenAPI-Dokumentationskommentare ein

Regeln ohne ein paths-Feld werden bedingungslos geladen und gelten für alle Dateien. Pfadgebundene Regeln werden ausgelöst, wenn Claude Dateien liest, die dem Muster entsprechen, nicht bei jedem Tool-Einsatz. Ab v2.1.198 funktioniert das Matching auch, wenn Claude eine Datei über einen symverlinkten Pfad zum Projektverzeichnis erreicht, zum Beispiel in einem symverlinkten Checkout.

Verwenden Sie Glob-Muster im Feld paths, um Dateien nach Erweiterung, Verzeichnis oder einer beliebigen Kombination zu vergleichen:

Muster Passt zu
**/*.ts Alle TypeScript-Dateien in jedem Verzeichnis
src/**/* Alle Dateien unter dem Verzeichnis src/
*.md Markdown-Dateien im Projektstamm
src/components/*.tsx React-Komponenten in einem bestimmten Verzeichnis

Sie können mehrere Muster angeben und Klammer-Expansion verwenden, um mehrere Erweiterungen in einem Muster zu vergleichen:

---
paths:
  - "src/**/*.{ts,tsx}"
  - "lib/**/*.ts"
  - "tests/**/*.test.ts"
---

Jede Klammer-Gruppe multipliziert die Anzahl der erweiterten Muster: src/*.{ts,tsx} wird zu zwei Mustern erweitert, und {a,b}/{c,d}/*.{ts,tsx} zu acht. Um die Erweiterung begrenzt zu halten, teilt sich die ganze paths-Liste einer Regel ein Budget von 1.000 erweiterten Mustern und 4 MiB, und Muster ohne Klammern zählen nicht dagegen.

Claude Code verwendet jeden Muster, der das Budget unerweitert überschreiten würde, und seine literalen Klammern passen zu keinen Dateien. Vor v2.1.217 führte ein paths-Wert mit vielen Klammer-Gruppen zu Stalls oder Crashes der CLI beim Start.

Glob-Syntax behandelt [ als den Anfang eines Klammer-Ausdrucks wie [abc]. Ein Muster mit einem [, das nicht als Klammer-Ausdruck gelesen werden kann, wie photos [2024/**, ist ungültig: es passt zu nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales [ in einem Dateinamen zu vergleichen, escapen Sie es als photos \[2024/**. Vor v2.1.207 führte ein ungültiges Muster dazu, dass das Read-Tool für jede Datei fehlschlug, gegen die die Regel ausgewertet wurde, statt zu nichts zu passen.

Das Verzeichnis .claude/rules/ unterstützt Symlinks, sodass Sie einen gemeinsamen Satz von Regeln pflegen und in mehrere Projekte verlinken können. Zirkuläre Symlinks werden erkannt und elegant behandelt.

Claude Code behandelt einen Symlink, dessen Ziel außerhalb Ihres Arbeitsverzeichnisses liegt, wie einen externen Import. Die verlinkten Regeln werden nicht geladen, bis Sie externe Importe für das Projekt genehmigen, und danach werden nur die ohne ein paths-Feld geladen. Claude Code fragt nach dieser Genehmigung nur, wenn eine Projekt-Memory-Datei eine Datei außerhalb des Arbeitsverzeichnisses mit @path importiert, nicht für Symlinks allein. Um gemeinsame Regeln ohne diese Genehmigung zu laden, halten Sie sie in ~/.claude/rules/, wo sie für jedes Projekt auf Ihrem Computer gelten.

Dieses Beispiel verlinkt sowohl ein gemeinsames Verzeichnis als auch eine einzelne Datei:

ln -s ~/shared-claude-rules .claude/rules/shared
ln -s ~/company-standards/security.md .claude/rules/security.md

Benutzerebenen-Regeln

Persönliche Regeln in ~/.claude/rules/ gelten für jedes Projekt auf Ihrem Computer. Verwenden Sie sie für Vorlieben, die nicht projektspezifisch sind:

~/.claude/rules/
├── preferences.md    # Ihre persönlichen Coding-Vorlieben
└── workflows.md      # Ihre bevorzugten Workflows

Benutzerebenen-Regeln werden vor Projektregeln geladen, was Projektregeln höhere Priorität gibt.

Verwalten Sie CLAUDE.md für große Teams

Für Organisationen, die Claude Code über Teams bereitstellen, können Sie Anweisungen zentralisieren und steuern, welche CLAUDE.md-Dateien geladen werden.

Stellen Sie organisationsweite CLAUDE.md bereit

Organisationen können eine zentral verwaltete CLAUDE.md bereitstellen, die für alle Benutzer auf einem Computer gilt. Diese Datei kann nicht durch individuelle Einstellungen ausgeschlossen werden.

1

Erstellen Sie die Datei am Ort der verwalteten Richtlinie

  • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
  • Linux und WSL: /etc/claude-code/CLAUDE.md
  • Windows: C:\Program Files\ClaudeCode\CLAUDE.md
2

Stellen Sie mit Ihrem Konfigurationsverwaltungssystem bereit

Verwenden Sie MDM, Group Policy, Ansible oder ähnliche Tools, um die Datei über Entwicklermaschinen zu verteilen. Siehe verwaltete Einstellungen für andere organisationsweite Konfigurationsoptionen.

Der Schlüssel claudeMd ermöglicht es Ihnen, verwaltete CLAUDE.md-Inhalte direkt in managed-settings.json zu platzieren, statt eine separate Datei bereitzustellen.

Umfang: jede Claude Code-Sitzung auf dem Computer, in jedem Repository. Für Repository-spezifische Anleitung committen Sie stattdessen eine Projekt-CLAUDE.md.

Vorrang: gleich wie eine verwaltete CLAUDE.md-Datei. Wird vor Benutzer- und Projekt-CLAUDE.md geladen.

Wo es berücksichtigt wird: nur verwaltete und Richtlinien-Einstellungen. Das Setzen von claudeMd in Benutzer-, Projekt- oder lokalen Einstellungen hat keine Auswirkung.

Das folgende Beispiel fügt Verhaltensanweisungen direkt in eine verwaltete Einstellungsdatei ein:

{
  "claudeMd": "Always run `make lint` before committing.\nNever push directly to main."
}

Eine verwaltete CLAUDE.md und verwaltete Einstellungen dienen unterschiedlichen Zwecken. Verwenden Sie Einstellungen für technische Durchsetzung und CLAUDE.md für Verhaltensanleitung:

Anliegen Konfigurieren in
Blockieren Sie bestimmte Tools, Befehle oder Dateipfade Verwaltete Einstellungen: permissions.deny
Erzwingen Sie Sandbox-Isolation Verwaltete Einstellungen: sandbox.enabled
Umgebungsvariablen und API-Provider-Routing Verwaltete Einstellungen: env
Authentifizierungsmethode und Organisationssperre Verwaltete Einstellungen: forceLoginMethod, forceLoginOrgUUID
Code-Style und Qualitätsrichtlinien Verwaltete CLAUDE.md
Datenbehandlung und Compliance-Erinnerungen Verwaltete CLAUDE.md
Verhaltensanweisungen für Claude Verwaltete CLAUDE.md

Einstellungsregeln werden vom Client unabhängig davon durchgesetzt, was Claude entscheidet zu tun. CLAUDE.md-Anweisungen prägen Claudes Verhalten, sind aber keine harte Durchsetzungsebene.

Schließen Sie bestimmte CLAUDE.md-Dateien aus

In großen Monorepos können Vorgänger-CLAUDE.md-Dateien Anweisungen enthalten, die für Ihre Arbeit nicht relevant sind. Die Einstellung claudeMdExcludes ermöglicht es Ihnen, bestimmte Dateien nach Pfad oder Glob-Muster zu überspringen.

Dieses Beispiel schließt eine CLAUDE.md auf oberster Ebene und ein Regelverzeichnis aus einem übergeordneten Ordner aus. Fügen Sie es zu .claude/settings.local.json hinzu, damit der Ausschluss lokal auf Ihrem Computer bleibt:

{
  "claudeMdExcludes": [
    "**/monorepo/CLAUDE.md",
    "/home/user/monorepo/other-team/.claude/rules/**"
  ]
}

Muster werden mit Glob-Syntax gegen absolute Dateipfade abgeglichen. Sie können claudeMdExcludes auf jeder Einstellungsebene konfigurieren: Benutzer, Projekt, lokal oder verwaltete Richtlinie. Arrays werden über Ebenen hinweg zusammengeführt.

Um eine Regeldatei auszuschließen, die Sie über einen Symlink erreichen, ob die Datei oder ihr Verzeichnis der Link ist, schreiben Sie das Muster gegen einen der beiden Pfade: den Pfad der Datei unter .claude/rules/ oder ihr Link-Ziel. Ein Muster, das einen der beiden Pfade passt, schließt die Datei aus. Vor v2.1.239 schloss nur ein Muster, das das Link-Ziel passte, die Datei aus.

CLAUDE.md-Dateien mit verwalteter Richtlinie können nicht ausgeschlossen werden. Dies stellt sicher, dass organisationsweite Anweisungen unabhängig von individuellen Einstellungen immer gelten.

Auto-Memory

Auto-Memory lässt Claude Wissen über Sitzungen hinweg sammeln, ohne dass Sie etwas schreiben müssen. Während Claude arbeitet, speichert es vier Arten von Notizen für sich selbst. Claude speichert die Art als type-Feld in der Frontmatter der Memory-Datei:

  • user: Ihre Rolle, Expertise und Arbeitspräferenzen
  • feedback: Korrektionen, die Sie Claude geben, und Ansätze, die Sie bestätigen
  • project: laufende Arbeiten, Fristen und Entscheidungen, die Claude nicht aus dem Code oder der Git-Historie ableiten kann
  • reference: wo man Informationen außerhalb des Projekts findet, wie einen Issue-Tracker oder ein Dashboard

Claude überspringt alles, was es aus der Codebasis ableiten kann, wie Architektur, Dateipfade oder Debugging-Fixes. Es überspringt auch alles, was Ihre CLAUDE.md-Dateien bereits sagen.

Claude speichert nicht jede Sitzung etwas. Es entscheidet, was es sich merken sollte, basierend darauf, ob die Information in einer zukünftigen Konversation nützlich wäre.

Aktivieren oder deaktivieren Sie Auto-Memory

Auto-Memory ist standardmäßig aktiviert. Um es umzuschalten, öffnen Sie /memory in einer Sitzung und verwenden Sie den Auto-Memory-Schalter, der autoMemoryEnabled in Ihren Benutzereinstellungen unter ~/.claude/settings.json speichert. Um es für ein einzelnes Projekt auszuschalten, setzen Sie autoMemoryEnabled in den Einstellungen dieses Projekts:

{
  "autoMemoryEnabled": false
}

Um Auto-Memory über eine Umgebungsvariable zu deaktivieren, setzen Sie CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.

Speicherort

Jedes Projekt erhält sein eigenes Memory-Verzeichnis unter ~/.claude/projects/<project>/memory/. Der <project>-Pfad wird aus dem Git-Repository abgeleitet, sodass alle Worktrees und Unterverzeichnisse innerhalb desselben Repos ein Auto-Memory-Verzeichnis teilen. Außerhalb eines Git-Repos wird stattdessen das Projektstammverzeichnis verwendet.

Wenn Sie CLAUDE_CODE_PROJECT_DIR_NAME neben CLAUDE_CONFIG_DIR setzen, verwendet Claude Code diesen Namen als <project>-Verzeichnis unter <config dir>/projects/ unabhängig davon, welches Repository Sie starten, sodass Projekte, die mit diesem Konfigurationsverzeichnis gestartet werden, ein Auto-Memory-Verzeichnis teilen. Erfordert Claude Code v2.1.234 oder später.

Um Auto-Memory an einem anderen Ort zu speichern, setzen Sie autoMemoryDirectory in Ihrer settings.json. Es wird aus jedem Einstellungsbereich gelesen: Benutzer, Projekt, lokal, Richtlinie oder --settings.

{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}

Der Wert muss ein absoluter Pfad sein oder mit ~/ beginnen. Wenn Sie ihn in der .claude/settings.json oder .claude/settings.local.json eines Projekts festlegen, berücksichtigt Claude Code ihn unter der gleichen Workspace-Trust-Regel wie Hooks in Einstellungsdateien.

Das Verzeichnis enthält einen MEMORY.md-Index und eine Themadatei pro Memory:

~/.claude/projects/<project>/memory/
├── MEMORY.md           # Index, eine Zeile pro Memory, geladen in jede Sitzung
├── user_role.md        # Ein Memory
├── feedback_testing.md # Ein Memory
└── ...                 # Alle anderen Themadateien, die Claude erstellt

MEMORY.md fungiert als Index des Memory-Verzeichnisses. Claude liest und schreibt Dateien in diesem Verzeichnis während Ihrer Sitzung und verwendet MEMORY.md, um den Überblick zu behalten, was wo gespeichert ist.

Auto-Memory ist maschinenlokal. Alle Worktrees und Unterverzeichnisse innerhalb desselben Git-Repositories teilen ein Auto-Memory-Verzeichnis. Dateien werden nicht über Maschinen oder Cloud-Umgebungen hinweg geteilt.

Claude Code löscht alte Sitzungstranskripte nach der cleanupPeriodDays-Aufbewahrungsfrist, schließt aber die Memory-Dateien im Memory-Verzeichnis von dieser Aufbewahrungslöschung aus. MEMORY.md und Themadateien bleiben bestehen, bis Sie oder Claude sie bearbeiten oder löschen.

Wie es funktioniert

Die ersten 200 Zeilen von MEMORY.md, oder die ersten 25 KB, je nachdem, was zuerst erreicht wird, werden zu Beginn jeder Konversation geladen. Inhalte über diese Schwelle hinaus werden nicht beim Sitzungsstart geladen. Claude hält MEMORY.md prägnant, indem es detaillierte Notizen in separate Themadateien verschiebt.

Nachdem Claude in MEMORY.md schreibt, misst Claude Code die Datei gegen die 200-Zeilen- und 25-KB-Lesegrenzen. Wenn die Datei sich einer Grenze nähert, erinnert Claude Code Claude daran, sie zu verkürzen: eine Zeile pro Eintrag behalten, Details in Themadateien verschieben und veraltete Einträge zusammenführen oder löschen. Wenn die Datei über einer Grenze liegt, wird der Schreibvorgang trotzdem erfolgreich ausgeführt, aber Claude Code gibt einen Fehler zurück, der Claude auffordert, den Index umzuschreiben, da alles über der Grenze beim nächsten Laden verworfen wird.

Diese Grenze gilt nur für MEMORY.md. Claude Code lädt eine CLAUDE.md-Datei von bis zu 4 MiB vollständig und überspringt eine größere Datei. Kürzere Dateien erzeugen bessere Einhaltung.

Claude Code lädt Themadateien wie user_role.md oder feedback_testing.md nicht beim Start. Claude liest sie bei Bedarf mit seinen Standard-Datei-Tools, wenn es die Informationen benötigt.

Das Auto-Memory der Hauptkonversation wird nicht in Subagenten geladen; die Ausnahme ist ein Fork, der die übergeordnete Konversation und den System-Prompt erbt. Das eigene Auto-Memory eines Subagenten, aktiviert mit dem Subagenten-memory-Feld, ist ein separates Verzeichnis.

Claude liest und schreibt Memory-Dateien während Ihrer Sitzung. Wenn Sie Meldungen wie „Saved 2 memories" oder „Recalled 2 memories" in der Claude Code-Schnittstelle sehen, aktualisiert oder liest Claude aktiv aus ~/.claude/projects/<project>/memory/.

Wenn Claude eine Memory-Datei schreibt, die mit YAML-Frontmatter beginnt, speichert Claude Code die Schreibzeit in einem modified-Frontmatter-Feld als ISO-8601-Zeitstempel. Der Zeitstempel zeigt, wie aktuell die Tatsache ist, sowohl für Sie als auch für Claude, wenn es das Memory zurückliest. Jede Datei, die Frontmatter hat, erhält das Feld beim nächsten Schreiben durch Claude, einschließlich Dateien, die in früheren Versionen erstellt wurden; Claude Code fügt niemals Frontmatter zu einer Datei hinzu, die keine hat. Das modified-Feld erfordert Claude Code v2.1.214 oder später.

Überprüfen und bearbeiten Sie Ihr Memory

Auto-Memory-Dateien sind einfaches Markdown, das Sie jederzeit bearbeiten oder löschen können. Führen Sie /memory aus, um Memory-Dateien innerhalb einer Sitzung zu durchsuchen und zu öffnen.

Anzeigen und Bearbeiten mit `/memory`

Der Befehl /memory listet Ihre CLAUDE.md-, CLAUDE.local.md- und andere Speicherdateien an verschiedenen Orten im Benutzer- und Projektbereich auf, einschließlich Benutzer- und Projekt-CLAUDE.md-Einträge für Dateien, die noch nicht existieren. Er ermöglicht es Ihnen auch, Auto-Memory ein- oder auszuschalten, und bietet eine Option zum Öffnen des Auto-Memory-Ordners. Wählen Sie eine beliebige Datei aus, um sie in Ihrem Editor zu öffnen. Wenn Sie eine Datei auswählen, die noch nicht existiert, wird sie zuerst erstellt. Um zu überprüfen, welche Dateien tatsächlich in die aktuelle Sitzung geladen wurden, führen Sie /context aus.

GUI-Editoren wie VS Code öffnen die Datei in einem separaten Fenster, und Sie können die Sitzung weiterhin nutzen, während sie offen ist. Vor v2.1.216 wartete /memory darauf, dass Sie die Datei schließen, bevor es antwortete. Terminal-Editoren wie Vim übernehmen das Terminal, bis Sie es beenden.

Wenn Sie Claude bitten, sich etwas zu merken, wie „immer pnpm verwenden, nicht npm" oder „denken Sie daran, dass die API-Tests eine lokale Redis-Instanz erfordern", speichert Claude es in Auto-Memory. Um Anweisungen stattdessen zu CLAUDE.md hinzuzufügen, bitten Sie Claude direkt, wie „fügen Sie dies zu CLAUDE.md hinzu", oder bearbeiten Sie die Datei selbst über /memory.

Fehlerbehebung bei Memory-Problemen

Dies sind die häufigsten Probleme mit CLAUDE.md und Auto-Memory, zusammen mit Schritten zum Debuggen.

Claude folgt meiner CLAUDE.md nicht

CLAUDE.md-Inhalte werden als Benutzernachricht nach dem System-Prompt bereitgestellt, nicht als Teil des System-Prompts selbst. Claude liest ihn und versucht, ihm zu folgen, aber es gibt keine Garantie für strikte Einhaltung, besonders bei vagen oder widersprüchlichen Anweisungen.

Zum Debuggen:

  • Führen Sie /context aus und überprüfen Sie die Liste unter Memory-Dateien, um zu überprüfen, dass Ihre CLAUDE.md- und CLAUDE.local.md-Dateien geladen wurden. Wenn eine Datei dort fehlt, kann Claude sie nicht sehen. Verwenden Sie /memory, um die Dateien zu öffnen und zu bearbeiten.
  • Überprüfen Sie, dass die relevante CLAUDE.md an einem Ort ist, der für Ihre Sitzung geladen wird (siehe Wählen Sie, wo Sie CLAUDE.md-Dateien ablegen).
  • Machen Sie Anweisungen spezifischer. „Verwenden Sie 2-Leerzeichen-Einrückung" funktioniert besser als „formatieren Sie Code schön".
  • Suchen Sie nach widersprüchlichen Anweisungen über CLAUDE.md-Dateien hinweg. Wenn zwei Dateien unterschiedliche Anleitungen für das gleiche Verhalten geben, kann Claude eine willkürlich auswählen.

Wenn die Anweisung etwas ist, das an einem bestimmten Punkt ausgeführt werden muss, z. B. vor jedem Commit oder nach jeder Dateibearbeitung, schreiben Sie sie stattdessen als Hook. Hooks werden als Shell-Befehle bei festen Lebenszyklusereignissen ausgeführt und gelten unabhängig davon, was Claude entscheidet zu tun.

Für Anweisungen, die Sie auf System-Prompt-Ebene haben möchten, verwenden Sie --append-system-prompt. Sie müssen sie bei jeder Invokation übergeben, daher ist es besser für Skripte und Automatisierung als für interaktive Nutzung geeignet. Informationen zum Verhalten beim Fortsetzen einer Konversation finden Sie unter System-Prompt-Flags in fortgesetzten Konversationen.

Ich weiß nicht, was Auto-Memory gespeichert hat

Führen Sie /memory aus und wählen Sie den Auto-Memory-Ordner aus, um zu durchsuchen, was Claude gespeichert hat. Alles ist einfaches Markdown, das Sie lesen, bearbeiten oder löschen können.

Meine CLAUDE.md ist zu groß

Dateien über 200 Zeilen verbrauchen mehr Kontext und können die Einhaltung reduzieren. Claude Code überspringt eine Datei über 4 MiB. Verwenden Sie pfadgebundene Regeln, um Anweisungen nur zu laden, wenn Claude mit übereinstimmenden Dateien arbeitet, oder trimmen Sie Inhalte, die nicht in jeder Sitzung benötigt werden. Das Aufteilen in @path-Importe hilft bei der Organisation, reduziert aber nicht den Kontext, da importierte Dateien beim Start geladen werden.

Die /doctor-Überprüfung schlägt Kürzungen für eine eingecheckte CLAUDE.md vor: Sie entfernt Inhalte, die Claude aus der Codebasis ableiten kann, wie Verzeichnislayouts, Abhängigkeitslisten und Architekturübersichten, und behält Fallstricke, Begründungen und Konventionen, die sich von Tool-Standardwerten unterscheiden. Die Trim-Überprüfung erfordert Claude Code v2.1.206 oder später.

Anweisungen scheinen nach `/compact` verloren zu gehen

Projekt-Root-CLAUDE.md übersteht Komprimierung: Nach /compact liest Claude sie neu von der Festplatte und injiziert sie frisch in die Sitzung. Verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen und Regeln mit paths:-Frontmatter werden neu geladen, wenn Claude Dateien liest, auf die sie zutreffen.

Wenn eine Anweisung nach der Komprimierung verschwunden ist, wurde sie entweder nur in der Konversation gegeben, befindet sich in einer verschachtelten CLAUDE.md, die noch nicht neu geladen wurde, oder ist eine pfadgebundene Regel, die seit der Komprimierung keine Datei gefunden hat. Fügen Sie Anweisungen, die nur in der Konversation gegeben wurden, zu CLAUDE.md hinzu, um sie über Sitzungen hinweg zu erhalten. Weitere Informationen finden Sie unter Was übersteht Komprimierung für die vollständige Aufschlüsselung.

Weitere Informationen finden Sie unter Schreiben Sie effektive Anweisungen für Anleitungen zu Größe, Struktur und Spezifität.

  • Debuggen Sie Ihre Konfiguration: Diagnostizieren Sie, warum CLAUDE.md oder Einstellungen nicht wirksam werden
  • Skills: Verpacken Sie wiederholbare Workflows, die bei Bedarf geladen werden
  • Einstellungen: Konfigurieren Sie Claude Code-Verhalten mit Einstellungsdateien
  • Subagent-Memory: Lassen Sie Subagents ihre eigene Auto-Memory pflegen