숏컷 코드
claude
claude "explain this project"
claude -p "summarize the current git diff"
claude -c
claude -r "<session-id>" "continue the implementation"
claude -p "review this log" --output-format json실행 형태
claude는 대화형 세션, -p는 한 번 실행하는 headless 호출이다
claude만 실행하면 interactive REPL로 들어갑니다. 코드 탐색, 수정, 권한 확인, 반복 질문처럼 대화가 이어지는 작업에 맞습니다. 반면 claude -p "..."는 프롬프트를 실행하고 결과를 출력한 뒤 종료하므로 shell script, CI 보조 검증, 로그 요약처럼 한 번의 입출력으로 끝나는 작업에 맞습니다.
claude -p "read this build log and return the likely root cause"headless 호출은 편하지만 파일 수정이나 외부 side effect가 섞이면 결과 추적이 어려워질 수 있습니다. 자동화에 넣을 때는 읽기 전용 분석과 변경 작업을 분리하는 편이 안전합니다.
-c와 -r은 이어가기 범위가 다르다
claude -c는 가장 최근 대화를 이어갑니다. 직전에 하던 작업을 바로 계속할 때 편합니다. claude -r <session-id>는 특정 세션을 지정해 재개하므로, 여러 작업을 오가거나 자동화에서 정확한 세션을 이어야 할 때 더 명확합니다.
claude -c
claude -r "abc123" "finish the verification step"세션을 잘못 이어가면 오래된 맥락이나 다른 브랜치 기준의 판단이 섞일 수 있습니다. 재개 전에는 현재 디렉터리, 브랜치, 작업 범위를 다시 확인해야 합니다.
출력 제어
| 목적 | 선택 |
|---|---|
| 사람이 바로 읽는 응답 | 기본 text 출력 |
| 스크립트에서 후처리 | --output-format json |
| 긴 처리 과정을 실시간 소비 | --output-format stream-json |
| 최근 대화 이어가기 | -c |
| 특정 세션 재개 | -r <session-id> |
| 자동 검증에 연결 | -p와 명확한 출력 계약 |
JSON 출력은 자동화에 유리하지만, 응답 본문만 필요한 단순 작업에는 text가 더 다루기 쉽습니다. 중요한 것은 output format보다 “어떤 형태의 결과가 성공인지”를 프롬프트에서 명확히 고정하는 것입니다.
주의할 점
headless mode는 자동화에 붙이기 쉽지만, 자동 커밋·배포·외부 전송처럼 side effect가 있는 작업에는 신중해야 합니다. 먼저 읽기 전용 분석으로 결과를 받고, 실제 변경은 별도 승인 흐름으로 분리하세요.
또 -c로 최근 세션을 이어갈 때는 현재 작업 디렉터리와 브랜치가 이전 세션과 같은지 확인해야 합니다.
참고 링크
2 sources