# LibTmux.Window.rename/4

- **Module:** LibTmux
- **Package:** libtmux
- **Language:** Elixir
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-elixir/blob/66b9b1c3f3f3186428abdfda2c76f5cf87446710/lib/libtmux/entities.ex#L153
- **Page:** https://libtmux.org/en/elixir/latest/reference/libtmux-window-rename-4/

```
rename(connection, ref, name, options \\ [])
@spec rename(
        LibTmux.Action.connection(),
        LibTmux.Ref.t(),
        binary(),
        [LibTmux.Action.option()]
      ) ::
        {:ok, LibTmux.Action.result(:ok)}
        | {:error, LibTmux.Action.error()}
```

Renames an exact physical window across all its memberships.

Names contain 1..1024 UTF-8 bytes without Unicode control characters (Cc),
with literal format syntax.
tmux still applies name normalization, including dollar/backslash escaping.
Control characters fail before I/O on both transports. Optional `session: session_ref` requires
membership in that exact session; it does not select a captured link index.
`timeout` defaults to 5000ms. See `LibTmux.Action` for transport and outcomes.

    alias LibTmux.Window

    Window.rename(control, window_ref, "editor")

## Parameters

- `connection` (`LibTmux.Action.connection()`)
- `ref` (`LibTmux.Ref.t()`)
- `name` (`binary()`)
- `options` (`[LibTmux.Action.option()]`)
