Berichten sturen naar andere Claude Code-sessies

Cross-session messaging vereist Claude Code v2.1.224 of later en werkt op macOS en Linux. Wanneer een sessie aan deze eisen voldoet, is de functie standaard ingeschakeld. Zie de sectie Beschikbaarheid voor providervereisten en informatie over hoe u kunt controleren of een sessie deze functie ondersteunt.

Cross-session messaging stelt Claude in staat om een bericht van één Claude Code-sessie naar een andere te sturen. Wanneer een wijziging in één sessie iets breekt waar een andere sessie aan werkt, kan Claude die sessie waarschuwen voordat u dit zelf merkt. Wanneer één sessie een vraag beantwoordt waar een andere sessie op geblokkeerd was, kan Claude het antwoord doorsturen.

Een bericht is een stuk tekst dat één Claude naar een ander schrijft; het bevat nooit gespreksgeschiedenis of bestanden. Om een volledig gesprek of de bijbehorende context over te zetten, dient u de sessie te hervatten (resume).

Claude gebruikt hiervoor twee tools: ListAgents om te ontdekken welke agents bereikbaar zijn, en SendMessage om een bericht naar een specifieke agent te sturen. Met dezelfde SendMessage-tool kan Claude ook berichten sturen naar subagents en teamleden binnen één enkele sessie of team. Deze pagina behandelt specifiek berichten tussen onafhankelijke sessies.

Wanneer gebruik je cross-session messaging?

Gebruik messaging wanneer een van uw sessies informatie heeft die een andere sessie halverwege een taak nodig heeft. Claude kan zelfstandig een bericht sturen wanneer hij de noodzaak ziet (bijvoorbeeld na een wijziging die effect heeft op het werk in een andere sessie), of u kunt hem vragen dit te doen.

De meest voorkomende scenario's zijn:

  • Een bevinding overdragen: Wanneer een sessie een breaking change ontdekt of een besluit neemt, vat Claude dit samen voor de sessie die aan het betreffende onderdeel werkt, zodat u dit niet handmatig hoeft uit te leggen.
  • Parallelle worktrees coördineren: Wanneer sessies in dezelfde repository werken maar in verschillende worktrees, kan Claude andere sessies informeren over welke wijzigingen zijn doorgevoerd (landed).
  • Status opvragen van langlopend werk: Laat een migratie of testrun rapportages sturen naar de sessie die u monitort, of vraag dit zelf op vanaf die sessie.
  • Reageren over machines heen: Beantwoord een bericht dat is gearriveerd van een sessie op een andere machine of via het web. Over verschillende machines heen kan Claude alleen reageren; hij kan de communicatie niet starten.

Gebruik messaging voor onafhankelijke sessies die u zelf start en aanstuurt. Voor andere vormen van meerdere sessies biedt Claude Code specifieke functies:

  • Om een gesprek voort te zetten in een andere terminal of de context te delen met een nieuwe sessie: resume the session.
  • Voor een gecoördineerd team van sessies dat Claude zelf aanmaakt en beheert: agent teams.
  • Om veel sessies vanaf één plek te bewaken en aan te sturen: agent view.
  • Om zelf een sessie aan te sturen via uw telefoon of een ander apparaat (in plaats van berichten tussen sessies): Remote Control.
  • Om externe gebeurtenissen, zoals CI-resultaten of chatberichten, naar een sessie te pushen: channels.

Berichten sturen naar een andere sessie

Wanneer een sessie informatie verkrijgt die een andere sessie nodig heeft (zoals een bevinding, status of besluit), stuurt Claude dit door. Claude ontdekt het doel via ListAgents en verzendt via SendMessage. U hoeft deze tools nooit zelf aan te roepen. Claude kan besluiten een bericht te sturen zonder dat u daarom vraagt, maar u kunt hem ook expliciet prompten.

Voorbeelden van prompts die u kunt typen:

  • "Vraag de sessie in mijn andere terminal of de migratie is voltooid."
  • "Leg uit wat we zojuist hebben gedaan aan de sessie die werkt aan de payments API."

Claude schrijft zelf de uiteindelijke tekst van het bericht, dus u hoeft de exacte bewoording niet te dicteren.

Aflevering van berichten

De ontvangende Claude leest het bericht tussen tool-aanroepen tijdens een actieve beurt (turn), zodat een draaiende tool nooit wordt onderbroken. Wanneer de ontvangende sessie inactief is, start Claude Code een nieuwe beurt met het bericht.

