Claude Code में टोकन खपत घटाएँ: Context Mode और Headroom

Claude Code में कॉन्टेक्स्ट भरने और API खर्च को अलग-अलग मापें। Context Mode या Headroom सेट करें, परिणाम और कैश जाँचें, तथा सीमित और आसानी से जाँचे जा सकने वाले काम सस्ते मॉडल को दें।

विषय-सूची
Claude Code में टोकन खपत घटाएँ: Context Mode और Headroom

Claude Code में टोकन खपत घटाने के लिए पहले पता करें कि कॉन्टेक्स्ट किससे भर रहा है, फिर टूल का अनावश्यक आउटपुट बातचीत में आने से रोकें। शुरुआत Claude Code के अपने नियंत्रणों से करें; डेटा चुनकर प्रोसेस करने और इतिहास संक्षिप्त होने के बाद काम जारी रखने के लिए Context Mode, या स्थानीय प्रॉक्सी से आउटपुट कंप्रेस करने के लिए Headroom आज़माएँ। अगर ज़्यादातर खपत रीज़निंग और बार-बार असफल कोशिशों से हो रही है, तो दोनों में से कोई टूल जोड़ने से पहले काम का दायरा और मॉडल का चुनाव सुधारें।

2026-10-21 के अनुसार Claude Code का वर्तमान रिलीज़ 2.1.306 है। नीचे Headroom के उदाहरण में संस्करण 0.41.0 तय रखा गया है।

Claude Code के टोकन कहाँ खर्च हो रहे हैं?

कॉन्टेक्स्ट में जगह किसने घेर रखी है, यह जानने के लिए /context चलाएँ। खपत और अनुमानित लागत के लिए /usage देखें। दोनों अलग सवालों के जवाब देते हैं।

सवालकहाँ देखेंक्या पता चलता है
बातचीत का कॉन्टेक्स्ट क्यों भर रहा है?/contextनिर्देशों, संदेशों, टूल और दूसरे कॉन्टेक्स्ट से घिरी जगह
इस सत्र में कितना इस्तेमाल हुआ?/usageअलग-अलग श्रेणियों के टोकन और सत्र की अनुमानित लागत
क्या सदस्यता की सीमा पास आ रही है?/usage में प्लान की जानकारीसदस्यता की सीमा का इस्तेमाल, जो API बिल से अलग है
वास्तव में कितनी राशि कटी?बिलिंग प्रदाता के इस्तेमाल के रिकॉर्डउस प्रदाता की दरों और बिलिंग नियमों के अनुसार शुल्क

वर्तमान Claude Code में /cost, /usage का ही दूसरा नाम है। डॉलर में दिखाई गई राशि एक अनुमान है; इसका अर्थ यह नहीं कि Pro या Max में शामिल हर अनुरोध के लिए उतना अतिरिक्त शुल्क लगेगा। यह अंतर Claude Code की लागत संबंधी दस्तावेज़ी जानकारी में समझाया गया है।

बड़े लॉग, ब्राउज़र की स्थिति के स्नैपशॉट, निर्भरता की फ़ाइलें और टूल से बार-बार लौटने वाले परिणाम कॉन्टेक्स्ट का बड़ा हिस्सा भर सकते हैं। पिछले संदेश भी बाद के अनुरोधों में शामिल होते हैं, लेकिन प्रॉम्प्ट कैशिंग से दोबारा इस्तेमाल किया गया इनपुट नए इनपुट से सस्ता पड़ सकता है। इसलिए दिखने वाली सामग्री में 50% कमी का मतलब अपने-आप बिल में 50% कमी नहीं है।

कंप्रेशन जोड़ने से पहले मूल नियंत्रण इस्तेमाल करें

बर्बादी की वजह के अनुसार उपाय चुनें: बहुत अधिक आउटपुट हो तो सिर्फ़ ज़रूरी डेटा मँगाएँ, असंबंधित काम के लिए नई बातचीत शुरू करें, और लंबे काम को जारी रखना हो तो इतिहास संक्षिप्त करें।

