Công cụ AI Coding

Claude Code Auto Mode Là Gì? Chế Độ Mặc Định Mới 2026 Và Cách Dùng An Toàn

Aug 19, 202616 phút đọc

Từ 14/08/2026, auto mode trở thành chế độ permission mặc định của Claude Code trên các gói Pro, Max và Team (yêu cầu v2.1.228+ trên macOS/Linux/WSL, v2.1.233+ trên Windows bản gốc) - bạn không bật nó, nó tự bật cho bạn. Bài này giải thích chính xác classifier hoạt động theo bốn tầng luật nào (hard_deny/soft_deny/allow/ý định người dùng), nó chặn - cho qua gì theo mặc định, cách xem lại lệnh bị chặn qua tab Recently denied, và một checklist an toàn thực dùng chứ không chỉ lý thuyết.

- Các con số, version gate và hành vi classifier trong bài đã đối chiếu trực tiếp với tài liệu chính thức code.claude.com tại thời điểm viết (20/08/2026); tool này đổi theo từng bản release nên hãy kiểm tra lại docs live trước khi phụ thuộc.

Chuyện gì đã xảy ra ngày 14/08/2026?

Nếu gần đây Claude Code bỗng thôi hỏi "có cho phép không" trước mỗi lần sửa file hay chạy lệnh, đây là lý do: kể từ 14/08/2026, auto mode trở thành chế độ permission khởi động mặc định trên các gói Pro, Max và Team - không phải một tính năng bạn tự bật, mà một thứ đã được bật sẵn thay bạn. Thay đổi này yêu cầu Claude Code v2.1.228 trở lên trên macOS, Linux và WSL, hoặc v2.1.233 trở lên trên Windows bản gốc (không qua WSL); bản cũ hơn vẫn khởi động ở Manual như trước giờ.

Trước 14/08/2026Sau 14/08/2026
Chế độ khởi động mặc định: default (nhãn Manual) - chỉ đọc, hỏi trước mọi lần ghi file hay chạy lệnhChế độ khởi động mặc định: auto - một classifier duyệt hộ, gần như không hỏi
Đối tượng thay đổiTerminal + VS Code trên gói Pro, Max, Team. Enterprise, session dùng Claude Console API key, claude -p/Agent SDK, và Bedrock/Vertex/Foundry vẫn khởi động ở default
Yêu cầu versionv2.1.228+ trên macOS/Linux/WSL, v2.1.233+ trên Windows bản gốc. Bản cũ hơn tự động khởi động ở Manual
Nếu bạn đã đặt defaultMode tùy chỉnh trong ~/.claude/settings.jsonĐược giữ nguyên - Claude Code chỉ hỏi bạn đúng một lần có muốn đổi sang auto không; từ chối thì giữ cấu hình cũ

Một điểm dễ bỏ sót: đây không phải thay đổi toàn site. Enterprise, session chạy qua Claude Console API key, claude -p/Agent SDK, và các session trên Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry vẫn khởi động ở default (Manual) như cũ - thay đổi chỉ áp cho terminal và VS Code trên ba gói Pro/Max/Team.

Auto mode thực chất là gì?

Định nghĩa ngắn gọn theo tài liệu chính thức: auto mode là chế độ permission mà một model thứ hai - classifier - xét duyệt hành động thay cho bạn, thay vì bạn phải bấm y/n từng bước. Classifier chặn bất cứ điều gì vượt quá yêu cầu bạn đưa ra, nhắm vào hạ tầng nó không nhận diện là đáng tin, hoặc có dấu hiệu bị điều khiển bởi nội dung độc hại mà Claude vừa đọc được.

Một chi tiết ít nguồn nói tới: rule ask tường minh trong settings.json vẫn buộc phải hỏi, kể cả khi bạn đang ở auto mode - vì một ask rule chính là bạn đã tuyên bố "tôi muốn được hỏi ở chỗ này". Và không chỉ auto mode mới dùng classifier: plan mode cũng route lệnh shell qua classifier khi auto mode khả dụng (bật mặc định qua setting useAutoModeDuringPlan) - ranh giới giữa "plan" và "auto" mỏng hơn nhiều người nghĩ.

Bốn tầng luật của classifier: hard_deny, soft_deny, allow, và ý định người dùng

