콘텐츠로 건너뛰기
H-A

Hangbok Archive

  • Wiki
  • NEWS
  • Wiki
  • NEWS

AI 코딩 에이전트 Wiki

  • AI 코딩 에이전트
  • AI 하네스
    • AI 하네스란 무엇인가
    • AI 코딩 에이전트의 주요 구성요소
    • Claude Skills
    • Claude Memory
    • Claude Hook
    • Claude Subagents
    • Claude Rules (Claude.md)
    • 참고) Claude Hook Matcher
  • Claude Code
    • Claude Code 입문
    • VS Code에서 Claude Code 사용하기
    • settings.json으로 권한과 실행 환경 제어하기

LangChain/LangGraph

  • 채팅 시작하기
    • LangChain • LangGraph wiki

OpenSearch

  • OpenSearch wiki
View Categories
  • Home
  • wiki
  • AI 코딩 에이전트 Wiki
  • AI 하네스
  • 참고) Claude Hook Matcher

참고) Claude Hook Matcher

윤후 이
Updated on 6월 5, 2026

3 min read

Claude Hook Matcher 종류 #

표현 방식 기준 Matcher #

종류예시의미주의점
전체 매칭빈 값, *, matcher 생략해당 event가 발생할 때마다 실행자주 실행되는 event에서는 과도하게 넓을 수 있음
정확 매칭Bash특정 값과 정확히 일치할 때 실행tool event에서는 도구 이름과 정확히 일치해야 함
OR 매칭`Edit|Write`여러 값 중 하나와 일치하면 실행파일 수정 계열 Hook에서 자주 사용
정규식 매칭mcp__.*패턴에 맞는 값 전체에 반응너무 넓게 잡으면 의도치 않은 tool까지 포함될 수 있음
event별 의미 매칭startup, permission_prompt, manualevent 종류에 따라 matcher의 의미가 달라짐항상 tool 이름을 의미하는 것은 아님

Tool Event에서 자주 쓰는 Matcher #

Tool event에서는 matcher가 주로 Claude가 사용하려는 도구 이름을 기준으로 동작합니다.

Matcher반응 대상주 용도
BashBash 명령 실행위험 명령 차단, 명령 로깅
Read파일 읽기민감 파일 접근 감시
Edit기존 파일 수정수정 후 lint, formatter 실행
Write새 파일 작성 또는 전체 덮어쓰기생성 파일 검사, 포맷팅
Edit|Write파일 수정 및 작성
Grep검색 도구 사용대규모 검색 로깅
Glob파일 패턴 검색파일 탐색 감시
WebFetch웹 페이지 가져오기특정 URL의 내용을 직접 읽을 때
WebSearch웹 검색검색엔진으로 정보를 찾을 때
Agent서브 에이전트 호출agent 실행 감시
mcp__.*모든 MCP toolMCP 사용 전체 로깅 또는 제한
mcp__github__.*GitHub MCP 서버의 모든 toolGitHub 관련 작업 감시
mcp__memory__.*memory MCP 서버의 모든 toolmemory 저장/조회 감시

SessionStart Matcher #

SessionStart에서는 matcher가 세션이 어떤 방식으로 시작되었는지를 의미합니다.

Matcher의미활용 예
startup새 Claude Code 세션 시작프로젝트 상태 자동 주입
resume기존 세션 재개이전 작업 요약 불러오기
clear/clear 이후 새 컨텍스트 시작필수 규칙 다시 주입
compact컨텍스트 압축 이후 재시작압축 후 손실된 중요 정보 재주입

Notification Matcher #

Notification에서는 matcher가 알림 종류를 의미합니다.

Matcher의미활용 예
permission_promptClaude가 권한 승인을 기다리는 상태데스크톱, Slack, Discord 알림
idle_promptClaude가 사용자 입력을 기다리는 상태작업 완료 알림
auth_success인증이 성공한 상태인증 완료 로그
elicitation_dialogMCP 서버가 사용자 입력 폼을 띄운 상태외부 입력 요청 알림
elicitation_completeMCP 입력 폼이 제출되거나 닫힌 상태입력 완료 로그
elicitation_responseMCP 응답이 서버로 전달된 상태MCP 상호작용 기록

Subagent Matcher #

