เลิกกด Approve ไปเรื่อยๆ: วิธีปรับแต่ง Permissions ของ Claude Code CLI
ในการทำงานครั้งแรกกับ Claude Code ผมใช้เวลาไปกับการคลิก "Approve" มากกว่าการตรวจสอบงานเสียอีก
ทุกการอ่านไฟล์ ทุกสถานะ git ทุกคำสั่ง
พอถึงตอนจบ ผมคลิกผ่านไปถึง 40 prompt ผมรู้สึกไม่มั่นใจในการเปลี่ยนแปลงที่เกิดขึ้นเลยเมื่อเทียบกับตอนเริ่มต้น ระบบการขออนุญาตแบบนี้ทำให้ผมติดนิสัย rubber-stamp หรือการกดอนุมัติทุกอย่างไปโดยไม่ได้อ่านจริงๆ
คุณต้องตั้งค่า permissions เพื่อให้คุณอนุมัติเฉพาะสิ่งที่สำคัญเท่านั้น
Claude Code ไม่ใช่แค่หน้าต่างแชท แต่มันสามารถอ่านไฟล์ เขียนไฟล์ และรันคำสั่ง shell ได้ การใช้วิธี "อนุมัติทุกอย่าง" แบบเหมาเข่งนั้นอันตรายมาก
Modes จะกำหนดว่า Claude จะทำงานอย่างไรเมื่อไม่มีกฎเฉพาะเจาะจงระบุไว้
• default: ปลอดภัยสำหรับโปรเจกต์ใหม่ Reads: Auto. Edits: Asks. Bash: Asks. • plan: เหมาะที่สุดสำหรับการทำ code reviews. Reads: Auto. Edits: Blocked. Bash: Blocked. • acceptEdits: เหมาะที่สุดสำหรับการเขียนโค้ดอย่างจริงจัง. Reads: Auto. Edits: Auto. Bash: Asks. • bypassPermissions: เหมาะที่สุดสำหรับ CI/CD. Reads: Auto. Edits: Auto. Bash: Auto.
คุณสามารถสลับโหมดได้โดยใช้คำสั่ง /permissions
การตั้งค่าจะเรียงตามลำดับความสำคัญ (Hierarchy) โดยขอบเขตที่สูงกว่าจะชนะเสมอ
- Enterprise policy
- User settings (~/.claude/settings.json)
- Project settings (.claude/settings.json)
- Project local (.claude/settings.local.json)
กฎ (Rules) ใช้รูปแบบง่ายๆ คือ: allow, deny, หรือ ask
สำคัญ: ลำดับการตรวจสอบคือ deny, ตามด้วย ask, และสุดท้ายคือ allow โดยที่ deny จะชนะเสมอ
หากคุณต้องการปิดการใช้งานเครื่องมือใดเครื่องมือหนึ่งโดยสิ้นเชิง ให้ใช้ชื่อเครื่องมือนั้นตรงๆ แต่หากต้องการจำกัดการใช้งาน ให้ใช้กฎแบบระบุขอบเขต (scoped rule) ร่วมกับ glob pattern
ตัวอย่างสำหรับการพัฒนาโปรแกรม (active development):
- Allow: Bash(npm run *), Bash(git status)
- Deny: Bash(rm -rf *), Bash(curl *)
- Ask: Bash(git push *)
คุณยังสามารถปกป้องข้อมูลที่ละเอียดอ่อนได้ด้วย โดยใช้กฎ deny สำหรับไฟล์อย่าง .env เพื่อให้แน่ใจว่า Claude จะไม่สามารถอ่านข้อมูลสำคัญ (credentials) ของคุณได้
เคล็ดลับระดับโปรสำหรับเวิร์กโฟลว์ของคุณ:
- ใช้
/permissionsใน CLI เพื่อเปิด UI แบบโต้ตอบ - เพิ่มกฎสำหรับอะไรก็ตามที่คุณต้องกดอนุมัติมากกว่าสองครั้ง
- ใช้ flag อย่าง
--permission-modeเพื่อตั้งกฎสำหรับการใช้งานเพียงเซสชันเดียวโดยไม่เปลี่ยนไฟล์ตั้งค่า - ใน CI/CD ให้ใช้
bypassPermissionsร่วมกับกฎ deny ที่เข้มงวดเพื่อรักษาความปลอดภัยของสภาพแวดล้อมการทำงาน
เลิกกดอนุมัติไปเรื่อยๆ แล้วเริ่มตั้งค่ากันเถอะ
Source: https://dev.to/kapoormanish/stop-clicking-approve-how-to-customize-claude-code-cli-permissions-pnh
Optional learning community: https://t.me/GyaanSetuAi
