SpyBara
Go Premium

best-practices.md 2026-09-08 20:00 UTC to 2026-09-09 22:58 UTC

This page contains 64 additions and 85 deletions.

2026
Wed 9 22:58 Sat 12 03:02 Mon 14 22:58 Fri 25 23:58

Best Practices für Claude Code

Tipps und Muster, um das Beste aus Claude Code herauszuholen – von der Konfiguration Ihrer Umgebung bis zur Skalierung über parallele Sessions.

Claude Code ist eine agentengesteuerte Coding-Umgebung. Im Gegensatz zu einem Chatbot, der Fragen beantwortet und wartet, kann Claude Code Ihre Dateien lesen, Befehle ausführen, Änderungen vornehmen und autonom Probleme lösen, während Sie zuschauen, umleiten oder sich ganz zurückziehen.

Dies ändert Ihre Arbeitsweise. Anstatt Code selbst zu schreiben und Claude zur Überprüfung zu bitten, beschreiben Sie, was Sie möchten, und Claude findet heraus, wie es zu bauen ist. Claude erkundet, plant und implementiert.

Aber diese Autonomie bringt immer noch eine Lernkurve mit sich. Claude arbeitet innerhalb bestimmter Einschränkungen, die Sie verstehen müssen.

Dieser Leitfaden behandelt Muster, die sich in den internen Teams von Anthropic und bei Ingenieuren, die Claude Code in verschiedenen Codebases, Sprachen und Umgebungen nutzen, als wirksam erwiesen haben. Informationen zur Funktionsweise der agentengesteuerten Schleife finden Sie unter How Claude Code works.


Die meisten Best Practices basieren auf einer Einschränkung: Claudes Kontextfenster füllt sich schnell, und die Leistung verschlechtert sich, wenn es sich füllt.

Claudes Kontextfenster enthält Ihre gesamte Konversation, einschließlich jeder Nachricht, jeder Datei, die Claude liest, und jeder Befehlsausgabe. Dies kann sich jedoch schnell füllen. Eine einzelne Debugging-Sitzung oder Codebase-Erkundung könnte Zehntausende von Tokens generieren und verbrauchen.

Dies ist wichtig, da die LLM-Leistung abnimmt, wenn sich der Kontext füllt. Wenn das Kontextfenster voll wird, könnte Claude anfangen, frühere Anweisungen zu „vergessen" oder mehr Fehler zu machen. Das Kontextfenster ist die wichtigste Ressource, die verwaltet werden muss. Um zu sehen, wie sich eine Session in der Praxis füllt, schauen Sie sich eine interaktive Anleitung an, was beim Start geladen wird und was jedes Datei-Lesen kostet. Verfolgen Sie die Kontextnutzung kontinuierlich mit einer benutzerdefinierten Statuszeile, und siehe Token-Nutzung reduzieren für Strategien zur Reduzierung der Token-Nutzung.


Geben Sie Claude eine Möglichkeit, seine Arbeit zu überprüfen

Claude stoppt, wenn die Arbeit erledigt aussieht. Ohne eine Überprüfung, die er ausführen kann, ist „sieht erledigt aus" das einzige verfügbare Signal, und Sie werden zur Überprüfungsschleife: jeder Fehler wartet darauf, dass Sie ihn bemerken. Geben Sie Claude etwas, das ein Bestanden oder Fehlgeschlagen erzeugt, und die Schleife schließt sich von selbst. Claude führt die Arbeit aus, führt die Überprüfung aus, liest das Ergebnis und iteriert, bis die Überprüfung bestanden ist.

Die Überprüfung ist alles, das ein Signal zurückgibt, das Claude im Gespräch lesen kann: eine Test-Suite, ein Build-Exit-Code, ein Linter, ein Skript, das die Ausgabe mit einem Fixture vergleicht, oder ein Browser-Screenshot, der mit einem Design verglichen wird. Führen Sie /verify selbst aus, nachdem Claudes Überprüfung bestanden ist, um die Änderung gegen die laufende App zu bestätigen.

Strategie Vorher Nachher
Überprüfungskriterien bereitstellen „implementiere eine Funktion, die E-Mail-Adressen validiert" „schreibe eine validateEmail-Funktion. Beispiel-Testfälle: user@example.com ist wahr, invalid ist falsch, user@.com ist falsch. führe die Tests nach der Implementierung aus"
UI-Änderungen visuell überprüfen „mache das Dashboard besser aussehen" „[Screenshot einfügen] implementiere dieses Design. mache einen Screenshot des Ergebnisses und vergleiche ihn mit dem Original. liste Unterschiede auf und behebe sie"
Grundursachen beheben, nicht Symptome „der Build schlägt fehl" „der Build schlägt mit diesem Fehler fehl: [Fehler einfügen]. behebe ihn und überprüfe, dass der Build erfolgreich ist. behebe die Grundursache, unterdrücke den Fehler nicht"

