"تركتُ Claude Code يعمل، فذهب التغيير إلى مكان لم أكن أريده." لهذه اللحظة تحديدًا، يتيح لك checkpointing و/rewind العودة إلى "ما قبل الخطأ" بضغطتين على لوحة المفاتيح. يلتقط Claude Code لقطة تلقائية للحالة قبل كل تعديل، ويمكنك العودة إلى حالة سابقة عبر /rewind أو الضغط على Esc مرتين.

يغطي هذا المقال، استنادًا إلى الوثائق الرسمية، ما هو checkpointing، وكيفية استخدامه، وما الذي يُستعاد وما الذي لا يُستعاد (الأهم)، وكيف يختلف عن Git، واستخدامه للتعافي من الأخطاء، والتوفر. النقاط الأساسية أولًا. ① يتتبع تعديلات الملفات تلقائيًا، وكل موجّه (prompt) يصبح نقطة استعادة. ② افتح القائمة عبر /rewind أو Esc مرتين واختر استعادة الكود أو المحادثة أو كليهما. ③ لكن "تعديلات Claude للملفات" فقط هي التي تُستعادأما التغييرات التي تتم عبر أوامر bash أو خارج Claude فلا تُستعاد. ولهذا السبب فهو ليس بديلًا عن Git.

CHECKPOINTING · /rewind

أعِد التغييرات إلى "ما قبل الخطأ"

— كل موجّه نقطة استعادة؛ ارجع بالضغط على Esc مرتين

prompt #1
#2
#3 ✓ استعد هنا
#4
#5 😱 معطوب
Esc Esc (/rewind) → العودة إلى #3 ⟲
✓ يُستعاد
تعديلات الملفات عبر أدوات تحرير Claude (+ المحادثة)
✗ لا يُستعاد
تغييرات أوامر bash، التغييرات الخارجية، قاعدة البيانات، إلخ.

1. ما هما checkpointing و /rewind

التعريف الرسمي: "يتتبع Claude Code تلقائيًا تعديلات Claude للملفات أثناء عملك، مما يتيح لك التراجع السريع عن التغييرات والعودة إلى حالات سابقة إذا انحرف شيء ما عن المسار." تُلتقط لقطة تلقائيًا قبل كل تعديل، وعلاوة على ذلك يُنشئ كل موجّه ترسله نقطة تفتيش (checkpoint) جديدة (نقطة يمكنك العودة إليها). تستمر نقاط التفتيش عبر الجلسات، لذا يمكنك الوصول إليها في المحادثات المُستأنفة أيضًا.

بعبارة أخرى، تعني هذه الميزة أنه "حتى لو سلّمت الأمور إلى الذكاء الاصطناعي وحدث خطأ، يمكنك العودة إلى نقطة آمنة بضغطات قليلة." في Claude Code التفاعلي (واجهة سطر الأوامر)، يكون /rewind تلقائيًا ومُفعّلًا افتراضيًا.

2. كيفية الاستخدام (/rewind و Esc Esc)

هناك طريقتان لفتح قائمة rewind: اكتب /rewind، أو اضغط Esc مرتين عندما يكون حقل الإدخال فارغًا.

⚠️ ملاحظة حول Esc Esc: إذا كان الإدخال يحتوي على نص، فإن الضغط على Esc مرتين يمسح الإدخال بدلًا من فتح القائمة. يُحفظ النص الممسوح في سجل الإدخال الخاص بك، لذا اضغط على السهم لأعلى لاستعادته. للتأكد من فتح القائمة، امسح الإدخال أولًا.

تَسرد القائمة كل موجّه أرسلته خلال الجلسة. اختر النقطة التي تريدها، ثم اختر إجراءً.

الإجراءما الذي يفعله
استعادة الكود والمحادثةإرجاع كليهما إلى تلك النقطة
استعادة المحادثةالعودة إلى تلك الرسالة مع الاحتفاظ بالكود الحالي
استعادة الكودإرجاع تغييرات الملفات فقط، مع الاحتفاظ بالمحادثة
التلخيص من هنا / حتى هناضغط السياق (ليس rewind؛ تبقى الملفات دون تغيير)
لا عليكالخروج دون تغييرات

بعد "استعادة المحادثة" (وما شابهها)، تُستعاد الموجّه الأصلي للرسالة المختارة إلى حقل الإدخال، حتى تتمكن من إعادة إرساله أو تعديله. تتيح لك "استعادة الكود" مع الاحتفاظ بالمحادثة إعادة الصياغة بناءً على ما حدث من خطأ—وهذا هو السير الذي ستستخدمه أكثر من غيره عمليًا.

3. ما الذي يُستعاد وما الذي لا يُستعاد (الأهم)

