{
  "name": "split_window",
  "wireName": "split_window",
  "source": {
    "repo": "libtmux/libtmux-rs",
    "revision": "f0e37052c232636b61d095817046e6bfc8f2ca40",
    "extractedRevision": "7a5def5921b12f58d47327cf625c039de5fa8ea7",
    "file": "crates/tmux-mcp/src/tools/contract.rs",
    "line": 964
  },
  "description": "Split a window and start the configured process with no command payload. Start a pane's configured process; accepts no command payload.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "$defs": {
      "SplitDirectionSchema": {
        "enum": [
          "above",
          "below",
          "left",
          "right"
        ],
        "type": "string"
      }
    },
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false,
    "properties": {
      "direction": {
        "anyOf": [
          {
            "$ref": "#/$defs/SplitDirectionSchema"
          },
          {
            "type": "null"
          }
        ],
        "description": "Where the new pane goes relative to `pane`. Defaults to `below`."
      },
      "pane": {
        "description": "The `%`-prefixed pane to split.",
        "type": "string"
      },
      "percent": {
        "description": "The new pane's share of the split, 1 to 100. Defaults to half.",
        "minimum": 0,
        "type": [
          "integer",
          "null"
        ]
      },
      "start_directory": {
        "description": "The new pane's working directory. Omit for the directory this MCP\nserver started in, not `pane`'s current directory.",
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "pane"
    ],
    "type": "object"
  },
  "outputSchema": {
    "$defs": {
      "Relation": {
        "description": "How a pane relates to the process answering the request.\n\nThree values rather than a boolean, because \"not the caller's pane\" and\n\"there is no caller\" are different answers and an agent acts differently on\neach.",
        "oneOf": [
          {
            "const": "unknown",
            "description": "This process is not running inside tmux, so no pane is its own.",
            "type": "string"
          },
          {
            "const": "self",
            "description": "Confirmed: the same tmux server, and the same pane.",
            "type": "string"
          },
          {
            "const": "other",
            "description": "Some other pane, or a pane this crate cannot prove is the caller's.",
            "type": "string"
          }
        ]
      }
    },
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "properties": {
      "active": {
        "description": "Whether this is the window's active pane.",
        "type": "boolean"
      },
      "caller": {
        "$ref": "#/$defs/Relation",
        "description": "Whether this is the pane the MCP server itself runs in.\n\n`self` only on a confirmed match of both socket and pane id; `other`\nfor every pane that is not, including one this crate cannot prove\neither way; `unknown` when the server is not running inside tmux, so\nthe question has no answer."
      },
      "command": {
        "description": "The command currently running.",
        "type": [
          "string",
          "null"
        ]
      },
      "id": {
        "description": "The `%`-prefixed tmux identity.",
        "type": "string"
      },
      "path": {
        "description": "The pane's working directory.",
        "type": [
          "string",
          "null"
        ]
      },
      "window_id": {
        "description": "The window that contains the pane.",
        "type": "string"
      }
    },
    "required": [
      "id",
      "window_id",
      "active",
      "caller"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": false,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Split Window"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "inputLiteralization": {
        "start_directory": "double-hash-once"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "processReach": "configured-process",
      "tmuxEffects": [
        "change"
      ],
      "toolset": "execute"
    }
  }
}
