رفتن به محتوا

مدیریتِ چند ایجنت با agent view

agent view که با claude agents باز می‌شود، یک صفحه برای همه‌ی نشست‌های پس‌زمینه‌ی توست: چه چیزی در حال اجراست، چه چیزی به ورودیِ تو نیاز دارد و چه چیزی تمام شده. نشست‌های تازه dispatch کن، به‌جای پیمایش در رونوشت‌ها وضعیتشان را یک‌نگاهی ببین و فقط وقتی به تو نیاز است وارد شو. هر نشستِ پس‌زمینه یک گفتگوی کاملِ Claude Code است که بدون اتصال به ترمینال به کارش ادامه می‌دهد، پس هر وقت خواستی می‌توانی بازش کنی، جواب بدهی و بروی.

Agent view in a terminal: the header shows Claude Code v2.1.140, the model, the working directory, and a summary count. Sessions are grouped under Needs input, Working, and Completed, with a dispatch input at the bottom and a footer of keyboard hints.

از agent view زمانی استفاده کن که چند کار مستقل داری که Claude می‌تواند بدون اینکه هر قدمش را تماشا کنی رویشان کار کند. یک رفعِ باگ، یک بازبینیِ pull request و یک بررسیِ تستِ بی‌ثبات را به‌شکلِ سه ردیف dispatch کن، در پنجره‌ای دیگر به کارت ادامه بده و وقتی ردیفی نشان داد که به تو نیاز دارد یا نتیجه‌ای آماده کرده، سر بزن.

وقتی خواستی مستقیم‌تر در نشستِ یک ایجنت کار کنی، به آن ردیف attach شو تا واردِ گفتگوی کامل شوی.

برای مقایسه‌ی agent view با ساب‌ایجنت‌ها، تیم‌های ایجنت و worktreeها، اجرای ایجنت‌ها به‌صورت موازی را ببین.

این صفحه این‌ها را پوشش می‌دهد:

این راهنمای گام‌به‌گام حلقه‌ی اصلیِ agent view را پوشش می‌دهد: یک کار dispatch کن، ببین ردیفش همان‌طور که Claude کار می‌کند به‌روز می‌شود، نگاهِ سریع بینداز تا سر بزنی و جواب بدهی، و برای گفتگوی کامل attach شو. نشستی که dispatch می‌کنی پس از بستنِ agent view هم به کارش ادامه می‌دهد، پس می‌توانی بروی و دوباره به آن برگردی.

باز کردنِ agent view

از shellَت این را اجرا کن:

Terminal window
claude agents

agent view با یک ورودی در پایین و جدولی که با شروعِ نشست‌ها پر می‌شود باز می‌شود. هر وقت خواستی Esc را بزن تا به shellَت برگردی. نشست‌هایت تا وقتی نیستی به کارشان ادامه می‌دهند و دفعه‌ی بعد که agent view را باز کنی دوباره ظاهر می‌شوند.

dispatch یک نشست

پرامپتی بنویس که کاری را توصیف می‌کند و Enter بزن. یک نشستِ پس‌زمینه‌ی تازه روی آن کار شروع می‌شود و به‌شکلِ ردیفی ظاهر می‌شود که نشان می‌دهد در حالِ کار است، منتظرِ توست یا تمام شده. نشستِ تازه از مدلی که در سرتیترِ agent view نشان داده شده و همان حالتِ دسترسیای استفاده می‌کند که اگر claude را در آن دایرکتوری اجرا می‌کردی می‌گرفتی.

هر پرامپتی که اینجا وارد می‌کنی نشستِ تازه‌ی خودش را شروع می‌کند. نوشتنِ پرامپتی دیگر و زدنِ Enter نشستِ دومی را کنارِ اولی راه می‌اندازد، نه اینکه پیامی پیگیری برای آن بفرستد. به این روش می‌توانی چندتا را به‌صورت موازی اجرا کنی.

هر نشست به‌طور مستقل از سهمیه‌ی اشتراکت استفاده می‌کند، پس پیش از dispatch کردنِ تعدادِ زیادی به‌یک‌باره محدودیت‌ها را ببین.

نگاهِ سریع و پاسخ

با کلیدهای جهتی ردیفی را انتخاب کن و Space را بزن تا پنلِ نگاهِ سریع باز شود. این پنل به‌جای رونوشتِ کامل، تازه‌ترین خروجیِ نشست یا سوالی که منتظرش است را نشان می‌دهد. پاسخی بنویس و Enter بزن تا بدون خروج از agent view بفرستی.

attach و detach

وقتی گفتگوی کامل را خواستی، روی ردیف Enter یا بزن تا attach شوی. نشست به‌شکلِ یک نشستِ تعاملیِ کاملِ Claude Code کنترلِ ترمینال را به‌دست می‌گیرد. روی یک پرامپتِ خالی بزن تا detach شوی و به جدول برگردی.

آوردنِ یک نشستِ موجود به داخل

برای انتقالِ نشستی که از قبل باز داری به داخلِ agent view، داخلش /bg را اجرا کن، یا روی یک پرامپتِ خالی بزن تا آن را به پس‌زمینه ببری و در یک قدم agent view را باز کنی. نشست به کارش ادامه می‌دهد و به‌شکلِ ردیفی کنارِ نشست‌هایی که dispatch کرده‌ای ظاهر می‌شود.

می‌توانی به‌جای claude از claude agents به‌عنوان نقطه‌ی ورودِ اصلی‌ات استفاده کنی: هر کار را از agent view dispatch کن، وقتی گفتگوی کامل را خواستی attach شو و را بزن تا به جدول برگردی.

پایشِ نشست‌ها با agent view

Section titled “پایشِ نشست‌ها با agent view”

claude agents را اجرا کن تا agent view باز شود. کنترلِ کلِ ترمینال را به‌دست می‌گیرد و هر نشست را گروه‌بندی‌شده بر اساسِ وضعیت فهرست می‌کند، با نشست‌های پین‌شده و آن‌هایی که به تو نیاز دارند در بالا. هر ردیف نام نشست، فعالیتِ جاری و اینکه چند وقت پیش آخرین بار تغییر کرده را نشان می‌دهد.

به‌صورت پیش‌فرض فهرست هر نشستِ پس‌زمینه‌ای که شروع کرده‌ای را نشان می‌دهد، در همه‌ی پروژه‌هایت. نشستی که در یک مخزن کار می‌کند و نشستی دیگر در worktreeای متفاوت، هر دو اینجا ظاهر می‌شوند، فارغ از اینکه agent view را از کدام دایرکتوری باز کرده‌ای. برای محدود کردنِ فهرست به یک پروژه، --cwd را پاس بده (به Claude Code نسخه‌ی v2.1.141 یا بالاتر نیاز دارد):

Terminal window
claude agents --cwd ~/projects/my-app

این فقط نشست‌هایی را نشان می‌دهد که زیرِ آن دایرکتوری شروع شده‌اند. نشستی که به یک worktree منتقل شده زیرِ ~/projects/my-app/.claude/worktrees/، همچنان متعلق به ~/projects/my-app به‌حساب می‌آید.

نشست‌های تعاملی که در ترمینال‌های دیگر باز داری تا وقتی آن‌ها را به پس‌زمینه نبری ظاهر نمی‌شوند. ساب‌ایجنت‌ها و هم‌تیمی‌هایی که یک نشست spawn می‌کند به‌شکلِ ردیف‌های جدا فهرست نمی‌شوند.

Pinned
✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m
Ready for review
∙ jump physics Opened PR with collision fix PR #2048 2h
Needs input
✻ power-up design needs input: double jump or wall climb? 1m
Working
✽ collision detection Edit src/physics/CollisionSystem.ts 2m
✢ playtest level 3 run 12 · all checkpoints cleared in 4m
Completed
✻ title screen result: menu, options, and credits done 9m
∙ sound effects result: 14 SFX exported to assets/audio 4h
… 6 more

