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
onErroroptional · string- Whether a failed operation ends the batch. Defaults to stop.
operationsrequired · 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}