استئناف جلسة في Claude Code: --resume و --continue والإصلاحات
كيف تعيد فتح محادثة سابقة في Claude Code عبر claude --continue أو منتقي claude --resume أو معرّف الجلسة — مع بيان مكان تخزين الجلسات، وطريقة عمل الأسماء، وما تفعله حين لا يجد resume شيئًا.
الخلاصة
- claude --continue (claude -c) يعيد فتح أحدث محادثة في المجلد الحالي دون أي أسئلة. claude --resume (claude -r) يفتح منتقيًا تفاعليًا للجلسات السابقة، أو يقفز مباشرة إلى جلسة معينة عبر معرّفها أو اسمها.
- كل جلسة تُحفظ على القرص كملف .jsonl نصّي واضح ضمن ~/.claude/projects/<مجلد-المشروع>/<معرّف-الجلسة>.jsonl، وتبقى افتراضيًا 30 يومًا (إعداد cleanupPeriodDays).
- سمِّ الجلسة وهي مفتوحة بأمر /rename (أو --name عند الإقلاع)، ثم استأنفها بأمر claude --resume <الاسم> — يجب أن يطابق الاسم حرفًا بحرف.
- رسالة "No sessions match" تعني في الغالب مجلدًا خاطئًا أو اسمًا مكتوبًا بشكل خاطئ: الجلسات مرتبطة بالمجلد الذي بدأت فيه. حدِّث Claude Code أيضًا — الإصدار 2.1.288 وحده أصلح أربعة أخطاء في resume.
How to Resume an Old Session in Claude Code
القناة: Prompt & Flow2:37
Resume Claude Code Conversations FAST with One Simple Command
القناة: Vinod Sharma1:33
Save and Resume Any Claude Code Session | Next Session Prompt Skill
القناة: Kyle Chalmers | Data + AI4:27
CLI reference — official documentation
الوثائق الرسمية: code.claude.com/docs
كل خيار وكل مسار وكل حالة من حالات المنتقي في هذه الصفحة تم التحقق منها مقابل مرجع CLI الرسمي ووثائق data-usage. تسجيل الطرفية هو المصدر البصري — بما في ذلك مسار الاستعادة الكامل بعد نسيان اسم الجلسة؛ والفيديوهان الظاهران فيهما الوجهان مصدران للوقائع فقط: استعراض مسار resume وأسلوب التسليم بملف markdown لنقل الجلسات بين الأجهزة.
لقطات الشاشة ملك لمبدعيها وتشير إلى الطابع الزمني المطابق؛ لم تُستخدم أي لقطات تُظهر الوجوه.
استئناف جلسة في Claude Code، خطوة بخطوة
الجزء 1 — الاستئناف عبر claude --resume
- 1
سمِّ الجلسة قبل إغلاقها
استئناف الجلسة يسهل كلما سهل تمييزها. في التسجيل، يطلب المُنشئ من Claude Code تسمية المحادثة المفتوحة، ويُنفّذ الأمر /rename [open session 1] فيصله التأكيد "Session renamed to: [open session 1]" — وتظهر شارة الاسم بجانب مربع الإدخال. بعدها يغلق الأمر /exit الجلسة. لا يُحذف شيء: يبقى سجل المحادثة على القرص.

/rename [open session 1] مع تأكيد "Session renamed to: [open session 1]"، ثم /exit — السجل ينجو من الإغلاق.شاهد من 0:27 - 2
شغّل claude --resume من مجلد مشروعك
في طرفية جديدة، اكتب claude --resume (الصيغة المختصرة claude -r). دون وسيط يفتح منتقي الجلسات السابقة؛ ومع وسيط يذهب مباشرة إلى الجلسة التي يطابق معرّفها أو اسمها — هنا claude --resume [session 1]. والفخ الذي سيُظهره التسجيل بعد قليل: شغّله في المجلد الذي بدأت فيه الجلسة الأصلية. هذه المرة أُقلع من C:\Users\Z، المجلد الرئيسي.

claude --resume [session 1] مكتوب في PowerShell — من المجلد الرئيسي، وهذا سيصنع الفرق بعد قليل.شاهد من 1:04 - 3
أجب على تنبيه الثقة بالمجلد
أول مرة يفتح فيها Claude Code مجلدًا يُجري فحص أمان سريعًا: "Is this a project you created or one you trust?" اختر "1. Yes, I trust this folder" ثم اضغط Enter. هذا التنبيه يتعلق بالوصول إلى الملفات لا بالجلسات — يظهر لأن المجلد لم يُعتمد بعد، وهو سابق لمسار resume في كل الأحوال.

