رفع خطای محدودیت استفاده از ابزار در Claude
خطای محدودیت استفاده از ابزار در یک نوبت به معنای اتمام سهمیه حساب نیست. این محدودیت مربوط به تعداد فراخوانیها در یک چرخه است. با ارسال دستور ادامه، نوبت جدیدی باز میشود.
محدودیت استفاده از ابزار در این نوبت به چه معناست
محدودیت استفاده از ابزار در این نوبت به این معناست که Claude در میانهی یک پاسخ متوقف شده است، زیرا آن پاسخ با محدودیت تعداد فراخوانی ابزار مواجه شده است، نه به این دلیل که سهمیه استفاده حساب کاربری شما تمام شده باشد. تمام اطلاعاتی که Claude تا پیش از توقف پیدا کرده است، همچنان در گفتگو موجود است. کافی است یک پیام دیگر ارسال کنید و از او بخواهید ادامه دهد؛ با این کار، یک نوبت جدید با بودجهی جدید باز میشود.
هر نوبت (turn) یک رفتوبرگشت کامل در حلقهی عامل (agent loop) است. Claude خروجی شامل فراخوانی ابزارها را تولید میکند، کلاینت آن ابزارها را اجرا میکند و نتایج برای تصمیمگیری بعدی به Claude بازگردانده میشوند. این چرخه بدون بازگرداندن کنترل به شما تکرار میشود. نوبت زمانی پایان مییابد که Claude پاسخی بدون هیچ فراخوانی ابزار تولید کند. سقف نوبت، در واقع محدودیتی برای تعداد دفعات این رفتوبرگشتها در یک پاسخ واحد است.
محدودیت مصرف طرح شما یک کنترل مجزا است
محدودیت طرح، میزان استفاده شما را در یک بازه زمانی محاسبه میکند. صفحه مرکز راهنمایی Anthropic درباره پیامهای خطا، که در تاریخ 18 August 2026 بررسی شد، این مورد را در هنگام نزدیک شدن به سقف مجاز با Approaching 5-hour limit. و پس از عبور از آن با 5-hour limit reached - resets [time]. مشخص میکند. این صفحه یک زمان مشخص را اعلام میکند. صبر کردن تا آن زمان مشکل را حل میکند و هیچ متنی که در این فاصله تایپ کنید، کمکی نخواهد کرد.
پیام استفاده از ابزار (tool use) رفتار متفاوتی دارد. این پیام در میانه یک وظیفه ظاهر میشود و با ارسال یک پیام پیگیری، کار بلافاصله ادامه مییابد. سهمیه باقیمانده شما دستنخورده باقی میماند. این آزمایشی است که باید انجام دهید: اگر صبر کردن تأثیری ندارد و ادامه دادن کارساز است، شما هرگز به سقف سهمیه خود نرسیده بودید. برای مورد سهمیه، اقدامات لازم هنگام رسیدن به محدودیت مصرف Claude گزینهها را فهرست کرده است و نحوه محاسبه محدودیتهای مصرف Claude بازههای زمانی پشت این محدودیتها را توضیح میدهد.
چرا هر نوبت (turn) دارای بودجه ابزار است
هر فراخوانی ابزار، بخشی از context را مصرف میکند. درخواست ارسال میشود، ابزار اجرا میگردد و کل نتیجه به گفتگو بازمیگردد. خواندن یک فایل حجیم یا اجرای یک دستور با خروجی طولانی میتواند هزاران توکن را در یک مرحله مصرف کند و آن متن تا پایان نشست (session) در context باقی میماند. مستندات حلقه عامل (agent loop) در Anthropic پیامد این موضوع را بهوضوح بیان میکند: context در طول نوبتها انباشته میشود، بنابراین نشستی که شامل فراخوانیهای ابزار متعددی است، بسیار سنگینتر از یک نشست کوتاه خواهد بود.
بودجه در نظر گرفته شده برای هر نوبت، عاملی است که از ادامه حلقهای که دیگر پیشرفتی ندارد، جلوگیری میکند. عاملی که جستجو میکند، میخواند، دوباره جستجو میکند و همچنان نتیجهای نمییابد، تا زمانی که چیزی آن را متوقف نکند به این کار ادامه خواهد داد. این بودجه همان نقطه توقف است. بودجه، کنترل را در نقطهای به شما بازمیگرداند که میتوانید مسیر کار را تغییر دهید؛ این کار هزینه بسیار کمتری نسبت به اجازه دادن به حلقه برای رسیدن به انتهای پنجره context دارد.
این محدودیت در API کجا قابل مشاهده است
مستندات خطای عمومی Anthropic هیچ تعداد مشخصی برای فراخوانی ابزار (tool call) در هر نوبت برای اپلیکیشن چت Claude ارائه نمیدهد، بنابراین هر عدد دقیقی که در این باره میخوانید، صرفاً حدس و گمان است. همین نوع محدودیت برای API (رابط برنامهنویسی اپلیکیشن) مستند شده است و آن مستندات جایی هستند که رفتار واقعی در آن قابل مشاهده است.
فیلد stop_reason در پاسخ Messages API دلیل توقف تولید محتوا را بیان میکند. مقادیر مستند شده عبارتند از end_turn، max_tokens، stop_sequence، tool_use، pause_turn، refusal و model_context_window_exceeded. دو مورد از آنها وضعیت موجود در این راهنما را توصیف میکنند.
زمانی که حلقه نمونهبرداری سمت سرور هنگام اجرای ابزارهای سرور مانند جستجوی وب به محدودیت تکرار خود میرسد، pause_turn بازگردانده میشود. تا تاریخ 18 August 2026، صفحه دلایل توقف (handling stop reasons) این مقدار پیشفرض را 10 تکرار در هر درخواست اعلام کرده است. راهحل مستند شده این است که پاسخ را بدون تغییر به عنوان پیام دستیار (assistant message) بازگردانید تا Claude از همانجایی که متوقف شده است، ادامه دهد. این معادل API برای تایپ کردن کلمه "continue" در پنجره چت است.
max_tokens به این معنی است که پاسخ به سقف توکن خروجی تعیینشده در درخواست رسیده است. اگر پاسخ در داخل یک بلوک ناقص استفاده از ابزار قطع شود، فراخوانی ابزار قابل اجرا نخواهد بود و راهحل مستند شده این است که با یک max_tokens بالاتر دوباره تلاش کنید.
مقادیر فعلی را در صفحه دلایل توقف مطالعه کنید و به اعداد نوشتهشده در اینجا اکتفا نکنید. مقادیر پیشفرض در آن صفحه تغییر میکنند و عدد قدیمی از نداشتن عدد بدتر است.
دلایل اتمام تعداد فراخوانی ابزارها در یک گفتگو
- پرسشی که نقطه پایان طبیعی ندارد. دستور «هر چیزی که درباره X نوشته شده را پیدا کن» به مدل هیچ نشانهای نمیدهد که جستجو به پایان رسیده است.
- خواندن مکرر یک محتوای واحد، به این دلیل که پاسخ در جایی که مدل انتظار داشت، وجود ندارد.
- نتایج بزرگ ابزارها. یک صفحه وب طولانی یا یک فایل حجیم، فضایی را که بقیه نوبت (turn) به آن نیاز دارد، اشغال میکند.
- چندین کار مستقل در یک پیام. هر کار به فراخوانی ابزار مخصوص خود نیاز دارد و همگی از یک بودجه مشترک استفاده میکنند.
- کانکتورها و سرورهای MCP (پروتکل زمینه مدل) که برای این کار خاص از آنها استفاده نمیکنید. تعاریف ابزارهای آنها در درخواست بارگذاری میشود و به مدل راههای بیشتری برای صرف بودجه نوبت میدهد.
نحوه تکمیل پاسخ
اگر پاسخ ناتمام ماند، عبارت "continue" را ارسال کنید یا با ارائه یک دستورالعمل کوتاه، مشخص کنید چه بخشی از کار باقی مانده است. این کار یک نوبت جدید با بودجه توکن تازه باز میکند. مکالمه قبلی همچنان در حافظه مدل باقی میماند، بنابراین Claude کار را از همانجا ادامه میدهد و نیازی به تکرار فراخوانی ابزارها نیست.
اگر فرآیند دو بار در یک نقطه متوقف شد، یعنی حجم کار برای یک نوبت بیش از حد است؛ در این صورت آن را به بخشهای کوچکتر تقسیم کنید. بهجای درخواست برای بررسی کامل یک مخزن (repository)، ابتدا لیست فایلها را بخواهید و سپس در هر پیام، درباره یک فایل خاص پرسش کنید. چهار نوبت کوتاه، کاری را به سرانجام میرساند که یک نوبت طولانی قادر به انجام آن نیست.
محدوده جستجوی مدل را تنگتر کنید. مسیر دقیق فایل یا رشته خطای مشخص را ارائه دهید و اگر لاگ را در اختیار دارید، آن را در متن پیام کپی کنید. کپی کردن یک لاگ تنها هزینه یک پیام را دارد، در حالی که وادار کردن مدل به جستجو برای یافتن آن لاگ، چندین فراخوانی ابزار را مصرف میکند و ممکن است مدل لاگ اشتباهی را پیدا کند.
اتصالاتی (connectors) را که در حال حاضر به آنها نیاز ندارید، غیرفعال کنید. هر ابزار متصل، تعریف خود را به هر درخواست اضافه میکند که باعث مصرف حافظه (context) و افزایش گزینههای انتخابی مدل میشود. همین منطق در جلسات طولانی کدنویسی نیز صادق است؛ جایی که کوتاه نگه داشتن context در جلسات Claude Code تفاوت بین عاملی است که کار را به پایان میرساند و عاملی که در میانه راه متوقف میشود.
هنگام اجرای یک عامل، بودجه نوبتها را خودتان تعیین کنید
اگر Claude را از طریق کد خود اجرا میکنید، بودجه هر نوبت تنظیمی است که در اختیار شماست. Claude Agent SDK (کیت توسعه نرمافزار) پارامتر max_turns را در Python و maxTurns را در TypeScript ارائه میدهد که به عنوان حداکثر تعداد رفتوبرگشتهای استفاده از ابزار مستند شده است. مقدار پیشفرض مستندشده، بدون محدودیت است.
هنگامی که این سقف پر شود، SDK نتیجهای را برمیگرداند که subtype آن برابر با error_max_turns است و یک فراخوانی query() تکمرحلهای، خطایی حاوی متن Reached maximum number of turns ایجاد میکند. نتیجه همچنان شامل num_turns و session_id است، بنابراین میتوانید همان نشست را با محدودیتی بالاتر از سر بگیرید و نیازی به شروع مجدد وظیفه نیست.
در CLI (رابط خط فرمان)، همین کنترل به صورت یک flag اعمال میشود و فقط در حالت print کار میکند:
claude -p --max-turns 3 "summarise the failing tests"در راهنمای این flag ذکر شده است که هنگام رسیدن به محدودیت، با خطا خارج میشود و بهطور پیشفرض محدودیتی وجود ندارد. نسخه مشابهی از این ایده بر اساس هزینه وجود دارد: max_budget_usd در Python و maxBudgetUsd در TypeScript که حلقه را به جای تعداد نوبتها، در یک آستانه هزینه متوقف میکنند و هزینه subagent نیز در آن مجموع محاسبه میشود. اگر عاملها را روی سروری اجرا میکنید که هزینه ماهانه برای آن میپردازید، کنترل هزینههای عامل هوش مصنوعی روی VPS موضوعی است که ارزش دارد پیش از اولین اجرای طولانیمدت، تنظیم شود.
وقفه برای انتظار جهت تأیید، موضوع متفاوتی است. اگر عامل شما متوقف شده و هزینهای مصرف نمیشود، به جای تعداد نوبتها، permission_mode را بررسی کنید، زیرا یک ابزار در انتظار پاسخ انسانی است که هرگز دریافت نمیشود. حالت خودکار و تنظیمات مجوز Claude Code توضیح میدهد که کدام حالتها درخواست تأیید میکنند و کدام حالتها بدون پرسش اجرا میشوند.
چگونه رفتار فعلی را شخصاً بررسی کنید
رفتار در اینجا بدون اطلاع قبلی تغییر میکند، بنابراین هر عددی که در این راهنما آمده است را به عنوان یک دادهٔ قدیمی در نظر بگیرید، نه یک مقدار ثابت. دو منبع نشان میدهند که در حال حاضر چه چیزی معتبر است.
- مستندات API در مورد دلایل توقف، که تکرار پیشفرض ابزار سرور و روش ادامه دادن پس از آن را مشخص میکند.
- صفحهٔ مرکز راهنمایی Anthropic در مورد پیامهای خطا، که متن محدودیت استفاده را فهرست کرده است. در تاریخ 18 August 2026 بررسی شد؛ آن صفحه پیامهای استفادهٔ پنجساعته و هفتگی را مستند کرده و هیچ اشارهای به سقف ابزار در هر نوبت (per turn) نکرده است. همین عدم وجود، دلیلی است که هیچ عدد رسمی برای اپلیکیشن چت در اینجا ذکر نشده است.
اجراهای خود را اندازهگیری کنید. در Claude Code، دستور /context میزان استفاده از کانتکست فعلی را به صورت یک شبکهٔ رنگی ترسیم میکند و ابزارهایی که بیشترین سهم را مصرف میکنند نشان میدهد، و /compact برای آزاد کردن فضا، مکالمه تا این لحظه را خلاصه میکند. در Agent SDK، هر نتیجه شامل num_turns است، بنابراین میتوانید قبل از انتخاب یک سقف، ببینید یک وظیفهٔ معمول واقعاً به چند رفتوبرگشت نیاز دارد. عددی که از حجم کاری خودتان به دست میآید، ارزشمندتر از عددی است که در یک پست انجمن نوشته شده باشد.
FAQ
آیا محدودیت استفاده از ابزار با محدودیت استفاده من از Claude یکسان است؟
خیر. محدودیت استفاده، میزان مصرف شما را در یک بازه زمانی محاسبه میکند و زمان بازنشانی آن را اعلام میکند، بنابراین راه حل آن صبر کردن است. پیام محدودیت استفاده از ابزار، یک پاسخ را در میانه راه متوقف میکند زیرا آن پاسخ تمام فراخوانیهای ابزار خود را مصرف کرده است، و ارسال یک پیام دیگر، بلافاصله یک نوبت جدید با بودجه جدید آغاز میکند. اگر ادامه دادن بلافاصله کار میکند، سهمیه شما هرگز مشکل نبوده است. نحوه محاسبه محدودیتهای استفاده از Claude این مورد سهمیه را بهطور کامل پوشش میدهد.
چگونه Claude را وادار کنم کاری را که در میانه راه متوقف کرده است، تمام کند؟
یک پیام دیگر بفرستید. عبارت "Continue" کار میکند، اما دستوری که مشخص کند چه چیزی هنوز باقی مانده است، بهتر عمل میکند؛ زیرا مانع از آن میشود که مدل متنی را که از قبل در اختیار دارد، دوباره بازسازی کند. اگر برای بار دوم در همان نقطه متوقف شد، کار را به قطعات کوچکتر تقسیم کنید و در هر پیام یک قطعه را ارائه دهید. ارائه مسیرهای دقیق فایل یا چسباندن مستقیم محتوا، نیاز به جستجویی که در وهله اول بودجه را مصرف کرده است، از بین میبرد.
عبارت "límite de uso de herramientas" یا "limite de uso de ferramentas" به چه معناست؟
اینها عبارات اسپانیایی و پرتغالی همان پیام هستند که معمولاً به صورت "límite de uso de herramientas en este turno" یا "limite de uso de ferramentas neste turno" دیده میشوند. معنا در همه زبانها یکسان است: Claude تمام فراخوانیهای ابزار مجاز در یک پاسخ واحد را مصرف کرده است و سهمیه طرح شما در این مورد دخیل نیست. راه حل نیز یکسان است. با درخواست ادامه کار پاسخ دهید یا درخواست را به مراحل کوچکتر تقسیم کنید. محدودیت صورتحساب یک پیام جداگانه است و آن پیام زمان بازنشانی را ذکر میکند.
آیا ارتقای طرح من، محدودیت استفاده از ابزار در هر نوبت را افزایش میدهد؟
سطح طرح و بودجه ابزار در هر نوبت، کنترلهای متفاوتی هستند. ارتقا باعث افزایش میزان استفاده شما در یک بازه زمانی میشود، که همان محدودیتی است که زمان بازنشانی را اعلام میکند. تعداد فراخوانیهای ابزاری که یک پاسخ واحد میتواند انجام دهد، ویژگی حلقهای است که مدل را اجرا میکند و Anthropic این رقم را برای اپلیکیشن چت منتشر نمیکند. تقسیم کار به نوبتهای کوچکتر، در هر طرحی، همان چیزی است که واقعاً کمک میکند.
چرا عامل (agent) شخصی من پس از تنها چند فراخوانی ابزار متوقف میشود؟
بررسی کنید که آیا محدودیتی (cap) تعیین کردهاید یا خیر. Claude Agent SDK از max_turns در Python و maxTurns در TypeScript استفاده میکند و رابط خط فرمان از --max-turns در حالت print استفاده میکند. هنگامی که یکی از اینها به حد نصاب برسد، SDK نتیجهای با subtype برابر با error_max_turns و خطایی حاوی متن Reached maximum number of turns برمیگرداند. مقدار پیشفرض در هر دو، بدون محدودیت است. اگر هیچ محدودیتی اعمال نشده و اجرا همچنان متوقف میشود، stop_reason را در نتیجه بخوانید: max_tokens به این معنی است که سقف خروجی پر شده است و pause_turn به این معنی است که حلقه ابزار سرور به حد مجاز تکرار خود رسیده و میخواهد پاسخ برای ادامه کار به عقب فرستاده شود.