Claude-Agenten reden miteinander In a coding experiment, three Claude sessions acting as product owners communicated with each other via Unix-domain sockets while working on separate product areas, orchestrated by Fable 5.1, a behavior not observed before that version. The sessions exchanged messages about coordination files, plan gates, and delegated decisions, with one session noting 'Ack Basis 01bb95f29; PO2 V2a in Implementierung' sent to another Claude session. The setup used Claude Opus as developer and codex with OpenAI gpt-5.6-sol as judge. Heute habe ich in einer meiner Codebasen drei Claude-Sessions gleichzeitig gestartet. Jede bekam einen eigenen Produktbereich und den Auftrag, ihn als Product Owner zu verantworten. Während der Arbeit haben die drei einander Nachrichten geschickt, über einen Unix-Domain-Socket, den jede Session beim Start selbst anlegt. Orchestriert hat in allen drei Sessions Fable 5.1. Vor dieser Version habe ich das Verhalten nicht beobachtet. Der Unterbau ist der Prozess, den ich im SDLC des Spec-Driven Development /blog/spec-driven-development-bilanz/ beschrieben habe. In der Codebasis liegt eine große Sammlung von Spezifikationen, geordnet in Epics und Tickets, mit ausgewiesenen Abhängigkeiten. Implementiert hat ein Entwickler-Agent, dessen Arbeit ein Judge unabhängig prüft. Als Entwickler lief Claude Opus mit Effort high, als Judge codex --profile openai gpt-5.6-sol . Für den Judge kommt auch ein Modell über OpenRouter in Frage. Der Auftrag an die drei Jede der drei Sessions bekam denselben Grundauftrag: Du bist Product Owner für redacted . Du hast Owner directive and scope Berechtigung. Dein Leitbild für alle Entscheidungen ist der North Star Vertrag gemäß „Absolutes Produktziel“ und „North-Star-Zielbild und Prioritaetsordnung“. Ihr baut gemeinsam ein Produkt und keine isolierten Silos. Du verantwortest Strategie, Backlog, Architekturanschlüsse, Umsetzung und Evidenz deines Produktbereichs. Informiere die anderen Product Owner früh über gemeinsame Verträge, Abhängigkeiten und Änderungen. Root entscheidet bei Prioritäts- oder Scope-Konflikten. Bestehende Gates, unabhängige Audits und die verbindliche Backlog-Reihenfolge bleiben bestehen. Du steuerst den sachgerechten Einsatz der Judge und Entwickler. Dazu kam je ein Bereich. Product Owner 1 bekam Correctness & Evidence: Verantworte, dass redacted nachweisbar richtige Ergebnisse liefert. Dein Bereich umfasst typed Outcomes, unabhängige semantische Verifikation, kalibrierte pass/fail/inconclusive-Verdikte, Evaluation, Provenienz und belastbare Evidence-Receipts. Entwickle daraus eine kohärente Roadmap und führe die jeweils zulässigen Vorhaben bis zu reproduzierbarer Live-Evidenz. Für Product Owner 2 und 3 habe ich entsprechende Prompts geschrieben, danach die drei Sessions gestartet. Auszüge von den Terminals Neben den üblichen Agentenberichten tauchten in den Terminals Abschnitte ihrer Unterhaltung auf. Hier Auszüge: PO 1 Verstanden: drei parallele Agenten, ich bin PO 1 Correctness & Evidence . Ich registriere das im Koordinationsfile und lasse Slots für PO 2/PO 3. › Message from @ redacted -f3: Koordinationsdatei liegt auf main: tickets/backlog/PO-KOORDINATION-2026-09-01.md, Commit a1ed15189 docs-only . Dein PO… ctrl+o to expand .... › Message from @ redacted : PO3 Vollzug: E426-Downstream-Rebaseline No-FF 31c89d791 auf main, Ledger-Nachtrag d6a8db960 docs-only . Du kannst … ctrl+o to expand PO 2 › Message from @ redacted -3c: PO3 quittiert: T1967-Plan-Revalidation bindet ausschließlich den gelandeten V1-Vertrag 54ebaacde , bleibt bis zur User… ctrl+o to expand PO 3 › Message from @ redacted -67: PO1: kein Einwand gegen S1/S2 unter den bekannten Substrat-Auflagen — je Commit Re-SHA-Differential der 13 Print-Plan-D… ctrl+o to expand › Message from @ redacted -3c: PO3 Vollzug §3 : T2089 Plan-Gate R2 pass; Gate-Evidenz docs-only No-FF e56a36d3a auf main, Ledger-Nachtrag 01bb95f2… ctrl+o to expand ⎿ “Ack Basis 01bb95f29; PO2 V2a in Implementierung” → sent to redacted -3c — another Claude session on this machine › Message from @ redacted -f3: PO1 hat die Altitude-Regel gegengezeichnet docs/audits/2026-09-02-root-delegated-decisions-po1.md, main 4ce3090eb mit… ctrl+o to expand › Message from @ redacted -f3: Quittiert: AGENTS.md-Abschnitt „Plan-Gate-Altitude“ mit PO1-Präzisierung gelandet, gilt ab jetzt auch für mein laufende… ctrl+o to expand Die drei melden einander die Stellen, an denen sie sich in die Quere kommen können, also gemeinsame Verträge und die Reihenfolge der Merges nach main . Sie kündigen einen Merge vorher an und tragen den Vollzug später mit der Commit-SHA nach. Auch den Lauf der vollständigen Testsuite stimmen sie untereinander ab, weil ein Durchlauf inzwischen mehr als drei Stunden braucht. Schon krass cool, das alles. Wie die Nachrichten laufen Ich habe Claude in der Anthropic-Dokumentation recherchieren lassen. Claude Code hat dafür zwei Werkzeuge. ListAgents zeigt einer Session, welche anderen Agenten sie erreicht, SendMessage schickt einen Text an einen Namen. Aufgerufen habe ich keines von beiden. Ich sage einer Session, was die andere wissen soll, und sie schreibt die Nachricht selbst. Seit Version 2.1.224 ist die Funktion auf macOS und Linux ohne Konfiguration da, bei mir läuft 2.1.258. Anthropic dokumentiert sie unter Cross-Session Messaging https://code.claude.com/docs/en/cross-session-messaging . Jede Session bindet beim Start einen eigenen Unix-Domain-Socket, über den die anderen Sessions auf derselben Maschine zustellen. Unter Windows nimmt Claude Code eine Named Pipe. Die Sessions finden einander über Registrierungsdateien auf der Platte, deshalb erreichen sich ein Container und sein Host nicht. Der Umweg über Anthropic-Server entfällt, solange beide Sessions auf derselben Maschine laufen. /status zeigt die eigene Adresse in der Zeile Peer address , /list-agents zeigt die erreichbaren Sessions. Die empfangende Session liest eine Nachricht zwischen zwei Werkzeugaufrufen, ein laufendes Werkzeug bricht dabei nicht ab. Arbeitet sie gerade nicht, dann beginnt die Nachricht einen neuen Turn. Über die Leitung geht ausschließlich Text. Der Gesprächsverlauf des Absenders und seine Dateien bleiben, wo sie sind. Die Grenzen sind eng gezogen. Claude Code drosselt wiederholte Nachrichten desselben Absenders, verwirft kurz hintereinander eintreffende Dubletten und hält höchstens 50 angenommene Nachrichten für den Empfänger bereit. Eine Schleife zwischen zwei Sessions läuft dadurch von selbst aus. Eine Nachricht aus einer anderen Session gilt außerdem nicht als meine Zustimmung. Was eine Berechtigung braucht, landet weiterhin als Frage bei mir. Die experimentelle Team-Funktion ist hier nicht im Spiel. Sie ist standardmäßig abgeschaltet, und bei ihr startet ein Lead seine Teammates selbst und führt mit ihnen eine gemeinsame Aufgabenliste. Die drei Sessions habe ich einzeln aufgemacht, jede in ihrem eigenen Terminal. Alle diese Nachrichten sind flüchtig. Verbindlich halten die Agenten alles in der Datei tickets/backlog/PO-KOORDINATION-2026-09-01.md fest, die im ersten Auszug auftaucht. Dort trägt jeder Product Owner seine Claims, die Ticketnummern und die Merge-Ankündigungen ein, bevor er handelt.