본문으로 건너뛰기
블로그로 돌아가기
Loopndroll: OpenAI Codex를 절대 멈추지 않게 하는 macOS 앱
튜토리얼

Loopndroll: OpenAI Codex를 절대 멈추지 않게 하는 macOS 앱

6분 읽기0

Loopndroll: OpenAI Codex를 절대 멈추지 않게 하는 macOS 앱

Loopndroll은 OpenAI Codex의 Stop 훅을 활용하여 세션이 자동으로 멈추지 않고 계속 실행되게 만드는 macOS 메뉴바 앱입니다.

OpenAI Codex로 긴 코딩 작업을 맡기다 보면 불편한 순간이 있습니다. 대화 턴이 끝날 때마다 Codex가 자동으로 멈추는 것입니다. 작업 하나를 완료할 때마다 다시 프롬프트를 보내야 하는 번거로움은 생산성을 크게 떨어뜨립니다.

Loopndroll은 이 문제를 정확히 한 가지 방법으로 해결합니다. Codex의 Stop 훅(Hook)에 개입하여 "아직 멈추지 마"라는 신호를 보내는 것입니다.

Loopndroll이란?

Loopndroll은 Alex Barashkov가 개발한 macOS 메뉴바 앱입니다. Swift로 작성되었고 오픈소스(MIT 라이선스)로 공개되어 있습니다. 2026년 3월 28일 v1.0.0이 릴리스된 이후 GitHub에서 170개 이상의 스타를 받으며 빠르게 주목받고 있습니다.

이 앱의 핵심 기능은 단순합니다. Codex 세션이 자동으로 멈추지 않도록 Stop 훅을 관리하는 것입니다. 메뉴바에서 토글 한 번으로 활성화와 비활성화를 전환할 수 있습니다.

Codex Stop 훅의 작동 원리

Loopndroll을 이해하려면 Codex Hooks 시스템을 먼저 알아야 합니다. Codex Hooks는 에이전트 루프에 커스텀 스크립트를 주입할 수 있는 확장성 프레임워크입니다. 지원하는 훅 이벤트는 다섯 가지입니다.

  • SessionStart: 세션 시작 시 발화
  • PreToolUse: 도구 사용 전 발화
  • PostToolUse: 도구 사용 후 발화
  • UserPromptSubmit: 사용자 프롬프트 제출 시 발화
  • Stop: 대화 턴이 끝날 때 발화

Loopndroll은 이 중 Stop 이벤트를 활용합니다. 대화 턴이 끝나려는 순간, Stop 훅이 {"decision":"block","reason":"..."} 응답을 반환합니다. Codex는 이 응답을 받으면 새로운 연속 프롬프트가 들어온 것처럼 처리하여 세션을 계속 실행합니다.

구체적으로 Loopndroll은 다음 경로에 상태를 관리합니다.

  • ~/.codex/config.toml: codex_hooks = true 추가
  • ~/.codex/hooks.json: 관리형 Stop 훅 설치
  • ~/Library/Application Support/loopndroll/state.json: 런타임 상태 저장

앱이 꺼져 있을 때도 훅은 설치된 상태로 유지됩니다. 헬퍼 스크립트가 앱 상태를 확인하고 비활성 시에는 no-op(아무 동작도 하지 않음)을 반환합니다.

설치 방법

설치는 두 가지 방법이 있습니다.

사전 빌드 앱 (권장)

  1. GitHub 릴리스 페이지에서 zip 파일 다운로드
  2. 압축 해제
  3. /Applications 폴더로 이동
  4. 처음 실행 시 우클릭 > 열기 (unsigned 앱이므로 Gatekeeper 우회 필요)

소스 빌드

git clone https://github.com/lnikell/loopndroll.git
cd loopndroll
swift build
swift run Loopndroll

패키징이 필요하면 ./scripts/package_app.sh를 실행하면 됩니다. unsigned ad-hoc signing이 적용됩니다.

두 가지 실행 모드

Loopndroll은 두 가지 모드를 제공합니다.

