# tmux_command:sequence/1

- **Package:** libtmux_erlang
- **Language:** Erlang
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-erlang/blob/d1b6308440cf9eb8f6647e7ae434bce60e849368/apps/libtmux_erlang/src/tmux_command.erl#L129
- **Page:** https://libtmux.org/en/erlang/latest/reference/tmux_command-sequence-1/

```
sequence/1
-spec sequence([t(), ...]) -> {ok, t()} | {error, map()}.
```

Build one bounded native command sequence without I/O. Members must be a nonempty flat list of at most 256 command values. Their combined executable argv is limited to 2041 words and 32 KiB including separator overhead. Arguments keep the literal separator protection of `raw/2`; only boundaries between members become native command separators in `argv/1`.

Captured members must share an endpoint origin. That origin also binds the
sequence; raw members use the caller's explicitly selected endpoint. Submit
through `tmux_server:command/3` or `tmux_operation:start/3`.

Execution is not atomic. A failed member can leave a completed prefix, and
commands can wait or interleave with other work. The one-shot result contains
combined bounded stdout/stderr and native exit status, without per-member
completion attribution or rollback. Control-mode eligibility is separate.
`to_config/1` can serialize a sequence with the same origin-loss policy as
other configuration text.

## Parameters

- `Commands` (`[t(), ...]`)
