# selection.Selection.where

- **Module:** selection.Selection
- **Package:** @libtmux/libtmux
- **Language:** TypeScript
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-ts/blob/2cb93308200da38a26b59876618116850f110607/packages/libtmux/src/selection.ts#L437
- **Page:** https://libtmux.org/reference/ts/selection-selection-where/

```
selection.Selection.where(criteria: : WhereOf<Model>) -> Selection<Model>
```

Keep the members matching declarative criteria.

Criteria are data: equality, string operators, `AND`/`OR`/`NOT`, regular
expressions expressed as `{ pattern, flags }`, and quantifiers over
relations. Matching is case-sensitive unless a criterion says otherwise.

## Raises

- `VersionTooLow` — when a criterion names a field newer than the tmux that answered. Such a field is not absent from the data, it is absent from that release, and matching it against nothing would answer "no member has this" — which is a different statement and the one a caller would act on. The error names the field, the release that has it, and the release running.

## Example

```ts
snapshot.panes.where({ currentCommand: "vim" });
snapshot.windows.where({ name: { startsWith: "log" } });
```