Bij twee standaard interactieve sessies met standaardinstellingen wordt het bericht afgeleverd. Aflevering is echter niet gegarandeerd in elke configuratie. De ontvangende sessie controleert elk inkomend bericht aan de hand van zijn eigen controls, wat resulteert in een van deze drie uitkomsten:

  1. Delivered (Afgeleverd): Claude Code geeft het bericht door aan de ontvangende Claude.
  2. Held (Vastgehouden): Claude Code zet het bericht apart. Het bereikt Claude pas wanneer u het goedkeurt of wanneer een wijziging in modus of instellingen dit toestaat.
  3. Refused (Geweigerd): Claude Code verwijdert het bericht zonder het af te leveren.

Zodra een bericht is afgeleverd, telt het mee voor het verbruik (zoals een prompt die u zelf typt). De ontvangende Claude kan op dezelfde manier reageren, behalve in het geval van eenrichtingsverkeer tussen verschillende machines.

Rechten en permissies: Permissiegrenzen blijven per sessie gelden. Claude krijgt de instructie om nooit een andere sessie te vragen om een actie die in zijn eigen sessie is geweigerd of geblokkeerd, of die door zijn eigen permissie-instellingen zou worden tegengehouden. Aan de ontvangende kant blijven de eigen permissie-prompts en regels van die sessie van kracht op alles wat het bericht vraagt.

Zien welke sessies Claude kan bereiken

Om te zien welke sessies bereikbaar zijn, kunt u het commando /list-agents (of /peers) uitvoeren. Dit toont:

  • Subagents: agents die binnen de huidige sessie draaien. Teamleden van agent teams worden hier niet vermeld; Claude communiceert met hen via de eigen roster van het team.
  • Uw andere lokale sessies: Claude Code-sessies op dezelfde machine, inclusief achtergrondsessies. Een sessie verschijnt alleen als deze een inbox socket bindt.
  • Sessies buiten deze machine: getoond wanneer Remote Control is verbonden en gelabeld als Remote Control. Dit betreft sessies op andere machines of Claude Code on the web. Claude kan hiernaar reageren, maar geen nieuw gesprek starten.

Een sessie reageert op de naam die u heeft ingesteld met het /rename-commando of de --name flag. Zo niet, dan geeft Claude Code zelf een naam (bijvoorbeeld afgeleid van de mapnaam van de werkmap, zoals myapp-3f). Bij naamconflicten voegt Claude een korte identifier toe om sessies te onderscheiden.

Sessies op andere machines berichten

De locatie van de andere sessie bepaalt hoe het bericht reist en wat er verzonden kan worden:

Locatie andere sessieTransportmethodeWat Claude hier kan sturen
Op deze machineVia een per-sessie socket, nooit via Anthropic serversNieuwe berichten en reacties
Op een andere van uw machinesVia Anthropic servers, via de Remote Control verbindingAlleen reacties
Op Claude Code on the webVia Anthropic servers, direct naar de cloud-sessieAlleen reacties

Lokale aflevering werkt overal waar de functie is ingeschakeld via bestanden op schijf en inbox sockets. Omdat een container zijn eigen bestandssysteem heeft, kunnen een sessie in een container en een sessie op de host elkaar niet bereiken. Twee sessies binnen dezelfde container kunnen wel berichten sturen.

Om goedkeuring te vereisen voordat een bericht deze machine verlaat, kunt u isolatePeerMachines instellen.

Hoe een sessie een inkomend bericht behandelt

Wanneer sessie A een bericht stuurt naar sessie B, wordt Claude B geïnformeerd dat het bericht van een andere sessie komt en niet van de gebruiker. De volgende beperkingen gelden:

  • Geen goedkeuringen: Een bericht kan nooit dienen als uw toestemming; het kan geen openstaande permissie-prompts namens u beantwoorden.
  • Geen configuratiewijzigingen: Claude mag nooit permissie-instellingen, CLAUDE.md of andere configuraties wijzigen omdat een andere sessie daarom vraagt.
  • Commando's worden niet uitgevoerd: Commando's in de tekst (bijv. /compact) worden als platte tekst behandeld en nooit uitgevoerd.
  • Permissie-prompts blijven actief: Als actie naar aanleiding van het bericht een permissie vereist die de ontvangende sessie niet heeft, verschijnt de gebruikelijke prompt voor de gebruiker.

Hoe een bericht eruitziet

Een inkomend bericht verschijnt in het gesprek met de verzender. Terwijl Claude midden in een beurt zit, wordt het bericht in een wachtrij geplaatst; is de sessie inactief, dan start het bericht direct een nieuwe beurt. Nadat Claude het heeft gelezen, klapt Claude Code het in tot een regel Message from..., die u met Ctrl+O kunt uitvouwen.

Berichten bevatten alleen tekst, de naam van de verzender en (meestal) een reply-adres. De ontvangende sessie krijgt nooit de gespreksgeschiedenis of bestanden van de verzender te zien.

Voorbeeld van een bericht:

