# split_window

Source: https://libtmux.org/en/csharp/latest/mcp/tools/split_window/

> Start a pane's configured process; accepts no command payload. Split a pane and return the NEW pane's id. Use that id for what you put in it — pane ids stay valid across layout changes, where window names and indexes do not.

MCP is in development

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

Start a pane’s configured process; accepts no command payload. Split a pane and return the NEW pane’s id. Use that id for what you put in it — pane ids stay valid across layout changes, where window names and indexes do not.

[All C# tools](https://libtmux.org/en/csharp/latest/mcp/tools/) · [JSON](https://libtmux.org/en/csharp/latest/mcp/tools/split_window.json) · [Source](https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux.Mcp/Policy/CapabilityModel.cs#L605)

## Arguments

* `direction` optional · string

  Below, Above, Left, or Right.

  Default: `"Below"`.

* `paneId` optional · string | null

  The pane to split. Omit for this server's own pane, or else the one the first session shows.

  Default: `null`.

* `percentage` optional · integer | null

  Percentage of the space for the new pane. Omit for half.

  Default: `null`.

* `startDirectory` optional · string | null

  The literal starting directory. Omit for the MCP server's own working directory.

  Default: `null`.

## Schemas

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

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "direction": {
      "default": "Below",
      "description": "Below, Above, Left, or Right.",
      "enum": [
        "Above",
        "Below",
        "Left",
        "Right"
      ],
      "type": "string"
    },
    "paneId": {
      "default": null,
      "description": "The pane to split. Omit for this server's own pane, or else the one the first session shows.",
      "type": [
        "string",
        "null"
      ]
    },
    "percentage": {
      "default": null,
      "description": "Percentage of the space for the new pane. Omit for half.",
      "maximum": 2147483647,
      "minimum": -2147483648,
      "type": [
        "integer",
        "null"
      ]
    },
    "startDirectory": {
      "default": null,
      "description": "The literal starting directory. Omit for the MCP server's own working directory.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object"
}
```

Output schema

```json
{
  "properties": {
    "changed": {
      "type": "string"
    },
    "paneId": {
      "default": null,
      "type": [
        "string",
        "null"
      ]
    },
    "sessionId": {
      "default": null,
      "type": [
        "string",
        "null"
      ]
    },
    "windowId": {
      "default": null,
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "changed"
  ],
  "type": "object"
}
```

Tool annotations

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