90944948f5
TUI for orchestrating AI coding harness sessions (Claude Code, Codex, Kiro, etc.) via tmux. Click CLI bootstraps a Textual TUI over ProjectService/SessionService backed by SQLite, spawning harness sessions as tmux windows through TmuxManager. Includes recent fixes: - Visible Tab focus highlight on dialog OK/Cancel buttons - Auto-select first project on launch - Auto-select first session + per-project session-selection memory - tmux new-window targets an explicit free index, fixing "index N in use" failures (broken spawn/attach in attached sessions) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
956 B
956 B
Lessons
2026-06-09: tmux windows vs sessions
- Symptom: Enter/Shift+R on sessions did nothing;
tmux list-sessionsonly showed main session - Cause: Harness sessions were separate tmux sessions.
switch-clientmoves the entire client away. Sessions died silently with no error feedback. - Fix: Redesigned to use windows within a single
hqt-mainsession.select-windowstays in context.remain-on-exit+respawn-panehandles dead processes cleanly. - Signal: If "attach" ever silently fails again, check: does the tmux target actually exist? Is the error being swallowed?
General
- tmux
remain-on-exitmust be set BEFORE the command can exit (race condition if set afternew-session/new-window) respawn-pane -krestarts a dead pane in-place without destroying the window — preferred over kill+recreate- Always check and propagate tmux command return codes; silent failures are the worst debugging experience