Desktop sidebar: store session pin membership/order in the session store (or expose it) so it can sync across accounts and be managed by agents

Status Open
Reported on v2.1.228
Maintainer reply None cached
Activity 0 comments · opened Aug 25, 2026

What

The desktop app's Claude Code sidebar stores session pinning — membership and order — only in the app's Chromium Local Storage (leveldb), as a per-account/org pinnedOrder array. Everything else about a session's organization lives in the per-session index files at ~/Library/Application Support/Claude/claude-code-sessions/<accountUuid>/<orgUuid>/local_<id>.json (isArchived, isStarred, title, …), where external tooling can read and write it safely.

Request: store pin membership and order in the session store too (per-session fields plus an ordering value, or a small adjacent JSON), or expose session-organization operations (pin/unpin, reorder, group) through a supported surface such as the session-management MCP tools.

Why

  1. Multi-account users lose pin order on every account switch. The sidebar is account-scoped; I keep ~90 account/org stores in sync with an external mirror (cc-mirror-sessions) that propagates isArchived, isStarred, and title across copies of the same session. Pinning is the one organizational property it cannot carry: a session pinned at the top under one account lands at the bottom under another, because each account's pinnedOrder lives in app-local storage that outside tools cannot touch safely (leveldb held open by the app; external writes risk corruption and get clobbered by in-memory state).
  1. Even single-account, agents can't organize sessions. Claude Code agents can already archive, star, and retitle sessions (via the store or the ccd_session_mgmt tools), and those changes stick. Pinning and ordering — arguably the main way a human curates their working set — is the one organizational surface agents can't manage. "Put the three sessions I'm babysitting at the top of pinned" is a natural ask that currently has no supported path.

Environment

  • Claude desktop app 1.34493.1, Claude Code 2.1.228, macOS 15 (arm64)
  • Observed schema: no pin/order/position field across ~100k session index files; pinnedOrder present only in Local Storage/leveldb keyed per account/org

View original on GitHub ↗