La messaggistica tra sessioni richiede Claude Code v2.1.224 o successivo su macOS e Linux, incluso Linux all’interno di WSL 2. Su Windows nativo, richiede Claude Code v2.1.234 o successivo. Quando una sessione soddisfa i requisiti, la messaggistica è attiva senza nulla da abilitare. Vedi Disponibilità per i requisiti del provider e come confermare che una sessione lo supporta.
ListAgents per scoprire quali agenti può raggiungere, e SendMessage per consegnare un messaggio a uno di essi per nome. Con lo stesso strumento SendMessage, Claude può anche inviare messaggi a subagenti e ai compagni di team di agenti all’interno di una singola sessione o team. Questa pagina copre i messaggi tra le tue sessioni indipendenti.
Quando utilizzare la messaggistica tra sessioni
Utilizza la messaggistica quando una delle tue sessioni ha qualcosa che un’altra sessione ha bisogno a metà compito. Claude può inviare un messaggio da solo quando vede la necessità, ad esempio dopo aver apportato una modifica che influisce sul lavoro che un’altra sessione sta svolgendo, oppure puoi chiedergli di inviarne uno. I casi comuni sono:- Consegna un risultato: quando una sessione scopre un cambiamento che interrompe il funzionamento o prende una decisione, Claude lo riassume per la sessione che lavora sull’area interessata, invece di doverlo rispiegare lì.
- Coordina worktree paralleli: quando le sessioni lavorano lo stesso repository in worktree separati, Claude può dire alle altre sessioni cosa è stato implementato.
- Ottieni lo stato dal lavoro a lunga esecuzione: fai in modo che una migrazione o un’esecuzione di test riferisca alla sessione che stai osservando, oppure chiedilo tu stesso da lì. Se quella sessione è su questa macchina, Claude può anche chiederle un avviso quando successivamente diventa inattiva o esce.
- Messaggi tra macchine: raggiungi una delle tue sessioni su un’altra macchina o sul web.
- Per continuare una conversazione in un altro terminale, o condividere il suo contesto con una nuova sessione, riprendi la sessione
- Per un team coordinato di sessioni che Claude genera e supervisiona, utilizza team di agenti
- Per osservare e dirigere molte sessioni da un unico posto, utilizza agent view
- Per dirigere una sessione tu stesso dal tuo telefono o da un altro dispositivo, piuttosto che far inviare messaggi alle sessioni l’una all’altra, utilizza Remote Control
- Per spingere eventi esterni, come risultati CI o messaggi di chat, in una sessione, utilizza channels
Invia un messaggio a un’altra sessione
Quando una delle tue sessioni apprende qualcosa che un’altra sessione ha bisogno, come un risultato, uno stato o una decisione, Claude lo passa invece di farti copiare e incollare tra i terminali. Claude scopre il target conListAgents e invia con SendMessage, quindi non chiami mai nessuno dei due strumenti tu stesso. Claude può decidere di inviare un messaggio senza essere chiesto, e puoi anche richiederne uno.
Per richiederne uno tu stesso, dì a Claude cosa vuoi che l’altra sessione sappia o faccia. Questo esempio è un prompt che digiti, non un messaggio che Claude invia:
@ seguito dalle prime lettere del nome della sessione e scegli la sessione dal typeahead, nello stesso modo in cui @-menzioni un subagente. Richiede Claude Code v2.1.232 o successiva. Claude Code inserisce la menzione, come @api-worker, e dice a Claude quale sessione nomina, quindi Claude può inviare un messaggio a quella sessione senza elencare prima le tue sessioni. Questo prompt nomina il target con una menzione:
- Una sessione oltre questa macchina: una sessione cloud o Remote Control appare nel typeahead solo dopo che Claude ha elencato o inviato messaggi alle tue sessioni oltre questa macchina, quindi chiedi a Claude di elencarle prima.
- Un nome con uno spazio o altri caratteri al di fuori di lettere, cifre, trattini e sottolineature: digitalo tra virgolette doppie, come
@"release notes". Quando scegli la sessione dal typeahead, Claude Code inserisce le virgolette per te.
Consegna del messaggio
Il Claude ricevente legge il messaggio tra le chiamate di strumenti durante un turno attivo, quindi uno strumento in esecuzione non viene mai interrotto. Quando la sessione ricevente è inattiva, Claude Code avvia un nuovo turno con il messaggio. Un messaggio da un’altra sessione arriva come testo semplice. Se menziona un file o una risorsa MCP con@, Claude vede la menzione come scritta e Claude Code non allega nulla, indipendentemente dal fatto che il messaggio avvii un nuovo turno o arrivi durante uno. Claude può comunque aprire un percorso menzionato sulla macchina ricevente con i suoi strumenti, soggetto alle autorizzazioni di quella sessione. Prima della v2.1.251, una menzione @ in un messaggio che ha avviato un nuovo turno ha allegato il file o la risorsa MCP sul lato ricevente.
Claude Code rifiuta un messaggio nei seguenti casi:
- Il messaggio è oltre il limite di dimensione. Claude Code lo rifiuta nella sessione di invio, prima che parta.
- Un rapido burst a una sessione su questa macchina ha raggiunto quello che la posta in arrivo di quella sessione accetta. Claude Code rifiuta ulteriori messaggi a quella sessione.
- Il target di risposta su questa macchina non supera un controllo di sicurezza, come un target con collegamento simbolico o un endpoint che non è il processo previsto. Rifiuto di inviare un messaggio tra sessioni elenca questi controlli.
- Claude indirizza il messaggio al nome della sessione stessa, come descritto in Vedi quali sessioni Claude può raggiungere.
- Consegnato: Claude Code passa il messaggio al Claude ricevente.
- Trattenuto: Claude Code mette da parte il messaggio non consegnato. Un messaggio trattenuto raggiunge Claude solo quando lo approvi o un cambio di modalità o impostazioni successivo lo consente.
- Rifiutato: Claude Code elimina il messaggio senza consegnarlo.
Ricevi un avviso quando un’altra sessione diventa inattiva
Claude può chiedere a una delle tue sessioni su questa macchina di inviare indietro un avviso quando quella sessione successivamente diventa inattiva o esce. Inattivo qui significa che la sessione ha terminato un turno senza nulla in coda. Utilizzalo quando stai aspettando un compito lungo in un’altra sessione e vuoi sapere quando è fatto invece di controllare. Richiede Claude Code v2.1.236 o successiva in entrambe le sessioni.Chiedi un avviso
Dì a Claude cosa stai aspettando. Questo prompt chiede un avviso dalla sessione di migrazione:notify_when_idle dello strumento SendMessage, allegato a un messaggio che sta inviando comunque o da solo. Da solo, Claude Code si iscrive senza avviare un turno o spendere token nella sessione osservata, e invia l’avviso subito se quella sessione è già inattiva. Allegato a un messaggio, Claude Code consegna prima il messaggio e invia l’avviso dopo.
Cosa mostra ogni sessione
La sessione osservata mostra una riga che dice che un altro processo ha chiesto di essere avvertito quando la sessione è successivamente inattiva. La sessione che chiede mostra l’avviso come una riga che nomina la sessione osservata. La riga può includere l’ora in cui il turno di quella sessione è terminato e uno stato di una riga da quel turno. Se la sessione che chiede è inattiva, Claude Code avvia un nuovo turno con l’avviso.Limiti
L’avviso è una tantum: Claude Code lo invia una volta dalla sessione osservata, e nessuna delle due sessioni esegue il polling dell’altra. Se nessun avviso arriva entro 12 ore, Claude Code elimina l’iscrizione e lo dice a Claude, quindi non continua ad aspettare. I controlli in entrata di ogni lato si applicano a un avviso come un messaggio:refusesu entrambi i lati: nulla arriva. La sessione osservata elimina la richiesta senza registrarla o rispondere, quindi l’iscrizione scade senza risposta dopo 12 ore, e una sessione che chiede conrefusenon si iscrive mai.holdsu entrambi i lati: l’avviso arriva con meno. La sessione osservata lascia fuori lo stato di una riga, e la sessione che chiede mostra l’avviso nella tua trascrizione senza consegnarlo a Claude.
notify_when_idle, Claude Code non effettua alcuna iscrizione e glielo dice. Quando Claude chiede un avviso da qualsiasi altro agente, come un collega, un subagente o una sessione oltre questa macchina, Claude Code rifiuta l’intera chiamata, incluso qualsiasi messaggio allegato, e segnala il rifiuto a Claude in modo che possa rinviare il messaggio senza la richiesta.
Vedi quali sessioni Claude può raggiungere
Claude trova il target di un messaggio da solo, quindi non hai bisogno di eseguire nulla prima di chiedergli di inviare. Per vedere tu stesso quali sessioni Claude può raggiungere, esegui il comando/list-agents. La prima riga, quando presente, è il nome della sessione stessa, quello che le tue altre sessioni usano per inviarle messaggi. Le righe sottostanti sono le sessioni che Claude può raggiungere:
- Subagenti: agenti in esecuzione all’interno della sessione corrente.
- Colleghi: i colleghi del team di agenti della sessione stessa. Prima della v2.1.239, i colleghi non apparivano nell’elenco, anche se Claude poteva già inviar loro messaggi per nome.
- Le tue altre sessioni locali: sessioni Claude Code in esecuzione sulla stessa macchina, incluse sessioni in background. Una sessione appare solo quando associa un socket della posta in arrivo.
- Le tue sessioni cloud: le tue sessioni Claude Code sul web, mostrate mentre questa sessione è connessa a Remote Control. Claude Code le etichetta
cloudnell’elenco. - Le tue sessioni Remote Control su altre macchine: mostrate mentre questa sessione è connessa a Remote Control, ed etichettate
Remote Control. Claude Code mostraofflinecome lo stato di una sessione la cui connessione Remote Control è caduta.
/list-agents, senza cambiare quello che Claude stesso vede quando cerca una sessione a cui inviare messaggi:
- Directory di lavoro: lascia fuori la directory di lavoro di ogni sessione locale.
- Nomi delle sessioni: lascia fuori qualsiasi nome di sessione che non può attribuire a una persona, quindi una riga rimasta senza nome legge
(unnamed session). - La prima riga: lascia fuori la riga con il nome della sessione stessa a meno che tu non abbia digitato quel nome a questo terminale, con
--nameo con/renamee il nome, da quando hai avviato o ripreso l’ultima volta la sessione.
/rename seguito da un nome inutilizzato al terminale di una sessione propria dà a quella sessione un nome che appare nell’output.
Claude Code legge i tuoi elenchi di sessioni cloud e Remote Control dal più recente al più vecchio e si ferma dopo un numero limitato di pagine per ognuno. Se il tuo account ha più di quelle sessioni di quante si adattino, Claude Code non elenca le più vecchie, e Claude non può inviar loro messaggi per nome. Quando ciò accade, Claude Code lo dice nell’elenco, e Claude vede la stessa nota quando invia un messaggio.
Claude indirizza una sessione oltre questa macchina per nome, nello stesso modo di una sessione locale. Vedi Invia messaggi a sessioni su altre macchine per come quei messaggi viaggiano.
Una sessione risponde al nome che imposti con il comando /rename o il flag --name. Quando non ne imposti uno, Claude Code nomina la sessione stessa. Per una sessione interattiva, questo è il nome mostrato negli elenchi delle sessioni in esecuzione.
Quando rinomini una sessione, Claude Code aggiorna anche il record condiviso che le tue altre sessioni usano per cercare il nome della sessione. Se non può aggiornare quel record, ti avverte nell’output /rename che altre sessioni potrebbero ancora mostrare il nome vecchio. Esegui la sessione con --debug, e Claude Code registra la causa dell’aggiornamento fallito.
Quando rinomini una sessione, o avvii o riprendi una sessione interattiva, con un nome che un’altra sessione live su questa macchina già usa, Claude Code lascia il nome con la sessione che lo ha già e rinomina il tuo a una variante. Le sessioni possono comunque condividere un nome, ad esempio quando una di esse esegue una versione precedente di Claude Code o il nome condiviso è uno che Claude Code ha generato. A meno che questa sessione non sia connessa a Remote Control, Claude Code mostra la directory di lavoro di ogni sessione locale nell’output /list-agents, quindi puoi distinguere le sessioni con lo stesso nome quando vengono eseguite in directory diverse. Claude indirizza il messaggio in uno di due modi, a seconda di quante sessioni live rispondono al nome:
- Una sessione risponde al nome: Claude Code consegna il messaggio solo sul nome.
- Diverse sessioni condividono il nome, o Claude Code non potrebbe controllare ovunque vengono eseguite le tue sessioni: Claude aggiunge un breve identificatore a ogni riga del suo elenco e utilizza l’identificatore nell’indirizzo.
Invia messaggi a sessioni su altre macchine
Come un messaggio viaggia, e se passa attraverso i server Anthropic, dipende da dove viene eseguita la sessione target:
Avviare una conversazione con una sessione su un’altra delle tue macchine richiede Claude Code v2.1.225 o successiva e un target che appare nell’elenco. Prima della v2.1.225, Claude poteva solo rispondere a un messaggio che arrivava da uno.
Puoi inviare un messaggio a una sessione mostrata come
offline nell’elenco, una la cui connessione Remote Control è caduta. L’invio va a buon fine, ma il messaggio arriva solo dopo che la macchina di quella sessione si riconnette. Claude viene informato di ciò quando invia.
La consegna sulla stessa macchina funziona ovunque la funzione sia abilitata. Ogni sessione si registra in file su disco. Quando Claude elenca o invia messaggi alle tue sessioni locali, Claude Code legge quei file per trovare le sessioni, quindi due sessioni possono raggiungersi solo quando possono vedere gli stessi file.
Un contenitore ha il suo filesystem, quindi una sessione all’interno e una sessione sull’host non possono raggiungersi. Due sessioni all’interno dello stesso contenitore possono comunque inviarsi messaggi, incluso su un runner self-hosted. Una sessione all’interno di WSL 2 e una sessione Windows nativa sullo stesso computer non possono raggiungersi neanche, perché si registrano in directory home diverse e ascoltano su tipi di socket diversi.
Mentre questa sessione è connessa a Remote Control, quando invii un messaggio a una sessione su un’altra delle tue macchine, Claude Code mostra il messaggio nella conversazione di quella sessione sotto il nome Remote Control di questa sessione. Il Claude su quella macchina può rispondere a quel nome. Ad esempio, quando questa sessione è connessa a Remote Control come laptop-graceful-unicorn e invii un messaggio al tuo desktop, vedi il messaggio nella sessione desktop sotto laptop-graceful-unicorn.
Se questa sessione non è connessa a Remote Control quando Claude invia a una sessione oltre questa macchina, il messaggio comunque va a buon fine, ma senza un indirizzo di risposta, quindi il Claude ricevente non può rispondere. Claude viene informato di ciò quando invia.
Per richiedere la tua approvazione prima che qualsiasi messaggio vada oltre questa macchina, imposta isolatePeerMachines.
Come una sessione tratta un messaggio in arrivo
Quando la sessione A invia un messaggio alla sessione B, Claude Code dice al Claude di B che il messaggio è venuto da un’altra sessione, non da te, e limita quello che il messaggio può fare:- Non può approvare nulla: un messaggio da un’altra sessione non conta mai come il tuo consenso, quindi non può rispondere a un prompt di autorizzazione in sospeso per tuo conto.
- Non può cambiare la configurazione: Claude Code istruisce il Claude ricevente a non cambiare mai le impostazioni di autorizzazione,
CLAUDE.mdo altre configurazioni perché un’altra sessione lo ha chiesto. - I comandi non vengono eseguiti: un comando nel testo del messaggio, come
/compact, arriva come testo semplice. Claude Code non lo esegue mai. - I prompt di autorizzazione si attivano comunque: se agire sul messaggio richiede un’autorizzazione che la sessione ricevente non ha, vedi lo stesso prompt che vedresti per qualsiasi altro lavoro.
Come appare un messaggio
Quando un messaggio arriva, Claude Code lo mostra nella conversazione come un’anteprima di una riga attenuata, e la riga di anteprima rimane nella conversazione dopo. L’anteprima porta il nome del mittente e la prima riga del messaggio, tagliata con… quando è lunga, come › Message from @api-worker: Schema migration finished (ctrl+o to expand). Prima della v2.1.247, Claude Code mostrava il messaggio in arrivo per intero invece di un’anteprima.
Uno di questi mostra il testo completo:
- Premi
Ctrl+Oper aprire il visualizzatore di trascrizioni e leggi il testo completo sotto il nome della sessione del mittente. - In una sessione avviata con
--verbose, Claude Code mostra il testo completo invece dell’anteprima.
@ nel testo.
Un messaggio che un subagente ha scritto arriva sotto il nome della sessione di invio, con il subagente identificato nel testo del messaggio. Una risposta ad esso raggiunge la conversazione principale di quella sessione, non il subagente.
Questo esempio è un messaggio che un Claude ha scritto a un altro, come il suo testo completo legge quando lo espandi:
Controlla i messaggi in entrata
ImpostacrossSessionInbound per scegliere cosa una sessione fa con i messaggi in arrivo dalle tue altre sessioni:
Oltre a modificare un file di impostazioni, puoi selezionare il valore nella riga
/config Messages from your other sessions. Claude Code scrive il valore che selezioni nelle tue impostazioni utente. La riga richiede Claude Code v2.1.232 o successiva e non appare mentre le impostazioni gestite o il flag --settings imposta la chiave, poiché un valore di impostazioni utente non si applicherebbe allora. Claude Code rifiuta la scorciatoia /config crossSessionInbound=value per questa chiave.
Per vedere quale valore si applica, segui le regole di precedenza crossSessionInbound nel riferimento delle impostazioni. Quando nessun valore si applica, Claude Code decide per messaggio dalle modalità di autorizzazione delle due sessioni. Raggruppa le sessioni che bypassano i prompt di autorizzazione in una classe, e ogni altra sessione nell’altra. La modalità Plan conta come bypassare nelle sessioni con autorizzazioni di bypass disponibili, e auto, acceptEdits e dontAsk contano come prompt:
- La sessione ricevente richiede autorizzazioni: Claude Code consegna ogni messaggio. Trattiene uno per la tua approvazione solo quando la sessione di invio si identifica come bypassando i prompt di autorizzazione.
- La sessione ricevente bypassa i prompt di autorizzazione: Claude Code trattiene ogni messaggio per la tua approvazione. Consegna uno solo quando la sessione di invio si identifica come bypassando anche.
- Approve consegna quel messaggio a Claude.
- Deny, o chiudere la finestra di dialogo, lo elimina.
- Quando la finestra di dialogo rimane senza risposta oltre la scadenza
dialogExpiry, Claude Code la chiude e elimina il messaggio. La scadenza predefinita è cinque minuti. - Mentre nessun terminale è collegato a una sessione in background, Claude Code lascia la finestra di dialogo aperta oltre la scadenza. Dopo che colleghi, se la finestra di dialogo rimane senza risposta per un intero periodo di scadenza, Claude Code la chiude e elimina il messaggio.
- Se la classe di modalità di autorizzazione di questa sessione cambia mentre i messaggi sono trattenuti, Claude Code riapplica le regole in entrata, consegna i messaggi che ora accetta, e mostra un avviso.
- Se un cambio di impostazioni fa applicare
refusementre i messaggi sono trattenuti, Claude Code elimina ogni messaggio trattenuto e segnala un rifiuto a ogni mittente che può raggiungere.
Sessioni non interattive
Claude Code associa un socket della posta in arrivo per una sessioneclaude -p come una interattiva, quindi un worker -p a lunga esecuzione può ricevere messaggi e appare nell’elenco. Quando avvii una sessione in modalità bare, Claude Code non associa il socket, quindi quella sessione non può ricevere messaggi e non appare nell’elenco degli agenti.
Una sessione -p non può mostrare la finestra di dialogo di approvazione. Quando il default in entrata trattiene un messaggio lì, Claude Code lo mantiene per la stessa scadenza dialogExpiry che la finestra di dialogo usa, cinque minuti per impostazione predefinita:
- Prima della scadenza: se una modalità o un cambio di impostazioni consente il messaggio, Claude Code lo consegna.
- Oltre la scadenza: Claude Code elimina il messaggio e lo segnala come scaduto a un mittente che può raggiungere.
dialogExpiry su "never" per mantenere i messaggi trattenuti dal default fino alla fine della sessione. Un messaggio trattenuto da un’impostazione hold esplicita non scade; Claude Code lo consegna solo quando un accept successivamente si applica.
Quando la sessione termina con messaggi ancora trattenuti, Claude Code li segnala come scaduti a ogni mittente che può raggiungere. Prima della v2.1.225, nessuna scadenza si applicava in una sessione -p: un messaggio trattenuto rimaneva trattenuto a meno che un cambio di modalità di autorizzazione durante l’esecuzione lo consegnasse, e una sessione che terminava con messaggi trattenuti non segnalava nulla ai loro mittenti.
Per far sì che un worker -p accetti messaggi incustodito, avvialo con crossSessionInbound impostato su accept nel suo valore --settings. Un accept nelle tue impostazioni utente funziona anche ma si applica a ogni sessione che esegui.
Il socket della posta in arrivo della sessione
Leggi questa sezione quando una sessione che ti aspetti non è nell’elenco degli agenti, quando vuoi che uno script o un hook pubblichi in una sessione, o quando un comando in sandbox non può raggiungere il socket. Claude Code associa un socket della posta in arrivo per ogni sessione con la messaggistica tra sessioni abilitata, dove altre sessioni sulla macchina consegnano messaggi. Il socket è un socket di dominio Unix su macOS e Linux, incluso Linux all’interno di WSL 2, e una named pipe su Windows nativo. Per quali tipi di sessione associano uno, vedi Sessioni non interattive. Puoi trovare il percorso del socket in due posti:/statuslo mostra nella rigaPeer address. Il percorso è prefissato conuds:.- Claude Code lo esporta a hooks e comandi Bash come la variabile di ambiente
CLAUDE_CODE_MESSAGING_SOCKET:- In una sessione che inizia con la messaggistica attiva, Claude Code esporta la variabile prima che qualsiasi hook venga eseguito, incluso
SessionStart. - Ogni sessione esporta il suo socket, mai uno ereditato da una sessione genitore.
- In una sessione che inizia con la messaggistica attiva, Claude Code esporta la variabile prima che qualsiasi hook venga eseguito, incluso
/tmp/cc-socks-<uid>. Quando non può accettare alcuna directory, la sessione viene eseguita senza una posta in arrivo: Claude Code mostra un avviso, /status mostra unavailable e il motivo nella sua riga Peer address, e il log --debug registra il rifiuto completo.
Insieme al percorso del socket, Claude Code esporta un token per sessione come CLAUDE_CODE_MESSAGING_TOKEN. Uno script che pubblica nel socket della sua stessa sessione può inviare {"type":"auth","token":"<token>"} come la prima riga della sua connessione, dove <token> è il valore di CLAUDE_CODE_MESSAGING_TOKEN. Se Claude Code richiede la riga dipende dalla piattaforma:
- macOS e Linux, incluso WSL 2: la riga è facoltativa. Claude Code accetta una connessione con o senza di essa.
- Windows nativo: la riga è obbligatoria. Claude Code chiude qualsiasi connessione la cui prima riga non è una riga di autenticazione valida e non consegna nulla da quella connessione.
- Messaggi propri-figli: quando nessun valore
crossSessionInboundsi applica, Claude Code consegna un messaggio che verifica è venuto dai processi figli della sessione stessa, come un hook o un comando Bash che pubblica di nuovo nel socket della posta in arrivo della sua stessa sessione.- Su Linux, incluso all’interno di WSL 2, Claude Code può verificare per evidenza di processo anche per un figlio che è già uscito. Su macOS può verificare in quel modo solo mentre il processo di pubblicazione è ancora in esecuzione, e in un contenitore dove Claude Code viene eseguito come ID processo 1 non ha alcuna evidenza di processo. Su Windows nativo non ne ha nemmeno.
- Su macOS dopo che il processo di pubblicazione è uscito e in contenitori dove Claude Code viene eseguito come ID processo 1, quella evidenza di processo manca, e Claude Code verifica invece un figlio che ha inviato il
CLAUDE_CODE_MESSAGING_TOKENesportato della sessione nella riga di autenticazione che ha aperto la sua connessione. Su Windows nativo, quel token è l’unico modo in cui Claude Code verifica un messaggio proprio-figlio. - Quando Claude Code non può verificare in nessun modo, tratta il messaggio come qualsiasi altro che non asserisce alcuna classe di autorizzazione, quindi una sessione che bypassa i prompt di autorizzazione lo trattiene per la tua approvazione.
- Sessioni in sandbox: controlla se un comando Bash può raggiungere il socket dall’interno della sandbox con le impostazioni del socket Unix della sandbox,
sandbox.network.allowAllUnixSocketsesandbox.network.allowUnixSockets.
Limitare la messaggistica tra sessioni
Oltre alle impostazioni predefinite per messaggio, è possibile limitare la messaggistica in due modi. Richiedere l’approvazione prima che qualsiasi messaggio lasci la macchina, oppure disattivare la messaggistica per una sessione o un’organizzazione.Richiedere approvazione per i messaggi tra macchine
ImpostareisolatePeerMachines su true per richiedere l’approvazione esplicita prima che qualsiasi SendMessage raggiunga una sessione al di là di questa macchina:
bypassPermissions, che ignora i normali prompt di autorizzazione. Un valore true da qualsiasi ambito di impostazioni si applica, quindi un file di progetto archiviato può attivare il requisito ma non disattivarlo. Claude Code non richiede l’approvazione per i messaggi tra sessioni sulla stessa macchina.
Disattivare la messaggistica tra sessioni
La ricezione e l’invio sono controlli separati, quindi disattivare la direzione di cui hai bisogno, o entrambe. UtilizzarecrossSessionInbound per i messaggi in arrivo e le regole di autorizzazione per ciò che Claude qui può inviare o elencare:
- Interrompere la ricezione: impostare
crossSessionInboundsurefuse, e Claude Code elimina i messaggi peer in arrivo senza consegnarli. Dalle impostazioni di progetto o locali,refusesi applica su ogni altra fonte, e dalle impostazioni utente si applica a meno che le impostazioni gestite o il flag--settingsimpostino un valore. - Interrompere l’invio e l’elenco: aggiungere regole di negazione delle autorizzazioni che denominano
SendMessageeListAgents. Entrambi accettano il nome dello strumento senza specificatore.
refuse:
SendMessage rimuove anche la messaggistica ai subagent e ai compagni di squadra dell’agente, poiché lo stesso strumento serve entrambi. Una sessione che rifiuta non mostra alcun cambiamento visibile, nel suo /status o negli elenchi di altre sessioni sulla stessa macchina, quindi per confermarlo, controllare i file di impostazioni che si applicano a quella sessione piuttosto che il suo stato.
Disponibilità
La messaggistica tra sessioni richiede Claude Code v2.1.224 o successiva su macOS, Linux e WSL 2, e v2.1.234 o successiva su Windows nativo. La disponibilità, e quali sessioni Claude può inviare messaggi, dipendono anche dal tuo sistema operativo, provider e configurazione:- Sistema operativo: disponibile su macOS, Windows e Linux, incluso Linux all’interno di WSL 2.
-
Sessioni su questa macchina: disponibile su ogni provider, inclusi Amazon Bedrock, Claude Platform su AWS, Agent Platform di Google Cloud e Microsoft Foundry, e in sessioni che vengono eseguite con fetching dei flag di funzionalità disattivato. Su quei provider, e con il fetching dei flag disattivato, la messaggistica sulla stessa macchina richiede Claude Code v2.1.248 o successiva. Claude Code consegna questi messaggi su un socket per sessione sulla tua macchina, mai attraverso i server Anthropic.
Per impedire a una sessione di riceverli, imposta
crossSessionInboundsurefuse. - Sessioni oltre questa macchina: Claude trova le tue sessioni Claude Code sul web e le tue sessioni su altre macchine da una sessione che è connessa a Remote Control, che ha bisogno di un accesso claude.ai come autenticazione attiva di questa sessione e degli altri requisiti di Remote Control. Claude non può trovare quelle sessioni con una chiave API o su Amazon Bedrock, Claude Platform su AWS, Agent Platform di Google Cloud e Microsoft Foundry.
/list-agents, disponibile anche come /peers. Il risultato separa una sessione che non ha la funzione da una sessione dove qualcosa di più stretto ha bloccato un messaggio, come uno strumento SendMessage mancante o un invio rifiutato:
/list-agentsnon è riconosciuto: la sessione non ha messaggistica tra sessioni. Lavora attraverso i requisiti sopra, iniziando conclaude --versionper il requisito di versione./list-agentsfunziona ma un invio non è arrivato: la messaggistica è attiva, e qualcosa di più stretto si applica:- Regole di negazione: una regola di autorizzazione di negazione rimuove gli strumenti
SendMessageeListAgents. - Controlli in entrata: i controlli in entrata della sessione ricevente possono trattenere o eliminare quello che invii.
- Sessione cloud mancante: una sessione cloud appare solo mentre questa sessione è connessa a Remote Control.
- Sessione su un’altra macchina mancante: una sessione su un’altra delle tue macchine appare solo quando viene eseguita con Remote Control e questa sessione è connessa anche.
- Sessione su un’altra macchina
offline: un messaggio a una sessione elencata comeofflineva a buon fine, ma arriva solo dopo che la macchina di quella sessione si riconnette. - Sessione cloud o su un’altra macchina più vecchia mancante: Claude Code legge quegli elenchi di sessioni dal più recente al più vecchio e si ferma dopo un numero limitato di pagine, quindi Claude non può inviare un messaggio a una sessione che è caduta oltre di loro per nome.
- Avvio di una conversazione: Invia messaggi a sessioni su altre macchine copre l’avvio di una conversazione con una sessione oltre questa macchina.
- Regole di negazione: una regola di autorizzazione di negazione rimuove gli strumenti
/status mostra anche una riga Peer address con l’indirizzo della posta in arrivo della sessione stessa, o unavailable e il motivo quando Claude Code non poteva impostare una posta in arrivo.
Limitazioni
I limiti qui sono proprietà del canale di messaggistica stesso e si applicano ovunque la funzione viene eseguita. Per i gap di piattaforma e provider, vedi Disponibilità invece.- Solo testo semplice: Claude invia solo testo semplice tra sessioni. I messaggi del protocollo team di agenti strutturati rimangono all’interno di un team.
- La dimensione del messaggio sulla stessa macchina è limitata: Claude Code rifiuta un messaggio a una sessione su questa macchina una volta che la sua forma serializzata supera circa un milione di caratteri. Il rifiuto nomina le dimensioni esatte. Nulla raggiunge la sessione ricevente.
- I burst rapidi a una sessione vengono rifiutati al mittente: una volta che un burst rapido di messaggi a una sessione su questa macchina raggiunge quello che la posta in arrivo di quella sessione accetta, Claude Code rifiuta ulteriori invii nella sessione di invio. Il rifiuto nomina il burst e dice a Claude di raggruppare il resto in un messaggio o aspettare. Prima della v2.1.236, Claude Code segnalava quegli invii come inviati mentre la sessione ricevente li eliminava.
- I loop di messaggi sono limitati: nella sessione ricevente, Claude Code limita la velocità dei messaggi ripetuti per mittente, elimina i ripetuti identici che arrivano entro una breve finestra, e mette in coda al massimo 50 messaggi accettati per Claude da leggere. Un loop di messaggi tra due sessioni quindi si ferma da solo. Quando il limite di velocità, il controllo di ripetizione o il limite di coda elimina un messaggio da una sessione interattiva su questa macchina, Claude Code dice a quella sessione quale lo ha eliminato e dice al suo Claude di non rinviare subito.
Risorse correlate
- Subagenti e team di agenti: messaggistica all’interno di una singola sessione o team
- Agenti in background: invia e monitora le sessioni parallele che potresti inviare messaggi
- Remote Control: connetti questa sessione per raggiungere le tue sessioni su altre macchine
- Impostazioni:
crossSessionInbound,isolatePeerMachinesedialogExpiry - Modalità di autorizzazione: le modalità dietro il default in entrata delle due classi
- Riferimento degli strumenti: le righe
ListAgentseSendMessagenella tabella degli strumenti - Esegui agenti in parallelo: confronta i modi in cui Claude Code esegue più agenti