Claude Code Hooks 前一篇講 PostToolUse 接 Prettier 做事後格式化,這篇換到事前守門員 PreToolUse。AI 自動跑指令時最怕誤判把 .git 砍光、main 被 force push、或讀到 .env 送出密鑰。PreToolUse 在工具執行前攔截,搭配退出碼 2 或 JSON permissionDecision,可做到「Bash 可以用但 rm -rf 例外」的條件式守門。本文走過三個實戰場景、Permissions 分工與偵錯方向。
Claude Code PreToolUse Hook 教學|阻擋 rm -rf、force push 與敏感檔讀寫
Claude Code Hooks 教學|用 PostToolUse 自動跑 Prettier 格式化
Claude Code 寫完程式碼之後,常會留下沒有格式化、沒有過 lint 的檔案,得自己再跑一次 prettier 才乾淨。Hooks 是 Claude Code 內建的事件機制,可以在 PreToolUse、PostToolUse、Stop 等時機點插入自訂指令;最實用的用法是把 PostToolUse 接上 Prettier,每次 Claude 寫 / 改檔案後自動格式化。本文用 Prettier 為例,從 settings.json 配置、matcher 與 if 條件、退出碼與 JSON 輸出、到偵錯流程整理一份完整教學。