MCPAPI Reference

Choose documentation 3

latest

Current version

latest
English

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

call_read_tools_batch

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Invoke a serial batch of at most 16 inspect tools. One client approval covers every nested name; inner tools receive no separate approval. The structured result is capped below 1,000,000 bytes, preserves every operation row, and reports explicit stop and truncation accounting.

All TypeScript tools · JSON · Source

Arguments

onError optional · string
Whether a failed operation ends the batch. Defaults to stop.
operations required · array
The read-only tool calls to run, in order, in one approval.

Schemas

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

Input schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"onError": {
"description": "Whether a failed operation ends the batch. Defaults to stop.",
"enum": [
"stop",
"continue"
],
"type": "string"
},
"operations": {
"description": "The read-only tool calls to run, in order, in one approval.",
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `list_sessions`, exactly the shape it takes when called on its own.",
"properties": {},
"type": "object"
},
"tool": {
"const": "list_sessions",
"description": "Run `list_sessions` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `list_windows`, exactly the shape it takes when called on its own.",
"properties": {
"session": {
"description": "Session id ($1) or name. Omit for all sessions.",
"type": "string"
}
},
"type": "object"
},
"tool": {
"const": "list_windows",
"description": "Run `list_windows` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `list_panes`, exactly the shape it takes when called on its own.",
"properties": {
"session": {
"description": "Session id ($1) or name.",
"type": "string"
},
"window": {
"description": "Stable window id, e.g. @1.",
"pattern": "^@\\d+$",
"type": "string"
}
},
"type": "object"
},
"tool": {
"const": "list_panes",
"description": "Run `list_panes` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `get_pane_info`, exactly the shape it takes when called on its own.",
"properties": {
"paneId": {
"description": "Stable pane id, e.g. %1.",
"pattern": "^%\\d+$",
"type": "string"
}
},
"required": [
"paneId"
],
"type": "object"
},
"tool": {
"const": "get_pane_info",
"description": "Run `get_pane_info` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `get_server_info`, exactly the shape it takes when called on its own.",
"properties": {},
"type": "object"
},
"tool": {
"const": "get_server_info",
"description": "Run `get_server_info` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `capture_pane`, exactly the shape it takes when called on its own.",
"properties": {
"end": {
"description": "Last line, on the same scale as start: 0 is the top of the visible screen and negative reaches back into history. It does not count back from the bottom, so end:-1 is one line above the screen top, not the last line of output.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"joinWrapped": {
"description": "Rejoin lines tmux wrapped.",
"type": "boolean"
},
"maxLines": {
"description": "Keep at most this many lines, from the end. Defaults to the server limit.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"paneId": {
"description": "Stable pane id, e.g. %1.",
"pattern": "^%\\d+$",
"type": "string"
},
"start": {
"description": "First line; negative reaches into scrollback.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"paneId"
],
"type": "object"
},
"tool": {
"const": "capture_pane",
"description": "Run `capture_pane` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `capture_since`, exactly the shape it takes when called on its own.",
"properties": {
"cursor": {
"description": "The cursor from your previous capture_since. Omit on the first call.",
"pattern": "^ltxc1\\.[0-9a-f]{32}\\.(?:0|[1-9][0-9]*)$",
"type": "string"
},
"maxLines": {
"description": "Keep at most this many lines, from the end. Defaults to the server limit.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"paneId": {
"description": "Stable pane id, e.g. %1.",
"pattern": "^%\\d+$",
"type": "string"
},
"waitMs": {
"description": "Wait up to this long for new output before answering. Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"paneId"
],
"type": "object"
},
"tool": {
"const": "capture_since",
"description": "Run `capture_since` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `search_panes`, exactly the shape it takes when called on its own.",
"properties": {
"maxMatchesPerPane": {
"description": "Stop after this many matches in each pane. Defaults to the server limit.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pattern": {
"description": "Non-empty literal text to find.",
"minLength": 1,
"type": "string"
},
"regex": {
"description": "Interpret pattern using libtmux's bounded regular-expression grammar.",
"type": "boolean"
},
"scrollbackLines": {
"description": "How far above the visible screen to search. Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"session": {
"description": "Restrict to one session by id or name.",
"type": "string"
}
},
"required": [
"pattern"
],
"type": "object"
},
"tool": {
"const": "search_panes",
"description": "Run `search_panes` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `show_option`, exactly the shape it takes when called on its own.",
"properties": {
"name": {
"description": "The tmux option to read, such as \"status-left\".",
"type": "string"
},
"scope": {
"description": "Default server.",
"enum": [
"server",
"session",
"global-session",
"window",
"global-window",
"pane"
],
"type": "string"
},
"target": {
"description": "Session id/name or pane id, for the matching scope.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"tool": {
"const": "show_option",
"description": "Run `show_option` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `show_hooks`, exactly the shape it takes when called on its own.",
"properties": {
"session": {
"description": "Session scope; omit for server scope.",
"type": "string"
}
},
"type": "object"
},
"tool": {
"const": "show_hooks",
"description": "Run `show_hooks` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `show_environment`, exactly the shape it takes when called on its own.",
"properties": {
"session": {
"description": "Session id ($1) or name. Omit for the server environment.",
"type": "string"
}
},
"type": "object"
},
"tool": {
"const": "show_environment",
"description": "Run `show_environment` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `get_session_info`, exactly the shape it takes when called on its own.",
"properties": {
"session": {
"description": "Session id ($1) or name.",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"tool": {
"const": "get_session_info",
"description": "Run `get_session_info` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `get_window_info`, exactly the shape it takes when called on its own.",
"properties": {
"windowId": {
"description": "Stable window id, e.g. @1.",
"pattern": "^@\\d+$",
"type": "string"
}
},
"required": [
"windowId"
],
"type": "object"
},
"tool": {
"const": "get_window_info",
"description": "Run `get_window_info` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `find_pane_by_position`, exactly the shape it takes when called on its own.",
"properties": {
"corner": {
"description": "Which corner of the window's layout to resolve.",
"enum": [
"top-left",
"top-right",
"bottom-left",
"bottom-right"
],
"type": "string"
},
"windowId": {
"description": "Stable window id, e.g. @1.",
"pattern": "^@\\d+$",
"type": "string"
}
},
"required": [
"corner",
"windowId"
],
"type": "object"
},
"tool": {
"const": "find_pane_by_position",
"description": "Run `find_pane_by_position` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `get_tmux_variables`, exactly the shape it takes when called on its own.",
"properties": {
"names": {
"description": "Variable names to resolve, such as \"pane_current_command\" — bare names, not `#{…}` format syntax.",
"items": {
"pattern": "^[A-Za-z][A-Za-z0-9_]*$",
"type": "string"
},
"maxItems": 32,
"minItems": 1,
"type": "array",
"x-libtmux-tmux-format": "validated-variable-name"
},
"paneId": {
"description": "Stable pane id, e.g. %1.",
"pattern": "^%\\d+$",
"type": "string"
}
},
"required": [
"names"
],
"type": "object"
},
"tool": {
"const": "get_tmux_variables",
"description": "Run `get_tmux_variables` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arguments": {
"additionalProperties": false,
"description": "Arguments for `snapshot_pane`, exactly the shape it takes when called on its own.",
"properties": {
"maxLines": {
"description": "Keep at most this many lines, from the end. Defaults to the server limit.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"paneId": {
"description": "Stable pane id, e.g. %1.",
"pattern": "^%\\d+$",
"type": "string"
}
},
"required": [
"paneId"
],
"type": "object"
},
"tool": {
"const": "snapshot_pane",
"description": "Run `snapshot_pane` as this step of the batch.",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
}
]
},
"maxItems": 16,
"minItems": 1,
"type": "array"
}
},
"required": [
"operations"
],
"type": "object"
}
Output schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"failed": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"onError": {
"enum": [
"stop",
"continue"
],
"type": "string"
},
"results": {
"items": {
"additionalProperties": false,
"properties": {
"error": {
"type": [
"string",
"null"
]
},
"index": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"result": {
"anyOf": [
{
"additionalProperties": {},
"properties": {
"content": {
"items": {},
"type": "array"
},
"isError": {
"type": "boolean"
},
"structuredContent": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"content"
],
"type": "object"
},
{
"type": "null"
}
]
},
"resultTruncated": {
"type": "boolean"
},
"success": {
"type": "boolean"
},
"tool": {
"type": "string"
}
},
"required": [
"error",
"index",
"result",
"resultTruncated",
"success",
"tool"
],
"type": "object"
},
"type": "array"
},
"stoppedAt": {
"anyOf": [
{
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"succeeded": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
},
"truncatedBytes": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"failed",
"onError",
"results",
"stoppedAt",
"succeeded",
"truncated",
"truncatedBytes"
],
"type": "object"
}
Tool annotations
{
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
Esc

Type to search.