Chuyển đến nội dung
Lộ trình ClaudeGiai đoạn 04Mở rộng & tự động hóaHooks — chốt chặn tự độngMở bản đồ

Hooks: chốt chặn tự động cho Claude Code

Claude CodeNâng cao7 phút đọc

CLAUDE.md là lời dặn — Claude cố gắng tuân theo. Hooks là luật — được thực thi bằng code, không có ngoại lệ. Khi một quy tắc bắt buộc phải đúng 100% số lần, hãy dùng hook.

Bạn sẽ học được
  • Hiểu hooks chạy ở đâu trong vòng lặp agent
  • Viết hook đầu tiên: tự chạy formatter sau mỗi lần sửa file
  • Chặn hành động nguy hiểm trước khi nó xảy ra
Bạn cần gì
  • Dùng Claude Code thành thạo mức cơ bản
  • Biết viết script shell đơn giản

Hooks là gì

Hook là lệnh shell bạn khai báo trong cấu hình Claude Code, tự chạy tại các sự kiện: trước khi Claude dùng một tool (PreToolUse), sau khi dùng xong (PostToolUse), hay khi Claude kết thúc lượt (Stop).

Khác với lời dặn trong CLAUDE.md, hook không phụ thuộc việc Claude "nhớ" — nó chạy như một phần của hệ thống.

Trường hợp dùng phổ biến

  • Tự động format code sau mỗi lần Claude sửa file
  • Chặn lệnh nguy hiểm: rm -rf, push thẳng lên main, sửa file .env
  • Bắt buộc chạy test sau khi Claude xong việc
  • Ghi log mọi lệnh Claude chạy để audit lại

Hook đầu tiên: format sau khi sửa file

Khai báo trong file cấu hình settings của Claude Code. Hook dưới đây chạy Prettier lên đúng file vừa được chỉnh sửa.

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Edit|Write",
      "hooks": [{ "type": "command",
        "command": "npx prettier --write \"$CLAUDE_FILE_PATHS\"" }]
    }]
  }
}

Chặn hành động: exit code khác 0

Hook PreToolUse có quyền phủ quyết: nếu script thoát với mã lỗi, hành động bị chặn và thông báo lỗi được đưa lại cho Claude — nó sẽ đọc lý do và đổi hướng.

# chan-lenh-nguy-hiem.sh
if echo "$CLAUDE_TOOL_INPUT" | grep -q "rm -rf"; then
  echo "Lệnh xóa đệ quy bị chặn theo chính sách repo" >&2
  exit 2
fi

Nguyên tắc thiết kế hook tốt

  • Nhanh: hook chạy trong vòng lặp — mỗi giây chậm nhân lên hàng chục lần
  • Im lặng khi mọi thứ ổn, nói rõ lý do khi chặn
  • Bắt đầu với một hook duy nhất, quan sát một tuần rồi mới thêm
  • Quy tắc mềm để trong CLAUDE.md, quy tắc cứng mới làm hook

Cạm bẫy cần tránh

Hook lỗi âm thầm là cạm bẫy số một: script sai đường dẫn nhưng bạn tưởng chốt chặn vẫn hoạt động. Sau khi khai báo, hãy cố tình vi phạm quy tắc một lần để xác nhận hook thực sự chặn.

Đừng dùng hook để "sửa lưng" Claude từng ly từng tí — quá nhiều chốt chặn làm agent chậm và khó đoán. Hook cho an toàn; phong cách để CLAUDE.md lo.

Nội dung này có hữu ích không?
Kiểm tra kiến thức

Củng cố những gì bạn vừa học

3 câu trắc nghiệm · đạt từ 70% · câu hỏi và đáp án xáo trộn mỗi lần.

Hội thoại chia sẻ

Cộng đồng đang hỏi Claude điều gì?

Xem tất cả
Nền tảng

Claude khác ChatGPT và Gemini ở điểm nào?

Không có “tốt nhất” chung — chọn theo việc cần làm. Claude mạnh ở lập luận dài, bám ngữ cảnh và viết tự nhiên.

Ẩn danh312
Nền tảng

Nên chọn mô hình Claude nào để khỏi lãng phí chi phí?

Haiku cho việc nhẹ và nhanh, Sonnet cân bằng, Opus cho suy luận sâu. Đừng mặc định dùng model mạnh nhất.

Ẩn danh148
Nền tảng

Người mới nên bắt đầu với Claude từ đâu?

Mười tình huống thật trong ngày đầu: tóm tắt, viết nháp, phân tích file, brainstorm — thấy giá trị ngay, không cần khoá học.

