You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sessions can be renamed by double-clicking them, and the name is kept in session_meta. Projects can't — their sidebar label is the path, recomputed at each render site.
That matters once a few projects share a leaf directory name, or sit under a deep tree where the last two segments are not the part that distinguishes them. On my setup several projects read as Projects/<something> and I can't tell them apart at a glance in a narrow sidebar.
What I'd propose
The same interaction as sessions — double-click the project header, type, Enter — backed by a project_meta table keyed by projectPath rather than the ~/.claude/projects folder name, since several legacy folders can encode the same path and already render as one sidebar group. Clearing the field, or typing the path back, drops the override and falls back to the shortened path.
The display name gets attached once in buildProjectsFromCache, rather than at each of the three places that can create a project entry, so they can't drift apart.
Status
It's implemented and working on my fork, verified end to end (double-click, type, Enter, restart — the name persists). I'd rather ask before sending a feature PR you didn't request.
db.js can't be required outside Electron (better-sqlite3 is built against Electron's ABI), so the round trip is verified by driving the running app rather than by a unit test. If you'd want a test there, that's a separate conversation about how to run tests under Electron.
Happy to open the PR if this is something you'd take, or to close this if project labels are meant to stay path-derived.
Sessions can be renamed by double-clicking them, and the name is kept in
session_meta. Projects can't — their sidebar label is the path, recomputed at each render site.That matters once a few projects share a leaf directory name, or sit under a deep tree where the last two segments are not the part that distinguishes them. On my setup several projects read as
Projects/<something>and I can't tell them apart at a glance in a narrow sidebar.What I'd propose
The same interaction as sessions — double-click the project header, type, Enter — backed by a
project_metatable keyed byprojectPathrather than the~/.claude/projectsfolder name, since several legacy folders can encode the same path and already render as one sidebar group. Clearing the field, or typing the path back, drops the override and falls back to the shortened path.The display name gets attached once in
buildProjectsFromCache, rather than at each of the three places that can create a project entry, so they can't drift apart.Status
It's implemented and working on my fork, verified end to end (double-click, type, Enter, restart — the name persists). I'd rather ask before sending a feature PR you didn't request.
Two things worth flagging if you're interested:
shortProjectPath()helper that PR introduces.db.jscan't be required outside Electron (better-sqlite3 is built against Electron's ABI), so the round trip is verified by driving the running app rather than by a unit test. If you'd want a test there, that's a separate conversation about how to run tests under Electron.Happy to open the PR if this is something you'd take, or to close this if project labels are meant to stay path-derived.