अनुमतियाँ और अनुमति मोड
- तीन अनुमति-निर्णयों (allow / ask / deny) का क्या अर्थ है
- अनुमति नियम किसी टूल को पैटर्न से कैसे मिलाते हैं
- छह अनुमति मोड और हर एक का उपयोग कब करें
- auto मोड अब इंटरैक्टिव सत्रों का शुरुआती मोड क्यों है — और इससे बाहर कैसे निकलें
- auto मोड प्रॉम्प्ट की जगह सुरक्षा क्लासिफ़ायर कैसे लगाता है
- सुरक्षा खोए बिना प्रॉम्प्ट घटाने वाली समझदार शुरुआती allowlist कैसे बनाएँ
- प्रोजेक्ट के नियम और व्यक्तिगत अनुमति नियम कहाँ रखें
अनुमतियाँ तय करती हैं कि Claude Code आपसे पूछने के लिए रुके बिना क्या कर सकता है। इन्हें अच्छी तरह सेट करें तो नियंत्रण खोए बिना काम का प्रवाह बना रहता है; बुरी तरह सेट करें तो या तो आप हर चीज़ पर आँख मूँदकर मुहर लगाते हैं या प्रॉम्प्ट में डूब जाते हैं।
तीन निर्णय
हर संभावित क्रिया इनमें से किसी एक पर पहुँचती है:
नियम आमतौर पर किसी टूल को पैटर्न से मिलाते हैं, जैसे allow Bash(npm run test:*) या deny Read(./.env)।
किसी टूल + पैटर्न को allow करें
Bash(npm run test:*)
किसी टूल + पैटर्न को deny करें
Read(./.env)
अनुमति मोड
मोड पूरे सत्र का समग्र रुख तय करता है। कुल छह हैं। आम मोड Shift+Tab से बदलते रहें, या सेटिंग्स में permissions.defaultMode सेट करें।
| मोड | बिना पूछे चलता है | कब इस्तेमाल करें |
|---|---|---|
default (Manual के रूप में दिखता है) | सिर्फ़ पढ़ना | रोज़मर्रा का काम, संवेदनशील बदलाव |
acceptEdits | पढ़ना, फ़ाइल संपादन, आम फ़ाइलसिस्टम कमांड | भरोसेमंद, अच्छी तरह सीमित संपादन सत्र |
plan | पढ़ना, और auto मोड उपलब्ध होने पर क्लासिफ़ायर से मंज़ूर कमांड; आपका सोर्स कभी संपादित नहीं करता | बड़े/जोखिम भरे काम — देखें Plan Mode |
auto (v2.1.283 से इंटरैक्टिव सत्रों का शुरुआती मोड) | सब कुछ, सुरक्षा क्लासिफ़ायर से जाँचा हुआ | लंबे काम, जहाँ प्रॉम्प्ट की थकान ही असली जोखिम है |
dontAsk | आपकी वर्किंग डायरेक्टरी में फ़ाइल पढ़ना और पहले से मंज़ूर टूल; जो भी प्रॉम्प्ट करवाता, वह deny हो जाता है | कसकर बंद किए गए CI और स्क्रिप्ट |
bypassPermissions | सब कुछ, बिना किसी जाँच के | सिर्फ़ सैंडबॉक्स/कंटेनर — सीक्रेट वाली मशीन पर कभी नहीं |
auto मोड अब Claude Code का डिफ़ॉल्ट है
Claude Code v2.1.283 से, auto हर प्लान और प्रोवाइडर पर इंटरैक्टिव टर्मिनल और VS Code सत्रों का अंतर्निहित शुरुआती मोड है। पहले के संस्करणों में, 14 अगस्त 2026 से, यह नए सत्रों के लिए सिर्फ़ Pro, Max और Team प्लान पर डिफ़ॉल्ट था। Anthropic का तर्क (1,000 से अधिक सशुल्क उपयोगकर्ताओं पर उनके अपने परीक्षण से): क्लासिफ़ायर ने 89% हानिकारक क्रियाएँ पकड़ीं, जबकि मैनुअल समीक्षा ने 13.6% — क्योंकि आदी हो चुके उपयोगकर्ता लगभग 97% मैनुअल प्रॉम्प्ट बिना पढ़े स्वीकार कर लेते थे।
दो अपवाद आपके इरादे को सुरक्षित रखते हैं:
- अगर आपने अपनी यूज़र सेटिंग्स में
permissions.defaultModeसेट किया है, तो वह वैसा ही रहता है, जब तक आप ऐप के भीतर एक बार दिखने वाला स्विच प्रॉम्प्ट स्वीकार न करें। - अगर डिफ़ॉल्ट आपका संगठन प्रबंधित करता है (Team/Enterprise की managed settings), तो अपने आप कुछ नहीं बदलता।
आप सत्र के बीच में भी Shift+Tab से हमेशा मोड बदल सकते हैं। उन प्लान पर पहले से लागू एक संबंधित बदलाव: auto मोड जो क्लासिफ़ायर कॉल करता है, वे अब आपकी उपयोग सीमाओं में नहीं गिने जाते।
जल्दी ऑप्ट-इन करें (14 अगस्त से पहले) — auto को डिफ़ॉल्ट बनाएँ
~/.claude/settings.json
{
"permissions": {
"defaultMode": "auto"
}
}14 अगस्त के बाद पुराने प्रॉम्प्ट वाले व्यवहार पर टिके रहें
~/.claude/settings.json
{
"permissions": {
"defaultMode": "default"
}
}auto मोड असल में कैसे काम करता है
auto हर चीज़ पर प्रॉम्प्ट करने और सुरक्षा बंद कर देने के बीच का रास्ता है। आपसे पूछने के बजाय, एक अलग क्लासिफ़ायर मॉडल हर क्रिया को चलने से पहले जाँचता है और उस हर चीज़ को रोक देता है जो आपके कहे से आगे बढ़ती है, ऐसे इन्फ्रास्ट्रक्चर को छूती है जिसे वह पहचानता नहीं, या जो Claude के अभी पढ़े किसी शत्रुतापूर्ण कंटेंट से प्रेरित लगती है। स्पष्ट ask नियम अब भी रुककर आपसे पूछते हैं।
यह curl | bash, force push, प्रोडक्शन डिप्लॉय और माइग्रेशन, अनसुलझे वेरिएबल पर rm -rf, ट्रांसक्रिप्ट से छेड़छाड़, बिना कमिट किया काम मिटाने वाले विनाशकारी git कमांड, और बाहरी एंडपॉइंट को सीक्रेट भेजने जैसी चीज़ें रोकता है — जबकि रोज़मर्रा का काम (लोकल संपादन, घोषित डिपेंडेंसी इंस्टॉल करना, केवल-पढ़ने वाला HTTP, अपनी ब्रांच पर push) सीधे चलने देता है। अगर वह एक ही क्रिया को बार-बार रोकता है, तो auto मोड रुक जाता है और प्रॉम्प्ट करना आपको लौटा देता है।
auto मोड सुरक्षा की गारंटी नहीं है — यह प्रॉम्प्ट घटाता है, संवेदनशील कार्यों की समीक्षा की ज़रूरत ख़त्म नहीं करता। उपलब्धता आपके प्लान, मॉडल और (Team/Enterprise पर) एडमिन टॉगल पर निर्भर करती है। अगर आप सचमुच बिना निगरानी चलाते हैं (cron, क्लाउड सत्र, CI), तो इसे Hardening Autonomous Runs के साथ जोड़ें — auto फिर भी bypassPermissions नहीं है।
- bypassPermissions सैंडबॉक्स में ही चलना चाहिए। अपनी असली मशीन पर सारे प्रॉम्प्ट बंद करके चलाने से ही एजेंट ऐसी चीज़ छू बैठता है जो उसे नहीं छूनी चाहिए। इसे डिस्पोज़ेबल वातावरण के लिए रखें — अगर आप असल में कम प्रॉम्प्ट चाहते हैं, तो इसकी जगह auto मोड इस्तेमाल करें। /docs/security/hardening-autonomous-runs पर Hardening Autonomous Runs देखें।
समझदार शुरुआती allowlist
लक्ष्य: सुरक्षित और दोहराई जाने वाली चीज़ें पहले से allow करें; विनाशकारी चीज़ें ask या deny पर रखें।
- फ़ाइलें पढ़ना, अपने test/lint/build कमांड चलाना, git status/diff।
- डिपेंडेंसी इंस्टॉल करना, प्रोजेक्ट के बाहर फ़ाइलें लिखना, नेटवर्क कॉल।
- सीक्रेट फ़ाइलें पढ़ना (.env, कुंजी फ़ाइलें), force-push, rm -rf।
प्रोजेक्ट के नियम settings.json (साझा) में और व्यक्तिगत ओवरराइड settings.local.json में रखें।
- इसे अपने प्रॉम्प्ट से सीखने दें: एक ही सुरक्षित कमांड को कुछ बार मंज़ूर करें और आपको ठीक पता चल जाएगा कि allowlist में क्या जोड़ना है — बार-बार आने वाले प्रॉम्प्ट एक बार के नियम में बदल जाते हैं।
- तीन निर्णय: allow (प्रॉम्प्ट नहीं), ask (डिफ़ॉल्ट — रुकें और पुष्टि करें), deny (कभी नहीं)।
- नियम किसी टूल को पैटर्न से मिलाते हैं, जैसे Bash(npm run test:*) या Read(./.env)।
- छह मोड सत्र का रुख तय करते हैं: default (Manual), acceptEdits, plan, auto, dontAsk, bypassPermissions।
- v2.1.283 से, auto हर प्लान पर इंटरैक्टिव टर्मिनल और VS Code सत्रों का शुरुआती मोड है; आपका खुद सेट किया defaultMode अपनी जगह रहता है, और संगठन द्वारा प्रबंधित डिफ़ॉल्ट अछूते रहते हैं।
- auto मोड आपसे पूछने के बजाय हर क्रिया सुरक्षा क्लासिफ़ायर से जाँचता है — प्रॉम्प्ट की थकान के लिए यही औज़ार है, bypassPermissions नहीं।
- allowlist बनाएँ: सुरक्षित + दोहराई जाने वाली चीज़ें allow, मध्यम जोखिम पर ask, विनाशकारी पर deny।
- साझा नियम settings.json में जाते हैं; व्यक्तिगत ओवरराइड settings.local.json में।
खुद को परखें
0/6आगे
- settings.json: कॉन्फ़िगरेशन सिस्टम
- Hooks — allow/deny से आगे जाकर नियम निर्धारक ढंग से लागू करें
- Sandbox Credential Masking —
gh,npmऔरawsको प्रमाणित होने दें, जबकि सैंडबॉक्स वाला कमांड असली सीक्रेट कभी अपने पास न रखे - सुरक्षा और ज़िम्मेदार उपयोग