# swap_pane

Source: https://libtmux.org/en/cxx/latest/mcp/tools/swap_pane/

> Exchange two pane positions without changing their IDs. Change tmux state; no client-supplied executable input.

MCP is in development

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

Exchange two pane positions without changing their IDs. Change tmux state; no client-supplied executable input.

[All C++ tools](https://libtmux.org/en/cxx/latest/mcp/tools/) · [JSON](https://libtmux.org/en/cxx/latest/mcp/tools/swap_pane.json) · [Source](https://github.com/libtmux/libtmux-cxx/blob/96f367a6fe247e4e5ebddd4a52ca5d5f9d07c0ec/apps/mcp/src/tool_catalog.cpp#L2435)

## Arguments

* `sourcePaneId` required · string

  Stable source pane ID.

* `targetPaneId` required · string

  Stable target pane ID.

## Schemas

The schema defines required fields, nested values, defaults, and validation constraints.

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "sourcePaneId": {
      "description": "Stable source pane ID.",
      "maxLength": 512,
      "type": "string"
    },
    "targetPaneId": {
      "description": "Stable target pane ID.",
      "maxLength": 512,
      "type": "string"
    }
  },
  "required": [
    "sourcePaneId",
    "targetPaneId"
  ],
  "type": "object"
}
```

Output schema

```json
{
  "additionalProperties": true,
  "type": "object"
}
```

Tool annotations

```json
{
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true,
  "readOnlyHint": false,
  "title": "Swap two tmux panes"
}
```
