Coolkid mascot CoolkidLab Build in Public. Level up together.

新手教學 · MCP 生態

閱讀

Claude Code Hooks 教學:AI 會忘,鉤子不會

先講重點

短答給趕時間的人:hook(掛鉤)是在 Claude Code 的固定時機自動執行你指定動作的機制 — 開場自動載入進度、改完檔案自動跑檢查、收工自動記錄。跟寫在 CLAUDE.md 的規則差在強制力:規則是「拜託 AI 記得做」(它可能忘),hook 是「系統到點就執行」(不經過 AI 的記性)。設定寫在 settings.json,第一個 hook 可以叫 AI 幫你設,10 分鐘搞定。

會想用 hook 通常是被同一件事煩到:我的情況是「AI 改完程式常忘記跑檢查」— 在 CLAUDE.md 寫了「改完要檢查」,它 8 成會做,但就是有那 2 成忘記,而炸掉的都在那 2 成裡。後來把檢查做成 hook:只要它改了 Python 檔,檢查自動跑、有問題當場擋下來 — 從此不靠它的記性。這篇講 hook 是什麼、什麼該用 hook、第一個怎麼設。

Hook 是什麼?跟「寫規則」的本質差別

CLAUDE.md、skill 都是「用文字影響 AI 的行為」— 它讀了、理解了、大部分時候照做,但本質是「拜託」,忙起來會漏。hook 不走這條路:它是設定在系統層的自動開關,到了指定時機(例如「AI 剛改完一個檔案」),系統直接執行你指定的指令 — AI 記不記得無所謂,反正一定會跑。

判斷該用哪個,一句話:「希望它做」寫規則,「必須每次都做」設 hook。格式檢查、安全掃描、進度記錄這種「漏一次就可能出事」的,都是 hook 的守備範圍。

規則是家教(通常有效),hook 是門禁(刷卡才能過)。重要的事交給門禁。

5 個時機點,配我實際在用的例子

hook 可以掛在這些時機(名稱以官方文件為準,2026-07):

時機白話我的真實用法
SessionStart每次開場自動載入專案斷點檔 — 新對話不失憶的核心
UserPromptSubmit你每送出一句話自動附上現在時間 — AI 從此知道今天幾號
PreToolUseAI 要動手之前擋高風險動作 (碰到特定資料夾就攔下)
PostToolUseAI 改完檔案之後自動跑程式檢查 — 寫壞當場擋回去
StopAI 回合結束時檢查該更新的紀錄檔有沒有更新

表裡每一條都是我電腦上真的在跑的 hook。最有感的兩個:SessionStart 載斷點(跨對話接關不靠自己記得,就是 checkpoint 那篇的自動化版)跟 PostToolUse 跑檢查(AI 寫的 Python 有問題,存檔當下就被檢查工具擋下來要求修正,不會等到執行才炸)。

第一個 hook 動手做:改完 Python 自動檢查

hook 設定放在 settings.json(個人層級或專案 .claude/ 都可以)。概念長這樣 — PostToolUse 時機、對到編輯動作、跑檢查指令:

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{ "type": "command", "command": "你的檢查指令" }]
    }]
  }
}

非工程師的實話:這段 JSON 不用自己手寫。打開 Claude Code 直接說:「幫我設一個 hook,每次你改完 .py 檔就自動跑 ruff 檢查,設定寫到我的 settings.json」— 讓它自己給自己上規矩,它對這套設定格式比誰都熟。設完驗收:叫它隨便改一個 Python 檔,看檢查有沒有自動跑。

兩個安全提醒:(1) hook 執行的是真實指令,叫 AI 設的時候看一眼它寫進去的 command 是什麼,別放你看不懂的東西 (2) hook 自己壞掉會很吵 — 每次觸發都報錯、AI 做什麼都被打斷。感覺不對就先把那段設定拿掉,修好再放回來。

什麼事值得做成 hook?(先從一個開始)

別一口氣設一堆。從「你被煩最多次的那件事」開始:AI 常忘記跑檢查 → PostToolUse;每個新對話都要重新交代進度 → SessionStart 載斷點;怕它碰到不該碰的資料夾 → PreToolUse 攔截。一個 hook 穩定跑順了,再加下一個。

我的順序參考:第一個設的是 PostToolUse 檢查(最痛),第二個是 SessionStart 載斷點(配合斷點檔,完整做法在 checkpoint 系統那篇),之後才慢慢長出其他的。hooks + skills + MCP 三件套齊了之後,Claude Code 就從「很會做事的助理」變成「有你的 SOP、你的門禁、你的工具箱的分身」— 這也是這系列三篇想帶你走到的地方。

