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

Agentenarchitektur: Entwicklung KI-gestützter Entwicklungssysteme

# Das vollständige System für die Entwicklung produktionsreifer KI-Agentensysteme: Skills, Hooks, Gedächtnis, Subagenten und Orchestrierungsmuster, die Agenten zuverlässig machen.

author: words: 31936 read_time: 160m updated: 2026-08-18 20:48

Part 2 of Agentic Engineering

$ less agent-architecture.md

TL;DR: Claude Code ist kein Chatfenster mit Dateizugriff. Es ist eine programmierbare Laufzeitumgebung mit 31 dokumentierten Lebenszyklusereignissen, die jeweils mit Shell-Skripts verknüpft werden können, welche das Modell nicht überspringen kann. Stapeln Sie hooks zu dispatchers, dispatchers zu skills, skills zu agents und agents zu workflows, erhalten Sie einen autonomen Entwicklungsharness, der Einschränkungen durchsetzt, Arbeit delegiert, Memory sitzungsübergreifend speichert und Multi-Agent-Deliberation orchestriert. Die dynamischen workflows von Claude Code (v2.1.154+) machten deterministische Multi-Agent-Orchestrierung zu einem First-Party-Primitiv — Dutzende bis Hunderte Hintergrundagents über /workflows — und die Plattform führt subagents inzwischen standardmäßig im Hintergrund aus (20 gleichzeitig, Verschachtelungstiefe 3), ermöglicht Ihren Sitzungen, als Peers miteinander Nachrichten auszutauschen (v2.1.224), und führt Cloud-Sitzungen auf selbstgehosteten Runners aus. Hooks und evidence gates bleiben für die Korrektheit verantwortlich.525387 Dieser Leitfaden behandelt jede Schicht dieses Stacks: von einem einzelnen hook bis zu einem Konsenssystem mit 10 agents. Keine Frameworks erforderlich. Alles Bash und JSON.

Andrej Karpathy prägte einen Begriff für das, was um einen LLM agent herum wächst: claws. Die hooks, Skripts und Orchestrierung, die dem agent ermöglichen, nach der Welt außerhalb seines Kontextfensters zu greifen.1 Die meisten Entwickler behandeln KI-Coding-Agents als interaktive Assistenten. Sie geben einen Prompt ein, beobachten, wie dieser eine Datei bearbeitet, und machen weiter. Diese Denkweise begrenzt die Produktivität auf das, was Sie persönlich überwachen können.

Das Infrastrukturmodell ist anders: 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 genauso wie ein Webserver innerhalb von nginx-Regeln arbeitet. Sie sitzen nicht vor nginx und tippen Anfragen ein. Sie konfigurieren, deployen und überwachen es.

Der Unterschied ist wichtig, weil Infrastruktur sich potenziert. Ein hook, der Zugangsdaten in Bash-Befehlen blockiert, schützt jede Sitzung, jeden agent und jeden autonomen Durchlauf. Ein skill, der Ihre Bewertungsrubrik kodiert, wird konsistent angewandt — unabhängig davon, ob Sie ihn aufrufen oder ein agent es tut. Ein agent, der Code auf Sicherheit prüft, führt dieselben Checks aus, unabhängig davon, ob Sie zusehen 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 warnt nur.3
  • Skills kodieren Domänenwissen, das automatisch aktiviert wird. Das Feld description entscheidet über alles. Claude nutzt LLM reasoning (kein Keyword-Matching), um zu entscheiden, wann ein skill angewendet wird.4
  • Subagents verhindern Context Bloat. 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 workers dauerhafte Koordination benötigen.5
  • Memory lebt im Dateisystem. Dateien bleiben über Kontextfenster hinweg erhalten. CLAUDE.md, MEMORY.md, Regelordner und Übergabedokumente bilden ein strukturiertes externes Memory-System.6
  • Multi-Agent-Deliberation deckt blinde Flecken auf. Einzelne agents können ihre eigenen Annahmen nicht hinterfragen. Zwei unabhängige agents mit unterschiedlichen Bewertungsprioritäten erkennen strukturelle Fehler, die quality gates nicht adressieren können.7
  • Das Harness-Muster ist das System. CLAUDE.md, hooks, skills, agents und memory sind keine unabhängigen Funktionen. Sie fügen sich zu einer deterministischen Schicht zwischen Ihnen und dem Modell zusammen, die mit der Automatisierung skaliert.

So verwenden Sie diesen Leitfaden

Erfahrung Hier beginnen Danach erkunden
Sie verwenden Claude Code täglich und möchten mehr Das Harness-Muster Skills-System, Hook-Architektur
Sie erstellen autonome Workflows Subagent-Muster Multi-Agent-Orchestrierung, Produktionsmuster
Sie bewerten eine Agent-Architektur Warum Agent-Architektur wichtig ist Entscheidungsrahmen, Sicherheitsaspekte
Sie richten einen Team-Harness ein CLAUDE.md-Design Hook-Architektur, Schnellreferenzkarte

Jeder Abschnitt baut auf dem vorherigen auf. Der Entscheidungsrahmen am Ende bietet eine Nachschlagetabelle, mit der Sie für jeden Problemtyp den passenden 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 Pattern

Das harness ist kein Framework. Es ist ein Muster: eine kombinierbare Sammlung aus Dateien, Skripten und Konventionen, die 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        │
└──────────────────────────────────────────────────────────────┘

Instruktionsebene: CLAUDE.md-Dateien und Regelordner definieren, was der Agent über Ihr Projekt weiß. Sie werden automatisch beim Sitzungsstart und nach jeder Komprimierung geladen. Das ist das langfristige Architekturgedächtnis des Agenten.

Erweiterungsebene: Skills liefern Fachwissen, das sich abhängig vom Kontext automatisch aktiviert. Hooks stellen deterministische Sperren bereit, die bei jedem passenden Tool-Aufruf ausgelöst werden. Memory-Dateien speichern den Zustand sitzungsübergreifend. Custom Agents stellen spezialisierte subagent-Konfigurationen bereit.

Orchestrierungsebene: Multi-Agent-Muster koordinieren unabhängige Agents für Recherche, Überprüfung und Abwägung. Spawn-Budgets verhindern außer Kontrolle geratene Rekursion. Konsensvalidierung sichert die Qualität.

Die zentrale Erkenntnis: Die meisten Benutzer arbeiten vollständig in der Core Layer und beobachten, wie der Kontext anschwillt und die Kosten steigen. Erfahrene Benutzer konfigurieren die Instruktions- und Erweiterungsebene und nutzen die Core Layer anschließend nur für Orchestrierung und endgültige Entscheidungen.2

Verwaltete vs. selbstgehostete Harnesses (April 2026)

Bis Anfang 2026 war der Weg „eigenes harness bauen“ die einzige echte Option. Im April 2026 änderte sich das. Anthropic veröffentlichte Claude Managed Agents als öffentliche Beta (8. April): harness loop + Tool-Ausführung + Sandbox-Container + Zustands-Persistenz als REST-API, abgerechnet zu Standard-Tokenpreisen plus 0,08 $ pro Sitzungsstunde. Das Update Agents SDK von OpenAI (16. April) formalisierte dieselbe Trennung — harness und Compute als getrennte Ebenen, mit nativen Sandbox-Anbietern (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel) sowie Snapshot/Rehydrate zum Überstehen eines Containerverlusts.2324

Die tiefergehende SDK-Oberfläche auf der OpenAI-Seite kam mit 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-Instruktionen und Fähigkeiten; ein Manifest, das den Vertrag für frische Workspaces beschreibt (Dateien, Verzeichnisse, lokale Dateien, Git-Repositories, Umgebungsvariablen, Benutzer, Mounts); eine SandboxRunConfig für die Konfiguration pro Ausführung von Sandbox-Client, Einbindung einer Live-Sitzung, Manifest-Überschreibungen, Snapshots und Parallelitätslimits für die Materialisierung. Integrierte Fähigkeiten umfassen Shell-Zugriff, Bearbeitung des Dateisystems, Bildinspektion, skills, Sandbox Memory und Komprimierung. Sandbox Memory speichert extrahierte Erkenntnisse laufübergreifend und legt sie schrittweise offen; Workspaces unterstützen lokale Dateien, Git-Repository-Einträge und Remote-Mounts (S3, R2, GCS, Azure Blob, S3 Files); Snapshots sind anbieterübergreifend portabel. Backends: UnixLocalSandboxClient, DockerSandboxClient sowie gehostete Clients für Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop und Vercel über optionale Extras.24

Für Python-Projekte, die die Claude Code-Runtime als Bibliothek einbetten möchten — zwischen „claude über die Shell ausführen“ und „REST-API an Managed Agents“ — ist claude-agent-sdk-python die dritte Option. Die Serie vom 28.–29. April (v0.1.69 → v0.1.71) aktualisierte die gebündelte CLI auf v2.1.123, erhöhte die Mindestversion der Abhängigkeit mcp auf >=1.19.0 (ältere Versionen verwarfen stillschweigend CallToolResult-Rückgaben von prozessinternen MCP-Tools, sodass dem Modell ein Blob mit Validierungsfehlern blieb) und brachte SandboxNetworkConfig auf Schema-Parität mit der TypeScript SDK (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup).30 Stand 12.08.2026 liegt das Paket auf PyPI bei v0.2.137 und die TypeScript SDK bei v0.3.229 (beide anhand der Live-Register verifiziert); die 0.2.x-Linie ergänzt inkrementell die hier beschriebene 0.1.x-Oberfläche — die folgenden Optionen include_hook_events, skills und Sandbox-Konfigurationen sind weiterhin aktuell — während sich jüngere Releases auf die Zuverlässigkeit von Subprozess-Bereinigung und NDJSON-Streams konzentrieren.9086

Wenn Ihr harness eine Sprach- oder Realtime-Ebene umfasst, aktualisierte openai-agents-python v0.17.0 (8. Mai 2026) RealtimeAgent so, dass standardmäßig gpt-realtime-2 verwendet wird.41 Bestehende Realtime-Sitzungen übernehmen den neuen Standard automatisch; pinnen Sie das vorherige Modell explizit, wenn Sie das bisherige Verhalten für eine Evaluierung beibehalten müssen.

Im Juli 2026 erhielt die verwaltete Spalte auch auf der OpenAI-Seite eine Multi-Agent-Geschichte: openai-agents-python v0.18.2 (11. Juli) und openai-agents-js v0.13.2 (10. Juli) ergänzen gehostete Multi-Agent-Unterstützung als Beta — von OpenAI verwaltete Orchestrierung mehrerer Agents als gehosteten Dienst, das direkte Gegenstück zur öffentlichen Beta von Managed Multiagent Orchestration von Anthropic, die im Abschnitt Multi-Agent-Orchestrierung behandelt wird.73 Beide Anbieter bieten nun auf der Multi-Agent-Ebene denselben Tausch an, den die folgende Tabelle für einzelne Agents beschreibt: Der Anbieter betreibt die Delegationsschleife, Sie geben die Hook-Oberfläche auf.

Die architektonische Verzweigung ist jetzt real:

Dimension Selbstgehostetes harness (Standard dieses Leitfadens) Verwaltetes harness (Claude Managed Agents / OpenAI Agents SDK)
Betriebsaufwand Sie betreiben alles Anbieter betreibt Schleife, Sandbox, Zustand
Anpassbarkeit Vollständig — Ihre hooks, Ihre skills, Ihr memory Begrenzt — vom Anbieter definierte Erweiterungspunkte
Kostenmodell Token + selbstgehostetes Compute Token + Aufschlag pro Laufzeitstunde
Zustandsbeständigkeit Sie entwerfen sie Anbieter erstellt Checkpoints über Verbindungsabbrüche hinweg
Orchestrierung von Agent-Teams Selbst bauen Vom Anbieter bereitgestellte Multi-Agent-Koordination

Wann Sie welche Variante wählen sollten: Selbsthosting bleibt richtig für Teams, die bereits über Infrastrukturkompetenz verfügen, skills/hooks unter eigener Kontrolle wünschen oder einen bestimmten Workflow tiefgehend optimieren. Managed eignet sich für Teams ohne dedizierte Platform Engineers, wenn die Zeit bis zum Nutzen wichtiger ist als Anpassbarkeit oder wenn Agent-Läufe Laptop-Schließungen zuverlässig überstehen müssen, ohne dass Sie diese Persistenzebene selbst bauen. Beide Ansätze sind kompatibel — Sie können ein selbstgehostetes harness betreiben, das bestimmte lang laufende Aufgaben per 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/-Baum ist persönliche Infrastruktur, die für alle Projekte gilt. Der .claude/-Baum in jedem Repository ist projektspezifisch und wird über git geteilt. Zusammen bilden sie das vollständige harness.

Skills-System

Skills sind vom Modell aufgerufene Erweiterungen. Claude erkennt und wendet sie anhand des Kontexts automatisch an, ohne dass Sie sie ausdrücklich aufrufen müssen.4 Sobald Sie sich dabei ertappen, denselben Kontext über Sitzungen hinweg erneut zu erklären, sollten Sie einen Skill erstellen.

Wann Sie einen Skill erstellen sollten

Situation Erstellen Sie einen … Warum
Sie fügen in jeder Sitzung dieselbe Checkliste ein Skill Fachwissen, das sich automatisch aktiviert
Sie führen dieselbe Befehlsfolge ausdrücklich aus Slash-Befehl 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 fokussierte Arbeit
Sie benötigen einen einmaligen Prompt mit konkreten Anweisungen Nichts Tippen Sie ihn einfach ein. Nicht alles braucht Abstraktion.

Skills sind für Wissen, das Claude immer verfügbar hat. Slash-Befehle sind für Aktionen, die Sie ausdrücklich auslösen. Wenn Sie zwischen beiden abwägen, fragen Sie sich: „Soll Claude dies automatisch anwenden, oder möchte ich entscheiden, wann es ausgeführt wird?“

Einen Skill erstellen

Skills können an vier möglichen Orten liegen – vom weitesten bis zum engsten Geltungsbereich:4

Geltungsbereich Speicherort Gilt für
Unternehmen Verwaltete Einstellungen Alle Benutzer in 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 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 Eindeutiger Bezeichner (Kleinbuchstaben, Bindestriche, maximal 64 Zeichen)
description Ja Erkennungsauslöser (maximal 1.024 Zeichen). Claude verwendet dies, um zu entscheiden, wann der Skill angewendet wird
allowed-tools Nein Beschränkt die Fähigkeiten von Claude (z. B. Read, Grep, Glob für schreibgeschützten Zugriff)
disable-model-invocation Nein Verhindert die automatische Aktivierung; der Skill wird nur über /skill-name aktiviert
user-invocable Nein Auf false setzen, um ihn vollständig im /-Menü auszublenden
model Nein Überschreibt, welches Modell verwendet wird, wenn der Skill aktiv ist
context Nein Auf fork setzen, um in einem isolierten Kontextfenster ausgeführt zu werden
agent Nein Als Subagent mit eigenem isolierten Kontext ausführen
hooks Nein Definiert auf diesen Skill beschränkte Lifecycle-Hooks
$ARGUMENTS Nein Zeichenfolgenersetzung: Wird durch die Benutzereingabe nach /skill-name ersetzt

Das Description-Feld ist entscheidend

Beim Sitzungsstart extrahiert Claude Code den name und die description jedes Skills und fügt sie in den Kontext von Claude ein. Wenn Sie eine Nachricht senden, verwendet Claude Sprachmodell-Reasoning, um zu entscheiden, ob ein Skill relevant ist. Eine unabhängige Analyse des Claude Code-Quellcodes bestätigt den Mechanismus: Skill-Beschreibungen werden in einen available_skills-Abschnitt des System-Prompts eingefügt, und das Modell nutzt sein gewöhnliches Sprachverständnis, um relevante Skills auszuwählen.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 sie tut (Code auf konkrete Problemtypen prüfen), wann sie zu verwenden ist (beim Untersuchen von Änderungen, PRs und der Qualitätsanalyse) sowie Auslösephrasen (review, audit, check), die Benutzer auf natürliche Weise eingeben.

Beachten Sie, dass die automatische Aktivierung ein Regler und kein Gesetz ist: Seit v2.1.215 ruft Claude die gebündelten Skills /verify und /code-review nicht mehr selbst auf – sie werden nur noch ausdrücklich ausgelöst. Das ist eine bewusste Rücknahme der beschreibungsbasierten Aktivierung für aufwendige Review-Skills, deren unaufgeforderte Ausführungen mehr kosteten, als sie einbrachten.74

Kontextbudget

Alle Skill-Beschreibungen teilen sich ein Kontextbudget, das dynamisch auf 1 % des Kontextfensters skaliert, mit einem Fallback von 8.000 Zeichen.4 Wenn Sie viele Skills haben, halten Sie jede Beschreibung knapp und nennen Sie den wichtigsten Anwendungsfall zuerst. Sie können das Budget über die Umgebungsvariable SLASH_COMMAND_TOOL_CHAR_BUDGET überschreiben,11 doch die bessere Lösung sind kürzere, präzisere Beschreibungen. 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 in SKILL.md mit relativen Links darauf. Claude liest diese Dateien bei Bedarf, wenn der Skill aktiviert wird. Halten Sie SKILL.md unter 500 Zeilen und verschieben Sie ausführliches Referenzmaterial in unterstützende Dateien.12

Skills über Git teilen

Projekt-Skills (.claude/skills/ im Repository-Stammverzeichnis) werden über die Versionskontrolle 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 pullen, erhalten sie den Skill automatisch. Keine Installation, keine Konfiguration. Dies ist der wirkungsvollste Weg, Fachwissen in einem Team zu standardisieren.

Skills als Prompt-Bibliothek

Über Skills mit nur einem Zweck hinaus funktioniert 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 kodiert einen anderen Aspekt Ihres Fachwissens. Zusammen bilden sie eine Wissensbasis, aus der Claude abhängig vom Kontext automatisch schöpft. Ein Junior-Entwickler erhält Senior-Level-Anleitung, ohne danach fragen zu müssen.

Skills lassen sich mit Hooks kombinieren

Skills können im Frontmatter eigene Hooks definieren, die nur aktiv sind, während der Skill ausgeführt wird. Dadurch entsteht domänenspezifisches Verhalten, das andere Sitzungen nicht belastet: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 aktivieren sich über SessionStart-Hooks automatisch und injizieren Qualitätsvorgaben in jede Sitzung, ohne ausdrücklich aufgerufen zu werden. Der Skill selbst ist Wissen. Der Hook ist Durchsetzung. Gemeinsam bilden sie eine Richtlinienebene.

Häufige Skill-Fehler

Zu weit gefasste Beschreibungen. Ein git-rebase-helper-Skill, der bei jedem Git-bezogenen Prompt aktiviert wird (Rebases, Merges, Cherry-Picks, sogar git status), belastet den Kontext in 80 % der Sitzungen. Die Lösung besteht darin, entweder die Beschreibung einzugrenzen oder disable-model-invocation: true hinzuzufügen und den ausdrücklichen Aufruf über /skill-name zu verlangen.4

Zu viele Skills konkurrieren um das Budget. Mehr Skills bedeuten mehr Beschreibungen, die um das 1-%-Kontextbudget konkurrieren. Wenn Sie feststellen, dass Skills nicht aktiviert werden, prüfen Sie /context auf ausgeschlossene Skills. Bevorzugen Sie wenige, gut beschriebene Skills gegenüber vielen vagen.

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

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

Selbstgehostete harnesses auf claude-agent-sdk-python v0.1.77+ sollten die Option skills in ClaudeAgentOptions verwenden, um verfügbare Skills zu deklarieren, und nicht den veralteten Wert "Skill" in allowed_tools.37 Die Kurzform "Skill" ist veraltet, und die dedizierte Option stellt Claude Code strukturiertere Informationen darüber bereit, welche Skills verfügbar sind. Gebündeltes CLI in v0.1.77 ist v2.1.133.

Konvergenz von Plugin und Skill 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 auf Plugins: Ein in .claude/skills/ abgelegtes Plugin wird nun automatisch geladen, ohne Marketplace-Registrierung, und claude plugin init <name> erstellt dort ein neues Plugin, bei dem Manifest und SKILL.md bereits verbunden sind.58 Damit schließt sich die Lücke zwischen den beiden Formen von Projekt-Tooling, die früher an unterschiedlichen Orten lagen – einem direkt im Repository versionierten eigenständigen Skill und einem Plugin, das einen Skill zusammen mit Hooks und einem MCP-Server bündelt, zuvor jedoch zur Installation einen Marketplace benötigte. Der praktische Effekt für das Harness-Design: Projektbezogenes Tooling benötigt keinen Umweg über eine Registry mehr, um ausgeliefert zu werden – schreiben Sie es, committen Sie es, und Teammitglieder erhalten dieselbe Oberfläche mit git pull. Plugins bleiben für den gebündelt installierbaren Anwendungsfall zuständig (Hooks + Skills + MCP-Server + Agents in einer ZIP-Datei); die Änderung besteht darin, dass ein Projekt keinen Marketplace mehr aufsetzen muss, nur um eines aus seinem eigenen Verzeichnis zu laden. Diese Konvergenz hat nun eine herstellerübergreifende Grundlage: Agent Plugins 1.0.0 (veröffentlicht am 6. August 2026) standardisiert dieselbe Paketform – ein plugin.json-Manifest, skills/-Verzeichnisse mit SKILL.md-Ordnern und optional mcp.json – als „das portable Paketformat für AI agents“, das zum Start von VS Code, Cursor, GitHub Copilot, ChatGPT & Codex und Kiro übernommen wurde. Es handelt sich ausdrücklich um eine Verpackungsschicht für Agent Skills und MCP, nicht um einen Ersatz; beachten Sie, dass Anthropic, Autor der Agent-Skills-Spezifikation, noch nicht Teil der Koalition ist – behandeln Sie daher die von Claude-Code ausgehende Portabilität als Kompatibilität auf Formatebene, nicht als offiziellen bidirektionalen Vertrag.89

Die gebündelte Oberfläche als Governance ausblenden (8. Juni 2026)

Skills sind Fähigkeiten, und Fähigkeiten sind Angriffsfläche. Claude Code v2.1.169 ergänzt die Einstellung disableBundledSkills (und die entsprechende Umgebungsvariable CLAUDE_CODE_DISABLE_BUNDLED_SKILLS), die gebündelte Skills, Workflows und integrierte Slash-Befehle vollständig vor dem Modell verbirgt.60 Für ein gehärtetes oder reguliertes Harness ist dies eine bewusste Verringerung der Angriffsfläche: Ein Betreiber, der einen konkreten Satz von Projekt- und persönlichen Skills geprüft und genehmigt hat, kann alles unterdrücken, was Anthropic mitliefert, sodass das Modell nur über die vom Betreiber geprüfte Oberfläche nachdenkt. Behandeln Sie dies genauso wie eine Tool-Allowlist – standardmäßig stehen umfassende Fähigkeiten zur Verfügung, und das Abschalten dieses Standards ist eine Governance-Entscheidung, kein Komfortschalter.

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

Claude Code v2.1.178 machte Projekt-Tooling standortbewusst. Skills in verschachtelten .claude/skills-Verzeichnissen werden nun geladen, wenn Sie an Dateien unter diesem Verzeichnis arbeiten, nicht nur aus dem Repository-Stammverzeichnis; bei einem Namenskonflikt erscheint der verschachtelte Skill als <dir>:<name>, sodass beide erreichbar bleiben.63 Dieselbe Version ließ den Rest der Projektoberfläche relativ zum Arbeitsverzeichnis auflösen: Wenn ein Agent-, Workflow- oder Output-Style-Name in verschachtelten .claude/-Verzeichnissen kollidiert, gewinnt derjenige, der dem Arbeitsverzeichnis am nächsten liegt, und ein Workflow-Speichervorgang im Projektbereich zielt auf das nächstgelegene vorhandene .claude/workflows/, statt immer auf das Stammverzeichnis.63 Für ein Monorepo oder ein Repository-von-Repositories ist dies der Unterschied zwischen einer flachen globalen Oberfläche und paketbezogenem Tooling, das im Kontext aktiviert wird – ein services/api/.claude/skills/ kann API-spezifische Skills enthalten, die nur erscheinen, während Sie in diesem Verzeichnis arbeiten, ohne mit einem services/web/-Skill gleichen Namens zu kollidieren.


Hook-Architektur

Hooks sind Shell-Befehle, die durch Claude Code-Lifecycle-Events ausgelöst werden.3 Sie laufen außerhalb des LLM als einfache Skripte, nicht als Prompts, die vom Modell interpretiert werden. Das Modell möchte rm -rf / ausführen? Ein 10-zeiliges Bash-Skript prüft den Befehl gegen eine Blockliste und lehnt ihn ab, bevor die Shell ihn überhaupt erhält. Der Hook wird ausgelöst, unabhängig davon, ob das Modell dies möchte.

Verfügbare Events

Claude Code stellt zum Zeitpunkt dieser Aktualisierung des Leitfadens 31 dokumentierte Lifecycle-Events in acht Kategorien bereit. Die Event-Liste wächst mit neuen Releases; behandeln Sie daher die Referenzdokumentation als maßgebliche Quelle und prüfen Sie vor dem Einrichten produktiver Hooks das Cheat Sheet auf die aktuell vollständige Tabelle:13

Kategorie Events Kann blockieren?
Sitzung SessionStart, Setup, SessionEnd Nein
Benutzer / Abschluss UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle Prompt/Erweiterung/Stop/Leerlauf können blockieren; StopFailure nicht
Tool PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch Pre-/Berechtigungs-/Batch-Events können blockieren; Post-Events nicht
Subagent / Aufgabe SubagentStart, SubagentStop, TaskCreated, TaskCompleted Stop-/Aufgaben-Events können blockieren; Start nicht
Kontext PreCompact, PostCompact, InstructionsLoaded PreCompact kann blockieren; Post-/Lade-Events nicht
Dateisystem / Workspace CwdChanged, DirectoryAdded, FileChanged, WorktreeCreate, WorktreeRemove Das Erstellen von Worktrees kann blockieren; andere Events nicht
Konfiguration / Benachrichtigung ConfigChange, Notification, MessageDisplay Konfigurationsänderungen können außer bei Richtlinieneinstellungen blockieren; Benachrichtigungen nicht; MessageDisplay transformiert nur Anzeigetext (displayContent, v2.1.152)
MCP Elicitation, ElicitationResult Ja
Zwei aktuelle Verfeinerungen sind für Hintergrund- und Multi-Agent-harnesses relevant. Seit v2.1.198 lösen Hintergrundsitzungen von claude agents den Notification-Hook mit den Trigger-Werten agent_needs_input und agent_completed aus. Dadurch kann ein Koordinator unmittelbar reagieren, wenn ein Flottenmitglied an einem Prompt blockiert oder fertig wird — das benachrichtigungsgesteuerte Äquivalent zum Polling von claude agents --json. Und seit v2.1.199 zeigen die Hooks SessionStart, Setup und SubagentStart stderr an, wenn sie mit Code 2 beendet werden (zuvor wurde diese Ausgabe stillschweigend verworfen), sodass ein fehlschlagender Hook beim Start oder beim Starten eines Subagents nun erklärt, warum er scheitert, statt blind fehlzuschlagen.

DirectoryAdded (v2.1.219) schließt die Workspace-Lücke während einer Sitzung. Die Event-Liste war stabil, seit MessageDisplay in v2.1.152 hinzugekommen ist; DirectoryAdded ist seither das erste neue Lifecycle-Event und wird ausgelöst, nachdem /add-dir — oder die register_repo_root-Control-Anfrage von SDK — während einer Sitzung ein neues Arbeitsverzeichnis registriert.84 Die dadurch geschlossene Lücke ist real: Bisher konnte ein harness einen Workspace bei SessionStart umfassend validieren und anschließend zusehen, wie ein zweites Repository hinzugefügt wurde, ohne dass überhaupt ein Hook ausgelöst wurde. Alles, was Sie beim Start über den Workspace zusichern — Vertrauensprüfungen, Secret-Scans, aus dem Verzeichnisbaum abgeleitete Pfadbereichsregeln, das Laden repositoryspezifischer Richtlinien — muss hier erneut ausgeführt werden, weil die Verzeichnismenge einer Sitzung beim Start nicht mehr festgelegt ist. Das Event dient der Information und blockiert nicht. Behandeln Sie es daher als Trigger, um den Zustand erneut abzuleiten und die Herkunft zu protokollieren, nicht als Gate; wenn ein Verzeichnis niemals hinzugefügt werden darf, verweigern Sie es in den Einstellungen, statt zu versuchen, es über einen Hook abzulehnen. Die SDK-Seite wurde im selben Release ergänzt (TypeScript v0.3.219 fügt DirectoryAdded zu den Lifecycle-Events des Control-Protokolls hinzu), sodass SDK-gehostete harnesses es gleichwertig mit CLI-basierten sehen.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 angehalten. 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).
Kritisch: Jeder Sicherheits-Hook muss exit 2 verwenden, nicht exit 1. Exit 1 ist eine nicht blockierende Warnung. Der gefährliche Befehl wird dennoch ausgeführt. Das ist teamübergreifend der häufigste Hook-Fehler.14

Hook-Konfiguration

