# select_window

Source: https://libtmux.org/en/py/latest/mcp/tools/select_window/

> Select (focus) a tmux window by ID, index, or direction.

MCP is in development

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

Select (focus) a tmux window by ID, index, or direction.

Use to navigate between windows. Provide window_id or window_index for direct selection, or direction for relative navigation.

[All Python tools](https://libtmux.org/en/py/latest/mcp/tools/) · [JSON](https://libtmux.org/en/py/latest/mcp/tools/select_window.json) · [Source](https://github.com/tmux-python/libtmux-mcp/blob/4daddc0dfca96c43bf521d818bf91564e1434760/src/libtmux_mcp/tools/session_tools.py#L379)

## Arguments

* `direction` optional

  Relative direction: 'next', 'previous', or 'last'.

  Default: `null`.

* `session_id` optional

  Session ID for resolution.

  Default: `null`.

* `session_name` optional

  Session name for resolution.

  Default: `null`.

* `socket_name` optional

  tmux socket name.

  Default: `null`.

* `window_id` optional

  Window ID (e.g. '@1') for direct selection.

  Default: `null`.

* `window_index` optional

  Window index for direct selection.

  Default: `null`.

## Schemas

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

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "direction": {
      "anyOf": [
        {
          "enum": [
            "next",
            "previous",
            "last"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Relative direction: 'next', 'previous', or 'last'."
    },
    "session_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Session ID for resolution."
    },
    "session_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Session name for resolution."
    },
    "socket_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "tmux socket name."
    },
    "window_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Window ID (e.g. '@1') for direct selection."
    },
    "window_index": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Window index for direct selection."
    }
  },
  "type": "object"
}
```

Output schema

```json
{
  "description": "Serialized tmux window.",
  "properties": {
    "active_pane_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Pane id (``%N``) of the window's active pane."
    },
    "pane_count": {
      "description": "Number of panes",
      "type": "integer"
    },
    "session_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parent session ID"
    },
    "session_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parent session name"
    },
    "window_active": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Active flag ('1' or '0')"
    },
    "window_height": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Height in rows"
    },
    "window_id": {
      "description": "Window ID (e.g. '@1')",
      "type": "string"
    },
    "window_index": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Window index"
    },
    "window_layout": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Layout string"
    },
    "window_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Window name"
    },
    "window_width": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Width in columns"
    }
  },
  "required": [
    "window_id",
    "pane_count"
  ],
  "type": "object"
}
```

Tool annotations

```json
{
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true,
  "readOnlyHint": false
}
```
