Claude Code phát ra 29 loại sự kiện xuyên suốt vòng đời một phiên làm việc — từ lúc khởi động tới lúc kết thúc. Hook có thể móc vào bất kỳ sự kiện nào trong số đó.
Sau bài này, bạn sẽ
- Nắm các nhóm sự kiện hook chính theo giai đoạn vòng đời
- Tìm đúng sự kiện cho một nhu cầu tự động hóa cụ thể
- Phân biệt PreToolUse (có quyền chặn) và PostToolUse (chỉ phản ứng)
Nhóm sự kiện phiên & khởi động
| Sự kiện | Khi nào |
|---|---|
| SessionStart | Phiên bắt đầu hoặc tiếp tục |
| Setup | Thiết lập môi trường lần đầu trong phiên |
| InstructionsLoaded | CLAUDE.md hoặc rules được nạp |
| SessionEnd | Phiên chấm dứt |
Nhóm sự kiện prompt & tool
| Sự kiện | Khi nào |
|---|---|
| UserPromptSubmit | Trước khi xử lý prompt của bạn |
| UserPromptExpansion | Sau khi prompt được mở rộng (@-mention, slash command) |
| PreToolUse | Trước khi một tool chạy — CÓ THỂ CHẶN bằng exit code khác 0 |
| PermissionRequest | Dialog xin quyền được hiển thị |
| PermissionDenied | User từ chối một yêu cầu quyền |
| PostToolUse | Sau khi tool chạy xong thành công |
| PostToolUseFailure | Tool chạy lỗi |
| PostToolBatch | Sau khi một loạt tool hoàn tất |
Nhóm subagent & task
| Sự kiện | Khi nào |
|---|---|
| SubagentStart | Subagent được tạo |
| SubagentStop | Subagent hoàn thành |
| TaskCreated | Task mới được tạo |
| TaskCompleted | Task được đánh dấu xong |
| TeammateIdle | Agent teammate đang rảnh |
Nhóm hệ thống & môi trường
| Sự kiện | Khi nào |
|---|---|
| Stop / StopFailure | Claude hoàn thành lượt / lỗi API kết thúc lượt |
| Notification | Claude gửi thông báo |
| ConfigChange | Cấu hình được cập nhật |
| CwdChanged | Thư mục làm việc thay đổi |
| FileChanged | File được theo dõi bị sửa |
| PreCompact / PostCompact | Trước/sau khi nén context |
| WorktreeCreate / WorktreeRemove | Git worktree được tạo/gỡ |
| Elicitation / ElicitationResult | MCP server yêu cầu input / user phản hồi |
Kiểm tra nhanh2 câu hỏi · chọn đáp án để xem giải thích
Bạn đã hoàn thành bài này chưa?Tiến độ lưu trên trình duyệt của bạn.