SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-09-12

Claude Code session कैसे resume करें और history देखें

Claude Code session को नाम या picker के जरिए फिर से शुरू करने का तरीका जानें। अपनी पुरानी बातचीत के plaintext transcripts को स्थानीय मशीन पर खोजने की पूरी प्रक्रिया यहाँ दी गई है।

Claude Code session को फिर से कैसे शुरू करें

Claude Code session को फिर से शुरू करने के लिए, वर्तमान डायरेक्टरी में सबसे हालिया बातचीत के लिए claude --continue चलाएं, या सूची में से पुरानी बातचीत चुनने के लिए claude --resume का उपयोग करें। पहले से चल रहे session के भीतर, /resume कमांड आपको बिना बाहर निकले किसी दूसरी बातचीत पर स्विच करने की सुविधा देता है। इसके संक्षिप्त रूप -c और -r हैं।

claude --continue
claude --resume
claude --resume auth-refactor

यदि आप पहले से ही session का नाम या उसका ID जानते हैं, तो उसे एक argument के रूप में पास करें और Claude Code बिना picker दिखाए सीधे उस पर चला जाएगा।

नीचे दी गई सभी जानकारी अगस्त 2026 तक के आधिकारिक session documentation के अनुरूप है। Claude Code के नए वर्ज़न अक्सर आते रहते हैं, और फ्लैग के नाम तथा कीबोर्ड शॉर्टकट वर्ज़न के बीच बदल सकते हैं, इसलिए जब यहाँ दी गई जानकारी आपके टर्मिनल में दिख रही जानकारी से मेल न खाए, तो claude --help और उस पेज को ही आधिकारिक मानें।

सेशन वास्तव में क्या है

सेशन एक सहेजी गई बातचीत है जो किसी प्रोजेक्ट डायरेक्टरी से जुड़ी होती है। इसमें पूरा मैसेज इतिहास होता है, जिसमें Claude द्वारा किए गए tool calls और उन कॉल्स से प्राप्त परिणाम शामिल हैं। Claude Code आपके काम करने के दौरान इसे लगातार डिस्क पर लिखता रहता है, न कि केवल अंत में। इसलिए, टर्मिनल बंद करने या SSH कनेक्शन कट जाने पर भी बातचीत सुरक्षित रहती है।

सेशन को फिर से शुरू (resume) करने पर केवल टेक्स्ट ही वापस नहीं आता। पूरी बातचीत का इतिहास वापस आ जाता है, साथ ही वह मॉडल भी जिसका उपयोग सेशन में किया जा रहा था और वह subagent भी जिसके साथ इसे शुरू किया गया था, यदि आपने --agent का उपयोग किया था। permission mode भी वापस आ जाता है, लेकिन सुरक्षा कारणों से कुछ अपवाद हैं: plan mode और bypass-permissions mode कभी भी रिस्टोर नहीं होते हैं। इसलिए, यदि कोई सेशन इनमें से किसी मोड में था, तो वह उस मोड में फिर से शुरू होगा जिसमें एक नया सेशन शुरू होता है।

कुछ चीजें वापस नहीं आतीं, क्योंकि वे सहेजी गई स्थिति के बजाय launch-time flags थीं। --add-dir के साथ जोड़ी गई directories और --mcp-config, --settings तथा --plugin-dir जैसे options को resume करते समय फिर से pass करना पड़ता है। settings.json जैसी settings files को launch के समय फिर से पढ़ा जाता है, इसलिए उनमें मौजूद किसी भी setting को दोबारा देने की जरूरत नहीं होती। Credentials भी इसी श्रेणी में आते हैं: Claude Code यह तय करता है कि launch के समय आपके login और environment से authenticate कैसे करना है, न कि conversation के साथ इसे restore करता है। इसलिए ऐसे VPS पर resumed session, जहां shell में कोई अनचाहा ANTHROPIC_API_KEY आ गया हो, invalid API key error दिखाएगा, भले ही पिछली बार वह ठीक चला हो।

VPS पर session history अधिक महत्वपूर्ण क्यों है

यह वह तथ्य है जो लोगों को आश्चर्यचकित करता है। ट्रांसक्रिप्ट उस मशीन पर लिखी जाती है जहाँ agent चला था। यह आपके account में नहीं रखी जाती और न ही cloud पर sync होती है। यह उस box की disk पर एक file होती है।

