लेख

Docker Container में Claude Code पहली बार रन करने की 3 मुख्य चुनौतियां

नए कंटेनर में Claude Code ऑनबोर्डिंग, डायरेक्टरी ट्रस्ट और API की पुष्टि पर रुकता है। स्वचालित वातावरण में इन्हें ~/.claude.json में पहले से लिखना आवश्यक है।

बैनर दिखाकर रुका हुआ एजेंट भी बाइट्स भेजता है जो लॉग में चालू जैसा दिखता है, लेकिन वास्तव में इनपुट का इंतज़ार कर रहा होता है।

Three gates in a row. An agent passes the first two and stops at the third.onboardingtrustapi keya fresh container
क्रम निश्चित है। पहले दो को हल करने के बाद भी तीसरे पर रुकावट आती है।

क्रमवार 3 रुकावटें

चरणसवाल
प्रारंभिक विज़ार्डटेक्स्ट थीम का चयन
फ़ोल्डर ट्रस्ट जाँचक्या आप इस प्रोजेक्ट डायरेक्टरी पर भरोसा करते हैं?
API की पुष्टिक्या आप इस API की का उपयोग करना चाहते हैं?

अधूरे समाधान से एजेंट अगली रुकावट पर रुक जाता है।

परीक्षण तुलना तालिका

स्वच्छ वातावरण में claude 2.1.220 पर किए गए परीक्षण:

दी गई कॉन्फ़िगरेशनएजेंट का व्यवहार
कोई नहींथीम चयन पर रुका
केवल settings.json में themeफिर भी थीम चयन पर रुका
.claude.json में hasCompletedOnboardingट्रस्ट संवाद पर पहुँचा
+ सुलझाए गए पाथ पर hasTrustDialogAcceptedप्रॉम्प्ट तक पहुँचा ("Not logged in")
+ एनवायरनमेंट में ANTHROPIC_API_KEYAPI की पुष्टि पर रुका
+ customApiKeyResponses.approvedपूरी तरह काम करने के लिए तैयार

सुलझे हुए पाथ का जाल

~/.claude.json में पाथ पूरी तरह वास्तविक और सुलझा हुआ होना चाहिए।

export function trustKeyFor(root: string): string {
  try {
    return realpathSync(root);
  } catch {
    return root;
  }
}

API की की पुष्टि

API की संवाद डिफ़ॉल्ट रूप से 2. No (recommended) चुनता है। CLI अंतिम 20 अक्षरों को अप्रूवल टोकन के रूप में रखता है।

export function approvalTokenFor(apiKey: string): string {
  return apiKey.slice(-20);
}

अप्रभावी शॉर्टकट

--permission-mode bypassPermissions फ़ोल्डर ट्रस्ट संवाद को बायपास नहीं करता।

थीम चुनना पसंद है। फ़ाइल डिलीट करना एक गंभीर निर्णय है।

हम सेटअप को स्वचालित करते हैं लेकिन संवेदनशील टूल की सुरक्षा बनाए रखते हैं।

const trust: ProjectTrust = {
  hasTrustDialogAccepted: true,
  hasCompletedProjectOnboarding: true,
  projectOnboardingSeenCount: 0,
  allowedTools: [],
};

क्लाउड वातावरण में चलाने की प्रक्रिया क्लाउड में Claude Code चलाना और कनेक्शन सुरक्षा रिमोट टर्मिनल की निगरानी में दी गई है।

सीधे जवाब

कंटेनर में Claude Code पहली बार क्यों रुक जाता है?

क्योंकि यह थीम, फ़ोल्डर ट्रस्ट और API की पुष्टि के लिए मानवीय इनपुट की प्रतीक्षा करता है।

Claude Code को बिना मानवीय हस्तक्षेप के कैसे चलाएं?

शुरू करने से पहले ~/.claude.json में ट्रस्ट और ऑनबोर्डिंग डेटा लिखकर और एनवायरनमेंट वेरिएबल से की प्रदान करके।

यह डेटा कैसे मापा गया?

Claude Code 2.1.220 के साथ वास्तविक PTY पर फ़ाइलों का विश्लेषण करके।