Claude Code या Anthropic API पर काम करते समय अचानक ऐसे एरर से हाथ रुक जाते हैं:

API Error: 400 Output blocked by content filtering policy

# कच्चा (raw) रिस्पॉन्स कुछ ऐसा दिखता है:
{"type":"error","error":{"type":"invalid_request_error",
 "message":"Output blocked by content filtering policy"}}

"आउटपुट को कंटेंट फिल्टर की पॉलिसी ने ब्लॉक कर दिया" — यानी आपके इनपुट को नहीं, बल्कि Claude जो आउटपुट लौटाने वाला था, उसे Anthropic के सेफ्टी फिल्टर ने बीच में ही रोक दिया है। HTTP स्टेटस 400 है और प्रकार invalid_request_error। यह न तो usage limit का मामला है और न ही कॉन्टेक्स्ट के ओवरफ्लो का — यहां "क्या आउटपुट करने की कोशिश की गई" वही अटका है।

पहले तीन मुख्य बातें। ① कारण लगभग हमेशा यही होता है कि "मौजूदा कॉपीराइट सामग्री को हूबहू पुनरुत्पादित करने" का प्रयास पकड़ा गया। Claude को नई सामग्री बनाने के लिए बनाया गया है, और मौजूदा टेक्स्ट की हूबहू नकल को रोकने वाला एक सेफ्टी तंत्र इसमें मौजूद है। ② लेकिन false positive (गलत पहचान) बहुत होते हैं — MIT/Apache जैसी मानक लाइसेंस टेक्स्ट को जनरेट करते समय, या किसी मौजूदा पेज से "मिलान कराने" वाले काम में, बिना किसी बुरी नीयत के भी यह ट्रिगर हो जाता है। ③ समाधान का मूल है "मॉडल से शब्दशः कॉपी न कराना" — लाइसेंस आदि को टूल से हासिल करें, प्रॉम्प्ट को "रूपांतरण / सारांश / नई रचना" की ओर झुकाएं, और अगर रिट्राई लूप में फंस जाएं तो एक बार रोककर उसे दोबारा शब्दों में कहें। इस लेख में हम आधिकारिक जानकारी और असली बग रिपोर्टों के आधार पर कारण, गलत पहचान के पैटर्न, ठीक करने का तरीका और मिलती-जुलती एररों से फर्क तक सब व्यवस्थित करेंगे।

CLAUDE CODE · CONTENT FILTER

कहां पर रुका हुआ है

— इनपुट नहीं, बल्कि "आउटपुट" को फिल्टर रोकता है

① आपका इनपुट
प्रॉम्प्ट · फाइलें · निर्देश
✅ पास
② Claude जनरेट करता है
आउटपुट टोकन जोड़ता है
…मौजूदा सामग्री से मिलता-जुलता?
③ आउटपुट फिल्टर
कॉपीराइट सामग्री का पुनरुत्पादन पकड़ता है
⛔ 400 से ब्लॉक

जो रुका हुआ है वह है ③ आउटपुट चरणन तो इनपुट बहुत लंबा है (Prompt is too long) और न ही usage limit का मामला है
"नया बनाने" वाला आउटपुट पास हो जाता है, जबकि "मौजूदा सामग्री की हूबहू नकल" वाला आउटपुट आसानी से अटकता है।

1. यह एरर आखिर क्या कह रहा है

Anthropic के API में एक सेफ्टी सिस्टम है जो इनपुट (जो आप भेजते हैं) और आउटपुट (जो Claude लौटाता है) दोनों की जांच करता है। Output blocked by content filtering policy का मतलब, जैसा नाम से ही जाहिर है, यह है कि उसी "आउटपुट" वाले फिल्टर ने Claude द्वारा लौटाई जाने वाली सामग्री को रोक दिया। API का रिस्पॉन्स HTTP 400 / invalid_request_error के रूप में लौटता है, और Claude Code में सेशन API Error: 400 Output blocked by content filtering policy दिखाकर रुक जाता है।

ध्यान दें: यह उस स्थिति से अलग है जब "मॉडल बातचीत के रूप में विनम्रता से मना करता है (refusal)"। refusal टेक्स्ट के रूप में लौटता है, जबकि यह 400 में API कॉल खुद ही एरर बन जाती है। इसीलिए Claude Code को कोई रिस्पॉन्स नहीं मिलता और प्रोसेसिंग बीच में ही रुक जाती है।

अहम बात यह है कि यह कोई "बग" नहीं, बल्कि "सेफ्टी तंत्र का सक्रिय होना" है। इसलिए यह "रीस्टार्ट करने से ठीक हो जाने" वाली चीज़ नहीं है — सही तरीका है यह देखना कि आपने क्या आउटपुट कराने की कोशिश की। फिर भी, जैसा आगे बताया गया है, गलत पहचान काफी ज्यादा होती है, इसलिए किसी वैध काम के दौरान आने पर इसे शब्दों को बदलकर या तरीका बदलकर लगभग हमेशा टाला जा सकता है।

2. यह क्यों आता है — कॉपीराइट सामग्री के "पुनरुत्पादन" को रोकने का तंत्र

Anthropic की आधिकारिक व्याख्या के अनुसार, इस फिल्टर का मुख्य उद्देश्य है "मौजूदा सामग्री को हूबहू कॉपी/पुनरुत्पादित (regurgitate) न कराना"। आधिकारिक रूप से Claude की भूमिका को "मौजूदा सामग्री को दोबारा बनाने के बजाय, नई सामग्री और विचार पैदा करने" के रूप में परिभाषित किया गया है, और इसके साथ ही बौद्धिक संपदा अधिकारों का उल्लंघन करने वाले इस्तेमाल को प्रतिबंधित करने वाली पॉलिसी भी बताई गई है।

यानी फिल्टर तब आसानी से ट्रिगर होता है जब वह यह मान लेता है कि आउटपुट "दुनिया में पहले से मौजूद किसी टेक्स्ट की शब्दशः कॉपी से बहुत मिलता-जुलता है"। खास तौर पर ये केस होते हैं:

📄 तयशुदा (टेम्पलेट) टेक्स्ट का शब्दशः जनरेशन

MIT / Apache-2.0 / BSL / MPL जैसे लाइसेंस का पूरा टेक्स्ट, या मानक आचार संहिता व टेम्पलेट को "हूबहू लिख दो" कहने पर इसे मौजूदा सामग्री की नकल मान लिया जाता है।

🔁 मौजूदा स्रोत से "मिलान" वाला काम

"इस ऑनलाइन डॉक्युमेंट से पूरी तरह मिलने वाली फाइल बनाओ", "मूल लेख के हूबहू पुनरुत्पादित करो" जैसे, किसी बाहरी मौजूदा सामग्री की नकल उतारने वाले निर्देश।

📚 लंबे दस्तावेज़ की नकल

मौजूदा API डॉक्युमेंटेशन या किताब/लेख का बड़ी मात्रा में उद्धरण / पूरा दोबारा प्रकाशन। सारांश या पुनर्गठन आसानी से पास हो जाता है, लेकिन शब्दशः कॉपी अटक जाती है।

सावधानी: आधिकारिक तौर पर यह भी साफ लिखा है कि "अगर आप वाकई कॉपीराइट सामग्री निकालने की कोशिश में यह चेतावनी पा रहे हैं, तो बार-बार दोहराने पर चेतावनी या अकाउंट के सस्पेंशन/समाप्ति की नौबत आ सकती है"। जानबूझकर हूबहू नकल के मकसद से इसे बायपास न करें। यहां हम सिर्फ वैध काम के दौरान होने वाली गलत पहचान की बात कर रहे हैं।

3. आम false positive (गलत पहचान) पैटर्न

आधिकारिक रूप से भी यह माना गया है कि "कुछ यूज़र नकल करने की कोई नीयत न होते हुए भी इस अस्वीकृति/एरर से टकराते हैं"। असल में, Claude Code के Issue में ऐसे "बिल्कुल बुरी नीयत के बिना" किए गए कामों में ट्रिगर होने की कई रिपोर्ट हैं।

OSS रिपॉजिटरी की शुरुआती सेटअप

LICENSE फाइल, CI कॉन्फ़िगरेशन, कम्युनिटी हेल्थ फाइलें (CODE_OF_CONDUCT आदि) बनाने की आम सेटअप के दौरान रुक जाना।

दो सूचियों का मिलान

"ऑनलाइन सूची से मिलान करके फर्क ठीक करो" जैसे तुलना वाले काम के बीच में आउटपुट मौजूदा सूची के करीब पहुंचकर ट्रिगर हो जाना।

लंबे एजेंट रन के अंत में

1–2 घंटे चलने के बाद 400 पर रुक जाना, और उसे गलती से "टोकन लिमिट" समझ लिया जाना। असल में आउटपुट फिल्टर ही कारण होता है।

