[FEATURE] Visual project-based session organization with folders and pinning

Status Fixed / completed
Maintainer reply ✓ Yes — amorriscode
Activity 8 comments · opened Feb 2, 2026 · closed May 20, 2026
💡 Likely answer: A maintainer (amorriscode, contributor) responded on this thread — see the highlighted reply below.

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
  • p to pin/unpin
  • a to archive

5. ALTERNATIVE SOLUTIONS

Current workarounds:

  1. Descriptive names: /rename "frontend: auth refactor" - works but manual, clutters names
  2. Delete old sessions: Lose context and history
  3. Mental mapping: Remember which session was which - doesn't scale
  4. 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 ~/backend API session
  • Start new ~/frontend session: "Add dark mode"

Wednesday:

  • Need to revisit Monday's dashboard implementation

With project organization:

  1. Open Claude Code Desktop
  2. See projects listed:

``
▼ frontend (3 sessions)
★ User dashboard (pinned Monday)
Mobile responsive
Dark mode
▼ backend (1 session)
REST API
▼ scripts (1 session)
Deployment
``

  1. Expand frontend, click "User dashboard", immediately back in context

Without project organization:

  1. See flat list of 5 sessions with generic timestamps
  2. Scroll, try to remember which was which
  3. 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 /rename functionality 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

View original on GitHub ↗

8 Comments

TheMazzle · 6 months ago

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:

  • Manual project tags/labels on sessions
  • Detection based on conversation content (e.g., which subfolders were referenced)

With 20+ sessions that all look the same in the sidebar, the flat list becomes unusable fast. Strong +1 for this.

coygeek · 4 months ago

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.

estniehoe · 4 months ago

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:

  • A pinned section where I can fix my 10 agents in a stable order
  • The rest of the list can keep sorting by activity for ad-hoc sessions

With 10+ concurrent named sessions, spatial memory is how I navigate. The constant reshuffling defeats that completely.

coygeek · 3 months ago

Just checked the current state again. This issue is not fully resolved yet.

draci009 · 3 months ago

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.

ktimesk1776 · 3 months ago

+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.

amorriscode contributor · 3 months ago

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

github-actions[bot] · 1 month ago

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.