New request
#2549: Add option to filter sessions by workspace (hide sessions from other workspaces)
We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.
Problem
Currently, the session list shows sessions from all workspaces on the system, not just the active workspace. This makes the session list very cluttered when multiple agent workspaces exist (e.g., Hermes, Claude Code, etc.).
Example
From my session index, I can see sessions from:
/Users/syxc/Workspace/hermes(Hermes workspace)/Users/syxc/workspace/claude(Claude Code workspace)
All these sessions are shown together in the sidebar, with no way to filter them by workspace.
Suggested Solution
Add a setting option (e.g., in Preferences) to filter sessions by workspace:
- Option name: "Show sessions from all workspaces" vs "Show sessions from active workspace only"
- Default: Show all (current behavior, backward compatible)
- When "active workspace only" is selected, only sessions matching the current workspace path should appear
- Add a workspace indicator badge on each session item (similar to the project color dot) to make it clear which workspace a session belongs to
This would be similar to the existing "Show CLI sessions" toggle, which allows filtering CLI sessions from WebUI sessions.
Additional Issue: Workspace Path Case Display
The workspace path display has inconsistent casing:
/Users/syxc/Workspace/hermes(capital W)/Users/syxc/workspace/claude(lowercase w)
This should be normalized (all lowercase or all original case) for consistency.
Use Case
Users who run multiple AI agents (Hermes, Claude Code, Codex, etc.) on the same machine often have separate workspaces for each. They want to keep their session lists organized by workspace rather than seeing everything mixed together.
Alternative Solutions Considered
- Project-based organization: Projects already exist, but they are user-created groups, not automatically tied to workspaces
- Manual filtering: Users could manually create projects and move sessions, but this is tedious and not automatic
Priority
Medium UX improvement. Not a blocker, but significantly improves the daily experience for multi-workspace users.
Filtering the session list by workspace touches the sidebar rendering, preferences pane, backend session queries, and workspace metadata normalization.
- static/js/sidebar.js
- static/js/preferences.js
- api/sessions.py
- static/index.html
- static/css/dark-theme.css
- api/routes.py