MCPconceptTools

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

tool MCPlatest

respawn_pane

respawn_pane( kill_first?: boolean, pane: string, )
tool [source]

Restart a pane’s configured process with no command payload. Start a pane’s configured process; accepts no command payload.

MCP request method
tools/call Send respawn_pane as the tool name, with the arguments below.

Arguments#

  • kill_first? = false (boolean) #

    Kill a running process first. Defaults to false, which respawns only a dead pane.

  • pane (string) #

    The %-prefixed pane id.

No other arguments are accepted.

Result#

Returns object

  • active (boolean) #

    Whether this is the window’s active pane.

  • caller (Relation) #

    Whether this is the pane the MCP server itself runs in.

    self only on a confirmed match of both socket and pane id; other for every pane that is not, including one this crate cannot prove either way; unknown when the server is not running inside tmux, so the question has no answer.

  • command (string | null) #

    The command currently running.

  • id (string) #

    The %-prefixed tmux identity.

  • path (string | null) #

    The pane’s working directory.

  • window_id (string) #

    The window that contains the pane.

Types#

Relation: "unknown" | "self" | "other"

type

How a pane relates to the process answering the request.

Three values rather than a boolean, because “not the caller’s pane” and “there is no caller” are different answers and an agent acts differently on each.

Matches exactly one variant.

  • Variant 1 ("unknown") #

    This process is not running inside tmux, so no pane is its own.

  • Variant 2 ("self") #

    Confirmed: the same tmux server, and the same pane.

  • Variant 3 ("other") #

    Some other pane, or a pane this crate cannot prove is the caller’s.

Annotations#

destructiveHint
true
idempotentHint
false
openWorldHint
true
readOnlyHint
false
title
"Respawn Pane"

Protocol data#

Use the complete advertised contract for validation and client integration.

Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"kill_first": {
"default": false,
"description": "Kill a running process first. Defaults to `false`, which respawns\nonly a dead pane.",
"type": "boolean"
},
"pane": {
"description": "The `%`-prefixed pane id.",
"type": "string"
}
},
"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",
"command",
"path",
"active",
"caller"
],
"type": "object"
}
Esc

Type to search.

Reference previewOpen reference