#!/bin/bash # PostToolUse hook: Log all tool executions to an audit trail. # # Appends a timestamped entry to hooks/audit.log for every tool call. # Useful for reviewing what Claude Code did during a session. # # Customize: Change log_file path or add filtering logic. input=$(cat) tool_name=$(echo "$input" | python3 -c "import sys,json; print(json.load(sys.stdin).get('tool_name',''))" 2>/dev/null) tool_input=$(echo "$input" | python3 -c "import sys,json; d=json.load(sys.stdin).get('tool_input',{}); print(d.get('command', d.get('file_path', d.get('pattern', str(d)[:100])))" 2>/dev/null) timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") log_dir="$(dirname "$0")" log_file="$log_dir/audit.log" echo "$timestamp | $tool_name | $tool_input" >> "$log_file" exit 0