CClaude Code Catalog
全Hooks

セッション終了時バックアップ

Stop中級Hookタイプ: stop

セッション終了時バックアップは、Stopイベントにフックして、セッションが終了する前に包括的なバックアップを作成します。セッション中に変更されたすべてのファイルのリストをキャプチャし、コミットされていない変更がある場合はgit stashを作成し、達成した内容の簡潔な要約を生成し、すべてをタイムスタンプ付きのディレクトリに保存します。これにより、セッション間で作業が失われることがなく、中断したところから簡単に再開できます。バックアップは設定可能な保持期間後にクリーンアップされます。

バックアップセッション復旧git stash永続化

Hookコード

#!/bin/bash # Session Backup on Stop Hook # Saves session context when Claude Code stops BACKUP_DIR="${HOME}/.claude/backups" TIMESTAMP=$(date +%Y%m%d_%H%M%S) SESSION_DIR="$BACKUP_DIR/session_$TIMESTAMP" RETENTION_DAYS=14 mkdir -p "$SESSION_DIR" # Record modified files echo "=== Session Backup: $TIMESTAMP ===" > "$SESSION_DIR/summary.md" echo "" >> "$SESSION_DIR/summary.md" # List recently modified files (last 2 hours) echo "## Modified Files" >> "$SESSION_DIR/summary.md" find . -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.py' | xargs stat -f "%m %N" 2>/dev/null | sort -rn | head -20 | awk '{print "- " $2}' >> "$SESSION_DIR/summary.md" # Save git status and diff echo "" >> "$SESSION_DIR/summary.md" echo "## Git Status" >> "$SESSION_DIR/summary.md" git status --short >> "$SESSION_DIR/summary.md" 2>/dev/null # Save full diff of uncommitted changes git diff > "$SESSION_DIR/uncommitted.diff" 2>/dev/null git diff --cached > "$SESSION_DIR/staged.diff" 2>/dev/null # Create stash if there are uncommitted changes if [ -n "$(git status --porcelain 2>/dev/null)" ]; then STASH_MSG="claude-session-backup-$TIMESTAMP" git stash push -m "$STASH_MSG" --keep-index 2>/dev/null echo "Stashed uncommitted changes: $STASH_MSG" git stash pop --quiet 2>/dev/null fi # Prune old backups find "$BACKUP_DIR" -maxdepth 1 -name "session_*" -type d -mtime +$RETENTION_DAYS -exec rm -rf {} \; 2>/dev/null echo "Session backup saved to $SESSION_DIR" exit 0

このHookをClaude Code設定または.claude/settings.jsonに追加して有効化してください。

実行プレビュー

セッション終了時バックアップ

セッション終了時バックアップについて

Claude Code Hooksは、Claude操作中の特定イベントに応じてカスタムシェルコマンドを自動実行します。セッション終了時バックアップは中級レベルのStop Hookで、開発ワークフローの重要なタイミングでタスクを自動化し、手動ステップを削減してチーム全体の一貫性を維持します。