Ẩn danh96
Chat

Làm sao giữ Claude bám đúng ý qua nhiều lượt trò chuyện?

Nhắc lại mục tiêu khi nối mạch, đổi hướng thật rõ ràng, và yêu cầu Claude tóm tắt hiểu biết trước khi đi tiếp.

Ẩn danh274
Chat

Projects trong Claude thật sự dùng để làm gì?

Gom tài liệu và chỉ dẫn một lần, mọi hội thoại cùng chung nền — hết cảnh dán lại bối cảnh mỗi lần mở chat.

Ẩn danh121
Chat

Tóm tắt tài liệu dài mà không đánh rơi ý chính?

Yêu cầu giữ lập luận thay vì liệt kê; chỉ định độ dài và góc nhìn cần giữ để bản tóm không cắt bừa.

Ẩn danh89
Cowork

Claude Cowork tự làm việc trên máy mình như thế nào?

Cùng kiến trúc agent với Claude Code nhưng ngay trong app desktop: mô tả kết quả, Claude thao tác trên tệp và app của bạn.

Ẩn danh203
Cowork

Tự động hoá báo cáo tuần bằng Claude ra sao?

Gộp số liệu → viết diễn giải → xuất nháp, rồi đóng gói cả chuỗi thành một câu lệnh lặp lại được cho tuần sau.

Ẩn danh167
Cowork

Giao việc nền cho Claude khi mình làm việc khác được không?

Được, với tác vụ không cần ngồi canh: giao rõ tiêu chí hoàn thành rồi theo dõi và nhận kết quả sau.

Ẩn danh78
Code

Claude Code khác gì gợi ý code trong IDE?

Nó đọc cả dự án, chạy lệnh và tự sửa qua nhiều bước — là một agent lập trình, không phải autocomplete.

Ẩn danh341
Code

Viết CLAUDE.md thế nào để agent hiểu codebase?

Ghi rõ quy ước, cấu trúc thư mục và ranh giới không được đụng — “sổ tay dự án” là chìa khoá cho kết quả ổn định.

Ẩn danh189
Code

Quy trình sửa lỗi với Claude Code gồm những bước nào?

Đưa log → agent lần theo dấu vết → đề xuất bản vá → kiểm chứng bằng test. Một vòng khép kín gọn gàng.

Ẩn danh156
Code

Dùng Claude review pull request có đáng không?

Rất đáng: một con mắt thứ hai không mệt mỏi, rà logic, bảo mật và hiệu năng trên từng thay đổi trước khi merge.

Ẩn danh112
Design

Làm sao dựng giao diện chạy được chỉ bằng mô tả?

Nói ra thứ bạn hình dung → nhận một Artifact bấm được → tinh chỉnh ngay trong cùng hội thoại. Vòng lặp thiết kế cực ngắn.

Ẩn danh298
Design

Brief Claude thế nào để có bộ slide chỉn chu?

Một thông điệp mỗi slide, cấu trúc mạch lạc; đưa dàn ý trước rồi để Claude soạn phần trình bày.

Ẩn danh134
Design

Prototype tương tác nhanh để thử ý tưởng?

Một bản mẫu bấm được trong vài phút giúp cả đội thấy ý tưởng và phản hồi sớm, trước khi vẽ kỹ hay code thật.

Ẩn danh92
Plugins & Skills

MCP là gì và tại sao nó quan trọng?

Một chuẩn mở để Claude nói chuyện với công cụ và dữ liệu bên ngoài — hiểu nó là mở khoá cả hệ sinh thái.

Ẩn danh256
Plugins & Skills

Cài MCP server đầu tiên nên bắt đầu từ đâu?

Filesystem và GitHub là hai server nền tảng để Claude đọc tệp và làm việc trên repo — lộ trình cài từng bước.

Ẩn danh118
Plugins & Skills

Agent Skills giải quyết vấn đề gì?

Đóng gói chỉ dẫn lặp lại thành một Skill — Claude tự gọi khi cần, khỏi phải dán lại đoạn hướng dẫn dài mỗi lần.

Ẩn danh97
Plugins & Skills

Gọi Claude API bằng Python bắt đầu ra sao?

Từ khoá API đến câu trả lời đầu tiên trong khoảng mười dòng code — nền tảng để xây mọi thứ tiếp theo.

Ẩn danh84

Đăng ký nhận bản tin

Chọn chủ đề bạn quan tâm — nhận bài viết chọn lọc và thông báo sự kiện gửi thẳng vào hộp thư.

Bảo mật thông tin. Hủy đăng ký bất cứ lúc nào. Chính sách bảo mật