پیامرسانی بین سشنهای Claude Code
خلاصهٔ کاملتر
تو مستندات Claude Code اومده که از نسخهٔ 2.1.224 به بعد یه سشن میتونه به سشن دیگهای که خودت راه انداختی پیام بده. کاربردش جاییه که یه سشن چیزی میفهمه که سشن دیگه بهش نیاز داره: یه تغییر شکننده که کار بقیه رو خراب میکنه، جواب سؤالی که یکی روش گیر کرده، یا وضعیت یه مهاجرت طولانی. فقط یه متن جابهجا میشه، نه تاریخچهٔ گفتوگو و نه فایل؛ برای بردن کل یه گفتوگو باید همون سشن رو resume کنی.
خود کلاد با ListAgents سشنهای در دسترس رو پیدا میکنه و با SendMessage به اسم براشون پیام میفرسته. سشن گیرنده پیام رو بین دو تا فراخوانی ابزار میخونه تا کار وسط اجرا قطع نشه، و اگه بیکار باشه با همون پیام یه نوبت جدید شروع میکنه. تحویل هم قطعی نیست: هر پیام از فیلتر crossSessionInbound سمت گیرنده رد میشه و یا تحویل داده میشه، یا برای تأیید تو کنار گذاشته میشه، یا دور ریخته میشه.
اینکه سشن مقابل کجا اجرا میشه هم مهمه. روی همین دستگاه، پیام از یه سوکت مخصوص همون سشن رد میشه و اصلاً به سرورهای انتروپیک نمیره. برای سشنهای روی دستگاه دیگه یا Claude Code روی وب، فقط جواب دادن ممکنه و شروع گفتوگو نه. چون سشنها همدیگه رو از روی فایلهای روی دیسک پیدا میکنن، یه سشن داخل کانتینر و یه سشن روی هاست به هم نمیرسن.
از نظر امنیت، پیامی که از یه سشن دیگه میاد بهعنوان حرف تو حساب نمیشه: نه میتونه به یه پرامپت دسترسی جواب بده، نه تنظیمات و CLAUDE.md رو عوض کنه، و دستوری مثل /compact توی متنش فقط متن سادهست و اجرا نمیشه. خاموش کردنش هم دو طرف جداست؛ دریافت با مقدار refuse و ارسال با قواعد deny روی همون دو تا ابزار:
{
"permissions": {
"deny": ["SendMessage", "ListAgents"]
},
"crossSessionInbound": "refuse"
}نکات کلیدی:
- نیاز به Claude Code نسخهٔ 2.1.224 یا بالاتر، فقط روی مک و لینوکس، بدون فعالسازی جداگانه
- فقط متن ساده منتقل میشه؛ نه تاریخچهٔ گفتوگو، نه فایل
- دستور /list-agents نشون میده کلاد به چه سشنهایی دسترسی داره
- سشنهای روی دستگاههای دیگه فقط میتونن جواب بدن، نه شروعکنندهٔ گفتوگو
- پیام تحویلشده مثل پرامپت خودت توی مصرف حساب میشه و حلقهٔ پیام هم با محدودیت نرخ خودش متوقف میشه




