अभ्यास
पूरी अनुमतियाँ, बिना अपनी मशीन बिगाड़े
आपके दूर रहने पर एजेंट को बेकार यही मंज़ूरी अनुरोध बनाते हैं, और लैपटॉप पर इन्हें बंद करना ही वह तरीक़ा है जिससे लोग पूरी दोपहर गँवा देते हैं। इसका इलाज हिम्मत नहीं है। इलाज है एजेंट को ऐसी जगह रखना जिसे दोबारा बनाने में आपको कोई एतराज़ न हो।
छोटा जवाब
--dangerously-skip-permissions हर tool call को बिना पूछे चलाता है। Anthropic कहता है कि इसे सिर्फ़ अलग-थलग container या VM में इस्तेमाल करें, और root के रूप में Claude Code इसे मना कर देता है। इसे non-root यूज़र के रूप में किसी ऐसे सर्वर या container पर चलाएँ जिसे फेंका जा सके और जिसमें कोई प्रोडक्शन secret न हो। या auto मोड इस्तेमाल करें, जिसमें एक classifier सुरक्षित ऐक्शन मंज़ूर करता है। Anthropic का मोबाइल ऐप किसी सेशन को bypass में नहीं बदल सकता।
Claude Code कोई भी असर डालने वाला काम करने से पहले पूछता है। डेस्क पर यह ठीक है: आप एक नज़र डालते हैं, मंज़ूर करते हैं और आगे बढ़ते हैं। डेस्क से दूर होने पर यह काम रोक देता है। एजेंट बीस मिनट के काम के तीसरे क़दम पर रुककर एक टैप का इंतज़ार करता है जो चालीस मिनट बाद आता है, जबकि काम सौंपने का पूरा मक़सद यही था कि आप देख नहीं रहे होंगे।
इसलिए लोग --dangerously-skip-permissions उठा लेते हैं। ग़लत मशीन पर यह फ़्लैग ख़तरनाक है और सही मशीन पर समझदारी भरा, और फ़र्क़ इस बात का नहीं कि आप कितने सावधान हैं। फ़र्क़ इस बात का है कि जब एजेंट कुछ ऐसा करे जो आपने नहीं चाहा था, तब वह किन चीज़ों तक पहुँच सकता है। यह पेज बताता है कि फ़्लैग असल में क्या करता है, यह root पर क्यों नहीं चलता, कौन-सा सेटअप इसे जायज़ बनाता है, और Codex, OpenCode, Grok Build और Antigravity में इसके समकक्ष क्या हैं।
bypass असल में क्या होने देता है
Claude Code में छह अनुमति मोड हैं। Anthropic का अनुमति मोड वाला पेज उन्हें इस तरह बताता है। टेबल दस्तावेज़ों के क्रम में है: default कॉन्फ़िग में Manual मोड का नाम है, वह मोड नहीं जिसमें सेशन शुरू होता है।
| मोड | बिना पूछे क्या चलता है | Anthropic के अनुसार "किसके लिए सबसे अच्छा" |
|---|---|---|
default (Manual) | सिर्फ़ पढ़ना | संवेदनशील काम |
acceptEdits | पढ़ना, फ़ाइल एडिट, आम फ़ाइलसिस्टम कमांड | उस कोड पर बार-बार काम जिसे आप रिव्यू कर रहे हैं |
plan | पढ़ना, साथ में auto मोड उपलब्ध हो तो classifier से मंज़ूर कमांड | बदलने से पहले खोजबीन |
auto | सब कुछ, बैकग्राउंड सुरक्षा जाँच के साथ | लंबे काम, कम अनुरोध |
dontAsk | पढ़ना और पहले से मंज़ूर टूल; बाक़ी सब अस्वीकार | कसकर बंद CI |
bypassPermissions | सब कुछ | सिर्फ़ अलग-थलग container और VM |
bypass हर tool call तुरंत चलाता है, जिसमें .git और Claude के अपने कॉन्फ़िग जैसे सुरक्षित पाथ पर लिखना भी शामिल है। कुछ चीज़ें फिर भी लागू रहती हैं:
- आपकी सेटिंग्स के deny नियम हर मोड में रोकते हैं, bypass समेत। उसमें allow नियमों का कोई असर नहीं होता।
- स्पष्ट ask नियम फिर भी पूछते हैं।
- अहम पाथ पर निशाना साधे
rmऔरrmdirफिर भी पूछते हैं: फ़ाइलसिस्टम का root, शीर्ष-स्तर की डायरेक्टरी, आपकी होम डायरेक्टरी, और वर्किंग डायरेक्टरी और उसके पैरेंट।
bypass आपको prompt injection या पूरे आत्मविश्वास से चलाई गई ग़लत कमांड से कोई बचाव नहीं देता। Anthropic के दस्तावेज़ साफ़ कहते हैं: इसे सिर्फ़ ऐसे अलग-थलग एनवायरनमेंट में इस्तेमाल करें जहाँ Claude Code आपके होस्ट को नुक़सान न पहुँचा सके।
Claude Code v2.1.283 से इंटरैक्टिव टर्मिनल और VS Code सेशन का बिल्ट-इन शुरुआती मोड auto है। एक दूसरा मॉडल हर ऐक्शन की समीक्षा करता है और जोखिम भरे ऐक्शन रोकता है, जैसे क्लाउड स्टोरेज पर बड़े पैमाने पर डिलीट, force push, या मंज़ूरियाँ और sandbox बंद करके कोई दूसरा एजेंट लूप शुरू करना। यह हर जाँच हटाए बिना ज़्यादातर अनुरोध हटा देता है। इसके लिए सपोर्टेड मॉडल चाहिए, और कोई संगठन इसे बंद कर सकता है। अगर आपके काम के लिए auto मोड काफ़ी है, तो शायद आपको bypass की ज़रूरत ही न हो।
मिलते-जुलते दो फ़्लैग
--dangerously-skip-permissionsसेशन को bypass में शुरू करता है। यह--permission-mode bypassPermissionsके बराबर है।--allow-dangerously-skip-permissionsसिर्फ़ bypass को Shift+Tab चक्र में जोड़ता है। सेशन सामान्य मोड में शुरू होता है, और जब आप चाहें तब bypass में जाते हैं।
दूसरा इसलिए मायने रखता है कि जो सेशन इसे चालू करके शुरू नहीं हुआ, उसमें आप bypass में नहीं जा सकते। अगर बाद में इसकी ज़रूरत पड़ सकती है, तो फ़ैसला शुरू करते समय ही करना होगा। --allow- वाला रूप इसका सावधान तरीक़ा है: सेशन तब तक सामान्य व्यवहार करता है जब तक आप जान-बूझकर न बदलें।
bypass चालू करके पहली इंटरैक्टिव शुरुआत पर एक चेतावनी डायलॉग दिखता है। उसे स्वीकार करने पर ~/.claude/settings.json में skipDangerousModePermissionPrompt: true लिखा जाता है; मना करने पर Claude Code बंद हो जाता है। -p वाले नॉन-इंटरैक्टिव रन डायलॉग छोड़ देते हैं। एडमिनिस्ट्रेटर मैनेज्ड सेटिंग्स में permissions.disableBypassPermissionsMode: "disable" से सबके लिए यह मोड रोक सकते हैं।
यह root पर क्यों फ़ेल होता है
Linux और macOS पर, Claude Code root के रूप में या sudo के तहत bypass मोड में शुरू होने से मना कर देता है:
--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons
Claude Code जिस sandbox को पहचानता है, उसके अंदर यह जाँच छोड़ दी जाती है, और इसी वजह से Anthropic का dev container इसे non-root यूज़र के रूप में चलाता है। किसी सादे VPS पर जहाँ आप root के रूप में लॉग इन करते हैं, पहले एक सामान्य यूज़र बनाएँ। हमारी VPS सेटअप गाइड में इसकी तीन कमांड हैं।
कई अलग-अलग सर्वरों पर Maude के daemon के तहत Claude Code चलाते हुए हमने तीन व्यावहारिक बातें सीखीं:
- root के रूप में
--allow-वाला रूप भी फ़ेल हुआ। Claude Code 2.1.x के साथ हमारे टेस्ट में प्रोसेस सिर्फ़ bypass को चक्र से बाहर रखने के बजाय शुरू होते ही बंद हो गया। जो भी रैपर यह फ़्लैग जोड़ता है, उसे पहले यूज़र ID जाँचनी चाहिए, वरना root सर्वर पर हर सेशन मर जाता है। - पुराने वर्ज़न फ़्लैग को सीधे ठुकरा देते हैं। जो CLI इस फ़्लैग को नहीं जानती, वह भी इसी तरह बंद हो जाती है। फ़्लैग देने से पहले जाँचें कि वह
claude --helpमें दिखता है। - नई मशीन पर टेस्ट करें। आपकी अपनी
~/.claude/settings.jsonमें शायद उसी दिन सेskipDangerousModePermissionPromptहै जब आपने चेतावनी पर क्लिक करके आगे बढ़ गए थे। नए सर्वर पर वह डायलॉग प्रॉम्प्ट से पहले आता है और बिना निगरानी वाला सेशन उसी पर अटका रहता है। अपने लैपटॉप पर नहीं, किसी साफ़ container में टेस्ट करें।
फेंके जा सकने वाले सर्वर का तरीक़ा
कहीं भी अनुमतियों में ढील देने से पहले एक सवाल पूछें: अगर यह प्रोसेस अभी कोई मनमानी विनाशकारी कमांड चला दे, तो मैं क्या खोऊँगा?
एक आम लैपटॉप पर ईमानदार जवाब असहज करने वाला है: आपकी SSH कुंजियाँ, ~/.aws और ~/.config में क्लाउड क्रेडेंशियल, चालू सेशन वाली ब्राउज़र प्रोफ़ाइल, प्रोडक्शन URL वाली एक .env, और आपकी चेक आउट की हुई हर दूसरी रिपॉज़िटरी। एक प्रोजेक्ट वाले फेंके जा सकने वाले VPS पर जवाब है वह प्रोजेक्ट, जो वैसे भी push हो चुका है, साथ में दोबारा बनाने का एक घंटा। यह ऐसा जोखिम है जिसे आप स्वीकार कर सकते हैं। एजेंट को रखने की तीन जगहें ये हैं:
आपकी अपनी मशीन पर एक container
यह सबसे सस्ता और सबसे पास का विकल्प है। Docker या OrbStack से एक Linux container चलाएँ, उसके अंदर non-root यूज़र के रूप में Claude Code इंस्टॉल करें, और सिर्फ़ वही प्रोजेक्ट माउंट करें जिसे आप उससे छुआना चाहते हैं। अपनी होम डायरेक्टरी माउंट न करें, होस्ट के क्रेडेंशियल अंदर न भेजें, और --privileged इस्तेमाल न करें या Docker socket माउंट न करें, क्योंकि ये दोनों होस्ट वापस सौंप देते हैं।
एक समर्पित VPS
ज़्यादातर लोग इसी पर टिकते हैं: एक छोटी मशीन जिस पर एक या दो प्रोजेक्ट चलते हैं और कुछ नहीं। यह हमेशा चालू रहती है, इसलिए आपकी अपनी मशीनें बंद होने पर भी काम चलता रहता है। अगर कभी इससे समझौता हो जाए, तो आप इसे मिटाकर दूसरी बना लेते हैं। इसे दोबारा बनाना उबाऊ रूप से आसान रखें — एक छोटी सेटअप स्क्रिप्ट, न कि साल भर हाथ से ट्यून की गई मशीन। VPS ख़रीदारी गाइड साइज़ के बारे में बताती है।
एक अस्थायी क्लाउड sandbox
Anthropic के क्लाउड सेशन हर काम को एक अलग-थलग VM में चलाते हैं, git क्रेडेंशियल sandbox के बाहर रखे जाते हैं और नेटवर्क ऐक्सेस डिफ़ॉल्ट रूप से सीमित होता है। यह बिना किसी रखरखाव के मज़बूत अलगाव है। लेकिन वहाँ bypass उपलब्ध नहीं है। क्लाउड सेशन Accept edits, Plan और Auto देते हैं, और रिपॉज़िटरी की सेटिंग्स में सेट bypassPermissions को अनदेखा करते हैं।
मशीन से दूर रखने लायक़ secrets
- प्रोडक्शन क्रेडेंशियल। इसे staging या किसी लोकल कॉपी की ओर रखें। आप जिस विफलता से बच रहे हैं वह बदनीयती नहीं है; वह किसी ऐसे connection string पर आत्मविश्वास भरी ग़लती है जो बस इधर-उधर पड़ा था।
- आपकी निजी SSH कुंजी। सर्वर को उसकी अपनी deploy कुंजी या एक बारीक दायरे वाला टोकन दें, सिर्फ़ उन रिपॉज़िटरी तक सीमित जिनकी उसे ज़रूरत है। उसमें SSH agent forwarding भी इस्तेमाल न करें: इससे आपके जुड़े रहने तक मशीन को आपकी कुंजियाँ उधार मिल जाती हैं।
- व्यापक क्लाउड टोकन। कोई एडमिन AWS कुंजी या पूरे संगठन वाला GitHub टोकन नहीं। अगर किसी काम को इसकी ज़रूरत हो, तो उसका दायरा सीमित करें और उसे एक्सपायर होने दें।
- कुछ भी जो सिर्फ़ वहीं मौजूद हो। बार-बार push करें, ताकि सर्वर खोने से आपका ऐसा कुछ न जाए जिसे आप फिर से न बना सकें।
एक क्रेडेंशियल को मशीन पर रहना ही पड़ता है: एजेंट का अपना लॉगिन। Claude Code इसे ~/.claude/.credentials.json में रखता है, इसलिए उस यूज़र के रूप में शेल वाला कोई भी व्यक्ति आपका प्लान इस्तेमाल कर सकता है। एजेंट को उसका अपना यूज़र देने की यह एक और वजह है।
Codex और दूसरे एजेंट में समकक्ष
हर कोडिंग एजेंट में इस स्विच का अपना रूप है, और सबका मतलब एक जैसा नहीं है:
| एजेंट | सारे अनुरोध छोड़ें | सुरक्षित बीच का रास्ता |
|---|---|---|
| Claude Code | --dangerously-skip-permissions (root पर मना) | auto मोड; acceptEdits; deny नियम |
| Codex | --dangerously-bypass-approvals-and-sandbox, उपनाम --yolo: "सिर्फ़ बाहरी रूप से मज़बूत किए गए एनवायरनमेंट के अंदर इस्तेमाल करें" | on-request मंज़ूरियों के साथ --sandbox workspace-write (नेटवर्क डिफ़ॉल्ट रूप से बंद)। --full-auto अब इसी का deprecated उपनाम है |
| OpenCode | opencode --auto (deny नियम फिर भी लागू) | opencode.json में हर टूल के लिए allow / ask / deny। ध्यान दें कि ज़्यादातर टूल का डिफ़ॉल्ट allow है |
| Grok Build | grok --always-approve (deny नियम और PreToolUse hooks फिर भी लागू) | auto मोड (एक classifier सुरक्षित टूल मंज़ूर करता है); एक अलग sandbox मंज़ूर किए गए call को सीमित करता है |
| Antigravity CLI | agy --dangerously-skip-permissions | allow, ask और deny सूचियाँ (deny जीतता है); डिफ़ॉल्ट प्रीसेट macOS और Linux पर टर्मिनल कमांड को बिना नेटवर्क के sandbox में चलाता है |
स्रोत: Codex CLI रेफ़रेंस और मंज़ूरियाँ और सुरक्षा, OpenCode अनुमतियाँ, Grok Build अनुमतियाँ, Antigravity अनुमतियाँ और Google का Antigravity CLI codelab, अक्टूबर 2026 में जाँचे गए। Codex और Antigravity दोनों डिफ़ॉल्ट रूप से sandbox करते हैं, इसलिए उनके अनुरोध बंद करना और उनका sandbox बंद करना अलग-अलग फ़ैसले हैं। sandbox बंद करना ही वह फ़ैसला है जिसके लिए फेंकी जा सकने वाली मशीन चाहिए।
क्या मैं फ़ोन से bypass चालू कर सकता हूँ?
Claude ऐप से नहीं। Anthropic के मोबाइल दस्तावेज़ कहते हैं कि आप ऐप से Bypass permissions नहीं चुन सकते, न क्लाउड सेशन के लिए न Remote Control के लिए, और ऐप से Remote Control में Auto भी नहीं मिलता। एक सामान्य-उद्देश्य वाले क्लाइंट के लिए यह समझदारी भरा डिफ़ॉल्ट है।
Maude दूसरी स्थिति के लिए बना है — एक सर्वर जो आपका है और जिसे आप दोबारा बना सकते हैं — इसलिए यह हर एजेंट का फ़ुल-ऐक्सेस मोड, एजेंट के दूसरे मोड के बगल में "yolo" के रूप में देता है। Claude के लिए यह तभी लागू होता है जब daemon non-root यूज़र के रूप में चलता हो और इंस्टॉल किया गया Claude Code इस फ़्लैग को सपोर्ट करता हो। वरना सेशन सामान्य मोड में रहता है। Maude सेशन को सामान्य मोड में शुरू करता है और शुरू होने के बाद bypass में बदलता है, कभी भी स्पॉन के समय नहीं। सिर्फ़-root वाले सर्वर पर ऐप का एक बटन आपके लिए non-root यूज़र बना देता है। आप हर एजेंट के लिए डिफ़ॉल्ट मोड सेट कर सकते हैं, या हर सेशन में बदल सकते हैं।
पूरी अनुमतियाँ एजेंट कहाँ चलता है का फ़ैसला हैं, कोई जोखिम सेटिंग नहीं। Claude Code को non-root यूज़र पर, ऐसी मशीन पर रखें जिसमें चुराने लायक़ कुछ न हो और जिसे आप दोबारा न बना सकें ऐसा कुछ न हो, और आप उसे बिना चिंता के बिना निगरानी चलने दे सकते हैं। उसे उस मशीन पर छोड़ दें जिसमें आपकी कुंजियाँ और क्लाइंट का काम है, तो कितनी भी सावधानी इसे अच्छा सौदा नहीं बना सकती।
इसे फ़ोन से चलाएँ
अगर आपने फेंका जा सकने वाला सर्वर सेट कर लिया है, तो फ़ोन पर Claude Code बताता है कि Maude उसे वहाँ कैसे चलाता है। फ़ोन से एजेंट की अनुमतियाँ मंज़ूर करना उलटा तरीक़ा बताता है: अनुरोध चालू रखना और नोटिफ़िकेशन से उनका जवाब देना।
अक्सर पूछे जाने वाले सवाल
क्या --dangerously-skip-permissions सुरक्षित है?
यह root पर क्यों फ़ेल होता है?
--allow-dangerously-skip-permissions देने पर भी प्रोसेस शुरू होते ही बंद हो गया।Codex में इसका समकक्ष क्या है?
codex --dangerously-bypass-approvals-and-sandbox, जिसे --yolo भी लिखा जाता है, जो मंज़ूरियाँ और sandbox दोनों बंद कर देता है। OpenAI कहता है कि इसे सिर्फ़ बाहरी रूप से मज़बूत किए गए एनवायरनमेंट के अंदर इस्तेमाल करें। कम रुकावट वाला डिफ़ॉल्ट on-request मंज़ूरियों के साथ --sandbox workspace-write है। पुराना --full-auto deprecated है और चेतावनी दिखाता है।क्या मैं फ़ोन से bypass चालू कर सकता हूँ?
skip-permissions वाले दो फ़्लैग में क्या फ़र्क़ है?
--dangerously-skip-permissions सेशन को bypass मोड में शुरू करता है। --allow-dangerously-skip-permissions उसे सामान्य मोड में शुरू करता है और सिर्फ़ bypass को Shift+Tab चक्र में जोड़ता है, ताकि आप बाद में उसमें जा सकें। जो सेशन इनमें से किसी के बिना शुरू हुआ, उसमें आप bypass में बिल्कुल नहीं जा सकते।क्या बदला
- — दोबारा लिखा गया: root पर पाबंदी, --allow-dangerously-skip-permissions बनाम --dangerously-skip-permissions, डिफ़ॉल्ट बीच के रास्ते के रूप में auto मोड, bypass क्या फिर भी रोकता है, Codex/OpenCode/Grok Build/Antigravity के समकक्ष, और Anthropic का मोबाइल ऐप और Maude क्या करने देते हैं।
- — पहली बार प्रकाशित।