# LibTmux.TmuxOptions.SetAsync

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** C#
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux/Options/TmuxOptions.cs#L132
- **Page:** https://libtmux.org/en/csharp/latest/reference/libtmux-tmuxoptions-setasync/

```
LibTmux.TmuxOptions.SetAsync(key: TmuxOptionKey<T>, value: T, cancellationToken: CancellationToken) -> Task

LibTmux.TmuxOptions.SetAsync(request: SetOptionRequest, cancellationToken: CancellationToken) -> Task<TmuxOptionValue>
```

Sets an option in this scope from a value of its key's type.

## Parameters

- `key` (`TmuxOptionKey<T>`): The option and how to write it. (for `SetAsync(key, value, cancellationToken)`)
- `value` (`T`): The value to set. (for `SetAsync(key, value, cancellationToken)`)
- `cancellationToken` (`CancellationToken`): Cancels the tmux command. (for `SetAsync(key, value, cancellationToken)`)
- `request` (`SetOptionRequest`): Which option to set, to what, and how. (for `SetAsync(request, cancellationToken)`)
- `cancellationToken` (`CancellationToken`): Cancels the tmux commands. (for `SetAsync(request, cancellationToken)`)

## Returns

A task that completes when tmux has set the option. (for `SetAsync(key, value, cancellationToken)`)

The value tmux holds afterwards. (for `SetAsync(request, cancellationToken)`)

## Raises

- [`TmuxOptionException`](/en/csharp/latest/reference/libtmux-tmuxoptionexception/): tmux rejected the name or the value. (for `SetAsync(key, value, cancellationToken)`)
- [`TmuxOptionException`](/en/csharp/latest/reference/libtmux-tmuxoptionexception/): tmux rejected the option or its value. (for `SetAsync(request, cancellationToken)`)