"Schema migration finished: the new column is tenant_id, and rebasing on main is safe now."

Inkomende berichten beheren

Met de instelling crossSessionInbound bepaalt u hoe een sessie omgaat met inkomende berichten:

  • accept: Claude Code levert elk bericht af aan Claude.
  • hold: Claude Code toont een melding en houdt het bericht vast tot handmatige goedkeuring of een wijziging in instellingen.
  • refuse: Claude Code weigert het bericht direct.

Wanneer geen specifieke waarde is ingesteld, beslist Claude Code op basis van de permissie-modi:

  • Ontvangende sessie vraagt om permissies: Berichten worden afgeleverd, tenzij de verzender zichzelf identificeert als iemand die permissies omzeilt (bypassing), in welk geval het bericht wordt vastgehouden voor goedkeuring.
  • Ontvangende sessie omzeilt permissies: Elk bericht wordt vastgehouden voor uw goedkeuring, tenzij ook de verzender permissies omzeilt.

Wanneer een bericht wordt vastgehouden (hold), verschijnt er een dialoogvenster met een preview. U kunt het bericht Approve (accepteren) of Deny (weigeren). Na vijf minuten (standaard dialogExpiry) vervalt het bericht automatisch.

Claude Code houdt maximaal 100 berichten vast; daarna worden de oudste verwijderd.

Niet-interactieve sessies

Een claude -p sessie bindt een inbox socket en kan dus berichten ontvangen en in de lijst verschijnen. Een sessie in bare mode doet dit niet en kan geen berichten ontvangen.

Omdat een -p sessie geen dialoogvensters kan tonen, blijven 'held' berichten onbeantwoord tenzij de instellingen wijzigen. Om een -p worker onbeheerd berichten te laten ontvangen, start deze met crossSessionInbound ingesteld op accept.

De inbox-socket van de sessie

Elke sessie met cross-session messaging bindt een inbox socket voor communicatie tussen andere sessies op dezelfde machine. Toegang is beperkt tot uw OS-gebruiker.

Het pad naar de socket is te vinden via:

  1. /status in de rij Peer address (voorafgegaan door uds:).
  2. De omgevingsvariabele CLAUDECODEMESSAGING_SOCKET.

Bijzonderheden:

  • Eigen-kind berichten: Berichten van eigen subprocessen (zoals hooks of Bash-commando's) worden vaak direct afgeleverd, mits Claude Code de afkomst kan verifiëren.
  • Sandboxed sessies: Of een Bash-commando vanuit de sandbox de socket kan bereiken, wordt bepaald door sandbox.network.allowAllUnixSockets en sandbox.network.allowUnixSockets.

Beperken van cross-session messaging

U kunt messaging op twee manieren verder inperken:

Goedkeuring vereisen voor berichten over machines heen

Stel isolatePeerMachines in op true. Claude Code zal dan altijd om uw expliciete goedkeuring vragen voordat een SendMessage naar een sessie buiten de huidige machine gaat, zelfs in bypassPermissions-modus.

Cross-session messaging uitschakelen

U kunt het verzenden en ontvangen apart beheren:

  • Ontvangst stoppen: Stel crossSessionInbound in op refuse.
  • Verzenden en oplijsten stoppen: Voeg permissie-deny regels toe voor SendMessage en ListAgents.

Administratoren kunnen beide functies organisatiebreed uitschakelen via managed settings:

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

Beschikbaarheid

Cross-session messaging vereist Claude Code v2.1.224 of later en is afhankelijk van:

  • Besturingssysteem:Beschikbaar op macOS en Linux (inclusief WSL 2). Niet beschikbaar op native Windows.
  • Provider: Niet beschikbaar op Amazon Bedrock, Claude Platform on AWS, Google Cloud’s Agent Platform, of Microsoft Foundry.
  • Feature-flags: De functie wordt uitgeschakeld als variabelen zoals CLAUDECODEDISABLENONESSENTIALTRAFFIC, DISABLETELEMETRY, DONOTTRACK of DISABLEGROWTHBOOK bepaalde waarden hebben.

Controleren van status:

  • /list-agents is niet herkend → De sessie ondersteunt de functie niet (controleer versie en OS).
  • /list-agents werkt, maar berichten komen niet aan → Messaging is actief, maar wordt geblokkeerd door permissies of inbound controls.

Beperkingen

  • Alleen platte tekst: Er kunnen geen gestructureerde protocolberichten, bestanden of geschiedenis worden verzonden; alleen platte tekst.
  • Beperking van loops: Om oneindige lussen tussen sessies te voorkomen, past Claude Code rate-limiting toe op herhaalde berichten en is er een limiet van 50 wachtende berichten per sessie voordat nieuwe berichten worden gedropt.