settings.json กับ settings.local.json ต่างกันตรงไหน
ใช้เวลาประมาณ 18 นาที
settings.json คืออะไร
settings.json คือไฟล์ config ของ Claude Code ที่ควบคุมว่า Claude "ทำอะไรได้บ้าง" ไม่ใช่ "รู้อะไรบ้าง" (นั่นเป็นหน้าที่ของ CLAUDE.md) พูดง่ายๆ คือ CLAUDE.md บอกความรู้/บริบท ส่วน settings.json คุมสิทธิ์และพฤติกรรมของตัวโปรแกรม เช่น
- เลือกโมเดลที่ใช้ (
model) - คำสั่ง shell/tool ที่อนุญาตหรือห้าม (
permissions) - MCP server ที่เชื่อมต่อ (
mcpServers) - hook ที่ทำงานตาม lifecycle event ต่างๆ (
hooks) - environment variable ที่ inject เข้าทุก session (
env)
ตำแหน่งไฟล์และลำดับความสำคัญ (precedence)
Claude Code อ่าน settings จากหลายจุด เรียงจากสิทธิ์สูงสุด (ทับได้ยากสุด) ไปต่ำสุดดังนี้:
- Managed —
managed-settings.jsonที่ IT/องค์กร deploy มา (ทับไม่ได้)