# LibTmux.Server.DetachAllClientsAsync

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** C#
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux/Server.Clients.cs#L63
- **Page:** https://libtmux.org/en/csharp/latest/reference/libtmux-server-detachallclientsasync/

```
LibTmux.Server.DetachAllClientsAsync(keepClient: string?, shellCommand: string?, cancellationToken: CancellationToken) -> Task
```

Detaches every client except one.

tmux reads the kept client from the same target flag it uses to name a
client, so this always spares one. Naming none does not mean "spare
none": tmux falls back to whichever client it resolves for the caller,
which from a process with no client of its own leaves that client
attached and detaches nothing.

## Parameters

- `keepClient` (`string?`): The client to leave attached.
- `shellCommand` (`string?`): A command the detached clients run.
- `cancellationToken` (`CancellationToken`): Cancels the tmux command.