इसलिए, आपके VPS पर tmux window के अंदर छोड़ा गया session आपके laptop के picker में दिखाई नहीं देता है, और आपके laptop का session VPS पर दिखाई नहीं देता है। उनके बीच कुछ भी स्थानांतरित नहीं होता है। यदि आप उस तरीके से काम करते हैं जैसे ज्यादातर लोग VPS पर tmux में Claude Code चलाते समय करते हैं, तो server ही वह स्थान है जहाँ आपका वास्तविक conversation history जमा होता है, और जो picker आप स्थानीय रूप से देखते हैं, वह एक अलग और बहुत छोटा set दिखाता है।

यही विभाजन अलग-अलग interfaces पर भी लागू होता है। desktop app और VS Code extension प्रत्येक अपना-अपना session history रखते हैं, और उनमें से कोई भी CLI का history नहीं है। web पर Claude Code भी अपना अलग history रखता है। Cowork और भी दूर स्थित है, जो आपके स्वामित्व वाले hardware के बजाय Anthropic sandbox के अंदर चलता है, इसलिए यदि आप Cowork बनाम Claude Code का मूल्यांकन कर रहे हैं, तो ट्रांसक्रिप्ट कहाँ समाप्त होती है, यह निर्णय का एक हिस्सा है।

एक ही मशीन के भीतर, खोज आपकी अपेक्षा से अधिक व्यापक है। claude --resume <session-id> सबसे पहले वर्तमान project directory और उसके git worktrees में देखता है, फिर उस मशीन के हर दूसरे project में। याद रखने योग्य वाक्यांश है "उस मशीन पर"। किसी अन्य host से प्राप्त session ID का कोई परिणाम नहीं निकलता है, और Claude Code आपको No conversation found with session ID: <session-id> के साथ यह सूचित करता है।

Claude Code session history कहाँ स्टोर करता है

डिफ़ॉल्ट रूप से, ट्रांसक्रिप्ट आपके Claude Code कॉन्फ़िगरेशन डायरेक्टरी के अंतर्गत, ~/.claude/projects/<project>/<session-id>.jsonl के रूप में एक पाथ पर रहते हैं।

<project> आपका वर्किंग डायरेक्टरी पाथ है जिसमें हर नॉन-अल्फ़ान्यूमेरिक कैरेक्टर को हाइफ़न से बदल दिया जाता है, इसलिए /home/deploy/apps/api में शुरू किया गया सेशन -home-deploy-apps-api नामक डायरेक्टरी के अंतर्गत स्टोर होता है। यदि यह परिवर्तित नाम 200 कैरेक्टर से अधिक हो जाता है, तो Claude Code इसे छोटा कर देता है और पूरे पाथ का एक हैश जोड़ देता है, ताकि डायरेक्टरी का नाम फ़ाइलसिस्टम की सीमाओं के भीतर रहे।

यह फ़ाइल JSONL है: प्रति लाइन एक JSON ऑब्जेक्ट, प्रत्येक लाइन एक मैसेज, टूल का उपयोग, या मेटाडेटा एंट्री है। यह पठनीय टेक्स्ट है, और इसे पढ़ना ठीक है।

इसके लिए पार्सर लिखना ठीक नहीं है। एंट्री फॉर्मेट Claude Code के लिए आंतरिक है और वर्ज़न के बीच बदलता रहता है, इसलिए इन फ़ाइलों को सीधे पढ़ने वाली स्क्रिप्ट किसी भी अपडेट पर खराब हो सकती है। Anthropic का अपना डॉक्यूमेंटेशन कहता है कि इसके बजाय /export या डॉक्यूमेंटेड स्क्रिप्ट इंटरफ़ेस का उपयोग करें, जो ठीक इसी कारण से एक अच्छी सलाह है।

दो सेटिंग्स इस प्रक्रिया को बदल देती हैं। CLAUDE_CONFIG_DIR पूरी कॉन्फ़िगरेशन डायरेक्टरी को स्थानांतरित कर देता है, जो कि ट्रांसक्रिप्ट को एक अलग वॉल्यूम या एन्क्रिप्टेड वॉल्यूम पर रखने का तरीका है। settings.json में cleanupPeriodDays यह नियंत्रित करता है कि उन्हें कितने समय तक रखा जाए, और यह डिफ़ॉल्ट रूप से 30 दिनों का होता है, जिसमें न्यूनतम 1 दिन की सीमा है।

