رفع باگی در Claude Code که ممکن بود یک دستور را دو بار اجرا کند

mixed-news.com

انتشار در منبع: انتشار در سایت ما:

مقاله اصلی · English

۲۳ اکتبر ۲۰۲۶ | نویسنده: شین اس. الیسون

رفع باگی در Claude Code که ممکن بود یک دستور ابزار را دو بار ارسال کند

شرکت آنتروپیک باگی را در Claude Code برطرف کرده است که در صورت قطع ارتباط هنگام اجرای یک درخواست به ابزار مبتنی بر پروتکل MCP از طریق HTTP، ممکن بود همان درخواست را دوباره ارسال کند. با این اصلاح، تلاش مجدد خودکار فقط برای ابزارهایی انجام می‌شود که صرفاً اطلاعات را می‌خوانند یا تکرار عملیات آن‌ها بی‌خطر است.

اجرای Claude Code در محیط ترمینال
رابط کاربری Claude Code در محیط ترمینال. تصویر: آنتروپیک

این اصلاح در نسخه Claude Code 2.1.307 ارائه شده است؛ نسخه‌ای که مشکلات دیگری در زمینه احراز هویت، حفظ وضعیت نشست‌های ابری و نمایش مجوزها را نیز برطرف می‌کند. این تغییر مشخصاً به رفع مشکل تلاش مجدد برای اجرای درخواست‌ها مربوط است و تغییری در محدوده اختیارات عامل هوش مصنوعی ایجاد نمی‌کند.

تکرار عملیات ناتمام فقط برای برخی ابزارها بی‌خطر است

پروتکل MCP به Claude Code امکان می‌دهد به ابزارها و سرویس‌های خارجی متصل شود. اگر ارتباط در میانه اجرای یک عملیات قطع شود، نرم‌افزار ممکن است نتواند تشخیص دهد که سرویس مقابل درخواست را پیش از قطع ارتباط انجام داده است یا خیر.

اجرای Claude Code در مرورگر وب
اجرای Claude Code در مرورگر وب. تصویر: آنتروپیک

تکرار یک درخواست برای دریافت اطلاعات معمولاً با تکرار عملیاتی که تغییری در یک سیستم ایجاد می‌کند، تفاوت دارد. به همین دلیل، آنتروپیک اکنون تلاش مجدد برای ارسال درخواست‌های HTTP را به ابزارهای فقط‌خواندنی یا ابزارهای دارای ویژگی «ایدِمپوتنت» (Idempotent) محدود کرده است. ابزارهای دسته دوم به‌گونه‌ای طراحی شده‌اند که اجرای چندباره یک عملیات در آن‌ها، اثر اضافی نسبت به اجرای نخست ایجاد نمی‌کند.

در یادداشت‌های انتشار این نسخه مشخص نشده است که آیا سرویس خاصی به دلیل این مشکل با تغییرات تکراری مواجه شده یا این خطا چند بار رخ داده است. آنچه به‌طور قطعی تأیید شده، اصلاح شرایطی است که Claude Code بر اساس آن تصمیم می‌گیرد یک درخواست به ابزار خارجی را دوباره ارسال کند.

این به‌روزرسانی در ادامه اصلاحات پیشین مربوط به اتصالات MCP در Claude Code ارائه شده است. با این تفاوت که اصلاح جدید بر ابزارهای مبتنی بر HTTP تمرکز دارد، نه روش ارتباطی جداگانه‌ای که از stdio استفاده می‌کند.

نشستی از Claude Code هنگام خواندن کد و نوشتن یک آزمون
نشستی از Claude Code در حال خواندن کد و نوشتن یک آزمون؛ به‌روزرسانی جدید مشکل تکرار عملیات ابزارها را برطرف می‌کند. تصویر: آنتروپیک

اصلاحات دیگر، شناسایی مشکلات اتصال و درک مجوزها را آسان‌تر می‌کنند

در سیستم‌عامل macOS، قفل بودن دسته‌کلید ورود (Login Keychain) ممکن بود باعث شود سرورهای MCP به‌اشتباه نیازمند احراز هویت مجدد به نظر برسند. Claude Code اکنون علت این وضعیت را به کاربر توضیح می‌دهد و پس از باز شدن قفل دسته‌کلید، در اجرای بعدی می‌تواند بدون نیاز به ورود دوباره به حساب کاربری متصل شود.

این به‌روزرسانی همچنین مشکلی را برطرف می‌کند که باعث می‌شد اگر رایانه‌ای با سیستم‌عامل macOS یا لینوکس هنگام برقراری اتصال به یک سرور MCP وارد حالت خواب می‌شد، وضعیت اتصال حتی پس از آن نیز به‌اشتباه ناموفق باقی بماند.

در نشست‌های ابری یا نشست‌هایی که روی سرورهای تحت مدیریت خود کاربر میزبانی می‌شوند، گاهی مکالمه‌ای که با دستور /clear پاک شده بود، پس از راه‌اندازی مجدد دوباره ظاهر می‌شد. این مشکل نیز برطرف شده است. علاوه بر این، بخش نمایش مجوزهایی که اخیراً رد شده‌اند، اکنون فرمان واقعی شل (Shell) را که اجرای آن مجاز شناخته نشده است، نشان می‌دهد. به این ترتیب، هنگامی که کاربر قصد دارد عملیاتی را دوباره اجرا کند، بهتر می‌تواند تشخیص دهد که دقیقاً با اجرای چه فرمانی موافقت می‌کند.