# Libtmux.Plan

- **Package:** libtmux
- **Language:** OCaml
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-ocaml/blob/205dfda49742592b479247049d186956e4a4cfe9/lib/libtmux.mli#L666
- **Public owner:** Libtmux
- **Page:** https://libtmux.org/en/ocaml/latest/reference/libtmux-plan/

```ocaml
module Plan
```

Explicit source-filter planning for a new acquisition. A plan separates supported tmux predicates from residual local evaluation; it never changes the I/O-free contract of [`Query.matching`](/en/ocaml/latest/reference/libtmux-query-matching/). Backend capture operations acquire a complete graph and do not consume these plans.

## Members

### Collections and queries

- [`panes`](/en/ocaml/latest/reference/libtmux-plan-panes/) (function): Plan without I/O. Exact lowering covers pane active/dead flags and complete Boolean combinations. Unsupported children prevent lowering the whole expression, including under OR and NOT. Relationships always stay local. `Require_exact` rejects an unsupported expression before acquisition.

### Common operations

- [`source_filter`](/en/ocaml/latest/reference/libtmux-plan-source_filter/) (function)

### Other members

- [`explanation`](/en/ocaml/latest/reference/libtmux-plan-explanation/) (function)
- [`pp`](/en/ocaml/latest/reference/libtmux-plan-pp/) (function)
- [`pushdown`](/en/ocaml/latest/reference/libtmux-plan-pushdown/) (enum)
- [`required_fields`](/en/ocaml/latest/reference/libtmux-plan-required_fields/) (function)
- [`required_relations`](/en/ocaml/latest/reference/libtmux-plan-required_relations/) (function)
- [`residual`](/en/ocaml/latest/reference/libtmux-plan-residual/) (function)
- [`t`](/en/ocaml/latest/reference/libtmux-plan-t/) (typealias)
