API Error: Connection lost mid-response के कारण और समाधान — v2.1.227 में बदला गया नाम
Claude Code जवाब के बीच में API Error: Connection lost mid-response. The response above may be incomplete. दिखाकर रुक जाता है, और इस वाक्य को ज्यों का त्यों खोजने पर लगभग कुछ नहीं मिलता, क्योंकि वाक्य ख़ुद नया है। आधिकारिक एरर रेफ़रेंस इसे सीधे लिखता है: v2.1.227 से पहले Connection lost mid-response को Connection closed mid-response के रूप में दिखाया जाता था, और उसी बदलाव में Response stalled mid-stream, The response stopped arriving बन गया तथा Connection closed while thinking, before producing a response, Connection lost before a response was produced बन गया। घटना नई नहीं है, सिर्फ़ स्क्रीन पर दिखने वाला शब्द बदला है; इसीलिए पुराने नाम से लिखी सामग्री आज भी ज्यों की त्यों लागू होती है और issue खोजते समय दोनों वाक्य आज़माने पड़ते हैं। इसी नाम-परिवर्तन से शुरू करके यह लेख सिर्फ़ आधिकारिक दस्तावेज़ और सार्वजनिक Issue पर टिका रहता है। इसमें बीच में कटने वाले चारों संदेशों की आधिकारिक परिभाषा है (Server error, Connection lost, Your computer went to sleep और The response stopped arriving), यह भी कि स्क्रीन पर आ चुका आउटपुट जानबूझकर क्यों रखा जाता है, क्योंकि रिक्वेस्ट दोबारा भेजने पर वही टूल कॉल दो बार चल सकती है, और यह भी कि रिकवरी का तरीक़ा शुरू से दोहराना नहीं बल्कि continue लिखकर भेजना है। फिर आधिकारिक Automatic retries के विभाजन से समझाया गया है कि अपने आप दोबारा कोशिश क्यों नहीं होती: कुछ भी पूरा होने से पहले का कटाव एक्सपोनेंशियल बैकऑफ़ के साथ अधिकतम 10 बार दोबारा भेजा जाता है, सोच के बाद पर आउटपुट से पहले का कटाव अधिकतम 2 बार, और उसके बाद टर्न Connection lost before a response was produced पर ख़त्म हो जाता है, जबकि कोई ब्लॉक पूरी हो जाने के बाद का कटाव दोबारा भेजा ही नहीं जाता। इसके आगे स्ट्रीम टूटने की तीन परतें हैं, यानी अपना डिवाइस और लाइन, प्रॉक्सी तथा गेटवे वाला रास्ता, और सर्वर की ओर के साथ कनेक्शन का दोबारा इस्तेमाल; आसानी से छूट जाने वाली चौथी वजह mTLS सर्टिफ़िकेट रोटेशन और v2.1.232 से उसका दोबारा पढ़ा जाना; तथा नौ कदमों की छँटाई चेकलिस्ट। चार स्ट्रीम निगरानी टाइमर उनके डिफ़ॉल्ट मानों के साथ दिए हैं (first byte 180 सेकंड, event level 300 सेकंड, byte level 180 सेकंड, body idle 5 मिनट) और साथ में CLAUDE_CODE_MAX_RETRIES, CLAUDE_CODE_RETRY_WATCHDOG, API_TIMEOUT_MS तथा दो स्ट्रीम टाइमआउट वेरिएबल, यह साफ़ करते हुए कि रीट्राई की संख्या बढ़ाने से यह ख़ास संदेश कम नहीं होता। एक तुलना तालिका आठ मिलते-जुलते संदेशों को अलग करती है, और दो सार्वजनिक रिपोर्टें, #86473 तथा #85979, दिखाती हैं कि सादा HTTPS और curl पूरे हो जाते हैं जबकि सिर्फ़ CLI ECONNRESET से गिरता है। अंत में जो आधिकारिक रूप से पुष्ट है और जो सिर्फ़ रिपोर्ट है, दोनों अलग किए गए हैं, जिसमें यह भी शामिल है कि v2.1.222 से पहले के वर्शन जवाब पूरा होने पर भी यही सूचना दिखा सकते थे।