문제: Claude Code는 기다려주지 않는다

Claude Code를 쓰다 보면 이런 상황이 반복된다:

  1. Claude에게 작업을 시키고 브라우저로 전환
  2. 한참 뒤에 돌아와보니 **“권한 승인 대기 중”**에서 멈춰있다
  3. 또는 이미 끝났는데 모르고 한참을 기다린다

터미널을 계속 쳐다보고 있을 수도 없고, 다른 일을 하자니 Claude가 언제 날 부르는지 알 수가 없다.

그런데 손에 쥐고 있는 마우스가 진동으로 알려준다면?

claude-code-logitech-haptic-plugin

claude-code-logitech-haptic-plugin은 Claude Code의 이벤트를 Logitech MX Master 4의 햅틱 모터와 연결해주는 플러그인이다.

작동 원리는 단순하다:

Claude Code 이벤트 → Hook → 쉘 스크립트 → HTTP API → HapticWebPlugin → MX Master 4 진동

Claude Code는 hooks 시스템을 통해 특정 이벤트 발생 시 외부 스크립트를 실행할 수 있다. 이 플러그인은 그 hook에 햅틱 API 호출을 연결한 것이다.

어떤 상황에서 진동하는가

세 가지 이벤트에 각각 다른 진동 패턴이 매핑되어 있다:

상황진동 패턴느낌
권한 승인 요청knock톡톡 — 노크하듯 두 번
60초 이상 입력 대기ringing르르르 — 전화 오듯 울림
작업 완료completed뚝 — 깔끔한 완료 펄스

손바닥에 닿아 있는 마우스에서 미세한 진동이 오기 때문에, 다른 모니터를 보거나 문서를 읽고 있어도 바로 알 수 있다. 소리 알림과 달리 주변 사람을 방해하지도 않는다.

MX Master 4 사용자에게 추천하는 이유

MX Master 4는 Logitech 마우스 중 햅틱 스크롤 휠이 탑재된 몇 안 되는 모델이다. 이 햅틱 모터를 스크롤 피드백 외에도 활용할 수 있게 해주는 것이 HapticWebPlugin이고, 이 플러그인은 그것을 Claude Code와 연결한다.

이미 MX Master 4를 쓰고 있다면 추가 하드웨어 없이 소프트웨어만으로 완성된다.

설치

1단계: HapticWebPlugin 설치

Logi Options+에서 플러그인을 설치한다:

  1. Logi Options+ 열기 → MX Master 4 선택
  2. HAPTIC FEEDBACK 탭 → 설정(⚙️) 클릭
  3. INSTALL AND UNINSTALL PLUGINS 버튼
  4. 레포의 plugin/HapticWeb.lplug4 파일을 더블클릭
  5. Continue로 설치 완료

설치 확인: haptics.jmw.nz/playground에서 진동 패턴을 테스트해볼 수 있다.

2단계: Claude Code 플러그인 설치

git clone https://github.com/ChefJodlak/claude-code-logitech-haptic-plugin.git
cd claude-code-logitech-haptic-plugin
./install.sh

설치 스크립트가 자동으로:

  • OS 감지
  • HapticWebPlugin 연결 확인
  • ~/.claude/hooks/ 디렉토리에 스크립트 설치
  • ~/.claude/settings.json에 hook 설정 추가
  • 테스트 진동 실행

3단계: Claude Code 재시작

Hook 설정은 시작 시 로드되므로, 실행 중인 Claude Code를 재시작하면 바로 적용된다.

진동 패턴 커스터마이징

기본 매핑이 마음에 들지 않으면 ~/.claude/hooks/haptic-trigger.sh에서 변경할 수 있다:

WAVEFORM_PERMISSION="knock"      # 권한 요청
WAVEFORM_IDLE="ringing"          # 입력 대기
WAVEFORM_COMPLETE="completed"    # 작업 완료

선택 가능한 진동 패턴이 15가지나 된다:

분류패턴
정밀 피드백sharp_collision, damp_collision, subtle_collision, damp_state_change
진행/완료sharp_state_change, completed, firework, happy_alert, wave
긴급 알림angry_alert, mad, square
수신 알림knock, ringing, jingle

작업 완료 시 firework(축하 폭죽 패턴)을 쓰면 기분이 좋아질 수도 있다.

진동 강도 조절

Logi Options+ → MX Master 4 → Haptic Feedback → Strength 슬라이더로 조절한다. Subtle, Low, Medium, High 4단계가 있다. API로는 강도 제어가 안 되고 Logi Options+에서만 가능하다.

동작 확인 및 트러블슈팅

# HapticWebPlugin 동작 확인
curl -s https://local.jmw.nz:41443/

# 수동으로 진동 테스트
curl -X POST -d "" https://local.jmw.nz:41443/haptic/completed

# hook 스크립트 수동 테스트
echo '{"hook_event_name": "Stop"}' | ~/.claude/hooks/haptic-trigger.sh

진동이 안 된다면:

  • Logi Options+가 실행 중인지 확인
  • MX Master 4가 연결되어 있는지 확인
  • ~/.claude/hooks/haptic-trigger.sh에 실행 권한이 있는지 확인 (chmod +x)

제거

cd claude-code-logitech-haptic-plugin
./uninstall.sh

마치며

이 플러그인의 가치는 기술적 복잡성이 아니라 컨텍스트 스위칭 비용을 줄여준다는 점에 있다. Claude Code에게 작업을 시키고 다른 일을 할 수 있게 되면, AI 코딩의 실질적인 생산성이 달라진다.

MX Master 4 사용자라면 한 번 설치해볼 만하다. 설치에 5분도 안 걸리고, 되돌리기도 쉽다.

GitHub: ChefJodlak/claude-code-logitech-haptic-plugin