diff --git a/src/dstack/_internal/server/routers/runs.py b/src/dstack/_internal/server/routers/runs.py index 0fc39af86..bb9066d47 100644 --- a/src/dstack/_internal/server/routers/runs.py +++ b/src/dstack/_internal/server/routers/runs.py @@ -47,6 +47,7 @@ async def list_runs( """ Returns all runs visible to user sorted by descending `submitted_at`. `project_name`, `repo_id`, `username`, and `only_active` can be specified as filters. + Setting `only_active` to `true` excludes finished runs and deleted runs. Specifying `repo_id` without `project_name` returns no runs. The results are paginated. To get the next page, pass `submitted_at` and `id` of diff --git a/src/dstack/_internal/server/services/runs.py b/src/dstack/_internal/server/services/runs.py index eaad413a5..546ebbc10 100644 --- a/src/dstack/_internal/server/services/runs.py +++ b/src/dstack/_internal/server/services/runs.py @@ -162,7 +162,8 @@ async def list_projects_run_models( limit: int, ascending: bool, ) -> List[RunModel]: - filters = [RunModel.deleted == False, RunModel.project_id.in_(p.id for p in projects)] + filters = [] + filters.append(RunModel.project_id.in_(p.id for p in projects)) if repo is not None: filters.append(RunModel.repo_id == repo.id) if runs_user is not None: