Потеря данных сессии Claude Code: скрипт резервного копирования для Windows и Mac

✍️ OpenClawRadar📅 Опубликовано: 7 июня 2026 г.🔗 Source
Потеря данных сессии Claude Code: скрипт резервного копирования для Windows и Mac
Ad

Несколько пользователей в r/ClaudeAI сообщают, что Claude Code молча теряет данные сессий: название сессии остается в боковой панели, но при клике открывается пустой транскрипт. Ни предупреждения, ни ошибки, ни возможности восстановления. Это происходит при сжатии контекста, неожиданном завершении или проблемах с хранилищем.

Ad

Решение резервного копирования

Скрипт от сообщества копирует все данные Claude Code (sessions, projects, plans, drafts, memory) из ~/.claude в отдельную папку, запускается ежедневно через Task Scheduler (Windows) или launchd (Mac) и хранит 7 дней резервных копий с ротацией.

Windows (PowerShell + Task Scheduler)

Создайте папку для бэкапов:

mkdir C:\Users\%USERNAME%\ClaudeBackups

Сохраните следующий код как backup-claude-sessions.ps1 в этой папке:

$ErrorActionPreference = "Stop"
$source = "$env:USERPROFILE\.claude"
$backupRoot = "$env:USERPROFILE\ClaudeBackups"
$logFile = Join-Path $backupRoot "backup.log"
$keepDays = 7
$timestamp = Get-Date -Format "yyyy-MM-dd_HHmmss"
$backupDir = Join-Path $backupRoot $timestamp
$dirs = @("sessions", "projects", "plans", "drafts", "memory")

