Claude Code SDK
(docs.anthropic.com)- Claude Code SDK एप्लिकेशन में AI-आधारित coding tools को इंटीग्रेट करने की क्षमता देता है
- डेवलपर subprocess के रूप में Claude Code चला सकते हैं, और command-line उपयोग को प्राथमिक समर्थन मिलता है
- संवादी context management, custom system prompt सेट करना, और external tool integration (MCP) जैसी सुविधाएँ शामिल हैं
- output format की विविधता (text, JSON, streaming JSON) और विस्तृत CLI options का उपयोग संभव है
- वास्तविक उदाहरण के रूप में GitHub Actions के साथ जोड़कर automated code review, PR generation आदि वास्तविक development workflow integration की संभावना दिखाई गई है
परिचय
Claude Code SDK एक open source development tool है, जो Claude Code की capabilities को सीधे application में programmatically इंटीग्रेट करने देता है। SDK, Claude Code को अलग process के रूप में चलाकर, AI-आधारित code assistant, automation tools, code review systems और अन्य कई development workflows में जोड़ने के लिए विस्तारशीलता प्रदान करता है.
फिलहाल यह command-line (CLI) आधारित interface को support करता है, और TypeScript तथा Python के लिए SDK जल्द उपलब्ध होंगे.
SDK का बुनियादी उपयोग
Claude Code SDK non-interactive execution को support करता है। उदाहरण के लिए, programming code के भीतर Claude Code को command-line arguments के साथ call करके मनचाहा output अपने-आप प्राप्त किया जा सकता है.
उन्नत उपयोग
multi-turn बातचीत सत्र जारी रखना
- कई चरणों वाली बातचीत में, पिछले session या किसी विशेष session ID का उपयोग करके conversation context को बनाए रखने और आगे बढ़ाने की सुविधा मिलती है
- डेवलपर हालिया session से बातचीत जारी रख सकते हैं, या किसी विशेष session को लोड कर सकते हैं
custom system prompt
- Claude के डिफ़ॉल्ट व्यवहार को developer-specific system prompt के ज़रिए समायोजित किया जा सकता है
- डिफ़ॉल्ट system prompt में अतिरिक्त निर्देश जोड़कर assistant की कार्य-उन्मुखता और व्यवहार की सीमा बदली जा सकती है
MCP(Model Context Protocol) configuration
- MCP, Claude Code की functionality को बढ़ाने के लिए external server integration protocol है
--mcp-configflag और JSON config file के माध्यम से external server द्वारा दिए गए database access, API integration, custom tools आदि जोड़े जा सकते हैं- MCP tools का उपयोग करते समय, केवल स्पष्ट रूप से अनुमति दिए गए tools का ही उपयोग संभव होना चाहिए (
--allowedToolsflag), और नाम का patternmcp__<serverName>__<toolName>फ़ॉर्मैट में होता है
उपलब्ध CLI options
Claude Code SDK में विभिन्न command-line flags का उपयोग करके execution environment सेट किया जा सकता है
--print,-p: non-interactive mode में चलाना--output-format: output format चुनना (text, JSON, stream JSON आदि)--resume,-r: किसी विशेष session ID से बातचीत फिर शुरू करना--continue,-c: सबसे हालिया session जारी रखना--verbose: विस्तृत logs दिखाना--max-turns: non-interactive mode में अधिकतम conversation rounds की सीमा--system-prompt: system prompt override--append-system-prompt: system prompt में अतिरिक्त निर्देश जोड़ना--allowedTools: allowed tools list तय करना (MCP tools सहित)--disallowedTools: disallowed tools list तय करना--mcp-config: MCP server config file लोड करना--permission-prompt-tool: permission prompt handling के लिए MCP tool तय करना
उपलब्ध सभी options और उपयोग के उदाहरणों के लिए आधिकारिक CLI दस्तावेज़ देखें.
output format
SDK कई तरह के output formats को support करता है
text output (डिफ़ॉल्ट)
- केवल response text लौटाता है
JSON output
- metadata और structured data लौटाता है, जिससे programmatic parsing आसान होती है
- API response messages सख्त type structure का पालन करते हैं, और आगे चलकर JSON Schema format में भी type definitions देने की योजना है
streaming JSON output
- हर message को real time में stream करके भेजता है
- conversation session के दौरान initialization message (
init), user/assistant messages, और statistics वाला अंतिमresultmessage अलग-अलग JSON objects के रूप में भेजे जाते हैं
message schema
- JSON API response messages सटीक schema के अनुसार structured होते हैं
- schema को समय-समय पर अपडेट करने और version management करने की योजना है
उदाहरण
- सरल script integration
- Claude का उपयोग करके file processing
- session management के माध्यम से जटिल conversation flows को support करना
best practices
- JSON output format का उपयोग करके response parsing करें
- error handling: exit code और error stream की जाँच करें
- session management: multi-round conversation का context बनाए रखें
- timeout पर विचार: लंबे कार्यों की स्थिरता सुनिश्चित करें
- requests के बीच अंतराल समायोजित करें: अत्यधिक calls से बचें और service stability बनाए रखें
वास्तविक उपयोग के उदाहरण
Claude Code SDK, वास्तविक development environment में मजबूत automation और integration capabilities प्रदान करता है
- प्रमुख उदाहरण के रूप में, GitHub Actions के साथ मिलाकर automated code review, PR generation, issue classification आदि development workflows को पूरी तरह automate किया जा सकता है
1 टिप्पणियां
Hacker News की राय
मैं यह ज़रूर कहना चाहता हूँ कि Claude Code जिस दिशा में जा रहा है, वही agent-आधारित coding tool की वह "unix toolish" philosophy है जिसकी मुझे तलाश थी। मैं शुरुआती public preview से ही Claude Code का उपयोग कर रहा हूँ और उसके विकास को देखते आया हूँ। मेरे हिसाब से coding agent का "gold standard" वह स्तर है जहाँ आप feature request (जैसे Jira ticket) इनपुट करें और बदले में PR मिले, जिसे मैं खुद review कर सकूँ और feedback दे सकूँ। Cursor, windsurf आदि local editor हैं, इसलिए उन्हें CI environment में integrate नहीं किया जा सकता, और यही उनकी सीमा है। अगर आप codebase को AI optimization (MCP, rules आदि) के लिए तैयार करना चाहते हैं, तो लक्ष्य ऐसी technology होना चाहिए जिसे headless mode में भी इस्तेमाल किया जा सके। Claude Code automation tools के साथ आसानी से इस्तेमाल हो जाता है, इसलिए जब मैं coding agent के बारे में सोचता हूँ तो अब यह baseline बन चुका है। Codex npm package के बारे में भी मेरी राय कुछ ऐसी ही है। वैसे, मैं ऐसे optimal tool setup में मदद करने वाला काम करता हूँ, इसलिए स्वाभाविक है कि मेरी नज़र उन tools के पक्ष में झुकी हो जिनका setup आसान हो
मेरा पसंदीदा "golden end state" यह है कि मैं एक कमरे के बीच में बैठा हूँ और मेरे चारों ओर AI agents हों—जैसे code लिखने वाले, design करने वाले, और testing करने वाले AI agents। मैं बीच में रहकर keyboard को लगभग छुए बिना सिर्फ बातचीत के ज़रिए direction, aesthetic standards और guidance दूँ। मैं ऐसे भविष्य की उम्मीद करता हूँ
मैं यह भी बताना चाहता हूँ कि Anthropic ने आज इसी तरह की एक feature beta में announce की है। मैं उससे जुड़ा document साझा करना चाहता हूँ। https://docs.anthropic.com/en/docs/claude-code/github-actions
मेरे हिसाब से coding agent का "golden end state" वह स्थिति है जहाँ मैं एक free open source coding agent इस्तेमाल करूँ, जिसे अपने computer पर या जहाँ चाहूँ वहाँ चला सकूँ। जैसे terminal में
ls,ps,killजैसे command चलाने पर हर बार पैसे देने की कल्पना ही बेतुकी लगती है, वैसे ही LLM के साथ भी मुझे यही लगता है। मैं यह नहीं कह रहा कि proprietary LLM को "ban" कर देना चाहिए, लेकिन मेरी इच्छा है कि इस क्षेत्र के hacker कहलाने वाले लोग open source tools को अपना मुख्य tool बनाएँआपने कहा कि Cursor, windsurf आदि local editor होने की वजह से CI में इस्तेमाल करना मुश्किल है, लेकिन मैंने Cursor और MCP के संयोजन के साथ यह कोशिश की है। एक पूरे दिन तक यह सफलतापूर्वक चला, लेकिन जल्द ही rate limit लग गई और फिर यह सबसे धीमे और सबसे कमज़ोर model पर switch हो गया। मैंने Claude के साथ भी कोशिश की, लेकिन कुछ ही समय में limit खत्म हो गई। ऊपर से PR में सिर्फ लगभग 25% ही "तुरंत उपयोग योग्य" स्तर के थे, और कई बार AI ने कहाँ गलती की यह ढूँढने से बेहतर खुद कर लेना तेज़ पड़ता है
मुझे लगता है कि ऐसी CI-आधारित automation पहले से की जा सकती है। अगर Aider CLI को GitHub Action के रूप में register कर दें ताकि issue बनने पर वह अपने-आप चले, तो ऐसी structure पहले से implement की जा सकती है
Claude Code वह तरीका है जो मुझे coding में LLM इस्तेमाल करने के लिए सबसे ज़्यादा पसंद है। लेकिन असल में ज़रूरत Claude Code के open source version की है। ऐसा environment चाहिए जहाँ मैं अपनी पसंद का model लगा सकूँ और अलग-अलग models के जवाब सीधे compare कर सकूँ। Aider जैसे दूसरे विकल्प मुझे Claude Code जैसा अनुभव नहीं देते। यह समझा जा सकता है कि Anthropic ऐसा नहीं चाहेगा, क्योंकि इससे उसकी moat कमज़ोर होगी। लेकिन consumer के रूप में मैं सबसे अच्छा model इस्तेमाल करना चाहता हूँ और किसी एक ecosystem में बँधना नहीं चाहता। मुझे लगता है कि LLM providers के लिए यही सबसे बड़ा डर होगा
OpenAI codex वही open source विकल्प है जो आपकी बात के सबसे करीब है। इसमें आप अपनी पसंद के provider का model इस्तेमाल कर सकते हैं। अभी यह Claude Code से पीछे है, लेकिन मुझे लगता है कि जल्द ही इसकी बराबरी कर लेगा। https://github.com/openai/codex/tree/main
Claude Code को MCP server के रूप में इस्तेमाल करके आप कुछ हद तक वैसा environment बना सकते हैं जैसा आप चाहते हैं
Aider काफी समय से Python और shell scripting support दे रहा है। हाल ही में उसने 130 नई programming languages के support जोड़ने की प्रक्रिया के हिस्से के रूप में ad-hoc bash scripting aide को शामिल करते हुए एक screencast भी बनाया है। इस scripting-style approach की ताकत आपको खुद महसूस होगी। https://aider.chat/docs/scripting.html, https://aider.chat/docs/recordings/tree-sitter-language-pack.html
मुझे Aider बहुत पसंद है। MCPs का support भी जल्द आने वाला है और dev branch में उसका testing चल रहा है। अगर यह हो गया, तो सिर्फ भरोसेमंद models के साथ PR, tickets आदि का end-to-end development वास्तव में संभव हो जाएगा
मैं सोच रहा हूँ कि क्या Aider को उस स्तर तक लाया जा सकता है जहाँ वह मुझे Claude Code जितना पसंद आए। Claude Code का UX मुझे बहुत पसंद है, लेकिन मैं Gemini 2.5 Pro को prefer करता हूँ इसलिए Claude Code इस्तेमाल नहीं करता। commits जैसी features से ज़्यादा उसकी अच्छी UX मुझे आकर्षित करती है। इस पर आपकी राय जानना चाहूँगा
मुझे लगता है कि अगर Aider GitHub Actions integration workflow को और polished बना दे, तो वह सचमुच बहुत तेज़ी से बढ़ सकता है। repo में सिर्फ एक file जोड़कर issue के ज़रिए अपनी पसंद के model से बातचीत की जा सकती है
मैं Claude Code team द्वारा सीधे साझा किए गए कुछ अतिरिक्त context बताना चाहता हूँ। http://latent.space/p/claude-code इसका मुख्य सार यह है कि Anthropic के कर्मचारी unlimited Claude के साथ औसतन लगभग $6/दिन खर्च कर रहे हैं। CI के लिए "linux" utility जैसे headless Claude Code का विचार बहुत आकर्षक है। एक scalable user platform बनने की दिशा भी इसमें है। आगे की roadmap में sandboxing, branching और planning features हैं। sonnet 3.7 जैसा persistent agentic model भी आने वाला है
आपने कहा कि "Anthropic के कर्मचारी unlimited Claude पर औसतन $6/दिन इस्तेमाल करते हैं", लेकिन लेख में यह भी था कि किसी engineer ने एक दिन में $1,000 तक खर्च कर दिया। औसत से ज़्यादा मेरी दिलचस्पी P50, P75, P95 जैसे distribution में है
मैंने कई बार ऐसा अनुभव किया है कि Claude Code को सिर्फ 2 घंटे इस्तेमाल करने पर ही $20 से ज़्यादा खर्च हो गया। personal projects के लिए यह इतना महँगा है कि मैं इसे बस इस्तेमाल ही नहीं कर सकता
हाल ही में मैंने latent space podcast बहुत दिलचस्पी से सुना। इतना ऊँचा SNR बनाए रखते हुए इतनी high-productivity public content लगातार निकालने वाले लोग या podcast बहुत कम हैं। कई businesses साथ में चलाते हुए भी इस स्तर का public output बनाए रखना वाकई प्रभावशाली है। मुझे लगता है कि ज़्यादा लोगों को इस तरह की productivity gradient का अनुभव होना चाहिए। वे अपने तरीक़े साझा करते हैं, लेकिन उन्हें वास्तव में अपनाना आसान नहीं है
अगर मैं AI code assistant बनाता, तो मैं उसे कभी भी किसी एक खास foundation model provider पर निर्भर नहीं बनाता। यह तभी सही strategy होगी जब model performance लगभग peak पर पहुँच चुकी हो, सबका प्रदर्शन काफ़ी समान हो, और फर्क सिर्फ familiar SDK जैसी छोटी-मोटी बातों तक सीमित रह जाए
मुझे नहीं लगता कि lock-in इतना गंभीर है, क्योंकि फ़र्क मूलतः सिर्फ commands और arguments का है। आखिरकार यह input-output function ही है, इसलिए ज़रूरी हिस्से बदलकर या wrap करके इस्तेमाल किया जा सकता है। इसमें structurally बहुत जटिल कुछ नहीं है
इस समय Claude Code मुझे agent-आधारित coding market में एक वास्तविक differentiator लगता है। मैं खुद AI code assistant बना रहा हूँ, और Claude Code integration को सबसे पहले आज़माने का मन हुआ। मुझे नहीं लगता कि शुरुआती चरण में lock-in की चिंता करने का यह सही समय है। जो सबसे अच्छा है, उसे चुनकर उसी के आधार पर development शुरू करना चाहिए
मैं यह रेखांकित करना चाहता हूँ कि Claude Code पहले से non-interactive mode में इस्तेमाल किया जा सकता था, इसलिए UNIX command-line utility की तरह उसे दूसरे apps में आसानी से integrate किया जा सकता था। यह नया SDK भी अभी सिर्फ command-line usage ही support करता है, इसलिए मूल रूप से यह पहले से अलग क्या है, यह मुझे ठीक से समझ नहीं आ रहा। शायद मैं कुछ मिस कर रहा हूँ
मैं Anthropic की terms of service की यह पंक्ति उद्धृत कर रहा हूँ: "सेवा का उपयोग किसी ऐसे product या service के development, training, या resale के लिए नहीं किया जा सकता जो general intelligence से compete करता हो।" अगर लगभग हर software ही general intelligence से किसी न किसी अर्थ में "compete" करता है, तो सख्त व्याख्या में इसका मतलब क्या यह नहीं हुआ कि इसे किसी भी काम के लिए इस्तेमाल ही नहीं किया जा सकता? मुझे लगता है कि ऐसी legal language इतनी अस्पष्ट है कि लागू करना ही मुश्किल है। आप AI का output own कर सकते हैं, लेकिन वह general intelligence से compete नहीं करना चाहिए—ऐसी बात कही जा रही है; तो फिर इतना व्यापक prohibition क्यों? क्या इसका मतलब बस यह है कि legal liability user पर डाल दी गई है? कई सवाल उठते हैं
नया जोड़ा गया GitHub Action ठीक वही feature है जिसकी मैं तलाश कर रहा था, इसलिए इसे देखकर बहुत खुशी हुई। https://docs.anthropic.com/en/docs/claude-code/github-action... लेकिन अभी Claude Code के Max plan के साथ इसे जोड़कर इस्तेमाल करने का कोई तरीका दिख नहीं रहा। यह सिर्फ api key माँगता है, जो थोड़ा निराशाजनक है
खासकर GitHub Actions और issue/PR integration वही feature है जिसकी मुझे लंबे समय से तलाश थी। https://docs.anthropic.com/en/docs/claude-code/github-action...
जब copilot के ज़रिए Claude support शुरू होगा, तब मैं इसे ज़रूर आज़माऊँगा। कंपनी की policy की वजह से फिलहाल मैं बाकी tools इस्तेमाल नहीं कर सकता