From d9eecf864c4021d4a98f91e0603b6b93116f08c5 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Tue, 23 Dec 2025 00:02:23 -0800 Subject: [PATCH] Fix crew loadState to handle empty/incomplete state.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When state.json contains empty JSON {}, the ClonePath and other fields were left empty, causing "can't find pane/session" errors in gt crew at. Now backfills essential fields (Name, Rig, ClonePath) if missing. 🤝 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- internal/crew/manager.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/crew/manager.go b/internal/crew/manager.go index 8654732a..f8acd2e0 100644 --- a/internal/crew/manager.go +++ b/internal/crew/manager.go @@ -291,6 +291,17 @@ func (m *Manager) loadState(name string) (*CrewWorker, error) { return nil, fmt.Errorf("parsing state: %w", err) } + // Backfill essential fields if missing (handles empty or incomplete state.json) + if crew.Name == "" { + crew.Name = name + } + if crew.Rig == "" { + crew.Rig = m.rig.Name + } + if crew.ClonePath == "" { + crew.ClonePath = m.crewDir(name) + } + return &crew, nil }