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_sincereadonlyNeed a one-shot read of a known pane? →
capture_panereadonlyNeed text + cursor + mode in one call? →
snapshot_panereadonlyDon’t know which pane? →
search_panesreadonlyNeed to wait for specific output? →
wait_for_textreadonlyNeed to wait for any change? →
wait_for_content_changereadonlyOnly need metadata (PID, path, size)? →
get_pane_inforeadonlyNeed an arbitrary tmux variable? →
display_messagereadonly
Targeting a pane by layout?
“The bottom-right pane”, “top-left”, any corner →
find_pane_by_positionreadonlyAlready know the
pane_id→ use it directly
Running a command?
run_commandmutating — one call to run a shell command, wait for completion, capture output, and return exit statussend_keysmutating /send_keys_batchmutating — raw interactive input for TUIs, control keys, and persistent shell statewait_for_channelmutating — 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_textreadonly,wait_for_content_changereadonly, orcapture_sincereadonlyPasting multi-line text? →
paste_textmutating
Creating workspace structure?
New session →
create_sessionmutatingNew window →
create_windowmutatingNew pane →
split_windowmutating
Navigating?
Switch pane →
select_panemutating (by ID or direction)Switch window →
select_windowmutating (by ID, index, or direction)
Rearranging layout?
Swap two panes →
swap_panemutatingMove window →
move_windowmutatingChange layout →
select_layoutmutating
Scrollback / copy mode?
Enter copy mode →
enter_copy_modemutatingExit copy mode →
exit_copy_modemutatingLog output to file →
pipe_panemutating
Coordinating across panes?
Block until signalled →
wait_for_channelmutatingSignal a waiter →
signal_channelmutating
Batching typed tool calls?
Read-only observations →
call_readonly_tools_batchreadonlyOrdered readonly + mutating workflows →
call_mutating_tools_batchmutatingReviewed workflows that include destructive steps →
call_destructive_tools_batchdestructive
Staging multi-line input?
Stage content →
load_buffermutatingPush into pane →
paste_buffermutatingRead back →
show_bufferreadonlyFree server state →
delete_buffermutating
Auditing tmux hooks?
Enumerate →
show_hooksreadonlyInspect one →
show_hookreadonly
Changing settings?
tmux options →
show_optionreadonly /set_optionmutatingEnvironment vars →
show_environmentreadonly /set_environmentmutating
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 readonly¶
Read tmux state without changing anything.
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 readonly 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.
Wait for any screen change.
Query arbitrary tmux format strings.
Read back an MCP-staged paste buffer.
Enumerate configured tmux hooks at a scope.
Inspect a single tmux hook by name.
Act mutating¶
Create or modify tmux objects.
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.
Call typed readonly or mutating tools in order.
Rename a session.
Rename a window.
Adjust pane dimensions.
Adjust window dimensions.
Set window layout.
Set pane title.
Clear pane content.
Restart a pane’s process, keeping its pane_id.
Set a tmux option.
Set a tmux environment variable.
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.
Stream pane output to a file.
Enter copy mode for scrollback.
Exit copy mode.
Paste multi-line text via tmux buffer.
Stage multi-line text into an MCP-namespaced tmux buffer.
Paste an MCP buffer into a target pane.
Block until a tmux wait-for channel is signalled.
Wake clients blocked on a wait-for channel.
Destroy destructive¶
Tear down tmux objects. Not reversible.
Destroy a session and all its windows.
Destroy a window and all its panes.
Destroy a pane.
Kill the entire tmux server.
Call typed tools including destructive steps.
Delete an MCP-staged tmux paste buffer.