هر ردیف با آیکنی شروع می‌شود که رنگ و انیمیشنش وضعیتِ نشست را نشان می‌دهد:

وضعیتآیکن چطور نشان داده می‌شودمعنایش چیست
در حالِ کارمتحرکClaude فعالانه ابزار اجرا می‌کند یا پاسخ تولید می‌کند
نیازمندِ ورودیزردClaude منتظرِ سوالی مشخص یا تصمیمی درباره‌ی دسترسی از سمتِ توست
بی‌کارکم‌رنگنشست کاری برای انجام ندارد و آماده‌ی پرامپتِ بعدیِ توست
تمام‌شدهسبزکار با موفقیت پایان یافت
ناموفققرمزکار با خطا تمام شد
متوقف‌شدهخاکسترینشست با Ctrl+X یا claude stop متوقف شد

جدا از این، شکلِ آیکن نشان می‌دهد که فرایندِ زیرین در حالِ اجراست یا نه:

شکلمعنایش چیست
یا ِ متحرکفرایندِ نشست زنده است و فوراً پاسخ می‌دهد
فرایند خارج شده است. هنوز می‌توانی نگاهِ سریع بیندازی، جواب بدهی یا attach شوی، و Claude از جایی که رها کرده بود از نو شروع می‌کند
یک نشستِ /loop که بینِ تکرارها می‌خوابد. ردیف تعدادِ اجراها و یک شمارشِ معکوس را نشان می‌دهد

برچسبِ PR #N که می‌تواند در لبه‌ی راستِ یک ردیف ظاهر شود، pull requestای است که نشست باز کرده، نه بخشی از آیکنِ وضعیت. وقتی نشستی بیش از یک pull request باز کرده باشد، برچسب به‌جای آن یک شمارش نشان می‌دهد، مثلِ 3 PRs.

عنوانِ تبِ ترمینال تا وقتی agent view باز است شمارِ منتظرِ-ورودی را نشان می‌دهد: 2 awaiting input · claude agents وقتی نشست‌ها به ورودی نیاز دارند، یا claude agents وقتی هیچ‌کدام نیاز ندارند.

نشست‌های پس‌زمینه برای ادامه‌ی کار به هیچ ترمینالِ بازی نیاز ندارند. یک فرایندِ supervisorِ جدا آن‌ها را اجرا می‌کند، پس می‌توانی agent view را ببندی، shellَت را ببندی یا نشستِ تعاملیِ تازه‌ای شروع کنی و کارِ dispatch‌شده‌ات همچنان ادامه دارد.

وضعیتِ نشست روی دیسک از طریقِ به‌روزرسانی‌های خودکار و راه‌اندازیِ دوباره‌ی supervisor باقی می‌ماند. نشست‌ها وقتی ماشینت به خواب می‌رود هم حفظ می‌شوند. فرایندهایشان هنگامِ بیدار شدن از سر گرفته می‌شوند و supervisor به‌جای اینکه فاصله‌ی زمانی را به‌منزله‌ی بی‌کاری بداند دوباره به آن‌ها وصل می‌شود. خاموش کردن همچنان نشست‌های در حالِ اجرا را متوقف می‌کند؛ برای نحوه‌ی بازیابی‌شان نشست‌ها بعد از خاموشی به‌شکلِ ناموفق نشان داده می‌شوند را ببین.

خلاصه‌ی یک‌خطیِ هر ردیف توسطِ یک مدلِ کلاسِ Haiku تولید می‌شود تا ردیف بتواند بدون باز کردنِ رونوشت به تو بگوید نشست چه می‌کند، چه نیاز دارد یا چه تولید کرده. تا وقتی نشست فعالانه در حالِ کار است، خلاصه حداکثر هر ۱۵ ثانیه یک‌بار و یک‌بار هم با پایانِ هر نوبت تازه می‌شود.

از v2.1.161، وقتی نشست دو یا چند موردِ کارِ موازی را اجرا می‌کند، مثلِ ساب‌ایجنت‌ها، فرمان‌های shellِ پس‌زمینه یا مانیتورها، شماری به‌شکلِ done/total مثلِ 2/5 پیش از متنِ خلاصه ظاهر می‌شود.

هر تازه‌سازی یک درخواستِ کوتاهِ کلاسِ Haiku از طریقِ ارائه‌دهنده‌ی عادیِ توست، که زیرِ همان شرایطِ استفاده از دادهی خودِ نشست صورت‌حساب و رسیدگی می‌شود. روی ارائه‌دهنده‌های شخصِ ثالث مثلِ Bedrock، Vertex AI، Microsoft Foundry و gatewayهای سفارشی، وقتی هیچ مدلِ Haikuای پیکربندی نشده باشد، درخواست به مدلِ اصلیِ نشست برمی‌گردد. ANTHROPIC_DEFAULT_HAIKU_MODEL را تنظیم کن تا مدلِ این خلاصه‌ها را روی آن ارائه‌دهنده‌ها انتخاب کنی.

وقتی نشستی یک pull request باز می‌کند، برچسبِ PR #1234 در لبه‌ی راستِ ردیف ظاهر می‌شود، که در ترمینال‌هایی که از hyperlink پشتیبانی می‌کنند به آن pull request لینک می‌شود. این برچسب وقتی پیامی پیگیری به نشست می‌فرستی باقی می‌ماند، پس pull request همچنان دیده می‌شود در حالی که ردیف به پیشرفتِ زنده برمی‌گردد.

وقتی نشستی بیش از یک pull request باز کرده باشد، برچسب به‌جای آن یک شمارش نشان می‌دهد، مثلِ 3 PRs، که رنگش از روی pull requestِ بازی گرفته می‌شود که بیش از همه به توجه نیاز دارد. پنلِ نگاهِ سریع را باز کن تا همه را ببینی.

شماره‌ی pull request بر اساسِ وضعیتش رنگ‌آمیزی می‌شود:

رنگوضعیتِ pull request
زردمنتظرِ checkها یا بازبینی، یا checkها ناموفق
سبزcheckها پاس شدند و هیچ بازبینی‌ای مانع نیست
بنفشmerge‌شده
خاکستریپیش‌نویس یا بسته‌شده

برای بیشترِ کارها همین ستون جایی است که نتیجه را برمی‌داری: pull request را وقتی شماره‌اش سبز شد بازبینی و merge کن.

روی ردیفِ انتخاب‌شده Space را بزن تا پنلِ نگاهِ سریع باز شود. این پنل آنچه نشست از تو می‌خواهد، تازه‌ترین خروجی‌اش و هر pull requestای که باز کرده را نشان می‌دهد. بیشترِ مواقع همین کافی است و هیچ‌وقت لازم نیست رونوشتِ کامل را باز کنی.

از v2.1.161، وقتی نشست مواردِ کارِ موازی را اجرا می‌کند، پنل طولانی‌ترین موردِ در حالِ اجرا و مدتِ زمانی که در حالِ اجراست را هم نام می‌برد، تا بتوانی بدون attach شدن ببینی نشست منتظرِ چیست.

در پنلِ نگاهِ سریع پاسخی بنویس و Enter بزن تا به آن نشست فرستاده شود. وقتی نشست سوالی چندگزینه‌ای می‌پرسد، پنلِ نگاهِ سریع گزینه‌ها را نشان می‌دهد و می‌توانی کلیدِ عددی بزنی تا یکی را انتخاب کنی. برای دیگر نشست‌های مسدود، Tab را بزن تا ورودی با پاسخی پیشنهادی پر شود که می‌توانی پیش از فرستادن ویرایشش کنی. پاسخ را با ! آغاز کن تا به‌جایش یک فرمانِ Bash بفرستی.

از v2.1.145، با دیکته‌ی صوتیِ فعال، تا وقتی ورودیِ پاسخ فوکوس دارد کلیدِ فشار-برای-حرف‌زدن را نگه دار یا بزن تا به‌جای تایپ، پاسخی را دیکته کنی. همین در ورودیِ dispatch در پایینِ agent view هم کار می‌کند.