Đây là phần nhiều nguồn viết sai hoặc bỏ qua: bên trong classifier, mỗi hành động được xét theo đúng bốn tầng ưu tiên, theo thứ tự cố định - tầng trên thắng tầng dưới.

TầngÝ nghĩaVí dụ
hard_denyChặn tuyệt đối - ý định người dùng và ngoại lệ allow đều không gỡ đượcGửi nội dung repo cho API review code của bên thứ ba
soft_denyChặn theo mặc định, nhưng có thể được gỡ bởi ý định người dùng hoặc một ngoại lệ allowForce push, curl | bash, deploy production, terraform destroy
allowNgoại lệ cho soft_deny - hành động được coi là an toàn dù khớp luật soft_denyDeploy lên namespace staging đã cách ly hoàn toàn khỏi production
Ý định người dùng tường minhGhi đè phần soft_deny còn lại - CHỈ khi tin nhắn của bạn nêu đích danh đúng hành động sắp làm"dọn dẹp repo giúp mình" KHÔNG đủ; "force-push nhánh này giúp mình" thì đủ

Ba danh sách hard_deny/soft_deny/allow nói trên là luật built-in do Anthropic định nghĩa, viết dưới dạng mô tả tự nhiên (prose), không phải regex. Tách biệt với chúng là autoMode.environment - nơi bạn khai báo hạ tầng nào (repo, bucket, domain nội bộ) được classifier coi là "vùng tin cậy". Mặc định, classifier chỉ tin thư mục làm việc hiện tại và remote đã cấu hình cho repo đó; mọi thứ khác - kể cả bucket cloud hay domain nội bộ công ty bạn - bị coi là "bên ngoài" cho tới khi bạn thêm vào environment. Đây là lý do một lệnh push nội bộ hoàn toàn hợp lệ đôi khi vẫn bị chặn: classifier không "biết" hạ tầng đó là của bạn.

Auto mode chặn gì, cho qua gì theo mặc định

Danh sách đầy đủ dài (và version-gate theo từng mục), nhưng đây là các mục quan trọng nhất cho một dev cá nhân:

Chặn theo mặc địnhCho qua theo mặc định
Tải và chạy code kiểu curl | bashSửa file trong thư mục làm việc hiện tại
Force push, git reset --hard, git clean -fd, git stash drop/clearCài dependency đã khai báo trong lockfile/manifest
In credential/token sống ra transcript hoặc fileĐọc .env và gửi credential tới đúng API tương ứng
Deploy production, terraform/pulumi/cdk destroyHTTP request chỉ đọc (read-only)
Gửi secret hoặc dữ liệu nhạy cảm ra ngoài repoPush lên bất kỳ nhánh nào của repo bạn đang làm, kể cả nhánh mặc định
Merge một PR chưa ai review, tự duyệt PR của chính Claude, tắt CI checkTạo PR khớp với đúng yêu cầu bạn đưa ra
Chạy autonomous agent loop không sandbox và không cần người duyệt (kiểu --dangerously-skip-permissions/--no-sandbox)Xóa đúng job Claude vừa tạo trong cùng phiên

Một chi tiết dễ bị bỏ sót ở cột "cho qua": push lên nhánh mặc định (kể cả main) giờ được phép mặc định - trước v2.1.211, chỉ nhánh làm việc của bạn và nhánh Claude tự tạo mới được phép. Nhánh có tên gợi ý "đích deploy" như production, release, gh-pages thì không nằm trong ngoại lệ này - classifier tự xét riêng, coi như một lần deploy. Muốn tùy biến sâu hơn danh sách này (thêm bucket/domain nội bộ vào environment, hoặc siết thêm soft_deny), xem tài liệu /docs/en/auto-mode-config.

Auto mode có thực sự an toàn hơn? Con số

1.053 người dùng trả phí tham gia nghiên cứu có kiểm soát của Anthropic: con người chỉ bắt được 13,6% lệnh nguy hiểm khi tự duyệt; auto mode bắt được 89%. Ở dữ liệu production thực tế, 6,3% phiên duyệt thủ công chứa một hành động gây hại người dùng không hề yêu cầu, so với 2,4% ở phiên chạy auto mode (mức độ nghiêm trọng production, thang 7+).

