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
directionoptional- Where the new pane goes relative to `pane`. Defaults to `below`.
panerequired · string- The `%`-prefixed pane to split.
percentoptional · integer | null- The new pane's share of the split, 1 to 100. Defaults to half.
start_directoryoptional · 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"}