# tmux_send

Source: https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/

> Send literal UTF-8 text or named keys to one exact pane. Opt-in mutation; 64 KiB total text bytes, at most 256 keys. Reports tmux client completion and input dispatch only; never shell completion.

toolMCPv0.1.0.alpha.2

MCP concept example

Maintained as a working example of core library usage and deployment. Example APIs, tools and configuration may change without a compatibility or product support commitment.

[What concept means](https://libtmux.org/en/tmux/guides/concept-examples/)

* **tmux_send**()

  tool\[[source](https://github.com/libtmux/libtmux-ruby/blob/dcc9f8b5a6970144a9e7d80cd5f381d8f6198372/gems/libtmux-mcp/lib/libtmux/mcp/catalog.rb#L243)][¶](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send)

  Send literal UTF-8 text or named keys to one exact pane. Opt-in mutation; 64 KiB total text bytes, at most 256 keys. Reports tmux client completion and input dispatch only; never shell completion.

  * MCP request method

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

  * Tool selection

    Opt in with `--enable-tool tmux_send`.

  ## Arguments[#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.parameters)

  No named arguments.

  Matches exactly one variant.

  * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0)

    * additionalProperties

      `false`

    - [**input**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput): [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)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput)

      Matches exactly one variant.

      * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F0)

        * additionalProperties

          `false`

        - [**text**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F0%2Fproperties%2Ftext): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F0%2Fproperties%2Ftext)

          * maxLength

            `65536`

          * pattern

            `"^[^\\u0000]*$"`

        - [**type**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F0%2Fproperties%2Ftype): "text" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F0%2Fproperties%2Ftype)

      * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1)

        * additionalProperties

          `false`

        - [**keys**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1%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/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1%2Fproperties%2Fkeys)

          * minItems

            `1`

          * maxItems

            `256`

          - [**Items**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1%2Fproperties%2Fkeys%2Fitems): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1%2Fproperties%2Fkeys%2Fitems)

            * minLength

              `1`

            * maxLength

              `65536`

            * pattern

              `"^[^\\u0000]*$"`

        - [**type**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1%2Fproperties%2Ftype): "keys" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Finput%2FoneOf%2F1%2Fproperties%2Ftype)

    - [**target**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget)

      Matches exactly one variant.

      * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0)

        * additionalProperties

          `false`

        - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fgeneration)

          * minLength

            `1`

          * maxLength

            `128`

        - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fid)

          * maxLength

            `32`

          * pattern

            `"^%[0-9]+$"`

        - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fkind): "pane" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fkind)

  ## Result[#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.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 exactly one variant.

  * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0)

    * additionalProperties

      `false`

    - [**data**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata)

      * additionalProperties

        `false`

      - [**client_exit_status**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Fclient_exit_status): 0 Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Fclient_exit_status)

      - [**completion**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Fcompletion): "dispatch_only" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Fcompletion)

      - [**delivery**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Fdelivery): "observed" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Fdelivery)

      - [**target**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget): [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)") | [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)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget)

        Matches exactly one variant.

        * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0)

          * additionalProperties

            `false`

          - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fgeneration)

            * minLength

              `1`

            * maxLength

              `128`

          - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fid)

            * maxLength

              `32`

            * pattern

              `"^\\$[0-9]+$"`

          - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fkind): "session" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fkind)

        * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1)

          * additionalProperties

            `false`

          - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1%2Fproperties%2Fgeneration)

            * minLength

              `1`

            * maxLength

              `128`

          - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1%2Fproperties%2Fid)

            * maxLength

              `32`

            * pattern

              `"^@[0-9]+$"`

          - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1%2Fproperties%2Fkind): "window" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F1%2Fproperties%2Fkind)

        * [**Variant 3**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2)

          * additionalProperties

            `false`

          - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2%2Fproperties%2Fgeneration)

            * minLength

              `1`

            * maxLength

              `128`

          - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2%2Fproperties%2Fid)

            * maxLength

              `32`

            * pattern

              `"^%[0-9]+$"`

          - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2%2Fproperties%2Fkind): "pane" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F2%2Fproperties%2Fkind)

        * [**Variant 4**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3)

          * additionalProperties

            `false`

          - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fgeneration)

            * minLength

              `1`

            * maxLength

              `128`

          - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fid)

            * maxLength

              `32`

            * pattern

              `"^@[0-9]+$"`

          - [**index**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Findex): [integer](https://json-schema.org/understanding-json-schema/reference/numeric "integer (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Findex)

            * minimum

              `0`

          - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fkind): "window_link" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fkind)

          - [**session_id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fsession_id): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fdata%2Fproperties%2Ftarget%2FoneOf%2F3%2Fproperties%2Fsession_id)

            * maxLength

              `32`

            * pattern

              `"^\\$[0-9]+$"`

    - [**ok**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fok): true Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F0%2Fproperties%2Fok)

  * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1)

    * additionalProperties

      `false`

    - [**error**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror)

      * additionalProperties

        `false`

      - [**code**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fcode): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fcode)

      - [**delivery**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fdelivery): "not_sent" | "possibly_sent" | "observed" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fdelivery)

      - [**effects**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") Optional [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects)

        * additionalProperties

          `false`

        - [**created**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated): [Array](https://json-schema.org/understanding-json-schema/reference/array "Array (JSON Schema)")<[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)") | [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)")> Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated)

          * maxItems

            `3`

          - [**Items**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems): [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)") | [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)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems)

            Matches exactly one variant.

            * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0)

              * additionalProperties

                `false`

              - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0%2Fproperties%2Fgeneration)

                * minLength

                  `1`

                * maxLength

                  `128`

              - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0%2Fproperties%2Fid)

                * maxLength

                  `32`

                * pattern

                  `"^\\$[0-9]+$"`

              - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0%2Fproperties%2Fkind): "session" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F0%2Fproperties%2Fkind)

            * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1)

              * additionalProperties

                `false`

              - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1%2Fproperties%2Fgeneration)

                * minLength

                  `1`

                * maxLength

                  `128`

              - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1%2Fproperties%2Fid)

                * maxLength

                  `32`

                * pattern

                  `"^@[0-9]+$"`

              - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1%2Fproperties%2Fkind): "window" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F1%2Fproperties%2Fkind)

            * [**Variant 3**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2)

              * additionalProperties

                `false`

              - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2%2Fproperties%2Fgeneration)

                * minLength

                  `1`

                * maxLength

                  `128`

              - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2%2Fproperties%2Fid)

                * maxLength

                  `32`

                * pattern

                  `"^%[0-9]+$"`

              - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2%2Fproperties%2Fkind): "pane" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F2%2Fproperties%2Fkind)

            * [**Variant 4**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3): [object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)") [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3)

              * additionalProperties

                `false`

              - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fgeneration): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fgeneration)

                * minLength

                  `1`

                * maxLength

                  `128`

              - [**id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fid): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fid)

                * maxLength

                  `32`

                * pattern

                  `"^@[0-9]+$"`

              - [**index**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Findex): [integer](https://json-schema.org/understanding-json-schema/reference/numeric "integer (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Findex)

                * minimum

                  `0`

              - [**kind**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fkind): "window_link" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fkind)

              - [**session_id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fsession_id): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fcreated%2Fitems%2FoneOf%2F3%2Fproperties%2Fsession_id)

                * maxLength

                  `32`

                * pattern

                  `"^\\$[0-9]+$"`

        - [**state**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fstate): "none" | "known" | "unknown" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Feffects%2Fproperties%2Fstate)

      - [**message**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fmessage): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fmessage)

    - [**ok**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Fok): false Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.output%2FoneOf%2F1%2Fproperties%2Fok)

  ## Annotations[#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.annotations)

  * [`destructiveHint`](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/reference/glossary/#destructiveHint)

    `true`

  * [`idempotentHint`](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/reference/glossary/#idempotentHint)

    `false`

  * [`openWorldHint`](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/reference/glossary/#openWorldHint)

    `false`

  * [`readOnlyHint`](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/reference/glossary/#readOnlyHint)

    `false`

  ## Protocol data[#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_send/#mcp.tool.tmux_send.schemas)

  Use the complete advertised contract for validation and client integration.

  Input schema

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "oneOf": [
      {
        "additionalProperties": false,
        "properties": {
          "input": {
            "oneOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "text": {
                    "maxLength": 65536,
                    "pattern": "^[^\\u0000]*$",
                    "type": "string"
                  },
                  "type": {
                    "const": "text"
                  }
                },
                "required": [
                  "type",
                  "text"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "keys": {
                    "items": {
                      "maxLength": 65536,
                      "minLength": 1,
                      "pattern": "^[^\\u0000]*$",
                      "type": "string"
                    },
                    "maxItems": 256,
                    "minItems": 1,
                    "type": "array"
                  },
                  "type": {
                    "const": "keys"
                  }
                },
                "required": [
                  "type",
                  "keys"
                ],
                "type": "object"
              }
            ]
          },
          "target": {
            "oneOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "generation": {
                    "maxLength": 128,
                    "minLength": 1,
                    "type": "string"
                  },
                  "id": {
                    "maxLength": 32,
                    "pattern": "^%[0-9]+$",
                    "type": "string"
                  },
                  "kind": {
                    "const": "pane"
                  }
                },
                "required": [
                  "generation",
                  "kind",
                  "id"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "target",
          "input"
        ],
        "type": "object"
      }
    ],
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "oneOf": [
      {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": false,
            "properties": {
              "client_exit_status": {
                "const": 0
              },
              "completion": {
                "const": "dispatch_only"
              },
              "delivery": {
                "const": "observed"
              },
              "target": {
                "oneOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "generation": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                      },
                      "id": {
                        "maxLength": 32,
                        "pattern": "^\\$[0-9]+$",
                        "type": "string"
                      },
                      "kind": {
                        "const": "session"
                      }
                    },
                    "required": [
                      "generation",
                      "kind",
                      "id"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "generation": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                      },
                      "id": {
                        "maxLength": 32,
                        "pattern": "^@[0-9]+$",
                        "type": "string"
                      },
                      "kind": {
                        "const": "window"
                      }
                    },
                    "required": [
                      "generation",
                      "kind",
                      "id"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "generation": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                      },
                      "id": {
                        "maxLength": 32,
                        "pattern": "^%[0-9]+$",
                        "type": "string"
                      },
                      "kind": {
                        "const": "pane"
                      }
                    },
                    "required": [
                      "generation",
                      "kind",
                      "id"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "generation": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                      },
                      "id": {
                        "maxLength": 32,
                        "pattern": "^@[0-9]+$",
                        "type": "string"
                      },
                      "index": {
                        "minimum": 0,
                        "type": "integer"
                      },
                      "kind": {
                        "const": "window_link"
                      },
                      "session_id": {
                        "maxLength": 32,
                        "pattern": "^\\$[0-9]+$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "generation",
                      "kind",
                      "id",
                      "session_id",
                      "index"
                    ],
                    "type": "object"
                  }
                ]
              }
            },
            "required": [
              "target",
              "delivery",
              "client_exit_status",
              "completion"
            ],
            "type": "object"
          },
          "ok": {
            "const": true
          }
        },
        "required": [
          "ok",
          "data"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "error": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "delivery": {
                "enum": [
                  "not_sent",
                  "possibly_sent",
                  "observed"
                ]
              },
              "effects": {
                "additionalProperties": false,
                "properties": {
                  "created": {
                    "items": {
                      "oneOf": [
                        {
                          "additionalProperties": false,
                          "properties": {
                            "generation": {
                              "maxLength": 128,
                              "minLength": 1,
                              "type": "string"
                            },
                            "id": {
                              "maxLength": 32,
                              "pattern": "^\\$[0-9]+$",
                              "type": "string"
                            },
                            "kind": {
                              "const": "session"
                            }
                          },
                          "required": [
                            "generation",
                            "kind",
                            "id"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "properties": {
                            "generation": {
                              "maxLength": 128,
                              "minLength": 1,
                              "type": "string"
                            },
                            "id": {
                              "maxLength": 32,
                              "pattern": "^@[0-9]+$",
                              "type": "string"
                            },
                            "kind": {
                              "const": "window"
                            }
                          },
                          "required": [
                            "generation",
                            "kind",
                            "id"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "properties": {
                            "generation": {
                              "maxLength": 128,
                              "minLength": 1,
                              "type": "string"
                            },
                            "id": {
                              "maxLength": 32,
                              "pattern": "^%[0-9]+$",
                              "type": "string"
                            },
                            "kind": {
                              "const": "pane"
                            }
                          },
                          "required": [
                            "generation",
                            "kind",
                            "id"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "properties": {
                            "generation": {
                              "maxLength": 128,
                              "minLength": 1,
                              "type": "string"
                            },
                            "id": {
                              "maxLength": 32,
                              "pattern": "^@[0-9]+$",
                              "type": "string"
                            },
                            "index": {
                              "minimum": 0,
                              "type": "integer"
                            },
                            "kind": {
                              "const": "window_link"
                            },
                            "session_id": {
                              "maxLength": 32,
                              "pattern": "^\\$[0-9]+$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "generation",
                            "kind",
                            "id",
                            "session_id",
                            "index"
                          ],
                          "type": "object"
                        }
                      ]
                    },
                    "maxItems": 3,
                    "type": "array"
                  },
                  "state": {
                    "enum": [
                      "none",
                      "known",
                      "unknown"
                    ]
                  }
                },
                "required": [
                  "state",
                  "created"
                ],
                "type": "object"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message",
              "delivery"
            ],
            "type": "object"
          },
          "ok": {
            "const": false
          }
        },
        "required": [
          "ok",
          "error"
        ],
        "type": "object"
      }
    ],
    "type": "object"
  }
  ```
