{
  "name": "capture_pane",
  "wireName": "capture_pane",
  "source": {
    "repo": "libtmux/libtmux-ts",
    "revision": "3fe1ca654b81b8cbf4a13b777a001a3298c87a6f",
    "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
    "file": "packages/mcp/src/tools/capture.ts",
    "line": 27
  },
  "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. The text a pane is showing, or its scrollback. Negative `start` reaches back into history (-100 is a hundred lines above the top of the screen). For repeated reads of the same pane use capture_since instead — it returns only what is new.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "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"
  },
  "outputSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "byteClamped": {
        "description": "Whether the byte ceiling shortened the capture.",
        "type": "boolean"
      },
      "droppedLines": {
        "description": "Lines cut from the front to fit maxLines.",
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      },
      "effectiveEnd": {
        "anyOf": [
          {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ]
      },
      "effectiveStart": {
        "anyOf": [
          {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ]
      },
      "omittedBytes": {
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      },
      "paneId": {
        "description": "Stable pane id, e.g. %1.",
        "pattern": "^%\\d+$",
        "type": "string"
      },
      "rangeClamped": {
        "description": "Whether a result ceiling shortened the range.",
        "type": "boolean"
      },
      "returnedBytes": {
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      },
      "text": {
        "type": "string"
      },
      "totalLines": {
        "description": "How many lines the capture held before trimming.",
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      }
    },
    "required": [
      "byteClamped",
      "droppedLines",
      "effectiveEnd",
      "effectiveStart",
      "omittedBytes",
      "paneId",
      "rangeClamped",
      "returnedBytes",
      "text",
      "totalLines"
    ],
    "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. The text a pane is showing, or its scrollback. Negative `start` reaches back into history (-100 is a hundred lines above the top of the screen). For repeated reads of the same pane use capture_since instead — it returns only what is new.",
      "inputLiteralization": {},
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "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"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "capture_pane",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata",
        "terminal-content"
      ],
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "byteClamped": {
            "description": "Whether the byte ceiling shortened the capture.",
            "type": "boolean"
          },
          "droppedLines": {
            "description": "Lines cut from the front to fit maxLines.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "effectiveEnd": {
            "anyOf": [
              {
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "effectiveStart": {
            "anyOf": [
              {
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "omittedBytes": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "paneId": {
            "description": "Stable pane id, e.g. %1.",
            "pattern": "^%\\d+$",
            "type": "string"
          },
          "rangeClamped": {
            "description": "Whether a result ceiling shortened the range.",
            "type": "boolean"
          },
          "returnedBytes": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "text": {
            "type": "string"
          },
          "totalLines": {
            "description": "How many lines the capture held before trimming.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "byteClamped",
          "droppedLines",
          "effectiveEnd",
          "effectiveStart",
          "omittedBytes",
          "paneId",
          "rangeClamped",
          "returnedBytes",
          "text",
          "totalLines"
        ],
        "type": "object"
      },
      "processReach": "none",
      "title": "Capture pane",
      "tmuxEffects": [
        "observe"
      ],
      "toolset": "inspect"
    }
  }
}
