SpyBara
Go Premium

cross-session-messaging.md 2026-09-28 22:59 UTC to 2026-09-29 11:57 UTC

This page contains 16 additions and 53 deletions.

2026
Sat 12 03:02 Fri 18 23:58 Mon 28 22:59 Tue 29 11:57

Nachrichten an Ihre anderen Claude Code-Sitzungen

Lassen Sie Claude Ihre anderen Claude Code-Sitzungen auf diesem Computer auflisten und anschreiben, und erreichen Sie Ihre Sitzungen auf anderen Computern oder im Web.

Sitzungsübergreifendes Messaging ermöglicht es Claude, eine Nachricht von einer Ihrer Claude Code-Sitzungen an eine andere zu übermitteln. Wenn eine Änderung in einer Sitzung das bricht, woran eine andere arbeitet, kann Claude diese Sitzung warnen, bevor Sie es bemerken. Wenn eine Sitzung eine Frage beantwortet, bei der eine andere blockiert ist, kann Claude die Antwort übermitteln.

Eine Nachricht ist ein Textabschnitt, den ein Claude an einen anderen schreibt, niemals die Gesprächsverlauf oder Dateien des Absenders. Um ein ganzes Gespräch oder seinen Kontext zu verschieben, setzen Sie die Sitzung statt dessen fort.

Wann Cross-Session-Messaging verwendet werden sollte

Verwenden Sie Messaging, wenn eine Ihrer Sitzungen etwas hat, das eine andere Sitzung während einer Aufgabe benötigt. Claude kann eine Nachricht von selbst senden, wenn es den Bedarf sieht, zum Beispiel nach einer Änderung, die sich auf die Arbeit einer anderen Sitzung auswirkt, oder Sie können es auffordern, eine zu senden. Die häufigen Fälle:

  • Ein Ergebnis übergeben: Wenn eine Sitzung eine Breaking Change entdeckt oder eine Entscheidung trifft, fasst Claude sie für die Sitzung zusammen, die an dem betroffenen Bereich arbeitet, anstatt dass Sie sie dort erneut erklären.
  • Parallele Worktrees koordinieren: Wenn Sitzungen dasselbe Repository in separaten Worktrees bearbeiten, kann Claude die anderen Sitzungen darüber informieren, was eingecheckt wurde.
  • Status von langfristiger Arbeit abrufen: Lassen Sie eine Migration oder einen Test-Lauf an die Sitzung berichten, die Sie beobachten, oder fragen Sie selbst danach. Wenn diese Sitzung auf diesem Computer ist, kann Claude auch sie fragen, um eine Benachrichtigung zu erhalten, wenn sie das nächste Mal untätig wird oder beendet wird.
  • Nachrichten über Computer hinweg: Erreichen Sie eine Ihrer Sitzungen auf einem anderen Computer oder im Web.

Eine andere Sitzung benachrichtigen

Wenn eine Ihrer Sitzungen etwas lernt, das eine andere Sitzung benötigt, wie eine Erkenntnis, einen Status oder eine Entscheidung, leitet Claude es weiter, anstatt dass Sie zwischen Terminals kopieren und einfügen. Claude findet das Ziel mit ListAgents und sendet mit SendMessage, sodass Sie diese Tools nie selbst aufrufen. Claude kann entscheiden, eine Nachricht zu senden, ohne gefragt zu werden, und Sie können auch eine anfordern.

Um selbst eine anzufordern, teilen Sie Claude mit, was die andere Sitzung wissen oder tun soll. Dieses Beispiel ist eine Eingabeaufforderung, die Sie eingeben, nicht eine Nachricht, die Claude sendet:

Fragen Sie die Sitzung, die in meinem anderen Terminal läuft, ob die Migration abgeschlossen ist

Claude schreibt die eigentliche Nachricht selbst, sodass Ihre Eingabeaufforderung den Inhalt Claude überlassen kann. Diese Eingabeaufforderung fordert eine Zusammenfassung an, ohne ihre Formulierung vorzuschreiben, und was Claude sendet, variiert:

Erklären Sie der Sitzung, die an der Payments-API arbeitet, was wir gerade getan haben

Um das Ziel selbst zu benennen, erwähnen Sie die Sitzung in Ihrer Eingabeaufforderung: Geben Sie @ gefolgt von den ersten Buchstaben des Sitzungsnamens ein und wählen Sie die Sitzung aus der Typeahead-Liste aus, genauso wie Sie einen Subagenten @-erwähnen. Erfordert Claude Code v2.1.232 oder später. Claude Code fügt die Erwähnung ein, z. B. @api-worker, und teilt Claude mit, welche Sitzung sie benennt, sodass Claude diese Sitzung benachrichtigen kann, ohne Ihre Sitzungen zuerst aufzulisten. Diese Eingabeaufforderung benennt das Ziel mit einer Erwähnung:

Lassen Sie @api-worker wissen, dass die Schemamigration abgeschlossen ist

