Fix: Claude sessions now reattach 100% reliably
Previously, reopening the app with multiple Claude tabs open could bring back only some of them ("opened 2, got 1"). Root cause: two reattach paths (app launch + entering the project) could fire for the same session before its process was marked running, spawning a second PTY into the same view and orphaning the tmux client — corrupting that session's tab.
- Added a start-in-progress guard so a session is never spawned twice.
- Reattach no longer rewrites tmux metadata (avoids clobbering the resume id).
list-sessionsnow retries briefly in case the tmux server is cold at launch.
Verified: with 3 live sessions, both the launch reattach and a simulated double-adopt result in 3/3 attached, zero double-spawns.
Install: macOS 14+ (Apple Silicon), brew install tmux. Unzip → drag to /Applications → xattr -cr /Applications/Deck.app && open -a Deck. Existing users: the in-app updater offers this automatically.