Claude को फ़ाइलों के सटीक पथ, असफल टेस्ट के नाम और परिणाम जाँचने की ठोस कमांड दें। छोटी-सी तब्दीली से पहले पूरा रिपॉज़िटरी समझने को कहने के बजाय एक खराब मॉड्यूल की जाँच करवाने से आम तौर पर अनावश्यक काम कम होता है।

असंबंधित कामों के बीच /clear चलाएँ, लेकिन पहले वे खपत आँकड़े नोट कर लें जिनकी आगे ज़रूरत होगी। उसी काम को जारी रखते समय /compact के साथ बताइए कि कौन-सी जानकारी बचानी है:

/compact Preserve the current goal, modified files, failing test names, exact errors, and the next verification command.

इस निर्देश में लक्ष्य, बदली गई फ़ाइलें, असफल टेस्ट के नाम, सटीक त्रुटियाँ और अगली जाँच कमांड बचाने को कहा गया है। ये कॉन्टेक्स्ट सँभालने के दस्तावेज़ित तरीके हैं, लेकिन इतिहास संक्षिप्त करने से सार बनता है, हूबहू संग्रह नहीं। स्वीकार्यता की ज़रूरी शर्तें परियोजना के स्थायी निर्देशों या काम के नोट्स में भी रखें।

हर संदेश के बाद इतिहास संक्षिप्त न करें। सार बनाने के लिए भी एक अनुरोध होता है और पुराना संदेश-इतिहास बदल जाता है; अगले अनुरोध में नए, छोटे प्रीफ़िक्स का कैश बनाना पड़ता है। बहुत बार ऐसा करने से कॉन्टेक्स्ट तो घट सकता है, पर अतिरिक्त काम और कैश दोबारा बनाने की खपत बढ़ सकती है।

सरल कामों के लिए, जिन मॉडलों में रीज़निंग का स्तर यानी effort बदलने की सुविधा है, उनमें /effort low आज़माएँ। कम effort रीज़निंग का काम घटा सकता है; टूल से पहले ही लौट चुका लॉग छोटा नहीं होता। कमांड से बदला गया स्तर चुने हुए मॉडल के लिए सहेजा जाता है, इसलिए तुलना के बाद अपनी पसंद का स्तर वापस कर दें। समर्थित नियंत्रण और मॉडल के उपनाम मॉडल कॉन्फ़िगरेशन के दस्तावेज़ में दिए हैं।

सबएजेंट भी मुख्य बातचीत का भार घटा सकते हैं: ये सहायक एजेंट अलग कॉन्टेक्स्ट में काम करके सार लौटाते हैं। इससे मुख्य बातचीत हल्की रहती है, लेकिन उनके अपने अनुरोध भी टोकन खर्च करते हैं।

Context Mode और Headroom में से क्या चुनें?

अगर Claude को लौटाने से पहले डेटा घटाया जा सकता है, तो Context Mode चुनें। अगर मौजूदा टूल कॉल को कंप्रेशन की एक परत से गुज़ारना चाहते हैं, तो Headroom आज़माएँ।

बाधापहले क्या आज़माएँक्या बदलेगा
बड़े लॉग या फ़ाइलें, जिनसे ज़रूरी डेटा स्थानीय रूप से निकाला जा सकता हैContext ModeClaude को कोड चलाने और खोजने वाले टूल से चुने हुए परिणाम मिलते हैं
इतिहास संक्षिप्त होने के बाद काम की कुछ जानकारी खो जाती हैContext Modeसत्र के इवेंट पर चलने वाले हुक जानकारी दर्ज करते और काम जारी रखने के लिए वापस देते हैं
मौजूदा टूल बहुत विस्तार से आउटपुट देते हैंHeadroomस्थानीय प्रॉक्सी अनुरोध आगे भेजने से पहले उपयुक्त टूल सामग्री कंप्रेस करता है
छोटा काम, लेकिन बहुत अधिक रीज़निंग या दोहराई गई कोशिशेंकाम के दायरे, effort और मॉडल के मूल नियंत्रणएक और घटक जोड़ने से पहले मॉडल के काम की मात्रा बदलती है

एक समय में एक ही टूल जाँचें, ताकि परिणाम में आए बदलाव की वजह समझ सकें।

