# libtmux.Server.show_messages

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

tmux command: [`show-messages`](/en/tmux/latest/manual/show-messages/)

```
libtmux.Server.show_messages(
    self,
    target_client: str | None = None,
    terminals: bool | None = None,
    jobs: bool | None = None,
) -> list[str]
```

Show server message log via [`$ tmux show-messages`](/en/tmux/latest/manual/show-messages/).

Without ``-T``/``-J``, tmux resolves the message log against a
target client; if no client is attached and *target_client* is
omitted, tmux raises ``no current client``. Provide
*target_client* (e.g. via :class:`~libtmux._internal.control_mode.ControlMode`)
when running headless, or use *terminals*/*jobs* — those modes
don't require a client.

## Examples

```python
>>> with control_mode() as ctl:
...     result = server.show_messages(target_client=ctl.client_name)
>>> isinstance(result, list)
True
```

## Parameters

- `target_client` (`str | None`): Target client (``-t`` flag).
- `terminals` (`bool | None`): List terminal capabilities and flags instead of the message
log (``-T`` flag).
- `jobs` (`bool | None`): Print the tmux job server summary instead of the message
log (``-J`` flag).

## Returns

list[str]
    Server message log lines (or terminal/job summary when
    *terminals*/*jobs* is set).

## In other ports

### Read the server's message log

- Go: [`tmux.Server.ShowMessages`](/en/go/latest/reference/tmux-server-showmessages/) (method)
- Java: [`io.github.libtmux.MessageLog.MessageLog.lines`](/en/java/latest/reference/io-github-libtmux-messagelog-messagelog-lines/) (method)
- C#: [`LibTmux.Server.GetMessagesAsync`](/en/csharp/latest/reference/libtmux-server-getmessagesasync/) (method)
