# swap_pane

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

> Change tmux state; no client-supplied executable input. Swap two panes without changing their identities.

MCP is in development

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

Change tmux state; no client-supplied executable input. Swap two panes without changing their identities.

[All Swift tools](https://libtmux.org/en/swift/latest/mcp/tools/) · [JSON](https://libtmux.org/en/swift/latest/mcp/tools/swap_pane.json) · [Source](https://github.com/libtmux/libtmux-swift/blob/63551afeae8ea3d272e5262208b87735888daf5f/Sources/LibTmuxMCP/ToolOperation.swift#L34)

## Arguments

* `otherPaneId` required · string

  Caller-controlled otherPaneId.

* `paneId` required · string

  Caller-controlled paneId.

## Schemas

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

Input schema

```json
{
  "additionalProperties": false,
  "properties": {
    "otherPaneId": {
      "description": "Caller-controlled otherPaneId.",
      "type": "string"
    },
    "paneId": {
      "description": "Caller-controlled paneId.",
      "type": "string"
    }
  },
  "required": [
    "otherPaneId",
    "paneId"
  ],
  "type": "object"
}
```

Output schema

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

Tool annotations

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