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
{{ message }}
Repository navigation
desktop/web: group sidebar sessions by project like Codex Projects view #55446
Session sidebar shows a flat recent list with a single-letter avatar per session. Request collapsible per-project groups (full project path header + named sessions underneath, with distinct icons/colors), matching the Codex app Projects view.
Environment
opencode version: Unavailable: opencode CLI not in PATH in this shell (skill snapshot reported 2.0.29 / latest channel)
OS: Windows_NT 10.0.26200 (win32 x64) per skill snapshot (ver unavailable in this shell)
Terminal: Unavailable: terminal environment variables are not set
Shell: C:\WINDOWS\system32\cmd.exe per skill snapshot
Install/channel: latest per skill snapshot
Active plugins: none found in config (~/.config/opencode/opencode.json contains only mcp.servers.playwright, no plugins)
Reproduction
Have sessions across several project directories (e.g. Documents/the-tape, Documents/Default Project, Documents/rotations2, plus UNC-backed projects).
Open the desktop/web sidebar session list.
Observe flat recents: left avatar is only the first letter of the project, full path is small grey text, no grouping.
Expected Behavior
Sessions grouped under collapsible project headers showing the full project path, each group listing its named sessions underneath, with per-project icon/color — as in the Codex app screenshot (Projects: z:\rotations, z:\portfolio-management, z:\sqrlbook, usa-demographics, each with sessions nested below).
Actual Behavior
Flat list, letter-only avatar, no visual separation between projects. With a main app plus several similar side projects, sessions blur together.
Additional Context
Consistent, not intermittent. User manages the-tape (main quant research rebuild) plus smaller side projects and context-switches daily.
Workarounds tried: one directory per project + descriptive renames; helps scanning but does not group.
Same grouped-sidebar need applies to the user's local deepseek-harness workspace UI.
No secrets included.
Reacted by Nikolai Perminov, TylonHH, TANG Zihan, konst-sh, PAVchensky, Steffen, Alexander, berial, Altcheb, tana and 3 more
Thanks for the detailed request! In short, you'd like the desktop/web session list grouped by project, with collapsible headers showing the full project path, each project's sessions listed underneath, and a distinct icon/colour for each project, like the Codex Projects view. That would make it much easier to tell a main project apart from similar side projects.
Maintainers will consider it. Closely related requests, most similar first:
+1 on this. Same pain point from a different angle.
Right now the desktop sidebar shows a flat recent-list with only a single-letter avatar and the full path as tiny grey text. When I have 10+ sessions across ~5 projects, I can't scan by project — I have to read each path line to figure out which project a session belongs to before I can click it. That's exactly the Codex "Projects view" gap this issue describes.
What would help most on my machine:
Collapsible project headers (full path, not just the letter avatar)
Named sessions nested underneath each project, so I can scan by project first, then by session name
Distinct icon/color per project, like Codex's z:\rotations, z:\portfolio-management grouping.
+1 on this. I recently switched from Codex to OpenCode, and the grouped project/session sidebar is the one thing I genuinely miss every day.
In Codex, I could see all my projects at a glance with their sessions nested underneath, I never had to think about which session belonged where. Now with the flat session list in OpenCode, I have to read every single path to figure out what's what. With half a dozen projects and multiple sessions each, this slows me down every time I switch context.
A collapsible per-project grouping, even just as a toggle, would bring the experience much closer to what Codex users are used to. Happy to help test if a PR lands.
+1 on this. I recently switched from Codex to OpenCode, and the grouped project/session sidebar is the one thing I genuinely miss every day.
In Codex, I could see all my projects at a glance with their sessions nested underneath — I never had to think about which session belonged where. Now with the flat session list in OpenCode, I have to read every single path to figure out what's what. With half a dozen projects and multiple sessions each, this slows me down every time I switch context.
A collapsible per-project grouping — even just as a toggle — would bring the experience much closer to what Codex users are used to. Happy to help test if a PR lands.
I'd suggest a smaller first design for desktop/web session discovery: an opt-in project grouping mode with collapsible full-path headers and named sessions underneath. Per-project colors/icons and project tabs could follow separately.
Derive membership from each session's project/directory data. Use server identity plus the full project path as the group key, so identical directory names, Windows drive/UNC paths, and the same path on different servers cannot collapse into one group. Show the full path in the header with an accessible expansion for long paths.
Order groups by their most recently active session and sessions within each group by existing recency rules, with a stable tie-break. New activity updates ordering without losing collapse state or the active session.
Put sessions with unresolved project metadata in an explicit ungrouped section until resolved; do not silently drop them or merge all unknown paths as a real project. Show a useful empty state when no sessions exist. Avoid creating headers for projects with no visible sessions.
Persist grouping mode and collapsed group IDs in the existing user preference mechanism, scoped by server. Keep session rename/open/archive actions and keyboard navigation usable; an active session remains discoverable in a collapsed group. Search results keep sufficient project context to distinguish matches.
The current Home list already builds session groups in its controller, passes them through the region, and renders them in the view. These are existing reference points for a Home-list phase; they do not establish that the sidebar route has the same extension point.
For a concrete first surface, I propose the desktop/web Home sessions list; that is narrower than the requested persistent sidebar. Would you prefer the sidebar route to be the first surface instead? The identity, grouping and persistence rules below would apply to the selected surface.
The earlier #57888 / #57894 / #57895 / #57896 PRs are closed and unmerged; they are design references, not evidence that this is already accepted. This proposal deliberately limits the surface to the requested Home session list rather than also changing horizontal/vertical tab strips.
Planned checks after design approval: populated desktop and narrow web layouts, same-basename projects, Windows/UNC paths, multiple servers, missing metadata, empty list, recency/rename/archive behavior, keyboard navigation, long names/paths, and preference persistence across reload. No implementation or visual/runtime validation is claimed here.
Would you approve this session-list grouping scope and identity/order rules as the first phase?
+1 from a Windows desktop user working across two repositories (hqt_flutter_t2, app_bridge_net)
with dozens of sessions between them.
Current Home list groups by time (today / yesterday / older) and only shows the project name inline
on each row, so finding "what was I doing in project X" means reading row by row. Collapsible
per-project headers with named sessions nested underneath — plus a per-project "show more (N)" —
is exactly the shape I want, and it is how WorkBuddy/Codex present projects.
Two notes from reading packages/app:
Home already builds a HomeSessionGroup[] in home/sessions/controller.tsx and renders it in home/sessions/view.tsx, so a project-group mode can reuse that pipeline instead of adding a
second list implementation.
The group key must include server identity + full worktree path (pathKey), otherwise
same-basename checkouts and per-worktree sessions collapse into one header.
The opt-in first phase proposed above (grouping the Home session list) is the right scope for me.
Requirements I care about: collapsed state persists per server, the active session stays
discoverable while its group is collapsed, and grouping is a toggle so the current time-grouped
list stays available.
The "Group by project" toggle in the experimental Inbox sidebar (#59220) is the right idea too —
porting the same model to Home would resolve this issue.
need this as well, when the side tabs panel is there, having the projects with their sessions displayed in it is the natural way, the context menu with specific actions for sessions and projects is required as well - rename/delete/open location in file explorer/fork - this should be all available in session tab header context menu, currently its spreaded through several different places
I'd like to add a few requirements for the project-grouped sidebar:
Collapsible project groups: each project is a top-level item that can be expanded to show its sessions or collapsed to hide them.
Full session history: each group provides access to all sessions belonging to that project, not just open tabs or recent sessions. Lazy loading or “Show more” is fine, provided older sessions remain accessible within the group.
Drag-and-drop project ordering: users can reorder projects manually by dragging their headers.
Persistent layout: project order and expanded/collapsed states are preserved across app restarts. New session activity should not override the manual project order.
The intended workflow is a persistent Projects → Sessions tree on the left, rather than a list of open tabs. This would make switching between multiple projects and returning to older conversations much easier.
+1 from a daily Windows desktop user — the flat recency list is my main sidebar pain too.
A data point for maintainers: PR #59220 implements exactly this (collapsible per-project groups, a project filter, pinned sessions) for the experimental Inbox interface mode (Settings → Preferences → Interface → Inbox). I built the branch from source and tested it on Windows with my real sessions: grouping, collapsing, filtering and pins all work and persist across restarts. The default Side tabs mode still has no grouping, so this issue remains relevant for it — but if Inbox is where the sidebar is heading, #59220 already covers most of this request and has been waiting for review since Oct 26.
A design call on which surface should own project grouping (the home sessions list, side tabs, or inbox) would save contributors from guessing: four earlier attempts (#57888, #57895, #57896, #60374) were closed without merge.
Also affected on 2.2.3 with the vertical tab layout: the left sidebar is a flat list of open tabs, so sessions from different projects are interleaved and there is no project grouping. The project picker at the top only filters to one project (or All projects); Home groups by Today/Yesterday/Older, not by project. With 9 projects this gets hard to scan. Request: collapsible per-project groups in the vertical tab sidebar (project icon/name header, sessions underneath), with grouping preserved across restarts.
An optional approach to this project/history navigation request is now available for design review in #60867: a separate fourth Side bar mode, while existing Top tabs, Side tabs and Inbox keep their behavior.
It provides project headings with five-row recent-history previews and More/Show less, a flat List option, and an independently scrolling Running shelf that includes unopened sessions/subagents across projects. Grouping follows existing project/worktree ownership; directory trees, archive filters and custom tags are separate work.
Additional hands-on testing is welcome. Windows x64 fork preview (unsigned, 2.2.3 base; initial manual test passed), or build joe-ieta:sidebar-mode for the latest dev base (2.2.5). Select Settings → General → Interface → Side bar and report multi-project/worktree behavior, grouping/list switching, running/input-waiting visibility, close/reopen and reload results in #60867, with OS and exact build/commit. This remains a draft pending maintainer design review.
+1 — Desktop 2.2.5 on Windows 11, same pain point on the Home / left session list.
Today Home groups by Today/Yesterday/Older; the project only shows up as a single-letter avatar and as a filter in the project dropdown. With sessions across several repos, finding "what was I doing in project X" means reading row by row.
What I need (matches the opt-in phase proposed above):
Collapsible per-project headers, keyed by server id + full worktree path (not the basename)
All sessions of a project nested underneath, not only open tabs
Collapsed state persisted; grouping as a toggle so the time-grouped list stays available
The active session stays discoverable while its group is collapsed
Worth noting for the design: this cannot be solved by a plugin today — the GUI plugin API has no session-list/Home extension point (Panel is region: "side" only; Slot only exposes window.bottom, session.header, session.location.menu, session.panel.end), so third-party plugins have to DOM-inject, which breaks on releases.
Happy to test #60867's Side bar mode and #59220 on Windows 2.2.5 and report back.
In this mode the left sidebar only lists open session tabs. Tabs from different projects are interleaved in tab order, and there is no project context at all — the project list exists only on the Home screen. With ~9 active projects, telling which tab belongs to which project means opening or hovering each one, and the flat list gets hard to scan.
What would help:
Optional project headings inside the vertical tab sidebar, with that project's open sessions nested underneath.
Collapsible groups, with the current flat tab order kept as an option — I rely on drag-reordering tabs and don't want to lose it.
The Home button already sits at the top of this sidebar, so a project section there would fit naturally.
PR #60867's independent "Side bar" mode looks like the right direction. Please keep the existing vertical tab behavior available for people who prefer the flat list.
Project-grouped sessions would help in both Side tabs and Inbox. With many projects and sessions, the flat list is hard to scan; in Side tabs the ordering can also feel unpredictable. Please consider an understandable, consistent ordering within and across groups. The single-letter project avatar is not very informative when project names share prefixes used for alphabetical organization. Named, collapsible project headings would make the project context much clearer.
(#57896, tab-strip grouping, was closed as submitted early; the author said he'd re-submit.)
A small product thought: most people in this thread are asking for one thing, "show my sessions under their project", in the view they already use (Home, Side tabs, vertical tabs, Inbox). A 4th mode answers that with one more setting to explain, and people on the other three modes still get a flat list.
A simpler path might be:
One shared grouping model: key = server + full project path, worktrees under their repo, same order everywhere.
The details testers already found: a collapsed group still shows unread/running dots, the active session's group never hides it, and the header shows enough path to tell app from app-v2.
#60867's Running shelf looks useful on its own and could come after as a separate change.
I haven't built either branch myself. Mostly hoping a maintainer can say which direction they'd take, so contributors stop building in parallel.
I'm taking a simple path here, developing a panel that presents sessions using some custom views matching my needs, e.g. groups, groups across multiple servers, different sorting logic etc.
The only limitation so far is that panels show on the right and can be hidden by other panels. That would be easy to fix: \1 allow to pin panels and \2 allow to show panels on the left.
Overall, IMO the north star is allowing agents to fully control the UI, in all aspects and with new custom UI elements that the community can develop, similarly to a desktop environment.
Activity
opencode-agent commentedon Oct 14, 2026
Thanks for the detailed request! In short, you'd like the desktop/web session list grouped by project, with collapsible headers showing the full project path, each project's sessions listed underneath, and a distinct icon/colour for each project, like the Codex Projects view. That would make it much easier to tell a main project apart from similar side projects.
Maintainers will consider it. Closely related requests, most similar first:
This can't be built as a plugin right now, because plugins can't change the desktop/web session list.
LQHTSINGHUA commentedon Oct 21, 2026
+1 on this. Same pain point from a different angle.
Right now the desktop sidebar shows a flat recent-list with only a single-letter avatar and the full path as tiny grey text. When I have 10+ sessions across ~5 projects, I can't scan by project — I have to read each path line to figure out which project a session belongs to before I can click it. That's exactly the Codex "Projects view" gap this issue describes.
What would help most on my machine:
z:\rotations,z:\portfolio-managementgrouping.TylonHH commentedon Oct 24, 2026
+1 on this. I recently switched from Codex to OpenCode, and the grouped project/session sidebar is the one thing I genuinely miss every day.
In Codex, I could see all my projects at a glance with their sessions nested underneath, I never had to think about which session belonged where. Now with the flat session list in OpenCode, I have to read every single path to figure out what's what. With half a dozen projects and multiple sessions each, this slows me down every time I switch context.
A collapsible per-project grouping, even just as a toggle, would bring the experience much closer to what Codex users are used to. Happy to help test if a PR lands.
TylonHH commentedon Oct 24, 2026
+1 on this. I recently switched from Codex to OpenCode, and the grouped project/session sidebar is the one thing I genuinely miss every day.
In Codex, I could see all my projects at a glance with their sessions nested underneath — I never had to think about which session belonged where. Now with the flat session list in OpenCode, I have to read every single path to figure out what's what. With half a dozen projects and multiple sessions each, this slows me down every time I switch context.
A collapsible per-project grouping — even just as a toggle — would bring the experience much closer to what Codex users are used to. Happy to help test if a PR lands.
Dante-dan commentedon Oct 24, 2026
I'd suggest a smaller first design for desktop/web session discovery: an opt-in project grouping mode with collapsible full-path headers and named sessions underneath. Per-project colors/icons and project tabs could follow separately.
The current Home list already builds session groups in its controller, passes them through the region, and renders them in the view. These are existing reference points for a Home-list phase; they do not establish that the sidebar route has the same extension point.
For a concrete first surface, I propose the desktop/web Home sessions list; that is narrower than the requested persistent sidebar. Would you prefer the sidebar route to be the first surface instead? The identity, grouping and persistence rules below would apply to the selected surface.
The earlier #57888 / #57894 / #57895 / #57896 PRs are closed and unmerged; they are design references, not evidence that this is already accepted. This proposal deliberately limits the surface to the requested Home session list rather than also changing horizontal/vertical tab strips.
Planned checks after design approval: populated desktop and narrow web layouts, same-basename projects, Windows/UNC paths, multiple servers, missing metadata, empty list, recency/rename/archive behavior, keyboard navigation, long names/paths, and preference persistence across reload. No implementation or visual/runtime validation is claimed here.
Would you approve this session-list grouping scope and identity/order rules as the first phase?
zhuzhutai commentedon Oct 27, 2026
+1 from a Windows desktop user working across two repositories (
hqt_flutter_t2,app_bridge_net)with dozens of sessions between them.
Current Home list groups by time (today / yesterday / older) and only shows the project name inline
on each row, so finding "what was I doing in project X" means reading row by row. Collapsible
per-project headers with named sessions nested underneath — plus a per-project "show more (N)" —
is exactly the shape I want, and it is how WorkBuddy/Codex present projects.
Two notes from reading
packages/app:HomeSessionGroup[]inhome/sessions/controller.tsxand renders it inhome/sessions/view.tsx, so a project-group mode can reuse that pipeline instead of adding asecond list implementation.
pathKey), otherwisesame-basename checkouts and per-worktree sessions collapse into one header.
The opt-in first phase proposed above (grouping the Home session list) is the right scope for me.
Requirements I care about: collapsed state persists per server, the active session stays
discoverable while its group is collapsed, and grouping is a toggle so the current time-grouped
list stays available.
The "Group by project" toggle in the experimental Inbox sidebar (#59220) is the right idea too —
porting the same model to Home would resolve this issue.
konst-sh commentedon Oct 28, 2026
need this as well, when the side tabs panel is there, having the projects with their sessions displayed in it is the natural way, the context menu with specific actions for sessions and projects is required as well - rename/delete/open location in file explorer/fork - this should be all available in session tab header context menu, currently its spreaded through several different places
PAVchensky commentedon Oct 29, 2026
+1
AntonMrCoder commentedon Oct 30, 2026
I'd like to add a few requirements for the project-grouped sidebar:
The intended workflow is a persistent Projects → Sessions tree on the left, rather than a list of open tabs. This would make switching between multiple projects and returning to older conversations much easier.
rahbi4-source commentedon Oct 30, 2026
+1 from a daily Windows desktop user — the flat recency list is my main sidebar pain too.
A data point for maintainers: PR #59220 implements exactly this (collapsible per-project groups, a project filter, pinned sessions) for the experimental Inbox interface mode (Settings → Preferences → Interface → Inbox). I built the branch from source and tested it on Windows with my real sessions: grouping, collapsing, filtering and pins all work and persist across restarts. The default Side tabs mode still has no grouping, so this issue remains relevant for it — but if Inbox is where the sidebar is heading, #59220 already covers most of this request and has been waiting for review since Oct 26.
A design call on which surface should own project grouping (the home sessions list, side tabs, or inbox) would save contributors from guessing: four earlier attempts (#57888, #57895, #57896, #60374) were closed without merge.
qywhen commentedon Oct 30, 2026
Also affected on 2.2.3 with the
verticaltab layout: the left sidebar is a flat list of open tabs, so sessions from different projects are interleaved and there is no project grouping. The project picker at the top only filters to one project (or All projects); Home groups by Today/Yesterday/Older, not by project. With 9 projects this gets hard to scan. Request: collapsible per-project groups in the vertical tab sidebar (project icon/name header, sessions underneath), with grouping preserved across restarts.Related: #44589
joe-ieta commentedon Oct 31, 2026
An optional approach to this project/history navigation request is now available for design review in #60867: a separate fourth Side bar mode, while existing Top tabs, Side tabs and Inbox keep their behavior.
It provides project headings with five-row recent-history previews and More/Show less, a flat List option, and an independently scrolling Running shelf that includes unopened sessions/subagents across projects. Grouping follows existing project/worktree ownership; directory trees, archive filters and custom tags are separate work.
Additional hands-on testing is welcome. Windows x64 fork preview (unsigned, 2.2.3 base; initial manual test passed), or build
joe-ieta:sidebar-modefor the latestdevbase (2.2.5). Select Settings → General → Interface → Side bar and report multi-project/worktree behavior, grouping/list switching, running/input-waiting visibility, close/reopen and reload results in #60867, with OS and exact build/commit. This remains a draft pending maintainer design review.miaorunquan commentedon Nov 2, 2026
+1 — Desktop 2.2.5 on Windows 11, same pain point on the Home / left session list.
Today Home groups by Today/Yesterday/Older; the project only shows up as a single-letter avatar and as a filter in the project dropdown. With sessions across several repos, finding "what was I doing in project X" means reading row by row.
What I need (matches the opt-in phase proposed above):
Worth noting for the design: this cannot be solved by a plugin today — the GUI plugin API has no session-list/Home extension point (
Panelisregion: "side"only;Slotonly exposeswindow.bottom,session.header,session.location.menu,session.panel.end), so third-party plugins have to DOM-inject, which breaks on releases.Happy to test #60867's Side bar mode and #59220 on Windows 2.2.5 and report back.
tanakaisworking commentedon Nov 2, 2026
Also requesting this specifically for the vertical tab layout, which I use daily.
Environment: OpenCode desktop 2.2.5 (macOS), Settings → Appearance → Tabs → Vertical.
In this mode the left sidebar only lists open session tabs. Tabs from different projects are interleaved in tab order, and there is no project context at all — the project list exists only on the Home screen. With ~9 active projects, telling which tab belongs to which project means opening or hovering each one, and the flat list gets hard to scan.
What would help:
PR #60867's independent "Side bar" mode looks like the right direction. Please keep the existing vertical tab behavior available for people who prefer the flat list.
dluc commentedon Nov 2, 2026
Project-grouped sessions would help in both Side tabs and Inbox. With many projects and sessions, the flat list is hard to scan; in Side tabs the ordering can also feel unpredictable. Please consider an understandable, consistent ordering within and across groups. The single-letter project avatar is not very informative when project names share prefixes used for alphabetical organization. Named, collapsible project headings would make the project context much clearer.
balabommablock-cpu commentedon Nov 4, 2026
Trying to help this land, since there are now three open directions and it's hard to tell which one the team wants:
(#57896, tab-strip grouping, was closed as submitted early; the author said he'd re-submit.)
A small product thought: most people in this thread are asking for one thing, "show my sessions under their project", in the view they already use (Home, Side tabs, vertical tabs, Inbox). A 4th mode answers that with one more setting to explain, and people on the other three modes still get a flat list.
A simpler path might be:
appfromapp-v2.#60867's Running shelf looks useful on its own and could come after as a separate change.
I haven't built either branch myself. Mostly hoping a maintainer can say which direction they'd take, so contributors stop building in parallel.
dluc commentedon Nov 4, 2026
I'm taking a simple path here, developing a panel that presents sessions using some custom views matching my needs, e.g. groups, groups across multiple servers, different sorting logic etc.
The only limitation so far is that panels show on the right and can be hidden by other panels. That would be easy to fix: \1 allow to pin panels and \2 allow to show panels on the left.
Overall, IMO the north star is allowing agents to fully control the UI, in all aspects and with new custom UI elements that the community can develop, similarly to a desktop environment.
pav18 commentedon Nov 5, 2026
We just need OLD layout - Project/sessoin, session, session... at sidebar
pav18 commentedon Nov 10, 2026
YEEESSSSS Projects in the sidebar (Experimental Settings)
dluc commentedon Nov 11, 2026
+1 for customizability