본문으로 건너뛰기
wooncloud

Claude Code /loop 명령어

/loop 은 세션 안에서 반복 프롬프트를 도는 Claude Code 내장 스케줄러로, OS 가 아니라 프로세스에 묶여 터미널을 닫거나 세션이 끝나면 루프도 함께 멈춥니다.

·6 min read·— views··

Claude Code에 내장된 세션 내 스케줄러 슬래시 커맨드입니다.

기본 개념

/loop는 Claude Code에 번들된 skill로, 반복 프롬프트를 백그라운드에서 자동 발사되도록 스케줄하는 명령입니다. interval과 작업 설명을 넘기면 Claude가 그걸 cron 표현식으로 변환하고, job ID와 함께 cadence를 확인해줍니다.

/loop <interval> <prompt>

사용법

기본 형태

/loop 5m check the deploy status and alert me if anything looks off
/loop 30m monitor Slack and Gmail, surface anything urgent
/loop 1h run pnpm test and summarize failures

interval 생략 interval 은 옵션입니다. 생략하면 고정 주기가 아니라 dynamic(self-paced) 모드가 되어, 매 tick 마다 모델이 상황을 보고 다음 실행까지의 지연을 직접 정합니다(1분~1시간 범위로 클램프).

/loop check git status and summarize any new commits

Cron 표현식 /loop 에는 플래그가 없습니다. 문법은 /loop [interval] <prompt> 하나뿐이고, interval 은 5m·2h·1d 같은 Ns/Nm/Nh/Nd 형식(최소 1분)으로만 줍니다. 5필드 cron 표현식은 사용자가 직접 쓰는 게 아니라 /loop 이 내부적으로 변환해 쓰는 값입니다.

기존 슬래시 커맨드/스킬 호출 스케줄될 프롬프트 자체가 다른 슬래시 커맨드나 skill 호출이 될 수 있습니다 — 이미 패키징해 둔 워크플로를 재실행시키는 데 유용합니다.

/loop 1h /code-review

동작 원리

tick이 발생할 때마다 Claude Code가 그 프롬프트를 사용자가 직접 입력한 것처럼 발사합니다. 현재 프로젝트 컨텍스트에서 실행되고, 권한 받은 도구를 사용해서 출력을 만들거나 로깅합니다. 내부적으로 시간 기반 실행 패턴을 등록하는 구조라서 "cron job을 만든다"는 표현이 정확합니다.

⚠️ 핵심 제약: 세션 바인딩

/loop은 OS가 아니라 Claude Code 프로세스 안에서 관리됩니다. 세션이 살아있으면 루프가 돕니다. 터미널을 닫으면 세션이 끝나고 루프도 멈춥니다. process-bound이지 system-bound가 아닙니다.

즉:

  • 노트북 닫으면 끝입니다
  • SSH 세션 끊기면 끝입니다
  • 새벽 3시에 자동으로 도는 cron 대체재가 아닙니다

/schedule과의 차이 (영구 자동화가 필요할 때)

/loop은 세션이 열려 있는 동안만 동작합니다. 터미널을 닫으면 사라집니다. /schedule은 세션과 무관하게 도는 영구 작업을 등록하는데, Claude Code 의 /schedule 이 만드는 건 클라우드 루틴뿐입니다 — claude.ai 로그인과 원격 환경이 있어야 하고, 없으면 명령 자체가 실패합니다. 로컬 머신에서 도는 Desktop 루틴은 Desktop 앱의 Routines 화면에서 따로 만듭니다.

/loop/schedule (Desktop)/schedule (Cloud)GitHub Actions
실행 위치현재 세션로컬 머신Anthropic 서버GitHub runner
세션 종료 시❌ 멈춤✅ (앱 켜져 있으면)✅✅
머신 꺼짐 시❌❌✅✅
팀 공유❌❌❌✅

실제 활용 예시

Claude Code 제작자 Boris Cherny는 여러 loop를 병렬로 돌립니다 — 코드 리뷰 코멘트 자동 처리, Slack 피드백 기반 PR 생성, stale PR 정리 등.

예시:

  • /loop 10m 사내 보안 솔루션 접속 상태 체크하고 끊겼으면 알림 — 작업 중 폴링
  • /loop 30m 채팅 서비스 lock contention 쿼리 모니터링하고 임계치 넘으면 보고 — 디버깅 세션 동안
  • /loop 1h OAuth 관련 에러 로그 grep해서 새로운 패턴 있는지 — 배포 직후 감시
  • /loop 5m staging 배포 결과 확인 — 배포 babysitting

⚠️ 참고: v2.1.71에서 cron 인프라는 동작하는데 /loop 슬래시 커맨드 자체가 미인식되는 버그 리포트가 있었습니다 — 피처 플래그나 등록 누락으로 추정됩니다. 또 CLAUDE_CODE_DISABLE_CRON=1 환경변수가 설정돼 있으면 스케줄러가 비활성화되어 /loop 자체가 동작하지 않습니다.