{
  "name": "send_keys_batch",
  "wireName": "send_keys_batch",
  "source": {
    "repo": "libtmux/libtmux-ts",
    "revision": "3fe1ca654b81b8cbf4a13b777a001a3298c87a6f",
    "extractedRevision": "ecc3eaca0b4e05a77360da9d56790b409282c63b",
    "file": "packages/mcp/src/tools/target.ts",
    "line": 468
  },
  "description": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send an ordered batch of pane-input operations, resolving and checking each row's configured cohort immediately before input. Stop or continue on error.",
  "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 key sends to run, in order, one pane each.",
        "items": {
          "properties": {
            "enter": {
              "description": "Press Enter afterwards. Default true.",
              "type": "boolean"
            },
            "force": {
              "description": "Allow this server's own caller pane, as on `send_keys`.",
              "type": "boolean"
            },
            "keys": {
              "description": "Keys for this pane, as on `send_keys`.",
              "type": "string"
            },
            "literal": {
              "description": "Send the text literally rather than resolving key names.",
              "type": "boolean"
            },
            "paneId": {
              "description": "Stable pane id, e.g. %1.",
              "pattern": "^%\\d+$",
              "type": "string"
            }
          },
          "required": [
            "keys",
            "paneId"
          ],
          "type": "object"
        },
        "maxItems": 64,
        "minItems": 1,
        "type": "array"
      }
    },
    "required": [
      "operations"
    ],
    "type": "object"
  },
  "outputSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "completed": {
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      },
      "failures": {
        "items": {
          "additionalProperties": false,
          "properties": {
            "index": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "reason": {
              "type": "string"
            }
          },
          "required": [
            "index",
            "reason"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "targets": {
        "items": {
          "additionalProperties": false,
          "properties": {
            "index": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "resolvedPaneIds": {
              "items": {
                "description": "Stable pane id, e.g. %1.",
                "pattern": "^%\\d+$",
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "index",
            "resolvedPaneIds"
          ],
          "type": "object"
        },
        "type": "array"
      }
    },
    "required": [
      "completed",
      "failures",
      "targets"
    ],
    "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": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send an ordered batch of pane-input operations, resolving and checking each row's configured cohort immediately before input. Stop or continue on error.",
      "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 key sends to run, in order, one pane each.",
            "items": {
              "properties": {
                "enter": {
                  "description": "Press Enter afterwards. Default true.",
                  "type": "boolean"
                },
                "force": {
                  "description": "Allow this server's own caller pane, as on `send_keys`.",
                  "type": "boolean"
                },
                "keys": {
                  "description": "Keys for this pane, as on `send_keys`.",
                  "type": "string"
                },
                "literal": {
                  "description": "Send the text literally rather than resolving key names.",
                  "type": "boolean"
                },
                "paneId": {
                  "description": "Stable pane id, e.g. %1.",
                  "pattern": "^%\\d+$",
                  "type": "string"
                }
              },
              "required": [
                "keys",
                "paneId"
              ],
              "type": "object"
            },
            "maxItems": 64,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "operations"
        ],
        "type": "object"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "send_keys_batch",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "completed": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "failures": {
            "items": {
              "properties": {
                "index": {
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "reason": {
                  "type": "string"
                }
              },
              "required": [
                "index",
                "reason"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "targets": {
            "items": {
              "properties": {
                "index": {
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "resolvedPaneIds": {
                  "items": {
                    "description": "Stable pane id, e.g. %1.",
                    "pattern": "^%\\d+$",
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "index",
                "resolvedPaneIds"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "completed",
          "failures",
          "targets"
        ],
        "type": "object"
      },
      "processReach": "pane-input",
      "title": "Send keys batch",
      "tmuxEffects": [
        "observe",
        "change"
      ],
      "toolset": "execute"
    }
  }
}
