Tools
Browse the operations the server exposes to MCP clients. Use the registered name and arguments when sending a tools/call request.
The reference configuration advertises 45 tools. Your server’s available objects depend on its configuration. Setup documentation explains how to connect a client.
This catalog uses POSIX. See platform limits for the Windows preview.
Server3 tools#
Create a detached session; names and path data are literalized before tmux expansion. Start a pane’s configured process; accepts no command payload.
Report liveness, tmux version, and the resolved socket when running. A daemon older than 3.3a is refused: upgrade tmux and restart the server, or stay on the previous libtmux release. Inspect tmux metadata; accepts no client-supplied executable input.
List stable session IDs, names, paths, and client counts. Inspect tmux metadata; accepts no client-supplied executable input.
Session5 tools#
Create a detached window; name and path data are literalized before tmux expansion. Start a pane’s configured process; accepts no command payload.
Return one session by stable ID or name. Inspect tmux metadata; accepts no client-supplied executable input.
Delete one session and every window it owns. Delete tmux state; accepts no command payload.
List windows through an exact owning session. Inspect tmux metadata; accepts no client-supplied executable input.
Replace one session name. Change tmux state; no client-supplied executable input.
Window9 tools#
Return one window by stable ID. Inspect tmux metadata; accepts no client-supplied executable input.
Delete one window and every pane it owns. Delete tmux state; accepts no command payload.
List every pane with stable pane, window, and session IDs. Inspect tmux metadata; accepts no client-supplied executable input.
Move a window to an exact index in its owning session. Change tmux state; no client-supplied executable input.
Replace one window name. Change tmux state; no client-supplied executable input.
Replace one window’s dimensions. Change tmux state; no client-supplied executable input.
Replace the pane layout of one window. Names and mirrored layouts follow the selected daemon version. Saved layouts accept v1 checksums and v2 JSON; v2 requires tmux 3.8-rc2 or newer. Change tmux state; no client-supplied executable input.
Make one window active. Change tmux state; no client-supplied executable input.
Create a configured-process pane; path data is literalized before tmux expansion. Start a pane’s configured process; accepts no command payload.
Pane18 tools#
Return visible text, or retained history when requested. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.
Return bytes after a bounded client cursor and a replacement cursor. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.
Irreversibly discard retained scrollback for one pane. Delete tmux state; accepts no command payload.
Resolve coordinates using fixed tmux layout fields. Inspect tmux metadata; accepts no client-supplied executable input.
Return one pane by stable ID. Inspect tmux metadata; accepts no client-supplied executable input.
Delete one pane and its running process. Delete tmux state; accepts no command payload.
Require the target pane to be live and outside human-owned mode, then stage a private target-only buffer, optionally append Enter, paste it once, and verify cleanup. Empty text without Enter is a guarded buffer-free no-op. Send input to a pane’s program; a shell that receives it runs it with your user’s permissions.
Replace one or both pane dimensions. Change tmux state; no client-supplied executable input.
Restart only the pane’s configured process; no caller command is accepted. Start a pane’s configured process; accepts no command payload.
Require one live configured pane, outside human-owned mode and running a supported POSIX foreground shell, then send one command and return output after its private completion boundary. Run a shell command in a pane with your user’s permissions.
Search captured lines using a length-limited expression. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.
Make one pane active. Change tmux state; no client-supplied executable input.
Require every configured synchronized pane to be live and outside human-owned mode, then send one validated tmux key name. Send input to a pane’s program; a shell that receives it runs it with your user’s permissions.
Preflight each row’s configured synchronized pane cohort independently, requiring every pane to be live and outside human-owned mode before its text or key and optional Enter. Send input to a pane’s program; a shell that receives it runs it with your user’s permissions.
Replace one pane title. Change tmux state; no client-supplied executable input.
Set the inherited window synchronize-panes default; pane-level overrides determine effective synchronized input membership. Change tmux state; no client-supplied executable input.
Return pane metadata and visible terminal content from one call. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.
Exchange two pane positions without changing their IDs. Change tmux state; no client-supplied executable input.
Hooks1 tool#
Read configured hooks, optionally filtered by exact name. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.
Options and environment4 tools#
Replace retained-history bounds with a non-negative integer. Change tmux state; no client-supplied executable input.
Replace the global mouse option with a typed boolean. Change tmux state; no client-supplied executable input.
Read global or session environment values. Read the tmux environment; accepts no client-supplied executable input. Returned values may contain secrets.
Read one exact option without accepting an option value. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.
Coordination2 tools#
Release or latch one named server-side channel. Change tmux state; no client-supplied executable input.
Wait for a named server-side channel with an optional deadline. Change tmux state; no client-supplied executable input.
Other tools3 tools#
Run up to sixteen declared inspect operations serially under this one call; inner operations receive no separate approval. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.
Expand only validated variable identifiers, never a caller format. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.
Discount this server’s pending input and recent submitted echoes; unmodelled keys stop tracking the current line. Wait for a new shell’s prompt before typing. matched_at_entry reports visible text at entry; a mode ending in -unconfirmed identifies input that was still unconfirmed at the deadline. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.
Resources
1 advertised in the reference configuration.
Resource templates
This server does not advertise resource templates in the reference configuration.
Prompts
This server does not advertise prompts in the reference configuration.
Reference configuration
LIBTMUX_TOOLSETSinspect,manage,execute,teardown
Protocol version: 2025-11-25. Download the full protocol catalog.
Source: libtmux/libtmux-cxx@9645e54239e0.
The language API reference documents embedding and implementation types.