Claude Code टर्मिनल में कैसे चलता है, इसे आधिकारिक दस्तावेज़ (VineeTagarwaL की Mintlify में व्यवस्थित प्रति) के आधार पर सिर्फ़ मुख्य बिंदुओं में संक्षेपित किया गया है.
Claude Code कैसे काम करता है?
संक्षेप में, यह “पढ़ो → सोचो → टूल इस्तेमाल करो → परिणाम देखो → दोहराओ” वाला लूप है.
Agentic Loop के 6 चरण
- उपयोगकर्ता टर्मिनल में संदेश दर्ज करता है (या
--print/ stdin के ज़रिए भेजता है) - system prompt तैयार किया जाता है — मौजूदा तारीख, git स्थिति,
CLAUDE.mdफ़ाइल, उपलब्ध टूल्स की सूची - Anthropic API कॉल → मॉडल
tool_useब्लॉक (टूल नाम + JSON इनपुट) बनाता है - permission check — auto approve / confirmation request / block में से एक तय होता है
- टूल चलाया जाता है → परिणाम (
fileसामग्री, command output आदि) कोtool_resultके रूप में बातचीत में जोड़ा जाता है - परिणाम प्राप्त मॉडल अतिरिक्त टूल कॉल या अंतिम response देता है — टूल कॉल न रहने तक यह दोहराया जाता है
यह लूप केवल लोकल टर्मिनल प्रोसेस में चलता है.WebFetch,WebSearch, MCP server जैसे बाहरी कॉल करने वाले टूल्स को छोड़कर, फ़ाइलें, shell, और credentials मशीन के बाहर नहीं जाते.
context कैसे बनता है?
बातचीत शुरू होने पर दो ब्लॉक्स तैयार किए जाते हैं और हर API कॉल के आगे जोड़े जाते हैं.
- system context — current branch, हाल के 5 commits,
git status --shortका परिणाम (2,000 अक्षरों से अधिक होने पर काटा जाता है) - user context —
CLAUDE.mdmemory फ़ाइल (4-स्तरीय hierarchy खोज), आज की तारीख (Today's date is YYYY-MM-DD)
दोनों ब्लॉक्सlodash/memoizeके जरिए बातचीत-स्तर पर cache किए जाते हैं.setSystemPromptInjection()कॉल होने पर cache तुरंत reset हो जाता है.
permission model — टूल कब चलाया जाता है?
| परिणाम | कार्यवाही |
|---|---|
allow |
तुरंत चलाया जाता है, परिणाम बातचीत में जोड़ा जाता है |
ask |
रुकता है → confirmation dialog दिखाता है |
deny |
अस्वीकार → मॉडल को error लौटाता है |
bypassPermissionsमोड: सभी checks skipacceptEditsमोड: file edits auto approve, लेकिन bash अब भी confirmation मांगता हैRead,Glob,Grepजैसे read-only टूल्स सभी modes में डिफ़ॉल्ट रूप से auto approve होते हैं
sub-agent (Task टूल)
Claude Task टूल (AgentTool) के जरिए sub-agent spawn कर सकता है. sub-agent अलग-थलग बातचीत और ज़रूरत पड़ने पर सीमित toolset के साथ अपना Agentic Loop चलाता है, और पूरा होने पर parent agent को परिणाम लौटाता है. इसे local (in-process) या remote compute पर चलाया जा सकता है.
बातचीत का save और restore
बातचीत ~/.claude/ में JSON transcript फ़ाइलों के रूप में सहेजी जाती है.
--resume <session-id>या केवल--resumeसे पिछली बातचीत फिर शुरू की जा सकती है- resume के समय: पूरा message history लोड होता है,
CLAUDE.mdफ़ाइलें फिर खोजी जाती हैं, permission mode config के default मान पर reset हो जाता है - लंबी बातचीत में समय-समय पर compaction होता है — पुराने messages को summarize करके context window मैनेज की जाती है. पूरा मूल transcript डिस्क पर बना रहता है
query engine क्या करता है
हर “turn” को query.ts चलाता है.
- token streaming को टर्मिनल में real-time में प्रदर्शित करता है
tool_useब्लॉक को उचित handler तक dispatch करता है- हर turn के token और tool call budget को manage करता है
- context window भरने पर compaction trigger करता है
- हर टूल में
maxResultSizeCharsप्रॉपर्टी होती है — यदि परिणाम इस सीमा से बड़ा हो, तो उसे temporary file में सहेजकर मॉडल को सिर्फ़ file path दिया जाता है (context window overflow रोकने के लिए)
मूल लेख: How Claude Code works — Mintlify
संदर्भ: यह VineeTagarwaL द्वारा Claude Code के आधिकारिक दस्तावेज़ों को Mintlify में फिर से व्यवस्थित किया गया एक अनौपचारिक mirror दस्तावेज़ है.
अभी कोई टिप्पणी नहीं है.