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/.
lượt xem