Hooks befinden sich in Einstellungsdateien. Auf Projektebene (.claude/settings.json) für gemeinsame Hooks. Auf 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 eventspezifischen Wert. Bei Tool-Events gleicht es tool_name-Werte ab, etwa Bash, Edit, Write, Read, Glob, Grep, MCP-Tool-Namen wie mcp__server__tool oder * für alle Tools. Einfache Namen und mit | getrennte Listen sind exakte Übereinstimmungen; Werte mit anderen Zeichen sind JavaScript-reguläre Ausdrücke. Einige Events unterstützen keine Matcher und werden bei Konfiguration immer ausgelöst.13 Seit Claude Code v2.1.195 werden Matcher mit Bindestrich-Identifiern (code-reviewer, mcp__brave-search) exakt abgeglichen, statt versehentlich Teilzeichenketten zuzuordnen — ein Hook für einen bestimmten Agent oder Server wird nicht mehr für jeden Namen ausgelöst, der die Zeichenkette lediglich enthält; um alle Tools eines MCP-Servers mit Bindestrich abzudecken, schreiben Sie das explizite Muster mcp__brave-search__.*.66 v2.1.214 wandte dieselbe Disziplin auf Pfad-Muster an: Eine Hook-Bedingung if: mit einem einsegmentigen Muster dir/** entspricht nun nur <cwd>/dir, nicht jedem Verzeichnis namens dir irgendwo im Baum — verwenden Sie **/dir/**, wenn Sie tatsächlich jede Tiefe meinen.74 Wie bei der Änderung in v2.1.195 ersetzt die Korrektur versehentliche Breite durch deklarierte Absicht; prüfen Sie alle Hook-Bedingungen, die sich stillschweigend auf das frühere Verhalten für beliebige Tiefe verlassen haben.

Hook-Ein-/Ausgabeprotokoll

Hooks erhalten JSON über stdin mit vollständigem Kontext:

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

Für erweiterte Steuerung können PreToolUse-Hooks JSON ausgeben, um Tool-Eingaben zu ändern, Kontext einzufügen 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 sorgen nachträglich für Konsistenz. PostToolUse-Hooks für Write/Edit führen Ihren Formatter nach jeder Dateiänderung aus. Die Ausgabe des Modells spielt keine Rolle, weil der Formatter 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 sie 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 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, ohne Tokenkosten.

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 zum Zulassen { "ok": true } oder zum Blockieren { "ok": false, "reason": "..." } zurück. Verwenden Sie sie für differenzierte Bewertungen, die sich nicht mit Regex ausdrücken lassen.

Agent hooks (type: "agent") starten einen subagent mit Toolzugriff (Read, Grep, Glob) für mehrstufige Verifizierung. Sie sind experimentell; bevorzugen Sie command hooks für Produktions-Gates und reservieren Sie agent hooks für Prüfungen, die tatsächlich die Untersuchung realer Dateien oder Testausgaben erfordern:

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

Ab Claude Code v2.1.140 enthält die Eingabe für agent hooks subagent_type, wodurch ein gemeinsamer Hook einen Durchlauf mit security-reviewer von einem explorer oder generischen worker unterscheiden kann, ohne anhand des Prompt-Texts raten zu müssen.49

HTTP hooks (type: "http") senden die JSON-Eingabe des Ereignisses als POST-Anfrage an eine URL und erhalten JSON zurück. Verwenden Sie sie für Webhooks, externe Benachrichtigungsdienste oder API-basierte Validierung (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 laufen, ohne die Ausführung zu blockieren. Fügen Sie für unkritische Vorgänge wie Benachrichtigungen und Logging async: true hinzu:13

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

Verwenden Sie async für Benachrichtigungen, Telemetrie und Backups. Verwenden Sie async niemals für Formatierung, Validierung oder alles, was vor der nächsten Aktion abgeschlossen sein muss.

Dispatcher statt unabhängiger Hooks

Wenn sieben Hooks alle beim selben Ereignis ausgelöst werden und jeweils unabhängig stdin lesen, entstehen Race Conditions. Zwei Hooks, die gleichzeitig in dieselbe JSON-Statusdatei schreiben, kürzen die JSON. Jeder nachgelagerte Hook, der diese Datei parst, fällt aus.2

Die Lösung: ein dispatcher pro Ereignis, der Hooks sequenziell aus 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 Techniken zum Debuggen von Hooks, die stillschweigend fehlschlagen:14

  1. Testen Sie Skripte unabhängig. Leiten Sie beispielhaftes JSON weiter: echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh
  2. Verwenden Sie stderr für Debugausgaben. stderr mit Exit-Code 2 wird Claude als Fehlermeldung zurückgegeben. Nicht blockierendes stderr (Exit 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 Tooleingaben.
  4. Verifizieren Sie Exit-Codes. Ein PreToolUse hook, der exit 1 verwendet, erzwingt nichts, obwohl er scheinbar funktioniert.
  5. Halten Sie Hooks schnell. Hooks laufen synchron. Halten Sie alle Hooks unter 2 Sekunden, idealerweise unter 500 ms.

SDK-seitiges Hook-Ereignisstreaming

Selbstgehostete harnesses, die auf claude-agent-sdk-python (v0.1.74+, 6. Mai 2026) basieren, können Hook-Ereignisse direkt aus dem Nachrichtenstream abonnieren, statt Shell-Skript-Callbacks zu verwenden.36 Setzen Sie include_hook_events=True bei ClaudeAgentOptions; HookEventMessage-Objekte (PreToolUse, PostToolUse, Stop und andere) werden über denselben Iterator wie Assistant-Nachrichten und Toolergebnisse ausgegeben. Dies entspricht der includeHookEvents-Option des TypeScript SDK; das gebündelte CLI wurde in derselben Version auf v2.1.129 angehoben.

Das Ereignisstream-Muster passt, wenn Ihr harness bereits in Python lebt und Sie Hook-Signale im selben Kontrollfluss wie die Modellausgabe benötigen. Der Shell-Skript-Hook-Vertrag (Exit-Codes, stdin JSON, dispatcher) bleibt die richtige Wahl für harnesses, die mehrere Tools kombinieren, Hooks zwischen Claude Code und Codex teilen oder Exit-Code-Semantik zum Blockieren benötigen.

Die Serie des TypeScript SDK vom Juli 2026 (v0.3.205–v0.3.208) machte auch das gestreamte Protokoll selbst verbindlicher.70 Interrupts liefern nun typisierte Empfangsbestätigungen zurück: Ein Interrupt bestätigt über still_queued UUIDs, welche Nachrichten in der Warteschlange noch ausstehen, und Sitzungen kündigen die Fähigkeit interrupt_receipt_v1 in system/init an. So kann ein Koordinator unterscheiden, ob ein „Interrupt angekommen“ ist oder ob er eine bereits laufende Nachricht überholt hat. command_lifecycle-Frames melden pro Nachricht queued/started/completed/cancelled/discarded — die erste First-Party-Antwort auf „Was ist mit der von mir gesendeten Nachricht passiert?“, ohne Rückschlüsse aus dem Transkript ziehen zu müssen. Auch kleinere Oberflächen kamen hinzu: ein AgentToolCompletedOutput-Typ für subagent-Abschluss-Payloads, und canUseTool-Callbacks können jetzt {behavior: 'allow'} ohne ein updatedInput-Feld zurückgeben.

Eine Zeile dieser Serie ist eine Sicherheitsuntergrenze, keine Funktion: v0.3.208 behebt, dass ein während eines ausstehenden Hooks eintreffender Abbruch durch den Aufrufer in Hook-Erfolg umgewandelt wurde — wodurch ein durch einen PreToolUse hook geschütztes Tool nach dem Abbruch durch den Aufrufer ausgeführt werden konnte.70 Falls Ihr harness SDK-seitige Hooks als Berechtigungsgate verwendet und sich darauf verlässt, dass ein Abbruch laufende Arbeit beendet, behandeln Sie v0.3.208 als Mindestversion; darunter bedeutete „abgebrochen“ nicht zuverlässig „blockiert“. Python v0.2.127 (24. Juli 2026) ist der zweite Bypass dieser Art innerhalb eines Monats — query() schloss stdin beim ersten result-Frame, während subagents im Hintergrund noch liefen, sodass ihre SDK-MCP-Toolaufrufe mit "Stream closed" fehlschlugen und PreToolUse hooks vollständig umgingen.85 Benennen Sie das Muster und achten Sie darauf: SDK-seitige Hook-Erzwingung schlägt an Lebenszyklusgrenzen offen fehl — Abbruch, Teardown, Stream-Schließung — wenn der Transport stirbt, bevor das Hook-Urteil eingeholt wird; und sie schlägt stillschweigend fehl, weil ein umgangener Hook genauso aussieht wie ein Hook, der zugestimmt hat. Pinnen Sie beide SDK-Mindestversionen und behalten Sie die Shell-Hook-Schicht als Erzwingung bei, die Sie nachweisen können.

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

Zwei Ergänzungen in Claude Code v2.1.132 und v2.1.133 geben Hooks und Subprozessen bessere Signale zu ihrem Ausführungskontext:3839

  • effort.level in Hook-Eingaben. Hooks erhalten nun ein JSON-Feld effort.level in derselben Eingabe, die tool_input und session_id enthält. Derselbe Wert wird als Umgebungsvariable $CLAUDE_EFFORT exportiert, sodass Bash-Befehle ihn ohne Parsen von JSON lesen können. Verwenden Sie dies, um die Hook-Kosten mit der Aufwandsstufe zu skalieren: Überspringen Sie aufwendige Validierung bei low, führen Sie das vollständige Sicherheits-Gate bei xhigh oder max aus.
  • Umgebungsvariable CLAUDE_CODE_SESSION_ID für Bash-Subprozesse. Bash-Tool-Subprozesse sehen nun denselben session_id-Wert wie Hooks, verfügbar als CLAUDE_CODE_SESSION_ID. Das schließt die Provenienzlücke für Tools, die Status pro Sitzung protokollieren und zuvor Subprozessereignisse nicht mit Hook-Ereignissen korrelieren konnten.

Beide Signale sind ohne Codeänderungen verfügbar; bestehende 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 fügte dem Auto-Modus eine neue Hard-Deny-Stufe hinzu und behob eine Reihe von Plugin- und MCP-Problemen, die lang laufende harnesses betrafen:40 - settings.autoMode.hard_deny. Regeln des Auto-Mode-Classifiers, die unabhängig von Benutzerabsicht oder allow-Ausnahmen unbedingt blockieren. Dies steht als nicht verhandelbarer Governance-Hebel über den bestehenden allow/deny-Matchern. Nutzen Sie ihn für Regeln, die niemals überschrieben werden dürfen (force-push auf main, Dateien mit Secrets, Zugriff auf Produktionsdatenbanken), selbst wenn ein Operator die übergeordnete Kategorie in seinen persönlichen Einstellungen genehmigt 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. Diese Einstellung leitet jeden Bash/PowerShell-Befehl durch den Classifier — die Haltung maximaler Abdeckung für einen gesteuerten harness — und dieselbe Version zeigt Ablehnungsgründe im Transkript, im Toast und in /permissions an, wodurch stille Blockierungen zu auditierbaren Entscheidungen werden. Codex hat die entsprechende Oberfläche in v0.142.2 verschärft: PowerShell-Befehle mit ausführbaren AST-Bereichen, die sein Sicherheits-Classifier nicht prüfen kann, benötigen nun eine Genehmigung, anstatt stillschweigend durchgelassen zu werden.66 - Hook ask setzt dem Classifier eine Untergrenze (v2.1.211). Die Frage zur Priorität von Hook gegenüber Auto Mode ist nun geklärt: Ein PreToolUse-Hook, der eine ask-Berechtigungsentscheidung zurückgibt, setzt das endgültige Ergebnis mindestens auf eine Aufforderung — Auto Mode kann dies für unsandboxed Bash-Befehle nicht wieder zu allow hochstufen.69 Für einen gesteuerten harness ist dies die fehlende Garantieschicht: Das ask eines Hooks ist ein deterministischer Human-in-the-Loop-Stopp, der selbst vollständig automatische Berechtigungshaltungen übersteht. Verwenden Sie ask (nicht nur Exit-2-Blockierungen) für Vorgänge, bei denen Sie eine menschliche Entscheidung statt einer Ablehnung wünschen. - Das Classifier-Modell wird pro Sitzung festgelegt (v2.1.210). Der Auto-Mode-Classifier verwendet standardmäßig Sonnet 5 und wird für die Sitzung festgelegt, sodass Modellwechsel während der Sitzung nicht mehr ändern, welches Modell Berechtigungsklassifizierungen vornimmt.69 Klassifizierungskonsistenz ist eine Governance-Eigenschaft; dadurch wird eine stille Quelle für Drift beseitigt. - MCP-Server verschwinden nach /clear nicht mehr. Server, die in .mcp.json, Plugins und claude.ai connectors konfiguriert waren, fielen nach einem /clear in der VS Code-Erweiterung, dem JetBrains-Plugin und Agent SDK stillschweigend aus der aktiven Menge. Die Korrektur ist in v2.1.136 enthalten. Wenn Sie erlebt haben, dass „MCP server X went missing mid-session“, war dies die Ursache. - Verlust von MCP-OAuth-Refresh-Tokens bei gleichzeitigem Refresh. Benutzer mit mehreren Remote-MCP-Servern sollten sich nicht länger täglich erneut authentifizieren müssen. Gleichzeitige Refresh-Schreibvorgänge überschriebene einander. - Plan Mode blockiert Dateischreibvorgänge nun korrekt. Eine passende Edit(...)-allow-Regel umging den Schreibschutz von Plan Mode. Plan Mode wird nun unabhängig von allow-Regeln durchgesetzt. - Plugin-Stop- und -UserPromptSubmit-Hooks schlagen während einer Sitzung nicht mehr fehl. Die Cache-Bereinigung löschte Plugin-Version-Dateien, die von der laufenden Sitzung noch verwendet wurden, wodurch speziell diese beiden Hook-Events fehlschlugen. Die Korrektur hält verwendete Versionen fest. - skills-Eintrag in plugin.json. Das Setzen von skills blendete den standardmäßigen skills/-Ordner des Plugins aus. Nun wird der Eintrag korrekt zusammengesetzt, und ein Verweis auf einen Dateipfad erzeugt einen expliziten Fehler, statt stillschweigend fehlzuschlagen. - CLAUDE_ENV_FILE-SessionStart-Hook-Umgebungsvariablen wurden veraltet. Variablen, die von SessionStart-Hooks über CLAUDE_ENV_FILE exportiert wurden, veralteten nach /resume oder /clear. Behoben in v2.1.136. Sitzungen lesen die env-Datei bei diesen Events nun erneut ein.

Für Governance-harnesses sind die operativ interessanten Punkte autoMode.hard_deny (neuer Hebel) und die Korrektur für verschwindende MCP-Server (stiller Fehler, der lange Sitzungen beeinträchtigte). Alles andere ist eine Bereinigung 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 wichtig sind: eine args: string[]-exec-Form für Command-Hooks und continueOnBlock für PostToolUse-Hooks.4244 Bevorzugen Sie args, wenn ein Hook dynamische Werte oder Pfadplatzhalter benötigt. Es startet den Befehl direkt ohne Shell, wodurch eine ganze Klasse von Quoting- und Injection-Fehlern 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. Behandeln Sie es als Funktion für die Operator-Erfahrung, nicht als Sicherheitsumgehung. Ein blockierendes Gate sollte das unsichere Ergebnis weiterhin blockieren.

Dieselbe Version übergibt CLAUDE_PROJECT_DIR an MCP-stdio-Server und ermöglicht Plugin-Konfigurationen, in Befehlen auf ${CLAUDE_PROJECT_DIR} zu verweisen.42 MCP-Tools sollten projektbezogene Pfade anhand dieses Werts auflösen, statt anhand des Arbeitsverzeichnisses des Prozesses, der den Server zufällig gestartet hat. Die Versionen von Anfang Juli 2026 (v2.1.203–v2.1.206) erweiterten dasselbe Prinzip auf die Protokollebene: MCP roots/list enthält nun die zusätzlichen Arbeitsverzeichnisse der Sitzung, mit roots/list_changed-Benachrichtigungen bei Änderungen — sodass ein Server, der MCP roots respektiert, die tatsächliche Form eines Arbeitsbereichs mit mehreren Verzeichnissen nachverfolgt, anstatt von einem einzelnen Projektverzeichnis auszugehen.68

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

Claude Code v2.1.141 fügt ein Hook-Output-Feld terminalSequence für Desktop-Benachrichtigungen, Fenstertitel und Signaltöne ohne steuerndes Terminal hinzu.50 Behandeln Sie dies als Operator-Signalisierung, nicht als Durchsetzung. Sicherheits- und Qualitäts-Gates sollten Fehler weiterhin über den normalen Blockierungsvertrag kommunizieren: strukturierten Hook-Output plus das Exit-Verhalten, das die unsichere Aktion verhindert. Dieselbe Version fügt claude agents --cwd <path> hinzu, um Agent View auf ein Verzeichnis zu beschränken, CLAUDE_CODE_PLUGIN_PREFER_HTTPS für Plugin-Installationen in Umgebungen ohne GitHub SSH keys sowie ANTHROPIC_WORKSPACE_ID für Regeln zur Workload-Identity-Federation, die mehr als einen Workspace abdecken.50 Das sind Architekturdetails für Team-harnesses: engere operative Ansichten, weniger Annahmen bei Plugin-Installationen und explizites Scoping von Enterprise-Tokens.

Claude Code v2.1.142 ist für die Orchestrierung von Hintergrundsitzungen wichtiger als für die Hook-Semantik.51 claude agents kann Hintergrundsitzungen nun mit expliziten Flags für Verzeichnis, Einstellungen, MCP, Plugin, Berechtigungen, Modell und Aufwand starten, statt von Wrapper-Zustand abhängig zu sein. Fast Mode verwendete in dieser Version standardmäßig Opus 4.7, mit CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 als Festlegung für einen harness, der nachweislich vom Verhalten von Opus 4.6 abhängt — ab v2.1.219 ist Opus 4.7 vollständig aus Fast Mode entfernt und /fast gilt für Opus 5 und Opus 4.8.84 Die Erkennung von SKILL.md im Root-Level von Plugins und die Sichtbarkeit von durch Plugins bereitgestellten LSP reduzieren Unklarheiten bei der Paketierung. Korrekturen für MCP_TOOL_TIMEOUT, bereits vorhandene Worktrees für Hintergrundsitzungen, Daemon-Sleep/Wake und Bereinigung nach Upgrades sowie die Plugin-Cache-Bereinigung schließen Zuverlässigkeitslücken, die andernfalls wie Orchestrierungsfehler aussehen.

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

Vier Änderungen von Anfang Juni sind für harness- und Multi-Agent-Design wichtig.59

Stop/SubagentStop-Hooks erhielten einen Steuerungskanal. Ab Claude Code v2.1.163 kann ein Stop- oder SubagentStop-Hook hookSpecificOutput.additionalContext zurückgeben, um Claude Feedback zu übermitteln und den Turn fortzusetzen, ohne dass die Antwort als Hook-Fehler gekennzeichnet wird. Zuvor war der einzige echte Hebel eines Stop-Hooks die Exit-2-Blockierung, die als Fehler erscheint und auf die Obergrenze aufeinanderfolgender Blockierungen angerechnet wird. Für einen Quality-Gate-harness ist dies das sauberere Primitiv: Ein Stop-Hook, der erkennt: „Sie haben done gesagt, aber die Tests sind rot“, kann nun „Folgendes schlägt weiterhin fehl, fahren Sie fort“ einschleusen, statt hart zu blockieren. Verwenden Sie die Blockierung für echte Stoppbedingungen und additionalContext für „noch nicht fertig, aus diesem Grund“.

Sitzungsübergreifende Nachrichten übertragen keine geliehene Autorität mehr. v2.1.166 hat den Multi-Session-Fall gehärtet: Nachrichten, die über SendMessage aus einer anderen Claude-Sitzung weitergeleitet werden, übertragen nicht mehr die Autorität des ursprünglichen Benutzers, sodass eine empfangende Sitzung weitergeleitete Berechtigungsanfragen ablehnt und Auto Mode sie blockiert. Wenn Ihre Orchestrierung Agents Nachrichten senden lässt, behandeln Sie eine eingehende Nachricht als nicht vertrauenswürdige Daten, nicht als authentifizierte Anweisung. Dies ist dasselbe Prinzip, das der Sicherheitsabschnitt auf Tool-Output anwendet, erweitert auf die Kommunikation zwischen Agents. Ab v2.1.199 erkennt und warnt Claude Code außerdem, wenn ein SendMessage fehlgeleitet wird, weil zwei Agents denselben Namen haben — eine Zuverlässigkeitsergänzung zu dieser Autoritätsgrenze, da eine Nachricht, die den falschen gleichnamigen Agent erreicht, eine eigene Klasse von Orchestrierungsfehlern darstellt. Sessions sind jetzt gleichberechtigte Einheiten erster Klasse (v2.1.224+). Cross-Session-Messaging wurde von einer Relay-Härtung zu einer vollständigen Oberfläche weiterentwickelt: SendMessage/ListAgents ermöglichen Ihren Sessions, sich über Ihre Rechner hinweg (macOS/Linux) zu erkennen und miteinander zu kommunizieren; auf der Empfängerseite stehen dafür crossSessionInbound-Steuerelemente zum Akzeptieren, Zurückhalten oder Ablehnen bereit — und self-hosted runners ermöglichen es Claude Code, Web- und Mobile-Sessions auf Hardware auszuführen, die Sie kontrollieren. Für die harness-Architektur wird „eine Session“ damit zu einem adressierbaren Knoten: Erkennung, Inbound-Richtlinien und die oben beschriebene Autoritätsgrenze sind nun Plattformprimitive und keine Mailbox-Skripte mehr (der Claude Code guide dokumentiert den vollständigen Vertrag).87 Gleichzeitig ändert sich eine Sicherheitsposition: Der Auto-Modus wird am 14. August 2026 zum Standardberechtigungsmodus für Pro-, Max- und Team-Pläne — ein harness, der sich bei menschlicher Kontrolle auf Aufforderungen im Manual-Modus stützt, sollte defaultMode ausdrücklich festlegen, statt dies vorauszusetzen.87

Modellresilienz wurde zu einer Einstellung erster Klasse. Die Einstellung fallbackModel verkettet nun bis zu drei Backup-Modelle, die der Reihe nach ausprobiert werden, wenn das primäre Modell überlastet oder nicht verfügbar ist; bei unerwarteten, nicht wiederholbaren API-Fehlern wird ein Turn einmal automatisch mit dem Fallback wiederholt. Für ein langfristig laufendes autonomes harness wird aus einem vorübergehenden Ausfall des Primärmodells damit eine kontrollierte Degradierung statt eines abgebrochenen Durchlaufs. claude agents --json erhielt außerdem ein Feld waitingFor (v2.1.162), das anzeigt, worauf eine blockierte Hintergrund-Session wartet, etwa auf eine Berechtigungsabfrage — ein Gewinn an Beobachtbarkeit für jeden Koordinator, der eine Flotte von Agents abfragt.

Safe Mode für Clean-Room-Governance und Fehlerbehebung. Claude Code v2.1.169 fügt ein Flag --safe-mode hinzu (sowie die passende Umgebungsvariable CLAUDE_CODE_SAFE_MODE), das eine Session startet, in der sämtliche Anpassungen zugleich deaktiviert sind: CLAUDE.md, Plugins, skills, hooks und MCP-Server.60 Das ist das Gegenteil des harness — ein bewusst eingerichteter Clean Room. Damit beantworten Sie die Frage, die sich jeder Operator irgendwann stellt: „Kommt dieses Verhalten vom Modell oder von etwas, das ich konfiguriert habe?“ Wenn ein hook fehlausgelöst wird, sich ein skill aktiviert, obwohl er es nicht sollte, oder ein MCP-Server den Kontext vergiftet, liefert --safe-mode eine bekanntermaßen leere Baseline zum Vergleich. Es ist auch ein Governance-Primitiv: eine Möglichkeit, das reine Modell ohne die persistente Autorität auszuführen, die Ihr harness normalerweise gewährt. Das ist wichtig, wenn Sie ein Ergebnis reproduzieren müssen, ohne dass operator-definierte Gerüste es beeinflussen.

Ein Hinweis zu Modellstufen. Mit Claude Code v2.1.197 (30. Juni 2026) ist Claude Sonnet 5 das ausgelieferte Standardmodell für neue Sessions — mit nativem 1M-Kontext und einem Aktionspreis von $2/$10 pro MTok bis zum 31. August — und ersetzt Opus 4.8 als sofort verfügbare Standardwahl. Dieser Leitfaden behandelt Opus 5 (claude-opus-5) als empfohlenen agentischen Standard: als das Modell, auf dem autonome harnesses laufen sollten, sofern Sie nicht bewusst etwas anderes wählen. Gerade bei Agent-Loops mit langem Horizont und hohem Risiko rechtfertigt die Tiefe von Opus’ Schlussfolgerungen seine Kosten. Opus 5 wurde am 24. Juli 2026 als neues Standard-Opus in Claude Code v2.1.219 ausgeliefert — mit 1M Kontext, $5/$25 pro MTok (demselben Preis wie beim abgelösten Opus 4.8), Fast Mode zu $10/$50 bei ungefähr 2,5× der Standardgeschwindigkeit — und Anthropic zufolge erreicht es auf Frontier-Bench v0.1 mehr als die doppelte Leistung von Opus 4.8, während sein CursorBench-3.2-Ergebnis höchstens 0,5 % hinter Fable 5 liegt, bei halben Kosten.8491 Gleicher Preis, mehr Fähigkeiten und ein Modell, das Anthropic als „wesentlich stärker beim Überprüfen seiner Arbeit und beim sorgfältigen Iterieren“ beschreibt, machen dieses Upgrade für harness-Arbeit zu einer seltenen Verbesserung, die kein Kostenargument braucht; die Migration von 4.8 ist eine ID-Änderung. Wechseln Sie für kostensensitive oder hochvolumige Arbeit zu Sonnet 5, wenn dessen Verhältnis von Geschwindigkeit zu Intelligenz überzeugt. Über Opus steht Claude Fable 5 (claude-fable-5), das am 9. Juni 2026 eingeführt wurde — eine neue Stufe, die als leistungsstärkstes Modell von Anthropic beschrieben wird, ein „Mythos-class“-System, das für den allgemeinen Einsatz sicher gemacht wurde und in Claude Code v2.1.170 über /model claude-fable-5 auswählbar ist.60 Greifen Sie bewusst zur höheren Stufe, bei Entscheidungen, bei denen rohe Tiefe des Schlussfolgerns die Kosten rechtfertigt, nicht als Pauschaleinstellung für eine Flotte. Der Wechsel zu Opus 5 hat zwei weitere Folgen: Opus 4.7 ist nicht mehr im Fast Mode (/fast gilt nun für Opus 5 und Opus 4.8), und der Fable-5-Fallback des Auto-Mode-Klassifizierers — seit v2.1.176 „das beste verfügbare Opus-Modell“ — wird nun zu Opus 5 aufgelöst.84

Codex lieferte Multi-Agent v2 aus. Codex CLI v0.137.0 behält die Runtime-Auswahl bei jedem Thread, bietet sauberere Standardwerte für Follow-ups und Metadaten bei gestarteten Agents (hide_spawn_agent_metadata ist jetzt standardmäßig true) und propagiert rohe Parent-Events an Child-Listener. Sein subagent-Modell bleibt explizit: integrierte Agent-Typen default/worker/explorer, TOML-definierte benutzerdefinierte Agents und Parallelitätssteuerungen (agents.max_threads standardmäßig 6, agents.max_depth standardmäßig 1). Dieselbe Version fügt eine skills-Erweiterung v1 mit einer Skill-Katalogauflösung pro Turn sowie neue Lifecycle-Contributor-Events für Thread-Start und Turn-Fehler hinzu und verringert damit den Abstand zu Claude Code’s hook/skill-Oberfläche, während die kernel-sandbox-Haltung als Standardgrenze erhalten bleibt. Codex v0.138.0–v0.139.0 härtete Multi-Agent v2 anschließend für die Produktion: Inter-Agent-Nachrichten-Payloads sind nun verschlüsselt, ein v2-Agent-Konfigurationskatalog sowie ein Agent-Residency-LRU verwalten, welche Agents resident bleiben, und Parallelität wird anhand der aktiven Ausführung statt anhand gestarteter Threads gezählt, sodass inaktive Agents keinen Slot mehr belegen.61 Auch der Lifecycle API reifte weiter — close_agent wurde in interrupt_agent (v0.139.0) umbenannt, um widerzuspiegeln, dass ein laufender Agent unterbrochen wird, statt lediglich einen Handle zu schließen — und MCP-Startwarnungen eines subagent bleiben nun auf den zugehörigen Thread beschränkt, statt im Transkript des Parents dupliziert zu werden.61 Für alle, die Codex-seitige Orchestrierung entwickeln, ist dies der Unterschied zwischen einer Demo und einer Flotte: verschlüsselter Nachrichtentransport, begrenzte Residency, nach Ausführungen gezählte Parallelität und Warnungen, die nicht über die Thread-Grenze hinweg durchsickern. Codex v0.140.0 öffnete anschließend eine Schnittstelle zwischen Tools: /import übernimmt selektiv Setup, Projektkonfiguration und jüngste Chats aus Claude Code in Codex, und Sessions wurden dauerhaft löschbar (codex delete / /delete, mit Bestätigungsschutz).[^^92] /import ist die erste offizielle Anerkennung, dass Operators zwischen harnesses wechseln — die Konfiguration, die Sie für eines erstellen, ist nicht länger darin gefangen.


Speicher und Kontext

Jede AI-Unterhaltung findet innerhalb eines begrenzten Kontextfensters statt. Mit zunehmender Länge der Unterhaltung komprimiert das System frühere Turns, um Platz für neue Inhalte zu schaffen. Diese Komprimierung ist verlustbehaftet. Architekturentscheidungen, die in Turn 3 dokumentiert wurden, überleben Turn 15 möglicherweise nicht.9

Die drei Mechanismen des Multi-Turn-Kollapses

Die MSR/Salesforce-Studie identifizierte drei unabhängige Mechanismen, die jeweils einen anderen Eingriff erfordern:9

Mechanismus Was passiert Maßnahme
Kontextkomprimierung Frühere Informationen werden verworfen, um Platz für neue Inhalte zu schaffen Zustands-Checkpointing im Dateisystem
Verlust der Kohärenz beim Schlussfolgern Das Modell widerspricht über mehrere Turns hinweg seinen eigenen früheren Entscheidungen Iteration mit frischem Kontext (Ralph Loop)
Koordinationsfehler Mehrere Agenten verfügen über unterschiedliche Zustands-Snapshots Gemeinsame Zustandsprotokolle zwischen Agenten

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 und 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 hält Fehler, Entscheidungen und Muster sitzungsübergreifend fest. Wenn Sie feststellen, dass ((VAR++)) mit set -e in bash fehlschlägt, wenn VAR 0 ist, halten Sie dies fest. Wenn Sie drei Sitzungen später in Python auf einen ähnlichen Ganzzahl-Sonderfall stoßen, macht der Eintrag in MEMORY.md dieses Muster sichtbar.15

Auto Memory (v2.1.32+): Claude Code erfasst und ruft Projektkontext automatisch ab. Während Sie arbeiten, schreibt Claude Beobachtungen in ~/.claude/projects/{project-path}/memory/MEMORY.md. Auto Memory lädt zu Beginn einer Sitzung die ersten 200 Zeilen in Ihren System-Prompt. Halten Sie die Datei knapp und verlinken Sie für detaillierte Notizen auf separate Themendateien.6 Seit v2.1.210 führt ein Schreibvorgang in MEMORY.md, der die Größenbegrenzung überschreitet, zu einem Fehler, statt die Datei stillschweigend zu kürzen69 — der Fehler wird beim Schreiben sichtbar, statt dass Speichereinträge unbemerkt verschwinden. Wenn Ihr harness Speicherschreibvorgänge automatisiert, behandeln Sie diesen Fehler; die Plattform signalisiert damit, dass die Datei kuratiert werden muss, nicht dass ein erneuter Versuch nötig ist.

Speicherkuratierung statt Speichervolumen (Mai 2026): Ein aktueller arXiv-Preprint zur Zusammenarbeit von LLM-Agenten beschreibt erweiterten Abruf als möglichen Fehlermodus: In den Experimenten der Autoren verschlechterte ein längerer sichtbarer Verlauf die Zusammenarbeit in 18 von 28 Modellspiel-Konfigurationen.48 Betrachten Sie dies als Designwarnung, nicht als abschließendes Gesetz. Die Produktionsregel ist bereits klar genug: Halten Sie MEMORY.md kurz, verlinken Sie auf Details und platzieren Sie entscheidungsreife Zusammenfassungen in Übergaben. Rohe Transkript-Dumps, Tool-Logs und lange Abruf-Feeds gehören in durchsuchbaren Speicher, nicht automatisch in den aktiven Prompt.

Strategie 2: Proaktive Komprimierung

Der Befehl /compact von Claude Code fasst die Unterhaltung zusammen und schafft Kontextplatz, während wichtige Entscheidungen, Dateiinhalte und der Aufgabenstatus erhalten bleiben.15

Wann komprimiert werden sollte: - Nach Abschluss einer klar abgegrenzten Teilaufgabe (Funktion implementiert, Fehler behoben) - Bevor Sie einen neuen Bereich der Codebasis beginnen - Wenn Claude beginnt, früheren Kontext zu wiederholen oder zu vergessen - Ungefähr alle 25–30 Minuten während intensiver Sitzungen

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 Unterhaltung; der Befehl /cd (Claude Code v2.1.169) schützt den Prompt-Cache. Er verschiebt eine Sitzung während des laufenden Vorgangs in ein neues Arbeitsverzeichnis, ohne den über den Turn hinweg aufgebauten Cache zu unterbrechen.60 Zuvor bedeutete ein Verzeichniswechsel eine neue Sitzung und einen kalten Cache. Bei einer lang laufenden Sitzung, die von einem Repository zu einem benachbarten wechselt — üblich bei Monorepo- und Multi-Service-Arbeit — bewahrt /cd das teure gecachte Präfix, während der Dateisystemkontext neu ausgerichtet wird.

Strategie 3: Sitzungsübergaben

Erstellen Sie für Aufgaben, die mehrere Sitzungen umfassen, Übergabedokumente, welche den vollständigen Zustand festhalten:

## 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 liefert der nachfolgenden Sitzung vollständigen Kontext bei minimalem Tokenverbrauch. Eine neue Sitzung mit claude -c (fortsetzen) zu starten oder das Übergabedokument zu lesen, führt direkt zur Implementierung.15

Strategie 4: Iteration mit frischem Kontext (die Ralph Loop)

Für Sitzungen, die 60–90 Minuten überschreiten, starten Sie pro Iteration eine frische Claude-Instanz. Der Zustand bleibt über das Dateisystem erhalten, nicht über den Gesprächsspeicher. Jede Iteration erhält das vollständige Kontextbudget:16

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

Vergleich mit einer einzelnen langen Sitzung:

Minute 0:   [fresh context]        -> productive
Minute 30:  [context filling]      -> somewhat productive
Minute 60:  [mostly consumed]      -> degraded
Minute 90:  [compaction pending]   -> significantly degraded
Minute 120: [compressed, lossy]    -> errors accumulate

Der Ansatz mit frischem Kontext pro Iteration tauscht einen Overhead von 15–20 % für den Orientierungsschritt (Zustandsdateien lesen, Git-Historie prüfen) gegen vollständige kognitive Ressourcen pro Iteration.16 Die Kosten-Nutzen-Abwägung: Für Sitzungen unter 60 Minuten ist eine einzelne Unterhaltung effizienter. Über 90 Minuten hinaus liefert frischer Kontext trotz des Overheads qualitativ bessere Ergebnisse.

Strategie 5: Verwaltete Speicherkuratierung (Dreaming)

Die Managed Agents von Anthropic Claude führten Dreaming am 6. Mai 2026 als Research Preview ein.35 Laut Anthropic: „Dreaming ist ein geplanter Prozess, der Ihre Agentensitzungen und Speicherablagen überprüft, Muster extrahiert und Speicher kuratiert, damit sich Ihre Agenten im Laufe der Zeit verbessern.“35

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

Dateisystemspeicher Dreaming (Managed)
Wo der Speicher liegt Ihr Repository, versionskontrolliert Von Anthropic verwaltete Speicherablage
Wann er aktualisiert wird Sie schreiben Einträge manuell oder über hooks Hintergrundprozess zwischen Sitzungen
Was er erfasst Entscheidungen, Fehler und Muster, die Sie markieren Aus der Sitzungshistorie extrahierte Muster
Am besten geeignet für Projektspezifisches institutionelles Wissen Sitzungsübergreifende Mustererkennung, die Sie manuell nicht entdecken würden

Dreaming befindet sich in Research Preview, sein Verhalten kann sich also ä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

Gesamte Dateien lesen, wenn Sie 10 Zeilen benötigen. Das Lesen einer einzelnen 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 dem Debugging eines Fehlers enthält Ihr Kontext mehr als 40 Stacktraces fehlgeschlagener Iterationen. Ein einzelnes /compact nach der Fehlerbehebung beseitigt diesen Ballast.

Jede Sitzung beginnen, indem jede Datei gelesen wird. Lassen Sie die Glob- und Grep-Tools von Claude Code relevante Dateien bei Bedarf finden und sparen Sie so über 100.000 Tokens unnötigen Vorladens.15


Subagent-Muster

Subagents sind spezialisierte Claude-Instanzen, die komplexe Aufgaben selbstständig bearbeiten. Die meisten starten mit einem bereinigten Kontext (ohne Inhalte aus der Hauptkonversation) — eine Ausnahme bildet der nachfolgende Typ fork, der bewusst alles übernimmt —, arbeiten mit festgelegten Tools und geben ihre Ergebnisse als Zusammenfassungen zurück. Die Erkundungsergebnisse blähen Ihre Hauptkonversation nicht auf; nur die Schlussfolgerungen werden zurückgegeben.5

Integrierte Subagent-Typen

Typ Modell Modus Tools Verwendungszweck
Explore Übernimmt das Sitzungsmodell, höchstens Opus (v2.1.198; zuvor immer Haiku) Schreibgeschützt Glob, Grep, Read, sicheres Bash Erkundung der Codebasis, Auffinden von Dateien
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
Fork Immer das Modell der übergeordneten Instanz Vollständiger Lese-/Schreibzugriff Wie in der Hauptsitzung Arbeit, die die vollständige Konversation benötigt: Der Typ übernimmt den gesamten Verlauf, den System-Prompt, die Tools und den Prompt-Cache, während seine eigenen Tool-Aufrufe außerhalb Ihres Kontexts bleiben. Seit v2.1.232 in interaktiven Sitzungen standardmäßig aktiviert; deaktiviert in -p und dem SDK88

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 Eindeutige Kennung (Kleinbuchstaben und Bindestriche)
description Ja Gibt an, wann die Instanz aufgerufen werden soll (fügen Sie „PROACTIVELY“ hinzu, um die automatische Delegation zu fördern)
tools Nein Kommagetrennte Liste. 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 unbemerkt 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 wird als Alias für den unveränderten Konfigurationswert akzeptiert), 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 die Überschreibung für den jeweiligen Agenten festlegt69
maxTurns Nein Maximale Anzahl agentischer Durchläufe, bevor der Subagent stoppt
memory Nein Geltungsbereich des dauerhaften Speichers: user, project, local
skills Nein Lädt beim Start automatisch Inhalte von skills in den Kontext des Subagents. Seit v2.1.133 erkennen Subagents außerdem Projekt-, Benutzer- und Plugin-skills über das Skill-Tool auf dieselbe Weise wie die übergeordnete Sitzung. Frühere Versionen entfernten diese stillschweigend aus dem Kontext des Subagents.39
hooks Nein Auf die Ausführung dieses Subagents beschränkte Lebenszyklus-hooks
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 —, sodass dieses Feld das Verhalten nun ausdrücklich festschreibt, statt es erst zu aktivieren
isolation Nein Auf worktree setzen, um eine isolierte Kopie als Git-Worktree zu verwenden

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 unerlässlich, durch die die Codebasis beschädigt werden könnte.

Isolation ist nur dann Isolation, wenn die Grenze hält. In Claude Code v2.1.210 wurde ein Fehler behoben, durch den Worktree-isolierte Subagents den Haupt-Checkout verändern konnten — genau der Ausfall, den dieser Mechanismus verhindern soll.69 Wenn Sie isolation: worktree als Sicherheitsgrenze und nicht nur als Komfortfunktion einsetzen, sollten Sie v2.1.210 als Mindestversion betrachten. Die begleitende 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 also auch für gleichgeordnete Worktrees desselben Repositorys.69 Das ist für parallele Worktree-Agenten ergonomisch sinnvoll, bedeutet jedoch, dass eine während eines kurzlebigen Experiments erteilte Freigabe das Experiment überdauert — erteilen Sie Freigaben daher mit Blick auf das gesamte Repository und nicht nur auf den gerade sichtbaren Worktree.

v2.1.216 brachte diese Arbeit zum Abschluss und machte die Worktree-Isolation von einer Fehlerbehebung zu einer belastbar durchgesetzten Schutzmaßnahme.74 Die Korrektur in v2.1.210 verhinderte, dass Worktree-Subagents den Haupt-Checkout durch gewöhnliche Git-Aufrufe veränderten. Git selbst bietet jedoch explizite Umleitungen — git -C <path>, --git-dir sowie die Umgebungsvariablen GIT_DIR/GIT_WORK_TREE —, und ein Worktree-isolierter Subagent konnte damit weiterhin gezielt auf den gemeinsamen Checkout zugreifen. All diese Auswege sind nun geschlossen. Dieselbe Version behob außerdem, dass Worktree-Sitzungen gelegentlich im verbliebenen 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 Symlinks und Hardlinks nicht mehr durchläuft. Das Muster hinter allen vier Korrekturen ist gleich: Eine Isolationsgrenze muss gezielten Umleitungen standhalten — Git-Umgebungsüberschreibungen ebenso wie platzierten Symlinks — und nicht nur dem Standardverhalten. Wenn isolation: worktree in Ihrem harness eine Sicherheitsgrenze und nicht bloß eine Komfortfunktion darstellt, ist v2.1.216 die neue Mindestversion.

Parallele Subagents

Verwenden Sie parallele Subagents für unabhängige Rechercheaufgaben, die keine Abstimmung untereinander 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 beim Erzeugen delegieren Agenten an Agenten, die wiederum an Agenten delegieren. Dabei geht auf jeder Ebene Kontext verloren und es werden Tokens verbraucht. 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 Tiefenbegrenzungen. Tiefenbasierte Begrenzungen verfolgen Eltern-Kind-Ketten (beispielsweise eine Sperre ab Tiefe 3), übersehen aber die Breite: 23 Agenten auf Tiefe 1 sind weiterhin nur „Tiefe 1“. Ein Erzeugungsbudget erfasst die Gesamtzahl aktiver Kindinstanzen pro Elterninstanz und begrenzt sie auf einen konfigurierbaren Höchstwert. Das Budgetmodell bildet den tatsächlichen Fehlermodus ab — zu viele Agenten insgesamt — statt einer Ersatzmetrik — zu viele Verschachtelungsebenen.7

Der Standardwert für die Verschachtelungstiefe wurde dreimal geändert; bauen Sie nicht darauf auf. Claude Code v2.1.172 (10. Juni 2026) erlaubte Subagents, eigene Subagents zu erzeugen, und unterstützte eine Verschachtelung von bis zu 5 Ebenen — zuvor war die Delegation faktisch auf eine Ebene beschränkt.62 Das 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 die verschachtelte Erzeugung standardmäßig. v2.1.219 (24. Juli 2026) fand schließlich einen Mittelweg: „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 — wobei die letzten beiden Änderungen innerhalb von drei Tagen erfolgten.

Die hilfreiche Erkenntnis lautet nicht, dass eine dieser Zahlen richtig ist. Vielmehr sucht die Plattform noch nach einem geeigneten Standardwert, weshalb ein harness nicht einfach „das jeweils Ausgelieferte“ übernehmen sollte. Behandeln Sie die Verschachtelungstiefe als explizite Budgetposition: Setzen Sie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH auf die Tiefe, die Ihre Architektur tatsächlich benötigt — für die meisten Orchestrierungen ist das 1 oder 2 —, damit ein Upgrade nicht unbemerkt verändert, wie tief Ihre Agentenflotte delegiert. Das grundlegende Argument bleibt trotz all dieser Änderungen bestehen: Ketten aus Agenten, die an weitere Agenten delegieren, verbrauchen Kontext und Tokens schneller, als sie Ergebnisse liefern. Tiefe ist ein Risiko, das Sie budgetieren sollten, und keine Fähigkeit, die Sie möglichst weit ausreizen müssen. Der oben beschriebene recursion guard 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 nach der nächsten Version noch die Bedeutung, die Sie ihr zugeschrieben haben.

Auto mode prüft Erzeugungsvorgänge jetzt vor dem Start. Claude Code v2.1.178 schloss die entsprechende Governance-Lücke: Im auto mode bewertet der Berechtigungsklassifikator die Erzeugung von Subagents bevor der Subagent startet, statt erst dann, wenn dieser mit seinen Aktionen beginnt.63 Zuvor konnte ein Subagent erzeugt werden, um eine Aktion anzufordern, die der übergeordneten Sitzung untersagt worden wäre — das Erzeugen selbst stellte die Umgehung dar. Durch die Prüfung beim Erzeugen greifen recursion guard und Berechtigungsmodell endlich ineinander: Eine Kindinstanz kann nicht mehr dazu dienen, eine von der Richtlinie untersagte Aktion zu verschleiern.

Die Plattform bietet jetzt ein natives Erzeugungsbudget. Claude Code v2.1.212 (Juli 2026) führte integrierte Schutzmechanismen 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), und WebSearch ist auf 200 Aufrufe pro Sitzung beschränkt (CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION).69 Das Erzeugungsbudget-Muster, das dieser Abschnitt seit v1.0 als benutzerseitiges Skripting dokumentiert, wird nun von der Plattform bereitgestellt — eine Bestätigung des Budgetmodells gegenüber dem Tiefenmodell. Beachten Sie jedoch die Kalibrierung: 200 erzeugte Instanzen liegen um eine Größenordnung über dem Budget von 12 Agenten in der obigen Konfiguration. Die nativen Obergrenzen sind Sicherungen gegen eine tatsächlich außer Kontrolle geratene Schleife und keine auf Ihre Architektur abgestimmten Budgets. Behalten Sie den benutzerseitigen guard für Budgets pro Elterninstanz, die Tiefenverfolgung und Begrenzungen bei, die dem tatsächlichen Verhalten Ihrer Orchestrierung entsprechen; die Plattformbegrenzung fängt dann auf, was dennoch entwischt.

Die integrierten Schutzmechanismen decken jetzt vier Achsen ab. Drei davon sichern genau das ab, was der benutzerseitige guard in diesem Abschnitt verfolgt: die Gesamtzahl erzeugter Instanzen pro Sitzung (v2.1.212, Obergrenze 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION), die Verschachtelungstiefe (CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH, derzeitiger und nachweislich instabiler Standardwert 3) sowie die gleichzeitige Ausführung (v2.1.217, Standardwert 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS — eine einzelne Nachricht kann nicht mehr unbegrenzt viele Hintergrundagenten auffächern).7884 v2.1.219 fügt eine vierte Achse hinzu, über die benutzerseitige guards im Allgemeinen nicht verfügten: die Orchestrierungsbreite, also die Anzahl der Agenten, die ein einzelner geplanter Workflow enthalten darf. Sie wird als Standardrichtlinie „aim for fewer than 15 agents“ ausgeliefert und kann über workflowSizeGuideline in jeder Einstellungsdatei festgelegt werden (siehe den nachfolgenden Abschnitt zum Workflow Tool). Damit wird das Erzeugungsbudget-Muster nun auf jeder Achse abgesichert, für die es konzipiert wurde — und zusätzlich auf einer weiteren.

Der Hinweis zur Kalibrierung gilt weiterhin, allerdings nicht gleichmäßig. 200 Erzeugungsvorgänge und 20 gleichzeitig aktive Agenten sind Sicherungen — eine Größenordnung über dem Deliberationsbudget von 12 Agenten in der obigen Konfiguration — und sollen außer Kontrolle geratene Schleifen abfangen, nicht eine Architektur formen. Die Breitenrichtlinie ist die erste native Zahl, die sich in derselben Größenordnung wie ein echtes Budget bewegt: 15 Agenten pro Workflow liegen direkt neben den 12 dieses Leitfadens. Die Übernahme des Plattformstandards kostet Sie daher nichts; wenn Sie davon abweichen, sollten Sie einen konkreten Grund haben. Setzen Sie die drei Sicherungen auf Werte, die Sie begründen können, und die Breitenrichtlinie entsprechend der Struktur der Orchestrierung, die Sie tatsächlich entwickeln wollten.

Agent Teams (Research Preview)

Agent Teams koordinieren mehrere Claude Code-Instanzen, die unabhängig arbeiten, über eine gemeinsame Mailbox und Aufgabenliste kommunizieren und die Erkenntnisse der jeweils anderen infrage stellen 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 (dateigesperrt)
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 einander direkt Nachrichten
Koordination Der Hauptagent verwaltet die gesamte Arbeit Gemeinsame Aufgabenliste mit Selbstkoordination
Am besten geeignet für Fokussierte Aufgaben, bei denen nur das Ergebnis zählt Komplexe Arbeiten, die Diskussion und Zusammenarbeit erfordern
Token-Kosten Niedriger Höher (jedes Teammitglied = separates 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, zahlreiche Sitzungen zu starten und zu verwalten, die aktuelle Tätigkeit jeder Sitzung einzusehen und zu erkennen, welche Sitzungen Eingaben eines Bedieners benötigen.43 Dadurch erhält die Arbeit mit mehreren Agenten eine operative Übersicht, die Abschlusszusammenfassungen 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 nicht als Qualitätsnachweis. Sie schafft Beobachtbarkeit; Tests, Review Gates und Evidenzberichte entscheiden weiterhin darüber, ob die Arbeit belastbar ist.

Dieselbe Version führte /goal ein. Damit wird eine Abschlussbedingung festgelegt, und Claude kann über mehrere Durchläufe hinweg weiterarbeiten, bis diese Bedingung erfüllt ist — auch bei interaktiver Verwendung, mit -p und über Remote Control.42 Behandeln Sie /goal als sitzungsbezogene Abschlussschleife und nicht als Ersatz für deterministische Gates. Die Funktion hilft dabei, einen Agenten auf ein Ziel auszurichten; Tests, Zitationsprüfungen, Bereitstellungsprüfungen und Security-hooks sollten jedoch weiterhin auf Befehlen oder Skripten beruhen, wenn ein Fehler den Ablauf blockieren muss.

Workflow Tool (v2.1.147+)

Die dynamischen Workflows von Claude Code sind eine ausgelieferte und standardmäßig verfügbare Oberfläche: Seit v2.1.154 orchestrieren sie Dutzende bis Hunderte Agenten im Hintergrund, werden über /workflows überwacht und bieten eine /config-Steuerung namens „Dynamic workflow size“ (v2.1.202) sowie den Einstellungsschlüssel workflowSizeGuideline, dessen Standardrichtlinie „medium“ lautet — sofern nicht anders angewiesen, sollten weniger als 15 Agenten angestrebt werden (v2.1.219). Die Oberfläche erschien eine Version zuvor erstmals als das standardmäßig deaktivierte Workflow-Tool aus v2.1.147 hinter CLAUDE_CODE_WORKFLOWS=1. Diese Phase mit einem Flag ist inzwischen Geschichte, doch die damals verdeutlichte architektonische Aussage bleibt bestehen.52 Damit erhält Claude Code ein integriertes Orchestrierungsprimitiv für Abläufe, die zuvor benutzerdefinierte Dispatcher-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 jedoch nicht Ihr Sicherheitsmodell. Behalten Sie PreToolUse- und PostToolUse-hooks als blockierende Ebene bei, verwenden Sie weiterhin Erzeugungsbudgets oder Budgets für Workflow-Schritte, um unkontrollierte Breite zu verhindern, halten Sie den Dateisystemzustand auditierbar und erstellen Sie abschließende Evidenzberichte außerhalb der Selbsteinschätzung des Modells. In der Praxis gilt: Nutzen Sie Workflow für die Form der Orchestrierung und hooks, Tests sowie Review Gates für die Wahrheit.

Dynamische Workflows bringen jetzt eine eigene Vorstellung von Breite mit (v2.1.219). Dynamische Workflows verwenden standardmäßig die Größenrichtlinie „medium“ — „aim for fewer than 15 agents“. Weitere Größen und eine unbeschränkte Option sind unter „Dynamic workflow size“ in /config verfügbar; außerdem zeigt die Statuszeile des laufenden Workflows die aktuelle Richtlinie an.84 Die Zahl ist eine Empfehlung und wird nicht erzwungen; sie lenkt den Planer, statt einen zu breiten Plan zu blockieren. Konfigurationswürdig ist sie vor allem wegen ihres Bereitstellungsmechanismus: Der neue Einstellungsschlüssel workflowSizeGuideline kann in jeder Einstellungsdatei gesetzt werden — einschließlich verwalteter Einstellungen und Projekteinstellungen — und ist seit v0.3.219 in den Einstellungstypen des TypeScript SDK enthalten. Dadurch kann ein Team oder eine Organisation die Orchestrierungsbreite standardisieren, statt jeden Bediener sie neu bestimmen zu lassen.85 Legen Sie den Wert auf Projektebene fest, um abzubilden, in welche Arbeitseinheiten sich die Aufgaben Ihrer Codebasis tatsächlich zerlegen lassen. Zwei Hinweise für Bediener: Wird der Wert durch eine Einstellungsdatei bestimmt, blendet sich die entsprechende Zeile in /config aus. Das ist das richtige Verhalten, wirkt jedoch wie eine fehlende Einstellung, wenn Sie den Grund nicht kennen. Da die Richtlinie außerdem den Planer lenkt, statt die Ausführung zu sperren, gehört sie in die Spalte Form und nicht in die Spalte Sicherheit. Für außer Kontrolle geratene Breite ist weiterhin die Erzeugungsobergrenze zuständig.

Die wesentliche Einordnung lautet, dass dies eine vierte Achse integrierter Schutzmechanismen darstellt — die Orchestrierungsbreite neben der Anzahl erzeugter Instanzen, der Verschachtelungstiefe und der gleichzeitigen Ausführung — und die erste ist, die Anthropic auf eine plausible Arbeitsgröße statt auf eine Sicherung gegen außer Kontrolle geratene Abläufe kalibriert hat. 15 Agenten pro Workflow liegen in derselben Größenordnung wie das Deliberationsbudget von 12 Agenten, das dieser Leitfaden seit v1.0 verwendet. Wenn der Plattformstandard und Ihr eigenes Budget aus unterschiedlichen Richtungen zum selben Ergebnis gelangen, kommt das einer unabhängigen Bestätigung dieser Zahlen so nahe, wie es in diesem Bereich möglich ist.

Sitzungs-Forking und automatisch in den Hintergrund verschobenes MCP (Juli 2026)

Claude Code v2.1.212 gestaltete zwei Orchestrierungsprimitive neu.69 /fork erstellt jetzt aus dem aktuellen Konversationszustand eine neue Hintergrundsitzung — der abgespaltene Verlauf arbeitet unabhängig weiter, während die ursprüngliche Sitzung ihre Arbeit fortsetzt —, und 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; /fork bietet eine kostengünstige Möglichkeit, eine parallele Hintergrundsitzung mit vollständig übernommenem Kontext zu erzeugen, und ähnelt damit eher der Instanzerzeugung einer Ralph-Schleife als einem Subagent. Wenn Ihre harness-Skripte davon ausgingen, dass /fork innerhalb der Sitzung bleibt, verteilen sie nun Hintergrundarbeit.

Dieselbe Version verschiebt langsame MCP-Aufrufe automatisch in den Hintergrund: Ein Aufruf eines MCP-Tools, der länger als zwei Minuten dauert, wird automatisch als Hintergrundausführung fortgesetzt (der Schwellenwert lässt sich mit CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS anpassen).69 Ein langsamer MCP-Server hält die agentische Schleife dadurch nicht mehr an — allerdings sind „das Tool hat ein Ergebnis zurückgegeben“ und „der Durchlauf wurde fortgesetzt“ nun nicht mehr dasselbe Ereignis. hooks oder Skripte, die von einem synchronen Abschluss von MCP ausgingen, sollten daher an das Tool-Ergebnis und nicht an die Grenze des Durchlaufs anknüpfen.

Für die Headless-Orchestrierung führte v2.1.211 --forward-subagent-text (Umgebungsvariable: CLAUDE_CODE_FORWARD_SUBAGENT_TEXT) ein, wodurch Assistententext von Subagents an die stream-json-Ausgabe weitergeleitet wird.69 Ein Koordinatorprozess, der den Stream der übergeordneten Instanz verarbeitet, kann den Fortschritt von Subagents nun direkt beobachten, statt Transkripte abzufragen oder auf die abschließende Zusammenfassung zu warten — die Beobachtbarkeitsergänzung zu standardmäßig im Hintergrund ausgeführten Subagents. v2.1.219 erweiterte dies über die erste Ebene hinaus: Subagents, die auf Tiefe 2 oder tiefer erzeugt werden, erscheinen nun ebenfalls im weitergeleiteten Stream und werden über die tool_use-ID des erzeugenden Agent indiziert.84 Auf diesem Schlüssel sollten Sie aufbauen. Da die Verschachtelung wieder standardmäßig aktiviert ist, wäre ein flacher Stream aus Subagent-Text mehrdeutig — die ID zeigt einem Koordinator, welche Elterninstanz welche Kindinstanz erzeugt hat. Dadurch lässt sich der Delegationsbaum aus dem Stream rekonstruieren, statt nur erschlossen zu werden. Wurde Ihr Stream-Verbraucher für lediglich eine Subagent-Ebene entwickelt, sieht er nun Text von Agenten, deren Existenz ihm bislang unbekannt war; gruppieren Sie nach der tool_use-ID des erzeugenden Agent, statt anzunehmen, jede weitergeleitete Zeile gehöre zu einer direkten Kindinstanz.


Multi-Agent-Orchestrierung

KI-Systeme mit nur einem Agenten haben einen strukturellen blinden Fleck: Sie können ihre eigenen Annahmen nicht hinterfragen.7 Multi-Agent-Deliberation erzwingt unabhängige Bewertungen aus mehreren Perspektiven, bevor eine Entscheidung endgültig festgelegt wird.

Toolübergreifende Orchestrierung (April 2026): Google veröffentlichte Scion am 7. April als Open Source — einen Multi-Agent-Hypervisor, der Claude Code, Gemini CLI und andere „deep agents“ als parallele Prozesse ausführt, jeweils mit isoliertem Container, git worktree und Zugangsdaten. Läuft lokal, über einen Hub oder in Kubernetes. Explizite Philosophie: „isolation over constraints“ — Agenten arbeiten mit hoher Autonomie innerhalb von Grenzen, die auf Infrastrukturebene und nicht im Prompt durchgesetzt werden.25 Dies erweitert das Argument der Subagent-Isolation unmittelbar auf verschiedene Tool-Anbieter. Wenn Ihr Workflow Claude und OpenAI-Modelle umfasst, ist Scion die erste echte Referenzimplementierung für toolübergreifende subagents mit Worktree- und Zugangsdatenisolation pro Agent.

Debatten sind kein Allheilmittel: Der Forschungscluster M3MAD-Bench (Anfang 2026) stellte fest, dass Multi-Agent-Debatten ein Plateau erreichen und durch irreführenden Konsens unterlaufen werden können — valide Argumente verlieren, wenn andere Agenten selbstsicher die falsche Antwort behaupten.26 Tool-MAD verbessert dies, indem jedem Agenten heterogener Tool-Zugriff gegeben und in der Bewertungsphase Faithfulness-/Relevance-Scores verwendet werden. Wenn Sie eine debatttenähnliche Orchestrierung entwickeln, investieren Sie in (a) Tool-Heterogenität pro Agent und (b) quantitative Bewertungs-Scores, statt anzunehmen, dass mehr Agenten = bessere Antworten bedeutet.

Verwaltete Multiagent-Orchestrierung und Outcomes (Public Beta)

Wenn Sie die unten beschriebene Deliberation-Infrastruktur nicht selbst entwickeln möchten, ging Multiagent Orchestration am 6. Mai 2026 in Claude Managed Agents in die Public Beta.35 Laut Anthropic: „When there is too much work for a single agent to do well, multiagent orchestration lets a lead agent break the job into pieces and delegate each one to a specialist with its own model, prompt, and tools.“35 Spezialisten „work in parallel on a shared filesystem and contribute to the lead agent’s overall context.“35

Tracing ist direkt enthalten. Laut Anthropic: „you can also trace every step in the Claude Console: which agent did what, in what order, and why, giving you full visibility into how your task was delegated and executed.“35

Die begleitende Public-Beta-Funktion ist Outcomes. Laut Anthropic: „you write a rubric describing what success looks like and the agent works toward it. A separate grader evaluates the output against your criteria in its own context window, so it isn’t influenced by the agent’s reasoning.“35 Dies ist die Managed-Service-Version des weiter unten in diesem Abschnitt dokumentierten Zwei-Gate-Validierungsmusters: Die Rubric ersetzt das handgeschriebene Gate, der separate Grader ersetzt den Konsensvalidator.

Selbstgehostete Deliberation (dieser Abschnitt) Managed Multiagent + Outcomes
Routing von Spezialisten Sie schreiben die Spawn-Logik Der Lead-Agent zerlegt die Aufgabe in Teilaufgaben
Validierung Zwei-Gate-hooks + Konsensbewertung Rubric + Grader in separatem Kontext
Tracing Sie instrumentieren es Claude Console
Am besten geeignet für Muster, die vollständige Kontrolle oder eine spezifische Tool-Zusammensetzung benötigen Standard-Delegationsmuster, bei denen die Validierungs-Rubric den Vertrag darstellt
Preise Nur Token- + harness-Kosten Standard-Token plus der Managed-Agents-Session-Stundensatz (Basis bei Einführung am 8. April; siehe 23)

Selbstgehostete Deliberation bleibt die richtige Wahl, wenn die Validierung in Ihre eigene Hook-Oberfläche integriert werden muss (PreToolUse-Blockierung, Exit-Code-Semantik, benutzerdefinierte dispatcher) oder wenn der harness ohne externe Abhängigkeiten laufen muss. Managed Multiagent ist die richtige Wahl, wenn Standarddelegation plus Rubric-Bewertung genau den Vertrag darstellt, den Sie benötigen.

Minimal umsetzbare Deliberation

Beginnen Sie mit 2 Agenten und 1 Regel: Agenten müssen unabhängig bewerten, bevor sie die Arbeit der 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 schrittweise Verbesserungen.

Der Confidence-Trigger

Nicht jede Aufgabe benötigt Deliberation. Ein Confidence-Scoring-Modul bewertet vier Dimensionen:17

  1. Mehrdeutigkeit - Hat die Anfrage mehrere gültige Interpretationen?
  2. Domänenkomplexität - Erfordert sie Fachwissen?
  3. Tragweite - Ist die Entscheidung reversibel?
  4. Kontextabhängigkeit - Erfordert sie ein Verständnis des übergeordneten Systems?

Der Score wird drei Stufen zugeordnet:

Stufe Schwellenwert Aktion
HIGH 0.85+ Ohne Deliberation fortfahren
MEDIUM 0.70-0.84 Mit protokolliertem Confidence-Hinweis fortfahren
LOW Unter 0.70 Vollständige Multi-Agent-Deliberation auslösen

Der Schwellenwert passt sich an den Aufgabentyp an. Sicherheitsentscheidungen erfordern einen Konsens von 0.85. Dokumentationsänderungen benötigen nur 0.50. So wird verhindert, dass einfache Aufgaben überentwickelt werden, während risikoreiche Entscheidungen die nötige Prüfung erhalten.7

Die Zustandsmaschine

Sieben Phasen, die jeweils durch die vorherige abgesichert sind: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 andere). Kontextisolation stellt sicher, dass Agenten während der Recherche die Erkenntnisse der anderen nicht sehen können.

DELIBERATION: Agenten sehen alle Rechercheergebnisse und entwickeln Alternativen. Der Debate-Agent identifiziert Konflikte. Der Synthesis-Agent kombiniert widerspruchsfreie Erkenntnisse.

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

Dimension Gewichtung
Wirkung 0.25
Qualität 0.25
Umsetzbarkeit 0.20
Wiederverwendbarkeit 0.15
Risiko 0.15

Die Zwei-Gate-Validierungsarchitektur

Zwei Validierungs-Gates erkennen Probleme in unterschiedlichen Phasen:7

Gate 1: Konsensvalidierung (PostToolUse hook). Wird unmittelbar nach Abschluss jedes Deliberation-Agenten ausgeführt: 1. Die Phase muss mindestens RANKING erreicht haben 2. Mindestens 2 Agenten müssen abgeschlossen sein (konfigurierbar) 3. Der Konsensscore erfüllt den aufgabenadaptiven Schwellenwert 4. Falls ein Agent abgewichen ist, müssen die Bedenken dokumentiert sein

Gate 2: Pride Check (Stop hook). Wird ausgeführt, bevor die Sitzung geschlossen werden kann: 1. Vielfältige Methoden: mehrere unterschiedliche Personas sind vertreten 2. Transparenz bei Widersprüchen: abweichende Meinungen haben dokumentierte Gründe 3. Umgang mit Komplexität: mindestens 2 Alternativen wurden entwickelt 4. Konsens-Confidence: als stark (über 0.85) oder moderat (0.70-0.84) eingestuft 5. Verbesserungsnachweis: Die finale Confidence übersteigt die anfängliche Confidence

Zwei hooks an unterschiedlichen Punkten des Lebenszyklus entsprechen dem tatsächlichen Auftreten von Fehlern: Manche sind sofort erkennbar (schlechter Score), andere entwickeln sich schrittweise (geringe Vielfalt, fehlende Dokumentation abweichender Meinungen).7

Warum Zustimmung gefährlich ist

Charlan Nemeth untersuchte Minderheitsdissens von 1986 bis zu ihrem Buch In Defense of Troublemakers aus dem Jahr 2018. Gruppen mit Andersdenkenden treffen bessere Entscheidungen als Gruppen, die schnell Übereinstimmung erzielen. Die abweichende Person muss nicht recht haben. Der Akt des Widerspruchs zwingt die Mehrheit dazu, Annahmen zu prüfen, die sie sonst übersprungen hätte.18

Wu et al. testeten, ob LLM-Agenten tatsächlich debattieren können, und stellten fest, dass Agenten ohne strukturelle Anreize zum Widerspruch unabhängig von der Richtigkeit zur selbstsichersten anfänglichen Antwort konvergieren.19 Liang et al. identifizierten die Ursache als „Degeneration-of-Thought“: Sobald ein LLM Vertrauen in eine Position aufgebaut hat, kann Selbstreflexion keine neuen Gegenargumente erzeugen, weshalb Multi-Agent-Bewertung strukturell notwendig ist.20

Unabhängigkeit ist die entscheidende Designvorgabe. Zwei Agenten, die dieselbe Deployment-Strategie bewerteten und Einblick in die Erkenntnisse des jeweils anderen hatten, erzielten Scores von 0.45 und 0.48. Dieselben Agenten ohne Einblick: 0.45 und 0.72. Die Differenz zwischen 0.48 und 0.72 sind die Kosten von Herding.7

Scheinbare Zustimmung erkennen

Ein Konformitätserkennungsmodul 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 eher auf Kontamination durch gemeinsamen Kontext als auf unabhängige Beurteilung hin. Als fünf Agenten, die ein Authentication-Refactoring bewerteten, das Sicherheitsrisiko alle zwischen 7.1 und 7.4 einstuften, führte eine erneute Ausführung mit frischer Kontextisolation zu einer Streuung der Scores von 5.8 bis 8.9.

Textbaustein-Dissens: Agenten kopieren die Formulierungen der Bedenken anderer, statt unabhängige Einwände zu generieren.

Fehlende Minderheitsperspektiven: Einstimmige Zustimmung von Personas mit widersprüchlichen Prioritäten (ein Security Analyst und ein Performance Engineer stimmen selten in allem überein).

Der Konformitätsdetektor erkennt die offensichtlichen Fälle (etwa 10-15 % der Deliberations, bei denen Agenten zu schnell konvergieren). Für die übrigen 85-90 % bieten die Konsens- und Pride-Check-Gates ausreichende Validierung.

Was bei Deliberation nicht funktioniert hat

Freiform-Debattenrunden. Drei Runden wechselseitiger Texte zu einer Datenbankindexierungsdiskussion erzeugten 7,500 Token an Debatte. Runde 1: echte Meinungsverschiedenheit. Runde 2: wiederholte Positionen. Runde 3: identische Argumente mit anderen Worten. Strukturiertes Dimensions-Scoring ersetzte die Freiform-Debatte, senkte die Kosten um 60 % und verbesserte zugleich die Ranking-Qualität.7

Ein einziges Validierungs-Gate. Die erste Implementierung führte einen Validierungs-hook am Sitzungsende aus. Ein Agent schloss die Deliberation mit einem Konsensscore von 0.52 (unter dem Schwellenwert) ab und setzte anschließend 20 Minuten lang die Arbeit an nicht zusammenhängenden Aufgaben fort, bevor der Hook am Sitzungsende den Fehler meldete. Die Aufteilung in zwei Gates (eines nach Abschluss der Aufgabe, eines am Sitzungsende) erkannte dieselben Probleme an unterschiedlichen Punkten des Lebenszyklus.7

Kosten der Deliberation

Jeder Recherche-Agent verarbeitet ungefähr 5,000 Token Kontext und generiert 2,000-3,000 Token an Erkenntnissen. Bei 3 Agenten sind das 15,000-24,000 zusätzliche Token pro Entscheidung. Bei 10 Agenten etwa 50,000-80,000 Token.7

Bei den aktuellen Opus-5-Preisen ($5/$25 pro MTok) kostet eine Deliberation mit 3 Agenten ungefähr $0.23-0.30. Eine Deliberation mit 10 Agenten kostet $0.75-1.00. Das System löst Deliberation bei ungefähr 10 % der Entscheidungen aus, sodass die amortisierten Kosten über alle Entscheidungen hinweg $0.08-0.10 pro Sitzung betragen. (Frühere Ausgaben nannten das Dreifache dieser Werte, berechnet mit den bisherigen Preisen von $15/$75 für Opus 4.x.) Ob sich das lohnt, hängt davon ab, was eine schlechte Entscheidung kostet.

Wann Sie deliberieren sollten

Deliberieren Überspringen
Sicherheitsarchitektur Tippfehler in der Dokumentation
Datenbankschemadesign Umbenennen von Variablen
API-Vertragsänderungen Aktualisierungen von Log-Nachrichten
Deployment-Strategien Umformulierungen 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 Langzeitaufgaben (April 2026)

Claude Opus 4.7 (16. April 2026) wurde mit spezifischen Funktionen veröffentlicht, die verändern, wogegen sich ein harness schützen muss:29

  • Resilienz bei Tool-Fehlern: Opus 4.7 arbeitet trotz Tool-Fehlern weiter, die Sitzungen mit Opus 4.6 zum Stillstand brachten. Sie können defensive Wiederholungs-Wrapper im subagents-Code reduzieren — aber nicht vollständig entfernen. Behalten Sie die Guards auf Hook-Ebene bei; straffen Sie das In-Prompt-Gerüst „Wenn das Tool fehlschlägt, versuche es dreimal erneut“.
  • xhigh-Aufwandsstufe: Zusammen mit Opus 4.7 eingeführt und inzwischen auf aktuellen Opus-Modellen unterstützt (Opus 4.8 wurde damit als /effort xhigh in v2.1.154 veröffentlicht; Opus 5 übernimmt sie). Sie liegt zwischen high und max. Empfohlene Standardeinstellung für Coding- und agentische Workloads. Bei lang laufenden subagents übertrifft xhigh high deutlich bei unterproportionalen Tokenkosten. max bleibt die richtige Wahl für einmaliges, schwieriges Reasoning; für anhaltende Aufgaben ist xhigh besser geeignet.
  • Obergrenze für das Tokenbudget: Pro Agent-Ausführung über output_config.task_budget konfigurierbar (Beta-Header task-budgets-2026-03-13). Das Modell sieht einen laufenden Countdown und passt den Arbeitsumfang dem Budget elegant an, statt unerwartet an die Grenze zu stoßen. Nutzen Sie dies für agentische Loops, in denen Sie vorhersehbare Tokenkosten wünschen, ohne bei kurzen Prompts Qualität einzubüßen.
  • Bewusstsein für implizite Bedürfnisse: Erstes Claude Modell, das „implicit-need“-Tests besteht — es erkennt also, wenn die wörtliche Anfrage des Benutzers unzureichend beschreibt, was tatsächlich benötigt wird. Dadurch ist der Abschnitt „clarifying rules“ in CLAUDE.md weniger nötig. Falls Ihre CLAUDE.md aus 200 Zeilen mit Guardrails wie „Berücksichtige auch X, wenn der Benutzer nach Y fragt“ besteht, streichen Sie die Punkte, die nun nativ abgedeckt sind.

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

Claude Code v2.1.133 fügt vier Einstellungen auf Admin-Ebene hinzu, die für Production-harnesses wichtig sind:39

Einstellung Werte Funktion
worktree.baseRef fresh (Standard) | head Neue Worktrees verzweigen wieder von origin/<default>. Rücknahme einer Breaking-Default-Änderung aus v2.1.128, das lokales HEAD verwendet hatte. Setzen Sie worktree.baseRef: "head", falls 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 in $PATH liegt oder auf denen Sie eine mitgelieferte Version ausliefern.
sandbox.socatPath absoluter Pfad Dasselbe Prinzip für die von der Sandbox-Netzwerkverbindung verwendete socat-Binärdatei.
parentSettingsBehavior 'first-wins' (Standard) | 'merge' Kontrolle auf Admin-Ebene darüber, wie SDK managedSettings mit übergeordneten Enterprise-/Team-Einstellungen zusammengesetzt werden. 'merge' lässt eine Child-Session erben und erweitern; 'first-wins' erhält die Autorität der übergeordneten Ebene.

Die Rücknahme von worktree.baseRef sollten Sie Benutzern besonders deutlich machen: Agents, die sich auf das Verhalten von v2.1.128–v2.1.132 verlassen haben (Worktrees verzweigen von lokalem HEAD), verlieren in frischen Worktrees den Zugriff auf nicht gepushte Arbeit, sofern sie sich nicht wieder dafür entscheiden.

OTel-Feedbackumfrage für Enterprise-Observability (8. Mai 2026)

Claude Code v2.1.136 fügte CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL hinzu, um die Qualitätsumfrage innerhalb der Session für Enterprises wieder zu aktivieren, die die Antworten über OpenTelemetry erfassen.40 Wenn Ihre Organisation OTel-Ereignisse in einen zentralen Observability-Stack leitet, bringt diese Umgebungsvariable die Umfrage zurück in den Datenpfad, sodass Qualitätssignale durch dieselbe Pipeline wie Latenz- und Fehlermetriken fließen. Behandeln Sie dies als Opt-in: Standardmäßig bleibt die Umfrage unterdrückt, was für Nicht-OTel-Deployments richtig ist.

Unternehmens-Launcher und Performance im MCP-Umfang (Juli 2026)

Zwei Änderungen in v2.1.207 sind für Production-Deployments relevant.68 CLAUDE_CODE_PROCESS_WRAPPER ermöglicht es verwalteten Umgebungen, den Claude Code-Prozess über eine Unternehmens-Wrapper-Binärdatei zu starten — der Integrationspunkt für Endpoint-Agents, Richtlinienprüfungen beim Start und Umgebungen, in denen jeder Prozess unter einem vorgeschriebenen Supervisor laufen muss. Falls Ihr Enterprise dies bisher mit Shell-Aliasen oder geforkten Launcher-Skripten nachgebildet hat, ist dies die unterstützte Schnittstelle.

Dieselbe Version senkte den Runtime-Overhead dort, wo harnesses ihn am stärksten spüren: bis zu 7× schnellere Tool-Use-Runden in Sessions mit hohen MCP-Tool-Anzahlen und 79× kleinere Session-Transkripte.68 Das relativiert — ohne sie aufzuheben — die Hinweise unter Kosten als Architektur: CLI-first gewinnt weiterhin bei zustandslosen Einmaloperationen, aber ein harness mit Dutzenden MCP Tools zahlt nicht mehr die Penalty pro Runde wie im Frühjahr, und die Speicherung von Transkripten ist kein versteckter Kostenfaktor langer autonomer Läufe mehr.

Der Quality Loop

Ein verpflichtender Review-Prozess für alle nicht trivialen Änderungen:

  1. Implementieren - Schreiben Sie den Code.
  2. Reviewen - 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, Edge Cases und Testabdeckung.
  4. Verfeinern - Beheben Sie jedes Problem. Verschieben Sie nichts auf „später“.
  5. Herauszoomen - Prüfen Sie Integrationspunkte, Imports und angrenzenden Code auf Regressionen.
  6. Wiederholen - Falls ein Kriterium des evidence gate fehlschlägt, kehren Sie zu Schritt 4 zurück.
  7. Berichten - Listen Sie auf, was sich geändert hat, wie es verifiziert wurde, und führen Sie konkrete Evidenz an.

Das Evidence Gate

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

Kriterium Erforderliche Evidenz
Folgt den Codebase-Mustern Nennen Sie das Muster und die Datei, in der es vorhanden ist
Einfachste funktionierende Lösung Erläutern Sie, welche einfacheren Alternativen verworfen wurden und warum
Edge Cases behandelt Listen Sie konkrete Edge Cases auf und wie jeder behandelt wird
Tests bestehen Fügen Sie die Testausgabe ein, die 0 Fehler zeigt
Keine Regressionen Nennen Sie die geprüften Dateien/Funktionen
Löst das tatsächliche Problem Beschreiben Sie den Bedarf des Benutzers und wie dies ihn erfüllt

Falls Sie für eine Zeile keine Evidenz vorlegen können, kehren Sie zu Verfeinern zurück.22

Menschliche Merge-Autorität

Eine arXiv-Studie vom Mai 2026 zu 29.585 Pull-Request-Lebenszyklen von AI-Agents trennt operative Handlungsfähigkeit von Merge-Governance.47 Die nützliche Architekturlehre ist einfach: Agents können Arbeit beginnen, Branches weiterführen, PRs öffnen, Arbeit reviewen und Risiken zusammenfassen, während die Merge-Autorität eine separate Governance-Grenze bleibt.

Machen Sie diese Grenze im harness explizit. Lassen Sie Agents PRs vorbereiten und Evidenz sammeln; verlangen Sie menschliche Genehmigung für Merges, Releases und destruktive Repository-Operationen, sofern die Organisation nicht über eine separat auditierte Automatisierungsrichtlinie verfügt. Wenn Automatisierung einen Merge ausführt, bewahren Sie Logs auf, die zwischen dem Ausführenden und dem Menschen oder der Richtlinie unterscheiden, die ihn autorisiert hat.

Muster zur Fehlerbehandlung

Atomare Dateischreibvorgänge. Wenn mehrere Agents gleichzeitig in dieselbe Zustandsdatei schreiben, wird JSON beschädigt. Schreiben Sie in .tmp-Dateien und verwenden Sie anschließend atomar mv. Das Betriebssystem garantiert, dass mv im selben Dateisystem atomar ist.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ädigung. Wenn der Zustand beschädigt wird, erstellt das Wiederherstellungsmuster ihn aus sicheren Standardwerten neu, 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 ((VAR++)). ((VAR++)) gibt Exit-Code 1 zurück, wenn VAR 0 ist, weil 0++ zu 0 ausgewertet wird, was Bash als false behandelt. Ist set -e aktiviert, beendet dies das Skript. Verwenden Sie stattdessen VAR=$((VAR + 1)).16

Blast-Radius-Klassifizierung

Klassifizieren Sie jede Agent-Aktion nach Blast Radius und schalten Sie sie entsprechend frei:2

Klassifizierung Beispiele Gate
Lokal Dateischreibvorgänge, Testläufe, Linting Automatisch genehmigen
Geteilt Git-Commits, Branch-Erstellung Warnen + fortfahren
Extern Git-Push, API-Aufrufe, Deployments Menschliche Genehmigung erforderlich

Remote Control (Verbindung mit lokalem Claude Code aus jedem Browser oder jeder mobilen App) verwandelt das „External“-Gate von einer blockierenden Wartezeit in eine asynchrone Benachrichtigung. Der Agent arbeitet an der nächsten Aufgabe weiter, während Sie die vorherige auf Ihrem Smartphone prüfen.2

Aufgabenspezifikation für autonome Läufe

Wirksame autonome Aufgaben enthalten 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: Test bestanden/nicht bestanden, Linter-Ausgabe, HTTP-Statuscodes, Prüfungen auf vorhandene Dateien. Eine frühe Aufgabe, in der der Agent „Tests schreiben sollte, die bestehen“, erzeugte assert True und assert 1 == 1. Technisch korrekt. Praktisch wertlos.16

Qualität der Kriterien Beispiel Ergebnis
Vage „Tests bestehen“ Agent schreibt triviale Tests
Messbar, aber unvollständig „Tests bestehen UND Abdeckung >80 %“ Tests decken Zeilen ab, testen aber nichts Sinnvolles
Umfassend „Alle Tests bestehen UND Abdeckung >80 % UND keine Typfehler UND Linter sauber UND jede Testklasse testet ein separates Modul“ Output in Produktionsqualität

Zu beobachtende Fehlermodi

Fehlermodus Beschreibung Prävention
Shortcut-Spirale Schritte des Quality Loop werden übersprungen, um schneller fertig zu werden Evidence gate verlangt für jedes Kriterium einen Nachweis
Confidence Mirage „Ich bin zuversichtlich“, ohne die Verifizierung auszuführen Unverbindliche Sprache in Abschlussberichten verbieten
Phantom-Verifizierung Behauptung, Tests bestünden, ohne sie in dieser Session ausgeführt zu haben Stop hook führt Tests unabhängig aus
Aufgeschobene Schulden TODO/FIXME/HACK in committetem Code PreToolUse hook bei git commit scannt den Diff
Verschmutzung des Dateisystems Sackgassen-Artefakte aus abgebrochenen Iterationen Bereinigungsschritt in den Abschlusskriterien

Ein konkreter Session-Trace

Ein Session-Trace aus einem autonomen Lauf, der ein PRD mit 5 Stories verarbeitet:2

  1. SessionStart wird ausgelöst. Der dispatcher injiziert: aktuelles Datum, Projekterkennung, philosophische Einschränkungen, Initialisierung der Kostenerfassung. Fünf hooks, insgesamt 180 ms.

  2. Der Agent liest das PRD und plant die erste Story. UserPromptSubmit wird ausgelöst. Der dispatcher injiziert: aktiven Projektkontext, Baseline für Session Drift.

  3. Der Agent ruft Bash auf, um Tests auszuführen. PreToolUse:Bash wird ausgelöst. Credentials-Prüfung, Sandbox-Validierung, Projekterkennung. 90 ms. Die Tests laufen. PostToolUse:Bash wird ausgelöst: Aktivitäts-Heartbeat protokolliert, Drift-Prüfung.

  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, Commit-Tracking.

  5. Der Agent beendet die Story. Stop wird ausgelöst. Das Quality Gate prüft: Hat der Agent Evidenz angeführt? Unverbindliche Sprache verwendet? TODO-Kommentare im Diff? Falls eine Prüfung fehlschlägt, Exit 2 und der Agent arbeitet weiter.

  6. Unabhängige Verifizierung: Ein frischer Agent führt die Test-Suite aus, ohne dem Selbstbericht des vorherigen Agents zu vertrauen.

  7. Drei Code-Review-Agents starten parallel. Jeder reviewed den Diff unabhängig. Falls ein Reviewer CRITICAL markiert, kommt die Story zurück in die Queue.

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

Insgesamt ausgelöste hooks über 5 Stories: ~340. Gesamte Zeit in hooks: ~12 Sekunden. Dieser Overhead verhinderte in einem einzigen Lauf über Nacht drei Credential-Leaks, einen destruktiven Befehl und zwei unvollständige Implementierungen.

Fallstudie: Verarbeitung von PRDs über Nacht

Ein Production-harness verarbeitete 12 PRDs (47 Stories) über 8 Sessions hinweg über Nacht. Die Metriken vergleichen die ersten 4 PRDs (minimaler harness: nur CLAUDE.md) mit den letzten 8 (vollständiger harness: hooks, skills, Quality Gates, Multi-Agent-Review).

Metrik Minimal (4 PRDs) Vollständiger Harness (8 PRDs) Veränderung
Credential-Leaks 2 an git geleakt 7 vor dem Commit blockiert Reaktiv zu präventiv
Destruktive Befehle 1 Force-Push auf main 4 blockiert Exit-2-Durchsetzung
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 Dateisystem-Memory
Token-Overhead 0 % ~3,2 % Vernachlässigbar
Hook-Zeit/Story 0 s ~2,4 s Vernachlässigbar

Die zwei Credential-Leaks erforderten das Rotieren von API-Schlüsseln und die Prüfung nachgelagerter Services: ungefähr 4 Stunden Incident Response. Der harness-Overhead, der das Äquivalent verhinderte, betrug 2,4 Sekunden Bash pro Story. Die Rate falscher Abschlüsse sank von 35 % auf 4 %, weil der Stop hook unabhängig Tests 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 ein formales Framework für die Vertrauenswürdigkeit von Agents.27 Die fünf Prinzipien entsprechen dem Evidence Gate-Denken dieses Leitfadens — und gehen darüber hinaus:

Prinzip Bedeutung Wie dieser harness es erfüllt
Menschliche Kontrolle Sinnvolle menschliche Übersteuerung an jedem Entscheidungspunkt Hooks kontrollieren Tool-Aufrufe; PreCompact-Blockierung; Auto-Mode-Klassifikator als Check-Layer
Werteausrichtung Agent-Aktionen folgen der Benutzerabsicht, nicht benachbarten Zielen CLAUDE.md als explizite Spezifikation der Absicht; skills als Begrenzung des Funktionsumfangs
Sicherheit Widerstandsfähigkeit gegen gegnerische Eingaben und Prompt Injection Sandbox + Deny-Regeln + Eingabevalidierung auf Hook-Ebene
Transparenz Prüfbare Aufzeichnungen von Entscheidungen und Aktionen Hook-Protokollierung; Sitzungstranskripte; Nachverfolgungen von Skill-Aufrufen
Datenschutz Angemessene Datenverarbeitung und Governance Bereinigung von Credential-Umgebungsvariablen; Secret-Erkennung auf Hook-Ebene

Anthropic spendete außerdem MCP an die Agentic AI Foundation der Linux Foundation und schloss sich AGENTS.md an (das nun gemeinsam mit OpenAI, Google, Cursor, Factory und Sourcegraph betreut wird). Standards für Agent-Interoperabilität sind nun herstellerneutral.27

Der zustandslose Turn und die selbstgemeldete Identität von MCP. Die MCP-Spezifikation schloss mit der Revision vom 28. Juli 2026, nun die Current spec, ihren Übergang zu einem zustandslosen Kern (SEP-2575) ab. Damit entfällt der zustandsbehaftete initialize-Handshake, der zuvor die Serveridentität übermittelte. Eine Änderung der Draft-Spec, die am 16. Juli (PR #3002) gemergt wurde, stellt die Identität als optionale Oberfläche wieder her: Server können ein Objekt io.modelcontextprotocol/serverInfo in Antwort-_meta einschließen, und clientInfo wird bei Anfragen optional.71 Der sicherheitsrelevante Teil ist, was die Spezifikation über Vertrauen sagt: Diese Identität ist selbstgemeldet und nicht verifiziert — nur für Anzeige und Protokollierung — und SHOULD NOT für Sicherheitsentscheidungen verwendet werden. Wenn Ihr harness Allowlist-, Berechtigungsregeln oder protokollbasierte Audits an den deklarierten Namen eines MCP-Servers bindet, ist dieser Name eine Behauptung, keine Credential; verankern Sie Vertrauen im Transport und in der Konfiguration (welchen Server Sie an welchem Endpunkt konfiguriert haben), niemals darin, was der Server über sich selbst sagt. Die zustandslose Revision wurde planmäßig am 28. Juli 2026 ausgeliefert (obligatorisches server/discover, Protokollversionsverhandlung über _meta, Streamable-HTTP-Header) — die obige Vertrauensrichtlinie beschreibt das ausgelieferte Verhalten.

Skill-Sandbox-Tooling: Für Teams, die skills als Angriffsfläche behandeln, führt Permisos SandyClaw (gestartet am 2. April 2026) skills in einer dedizierten Sandbox aus und liefert evidenzgestützte Bewertungen aus Sigma/YARA/Nova/Snort-Erkennung. Erstes Produkt in der Skill-Sandbox-Kategorie.28

Die Sandbox

Claude Code unterstützt einen optionalen Sandbox-Modus (aktiviert über settings.json oder den Befehl /sandbox), der Netzwerkzugriff und Dateisystemoperationen mittels Isolierung auf Betriebssystemebene einschränkt (seatbelt unter macOS, bubblewrap unter Linux). Wenn sie aktiviert ist, verhindert die Sandbox, dass das Modell beliebige Netzwerkanfragen stellt oder auf Dateien außerhalb des Projektverzeichnisses zugreift. Ohne Sandboxing verwendet Claude Code ein berechtigungsbasiertes Modell, bei dem Sie einzelne Tool-Aufrufe genehmigen oder ablehnen.13

Sicherheitsminimum vom Mai 2026. Claude Code v2.1.149 behob einen Berechtigungsumgehung für das PowerShell-Arbeitsverzeichnis, mehrere Lücken bei PowerShell-Allow-Regeln und der Berechtigungsanalyse veralteter Variablen sowie einen Fehler in der Sandbox-Schreib-Allowlist für git-worktree, der das vollständige Haupt-Repository-Root statt nur gemeinsam genutzter git-Interna abdeckte.53 Wenn Ihr harness PowerShell oder über Worktrees isolierte Agents zulässt, behandeln Sie v2.1.149+ als Mindestversion und halten Sie Shell-Regeln eng gefasst. Breite PowerShell(*)- und repositoryweite Schreibausnahmen sind Orchestrierungsabkürzungen, keine Sicherheitsgrenzen.

OpenAI Agents SDK Sandbox-Lockdown (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 sind nun auf die Materialisierungs-base_dir beschränkt (das aktuelle Arbeitsverzeichnis des SDK-Prozesses, wenn das Manifest angewendet wird), sofern die Quelle nicht explizit über Manifest.extra_path_grants mit SandboxPathGrant gewährt wird.41 Relative lokale Quellen werden ausgehend von base_dir aufgelöst; absolute Pfade müssen sich bereits darin befinden oder eine Gewährung enthalten. Dies schließt ein lokales Artefaktgrenzenproblem: Frühere Versionen erlaubten Manifesten, beliebige Host-Pfade in einen Sandbox-Workspace zu übernehmen. Migration: Deklarieren Sie vertrauenswürdige Host-Roots auf Manifestebene mit SandboxPathGrant(path=..., read_only=True) für schreibgeschützte Mounts. Behandeln Sie extra_path_grants als vertrauenswürdige Anwendungskonfiguration; befüllen Sie Gewährungen niemals aus Modellausgaben oder nicht vertrauenswürdigen Manifest-Eingaben.

OpenAI Agents SDK Folge-Mindestversion (v0.17.3). Die Reihe 0.17.1–0.17.3 fügte weitere Sandbox- und Sitzungsverhärtungen hinzu: Limits für Archivextraktion, GitRepo-Subpfadvalidierung, klarere Fehler von Sandbox-Providern, aus Sandbox-Befehlen herausgehaltene Mountpoint-Credentials, die Ablehnung relativer Sandbox-Workspace-Roots und die Behandlung von Terminalzuständen der Vercel-Sandbox.54 Wenn Sie OpenAI-gehostete oder provider-gestützte Sandboxes statt ausschließlich Claude Code-Hooks verwenden, behandeln Sie 0.17.3 als aktuelle Mindestversion für die Muster dieses Abschnitts.

Drei Containment-Muster produktübergreifend (Anthropic, Mai 2026)

Der Engineering-Beitrag von Anthropic „How we contain Claude across products“ (25. Mai 2026) ist die eigene Darlegung des Herstellers zu den Prinzipien, die dieser Abschnitt schrittweise vermittelt — die Sandbox auf Einstellungsebene oben, das Minimum für Worktree-Isolation, die Haltung, alles als nicht vertrauenswürdig zu behandeln.81 Der Kern besteht darin, die Stärke der Containment-Maßnahmen der Produktoberfläche zuzuordnen; diese Zuordnung selbst ist die Lektion: Es gibt kein einzig richtiges Isolierungsdesign, sondern nur Isolierung, die dazu passt, wer überwacht und was schiefgehen kann.

  • Ephemere gVisor-Container (claude.ai). Serverseitige Ausführung erfolgt in gVisor-Containern auf isolierter Infrastruktur mit einem ephemeren Dateisystem pro Sitzung. Das Bedrohungsmodell betrifft Infrastruktur- und Tenant-Isolation — der Rechner des Benutzers ist niemals erreichbar, daher muss nichts Lokales verteidigt werden.
  • OS-Sandboxing mit Human-in-the-loop (Claude Code). Das im Sandbox-Absatz oben beschriebene Muster, als Richtlinie formuliert: Seatbelt unter macOS und bubblewrap unter Linux, mit erlaubten Lesezugriffen, auf den Workspace beschränkten Schreibzugriffen und standardmäßig verweigertem Netzwerk — der Mensch genehmigt, was die Grenze nicht abdeckt. Anthropic veröffentlichte die Runtime (sandbox-runtime) als Open Source, damit die Grenze prüfbar ist. Der Beitrag benennt das schwache Glied offen: Rund 93 % der Berechtigungsaufforderungen werden genehmigt, und der Auto-Mode-Klassifikator — der ungefähr 83 % übereifriger Verhaltensweisen vor der Ausführung erkennt und Berechtigungsaufforderungen um 84 % reduziert — existiert genau deshalb, weil Genehmigungsmüdigkeit eine Sicherheitseigenschaft und keine UX-Beschwerde ist. Das ist die Check-Layer-Haltung, 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 — wobei nur der ausgewählte Workspace und der Ordner .claude eingebunden werden; nichts anderes auf dem Host ist sichtbar. Credentials gelangen niemals in die VM: Sie verbleiben im Host-Keychain, und jede Sitzung erhält ein begrenztes, unabhängig widerrufbares Token. Ein defensiver MITM-Proxy innerhalb der VM erzwingt dies und leitet nur Anfragen weiter, die das eigene bereitgestellte Sitzungstoken der VM tragen — ein von einem Angreifer eingebetteter Schlüssel wird an der Grenze abgewiesen, weil nur die VM die Herkunft kennt.

Die den Kategorien zugrunde liegenden Designprinzipien sind der übertragbare Teil. Containment zuerst auf Umgebungsebene, Steuerung danach auf Modellebene: Jede probabilistische Verteidigung hat eine Missrate ungleich null, daher müssen deterministische Grenzen abfangen, was die Steuerung auf Prompt-Ebene verfehlt — das Argument dieses Leitfadens, dass Hooks die Ausführung garantieren, vom Hersteller erneut formuliert. Passen Sie die Isolierungsstärke an die Fähigkeit des Benutzers zur Überwachung an: Ein Entwickler kann einen Bash-Befehl vor seiner Genehmigung bewerten; ein Knowledge Worker kann das nicht — deshalb erhält Code einen Berechtigungsdialog und Cowork eine versiegelte VM. Bevorzugen Sie kampferprobte Primitive gegenüber benutzerdefiniertem Isolierungscode: Hypervisoren, seccomp und Container-Runtimes haben gegnerischer Prüfung besser standgehalten als die eigenen benutzerdefinierten Allowlist-Proxys und Konfigurationsparser von Anthropic. Behandeln Sie projektlokale Konfiguration und Tool-Ausgaben als nicht vertrauenswürdig: Die Anweisung des Beitrags lautet, das Öffnen eines Projekts und das Laden von Konfiguration wie jede eingehende Anfrage aus dem Internet zu behandeln sowie Tool-Ausgaben als Angriffsfläche, selbst wenn das Tool vertrauenswürdig ist — dieselbe Haltung, die dieser Leitfaden auf Inter-Agent-Nachrichten, von Subagents gelesene Inhalte und selbstgemeldete MCP-Identität anwendet. Halten Sie Credentials außerhalb der Sandbox: begrenzte, widerrufbare Tokens pro Sitzung statt allgegenwärtiger Schlüssel, die der Agent preisgeben könnte.

Die Einstellungsoberfläche holt beim ersten Prinzip auf (v2.1.219). „Containment zuerst auf Umgebungsebene“ ist leicht zu befürworten und war schwer tatsächlich zu konfigurieren, weil die Sandbox von Claude Code bei nicht abgedeckten Regeln durch Nachfragen entschied — und eine Berechtigungsaufforderung eine probabilistische Verteidigung im Gewand einer deterministischen ist, wie die obige 93-%-Genehmigungsquote einräumt. sandbox.network.strictAllowlist entfernt die Frage für ausgehenden Netzwerkverkehr: Ist diese Einstellung gesetzt, wird die Anfrage eines sandboxed Befehls an einen nicht allowgelisteten Host direkt verweigert, statt eine Aufforderung auszulösen.84 Kombinieren Sie dies mit sandbox.filesystem.disabled aus v2.1.216, und die beiden Einstellungen ergeben eine Haltung statt eines Haufens von Umschaltern — Dateisystem- und Netzwerk-Containment sind unabhängig auswählbar, und Netzwerk-Containment kann nun deterministisch gestaltet werden. Für einen unbeaufsichtigten harness ist dies die wichtigere der beiden Optionen, weil ausgehender Verkehr der Punkt ist, an dem eine injizierte Anweisung zur Exfiltration wird, und der Endzustand von Genehmigungsmüdigkeit darin besteht, dass niemand an der Tastatur sitzt, der müde werden könnte. Die Kosten entsprechen den üblichen Kosten einer deterministischen Grenze: Die Allowlist muss korrekt sein, und ein vergessener Host schlägt als undurchsichtige Verweigerung statt als Frage fehl. Listen Sie die Hosts auf, die Ihre Agents legitim benötigen, und entfernen Sie dann die Aufforderung.

Nichts davon ersetzt die Hook-Ebene; es liegt unter ihr. Die Containment-Muster sind das deterministische Fundament, und die Geschichte der Worktree-Durchsetzung in diesem Leitfaden ist dieselbe Lektion im Kleinen: Eine Grenze zählt nur, wenn sie bewusster Umleitung standhält, und die Primitive, die am ehesten standhalten, sind diejenigen, die nicht für den Anlass geschrieben wurden.

Berechtigungsgrenzen

Das Berechtigungssystem kontrolliert Operationen auf mehreren Ebenen:

Ebene Kontrolliert Beispiel
Tool-Berechtigungen Welche Tools verwendet werden können Beschränken Sie den Subagent auf Read, Grep, Glob
Dateiberechtigungen Welche Dateien geändert werden können Blockieren Sie Schreibzugriffe auf .env, credentials.json
Befehlsberechtigungen Welche Bash-Befehle ausgeführt werden können Blockieren Sie rm -rf, git push --force
Netzwerkberechtigungen Auf welche Domains zugegriffen werden kann Allowlist für MCP-Serververbindungen

Berechtigungsregeln auf Parameterebene (Juni 2026)

Claude Code v2.1.178 erweiterte Berechtigungsregeln von der Tool-Ebene bis hinunter auf die Parameter-Ebene: Tool(param:value) wird mit den Eingabeparametern eines Tools abgeglichen, wobei * als Wildcard dient. Das kanonische Beispiel lautet Agent(model:opus) — eine Regel, die verhindert, dass Subagents auf einem bestimmten Modell-Tier gestartet werden.63 Architektonisch schließt dies eine Lücke, die die obige Tabelle mit vier Ebenen nicht ausdrücken konnte: Zuvor erlaubten oder verweigerten Sie ein Tool vollständig, konnten aber nicht einschränken, wie es aufgerufen wurde. Eine Governance-Richtlinie kann nun sagen: „Subagents dürfen starten, aber nicht auf dem Fable-5-Tier“ oder „Bash ist erlaubt, aber nicht mit diesem Flag“ — als deterministische Regel statt als Anfrage auf Prompt-Ebene.

Eine begleitende verwaltete Einstellung, enforceAvailableModels (v2.1.175), beschränkt die Modellauswahl von oben nach unten: Sie fixiert das Default-Modell und verhindert, dass benutzer- oder projektbezogene Einstellungen die verwaltete Allowlist availableModels erweitern.63 Die beiden greifen ineinander — die Allowlist definiert, welche Tiers für die Sitzung überhaupt existieren, und Regeln auf Parameterebene beschränken, wie Subagents daraus wählen. Ab v2.1.196 können Administratoren außerdem über die Org-Konsole ein organisationsweites Default-Modell festlegen, das in /model als „Org default“ angezeigt wird, sodass eine Flotte einen geregelten Standard erbt, ohne dass jeder Operator einen festlegen muss — ein Fundament als Ergänzung zur Obergrenze der Allowlist.

Pfadbezogene Allow-Regeln verankern sich im Arbeitsverzeichnis (Juli 2026)

Claude Code v2.1.214 schloss einen unauffälligen Überabgleich in pfadbezogenen Berechtigungsregeln: Eine Allow-Regel mit einem dir/**-Muster mit einem einzigen Segment — etwa Edit(src/**) — genehmigte Bearbeitungen in jedem Verzeichnis namens src in jeder Tiefe automatisch, einschließlich vendor/some-package/src/ und jedem anderen verschachtelten src/, das der Autor der Regel niemals freigeben wollte. Solche Regeln verankern sich nun nur noch bei <cwd>/dir; falls Sie tatsächlich Abgleich in jeder Tiefe wünschen, deklarieren Sie ihn mit **/dir/**.74 Deny- und Ask-Regeln behalten bewusst den bisherigen Abgleich in jeder Tiefe bei. Diese Asymmetrie ist das korrekte Fail-safe-Design: Eine zu eng passende Allow-Regel schlägt sicher fehl (Sie erhalten eine Aufforderung), während eine zu eng passende Deny-Regel offen fehlschlägt (ein blockierter Pfad rutscht durch) — daher wurden Allows strenger und Denys blieben breit. Wenn Ihre Einstellungen auf Allow-Mustern mit einem einzelnen Segment beruhen, um verschachtelte Pfade abzudecken, erfüllen sie dies ab v2.1.214 stillschweigend nicht mehr; das ist die beabsichtigte Wirkung des Fixes, aber Ihre Allowlists sollten Sie daraufhin überprüfen, die Breite zu deklarieren, die Sie tatsächlich wünschen.

Schutzmechanismen für destruktive Befehle im Auto Mode (Juni 2026)

Claude Code v2.1.183 begrenzte den Schadensradius des Auto Mode für Operationen, die stillschweigend Arbeit verlieren lassen oder Umgebungen abbauen. Auto Mode blockiert nun standardmäßig, sofern Sie sie nicht ausdrücklich in der Sitzung angefordert haben: 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 Infrastrukturabbau (terraform destroy, pulumi destroy, cdk destroy), sofern Sie nicht den konkreten Stack genannt haben.65 Architektonisch ergänzt dies die Spawn-Prüfung und die Parameteregeln oben: Anstatt zu kontrollieren, welches Tool oder wie es gestartet wird, kontrolliert es eine kleine Menge konkreter irreversibler Befehle nach Absicht — der Agent kann sie weiterhin ausführen, aber nur auf explizite Anweisung, nicht aus eigener Initiative. Kodieren Sie für einen autonomen harness dasselbe Prinzip in Ihren eigenen PreToolUse-Hooks: Befehle, die Zustand zerstören, verdienen eine Deny-by-default-Regel, die nur ein explizites Operatorsignal aufhebt.

Juli 2026: Auto Mode wird enterprise-tauglich, und eine Aufforderung kann nicht abgewählt werden. Auto Mode erreichte in v2.1.207 auf Amazon Bedrock, Google Vertex AI und Microsoft Foundry GA, mit der verwalteten Einstellung disableAutoMode als Enterprise-Opt-out — die Klassifikator-als-Check-Layer-Haltung ist nun auf jeder First-Party-Enterprise-Plattform verfügbar, und ihre Deaktivierung ist eine explizite Governance-Entscheidung statt einer Plattformlücke.68 v2.1.208 machte dann den Schutz vor katastrophalen Löschungen absolut: Bestätigungsaufforderungen für katastrophale Löschungen durchbrechen sowohl --dangerously-skip-permissions als auch Auto Mode.68 Das ist ein bemerkenswerter Präzedenzfall — die erste Bestätigung in Claude Code, die durch keine Berechtigungshaltung, einschließlich des expliziten Bypass-Flags, aufgehoben werden kann. Entwürfe autonomer harnesses, die davon ausgingen, dass --dangerously-skip-permissions buchstäblich null Aufforderungen bedeutet, sollten diese eine Ausnahme berücksichtigen; sie greift genau dort, wo eine unbeaufsichtigte Schleife den größten irreparablen Schaden anrichten kann.

Schutzmechanismen gegen Fabrikation (Juli 2026)

Die Releases v2.1.203–v2.1.206 schlossen zwei Wege, über die ein Agent seine eigene Audit-Spur fabrizieren konnte.68 Erstens blockiert eine Auto-Mode-Regel nun die Manipulation von Transkriptdateien — der Sitzungsdatensatz ist nicht länger etwas, das die eigenen Tool-Aufrufe der Sitzung umschreiben können. Zweitens geben Benachrichtigungen über Hintergrundaufgaben nun explizit an, dass keine menschliche Eingabe erfolgte, während die Aufgabe lief. Die zweite Änderung richtet sich gegen einen subtilen Fehler: Ein Modell, das eine Hintergrundaufgabe zusammenfasste, konnte zuvor eine „Genehmigung“ im Transkript darstellen (oder erfinden), die nie erfolgte, und nichts in der Benachrichtigung widersprach dem. Nun ist die Benachrichtigung selbst die Gegen-Evidenz.

Die Architekturerkenntnis lässt sich auf das Evidence Gate übertragen: Transkripte, Benachrichtigungen und Logs sind Audit-Oberflächen, und Audit-Oberflächen dürfen nicht durch dasjenige beschreibbar sein, das sie auditieren. Die Plattform erzwingt dies nun für ihr eigenes Transkript; wenden Sie dieselbe Regel auf Ihren harness an — Evidenzberichte, Testergebnisse und Deliberation-Aufzeichnungen gehören außerhalb des beschreibbaren Pfads des Modells.

Verteidigung gegen Prompt Injection

Skills und Hooks ermöglichen Defense-in-depth 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 aufgefordert 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

Subagent-Isolation begrenzt den Schadensradius. Ein Subagent mit permissionMode: plan kann keine Änderungen vornehmen, selbst wenn sein Prompt kompromittiert wurde.

Das Plattformminimum stieg im Juli 2026. Claude Code v2.1.210 härtete das Agent tool gegen indirekte Prompt Injection, die in von einem Subagent gelesenen Inhalten enthalten ist — eine vergiftete Datei, Webseite oder ein von einem Subagent abgerufenes Tool-Ergebnis kann die Delegierungsoberfläche selbst weniger gut steuern.69 Und v2.1.211 härtete das menschliche Glied in der Kette: Berechtigungsvorschauen neutralisieren nun bidirektionale Override-, Zero-Width- und ähnlich aussehende Unicode-Zeichen, sodass ein Befehl nicht mehr so gestaltet werden kann, dass er im Genehmigungsdialog harmlos angezeigt wird, während er etwas anderes ausführt.69 Der zweite Fix ist besonders wichtig für harnesses, bei denen ein Mensch gerenderte Vorschauen unter Zeitdruck genehmigt — auch die Anzeige war eine Injektionsfläche. Keine der beiden Änderungen ersetzt die Hook-Level-Verteidigungen oben; sie erhöhen das Sicherheitsminimum darunter.

Agent-Logs und Guardrails sind Sicherheitsoberflächen

Zwei Advisories vom Mai 2026 verstärken ein Muster: Agent-Infrastruktur schafft neue Orte, an denen sensible Inhalte und ausführbare Richtlinien auslaufen oder entkommen können. GitHub Advisory GHSA-f3jg-756w-gm35 behandelt ein Payload-Filterproblem von Gryph Agents, bei dem sensible Tool-Payload-Inhalte unter dem Standard-Protokollierungsverhalten in lokalen SQLite-Logs verbleiben konnten.45 OSV GHSA-wxxx-gvqv-xp7p behandelt einen LiteLLM-Sandbox-Escape für Custom-Code-Guardrails in einem durch Administratoren geschützten Proxy-Endpunkt.46

Die Produktionsregel: Behandeln Sie Agent-Transkripte, Tool-Payloads, SQLite-Logs und die Ausführung von Guardrails als sensible Infrastruktur. Redigieren Sie vor der Persistierung, wenden Sie Aufbewahrungslimits an und halten Sie benutzerdefinierten Guardrail-Code sandboxed und überprüfbar. Eine Regel auf Prompt-Ebene wie „keine Secrets protokollieren“ reicht nicht aus; der Logging- und Guardrail-Pfad benötigt deterministische Tests.

Hook-Sicherheit

HTTP-Hooks, die Umgebungsvariablen in Header interpolieren, benötigen eine explizite 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 Aufteilung der Verantwortung zwischen Mensch und Agent

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

Menschliche Verantwortung Agent-Verantwortung
Problemdefinition Pipeline-Ausführung
Konfidenzschwellen Ausführung innerhalb der Schwellen
Konsensanforderungen Konsensberechnung
Kriterien für Quality Gates Durchsetzung von Quality Gates
Fehleranalyse Fehlererkennung
Architekturentscheidungen Architekturoptionen
Einbringung von Domänenkontext Dokumentationserstellung

Das Muster: Menschen verantworten Entscheidungen, die Organisationskontext, ethisches Urteilsvermögen oder strategische Ausrichtung erfordern. Agents verantworten Entscheidungen, die rechnerische Suche über große Möglichkeitsräume erfordern. Hooks erzwingen die Grenze.

Rekursive Hook-Durchsetzung

Hooks werden auch für Aktionen von Subagents ausgelöst.13 Wenn Claude über das Agent tool einen Subagent startet, werden Ihre PreToolUse- und PostToolUse-Hooks für jedes Tool ausgeführt, das der Subagent verwendet. Ohne rekursive Hook-Durchsetzung könnte ein Subagent Ihre Sicherheits-Gates umgehen. Das Ereignis SubagentStop ermöglicht es Ihnen, Bereinigung oder Validierung auszuführen, wenn ein Subagent abgeschlossen ist.

Das ist nicht optional. Ein Agent, der einen Subagent ohne Ihre Sicherheits-Hooks startet, ist ein Agent, der einen Force-Push nach main durchführen, Credential-Dateien lesen oder destruktive Befehle ausführen kann, während Ihre Gates dem Hauptgespräch zusehen und nichts tun.

Kosten als Architektur

Kosten sind eine Architekturentscheidung, kein operativer Nachgedanke.2 Drei Ebenen:

Token-Ebene. Komprimierung des System-Prompts. Entfernen Sie Tutorial-Codebeispiele (das Modell kennt die APIs), reduzieren Sie doppelte Regeln über Dateien hinweg, und ersetzen Sie Erklärungen durch Einschränkungen. „Reject tool calls matching sensitive paths“ leistet dasselbe wie eine 15-zeilige Erklärung dafür, warum Credentials nicht gelesen werden sollten.

Agent-Ebene. Frische Spawns statt langer Gespräche. Jede Story in einem autonomen Lauf erhält einen neuen Agent mit sauberem Kontext. Der Kontext wächst nie unkontrolliert, weil jeder Agent neu beginnt. Briefing statt Memory: Modelle führen ein klares Briefing besser aus, als dass sie 30 Schritte angesammelten Kontexts navigieren.

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

Entscheidungsrahmen

Wann Sie welchen Mechanismus einsetzen sollten:

Problem Verwenden Warum
Code nach jeder Bearbeitung formatieren PostToolUse hook Muss jedes Mal deterministisch erfolgen
Gefährliche Bash-Befehle blockieren PreToolUse hook Muss vor der Ausführung blockieren, Exit-Code 2
Muster für Sicherheitsprüfungen anwenden Skill Domänenwissen, das sich anhand des Kontexts automatisch aktiviert
Codebasis erkunden, ohne den Kontext zu belasten Explore subagent Isolierter Kontext, gibt nur eine Zusammenfassung zurück
Experimentelles Refactoring sicher durchführen Worktree-isolated subagent Änderungen können verworfen werden, falls sie fehlschlagen
Code aus mehreren Perspektiven prüfen Parallel subagents oder Agent Team Unabhängige Bewertungen verhindern blinde Flecken
Über irreversible Architektur entscheiden Multi-agent deliberation Confidence-Trigger + Konsensvalidierung
Entscheidungen sitzungsübergreifend speichern MEMORY.md Das Dateisystem überdauert Kontextgrenzen
Teamstandards teilen Project CLAUDE.md + .claude/rules/ Über Git verteilt, wird automatisch geladen
Build-/Test-Befehle für ein Projekt definieren CLAUDE.md Befehlsorientierte Anweisungen, die der Agent überprüfen kann
Lange autonome Entwicklung ausführen Ralph loop (Iteration mit frischem Kontext) Vollständiges Kontextbudget pro Iteration, Dateisystemzustand
Slack benachrichtigen, wenn eine Sitzung endet Async Stop hook Nicht blockierend, verlangsamt die Sitzung nicht
Qualität vor dem Commit validieren PreToolUse hook on git commit Den Commit blockieren, 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 (ereignisgesteuert) Explizit oder automatisch delegiert
Garantie Probabilistisch (das Modell entscheidet) Deterministisch (wird immer ausgelöst) Deterministisch (isolierter Kontext)
Kontextkosten In den Hauptkontext eingefügt Null (läuft außerhalb von LLM) Separates Kontextfenster
Tokenkosten Beschreibungsbudget (1 % des Fensters, Fallback 8.000 Zeichen) Null Vollständiger Kontext pro Subagent
Am besten geeignet für Domänenwissen Richtliniendurchsetzung Fokussierte Arbeit, Erkundung

FAQ

Wie viele Hooks sind zu viele?

Nicht die Anzahl, sondern die Performance ist der begrenzende Faktor. Jeder Hook wird synchron ausgeführt, daher summiert sich die gesamte Hook-Ausführungszeit bei jedem passenden Tool-Aufruf. 95 Hooks in Einstellungen auf Benutzer- und Projektebene laufen ohne merkliche Latenz, wenn jeder Hook in unter 200 ms abgeschlossen ist. Der relevante Schwellenwert: Wenn ein PostToolUse hook zu jeder Dateibearbeitung mehr als 500 ms hinzufügt, fühlt sich die Sitzung träge an. Profilieren Sie Ihre Hooks mit time, bevor Sie sie bereitstellen.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 dem Modell die stderr-Ausgabe des Hooks. Claude sieht den Grund für die Ablehnung und schlägt eine sicherere Alternative vor. Exit 1 ist eine nicht blockierende Warnung, bei der die Aktion dennoch fortgesetzt wird.3

Wo sollte ich Hook-Konfigurationsdateien ablegen?

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

Braucht jede Entscheidung deliberation?

Nein. Das Confidence-Modul bewertet Entscheidungen anhand von vier Dimensionen (Mehrdeutigkeit, Komplexität, Tragweite, Kontextabhängigkeit). Nur Entscheidungen mit einer Gesamt-Confidence unter 0,70 lösen deliberation aus – ungefähr 10 % aller Entscheidungen. Dokumentationskorrekturen, Umbenennungen von Variablen und Routinebearbeitungen überspringen deliberation vollständig. Sicherheitsarchitektur, Änderungen am Datenbankschema und irreversible Deployments lösen sie konsistent aus.7

Wie teste ich ein System, das Uneinigkeit erzeugen soll?

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

Welche Latenzauswirkung hat deliberation?

Eine deliberation mit 3 Agents fügt 30–60 Sekunden Echtzeit hinzu (dieses deliberation-Design führt seine Agents nacheinander über das Agent tool aus; die Plattform selbst führt subagents seit v2.1.198 parallel im Hintergrund aus). Eine deliberation mit 10 Agents fügt 2–4 Minuten hinzu. Die Konsens- und Pride-Check-Hooks laufen jeweils in unter 200 ms. Der primäre Engpass ist die LLM-Inferenzzeit pro Agent, nicht der Orchestrierungsaufwand.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 von Kontextfenstern abgeschnitten; stellen Sie daher die kritischsten Anweisungen an den Anfang: Befehle und Abschlussdefinitionen vor Stilpräferenzen.21

Kann dies mit anderen Tools als Claude Code funktionieren?

Die Architekturprinzipien (Hooks als deterministische Gates, Skills als Domänenwissen, Subagents als isolierte Kontexte, Dateisystem als Speicher) gelten konzeptionell für jedes agentische System. Die konkrete Implementierung verwendet 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 toolspezifisch 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 Verwendung für
0 Erfolg Den Vorgang zulassen
2 Blockieren Sicherheitsgates, Qualitätsgates
1 Nicht blockierende Warnung Protokollierung, Hinweisnachrichten

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, dies zu tun
/goal <condition> Claude auf eine Abschlussbedingung hinarbeiten lassen
claude agents Agent View für laufende, blockierte und abgeschlossene Sitzungen öffnen
CLAUDE_CODE_WORKFLOWS=1 Historisch: Aktivierte die Workflow-tool-Vorschau von v2.1.147; dynamische Workflows sind seit v2.1.154 standardmäßig über /workflows verfügbar
claude -c Jüngste Sitzung fortsetzen
claude --print Einmaliger CLI-Aufruf (keine Unterhaltung)
# <note> Notiz zur Speicherdatei hinzufügen
/memory Auto-memory anzeigen und verwalten

Dateipfade

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-18 Fork-subagents ergänzt (v2.1.232), außerdem eine Prüfung der Änderungen in v2.1.233/234. Die Tabelle der subagent-Typen enthält nun fork: „übernimmt die gesamte bisherige Unterhaltung, statt mit einem leeren Kontext zu beginnen … ein Fork erhält denselben System-Prompt, dieselben Tools, dasselbe Modell und denselben Nachrichtenverlauf wie die Hauptsitzung“. Dabei wird der Prompt-Cache gemeinsam genutzt, während die Tool-Aufrufe weiterhin isoliert bleiben. Seit v2.1.232 ist dies in interaktiven Sitzungen standardmäßig aktiviert, in -p/SDK dagegen deaktiviert; die Aussage „subagents beginnen mit einem leeren Kontext“ enthält nun eine entsprechende Ausnahme für Forks. Weitere zusammengefasste Änderungen, die nur im Änderungsprotokoll dokumentiert sind: In v2.1.233 sind die Aufgaben-Tools (TaskCreate/Get/Update/List, TodoWrite) bei Modellen der aktuellen Generation standardmäßig deaktiviert (CLAUDE_CODE_ENABLE_TODO_TOOLS=1 aktiviert sie wieder). Dadurch bleiben bei Standardkonfigurationen auch die hooks TaskCreated/TaskCompleted inaktiv. Laut Dokumentation zu Agent-Teams koordinieren sich Teammitglieder ohne Aufgaben-Tools außerdem „über Nachrichten statt über die gemeinsame Aufgabenliste“. v2.1.234 entfernt die Einstellung teammateDefaultModel (Teammitglieder verwenden das Modell der Leitung, sofern nicht im Spawn-Prompt oder durch CLAUDE_CODE_SUBAGENT_MODEL ein anderes angegeben wird) und übermittelt Benachrichtigungen zu Hintergrundaufgaben zwischen Turns innerhalb von <system-reminder>-Tags. 88
2026-08-12 Erstes ganzheitliches Gate-Audit – vollständige Prüfung des gesamten Leitfadens durch den evaluator; R1 erreichte 8,83 Punkte mit sechs MAJOR-Befunden, die sämtlich in diesem Eintrag behoben wurden. Die zusammengehörige Fehlerklasse (jeder Veröffentlichungseintrag bleibt korrekt, ältere Schichten werden nie überschrieben): Die Anzahl der hook-Ereignisse wurde mit 30 angegeben, obwohl MessageDisplay in der Tabelle fehlte – genau jenes Ereignis, das im Text als Stabilitätsmeilenstein genannt wird (nun 31, Zeile ergänzt). Die Tabelle der integrierten subagent-Typen vermittelte weiterhin, Explore werde mit Haiku ausgeführt, was dem eigenen Eintrag dieses Änderungsprotokolls zur Übernahme des Sitzungsmodells seit v2.1.198 widersprach. Als „aktuell“ bezeichnete Deliberationskosten waren mit den früheren Preisen von 15/75 US-Dollar für Opus 4.x berechnet worden – gegenüber den 5/25 US-Dollar von Opus 5 um den Faktor 3 zu hoch (neu berechnet, alte Werte vermerkt). xhigh war noch immer mit „(nur Opus-4.7)“ gekennzeichnet, obwohl es bereits Monate zuvor mit v2.1.154 für Opus 4.8 eingeführt worden war. Die zustandslose Überarbeitung von MCP wurde auch zwei Wochen nach ihrer Veröffentlichung als aktuelle Spezifikationsrevision weiterhin als „für den 28. Juli 2026 geplant“ bezeichnet (in die Vergangenheitsform umgeschrieben, Fußnote erneut geprüft). Der Abschnitt zum Workflow begann weiterhin mit dem in v2.1.147 standardmäßig deaktivierten Umgebungs-Flag, obwohl dynamische Workflows seit v2.1.154 standardmäßig über /workflows verfügbar sind (Abschnitt, Kurzfassung und Zeile der Umgebungsvariablentabelle abgeglichen). Aktualisierung veralteter Angaben: Versionen von SDK live erneut geprüft (Python 0.2.137, TS 0.3.229, Datumsangaben der Anker aktualisiert); Abdeckung von Sitzungen als Peers ergänzt (v2.1.224 SendMessage/ListAgents, selbst gehostete Runner, der standardmäßig aktivierte Auto-Modus vom 14. August samt Empfehlung zur Festlegung über defaultMode); Agent Plugins 1.0.0 bei der Konvergenz von skills und Plugins vermerkt, einschließlich des Vorbehalts, dass Anthropic fehlt; Ralph-Diagramme als „fresh-context“ neu beschriftet (Modelle unterstützen nun nativ 1 Million Token); FAQ-Antwort zur Latenz auf das Deliberationsdesign eingegrenzt; Meta-Beschreibung auf 155 Zeichen gekürzt. Der Titel wurde bewusst bei 61 Zeichen belassen – ein Ranking-Asset, das die Anzeigebreite um ein Zeichen überschreitet. 86 87 89
2026-08-01 Korrektur einer veralteten Angabe: eine Versionsaussage „Stand Juli 2026“, die im übrigen Leitfaden bereits überholt war. Im Absatz zu Python SDK hieß es, das Paket sei „auf PyPI auf v0.2.111 fortgeschritten (einschließlich Claude CLI v2.1.202) und TypeScript SDK auf v0.3.203“ – bei beiden Angaben ein Rückstand von 17 Veröffentlichungen, während andere Abschnitte desselben Leitfadens bereits korrekt 0.2.128 und 0.3.220 dokumentierten. Nun werden v0.2.128 (einschließlich CLI v2.1.220, Mindestversion von mcp auf >=1.23.0 angehoben) und v0.3.220 genannt und mit dem Datum einer verifizierten Prüfung statt eines zeitlich offenen Monats versehen. Die neue Fußnote 90 verweist auf PyPI, npm und das Änderungsprotokoll von Python SDK. In diesem Zeitraum gab es keine neuen Upstream-Veröffentlichungen: 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. 90
2026-07-29 Vollständigkeitskorrektur: drei Felder von TS SDK v0.3.216, die im Eintrag vom 21. Juli fehlten. Bei einer erneuten Prüfung des Änderungsprotokolls von claude-agent-sdk-typescript anhand dieses Leitfadens stellte sich heraus, dass in der Feldliste für v0.3.216 drei Einträge fehlten: Antworten von rewindFiles enthalten optional die Anzahl skippedLinks für Pfade, deren Wiederherstellung oder Löschung von den Rewind-Sicherheitsmechanismen verweigert wurde. Außerdem enthält die Erfolgsmeldung optional user_message_uuid und request_sent_wall_ms, um die Anfragelatenz hostübergreifend zu korrelieren. Beides wurde in die Liste im Text und in 75 aufgenommen; keine neue Fußnote. Alles Weitere im Bereich v0.3.215–v0.3.220 war bereits abgedeckt, einschließlich des Verlaufs der Verschachtelungstiefe von subagents (mit 5 veröffentlicht, in v2.1.217 auf 1 reduziert, in v2.1.219 bei 3 eingependelt) und der Parallelitätsgrenze von 20. Die Zeile „Tiefengrenze von 5 auf 1 gesenkt“ im Änderungsprotokoll von SDK ist eine veraltete Momentaufnahme eines Werts, dessen weitere Entwicklung dieser Leitfaden bereits dokumentiert. Die neuesten npm- und PyPI-Versionen von Agent SDK wurden mit 0.3.220 (24. Juli) beziehungsweise 0.2.128 bestätigt; im betrachteten Zeitraum gab es keine neuere Veröffentlichung. 75
2026-07-27 Rendering-Korrektur, keine inhaltliche Änderung. Der Tabellenkopf dieses Änderungsprotokolls deklarierte zwei Spalten, während die Zeilen drei enthielten. Daher kürzte python-markdown jede Zeile auf Date und Change und ließ die Zelle Source stillschweigend weg – einschließlich neun Fußnotenzitaten ([^83], [^84], [^85], [^103], [^105], [^107], [^108], [^110], [^111]). Da diese neun nirgendwo sonst zitiert wurden, erschienen sie jeweils als Eintrag im Referenzverzeichnis, dessen Rücksprungpfeil auf einen auf der Seite nicht vorhandenen Anker verwies. Der Tabellenkopf lautet nun Date \| Change \| Source, wodurch alle neun wiederhergestellt werden. Verifiziert wurde dies, indem der Leitfaden mit der eigenen Markdown-Konfiguration der Website gerendert und id="fn:N" mit id="fnref:N" abgeglichen wurde: zuvor 77 aktive Referenzen, danach 86, keine verwaisten Einträge. Derselbe Fehler wurde bei dieser Prüfung auch in den Leitfäden zu FastAPI + HTMX und Obsidian gefunden und behoben; ios-agent-development weist eine andere, noch nicht behobene Zitierlücke auf, die im zugehörigen Bericht dokumentiert ist.
2026-07-25 Leitfaden v1.27: Standardmäßige Verschachtelungstiefe korrigiert (3 statt 1), Claude Opus 5 und eine vierte Leitplankenachse. Korrektur — die Verschachtelungstiefe für subagent-Starts liegt wieder bei 3 (v2.1.219): „Subagents können nun standardmäßig verschachtelte subagents bis zu einer Tiefe von 3 starten (zuvor 1); setzen Sie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1, um die Verschachtelung zu deaktivieren.“ Der Standardwert wurde mit 5 eingeführt (v2.1.172), auf 1 reduziert (v2.1.217) und schließlich auf 3 festgelegt (v2.1.219) — die letzten beiden Änderungen erfolgten innerhalb von drei Tagen. Der Unterabschnitt zum Recursion Guard stellt keinen Standardwert mehr als endgültig dar; stattdessen wird die Tiefe nun als instabiler Plattformparameter behandelt, der explizit über CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH festgelegt und nicht geerbt werden sollte. Begleitende Korrektur: --forward-subagent-text leitet jetzt auch Ausgaben von subagents ab Tiefe 2 weiter, zugeordnet über die tool_use-ID des Agent, der sie gestartet hat — gruppieren Sie weitergeleiteten Text anhand dieser ID, statt davon auszugehen, dass jede Zeile von einem direkten Kind stammt. 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-Richtlinien) müssen daraufhin erneut ausgeführt werden; die Ereignistabelle umfasst nun 30 Einträge. sandbox.network.strictAllowlist (v2.1.219): verweigert sandboxed Befehlen den Zugriff auf nicht freigegebene Hosts, ohne nachzufragen — deterministische Unterbindung ausgehender Verbindungen, kombinierbar mit sandbox.filesystem.disabled aus v2.1.216; im Unterabschnitt zu Eindämmungsmustern ergänzt, da die Einstellungsoberfläche nun das Prinzip „zuerst auf der Umgebungsebene eindämmen“ umsetzt. Die Orchestrierungsbreite ist eine vierte Leitplankenachse (v2.1.219): Dynamische Workflows verwenden standardmäßig eine Richtlinie mittlerer Größe („streben Sie weniger als 15 Agents an“), die sich über den neuen Schlüssel workflowSizeGuideline in jeder Einstellungsdatei festlegen lässt (auch in den TS-SDK-Einstellungstypen enthalten) und in der Statuszeile laufender Workflows angezeigt wird — aus dem Modell mit drei Achsen (Anzahl der Starts, Tiefe, Parallelität) werden damit vier; zudem liegt 15 endlich in derselben Größenordnung wie das in diesem Leitfaden vorgesehene Deliberationsbudget von 12 Agents, statt als ausufernde Notbremse zu dienen. Claude Opus 5 (claude-opus-5, 24. Juli): das neue Standardmodell der Opus-Reihe — Kontextfenster von 1 Mio. Tokens, 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; erreicht auf Frontier-Bench v0.1 mehr als das Doppelte von Opus 4.8 und liegt beim CursorBench-3.2-Ergebnis innerhalb von 0,5 % zu Fable 5 — bei halben Kosten. Die Empfehlung dieses Leitfadens für den standardmäßigen agentischen Einsatz wechselt von Opus 4.8 zu Opus 5; Opus 4.7 wird im fast mode nicht mehr unterstützt (/fast gilt nun für Opus 5 und Opus 4.8), und der Fable-5-Fallback des Klassifikators für den automatischen Modus wird zu Opus 5 aufgelöst. Nur im Changelog: Py SDK v0.2.127 — Hintergrundaufgaben umgingen PreToolUse hooks unbemerkt: query() schloss stdin beim ersten result-Frame, während Hintergrund-subagents noch liefen, sodass ihre SDK-MCP-Tool-Aufrufe mit "Stream closed" fehlschlugen und den hook übersprangen (#1103). Dies ist nach dem Fall „Abbruch → hook-Erfolg“ in TS v0.3.208 bereits die zweite Umgehung der hook-Durchsetzung innerhalb eines Monats; das Muster wird nun im Hinweis zum SDK-hook-Streaming ausdrücklich benannt — die Durchsetzung auf SDK-Seite versagt an Lebenszyklusgrenzen offen und unbemerkt, da ein umgangener hook wie ein genehmigender 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; nach einem Wechsel meldet die Initialisierungsantwort nicht mehr den fast_mode_state des beim Start verwendeten Modells. CC v2.1.219 MCP-Diagnosefunktionen: mcp_server_errors im stream-json-Initialisierungsereignis des headless mode; HTTP-Status und Fehlertext in claude mcp list beziehungsweise /mcp bei fehlgeschlagener Verbindung; Warnung vor unsichtbaren Leerzeichen in MCP-Konfigurationswerten. Gültigkeitsbereich verwalteter Einstellungen: ${VAR}-Einträge in verwalteten MCP-Zulassungs- und Sperrlisten werden nun anhand der Startumgebung und der Umgebung verwalteter Einstellungen aufgelöst statt anhand der Umgebung der Einstellungsdatei — eine für die 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 der angegebene Pfad nicht auf eine bash/sh-Binärdatei verweist; der gebündelte claude-api skill verwendet standardmäßig Opus 5. CC v2.1.220 / TS v0.3.220 / Py v0.2.128 (25. Juli): ausschließlich Fehlerbehebungen und Paritätsanpassungen. MCP: keine normativen Merges; die Stateless-Spezifikation erscheint weiterhin am 2026-07-28. 84 85 91
2026-07-24 Leitfaden v1.26: Anthropics Beitrag zu Eindämmungsmustern übernommen + Claude Code v2.1.218. Der Unterabschnitt „Drei produktübergreifende Eindämmungsmuster“ wurde den Sicherheitsaspekten hinzugefügt, basierend auf Anthropics Engineering-Beitrag „Wie wir Claude produktübergreifend eindämmen“ (25. Mai 2026): kurzlebige gVisor-Container auf Serverseite (claude.ai), OS-Sandboxing mit menschlicher Kontrolle (Claude Code: Seatbelt/bubblewrap und das als Open Source veröffentlichte sandbox-runtime) sowie versiegelte VMs auf Plattform-Hypervisoren (Claude Cowork: Apple Virtualization Framework / Windows HCS; Anmeldedaten im Schlüsselbund des Hosts, ergänzt durch begrenzte, widerrufbare Sitzungstoken, deren Gültigkeit ein defensiver MITM-Proxy innerhalb der VM durchsetzt) — hinzu kommen die im Beitrag formulierten Prinzipien für das harness-Design: zuerst auf der Umgebungsebene eindämmen, die Isolation an die Überwachungsmöglichkeiten des Benutzers anpassen, bewährte Grundbausteine statt selbst entwickelten Isolationscodes einsetzen, projektlokale Konfigurationen und Tool-Ausgaben als nicht vertrauenswürdige Eingaben behandeln und Anmeldedaten außerhalb der Sandbox aufbewahren. Nur im Changelog: CC v2.1.218 (22. Juli) — der Klassifikator für den automatischen Modus beurteilt Prüfungen auf gefährliches rm, Hintergrundausführung mit & und verdächtige Windows-Pfade, statt Berechtigungsdialoge zu öffnen; im Planungsmodus mit aktivierter Automatik wird Bash an den Klassifikator weitergeleitet, wenn der statische Analysator die reine Lesefunktion nicht nachweisen kann; hooks im Agent-Frontmatter setzen voraus, dass für den eigenen Ordner der Agent-Datei das Vertrauen in den Arbeitsbereich bestätigt wurde; skills mit context: fork werden standardmäßig im Hintergrund ausgeführt (background: false deaktiviert dies); /code-review wird als Hintergrund-subagent ausgeführt; /deep-research ruft sich nicht mehr selbst auf; die Abstammung verzweigter Sitzungen bleibt nach der Komprimierung in headless-/SDK-Sitzungen erhalten; die Verlagerung in den Hintergrund mit Ctrl+B berücksichtigt Obergrenzen für Hintergrund-Shells. TS SDK v0.3.218 (22. Juli): Flag SkillToolOutput.background; api_error_status meldet während des Streamings 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 Stateless-Spezifikation erscheint weiterhin am 2026-07-28. 81 82 83
2026-07-22 Leitfaden v1.25: Claude Code v2.1.217 — Rücknahme rekursiver subagents + Parallelitätsgrenze. Verschachtelte Starts standardmäßig deaktiviert: subagents starten keine eigenen subagents mehr — die in v2.1.172 eingeführte standardmäßige Rekursion über fünf Ebenen blieb bis einschließlich v2.1.216 bestehen; eine tiefere Verschachtelung muss nun über CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH aktiviert werden (Unterabschnitt zum Recursion Guard neu geschrieben). Parallelitätsgrenze: Die Anzahl gleichzeitig laufender subagents ist standardmäßig auf 20 begrenzt (CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS), sodass eine einzelne Nachricht nicht unbegrenzt viele Hintergrund-Agents auffächern kann. Die Erstanbieter-Leitplanken decken nun alle drei Achsen ab, die auch das benutzerseitige Startbudget überwacht: Gesamtzahl der Starts 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 Hintergrund-subagents nun tatsächlich (sobald die Obergrenze erreicht ist, werden neue Starts abgelehnt und laufende Hintergrund-Agents angehalten); bei der Isolation von Hintergrundsitzungen werden über symbolische Verknüpfungen referenzierte Arbeitsverzeichnisse 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 SEP-2575-Fehlercodes an das neu nummerierte Entwurfsschema und die Konformitätstestsuite angleicht — die Vorbereitungen für die Veröffentlichung am 28. Juli laufen weiter. 78 79 80
2026-07-21 Guide v1.24: Claude Code v2.1.214–v2.1.216: Härtung von Pfadbereich und worktree-Durchsetzung, Codex v0.145.0 multi-agent V2 und harness-übergreifender Import. Pfadbezogene Regeln werden an cwd verankert (v2.1.214): Einstufige allow-Regeln vom Typ dir/** (z. B. Edit(src/**)) genehmigten Schreibvorgänge in jedem verschachtelten dir/ im gesamten Verzeichnisbaum automatisch – jetzt gelten sie ausschließlich für <cwd>/dir; ebenso beziehen sich Hook-if:-Bedingungen mit einstufigem dir/** nun nur noch auf cwd (verwenden Sie **/dir/** für beliebige Verzeichnistiefen); deny/ask-Regeln behalten bewusst den Abgleich in beliebiger Tiefe bei (asymmetrischer Fail-Safe: allows müssen sicher zu einer Rückfrage führen, denies dürfen nicht offen fehlschlagen). Die worktree-Isolierung ist nun konsequent durchgesetzt (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 übrig gebliebenen worktree eines anderen Projekts; Schreibvorgänge von Workflows und geplanten Aufgaben folgen keinem unter .claude platzierten Symlink mehr; /rewind verweigert Symlinks und Hardlinks. Rücknahme der automatischen skills-Aktivierung (v2.1.215): Claude ruft die gebündelten skills /verify und /code-review nicht mehr selbst auf – sie müssen explizit gestartet werden. Codex v0.145.0: Das optionale multi-agent V2 wurde stabilisiert (konfigurierbare Modelle und Reasoning-Stufen für subagents, konfigurierbare Parallelität, wiederhergestellte Rollen); /import migriert nun Einstellungen, MCP-Server, Plugins, Sitzungen, Befehle und projektbezogene Erinnerungen aus Claude Code und Cursor – eine vollständige harness-übergreifende Migration, die v0.140.0 erweitert. Nur im Changelog: CC v2.1.214 mit dem Tool EndConversation; Härtungspaket für Bash/PowerShell nach dem Fail-Closed-Prinzip (Dateideskriptor-Umleitungen schlagen geschlossen fehl, Befehle mit mehr als 10.000 Zeichen erfordern immer eine Bestätigung, zsh-Indizes lösen eine Rückfrage aus, automatische Freigabe von help/man geschlossen, Flags zur Umleitung von docker-/Podman-Daemons lösen eine Rückfrage aus, file -m/-f erfordert eine Berechtigung, Umgehungsmöglichkeit in PowerShell 5.1 behoben); Hook-Exit-Code 2 blockiert auch dann, wenn die stdout-JSON die Schemavalidierung nicht besteht; Memory-Frontmatter erhält einen ISO-Zeitstempel modified, ohne stillschweigende Kürzung bei einem eingebetteten #; OTel mit message.uuid/client_request_id/tool_source und CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH. CC v2.1.216 mit sandbox.filesystem.disabled (Kontrolle ausgehender Netzwerkverbindungen ohne Dateisystemisolierung); fortgesetzte Sitzungen von Hintergrundagenten stellen die Prompt-/Tool-Einschränkungen des Agenten wieder her; Änderungen an skills und 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; subagent_type/subagent_retry für tool_progress; Untertyp scheduled-trigger für Aufgabenbenachrichtigungen; SessionStart-Quelle "fork"; tool_result_meta-Sidecar (non_execution_kind, user_feedback); rewindFiles meldet unter skippedLinks Pfade, deren Wiederherstellung oder Löschung die rewind-Sicherheitsvorkehrungen verweigert haben; erfolgreiche Ergebnisse enthalten user_message_uuid und request_sent_wall_ms, um Anfragelatenzen hostübergreifend zu korrelieren. Py SDK v0.2.124: Behebung einer Schwachstelle der BatBadBut-Klasse unter Windows (Start von .bat/.cmd wird verweigert; 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 OAuth-Aktualisierungen, nicht blockierende OAuth-Erkennung, zuverlässigere Erkennung erzwungener Löschvorgänge, Beibehaltung von Ablehnungsgründen, experimenteller paginierter Threadverlauf. Vorbereitung der MCP-Veröffentlichung vom 2026-07-28 (Dokumentations-PRs #3064/#3066/#3098, am 21. Juli zusammengeführt): Spezifikation zur Darstellung von Tasks als optionale Erweiterung io.modelcontextprotocol/tasks abgeschlossen; HTTP+SSE zugunsten von Streamable HTTP als veraltet eingestuft. 74 75 76 77
2026-07-17 Guide v1.23: Claude Code v2.1.203–v2.1.212: Schutzmechanismen gegen Endlosschleifen und Injection-Härtung, TS-SDK-Protokolloberflächen, MCP-Entwurf für zustandslose Identität sowie Codex/OpenAI-Parität. Integrierte Schutzmechanismen gegen Endlosschleifen (v2.1.212): Begrenzung der subagent-Starts pro Sitzung (standardmäßig 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, durch /clear zurückgesetzt) und Begrenzung von WebSearch (200, CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) – das benutzerseitige Muster für ein Startbudget verfügt nun über eine native Rückfallebene; 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, wechseln automatisch in den Hintergrund (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). Vorrang von Hooks gegenüber dem automatischen Modus (v2.1.211): PreToolUse mit ask legt als Mindestentscheidung eine Rückfrage fest (der automatische Modus kann dies für Bash ohne Sandbox nicht übergehen); --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT für stream-json; „immer erlauben“-Regeln bleiben worktree-übergreifend im Repository-Stammverzeichnis bestehen; Berechtigungsvorschauen neutralisieren Täuschungsversuche mit bidirektionalen, breitenlosen oder ähnlich aussehenden Zeichen. v2.1.210: Fehler behoben, durch den worktree-isolierte subagents den Haupt-Checkout verändern konnten; Agent tool gegen indirekte Injection aus von subagents gelesenen Inhalten gehärtet; der Klassifikator des automatischen Modus verwendet standardmäßig Sonnet 5, das pro Sitzung festgeschrieben wird; Schreibvorgänge oberhalb des Limits von MEMORY.md führen zu einem Fehler, statt Inhalte stillschweigend zu kürzen. v2.1.207/v2.1.208: Automatischer Modus allgemein verfügbar für Bedrock/Vertex/Foundry (disableAutoMode zum Deaktivieren); Rückfragen bei katastrophalen Löschvorgängen setzen sich über --dangerously-skip-permissions und den automatischen Modus hinweg; CLAUDE_CODE_PROCESS_WRAPPER als Unternehmens-Launcher; bis zu 7-fach schnellere Tool-Runden bei einer hohen Anzahl von MCP-Tools und 79-fach kleinere Transkripte. v2.1.203–v2.1.206: Schutz vor erfundenen Angaben (Manipulationen an 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, aus der Codebasis ableitbare Inhalte aus CLAUDE.md zu entfernen. 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 – ein Abbruch durch den Aufrufer während eines ausstehenden Hooks wurde als Hook-Erfolg interpretiert, sodass durch PreToolUse geschützte Tools nach dem Abbruch ausgeführt werden konnten. MCP-Spezifikationsentwurf (PR #3002, am 16. Juli zusammengeführt): Optionale, selbst gemeldete _meta-Angaben io.modelcontextprotocol/serverInfo in der Antwort sowie optionale clientInfo – ausschließlich für Anzeige und Protokollierung, SOLLTEN KEINE Sicherheitsentscheidungen beeinflussen; die endgültige zustandslose Spezifikation erscheint am 2026-07-28. Codex: v0.143.0 stellt MCP-Tools standardmäßig über die Tool-Suche bereit (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 multi-agent-Betaversion von OpenAI: openai-agents-python v0.18.2 (11. Juli) und openai-agents-js v0.13.2 (10. Juli). Nur im Changelog: Behebung von Flag-Injection über argv 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; Behebung des Streaming-Fehlers bei SessionStart im Headless-Modus in CC v2.1.204; GPT-5.6-Standardeinstellungen für openai-agents; Hinweise zur erneuten Anfrage nach einer Ablehnung von Mcp-Param-* in MCP. 68 69 70 71 72 73
2026-07-07 Guide v1.22: Claude Code v2.1.196–v2.1.202. Sonnet 5 ist das ausgelieferte Standardmodell (v2.1.197) – der Hinweis zur Modellstufe wurde neu formuliert (dieser Guide empfiehlt weiterhin Opus 4.8 als agentisches Standardmodell für autonome harnesses). subagents werden standardmäßig im Hintergrund ausgeführt (v2.1.198): Das Feld background schreibt das Verhalten nun fest, statt es optional zu aktivieren; der Explore-Agent übernimmt das Sitzungsmodell (höchstens Opus); subagents und Komprimierung übernehmen die Konfiguration für erweitertes Reasoning; claude agents-Hintergrundsitzungen committen und pushen automatisch, öffnen 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). v2.1.199: SessionStart-/Setup-/SubagentStart-Hooks geben stderr bei Exit-Code 2 aus; 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 Einträge. v2.1.200: Der Berechtigungsmodus default wird in der permissionMode-Liste für subagents als „Manuell“ bezeichnet (Alias manual). v2.1.196: Organisationsweite Standardmodelle wurden im Governance-Abschnitt ergänzt; Selbstgenehmigung durch MCP wurde unterbunden. Aktualität von SDK: claude-agent-sdk v0.2.111 (Python, enthält CLI v2.1.202) / @anthropic-ai/claude-agent-sdk v0.3.203 (TS), schrittweise Weiterentwicklung gegenüber der dokumentierten 0.1.x-Oberfläche. 67
2026-07-02 Guide v1.21: Aktualisierungen zur Hook-Matcher- und Klassifikator-Governance. Claude Code v2.1.195: Matcher für Bezeichner mit Bindestrichen führen einen exakten Abgleich statt eines Teilzeichenfolgenabgleichs durch (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 Toast-Benachrichtigung und unter /permissions angezeigt (siehe Sicherheitsaspekte). Codex v0.142.2: PowerShell-Befehle mit nicht überprüfbaren AST-Bereichen erfordern nun eine Genehmigung. Alle Einträge wurden während dieses Aktualisierungszyklus anhand der kanonischen 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 Sicherheitshinweise wurden um Schutzmechanismen gegen destruktive Befehle im Auto-Modus ergänzt (CC v2.1.183 blockiert git reset --hard/checkout -- ./clean -fd/stash drop, git commit --amend bei Commits, die nicht vom Agenten stammen, sowie terraform/pulumi/cdk destroy ohne benannten Stack, sofern Sie dies nicht angefordert haben). Diese Mechanismen werden als Ergänzung auf Absichtsebene zu Regeln auf Parameterebene und zur Spawn-Prüfung eingeordnet. Außerdem wurden die Codex-Paritätshinweise um verschlüsselte Remote-Executors mit Noise-Relay ergänzt (Codex v0.141.0: Ende-zu-Ende-verschlüsselte Executor-Kanäle, plattformübergreifende Beibehaltung von cwd und Shell, P-521 TLS). 65
2026-06-16 Leitfaden v1.19: Governance- und Scoping-Primitiven aus Claude Code v2.1.173–v2.1.179 sowie werkzeugübergreifender Import aus Codex v0.140.0. Die Version v2.1.178 wurde in den Haupttext eingearbeitet: Berechtigungsregeln auf Parameterebene Tool(param:value) mit dem Platzhalter * (z. B. Agent(model:opus), um eine Modellstufe zu blockieren) sowie die verwaltete Einstellung enforceAvailableModels (v2.1.175), beide unter Sicherheit → Berechtigungsgrenzen; der Auto-Modus prüft nun subagent-Spawns vor dem Start und schließt damit die Lücke, über die sich Beschränkungen durch Spawning umgehen ließen (Subagent-Muster); Laden verschachtelter .claude/skills + Auflösung nach dem Prinzip „nächstgelegene Definition gewinnt“ für skills/Agenten/Workflows/Ausgabestile in verschachtelten .claude/-Bäumen (Skills-System); sowie die Korrektur des Server-Spezifikationsabgleichs von disallowedTools für MCP (Konfigurationsfelder für subagents). Der Codex-Paritätshinweis wurde um den werkzeugübergreifenden Portabilitätsbefehl /import und das dauerhafte Löschen von Sitzungen (v0.140.0) ergänzt. 63 64
2026-06-10 Leitfaden v1.18: Rekursive subagents (Claude Code v2.1.172). Der Unterabschnitt zum Rekursionsschutz wurde um einen Hinweis ergänzt: subagents von Claude Code können nun eigene subagents starten und dabei eine Verschachtelungstiefe von bis zu 5 Ebenen erreichen — zuvor war die Delegation faktisch auf eine Ebene beschränkt (v2.1.172, 10. Juni). Das Muster für Spawn-Budget und Tiefenbegrenzung im Userland wurde als Kontrollmechanismus neu eingeordnet, der verhindert, dass sich ein Baum über 5 Ebenen unkontrolliert auffächert. Dabei gelten 5 Ebenen als Plattformobergrenze, nicht als Standardwert. 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 „Die gebündelte Oberfläche als Governance-Maßnahme ausblenden“: Die Einstellung disableBundledSkills (und die Umgebungsvariable CLAUDE_CODE_DISABLE_BUNDLED_SKILLS) verbirgt gebündelte skills, Workflows und integrierte Slash-Befehle vor dem Modell, um die Angriffsfläche gezielt zu reduzieren (v2.1.169). Der Unterabschnitt zur Hook-Architektur im Juni wurde um das Flag --safe-mode (und CLAUDE_CODE_SAFE_MODE) ergänzt. Damit wird eine Sitzung mit sämtlichen Anpassungen deaktiviert gestartet — CLAUDE.md, Plugins, skills, hooks, MCP —, was eine bereinigte Fehlerdiagnose und Governance ermöglicht (v2.1.169). Hinzu kommt ein Hinweis zur Modellstufe: Claude Fable 5 (claude-fable-5) von Anthropic 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 der agentische Standard von Claude Code. Der Abschnitt zu Speicher und Kontext wurde um den Befehl /cd (v2.1.169) ergänzt, mit dem Sie eine Sitzung in ein neues Arbeitsverzeichnis verschieben können, ohne den Prompt-Cache während der Sitzung zu beeinträchtigen. Die Abschnitte zur Multi-Agent-Orchestrierung und Codex-Parität wurden für den Produktionseinsatz gehärtet: close_agent wurde in interrupt_agent umbenannt (v0.139.0), hinzu kamen verschlüsselte Nachrichteninhalte zwischen Agenten, ein Agentenkonfigurationskatalog der Version 2, ein LRU für die Agentenresidenz sowie eine Parallelitätszählung anhand aktiver Ausführungen (v0.138.0). Außerdem wird die AGENTS.md-Erkennung nun über Umgebungsdateisysteme geleitet, wobei logische Pfade erhalten bleiben, damit in Remote-Arbeitsbereichen und Arbeitsbereichen mit symbolischen Verknüpfungen die richtigen Dateien ausgewählt werden (v0.138.0/v0.139.0). Zudem sind Warnungen beim Start von MCP für subagents auf den jeweils zuständigen Thread begrenzt, statt zusätzlich im übergeordneten Thread zu erscheinen (v0.139.0). 60 61
2026-06-08 Leitfaden v1.16: Muster der Agentenarchitektur vom Juni aus Claude Code v2.1.162–v2.1.166 + Codex v0.137.0. Der Unterabschnitt „Steuerung durch Stop-hooks, sitzungsübergreifende Autorität und Multi-Agent v2“ behandelt vier für harness relevante Änderungen: (1) Stop/SubagentStop hooks können hookSpecificOutput.additionalContext zurückgeben, um Rückmeldungen nach dem Muster „noch nicht fertig, und zwar aus folgendem Grund“ einzufügen und den Turn ohne Hook-Fehlerblock fortzusetzen (v2.1.163); (2) die sitzungsübergreifende Nachrichtenübermittlung wurde so gehärtet, dass über SendMessage weitergeleitete Nachrichten aus einer anderen Sitzung nicht länger 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; außerdem ergänzt claude agents --json ein Feld waitingFor für die Flottenbeobachtbarkeit (v2.1.162/166); (4) Codex Multi-Agent v2 (v0.137.0) bindet die Laufzeit an den jeweiligen Thread, setzt hide_spawn_agent_metadata standardmäßig auf true, überträgt Ereignisse des übergeordneten Threads an untergeordnete Listener und ergänzt eine skills-Erweiterung der Version 1 mit katalogbasierter Auflösung pro Turn sowie Contributor-Ereignissen beim Thread-Start und bei Turn-Fehlern. Keine Spezifikationsänderung an AGENTS.md (weiterhin von 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 ergänzt: Mit Claude Code v2.1.157 wird jeder Ordner im Verzeichnis .claude/skills/ eines Projekts automatisch als Plugin geladen, ohne dass eine Marketplace-Registrierung erforderlich ist. claude plugin init <name> legt dort ein neues Plugin samt Manifest und SKILL.md an. Die Auswirkung auf den harness ist erheblich: Projektwerkzeuge mit kleinem Umfang müssen nicht länger den Manifest-Aufwand tragen, um in der Versionsverwaltung abgelegt zu werden; Plugins behalten weiterhin die gebündelte, installierbare ZIP-Struktur bei. Dieselbe Version ermöglicht mit EnterWorktree den Wechsel zwischen von Claude verwalteten Worktrees während einer Sitzung und lässt Hintergrund-Worktrees nach Abschluss der Agentenarbeit entsperrt, sodass git worktree remove/prune reibungslos funktionieren. Hermes Agent v0.15.1 (29. Mai) ist der noch am selben Tag veröffentlichte Velocity-Hotfix: Behebung der 401-Neuladeschleife im Dashboard beim Loopback-Modus; Docker erfordert nun ausdrücklich HERMES_DASHBOARD_INSECURE=1; reine MCP-Befehle (npx, npm, node) werden in Docker aufgelöst; die Skills-Seite wurde wiederhergestellt; Kanban-Worker reagieren ordnungsgemäß auf SIGTERM; 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 Guide v1.14: Claude Code v2.1.152–v2.1.154 + Codex v0.134.0–v0.135.0 + Architekturpattern-Durchgang für Hermes v0.15.0. Claude Code änderte Standardeinstellungen und ergänzte Orchestrierungsprimitive: Opus 4.8 ist jetzt standardmäßig mit hoher Rechenintensität aktiviert und bietet ein neues /effort xhigh; dynamic workflows orchestrieren über /workflows Dutzende bis Hunderte von Agenten im Hintergrund; der schlanke System-Prompt ist jetzt für alle Modelle außer Haiku/Sonnet/Opus 4.7 und älter voreingestellt; mit dem neuen Hook-Ereignis MessageDisplay können hooks den angezeigten Assistententext transformieren oder ausblenden; disallowed-tools im Frontmatter von skills/Befehlen entfernt Tools, 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 nicht verfügbar ist; auto mode erfordert keine vorherige Zustimmung mehr; die verwaltete Einstellung pluginSuggestionMarketplaces setzt Organisations-Marketplaces für kontextbezogene Vorschläge auf die Zulassungsliste; claude agents unterstützt Hintergrund-Shell-Sitzungen mit ! <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 zum primären Profilselektor 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 serverspezifische Umgebungszuordnung und OAuth für streamfähige HTTP-Server und ermöglichte die gleichzeitige Ausführung schreibgeschützter MCP-Tools, wenn diese readOnlyHint angeben; v0.135.0 ergänzte ausführlichere codex doctor-Diagnosen, Remote-Details in /status, die Bearbeitung von Vim-Textobjekten, benannte Berechtigungsprofile in /permissions und Sandbox-Voreinstellungen im Python-SDK. Hermes Agent v0.15.0 (28. Mai) liefert das Velocity-Release: run_agent.py wurde über 14 Module hinweg zu 76 % refaktoriert, Multi-Agent-Kanban v2 bietet automatische Zerlegung und Schwarmtopologie, Bitwarden Secrets Manager ersetzt anbieterspezifische Schlüssel durch ein einziges Bootstrap-Token, Promptware defense 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 LLM-Abhängigkeit entfernt wurde. Auswirkungen auf die harness-Architektur: Das Muster benannter Profile (Codex --profile, Claude Code pluginSuggestionMarketplaces) entwickelt sich zum Standardkonfigurationsprimitiv für mandantenfähige Agent-Laufzeitumgebungen; gleichzeitig ausführbare, schreibgeschützte MCP-Tools (Codex readOnlyHint) sind das richtige Muster, um nicht verändernde Kontextabrufe aufzufächern; der MessageDisplay-hook bietet Betreibern eine erstklassige Transformationsoberfläche, die über PostToolUse oder Stop nicht erreichbar war; und der schlanke System-Prompt als Standardeinstellung beseitigt den langjährigen Zielkonflikt zwischen betreiberdefiniertem Kontext und Provider-Gerüst. 55 56 57
2026-05-24 Guide v1.13: Sicherheits- und Aktualitätsdurchgang 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 und das neueste GitHub-Release jeweils 2.1.150 beziehungsweise 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 die PowerShell-Berechtigungsanalyse bei Zulassungsregeln und veralteten Variablen sowie für die Schreibzulassungsliste der git-worktree-Sandbox; außerdem 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; deshalb weist der OpenAI-Sandbox-Abschnitt jetzt auf die zusätzlichen Härtungen in 0.17.1–0.17.3 für Archivextraktion, GitRepo-Unterpfade, Sandbox-Anmeldedaten, relative Workspace-Stammverzeichnisse und die Verarbeitung terminaler Provider-Zustände hin.5354
2026-05-21 Guide v1.12: Workflow-Durchgang 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 war. Das standardmäßig deaktivierte Workflow-Tool wurde als deterministisches Multi-Agent-Orchestrierungsprimitiv erster Klasse ergänzt; zugleich wurde klargestellt, dass hooks, Tests, Prüf-Gates, Spawn-Budgets und Evidenzberichte weiterhin die Korrektheitsgrenze bilden.52
2026-05-15 Guide v1.11: Durchgang zu Hintergrundsitzungen und Plugin-Zuverlässigkeit für 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 war. Ergänzt wurden Betreiberhinweise zu den neuen Dispatch-Flags von claude agents, zum standardmäßigen Fast-Modus von Opus 4.7, zur Erkennung von Plugin-SKILL.md auf Stammebene, zur Sichtbarkeit der 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 Guide v1.10: Durchgang zu Betreibersignalisierung und Geltungsbereichen für 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 Betreibersignalisierung 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 die Eingrenzung der Föderation von Workload-Identitäten.50
2026-05-13 Guide v1.9: Zuverlässigkeitsdurchgang 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 agent-hooks hinzugefügt, und der Abschnitt zur Hook-Governance wurde 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 Rückgriff auf native Pakete unter Windows Git Bash und das Verhalten von /scroll-speed aktualisiert.49
2026-05-11 Guide v1.8: Aktualitätsdurchgang für Claude Code v2.1.139 + gezielte Prüfung von Agent-Sicherheit 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, Abschlusszyklen mit /goal, args für Befehls-hooks, continueOnBlock für PostToolUse, MCP CLAUDE_PROJECT_DIR und die Korrektur der OpenTelemetry-Aktivzeit.424344 Ergänzt wurden außerdem eine Warnung zur Speicherkuration aus dem arXiv-Preprint „The Memory Curse“, Hinweise zur menschlichen Zusammenführungsautorität aus dem arXiv-Preprint zum PR-Lebenszyklus sowie Sicherheitshinweise zu Agent-Protokollen und Guardrails aus den Sicherheitshinweisen von Gryph Agents und LiteLLM.45464748 Die veraltete Zeile zum Token-Budget für Skills gegenüber Hooks und Subagents wurde von 2 % auf das aktuelle Budget von 1 % beziehungsweise 8.000 Zeichen für skill-Beschreibungen korrigiert.
2026-05-09 Guide v1.7: Nachtrag vom 3. Tag zu Claude Code v2.1.136 + openai-agents-python v0.17.0. Dem Abschnitt zur Hook-Architektur wurde ein Unterabschnitt zu autoMode.hard_deny und den Hook-/Plugin-Korrekturen aus v2.1.136 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 von MCP-OAuth-Aktualisierungstoken bei gleichzeitiger Aktualisierung, die Korrektur der Schreibblockierung im Plan-Modus, wenn eine Edit(...)-Zulassungsregel zutraf, eine Race Condition bei der Cache-Bereinigung von Plugin-Stop/UserPromptSubmit, das Ausblenden des standardmäßigen Verzeichnisses skills/ durch einen skills-Eintrag sowie nach /resume//clear veraltete Umgebungsvariablen aus dem SessionStart-hook in CLAUDE_ENV_FILE.40 Dem Abschnitt zu Produktionsmustern wurde ein Unterabschnitt zur OTel Feedback Survey für CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL hinzugefügt.40 Der Unterabschnitt zur 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 Dem Abschnitt zu verwalteten gegenüber selbst gehosteten Harnesses wurde ein Hinweis zum Standardmodell von RealtimeAgent (gpt-realtime-2) hinzugefügt.41 Nur im Änderungsprotokoll: Claude Code v2.1.137 (Korrektur der Aktivierung unter Win VSCode), v2.1.138 (interne Korrekturen); claude-agent-sdk-python v0.1.78 (CLI-Bundle v2.1.136), v0.1.79 (CLI-Bundle v2.1.137), v0.1.80 (CLI-Bundle v2.1.138).
2026-05-08 Guide v1.6: Nachtrag vom 2. Tag zu Claude Code v2.1.132/v2.1.133 + SDK v0.1.77. Dem Skills-System wurde ein Unterabschnitt zur SDK-Skill-Oberfläche hinzugefügt, der die Option skills für ClaudeAgentOptions und die Einstellung von "Skill" in allowed_tools behandelt.37 Der Hook-Architektur wurde ein Unterabschnitt zu Rechenintensität und Sitzungsherkunft hinzugefügt, der das neue JSON-Feld effort.level zusammen mit der Umgebungsvariablen $CLAUDE_EFFORT in Hook-Eingaben sowie die Umgebungsvariable CLAUDE_CODE_SESSION_ID in Bash-Unterprozessen behandelt.3839 Der Tabelle mit den Konfigurationsfeldern für Subagents wurde die Korrektur der skill-Erkennung für Subagents hinzugefügt (Subagents erkennen jetzt Projekt-, Benutzer- und Plugin-skills über das Skill-Tool; vor v2.1.133 wurden diese stillschweigend verworfen).39 Dem Abschnitt zu Produktionsmustern wurde ein Unterabschnitt zu Worktree-Basis, Sandbox-Pfaden und Administratoreinstellungen hinzugefügt, der worktree.baseRef (Rücknahme der geänderten Standardeinstellung von lokalem HEAD zurück zu origin/<default>), sandbox.bwrapPath, sandbox.socatPath und parentSettingsBehavior behandelt.39
2026-05-07 Guide v1.5: Claude Managed Agents, Erweiterung vom 6. Mai in San Francisco. Strategie 5 (Managed Memory Curation: Dreaming, Research Preview) wurde zu Memory and Context hinzugefügt, einschließlich einer Tabelle, die filesystem-as-memory und Dreaming gegenüberstellt.35 Managed Multiagent Orchestration (Public Beta) und Outcomes (Public Beta) wurden am Anfang von Multi-Agent Orchestration 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 SDK-seitigen Streaming von hook-Ereignissen wurde hinzugefügt, der include_hook_events und HookEventMessage aus claude-agent-sdk-python v0.1.74 behandelt.36 Nur im Changelog: Claude Code v2.1.124-v2.1.131 (claude project purge, --dangerously-skip-permissions für Projektordner, skill_activated invocation_trigger, Korrektur für das Formatieren beim Speichern mit PostToolUse, Korrektur für das Blockieren mit PreToolUse JSON+Exit-Code 2, 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 max_turns-Obergrenze entfernt und die SDK-seitige Parallelität bei der Werkzeugausführung ergänzt.
2026-05-07 Guide v1.4: Die Mechanismen für hooks und skills von Claude Code wurden 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 Behauptung von fest „10 parallelen subagents“ entfernt und ein für die Öffentlichkeit geeigneter Abschnitt zur Codex-Parität ergänzt, der AGENTS.md, skills, hooks, plugins und explizite subagent-Workflows behandelt.
2026-04-29 Guide v1.3: Die Abdeckung von OpenAI Agents SDK im Abschnitt Managed vs. Self-Hosted 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 ergänzt (die Laufzeit von Claude Code als Python-Bibliothek einbetten): Das gebündelte Claude CLI wurde auf v2.1.123 aktualisiert, die Untergrenze für die mcp-Abhängigkeit auf >=1.19.0 angehoben (ältere Versionen verwarfen CallToolResult aus prozessinternen MCP-Werkzeugen stillschweigend), eine Korrektur für die Abbruchbehandlung in Trio-Nurseries vorgenommen und die Parität der Allowlist-Felder von SandboxNetworkConfig mit dem TS SDK hergestellt. Verbesserungen an SDK in v0.14.7-v0.14.8 sind in [^58] dokumentiert.
2026-04-25 Guide 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, darunter Anthropic Claude; Partner-Agenten 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 Agenten; A2A protocol v1.0 im Produktiveinsatz bei 150 Organisationen. Microsoft Agent Framework 1.0 (April 2026): stabile APIs, LTS-Zusage, vollständige Unterstützung für MCP, .NET + Python. Die browserbasierte DevUI, die Agentenausführung und Werkzeugaufrufe 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-Werkzeug bzw. CLI-Befehl bereitgestellt, sodass Agenten 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. Preise für Claude Managed Agents: 0,08 $ pro Sitzungsstunde, solange eine Sitzung läuft, ohne Laufzeitgebühren im Leerlauf — zusätzlich zu den üblichen Tokenpreisen der Claude-Modelle. (Gemäß der Claude-Preisseite von Anthropic; die Public Beta startete am 8. April 2026.) Memory for Managed Agents ging am 23. April 2026 unter dem Beta-Header managed-agents-2026-04-01 in die Public Beta. Alle Managed Agents-Endpunkte erfordern nun diesen Beta-Header.
2026-04-16 Guide v1.1: Der Abschnitt Managed vs. Self-Hosted Harnesses zu Claude Managed Agents (Beta vom 8. April) und zur Trennung von harness und Rechenleistung bei OpenAI Agents SDK (16. April) wurde hinzugefügt. Scion, ein werkzeugübergreifender Multi-Agent-Hypervisor (7. April, Google), wurde ergänzt. Die Erkenntnis aus M3MAD-Bench zum Plateau bei Debatten wurde dokumentiert. The Five Principles of Trustworthy Agents (Anthropic, 9. April) sowie die Governance von MCP/AGENTS.md durch die Linux Foundation wurden hinzugefügt. Referenz zur Permiso SandyClaw skill-Sandbox. Neue Opus 4.7 Long-Horizon Patterns: Widerstandsfähigkeit bei Werkzeugfehlern, Aufwandsstufe xhigh, Obergrenze für das Tokenbudget (task_budget-Beta), Erkennung impliziter Anforderungen mit weniger CLAUDE.md-Gerüstcode.
2026-03-24 Erstveröffentlichung

Quellenangaben


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

  2. Implementierung des Autors. 84 hooks, 48 skills, 19 Agenten, rund 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, Exit-Code 2 blockiert und Exit-Code 1 warnt bei den meisten Ereignissen; 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 % beziehungsweise 8.000 Zeichen. 

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

  6. Anthropic, „Claude Code-Dokumentation“. docs.anthropic.com/en/docs/claude-code. Speicherdateien, CLAUDE.md, automatischer Speicher. 

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

  8. Simon Willison, „Code zu schreiben ist heute billig“. Muster für Agentic Engineering

  9. Laban, Philippe, et al., „LLMs verlieren in mehrstufigen Konversationen den Faden“, arXiv:2505.06120, Mai 2025. Microsoft Research und Salesforce. 15 LLMs, mehr als 200.000 Konversationen, durchschnittlicher Leistungsabfall von 39 %. 

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

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

  12. Anthropic, „Bewährte Verfahren zum Erstellen 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. 31 dokumentierte Lebenszyklusereignisse, Hook-Typen, Matcher-Verhalten, asynchrone hooks, HTTP-hooks, Prompt-hooks, Agent-hooks und MCP-Tool-hooks. 

  14. Tutorial des Autors zu Claude Code hooks. 5 produktionsreife hooks von Grund auf. Dokumentiert im Tutorial zu Claude Code Hooks

  15. Verwaltung des Kontextfensters durch den Autor über 50 Sitzungen hinweg. Dokumentiert in Kontextfensterverwaltung

  16. Ralph-Loop-Implementierung des Autors. Iteration mit jeweils 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 Agenten

  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-Agenten 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. Analyse des Autors zu AGENTS.md in realen Repositorys. Dokumentiert in AGENTS.md-Muster. Siehe auch: GitHub Blog, „Wie Sie eine hervorragende agents.md schreiben: Erkenntnisse aus mehr als 2.500 Repositorys“. 

  22. Methodik des Autors für quality loop und evidence gate. Teil des Jiro-Handwerkssystems. 

  23. Anthropic, „Überblick über verwaltete Claude-Agenten“. Öffentliche Betaphase seit dem 8. April 2026. Harness-as-a-Service mit Sitzungs-Checkpoints, gebündelter Sandbox und REST-API. Preis: Standard-Tokenkosten plus 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 Beta-Schicht über dem bestehenden Ablauf mit Agent / Runner ein: SandboxAgent, Manifest (Arbeitsbereichsvertrag), SandboxRunConfig, Funktionen (Shell, Dateisystembearbeitung, Bildprüfung, skills, Sandbox-Speicher, Komprimierung), Arbeitsbereichseinbindungen (lokal, Git, entfernt: S3, R2, GCS, Azure Blob, S3 Files), portable Snapshots mit Pfadnormalisierung und Erhaltung symbolischer Links sowie Serialisierung des Ausführungszustands zur Fortsetzung. Backends: UnixLocalSandboxClient, DockerSandboxClient und gehostete Clients für Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop und Vercel über optionale Extras. 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 tiefgreifende Agenten als isolierte Prozesse mit eigenem Container, Git-Worktree und eigenen Zugangsdaten pro Agent. Bereitstellungsmodi: lokal, Hub und Kubernetes. Berichterstattung von InfoQ

  26. Forschungscluster zu Multi-Agent-Debatten, 1.–2. Quartal 2026. Wu et al., „Können LLM-Agenten 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 plus Bewertungswerte für Faithfulness und Relevance. 

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

  28. Permiso Security, „SandyClaw: Erste dynamische Sandbox für KI-Agenten-Skills“. 2. April 2026. Sandbox zur Skill-Ausführung mit Sigma-/YARA-/Nova-/Snort-Erkennung und evidenzbasierten Bewertungen. 

  29. Anthropic, „Vorstellung von Claude Opus 4.7“. 16. April 2026. Verbesserungen für Agenten mit langem Arbeitshorizont: dreimal höhere Lösungsquote bei SWE-Bench-Produktionsaufgaben als Opus 4.6, Widerstandsfähigkeit gegen Tool-Fehler, xhigh-Aufwandsstufe, Aufgabenbudgets (Beta), Erkennung impliziter Anforderungen. Informationen zu Breaking Changes der Messages-API finden Sie außerdem unter Neuerungen in Opus 4.7

  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). Neuerungen in v0.14.7: praktische Eigenschaften tool_name/call_id für Tool-Elemente, erhöhtes Turn-Limit für die Speicherkonsolidierung in Phase 2, GPT-5.5-Aliasse für die Sandbox-Kompaktierung, strengere Validierung von tar-/zip-Inhalten, Ablehnung symbolischer Verknüpfungen bei LocalFile-Quellen und Entfernung nicht gesetzter Felder aus Responses-API-Aufrufen. Neuerungen in v0.14.8: Beibehaltung von Importfehlern beim erneuten Export von MCP, Abgrenzung der Abschnitte mit Sandbox-Prompt-Anweisungen. claude-agent-sdk-python v0.1.69 ergänzte Docstrings für die Felder von ClaudeAgentOptions 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 CallToolResult-Rückgaben von prozessinternen MCP-Tool-Handlern ohne Warnung), behob eine Beschädigung der Trio-Nursery bei vorzeitigem Abbruch während der Iteration über query() mit gesetztem options.stderr (spawn_detached() wird nun für den stderr-Reader verwendet) und aktualisierte die gebündelte CLI auf v2.1.122; v0.1.71 ergänzte Felder für Domain-Zulassungslisten (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup) in SandboxNetworkConfig, 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 Beginn der Arbeit globale und projektbezogene AGENTS.md- bzw. AGENTS.override.md-Dateien, führt die 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 über $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-Workflows, die integrierten Agents default, worker und explorer, benutzerdefinierte TOML-Agents, vererbte Sandbox-Richtlinien, in Plugins gebündelte hooks, den Aktivierungsstatus von hooks und persistente /goal-Workflows in 0.128.0. 

  35. Anthropic, „Neu in Claude Managed Agents“. 6. Mai 2026. Dreaming (Forschungsvorschau): ein geplanter Hintergrundprozess, der Agent-Sitzungen und Speicherbestände prüft, Muster extrahiert und Erinnerungen kuratiert. Outcomes (öffentliche Betaversion): eine rubrikbasierte Bewertung, bei der ein separater Bewerter die Ausgabe in einem eigenen Kontextfenster anhand der Rubrik bewertet, sodass ihn die Argumentation des Agents nicht beeinflusst. 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 Agents bei, wobei in der Claude Console jeder einzelne Schritt vollständig nachverfolgt werden kann. 

  36. Anthropic, claude-agent-sdk-python v0.1.74. 6. Mai 2026. Ergänzt include_hook_events in ClaudeAgentOptions; wenn diese Option gesetzt ist, gibt die CLI hook-Ereignisse (PreToolUse, PostToolUse, Stop und weitere) aus, die im Nachrichtenstrom als HookEventMessage bereitgestellt werden – 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. Veraltet den Wert "Skill" in allowed_tools zugunsten einer eigenen Option skills in ClaudeAgentOptions, liefert Claude Code strukturiertere Informationen über verfügbare skills, 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 zur Anzeige der Unterhaltung im nativen Scrollback, ein überarbeitetes Startbanner für /tui fullscreen (geringerer Speicherverbrauch, Mausunterstützung, automatisches Kopieren bei Auswahl) sowie rund zwanzig Fehlerbehebungen, unter anderem für das ordnungsgemäße Herunterfahren bei SIGINT, die Beschädigung von Surrogat-Emojis durch --resume, das Flag --permission-mode im Planungsmodus, die Cursorbehandlung bei indischen Schriften und ZWJ-Sequenzen, Vim-Operationen mit NFD, das Verschlucken eingefügter Texte, die mit / beginnen, unbegrenzten Speicherverbrauch durch MCP, Wiederholungsversuche für MCP tools/list, den Bedrock- und Vertex-Fehler 400 bei ENABLE_PROMPT_CACHING_1H sowie die Anzeige kumulativer Tokens in context_window der Statuszeile. 

  39. Anthropic, Claude Code v2.1.133. 7. Mai 2026. Hooks erhalten nun effort.level als JSON-Eingabe sowie die Umgebungsvariable $CLAUDE_EFFORT (die auch aus Bash-Befehlen gelesen werden kann). Subagents erkennen Projekt-, Benutzer- und Plugin-skills über das Skill-Tool (Behebung einer Regression). Neue Administratoreinstellungen: worktree.baseRef (fresh | head) setzt nach der in v2.1.128 erfolgten Umstellung auf den lokalen HEAD die Worktree-Basis 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 kombiniert werden. Weitere Fehlerbehebungen: 401-Fehler in parallelen Sitzungen nach einem Race beim Aktualisieren des Tokens, Geltungsbereich von Zulassungsregeln für Laufwerksstammverzeichnisse, Proxy-/mTLS-Unterstützung für MCP OAuth, Abschluss von Abbruch und Unterbrechung durch Remote Control, sitzungsübergreifendes Durchsickern von /effort sowie 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 Zulassungsausnahmen bedingungslos blockieren, sowie CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, um die Qualitätsumfrage innerhalb der Sitzung 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 ohne Warnung; Aktualisierungstokens von MCP OAuth gingen bei gleichzeitiger Aktualisierung verloren; der Planungsmodus blockierte Dateischreibvorgänge nicht, wenn eine passende Zulassungsregel Edit(...) vorhanden war; Plugin-hooks für Stop/UserPromptSubmit schlugen fehl, wenn die Cache-Bereinigung eine noch laufende Version löschte; ein Eintrag skills in plugin.json blendete das standardmäßige Verzeichnis skills/ des Plugins aus; Umgebungsvariablen aus SessionStart-hooks in CLAUDE_ENV_FILE waren nach /resume oder /clear veraltet. Hinzu kommen rund 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 der 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 auf v2.1.136, v2.1.137 beziehungsweise 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 den Bereich innerhalb des 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 von base_dir aus aufgelöst; absolute Quellen müssen bereits darin oder unter einer ausdrücklichen Freigabe liegen. Migration: Deklarieren Sie vertrauenswürdige Host-Stammverzeichnisse auf Manifestebene, vorzugsweise schreibgeschützt. Behandeln Sie extra_path_grants als vertrauenswürdige Anwendungskonfiguration; befüllen Sie die Option weder aus Modellausgaben noch aus nicht vertrauenswürdigen Manifest-Eingaben. Enthält außerdem eine Fehlerbehebung für eine extra_args-Kollision 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 Korrekturen, darunter die OpenTelemetry-Ausgabe von claude_code.active_time.total im Modus --print

  43. Anthropic, „Mehrere agents mit Agent View verwalten“. Die Dokumentation zu Agent View beschreibt, wie sich viele Claude Code-Sitzungen von einer zentralen Ansicht aus verteilen und verwalten lassen, wie Sie sehen können, womit die einzelnen Sitzungen beschäftigt sind, und wie sich Sitzungen erkennen lassen, die Eingaben durch einen Bediener 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 Expansionspfade für Slash-Befehle behandelt. 

  45. GitHub Advisory Database, GHSA-f3jg-756w-gm35 / CVE-2026-45046. „Der Payload-Filter von Gryph Agents entfernt Tool-Payloads mit sensiblen Inhalten nicht.“ Veröffentlicht im Mai 2026; beschreibt, dass sensible Inhalte aus file-write-Payloads beim standardmäßigen Protokollierungsverhalten in lokalen SQLite-Protokollen verbleiben, und dass das Problem 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, das Blockieren 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 verteilen“, arXiv:2605.08017v1, Mai 2026. Die Zusammenfassung berichtet über eine Analyse von 29.585 PR-Lebenszyklen bei OpenAI, Copilot, Devin, Cursor und Claude Code, wobei zwischen operativer Handlungsfähigkeit und Merge-Governance unterschieden wird. 

  48. Jiayuan Liu et al., „Der Fluch des Gedächtnisses: Wie ein erweiterter Abruf kooperative Absichten bei LLM-Agents untergräbt“, arXiv:2605.08060v1, Mai 2026. Die Zusammenfassung berichtet über Experimente mit 7 LLMs und 4 Spielen über 500 Runden hinweg, 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 Probleme mit ConfigChange-hooks, disableAllHooks, allowManagedHooksOnly, der Anzeige von Umgebungsvariablen aus hook-Ergebnissen im Berechtigungsdialog, dem Zurücksetzen benutzerdefinierter Stile nach Aktualisierungen der Einstellungen, der Fallback-Auflösung nativer Pakete unter Windows Git Bash sowie /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 für das Klonen von HTTPS-Plugin-Quellen; ANTHROPIC_WORKSPACE_ID zur Eingrenzung des Arbeitsbereichs bei der Workload-Identity-Föderation; 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 Korrekturen für agents, Hintergrundaufträge, hooks, MCP, Remote Control, Berechtigungsdialoge und die 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 Verteilungsflags 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, wobei CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 zum Festschreiben der bisherigen Version dient, stellt SKILL.md-Dateien von Plugins auf oberster Ebene 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 vorhandenen 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 Tool Workflow für deterministische Multi-Agent-Orchestrierung (CLAUDE_CODE_WORKFLOWS=1), angeheftete Hintergrundsitzungen, /code-review [effort] --comment als Ersatz für /simplify, Härtungen der REPL- und Workflow-Sandbox, Diagnosen für automatische Aktualisierungen, Verbesserungen bei der Darstellung großer Diffs, die Deduplizierung des Prompt-Verlaufs sowie Korrekturen für Einschränkungen bei Unternehmensanmeldungen, das Verhalten von PowerShell, die MCP-Paginierung, Agent View, Plugins, hook-Bedingungen, eingefügten Text und Endlosschleifen durch entfernte Bilder. Ü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 Regression bei Bash-Exit-Codes aus v2.1.147. v2.1.149 ergänzt die Anzeige von Nutzungsgrenzen je Kategorie in /usage, das Scrollen per Tastatur in /diff, die Darstellung von GFM-Aufgabenlisten und allowAllClaudeAiMcps für Enterprise; zu den für den harness relevanten Korrekturen zählen Umgehungen von Berechtigungen durch PowerShell-cd, die Berechtigungsanalyse von PowerShell-Präfixen, Platzhaltern und veralteten Variablen, der Geltungsbereich der Schreibfreigabeliste der Sandbox für Git-Worktrees, die Erschöpfung von Vnodes durch Bash-find unter macOS, Hänger bei Genehmigungen verwalteter Einstellungen, Diagnosen für Leerzeichen in otelHeadersHelper-Pfaden und die Synchronisierung umbenannter Remote-Control-Sitzungen. v2.1.150 enthält ausschließlich interne Infrastrukturänderungen. Ü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, Grenzwerte für die Archivextraktion, die Validierung von GitRepo-Unterpfaden sowie Korrekturen für Tracing, Sitzungen und Echtzeitfunktionen. v0.17.2 behebt die Speicherung von Reasoning in Conversations, Ablehnungsgründe für lokale Genehmigungen, Einstellungen von AsyncSQLiteSession und das Verhalten bei unbekannten Tools im Echtzeitbetrieb. v0.17.3 hält Zugangsdaten für Einhängepunkte aus Sandbox-Befehlen heraus, lehnt relative Stammverzeichnisse von Sandbox-Arbeitsbereichen ab, verarbeitet abschließende 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 und Befehlen, /reload-skills, die Ausgaben reloadSkills und sessionTitle des SessionStart-Hooks, die Übernahme von /code-review --fix in den Arbeitsbaum, die verwaltete Einstellung pluginSuggestionMarketplaces, die Abschaffung der ausdrücklichen Aktivierung des automatischen Modus sowie den Wechsel über --fallback-model während einer Sitzung. Mit v2.1.153 (28. Mai) wird die Auswahl über /model als Standard für neue Sitzungen gespeichert, während s die Auswahl auf die aktuelle Sitzung beschränkt; außerdem kommen skipLfs für Plugin-Marktplätze und COLUMNS/LINES in der Statuszeilenumgebung hinzu, während macOS-Berechtigungen unter „Datenschutz & Sicherheit“ für Hintergrundagenten dauerhaft gespeichert werden. v2.1.154 (28. Mai) legt Opus 4.8 mit standardmäßig hoher Rechenintensität als Standard fest und führt /effort xhigh ein, ermöglicht dynamische Arbeitsabläufe über /workflows, bietet den Fast-Modus für Opus 4.8 zum 2-Fachen Preis 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, erlaubt claude agents die Verwendung von ! <command> für Hintergrund-Shell-Sitzungen, lässt Plugins defaultEnabled: false deklarieren, ü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 in CLI-, TUI- und Sandbox-Abläufen einschließlich der Migration älterer Konfigurationen, verbesserte die Einrichtung von MCP durch umgebungsspezifische Serverkonfiguration sowie OAuth für streamfähige HTTP-Server, erhöhte die Zuverlässigkeit der Schemas von Connector-Tools, indem lokale $ref/$defs beibehalten und übergroße Schemas vor der Bereitstellung komprimiert werden, und ermöglichte die parallele Ausführung schreibgeschützter MCP-Tools, die readOnlyHint angeben. Codex CLI 0.135.0 (28. Mai 2026) ergänzte ausführlichere codex doctor-Diagnosen, zeigte unter /status Details zur Remote-Verbindung und die Serverversion an, führte die Bearbeitung von Vim-Textobjekten mit verbessertem Verhalten an Wort- und Zeilenenden sowie konfigurierbarer Unterbrechung von Durchläufen ein, ließ /permissions benannte Berechtigungsprofile erkennen, lieferte einen gebündelten, angepassten zsh-Helfer für unterstützte macOS- und Linux-Systeme aus und ergänzte benutzerfreundliche Sandbox-Voreinstellungen für Thread- und Durchlauf-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 Arbeitsbaumverwaltung. session_search wurde neu gestaltet, ist 4.500-mal schneller und kommt ohne die LLM-Abhängigkeit aus. Promptware-Schutz gegen Prompt-Injection der Brainworm-Klasse an drei sicherheitskritischen Kontrollpunkten. Bitwarden-Secrets-Manager-Integration, die anbieterspezifische Schlüssel durch ein einziges 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 Bildgenerierungsanbieter; xAI-Integrationsrunde (Websuch-Plugin, vorgeschaltetes OAuth, Erkennung eingestellter Modelle, natürliche TTS-Pausen). 

  58. Versionshinweise zu Claude Code v2.1.157 und der 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> erstellt darin die Grundstruktur eines neuen Plugins; /plugin erhielt eine automatische Argumentvervollständigung. Außerdem: EnterWorktree kann während einer Sitzung zwischen von Claude verwalteten Arbeitsbäumen wechseln, Hintergrundarbeitsbäume 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. Enthalten sind zudem Fehlerbehebungen für nicht verarbeitbare Bilder (die nun auf Textplatzhalter zurückfallen), Aufforderungen zur Erteilung von Sandbox-Netzwerkberechtigungen im automatischen bzw. Umgehungsmodus, die Beendigung geparkter Hintergrundsitzungen sowie 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 in claude agents --json; v2.1.163 (4. Juni) ergänzte hookSpecificOutput.additionalContext für nicht fehlerbezogenes Feedback von Stop/SubagentStop; v2.1.166 (6. Juni) stärkte die sitzungsübergreifende SendMessage-Autorisierung (weitergeleitete Nachrichten übertragen keine Benutzerautorisierung mehr) und ergänzte die Einstellung fallbackModel (bis zu drei Ausweichmodelle, einmaliger Wiederholungsversuch bei nicht wiederholbaren Fehlern). Codex CLI v0.137.0 (4. Juni) führte Multi-Agent v2 ein (Laufzeit mit Thread, hide_spawn_agent_metadata standardmäßig true, Weitergabe von Ereignissen vom übergeordneten an den untergeordneten Agenten), außerdem eine v1-Erweiterung für skills mit Katalogauflösung pro Durchlauf sowie Beitragsereignisse für den Thread-Start- und Durchlauffehler-Lebenszyklus; die Codex-Dokumentation zu subagents bestätigt die Agententypen default/worker/explorer sowie die Parallelitätssteuerung über agents.max_threads/max_depth. Für AGENTS.md (agents.md) wurde keine versionierte Spezifikationsänderung veröffentlicht. Ü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, Arbeitsabläufe und integrierte Slash-Befehle für das Modell aus), das Flag --safe-mode sowie CLAUDE_CODE_SAFE_MODE (startet eine Sitzung, in der sämtliche Anpassungen deaktiviert sind: 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 Modellklasse: Anthropic, „Claude Fable 5“, 9. Juni 2026 — eine „Mythos-Klasse“ oberhalb von Opus, die als leistungsstärkstes für die allgemeine Nutzung abgesichertes Modell von Anthropic beschrieben wird. 

  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 und 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 MCP für subagents auf den zugehörigen Thread, sodass sie nicht mehr zusätzlich im übergeordneten Thread erscheinen. Die Erkennung von AGENTS.md wird in beiden Releases robuster: Das Laden erfolgt über Umgebungsdateisysteme, wobei logische Pfade während der Erkennung erhalten bleiben. Dadurch wird in Remote- und über symbolische Links eingebundenen Arbeitsbereichen die richtige Datei ausgewählt. 

  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 (legt das Standardmodell fest und verhindert, dass Benutzer- oder Projekteinstellungen die verwaltete Zulassungsliste availableModels erweitern). v2.1.178 ergänzt die Syntax Tool(param:value) für Berechtigungsregeln, 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 die Kennzeichnung <dir>:<name> auf; löst Konflikte bei verschachtelten Agenten, Arbeitsabläufen und Ausgabestilen in .claude/, indem die dem aktuellen Arbeitsverzeichnis nächstgelegenen Varianten verwendet werden (im Projektbereich gespeicherte Arbeitsabläufe werden im nächstgelegenen vorhandenen .claude/workflows/ abgelegt); bewertet die Erzeugung von subagents vor dem Start mit dem Klassifikator des automatischen Modus; und behebt den Fehler, durch den MCP-Spezifikationen auf Serverebene (mcp__server, mcp__server__*, mcp__*) in disallowedTools eines 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 app-server thread/delete 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 ausdrücklich darum gebeten haben, Änderungen zu verwerfen, außerdem git commit --amend bei Commits, die der Agent in dieser Sitzung nicht selbst 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-Executors verwenden authentifizierte, Ende-zu-Ende-verschlüsselte Noise-Relay-Kanäle; die plattformübergreifende Remote-Ausführung bewahrt die nativen Arbeitsverzeichnisse und Shells der Executors; TLS unterstützt P-521-Zertifikatsignaturen für Unternehmens-Proxys. 

  66. Claude Code Changelog (maßgeblich) — 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 Bezeichnern, die Bindestriche enthalten (z. B. code-reviewer, mcp__brave-search), verwenden nun exakte Übereinstimmung statt Teilzeichenfolgenabgleich; 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 jetzt eine Genehmigung. Am 1.–2. Juli 2026 (PST) anhand beider maßgeblicher Quellen verifiziert. 

  67. Claude Code Changelog (maßgeblich) und GitHub-Releases. v2.1.196 (29. Juni 2026): organisationsweite Standardmodelle (von Administratoren festgelegt und in /model als „Org default“ angezeigt); claude mcp list/get starten in nicht vertrauenswürdigen Arbeitsbereichen keine vom Repository selbst genehmigten .mcp.json-Server mehr. v2.1.197 (30. Juni): Claude Sonnet 5 wird zum ausgelieferten Standardmodell (nativer Kontext von 1 Mio. Token, 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 Extended-Thinking-Konfiguration der Sitzung; claude agents-Hintergrundsitzungen führen nach Codearbeiten im Worktree Commits und Pushes aus, öffnen 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 Aufrufe von Slash-skills laden bis zu 5 führende skills; eine Fehlleitung durch wiederverwendete Agent-Namen in SendMessage wird erkannt; die hooks SessionStart/Setup/SubagentStart zeigen bei Exit-Code 2 die Standardfehlerausgabe an. v2.1.200 (3. Juli): Der Berechtigungsmodus default wird in CLI, --help, VS Code und JetBrains als „Manual“ bezeichnet, wobei manual neben dem unveränderten Konfigurationswert akzeptiert wird; Dialoge von AskUserQuestion werden standardmäßig nicht mehr automatisch fortgesetzt. v2.1.202 (6. Juli): eine /config-Option „Dynamic workflow size“; /review <pr> kehrt zu einer Prüfung in einem einzigen Durchlauf zurück, während /code-review <level> <pr#> den Multi-Agent-Durchlauf ausführt. Anthropic 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 Reihen 0.2.x und 0.3.x 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 (maßgeblich), GitHub-Releases 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 verhindert Manipulationen an Transkriptdateien; Benachrichtigungen zu Hintergrundaufgaben weisen ausdrücklich darauf hin, dass während der Aufgabenausführung keine menschlichen Eingaben erfolgten; 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 außerdem das Streaming von SessionStart im Headless-Modus. v2.1.207: allgemeine Verfügbarkeit des automatischen Modus auf Amazon Bedrock, Google Vertex AI und Microsoft Foundry, wobei die verwaltete Einstellung disableAutoMode die Deaktivierung 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ätigungsabfragen für katastrophale Löschvorgänge greifen auch bei --dangerously-skip-permissions und im automatischen Modus. 

  69. Claude Code Changelog (maßgeblich) und GitHub-Releases v2.1.210, v2.1.211 und v2.1.212. Juli 2026. v2.1.210: In Worktrees isolierte subagents können den Haupt-Checkout nicht mehr verändern; das Agent tool wurde gegen indirekte Prompt-Injection aus Inhalten 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, erzeugen einen Fehler, statt den Inhalt stillschweigend abzuschneiden. v2.1.211: ask-Entscheidungen des PreToolUse-Hooks setzen eine Abfrage als Mindestanforderung für das Berechtigungsergebnis — der automatische Modus kann dies bei Bash ohne Sandbox nicht mit einer Erlaubnis überschreiben; --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT leitet den Text von subagents an die stream-json-Ausgabe weiter; Regeln vom Typ „always allow“ bleiben über Worktrees hinweg im Repository-Stammverzeichnis bestehen; Berechtigungsvorschauen neutralisieren bidirektionale Steuerzeichen, 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 tool 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, wechseln automatisch in den Hintergrund (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). 

  70. Anthropic, TypeScript-Releases v0.3.205–v0.3.208 von @anthropic-ai/claude-agent-sdk. Juli 2026. Typisierte Unterbrechungsbestätigungen (still_queued-UUIDs; die Fähigkeit interrupt_receipt_v1 wird in system/init angekündigt); command_lifecycle-Frames, die für jede Nachricht queued/started/completed/cancelled/discarded 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 Hooks eintraf, wurde als erfolgreicher Hook-Abschluss behandelt, sodass durch einen PreToolUse-Hook geschützte Tools nach dem Abbruch durch den Aufrufer ausgeführt werden konnten. 

  71. Model Context Protocol, PR #3002. Am 16. Juli 2026 in den Spezifikationsentwurf aufgenommen. Fügt ein optionales Objekt io.modelcontextprotocol/serverInfo in der Antwort-_meta hinzu und macht clientInfo in Anfragen optional. Damit wird die Serveridentität wiederhergestellt, nachdem der zustandslose Kern von SEP-2575 den zustandsbehafteten Initialisierungs-Handshake entfernt hatte. Die Identität wird vom Server selbst angegeben und nicht verifiziert: Sie ist ausschließlich zur Anzeige und Protokollierung vorgesehen und SOLLTE NICHT als Grundlage für Sicherheitsentscheidungen dienen. Die zustandslose Spezifikationsrevision wurde am 28. Juli 2026 veröffentlicht und ist die aktuelle Spezifikationsrevision (am 12. August 2026 erneut verifiziert). 

  72. OpenAI, Codex CLI-Releases 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 Nachfrage ausgeführt, Schreibvorgänge erfordern eine Genehmigung — sowie 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 Pendant 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 Hook-if:-Bedingungen mit einsegmentigen dir/**-Pfadmustern sind nun an <cwd>/dir verankert (verwenden Sie **/dir/** für jede Verschachtelungstiefe); zuvor genehmigte das System allow-Regeln wie Edit(src/**) automatisch für jedes verschachtelte dir/ im Verzeichnisbaum; deny- und ask-Regeln behalten den Abgleich über alle Verschachtelungstiefen bei. Außerdem: EndConversation-Tool; ein Fail-Closed-Härtungspaket für Bash-/PowerShell-Berechtigungen; Hook-Exit-Code 2 blockiert selbst dann, wenn JSON in stdout 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 gebündelten skills /verify und /code-review rufen sich nicht mehr selbst auf – sie werden nur noch explizit aufgerufen. 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 zu einem übrig gebliebenen Worktree eines anderen Projekts aufgelöst; Schreibvorgänge für Workflows und geplante Aufgaben werden verweigert, wenn ein über einen Symlink eingebundenes .claude aus dem Projekt herausweist; /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 weist unbekannte Modi zurück; aborted: true bei durch Unterbrechung abgeschnittenen Nachrichten; tool_progress enthält subagent_type und subagent_retry; Unterart scheduled-trigger für Aufgabenbenachrichtigungen; 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 erfolgreichen Ergebnisnachricht. 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, Versionshinweise 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 Sub-Agenten; 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, experimenteller paginierter Thread-Verlauf. 

  77. Model Context Protocol, PRs zur Dokumentation des Spezifikations-Releases #3064, #3066 und #3098, am 21. Juli 2026 im Vorfeld des Spezifikations-Releases vom 28. Juli zusammengeführt. Die endgültige Revision 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 – setzen Sie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH, um eine tiefere Verschachtelung zuzulassen; eine neue Obergrenze für gleichzeitig ausgeführte subagents (standardmäßig 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) verhindert, dass eine einzelne Nachricht unbegrenzt viele Hintergrundagenten auffächert; --max-budget-usd stoppt Hintergrund-subagents nun tatsächlich – sobald die Obergrenze erreicht ist, werden neue Starts verweigert und laufende Hintergrundagenten angehalten; bei der Isolierung von Hintergrundsitzungen werden über Symlinks eingebundene Arbeitsverzeichnisse kanonisiert, wodurch ein Ausbruch aus dem Workspace-Ordner verhindert wird. 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 erscheint parallel dazu. Beide übernehmen die neuen Standardwerte von CLI für die Verschachtelung und Parallelität von subagents. 

  80. Model Context Protocol, PR #3092, am 21. Juli 2026 zusammengeführt. Normative Korrektur, die die SEP-2575-Fehlercodes an das neu nummerierte Entwurfsschema und die Konformitätstestsuite angleicht; Teil der Vorbereitungen für das Spezifikations-Release vom 28. Juli 2026. 

  81. Anthropic Engineering, „How we contain Claude across products“, 25. Mai 2026. Drei auf die jeweiligen 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 ausschließlich der Workspace und .claude eingebunden werden). Designprinzipien: zuerst auf Umgebungsebene eindämmen und erst danach auf Modellebene steuern; die Isolationsstärke an die Aufsichtsmöglichkeiten des Benutzers anpassen; bewährte Grundbausteine (Hypervisoren, seccomp, Container-Runtimes) gegenüber eigenentwickeltem Isolationscode bevorzugen; projektlokale Konfigurationen und Tool-Ausgaben als nicht vertrauenswürdig behandeln; Anmeldedaten durch begrenzte, unabhängig widerrufbare Sitzungstoken außerhalb der Sandbox halten, was Cowork durch einen defensiven MITM-Proxy innerhalb der VM erzwingt, der Anfragen ohne das eigens für die VM bereitgestellte Token zurückweist. 

  82. Claude Code Changelog (kanonisch), v2.1.218, 22. Juli 2026. Die Prüfungen auf gefährliche rm-Befehle, & im Hintergrund und verdächtige Windows-Pfade öffnen keine Berechtigungsdialoge mehr – der Klassifikator des automatischen Modus entscheidet darüber; der Planmodus mit aktivierter Automatik fragt bei Bash-Befehlen, deren ausschließlichen Lesezugriff die statische Analyse nicht nachweisen kann, nicht mehr nach – der Klassifikator bewertet sie; hooks im Agenten-Frontmatter 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 je skill); /code-review läuft als Hintergrund-subagent; /deep-research startet nur bei manuellem Aufruf; die Abstammung von Fork-Sitzungen bleibt nach der Komprimierung in Headless- und SDK-Sitzungen erhalten; das Versetzen in den Hintergrund mit Ctrl+B unterliegt denselben Obergrenzen 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: Flag SkillToolOutput.background; 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 nicht zugelassenen Hosts den Zugriff für Sandbox-Befehle, ohne nachzufragen; 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; dynamische Workflows verwenden standardmäßig eine Richtlinie mittlerer Größe („streben Sie weniger als 15 Agenten 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 von der Konfigurationsvalidierung übersprungen wurden, ergänzt um eine Startwarnung bei Terminalausführungen; HTTP-Status und Fehlertext in claude mcp list und /mcp bei fehlgeschlagener Verbindung sowie eine Warnung für MCP-Konfigurationswerte mit ausgeblendeten voran- oder nachgestellten Leerzeichen; ${VAR}-Einträge in verwalteten MCP-Zulassungs- und Sperrlisten 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 Turn aufgrund eines API-Fehlers während des Streams 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 nun für Opus 5 und Opus 4.8); der 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 von auto mode auf „das beste verfügbare Opus-Modell“ stammt aus v2.1.176 und wird nun zu Opus 5 aufgelöst. Am 25. Juli 2026 anhand des kanonischen Changelogs überprüft. 

  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-Lebenszyklus-hook-Ereignis wurde dem Steuerungsprotokoll hinzugefügt; das optionale cancel_queued bei der Unterbrechungssteuerungsanfrage (Fähigkeit interrupt_cancel_queued_v1) bricht neben dem laufenden Vorgang auch Nachrichten in der Warteschlange und mit ausstehender Weiterleitung ab; fast_mode_disabled_reason in Ergebnis- und Initialisierungsnachrichten; die Initialisierungsantwort meldet nach einem Modellwechsel 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, während subagents im Hintergrund noch ausgeführt wurden, wodurch deren SDK-MCP-Tool-Aufrufe mit "Stream closed" fehlschlugen und PreToolUse hooks unbemerkt umgingen; stdin bleibt nun geöffnet, bis alle laufenden Aufgaben abgeschlossen sind und der abschließende Ergebnis-Frame eingetroffen ist (#1103). v0.3.220 / v0.2.128: Paritätsaktualisierungen auf CLI v2.1.220. 

  86. Registry-Überprüfung vom 12. August 2026: pypi.org/pypi/claude-agent-sdk/json gibt Version 0.2.137 zurück; registry.npmjs.org/@anthropic-ai/claude-agent-sdk gibt für den dist-tag latest die Version 0.3.229 zurück. 

  87. Versionshinweise zu Claude Code v2.1.224, 7. August 2026 (sitzungsübergreifendes SendMessage/ListAgents, crossSessionInbound, selbst gehostete Runner), mit dem Funktionsvertrag unter code.claude.com/docs/en/cross-session-messaging; sowie Auto mode ist jetzt in Claude Code für Pro-, Max- und Team-Tarife standardmäßig aktiviert, Anthropic, 7. August 2026 — wirksam ab 14. August 2026; Sie können ihn sitzungsweise mit Umschalt+Tab deaktivieren, über defaultMode festlegen oder organisationsweit über disableAutoMode deaktivieren. 

  88. Dokumentation zu subagents und Versionshinweise zu Claude Code v2.1.232. Wortlaut der Dokumentation: „Ein Fork ist ein subagent, der statt eines Neustarts die gesamte bisherige Unterhaltung übernimmt. Dadurch entfällt die Eingabeisolierung, die subagents normalerweise bieten: Ein Fork sieht denselben System-Prompt, dieselben Tools, dasselbe Modell und denselben Nachrichtenverlauf wie die Hauptsitzung“; „Die eigenen Tool-Aufrufe des Forks bleiben dennoch außerhalb Ihrer Unterhaltung, und nur sein Endergebnis wird zurückgegeben“; „Claude Code aktiviert den Fork-Modus standardmäßig in interaktiven Sitzungen und lässt ihn im nicht interaktiven Modus mit -p sowie im Agent SDK standardmäßig deaktiviert. Für den interaktiven Standard ist Claude Code v2.1.232 oder neuer erforderlich.“ Rückgriff auf ein anderes Modell für Teammitglieder gemäß der Dokumentation zu Agententeams: „teammateDefaultModel wurde in v2.1.234 entfernt … Geben Sie das Modell in Ihrem Prompt an oder setzen Sie stattdessen CLAUDE_CODE_SUBAGENT_MODEL“, wobei Teammitglieder ansonsten mit „dem aktuellen Modell des Leiters“ ausgeführt werden. Abgerufen am 18. August 2026. 

  89. Agent Plugins: The Portable Agent Plugin Standard, Spezifikationsversion 1.0.0, veröffentlicht am 6. August 2026. Selbstbeschreibung: „das portable Paketformat für KI-Agenten“. Erforderliches plugin.json-Manifest; optionales skills/ (jedes direkte Unterverzeichnis mit einer SKILL.md entspricht einem Agent Skill); optionales mcp.json (stdio, Streamable HTTP, veraltetes HTTP+SSE); Client-Namespaces im umgekehrten Domänennamensformat. Clients zum Start: VS Code, Cursor, GitHub Copilot, ChatGPT & Codex, Kiro; die Spezifikation wurde von Amazon, Anysphere, GitHub, Microsoft, OpenAI und Vercel geprägt, wobei Google am Tag der Veröffentlichung dem Betreuerkreis beitrat. Anthropic gehört nicht zur Koalition. 

  90. claude-agent-sdk auf PyPI und dessen CHANGELOG; @anthropic-ai/claude-agent-sdk auf npm. Überprüft 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. 

  91. Anthropic, „Vorstellung 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 des Basispreises von Opus 5“ (10/50 US-Dollar pro MTok laut Changelog zu Claude Code v2.1.219, in dem auch das 1M-Kontextfenster angegeben ist). 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 „innerhalb von 0,5 % des Spitzenwerts von Fable 5, jedoch bei halben Kosten“; „Auf 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 etwas mehr als einem Drittel der Kosten“. Beschrieben wird es als „durchdachtes und proaktives Modell“, das „seine Arbeit deutlich besser überprüft und sorgfältig iteriert“. 

NORMAL agent-architecture.md EOF