You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now there's no way to find an existing conversation other than scrolling through the list. For users with long histories (or multiple projects/worktrees) this becomes a real friction point — we should be able to jump to a conversation by typing a few characters of its title.
Closely related to #237, which proposes splitting the command surface into an action palette and a browser palette for navigation. This issue defines what the browser palette should be able to find, in particular conversations.
Proposal (v1)
Add fuzzy search by conversation title as the first search capability. Keep it deliberately small and shippable:
Match against the conversation title only (v1). Transcript search and metadata filters are intentionally out of scope for this issue.
Fuzzy matching in the existing style (e.g. fzf-style subsequence match) — case-insensitive, score-ranked.
No backend indexing required: the conversation list is already loaded for the browser palette, so matching happens in-memory.
Surfaces
Expose the search in two places, so it's always one keystroke away:
Dedicated search dialog (Cmd+Shift+F) — opens a focused, full-screen-ish fuzzy search scoped to conversations only. Useful when the user knows they're looking for a conversation and wants maximum result density.
The dedicated dialog is a thin shell over the same matching code as the palette entry.
Acceptance criteria
Fuzzy-matching algorithm is reused between the browser palette and the dedicated dialog
Browser palette (Cmd+P) shows conversations interleaved with projects, worktrees, and sessions, ranked by fuzzy score against the title
Dedicated conversation search dialog opens via Cmd+Shift+F and searches titles only
No new backend indexing or persistence — matching operates on the already-loaded conversation list
Empty/no-match states are handled (clear message, no crash)
Document the keybindings and how the dedicated dialog relates to the browser palette
Out of scope (v1)
Full-text search across conversation transcripts
Filters by project, worktree, status, date range, model, etc.
Saved searches or search history
Server-side indexing or pagination across very large histories (the in-memory approach should be revisited if conversation lists grow large enough to make this noticeable)
These can be follow-up issues once v1 ships and we have feedback on whether the title-only match is enough.
Context
Right now there's no way to find an existing conversation other than scrolling through the list. For users with long histories (or multiple projects/worktrees) this becomes a real friction point — we should be able to jump to a conversation by typing a few characters of its title.
Closely related to #237, which proposes splitting the command surface into an action palette and a browser palette for navigation. This issue defines what the browser palette should be able to find, in particular conversations.
Proposal (v1)
Add fuzzy search by conversation title as the first search capability. Keep it deliberately small and shippable:
fzf-style subsequence match) — case-insensitive, score-ranked.Surfaces
Expose the search in two places, so it's always one keystroke away:
Cmd+P) — conversations appear as the user types, mixed in with projects, worktrees, and sessions. This builds directly on Add command palette for actions + separate browser for navigation #237 and is the primary surface.Cmd+Shift+F) — opens a focused, full-screen-ish fuzzy search scoped to conversations only. Useful when the user knows they're looking for a conversation and wants maximum result density.The dedicated dialog is a thin shell over the same matching code as the palette entry.
Acceptance criteria
Cmd+P) shows conversations interleaved with projects, worktrees, and sessions, ranked by fuzzy score against the titleCmd+Shift+Fand searches titles onlyOut of scope (v1)
These can be follow-up issues once v1 ships and we have feedback on whether the title-only match is enough.
Related
Cmd+P.