उन ट्रांसक्रिप्ट फाइलों के अंदर वास्तव में क्या होता है

हर टूल का परिणाम रिकॉर्ड किया जाता है, जिसका अर्थ है कि एक ट्रांसक्रिप्ट में उन फाइलों की सामग्री होती है जिन्हें Claude ने पढ़ा है और उन कमांड्स का आउटपुट होता है जिन्हें Claude ने चलाया है। Anthropic का डेटा उपयोग पृष्ठ इसे स्पष्ट रूप से बताता है: Claude Code सत्र की ट्रांसक्रिप्ट को स्थानीय रूप से ~/.claude/projects/ के अंतर्गत प्लेनटेक्स्ट में संग्रहीत करता है।

सोचें कि सर्वर पर इसका क्या अर्थ है। यदि Claude ने यह पता लगाने के लिए कि कोई सर्विस क्यों शुरू नहीं हो रही है, एक .env फाइल पढ़ी है, तो उस फाइल की सामग्री अब आपकी होम डायरेक्टरी में एक JSONL फाइल में मौजूद है। यदि किसी कमांड ने कनेक्शन स्ट्रिंग प्रिंट की है, तो वह स्ट्रिंग भी उसमें है। कुछ भी लीक नहीं हुआ है। ट्रांसक्रिप्ट ने रिकॉर्ड किया है कि क्या हुआ, जो कि इसका मुख्य उद्देश्य है, और यही कारण है कि इसे आपके थ्रेट मॉडल में शामिल होना चाहिए।

  • बैकअप: /home या /root का एक साधारण बैकअप आपकी ट्रांसक्रिप्ट को वहां कॉपी कर देता है जहां बैकअप जाते हैं। एक अपवर्जन (exclusion) जोड़ें, या स्वीकार करें कि आपके प्रॉम्प्ट्स और फाइल सामग्री की प्रतियां अब आपके बैकअप स्टोर में रहती हैं।
  • स्नैपशॉट और इमेज: किसी भी कारण से लिया गया VPS स्नैपशॉट पूरी डायरेक्टरी को शामिल करता है। ऐसा ही उस इमेज के साथ होता है जिसे आप दूसरा सर्वर बनाने के लिए क्लोन करते हैं।
  • बॉक्स पर अन्य अकाउंट्स: यह मानने के बजाय कि वे सुरक्षित हैं, ls -ld ~/.claude ~/.claude/projects के साथ स्वयं मोड्स की जाँच करें।
  • जानबूझकर अपलोड: /feedback कमांड बातचीत का इतिहास जानबूझकर Anthropic को भेजती है, और /bug तथा /share उसी रास्ते से रिपोर्ट करते हैं। ये वे चीजें हैं जिन्हें आप करने का विकल्प चुनते हैं, इसलिए पुष्टि करने से पहले जान लें कि आप किस बात के लिए सहमति दे रहे हैं।

यदि आप चाहते हैं कि कोई ट्रांसक्रिप्ट न हो, तो CLAUDE_CODE_SKIP_PROMPT_HISTORY ट्रांसक्रिप्ट लेखन को रोकता है, और --no-session-persistence इसे एक एकल नॉन-इंटरैक्टिव claude -p रन के लिए रोकता है। इनमें से किसी को भी सेट करने से पहले ट्रेड-ऑफ के बारे में स्पष्ट रहें। ट्रांसक्रिप्ट वही है जिसे resume पढ़ता है, इसलिए ट्रांसक्रिप्ट न होने का मतलब है कि resume काम नहीं करेगा।

पुरानी बातचीत कैसे खोजें

claude --resume के साथ picker खोलें, या किसी चल रहे session के भीतर /resume का उपयोग करें। यदि आपने कोई नाम सेट किया है तो प्रत्येक पंक्ति session का नाम दिखाती है, अन्यथा यह एक जनरेट किया हुआ शीर्षक दिखाती है। इसके साथ ही अंतिम गतिविधि के बाद का समय, git branch और फ़ाइल का आकार भी दिखाई देता है।

