Deepseek ArtifactsDeepseek Artifacts
جلسات Claude Code

استئناف جلسة في 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. 1

    سمِّ الجلسة قبل إغلاقها

    استئناف الجلسة يسهل كلما سهل تمييزها. في التسجيل، يطلب المُنشئ من Claude Code تسمية المحادثة المفتوحة، ويُنفّذ الأمر /rename [open session 1] فيصله التأكيد "Session renamed to: [open session 1]" — وتظهر شارة الاسم بجانب مربع الإدخال. بعدها يغلق الأمر /exit الجلسة. لا يُحذف شيء: يبقى سجل المحادثة على القرص.

    Claude Code session ending with the /rename open session 1 command confirmed by Session renamed to output and /exit typed at the prompt
    /rename [open session 1] مع تأكيد "Session renamed to: [open session 1]"، ثم /exit — السجل ينجو من الإغلاق.شاهد من 0:27
  2. 2

    شغّل claude --resume من مجلد مشروعك

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

    Windows PowerShell prompt running claude --resume session 1 to reopen a previous Claude Code conversation by name
    claude --resume [session 1] مكتوب في PowerShell — من المجلد الرئيسي، وهذا سيصنع الفرق بعد قليل.شاهد من 1:04
  3. 3

    أجب على تنبيه الثقة بالمجلد

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

    Claude Code folder trust prompt for the C drive user folder with 1. Yes I trust this folder and 2. No exit choices before a resume attempt
    "Quick safety check" — 1. Yes, I trust this folder / 2. No, exit — قبل أن يفتح Claude Code المجلد.شاهد من 1:12
  4. 4

    ابحث في منتقي Resume session

    دون تطابق تام، يفتح claude --resume المنتقي التفاعلي المعنون "Resume session": مربع بحث فوق قائمة جلسات المشروع الحالي. اكتب للتصفية، وEnter للاختيار، وEsc للمسح أو الإلغاء. واسم مُمرَّر كوسيط يملأ البحث مسبقًا — هنا [session — وتتحدث القائمة مع كل حرف تكتبه.

    Claude Code Resume session picker searching for the name session and returning No sessions match with type to search hints
    منتقي "Resume session" يصفّي القائمة أثناء الكتابة — Enter يختار، Esc يمسح البحث.شاهد من 1:16

الجزء 2 — حين لا يجد المنتقي شيئًا

  1. 5

    "No sessions match" — أنت في المجلد الخطأ

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

    Claude Code resume picker showing No sessions match session 1 with the Ctrl+A show all projects hint after searching in the wrong directory
    "No sessions match "[session 1]"." — الجلسة موجودة، لكن المنتقي محصور في المجلد الرئيسي.شاهد من 1:22
  2. 6

    افتح جلسة claude عادية للتحقيق

    لاستعادة المحادثة بمحتواها بدل التخمين، افتح جلسة claude عادية. لافتة الترحيب في التسجيل تشير حتى إلى الخطأ السابق — "Note: You have launched claude in your home directory" — مؤكدة أن المنتقي الفارغ كان مشكلة مجلد لا جلسة مفقودة.

    Claude Code v2.1.220 welcome banner in the home directory where a fresh session is started to recover a lost conversation
    لافتة ترحيب Claude Code v2.1.220 في C:\Users\Z — ملاحظة home directory تفسّر المنتقي الفارغ.شاهد من 1:33
  3. 7

    اطلب من Claude أن يجد جلستك الأخيرة

    داخل الجلسة الجديدة، صِف ما تريد بلغة طبيعية: "I forgot the name of my last session. Name it so I can resume it." يستطيع Claude Code قراءة سجلّه من القرص، لذا ينجح هذا حتى حيث عجز المنتقي.

    Claude Code prompt asking I forgot the name of my last session, name it so I can resume it with the Gallivanting thinking indicator
    أُرسلت "i forgot the name of my last session name it so i can resume it" — يبدأ Claude بالتنقيب.شاهد من 1:50
  4. 8

    Claude يسرد ‎~/.claude/projects حسب الأحدث

    يجيب Claude بتشغيل أمر shell على مخزنه الخاص: Get-ChildItem "C:\Users\Z\.claude\projects" -Recurse -Filter *.jsonl | Sort-Object LastWriteTime -Descending. وهذا هو التخطيط الموثّق تمامًا — كل محادثة سجل .jsonl تحت ‎~/.claude/projects، مجمّعة في مجلد فرعي لكل مشروع، وتبقى 30 يومًا افتراضيًا.

    Claude Code running Get-ChildItem on the .claude projects folder sorted by LastWriteTime to list recent session transcripts
    Get-ChildItem على C:\Users\Z\.claude\projects، و*.jsonl فقط، الأحدث أولًا — حيث تسكن الجلسات فعلًا.شاهد من 1:54

الجزء 3 — استرجاعها بمعرّف الجلسة

  1. 9

    Claude يميّز كل سجل بأول رسالة فيه

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

    Claude Code pulling the first user message from each session jsonl transcript under the .claude projects folder to identify past sessions
    استخراج أول رسالة مستخدم من كل ملف .jsonl في projects\C--Users-Z كي تُفرَّق الجلسات.شاهد من 2:07
  2. 10

    يجيب Claude: استأنفها بـ claude --resume <id>

    تسمي الإجابة الجلسة المقصودة وتطبع الأمر الصحيح — "Resume it with: claude --resume 7d824e2f-2592-4625-b863-43d5f24670ab" — ثم جدولًا بالجلسات الحديثة الأخرى بأعمدة Session ID وLast active وOpened with، مع ملاحظة أن أحد المعرّفات كان بداية فارغة مقطوعة لا جدوى من استئنافها.

    Claude Code answer listing past sessions in a Session ID, Last active and Opened with table with a claude --resume command to reopen one
    "Resume it with: claude --resume 7d824e2f-…" مع جدول Session ID وLast active وOpened with.شاهد من 2:18
  3. 11

    استأنف الجلسة بمعرّفها

    معرّف الجلسة هو المفتاح. أغلق جلسة المساعدة هذه، وcd إلى مجلد المشروع، ونفّذ claude --resume <معرّف-الجلسة> — أو مرّر المسار المطلق لملف .jsonl. وأضف --fork-session لسكّ معرّف جلسة جديد بدل متابعة الأصل. تعود المحادثة مفتوحة بسياقها الكامل.

    Claude Code prompt with resume 7d824e2f-2592-4625-b863-43d5f24670ab typed to reopen that exact past session by its session ID
    معرّف الجلسة مكتوبًا في سطر الأوامر — 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 مع مساره المطلق هو المدخل بالقوة الغاشمة؛ وإن لم يوجد فالمحادثة لم تصل إلى القرص أصلًا.

أسئلة شائعة حول استئناف جلسة Claude Code

أدلة Claude Code ذات الصلة