Claude Code + Slack 알림 자동화: 권한 요청까지 상세하게 알림받기

TL;DR

  • Claude Code에서 권한 요청, 입력 대기 시 Slack으로 자동 알림
  • 실행할 명령어, 파일 경로 등 상세 정보 포함
  • PreToolUse hook과 연동하여 컨텍스트 정보 제공
  • 환경변수 설정만으로 간단하게 활성화/비활성화 가능

왜 Slack 알림이 필요한가?

Claude Code로 작업하다 보면 이런 상황이 자주 발생합니다:

  • “빌드 돌려놓고 커피 마시러 갔다가 30분 후에야 완료된 걸 알았다”
  • “Claude가 권한을 요청하고 있었는데 몰라서 한참을 기다렸다”
  • “어떤 명령어 실행 권한을 요청하는지 확인하려고 터미널로 돌아가야 했다”

특히 AI 에이전트가 복잡한 작업을 수행할 때, 우리는 터미널 앞에 계속 앉아있을 수 없습니다. 권한 요청이나 입력이 필요한 순간에 즉시 알림을 받고, 어떤 명령어인지까지 확인할 수 있다면 생산성이 크게 향상됩니다.

해결책: Claude Code Hooks + Slack

Claude Code의 Hooks 기능을 활용하면 특정 이벤트가 발생할 때 자동으로 셸 명령을 실행할 수 있습니다. 이를 Slack API와 연동하면:

알림 유형 아이콘 설명
permission_prompt 🔐 명령어 실행 권한 요청 (git push 등)
idle_prompt 60초 이상 사용자 응답 대기
auth_success 인증 완료 알림
elicitation_dialog 💬 MCP 도구가 추가 입력 요청

핵심 기능: Tool Context 연동

단순히 “권한 요청”만 알려주는 게 아닙니다. PreToolUse hook과 연동하여 실제 실행하려는 명령어나 파일 경로까지 알림에 포함됩니다.

🔐 *권한 요청*
*Tool:* Bash
```git push origin main```
_Push commits to remote_

📁 Project: `my-project`

이제 Slack 알림만 보고도 어떤 작업에 대한 권한 요청인지 바로 파악할 수 있습니다.

구현 구조

~/.claude/skills/slack-notifier/
├── SKILL.md                      # 스킬 정의
├── README.md                     # 사용자 가이드
├── scripts/
│   └── slack-notify.sh           # 알림 스크립트
└── references/
    └── setup-guide.md            # Slack Bot 설정 가이드

Hooks 설정

~/.claude/settings.json에 다음과 같이 설정합니다.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.claude/skills/telegram-notifier/scripts/save_tool_context.py"
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/skills/slack-notifier/scripts/slack-notify.sh"
          }
        ]
      }
    ]
  }
}

동작 원리:

  1. PreToolUse: 도구 실행 전 컨텍스트(명령어, 파일 경로)를 임시 파일에 저장
  2. Notification: 알림 발송 시 저장된 컨텍스트를 읽어 상세 정보 포함

실제 효용성

1. 상세한 권한 요청 정보

단순히 “권한 요청”이 아닌, 실제 실행할 명령어와 설명까지 Slack에서 확인할 수 있습니다. 터미널로 돌아가지 않고도 승인 여부를 판단할 수 있습니다.

2. 멀티태스킹 가능

Claude Code가 작업하는 동안 다른 일을 하다가, 권한 요청이나 입력 대기 알림이 오면 바로 대응할 수 있습니다.

3. 모바일에서도 확인

Slack 모바일 앱으로 알림을 받으면, 외출 중에도 어떤 권한 요청인지 확인하고 대응할 수 있습니다.

4. 팀 채널에서 공유

팀 채널에 알림을 설정하면, 공유 작업의 진행 상황을 팀원들과 실시간으로 공유할 수 있습니다.

설정 방법

1. Slack Bot 생성

  1. api.slack.com/apps에서 앱 생성
  2. OAuth & Permissions → Bot Token Scopes에 chat:write 추가
  3. Install to Workspace 후 Bot Token 복사
  4. 봇을 채널에 초대: /invite @봇이름

2. 환경변수 설정

# ~/.zshrc
export SLACK_BOT_TOKEN="xoxb-your-token"
export SLACK_CHANNEL="C01234567"

3. 테스트

echo '{"message": "테스트!", "notification_type": "permission_prompt"}' | ~/.claude/skills/slack-notifier/scripts/slack-notify.sh

GitHub 저장소

전체 소스 코드와 설치 가이드는 GitHub에서 확인할 수 있습니다.

https://github.com/greeun/slack-notifier

마치며

Claude Code의 Hooks 기능은 단순히 알림을 넘어서, 다양한 자동화 시나리오에 활용할 수 있습니다. 이 Slack 알림 설정은 AI 에이전트와 함께 일하는 방식을 더 효율적으로 만들어줍니다.

권한 요청이 올 때마다 터미널로 달려가던 시간을 이제 더 생산적으로 활용해보세요.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