SeaShell 0.2.3
Reopening a project now brings your claude sessions back, instead of a row of fresh ones.
Restoring a pane types claude -r <session id> into it, which only works if the project knows
which session was in that pane. Until now that was recorded when you saved, and only if the
session registry happened to be populated at that moment. A project saved on an empty registry
recorded nothing and could never resume, no matter how many times you reopened it.
Two changes fix that:
Saving no longer depends on the session-registry hook. Any pane the registry cannot account
for is matched against claude's own transcripts, which it writes for every session regardless of
what hooks are installed.
Opening resolves what saving missed. A project already on disk with no session ids gets them
worked out at open time, from the newest transcript for each pane's own directory. Old projects
start resuming without being re-saved.
A session already running in another pane is never handed out a second time, so restoring cannot
put two claudes on one conversation. Where ids come from transcripts rather than the registry,
the right sessions come back but which pane each lands in is a best guess: the registry is the
only thing that knows that mapping, and it was not there when those projects were saved. Projects
saved from now on restore exactly.
macOS will complain on first open because the app is not signed with a paid Apple Developer cert.
The one-line fix is in the README.