# select_layout

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

> Replace the pane layout of one window. Names and mirrored layouts follow the selected daemon version. Saved layouts accept v1 checksums and v2 JSON; v2 requires tmux 3.8 (including 3.8-rc) or newer. 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.

Replace the pane layout of one window. Names and mirrored layouts follow the selected daemon version. Saved layouts accept v1 checksums and v2 JSON; v2 requires tmux 3.8 (including 3.8-rc) or newer. Change tmux state; no client-supplied executable input.

[All C++ tools](https://libtmux.org/en/cxx/latest/mcp/tools/) · [JSON](https://libtmux.org/en/cxx/latest/mcp/tools/select_layout.json) · [Source](https://github.com/libtmux/libtmux-cxx/blob/96f367a6fe247e4e5ebddd4a52ca5d5f9d07c0ec/apps/mcp/src/tool_catalog.cpp#L2339)

## Arguments

* `layout` required · string

  Built-in name, unambiguous abbreviation or saved tmux layout.

* `windowId` required · string

  Stable window ID.

## Schemas

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

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "layout": {
      "description": "Built-in name, unambiguous abbreviation or saved tmux layout.",
      "maxLength": 4096,
      "type": "string"
    },
    "windowId": {
      "description": "Stable window ID.",
      "maxLength": 512,
      "type": "string"
    }
  },
  "required": [
    "windowId",
    "layout"
  ],
  "type": "object"
}
```

Output schema

```json
{
  "additionalProperties": true,
  "type": "object"
}
```

Tool annotations

```json
{
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true,
  "readOnlyHint": false,
  "title": "Select a tmux layout"
}
```
