Skip to main content
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. Claude kann anstelle von CLAUDE.md auch die AGENTS.md-Dateien eines Repositorys lesen
  • 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. 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 Arbeitsablauf oder Ihre gesamte Organisation geben. Sie schreiben diese Dateien in Klartext; Claude liest sie zu Beginn jeder Sitzung. Wenn Ihr Repository stattdessen AGENTS.md verwendet, siehe AGENTS.md.

Wann Sie zu CLAUDE.md hinzufügen

Behandeln Sie CLAUDE.md als den Ort, an dem Sie aufschreiben, was Sie sonst erklären würden. Fügen Sie hinzu, wenn:
  • Claude denselben Fehler ein zweites Mal macht
  • Ein Code-Review etwas findet, das Claude über diese Codebasis hätte wissen sollen
  • Sie dieselbe Korrektur oder Klarstellung in den Chat eingeben, die Sie in der letzten Sitzung eingegeben haben
  • Ein neuer Teamkollege denselben 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 relevant ist, verschieben Sie ihn stattdessen zu einem Skill oder einer pfadgebundenen Regel. Die Erweiterungsü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. CLAUDE.md- und CLAUDE.local.md-Dateien in der Verzeichnishierarchie über dem Arbeitsverzeichnis werden beim Start geladen. Dateien in Unterverzeichnissen werden bei Bedarf geladen. Siehe Wie CLAUDE.md-Dateien geladen werden dafür, wann sie geladen werden, und 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, Codierungsstandards, architektonische Entscheidungen, Namenskonventionen und häufige Arbeitsabläufe. Diese Anweisungen werden über Versionskontrolle mit Ihrem Team geteilt, daher konzentrieren Sie sich auf projektweite Standards statt auf persönliche Voreinstellungen. 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.
Führen Sie /init aus, um automatisch eine Start-CLAUDE.md zu generieren. Claude analysiert Ihre Codebasis und erstellt eine Datei mit Build-Befehlen, Test-Anweisungen und Projektkonventionen, die es entdeckt. Wenn bereits eine CLAUDE.md vorhanden ist, schlägt /init Verbesserungen vor, statt sie zu überschreiben. Verfeinern Sie von dort aus mit Anweisungen, die Claude nicht selbst entdecken würde.Für einen interaktiven mehrstufigen Ablauf setzen Sie stattdessen die Umgebungsvariable CLAUDE_CODE_NEW_INIT auf 1, bevor Sie /init ausführen. Setzen Sie sie in Ihrer Shell oder im env-Block einer Einstellungsdatei, wie in Umgebungsvariablen setzen gezeigt. Mit dieser Einstellung fragt /init, welche Artefakte eingerichtet werden sollen: CLAUDE.md-Dateien, Skills und Hooks. Es erkundet dann Ihre Codebasis mit einem Subagenten, füllt Lücken durch Folgefragen aus und präsentiert einen überprüfbaren Vorschlag, bevor Dateien geschrieben werden. Die Variable ändert nur, wie /init ausgeführt wird, daher können Sie sie gesetzt lassen.

Schreiben Sie effektive Anweisungen

Claude behandelt CLAUDE.md-Dateien als Kontext, nicht als erzwungene Konfiguration, daher beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude sie befolgt. Schreiben Sie Anweisungen, die konkret genug sind, um überprüft zu werden:
  • „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“
Halten Sie Ihre Dateien kurz, organisiert und konsistent:
  • Größe: Ziel unter 200 Zeilen pro CLAUDE.md-Datei. Längere Dateien verbrauchen mehr Kontext und verringern die Einhaltung. Verschieben Sie Anweisungen, die nur für einen Teil der Codebasis relevant sind, in pfadgebundene Regeln, die nur geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet. Importe helfen Ihnen, eine lange Datei zu organisieren, reduzieren aber nicht ihre Kontextkosten, da importierte Dateien auch beim Start geladen werden.
  • Struktur: Gruppieren Sie verwandte Anweisungen unter Markdown-Überschriften und Aufzählungszeichen. Organisierte Abschnitte sind leichter für Claude zu folgen als dichte Absätze.
  • Konsistenz: Wenn zwei Anweisungen 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. Um Claude diese für Sie finden zu lassen, führen Sie eine Prompt-Überprüfung aus.

