Max Zimmer

I keep my Claude Code sidebar strict

In this post

If you run a lot of Claude Code sessions in the Claude desktop app, the sidebar turns into a junk drawer fast. I keep it in check with three habits. I name every session with the same pattern, I file each one into a section based on its status, and I archive anything that's finished. None of it is clever. Being strict about it is what makes the difference.

The sidebar fills up quicker than it used to. Nested sessions let one session spin off half a dozen children, and every one of them is a session you might need to find again next week.

Name your sessions

The app titles each session for you, and the changelog shows it generating titles from the conversation. They're fine in the moment and useless a week later, when five sessions are all called something like "Fix form validation."

To rename one, open it and click the session title in the title bar. The session's right-click menu has Rename too. I use one pattern for everything:

WXX: YYY - Short task description

WXX is the week number, YYY is the client or ticket identifier, and the rest is a few words about the task. So a session from this week might be W42: ACME01 - Fix donation form validation.

The week number tells me how stale a session is at a glance. The identifier groups a client's work together when I sort or search. The description is for me, so it only has to make sense to me. It's a small thing, but a consistent prefix means I can find any session in a couple of seconds.

Sort sessions into sections

The sidebar lets you make your own groups, which the app now calls sections. They got that name in v2.42304.0, the same release that shipped nested sessions. To make one, right-click an empty spot in the sidebar and pick New section. To file a session, right-click it, choose Move to group, and pick a section (or make a new one right there).

I group by status, not by client, since the naming convention already covers clients. My sections:

  • Pinned is for focus time. Pin is on the session menu, and pinned sessions get their own list in the sidebar. Whatever I'm working on right now goes here, and nothing else does.
  • Waiting/Hold is for sessions blocked on someone else, usually a client's approval. They're not done, but there's nothing for me to do until I hear back.
  • Past Due is for task sessions that have slipped past their due date. Having a section for it means I can't pretend it isn't happening.
  • Case Closed is where a session goes when the work is done and Claude is running a retrospective on it. Nothing's needed from me, so the session is closed in all but name.
  • Recents is everything else. It's the default spot for sessions that aren't in a section, so new sessions land there until I file them.

The app's Group and sort menu shows up when you hover over a section heading. It also lets you group by folder, repository, or (since v2.42304.0) environment. I tried those, but status is what I actually need to know when I open the app.

Archive what's closed

Once a session has its retro and nothing else is pending, I archive it. Hover over the session, open its menu, and pick Archive. If your sessions end in pull requests, there's a setting called "Auto-archive after PR merge or close" in Settings > Claude Code (docs). I've never used it. I prefer archiving by hand. You can also ask Claude to tidy up. The docs give "archive the sessions whose PRs have merged" as an example.

Archiving isn't deleting. Archived sessions live under View all > Archived, and you can unarchive one from there. One thing to know first is what happens to the session's worktree (the separate git checkout the session works in). For a local session, the worktree stays on disk with its changes, and the app removes it about 30 days after you archive the session or last open it, whichever is later. If there's uncommitted work you care about, commit it before you archive.

Why bother

Partly it's for me. When I open the app in the morning, the sidebar tells me what's in focus, what's blocked, and what's late, without opening a single session.

There's also a practical side. Lots of open sessions cost something. Anthropic has fixed sessions stalling "when many sessions are open" (v2.7032.0), and there are open GitHub issues about the desktop app eating memory with several sessions running, like this one on a 32 GB Windows laptop. There's no official number for how many sessions is too many. Speed wasn't why I started archiving, and I'm not claiming it fixes performance. For me it's about finding things, and a smaller pile doesn't hurt.

The setup has rough edges. Since the Recents change, the Recents section expands itself every time you start a session. Search can also archive a session by accident. The ⌘K results mix in actions like Archive and Delete for the session you have open, so read before you click.

My take

Sessions are cheap to start, so you'll start a lot of them. The sidebar is the only place that knows about all of them at once, and it only stays useful if you keep it in order. Name it when you start it, move it when its status changes, and archive it when it's closed. It takes a few seconds per session, and it's worth doing every time.

Sources