Sessions & Workspaces
Session Identity
Section titled “Session Identity”Each tab has a visible title and, for tmux-backed tabs, a tmux session id. Use the visible title when talking to humans. Use the tmux id when debugging routing.
Example:
Visible title: fix the big bad querytmux id: hypertasks-50Naming Hierarchy
Section titled “Naming Hierarchy”ZigShell should prefer the highest-confidence name:
- Manual ZigShell rename with
F2or double-click. - Explicit agent/session rename when the underlying Claude Code session changes its name.
- Dynamic Claude/tmux title.
- Current working directory or fallback shell title.
Manual ZigShell renames are sticky. Clearing the name should allow automatic naming again.
Workspaces
Section titled “Workspaces”Workspaces are persistent top-level ZigShell windows or in-process workspace slots. User-facing workspace names are stored separately from stable workspace ids.
Important files:
%APPDATA%\ZigShell\windows.json%APPDATA%\ZigShell\session.json%APPDATA%\ZigShell\session-{workspace-id}.json
Closing a workspace should not delete its sessions. It should mark that window as not restoring on next startup while keeping it available from the workspace history.
Moving Shells
Section titled “Moving Shells”Shells can be moved into open or remembered closed workspaces. Moving a shell should preserve:
- visible title
- tmux session id
- browser pane URL state
- zsb binding, or enough metadata to rebuild it
- last activity ordering metadata
Sort Order
Section titled “Sort Order”The sidebar should promote sessions by useful attention:
- Priority or pinned/current special state if present.
- Active spinner sessions.
- Needs-input blue-dot sessions.
- Recently used idle sessions.
- Older idle sessions.
Muted tabs must not stay pinned because of activity.