Claude Code की एक जानी-मानी आदत: यह एरर मिलने पर यह एक ही आउटपुट को बार-बार दोहराने वाले रिट्राई लूप में फंस सकता है और आगे नहीं बढ़ पाता। शून्य फाइल बनाए बिना ही लंबे समय तक लूप करता रहता है, जिससे कारण को गलत समझना आसान हो जाता है। लूप का पता चलते ही उसे मैन्युअली रोक देना सबसे पहला काम है (अगला अध्याय)।

4. अभी तुरंत ठीक करने का तरीका

"सेफ्टी तंत्र सही ढंग से चला" वाले मामले और "गलत पहचान" वाले मामले में उपाय अलग होते हैं, लेकिन अगर काम वैध है तो नीचे दिए क्रम में इसे बहुत ऊंची संभावना से टाला जा सकता है।

① मॉडल से "हूबहू नकल" न कराएं

लाइसेंस आदि के तयशुदा पूरे टेक्स्ट को मॉडल से लिखवाने के बजाय टूल से हासिल करें। उदाहरण: npx license mit, choosealicense.com से पेस्ट, या gh repo create में टेम्पलेट निर्दिष्ट करना।

② प्रॉम्प्ट को "जनरेशन" की ओर झुकाकर लिखें

"हूबहू पुनरुत्पादित करो" के बजाय "सारांश दो", "पुनर्गठित करो", "अपने शब्दों में दोबारा लिखो", "सिर्फ फर्क दिखाओ" में बदलें। बस शब्दशः मिलान की मांग न करने भर से अक्सर पास हो जाता है।

③ रिट्राई लूप को रोकें

अगर Claude Code एक ही आउटपुट को दोहराता रहे तो Esc से रोक दें। वही निर्देश दोबारा फेंकने के बजाय, शब्दों को बदलने के बाद फिर से शुरू करें।

④ टास्क को बांटें और एक-एक करके बदलें

कौन-सा आउटपुट ट्रिगर बन रहा है यह अलग करने के लिए बड़े एकमुश्त जनरेशन को छोटे टुकड़ों में बांटें। चलती हुई कॉन्फ़िगरेशन से एक-एक वेरिएबल की तुलना करने पर कारण पहचानना आसान होता है।

⑤ गलत पहचान की आधिकारिक रिपोर्ट करें

वैध काम होने के बावजूद बार-बार आए तो Anthropic सपोर्ट से संपर्क करें। आधिकारिक तौर पर भी फिल्टर सुधारने के लिए फीडबैक का स्वागत है।

शब्दों को बदलने के उदाहरण (एक ही मकसद के लिए भी आसानी से पास हो जाता है)

❌ "MIT लाइसेंस का पूरा टेक्स्ट हूबहू LICENSE में लिख दो"
✅ "LICENSE बनाना है। npx license mit चलाकर जनरेट करो"

❌ "इस आधिकारिक डॉक्युमेंट को अक्षरशः हूबहू पेस्ट कर दो"
✅ "इस आधिकारिक डॉक्युमेंट को पढ़कर, मुख्य बिंदुओं को
     अपने शब्दों में बुलेट-पॉइंट सारांश दो। मूल का शब्दशः
     कॉपी नहीं चाहिए"

5. मिलती-जुलती एररों से फर्क कैसे पहचानें

भले ही सब में "रुक गया" जैसा दिखे, कारण मैसेज से पहचाना जा सकता है। स्टेटस या कीवर्ड से फर्क कर लें।

मैसेज / प्रकार असली कारण उपाय
Output blocked by content filtering policy (400) आउटपुट को मौजूदा कॉपीराइट सामग्री का पुनरुत्पादन माना गया शब्दशः कॉपी से बचें, शब्द बदलें / टूल से हासिल करें
Prompt is too long (400) इनपुट कॉन्टेक्स्ट विंडो से ज्यादा हो गया /compact · /clear (व्याख्या)
usage limit reached प्लान का इस्तेमाल कोटा खत्म हो गया रीसेट का इंतज़ार / ऊंचा प्लान (व्याख्या)
529 Overloaded / 500 सर्वर की ओर से अस्थायी अत्यधिक भार / खराबी कुछ समय बाद दोबारा प्रयास (व्याख्या)
आउटपुट बीच में कट जाना max_tokens की आउटपुट सीमा तक पहुंचना आउटपुट सीमा बढ़ाएं / टुकड़ों में जनरेट करें

