# list_panes

Source: https://libtmux.org/en/ts/latest/mcp/tools/list_panes/

> Inspect tmux metadata; accepts no client-supplied executable input. Panes on this server, with the command each is running and its directory. Marks the pane this server runs in (isCallerPane) and panes a person is watching (isAttended). Metadata only — search_panes reads their contents.

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)

* **list_panes**( [session](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.input%2Fproperties%2Fsession)?: [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), [window](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.input%2Fproperties%2Fwindow)?: [string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"), )

  tool \[[source](https://github.com/libtmux/libtmux-ts/blob/46cccfef2a546de55ce8b308249b8c76339089a0/packages/mcp/src/tools/discovery.ts#L150)][¶](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes)

  Inspect tmux metadata; accepts no client-supplied executable input. Panes on this server, with the command each is running and its directory. Marks the pane this server runs in (isCallerPane) and panes a person is watching (isAttended). Metadata only — [search_panes](https://libtmux.org/en/ts/latest/mcp/tools/search_panes/) reads their contents.

  * MCP request method

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

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

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

    Session id ($1) or name.

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

    Stable window id, e.g. @1.

    * pattern

      `"^@\\d+$"`

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

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

  * **[`complete`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fcomplete)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

  * **[`omittedEntries`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2FomittedEntries)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

    * minimum

      `-9007199254740991`

    * maximum

      `9007199254740991`

  * **[`panes`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes)** ([Array](https://json-schema.org/understanding-json-schema/reference/array "array (JSON Schema)")<[object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)")>)

    * **[Items](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems)** ([object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)"))

      * **[`active`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Factive)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

        Whether this is its window’s active pane.

      * **[`command`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fcommand)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

        The command tmux reports running in it.

      * **[`cwd`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fcwd)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

        Its current working directory.

      * **[`dead`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fdead)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

        Whether its process exited and remain-on-exit kept it.

      * **[`height`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fheight)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

        * minimum

          `-9007199254740991`

        * maximum

          `9007199254740991`

      * **[`id`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fid)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

        Stable pane id. Prefer this for entity-scoped targeting.

        * pattern

          `"^%\\d+$"`

      * **[`index`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Findex)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

        * minimum

          `-9007199254740991`

        * maximum

          `9007199254740991`

      * **[`isAttended`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FisAttended)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

        A person is currently looking at this pane.

      * **[`isCallerPane`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FisCallerPane)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

        This is the pane this MCP server runs in.

      * **[`metadataComplete`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FmetadataComplete)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

        Whether every projected metadata string is complete.

      * **[`omittedMetadataBytes`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FomittedMetadataBytes)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

        UTF-8 bytes omitted from projected metadata strings.

        * minimum

          `0`

        * maximum

          `9007199254740991`

      * **[`omittedPlacements`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FomittedPlacements)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

        Later placements omitted.

        * minimum

          `0`

        * maximum

          `9007199254740991`

      * **[`placements`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fplacements)** ([Array](https://json-schema.org/understanding-json-schema/reference/array "array (JSON Schema)")<[object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)")>)

        Retained session and window indexes through which this pane is reachable.

        * **[Items](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fplacements%2Fitems)** ([object](https://json-schema.org/understanding-json-schema/reference/object "object (JSON Schema)"))

          * **[`index`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fplacements%2Fitems%2Fproperties%2Findex)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

            The window index in this session.

            * minimum

              `-9007199254740991`

            * maximum

              `9007199254740991`

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

            Stable session id, e.g. $1.

            * pattern

              `"^\\$\\d+$"`

          * **[`sessionName`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fplacements%2Fitems%2Fproperties%2FsessionName)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

          No other properties are accepted.

      * **[`placementsComplete`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FplacementsComplete)** ([boolean](https://json-schema.org/understanding-json-schema/reference/boolean "boolean (JSON Schema)"))

        Whether placements contains every placement.

      * **[`title`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Ftitle)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

      * **[`width`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2Fwidth)** ([integer](https://json-schema.org/understanding-json-schema/reference/numeric "numeric (JSON Schema)"))

        * minimum

          `-9007199254740991`

        * maximum

          `9007199254740991`

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

        Stable window id, e.g. @1.

        * pattern

          `"^@\\d+$"`

      * **[`windowName`](https://libtmux.org/en/ts/latest/mcp/tools/list_panes/#mcp.tool.list_panes.output%2Fproperties%2Fpanes%2Fitems%2Fproperties%2FwindowName)** ([string](https://json-schema.org/understanding-json-schema/reference/string "string (JSON Schema)"))

      No other properties are accepted.

  No other properties are accepted.

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

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

    `true`

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

    `false`

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

    `true`

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

    `false`

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

  Use the complete advertised contract for validation and client integration.

  Input schema

  ```json
  {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
      "session": {
        "description": "Session id ($1) or name.",
        "type": "string"
      },
      "window": {
        "description": "Stable window id, e.g. @1.",
        "pattern": "^@\\d+$",
        "type": "string"
      }
    },
    "type": "object"
  }
  ```

  Output schema

  ```json
  {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "complete": {
        "type": "boolean"
      },
      "omittedEntries": {
        "maximum": 9007199254740991,
        "minimum": -9007199254740991,
        "type": "integer"
      },
      "panes": {
        "items": {
          "additionalProperties": false,
          "properties": {
            "active": {
              "description": "Whether this is its window's active pane.",
              "type": "boolean"
            },
            "command": {
              "description": "The command tmux reports running in it.",
              "type": "string"
            },
            "cwd": {
              "description": "Its current working directory.",
              "type": "string"
            },
            "dead": {
              "description": "Whether its process exited and remain-on-exit kept it.",
              "type": "boolean"
            },
            "height": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "id": {
              "description": "Stable pane id. Prefer this for entity-scoped targeting.",
              "pattern": "^%\\d+$",
              "type": "string"
            },
            "index": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "isAttended": {
              "description": "A person is currently looking at this pane.",
              "type": "boolean"
            },
            "isCallerPane": {
              "description": "This is the pane this MCP server runs in.",
              "type": "boolean"
            },
            "metadataComplete": {
              "description": "Whether every projected metadata string is complete.",
              "type": "boolean"
            },
            "omittedMetadataBytes": {
              "description": "UTF-8 bytes omitted from projected metadata strings.",
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            },
            "omittedPlacements": {
              "description": "Later placements omitted.",
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            },
            "placements": {
              "description": "Retained session and window indexes through which this pane is reachable.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "index": {
                    "description": "The window index in this session.",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991,
                    "type": "integer"
                  },
                  "sessionId": {
                    "description": "Stable session id, e.g. $1.",
                    "pattern": "^\\$\\d+$",
                    "type": "string"
                  },
                  "sessionName": {
                    "type": "string"
                  }
                },
                "required": [
                  "index",
                  "sessionId",
                  "sessionName"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "placementsComplete": {
              "description": "Whether placements contains every placement.",
              "type": "boolean"
            },
            "title": {
              "type": "string"
            },
            "width": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "windowId": {
              "description": "Stable window id, e.g. @1.",
              "pattern": "^@\\d+$",
              "type": "string"
            },
            "windowName": {
              "type": "string"
            }
          },
          "required": [
            "active",
            "command",
            "cwd",
            "dead",
            "height",
            "id",
            "index",
            "isAttended",
            "isCallerPane",
            "metadataComplete",
            "omittedMetadataBytes",
            "omittedPlacements",
            "placements",
            "placementsComplete",
            "title",
            "width",
            "windowId",
            "windowName"
          ],
          "type": "object"
        },
        "type": "array"
      }
    },
    "required": [
      "complete",
      "omittedEntries",
      "panes"
    ],
    "type": "object"
  }
  ```