Picker खोज करता है। सूची को फ़िल्टर करने के लिए / दबाएं, या बस टाइप करना शुरू करें। जो शॉर्टकट सीखने योग्य हैं वे वे हैं जो दायरे को बढ़ाते हैं: Ctrl+A इस मशीन पर मौजूद हर project के sessions दिखाता है, Ctrl+W वर्तमान repository के हर worktree को दिखाता है, और Ctrl+B वर्तमान git branch तक फ़िल्टर करता है। किसी session को चुनने से पहले उसकी सामग्री का पूर्वावलोकन करने के लिए Space दबाएं, और हाइलाइट किए गए session का नाम बदलने के लिए Ctrl+R दबाएं।

Sessions को नाम देने से यह सब बहुत आसान हो जाता है। claude -n auth-refactor के साथ एक session शुरू करें, या काम के बीच में /rename auth-refactor चलाएं, उस बिंदु पर जब आपको एहसास हो कि बातचीत एक वास्तविक कार्य में बदल गई है। एक नामित session को सीधे shell से नाम द्वारा फिर से शुरू किया जा सकता है।

बिना नाम वाले session को भी एक जनरेट किया हुआ शीर्षक मिलता है, जिसे एक छोटे तेज़ model को बैकग्राउंड अनुरोध भेजकर लिखा जाता है जो आपके पहले prompt का सारांश प्रस्तुत करता है। वह शीर्षक आपको picker में पंक्ति को पहचानने में मदद करता है, लेकिन यह फिर से शुरू करने का हैंडल नहीं है। claude --resume <name> केवल उन नामों से मेल खाता है जिन्हें आपने स्वयं सेट किया है।

Transcripts को grep करके सही session ढूँढना

कभी-कभी आपको केवल एक वाक्यांश याद रहता है और बाकी कुछ नहीं। Transcripts टेक्स्ट के रूप में होते हैं, इसलिए उन्हें search करें।

grep -rl "nftables" ~/.claude/projects/

यह command matching transcripts के paths को print करती है। बिना .jsonl extension वाली filename ही session ID है, और claude --resume <session-id> इसे स्वीकार करता है। यह पता लगाने के लिए कि आपको कौन सा session चाहिए, grep का उपयोग करें, फिर उसे resume करें या उसे पढ़ने के लिए export करें।

दो महत्वपूर्ण बातें। content JSON-escaped होता है, इसलिए यदि किसी वाक्यांश में quote characters हैं, या वह line break के कारण विभाजित हो गया है, तो वह literal string के रूप में match नहीं हो सकता है। और यदि tool result के अंदर कोई match मिलता है, तो इसका अर्थ है कि Claude ने वह टेक्स्ट देखा था, न कि किसी ने उसे टाइप किया था।

संवाद को पढ़ना और एक्सपोर्ट करना

/export वर्तमान संवाद को प्लेन टेक्स्ट के रूप में रेंडर करता है, जिसमें मैसेज और टूल आउटपुट JSON के बजाय पठनीय रूप में लिखे होते हैं। बिना किसी तर्क (argument) के यह एक मेनू खोलता है जो क्लिपबोर्ड या फाइल का विकल्प देता है। फाइलनाम के साथ, /export handover.txt सीधे उस पाथ पर लिखता है। सर्वर से अपने लैपटॉप पर संवाद ले जाने या किसी टिकट के साथ उसे संलग्न करने का यह सही तरीका है।

किसी भी स्वचालित कार्य के लिए, उन इंटरफेस का उपयोग करें जो स्थिर रहने के लिए बनाए गए हैं। हुक्स और स्टेटस लाइन कमांड इनपुट के रूप में transcript_path फील्ड प्राप्त करते हैं, इसलिए एक SessionEnd हुक सत्र समाप्त होने पर ट्रांसक्रिप्ट को आर्काइव कर सकता है। आप किसी संग्रहीत सत्र को खोले बिना भी उससे प्रश्न पूछ सकते हैं:

claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'

यह पुराने संवाद में एक फॉलो-अप प्रॉम्प्ट भेजता है और स्ट्रक्चर्ड JSON लौटाता है। यह JSONL फॉर्मेट को पार्स करने की तुलना में कहीं बेहतर आधार है, जो अगले रिलीज में बदलने के लिए स्वतंत्र है।

नया सत्र शुरू करना बनाम पुराना सत्र जारी रखना