از و استفاده کن تا بدون بستنِ پنل به نشست‌های مجاور نگاهِ سریع بیندازی، یا تا attach شوی.

روی ردیفِ انتخاب‌شده Enter یا را بزن تا attach شوی. agent view با نشستِ تعاملیِ کامل جایگزین می‌شود. وقتی attach می‌شوی، Claude خلاصه‌ای کوتاه از آنچه در نبودِ تو رخ داده پست می‌کند.

تا وقتی attach هستی، نشست مثلِ هر نشستِ دیگرِ Claude Code رفتار می‌کند: هر فرمان، میان‌برِ صفحه‌کلید و قابلیتی کار می‌کند.

نشست‌های attach‌شده همیشه در حالتِ تمام‌صفحه رندر می‌شوند، فارغ از تنظیمِ tuiَت، چون یک نشستِ پس‌زمینه scrollbackِ ترمینالی ندارد که به آن اضافه شود. با PgUp، PgDn یا چرخِ موس پیمایش کن و برای حالتِ رونوشت Ctrl+O را بزن. پیمایشِ بومیِ ترمینالت و حالتِ copyِ tmux فقط viewportِ جاری را نشان می‌دهند، همان‌طور که وقتی هر برنامه‌ی تمام‌صفحه‌ای را اجرا می‌کنی.

روی یک پرامپتِ خالی بزن تا detach شوی و به agent view برگردی. اگر دیالوگی فوکوس داشته باشد و به پاسخ ندهد، Ctrl+Z را بزن تا فوراً detach شوی.

Ctrl+C تا وقتی attach هستی رفتارِ استانداردِ وقفه‌ی خود را حفظ می‌کند: به‌جای detach شدن، پاسخی در حالِ اجرا یا فرمانِ shellِ ! را لغو می‌کند. زدنِ Ctrl+C دو بار روی یک پرامپتِ خالی detach می‌کند، همان‌طور که در هر نشستی.

detach کردن هیچ‌وقت یک نشستِ پس‌زمینه را متوقف نمی‌کند: ، Ctrl+Z، /exit و دو بار Ctrl+C یا دو بار Ctrl+D همه آن را در حالِ اجرا رها می‌کنند. برای پایان دادن به یک نشست از داخلِ آن، /stop را اجرا کن.

زدنِ روی یک پرامپتِ خالی از هر نشستِ Claude Code کار می‌کند، نه فقط آن‌هایی که از agent view به آن‌ها attach شده‌ای. نشستِ جاری را به پس‌زمینه می‌برد و agent view را با همان ردیفِ انتخاب‌شده باز می‌کند، پس می‌توانی بدون ترکِ ترمینال بینِ نشست‌ها جابه‌جا شوی. ردیف حتی از یک نشستِ تازه بدونِ تاریخچه‌ی گفتگو هم ساخته می‌شود، پس به آن برمی‌گردد. وقتی آن ردیف تنها ردیف باشد، agent view زیرِ آن یک راهنمای onboarding نشان می‌دهد. می‌توانی این میان‌بر را در /config خاموش کنی (تنظیمِ leftArrowOpensAgents).

agent view نشست‌ها را طوری گروه‌بندی می‌کند که آن‌هایی که به ورودی نیاز دارند در بالا باشند، با Ready for review و Needs input بالای Working و Completed. این نام‌های گروه یک‌به‌یک با وضعیت‌های بالا نگاشت نمی‌شوند: نشست وقتی pull requestِ بازی داشته باشد به Ready for review می‌رود و Completed نشست‌های تمام‌شده، ناموفق و متوقف‌شده را با هم جمع می‌کند. Ctrl+S را بزن تا به‌جایش بر اساسِ دایرکتوری گروه‌بندی شود. انتخابت در اجراهای بعدی باقی می‌ماند.

در یک گروه:

  • Ctrl+T را بزن تا نشستی را به بالا پین کنی و فرایندش را در حالِ اجرا نگه داری حتی وقتی بی‌کار است
  • Shift+↑ یا Shift+↓ را بزن تا نشست‌ها را دوباره مرتب کنی
  • Ctrl+R را بزن تا نام نشستی را تغییر دهی
  • روی سرتیترِ یک گروه Enter بزن تا جمعش کنی

برای حذفِ یک نشست از فهرست، Ctrl+X را بزن تا متوقفش کنی و Ctrl+X را ظرفِ دو ثانیه دوباره بزن تا حذفش کنی. زدنِ Ctrl+X روی سرتیترِ یک گروه، پس از تایید، هر نشستِ آن گروه را حذف می‌کند.

حذف کردن نشست را از agent view برمی‌دارد. اگر Claude برای نشست worktreeای ساخته باشد، حذف کردن آن worktree را هم برمی‌دارد، از جمله هر تغییرِ commit‌نشده‌ای در آن، پس کاری که می‌خواهی نگه داری را اول push یا commit کن. worktreeای که خودت ساخته‌ای و نشست را داخلش شروع کرده‌ای سرِ جایش می‌ماند. رونوشتِ گفتگو روی ماشینِ محلیِ تو می‌ماند و از طریقِ claude --resume در دسترس باقی می‌ماند.

نشست‌های تمام‌شده‌ی قدیمی‌تر در یک ردیفِ … N more جمع می‌شوند تا فهرست کوتاه بماند. ناموفق‌ها و نشست‌هایی با pull requestِ باز همیشه دیده می‌شوند.

به‌جای dispatch کردن، در ورودیِ dispatch تایپ کن تا فیلتر کنی:

فیلترنشان می‌دهد
a:<name>نشست‌هایی که ایجنتِ نام‌برده‌شده را اجرا می‌کنند
s:<state>نشست‌ها در وضعیتِ داده‌شده، مثلِ s:working. همچنین s:blocked را برای هر چیزی که منتظرِ توست می‌پذیرد
#<number> یا یک PR URLنشستی که روی آن pull request کار می‌کند
هر URL دیگرینشستی که اولین پرامپتش آن URL را داشته

در agent view ? را بزن تا هر میان‌بر را در بافتارش ببینی. جدولِ زیر آن‌ها را خلاصه می‌کند.

میان‌برکنش
/ جابه‌جایی بینِ ردیف‌ها
Enterattach شدن به نشستِ انتخاب‌شده، یا dispatch اگر متنی در ورودی باشد
Spaceباز یا بستنِ پنلِ نگاهِ سریع برای نشستِ انتخاب‌شده
Shift+Enterdispatch و attach شدنِ فوری
attach شدن به نشستِ انتخاب‌شده
Alt+1..Alt+9attach شدن به نشستِ ۱ تا ۹ در دایرکتوریِ نشستِ فوکوس‌شده
Tabروی یک ورودیِ خالی، مرورِ همه‌ی ساب‌ایجنت‌ها. در غیرِ این صورت اعمالِ پیشنهادِ برجسته‌شده
Ctrl+Sجابه‌جا کردنِ گروه‌بندی بینِ وضعیت و دایرکتوری
Ctrl+Tپین یا برداشتنِ پینِ نشستِ انتخاب‌شده
Ctrl+Rتغییرِ نامِ نشستِ انتخاب‌شده
Ctrl+Gباز کردنِ پرامپتِ dispatch در $VISUAL یا $EDITORِ تو
Ctrl+Xمتوقف کردنِ نشست؛ ظرفِ دو ثانیه دوباره بزن تا حذفش کنی
Shift+↑ / Shift+↓مرتب کردنِ دوباره‌ی نشستِ انتخاب‌شده
Escبستنِ پنلِ نگاهِ سریع، پاک کردنِ ورودی یا خروج
Ctrl+Cپاک کردنِ ورودی؛ دو بار بزن تا خارج شوی
?نمایشِ همه‌ی میان‌برها

