find_pane_by_position
- find_pane_by_position( corner: "top-left" | "top-right" | "bottom-left" | "bottom-right", session_id?: string | null, session_name?: string | null, socket_name?: string | null, window_id?: string | null, window_index?: string | null, )
-
Find the pane occupying a corner of a tmux window.
Composes the four
pane_at_*predicates so callers can target a layout-relative position (e.g. “the bottom-right pane”) in one round-trip instead of listing every pane and computing the geometry. Resolves the window the same way as the other window-scoped tools.- MCP request method
tools/callSendfind_pane_by_positionas the tool name, with the arguments below.
Arguments#
-
corner("top-left" | "top-right" | "bottom-left" | "bottom-right") #One of
'top-left','top-right','bottom-left','bottom-right'. -
session_id? =null(string | null) #Session ID.
-
session_name? =null(string | null) #Session name.
-
socket_name? =null(string | null) #tmux socket name.
-
window_id? =null(string | null) #Window ID (e.g. ‘@1’).
-
window_index? =null(string | null) #Window index. Requires session_name or session_id.
No other arguments are accepted.
Result#
Returns object
-
is_caller? =null(boolean | null) #MCP caller identity for this pane.
Truewhen the pane matches the caller’sTMUX_PANEand lives on the same tmux socket as the caller’sTMUX(verified via socket realpath);Falseotherwise, including the case where the pane id matches but the socket does not or cannot be proven to;Nonewhen the MCP process is not running inside tmux at all. -
pane_active? =null(string | null) #Active flag (‘1’ or ‘0’)
-
pane_at_bottom? =null(boolean | null) #True when the pane touches the window’s bottom edge.
-
pane_at_left? =null(boolean | null) #True when the pane touches the window’s left edge.
-
pane_at_right? =null(boolean | null) #True when the pane touches the window’s right edge.
-
pane_at_top? =null(boolean | null) #True when the pane touches the window’s top edge. tmux accounts for
pane-border-statushere, so the top row may be 1 instead of 0 when the status bar is at the top. -
pane_bottom? =null(integer | null) #Bottom edge row (inclusive), window-relative.
-
pane_current_command? =null(string | null) #Running command
-
pane_current_path? =null(string | null) #Current working directory
-
pane_height? =null(string | null) #Height in rows
-
Pane ID (e.g. ‘%1’)
-
pane_index? =null(string | null) #Pane index
-
pane_left? =null(integer | null) #Left edge column, 0-based and window-relative.
-
pane_pid? =null(string | null) #Process ID
-
pane_right? =null(integer | null) #Right edge column (inclusive), window-relative.
-
pane_title? =null(string | null) #Pane title
-
pane_top? =null(integer | null) #Top edge row, 0-based and window-relative.
-
pane_tty? =null(string | null) #TTY device path of the pane (e.g. ‘/dev/pts/5’).
-
pane_width? =null(string | null) #Width in columns
-
session_id? =null(string | null) #Parent session ID
-
window_id? =null(string | null) #Parent window ID
Annotations#
destructiveHinttrueidempotentHintfalseopenWorldHinttruereadOnlyHintfalse
Protocol data#
Use the complete advertised contract for validation and client integration.
Input schema
{"additionalProperties": false,"properties": {"corner": {"description": "One of ``'top-left'``, ``'top-right'``, ``'bottom-left'``,\n``'bottom-right'``.","enum": ["top-left","top-right","bottom-left","bottom-right"],"type": "string"},"session_id": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Session ID."},"session_name": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Session name."},"socket_name": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "tmux socket name."},"window_id": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Window ID (e.g. '@1')."},"window_index": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Window index. Requires session_name or session_id."}},"required": ["corner"],"type": "object"}Output schema
{"description": "Serialized tmux pane.","properties": {"is_caller": {"anyOf": [{"type": "boolean"},{"type": "null"}],"default": null,"description": "MCP caller identity for this pane. ``True`` when the pane matches the caller's ``TMUX_PANE`` *and* lives on the same tmux socket as the caller's ``TMUX`` (verified via socket realpath); ``False`` otherwise, including the case where the pane id matches but the socket does not or cannot be proven to; ``None`` when the MCP process is not running inside tmux at all."},"pane_active": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Active flag ('1' or '0')"},"pane_at_bottom": {"anyOf": [{"type": "boolean"},{"type": "null"}],"default": null,"description": "True when the pane touches the window's bottom edge."},"pane_at_left": {"anyOf": [{"type": "boolean"},{"type": "null"}],"default": null,"description": "True when the pane touches the window's left edge."},"pane_at_right": {"anyOf": [{"type": "boolean"},{"type": "null"}],"default": null,"description": "True when the pane touches the window's right edge."},"pane_at_top": {"anyOf": [{"type": "boolean"},{"type": "null"}],"default": null,"description": "True when the pane touches the window's top edge. tmux accounts for ``pane-border-status`` here, so the top row may be 1 instead of 0 when the status bar is at the top."},"pane_bottom": {"anyOf": [{"type": "integer"},{"type": "null"}],"default": null,"description": "Bottom edge row (inclusive), window-relative."},"pane_current_command": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Running command"},"pane_current_path": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Current working directory"},"pane_height": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Height in rows"},"pane_id": {"description": "Pane ID (e.g. '%1')","type": "string"},"pane_index": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Pane index"},"pane_left": {"anyOf": [{"type": "integer"},{"type": "null"}],"default": null,"description": "Left edge column, 0-based and window-relative."},"pane_pid": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Process ID"},"pane_right": {"anyOf": [{"type": "integer"},{"type": "null"}],"default": null,"description": "Right edge column (inclusive), window-relative."},"pane_title": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Pane title"},"pane_top": {"anyOf": [{"type": "integer"},{"type": "null"}],"default": null,"description": "Top edge row, 0-based and window-relative."},"pane_tty": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "TTY device path of the pane (e.g. '/dev/pts/5')."},"pane_width": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Width in columns"},"session_id": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Parent session ID"},"window_id": {"anyOf": [{"type": "string"},{"type": "null"}],"default": null,"description": "Parent window ID"}},"required": ["pane_id"],"type": "object"}