प्रकाशित प्रतिशतों की सीधी तुलना नहीं की जा सकती। Context Mode के बेंचमार्क दस्तावेज़ चुने हुए उदाहरणों के आउटपुट को बाइट में मापते हैं। Headroom के 21%–57% वाले आँकड़े तय सीड से बनाए गए, दोहराए जा सकने वाले टूल आउटपुट पर ऑफ़लाइन परीक्षणों से आते हैं। इनमें से कोई भी आपके पूरे Claude Code बिल की बचत तय नहीं करता, और न ही यह जाँचने की जगह लेता है कि काम अब भी सही पूरा होता है।

Context Mode: पूरी फ़ाइल के बजाय परिणाम लौटाएँ

Context Mode तब उपयोगी है जब कोई स्थानीय ऑपरेशन सभी इनपुट को Claude की बातचीत में डाले बिना उत्तर निकाल सकता हो। इसका प्लगइन सत्र के चुने हुए इवेंट SQLite में दर्ज भी करता है और इतिहास संक्षिप्त होने के बाद आगे काम करने की जानकारी लौटाने के लिए हुक इस्तेमाल करता है।

वर्तमान पैकेज को Node.js 22.5.0 या नया संस्करण चाहिए। Bash में अपनी स्थापना जाँचें:

claude --version
node --version

Claude Code के अंदर परियोजना की मार्केटप्लेस स्थापना विधि इस्तेमाल करें:

/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

Claude Code दोबारा शुरू करें, फिर चलाएँ:

/context-mode:ctx-doctor

डायग्नोस्टिक कमांड रनटाइम समर्थन, प्लगइन पंजीकरण, हुक और SQLite की खोज सुविधा जैसे घटक जाँचती है। प्लगइन को सक्रिय मानने से पहले अपनी स्थापना से संबंधित त्रुटियाँ ठीक करें। केवल MCP सर्वर स्थापित करने पर सत्र के इवेंट से जुड़ने वाली वही सुविधाएँ नहीं मिलतीं।

ठोस जाँच के लिए ऐसा npm प्रोजेक्ट खोलें जिसमें संस्करण 2 या 3 का package-lock.json पहले से मौजूद हो। Claude को ctx_execute_file बुलाने को कहें, जिसमें path: "package-lock.json", language: "javascript" और यह कोड हो:

const lock = JSON.parse(FILE_CONTENT);
if (!lock.packages) {
  console.log("This example requires an npm v2/v3 lockfile.");
} else {
  const rows = Object.entries(lock.packages).filter(([path]) => path !== "");
  console.log(JSON.stringify({
    lockfileVersion: lock.lockfileVersion,
    packageEntries: rows.length,
    entriesMarkedDev: rows.filter(([, pkg]) => pkg.dev === true).length
  }, null, 2));
}

टूल FILE_CONTENT के ज़रिए फ़ाइल की सामग्री देता है। अपेक्षित परिणाम तीन माँगे गए फ़ील्ड वाला छोटा JSON ऑब्जेक्ट है, पूरी निर्भरता फ़ाइल नहीं। वास्तविक गिनती आपके प्रोजेक्ट पर निर्भर करेगी; ये फ़ाइल की प्रविष्टियाँ हैं, अलग-अलग पैकेज नामों की गिनती नहीं।

इसके बाद चलाएँ:

/context-mode:ctx-stats

आँकड़ों की कमांड में Context Mode की गतिविधि दिखनी चाहिए। अगर कोई कॉल नहीं दिखती, तो अभी यह साबित नहीं हुआ कि काम माँगे गए टूल से हुआ है। आउटपुट घटने के ये आँकड़े API बिल का हिसाब नहीं हैं।

लॉग पर भी यही तरीका अपनाएँ: स्थानीय रूप से गिनती निकालें, संबंधित त्रुटियाँ चुनें और स्रोत के स्थान सहित सटीक अंश लौटाएँ। जहाँ Claude को छोटी स्रोत फ़ाइलों का सटीक कोड देखना ज़रूरी हो, वहाँ उन्हें सीधे पढ़ने दें।