می‌توانی نشست‌های پس‌زمینه‌ی تازه را از agent view dispatch کنی، نشستِ تعاملیِ موجودی را به پس‌زمینه بفرستی، یا یکی را مستقیم از shell شروع کنی.

در ورودیِ پایینِ agent view پرامپتی تایپ کن و Enter بزن تا نشستِ پس‌زمینه‌ی تازه‌ای شروع شود. نام نشست به‌طور خودکار از روی پرامپت گذاشته می‌شود؛ بعداً با Ctrl+R تغییرش بده.

تصویری را در پرامپت paste کن تا اسکرین‌شات یا نموداری را همراهِ کار بفرستی.

برای کنترلِ نحوه‌ی شروعِ نشست، بخش‌هایی از پرامپت را پیشوند بده یا mention کن:

ورودیاثر
<agent-name> <prompt>اگر اولین کلمه با نامِ یک ساب‌ایجنتِ سفارشی هم‌خوانی داشته باشد، آن ساب‌ایجنت با پیکربندیِ frontmatterَش به‌عنوان ایجنتِ اصلیِ نشست اجرا می‌شود
@<agent-name>یک ساب‌ایجنتِ سفارشی را هرجای پرامپت mention کن تا به‌عنوان ایجنتِ اصلی اجرا شود
@<repo>مخزنی زیرِ دایرکتوری‌ای که agent view را از آن باز کرده‌ای mention کن تا نشست همان‌جا اجرا شود
/<command>پیشنهادِ skillها و فرمان‌ها برای dispatch به‌عنوانِ پرامپت
! <command>یک فرمانِ shell را به‌عنوانِ کارِ پس‌زمینه اجرا کن به‌جای شروعِ نشستِ Claude. کار به‌شکلِ ردیفی ظاهر می‌شود که می‌توانی به آن attach شوی، تماشایش کنی و از آن detach شوی
#<number> یا یک pull request URLاگر نشستی از قبل روی آن PR کار می‌کند، به‌جای dispatch آن را انتخاب کن
Shift+Enterdispatch و attach شدنِ فوری به نشستِ تازه

مجموعه‌ی کوچکی از فرمان‌ها به‌جای dispatch در خودِ agent view اجرا می‌شوند: /exit و /quit agent view را می‌بندند و /logout تو را خارج می‌کند. هر فرمان و skillِ دیگری به‌عنوانِ اولین پرامپت به نشستِ پس‌زمینه‌ی تازه‌ای فرستاده می‌شود.

بسته‌بندیِ یک کارِ تکرارشونده به‌شکلِ یک skill به تو اجازه می‌دهد همان ورک‌فلو را بارها از agent view شروع کنی بدون اینکه پرامپت را دوباره تایپ کنی.

وقتی همان @name هم با یک ساب‌ایجنت و هم با یک مخزنِ هم‌سطح هم‌خوانی داشته باشد، ساب‌ایجنت اولویت دارد. هم‌خوانیِ صرفِ اولین‌کلمه هم اعمال می‌شود، پس پرامپتی که اتفاقاً با یکی از نام‌های ساب‌ایجنت‌هایت شروع شود آن ساب‌ایجنت را dispatch می‌کند به‌جای اینکه آن کلمه را متنِ ساده بداند. وقتی می‌خواهی صریح باشی از شکلِ @ استفاده کن، یا پرامپت را با کلمه‌ای دیگر شروع کن تا از این هم‌خوانی جلوگیری شود.

dispatch به یک دایرکتوریِ مشخص

Section titled “dispatch به یک دایرکتوریِ مشخص”

نشستِ تازه در دایرکتوری‌ای اجرا می‌شود که agent view را از آن باز کرده‌ای. برای هدف‌گیریِ دایرکتوری‌ای متفاوت:

  • claude agents را در آن دایرکتوری باز کن.
  • claude agents را در یک دایرکتوریِ والد که چند مخزن را در خود دارد باز کن و یکی را با @<repo> در پرامپت mention کن تا نشست همان‌جا اجرا شود.
  • از shell، با cd به آن دایرکتوری برو و claude --bg "<prompt>" را اجرا کن.

وقتی agent view بر اساسِ دایرکتوری گروه‌بندی شده باشد، دایرکتوریِ ردیفِ برجسته‌شده هدفِ dispatch می‌شود، پس می‌توانی به یک گروه پیمایش کنی و بدونِ تایپِ دوباره‌ی مسیر داخلش dispatch کنی.

/background یا کوتاه‌نوشتِ آن /bg را اجرا کن تا گفتگوی جاری را به یک نشستِ پس‌زمینه ببری. پرامپتی مثلِ /bg run the test suite and fix any failures را پاس بده تا اول یک دستورِ بیشتر بدهی. اگر Claude هنگامِ اجرای /bg در حالِ پاسخ دادن باشد، پاسخ در نشستِ پس‌زمینه ادامه می‌یابد.

به پس‌زمینه بردن از یک نشستِ تعاملی فرایندِ تازه‌ای شروع می‌کند که از روی گفتگوی ذخیره‌شده از سر گرفته می‌شود، پس ساب‌ایجنت‌های در حالِ اجرا، مانیتورها و فرمان‌های پس‌زمینه به آن منتقل نمی‌شوند. Claude پیش از به پس‌زمینه بردن، وقتی هرکدام در حالِ اجرا باشند، از تو تایید می‌خواهد. وقتی در پس‌زمینه قرار گرفت، نشست می‌تواند ساب‌ایجنت‌ها، مانیتورها و فرمان‌های پس‌زمینه‌ی تازه شروع کند و آن‌ها در detach و reattachهای بعدی هم به کارشان ادامه می‌دهند.

پرچم‌های پیکربندیِ راه‌اندازیِ اولیه به نشستِ به‌پس‌زمینه‌رفته منتقل می‌شوند، پس MCP serverها، تنظیمات و مدلِ fallbackَش معتبر می‌مانند:

  • --mcp-config و --strict-mcp-config
  • --settings
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions

دایرکتوری‌هایی که در طولِ نشست با /add-dir اضافه کرده‌ای هم منتقل می‌شوند.

منتقل کردنِ --allow-dangerously-skip-permissions bypassPermissions را در نشستِ به‌پس‌زمینه‌رفته در دسترس نگه می‌دارد، اما چیزِ تازه‌ای اعطا نمی‌کند. این حالت همچنان به همان پذیرشِ تعاملیِ یک‌باره که در حالتِ دسترسی، مدل و effort شرح داده شده نیاز دارد پیش از اینکه هر نشستی بتواند از آن استفاده کند.

--bg را پاس بده تا نشستی شروع کنی که مستقیم به پس‌زمینه می‌رود:

Terminal window
claude --bg "investigate the flaky SettingsChangeDetector test"

برای اجرای یک ساب‌ایجنتِ مشخص به‌عنوانِ ایجنتِ اصلیِ نشست، --bg را با --agent ترکیب کن:

Terminal window
claude --agent code-reviewer --bg "address review comments on PR 1234"

--name را پاس بده تا نامِ نمایشیِ نشست در agent view را به‌جای نامِ خودکارتولیدشده تنظیم کنی:

Terminal window
claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

پس از به پس‌زمینه بردن، Claude شناسه‌ی کوتاهِ نشست و فرمان‌های مدیریتش را چاپ می‌کند. وقتی --name را پاس می‌دهی، نام پس از شناسه‌ی کوتاه ظاهر می‌شود:

backgrounded · 7c5dcf5d · flaky-test-fix
claude agents list sessions
claude attach 7c5dcf5d open in this terminal
claude logs 7c5dcf5d show recent output
claude stop 7c5dcf5d stop this session

برای اجرای یک فرمانِ shell به‌عنوانِ کارِ پس‌زمینه به‌جای نشستِ Claude، ! را به‌عنوانِ اولین کاراکترِ ورودیِ dispatchِ agent view تایپ کن. ! به‌شکلِ پیشوند نشان داده می‌شود و هرچه بعد از آن تایپ کنی فرمان است. مثالِ زیر pytest -x را از جعبه‌ی ورودیِ agent view dispatch می‌کند:

