اتوماسیونِ کار با routineها
یک routine یک پیکربندیِ ذخیرهشدهی Claude Code است: یک prompt، یک یا چند مخزن، و مجموعهای از connectorها، که یکبار بستهبندی و خودکار اجرا میشوند. Routineها روی زیرساختِ ابریِ مدیریتشدهی Anthropic اجرا میشوند، پس وقتی لپتاپت بسته است هم به کار ادامه میدهند.
هر routine میتواند یک یا چند trigger به آن متصل داشته باشد:
- Scheduled: روی یک تناوبِ تکراری مثلِ ساعتی، شبانه، یا هفتگی اجرا میشود، یا یکبار در یک زمانِ مشخصِ آینده
- API: با ارسالِ یک HTTP POST به یک endpointِ مخصوصِ هر routine همراه با یک bearer token، بهمحضِ نیاز راهاندازی میشود
- GitHub: خودکار در پاسخ به رویدادهای مخزن مثلِ pull request یا release اجرا میشود
یک routine واحد میتواند triggerها را ترکیب کند. برای مثال، یک routine بازبینیِ PR میتواند شبانه اجرا شود، از یک اسکریپتِ deploy راهاندازی شود، و همچنین به هر PR جدید واکنش دهد.
Routineها روی پلنهای Pro، Max، Team، و Enterprise با Claude Code on the web فعال در دسترساند. آنها را در claude.ai/code/routines، یا از CLI با /schedule بساز و مدیریت کن.
adminهای Team و Enterprise میتوانند routineها را برای همهی اعضا با گزینهی Routines در claude.ai/admin-settings/claude-code غیرفعال کنند. وقتی غیرفعال شود، routineهای موجود از اجرا میایستند و اعضا نمیتوانند تازه بسازند.
این صفحه ساختنِ یک routine، پیکربندیِ هر نوع trigger، مدیریتِ runها، و نحوهی اعمالِ محدودیتهای استفاده را پوشش میدهد.
نمونه موارد استفاده
Section titled “نمونه موارد استفاده”هر نمونه یک نوع trigger را با نوعِ کاری که routineها برایش مناسباند جفت میکند: بدونِ نظارت، تکرارپذیر، و گرهخورده به یک نتیجهی روشن.
نگهداریِ backlog. یک schedule trigger هر شبِ کاری روی issue tracker تو از طریقِ یک connector اجرا میشود. routine issueهای بازشده از آخرین run را میخواند، label میزند، بر اساسِ بخشی از کد که به آن ارجاع شده مالک تعیین میکند، و یک خلاصه به Slack میفرستد تا تیم روزش را با یک صفِ مرتب شروع کند.
Triage هشدارها. ابزارِ مانیتورینگت endpointِ API روی routine را وقتی یک آستانهی خطا رد شود فرا میخواند و بدنهی هشدار را بهصورتِ text پاس میدهد. routine stack trace را میکشد، آن را با کامیتهای اخیر در مخزن همبسته میکند، و یک pull request پیشنویس با یک رفعِ پیشنهادی و یک لینکِ برگشت به هشدار باز میکند. on-call بهجای شروع از یک ترمینالِ خالی، PR را بازبینی میکند.
بازبینیِ کدِ سفارشی. یک GitHub trigger روی pull_request.opened اجرا میشود. routine چکلیستِ بازبینیِ مخصوصِ تیمت را اعمال میکند، برای مسائلِ امنیت، کارایی، و سبک کامنتهای inline میگذارد، و یک کامنتِ خلاصه اضافه میکند تا بازبینهای انسانی بتوانند بهجای بررسیهای مکانیکی روی طراحی تمرکز کنند.
تأییدِ deploy. پایپلاینِ CD تو endpointِ API روی routine را بعد از هر deploy تولید فرا میخواند. routine روی بیلدِ جدید smoke check اجرا میکند، لاگهای خطا را برای regression میاسکن میکند، و قبل از بستهشدنِ پنجرهی deploy یک go یا no-go به channelِ release میفرستد.
Drift مستندات. یک schedule trigger هفتگی اجرا میشود. routine PRهای mergeشده از آخرین run را اسکن میکند، مستنداتی را که به APIهای تغییریافته ارجاع میدهند علامت میزند، و PRهای بهروزرسانی روی مخزنِ مستندات برای بازبینیِ یک ویراستار باز میکند.
پورتِ کتابخانه. یک GitHub trigger روی pull_request.closed فیلترشده به PRهای mergeشده در یک مخزنِ SDK اجرا میشود. routine تغییر را به یک SDK موازی در زبانی دیگر پورت میکند و یک PR منطبق باز میکند، تا دو کتابخانه را بدونِ اینکه یک انسان هر تغییر را دوباره پیادهسازی کند همگام نگه دارد.
بخشهای زیر ساختنِ یک routine و پیکربندیِ هر یک از این نوعهای trigger را قدمبهقدم طی میکنند.
ساختنِ یک routine
Section titled “ساختنِ یک routine”یک routine را از وب در claude.ai/code/routines، از اپلیکیشنِ Desktop، یا از CLI بساز. هر سه سطح به همان حسابِ ابری مینویسند، پس routineی که در یکی میسازی فوراً در بقیه ظاهر میشود. در اپلیکیشنِ Desktop، در نوارِ کناری روی Routines کلیک کن، بعد New routine، و Remote را انتخاب کن؛ انتخابِ Local بهجایش یک Desktop scheduled task میسازد، که بهجای ابر روی ماشینت اجرا میشود.
فرمِ ساخت، prompt، مخزنها، محیط، connectorها، و triggerهای routine را راهاندازی میکند.
Routineها بهصورتِ خودمختار بهعنوانِ نشستهای کاملِ Claude Code ابری اجرا میشوند: نه picker permission-mode هست و نه در طولِ یک run درخواستِ تأیید. نشست میتواند دستورهای shell اجرا کند، از skillهای کامیتشده در مخزنِ cloneشده استفاده کند، و هر connectorی را که شامل کردهای فرا بخواند. آنچه یک routine میتواند به آن برسد با مخزنهایی که انتخاب میکنی و تنظیمِ branch-push آنها، دسترسیِ شبکه و متغیرهای محیط، و connectorهایی که شامل میکنی تعیین میشود. هر یک از اینها را به آنچه routine واقعاً نیاز دارد محدود کن.
Routineها به حسابِ claude.ai شخصیِ تو تعلق دارند. آنها با همتیمیهایت به اشتراک گذاشته نمیشوند، و بهحسابِ سهمیهی runهای روزانهی حسابت محاسبه میشوند. هرچه یک routine از طریقِ هویتِ GitHub متصلت یا connectorهایت انجام دهد بهعنوانِ خودت ظاهر میشود: کامیتها و pull requestها کاربرِ GitHub تو را حمل میکنند، و پیامهای Slack، تیکتهای Linear، یا اکشنهای دیگرِ connector از حسابهای متصلت برای آن سرویسها استفاده میکنند.
ساخت از وب
Section titled “ساخت از وب”فرمِ ساخت را باز کن
به claude.ai/code/routines برو و روی New routine کلیک کن.
routine را نامگذاری کن و prompt را بنویس
یک نامِ توصیفی به routine بده و promptی را که Claude هر بار اجرا میکند بنویس. prompt مهمترین بخش است: routine بهصورتِ خودمختار اجرا میشود، پس prompt باید خودبسنده و دربارهی اینکه چه باید بکند و موفقیت چه شکلی است صریح باشد.
ورودیِ prompt یک انتخابگرِ مدل دارد. Claude در هر run از مدلِ انتخابشده استفاده میکند.
مخزنها را انتخاب کن
یک یا چند مخزنِ GitHub برای کارِ Claude اضافه کن. هر مخزن در شروعِ یک run، از شاخهی پیشفرض، clone میشود. Claude برای تغییراتش شاخههای پیشوندِ claude/ میسازد.
یک محیط انتخاب کن
یک محیطِ ابری برای routine انتخاب کن. محیطها کنترل میکنند که نشستِ ابری به چه چیزی دسترسی دارد:
- دسترسیِ شبکه: سطحِ دسترسیِ اینترنتِ موجود در طولِ هر run را تعیین کن
- متغیرهای محیطی: API keyها، توکنها، یا اسرارِ دیگری که Claude میتواند استفاده کند را فراهم کن
- اسکریپتِ راهاندازی: وابستگیها و ابزارهایی که routine نیاز دارد را نصب کن. نتیجه کش میشود، پس اسکریپت در هر نشست دوباره اجرا نمیشود
یک محیطِ Default با دسترسیِ شبکهی Trusted فراهم شده، که مجموعهی پیشفرضِ رجیستریهای بسته، APIهای ارائهدهندهی ابر، رجیستریهای container، و دامنههای توسعهی متداول را مجاز میکند، اما باقی همهچیز را مسدود میکند. اگر routineَت باید به سرویسهای خودت یا دامنهای بیرونِ آن فهرست برسد، قبل از اجرا دسترسیِ شبکهی محیط را ویرایش کن. برای استفاده از محیطی جدا، ابتدا یکی بساز.
یک trigger انتخاب کن
زیرِ Select a trigger، انتخاب کن که routine چطور شروع شود. میتوانی یک نوع trigger بگیری یا چند تا را ترکیب کنی.
یک تناوبِ ازپیشتنظیمشده برای یک run تکراری انتخاب کن، یا یک run یکباره را در یک timestamp مشخص زمانبندی کن. برای مدیریتِ منطقهی زمانی، stagger، بازههای cron سفارشی، و runهای یکباره، افزودنِ یک schedule trigger را ببین.
مخزن، رویدادی که باید به آن واکنش داد، و فیلترهای اختیاری را انتخاب کن. برای فهرستِ کاملِ رویدادهای پشتیبانیشده و فیلدهای فیلتر، افزودنِ یک GitHub trigger را ببین.
اینجا API را انتخاب کن، بعد routine را ذخیره کن. URL و توکن بعد از ذخیرهی routine تولید میشوند، چون به ID routine بستگی دارند. برای کپیِ URL و تولیدِ توکن، افزودنِ یک API trigger را ببین.
connectorها و دسترسیها را بازبینی کن
تبهای Connectors و Permissions در پایینِ فرم کنترل میکنند که routine به چه چیزی میتواند برسد.
زیرِ Connectors، همهی connectorهای MCP متصلت بهصورتِ پیشفرض شامل میشوند. هر کدام را که routine نیاز ندارد حذف کن. Claude میتواند از هر ابزارِ یک connectorِ شاملشده استفاده کند، از جمله نوشتنها، بدونِ درخواستِ مجوز در طولِ یک run.
زیرِ Permissions، برای هر مخزنی که Claude باید بتواند به شاخههای موجود push کند نه فقط شاخههای پیشوندِ claude/، گزینهی Allow unrestricted branch pushes را فعال کن.
routine را بساز
روی Create کلیک کن. routine در فهرست ظاهر میشود و دفعهی بعد که یکی از triggerهایش تطبیق یابد اجرا میشود. برای شروعِ فوریِ یک run، روی صفحهی جزئیاتِ routine روی Run now کلیک کن.
هر run یک نشستِ جدید در کنارِ سایر نشستهایت میسازد، جایی که میتوانی ببینی Claude چه کرد، تغییرات را بازبینی کنی، و یک pull request بسازی.
ساخت از CLI
Section titled “ساخت از CLI”در هر نشستی /schedule را اجرا کن تا یک routine زمانبندیشده را بهصورتِ گفتوگویی بسازی. میتوانی یک توضیح را هم مستقیم پاس بدهی، برای یک routine تکراری مثلِ /schedule daily PR review at 9am یا یک یکباره مثلِ /schedule clean up feature flag in one week. Claude همان اطلاعاتی را که فرمِ وب جمع میکند طی میکند، بعد routine را در حسابت ذخیره میکند.
/schedule در CLI فقط routineهای زمانبندیشده میسازد. برای افزودنِ یک API یا GitHub trigger، routine را در وب در claude.ai/code/routines ویرایش کن.
CLI مدیریتِ routineهای موجود را هم پشتیبانی میکند. /schedule list را اجرا کن تا همهی routineها را ببینی، /schedule update تا یکی را تغییر دهی، یا /schedule run تا فوراً راهاندازیاش کنی.
پیکربندیِ triggerها
Section titled “پیکربندیِ triggerها”یک routine وقتی یکی از triggerهایش تطبیق یابد شروع میشود. میتوانی هر ترکیبی از triggerهای schedule، API، و GitHub را به همان routine متصل کنی، و در هر زمان از بخشِ Select a trigger فرمِ ویرایشِ routine اضافه یا حذفشان کنی.
افزودنِ یک schedule trigger
Section titled “افزودنِ یک schedule trigger”یک schedule trigger، routine را روی یک تناوبِ تکراری اجرا میکند، یا یکبار در یک زمانِ مشخصِ آینده. در بخشِ Select a trigger یک تناوبِ ازپیشتنظیمشده انتخاب کن: ساعتی، روزانه، روزهای کاری، یا هفتگی. زمانها در منطقهی محلیات وارد و خودکار تبدیل میشوند، پس routine صرفنظر از اینکه زیرساختِ ابری کجا واقع است در آن زمانِ ساعتِ دیواری اجرا میشود.
runها ممکن است چند دقیقه بعد از زمانِ زمانبندیشده بهخاطرِ stagger شروع شوند. این آفست برای هر routine ثابت است.
برای یک بازهی سفارشی مثلِ هر دو ساعت یا اولِ هر ماه، در فرم نزدیکترین تناوبِ ازپیشتنظیمشده را انتخاب کن، بعد در CLI /schedule update را اجرا کن تا یک عبارتِ cron مشخص تنظیم کنی. حداقلِ بازه یک ساعت است؛ عبارتهایی که مکررتر اجرا میشوند رد میشوند.
زمانبندیِ یک run یکباره
Section titled “زمانبندیِ یک run یکباره”یک schedule یکباره، routine را یک بار در یک timestamp مشخص شلیک میکند. از آن استفاده کن تا بعداً در هفته به خودت یادآوری کنی، یک PR پاکسازی را بعد از پایانِ یک rollout باز کنی، یا یک کارِ پیگیری را وقتی یک تغییرِ بالادست فرود آمد کلید بزنی. بعد از اینکه routine شلیک شد، خودکار غیرفعال میشود و رابطِ وب آن را Ran علامت میزند. برای اجرای دوباره، routine را ویرایش کن و یک زمانِ یکبارهی جدید تنظیم کن.
یک run یکباره را از CLI با توصیفِ زمان به زبانِ طبیعی بساز. Claude عبارت را در برابرِ زمانِ فعلی حل میکند و قبل از ذخیره، timestamp مطلق را تأیید میکند.
/schedule tomorrow at 9am, summarize yesterday's merged PRs/schedule in 2 weeks, open a cleanup PR that removes the feature flagهمان تبدیلِ محلی-به-UTC که برای scheduleهای تکراری اعمال میشود برای timestampهای یکباره هم اعمال میشود.
runهای یکباره بهحسابِ سقفِ روزانهی run routine محاسبه نمیشوند. آنها مثلِ هر نشستِ دیگری استفادهی اشتراکِ عادیِ پلنت را مصرف میکنند. برای جزئیات استفاده و محدودیتها را ببین.
افزودنِ یک API trigger
Section titled “افزودنِ یک API trigger”یک API trigger به یک routine یک endpointِ HTTP اختصاصی میدهد. POSTکردن به endpoint با bearer tokenِ routine یک نشستِ جدید شروع میکند و یک URL نشست برمیگرداند. از این استفاده کن تا Claude Code را به سیستمهای هشدار، پایپلاینهای deploy، ابزارهای داخلی، یا هرجا که میتوانی یک درخواستِ HTTP احرازِهویتشده بزنی متصل کنی.
API triggerها از وب به یک routine موجود اضافه میشوند. CLI در حالِ حاضر نمیتواند توکن بسازد یا باطل کند.
routine را برای ویرایش باز کن
به claude.ai/code/routines برو، روی routineی که میخواهی از طریقِ API راهاندازی کنی کلیک کن، بعد روی آیکنِ مداد کلیک کن تا Edit routine باز شود.
یک API trigger اضافه کن
به بخشِ Select a trigger زیرِ کادرِ Instructions برو، روی Add another trigger کلیک کن، و API را انتخاب کن.
URL را کپی کن و یک توکن تولید کن
این modal، URL این routine را همراه با یک نمونهفرمانِ curl نشان میدهد. URL را کپی کن، بعد روی Generate token کلیک کن و توکن را بلافاصله کپی کن. توکن یکبار نشان داده میشود و بعداً قابلِ بازیابی نیست، پس آن را جایی امن مثلِ secret store ابزارِ هشدارت ذخیره کن.
endpoint را فرا بخوان
وقتی به URL پست میکنی، توکن را در هدرِ Authorization: Bearer بفرست. بخشِ راهاندازیِ یک routine در پایین یک نمونهی کامل نشان میدهد.
هر routine توکنِ خودش را دارد، که فقط به راهاندازیِ همان routine محدود است. برای چرخاندن یا باطلکردنش، به همان modal برگرد و روی Regenerate یا Revoke کلیک کن.
راهاندازیِ یک routine
Section titled “راهاندازیِ یک routine”یک درخواستِ POST به endpointِ /fire با bearer token در هدرِ Authorization بفرست. بدنهی درخواست یک فیلدِ اختیاریِ text برای کانتکستِ مخصوصِ هر run میپذیرد، مثلِ بدنهی یک هشدار یا یک لاگِ ناموفق، که در کنارِ promptِ ذخیرهشدهی routine پاس داده میشود. مقدار متنِ آزاد است و parse نمیشود: اگر JSON یا یک payload ساختاریافتهی دیگر بفرستی، routine آن را بهعنوانِ یک رشتهی تحتاللفظی دریافت میکند.
نمونهی زیر یک routine را از یک shell راهاندازی میکند:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \ -H "Authorization: Bearer sk-ant-oat01-xxxxx" \ -H "anthropic-beta: experimental-cc-routine-2026-04-01" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'یک درخواستِ موفق یک بدنهی JSON با شناسه و URL نشستِ جدید برمیگرداند:
{ "type": "routine_fire", "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ", "claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"}URL نشست را در یک مرورگر باز کن تا run را در زمانِ واقعی تماشا کنی، تغییرات را بازبینی کنی، یا مکالمه را دستی ادامه دهی.
مرجعِ API
Section titled “مرجعِ API”برای مرجعِ کاملِ API، از جمله همهی پاسخهای خطا، قواعدِ اعتبارسنجی، و محدودیتهای فیلد، راهاندازیِ یک routine از طریقِ API را در مستنداتِ Claude Platform ببین.
endpointِ /fire فقط برای کاربرانِ claude.ai در دسترس است و بخشی از سطحِ Claude Platform API نیست.
افزودنِ یک GitHub trigger
Section titled “افزودنِ یک GitHub trigger”یک GitHub trigger وقتی یک رویدادِ منطبق روی یک مخزنِ متصل رخ دهد خودکار یک نشستِ جدید شروع میکند. هر رویدادِ منطبق نشستِ خودش را شروع میکند.
GitHub triggerها فقط از رابطِ وب پیکربندی میشوند.
routine را برای ویرایش باز کن
به claude.ai/code/routines برو، روی routine کلیک کن، بعد روی آیکنِ مداد کلیک کن تا Edit routine باز شود.
یک GitHub event trigger اضافه کن
به بخشِ Select a trigger برو، روی Add another trigger کلیک کن، و GitHub event را انتخاب کن.
اپلیکیشنِ Claude GitHub را نصب کن
اپلیکیشنِ Claude GitHub باید روی مخزنی که میخواهی به آن مشترک شوی نصب باشد. اگر هنوز نصب نیست، راهاندازیِ trigger از تو میخواهد آن را نصب کنی.
trigger را پیکربندی کن
مخزن را انتخاب کن، یک رویداد از فهرستِ رویدادهای پشتیبانیشده انتخاب کن، و اختیاری فیلتر اضافه کن. trigger را ذخیره کن.
رویدادهای پشتیبانیشده
Section titled “رویدادهای پشتیبانیشده”GitHub triggerها میتوانند به هر یک از دستههای رویدادِ زیر مشترک شوند. درونِ هر دسته میتوانی یک اکشنِ مشخص مثلِ pull_request.opened انتخاب کنی، یا به همهی اکشنهای آن دسته واکنش دهی.
| رویداد | راهاندازی میشود وقتی |
|---|---|
| Pull request | یک PR باز، بسته، assign، label، sync، یا بهنحوی دیگر بهروز شود |
| Release | یک release ساخته، منتشر، ویرایش، یا حذف شود |
فیلترکردنِ pull requestها
Section titled “فیلترکردنِ pull requestها”از فیلترها استفاده کن تا محدود کنی کدام pull requestها یک نشستِ جدید شروع کنند. همهی شرایطِ فیلتر باید تطبیق یابند تا routine راهاندازی شود. فیلدهای فیلترِ در دسترس ایناند:
| فیلتر | تطبیق مییابد با |
|---|---|
| Author | نامِ کاربریِ GitHub نویسندهی PR |
| Title | متنِ عنوانِ PR |
| Body | متنِ توضیحِ PR |
| Base branch | شاخهای که PR هدف میگیرد |
| Head branch | شاخهای که PR از آن میآید |
| Labels | labelهای اعمالشده روی PR |
| Is draft | اینکه PR در حالتِ draft است یا نه |
| Is merged | اینکه PR merge شده یا نه |
هر فیلتر یک فیلد را با یک عملگر جفت میکند: برابر است، شامل است، شروع میشود با، یکی از اینهاست، یکی از اینها نیست، یا با regex تطبیق مییابد.
عملگرِ matches regex کلِ مقدارِ فیلد را آزمایش میکند، نه یک زیررشته درونِ آن. برای تطبیق با هر عنوانی که شاملِ hotfix باشد، .*hotfix.* بنویس. بدونِ آن .* احاطهکننده، فیلتر فقط عنوانی را تطبیق میدهد که دقیقاً hotfix باشد، بدونِ هیچچیز قبل یا بعدش. برای تطبیقِ تحتاللفظیِ زیررشته بدونِ نحوِ regex، بهجایش از عملگرِ contains استفاده کن.
چند نمونه ترکیبِ فیلتر:
- بازبینیِ ماژولِ auth: base branch برابرِ
main، head branch شاملِauth-provider. هر PRی را که احرازِ هویت را لمس میکند به یک بازبینِ متمرکز میفرستد. - فقط آمادهی بازبینی: is draft برابرِ
false. draftها را رد میکند تا routine فقط وقتی PR آمادهی بازبینی است اجرا شود. - backport مشروط به label: labels شاملِ
needs-backport. یک routine پورت-به-شاخهی-دیگر را فقط وقتی یک نگهدارنده PR را تگ کند راهاندازی میکند.
نگاشتِ نشستها به رویدادها
Section titled “نگاشتِ نشستها به رویدادها”هر رویدادِ منطبقِ GitHub یک نشستِ جدید شروع میکند. استفادهی مجددِ نشست در میانِ رویدادها برای routineهای راهاندازیشده با GitHub در دسترس نیست، پس دو بهروزرسانیِ PR دو نشستِ مستقل تولید میکنند.
مدیریتِ routineها
Section titled “مدیریتِ routineها”روی یک routine در فهرست کلیک کن تا صفحهی جزئیاتش باز شود. صفحهی جزئیات مخزنها، connectorها، prompt، schedule، توکنهای API، GitHub triggerها، و فهرستی از runهای گذشتهی routine را نشان میدهد.
دیدن و تعامل با runها
Section titled “دیدن و تعامل با runها”روی هر run کلیک کن تا بهعنوانِ یک نشستِ کامل بازش کنی. از آنجا میتوانی ببینی Claude چه کرد، تغییرات را بازبینی کنی، یک pull request بسازی، یا مکالمه را ادامه دهی. هر نشستِ run مثلِ هر نشستِ دیگری کار میکند: از منوی کشویی کنارِ عنوانِ نشست برای تغییرِ نام، آرشیو، یا حذفش استفاده کن.
ویرایش و کنترلِ routineها
Section titled “ویرایش و کنترلِ routineها”از صفحهی جزئیاتِ routine میتوانی:
- روی Run now کلیک کنی تا یک run را فوراً بدونِ انتظار برای زمانِ زمانبندیشدهی بعدی شروع کنی.
- از گزینهی بخشِ Repeats استفاده کنی تا schedule را متوقف یا از سر بگیری. routineهای متوقفشده پیکربندیشان را نگه میدارند اما تا وقتی دوباره فعالشان کنی اجرا نمیشوند.
- روی آیکنِ مداد کلیک کنی تا Edit routine باز شود و نام، prompt، مخزنها، محیط، connectorها، یا هر یک از triggerهای routine را تغییر دهی. بخشِ Select a trigger جایی است که scheduleها، توکنهای API، و GitHub event triggerها را اضافه یا حذف میکنی.
- روی آیکنِ حذف کلیک کنی تا routine را حذف کنی. نشستهای گذشتهای که routine ساخته در فهرستِ نشستهایت میمانند.
مخزنها و مجوزهای شاخه
Section titled “مخزنها و مجوزهای شاخه”Routineها برای cloneکردنِ مخزنها به دسترسیِ GitHub نیاز دارند. وقتی یک routine را از CLI با /schedule میسازی، Claude بررسی میکند که حسابت GitHub متصل دارد یا نه و اگر نداشته باشد از تو میخواهد /web-setup را اجرا کنی. برای دو راهِ دادنِ دسترسی، گزینههای احرازِ هویتِ GitHub را ببین.
هر مخزنی که اضافه میکنی در هر run، clone میشود. Claude از شاخهی پیشفرضِ مخزن شروع میکند مگر اینکه promptت چیزِ دیگری مشخص کند.
بهصورتِ پیشفرض، Claude فقط میتواند به شاخههای پیشوندِ claude/ push کند. این مانع از تغییرِ تصادفیِ شاخههای محافظتشده یا بلندعمر توسطِ routineها میشود. برای برداشتنِ این محدودیت برای یک مخزنِ خاص، هنگامِ ساخت یا ویرایشِ routine گزینهی Allow unrestricted branch pushes را برای آن مخزن فعال کن.
connectorها
Section titled “connectorها”Routineها میتوانند از connectorهای MCP متصلت برای خواندن از و نوشتن به سرویسهای بیرونی در طولِ هر run استفاده کنند. برای مثال، یک routine که درخواستهای پشتیبانی را triage میکند ممکن است از یک channelِ Slack بخواند و در Linear issue بسازد.
connectorها همان integrationهای claude.ai روی حسابتاند. سرورهای MCP که بهصورتِ محلی در CLI با claude mcp add اضافه کردهای روی ماشینت ذخیره میشوند نه روی حسابِ claude.aiات، پس در فهرستِ connectorها ظاهر نمیشوند. برای استفاده از یکی از آن سرورها در یک routine، آن را بهعنوانِ یک connector در claude.ai/customize/connectors اضافه کن، یا آن را در یک .mcp.json کامیتشده اعلام کن تا بخشی از مخزنِ cloneشده باشد.
وقتی یک routine میسازی، همهی connectorهای متصلِ فعلیات بهصورتِ پیشفرض شامل میشوند. هر کدام را که نیاز نیست حذف کن تا محدود کنی Claude در طولِ run به کدام ابزارها دسترسی دارد. همچنین میتوانی connectorها را مستقیم از فرمِ routine اضافه کنی.
برای مدیریت یا افزودنِ connectorها بیرون از فرمِ routine، در claude.ai به Settings > Connectors برو یا در CLI از /schedule update استفاده کن.
محیطها و دسترسیِ شبکه
Section titled “محیطها و دسترسیِ شبکه”هر routine در یک محیطِ ابری اجرا میشود که دسترسیِ شبکه، متغیرهای محیطی، و اسکریپتهای راهاندازی را کنترل میکند. routine سیاستِ شبکهی محیط را در هر run به ارث میبرد.
محیطِ Default از دسترسیِ شبکهی Trusted استفاده میکند: allowlist پیشفرضِ رجیستریهای بسته، APIهای ارائهدهندهی ابر، رجیستریهای container، و دامنههای توسعهی متداول قابلِ دسترساند، اما دامنههای دلخواه نه. درخواستهای خروجی به میزبانهای دیگر با 403 و x-deny-reason: host_not_allowed شکست میخورند. ترافیکِ connectorِ MCP از طریقِ سرورهای Anthropic مسیریابی میشود، پس connectorهایی که به routine اضافه میکنی بدونِ افزودنِ میزبانشان به Allowed domains کار میکنند. هر connectorی را که نیاز نداری زیرِ connectorها حذف کن.
برای مجازکردنِ دامنههای اضافی:
routine را برای ویرایش باز کن
روی صفحهی جزئیاتِ routine، روی آیکنِ مداد کلیک کن تا Edit routine باز شود.
انتخابگرِ محیط را باز کن
زیرِ کادرِ Instructions، آیکنِ ابر را که نامِ محیطت مثلِ Default را نشان میدهد انتخاب کن.
تنظیماتِ محیط را باز کن
موس را روی محیط در فهرست نگه دار و روی آیکنِ تنظیمات که در سمتِ راست ظاهر میشود کلیک کن.
سطحِ دسترسیِ شبکه را تغییر بده
در دیالوگِ Update cloud environment، Network access را به Custom تغییر بده و دامنههایت را در Allowed domains وارد کن. Also include default list of common package managers را تیک بزن تا allowlist پیشفرض در کنارِ دامنههای سفارشیات بماند. برای دسترسیِ نامحدود، بهجایش Full را انتخاب کن.
ذخیره کن
روی Save changes کلیک کن. سیاستِ جدید از run بعدی اعمال میشود.
برای جزئیاتِ سطوحِ دسترسی و allowlist پیشفرض، دسترسیِ شبکه را ببین.
استفاده و محدودیتها
Section titled “استفاده و محدودیتها”Routineها استفادهی اشتراک را به همان روشِ نشستهای تعاملی پایین میکشند. علاوه بر محدودیتهای استانداردِ اشتراک، routineها یک سقفِ روزانه روی تعدادِ runهایی که میتوانند بهازای هر حساب شروع شوند دارند. مصرفِ فعلی و runهای روزانهی باقیماندهی routine را در claude.ai/code/routines یا claude.ai/settings/usage ببین.
وقتی یک routine به سقفِ روزانه یا محدودیتِ استفادهی اشتراکت برسد، سازمانهایی که usage credits روشن دارند میتوانند routineها را روی overage متری به اجرا ادامه دهند. بدونِ usage credits، runهای اضافی تا وقتی پنجره بازنشانی شود رد میشوند. usage credits را از Settings > Billing در claude.ai روشن کن.
runهای یکباره بهحسابِ سقفِ روزانهی routine محاسبه نمیشوند. آنها مثلِ هر نشستِ دیگری استفادهی اشتراکِ عادیات را پایین میکشند، اما از سهمیهی روزانهی run routine بهازای هر حساب مستثنا هستند.
عیبیابی
Section titled “عیبیابی”/schedule پیغامِ «Unknown command» برمیگرداند
Section titled “/schedule پیغامِ «Unknown command» برمیگرداند”CLI وقتی یکی از پیشنیازهایش برآورده نشود /schedule را پنهان میکند. علت معمولاً یکی از اینهاست:
- با یک Console API key یا یک ارائهدهندهی ابر مثلِ Bedrock، Vertex، یا Foundry احرازِ هویت شدهای.
/scheduleبه یک ورودِ اشتراکِ claude.ai نیاز دارد. اگرANTHROPIC_API_KEYیاANTHROPIC_AUTH_TOKENدر shellت تنظیم شده، یاapiKeyHelperدرsettings.jsonتنظیم شده، ابتدا آن را حذف کن، چون اینها بر یک ورودِ claude.ai اولویت دارند DISABLE_TELEMETRY،DO_NOT_TRACK،CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC، یاDISABLE_GROWTHBOOKدر محیطِ shellت یا در بلاکِenvیک فایلِsettings.jsonتنظیم شده. اینها واکشیِ feature-flag را غیرفعال میکنند، که/scheduleبه آن وابسته است- درونِ یک نشستِ Claude Code on the web هستی. بهجایش routineها را از رابطِ وب مدیریت کن
- {/* min-version: 2.1.81 */}CLI تو قدیمیتر از v2.1.81 است.
claude updateرا اجرا کن
همیشه میتوانی routineها را در claude.ai/code/routines بسازی و مدیریت کنی، صرفنظر از اینکه CLI چطور پیکربندی شده.
«Routines are disabled by your organization’s policy»
Section titled “«Routines are disabled by your organization’s policy»”admin Team یا Enterprise تو احتمالاً گزینهی Routines را در claude.ai/admin-settings/claude-code خاموش کرده. این یک تنظیمِ سازمانیِ سمتِ سرور است، پس از پیکربندیِ محلیات قابلِ بازنویسی نیست. با adminت تماس بگیر و درخواست کن routineها برای سازمانت فعال شوند.
منابعِ مرتبط
Section titled “منابعِ مرتبط”/loopو زمانبندیِ دروننشست: کارهای محلی را درونِ یک نشستِ بازِ CLI زمانبندی کن- Desktop scheduled tasks: کارهای زمانبندیشدهی محلی که با دسترسی به فایلهای محلی روی ماشینت اجرا میشوند
- محیطِ ابری: محیطِ اجرای نشستهای ابری را پیکربندی کن
- connectorهای MCP: سرویسهای بیرونی مثلِ Slack، Linear، و Google Drive را متصل کن
- GitHub Actions: Claude را در پایپلاینِ CIات روی رویدادهای مخزن اجرا کن