# tmux_capture

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

> Read exact-pane screen/history rows preserving LF. Defaults: 200 lines, 65536 bytes, zero history lines, track=false. Limits: 1000 lines/history, 262144 bytes. UTF-8 or base64; truncation is separate from unknown history continuity. Tracked process cursors require tmux>=3.3a and a native process identity backend: Linux peer pidfds with matching PID namespaces, or Darwin kqueue process observation. Continuation returns an exact state row splice, not a live-output journal. Refuses capture after-hooks.

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_capture**()

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

  Read exact-pane screen/history rows preserving LF. Defaults: 200 lines, 65536 bytes, zero history lines, track=false. Limits: 1000 lines/history, 262144 bytes. UTF-8 or base64; truncation is separate from unknown history continuity. Tracked process cursors require tmux>=3.3a and a native process identity backend: Linux peer pidfds with matching PID namespaces, or Darwin kqueue process observation. Continuation returns an exact state row splice, not a live-output journal. Refuses capture after-hooks.

  * MCP request method

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

  * Tool selection

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

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

  No named arguments.

  Matches exactly one variant.

  * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0)

    * additionalProperties

      `false`

    - [**history_lines**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Fhistory_lines): [integer](https://json-schema.org/understanding-json-schema/reference/numeric "integer (JSON Schema)") Optional [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Fhistory_lines)

      * minimum

        `0`

      * maximum

        `1000`

    - [**max_bytes**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Fmax_bytes): [integer](https://json-schema.org/understanding-json-schema/reference/numeric "integer (JSON Schema)") Optional [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Fmax_bytes)

      * minimum

        `1`

      * maximum

        `262144`

    - [**max_lines**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Fmax_lines): [integer](https://json-schema.org/understanding-json-schema/reference/numeric "integer (JSON Schema)") Optional [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Fmax_lines)

      * minimum

        `1`

      * maximum

        `1000`

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

      Matches exactly one variant.

      * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Ftarget%2FoneOf%2F0)

        * additionalProperties

          `false`

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

    - [**track**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Ftrack): [boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)") Optional [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F0%2Fproperties%2Ftrack)

  * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1)

    * additionalProperties

      `false`

    - [**cursor**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%2Fproperties%2Fcursor): [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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%2Fproperties%2Fcursor)

      * maxLength

        `32`

      * pattern

        `"^[a-f0-9]{32}$"`

    - [**target**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%2Fproperties%2Ftarget)

      Matches exactly one variant.

      * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%2Fproperties%2Ftarget%2FoneOf%2F0)

        * additionalProperties

          `false`

        - [**generation**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%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_capture/#mcp.tool.tmux_capture.input%2FoneOf%2F1%2Fproperties%2Ftarget%2FoneOf%2F0%2Fproperties%2Fgeneration)

          * minLength

            `1`

          * maxLength

            `128`

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

  ## Result[#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0)

    * additionalProperties

      `false`

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

      Matches exactly one variant.

      * [**Variant 1**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0)

        * additionalProperties

          `false`

        - [**bytes**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fbytes): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fbytes)

          * minimum

            `0`

          * maximum

            `262144`

        - [**capture_id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fcapture_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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fcapture_id)

        - [**encoding**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fencoding): "utf-8" | "base64" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fencoding)

        - [**history_continuity**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fhistory_continuity): "unknown" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fhistory_continuity)

        - [**interval**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Finterval): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Finterval)

          * additionalProperties

            `false`

          - [**clock**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Finterval%2Fproperties%2Fclock): "monotonic_seconds" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Finterval%2Fproperties%2Fclock)

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

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

        - [**mode**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fmode): "snapshot" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fmode)

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

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

        - [**row_count**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Frow_count): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Frow_count)

          * minimum

            `0`

          * maximum

            `1000`

        - [**rows**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Frows): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Frows)

          * maxItems

            `1000`



        - [**scope**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope)

          * additionalProperties

            `false`

          - [**history_lines**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope%2Fproperties%2Fhistory_lines): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope%2Fproperties%2Fhistory_lines)

            * minimum

              `0`

            * maximum

              `1000`

          - [**max_bytes**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope%2Fproperties%2Fmax_bytes): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope%2Fproperties%2Fmax_bytes)

            * minimum

              `1`

            * maximum

              `262144`

          - [**max_lines**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope%2Fproperties%2Fmax_lines): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F0%2Fproperties%2Fscope%2Fproperties%2Fmax_lines)

            * minimum

              `1`

            * maximum

              `1000`

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

          Matches exactly one variant.

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

            * additionalProperties

              `false`

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

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

      * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1)

        * additionalProperties

          `false`

        - [**base_capture_id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fbase_capture_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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fbase_capture_id)

        - [**bytes**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fbytes): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fbytes)

          * minimum

            `0`

          * maximum

            `262144`

        - [**capture_id**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fcapture_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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fcapture_id)

        - [**encoding**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fencoding): "utf-8" | "base64" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fencoding)

        - [**history_continuity**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fhistory_continuity): "unknown" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fhistory_continuity)

        - [**interval**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval)

          * additionalProperties

            `false`

          - [**clock**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval%2Fproperties%2Fclock): "monotonic_seconds" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval%2Fproperties%2Fclock)

          - [**finished**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval%2Fproperties%2Ffinished): [number](https://json-schema.org/understanding-json-schema/reference/numeric "number (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval%2Fproperties%2Ffinished)

          - [**started**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval%2Fproperties%2Fstarted): [number](https://json-schema.org/understanding-json-schema/reference/numeric "number (JSON Schema)") Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Finterval%2Fproperties%2Fstarted)

        - [**mode**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fmode): "delta" Required [#](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fmode)

        - [**next_cursor**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fnext_cursor): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fnext_cursor)

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

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

        - [**row_count**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Frow_count): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Frow_count)

          * minimum

            `0`

          * maximum

            `1000`

        - [**scope**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope)

          * additionalProperties

            `false`

          - [**history_lines**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope%2Fproperties%2Fhistory_lines): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope%2Fproperties%2Fhistory_lines)

            * minimum

              `0`

            * maximum

              `1000`

          - [**max_bytes**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope%2Fproperties%2Fmax_bytes): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope%2Fproperties%2Fmax_bytes)

            * minimum

              `1`

            * maximum

              `262144`

          - [**max_lines**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope%2Fproperties%2Fmax_lines): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fscope%2Fproperties%2Fmax_lines)

            * minimum

              `1`

            * maximum

              `1000`

        - [**splice**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice)

          * additionalProperties

            `false`

          - [**delete**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice%2Fproperties%2Fdelete): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice%2Fproperties%2Fdelete)

            * minimum

              `0`

          - [**rows**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice%2Fproperties%2Frows): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice%2Fproperties%2Frows)

            * maxItems

              `1000`



          - [**start**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice%2Fproperties%2Fstart): [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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F0%2Fproperties%2Fdata%2FoneOf%2F1%2Fproperties%2Fsplice%2Fproperties%2Fstart)

            * minimum

              `0`

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

          Matches exactly one variant.

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

            * additionalProperties

              `false`

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

              * minLength

                `1`

              * maxLength

                `128`

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

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

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

  * [**Variant 2**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F1)

    * additionalProperties

      `false`

    - [**error**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F1%2Fproperties%2Ferror)

      * additionalProperties

        `false`

      - [**code**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fcode)

      - [**delivery**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fdelivery)

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

        * additionalProperties

          `false`

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

      - [**message**](https://libtmux.org/en/ruby/v0.1.0.alpha.2/mcp/tools/tmux_capture/#mcp.tool.tmux_capture.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_capture/#mcp.tool.tmux_capture.output%2FoneOf%2F1%2Fproperties%2Ferror%2Fproperties%2Fmessage)

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

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

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

    `false`

  * [`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_capture/#mcp.tool.tmux_capture.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": {
          "history_lines": {
            "maximum": 1000,
            "minimum": 0,
            "type": "integer"
          },
          "max_bytes": {
            "maximum": 262144,
            "minimum": 1,
            "type": "integer"
          },
          "max_lines": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "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"
              }
            ]
          },
          "track": {
            "type": "boolean"
          }
        },
        "required": [
          "target"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "maxLength": 32,
            "pattern": "^[a-f0-9]{32}$",
            "type": "string"
          },
          "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",
          "cursor"
        ],
        "type": "object"
      }
    ],
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "oneOf": [
      {
        "additionalProperties": false,
        "properties": {
          "data": {
            "oneOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "bytes": {
                    "maximum": 262144,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "capture_id": {
                    "type": "string"
                  },
                  "encoding": {
                    "enum": [
                      "utf-8",
                      "base64"
                    ]
                  },
                  "history_continuity": {
                    "const": "unknown"
                  },
                  "interval": {
                    "additionalProperties": false,
                    "properties": {
                      "clock": {
                        "const": "monotonic_seconds"
                      },
                      "finished": {
                        "type": "number"
                      },
                      "started": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "clock",
                      "started",
                      "finished"
                    ],
                    "type": "object"
                  },
                  "mode": {
                    "const": "snapshot"
                  },
                  "next_cursor": {
                    "type": "string"
                  },
                  "process_generation": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "row_count": {
                    "maximum": 1000,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "rows": {
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 1000,
                    "type": "array"
                  },
                  "scope": {
                    "additionalProperties": false,
                    "properties": {
                      "history_lines": {
                        "maximum": 1000,
                        "minimum": 0,
                        "type": "integer"
                      },
                      "max_bytes": {
                        "maximum": 262144,
                        "minimum": 1,
                        "type": "integer"
                      },
                      "max_lines": {
                        "maximum": 1000,
                        "minimum": 1,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "max_lines",
                      "max_bytes",
                      "history_lines"
                    ],
                    "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"
                      }
                    ]
                  },
                  "truncated": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "target",
                  "capture_id",
                  "process_generation",
                  "encoding",
                  "row_count",
                  "bytes",
                  "truncated",
                  "history_continuity",
                  "interval",
                  "scope",
                  "mode",
                  "rows"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "base_capture_id": {
                    "type": "string"
                  },
                  "bytes": {
                    "maximum": 262144,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "capture_id": {
                    "type": "string"
                  },
                  "encoding": {
                    "enum": [
                      "utf-8",
                      "base64"
                    ]
                  },
                  "history_continuity": {
                    "const": "unknown"
                  },
                  "interval": {
                    "additionalProperties": false,
                    "properties": {
                      "clock": {
                        "const": "monotonic_seconds"
                      },
                      "finished": {
                        "type": "number"
                      },
                      "started": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "clock",
                      "started",
                      "finished"
                    ],
                    "type": "object"
                  },
                  "mode": {
                    "const": "delta"
                  },
                  "next_cursor": {
                    "type": "string"
                  },
                  "process_generation": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "reset": {
                    "type": "boolean"
                  },
                  "row_count": {
                    "maximum": 1000,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "scope": {
                    "additionalProperties": false,
                    "properties": {
                      "history_lines": {
                        "maximum": 1000,
                        "minimum": 0,
                        "type": "integer"
                      },
                      "max_bytes": {
                        "maximum": 262144,
                        "minimum": 1,
                        "type": "integer"
                      },
                      "max_lines": {
                        "maximum": 1000,
                        "minimum": 1,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "max_lines",
                      "max_bytes",
                      "history_lines"
                    ],
                    "type": "object"
                  },
                  "splice": {
                    "additionalProperties": false,
                    "properties": {
                      "delete": {
                        "minimum": 0,
                        "type": "integer"
                      },
                      "rows": {
                        "items": {
                          "type": "string"
                        },
                        "maxItems": 1000,
                        "type": "array"
                      },
                      "start": {
                        "minimum": 0,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "start",
                      "delete",
                      "rows"
                    ],
                    "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"
                      }
                    ]
                  },
                  "truncated": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "target",
                  "capture_id",
                  "process_generation",
                  "encoding",
                  "row_count",
                  "bytes",
                  "truncated",
                  "history_continuity",
                  "interval",
                  "scope",
                  "mode",
                  "base_capture_id",
                  "reset",
                  "splice",
                  "next_cursor"
                ],
                "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"
  }
  ```
