अनुमतियाँ और अनुमति मोड
- तीन अनुमति निर्णयों (allow / ask / deny) का क्या अर्थ है
- अनुमति नियम कैसे एक टूल और एक पैटर्न से मेल खाते हैं
- छह अनुमति मोड और प्रत्येक का उपयोग कब करें
- auto मोड कैसे प्रॉम्प्ट्स की जगह एक सुरक्षा क्लासिफ़ायर का उपयोग करता है
- ऐसी समझदार शुरुआती allowlist कैसे बनाएँ जो सुरक्षा खोए बिना प्रॉम्प्ट कम करे
- प्रोजेक्ट बनाम व्यक्तिगत अनुमति नियमों को कहाँ संग्रहीत करें
अनुमतियाँ यह तय करती हैं कि Claude Code आपसे पूछने के लिए रुके बिना क्या कर सकता है। इन्हें अच्छी तरह ट्यून करें तो आपको नियंत्रण खोए बिना प्रवाह मिलता है; इन्हें बुरी तरह ट्यून करें तो या तो आप हर चीज़ पर रबर-स्टैम्प लगाते हैं या प्रॉम्प्ट्स में डूब जाते हैं।
तीन निर्णय
हर संभावित क्रिया इनमें से किसी एक पर परिणत होती है:
नियम आमतौर पर एक टूल और एक पैटर्न से मेल खाते हैं, जैसे Bash(npm run test:*) को allow करना या Read(./.env) को deny करना।
एक टूल + पैटर्न को allow करें
Bash(npm run test:*)
एक टूल + पैटर्न को deny करें
Read(./.env)
अनुमति मोड
एक मोड एक सत्र के लिए समग्र स्थिति निर्धारित करता है। छह मोड हैं। सामान्य मोड्स के बीच Shift+Tab से चक्र करें, या सेटिंग्स में permissions.defaultMode सेट करें।
| मोड | बिना पूछे क्या चलता है | कब उपयोग करें |
|---|---|---|
default (Manual के रूप में दिखाया गया) | केवल पठन | रोज़मर्रा का काम, संवेदनशील बदलाव |
acceptEdits | पठन, फ़ाइल संपादन, सामान्य फ़ाइल-सिस्टम कमांड | एक विश्वसनीय, अच्छी तरह सीमित संपादन सत्र |
plan | केवल पठन; प्रस्ताव देता है, कभी संपादन नहीं करता | बड़े/जोखिम भरे कार्य — देखें Plan Mode |
auto | सब कुछ, एक सुरक्षा क्लासिफ़ायर द्वारा जाँचा गया | लंबे कार्य जहाँ असली जोखिम प्रॉम्प्ट-थकान है |
dontAsk | केवल पूर्व-अनुमोदित टूल; बाकी सब कुछ deny | लॉक्ड-डाउन CI और स्क्रिप्ट्स |
bypassPermissions | सब कुछ, कोई जाँच नहीं | केवल सैंडबॉक्स/कंटेनर — सीक्रेट्स वाली मशीन पर कभी नहीं |
Auto मोड
auto हर चीज़ के लिए प्रॉम्प्ट करने और सुरक्षा बंद कर देने के बीच का मध्य मार्ग है। आपसे पूछने के बजाय, एक अलग क्लासिफ़ायर मॉडल हर क्रिया को चलने से पहले परखता है और ऐसी किसी भी चीज़ को ब्लॉक कर देता है जो आपके कहे से आगे बढ़ जाती है, ऐसे इंफ़्रास्ट्रक्चर को छूती है जिसे वह पहचानता नहीं, या ऐसी लगती है मानो Claude द्वारा अभी पढ़ी गई शत्रुतापूर्ण सामग्री से प्रेरित हो। स्पष्ट ask नियम फिर भी रुककर आपसे पूछते हैं।
यह curl | bash, force push, प्रोडक्शन डिप्लॉय और माइग्रेशन, तथा बाहरी एंडपॉइंट्स को सीक्रेट्स भेजने जैसी चीज़ों को ब्लॉक करता है — जबकि रोज़मर्रा के काम (स्थानीय संपादन, घोषित डिपेंडेंसी इंस्टॉल करना, केवल-पठन HTTP, अपनी ब्रांच पर पुश करना) को सीधे चलने देता है। यदि यह एक ही क्रिया को बार-बार ब्लॉक करता है, तो auto मोड रुक जाता है और प्रॉम्प्ट करने की ज़िम्मेदारी वापस आपको सौंप देता है।
Auto मोड कोई सुरक्षा गारंटी नहीं है — यह प्रॉम्प्ट्स कम करता है, यह संवेदनशील ऑपरेशनों की समीक्षा की आवश्यकता को समाप्त नहीं करता। उपलब्धता आपके प्लान, मॉडल और (Team/Enterprise पर) एक एडमिन टॉगल पर निर्भर करती है।
- bypassPermissions का स्थान एक सैंडबॉक्स में है। अपनी वास्तविक मशीन पर सभी प्रॉम्प्ट बंद करके चलाना ही वह तरीका है जिससे एक एजेंट किसी ऐसी चीज़ को छू बैठता है जिसे नहीं छूना चाहिए। इसे डिस्पोज़ेबल वातावरण के लिए सुरक्षित रखें — यदि आप वास्तव में कम प्रॉम्प्ट चाहते हैं, तो इसके बजाय auto मोड का उपयोग करें। /docs/security/hardening-autonomous-runs पर स्वायत्त रन को मज़बूत बनाना देखें।
एक समझदार शुरुआती allowlist
लक्ष्य: सुरक्षित, दोहराव वाली चीज़ों को पूर्व-अनुमति दें; विनाशकारी चीज़ों को ask या deny पर रखें।
- फ़ाइलें पढ़ें, अपने test/lint/build कमांड चलाएँ, git status/diff।
- डिपेंडेंसी इंस्टॉल करना, प्रोजेक्ट के बाहर फ़ाइलें लिखना, नेटवर्क कॉल।
- सीक्रेट फ़ाइलें पढ़ना (.env, key फ़ाइलें), 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।
- auto मोड आपसे प्रॉम्प्ट करने के बजाय हर क्रिया को एक सुरक्षा क्लासिफ़ायर से जाँचता है — प्रॉम्प्ट-थकान का समाधान वही है, bypassPermissions नहीं।
- एक allowlist बनाएँ: सुरक्षित + दोहराव वाली चीज़ों को allow करें, मध्यम-जोखिम के लिए ask करें, विनाशकारी को deny करें।
- साझा नियम settings.json में जाते हैं; व्यक्तिगत ओवरराइड्स settings.local.json में।
स्वयं जाँचें
0/5आगे
- settings.json: कॉन्फ़िग प्रणाली
- हुक्स — allow/deny से परे, नियमों को नियतात्मक रूप से लागू करें
- सुरक्षा और ज़िम्मेदार उपयोग