! pytest -x

Enter را بزن تا کار شروع شود. همان کار را می‌توان مستقیم از shellَت هم با --exec راه انداخت:

Terminal window
claude --bg --exec 'pytest -x'

فرمان به‌شکلِ کاری با پشتیبانیِ PTY اجرا می‌شود و به‌شکلِ ردیفی در agent view ظاهر می‌شود، با تازه‌ترین خطِ خروجی به‌عنوانِ وضعیتش. یک کارِ shell فرمان را به‌جای Claude اجرا می‌کند، پس هیچ مدلی فراخوانده نمی‌شود و خروجی به هیچ نشستی فرستاده نمی‌شود.

برای دیدنِ خروجی، به آن ردیف attach شو، Space را بزن تا بدونِ attach شدن نگاهِ سریع بیندازی، یا claude logs <id> را از shellَت اجرا کن. خروجیِ گرفته‌شده در حافظه می‌ماند و روی دیسک نوشته نمی‌شود. ردیف و خروجی‌اش حدودِ پنج دقیقه پس از خروجِ فرمان به‌طور خودکار پاک می‌شوند، پس اگر نتیجه را لازم داری پیش از آن بخوانش.

نحوه‌ی ایزوله شدنِ ویرایش‌های فایل

Section titled “نحوه‌ی ایزوله شدنِ ویرایش‌های فایل”

هر نشستِ پس‌زمینه، چه از agent view، چه از /bg یا چه از claude --bg شروع شده باشد، در دایرکتوریِ کاریِ تو شروع می‌شود. پیش از ویرایشِ فایل‌ها، Claude نشست را به یک git worktreeِ ایزوله زیرِ .claude/worktrees/ منتقل می‌کند، تا نشست‌های موازی بتوانند همان checkout را بخوانند ولی هرکدام در مالِ خود بنویسد.

Claude در این موارد از worktree صرف‌نظر می‌کند:

  • نشست از قبل داخلِ یک git worktreeِ لینک‌شده باشد، چه Claude آن را زیرِ .claude/worktrees/ ساخته باشد و چه تو آن را با git worktree add جایی دیگر ساخته باشی
  • دایرکتوریِ کاری یک مخزنِ git نباشد و هیچ hookِ WorktreeCreateای پیکربندی نشده باشد
  • نوشتن بیرونِ دایرکتوریِ کاری باشد

برای خاموش کردنِ ایزوله‌سازیِ worktree در مخزنی که git worktreeها در آن غیرعملی‌اند، worktree.bgIsolation را روی "none" تنظیم کن. آن‌گاه نشست‌های پس‌زمینه به‌جای انتقالِ اول به یک worktree، مستقیم نسخه‌ی کاری‌ات را ویرایش می‌کنند. این تنظیم را به .claude/settings.jsonِ پروژه اضافه کن:

{
"worktree": {
"bgIsolation": "none"
}
}

بیرونِ یک مخزنِ git، نشست‌ها مستقیم در دایرکتوریِ کاری می‌نویسند و از هم ایزوله نیستند، پس از dispatch کردنِ نشست‌های موازی که همان فایل‌ها را ویرایش می‌کنند پرهیز کن. اگر از سیستمِ کنترلِ نسخه‌ی متفاوتی استفاده می‌کنی، یک hookِ WorktreeCreate پیکربندی کن و Claude ویرایش‌ها را همان‌طور که برای git می‌کند ایزوله می‌کند.

حذفِ یک نشست در agent view (دو بار Ctrl+X) worktreeای را که Claude برایش ساخته برمی‌دارد، از جمله هر تغییرِ commit‌نشده، پس تغییراتی که می‌خواهی نگه داری را اول merge یا push کن. حذف از shell با claude rm worktreeای را که تغییرِ commit‌نشده دارد نگه می‌دارد و مسیرش را چاپ می‌کند تا خودت پاکش کنی. worktreeای که خودت ساخته‌ای و نشست را داخلش شروع کرده‌ای به هر دو حالت سرِ جایش می‌ماند.

برای یافتنِ مسیرِ worktreeِ یک نشست، به آن نگاهِ سریع بینداز یا attach شو و دایرکتوریِ کاری‌اش را چک کن.

ساب‌ایجنتی که نشستِ پس‌زمینه spawn می‌کند دایرکتوریِ کاریِ نشست را به ارث می‌برد، پس ویرایش‌های فایلش در worktreeِ نشست می‌نشینند نه در نسخه‌ی کاریِ تو. برای دادنِ worktreeِ جدای خودش به یک ساب‌ایجنت، isolation: worktree را در frontmatterَش تنظیم کن یا هنگامِ spawn کردنش isolation: "worktree" را پاس بده.

نامِ مدلی که در سرتیترِ agent view نشان داده می‌شود، پیش‌فرضِ dispatch است. نشست‌های تازه‌ای که از ورودی شروع می‌کنی از این مدل استفاده می‌کنند، که از تنظیمِ model در تنظیماتِ کاربری‌ات می‌آید. آن را با انتخابِ مدلی در انتخابگرِ /model تنظیم کن، یا تنظیم را مستقیم ویرایش کن. برای override کردنش برای کلِ نشستِ agent view، هنگامِ باز کردنِ agent view --model را پاس بده. حالتِ دسترسی، مدل و effort را ببین.

هر نشستِ پس‌زمینه می‌تواند روی مدلی متفاوت اجرا شود. برای override کردنش برای یک نشست:

  • از shell، --model را با claude --bg پاس بده.
  • به نشستی در حالِ اجرا attach شو، /model را باز کن و روی یک مدل s را بزن تا فقط برای آن نشست عوضش کنی. اگر نشست respawn شود این تغییر باقی می‌ماند.
  • یک ساب‌ایجنت را که frontmatterَش فیلدِ model را تنظیم می‌کند dispatch کن.

حالتِ دسترسی، مدل و effort

Section titled “حالتِ دسترسی، مدل و effort”

یک نشستِ پس‌زمینه تنظیماتش را از دایرکتوری‌ای که در آن اجرا می‌شود می‌خواند، همان‌طور که اگر claude را همان‌جا شروع کرده بودی.

حالتِ دسترسی به نحوه‌ی شروعِ نشست بستگی دارد. به پس‌زمینه بردنِ نشستِ موجود با /bg یا حالتِ دسترسیِ جاری را حفظ می‌کند، پس نشستی که به acceptEdits یا auto سوییچ کرده‌ای بعد از detach در همان حالت می‌ماند. dispatch از ورودیِ agent view یا اجرای claude --bg از shellَت از defaultModeِ تنظیماتِ آن دایرکتوری استفاده می‌کند، یا permissionMode از frontmatterِ ساب‌ایجنتِ dispatch‌شده.

حالتِ دسترسی، مدل و effortای که نشستِ پس‌زمینه با آن‌ها شروع شده، به‌همراهِ پرچم‌های پیکربندی‌ای که با خود می‌برد، همگی وقتی supervisor بعداً فرایندش را متوقف و دوباره راه‌اندازی می‌کند باقی می‌مانند. نشستی که با claude --bg --dangerously-skip-permissions یا claude --bg --permission-mode bypassPermissions راه انداخته‌ای بعد از آن راه‌اندازیِ دوباره در bypassPermissions می‌ماند به‌جای اینکه به defaultModeِ دایرکتوری برگردد، و مدل یا effortای که میانه‌ی نشست با /model یا /effort عوض کرده‌ای حفظ می‌شود.

برای تعیینِ پیش‌فرض‌ها برای هر نشستی که از agent view dispatch می‌کنی، هنگامِ باز کردنش هرکدام از --permission-mode، --model، --effort یا --agent را پاس بده:

Terminal window
claude agents --permission-mode plan --model opus --effort high