Die Typeahead-Liste zeigt Ihre anderen aktiven Sitzungen auf diesem Computer. Zwei Fälle erfordern mehr als die ersten Buchstaben eines Namens:

  • Eine Sitzung außerhalb dieses Computers: Eine Cloud- oder Remote-Control-Sitzung wird in der Typeahead-Liste nur angezeigt, nachdem Claude Ihre Sitzungen außerhalb dieses Computers aufgelistet oder benachrichtigt hat. Bitten Sie Claude daher, diese zuerst aufzulisten.
  • Ein Name mit einem Leerzeichen oder anderen Zeichen außerhalb von Buchstaben, Ziffern, Bindestrichen und Unterstrichen: Geben Sie ihn in doppelten Anführungszeichen ein, z. B. @"release notes". Wenn Sie die Sitzung aus der Typeahead-Liste auswählen, fügt Claude Code die Anführungszeichen für Sie ein.

Sie können die Erwähnung auch ohne die Auswahl eingeben. Wenn mehr als eine aktive Sitzung auf den erwähnten Namen antwortet, fragt Claude Sie, welche Sie meinen, bevor die Nachricht gesendet wird.

Informationen darüber, wie die Nachricht aussieht, die Claude schreibt, wenn sie ankommt, einschließlich eines Beispiels, finden Sie unter wie eine Nachricht aussieht.

Nachrichtenübermittlung

Die empfangende Claude liest die Nachricht zwischen Werkzeugaufrufen während eines aktiven Zugs, sodass ein laufendes Werkzeug nie unterbrochen wird. Wenn die empfangende Sitzung untätig ist, startet Claude Code einen neuen Zug mit der Nachricht.

Eine Nachricht von einer anderen Sitzung kommt als Klartext an. Wenn sie eine Datei oder eine MCP-Ressource mit @ erwähnt, sieht Claude die Erwähnung wie geschrieben und Claude Code fügt nichts an, unabhängig davon, ob die Nachricht einen neuen Zug startet oder während eines ankommt. Claude kann einen erwähnten Pfad auf der empfangenden Maschine immer noch mit seinen eigenen Werkzeugen öffnen, vorbehaltlich der Berechtigungen dieser Sitzung.

Claude Code lehnt eine Nachricht in den folgenden Fällen ab:

  • Die Nachricht überschreitet die Größenbeschränkung. Claude Code lehnt sie in der sendenden Sitzung ab, bevor sie versendet wird.
  • Ein schneller Nachrichtenstoß zu einer Sitzung auf diesem Computer hat erreicht, was diese Sitzung akzeptiert. Claude Code lehnt weitere Nachrichten an diese Sitzung ab.
  • Das Antwortziel auf diesem Computer besteht einen Sicherheitscheck nicht, z. B. ein symbolisch verknüpftes Ziel oder ein Endpunkt, der nicht der erwartete Prozess ist. Ablehnung zum Senden einer sitzungsübergreifenden Nachricht listet diese Checks auf.

Die empfangende Sitzung überprüft jede ankommende Nachricht gegen ihre eigenen Eingangskontrollen, und die Überprüfung endet in einem von drei Ergebnissen:

  • Zugestellt: Claude Code übergibt die Nachricht an die empfangende Claude.
  • Gehalten: Claude Code legt die Nachricht unzugestellt beiseite. Eine gehaltene Nachricht erreicht Claude nur, wenn Sie sie genehmigen oder eine spätere Änderung des Modus oder der Einstellungen dies zulässt.
  • Abgelehnt: Claude Code verwirft die Nachricht, ohne sie zuzustellen.

Nach der Zustellung zählt die Nachricht zur Nutzung wie eine Eingabeaufforderung, die Sie eingeben, und die empfangende Claude kann auf die gleiche Weise antworten, außer im einseitigen sitzungsübergreifenden Fall.

Berechtigungsgrenzen bleiben pro Sitzung. Claude wird angewiesen, eine andere Sitzung nie um eine Aktion zu bitten, die in ihrer eigenen Sitzung verweigert oder blockiert wurde, oder die ihre eigenen Berechtigungseinstellungen blockieren würden, und diese Arbeit stattdessen an Sie zurückzuleiten. Auf der Empfängerseite gelten die Berechtigungsaufforderungen und Regeln der empfangenden Sitzung selbst immer noch für alles, das die Nachricht anfordert.

Erhalten Sie eine Benachrichtigung, wenn eine andere Sitzung untätig wird

Claude kann eine Ihrer Sitzungen auf diesem Computer bitten, eine Benachrichtigung zu senden, wenn diese Sitzung das nächste Mal untätig wird oder beendet wird. Untätig bedeutet hier, dass die Sitzung einen Zug mit nichts in der Warteschlange beendet hat. Verwenden Sie dies, wenn Sie auf eine lange Aufgabe in einer anderen Sitzung warten und hören möchten, wenn sie erledigt ist, anstatt zu überprüfen. Erfordert Claude Code v2.1.236 oder später in beiden Sitzungen.

Fordern Sie eine Benachrichtigung an

Teilen Sie Claude mit, worauf Sie warten. Diese Eingabeaufforderung fordert eine Benachrichtigung von der Migrationssitzung an:

Sagen Sie mir, wenn die Migrationssitzung mit ihrer Arbeit fertig ist

Claude abonniert mit dem SendMessage-Werkzeug-Input notify_when_idle, entweder an eine Nachricht angehängt, die es ohnehin sendet, oder allein. Allein abonniert Claude Code, ohne einen Zug in der beobachteten Sitzung zu starten oder Token auszugeben, und sendet die Benachrichtigung sofort, wenn diese Sitzung bereits untätig ist. An eine Nachricht angehängt, liefert Claude Code die Nachricht zuerst und sendet die Benachrichtigung später.

