أين يحفظ Claude Code الـ scratchpad الخاص به، ولماذا يختفي
كل جلسة Claude Code تعلن عن مجلد scratchpad ثم لا تعود تذكره أبدًا. إليك المسار الدقيق على macOS وLinux وWindows، وما يجاوره، ولماذا تمحوه إعادة تشغيل أو تنظيف للملفات المؤقتة، وما يمكنك ضبطه وما لا يمكنك، والقاعدة الوحيدة التي أعطيناها للوكلاء السبعة الذين يكتبون فيه كل ليلة.
تبدأ كل جلسة Claude Code بسطر تمرّ عليه على الأرجح دون انتباه. سطرنا، هذه الليلة، يبدو هكذا:
Scratchpad directory: /private/tmp/claude-501/-Users-jbchauvin-Projets-AgentsRoom/5a506305-…/scratchpad
ثم لا يذكره الـ CLI مرة أخرى أبدًا. لا أمر يعرضه، ولا لوحة تفتحه، ويوم تذهب للبحث عن ملف CSV الذي قال الوكيل إنه كتبه هناك، قد يكون المجلد اختفى بالفعل.
نشغّل سبعة وكلاء مجدولين على Mac mini كل ليلة، وكل واحد منهم يكتب في ذلك المجلد. فذهبنا لنرى ما هو، وأين يقع على كل نظام، وما الذي يحذفه، وماذا نقول للوكلاء أن يفعلوا حياله. كل ما يلي جرى التحقق منه على Claude Code 2.1.278 في 19 سبتمبر 2026، وفي مشكلات GitHub التي فتحها أشخاص فقدوا عملًا فيه.
ما يقوله Claude Code للوكيل
السطر جزء من برومبت النظام. والتعليمة التي تليه، في الإصدار الحالي، تقول إن على الوكيل أن يستخدم ذلك المجلد دائمًا للملفات المؤقتة، أي النتائج الوسيطة والسكربتات والمخرجات التي لا مكان لها في المشروع، بدلًا من /tmp أو أي مجلد مؤقت آخر في النظام، وإنه خاص بالجلسة ومعزول عن المشروع، وإنه يمكن استخدامه عمومًا دون طلبات إذن، وإن /tmp لا يُستخدم إلا حين تطلب ذلك صراحةً.
ذلك الجزء الأخير هو المفيد لك. الملفات المكتوبة داخل الـ scratchpad لا تُطلق مربع حوار إذن الكتابة، ولهذا يضع الوكيل سكربتاته المساعدة وتصديراته هناك بدل أن يسألك في كل مرة. ولهذا أيضًا لا يسألك أحد أبدًا، ولا يخبرك أحد أبدًا، أين ذهبت.
إن أردت المسار في جلسة جارية، اسأل الوكيل. «اطبع مجلد الـ scratchpad الخاص بك» يُجاب عنه من برومبت النظام، دون تنفيذ أي شيء.
المسار، نظامًا بنظام
يقع المجلد تحت المجلد المؤقت لنظام التشغيل، واسمه يرمّز من أنت، وفي أي مشروع كنت، وأي جلسة كانت.
على macOS وLinux:
/tmp/claude-<uid>/<مسار المشروع مع استبدال الشرطات المائلة بشرطات>/<معرّف الجلسة>/scratchpad
على Mac، /tmp رابط إلى /private/tmp، لذا يُعرض المجلد نفسه على أنه /private/tmp/claude-501/…. الرقم هو معرّف المستخدم الخاص بك، ما يطبعه id -u: 501 لأول حساب على Mac، و1000 على معظم توزيعات Linux، و0 لـ root. تقرير Linux الذي نستشهد به أدناه يعرض /tmp/claude-0/، لأن خط الأنابيب كان يعمل بصلاحيات root داخل حاوية. مشكلات فُتحت في وقت سابق من 2026 تعرض /tmp/claude/<slug المشروع>/… دون uid على الإطلاق، فاللاحقة أُضيفت في الطريق. إن كنت على إصدار أقدم، فأسقطها.
على Windows، كما أُبلغ عنه على Windows 11 في يوليو 2026:
%TEMP%\claude\<slug المشروع>\<معرّف الجلسة>\scratchpad
وهو ما يتوسّع عادةً إلى C:\Users\<أنت>\AppData\Local\Temp\claude\…. المسار مشتق من المتغير TEMP، فإن وجّهت TEMP إلى مكان آخر، تبعه الـ scratchpad.
slug المشروع هو مجلد عملك مع تحويل كل شرطة مائلة إلى شرطة. مستودعنا يقع في /Users/jbchauvin/Projets/AgentsRoom، لذا فإن الـ slug هو -Users-jbchauvin-Projets-AgentsRoom. مجلد لكل مشروع، ثم مجلد لكل جلسة بداخله.
لعرض كل مجلدات الجلسات التي ما زالت لديك للمستخدم الحالي على جهاز Mac أو Linux:
ls /tmp/claude-$(id -u)/
ما يجاوره
مجلد الجلسة ليس الـ scratchpad وحده. على الجهاز الذي يشغّل وكلاءنا الليليين، سبعة من مجلدات الجلسات التسعة لهذا اليوم تحتوي على مدخلين: scratchpad وtasks. مجلد tasks هو حيث تهبط مخرجات المهام الخلفية، الأوامر التي يشغّلها الوكيل منفصلةً ويقرؤها لاحقًا.
هناك مكان ثالث ينبغي أن تعرفه، وهو ليس تحت المجلد المؤقت على الإطلاق: ~/.claude/projects/<slug المشروع>/<معرّف الجلسة>/tool-results/. حين تعيد أداة أكثر مما يتسع له السياق، يحفظ Claude Code المخرجات الكاملة هناك ويعطي الوكيل المسار. هذه الليلة، ذهب تصدير من Search Console بحجم 68 كيلوبايت إلى هناك بدل الـ scratchpad. ذلك الموقع دائم، بجوار سجل الجلسة. فالتقسيم إذن: السجلات ومخرجات الأدوات الكبيرة تحت ~/.claude، وهي تبقى؛ والسكربتات والملفات الوسيطة ومخرجات المهام الخلفية تحت المجلد المؤقت، وهي لا تبقى.
لماذا يختفي
لأن المجلد المؤقت يعني «قابل للحذف» لكل نظام تشغيل، ولا شيء في Claude Code يجادل في ذلك.
على Linux، يطبّق systemd-tmpfiles ما يقوله /usr/lib/tmpfiles.d/tmp.conf. فقد أحد المبلّغين كامل مخرجات خط أنابيب لتوليد البيانات استغرق 24 ساعة، بما فيها أحكام المراجعة والسكربتات وبيئة Python الافتراضية، حين أُعيد تشغيل المضيف: كانت القاعدة على تلك الحاوية Debian هي D /tmp 1777 root root 30d، التي تعيد إنشاء /tmp فارغًا عند كل إقلاع. كان ذلك Claude Code 2.1.260، ولم يكن برومبت النظام قد قال شيئًا عن التقلّب. تحقق من قاعدتك أنت بـ cat /usr/lib/tmpfiles.d/tmp.conf: سطر D يفرّغ عند الإقلاع، وعمر مثل 10d يحذف على مؤقّت.
على Windows، المجلد تحت %TEMP%، الذي يكنسه استشعار التخزين وتنظيف القرص. في يوليو 2026 شغّل أحدهم تنظيفًا للقرص بينما كانت جلستان تعملان، ففقد worktrees الـ git التي كان الوكيلان يعملان فيها، بما فيها التعديلات التي لم يُعمل لها commit بعد. لم تُستعاد التعديلات إلا لأنها كانت لا تزال موجودة في سياق المحادثة.
على macOS، يُفرَّغ /private/tmp عند إعادة التشغيل ويحذف النظام الملفات القديمة. على Mac mini الخاص بنا هذه الليلة، يحتوي /private/tmp/claude-501 على تسعة مجلدات جلسات لهذا المشروع، 452 ملفًا و25 ميغابايت، ولا شيء أقدم من اليوم. كل ما تركه وكلاء الليالي السابقة هناك قد اختفى.
لا شيء من هذا خلل بمعنى أن شيئًا ما أساء التصرف. المجلد بالضبط حيث يقول الـ CLI إنه موجود، ونظام التشغيل فعل بالضبط ما يفعله بالمجلدات المؤقتة. الفجوة أن البرومبت يسميه scratchpad، والـ scratchpad يبدو كشيء تحتفظ به.
ما يمكنك ضبطه، وما لا يمكنك
حتى الإصدار 2.1.278 لا يوجد إعداد لموقع الـ scratchpad. يتبع المجلد المجلد المؤقت، لذا فإن TEMP على Windows وTMPDIR على Unix ينقلانه. أما CLAUDE_CODE_TMPDIR، الموجود لملفات مؤقتة أخرى، فقد أُبلغ أنه لا ينقل الـ scratchpad، وأُغلق ذلك الطلب بوصفه غير مخطط له. وكذلك طلبات متغير CLAUDE_CODE_SCRATCHPAD_DIR وموقع افتراضي تحت ~/.claude/scratchpad/. أما مجلد scratchpad مرئي في تطبيق سطح المكتب فهو طلب ميزة لا يزال مفتوحًا.
شيئان يعملان اليوم. الجلسة المستأنفة (claude --resume) تحتفظ بمعرّف جلستها، فتبحث عن المجلد نفسه، وتجده إن لم يحذفه شيء في الأثناء. ويمكنك أن تطلب من الوكيل، بكلمات بسيطة، أن يكتب ملفًا معينًا في مكان دائم. هذا هو حلّنا كله.
القاعدة التي أعطيناها لوكلائنا الليليين
يبدأ سبعة وكلاء في الساعة 20:00 على الجهاز نفسه: SEO، والمنتج، والتواصل الاجتماعي، وfixer، ووكيل توثيق، وتقرير CEO، ومقرّر يرسل ملخص الليلة بالبريد الإلكتروني في الساعة 22:00. كل واحد منهم ينتج الكثير من المواد الوسيطة: تصديرات Search Console، وملفات JSON مصفّاة، وسكربتات تعدّ السلاسل النصية عبر عشرين لغة. كل ذلك يذهب إلى الـ scratchpad، عمدًا، لأن لا شيء منه ينتمي إلى المستودع ولا شيء منه ينبغي أن يطلق طلب إذن في الثانية صباحًا.
القاعدة في كل برومبت جملة واحدة: يحفظ الـ scratchpad ما يحتاجه الأمر التالي، ويحفظ المستودع ما تحتاجه الليلة التالية. كل ما سيرغب وكيل في قراءته غدًا، تقريره، وعلامة تشغيلته، والملف الذي كان يعدّله، يُكتب تحت reports/nuit/<التاريخ>/ ويُعمل له commit فور اكتماله، لا في نهاية التشغيلة. الوكيل الذي يُقطع في منتصف مهمته يترك تقريرًا جزئيًا في git و25 ميغابايت من ملفات العمل التي لن يفتقدها أحد.
الصورة المعكوسة لتلك القاعدة هي التي تعلّمها مبلّغ Linux بالطريقة الصعبة: لا تدع أبدًا عملًا طويلًا يراكم نسخته الوحيدة في الـ scratchpad. إن كان خط أنابيب يعمل ليوم كامل، فمخرجاته تذهب إلى مسار اخترته أنت، ويحتفظ الـ scratchpad بالأدوات المساعدة.
فتح المجلد دون مغادرة التطبيق
إن كنت تشغّل Claude Code داخل AgentsRoom، فإن File > Open File (Cmd/Ctrl+O) يفتح أي ملف من ذلك المجلد في المعاينة، معلَّمًا بأنه خارج المشروع حتى لا تخلط بينه وبين ملف متتبَّع. إنها أسرع طريقة وجدناها لقراءة تصدير أنتجه الوكيل للتو، دون لصق مسار /private/tmp في طرفية.
ولإغلاق الحلقة بشأن الاسم: Scratchpad الخاص بـ AgentsRoom شيء آخر. إنه محرر البرومبت المدمج في محرّر رسائل الوكيل، حيث يُكتب برومبت طويل ويُحفظ كمسودة لكل وكيل بين الجلسات. الكلمة نفسها، اختيرت قبل أن يستخدمها Claude Code لمجلد. أحدهما حيث تكتب أنت للوكيل؛ والآخر حيث يكتب الوكيل لنفسه.
الأسئلة الشائعة
أين يوجد scratchpad الخاص بـ Claude Code على macOS وLinux؟
تحت المجلد المؤقت للنظام: /tmp/claude-<uid الخاص بك>/<مسار المشروع مع استبدال الشرطات المائلة بشرطات>/<معرّف الجلسة>/scratchpad. على macOS يظهر المجلد نفسه تحت /private/tmp/claude-501/… لأن /tmp رابط إلى /private/tmp. الـ uid هو ما يطبعه id -u: 501 لأول مستخدم على Mac، و1000 على معظم توزيعات Linux، و0 لـ root. الإصدارات الأقدم كانت تستخدم /tmp/claude/ دون لاحقة الـ uid.
أين يوجد scratchpad الخاص بـ Claude Code على Windows؟
تحت مجلد TEMP: %TEMP%\claude\<slug المشروع>\<معرّف الجلسة>\scratchpad، وهو ما يتوسّع عادةً إلى C:\Users\<أنت>\AppData\Local\Temp\claude\…. تغيير متغير البيئة TEMP ينقله، لأن المسار مشتق من TEMP لا من إعداد في Claude Code.
لماذا اختفى scratchpad الخاص بي في Claude Code؟
لأنه يقع تحت المجلد المؤقت، وكل نظام تشغيل يعتبر المجلد المؤقت قابلًا للحذف. على Linux، يطبّق systemd-tmpfiles القاعدة المكتوبة في /usr/lib/tmpfiles.d/tmp.conf، وغالبًا ما تكون تفريغًا عند الإقلاع أو بعد عدد من الأيام. يفرّغ macOS المجلد /private/tmp عند إعادة التشغيل ويحذف الملفات القديمة. على Windows، يكنس استشعار التخزين وتنظيف القرص المجلد %TEMP%. لا شيء في Claude Code يحمي المجلد من أي من هذا.
هل يمكنني تغيير المكان الذي يضع فيه Claude Code الـ scratchpad؟
ليس بإعداد مخصص، حتى الإصدار 2.1.278 من Claude Code. يتبع المجلد المجلد المؤقت لنظام التشغيل، لذا فإن نقل TEMP على Windows أو TMPDIR على Unix ينقله. طلبات متغير منفصل أو موقع دائم تحت ~/.claude أُغلقت بوصفها غير مخطط لها. الخيار الموثوق هو أن تطلب من الوكيل كتابة كل ما يهم داخل المشروع بدلًا من ذلك.
هل الـ scratchpad هو نفسه ~/.claude/projects؟
لا. يحتوي ~/.claude/projects/<slug المشروع>/ على سجلات الجلسات، ولكل جلسة مجلد tool-results تُحفظ فيه مخرجات الأدوات الكبيرة جدًا. ذلك الموقع دائم. أما الـ scratchpad تحت المجلد المؤقت فهو مساحة العمل التي يستخدمها الوكيل للسكربتات والملفات الوسيطة، وذاك متقلّب.
هل هذا هو Scratchpad الخاص بـ AgentsRoom؟
الكلمة نفسها لكن الشيء مختلف. Scratchpad الخاص بـ AgentsRoom هو محرر البرومبت المدمج في محرّر رسائل الوكيل، حيث تكتب مسودة لكل وكيل وتحتفظ بها. أما scratchpad الخاص بـ Claude Code فهو مجلد ينشئه الـ CLI لكل جلسة. يستطيع AgentsRoom فتح أي ملف من ذلك المجلد عبر File > Open File، ويُعلَّم بأنه «خارج المشروع».
تحميل AgentsRoom
شغّل كل وكلاء الذكاء الاصطناعي لديك، في كل مشاريعك، من نافذة واحدة.
التطبيق المرافق: تابع وكلاءك أينما كنت
استخدم Claude أو Codex أو Antigravity CLI أو أي مزود AI آخر.
أرسل الأخطاء والطلبات مباشرة إلى قائمة المهام العامة.
تابع القراءة
هل يستهلك Remote Control في Claude Code توكنات أكثر؟ وهل لدى Codex واحد؟
سؤالان يكتبهما الناس في Google منذ أن أطلقت Anthropic ميزة Remote Control: هل تكلّف قيادة جلسة Claude Code من هاتفك توكنات أكثر، وهل يوجد ما يعادلها لدى Codex. الجوابان المختصران: لا، فالدورة دورة أينما كتبتها، ونعم لكن نصفها فقط موجود. إليك ما هو Remote Control فعلاً، وكيف تقيس مسألة التوكنات بنفسك في أربعة أوامر، وما الذي يفعله codex remote-control اليوم، وكيف يغيّر جهاز تحكم عن بُعد من الهاتف لا يتحدث أبداً إلى أي مزوّد هذه الحسبة.
اقرأ المقالوكيل المراجعة يجب ألا يكون قادرًا على الكتابة. هكذا نفرض ذلك، CLI تلو الآخر.
في تشغيلة من 17 عقدة، عدّل وكيل الإصدار اختبارًا ليحوّل حزمة حمراء إلى خضراء، ثم كتب وكيلا مراجعة الإصلاح نفسه وتصادما. البرومبت كان يقول: مراجعة فقط. لم يصمد. إليك الحادثة، ولماذا لا تستطيع تعليمة مكتوبة أن تحمل هذه القاعدة، والخيارات الدقيقة التي تجعل Claude Code وCodex وGrok وAntigravity وOpenCode ترفض الكتابة.
اقرأ المقالعشرة وكلاء شغّلوا نفس فحص الأنواع في اللحظة نفسها. الحل كان مجلدًا.
سبعة عشر وكيل برمجة في نفس النسخة من المستودع، عشر عمليات tsc في وقت واحد، load average عند 37 و87 ميغابايت من الذاكرة الحرة. فحص أنواع مدته تسعون ثانية استغرق 7 دقائق و36 ثانية. إليك القياس، وسبب أن الآلة لم تكن تحسب، والقفل المشترك الصغير الذي حل المشكلة. قابل للنسخ إلى أي مستودع.
اقرأ المقال