هذا هو الجزء الأكثر سوءَ فهم في الميزة. يتتبع checkpointing فقط "التغييرات التي تتم عبر أدوات تحرير ملفات Claude (Write / Edit / NotebookEdit)." أي تأثير جانبي آخر لا يُلغى عبر rewind.

⚠️ لا يُستعاد (مذكور في الوثائق الرسمية)

  • تغييرات الملفات عبر أوامر bash: rm file.txt، mv old.txt new.txt، cp source dest، إلخ. لا يمكن التراجع عنها عبر rewind
  • التغييرات خارج الجلسة / من جلسات أخرى: التعديلات اليدوية وتعديلات الجلسات المتزامنة لا تُلتقط ما لم تمس الملفات نفسها
  • إنشاء المجلدات أو نقلها أو حذفها / الملفات البعيدة أو على الشبكة

حالة قاعدة البيانات، عمليات الترحيل (migrations)، تثبيت الحزم، استدعاءات الشبكة—أي "تأثير جانبي ليس تعديلًا لملف لا يُرجَع كذلك" (لا توضح الوثائق ذلك صراحةً، لكن بما أن تغييرات الملفات عبر أدوات التحرير فقط هي التي تُتتبع، فإن ذلك يترتب منطقيًا). باختصار، تذكّر أنه فقط "محتويات الملفات التي أعاد Claude كتابتها بأدوات التحرير الخاصة به" يمكن استعادتها. ولأن Claude يمكنه أيضًا تغيير الملفات عبر Bash، فإن الممارسة الآمنة هي عدم الإفراط في الاعتماد على rewind والالتزام بـ Git عند المعالم الرئيسية.

4. كيف يختلف عن Git

تصوغها الوثائق على أنها "نقاط التفتيش هي 'تراجع' محلي، وGit هو 'تاريخ دائم'" وتذكر بوضوح أن "نقاط التفتيش تُكمّل التحكم الصحيح في الإصدارات لكنها لا تحل محله."

نقاط التفتيش
= "تراجع" محلي
  • تلقائي، فوري، بلا إعداد
  • مثالي للتجريب داخل الجلسة
  • يغطي تغييرات الملفات عبر أدوات التحرير
  • يُنظَّف بعد 30 يومًا (قابل للتهيئة)
Git
= "تاريخ" دائم
  • commits وbranches وتخزين طويل الأمد
  • يسجّل تغييرات bash أيضًا
  • قابل للمشاركة والمراجعة ضمن فريق
  • لا يختفي (حتى تحذفه أنت)

تقسيم العمل بسيط: نقاط التفتيش للتراجع السريع داخل الجلسة، وcommits في Git للتاريخ الدائم. التزم عند معالم المهمة الأكبر، وعندئذٍ يمكنك العودة بأمان حتى عبر ما لا يغطيه rewind (مثل تغييرات bash).

5. التعافي من الأخطاء

/rewind هو أيضًا أداة تعافٍ عندما تتعطل المحادثة ولا يمكنها المتابعة. مرجع الأخطاء الرسمي لـ Claude Code، فيما يخص خطأ 400 المرتبط بتزامن استخدام الأدوات وكتل التفكير (thinking blocks)، يجعل المنتج نفسه يقول: "API Error: 400 ... Run /rewind to recover the conversation." اضغط Esc مرتين للرجوع إلى نقطة تفتيش قبل الدور المعطوب والمتابعة من هناك. وهذا هو أيضًا التعافي الرئيسي لـ خطأ تسرب وسم court / invoke (تزامن tool_use).

⚠️ ملاحظة حول الإصدار: إذا كنت على Opus 4.7 / 4.8، شغّل claude update أولًا. وفقًا للوثائق، قد تُسبّب الإصدارات السابقة لـ v2.1.156 هذا الخطأ أثناء الاستخدام العادي للأدوات، و/rewind لا يزيله. التحديث يأتي أولًا.

إذا لم يتمكن rewind من الوصول إلى السبب (مثل تلف ناتج عن ضغط السياق)، يمكنك أيضًا البدء من جديد عبر /clear. للتعامل مع الأخطاء عمومًا، راجع ملخص أخطاء Claude Code.

6. التوفر ومدة الاحتفاظ

في Claude Code التفاعلي (واجهة سطر الأوامر)، يكون تلقائيًا ومُفعّلًا افتراضيًا—دون إعداد خاص. في Agent SDK، على النقيض، يكون اشتراكًا صريحًا (opt-in) (مثل enableFileCheckpointing)؛ فلتُبقِ التمييز بين الاثنين واضحًا.

