[FEATURE] Visual project-based session organization with folders and pinning
1. TITLE
Visual project-based session organization with folders and pinning
2. PREFLIGHT CHECKLIST
- [ ] I have searched existing requests and this feature hasn't been requested yet
- [ ] This is a single feature request (not multiple features)
3. PROBLEM STATEMENT
Sessions accumulate quickly when working across multiple projects. The current session list is flat - finding a specific session requires:
- Remembering the exact name (if I renamed it)
- Scrolling through a chronological list
- Using search (but I need to remember keywords)
When I have 20+ sessions across 5 projects, the list becomes overwhelming. I lose track of:
- Which sessions belong to which project
- Which sessions are "active work" vs. "completed"
- Which sessions I want to revisit vs. can archive
4. PROPOSED SOLUTION
Add project-based organization to the Claude Code Desktop session list:
Automatic Grouping:
- Sessions are automatically grouped by git repository/project directory
- Each project becomes a collapsible folder in the sidebar
- Projects sorted by most recent activity
Visual Hierarchy:
▼ ~/projects/frontend (3 sessions)
★ Auth refactor (pinned)
Dashboard polish
Bug #423 fix
▼ ~/projects/backend (2 sessions)
API redesign
Performance optimization
▼ ~/scripts (1 session)
Deployment automation
▶ Archived (5 sessions) [collapsed]
Session Actions:
- Pin: Keep important sessions at top of project group
- Archive: Move to collapsed archive folder (not deleted)
- Tag/Label: Add custom tags like "WIP", "Review", "Done"
- Color coding: Optional visual distinction
Filtering:
- Filter by project
- Filter by tag
- Filter by date range
- Search within project or globally
Keyboard Navigation:
- Arrow keys to navigate projects and sessions
- Enter to expand/collapse project
pto pin/unpinato archive
5. ALTERNATIVE SOLUTIONS
Current workarounds:
- Descriptive names:
/rename "frontend: auth refactor"- works but manual, clutters names - Delete old sessions: Lose context and history
- Mental mapping: Remember which session was which - doesn't scale
- Separate Claude instances: One terminal per project - heavyweight, no unified view
What Codex does:
"Agents run in separate threads organized by projects, so you can seamlessly switch between tasks without losing context."
Project-based organization is the natural mental model for developers.
6. PRIORITY
- [ ] Critical - Blocking my work
- [ ] High - Significant impact on productivity
- [ ] Medium - Would be very helpful
- [x] Low - Nice to have
7. FEATURE CATEGORY
- [ ] CLI commands and flags
- [x] Interactive mode (TUI)
- [ ] File operations
- [ ] API and model interactions
- [ ] MCP server integration
- [ ] Performance and speed
- [ ] Configuration and settings
- [ ] Developer tools/SDK
- [ ] Documentation
- [ ] Other
8. USE CASE EXAMPLE
Scenario: Typical week working on multiple projects
Monday:
- Start session in
~/frontend: "Implement user dashboard" - Start session in
~/backend: "Add REST API for dashboard" - Start session in
~/frontend: "Fix mobile responsive layout"
Tuesday:
- Start session in
~/scripts: "Write deployment script" - Continue
~/backendAPI session - Start new
~/frontendsession: "Add dark mode"
Wednesday:
- Need to revisit Monday's dashboard implementation
With project organization:
- Open Claude Code Desktop
- See projects listed:
````
▼ frontend (3 sessions)
★ User dashboard (pinned Monday)
Mobile responsive
Dark mode
▼ backend (1 session)
REST API
▼ scripts (1 session)
Deployment
- Expand
frontend, click "User dashboard", immediately back in context
Without project organization:
- See flat list of 5 sessions with generic timestamps
- Scroll, try to remember which was which
- Maybe find it, maybe click wrong one first
Time saved: 30 seconds per context switch × many switches per day = significant cumulative benefit.
9. ADDITIONAL CONTEXT
Implementation considerations:
- Project detection via git root or working directory
- Sessions without git could group under "Ungrouped" or directory name
- Preserve existing
/renamefunctionality within this structure - Consider syncing organization across Desktop/CLI/Web
Related features:
- Worktree sessions could be sub-grouped under their parent repo
- Automation results could integrate into project groups
- Session search could scope to current project by default
Prior art:
- VS Code's workspace/folder organization
- Browser tab groups
- Slack's channel organization by workspace
- Linear's project/team hierarchy
8 Comments
Use case: multi-project workflow from a single directory
I use Claude Code as a productivity assistant across multiple client projects and personal work — all from the same working directory.
Since all sessions share one directory, git-root grouping wouldn't help me. What I'd need is either:
With 20+ sessions that all look the same in the sidebar, the flat list becomes unusable fast. Strong +1 for this.
Still relevant as of 2026-04-07. I rechecked the current public docs and issue state, and this still appears unresolved.
Evidence: Current public docs describe resume and search improvements, but I still do not see public support for project folders, pinning, or comparable project-level session organization.
Strong +1 for pinning and manual ordering.
I run 10 persistent agents concurrently via claude --resume (each specialized: framework development, writing, knowledge management, health, travel, wine cellar, garden, etc.). The sidebar is my control panel for switching between them.
The activity-based reordering causes a real usability problem: while I'm clicking to select an agent, another one responds and the list shifts. I end up sending a message to the wrong agent. This has happened multiple times and confused both me and the agents.
What would solve it for me:
With 10+ concurrent named sessions, spatial memory is how I navigate. The constant reshuffling defeats that completely.
Just checked the current state again. This issue is not fully resolved yet.
Problem: The sidebar is a flat, unsortable list. The project name is derived automatically — from the git origin repo name if a remote exists, otherwise the folder basename — with no way to override it (package.json name is ignored). There is also no way to group or nest projects.
Use case: I manage ~20 projects in Claude Code Desktop, organized into categories (Private / Work / Clients) via a separate project-management tool. Because the sidebar is flat and the name isn't controllable, I can't reproduce that structure. Renaming folders works only for non-git projects; renaming the GitHub repo is unacceptable (breaks Vercel auto-deploy, CI, documented URLs, pollutes the repo name with UI-sorting prefixes); removing the git remote breaks the git workflow. There is currently no clean path to an organized sidebar.
Request — two complementary capabilities:
Per-project display name independent of git remote and folder name — e.g. a displayName key in .claude/settings.json (or .claude/settings.local.json), or a right-click "Rename" in the sidebar.
Folder / grouping structure in the sidebar — the ability to organize projects into collapsible groups (e.g. a group/category key per project in settings, or manual drag-grouping in the UI), so large project lists stay navigable.
Either capability alone is a big improvement; together they fully solve the problem. Settings-file-based configuration is preferable over UI-only, for version control and reproducibility.
+1 -- this is the single biggest organizational gap for me in the Desktop app.
My use case: I run several distinct Claude Code contexts on one Mac. A knowledge-vault project plus a couple of separate app codebases, each already living in its own directory on the filesystem. That separation exists today; I just want the left pane to reflect it. Right now they all collapse into one flat, chronological session list, so every context switch means scanning timestamps trying to remember which session belonged to which project.
The key detail for me: I don't want arbitrary user-created folders. I want folders that mirror the filesystem location of each project, auto-derived from the session's working directory / git root (exactly the "Automatic Grouping" in this proposal). Codex does this today and it's the natural mental model. THe flow: open the app, see each project as a collapsible folder with its sessions nested underneath. No manual filing required.
Would also love the cross-surface sync mentioned in section 9 (Desktop/CLI/Web sharing the same grouping).
CODEX ALREADY does this. This would be an amzazing UX for the CC dev who is working on multiple projects simultaneously.
Going to close this out because we already support various group/sort options. Play around and re-open the issue if those options aren't working for you.
https://github.com/user-attachments/assets/700a8409-272a-4210-93c6-5194d4aef51e
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.