{"id":6393,"date":"2026-07-30T12:15:44","date_gmt":"2026-07-30T03:15:44","guid":{"rendered":"https:\/\/route-zero.com\/recruit\/?post_type=route&#038;p=6393"},"modified":"2026-09-30T12:15:59","modified_gmt":"2026-09-30T03:15:59","slug":"claude-code-hooks-automation","status":"publish","type":"route","link":"https:\/\/route-zero.com\/recruit\/route\/6393\/","title":{"rendered":"Claude Code Hooks\u306e\u4f7f\u3044\u65b9\uff5c\u30c6\u30b9\u30c8\u30fb\u6574\u5f62\u30fb\u5371\u967a\u64cd\u4f5c\u3092\u81ea\u52d5\u5316"},"content":{"rendered":"<p>Claude Code Hooks\u306f\u3001Claude\u306b\u6bce\u56de\u300c\u30c6\u30b9\u30c8\u3057\u3066\u300d\u300clint\u3057\u3066\u300d\u3068\u983c\u3080\u4ee3\u308f\u308a\u306b\u3001\u6c7a\u307e\u3063\u305f\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u51e6\u7406\u3092\u81ea\u52d5\u5b9f\u884c\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3059\u3002\u307e\u305a\u306f\u901a\u77e5\u3084\u6574\u5f62\u306a\u3069\u5f71\u97ff\u306e\u5c0f\u3055\u3044\u51e6\u7406\u304b\u3089\u59cb\u3081\u3001\u30c6\u30b9\u30c8\u3001\u6700\u5f8c\u306b\u5371\u967a\u64cd\u4f5c\u306e\u30d6\u30ed\u30c3\u30af\u3078\u5e83\u3052\u308b\u3068\u8a2d\u8a08\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<h2>\u307e\u305a\u7d50\u8ad6\uff1a\u76ee\u7684\u304b\u3089Hook event\u3092\u9078\u3076<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u3084\u308a\u305f\u3044\u3053\u3068<\/th>\n<th>\u4e3b\u306aevent<\/th>\n<th>\u30bf\u30a4\u30df\u30f3\u30b0<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u5371\u967a\u306a\u30b3\u30de\u30f3\u30c9\u3092\u6b62\u3081\u308b<\/td>\n<td>PreToolUse<\/td>\n<td>Tool\u5b9f\u884c\u306e\u524d<\/td>\n<\/tr>\n<tr>\n<td>\u7de8\u96c6\u5f8c\u306blint\u30fb\u30c6\u30b9\u30c8\u3092\u56de\u3059<\/td>\n<td>PostToolUse<\/td>\n<td>Tool\u304c\u6210\u529f\u3057\u305f\u5f8c<\/td>\n<\/tr>\n<tr>\n<td>\u30bb\u30c3\u30b7\u30e7\u30f3\u958b\u59cb\u6642\u306b\u74b0\u5883\u60c5\u5831\u3092\u6e96\u5099\u3059\u308b<\/td>\n<td>SessionStart<\/td>\n<td>\u30bb\u30c3\u30b7\u30e7\u30f3\u958b\u59cb\u30fb\u518d\u958b\u6642<\/td>\n<\/tr>\n<tr>\n<td>\u5b8c\u4e86\u6642\u306b\u78ba\u8a8d\u51e6\u7406\u3092\u5165\u308c\u308b<\/td>\n<td>Stop<\/td>\n<td>Claude\u304c\u5fdc\u7b54\u3092\u7d42\u3048\u308b\u3068\u304d<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Claude Code\u306e\u516c\u5f0fHooks\u4ed5\u69d8\u3067\u306f\u3001event\u304c\u767a\u706b\u3057\u3001matcher\u304c\u4e00\u81f4\u3059\u308b\u3068handler\u3078JSON\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u6e21\u3055\u308c\u307e\u3059\u3002PreToolUse\u306fTool\u5b9f\u884c\u524d\u306b\u52d5\u304d\u3001\u7d50\u679c\u306b\u3088\u3063\u3066Tool call\u3092\u6b62\u3081\u3089\u308c\u307e\u3059\u3002PostToolUse\u306fTool\u304c\u6210\u529f\u3057\u305f\u5f8c\u306b\u52d5\u304d\u307e\u3059\u3002<\/p>\n<hr>\n<h2>Hooks\u306e\u8a2d\u5b9a\u306fevent\u30fbmatcher\u30fbhandler\u306e3\u6bb5\u968e\u3067\u8003\u3048\u308b<\/h2>\n<blockquote>\n<p><strong>\u7528\u8a9e\u89e3\u8aac\uff1aHook<\/strong><br \/>Claude Code\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u4e0a\u306e\u7279\u5b9a\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u81ea\u52d5\u5b9f\u884c\u3055\u308c\u308b\u51e6\u7406\u3067\u3059\u3002shell command\u3001HTTP endpoint\u3001LLM prompt\u306a\u3069\u3092handler\u3068\u3057\u3066\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n<\/blockquote>\n<p>\u8a2d\u5b9a\u306f\u300c\u3044\u3064\u5b9f\u884c\u3059\u308b\u304b\u300d\u3092event\u3067\u6c7a\u3081\u3001\u300c\u3069\u306eTool\u306b\u53cd\u5fdc\u3059\u308b\u304b\u300d\u3092matcher\u3067\u7d5e\u308a\u3001\u300c\u4f55\u3092\u5b9f\u884c\u3059\u308b\u304b\u300d\u3092handler\u3067\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u305f\u3068\u3048\u3070PostToolUse\u3067matcher\u3092Edit|Write\u306b\u3059\u308b\u3068\u3001\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6\u7cfbTool\u306e\u6210\u529f\u5f8c\u3060\u3051\u51e6\u7406\u3092\u8d70\u3089\u305b\u3089\u308c\u307e\u3059\u3002<\/p>\n<pre><code>{\r\n  &quot;hooks&quot;: {\r\n    &quot;PostToolUse&quot;: [\r\n      {\r\n        &quot;matcher&quot;: &quot;Edit|Write&quot;,\r\n        &quot;hooks&quot;: [\r\n          {\r\n            &quot;type&quot;: &quot;command&quot;,\r\n            &quot;command&quot;: &quot;.\/scripts\/lint-check.sh&quot;\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}<\/code><\/pre>\n<p>Hook\u306f\u81ea\u52d5\u3067\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3067\u304d\u308b\u305f\u3081\u3001\u8a2d\u5b9a\u4f8b\u3092\u305d\u306e\u307e\u307e\u8cbc\u308b\u524d\u306b\u5b9f\u884c\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u5171\u6709Repository\u3067\u306f\u3001\u4fe1\u983c\u3067\u304d\u308bScript\u3060\u3051\u3092project\u8a2d\u5b9a\u304b\u3089\u547c\u3073\u51fa\u3057\u3001\u500b\u4eba\u74b0\u5883\u3060\u3051\u306e\u51e6\u7406\u306flocal\u8a2d\u5b9a\u3078\u5206\u3051\u308b\u65b9\u304c\u7ba1\u7406\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<hr>\n<h2>\u8a2d\u5b9a\u5834\u6240\u306f\u5171\u6709\u7bc4\u56f2\u3067\u9078\u3076<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u8a2d\u5b9a\u5834\u6240<\/th>\n<th>\u7bc4\u56f2<\/th>\n<th>\u5411\u304f\u7528\u9014<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>~\/.claude\/settings.json<\/td>\n<td>\u81ea\u5206\u306e\u5168Project<\/td>\n<td>\u500b\u4eba\u5171\u901a\u306e\u901a\u77e5\u30fb\u88dc\u52a9\u51e6\u7406<\/td>\n<\/tr>\n<tr>\n<td>.claude\/settings.json<\/td>\n<td>1 Project\u30fb\u5171\u6709\u53ef\u80fd<\/td>\n<td>\u30c1\u30fc\u30e0\u5171\u901a\u306elint\u30fbtest\u30fb\u5b89\u5168\u30c1\u30a7\u30c3\u30af<\/td>\n<\/tr>\n<tr>\n<td>.claude\/settings.local.json<\/td>\n<td>1 Project\u30fb\u30ed\u30fc\u30ab\u30eb<\/td>\n<td>\u7aef\u672b\u56fa\u6709\u306e\u30b3\u30de\u30f3\u30c9\u3084\u500b\u4eba\u8a2d\u5b9a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u306f\u3001\u8a2d\u5b9a\u5834\u6240\u306b\u3088\u3063\u3066Hook\u306e\u9069\u7528\u7bc4\u56f2\u3068\u5171\u6709\u53ef\u5426\u304c\u5909\u308f\u308a\u307e\u3059\u3002\u30c1\u30fc\u30e0\u5168\u54e1\u306b\u5fc5\u8981\u306a\u54c1\u8cea\u30c1\u30a7\u30c3\u30af\u3068\u3001\u500b\u4eba\u7aef\u672b\u306b\u4f9d\u5b58\u3059\u308b\u51e6\u7406\u3092\u5206\u3051\u308b\u3068\u3001\u8a2d\u5b9a\u306e\u610f\u56f3\u304c\u4f1d\u308f\u308a\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<hr>\n<h2>\u7de8\u96c6\u5f8c\u306elint\u3084\u30c6\u30b9\u30c8\u306fPostToolUse\u3067\u7d5e\u308b<\/h2>\n<p>\u30d5\u30a1\u30a4\u30eb\u5909\u66f4\u5f8c\u306b\u6bce\u56de\u540c\u3058\u691c\u67fb\u3092\u3057\u305f\u3044\u5834\u5408\u306f\u3001PostToolUse\u306e\u5bfe\u8c61Tool\u3092matcher\u3067\u7d5e\u308a\u307e\u3059\u3002Anthropic\u3082Hooks\u306e\u5229\u7528\u4f8b\u3068\u3057\u3066\u3001\u30b3\u30fc\u30c9\u5909\u66f4\u5f8c\u306e\u30c6\u30b9\u30c8\u5b9f\u884c\u3084commit\u524d\u306elint\u3092\u6319\u3052\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre><code>{\r\n  &quot;hooks&quot;: {\r\n    &quot;PostToolUse&quot;: [\r\n      {\r\n        &quot;matcher&quot;: &quot;Edit|Write&quot;,\r\n        &quot;hooks&quot;: [\r\n          {\r\n            &quot;type&quot;: &quot;command&quot;,\r\n            &quot;command&quot;: &quot;npm test -- --runInBand&quot;\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}<\/code><\/pre>\n<p>\u91cd\u3044\u30c6\u30b9\u30c8\u3092\u3059\u3079\u3066\u306e\u7de8\u96c6\u5f8c\u306b\u56de\u3059\u3068\u5f85\u3061\u6642\u9593\u304c\u5897\u3048\u307e\u3059\u3002\u8efd\u3044lint\u3084\u5bfe\u8c61\u30c6\u30b9\u30c8\u3092PostToolUse\u306b\u7f6e\u304d\u3001\u5168\u30c6\u30b9\u30c8\u306fStop\u3084CI\u306a\u3069\u5225\u306e\u5883\u754c\u3067\u5b9f\u884c\u3059\u308b\u3001\u3068\u3044\u3063\u305f\u5206\u62c5\u3082\u691c\u8a0e\u3057\u307e\u3059\u3002<\/p>\n<h2>\u5371\u967a\u64cd\u4f5c\u3092\u6b62\u3081\u305f\u3044\u306a\u3089PreToolUse\u3067\u5b9f\u884c\u524d\u306b\u5224\u5b9a\u3059\u308b<\/h2>\n<p>\u524a\u9664\u3084\u672c\u756a\u64cd\u4f5c\u306a\u3069\u3001\u5b9f\u884c\u5f8c\u3067\u306f\u9045\u3044\u51e6\u7406\u306fPreToolUse\u5074\u3067\u78ba\u8a8d\u3057\u307e\u3059\u3002\u516c\u5f0fHooks\u4ed5\u69d8\u3067\u306fPreToolUse\u304b\u3089Tool call\u3092deny\u3067\u304d\u308b\u305f\u3081\u3001Bash\u306e\u3088\u3046\u306a\u5b9f\u884cTool\u3092matcher\u3067\u7d5e\u308a\u3001\u5165\u529b\u5185\u5bb9\u3092\u691c\u67fb\u3059\u308b\u69cb\u6210\u304c\u53d6\u308c\u307e\u3059\u3002<\/p>\n<pre><code>{\r\n  &quot;hooks&quot;: {\r\n    &quot;PreToolUse&quot;: [\r\n      {\r\n        &quot;matcher&quot;: &quot;Bash&quot;,\r\n        &quot;hooks&quot;: [\r\n          {\r\n            &quot;type&quot;: &quot;command&quot;,\r\n            &quot;command&quot;: &quot;${CLAUDE_PROJECT_DIR}\/.claude\/hooks\/check-command.sh&quot;\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}<\/code><\/pre>\n<p>\u5224\u5b9aScript\u306f\u300c\u3059\u3079\u3066\u8a31\u53ef\u3059\u308b\u300d\u524d\u63d0\u306b\u305b\u305a\u3001\u3069\u306e\u64cd\u4f5c\u3092\u6b62\u3081\u308b\u304b\u3092\u5c0f\u3055\u304f\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u307e\u305fHook\u304c\u9ed9\u3063\u3066\u7d42\u4e86\u3057\u305f\u3053\u3068\u3068\u3001Claude Code\u306e\u901a\u5e38\u306epermission\u5224\u5b9a\u3067\u8a31\u53ef\u3055\u308c\u305f\u3053\u3068\u306f\u5225\u3067\u3059\u3002<\/p>\n<h2>Hooks\u304c\u52d5\u304b\u306a\u3044\u3068\u304d\u306f4\u70b9\u3092\u78ba\u8a8d\u3059\u308b<\/h2>\n<ul>\n<li>event\u540d\u304c\u76ee\u7684\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3068\u4e00\u81f4\u3057\u3066\u3044\u308b\u304b<\/li>\n<li>matcher\u304c\u5b9f\u969b\u306eTool\u540d\u306b\u4e00\u81f4\u3057\u3066\u3044\u308b\u304b<\/li>\n<li>command\u306epath\u3068\u5b9f\u884c\u6a29\u9650\u304c\u6b63\u3057\u3044\u304b<\/li>\n<li>project\u30fblocal\u30fbuser\u306e\u3069\u306esettings\u306b\u8a2d\u5b9a\u3057\u305f\u304b<\/li>\n<\/ul>\n<p>\u7279\u306bmatcher\u306fTool event\u3067\u306fTool\u540d\u3092\u5bfe\u8c61\u306b\u3057\u307e\u3059\u3002Edit|Write\u306e\u3088\u3046\u306b\u8907\u6570\u540d\u3092\u6307\u5b9a\u3067\u304d\u3001matcher\u3092\u7701\u7565\u3059\u308b\u3068\u305d\u306eevent\u306e\u5168\u767a\u706b\u304c\u5bfe\u8c61\u306b\u306a\u308a\u307e\u3059\u3002\u6700\u521d\u306f\u5bfe\u8c61\u3092\u72ed\u304f\u3057\u3066\u3001\u610f\u56f3\u3057\u305fTool\u3067\u3060\u3051\u52d5\u304f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<h2>Hooks\u3092\u5165\u308c\u308b\u9806\u756a\uff1a\u901a\u77e5\u2192\u54c1\u8cea\u30c1\u30a7\u30c3\u30af\u2192\u5b9f\u884c\u5236\u5fa1<\/h2>\n<ul>\n<li>\u307e\u305a\u901a\u77e5\u3084\u30ed\u30b0\u3067event\u306e\u767a\u706b\u3092\u7406\u89e3\u3059\u308b<\/li>\n<li>\u6b21\u306bformat\u30fblint\u306a\u3069\u53ef\u9006\u306a\u54c1\u8cea\u30c1\u30a7\u30c3\u30af\u3092\u81ea\u52d5\u5316\u3059\u308b<\/li>\n<li>\u5bfe\u8c61\u3092\u7d5e\u3063\u305ftest\u3092\u8ffd\u52a0\u3059\u308b<\/li>\n<li>\u6700\u5f8c\u306bPreToolUse\u3067\u5371\u967a\u64cd\u4f5c\u306e\u5b9f\u884c\u5236\u5fa1\u3092\u8ffd\u52a0\u3059\u308b<\/li>\n<li>Repository\u3067\u5171\u6709\u3059\u308bHook\u306fScript\u5185\u5bb9\u3082\u30ec\u30d3\u30e5\u30fc\u5bfe\u8c61\u306b\u3059\u308b<\/li>\n<\/ul>\n<p>Hooks\u306fClaude\u306e\u5224\u65ad\u3092\u7f6e\u304d\u63db\u3048\u308b\u6a5f\u80fd\u3067\u306f\u306a\u304f\u3001\u6bce\u56de\u540c\u3058\u54c1\u8cea\u30fb\u5b89\u5168\u30eb\u30fc\u30eb\u3092\u6c7a\u5b9a\u8ad6\u7684\u306b\u5b9f\u884c\u3059\u308b\u88dc\u52a9\u7dda\u3068\u3057\u3066\u4f7f\u3046\u3068\u5f79\u5272\u304c\u660e\u78ba\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a1\u3064\u306eProject\u3067PostToolUse\u306elint Hook\u3092\u8a2d\u5b9a\u3057\u3001\u3069\u306eTool\u3067\u767a\u706b\u3059\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304b\u3089\u30c6\u30b9\u30c8\u3084\u5b9f\u884c\u5236\u5fa1\u3078\u5e83\u3052\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n","protected":false},"featured_media":6394,"template":"","meta":{"ssp_meta_title":"Claude Code Hooks\u306e\u4f7f\u3044\u65b9\uff5c\u8a2d\u5b9a\u30fbmatcher\u30fb\u30c6\u30b9\u30c8\u81ea\u52d5\u5316","ssp_meta_description":"Claude Code Hooks\u306e\u4f7f\u3044\u65b9\u3092\u3001event\u30fbmatcher\u30fbhandler\u306e\u57fa\u672c\u304b\u3089\u89e3\u8aac\u3002PostToolUse\u3067lint\u3084\u30c6\u30b9\u30c8\u3001PreToolUse\u3067\u5371\u967a\u64cd\u4f5c\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\u8a2d\u5b9a\u4f8b\u3068\u3001\u5b89\u5168\u306a\u5c0e\u5165\u9806\u3092\u6574\u7406\u3057\u307e\u3059\u3002","ssp_meta_keyword":"Claude Code Hooks,Claude Code hooks \u4f7f\u3044\u65b9,PreToolUse,PostToolUse,Claude Code matcher,Claude Code settings.json,Claude Code \u81ea\u52d5\u5316","ssp_meta_canonical":""},"route_category":[8],"_links":{"self":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/route\/6393"}],"collection":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/route"}],"about":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/types\/route"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/media\/6394"}],"wp:attachment":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/media?parent=6393"}],"wp:term":[{"taxonomy":"route_category","embeddable":true,"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/route_category?post=6393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}