Sobald die Überprüfung vorhanden ist, entscheiden Sie, wie streng sie den Stopp kontrolliert:

  • In einer Eingabeaufforderung: Bitten Sie Claude, die Überprüfung auszuführen und in derselben Nachricht zu iterieren, wie in der Tabelle oben.
  • Über eine Sitzung: Legen Sie die Überprüfung als /goal-Bedingung fest. Ein separater Evaluator überprüft sie nach jedem Zug erneut und Claude arbeitet weiter, bis die Bedingung erfüllt ist. Wenn Claude steckenbleibt, beendet Claude Code den Lauf schließlich mit der noch gesetzten Bedingung — siehe wie /goal-Evaluierung funktioniert.
  • Als deterministisches Gate: Ein Stop-Hook führt Ihre Überprüfung als Skript aus und blockiert das Ende des Zugs, bis er bestanden ist. Claude Code überschreibt den Hook und beendet den Zug nach 8 aufeinanderfolgenden Blockierungen.
  • Durch eine zweite Meinung: Ein Überprüfungs-Subagent oder ein dynamischer Workflow, der seine eigenen Erkenntnisse überprüft, lässt ein frisches Modell versuchen, das Ergebnis zu widerlegen, sodass der Agent, der die Arbeit verrichtet, nicht derjenige ist, der sie bewertet.

Jeder Schritt tauscht Setup gegen Aufmerksamkeit. Die Eingabeaufforderungsversion funktioniert heute bei jeder Aufgabe. Die /goal- und Stop-Hook-Versionen sind das, was einen unbeaufsichtigten Lauf ermöglicht, um korrekt zu beenden, ohne dass Sie eingreifen müssen.

Lassen Sie Claude Belege zeigen, anstatt Erfolg zu behaupten: die Testausgabe, der Befehl, den es ausgeführt hat, und was er zurückgegeben hat, oder ein Screenshot des Ergebnisses. Die Überprüfung von Belegen ist schneller als die erneute Ausführung der Überprüfung selbst, und es funktioniert für Sitzungen, die Sie nicht beobachtet haben.


Erkunden Sie zuerst, dann planen Sie, dann codieren Sie

Wenn Claude direkt zum Codieren springt, kann dies zu Code führen, der das falsche Problem löst. Verwenden Sie Plan Mode, um Erkundung von Ausführung zu trennen.

Der empfohlene Workflow hat vier Phasen:

1

Erkunden

Geben Sie Plan Mode ein, indem Sie Shift+Tab drücken, bis die Statusleiste ⏸ plan mode on anzeigt, oder starten Sie die Sitzung mit claude --permission-mode plan. Claude liest Dateien und beantwortet Fragen, ohne Änderungen vorzunehmen.

read /src/auth and understand how we handle sessions and login.
also look at how we manage environment variables for secrets.
2

Planen

Bitten Sie Claude, einen detaillierten Implementierungsplan zu erstellen.

I want to add Google OAuth. What files need to change?
What's the session flow? Create a plan.

Drücken Sie Ctrl+G, um den Plan in Ihrem Texteditor zur direkten Bearbeitung zu öffnen, bevor Claude fortfährt.

3

Implementieren

Wechseln Sie aus Plan Mode, indem Sie den Plan genehmigen oder Shift+Tab drücken, und lassen Sie Claude dann codieren, wobei Sie gegen seinen Plan überprüfen.

implement the OAuth flow from your plan. write tests for the
callback handler, run the test suite and fix any failures.
4

Commit

Bitten Sie Claude, mit einer aussagekräftigen Nachricht zu committen und einen PR zu erstellen.

commit with a descriptive message and open a PR

Geben Sie spezifischen Kontext in Ihren Prompts an

Claude kann Absichten ableiten, aber er kann nicht Ihre Gedanken lesen. Verweisen Sie auf spezifische Dateien, erwähnen Sie Einschränkungen und zeigen Sie auf Beispielmuster.

Strategie Vorher Nachher
Begrenzen Sie die Aufgabe. Geben Sie an, welche Datei, welches Szenario und Testpräferenzen. „füge Tests für foo.py hinzu" „schreibe einen Test für foo.py, der den Edge Case abdeckt, in dem der Benutzer abgemeldet ist. vermeide Mocks."
Zeigen Sie auf Quellen. Leiten Sie Claude zur Quelle, die eine Frage beantworten kann. „warum hat ExecutionFactory eine so seltsame API?" „schaue dir die Git-Historie von ExecutionFactory an und fasse zusammen, wie seine API entstanden ist"
Verweisen Sie auf vorhandene Muster. Zeigen Sie Claude Muster in Ihrer Codebase. „füge ein Calendar-Widget hinzu" „schaue dir an, wie vorhandene Widgets auf der Startseite implementiert sind, um die Muster zu verstehen. HotDogWidget.php ist ein gutes Beispiel. folge dem Muster, um ein neues Calendar-Widget zu implementieren, das dem Benutzer ermöglicht, einen Monat auszuwählen und vorwärts/rückwärts zu blättern, um ein Jahr auszuwählen. baue von Grund auf ohne Bibliotheken außer denen, die bereits in der Codebase verwendet werden."
Beschreiben Sie das Symptom. Geben Sie das Symptom, den wahrscheinlichen Ort und an, wie „behoben" aussieht. „behebe den Login-Bug" „Benutzer berichten, dass Login nach Session-Timeout fehlschlägt. überprüfe den Auth-Flow in src/auth/, besonders Token-Refresh. schreibe einen fehlgeschlagenen Test, der das Problem reproduziert, dann behebe es"

