Mute와 Push Mode
Hwip이 얼마나 푸시할지 프로젝트 단위 또는 머신 전역으로 조절한다.
푸시는 hwip cc로 띄운 세션뿐 아니라 모든 Claude Code 세션에서 발동한다 — 그 명령은 원격
조종 브리지이지 알림 스위치가 아니다.
/hwip-mode 현재 상태 보기 (mute + push mode, 어디서 온 값인지, 마지막 실패한 푸시)
/hwip-mode mute 이 프로젝트의 모든 알림 끄기
/hwip-mode unmute 다시 켜기
/hwip-mode quiet 높은 우선순위 푸시와 자리 비운 사이의 완료만 ← 기본값
/hwip-mode loud 매 턴 푸시
/hwip-mode normal 실제 작업을 한 턴마다 푸시, 읽기만 한 턴은 조용히
/hwip-mode approve on 이 프로젝트에서 되돌리기 어려운 Bash 명령을 승인 대기시킴
/hwip-mode approve off 평소처럼 실행 ← 기본값quiet이 기본값이다
다이얼이 없는 설치는 높은 우선순위 신호에만 푸시하므로, 긴 세션이 턴마다 나가는 알림 스트림이 되지 않는다.
그래도 도착하는 것:
- 질문. 에이전트가 무언가 묻는 것은 절대 억제되지 않는다.
- 터미널에서 자리를 비운 뒤의 완료 푸시:
HWIP_AWAY_SEC초(기본 300) 동안 입력이 없거나, 연결된 tmux 클라이언트가 없을 때. - 폰으로 구동한 세션은 5분 유휴 뒤 서버가 보내는 완료 푸시.
작업한 턴마다 알림을 받고 싶다면 /hwip-mode normal을 실행한다.
머신 전역 기본값
quiet, normal, loud에 --global을 붙이면 자체 다이얼이 없는 모든 프로젝트의 기본값이 된다.
프로젝트 다이얼이 항상 우선하므로 /hwip-mode normal은 한 프로젝트만 턴별 푸시로 되돌리고
/hwip-mode normal --global은 어디서나 그렇게 한다.
승인 게이트
/hwip-mode approve on은 rm -rf, 강제 푸시, 프로덕션 배포, 파괴적 SQL을 실행 전에 붙잡는다.
터미널 앞(tmux라면 이 세션의 패널이 화면에 있을 때)에서는 Claude Code의 권한 프롬프트가 묻는다.
자리를 비웠거나, 폰으로 구동 중인 세션이거나, 자리 여부를 읽을 수 없으면 폰에 승인과 거부 버튼이
뜬다. 75초 안에 답이 없으면 거부다.
사고를 막는 과속방지턱이지 보안 경계가 아니며, 프로젝트가 mute된 동안에는 꺼진다.
상태가 저장되는 곳
상태는 ${XDG_STATE_HOME:-~/.local/state}/hwip 아래 프로젝트 디렉터리별 파일에 저장되고, 전역
값은 pushmode-default에 있다. 되돌리기 전까지 재부팅과 새 세션을 넘어 유지된다.
Mute는 훅과 CLI 호출을 모두 조용하게 하며 어떤 push mode보다 우선한다. 전역 mute는 한 프로젝트만 풀 수 없으므로 mute는 설계상 프로젝트 단위로만 둔다.
실패한 푸시는 /hwip-mode와 세션 시작 때 LAST PUSH:로 보인다. 예를 들어 로그인된 앱이 없거나,
푸시를 암호화하지 못해 아무것도 보내지 않은 경우다. 전체 명령어 레퍼런스는
CLI → 명령어를 본다.