सत्र जारी रखने से पूरा इतिहास वापस आ जाता है, और यही वह इतिहास है जिसे बाद की हर request अपने साथ ले जाती है। कल चार घंटे तक चली बातचीत को आज जारी रखना महंगा पड़ता है, और लंबे सत्र में टोकन का उपयोग कैसे बढ़ता है यह बताता है कि वह लागत वास्तव में कहाँ से आती है।

Claude Code कभी-कभी बीच का रास्ता भी देता है। Pro या Max प्लान पर, यदि कोई सत्र लगभग एक घंटे से निष्क्रिय है और उसमें 100,000 से अधिक टोकन हैं, तो आपके पहले संदेश से पहले एक संवाद (dialog) खुलता है। तब तक prompt cache समाप्त हो चुका होता है, इसलिए आप कोई भी विकल्प चुनें, अगली request एक बार पूरे इतिहास को फिर से process करती है।

  • Resume from summary तुरंत एक compaction चलाता है, ताकि बाद की requests पूरे इतिहास के बजाय केवल एक सारांश (summary) ले जाएं। यह प्रति request सस्ता है, और जो जानकारी सारांश में छूट गई है वह अब उपलब्ध नहीं रहती।
  • Resume full session as-is बातचीत को बिना किसी बदलाव के लोड करता है, और हर विवरण को ऐसी लागत पर रखता है जो बातचीत के आकार के साथ बढ़ती है।

तीसरा विकल्प सत्र को पूरी तरह से जारी रखता है और बाद के resumes पर इस संवाद को आने से रोकता है।

यह निर्णय लेना जितना दिखता है उससे कहीं अधिक सरल है। तब जारी रखें जब आप जो कुछ भी आगे टाइप करने वाले हैं, वह पिछली बातों पर निर्भर करता हो। जब ऐसा न हो, तो नया सत्र शुरू करें। यदि आप ध्यान दें तो drift को पहचानना आसान है: जैसे Claude किसी ऐसी file का संदर्भ दे जिसे आपने एक घंटे पहले हटा दिया था, या किसी ऐसे निर्णय पर फिर से बहस करना जिसे आपने सत्र की शुरुआत में ही तय कर लिया था। यह पुराना context है, और इसे आगे ले जाने से आपके टोकन और सटीकता दोनों का नुकसान होता है।

यदि पुरानी बातचीत का उपयोगी हिस्सा कोई निर्णय या तथ्य है जिसकी आपको फिर से आवश्यकता होगी, तो उसे जारी रखने के लिए सत्र को resume करने पर निर्भर न रहें। इसे कहीं लिख लें जहाँ हर सत्र इसे देख सके, और यही काम Claude Code की memory files करती हैं।

यहाँ /branch के बारे में जानना भी उपयोगी है। यह वर्तमान बिंदु तक की बातचीत की एक प्रति बनाता है और आपको उस प्रति में ले जाता है, जिससे मूल बातचीत सुरक्षित और picker में बनी रहती है। इसका उपयोग पहले वाले को खोए बिना दूसरा दृष्टिकोण आज़माने के लिए करें।

Resume, compaction और memory में अंतर

अक्सर लोग इनमें भ्रमित हो जाते हैं, जबकि ये अलग-अलग समस्याओं का समाधान करते हैं।

Resume का अर्थ है किसी conversation से बाहर निकलने, reboot करने या किसी अन्य कार्य पर जाने के बाद उसे वापस शुरू करना। Compaction का संबंध एक live conversation के भीतर context window से है: /compact Claude द्वारा ले जाए जा रहे डेटा को एक summary से बदल देता है, ताकि बाद के requests में कम tokens भेजे जाएं। यदि आपकी समस्या यह है कि context window भर गया है, तो compaction ही सही टूल है, और Claude Code context window को manage करना में इसे विस्तार से समझाया गया है।

Memory पूरी तरह अलग है। CLAUDE.md files और auto memory में ऐसे निर्देश और तथ्य होते हैं जो हर session की शुरुआत में load होते हैं, इसलिए ये वह conversation नहीं हैं जिस पर आप वापस लौटते हैं। ये वे बातें हैं जिन्हें आप लिख लेते हैं ताकि आपको कभी किसी पुरानी conversation पर वापस न लौटना पड़े।