Đây là bộ số được ít nhất ba nguồn độc lập xác nhận khớp nhau, nên có thể trích dẫn khá vững. Nguồn gốc: bài viết chính thức của Anthropic, auto-mode-default-in-claude-code (claude.com/blog, 08/2026). Lưu ý quan trọng: các số phụ khác (ví dụ tỉ lệ approve trung bình mỗi phiên) dao động giữa các bản fetch khác nhau của cùng bài viết trong lúc mình nghiên cứu - nên bài này chỉ trích những số đã được đối chiếu chắc chắn, và bạn nên coi mọi số liệu "an toàn hơn X%" là xu hướng, không phải cam kết cho từng phiên làm việc cụ thể của bạn.

Vì sao classifier chống được prompt injection - vì nó không đọc kết quả tool

Câu hỏi hay bị bỏ qua: nếu Claude đọc phải một file độc hại (README dependency, issue GitHub chứa chỉ thị ẩn), classifier có bị lừa theo không? Câu trả lời từ tài liệu chính thức: classifier chỉ thấy tin nhắn của bạn, các lệnh gọi tool (tool call), và nội dung CLAUDE.md - nó KHÔNG bao giờ thấy kết quả trả về của tool (tool result). Nội dung độc hại nằm trong một file hay trang web mà Claude vừa đọc, do đó, không thể trực tiếp thao túng quyết định của classifier.

Lớp phòng thủ này được bổ sung bởi một probe riêng chạy phía server, quét kết quả tool đầu vào và gắn cờ nội dung khả nghi trước khi Claude kịp đọc. Nói thẳng: đây là phòng thủ một phần, không phải một sự đảm bảo tuyệt đối - cảnh báo chính thức của Anthropic ghi rõ auto mode "giảm số lần hỏi permission nhưng không đảm bảo an toàn tuyệt đối".

Bộ lệnh CLI claude auto-mode

LệnhLàm gìVersion
claude auto-mode defaultsIn toàn bộ luật built-in (environment/allow/soft_deny/hard_deny) dạng JSONCờ lọc --label (đọc đúng một rule theo tên, khỏi phải pipe qua jq) yêu cầu v2.1.208+; bản thân lệnh gốc không có version gate riêng được nêu trong docs - kiểm tra claude auto-mode --help nếu cần chắc chắn
claude auto-mode configIn cấu hình classifier đang thực sự áp dụng (đã cộng settings của bạn vào default)Không có version gate riêng được nêu trong docs
claude auto-mode critiqueChấm điểm AI cho các rule allow/soft_deny/hard_deny bạn tự viết, gắn cờ chỗ mơ hồ hoặc dễ false-positiveKhông có version gate riêng được nêu trong docs
claude auto-mode resetXóa mục autoMode khỏi ~/.claude/settings.json, quay về luật built-in mặc định (hỏi xác nhận, thêm --yes để bỏ qua)v2.1.212+

Muốn thêm luật riêng mà vẫn giữ default? Thêm chuỗi "$defaults" vào mảng - luật built-in được chèn đúng vị trí đó, luật của bạn thêm trước hoặc sau tùy ý. Bỏ "$defaults" nghĩa là bạn thay thế toàn bộ danh sách mặc định cho phần đó - kể cả luật chặn force push hay chặn exfiltrate dữ liệu - nên chỉ làm vậy khi bạn thực sự muốn tự chịu trách nhiệm toàn bộ danh sách. Kết hợp với Bash sandbox của Claude Code để có thêm một lớp cách ly độc lập với classifier.

Xem lại và làm lại lệnh bị chặn - tab "Recently denied"

Khi classifier chặn một hành động, Claude Code hiện thông báo và ghi lại nó vào /permissions, dưới tab Recently denied. Mở tab này, nhấn r trên hành động bị chặn để đánh dấu thử lại - khi bạn thoát dialog, Claude Code gửi lại thông điệp cho model rằng nó được phép thử lại tool call đó, rồi tiếp tục hội thoại.

Có một fallback tự động đáng nhớ: nếu classifier chặn 3 lần liên tiếp hoặc 20 lần tổng cộng trong một phiên, auto mode tự tạm dừng và Claude Code quay lại hỏi permission thủ công như cũ. Ngưỡng này không cấu hình được. Duyệt một hành động bất kỳ sẽ reset bộ đếm liên tiếp, còn bộ đếm tổng cộng giữ nguyên suốt phiên cho tới khi chính nó kích hoạt fallback. Lý do thường gặp nhất khi bị chặn lặp lại: classifier thiếu ngữ cảnh về hạ tầng của bạn - cách sửa nhanh nhất là thêm đích đến (domain, bucket, repo host) vào autoMode.environment rồi chạy lại claude auto-mode config để xác nhận.

