Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Split a window and start the configured process with no command payload. Start a pane’s configured process; accepts no command payload.

All Rust tools · JSON · Source

Arguments

direction optional
Where the new pane goes relative to `pane`. Defaults to `below`.
pane required · string
The `%`-prefixed pane to split.
percent optional · integer | null
The new pane's share of the split, 1 to 100. Defaults to half.
start_directory optional · string | null
The new pane's working directory. Omit for the directory this MCP server started in, not `pane`'s current directory.

Schemas

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

Input schema
{
"$defs": {
"SplitDirectionSchema": {
"enum": [
"above",
"below",
"left",
"right"
],
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"direction": {
"anyOf": [
{
"$ref": "#/$defs/SplitDirectionSchema"
},
{
"type": "null"
}
],
"description": "Where the new pane goes relative to `pane`. Defaults to `below`."
},
"pane": {
"description": "The `%`-prefixed pane to split.",
"type": "string"
},
"percent": {
"description": "The new pane's share of the split, 1 to 100. Defaults to half.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"start_directory": {
"description": "The new pane's working directory. Omit for the directory this MCP\nserver started in, not `pane`'s current directory.",
"type": [
"string",
"null"
]
}
},
"required": [
"pane"
],
"type": "object"
}
Output schema
{
"$defs": {
"Relation": {
"description": "How a pane relates to the process answering the request.\n\nThree values rather than a boolean, because \"not the caller's pane\" and\n\"there is no caller\" are different answers and an agent acts differently on\neach.",
"oneOf": [
{
"const": "unknown",
"description": "This process is not running inside tmux, so no pane is its own.",
"type": "string"
},
{
"const": "self",
"description": "Confirmed: the same tmux server, and the same pane.",
"type": "string"
},
{
"const": "other",
"description": "Some other pane, or a pane this crate cannot prove is the caller's.",
"type": "string"
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"active": {
"description": "Whether this is the window's active pane.",
"type": "boolean"
},
"caller": {
"$ref": "#/$defs/Relation",
"description": "Whether this is the pane the MCP server itself runs in.\n\n`self` only on a confirmed match of both socket and pane id; `other`\nfor every pane that is not, including one this crate cannot prove\neither way; `unknown` when the server is not running inside tmux, so\nthe question has no answer."
},
"command": {
"description": "The command currently running.",
"type": [
"string",
"null"
]
},
"id": {
"description": "The `%`-prefixed tmux identity.",
"type": "string"
},
"path": {
"description": "The pane's working directory.",
"type": [
"string",
"null"
]
},
"window_id": {
"description": "The window that contains the pane.",
"type": "string"
}
},
"required": [
"id",
"window_id",
"active",
"caller"
],
"type": "object"
}
Tool annotations
{
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false,
"title": "Split Window"
}
Esc

Type to search.