# load_buffer

Source: https://libtmux.org/en/py/stable/mcp/tools/load_buffer/

> Load text into a new agent-namespaced tmux paste buffer.

tool MCPstable

MCP is in development

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

* **load_buffer**( [content](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.input%2Fproperties%2Fcontent): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), [logical_name](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.input%2Fproperties%2Flogical_name)?: [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)"), [socket_name](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.input%2Fproperties%2Fsocket_name)?: [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)"), )

  tool \[[source](https://github.com/tmux-python/libtmux-mcp/blob/4daddc0dfca96c43bf521d818bf91564e1434760/src/libtmux_mcp/tools/buffer_tools.py#L386)][¶](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer)

  Load text into a new agent-namespaced tmux paste buffer.

  Each call allocates a fresh buffer name — two concurrent calls will land in distinct buffers even if they pass the same `logical_name`. Agents MUST use the returned [`buffer_name`](https://libtmux.org/en/py/stable/mcp/reference/libtmux_mcp-models-bufferref-buffer_name/) on subsequent paste/show/delete calls.

  **When to use this vs. [paste_text](https://libtmux.org/en/py/stable/mcp/tools/paste_text/):** `load_buffer` is the stage-then-fire path — you get a handle back and can inspect via [`show_buffer`](https://libtmux.org/en/py/stable/mcp/tools/show_buffer/), paste into multiple panes via [`paste_buffer`](https://libtmux.org/en/py/stable/mcp/tools/paste_buffer/), or hold the content for later. Use [`paste_text`](https://libtmux.org/en/py/stable/mcp/tools/paste_text/) for a simple one-shot paste with no follow-up.

  * MCP request method

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

  ## Arguments[#](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.parameters)

  * **[`content`](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.input%2Fproperties%2Fcontent)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

    The text to stage. Can be multi-line. Redacted in audit logs.

  * **[`logical_name`](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.input%2Fproperties%2Flogical_name)**? = `null` ([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)"))

    Short label for the buffer. Limited to `[A-Za-z0-9_.-]{1,64}` so the final name stays safe on the tmux command line. Empty or `None` uses `"buf"`.

  * **[`socket_name`](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.input%2Fproperties%2Fsocket_name)**? = `null` ([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)"))

    tmux socket name.

  No other arguments are accepted.

  ## Result[#](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.result)

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

  * **[`buffer_name`](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.output%2Fproperties%2Fbuffer_name)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

    The actual tmux buffer name (with prefix and UUID nonce). Pass this back to [paste_buffer](https://libtmux.org/en/py/stable/mcp/tools/paste_buffer/)/[show_buffer](https://libtmux.org/en/py/stable/mcp/tools/show_buffer/)/[delete_buffer](https://libtmux.org/en/py/stable/mcp/tools/delete_buffer/).

  * **[`logical_name`](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.output%2Fproperties%2Flogical_name)**? = `null` ([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)"))

    Optional logical name supplied by the caller, if any.

  ## Annotations[#](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.annotations)

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

    `true`

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

    `false`

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

    `true`

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

    `false`

  ## Protocol data[#](https://libtmux.org/en/py/stable/mcp/tools/load_buffer/#mcp.tool.load_buffer.schemas)

  Use the complete advertised contract for validation and client integration.

  Input schema

  ```json
  {
    "additionalProperties": false,
    "properties": {
      "content": {
        "description": "The text to stage. Can be multi-line. Redacted in audit logs.",
        "type": "string"
      },
      "logical_name": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Short label for the buffer. Limited to\n``[A-Za-z0-9_.-]{1,64}`` so the final name stays safe on the\ntmux command line. Empty or ``None`` uses ``\"buf\"``."
      },
      "socket_name": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "tmux socket name."
      }
    },
    "required": [
      "content"
    ],
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "description": "Handle returned by :func:`~libtmux_mcp.tools.buffer_tools.load_buffer`.\n\nAgent-created tmux paste buffers are namespaced with a per-call UUID\nto avoid collisions on the server-global buffer namespace when\nconcurrent agents (or parallel tool calls from a single agent) are\nstaging content. Callers must use the ``buffer_name`` this model\ncarries on subsequent\n:func:`~libtmux_mcp.tools.buffer_tools.paste_buffer`,\n:func:`~libtmux_mcp.tools.buffer_tools.show_buffer`, and\n:func:`~libtmux_mcp.tools.buffer_tools.delete_buffer` calls.",
    "properties": {
      "buffer_name": {
        "description": "The actual tmux buffer name (with prefix and UUID nonce). Pass this back to paste_buffer/show_buffer/delete_buffer.",
        "type": "string"
      },
      "logical_name": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Optional logical name supplied by the caller, if any."
      }
    },
    "required": [
      "buffer_name"
    ],
    "type": "object"
  }
  ```
