विषय-सूची
"मैंने Claude Code को चलने दिया, और बदलाव वहाँ चला गया जहाँ मैं नहीं चाहता था।" ठीक उसी पल के लिए, checkpointing और /rewind आपको कुछ ही कीस्ट्रोक में "गड़बड़ होने से पहले" की स्थिति में वापस ले जाने देते हैं। Claude Code हर एडिट से पहले स्थिति का अपने-आप स्नैपशॉट लेता है, और आप /rewind या Esc दो बार दबाकर पिछली स्थिति में लौट सकते हैं।
यह लेख आधिकारिक दस्तावेज़ के आधार पर बताता है कि checkpointing क्या है, इसका इस्तेमाल कैसे करें, क्या बहाल होता है और क्या नहीं (सबसे ज़रूरी), यह Git से कैसे अलग है, एरर से उबरने में इसका उपयोग, और उपलब्धता। मुख्य बिंदु पहले। ① यह फ़ाइल एडिट्स को अपने-आप ट्रैक करता है, और हर प्रॉम्प्ट एक रिस्टोर पॉइंट बन जाता है। ② /rewind या Esc दो बार से मेन्यू खोलें और कोड, बातचीत, या दोनों को बहाल करना चुनें। ③ लेकिन केवल "Claude के फ़ाइल एडिट्स" ही बहाल होते हैं—bash कमांड या Claude के बाहर किए गए बदलाव नहीं। इसीलिए यह Git का विकल्प नहीं है।
बदलावों को "गड़बड़ होने से पहले" तक वापस ले जाएँ
— हर प्रॉम्प्ट एक रिस्टोर पॉइंट है; Esc दो बार से लौटें
1. checkpointing और /rewind क्या हैं
आधिकारिक परिभाषा: "Claude Code आपके काम करते समय Claude के फ़ाइल एडिट्स को अपने-आप ट्रैक करता है, जिससे अगर कुछ गड़बड़ हो जाए तो आप बदलावों को तेज़ी से पूर्ववत कर सकते हैं और पिछली स्थितियों में लौट सकते हैं।" हर एडिट से पहले एक स्नैपशॉट अपने-आप लिया जाता है, और इसके ऊपर आपके भेजे हर प्रॉम्प्ट से एक नया checkpoint बनता है (एक ऐसा बिंदु जहाँ आप लौट सकते हैं)। Checkpoints सेशनों के पार बने रहते हैं, इसलिए आप फिर से शुरू की गई बातचीतों में भी उन तक पहुँच सकते हैं।
दूसरे शब्दों में, इस फ़ीचर का मतलब है "भले ही आप काम AI को सौंप दें और वह गड़बड़ कर दे, आप कुछ ही कीस्ट्रोक में एक सुरक्षित बिंदु पर लौट सकते हैं।" इंटरैक्टिव Claude Code (CLI) में, /rewind अपने-आप और डिफ़ॉल्ट रूप से चालू रहता है।
2. इसका इस्तेमाल कैसे करें (/rewind और Esc Esc)
rewind मेन्यू खोलने के दो तरीके हैं: /rewind टाइप करें, या जब प्रॉम्प्ट इनपुट खाली हो तब Esc दो बार दबाएँ।
⚠️ Esc Esc के बारे में एक बात: अगर इनपुट में टेक्स्ट हो, तो Esc दो बार दबाने पर मेन्यू खुलने के बजाय इनपुट साफ़ हो जाता है। साफ़ किया गया टेक्स्ट आपके इनपुट इतिहास में सहेज लिया जाता है, इसलिए उसे वापस लाने के लिए Up arrow दबाएँ। यह पक्का करने के लिए कि मेन्यू खुले, पहले इनपुट साफ़ कर लें।
मेन्यू में सेशन के दौरान आपके भेजे हर प्रॉम्प्ट की सूची होती है। जिस बिंदु पर लौटना चाहते हैं उसे चुनें, फिर एक कार्रवाई चुनें।
| कार्रवाई | यह क्या करती है |
|---|---|
| कोड और बातचीत बहाल करें | उस बिंदु तक दोनों को वापस लाएँ |
| बातचीत बहाल करें | उस संदेश तक rewind करें पर मौजूदा कोड रखें |
| कोड बहाल करें | केवल फ़ाइल बदलाव वापस लाएँ, बातचीत रखें |
| यहाँ से / यहाँ तक का सारांश बनाएँ | कॉन्टेक्स्ट को संकुचित करें (यह rewind नहीं; फ़ाइलें अपरिवर्तित) |
| रहने दें | बिना किसी बदलाव के बाहर निकलें |
"बातचीत बहाल करें" (और समान विकल्पों) के बाद, चुने गए संदेश का मूल प्रॉम्प्ट इनपुट फ़ील्ड में बहाल हो जाता है, ताकि आप उसे फिर से भेज सकें या संपादित कर सकें। बातचीत रखते हुए "कोड बहाल करें" आपको यह जानते हुए दोबारा शब्द चुनने देता है कि क्या गड़बड़ हुई—व्यवहार में आप यही प्रवाह सबसे ज़्यादा इस्तेमाल करेंगे।
3. क्या बहाल होता है और क्या नहीं (सबसे ज़रूरी)
यह इस फ़ीचर का सबसे ग़लत समझा जाने वाला हिस्सा है। Checkpointing केवल "Claude के फ़ाइल-एडिटिंग टूल्स (Write / Edit / NotebookEdit) द्वारा किए गए बदलावों" को ट्रैक करता है। कोई भी अन्य साइड इफ़ेक्ट rewind करने से पूर्ववत नहीं होता।
⚠️ बहाल नहीं होता (आधिकारिक दस्तावेज़ में बताया गया)
- bash कमांड द्वारा फ़ाइल बदलाव:
rm file.txt,mv old.txt new.txt,cp source dest, आदि को rewind के ज़रिए पूर्ववत नहीं किया जा सकता - सेशन के बाहर / अन्य सेशनों से किए गए बदलाव: मैनुअल एडिट्स और समानांतर सेशनों के एडिट्स तब तक कैप्चर नहीं होते जब तक वे उन्हीं फ़ाइलों को न छुएँ
- डायरेक्टरी बनाना, हटाना या स्थानांतरित करना / रिमोट या नेटवर्क फ़ाइलें
डेटाबेस स्थिति, माइग्रेशन, पैकेज इंस्टॉल, नेटवर्क कॉल—कोई भी "साइड इफ़ेक्ट जो फ़ाइल एडिट नहीं है" इसी तरह पूर्ववत नहीं होता (दस्तावेज़ इसे स्पष्ट रूप से नहीं कहता, पर चूँकि केवल एडिट टूल्स के ज़रिए किए गए फ़ाइल बदलाव ही ट्रैक होते हैं, यह तार्किक रूप से इसी से निकलता है)। संक्षेप में, याद रखें कि केवल "उन फ़ाइलों की सामग्री जिन्हें Claude ने अपने एडिट टूल्स से दोबारा लिखा" ही बहाल की जा सकती है। और चूँकि Claude Bash के ज़रिए भी फ़ाइलें बदल सकता है, सुरक्षित तरीका यह है कि rewind पर ज़्यादा निर्भर न रहें और माइलस्टोन पर Git में कमिट करें।
4. यह Git से कैसे अलग है
दस्तावेज़ इसे यूँ रखता है कि "checkpoints लोकल 'undo' हैं, और Git 'स्थायी इतिहास' है" और साफ़ कहता है कि "checkpoints उचित वर्ज़न कंट्रोल के पूरक हैं पर उसका स्थान नहीं लेते।"
- स्वचालित, तत्काल, कोई सेटअप नहीं
- सेशन-के-भीतर प्रयोग के लिए आदर्श
- एडिट-टूल फ़ाइल बदलावों को कवर करता है
- 30 दिन बाद साफ़ कर दिया जाता है (कॉन्फ़िगर करने योग्य)
- कमिट, ब्रांच, दीर्घकालिक भंडारण
- bash बदलावों को भी रिकॉर्ड करता है
- टीम में साझा और समीक्षा करने योग्य
- गायब नहीं होता (जब तक आप उसे न हटाएँ)
श्रम-विभाजन सरल है: सेशन-के-भीतर तुरंत undo के लिए checkpoints, टिकाऊ इतिहास के लिए Git कमिट। किसी बड़े काम के माइलस्टोन पर कमिट करें, और आप उन चीज़ों के पार भी सुरक्षित रूप से लौट सकते हैं जिन्हें rewind कवर नहीं कर सकता (जैसे bash बदलाव)।
5. एरर से उबरना
/rewind तब भी एक रिकवरी टूल है जब बातचीत टूट जाए और जारी न रह सके। Claude Code का आधिकारिक एरर रेफ़रेंस, tool-use कॉन्करेंसी और thinking blocks से संबंधित 400 एरर के लिए, प्रोडक्ट से ही यह कहलवाता है: "API Error: 400 ... Run /rewind to recover the conversation." Esc दो बार दबाकर दूषित टर्न से पहले के एक checkpoint पर पीछे जाएँ और वहीं से जारी रखें। यह court / invoke टैग-लीक (tool_use कॉन्करेंसी) एरर की भी मुख्य रिकवरी है।
⚠️ वर्ज़न नोट: अगर आप Opus 4.7 / 4.8 पर हैं, तो पहले claude update चलाएँ। दस्तावेज़ के अनुसार, v2.1.156 से पुराने वर्ज़न सामान्य tool use के दौरान यह एरर ट्रिगर कर सकते हैं, और /rewind इसे साफ़ नहीं करता। पहले अपडेट करना ज़रूरी है।
अगर rewind कारण तक न पहुँच सके (जैसे context compaction से हुआ दूषण), तो आप /clear से नए सिरे से भी शुरू कर सकते हैं। सामान्य रूप से एरर संभालने के लिए, देखें Claude Code एरर राउंडअप।
6. उपलब्धता और रिटेंशन
इंटरैक्टिव Claude Code (CLI) में, यह स्वचालित और डिफ़ॉल्ट रूप से चालू है—कोई विशेष सेटअप नहीं। इसके विपरीत Agent SDK में, यह एक स्पष्ट opt-in है (जैसे enableFileCheckpointing); दोनों को अलग रखें।
रिटेंशन के लिए, checkpoints 30 दिन बाद सेशनों के साथ साफ़ कर दिए जाते हैं (कॉन्फ़िगर करने योग्य)। दस्तावेज़ डिस्क पर भंडारण स्थान, एक on/off टॉगल, या रिटेंशन अवधि की विशिष्ट config key को स्पष्ट नहीं करता, इसलिए यह लेख उनका दावा नहीं करता (नवीनतम के लिए आधिकारिक दस्तावेज़ देखें)। यह फ़ीचर Claude Code v2.0.0 (सितंबर 2025) में आया और उस समय इसे "सबसे ज़्यादा माँगा गया फ़ीचर" बताया गया था (रिलीज़ तिथि और पृष्ठभूमि द्वितीयक स्रोतों से हैं)।
सारांश
Checkpointing और /rewind एक सुरक्षा-जाल हैं जो Claude के फ़ाइल एडिट्स को अपने-आप ट्रैक करते हैं और आपको कुछ ही कीस्ट्रोक में "गड़बड़ होने से पहले" तक वापस ले जाते हैं। हर प्रॉम्प्ट एक रिस्टोर पॉइंट बन जाता है, और आप /rewind या Esc दो बार से मेन्यू खोलकर कोड, बातचीत, या दोनों को वापस लाते हैं। व्यवहार में, केंद्रीय प्रवाह है "बातचीत रखते हुए कोड बहाल करें," फिर दोबारा शब्द चुनना।
मुख्य चेतावनी: "केवल Claude के फ़ाइल एडिट्स बहाल होते हैं"—bash-कमांड बदलाव, बाहरी बदलाव, डायरेक्टरी ऑपरेशन, डेटाबेस, और इस तरह की चीज़ें नहीं। इसलिए यह Git का विकल्प नहीं है; नियम के तौर पर माइलस्टोन पर कमिट करें। और /rewind एक टूटी हुई बातचीत को भी, जैसे 400 एरर, ठीक करता है (पुराने वर्ज़न पर पहले claude update)। संबंधित: court/invoke एरर, Claude Code एरर, hooks।
FAQ
Q. checkpointing किस लिए है?
A. यह बदलावों को तेज़ी से "गड़बड़ होने से पहले" तक वापस ले जाने का एक सुरक्षा-जाल है। Claude Code हर एडिट से पहले अपने-आप एक स्नैपशॉट लेता है, और आपका भेजा हर प्रॉम्प्ट एक रिस्टोर पॉइंट बन जाता है। भले ही आप काम AI को सौंप दें और वह गड़बड़ कर दे, आप /rewind या Esc दो बार से पिछली स्थिति में लौट सकते हैं। इंटरैक्टिव CLI में यह डिफ़ॉल्ट रूप से चालू है।
Q. मैं इसका इस्तेमाल कैसे करूँ?
A. मेन्यू खोलने के लिए /rewind टाइप करें, या जब इनपुट खाली हो तब Esc दो बार दबाएँ। अपने भेजे प्रॉम्प्ट की सूची से, जिस बिंदु पर लौटना है उसे चुनें और "कोड और बातचीत बहाल करें," "बातचीत बहाल करें," या "कोड बहाल करें" चुनें। सबसे आम है "कोड बहाल करें (बातचीत रखें)," फिर यह जानते हुए कि क्या गड़बड़ हुई, अपने निर्देश को दोबारा शब्दों में रखना। ध्यान दें कि अगर इनपुट में टेक्स्ट हो, तो Esc दो बार उसे साफ़ कर देता है।
Q. क्या bash से बनाई या हटाई गई फ़ाइलें भी बहाल होती हैं?
A. नहीं। केवल Claude के एडिट टूल्स (Write / Edit / NotebookEdit) द्वारा किए गए फ़ाइल बदलाव बहाल होते हैं। bash कमांड (rm, mv, cp, आदि) के बदलाव, सेशन के बाहर या अन्य सेशनों से किए गए बदलाव, डायरेक्टरी बनाना/स्थानांतरित करना/हटाना, और रिमोट फ़ाइलें rewind से पूर्ववत नहीं होतीं। "जो फ़ाइल एडिट नहीं हैं, उन साइड इफ़ेक्ट्स" के साथ भी यही बात है, जैसे डेटाबेस स्थिति। इसीलिए आपको माइलस्टोन पर Git में कमिट करना चाहिए।
Q. क्या यह Git का स्थान ले लेता है?
A. नहीं। दस्तावेज़ इसे यूँ रखता है कि "checkpoints = लोकल undo, Git = स्थायी इतिहास," और कहता है कि यह वर्ज़न कंट्रोल का पूरक है पर स्थान नहीं लेता। Checkpoints सेशन-के-भीतर तुरंत undo के लिए सबसे अच्छे हैं और 30 दिन बाद साफ़ कर दिए जाते हैं (कॉन्फ़िगर करने योग्य)। कमिट, ब्रांच, दीर्घकालिक भंडारण, और टीम साझाकरण के लिए Git का इस्तेमाल जारी रखें।
Q. क्या मैं इसे तब इस्तेमाल कर सकता हूँ जब कोई एरर बातचीत को रोक दे?
A. हाँ। tool-use कॉन्करेंसी या thinking blocks से संबंधित 400 एरर के लिए, प्रोडक्ट खुद कहता है "Run /rewind to recover the conversation." Esc दो बार दबाकर दूषित टर्न से पहले पीछे जाएँ और जारी रखें। लेकिन v2.1.156 से पुराने वर्ज़न इसे /rewind से साफ़ नहीं कर पाते, इसलिए Opus 4.7 / 4.8 पर पहले claude update चलाएँ। यह भी देखें court/invoke एरर लेख।