واختلف أهل التفسير في سبب نزول هذه الآيات ، فقيل : عاهد رسول اللّه صلّى اللّه عليه وآله ثلاثة أحياء من العرب وهم : خزاعة ، وبنو مدلج ، وبنو خزيمة سنتين ، فنزلت فيهم ، وجعل لهم أربعة أشهر أجلا ، ولم يعاهد أحدا بعد ذلك ، وهذا مروي عن مقاتل .
وقيل : في المشركين عموما ، وهذا مروي عن الحسن .
وقيل : نزلت في أهل مكة ؛ لأنهم عاهدوا عام الحديبية على وضع الحرب عشر سنين ، ودخلت خزاعة في عهد رسول اللّه ، ودخل بنو بكر في عهد قريش ، فعدت بنو بكر على خزاعة ، وأعانهم قريش فظاهروهم ، فجاء عمرو بن سالم الخزاعي إلى المدينة حتى وقف بين يدي رسول اللّه صلّى اللّه عليه وآله وسلّم وأنشد أبياتا وهي :
لا هم أني ناشد محمدا * حلف أبينا وأبيه الأتلدا
إن قريشا أخلفوك الموعدا * ونقضوا ذمامك المؤكدا
هم بيتونا بالحطيم هجدا * وقتلونا ركعا وسجدا
وهم أذل وأقل عددا * فانصر هداك اللّه نصرا مددا
فقال صلّى اللّه عليه وآله وسلّم : « لا نصرت إن لم أنصرك » وهذا عن مجاهد ، وابن إسحاق .
ولهذه الجملة ثمرات : منها جواز نقض المعاهدة من المسلمين للمشركين ، ولكن اختلف العلماء في الحال التي يجوز فيها نقض العهد فقال الأكثر : وهو الظاهر من المذهب إن الوفاء بما عقد عليه من العهد واجب ، وإنما يجوز نقضه لأحد أمور ثلاثة :
الأول : أن يكون مشروطا بشرط أنه يبقى إلى أن يرفعه اللّه تعالى بوحي ، ويروى أنه عاهد على هذا الشرط .