Problem
Currently there is no way to see all conversation sessions in a persistent sidebar panel. The only way to switch between sessions is Ctrl+R (session picker popup) or codewhale run --continue at startup.
This creates friction:
- Users have to remember to use
Ctrl+R to find old conversations
- There is no visual overview of all sessions (titles, timestamps, last message preview)
- Starting CodeWhale fresh loses the previous session context unless the user explicitly remembers
--continue
- No intuitive way to browse, search, or manage past conversations
Proposed Solution
Add a Sessions panel to the sidebar (alongside existing Work / Tasks / Agents / Context panels), similar to how VS Code / Cursor / Codex show a chat history list on the left side.
Design
-
Sidebar panel: A new SidebarFocus::Sessions variant that renders a scrollable list of all past sessions, each showing:
- Session title or first prompt
- Timestamp (relative: "2h ago", "yesterday", "Jun 5")
- Last message preview (truncated to one line)
- Status indicator (active / archived)
-
Interaction:
- Click/Enter on a session → switches to that session (loads history into the transcript)
- Delete key → option to archive/remove a session
- Right-click / context menu → rename, export, delete
-
Auto-resume:
- On startup, default to the most recent session instead of a blank state
- Or show the Sessions panel by default with the latest session pre-selected
Keybindings (suggested)
Alt+S or similar to focus the Sessions sidebar panel
Ctrl+R stays as an alternative quick-switch
Alternatives Considered
- Keep
Ctrl+R as the only session switching mechanism — current state, confusing for new users
- Show sessions only at startup in a picker — one-time choice, doesn't help during a session
- Auto-save and auto-restore the last session without showing history — solves persistence but not browsing
Additional Context
- Current
SidebarFocus enum has: Auto, Work, Tasks, Agents, Context, Hidden — no Sessions variant
- Session data is already persisted to disk (SQLite store in
crates/tui/src/session_manager.rs)
Ctrl+R already opens a session picker popup, suggesting the session listing infrastructure exists
- Main gap is a persistent sidebar panel + startup auto-resume
Problem
Currently there is no way to see all conversation sessions in a persistent sidebar panel. The only way to switch between sessions is
Ctrl+R(session picker popup) orcodewhale run --continueat startup.This creates friction:
Ctrl+Rto find old conversations--continueProposed Solution
Add a Sessions panel to the sidebar (alongside existing Work / Tasks / Agents / Context panels), similar to how VS Code / Cursor / Codex show a chat history list on the left side.
Design
Sidebar panel: A new
SidebarFocus::Sessionsvariant that renders a scrollable list of all past sessions, each showing:Interaction:
Auto-resume:
Keybindings (suggested)
Alt+Sor similar to focus the Sessions sidebar panelCtrl+Rstays as an alternative quick-switchAlternatives Considered
Ctrl+Ras the only session switching mechanism — current state, confusing for new usersAdditional Context
SidebarFocusenum has:Auto,Work,Tasks,Agents,Context,Hidden— no Sessions variantcrates/tui/src/session_manager.rs)Ctrl+Ralready opens a session picker popup, suggesting the session listing infrastructure exists