Permission prompt /fewer sẽ quét lịch sử phiên của bạn và tạo ra một danh sách cho phép tùy chỉnh cho các lệnh mà bạn luôn chấp thuận - mà không cần bật chế độ tự động hoàn toàn.
Tại sao hệ thống cấp quyền của Claude Code lại quan trọng hơn bạn nghĩ?
Nếu đã từng sử dụng Claude Code, chắc hẳn bạn đã gặp tình huống này: Khi đang làm việc, Claude muốn chạy lệnh shell hoặc ghi dữ liệu vào file, và bạn buộc phải dừng lại, đọc thông báo rồi mới cấp quyền. Rồi chuyện đó lại lặp lại.
Phản xạ tự nhiên là bật chế độ tự động cấp quyền (auto-approve) để làm việc cho nhanh. Nhưng đó là một sự ủy thác niềm tin rất lớn - bạn đang cho phép Claude chạy bất kỳ công cụ nào, thao tác với bất kỳ file nào và thực thi bất kỳ lệnh nào mà không cần hỏi ý kiến bạn trước. Với hầu hết các quy trình làm việc thực tế, mức độ cho phép như vậy là quá lỏng lẻo.
Lệnh /fewer ra đời chính là để giải quyết vấn đề này. Nó quét lịch sử phiên làm việc, xác định những công cụ và hành động mà bạn thực sự đã cấp quyền, từ đó tạo ra một danh sách cho phép (allow list) được tùy chỉnh riêng - danh sách này khớp với thói quen sử dụng thực tế của bạn thay vì cấp quyền truy cập tràn lan. Bạn vừa có được tốc độ của chế độ tự động đối với những tác vụ mình tin tưởng, vừa duy trì được các cơ chế kiểm soát an toàn cho những tác vụ còn lại.
Hướng dẫn này sẽ giải thích cách thức hoạt động của hệ thống cấp quyền trong Claude Code, chức năng thực sự của lệnh /fewer, cũng như cách tạo danh sách cho phép tùy chỉnh phù hợp với quy trình làm việc thực tế của bạn.
Hiểu về mô hình cấp quyền của Claude Code
Claude Code là một AI agent hỗ trợ lập trình chạy trên giao diện dòng lệnh (terminal) do Anthropic phát triển. Khác với giao diện trò chuyện thông thường, nó có thể thực hiện các hành động thực tế: đọc và ghi file, chạy lệnh shell, cài đặt gói phần mềm, gọi API và tương tác trực tiếp với môi trường phát triển của bạn.
Chính khả năng đó tạo nên sức mạnh cho nó. Đồng thời, điều này cũng có nghĩa là mô hình cấp quyền không chỉ đơn thuần là một chi tiết về trải nghiệm người dùng (UX) - mà còn là một lớp bảo mật quan trọng.
3 chế độ cơ bản
Claude Code hoạt động dựa trên các mức độ tin cậy khác nhau:
Chế độ mặc định (tương tác) - Claude yêu cầu xác nhận trước khi thực hiện bất kỳ hành động nào có khả năng gây ảnh hưởng. Bạn sẽ thấy lệnh gọi công cụ cùng các tham số được sử dụng, và bạn có thể chấp thuận hoặc từ chối từng lệnh một. Đây là chế độ chậm nhất nhưng cho phép kiểm soát cao nhất.
Chế độ tự động chấp thuận - Claude tự động thực hiện mà không cần hỏi ý kiến. Đây là chế độ nhanh nhất nhưng ít kiểm soát nhất. Chế độ này hữu ích cho các môi trường thử nghiệm (sandbox) biệt lập, nơi bạn thực sự không bận tâm về việc các file tin hay dữ liệu nào bị tác động.
Chế độ danh sách cho phép (allow list) - Claude tự động chấp thuận các công cụ hoặc hành động cụ thể đã được chỉ định, trong khi vẫn yêu cầu xác nhận đối với bất kỳ hành động nào nằm ngoài danh sách này. Đây là giải pháp trung gian, và cũng là lúc lệnh /fewer phát huy tác dụng.
Định nghĩa về "Công cụ" trong ngữ cảnh này
Claude Code cung cấp các tính năng thông qua một hệ thống công cụ. Các công cụ phổ biến bao gồm:
- Bash - thực thi các lệnh shell
- Read - đọc nội dung file
- Write - ghi hoặc tạo file
- Edit - thực hiện chỉnh sửa có mục tiêu trên các file hiện có
- Glob - tìm kiếm các file tin khớp với một mẫu (pattern)
- Grep - tìm kiếm nội dung bên trong file
- WebFetch - lấy nội dung từ các URL
- TodoRead / TodoWrite - quản lý danh sách công việc (todo list)
Bạn có thể chọn lọc cho phép sử dụng từng công cụ này. Danh sách cho phép có thể được thiết lập ở mức tên công cụ, hoặc trong một số trường hợp, được giới hạn cụ thể hơn cho các lệnh hoặc mẫu nhất định bên trong công cụ đó.
Hệ thống phân quyền của Claude Code hoạt động như thế nào?
Trước khi đi sâu vào /fewer, điều quan trọng là phải hiểu Claude Code thực sự đang làm gì khi yêu cầu quyền.
Claude Code hoạt động như một agent tự động có thể đọc và ghi file, chạy lệnh shell, tìm kiếm trên web và tương tác với môi trường phát triển của bạn. Mỗi khi muốn thực hiện một hành động trong một trong những danh mục này, nó sẽ kiểm tra mô hình quyền để quyết định xem có nên tiếp tục tự động hay tạm dừng và hỏi bạn.
4 cấp độ quyền hạn
Hành vi cấp quyền của Claude Code được chia thành 4 chế độ chính:
- Mặc định (hỏi mỗi lần) — Claude Code yêu cầu phê duyệt trước khi thực hiện bất kỳ hành động nào có khả năng ảnh hưởng. Đây là chế độ an toàn nhất và là chế độ mặc định cho các phiên mới.
- Phê duyệt theo từng phiên — Khi bạn phê duyệt một hành động, bạn có thể yêu cầu Claude Code cho phép hành động đó trong suốt phiên hiện tại mà không cần lưu trữ tùy chọn đó ở bất kỳ đâu.
- Danh sách cho phép (phê duyệt vĩnh viễn) — Các công cụ, lệnh hoặc mẫu cụ thể được ghi vào file cài đặt của bạn và tự động được cho phép trong mọi phiên làm việc trong tương lai.
- Chế độ tự động hoàn toàn — Flag
--dangerously-skip-permissionsbỏ qua tất cả các kiểm tra. Hữu ích cho môi trường CI đáng tin cậy, rủi ro ở mọi nơi khác.
Danh sách cho phép nằm trong file settings.json (hoặc toàn hệ thống tại ~/.claude/settings.json hoặc theo từng dự án trong .claude/settings.json). Trường allowedTools trong file đó là nơi lưu trữ các quyền vĩnh viễn của bạn.
Điều gì kích hoạt lời nhắc cấp quyền?
Claude Code sẽ nhắc bạn khi nó muốn:
- Thực thi lệnh bash (Bash)
- Đọc hoặc ghi vào file (Đọc, Ghi, Chỉnh sửa)
- Lấy nội dung từ URL (WebFetch)
- Sử dụng công cụ MCP được kết nối mà chưa được phê duyệt
- Chạy bất kỳ công cụ nào được phân loại là có khả năng ảnh hưởng theo mô hình cấp quyền của Anthropic
Các thao tác rủi ro thấp hơn — như phân tích nội dung file hiện có mà nó đã đọc hoặc tạo bản so sánh code để xem xét — không yêu cầu quyền vì chúng chỉ đọc hoặc hoàn toàn mang tính tạo lập.
Lệnh /fewer thực sự làm gì?
Lệnh /fewer là một lệnh slash bạn chạy bên trong phiên Claude Code. Khi được gọi, nó sẽ:
- Quét lịch sử hành động của phiên hiện tại
- Xác định các công cụ và lệnh bạn đã chấp thuận (bao gồm cả số lần)
- Tạo danh sách cho phép cụ thể dựa trên các mẫu trong những lần chấp thuận đó
- Trình bày các bổ sung được đề xuất vào file
settings.jsoncủa bạn trước khi ghi bất cứ điều gì
Từ "fewer" đề cập đến việc có ít lời nhắc cấp phép hơn trong các phiên sau này — chứ không phải ít quyền hơn tổng thể. Lệnh này được thiết kế để giảm sự gián đoạn đối với các hành động mà bạn đã chứng minh rằng mình sẽ luôn cho phép, trong khi vẫn giữ mọi thứ khác tuân theo quy trình phê duyệt thông thường.
Đây là cách tiếp cận từ dưới lên. Thay vì quyết định trước những gì được phép, bạn làm việc bình thường, phê duyệt mọi thứ khi chúng xuất hiện, và sau đó sử dụng /fewer để mã hóa những lựa chọn thực tế đó thành các thiết lập cố định.
Hướng dẫn từng bước sử dụng /fewer để xây dựng danh sách cho phép
Bước 1: Làm việc bình thường trong suốt một phiên làm việc
Đừng cố gắng chạy /fewer chỉ sau 5 phút đầu tiên làm việc trên một dự án. Giá trị của lệnh phụ thuộc vào chất lượng lịch sử mà nó đang phân tích.
Hãy thực hiện một nhiệm vụ tiêu biểu — một nhiệm vụ bao gồm sự kết hợp điển hình giữa các lệnh và thao tác file mà bạn thường thực hiện trên dự án đó. Hãy để Claude Code yêu cầu quyền mỗi lần. Phê duyệt những thứ bạn luôn phê duyệt. Từ chối hoặc sửa đổi những công cụ bạn muốn xem xét.
Một phiên làm việc tốt cho mục đích này là phiên liên quan đến quy trình làm việc thực tế của bạn: Chạy thử nghiệm, đọc file cấu hình, chỉnh sửa mã nguồn, kiểm tra trạng thái git, cài đặt các dependency. Nếu bạn chỉ thực hiện một nhiệm vụ hẹp, danh sách cho phép của bạn sẽ chỉ phản ánh phần công việc đó.
Bước 2: Chạy /fewer
Bất cứ lúc nào sau khi bạn đã tích lũy được một số lịch sử phiên làm việc, hãy nhập:
/fewer
Claude Code sẽ phân tích phiên làm việc và trả lời bằng một bản tóm tắt. Bạn sẽ thấy một cái gì đó như:
- Số lượng lần gọi công cụ khác nhau đã xảy ra
- Những công cụ nào bạn đã chấp thuận mỗi khi chúng xuất hiện
- Những công cụ nào bạn đã từ chối hoặc sửa đổi ít nhất một lần
- Một đề xuất bổ sung vào cấu hình
allowedToolscủa bạn
Các lệnh hoặc công cụ bạn đã từ chối dù chỉ một lần cũng bị loại trừ khỏi đề xuất. Giả định là việc chấp thuận không nhất quán có nghĩa là hành động phụ thuộc vào ngữ cảnh và không nên được tự động chấp thuận.
Bước 3: Xem lại danh sách cho phép được đề xuất
Đây là phần mà hầu hết mọi người bỏ qua, và nó rất quan trọng.
Trước khi chấp nhận đề xuất, hãy đọc kỹ từng mục. Claude Code suy luận các mẫu từ những phê duyệt của bạn, nhưng nó không thể đọc được suy nghĩ của bạn. Một vài điều cần lưu ý:
Các mẫu quá rộng — Nếu Claude Code phê duyệt nhiều chỉnh sửa file và đề xuất Edit(*) làm mẫu, thì phạm vi đó rộng hơn nhiều so với ý định của bạn. Có thể bạn muốn Edit(src/**, *.ts) thay vì quyền chỉnh sửa chung chung.
Các lệnh chỉ dùng một lần — Đôi khi bạn phê duyệt một lệnh nào đó một lần trong phiên làm việc mà bạn không muốn tự động phê duyệt trong các phiên tiếp theo. Ví dụ, lệnh di chuyển cơ sở dữ liệu hoặc script dọn dẹp gây mất dữ liệu. Nếu bạn thấy lệnh đó trong đề xuất, hãy xóa nó đi.
Các mẫu lệnh shell — Bash là trường hợp khó xử lý. Bash(npm run test) thì cụ thể và an toàn. Bash(npm run *) thì rộng hơn. Bash(*) về cơ bản là chế độ tự động cho terminal. Hãy sử dụng chính xác.
Bước 4: Chấp nhận, chỉnh sửa hoặc từ chối
Claude Code cung cấp cho bạn 3 tùy chọn ở giai đoạn này:
- Accept — Viết trực tiếp các mục được đề xuất vào file
settings.jsoncủa bạn - Edit — Mở đề xuất để sửa đổi trước khi viết
- Reject — Loại bỏ đề xuất mà không thay đổi bất kỳ cài đặt nào
Chọn Edit trừ khi bạn tự tin rằng đề xuất hoàn toàn chính xác. Dành 5 phút để tinh chỉnh các mẫu trước khi commit.
Bước 5: Xác minh file Settings
Sau khi chấp nhận, hãy kiểm tra trực tiếp file settings.json của bạn:
{
"allowedTools": [
"Bash(npm run test)",
"Bash(npm run lint)",
"Bash(git status)",
"Bash(git diff)",
"Read(**)",
"Edit(src/**)"
]
}
Xác nhận các mục khớp với ý định của bạn. Nếu có gì đó không ổn, hãy chỉnh sửa trực tiếp file — đó là plain JSON và dễ dàng sửa đổi thủ công.
Hướng dẫn AI
AI Tools
Học IT
Hàm Excel