Claude Code 2.1.232 wprowadza wzmianki @ do komunikacji między sesjami
Najnowsze wydanie narzędzia programistycznego Claude Code 2.1.232 przynosi istotną zmianę dla programistów pracujących z wieloma instancjami środowiska. Wprowadzono precyzyjny mechanizm wzmianek między sesjami, który pozwala na zaawansowaną koordynację wielu instancji Claude Code działających równolegle. Od teraz wpisanie znaku @ wraz z nazwą docelowej sesji bezpośrednio wewnątrz promptu (np. @api-worker) powoduje wyłowienie i skierowanie wiadomości do tej lokalnej sesji, co eliminuje konieczność ręcznego kopiowania danych o kontekście między procesami terminala.
Mechanika komunikacji między sesjami
Do obsługi nowej funkcjonalności model Claude wykorzystuje w tle dwa niezależne narzędzia. Pierwszym z nich jest ListAgents, które służy do cichego identyfikowania dostępnych na liście sesji. Drugim narzędziem jest SendMessage, odpowiedzialne za fizyczne dostarczanie wygenerowanego komunikatu pod wskazany adres. Cały mechanizm rutowania zaprojektowano z myślą o trzech głównych scenariuszach wdrożeniowych:
- Przekazywanie ustaleń (hand over a finding): Gdy jedna sesja odkryje zmianę psującą kod lub wypracuje decyzję architektoniczną, może wysłać syntetyczne podsumowanie do innej instancji zajmującej się aktualnie tym obszarem.
- Koordynacja równoległych drzew roboczych: Sesje pracujące w osobnych katalogach kodu (worktrees) tego samego repozytorium informują się wzajemnie o zmianach, które właśnie wylądowały w gałęzi głównej.
- Weryfikacja długich zadań: Możliwość odpytania innej działającej instancji o przebieg wykonywanej właśnie migracji bazy danych czy procesu budowania, bez ręcznego sprawdzania pętli logów.
Istotnym aspektem jest całkowita bezinwazyjność tego procesu dla odbiorcy. Dostarczenie wiadomości nigdy nie przerywa aktywnej pracy. Jeśli docelowa instancja w danej chwili wykonuje inną operację narzędziową, przychodząca wiadomość zostaje spauzowana i zbuforowana w kolejce. W przypadku sesji bezczynnej (idle), wpłynięcie komunikatu automatycznie inicjuje nową turę. Należy pamiętać, że transmitowany zbiór to zawsze tekstowy abstrakt — pod żadnym pozorem system nie transferuje pełnej historii konwersacji ani kompletnej zawartości plików z systemu plików.
Wymagania, wykluczenia i wersjonowanie systemowe
Kierowanie ruchu za pomocą bezpośrednich @-wzmianek wprowadzonych w v2.1.232 na ten moment ograniczone jest wyłącznie do systemów macOS oraz Linux. Producent oficjalnie odciął od tej funkcji szereg korporacyjnych środowisk chmurowych. Na sztywnej liście wykluczeń, w których funkcja pozostaje nieobsługiwana, znalazły się instancje: Bedrock, Claude Platform on AWS, Google Cloud Agent Platform oraz Foundry.
Sam natywny protokół wymiany cross-session, niewykorzystujący jeszcze wzmianek wewnątrz promptu, podlega innemu harmonogramowi wersjonowania:
- Zwykła komunikacja cross-session dla środowisk macOS i Linux (wliczając w to dystrybucje zamknięte w obrębie WSL 2) działa już od wersji v2.1.224.
- Natywny system operacyjny Windows zaczął obsługiwać komunikację między procesami dopiero od wydania v2.1.234 (wymiana w Windows opiera się tam na nazwanych potokach pipe, zamiast na gniazdach per-session).
- Subskrypcja na powiadomienia o bezczynności drugiej maszyny (flaga
notify_when_idle) wymaga wariantu v2.1.236 po obu stronach łącza. Posiada ona mechanizm samozniszczenia — brak otrzymania monitu o statusie bezczynności po 12 godzinach kończy się automatycznym usunięciem subskrypcji.
Wymiana danych między instancjami zachowuje restrykcyjną hermetyzację horyzontalną. Proces działający z poziomu warstwy kontenera jest w stanie dostrzec i skomunikować się tylko z instancjami w tym samym kontenerze. Podobnie dystrybucja Linuksa pod WSL 2 nie przekaże pakietów sesji natywnej gospodarza Windows.
Zarządzanie nazwami i komunikacja zdalna
Środowisko posiada komendę /list-agents, pozwalającą ręcznie przejrzeć możliwe cele do wysyłki. Instancje zyskują unikatowe nazwy autogenerowane lub nadawane przez polecenie /rename. Jeżeli kilka procesów zaczyna kolidować dzieląc tę samą nazwę, Claude Code prewencyjnie dopisuje im krótkie identyfikatory odróżniające.
Zestawienie to od kompilacji v2.1.239 wyświetla również członków wirtualnych zespołów (teammates). W przypadku sparowania narzędzia w trybie Remote Control, sesje wyeksponowane do internetu uzyskują etykietę cloud, podczas gdy inne komputery spięte z kontem klasyfikowane są jako Remote Control (gdy maszyna zrywa łączność, zmienia się na offline). Narzędzie nakłada surowe limity na stronicowanie: parsowana jest tylko określona liczba stron (bounded number of pages), przez co zbyt stare sesje chmurowe zwyczajnie wykraczają poza możliwości adresacji po nazwie.
Wymiana poza bieżącą maszyną (cross-machine) wprowadzona od v2.1.225 opiera się bezpośrednio o serwery Anthropic. Administratorzy wymagający bezwzględnej kontroli nad wypływem paczek mogą nałożyć na konfigurator środowiskowy flagę isolatePeerMachines, która blokuje i wymaga poświadczeń dla każdej informacji opuszczającej maszynę lokalną.
Bezpieczeństwo i zasady przepływu komunikatów
Infrastruktura stawia jasną granicę w domenie uprawnień. Zdalny monit nigdy nie zastępuje zgody operatora przy ekranie. Wiadomość cross-session bezwzględnie nie zatwierdzi sama prośby o dostęp (permission prompt) ani nie może przedefiniować konfiguracji zaszytej w pliku CLAUDE.md. Komendy sterujące przemycone przez drugą aplikację są renderowane ściśle jako czysty ciąg tekstowy.
Operator modyfikuje domyślną polisę na bramce wejściowej w parametrze crossSessionInbound, który wspiera tryby: accept, hold (wymóg akceptacji w oknie) oraz refuse. Dla środowisk pozbawionych tej flagi, decyduje model uprawnień (permission modes). Jeżeli maszyna pracuje w trybach wymuszających autoryzację, takich jak auto, acceptEdits czy dontAsk, potraktuje zewnętrzny komunikat wstrzymaniem, pod warunkiem że strona nadająca przedstawiła się jako środowisko pomijające te pytania.
Wstrzymanie akceptacji budzi powiadomienie dialogowe z prośbą o reakcję, z regulowanym czasem życia zdefiniowanym w dialogExpiry (standardowo pięć minut). Mechanizm wbudował także twardą obronę przed usterkami rutowania: wiadomości adresowane do pętli na tę samą nazwę, zalewające pule (rapid burst) oraz przekraczające dozwolony limit bajtów (size cap) są ubijane na warstwie protokołu, jeszcze nim opuszczą nadawcę.