# send_keys

Source: https://libtmux.org/en/julia/latest/mcp/tools/send_keys/

> Send explicit key tokens or literal text to one captured target. No Enter is added; use a separate Enter token when intended.

toolMCPlatest

MCP is in development

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

* **send_keys**( [keys](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fkeys): [Array](https://json-schema.org/understanding-json-schema/reference/array "Array (JSON Schema)")<[string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)")>, [literal](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fliteral)?: [boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"), [target](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)"), )

  tool[\[source\]](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/packages/LibTmuxMCP/src/tools.jl#L4)[¶](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys)

  Send explicit key tokens or literal text to one captured target. No Enter is added; use a separate Enter token when intended.

  * MCP request method

    `tools/call` Send `send_keys` as the tool name, with the arguments below.

  * Tool selection

    Enabled by default.

  ## Arguments[#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.parameters)

  * additionalProperties

    `false`

  - [**keys**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fkeys): [Array](https://json-schema.org/understanding-json-schema/reference/array "Array (JSON Schema)")<[string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)")> Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fkeys)

    * minItems

      `1`

    * maxItems

      `64`

    - [**Items**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fkeys%2Fitems): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fkeys%2Fitems)

      Valid UTF-8; at most 1024 bytes

      * maxLength

        `1024`

  - [**literal**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fliteral): [boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)") Optional [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Fliteral)

    * Default

      `false`

  - [**target**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget)

    Explicit captured target; omission requires a configured caller pane

    * additionalProperties

      `false`

    - [**generation**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget%2Fproperties%2Fgeneration)

      Opaque generation from [list_panes](https://libtmux.org/en/julia/latest/mcp/tools/list_panes/)

      * maxLength

        `128`

    - [**paneId**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget%2Fproperties%2FpaneId): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.input%2Fproperties%2Ftarget%2Fproperties%2FpaneId)

      Valid UTF-8; at most 64 bytes

      * maxLength

        `64`

      * pattern

        `"^%(0|[1-9][0-9]*)$"`

  ## Result[#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.result)

  Returns [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") | [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)")

  Matches one or more variants.

  * [**Variant 1**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0)

    * additionalProperties

      `false`

    - [**completed**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Fcompleted): [boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Fcompleted)

    - [**generationGuarantee**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2FgenerationGuarantee): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2FgenerationGuarantee)

    - [**target**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Ftarget): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Ftarget)

      * additionalProperties

        `false`

      - [**generation**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Ftarget%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Ftarget%2Fproperties%2Fgeneration)

        Opaque generation from [list_panes](https://libtmux.org/en/julia/latest/mcp/tools/list_panes/)

        * maxLength

          `128`

      - [**paneId**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Ftarget%2Fproperties%2FpaneId): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F0%2Fproperties%2Ftarget%2Fproperties%2FpaneId)

        Valid UTF-8; at most 64 bytes

        * maxLength

          `64`

        * pattern

          `"^%(0|[1-9][0-9]*)$"`

  * [**Variant 2**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1)

    * [**error**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror)

      * additionalProperties

        `false`

      - [**code**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fcode): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fcode)

      - [**effects**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects): "none" | "possible" Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects)

      - [**message**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fmessage): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fmessage)

      - [**retryable**](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fretryable): [boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)") Required [#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.output%2FanyOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fretryable)

  ## Annotations[#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.annotations)

  * [`destructiveHint`](https://libtmux.org/en/julia/latest/mcp/reference/glossary/#destructiveHint)

    `true`

  * [`idempotentHint`](https://libtmux.org/en/julia/latest/mcp/reference/glossary/#idempotentHint)

    `false`

  * [`openWorldHint`](https://libtmux.org/en/julia/latest/mcp/reference/glossary/#openWorldHint)

    `true`

  * [`readOnlyHint`](https://libtmux.org/en/julia/latest/mcp/reference/glossary/#readOnlyHint)

    `false`

  ## Protocol data[#](https://libtmux.org/en/julia/latest/mcp/tools/send_keys/#mcp.tool.send_keys.schemas)

  Use the complete advertised contract for validation and client integration.

  Input schema

  ```json
  {
    "additionalProperties": false,
    "properties": {
      "keys": {
        "items": {
          "description": "Valid UTF-8; at most 1024 bytes",
          "maxLength": 1024,
          "type": "string"
        },
        "maxItems": 64,
        "minItems": 1,
        "type": "array"
      },
      "literal": {
        "default": false,
        "type": "boolean"
      },
      "target": {
        "additionalProperties": false,
        "description": "Explicit captured target; omission requires a configured caller pane",
        "properties": {
          "generation": {
            "description": "Opaque generation from list_panes",
            "maxLength": 128,
            "type": "string"
          },
          "paneId": {
            "description": "Valid UTF-8; at most 64 bytes",
            "maxLength": 64,
            "pattern": "^%(0|[1-9][0-9]*)$",
            "type": "string"
          }
        },
        "required": [
          "paneId",
          "generation"
        ],
        "type": "object"
      }
    },
    "required": [
      "target",
      "keys"
    ],
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "anyOf": [
      {
        "additionalProperties": false,
        "properties": {
          "completed": {
            "type": "boolean"
          },
          "generationGuarantee": {
            "type": "string"
          },
          "target": {
            "additionalProperties": false,
            "properties": {
              "generation": {
                "description": "Opaque generation from list_panes",
                "maxLength": 128,
                "type": "string"
              },
              "paneId": {
                "description": "Valid UTF-8; at most 64 bytes",
                "maxLength": 64,
                "pattern": "^%(0|[1-9][0-9]*)$",
                "type": "string"
              }
            },
            "required": [
              "paneId",
              "generation"
            ],
            "type": "object"
          }
        },
        "required": [
          "completed",
          "generationGuarantee",
          "target"
        ],
        "type": "object"
      },
      {
        "properties": {
          "error": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "effects": {
                "enum": [
                  "none",
                  "possible"
                ]
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean"
              }
            },
            "required": [
              "code",
              "message",
              "effects",
              "retryable"
            ],
            "type": "object"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      }
    ],
    "type": "object"
  }
  ```
