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.

Tính Năng Cho Power User
Các cài đặt này kiểm soát mức độ tự chủ của Claude trên máy bạn. Chọn mode phù hợp với mức chấp nhận rủi ro và môi trường của bạ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ỚI

Mộ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

Cách A: CLI flag (thêm auto vào Shift+Tab cycle)
claude --enable-auto-mode
Cách B: Settings file (mặc định lâu dài)
{
  "$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.

Cách A: CLI flag (phiên hiện tại)
claude --dangerously-skip-permissions
or
claude --permission-mode bypassPermissions
Cách B: Settings file (mặc định lâu dài)
File:
<project>/.claude/settings.local.json (project-local, gitignored)
{
  "$schema": "https://claudekit.cc/schemas/ck-config.schema.json",
  "permissions": {
    "defaultMode": "bypassPermissions"
  }
}
CẢNH BÁO NGHIÊM TRỌNG

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.

File:
<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