SubagentStart, SubagentStop에서는 matcher가 실행되는 subagent의 이름 또는 타입을 의미합니다.

Matcher의미활용 예
general-purpose기본 범용 subagent일반 agent 실행 로그
Explore탐색용 agent코드베이스 탐색 시작/종료 기록
Plan계획 수립 agent계획 단계 감시
custom agent name사용자가 정의한 agent 이름보안 리뷰어, 테스트 작성자 등 특정 agent만 감시

Compact 관련 Matcher #

PreCompact, PostCompact에서는 matcher가 컨텍스트 압축 방식을 의미합니다.

EventMatcher의미활용 예
PreCompactmanual사용자가 수동으로 압축 실행압축 전 중요 정보 백업
PreCompactauto자동 압축 발생자동 압축 전 작업 상태 저장
PostCompactmanual수동 압축 완료압축 후 요약 재주입
PostCompactauto자동 압축 완료압축 후 프로젝트 규칙 재주입

ConfigChange Matcher #

ConfigChange에서는 matcher가 어떤 설정 출처가 변경되었는지를 의미합니다.

Matcher의미활용 예
user_settings사용자 전역 설정 변경개인 설정 변경 로그
project_settings프로젝트 설정 변경팀 공유 설정 변경 감시
local_settings로컬 프로젝트 설정 변경개인 실험 설정 감시
policy_settings조직 관리 정책 변경엔터프라이즈 정책 변경 기록
skillsSkill 관련 설정 변경Skill 추가/수정 감시

FileChanged Matcher #

FileChanged는 일반 tool matcher와 다르게, 감시할 파일명을 지정하는 용도로 이해하는 편이 좋습니다.

Matcher의미활용 예
.env.env 파일 변경 감지환경 변수 변경 후 알림
.envrc.envrc 파일 변경 감지direnv reload 안내
package.json패키지 설정 변경 감지dependency 변경 후 install 안내
tsconfig.jsonTypeScript 설정 변경 감지typecheck 재실행
CLAUDE.mdClaude 지침 파일 변경 감지지침 변경 알림

Matcher를 지원하지 않는 Event #

일부 event는 matcher를 적어도 의미가 없고, event 발생 시 항상 실행됩니다.

Event설명
UserPromptSubmit사용자가 프롬프트를 제출할 때마다 실행
PostToolBatchtool batch 처리 후 실행
StopClaude가 응답을 끝내려 할 때마다 실행
TeammateIdle팀원 idle 관련 event
TaskCreatedtask 생성 시 실행
TaskCompletedtask 완료 시 실행
WorktreeCreateworktree 생성 시 실행
WorktreeRemoveworktree 제거 시 실행
MessageDisplay메시지 표시 시 실행
CwdChanged작업 디렉터리 변경 시 실행

이런 event에서는 matcher로 거르기보다, handler 내부에서 조건을 검사해야 합니다.

Matcher 작성 시 주의사항 #

주의사항설명
너무 넓은 matcher는 피하기*, .*, 빈 matcher는 모든 상황에 실행될 수 있음
권한 관련 Hook은 특히 좁게 잡기자동 승인이나 차단 로직이 넓으면 보안 문제가 생길 수 있음
자주 실행되는 event에서는 가볍게 사용PreToolUse, PostToolUse, UserPromptSubmit, Stop 계열은 성능 영향이 큼
MCP matcher는 실제 tool 이름 구조를 알아야 함MCP tool은 보통 mcp__서버명__도구명 형식
Stop에는 matcher가 적용되지 않음완료 조건 검사는 handler 내부에서 처리
FileChanged는 단순 파일명 중심으로 사용복잡한 정규식보다는 .env, package.json처럼 명확히 지정

글이 도움이 되셨나요?
공유하기
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Updated on 6월 5, 2026
Claude Rules (Claude.md)AI 하네스란 무엇인가

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


목차
  • Claude Hook Matcher 종류
    • 표현 방식 기준 Matcher
    • Tool Event에서 자주 쓰는 Matcher
    • SessionStart Matcher
    • Notification Matcher
    • Subagent Matcher
    • Compact 관련 Matcher
    • ConfigChange Matcher
    • FileChanged Matcher
    • Matcher를 지원하지 않는 Event
    • Matcher 작성 시 주의사항

Hangbok Archive

모든 권리 보유