Vage Prompts können nützlich sein, wenn Sie erkunden und Kurskorrektionen vornehmen können. Ein Prompt wie „was würdest du in dieser Datei verbessern?" kann Dinge an die Oberfläche bringen, an die Sie nicht gedacht hätten zu fragen.

Geben Sie umfangreiche Inhalte an

Sie können Claude auf mehrere Arten umfangreiche Daten bereitstellen:

  • Verweisen Sie auf Dateien mit @ anstatt zu beschreiben, wo Code lebt. Claude liest die Datei, bevor er antwortet.
  • Fügen Sie Bilder direkt ein. Kopieren/fügen Sie Bilder ein oder ziehen Sie sie in den Prompt.
  • Geben Sie URLs für Dokumentation und API-Referenzen an. Verwenden Sie /permissions, um häufig verwendete Domains auf die Whitelist zu setzen.
  • Leiten Sie Daten weiter, indem Sie cat error.log | claude ausführen, um Dateiinhalte direkt zu senden.
  • Lassen Sie Claude abrufen, was es braucht. Sagen Sie Claude, dass es Kontext selbst mit Bash-Befehlen, MCP-Tools oder durch Lesen von Dateien abrufen soll.

Konfigurieren Sie Ihre Umgebung

Ein paar Einrichtungsschritte machen Claude Code über alle Ihre Sessions hinweg erheblich effektiver. Einen vollständigen Überblick über Erweiterungsfunktionen und wann Sie jede verwenden sollten, finden Sie unter Extend Claude Code.

Schreiben Sie eine effektive CLAUDE.md

CLAUDE.md ist eine spezielle Datei, die Claude zu Beginn jeder Konversation liest. Fügen Sie Bash-Befehle, Code-Stil und Workflow-Regeln ein. Dies gibt Claude persistenten Kontext, den es nicht aus Code allein ableiten kann.

Es gibt kein erforderliches Format für CLAUDE.md-Dateien, aber halten Sie es kurz und für Menschen lesbar. Zum Beispiel:

# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')

# Workflow
- Be sure to typecheck when you're done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance

Führen Sie /context aus, um zu bestätigen, dass Claude die Datei geladen hat. CLAUDE.md wird jede Session geladen, also fügen Sie nur Dinge ein, die weit verbreitet gelten. Für Domänenwissen oder Workflows, die nur manchmal relevant sind, verwenden Sie stattdessen skills. Claude lädt sie bei Bedarf, ohne jede Konversation zu überlasten.

Halten Sie es prägnant. Fragen Sie sich für jede Zeile: „Würde das Entfernen dieser Zeile dazu führen, dass Claude Fehler macht?" Wenn nicht, streichen Sie es. Überladene CLAUDE.md-Dateien führen dazu, dass Claude Ihre tatsächlichen Anweisungen ignoriert!

✅ Einschließen ❌ Ausschließen
Bash-Befehle, die Claude nicht erraten kann Alles, was Claude durch Lesen von Code herausfinden kann
Code-Stil-Regeln, die von Standardwerten abweichen Standard-Sprachkonventionen, die Claude bereits kennt
Test-Anweisungen und bevorzugte Test-Runner Detaillierte API-Dokumentation (verlinken Sie stattdessen auf Docs)
Repository-Etikette (Branch-Naming, PR-Konventionen) Informationen, die sich häufig ändern
Architektonische Entscheidungen, die für Ihr Projekt spezifisch sind Lange Erklärungen oder Tutorials
Entwicklungsumgebungs-Eigenheiten (erforderliche Umgebungsvariablen) Datei-für-Datei-Beschreibungen der Codebase
Häufige Fallstricke oder nicht offensichtliche Verhaltensweisen Selbstverständliche Praktiken wie „schreibe sauberen Code"

Wenn Claude etwas tut, das Sie nicht möchten, obwohl es eine Regel dagegen gibt, ist die Datei wahrscheinlich zu lang und die Regel geht verloren. Wenn Claude Fragen stellt, die in CLAUDE.md beantwortet werden, könnte die Formulierung mehrdeutig sein. Behandeln Sie CLAUDE.md wie Code: überprüfen Sie es, wenn etwas schiefgeht, bereinigen Sie es regelmäßig, und testen Sie Änderungen, indem Sie beobachten, ob sich Claudes Verhalten tatsächlich ändert. Für eine eingecheckte CLAUDE.md führen Sie /doctor aus und Claude schlägt Kürzungen für Inhalte vor, die es aus der Codebase ableiten kann.

