비용 알림 모니터
Notification중급Hook 타입: notification
비용 알림 모니터는 알림 이벤트를 활용하여 Claude Code 세션 전체에서 누적 토큰 사용량을 추적합니다. 입력 및 출력 토큰의 누적 합계를 관리하고, 현재 가격을 기반으로 예상 비용을 계산하며, 설정 가능한 임계값(예산의 50%, 75%, 90%)에서 알림을 트리거합니다. 임계값을 넘으면 사용 세부 정보 및 남은 예산과 함께 눈에 잘 띄는 경고를 표시합니다. 또한 이력 추적 및 월간 요약 보고를 위해 세션별 비용 요약을 기록합니다.
비용예산토큰모니터링알림
Hook 코드
#!/bin/bash
# Cost Alert Monitor Hook
# Tracks token usage and alerts on budget thresholds
COST_FILE="${HOME}/.claude/cost-tracker.json"
DAILY_BUDGET=5.00 # USD
ALERT_THRESHOLDS="0.50 0.75 0.90"
# Initialize cost file if missing
if [ ! -f "$COST_FILE" ]; then
echo '{"date":"","input_tokens":0,"output_tokens":0,"alerts_sent":[]}' > "$COST_FILE"
fi
TODAY=$(date +%Y-%m-%d)
CURRENT_DATE=$(jq -r '.date' "$COST_FILE")
# Reset daily counters if new day
if [ "$TODAY" != "$CURRENT_DATE" ]; then
echo "{"date":"$TODAY","input_tokens":0,"output_tokens":0,"alerts_sent":[]}" > "$COST_FILE"
fi
# Parse token counts from notification
INPUT_TOKENS=$(echo "$NOTIFICATION_DATA" | jq -r '.input_tokens // 0')
OUTPUT_TOKENS=$(echo "$NOTIFICATION_DATA" | jq -r '.output_tokens // 0')
# Update cumulative counts
jq --argjson inp "$INPUT_TOKENS" --argjson out "$OUTPUT_TOKENS" '.input_tokens += $inp | .output_tokens += $out' "$COST_FILE" > "$COST_FILE.tmp" && mv "$COST_FILE.tmp" "$COST_FILE"
# Calculate estimated cost (Claude Sonnet pricing)
TOTAL_INPUT=$(jq '.input_tokens' "$COST_FILE")
TOTAL_OUTPUT=$(jq '.output_tokens' "$COST_FILE")
COST=$(echo "scale=4; $TOTAL_INPUT * 0.000003 + $TOTAL_OUTPUT * 0.000015" | bc)
RATIO=$(echo "scale=4; $COST / $DAILY_BUDGET" | bc)
# Check thresholds
for THRESHOLD in $ALERT_THRESHOLDS; do
ALREADY=$(jq -r --arg t "$THRESHOLD" '.alerts_sent | index($t) // empty' "$COST_FILE")
if [ -z "$ALREADY" ] && [ "$(echo "$RATIO >= $THRESHOLD" | bc)" -eq 1 ]; then
PCT=$(echo "scale=0; $THRESHOLD * 100 / 1" | bc)
echo "COST ALERT: ${PCT}% of daily budget reached ($$COST / $$DAILY_BUDGET)"
echo " Input: $TOTAL_INPUT tokens | Output: $TOTAL_OUTPUT tokens"
jq --arg t "$THRESHOLD" '.alerts_sent += [$t]' "$COST_FILE" > "$COST_FILE.tmp" && mv "$COST_FILE.tmp" "$COST_FILE"
fi
done
exit 0
이 Hook을 Claude Code 설정 또는 .claude/settings.json에 추가하면 활성화됩니다.
실행 미리보기
비용 알림 모니터
비용 알림 모니터에 대해
Claude Code Hooks는 Claude 작업 중 특정 이벤트에 반응하여 커스텀 셸 명령을 자동으로 실행합니다. 비용 알림 모니터은(는) 중급 수준의 Notification Hook으로, 개발 워크플로우의 핵심 시점에서 작업을 자동화하여 수동 단계를 줄이고 팀 전체의 일관성을 유지합니다.