Context Mode, Elastic License 2.0 के अंतर्गत उपलब्ध है। इसके कोड चलाने का अलग वातावरण ऑपरेटिंग सिस्टम के स्तर का पूर्ण सुरक्षा सैंडबॉक्स भी नहीं है: निष्पादन टूल को फ़ाइल सिस्टम तक उपलब्ध पहुँच मिल सकती है। एजेंट द्वारा चलाई जाने वाली कमांड के लिए अपने सामान्य अनुमति और सैंडबॉक्स नियंत्रण बनाए रखें।

Headroom: उपयुक्त टूल आउटपुट को स्थानीय प्रॉक्सी से गुज़ारें

Headroom ऐसे कामों के लिए उपयुक्त है जहाँ सामान्य Claude Code टूल चलते रहें और प्रॉक्सी उपयुक्त आउटपुट का आकार घटाए। कोडिंग के लिए इसका डिफ़ॉल्ट व्यवहार कैश की स्थिरता का भी ध्यान रखता है; यह हर स्रोत फ़ाइल या हर अनुरोध को कंप्रेस करने का वादा नहीं करता।

इस उदाहरण में Anthropic Console की API कुंजी इस्तेमाल होती है, इसलिए API शुल्क Claude सदस्यता से अलग लगेगा। इसके लिए uv और Claude Code स्थापित होने चाहिए, पहले से Headroom प्रॉक्सी नहीं चलना चाहिए, और कोई टकराने वाली कस्टम गेटवे या क्लाउड प्रदाता कॉन्फ़िगरेशन सक्रिय नहीं होनी चाहिए। संगठन के मौजूदा गेटवे के लिए उसके अनुकूल एकीकरण विधि चाहिए।

Headroom की स्थापना संबंधी जानकारी के अनुसार Bash में प्रॉक्सी पैकेज का तय संस्करण स्थापित करें:

uv tool install --python 3.13 "headroom-ai[proxy]==0.41.0"
headroom --version

संस्करण की जाँच में 0.41.0 दिखना चाहिए। कुंजी पढ़ने वाली पंक्ति चलाएँ, बिना स्क्रीन पर अक्षर दिखाए कुंजी दर्ज करें और Enter दबाएँ। फिर लॉन्च कमांड चलाएँ:

read -rs ANTHROPIC_API_KEY && export ANTHROPIC_API_KEY
HEADROOM_TELEMETRY=on HEADROOM_BEACON=off headroom wrap claude --code-memory none

अगर Claude कस्टम API कुंजी इस्तेमाल करने की स्वीकृति माँगे, तो उसे स्वीकार करें। फिर /status में सक्रिय प्रमाणीकरण और मॉडल जाँचें। अगर पहले आपने कुंजी स्वीकार नहीं की थी, तो Claude के प्रमाणीकरण दस्तावेज़ में /config की “Use custom API key” सेटिंग बताई गई है।

लॉन्चर स्थानीय प्रॉक्सी शुरू करता है या चल रहे प्रॉक्सी का इस्तेमाल करता है, उसके ज़रिए Claude चलाता है और Claude Code की कॉन्फ़िगरेशन में मूल डेटा मँगाने वाला Headroom MCP सर्वर दर्ज करता है। --code-memory none अतिरिक्त Serena एकीकरण छोड़ देता है, लेकिन Headroom से मूल डेटा मँगाने की सुविधा चालू रहती है। इस उदाहरण में --no-mcp न जोड़ें, क्योंकि उससे कंप्रेस सामग्री के मार्कर के ज़रिए मूल डेटा पाने का रास्ता हट जाएगा। ये विकल्प 0.41.0 के लॉन्चर कार्यान्वयन में परिभाषित हैं।

एनवायरनमेंट वेरिएबल स्थानीय टेलीमेट्री संग्रह चालू करते हैं और उसका वैकल्पिक अपलोड बंद करते हैं। मॉडल के अनुरोध फिर भी कॉन्फ़िगर किए गए प्रदाता को भेजे जाते हैं।

शुरू होते समय दिखा प्रॉक्सी पता नोट कर लें। सामान्य पोर्ट 8787 है, लेकिन लॉन्चर कोई दूसरा उपलब्ध पोर्ट चुन सकता है। दूसरे Bash टर्मिनल में ये जाँच चलाएँ; ज़रूरत हो तो वास्तविक पोर्ट लगाएँ:

