# move_pane

Source: https://libtmux.org/en/go/latest/mcp/tools/move_pane/

> Change tmux state; no client-supplied executable input. Moves a pane beside another pane or into another window, keeping its process and id, even for the caller's pane; refuses a window's only pane.

tool MCPlatest

MCP concept example

A working example of the core library. It can change without notice.

[What concept means](https://libtmux.org/en/meta/support/#concept-and-alpha)

* **move_pane**( [attach](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Fattach)?: [boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"), [direction](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Fdirection)?: "" | "below" | "above" | "right" | "left", [pane_id](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Fpane_id): [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), [target_pane_id](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Ftarget_pane_id)?: [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), [target_window_id](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Ftarget_window_id)?: [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), )

  tool \[[source](https://github.com/libtmux/libtmux-go/blob/068da4f165ba859294dac4cfbd77ee3f660ad78a/mcp/manifest_catalog.go#L403)][¶](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane)

  Change tmux state; no client-supplied executable input. Moves a pane beside another pane or into another window, keeping its process and id, even for the caller’s pane; refuses a window’s only pane.

  * MCP request method

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

  ## Arguments[#](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.parameters)

  * **[`attach`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Fattach)**? ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

    make the moved pane active in its new window

  * **[`direction`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Fdirection)**? ("" | "below" | "above" | "right" | "left")

    below, above, left, or right of the target

  * **[`pane_id`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Fpane_id)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

    the pane id to move, such as %1

  * **[`target_pane_id`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Ftarget_pane_id)**? ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

    the pane id to place it beside; give this or target_window_id

  * **[`target_window_id`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.input%2Fproperties%2Ftarget_window_id)**? ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

    the window id to move it into; give this or target_pane_id

  No other arguments are accepted.

  ## Result[#](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.result)

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

  * **[`paneId`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.output%2Fproperties%2FpaneId)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

  * **[`sessionId`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.output%2Fproperties%2FsessionId)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

  * **[`windowId`](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.output%2Fproperties%2FwindowId)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

  No other properties are accepted.

  ## Annotations[#](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.annotations)

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

    `true`

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

    `false`

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

    `true`

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

    `false`

  * [`title`](https://libtmux.org/en/go/latest/mcp/reference/glossary/#title)

    `"Move a pane"`

  ## Protocol data[#](https://libtmux.org/en/go/latest/mcp/tools/move_pane/#mcp.tool.move_pane.schemas)

  Use the complete advertised contract for validation and client integration.

  Input schema

  ```json
  {
    "additionalProperties": false,
    "properties": {
      "attach": {
        "description": "make the moved pane active in its new window",
        "type": "boolean"
      },
      "direction": {
        "description": "below, above, left, or right of the target",
        "enum": [
          "",
          "below",
          "above",
          "right",
          "left"
        ],
        "type": "string"
      },
      "pane_id": {
        "description": "the pane id to move, such as %1",
        "type": "string"
      },
      "target_pane_id": {
        "description": "the pane id to place it beside; give this or target_window_id",
        "type": "string"
      },
      "target_window_id": {
        "description": "the window id to move it into; give this or target_pane_id",
        "type": "string"
      }
    },
    "required": [
      "pane_id"
    ],
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "additionalProperties": false,
    "properties": {
      "paneId": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "windowId": {
        "type": "string"
      }
    },
    "required": [
      "paneId",
      "windowId",
      "sessionId"
    ],
    "type": "object"
  }
  ```