무한 실행 모드

Codex 세션을 무한히 계속 실행합니다. 턴 제한 없이 작업이 완료될 때까지 Codex가 멈추지 않습니다. 대규모 리팩토링이나 장시간 코딩 작업에 적합합니다.

턴 예산 모드

스레드별로 턴 예산을 설정할 수 있습니다. 예를 들어 "100턴까지만 실행"과 같은 제한을 걸 수 있습니다. 비용 관리가 필요한 경우 유용합니다.

두 모드 모두 메뉴바에서 Start/Stop 토글로 즉시 전환할 수 있습니다.

유사 도구 비교

Loopndroll과 비슷한 목적을 가진 도구들이 있습니다.

도구대상핵심 기능접근 방식
LoopndrollCodex세션 무한 실행Stop 훅 기반
CodeLooperCursorstuck 상태 자동 해결에이전트 모니터링
HoldorClaude/Cursor/WindsurfmacOS 잠자기 방지시스템 레벨 sleep 방지

CodeLooper(codelooper.app)는 Cursor 에이전트가 stuck 상태에 빠지거나 연결 문제가 발생할 때 자동으로 해결해주는 도구입니다. Holdor(holdor.app)는 AI 에이전트가 실행 중일 때 macOS가 잠자기 모드에 들어가지 않게 방지하는 앱입니다.

Loopndroll은 이들과 달리 Codex 전용이며, Stop 훅이라는 Codex 고유 메커니즘을 활용한다는 점에서 차별화됩니다.

주의사항

Loopndroll을 사용하기 전에 알아두어야 할 점이 있습니다.

  • 새 스레드 전용: 훅 설치 후 새로 생성된 Codex 스레드에서만 안정적으로 작동합니다. 이미 실행 중이던 기존 스레드는 훅을 동적으로 인식하지 못할 수 있습니다.
  • 실험적 기능: Codex Hooks 자체가 실험적 기능입니다. config.toml에서 codex_hooks = true feature flag를 활성화해야 합니다.
  • macOS 전용: Windows는 아직 지원하지 않습니다.
  • Gatekeeper 주의: unsigned 앱이므로 다른 Mac에서 실행할 때 우클릭 > 열기가 필요합니다.

커뮤니티 맥락

Codex Stop 훅은 커뮤니티의 요청에서 시작되었습니다. GitHub Issue #14203에서 DMontgomery40이 Stop 훅의 보안 및 자동화 무결성 문제를 제기했고, PR #14532를 통해 Stop 훅 기능이 공식 구현되었습니다(2026년 3월 13일 머지).

이후 Codex는 25시간 연속 실행, 13M 토큰 처리, 30,000줄 코드 생성이 가능한 수준까지 발전했습니다. Loopndroll은 이런 장시간 세션을 실용적으로 활용할 수 있게 만드는 도구입니다.

자주 묻는 질문 (FAQ)

Q: Loopndroll을 사용하면 비용이 더 많이 나오나요? A: Codex 세션이 더 오래 실행되므로 토큰 소비량은 증가합니다. 턴 예산 모드를 활용하면 비용을 관리할 수 있습니다.

Q: 기존에 실행 중인 Codex 스레드에서도 작동하나요? A: 안정성을 위해 훅 설치 후 새로 생성한 스레드에서 사용하는 것을 권장합니다.

Q: Windows에서도 사용할 수 있나요? A: 현재 macOS만 지원합니다. Codex Hooks 자체가 Windows를 아직 지원하지 않습니다.

Q: 앱을 종료하면 Codex도 멈추나요? A: 아닙니다. 훅은 설치된 상태로 유지되지만, 앱이 비활성 상태이면 헬퍼가 no-op을 반환하여 Codex가 정상적으로 멈춥니다.

마무리

Loopndroll은 Codex 사용자에게 꼭 필요한 도구입니다. 설치 30초, 오픈소스, 두 가지 모드. 긴 코딩 작업을 Codex에 맡기는 개발자라면 한번 써볼 가치가 있습니다.