إصدار Claude Code 2.1.294 يصلح hooks مكتوبة كتعليمات كانت تسمح بما يُفترض أن تمنعه
المغزى: الحاجز المكتوب بلغة طبيعية داخل نظام agentic يُفسَّر ولا يُنفَّذ، والفرق بينه وبين سكربت يرجع رقمًا لا يظهر في التجربة، بل يوم يمر ما كان يجب أن يتوقف.
صدر في 8 أكتوبر 2026 الإصدار 2.1.294 من Claude Code، وفي سجل تغييراته سطر يخص من يعتمد على الـ hooks للحماية. ينص السطر على إصلاح خلل كانت فيه hooks من نوع prompt وagent، المكتوبة كتعليمات مثل “امنع الأوامر التي…”، تسمح بما يجب أن تمنعه.
والـ hook آلية تسمح بتشغيل فحص عند نقاط محددة في عمل الأداة، مثل قبل تنفيذ أمر. والنوع التقليدي منه سكربت: يرجع صفرًا فيُسمح بالأمر، أو رقمًا آخر فيُمنع، دون تفسير أو اجتهاد. أما الـ hook المكتوب كتعليمة فلا يُنفَّذ بالطريقة نفسها، بل يُحكَم عليه، أي أن نموذجًا يقرأ الجملة ويقرر هل ينطبق المنع على الحالة المعروضة أم لا.
وحين يكون الحكم لغويًا، يصبح للصياغة وزن. فجملة مثل “امنع الأوامر التي تحذف ملفات” قد تُفهم بشكل واسع أو ضيق بحسب الأمر الذي يُعرض عليها. والخلل الذي أُصلح كان في الاتجاه الأخطر، وهو الميل إلى السماح.
وفي الإصدار نفسه تغيير ثانٍ من العائلة ذاتها. فقد تحسّن الحكم على hooks المرتبطة بحدثي Stop وSubagentStop المكتوبة كتعليمات، مثل “أكمل إذا كان الـ build مكسورًا”، بحيث يقل احتمال أن يتوقف Claude مبكرًا.
ولا يحدد سجل التغييرات نسبة الحالات التي كانت تمر، ولا يقدم مثالًا لأمر نجح في المرور. لكن الإصلاح يكشف خاصية أوسع من أداة واحدة: كل حاجز مكتوب بلغة طبيعية داخل نظام agentic هو حاجز يُفسَّر، لا حاجز يُنفَّذ. وبالنسبة للفرق التي تحمي ملفات أو بيئات حقيقية بـ hook مكتوب كجملة، قد يكون السكربت الذي يرجع رقمًا أكثر قابلية للتنبؤ.