seonest

Use Notification (abc-notify)

Codex CLI에서 abc-notify를 연결해 작업 완료와 승인 요청을 macOS 알림으로 받는 설정 가이드

소개

Codex CLI를 오래 돌려두면 응답 완료나 승인 요청 타이밍을 놓치기 쉽습니다.

abc-notify는 Codex의 notify hook에 연결되어 agent-turn-complete, agent-turn-paused 이벤트를 데스크톱 알림으로 보여줍니다.

핵심은 ~/.codex/config.tomlnotify 배열에 abc-notify를 연결하는 것입니다.

언제 쓰면 좋은가

  • Codex 작업을 백그라운드처럼 돌려두고 다른 창에서 일할 때
  • 승인 요청이 뜨는 시점을 바로 알고 싶을 때
  • 저장소마다 알림 강도나 터미널 앱 우선순위를 다르게 쓰고 싶을 때

준비물

  • macOS
  • Codex CLI
  • terminal-notifier
  • jq

기본 의존성 설치:

Terminal
brew install terminal-notifier jq

포커스 복귀 참고

Codex에서 abc-notify는 알림 클릭 시 현재 Codex 세션이 돌고 있던 앱을 다시 활성화합니다. Claude Code처럼 "정확한 창" 복귀는 아니고 앱 포커스 복귀 기준입니다.

1. abc-notify 설치

가장 쉬운 방법은 Homebrew입니다.

Terminal
brew tap JHSeo-git/tap
brew install abc-notify

직접 저장소 기준으로 설치하고 싶다면:

Terminal
cd ~/Projects
git clone https://github.com/JHSeo-git/abc-notify.git
cd abc-notify
bash scripts/manual-install.sh

수동 설치 스크립트는 abc-notify, abc-notify-native를 설치한 뒤 setup all, doctor까지 실행합니다.

2. Codex에 notify hook 연결

자동 설정:

Terminal
abc-notify setup codex

이 명령은 ~/.codex/config.tomlnotify 배열에 abc-notify를 추가합니다.

직접 보면 최소 형태는 아래와 같습니다.

~/.codex/config.toml
notify = ["abc-notify"]

이미 notify 항목이 있다면 전체를 덮어쓰지 말고 기존 배열에 "abc-notify"만 추가합니다.

3. 수동으로 설정할 때

자동 설정 대신 직접 넣고 싶다면 ~/.codex/config.toml을 아래처럼 맞춥니다.

~/.codex/config.toml
model = "gpt-5.4"
model_reasoning_effort = "high"

notify = ["abc-notify"]

4. 프로젝트별로 알림 동작 바꾸기

abc-notify는 전역 ~/.abc-notify.env, 프로젝트별 ./.abc-notify.env를 읽습니다.

이 저장소에서만 알림 스로틀과 터미널 앱 우선순위를 다르게 두고 싶다면:

.abc-notify.env
TERMINAL_APP=iTerm2,Terminal,WezTerm
NOTIFY_THROTTLE=5
NOTIFY_TITLE_CODEX="Codex · blog.seonest.net"

자주 쓰는 값:

  • TERMINAL_APP: 포커스 복귀와 활성화에 사용할 터미널 앱 목록
  • NOTIFY_SOUND: macOS 시스템 사운드 이름
  • NOTIFY_THROTTLE: 중복 알림 최소 간격(초)
  • NOTIFY_DISABLED=true: 알림 완전 비활성화
  • NOTIFY_TITLE_CODEX: Codex 알림 제목 변경

5. 동작 확인

설정 후 검사는 이 명령 하나로 충분합니다.

Terminal
abc-notify doctor

그 다음 Codex를 재시작하고, 시간이 조금 걸리는 작업 하나를 실행해 봅니다.

정상이라면:

  1. 작업 완료 시 완료 알림이 옵니다.
  2. 승인 요청이 필요할 때 별도 알림이 옵니다.
  3. 알림 클릭 시 Codex를 실행 중이던 터미널 앱이 다시 앞으로 옵니다.

중요

notify 설정을 바꾼 뒤에는 실행 중인 Codex 세션을 재시작해야 반영됩니다.

트러블슈팅

알림이 안 올 때

  • abc-notify doctor 출력 확인
  • ~/.codex/config.tomlnotify 배열 확인
  • Codex 재시작 여부 확인
  • terminal-notifier, jq 설치 여부 확인
  • macOS 알림 권한 확인
  • NOTIFY_DISABLED=true가 켜져 있지 않은지 확인

클릭 복귀가 기대와 다를 때

Codex 쪽 abc-notify는 앱 활성화 기준입니다. 정확한 창 복귀는 Claude Code + abc-notify-native 조합이 더 강합니다.

현재 터미널이 감지되지 않는 것 같으면 TERMINAL_APP을 명시적으로 넣어 보세요.

.abc-notify.env
TERMINAL_APP=iTerm2,Terminal,WezTerm

저장소마다 다르게 동작시키고 싶을 때

프로젝트 루트에 .abc-notify.env를 두면 됩니다. 전역 ~/.abc-notify.env보다 프로젝트 설정이 우선합니다.

관련 문서

On this page