에이전트 운영Agent operations

claude-code-launchd-loops

Claude Code를 주기적으로 무인 실행하는 macOS launchd 작업을 명령 한 줄로 만들어 주는 생성기입니다.

GitHub에서 보기View on GitHub

어떤 문제를 푸나The problem

세션 안의 반복 예약은 세션이 끝나면 사라집니다. launchd 에이전트는 재시작을 넘어 자율 루프를 유지합니다. 이 스크립트는 실행용 래퍼 스크립트와 plist를 만들어 줄 뿐 설치하거나 로드하지는 않습니다.

무인 실행은 위험할 수 있으므로 기본 상태에서는 권한을 건너뛰지 않습니다. 필요한 도구만 --allowed-tools로 허용하고, 모든 권한 건너뛰기는 --unsafe-skip-permissions를 직접 줘야 켜집니다.

이런 분께 맞습니다Who it is for

Claude Code를 정해진 시각에 무인으로 돌리고 싶은 macOS 사용자.

무엇을 하나What it does

  • 작업 이름, 프로젝트 경로, 실행 분, 프롬프트 파일로 래퍼와 plist를 만듭니다.
  • 0~59 밖의 분, 상대 경로, 셸·XML 특수문자가 든 경로나 라벨을 거부합니다.
  • 프롬프트 파일에 PROMPT_EOF 줄이 있으면 거부해 스크립트가 중간에 끊기는 것을 막습니다.
  • launchd 라벨은 --label-prefix로 정하고, 로드는 launchctl bootstrap으로 직접 합니다.

직접 돌려 본 출력Real output

저장소의 examples 폴더를 실행한 결과입니다.

$ bash examples/demo.sh
# Generate a launchd job that runs Claude Code headless at minutes 7 and 37 of every hour
$ scripts/make-loop.sh --name demo --dir /path/to/your/project --minutes 7,37 --prompt-file .demo-tmp/prompt.txt --out .demo-tmp/out
wrote .demo-tmp/out/demo-loop.sh
wrote .demo-tmp/out/com.example.demo-loop.plist
[exit 0]

com.example.demo-loop.plist
demo-loop.sh

# The generated plist, validated:
.demo-tmp/out/com.example.demo-loop.plist: OK

# Minutes outside 0-59 are refused:
$ scripts/make-loop.sh --name demo --dir /tmp --minutes 75 --prompt-file .demo-tmp/prompt.txt --out .demo-tmp/o2
[exit 2]

minute > 59

알아둘 한계Limits

  • macOS 전용이며 테스트는 생성물의 유효성까지만 확인합니다. 실제 예약 실행은 확인하지 않습니다.
  • 예약 실행은 API 사용량을 쓰므로 주기와 비용을 확인하고 쓰십시오.

받아서 쓰기Get it

# 저장소를 받습니다
git clone https://github.com/Kein-chronicle/claude-code-launchd-loops.git

# Claude Code 스킬로 쓰려면 이 폴더 이름으로 받습니다
git clone https://github.com/Kein-chronicle/claude-code-launchd-loops.git ~/.claude/skills/scheduled-claude-loops

정보Info

분류Category
에이전트 운영Agent operations
형태Type
명령줄 도구Command-line tool
라이선스License
MIT
필요한 것Requires
bash, macOS(plutil, zsh)
저장소Repository
claude-code-launchd-loops
토픽Topics
claude-code claude-skills agent-skills launchd macos automation scheduling cron

2026-10-18 기준: 저장소의 테스트를 로컬에서 실행해 통과했고, 예제 출력은 저장소의 examples 폴더를 실제로 실행한 결과입니다.

공유하기Share

문자Message 네이버 블로그Naver Blog X Facebook