Tools¶
Targeted tmux tools accept an optional socket_name parameter for
multi-server support. It defaults to the LIBTMUX_SOCKET env
var. list_servers discovers sockets itself, and batch tools
leave socket selection inside each nested tool’s arguments. See
Configuration.
Which tool do I want?¶
Reading terminal content?
Re-reading the same pane while it changes? →
capture_sinceinspectNeed a one-shot read of a known pane? →
capture_paneinspectNeed text + cursor + mode in one call? →
snapshot_paneinspectDon’t know which pane? →
search_panesinspectNeed to wait for specific output? →
wait_for_textinspectNeed to wait for any new output? →
wait_for_textinspect withpatterns=nullOnly need metadata (PID, path, size)? →
get_pane_infoinspectNeed an arbitrary tmux variable? →
display_messageinspect
Targeting a pane by layout?
“The bottom-right pane”, “top-left”, any corner →
find_pane_by_positioninspectAlready know the
pane_id→ use it directly
Running a command?
run_commandexecute — one call to run a shell command, wait for completion, capture output, and return exit statussend_keysexecute /send_keys_batchexecute — raw interactive input for TUIs, control keys, and persistent shell statewait_for_channelmanage — low-level custom completion whenrun-commanddoes not fit the shell compositionFor output the agent does not author (third-party logs, daemon prompts), use
wait_for_textinspect orcapture_sinceinspectPasting multi-line text? →
paste_textexecute
Creating workspace structure?
New session →
create_sessionexecuteNew window →
create_windowexecuteNew pane →
split_windowexecute
Navigating?
Switch pane →
select_panemanage (by ID or direction)Switch window →
select_windowmanage (by ID, index, or direction)
Rearranging layout?
Swap two panes →
swap_panemanageMove window →
move_windowmanageChange layout →
select_layoutmanage
Scrollback / copy mode?
Enter copy mode →
enter_copy_modemanageExit copy mode →
exit_copy_modemanageLog output to file →
pipe_paneexecute
Coordinating across panes?
Block until signalled →
wait_for_channelmanageSignal a waiter →
signal_channelmanage
Batching typed tool calls?
Several
inspectcalls →call_read_tools_batchinspectAnything that writes → call the tool directly; a batch would hide its name from a client rule keyed on it
Staging multi-line input?
Stage content →
load_buffermanagePush into pane →
paste_bufferexecuteRead back →
show_bufferinspectFree server state →
delete_bufferteardown
Auditing tmux hooks?
Enumerate →
show_hooksinspectInspect one →
show_hookinspect
Changing settings?
tmux options →
show_optioninspect /set_optionexecuteEnvironment vars →
show_environmentinspect /set_environmentexecute
Reaching for a workflow recipe? The server also ships four short MCP prompts the client renders for the model — see Prompts. They cover the most common patterns (run-and-wait, diagnose-failing-pane, build-dev-workspace, interrupt-gracefully) with embedded UUID-scoped wait channels and shell-agnostic guidance.
Inspect inspect¶
Request tmux state or terminal output, or render server-local prompt text. The built-in operation does not pass caller input as a tmux or shell command. Configured tmux aliases and hooks may still execute; see Trust model.
List all active sessions.
List windows in a session.
List panes in a window.
Read visible content of a pane.
Start a cursor, then read only new pane output.
Get detailed pane metadata.
Get detailed session metadata.
Get detailed window metadata.
Resolve “the bottom-right pane” (or any corner) to a PaneInfo.
Search text across panes.
Wait for text to appear in a pane.
Get tmux server info.
Call typed inspect tools in order.
Discover live tmux servers under $TMUX_TMPDIR.
Query a tmux option value.
Show tmux environment variables.
Rich capture: content + cursor + mode + scroll.
Read literal text and validated tmux variables.
Read back an MCP-staged paste buffer.
Enumerate configured tmux hooks at a scope.
Inspect a single tmux hook by name.
Manage manage¶
Change tmux-managed structure, presentation, staging, or coordination state. The built-in operation does not supply a shell command, pane input, or a value tmux treats as executable configuration. Configured aliases and hooks may still execute; see Trust model.
Rename a session.
Rename a window.
Adjust pane dimensions.
Adjust window dimensions.
Set window layout.
Set pane title.
Focus a pane by ID or direction.
Focus a window by ID, index, or direction.
Exchange positions of two panes.
Move window to another index or session.
Enter copy mode for scrollback.
Exit copy mode.
Stage multi-line text into an MCP-namespaced tmux buffer.
Block until a tmux wait-for channel is signalled.
Wake clients blocked on a wait-for channel.
Execute execute¶
Start a pane process, deliver input to one, or store state that can control later execution.
Start a new tmux session.
Add a window to a session.
Split a window into panes.
Send raw keystrokes to a pane.
Send several ordered raw-input operations.
Run a shell command and report exit status.
Restart a pane’s process, keeping its pane_id.
Set a tmux option.
Set a tmux environment variable.
Stream pane output to a file.
Paste multi-line text via tmux buffer.
Paste an MCP buffer into a target pane.
Teardown teardown¶
Delete tmux objects or retained scrollback. Not reversible.
Clear pane content and scrollback.
Destroy a session and all its windows.
Destroy a window and all its panes.
Destroy a pane.
Kill the entire tmux server.
Delete an MCP-staged tmux paste buffer.