Session names should reflect the task being worked on, and the session list should sort newest-first
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 19.9k
- Forks
- 2.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 30
Description
Summary
Session IDs are random and uninformative (e.g. session_lion_1785967431956_42df39dbb0476edf), so it is very hard to find the session you are looking for in the session picker. A title is only derived from todo state when it exists, so sessions without todos (or early in a session) show as random IDs.
Requested behavior
- Meaningful session names: each session should get a name that reflects the problem being worked on, not a random ID. The name should be auto-generated from the work itself - for example summarized from the first user prompt / task description, the todo plan intent (
user_intention), or the first user message - and shown in the session picker, the header, and the terminal title. The session summary already carriesfirst_user_prompt,title, andcustom_title, so the pieces exist to derive a good default label. - Newest-first ordering: sessions should be displayed in descending order, newest at the top, so the most recent work is immediately visible when the picker opens.
Environment
- jcode TUI, session picker
- Observed with many sessions: names like
session_lion_1785967431956_42df39dbb0476edfmake it impossible to tell which session was about which problem without opening each one.
Acceptance criteria
- Every session has a human-readable name derived from its task/problem when a task exists (falling back to the current ID/title behavior otherwise).
- The picker shows the derived name prominently and sorts sessions newest-first by default.
- The header / terminal title uses the same meaningful name.
- Existing manual/custom title behavior (if any) still takes precedence over the derived name.
Related
- #696 asks for manual session renaming and grouping by project folder; this request is about auto-derived names and recency ordering, but the two are complementary.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the session picker and the session summary fields first_user_prompt, title, and custom_title, then follow how the header and terminal title obtain their labels. Implement the derived-name fallback and newest-first ordering while preserving manual or custom titles. Done means the picker, header, and terminal title agree and sessions without task text retain the existing fallback behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100