Was jede Sitzung anzeigt

Die beobachtete Sitzung zeigt eine Zeile an, die besagt, dass ein anderer Prozess gebeten hat, benachrichtigt zu werden, wenn die Sitzung das nächste Mal untätig wird. Die anfragende Sitzung zeigt die Benachrichtigung als eine Zeile an, die die beobachtete Sitzung benennt. Die Zeile kann die Zeit enthalten, zu der der Zug dieser Sitzung beendet wurde, und einen einzeiligen Status aus diesem Zug. Wenn die anfragende Sitzung untätig ist, startet Claude Code einen neuen Zug mit der Benachrichtigung.

Limits

Wenn innerhalb von 12 Stunden keine Benachrichtigung ankommt, verwirft Claude Code das Abonnement und teilt Claude dies mit, sodass es nicht weiter wartet.

Die Eingangskontrollen jeder Seite gelten für eine Benachrichtigung wie eine Nachricht:

  • refuse auf einer Seite: nichts kommt an. Die beobachtete Sitzung verwirft die Anfrage, ohne sie aufzuzeichnen oder zu beantworten, sodass das Abonnement nach 12 Stunden unantwortlich abläuft, und eine anfragende Sitzung mit refuse abonniert nie.
  • hold auf einer Seite: die Benachrichtigung kommt mit weniger an. Die beobachtete Sitzung lässt den einzeiligen Status weg, und die anfragende Sitzung zeigt die Benachrichtigung in Ihrem Transkript an, ohne sie an Claude zu liefern.

Nur die Claude in Ihrer Hauptkonversation kann abonnieren, und nur zu Ihren Sitzungen auf diesem Computer. Wenn Claude eine Benachrichtigung von einem anderen Ziel anfordert, z. B. einem Kollegen, einem Subagenten oder einer Sitzung außerhalb dieses Computers, lehnt Claude Code den gesamten Aufruf ab, einschließlich jeder daran angehängten Nachricht.

Sehen Sie, welche Sitzungen Claude erreichen kann

Claude findet das Ziel einer Nachricht selbst, sodass Sie nichts ausführen müssen, bevor Sie es auffordern zu senden. Um selbst zu sehen, welche Sitzungen Claude erreichen kann, führen Sie den Befehl /list-agents aus. Die erste Zeile ist, wenn vorhanden, der Name dieser Sitzung selbst, den Ihre anderen Sitzungen verwenden, um sie zu benachrichtigen. Die Zeilen darunter sind die Sitzungen, die Claude erreichen kann:

  • Subagenten: Agenten, die in der aktuellen Sitzung ausgeführt werden.
  • Kollegen: die Agent-Team-Kollegen dieser Sitzung.
  • Ihre anderen lokalen Sitzungen: Claude-Code-Sitzungen, die auf demselben Computer ausgeführt werden, einschließlich Hintergrundsitzungen. Eine Sitzung wird nur angezeigt, wenn sie einen Inbox-Socket bindet.
  • Ihre Cloud-Sitzungen: angezeigt, während diese Sitzung mit Remote Control verbunden ist.
  • Ihre Remote-Control-Sitzungen auf anderen Computern: angezeigt, während diese Sitzung mit Remote Control verbunden ist, und gekennzeichnet als Remote Control. Claude Code zeigt offline als Status einer Sitzung an, deren Remote-Control-Verbindung unterbrochen wurde.

Während diese Sitzung mit Remote Control verbunden ist, behält Claude Code einige Details Ihrer lokalen Sitzungen aus der /list-agents-Ausgabe zurück, ohne zu ändern, was Claude selbst sieht, wenn es nach einer Sitzung zum Benachrichtigen sucht:

  • Arbeitsverzeichnisse: Es lässt das Arbeitsverzeichnis jeder lokalen Sitzung weg.
  • Sitzungsnamen: Es lässt jeden Sitzungsnamen weg, den es nicht einer Person zuordnen kann, sodass eine Zeile ohne Namen (unnamed session) lautet.
  • Die erste Zeile: Es lässt die Zeile mit dem Namen dieser Sitzung weg, es sei denn, Sie haben diesen Namen an diesem Terminal eingegeben, mit --name oder mit /rename und dem Namen, seit Sie die Sitzung gestartet oder zuletzt fortgesetzt haben.

Wenn die Ausgabe etwas auflistet, endet sie mit einer Notiz, die besagt, dass Details zurückgehalten wurden. Das Ausführen von /rename gefolgt von einem ungenutzten Namen an der eigenen Tastatur einer Sitzung gibt dieser Sitzung einen Namen, der in der Ausgabe angezeigt wird.

Eine Sitzung antwortet auf den Namen, den Sie mit dem Befehl /rename oder dem Flag --name setzen. Wenn Sie keinen setzen, benennt Claude Code die Sitzung selbst. Für eine interaktive Sitzung ist dies der Name, der in Auflistungen laufender Sitzungen angezeigt wird.

