Problem
A ticket owns exactly one tmux/claude session. When the context window fills mid-ticket, or a second, fresh-context opinion on the same worktree would help, the only options are cleanup (losing the workspace) or hand tmux surgery behind the board's back.
Proposed behavior
A ticket's workspace can host multiple sessions — separate conversations sharing the same worktree and git state. Starting a fresh session preserves the existing one; the card lists its sessions and the terminal region switches between them. Status markers track the active session. This is Vibe Kanban's workspace/sessions split applied to Dispatch's tmux model, where a session is naturally one tmux session.
Acceptance criteria
- A new-session action on an active card starts a fresh conversation in the same workspace without touching the existing session.
- The card lists its sessions and the terminal switches between them.
- Attention detection (Needs Input, Agent Done) follows the active session.
- Cleanup tears down all of a ticket's sessions and the workspace together.
Code pointers
src/server/services/startSession.ts, src/server/services/resumeSession.ts — the one-session-per-card assumption.
src/server/services/session-status.ts, src/server/adapters/markers/watcher.ts — status tracking that must bind to the active session.
src/web/features/TerminalRegion.tsx — the terminal surface that gains a session switcher.
src/shared/types.ts — Card carries a single session today.
Problem
A ticket owns exactly one tmux/claude session. When the context window fills mid-ticket, or a second, fresh-context opinion on the same worktree would help, the only options are cleanup (losing the workspace) or hand tmux surgery behind the board's back.
Proposed behavior
A ticket's workspace can host multiple sessions — separate conversations sharing the same worktree and git state. Starting a fresh session preserves the existing one; the card lists its sessions and the terminal region switches between them. Status markers track the active session. This is Vibe Kanban's workspace/sessions split applied to Dispatch's tmux model, where a session is naturally one tmux session.
Acceptance criteria
Code pointers
src/server/services/startSession.ts,src/server/services/resumeSession.ts— the one-session-per-card assumption.src/server/services/session-status.ts,src/server/adapters/markers/watcher.ts— status tracking that must bind to the active session.src/web/features/TerminalRegion.tsx— the terminal surface that gains a session switcher.src/shared/types.ts—Cardcarries a single session today.