app.dashboard.filter() in your evals file.
How filters work
Each filter function runs against a session and returns a value. The return type determines the UI control automatically:| Return type | UI control | Behavior |
|---|---|---|
boolean | Three-state toggle | Cycle: All → Yes → No → All |
number | Range slider | Dual-handle slider with min/max inputs |
string | Multi-select dropdown | Checkboxes with Select All / Clear |
Examples
Options
| Option | Type | Description |
|---|---|---|
label | string | Human-readable tile label (defaults to the filter name) |
condition | ConditionFunction | Per-filter gate |
Pre-built filters
Enable the built-in date range filter:| Name | UI control | Description |
|---|---|---|
'lastModified' | Date range picker | Filters sessions by last modified date |
Filters using cached eval results
In acachedOnly view, filter functions receive ctx.evalResults. This lets you build per-eval score sliders and composite boolean filters without re-running evals:
Global condition
Filters respectapp.condition(). If the global condition returns false for a session, all filters are skipped for that session.