Wenn Claude eine Anweisung immer wieder überspringt, fügen Sie Betonung wie „WICHTIG" nur auf dieser Zeile hinzu. Wenn Sie viele Zeilen betonen, fällt keine davon auf. Checken Sie CLAUDE.md in Git ein, damit Ihr Team beitragen kann. Die Datei nimmt im Laufe der Zeit an Wert zu.

CLAUDE.md-Dateien können zusätzliche Dateien mit der @path/to/import-Syntax importieren. Für Importregeln und wo CLAUDE.md-Dateien sich befinden können, siehe CLAUDE.md-Dateien.

Konfigurieren Sie Berechtigungen

Bei Pro-, Max- und Team-Plänen ist der automatische Modus der integrierte Standard-Berechtigungsmodus für interaktive Terminal- und VS Code-Sessions: ein separates Klassifizierer-Modell überprüft die meisten Aktionen statt Ihnen und blockiert nur das, was riskant aussieht, wie Scope-Eskalation, unbekannte Infrastruktur oder feindselige-Inhalts-getriebene Aktionen.

Im manuellen Modus, dem integrierten Standard-Berechtigungsmodus bei anderen Plänen, fragt Claude Code vor Aktionen, die Ihr System ändern könnten: Dateischreibvorgänge, Bash-Befehle, MCP-Tools. Das ist sicher, aber mühsam. Nach der zehnten Genehmigung überprüfen Sie nicht wirklich mehr, Sie klicken einfach durch. Zwei Tools reduzieren diese Unterbrechungen im manuellen Modus und gelten auch im automatischen Modus:

  • Berechtigungs-Whitelists: erlauben Sie spezifische Tools, die Sie kennen und die sicher sind, wie npm run lint oder git commit
  • Sandboxing: aktivieren Sie Isolation auf Betriebssystemebene, die Dateisystem- und Netzwerkzugriff einschränkt und Claude ermöglicht, freier innerhalb definierter Grenzen zu arbeiten

Lesen Sie mehr über Berechtigungsmodi, Berechtigungsregeln und Sandboxing.

Verwenden Sie CLI-Tools

CLI-Tools sind die kontexteffizienteste Möglichkeit, mit externen Diensten zu interagieren. Wenn Sie GitHub verwenden, installieren Sie die gh-CLI. Claude weiß, wie man sie zum Erstellen von Issues, Öffnen von Pull Requests und Lesen von Kommentaren verwendet. Ohne gh kann Claude immer noch die GitHub-API verwenden, aber unauthentifizierte Anfragen treffen oft auf Rate Limits.

Claude ist auch effektiv beim Erlernen von CLI-Tools, die er nicht bereits kennt. Versuchen Sie Prompts wie Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.

Verbinden Sie MCP-Server

Mit MCP-Servern können Sie Claude bitten, Funktionen von Issue-Trackern zu implementieren, Datenbanken abzufragen, Überwachungsdaten zu analysieren, Designs von Figma zu integrieren und Workflows zu automatisieren.

Richten Sie Hooks ein

Hooks führen Skripte automatisch an bestimmten Punkten in Claudes Workflow aus. Im Gegensatz zu CLAUDE.md-Anweisungen, die beratend sind, sind Hooks deterministisch und garantieren, dass die Aktion stattfindet.

Claude kann Hooks für Sie schreiben. Versuchen Sie Prompts wie „Schreibe einen Hook, der eslint nach jeder Dateibearbeitung ausführt" oder „Schreibe einen Hook, der Schreibvorgänge in den Migrations-Ordner blockiert." Bearbeiten Sie .claude/settings.json direkt, um Hooks von Hand zu konfigurieren, und führen Sie /hooks aus, um zu durchsuchen, was konfiguriert ist.

Erstellen Sie Skills

Skills erweitern Claudes Wissen mit Informationen, die für Ihr Projekt, Team oder Ihre Domäne spezifisch sind. Claude wendet sie automatisch an, wenn relevant, oder Sie können sie direkt mit /skill-name aufrufen.

Erstellen Sie einen Skill, indem Sie ein Verzeichnis mit einer SKILL.md zu .claude/skills/ hinzufügen:

---
name: api-conventions
description: REST API design conventions for our services
---
# API Conventions
- Use kebab-case for URL paths
- Use camelCase for JSON properties
- Always include pagination for list endpoints
- Version APIs in the URL path (/v1/, /v2/)

Skills können auch wiederverwendbare Workflows definieren, die Sie direkt aufrufen:

---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Analyze and fix the GitHub issue: $ARGUMENTS.

1. Use `gh issue view` to get the issue details
2. Understand the problem described in the issue
3. Search the codebase for relevant files
4. Implement the necessary changes to fix the issue
5. Write and run tests to verify the fix
6. Ensure code passes linting and type checking
7. Create a descriptive commit message
8. Push and create a PR