--agent ساب‌ایجنتی را تعیین می‌کند که وقتی پرامپتِ dispatch هیچ‌کدام را نام نبرد استفاده می‌شود، چه با @name و چه به‌عنوانِ اولین کلمه. اگر تنظیمِ agent تنظیم شده باشد به آن پیش‌فرض می‌شود، در غیرِ این صورت به ایجنتِ همه‌کاره‌ی داخلیِ claude. نام بردنِ ساب‌ایجنتی در ورودیِ dispatch هر دو را override می‌کند.

claude agents همچنین --dangerously-skip-permissions را به‌عنوانِ کوتاه‌نوشتِ --permission-mode bypassPermissions می‌پذیرد، و --allow-dangerously-skip-permissions را تا bypassPermissions را در چرخه‌ی Shift+Tabِ هر نشستِ dispatch‌شده در دسترس کند بدونِ اینکه در آن حالت شروع شود. هر دو با پرچم‌های سطح‌بالای CLI هم‌خوانی دارند.

این پرچم‌ها در نسخه‌های مختلف اضافه شده‌اند. نسخه‌های قدیمی‌تر آن‌ها را با خطای گزینه‌ی ناشناخته رد می‌کنند.

پرچم یا تنظیمکمینه‌ی نسخه
--permission-mode، --model، --effort، --dangerously-skip-permissionsv2.1.142 {/* min-version: 2.1.142 */}
--allow-dangerously-skip-permissionsv2.1.143 {/* min-version: 2.1.143 */}
--agent، و رعایتِ تنظیمِ agent برای نشست‌های dispatch‌شدهv2.1.157 {/* min-version: 2.1.157 */}

پیش از v2.1.157، agent view تنظیمِ agent را نادیده می‌گیرد و ایجنتِ داخلیِ claude را dispatch می‌کند.

پیش‌فرض‌های فعال در footerِ زیرِ ورودیِ dispatch ظاهر می‌شوند.

بدونِ این پرچم‌ها، نشست از defaultModeِ تنظیماتِ آن دایرکتوری یا permissionMode از frontmatterِ ساب‌ایجنتِ dispatch‌شده استفاده می‌کند، و از مدلی که در سرتیترِ agent view نشان داده شده.

استفاده از bypassPermissions یا auto تا وقتی آن حالت را با یک‌بار اجرای تعاملیِ claude با آن نپذیرفته باشی رد می‌شود، چون این حالت‌ها به نشستی که تماشایش نمی‌کنی اجازه می‌دهند بدونِ تایید عمل کند. همین صدق می‌کند، چه حالت را به claude agents پاس بدهی و چه به claude --bg --permission-mode.

تنظیمات، پلاگین‌ها و MCP serverها

Section titled “تنظیمات، پلاگین‌ها و MCP serverها”

agent view همان پرچم‌های پیکربندیِ claude را برای بارگذاریِ تنظیمات، پلاگین‌ها، MCP serverها و دایرکتوری‌های اضافی می‌پذیرد. این پرچم‌ها به Claude Code نسخه‌ی v2.1.142 یا بالاتر نیاز دارند. هر پرچم به خودِ agent view اعمال می‌شود و به هر نشستی که از آن dispatch می‌کنی منتقل می‌شود، پس پلاگین یا MCP serverای که به این شکل بار می‌کنی در آن نشست‌ها هم در دسترس است.

پرچماثر
--settings <file-or-json>override کردنِ تنظیمات برای agent view و نشست‌های dispatch‌شده
--add-dir <path>اعطای دسترسیِ فایل به یک دایرکتوریِ اضافی
--plugin-dir <path>بارگذاریِ یک پلاگین از یک دایرکتوریِ محلی
--mcp-config <file-or-json>بارگذاریِ MCP serverها از یک فایلِ پیکربندی یا رشته‌ی JSON
--strict-mcp-configاستفاده فقط از MCP serverهای --mcp-config، با نادیده گرفتنِ سایرِ پیکربندیِ MCP

--add-dir، --plugin-dir یا --mcp-config را به‌ازای هر مقدار یک‌بار تکرار کن. شکلِ فاصله‌جداشده، مثلِ --add-dir a b c، با claude agents پشتیبانی نمی‌شود.

مثالِ زیر agent view را با override کردنِ تنظیمات و یک دایرکتوریِ اضافی باز می‌کند:

Terminal window
claude agents --settings ./ci-settings.json --add-dir ../shared-lib

هر نشستِ پس‌زمینه شناسه‌ی کوتاهی دارد که می‌توانی از shell استفاده کنی. شناسه وقتی نشستی را با claude --bg شروع می‌کنی چاپ می‌شود، و شناسه‌ی هر نشست نامِ دایرکتوری‌اش زیرِ ~/.claude/jobs/ است. این فرمان‌ها برای اسکریپت‌نویسی یا وقتی نمی‌خواهی agent view را باز کنی مفیدند.

فرمانهدف
claude agentsباز کردنِ agent view
claude agents --cwd <path>باز کردنِ agent view محدود به نشست‌های شروع‌شده زیرِ <path>
claude agents --jsonچاپِ نشست‌های فعال به‌شکلِ آرایه‌ی JSON و خروج: هر نشستِ زنده، به‌علاوه‌ی نشست‌های پس‌زمینه‌ای که هنوز در حالِ کار یا مسدودند حتی وقتی فرایندشان خارج شده. --all را اضافه کن تا نشست‌های پس‌زمینه‌ی تمام‌شده را هم شامل شود. هر ورودی cwd، kind و startedAt دارد. ورودی‌های پس‌زمینه id هم دارند، که با claude attach/logs/stop قابلِ استفاده است، و state: یکی از working، blocked، done، failed یا stopped. pid و status فقط تا وقتی فرایند زنده است حاضرند، به‌علاوه‌ی waitingFor وقتی status برابرِ waiting است، که می‌گوید نشست منتظرِ چه چیزی مسدود شده، مثلِ permission prompt یا input needed؛ sessionId و name وقتی تنظیم شده باشند ظاهر می‌شوند. برای فیلتر با --cwd <path> ترکیب کن
claude attach <id>attach شدن به نشستی در این ترمینال
claude logs <id>چاپِ خروجیِ اخیرِ نشست
claude stop <id>متوقف کردنِ یک نشست. همچنین claude kill را می‌پذیرد
claude respawn <id>راه‌اندازیِ دوباره‌ی نشستی، در حالِ اجرا یا متوقف، با گفتگوی دست‌نخورده، مثلاً برای برداشتنِ باینریِ به‌روزشده‌ی Claude Code
claude respawn --allراه‌اندازیِ دوباره‌ی هر نشستِ در حالِ اجرا، مثلاً برای انتقالِ همه‌ی نشست‌ها به‌یک‌باره روی باینریِ به‌روزشده‌ی Claude Code
claude rm <id>برداشتنِ یک نشست از فهرست. worktreeای را که Claude برای نشست ساخته، اگر تغییرِ commit‌نشده نداشته باشد، برمی‌دارد؛ در غیرِ این صورت مسیرِ worktree را چاپ می‌کند تا پاکش کنی. worktreeای را که خودت ساخته‌ای سرِ جایش می‌گذارد. رونوشتِ گفتگو روی ماشینِ محلیِ تو می‌ماند و از طریقِ claude --resume در دسترس باقی می‌ماند
claude daemon statusچاپِ وضعیتِ supervisor، نسخه، دایرکتوریِ socket و شمارِ workerها
claude daemon stop --anyمتوقف کردنِ فرایندِ supervisor و نشست‌های پس‌زمینه‌ای که میزبانی می‌کند. --keep-workers را پاس بده تا نشست‌های پس‌زمینه در حالِ اجرا بمانند تا supervisorِ بعدی دوباره به آن‌ها وصل شود. claude agents یا claude --bgِ بعدی supervisorِ تازه‌ای شروع می‌کند