असमंजस हो तो मैसेज स्ट्रिंग को ही देखकर तय करना सबसे पक्का है। अगर content filtering policy लिखा है तो यह इसी लेख का मामला है, too long हो तो इनपुट का ओवरफ्लो, और usage limit हो तो कोटा खत्म। Claude Code की एररों के बारे में सामान्य जानकारी Claude Code की आम एरर और उनके उपाय में भी संकलित है।

6. दोबारा न हो, इसके लिए चेकलिस्ट

  • लाइसेंस व तयशुदा दस्तावेज़ों को मॉडल से न लिखवाएं, बल्कि टूल या टेम्पलेट से हासिल करें
  • मौजूदा सामग्री को "पुनरुत्पादित" करने के बजाय "सारांश · पुनर्गठन · अपने शब्दों में" कहकर अनुरोध करें
  • प्रॉम्प्ट से "अक्षरशः", "हूबहू", "पूरी तरह मिलता हुआ" जैसे शब्द हटा दें
  • बड़े एकमुश्त जनरेशन को छोटे टुकड़ों में बांटें, ताकि ट्रिगर करने वाले आउटपुट को अलग किया जा सके
  • 400 पर रुकने पर सबसे पहले मैसेज स्ट्रिंग पढ़ें — कारण को गलत समझने (टोकन लिमिट का गलत निदान) से बचें
  • रिट्राई लूप का पता चलते ही Esc से रोकें, और शब्द बदलने के बाद फिर से शुरू करें
  • वैध काम में हुई गलत पहचान की सपोर्ट को रिपोर्ट करें और फिल्टर सुधारने में योगदान दें

सारांश

API Error: 400 Output blocked by content filtering policy का मतलब है कि यह न तो usage limit है और न ही कॉन्टेक्स्ट का ओवरफ्लो — बल्कि Claude जो "आउटपुट" लौटाने वाला था उसे सेफ्टी फिल्टर ने रोक दिया। इसका मुख्य लक्ष्य है मौजूदा कॉपीराइट सामग्री के शब्दशः पुनरुत्पादन को रोकना, और मानक लाइसेंस जनरेशन या "मौजूदा सामग्री से मिलान" वाले कामों में बिना बुरी नीयत के भी गलत पहचान अक्सर होती है। उपाय का मूल सरल है — मॉडल से हूबहू नकल न कराएं, बल्कि उसे जनरेशन · सारांश · टूल से हासिल करने में बदल दें। और 400 पर रुकने पर, सबसे पहले मैसेज स्ट्रिंग पढ़कर कारण को गलत न समझें — बस इतने भर से ज्यादातर मामलों में आगे बढ़ा जा सकता है।

FAQ

Q. क्या इसका मतलब मेरे अकाउंट को चेतावनी मिल गई है?

A. अगर यह एक बार की गलत पहचान है तो नहीं। हालांकि आधिकारिक तौर पर साफ लिखा है कि वाकई कॉपीराइट सामग्री निकालने की बार-बार कोशिश पर चेतावनी या अकाउंट सस्पेंशन हो सकता है। वैध काम में एक बार आने पर घबराने की ज़रूरत नहीं।

Q. MIT लाइसेंस तक न लिख पाना असुविधाजनक नहीं है?

A. लाइसेंस का पूरा टेक्स्ट "मौजूदा तयशुदा टेक्स्ट" है, इसलिए मॉडल से हूबहू नकल कराने के बजाय npx license mit या choosealicense.com से हासिल करना ज्यादा तेज़ और भरोसेमंद है। इससे गलत पहचान भी टल जाती है।

Q. टोकन लिमिट (Prompt is too long) से क्या फर्क है?

A. बिल्कुल अलग है। too long इनपुट के आकार के विंडो से ज्यादा होने का मामला है और /compact आदि से हल होता है। इस बार का content filtering policy आउटपुट की सामग्री का मामला है, और आकार घटाने से ठीक नहीं होता। विस्तार से यहां

Q. जो भी करूं, वैध काम में रुक जाता है। क्या करूं?

A. प्रॉम्प्ट को जनरेशन/सारांश की ओर झुकाकर बदलने और टास्क बांटने के बाद भी दोबारा हो, तो Anthropic सपोर्ट को request id के साथ रिपोर्ट करें। फिल्टर में सुधार लगातार जारी है, और गलत पहचान को साझा करना ही सबसे तेज़ हल की ओर ले जाता है।