Führen Sie /fix-issue 1234 aus, um es aufzurufen. Verwenden Sie disable-model-invocation: true für Workflows mit Nebenwirkungen, die Sie manuell auslösen möchten.

Erstellen Sie benutzerdefinierte Subagents

Subagents laufen in ihrem eigenen Kontext mit ihrem eigenen Satz erlaubter Tools. Sie sind nützlich für Aufgaben, die viele Dateien lesen oder spezialisierte Aufmerksamkeit benötigen, ohne Ihre Hauptkonversation zu überlasten.

---
name: security-reviewer
description: Reviews code for security vulnerabilities
tools: Read, Grep, Glob, Bash
model: opus
---
You are a senior security engineer. Review code for:
- Injection vulnerabilities (SQL, XSS, command injection)
- Authentication and authorization flaws
- Secrets or credentials in code
- Insecure data handling

Provide specific line references and suggested fixes.

Sagen Sie Claude explizit, dass es Subagents verwenden soll: „Verwende einen Subagent, um diesen Code auf Sicherheitsprobleme zu überprüfen."

Installieren Sie Plugins

Plugins bündeln Skills, Hooks, Subagents und MCP-Server in eine einzelne installierbare Einheit aus der Community und von Anthropic. Wenn Sie mit einer typisierten Sprache arbeiten, installieren Sie ein Code-Intelligence-Plugin, um Claude präzise Symbol-Navigation und automatische Fehlererkennung nach Bearbeitungen zu geben.

Anleitungen zur Auswahl zwischen Skills, Subagents, Hooks und MCP finden Sie unter Extend Claude Code.


Kommunizieren Sie effektiv

Stellen Sie Claude die Fragen, die Sie einem anderen Engineer stellen würden, und lassen Sie Claude Sie für größere Features interviewen und schreiben Sie eine Spezifikation, bevor Sie mit der Implementierung beginnen.

Stellen Sie Codebase-Fragen

Wenn Sie sich in eine neue Codebase einarbeiten, verwenden Sie Claude Code zum Lernen und Erkunden. Sie können Claude die gleichen Fragen stellen, die Sie einem anderen Engineer stellen würden:

  • Wie funktioniert Logging?
  • Wie erstelle ich einen neuen API-Endpunkt?
  • Was macht async move { ... } auf Zeile 134 von foo.rs?
  • Welche Edge Cases behandelt CustomerOnboardingFlowImpl?
  • Warum ruft dieser Code foo() anstelle von bar() auf Zeile 333 auf?

Die Verwendung von Claude Code auf diese Weise ist ein effektiver Onboarding-Workflow, der die Einarbeitungszeit verbessert und die Belastung anderer Engineers reduziert. Keine spezielle Prompt-Formulierung erforderlich: stellen Sie Fragen direkt.

Lassen Sie Claude Sie interviewen

Claude stellt Fragen zu Dingen, die Sie möglicherweise noch nicht berücksichtigt haben, einschließlich technischer Implementierung, UI/UX, Edge Cases und Tradeoffs. Ersetzen Sie [brief description] mit Ihrer Feature, bevor Sie den Prompt senden.

I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.

Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.

Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.

Sobald die Spezifikation fertig ist, starten Sie eine neue Session, um sie auszuführen. Die neue Session hat einen sauberen Kontext, der sich vollständig auf die Implementierung konzentriert, und Sie haben eine geschriebene Spezifikation zum Referenzieren.

Die nützlichsten Spezifikationen sind in sich geschlossen: Sie benennen die beteiligten Dateien und Schnittstellen, geben an, was außerhalb des Geltungsbereichs liegt, und enden mit einem End-to-End-Verifizierungsschritt, der beweist, dass die Funktion funktioniert. Die Zeit, die Sie für eine präzise Spezifikation aufwenden, zahlt sich mehr aus als die Zeit, die Sie damit verbringen, die Implementierung zu beobachten.


Verwalten Sie Ihre Session

Konversationen sind persistent und reversibel. Nutzen Sie dies zu Ihrem Vorteil!

Korrigieren Sie früh und oft

Die besten Ergebnisse kommen aus engen Feedback-Schleifen. Obwohl Claude gelegentlich Probleme beim ersten Versuch perfekt löst, führt eine schnelle Korrektur im Allgemeinen zu besseren Lösungen schneller.

  • Esc: stoppen Sie Claude mitten in einer Aktion mit der Esc-Taste. Der Kontext wird beibehalten, sodass Sie umleiten können.
  • Esc + Esc oder /rewind: drücken Sie Esc zweimal oder führen Sie /rewind aus, um das Rewind-Menü zu öffnen und die vorherige Konversation und den Code-Status wiederherzustellen, oder fassen Sie eine ausgewählte Nachricht zusammen.
  • "Undo that": lassen Sie Claude seine Änderungen rückgängig machen.
  • /clear: setzen Sie den Kontext zwischen nicht verwandten Aufgaben zurück. Lange Sessions mit irrelevantem Kontext können die Leistung reduzieren.

