# LibTmux.Query.QueryExtensions.Plan

- **Module:** LibTmux.Query
- **Package:** LibTmux
- **Language:** C#
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux/Query/QueryExtensions.cs#L31
- **Page:** https://libtmux.org/en/csharp/latest/reference/libtmux-query-queryextensions-plan/

```
LibTmux.Query.QueryExtensions.Plan(document: QueryDocument, daemonVersion: TmuxVersion, pushdown: QueryPushdown) -> QueryPlan<T>
```

Plans an explicit query against the supplied daemon version without I/O.

## Parameters

- `document` (`QueryDocument`): The portable predicate.
- `daemonVersion` (`TmuxVersion`): The daemon version observed by Server.InspectAsync.
- `pushdown` (`QueryPushdown`): Whether predicates may execute inside tmux.

## Returns

An immutable, reusable execution plan.
