# Show GN: Claude Code Hook으로 데스크탑 펫을 만들었습니다

> Clean Markdown view of GeekNews topic #27634. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=27634](https://news.hada.io/topic?id=27634)
- GeekNews Markdown: [https://news.hada.io/topic/27634.md](https://news.hada.io/topic/27634.md)
- Type: show
- Author: [gurm0608](https://news.hada.io/@gurm0608)
- Published: 2026-03-19T09:50:12+09:00
- Updated: 2026-03-19T09:50:12+09:00
- Original source: [github.com/IMMINJU](https://github.com/IMMINJU/claude-pet)
- Points: 1
- Comments: 0

## Topic Body

회사에서 Claude Code 세션을 여러 개 띄워놓고 작업하는데, 어떤 세션이 입력을 기다리는 건지 놓치는 일이 많았습니다. 사무실이라 소리를 켤 수도 없고요.  
  
Claude Code에 Hook을 이용해 도구 호출 전후로 외부 명령을 실행할 수 있는데, 보통 린트나 로깅 용도로 쓰이지만 이걸로 좀 다른 걸 해봤습니다.  
  
Hook 이벤트를 받아서 바탕화면에 이모지 캐릭터로 띄워주는 위젯을 만들었습니다. 세션을 여러 개 돌리면 각각 따로 추적해서 나란히 보여줍니다.  
  
[demo gif](https://raw.githubusercontent.com/IMMINJU/claude-pet/main/assets/demo.gif)  
  
이모지로 상태를 매핑하다 보니 웃고 당황하고 조는 모습이 재밌어서, 그냥 펫이라고 부르기로 했습니다.  
  
```  
Claude Code hooks → claude-pet --hook → TCP(:19876) → Tauri(Rust) → WebView  
```  
  
Hook은 이벤트마다 프로세스가 생겼다 사라져서 상태를 유지할 수가 없습니다. 그래서 앱 쪽에 TCP 서버를 두고, Hook이 발생할 때마다 JSON을 쏴주는 구조로 만들었습니다. Tauri 2 + Rust로 만들어서 바이너리가 8MB 정도고, `curl ... | sh` 한 줄로 설치하면 Hook 등록까지 자동으로 됩니다.  
  
테마 3개 내장(로봇, 고양이, 과일), JSON으로 커스텀 테마도 만들 수 있고, Windows에서 쓰고 있고, macOS/Linux 빌드도 있는데 아직 직접 테스트는 못 했습니다. MIT.  
  
GitHub: https://github.com/IMMINJU/claude-pet  
  
피드백 환영합니다.

## Comments



_No public comments on this page._