Überprüfen Sie Ihre Anweisungsdateien

Um Claude Ihre Anweisungsdateien auf veraltete oder widersprüchliche Inhalte überprüfen zu lassen, führen Sie /doctor prompt-audit in einer Sitzung aus. Claude sucht nach Problemen wie Anweisungen, die für ältere Modelle geschrieben wurden, Verweise auf Dateien oder Befehle, die nicht vorhanden sind, und Dateien, die sich widersprechen. Sie erhalten einen Bericht mit Erkenntnissen und vorgeschlagenen Änderungen, und nichts in Ihren Dateien ändert sich, bis Sie Claude bitten, sie anzuwenden. Standardmäßig deckt die Überprüfung Ihre CLAUDE.md-, CLAUDE.local.md- und AGENTS.md-Dateien sowie die Regeln, Skills, Befehle, Subagenten und Ausgabestile unter .claude/ und ~/.claude/ ab. Um stattdessen eine Datei oder ein Verzeichnis zu überprüfen, übergeben Sie seinen Pfad, zum Beispiel /doctor prompt-audit .claude/skills/deploy. Die Überprüfung wird durch den gebündelten /claude-api-Skill ausgeführt. Sie ist nicht verfügbar, während dieser Skill in skillOverrides ausgeschaltet ist oder mit disableBundledSkills. /doctor prompt-audit erfordert Claude Code v2.1.283 oder später.

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. Um eine Datei zu importieren, deren Pfad Leerzeichen enthält, setzen Sie einen Backslash vor jedes Leerzeichen. Ohne die Backslashes endet der Pfad beim ersten Leerzeichen, auch wenn der Import auf einer eigenen Zeile steht. Ein Pfad, der in Anführungszeichen eingeschlossen ist, wird überhaupt nicht importiert, mit oder ohne Backslashes. Dieser Import lädt eine Datei aus einem Ordner namens Design Docs:
Das Import-Parsing überspringt Markdown-Code-Spannweiten 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 @-Syntax überall in Ihrer CLAUDE.md:
Für private projektspezifische Voreinstellungen, 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 genauso behandelt. Fügen Sie CLAUDE.local.md zu Ihrer .gitignore hinzu, damit sie nicht committed wird. Mit CLAUDE_CODE_NEW_INIT=1 gesetzt, führen Sie /init aus und wählen die persönliche Option, um dies für Sie zu tun. Wenn Sie über mehrere Git-Worktrees desselben Repositorys 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:
Ein Import in einer projektweiten Memory-Datei ist extern, wenn sein Pfad außerhalb Ihres Arbeitsverzeichnisses aufgelöst wird, wie der Home-Verzeichnis-Import oben. Wenn Claude Code zum ersten Mal auf externe Importe in einem Projekt trifft, zeigt es einen Genehmigungsdialog an, der die Dateien auflistet. Wenn Sie ablehnen, bleiben die Importe deaktiviert und der Dialog wird nicht erneut angezeigt.Claude Code zeigt den Dialog, um Sie vor Dateien zu schützen, die andere Personen in ein gemeinsames Projekt committen. Benutzerbereichs-Memory-Dateien, wie ~/.claude/CLAUDE.md und ~/.claude/rules/, sind Dateien, die Sie selbst geschrieben haben. Außer in Cowork-Sitzungen auf Ihrem Desktop lädt Claude Code ihre Importe ohne den Dialog und vertraut ihnen wie dem Rest Ihrer persönlichen Konfiguration.In Cowork-Sitzungen auf Ihrem Desktop überspringt Claude Code jeden Import in einer Benutzerbereichs-Datei, der zu einem Pfad außerhalb des Arbeitsverzeichnisses der Sitzung aufgelöst wird, und lädt den Rest der Datei. In diesen Sitzungen überspringt es auch eine ~/.claude/CLAUDE.md, die selbst ein Symlink oder Hard Link ist, und ein ~/.claude/rules/-Verzeichnis oder eine Regeldatei, das bzw. die ein Symlink mit einem Ziel außerhalb des Arbeitsverzeichnisses ist.

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 den Verzeichnisbaum wird der 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, daher werden Anweisungen näher an dem Ort, an dem Sie Claude gestartet haben, zuletzt gelesen. Innerhalb jedes Verzeichnisses wird CLAUDE.local.md nach CLAUDE.md angehängt, daher sind Ihre persönlichen Notizen das letzte, was 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, lädt Claude Code jede davon, sobald Claude eine andere Datei in diesem Unterverzeichnis liest, schreibt oder bearbeitet. Zum Lesen zählt auch das Anzeigen der Datei mit einem Bash-Befehl, der als Lesevorgang gilt, etwa cat oder head auf eine einzelne Datei. Für Dateien innerhalb eines Worktrees unter .claude/worktrees/ siehe Subagenten mit Worktrees isolieren. 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 dem Einfügen des Inhalts in Claudes Kontext entfernt. Verwenden Sie sie, um Notizen für menschliche Betreuer zu hinterlassen, ohne Kontext-Token darauf zu verschwenden. Kommentare in 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:
Die Inline-Form setzt die Variable für diesen einen Start in Bash oder Zsh. Um sie für jede Sitzung eingeschaltet zu halten, fügen Sie sie zum env-Block in ~/.claude/settings.json hinzu, wie in Umgebungsvariablen setzen gezeigt. 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 verwalten. Regeln können auch auf bestimmte Dateipfade beschränkt werden, daher werden sie nur in den Kontext geladen, wenn Claude mit übereinstimmenden Dateien arbeitet, was Rauschen reduziert und Kontextraum spart.
Regeln werden in jeder Sitzung oder beim Öffnen übereinstimmender Dateien in den Kontext geladen. Für aufgabenspezifische Anweisungen, die nicht die ganze Zeit im Kontext sein müssen, verwenden Sie stattdessen Skills, die nur geladen werden, wenn Sie sie aufrufen oder wenn Claude bestimmt, dass sie für Ihren Prompt relevant sind.