Wenn Sie eine Sitzung umbenennen oder eine interaktive mit einem Namen starten oder fortsetzen, den eine andere aktive Sitzung auf diesem Computer bereits verwendet, behält Claude Code den Namen bei der Sitzung, die ihn bereits hat, und benennt Ihren in eine Variante um. Sitzungen können immer noch einen Namen teilen, z. B. wenn eine von ihnen eine frühere Version von Claude Code ausführt oder der gemeinsame Name einer ist, die Claude Code generiert hat. Es sei denn, diese Sitzung ist mit Remote Control verbunden. Claude Code zeigt das Arbeitsverzeichnis jeder lokalen Sitzung in der /list-agents-Ausgabe an, sodass Sie gleichnamige Sitzungen unterscheiden können, wenn sie in verschiedenen Verzeichnissen ausgeführt werden. Claude adressiert die Nachricht auf eine von zwei Arten, je nachdem, wie viele aktive Sitzungen auf den Namen antworten:

  • Eine Sitzung antwortet auf den Namen: Claude Code liefert die Nachricht nur auf dem Namen.
  • Mehrere Sitzungen teilen den Namen, oder Claude Code konnte nicht überall überprüfen, wo Ihre Sitzungen ausgeführt werden: Claude fügt jeder Zeile seiner Auflistung einen kurzen Bezeichner hinzu und verwendet den Bezeichner in der Adresse.

Benachrichtigung von Sitzungen auf anderen Computern

Wie eine Nachricht reist und ob sie Anthropic-Server durchläuft, hängt davon ab, wo die Zielsitzung ausgeführt wird:

Wo die andere Sitzung ausgeführt wird Wie die Nachricht reist
Auf diesem Computer Über einen Pro-Sitzungs-Socket auf macOS und Linux oder ein Pro-Sitzungs-Named-Pipe auf nativem Windows, nie durch Anthropic-Server
Auf einem anderen Ihrer Computer Durch Anthropic-Server, ankommend über die Remote Control-Verbindung dieses Computers
Auf Claude Code im Web Durch Anthropic-Server, direkt zur Cloud-Sitzung

Das Starten einer Konversation mit einer Sitzung auf einem anderen Ihrer Computer erfordert Claude Code v2.1.225 oder später und ein Ziel, das in der Auflistung angezeigt wird.

Sie können eine Sitzung benachrichtigen, die als offline in der Auflistung angezeigt wird, eine, deren Remote-Control-Verbindung unterbrochen wurde. Der Versand geht durch, aber die Nachricht kommt nur an, nachdem die Maschine dieser Sitzung sich erneut verbunden hat.

Eine Sitzung in einem Container und eine Sitzung auf dem Host können sich nicht erreichen. Zwei Sitzungen im gleichen Container können sich immer noch gegenseitig benachrichtigen, einschließlich auf einem selbstgehosteten Runner. Eine Sitzung in WSL 2 und eine native Windows-Sitzung auf demselben Computer können sich auch nicht erreichen.

Wenn diese Sitzung nicht mit Remote Control verbunden ist, wenn Claude an eine Sitzung außerhalb dieses Computers sendet, geht die Nachricht immer noch durch, aber ohne eine Antwortwort, sodass die empfangende Claude nicht antworten kann.

Um Ihre Genehmigung zu verlangen, bevor eine Nachricht außerhalb dieses Computers geht, setzen Sie isolatePeerMachines.

Wie eine Sitzung eine ankommende Nachricht behandelt

Wenn Sitzung A Sitzung B benachrichtigt, teilt Claude Code B's Claude mit, dass die Nachricht von einer anderen Sitzung kam, nicht von Ihnen, und begrenzt, was die Nachricht tun kann:

  • Es kann nichts genehmigen: Eine Nachricht von einer anderen Sitzung zählt niemals als Ihre Zustimmung, sodass sie nicht auf eine ausstehende Berechtigungsaufforderung in Ihrem Namen antworten kann.
  • Es kann die Konfiguration nicht ändern: Claude Code weist den empfangenden Claude an, niemals Berechtigungseinstellungen, CLAUDE.md oder andere Konfiguration zu ändern, weil eine andere Sitzung es fragte.
  • Befehle werden nicht ausgeführt: Ein Befehl im Text der Nachricht, wie /compact, kommt als Klartext an. Claude Code führt ihn niemals aus.
  • Berechtigungsaufforderungen werden immer noch ausgelöst: Wenn das Handeln auf die Nachricht eine Berechtigung erfordert, die die empfangende Sitzung nicht hat, sehen Sie die gleiche Aufforderung, die Sie für jede andere Arbeit sehen würden.

Wie eine Nachricht aussieht

Wenn eine Nachricht ankommt, zeigt Claude Code sie im Gespräch als eine schwache einzeilige Vorschau an, und die Vorschauzeile bleibt danach im Gespräch. Die Vorschau trägt den Namen des Absenders und die erste Zeile der Nachricht, abgeschnitten mit …, wenn sie lang ist, wie › Message from @api-worker: Schema migration finished (ctrl+o to expand).

Jede dieser zeigt Ihnen den vollständigen Text:

  • Drücken Sie Ctrl+O, um den Transkript-Viewer zu öffnen und den vollständigen Text unter dem Namen der Sitzung des Absenders zu lesen.
  • In einer Sitzung, die mit --verbose gestartet wurde, zeigt Claude Code den vollständigen Text anstelle der Vorschau an.

