Claude Code 첫 세션 — Hooks 입문
Claude Code를 처음 실행하고 Hooks로 작업 흐름을 자동화하는 기본 개념을 익힌다.
Claude Code는 터미널에서 동작하는 에이전틱 코딩 도구다. 코드를 읽고, 수정하고, 명령을 실행하는 일련의 작업을 사람이 일일이 지시하지 않아도 목표만 주면 스스로 단계를 나눠 처리한다. 이 문서는 처음 Claude Code를 켠 사용자가 한 번의 세션 안에서 무엇이 일어나는지 감을 잡고, 그 위에 Hooks를 얹어 반복 작업을 자동화하는 출발점을 잡도록 돕는다.
세션이란 무엇인가
세션은 하나의 대화 맥락이다. 사용자가 작업 디렉토리에서 Claude Code를 실행하면, 그 시점부터 종료할 때까지의 모든 요청과 도구 호출이 하나의 맥락 안에 쌓인다. 같은 세션 안에서는 앞서 읽은 파일, 실행한 명령, 내린 결정이 그대로 이어지므로, 큰 작업을 여러 번에 나눠 진행해도 일관성이 유지된다.
세션의 흐름은 대체로 다음과 같이 반복된다. 사용자가 의도를 전하면, 도구가 관련 파일을 탐색하고, 변경 계획을 세우고, 코드를 수정한 뒤, 그 결과를 검증한다. 이 순환을 그림으로 표현하면 이해가 빠르다.
각 단계 사이에는 사람이 개입할 여지가 있다. 계획 단계에서 방향을 바로잡거나, 수정 단계에서 특정 파일을 손대지 말라고 제한할 수 있다. 이렇게 사람과 도구가 번갈아 책임을 나누는 구조가 에이전틱 코딩의 핵심이다.
Hooks가 필요한 이유
세션을 반복하다 보면 "매번 같은 일"이 눈에 띈다. 예를 들어 파일을 수정할 때마다 포매터를 돌리고 싶거나, 작업이 끝날 때마다 테스트를 실행하고 싶을 수 있다. 이런 반복을 사람이 매번 지시하는 대신, 특정 사건이 일어나는 순간 자동으로 실행되도록 묶어 둔 것이 Hook이다.
Hook은 "어떤 사건"과 "그때 실행할 동작"의 짝으로 이해하면 된다. 대표적인 사건의 결로는 다음 세 가지가 있다.
- 도구 실행 직후: 파일을 수정하거나 명령을 실행한 바로 다음 시점. 포매팅·린트 같은 후처리에 적합하다.
- 세션 시작 시점: 새 세션이 열릴 때. 작업 환경을 준비하거나 컨텍스트를 주입하기에 좋다.
- 세션 종료 시점: 작업이 마무리될 때. 정리 작업이나 요약 기록에 어울린다.
작은 Hook 하나 떠올려 보기
가장 흔한 첫 Hook은 "파일을 수정한 직후 포매터를 돌리는 것"이다. 도구가 코드를 바꿀 때마다 스타일이 자동으로 정리되므로, 사람이 포매팅을 신경 쓸 필요가 없어진다. 동작 자체는 단순하지만, 반복에서 해방되는 효과는 세션이 길어질수록 커진다.
핵심은 Hook을 작게, 빠르게, 부작용 없이 유지하는 것이다. 한 Hook이 너무 많은 일을 하거나 오래 걸리면 세션 전체의 흐름이 느려진다. 하나의 사건에는 하나의 분명한 동작을 짝지어 두고, 더 필요하면 Hook을 늘리는 방식이 관리하기 쉽다.
다음 단계
여기까지 익혔다면, 세션의 순환 구조와 Hook의 기본 개념을 잡은 셈이다. 영상으로 첫 세션의 분위기를 한 번 보고 나면 손에 더 잘 붙는다.
다음 문서에서는 작업 범위를 제한하는 방법과, 여러 Hook을 조합해 자신만의 작업 흐름을 만드는 패턴을 다룬다. 우선은 작은 작업 하나를 골라 직접 세션을 열어 보는 것이 가장 좋은 연습이다.