{
  "name": "load_buffer",
  "wireName": "load_buffer",
  "source": {
    "repo": "tmux-python/libtmux-mcp",
    "revision": "4daddc0dfca96c43bf521d818bf91564e1434760",
    "extractedRevision": "4daddc0dfca96c43bf521d818bf91564e1434760",
    "file": "src/libtmux_mcp/tools/buffer_tools.py",
    "line": 386
  },
  "description": "Load text into a new agent-namespaced tmux paste buffer.\n\nEach call allocates a fresh buffer name — two concurrent calls will\nland in distinct buffers even if they pass the same ``logical_name``.\nAgents MUST use the returned\n:attr:`~libtmux_mcp.models.BufferRef.buffer_name` on\nsubsequent paste/show/delete calls.\n\n**When to use this vs. paste_text:** ``load_buffer`` is the\nstage-then-fire path — you get a handle back and can inspect via\n``show_buffer``, paste into multiple panes via ``paste_buffer``,\nor hold the content for later. Use ``paste_text`` for a simple\none-shot paste with no follow-up.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "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"
  },
  "outputSchema": {
    "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"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false
  },
  "meta": {
    "fastmcp": {
      "tags": [
        "manage"
      ]
    }
  }
}
