Du lässt Cursor Agent im Monorepo das Zahlungsmodul anpassen — und er bearbeitet stattdessen DTOs aus dem User Center. Claude Code läuft zwanzig Bash-Runden, vergisst dann aber: „Legacy-Pakete nie direkt importieren.“ Das ist kein plötzlich dümmeres Modell, sondern der häufigste Fehlermodus in großen Projekten: Kontextverlust.
2026 werben Cursor und Claude Code mit Millionen-Token-Kontext — und trotzdem passiert auf echten Baustellen „Vereinbarung vergessen“ weiterhin oft. Dieser Artikel liefert eine wiederholbare Fünf-Schritte-Methode: Erst einordnen, wie Kontext verloren ging, dann nacheinander Budget, Index, Grenzen, Repo-Konventionen und Session-Strategie prüfen. Tool-Stand 2026-07-17 (Cursor 1.x, aktuelle Claude-Code-CLI).
Quick Answer: Fünf Schritte im Überblick
| Schritt | Was du prüfst | Typische Aktion | Signal, dass es wirkt |
|---|---|---|---|
| 1. Symptome einordnen | Sitzungskürzung / Index verfehlt / Regeln nicht geladen | Tabelle unten — nicht sofort Modell wechseln | Du weißt, ob du „Session“ oder „Repo“ fixen musst |
| 2. Kontextbudget prüfen | Tool-Runden und Auto-Injection füllen das Fenster | Unnötige Tabs schließen, weniger @-Dateien, kleineres Modell zum Erkunden | Weniger Wiederholungen; Diffs widersprechen sich nicht mehr |
| 3. Index neu aufbauen | .cursorignore, riesige Verzeichnisse, veralteter Index | Reindex; node_modules / DerivedData ausschließen | Agent findet den richtigen Package-Pfad automatisch |
| 4. Grenzen setzen | Task-Scope zu breit | Subfolder-Workspace, explizite @-Aufrufkette, Handoff-Block | Geänderte Dateien bleiben im erwarteten Modul |
| 5. Repo-Konventionen schreiben | Mündliche Regeln nie als durchsuchbarer Text | AGENTS.md, .cursor/rules, lange Sessions splitten | Neue Sessions halten dieselben Constraints ein |
Was bedeutet „Kontextverlust“ in großen Projekten?
Erst Begriffe klären: Ein langes Kontextfenster beantwortet „Passen so viele Tokens gerade rein?“ Effektiver Kontext beantwortet „Welche Fakten hat das Modell für diese Entscheidung wirklich genutzt?“ In großen Repos wird diese Lücke breiter — siehe unseren früheren Artikel zu persistentem Gedächtnis beim KI-Coding.
Wenn Entwickler sagen, Kontext sei „verloren“, fällt es meist in drei Kategorien:
| Typ | Was du siehst | Typische Ursache | Zuerst prüfen |
|---|---|---|---|
| A. Sitzungskürzung | Gleicher Thread driftet; frühere Constraints werden aufgehoben | Mehrstufige Tool-Ausgabe verdrängt frühe Anweisungen; Compact/Summary lässt Details fallen | Schritte 2, 5 |
| B. Index verfehlt | „Modul nicht gefunden“ / „Tabelle existiert nicht“ | Zu aggressive Ignore-Regeln, veralteter Index, Repo zu groß mit noisy Retrieval | Schritte 3, 4 |
| C. Regeln nicht geladen | Neue Session vergisst Naming-Stil und verbotene Pfade | Regeln nur im Chat; fehlendes oder zu langes AGENTS.md | Schritt 5 |
Schritt 1: Erst einordnen — nicht jedes „Vergessen“ ist ein Modellproblem
Bei Fehler oder unsinnigem Diff: Diesen 60-Sekunden-Entscheidungsbaum durchlaufen:
- Gleiche Session widerspricht sich? → Wahrscheinlich A Sitzungskürzung — zu Schritt 2.
- Neue Session vergisst Vereinbarungen? → Wahrscheinlich C Regeln nicht geladen — zu Schritt 5.
- Modell behauptet, Datei existiert nicht, aber
grepfindet sie? → Wahrscheinlich B Index verfehlt — zu Schritten 3–4. - Fehler
context length exceeded/prompt is too long? → Klares Budget-Problem — direkt zu Schritt 2.
Cursor und Claude Code unterscheiden sich leicht: Cursor Composer/Agent injiziert automatisch geöffnete Dateien und Index-Snippets — die IDE kann das Fenster leise sprengen. Claude-Code-Terminal-Agents verlieren eher nach langen Bash-Sequenzen + Auto-Compact Entscheidungen mitten in der Kette. Tool-Vergleich im Auswahl-Leitfaden 2026.
Schritt 2: Kontextbudget prüfen — großes Fenster heißt nicht automatisch sparsam
Realer Token-Verbrauch in einem Agent-Task kommt aus: System-Prompt + Regeldateien + @-Dateien + Tool-Ausgabe (grep, Test-Logs) + Verlaufszusammenfassung. In einem 120k-Zeilen-TypeScript-Monorepo kann ein Cursor-Agent-Lauf, der acht Related Files auto-liest und die volle Test-Suite startet, bei 80K–120K Input-Tokens landen — vor Retries.
2.1 Auf Cursor-Seite
- Editor-Tabs ohne Bezug zum Task schließen; keine riesigen JSON- oder Lock-Dateien offen lassen.
- Kleineres Kontextmodell oder normaler Chat zum Erkunden; Agent erst, wenn der Plan klar ist.
- Kein „Refactor + Tests + CI“ in einem Composer — drei Tasks mit expliziter Dateiliste.
- Codebase indexing in den Einstellungen im Blick; schlägt Indexierung fehl, fällt Agent auf grep zurück und das Fenster bläht sich schneller auf.
2.2 Auf Claude-Code-Seite
- Bei langen Tasks auf Auto-Compact achten; danach festen Block „Non-negotiable constraints“ einfügen.
- Riesige Command-Ausgabe in Datei umleiten; Agent soll
tailauf Schlüsselzeilen — nicht 5.000 Log-Zeilen in den Chat. - Vor
/clearoder neuer Session Schlussfolgerungen inHANDOFF.mdoder Issue-Kommentar schreiben.
| Signal | Wahrscheinliche Ursache | Jetzt tun |
|---|---|---|
| Edits werden gegen Ende schlechter | Frühe Constraints aus dem Fenster gedrängt | Neue Session + Handoff-Block + kürzerer Task |
| API-Rechnung explodiert bei einem Task | Große Dateien / volle Test-Ausgabe erneut gelesen | Test-Scope begrenzen; head/tail nutzen |
| „Context exceeded“-Fehler | Hartes Limit erreicht | Weniger @-Dateien, Task splitten, Erkundungsmodell |
Schritt 3: Index neu aufbauen und Ignore aufräumen — dem Agent beim „Finden“ helfen
Kernproblem bei Typ B: Das Modell weigert sich nicht zu suchen — Retrieval liefert nie die richtige Datei.
3.1 .cursorignore / .claudeignore prüfen
Sinnvolle Ignores sparen Index-Zeit; Over-Ignore erzeugt blinde Flecken. Weiter ausschließen:
node_modules/,.git/,dist/,build/,DerivedData/- Verzeichnisse mit riesigem generiertem Code (musst du Generated Output bearbeiten, @ einzelne Dateien explizit)
- Binaries und Medien-Assets
Nicht leichtfertig Business-Source-Packages ignorieren — viele Teams schließen ganz legacy/ aus und wundern sich, warum Agent die Compatibility-Layer nie sieht.
3.2 Reindex auslösen
Cursor: Settings → Indexing & Docs → Resync Index (Formulierung je Version). Erster Full-Index in großem Repo auf M4 dauert oft 15–40 Minuten; läuft auf dem Laptop parallel Ollama + Xcode, Indexierung auf einen dedizierten Cloud-Mac-Knoten auslagern — weniger Swap-Timeouts für IDE und Agent. Passend zu den Erkenntnissen in unseren M4-KI-Coding-Benchmarks.
git ls-files | wc -l laufen lassen und mit indexierten Dateizahlen vergleichen. Fällt die Abdeckung stark ab, gemeinsamen Reindex planen statt dass alle Cursor ratend neu starten.Schritt 4: Grenzen setzen — „ganzes Repo auf einmal“ ist der Feind
Manchmal ist Kontextverlust wirklich eine zu große Task-Definition: Du sagst „Payments optimieren“, das Modell fasst vierzig Packages an — jeweils ein bisschen.
4.1 Workspace eingrenzen
- VS Code / Cursor Multi-Root-Workspace — nur
apps/checkout+packages/payment-sdköffnen. - Claude Code im Subdirectory starten:
cd apps/checkout && claude, damit irrelevante Pfade nicht ins Retrieval rutschen.
4.2 Explizite @-Aufrufkette
Bei API-Änderung mindestens @: Interface-Definition → Server-Implementierung → ein echter Caller → zugehöriger Test. In Vue- + Spring-Boot-Fullstack-Repos sank „Frontend vergessen“ durch gezielte Call-Chain-@-Referenzen von etwa 40 % auf unter 10 % — systematischer Ansatz in unserer CodeGraph-Fallstudie.
4.3 Handoff-Block-Vorlage
Vor Session-Wechsel bei langem Task feste Struktur einfügen:
## Handoff
- Ziel:
- Erledigt:
- Offen:
- Non-negotiable: (Pfade / Naming / verbotene Imports)
- Als Nächstes öffnen:
Das schlägt „fasse oben zusammen“, weil Einträge prüfbar sind — kein Prosa, das Constraints verliert.
Schritt 5: Konventionen ins Repo und Sessions bewusst splitten
Fix für Typ C: Regeln Teil des Repositories machen, nicht Teil des Chats.
5.1 AGENTS.md und Cursor Rules
Am Repo-Root kurze, umsetzbare Konventionen pflegen (Ziel < 200 Zeilen; bei Bedarf splitten):
- Modulgrenzen und „KI darf nicht bearbeiten“-Pfade (z. B.
generated/,vendor/) - Naming- und Error-Handling-Stil (je ein gutes und schlechtes Beispiel)
- Checkliste: welche Layer bei API-Änderung mitgehen müssen
- Pflicht-Commands:
pnpm test payment --filter=...
Cursor liest .cursor/rules; Claude Code liest AGENTS.md und CLAUDE.md. Inhaltlich align halten — widersprüchliche Kopien verwirren beide Tools.
5.2 Wann Sessions splitten
| Szenario | Empfehlung |
|---|---|
| Ein Feature gemerged; nächstes startet | Neue Session + Handoff |
| Agent missversteht dreimal hintereinander | Stoppen, Handoff schreiben, @-Scope verkleinern |
| Compact ausgelöst / Kontextbalken über Hälfte | Konventionen auf Disk sichern, dann weiter |
| Am nächsten Tag weiter | Immer neue Session + Link zu PR/Issue |
Spannen Aufrufketten ein Dutzend Packages und reichen @-Dateien trotzdem nicht, dann Code-Wissensgraph-Tools evaluieren — das ist Verstärkung nach Schritt 5, nicht der erste Schritt.
Fallstudie: 45 Minuten in einem 120k-Zeilen-Monorepo
Ein B2B-SaaS-Team (8 Backend + 4 Frontend) nutzt Cursor + Claude Code in einem pnpm-Monorepo (~118k LOC, 6 Apps, 23 Packages). Symptom: Bearbeitet Agent billing-api, bricht er wiederholt Type-Exports aus auth-middleware — und neue Sessions machen dasselbe.
| Reihenfolge | Befund | Aktion | Ergebnis |
|---|---|---|---|
| Schritt 1 | Neue Sessions vergessen Regeln → Typ C | Kein AGENTS.md bestätigt | Root Cause identifiziert |
| Schritt 3 | .cursorignore schloss fälschlich packages/auth aus | Ignore gefixt + Reindex | Agent konnte Middleware referenzieren |
| Schritt 4 | Task „Billing fixen“ zu breit | Workspace auf Billing + Auth; @ Tests | Dateien von 19 auf 6 gesunken |
| Schritt 5 | Mündliche Regeln nie dokumentiert | 120-Zeilen-AGENTS.md + CI Import-Boundary-Check | Eine Woche PRs ohne gleichartige Regressionen |
Kein teureres Modell. Ø Tokens pro Task ~35 % weniger, weil Agent keine Full-Repo-grep-Schleifen mehr drehte. Reindex und Nacht-Tests auf Macstripe-24GB-Cloud-Knoten; Laptop nur per SSH zum Coden — Swap-Warnungen beim Indexieren weg.
Selbstcheck: 2 Minuten vor dem Start
- ☐ Du kannst benennen, ob dieser Task Typ A, B oder C ist
- ☐ Editor hat nur relevante Dateien offen; keine riesigen Logs
- ☐
.cursorignoreschließt keinen Business-Source aus - ☐ Index gesund, oder Reindex geplant
- ☐ Workspace-Scope ≤ 2–3 verwandte Packages
- ☐ Call-Chain-Key-Files @ (inkl. ein Test)
- ☐
AGENTS.mdlistet Non-negotiables für diesen Task - ☐ Handoff-Vorlage bereit für langen Task
FAQ
Das Kontextfenster ist mit 200K angegeben — warum geht trotzdem Kontext verloren?
Das Fenster ist eine Kapazitätsgrenze, keine Aufmerksamkeitsgarantie. Mehrstufige Agent-Tool-Aufrufe verdrängen frühe Anweisungen aus effektiver Aufmerksamkeit; Compact-Zusammenfassungen lassen Details fallen. Durchsuchbare Repo-Konventionen schlagen längeren Chat-Verlauf.
Wer verliert leichter Kontext — Cursor oder Claude Code?
Cursor verliert eher Grenzen durch IDE-Auto-Injection und lange Composer-Ketten; Claude Code eher Entscheidungen mitten in der Kette nach langen Bash-Läufen und Compact. Beide brauchen explizite @, AGENTS.md und Task-Splits — keiner ist „einfacher“.
Beeinflusst .cursorignore manuelle @-Referenzen?
Einzelne Datei manuell @ referenzieren funktioniert meist noch; kaputt geht Gesamt-Repo-Index und Auto-Retrieval. Ignorierte Verzeichnisse brauchen explizite @ oder der Agent findet sie nicht allein.
Soll ich einen Code-Wissensgraphen einsetzen?
Pilot lohnt sich, wenn Aufrufketten viele Packages durchqueren und @-Dateien Edits trotzdem verpassen. Bei kleinen Repos oder klaren Grenzen: AGENTS.md + CI zuerst — besserer ROI.
Hilft Mac-Wechsel oder Cloud?
Vergrößert nicht den Modellkontext, aber ein dedizierter 24GB-M4 reduziert Swap beim Indexieren und Tests — weniger Agent-Timeouts — und kann die gemeinsame „Heavy-Task“-Umgebung des Teams sein. Tagesweise testen, um zu validieren.
Fazit
„Kontextverlust“ mit Cursor / Claude Code in großen Projekten ist meist ein Engineering-Problem, kein Wunder durch neue Modell-Stufe. Diese fünf Schritte — Symptome einordnen → Budget prüfen → Index neu aufbauen → Grenzen setzen → AGENTS.md schreiben und Sessions splitten — kosten meist weniger und liefern stabilere Ergebnisse als blind Max-Mode zu aktivieren.
- Drift in derselben Session: Injection reduzieren, Tasks splitten, Handoff nutzen.
- Dateien nicht finden: Ignore fixen, Reindex, Workspace verengen.
- Neue Session vergisst: Konventionen ins Repo; CI erzwingt sie.
Als Nächstes: persistentes Gedächtnis und Code-Wissensgraphen für Verstärkung nach Schritt 5.