यदि आप दो conversations को एक साथ चलाना और उन्हें coordinate करना चाहते हैं, तो उसके लिए एक अलग mechanism है। Claude Code sessions एक-दूसरे को message भेज सकते हैं जबकि दोनों live हों, जो कि कल के session को disk से वापस लाने से बिल्कुल अलग समस्या है।

FAQ

Claude Code मेरा session history कहाँ store करता है?

डिफ़ॉल्ट रूप से यह आपके config directory में ~/.claude/projects/<project>/<session-id>.jsonl पर होता है, जहाँ <project> वर्किंग डायरेक्टरी का पाथ है जिसमें non-alphanumeric characters को हाइफ़न से बदल दिया गया है। प्रत्येक फ़ाइल JSONL फॉर्मेट में होती है: हर लाइन पर एक JSON ऑब्जेक्ट, जो किसी मैसेज, टूल के उपयोग या मेटाडेटा एंट्री को दर्शाता है। CLAUDE_CONFIG_DIR का उपयोग करके config directory को कहीं और ले जाया जा सकता है, और settings.json में cleanupPeriodDays यह सेट करता है कि transcripts कितने समय तक रखे जाएंगे; डिफ़ॉल्ट रूप से यह 30 दिन है और न्यूनतम 1 दिन है।

मैं अपने लैपटॉप पर picker में अपना VPS session क्यों नहीं देख पा रहा हूँ?

क्योंकि transcripts उस मशीन की डिस्क पर लिखे जाते हैं जहाँ एजेंट चला था, और मशीनों के बीच इनका कोई सिंक नहीं होता। आपके VPS पर tmux के अंदर की गई बातचीत केवल उसी VPS पर मौजूद रहती है। इसे SSH के माध्यम से वहीं resume करें, या यदि आप स्थानीय रिकॉर्ड चाहते हैं तो उसके अंदर /export चलाएं और टेक्स्ट फ़ाइल को कॉपी कर लें।

क्या मैं किसी अलग डायरेक्टरी में शुरू किए गए session को resume कर सकता हूँ?

हाँ, यदि आपके पास उसका session ID है। claude --resume <session-id> पहले वर्तमान प्रोजेक्ट डायरेक्टरी और उसके git worktrees में खोजता है, फिर उसी मशीन पर मौजूद हर दूसरे प्रोजेक्ट में। Picker के अंदर, Ctrl+A लिस्ट को मशीन के हर प्रोजेक्ट तक बढ़ा देता है और Ctrl+W इसे वर्तमान रिपॉजिटरी के हर worktree तक बढ़ा देता है। यदि कुछ भी मैच नहीं होता है, तो Claude Code No conversation found with session ID: <session-id> रिपोर्ट करता है।

क्या मुझे पुराना session resume करना चाहिए या नया शुरू करना चाहिए?

जब आपका अगला मैसेज उस बातचीत पर निर्भर हो जो पहले हो चुकी है, तब resume करें। जब ऐसा न हो तो नया session शुरू करें, क्योंकि resume करने पर पूरा इतिहास लोड हो जाता है और उसके बाद की हर रिक्वेस्ट उसे साथ लेकर चलती है। Drift पर नज़र रखें: एक ऐसा session जो उन फ़ाइलों का संदर्भ देता रहता है जिन्हें आप पहले ही डिलीट कर चुके हैं, वह पुराना context ढो रहा है। यह context हर टर्न पर आपके टोकन खर्च करता है और सटीकता को प्रभावित करता है।

क्या मैं Claude Code को डिस्क पर transcripts लिखने से रोक सकता हूँ?

हाँ। CLAUDE_CODE_SKIP_PROMPT_HISTORY ट्रांसक्रिप्ट लिखने को रोकता है, और --no-session-persistence इसे एक सिंगल non-interactive claude -p रन के लिए रोकता है। पहले इसके परिणाम समझ लें, क्योंकि resume इसी ट्रांसक्रिप्ट को पढ़ता है, इसलिए इन्हें बंद करने का मतलब है कि --continue और --resume के पास लोड करने के लिए कुछ नहीं होगा। यदि आपकी चिंता यह है कि फ़ाइलें कहाँ स्थित हैं (न कि उनका अस्तित्व), तो CLAUDE_CONFIG_DIR को किसी encrypted volume पर पॉइंट करें और cleanupPeriodDays को कम कर दें।