Tag:hooks
All the articles with the tag "hooks".
Claude Code 원격 세션 활용 — 파이프라인이 아니라 내가 부르는 클라우드, '저장소에 커밋된 것만 존재하는' Anthropic 관리 VM, 준비의 두 층(환경의 Setup script ↔ 저장소의 SessionStart Hook)과 환경 캐싱, `CLAUDE_CODE_REMOTE` 게이트와 환경 변수 세 층, `--cloud`로 보내고 `--teleport`로 끌어오는 왕복, push가 현재 브랜치로 잠기는 GitHub 프록시
Published: at 06:18 PM41차시의 마지막 문장이 이번 차시의 문이다 — "파이프라인이 주도하는 자동화에서, 내가 주도하되 실행만 원격인 세션으로." Claude Code on the web(claude.ai/code)은 내 세션을 Anthropic 관리 클라우드 VM에서 굴린다.
Claude Code SessionStart·Stop·SessionEnd Hook — 세션의 양 끝에 환경·검증·정리를 박는 법
Published: at 06:43 PMClaude Code의 세션 라이프사이클 hook을 한 차시로 정리한다. *도구* 단위가 아니라 *세션* 단위에서 발화하는 세 이벤트 — SessionStart(시작·재개·clear·compact), Stop(응답 종료 직전), SessionEnd(세션 종료) — 의 발화 조건, 입력 JSON 스키마, 응답 옵션, 매처 값(SessionStart 4값·SessionEnd 6값·Stop 매처 없음), 그리고 차단 가능 여부(SessionStart 불가·Stop 가능·SessionEnd 불가)를 비교한다.
Claude Code PreToolUse Hook과 보안 — 도구가 실행되기 전에 위험한 명령과 민감 파일을 막는 게이트
Published: at 10:34 PMClaude Code의 PreToolUse Hook을 보안 관점에서 깊게 본다. 도구가 *실행되기 직전*에 발화해 호출 자체를 막을 수 있다는 핵심 성질 — PostToolUse(후처리, 못 막음)와 정반대 — 에서 출발해, 입력 JSON(tool_name·tool_input·tool_use_id, tool_output 없음), 차단의 두 갈래(exit 2 + stderr vs exit 0 + `permissionDecision` JSON), exit 2가 PreToolUse에서는 *블로킹*이라는 점(PostToolUse와 반대이며 exit 1은 차단이 아님), `permissionDecision` 4값(allow/deny/ask/defer)의 정확한 의미, 그리고 Hook과 권한 규칙·권한 모드의 관계 — Hook은 제약을 조이기만 하고 풀지 못한다, deny는 bypassPermissions도 뚫는다, allow는 deny 규칙을 못 이긴다, 여러 hook 병합 시 deny>ask>allow — 를 정리한다. 실전 패턴으로 위험한 Bash 명령 차단(rm -rf·DROP TABLE), 민감 파일 보호(.env·.git/), `ask`로 사용자 승인 에스컬레이션, `updatedInput`으로 입력 sanitize까지 묶고, 정적 권한 패턴과 동적 hook의 역할 분담, matcher와 `if` 필드, 셸 프로필이 JSON 출력을 오염시키는 문제도 함께 본다.
Claude Code PostToolUse Hook 활용 — 편집 직후 포맷팅·린트·테스트를 시스템에 못 박기
Published: at 07:35 PMClaude Code의 PostToolUse Hook을 한 차시로 깊게 본다.
Claude Code Hooks 개념과 이벤트 — settings.json으로 세션 생명주기에 자동화 끼워 넣기
Published: at 10:06 PMClaude Code의 Hooks 시스템을 처음부터 정리한다. Hook이 무엇이고 왜 쓰는지, 어떤 이벤트가 언제 발화하는지(SessionStart·UserPromptSubmit·PreToolUse·PostToolUse·Stop·SubagentStart/Stop·PreCompact·FileChanged·CwdChanged 등 lifecycle 카탕스별 분류), settings.json의 4단 우선순위(Managed > CLI > Local > Project > User), Hook 정의 JSON 구조와 5가지 타입(command/http/mcp_tool/prompt/agent), matcher 패턴 규칙(exact/pipe/regex/이벤트별 필터), exit code(0/2/그 외)와 JSON 출력(decision, hookSpecificOutput, additionalContext), `$CLAUDE_PROJECT_DIR` 같은 환경 변수, `/hooks` 메뉴로 등록 확인, `disableAllHooks`로 일괄 끄기까지 한 차시에 묶는다. 다음 세 차시(29 PostToolUse 활용, 30 PreToolUse 보안, 31 SessionStart/Stop)에서 실전 패턴으로 들어가기 전 준비 차시.