# LibTmux::Server#attach

- **Module:** LibTmux
- **Package:** libtmux
- **Language:** Ruby
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-ruby/blob/d8ce4bbee0ca7748a81929f81f7d8d07f8c51267/gems/libtmux/lib/libtmux/terminal.rb#L47
- **Page:** https://libtmux.org/en/ruby/v0.1.0.alpha.3/reference/libtmux-server-attach/

```
def attach: (
  session: ::LibTmux::EntityRef,
  terminal: ::IO,
  term: ::String,
  ?read_only: bool,
  ?timeout: ::Numeric?,
  ?cancel: untyped
) -> ::LibTmux::TerminalResult
```

Blocks until the owned interactive client exits. The caller supplies and
retains its TTY. Cancellation detaches this client, not pane commands.

Behavior contract: Terminal attachment.

## Parameters

- `session` (`::LibTmux::EntityRef`)
- `terminal` (`::IO`)
- `term` (`::String`)
- `read_only` (`bool`)
- `timeout` (`::Numeric?`)
- `cancel` (`untyped`)

## Raises

- `ArgumentError`