Wenn Sie Claude mehr als zweimal bei demselben Problem in einer Session korrigiert haben, ist der Kontext mit fehlgeschlagenen Ansätzen überladen. Führen Sie /clear aus und beginnen Sie mit einem spezifischeren Prompt, der das Gelernte einbezieht. Eine saubere Session mit einem besseren Prompt übertrifft fast immer eine lange Session mit angesammelten Korrektionen.

Verwalten Sie den Kontext aggressiv

Claude Code komprimiert automatisch die Konversationshistorie, wenn Sie sich den Kontextlimits nähern, was wichtigen Code und Entscheidungen bewahrt und Platz freimacht.

Während langer Sessions kann sich Claudes Kontextfenster mit irrelevanten Konversationen, Dateiinhalten und Befehlen füllen. Dies kann die Leistung reduzieren und Claude manchmal ablenken.

  • Verwenden Sie /clear häufig zwischen Aufgaben, um das Kontextfenster vollständig zurückzusetzen
  • Wenn die automatische Komprimierung ausgelöst wird, fasst Claude zusammen, was am wichtigsten ist, einschließlich Code-Muster, Dateizustände und wichtige Entscheidungen
  • Für mehr Kontrolle führen Sie /compact <instructions> aus, wie /compact Focus on the API changes
  • Um nur einen Teil der Konversation zu komprimieren, verwenden Sie Esc + Esc oder /rewind, wählen Sie einen Nachricht-Checkpoint und wählen Sie Summarize from here oder Summarize up to here. Das erste verdichtet Nachrichten von diesem Punkt an, während der frühere Kontext erhalten bleibt; das zweite verdichtet frühere Nachrichten, während neuere vollständig erhalten bleiben. Siehe das Rewind-Menü's Zusammenfassungsoptionen.
  • Passen Sie das Komprimierungsverhalten in CLAUDE.md mit Anweisungen wie "When compacting, always preserve the full list of modified files and any test commands" an, um sicherzustellen, dass kritischer Kontext die Zusammenfassung überlebt
  • Für Fragen, die nicht im Kontext bleiben müssen, verwenden Sie /btw. Die Antwort gelangt niemals in die Konversationshistorie, sodass Sie ein Detail überprüfen können, ohne den Kontext zu vergrößern.

Verwenden Sie Subagents für Untersuchungen

Da der Kontext Ihre grundlegende Einschränkung ist, verwenden Sie Subagents, um Forschung aus ihm herauszuhalten. Wenn Claude eine Codebase erforscht, liest er viele Dateien, die alle Ihren Kontext verbrauchen. Subagents laufen in separaten Kontextfenstern und berichten Zusammenfassungen zurück:

Use subagents to investigate how our authentication system handles token
refresh, and whether we have any existing OAuth utilities I should reuse.

Sie können Subagents auch zur Überprüfung verwenden, nachdem Claude etwas implementiert hat. Siehe Fügen Sie einen adversarialen Review-Schritt hinzu.

Rewind mit Checkpoints

Claude erstellt automatisch Snapshots von Dateien vor jeder Änderung, sodass ein Checkpoint diese wiederherstellen kann. Doppeltippen Sie auf Escape oder führen Sie /rewind aus, um das Rewind-Menü zu öffnen. Sie können nur Konversation wiederherstellen, nur Code wiederherstellen, beides wiederherstellen oder eine ausgewählte Nachricht zusammenfassen. Siehe Checkpointing für Details.

Anstatt jeden Schritt sorgfältig zu planen, können Sie Claude bitten, etwas Riskantes zu versuchen. Wenn es nicht funktioniert, rewind und versuchen Sie einen anderen Ansatz. Checkpoints bleiben über Sessions hinweg erhalten, sodass Sie Ihr Terminal schließen und später immer noch rewind können.

Setzen Sie Konversationen fort

Claude Code speichert Konversationen lokal, sodass Sie den Kontext nicht erneut erklären müssen, wenn sich eine Aufgabe über mehrere Sitzungen erstreckt. Führen Sie claude --continue aus, um die letzte Session fortzusetzen, oder claude --resume, um aus einer Liste auszuwählen. Geben Sie Sessions aussagekräftige Namen wie oauth-migration, damit Sie sie später finden können. Siehe Manage sessions für den vollständigen Satz von Resume-, Branch- und Benennungskontrollen.


Automatisieren und skalieren Sie

Sobald Sie mit einem Claude effektiv sind, multiplizieren Sie Ihre Ausgabe mit parallelen Sessions, nicht-interaktivem Modus und Fan-Out-Mustern.

Führen Sie nicht-interaktiven Modus aus

Mit claude -p "your prompt" können Sie Claude nicht-interaktiv ohne eine interaktive Eingabeaufforderung ausführen. Der Lauf erstellt immer noch eine wiederaufnehmbare Session, es sei denn, Sie übergeben --no-session-persistence. Nicht-interaktiver Modus ist, wie Sie Claude in CI-Pipelines, Pre-Commit-Hooks oder jeden automatisierten Workflow integrieren. Die Ausgabeformate ermöglichen es Ihnen, Ergebnisse programmgesteuert zu analysieren: Klartext, JSON oder Streaming-JSON.