"Quick safety check" — 1. Yes, I trust this folder / 2. No, exit — قبل أن يفتح Claude Code المجلد.شاهد من 1:12 - 4
ابحث في منتقي Resume session
دون تطابق تام، يفتح claude --resume المنتقي التفاعلي المعنون "Resume session": مربع بحث فوق قائمة جلسات المشروع الحالي. اكتب للتصفية، وEnter للاختيار، وEsc للمسح أو الإلغاء. واسم مُمرَّر كوسيط يملأ البحث مسبقًا — هنا [session — وتتحدث القائمة مع كل حرف تكتبه.

منتقي "Resume session" يصفّي القائمة أثناء الكتابة — Enter يختار، Esc يمسح البحث.شاهد من 1:16
الجزء 2 — حين لا يجد المنتقي شيئًا
- 5
"No sessions match" — أنت في المجلد الخطأ
الدرس المحوري في التسجيل: يجيب المنتقي "No sessions match "[session 1]"." رغم أن الجلسة موجودة، لأن الجلسات تنتمي إلى المجلد الذي بدأت فيه والمنتقي ينظر أولًا إلى المشروع الحالي فقط. سطر التلميحات يقدّم المخرج — "Ctrl+A to show all projects" — ومنذ الإصدار v2.1.223 يبحث --resume في مشاريعك الأخرى تلقائيًا أيضًا؛ بينما النسخة v2.1.220 في الفيديو أقدم من ذلك.

"No sessions match "[session 1]"." — الجلسة موجودة، لكن المنتقي محصور في المجلد الرئيسي.شاهد من 1:22 - 6
افتح جلسة claude عادية للتحقيق
لاستعادة المحادثة بمحتواها بدل التخمين، افتح جلسة claude عادية. لافتة الترحيب في التسجيل تشير حتى إلى الخطأ السابق — "Note: You have launched claude in your home directory" — مؤكدة أن المنتقي الفارغ كان مشكلة مجلد لا جلسة مفقودة.

لافتة ترحيب Claude Code v2.1.220 في C:\Users\Z — ملاحظة home directory تفسّر المنتقي الفارغ.شاهد من 1:33 - 7
اطلب من Claude أن يجد جلستك الأخيرة
داخل الجلسة الجديدة، صِف ما تريد بلغة طبيعية: "I forgot the name of my last session. Name it so I can resume it." يستطيع Claude Code قراءة سجلّه من القرص، لذا ينجح هذا حتى حيث عجز المنتقي.

أُرسلت "i forgot the name of my last session name it so i can resume it" — يبدأ Claude بالتنقيب.شاهد من 1:50 - 8
Claude يسرد ~/.claude/projects حسب الأحدث
يجيب Claude بتشغيل أمر shell على مخزنه الخاص: Get-ChildItem "C:\Users\Z\.claude\projects" -Recurse -Filter *.jsonl | Sort-Object LastWriteTime -Descending. وهذا هو التخطيط الموثّق تمامًا — كل محادثة سجل .jsonl تحت ~/.claude/projects، مجمّعة في مجلد فرعي لكل مشروع، وتبقى 30 يومًا افتراضيًا.

Get-ChildItem على C:\Users\Z\.claude\projects، و*.jsonl فقط، الأحدث أولًا — حيث تسكن الجلسات فعلًا.شاهد من 1:54
الجزء 3 — استرجاعها بمعرّف الجلسة
- 9
Claude يميّز كل سجل بأول رسالة فيه
أحدث سجل هو الجلسة الحالية، لذا يستخرج Claude أول رسالة مستخدم من كل سجل حديث — ملفات مثل C:\Users\Z\.claude\projects\C--Users-Z\<معرّف-الجلسة>.jsonl — ليعطيها أسماء: مشروع بحثي عن إشارة WiFi، وتشغيل "lets go to phase 2"، وإعداد مشروع WhatsApp. الرسائل الأولى وسيلة موثوقة للتفريق بين جلسات المشروع نفسه.

استخراج أول رسالة مستخدم من كل ملف .jsonl في projects\C--Users-Z كي تُفرَّق الجلسات.شاهد من 2:07 - 10
يجيب Claude: استأنفها بـ claude --resume <id>
تسمي الإجابة الجلسة المقصودة وتطبع الأمر الصحيح — "Resume it with: claude --resume 7d824e2f-2592-4625-b863-43d5f24670ab" — ثم جدولًا بالجلسات الحديثة الأخرى بأعمدة Session ID وLast active وOpened with، مع ملاحظة أن أحد المعرّفات كان بداية فارغة مقطوعة لا جدوى من استئنافها.

"Resume it with: claude --resume 7d824e2f-…" مع جدول Session ID وLast active وOpened with.شاهد من 2:18 - 11
استأنف الجلسة بمعرّفها
معرّف الجلسة هو المفتاح. أغلق جلسة المساعدة هذه، وcd إلى مجلد المشروع، ونفّذ claude --resume <معرّف-الجلسة> — أو مرّر المسار المطلق لملف .jsonl. وأضف --fork-session لسكّ معرّف جلسة جديد بدل متابعة الأصل. تعود المحادثة مفتوحة بسياقها الكامل.

معرّف الجلسة مكتوبًا في سطر الأوامر — claude --resume <id> يعيد فتح تلك المحادثة نفسها.شاهد من 2:32
--resume مقابل --continue مقابل منتقي الجلسات
يقدّم Claude Code عدة طرق متداخلة للعودة إلى محادثة، والفرق في مقدار ما تتركه لك من قرارات:
- 1claude --continue (claude -c) — صفر قرارات. يعيد فتح أحدث محادثة في الدليل الحالي، ومنذ v2.1.257 يشمل جلسة خلفية انتهت. لعبارة "أغلقت النافذة الخطأ للتو".
- 2claude --resume (claude -r) دون وسيط — المنتقي التفاعلي. يسرد جلسات هذا المشروع (الحية في الخلفية موسومة بـ bg)؛ Ctrl+A يوسّع إلى كل المشاريع، وEsc يلغي. الأفضل حين يحتوي المجلد عدة جلسات.
- 3claude --resume <id | name | path> — خط مستقيم. يقبل معرّف جلسة أو اسمًا تامًا وُضع بـ /rename أو --name أو المسار المطلق لملف .jsonl. ومنذ v2.1.223 يبحث في مشاريعك الأخرى أيضًا إن لم يكن المعرف في هذا.
- 4/resume و/rename داخل الجلسة — بدّل بين المحادثات دون مغادرة REPL، وسمِّ الحالية كي يصيب الغرض claude --resume <الاسم> غدًا. الأسماء فريدة؛ والتعارض يحصل على لاحقة متغيّرة.
- 5claude --resume <id> --fork-session — تفرّع بدل المتابعة. يعيد استخدام السجل لكن يسكّ معرّف جلسة جديدًا، فيبقى تاريخ الجلسة الأصلية مجمدًا كنقطة فحص.
- 6claude attach <id> — للجلسات التي ما تزال تعمل في الخلفية. يميّز المنتقي الحية بوسم bg؛ وبعد الإرفاق يصبح طلبك التالي دورًا تاليًا في تلك الجلسة.
التسجيل لا يجرب إلا --resume، و--continue لا يظهر في أي لقطة — هذا نطاق الفيديو لا حدود الميزات. مرجع CLI الرسمي يوثّق الخيارين جنبًا إلى جنب؛ وحيث يصمت الفيديو فالمقارنة أعلاه تتبع الوثائق.
استئناف جلسة Claude Code لا يعمل — إصلاحات مجرِّبة
معظم شكاوى "resume لا يفعل شيئًا" ترجع إلى واحد من هذه. امشِ القائمة بالترتيب:
- 1دليل خاطئ. المنتقي لا يرى إلا جلسات المشروع الحالي — والتسجيل يفشل هكذا تمامًا من C:\Users\Z. انتقل بـ cd إلى المجلد الذي بدأت فيه الجلسة؛ ومنذ v2.1.223 يبحث --resume في المشاريع الأخرى أيضًا، لكن المجلد الصحيح يبقى أسرع طريق.
- 2إصدار قديم. الإصدار 2.1.288 وحده أصلح أربع مشاكل: كان --resume يُسقط ملفات أعادتها الـcompaction للتو؛ وكانت الجلسة المستأنفة لا تحفظ آخر رد في الدورة (فيبدو الطلب التالي بلا إجابة)؛ وكانت سجلات تُحمَّل مقطوعة؛ وكان التفكير يضيع عند استئناف جلسات من 2.1.286 وما قبله. وأصلحت v2.1.290 أمر --resume <session-id>، وأصلحت v2.1.292 وضع الخطة في المنتقي.
- 3انتهت صلاحية الجلسة. تبقى السجلات 30 يومًا افتراضيًا — وإعداد cleanupPeriodDays يغيّر النافذة — بينما التشغيلات headless بـ -p لا تحفظ جلسات أصلًا. الأمر claude rm يزيل الجلسة من القائمة فقط؛ أما السجل المُنظَّف فلا يستأنفه أحد.
- 4الاسم لا يطابق. مطابقة الأسماء في --resume حرفية. أمر claude --resume [session 1] في التسجيل يفشل مرتين: الاسم الحقيقي كان "open session 1"، والأقواس المربعة دخلت ضمن سلسلة البحث. أزل الأقواس وضع الأسماء ذات المسافات بين علامتي تنصيص.
- 5--continue يمسك غير المقصود. يتخطى جلسات وضع الطباعة (-p)/SDK وجلسات /loop، ولا ينظر إلا إلى الدليل الحالي — إن لمست الجلسة المجلد منذ ذلك الحين فاتركه واستأنف بالمعرّف.
- 6حاسوب آخر. مجلد ~/.claude/projects محلي — الجلسة المنشأة على الحاسوب المحمول غير موجودة على المكتبي. إما انسخ مجلد المشروع إلى الجهاز الآخر بالبنية نفسها، أو اعتمد التسليم بملف markdown: اطلب من Claude كتابة حالة الجلسة والقرارات والخطوات التالية في ملف، وزامنه، ثم تابع من الجهاز الآخر.
لا شيء مما سبق ينفع؟ افتح ~/.claude/projects وانظر إلى الطابع الزمني لملف .jsonl. إن وُجد فالأمر claude --resume مع مساره المطلق هو المدخل بالقوة الغاشمة؛ وإن لم يوجد فالمحادثة لم تصل إلى القرص أصلًا.