function Write-Log($msg) { $line = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $msg" Add-Content -Path $logFile -Value $line -Encoding utf8 }

try { Write-Log "=== Backup started ===" New-Item -ItemType Directory -Path $backupDir -Force | Out-Null foreach ($d in $dirs) { $src = Join-Path $source $d if (Test-Path $src) { $dst = Join-Path $backupDir $d Copy-Item -Path $src -Destination $dst -Recurse -Force $count = (Get-ChildItem $dst -Recurse -File -ErrorAction SilentlyContinue | Measure-Object).Count Write-Log " Copied $d ($count files)" } else { Write-Log " Skipped $d (not found)" } } $size = (Get-ChildItem $backupDir -Recurse -File | Measure-Object -Property Length -Sum).Sum Write-Log " Total backup size: $([math]::Round($size/1MB, 2)) MB" $cutoff = (Get-Date).AddDays(-$keepDays) Get-ChildItem $backupRoot -Directory | Where-Object { $.Name -match '^\d{4}-\d{2}-\d{2}\d{6}$' -and $.CreationTime -lt $cutoff } | ForEach-Object { Remove-Item $.FullName -Recurse -Force -Confirm:$false Write-Log " Rotated old backup: $($.Name)" } Write-Log "=== Backup completed successfully ===" } catch { Write-Log "!!! BACKUP FAILED: $" exit 1 }

Создайте install-schedule.ps1 и выполните от имени администратора один раз:

$action = New-ScheduledTaskAction     -Execute "powershell.exe"
    -Argument "-ExecutionPolicy Bypass -WindowStyle Hidden -File "$env:USERPROFILE\ClaudeBackups\backup-claude-sessions.ps1""
$trigger = New-ScheduledTaskTrigger -Daily -At 8:00AM
$settings = New-ScheduledTaskSettingsSet     -AllowStartIfOnBatteries
    -DontStopIfGoingOnBatteries     -StartWhenAvailable Register-ScheduledTask
    -TaskName "ClaudeSessionsBackup"     -Action $action
    -Trigger $trigger     -Settings $settings
    -Description "Daily backup of Claude Code sessions" `
    -RunLevel Limited
Write-Host "Готово! Запускается ежедневно в 8:00." -ForegroundColor Green

Запустите установщик:

powershell -ExecutionPolicy Bypass -File "C:\Users%USERNAME%\ClaudeBackups\install-schedule.ps1"

Mac (launchd + shell script)

Создайте папку для бэкапов:

mkdir -p /ClaudeBackups

Сохраните как /ClaudeBackups/backup-claude-sessions.sh:

#!/bin/bash
set -euo pipefail
SOURCE="$HOME/.claude"
BACKUP_ROOT="$HOME/ClaudeBackups"
LOG_FILE="$BACKUP_ROOT/backup.log"
KEEP_DAYS=7
TIMESTAMP=$(date +"%Y-%m-%d_%H%M%S")
BACKUP_DIR="$BACKUP_ROOT/$TIMESTAMP"
DIRS=("sessions" "projects" "plans" "drafts" "memory")
log() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE"; }
log "=== Backup started ==="
mkdir -p "$BACKUP_DIR"
for d in "${DIRS[@]}"; do
    src="$SOURCE/$d"
    if [ -d "$src" ]; then
        cp -R "$src" "$BACKUP_DIR/$d"
        count=$(find "$BACKUP_DIR/$d" -type f | wc -l | tr -d ' ')
        log " Copied $d ($count files)"
    else
        log " Skipped $d (not found)"
    fi
done
size=$(du -sb "$BACKUP_DIR" | cut -f1)
log " Total backup size: $(echo "scale=2; $size/1048576" | bc) MB"
find "$BACKUP_ROOT" -maxdepth 1 -type d -name "????-??-??_??????" -mtime +$KEEP_DAYS -exec rm -rf {} + -exec log " Rotated old backup: {}" ;
log "=== Backup completed successfully ==="

Сделайте файл исполняемым и настройте через launchd (см. оригинальный пост для настройки plist).

Скрипт работает полностью независимо от Claude Code, поэтому даже если Claude упадет или потеряет данные, бэкапы сохраняются. Он записывает каждый запуск в backup.log для проверки.

📖 Читать полный источник: r/ClaudeAI

Ad

👀 Смотрите также

Открытый MCP-сервер памяти с графом знаний и функциями обучения
Инструменты

Открытый MCP-сервер памяти с графом знаний и функциями обучения

Открытый MCP-сервер, написанный на Rust, предоставляет постоянную память для ИИ-агентов с архитектурой графа знаний, геббовским обучением и гибридным поиском. Его размер составляет 7,6 МБ с задержкой менее миллисекунды, и он работает с любым MCP-совместимым клиентом.

OpenClawRadar
Rever UI Cloner: AI-оптимизированная альтернатива HTML-скрапингу для репликации пользовательского интерфейса
Инструменты

Rever UI Cloner: AI-оптимизированная альтернатива HTML-скрапингу для репликации пользовательского интерфейса

Rever UI Cloner — это API-эндпоинт, который предоставляет AI-агентам чистые дизайн-макеты вместо сырого HTML, избегая переполнения контекстного окна и проблем с галлюцинациями интерфейса. Он использует платёжный протокол x402, требующий микроплатежа в размере 1 USDC в сети Base для оплаты между агентами.

OpenClawRadar
Инструмент для браузера с открытым исходным кодом для тестирования серверов MCP без установки
Инструменты

Инструмент для браузера с открытым исходным кодом для тестирования серверов MCP без установки

Инструмент с открытым исходным кодом под названием MCP Playground позволяет разработчикам тестировать MCP-серверы прямо в браузере с помощью WebContainers — WASM-рантайма Node.js. Он может запускать MCP-серверы на основе npm локально без установки бэкенда и подключаться к удалённым серверам по URL.

OpenClawRadar
Открытый навык Claude для консалтинговых фреймворков и кейсов
Инструменты

Открытый навык Claude для консалтинговых фреймворков и кейсов

Бесплатный навык Claude с лицензией MIT предоставляет структурированные справочные материалы для работы в сфере управленческого консалтинга, включая фреймворки, отраслевой контекст и кейс-стади. Проект состоит из 80+ файлов в формате markdown, организованных по доменам, и ищет контрибьюторов для расширения охвата.

OpenClawRadar