# Kontextverwaltung

Jede Claude-Code-Sitzung läuft innerhalb eines **Kontextfensters**. Wenn Sie verstehen, wie der Kontext funktioniert, können Sie Claude effizienter einsetzen und Fehler vermeiden, die durch einen Kontextüberlauf entstehen.

## Das Kontextfenster verstehen

Claude Code verwendet standardmäßig ein Kontextfenster von **200.000 Tokens**. Die Modelle Opus 4.8 und Sonnet 4.6 unterstützen eine Erweiterung auf **1.000.000 Tokens (1M-Kontext)**.

Der Kontext umfasst:
- den gesamten Gesprächsverlauf (Ihre Nachrichten + die Antworten von Claude)
- Dateiinhalte, die mit `@` referenziert wurden
- Ein- und Ausgaben von Tool-Aufrufen
- System-Prompts und den Inhalt von CLAUDE.md

Im Verlauf des Gesprächs wächst der Kontext stetig. Nähert sich der Kontext seiner Grenze, kann sich die Antwortgeschwindigkeit von Claude verlangsamen, und es wird schließlich eine automatische Komprimierung ausgelöst oder ein Fehler tritt auf.

## Kontext komprimieren: /compact

Der Befehl `/compact` verdichtet den bisherigen Gesprächsverlauf zu einer kurzen Zusammenfassung. So wird Kontextplatz frei, während wichtige Informationen erhalten bleiben.

```
/compact
```

Sie können außerdem eigene Anweisungen hinzufügen, um den Schwerpunkt der Komprimierung zu steuern:

```
/compact Keep all code examples and the completed task list
```

**Automatische Komprimierung**: Claude Code löst die Komprimierung standardmäßig automatisch aus, sobald der Kontext **95 % der Kapazität** erreicht. Sie können `/compact` auch vorausschauend ausführen, sobald der Kontext 70–80 % erreicht, um nicht bis zum letzten Moment zu warten.

## Verlauf löschen: /clear

Der Befehl `/clear` löscht den gesamten Gesprächsverlauf und startet eine neue Sitzung:

```
/clear
```

> **Hinweis**: `/clear` entfernt den gesamten Kontext, einschließlich der Projektinformationen, die Claude bereits kennengelernt hat. Verwenden Sie den Befehl, wenn Sie zu einer völlig anderen, neuen Aufgabe wechseln.

## Kontextstatus prüfen: /context

Mit dem Befehl `/context` können Sie die aktuelle Kontextnutzung anzeigen:

```
/context
```

## @-Dateireferenzen

Mit dem Symbol `@` fügen Sie Dateiinhalte zum Kontext hinzu:

```
@src/main.ts Explain what this file does
@package.json Check dependency versions
@README.md
```

**Bewährte Vorgehensweisen**:
- Referenzieren Sie nur Dateien, die für die aktuelle Aufgabe relevant sind, um unnötigen Kontext zu vermeiden
- Große Dateien verbrauchen schnell Kontextplatz – referenzieren Sie vorrangig die wichtigsten Dateien
- Nutzen Sie `CLAUDE.md`, um Projekthintergründe bereitzustellen, anstatt sie in jedem Gespräch erneut einzufügen

## Pipe-Eingabe

Übergeben Sie Befehlsausgaben oder Dateiinhalte per Pipe an Claude:

```bash
# Pipe file contents in
cat error.log | claude "Analyze this error"

# Pipe command output in
git diff | claude "Generate a commit message"

# Multi-line input
echo "Please analyze the following code:
$(cat src/utils.ts)" | claude
```

## Überlauf bei langen Sitzungen verhindern

### Symptom: E015 Internal server error

Nähert sich der Gesprächskontext der Kapazitätsgrenze des Modells (~95 %), gibt die Anthropic API einen 500-Fehler zurück. QCode.cc verpackt diesen als 429-Antwort:

```
429 {"error":{"code":"E015","message":"Internal server error"},"status":500}
```

Dies ist ein bekanntes Verhalten der Anthropic API (nicht spezifisch für QCode.cc). QCode.cc verpackt 5xx-Fehler des Anbieters als 429-Antworten, um den integrierten Wiederholungsmechanismus von Claude Code zu nutzen.

### Lösungsschritte

1. **Versuchen Sie `/compact`**:
   - Bei Erfolg kann das Gespräch normal fortgesetzt werden
   - Wenn `/compact` selbst einen Fehler liefert (auch die Komprimierungsanfrage muss den vollständigen Kontext senden), fahren Sie mit dem nächsten Schritt fort

2. **Claude Code beenden und neu starten**:
   ```bash
   # Press Ctrl+C or type /exit
   # Then restart
   claude
   ```