Die Vorschau verkürzt nur das, was Sie sehen. Ob Sie es erweitern oder nicht, Claude liest die vollständige Nachricht.

Claude empfängt die Nachricht mit dem Namen des Absenders und einer Antwortwort, außer für eine einseitige Cross-Computer-Nachricht, die keine Antwortwort trägt.

Dieses Beispiel ist eine Nachricht, die ein Claude an einen anderen schrieb, wie sein vollständiger Text liest, wenn Sie ihn erweitern:

Schema migration finished
The new column is tenant_id, and rebasing on main is safe now.

Inbound-Nachrichten kontrollieren

Setzen Sie crossSessionInbound, um zu wählen, was eine Sitzung mit Nachrichten tut, die von Ihren anderen Sitzungen ankommen:

Wert Verhalten
accept Claude Code übermittelt jede Nachricht an Claude
hold Claude Code zeigt eine Benachrichtigung für jede Nachricht an und übermittelt sie nicht. Wenn ein accept später gilt, gemäß den Vorrangregeln, gibt Claude Code die gehaltenen Nachrichten frei
refuse Claude Code verwirft jede Nachricht, ohne sie zu übermitteln

Über das Bearbeiten einer Einstellungsdatei hinaus können Sie den Wert in der /config-Zeile Nachrichten von Ihren anderen Sitzungen auswählen. Claude Code schreibt den Wert, den Sie auswählen, in Ihre Benutzereinstellungen. Die Zeile erfordert Claude Code v2.1.232 oder später und erscheint nicht, während verwaltete Einstellungen oder das Flag --settings den Schlüssel setzt, da ein Benutzereinstellungswert dann nicht gelten würde. Claude Code lehnt die Kurzform /config crossSessionInbound=value für diesen Schlüssel ab.

Um zu sehen, welcher Wert gilt, folgen Sie den crossSessionInbound-Vorrangregeln in der Einstellungsreferenz.

Wenn kein Wert gilt, entscheidet Claude Code pro Nachricht aus den Berechtigungsmodi der beiden Sitzungen. Es gruppiert Sitzungen, die Berechtigungsaufforderungen umgehen, in eine Klasse und jede andere Sitzung in die andere. Plan Mode zählt als Umgehen in interaktiven Terminal-Sitzungen mit verfügbaren Bypass-Berechtigungen, und auto, acceptEdits und dontAsk zählen als Aufforderung:

  • Die empfangende Sitzung fordert Berechtigungen an: Claude Code übermittelt jede Nachricht. Es hält eine nur für Ihre Genehmigung, wenn die sendende Sitzung sich selbst als Umgehen von Berechtigungsaufforderungen identifiziert.
  • Die empfangende Sitzung umgeht Berechtigungsaufforderungen: Claude Code hält jede Nachricht für Ihre Genehmigung. Es übermittelt eine nur, wenn die sendende Sitzung sich selbst auch als Umgehen identifiziert.

Wenn der Standard eine Nachricht hält, öffnet Claude Code einen Genehmigungsdialog in der empfangenden Sitzung. Der Dialog zeigt den Absender und eine Vorschau:

  • Genehmigen übermittelt diese eine Nachricht an Claude.
  • Ablehnen oder das Schließen des Dialogs verwirft sie.
  • Wenn der Dialog über die dialogExpiry-Frist hinaus unantwortlich bleibt, schließt Claude Code ihn und verwirft die Nachricht. Die Frist beträgt standardmäßig fünf Minuten.
  • Während kein Terminal an eine Hintergrund-Sitzung angehängt ist, lässt Claude Code den Dialog über die Frist hinaus offen. Nachdem Sie angehängt haben, schließt Claude Code den Dialog und verwirft die Nachricht nur, wenn sie für einen vollständigen Fristzeitraum unantwortlich bleibt.
  • Wenn sich die Berechtigungsmodus-Klasse dieser Sitzung ändert, während Nachrichten gehalten werden, wendet Claude Code die Inbound-Regeln erneut an, übermittelt die Nachrichten, die sie jetzt akzeptieren, und zeigt eine Benachrichtigung an.

Claude Code hält höchstens 100 Nachrichten, und verwirft danach die ältesten.

Nicht-interaktive Sitzungen

Claude Code bindet einen Inbox-Socket für eine claude -p-Sitzung wie eine interaktive, sodass ein langfristiger -p-Worker Nachrichten empfangen kann und in der Auflistung angezeigt wird. Wenn Sie eine Sitzung im Bare Mode starten, bindet Claude Code den Socket nicht, sodass diese Sitzung keine Nachrichten empfangen kann und nicht in der Agent-Liste angezeigt wird.

Eine -p-Sitzung kann den Genehmigungsdialog nicht anzeigen. Wenn der Inbound-Standard eine Nachricht dort hält, behält Claude Code sie für die gleiche dialogExpiry-Frist, die der Dialog verwendet, standardmäßig fünf Minuten:

  • Vor der Frist: Wenn eine Einstellung oder Einstellungsänderung die Nachricht zulässt, übermittelt Claude Code sie.
  • Nach der Frist: Claude Code verwirft die Nachricht und meldet sie als abgelaufen an einen Absender, den es erreichen kann.

