# plan.run.Plan.run

- **Module:** plan.run.Plan
- **Package:** libtmux
- **Language:** Rust
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-rs/blob/8a648c0894dfffc9303583f753b6c8ae01f2fe76/crates/libtmux/src/plan/run.rs#L298
- **Page:** https://libtmux.org/reference/rs/plan-run-plan-run/

```
plan.run.Plan.run(self, server: &Server, planner: Planner) -> Result<PlanResult, Error>
```

Run this plan, grouping it with `planner`.

The result does not depend on the planner; the number of tmux
invocations, and how precisely a failure can be attributed, do.

# Errors

Returns an error when tmux cannot be reached, a process cannot be
captured, a slot dependency is invalid, or a creating operation does
not return valid IDs. Validation happens before the first command. A
command tmux *refuses* is reported through the returned [`PlanResult`],
not as an error, because a plan may expect one.
