3 Min. Lesezeit KI-generiert

Claude Code 2.1.212: /fork wird erwachsen — und der Plan-Modus hatte ein Loch

Artikel als Markdown kopieren

Der Fork landet jetzt als eigene Hintergrund-Session statt als Subagent im Chat. Und nebenbei wird ein Bug geschlossen, bei dem der Plan-Modus Dateien anfassen konnte, ohne zu fragen.

Featured image for "Claude Code 2.1.212: /fork wird erwachsen — und der Plan-Modus hatte ein Loch"

Claude Code 2.1.212 ist heute Nacht erschienen, gut einen Tag nach 2.1.211. Und diesmal gibt es tatsächlich eine Konzeptänderung — keine Kosmetik.

/fork und /subtask sind jetzt zwei verschiedene Dinge

Bisher war /fork etwas unscharf: Es hat einen Subagenten in derselben Session gestartet. Ab 2.1.212 kopiert /fork deine Unterhaltung in eine eigene Hintergrund-Session — mit eigener Zeile in claude agents, während du in der Ursprungs-Session weiterarbeitest. Der alte In-Session-Subagent heißt jetzt /subtask.

Das ist die ehrlichere Aufteilung. Ein Fork ist eine Abzweigung, kein Helfer. Wenn du dich fragst, ob eine andere Lösung besser wäre — fork, laufen lassen, weitermachen. Der Fork bekommt übrigens automatisch einen Namen aus deinem Prompt, wenn die Session noch keinen Titel hat. Kleine Sache, große Wirkung, wenn in der Agent-Ansicht zehn Zeilen stehen.

Der Fix, den ich für den wichtigsten halte

“Fixed plan mode auto-running file-modifying Bash commands (e.g. touch, rm) without a permission prompt or SDK canUseTool callback”

Der Plan-Modus ist das Versprechen, dass nichts angefasst wird, bevor du zugestimmt hast. Genau dieses Versprechen war gebrochen: Dateiverändernde Bash-Kommandos wie touch oder rm liefen durch — ohne Freigabe-Dialog, ohne canUseTool-Callback im SDK.

Dazu passt der zweite Sicherheits-Fix: Das Anlegen eines Worktrees ist einem im Repository eingecheckten Symlink unter .claude/worktrees gefolgt und konnte damit Dateien außerhalb des Repos anlegen. Beides sind Lücken, die man nur findet, wenn jemand gezielt sucht.

Bremsen gegen Endlosschleifen

Zwei neue Obergrenzen, beide sinnvoll:

  • WebSearch: max. 200 Aufrufe pro Session (CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION)
  • Subagenten: max. 200 Spawns pro Session (CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION), /clear setzt das Budget zurück

Beides existiert, weil Agenten in Schleifen laufen können — suchen, suchen, suchen, delegieren, delegieren. Wer das schon mal auf der Rechnung gesehen hat, weiß, warum das keine akademische Frage ist.

Was sonst noch drin ist

  • MCP-Tool-Aufrufe über 2 Minuten wandern automatisch in den Hintergrund, damit die Session nutzbar bleibt (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS).
  • /resume in der Agent-Ansicht öffnet jetzt eine Auswahl vergangener Sessions — inklusive der aus der Liste gelöschten — und holt sie als Hintergrund-Session zurück.
  • claude auto-mode reset stellt die Standard-Konfiguration des Auto-Modus wieder her.
  • SIGTERM während eines laufenden Bash-Tools hat im Print/SDK-Modus den Prozessbaum verwaist zurückgelassen. Jetzt: Turn abbrechen, Baum killen, Exit 143.
  • Prompt-Caching für den System-Block mitten in der Unterhaltung funktioniert jetzt auch hinter LLM-Gateways und mit eigenen Base-URLs.
  • Der mode-Parameter des Task-Tools ist deprecated — Subagenten erben jetzt standardmäßig den Permission-Modus der Parent-Session.
  • Unterhaltungen mit vielen Bildern sind fälschlich an “Request too large” gescheitert.
  • Web Search und Web Fetch haben bei überlasteter API den Text “API Error” als Suchergebnis zurückgegeben. Jetzt gibt es Retries mit Backoff.

Meine Einordnung

Die Trennung von /fork und /subtask ist die Art Änderung, die man erst nach zwei Wochen richtig schätzt. Der Plan-Modus-Bug ist der Grund, heute zu updaten — wenn du dich beim Planen darauf verlässt, dass nichts passiert, war das zuletzt eine Annahme mit Ausnahmen.

claude --version. Du weißt, was zu tun ist.


Quellen: