Claude Code Tasks
Nutze TaskCreate, TaskUpdate, addBlockedBy und gemeinsame Task-Listen, um abhängige Arbeit über parallele Claude Code-Sessions hinweg zu koordinieren, ohne Ralph-Wiggum-Workarounds.
Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.
SaaS-Builder-Vorlagen mit KI-Orchestrierung.
Problem: Autonome Claude Code-Schleifen brauchten früher Ralph-Wiggum-Hacks. Externe Plan-Dateien, Stop-Hooks und Fertigstellungsversprechen hielten lange Läufe am Leben. Es hat funktioniert. Es brauchte aber auch jede Menge Klebeband, um Kontext über Sessions hinweg zusammenzuhalten.
Schneller Gewinn: Anthropic hat Task-Management als First-Class-Feature eingebaut. Starte persistente Tasks mit Abhängigkeiten:
claude "add user authentication - break into tasks with dependencies"
Drücke Ctrl+T, um die Task-Liste in deinem Terminal zu zeigen. Tasks bleiben zwischen Sessions erhalten. Du musst nie wieder erklären, womit du gerade warst.
Tasks: Todos, aufgewertet
Anthropic hat das neue Task-System am 23. Januar 2025 ausgerollt. Was früher flache Checklisten waren, ist jetzt ein Projekt-Tracker mit Abhängigkeiten, Blockierern und Live-Sync über Sessions hinweg.
Das frühere TodoWrite-Tool hielt eine einfache Liste im Speicher. Das heutige System teilt die Aufgabe auf vier dedizierte Tools auf:
| Tool | Zweck |
|---|---|
| TaskCreate | Tasks mit Betreff, Beschreibung und Statusanzeige erstellen |
| TaskGet | Vollständige Task-Details einschließlich Abhängigkeiten abrufen |
| TaskUpdate | Status aktualisieren, Blocker hinzufügen, Details ändern |
| TaskList | Alle Tasks mit aktuellem Zustand auflisten |
Was sich ändert
Altes Verhalten: Todos lebten in Claudes Speicher und starben beim Kontext-Reset. Neues Verhalten: Tasks werden unter ~/.claude/tasks/ in deinem Home-Verzeichnis gespeichert (nicht im Repo) und Updates gehen an alle offenen Sessions.
Die alten Todo-Lektionen gelten weiterhin. Tasks sind nur so gut wie deine Anweisungen, und jede Unstimmigkeit zeigt direkt auf eine Briefing-Lücke hin. Das Neue ist alles darunter: Persistenz und Abhängigkeiten, die ins Tool eingebaut sind.
Tasks vs. Ralph Wiggum: Was sich ändert
Ralph Wiggum war zuerst da. Er hielt Claude Code mit Stop-Hooks, Plan-Dateien auf der Festplatte und einem Prompt, der Fertigstellung versprach, über Nacht am Laufen. Das Rezept hat funktioniert. Es lehnte sich aber auch stark auf Workarounds.
Diese Workarounds haben jetzt native Ersatzlösungen:
| Ralph-Workaround | Native Tasks-Lösung |
|---|---|
| Externe plan.md-Dateien zum Tracking | Eingebauter Speicher unter ~/.claude/tasks/ (Home-Verzeichnis) |
| Stop-Hooks zur Fertigstellungsprüfung | Status-Lebenszyklus: pending → in_progress → completed |
| Frische Sessions gegen Kontext-Rot | Tasks überleben Kontext-Komprimierungen |
| Fertigstellungsversprechen ("complete") | Explizites TaskUpdate mit Status |
| Manuelle Fortschritts-Datei-Koordination | CLAUDE_CODE_TASK_LIST_ID für Multi-Session-Sync |
Die gleiche Kernlektion gilt weiterhin: Verifikation ist das, was das Ganze trägt. Ralph hat uns gezeigt, dass Claude eine harte Regel braucht, was „fertig" bedeutet. Native Tasks behalten diese Idee und verlagern die Verkabelung ins Tool selbst.
Läufst du noch Ralph-Schleifen? Du musst sie nicht herausreißen. Tasks geben dir einfach die Primitiven, die die Community bisher zusammengestückelt hat. Anthropic hat geschaut, was Entwickler machten, und es nativ gemacht.
Task-Abhängigkeiten und Blocker
Abhängigkeiten sind der interessante Teil bei Tasks. Ein Task kann einen anderen blockieren:
Task 1: Design database schema
Task 2: Create API endpoints (blocked by Task 1)
Task 3: Build frontend components (blocked by Task 2)Claude erledigt das Bookkeeping. Fertige Task 1 und Task 2 wird automatisch freigeschaltet. Parallele Arbeit hört auf, sich gegenseitig in die Quere zu kommen.
Abhängige Tasks erstellen
Wenn Claude einen großen Job in Teile aufteilt, verdrahtet es die Abhängigkeitskette dabei:
TaskCreate(subject="Design auth schema", description="...")
TaskCreate(subject="Implement auth API", description="...")
TaskUpdate(taskId="2", addBlockedBy=["1"])Verkettung passiert durch den addBlockedBy-Parameter. Sein Gegenteil, addBlocks, lässt dich sagen, was ein Task stattdessen blockiert.
Multi-Session-Zusammenarbeit
Hier verdient das Tool seinen Platz. Eine Umgebungsvariable lässt mehr als eine Session dieselbe Task-Liste teilen:
CLAUDE_CODE_TASK_LIST_ID=my-project claude
Jetzt arbeitet jede Claude-Session, die auf diese ID zeigt, von derselben Liste aus. Fertige einen Task in Session A und Session B sieht das Update sofort. Du bekommst:
- Parallele Arbeitsströme: Frontend- und Backend-Sessions teilen Blocker
- Überall wiederaufnehmen: Klappe deinen Laptop zu, öffne ihn morgen, Tasks sind genau da, wo du sie gelassen hast
- Team-Koordination: Mehrere Entwickler teilen sich den Task-Zustand
Praktischer Multi-Session-Workflow
- Öffne deine Haupt-Session und gib der Task-Liste einen Namen:
CLAUDE_CODE_TASK_LIST_ID=feature-auth claude
2. Zerlege die Arbeit in Tasks und setze Abhängigkeiten
- Öffne eine zweite Session mit derselben ID für parallele Arbeit:
CLAUDE_CODE_TASK_LIST_ID=feature-auth claude # Same ID
4. Beide Sessions sehen und aktualisieren die gemeinsame Task-Liste
Das Agent-SDK respektiert dieselbe Liste, damit Unteragenten Tasks neben dir aufgreifen und abschließen können.
Task-Status-Lebenszyklus
pending → in_progress → completed
Setze einen Task auf in_progress, sobald du damit anfängst. Ein Spinner erscheint in der Task-Liste, und alle anderen Sessions wissen, dass die Arbeit läuft. Wechsle nur zu completed, wenn die Arbeit tatsächlich erledigt ist.
Tasks überleben Kontext-Komprimierungen. Auch in lang laufenden Sessions, bei denen Claudes Speicher komprimiert wird, ist der Task-Zustand noch da.
Tastaturkürzel
Ctrl+T öffnet und schließt die Task-Liste im Terminal. Was du siehst:
- Ausstehende Tasks (bis zu 10 auf einmal)
- In-Progress-Tasks mit Spinner
- Abgeschlossene Tasks mit Häkchen
Du kannst Claude auch sagen „zeig mir alle Tasks" oder „lösche alle Tasks", wenn du es lieber mit normaler Sprache steuerst.
Wann du Tasks verwenden solltest
Greife bei den schweren Jobs zu Tasks. Eine einfache Anfrage braucht das alles nicht.
Nutze Tasks wenn:
- Mehrstufige Implementierung mit Abhängigkeiten
- Arbeit, die mehrere Sessions umspannt
- Parallele Unteragenten-Koordination
- Projekte, bei denen du pausierst und wiederaufnimmst
Lass Tasks weg wenn:
- Einzelne Dateiänderungen
- Schnelle Fragen
- Einmalige Befehle
Task-Verhalten konfigurieren
Trag Task-Regeln in deine CLAUDE.md-Datei ein:
## Task Management
- Use TaskCreate for multi-step work
- Set dependencies with addBlockedBy for sequential phases
- Update status to in_progress before starting each task
- Mark completed only after verificationFür Projekte, die mehrere Sessions umspannen, kannst du die Umgebungsvariable auch in dein Shell-Profil eintragen:
# In .bashrc or .zshrc
export CLAUDE_CODE_TASK_LIST_ID=my-projectMigration von Todos
Hast du noch TodoWrite-Regeln in deiner Konfiguration? Schreibe sie um:
Alter Ansatz:
Keep session checklists in TodoWrite
Neuer Ansatz:
Use TaskCreate for each checklist item
Update status via TaskUpdate (pending → in_progress → completed)
Set dependencies with addBlockedBy parameterDer /todos-Befehl ist noch als Alias vorhanden. Dahinter läuft die Engine jetzt auf Tasks.
Denk dran: Ralph hat uns die Idee gelehrt. Tasks machen sie nativ. Behalte die Verifikations-Disziplin, lass das Tool die Installationen erledigen, und verabschiede dich von den handgefertigten State-Dateien.
Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.
SaaS-Builder-Vorlagen mit KI-Orchestrierung.
Todo-Workflows
Bitte Claude Code zuerst um die Todo-Liste, und erkenne dann falsche Reihenfolge, fehlende Schritte oder falsch verstandene Absicht, bevor eine einzige Datei angefasst wird. Funktioniert bei jeder komplexen Aufgabe.
Projekt-Templates
Führ /init in einem beliebigen Repo aus. Claude Code scannt die Codebase, schreibt eine CLAUDE.md, die das Dateilayout, Frameworks und Befehle für jede zukünftige Session festhält.