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 출력을 오염시키는 문제도 함께 본다.