Claude Code /loop 명령어
/loop 은 세션 안에서 반복 프롬프트를 도는 Claude Code 내장 스케줄러로, OS 가 아니라 프로세스에 묶여 터미널을 닫거나 세션이 끝나면 루프도 함께 멈춥니다.
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 failuresinterval 생략 interval 은 옵션입니다. 생략하면 고정 주기가 아니라 dynamic(self-paced) 모드가 되어, 매 tick 마다 모델이 상황을 보고 다음 실행까지의 지연을 직접 정합니다(1분~1시간 범위로 클램프).
/loop check git status and summarize any new commitsCron 표현식
/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자체가 동작하지 않습니다.