# io.github.libtmux.scaladsl.cats.Batch

- **Module:** io.github.libtmux.scaladsl.cats
- **Package:** io.github.libtmux:libtmux-scala_3
- **Language:** Scala
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/f56392b5d9bc7f1f9c1631842333fb90f3d82d40/libtmux-scala-cats/src/main/scala/io/github/libtmux/scaladsl/cats/Batch.scala#L13
- **Page:** https://libtmux.org/en/scala/latest/reference/io-github-libtmux-scaladsl-cats-batch/

```
final class Batch[F[_]]
```

An immutable batch plan. Construction does no tmux I/O and never touches a shared Java object: each `add` returns a new value holding one more argument vector. Each `run`/`length` builds a fresh Java `Batch` from `create` and dispatches it through `Execution`, so it is F-suspended, cancellation-safe, and admission-bounded like every other Cats operation — cancelling one run never disturbs a concurrent one, since neither shares Java state.

## Members

### Other members

- `add` (method)
- `length` (method)
- `run` (method)
- `size` (method)
- `toString` (method)
