{
  "name": "send_keys_batch",
  "wireName": "send_keys_batch",
  "source": {
    "repo": "libtmux/libtmux-dotnet",
    "revision": "320dc64f4b8b7815842471327a5e6b84a1499bf8",
    "extractedRevision": "b243b2cf82de4e98e2172aba4f54a52b9c363dc4",
    "file": "src/LibTmux.Mcp/Policy/CapabilityModel.cs",
    "line": 598
  },
  "description": "Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send several keystrokes to one pane in order, in a single call. Use for a short interactive sequence — open a file, move, type, save — instead of one call per key. Each operation refuses the named pane in a human-owned mode and, when source input expands, every synchronized input cohort peer. A batch has at most 64 steps and 64 KiB of UTF-8 text. Each delay is 0-2000 ms and all delays together must fit the server wait ceiling.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "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 64 bounded pane-input operations, executed serially.",
        "items": {
          "additionalProperties": false,
          "properties": {
            "delayMilliseconds": {
              "default": null,
              "maximum": 2000,
              "minimum": 0,
              "type": [
                "integer",
                "null"
              ]
            },
            "enter": {
              "default": false,
              "type": "boolean"
            },
            "keys": {
              "type": "string"
            },
            "literal": {
              "default": true,
              "type": "boolean"
            },
            "paneId": {
              "default": null,
              "type": [
                "string",
                "null"
              ]
            },
            "suppressHistory": {
              "default": false,
              "type": "boolean"
            }
          },
          "required": [
            "keys"
          ],
          "type": "object"
        },
        "maxItems": 64,
        "minItems": 1,
        "type": "array"
      }
    },
    "required": [
      "operations"
    ],
    "type": "object"
  },
  "outputSchema": {
    "properties": {
      "failed": {
        "type": "integer"
      },
      "onError": {
        "type": "string"
      },
      "results": {
        "items": {
          "properties": {
            "error": {
              "type": [
                "string",
                "null"
              ]
            },
            "index": {
              "type": "integer"
            },
            "paneId": {
              "type": [
                "string",
                "null"
              ]
            },
            "success": {
              "type": "boolean"
            },
            "targetPaneIds": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "index",
            "paneId",
            "success",
            "error",
            "targetPaneIds"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "stoppedAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "succeeded": {
        "type": "integer"
      }
    },
    "required": [
      "results",
      "succeeded",
      "failed",
      "stoppedAt",
      "onError"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Send keys batch"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "inputLiteralization": {},
      "mayExposeSecrets": false,
      "mayReturnUntrustedContent": false,
      "name": "send_keys_batch",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "processReach": "pane-input",
      "tmuxEffects": [
        "change",
        "observe"
      ],
      "toolset": "execute"
    }
  }
}
