agent:~/.claude$ cat agent-architecture.md

Agentenarchitektur: Entwicklung KI-gestützter Entwicklungssysteme

# Das vollständige System für den Aufbau produktionsreifer KI-Agentensysteme: Skills, Hooks, Memory, Subagenten, Multi-Agenten-Orchestrierung und die Muster, die KI-Programmieragenten zu einer zuverlässigen Infrastruktur machen.

author: words: 31280 read_time: 157m updated: 2026-08-01 22:39

Part 2 of Agentic Engineering

$ less agent-architecture.md

Kurzfassung: Claude Code ist keine Chatbox mit Dateizugriff. Es handelt sich um eine programmierbare Laufzeitumgebung mit 30 dokumentierten Lebenszyklusereignissen, die sich jeweils mit Shell-Skripten verknüpfen lassen, welche das Modell nicht überspringen kann. Kombinieren Sie hooks zu dispatchers, dispatchers zu skills, skills zu agents und agents zu Workflows, erhalten Sie ein autonomes Entwicklungsharness, das Einschränkungen durchsetzt, Arbeit delegiert, Speicher sitzungsübergreifend erhält und Multi-Agent-Deliberation orchestriert. Mit Claude Code v2.1.147 kam das standardmäßig deaktivierte Workflow-Tool (CLAUDE_CODE_WORKFLOWS=1) hinzu. Dadurch entwickelt sich die deterministische Multi-Agent-Orchestrierung von reinen Userland-Skripten hin zu einem Laufzeitprimitiv aus erster Hand; v2.1.149 unterstreicht dieselbe Erkenntnis aus Sicherheitsperspektive durch Korrekturen für die Umgehung von PowerShell-Berechtigungen und die Allowlist der git-worktree-Sandbox. Für die Korrektheit sind weiterhin hooks und evidence gates zuständig.5253 Dieser Leitfaden behandelt jede Ebene dieses Stacks: von einem einzelnen hook bis zu einem Konsenssystem mit 10 agents. Keine Frameworks erforderlich. Ausschließlich bash und JSON.

Andrej Karpathy prägte einen Begriff für das, was um einen LLM agent herum entsteht: claws. Gemeint sind die hooks, Skripte und die Orchestrierung, mit denen der agent die Welt außerhalb seines Kontextfensters greifen kann.1 Die meisten Entwickler betrachten KI-Coding-agents als interaktive Assistenten. Sie geben einen Prompt ein, beobachten, wie eine Datei bearbeitet wird, und machen weiter. Diese Sichtweise begrenzt die Produktivität auf das, was Sie persönlich beaufsichtigen können.

Das Infrastruktur-Denkmodell ist ein anderes: Ein KI-Coding-agent ist eine programmierbare Laufzeitumgebung mit einem LLM-Kernel. Jede Aktion des Modells durchläuft hooks, die Sie kontrollieren. Sie definieren Richtlinien, keine Prompts. Das Modell arbeitet innerhalb Ihrer Infrastruktur so, wie ein Webserver innerhalb von nginx-Regeln arbeitet. Sie sitzen nicht vor nginx und geben Anfragen ein. Sie konfigurieren und deployen es und überwachen seinen Betrieb.

Dieser Unterschied ist entscheidend, weil sich Infrastrukturvorteile mit der Zeit verstärken. Ein hook, der Zugangsdaten in bash-Befehlen blockiert, schützt jede Sitzung, jeden agent und jeden autonomen Durchlauf. Ein skill, der Ihre Bewertungsrubrik abbildet, wird konsistent angewendet – unabhängig davon, ob Sie oder ein agent ihn aufrufen. Ein agent, der Code auf Sicherheitsprobleme prüft, führt dieselben Kontrollen aus, ob Sie ihn dabei beobachten oder nicht.2


Wichtigste Erkenntnisse

  • Hooks garantieren die Ausführung, Prompts nicht. Verwenden Sie hooks für Linting, Formatierung, Sicherheitsprüfungen und alles, was unabhängig vom Modellverhalten jedes Mal ausgeführt werden muss. Exit-Code 2 blockiert Aktionen. Exit-Code 1 gibt lediglich eine Warnung aus.3
  • Skills bilden automatisch aktiviertes Fachwissen ab. Das Feld description ist für die gesamte Aktivierungsentscheidung ausschlaggebend. Claude entscheidet mittels LLM-Reasoning und nicht anhand von Schlüsselwortübereinstimmungen, wann ein skill angewendet wird.4
  • Subagents verhindern eine Überlastung des Kontexts. Isolierte Kontextfenster für Exploration und Analyse halten die Hauptsitzung schlank. Führen Sie unabhängige subagents parallel aus und verwenden Sie agent teams, wenn die Beteiligten dauerhaft koordiniert werden müssen.5
  • Der Speicher befindet sich im Dateisystem. Dateien bleiben über Kontextfenster hinweg erhalten. CLAUDE.md, MEMORY.md, Regelverzeichnisse und Übergabedokumente bilden ein strukturiertes externes Speichersystem.6
  • Multi-Agent-Deliberation deckt blinde Flecken auf. Einzelne agents können ihre eigenen Annahmen nicht infrage stellen. Zwei unabhängige agents mit unterschiedlichen Bewertungsprioritäten erkennen strukturelle Fehler, die quality gates nicht erfassen können.7
  • Das harness-Muster ist das System. CLAUDE.md, hooks, skills, agents und Speicher sind keine unabhängigen Funktionen. Gemeinsam bilden sie eine deterministische Ebene zwischen Ihnen und dem Modell, die mit zunehmender Automatisierung skaliert.

So verwenden Sie diesen Leitfaden

Erfahrung Einstieg Anschließend vertiefen
Sie verwenden Claude Code täglich und möchten mehr erreichen Das harness-Muster Skills-System, Hook-Architektur
Sie entwickeln autonome Workflows Subagent-Muster Multi-Agent-Orchestrierung, Produktionsmuster
Sie bewerten eine agent-Architektur Warum agent-Architektur wichtig ist Entscheidungsrahmen, Sicherheitsaspekte
Sie richten ein Team-harness ein CLAUDE.md-Design Hook-Architektur, Schnellreferenz

Jeder Abschnitt baut auf dem vorherigen auf. Der Entscheidungsrahmen am Ende enthält eine Nachschlagetabelle, mit der Sie für jeden Problemtyp den richtigen Mechanismus auswählen können.


Der Fünf-Minuten-Goldpfad

Vor dem tiefen Einstieg hier der kürzeste Weg von null zu einem funktionierenden Harness. Ein Hook, ein Skill, ein Subagent, ein Ergebnis.

Schritt 1: Einen Security-Hook erstellen (2 Minuten)

Erstellen Sie .claude/hooks/block-secrets.sh:

#!/bin/bash
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
if echo "$CMD" | grep -qEi '(AKIA|sk-|ghp_|password=)'; then
    echo "BLOCKED: Potential secret in command" >&2
    exit 2
fi

Verdrahten Sie ihn in .claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": ".claude/hooks/block-secrets.sh" }]
      }
    ]
  }
}

Ergebnis: Jeder Bash-Befehl, den Claude ausführt, wird nun auf durchgesickerte Anmeldeinformationen geprüft. Das Modell kann diese Prüfung nicht umgehen.

Schritt 2: Einen Code-Review-Skill erstellen (1 Minute)

Erstellen Sie .claude/skills/reviewer/SKILL.md mit Frontmatter (name: reviewer, description: Review code for security issues, bugs, and quality problems. Use when examining changes, reviewing PRs, or auditing code., allowed-tools: Read, Grep, Glob) und einer Checkliste: SQL-Injection, XSS, fest codierte Secrets, fehlende Fehlerbehandlung, Funktionen mit mehr als 50 Zeilen.

Ergebnis: Claude aktiviert diese Expertise automatisch, sobald Sie Review, Check oder Audit erwähnen.

Schritt 3: Einen Subagenten starten (30 Sekunden)

Bitten Sie Claude in einer beliebigen Claude Code-Sitzung, die letzten drei Commits mithilfe eines separaten Agenten auf Sicherheitsprobleme zu überprüfen. Claude startet einen Explore-Agenten, der das Diff liest, Ihren Review-Skill anwendet und eine Zusammenfassung zurückgibt. Ihr Hauptkontext bleibt sauber.

Was Sie jetzt haben

Ein dreischichtiges Harness: ein deterministisches Security-Gate (Hook), Domänenexpertise, die sich automatisch aktiviert (Skill), und isolierte Analyse, die Ihren Kontext schützt (Subagent). Jeder folgende Abschnitt vertieft eine dieser drei Schichten.


Warum Agentenarchitektur wichtig ist

Simon Willison bringt den aktuellen Moment auf eine einzige Beobachtung: Code zu schreiben ist jetzt billig.8 Stimmt. Die Folge ist jedoch, dass die Verifikation nun den teuren Teil ausmacht. Billiger Code ohne Verifikationsinfrastruktur produziert Bugs in großem Maßstab. Die Investition, die sich auszahlt, ist nicht ein besserer Prompt. Es ist das System um das Modell herum, das einfängt, was das Modell übersieht.

Drei Kräfte machen Agentenarchitektur notwendig:

Kontextfenster sind endlich und verlustbehaftet. Jeder Dateilesezugriff, jede Tool-Ausgabe und jede Gesprächsrunde verbraucht Tokens. Microsoft Research und Salesforce haben 15 LLMs in über 200.000 simulierten Konversationen getestet und fanden einen durchschnittlichen Leistungsabfall von 39 % vom Einzelturn zur Mehrfachturn-Interaktion.9 Die Verschlechterung beginnt bereits nach zwei Runden und folgt einer vorhersagbaren Kurve: Präzise Multi-Datei-Bearbeitungen in den ersten 30 Minuten verkommen bis zur 90. Minute zu Tunnelblick auf eine einzelne Datei. Längere Kontextfenster beheben das nicht. Die Bedingung „Concat” derselben Studie (vollständige Konversation als einzelner Prompt) erreichte 95,1 % der Einzelturn-Leistung bei identischem Inhalt. Die Verschlechterung stammt von den Turn-Grenzen, nicht von Token-Limits.

Modellverhalten ist probabilistisch, nicht deterministisch. Claude anzuweisen „Führe Prettier nach jedem Dateibearbeiten aus” funktioniert in etwa 80 % der Fälle.3 Das Modell könnte es vergessen, Geschwindigkeit priorisieren oder entscheiden, dass die Änderung „zu klein” ist. Für Compliance, Sicherheit und Team-Standards sind 80 % nicht akzeptabel. Hooks garantieren die Ausführung: jedes Edit oder Write löst Ihren Formatter aus, jedes Mal, ohne Ausnahmen. Deterministisch schlägt probabilistisch.

Einzelperspektiven übersehen mehrdimensionale Probleme. Ein einzelner Agent, der einen API-Endpoint überprüfte, kontrollierte Authentifizierung, validierte die Eingabesanitierung und verifizierte CORS-Header. Sauberer Gesundheitsbefund. Ein zweiter Agent, separat als Penetration Tester instruiert, entdeckte, dass der Endpoint unbegrenzte Query-Parameter akzeptierte, die einen Denial-of-Service durch Datenbankabfrage-Amplifikation auslösen konnten.7 Der erste Agent hatte nie geprüft, weil nichts in seinem Bewertungsrahmen Query-Komplexität als Sicherheitsfläche behandelte. Diese Lücke ist strukturell. Keine Menge an Prompt-Engineering behebt das.

Agentenarchitektur adressiert alle drei Punkte: Hooks erzwingen deterministische Einschränkungen, Subagenten verwalten die Kontextisolation, und Multi-Agent-Orchestrierung liefert unabhängige Perspektiven. Zusammen bilden sie das Harness.


Das Harness-Muster

Das harness ist kein Framework. Es ist ein Muster: ein kombinierbarer Satz aus Dateien, Skripten und Konventionen, der einen KI-Coding-Agenten mit deterministischer Infrastruktur umgibt. Die Komponenten:

┌──────────────────────────────────────────────────────────────┐
│                      THE HARNESS PATTERN                      │
├──────────────────────────────────────────────────────────────┤
│  ORCHESTRATION                                                │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐             │
│  │   Agent     │  │   Agent    │  │  Consensus │             │
│  │   Teams     │  │  Spawning  │  │  Validation│             │
│  └────────────┘  └────────────┘  └────────────┘             │
│  Multi-agent deliberation, parallel research, voting          │
├──────────────────────────────────────────────────────────────┤
│  EXTENSION LAYER                                              │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐    │
│  │  Skills   │  │  Hooks   │  │  Memory  │  │  Agents  │    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
│  Domain expertise, deterministic gates, persistent state,     │
│  specialized subagents                                        │
├──────────────────────────────────────────────────────────────┤
│  INSTRUCTION LAYER                                            │
│  ┌──────────────────────────────────────────────────────┐    │
│  │     CLAUDE.md  +  .claude/rules/  +  MEMORY.md       │    │
│  └──────────────────────────────────────────────────────┘    │
│  Project context, operational policy, cross-session memory    │
├──────────────────────────────────────────────────────────────┤
│  CORE LAYER                                                   │
│  ┌──────────────────────────────────────────────────────┐    │
│  │           Main Conversation Context (LLM)             │    │
│  └──────────────────────────────────────────────────────┘    │
│  Your primary interaction; finite context; costs money        │
└──────────────────────────────────────────────────────────────┘

Anweisungsebene: CLAUDE.md-Dateien und Regelverzeichnisse legen fest, was der Agent über Ihr Projekt weiß. Sie werden zu Beginn jeder Sitzung und nach jeder Komprimierung automatisch geladen. Dies ist das langfristige Architekturgedächtnis des Agenten.

Erweiterungsebene: skills stellen Fachwissen bereit, das kontextabhängig automatisch aktiviert wird. hooks bilden deterministische Schranken, die bei jedem passenden Tool-Aufruf ausgelöst werden. Speicherdateien bewahren den Zustand sitzungsübergreifend. Benutzerdefinierte Agenten ermöglichen spezialisierte subagents-Konfigurationen.

Orchestrierungsebene: Multi-Agent-Muster koordinieren unabhängige Agenten für Recherche, Prüfung und Abwägung. Spawn-Budgets verhindern unkontrollierte Rekursion. Konsensvalidierung sichert die Qualität.

Die zentrale Erkenntnis: Die meisten Benutzer arbeiten ausschließlich auf der Kernebene und sehen dabei zu, wie der Kontext immer weiter anwächst und die Kosten steigen. Erfahrene Benutzer konfigurieren die Anweisungs- und Erweiterungsebenen und verwenden die Kernebene anschließend nur noch für die Orchestrierung und abschließende Entscheidungen.2

Verwaltete und selbst gehostete Harnesses (April 2026)

Anfang 2026 war „ein eigenes harness entwickeln“ die einzige echte Möglichkeit. Im April 2026 änderte sich das. Anthropic veröffentlichte Claude Managed Agents als öffentliche Beta-Version (8. April): harness-Schleife + Tool-Ausführung + Sandbox-Container + Zustandspersistenz als REST API, abgerechnet nach Standardtokens zuzüglich 0,08 $ pro Sitzungsstunde. Das Update von OpenAIs Agents SDK (16. April) formalisierte dieselbe Trennung – harness und Rechenleistung als separate Ebenen, mit nativen Sandbox-Anbietern (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel) sowie Snapshot/Wiederherstellung, um Containerverluste zu überstehen.2324

Die umfassendere SDK-Oberfläche auf OpenAI-Seite erschien in openai-agents Python v0.14.0 (veröffentlicht am 15. April 2026; angekündigt am 16. April): eine SandboxAgent-Unterklasse von Agent mit default_manifest, Sandbox-Anweisungen und Funktionen; ein Manifest, das den Vertrag für einen neuen Arbeitsbereich beschreibt (Dateien, Verzeichnisse, lokale Dateien, Git-Repositorys, Umgebungsvariablen, Benutzer, Einbindungen); eine SandboxRunConfig für die laufbezogene Verknüpfung von Sandbox-Client, Einbindung einer aktiven Sitzung, Manifest-Überschreibungen, Snapshots und Parallelitätsgrenzen bei der Materialisierung. Die integrierten Funktionen umfassen Shell-Zugriff, Dateisystembearbeitung, Bildprüfung, skills, Sandbox-Speicher und Komprimierung. Der Sandbox-Speicher bewahrt extrahierte Erkenntnisse laufübergreifend auf und legt sie schrittweise offen; Arbeitsbereiche unterstützen lokale Dateien, Git-Repository-Einträge und Remote-Einbindungen (S3, R2, GCS, Azure Blob, S3 Files); Snapshots sind anbieterübergreifend portierbar. Backends: UnixLocalSandboxClient, DockerSandboxClient sowie über optionale Extras verfügbare gehostete Clients für Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop und Vercel.24

Für Python-Projekte, die die Claude Code-Laufzeit als Bibliothek einbetten möchten – zwischen „claude als externen Prozess aufrufen“ und „REST API für Managed Agents verwenden“ –, ist claude-agent-sdk-python die dritte Option. Mit der Veröffentlichungsreihe vom 28. bis 29. April (v0.1.69 → v0.1.71) wurde die mitgelieferte CLI auf v2.1.123 aktualisiert, die Mindestversion der mcp-Abhängigkeit auf >=1.19.0 angehoben (ältere Versionen verwarfen CallToolResult-Rückgaben prozessinterner MCP-Tools unbemerkt, sodass das Modell lediglich einen Validierungsfehlerblock erhielt) und SandboxNetworkConfig an das Schema der TypeScript SDK angeglichen (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup).30 Zum Stand vom 2026-08-01 liegt das Paket auf PyPI bei v0.2.128 (mit der gebündelten Claude CLI v2.1.220 und einer inzwischen auf >=1.23.0 angehobenen mcp-Mindestversion), die TypeScript SDK bei v0.3.220; die 0.2.x-Reihe baut schrittweise auf der hier beschriebenen 0.1.x-Oberfläche auf – die nachfolgenden Optionen include_hook_events, skills und zur Sandbox-Konfiguration sind weiterhin aktuell –, wobei sich neuere Versionen vor allem auf die Bereinigung von Unterprozessen und die Zuverlässigkeit von NDJSON-Streams konzentrieren.86

Wenn Ihr harness eine Sprach- oder Echtzeitebene umfasst, wurde RealtimeAgent mit openai-agents-python v0.17.0 (8. Mai 2026) so aktualisiert, dass standardmäßig gpt-realtime-2 verwendet wird.41 Bestehende Echtzeitsitzungen übernehmen den neuen Standard automatisch; legen Sie das vorherige Modell ausdrücklich fest, wenn Sie das bisherige Verhalten für Auswertungen beibehalten müssen.

Im Juli 2026 erhielt auch die verwaltete Variante auf OpenAI-Seite eine Multi-Agent-Lösung: openai-agents-python v0.18.2 (11. Juli) und openai-agents-js v0.13.2 (10. Juli) ergänzen als Beta-Version gehostete Multi-Agent-Unterstützung – eine von OpenAI verwaltete Orchestrierung mehrerer Agenten als gehosteter Dienst und damit das direkte Gegenstück zur öffentlichen Beta-Version von Anthropics Managed Multiagent Orchestration, die im Abschnitt Multi-Agent-Orchestrierung behandelt wird.73 Beide Anbieter bieten auf der Multi-Agent-Ebene nun dieselbe Abwägung, die die nachfolgende Tabelle für einzelne Agenten beschreibt: Der Anbieter führt die Delegationsschleife aus, dafür verzichten Sie auf die hook-Oberfläche.

Die architektonische Weggabelung ist inzwischen Realität:

Dimension Selbst gehostetes harness (Standard dieses Leitfadens) Verwaltetes harness (Claude Managed Agents / OpenAI Agents SDK)
Betriebsaufwand Sie betreiben alles selbst Der Anbieter betreibt Schleife, Sandbox und Zustand
Anpassbarkeit Vollständig – Ihre hooks, Ihre skills, Ihr Speicher Begrenzt – vom Anbieter definierte Erweiterungspunkte
Kostenmodell Tokens + selbst gehostete Rechenleistung Tokens + Aufpreis pro Laufzeitstunde
Zustandsbeständigkeit Sie gestalten sie selbst Anbieter erstellt Checkpoints über Verbindungsabbrüche hinweg
Orchestrierung von Agententeams Sie entwickeln sie selbst Vom Anbieter bereitgestellte Multi-Agent-Koordination

Wann eignet sich welche Variante: Selbsthosting bleibt die richtige Wahl für Teams, die bereits über starke Infrastrukturkompetenz verfügen, selbst kontrollierte skills/hooks benötigen oder einen bestimmten Arbeitsablauf umfassend optimieren möchten. Eine verwaltete Lösung eignet sich für Teams ohne eigene Plattformtechniker, wenn eine schnelle Wertschöpfung wichtiger als Anpassbarkeit ist oder Agentenläufe das Zuklappen eines Laptops zuverlässig überstehen müssen, ohne dass Sie diese Persistenzebene selbst entwickeln. Beide Varianten sind kompatibel – Sie können ein selbst gehostetes harness betreiben, das bestimmte lang laufende Aufgaben über dessen REST API an Managed Agents delegiert.

So sieht das Harness auf dem Datenträger aus

~/.claude/
├── CLAUDE.md                    # Personal global instructions
├── settings.json                # User-level hooks and permissions
├── skills/                      # Personal skills (44+)
   ├── code-reviewer/SKILL.md
   ├── security-auditor/SKILL.md
   └── api-designer/SKILL.md
├── agents/                      # Custom subagent definitions
   ├── security-reviewer.md
   └── code-explorer.md
├── rules/                       # Categorized rule files
   ├── security.md
   ├── testing.md
   └── git-workflow.md
├── hooks/                       # Hook scripts
   ├── validate-bash.sh
   ├── auto-format.sh
   └── recursion-guard.sh
├── configs/                     # JSON configuration
   ├── recursion-limits.json
   └── deliberation-config.json
├── state/                       # Runtime state
   ├── recursion-depth.json
   └── agent-lineage.json
├── handoffs/                    # Session handoff documents
   └── deliberation-prd-7.md
└── projects/                    # Per-project memory
    └── {project}/memory/MEMORY.md

.claude/                         # Project-level (in repo)
├── CLAUDE.md                    # Project instructions
├── settings.json                # Project hooks
├── skills/                      # Team-shared skills
├── agents/                      # Team-shared agents
└── rules/                       # Project rules

Jede Datei in dieser Struktur erfüllt einen Zweck. Der ~/.claude/-Verzeichnisbaum bildet Ihre persönliche Infrastruktur, die für alle Projekte gilt. Der .claude/-Verzeichnisbaum jedes Repositorys ist projektspezifisch und wird über Git geteilt. Zusammen bilden sie das vollständige harness.


Skills-System

Skills sind vom Modell aufgerufene Erweiterungen. Claude erkennt sie anhand des Kontexts und wendet sie automatisch an, ohne dass Sie sie explizit aufrufen müssen.4 Sobald Sie feststellen, dass Sie in mehreren Sitzungen immer wieder denselben Kontext erklären, sollten Sie einen Skill erstellen.

Wann Sie einen Skill erstellen sollten

Situation Erstellen Sie … Warum
Sie fügen in jeder Sitzung dieselbe Checkliste ein Skill Fachwissen, das automatisch aktiviert wird
Sie führen dieselbe Befehlsfolge explizit aus Slash command Vom Benutzer ausgelöste Aktion mit vorhersehbarem Auslöser
Sie benötigen eine isolierte Analyse, die den Kontext nicht belasten soll Subagent Separates Kontextfenster für konzentriertes Arbeiten
Sie benötigen einen einmaligen Prompt mit bestimmten Anweisungen Nichts Geben Sie ihn einfach ein. Nicht alles braucht eine Abstraktion.

Skills sind für Wissen gedacht, das Claude jederzeit zur Verfügung steht. Slash commands dienen Aktionen, die Sie explizit auslösen. Wenn Sie zwischen beiden wählen müssen, fragen Sie sich: „Soll Claude dies automatisch anwenden oder möchte ich selbst entscheiden, wann es ausgeführt wird?“

Einen Skill erstellen

Skills können sich an vier Orten befinden, geordnet vom weitesten bis zum engsten Geltungsbereich:4

Geltungsbereich Speicherort Gilt für
Unternehmen Verwaltete Einstellungen Alle Benutzer der Organisation
Persönlich ~/.claude/skills/<name>/SKILL.md Alle Ihre Projekte
Projekt .claude/skills/<name>/SKILL.md Nur dieses Projekt
Plugin <plugin>/skills/<name>/SKILL.md Dort, wo das Plugin aktiviert ist

Jeder Skill benötigt eine SKILL.md-Datei mit YAML-Frontmatter:

---
name: code-reviewer
description: Review code for security vulnerabilities, performance issues,
  and best practice violations. Use when examining code changes, reviewing
  PRs, analyzing code quality, or when asked to review, audit, or check code.
allowed-tools: Read, Grep, Glob
---

# Code Review Expertise

## Security Checks
When reviewing code, verify:

### Input Validation
- All user input sanitized before database operations
- Parameterized queries (no string interpolation in SQL)
- Output encoding for rendered HTML content

### Authentication
- Session tokens validated on every protected endpoint
- Permission checks before data mutations
- No hardcoded credentials or API keys in source

Frontmatter-Referenz

Feld Erforderlich Zweck
name Ja Eindeutige Kennung (Kleinbuchstaben, Bindestriche, maximal 64 Zeichen)
description Ja Auslöser für die Erkennung (maximal 1.024 Zeichen). Claude entscheidet damit, wann der Skill angewendet wird
allowed-tools Nein Beschränkt die Fähigkeiten von Claude (z. B. Read, Grep, Glob für reinen Lesezugriff)
disable-model-invocation Nein Verhindert die automatische Aktivierung; der Skill wird nur über /skill-name aktiviert
user-invocable Nein Auf false setzen, um den Skill vollständig aus dem /-Menü auszublenden
model Nein Legt ein anderes Modell fest, das bei aktivem Skill verwendet wird
context Nein Auf fork setzen, um den Skill in einem isolierten Kontextfenster auszuführen
agent Nein Führt den Skill als subagent mit eigenem isolierten Kontext aus
hooks Nein Definiert auf diesen Skill beschränkte Lebenszyklus-hooks
$ARGUMENTS Nein Zeichenfolgenersetzung: wird durch die Benutzereingabe nach /skill-name ersetzt

Das Beschreibungsfeld ist entscheidend

Beim Sitzungsstart extrahiert Claude Code die Werte name und description jedes Skills und fügt sie in den Kontext von Claude ein. Wenn Sie eine Nachricht senden, entscheidet Claude mithilfe der Schlussfolgerungsfähigkeit des Sprachmodells, ob ein Skill relevant ist. Eine unabhängige Analyse des Quellcodes von Claude Code bestätigt diesen Mechanismus: Skill-Beschreibungen werden in einen available_skills-Abschnitt des System-Prompts eingefügt, und das Modell wählt anhand seines allgemeinen Sprachverständnisses die passenden Skills aus.10

Schlechte Beschreibung:

description: Helps with code

Wirksame Beschreibung:

description: Review code for security vulnerabilities, performance issues,
  and best practice violations. Use when examining code changes, reviewing
  PRs, analyzing code quality, or when asked to review, audit, or check code.

Die wirksame Beschreibung enthält: was der Skill tut (Code auf bestimmte Arten von Problemen prüfen), wann er verwendet werden soll (bei der Untersuchung von Änderungen, PRs und der Codequalität) sowie Auslösebegriffe (review, audit, check), die Benutzer üblicherweise eingeben.

Beachten Sie, dass die automatische Aktivierung eine Stellschraube und kein unumstößliches Gesetz ist: Seit v2.1.215 ruft Claude die mitgelieferten Skills /verify und /code-review nicht mehr selbst auf – sie werden nur noch explizit gestartet. Damit wurde die beschreibungsgesteuerte Aktivierung bewusst für umfangreiche Review-Skills zurückgenommen, deren unaufgeforderte Ausführung mehr kostete, als sie einbrachte.74

Kontextbudget

Alle Skill-Beschreibungen teilen sich ein Kontextbudget, das dynamisch auf 1 % des Kontextfensters skaliert wird; ersatzweise gelten 8.000 Zeichen.4 Wenn Sie viele Skills haben, sollten Sie jede Beschreibung knapp halten und den wichtigsten Anwendungsfall an den Anfang stellen. Sie können das Budget über die Umgebungsvariable SLASH_COMMAND_TOOL_CHAR_BUDGET überschreiben,11 doch kürzere und präzisere Beschreibungen sind die bessere Lösung. Führen Sie während einer Sitzung /context aus, um zu prüfen, ob Skills ausgeschlossen werden.

Unterstützende Dateien und Organisation

Skills können auf zusätzliche Dateien im selben Verzeichnis verweisen:

~/.claude/skills/code-reviewer/
├── SKILL.md                    # Required: frontmatter + core expertise
├── SECURITY_PATTERNS.md        # Referenced: detailed vulnerability patterns
└── PERFORMANCE_CHECKLIST.md    # Referenced: optimization guidelines

Verweisen Sie aus SKILL.md mit relativen Links auf diese Dateien. Claude liest sie bei Bedarf, sobald der Skill aktiviert wird. Halten Sie SKILL.md unter 500 Zeilen und lagern Sie ausführliches Referenzmaterial in unterstützende Dateien aus.12

Skills über Git teilen

Projekt-Skills (.claude/skills/ im Repository-Stammverzeichnis) werden über die Versionsverwaltung geteilt:4

mkdir -p .claude/skills/domain-expert
# ... write SKILL.md ...
git add .claude/skills/
git commit -m "feat: add domain-expert skill for payment processing rules"
git push

Wenn Teammitglieder die Änderungen abrufen, erhalten sie den Skill automatisch. Keine Installation, keine Konfiguration. Dies ist die wirksamste Methode, Fachwissen innerhalb eines Teams zu vereinheitlichen.

Skills als Prompt-Bibliothek

Über einzelne, zweckgebundene Skills hinaus eignet sich die Verzeichnisstruktur als organisierte Prompt-Bibliothek:

~/.claude/skills/
├── code-reviewer/          # Activates on: review, audit, check
├── api-designer/           # Activates on: design API, endpoint, schema
├── sql-analyst/            # Activates on: query, database, migration
├── deploy-checker/         # Activates on: deploy, release, production
└── incident-responder/     # Activates on: error, failure, outage, debug

Jeder Skill bildet einen anderen Aspekt Ihres Fachwissens ab. Zusammen ergeben sie eine Wissensbasis, aus der Claude abhängig vom Kontext automatisch schöpft. So erhalten Nachwuchsentwickler Anleitung auf Senior-Niveau, ohne danach fragen zu müssen.

Skills lassen sich mit hooks kombinieren

Skills können in ihrem Frontmatter eigene hooks definieren, die nur während der Ausführung des Skills aktiviert sind. Dadurch entsteht domänenspezifisches Verhalten, ohne andere Sitzungen zu belasten:2

---
name: deploy-checker
description: Verify deployment readiness. Use when preparing to deploy,
  release, or push to production.
hooks:
  PreToolUse:
    - matcher: Bash
      hooks:
        - type: command
          command: "bash -c 'INPUT=$(cat); CMD=$(echo \"$INPUT\" | jq -r \".tool_input.command\"); if echo \"$CMD\" | grep -qE \"deploy|release|publish\"; then echo \"DEPLOYMENT COMMAND DETECTED. Running pre-flight checks.\" >&2; fi'"
---

Philosophie-Skills werden über SessionStart-hooks automatisch aktiviert und binden Qualitätsvorgaben ohne expliziten Aufruf in jede Sitzung ein. Der Skill selbst liefert das Wissen. Der hook setzt es durch. Zusammen bilden sie eine Richtlinienebene.

Häufige Fehler bei Skills

Zu weit gefasste Beschreibungen. Ein git-rebase-helper-Skill, der bei jeder Git-bezogenen Anfrage aktiviert wird (Rebases, Merges, Cherry-Picks und sogar git status), belastet den Kontext in 80 % der Sitzungen. Abhilfe schafft entweder eine präzisere Beschreibung oder disable-model-invocation: true, sodass ein expliziter Aufruf über /skill-name erforderlich ist.4

Zu viele Skills konkurrieren um das Budget. Mehr Skills bedeuten, dass mehr Beschreibungen um das 1-prozentige Kontextbudget konkurrieren. Wenn Skills nicht aktiviert werden, prüfen Sie mit /context, ob sie ausgeschlossen wurden. Bevorzugen Sie wenige, gut beschriebene Skills gegenüber vielen vagen Skills.

Kritische Informationen sind in unterstützenden Dateien verborgen. Claude liest SKILL.md sofort, greift auf unterstützende Dateien jedoch nur bei Bedarf zu. Befinden sich kritische Informationen in einer unterstützenden Datei, findet Claude sie möglicherweise nicht. Schreiben Sie unverzichtbare Informationen direkt in SKILL.md.4

SDK-Skill-Oberfläche (8. Mai 2026)

Selbst gehostete harnesses auf Basis von claude-agent-sdk-python v0.1.77+ sollten die Option skills in ClaudeAgentOptions verwenden, um verfügbare Skills zu deklarieren, und nicht mehr den veralteten Wert "Skill" in allowed_tools.37 Die Kurzform "Skill" ist veraltet; die dedizierte Option liefert Claude Code strukturiertere Informationen darüber, welche Skills verfügbar sind. Das in v0.1.77 enthaltene CLI liegt in Version v2.1.133 vor.

Zusammenführung von Plugins und Skills in .claude/skills/ (29. Mai 2026)

Skills wurden schon immer aus dem .claude/skills/-Verzeichnis eines Projekts geladen. Claude Code v2.1.157 erweitert dieses Verzeichnis nun auf Plugins: Ein in .claude/skills/ abgelegtes Plugin wird jetzt ohne Marketplace-Registrierung automatisch geladen, und claude plugin init <name> legt dort ein neues Gerüst an, in dem das Manifest und SKILL.md bereits eingebunden sind.58 Damit schließt sich die Lücke zwischen den beiden Formen von Projektwerkzeugen, die zuvor an unterschiedlichen Orten angesiedelt waren – einem einfachen, direkt in das Repository übernommenen Skill und einem Plugin, das einen Skill sowie hooks und einen MCP-Server bündelt, für die Installation zuvor jedoch einen Marketplace benötigte. Die praktische Auswirkung auf das harness-Design: Projektbezogene Werkzeuge benötigen für die Bereitstellung keinen Umweg über eine Registry mehr – schreiben Sie sie, committen Sie sie, und Ihre Teammitglieder erhalten mit git pull dieselbe Oberfläche. Plugins bleiben die richtige Lösung für gebündelte, installierbare Pakete (hooks + skills + MCP-Server + agents in einer ZIP-Datei); neu ist, dass ein Projekt keinen Marketplace mehr einrichten muss, nur um ein Plugin aus dem eigenen Verzeichnisbaum zu laden.

Ausblenden der mitgelieferten Oberfläche als Governance-Maßnahme (8. Juni 2026)

Skills stellen Fähigkeiten bereit, und jede Fähigkeit vergrößert die Angriffsfläche. Claude Code v2.1.169 ergänzt die Einstellung disableBundledSkills sowie die entsprechende Umgebungsvariable CLAUDE_CODE_DISABLE_BUNDLED_SKILLS, durch die mitgelieferte Skills, workflows und integrierte Slash commands vollständig vor dem Modell verborgen werden.60 Für ein gehärtetes oder reguliertes harness bedeutet dies eine bewusste Verkleinerung der Angriffsfläche: Ein Betreiber, der eine bestimmte Gruppe von Projekt- und persönlichen Skills geprüft und freigegeben hat, kann alles unterdrücken, was Anthropic standardmäßig mitliefert. Das Modell berücksichtigt dann ausschließlich die vom Betreiber geprüfte Oberfläche. Behandeln Sie diese Option wie eine Tool-Allowlist – standardmäßig steht ein breites Fähigkeitsspektrum bereit; diese Vorgabe zu deaktivieren ist eine Governance-Entscheidung und kein bloßer Komfortschalter.

Verschachtelte .claude/skills und Closest-Wins-Auflösung (16. Juni 2026)

Mit Claude Code v2.1.178 wurden Projektwerkzeuge ortsabhängig. Skills in verschachtelten .claude/skills-Verzeichnissen werden nun geladen, wenn Sie an Dateien unterhalb des jeweiligen Verzeichnisses arbeiten, statt ausschließlich aus dem Repository-Stammverzeichnis. Bei einem Namenskonflikt erscheint der verschachtelte Skill als <dir>:<name>, sodass beide erreichbar bleiben.63 Mit derselben Version wurde auch die übrige Projektoberfläche nach dem Prinzip der größten Nähe zum Arbeitsverzeichnis aufgelöst: Wenn der Name eines agents, workflows oder output-style in mehreren verschachtelten .claude/-Verzeichnissen vorkommt, gewinnt die Variante, die dem Arbeitsverzeichnis am nächsten liegt. Beim Speichern eines workflows im Projekt-Geltungsbereich wird außerdem das nächstgelegene vorhandene .claude/workflows/ verwendet, statt immer das Stammverzeichnis als Ziel zu wählen.63 Für ein Monorepository oder ein Repository aus mehreren Unter-Repositorys macht dies den Unterschied zwischen einer einzigen flachen, globalen Oberfläche und paketbezogenen Werkzeugen aus, die kontextabhängig aktiviert werden – ein Verzeichnis services/api/.claude/skills/ kann API-spezifische Skills enthalten, die nur bei der Arbeit in diesem Verzeichnisbaum erscheinen, ohne mit einem gleichnamigen Skill unter services/web/ zu kollidieren.


Hook-Architektur

Hooks sind Shell-Befehle, die durch Lebenszyklusereignisse von Claude Code ausgelöst werden.3 Sie werden außerhalb des LLM als einfache Skripte ausgeführt und nicht als Prompts vom Modell interpretiert. Das Modell möchte rm -rf / ausführen? Ein zehnzeiliges Bash-Skript gleicht den Befehl mit einer Sperrliste ab und lehnt ihn ab, bevor die Shell ihn überhaupt verarbeitet. Der Hook wird ausgelöst, ob das Modell dies möchte oder nicht.

Verfügbare Ereignisse

Zum Zeitpunkt dieser Aktualisierung des Leitfadens stellt Claude Code 30 dokumentierte Lebenszyklusereignisse in acht Kategorien bereit. Die Ereignisliste wächst mit neuen Versionen. Betrachten Sie daher die Referenzdokumentation als maßgebliche Quelle und prüfen Sie vor der Einrichtung von Produktions-Hooks die Kurzübersicht mit der aktuellen vollständigen Tabelle:13

Kategorie Ereignisse Kann blockieren?
Sitzung SessionStart, Setup, SessionEnd Nein
Benutzer / Abschluss UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle Prompt, Erweiterung, Stopp und Leerlauf können blockieren; StopFailure nicht
Tool PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch Vorab-, Berechtigungs- und Batch-Ereignisse können blockieren; nachgelagerte Ereignisse nicht
Subagent / Aufgabe SubagentStart, SubagentStop, TaskCreated, TaskCompleted Stopp- und Aufgabenereignisse können blockieren; der Start nicht
Kontext PreCompact, PostCompact, InstructionsLoaded PreCompact kann blockieren; nachgelagerte und Ladeereignisse nicht
Dateisystem / Arbeitsbereich CwdChanged, DirectoryAdded, FileChanged, WorktreeCreate, WorktreeRemove Die Worktree-Erstellung kann blockieren; die übrigen Ereignisse nicht
Konfiguration / Benachrichtigung ConfigChange, Notification Konfigurationsänderungen können mit Ausnahme von Richtlinieneinstellungen blockieren; Benachrichtigungen nicht
MCP Elicitation, ElicitationResult Ja
Zwei aktuelle Verbesserungen sind für im Hintergrund ausgeführte und Multi-Agent-harnesses relevant. Seit v2.1.198 lösen im Hintergrund ausgeführte claude agents-Sitzungen den Notification-Hook mit den Auslöserwerten agent_needs_input und agent_completed aus. Dadurch kann ein Koordinator unmittelbar reagieren, sobald ein Mitglied der Flotte auf eine Eingabe wartet oder seine Arbeit beendet – die benachrichtigungsgesteuerte Entsprechung zum Polling mit claude agents --json. Seit v2.1.199 geben die Hooks SessionStart, Setup und SubagentStart außerdem stderr aus, wenn sie mit Code 2 beendet werden. Zuvor wurde diese Ausgabe stillschweigend verworfen. Ein fehlgeschlagener Hook beim Start oder beim Starten eines subagents erklärt somit nun die Ursache, anstatt ohne Diagnose zu scheitern.

DirectoryAdded (v2.1.219) schließt die Lücke bei Arbeitsbereichsänderungen während einer Sitzung. Seit der Einführung von MessageDisplay in v2.1.152 war die Ereignisliste unverändert; DirectoryAdded ist das erste neue Lebenszyklusereignis seitdem. Es wird ausgelöst, nachdem /add-dir – oder die Steuerungsanfrage register_repo_root des SDK – während einer laufenden Sitzung ein neues Arbeitsverzeichnis registriert hat.84 Damit wird eine echte Lücke geschlossen: Bisher konnte ein harness bei SessionStart einen Arbeitsbereich umfassend validieren, während anschließend ein zweites Repository ohne jegliche Hook-Auslösung hinzugefügt werden konnte. Alles, was Sie beim Start über den Arbeitsbereich sicherstellen – Vertrauensprüfungen, Geheimnisscans, aus der Verzeichnisstruktur abgeleitete Regeln für den Pfadumfang oder das Laden Repository-spezifischer Richtlinien –, muss hier erneut ausgeführt werden, da die Verzeichnismenge einer Sitzung nicht mehr ab dem Start unveränderlich ist. Das Ereignis dient der Information und blockiert nicht. Verwenden Sie es daher als Auslöser, um den Zustand neu abzuleiten und die Herkunft zu protokollieren, nicht als gate. Wenn ein Verzeichnis niemals hinzugefügt werden darf, verweigern Sie dies in den Einstellungen, anstatt es über einen Hook verhindern zu wollen. Die Unterstützung aufseiten von SDK erschien mit derselben Version (TypeScript v0.3.219 ergänzt die Lebenszyklusereignisse des Steuerungsprotokolls um DirectoryAdded), sodass von SDK gehostete harnesses das Ereignis gleichwertig zu CLI-basierten harnesses verarbeiten.85

Semantik der Exit-Codes

Exit-Codes bestimmen, ob Hooks Aktionen blockieren:3

Exit-Code Bedeutung Aktion
0 Erfolg Der Vorgang wird fortgesetzt. Stdout wird im ausführlichen Modus angezeigt.
2 Blockierender Fehler Der Vorgang wird abgebrochen. Stderr wird zur Fehlermeldung, die an Claude übergeben wird.
1, 3 usw. Nicht blockierender Fehler Der Vorgang wird fortgesetzt. Stderr wird nur im ausführlichen Modus angezeigt (Ctrl+O).
Entscheidend: Jeder Sicherheits-Hook muss exit 2 und nicht exit 1 verwenden. Exit 1 ist lediglich eine nicht blockierende Warnung. Der gefährliche Befehl wird trotzdem ausgeführt. Dies ist teamübergreifend der häufigste Fehler bei Hooks.14

Hook-Konfiguration

Hooks befinden sich in Einstellungsdateien. Verwenden Sie die Projektebene (.claude/settings.json) für gemeinsam genutzte Hooks und die Benutzerebene (~/.claude/settings.json) für persönliche Hooks:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/validate-bash.sh"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; fi'"
          }
        ]
      }
    ]
  }
}

Das Feld matcher filtert einen ereignisspezifischen Wert. Bei Tool-Ereignissen gleicht es tool_name-Werte wie Bash, Edit, Write, Read, Glob, Grep, Namen von MCP-Tools wie mcp__server__tool oder * für alle Tools ab. Einfache Namen und durch | getrennte Listen werden exakt abgeglichen; Werte mit anderen Zeichen gelten als reguläre Ausdrücke von JavaScript. Einige Ereignisse unterstützen keine Matcher und werden bei entsprechender Konfiguration immer ausgelöst.13 Seit Claude Code v2.1.195 werden Matcher mit Bezeichnern, die Bindestriche enthalten (code-reviewer, mcp__brave-search), exakt abgeglichen, anstatt versehentlich Teilzeichenfolgen zu finden. Ein Hook für einen bestimmten Agenten oder Server wird somit nicht mehr für jeden Namen ausgelöst, der lediglich diese Zeichenfolge enthält. Um alle Tools eines MCP-Servers mit Bindestrich abzudecken, verwenden Sie das explizite Muster mcp__brave-search__.*.66 Mit v2.1.214 wurde dieselbe Präzision auf Pfadmuster übertragen: Eine if:-Bedingung eines Hooks, die das einsegmentige Muster dir/** verwendet, entspricht nun ausschließlich <cwd>/dir und nicht mehr jedem Verzeichnis namens dir an beliebiger Stelle der Verzeichnisstruktur. Verwenden Sie **/dir/**, wenn Sie tatsächlich jede Tiefe meinen.74 Wie bei der Änderung in v2.1.195 ersetzt diese Korrektur unbeabsichtigte Reichweite durch ausdrücklich erklärte Absicht. Prüfen Sie daher alle Hook-Bedingungen, die stillschweigend vom früheren Verhalten für beliebige Verzeichnistiefen abhingen.

Ein-/Ausgabeprotokoll für Hooks

Hooks empfangen JSON mit dem vollständigen Kontext über stdin:

{
  "tool_name": "Bash",
  "tool_input": {
    "command": "npm test",
    "description": "Run test suite"
  },
  "session_id": "abc-123",
  "agent_id": "main",
  "agent_type": "main"
}

Für eine erweiterte Steuerung können PreToolUse-Hooks JSON ausgeben, um Tool-Eingaben zu ändern, Kontext einzuschleusen oder Berechtigungsentscheidungen zu treffen. Verwenden Sie den Wrapper hookSpecificOutput – das ältere Format mit decision/reason auf oberster Ebene ist für PreToolUse veraltet:

{
  "hookSpecificOutput": {
    "hookEventName": "PreToolUse",
    "permissionDecision": "allow",
    "permissionDecisionReason": "Command validated and modified",
    "updatedInput": {
      "command": "npm test -- --coverage --ci"
    },
    "additionalContext": "Note: This database has a 5-second query timeout."
  }
}

Drei Arten von Garantien

Fragen Sie sich vor dem Schreiben eines Hooks: Welche Art von Garantie benötige ich?14

Formatierungsgarantien gewährleisten nachträglich Konsistenz. PostToolUse-Hooks für Write/Edit führen nach jeder Dateiänderung Ihr Formatierungsprogramm aus. Die Ausgabe des Modells spielt keine Rolle, da das Formatierungsprogramm alles normalisiert.

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; elif [[ \"$FILE_PATH\" == *.js ]] || [[ \"$FILE_PATH\" == *.ts ]]; then npx prettier --write \"$FILE_PATH\" 2>/dev/null; fi'"
          }
        ]
      }
    ]
  }
}

Sicherheitsgarantien verhindern gefährliche Aktionen, bevor diese ausgeführt werden. PreToolUse-Hooks für Bash prüfen Befehle und blockieren destruktive Muster mit Exit-Code 2:

#!/bin/bash
# validate-bash.sh — block dangerous commands
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')

if echo "$CMD" | grep -qE "rm\s+-rf\s+/|git\s+push\s+(-f|--force)\s+(origin\s+)?main|git\s+reset\s+--hard|DROP\s+TABLE"; then
    echo "BLOCKED: Dangerous command detected: $CMD" >&2
    exit 2
fi

Qualitätsgarantien validieren den Zustand an Entscheidungspunkten. PreToolUse-Hooks für git commit-Befehle führen Ihren Linter oder Ihre Testsuite aus und blockieren den Commit, wenn die Qualitätsprüfungen fehlschlagen:

#!/bin/bash
# quality-gate.sh — lint before commit
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')

if echo "$CMD" | grep -qE "^git\s+commit"; then
    if ! LINT_OUTPUT=$(ruff check . --select E,F,W 2>&1); then
        echo "LINT FAILED -- fix before committing:" >&2
        echo "$LINT_OUTPUT" >&2
        exit 2
    fi
fi

Hook-Typen jenseits von Shell-Befehlen

Claude Code unterstützt fünf Hook-Typen:13

Command-Hooks (type: "command") führen Shell-Skripte aus. Schnell, deterministisch und ohne Token-Kosten. MCP-Tool-hooks (type: "mcp_tool") rufen ein Tool auf einem bereits verbundenen MCP-Server auf. Verwenden Sie sie, wenn die Validierungslogik bereits hinter einer MCP-Grenze liegt und kein separates Shell-Skript benötigt.

Prompt-hooks (type: "prompt") senden einen Single-Turn-Prompt an ein schnelles Claude-Modell. Das Modell gibt { "ok": true } zurück, um die Ausführung zuzulassen, oder { "ok": false, "reason": "..." }, um sie zu blockieren. Verwenden Sie sie für differenzierte Auswertungen, die sich nicht mit regulären Ausdrücken abbilden lassen.

Agent-hooks (type: "agent") starten einen subagent mit Tool-Zugriff (Read, Grep, Glob) für mehrstufige Überprüfungen. Sie sind experimentell; bevorzugen Sie command hooks für Produktionsprüfungen und setzen Sie agent hooks nur für Prüfungen ein, bei denen tatsächlich Dateien oder Testausgaben untersucht werden müssen:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "agent",
            "prompt": "Verify all unit tests pass. Run the test suite and check results. $ARGUMENTS",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

Seit Claude Code v2.1.140 enthält die Eingabe für agent hooks subagent_type. Dadurch kann ein gemeinsam genutzter hook einen security-reviewer-Lauf von einem explorer oder generischen worker unterscheiden, ohne dies aus dem Prompt-Text ableiten zu müssen.49

HTTP-hooks (type: "http") senden die JSON-Eingabe des Ereignisses als POST-Anfrage an eine URL und empfangen JSON als Antwort. Verwenden Sie sie für webhooks, externe Benachrichtigungsdienste oder API-basierte Validierung (ab v2.1.63). Für SessionStart-Ereignisse werden sie nicht unterstützt:

{
  "hooks": {
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "http",
            "url": "https://your-webhook.example.com/hook",
            "headers": { "Authorization": "Bearer $WEBHOOK_TOKEN" },
            "allowedEnvVars": ["WEBHOOK_TOKEN"],
            "timeout": 10
          }
        ]
      }
    ]
  }
}

Asynchrone hooks

Hooks können im Hintergrund ausgeführt werden, ohne die Ausführung zu blockieren. Fügen Sie für nicht kritische Vorgänge wie Benachrichtigungen und Protokollierung async: true hinzu:13

{
  "type": "command",
  "command": ".claude/hooks/notify-slack.sh",
  "async": true
}

Verwenden Sie async für Benachrichtigungen, Telemetrie und Sicherungen. Verwenden Sie async niemals für Formatierung, Validierung oder Vorgänge, die vor der nächsten Aktion abgeschlossen sein müssen.

Dispatcher statt unabhängiger hooks

Wenn sieben hooks beim selben Ereignis ausgelöst werden und jeweils unabhängig stdin lesen, entstehen Race Conditions. Schreiben zwei hooks gleichzeitig in dieselbe JSON-Statusdatei, wird JSON abgeschnitten. Jeder nachgelagerte hook, der diese Datei parst, schlägt daraufhin fehl.2

Die Lösung: ein dispatcher pro Ereignis, der hooks nacheinander mit zwischengespeichertem stdin ausführt:

#!/bin/bash
# dispatcher.sh — run hooks sequentially with cached stdin
INPUT=$(cat)
HOOK_DIR="$HOME/.claude/hooks/pre-tool-use.d"

for hook in "$HOOK_DIR"/*.sh; do
    [ -x "$hook" ] || continue
    echo "$INPUT" | "$hook"
    EXIT_CODE=$?
    if [ "$EXIT_CODE" -eq 2 ]; then
        exit 2  # Propagate block
    fi
done

hooks debuggen

Fünf Methoden zum Debuggen von hooks, die ohne sichtbare Fehlermeldung scheitern:14

  1. Testen Sie Skripte unabhängig voneinander. Leiten Sie eine JSON-Beispieleingabe weiter: echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh
  2. Verwenden Sie stderr für Debug-Ausgaben. stderr bei Exit-Code 2 wird als Fehlermeldung an Claude zurückgegeben. Nicht blockierendes stderr (Exit-Code 1, 3 usw.) erscheint nur im ausführlichen Modus (Ctrl+O).
  3. Achten Sie auf jq-Fehler. Falsche JSON-Pfade geben stillschweigend null zurück. Testen Sie jq-Ausdrücke mit echten Tool-Eingaben.
  4. Überprüfen Sie Exit-Codes. Ein PreToolUse-hook, der exit 1 verwendet, setzt keinerlei Regeln durch, obwohl er zu funktionieren scheint.
  5. Halten Sie hooks schnell. Hooks werden synchron ausgeführt. Alle hooks sollten weniger als 2 Sekunden benötigen, idealerweise weniger als 500 ms.

SDK-seitiges Streaming von hook-Ereignissen

Selbst gehostete harnesses auf Basis von claude-agent-sdk-python (ab v0.1.74, 6. Mai 2026) können hook-Ereignisse direkt aus dem Nachrichtenstream abonnieren, statt Shell-Skript-Callbacks zu verwenden.36 Setzen Sie include_hook_events=True in ClaudeAgentOptions; anschließend liefert derselbe Iterator, der Assistentennachrichten und Tool-Ergebnisse ausgibt, auch HookEventMessage-Objekte (PreToolUse, PostToolUse, Stop und weitere). Dies entspricht der Option includeHookEvents im TypeScript SDK; die gebündelte CLI-Version wurde im selben Release auf v2.1.129 aktualisiert.

Das Event-Stream-Muster eignet sich, wenn Ihr harness bereits in Python ausgeführt wird und Sie hook-Signale im selben Kontrollfluss wie die Modellausgabe verarbeiten möchten. Der Shell-Skript-hook-Vertrag (Exit-Codes, stdin-JSON, dispatcher) bleibt die richtige Lösung für harnesses, die mehrere Tools kombinieren, hooks gemeinsam für Claude Code und Codex verwenden oder zum Blockieren eine Exit-Code-Semantik benötigen.

Mit der Serie vom Juli 2026 (v0.3.205–v0.3.208) machte der TypeScript SDK auch das gestreamte Protokoll selbst verbindlicher.70 Unterbrechungen geben nun typisierte Bestätigungen zurück: Eine Unterbrechung bestätigt anhand von still_queued-UUIDs, welche Nachrichten noch in der Warteschlange stehen. Zudem geben Sitzungen in system/init die Fähigkeit interrupt_receipt_v1 bekannt, sodass ein Koordinator unterscheiden kann, ob eine Unterbrechung angekommen ist oder eine bereits laufende Nachricht knapp verfehlt hat. command_lifecycle-Frames melden für jede Nachricht queued/started/completed/cancelled/discarded – die erste offizielle Antwort auf die Frage „Was ist mit meiner gesendeten Nachricht passiert?“, ohne dies aus dem Transkript ableiten zu müssen. Hinzu kamen kleinere Schnittstellen: ein AgentToolCompletedOutput-Typ für Abschlussdaten von subagents sowie die Möglichkeit, dass canUseTool-Callbacks nun {behavior: 'allow'} ohne ein updatedInput-Feld zurückgeben.

Eine Zeile dieser Serie bildet eine Sicherheitsuntergrenze und ist keine Funktion: v0.3.208 behob einen Fehler, bei dem ein Abbruch durch den Aufrufer während eines ausstehenden hooks als hook-Erfolg gewertet wurde – dadurch konnte ein von einem PreToolUse-hook kontrolliertes Tool ausgeführt werden, nachdem der Aufrufer bereits abgebrochen hatte.70 Wenn Ihr harness SDK-seitige hooks als Berechtigungsschranke verwendet und sich zum Abbrechen laufender Vorgänge auf abort verlässt, sollten Sie v0.3.208 als Mindestversion festlegen; in früheren Versionen bedeutete „abgebrochen“ nicht zuverlässig „blockiert“. Python v0.2.127 (24. Juli 2026) ist innerhalb eines Monats die zweite Umgehung dieser Art: query() schloss stdin beim ersten result-Frame, während subagents im Hintergrund noch liefen. Dadurch schlugen deren SDK-MCP-Tool-Aufrufe mit "Stream closed" fehl und umgingen PreToolUse-hooks vollständig.85 Benennen Sie dieses Muster und achten Sie darauf: Die SDK-seitige Durchsetzung durch hooks fällt an den Rändern des Lebenszyklus offen aus – bei abort, teardown und stream close –, wenn die Übertragung endet, bevor das hook-Urteil eingeholt wurde. Zudem geschieht dies lautlos, weil ein umgangener hook genauso aussieht wie ein hook, der seine Zustimmung erteilt hat. Fixieren Sie für beide SDK-Versionen diese Mindeststände und behalten Sie die Shell-hook-Ebene als nachweisbare Durchsetzungsinstanz bei.

Aufwand und Sitzungsherkunft (7.–8. Mai 2026)

Zwei Ergänzungen in Claude Code v2.1.132 und v2.1.133 liefern hooks und Unterprozessen bessere Informationen über ihren Ausführungskontext:3839

  • effort.level in der hook-Eingabe. Hooks erhalten nun ein JSON-Feld namens effort.level in derselben Eingabe, die auch tool_input und session_id enthält. Derselbe Wert wird als Umgebungsvariable $CLAUDE_EFFORT exportiert, sodass Bash-Befehle ihn lesen können, ohne JSON zu parsen. Nutzen Sie dies, um den Aufwand eines hooks an die Aufwandsstufe anzupassen: Überspringen Sie kostspielige Validierungen bei low und führen Sie bei xhigh oder max das vollständige Sicherheits-gate aus.
  • Umgebungsvariable CLAUDE_CODE_SESSION_ID in Bash-Unterprozessen. Unterprozesse des Bash-Tools sehen nun denselben session_id-Wert wie die hooks, bereitgestellt als CLAUDE_CODE_SESSION_ID. Damit wird die Herkunftslücke für Tools geschlossen, die einen sitzungsbezogenen Status protokollieren und zuvor Unterprozessereignisse nicht mit hook-Ereignissen verknüpfen konnten.

Beide Signale stehen ohne Codeänderungen zur Verfügung; vorhandene hooks, die die neuen Felder ignorieren, funktionieren weiterhin.

autoMode.hard_deny und hook-/Plugin-Korrekturen in v2.1.136 (8. Mai 2026)

Claude Code v2.1.136 ergänzte den Automatikmodus um eine neue hard-deny-Stufe und behob mehrere Plugin- und MCP-Probleme, die sich auf langlebige harnesses auswirkten:40 - settings.autoMode.hard_deny. Regeln für den Auto-mode-Classifier, die bedingungslos blockieren – unabhängig von der Benutzerabsicht oder Ausnahmen durch allow-Regeln. Diese Ebene steht über den vorhandenen allow/deny-Matchern und dient als nicht verhandelbarer Governance-Mechanismus. Verwenden Sie sie für Regeln, die niemals außer Kraft gesetzt werden dürfen (Force-Push auf main, Dateien mit Geheimnissen, Zugriff auf Produktionsdatenbanken), selbst wenn ein Operator die übergeordnete Kategorie in seinen persönlichen Einstellungen freigegeben hat. - autoMode.classifyAllShell (v2.1.193). Standardmäßig prüft der Auto-mode-Classifier nur Shell-Befehle, die Mustern für die Ausführung beliebigen Codes entsprechen. Mit dieser Einstellung wird jeder Bash-/PowerShell-Befehl durch den Classifier geleitet – die Haltung mit maximaler Abdeckung für einen kontrollierten harness. Dieselbe Version zeigt zudem die Gründe für Ablehnungen im Transkript, in der Benachrichtigung und unter /permissions an, wodurch aus stillen Blockierungen überprüfbare Entscheidungen werden. Codex verschärfte die entsprechende Schutzfunktion in v0.142.2: PowerShell-Befehle mit ausführbaren AST-Bereichen, die der Sicherheits-Classifier nicht untersuchen kann, erfordern nun eine Genehmigung, anstatt stillschweigend ausgeführt zu werden.66 - Hook-ask setzt die Untergrenze für den Classifier (v2.1.211). Die Rangfolge zwischen hooks und Auto mode ist nun geklärt: Gibt ein PreToolUse hook die Berechtigungsentscheidung ask zurück, kann das Endergebnis nicht unter eine Rückfrage fallen – Auto mode kann es bei Bash-Befehlen außerhalb der Sandbox nicht wieder zu allow hochstufen.69 Für einen kontrollierten harness ist dies die bislang fehlende Garantiestufe: Das ask eines hooks ist ein deterministischer Human-in-the-Loop-Haltepunkt, der selbst bei vollständig automatischen Berechtigungskonfigurationen bestehen bleibt. Verwenden Sie ask (nicht nur Blockierungen mit Exit-Code 2) für Vorgänge, bei denen Sie eine menschliche Entscheidung statt einer Ablehnung wünschen. - Das Classifier-Modell wird pro Sitzung festgeschrieben (v2.1.210). Der Auto-mode-Classifier verwendet standardmäßig Sonnet 5 und wird für die Sitzung festgeschrieben. Modellwechsel während einer Sitzung ändern daher nicht mehr, welches Modell die Berechtigungsklassifizierungen vornimmt.69 Eine konsistente Klassifizierung ist eine Governance-Eigenschaft; damit entfällt eine unauffällige Ursache für Abweichungen. - MCP-Server verschwinden nach /clear nicht mehr. In .mcp.json, plugins und claude.ai-Connectors konfigurierte Server waren nach einem /clear in der VS Code-Erweiterung, im JetBrains-plugin und in Agent SDK unbemerkt aus der aktiven Gruppe verschwunden. Die Korrektur ist in v2.1.136 enthalten. Falls „MCP server X went missing mid-session“ auftrat, war dies die Ursache. - Verlust des MCP-OAuth-Aktualisierungstokens bei gleichzeitiger Aktualisierung. Benutzer mit mehreren entfernten MCP-Servern sollten sich nicht mehr täglich neu authentifizieren müssen. Gleichzeitige Aktualisierungsschreibvorgänge hatten sich gegenseitig überschrieben. - Plan mode blockiert Dateischreibvorgänge jetzt korrekt. Eine passende Edit(...)-allow-Regel hatte den Schreibschutz von Plan mode umgangen. Plan mode wird nun unabhängig von allow-Regeln durchgesetzt. - Die plugin-hooks Stop und UserPromptSubmit schlagen nicht mehr während einer Sitzung fehl. Bei der Cache-Bereinigung wurden plugin-Versionsdateien gelöscht, die von der laufenden Sitzung noch verwendet wurden. Dadurch fielen speziell diese beiden hook events aus. Die Korrektur hält verwendete Versionen fest. - skills-Eintrag in plugin.json. Durch das Festlegen von skills wurde der standardmäßige skills/-Ordner des plugins ausgeblendet. Nun wird der Eintrag korrekt ergänzt; verweist er auf einen Dateipfad, erscheint eine ausdrückliche Fehlermeldung, anstatt dass der Vorgang unbemerkt fehlschlägt. - Veraltete Umgebungsvariablen aus SessionStart hooks über CLAUDE_ENV_FILE. Variablen, die SessionStart hooks über CLAUDE_ENV_FILE exportierten, waren nach /resume oder /clear veraltet. Dies wurde in v2.1.136 behoben. Bei diesen Ereignissen lesen Sitzungen die Umgebungsdatei nun erneut ein.

Für Governance-harnesses sind autoMode.hard_deny als neuer Mechanismus und die Korrektur für das Verschwinden von MCP besonders relevant – letzteres war ein stiller Fehler, der lange Sitzungen beeinträchtigte. Alles andere sind Verbesserungen der Benutzerfreundlichkeit.

Strukturierte Hook-Argumente und Fortsetzung nach Blockierungen (11. Mai 2026)

Claude Code v2.1.139 führte zwei hook-Details ein, die für Produktions-harnesses relevant sind: eine Exec-Form mit args: string[] für Command hooks und continueOnBlock für PostToolUse hooks.4244 Bevorzugen Sie args, wenn ein hook dynamische Werte oder Pfadplatzhalter benötigt. Der Befehl wird direkt ohne Shell gestartet, wodurch eine ganze Klasse von Fehlern bei Anführungszeichen und Injection entfällt.

Verwenden Sie continueOnBlock, wenn ein PostToolUse hook seinen Ablehnungsgrund an Claude zurückgeben und den Turn fortsetzen soll, anstatt den Ablauf zu beenden. Betrachten Sie dies als Funktion für eine bessere Operator-Erfahrung, nicht als Umgehung der Sicherheit. Ein blockierendes Gate muss das unsichere Ergebnis weiterhin verhindern.

Dieselbe Version übergibt CLAUDE_PROJECT_DIR an MCP-stdio-Server und erlaubt plugin-Konfigurationen, ${CLAUDE_PROJECT_DIR} in Befehlen zu referenzieren.42 MCP tools sollten projektbezogene Pfade anhand dieses Werts auflösen, nicht anhand des zufälligen Prozessarbeitsverzeichnisses, aus dem der Server gestartet wurde. Die Versionen von Anfang Juli 2026 (v2.1.203–v2.1.206) übertrugen dasselbe Prinzip auf die Protokollebene: MCP roots/list enthält nun die zusätzlichen Arbeitsverzeichnisse der Sitzung und sendet bei Änderungen roots/list_changed-Benachrichtigungen. Ein Server, der die MCP roots berücksichtigt, bildet damit die tatsächliche Struktur eines Arbeitsbereichs mit mehreren Verzeichnissen ab, statt von einem einzigen Projektverzeichnis auszugehen.68

Claude Code v2.1.140 ist für harness-Operatoren überwiegend eine Zuverlässigkeitsversion: Sie behebt, dass ConfigChange hooks bei Einstellungsänderungen nicht ausgelöst wurden, schließt Randfälle, in denen disableAllHooks und allowManagedHooksOnly über verschiedene Einstellungsebenen hinweg nicht korrekt zusammenwirkten, und verhindert, dass Berechtigungsdialoge unbeabsichtigte Umgebungsvariablen aus hook-Ergebnissen offenlegen.49 Dadurch werden die bestehenden Governance-Muster in diesem Abschnitt zuverlässiger; eine neue hook-Architektur ist nicht erforderlich.

Claude Code v2.1.141 ergänzt hook-Ausgaben um das Feld terminalSequence, das Desktop-Benachrichtigungen, Fenstertitel und Signaltöne ohne steuerndes Terminal ermöglicht.50 Betrachten Sie dies als Signalisierung für Operatoren, nicht als Durchsetzungsmechanismus. Sicherheits- und Qualitäts-Gates sollten Fehler weiterhin über den üblichen Blockierungsvertrag mitteilen: strukturierte hook-Ausgaben zusammen mit dem Exit-Verhalten, das die unsichere Aktion verhindert. Dieselbe Version ergänzt claude agents --cwd <path> zur Beschränkung von Agent View auf ein Verzeichnis, CLAUDE_CODE_PLUGIN_PREFER_HTTPS für plugin-Installationen in Umgebungen ohne GitHub-SSH-Schlüssel und ANTHROPIC_WORKSPACE_ID für Regeln zur Workload-Identity-Föderation, die mehr als einen Arbeitsbereich abdecken.50 Für Team-harnesses sind dies Architekturdetails: enger begrenzte Betriebsansichten, weniger Annahmen bei der plugin-Installation und eine explizite Geltungsbereichszuweisung für Enterprise-Tokens.

Claude Code v2.1.142 ist für die Orchestrierung von Hintergrundsitzungen wichtiger als für die Semantik von hooks.51 claude agents kann Hintergrundsitzungen nun mit expliziten Flags für Verzeichnis, Einstellungen, MCP, plugin, Berechtigungen, Modell und Rechenaufwand starten, statt vom Zustand eines Wrappers abhängig zu sein. In dieser Version verwendete Fast mode standardmäßig Opus 4.7; mit CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 lässt sich ein harness fest auf Opus 4.6 einstellen, wenn dessen Verhalten nachweislich erforderlich ist. Seit v2.1.219 gehört Opus 4.7 gar nicht mehr zum Fast mode, und /fast gilt für Opus 5 und Opus 4.8.84 Die Erkennung von SKILL.md auf der Stammebene eines plugins und die Sichtbarkeit der vom plugin bereitgestellten LSPs verringern Unklarheiten bei der Paketierung. Korrekturen an MCP_TOOL_TIMEOUT, bereits vorhandenen Worktrees von Hintergrundsitzungen, Ruhe-/Aufwachvorgängen und Bereinigungen nach Upgrades beim Daemon sowie an der plugin-Cache-Bereinigung schließen Zuverlässigkeitslücken, die andernfalls wie Orchestrierungsfehler wirken.

Steuerung durch Stop hooks, sitzungsübergreifende Autorität und Multi-Agent v2 (Juni 2026)

Vier Änderungen von Anfang Juni sind für das Design von harnesses und Multi-Agent-Systemen relevant.59

Stop/SubagentStop hooks erhielten einen Steuerungskanal. Seit Claude Code v2.1.163 kann ein Stop- oder SubagentStop hook über hookSpecificOutput.additionalContext Feedback an Claude übermitteln und den Turn fortsetzen, ohne dass die Antwort als hook-Fehler gekennzeichnet wird. Zuvor war die Blockierung mit Exit-Code 2 das einzige echte Steuerungsmittel eines Stop hooks; sie wird als Fehler dargestellt und auf die Höchstzahl aufeinanderfolgender Blockierungen angerechnet. Für einen harness mit Qualitäts-Gates ist dies das sauberere Grundelement: Erkennt ein Stop hook „Sie haben den Vorgang als abgeschlossen bezeichnet, aber die Tests schlagen fehl“, kann er nun „Folgendes schlägt noch fehl, fahren Sie fort“ einspeisen, statt hart zu blockieren. Verwenden Sie die Blockierung für tatsächliche Abbruchbedingungen und additionalContext für „noch nicht abgeschlossen – hier ist der Grund“.

Sitzungsübergreifende Nachrichten übertragen keine geliehene Autorität mehr. v2.1.166 härtete den Fall mehrerer Sitzungen ab: Nachrichten, die über SendMessage aus einer anderen Claude-Sitzung weitergeleitet werden, übertragen nicht mehr die Autorität des ursprünglichen Benutzers. Daher lehnt die empfangende Sitzung weitergeleitete Berechtigungsanfragen ab, und Auto mode blockiert sie. Wenn sich Agenten in Ihrer Orchestrierung gegenseitig Nachrichten senden, behandeln Sie eingehende Nachrichten als nicht vertrauenswürdige Daten und nicht als authentifizierte Anweisungen. Dasselbe Prinzip wendet der Sicherheitsabschnitt auf tool-Ausgaben an; hier wird es auf die Kommunikation zwischen Agenten erweitert. Seit v2.1.199 erkennt und meldet Claude Code außerdem, wenn eine SendMessage fehlgeleitet wird, weil zwei Agenten denselben Namen haben. Dies ergänzt die Autoritätsgrenze um einen Zuverlässigkeitsschutz, denn eine Nachricht an den falschen gleichnamigen Agenten ist eine eigene Klasse von Orchestrierungsfehlern. Modellresilienz wurde zu einer zentralen Einstellung. Mit der Einstellung fallbackModel lassen sich nun bis zu drei Ersatzmodelle verketten, die der Reihe nach ausprobiert werden, wenn das primäre Modell überlastet oder nicht verfügbar ist. Bei unerwarteten, nicht erneut ausführbaren API-Fehlern wird ein Turn außerdem automatisch einmal mit dem Fallback-Modell wiederholt. In einem langfristig autonomen harness wird so aus einem vorübergehenden Ausfall des primären Modells eine kontrollierte Leistungsminderung statt eines abgebrochenen Laufs. claude agents --json erhielt zudem ein waitingFor-Feld (v2.1.162), das anzeigt, worauf eine blockierte Hintergrundsitzung wartet, etwa auf eine Berechtigungsabfrage — ein Gewinn an Beobachtbarkeit für jeden Koordinator, der regelmäßig den Status einer Agentenflotte abfragt.

Abgesicherter Modus für Clean-Room-Governance und Fehlerbehebung. Claude Code v2.1.169 führt das Flag --safe-mode (und die entsprechende Umgebungsvariable CLAUDE_CODE_SAFE_MODE) ein, das eine Sitzung startet, in der sämtliche Anpassungen gleichzeitig deaktiviert sind: CLAUDE.md, Plugins, skills, hooks und MCP-Server.60 Dies ist die Umkehrung des harness — ein bewusst geschaffener Clean Room. Damit können Sie die Frage beantworten, die sich jeder Betreiber früher oder später stellt: „Stammt dieses Verhalten vom Modell oder von etwas, das ich konfiguriert habe?“ Wenn ein hook fälschlicherweise ausgelöst wird, ein skill aktiviert wird, obwohl dies nicht geschehen sollte, oder ein MCP-Server den Kontext beeinträchtigt, liefert Ihnen --safe-mode eine bekanntermaßen leere Ausgangsbasis für einen Vergleich. Zugleich ist der Modus ein Governance-Baustein: Sie können das unveränderte Modell ohne die dauerhaften Befugnisse ausführen, die Ihr harness normalerweise gewährt. Das ist relevant, wenn Sie ein Ergebnis reproduzieren müssen, ohne dass eine vom Betreiber definierte Infrastruktur darauf Einfluss nimmt.

Hinweis zu den Modellstufen. Seit Claude Code v2.1.197 (30. Juni 2026) ist Claude Sonnet 5 das standardmäßig ausgelieferte Modell für neue Sitzungen — mit nativem 1M-Kontext und einem Aktionspreis von 2/10 US-Dollar pro MTok bis zum 31. August — und ersetzt Opus 4.8 als sofort einsatzbereite Standardwahl. Dieser Leitfaden betrachtet Opus 5 (claude-opus-5) als empfohlenen Standard für agentische Aufgaben: Sofern Sie sich nicht bewusst anders entscheiden, sollten autonome harnesses mit diesem Modell ausgeführt werden, denn gerade in langfristigen Agentenschleifen mit hohem Risiko rechtfertigt die größere Schlussfolgerungstiefe von Opus die Kosten. Opus 5 erschien am 24. Juli 2026 als neues standardmäßiges Opus in Claude Code v2.1.219 — mit 1M-Kontext, einem Preis von 5/25 US-Dollar pro MTok (derselbe Preis wie beim ersetzten Opus 4.8) und einem schnellen Modus für 10/50 US-Dollar bei ungefähr 2,5-facher Standardgeschwindigkeit. Anthropic zufolge erzielt es im Frontier-Bench v0.1 mehr als das Doppelte der Leistung von Opus 4.8 und liegt im CursorBench 3.2 bei halben Kosten höchstens 0,5 % hinter Fable 5.8487 Derselbe Preis, mehr Leistungsfähigkeit und ein Modell, das Anthropic als „deutlich besser darin, seine Arbeit zu überprüfen und sie sorgfältig zu überarbeiten“ charakterisiert, ergeben ein seltenes Upgrade, für das bei harness-Aufgaben kein Kostenargument nötig ist; für die Migration von 4.8 muss lediglich die ID geändert werden. Wechseln Sie bei kostensensiblen Aufgaben oder hohem Durchsatz zu Sonnet 5, wenn dessen Verhältnis von Geschwindigkeit zu Intelligenz den Ausschlag gibt. Oberhalb von Opus steht Claude Fable 5 (claude-fable-5), das am 9. Juni 2026 eingeführt wurde — eine neue Stufe, die als leistungsfähigstes Modell von Anthropic beschrieben wird: ein für den allgemeinen Einsatz abgesichertes System der „Mythos-Klasse“, das in Claude Code v2.1.170 über /model claude-fable-5 ausgewählt werden kann.60 Greifen Sie gezielt auf die höhere Stufe zurück, wenn bei einer Entscheidung die reine Schlussfolgerungstiefe die Kosten rechtfertigt, statt sie pauschal für eine ganze Flotte festzulegen. Aus der Umstellung auf Opus 5 ergeben sich zwei administrative Konsequenzen: Opus 4.7 ist nicht mehr im schnellen Modus verfügbar (/fast gilt nun für Opus 5 und Opus 4.8), und der Fable-5-Fallback des Klassifikators für den automatischen Modus — seit v2.1.176 „das beste verfügbare Opus-Modell“ — verweist nun auf Opus 5.84

Codex veröffentlichte Multi-Agent v2. Codex CLI v0.137.0 belässt die Wahl der Laufzeit bei jedem Thread, bietet übersichtlichere Standardeinstellungen für Follow-ups und Metadaten erzeugter Agenten (hide_spawn_agent_metadata ist nun standardmäßig auf true gesetzt) und leitet unverarbeitete Ereignisse des übergeordneten Threads an untergeordnete Listener weiter. Das subagent-Modell bleibt explizit: integrierte Agententypen default/worker/explorer, über TOML definierte benutzerdefinierte Agenten sowie Nebenläufigkeitskontrollen (agents.max_threads standardmäßig 6, agents.max_depth standardmäßig 1). Dieselbe Version ergänzt eine v1-skills-Erweiterung mit einer turnweisen Auflösung des skill-Katalogs sowie neuen Contributor-Ereignissen für den Thread-Start und Turn-Fehler. Dadurch verringert sich der Abstand zur hook-/skill-Oberfläche von Claude Code, während die Kernel-Sandbox-Haltung die standardmäßige Grenze bleibt. Codex v0.138.0–v0.139.0 härtete Multi-Agent v2 anschließend für den Produktiveinsatz: Nachrichteninhalte zwischen Agenten werden nun verschlüsselt, ein v2-Agentenkonfigurationskatalog verwaltet zusammen mit einem LRU für die Agentenresidenz, welche Agenten resident bleiben, und die Nebenläufigkeit wird anhand der aktiven Ausführung statt der Anzahl erzeugter Threads gezählt, sodass inaktive Agenten keinen Slot mehr belegen.61 Auch der Lebenszyklus-API wurde ausgereifter — close_agent wurde in v0.139.0 in interrupt_agent umbenannt, um deutlich zu machen, dass damit ein laufender Agent unterbrochen und nicht lediglich ein Handle geschlossen wird. Zudem bleiben MCP-Startwarnungen eines subagent nun auf den zugehörigen Thread beschränkt, statt zusätzlich im Transkript des übergeordneten Threads aufzutauchen.61 Für alle, die eine Codex-seitige Orchestrierung entwickeln, markieren diese Funktionen den Unterschied zwischen einer Demonstration und einer Flotte: verschlüsselter Nachrichtentransport, begrenzte Residenz, nach Ausführungen gezählte Nebenläufigkeit und Warnungen, die nicht über Thread-Grenzen hinweg durchsickern. Codex v0.140.0 öffnete anschließend eine Schnittstelle zwischen verschiedenen Tools: Mit /import lassen sich Einrichtung, Projektkonfiguration und aktuelle Chats selektiv aus Claude Code in Codex übernehmen. Sitzungen können außerdem dauerhaft gelöscht werden (codex delete / /delete, jeweils mit Sicherheitsabfragen zur Bestätigung).64 /import ist die erste offizielle Anerkennung, dass Betreiber zwischen harnesses wechseln — die für ein System erstellte Konfiguration ist nicht länger darin gefangen.


Speicher und Kontext

Jede KI-Konversation findet innerhalb eines begrenzten Kontextfensters statt. Mit zunehmender Länge der Konversation komprimiert das System frühere Gesprächsrunden, um Platz für neue Inhalte zu schaffen. Diese Komprimierung ist verlustbehaftet. Architekturentscheidungen, die in Gesprächsrunde 3 dokumentiert wurden, sind in Gesprächsrunde 15 möglicherweise nicht mehr vorhanden.9

Die drei Mechanismen des Multi-Turn-Zusammenbruchs

Die Studie von MSR/Salesforce identifizierte drei unabhängige Mechanismen, die jeweils eine andere Gegenmaßnahme erfordern:9

Mechanismus Was geschieht Gegenmaßnahme
Kontextkomprimierung Frühere Informationen werden verworfen, um Platz für neue Inhalte zu schaffen Zustands-Checkpoints im Dateisystem
Verlust der Schlussfolgerungskohärenz Das Modell widerspricht über mehrere Gesprächsrunden hinweg seinen eigenen früheren Entscheidungen Iteration mit frischem Kontext (Ralph loop)
Koordinationsfehler Mehrere agents verfügen über unterschiedliche Momentaufnahmen des Zustands Gemeinsame Zustandsprotokolle zwischen agents

Strategie 1: Das Dateisystem als Speicher

Der zuverlässigste Speicher über Kontextgrenzen hinweg befindet sich im Dateisystem. Claude Code liest CLAUDE.md und Speicherdateien zu Beginn jeder Sitzung sowie nach jeder Komprimierung.6

~/.claude/
├── configs/           # 14 JSON configs (thresholds, rules, budgets)
│   ├── deliberation-config.json
│   ├── recursion-limits.json
│   └── consensus-profiles.json
├── hooks/             # 95 lifecycle event handlers
├── skills/            # 44 reusable knowledge modules
├── state/             # Runtime state (recursion depth, agent lineage)
├── handoffs/          # 49 multi-session context documents
├── docs/              # 40+ system documentation files
└── projects/          # Per-project memory directories
    └── {project}/memory/
        └── MEMORY.md  # Always loaded into context

Die Datei MEMORY.md erfasst Fehler, Entscheidungen und Muster über mehrere Sitzungen hinweg. Wenn Sie feststellen, dass ((VAR++)) in Bash mit set -e fehlschlägt, wenn VAR den Wert 0 hat, halten Sie dies darin fest. Stoßen Sie drei Sitzungen später in Python auf einen ähnlichen Grenzfall mit Ganzzahlen, macht der Eintrag in MEMORY.md Sie auf das Muster aufmerksam.15

Auto Memory (v2.1.32+): Claude Code zeichnet den Projektkontext automatisch auf und ruft ihn wieder ab. Während Sie arbeiten, schreibt Claude Beobachtungen in ~/.claude/projects/{project-path}/memory/MEMORY.md. Auto Memory lädt zu Beginn der Sitzung die ersten 200 Zeilen in Ihren System-Prompt. Halten Sie die Datei knapp und verlinken Sie für ausführliche Notizen auf separate Themendateien.6 Seit v2.1.210 führt ein Schreibvorgang in MEMORY.md, der die Größenbeschränkung überschreitet, zu einem Fehler, statt den Inhalt stillschweigend abzuschneiden69 — der Fehler wird beim Schreiben sichtbar und nicht erst durch Speichereinträge, die unbemerkt verschwunden sind. Wenn Ihr harness Speicherschreibvorgänge automatisiert, behandeln Sie diesen Fehler entsprechend; die Plattform signalisiert Ihnen damit, dass die Datei kuratiert werden muss und kein erneuter Versuch erforderlich ist.

Speicherkuratierung statt Speichervolumen (Mai 2026): Ein aktueller arXiv-Preprint zur Zusammenarbeit von LLM-agents beschreibt einen umfangreicheren Abruf als möglichen Fehlermodus: In den Experimenten der Autoren verschlechterte eine längere sichtbare Historie die Zusammenarbeit in 18 von 28 Modellspielszenarien.48 Betrachten Sie dies als Warnung für das Design und nicht als endgültiges Gesetz. Die Produktionsregel ist bereits eindeutig genug: Halten Sie MEMORY.md kurz, verlinken Sie ausführliche Informationen und nehmen Sie entscheidungsreife Zusammenfassungen in Übergaben auf. Unbearbeitete Transkriptabzüge, Tool-Protokolle und lange Abruf-Feeds gehören in einen durchsuchbaren Speicher und nicht automatisch in den aktiven Prompt.

Strategie 2: Proaktive Komprimierung

Der /compact-Befehl von Claude Code fasst die Konversation zusammen und gibt Kontextspeicher frei, während wichtige Entscheidungen, Dateiinhalte und der Aufgabenstatus erhalten bleiben.15

Wann Sie komprimieren sollten: - Nach Abschluss einer eigenständigen Teilaufgabe (Funktion implementiert, Fehler behoben) - Bevor Sie mit einem neuen Bereich der Codebasis beginnen - Wenn Claude beginnt, sich zu wiederholen oder früheren Kontext zu vergessen - Bei intensiven Sitzungen ungefähr alle 25–30 Minuten

Benutzerdefinierte Komprimierungsanweisungen in CLAUDE.md:

# Summary Instructions
When using compact, focus on:
- Recent code changes
- Test results
- Architecture decisions made this session

Die Komprimierung schützt die Konversation; der /cd-Befehl (Claude Code v2.1.169) schützt den Prompt-Cache. Mit ihm lässt sich eine Sitzung während des laufenden Vorgangs in ein neues Arbeitsverzeichnis verschieben, ohne den im Verlauf der Gesprächsrunde aufgebauten Cache zu beeinträchtigen.60 Zuvor erforderten Verzeichniswechsel eine neue Sitzung und einen kalten Cache. Wenn eine lang laufende Sitzung von einem Repository zu einem benachbarten wechselt — was bei Arbeiten mit Monorepos und mehreren Diensten häufig vorkommt — behält /cd das aufwendig zwischengespeicherte Präfix bei und richtet gleichzeitig den Dateisystemkontext neu aus.

Strategie 3: Sitzungsübergaben

Erstellen Sie für Aufgaben, die sich über mehrere Sitzungen erstrecken, Übergabedokumente, in denen der vollständige Zustand festgehalten wird:

## Handoff: Deliberation Infrastructure PRD-7
**Status:** Hook wiring complete, 81 Python unit tests passing
**Files changed:** hooks/post-deliberation.sh, hooks/deliberation-pride-check.sh
**Decision:** Placed post-deliberation in PostToolUse:Task, pride-check in Stop
**Blocked:** Spawn budget model needs inheritance instead of depth increment
**Next:** PRD-8 integration tests in tests/test_deliberation_lib.py

Die Struktur Status/Files/Decision/Blocked/Next stellt der nachfolgenden Sitzung bei minimalem Token-Verbrauch den vollständigen Kontext zur Verfügung. Wenn Sie eine neue Sitzung mit claude -c (Fortsetzen) starten oder das Übergabedokument lesen, können Sie direkt mit der Implementierung beginnen.15

Strategie 4: Iteration mit frischem Kontext (der Ralph loop)

Starten Sie bei Sitzungen, die länger als 60–90 Minuten dauern, für jede Iteration eine neue Instanz von Claude. Der Zustand bleibt über das Dateisystem erhalten, nicht über das Konversationsgedächtnis. Jede Iteration erhält das vollständige Kontextbudget:16

Iteration 1: [200K tokens] -> writes code, creates files, updates state
Iteration 2: [200K tokens] -> reads state from disk, continues
Iteration 3: [200K tokens] -> reads updated state, continues
...
Iteration N: [200K tokens] -> reads final state, verifies criteria

Vergleichen Sie dies mit einer einzelnen langen Sitzung:

Minute 0:   [200K tokens available] -> productive
Minute 30:  [150K tokens available] -> somewhat productive
Minute 60:  [100K tokens available] -> degraded
Minute 90:  [50K tokens available]  -> significantly degraded
Minute 120: [compressed, lossy]     -> errors accumulate

Der Ansatz mit frischem Kontext pro Iteration tauscht einen Mehraufwand von 15–20 % für den Orientierungsschritt (Lesen von Zustandsdateien, Durchsuchen des Git-Verlaufs) gegen die vollständigen kognitiven Ressourcen pro Iteration ein.16 Die Kosten-Nutzen-Rechnung lautet: Bei Sitzungen unter 60 Minuten ist eine einzelne Konversation effizienter. Ab 90 Minuten liefert ein frischer Kontext trotz des Mehraufwands qualitativ bessere Ergebnisse.

Strategie 5: Verwaltete Speicherkuratierung (Dreaming)

Die Claude Managed Agents von Anthropic führten am 6. Mai 2026 Dreaming als Research Preview ein.35 Laut Anthropic: „Dreaming ist ein geplanter Prozess, der Ihre agent-Sitzungen und Speicherbestände überprüft, Muster extrahiert und Erinnerungen kuratiert, damit sich Ihre agents im Laufe der Zeit verbessern.“35

Dreaming läuft zwischen Sitzungen im Hintergrund und nicht im kritischen Pfad. Es ergänzt das Muster „Dateisystem als Speicher“, statt es zu ersetzen: Ihre Datei MEMORY.md bleibt die tragende Oberfläche; Dreaming schreibt kuratierte Speichereinträge in den Speicher der Managed Agents, den der agent zu Beginn einer Sitzung liest. Beide Muster bestehen bei harnesses nebeneinander, die selbst gehosteten Dateisystemzustand mit verwalteter Kuratierung kombinieren.

Dateisystemspeicher Dreaming (verwaltet)
Wo sich der Speicher befindet In Ihrem Repository, versionsverwaltet Von Anthropic verwalteter Speicher
Wann er aktualisiert wird Sie schreiben Einträge manuell oder über hooks Hintergrundprozess zwischen Sitzungen
Was er erfasst Von Ihnen gekennzeichnete Entscheidungen, Fehler und Muster Aus dem Sitzungsverlauf extrahierte Muster
Am besten geeignet für Projektspezifisches institutionelles Wissen Sitzungsübergreifende Mustererkennung, die Ihnen manuell entgehen würde

Dreaming befindet sich in der Research Preview, daher kann sich sein Verhalten ändern. Die oben dokumentierten Muster für Sitzungsübergaben und CLAUDE.md bleiben der maßgebliche Speichermechanismus für selbst gehostete harnesses.

Die Anti-Patterns

Ganze Dateien lesen, obwohl Sie nur 10 Zeilen benötigen. Das einmalige Lesen einer Datei mit 2.000 Zeilen verbraucht 15.000–20.000 Tokens. Verwenden Sie Zeilen-Offsets: Read file.py offset=100 limit=20 spart den überwiegenden Teil dieser Kosten.15

Ausführliche Fehlerausgaben im Kontext behalten. Nach der Fehlerbehebung enthält Ihr Kontext mehr als 40 Stacktraces aus fehlgeschlagenen Iterationen. Ein einzelnes /compact nach der Behebung des Fehlers entfernt diesen Ballast.

Jede Sitzung mit dem Lesen sämtlicher Dateien beginnen. Lassen Sie die Glob- und Grep-Tools von Claude Code relevante Dateien bei Bedarf finden. So sparen Sie mehr als 100.000 Tokens durch unnötiges Vorladen.15


Subagent-Muster

Subagents sind spezialisierte Claude-Instanzen, die komplexe Aufgaben selbstständig bearbeiten. Sie starten mit einem bereinigten Kontext (ohne Inhalte aus der Hauptkonversation), arbeiten mit festgelegten Tools und geben ihre Ergebnisse als Zusammenfassungen zurück. Die Untersuchungsergebnisse blähen Ihre Hauptkonversation nicht auf; zurückgegeben werden nur die Schlussfolgerungen.5

Integrierte Subagent-Typen

Typ Modell Modus Tools Verwendungszweck
Explore Haiku (schnell) Schreibgeschützt Glob, Grep, Read, sicheres Bash Codebasis untersuchen, Dateien finden
General-purpose Wird übernommen Vollständiger Lese-/Schreibzugriff Alle verfügbaren Komplexe Recherche und Änderungen
Plan Wird übernommen (oder Opus) Schreibgeschützt Read, Glob, Grep, Bash Planung vor der Ausführung

Benutzerdefinierte Subagents erstellen

Definieren Sie subagents in .claude/agents/ (Projekt) oder ~/.claude/agents/ (persönlich):

---
name: security-reviewer
description: Expert security code reviewer. Use PROACTIVELY after any code
  changes to authentication, authorization, or data handling.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---

You are a senior security engineer reviewing code for vulnerabilities.

When invoked:
1. Identify the files that were recently changed
2. Analyze for OWASP Top 10 vulnerabilities
3. Check for secrets, hardcoded credentials, SQL injection
4. Report findings with severity levels and remediation steps

Focus on actionable security findings, not style issues.

Konfigurationsfelder für Subagents

Feld Erforderlich Zweck
name Ja Eindeutiger Bezeichner (Kleinbuchstaben und Bindestriche)
description Ja Zeitpunkt des Aufrufs (nehmen Sie „PROACTIVELY“ auf, um die automatische Delegation zu fördern)
tools Nein Kommagetrennt. Werden keine Tools angegeben, werden alle übernommen. Unterstützt Agent(agent_type), um die erzeugbaren Agenten einzuschränken
disallowedTools Nein Zu sperrende Tools, die aus der übernommenen oder angegebenen Liste entfernt werden. Seit v2.1.178 werden MCP-Spezifikationen auf Serverebene (mcp__server, mcp__server__*, mcp__*) hier korrekt abgeglichen. Frühere Versionen ignorierten sie stillschweigend, sodass eine Sperrregel für einen MCP-Server wirkungslos blieb.63
model Nein sonnet, opus, haiku, inherit (Standard: inherit)
permissionMode Nein default (seit v2.1.200 in CLI/IDEs als „Manual“ bezeichnet; manual ist ein akzeptierter Alias für den unveränderten Konfigurationswert), acceptEdits, delegate, dontAsk, bypassPermissions, plan. Seit v2.1.212 ist der Parameter mode des Task tools für einzelne Aufrufe veraltet: subagents übernehmen den Berechtigungsmodus der übergeordneten Sitzung, während dieses Frontmatter-Feld ihn für den jeweiligen Agenten überschreibt69
maxTurns Nein Maximale Anzahl agentischer Durchläufe, bevor der Subagent stoppt
memory Nein Geltungsbereich des persistenten Speichers: user, project, local
skills Nein Lädt beim Start automatisch Inhalte aus skills in den Kontext des Subagents. Seit v2.1.133 erkennen subagents außerdem Projekt-, Benutzer- und Plugin-skills über das Skill tool genauso wie die übergeordnete Sitzung. Frühere Versionen entfernten diese stillschweigend aus dem Kontext des Subagents.39
hooks Nein Lifecycle-hooks, deren Geltungsbereich auf die Ausführung dieses Subagents beschränkt ist
background Nein Erzwingt eine Hintergrundaufgabe. Seit v2.1.198 werden subagents standardmäßig im Hintergrund ausgeführt – die führende Sitzung arbeitet weiter und wird nach Abschluss benachrichtigt. Dieses Feld legt das Verhalten daher nun ausdrücklich fest, statt es erst zu aktivieren
isolation Nein Für eine isolierte Kopie im Git-Worktree auf worktree setzen

Worktree-Isolation

Subagents können in temporären Git-Worktrees arbeiten, die eine vollständige isolierte Kopie des Repositorys bereitstellen:5

---
name: experimental-refactor
description: Attempt risky refactoring in isolation
isolation: worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---

You have an isolated copy of the repository. Make changes freely.
If the refactoring succeeds, the changes can be merged back.
If it fails, the worktree is discarded with no impact on the main branch.

Die Worktree-Isolation ist für experimentelle Arbeiten unverzichtbar, die die Codebasis beschädigen könnten.

Isolation ist nur dann Isolation, wenn die Grenze hält. Claude Code v2.1.210 behob einen Fehler, durch den Worktree-isolierte subagents den primären Checkout verändern konnten – genau den Fehlerfall, den dieser Mechanismus verhindern soll.69 Wenn Sie isolation: worktree als Sicherheitsgrenze und nicht nur der Bequemlichkeit halber einsetzen, sollte v2.1.210 Ihre Mindestversion sein. Die zugehörige Berechtigungsänderung wirkt in die andere Richtung: Seit v2.1.211 bleiben „always allow“-Regeln am Repository-Stamm über Worktrees hinweg bestehen. Eine in einem Worktree akzeptierte Regel gilt somit auch für benachbarte Worktrees desselben Repositorys.69 Für parallel arbeitende Worktree-Agenten ist das ergonomisch sinnvoll, bedeutet aber auch, dass eine während eines kurzlebigen Experiments erteilte Freigabe das Experiment überdauert. Berücksichtigen Sie beim Erteilen einer Freigabe deshalb das gesamte Repository und nicht nur den aktuellen Worktree.

v2.1.216 schloss die verbliebenen Lücken und machte die Worktree-Isolation von einer fehlerbereinigten Funktion zu einer zuverlässig durchgesetzten Schutzmaßnahme.74 Die Korrektur in v2.1.210 verhinderte, dass Worktree-subagents den primären Checkout über gewöhnliche Git-Aufrufe veränderten. Git bietet jedoch ausdrückliche Umleitungen – git -C <path>, --git-dir sowie die Umgebungsvariablen GIT_DIR/GIT_WORK_TREE – und ein Worktree-isolierter Subagent konnte sie weiterhin auf den gemeinsam genutzten Checkout richten. All diese Fluchtwege sind nun geschlossen. Dieselbe Version behob außerdem, dass Worktree-Sitzungen gelegentlich im zurückgebliebenen Worktree eines anderen Projekts landeten, verhinderte, dass Schreibvorgänge von Workflows und geplanten Aufgaben einem unter .claude platzierten Symlink zu einem Ziel außerhalb des Projekts folgten, und sorgte dafür, dass /rewind weder Symlinks noch Hardlinks durchläuft. Allen vier Korrekturen liegt dasselbe Prinzip zugrunde: Eine Isolationsgrenze muss auch gezielten Umleitungen standhalten – etwa überschriebenen Git-Umgebungsvariablen oder platzierten Symlinks – und nicht nur dem Standardverhalten. Wenn isolation: worktree in Ihrem harness eine Sicherheitsgrenze und keine bloße Komfortfunktion ist, gilt v2.1.216 als neue Mindestversion.

Parallele Subagents

Verwenden Sie parallele subagents für unabhängige Rechercheaufgaben, die keine gegenseitige Abstimmung erfordern:5

> Have three explore agents search in parallel:
> 1. Authentication code
> 2. Database models
> 3. API routes

Jeder Agent arbeitet in einem eigenen Kontextfenster, findet relevanten Code und gibt eine Zusammenfassung zurück. Der Hauptkontext bleibt übersichtlich.

Der Rekursionsschutz

Ohne Begrenzung erzeugen Agenten weitere Agenten, die wiederum Agenten erzeugen. Dabei geht auf jeder Ebene Kontext verloren, während Tokens verbraucht werden. Das Muster des Rekursionsschutzes setzt Budgets durch:16

#!/bin/bash
# recursion-guard.sh — enforce spawn budget
CONFIG_FILE="${HOME}/.claude/configs/recursion-limits.json"
STATE_FILE="${HOME}/.claude/state/recursion-depth.json"

MAX_DEPTH=2
MAX_CHILDREN=5
DELIB_SPAWN_BUDGET=2
DELIB_MAX_AGENTS=12

# Read current depth
current_depth=$(jq -r '.depth // 0' "$STATE_FILE" 2>/dev/null)

if [[ "$current_depth" -ge "$MAX_DEPTH" ]]; then
    echo "BLOCKED: Maximum recursion depth ($MAX_DEPTH) reached" >&2
    exit 2
fi

# Increment depth using safe arithmetic (not ((VAR++)) with set -e)
new_depth=$((current_depth + 1))
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"

Entscheidende Erkenntnis: Verwenden Sie Erzeugungsbudgets und nicht nur Begrenzungen der Verschachtelungstiefe. Tiefenbasierte Begrenzungen verfolgen Eltern-Kind-Ketten (beispielsweise eine Sperre ab Tiefe 3), erfassen aber nicht deren Breite: 23 Agenten auf Tiefe 1 gelten weiterhin nur als „Tiefe 1“. Ein Erzeugungsbudget erfasst die Gesamtzahl aktiver Kindagenten pro Elternagent und begrenzt sie auf ein konfigurierbares Maximum. Das Budgetmodell bildet den tatsächlichen Fehlerfall – zu viele Agenten insgesamt – besser ab als die Ersatzmetrik der übermäßigen Verschachtelungstiefe.7

Der Standardwert für die Verschachtelungstiefe wurde dreimal geändert; bauen Sie nicht darauf. Mit Claude Code v2.1.172 (10. Juni 2026) konnten sub-agents eigene sub-agents erzeugen und sie bis zu 5 Ebenen tief verschachteln – zuvor war die Delegation praktisch auf eine Ebene beschränkt.62 Dies galt von v2.1.172 bis einschließlich v2.1.216. v2.1.217 (21. Juli 2026) reduzierte den Wert auf 1 und deaktivierte damit standardmäßig die verschachtelte Erzeugung. Mit v2.1.219 (24. Juli 2026) landete er schließlich dazwischen: „Subagents can now spawn nested subagents up to depth 3 by default (was 1); set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 to disable nesting.“84 Erst fünf, dann eins, dann drei – die letzten beiden Änderungen innerhalb von drei Tagen.

Daraus sollten Sie nicht schließen, dass einer dieser Werte grundsätzlich richtig ist. Vielmehr sucht die Plattform noch nach dem passenden Standardwert, weshalb ein harness nicht einfach den jeweils ausgelieferten Wert übernehmen sollte. Behandeln Sie die Verschachtelungstiefe als ausdrückliche Budgetposition: Setzen Sie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH auf die von Ihrer Architektur tatsächlich benötigte Tiefe – für die meisten Orchestrierungen ist das 1 oder 2 –, damit ein Upgrade nicht unbemerkt verändert, wie tief Ihre Agenten delegieren. Das grundlegende Argument bleibt von diesen Änderungen unberührt: Ketten von Agenten, die an weitere Agenten delegieren, verbrauchen Kontext und Tokens schneller, als sie Ergebnisse liefern. Tiefe ist ein einzuplanendes Risiko und keine anzustrebende Fähigkeit. Der obige Rekursionsschutz verhindert, dass sich ein tiefer Baum zu Hunderten aktiver Agenten auffächert, unabhängig davon, wohin sich der Standardwert als Nächstes bewegt. Nur eine selbst festgelegte Begrenzung behält auch nach der nächsten Version die von Ihnen beabsichtigte Bedeutung.

Auto mode prüft Erzeugungsvorgänge jetzt vor dem Start. Claude Code v2.1.178 schloss die entsprechende Lücke in der Steuerung: Im auto mode bewertet der Berechtigungsklassifikator die Erzeugung eines Subagents vor dessen Start und nicht erst, wenn er mit der Ausführung von Aktionen beginnt.63 Zuvor konnte ein Subagent erzeugt werden, um eine Aktion anzufordern, die der übergeordneten Sitzung verwehrt gewesen wäre – bereits das Erzeugen diente als Umgehung. Durch die Prüfung zum Erzeugungszeitpunkt greifen Rekursionsschutz und Berechtigungsmodell endlich ineinander: Ein Kindagent kann nicht mehr dazu verwendet werden, eine von der Richtlinie verbotene Aktion zu verschleiern.

Die Plattform bietet jetzt ein natives Erzeugungsbudget. Claude Code v2.1.212 (Juli 2026) führte integrierte Schutzmaßnahmen gegen außer Kontrolle geratene Schleifen ein: Sitzungen sind standardmäßig auf 200 erzeugte subagents begrenzt (CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION zur Anpassung, /clear setzt den Zähler zurück), während für WebSearch höchstens 200 Aufrufe pro Sitzung gelten (CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION).69 Das seit v1.0 in diesem Abschnitt als benutzerseitiges Skript dokumentierte Erzeugungsbudget wird nun von der Plattform bereitgestellt – eine Bestätigung des Budgetmodells gegenüber dem Tiefenmodell. Beachten Sie jedoch die Dimensionierung: 200 Erzeugungsvorgänge liegen um eine Größenordnung über dem Budget von 12 Agenten in der obigen Konfiguration. Die nativen Obergrenzen sind Sicherungen gegen eine wirklich außer Kontrolle geratene Schleife und keine auf Ihre Architektur abgestimmten Budgets. Behalten Sie den benutzerseitigen Schutz für Budgets pro Elternagent, die Erfassung der Tiefe und Begrenzungen bei, die dem tatsächlichen Verhalten Ihrer Orchestrierung entsprechen. Die Plattformgrenze fängt ab, was dennoch durchrutscht.

Die integrierten Schutzmaßnahmen decken jetzt vier Achsen ab. Drei davon sichern genau die Werte ab, die der benutzerseitige Schutz in diesem Abschnitt erfasst: die Gesamtzahl der Erzeugungsvorgänge pro Sitzung (v2.1.212, Obergrenze 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION), die Verschachtelungstiefe (CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH, derzeit standardmäßig 3 und nachweislich instabil) sowie die gleichzeitige Ausführung (v2.1.217, standardmäßig 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS – eine einzelne Nachricht kann nicht mehr unbegrenzt viele Hintergrundagenten auffächern).7884 v2.1.219 ergänzt eine vierte Achse, die benutzerseitige Schutzmaßnahmen üblicherweise nicht abdeckten: die Orchestrierungsbreite, also die Anzahl von Agenten, die ein einzelner geplanter Workflow enthalten darf. Sie wird als Standardrichtlinie „aim for fewer than 15 agents“ ausgeliefert und lässt sich über workflowSizeGuideline in jeder Einstellungsdatei festlegen (siehe den nachfolgenden Abschnitt zum Workflow Tool). Das Erzeugungsbudget wird damit auf jeder Achse, für die es konzipiert wurde, sowie auf einer zusätzlichen Achse durch die Plattform abgesichert.

Der Hinweis zur Dimensionierung gilt weiterhin, allerdings nicht für alle Werte gleichermaßen. 200 Erzeugungsvorgänge und 20 gleichzeitig aktive Agenten sind Sicherungen – eine Größenordnung über dem Budget von 12 Agenten für die Deliberation in der obigen Konfiguration. Sie sollen außer Kontrolle geratene Schleifen abfangen und nicht die Architektur formen. Die Richtlinie zur Breite ist der erste native Wert in der Größenordnung eines echten Budgets: 15 Agenten pro Workflow liegen unmittelbar neben den hier empfohlenen 12. Den Plattformstandard zu übernehmen, kostet Sie daher nichts; wenn Sie davon abweichen, sollte es dafür einen konkreten Grund geben. Legen Sie die drei Sicherungen auf Werte fest, die Sie begründen können, und richten Sie die Breitenrichtlinie an der tatsächlich beabsichtigten Form Ihrer Orchestrierung aus.

Agent Teams (Research Preview)

Agent Teams koordinieren mehrere Claude Code-Instanzen, die unabhängig voneinander arbeiten, über eine gemeinsame Mailbox und Aufgabenliste kommunizieren und die Erkenntnisse der jeweils anderen hinterfragen können:5

Komponente Rolle
Teamleitung Hauptsitzung, die das Team erstellt, Teammitglieder erzeugt und die Arbeit koordiniert
Teammitglieder Separate Claude Code-Instanzen, die zugewiesene Aufgaben bearbeiten
Aufgabenliste Gemeinsame Arbeitselemente, die Teammitglieder übernehmen und abschließen (dateibasierte Sperrung)
Mailbox Nachrichtensystem für die Kommunikation zwischen Agenten

Aktivieren mit: export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Wann Agent Teams und wann subagents verwendet werden sollten:

Subagents Agent Teams
Kommunikation Geben nur Ergebnisse zurück Teammitglieder senden sich direkt Nachrichten
Koordination Der Hauptagent verwaltet die gesamte Arbeit Gemeinsame Aufgabenliste mit Selbstkoordination
Am besten geeignet für Klar umrissene Aufgaben, bei denen nur das Ergebnis zählt Komplexe Arbeiten, die Diskussion und Zusammenarbeit erfordern
Token-Kosten Niedriger Höher (jedes Teammitglied besitzt ein eigenes Kontextfenster)

Agent View und Zielschleifen (Mai 2026)

Claude Code v2.1.139 führte Agent View ein, eine Research-Preview-Oberfläche, die mit claude agents gestartet wird und laufende, blockierte sowie abgeschlossene Claude Code-Sitzungen auf einem Bildschirm anzeigt.4243 Die offizielle Dokumentation beschreibt sie als Möglichkeit, viele Sitzungen zu beauftragen und zu verwalten, die Tätigkeit jeder Sitzung einzusehen und zu erkennen, welche davon Eingaben durch Bediener benötigen.43 Damit erhält die Multi-Agent-Arbeit eine operative Übersicht, die abschließende Zusammenfassungen nicht bieten können.

Verwenden Sie Agent View, wenn Sie ein Subagent- oder Team-Muster in den produktiven Einsatz überführen: Prüfen Sie, welche Sitzungen blockiert sind, welche noch laufen und ob die Arbeitsverteilung der vorgesehenen Architektur entspricht. Betrachten Sie die Ansicht jedoch nicht als Qualitätsnachweis. Sie schafft Beobachtbarkeit; ob die Arbeit solide ist, entscheiden weiterhin Tests, Prüf-Gates und evidenzbasierte Berichte.

Dieselbe Version führte /goal ein. Damit lässt sich eine Abschlussbedingung festlegen, während Claude über mehrere Durchläufe hinweg weiterarbeitet, bis sie erfüllt ist – auch bei interaktiver Nutzung, mit -p und über Remote Control.42 Behandeln Sie /goal als sitzungsbezogene Abschlussschleife und nicht als Ersatz für deterministische Gates. Es hilft dabei, einen Agenten auf ein Ziel auszurichten. Tests, Zitationsprüfungen, Deployment-Prüfungen und security hooks sollten jedoch weiterhin auf Befehlen oder Skripten beruhen, wenn ein Fehler den Ablauf blockieren muss.

Workflow Tool (v2.1.147+)

Claude Code v2.1.147 ergänzt ein standardmäßig deaktiviertes Workflow tool für deterministische Multi-Agent-Orchestrierung. Aktivieren Sie es mit CLAUDE_CODE_WORKFLOWS=1.52 Aus architektonischer Sicht ist das bedeutsam, weil Claude Code dadurch ein integriertes Orchestrierungsprimitiv für Abläufe erhält, die zuvor eigene Dispatch-Skripte, Mailbox-Zustände und Konventionen zur Koordination von subagents erforderten.

Entfernen Sie deshalb nicht den umgebenden harness. Ein Workflow kann die Ausführung strukturieren, ersetzt aber nicht Ihr Sicherheitsmodell. Behalten Sie PreToolUse- und PostToolUse-hooks als blockierende Ebene bei, verwenden Sie weiterhin Erzeugungs- oder Workflow-Schrittbudgets gegen unkontrollierte Breite, halten Sie den Dateisystemzustand prüfbar und trennen Sie abschließende Evidenzberichte von der Selbsteinschätzung des Modells. In der Praxis bedeutet das: Workflow bestimmt die Form der Orchestrierung; hooks, Tests und Prüf-Gates bestimmen, was als wahr gilt.

Dynamische Workflows bringen jetzt eine Vorgabe zur Breite mit (v2.1.219). Dynamische Workflows verwenden standardmäßig eine Richtlinie mittlerer Größe – „aim for fewer than 15 agents“. Weitere Größen und eine uneingeschränkte Option stehen unter Dynamic workflow size in /config zur Verfügung; die aktuelle Richtlinie wird außerdem in der Statuszeile des laufenden Workflows angezeigt.84 Der Wert ist eine Empfehlung und wird nicht erzwungen: Er lenkt den Planer, statt einen zu breiten Plan zu blockieren. Konfigurationswürdig ist vor allem der Bereitstellungsmechanismus: Der neue Einstellungsschlüssel workflowSizeGuideline kann in jeder Einstellungsdatei festgelegt werden – einschließlich verwalteter und projektspezifischer Einstellungen – und ist seit v0.3.219 in den Einstellungstypen von TypeScript SDK enthalten. Dadurch lässt sich die Orchestrierungsbreite auf Team- oder Organisationsebene standardisieren, statt von jedem Bediener neu ermittelt zu werden.85 Legen Sie den Wert auf Projektebene so fest, dass er widerspiegelt, in wie viele Einheiten sich die Arbeit Ihrer Codebasis tatsächlich zerlegen lässt. Zwei Hinweise für Bediener: Der entsprechende Eintrag in /config wird ausgeblendet, solange eine Einstellungsdatei den Wert vorgibt. Das ist zwar korrekt, wirkt ohne Kenntnis des Grundes jedoch wie eine fehlende Einstellung. Außerdem lenkt die Richtlinie den Planer, statt die Ausführung zu blockieren, und gehört daher in die Kategorie Form, nicht in die Kategorie Sicherheit. Für außer Kontrolle geratene Breite ist weiterhin die Erzeugungsobergrenze zuständig.

Behalten Sie im Blick, dass dies eine vierte Achse der integrierten Schutzmaßnahmen darstellt – die Orchestrierungsbreite neben Erzeugungszahl, Verschachtelungstiefe und gleichzeitiger Ausführung – und zugleich die erste, die Anthropic auf eine plausible Arbeitsgröße statt auf eine Notfallgrenze ausgelegt hat. 15 Agenten pro Workflow liegen in derselben Größenordnung wie das seit v1.0 in diesem Leitfaden verwendete Deliberation-Budget von 12 Agenten. Wenn sich der Plattformstandard und Ihr eigenes Budget aus unterschiedlichen Richtungen annähern, kommt das einer unabhängigen Bestätigung dieser Zahlen so nahe wie möglich.

Sitzungs-Forking und automatisch im Hintergrund ausgeführtes MCP (Juli 2026)

Claude Code v2.1.212 gestaltete zwei Orchestrierungsprimitive neu.69 /fork erstellt nun aus dem aktuellen Konversationszustand eine neue Hintergrundsitzung – der abgezweigte Verlauf wird unabhängig ausgeführt, während die ursprüngliche Sitzung weiterarbeitet. Das bisherige sitzungsinterne Verhalten wurde in /subtask umbenannt. Diese Unterscheidung ist für das Orchestrierungsdesign relevant: /subtask ist ein begrenzter Abstecher innerhalb des Lebenszyklus einer Sitzung; mit /fork lässt sich dagegen unkompliziert eine parallele Hintergrundsitzung mit vollständigem übernommenem Kontext erzeugen, was eher einem Spawn in einer Ralph-Schleife als einem Subagent entspricht. Wenn Ihre harness-Skripte davon ausgingen, dass /fork innerhalb derselben Sitzung bleibt, verteilen sie nun Arbeit in den Hintergrund.

Dieselbe Version verschiebt langsame MCP-Aufrufe automatisch in den Hintergrund: Ein Aufruf eines MCP tools, der länger als zwei Minuten dauert, wird automatisch im Hintergrund weiter ausgeführt. Den Schwellenwert können Sie mit CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS anpassen.69 Ein langsamer MCP-Server hält die agentische Schleife dadurch nicht mehr an. Das bedeutet allerdings auch, dass „das Tool hat ein Ergebnis geliefert“ und „der Durchlauf wurde fortgesetzt“ nicht mehr dasselbe Ereignis sind. hooks oder Skripte, die eine synchrone Fertigstellung von MCP voraussetzten, sollten deshalb auf das Tool-Ergebnis und nicht auf die Grenze des Durchlaufs reagieren.

Für die Headless-Orchestrierung führte v2.1.211 --forward-subagent-text (Umgebungsvariable: CLAUDE_CODE_FORWARD_SUBAGENT_TEXT) ein, wodurch Assistenztexte von subagents an die stream-json-Ausgabe weitergeleitet werden.69 Ein Koordinatorprozess, der den Stream des übergeordneten Agenten verarbeitet, kann den Fortschritt von subagents nun direkt beobachten, statt Transkripte abzufragen oder auf die abschließende Zusammenfassung zu warten – die beobachtbare Ergänzung zu standardmäßig im Hintergrund ausgeführten subagents. v2.1.219 erweiterte dies über die erste Ebene hinaus: Auch subagents, die auf Tiefe 2 oder tiefer erzeugt werden, erscheinen nun im weitergeleiteten Stream, gekennzeichnet durch die tool_use-ID des erzeugenden Agent.84 Auf genau diesem Schlüssel sollten Sie aufbauen. Da die Verschachtelung wieder standardmäßig aktiviert ist, wäre ein flacher Stream aus Subagent-Texten mehrdeutig. Anhand der ID kann ein Koordinator erkennen, welcher Elternagent welches Kind erzeugt hat, und so den Delegationsbaum aus dem Stream rekonstruieren, statt ihn ableiten zu müssen. Wurde Ihr Stream-Verbraucher nur für eine Ebene von subagents entwickelt, empfängt er nun Texte von Agenten, deren Existenz ihm bisher unbekannt war. Gruppieren Sie deshalb nach der erzeugenden tool_use-ID, statt anzunehmen, dass jede weitergeleitete Zeile zu einem direkten Kindagenten gehört.


Multi-Agent-Orchestrierung

Single-Agent-KI-Systeme haben einen strukturellen blinden Fleck: Sie können ihre eigenen Annahmen nicht infrage stellen.7 Multi-Agent-Deliberation erzwingt eine unabhängige Bewertung aus mehreren Perspektiven, bevor eine Entscheidung festgeschrieben wird.

Tool-übergreifende Orchestrierung (April 2026): Google hat am 7. April Scion als Open Source veröffentlicht — einen Multi-Agent-Hypervisor, der Claude Code, Gemini CLI und andere „Deep Agents” als nebenläufige Prozesse ausführt, jeder mit isoliertem Container, Git-Worktree und eigenen Credentials. Läuft lokal, im Hub oder auf Kubernetes. Explizite Philosophie: „Isolation statt Beschränkungen” — Agenten laufen mit hoher Autonomie innerhalb von Grenzen, die auf der Infrastrukturebene durchgesetzt werden, nicht im Prompt.25 Dies erweitert das Argument der Subagent-Isolation direkt auf verschiedene Tool-Anbieter. Wenn Ihr Workflow Claude und OpenAI-Modelle umfasst, ist Scion die erste echte Referenzimplementierung für tool-übergreifende Subagenten mit Worktree- und Credential-Isolation pro Agent.

Debatte ist keine Wunderwaffe: Der Forschungscluster M3MAD-Bench (Anfang 2026) hat festgestellt, dass Multi-Agent-Debatten ein Plateau erreichen und durch irreführenden Konsens unterlaufen werden können — gültige Argumente verlieren, wenn andere Agenten selbstbewusst die falsche Antwort behaupten.26 Tool-MAD verbessert dies, indem jedem Agenten heterogener Tool-Zugriff gewährt wird und in der Judge-Phase Faithfulness-/Relevance-Scores verwendet werden. Wenn Sie debattenartige Orchestrierung aufbauen, investieren Sie in (a) Tool-Heterogenität pro Agent und (b) quantitatives Judge-Scoring, anstatt anzunehmen, dass mehr Agenten = bessere Antworten bedeutet.

Managed Multiagent Orchestration und Outcomes (Public Beta)

Wenn Sie die unten beschriebene Deliberations-Infrastruktur nicht selbst aufbauen möchten, ist Multiagent Orchestration am 6. Mai 2026 in Claude Managed Agents in die Public Beta gegangen.35 Laut Anthropic: „Wenn die Arbeit für einen einzelnen Agenten zu umfangreich ist, um sie gut zu erledigen, ermöglicht Multiagent Orchestration einem Lead-Agenten, die Aufgabe in Teile aufzubrechen und jedes davon an einen Spezialisten mit eigenem Modell, Prompt und eigenen Tools zu delegieren.”35 Spezialisten „arbeiten parallel auf einem gemeinsamen Dateisystem und tragen zum Gesamtkontext des Lead-Agenten bei.”35

Tracing ist sofort einsatzbereit. Laut Anthropic: „Sie können außerdem jeden Schritt in der Claude-Konsole nachverfolgen: welcher Agent was wann und warum getan hat — was Ihnen vollständige Transparenz darüber gibt, wie Ihre Aufgabe delegiert und ausgeführt wurde.”35

Die ergänzende Public-Beta-Funktion ist Outcomes. Laut Anthropic: „Sie schreiben eine Rubric, die beschreibt, wie Erfolg aussieht, und der Agent arbeitet darauf hin. Ein separater Grader bewertet die Ausgabe in seinem eigenen Kontextfenster anhand Ihrer Kriterien, sodass er nicht durch das Reasoning des Agenten beeinflusst wird.”35 Dies ist die Managed-Service-Variante des Two-Gate-Validierungsmusters, das später in diesem Abschnitt dokumentiert wird: Die Rubric ersetzt das handgeschriebene Gate, der separate Grader ersetzt den Konsens-Validator.

Selbstgehostete Deliberation (dieser Abschnitt) Managed Multiagent + Outcomes
Spezialisten-Routing Sie schreiben die Spawn-Logik Lead-Agent zerlegt die Aufgabe in Teile
Validierung Two-Gate-Hooks + Konsens-Scoring Rubric + Grader in separatem Kontext
Tracing Sie instrumentieren es selbst Claude-Konsole
Am besten geeignet für Muster, die volle Kontrolle oder eine spezifische Tool-Komposition erfordern Standard-Delegationsmuster, bei denen die Validierungs-Rubric den Vertrag darstellt
Preisgestaltung Nur Token- + Harness-Kosten Standard-Tokens plus die Stundenrate für Managed-Agents-Sitzungen (Basis vom 8. April; siehe 23)

Selbstgehostete Deliberation bleibt die richtige Antwort, wenn die Validierung in Ihre eigene Hook-Oberfläche integriert werden muss (PreToolUse-Blocking, Exit-Code-Semantik, eigene Dispatcher) oder wenn die Harness ohne externe Abhängigkeiten laufen muss. Managed Multiagent ist die richtige Antwort, wenn Standard-Delegation plus Rubric-Grading der Vertrag ist, den Sie tatsächlich benötigen.

Minimal tragfähige Deliberation

Beginnen Sie mit 2 Agenten und 1 Regel: Agenten müssen unabhängig bewerten, bevor sie die Arbeit des jeweils anderen sehen.7

Decision arrives
  |
  v
Confidence check: is this risky, ambiguous, or irreversible?
  |
  +-- NO  -> Single agent decides (normal flow)
  |
  +-- YES -> Spawn 2 agents with different system prompts
             Agent A: "Argue FOR this approach"
             Agent B: "Argue AGAINST this approach"
             |
             v
             Compare findings
             |
             +-- Agreement with different reasoning -> Proceed
             +-- Genuine disagreement -> Investigate the conflict
             +-- Agreement with same reasoning -> Suspect herding

Dieses Muster deckt 80 % des Nutzens ab. Alles Weitere bringt nur inkrementelle Verbesserungen.

Der Confidence-Trigger

Nicht jede Aufgabe braucht Deliberation. Ein Modul für Konfidenz-Scoring bewertet vier Dimensionen:17

  1. Mehrdeutigkeit – Hat die Anfrage mehrere gültige Interpretationen?
  2. Domänenkomplexität – Erfordert sie spezialisiertes Wissen?
  3. Tragweite – Ist die Entscheidung umkehrbar?
  4. Kontextabhängigkeit – Erfordert sie ein Verständnis des breiteren Systems?

Der Score wird drei Stufen zugeordnet:

Stufe Schwellenwert Aktion
HIGH 0,85+ Ohne Deliberation fortfahren
MEDIUM 0,70–0,84 Mit protokolliertem Konfidenz-Hinweis fortfahren
LOW Unter 0,70 Vollständige Multi-Agent-Deliberation auslösen

Der Schwellenwert passt sich dem Aufgabentyp an. Sicherheitsentscheidungen erfordern einen Konsens von 0,85. Dokumentationsänderungen benötigen lediglich 0,50. Damit wird Over-Engineering bei einfachen Aufgaben verhindert, während riskante Entscheidungen geprüft werden.7

Die State Machine

Sieben Phasen, jede vom Abschluss der vorherigen abhängig:7

IDLE -> RESEARCH -> DELIBERATION -> RANKING -> PRD_GENERATION -> COMPLETE
                                                                    |
                                                              (or FAILED)

RESEARCH: Unabhängige Agenten untersuchen das Thema. Jeder Agent erhält eine andere Persona (Technical Architect, Security Analyst, Performance Engineer und weitere). Kontextisolation stellt sicher, dass Agenten während der Recherche die Erkenntnisse der anderen nicht sehen können.

DELIBERATION: Agenten sehen alle Forschungsergebnisse und generieren Alternativen. Der Debate-Agent identifiziert Konflikte. Der Synthesis-Agent kombiniert nicht widersprüchliche Erkenntnisse.

RANKING: Jeder Agent bewertet jeden vorgeschlagenen Ansatz anhand von 5 gewichteten Dimensionen:

Dimension Gewicht
Impact 0,25
Quality 0,25
Feasibility 0,20
Reusability 0,15
Risk 0,15

Die Two-Gate-Validierungsarchitektur

Zwei Validierungs-Gates fangen Probleme in unterschiedlichen Phasen ab:7

Gate 1: Consensus-Validierung (PostToolUse-Hook). Läuft unmittelbar nach Abschluss jedes Deliberations-Agenten: 1. Die Phase muss mindestens RANKING erreicht haben 2. Mindestens 2 Agenten abgeschlossen (konfigurierbar) 3. Der Consensus-Score erreicht den aufgaben-adaptiven Schwellenwert 4. Wenn ein Agent abweichender Meinung war, müssen die Bedenken dokumentiert sein

Gate 2: Pride Check (Stop-Hook). Läuft, bevor die Sitzung geschlossen werden kann: 1. Vielfältige Methoden: mehrere einzigartige Personas vertreten 2. Widerspruchstransparenz: Abweichungen haben dokumentierte Gründe 3. Komplexitätsbehandlung: mindestens 2 Alternativen generiert 4. Consensus-Konfidenz: klassifiziert als stark (über 0,85) oder moderat (0,70–0,84) 5. Verbesserungsnachweis: Die Endkonfidenz übersteigt die Anfangskonfidenz

Zwei Hooks an unterschiedlichen Lifecycle-Punkten passen dazu, wie Fehler tatsächlich auftreten: Manche sind sofort sichtbar (schlechter Score), andere schleichend (geringe Vielfalt, fehlende Dokumentation von Abweichungen).7

Warum Übereinstimmung gefährlich ist

Charlan Nemeth erforschte den Minderheits-Widerspruch von 1986 bis zu ihrem Buch In Defense of Troublemakers aus dem Jahr 2018. Gruppen mit Andersdenkenden treffen bessere Entscheidungen als Gruppen, die schnell zu einer Einigung gelangen. Der Andersdenkende muss nicht recht haben. Allein der Akt des Widerspruchs zwingt die Mehrheit, Annahmen zu prüfen, die sie sonst übergehen würde.18

Wu et al. testeten, ob LLM-Agenten wirklich debattieren können, und stellten fest, dass Agenten ohne strukturelle Anreize für Widerspruch unabhängig von der Korrektheit zu der initial selbstbewusstesten Antwort konvergieren.19 Liang et al. identifizierten als Grundursache die „Degeneration-of-Thought”: Sobald ein LLM Vertrauen in eine Position aufgebaut hat, kann Selbstreflexion keine neuen Gegenargumente mehr erzeugen, weshalb Multi-Agent-Bewertung strukturell notwendig ist.20

Unabhängigkeit ist die entscheidende Designvorgabe. Zwei Agenten, die dieselbe Deployment-Strategie mit Einsicht in die Erkenntnisse des jeweils anderen bewerteten, vergaben Scores von 0,45 und 0,48. Dieselben Agenten ohne Einsicht: 0,45 und 0,72. Die Lücke zwischen 0,48 und 0,72 ist der Preis des Herding-Effekts.7

Vorgetäuschte Übereinstimmung erkennen

Ein Modul zur Konformitätserkennung verfolgt Muster, die darauf hindeuten, dass Agenten ohne echte Bewertung zustimmen:7

Score-Clustering: Wenn jeder Agent auf einer 10-Punkte-Skala innerhalb von 0,3 Punkten bewertet, deutet dies auf gemeinsame Kontextkontamination statt auf unabhängige Bewertung hin. Als fünf Agenten, die ein Authentifizierungs-Refactoring bewerteten, das Sicherheitsrisiko durchgängig zwischen 7,1 und 7,4 einstuften, streuten die Scores nach erneutem Durchlauf mit frischer Kontextisolation auf 5,8–8,9.

Boilerplate-Widerspruch: Agenten, die die Bedenken-Sprache der anderen kopieren, anstatt unabhängige Einwände zu formulieren.

Fehlende Minderheitsperspektiven: Einstimmige Zustimmung von Personas mit konkurrierenden Prioritäten (ein Security Analyst und ein Performance Engineer sind selten in allem einer Meinung).

Der Konformitätsdetektor erfasst die offensichtlichen Fälle (etwa 10–15 % der Deliberationen, in denen Agenten zu schnell konvergieren). Für die verbleibenden 85–90 % bieten die Consensus- und Pride-Check-Gates eine ausreichende Validierung.

Was bei der Deliberation nicht funktioniert hat

Freie Debattenrunden. Drei Runden Hin-und-Her-Text zu einer Diskussion über Datenbankindizierung erzeugten 7.500 Tokens an Debatte. Runde 1: echter Widerspruch. Runde 2: erneut formulierte Positionen. Runde 3: identische Argumente in anderen Worten. Strukturiertes Dimensions-Scoring ersetzte die freie Debatte, senkte die Kosten um 60 % und verbesserte gleichzeitig die Ranking-Qualität.7

Einzelnes Validierungs-Gate. Die erste Implementierung führte einen einzigen Validierungs-Hook am Sitzungsende aus. Ein Agent schloss die Deliberation mit einem Consensus-Score von 0,52 ab (unter dem Schwellenwert), arbeitete dann 20 Minuten an unabhängigen Aufgaben weiter, bevor der Sitzungsende-Hook das Versagen meldete. Die Aufteilung in zwei Gates (eines bei Aufgabenabschluss, eines am Sitzungsende) fing dieselben Probleme an unterschiedlichen Lifecycle-Punkten ab.7

Kosten der Deliberation

Jeder Recherche-Agent verarbeitet etwa 5.000 Tokens Kontext und erzeugt 2.000–3.000 Tokens an Erkenntnissen. Bei 3 Agenten sind das 15.000–24.000 zusätzliche Tokens pro Entscheidung. Bei 10 Agenten etwa 50.000–80.000 Tokens.7

Bei aktuellen Opus-Preisen kostet eine 3-Agenten-Deliberation ungefähr 0,68–0,90 USD. Eine 10-Agenten-Deliberation kostet 2,25–3,00 USD. Das System löst Deliberation bei etwa 10 % der Entscheidungen aus, sodass die amortisierten Kosten über alle Entscheidungen hinweg 0,23–0,30 USD pro Sitzung betragen. Ob sich das lohnt, hängt davon ab, was eine schlechte Entscheidung kostet.

Wann zu deliberieren ist

Deliberieren Auslassen
Sicherheitsarchitektur Tippfehler in der Dokumentation
Datenbankschema-Design Variablen-Umbenennungen
API-Vertragsänderungen Aktualisierungen von Log-Meldungen
Deployment-Strategien Umformulierung von Kommentaren
Dependency-Upgrades Aktualisierungen von Test-Fixtures

CLAUDE.md-Design

CLAUDE.md ist eine Betriebsrichtlinie für einen AI-Agenten, keine README für Menschen.21 Der Agent muss nicht verstehen, warum Sie Conventional Commits verwenden. Er muss den exakten auszuführenden Befehl kennen und wissen, wann eine Aufgabe als „erledigt“ gilt.

Die Rangfolge

Speicherort Geltungsbereich Geteilt Anwendungsfall
Vom Unternehmen verwaltete Einstellungen Organisation Alle Benutzer Unternehmensstandards
./CLAUDE.md oder ./.claude/CLAUDE.md Projekt Über git Teamkontext
~/.claude/CLAUDE.md Benutzer Alle Projekte Persönliche Präferenzen
./CLAUDE.local.md Projektlokal Nie Persönliche Projektnotizen
.claude/rules/*.md Projektregeln Über git Kategorisierte Richtlinien
~/.claude/rules/*.md Benutzerregeln Alle Projekte Persönliche Richtlinien

Rules-Dateien werden automatisch geladen und liefern strukturierten Kontext, ohne CLAUDE.md zu überladen.6

Was ignoriert wird

Diese Muster führen nachweislich zu keiner beobachtbaren Änderung des Agentenverhaltens:21

Prosaabsätze ohne Befehle. „Wir legen Wert auf sauberen, gut getesteten Code“ ist Dokumentation, keine Betriebsanweisung. Der Agent liest dies und schreibt anschließend Code ohne Tests, weil eine konkrete Handlungsanweisung fehlt.

Mehrdeutige Anweisungen. „Seien Sie bei Datenbankmigrationen vorsichtig“ ist keine Einschränkung. „Führen Sie vor dem Anwenden von Migrationen alembic check aus. Brechen Sie ab, wenn der Downgrade-Pfad fehlt.“ ist eine.

Widersprüchliche Prioritäten. „Arbeiten Sie schnell und liefern Sie zügig aus“ plus „Stellen Sie eine umfassende Testabdeckung sicher“ plus „Halten Sie die Laufzeit unter 5 Minuten“ plus „Führen Sie vor jedem Commit vollständige Integrationstests aus.“ Der Agent kann nicht alle vier Vorgaben gleichzeitig erfüllen und überspringt deshalb standardmäßig die Überprüfung.21

Styleguides ohne Durchsetzungsmechanismus. „Befolgen Sie den Google Python Style Guide“ gibt dem Agenten ohne ruff check --select D keine Möglichkeit, die Einhaltung zu überprüfen.

Was funktioniert

Befehlsorientierte Anweisungen:

## Build and Test Commands
- Install: `pip install -r requirements.txt`
- Lint: `ruff check . --fix`
- Format: `ruff format .`
- Test: `pytest -v --tb=short`
- Type check: `mypy app/ --strict`
- Full verify: `ruff check . && ruff format --check . && pytest -v`

Abschlussdefinitionen:

## Definition of Done
A task is complete when ALL of the following pass:
1. `ruff check .` exits 0
2. `pytest -v` exits 0 with no failures
3. `mypy app/ --strict` exits 0
4. Changed files have been staged and committed
5. Commit message follows conventional format: `type(scope): description`

Aufgabenorientierte Abschnitte:

## When Writing Code
- Run `ruff check .` after every file change
- Add type hints to all new functions

## When Reviewing Code
- Check for security issues: `bandit -r app/`
- Verify test coverage: `pytest --cov=app --cov-fail-under=80`

## When Releasing
- Update version in `pyproject.toml`
- Run full suite: `pytest -v && ruff check . && mypy app/`

Eskalationsregeln:

## When Blocked
- If tests fail after 3 attempts: stop and report the failing test with full output
- If a dependency is missing: check `requirements.txt` first, then ask
- Never: delete files to resolve errors, force push, or skip tests

Reihenfolge beim Verfassen

Wenn Sie bei null anfangen, fügen Sie die Abschnitte in dieser Prioritätsreihenfolge hinzu:21

  1. Build- und Testbefehle (der Agent benötigt diese, bevor er etwas Nützliches tun kann)
  2. Definition of Done (verhindert fälschlich als abgeschlossen gemeldete Aufgaben)
  3. Eskalationsregeln (verhindert destruktive Umgehungslösungen)
  4. Aufgabenorientierte Abschnitte (reduziert die Verarbeitung irrelevanter Anweisungen)
  5. Verzeichnisbezogene Geltungsbereiche (bei Monorepos: hält dienstspezifische Anweisungen voneinander getrennt)

Lassen Sie Stilpräferenzen zunächst aus, bis die ersten vier Punkte funktionieren.

Die Plattform prüft Ihre CLAUDE.md jetzt für Sie. Seit den Releases von Anfang Juli 2026 (v2.1.203–v2.1.206) analysiert /doctor CLAUDE.md und schlägt vor, Inhalte zu kürzen, die das Modell selbst aus der Codebasis ableiten kann – erneut aufgeführte Verzeichnisstrukturen, bereits im Code erkennbare Framework-Konventionen und Befehlslisten, die Package-Skripte duplizieren.68 Dies bestätigt aus erster Hand die These dieses Abschnitts: Anweisungen rechtfertigen ihren Token-Verbrauch, indem sie festhalten, was der Agent nicht ableiten kann (Richtlinien, Schwellenwerte, Abschlussdefinitionen), statt Informationen zu wiederholen, die er von der Festplatte lesen kann. Führen Sie /doctor aus, nachdem CLAUDE.md erheblich gewachsen ist, und betrachten Sie die Kürzungsvorschläge als Ausgangspunkt. Behalten Sie jedoch Betriebsregeln bei, die möglicherweise als „ableitbar“ markiert werden, wenn es sich um tragende Einschränkungen statt um Beschreibungen handelt.

Dateiimporte

Referenzieren Sie andere Dateien innerhalb von CLAUDE.md:

See @README.md for project overview
Coding standards: @docs/STYLE_GUIDE.md
API documentation: @docs/API.md
Personal preferences: @~/.claude/preferences.md

Importsyntax: relativ (@docs/file.md), absolut (@/absolute/path.md) oder aus dem Home-Verzeichnis (@~/.claude/file.md). Maximale Tiefe: 5 Importebenen.6

Werkzeugübergreifende Kompatibilität von Anweisungen

AGENTS.md ist ein offener Standard, den alle wichtigen AI-Coding-Tools unterstützen.21 Wenn Ihr Team mehrere Tools verwendet, schreiben Sie AGENTS.md als kanonische Quelle und spiegeln Sie die relevanten Abschnitte in werkzeugspezifische Dateien:

Tool Native Datei Liest AGENTS.md?
Codex CLI AGENTS.md Ja (nativ)
Cursor .cursor/rules Ja (nativ)
GitHub Copilot .github/copilot-instructions.md Ja (nativ)
Amp AGENTS.md Ja (nativ)
Windsurf .windsurfrules Ja (nativ)
Claude Code CLAUDE.md Nein (separates Format)

Die Muster aus AGENTS.md – befehlsorientiert, mit definiertem Abschluss und aufgabenorientiert – funktionieren unabhängig vom Tool in jeder Anweisungsdatei. Pflegen Sie keine parallelen Anweisungssätze, die mit der Zeit auseinanderdriften. Schreiben Sie eine maßgebliche Quelle und spiegeln Sie deren Inhalte.

Hinweise zur Codex-Parität

Codex verfügt inzwischen über vollwertige Entsprechungen für die wichtigsten harness-Ebenen, doch die Migration ist eine Übertragung von Mustern, keine bloße Dateikopie. Codex liest vor Arbeitsbeginn AGENTS.md und kombiniert dabei globale Vorgaben aus ~/.codex mit Projektanweisungen und verschachtelten Repository-Anweisungen.31 Codex skills verwenden dasselbe SKILL.md-Grundmodell mit schrittweiser Offenlegung: Codex beginnt mit dem Namen, der Beschreibung und dem Dateipfad des skill und lädt ihn erst vollständig, wenn es sich für dessen Verwendung entscheidet.32 Codex bietet außerdem native hooks, in Plugins gebündelte hooks, verwaltete hooks, Unterstützung für MCP und explizite subagent-Workflows.3334

Codex v0.138.0–v0.139.0 hat diese AGENTS.md-Erkennung für nicht triviale Arbeitsbereiche robuster gemacht: Das Laden erfolgt nun über die Dateisystemabstraktion der Umgebung und bewahrt während der Erkennungssuche logische Pfade, sodass selbst bei einem Remote-Dateisystem oder einer durch symbolische Links strukturierten Verzeichnisstruktur die richtige Datei ausgewählt wird.61 Dies ist immer dann relevant, wenn Ihre kanonische AGENTS.md die maßgebliche Quelle ist und der Agent mit einem eingebundenen, in einem Container materialisierten oder über symbolische Links bereitgestellten Checkout arbeitet – also genau in den Fällen, in denen eine naive Pfadsuche unbemerkt die falsche oder gar keine Anweisungsdatei auswählt. Wenn Sie eine maßgebliche AGENTS.md über mehrere Dienste hinweg spiegeln, sollten Sie diese Version als Mindestvoraussetzung dafür betrachten, darauf zu vertrauen, dass der Agent tatsächlich die von Ihnen verfasste Datei geladen hat.

Codex v0.141.0 hat anschließend den Remote-Ausführungspfad selbst robuster gemacht: Remote-Executors stellen nun Verbindungen über authentifizierte, Ende-zu-Ende-verschlüsselte Noise-relay-Kanäle her (Control Plane und Executor müssen dem Relay zwischen ihnen nicht mehr vertrauen), plattformübergreifende Remote-Ausführungen bewahren das native Arbeitsverzeichnis und die Shell des Executors, und TLS akzeptiert P-521-Zertifikatsignaturen für Unternehmens-Proxys.65 Wenn Ihre Orchestrierung Codex-Executors über eine Netzwerkgrenze hinweg steuert, markiert dies den Unterschied zwischen der Annahme eines vertrauenswürdigen Relays und einer Ende-zu-Ende-verschlüsselten Verbindung – behandeln Sie es als Mindeststandard für jede Remote-Executor-Topologie.

Die Release-Reihe vom Juli 2026 zeigt, wie sich beide Laufzeitumgebungen aus entgegengesetzten Richtungen denselben Grundbausteinen annähern.72 In Codex v0.143.0 werden MCP-Tools standardmäßig über Toolsuche geladen – Toolschemas werden zurückgestellt und bei Bedarf abgerufen, statt vorab in den Kontext geladen zu werden. Dies entspricht demselben Muster zum verzögerten Laden von Tools, das Claude Code über seine ToolSearch-Oberfläche bereitstellt, und ist in beiden Laufzeitumgebungen die richtige Antwort auf einen aufgeblähten Kontext bei einer hohen Anzahl von MCP-Tools. Codex v0.144.0 fügt einen writes-App-Genehmigungsmodus hinzu: Schreibgeschützte Aktionen werden ohne Nachfrage ausgeführt, während Schreibvorgänge eine Genehmigung erfordern. Dabei handelt es sich um einen tatsächlich neuen Berechtigungsmodus zwischen „read-only“ und „auto-approve“, für den die Modusliste von Claude Code keine direkte Entsprechung bietet (am nächsten kommt der plan-Modus, der Schreibvorgänge vollständig blockiert, statt für jeden Schreibvorgang einzeln nachzufragen). Mit demselben Release erreicht die interaktive MCP-Authentifizierung die allgemeine Verfügbarkeit. Und v0.144.5 erweitert die Erkennung gefährlicher Befehle, entsprechend den Schutzmechanismen gegen destruktive Befehle, die Claude Code mit v2.1.183 und v2.1.208 eingeführt hat. Für das Laufzeitumgebungen übergreifende harness-Design ist diese Annäherung entscheidend: Verzögertes Laden von Tools, abgestufte Schreibgenehmigungen und die Erkennung gefährlicher Befehle auf Absichtsebene werden zu Grundvoraussetzungen statt zu Unterscheidungsmerkmalen einzelner Anbieter.

Codex v0.145.0 treibt diese Annäherung an zwei Fronten weiter voran.76 Die optionale multi-agent V2-Oberfläche wurde stabilisiert: Modelle, Reasoning-Stufen und Parallelität von subagents sind nun konfigurierbar, und die zuvor entfernten Agentenrollen wurden wiederhergestellt – die Codex-Entsprechung zur Konfiguration von Modell und Aufwand pro subagent im Frontmatter von .claude/agents/. Zudem wurde /import zu einer vollständigen harness-übergreifenden Migration ausgebaut: Über den mit v0.140.0 eingeführten Import von Claude Code-Einstellungen hinaus migriert der Befehl nun Einstellungen aus Claude Code und Cursor – einschließlich MCP-Servern, Plugins, Sitzungen, Befehlen und projektspezifischen Erinnerungen. Für Teams, die beide Laufzeitumgebungen einsetzen, sinken die Migrationskosten zwischen ihnen in einer Richtung immer weiter. Die auf Claude Code aufgebauten harness-Ebenen – Server, skills als Befehle und memory – werden zunehmend zu portablem Zustand statt zu Anbieterbindung.

Die praktische Zuordnung:

Claude Code-harness-Ebene Codex-Entsprechung Migrationsregel
CLAUDE.md / .claude/rules/ AGENTS.md / verschachtelte AGENTS.override.md Halten Sie Befehle und Abschlussregeln kanonisch; teilen Sie sie nur auf, wenn sich der Verzeichnisgeltungsbereich tatsächlich unterscheidet
.claude/skills/<name>/SKILL.md .agents/skills/<name>/SKILL.md oder Plugin-skill Übertragen Sie wiederverwendbare Workflows, formulieren Sie die Beschreibungen jedoch entsprechend der Aktivierungsformulierung und dem Budget von Codex neu
.claude/settings.json hooks Codex config.toml, Plugin-hooks oder verwaltete Requirements-hooks Übertragen Sie zuerst deterministische gates; testen Sie jeden hook mit echten Tool-Ereignissen, bevor Sie ihn breit aktivieren
.claude/agents/*.md ~/.codex/agents/*.toml, .codex/agents/*.toml oder integrierte worker / explorer Übertragen Sie nur Agenten mit wiederkehrendem Nutzen; bevorzugen Sie explizite Delegation, da Codex-subagents ausdrücklich aufgerufen werden
Plugins Codex-Plugins Verwenden Sie Plugins als Verteilungseinheit, nachdem sich lokale hooks und skills bewährt haben

Der entscheidende Unterschied: Claude subagents können anhand ihrer Beschreibungen automatisch ausgewählt werden, während Codex subagent-Workflows derzeit als explizit dokumentiert. Daher sind skills und hooks in Codex die richtige Standardeinstellung für dauerhaft aktives harness-Verhalten; subagents eignen sich für gezielte parallele Arbeit, Reviews und Erkundungen.

Ihre Anweisungen testen

Überprüfen Sie, ob der Agent Ihre Anweisungen tatsächlich liest und befolgt:

# Check active instructions
claude --print "What instructions are you following for this project?"

# Verify specific rules are active
claude --print "What is your definition of done?"

Der Härtetest: Bitten Sie den Agenten, Ihre Build-Befehle zu erläutern. Kann er sie nicht wortgetreu wiedergeben, sind die Anweisungen entweder zu ausführlich (Inhalte wurden aus dem Kontext verdrängt), zu vage (der Agent kann keine konkreten Handlungsanweisungen extrahieren) oder werden nicht erkannt. Die Analyse von GitHub mit 2.500 Repositorys ergab, dass unpräzise Formulierungen die meisten Fehler verursachen.21


Produktionsmuster

Opus-4.7-Muster für langfristige Aufgaben (April 2026)

Claude Opus 4.7 (16. April 2026) wurde mit spezifischen Fähigkeiten veröffentlicht, die verändern, wogegen ein harness Schutz bieten muss:29

  • Robustheit bei Tool-Fehlern: Opus 4.7 setzt die Arbeit nach Tool-Fehlern fort, durch die Sitzungen mit Opus 4.6 abgebrochen wurden. Defensive Retry-Wrapper im subagent-Code können Sie reduzieren, aber nicht vollständig entfernen. Behalten Sie die Schutzmechanismen auf hook-Ebene bei; kürzen Sie dagegen in Prompts Hilfskonstruktionen wie „Wenn das Tool fehlschlägt, versuchen Sie es dreimal erneut“.
  • xhigh-Aufwandsstufe (nur Opus 4.7): Liegt zwischen high und max. Empfohlener Standard für Programmieraufgaben und agentische Workloads. Bei lang laufenden subagents übertrifft xhigh die Stufe high deutlich, während die Token-Kosten unterproportional steigen. Für besonders anspruchsvolle einmalige Schlussfolgerungen bleibt max die richtige Wahl; für länger andauernde Aufgaben eignet sich xhigh besser.
  • Token-Budgetobergrenze: Über output_config.task_budget für jeden Agentenlauf konfigurierbar (Beta-Header task-budgets-2026-03-13). Das Modell sieht einen fortlaufenden Countdown und passt den Arbeitsumfang kontrolliert an das Budget an, statt unerwartet keine Tokens mehr zur Verfügung zu haben. Verwenden Sie dies für agentische Schleifen, bei denen die Token-Ausgaben vorhersehbar bleiben sollen, ohne die Qualität bei kurzen Prompts zu beeinträchtigen.
  • Erkennung impliziter Anforderungen: Das erste Claude-Modell, das Tests zu „impliziten Anforderungen“ besteht – es erkennt also, wenn die wörtliche Anfrage des Benutzers nicht vollständig beschreibt, was tatsächlich benötigt wird. Dadurch verliert der Abschnitt mit „Klärungsregeln“ in CLAUDE.md an Bedeutung. Falls Ihre CLAUDE.md aus 200 Zeilen mit Schutzregeln nach dem Muster „Berücksichtigen Sie außerdem X, wenn der Benutzer nach Y fragt“ besteht, entfernen Sie diejenigen, die das Modell inzwischen nativ abdeckt.

Worktree-Basis, Sandbox-Pfade und Administratoreinstellungen (7. Mai 2026)

Claude Code v2.1.133 ergänzt vier Einstellungen auf Administratorebene, die für produktive harnesses relevant sind:39

Einstellung Werte Funktion
worktree.baseRef fresh (Standard) | head Neue Worktrees zweigen wieder von origin/<default> ab. Inkompatible Rücknahme des Standardverhaltens aus v2.1.128, wo das lokale HEAD verwendet wurde. Legen Sie worktree.baseRef: "head" fest, wenn Ihr Team darauf angewiesen ist, dass nicht gepushte Commits in neuen Worktrees verfügbar sind.
sandbox.bwrapPath absoluter Pfad Legt den Speicherort der Bubblewrap-Binärdatei auf Linux-/WSL-Hosts fest, auf denen sie nicht über $PATH erreichbar ist oder auf denen Sie eine mitgelieferte Version verwenden.
sandbox.socatPath absoluter Pfad Dasselbe Prinzip gilt für die von der Sandbox-Netzwerkfunktion verwendete socat-Binärdatei.
parentSettingsBehavior 'first-wins' (Standard) | 'merge' Steuerung auf Administratorebene dafür, wie SDK managedSettings mit übergeordneten Unternehmens-/Teameinstellungen kombiniert werden. Mit 'merge' kann eine untergeordnete Sitzung Einstellungen erben und erweitern; bei 'first-wins' bleiben die übergeordneten Einstellungen maßgeblich.

Auf die Rücknahme bei worktree.baseRef sollten Benutzer besonders hingewiesen werden: Agenten, die sich auf das Verhalten der Versionen v2.1.128 bis v2.1.132 verlassen haben – Worktrees zweigten vom lokalen HEAD ab –, verlieren in neuen Worktrees den Zugriff auf nicht gepushte Arbeit, sofern sie dieses Verhalten nicht ausdrücklich wieder aktivieren.

OTel-Feedbackumfrage für die Observability in Unternehmen (8. Mai 2026)

Claude Code v2.1.136 ergänzte CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, um die Qualitätsumfrage während der Sitzung für Unternehmen wieder zu aktivieren, die Antworten über OpenTelemetry erfassen.40 Leitet Ihre Organisation OTel-Ereignisse an einen zentralen Observability-Stack weiter, nimmt diese Umgebungsvariable die Umfrage wieder in den Datenpfad auf. Dadurch durchläuft das Qualitätssignal dieselbe Pipeline wie Latenz- und Fehlermetriken. Behandeln Sie die Funktion als Opt-in: Standardmäßig bleibt die Umfrage unterdrückt, was für Installationen ohne OTel die richtige Einstellung ist.

Unternehmens-Launcher und Leistung bei MCP-Skalierung (Juli 2026)

Zwei Änderungen in v2.1.207 sind für Produktivbereitstellungen relevant.68 Mit CLAUDE_CODE_PROCESS_WRAPPER können verwaltete Umgebungen den Claude Code-Prozess über eine unternehmenseigene Wrapper-Binärdatei starten – die vorgesehene Integrationsstelle für Endpoint-Agenten, Richtlinienprüfungen beim Start und Umgebungen, in denen jeder Prozess unter einem vorgeschriebenen Supervisor ausgeführt werden muss. Falls Ihr Unternehmen dies bisher mithilfe von Shell-Aliassen oder abgezweigten Launcher-Skripten nachgebildet hat, steht nun eine offiziell unterstützte Schnittstelle zur Verfügung.

Dieselbe Version senkte den Laufzeitaufwand dort, wo harnesses ihn am stärksten spüren: bis zu 7-mal schnellere Tool-Nutzungsrunden in Sitzungen mit einer hohen Anzahl von MCP-Tools sowie 79-mal kleinere Sitzungsprotokolle.68 Dadurch wird die Empfehlung unter Kosten als Architektur abgeschwächt, aber nicht umgekehrt: Für zustandslose einmalige Operationen ist CLI-first weiterhin überlegen. Ein harness mit Dutzenden MCP-Tools zahlt jedoch nicht mehr den Rundenzuschlag vom Frühjahr, und die Speicherung von Sitzungsprotokollen ist bei langen autonomen Läufen kein versteckter Kostenfaktor mehr.

Der quality loop

Ein obligatorischer Prüfprozess für alle nicht trivialen Änderungen:

  1. Implementieren - Schreiben Sie den Code
  2. Prüfen - Lesen Sie jede Zeile erneut. Finden Sie Tippfehler, Logikfehler und unklare Abschnitte
  3. Evaluieren - Führen Sie das evidence gate aus. Prüfen Sie Muster, Grenzfälle und Testabdeckung
  4. Verfeinern - Beheben Sie jedes Problem. Verschieben Sie nichts auf „später“
  5. Gesamtbild prüfen - Kontrollieren Sie Integrationspunkte, Importe und angrenzenden Code auf Regressionen
  6. Wiederholen - Schlägt ein Kriterium des evidence gate fehl, kehren Sie zu Schritt 4 zurück
  7. Berichten - Führen Sie die Änderungen und deren Überprüfung auf und nennen Sie konkrete Belege

Das evidence gate

„Ich glaube“ und „es sollte“ sind keine Belege. Nennen Sie Dateipfade, Testergebnisse oder konkreten Code.

Kriterium Erforderlicher Beleg
Folgt den Mustern der Codebasis Nennen Sie das Muster und die Datei, in der es vorkommt
Einfachste funktionierende Lösung Erklären Sie, welche einfacheren Alternativen verworfen wurden und warum
Grenzfälle berücksichtigt Führen Sie konkrete Grenzfälle auf und erläutern Sie deren jeweilige Behandlung
Tests erfolgreich Fügen Sie die Testausgabe mit 0 Fehlern ein
Keine Regressionen Nennen Sie die geprüften Dateien/Funktionen
Löst das tatsächliche Problem Beschreiben Sie den Bedarf des Benutzers und wie die Lösung ihn erfüllt

Können Sie für eine Zeile keinen Beleg vorlegen, kehren Sie zum Verfeinern zurück.22

Menschliche Merge-Befugnis

Eine arXiv-Studie vom Mai 2026 zu 29.585 Lebenszyklen von Pull Requests durch KI-Agenten trennt die operative Handlungsfähigkeit von der Merge-Governance.47 Die nützliche Architekturlehre daraus ist einfach: Agenten können Arbeiten beginnen, Branches weiterführen, PRs öffnen, Arbeit prüfen und Risiken zusammenfassen, während die Merge-Befugnis eine separate Governance-Grenze bleibt.

Machen Sie diese Grenze im harness ausdrücklich sichtbar. Lassen Sie Agenten PRs vorbereiten und Belege sammeln; für Merges, Releases und destruktive Repository-Operationen sollte eine menschliche Genehmigung erforderlich sein, sofern die Organisation nicht über eine separat geprüfte Automatisierungsrichtlinie verfügt. Wird ein Merge automatisiert ausgeführt, bewahren Sie Protokolle auf, die zwischen dem ausführenden System und der Person oder Richtlinie unterscheiden, die den Vorgang autorisiert hat.

Muster für die Fehlerbehandlung

Atomare Dateischreibvorgänge. Wenn mehrere Agenten gleichzeitig in dieselbe Zustandsdatei schreiben, wird JSON beschädigt. Schreiben Sie zunächst in .tmp-Dateien und führen Sie anschließend ein atomares mv aus. Das Betriebssystem garantiert, dass mv innerhalb desselben Dateisystems atomar ausgeführt wird.17

# Atomic state update
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"

Wiederherstellung nach Zustandsbeschädigungen. Wird der Zustand beschädigt, stellt dieses Wiederherstellungsmuster ihn aus sicheren Standardwerten neu her, statt abzustürzen:16

if ! jq -e '.depth' "$RECURSION_STATE_FILE" &>/dev/null; then
    # Corrupted state file, recreate with safe defaults
    echo '{"depth": 0, "agent_id": "root", "parent_id": null}' > "$RECURSION_STATE_FILE"
    echo "- Recursion state recovered (was corrupted)"
fi

Die Bash-Falle bei ((VAR++)). ((VAR++)) gibt den Exit-Code 1 zurück, wenn VAR den Wert 0 hat, da 0++ zu 0 ausgewertet wird, was Bash als falsch behandelt. Ist set -e aktiviert, wird das Skript dadurch beendet. Verwenden Sie stattdessen VAR=$((VAR + 1)).16

Klassifizierung des blast radius

Klassifizieren Sie jede Agentenaktion nach ihrem blast radius und sichern Sie sie entsprechend ab:2

Klassifizierung Beispiele Gate
Lokal Dateischreibvorgänge, Testläufe, Linting Automatisch genehmigen
Gemeinsam Git-Commits, Erstellung von Branches Warnen und fortfahren
Extern Git-Push, API-Aufrufe, Bereitstellungen Menschliche Genehmigung erforderlich

Remote Control – die Verbindung mit lokalem Claude Code über einen beliebigen Browser oder eine mobile App – verwandelt das „externe“ Gate von einer blockierenden Wartephase in eine asynchrone Benachrichtigung. Während Sie die vorherige Aufgabe auf Ihrem Mobiltelefon prüfen, arbeitet der Agent an der nächsten weiter.2

Aufgabenspezifikation für autonome Läufe

Wirksame autonome Aufgaben umfassen drei Elemente: Ziel, Abschlusskriterien und Kontextverweise:16

OBJECTIVE: Implement multi-agent deliberation with consensus validation.

COMPLETION CRITERIA:
- All tests in tests/test_deliberation_lib.py pass (81 tests)
- post-deliberation.sh validates consensus above 70% threshold
- recursion-guard.sh enforces spawn budget (max 12 agents)
- No Python type errors (mypy clean)

CONTEXT:
- Follow patterns in lib/deliberation/state_machine.py
- Consensus thresholds in configs/deliberation-config.json
- Spawn budget model: agents inherit budget, not increment depth

Die Kriterien müssen maschinell überprüfbar sein: Bestehen oder Fehlschlagen von Tests, Linter-Ausgabe, HTTP-Statuscodes und Prüfungen auf vorhandene Dateien. Bei einer frühen Aufgabe, in der der Agent „erfolgreiche Tests schreiben“ sollte, entstanden assert True und assert 1 == 1. Technisch korrekt. Praktisch wertlos.16

Qualität der Kriterien Beispiel Ergebnis
Vage „Tests sind erfolgreich“ Agent schreibt triviale Tests
Messbar, aber unvollständig „Tests sind erfolgreich UND Abdeckung >80 %“ Tests decken Zeilen ab, prüfen aber nichts Sinnvolles
Umfassend „Alle Tests sind erfolgreich UND Abdeckung >80 % UND keine Typfehler UND Linter ohne Beanstandungen UND jede Testklasse prüft ein eigenes Modul“ Produktionsreifes Ergebnis

Zu beachtende Fehlermodi

Fehlermodus Beschreibung Prävention
Abkürzungsspirale Überspringen von Schritten des quality loop, um schneller fertig zu werden evidence gate verlangt Belege für jedes Kriterium
Konfidenzillusion „Ich bin zuversichtlich“, ohne eine Überprüfung auszuführen Unsicherheitssprache in Abschlussberichten untersagen
Scheinüberprüfung Behauptung, die Tests seien erfolgreich, ohne sie in dieser Sitzung ausgeführt zu haben Stop hook führt Tests unabhängig aus
Aufgeschobene technische Schulden TODO/FIXME/HACK in committetem Code PreToolUse hook für Git-Commits durchsucht den Diff
Dateisystemverschmutzung Verwaiste Artefakte aus abgebrochenen Iterationen Bereinigungsschritt in den Abschlusskriterien

Konkreter Sitzungsablauf

Ein Sitzungsprotokoll aus einem autonomen Lauf, bei dem ein PRD mit 5 Stories verarbeitet wurde:2

  1. SessionStart wird ausgelöst. Der dispatcher fügt das aktuelle Datum, die Projekterkennung, philosophische Vorgaben und die Initialisierung der Kostenverfolgung ein. Fünf hooks, insgesamt 180 ms.

  2. Der Agent liest das PRD und plant die erste Story. UserPromptSubmit wird ausgelöst. Der dispatcher fügt den aktiven Projektkontext und den Ausgangswert für die Sitzungsabweichung ein.

  3. Der Agent ruft Bash auf, um Tests auszuführen. PreToolUse:Bash wird ausgelöst. Prüfung der Zugangsdaten, Sandbox-Validierung und Projekterkennung. 90 ms. Die Tests werden ausgeführt. PostToolUse:Bash wird ausgelöst: Aktivitäts-Heartbeat wird protokolliert, Abweichung geprüft.

  4. Der Agent ruft Write auf, um eine Datei zu erstellen. PreToolUse:Write wird ausgelöst: Prüfung des Dateiumfangs. PostToolUse:Write wird ausgelöst: Lint-Prüfung und Commit-Verfolgung.

  5. Der Agent schließt die Story ab. Stop wird ausgelöst. Das Qualitäts-Gate prüft: Hat der Agent Belege genannt? Enthält der Bericht Unsicherheitssprache? Gibt es TODO-Kommentare im Diff? Schlägt eine Prüfung fehl, wird Exit 2 zurückgegeben und der Agent arbeitet weiter.

  6. Unabhängige Überprüfung: Ein neuer Agent führt die Testsuite aus, ohne sich auf den Selbstbericht des vorherigen Agenten zu verlassen.

  7. Drei Code-Review-Agenten werden parallel gestartet. Jeder prüft den Diff unabhängig. Kennzeichnet ein Reviewer etwas als CRITICAL, wird die Story wieder in die Warteschlange gestellt.

  8. Die Story besteht. Die nächste Story wird geladen. Der Zyklus wiederholt sich für alle 5 Stories.

Über 5 Stories hinweg insgesamt ausgelöste hooks: ca. 340. Gesamtdauer der hooks: ca. 12 Sekunden. Dieser Mehraufwand verhinderte in einem einzigen nächtlichen Lauf drei Lecks von Zugangsdaten, einen destruktiven Befehl und zwei unvollständige Implementierungen.

Fallstudie: Nächtliche Verarbeitung von PRD

Ein produktiver harness verarbeitete 12 PRDs (47 Stories) in 8 nächtlichen Sitzungen. Die Metriken vergleichen die ersten 4 PRDs (minimaler harness: nur CLAUDE.md) mit den letzten 8 (vollständiger harness: hooks, skills, Qualitäts-Gates und Multi-Agent-Review).

Metrik Minimal (4 PRDs) Vollständiger harness (8 PRDs) Veränderung
Lecks von Zugangsdaten 2 gelangten in Git 7 vor dem Commit blockiert Von reaktiv zu präventiv
Destruktive Befehle 1 Force-Push auf main 4 blockiert Durchsetzung über Exit 2
Rate falscher Abschlüsse 35 % fehlgeschlagene Tests 4 % evidence gate + Stop hook
Überarbeitungsrunden/Story 2,1 0,8 skills + quality loop
Kontextverschlechterung 6 Vorfälle 1 Vorfall Dateisystemspeicher
Token-Mehraufwand 0 % ca. 3,2 % Vernachlässigbar
Hook-Dauer/Story 0 s ca. 2,4 s Vernachlässigbar

Wegen der beiden Lecks von Zugangsdaten mussten API-Schlüssel rotiert und nachgelagerte Dienste geprüft werden: etwa 4 Stunden für die Reaktion auf die Vorfälle. Der Mehraufwand des harness, der vergleichbare Vorfälle verhinderte, betrug 2,4 Sekunden Bash-Ausführung pro Story. Die Rate falscher Abschlüsse sank von 35 % auf 4 %, weil der Stop hook die Tests unabhängig ausführte, bevor der Agent den Abschluss melden durfte.


Sicherheitsüberlegungen

Die fünf Prinzipien vertrauenswürdiger Agents (Anthropic, April 2026)

Anthropic veröffentlichte am 9. April 2026 einen formalen Rahmen für die Vertrauenswürdigkeit von Agents.27 Die fünf Prinzipien entsprechen dem Konzept des evidence gate in diesem Leitfaden und erweitern es:

Prinzip Bedeutung Wie dieses harness es erfüllt
Menschliche Kontrolle Sinnvolle menschliche Eingriffsmöglichkeit an jedem Entscheidungspunkt hooks kontrollieren Tool-Aufrufe; blockierendes PreCompact; Auto-Mode-Klassifikator als Prüfebene
Werteausrichtung Aktionen des Agents folgen der Absicht des Benutzers und keinen benachbarten Zielen CLAUDE.md als explizite Spezifikation der Absicht; skills zur Eingrenzung der Fähigkeiten
Sicherheit Widerstandsfähigkeit gegen bösartige Eingaben und Prompt Injection Sandbox + Ablehnungsregeln + Eingabevalidierung auf der hook-Ebene
Transparenz Überprüfbare Aufzeichnungen von Entscheidungen und Aktionen hook-Protokollierung; Sitzungstranskripte; Spuren von skill-Aufrufen
Datenschutz Angemessene Datenverarbeitung und Governance Bereinigung von Anmeldedaten aus Umgebungsvariablen; Erkennung von Geheimnissen auf der hook-Ebene

Anthropic spendete außerdem MCP an die Agentic AI Foundation der Linux Foundation und schloss sich damit AGENTS.md an, das nun gemeinsam mit OpenAI, Google, Cursor, Factory und Sourcegraph verwaltet wird. Standards für die Interoperabilität von Agents sind damit anbieterneutral.27

Zustandsloser Turn und selbst gemeldete Identität von MCP (Juli 2026). Die MCP-Spezifikation befindet sich mitten im Übergang zu einem zustandslosen Kern (SEP-2575), bei dem der zustandsbehaftete Initialisierungs-Handshake entfällt, über den zuvor die Serveridentität übertragen wurde. Eine am 16. Juli zusammengeführte Änderung des Spezifikationsentwurfs (PR #3002) stellt die Identität als optionale Oberfläche wieder her: Server können in der Antwort unter _meta ein io.modelcontextprotocol/serverInfo-Objekt übermitteln, während clientInfo bei Anfragen optional wird.71 Für die Sicherheit ist entscheidend, was die Spezifikation über Vertrauen sagt: Diese Identität ist selbst gemeldet und nicht verifiziert – sie dient ausschließlich der Anzeige und Protokollierung – und SOLLTE NICHT als Grundlage für Sicherheitsentscheidungen verwendet werden. Wenn Ihr harness Zulassungslisten, Berechtigungsregeln oder protokollbasierte Audits an den deklarierten Namen eines MCP-Servers knüpft, ist dieser Name eine Behauptung und kein Berechtigungsnachweis. Binden Sie das Vertrauen an den Transport und die Konfiguration – also daran, welchen Server Sie an welchem Endpunkt konfiguriert haben –, niemals an die Selbstauskunft des Servers. Die endgültige Überarbeitung der zustandslosen Spezifikation ist für den 28. Juli 2026 vorgesehen. Rechnen Sie damit, dass sich die Protokolldetails in diesem Abschnitt mit der nächsten Aktualisierung festigen.

Tools für skill-Sandboxing: Für Teams, die skills als Angriffsfläche betrachten, führt SandyClaw von Permiso (veröffentlicht am 2. April 2026) skills in einer dedizierten Sandbox aus und liefert evidenzgestützte Bewertungen anhand von Sigma-/YARA-/Nova-/Snort-Erkennungen. Es ist das erste Produkt in der Kategorie der skill-Sandboxes.28

Die Sandbox

Claude Code unterstützt einen optionalen Sandbox-Modus, der über settings.json oder den Befehl /sandbox aktiviert wird und Netzwerkzugriffe sowie Dateisystemoperationen mithilfe einer Isolation auf Betriebssystemebene einschränkt (Seatbelt unter macOS, Bubblewrap unter Linux). Ist die Sandbox aktiviert, kann das Modell weder beliebige Netzwerkanfragen stellen noch auf Dateien außerhalb des Projektverzeichnisses zugreifen. Ohne Sandboxing verwendet Claude Code ein berechtigungsbasiertes Modell, bei dem Sie einzelne Tool-Aufrufe genehmigen oder ablehnen.13

Sicherheitsuntergrenze vom Mai 2026. Claude Code v2.1.149 behob eine Umgehung der Arbeitsverzeichnisberechtigungen in PowerShell, mehrere Lücken bei der Berechtigungsanalyse von PowerShell-Zulassungsregeln und veralteten Variablen sowie einen Fehler in der Schreibzulassungsliste der Git-Worktree-Sandbox, durch den statt nur der gemeinsam genutzten internen Git-Daten das gesamte Stammverzeichnis des Haupt-Repositorys abgedeckt wurde.53 Wenn Ihr harness PowerShell oder durch Worktrees isolierte Agents zulässt, sollten Sie v2.1.149+ als Untergrenze betrachten und Shell-Regeln eng fassen. Weitreichende PowerShell(*)-Regeln und Schreibausnahmen für das gesamte Repository sind Abkürzungen bei der Orchestrierung, keine Sicherheitsgrenzen.

Verschärfung der Sandbox von OpenAI Agents SDK (v0.17.0, 8. Mai 2026). Auf der OpenAI-Seite verschärfte openai-agents-python v0.17.0 eine parallele Grenze: LocalFile.src und LocalDir.src müssen nun innerhalb des Materialisierungsverzeichnisses base_dir liegen – dem aktuellen Arbeitsverzeichnis des SDK-Prozesses zum Zeitpunkt der Manifestanwendung –, sofern die Quelle nicht ausdrücklich über Manifest.extra_path_grants mit SandboxPathGrant freigegeben wurde.41 Relative lokale Quellen werden ausgehend von base_dir aufgelöst; absolute Pfade müssen sich bereits darin befinden oder über eine Freigabe verfügen. Dadurch wird eine lokale Artefaktgrenze geschlossen: Frühere Versionen erlaubten es Manifesten, beliebige Hostpfade in einen Sandbox-Arbeitsbereich zu übernehmen. Migration: Deklarieren Sie vertrauenswürdige Host-Stammverzeichnisse auf Manifestebene mit SandboxPathGrant(path=..., read_only=True) für schreibgeschützte Einbindungen. Behandeln Sie extra_path_grants als vertrauenswürdige Anwendungskonfiguration; befüllen Sie Freigaben niemals anhand von Modellausgaben oder nicht vertrauenswürdigen Manifesteingaben.

Nachgezogene Untergrenze für OpenAI Agents SDK (v0.17.3). Die Versionsreihe 0.17.1–0.17.3 ergänzte weitere Härtungen für Sandbox und Sitzungen: Begrenzungen bei der Archivextraktion, Validierung von GitRepo-Unterpfaden, verständlichere Fehler von Sandbox-Anbietern, Ausschluss von Anmeldedaten für Einhängepunkte aus Sandbox-Befehlen, Ablehnung relativer Stammverzeichnisse von Sandbox-Arbeitsbereichen sowie die Behandlung terminaler Zustände der Vercel-Sandbox.54 Wenn Sie von OpenAI gehostete oder anbietergestützte Sandboxes statt ausschließlich Claude Code-hooks verwenden, sollten Sie 0.17.3 als aktuelle Untergrenze für die Muster in diesem Abschnitt betrachten.

Drei produktübergreifende Eindämmungsmuster (Anthropic, Mai 2026)

Der Engineering-Beitrag „How we contain Claude across products“ von Anthropic (25. Mai 2026) formuliert aus Anbietersicht die Prinzipien, die dieser Abschnitt schrittweise vermittelt: die oben beschriebene Sandbox auf Einstellungsebene, die Untergrenze für die Worktree-Isolation und die Haltung, alles als nicht vertrauenswürdig zu behandeln.81 Sein zentraler Ansatz besteht darin, die Stärke der Eindämmung auf die Produktoberfläche abzustimmen. Diese Zuordnung ist selbst die Lehre: Es gibt nicht das eine richtige Isolationsdesign, sondern nur eine Isolation, die dazu passt, wer die Vorgänge überwacht und was schiefgehen kann.

  • Kurzlebige gVisor-Container (claude.ai). Die serverseitige Ausführung erfolgt in gVisor-Containern auf isolierter Infrastruktur mit einem kurzlebigen Dateisystem pro Sitzung. Das Bedrohungsmodell betrifft die Isolation von Infrastruktur und Mandanten. Der Rechner des Benutzers ist niemals erreichbar, sodass lokal nichts geschützt werden muss.
  • Betriebssystem-Sandboxing mit menschlicher Kontrolle (Claude Code). Das im vorigen Sandbox-Absatz beschriebene Muster, als Richtlinie formuliert: Seatbelt unter macOS und Bubblewrap unter Linux, wobei Lesezugriffe erlaubt, Schreibzugriffe auf den Arbeitsbereich beschränkt und Netzwerkzugriffe standardmäßig verweigert werden. Was die Grenze nicht abdeckt, genehmigt der Mensch. Anthropic veröffentlichte die Laufzeitumgebung als Open Source (sandbox-runtime), damit die Grenze überprüfbar ist. Der Beitrag benennt die Schwachstelle offen: Rund 93 % der Berechtigungsabfragen werden genehmigt. Der Auto-Mode-Klassifikator – der etwa 83 % übereifriger Verhaltensweisen vor der Ausführung erkennt und zugleich die Zahl der Genehmigungsabfragen um 84 % reduziert – existiert genau deshalb, weil Genehmigungsmüdigkeit eine Sicherheitseigenschaft und keine UX-Beschwerde ist. Das entspricht der Haltung einer Prüfebene, die dieser Leitfaden seit v2.1.193 verfolgt.
  • Versiegelte VMs (Claude Cowork). Vollständige virtuelle Maschinen auf Plattform-Hypervisoren – Apple Virtualization Framework unter macOS, HCS unter Windows –, in die nur der ausgewählte Arbeitsbereich und der Ordner .claude eingebunden werden; alle übrigen Hostbereiche bleiben unsichtbar. Anmeldedaten gelangen niemals in die VM: Sie verbleiben im Schlüsselbund des Hosts, während jede Sitzung ein eingeschränktes, unabhängig widerrufbares Token erhält. Ein defensiver MITM-Proxy innerhalb der VM setzt dies durch und lässt ausschließlich Anfragen passieren, die das für die VM bereitgestellte Sitzungstoken enthalten. Ein vom Angreifer eingebetteter Schlüssel wird an der Grenze abgewiesen, weil nur die VM die Herkunft kennt.

Die übertragbare Komponente dieser Taxonomie sind die zugrunde liegenden Designprinzipien. Dämmen Sie zuerst auf Umgebungsebene ein und steuern Sie erst danach auf Modellebene: Jede probabilistische Abwehr besitzt eine von null verschiedene Fehlerquote. Deshalb müssen deterministische Grenzen auffangen, was die Steuerung auf Prompt-Ebene übersieht – das Argument dieses Leitfadens, dass hooks die Ausführung garantieren, hier nochmals vom Anbieter formuliert. Stimmen Sie die Isolationsstärke auf die Kontrollmöglichkeiten des Benutzers ab: Ein Entwickler kann einen Bash-Befehl vor der Genehmigung bewerten, ein Wissensarbeiter nicht. Deshalb zeigt Code einen Berechtigungsdialog an, während Cowork eine versiegelte VM erhält. Bevorzugen Sie bewährte Grundbausteine gegenüber eigener Isolationslogik: Hypervisoren, seccomp und Container-Laufzeitumgebungen haben bösartiger Prüfung besser standgehalten als die eigenen Zulassungslisten-Proxys und Konfigurationsparser von Anthropic. Behandeln Sie projektlokale Konfigurationen und Tool-Ausgaben als nicht vertrauenswürdig: Der Beitrag empfiehlt, das Öffnen von Projekten und das Laden von Konfigurationen wie jede eingehende Anfrage aus dem Internet zu behandeln und Tool-Ausgaben als Angriffsfläche zu betrachten, selbst wenn das Tool vertrauenswürdig ist. Dieselbe Haltung wendet dieser Leitfaden auf Nachrichten zwischen Agents, von subagents gelesene Inhalte und die selbst gemeldete Identität von MCP an. Halten Sie Anmeldedaten aus der Sandbox heraus: Verwenden Sie eingeschränkte, widerrufbare Tokens pro Sitzung statt allgemein verfügbarer Schlüssel, die der Agent preisgeben könnte.

Die Einstellungsoberfläche holt beim ersten Prinzip auf (v2.1.219). „Zuerst auf Umgebungsebene eindämmen“ lässt sich leicht befürworten, war jedoch umständlich zu konfigurieren, weil die Sandbox von Claude Code bei allem nachfragte, was ihre Regeln nicht abdeckten. Eine Berechtigungsabfrage ist eine probabilistische Abwehr im Kostüm einer deterministischen Grenze, wie die oben genannte Genehmigungsquote von 93 % eingesteht. sandbox.network.strictAllowlist beseitigt diese Rückfrage beim ausgehenden Datenverkehr: Ist die Einstellung gesetzt, wird die Anfrage eines Sandbox-Befehls an einen nicht zugelassenen Host unmittelbar verweigert, statt eine Abfrage auszulösen.84 Kombinieren Sie dies mit sandbox.filesystem.disabled aus v2.1.216. Gemeinsam ergeben die beiden Einstellungen eine Sicherheitsposition statt einer Ansammlung von Schaltern: Dateisystem- und Netzwerkeindämmung lassen sich unabhängig auswählen, und die Netzwerkeindämmung kann nun deterministisch umgesetzt werden. Für ein unbeaufsichtigtes harness ist Letzteres wichtiger, weil aus einer eingeschleusten Anweisung erst durch ausgehenden Datenverkehr eine Exfiltration wird und der Endzustand der Genehmigungsmüdigkeit darin besteht, dass niemand an der Tastatur sitzt, der müde werden könnte. Der Preis ist der übliche Preis einer deterministischen Grenze: Die Zulassungsliste muss stimmen, und ein vergessener Host scheitert mit einer undurchsichtigen Ablehnung statt einer Rückfrage. Erfassen Sie die Hosts, die Ihre Agents tatsächlich benötigen, und entfernen Sie anschließend die Abfrage.

Nichts davon ersetzt die hook-Ebene; es liegt darunter. Die Eindämmungsmuster bilden die deterministische Untergrenze, und die Historie der Worktree-Durchsetzung in diesem Leitfaden vermittelt dieselbe Lektion im Kleinen: Eine Grenze zählt nur, wenn sie gezielter Umleitung standhält. Die Grundbausteine, die am wahrscheinlichsten standhalten, sind jene, die nicht eigens für diesen Anlass geschrieben wurden.

Berechtigungsgrenzen

Das Berechtigungssystem kontrolliert Operationen auf mehreren Ebenen:

Ebene Steuerung Beispiel
Tool-Berechtigungen Welche Tools verwendet werden dürfen subagent auf Read, Grep und Glob beschränken
Dateiberechtigungen Welche Dateien geändert werden dürfen Schreibzugriffe auf .env und credentials.json blockieren
Befehlsberechtigungen Welche Bash-Befehle ausgeführt werden dürfen rm -rf und git push --force blockieren
Netzwerkberechtigungen Auf welche Domains zugegriffen werden darf Zulassungsliste für Verbindungen zu MCP-Servern

Berechtigungsregeln auf Parameterebene (Juni 2026)

Claude Code v2.1.178 erweiterte Berechtigungsregeln von der Tool-Ebene auf die Parameterebene: Tool(param:value) gleicht die Eingabeparameter eines Tools ab, wobei * als Platzhalter dient. Das kanonische Beispiel lautet Agent(model:opus – eine Regel, die verhindert, dass subagents mit einer bestimmten Modellstufe gestartet werden.63 Architektonisch schließt dies eine Lücke, die sich mit der obigen Tabelle der vier Ebenen nicht ausdrücken ließ: Zuvor konnten Sie ein Tool nur vollständig erlauben oder ablehnen, aber nicht einschränken, wie es aufgerufen wurde. Eine Governance-Richtlinie kann nun deterministisch festlegen: „subagents dürfen gestartet werden, aber nicht auf der Stufe Fable 5“ oder „Bash ist erlaubt, jedoch nicht mit diesem Flag“, statt dies lediglich auf Prompt-Ebene anzufordern.

Eine ergänzende verwaltete Einstellung, enforceAvailableModels (v2.1.175), schränkt die Modellauswahl von oben nach unten ein: Sie legt das Default-Modell fest und verhindert, dass benutzer- oder projektbezogene Einstellungen die verwaltete Zulassungsliste availableModels erweitern.63 Beide Mechanismen ergänzen sich: Die Zulassungsliste bestimmt, welche Stufen in der Sitzung überhaupt verfügbar sind, während Regeln auf Parameterebene festlegen, wie subagents daraus auswählen dürfen. Seit v2.1.196 können Administratoren außerdem in der Organisationskonsole ein organisationsweites Standardmodell festlegen, das in /model als „Org default“ erscheint. So übernimmt eine gesamte Flotte einen verwalteten Standard, ohne dass jeder Betreiber selbst ein Modell fixieren muss – eine Untergrenze, die die Obergrenze der Zulassungsliste ergänzt.

Pfadbezogene Zulassungsregeln werden am Arbeitsverzeichnis verankert (Juli 2026)

Claude Code v2.1.214 beseitigte eine unauffällige Überübereinstimmung bei pfadbezogenen Berechtigungsregeln: Eine Zulassungsregel mit einem einsegmentigen Muster dir/** – etwa Edit(src/**) – genehmigte Änderungen automatisch in jedem Verzeichnis namens src auf jeder Tiefe, einschließlich vendor/some-package/src/ und sämtlicher anderer verschachtelter src/-Verzeichnisse, die der Autor der Regel nie freigeben wollte. Solche Regeln sind nun ausschließlich an <cwd>/dir verankert. Wenn Sie tatsächlich auf jeder Tiefe Übereinstimmungen wünschen, müssen Sie dies mit **/dir/** deklarieren.74 Ablehnungs- und Abfrageregeln behalten absichtlich die bisherige Übereinstimmung auf jeder Tiefe bei. Diese Asymmetrie entspricht einem korrekten ausfallsicheren Design: Eine zu eng greifende Zulassungsregel fällt in einen sicheren Zustand zurück – Sie erhalten eine Abfrage –, während eine zu eng greifende Ablehnungsregel offen versagt und ein gesperrter Pfad durchrutscht. Deshalb wurden Zulassungen strenger, während Ablehnungen breit blieben. Wenn Ihre Einstellungen auf einsegmentige Zulassungsmuster angewiesen sind, um verschachtelte Pfade abzudecken, tun sie dies seit v2.1.214 stillschweigend nicht mehr. Genau so soll die Korrektur funktionieren, dennoch sollten Sie Ihre Zulassungslisten prüfen und die tatsächlich gewünschte Breite erneut deklarieren.

Schutzmaßnahmen für destruktive Befehle im Auto Mode (Juni 2026)

Claude Code v2.1.183 begrenzte den Aktionsradius des Auto Mode bei Operationen, durch die unbemerkt Arbeit verloren geht oder Umgebungen abgebaut werden. Sofern Sie sie in der Sitzung nicht ausdrücklich angefordert haben, blockiert der Auto Mode nun strikt destruktive Git-Operationen (git reset --hard, git checkout -- ., git clean -fd, git stash drop), git commit --amend, wenn der Commit nicht in dieser Sitzung vom Agent erstellt wurde, sowie den Abbau von Infrastruktur (terraform destroy, pulumi destroy, cdk destroy), sofern Sie nicht den konkreten Stack genannt haben.65 Architektonisch ergänzt dies die oben beschriebenen Prüfungen beim Starten und die Regeln auf Parameterebene: Statt zu kontrollieren, welches Tool verwendet oder wie es gestartet wird, kontrolliert es eine kleine Gruppe konkreter irreversibler Befehle anhand der Absicht. Der Agent kann sie weiterhin ausführen, jedoch nur auf ausdrückliche Anweisung und nicht aus eigener Initiative. Bilden Sie dasselbe Prinzip für ein autonomes harness in Ihren eigenen PreToolUse-hooks ab: Befehle, die Zustand zerstören, verdienen eine standardmäßige Ablehnungsregel, die nur durch ein explizites Signal des Betreibers aufgehoben wird.

Juli 2026: Der Auto Mode wird unternehmenstauglich, und eine Abfrage kann nicht mehr umgangen werden. Der Auto Mode erreichte mit v2.1.207 die allgemeine Verfügbarkeit auf Amazon Bedrock, Google Vertex AI und Microsoft Foundry. Die verwaltete Einstellung disableAutoMode dient als Opt-out für Unternehmen. Damit ist die Haltung „Klassifikator als Prüfebene“ auf jeder offiziellen Unternehmensplattform verfügbar, und seine Deaktivierung stellt eine ausdrückliche Governance-Entscheidung statt einer Plattformlücke dar.68 v2.1.208 machte anschließend die Schutzmaßnahme gegen katastrophales Entfernen absolut: Bestätigungsabfragen für katastrophale Löschvorgänge durchbrechen nun sowohl --dangerously-skip-permissions als auch den Auto Mode.68 Das ist ein bemerkenswerter Präzedenzfall – die erste Bestätigung in Claude Code, die von keiner Berechtigungshaltung, einschließlich des expliziten Umgehungs-Flags, außer Kraft gesetzt werden kann. Designs autonomer harnesses, die davon ausgingen, dass --dangerously-skip-permissions buchstäblich keine Abfragen bedeutet, müssen diese eine Ausnahme berücksichtigen. Sie wird genau dort ausgelöst, wo eine unbeaufsichtigte Schleife den größten unwiederbringlichen Schaden verursachen kann.

Schutzmaßnahmen gegen Fälschungen (Juli 2026)

Die Versionen v2.1.203–v2.1.206 schlossen zwei Wege, über die ein Agent seinen eigenen Audit-Pfad fälschen konnte.68 Erstens verhindert eine Auto-Mode-Regel nun Manipulationen an Transkriptdateien: Die Sitzungsaufzeichnung kann nicht länger durch Tool-Aufrufe derselben Sitzung umgeschrieben werden. Zweitens weisen Benachrichtigungen zu Hintergrundaufgaben nun ausdrücklich darauf hin, dass während der Ausführung der Aufgabe keine menschliche Eingabe erfolgte. Letzteres zielt auf einen subtilen Fehler: Ein Modell konnte bei der Zusammenfassung einer Hintergrundaufgabe zuvor eine vermeintliche „Genehmigung“ im Transkript darstellen oder erfinden, die nie stattgefunden hatte, ohne dass die Benachrichtigung dem widersprach. Nun ist die Benachrichtigung selbst der Gegenbeleg.

Die architektonische Lehre lässt sich auf das evidence gate übertragen: Transkripte, Benachrichtigungen und Protokolle sind Audit-Oberflächen, und Audit-Oberflächen dürfen nicht von dem beschreibbar sein, was sie auditieren. Die Plattform setzt dies nun für ihr eigenes Transkript durch. Wenden Sie dieselbe Regel auf Ihr harness an: Evidenzberichte, Testergebnisse und Beratungsprotokolle gehören außerhalb des für das Modell beschreibbaren Pfads.

Abwehr von Prompt Injection

skills und hooks bieten mehrschichtigen Schutz gegen Prompt Injection:

skills mit Tool-Einschränkungen verhindern, dass ein kompromittierter Prompt Schreibzugriff erhält:

allowed-tools: Read, Grep, Glob

PreToolUse-hooks validieren jeden Tool-Aufruf unabhängig davon, wie das Modell angewiesen wurde:

# Block credential file access regardless of prompt
if echo "$FILE_PATH" | grep -qE "\.(env|pem|key|credentials)$"; then
    echo "BLOCKED: Sensitive file access" >&2
    exit 2
fi

Die Isolation von subagents begrenzt den Schadensradius. Ein subagent mit permissionMode: plan kann selbst dann keine Änderungen vornehmen, wenn sein Prompt kompromittiert wurde.

Die Plattformuntergrenze wurde im Juli 2026 angehoben. Claude Code v2.1.210 härtete das Agent tool gegen indirekte Prompt Injection durch Inhalte, die ein subagent gelesen hat. Eine manipulierte Datei, Webseite oder Tool-Ausgabe, die von einem subagent eingelesen wird, kann die Delegationsoberfläche selbst nun schlechter beeinflussen.69 v2.1.211 härtete außerdem das menschliche Glied der Kette: Berechtigungsvorschauen neutralisieren nun bidirektionale Steuerzeichen, Zeichen mit Nullbreite und optisch ähnliche Unicode-Zeichen. Dadurch kann ein Befehl nicht mehr so gestaltet werden, dass er im Genehmigungsdialog harmlos erscheint, während tatsächlich etwas anderes ausgeführt wird.69 Die zweite Korrektur ist besonders wichtig für harnesses, bei denen ein Mensch gerenderte Vorschauen unter Zeitdruck genehmigt – auch die Anzeige war eine Angriffsfläche für Injection. Keine der Änderungen ersetzt die oben beschriebenen Abwehrmaßnahmen auf hook-Ebene; sie erhöhen die darunterliegende Untergrenze.

Agent-Protokolle und Schutzmaßnahmen sind Sicherheitsoberflächen

Zwei Sicherheitshinweise vom Mai 2026 bekräftigen ein Muster: Die Agent-Infrastruktur schafft neue Orte, an denen sensible Inhalte und ausführbare Richtlinien preisgegeben werden oder ausbrechen können. Der GitHub-Sicherheitshinweis GHSA-f3jg-756w-gm35 behandelt ein Problem im Nutzdatenfilter von Gryph Agents, bei dem sensible Inhalte aus Tool-Nutzdaten unter dem standardmäßigen Protokollierungsverhalten in lokalen SQLite-Protokollen verbleiben konnten.45 OSV GHSA-wxxx-gvqv-xp7p behandelt einen Sandbox-Ausbruch aus einer LiteLLM-Schutzmaßnahme für benutzerdefinierten Code in einem administrativ geschützten Proxy-Endpunkt.46

Die Produktionsregel lautet: Behandeln Sie Agent-Transkripte, Tool-Nutzdaten, SQLite-Protokolle und die Ausführung von Schutzmaßnahmen als sensible Infrastruktur. Schwärzen Sie Inhalte vor der Speicherung, legen Sie Aufbewahrungsfristen fest und halten Sie benutzerdefinierten Code für Schutzmaßnahmen in einer überprüfbaren Sandbox. Eine Regel auf Prompt-Ebene, die besagt, dass Geheimnisse nicht protokolliert werden sollen, genügt nicht. Der Protokollierungs- und Schutzmaßnahmenpfad benötigt deterministische Tests.

hook-Sicherheit

HTTP-hooks, die Umgebungsvariablen in Header einsetzen, benötigen eine ausdrückliche Liste allowedEnvVars, um die Exfiltration beliebiger Umgebungsvariablen zu verhindern:13

{
  "type": "http",
  "url": "https://api.example.com/notify",
  "headers": {
    "Authorization": "Bearer $MY_TOKEN"
  },
  "allowedEnvVars": ["MY_TOKEN"]
}

Die Verantwortungsteilung zwischen Mensch und Agent

Sicherheit in Agent-Architekturen erfordert eine klare Aufteilung der Verantwortlichkeiten zwischen Mensch und Agent:17

Verantwortung des Menschen Verantwortung des Agents
Problemdefinition Pipeline-Ausführung
Konfidenzschwellen Ausführung innerhalb der Schwellen
Konsensanforderungen Konsensberechnung
Kriterien des Qualitäts-Gates Durchsetzung des Qualitäts-Gates
Fehleranalyse Fehlererkennung
Architekturentscheidungen Architekturoptionen
Einbringen von Domänenkontext Dokumentationserstellung

Das Muster: Menschen verantworten Entscheidungen, die organisatorischen Kontext, ethisches Urteilsvermögen oder strategische Ausrichtung erfordern. Agents verantworten Entscheidungen, die eine rechnergestützte Suche in großen Möglichkeitsräumen erfordern. hooks setzen diese Grenze durch.

Rekursive Durchsetzung von hooks

hooks werden auch bei Aktionen von subagents ausgelöst.13 Wenn Claude über das Agent tool einen subagent startet, werden Ihre PreToolUse- und PostToolUse-hooks für jedes vom subagent verwendete Tool ausgeführt. Ohne rekursive Durchsetzung der hooks könnte ein subagent Ihre Sicherheits-Gates umgehen. Mit dem Ereignis SubagentStop können Sie beim Abschluss eines subagents Bereinigungs- oder Validierungsschritte ausführen.

Das ist nicht optional. Ein Agent, der einen subagent ohne Ihre Sicherheits-hooks startet, kann einen Force-Push auf main durchführen, Anmeldedatendateien lesen oder destruktive Befehle ausführen, während Ihre Gates untätig die Hauptkonversation überwachen.

Kosten als Architektur

Kosten sind eine Architekturentscheidung und kein nachträglicher betrieblicher Gedanke.2 Es gibt drei Ebenen:

Token-Ebene. Komprimierung des System-Prompts. Entfernen Sie Codebeispiele mit Tutorial-Charakter – das Modell kennt die APIs –, führen Sie doppelte Regeln aus mehreren Dateien zusammen und ersetzen Sie Erklärungen durch Einschränkungen. „Tool-Aufrufe ablehnen, die sensiblen Pfaden entsprechen“ erfüllt denselben Zweck wie eine 15-zeilige Erklärung, warum Anmeldedaten nicht gelesen werden dürfen.

Agent-Ebene. Neue Instanzen statt langer Konversationen. Jede Story in einem autonomen Durchlauf erhält einen neuen Agent mit einem sauberen Kontext. Der Kontext wächst nicht unkontrolliert, weil jeder Agent neu beginnt. Briefing statt memory: Modelle setzen ein klares Briefing besser um, als dass sie durch 30 Schritte angesammelten Kontexts navigieren.

Architekturebene. CLI vor MCP, wenn die Operation zustandslos ist. Ein claude --print-Aufruf für eine einmalige Bewertung kostet weniger und verursacht keinen Verbindungs-Overhead. MCP ist sinnvoll, wenn das Tool persistenten Zustand oder Streaming benötigt.


Entscheidungsframework

Wann welcher Mechanismus zum Einsatz kommt:

Problem Verwenden Warum
Code nach jeder Bearbeitung formatieren PostToolUse hook Muss jedes Mal deterministisch passieren
Gefährliche Bash-Befehle blockieren PreToolUse hook Muss vor der Ausführung blockieren, Exit-Code 2
Sicherheitsreview-Muster anwenden Skill Domänenexpertise, die sich je nach Kontext automatisch aktiviert
Codebasis erkunden, ohne den Kontext zu verschmutzen Explore subagent Isolierter Kontext, gibt nur eine Zusammenfassung zurück
Experimentelles Refactoring sicher ausführen Worktree-isolated subagent Änderungen können verworfen werden, wenn sie fehlschlagen
Code aus mehreren Perspektiven prüfen Parallel subagents oder Agent Team Unabhängige Bewertung verhindert blinde Flecken
Über irreversible Architektur entscheiden Multi-agent deliberation Confidence-Trigger + Konsensvalidierung
Entscheidungen sitzungsübergreifend persistieren MEMORY.md Dateisystem übersteht Kontextgrenzen
Teamstandards teilen Project CLAUDE.md + .claude/rules/ Über Git verteilt, lädt automatisch
Projekt-Build-/Testbefehle definieren CLAUDE.md Befehlsorientierte Anweisungen, die der Agent verifizieren kann
Lange autonome Entwicklung ausführen Ralph loop (Fresh-Context-Iteration) Volles Kontextbudget pro Iteration, Dateisystemzustand
Slack benachrichtigen, wenn die Sitzung endet Async Stop hook Nicht blockierend, verlangsamt die Sitzung nicht
Qualität vor dem Commit validieren PreToolUse hook auf git commit Blockiert den Commit, wenn Linting/Tests fehlschlagen
Abschlusskriterien durchsetzen Stop hook Verhindert, dass der Agent stoppt, bevor die Aufgabe erledigt ist

Skills vs Hooks vs Subagents

Dimension Skills Hooks Subagents
Aufruf Automatisch (LLM reasoning) Deterministisch (eventgesteuert) Explizit oder automatisch delegiert
Garantie Probabilistisch (Modell entscheidet) Deterministisch (wird immer ausgelöst) Deterministisch (isolierter Kontext)
Kontextkosten Wird in den Hauptkontext injiziert Null (läuft außerhalb von LLM) Separates Kontextfenster
Tokenkosten Beschreibungsbudget (1 % des Fensters, Fallback 8.000 Zeichen) Null Voller Kontext pro subagent
Am besten für Domänenexpertise Richtliniendurchsetzung Fokussierte Arbeit, Exploration

FAQ

Wie viele hooks sind zu viele?

Die Leistung ist die Grenze, nicht die Anzahl. Jeder hook läuft synchron, daher addiert sich die gesamte hook-Ausführungszeit zu jedem passenden Tool-Aufruf. 95 hooks über Benutzer- und Projekteinstellungen hinweg laufen ohne spürbare Latenz, wenn jeder hook in unter 200 ms abgeschlossen ist. Der Schwellenwert, den Sie beobachten sollten: Wenn ein PostToolUse hook mehr als 500 ms zu jeder Dateibearbeitung hinzufügt, fühlt sich die Sitzung träge an. Profilen Sie Ihre hooks vor der Bereitstellung mit time.14

Können hooks Claude Code daran hindern, einen Befehl auszuführen?

Ja. PreToolUse hooks blockieren jede Tool-Aktion, indem sie mit Code 2 beendet werden. Claude Code bricht die ausstehende Aktion ab und zeigt die stderr-Ausgabe des hooks dem Modell. Claude sieht den Ablehnungsgrund und schlägt eine sicherere Alternative vor. Exit 1 ist eine nicht blockierende Warnung, bei der die Aktion trotzdem fortgesetzt wird.3

Wo sollte ich hook-Konfigurationsdateien ablegen?

Hook-Konfigurationen gehören in .claude/settings.json für hooks auf Projektebene (in Ihr Repository committed, mit Ihrem Team geteilt) oder in ~/.claude/settings.json für hooks auf Benutzerebene (persönlich, auf jedes Projekt angewendet). hooks auf Projektebene haben Vorrang, wenn beide vorhanden sind. Verwenden Sie absolute Pfade für Skriptdateien, um Probleme mit dem Arbeitsverzeichnis zu vermeiden.14

Braucht jede Entscheidung deliberation?

Nein. Das Confidence-Modul bewertet Entscheidungen über vier Dimensionen hinweg (Mehrdeutigkeit, Komplexität, Tragweite, Kontextabhängigkeit). Nur Entscheidungen mit einem Gesamtvertrauen unter 0,70 lösen deliberation aus, ungefähr 10 % aller Entscheidungen. Dokumentationskorrekturen, Variablenumbenennungen und routinemäßige Bearbeitungen überspringen deliberation vollständig. Sicherheitsarchitektur, Datenbankschemaänderungen und irreversible Deployments lösen sie zuverlässig aus.7

Wie teste ich ein System, das darauf ausgelegt ist, Uneinigkeit zu erzeugen?

Testen Sie sowohl Erfolgs- als auch Fehlerpfade. Erfolg: Agents sind produktiv uneinig und erreichen Konsens. Fehler: Agents konvergieren zu schnell, konvergieren nie oder überschreiten Spawn-Budgets. End-to-End-Tests simulieren jedes Szenario mit deterministischen Agent-Antworten und verifizieren, dass beide Validierungsgates jeden dokumentierten Fehlermodus erfassen. Ein produktives deliberation-System führt 141 Tests über drei Ebenen aus: 48 Bash-Integrationstests, 81 Python-Unit-Tests und 12 End-to-End-Pipeline-Simulationen.7

Wie wirkt sich deliberation auf die Latenz aus?

Eine deliberation mit 3 Agents fügt 30-60 Sekunden Wall-Clock-Zeit hinzu (Agents laufen sequenziell über das Agent tool). Eine deliberation mit 10 Agents fügt 2-4 Minuten hinzu. Die Consensus- und Pride-Check-hooks laufen jeweils in unter 200 ms. Der primäre Engpass ist die LLM-Inferenzzeit pro Agent, nicht der Orchestrierungs-Overhead.7

Wie lang sollte eine CLAUDE.md-Datei sein?

Halten Sie jeden Abschnitt unter 50 Zeilen und die gesamte Datei unter 150 Zeilen. Lange Dateien werden durch Kontextfenster gekürzt, daher sollten die wichtigsten Anweisungen nach vorne: Befehle und Abschlussdefinitionen vor Stilpräferenzen.21

Funktioniert das auch mit anderen Tools als Claude Code?

Die Architekturprinzipien (hooks als deterministische Gates, skills als Domänenexpertise, subagents als isolierte Kontexte, Dateisystem als Gedächtnis) gelten konzeptionell für jedes agentische System. Die konkrete Implementierung nutzt die Lifecycle-Events, Matcher-Muster und das Agent tool von Claude Code. AGENTS.md überträgt dieselben Muster auf Codex, Cursor, Copilot, Amp und Windsurf.21 Das harness-Muster ist Tool-agnostisch, auch wenn die Implementierungsdetails Tool-spezifisch sind.


Schnellreferenzkarte

Hook-Konfiguration

{
  "hooks": {
    "PreToolUse": [{"matcher": "Bash", "hooks": [{"type": "command", "command": "script.sh"}]}],
    "PostToolUse": [{"matcher": "Write|Edit", "hooks": [{"type": "command", "command": "format.sh"}]}],
    "Stop": [{"matcher": "", "hooks": [{"type": "agent", "prompt": "Verify tests pass. $ARGUMENTS"}]}],
    "SessionStart": [{"matcher": "", "hooks": [{"type": "command", "command": "setup.sh"}]}]
  }
}

Skill-Frontmatter

---
name: my-skill
description: What it does and when to use it. Include trigger phrases.
allowed-tools: Read, Grep, Glob
---

Subagent-Definition

---
name: my-agent
description: When to invoke. Include PROACTIVELY for auto-delegation.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---

Instructions for the subagent.

Exit-Codes

Code Bedeutung Verwenden für
0 Erfolg Vorgang zulassen
2 Blockieren Security gates, quality gates
1 Nicht blockierende Warnung Logging, Hinweismeldungen

Wichtige Befehle

Befehl Zweck
/compact Kontext komprimieren, Entscheidungen bewahren
/context Kontextzuweisung und aktive skills anzeigen
edit .claude/agents/ subagents verwalten — der /agents-Assistent wurde in v2.1.198 entfernt; erstellen oder bearbeiten Sie Definitionen direkt oder bitten Sie Claude darum
/goal <condition> Claude auf eine Abschlussbedingung hinarbeiten lassen
claude agents Agent View für laufende, blockierte und abgeschlossene Sitzungen öffnen
CLAUDE_CODE_WORKFLOWS=1 Workflow tool für deterministische Multi-Agent-Orchestrierung aktivieren
claude -c Neueste Sitzung fortsetzen
claude --print Einmaliger CLI-Aufruf (keine Unterhaltung)
# <note> Notiz zur Memory-Datei hinzufügen
/memory Auto-memory anzeigen und verwalten

Dateispeicherorte

Pfad Zweck
~/.claude/CLAUDE.md Persönliche globale Anweisungen
.claude/CLAUDE.md Projektanweisungen (über Git geteilt)
.claude/settings.json Projekt-hooks und Berechtigungen
~/.claude/settings.json Benutzer-hooks und Berechtigungen
~/.claude/skills/<name>/SKILL.md Persönliche skills
.claude/skills/<name>/SKILL.md Projekt-skills (über Git geteilt)
~/.claude/agents/<name>.md Persönliche subagent-Definitionen
.claude/agents/<name>.md Projekt-subagent-Definitionen
.claude/rules/*.md Projektregeldateien
~/.claude/rules/*.md Benutzerregeldateien
~/.claude/projects/{path}/memory/MEMORY.md Auto-memory

Änderungsprotokoll

Datum Änderung Quelle
2026-08-01 Korrektur veralteter Angaben: eine Versionsangabe mit dem Stand „Juli 2026“, über die der restliche Leitfaden bereits hinausgewachsen war. Im Absatz zu Python SDK hieß es, das Paket sei „auf PyPI auf v0.2.111 (einschließlich Claude CLI v2.1.202) und TypeScript SDK auf v0.3.203 vorgerückt“ — bei beiden Angaben fehlten 17 Releases, während andere Abschnitte desselben Leitfadens bereits korrekt 0.2.128 und 0.3.220 dokumentierten. Nun werden v0.2.128 (mitgeliefertes CLI v2.1.220, Mindestversion von mcp auf >=1.23.0 angehoben) und v0.3.220 genannt, datiert anhand einer verifizierten Prüfung statt eines offenen Monatszeitraums. Die neue Fußnote 86 verweist auf PyPI, npm und das Änderungsprotokoll von Python SDK. In diesem Zeitraum gab es keine neuen Upstream-Releases: Claude Code v2.1.220, Codex v0.146.0 Stable (nur Alphas von v0.147.0), FastAPI 0.141.1, XcodeBuildMCP 2.7.0, MCPVault 0.12.4, hermes-agent 0.19.0, Midjourney Version 8.2, Suno V5.5 und Apple 26.6 Stable blieben unverändert. 86
2026-07-29 Vollständigkeitskorrektur: drei Felder aus TS SDK v0.3.216, die im Eintrag vom 21. Juli fehlten. Beim erneuten Abgleich des Änderungsprotokolls von claude-agent-sdk-typescript mit diesem Leitfaden stellte sich heraus, dass in der Feldliste für v0.3.216 drei Einträge fehlten: rewindFiles-Antworten enthalten optional die Anzahl skippedLinks für Pfade, deren Wiederherstellung oder Löschung die Sicherheitsmechanismen für das Zurücksetzen verweigert haben; außerdem enthält die Erfolgsmeldung optional user_message_uuid und request_sent_wall_ms, um die Anfragelatenz über mehrere Hosts hinweg zu korrelieren. Beide Angaben wurden der Liste im Haupttext und 75 hinzugefügt; keine neue Fußnote. Alles Weitere im Bereich v0.3.215–v0.3.220 war bereits erfasst, einschließlich der Entwicklung der Verschachtelungstiefe von subagents (mit 5 veröffentlicht, in v2.1.217 auf 1 reduziert, in v2.1.219 bei 3 eingependelt) und der Nebenläufigkeitsgrenze von 20 — die Zeile „depth cap lowered from 5 to 1“ im Änderungsprotokoll von SDK ist eine veraltete Momentaufnahme eines Werts, dessen weitere Entwicklung dieser Leitfaden bereits dokumentiert. Als neueste npm-Version von Agent SDK wurde 0.3.220 (24. Juli) bestätigt, auf PyPI 0.2.128; im Zeitraum erschien kein neueres Release. 75
2026-07-27 Rendering-Korrektur, keine inhaltliche Änderung. Die Kopfzeile dieses Änderungsprotokolls deklarierte zwei Spalten, während die Zeilen drei enthielten. Deshalb kürzte python-markdown jede Zeile auf Date und Change und ließ die Zelle „Source“ stillschweigend weg — mitsamt neun Fußnotenverweisen ([^83], [^84], [^85], [^103], [^105], [^107], [^108], [^110], [^111]). Da diese neun an keiner anderen Stelle zitiert wurden, erschien jede als Eintrag im Literaturverzeichnis, dessen Rückwärtspfeil auf einen auf der Seite nicht vorhandenen Anker zeigte. Die Kopfzeile lautet nun Date \| Change \| Source, wodurch alle neun Verweise wiederhergestellt werden. Verifiziert wurde dies, indem der Leitfaden mit der Markdown-Konfiguration der Website gerendert und id="fn:N" mit id="fnref:N" verglichen wurde: zuvor 77 aktive Verweise, danach 86, keine verwaisten Einträge. Derselbe Fehler wurde bei diesem Durchgang auch in den Leitfäden zu FastAPI + HTMX und Obsidian gefunden und behoben; ios-agent-development weist eine andere, noch nicht behobene Zitationslücke auf, die im zugehörigen Bericht vermerkt ist.
2026-07-25 Leitfaden v1.27: Standardwert für die Verschachtelungstiefe korrigiert (3 statt 1), Claude Opus 5 und eine vierte Schutzdimension. Korrektur — die Spawn-Tiefe von subagents liegt wieder bei 3 (v2.1.219): „Subagents können nun standardmäßig bis zu einer Tiefe von 3 verschachtelte subagents erzeugen (zuvor 1); mit CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 deaktivieren Sie die Verschachtelung.“ Der Standardwert wurde zunächst mit 5 veröffentlicht (v2.1.172), dann auf 1 reduziert (v2.1.217) und schließlich auf 3 festgelegt (v2.1.219) — die letzten beiden Änderungen innerhalb von drei Tagen. Der Unterabschnitt zum Rekursionsschutz stellt keinen Standardwert mehr als dauerhaft dar; stattdessen wird die Tiefe nun als instabiler Plattformparameter behandelt, den Sie ausdrücklich über CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH festlegen sollten, statt ihn zu übernehmen. Begleitende Korrektur: --forward-subagent-text leitet nun auch Ausgaben von subagents ab Tiefe 2 weiter, gruppiert nach der tool_use-ID des jeweils erzeugenden Agent — gruppieren Sie weitergeleiteten Text nach dieser ID, statt anzunehmen, jede Zeile stamme von einem direkten Kind. DirectoryAdded-hook (CC v2.1.219 + TS SDK v0.3.219): das erste neue Lebenszyklusereignis seit MessageDisplay (v2.1.152). Es wird ausgelöst, nachdem /add-dir oder die SDK-Steuerungsanfrage register_repo_root während einer Sitzung ein Arbeitsverzeichnis registriert hat — beim Start ausgeführte Arbeitsbereichsprüfungen (Vertrauensprüfungen, Geheimnisscans, pfadbezogene Regeln, Repository-spezifische Richtlinien) müssen daraufhin erneut ausgeführt werden; die Ereignistabelle umfasst nun 30 Einträge. sandbox.network.strictAllowlist (v2.1.219): verweigert Hosts, die nicht auf der Positivliste stehen, für Befehle in der Sandbox ohne Rückfrage — eine deterministische Verweigerung ausgehender Verbindungen, kombinierbar mit sandbox.filesystem.disabled aus v2.1.216. Dies wurde im Unterabschnitt zu Eindämmungsmustern ergänzt, da die Einstellungsoberfläche nun zum Grundsatz „zuerst auf Umgebungsebene eindämmen“ aufschließt. Die Orchestrierungsbreite bildet eine vierte Schutzdimension (v2.1.219): Dynamische Arbeitsabläufe verwenden standardmäßig eine Richtlinie mittlerer Größe („streben Sie weniger als 15 agents an“), die sich in jeder Einstellungsdatei über den neuen Schlüssel workflowSizeGuideline festlegen lässt (auch in den Einstellungstypen von TS SDK) und in der Statuszeile des laufenden Arbeitsablaufs angezeigt wird — aus den bisherigen drei Dimensionen (Spawn-Anzahl, Tiefe und Nebenläufigkeit) werden damit vier. Mit 15 liegt der Wert endlich in derselben Größenordnung wie das Deliberationsbudget dieses Leitfadens von 12 agents, statt lediglich als außer Kontrolle geratene Sicherung zu dienen. Claude Opus 5 (claude-opus-5, 24. Juli): das neue standardmäßige Opus — Kontextfenster von 1 Mio., 5/25 US-Dollar pro MTok (derselbe Preis wie Opus 4.8), Fast Mode für 10/50 US-Dollar bei etwa 2,5-facher Geschwindigkeit; erzielt auf Frontier-Bench v0.1 mehr als das Doppelte von Opus 4.8 und liegt beim CursorBench-3.2-Ergebnis nur 0,5 % hinter Fable 5, bei halben Kosten. Die empfohlene Standardeinstellung für agentische Aufgaben wechselt in diesem Leitfaden von Opus 4.8 zu Opus 5; Opus 4.7 unterstützt Fast Mode nicht mehr (/fast gilt nun für Opus 5 und Opus 4.8), und der Fable-5-Fallback des Auto-Mode-Klassifikators wird als Opus 5 aufgelöst. Nur im Änderungsprotokoll: Py SDK v0.2.127 — Hintergrundaufgaben umgingen PreToolUse-hooks stillschweigend: query() schloss stdin beim ersten result-Frame, während subagents im Hintergrund noch liefen. Dadurch schlugen deren SDK-MCP-Tool-Aufrufe mit "Stream closed" fehl und übersprangen den hook (#1103). Nach dem Abbruch→hook-Erfolg in TS v0.3.208 war dies die zweite Umgehung der hook-Durchsetzung innerhalb eines Monats. Das Muster wird nun im Hinweis zur hook-Streaming-Funktion von SDK benannt: Die Durchsetzung auf SDK-Seite schlägt an Lebenszyklusgrenzen offen und stillschweigend fehl, da ein umgangener hook wie ein genehmigender hook aussieht. TS SDK v0.3.219: optionales cancel_queued für die Interrupt-Steuerungsanfrage (Fähigkeit interrupt_cancel_queued_v1); fast_mode_disabled_reason in Ergebnis und Initialisierung; die Initialisierungsantwort meldet nach einem Wechsel nicht mehr den fast_mode_state des beim Spawn verwendeten Modells. CC v2.1.219 MCP-Diagnosefunktionen: mcp_server_errors im Headless-Stream-JSON-Initialisierungsereignis; HTTP-Status und Fehlertext in claude mcp list / /mcp bei Verbindungsfehlern; Warnung vor unsichtbaren Leerzeichen in MCP-Konfigurationswerten. Gültigkeitsbereich verwalteter Einstellungen: ${VAR}-Einträge in verwalteten MCP-Positiv- und Negativlisten werden nun aus der Startumgebung und der Umgebung der verwalteten Einstellungen statt aus der Umgebung der Einstellungsdatei aufgelöst — eine für Governance relevante Änderung der Auflösungsreihenfolge. Sonstiges: claude -p verwirft bereits erzeugten Text nicht mehr, wenn ein Durchlauf während des Streamings abbricht; CLAUDE_CODE_GIT_BASH_PATH wird mit einer Warnung ignoriert, wenn es sich nicht um ein bash-/sh-Binary handelt; das mitgelieferte claude-api skill verwendet standardmäßig Opus 5. CC v2.1.220 / TS v0.3.220 / Py v0.2.128 (25. Juli): ausschließlich Fehlerkorrekturen und Paritätsanpassungen. MCP: keine normativen Merges; die zustandslose Spezifikation erscheint weiterhin am 28. Juli 2026. 84 85 87
2026-07-24 Guide v1.26: Beitrag von Anthropic zu containment patterns übernommen + Claude Code v2.1.218. Der Unterabschnitt „Drei Containment Patterns für verschiedene Produkte“ wurde den Sicherheitsüberlegungen hinzugefügt. Grundlage ist der Engineering-Beitrag „How we contain Claude across products“ von Anthropic (25. Mai 2026): kurzlebige gVisor-Container auf der Serverseite (claude.ai), OS-Sandboxing mit menschlicher Kontrolle (Claude Code: Seatbelt/bubblewrap sowie das als Open Source veröffentlichte sandbox-runtime) und versiegelte VMs auf Plattform-Hypervisoren (Claude Cowork: Apple Virtualization Framework/Windows HCS; Anmeldedaten im Schlüsselbund des Hosts mit begrenzten, widerrufbaren Sitzungstokens, deren Verwendung ein defensiver MITM-Proxy innerhalb der VM durchsetzt) — ergänzt um die im Beitrag formulierten Prinzipien für das harness-Design: zuerst Containment auf Umgebungsebene, an die Aufsichtsmöglichkeiten des Benutzers angepasste Isolation, bewährte Grundbausteine statt selbst entwickelten Isolationscodes, projektlokale Konfiguration und Tool-Ausgaben als nicht vertrauenswürdige Eingaben sowie Anmeldedaten außerhalb der Sandbox. Nur im Changelog: CC v2.1.218 (22. Juli) — der Klassifikator des automatischen Modus entscheidet über Prüfungen auf gefährliche rm-Befehle, & im Hintergrund und verdächtige Windows-Pfade, statt Berechtigungsdialoge zu öffnen; im Planungsmodus mit automatischer Steuerung werden Bash-Befehle, deren ausschließlichen Lesezugriff der statische Analysator nicht nachweisen kann, an den Klassifikator weitergeleitet; hooks im Agent-Frontmatter setzen voraus, dass dem eigenen Ordner der Agent-Datei als Arbeitsbereich vertraut wurde; skills mit context: fork werden standardmäßig im Hintergrund ausgeführt (background: false deaktiviert dies); /code-review läuft als subagent im Hintergrund; /deep-research ruft sich nicht mehr selbst auf; die Abstammung verzweigter Sitzungen bleibt nach der Komprimierung in Headless-/SDK-Sitzungen erhalten; das Verschieben mit Ctrl+B in den Hintergrund berücksichtigt Obergrenzen für Hintergrund-Shells. TS SDK v0.3.218 (22. Juli): Flag SkillToolOutput.background; api_error_status meldet während des Streams auftretende 429-/529-Fehler; canonicalModel + provider in modelUsage. Py SDK v0.2.126 (22. Juli): ResultMessage.terminal_reason; typisiertes model_usage mit canonicalModel/provider; enthält CLI v2.1.218. MCP: keine normativen Merges; die zustandslose Spezifikation erscheint weiterhin am 2026-07-28. 81 82 83
2026-07-22 Guide v1.25: Claude Code v2.1.217 — Rücknahme rekursiver subagents + Parallelitätsgrenze. Verschachteltes Erzeugen standardmäßig deaktiviert: subagents erzeugen nicht länger eigene subagents — der seit v2.1.172 geltende Standardwert von fünf Rekursionsebenen blieb bis v2.1.216 bestehen; eine tiefere Verschachtelung muss nun über CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH aktiviert werden (Unterabschnitt zum Recursion Guard neu verfasst). Parallelitätsgrenze: Gleichzeitig ausgeführte subagents sind standardmäßig auf 20 begrenzt (CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS), damit eine einzelne Nachricht nicht unbegrenzt viele Agenten im Hintergrund auffächern kann. Die Erstanbieter-Schutzmechanismen decken damit alle drei Achsen ab, die auch der benutzerseitige Schutz für das Erzeugungsbudget erfasst: Gesamtzahl der Erzeugungen pro Sitzung (v2.1.212, Obergrenze 200), Verschachtelungstiefe (v2.1.217, standardmäßig eine Ebene) und parallele Breite (v2.1.217, standardmäßig 20). Nur im Changelog: In CC v2.1.217 stoppt --max-budget-usd jetzt tatsächlich subagents im Hintergrund (sobald die Obergrenze erreicht ist, werden neue Erzeugungen abgelehnt und laufende Agenten im Hintergrund angehalten); bei der Isolation von Hintergrundsitzungen werden Arbeitsverzeichnisse mit symbolischen Links kanonisiert. Py SDK v0.2.125 enthält CLI v2.1.217 ohne Änderungen an der SDK-Oberfläche; TS SDK v0.3.217 erscheint parallel dazu. MCP PR #3092 (am 21. Juli gemergt): normative Korrektur, die die SEP-2575-Fehlercodes an das neu nummerierte Entwurfsschema und die Konformitätstestsuite angleicht — die Vorbereitung der Veröffentlichung am 28. Juli wird fortgesetzt. 78 79 80
2026-07-21 Guide v1.24: Claude Code v2.1.214–v2.1.216: Härtung der Pfadbegrenzung und Worktree-Durchsetzung; Codex v0.145.0: Multi-Agent V2 + harness-übergreifender Import. Pfadbezogene Regeln werden am cwd verankert (v2.1.214): Aus einem Segment bestehende allow-Regeln mit dir/** (z. B. Edit(src/**)) genehmigten Schreibvorgänge automatisch für jeden beliebig tief im Verzeichnisbaum verschachtelten Ordner namens dir/ — nun gelten sie ausschließlich für <cwd>/dir; auch if:-Bedingungen von hooks mit einem einsegmentigen dir/** gelten jetzt nur für das cwd (verwenden Sie **/dir/** für beliebige Tiefen); deny-/ask-Regeln verwenden bewusst weiterhin einen tiefenunabhängigen Abgleich (asymmetrische Ausfallsicherheit: allow-Regeln fallen sicher auf eine Nachfrage zurück, deny-Regeln dürfen bei einem Fehler keinen Zugriff zulassen). Die Worktree-Isolation erfüllt Durchsetzungsanforderungen (v2.1.216): Worktree-subagents konnten Git über git -C, --git-dir oder GIT_DIR/GIT_WORK_TREE in den gemeinsam genutzten Checkout umleiten — diese Lücke wurde geschlossen; Worktree-Sitzungen landen nicht mehr in einem verbliebenen Worktree eines anderen Projekts; Schreibvorgänge von Workflows/geplanten Aufgaben folgen keinem bei .claude platzierten symbolischen Link mehr; /rewind verweigert symbolische Links/Hardlinks. Rücknahme der automatischen Aktivierung von skills (v2.1.215): Claude ruft die mitgelieferten skills /verify und /code-review nicht mehr selbst auf — sie müssen ausdrücklich aufgerufen werden. Codex v0.145.0: Das optional aktivierbare Multi-Agent V2 wurde stabilisiert (konfigurierbare subagent-Modelle, Reasoning-Stufen und Parallelität sowie wiederhergestellte Rollen); /import migriert jetzt Einstellungen, MCP-Server, plugins, Sitzungen, Befehle und projektbezogene Speicher von Claude Code und Cursor — eine vollständige harness-übergreifende Migration als Erweiterung von v0.140.0. Nur im Changelog: CC v2.1.214: Tool EndConversation; umfassende Fail-closed-Härtung für Bash/PowerShell (Umleitungen von Dateideskriptoren schlagen geschlossen fehl, Befehle mit mehr als 10.000 Zeichen erfordern immer eine Bestätigung, zsh-Indizes lösen eine Nachfrage aus, die automatische Freigabe für help/man wurde geschlossen, Umleitungs-Flags für Docker-/Podman-Daemons lösen eine Nachfrage aus, file -m/-f erfordert eine Berechtigung, Umgehung unter PowerShell 5.1 behoben); hooks mit Exit-Code 2 blockieren selbst dann, wenn die stdout-JSON die Schemavalidierung nicht besteht; das Speicher-Frontmatter erhält einen ISO-Zeitstempel modified, ohne stille Kürzung an einem eingebetteten #; OTel message.uuid/client_request_id/tool_source + CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH. CC v2.1.216: sandbox.filesystem.disabled (Kontrolle des ausgehenden Netzwerkverkehrs ohne Dateisystemisolation); fortgesetzte Sitzungen von Agenten im Hintergrund stellen die Prompt-/Tool-Beschränkungen des Agenten wieder her; Änderungen an skills/Befehlen während einer Sitzung erscheinen ohne Neustart im Slash-Menü. TS SDK v0.3.214/v0.3.216: set_permission_mode lehnt unbekannte Modi ab; aborted: true bei durch Unterbrechungen gekürzten Nachrichten; tool_progress mit subagent_type/subagent_retry; Untertyp scheduled-trigger für Aufgabenbenachrichtigungen; Quelle "fork" für SessionStart; Sidecar tool_result_meta (non_execution_kind, user_feedback); rewindFiles meldet in skippedLinks Pfade, deren Wiederherstellung oder Löschung die Sicherheitsmechanismen von rewind verweigert haben; erfolgreiche Ergebnisse enthalten user_message_uuid und request_sent_wall_ms zur hostübergreifenden Korrelation der Anfragelatenz. Py SDK v0.2.124: Behebung einer Sicherheitslücke der Windows-BatBadBut-Klasse (verweigert das Starten von .bat/.cmd; cmd.exe-Metazeichen in resume/session_id lösen einen ValueError aus; mit einem Bindestrich beginnende extra_args werden als --flag=value gebunden). Härtung in Codex v0.145.0: Zeitüberschreitungen beim Start von MCP, serialisierte Aktualisierungen von OAuth, nicht blockierende Erkennung von OAuth, zuverlässigere Erkennung erzwungener rm-Befehle, beibehaltene Ablehnungsgründe und experimenteller paginierter Thread-Verlauf. Vorbereitung der MCP-Veröffentlichung am 2026-07-28 (Dokumentations-PRs #3064/#3066/#3098, am 21. Juli gemergt): Die Spezifikation wurde fertiggestellt, sodass Tasks als optionale Erweiterung io.modelcontextprotocol/tasks dargestellt werden; HTTP+SSE ist zugunsten von Streamable HTTP veraltet. 74 75 76 77
2026-07-17 Leitfaden v1.23: Claude Code v2.1.203–v2.1.212: Schutzmechanismen gegen außer Kontrolle geratene Schleifen und verstärkter Schutz vor Injection, TS-SDK-Protokolloberflächen, Entwurf für zustandslose MCP-Identitäten, Gleichstand mit Codex/OpenAI. Native Schutzmechanismen gegen außer Kontrolle geratene Schleifen (v2.1.212): Begrenzung der pro Sitzung erzeugten subagents (standardmäßig 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, Zurücksetzung durch /clear) und Begrenzung von WebSearch (200, CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) — das anwendungsseitige Muster für Erzeugungsbudgets verfügt nun über eine native Absicherung; der Parameter mode des Task-Tools ist veraltet (subagents übernehmen den Berechtigungsmodus der übergeordneten Sitzung); /fork erstellt nun eine neue Hintergrundsitzung (die sitzungsinterne Variante wurde in /subtask umbenannt); MCP-Aufrufe, die länger als 2 Minuten dauern, werden automatisch in den Hintergrund verschoben (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). Vorrangregeln für hooks gegenüber dem automatischen Modus (v2.1.211): ask von PreToolUse legt eine Abfrage als Mindestanforderung für die Entscheidung fest (der automatische Modus kann dies bei nicht in einer Sandbox ausgeführtem Bash nicht außer Kraft setzen); --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT für stream-json; „Immer zulassen“-Regeln bleiben über Worktrees hinweg im Repository-Stammverzeichnis bestehen; Berechtigungsvorschauen neutralisieren Täuschungsversuche mit bidirektionalem Text, Zeichen ohne Breite und ähnlich aussehenden Zeichen. v2.1.210: Fehler behoben, durch den subagents mit Worktree-Isolierung den Haupt-Checkout veränderten; Agent tool gegen indirekte Injection aus von subagents gelesenen Inhalten gehärtet; der Klassifikator des automatischen Modus verwendet standardmäßig Sonnet 5 und wird pro Sitzung festgelegt; Schreibvorgänge oberhalb des Limits von MEMORY.md führen zu einem Fehler, statt Inhalte stillschweigend abzuschneiden. v2.1.207/v2.1.208: automatische Modus allgemein auf Bedrock/Vertex/Foundry verfügbar (disableAutoMode zum Deaktivieren); Abfragen bei katastrophalen Löschvorgängen setzen sich über --dangerously-skip-permissions und den automatischen Modus hinweg; CLAUDE_CODE_PROCESS_WRAPPER als unternehmensweiter Launcher; bis zu 7-mal schnellere Tool-Runden bei einer hohen Anzahl von MCP-Tools, 79-mal kleinere Transkripte. v2.1.203–v2.1.206: Schutz vor erfundenen Angaben (Manipulation von Transkriptdateien blockiert; Benachrichtigungen zu Hintergrundaufgaben weisen ausdrücklich darauf hin, dass keine menschliche Eingabe erfolgte); MCP roots/list umfasst zusätzliche Arbeitsverzeichnisse mit roots/list_changed; /doctor schlägt vor, Inhalte aus CLAUDE.md zu entfernen, die sich aus der Codebasis ableiten lassen. TS SDK v0.3.205–v0.3.208: typisierte Unterbrechungsbestätigungen (still_queued, interrupt_receipt_v1), command_lifecycle-Frames, AgentToolCompletedOutput, canUseTool mit {behavior:'allow'} ohne updatedInput; Sicherheitskorrektur in v0.3.208 — der Abbruch durch den Aufrufer während eines ausstehenden hooks wurde als erfolgreicher hook gewertet, wodurch mit PreToolUse geschützte Tools nach dem Abbruch ausgeführt werden konnten. Entwurf der MCP-Spezifikation (PR #3002, am 16. Juli zusammengeführt): optionale, selbst gemeldete _meta-Angaben in der Antwort io.modelcontextprotocol/serverInfo sowie optionale clientInfo — nur zur Anzeige und Protokollierung, SOLLTEN NICHT als Grundlage für Sicherheitsentscheidungen dienen; die endgültige zustandslose Spezifikation erscheint am 2026-07-28. Codex: v0.143.0 lädt MCP-Tools standardmäßig über die Tool-Suche (verzögertes Laden von Tools); v0.144.0 mit App-Genehmigungsmodus writes und allgemeiner Verfügbarkeit der interaktiven MCP-Authentifizierung; v0.144.5 mit erweiterter Erkennung gefährlicher Befehle. Gehostete OpenAI-Beta für mehrere Agenten: openai-agents-python v0.18.2 (11. Juli) + openai-agents-js v0.13.2 (10. Juli). Nur im Changelog: Korrekturen für die Injection von argv-Flags in SDK (TS 0.3.212 / Py 0.2.121 — mit einem Bindestrich beginnende Werte für resume/session_id werden nun in Gleichheitszeichenform übergeben); BashToolOutput.timedOutAfterMs; SDKAssistantMessage.timestamp; Korrektur für das Streaming von SessionStart im Headless-Modus in CC v2.1.204; GPT-5.6-Standardeinstellungen für openai-agents; Hinweise zur Wiederholung nach Ablehnung von Mcp-Param-* in MCP. 68 69 70 71 72 73
2026-07-07 Leitfaden v1.22: Claude Code v2.1.196–v2.1.202. Sonnet 5 ist das ausgelieferte Standardmodell (v2.1.197) — der Hinweis zu Modellklassen wurde neu formuliert (dieser Leitfaden empfiehlt für autonome harnesses weiterhin Opus 4.8 als agentic Standardmodell). subagents werden standardmäßig im Hintergrund ausgeführt (v2.1.198): Das Feld background legt das Verhalten nun fest, statt es zu aktivieren; der Explore-Agent übernimmt das Sitzungsmodell (höchstens Opus); subagents und Komprimierung übernehmen die Konfiguration für erweitertes Denken; im Hintergrund ausgeführte claude agents-Sitzungen führen automatisch Commits und Pushes aus, öffnen einen PR-Entwurf und lösen den Notification-hook mit agent_needs_input/agent_completed aus; der Assistent /agents wurde entfernt (bearbeiten Sie .claude/agents/ direkt). v2.1.199: SessionStart-/Setup-/SubagentStart-hooks zeigen bei Exit-Code 2 stderr an; die Erkennung von Fehlleitungen durch wiederverwendete Namen bei SendMessage wurde dem Hinweis zur sitzungsübergreifenden Autorität hinzugefügt; gestapelte Slash-skills laden bis zu 5 Ebenen. v2.1.200: Der Berechtigungsmodus default wird in der Liste permissionMode für subagents als „Manuell“ (Alias manual) bezeichnet. v2.1.196: Organisationsweite Standardmodelle wurden im Governance-Abschnitt vermerkt; die Selbstgenehmigung durch MCP wurde unterbunden. Aktueller Stand von SDK: claude-agent-sdk v0.2.111 (Python, enthält CLI v2.1.202) / @anthropic-ai/claude-agent-sdk v0.3.203 (TS), mit schrittweisen Erweiterungen gegenüber der dokumentierten 0.1.x-Oberfläche. 67
2026-07-02 Leitfaden v1.21: Aktualisierungen der Governance für hook-Matcher und Klassifikatoren. Claude Code v2.1.195: Matcher für Bezeichner mit Bindestrichen verwenden exakte Übereinstimmung statt Teilzeichenfolgenvergleich (siehe hook-Architektur — Matcher-Semantik). Claude Code v2.1.193: autoMode.classifyAllShell leitet sämtliche Shell-Befehle durch den Klassifikator des automatischen Modus; Ablehnungsgründe werden im Transkript, in der Kurzmeldung und unter /permissions angezeigt (siehe Sicherheitsaspekte). Codex v0.142.2: PowerShell mit nicht überprüfbaren AST-Bereichen erfordert nun eine Genehmigung. Alle Punkte wurden während dieses Aktualisierungszyklus anhand der maßgeblichen Changelogs überprüft. 66
2026-06-20 Leitfaden v1.20: Claude Code v2.1.183 + Codex v0.141.0 — Governance und Sicherheit bei der Remote-Ausführung. Die Sicherheitsaspekte wurden um Schutzmechanismen des automatischen Modus gegen destruktive Befehle ergänzt (CC v2.1.183 blockiert git reset --hard/checkout -- ./clean -fd/stash drop, git commit --amend bei nicht vom Agenten erstellten Commits sowie terraform/pulumi/cdk destroy ohne benannten Stack, sofern Sie dies nicht angefordert haben). Diese werden als Ergänzung auf Absichtsebene zu Regeln auf Parameterebene und zur Prüfung der Erzeugung eingeordnet. Außerdem wurden die Hinweise zur Codex-Gleichwertigkeit um verschlüsselte Remote-Ausführungsumgebungen mit Noise-Relay ergänzt (Codex v0.141.0: Ende-zu-Ende-verschlüsselte Ausführungskanäle, plattformübergreifende Beibehaltung von Arbeitsverzeichnis und Shell, P-521 TLS). 65
2026-06-16 Leitfaden v1.19: Governance- und Bereichsabgrenzungsprimitive in Claude Code v2.1.173–v2.1.179 sowie werkzeugübergreifender Import in Codex v0.140.0. Die Version v2.1.178 wurde in den Haupttext eingearbeitet: Berechtigungsregeln auf Parameterebene Tool(param:value) mit Platzhalter * (z. B. Agent(model:opus), um eine Modellklasse zu blockieren) sowie die verwaltete Einstellung enforceAvailableModels (v2.1.175), beide unter Sicherheit → Berechtigungsgrenzen; der automatische Modus prüft nun die Erzeugung von subagents vor dem Start, wodurch die Umgehung durch Erzeugung verhindert wird (subagent-Muster); Laden verschachtelter .claude/skills mit Auflösung zugunsten des nächstgelegenen Eintrags für skills/agents/workflows/Ausgabestile in verschachtelten .claude/-Bäumen (skills-System); sowie die Korrektur der Übereinstimmung mit MCP-Serverspezifikationen für disallowedTools (Konfigurationsfelder für subagents). Die Hinweise zur Codex-Gleichwertigkeit wurden um den werkzeugübergreifenden Portabilitätsbefehl /import und die dauerhafte Sitzungslöschung aus Codex v0.140.0 ergänzt. 63 64
2026-06-10 Leitfaden v1.18: Rekursive subagents (Claude Code v2.1.172). Dem Unterabschnitt zum Recursion Guard wurde ein Hinweis hinzugefügt: subagents von Claude Code können nun eigene subagents erzeugen und dabei bis zu 5 Ebenen tief verschachtelt werden — zuvor war die Delegierung faktisch auf eine Ebene beschränkt (v2.1.172, 10. Juni). Das anwendungsseitige Muster für Erzeugungsbudgets und Tiefenbegrenzungen wurde als Kontrollmechanismus neu eingeordnet, der verhindert, dass sich ein 5-stufiger Baum unkontrolliert verzweigt; 5 Ebenen gelten dabei als Plattformobergrenze und nicht als Standard. 62
2026-06-09 Leitfaden v1.17: Claude Code v2.1.169–v2.1.170 + Codex v0.138.0–v0.139.0: Governance und Härtung von Multi-Agent v2. Fünf verifizierte Änderungen an der harness-Architektur wurden in den Haupttext eingearbeitet. Das skills-System erhielt den Unterabschnitt „Ausblenden der mitgelieferten Oberfläche als Governance-Maßnahme“: Die Einstellung disableBundledSkills (und die Umgebungsvariable CLAUDE_CODE_DISABLE_BUNDLED_SKILLS) blendet mitgelieferte skills, workflows und integrierte Slash-Befehle vor dem Modell aus, um die Angriffsfläche gezielt zu verringern (v2.1.169). Der Juni-Unterabschnitt zur hook-Architektur wurde um das Flag --safe-mode (und CLAUDE_CODE_SAFE_MODE) ergänzt, das eine Sitzung zur Fehlerdiagnose und Governance unter Reinraumbedingungen mit allen Anpassungen deaktiviert startet — CLAUDE.md, Plugins, skills, hooks, MCP — (v2.1.169), sowie um einen Hinweis zur Modellklasse: Anthropics Claude Fable 5 (claude-fable-5) erschien am 9. Juni als Mythos-Klasse oberhalb von Opus und kann seit v2.1.170 über /model claude-fable-5 ausgewählt werden; Opus 4.8 bleibt das agentic Standardmodell von Claude Code. Der Abschnitt zu Speicher und Kontext wurde um den Befehl /cd (v2.1.169) ergänzt, mit dem eine Sitzung in ein neues Arbeitsverzeichnis verschoben werden kann, ohne den Prompt-Cache während der Sitzung zu unterbrechen. Die Multi-Agent-Orchestrierung und die Hinweise zur Codex-Gleichwertigkeit wurden für den Produktionseinsatz gehärtet: close_agent wurde in interrupt_agent umbenannt (v0.139.0), verschlüsselte Nachrichteninhalte zwischen Agenten, ein v2-Katalog für Agentenkonfigurationen, eine LRU-Verwaltung des Agentenbestands und eine nach aktiven Ausführungen bemessene Nebenläufigkeit (v0.138.0), AGENTS.md-Erkennung über Umgebungsdateisysteme bei Beibehaltung logischer Pfade für die korrekte Dateiauswahl in Remote- oder symlinkbasierten Arbeitsbereichen (v0.138.0/v0.139.0) sowie auf den zuständigen Thread beschränkte Warnungen beim Start von MCP für subagents, statt diese zusätzlich im übergeordneten Thread anzuzeigen (v0.139.0). 60 61
2026-06-08 Leitfaden v1.16: Muster für Agentenarchitekturen im Juni aus Claude Code v2.1.162–v2.1.166 + Codex v0.137.0. Der Unterabschnitt „Stop-hook-Steuerung, sitzungsübergreifende Autorität und Multi-Agent v2“ wurde hinzugefügt und behandelt vier für harness relevante Änderungen: (1) Stop/SubagentStop hooks können hookSpecificOutput.additionalContext zurückgeben, um Feedback nach dem Muster „noch nicht fertig, und zwar aus folgendem Grund“ einzuschleusen und den Turn ohne hook-error-Block fortzusetzen (v2.1.163); (2) die sitzungsübergreifende Nachrichtenübermittlung wurde gehärtet, sodass über SendMessage weitergeleitete Nachrichten aus einer anderen Sitzung nicht mehr die Autorität des ursprünglichen Benutzers übernehmen — eingehende Nachrichten zwischen Agenten sind als nicht vertrauenswürdige Daten zu behandeln (v2.1.166); (3) die Einstellung fallbackModel verkettet bis zu drei Ersatzmodelle und führt bei nicht wiederholbaren API-Fehlern einen einmaligen Fallback-Wiederholungsversuch aus, während claude agents --json für die Flottenbeobachtbarkeit um ein Feld waitingFor ergänzt wurde (v2.1.162/166); (4) Codex Multi-Agent v2 (v0.137.0) belässt die Laufzeit bei jedem Thread, setzt hide_spawn_agent_metadata standardmäßig auf true, leitet übergeordnete Ereignisse an untergeordnete Listener weiter und ergänzt eine skills-Erweiterung v1 mit Katalogauflösung pro Turn sowie Contributor-Ereignissen für den Lebenszyklus bei Thread-Start und Turn-Fehlern. Keine Spezifikationsänderung an AGENTS.md (weiterhin von der Agentic-AI-Foundation betreut, ohne versioniertes Änderungsprotokoll). 59
2026-05-31 Leitfaden v1.15: Claude Code v2.1.157 + Patches für Hermes v0.15.1/v0.15.2. Der Unterabschnitt „Konvergenz von Plugins und Skills in .claude/skills/ wurde hinzugefügt: Mit Claude Code v2.1.157 wird jeder Ordner im Verzeichnis .claude/skills/ eines Projekts automatisch als Plugin geladen, ohne dass eine Registrierung im Marketplace erforderlich ist, und claude plugin init <name> legt dort ein neues Plugin-Gerüst mit Manifest + SKILL.md an. Die Konsequenz für das harness ist erheblich: Projektwerkzeuge mit kleinem Umfang müssen nicht länger die Manifestlast tragen, um in der Versionsverwaltung zu bestehen; Plugins behalten weiterhin die gebündelte, installierbare ZIP-Struktur. Dieselbe Version ermöglicht mit EnterWorktree während einer Sitzung den Wechsel zwischen von Claude verwalteten Worktrees und lässt Hintergrund-Worktrees nach Abschluss des Agenten entsperrt, sodass git worktree remove/prune reibungslos funktionieren. Hermes Agent v0.15.1 (29. Mai) ist der am selben Tag veröffentlichte Velocity-Hotfix: Behebung der Dashboard-401-Neuladeschleife im Loopback-Modus, Docker erfordert jetzt ausdrücklich HERMES_DASHBOARD_INSECURE=1, einfache MCP-Befehle (npx, npm, node) werden in Docker aufgelöst, die Skills-Seite wurde wiederhergestellt, Kanban-Worker reagieren sauber auf SIGTERM und der Skills.sh-Katalog wuchs über die Sitemap von 858 auf 19.932 Einträge. Hermes v0.15.2 (29. Mai) ist ein reiner Packaging-Hotfix, der plugin.yaml-Manifeste in Wheel- und sdist-Distributionen bündelt. 58
2026-05-28 Leitfaden v1.14: Architekturmuster-Durchlauf für Claude Code v2.1.152-v2.1.154 + Codex v0.134.0-v0.135.0 + Hermes v0.15.0. Claude Code änderte Standardwerte und ergänzte Orchestrierungsprimitive: Opus 4.8 ist jetzt standardmäßig mit hohem Aufwand aktiv und bietet neu /effort xhigh; dynamische Workflows orchestrieren über /workflows Dutzende bis Hunderte Agenten im Hintergrund; der schlanke System-Prompt ist jetzt für alle Modelle außer Haiku/Sonnet/Opus 4.7 und älter die Standardeinstellung; mit dem neuen hook-Ereignis MessageDisplay können hooks den angezeigten Assistententext umwandeln oder ausblenden; disallowed-tools im Frontmatter von skills/Befehlen entfernt Werkzeuge, solange der skill aktiv ist; /reload-skills durchsucht skill-Verzeichnisse ohne Neustart erneut; SessionStart hooks können reloadSkills: true zurückgeben und hookSpecificOutput.sessionTitle festlegen; --fallback-model wechselt während einer Sitzung das Modell, wenn das primäre Modell fehlt; der automatische Modus erfordert keine vorherige Einwilligung mehr; die verwaltete Einstellung pluginSuggestionMarketplaces definiert eine Positivliste der Marketplace-Angebote einer Organisation für kontextbezogene Vorschläge; claude agents akzeptiert Hintergrund-Shell-Sitzungen über ! <command>; Plugins können defaultEnabled: false deklarieren; die Umgebung von stdio-MCP-Unterprozessen enthält jetzt CLAUDE_CODE_SESSION_ID und CLAUDECODE=1. Codex v0.134.0 machte --profile zur primären Profilauswahl für CLI, TUI-Berechtigungen und Sandbox-Abläufe (veraltete Konfigurationen werden mit Migrationshinweisen abgelehnt), ergänzte eine lokale Suche im Gesprächsverlauf, verbesserte die MCP-Einrichtung durch umgebungsspezifische Zielzuweisung pro Server sowie OAuth für streamingfähige HTTP-Server und ermöglichte die parallele Ausführung schreibgeschützter MCP-Werkzeuge, wenn diese readOnlyHint ausweisen; v0.135.0 ergänzte ausführlichere Diagnosen in codex doctor, Remote-Details in /status, die Bearbeitung von Vim-Textobjekten, benannte Berechtigungsprofile in /permissions sowie Sandbox-Voreinstellungen im Python SDK. Hermes Agent v0.15.0 (28. Mai) liefert das Velocity-Release: run_agent.py wurde zu 76 % auf 14 Module verteilt refaktoriert, Multi-Agent Kanban v2 bietet automatische Zerlegung und Schwarmtopologie, Bitwarden Secrets Manager ersetzt anbieterspezifische Schlüssel durch ein einziges Bootstrap-Token, Promptware-Abwehr schützt an drei sicherheitskritischen Kontrollpunkten vor Prompt-Injection der Brainworm-Klasse, hinzu kommen skill-Bundles, ein TUI-Sitzungsorchestrator zur Verwaltung mehrerer Sitzungen in einem Terminal sowie eine 4.500-mal schnellere session_search, bei der die Abhängigkeit von LLM entfernt wurde. Konsequenzen für die harness-Architektur: Das Muster benannter Profile (Codex --profile, Claude Code pluginSuggestionMarketplaces) entwickelt sich zum Standardkonfigurationsprimitiv für mandantenfähige Agentenlaufzeiten; parallele schreibgeschützte MCP-Werkzeuge (Codex readOnlyHint) sind das richtige Muster, um nicht verändernde Kontextabfragen aufzufächern; der MessageDisplay hook bietet Betreibern erstmals eine Transformationsschnittstelle, die über PostToolUse oder Stop nicht erreichbar war; und der standardmäßig schlanke System-Prompt beseitigt den langjährigen Zielkonflikt zwischen betreiberdefiniertem Kontext und Anbietergerüst. 55 56 57
2026-05-24 Leitfaden v1.13: Sicherheits- und Aktualitätsdurchlauf für Claude Code v2.1.150 + OpenAI Agents SDK v0.17.3. Lokal gab claude --version den Wert 2.1.144 (Claude Code) zurück, während die neueste npm-Version von @anthropic-ai/claude-code 2.1.150 und das neueste GitHub-Release v2.1.150 zurückgaben. Ergänzt wurden harness-Hinweise aus v2.1.149 zu Korrekturen für die Umgehung von PowerShell-Berechtigungen, für PowerShell-Zulassungsregeln und die Berechtigungsanalyse veralteter Variablen sowie für die Sandbox-Schreibpositivliste von Git-Worktrees; zudem wurde vermerkt, dass v2.1.150 ausschließlich interne Infrastruktur betrifft und keine angekündigten benutzerseitigen Änderungen enthält. Die neueste PyPI-Version von openai-agents war 0.17.3; daher weist der Abschnitt zur OpenAI-Sandbox jetzt auf die nachgelagerten Härtungsmaßnahmen in 0.17.1–0.17.3 für die Archivextraktion, GitRepo-Unterpfade, Sandbox-Zugangsdaten, relative Workspace-Stammverzeichnisse und die Verarbeitung abschließender Anbieterzustände hin.5354
2026-05-21 Leitfaden v1.12: Workflow-Durchlauf für Claude Code v2.1.147. Lokal gab claude --version den Wert 2.1.144 (Claude Code) zurück, während die neueste npm-Version von @anthropic-ai/claude-code 2.1.147 zurückgab. Das standardmäßig deaktivierte Workflow-Werkzeug wurde als deterministisches Multi-Agent-Orchestrierungsprimitiv erster Klasse ergänzt; außerdem wurde klargestellt, dass hooks, Tests, Prüf-Gates, Spawn-Budgets und Evidenzberichte weiterhin die Korrektheitsgrenze bilden.52
2026-05-15 Leitfaden v1.11: Durchlauf für Hintergrundsitzungen und Plugin-Zuverlässigkeit in Claude Code v2.1.142. Lokal gab claude --version den Wert 2.1.141 (Claude Code) zurück, während die neueste npm-Version von @anthropic-ai/claude-code 2.1.142 zurückgab. Ergänzt wurden Betreiberhinweise zu den neuen Dispatch-Flags von claude agents, zur Standardeinstellung des Fast-Modus von Opus 4.7, zur Erkennung von Plugin-SKILL.md auf Stammebene, zur Sichtbarkeit von Plugin-LSP, zum Remote-HTTP/SSE-Verhalten von MCP_TOOL_TIMEOUT sowie zu Zuverlässigkeitskorrekturen für Hintergrundsitzungen, Daemons und den Plugin-Cache.51
2026-05-14 Leitfaden v1.10: Durchlauf für Betreibersignalisierung und Geltungsbereiche in Claude Code v2.1.141. Lokal gab claude --version den Wert 2.1.141 (Claude Code) zurück, und die neueste npm-Version von @anthropic-ai/claude-code war ebenfalls 2.1.141. Ergänzt wurden hook-Hinweise zu terminalSequence als Betreibersignal statt als Durchsetzungsmechanismus, ein Vermerk zu claude agents --cwd <path> für die verzeichnisbezogene Agent View sowie eine Dokumentation der Architekturauswirkungen von CLAUDE_CODE_PLUGIN_PREFER_HTTPS und ANTHROPIC_WORKSPACE_ID auf die Plugin-Installation und den Geltungsbereich der Föderation von Workload-Identitäten.50
2026-05-13 Leitfaden v1.9: Zuverlässigkeitsdurchlauf für Claude Code v2.1.140. Lokal gab claude --version den Wert 2.1.140 (Claude Code) zurück. subagent_type wurde den Hinweisen zu Agenten-hooks hinzugefügt und der Abschnitt zur hook-Governance um die Korrekturen aus v2.1.140 für ConfigChange, disableAllHooks, allowManagedHooksOnly, die Anzeige von Umgebungsvariablen im Berechtigungsdialog, das Zurücksetzen benutzerdefinierter Stile nach der Einstellungssynchronisierung, den Fallback auf native Pakete unter Windows Git Bash und das Verhalten von /scroll-speed aktualisiert.49
2026-05-11 Leitfaden v1.8: Aktualitätsdurchlauf für Claude Code v2.1.139 + gezielte Prüfung von Agentensicherheit und Speicher. Die lokale Ausgabe von claude --version wurde als 2.1.139 verifiziert und die betrieblichen Änderungen aus v2.1.139 wurden ergänzt: Agent View über claude agents, Abschluss-Loops mit /goal, args für Befehls-hooks, PostToolUse continueOnBlock, MCP CLAUDE_PROJECT_DIR sowie die OpenTelemetry-Korrektur für aktive Zeit.424344 Hinzu kamen ein Hinweis zur Speicherkuratierung aus dem arXiv-Preprint „The Memory Curse“, Empfehlungen zur menschlichen Zusammenführungsautorität aus dem arXiv-Preprint zum PR-Lebenszyklus sowie Sicherheitshinweise zu Agentenprotokollen und Guardrails aus den Sicherheitshinweisen von Gryph Agents und LiteLLM.45464748 Die veraltete Zeile zum Token-Budget von Skills gegenüber Hooks und Subagents wurde von 2 % auf das aktuelle Budget von 1 % bzw. 8.000 Zeichen für skill-Beschreibungen korrigiert.
2026-05-09 Leitfaden v1.7: Follow-up an Tag 3 zu Claude Code v2.1.136 + openai-agents-python v0.17.0. Der Unterabschnitt zu autoMode.hard_deny sowie zu Hook-/Plugin-Korrekturen in v2.1.136 wurde der Hook-Architektur hinzugefügt. Er behandelt die neue Stufe für bedingungsloses Blockieren, die Korrektur für das Verschwinden von MCP nach /clear in VS Code/JetBrains/Agent SDK, den Verlust des OAuth-Aktualisierungstokens von MCP bei gleichzeitiger Aktualisierung, die Korrektur der Schreibblockierung im Planungsmodus, wenn eine Edit(...)-Zulassungsregel zutraf, einen Wettlauf bei der Cache-Bereinigung durch die Plugin-Ereignisse Stop/UserPromptSubmit, das Ausblenden des standardmäßigen Ordners skills/ durch einen skills-Eintrag sowie nach /resume//clear veraltete Umgebungsvariablen aus SessionStart-hooks in CLAUDE_ENV_FILE.40 Der Unterabschnitt zur OTel-Feedbackumfrage wurde den Produktionsmustern hinzugefügt und behandelt CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL.40 Der Unterabschnitt „Die Sandbox“ wurde um die Absicherung in openai-agents-python v0.17.0 erweitert: LocalFile.src / LocalDir.src sind auf Pfade innerhalb von base_dir beschränkt, sofern sie nicht über Manifest.extra_path_grants mit SandboxPathGrant freigegeben werden.41 Der Hinweis zum Standardmodell von RealtimeAgent (gpt-realtime-2) wurde zu verwalteten und selbst gehosteten harnesses hinzugefügt.41 Nur im Änderungsprotokoll: Claude Code v2.1.137 (Korrektur der Win-VSCode-Aktivierung), v2.1.138 (interne Korrekturen); claude-agent-sdk-python v0.1.78 (CLI-Paket v2.1.136), v0.1.79 (CLI-Paket v2.1.137), v0.1.80 (CLI-Paket v2.1.138).
2026-05-08 Leitfaden v1.6: Follow-up an Tag 2 zu Claude Code v2.1.132/v2.1.133 + SDK v0.1.77. Der Unterabschnitt zur Skill-Oberfläche von SDK wurde dem Skills-System hinzugefügt und behandelt die Option skills in ClaudeAgentOptions sowie die Einstellung von "Skill" in allowed_tools.37 Der Unterabschnitt zu Aufwand und Sitzungshistorie wurde der Hook-Architektur hinzugefügt und behandelt das neue JSON-Feld effort.level sowie die Umgebungsvariable $CLAUDE_EFFORT in der Hook-Eingabe und die Umgebungsvariable CLAUDE_CODE_SESSION_ID in Bash-Unterprozessen.3839 Die Tabelle der Subagent-Konfigurationsfelder wurde um die Korrektur der Skill-Erkennung durch Subagents ergänzt (Subagents erkennen nun Projekt-, Benutzer- und Plugin-skills über das Tool Skill; vor v2.1.133 wurden diese stillschweigend verworfen).39 Der Unterabschnitt zu Worktree-Basis, Sandbox-Pfaden und Administratoreinstellungen wurde den Produktionsmustern hinzugefügt und behandelt worktree.baseRef (Rücknahme der inkompatiblen Standardänderung von lokalem HEAD zurück zu origin/<default>), sandbox.bwrapPath, sandbox.socatPath und parentSettingsBehavior.39
2026-05-07 Leitfaden v1.5: Verwaltete Agents von Claude, SF-Erweiterung vom 6. Mai. Strategie 5 (verwaltete Speicherkuratierung: Dreaming, Forschungsvorschau) wurde dem Abschnitt zu Speicher und Kontext hinzugefügt, einschließlich einer Tabelle, die das Dateisystem als Speicher mit Dreaming vergleicht.35 Verwaltete Multiagent-Orchestrierung (öffentliche Beta) und Outcomes (öffentliche Beta) wurden am Anfang der Multi-Agent-Orchestrierung ergänzt, mit wörtlichen Zitaten von Anthropic zu Spezialisten mit gemeinsamem Dateisystem und zur Ablaufverfolgung in der Claude Console sowie einer Vergleichstabelle zur selbst gehosteten Deliberation. Ein Unterabschnitt zum Hook-Ereignisstreaming auf SDK-Seite wurde hinzugefügt, der include_hook_events und HookEventMessage aus claude-agent-sdk-python v0.1.74 behandelt.36 Nur im Änderungsprotokoll: Claude Code v2.1.124-v2.1.131 (claude project purge, --dangerously-skip-permissions für Projektordner, skill_activated invocation_trigger, Korrektur der Formatierung beim Speichern für PostToolUse, Korrektur der Blockierung mit JSON+Exit-Code 2 für PreToolUse, skillOverrides-Einstellungen); claude-agent-sdk-python v0.1.72 (CLI 2.1.126), v0.1.73 (session_store_flush), v0.1.75 (CLI 2.1.131), v0.1.76 (api_error_status); openai-agents-python v0.15.0-v0.16.1, wobei v0.16.0 (7. Mai) standardmäßig gpt-5.4-mini verwendet, die implizite Obergrenze für max_turns entfernt und die parallele Tool-Ausführung auf SDK-Seite hinzufügt.
2026-05-07 Leitfaden v1.4: Die Hook- und Skill-Mechanik von Claude Code wurde anhand der aktuellen offiziellen Dokumentation und lokaler Laufzeitnachweise aktualisiert (claude --version 2.1.132, codex --version gab codex-cli 0.128.0 zurück). Die Hook-Oberfläche wurde von 22/26+ auf 29 dokumentierte Ereignisse aktualisiert, das Budget für Skill-Beschreibungen von 2 %/16.000 auf 1 %/8.000 korrigiert, die Anzahl der Hook-Typen mit mcp_tool von vier auf fünf geändert, die nicht belegte feste Angabe von „10 parallelen subagents“ entfernt und ein öffentlich unbedenklicher Abschnitt zur Funktionsparität mit Codex hinzugefügt, der AGENTS.md, skills, hooks, plugins und explizite Subagent-Workflows behandelt.
2026-04-29 Leitfaden v1.3: Die Behandlung von OpenAI Agents SDK im Abschnitt zu verwalteten und selbst gehosteten harnesses wurde um die benannte SDK-Oberfläche aus openai-agents Python v0.14.0 (15. April) erweitert — SandboxAgent, Manifest, SandboxRunConfig, Sandbox-Speicher mit progressiver Offenlegung, Workspace-Einbindungen (S3/R2/GCS/Azure), portable Snapshots und die lokalen/Docker/gehosteten Client-Backends (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel). Die sekundäre Quellenangabe von Help Net Security wurde durch die primäre Quellenangabe zu den Versionshinweisen von v0.14.0 ersetzt. Ein kurzer Hinweis zu claude-agent-sdk-python v0.1.69-v0.1.71 (28.–29. April) wurde als dritte selbst gehostete Option hinzugefügt (Einbettung der Claude Code-Laufzeit als Python-Bibliothek): Das gebündelte Claude CLI wurde auf v2.1.123 aktualisiert, die Mindestversion der Abhängigkeit mcp auf >=1.19.0 angehoben (ältere Versionen verwarfen CallToolResult aus prozessinternen MCP-Tools stillschweigend), die Abbruchbehandlung in Trio-Nurseries korrigiert und die Felder der Zulassungsliste von SandboxNetworkConfig an die TS-SDK angeglichen. Verbesserungen an SDK in v0.14.7-v0.14.8 sind in [^58] dokumentiert.
2026-04-25 Leitfaden v1.2: Google Cloud Next 2026 (22.–24. April) — Vertex AI wurde in Gemini Enterprise Agent Platform umbenannt; Agentspace ging im vereinheitlichten Gemini Enterprise auf; Workspace Studio (No-Code-Agent-Builder); mehr als 200 Modelle im Model Garden, einschließlich Anthropic Claude; Partner-Agents von Box, Workday, Salesforce und ServiceNow; ADK v1.0 stabil in vier Sprachen; Project Mariner (Web-Browsing-Agent); verwaltete MCP-Server mit Apigee als Brücke zwischen API und Agent; A2A-Protokoll v1.0 bei 150 Organisationen im Produktiveinsatz. Microsoft Agent Framework 1.0 (April 2026): stabile APIs, LTS-Zusage, vollständige MCP-Unterstützung, .NET + Python. Die browserbasierte DevUI, die Agent-Ausführung und Tool-Aufrufe in Echtzeit visualisiert, wird zusammen mit der stabilen 1.0-Oberfläche als Vorschau ausgeliefert. Salesforce Headless 360 (15. April, TDX): Jede Salesforce-Funktion (CRM, Service, Marketing, E-Commerce) wird als API-/MCP-Tool-/CLI-Befehl bereitgestellt, sodass Agents wie Claude Code, Cursor und Codex ohne Browser auf der Plattform aufbauen können. (Die TDX 2026 fand vom 15.–16. April statt; die Ankündigung von Headless 360 ist auf den 15. April datiert.) MetaComp StableX KYA (21. April): Know-Your-Agent-Governance-Framework für regulierte Finanzdienstleistungen (Zahlungen, Compliance, Vermögensverwaltung) — das erste seiner Art von einem lizenzierten Finanzinstitut; verfügbar für Claude, Claude Code, OpenClaw und andere kompatible KI-Plattformen. Preisgestaltung für verwaltete Agents von Claude: 0,08 $ pro Sitzungsstunde, während eine Sitzung läuft, ohne Laufzeitgebühr im Leerlauf — zusätzlich zu den üblichen Tokenpreisen für Claude-Modelle. (Gemäß der Claude-Preisseite von Anthropic; die öffentliche Beta startete am 8. April 2026.) Speicher für verwaltete Agents trat am 23. April 2026 unter dem Beta-Header managed-agents-2026-04-01 in die öffentliche Beta ein. Dieser Beta-Header ist nun für alle Endpunkte verwalteter Agents erforderlich.
2026-04-16 Leitfaden v1.1: Ein Abschnitt zu verwalteten und selbst gehosteten harnesses wurde hinzugefügt, der verwaltete Agents von Claude (Beta vom 8. April) und die Trennung von harness und Rechenleistung in OpenAI Agents SDK (16. April) behandelt. Scion, ein toolübergreifender Multi-Agent-Hypervisor (7. April, Google), wurde ergänzt. Die Erkenntnis zum Debattenplateau aus M3MAD-Bench wurde dokumentiert. Die fünf Prinzipien vertrauenswürdiger Agents (Anthropic, 9. April) sowie die Governance von MCP/AGENTS.md durch die Linux Foundation wurden hinzugefügt. Permiso SandyClaw wurde als Referenz für Skill-Sandboxing ergänzt. Neue Langzeithorizontmuster für Opus 4.7: Widerstandsfähigkeit bei Tool-Fehlern, Aufwandsstufe xhigh, Tokenbudget-Obergrenze (task_budget-Beta), Bewusstsein für implizite Anforderungen zur Verringerung des CLAUDE.md-Scaffoldings.
2026-03-24 Erstveröffentlichung

Quellenangaben


  1. Andrej Karpathy über „claws“ als neue Ebene über LLM-Agents. HN-Diskussion (406 Punkte, 917 Kommentare). 

  2. Implementierung des Autors. 84 hooks, 48 skills, 19 Agents, ca. 15.000 Zeilen Orchestrierungscode. Dokumentiert in Claude Code als Infrastruktur

  3. Anthropic, „Claude Code Hooks: Exit Codes“. code.claude.com/docs/en/hooks. Exit-Code 0 erlaubt die Ausführung, Exit-Code 2 blockiert sie und Exit-Code 1 gibt bei den meisten Ereignissen eine Warnung aus; WorktreeCreate ist strenger. 

  4. Anthropic, „Claude mit Skills erweitern“. code.claude.com/docs/en/skills. Skill-Struktur, Frontmatter-Felder, LLM-basiertes Matching und ein Beschreibungsbudget von 1 % bzw. 8.000 Zeichen. 

  5. Anthropic, „Claude Code Sub-agents“. code.claude.com/docs/en/sub-agents. Isolierter Kontext, Worktree-Unterstützung, Agent-Teams. 

  6. Anthropic, „Claude Code-Dokumentation“. docs.anthropic.com/en/docs/claude-code. Memory-Dateien, CLAUDE.md, Auto-Memory. 

  7. Multi-Agent-Deliberationssystem des Autors. 10 Forschungspersonas, eine 7-phasige Zustandsmaschine, 141 Tests. Dokumentiert in Multi-Agent-Deliberation

  8. Simon Willison, „Code zu schreiben ist jetzt billig“. Agentic Engineering Patterns

  9. Laban, Philippe, et al., „LLMs verlieren in Gesprächen über mehrere Runden den Faden“, arXiv:2505.06120, Mai 2025. Microsoft Research und Salesforce. 15 LLMs, mehr als 200.000 Gespräche, durchschnittlicher Leistungsabfall von 39 %. 

  10. Mikhail Shilkov, „Einblick in Claude Code Skills: Struktur, Prompts, Aufruf“. mikhail.io. Unabhängige Analyse der Skill-Erkennung, Kontextinjektion und des Prompt-Abschnitts available_skills

  11. Claude Code-Quellcode, SLASH_COMMAND_TOOL_CHAR_BUDGET. github.com/anthropics/claude-code

  12. Anthropic, „Best Practices für die Erstellung von Skills“. platform.claude.com. Begrenzung auf 500 Zeilen, unterstützende Dateien, Namenskonventionen. 

  13. Anthropic, „Claude Code Hooks: Lebenszyklusereignisse“. code.claude.com/docs/en/hooks. 30 dokumentierte Lebenszyklusereignisse, Hook-Typen, Matcher-Verhalten, asynchrone hooks, HTTP-hooks, Prompt-hooks, Agent-hooks und MCP-Tool-hooks. 

  14. Claude Code-Hooks-Tutorial des Autors. 5 von Grund auf entwickelte Produktions-hooks. Dokumentiert in Claude Code-Hooks-Tutorial

  15. Kontextfensterverwaltung des Autors über 50 Sitzungen hinweg. Dokumentiert in Kontextfensterverwaltung

  16. Ralph-Loop-Implementierung des Autors. Iteration mit frischem Kontext, Dateisystemzustand und Spawn-Budgets. Dokumentiert in Der Ralph Loop

  17. Architektur des Deliberationssystems des Autors. 3.500 Zeilen Python, 12 Module, Konfidenzauslöser, Konsensvalidierung. Dokumentiert in KI-Systeme entwickeln: von RAG zu Agents

  18. Nemeth, Charlan, In Defense of Troublemakers: The Power of Dissent in Life and Business, Basic Books, 2018. 

  19. Wu, H., Li, Z. und Li, L., „Können LLM-Agents wirklich debattieren?“ arXiv:2511.07784, 2025. 

  20. Liang, T. et al., „Förderung divergenten Denkens in großen Sprachmodellen durch Multi-Agent-Debatten“, EMNLP 2024

  21. AGENTS.md-Analyse des Autors anhand realer Repositorys. Dokumentiert in AGENTS.md-Muster. Siehe auch: GitHub Blog, „Wie Sie eine hervorragende agents.md schreiben: Erkenntnisse aus über 2.500 Repositorys“. 

  22. Methodik des Autors für quality loop und evidence gate. Bestandteil des Jiro-Craftsmanship-Systems. 

  23. Anthropic, „Überblick über Claude Managed Agents“. Die öffentliche Betaphase begann am 8. April 2026. Harness-as-a-Service mit Sitzungs-Checkpoints, integrierter Sandbox und REST-API. Preis: Standard-Tokenkosten + 0,08 US-Dollar pro Sitzungsstunde. Beta-Header managed-agents-2026-04-01

  24. OpenAI, „Versionshinweise zu openai-agents Python v0.14.0“. Veröffentlicht am 15. April 2026; die Ankündigung erfolgte am 16. April. Führt die Sandbox Agents-SDK-Oberfläche als Betaebene über dem bestehenden Agent- beziehungsweise Runner-Ablauf ein: SandboxAgent, Manifest (Workspace-Vertrag), SandboxRunConfig, Funktionen (Shell, Dateisystembearbeitung, Bildinspektion, skills, Sandbox-Memory, Komprimierung), Workspace-Mounts (lokal, Git, remote: S3, R2, GCS, Azure Blob, S3 Files), portable Snapshots mit Pfadnormalisierung und Erhaltung symbolischer Links sowie die Serialisierung des Ausführungszustands zur Wiederaufnahme. Backends: UnixLocalSandboxClient, DockerSandboxClient sowie über optionale Extras verfügbare gehostete Clients für Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop und Vercel. Die Ankündigung vom 16. April wurde bei Help Net Security zusammengefasst. 

  25. Google Cloud, „Scion: Multi-Agent-Hypervisor“. Am 7. April 2026 als Open Source veröffentlicht. Orchestriert Claude Code, Gemini CLI und andere Deep Agents als isolierte Prozesse mit eigenem Container, Git-Worktree und eigenen Anmeldedaten pro Agent. Bereitstellungsmodi: lokal, Hub und Kubernetes. Berichterstattung von InfoQ

  26. Forschungscluster zu Multi-Agent-Debatten, Q1–Q2 2026. Wu et al., „Können LLM-Agents wirklich debattieren?“ (arXiv 2511.07784); M3MAD-Bench — Benchmark für Multi-Modell-Multi-Agent-Debatten, der Leistungsplateaus und die Anfälligkeit für irreführenden Konsens aufzeigt; Tool-MAD — heterogene Tool-Zuweisung pro Agent sowie Faithfulness-/Relevance-Bewertungen durch einen Judge. 

  27. Anthropic, „Unser Rahmenwerk für die Entwicklung sicherer und vertrauenswürdiger Agents“. 9. April 2026. Fünf Prinzipien: menschliche Kontrolle, Werteausrichtung, Sicherheit, Transparenz und Datenschutz. MCP-Spende an die Agentic AI Foundation der Linux Foundation. 

  28. Permiso Security, „SandyClaw: Erste dynamische Sandbox für AI-Agent-Skills“. 2. April 2026. Sandbox für die Skill-Ausführung mit Sigma-/YARA-/Nova-/Snort-Erkennung und evidenzgestützten Bewertungen. 

  29. Anthropic, „Einführung von Claude Opus 4.7“. 16. April 2026. Verbesserungen für langfristig arbeitende Agents: dreimal so viele gelöste SWE-Bench-Produktionsaufgaben wie bei Opus 4.6, Robustheit gegenüber Tool-Fehlern, xhigh-Aufwandsstufe, Aufgabenbudgets (Beta), Erkennung impliziter Anforderungen. Siehe auch Neuerungen in Opus 4.7 zu Breaking Changes an der Messages-API. 

  30. Zusammengesetzte Referenz — OpenAI openai-agents-python v0.14.7 (28. April 2026) und v0.14.8 (29. April 2026); Anthropic claude-agent-sdk-python v0.1.69 (28. April), v0.1.70 (28. April) und v0.1.71 (29. April). Highlights von v0.14.7: praktische Eigenschaften tool_name/call_id für Tool-Elemente, höheres Rundenlimit für die Speicherkonsolidierung in Phase 2, GPT-5.5-Aliasse für die Sandbox-Kompaktierung, strengere Validierung von tar-/zip-Einträgen, Ablehnung symbolischer Links in LocalFile-Quellen, Entfernung nicht gesetzter Felder aus Responses-API-Aufrufen. Highlights von v0.14.8: Beibehaltung von Importfehlern bei MCP-Re-Exports, Abgrenzung der Abschnitte mit Sandbox-Prompt-Anweisungen. claude-agent-sdk-python v0.1.69 ergänzte die Felder von ClaudeAgentOptions um Docstrings und aktualisierte die gebündelte CLI auf v2.1.121; v0.1.70 erhöhte die Mindestversion der mcp-Abhängigkeit auf >=1.19.0 (ältere Versionen verwarfen Rückgabewerte vom Typ CallToolResult aus prozessinternen MCP-Tool-Handlern stillschweigend), behob eine Beschädigung der Trio-Nursery bei vorzeitiger Abbrechung während der Iteration über query() mit gesetztem options.stderr (für den stderr-Reader wird nun spawn_detached() verwendet) und aktualisierte die gebündelte CLI auf v2.1.122; v0.1.71 ergänzte SandboxNetworkConfig um Felder für Domain-Zulassungslisten (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup), um Parität mit dem TypeScript-Schema herzustellen, und aktualisierte die gebündelte CLI auf v2.1.123. 

  31. OpenAI, „Benutzerdefinierte Anweisungen mit AGENTS.md“. Codex liest vor Arbeitsbeginn globale und projektbezogene Dateien vom Typ AGENTS.md / AGENTS.override.md, führt Anweisungen vom Stammverzeichnis bis zum aktuellen Verzeichnis zusammen und begrenzt Projektdokumente anhand von project_doc_max_bytes

  32. OpenAI, „Agent Skills“. Codex skills verwenden SKILL.md, progressive Offenlegung, explizite Aufrufe mit $skill und implizite Aktivierung anhand von Beschreibungen. 

  33. OpenAI, „Codex Hooks“. Codex hooks unterstützen Befehls-Hooks in der Konfiguration, Plugin-Hooks, verwaltete Hooks, Matcher für unterstützte Ereignisse, JSON-Eingaben über stdin und JSON-Ausgabefelder. 

  34. OpenAI, „Codex Subagents“ und „Änderungsprotokoll zu Codex CLI 0.128.0“. Codex unterstützt explizite parallele subagent-Arbeitsabläufe, integrierte Agenten vom Typ default, worker und explorer, benutzerdefinierte TOML-Agenten, vererbte Sandbox-Richtlinien, in Plugins gebündelte hooks, den Aktivierungsstatus von hooks sowie persistente /goal-Arbeitsabläufe in 0.128.0. 

  35. Anthropic, „Neu in Claude Managed Agents“. 6. Mai 2026. Dreaming (Forschungsvorschau): geplanter Hintergrundprozess, der Agentensitzungen und Speicherbestände prüft, Muster extrahiert und Erinnerungen kuratiert. Outcomes (öffentliche Betaversion): rubric-basierte Bewertung, bei der ein separater Bewerter die Ausgabe in seinem eigenen Kontextfenster anhand der rubric bewertet, sodass er nicht durch die Schlussfolgerungen des Agenten beeinflusst wird. Multiagent Orchestration (öffentliche Betaversion): Ein leitender Agent delegiert Teile einer Aufgabe an Spezialisten, die jeweils über ein eigenes Modell, einen eigenen Prompt und eigene Tools verfügen; die Spezialisten arbeiten parallel in einem gemeinsamen Dateisystem und tragen zum Gesamtkontext des leitenden Agenten bei, wobei in der Claude Console jeder Schritt vollständig nachverfolgt werden kann. 

  36. Anthropic, claude-agent-sdk-python v0.1.74. 6. Mai 2026. Ergänzt ClaudeAgentOptions um include_hook_events; ist die Option gesetzt, werden hook-Ereignisse (PreToolUse, PostToolUse, Stop und weitere) von der CLI ausgegeben und im Nachrichtenstrom als HookEventMessage zurückgegeben, entsprechend includeHookEvents des TypeScript SDK. Die gebündelte Claude CLI wurde auf v2.1.129 aktualisiert. 

  37. Anthropic, claude-agent-sdk-python v0.1.77. 8. Mai 2026. Markiert den Wert "Skill" in allowed_tools zugunsten einer eigenen Option skills für ClaudeAgentOptions als veraltet, stellt Claude Code strukturiertere Informationen über verfügbare skills bereit, verbessert Fehlermeldungen bei Command failed-Ausnahmen und bündelt Claude CLI v2.1.133. 

  38. Anthropic, Claude Code v2.1.132. 6. Mai 2026. Ergänzt die Umgebungsvariable CLAUDE_CODE_SESSION_ID für Unterprozesse des Bash-Tools (entspricht der session_id, die hooks bereits erhalten), CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN, um die Unterhaltung im nativen Scrollback zu belassen, ein überarbeitetes Startbanner für /tui fullscreen (geringerer Speicherverbrauch, Mausunterstützung, automatisches Kopieren bei Auswahl) sowie etwa zwanzig Fehlerbehebungen: ordnungsgemäßes Herunterfahren bei SIGINT, Beschädigung von Surrogat-Emojis bei --resume, das Flag --permission-mode im Planmodus, Cursorbehandlung für indische Schriften und ZWJ-Sequenzen, vim-Operationen mit NFD, Verschlucken von Einfügungen, die mit / beginnen, unbegrenzter Speicherverbrauch durch MCP, Wiederholungsversuche für MCP tools/list, Bedrock- und Vertex-400-Fehler mit ENABLE_PROMPT_CACHING_1H sowie die Anzeige kumulativer Token durch context_window in der Statuszeile. 

  39. Anthropic, Claude Code v2.1.133. 7. Mai 2026. Hooks erhalten nun eine JSON-Eingabe effort.level sowie die Umgebungsvariable $CLAUDE_EFFORT (die auch über Bash-Befehle gelesen werden kann). Subagents erkennen über das Tool Skill Projekt-, Benutzer- und Plugin-skills (Behebung einer Regression). Neue Administratoreinstellungen: worktree.baseRef (fresh | head) setzt die Worktree-Basis nach dem Wechsel zu lokalem HEAD in v2.1.128 wieder auf origin/<default> zurück; mit sandbox.bwrapPath und sandbox.socatPath lassen sich Sandbox-Binärdateien unter Linux/WSL festlegen; parentSettingsBehavior ('first-wins' | 'merge') steuert, wie SDK managedSettings mit übergeordneten Einstellungen zusammengeführt werden. Weitere Fehlerbehebungen: 401-Fehler in parallelen Sitzungen nach einem Race beim Aktualisieren des Tokens, Gültigkeitsbereich von Zulassungsregeln für Laufwerksstammverzeichnisse, Proxy-/mTLS-Unterstützung für MCP OAuth, Abschluss des Abbruchs bei Stop/Interrupt über Remote Control, sitzungsübergreifendes Durchsickern von /effort, Aufnahme von --remote-control in --help

  40. Anthropic, Claude Code v2.1.136. 8. Mai 2026. Ergänzt settings.autoMode.hard_deny für Klassifizierungsregeln im automatischen Modus, die unabhängig von der Benutzerabsicht oder Ausnahmen in Zulassungsregeln bedingungslos blockieren, sowie CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, um die sitzungsinterne Qualitätsumfrage für Unternehmen wieder zu aktivieren, die Antworten über OpenTelemetry erfassen. Für Betreiber relevante Fehlerbehebungen: MCP-Server aus .mcp.json, Plugins und claude.ai-Konnektoren verschwanden nach /clear in VS Code, JetBrains und Agent SDK stillschweigend; Aktualisierungstoken für MCP OAuth gingen bei gleichzeitiger Aktualisierung verloren; der Planmodus blockierte Dateischreibvorgänge nicht, wenn eine passende Edit(...)-Zulassungsregel vorhanden war; Plugin-hooks vom Typ Stop/UserPromptSubmit schlugen fehl, wenn die Cache-Bereinigung eine noch laufende Version löschte; ein skills-Eintrag in plugin.json blendete den standardmäßigen Ordner skills/ des Plugins aus; durch SessionStart-hooks gesetzte Umgebungsvariablen in CLAUDE_ENV_FILE waren nach /resume oder /clear veraltet. Hinzu kommen etwa dreißig weitere Detail- und Zuverlässigkeitsverbesserungen für die TUI, die automatische Vervollständigung und die Terminaldarstellung. Begleitende Veröffentlichungen: v2.1.137 (9. Mai, Behebung der Windows-Aktivierung für die VSCode-Erweiterung), v2.1.138 (9. Mai, interne Fehlerbehebungen); claude-agent-sdk-python v0.1.78, v0.1.79 und v0.1.80 aktualisierten die gebündelte Claude CLI jeweils auf v2.1.136, v2.1.137 und v2.1.138. 

  41. OpenAI, openai-agents-python v0.17.0. 8. Mai 2026. RealtimeAgent verwendet standardmäßig gpt-realtime-2. Bei der Materialisierung lokaler Sandbox-Quellen werden LocalFile.src und LocalDir.src nun auf das base_dir des Manifests beschränkt (das aktuelle Arbeitsverzeichnis des SDK-Prozesses zum Zeitpunkt der Anwendung des Manifests), sofern die Quelle nicht ausdrücklich über Manifest.extra_path_grants mit SandboxPathGrant freigegeben wurde. Relative lokale Quellen werden ausgehend von base_dir aufgelöst; absolute Quellen müssen bereits darin oder unter einer expliziten Freigabe liegen. Migration: Deklarieren Sie vertrauenswürdige Host-Stammverzeichnisse auf Manifestebene, vorzugsweise schreibgeschützt. Behandeln Sie extra_path_grants als vertrauenswürdige Anwendungskonfiguration; übernehmen Sie dafür weder Modellausgaben noch nicht vertrauenswürdige Manifesteingaben. Enthält außerdem eine Korrektur für eine Kollision von extra_args bei der Responses-Kontextverwaltung. 

  42. Anthropic, Claude Code v2.1.139. Mai 2026. Lokaler Nachweis aus der aktuellen Sitzung vom 11. Mai 2026: claude --version gab 2.1.139 (Claude Code) zurück. Die Versionshinweise ergänzen Agent View (claude agents), /goal, args: string[] für hooks, continueOnBlock für PostToolUse, CLAUDE_PROJECT_DIR für MCP-stdio-Server, die Interpolation von Plugin-Befehlen für ${CLAUDE_PROJECT_DIR} sowie Fehlerbehebungen, darunter die OpenTelemetry-Ausgabe von claude_code.active_time.total im --print-Modus. 

  43. Anthropic, „Mehrere agents mit Agent View verwalten“. Die Dokumentation zu Agent View beschreibt, wie sich zahlreiche Claude Code-Sitzungen über eine einzige Ansicht verteilen und verwalten lassen, wie Sie die Aktivitäten der einzelnen Sitzungen verfolgen und Sitzungen erkennen können, die Eingaben eines Operators benötigen. Die Seite kennzeichnet Agent View als Research Preview und dokumentiert Einschränkungen lokaler Sitzungen. 

  44. Anthropic, „Claude Code Hooks“. Dokumentation zu hooks, die Felder von Befehls-hooks, PreToolUse, PostToolUse, das Verhalten von Exit-Codes, Ein- und Ausgaben von hooks sowie direkte Erweiterungspfade für Slash-Befehle behandelt. 

  45. GitHub Advisory Database, GHSA-f3jg-756w-gm35 / CVE-2026-45046. „Der Gryph Agents Payload Filter entfernt Tool-Nutzdaten mit vertraulichen Inhalten nicht.“ Veröffentlicht im Mai 2026; beschreibt, dass vertrauliche Inhalte von file-write-Nutzdaten beim standardmäßigen Protokollierungsverhalten in lokalen SQLite-Protokollen verbleiben, und dass der Fehler in Gryph v0.7.0 behoben wurde. 

  46. OSV, GHSA-wxxx-gvqv-xp7p / CVE-2026-40217. „LiteLLM weist einen Sandbox-Ausbruch in der Schutzvorrichtung für benutzerdefinierten Code auf.“ Veröffentlicht am 11. Mai 2026; beschreibt einen durch Administratorrechte geschützten Endpunkt POST /guardrails/test_custom_code, der vom Benutzer bereitgestelltes Python in einer selbst entwickelten Sandbox ausführt, und empfiehlt ein Upgrade oder, falls dies nicht möglich ist, die Sperrung des Endpunkts. 

  47. Young Jo (seph) Chung und Safwat Hassan, „Mitarbeiter oder Assistent? Wie KI-Coding-agents die Arbeit über den Lebenszyklus von Pull Requests hinweg aufteilen“, arXiv:2605.08017v1, Mai 2026. Laut Zusammenfassung wurden 29.585 PR-Lebenszyklen bei OpenAI, Copilot, Devin, Cursor und Claude Code analysiert, wobei zwischen operativer Handlungsfähigkeit und Merge-Governance unterschieden wurde. 

  48. Jiayuan Liu et al., „Der Fluch des Gedächtnisses: Wie erweiterte Erinnerung die Kooperationsabsicht von LLM-Agents untergräbt“, arXiv:2605.08060v1, Mai 2026. Die Zusammenfassung berichtet von Experimenten mit 7 LLMs und 4 Spielen über 500 Runden, bei denen ein erweiterter zugänglicher Verlauf die Kooperation in 18 von 28 Modell-Spiel-Konstellationen verschlechterte. 

  49. Anthropic, Claude Code v2.1.140. 12. Mai 2026. Ergänzt subagent_type in der Eingabe von agent hooks und behebt Fehler bei ConfigChange hooks, disableAllHooks, allowManagedHooksOnly, der Anzeige von Umgebungsvariablen aus hook-Ergebnissen im Berechtigungsdialog, dem Zurücksetzen benutzerdefinierter Stile nach Einstellungsänderungen, der Ausweichlösung für die Auflösung nativer Pakete unter Windows Git Bash sowie bei /scroll-speed

  50. Anthropic, Claude Code v2.1.141. 13. Mai 2026. Ergänzt terminalSequence in der JSON-Ausgabe von hooks für Desktop-Benachrichtigungen, Fenstertitel und Signaltöne; CLAUDE_CODE_PLUGIN_PREFER_HTTPS zum Klonen von HTTPS-Plugin-Quellen; ANTHROPIC_WORKSPACE_ID zur Eingrenzung von Workspaces bei der Workload Identity Federation; claude agents --cwd <path> zum Filtern von Verzeichnissen in Agent View; Optionen zum Anhängen von Sitzungen der letzten 24 Stunden oder 7 Tage an /feedback; sowie zugehörige Fehlerbehebungen für agents, Hintergrundaufträge, hooks, MCP, Remote Control, Berechtigungsdialoge und Terminaldarstellung. Überprüfung in der aktuellen Sitzung am 14. Mai 2026: claude --version gab 2.1.141 (Claude Code) zurück und npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --json meldete 2.1.141 als neueste Version. 

  51. Anthropic, Claude Code v2.1.142. 14. Mai 2026. Ergänzt Dispatch-Flags für claude agents bei Hintergrundsitzungen (--add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, --dangerously-skip-permissions), stellt den Fast-Modus standardmäßig auf Opus 4.7 um und bietet CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 als Override für die feste Versionsbindung, stellt SKILL.md-Dateien im Stammverzeichnis von Plugins als skills bereit, wenn kein Verzeichnis skills/ vorhanden ist, zeigt von Plugins bereitgestellte LSP-Server in den Plugin-Details an, warnt vor dem Ersetzen einer bestehenden GitHub App-Verbindung und behebt Zuverlässigkeitsprobleme bei MCP_TOOL_TIMEOUT, Worktrees von Hintergrundsitzungen, dem Ruhe- und Aufwachverhalten des Daemons, der Daemon-Bereinigung nach Upgrades, dem Plugin-Cache und Agent View. Überprüfung in der aktuellen Sitzung am 15. Mai 2026: claude --version gab 2.1.141 (Claude Code) zurück und npm meldete 2.1.142 als neueste Version. 

  52. Anthropic, Claude Code v2.1.147. 21. Mai 2026. Ergänzt das standardmäßig deaktivierte Workflow-Tool für deterministische Multi-Agent-Orchestrierung (CLAUDE_CODE_WORKFLOWS=1), angeheftete Hintergrundsitzungen, /code-review [effort] --comment als Ersatz für /simplify, Sandbox-Härtungen für REPL und Workflow, Diagnosen für automatische Updates, Verbesserungen bei der Darstellung großer Diffs, die Deduplizierung des Prompt-Verlaufs sowie Fehlerbehebungen für Anmeldebeschränkungen in Unternehmen, das PowerShell-Verhalten, die MCP-Paginierung, Agent View, Plugins, hook-Bedingungen, eingefügten Text und Schleifen mit entfernten Bildern. Überprüfung in der aktuellen Sitzung am 21. Mai 2026: claude --version gab 2.1.144 (Claude Code) zurück und npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --json meldete 2.1.147 als neueste Version mit time.modified 2026-05-21T20:38:35.053Z

  53. Anthropic, Claude Code v2.1.148, v2.1.149, v2.1.150 und Claude Code CHANGELOG. v2.1.148 behebt eine mit v2.1.147 eingeführte Regression bei Bash-Exit-Codes. v2.1.149 ergänzt die Nutzung kategorieweiser Limits in /usage, Tastatur-Scrolling in /diff, die Darstellung von GFM-Aufgabenlisten und allowAllClaudeAiMcps für Enterprise; für den harness relevante Fehlerbehebungen betreffen das Umgehen von Berechtigungen mit PowerShell-cd, die Berechtigungsanalyse für Präfixe, Platzhalter und veraltete Variablen in PowerShell, den Geltungsbereich der Sandbox-Schreibfreigabeliste für Git-Worktrees, die Erschöpfung von vnodes durch Bash-find unter macOS, das Einfrieren von Genehmigungen bei verwalteten Einstellungen, die Diagnose von Leerzeichen in Pfaden für otelHeadersHelper und die Synchronisierung umbenannter Remote-Control-Sitzungen. v2.1.150 betrifft ausschließlich die interne Infrastruktur. Überprüfung in der aktuellen Sitzung am 24. Mai 2026: Das lokale claude --version gab 2.1.144 (Claude Code) zurück, während npm 2.1.150 als neueste Version mit time.modified 2026-05-23T04:03:10.243Z meldete; die neueste GitHub-Version war v2.1.150, veröffentlicht am 2026-05-23T04:03:51Z

  54. OpenAI, openai-agents-python v0.17.1, v0.17.2 und v0.17.3. v0.17.1 ergänzt Fehlerdetails von Sandbox-Anbietern, Größenbeschränkungen für die Archivextraktion, die Validierung von GitRepo-Unterpfaden sowie Fehlerbehebungen für Tracing, Sitzungen und Echtzeitfunktionen. v0.17.2 behebt die Speicherung von Schlussfolgerungsdaten in Conversations, Ablehnungsgründe für lokale Genehmigungen, AsyncSQLiteSession-Einstellungen und das Echtzeitverhalten bei unbekannten Tools. v0.17.3 hält Zugangsdaten für Einhängepunkte aus Sandbox-Befehlen heraus, lehnt relative Stammverzeichnisse für Sandbox-Workspaces ab, verarbeitet endgültige Zustände von Vercel-Sandboxes und behebt Randfälle bei Ausgabeschemata, guardrails, Laufzeit und Speicherimporten. Überprüfung in der aktuellen Sitzung am 24. Mai 2026: python3 -m pip index versions openai-agents meldete 0.17.3 als neueste Version; die neueste GitHub-Version war v0.17.3, veröffentlicht am 2026-05-19T01:27:36Z

  55. Claude Code Changelog (kanonisch), Versionshinweise zu v2.1.152, Versionshinweise zu v2.1.153, Versionshinweise zu v2.1.154. v2.1.152 (27. Mai) ergänzt das Hook-Ereignis MessageDisplay, disallowed-tools im Frontmatter von skills/Befehlen, /reload-skills, die Ausgaben reloadSkills und sessionTitle des SessionStart-Hooks, die Anwendung von /code-review --fix auf den Arbeitsbaum, die verwaltete Einstellung pluginSuggestionMarketplaces, die Abschaffung der Anmeldung für den Auto-Modus sowie den Sitzungswechsel mit --fallback-model. v2.1.153 (28. Mai) speichert die Auswahl über /model als Standard für neue Sitzungen, während s die Auswahl auf die aktuelle Sitzung beschränkt, ergänzt skipLfs für Plugin-Marktplätze, stellt COLUMNS/LINES in der Statuszeilenumgebung bereit und behält die macOS-Datenschutz- und Sicherheitsberechtigungen für Hintergrundagenten dauerhaft bei. v2.1.154 (28. Mai) macht Opus 4.8 mit standardmäßig hoher Rechenintensität zum Standardmodell und führt die neue Option /effort xhigh ein, ergänzt dynamische Workflows über /workflows, bietet den Fast-Modus für Opus 4.8 zum zweifachen Tarif bei 2,5-facher Geschwindigkeit an, verwendet standardmäßig den schlanken System-Prompt für alle Modelle außer Haiku/Sonnet/Opus 4.7 und älteren Versionen, lässt claude agents den Befehl ! <command> für Hintergrund-Shell-Sitzungen akzeptieren, ermöglicht Plugins die Deklaration von defaultEnabled: false, übergibt CLAUDE_CODE_SESSION_ID und CLAUDECODE=1 an die Umgebung von stdio-MCP-Unterprozessen und stuft CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE als veraltet ein (am 1. Juni entfernt). 

  56. Codex Changelog (OpenAI Developers) und openai/codex-Releases. Codex CLI 0.134.0 (26. Mai 2026) ergänzte eine lokale Suche im Gesprächsverlauf, machte --profile zum primären Profilselektor für CLI-, TUI- und Sandbox-Abläufe einschließlich der Migration von Legacy-Konfigurationen, verbesserte die Einrichtung von MCP durch umgebungsspezifische Einstellungen pro Server sowie OAuth für streambare HTTP-Server, erhöhte die Zuverlässigkeit der Tool-Schemata von Konnektoren, indem lokale $ref/$defs beibehalten und übergroße Schemata vor der Bereitstellung komprimiert werden, und ermöglichte die gleichzeitige Ausführung schreibgeschützter MCP-Tools, die readOnlyHint angeben. Codex CLI 0.135.0 (28. Mai 2026) ergänzte umfangreichere codex doctor-Diagnosen, zeigte in /status Details zur Remote-Verbindung und die Serverversion an, führte die Bearbeitung von Vim-Textobjekten mit verbessertem Verhalten bei Wörtern und Zeilenenden sowie konfigurierbarer Unterbrechung von Turns ein, ließ /permissions benannte Berechtigungsprofile erkennen, bündelte einen gepatchten zsh-Helfer für unterstützte macOS- und Linux-Systeme und ergänzte benutzerfreundliche Sandbox-Voreinstellungen für Thread- und Turn-APIs im Python SDK. 

  57. Versionshinweise zu Hermes Agent v0.15.0. „Das Velocity-Release.“ 1.302 Commits, 747 zusammengeführte PRs, 321 Mitwirkende aus der Community. run_agent.py wurde um 76 % refaktoriert (16.083 → 3.821 Zeilen in 14 Modulen). Multi-Agent-Kanban-Plattform mit automatischer Zerlegung, Schwarmtopologie, modellspezifischen Überschreibungen pro Aufgabe, geplanten Aufgaben und Worktree-Verwaltung. session_search wurde neu gestaltet und ist nun 4.500-mal schneller; die Abhängigkeit von LLM wurde entfernt. Promptware-Schutz gegen Prompt-Injection der Brainworm-Klasse an drei Sicherheitskontrollpunkten. Integration von Bitwarden Secrets Manager, die anbieterspezifische Schlüssel durch ein einzelnes Bootstrap-Token ersetzt. Skill-Bundles zum Laden mehrerer skills mit einem einzigen Slash-Befehl. TUI-Sitzungsorchestrator zur Verwaltung mehrerer Sitzungen in einem Terminal. Krea 2 und FAL als Anbieter für die Bilderzeugung; xAI-Integrationsrunde (Websuch-Plugin, vorgelagertes OAuth, Erkennung eingestellter Modelle, natürliche TTS-Pausen). 

  58. Versionshinweise zu Claude Code v2.1.157 und das Claude Code Changelog (kanonisch). 29. Mai 2026. Plugins im Verzeichnis .claude/skills/ eines Projekts werden nun automatisch geladen, ohne dass ein Marktplatz erforderlich ist; claude plugin init <name> legt in diesem Verzeichnis die Grundstruktur eines neuen Plugins an; /plugin erhielt eine automatische Argumentvervollständigung. Außerdem: EnterWorktree kann während einer Sitzung zwischen von Claude verwalteten Worktrees wechseln, Hintergrund-Worktrees bleiben nach Abschluss des Agenten entsperrt, sodass git worktree remove/prune reibungslos funktionieren, und tool_decision-Telemetrieereignisse enthalten tool_parameters, wenn OTEL_LOG_TOOL_DETAILS=1 gesetzt ist. Ebenfalls enthalten sind Fehlerkorrekturen für nicht verarbeitbare Bilder (die nun auf Textplatzhalter zurückfallen), Netzwerkberechtigungsabfragen der Sandbox im Auto-/Bypass-Modus, das Beenden geparkter Hintergrundsitzungen und die Terminaldarstellung in tmux / VS Code / Cursor / Windsurf. 

  59. Claude Code Changelog (kanonisch) und Versionshinweise zu Codex CLI v0.137.0, Juni 2026. Claude Code v2.1.162 (3. Juni) ergänzte waitingFor für claude agents --json; v2.1.163 (4. Juni) ergänzte hookSpecificOutput.additionalContext für fehlerfreie Rückmeldungen von Stop/SubagentStop; v2.1.166 (6. Juni) stärkte die Autoritätsgrenzen von SendMessage über Sitzungen hinweg (weitergeleitete Nachrichten übertragen keine Benutzerautorität mehr) und ergänzte die Einstellung fallbackModel (bis zu drei Ausweichmodelle, einmaliger Wiederholungsversuch bei nicht wiederholbaren Fehlern). Codex CLI v0.137.0 (4. Juni) lieferte Multi-Agent v2 (Laufzeit mit Thread, hide_spawn_agent_metadata standardmäßig auf true, Weitergabe von Ereignissen vom Eltern- zum Kindagenten), eine v1-Erweiterung für skills mit Katalogauflösung pro Turn sowie Mitwirkendenereignisse für den Thread-Start- und Turn-Fehler-Lebenszyklus aus; die Codex-Dokumentation zu subagents bestätigt die Agententypen default/worker/explorer sowie die Parallelitätssteuerung über agents.max_threads/max_depth. AGENTS.md (agents.md) veröffentlicht keine versionierte Spezifikationsänderung. Überprüfung in der aktuellen Sitzung am 8. Juni 2026. 

  60. Anthropic, Versionshinweise zu Claude Code v2.1.169 und Versionshinweise zu v2.1.170, 8.–9. Juni 2026. v2.1.169 ergänzt die Einstellung disableBundledSkills sowie CLAUDE_CODE_DISABLE_BUNDLED_SKILLS (blendet gebündelte skills, Workflows und integrierte Slash-Befehle für das Modell aus), das Flag --safe-mode sowie CLAUDE_CODE_SAFE_MODE (startet eine Sitzung mit deaktivierten Anpassungen: CLAUDE.md, Plugins, skills, hooks und MCP-Server) und den Befehl /cd (verschiebt eine Sitzung in ein neues Arbeitsverzeichnis, ohne den Prompt-Cache zu beeinträchtigen). Mit v2.1.170 lässt sich Claude Fable 5 (claude-fable-5) über /model claude-fable-5 auswählen, während Opus 4.8 der agentische Standard von Claude Code bleibt. Einführung der Modellstufe: Anthropic, „Claude Fable 5“, 9. Juni 2026 — eine „Mythos-Klasse“ oberhalb von Opus, die als leistungsstärkstes Modell von Anthropic beschrieben wird, das für den allgemeinen Einsatz sicher gemacht wurde. 

  61. OpenAI, Versionshinweise zu Codex CLI rust-v0.138.0 (8. Juni 2026) und Versionshinweise zu rust-v0.139.0 (9. Juni 2026). v0.138.0 stärkt Multi-Agent v2 durch verschlüsselte Nachrichteninhalte zwischen Agenten, einen v2-Agentenkonfigurationskatalog, einen LRU für die Agentenresidenz sowie eine Parallelitätszählung anhand aktiver Ausführungen statt erzeugter Threads. v0.139.0 benennt den Lebenszyklus-API close_agent in interrupt_agent um und beschränkt Startwarnungen von subagent-MCP auf den jeweils verantwortlichen Thread, sodass sie nicht mehr im übergeordneten Thread dupliziert werden. Die Erkennung von AGENTS.md wurde in beiden Releases robuster gestaltet: Das Laden erfolgt über Umgebungsdateisysteme und behält während der Erkennung logische Pfade bei, wodurch in Remote- und symlinkbasierten Arbeitsbereichen die richtigen Dateien ausgewählt werden. 

  62. Anthropic, Versionshinweise zu Claude Code v2.1.172 (10. Juni 2026). subagents können nun eigene subagents erzeugen, wobei rekursive Delegation bis zu einer Tiefe von 5 Ebenen unterstützt wird; zuvor war die Delegation faktisch auf eine Ebene beschränkt. 

  63. Anthropic, Versionshinweise zu Claude Code v2.1.175 und Versionshinweise zu v2.1.178, 12.–15. Juni 2026. v2.1.175 ergänzt die verwaltete Einstellung enforceAvailableModels (fixiert das Standardmodell und verhindert, dass Benutzer- oder Projekteinstellungen die verwaltete Zulassungsliste availableModels erweitern). v2.1.178 ergänzt die Berechtigungsregelsyntax Tool(param:value), die Eingabeparameter eines Tools mit dem Platzhalter * abgleicht (z. B. Agent(model:opus)); lädt skills aus verschachtelten .claude/skills-Verzeichnissen und löst Namenskonflikte durch <dir>:<name> auf; löst bei Kollisionen verschachtelte .claude/-Agenten, Workflows und Ausgabestile nach der geringsten Entfernung zum aktuellen Arbeitsverzeichnis auf (im Projektbereich gespeicherte Workflows werden im nächstgelegenen vorhandenen .claude/workflows/ abgelegt); bewertet das Erzeugen von subagents vor dem Start mit dem Auto-Modus-Klassifikator; und behebt, dass MCP-Spezifikationen auf Serverebene (mcp__server, mcp__server__*, mcp__*) in disallowedTools von subagents stillschweigend ignoriert wurden. 

  64. OpenAI, Versionshinweise zu Codex CLI rust-v0.140.0, 15. Juni 2026 (aus der v0.140.0-alpha-Reihe zur stabilen Version hochgestuft). Fügt /import hinzu, um Einrichtung, Projektkonfiguration und aktuelle Chats selektiv aus Claude Code zu importieren; ermöglicht das dauerhafte Löschen von Sitzungen über codex delete, /delete und thread/delete des App-Servers mit Sicherheitsabfragen zur Bestätigung; bietet ein einheitliches @-Erwähnungsmenü für Dateien, Plugins und skills sowie Ansichten der Token-Aktivität über /usage

  65. Anthropic, Versionshinweise zu Claude Code v2.1.183, 19. Juni 2026 — der automatische Modus blockiert destruktive Git-Befehle (git reset --hard, git checkout -- ., git clean -fd, git stash drop), wenn Sie nicht darum gebeten haben, Arbeit zu verwerfen, außerdem git commit --amend bei Commits, die der Agent nicht in dieser Sitzung erstellt hat, sowie terraform destroy/pulumi destroy/cdk destroy, sofern Sie nicht ausdrücklich den jeweiligen Stack angegeben haben. OpenAI, Versionshinweise zu Codex CLI rust-v0.141.0, 18. Juni 2026 (aus der v0.141.0-alpha-Reihe zur stabilen Version hochgestuft) — Remote-Ausführungsumgebungen verwenden authentifizierte, Ende-zu-Ende-verschlüsselte Noise-Relay-Kanäle; die plattformübergreifende Remote-Ausführung behält die nativen Arbeitsverzeichnisse und Shells der Ausführungsumgebung bei; TLS unterstützt P-521-Zertifikatsignaturen für Unternehmens-Proxys. 

  66. Claude Code Changelog (kanonisch) — v2.1.193 (25. Juni 2026): Einstellung autoMode.classifyAllShell; Ablehnungsgründe des automatischen Modus im Transkript, in der Toast-Benachrichtigung und unter /permissions. v2.1.195 (26. Juni 2026): Hook-Matcher mit durch Bindestriche getrennten Bezeichnern (z. B. code-reviewer, mcp__brave-search) verwenden einen exakten Abgleich statt eines Teilzeichenkettenabgleichs; verwenden Sie mcp__brave-search__.*, um alle Tools eines MCP-Servers mit Bindestrich im Namen abzugleichen. Versionshinweise zu Codex CLI v0.142.2 (25. Juni 2026): PowerShell-Befehle mit ausführbaren AST-Bereichen, die der Sicherheitsklassifikator nicht prüfen kann, erfordern nun eine Genehmigung. Am 1.–2. Juli 2026 (PST) anhand beider kanonischer Quellen verifiziert. 

  67. Claude Code Changelog (kanonisch) und GitHub-Versionen. v2.1.196 (29. Juni 2026): organisationsweite Standardmodelle (von Administratoren festgelegt und in /model als „Organisationsstandard“ angezeigt); claude mcp list/get starten in nicht vertrauenswürdigen Arbeitsbereichen keine durch das Repository selbst genehmigten .mcp.json-Server mehr. v2.1.197 (30. Juni): Claude Sonnet 5 wird zum ausgelieferten Standardmodell (nativer Kontext von 1 Mio., Aktionspreise von 2/10 US-Dollar bis zum 31. August). v2.1.198 (1. Juli): subagents werden standardmäßig im Hintergrund ausgeführt; der integrierte Explore-Agent übernimmt das Sitzungsmodell (höchstens Opus); subagents und die Komprimierung übernehmen die Konfiguration für erweitertes Denken aus der Sitzung; im Hintergrund ausgeführte claude agents-Sitzungen committen, pushen und öffnen nach Codearbeiten im Worktree einen PR-Entwurf und lösen den Notification-hook mit agent_needs_input/agent_completed aus; der /agents-Assistent wurde entfernt (bearbeiten Sie .claude/agents/ direkt oder fragen Sie Claude). v2.1.199 (2. Juli): gestapelte Slash-skill-Aufrufe laden bis zu 5 vorangestellte skills; Fehlleitungen durch wiederverwendete Agent-Namen in SendMessage werden erkannt; SessionStart/Setup/SubagentStart-hooks zeigen stderr bei Exit-Code 2 an. v2.1.200 (3. Juli): Der Berechtigungsmodus default wird in CLI, --help, VS Code und JetBrains als „Manuell“ bezeichnet, wobei manual zusätzlich zum unveränderten Konfigurationswert akzeptiert wird; AskUserQuestion-Dialoge werden standardmäßig nicht mehr automatisch fortgesetzt. v2.1.202 (6. Juli): eine /config-Option für „Dynamische Workflow-Größe“; /review <pr> kehrt zu einer Überprüfung in einem einzigen Durchlauf zurück, während /code-review <level> <pr#> den Multi-Agent-Durchlauf ausführt. Das Anthropic-Paket claude-agent-sdk liegt bei v0.2.111 (6. Juli 2026; enthält Claude CLI v2.1.202), das TypeScript-Paket @anthropic-ai/claude-agent-sdk bei v0.3.203; die 0.2.x-/0.3.x-Reihen erweitern die dokumentierte 0.1.x-Oberfläche schrittweise (die jüngsten Arbeiten betreffen die Bereinigung von Unterprozessen und die Zuverlässigkeit von NDJSON-Streams). In der aktuellen Sitzung am 7. Juli 2026 (PST) verifiziert. 

  68. Claude Code Changelog (kanonisch), GitHub-Versionen v2.1.207 und v2.1.208 sowie Neuerungen in Claude Code. Juli 2026. v2.1.203–v2.1.206 (Anfang Juli): Eine Regel des automatischen Modus blockiert Manipulationen an Transkriptdateien; Benachrichtigungen zu Hintergrundaufgaben weisen ausdrücklich darauf hin, dass während der Ausführung der Aufgabe keine menschliche Eingabe erfolgte; MCP roots/list enthält die zusätzlichen Arbeitsverzeichnisse der Sitzung und sendet roots/list_changed-Benachrichtigungen; /doctor schlägt vor, Inhalte aus CLAUDE.md zu entfernen, die sich aus der Codebasis ableiten lassen; v2.1.204 behob zudem das Streaming von SessionStart im Headless-Betrieb. v2.1.207: allgemeine Verfügbarkeit des automatischen Modus auf Amazon Bedrock, Google Vertex AI und Microsoft Foundry, wobei die verwaltete Einstellung disableAutoMode das Deaktivieren ermöglicht; CLAUDE_CODE_PROCESS_WRAPPER für unternehmenseigene Prozessstarter; bis zu 7-mal schnellere Tool-Nutzungsrunden bei einer hohen Anzahl von MCP-Tools und 79-mal kleinere Sitzungstranskripte. v2.1.208: Bestätigungsaufforderungen bei katastrophalen Löschvorgängen setzen sich über --dangerously-skip-permissions und den automatischen Modus hinweg. 

  69. Claude Code Changelog (kanonisch) und GitHub-Versionen v2.1.210, v2.1.211 und v2.1.212. Juli 2026. v2.1.210: subagents mit Worktree-Isolierung können den Haupt-Checkout nicht mehr verändern; das Agent tool wurde gegen indirekte Prompt-Injection durch Inhalte gehärtet, die ein subagent gelesen hat; der Klassifikator des automatischen Modus verwendet standardmäßig Sonnet 5 und wird für jede Sitzung festgeschrieben; Schreibvorgänge in MEMORY.md, die das Größenlimit überschreiten, führen zu einem Fehler, statt stillschweigend abgeschnitten zu werden. v2.1.211: ask-Entscheidungen des PreToolUse-hook legen als niedrigstes Berechtigungsergebnis eine Abfrage fest — der automatische Modus kann dies bei Bash ohne Sandbox nicht mit einer Erlaubnis überschreiben; --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT leitet Text von subagents an die Stream-JSON-Ausgabe weiter; Regeln vom Typ „immer erlauben“ bleiben am Repository-Stamm über Worktrees hinweg bestehen; Berechtigungsvorschauen neutralisieren bidirektionale Überschreibungszeichen, Zeichen ohne Breite und ähnlich aussehende Zeichen. v2.1.212: Obergrenze für das Starten von subagents pro Sitzung (standardmäßig 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, durch /clear zurückgesetzt); Obergrenze für WebSearch pro Sitzung (200, CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION); der Parameter mode des Task-Tools ist zugunsten der Übernahme des Berechtigungsmodus der übergeordneten Sitzung veraltet; /fork erstellt eine neue Hintergrundsitzung, während die sitzungsinterne Variante in /subtask umbenannt wurde; MCP-Aufrufe, die länger als 2 Minuten dauern, werden automatisch in den Hintergrund verschoben (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). 

  70. Anthropic, TypeScript-Versionen v0.3.205–v0.3.208 von @anthropic-ai/claude-agent-sdk. Juli 2026. Typisierte Unterbrechungsbestätigungen (still_queued-UUIDs; in system/init angekündigte Fähigkeit interrupt_receipt_v1); command_lifecycle-Frames, die für jede Nachricht „in Warteschlange“, „gestartet“, „abgeschlossen“, „abgebrochen“ oder „verworfen“ melden; Typ AgentToolCompletedOutput; canUseTool darf {behavior: 'allow'} ohne updatedInput zurückgeben. Sicherheitskorrektur in v0.3.208: Ein Abbruch durch den Aufrufer, der während eines ausstehenden hook eintraf, wurde als erfolgreicher hook behandelt, sodass durch einen PreToolUse-hook kontrollierte Tools nach dem Abbruch durch den Aufrufer ausgeführt werden konnten. 

  71. Model Context Protocol, PR Nr. 3002. Am 16. Juli 2026 in den Spezifikationsentwurf zusammengeführt. Fügt ein optionales io.modelcontextprotocol/serverInfo-Objekt in der Antwort-_meta hinzu und macht clientInfo in Anfragen optional. Dadurch wird die Serveridentität wiederhergestellt, nachdem der zustandslose Kern von SEP-2575 den zustandsbehafteten Initialisierungs-Handshake entfernt hatte. Die Identität wird selbst angegeben und nicht verifiziert: Sie ist ausschließlich für Anzeige und Protokollierung vorgesehen und SOLLTE NICHT als Grundlage für Sicherheitsentscheidungen dienen. Die endgültige Revision der zustandslosen Spezifikation ist für den 28. Juli 2026 vorgesehen. 

  72. OpenAI, Codex CLI-Versionen rust-v0.143.0, rust-v0.144.0 und rust-v0.144.5. Juli 2026. v0.143.0: MCP-Tools werden standardmäßig über die Tool-Suche geladen (verzögertes Laden von Tools statt vorab geladener Schemas). v0.144.0: neuer App-Genehmigungsmodus writes — schreibgeschützte Aktionen werden ohne Rückfrage ausgeführt, Schreibvorgänge erfordern eine Genehmigung — und allgemeine Verfügbarkeit der interaktiven MCP-Authentifizierung. v0.144.5: erweiterte Erkennung gefährlicher Befehle. 

  73. OpenAI, openai-agents-python v0.18.2 (11. Juli 2026) und openai-agents-js v0.13.2 (10. Juli 2026). Beide Releases ergänzen gehostete Multi-Agent-Unterstützung als Beta – eine von OpenAI verwaltete Orchestrierung mehrerer Agenten als gehosteter Dienst und damit das Gegenstück zur öffentlichen Beta von Anthropics Managed Multiagent Orchestration. 

  74. Claude Code Changelog (kanonisch), v2.1.214–v2.1.216, Juli 2026. v2.1.214: Berechtigungsregeln und if:-Bedingungen für hooks mit einsegmentigen dir/**-Pfadmustern sind jetzt an <cwd>/dir verankert (verwenden Sie **/dir/** für beliebige Verzeichnistiefen); zuvor genehmigte das Verhalten Allow-Regeln wie Edit(src/**) automatisch für jedes verschachtelte dir/ im Verzeichnisbaum; Deny- und Ask-Regeln behalten den Abgleich in beliebiger Tiefe bei. Außerdem: EndConversation-Tool; ein Fail-Closed-Paket zur Härtung von Bash-/PowerShell-Berechtigungen; Exit-Code 2 eines hooks blockiert selbst dann, wenn die stdout-JSON die Schemavalidierung nicht besteht; ISO-modified-Zeitstempel im Memory-Frontmatter ohne stillschweigende Kürzung; OTel message.uuid, client_request_id, tool_source und CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH. v2.1.215: Die mitgelieferten skills /verify und /code-review werden nicht mehr selbstständig aufgerufen – nur noch durch expliziten Aufruf. v2.1.216: In Worktrees isolierte subagents können Git nicht mehr über git -C, --git-dir oder GIT_DIR/GIT_WORK_TREE in den gemeinsam genutzten Checkout umleiten; Worktree-Sitzungen werden nicht mehr einem verbliebenen Worktree eines anderen Projekts zugeordnet; Schreibvorgänge für Workflows und geplante Aufgaben werden abgelehnt, wenn .claude ein Symlink zu einem Ort außerhalb des Projekts ist; /rewind folgt weder Symlinks noch Hardlinks; sandbox.filesystem.disabled ermöglicht Sandboxing ausschließlich für ausgehenden Netzwerkverkehr; fortgesetzte Sitzungen von Hintergrundagenten stellen den Prompt und die Tool-Einschränkungen des Agenten wieder her; Änderungen an skills und Befehlen während einer Sitzung erscheinen ohne Neustart im Slash-Menü. Am 21. Juli 2026 (PST) anhand des kanonischen Changelogs verifiziert. 

  75. Anthropic, Releases v0.3.214–v0.3.216 von @anthropic-ai/claude-agent-sdk TypeScript und claude-agent-sdk Python v0.2.124. Juli 2026. TypeScript: set_permission_mode lehnt unbekannte Modi ab; aborted: true bei durch Unterbrechung gekürzten Nachrichten; tool_progress enthält subagent_type und subagent_retry; Task-Benachrichtigungsunterart scheduled-trigger; SessionStart-Quelle "fork"; tool_result_meta-Sidecar mit non_execution_kind und user_feedback; optionale Anzahl skippedLinks in rewindFiles-Antworten; optionale Felder user_message_uuid und request_sent_wall_ms in der Erfolgsergebnismeldung. Python v0.2.124 (Windows, BatBadBut-Klasse): verweigert das Starten von .bat-/.cmd-Dateien; cmd.exe-Metazeichen in resume-/session_id-Werten lösen einen ValueError aus; mit einem Bindestrich beginnende extra_args-Werte werden als --flag=value gebunden. 

  76. OpenAI, Release Notes zu Codex CLI rust-v0.145.0, Juli 2026. Stabilisiert die optional aktivierbare Multi-Agent-V2-Oberfläche (konfigurierbare Modelle, Reasoning-Stufen und Parallelität für subagents; wiederhergestellte Agentenrollen); erweitert /import, um Einstellungen, MCP-Server, Plugins, Sitzungen, Befehle und projektspezifische Memories aus Claude Code und Cursor zu migrieren. Härtung: Startzeitüberschreitungen für MCP, serialisierte OAuth-Aktualisierungen, nicht blockierende OAuth-Erkennung, zuverlässigere Erkennung erzwungener rm-Befehle, beibehaltene Ablehnungsgründe und experimenteller paginierter Thread-Verlauf. 

  77. Model Context Protocol, Dokumentations-PRs zur Spec-Veröffentlichung #3064, #3066 und #3098, am 21. Juli 2026 im Vorfeld der Spec-Veröffentlichung vom 28. Juli zusammengeführt. Die endgültige Überarbeitung wird Tasks als optionale Erweiterung io.modelcontextprotocol/tasks statt als Kernfunktion darstellen und den HTTP+SSE-Transport zugunsten von Streamable HTTP als veraltet kennzeichnen. 

  78. Claude Code Changelog (kanonisch), v2.1.217, 21. Juli 2026. subagents starten standardmäßig keine verschachtelten subagents mehr – legen Sie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH fest, um eine tiefere Verschachtelung zuzulassen; eine neue Obergrenze für gleichzeitig ausgeführte subagents (Standardwert 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) verhindert, dass eine einzelne Nachricht unbegrenzt viele Hintergrundagenten auffächert; --max-budget-usd stoppt nun tatsächlich subagents im Hintergrund – sobald die Obergrenze erreicht ist, werden neue Starts abgelehnt und laufende Hintergrundagenten angehalten; die Isolierung von Hintergrundsitzungen kanonisiert Arbeitsverzeichnisse mit Symlinks und schließt damit einen Fluchtweg aus dem Workspace-Ordner. Am 22. Juli 2026 (PST) anhand des kanonischen Changelogs verifiziert. 

  79. Anthropic, claude-agent-sdk Python v0.2.125 und @anthropic-ai/claude-agent-sdk TypeScript v0.3.217, 21. Juli 2026. Python v0.2.125 enthält CLI v2.1.217 ohne Änderungen an der SDK-Oberfläche; TS v0.3.217 wird parallel veröffentlicht. Beide übernehmen die neuen Standardwerte von CLI für die Verschachtelung und Parallelität von subagents. 

  80. Model Context Protocol, PR #3092, zusammengeführt am 21. Juli 2026. Normative Korrektur, die die SEP-2575-Fehlercodes an das neu nummerierte Entwurfsschema und die Konformitätssuite angleicht; Teil der Vorbereitungen auf die Spec-Veröffentlichung am 28. Juli 2026. 

  81. Anthropic Engineering, „How we contain Claude across products“, 25. Mai 2026. Drei auf die Produktoberflächen abgestimmte Eindämmungsmuster: kurzlebige gVisor-Container mit sitzungsspezifischen Dateisystemen auf der Serverseite (claude.ai); OS-Sandboxing mit menschlicher Kontrolle (Claude Code: Seatbelt unter macOS, bubblewrap unter Linux, die als Open Source veröffentlichte sandbox-runtime); abgeschottete VMs auf Plattform-Hypervisoren (Claude Cowork: Apple Virtualization Framework unter macOS, HCS unter Windows, wobei nur der Workspace und .claude eingebunden werden). Designprinzipien: zuerst auf Umgebungsebene eindämmen und erst danach auf Modellebene steuern; die Isolationsstärke an die Kontrollmöglichkeiten des Benutzers anpassen; bewährte Grundbausteine (Hypervisoren, seccomp, Container-Runtimes) gegenüber selbst entwickeltem Isolationscode bevorzugen; projektlokale Konfigurationen und Tool-Ausgaben als nicht vertrauenswürdig behandeln; Anmeldedaten durch begrenzte, unabhängig widerrufbare Sitzungstokens außerhalb der Sandbox halten. In Cowork setzt dies ein defensiver MITM-Proxy innerhalb der VM durch, der Anfragen ablehnt, die nicht das eigens für die VM bereitgestellte Token enthalten. 

  82. Claude Code Changelog (kanonisch), v2.1.218, 22. Juli 2026. Die Prüfungen auf gefährliche rm-Befehle, Hintergrundausführung mit & und verdächtige Windows-Pfade öffnen keine Berechtigungsdialoge mehr – der Auto-Mode-Klassifikator entscheidet darüber; der Plan-Modus mit Auto fragt nicht mehr nach Bash-Befehlen, deren Schreibschutz der statische Analysator nicht belegen kann – der Klassifikator bewertet sie; Agenten-Frontmatter-hooks setzen voraus, dass für den Ordner der Agentendatei selbst das Workspace-Vertrauen bestätigt wurde; skills mit context: fork werden standardmäßig im Hintergrund ausgeführt (background: false deaktiviert dies pro skill); /code-review wird als subagent im Hintergrund ausgeführt; /deep-research startet nur bei manuellem Aufruf; die Abstammung von Fork-Sitzungen bleibt nach der Komprimierung in Headless- und SDK-Sitzungen erhalten; das Verschieben in den Hintergrund mit Ctrl+B unterliegt denselben Beschränkungen für Hintergrund-Shells wie andere Pfade. Am 24. Juli 2026 (PST) anhand des kanonischen Changelogs verifiziert. 

  83. Anthropic, @anthropic-ai/claude-agent-sdk TypeScript v0.3.218 und claude-agent-sdk Python v0.2.126, 22. Juli 2026. TypeScript: SkillToolOutput.background-Flag; api_error_status meldet während des Streams auftretende 429-/529-Fehler; canonicalModel und provider in modelUsage. Python: ResultMessage.terminal_reason; typisierte model_usage-Einträge mit canonicalModel/provider; enthält CLI v2.1.218. 

  84. Claude Code Changelog (kanonisch), v2.1.219 (24. Juli 2026) und v2.1.220 (25. Juli 2026). v2.1.219: „Subagents können jetzt standardmäßig verschachtelte subagents bis zu einer Tiefe von 3 erzeugen (zuvor 1); setzen Sie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1, um die Verschachtelung zu deaktivieren“; Claude Opus 5 (claude-opus-5) wurde als standardmäßiges Opus-Modell hinzugefügt — 1M Kontext, fast mode für 10/50 US-Dollar pro MTok; sandbox.network.strictAllowlist verweigert Sandbox-Befehlen ohne Rückfrage den Zugriff auf Hosts, die nicht in der Positivliste stehen; neuer DirectoryAdded hook, der ausgelöst wird, nachdem /add-dir oder die SDK-Steuerungsanfrage register_repo_root während einer Sitzung ein Arbeitsverzeichnis registriert hat; für dynamische Workflows gilt standardmäßig eine Richtlinie mittlerer Größe („streben Sie weniger als 15 agents an“), die sich über workflowSizeGuideline in jeder Einstellungsdatei festlegen lässt (währenddessen wird die entsprechende Zeile in /config ausgeblendet) und in der Statuszeile des laufenden Workflows angezeigt wird; Weiterleitung verschachtelter subagents in stream-json — subagents ab Tiefe 2 erscheinen unter --forward-subagent-text, zugeordnet anhand der tool_use-ID ihres erzeugenden Agent; mcp_server_errors im headless stream-json-Initialisierungsereignis führt --mcp-config-Einträge auf, die wegen der Konfigurationsvalidierung übersprungen wurden, bei Terminalausführungen ergänzt um eine Startwarnung; HTTP-Status und Fehlertext in claude mcp list und /mcp bei fehlgeschlagenem Verbindungsaufbau sowie eine Warnung bei MCP-Konfigurationswerten mit unsichtbaren führenden oder nachgestellten Leerzeichen; ${VAR}-Einträge in verwalteten MCP-Positiv- und Negativlisten werden aus der Startumgebung und der Umgebung der verwalteten Einstellungen statt aus der Umgebung der Einstellungsdatei aufgelöst; claude -p verwirft bereits erzeugten Text nicht mehr, wenn ein Durchlauf wegen eines API-Fehlers mitten im Stream abbricht; CLAUDE_CODE_GIT_BASH_PATH wird mit einer Warnung ignoriert, wenn der Pfad nicht auf eine bash/sh-Binärdatei verweist; Opus 4.7 wurde aus fast mode entfernt (/fast gilt jetzt für Opus 5 und Opus 4.8); das gebündelte claude-api-skill verwendet standardmäßig Opus 5 und bietet einen Migrationspfad von Opus 4.8. v2.1.220: ausschließlich Fehlerbehebungen und Zuverlässigkeitsverbesserungen. Der Fable-5-Fallback im auto-mode auf „das beste verfügbare Opus-Modell“ stammt aus v2.1.176 und wird jetzt zu Opus 5 aufgelöst. Am 25. Juli 2026 anhand des kanonischen Changelogs verifiziert. 

  85. Anthropic, @anthropic-ai/claude-agent-sdk TypeScript v0.3.219 und v0.3.220; claude-agent-sdk Python v0.2.127 und v0.2.128. 24.–25. Juli 2026. TypeScript v0.3.219: Das DirectoryAdded-Lifecycle-hook-Ereignis wurde dem Steuerungsprotokoll hinzugefügt; das optionale cancel_queued bei der Interrupt-Steuerungsanfrage (Fähigkeit interrupt_cancel_queued_v1) bricht neben dem laufenden Vorgang auch Nachrichten in der Warteschlange und vor der Weiterleitung stehende Nachrichten ab; fast_mode_disabled_reason in Ergebnis- und Initialisierungsnachrichten; nach einem Modellwechsel meldet die Initialisierungsantwort nicht mehr den fast_mode_state des beim Start verwendeten Modells; sandbox.network.strictAllowlist und workflowSizeGuideline wurden den SDK-Einstellungstypen hinzugefügt. Python v0.2.127: Das vorzeitige Schließen von stdin bei noch laufenden Hintergrundaufgaben wurde behoben — query() schloss stdin beim ersten result-Frame, obwohl Hintergrund-subagents noch ausgeführt wurden. Dadurch schlugen deren SDK-MCP-Tool-Aufrufe mit "Stream closed" fehl und umgingen unbemerkt die PreToolUse hooks; stdin bleibt jetzt geöffnet, bis alle laufenden Aufgaben abgeschlossen sind und der endgültige Ergebnis-Frame eintrifft (#1103). v0.3.220 / v0.2.128: Paritätsaktualisierungen auf CLI v2.1.220. 

  86. claude-agent-sdk auf PyPI und dessen CHANGELOG; @anthropic-ai/claude-agent-sdk auf npm. Verifiziert am 1. August 2026: Python 0.2.128 (Changelog: „Gebündeltes Claude CLI auf Version 2.1.220 aktualisiert“; erfordert mcp<2.0.0,>=1.23.0), TypeScript 0.3.220 (veröffentlicht am 24. Juli 2026, „Parität mit Claude Code v2.1.220“). Die vorherigen Angaben in diesem Absatz (Python v0.2.111 mit gebündeltem CLI v2.1.202, TypeScript v0.3.203) lagen in beiden Zeilen jeweils 17 Versionen zurück, während der übrige Leitfaden bereits 0.2.128 und 0.3.220 berücksichtigte. 

  87. Anthropic, „Einführung von Claude Opus 5“. 24. Juli 2026. claude-opus-5; „5 US-Dollar pro Million Eingabe-Token und 25 US-Dollar pro Million Ausgabe-Token“; fast mode läuft „etwa 2,5-mal so schnell wie die Standardgeschwindigkeit“ zum „doppelten Basispreis von Opus 5“ (10/50 US-Dollar pro MTok laut Changelog zu Claude Code v2.1.219, das auch das 1M-Kontextfenster angibt). Benchmarks: „Auf Frontier-Bench v0.1 übertrifft Opus 5 alle anderen Modelle und erzielt mehr als die doppelte Leistung von Opus 4.8“; auf CursorBench 3.2 liegt es „höchstens 0,5 % unter dem Spitzenwert von Fable 5, jedoch bei halben Kosten“; „Bei ARC-AGI 3 … ist der Wert von Opus 5 dreimal so hoch wie der des nächstbesten Modells“; auf OSWorld 2.0 übertrifft es „das beste Ergebnis von Fable 5 bei Kosten von nur etwas mehr als einem Drittel“. Es wird als „durchdachtes und proaktives Modell“ beschrieben, das „seine Arbeit deutlich besser überprüft und sorgfältig iteriert“. 

NORMAL agent-architecture.md EOF