Các phiên Claude Code nhắn tin cho nhau: cross-session messaging
Tóm tắt
Cross-session messaging để các phiên Claude Code tự báo cho nhau phát hiện, trạng thái và quyết định, kể cả khi bạn không yêu cầu. Tin nhắn không duyệt được gì thay bạn, không đổi được cấu hình; kiểm soát bằng crossSessionInbound và isolatePeerMachines.
Bạn đang chạy hai phiên Claude Code: một phiên đổi schema database, một phiên viết API dựa trên schema đó. Phiên thứ nhất vừa đổi tên một cột, và phiên thứ hai chuẩn bị viết code theo tên cũ. Trước đây bạn phải tự copy-paste giữa hai terminal. Với cross-session messaging, Claude ở phiên này có thể nhắn thẳng cho phiên kia, kể cả tự nhắn khi thấy cần.
Dùng thế nào?
Không cần bật gì: phiên đủ điều kiện (Claude Code v2.1.224+ trên macOS/Linux, v2.1.234+ trên Windows) là có sẵn. Bạn chỉ cần nói với Claude:
Hỏi phiên ở terminal kia xem migration xong chưa
Giải thích việc mình vừa làm cho phiên đang làm payments API
Báo @api-worker là migration schema đã xong
- Gõ
@rồi vài chữ đầu tên phiên để chọn đích từ danh sách gợi ý. - Claude tự viết nội dung tin; bạn không cần soạn từng chữ.
/list-agents(hoặc/peers) cho thấy các phiên Claude có thể liên lạc: subagent, teammate, phiên local khác, và phiên cloud hoặc máy khác khi đang kết nối Remote Control.
Khi nào hữu ích?
- Chuyển giao phát hiện: một phiên tìm ra breaking change, báo ngay cho phiên làm khu vực bị ảnh hưởng.
- Điều phối worktree song song: báo cho các phiên khác cái gì vừa được merge.
- Theo dõi việc chạy dài: nhờ Claude đăng ký nhận một thông báo khi phiên kia rảnh hoặc thoát, thay vì chạy đi kiểm tra.
Tin nhắn đến bị giới hạn những gì?
- Không thể duyệt gì thay bạn: tin từ phiên khác không bao giờ được coi là sự đồng ý của bạn với prompt xin quyền.
- Không đổi cấu hình: Claude được dặn không sửa permission, CLAUDE.md hay cấu hình vì phiên khác yêu cầu.
- Lệnh không chạy:
/compacttrong tin nhắn chỉ là văn bản. - Permission vẫn áp dụng: việc cần quyền ở phiên nhận vẫn hỏi bạn như thường.
- Tin giữa các phiên trên cùng máy đi qua socket cục bộ, không qua server Anthropic; tin tới máy khác hoặc cloud thì đi qua server Anthropic.
Kiểm soát tin nhắn đến
crossSessionInbound | Hành vi |
|---|---|
accept | Chuyển mọi tin cho Claude |
hold | Hiện thông báo, giữ lại chưa chuyển |
refuse | Bỏ mọi tin |
Không đặt gì thì Claude Code quyết định theo permission mode: phiên đang bỏ qua prompt quyền (bypass) sẽ giữ tin để bạn duyệt, trừ khi phiên gửi cũng bypass. isolatePeerMachines: true bắt buộc bạn duyệt trước khi tin rời khỏi máy.
Rủi ro và lưu ý
- Tin nhắn là dữ liệu từ phiên khác: nếu phiên gửi đọc nội dung độc hại, nó có thể truyền tiếp; các lớp bảo vệ trên tồn tại vì lý do đó.
- Tốn usage: tin được chuyển tính như một prompt bạn gõ.
- Container và WSL: phiên trong container và phiên trên máy chủ không nhắn được cho nhau.
- Tắt hẳn: deny
SendMessagevàListAgents, cộngcrossSessionInbound: "refuse".
Áp dụng thế nào?
- Dev: Đặt tên phiên rõ ràng (
/rename api-worker) để@-mention dễ; dùng thông báo khi rảnh thay vì kiểm tra thủ công. - Tech Lead: Với nhiều worktree cùng repo, quy ước phiên nào báo cho phiên nào khi merge.
- PM/Admin: Với máy dùng chung hoặc dữ liệu nhạy cảm, bật
isolatePeerMachineshoặc tắt hẳn bằng managed settings.
Nguồn & tham khảo
- Message your other Claude Code sessions — Claude Code Docs