Der blinde Fleck der meisten Entwickler
Es gibt einen Workflow-Fehler, den fast jeder Entwickler macht, der zum ersten Mal mit KI-Coding-Agenten arbeitet: Er startet einen Agenten, wartet bis dieser fertig ist, reviewed das Ergebnis, merged – und startet dann den nächsten Agenten. Seriell. Nacheinander. Als wäre Zeit keine Ressource.
Das klingt vernünftig. Es fühlt sich ordentlich an. Und es verschwendet den größten Teil des Produktivitätspotenzials, das KI-Agenten bieten.
Simon Willison, einer der profiliertesten KI-Tooling-Forscher der Branche, hat dieses Problem im Oktober 2025 präzise beschrieben: Während ein Agent an Task A arbeitet, wartet dein Rechner, wartet die API-Verbindung, wartet das nächste Ticket. In der Zeit, in der ein Agent zehn Minuten an einem Feature baut, könnte ein zweiter Agent bereits das nächste Feature halb fertig haben. Serielles Arbeiten halbiert den Output nicht – es drittelt ihn.
Die Lösung ist konzeptionell simpel: Starte mehrere Agenten parallel. Die technische Herausforderung dahinter ist, wie man das tut, ohne dass sich die Agenten gegenseitig in die Quere kommen – in denselben Dateien schreiben, dieselben Branches überschreiben, Merge-Konflikte erzeugen, die mehr Zeit kosten als die gewonnene Parallelität einsparen würde.
Git Worktrees lösen genau dieses Problem. Und Claude Code hat dafür eine native Integration gebaut.
„Die Frage ist nicht mehr ob du mit Agenten arbeitest. Die Frage ist: parallel oder seriell?"— Joshua Heller, LinkedIn, 15. Juni 2026
Was sind Git Worktrees?
Git Worktrees sind ein oft übersehenes Feature von Git, das seit Version 2.5 (2015) im Core enthalten ist – aber erst durch die KI-Agenten-Welle seinen Durchbruch als Produktivitätswerkzeug erlebt. Die Grundidee: Ein Git-Repository kann mehrere Arbeitsverzeichnisse gleichzeitig haben.
Normalerweise hat ein Repository genau ein Arbeitsverzeichnis – den Ordner, in dem du deine Dateien siehst und bearbeitest. Alles andere lebt in der .git-Datenbank. Mit Worktrees kannst du dieses Arbeitsverzeichnis beliebig oft „auschecken" – jedes auf einem eigenen Branch, in einem eigenen Ordner auf deinem Dateisystem. Dabei teilen sich alle Worktrees dieselbe .git-Datenbank.
Der entscheidende Unterschied zu einem frischen Clone
Viele Entwickler lösen das Problem der Parallelarbeit, indem sie das Repository mehrfach klonen. Das funktioniert – aber es hat erhebliche Nachteile:
- Jeder Clone dupliziert die gesamte
.git-Datenbank. Bei großen Repos (100 MB+) kostet das Zeit und Speicher. - Commits in Clone A sind in Clone B erst nach einem
git fetchundgit pullsichtbar. - Es ist einfach, den Überblick zu verlieren, welcher Clone welchen Stand hat.
- Node Modules, Python Virtual Environments, Build-Artefakte – alles wird dupliziert, sofern nicht sorgfältig konfiguriert.
Mit Worktrees erstellt Git lediglich ein neues Arbeitsverzeichnis, das auf einen Branch zeigt. Die gesamte Objekt-Datenbank (Commits, Blobs, Trees) existiert weiterhin nur einmal. Ein neuer Worktree ist in Sekunden angelegt – egal ob das Repo 10 MB oder 10 GB groß ist.
Die drei wichtigsten Worktree-Befehle
# Neuen Worktree anlegen (erstellt Branch feature/payment-api und Ordner ../repo-payment) git worktree add ../repo-payment feature/payment-api # Neuen Worktree aus einem bestehenden Remote-Branch git worktree add ../repo-auth -b feature/auth-refactor origin/main # Alle aktiven Worktrees anzeigen git worktree list # Worktree entfernen (nach erfolgtem Merge) git worktree remove ../repo-payment # Prunen: veraltete Worktree-Referenzen bereinigen git worktree prune
Die Ausgabe von git worktree list zeigt alle aktiven Verzeichnisse auf einen Blick:
/home/user/mein-projekt a3f9b21 [main] /home/user/mein-projekt-payment 8c4d032 [feature/payment-api] /home/user/mein-projekt-auth 1e7f994 [feature/auth-refactor] /home/user/mein-projekt-tests 9a2c551 [feature/test-coverage]
Bewährt hat sich das Naming-Schema [repo-name]-[ticket-id] für die Worktree-Ordner: myapp-123, myapp-456. Dann weiß jeder Entwickler sofort, welcher Ordner zu welchem Ticket gehört – und welcher KI-Agent dort gerade arbeitet.
Claude Code's nativer Worktree-Support
Was Git Worktrees von einem nützlichen Tool zu einem echten Produktivitätsmultiplier macht, ist die native Integration in Claude Code – Anthropics CLI für den Einsatz von Claude als Coding-Agent. Claude Code hat zwei Flags, die speziell für den parallelen Worktree-Workflow gebaut wurden:
# Claude Code startet in einem neuen Worktree (isolierter Branch) claude --worktree # Claude Code + tmux: Agent läuft in einem dedizierten tmux-Pane claude --worktree --tmux
Was passiert, wenn du claude --worktree aufrufst? Claude Code:
- Legt automatisch einen neuen Worktree an – mit einem sauber generierten Branch-Namen basierend auf deiner Task-Beschreibung.
- Startet die Claude-Session in diesem isolierten Arbeitsverzeichnis.
- Alle Änderungen des Agenten landen auf diesem Branch, nicht auf
main. - Nach Abschluss der Task kannst du reviewen, anpassen und mergen – oder den Worktree verwerfen.
Das --tmux-Flag fügt eine weitere Ebene hinzu: Jeder Agent bekommt ein eigenes tmux-Pane in deinem Terminal. Du kannst zwischen den laufenden Agenten wechseln, den Fortschritt beobachten und bei Bedarf eingreifen – alles in einem einzigen Terminalfenster.
# Typischer paralleler Workflow: 3 Agenten gleichzeitig starten # Terminal 1: Feature A claude --worktree "Implementiere Payment-Integration mit Stripe" # Terminal 2: Feature B (gleichzeitig starten) claude --worktree "Refactore Auth-Modul auf JWT" # Terminal 3: Tests (gleichzeitig starten) claude --worktree "Erhoehe Test-Coverage auf 80% fuer User-Service" # Oder alles in einer tmux-Session: claude --worktree --tmux "Implementiere Payment-Integration mit Stripe"
Git Worktrees erben keine .env-Dateien – diese sind in der Regel in .gitignore eingetragen. Kopiere sie manuell oder erstelle ein Setup-Skript, das .env beim Anlegen eines Worktrees automatisch symlinkt.
Architektur-Diagramm: So sieht paralleles Arbeiten aus
Das folgende Diagramm zeigt, wie ein zentrales Repository auf mehrere Worktrees aufgeteilt wird, jeder mit einem eigenen Agenten – und wie die Ergebnisse zurück in main fließen:
3 konkrete Einsatzszenarien
Szenario 1: Parallele Feature-Entwicklung
Das naheliegendste Szenario – und der häufigste Anwendungsfall in Entwicklerteams, die parallel mit KI-Agenten arbeiten. Du hast mehrere Tickets im Sprint: Feature A, Feature B, ein Bugfix in einem unabhängigen Modul. Normalerweise würde ein Entwickler diese nacheinander abarbeiten, oder das Team würde Tasks aufteilen.
Mit parallelen Agenten startest du alle drei Tasks gleichzeitig:
# Task 1: Payment-Integration (in Terminal 1) cd /workspace/mein-projekt claude --worktree "Implementiere Stripe-Webhook-Handler fuer Subscription-Events. Anforderungen: - POST /webhooks/stripe empfangen - Events: customer.subscription.updated, invoice.payment_failed - Logging in Tabelle webhook_events - Retry-Logik bei DB-Fehler" # Task 2: Auth-Refactoring (in Terminal 2, gleichzeitig) cd /workspace/mein-projekt claude --worktree "Refactore src/auth/ von Session-Cookies auf JWT. Alle bestehenden Tests muessen weiterhin gruenen. Neue Tests fuer Token-Refresh-Flow erwartet." # Task 3: Datenbank-Migration (in Terminal 3, gleichzeitig) cd /workspace/mein-projekt claude --worktree "Erstelle DB-Migration fuer neue user_preferences Tabelle. Schema: user_id (FK), key VARCHAR(64), value JSONB, updated_at. Inklusive Rollback-Script."
Während du einen Kaffee holst oder das nächste Meeting vorbereitest, laufen alle drei Agenten parallel. Wenn du zurückkommst, hast du drei Pull Requests, die reviewed und gemerged werden können. Bei einer durchschnittlichen Laufzeit von 8–15 Minuten pro Task hast du statt 45 Minuten seriellem Warten nur einmal 15 Minuten gewartet.
Wichtig: Die Tasks müssen wirklich unabhängig sein. Payment-Integration und Auth-Refactoring berühren unterschiedliche Module – das ist ideal. Würden beide Agenten an src/middleware/auth.ts arbeiten, wären Merge-Konflikte vorprogrammiert.
Szenario 2: Modellvergleich – Claude Opus 4.8 vs. Codex vs. GPT-5.5
Ein besonders mächtiges Szenario: Du sendest dieselbe Task an drei verschiedene Modelle gleichzeitig und vergleichst die Ergebnisse. Das klingt ineffizient – ist es aber nicht, wenn du eine komplexe Implementierungsentscheidung vor dir hast und wissen willst, welcher Ansatz der beste ist.
Praktisches Beispiel: Du musst eine Caching-Strategie für eine hochfrequentierte API implementieren. Redis? In-Memory LRU? Edge Caching? Drei Modelle, drei Ansätze – du reviewst die Unterschiede und wählst das Beste:
# Worktrees anlegen git worktree add ../project-cache-claude -b experiment/cache-claude git worktree add ../project-cache-codex -b experiment/cache-codex git worktree add ../project-cache-gpt -b experiment/cache-gpt # Agenten starten (verschiedene Modelle, gleiche Task) cd ../project-cache-claude && claude --model opus "Implementiere Caching fuer GET /api/products..." cd ../project-cache-codex && codex "Implementiere Caching fuer GET /api/products..." cd ../project-cache-gpt && gpt-code "Implementiere Caching fuer GET /api/products..." # Ergebnisse vergleichen git diff experiment/cache-claude experiment/cache-codex -- src/cache/ git diff experiment/cache-claude experiment/cache-gpt -- src/cache/
Was du dabei regelmäßig beobachten wirst: Die Modelle wählen unterschiedliche Abstraktionsebenen. Claude Opus 4.8 tendiert zu vollständigeren Implementierungen mit Fehlerbehandlung und Tests. Codex produziert oft kompakteren Code, der dichter an den bestehenden Patterns des Repositories ist. GPT-5.5 glänzt häufig mit durchdachten Typen und Interfaces.
Das Ergebnis ist keine Frage von „welches Modell ist besser", sondern welcher Ansatz zu dieser konkreten Codebase, diesem Team und diesen Anforderungen passt.
Der Modellvergleich kostet in etwa das Dreifache einer einzelnen Agenten-Session. Er lohnt sich bei komplexen Implementierungsentscheidungen, bei denen ein falscher Ansatz später teuer wird. Für Routine-Tasks wie Bugfixes oder CRUD-Operationen ist ein einzelner Agent effizienter.
Szenario 3: Scout-Modus – Erkunden ohne Commitment
Der Scout-Modus ist ein Pattern, das Simon Willison in seinem Oktober-2025-Post beschrieben hat und das in der Praxis sehr wertvoll ist: Du schickst einen Agenten in einen Worktree, um eine Frage zu beantworten, ohne zu beabsichtigen, den Code zu mergen.
Typische Scout-Fragen:
- „Wie schwer wäre es, dieses Modul auf TypeScript 5.x zu migrieren?"
- „Welche Tests brechen, wenn wir die Datenbank-Verbindung auf Connection Pooling umstellen?"
- „Kann unser API-Layer GraphQL unterstützen, ohne die REST-Endpunkte zu brechen?"
# Scout-Worktree anlegen git worktree add ../project-scout -b scout/typescript-migration # Agent erkundet – kein Merge geplant cd ../project-scout claude "Versuche, src/api/ auf TypeScript 5.5 zu migrieren. Schreibe am Ende eine Zusammenfassung: - Wie viele Dateien muessen geaendert werden? - Welche Breaking Changes gibt es? - Schaetzung: wie viele Stunden manuelle Arbeit? Du musst NICHT alles reparieren, nur erkunden und berichten." # Nach dem Scout: Ergebnis lesen, dann Worktree entfernen cat SCOUT_REPORT.md git worktree remove ../project-scout
Der entscheidende Vorteil: Der Scout-Agent kann und darf Fehler machen, unvollständige Implementierungen hinterlassen, Tests brechen – das ist Absicht. Das Ergebnis ist nicht mergefähiger Code, sondern eine Aufwandsschätzung und ein Risikoassessment. Für Planungsgespräche und Sprint-Schätzungen ist das unschätzbar wertvoll.
Quick-Start Guide: In 10 Minuten zum parallelen Workflow
Hier ist der vollständige Schritt-für-Schritt-Guide, um sofort mit parallelen KI-Agenten auf Worktrees zu starten:
Schritt 1: Repository vorbereiten
# Stelle sicher, dass main sauber ist git checkout main git pull origin main git status # keine uncommitted Changes!
Schritt 2: Worktrees anlegen
# Ordern: [parent-dir]/[repo]-[ticket-id] git worktree add ../mein-projekt-123 -b feature/TICKET-123 git worktree add ../mein-projekt-124 -b feature/TICKET-124 git worktree add ../mein-projekt-125 -b feature/TICKET-125 # Alle Worktrees pruefen git worktree list
Schritt 3: .env-Dateien kopieren
# .env ist in .gitignore – manuell kopieren cp mein-projekt/.env ../mein-projekt-123/.env cp mein-projekt/.env ../mein-projekt-124/.env cp mein-projekt/.env ../mein-projekt-125/.env # Optional: Skript fuer automatisches Setup cat > setup-worktree.sh << 'EOF' #!/bin/bash WT_PATH=$1 cp .env "$WT_PATH/.env" echo "Worktree $WT_PATH bereit." EOF chmod +x setup-worktree.sh
Schritt 4: Agenten parallel starten
# Option A: Separate Terminals # Terminal 1: cd ../mein-projekt-123 && claude "TICKET-123: ..." # Terminal 2: cd ../mein-projekt-124 && claude "TICKET-124: ..." # Terminal 3: cd ../mein-projekt-125 && claude "TICKET-125: ..." # Option B: tmux (alle in einem Fenster) tmux new-session -d -s agents tmux send-keys -t agents "cd ../mein-projekt-123 && claude --worktree 'TICKET-123...'" Enter tmux split-window -h tmux send-keys -t agents "cd ../mein-projekt-124 && claude --worktree 'TICKET-124...'" Enter tmux split-window -v tmux send-keys -t agents "cd ../mein-projekt-125 && claude --worktree 'TICKET-125...'" Enter tmux attach -t agents
Schritt 5: Review und Merge
# Diff reviewen bevor du mergst cd ../mein-projekt-123 git diff main...HEAD # Tests laufen lassen npm test # Zum main-Repo zurueck und mergen cd mein-projekt git merge feature/TICKET-123 git merge feature/TICKET-124 git merge feature/TICKET-125 # Worktrees aufraeumen git worktree remove ../mein-projekt-123 git worktree remove ../mein-projekt-124 git worktree remove ../mein-projekt-125 git worktree prune
Best Practices und haeufige Fallstricke
| Situation | DO ✓ | DON'T ✗ |
|---|---|---|
| Task-Auswahl | Unabhängige Aufgaben parallel ausführen (verschiedene Module, verschiedene Features) | Tasks parallelisieren, die dieselben Dateien bearbeiten |
| Worktree-Naming | [repo]-[ticket-id] – eindeutig, sofort verständlich |
Generische Namen wie temp1, test, new |
| .env-Dateien | Beim Anlegen des Worktrees manuell kopieren oder symlinken | Vergessen – der Agent hat dann keine Credentials und scheitert still |
| Retries | Max. 2 Retry-Versuche pro Task, dann manuell prüfen | Agenten blind loopen lassen – API-Kosten explodieren |
| Code Review | Jede Agenten-Ausgabe reviewen, bevor du mergst – auch bei einfachen Tasks | Blind mergen ohne Diff-Review |
| Abhängigkeiten | Shared Libraries in einem separaten Schritt vorab updaten | Verschiedene Agenten dieselbe Abhängigkeit gleichzeitig upgraden lassen |
| Aufräumen | Worktrees nach dem Merge sofort entfernen (git worktree remove) |
Worktrees monatelang liegen lassen – sie verwirren zukünftige Sessions |
| Anzahl paralleler Agenten | 3–5 Agenten als Sweet Spot, abhängig von Rate Limits | 20+ Agenten gleichzeitig – Rate Limits und API-Kosten laufen out of control |
Datenbanken, Ports und Prozesse können nicht zwischen Worktrees geteilt werden. Wenn Task 1 auf Port 3000 einen Dev-Server startet und Task 2 dasselbe tut, gibt es einen Konflikt. Lösung: Verschiedene Ports pro Worktree konfigurieren, oder nur den „finalen Build" testen, nicht live-Server.
Wie das mit OpenClaw funktioniert
Wer OpenClaw als Agenten-Framework einsetzt, bekommt native Unterstützung für parallele Worktree-Workflows – und deutlich mehr Komfort als beim manuellen Ansatz mit Claude Code CLI.
OpenClaw hat seit Version 0.8 einen eingebauten Worktree Dispatcher, der Tasks automatisch auf verfügbare Worktrees verteilt. Das Grundprinzip:
- Task Queue: Du übergibst mehrere Tasks an OpenClaw. Der Dispatcher ordnet sie nach Abhängigkeiten und Ressourcenkonkurrenz.
- Automatisches Worktree-Management: OpenClaw legt Worktrees an, kopiert
.env-Dateien und konfiguriert den korrekten Branch automatisch. - Parallelisierung: Unabhängige Tasks laufen gleichzeitig. Abhängige Tasks warten auf ihre Voraussetzungen.
- Review Dashboard: Alle Ergebnisse landen in einem zentralen Review-Interface – Du siehst den Diff, kannst Feedback geben und mit einem Klick mergen oder ablehnen.
- Cleanup: Nach dem Merge werden Worktrees automatisch entfernt und Branches bereinigt.
# OpenClaw parallele Task-Queue openclaw dispatch \ --task "TICKET-123: Payment Integration" \ --task "TICKET-124: Auth Refactoring" \ --task "TICKET-125: DB Migration" \ --parallel \ --model claude-opus-4-8 \ --review-before-merge # OpenClaw startet 3 Worktrees automatisch und zeigt Dashboard > Dispatching 3 tasks to parallel worktrees... > worktree-1 [feature/ticket-123]: RUNNING (Claude Opus 4.8) > worktree-2 [feature/ticket-124]: RUNNING (Claude Opus 4.8) > worktree-3 [feature/ticket-125]: RUNNING (Claude Opus 4.8) > Open dashboard: http://localhost:8080/review
Für Enterprise-Teams, die OpenClaw on-premises betreiben, bietet Clawgency zusätzlich ein zentrales Monitoring-System, das alle parallelen Agenten-Aktivitäten in Echtzeit sichtbar macht – inklusive Token-Verbrauch, Laufzeiten und Audit-Log für DSGVO-Compliance.
Clawgency implementiert OpenClaw für DACH-Unternehmen – inklusive paralleler Worktree-Workflows, zentralem Review-Dashboard, DSGVO-konformem Audit-Log und Integration in bestehende CI/CD-Pipelines (GitHub Actions, GitLab CI, Azure DevOps). In 2–4 Wochen live.
FAQ: Alle Fragen zu parallelen KI-Agenten mit Git Worktrees
Git Worktrees erlauben es, mehrere Arbeitsverzeichnisse aus einem einzigen Git-Repository auszuchecken – jedes auf einem eigenen Branch. Anders als bei einem frischen Clone teilen sich alle Worktrees dieselbe .git-Datenbank, sodass kein Platz für doppelte Objekte verschwendet wird und Commits sofort in allen Worktrees sichtbar sind. Angelegt werden sie mit git worktree add [pfad] [branch].
Theoretisch unbegrenzt – praktisch sind 3 bis 5 parallele Agenten ein guter Startpunkt. Begrenzende Faktoren sind die verfügbaren API-Rate-Limits des verwendeten Modells (Claude Opus 4.8 hat höhere Limits als Haiku), die CPU/RAM des Rechners und die Anzahl unabhängiger Tasks. Die meisten Teams berichten, dass 3 gleichzeitige Agenten (ein pro Feature-Ticket) den Sweet Spot zwischen Geschwindigkeit und Übersichtlichkeit treffen.
Ja. OpenClaw unterstützt parallele Agenten-Instanzen auf verschiedenen Worktrees nativ. Mit dem OpenClaw-Dispatcher können Tasks automatisch auf freie Worktrees verteilt werden, inklusive automatischem Logging, Retry-Logik und einem zentralen Review-Dashboard. Clawgency implementiert diesen Workflow für Enterprise-Teams mit DSGVO-konformem Audit-Trail.
Am besten geeignet sind Tasks, die voneinander unabhängig sind: verschiedene Features, unabhängige Bug-Fixes, Migrations-Skripte, Test-Suiten, Dokumentations-Updates oder Refactoring-Aufgaben an verschiedenen Modulen. Ungeeignet sind Tasks, die in denselben Dateien arbeiten, dieselben Ports belegen oder von gemeinsamen Datenbank-Locks abhängen. Die Faustregel: Wenn zwei Tasks konfliktfrei auf main gemerged werden könnten, können sie parallel laufen.
Bei einem frischen Clone wird die gesamte .git-Datenbank dupliziert – das kostet Zeit und Speicher. Git Worktrees teilen sich dieselbe .git-Datenbank: Commits, Blobs und Trees existieren nur einmal. Ein neuer Worktree ist in Sekunden angelegt, unabhängig von der Repo-Größe. Außerdem sind Branches zwischen Worktrees sofort sichtbar – ohne fetch oder push.
Ja, Worktrees werden nicht automatisch gelöscht. Nach erfolgtem Merge entfernst du sie mit git worktree remove [pfad] und bereinigst veraltete Referenzen mit git worktree prune. OpenClaw übernimmt dieses Cleanup automatisch nach jedem Merge.
claude --worktree automatisiert den Worktree-Setup: Branching, Verzeichnis-Anlage und Session-Kontext werden automatisch konfiguriert. Im manuellen Ansatz legst du Worktree und Branch selbst an, wechselst in das Verzeichnis und startest Claude dort. Beide Ansätze führen zum selben Ergebnis; --worktree ist bequemer für Ad-hoc-Tasks, der manuelle Ansatz gibt mehr Kontrolle über Branch-Namen und Verzeichnisstruktur.
Bereit, 3x schneller zu entwickeln?
Clawgency implementiert parallele KI-Agenten-Workflows mit OpenClaw für Unternehmen in Deutschland, Österreich und der Schweiz – DSGVO-konform, in bestehende CI/CD-Pipelines integriert und in 2 bis 4 Wochen produktiv.
Kostenloses Erstgespräch buchen →