विषय-सूची
क्या आप किसी कॉर्पोरेट मशीन पर या VPN के ज़रिये Claude Code इस्तेमाल करने की कोशिश कर रहे हैं, और यह इन जैसे एरर के साथ कनेक्ट ही नहीं हो रहा?
Unable to connect to API. Check your internet connection
Unable to connect to API (ECONNREFUSED)
Unable to connect to API: SSL certificate verification failed.
Check your proxy or corporate SSL certificates
fetch failed
ये नेटवर्क एरर हैं, जिनका मतलब है कि "Claude Code, Anthropic के सर्वर (api.anthropic.com) तक पहुँच ही नहीं पा रहा।" ये न तो ऑथेंटिकेशन (401/403) हैं, न सर्वर ओवरलोड (529/500), और न ही रेट लिमिट (429) — रिक्वेस्ट सर्वर तक पहुँची ही नहीं। सामान्य कारण होते हैं कॉर्पोरेट प्रॉक्सी, TLS इंस्पेक्शन (सर्टिफिकेट), और फ़ायरवॉल, जिसकी वजह से यह एंटरप्राइज़ नेटवर्क पर ख़ास तौर पर आम है। यह लेख प्रॉक्सी सेटअप, कॉर्पोरेट CA सर्टिफिकेट, अनुमति देने योग्य डोमेन, और डायग्नोस्टिक स्टेप्स को कवर करता है — आधिकारिक जानकारी के आधार पर।
शुरू में ही मुख्य बातें। (1) प्रॉक्सी के पीछे हों तो HTTPS_PROXY सेट करें। (2) TLS इंस्पेक्शन (Zscaler आदि) से आने वाले सर्टिफिकेट एरर के लिए NODE_EXTRA_CA_CERTS को कॉर्पोरेट CA पर सेट करें — और कभी भी NODE_TLS_REJECT_UNAUTHORIZED=0 से वेरिफ़िकेशन बंद न करें (इससे सारा ट्रैफ़िक इंटरसेप्शन के सामने उजागर हो जाता है)। (3) शुरुआत curl -I https://api.anthropic.com चलाकर करें ताकि पता चले "क्या यह पहुँच भी पा रहा है?" — यही ट्रायाज की जड़ है।
यह सर्वर तक पहुँचता ही नहीं
— कहाँ रुकता है, उसी से तय होता है इलाज
HTTPS_PROXYNODE_EXTRA_CA_CERTS
सबसे पहले curl -I https://api.anthropic.com चलाकर देखें कि यह पहुँच पा रहा है या नहीं।
एक बार पता चल जाए कि कहाँ रुक रहा है (प्रॉक्सी / TLS / फ़ायरवॉल), तो लगाने वाली सेटिंग तय हो जाती है।
1. यह एरर असल में क्या बता रहा है
Unable to connect to API, fetch failed, ECONNREFUSED / ETIMEDOUT का मतलब है "रिक्वेस्ट Anthropic के सर्वर तक पहुँची ही नहीं" = यह TCP/TLS/DNS में कहीं फ़ेल हो गई। यही दूसरे एरर से इसका निर्णायक फ़र्क है: ऑथेंटिकेशन (401/403), सर्वर (529/500), और रेट (429) — ये सब सर्वर तक पहुँचने के बाद आने वाले रिस्पॉन्स हैं, जबकि नेटवर्क एरर का मतलब है यह वहाँ तक पहुँचा ही नहीं।
एंटरप्राइज़ नेटवर्क पर सामान्य ब्लॉकर तीन परतों में बँटते हैं। (1) प्रॉक्सी — आप सीधे बाहर नहीं जा सकते और कॉर्पोरेट प्रॉक्सी से होकर जाना ज़रूरी है, जो कॉन्फ़िगर नहीं है। (2) TLS इंस्पेक्शन (सर्टिफिकेट) — Zscaler जैसा इंस्पेक्शन प्रॉक्सी सर्टिफिकेट बदल देता है, इसलिए आपको कॉर्पोरेट रूट CA पर भरोसा करना होगा। (3) फ़ायरवॉल — ज़रूरी डोमेन अनुमत नहीं हैं। सबसे पहला काम है curl -I https://api.anthropic.com से यह पुष्टि करना कि "क्या यह पहुँच पा रहा है?" — यह एक जाँच ही "नेटवर्क समस्या" को "बाकी सब" से अलग कर देती है।
जहाँ रुकता है = वहीं की सेटिंग लगानी है
ECONNREFUSED/ETIMEDOUT/fetch failed. कॉर्पोरेट प्रॉक्सी से होकर जाना ज़रूरी → HTTPS_PROXY सेट करें।SSL certificate verification failed/self-signed → कॉर्पोरेट CA को NODE_EXTRA_CA_CERTS में रखें। वेरिफ़िकेशन कभी बंद न करें।Could not resolve host/ENOTFOUND. DNS डाउन, पुराना VPN, या Docker ट्रैफ़िक को इंटरसेप्ट कर रहा हो।
अगर curl -I https://api.anthropic.com सफल हो जाए, तो समस्या Claude Code और नेटवर्क के बीच तक सिमट जाती है।
2. प्रॉक्सी सेटअप (HTTPS_PROXY)
जब कॉर्पोरेट प्रॉक्सी से होकर जाना ज़रूरी हो, तो मानक प्रॉक्सी एनवायरनमेंट वेरिएबल्स सेट करें। Claude Code इनका सम्मान करता है।
# Recommended: HTTPS proxy
export HTTPS_PROXY=http://proxy.example.com:8080
# If HTTPS isn't available, HTTP_PROXY
export HTTP_PROXY=http://proxy.example.com:8080
# Destinations that bypass the proxy (space- or comma-separated)
export NO_PROXY="localhost,127.0.0.1,.internal.example.com"
# Authenticating proxy (avoid hardcoding passwords)
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
ध्यान देने योग्य बातें: SOCKS प्रॉक्सी समर्थित नहीं हैं। NTLM / Kerberos प्रॉक्सी के लिए आधिकारिक सिफ़ारिश यह है कि बीच में एक LLM gateway खड़ा करें और ANTHROPIC_BASE_URL को उसी पर सेट करें। साथ ही, अगर आप MCP सर्वर इस्तेमाल करते हैं, तो आपको हर सर्वर के env में HTTPS_PROXY और NODE_EXTRA_CA_CERTS को स्पष्ट रूप से सेट करना होगा (ये पैरेंट से विरासत में नहीं मिलते)। ये वेरिएबल्स settings.json के env ब्लॉक में भी रखे जा सकते हैं।
3. TLS और कॉर्पोरेट CA सर्टिफिकेट (सबसे ज़रूरी, सुरक्षित ढंग से)
एंटरप्राइज़ में सबसे आम ब्लॉकर एक सर्टिफिकेट एरर होता है, जो किसी TLS इंस्पेक्शन प्रॉक्सी (Zscaler, Netskope, Palo Alto आदि) द्वारा सर्टिफिकेट बदलने से होता है। आम संदेश हैं unable to get local issuer certificate और SELF_SIGNED_CERT_IN_CHAIN।
पृष्ठभूमि के तौर पर, हाल के Claude Code अपने बंडल किए हुए CA सेट और OS ट्रस्ट स्टोर — दोनों पर भरोसा करते हैं। इसलिए अगर कॉर्पोरेट रूट CA, OS के सर्टिफिकेट स्टोर में है, तो अक्सर बिना किसी अतिरिक्त कॉन्फ़िग के काम कर जाता है (व्यवहार वर्शन के हिसाब से बदलता है, इसलिए नवीनतम की पुष्टि करें)। अगर यह OS स्टोर में नहीं है, तो IT से मिले CA बंडल (PEM) पर NODE_EXTRA_CA_CERTS को सेट करें:
# The correct, secure way: trust the corporate CA
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem
# If the proxy requires a client certificate (mTLS)
export CLAUDE_CODE_CLIENT_CERT=/path/to/client-cert.pem
export CLAUDE_CODE_CLIENT_KEY=/path/to/client-key.pem
⚠️ ऐसा न करें: TLS वेरिफ़िकेशन बंद करना
NODE_TLS_REJECT_UNAUTHORIZED=0 से सर्टिफिकेट वेरिफ़िकेशन बंद करना देखने में "ठीक" कर देता है, पर ऐसा कभी न करें। इससे पूरी प्रोसेस के लिए TLS वेरिफ़िकेशन बंद हो जाता है, जिससे api.anthropic.com समेत सारा ट्रैफ़िक मैन-इन-द-मिडल अटैक (छिपकर सुनना/छेड़छाड़) के सामने उजागर हो जाता है। इससे क्रेडेंशियल और कोड लीक होने का जोखिम है। सही उत्तर हमेशा यही है कि "NODE_EXTRA_CA_CERTS के ज़रिये कॉर्पोरेट CA पर ठीक से भरोसा किया जाए।"
अगर आपको इंस्टॉल के समय (बाइनरी मौजूद होने से पहले) सर्टिफिकेट एरर मिले, तो CA को curl को पास करें: curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash।
4. फ़ायरवॉल में अनुमत डोमेन
अगर आपका फ़ायरवॉल गंतव्यों को सीमित करता है, तो इन डोमेन को HTTPS (443) पर अनुमति दें (आधिकारिक नेटवर्क आवश्यकताओं के अनुसार)।
| डोमेन | किसलिए |
|---|---|
api.anthropic.com | Claude API रिक्वेस्ट (आवश्यक) |
claude.ai | claude.ai अकाउंट ऑथेंटिकेशन |
platform.claude.com | Console अकाउंट ऑथेंटिकेशन |
downloads.claude.ai | इंस्टॉलर, ऑटो-अपडेट, प्लगइन |
raw.githubusercontent.com | रिलीज़ नोट्स, मार्केटप्लेस |
टेलीमेट्री (statsig.anthropic.com) और एरर रिपोर्टिंग (*.sentry.io) वैकल्पिक हैं और इन्हें बंद किया जा सकता है (इन्हें आवश्यक अनुमति सूची में शामिल करना ज़रूरी नहीं)। अगर आप npm के ज़रिये इंस्टॉल स्वयं प्रबंधित करते हैं, तो आपको downloads.claude.ai की ज़रूरत न पड़े। सटीक डोमेन और IP रेंज में बदलाव हो सकता है, इसलिए नवीनतम जानकारी आधिकारिक नेटवर्क-कॉन्फ़िग पेज पर देखें।
5. डायग्नोस्टिक वर्कफ़्लो
जब कनेक्ट न हो, तो ऊपर से नीचे की ओर चलें। पहला curl ही दिशा तय कर देता है।
ऊपर से नीचे की ओर अलग करें
curl -I https://api.anthropic.com (Windows: curl.exe) से पहुँच की जाँच करें। अगर यह पास हो जाए, तो समस्या आपके अपने सिरे पर है।/doctor (या अगर चालू न हो तो claude doctor) चलाएँ और प्रॉक्सी एनवायरनमेंट वेरिएबल्स जाँचें।NODE_EXTRA_CA_CERTS लगाएँ; प्रॉक्सी सेट नहीं → HTTPS_PROXY लगाएँ।curl पास हो जाए पर Claude Code फ़ेल हो, तो DNS (WSL resolv.conf), पुराने VPN, या Docker द्वारा ट्रैफ़िक इंटरसेप्ट करने का शक करें।
नियम: "पहले पहुँच जाँचें (curl), फिर जिस परत पर रुके उसकी सेटिंग लगाएँ।"
सर्टिफिकेट को NODE_EXTRA_CA_CERTS से संभालें। वेरिफ़िकेशन कभी बंद न करें।
6. मिलते-जुलते एरर से फ़र्क पहचानना
"यह रुक गया" का मतलब नेटवर्क से इतर भी हो सकता है। बड़ा बँटवारा यही है: "क्या यह सर्वर तक पहुँचा?"
| लक्षण | असल में यह क्या है | मुख्य उपाय |
|---|---|---|
| Unable to connect / fetch failed / सर्टिफिकेट एरर | यह लेख = नेटवर्क (सर्वर तक पहुँचा ही नहीं) | HTTPS_PROXY / NODE_EXTRA_CA_CERTS / फ़ायरवॉल अनुमति |
| 401 / 403 / Invalid API key | ऑथेंटिकेशन (पहुँचा, पर क्रेडेंशियल की समस्या) | ऑथ / लॉगिन एरर |
| 529 / 500 | सर्वर-साइड (पहुँचा, पर ओवरलोडेड / आंतरिक एरर) | 529/500 एरर |
| 429 Request rejected | रेट लिमिट (पहुँचा, पर बहुत अधिक ट्रैफ़िक) | गति घटाएँ, इंतज़ार करें |
याद रखने का तरीका: नेटवर्क एरर का मतलब है "यह सर्वर तक पहुँचा ही नहीं" (TCP/TLS/DNS), और HTTPS_PROXY या NODE_EXTRA_CA_CERTS केवल इसी परत पर मदद करते हैं। इसके उलट, 401/403, 529/500, और 429 "पहुँचने के बाद के रिस्पॉन्स" हैं, इसलिए प्रॉक्सी या CA में फेरबदल से ये ठीक नहीं होंगे। curl सफल होता है या नहीं — यही दोनों को अलग करने का सबसे बढ़िया संकेत है। अन्य आम एरर के लिए एरर राउंडअप देखें।
सारांश
Claude Code के नेटवर्क/प्रॉक्सी एरर (Unable to connect / fetch failed / SSL certificate verification failed आदि) का मतलब है रिक्वेस्ट सर्वर तक पहुँची ही नहीं = एक TCP/TLS/DNS विफलता। ये ऑथेंटिकेशन (401/403), सर्वर (529/500), और रेट (429) से अलग हैं, और सामान्य दोषी होते हैं एंटरप्राइज़ की प्रॉक्सी, TLS इंस्पेक्शन, और फ़ायरवॉल।
उपाय: (1) प्रॉक्सी के पीछे हों तो HTTPS_PROXY सेट करें (SOCKS असमर्थित; NTLM/Kerberos एक gateway के ज़रिये), (2) सर्टिफिकेट एरर के लिए कॉर्पोरेट CA को NODE_EXTRA_CA_CERTS में रखें — कभी NODE_TLS_REJECT_UNAUTHORIZED=0 नहीं, (3) फ़ायरवॉल में api.anthropic.com आदि को अनुमति दें। डायग्नोसिस इस तरह करें: पहले curl -I https://api.anthropic.com से पहुँच जाँचें -> /doctor और प्रॉक्सी जाँच -> सर्टिफिकेट/प्रॉक्सी सेटिंग -> पुष्टि के लिए सीधा कनेक्शन -> DNS/VPN/Docker। मुख्य बात यह है कि "क्या यह सर्वर तक पहुँचा?" से नेटवर्क को ऑथ/सर्वर/रेट से अलग करें। संबंधित: ऑथ / लॉगिन एरर, 529/500 एरर, Claude Code एरर राउंडअप।
FAQ
Q. मेरे कंपनी PC पर "Unable to connect to API" आता है और कनेक्ट नहीं हो पाता।
A. आम तौर पर आपको किसी कॉर्पोरेट प्रॉक्सी से होकर जाना ज़रूरी होता है जो कॉन्फ़िगर नहीं है। पहले curl -I https://api.anthropic.com से पहुँच जाँचें; अगर यह फ़ेल हो, तो export HTTPS_PROXY=http://proxy.example.com:8080 जैसी प्रॉक्सी सेट करें (ऑथेंटिकेटिंग प्रॉक्सी के लिए user:password@ जोड़ें)। ध्यान दें कि SOCKS असमर्थित है, और NTLM/Kerberos प्रॉक्सी के लिए आधिकारिक सिफ़ारिश एक LLM gateway से होकर जाने की है।
Q. मुझे "SSL certificate verification failed" मिलता है।
A. यह आम तौर पर एक कॉर्पोरेट TLS इंस्पेक्शन प्रॉक्सी (जैसे Zscaler) द्वारा सर्टिफिकेट बदलने से होता है। IT से कॉर्पोरेट रूट CA (PEM) लें और export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem सेट करें। अगर कॉर्पोरेट CA पहले से OS के सर्टिफिकेट स्टोर में है, तो शायद बिना किसी कॉन्फ़िग के काम कर जाए। कभी भी NODE_TLS_REJECT_UNAUTHORIZED=0 से वेरिफ़िकेशन बंद न करें — इससे सारा ट्रैफ़िक इंटरसेप्शन के सामने उजागर हो जाता है।
Q. NODE_TLS_REJECT_UNAUTHORIZED=0 सेट करने से ठीक हो गया। क्या यह ठीक है?
A. नहीं — इसे अभी वापस करें। यह पूरी प्रोसेस के लिए TLS सर्टिफिकेट वेरिफ़िकेशन बंद कर देता है, जिससे api.anthropic.com समेत सारा ट्रैफ़िक मैन-इन-द-मिडल अटैक (छिपकर सुनना/छेड़छाड़) के सामने रक्षाहीन रह जाता है। यह एक गंभीर सुरक्षा जोखिम है जो क्रेडेंशियल और सोर्स कोड लीक कर सकता है। एकमात्र सही उपाय यही है कि NODE_EXTRA_CA_CERTS के ज़रिये कॉर्पोरेट CA पर ठीक से भरोसा किया जाए।
Q. मुझे फ़ायरवॉल में किन डोमेन को अनुमति देनी चाहिए?
A. HTTPS (443) पर, कम से कम api.anthropic.com (API), claude.ai और platform.claude.com (ऑथ), downloads.claude.ai (इंस्टॉलर/अपडेट), और raw.githubusercontent.com को अनुमति दें। टेलीमेट्री (statsig) और एरर रिपोर्टिंग (sentry) वैकल्पिक हैं। सटीक डोमेन/IP में बदलाव हो सकता है, इसलिए नवीनतम जानकारी आधिकारिक नेटवर्क-कॉन्फ़िग पेज पर देखें।
Q. curl काम करता है, पर सिर्फ़ Claude Code कनेक्ट नहीं होता।
A. कारण अक्सर Claude Code और OS के बीच होता है। आम मामले: एक WSL /etc/resolv.conf जो किसी मृत DNS की ओर इशारा करता है, पुराने VPN के अवशेष (जैसे पुराने macOS utun इंटरफ़ेस), या Docker जैसा कोई रेज़िडेंट टूल जो ट्रैफ़िक इंटरसेप्ट कर रहा हो। VPN बंद करके सीधा कनेक्शन आज़माएँ, रेज़िडेंट टूल बंद करें, और DNS की समीक्षा करें — इसी क्रम में। ध्यान दें कि अस्थायी 5xx एरर 10 बार तक अपने-आप रिट्राई होते हैं, इसलिए अगर curl सफल होने के बावजूद आपको एरर दिखे, तो रिट्राई पहले ही ख़त्म हो चुके हैं।