'Approve' वर क्लिक करणे थांबवा: Claude Code CLI च्या परवानग्या (Permissions) कशा कस्टमाइझ करायच्या

Claude Code सोबत माझे पहिले काम करताना, मी कामाचा आढावा घेण्यापेक्षा "Approve" वर क्लिक करण्यात जास्त वेळ घालवला.

प्रत्येक फाईल वाचणे. प्रत्येक git status. प्रत्येक कमांड.

शेवटी, मी चाळीस प्रॉम्प्ट्सवर क्लिक केले होते. सुरुवातीच्या तुलनेत मला झालेल्या बदलांवर कमी विश्वास वाटू लागला. परवानगी प्रणालीमुळे (permission system) मी न वाचता प्रत्येक गोष्टीला 'rubber-stamp' (बिनधास्त मान्यता देणे) करण्याची सवय लावून घेतली होती.

तुम्ही परवानग्या अशा प्रकारे कॉन्फिगर केल्या पाहिजेत की तुम्ही फक्त महत्त्वाच्या गोष्टींनाच मान्यता द्याल.

Claude Code हे केवळ चॅट विंडो नाही. ते फाईल्स वाचते, फाईल्स लिहिते आणि शेल कमांड्स (shell commands) चालवते. "सर्व काही मंजूर करा" (approve everything) हा दृष्टिकोन धोकादायक आहे.

जेव्हा कोणतीही विशिष्ट नियम नसतो, तेव्हा Claude कशा प्रकारे वागेल हे 'Modes' ठरवतात.

• default: नवीन प्रकल्पांसाठी सुरक्षित. Reads: Auto. Edits: Asks. Bash: Asks. • plan: कोड रिव्ह्यूसाठी सर्वोत्तम. Reads: Auto. Edits: Blocked. Bash: Blocked. • acceptEdits: ॲक्टिव्ह कोडिंगसाठी सर्वोत्तम. Reads: Auto. Edits: Auto. Bash: Asks. • bypassPermissions: CI/CD साठी सर्वोत्तम. Reads: Auto. Edits: Auto. Bash: Auto.

तुम्ही /permissions कमांड वापरून मोड बदलू शकता.

कॉन्फिगरेशन एका श्रेणीबद्ध (hierarchy) पद्धतीने चालते. उच्च स्तरावरील (higher scope) नियम नेहमीच प्रभावी ठरतात.

  1. Enterprise policy
  2. User settings (~/.claude/settings.json)
  3. Project settings (.claude/settings.json)
  4. Project local (.claude/settings.local.json)

नियम एका साध्या फॉरमॅटमध्ये असतात: allow, deny, किंवा ask.

महत्त्वाचे: मूल्यांकनाचा क्रम (evaluation order) असा आहे: प्रथम deny, नंतर ask, आणि शेवटी allow. 'Deny' नेहमीच प्रभावी ठरतो.

जर तुम्हाला एखादे टूल पूर्णपणे अक्षम (disable) करायचे असेल, तर त्याचे साधे नाव वापरा. जर तुम्हाला एखादे टूल मर्यादित करायचे असेल, तर glob pattern सह scoped rule वापरा.

ॲक्टिव्ह डेव्हलपमेंटसाठी उदाहरण:

  • Allow: Bash(npm run *), Bash(git status)
  • Deny: Bash(rm -rf *), Bash(curl *)
  • Ask: Bash(git push *)

तुम्ही संवेदनशील डेटा देखील सुरक्षित करू शकता. Claude ने तुमची क्रेडेंशियल्स (credentials) कधीही वाचू नयेत याची खात्री करण्यासाठी .env सारख्या फाईल्ससाठी 'deny' नियम वापरा.

तुमच्या वर्कफ्लोसाठी काही प्रो टिप्स:

  • CLI मध्ये इंटरअॅक्टिव्ह UI उघडण्यासाठी /permissions वापरा.
  • तुम्ही दोनपेक्षा जास्त वेळा ज्या गोष्टींना मान्यता देता, त्यांच्यासाठी नियम जोडा.
  • फाईल्समध्ये बदल न करता एका सिंगल सेशनसाठी नियम सेट करण्यासाठी --permission-mode सारखे फ्लॅग्स वापरा.
  • CI/CD मध्ये, तुमचे वातावरण सुरक्षित ठेवण्यासाठी कडक 'deny' नियमांसह bypassPermissions वापरा.

बिनधास्त मान्यता देणे थांबवा. कॉन्फिगर करायला सुरुवात करा.

Source: https://dev.to/kapoormanish/stop-clicking-approve-how-to-customize-claude-code-cli-permissions-pnh

Optional learning community: https://t.me/GyaanSetuAi