# select_layout

Source: https://libtmux.org/en/rs/latest/mcp/tools/select_layout/

> Rearrange a window's panes using a saved tmux layout or a named layout and its unique abbreviation. Names follow the running daemon's version; mirrored main layouts require tmux 3.5. Invalid syntax is refused before window lookup. Return the saved layout tmux actually applied. Change tmux state; no client-supplied executable input.

MCP is in development

Server behavior and tool contracts may change. Tool availability depends on the server configuration.

Rearrange a window’s panes using a saved tmux layout or a named layout and its unique abbreviation. Names follow the running daemon’s version; mirrored main layouts require tmux 3.5. Invalid syntax is refused before window lookup. Return the saved layout tmux actually applied. Change tmux state; no client-supplied executable input.

[All Rust tools](https://libtmux.org/en/rs/latest/mcp/tools/) · [JSON](https://libtmux.org/en/rs/latest/mcp/tools/select_layout.json) · [Source](https://github.com/libtmux/libtmux-rs/blob/2cef1aa642182dd1970c3688feb6a568ff666e64/crates/tmux-mcp/src/tools/control.rs#L551)

## Arguments

* `layout` required · string

  A saved tmux layout, or a named layout and its unique abbreviation. The names are \`even-horizontal\`, \`even-vertical\`, \`main-horizontal\`, \`main-vertical\` and \`tiled\`. The running daemon determines which names and abbreviations are supported; mirrored main layouts require tmux 3.5.

* `window` required · string

  The \`@\`-prefixed window to arrange.

## Schemas

The schema defines required fields, nested values, defaults, and validation constraints.

Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "layout": {
      "description": "A saved tmux layout, or a named layout and its unique abbreviation.\n\nThe names are `even-horizontal`, `even-vertical`, `main-horizontal`,\n`main-vertical` and `tiled`. The running daemon determines which names\nand abbreviations are supported; mirrored main layouts require tmux 3.5.",
      "type": "string"
    },
    "window": {
      "description": "The `@`-prefixed window to arrange.",
      "type": "string"
    }
  },
  "required": [
    "window",
    "layout"
  ],
  "type": "object"
}
```

Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "layout": {
      "description": "The layout it now has, in tmux's own syntax.",
      "type": "string"
    },
    "window": {
      "description": "The window that was arranged.",
      "type": "string"
    }
  },
  "required": [
    "window",
    "layout"
  ],
  "type": "object"
}
```

Tool annotations

```json
{
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false,
  "readOnlyHint": false,
  "title": "Arrange Window Panes"
}
```