Setzen Sie dialogExpiry auf "never", um Standard-gehaltene Nachrichten bis zum Ende der Sitzung zu behalten. Eine Nachricht, die durch eine explizite hold-Einstellung gehalten wird, läuft nicht ab; Claude Code übermittelt sie nur, wenn ein accept später gilt.

Um einen -p-Worker unbeaufsichtigt Nachrichten zu nehmen, starten Sie ihn mit crossSessionInbound auf accept in seinem --settings-Wert. Ein accept in Ihren Benutzereinstellungen funktioniert auch, gilt aber für jede Sitzung, die Sie ausführen.

Der Inbox-Socket der Sitzung

Lesen Sie diesen Abschnitt, wenn eine Sitzung, die Sie erwarten, nicht in der Agent-Liste ist, wenn Sie möchten, dass ein Skript oder Hook in eine Sitzung postet, oder wenn ein sandboxierter Befehl den Socket nicht erreichen kann.

Claude Code bindet einen Inbox-Socket für jede Sitzung mit aktiviertem Cross-Session-Messaging, wo andere Sitzungen auf dem Computer Nachrichten übermitteln. Der Socket ist ein Unix-Domain-Socket auf macOS und Linux, einschließlich Linux in WSL 2, und ein Named Pipe auf nativem Windows. Für welche Sitzungstypen einen binden, siehe Nicht-interaktive Sitzungen.

Sie können den Pfad des Sockets an zwei Stellen finden:

  • /status zeigt ihn in der Zeile Peer address. Der Pfad ist mit uds: vorangestellt.
  • Claude Code exportiert ihn zu Hooks und Bash-Befehlen als die Umgebungsvariable CLAUDE_CODE_MESSAGING_SOCKET:
    • In einer Sitzung, die mit aktiviertem Messaging startet, exportiert Claude Code die Variable, bevor ein Hook läuft, einschließlich SessionStart.

Auf macOS und Linux beschränkt Claude Code den Socket auf Ihren Betriebssystem-Benutzer. Auf nativem Windows erfordert es stattdessen, dass jede Verbindung sich zuerst mit einem Schlüssel authentifiziert, den nur Ihr Betriebssystem-Benutzer lesen kann. Auf jeden Fall kann auf einem gemeinsamen Computer die Sitzung eines anderen Benutzers nicht an ihn übermitteln.

Auf macOS und Linux lehnt Claude Code auch ab, den Socket in einem Verzeichnis zu erstellen, das es nicht akzeptieren kann, zum Beispiel eines, das ein anderer Benutzer besitzt, und verwendet stattdessen ein privates Pro-Benutzer-Verzeichnis, /tmp/cc-socks-<uid>. Wenn es kein Verzeichnis akzeptieren kann, läuft die Sitzung ohne einen Inbox: Claude Code zeigt eine Benachrichtigung, /status zeigt unavailable und den Grund in seiner Zeile Peer address, und das --debug-Protokoll erfasst die vollständige Ablehnung.

Neben dem Pfad des Sockets exportiert Claude Code ein Pro-Sitzungs-Token als CLAUDE_CODE_MESSAGING_TOKEN. Ein Skript, das an seinen eigenen Socket der Sitzung postet, kann {"type":"auth","token":"<token>"} als erste Zeile seiner Verbindung senden, wobei <token> der Wert von CLAUDE_CODE_MESSAGING_TOKEN ist. Ob Claude Code die Zeile erfordert, hängt von der Plattform ab:

  • macOS und Linux, einschließlich WSL 2: die Zeile ist optional. Claude Code akzeptiert eine Verbindung mit oder ohne sie.
  • Natives Windows: die Zeile ist erforderlich. Claude Code schließt jede Verbindung, deren erste Zeile keine gültige Auth-Zeile ist, und übermittelt nichts von dieser Verbindung.

Öffnen Sie die Verbindung nur, wenn die Nachricht, die Sie posten, bereit ist. Claude Code schließt eine Verbindung, die innerhalb von 30 Sekunden keine vollständige Zeile gesendet hat, sodass erfassen Sie zuerst die Ausgabe eines langsamen Befehls und öffnen Sie dann die Verbindung, um sie zu senden.

