Cursor Backup is a Windows WPF application (.NET 8) designed to help manage Cursor AI settings and data. The application enables backing up, restoring, and merging Cursor configurations.
- Global Settings: settings.json, keybindings.json, state.vscdb, etc.
- Chat Histories: Grouped by project with chat names and checkboxes
- Dynamic List: Only available settings appear with active checkboxes
- Load settings from backup folders
- Automatic detection of different backup structures
- Save selected settings to any folder
- Preserve complete structure
- Merge settings without duplication or overwriting
- Automatic conflict detection and notification
- Only new items are added
- Application starts in maximized window
- Modern, clean interface
- Left Panel: Current Cursor settings
- Right Panel: Settings loaded from backup
- Every setting has a checkbox
- Only available settings are active
- Color-coded status (green = available, red = unavailable)
- Grouped by project
- Expandable/collapsible with expanders
- Only chat names displayed (not content)
- .NET 8.0 Runtime (or newer)
- Windows 10/11
cd Cursor_Backup/CursorBackup
dotnet builddotnet runOr directly from the built exe file:
bin\Debug\net8.0-windows\CursorBackup.exe
- Click the "Load Current Settings" button
- The application automatically discovers all available settings
- Chat histories appear in the "Chat Histories" expander
- Click the "Load from Backup Folder" button
- Select the backup folder
- Settings appear in the right panel
- Mark desired settings (checkboxes)
- Click the "Save Selected to..." button
- Select destination folder
- Load settings from backup
- Mark items to merge
- Click the "Merge Selected to..." button
- Select destination folder
- Application reports conflicts (if any)
- Select chat histories from either panel
- Click "Export Chats to Markdown" button
- Select destination folder
- Chats are exported in Markdown format organized by project
- Global Settings (settings.json)
- Keybindings (keybindings.json)
- State Database (state.vscdb, state.vscdb.backup)
- Global Storage (global extension storage)
- Language Packs (languagepacks.json)
- Workspace Storage (project-specific settings)
- Chat Histories (by project)
- Extensions List
- Documentation Groups (Cursor documentation)
- MVVM Pattern: ViewModel-View separation
- Service Layer: CursorDataService, BackupService, ChatExportService
- WPF Data Binding: Full binding support
- SQLite Integration: Read state.vscdb databases
- Newtonsoft.Json (JSON handling)
- System.Data.SQLite.Core (state.vscdb reading)
CursorBackup/
├── Models/ # Data model classes
├── ViewModels/ # ViewModel classes
├── Services/ # Business logic
├── Dialogs/ # Dialog windows
├── Controls/ # Custom controls
├── Converters/ # Value converters
└── MainWindow.xaml # Main window
- MainViewModel: Main application logic and coordination
- CursorDataService: Discovers and reads Cursor settings
- BackupService: Handles backup and merge operations
- ChatExportService: Exports chat histories to Markdown
- SettingsStorage: Persists application settings
- Export chat histories to Markdown format
- Automatic organization by project
- Support for both regular JSON chat files and state.vscdb entries
- Thread and session detection
- Read chat histories directly from state.vscdb
- Automatic thread and session grouping
- Support for combined prompts extraction
- Smart merge without overwriting
- Automatic conflict detection
- Detailed conflict reporting
- Check if Cursor is installed
- Verify the
%APPDATA%\Cursorfolder exists
- Close all Cursor windows
- Check file permissions
- Ensure chat files are not corrupted
- Check state.vscdb database integrity
- Verify export folder permissions
- Extend the
SettingTypeenum inCursorSettingItem.cs - Add discovery logic in
CursorDataService.cs - Update UI templates as needed
- Implement new export service
- Add command to MainViewModel
- Update UI with new export button
This project is for personal use.
Feel free to submit issues and enhancement requests.
- v1.0: Initial release with basic backup/restore functionality
- v1.1: Added chat history export to Markdown
- v1.2: Enhanced state.vscdb support and thread detection
- v1.3: Improved UI with documentation groups support