# libtmux.Session.detach_client

- **Module:** libtmux
- **Package:** libtmux
- **Language:** Python
- **Kind:** method
- **Source:** https://github.com/tmux-python/libtmux/blob/38e368c11117fb4aeb2f082d552cd4f210eae06a/src/libtmux/session.py#L459
- **Page:** https://libtmux.org/en/py/stable/reference/libtmux-session-detach_client/

```
libtmux.Session.detach_client(
    self, shell_command: str | None = None
) -> None
```

Detach every client attached to this session.

Maps to [`$ tmux detach-client -s <session_id>`](/en/tmux/latest/manual/detach-client/) — the only
[`detach-client`](/en/tmux/latest/manual/detach-client/) flag group that is genuinely session-scoped.

## Examples

```python
>>> with control_mode() as ctl:
...     session.detach_client()
```

## Parameters

- `shell_command` (`str | None`): Run a shell command on the detached client(s) after detach
(``-E`` flag).

## In other ports

### Detach every client attached to a session

- TypeScript: [`session.Session.detach`](/en/ts/latest/reference/session-session-detach/) (method)
- Rust: [`session.Session.detach_clients`](/en/rs/latest/reference/session-session-detach_clients/) (method)
- Go: [`tmux.Session.DetachClients`](/en/go/latest/reference/tmux-session-detachclients/) (method)
- Java: [`io.github.libtmux.Session.Session.detachClients`](/en/java/latest/reference/io-github-libtmux-session-session-detachclients/) (method)
- C#: [`LibTmux.Session.DetachClientAsync`](/en/csharp/latest/reference/libtmux-session-detachclientasync/) (method)
- C++: [`libtmux::Session::detach_clients`](/en/cxx/latest/reference/libtmux-session-detach_clients/) (method)
- Swift: [`Server.detachClients(from:)`](/en/swift/latest/reference/server-detachclients(from-)/) (method)