نحوه‌ی میزبانیِ نشست‌های پس‌زمینه

Section titled “نحوه‌ی میزبانیِ نشست‌های پس‌زمینه”

هر نشستی که در agent view فهرست شده یک نشستِ پس‌زمینه به‌حساب می‌آید، چه اکنون به آن attach باشی و چه نه. در مقابل، نشستی که با اجرای مستقیمِ claude شروع می‌شود به آن ترمینال گره خورده و با بسته شدنش پایان می‌یابد، مگر اینکه آن را به پس‌زمینه بفرستی.

نشست‌های پس‌زمینه توسطِ یک فرایندِ supervisorِ هر-کاربر میزبانی می‌شوند، جدا از ترمینالت و از agent view. supervisor اولین باری که نشستی را به پس‌زمینه می‌بری یا agent view را باز می‌کنی به‌طور خودکار شروع می‌شود و تو مستقیم آن را مدیریت نمی‌کنی.

supervisor و نشست‌هایش با همان اعتبارنامه‌های نشست‌های تعاملی‌ات احراز هویت می‌شوند و هیچ اتصالِ شبکه‌ی اضافی فراتر از API مدل برقرار نمی‌کنند.

هر نشستِ پس‌زمینه فرایندِ Claude Codeِ خودش است، که توسطِ supervisor مدیریت می‌شود نه گره‌خورده به ترمینالت. نشستی که فعالانه در حالِ کار است، منتظرِ ورودیِ توست یا ترمینالی به آن attach است فرایندش را در حالِ اجرا نگه می‌دارد. یک فرمانِ shellِ پس‌زمینه، ساب‌ایجنت، ورک‌فلوی پویا یا مانیتورِ در حالِ اجرا به‌عنوانِ کارِ فعال به‌حساب می‌آید، پس فرایندی طولانی‌مدت مثلِ یک dev server نشست را زنده نگه می‌دارد.

وقتی نشستی تمام شد و حدودِ یک ساعت بدونِ attach بماند، supervisor فرایندش را متوقف می‌کند تا منابع آزاد شوند. نشستی که با Ctrl+T پین کرده‌ای مستثناست و فرایندش را در حالِ بی‌کاری در حالِ اجرا نگه می‌دارد. رونوشت و وضعیت به هر حال روی دیسک می‌مانند، و دفعه‌ی بعد که به نشستی متوقف‌شده attach شوی، نگاهِ سریع بیندازی یا جواب بدهی، supervisor فرایندِ تازه‌ای از جایی که رها کرده بود شروع می‌کند. وقتی هر نشست تمام شده و هیچ ترمینالی وصل نباشد، خودِ supervisor خارج می‌شود و دفعه‌ی بعد که لازمش داشتی دوباره شروع می‌شود.

ردیفِ خالی‌ای که از زدنِ به‌جا مانده و هیچ‌وقت پرامپتی نگرفته، حدودِ پنج دقیقه بعد به‌طور کامل برداشته می‌شود تا فهرست خودش پاک شود. نشست‌های شروع‌شده با claude --bg و نشست‌هایی که منتظرِ پرامپتِ راه‌اندازی مثلِ یک دیالوگِ trust هستند به این شکل برداشته نمی‌شوند.

وقتی میزبان کم‌حافظه می‌شود، supervisor اول نشست‌های بی‌کارِ پین‌نشده را متوقف می‌کند و نشست‌های بی‌کارِ پین‌شده را تنها اگر آن کار چیزی آزاد نکرد متوقف می‌کند.

supervisor باینریِ نصب‌شده‌ی Claude Code روی دیسک را زیرِ نظر دارد و پس از اینکه به‌روزرسانِ خودکارِ معمول آن را جایگزین کرد، دوباره به نسخه‌ی تازه راه‌اندازی می‌شود. این یک زیرِنظرگیریِ فایلِ محلی است، نه یک چکِ شبکه‌ای. نشست‌های پس‌زمینه فرایندهای detach‌شده‌اند، پس از این راه‌اندازیِ دوباره به کارشان ادامه می‌دهند و supervisorِ تازه دوباره به آن‌ها وصل می‌شود. یک نشستِ بی‌کارِ پین‌شده هم در جای خود روی نسخه‌ی تازه راه‌اندازیِ دوباره می‌شود تا بدونِ reattach کردنِ تو به‌روزرسانی را بردارد.

وضعیت کجا ذخیره می‌شود

Section titled “وضعیت کجا ذخیره می‌شود”

وضعیتِ نشست زیرِ دایرکتوریِ پیکربندیِ Claude Codeِ تو ذخیره می‌شود. اگر CLAUDE_CONFIG_DIR را تنظیم کنی، supervisor به‌جای ~/.claude از آن دایرکتوری استفاده می‌کند و به‌عنوانِ نمونه‌ای جدا با نشست‌های خودش اجرا می‌شود.

مسیرمحتوا
~/.claude/daemon.logلاگِ supervisor
~/.claude/daemon/roster.jsonفهرستِ نشست‌های پس‌زمینه‌ی در حالِ اجرا، که برای اتصالِ دوباره بعد از راه‌اندازیِ دوباره استفاده می‌شود
~/.claude/jobs/<id>/state.jsonوضعیتِ هر-نشست که در agent view نشان داده می‌شود
~/.claude/jobs/<id>/tmp/دایرکتوریِ scratchِ هر-نشست. نوشتن اینجا برای دسترسی پرامپت نمی‌دهد. وقتی نشست حذف شود برداشته می‌شود

هر نشستِ پس‌زمینه متغیرِ محیطیِ CLAUDE_JOB_DIR را تنظیم‌شده روی دایرکتوریِ ~/.claude/jobs/<id>ِ خود دارد، پس فرمان‌های shellی که نشست اجرا می‌کند می‌توانند فایل‌های موقت را در $CLAUDE_JOB_DIR/tmp بنویسند بدونِ برخورد با نشست‌های موازی.

برای بازرسیِ این وضعیت بدونِ خواندنِ مستقیمِ فایل‌ها، claude daemon status را اجرا کن. گزارش می‌دهد که supervisor در دسترس است یا نه، شناسه‌ی فرایند و نسخه‌اش، دایرکتوریِ socket، و چند نشستِ پس‌زمینه زنده‌اند. /doctor خلاصه‌ای از همین چک را شامل می‌شود. روی Windows، claude daemon status وقتی فایلِ کلیدِ-pipeِ daemon قفل یا غیرقابلِ‌خواندن است، به‌جای گزارشِ یک شکستِ اتصالِ عمومی، خطای فایلِ زیرین را آشکار می‌کند.

برای خاموش کردنِ کاملِ ایجنت‌های پس‌زمینه و agent view، تنظیمِ disableAgentView را روی true بگذار یا متغیرِ محیطیِ CLAUDE_CODE_DISABLE_AGENT_VIEW را تنظیم کن. مدیران می‌توانند این را از طریقِ تنظیماتِ مدیریت‌شده اجبار کنند.

claude agents به‌جای باز کردنِ agent view ساب‌ایجنت‌ها را فهرست می‌کند

Section titled “claude agents به‌جای باز کردنِ agent view ساب‌ایجنت‌ها را فهرست می‌کند”

اگر claude agents یک شمارش و سپس ساب‌ایجنت‌های پیکربندی‌شده‌ات را چاپ کرد و بعد خارج شد، agent view در محیطِ تو در دسترس نیست. نسخه‌های قدیمی‌تر agent view را در هر محیطی باز نمی‌کردند، از جمله وقتی از طریقِ Bedrock، Vertex AI یا Foundry وصل شده باشی. claude update را اجرا کن تا تازه‌ترین نسخه را نصب کنی.

اگر agent view بعد از به‌روزرسانی هم باز نشد، چک کن که آیا با یک تنظیم یا متغیرِ محیطی خاموش شده است.

agent view بدونِ هیچ نشستی باز می‌شود