Cách quay lại Manual (hoặc chuyển sang mode khác)

Nhanh nhất vẫn là Shift+Tab. Cần chính xác: vòng xoay mặc định chạy defaultacceptEditsplanauto → quay lại default. Đang đứng ở auto, bấm một lần sẽ đưa bạn thẳng về default (Manual) - vì auto là mắt xích cuối trước khi vòng lặp về đầu.

Ba cách khác:

  • Cờ dòng lệnh khi khởi động: claude --permission-mode default
  • Đặt cố định qua defaultMode trong settings.json - riêng giá trị "auto" chỉ có tác dụng khi khai báo ở ~/.claude/settings.json (file cấp user); đặt trong .claude/settings.json cấp project thì bị bỏ qua, đúng cơ chế chống "repo lạ tự nâng quyền" đã có từ trước
  • Tắt hẳn ở cấp tổ chức: admin đặt permissions.disableAutoMode thành "disable" trong managed settings - loại auto khỏi cả vòng xoay Shift+Tab

Xem thêm bức tranh đầy đủ về sáu chế độ permission và cách cấu hình allow/deny ở bài Claude Code permissions và cách dùng an toàn.

Checklist an toàn thực dùng cho auto mode

  • Xác nhận gói và model của bạn thực sự hỗ trợ auto mode (Opus 4.6+/Sonnet 4.6+/Fable 5 trên API Anthropic; Sonnet 5/Opus 4.7+/Fable 5 trên Bedrock/Vertex/Foundry) - model cũ như Sonnet 4.5, Opus 4.5, Haiku không được hỗ trợ trên bất kỳ provider nào.
  • Trước một tác vụ đụng hạ tầng lớn, xem lại danh sách trust trong autoMode.environment bằng claude auto-mode config - đừng để classifier tự đoán cái gì "đáng tin".
  • Muốn có một checkpoint con người trước khi push/tạo PR? Thêm rule permissions.ask (ví dụ "Bash(git push *)") - rule này luôn thắng, classifier không tự duyệt được.
  • Đừng coi auto mode là vật thay thế cho sandbox trên các lần chạy thật sự không có người trực - dùng container/VM cách ly làm lớp phòng thủ độc lập, không phụ thuộc một mình classifier.
  • Định kỳ mở /permissionsRecently denied thay vì lờ đi thông báo bị chặn - đó thường là dấu hiệu classifier thiếu ngữ cảnh, không phải nó sai.
  • Ranh giới nói miệng trong hội thoại ("đừng push", "chờ mình review trước khi deploy") vẫn được classifier tôn trọng như tín hiệu chặn - nhưng có thể mất khi context bị nén (compaction). Với ranh giới thật sự cứng, dùng permissions.deny hoặc permissions.ask thay vì chỉ nói trong chat.

Auto mode và AgentKit skills

Câu hỏi thẳng: skill của AgentKit có "né" được sự giám sát của classifier không? Không. Skill AgentKit là các file SKILL.md chạy qua đúng hệ thống skill native của Claude Code - chúng không thêm một tầng permission riêng, cũng không bypass classifier. Dưới auto mode, hành động của một skill được classifier xét y hệt như bất kỳ lệnh nào bạn tự gõ.

Nói thật để tránh overclaim: đây không phải "AgentKit an toàn hơn auto mode" - không có cơ sở nào để nói vậy, và nói vậy là phóng đại. Giá trị thật của AgentKit nằm ở chỗ khác: nó cho bạn workflow đóng gói sẵn (skill, agent, review gate) thay vì bạn phải tự viết từng script một lần, nhưng vẫn chạy dưới đúng cơ chế governance mà bài này vừa mô tả - không hơn, không kém. AgentKit là add-on trả phí chạy bên trong Claude Code (và Codex); Claude Code tự nó đã miễn phí/nằm trong gói bạn đang trả. Muốn hiểu rõ nó làm gì, đọc AgentKit là gì và có đáng dùng không.

Câu hỏi thường gặp (FAQ)

Auto mode trong Claude Code có an toàn không?

