Settings (settings.json)
Claude Code đọc cấu hình từ các file settings.json ở nhiều nơi khác nhau. Khi nhiều file cùng đặt một khoá, thứ tự ưu tiên (cao nhất thắng) là:
- Cấu hình cấp tổ chức (managed / policy) — do quản trị viên thiết lập, người dùng không ghi đè được.
- Cờ dòng lệnh khi chạy
claude(ví dụ--model,--permission-mode). .claude/settings.local.json— cá nhân, chỉ máy này..claude/settings.json— dự án, dùng chung cả team.~/.claude/settings.json— cá nhân, áp dụng mọi dự án.
| Vị trí | Phạm vi | Có nên commit vào git? |
|---|---|---|
.claude/settings.local.json |
Cá nhân, chỉ máy này | Không — thêm vào .gitignore |
.claude/settings.json |
Dự án, dùng chung cho cả team | Có |
~/.claude/settings.json |
Toàn bộ máy của bạn, áp dụng mọi dự án | Không áp dụng (nằm ngoài repo) |
| Cấu hình cấp tổ chức (managed) | Do quản trị viên tổ chức thiết lập | Không áp dụng (do IT triển khai) |
Xem nhanh cấu hình đang thực sự áp dụng bằng /config (mở giao diện cấu hình) hoặc /doctor (chẩn đoán, liệt kê cả những giá trị bị bỏ qua do sai định dạng).
Ví dụ
Phần tiêu đề “Ví dụ”{ "permissions": { "allow": ["Bash(npm run test:*)", "Bash(git status)"], "deny": ["Bash(rm -rf *)", "Read(./.env)"] }, "env": { "NODE_ENV": "development" }}Các nhóm cấu hình phổ biến
Phần tiêu đề “Các nhóm cấu hình phổ biến”permissions— quy tắc tự động cho phép/từ chối/hỏi lại cho từng loại hành động cụ thể (chạy lệnh, đọc/ghi file…), vàdefaultModeđể đặt sẵn chế độ quyền hạn mặc định (default,acceptEdits,plan…).env— biến môi trường áp dụng cho mọi phiên Claude Code chạy trong thư mục này.hooks— script chạy tự động trước/sau các sự kiện nhất định (xem Hooks).model— model mặc định sử dụng cho phiên.statusLine— tuỳ biến thanh trạng thái hiển thị trong terminal.editorMode— bật chế độ soạn thảo kiểu vim ("vim") trong ô nhập.autoMemoryEnabled— bật/tắt auto memory (mặc định bật).
Ví dụ quy tắc permissions chi tiết hơn
Phần tiêu đề “Ví dụ quy tắc permissions chi tiết hơn”{ "permissions": { "allow": ["Bash(npm run lint)", "Bash(npm run test *)"], "deny": ["Bash(curl *)", "Read(./.env)", "Read(./secrets/**)"], "defaultMode": "acceptEdits" }}Cú pháp quy tắc theo dạng Tool(mẫu-lệnh) — ví dụ Bash(npm run test:*) cho phép mọi lệnh bắt đầu bằng npm run test:, Read(./secrets/**) chặn đọc mọi file trong thư mục secrets/.