# split_window

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

> Split a tmux window to create a new pane.

MCP is in development

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

Split a tmux window to create a new pane.

Creates a new pane by splitting an existing one. Use direction to choose above/below/left/right. Returns the new pane’s info including its pane\_id.

[All Python tools](../) · [JSON](../split_window.json) · [Source](https://github.com/tmux-python/libtmux-mcp/blob/4daddc0dfca96c43bf521d818bf91564e1434760/src/libtmux_mcp/tools/window_tools.py#L512)

## Arguments

* `direction` optional

  Split direction.

  Default: `null`.

* `environment` optional

  Per-process environment as a mapping or JSON object string. Values do not modify the tmux session environment. Each item becomes a tmux \`\`-e\`\` launch option. Values may be visible to host process inspection in the tmux client argv during launch and in the child environment afterward; MCP audit redaction does not hide either surface. Pass credential references, not literal credentials.

  Default: `null`.

* `pane_id` optional

  Pane ID to split from. If given, splits adjacent to this pane.

  Default: `null`.

* `session_id` optional

  Session ID (e.g. '$1').

  Default: `null`.

* `session_name` optional

  Session name.

  Default: `null`.

* `shell` optional

  Shell command to run in the new pane.

  Default: `null`.

* `size` optional

  Size of the new pane. Use a string with '%%' suffix for percentage (e.g. '50%%') or an integer for lines/columns.

  Default: `null`.

* `socket_name` optional

  tmux socket name.

  Default: `null`.

* `start_directory` optional

  Existing directory to start in. \`\`\~\`\` expands; a relative path resolves against the MCP server process's directory.

  Default: `null`.

* `suppress_persistent_history` optional · boolean

  Whether to suppress persistent history for the spawned shell. Defaults to False for MCP and direct Python calls. This per-call option does not inherit LIBTMUX\_SUPPRESS\_HISTORY. Startup files may override these controls.

  Default: `false`.

* `window_id` optional

  Window ID (e.g. '@1').

  Default: `null`.

* `window_index` optional

  Window index within the session.

  Default: `null`.

## Schemas

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