Wie Claude sich Ihr Projekt merkt
Geben Sie Claude persistente Anweisungen mit CLAUDE.md- oder AGENTS.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. Claude kann auch die
AGENTS.md-Dateien eines Repositorys lesen, eigenständig oder zusammen mit CLAUDE.md - Auto-Memory: Notizen, die Claude selbst basierend auf Ihren Korrektionen und Vorlieben schreibt
Diese Seite behandelt folgende Themen:
- CLAUDE.md-Dateien schreiben und organisieren
- Ein vorhandenes AGENTS.md als Ihre Projektanweisungen verwenden, eigenständig oder zusammen mit CLAUDE.md
- Regeln auf bestimmte Dateitypen beschränken mit
.claude/rules/ - Auto-Memory konfigurieren, damit Claude automatisch Notizen macht
- Fehlerbehebung, wenn Anweisungen nicht befolgt werden
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 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
- Eine Code-Überprüfung 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 neues Teammitglied 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 tun"-Regeln. Wenn ein Eintrag ein mehrstufiges Verfahren ist oder nur für einen Teil der Codebasis relevant ist, verschieben Sie ihn zu einem Skill oder einer pfadgebundenen Regel statt. 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.
| 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-Codierungsstandards, Sicherheitsrichtlinien, Compliance-Anforderungen | Alle Benutzer in der Organisation |
| Benutzeranweisungen | ~/.claude/CLAUDE.md |
Persönliche Voreinstellungen für alle Projekte | Code-Stilvoreinstellungen, persönliche Tooling-Verknüpfungen | Nur Sie (alle Projekte) |
| Projektanweisungen | ./CLAUDE.md oder ./.claude/CLAUDE.md. Siehe AGENTS.md für den Fall, dass ./AGENTS.md stattdessen oder zusammen mit ihnen geladen wird |
Team-gemeinsame Anweisungen für das Projekt | Projektarchitektur, Codierungsstandards, häufige Arbeitsabläufe | Teammitglieder über Versionskontrolle |
| Lokale Anweisungen | ./CLAUDE.local.md |
Persönliche projektspezifische Voreinstellungen; 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 geladen. Dateien in Unterverzeichnissen werden bei Bedarf geladen, wenn Claude Dateien in diesen Verzeichnissen liest. Siehe 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 ein Projekt-CLAUDE.md ein
Ein 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 ein startendes CLAUDE.md zu generieren. Claude analysiert Ihre Codebasis und erstellt eine Datei mit Build-Befehlen, Test-Anweisungen und Projektkonventionen, die es entdeckt. Wenn bereits ein CLAUDE.md vorhanden ist, schlägt /init Verbesserungen vor, statt es zu überschreiben. Verfeinern Sie es von dort mit Anweisungen, die Claude nicht selbst entdecken würde.
Setzen Sie CLAUDE_CODE_NEW_INIT=1, um einen interaktiven mehrstufigen Ablauf zu aktivieren. /init fragt, 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.
Schreiben Sie effektive Anweisungen
CLAUDE.md-Dateien werden zu Beginn jeder Sitzung in das Kontextfenster geladen und verbrauchen Token zusammen mit Ihrer Konversation. Die Kontextfenster-Visualisierung zeigt, wo CLAUDE.md relativ zum Rest des Startkontexts geladen wird. Da es sich um Kontext statt um erzwungene Konfiguration handelt, beeinflusst die Art, wie Sie Anweisungen schreiben, wie zuverlässig Claude sie befolgt. 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 verringern die Einhaltung. Wenn Ihre Anweisungen zu groß werden, verwenden Sie pfadgebundene Regeln, damit Anweisungen nur geladen werden, wenn Claude mit übereinstimmenden Dateien arbeitet. Sie können Inhalte auch in Importe aufteilen, um sie zu organisieren, obwohl importierte Dateien immer noch geladen werden und beim Start in das Kontextfenster 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 folgen als dichte Absätze.
Spezifität: Schreiben Sie Anweisungen, die konkret genug sind, um überprüft zu werden. Zum Beispiel:
- „Verwenden Sie 2-Leerzeichen-Einzug" statt „Formatieren Sie Code ordnungsgemäß"
- „Führen Sie
npm testvor 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 dem CLAUDE.md, das 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 Import-Parsing überspringt Markdown-Code-Spannweiten und eingezäunte Code-Blöcke. Um einen Pfad in Ihrem 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 Ihrem 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 private projektspezifische Voreinstellungen, die nicht in die Versionskontrolle eingecheckt werden sollten, erstellen Sie ein CLAUDE.local.md im Projektstammverzeichnis. Es wird zusammen mit CLAUDE.md geladen und wird genauso behandelt. Fügen Sie CLAUDE.local.md zu Ihrer .gitignore hinzu, damit es 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 Repositorys arbeiten, existiert ein gitignoriertes CLAUDE.local.md nur in dem Worktree, in dem Sie es erstellt haben. Um persönliche Anweisungen über Worktrees hinweg zu teilen, importieren Sie stattdessen eine Datei aus Ihrem Home-Verzeichnis:
# Individuelle Voreinstellungen
- @~/.claude/my-project-instructions.md
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 externe Importe in einem Projekt antrifft, 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 an, 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 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, die 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 ein ~/.claude/CLAUDE.md, das selbst ein Symlink oder Hard Link ist, und ein symverlinktes ~/.claude/rules/-Verzeichnis oder eine Regeldatei, die außerhalb des Arbeitsverzeichnisses zeigt.
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 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 Verzeichnissen 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 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:
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 verwalten. 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.
Regeln werden in jeder Sitzung oder beim Öffnen übereinstimmender Dateien in den Kontext geladen. Für aufgabenspezifische Anweisungen, die nicht ständig 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 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-Stilrichtlinien
│ ├── testing.md # Test-Konventionen
│ └── security.md # Sicherheitsanforderungen
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.
---
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 entsprechen:
| Muster | Entspricht |
|---|---|
**/*.ts |
Alle TypeScript-Dateien in jedem Verzeichnis |
src/**/* |
Alle Dateien unter dem Verzeichnis src/ |
*.md |
Markdown-Dateien im Projektstammverzeichnis |
src/components/*.tsx |
React-Komponenten in einem bestimmten Verzeichnis |
Sie können mehrere Muster angeben und Klammer-Erweiterung verwenden, um mehrere Erweiterungen in einem Muster zu entsprechen:
---
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 gesamte 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 entsprechen keinen Dateien. Vor v2.1.217 stagnierte oder stürzte eine paths-Wert mit vielen Klammer-Gruppen die CLI beim Start ab.
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 entspricht nichts, und die anderen Muster der Regel funktionieren weiterhin. Um ein literales [ in einem Dateinamen zu entsprechen, escapen Sie es als photos \[2024/**. Vor v2.1.207 machte ein ungültiges Muster das Read-Tool für jede Datei fehlschlagen, gegen die die Regel bewertet wurde, statt nichts zu entsprechen.
Teilen Sie Regeln über Projekte mit Symlinks
Das Verzeichnis .claude/rules/ unterstützt Symlinks, sodass Sie einen gemeinsamen Satz von Regeln verwalten 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 Projektmemory-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 auf jedem 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
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/rules/
├── preferences.md # Ihre persönlichen Codierungsvoreinstellungen
└── workflows.md # Ihre bevorzugten Arbeitsabläufe
Benutzerweite Regeln werden vor Projektregeln geladen, was Projektregeln eine 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 ein zentral verwaltetes CLAUDE.md bereitstellen, das für alle Benutzer auf einem Computer gilt. Diese Datei kann nicht durch individuelle Einstellungen ausgeschlossen werden.
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
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 ein 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:
{
"claudeMd": "Führen Sie immer `make lint` vor dem Commit aus.\nNiemand pusht direkt zu main."
}
Ein verwaltetes CLAUDE.md und verwaltete Einstellungen dienen unterschiedlichen Zwecken. Verwenden Sie Einstellungen für technische Durchsetzung und CLAUDE.md für Verhaltensanleitung:
| Bedenken | 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 |
| Anmeldemethode und Organisationsbeschränkungen | Verwaltete Einstellungen: forceLoginMethod, forceLoginOrgUUID |
| Code-Stil und Qualitätsrichtlinien | Verwaltetes CLAUDE.md |
| Datenbehandlung und Compliance-Erinnerungen | Verwaltetes CLAUDE.md |
| Verhaltensanweisungen für Claude | Verwaltetes CLAUDE.md |
Einstellungsregeln werden vom Client unabhängig davon durchgesetzt, was Claude zu tun beschließt. 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 ein Top-Level-CLAUDE.md 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 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 einen der beiden Pfade entspricht, schließt die Datei aus. Vor v2.1.239 schloss nur ein Muster, das das Link-Ziel entsprach, 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:
| Ihr Repository hat | Claude liest |
|---|---|
Eine AGENTS.md und keine CLAUDE.md oder CLAUDE.local.md in Ihrem Arbeitsverzeichnis oder darüber |
Ihre AGENTS.md |
Eine AGENTS.md und eine CLAUDE.md oder CLAUDE.local.md in Ihrem Arbeitsverzeichnis oder darüber |
Nur Ihre CLAUDE.md-Dateien |
Eine CLAUDE.md, die bereits AGENTS.md importiert |
Ihre CLAUDE.md, mit AGENTS.md durch den Import eingebunden |
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, z. B. auf Amazon Bedrock oder mit deaktivierter Telemetrie, 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: eineCLAUDE.md,.claude/CLAUDE.mdoderCLAUDE.local.mdin Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber - Zählen nicht und laden weiterhin neben
AGENTS.md: Ihre~/.claude/CLAUDE.md, die verwalteteCLAUDE.mdIhrer 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.mdund.claude/AGENTS.mdin Ihrem Arbeitsverzeichnis und den Verzeichnissen darüber. In einer interaktiven Sitzung sehen Sie eine Zeile wieno CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.mdin der Konversation - Wenn Claude in Unterverzeichnissen arbeitet: eine
AGENTS.mdeines Unterverzeichnisses, wenn Claude dort eine Datei mit dem Read-Tool öffnet und dieses Unterverzeichnis keine der dreiCLAUDE.md-Dateien selbst hat - Innerhalb jeder
AGENTS.md:@path-Importe werden erweitert,claudeMdExcludes-Muster gelten, und Subagenten, die Projektanweisungen überspringen, überspringen diese Dateien auch - Nicht gelesen:
AGENTS.local.md,AGENTS.override.mdoder 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:
| Wert | Was Claude liest |
|---|---|
claude-md-or-agents-md |
Ihre CLAUDE.md-Dateien oder Ihre AGENTS.md-Dateien, wenn Sie keine CLAUDE.md oder CLAUDE.local.md in Ihrem Arbeitsverzeichnis oder darüber haben. Dies ist die Standardeinstellung |
claude-md-and-agents-md |
Ihre CLAUDE.md- und AGENTS.md-Dateien zusammen, jede CLAUDE.md-Datei eines Verzeichnisses zuerst und seine AGENTS.md danach. Claude Code überspringt eine AGENTS.md, die es bereits geladen hat, daher wird eine, die Ihre CLAUDE.md importiert oder verlinkt, nicht zweimal gelesen |
claude-md |
Nur Ihre CLAUDE.md-Dateien |
managed-only |
Nur die verwaltete CLAUDE.md Ihrer Organisation und automatisches Gedächtnis beim Start. Ihre Projekt-, lokalen und Benutzer-CLAUDE.md-Dateien, Ihre .claude/rules/-Dateien und jede AGENTS.md werden ausgelassen. Die CLAUDE.md- und .claude/rules/-Dateien eines Unterverzeichnisses und pfadgebundene Regeln laden immer noch, wenn Claude eine Datei dort liest |
Sie können den Wert auch in einer Einstellungsdatei statt in /config setzen. Fügen Sie ihn unter der ID des integrierten agents-md-Plugins in pluginConfigs in ~/.claude/settings.json, einer --settings-Datei oder verwalteten Einstellungen hinzu. Claude Code ignoriert ihn in Projekt- und lokalen Einstellungsdateien. Dieses Beispiel lässt Claude beide Dateien lesen:
{
"pluginConfigs": {
"agents-md@builtin": {
"options": { "instructionFiles": "claude-md-and-agents-md" }
}
}
}
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
- Ihre Sitzung ruft keine Feature-Flags von Anthropic ab, z. B. weil Sie Amazon Bedrock oder einen anderen Drittanbieter verwenden oder Telemetrie deaktiviert haben. Der verlinkte Abschnitt hat die vollständige Liste
- Es ist Ihre erste Sitzung nach der Installation oder dem Upgrade auf eine Version mit
AGENTS.md-Unterstützung. Claude liestAGENTS.mdab Ihrer nächsten Sitzung - Sie oder Ihre Organisation haben
disableAllHooksoderallowManagedHooksOnlygesetzt, oder Sie haben das integrierteagents-md-Plugin in/plugindeaktiviert
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:
CLAUDE.md |
AGENTS.md gelesen durch die Einstellung |
|
|---|---|---|
/memory und die Liste Speicherdateien in /context |
Aufgelistet | Nicht aufgelistet. Um zu bestätigen, dass Claude sie gelesen hat, suchen Sie nach der AGENTS.md loaded-Zeile unter dem Standardwert oder fragen Sie Claude, was seine Projektanweisungen sagen |
InstructionsLoaded-Hooks |
Werden ausgelöst | Werden nicht ausgelöst. Sie werden wie gewohnt ausgelöst für eine AGENTS.md, die eine CLAUDE.md importiert oder verlinkt |
Verzeichnisse, die Sie mit --add-dir hinzufügen, während CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD gesetzt ist |
Ihre CLAUDE.md lädt |
Ihre AGENTS.md lädt nicht |
Ein @path-Import einer Datei außerhalb Ihres Arbeitsverzeichnisses |
Claude Code fordert Sie auf, externe Importe zu genehmigen | Lädt nur, wenn Sie bereits externe Importe für dieses Projekt genehmigt haben, ohne Aufforderung |
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.mdmit@AGENTS.md: Sie können sie behalten. Das Behalten des Imports führt niemals dazu, dass ClaudeAGENTS.mdzweimal liest, unabhängig davon, welchen Projektanweisungen-Wert Sie verwenden. Entfernen Sie dieCLAUDE.md, wenn sie nichts anderes enthält, oder behalten Sie sie, wenn einige Ihrer SitzungenAGENTS.mdnicht direkt laden können. - Eine
CLAUDE.md, die Claude in Worten anweist,AGENTS.mdzu lesen: Claude siehtAGENTS.mdnur, wenn es sich entscheidet, die Datei zu öffnen. Löschen Sie dieCLAUDE.md, damit ClaudeAGENTS.mddirekt liest, oder ersetzen Sie den Satz durch einen@AGENTS.md-Import. - Eine
CLAUDE.md, die mitAGENTS.mdverlinkt ist: nichts, oder löschen Sie den Symlink. Auf jeden Fall liest Claude den Inhalt einmal. - Ein
SessionStart-Hook, derAGENTS.mdausgibt: entfernen Sie ihn. Sobald ClaudeAGENTS.mddirekt 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:
@AGENTS.md
## Claude Code
Use plan mode for changes under `src/billing/`.
Wenn Sie keinen Claude-spezifischen Inhalt benötigen, funktioniert auch ein Symlink:
ln -s AGENTS.md CLAUDE.md
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.mddurch 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.symlinksist aktiviert, was diesen Klon mit einer einzeiligenCLAUDE.mdanstelle 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=1gesetzt: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äferenzenfeedback: Korrektionen, die Sie Claude geben, und Ansätze, die Sie bestätigenproject: laufende Arbeiten, Fristen und Entscheidungen, die Claude nicht aus dem Code oder der Git-Historie ableiten kannreference: 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. 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:
~/.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 CLAUDE.md- und Rules-Dateien 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
/contextaus 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 eineCLAUDE.md-Datei dort fehlt, kann Claude sie nicht sehen. EineAGENTS.mderscheint dort nur, wenn eineCLAUDE.mdsie importiert, nicht wenn Claude sie direkt liest. 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 ü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:
- Suchen Sie nach einer
CLAUDE.md,.claude/CLAUDE.mdoderCLAUDE.local.mdin Ihrem Arbeitsverzeichnis oder einem Verzeichnis darüber, außer Ihrer~/.claude/CLAUDE.md. Wenn Sie eine finden, liest Claude sie stattAGENTS.md, es sei denn, Sie setzen Projektanweisungen aufclaude-md-and-agents-md. - Führen Sie
claude --versionaus und bestätigen Sie v2.1.277 oder später. - Überprüfen Sie, ob Ihre Sitzung eine ist, die kann
AGENTS.mdnicht laden, wie eine Sitzung bei einem Drittanbieter oder mit deaktivierter Telemetrie. - Geben Sie
/configin Ihrer Sitzung ein, um das Einstellungsfenster zu öffnen und bestätigen Sie, dass Projektanweisungen nicht aufclaude-mdodermanaged-onlygesetzt ist. Wenn Sie die Einstellung dort überhaupt nicht sehen, ist Ihre Sitzung eine, die kannAGENTS.mdnicht laden.
AGENTS.md erscheint nicht in /memory oder /context, wenn Claude sie direkt liest, also überprüfen Sie auf die Zeile AGENTS.md loaded oder fragen Sie Claude, 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.
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.
Verwandte Ressourcen
- 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