コストアラートモニター
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で、開発ワークフローの重要なタイミングでタスクを自動化し、手動ステップを削減してチーム全体の一貫性を維持します。