# call_read_tools_batch

Source: https://libtmux.org/en/csharp/latest/mcp/tools/call_read_tools_batch/

> Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Execute up to 16 declared inspect operations serially; inner operations receive no separate approval.

MCP is in development

Server behavior and tool contracts may change. Tool availability depends on the server configuration.

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Execute up to 16 declared inspect operations serially; inner operations receive no separate approval.

[All C# tools](https://libtmux.org/en/csharp/latest/mcp/tools/) · [JSON](https://libtmux.org/en/csharp/latest/mcp/tools/call_read_tools_batch.json) · [Source](https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux.Mcp/Policy/CapabilityModel.cs#L586)

## Arguments

* `onError` optional · string

  Stop after the first failed operation, or continue serially.

  Default: `"stop"`.

* `operations` required · array

  Between 1 and 16 declared inspect calls, executed serially without separate approval for each inner operation.

## Schemas

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

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "onError": {
      "default": "stop",
      "description": "Stop after the first failed operation, or continue serially.",
      "enum": [
        "continue",
        "stop"
      ],
      "type": "string"
    },
    "operations": {
      "description": "Between 1 and 16 declared inspect calls, executed serially without separate approval for each inner operation.",
      "items": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "includeHistory": {
                    "default": false,
                    "description": "Include scrollback.",
                    "type": "boolean"
                  },
                  "joinWrappedLines": {
                    "default": false,
                    "description": "Rejoin tmux-wrapped lines.",
                    "type": "boolean"
                  },
                  "maxLines": {
                    "default": null,
                    "description": "Maximum returned lines, newest kept. Omit for the server default, 500 unless LIBTMUX_MCP_MAX_LINES sets another.",
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "paneId": {
                    "default": null,
                    "description": "A pane id. Omit for this server's own pane, or else the one the first session shows.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "capture_pane"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "cursor": {
                    "default": null,
                    "description": "The opaque cursor returned by the previous call. Omit to start from what is on screen now.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "maxLines": {
                    "default": null,
                    "description": "Maximum returned lines, newest kept. Omit for the server default, 500 unless LIBTMUX_MCP_MAX_LINES sets another.",
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "paneId": {
                    "default": null,
                    "description": "A pane id. Omit for this server's own pane, or else the one the first session shows.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "capture_since"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "position": {
                    "description": "The zero-based pane index.",
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": "integer"
                  },
                  "windowId": {
                    "description": "The window id.",
                    "type": "string"
                  }
                },
                "required": [
                  "windowId",
                  "position"
                ],
                "type": "object"
              },
              "tool": {
                "const": "find_pane_by_position"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "paneId": {
                    "description": "A pane id.",
                    "type": "string"
                  }
                },
                "required": [
                  "paneId"
                ],
                "type": "object"
              },
              "tool": {
                "const": "get_pane_info"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              },
              "tool": {
                "const": "get_server_info"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "session": {
                    "description": "A session id or name.",
                    "type": "string"
                  }
                },
                "required": [
                  "session"
                ],
                "type": "object"
              },
              "tool": {
                "const": "get_session_info"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "names": {
                    "description": "Variable names such as session_name, without #{...}. Between 1 and 64 names, each at most 64 letters, digits and underscores.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "paneId": {
                    "default": null,
                    "description": "A pane id used as the lookup context. Omit for this server's own pane, or else the one the first session shows.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "names"
                ],
                "type": "object"
              },
              "tool": {
                "const": "get_tmux_variables"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "windowId": {
                    "description": "A window id.",
                    "type": "string"
                  }
                },
                "required": [
                  "windowId"
                ],
                "type": "object"
              },
              "tool": {
                "const": "get_window_info"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "session": {
                    "default": null,
                    "description": "A session id or name. Omit for every session.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "windowId": {
                    "default": null,
                    "description": "A window id. Omit for every window.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "list_panes"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              },
              "tool": {
                "const": "list_sessions"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "session": {
                    "default": null,
                    "description": "A session id or name. Omit for every session.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "list_windows"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "ignoreCase": {
                    "default": true,
                    "description": "Ignore case.",
                    "type": "boolean"
                  },
                  "includeHistory": {
                    "default": false,
                    "description": "Search scrollback too.",
                    "type": "boolean"
                  },
                  "maxMatchesPerPane": {
                    "default": 20,
                    "description": "Maximum matches per pane.",
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": "integer"
                  },
                  "pattern": {
                    "description": "A linear-time regular expression, at most 999 UTF-8 bytes. .NET syntax without lookarounds, backreferences or atomic groups.",
                    "type": "string"
                  },
                  "session": {
                    "default": null,
                    "description": "A session id or name. Omit for every session.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "pattern"
                ],
                "type": "object"
              },
              "tool": {
                "const": "search_panes"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "default": null,
                    "description": "One variable name, which answers its value. Omit for every name with hasValue instead of values.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "session": {
                    "default": null,
                    "description": "A session id or name. Omit for the server environment.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "show_environment"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "paneId": {
                    "default": null,
                    "description": "The pane whose scope is read. Omit for this server's own pane, or else the one the first session shows.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "scope": {
                    "default": "Session",
                    "description": "Server, Session, Window, or Pane.",
                    "enum": [
                      "Server",
                      "Session",
                      "Window",
                      "Pane"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "show_hooks"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "description": "The option name.",
                    "type": "string"
                  },
                  "paneId": {
                    "default": null,
                    "description": "The pane whose scope is read. Omit for this server's own pane, or else the one the first session shows.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "scope": {
                    "default": "Pane",
                    "description": "Server, Session, Window, or Pane.",
                    "enum": [
                      "Server",
                      "Session",
                      "Window",
                      "Pane"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              },
              "tool": {
                "const": "show_option"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "arguments": {
                "additionalProperties": false,
                "properties": {
                  "maxLines": {
                    "default": null,
                    "description": "Maximum returned lines, newest kept. Omit for the server default, 500 unless LIBTMUX_MCP_MAX_LINES sets another.",
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "paneId": {
                    "default": null,
                    "description": "A pane id. Omit for this server's own pane, or else the one the first session shows.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "tool": {
                "const": "snapshot_pane"
              }
            },
            "required": [
              "tool"
            ],
            "type": "object"
          }
        ]
      },
      "maxItems": 16,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "operations"
  ],
  "type": "object"
}
```

Output schema

```json
{
  "properties": {
    "failed": {
      "type": "integer"
    },
    "onError": {
      "type": "string"
    },
    "results": {
      "items": {
        "properties": {
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "index": {
            "type": "integer"
          },
          "result": true,
          "resultTruncated": {
            "type": "boolean"
          },
          "success": {
            "type": "boolean"
          },
          "tool": {
            "type": "string"
          }
        },
        "required": [
          "index",
          "tool",
          "success",
          "error",
          "result",
          "resultTruncated"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "stoppedAt": {
      "type": [
        "integer",
        "null"
      ]
    },
    "succeeded": {
      "type": "integer"
    },
    "truncated": {
      "type": "boolean"
    },
    "truncatedBytes": {
      "type": "integer"
    }
  },
  "required": [
    "results",
    "succeeded",
    "failed",
    "stoppedAt",
    "truncated",
    "truncatedBytes",
    "onError"
  ],
  "type": "object"
}
```

Tool annotations

```json
{
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true,
  "readOnlyHint": false,
  "title": "Call read tools batch"
}
```