Claude Code führt Nachrichten, die auf dem Socket ankommen, durch die gleichen Inbound-Kontrollen wie jede andere Peer-Nachricht, mit einer Ausnahme und einer Voraussetzung:

  • Eigene-Kind-Nachrichten: Wenn kein crossSessionInbound-Wert gilt, übermittelt Claude Code eine Nachricht, die es verifiziert, kam von den eigenen Kind-Prozessen der Sitzung, wie ein Hook oder Bash-Befehl, der an seinen eigenen Socket der Sitzung zurückpostet.
    • Auf Linux, einschließlich in WSL 2, kann Claude Code durch Prozess-Beweis verifizieren, auch für ein Kind, das bereits beendet wurde. Auf macOS kann es das nur verifizieren, während der postende Prozess noch läuft, und in einem Container, wo Claude Code als Prozess-ID 1 läuft, hat es überhaupt keinen Prozess-Beweis. Auf nativem Windows hat es auch keinen.
    • Auf macOS, nachdem der postende Prozess beendet wurde, und in Containern, wo Claude Code als Prozess-ID 1 läuft, fehlt dieser Prozess-Beweis, und Claude Code verifiziert stattdessen ein Kind, das das exportierte CLAUDE_CODE_MESSAGING_TOKEN der Sitzung in der Auth-Zeile gesendet hat, die seine Verbindung öffnete. Auf nativem Windows ist dieses Token die einzige Möglichkeit, wie Claude Code eine Eigene-Kind-Nachricht verifiziert.
    • Wenn Claude Code auf keine Weise verifizieren kann, behandelt es die Nachricht wie jede andere, die keine Berechtigungsklasse behauptet, sodass eine Sitzung, die Berechtigungsaufforderungen umgeht, sie für Ihre Genehmigung hält.
  • Sandboxierte Sitzungen: Kontrollieren Sie, ob ein Bash-Befehl den Socket von innen in der Sandbox mit den Unix-Socket-Einstellungen der Sandbox erreichen kann, sandbox.network.allowAllUnixSockets und sandbox.network.allowUnixSockets.

Cross-Session-Messaging einschränken

Über die Pro-Nachricht-Standards hinaus können Sie Messaging auf zwei Wegen einschränken. Verlangen Sie Ihre Genehmigung, bevor eine Nachricht den Computer verlässt, oder schalten Sie Messaging für eine Sitzung oder eine Organisation aus.

Genehmigung für Cross-Computer-Nachrichten verlangen

Setzen Sie isolatePeerMachines auf true, um Ihre explizite Genehmigung zu verlangen, bevor ein SendMessage eine Sitzung jenseits dieses Computers erreicht:

{
  "isolatePeerMachines": true
}

Mit diesem Satz fragt Claude Code nach Ihrer Genehmigung, bevor Claude's Nachricht an eine Sitzung jenseits dieses Computers geht, auch im bypassPermissions-Modus, der gewöhnliche Berechtigungsaufforderungen überspringt. Ein true aus einem beliebigen Einstellungsbereich gilt, sodass eine eingecheckte Projektdatei die Anforderung einschalten, aber nicht ausschalten kann. Claude Code fordert nicht für Nachrichten zwischen Sitzungen auf dem gleichen Computer auf.

Cross-Session-Messaging ausschalten

Empfangen und Senden sind separate Kontrollen, schalten Sie also aus, welche Richtung Sie benötigen, oder beide. Verwenden Sie crossSessionInbound für Nachrichten, die ankommen, und Berechtigungsregeln für das, was Claude hier senden oder auflisten kann:

  • Empfangen stoppen: Setzen Sie crossSessionInbound auf refuse, und Claude Code verwirft eingehende Peer-Nachrichten, ohne sie zu übermitteln. Aus Projekt- oder lokalen Einstellungen gilt refuse über jede andere Quelle, und aus Ihren Benutzereinstellungen gilt es, es sei denn, verwaltete Einstellungen oder das Flag --settings setzen einen Wert.
  • Senden und Auflisten stoppen: Fügen Sie Berechtigungsregeln zum Ablehnen hinzu, die SendMessage und ListAgents benennen. Beide nehmen den bloßen Tool-Namen ohne Spezifizierer.

Administratoren können beide Seiten für eine Organisation in verwalteten Einstellungen ausschalten, indem sie die Ablehnungsregeln mit dem refuse kombinieren:

{
  "permissions": {
    "deny": ["SendMessage", "ListAgents"]
  },
  "crossSessionInbound": "refuse"
}

Mit diesem an Ort und Stelle bindet Claude Code immer noch den Inbox-Socket jeder Sitzung, verwirft aber jede Nachricht, die darauf ankommt, ohne etwas an Claude zu übermitteln. Das Ablehnen von SendMessage entfernt auch Messaging an Subagenten und Agent-Team-Teamkollegen, da das gleiche Tool beiden dient. Eine ablehnende Sitzung zeigt keine sichtbare Änderung in ihrem eigenen /status oder in den Auflistungen anderer Sitzungen auf dem gleichen Computer, um es zu bestätigen, überprüfen Sie die Einstellungsdateien, die auf diese Sitzung gelten, anstatt ihren Status.

Verfügbarkeit

Cross-Session-Messaging erfordert Claude Code v2.1.224 oder später auf macOS, Linux und WSL 2, und v2.1.234 oder später auf nativem Windows. Verfügbarkeit und welche Sitzungen Claude benachrichtigen kann, hängen auch von Ihrem Betriebssystem, Anbieter und Konfiguration ab:

  • Betriebssystem: verfügbar auf macOS, Windows und Linux, einschließlich Linux in WSL 2.

  • Sitzungen auf diesem Computer: verfügbar auf jedem Anbieter, einschließlich Amazon Bedrock, Claude Platform auf AWS, Google Cloud's Agent Platform und Microsoft Foundry, und in Sitzungen, die mit Feature-Flag-Abruf aus laufen. Auf diesen Anbietern und mit Flag-Abruf aus erfordert Same-Machine-Messaging Claude Code v2.1.248 oder später. Claude Code übermittelt diese Nachrichten über einen Pro-Sitzungs-Socket auf Ihrem Computer, niemals durch Anthropic-Server.

    Um eine Sitzung davon abzuhalten, sie zu empfangen, setzen Sie crossSessionInbound auf refuse.

  • Sitzungen jenseits dieses Computers: Claude findet Ihre Claude Code im Web-Sitzungen und Ihre Sitzungen auf anderen Computern von einer Sitzung, die mit Remote Control verbunden ist, was eine claude.ai-Anmeldung als aktive Authentifizierung dieser Sitzung und die anderen Remote Control-Anforderungen benötigt. Claude kann diese Sitzungen nicht mit einem API-Schlüssel oder auf Amazon Bedrock, Claude Platform auf AWS, Google Cloud's Agent Platform und Microsoft Foundry finden.

