Permission Modes
Cấu hình cách Claude Code xin phép — từ kiểm soát toàn bộ đến tự động thực thi với kiểm tra an toàn nền.
Các Permission Mode Hiện Có
Nhấn Shift+Tab trong CLI để chuyển đổi mode. Đặt defaultMode trong settings để lưu lại.
| Mode | Tự động duyệt | Phù hợp cho |
|---|---|---|
default | Chỉ đọc file | Mới bắt đầu, công việc nhạy cảm |
acceptEdits | Đọc + sửa file | Lặp lại code đang review |
plan | Chỉ đọc file (không sửa) | Khám phá codebase, lên kế hoạch refactor |
auto MỚI | Mọi hành động (classifier kiểm tra) | Task dài, giảm mệt mỏi prompt |
dontAsk | Chỉ tool đã được duyệt trước | CI pipelines, môi trường hạn chế |
bypassPermissions NGUY HIỂM | Mọi thứ, không kiểm tra | Chỉ dùng trong container/VM cô lập |
Auto Mode (Khuyến Nghị Cho Team Users)
MỚIMột classifier nền review từng hành động trước khi thực thi — chặn thao tác nguy hiểm và cho phép thao tác an toàn mà không cần prompt.
Cách hoạt động
- • Một model classifier Sonnet 4.6 riêng đánh giá mọi hành động trước khi chạy
- • Các allow/deny rules của bạn được kiểm tra trước — classifier chỉ xử lý phần còn lại
- • Hành động chỉ đọc và sửa file trong working directory được tự động duyệt
- • Quay về prompt thủ công sau 3 lần block liên tiếp hoặc 20 lần block/session
Mặc định bị chặn
curl | bash, force push, xóa hàng loạt, deploy production, gửi dữ liệu ra endpoint ngoài, cấp quyền IAM/repo, sửa đổi hạ tầng chung
Mặc định được phép
Thao tác file local, cài deps từ lockfile, đọc .env và gửi creds đến API tương ứng, HTTP chỉ đọc, push lên branch hiện tại
claude --enable-auto-mode {
"$schema": "https://claudekit.cc/schemas/ck-config.schema.json",
"permissions": {
"defaultMode": "auto"
}
} Yêu cầu: Gói Team (Enterprise/API sắp có) · Claude Sonnet 4.6 hoặc Opus 4.6 · Admin phải bật trong Claude Code admin settings.
Tùy chỉnh classifier
Cho classifier biết hạ tầng nào bạn tin tưởng qua setting autoMode. Không đọc từ shared project settings.
{
"$schema": "https://claudekit.cc/schemas/ck-config.schema.json",
"autoMode": {
"environment": [
"Source control: github.com/your-org and all repos under it",
"Trusted internal domains: *.internal.example.com",
"Key services: Jenkins at ci.example.com"
]
}
} Kiểm tra & debug
claude auto-mode defaults # built-in rules
claude auto-mode config # effective config
claude auto-mode critique # AI feedback on custom rules Research Preview: Auto mode giảm prompt nhưng không đảm bảo an toàn tuyệt đối. Bảo vệ tốt hơn bypassPermissions, nhưng không kỹ bằng review thủ công.
Full Bypass (bypassPermissions)
Bỏ qua mọi prompt quyền. Chỉ cần một trong hai cách bên dưới — CLI flag cho phiên hiện tại, hoặc settings file để đặt mặc định.
claude --dangerously-skip-permissions claude --permission-mode bypassPermissions <project>/.claude/settings.local.json (project-local, gitignored) {
"$schema": "https://claudekit.cc/schemas/ck-config.schema.json",
"permissions": {
"defaultMode": "bypassPermissions"
}
} Không có kiểm tra an toàn nào. Trong trường hợp hiếm, Claude có thể chạy lệnh phá hủy như rm -rf ... nếu bị ảo giác. Chỉ dùng trong container/VM cô lập. Ưu tiên auto mode cho giải pháp an toàn hơn.
Quy Tắc Allow/Deny Chi Tiết
Kiểm soát chi tiết: cho phép lệnh an toàn, hỏi xác nhận lệnh rủi ro, chặn thao tác nguy hiểm.
<project>/.claude/settings.local.json (project-local, gitignored) {
"$schema": "https://claudekit.cc/schemas/ck-config.schema.json",
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git commit *)",
"Bash(git diff *)"
],
"ask": [
"Bash(git push *)",
"Bash(docker *)"
],
"deny": [
"Bash(rm ~/)",
"Bash(rm /)",
"Bash(rm -rf /:*)",
"Bash(rm -rf ~:*)",
"Bash(sudo rm -rf :*::*)",
"Bash(git reset --hard:*)",
"Bash(git clean -fdx:*)",
"Bash(git push --force:*)",
"Bash(prisma db push)",
"Bash(prisma migrate reset:*)",
"Bash(docker system prune -af:*)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
} Danh sách deny chặn lệnh phá hủy (xóa database, force push, thay đổi hệ thống). Rules được đánh giá theo thứ tự: deny → ask → allow.
Ask rules: Dùng ask để bắt buộc prompt xác nhận cho các lệnh cụ thể, ngay cả khi chúng được allow.
Tip: settings.json supports a "$schema" field for IDE autocompletion. Add "$schema": "https://claudekit.cc/schemas/ck-config.schema.json"
Cú Pháp Permission Rule
Rules theo format Tool hoặc Tool(specifier). Đánh giá theo thứ tự: deny → ask → allow.
| Rule | Hiệu quả |
|---|---|
Bash | All Bash commands |
Bash(npm run *) | Commands starting with npm run |
Read(./.env) | Reading .env in project root |
Read(./secrets/**) | Reading any file under secrets/ |
Edit(/src/**/*.ts) | Editing .ts files in src/ |
WebFetch(domain:example.com) | Fetch requests to example.com |
mcp__server__tool | Specific MCP tool |
Agent(Explore) | The Explore subagent |
Để xem tài liệu đầy đủ về permission scopes và cú pháp, hãy truy cập Tài liệu Chính thức Claude Code