Sitzungsübergreifendes Messaging erfordert Claude Code v2.1.224 oder später auf macOS und Linux, einschließlich Linux in WSL 2. Unter nativem Windows ist Claude Code v2.1.234 oder später erforderlich. Wenn eine Sitzung die Anforderungen erfüllt, ist Messaging aktiviert und es ist nichts zu aktivieren. Siehe Verfügbarkeit für Anbieteranforderungen und wie Sie bestätigen, dass eine Sitzung dies hat.
ListAgents um zu entdecken, welche Agenten es erreichen kann, und SendMessage um eine Nachricht an einen von ihnen nach Name zu übermitteln. Mit demselben SendMessage Tool kann Claude auch Subagenten und Agent-Team Teamkollegen innerhalb einer einzelnen Sitzung oder eines Teams anschreiben. Diese Seite behandelt Nachrichten zwischen Ihren unabhängigen Sitzungen.
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.
- Um ein Gespräch in einem anderen Terminal fortzusetzen oder seinen Kontext mit einer neuen Sitzung zu teilen, setzen Sie die Sitzung fort
- Für ein koordiniertes Team von Sitzungen, die Claude spawnt und beaufsichtigt, verwenden Sie Agent-Teams
- Um viele Sitzungen von einem Ort aus zu beobachten und zu steuern, verwenden Sie Agent-Ansicht
- Um eine Sitzung selbst von Ihrem Telefon oder einem anderen Gerät aus zu steuern, anstatt dass Sitzungen sich gegenseitig benachrichtigen, verwenden Sie Remote Control
- Um externe Ereignisse wie CI-Ergebnisse oder Chat-Nachrichten in eine Sitzung zu pushen, verwenden Sie Kanäle
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 mitListAgents 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:
@ 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:
- 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.
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. Vor v2.1.251 hat eine @-Erwähnung in einer Nachricht, die einen neuen Zug startete, die Datei oder MCP-Ressource auf der Empfängerseite angehängt.
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.
- Claude adressiert die Nachricht an den Namen dieser Sitzung selbst, wie unter Sehen Sie, welche Sitzungen Claude erreichen kann beschrieben.
- 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.
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: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
Die Benachrichtigung ist einmalig: Claude Code sendet sie einmal von der beobachteten Sitzung, und keine der beiden Sitzungen fragt die andere ab. 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:refuseauf 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 mitrefuseabonniert nie.holdauf 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.
notify_when_idle setzt, macht Claude Code kein Abonnement und teilt ihm dies mit. Wenn Claude eine Benachrichtigung von einem anderen Agenten 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, und meldet die Ablehnung Claude, damit es die Nachricht ohne die Anfrage erneut senden kann.
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. Vor v2.1.239 erschienen Kollegen nicht in der Auflistung, obwohl Claude sie bereits nach Name benachrichtigen konnte.
- 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: Ihre Claude Code im Web-Sitzungen, angezeigt, während diese Sitzung mit Remote Control verbunden ist. Claude Code kennzeichnet sie in der Auflistung als
cloud. - Ihre Remote-Control-Sitzungen auf anderen Computern: angezeigt, während diese Sitzung mit Remote Control verbunden ist, und gekennzeichnet als
Remote Control. Claude Code zeigtofflineals Status einer Sitzung an, deren Remote-Control-Verbindung unterbrochen wurde.
/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
--nameoder mit/renameund dem Namen, seit Sie die Sitzung gestartet oder zuletzt fortgesetzt haben.
/rename gefolgt von einem ungenutzten Namen an der eigenen Tastatur einer Sitzung gibt dieser Sitzung einen Namen, der in der Ausgabe angezeigt wird.
Claude Code liest Ihre Cloud- und Remote-Control-Sitzungslisten von neuesten zuerst und stoppt nach einer begrenzten Anzahl von Seiten für jede. Wenn Ihr Konto mehr dieser Sitzungen hat, als passen, listet Claude Code die älteren nicht auf, und Claude kann sie nicht nach Name benachrichtigen. Wenn dies geschieht, teilt Claude Code dies in der Auflistung mit, und Claude sieht die gleiche Notiz, wenn es eine Nachricht sendet.
Claude adressiert eine Sitzung außerhalb dieses Computers nach Name, genauso wie eine lokale Sitzung. Siehe Benachrichtigung von Sitzungen auf anderen Computern für die Reise dieser Nachrichten.
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, aktualisiert Claude Code auch den gemeinsamen Datensatz, den Ihre anderen Sitzungen verwenden, um den Namen der Sitzung nachzuschlagen. Wenn es diesen Datensatz nicht aktualisieren kann, warnt es Sie in der /rename-Ausgabe, dass andere Sitzungen möglicherweise immer noch den alten Namen anzeigen. Führen Sie die Sitzung mit --debug aus, und Claude Code protokolliert die Ursache des fehlgeschlagenen Updates.
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:
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. Vor v2.1.225 konnte Claude nur auf eine Nachricht antworten, die von einer ankam.
Same-Machine-Lieferung funktioniert überall dort, wo die Funktion aktiviert ist. Jede Sitzung registriert sich in Dateien auf der Festplatte. Wenn Claude Ihre lokalen Sitzungen auflistet oder benachrichtigt, liest Claude Code diese Dateien, um die Sitzungen zu finden, sodass zwei Sitzungen sich nur erreichen können, wenn sie die gleichen Dateien sehen können.
Ein Container hat sein eigenes Dateisystem, sodass eine Sitzung darin und eine Sitzung auf dem Host sich nicht erreichen können. 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, da sie sich unter verschiedenen Home-Verzeichnissen registrieren und auf verschiedene Socket-Typen abhören.
Während diese Sitzung mit Remote Control verbunden ist, zeigt Claude Code die Nachricht in der Konversation dieser Sitzung unter dem Remote-Control-Namen dieser Sitzung an, wenn Sie eine Sitzung auf einem anderen Ihrer Computer benachrichtigen. Die Claude auf diesem Computer kann auf diesen Namen antworten. Wenn diese Sitzung beispielsweise mit Remote Control als
laptop-graceful-unicorn verbunden ist und Sie Ihren Desktop benachrichtigen, sehen Sie die Nachricht in der Desktop-Sitzung unter laptop-graceful-unicorn.
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. Claude wird darüber informiert, wenn es sendet.
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.mdoder 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). Vor v2.1.247 zeigte Claude Code die ankommende Nachricht vollständig anstelle einer Vorschau an.
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
--verbosegestartet wurde, zeigt Claude Code den vollständigen Text anstelle der Vorschau an.
@-Erwähnungen im Text.
Eine Nachricht, die ein Subagent schrieb, kommt unter dem Namen der sendenden Sitzung an, mit dem Subagenten im Nachrichtentext identifiziert. Eine Antwort darauf erreicht das Hauptgespräch dieser Sitzung, nicht den Subagenten.
Dieses Beispiel ist eine Nachricht, die ein Claude an einen anderen schrieb, wie sein vollständiger Text liest, wenn Sie ihn erweitern:
Inbound-Nachrichten kontrollieren
Setzen SiecrossSessionInbound, um zu wählen, was eine Sitzung mit Nachrichten tut, die von Ihren anderen Sitzungen ankommen:
Ü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 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.
- 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.
- Wenn eine Einstellungsänderung
refuseanwendbar macht, während Nachrichten gehalten werden, verwirft Claude Code jede gehaltene Nachricht und meldet eine Ablehnung an jeden Absender, den es erreichen kann.
Nicht-interaktive Sitzungen
Claude Code bindet einen Inbox-Socket für eineclaude -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.
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.
Wenn die Sitzung mit noch gehaltenen Nachrichten endet, meldet Claude Code sie als abgelaufen an jeden Absender, den es erreichen kann. Vor v2.1.225 galt keine Frist in einer -p-Sitzung: Eine gehaltene Nachricht blieb gehalten, es sei denn, eine Berechtigungsmodus-Änderung während des Laufs übermittelte sie, und eine Sitzung, die mit gehaltenen Nachrichten endete, meldete nichts an ihre Absender.
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:/statuszeigt ihn in der ZeilePeer address. Der Pfad ist mituds: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. - Jede Sitzung exportiert ihren eigenen Socket, niemals einen, der von einer übergeordneten Sitzung geerbt wird.
- In einer Sitzung, die mit aktiviertem Messaging startet, exportiert Claude Code die Variable, bevor ein Hook läuft, einschließlich
/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.
- 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_TOKENder 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.allowAllUnixSocketsundsandbox.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 SieisolatePeerMachines auf true, um Ihre explizite Genehmigung zu verlangen, bevor ein SendMessage eine Sitzung jenseits dieses Computers erreicht:
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 SiecrossSessionInbound für Nachrichten, die ankommen, und Berechtigungsregeln für das, was Claude hier senden oder auflisten kann:
- Empfangen stoppen: Setzen Sie
crossSessionInboundaufrefuse, und Claude Code verwirft eingehende Peer-Nachrichten, ohne sie zu übermitteln. Aus Projekt- oder lokalen Einstellungen giltrefuseüber jede andere Quelle, und aus Ihren Benutzereinstellungen gilt es, es sei denn, verwaltete Einstellungen oder das Flag--settingssetzen einen Wert. - Senden und Auflisten stoppen: Fügen Sie Berechtigungsregeln zum Ablehnen hinzu, die
SendMessageundListAgentsbenennen. Beide nehmen den bloßen Tool-Namen ohne Spezifizierer.
refuse kombinieren:
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
crossSessionInboundaufrefuse. - 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.
/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-agentswird nicht erkannt: die Sitzung hat kein Cross-Session-Messaging. Arbeiten Sie durch die Anforderungen oben, beginnend mitclaude --versionfür die Versionsanforderung./list-agentsfunktioniert, aber ein Send kam nicht an: Messaging ist an, und etwas Engeres gilt:- Ablehnungsregeln: eine Berechtigungsregel zum Ablehnen entfernt die Tools
SendMessageundListAgents. - 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.
- Ä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.
- Ein Gespräch starten: Nachrichten an Sitzungen auf anderen Computern behandelt das Starten eines Gesprächs mit einer Sitzung jenseits dieses Computers.
- Ablehnungsregeln: eine Berechtigungsregel zum Ablehnen entfernt die Tools
/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. Vor v2.1.236 meldete Claude Code diese Sends als gesendet, während die empfangende Sitzung sie verwarf.
- 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. Wenn die Ratenbegrenzung, Wiederholungsprüfung oder Warteschlangen-Obergrenze eine Nachricht von einer interaktiven Sitzung auf diesem Computer verwirft, teilt Claude Code dieser Sitzung mit, welche verwirft wurde, und teilt ihrem Claude mit, nicht sofort erneut zu senden.
Verwandte Ressourcen
- 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
- Einstellungen:
crossSessionInbound,isolatePeerMachinesunddialogExpiry - Berechtigungsmodi: die Modi hinter den zwei Klassen des Inbound-Standards
- Tools-Referenz: die Zeilen
ListAgentsundSendMessagein der Tools-Tabelle - Agenten parallel ausführen: vergleichen Sie die Wege, wie Claude Code mehrere Agenten ausführt