# One-off queries
claude -p "Explain what this project does"

# Structured output for scripts
claude -p "List all API endpoints" --output-format json

# Streaming for real-time processing
claude -p "Analyze this log file" --output-format stream-json --verbose

Das erste Kommando gibt Klartext aus. Das json-Format gibt ein einzelnes JSON-Objekt mit einem result-Feld zurück. Das stream-json-Format gibt ein JSON-Objekt pro Zeile aus, beginnend mit einem Init-Event.

Führen Sie mehrere Claude-Sessions aus

Wählen Sie den parallelen Ansatz, der zu dem Grad der Koordination passt, den Sie selbst durchführen möchten, und fügen Sie Messaging hinzu, wenn die Sessions Erkenntnisse untereinander weitergeben müssen:

  • Worktrees: Führen Sie separate CLI-Sessions in isolierten Git-Checkouts aus, damit Änderungen nicht kollidieren
  • Cross-Session-Messaging: Lassen Sie die Sessions, die Sie selbst ausführen, Erkenntnisse untereinander weitergeben
  • Desktop-App: Verwalten Sie mehrere lokale Sessions visuell, jede in ihrem eigenen Worktree
  • Claude Code im Web: Führen Sie Sessions in der Cloud auf von Anthropic verwalteter Infrastruktur aus
  • Agent-Ansicht: Forschungsvorschau. Führen Sie claude agents aus, um Sessions zu versenden, die im Hintergrund weiterhin ausgeführt werden, und beobachten Sie sie von einem Bildschirm aus
  • Agent Teams: Experimentell und standardmäßig deaktiviert. Automatisierte Koordination mehrerer Sessions mit gemeinsamen Aufgaben, Messaging und einem Team Lead

Über die Parallelisierung von Arbeit hinaus ermöglichen mehrere Sessions qualitätsorientierte Workflows. Ein frischer Kontext verbessert die Code-Überprüfung, da Claude nicht durch Code, den es gerade geschrieben hat, voreingenommen ist.

Verwenden Sie beispielsweise ein Writer/Reviewer-Muster:

Session A (Writer) Session B (Reviewer)
Implement a rate limiter for our API endpoints
Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns.
Here's the review feedback: [Session B output]. Address these issues.

Sie können etwas Ähnliches mit Tests tun: Lassen Sie einen Claude Tests schreiben, dann schreiben Sie einen anderen Code, um sie zu bestehen.

Fan Out über Dateien

Für große Migrationen oder Analysen können Sie Arbeit über viele parallele Claude-Aufrufe verteilen. In einem Git-Repository führen Sie /batch <instruction> aus, um Claude die Änderung auf 5 bis 30 Subagenten zu verteilen. Jeder Subagent arbeitet in seinem eigenen Worktree und öffnet einen Pull Request. Um den Fan-Out stattdessen von Ihrem eigenen Skript aus zu steuern, schleifen Sie über claude -p:

1

Generieren Sie eine Aufgabenliste

Lassen Sie Claude die Liste der Dateien, die migriert werden müssen, in eine Datei schreiben, damit die Schleife im nächsten Schritt sie lesen kann, mit einem Prompt wie list all 2,000 Python files that need migrating and save the list to files.txt

2

Schreiben Sie ein Skript, um die Liste zu durchlaufen

for file in $(cat files.txt); do
claude -p "Migrate $file from Python 2 to Python 3. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)"
done
3

Testen Sie auf ein paar Dateien, dann führen Sie auf dem vollständigen Satz aus

Verfeinern Sie Ihren Prompt basierend auf dem, was bei den ersten 2-3 Dateien schiefgeht, dann führen Sie auf dem vollständigen Satz aus. Das --allowedTools-Flag beschränkt, was Claude tun kann, was wichtig ist, wenn Sie unbeaufsichtigt laufen.

Sie können Claude auch in vorhandene Daten-/Verarbeitungs-Pipelines integrieren:

claude -p "<your prompt>" --output-format json | your_command

Verwenden Sie --verbose zum Debuggen während der Entwicklung und schalten Sie es in der Produktion aus.

Führen Sie autonom mit Auto Mode aus

Für ununterbrochene Ausführung mit Hintergrund-Sicherheitsprüfungen verwenden Sie Auto Mode. Ein Klassifizierer-Modell überprüft Befehle vor ihrer Ausführung, blockiert Scope-Eskalation, unbekannte Infrastruktur und feindselige-Inhalts-getriebene Aktionen, während es Routinearbeit ohne Prompts durchlaufen lässt.

claude --permission-mode auto -p "fix all lint errors"

