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.
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
Học IT
Hàm Excel