
MacBook 노치를 Claude Code용 허용/거부 버튼으로 만들었습니다 (그리고 Claude Code로 제작했습니다)
요약
사용자가 다른 앱을 사용 중일 때에도 Claude의 권한 요청에 '허용' 또는 '거부'를 할 수 있도록 MacBook 노치 기반의 Crest Code 모드를 개발했습니다. 이 기능은 공식 훅(PreToolUse)과 하트비트/타임아웃 폴백 메커니즘을 활용하여, 앱이 실행되지 않아도 CLI 세션이 끊기지 않게 합니다.
핵심 포인트
- MacBook 노치에 Claude 권한 요청 버튼 구현
- PreToolUse 훅 및 하트비트/타임아웃 폴백 사용
- 어떤 앱에서도 작동하는 안정적인 세션 관리
- Claude Code의 도움으로 아이디어부터 배포까지 완성
문제점: Claude가 권한을 요청하는데, 제가 다른 창에 있고 탭하여 돌아올 때쯤이면 세션이 이미 10분 동안 방치되어 있습니다. 그래서 저는 승인 기능을 MacBook의 노치에 구현했습니다. 세션이 대기 중일 때, 노치가 이를 보여주며, 사용자가 어떤 앱에 있든 '허용(Allow)' 또는 '거부(Deny)'를 클릭할 수 있습니다. 이는 공식 훅(hook)을 활용합니다: PreToolUse 훅 블록, Crest가 결정을 작성하며, 하트비트와 타임아웃 폴백(fallback) 덕분에 앱이 실행되지 않아도 CLI가 절대 멈추지 않습니다. 세션이 실행되는 모든 곳에서 작동하며, Cursor의 터미널 내부에서도 가능합니다. 또한 저장소(repo), 최신 작업 및 토큰 사용량과 함께 활성 세션을 보여주며, AskUserQuestion 프롬프트와 실제 옵션들을 렌더링합니다. Claude가 도움을 준 방식: 솔직히 말해서, Claude Code가 이 대부분을 저와 함께 만들었습니다. 승인 기능은 아이디어에서 배포까지 하루 동안의 페어 세션(pair sessions)을 거쳐 완성되었고, 블록-폴-하트비트 훅 디자인은 실제 터미널에서 반복 작업을 하면서 나왔습니다. 이것이 무엇인가: 제가 만든 Mac 노치 앱인 Crest의 Code 모드입니다. 무료로 사용해 보기: 기본 앱은 영구적으로 무료이며, 첫 7일 동안은 카드 없이 모든 기능이 잠금 해제됩니다. 다른 사람이 자신만의 버전을 만들고 싶다면 crestnotch.app으로 연락 주십시오. 훅 JSON과 타임아웃 폴백이 작동하는 방식도 공유할 용의가 있습니다. 생각보다 간단합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기