Um eine Sitzung zu überprüfen, geben Sie /list-agents ein, auch verfügbar als /peers. Das Ergebnis trennt eine Sitzung, die die Funktion nicht hat, von einer Sitzung, wo etwas Engeres eine Nachricht blockierte, wie ein fehlendes SendMessage-Tool oder ein abgelehnter Send:

  • /list-agents wird nicht erkannt: die Sitzung hat kein Cross-Session-Messaging. Arbeiten Sie durch die Anforderungen oben, beginnend mit claude --version für die Versionsanforderung.
  • /list-agents funktioniert, aber ein Send kam nicht an: Messaging ist an, und etwas Engeres gilt:
    • Ablehnungsregeln: eine Berechtigungsregel zum Ablehnen entfernt die Tools SendMessage und ListAgents.
    • Inbound-Kontrollen: die Inbound-Kontrollen der empfangenden Sitzung können das, was Sie senden, halten oder ablehnen.
    • Cloud-Sitzung fehlt: eine Cloud-Sitzung erscheint nur, während diese Sitzung mit Remote Control verbunden ist.
    • Sitzung auf anderem Computer fehlt: eine Sitzung auf einem anderen Ihrer Computer erscheint nur, wenn sie mit Remote Control läuft und diese Sitzung auch verbunden ist.
    • Sitzung auf anderem Computer offline: eine Nachricht an eine Sitzung, die als offline aufgelistet ist, wird durchgeleitet, kommt aber erst an, nachdem sich der Computer dieser Sitzung wieder verbindet.
    • Ältere Cloud- oder Sitzung auf anderem Computer fehlt: Claude Code liest diese Sitzungslisten neueste zuerst und stoppt nach einer begrenzten Anzahl von Seiten, sodass Claude eine Sitzung, die über sie hinausfiel, nicht nach Name benachrichtigen kann.

In einer Sitzung mit Messaging zeigt /status auch eine Zeile Peer address mit der eigenen Inbox-Adresse der Sitzung, oder unavailable und den Grund, wenn Claude Code einen Inbox nicht einrichten konnte.

Einschränkungen

Die Grenzen hier sind Eigenschaften des Messaging-Kanals selbst und gelten überall dort, wo die Funktion läuft. Für Plattform- und Anbieter-Lücken, siehe stattdessen Verfügbarkeit.

  • Nur Klartext: Claude sendet nur Klartext über Sitzungen. Strukturierte Agent-Team-Protokoll-Nachrichten bleiben in einem Team.
  • Same-Machine-Nachrichtengröße ist begrenzt: Claude Code lehnt eine Nachricht an eine Sitzung auf diesem Computer ab, sobald ihre serialisierte Form etwa eine Million Zeichen überschreitet. Die Ablehnung benennt die genauen Größen. Nichts erreicht die empfangende Sitzung.
  • Schnelle Bursts an eine Sitzung werden beim Absender abgelehnt: Sobald ein schneller Burst von Nachrichten an eine Sitzung auf diesem Computer erreicht, was diese Sitzung akzeptiert, lehnt Claude Code weitere Sends in der sendenden Sitzung ab. Die Ablehnung benennt den Burst und teilt Claude mit, den Rest in eine Nachricht zu packen oder zu warten.
  • Nachrichtenschleifen werden gedrosselt: In der empfangenden Sitzung drosselt Claude Code wiederholte Nachrichten pro Absender, verwirft identische Wiederholungen, die in einem kurzen Fenster ankommen, und reiht höchstens 50 akzeptierte Nachrichten für Claude zum Lesen ein. Eine Nachrichtenschleife zwischen zwei Sitzungen stoppt daher von selbst.
  • Subagenten und Agent-Teams: Messaging innerhalb einer einzelnen Sitzung oder eines Teams
  • Hintergrund-Agenten: Versenden und überwachen Sie die parallelen Sitzungen, die Sie möglicherweise benachrichtigen
  • Remote Control: Verbinden Sie diese Sitzung, um Ihre Sitzungen auf anderen Computern zu erreichen
  • Kanäle: Externe Ereignisse wie CI-Ergebnisse oder Chat-Nachrichten in eine Sitzung einbinden
  • Einstellungen: crossSessionInbound, isolatePeerMachines und dialogExpiry
  • Berechtigungsmodi: die Modi hinter den zwei Klassen des Inbound-Standards
  • Tools-Referenz: die Zeilen ListAgents und SendMessage in der Tools-Tabelle
  • Agenten parallel ausführen: vergleichen Sie die Wege, wie Claude Code mehrere Agenten ausführt