Section titled “agent view بدونِ هیچ نشستی باز می‌شود”

پیش از اینکه اولین نشستت را dispatch کنی، agent view به‌جای فهرستِ نشست‌ها یک راهنمای کوتاهِ onboarding با پرامپت‌های نمونه نشان می‌دهد. در ورودیِ پایین پرامپتی تایپ کن و Enter بزن تا اولین نشستت را dispatch کنی.

نمی‌توان agents را باز کرد چون کاری در پس‌زمینه در حالِ اجراست

Section titled “نمی‌توان agents را باز کرد چون کاری در پس‌زمینه در حالِ اجراست”

اگر زدنِ برای به پس‌زمینه بردنِ نشستِ جاری Cannot open agents — N still running in the background را نشان داد، نشست کارِ در-جریانی مثلِ یک ساب‌ایجنت، یک ورک‌فلوی پویا یا یک فرمانِ shellِ پس‌زمینه دارد، و این میان‌بر در سکوت آن را رها نمی‌کند. /tasks را اجرا کن تا ببینی چه در حالِ اجراست، سپس /bg را تا رها کردنشان را تایید کنی. برای اینکه ببینی هنگامِ به پس‌زمینه بردن چه منتقل می‌شود و چه نه، از داخلِ یک نشست را ببین.

پرامپت به‌دلیلِ کوتاهی رد شد

Section titled “پرامپت به‌دلیلِ کوتاهی رد شد”

ورودیِ dispatch توصیفِ یک کار را انتظار دارد، نه یک آغازگرِ گفت‌وگویی. پرامپتی کوتاه‌تر از چهار کاراکتر با راهنمای Too short رد می‌شود تا یک فشارِ تصادفیِ کلید نشستی شروع نکند. توصیف کن چه می‌خواهی نشست انجام دهد، مثلِ investigate the flaky checkout test.

نشست‌ها بعد از خاموشی به‌شکلِ ناموفق نشان داده می‌شوند

Section titled “نشست‌ها بعد از خاموشی به‌شکلِ ناموفق نشان داده می‌شوند”

خاموش کردن یا راه‌اندازیِ دوباره‌ی ماشینت نشست‌های پس‌زمینه‌ی در حالِ اجرا را متوقف می‌کند، پس دفعه‌ی بعد که agent view را باز کنی به‌شکلِ ناموفق نشان داده می‌شوند. به هرکدام attach شو، نگاهِ سریع بینداز یا جواب بده و نشست از جایی که رها کرده بود از نو شروع می‌شود.

خوابِ تنها این را ایجاد نمی‌کند. نشست‌ها در طولِ خواب حفظ می‌شوند و supervisor هنگامِ بیدار شدن دوباره به آن‌ها وصل می‌شود.

agent view می‌گوید سرویسِ پس‌زمینه پاسخ نداد

Section titled “agent view می‌گوید سرویسِ پس‌زمینه پاسخ نداد”

اگر attach، نگاهِ سریع یا claude logs گزارش داد که سرویسِ پس‌زمینه پاسخ نداد، احتمالاً فرایندِ supervisor گیر کرده. آن را متوقف کن و بگذار claude agentsِ بعدی یکی تازه شروع کند. برای اینکه نشست‌های پس‌زمینه‌ات در طولِ راه‌اندازیِ دوباره در حالِ اجرا بمانند، --keep-workers را پاس بده:

Terminal window
claude daemon stop --any --keep-workers

supervisorِ تازه دوباره به نشست‌های در حالِ اجرا وصل می‌شود. بدونِ --keep-workers، فرمان نشست‌های پس‌زمینه را هم پایان می‌دهد. پرچمِ --any تایید می‌کند که می‌خواهی supervisorای را که بنا به نیاز شروع شده متوقف کنی نه آن‌که به‌عنوانِ سرویسی نصب‌شده، که حالتِ پیش‌فرض است.

روی Windows، اگر supervisor به درخواستِ stop پاسخ نداد، فرمان شناسه‌ی فرایندش را چاپ می‌کند. آن فرایند را با taskkill /PID <pid> پایان بده تا بازیابی تمام شود. وقتی --keep-workers را پاس داده باشی نشست‌های پس‌زمینه همچنان حفظ می‌شوند.

نشست‌های پس‌زمینه نمی‌توانند روی macOS از Desktop، Documents یا Downloads بخوانند

Section titled “نشست‌های پس‌زمینه نمی‌توانند روی macOS از Desktop، Documents یا Downloads بخوانند”

روی macOS، میزبانِ نشستِ پس‌زمینه به‌عنوانِ فرایندِ خودش اجرا می‌شود و جدا از ترمینالت برای دسترسی به پوشه‌های محافظت‌شده درخواست می‌دهد. اگر نشستی پس‌زمینه هنگامِ خواندنِ ~/Desktop، ~/Documents، ~/Downloads یا مکانِ محافظت‌شده‌ی دیگری Operation not permitted گزارش داد، در System Settings زیرِ Privacy & Security > Files and Folders دسترسی بده، یا Full Disk Access را برای آن ورودی فعال کن.

با نصب‌کننده‌ی بومی، ورودی به‌شکلِ Claude Code ظاهر می‌شود و این اعطا در طولِ به‌روزرسانی‌ها باقی می‌ماند. با روش‌های دیگرِ نصب مثلِ Homebrew یا npm، ورودی مسیرِ باینری را نشان می‌دهد و ممکن است بعد از به‌روزرسانی دوباره نیاز به اعطا داشته باشد.

نشستی بعد از attach شدن کند پاسخ می‌دهد

Section titled “نشستی بعد از attach شدن کند پاسخ می‌دهد”

وقتی نشستی تمام شد و حدودِ یک ساعت بدونِ attach نشست، supervisor فرایندش را متوقف می‌کند تا منابع آزاد شوند. attach شدن فرایندِ تازه‌ای از جایی که رها کرده بود شروع می‌کند، که لحظه‌ای طول می‌کشد. نشست‌هایی که در حالِ کارند، منتظرِ توأند یا پین‌شده‌اند به این شکل متوقف نمی‌شوند، پس نشستی را با Ctrl+T پین کن تا پاسخ‌گو بماند.

.claude/worktrees/ در حالِ پر شدن است

Section titled “.claude/worktrees/ در حالِ پر شدن است”

حذفِ یک نشست در agent view worktreeای را که Claude برایش ساخته برمی‌دارد. claude rm worktreeای را که تغییرِ commit‌نشده دارد نگه می‌دارد و مسیرش را چاپ می‌کند. ورودی‌های به‌جا مانده را با git worktree list در دایرکتوریِ پروژه فهرست کن و هرکدام را با git worktree remove <path> بردار. پاک‌سازیِ worktreeها را ببین.

agent view در research preview است با محدودیت‌های زیر:

  • محدودیت‌های نرخ اعمال می‌شوند: نشست‌های پس‌زمینه مثلِ نشست‌های تعاملی از استفاده‌ی اشتراکت مصرف می‌کنند، پس اجرای ده ایجنت به‌صورت موازی تقریباً ده برابر سریع‌تر از اجرای یکی سهمیه مصرف می‌کند.
  • نشست‌ها محلی‌اند: نشست‌های پس‌زمینه روی ماشینِ تو اجرا می‌شوند. در طولِ خواب حفظ می‌شوند ولی اگر ماشین خاموش شود متوقف می‌شوند.
  • worktreeهای ساخته‌ی Claude همراهِ نشست در agent view حذف می‌شوند: پیش از حذفِ نشستی که فایل‌ها را در worktreeِ خودش ویرایش کرده، تغییرات را merge یا push کن. claude rm worktreeای را که تغییرِ commit‌نشده دارد نگه می‌دارد؛ worktreeای را که خودت ساخته‌ای سرِ جایش می‌گذارد.

برای راه‌های دیگرِ اجرای Claude به‌صورت موازی، این‌ها را ببین: