Before submitting
Area
apps/web
Problem or use case
As the number of projects and threads grows, the sidebar becomes harder to scan. T3 Code already has useful sidebar controls for sorting, grouping, and thread preview count, but there is no single filter menu for narrowing the visible threads by operational state and recent activity.
I would like a thread filtering improvement inspired by Claude Code Desktop: a compact popover that combines filters and the existing sidebar organization controls in one predictable place.
The goal is not to remove the current sidebar options. The goal is to keep the current behavior and add filtering on top of it.
Proposed solution
Add a Thread filters / sidebar filtering popover inspired by Claude Code Desktop.
Suggested rows:
Status: filter by active/working/needs-attention states. This should reuse T3 Code's existing thread status model and status pills.
Project: all projects or selected project(s).
Environment: all environments or selected environment(s).
Last activity: all, today, 3d, 7d, 30d, or similar recent ranges.
Group by: keep and expose the existing project grouping behavior.
Sort by: keep and expose the existing project/thread sort behavior.
Clear filters: reset only active filters while leaving user preferences intact.
Existing sidebar controls should remain available and should not regress:
- project sort order, currently
Last user message, Created at, Manual
- thread sort order, currently
Last user message, Created at
- project grouping mode
- thread preview count
Implementation notes:
- Keep this client-side initially. It should filter the existing sidebar state without requiring new server APIs or contract changes.
- OR within a filter group is fine; AND across groups is predictable.
- Sorting and grouping should continue to run after filters are applied.
- The active filter state should be visible enough that users can tell when the sidebar is narrowed.
Why this matters
This makes T3 Code more usable for people running many threads across multiple projects or environments. It helps find active work, stale work, blocked/attention-needed threads, or recently touched threads without manually expanding and scanning every project.
It also keeps the existing T3 Code sidebar controls, so current workflows around grouping and sorting are preserved.
Smallest useful scope
A first pass could include:
- a filter button in the Projects/sidebar header
Status filter
Last activity filter
Clear filters
- existing
Group by and Sort by controls moved into or mirrored inside the same popover
Project and environment filters can follow if that keeps the first PR smaller.
Alternatives considered
A plain search input helps when the user knows the thread title, but it does not help with operational questions like which threads are active, stale, waiting for approval, or in a specific environment.
The existing sidebar sort/group controls are useful and should stay. They solve ordering and organization, but not filtering.
Risks or tradeoffs
The menu could become too dense if it tries to include every possible thread attribute. Keeping the first version to status and last activity would reduce scope while still solving the main problem.
Another tradeoff is whether filter state should persist. A first pass can keep it local/session-only to avoid surprising users on restart.
Examples or references
Related issue:
Claude Code Desktop-inspired reference layout:
- Status: Active
- Project: All
- Environment: All
- Last activity: 3d
- Group by: Project
- Sort by: Recency
- Clear filters

Contribution
I am ready to implement this quickly if the proposed scope looks acceptable.
Before submitting
Area
apps/web
Problem or use case
As the number of projects and threads grows, the sidebar becomes harder to scan. T3 Code already has useful sidebar controls for sorting, grouping, and thread preview count, but there is no single filter menu for narrowing the visible threads by operational state and recent activity.
I would like a thread filtering improvement inspired by Claude Code Desktop: a compact popover that combines filters and the existing sidebar organization controls in one predictable place.
The goal is not to remove the current sidebar options. The goal is to keep the current behavior and add filtering on top of it.
Proposed solution
Add a
Thread filters/ sidebar filtering popover inspired by Claude Code Desktop.Suggested rows:
Status: filter by active/working/needs-attention states. This should reuse T3 Code's existing thread status model and status pills.Project: all projects or selected project(s).Environment: all environments or selected environment(s).Last activity: all, today, 3d, 7d, 30d, or similar recent ranges.Group by: keep and expose the existing project grouping behavior.Sort by: keep and expose the existing project/thread sort behavior.Clear filters: reset only active filters while leaving user preferences intact.Existing sidebar controls should remain available and should not regress:
Last user message,Created at,ManualLast user message,Created atImplementation notes:
Why this matters
This makes T3 Code more usable for people running many threads across multiple projects or environments. It helps find active work, stale work, blocked/attention-needed threads, or recently touched threads without manually expanding and scanning every project.
It also keeps the existing T3 Code sidebar controls, so current workflows around grouping and sorting are preserved.
Smallest useful scope
A first pass could include:
StatusfilterLast activityfilterClear filtersGroup byandSort bycontrols moved into or mirrored inside the same popoverProject and environment filters can follow if that keeps the first PR smaller.
Alternatives considered
A plain search input helps when the user knows the thread title, but it does not help with operational questions like which threads are active, stale, waiting for approval, or in a specific environment.
The existing sidebar sort/group controls are useful and should stay. They solve ordering and organization, but not filtering.
Risks or tradeoffs
The menu could become too dense if it tries to include every possible thread attribute. Keeping the first version to status and last activity would reduce scope while still solving the main problem.
Another tradeoff is whether filter state should persist. A first pass can keep it local/session-only to avoid surprising users on restart.
Examples or references
Related issue:
Claude Code Desktop-inspired reference layout:
Contribution
I am ready to implement this quickly if the proposed scope looks acceptable.