Skip to content

Thông tin kiểm chứng ngày 2026-10-24T00:00:00.000Z

Permission mode ​

Permission mode (chế độ quyền) quyết định agent được tự làm gì mà không cần hỏi bạn.

Giải quyết vấn đề gì ​

Hai thái cực đều tệ:

  • Hỏi duyệt từng lệnh: bạn thành người bấm "Yes" liên tục, không làm được gì khác, và sau 20 lần thì bấm mà không đọc.
  • Không hỏi gì: agent có thể chạy lệnh phá hoại, đẩy code, xóa dữ liệu.

Permission mode cho bạn chọn điểm giữa, theo từng phiên, và kết hợp với allowlist (danh sách lệnh cho phép sẵn) trong settings.

Các mode ​

ModeÝ nghĩa ngắn
defaultHiển thị là Manual; CLI nhận cả manual. Hỏi trước những việc cần duyệt
acceptEditsTự nhận các thay đổi file, các việc khác vẫn hỏi
planChỉ đọc và lập kế hoạch, chưa sửa gì
autoMột bộ phân loại duyệt thay bạn từng hành động; hành động rủi ro vẫn bị chặn hoặc hỏi lại
dontAskKhông hỏi: việc chưa có trong allow thì bị từ chối luôn; không xuất hiện trong vòng Shift+Tab
bypassPermissionsBỏ qua kiểm tra quyền. Tương đương cờ --dangerously-skip-permissions

Chuyển mode ​

  • Trong phiên: Shift+Tab xoay vòng các mode.
  • Khi khởi động: claude --permission-mode <mode>.
  • Mặc định lâu dài: permissions.defaultMode trong settings.
  • Thứ tự ưu tiên: cờ dòng lệnh > defaultMode > mặc định có sẵn.

Auto mode bây giờ là mặc định ​

  • Từ v2.1.283, auto là mode khởi đầu cho phiên tương tác (terminal, VS Code) trên mọi gói và mọi provider. Ngoại lệ: tài khoản HIPAA (v2.1.285+) về default.
  • Mốc 14/08/2026 (auto mặc định cho phiên mới trên Pro/Max/Team) giờ chỉ còn là lịch sử.
  • claude -p thì ngược lại: từ v2.1.302, nếu không đặt mode, -p chạy ở default (Manual). Tool cần duyệt bị từ chối, trừ khi có allow rule hoặc bạn truyền --permission-mode auto.

"auto" trong settings dự án bị bỏ qua

Đặt permissions.defaultMode: "auto" trong .claude/settings.json của repo không có tác dụng. Cứ hiểu là: repo không tự nâng quyền được cho máy người clone nó. Vì vậy starter không đặt defaultMode. Muốn auto khi chạy headless thì truyền cờ --permission-mode auto.

Khi nào cần ​

  • Mỗi lần mở phiên: nhìn mode đang bật ở thanh trạng thái. Đây là thói quen, không phải cấu hình một lần.
  • Khi chuyển nấc tự động (xem Hiện trạng): khám phá code lạ thì dùng plan; làm theo plan đã duyệt thì dùng auto.
  • Khi chạy headless (claude -p): mode mặc định khác với phiên tương tác, phải đặt rõ. Xem Headless / CI.
  • Khi cấp quyền cho dự án: viết allowlist hẹp cho những lệnh lặp lại nhiều (test, build), thay vì nới mode.

Ví dụ tối thiểu ​

Starter không đặt mode, nhưng đặt một allowlist hẹp trong practice/starter/.claude/settings.json. Đây là những lệnh lab cần chạy liên tục, cho phép sẵn để agent không hỏi:

json
{
  "permissions": {
    "allow": [
      "Bash(bun install)",
      "Bash(bun run dev)",
      "Bash(bun run build)",
      "Bash(bun run check-types)",
      "Bash(bun run db:push)",
      "Bash(bun test*)",
      "Bash(bunx create-better-t-stack@3.49.0 *)",
      "Bash(git status*)",
      "Bash(git diff*)",
      "Bash(git log*)",
      "Bash(git add *)",
      "Bash(git commit *)"
    ]
  }
}

Để ý những gì không có: không git push, không rm, không bunx tùy ý (chỉ đúng một phiên bản Better-T-Stack đã kiểm chứng), không bun run * (vì bun run <file>.ts chạy được code bất kỳ; chỉ cho 4 script cụ thể). Allowlist hẹp + auto mode cho tốc độ; những thứ ngoài danh sách vẫn đi qua bộ phân loại hoặc hỏi bạn. Lệnh git add được phép, nhưng đưa .env vào git thì bị hook chặn.

Mở phiên ở mode cụ thể:

bash
claude --permission-mode plan      # khám phá, lập kế hoạch
claude --permission-mode manual    # muốn duyệt từng bước

Bên Codex ​

Codex tách làm hai trục:

  • sandbox_mode: read-only | workspace-write | danger-full-access (agent chạm được tới đâu).
  • approval_policy: on-request | never (khi nào hỏi bạn).

Giao diện gộp lại thành ba lựa chọn: "Ask for approval", "Approve for me", "Full access".

Tương đương auto mode là auto-review ("Approve for me"): một agent khác duyệt thay bạn. Cấu hình approvals_reviewer = "auto_review", hoặc cờ CLI --approve-for-me (từ codex 0.147.0). Xem thêm chương 7.

Nguồn ​