Claude Code SDK
(docs.anthropic.com)- Claude Agent SDK Python और TypeScript कोड से Claude Code के tool execution, agent loop और context management को नियंत्रित करने देता है, जिससे file read, command execution, web search और code edit को automate किया जा सकता है
- यह built-in tools के रूप में Read, Write, Edit, Bash, Monitor, Glob, Grep, WebSearch, WebFetch, AskUserQuestion देता है, जिससे codebase exploration से लेकर user confirmation questions तक बिना अलग execution layer के संभाला जा सकता है
- hooks, sub-agents, MCP, permissions और sessions को मिलाकर file change audit logs, code review-only sub-agent, Playwright-आधारित browser automation, और read-only analysis agent जैसी configurations बनाई जा सकती हैं
- installation
@anthropic-ai/claude-agent-sdkयाclaude-agent-sdkसे होती है; Python के लिए 3.10 या उससे ऊपर चाहिए, और TypeScript SDK platform के लिए native Claude Code binary को optional dependency के रूप में शामिल करता है - Anthropic Client SDK से अलग, जहाँ tool loop को सीधे implement करना पड़ता है, Agent SDK built-in tool execution देता है; और Managed Agents की तरह Anthropic infrastructure पर नहीं बल्कि user process और infrastructure पर चलता है
Claude Agent SDK का कार्यक्षेत्र
- Claude Agent SDK Claude Code को चलाने वाले tools, agent loop और context management को Python और TypeScript में इस्तेमाल करने देता है
- agent file read, command execution, web search और code edit कर सकता है
- इसमें built-in tool execution शामिल है, इसलिए user को अलग से tool execution layer खुद बनाने की ज़रूरत नहीं होती और agent तुरंत काम शुरू कर सकता है
- basic example में
auth.pyमें bug खोजने और ठीक करने के लिएRead,Edit,Bashtools को अनुमति दी जाती है
इंस्टॉलेशन और authentication flow
- language-specific package से install किया जाता है
- TypeScript:
npm install @anthropic-ai/claude-agent-sdk - Python:
pip install claude-agent-sdk
- TypeScript:
- Python package के लिए Python 3.10 या उससे ऊपर ज़रूरी है
- अगर
No matching distribution found for claude-agent-sdkerror आए, तो interpreter शायद 3.10 से पुराना version हो सकता है - macOS या Linux में
python3 --version, Windows मेंpy --versionसे जाँचें
- अगर
- TypeScript SDK platform के लिए native Claude Code binary को optional dependency के रूप में शामिल करता है, इसलिए Claude Code को अलग से install करने की ज़रूरत नहीं है
- API key Console से जारी करके
ANTHROPIC_API_KEYenvironment variable में set की जाती है - third-party API provider authentication भी supported है
- Amazon Bedrock:
CLAUDE_CODE_USE_BEDROCK=1set करने के बाद AWS credentials configure करें - Claude Platform on AWS:
CLAUDE_CODE_USE_ANTHROPIC_AWS=1,ANTHROPIC_AWS_WORKSPACE_IDset करने के बाद AWS credentials configure करें - Google Vertex AI:
CLAUDE_CODE_USE_VERTEX=1set करने के बाद Google Cloud credentials configure करें - Microsoft Azure:
CLAUDE_CODE_USE_FOUNDRY=1set करने के बाद Azure credentials configure करें
- Amazon Bedrock:
- Anthropic बिना prior approval के third-party developers को Claude Agent SDK-आधारित products में
claude.ailogin या rate limit देने की अनुमति नहीं देता
built-in tools और agent capabilities
- SDK Claude Code की मुख्य capabilities को code से handle करने देता है
- built-in tools
- hooks
- sub-agents
- MCP
- permissions
- sessions
- मुख्य built-in tools ये भूमिकाएँ निभाते हैं
Read: working directory के अंदर file पढ़नाWrite: नई file बनानाEdit: existing file पर सटीक edits लागू करनाBash: terminal commands, scripts और git operations चलानाMonitor: background scripts को monitor करना और हर output line पर event के रूप में react करनाGlob:**/*.ts,src/**/*.pyजैसे patterns से files ढूँढनाGrep: regular expression से file contents खोजनाWebSearch: web पर latest information खोजनाWebFetch: web page content लाना और parse करनाAskUserQuestion: multiple-choice options के साथ user से confirmation question पूछना
- example agent
Read,Glob,Grepकी अनुमति देकर codebase में TODO comments ढूँढकर उनका सार देता है
hooks, sub-agents, MCP
- hook agent lifecycle के मुख्य points पर user code चलाते हैं
- callback functions के रूप में agent behavior को validate, log, block या transform किया जा सकता है
- उपलब्ध hooks में
PreToolUse,PostToolUse,Stop,SessionStart,SessionEnd,UserPromptSubmitआदि शामिल हैं - example में
PostToolUseमेंEdit|Writeactions detect करकेaudit.logमें file changes record किए जाते हैं
- sub-agent focused sub-tasks संभालने वाले specialized agents होते हैं
- main agent task delegate करता है और sub-agent result लौटाता है
- custom agent को description, prompt और इस्तेमाल होने वाले tools से define किया जाता है
- sub-agent invocation
Agenttool के ज़रिए होता है, इसलिए auto-approval के लिएallowedToolsमेंAgentशामिल होना चाहिए - sub-agent context के messages में
parent_tool_use_idfield शामिल होती है, जिससे यह track किया जा सकता है कि वे किस sub-agent execution से जुड़े हैं
- Model Context Protocol(MCP) के ज़रिए database, browser, API जैसे external systems से connect किया जा सकता है
- संबंधित servers Model Context Protocol server list में देखे जा सकते हैं
- example में Playwright MCP server को जोड़कर agent को browser automation capability दी जाती है
permissions और session management
- permission settings agent द्वारा इस्तेमाल किए जा सकने वाले tools को सीमित करती हैं
- safe operations को allow, risky operations को block, और sensitive actions के लिए approval की requirement लगाई जा सकती है
- example में सिर्फ
Read,Glob,Grepको pre-approve करके code को analyze करने वाला लेकिन modify न करने वाला read-only agent बनाया जाता है
AskUserQuestiontool और interactive approval prompts user input handling flow में साथ इस्तेमाल होते हैं- session कई interactions के दौरान context बनाए रखते हैं
- Claude पढ़ी गई files, की गई analysis और conversation history को याद रखता है
- बाद में उसी session को resume किया जा सकता है या अलग approach explore करने के लिए fork किया जा सकता है
- example में पहले query से
session_idलिया जाता है, और दूसरे query मेंresume=session_idसे वही context जारी रखा जाता है
Claude Code settings support
- SDK Claude Code की filesystem-based settings को support करता है
- default options में working directory की
.claude/और~/.claude/से settings load की जाती हैं - कौन-से settings sources load करने हैं, इसे सीमित करने के लिए Python में
setting_sources, TypeScript मेंsettingSourcesoption इस्तेमाल किया जाता है - supported features और locations इस प्रकार हैं
- Skills: Claude द्वारा auto-use या
/nameसे invoke की जाने वाली specialized capability,.claude/skills/*/SKILL.md - Commands: legacy format के custom commands,
.claude/commands/*.md - Memory: project context और instructions,
CLAUDE.mdया.claude/CLAUDE.md - Plugins: skills, agents, hooks, MCP servers का extension,
pluginsoption से programmatically configure किया जाता है
- Skills: Claude द्वारा auto-use या
दूसरे Claude tools से अंतर
- Anthropic Client SDK direct API access देता है, और user prompt भेजता है तथा tool execution को खुद implement करता है
- Agent SDK में Claude tool handling को autonomously करता है
- Client SDK में user tool loop implement करता है
- Agent SDK Claude को built-in tool execution देता है
- use case के आधार पर चुनने के मानदंड ये हैं
- interactive development: CLI
- CI/CD pipeline: SDK
- custom application: SDK
- one-off tasks: CLI
- production automation: SDK
- कई teams रोज़मर्रा development के लिए CLI और production के लिए SDK साथ में इस्तेमाल करती हैं, और workflows सीधे एक-दूसरे में ले जाए जा सकते हैं
- Managed Agents एक hosted REST API है, जहाँ Anthropic agents और sandbox चलाता है
- Agent SDK user process के अंदर agent loop चलाने वाली library है
- execution location: Agent SDK user process और infrastructure में, Managed Agents Anthropic-managed infrastructure में
- interface: Agent SDK Python या TypeScript library, Managed Agents REST API
- work target: Agent SDK user infrastructure की files, Managed Agents session-specific managed sandbox
- session state: Agent SDK filesystem की JSONL, Managed Agents Anthropic-hosted event log
- custom tools: Agent SDK process के भीतर Python या TypeScript functions, Managed Agents में Claude tool trigger करता है और user execution result लौटाता है
- suitable use cases: Agent SDK local prototyping और filesystem/services तक direct access वाले agents के लिए, Managed Agents उन production agents और long-running/async sessions के लिए जहाँ sandbox या session infrastructure operate नहीं करना हो
- आम रास्ता यह है कि पहले Agent SDK से local prototype बनाया जाए और फिर production में Managed Agents पर migrate किया जाए
changelog, bug report, branding
- SDK updates, bug fixes और new features हर repository के changelog में देखे जा सकते हैं
- TypeScript SDK: CHANGELOG.md
- Python SDK: CHANGELOG.md
- bugs या issues GitHub पर report किए जाते हैं
- TypeScript SDK: GitHub issues
- Python SDK: GitHub issues
- partners जब Claude Agent SDK को integrate करते हैं, तब Claude branding का इस्तेमाल optional है
- allowed: “Claude Agent”, “Claude”, “Powered by Claude”
- prohibited: “Claude Code”, “Claude Code Agent”, Claude Code brand ASCII art, या Claude Code की नकल करने वाले visual elements
- product को अपनी branding बनाए रखनी चाहिए और Claude Code या Anthropic product जैसा नहीं दिखना चाहिए
- Claude Agent SDK का उपयोग Anthropic’s Commercial Terms of Service के अधीन है
- अपवाद केवल वहाँ है जहाँ किसी specific component या dependency की LICENSE file में अलग license बताया गया हो
1 टिप्पणियां
Hacker News की राय
Claude Code जिस दिशा में जा रहा है, वह agentic coding tools से मेरी अपेक्षा से बिल्कुल मेल खाती है, और इसकी “Unix tool जैसी” philosophy भी अच्छी है
मैं public preview के शुरुआती दौर से इसे इस्तेमाल कर रहा हूं, और इसकी दिशा साफ दिख रही थी। मेरे हिसाब से coding agent की ideal final state यह है कि आप Jira ticket जैसी कोई feature request दें, और वह review व feedback के लिए PR बना दे। इस मायने में Cursor, Windsurf जैसे local editor-केंद्रित tools करीब-करीब dead end हैं, क्योंकि वे CI के अंदर चल नहीं सकते। अगर codebase को rules, MCP आदि के जरिए AI के लिए व्यवस्थित किया जा रहा है, तो लक्ष्य ऐसी technology होना चाहिए जो headless use तक ले जा सके। Claude Code tools के जरिए automation के हिस्से के रूप में आसानी से इस्तेमाल किया जा सकता है, इसलिए coding agents के बारे में सोचते समय अब यह default बन गया है; Codex npm package भी कुछ ऐसा ही है। हालांकि मैं कंपनियों को agent use के हिसाब से codebase व्यवस्थित करने में मदद करने का काम करता हूं, इसलिए आसानी से configure होने वाले tools की तरफ मेरा bias हो सकता है
सब कुछ बातचीत से हो, और 99% समय keyboard छूने की जरूरत न पड़े—मैं ऐसी form की उम्मीद करता हूं
सोचिए, terminal में
ls,ps,killजैसे commands चलाने पर हर बार पैसे देने पड़ें—यह बिल्कुल बेतुका लगेगा। LLM भी वैसा ही है। मेरा मतलब proprietary LLMs पर रोक लगाने से नहीं है, लेकिन पुराने जमाने के hackers को अपने मुख्य tools के रूप में free और open-source tools ही अपनाने चाहिएClaude के साथ भी किया, लेकिन limit जल्दी खत्म हो गई। PR सीधे “merge के लिए ठीक” स्तर का हो, ऐसा सिर्फ करीब 25% मामलों में होता है; और AI ने कहां गड़बड़ की यह ढूंढने से अक्सर बेहतर और तेज होता है कि काम खुद सही तरीके से कर लिया जाए
coding में LLM इस्तेमाल करने के तरीकों में Claude Code मुझे सबसे ज्यादा पसंद है
लेकिन असल में जरूरत एक ऐसे open-source version की है जिसमें कोई भी model pass किया जा सके और कई models के जवाबों की तुलना भी की जा सके। Aider या दूसरे alternatives Claude Code जितने इस्तेमाल में अच्छे नहीं लगते। Anthropic के नजरिए से यह उनकी moat खत्म कर देगा, इसलिए वे शायद ऐसा नहीं चाहेंगे, लेकिन consumer के रूप में मैं बस किसी खास ecosystem में बंधे बिना best model इस्तेमाल करना चाहता हूं। शायद यही वह चीज है जिससे LLM model providers सबसे ज्यादा डरते हैं
अभी यह Claude Code जितना अच्छा नहीं है, लेकिन लगता है जल्दी पकड़ लेगा। https://github.com/openai/codex/tree/main
अभी development में है, लेकिन promising लगता है
Aider काफी पहले से Python और shell scripting support करता आया है [0]
हाल में 130 नई programming languages का support जोड़ते समय मैंने Aider से on-the-fly Bash scripting करने का screencast भी बनाया [1]। इससे अंदाजा मिल सकता है कि यह approach कितनी powerful हो सकती है।
[0] https://aider.chat/docs/scripting.html
[1] https://aider.chat/docs/recordings/tree-sitter-language-pack...
तब trusted model इस्तेमाल करके PR, tickets आदि के जरिए शुरू से अंत तक development किया जा सकेगा
यह commit तक कर दे, ऐसा मैं खास नहीं चाहता; मुझे मुख्य रूप से Claude Code का feel पसंद है
बस repository में एक file add करनी पड़े और फिर issues के जरिए किसी भी model से बातचीत की जा सके—कुछ ऐसा
Claude Code टीम ने जिन बातों को और विस्तार से कवर किया: http://latent.space/p/claude-code
सिर्फ transcript सरसरी तौर पर पढ़ लेना भी काफी है, लेकिन निजी तौर पर मुझे ये बातें खास लगीं: Anthropic के कर्मचारी unlimited Claude इस्तेमाल करते हुए भी औसतन करीब 6 डॉलर प्रतिदिन खर्च करते हैं; headless Claude Code को CI में कहीं भी इस्तेमाल होने वाली “Linux” utility की तरह देखते हैं; इसे user-extendable platform मानते हैं; sandboxing, branching और planning features भविष्य के roadmap में हैं; और Sonnet 3.7 को persistent agent model के रूप में देखते हैं
मैं जानना चाहूंगा कि प्रति-कर्मचारी खर्च का P50, P75, P95 कितना है
personal projects के लिए यह बहुत महंगा था, इसलिए मैंने इस्तेमाल बंद कर दिया
पिछले छह महीनों या कुछ वर्षों में कई businesses बढ़ाते हुए भी public work की मात्रा और value लगातार बढ़ती जाना हैरान करने वाला है। उम्मीद है कि दूसरे लोग भी ऐसी ही productivity gradient खोज पाएंगे। वे मोटे तौर पर बताते हैं कि क्या चीज़ें काम करती हैं, लेकिन उसे reproduce करना आसान नहीं है। simonw, gwern जैसे नाम याद आते हैं
अगर मैं AI code assistant बनाता, तो उसे किसी खास foundation model provider से बांधना मेरी आखिरी प्राथमिकता होती
इस product के सफल होने के लिए यह मानना पड़ेगा कि model performance अभी-अभी plateau पर पहुंच गया है, सभी foundation models लगभग समान performance और capabilities पर converge करेंगे, और integrators किसी परिचित SDK जैसी छोटी conveniences के आधार पर चुनाव करेंगे
किसी और चीज़ से बदल दें या wrapper लगा दें। यहां बहुत ज्यादा complex काम नहीं है
मैं AI code assistant से जुड़ी कोई चीज़ बना रहा हूं, और Claude Code integrate करने का तरीका ही पहले hack कर रहा था। हम सबसे पहले उसी के ऊपर build करना चाहते थे। lock-in की चिंता करना अभी बहुत जल्दी है; हमें best चाहिए, इसलिए हम सिर्फ best के इर्द-गिर्द build करेंगे
Claude Code पहले से ही non-interactive mode में इस्तेमाल किया जा सकता था, इसलिए उसे दूसरे Unix command-line utilities की तरह अन्य apps में integrate किया जा सकता था
लगता है यह SDK फिलहाल केवल command-line usage ही support करता है, तो क्या यह पहले से मौजूद चीज़ जैसा ही नहीं है? सच में नया क्या है, समझ नहीं आया। क्या मैं कुछ miss कर रहा हूं?
Codebuff(https://www.codebuff.com/) की भी सिफारिश करूंगा। यह Claude Code जैसा ही एक शानदार CLI code assistant है और token costs काफी बचा सकता है
इस project से मेरा कोई संबंध नहीं है, बस user हूं
terms में लिखा है कि “सेवा से प्रतिस्पर्धा करने वाले products या services विकसित करने, artificial intelligence या machine learning algorithms या models विकसित/प्रशिक्षित करने, या service को resell करने के लिए इसका उपयोग नहीं किया जा सकता”
सोचता हूं कि general intelligence से प्रतिस्पर्धा न करने वाला software product या service आखिर है क्या। intelligence बेचते हुए, strict interpretation में यह एक legal clause लगाने जैसा है कि इसे कहीं भी इस्तेमाल न करें। क्या यह इतना vague है कि enforce नहीं किया जा सकता? अगर इसे general intelligence से compete करने में इस्तेमाल नहीं कर सकते, तो output का ownership कैसे होगा? क्या यह “legal terms की किसी को परवाह नहीं” वाली बात है? अगर किसी को परवाह नहीं, तो service usage पर blanket ban क्यों लगाते हैं? ऐसे output पाने के लिए lawsuit हारने की liability तक स्वीकार करनी पड़ेगी क्या—बहुत सारे सवाल हैं
model lock-in हो तो usage के लिए बड़ा disadvantage बन जाता है। अगर कोई latest best-performing model ले आया और आपने पहले ही इस infrastructure में invest कर दिया है, तो आप फंस जाएंगे
बाद में open भी कर दें, तो भी संभव है कि वह model खास तौर पर उस CLI के हिसाब से trained हो, इसलिए ठीक से काम न करे। Codex CLI को ही देखें: Gemini 2.5 Pro इस्तेमाल तो कर सकते हैं, लेकिन OpenAI models की तुलना में वह random तरीके से रुकता या fail होता रहता है
नया GitHub Action वही feature है जिसकी मुझे तलाश थी: https://docs.anthropic.com/en/docs/claude-code/github-action...
लेकिन Claude Code के Max plan के साथ इसे इस्तेमाल करने का तरीका दिख नहीं रहा। मुझे लगता है यह सिर्फ API key ही लेता है