Wenn der Klassifizierer bei einem nicht-interaktiven Lauf mit dem -p-Flag Aktionen wiederholt blockiert, stoppt Claude Code den Lauf nicht. Siehe wenn Auto Mode zurückfällt für das, was stattdessen passiert, und für die Schwellenwerte.

Fügen Sie einen gegnerischen Überprüfungsschritt hinzu

Je länger Claude unbeaufsichtigt arbeitet, desto wichtiger wird eine unabhängige Überprüfung, bevor Sie die Arbeit als erledigt zählen. Ein Reviewer, der in einem frischen Subagenten-Kontext läuft, sieht nur den Diff und die Kriterien, die Sie ihm geben, nicht die Begründung, die die Änderung hervorgebracht hat, daher bewertet er das Ergebnis nach seinen eigenen Maßstäben.

Für eine Korrektheitsprüfung führen Sie die gebündelte /code-review Skill aus, die den aktuellen Diff auf Fehler in einem frischen Subagenten überprüft und Ergebnisse an die Session zurückgibt. Um den Diff stattdessen gegen Ihren Plan zu überprüfen, schreiben Sie den Überprüfungs-Prompt selbst. Nennen Sie die zu überprüfende Arbeit, den Plan, gegen den überprüft werden soll, und was als Ergebnis zählt:

Use a subagent to review the rate limiter diff against PLAN.md. Check that
every requirement is implemented, the listed edge cases have tests, and
nothing outside the task's scope changed. Report gaps, not style preferences.

Da der Reviewer als Subagent läuft, erhält die implementierende Session die Lücken direkt und kann sie beheben und erneut überprüfen, ohne dass Sie Erkenntnisse zwischen Fenstern kopieren müssen.


Vermeiden Sie häufige Fehlermuster

Dies sind häufige Fehler. Sie früh zu erkennen spart Zeit:

  • Die Kitchen-Sink-Session. Sie beginnen mit einer Aufgabe, dann fragen Claude etwas Unverwandtes, dann gehen Sie zurück zur ersten Aufgabe. Der Kontext ist voll mit irrelevanten Informationen.

    Lösung: /clear zwischen nicht verwandten Aufgaben.

  • Immer wieder korrigieren. Claude macht etwas falsch, Sie korrigieren es, es ist immer noch falsch, Sie korrigieren erneut. Der Kontext ist mit fehlgeschlagenen Ansätzen verschmutzt.

    Lösung: Nach zwei fehlgeschlagenen Korrektionen /clear und schreiben Sie einen besseren anfänglichen Prompt, der das Gelernte einbezieht.

  • Die über-spezifizierte CLAUDE.md. Wenn Ihre CLAUDE.md zu lang ist, ignoriert Claude die Hälfte davon, weil wichtige Regeln in dem Lärm verloren gehen.

    Lösung: Rücksichtslos bereinigen. Wenn Claude etwas bereits ohne die Anweisung richtig macht, löschen Sie es oder konvertieren Sie es in einen Hook.

  • Die Trust-then-Verify-Lücke. Claude produziert eine plausibel aussehende Implementierung, die Edge Cases nicht behandelt.

    Lösung: Geben Sie immer Überprüfung an (Tests, Skripte, Screenshots). Wenn Sie es nicht überprüfen können, versenden Sie es nicht.

  • Die unendliche Erkundung. Sie bitten Claude, etwas zu „untersuchen", ohne es zu begrenzen. Claude liest Hunderte von Dateien und füllt den Kontext.

    Lösung: Begrenzen Sie Untersuchungen eng oder verwenden Sie Subagents, damit die Erkundung Ihren Hauptkontext nicht verbraucht.


Entwickeln Sie Ihre Intuition

Die Muster in diesem Leitfaden sind nicht in Stein gemeißelt. Sie sind Ausgangspunkte, die im Allgemeinen gut funktionieren, aber möglicherweise nicht optimal für jede Situation sind.

Manchmal sollten Sie den Kontext ansammeln lassen, weil Sie tief in einem komplexen Problem stecken und die Geschichte wertvoll ist. Manchmal sollten Sie die Planung überspringen und Claude es herausfinden lassen, weil die Aufgabe explorativ ist. Manchmal ist ein vager Prompt genau richtig, weil Sie sehen möchten, wie Claude das Problem interpretiert, bevor Sie es einschränken.

Achten Sie auf das, was funktioniert. Wenn Claude großartige Ausgabe produziert, bemerken Sie, was Sie getan haben: die Prompt-Struktur, den Kontext, den Sie bereitgestellt haben, den Modus, in dem Sie waren. Wenn Claude kämpft, fragen Sie warum. War der Kontext zu laut? Der Prompt zu vage? Die Aufgabe zu groß für einen Pass?

Im Laufe der Zeit werden Sie Intuition entwickeln, die kein Leitfaden erfassen kann. Sie werden wissen, wann Sie spezifisch und wann offen sein sollten, wann Sie planen und wann Sie erkunden sollten, wann Sie den Kontext löschen und wann Sie ihn ansammeln lassen sollten.