An toàn hơn duyệt thủ công theo số liệu nghiên cứu có kiểm soát (89% so với 13,6% lệnh nguy hiểm bị bắt), nhưng không phải một đảm bảo tuyệt đối. Anthropic tự ghi rõ: auto mode giảm số lần hỏi permission, không đảm bảo an toàn tuyệt đối - vẫn cần checklist và checkpoint con người cho việc thật sự nhạy cảm.

Làm sao tắt auto mode?

Nhấn Shift+Tab để quay về default (Manual) ngay trong phiên, hoặc đặt defaultMode trong ~/.claude/settings.json (bắt buộc phải là file cấp user, không phải project). Ở cấp tổ chức, admin tắt hẳn qua permissions.disableAutoMode: "disable" trong managed settings.

Auto mode có tốn thêm phí hay token không?

Trên gói Pro/Max/Team, không tính thêm phí cho phần overhead của classifier. Trên Enterprise, tài khoản dùng Claude API, Claude Platform on AWS, Amazon Bedrock, Google Cloud Agent Platform hay Microsoft Foundry, các lần gọi classifier CÓ tính vào token usage của bạn - đây là điểm khác biệt cần biết trước khi bật rộng rãi cho team (verify-live: kiểm tra lại chính sách giá tại thời điểm bạn đọc).

Model nào hỗ trợ auto mode?

Trên API Anthropic và Claude Platform on AWS: Opus 4.6 trở lên, Sonnet 4.6 trở lên, hoặc Fable 5. Trên Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry và session Claude apps gateway: chỉ Sonnet 5, Opus 4.7 trở lên, và Fable 5. Model cũ như Sonnet 4.5, Opus 4.5, Haiku hay dòng claude-3 không được hỗ trợ trên bất kỳ provider nào.

Auto mode có chặn được prompt injection không?

Chặn một phần, không phải tuyệt đối. Classifier không đọc kết quả tool (nơi nội dung độc hại thường ẩn náu) nên khó bị thao túng trực tiếp, cộng thêm một probe server-side quét kết quả tool trước khi Claude đọc. Nhưng đây vẫn là phòng thủ nhiều lớp, không phải một lời hứa "miễn nhiễm".

Enterprise có mặc định dùng auto mode không?

Không. Enterprise (cùng session dùng Claude Console API key, claude -p/Agent SDK, và các provider Bedrock/Vertex/Foundry) vẫn khởi động ở default (Manual). Auto mode khả dụng nhưng cần opt-in qua cấu hình defaultMode hoặc admin managed settings, chứ không tự động bật như Pro/Max/Team.

Kết luận

Đừng nhìn auto mode như "tắt hết cảnh báo cho nhanh" - nó là một lớp giám sát khác, không phải không có lớp nào. Hiểu đúng bốn tầng luật hard_deny/soft_deny/allow/ý định người dùng, biết chỗ xem lệnh bị chặn (/permissions → Recently denied), và giữ nguyên tắc cũ: ranh giới thật sự cứng phải nằm ở cấu hình (deny/ask), không nằm ở lời dặn miệng có thể mất khi compact. Muốn nắm toàn bộ bức tranh sáu chế độ permission, đọc Claude Code permissions và cách dùng an toàn; muốn hiểu Claude Code từ đầu, xem Claude Code là gì.

Muốn workflow đóng gói sẵn thay vì tự viết script chạy dưới auto mode? AgentKit ship sẵn skill/agent cho Claude Code và Codex, chạy đúng dưới cùng cơ chế permission vừa nói ở trên - không thêm, không bớt quyền. Trả phí, giá niêm yết Engineer Kit $99 (trang thường giảm 20%, còn khoảng $79.20 - kiểm tra giá thực tế tại thời điểm mua).

Xem AgentKit cho Claude Code và Codex →

J

Jasmine

Tác giả · Jasmine Daily

Người viết nên Jasmine Daily - ghi lại những suy nghĩ, trải nghiệm và những khoảnh khắc đời thường. Thật lòng, không vội vàng, không hoàn hảo.

Jasmine Daily

Vẫn còn nhiều điều đang chờ được đọc.

Nếu bài viết này chạm đến bạn, hãy ghé xem thêm vài trang khác trong cuốn nhật ký này.

Đọc tiếp

Bài viết liên quan