# io.github.libtmux.scaladsl.cats.Control.attach

- **Module:** io.github.libtmux.scaladsl.cats
- **Package:** io.github.libtmux:libtmux-scala_3
- **Language:** Scala
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-java/blob/f56392b5d9bc7f1f9c1631842333fb90f3d82d40/libtmux-scala-cats/src/main/scala/io/github/libtmux/scaladsl/cats/Control.scala#L132
- **Page:** https://libtmux.org/en/scala/latest/reference/io-github-libtmux-scaladsl-cats-control-attach/

```
def attach[F[_]: Async](session: Session[F]): Resource[F, Control[F]]

def attach[F[_]: Async](
      session: Session[F],
      timeout: Duration,
      maxConcurrentCalls: Int
  ): Resource[F, Control[F]]

def attach[F[_]: Async](
      session: direct.Session,
      timeout: Duration,
      maxConcurrentCalls: Int
  ): Resource[F, Control[F]]
```

Attaches to the process the captured session named.

## Parameters

- `session` (`Session[F]`) (for `attach(session)`; `attach(session, timeout, maxConcurrentCalls) [overload 2]`)
- `timeout` (`Duration`) (for `attach(session, timeout, maxConcurrentCalls) [overload 2]`; `attach(session, timeout, maxConcurrentCalls) [overload 3]`)
- `maxConcurrentCalls` (`Int`) (for `attach(session, timeout, maxConcurrentCalls) [overload 2]`; `attach(session, timeout, maxConcurrentCalls) [overload 3]`)
- `session` (`direct.Session`) (for `attach(session, timeout, maxConcurrentCalls) [overload 3]`)