أما عن مدة الاحتفاظ، فإن نقاط التفتيش تُنظَّف مع الجلسات بعد 30 يومًا (قابل للتهيئة). لا توضح الوثائق موقع التخزين على القرص، أو مفتاح تشغيل/إيقاف، أو مفتاح التهيئة المحدد لمدة الاحتفاظ، لذا لا يؤكد هذا المقال تلك الأمور (راجع الوثائق الرسمية لأحدث المعلومات). شُحنت الميزة في Claude Code v2.0.0 (سبتمبر 2025) ووُصِفت حينها بأنها "الميزة الأكثر طلبًا" (تاريخ الإصدار والخلفية من مصادر ثانوية).

الخلاصة

checkpointing و/rewind شبكة أمان تتتبع تلقائيًا تعديلات Claude للملفات وتتيح لك العودة إلى "ما قبل الخطأ" بضغطات قليلة. يصبح كل موجّه نقطة استعادة، وتفتح القائمة عبر /rewind أو Esc مرتين لإرجاع الكود أو المحادثة أو كليهما. عمليًا، السير المركزي هو "استعادة الكود مع الاحتفاظ بالمحادثة"، ثم إعادة الصياغة.

التحذير الأساسي: "تعديلات Claude للملفات فقط هي التي تُستعاد"أما تغييرات أوامر bash، والتغييرات الخارجية، وعمليات المجلدات، وقواعد البيانات، وما شابهها فلا تُستعاد. لذا فهو ليس بديلًا عن Git؛ التزم عند المعالم كقاعدة. كما أن /rewind يتعافى من محادثة معطوبة، مثل خطأ 400 (على الإصدارات القديمة، claude update أولًا). ذات صلة: خطأ court/invoke، أخطاء Claude Code، hooks.

الأسئلة الشائعة

س. ما الغرض من checkpointing؟
ج. إنه شبكة أمان للعودة السريعة بالتغييرات إلى "ما قبل الخطأ." يلتقط Claude Code لقطة تلقائيًا قبل كل تعديل، ويصبح كل موجّه ترسله نقطة استعادة. حتى لو سلّمت الأمور إلى الذكاء الاصطناعي وحدث خطأ، يمكنك العودة إلى حالة سابقة عبر /rewind أو Esc مرتين. في واجهة سطر الأوامر التفاعلية يكون مُفعّلًا افتراضيًا.

س. كيف أستخدمه؟
ج. اكتب /rewind، أو اضغط Esc مرتين عندما يكون الإدخال فارغًا، لفتح القائمة. من قائمة الموجّهات التي أرسلتها، اختر النقطة التي تريد العودة إليها واختر "استعادة الكود والمحادثة" أو "استعادة المحادثة" أو "استعادة الكود." الأكثر شيوعًا هو "استعادة الكود (مع الاحتفاظ بالمحادثة)"، ثم إعادة صياغة تعليمتك بناءً على ما حدث من خطأ. لاحظ أنه إذا احتوى الإدخال على نص، فإن Esc مرتين يمسحه بدلًا من ذلك.

س. هل تُستعاد أيضًا الملفات التي أنشأها أو حذفها bash؟
ج. لا. فقط تغييرات الملفات التي تتم عبر أدوات تحرير Claude (Write / Edit / NotebookEdit) تُستعاد. أما تغييرات أوامر bash (rm، mv، cp، إلخ)، والتغييرات خارج الجلسة أو من جلسات أخرى، وإنشاء/نقل/حذف المجلدات، والملفات البعيدة فلا يُتراجَع عنها عبر rewind. والأمر نفسه ينطبق على "التأثيرات الجانبية التي ليست تعديلات للملفات"، مثل حالة قاعدة البيانات. ولهذا السبب تحديدًا ينبغي أن تلتزم بـ Git عند المعالم الرئيسية.

س. هل يحل محل Git؟
ج. لا. تصوغها الوثائق على أنها "نقاط التفتيش = تراجع محلي، Git = تاريخ دائم،" وتذكر أنه يُكمّل ولا يحل محل التحكم في الإصدارات. تُعد نقاط التفتيش الأنسب للتراجع السريع داخل الجلسة وتُنظَّف بعد 30 يومًا (قابل للتهيئة). استمر في استخدام Git لـ commits وbranches والتخزين طويل الأمد والمشاركة ضمن الفريق.

س. هل يمكنني استخدامه عندما يحجب خطأٌ المحادثةَ؟
ج. نعم. فيما يخص خطأ 400 المرتبط بتزامن استخدام الأدوات أو كتل التفكير، يقول المنتج نفسه "Run /rewind to recover the conversation." اضغط Esc مرتين للرجوع إلى ما قبل الدور المعطوب والمتابعة. لكن الإصدارات السابقة لـ v2.1.156 قد لا تزيله عبر /rewind، لذا على Opus 4.7 / 4.8 شغّل claude update أولًا. راجع أيضًا مقال خطأ court/invoke.