### Tipps zur Vorbeugung

- **Regelmäßig komprimieren**: Führen Sie `/compact` vorausschauend aus, sobald der Kontext 70–80 % erreicht, statt auf einen Überlauf zu warten
- **Aufgaben aufteilen**: Teilen Sie große Aufgaben in kleinere auf und verwenden Sie für jede eine eigene Sitzung
- **CLAUDE.md statt wiederholtem Einfügen nutzen**: Schreiben Sie Projekthintergründe in `CLAUDE.md` – Claude liest die Datei beim Start automatisch, sodass Sie sie nicht in jedem Gespräch wiederholen müssen
- **Große Dateien vermeiden**: Das Referenzieren einer großen Datei verbraucht viel Kontext – referenzieren Sie besser nur die wichtigsten Abschnitte
- **Mit `/cost` überwachen**: Der Befehl `/cost` zeigt die Token-Nutzung der aktuellen Sitzung an
## Schnellreferenz der Befehle

| Befehl | Zweck |
|--------|-------|
| `/compact` | Kontext komprimieren (behält eine Zusammenfassung) |
| `/clear` | Gesamten Kontext löschen |
| `/context` | Kontextstatus anzeigen |
| `/cost` | Token-Nutzung anzeigen |
| `@<file path>` | Eine Datei in den Kontext einbinden |
## Hierarchie des Context Engineering

„Context Engineering“ bedeutet, dass Sie bewusst organisieren, was Claude bei jeder Anfrage liest – hochwertige, stabile Informationen stehen vorn, Rauschen wird ferngehalten. Der Kontext von Claude Code folgt einer klaren **Prioritätshierarchie** (höchste zu niedrigste):

1. **Enterprise / Managed Policy** — Regeln, die von Ihrer Organisation vorgegeben werden. Höchste Priorität; Einzelpersonen können sie nicht überstimmen.
2. **Projektgedächtnis `CLAUDE.md` / `AGENTS.md`** — Anweisungen im Repo-Root, die Code-Konventionen, Build-Befehle und Projekthintergrund beschreiben.
3. **Pfadbezogene Regeln** — verschachtelte `CLAUDE.md`-Dateien oder `.claude/rules` in Unterverzeichnissen, die nur auf Arbeiten unter diesem Pfad angewendet werden.
4. **Aktueller Gesprächsverlauf** — das Hin und Her in der laufenden Session. Niedrigste Priorität und der Teil, der am ehesten anwächst.

Das Verständnis dieser Hierarchie hilft Ihnen, Anweisungen an die **richtige Stelle** zu setzen: allgemeine Konventionen kommen ins projektweite `CLAUDE.md`, verzeichnisspezifische Regeln in pfadbezogene Regeln – anstatt sie in jedem Gespräch erneut zu formulieren.

### Praxistipps

- **Anweisungen kurz und informativ halten**: Je schlanker Ihr `CLAUDE.md` ist, desto leichter kann Claude ihnen folgen; lange, thematisch abschweifende Inhalte verwässern die Kernanweisungen.
- **`/compact` an logischen Abschnitten**: Komprimieren Sie den Verlauf nach Abschluss einer Phase – lange, unkonzentrierte Gespräche verschlechtern die Genauigkeit.
- **`/clear` zwischen nicht zusammenhängenden Aufgaben**: Löschen Sie den Verlauf beim Wechsel zu einer völlig unabhängigen Aufgabe, damit alter Kontext nicht stört.
- **Per Pfad referenzieren statt einfügen**: Verwenden Sie `@<file path>`, damit Claude Dateien bei Bedarf liest, anstatt große Blöcke in das Gespräch zu stopfen – das spart Kontext und erhöht die Genauigkeit.
- **Stabile Inhalte zuerst**: Unveränderliche Inhalte wie System-Prompts, `CLAUDE.md` und große Hintergrundblöcke sollten vorn stehen und nicht editiert werden, damit sie von **Prompt Caching** erfasst werden (caching-gelesene Eingaben kosten etwa 10 % der normalen Input-Kosten). Genau deshalb sparen ein knappes, stabiles `CLAUDE.md` und wiederverwendete Sessions Kosten.

Kurz gesagt: Schieben Sie stabile, hochwertige Inhalte an die Spitze der Hierarchie und halten Sie sie unverändert, und zügeln Sie den wechselhaften Gesprächsverlauf regelmäßig. Für mehr Details siehe [CLAUDE.md-Projektgedächtnis](/docs/usage/claude-md) und [Kostenoptimierung](/docs/usage/cost-optimization).