Claude Code Routines: 클라우드 자동화 설정 가이드 (2026)
Claude Code의 routine은 저장된 프롬프트에 리포지토리와 커넥터를 묶은 것으로, 스케줄, API 호출, GitHub 이벤트를 계기로 클라우드에서 자동으로 실행돼요. 노트북은 필요 없어요. Routines는 현재 리서치 프리뷰 기능이라서 동작과 제한이 아직 바뀔 수 있어요. 이 가이드에서는 세 가지 트리거 유형, 설정 방법, 승인 프롬프트 없이 동작하는 설계 뒤의 보안 모델, 정확한 하루 한도, 복사해서 바로 쓰는 세 가지 레시피, 그리고 솔직한 AgentKit 스킬 지름길을 다뤄요.
- Routines는 리서치 프리뷰 중이에요. 아래의 하루 한도, 버전 요건, API 세부 사항은 2026-08-20에 공식 문서와 출시 글을 기준으로 확인했어요. 의존하기 전에 반드시 최신 문서를 확인하세요.
Claude Code Routines란?
routine은 저장된 Claude Code 구성이에요. 프롬프트, 하나 이상의 리포지토리, 커넥터 묶음을 한 번 패키징해서 Anthropic의 클라우드 인프라에서 자동으로 실행하죠(code.claude.com/docs/en/routines.md 기준, 2026-08-20 확인). 터미널이 아니라 클라우드에서 실행되기 때문에, 노트북을 닫아도 routine은 계속 동작해요.
Routines는 Pro, Max, Team, Enterprise 요금제에서 사용할 수 있고, 계정에 Claude Code on the web이 활성화돼 있어야 해요. 생성과 관리는 claude.ai/code/routines에서 하거나, CLI에서 /schedule로 할 수 있어요.
더 들어가기 전에 한 가지 구분해 둘게요. Routines는 Ultrareview(/code-review ultra)와는 다른 기능이에요. 둘 다 클라우드에서 실행되지만, Ultrareview는 PR을 대상으로 실행하는 다중 에이전트 심층 코드 리뷰 과정이지 스케줄러가 아니에요. 이 글은 오로지 Routines에 대한 내용이에요.
세 가지 트리거 유형
routine은 트리거 중 하나가 일치할 때 시작하고, 같은 routine에 여러 개를 붙일 수 있어요.
| 트리거 | 발동 조건 | 대표적인 용도 |
|---|---|---|
| Schedule | 반복 주기(매시간, 매일, 평일, 매주) 또는 미래의 특정 시각에 한 번만 실행. 최소 간격은 1시간이고, 사용자 지정 cron 간격에는 CLI에서 /schedule update가 필요해요. | 야간 의존성 업데이트, 주간 문서 드리프트 점검, 한 번만 실행하는 정리 알림. |
| API | 베어러 토큰으로 인증해 routine 전용 /fire 엔드포인트로 보내는 HTTP POST. | 알림 도구, 배포 파이프라인, 또는 인증된 요청을 보낼 수 있는 모든 시스템에 routine 연결. |
| GitHub | pull_request.*나 release.* 같은 리포지토리 이벤트. 필터(작성자, 제목, 본문, 브랜치, 라벨, 드래프트, 병합 여부)로 좁힐 수도 있어요. | 맞춤형 PR 리뷰, 라벨로 제어하는 백포트, 릴리스로 트리거되는 문서 업데이트. |
하나의 routine으로 셋을 모두 결합할 수도 있어요. 예를 들어 야간에도 실행되고 배포 스크립트에서 수동으로 발동할 수 있는 PR 리뷰 routine처럼요.
Routines vs /loop vs 데스크톱 예약 작업 ― 무엇을 써야 할까
Claude Code에는 키보드 앞에 앉아 있지 않아도 무언가를 실행하는 방법이 사실 세 가지가 있는데, 자주 혼동돼요. 정리하면 이렇습니다.
| 수단 | 실행 위치 | 내 컴퓨터가 켜져 있어야 하나요? | 재시작 후에도 유지되나요? | 가장 알맞은 용도 |
|---|---|---|---|---|
/loop | 현재 CLI 세션 안 | 예 | 아니요 ― 세션을 닫으면 사라져요 | 테스트가 통과할 때까지 다시 실행하는 것처럼, 세션 안에서의 짧은 반복 |
| 데스크톱 예약 작업 | 로컬(데스크톱 앱 경유) | 예(데스크톱 앱이 실행 중이어야 해요) | 예, 다만 그 컴퓨터에 묶여요 | 로컬 파일 접근이 필요한 작업 ― 데스크톱 예약 작업 참고 |
| Routine | Anthropic의 클라우드(또는 자체 호스팅 환경) | 아니요 | 예, 계정 전체에서 | 노트북이 켜져 있는지에 의존하면 안 되는 반복 작업 |
Routines는 로컬 파일 접근을 포기하는 대신 항상 켜져 있는 안정성을 얻어요. 디스크에 이미 있는 파일을 건드리는 대신, 실행할 때마다 리포지토리를 새로 클론하죠.
routine 만드는 방법
routine은 세 곳에서 만들 수 있고, 셋 모두 같은 클라우드 계정에 기록돼요 ― 한 곳에서 만든 routine은 곧바로 다른 곳에도 나타나요.
- 웹:
claude.ai/code/routines에서 New routine. - 데스크톱 앱: 사이드바의 Routines, New routine, 그다음 Cloud 선택(대신 Local을 고르면 routine이 아니라 데스크톱 예약 작업이 만들어져요).
- CLI:
/schedule(별칭/routines), 대화형으로 ― 예를 들어/schedule daily PR review at 9am처럼요. claude.ai 구독 로그인이 필요하고(이 용도에는 API 키를 지원하지 않아요), CLI로 만드는 GitHub 트리거에는 Claude Code v2.1.225 이상이 필요해요.
어느 곳을 쓰든 폼은 같은 단계를 안내해요.
- 이름을 정하고 프롬프트를 작성하세요. 여기가 가장 중요해요. routine은 승인 프롬프트 없이 자율적으로 실행되므로, 프롬프트는 자기완결적이어야 하고 무엇을 해야 하는지와 "완료"가 어떤 상태인지를 분명히 밝혀야 해요.
- 리포지토리를 선택하세요. 각 리포지토리는 실행할 때마다 시작 시점에 기본 브랜치에서 새로 클론돼요. Claude는 변경 사항을
claude/접두사가 붙은 브랜치로 푸시하고, 이 브랜치는 항상 허용돼요. - 클라우드 환경을 고르세요. 여기서 네트워크 접근, 환경 변수, 그리고 의존성 설치용 설정 스크립트(첫 실행 후 캐시됨)를 제어해요.
- 트리거를 하나 이상 선택하세요. Schedule, API, GitHub, 또는 조합.
- 커넥터를 검토하세요. claude.ai 계정에 이미 연결된 모든 MCP 커넥터가 기본으로 포함돼요 ― routine에 필요 없는 것은 제거하세요.
- 생성하세요. routine은 다음에 트리거가 일치할 때, 또는 Run now를 누르면 즉시 실행돼요.
특히 GitHub 트리거의 경우, 대상 리포지토리에 Claude GitHub App이 먼저 설치돼 있어야 해요 ― 없으면 웹 UI가 설치하라고 안내해요. CLI에서는 GitHub App 페이지에서 직접 설치한 다음, 기존 routine에 트리거를 붙여 달라고 Claude에게 요청하세요.
각 실행은 세션 목록에 일반 Claude Code 세션으로 열리고, 거기서 변경 내용을 검토하고 풀 리퀘스트를 열어요. Team과 Enterprise 조직은, 이미 그런 구성이 갖춰져 있다면 Anthropic 자체 클라우드 대신 자체 호스팅 환경으로 실행을 보낼 수도 있어요 ― 그 외의 생성 흐름은 동일해요.
보안 모델 ― 왜 Routines는 승인 프롬프트 없이 실행될까
Routines는 완전히 자율적인 Claude Code 클라우드 세션으로 실행돼요. 권한 모드 선택기도 없고 실행 중 승인 프롬프트도 없어요. 그게 바로 핵심이에요 ― 무인 자동화는 멈춰서 무언가를 물어볼 수 없으니까요. 이는 곧 안전 모델이 "Claude가 위험한 일을 하기 전에 물어볼 것"이라는 전제가 아닌 다른 곳에 있어야 한다는 뜻이에요. routine에 의존하기 전에 이해해 둘 만한 구체적인 세 가지 안전장치가 있어요.
1. 저장된 프롬프트는 실행 중에 동의를 부여할 수 없어요
트리거가 발동하면, 세션은 routine의 저장된 프롬프트를 대화 도중 들어오는 실시간 입력이 아니라 배정된 작업으로 받아요. 트리거가 증명하는 것은 그 프롬프트가 당신 계정의 인가된 세션에 의해 미리 저장되었다는 사실뿐이에요 ― 프롬프트가 Claude에게 시키는 내용을 승인하는 것을 대신하지는 않아요. 세션이 실행 중에 가져오는 콘텐츠는 여전히 평소대로 처리돼요. 특히, CC v2.1.213 이전에는 같은 프롬프트가 Claude가 실행을 거부할 수 있는 신뢰되지 않은 백그라운드 알림으로 전달됐어요 ― Anthropic이 이를 의도적으로 강화했는데, 그 자체가 여기서의 신뢰 경계가 실제로 면밀히 검토됐다는 신호예요.
2. fire로 전달된 텍스트는 신뢰되지 않고 격리돼요
API /fire 엔드포인트의 선택적 text 필드 ― 알림 본문, 실패한 로그, 트리거 시점에 넘기는 무엇이든 ― 는 신뢰되지 않은 데이터로 표시된 <routine-fire-payload> 블록에 감싸여 도착해요. routine 자신의 프롬프트가 명시적으로 수락하지 않는 한(예: "routine-fire-payload 블록에 설명된 알림을 조사하라"), Claude는 그 안의 지시를 따르지 않아요. 그래서 API 토큰이 유출되면 누군가 당신의 routine을 발동할 수는 있지만, 당신의 프롬프트가 이미 fire 페이로드를 무조건 신뢰하지 않는 한 실시간 지시를 몰래 끼워 넣을 수는 없어요.
3. 영향 범위 = 당신이 선택한 것
routine이 닿을 수 있는 것은 당신이 추가한 리포지토리, 환경 정책이 허용하는 네트워크, 그리고 당신이 제거하지 않은 커넥터뿐이에요. 이 모두를 작업에 실제로 필요한 만큼으로 좁히세요.
실행 상태가 초록색이라는 건 세션이 인프라 오류 없이 시작하고 종료했다는 뜻일 뿐, 작업이 성공했다는 뜻은 아니에요. Claude가 실제로 무엇을 했는지 확인하려면 항상 실행 트랜스크립트를 여세요.
사용 한도와 하루 캡
Routines는 인터랙티브 세션과 똑같은 방식으로 평소의 구독 사용량을 소모하고, 여기에 더해 몇 번의 실행을 시작할 수 있는지에 대한 별도의 하루 캡이 있어요.
| 요금제 | 하루 routine 실행 횟수 |
|---|---|
| Pro | 5회/일 |
| Max | 15회/일 |
| Team | 25회/일 |
| Enterprise | 25회/일 |
출처: Anthropic의 출시 글 claude.com/blog/introducing-routines-in-claude-code(2026-04-14 게시, 2026-08-20 확인). 이 수치는 2026년 8월 기준이며 영구적이지 않다고 보세요 ― 문서 자체가 리서치 프리뷰 동안 한도가 바뀔 수 있다고 밝히고 있어요.
캡 표에 나오지 않는 두 가지가 있어요. 한 번만 실행하는 스케줄 실행은 하루 캡에 포함되지 않아요. 그리고 GitHub 웹훅 이벤트는 리서치 프리뷰 동안, 하루 실행 한도와는 별개로 routine별·계정별 시간당 캡의 적용을 받아요. 두 캡 중 하나에 도달하면, 사용 크레딧을 활성화한 조직은 종량제 초과분으로 계속 실행할 수 있어요. 그렇지 않으면 추가 실행은 창이 초기화될 때까지 그냥 거부돼요.
복사해서 쓸 수 있는 실전 routine 레시피
이 세 가지는 Anthropic 공식 문서의 "Example use cases" 섹션 패턴을 따르되, 실제로 붙여 넣을 프롬프트로 다시 쓴 거예요.
1. 야간 의존성 업데이트 PR(Schedule, 매주)
트리거: schedule, 매주. 커넥터: 리포지토리 자체 외에는 필요 없어요.
프롬프트 예시: "package.json과 잠금 파일에서 오래된 의존성을 확인하세요. changelog에 호환성을 깨는 변경이 없는 패치 수준 업데이트에 대해서는, 업데이트한 뒤 무엇이 바뀌었고 각 업데이트가 왜 안전한지 요약한 PR을 여세요. major나 minor는 건너뛰고, 업데이트하는 대신 PR 설명에 표시해 두세요."
2. 알림 분류 온콜 보조(API 트리거)
트리거: API. 모니터링 도구가 알림 본문을 text로 담아 routine의 /fire 엔드포인트로 POST해요.
curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_ID/fire \
-H "Authorization: Bearer TOKEN" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
프롬프트 예시(페이로드를 명시적으로 참조해야 하며, 그러지 않으면 routine은 발동 시 전달된 텍스트를 무시해요): "routine-fire-payload 블록에 설명된 알림을 조사하세요. 스택 트레이스를 가져와 지난 48시간 동안 병합된 커밋과 연관 지어 보고, 알림으로 다시 연결되는 수정안을 담은 드래프트 PR을 여세요."
3. 맞춤형 PR 리뷰(GitHub 트리거, 드래프트 제외)
트리거: GitHub 이벤트 pull_request.opened, 필터는 Is draft = false ― 드래프트가 리뷰를 발동하지 않도록요.
프롬프트 예시: "우리 리뷰 체크리스트를 적용하세요: 처리되지 않은 promise rejection 없음, 새로운 console.log 호출 없음, 새로 export된 함수에는 테스트 있음. 체크리스트를 통과하지 못하는 항목에는 인라인 코멘트를 남기고, 그다음 요약 코멘트 하나를 남겨서 사람 리뷰어가 기계적인 점검 대신 설계에 집중할 수 있게 하세요."
이미 정기적으로 손으로 하는 작업에 맞는 레시피부터 시작하세요 ― 그게 더 정교한 걸 만들기 전에 routine이 정말 시간을 아껴 주는지 가장 빨리 확인하는 방법이에요.
솔직한 관점 ― AgentKit 스킬을 routine의 지시로 쓰기
첫 레시피를 넘기고 나면 정말 유용한 지름길이 있어요. Anthropic 공식 문서가 routine 세션이 "클론된 리포지토리에 커밋된 skill을 사용할 수 있다"고 확인해 줘요 ― Claude Code가 로컬에서 이미 읽는 것과 같은 SKILL.md 파일이에요. ak kit init engineer --target claude-code를 실행하면 일련의 SKILL.md 파일이 리포지토리에 커밋돼요. routine이 클론하는 리포지토리에 그 파일들이 들어 있으면, 리뷰나 분류 로직을 처음부터 작성하는 대신 routine의 프롬프트가 곧바로 그중 하나를 가리킬 수 있어요.
예: 위 레시피 #3에서 체크리스트 전체를 손으로 쓰는 대신, 프롬프트에 "이 PR에 대해 .claude/skills/security-review/SKILL.md를 따르라"고 적고 실제 체크리스트는 skill 파일에 맡길 수 있어요.
솔직하게 선을 긋자면: 이건 skill 파일에 대해서만 확인된 이야기예요. AgentKit 자체 슬래시 명령(/ak:cook 등)이 routine의 자율 발동 세션 안에서 똑같이 동작하는지는 현재 어떤 1차 출처로도 확인되지 않았어요 ― routine 세션은 인터랙티브 CLI 세션이 아니고, 그 맥락에서의 슬래시 명령 처리는 어디에도 문서화돼 있지 않아요. 검증되기 전까지는 키트 슬래시 명령이 아니라 프롬프트에서 skill 파일을 직접 참조하세요. AgentKit 자체는 유료 애드온이고(Engineer Kit $99, 자주 할인됨), Routines 자체는 무료이며 Claude 요금제에 포함돼요. 이 특정 용도에 값할지 판단하기 전에, 키트에 실제로 무엇이 들어 있는지 AgentKit 리뷰에서 확인하세요.
routine을 쓸 때 vs 수동 세션을 쓸 때
작업이 잘 정의돼 있고 반복 가능하며 "완료"가 어떤 모습인지 한 단락으로 설명할 수 있을 때 routine을 쓰세요 ― 의존성 업데이트, 야간 분류, 리뷰 체크리스트처럼요. 잦은 주고받기, 미리 완전히 명시할 수 없는 판단, 또는 "완료"가 무엇인지 아직 모르는 탐색이 필요한 작업에는 수동 인터랙티브 세션을 쓰세요. 유용한 판단 기준: 같은 단계로 같은 작업을 손으로 최소 세 번 해 봤다면, 아마 routine에 맞는 형태예요. 매번 의미 있게 달랐다면, 아직은 아니에요.
출력을 고치려고 매번 routine의 프롬프트를 편집하고 있다면, 그건 보통 그 작업이 아직 routine에 맞는 형태가 아니라는 신호예요 ― 사람이 조금 더 개입해야 해요. 몇 번 더 수동으로 실행하고, 매번 "완료"가 무엇을 뜻했는지 정확히 적어 둔 다음, 그제야 routine의 프롬프트로 바꾸세요.
자주 묻는 질문(FAQ)
Claude Code Routines란 무엇인가요?
routine은 저장된 Claude Code 구성 ― 프롬프트, 하나 이상의 리포지토리, 커넥터 묶음 ― 으로, 스케줄, API 호출, 또는 GitHub 이벤트가 발동하면 Anthropic의 클라우드 인프라에서 자동으로 실행돼요. 노트북을 닫아도 계속 동작해요.
Routines를 쓰려면 유료 요금제가 필요한가요?
네. Routines는 Pro, Max, Team, Enterprise 요금제에서 사용할 수 있고, 계정에 Claude Code on the web이 활성화돼 있어야 해요. routine에는 무료 등급이 없어요.
하루에 routine을 몇 개나 실행할 수 있나요?
하루 실행 캡은 요금제에 따라 달라요. Anthropic 출시 글에 따르면 Pro는 하루 5회, Max는 하루 15회, Team이나 Enterprise는 하루 25회예요(2026년 8월 기준 ― 실시간 횟수는 claude.ai/code/routines에서 확인하세요). 한 번만 실행하는 스케줄 실행은 이 캡에 포함되지 않아요.
Routines는 정식 출시됐나요, 아니면 아직 프리뷰인가요?
2026년 8월 기준 아직 리서치 프리뷰예요. Anthropic 공식 문서가 동작, 제한, API 표면이 바뀔 수 있다고 밝히고 있으니, 정확한 수치에 의존하기 전에 최신 문서를 다시 확인하세요.
routine이 내 MCP 커넥터를 쓸 수 있나요?
네. routine을 만들 때 현재 연결된 모든 MCP 커넥터가 기본으로 포함되고, Claude는 실행 중 허가를 묻지 않고 쓰기를 포함한 그들의 모든 도구를 쓸 수 있어요 ― 그러니 routine에 실제로 필요 없는 것은 제거하세요.
API 트리거 토큰이 유출되면 어떻게 되나요?
토큰을 가진 사람은 누구나 routine을 발동할 수 있지만, 그들이 보내는 텍스트는 신뢰되지 않은 데이터로 표시된 <routine-fire-payload> 블록에 감싸여 도착해요. 그 텍스트에 따라 동작하려면 routine 자신의 저장된 프롬프트가 명시적으로 수락해야 하므로, 당신의 프롬프트가 이미 fire 페이로드를 무조건 신뢰하지 않는 한 유출된 토큰만으로는 실시간 지시를 주입할 수 없어요.
한 routine에 여러 트리거 유형을 결합할 수 있나요?
네. 하나의 routine에 스케줄, API 트리거, GitHub 트리거를 동시에 붙일 수 있어요 ― 예를 들어 야간에 실행되고, 배포 스크립트에서 발동할 수 있으며, 새 풀 리퀘스트마다 반응하는 리뷰 routine처럼요.
결론
작업에 맞는 트리거를 고르세요 ― 주기에는 schedule, 외부 시스템에는 API, 리포지토리 이벤트에는 GitHub ― 그리고 풀어놓기 전에 환경과 커넥터를 좁히세요. 위 목록에서 레시피 하나로 시작하고, 초록색 상태를 믿는 대신 처음 몇 번의 실행 트랜스크립트를 지켜보고, 출력을 신뢰하게 된 뒤에야 복잡성을 더하세요. 혼자 실행하는 대신 여러 에이전트를 한꺼번에 조율해야 하는 프롬프트라면, 여러 subagent 오케스트레이션을 참고하세요.
체크리스트를 처음부터 쓰는 대신 준비된 걸 원하세요? AgentKit의 skill 파일(SKILL.md)은 바로 routine의 프롬프트가 가리킬 수 있는, 리포지토리에 커밋된 지시예요 ― skill에 대해서는 확인됐지만, 발동된 세션 안의 키트 슬래시 명령에 대해서는 아직이에요.