{
  "name": "call_read_tools_batch",
  "wireName": "call_read_tools_batch",
  "source": {
    "repo": "libtmux/libtmux-ts",
    "revision": "b3f338c1a21e614ebf0dd6d55aa36a60db816618",
    "extractedRevision": "b3f338c1a21e614ebf0dd6d55aa36a60db816618",
    "file": "packages/mcp/src/tools/target.ts",
    "line": 618
  },
  "description": "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.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "$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"
  },
  "outputSchema": {
    "$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"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "description": "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.",
      "inputLiteralization": {},
      "inputSchema": {
        "$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"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "call_read_tools_batch",
      "nestedAuthority": [
        "list_sessions",
        "list_windows",
        "list_panes",
        "get_pane_info",
        "get_server_info",
        "capture_pane",
        "capture_since",
        "search_panes",
        "show_option",
        "show_hooks",
        "show_environment",
        "get_session_info",
        "get_window_info",
        "find_pane_by_position",
        "get_tmux_variables",
        "snapshot_pane"
      ],
      "outputClasses": [
        "tmux-metadata",
        "terminal-content",
        "process-environment",
        "configured-command"
      ],
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "failed": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "onError": {
            "enum": [
              "stop",
              "continue"
            ],
            "type": "string"
          },
          "results": {
            "items": {
              "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"
      },
      "processReach": "none",
      "title": "Call read tools batch",
      "tmuxEffects": [
        "observe"
      ],
      "toolset": "inspect"
    }
  }
}
