Permission Modes — เร็วและปลอดภัยพร้อมกัน
ตอนใช้แรกผมเลือก Default ปลอดภัย แต่ต้องกด y ทุก 5 วินาที พอชินผมรู้ว่าจะปรับยังไงให้สมดุล
ปัญหาแรกที่เจอตอนใช้ Claude Code — Default mode ถามทุกครั้งก่อนแก้ไฟล์/รันคำสั่ง ดีที่ปลอดภัย แต่งานซ้ำๆ ต้องกด y พันครั้ง น่ารำคาญมาก
หลังจากใช้บ่อย ผมรู้ว่ามี Permission Mode 4 แบบ ให้สลับตามสถานการณ์ — ใช้ถูกที่ ทั้งเร็วและปลอดภัย
4 Mode ที่มี
Default — ปลอดภัยสุด
- ถามก่อนทุก action
- ใช้เมื่อ ไม่แน่ใจว่า Claude จะทำอะไร / งานใหม่ / งาน destructive
Auto-accept edits กด Shift+Tab
- ไม่ถามเรื่องแก้ไฟล์
- ยังถามเรื่องรัน bash/command
- ใช้เมื่อ Claude ต้องแก้หลายไฟล์ต่อเนื่องและเรามั่นใจว่าไม่มี action เสี่ยง
Plan mode กด Shift+Tab 2 ครั้ง
- Claude วางแผนแสดงให้ดูก่อน ไม่แก้จริง
- กด approve แล้วถึงทำ
- ใช้เมื่อ งานใหญ่ ซับซ้อน อยากเห็นแผนก่อน
Bypass Permissions กด Shift+Tab 3 ครั้ง — ⚠️
- ไม่ถามอะไรเลย Claude ทำได้ทุกอย่าง
- ใช้เฉพาะใน sandbox / Docker container ที่ไม่มีอะไรเสียหายได้
- ห้ามใช้บนเครื่องหลักเด็ดขาด
วิธีสลับ
ใน session กด Shift+Tab วน mode ดูสถานะ mode ที่บรรทัดล่างของหน้าจอ
หรือสั่งตอนเปิด
claude --permission-mode auto_edit
claude --permission-mode plan
claude --permission-mode bypass # ใช้ระวัง
ตัวอย่างผมใช้แต่ละ mode
Default — งานเริ่มต้นทุกครั้ง
ลองเลย: งานต้นวัน
ดูโปรเจคนี้สรุปว่ามีอะไรเปลี่ยนตั้งแต่เมื่อวาน (git log, ไฟล์ที่เพิ่ง edit) แล้วบอกว่าวันนี้ผมควรโฟกัสอะไรก่อน
เคล็ดลับ
- • Mode นี้ปลอดภัย — Claude ขอ permission ก่อนทำเรื่องสำคัญ
Auto-accept edits — งานเขียน/แก้ไฟล์ต่อเนื่อง
ลองเลย: Implement หลาย feature
กรอกให้ตรงกับคุณ
(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)Implement feature 'order tracking':
1. สร้าง component OrderTracker.tsx
2. เพิ่ม route /orders/[id]
3. เชื่อมกับ API /api/orders
4. เพิ่ม tests
5. update types ที่เกี่ยวข้อง
ระหว่างทางจะแก้หลายไฟล์ — accept ได้เลยเคล็ดลับ
- • สลับเป็น Auto-accept edits ก่อนเริ่ม
- • Claude จะแก้ต่อเนื่องไม่รบกวน
- • ยังถามเมื่อต้องรัน bash command
Plan Mode — งานใหญ่/เสี่ยง
ลองเลย: ก่อน refactor ใหญ่
กด Shift+Tab สองครั้งเข้า Plan Mode แล้วสั่ง: Refactor หน้า /checkout ให้ใช้ React Server Components แทน Client Components รักษา UX เดิมไว้ + performance ต้องดีขึ้น ขอดู plan ก่อน
เคล็ดลับ
- • Claude ออก plan ละเอียดให้
- • อ่านแล้วค่อย approve / แก้
- • ปลอดภัยที่สุดสำหรับงานใหญ่
Bypass — เฉพาะ sandbox
# ใน Docker container หรือ CI environment
claude --permission-mode bypass
ผมไม่เคยใช้บนเครื่องหลัก เก็บไว้สำหรับ container เท่านั้น
ตั้ง permission แบบละเอียด
ถ้าอยากให้สิทธิ์เฉพาะอย่าง ตั้งใน ~/.claude/settings.json
{
"permissions": {
"allow": [
"Bash(npm test:*)",
"Bash(git status)",
"Bash(git diff)",
"Read(*)",
"Edit(src/**/*.ts)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Edit(.env)"
]
}
}
แปลว่า
- npm test รันได้โดยไม่ถาม
- ดู git status / diff ได้
- อ่านไฟล์ได้หมด
- แก้ไฟล์ .ts ใน src/ ได้
- ห้าม rm -rf, sudo, แก้ .env
ผมตั้งแบบนี้แล้วชีวิตง่ายขึ้นเยอะ — Claude ทำของที่ปลอดภัยได้เลย ของอันตรายต้องผ่านผมทุกครั้ง
Best practice
ทำ
- เริ่ม Default เสมอตอนเปิด session
- สลับ Auto-accept edits ตอนชัวร์ว่าจะแก้หลายไฟล์
- ใช้ Plan Mode กับงานใหญ่/เสี่ยง
- ตั้ง allow/deny list ใน settings
- Review diff ก่อน commit เสมอ
อย่าทำ
- อย่าใช้ Bypass บนเครื่องหลัก
- อย่า allow rm -rf, sudo, curl | sh
- อย่าใช้ Auto-accept ถ้างานมีลบไฟล์/destructive
- อย่า commit โค้ดที่ไม่ได้ review
Checklist ก่อนเปิด Auto-accept
- เข้าใจว่า Claude จะแก้อะไรบ้าง
- มี git commit backup ก่อน (ย้อนได้ง่าย)
- ไม่ใช่งานที่ touch production data
- ไม่มี secret ที่อาจรั่ว
- มีเวลา review output
ลองทำดู: ฝึกสลับ mode
ปิดระดับปริญญาตรี
ถึงจุดนี้คุณ
- ใช้ Claude Code บน terminal ได้
- รู้ slash command สำคัญ
- เขียน CLAUDE.md ได้
- ใช้ Git workflow ผ่าน Claude
- เปรียบเทียบ CLI AI ตัวอื่นได้
- จัดการ permission อย่างปลอดภัย
ระดับสุดท้าย ปริญญาโท-เอก จะเข้าโลกของ Subagent / Skill / Hook / Plugin / Agent Team / MCP Server — ตรงนี้คือที่ผมสร้างผู้ช่วยส่วนตัวของบริษัทเอง ทำงานอัตโนมัติเกือบครึ่งของงานประจำ
บทนี้มีประโยชน์กับคุณมั้ยครับ?
ผมอ่าน feedback เองทุกอันแล้วเอาไปปรับเนื้อหา