# engine.TmuxInvocationRequest

- **Module:** engine
- **Package:** libtmux
- **Language:** TypeScript
- **Kind:** typealias
- **Source:** https://github.com/libtmux/libtmux-ts/blob/46cccfef2a546de55ce8b308249b8c76339089a0/packages/libtmux/src/engine.ts#L71
- **Page:** https://libtmux.org/en/ts/latest/reference/engine-tmuxinvocationrequest/

```ts
type TmuxInvocationRequest = {
  readonly commands: readonly [TmuxCommand, ...TmuxCommand[]];
  readonly daemonGuard?: DaemonGuard;
  readonly environment?: Readonly<Record<string, string | undefined>>;
  readonly executable: string;
  readonly globalArgs: readonly string[];
  readonly rawOutput?: true;
  readonly signal?: AbortLike;
  readonly stdin?: Uint8Array;
  readonly timeoutMs?: number;
}
```

What an engine is asked to run: one ordered command list, and the daemon it must still be talking to.

tmux runs a command list until one fails and discards the rest, so the list
is the unit of atomicity a caller gets. The daemon guard is what stops a
raw tmux id being applied to whatever a restarted server reissued it to.
