# select_window

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

> Change tmux state; no client-supplied executable input. Make a window the current one in its session.

MCP is in development

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

Change tmux state; no client-supplied executable input. Make a window the current one in its session.

[All TypeScript tools](https://libtmux.org/en/ts/latest/mcp/tools/) · [JSON](https://libtmux.org/en/ts/latest/mcp/tools/select_window.json) · [Source](https://github.com/libtmux/libtmux-ts/blob/b3f338c1a21e614ebf0dd6d55aa36a60db816618/packages/mcp/src/tools/layout.ts#L173)

## Arguments

* `sourceIndex` optional · integer

  Source window index. Required when the session has several placements of the id.

* `sourceSession` optional · string

  Source session id or name. Required when the id has several placements.

* `windowId` required · string

  Stable window id, e.g. @1.

## Schemas

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

Input schema

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "sourceIndex": {
      "description": "Source window index. Required when the session has several placements of the id.",
      "maximum": 9007199254740991,
      "minimum": 0,
      "type": "integer"
    },
    "sourceSession": {
      "description": "Source session id or name. Required when the id has several placements.",
      "type": "string"
    },
    "windowId": {
      "description": "Stable window id, e.g. @1.",
      "pattern": "^@\\d+$",
      "type": "string"
    }
  },
  "required": [
    "windowId"
  ],
  "type": "object"
}
```

Output schema

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false,
  "properties": {
    "window": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "description": "Stable window id, e.g. @1.",
          "pattern": "^@\\d+$",
          "type": "string"
        },
        "layout": {
          "description": "tmux's observed saved layout, including any resizing or pruning; feed it back only when metadataComplete is true.",
          "type": "string"
        },
        "metadataComplete": {
          "description": "Whether every projected metadata string is complete.",
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "omittedMetadataBytes": {
          "description": "UTF-8 bytes omitted from projected metadata strings.",
          "maximum": 9007199254740991,
          "minimum": 0,
          "type": "integer"
        },
        "omittedPlacements": {
          "description": "Later placements omitted.",
          "maximum": 9007199254740991,
          "minimum": 0,
          "type": "integer"
        },
        "panes": {
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "type": "integer"
        },
        "placements": {
          "description": "Retained sessions and indexes where this window is linked.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "description": "Whether this placement is current in its session.",
                "type": "boolean"
              },
              "index": {
                "description": "The window index in this session.",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "sessionId": {
                "description": "Stable session id, e.g. $1.",
                "pattern": "^\\$\\d+$",
                "type": "string"
              },
              "sessionName": {
                "type": "string"
              }
            },
            "required": [
              "index",
              "sessionId",
              "sessionName",
              "active"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "placementsComplete": {
          "description": "Whether placements contains every placement.",
          "type": "boolean"
        },
        "zoomed": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "layout",
        "metadataComplete",
        "name",
        "omittedMetadataBytes",
        "panes",
        "omittedPlacements",
        "placements",
        "placementsComplete",
        "zoomed"
      ],
      "type": "object"
    }
  },
  "required": [
    "window"
  ],
  "type": "object"
}
```

Tool annotations

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