Richten Sie Regeln ein

Platzieren Sie Markdown-Dateien im Verzeichnis .claude/rules/ Ihres Projekts. Jede Datei sollte ein Thema abdecken, mit einem aussagekräftigen Dateinamen wie testing.md oder api-design.md. Alle .md-Dateien werden rekursiv entdeckt, daher können Sie Regeln in Unterverzeichnisse wie frontend/ oder backend/ organisieren:
Regeln ohne paths-Frontmatter werden beim Start mit derselben 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 war.

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.
Regeln ohne ein paths-Feld werden bedingungslos geladen und gelten für alle Dateien. Eine pfadgebundene Regel wird geladen, wenn Claude das Read-, Write- oder Edit-Tool auf eine passende Datei anwendet. Sie wird auch geladen, wenn Claude eine passende Datei mit einem Bash-Befehl anzeigt, der als Lesevorgang gilt, etwa cat oder head auf eine einzelne Datei. Das Matching funktioniert auch, wenn Claude eine Datei über einen per Symlink verknüpften Pfad zum Projektverzeichnis erreicht, zum Beispiel in einem per Symlink verknüpften Checkout. Verwenden Sie Glob-Muster im Feld paths, um Dateien nach Erweiterung, Verzeichnis oder einer beliebigen Kombination zu vergleichen: Sie können mehrere Muster angeben und Klammer-Erweiterung verwenden, um mehrere Erweiterungen in einem Muster zu vergleichen:
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 eine 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 jedes Muster, das das Budget unerweitert überschreiten würde, und seine literalen Klammern passen zu keinen Dateien. Vor v2.1.217 brachte ein paths-Wert mit vielen Klammer-Gruppen die CLI beim Start zum Stillstand oder zum Absturz. Die 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, maskieren Sie es als photos \[2024/**.

Regel-Frontmatter-Referenz

Konfigurieren Sie eine Regel mit YAML-Frontmatter zwischen ----Markierungen am Anfang der Datei. paths ist das einzige Feld, das Claude Code aus einer Regel liest; jedes andere Feld wird ohne Fehler ignoriert. Claude Code entfernt das Frontmatter, bevor die Regel in den Kontext geladen wird. Wenn das YAML zwischen den Markierungen nicht analysiert wird, ignoriert Claude Code das Frontmatter und lädt die Regel so, als hätte sie kein paths. Führen Sie claude --debug aus, um den Parse-Fehler zu sehen. Das Verzeichnis .claude/rules/ unterstützt Symlinks, daher können Sie einen gemeinsamen Satz von Regeln verwalten und sie in mehrere Projekte verlinken. 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 verknüpften 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 einmal pro Projekt in einem Dialog zu Beginn einer interaktiven Sitzung nach dieser Genehmigung. Der Dialog listet die verknüpften Regeldateien zusammen mit allen externen @path-Importen auf. Um gemeinsame Regeln ohne diese Genehmigung zu laden, halten Sie sie in ~/.claude/rules/, wo sie auf jedem Projekt auf Ihrem Computer gelten. Dieses Beispiel verlinkt sowohl ein gemeinsames Verzeichnis als auch eine einzelne Datei:
Wenn Sie einen .claude/rules/- oder CLAUDE.md-Symlink auf einen Netzwerkpfad wie die UNC-Freigabe \\server\share oder einen Pfad unter /net oder /Network zeigen, werden die verknüpften Anweisungen nicht geladen. Claude Code folgt dem Link nicht, da das Nachschlagen eines solchen Pfads den Host kontaktieren kann, den er benennt. \\wsl$-Pfade zählen nicht als Netzwerkpfade.

Benutzerweite Regeln

Persönliche Regeln in ~/.claude/rules/ gelten für jedes Projekt auf Ihrem Computer. Verwenden Sie sie für Voreinstellungen, die nicht projektspezifisch sind:
Claude Code lädt Benutzerweite Regeln vor Projektregeln, daher erscheint eine Projektregel später in Claudes Kontext als eine Benutzerregel. Keine Gruppe überschreibt die andere: Wenn eine Benutzerregel und eine Projektregel sich widersprechen, kann Claude eine beliebige befolgen, daher halten Sie die beiden konsistent.

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 verwalteten Richtlinienort

  • 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 repositoryspezifische 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 Richtlinieneinstellungen. 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:
Eine verwaltete CLAUDE.md und verwaltete Einstellungen dienen unterschiedlichen Zwecken. Verwenden Sie Einstellungen für technische Durchsetzung und CLAUDE.md für Verhaltensanleitung: 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:
Muster werden gegen absolute Dateipfade mit Glob-Syntax 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 zu einem der beiden Pfade passt, schließt die Datei aus. Vor v2.1.239 schloss nur ein Muster, das zum Link-Ziel passte, die Datei aus. Verwaltete Richtlinien-CLAUDE.md-Dateien können nicht ausgeschlossen werden. Dies stellt sicher, dass organisationsweite Anweisungen unabhängig von individuellen Einstellungen immer gelten.

AGENTS.md

Claude Code kann AGENTS.md als Ihre Projektanweisungen lesen, daher funktioniert ein Repository, das bereits für andere Codierungs-Agenten eingerichtet ist, ohne dass Sie eine CLAUDE.md, einen Import oder eine Einstellung hinzufügen müssen. Diese Tabelle zeigt, was Claude standardmäßig für jede Kombination von Anweisungsdateien in Ihrem Repository liest: Um die Standardeinstellung zu ändern, z. B. um Claude beide Dateien lesen zu lassen, nur CLAUDE.md zu lesen oder nur die verwalteten Anweisungen Ihrer Organisation zu lesen, ändern Sie die Einstellung Projektanweisungen.
Das direkte Lesen von AGENTS.md erfordert Claude Code v2.1.277 oder später. In einigen Sitzungen kann Claude AGENTS.md nicht lesen, daher importieren Sie es stattdessen aus einer CLAUDE.md.

Wann Claude Code AGENTS.md liest

Standardmäßig liest Claude AGENTS.md nur, wenn Sie keine CLAUDE.md in Ihrem Arbeitsverzeichnis oder darüber haben. Hier sind die Dateien, die für diese Prüfung zählen:
  • Zählen, daher liest Claude diese statt AGENTS.md: eine CLAUDE.md, .claude/CLAUDE.md oder CLAUDE.local.md in Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber
  • Zählen nicht und laden weiterhin neben AGENTS.md: Ihre ~/.claude/CLAUDE.md, die verwaltete CLAUDE.md Ihrer Organisation und .claude/rules/-Dateien
Wenn keine zählen, liest Claude hier, was es liest und wie Sie es erkennen können:
  • Beim Sitzungsstart: jede AGENTS.md und .claude/AGENTS.md in Ihrem Arbeitsverzeichnis und den Verzeichnissen darüber. In einer interaktiven Sitzung sehen Sie eine Zeile wie no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md in der Konversation
  • Wenn Claude in Unterverzeichnissen arbeitet: eine AGENTS.md eines Unterverzeichnisses, wenn Claude dort eine Datei mit dem Read-Tool öffnet und dieses Unterverzeichnis keine der drei CLAUDE.md-Dateien selbst hat
  • Innerhalb jeder AGENTS.md: @path-Importe werden erweitert, claudeMdExcludes-Muster gelten, und Subagenten, die ohne Projektanweisungen starten, starten auch ohne diese Dateien
  • Nicht gelesen: AGENTS.local.md, AGENTS.override.md oder alles unter einem .agents/-Verzeichnis
Da CLAUDE.local.md zählt, stoppt das Hinzufügen einer zum Speichern Ihrer eigenen nicht committeten Anweisungen in einem Projekt, das auf AGENTS.md angewiesen ist, Claude vom Lesen von AGENTS.md für Sie. Um Ihre CLAUDE.local.md zu behalten und Claude trotzdem AGENTS.md lesen zu lassen, setzen Sie Projektanweisungen auf claude-md-and-agents-md.

Wählen Sie, welche Anweisungsdateien geladen werden

Um zu ändern, welche Dateien Claude liest, geben Sie /config in einer Claude Code-Sitzung ein, um das Einstellungsfenster zu öffnen, und setzen Sie dann Projektanweisungen auf einen dieser Werte: Sie können den Wert auch in einer Einstellungsdatei statt in /config setzen. Fügen Sie ihn in pluginConfigs unter cc-plugin-agents-md@builtin hinzu, der ID des integrierten Plugins, das AGENTS.md liest. Claude Code liest den Eintrag aus ~/.claude/settings.json, einer --settings-Datei oder verwalteten Einstellungen und ignoriert ihn in Projekt- und lokalen Einstellungsdateien. Dieses Beispiel lässt Claude beide Dateien lesen:
settings.json
Vor v2.1.285 lautete die ID des Plugins agents-md@builtin, und Claude Code ignorierte einen Eintrag unter cc-plugin-agents-md@builtin. Wenn auch frühere Versionen Ihre Einstellungsdatei lesen, verwenden Sie dort agents-md@builtin. Claude Code v2.1.285 und später liest einen Eintrag unter beiden IDs. Ihre Änderung gilt ab der nächsten Nachricht, die Sie senden, und in jeder neuen Sitzung.

Wenn AGENTS.md-Unterstützung nicht verfügbar ist

In diesen Sitzungen liest Claude nur CLAUDE.md-Dateien, und Projektanweisungen erscheint nicht im Einstellungsfenster /config:
  • Sie verwenden eine Claude Code-Version vor v2.1.277
  • Sie haben mit /plugin das integrierte Plugin deaktiviert, das AGENTS.md liest
  • In einigen Fällen ist es Ihre erste Sitzung nach dem Upgrade von v2.1.276 oder früher. Claude liest AGENTS.md ab Ihrer nächsten Sitzung
Vor v2.1.281 lasen einige Sitzungen, z. B. solche auf Amazon Bedrock oder mit deaktivierter Telemetrie, nur CLAUDE.md-Dateien. Aktualisieren Sie Claude Code auf diesen Versionen. Um Claude Ihre AGENTS.md in diesen Sitzungen zu geben, importieren Sie sie aus einer CLAUDE.md.

Wo sich AGENTS.md von CLAUDE.md unterscheidet

Eine AGENTS.md, die Claude durch die Einstellung Projektanweisungen liest, unterscheidet sich von einer CLAUDE.md an diesen Stellen:

Entfernen Sie einen früheren AGENTS.md-Workaround

Wenn Sie Claude Code so eingerichtet haben, dass AGENTS.md gelesen wird, bevor es dies von selbst tat, hier ist, was Sie mit jedem häufigen Setup tun sollten:
  • Eine CLAUDE.md mit @AGENTS.md: Sie können sie behalten. Das Behalten des Imports führt niemals dazu, dass Claude AGENTS.md zweimal liest, unabhängig davon, welchen Projektanweisungen-Wert Sie verwenden. Entfernen Sie die CLAUDE.md, wenn sie nichts anderes enthält, oder behalten Sie sie, wenn einige Ihrer Sitzungen AGENTS.md nicht direkt laden können.
  • Eine CLAUDE.md, die Claude in Worten anweist, AGENTS.md zu lesen: Claude sieht AGENTS.md nur, wenn es sich entscheidet, die Datei zu öffnen. Löschen Sie die CLAUDE.md, damit Claude AGENTS.md direkt liest, oder ersetzen Sie den Satz durch einen @AGENTS.md-Import.
  • Eine CLAUDE.md, die mit AGENTS.md verlinkt ist: nichts, oder löschen Sie den Symlink. Auf jeden Fall liest Claude den Inhalt einmal.
  • Ein SessionStart-Hook, der AGENTS.md ausgibt: entfernen Sie ihn. Sobald Claude AGENTS.md direkt liest, fügt der Hook eine zweite Kopie zum Kontext hinzu.

Teilen Sie eine Datei mit anderen Codierungs-Tools

Wenn Claude Ihre AGENTS.md nicht direkt liest, können Sie sie trotzdem als die eine Datei behalten, die jedes Tool teilt, indem Sie einen @AGENTS.md-Import in eine CLAUDE.md neben ihr einfügen. Tun Sie dies, wenn Ihr Projekt auch eine CLAUDE.md hat, wenn Sie Projektanweisungen auf claude-md gesetzt haben, oder in Sitzungen, die AGENTS.md nicht laden können. Fügen Sie alle Claude-spezifischen Anweisungen unter dem Import hinzu, und Claude liest die importierte Datei zuerst, dann den Rest:
CLAUDE.md
Wenn Sie keinen Claude-spezifischen Inhalt benötigen, funktioniert auch ein Symlink:
Der Befehl gibt bei Erfolg keine Ausgabe aus. Bevor Sie den Symlink dem Import vorziehen, überprüfen Sie diese Einschränkungen:
  • Bearbeitung: Claude liest CLAUDE.md durch den Link, aber die Edit- und Write-Tools weigern sich, durch einen Symlink zu schreiben, und die Weigerung weist Claude an, stattdessen das Ziel des Links, AGENTS.md, zu bearbeiten
  • Windows: Wenn Sie oder jemand, der das Repository klont, unter Windows arbeitet, verwenden Sie stattdessen den @AGENTS.md-Import. Das Erstellen eines Symlinks dort erfordert Administratorrechte oder den Entwicklermodus, und Git checkt einen committeten Symlink als Nur-Text-Datei aus, es sei denn, core.symlinks ist aktiviert, was diesen Klon mit einer einzeiligen CLAUDE.md anstelle Ihrer Anweisungen hinterlässt
Führen Sie mit beiden Ansätzen /context in Ihrer nächsten Sitzung aus und bestätigen Sie, dass CLAUDE.md unter Speicherdateien angezeigt wird.

Migrieren Sie Anweisungen von anderen Tools

Das Ausführen von /init liest die Anweisungsdateien anderer Tools und integriert die relevanten Teile in die generierte CLAUDE.md:
  • Cursor-Regeln in .cursor/rules/ oder .cursorrules
  • Copilot-Regeln in .github/copilot-instructions.md
  • Mit CLAUDE_CODE_NEW_INIT=1 gesetzt: AGENTS.md, .devin/rules/, .windsurf/rules/ oder .windsurfrules, und .clinerules
Sie können auch /import ausführen, um die Konfiguration eines unterstützten Codierungs-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, Subagenten und Skills überträgt. Erfordert Claude Code v2.1.213 oder später.

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 in lokalen Sitzungen standardmäßig aktiviert. Außerhalb von Claude Tag-Sitzungen läuft eine Sitzung in einer selbst gehosteten Umgebung standardmäßig mit deaktiviertem Auto-Memory. 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. Der Schalter schaltet Auto-Memory in diesen Sitzungen aus, aber nicht wieder ein:
  • Eine Hintergrundsitzung
  • Eine Sitzung, die von einer anderen Claude Code-Sitzung gestartet wurde, etwa wenn Claude claude über sein Bash-Tool ausführt
Solange Auto-Memory dort ausgeschaltet ist, zeigt der Schalter off · can't be turned on here; use a session started outside Claude Code an. Um Auto-Memory wieder einzuschalten, führen Sie claude direkt in Ihrem Terminal aus und verwenden Sie den /memory-Schalter in dieser Sitzung. Um es für ein einzelnes Projekt auszuschalten, setzen Sie autoMemoryEnabled in den Einstellungen dieses Projekts:
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.
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. Während permissions.blockReadsOutsideWorkingDirectories aktiviert ist, lädt Claude Code kein Auto-Memory aus einem Verzeichnis, das eine von einem Repository bereitgestellte Einstellungsdatei auswählt, und speichert keines darin, unabhängig davon, wo sich dieses Verzeichnis befindet. Das Verzeichnis enthält einen MEMORY.md-Index und eine Themadatei pro Memory:
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 CLAUDE.md- und Regeldateien beim Start 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 die CLAUDE.md- und CLAUDE.local.md-Dateien zu überprüfen, die beim Start geladen werden sollten. Wenn eine davon dort fehlt, kann Claude sie nicht sehen. Verwenden Sie /memory, um die Dateien zu öffnen und zu bearbeiten.
  • Eine CLAUDE.md in einem Unterverzeichnis Ihres Arbeitsverzeichnisses erscheint nicht unter Memory-Dateien, da sie bei Bedarf und nicht beim Start geladen wird. Wenn sie geladen wird, erscheint im Terminal eine Loaded-Zeile mit ihrem Pfad. Um eine neue zu testen, erstellen Sie sie über Ihre Shell, anstatt Claude zu bitten, sie zu schreiben, und bitten Sie Claude dann, eine Datei in diesem Unterverzeichnis zu lesen.
  • Ü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.
  • Überprüfen Sie, ob Ihre Anweisung mit Anleitungen konkurriert, die Claude Code von selbst hinzufügt. Wenn Ihre CLAUDE.md Commit- oder Pull-Request-Regeln setzt, schalten Sie die integrierten mit includeGitInstructions aus und legen Sie den Attributionstext mit attribution fest.
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 übergeben sie beim Start, 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.
Verwenden Sie den InstructionsLoaded-Hook, um genau zu protokollieren, welche CLAUDE.md- und Regeldateien geladen sind, wann sie geladen werden und warum. Dies ist nützlich zum Debuggen von pfadspezifischen Regeln oder Lazy-Loading-Dateien in Unterverzeichnissen.

Meine AGENTS.md wird nicht geladen

Wenn Ihr Repository eine AGENTS.md hat und Claude scheint nicht zu wissen, was sie sagt, ist die übliche Ursache eine CLAUDE.md irgendwo auf dem Projektpfad. Standardmäßig liest Claude AGENTS.md nur, wenn Sie keine CLAUDE.md oder CLAUDE.local.md in Ihrem Arbeitsverzeichnis oder darüber haben. Überprüfen Sie diese in dieser Reihenfolge:
  1. Suchen Sie nach einer CLAUDE.md, .claude/CLAUDE.md oder CLAUDE.local.md in Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber, außer Ihrer ~/.claude/CLAUDE.md. Wenn Sie eine finden, liest Claude sie statt AGENTS.md, es sei denn, Sie setzen Projektanweisungen auf claude-md-and-agents-md.
  2. Führen Sie claude --version aus und bestätigen Sie v2.1.277 oder später. Vor v2.1.281 konnten einige Sitzungen, wie z. B. solche auf Amazon Bedrock oder mit deaktivierter Telemetrie, AGENTS.md nicht laden, daher aktualisieren Sie auf v2.1.281 oder später.
  3. Geben Sie /config in Ihrer Sitzung ein, um das Einstellungsfenster zu öffnen und bestätigen Sie, dass Projektanweisungen nicht auf claude-md oder managed-only gesetzt ist. Wenn Sie die Einstellung dort überhaupt nicht sehen, ist Ihre Sitzung eine, die AGENTS.md nicht laden kann.
Um zu überprüfen, ob Claude Ihre AGENTS.md gelesen hat, führen Sie /memory aus und suchen Sie nach ihrem Pfad in der Liste. Vor v2.1.280 haben /memory und /context eine AGENTS.md, die Claude direkt gelesen hat, nicht aufgelistet. Fragen Sie Claude auf diesen Versionen stattdessen, was seine Projektanweisungen sagen. Wenn Sie die CLAUDE.md behalten möchten, die Sie gefunden haben, oder Ihre Sitzung kann AGENTS.md nicht laden, fügen Sie eine CLAUDE.md neben Ihrer AGENTS.md hinzu, die sie importiert.

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. Wenn eine Ihrer Anweisungsdateien länger als die empfohlene Länge ist, sehen Sie beim Start und wenn Sie /status ausführen eine Warnung. Sie sehen auch eine Warnung, wenn Dateien, die jeweils innerhalb dieser Länge liegen, zusammen eine kombinierte Grenze beim Sitzungsstart überschreiten. Jede CLAUDE.md, Regeldatei und @path-Import zählt als separate Datei. 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.

Anweisungen scheinen nach /compact verloren zu gehen

Projekt-Root-CLAUDE.md übersteht die Komprimierung: Nach /compact liest Claude sie neu von der Festplatte und injiziert sie erneut in die Sitzung. Verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen und Regeln mit paths:-Frontmatter werden bei Bedarf erneut geladen. 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