curl -fsS http://127.0.0.1:8787/health
curl -fsS http://127.0.0.1:8787/stats

अब Headroom के ज़रिए चल रहे Claude को एक सीमित काम दें: पहले से मौजूद किसी बड़े test.log में असफल होने वाले अलग-अलग टेस्ट बताए और हर टेस्ट की पहली सटीक त्रुटि दिखाए, बिना फ़ाइल बदले। पूरा होने के बाद /stats फिर माँगें।

हेल्थ जाँच का सही जवाब बताता है कि प्रॉक्सी चल रहा है। requests.total बढ़ने का मतलब है कि पूरे हुए अनुरोध उसकी गिनती में आ रहे हैं; requests.failed और requests.rate_limited अलग से देखें। इन फ़ील्ड का अर्थ मेट्रिक्स के दस्तावेज़ में दिया है। छोटे या कंप्रेशन से सुरक्षित रखे गए इनपुट पर शून्य बचत दिखना अपने-आप रूटिंग की खराबी नहीं है।

अगर प्रमाणीकरण विफल हो, तो दोबारा कोशिश करने से पहले ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL और प्रदाता की सेटिंग में टकराव जाँचें। अगर अनुरोध दिख ही नहीं रहे, तो शुरू होते समय बताए गए पोर्ट और उस सत्र के अनुरोध भेजने के पते की पुष्टि करें।

Headroom का कंप्रेस करने, कैश में रखने और मूल डेटा वापस मँगाने का तंत्र Claude को छोड़ी गई जानकारी चाहिए होने पर सुरक्षित रखे गए मूल डेटा तक पहुँच दे सकता है। उसे वापस मँगाने में अतिरिक्त काम लगता है और वह सीमित समय तक ही रखा जाता है। मूल डेटा उपलब्ध न हो तो स्रोत फ़ाइल पर लौटें या कमांड फिर चलाएँ।

Headroom के ज़रिए चल रहे Claude से बाहर आने के बाद इस परीक्षण की सेटिंग हटाएँ। मूल टर्मिनल में, उसी प्रोजेक्ट से और वास्तविक पोर्ट के साथ चलाएँ:

headroom unwrap claude --port 8787
unset ANTHROPIC_API_KEY

unwrap, Headroom द्वारा सँभाली गई सेटिंग हटाता है और संबंधित प्रॉक्सी रोकने की कोशिश करता है। कुंजी हटाने वाली पंक्ति इस परीक्षण के लिए निर्यात की गई API कुंजी शेल के एनवायरनमेंट से निकालती है; अपने सामान्य प्रमाणीकरण पर लौटने से पहले /status जाँचें।

सीमित उपकार्यों के लिए सस्ते मॉडल इस्तेमाल करें

ऐसे कामों के लिए कम कीमत वाला मॉडल चुनें जिनका आउटपुट आसानी से जाँचा जा सके, जैसे दिए गए लॉग से असफलताएँ निकालना। इससे काम की कीमत बदलती है; कम टोकन लगने की गारंटी नहीं मिलती।

मूल सुविधा का आधारभूत परीक्षण करने के लिए .claude/agents/log-summary.md बनाएँ:

---
name: log-summary
description: Summarize supplied test logs and identify failing tests.
model: haiku
tools: Read, Grep, Glob
maxTurns: 6
---

Read only the log paths supplied in the task.
Return failing test names, exact error excerpts, and file or line references.
Report uncertainty and missing evidence.
Do not modify files.

यह कॉन्फ़िगरेशन दिए गए लॉग पढ़ने, असफल टेस्ट और सटीक त्रुटियाँ बताने तथा फ़ाइलें न बदलने का निर्देश देती है। एजेंट की डायरेक्टरी बनाने के बाद Claude Code दोबारा शुरू करें, फिर किसी मौजूदा लॉग पर सहायक एजेंट चलाएँ:

Use log-summary to inspect ./test.log and return the first failing test and its exact error. Stop after the summary.

चलते समय /tasks में सहायक एजेंट का वास्तविक मॉडल देखें और उसके बताए अंश की मूल लॉग से तुलना करें। maxTurns संवाद के चरणों को सीमित करता है, डॉलर या टोकन को नहीं; सीमा पूरी होने पर परिणाम अधूरा रह सकता है। ये फ़ील्ड और एजेंट के लोड होने के नियम सबएजेंट के दस्तावेज़ में दिए हैं।

