# libtmux::ExecutionPolicy

- **Module:** libtmux
- **Package:** libtmux-cxx
- **Language:** C++
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/command.hpp#L243
- **Page:** https://libtmux.org/en/cxx/latest/reference/libtmux-executionpolicy/

What a call waits and holds when the caller did not say.

A timeout on the call is still how a caller says "this one in particular": listing sessions does not share a deadline with attaching a client. What was missing was a floor. Typed methods passed no timeout at all, so `window.rename(...)` waited for as long as the process ran if tmux never answered — and "tmux is normally fast" is not a liveness guarantee when a hook blocks, a filesystem stops answering, or a connection breaks without closing the pipe.

Thirty seconds is far past every tmux command that works and far short of forever. `wait_for` opts out, because waiting is the whole request.

## Members

- `timeout` (attribute): Absent means wait. That is a thing to mean deliberately.
- `output_limit` (attribute): Absent leaves the transport's own bound, which is one megabyte.
- `tmux_binary` (attribute)
