{
  "name": "pipe_pane",
  "wireName": "pipe_pane",
  "source": {
    "repo": "tmux-python/libtmux-mcp",
    "revision": "4daddc0dfca96c43bf521d818bf91564e1434760",
    "extractedRevision": "4daddc0dfca96c43bf521d818bf91564e1434760",
    "file": "src/libtmux_mcp/tools/pane_tools/__init__.py",
    "line": 174
  },
  "description": "Log a pane's live output to a file (or stop an active log).\n\nStreams everything written to the pane (stdout plus terminal\ncontrol sequences) into a file on disk — the common use is\n``output_path=\"/tmp/pane.log\"`` to capture scrollback continuously\nwhile the agent watches for errors. When ``output_path`` is given,\nstarts logging; when ``output_path`` is None, stops any active pipe\nfor the pane.\n\n.. warning::\n   This tool writes to arbitrary filesystem paths chosen by the MCP\n   client. There is no allow-list; the server will create files\n   anywhere the server process has write access. Treat this as\n   elevated-risk: it is the broadest-reach tool in ``execute``. If\n   you run libtmux-mcp on untrusted input, consider\n   ``LIBTMUX_TOOLSETS=inspect`` or run the server under a user with\n   a scoped home directory. See :doc:`/topics/trust` for the full\n   footgun list.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "append": {
        "default": true,
        "description": "Whether to append to the file. Default True. If False, overwrites.",
        "type": "boolean"
      },
      "output_path": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "File path to write output to. None stops piping."
      },
      "pane_id": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Pane ID (e.g. '%1')."
      },
      "session_id": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Session ID for pane resolution."
      },
      "session_name": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Session name for pane resolution."
      },
      "socket_name": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "tmux socket name."
      },
      "window_id": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Window ID for pane resolution."
      }
    },
    "type": "object"
  },
  "outputSchema": {
    "properties": {
      "result": {
        "type": "string"
      }
    },
    "required": [
      "result"
    ],
    "type": "object",
    "x-fastmcp-wrap-result": true
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false
  },
  "meta": {
    "fastmcp": {
      "tags": [
        "execute"
      ]
    }
  }
}
