/goal로 완료 조건까지 계속 작업
기준일: 2026-07-26
난이도: 중급
공식 기준: Keep Claude working toward a goal
/goal은 완료 조건을 걸고, 조건이 만족될 때까지 Claude가 턴을 자동으로 이어서 작업하게 합니다. 각 턴 종료 후 작은 빠른 모델(기본 Haiku 계열)이 조건을 평가합니다. Claude Code v2.1.139 이상이 필요합니다.
핵심 개념
| 방식 | 다음 턴이 시작되는 때 | 멈추는 때 |
|---|---|---|
/goal |
이전 턴 종료 | 평가 모델이 조건 충족 판정 |
/loop |
시간 간격 | 사용자가 중지하거나 Claude가 종료 판단 |
| Stop hook | 이전 턴 종료 | 스크립트/프롬프트 훅 로직 |
Auto mode는 한 턴 안의 도구 승인만 자동화하고 새 턴을 시작하지 않습니다. /goal과 함께 쓰면 무인 연속 작업에 가깝습니다.
세션 밖 주기 실행은 Routines·Desktop scheduled tasks를 검토하세요.
선택 기준
적합한 예:
test/auth테스트가 모두 통과하고 lint가 깨끗할 때까지- 설계 문서 수락 기준이 모두 충족될 때까지
- 큰 파일을 모듈로 쪼개 각각 크기 예산을 만족할 때까지
조건 작성 팁:
- 측정 가능한 종료 상태 하나 (테스트 결과, exit code, 파일 개수)
- 증명 방법 (
npm testexit 0,git statusclean) - 제약 (다른 테스트 파일 수정 금지 등)
- 필요 시
or stop after 20 turns처럼 상한 포함 - 조건은 최대 4,000자. 평가기는 도구를 쓰지 않고 대화에 이미 나온 결과만 본다
실습
/goal all tests in test/auth pass and the lint step is clean
- 활성 목표가 있으면
◎ /goal active표시 - 상태:
/goal(인자 없음) - 해제:
/goal clear(stop,off,reset,none,cancel별칭)./clear도 목표 제거 - 세션당 목표 하나. 새
/goal은 교체 --resume/--continue시 활성 목표는 복원되지만 턴·시간·토큰 베이스라인은 리셋
비대화형:
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
claude -p "/goal ..." --output-format stream-json --verbose
기본 text 출력은 조건 충족 전까지 조용할 수 있어 stream-json이 관측에 유리합니다.
요구 사항: workspace trust 수락, disableAllHooks 미설정, managed allowManagedHooksOnly 환경에서는 제한될 수 있음.
도구에 입력할 프롬프트
다음 작업을 /goal 조건 문장으로 바꿔줘.
측정 가능한 종료 상태, 검증 명령, 건드리면 안 되는 경로, 턴 상한을 포함해.
조건이 대화 로그만으로 평가 가능한지 검토해줘.
체크리스트
- 조건이 도구 재실행 없이도 transcript로 검증 가능하다.
- 권한 모드(필요 시 auto mode)를 맞췄다.
- 무한 루프 방지를 위해 턴/시간 상한을 넣었다.
- 비용이 큰 작업은 먼저 작은 범위로 시험했다.