Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Session List & Search

Pressing s replaces the session pane conversation with a full-pane session browser. The list is scoped to the current worktree – only sessions belonging to the active worktree’s branch are shown.


Layout

Each row in the session list displays:

ElementPositionDescription
Status dotLeftGreen for running sessions, gray for idle
Session nameLeft (after dot)Custom name or truncated UUID
Last modifiedRight-alignedRelative or absolute timestamp
Message countRight (badge)[N msgs] badge showing total messages

The currently selected row is highlighted with an AZURE background and black text. The session name on the selected row renders bold.


KeyAction
j / DownMove selection down one row
k / UpMove selection up one row
JPage down (jump by viewport height)
KPage up (jump by viewport height)
EnterLoad the selected session
aStart a new session
rRename the selected session
s / EscClose the session list and return to conversation

Two-Phase Loading

Opening the session list uses a two-phase approach to avoid blocking the UI:

  1. Immediate: A centered “Loading sessions…” dialog appears on the first frame after s is pressed.
  2. Background: Message counts are loaded from the SQLite session store and the full list renders once data is available.

Message counts are pre-computed in the session store, so loading the list requires no event file parsing.


Name Filter

Pressing / activates a filter bar at the top of the session list. Typing filters sessions by name (case-insensitive substring match). The filter bar has a yellow border when active, gray when inactive. Press Esc to deactivate the filter input (the filter text persists and continues filtering). Press Esc again or s to close the session list entirely.


Typing // (two slashes) switches from name filtering to content search mode. Content search looks inside session event data (stored in the SQLite session store) rather than matching names:

  • Minimum query length: 3 characters (no search runs below this).
  • Result cap: 100 results maximum.

The filter bar shows the search mode prefix (//) and a result count badge on the right side (e.g., 42 results).

Content search results display differently from the normal session list. Each row shows:

  • The session name (or truncated session ID if no custom name exists).
  • A preview of the matching content, truncated to fit the available width.

The selected row uses the same AZURE highlight style. Pressing Enter loads the session containing the selected match.


Rename Dialog

While in the session list, a rename overlay can appear as a centered input box over the list. This allows renaming the selected session without leaving the browser.