# libtmux.Server.wait_for

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

tmux command: [`wait-for`](/en/tmux/latest/manual/wait-for/)

```
libtmux.Server.wait_for(
    self,
    channel: str,
    lock: bool | None = None,
    unlock: bool | None = None,
    set_flag: bool | None = None,
) -> None
```

Wait for, signal, or lock a channel via [`$ tmux wait-for`](/en/tmux/latest/manual/wait-for/).

## Examples

```python
>>> server.new_session(session_name='wait_test')
Session(...)
>>> server.wait_for('test_channel', set_flag=True)
```

## Parameters

- `channel` (`str`): Channel name.
- `lock` (`bool | None`): Lock the channel (``-L`` flag).
- `unlock` (`bool | None`): Unlock the channel (``-U`` flag).
- `set_flag` (`bool | None`): Set the channel flag and wake waiters (``-S`` flag).

## In other ports

### Wait for, signal or lock a channel

- Ruby: [`LibTmux::Server#wait_for`](/en/ruby/latest/reference/libtmux-server-wait_for/) (method)
- Rust: [`server.Server.wait_for_channel`](/en/rs/latest/reference/server-server-wait_for_channel/) (method)
- Go: [`tmux.Server.WaitFor`](/en/go/latest/reference/tmux-server-waitfor/) (method)
- C#: [`LibTmux.Server.WaitForAsync`](/en/csharp/latest/reference/libtmux-server-waitforasync/) (method)
- C++: [`libtmux::Server::wait_for`](/en/cxx/latest/reference/libtmux-server-wait_for/) (method)
- Swift: [`Server.wait(for:)`](/en/swift/latest/reference/server-wait(for-)/) (method)