Hook 是在 Claude Code 固定時機自動執行指定動作的機制,跟 CLAUDE.md 規則的本質差別是強制力:規則靠 AI 記得(會漏),hook 由系統到點執行(必跑)。「希望它做」寫規則、「必須每次做」設 hook。5 個時機:SessionStart(開場載進度)、UserPromptSubmit(送話時附時間)、PreToolUse(動手前攔截)、PostToolUse(改完自動檢查)、Stop(收工檢查紀錄) — 每個我都有真實在用的例子。設定在 settings.json,第一個 hook 直接叫 AI 幫你設(「改完 .py 自動跑檢查」),10 分鐘搞定。原則:從最痛的一件開始,跑穩再加。

名詞解釋

hook(掛鉤)
在工具的固定時機(開始對話、寫完檔案、結束回合)自動執行你指定動作的機制。像是幫 AI 設「進門要換鞋」的家規,設一次每次都自動生效。
JSON
程式之間交換資料的通用格式,長得像一層層的「名稱:內容」清單,人眼也讀得懂。
命令列(CLI, Command Line Interface)
用打字指令操作電腦的方式,沒有按鈕跟視窗。Claude Code 就是命令列工具。
排程(cron)
讓程式「每天 8 點」「每小時」自動執行的定時器。自動發文、定期抓資料都靠它。
Python
入門門檻最低的主流程式語言之一,資料處理、自動化、AI 領域的首選。

這篇是收斂後寫的版本。
我每兩週寄一封電子報,講「正在做但還沒寫成文章」的東西——
包含每月幫你過濾值得花時間的新 AI 工具,
以及 Lab 新文的個人版(你會比公開版早一週收到)。

→ 訂閱(雙週一封,第一封自動寄起步清單)

跳轉 Substack、隨時取消、不轉賣 email。

如果內容對你有用就太好了
隨喜斗內

Buy Me a Coffee at ko-fi.com
NEXT CHAPTER ▸ Claude Code Skills 教學:讓 AI 記住你的 SOP

常見問題

Claude Code 的 hook 是什麼?

在固定時機自動執行你指定動作的機制:開場自動載入進度、AI 改完檔案自動跑檢查、收工自動記錄。設定寫在 settings.json。跟寫規則的差別在強制力 — CLAUDE.md 的規則靠 AI 記得(忙起來會漏),hook 由系統到點執行,不經過 AI 的記性,漏一次就出事的檢查都該用 hook。

Hook 跟 CLAUDE.md 的規則差在哪?

「拜託」跟「強制」的差別。CLAUDE.md 寫「改完檔案要跑檢查」,AI 讀了、大部分照做,但有 2 成機率忘記 — 炸掉的都在那 2 成。hook 設「PostToolUse 時自動跑檢查指令」,是系統層的門禁:AI 改完檔案,檢查一定執行。判斷口訣:希望它做 → 寫規則;必須每次都做 → 設 hook。

不會寫程式能設定 hooks 嗎?

能,用最偷懶也最實際的方法:叫 Claude Code 幫自己設。直接說「幫我設一個 hook:每次你改完 .py 檔自動跑 ruff 檢查,寫進 settings.json」,它對自己的設定格式最熟。你要做的是(1) 看一眼它寫的 command 內容合不合理 (2) 驗收:叫它改個檔案,看檢查有沒有自動跑。JSON 看不懂沒關係,會驗收就好。

Hook 有哪些觸發時機?

常用 5 個:SessionStart(每次開場 — 適合自動載入專案進度)、UserPromptSubmit(你每送出訊息 — 適合附加即時資訊如時間)、PreToolUse(AI 動手前 — 適合攔截高風險動作)、PostToolUse(AI 改完檔案後 — 適合自動檢查/格式化)、Stop(回合結束 — 適合檢查紀錄有沒有更新)。完整清單以官方文件為準。從你最痛的一個時機開始設,穩了再加。

Hooks、Skills、MCP 該先學哪個?

順序:先把基本操作跟 CLAUDE.md 用熟(零門檻) → 碰到「AI 摸不到外部服務」再接 MCP → 發現同一套做法每次都要重教,寫成 skill → 發現有些檢查「靠它記得」會漏,設 hook 強制。三件套各管一塊:MCP 給工具、skill 給知識、hook 給紀律 — 都到位後,你的 Claude Code 就是照你規矩做事的分身。

看完這篇之前先確認:

適合你
  • 有些檢查希望「每次都自動做」而不是靠 AI 記得
  • 想在 AI 改完檔案後自動跑檢查 / 格式化
  • 想搞懂 hooks 跟 CLAUDE.md 寫規則差在哪
不適合
  • 還不熟 Claude Code 基本操作 (hooks 是進階題)
  • 完全不想碰設定檔 (hooks 要編輯 JSON)
  • 想控制 AI 的回答內容 (hooks 管流程不管內容)
最常踩
  • 把該用 hook 的事寫進 CLAUDE.md — 寫規則是「拜託」,hook 是「強制」
  • hook 指令自己有 bug — 每次觸發都炸,AI 做什麼都被打斷
  • 一開始就設一堆 — 先從一個最痛的檢查開始

← 回新手教學

⚠ 本站所有內容僅供教育與研究用途,不構成投資建議,不保證任何獲利。投資有風險,使用者須自行判斷並承擔結果。