Smarter detection, bulletproof saves, and unattended snapshots.
Detection got serious
Sessions are now tiered by certainty, not guessed from file timestamps:
- [OPEN] — confirmed by a running process: uuid found in the
claude.execommand line, in happy-coder logs, or by matching a bare tab's working directory (read from the process PEB) to its project's newest session file - [OPEN?] — an open tab exists, session inferred by recency
- [F] — recent file activity only (may already be closed)
- [BG] — running but not a terminal tab (remote/daemon sessions)
Plus better names: tabs restore with Claude Code's own live tab title (ai-title records), and your real Windows Terminal tab names (manual renames included) are read via UIAutomation and matched back to sessions.
Your snapshot can no longer be destroyed
- Every save first rotates the previous
workspace.jsoninto~/.claude/workspace-backups/(newest 5 kept) - Writes are atomic (temp file + rename) — a crash mid-save can't truncate the snapshot
workspace-restore.bat --file <path>restores any snapshot, including a rotated backup
Run it unattended
workspace-snapshot.bat --auto— non-interactive save-all, built for Task Scheduler; if it fires after a reboot and finds nothing live, it exits without touching your existing snapshot--auto --open-only— save only the tabs actually on screen--out <file>— named/alternate snapshot files- README now includes a one-line
schtasksrecipe: hourly auto-snapshots mean a blackout costs you at most an hour of workspace state
Restore is defensive now
--dry-runprints the exactwtcommands without opening anything- Everything is validated before a single window opens: session ids must be real UUIDs (blocks command injection via a tampered workspace.json), tab titles are sanitized, dead project folders fall back gracefully, deleted sessions are flagged
[missing], and a missingclaudeon PATH warns once upfront - Each project group opens in its own window regardless of your Windows Terminal
windowingBehaviorsetting (wt -w new)
Fixes
- Install one-liners in the README,
install.ps1, andinstall.shpointed at a nonexistentmainbranch and 404'd — nowmaster - Download badge linked to the wrong repository
Full Changelog: v1.1.0...v1.2.0