haiku एक उपनाम है, इसलिए वास्तविक मॉडल प्रदाता की कॉन्फ़िगरेशन तय करती है। कठिन डिज़ाइन निर्णय या अस्पष्ट त्रुटियों की जाँच उस मॉडल को दें जो उन्हें भरोसेमंद ढंग से हल करता हो। सस्ते सहायक को बार-बार सुधारना पड़े तो कुल लागत बढ़ सकती है।

अगर मॉडल का इस्तेमाल जितना हो उतना भुगतान करने के लिए BetterToken लेते हैं, तो उसकी Claude Code कॉन्फ़िगरेशन के अनुसार सेट करें: Anthropic-संगत बेस URL https://bettertoken.ai है, बिना /v1 के। ANTHROPIC_DEFAULT_HAIKU_MODEL और बाकी उपनामों की मैपिंग जाँचें। सभी उपनामों को एक ही मॉडल ID देने पर haiku चुनने से कोई अलग, सस्ता मॉडल नहीं चुना जाएगा। समर्थित ID सोच-समझकर चुनें, मॉडल और कैश की वर्तमान दरें मिलाएँ, और रिकॉर्ड में वास्तविक मॉडल तथा शुल्क जाँचें। BetterToken API की बिलिंग Claude सदस्यता से अलग है; इस प्रदाता की सेटिंग को ऊपर के सीधे Anthropic वाले Headroom परीक्षण से अलग रखें।

फैसला पूरे काम की लागत और परिणाम की शुद्धता से करें

कंप्रेशन टूल तभी रखें जब कैश, सहायक एजेंट, मूल डेटा दोबारा मँगाने और पुनः प्रयासों को जोड़ने के बाद पूरे किए गए काम का परिणाम बेहतर हो।

एक ही रिपॉज़िटरी स्थिति, प्रॉम्प्ट, वास्तविक मॉडल, effort स्तर और सत्यापन कमांड के साथ तुलना करें। नोट करें कि शुरुआत में कैश पहले से तैयार था या खाली; इन स्थितियों को मिलाने से तुलना भ्रामक हो सकती है। अंतिम बदलाव या उत्तर और उसके समर्थन में दिए गए सटीक प्रमाण, दोनों जाँचें।

Anthropic API की गिनती में input_tokens, cache_creation_input_tokens और cache_read_input_tokens अलग श्रेणियाँ हैं; केवल input_tokens कुल इनपुट नहीं है। आउटपुट टोकन भी शामिल करें। प्रति मिलियन टोकन की दरों के लिए सभी अनुरोधों पर sum(token_count × category_rate / 1,000,000) निकालें। जहाँ अवधि के अनुसार दर बदलती है, वहाँ कैश में लिखे गए टोकन अलग-अलग गिनें। टोकन से अलग कोई अनिवार्य शुल्क हो तो उसे भी जोड़ें।

Claude Code में मुख्य बातचीत का कैश विवरण देखने के लिए संस्करण 2.1.251 या नया चाहिए, और इसमें सबएजेंट शामिल नहीं होते। प्रॉक्सी के बचत काउंटर जाँच में उपयोगी हैं, लेकिन खर्च की तुलना अपने बिलिंग प्रदाता के रिकॉर्ड से करें।

अगर छोड़ी गई त्रुटि के कारण फिर से पड़ताल करनी पड़े, सहायक एजेंट को बार-बार सुधारना पड़े या मूल डेटा वापस मँगाने से कॉन्टेक्स्ट फिर उतना ही भर जाए, तो कंप्रेशन कम करें या काम का दायरा बदलें। उपयोगी परिणाम वह है जिसमें काम सही पूरा हो और पूरे काम पर कुल भुगतान कम लगे।

अपना LLM वर्कफ़्लो बेहतर बनाना चाहते हैं?

एक API से मॉडल जोड़ें, कुंजियाँ प्रबंधित करें और AI खर्च नियंत्रित करें।

मुफ़्त शुरू करें