FleetView: ctrl+x delete doesn't remove a session; it reappears under a different project group
Summary
In the FleetView / session list, deleting a session with ctrl+x does not remove it. The entry reappears under a different project-group header. Repeating the delete just bounces it between groups. It is effectively impossible to remove such a session from the list via the UI.
Environment
- Claude Code v2.1.204
- macOS (darwin)
Steps to reproduce
- Have a conversation whose working directory changes during its life. Either
/cdfrom one repo into another, or resume it as a background job (claude -r <id>) one or more times. - Open FleetView (the list showing "N awaiting input · N working · N completed", grouped by project directory).
- The session appears under project group A.
- Open it. It jumps to project group B.
- Go back and
ctrl+xto delete it under B. - The entry reappears under group A.
What I found on disk
A single conversation is stored as multiple records, and FleetView groups each record independently by its last recorded cwd (not by where the transcript is stored, nor by git root):
- Interactive transcripts live in
~/.claude/projects/<encoded-cwd-at-start>/<session-id>.jsonl. If the session later/cds into another repo, its lastcwdpoints there, so FleetView shows it under that other repo's group even though the file is stored under the original repo's dir. - Each background resume (
claude -r) mints a new session id plus a new transcript and a~/.claude/jobs/<id>/dir, all pointing back viaresumeSessionIdto the prior one. So one logical conversation becomes a chain of records.
Because ctrl+x deletes only the single record currently displayed, the sibling records (same conversation, different last cwd) remain and re-list under another group. There is no UI affordance to see or delete the whole lineage at once.
Expected
Deleting an entry should remove it permanently, or the UI should treat all records of the same conversation lineage as one deletable item. At minimum, delete should not resurrect the entry under a different group.
Suggestion
Group sessions by their storage directory (or git root) rather than by mutable last cwd, and make ctrl+x delete the full resume lineage.
🤖 Generated with Claude Code