@@ -38,16 +38,132 @@ Server (tmux server instance)
3838
3939## Tools
4040
41- ### Tools
42-
43- | Module | Tools |
44- | --------| -------|
45- | ** Server** | ` list_sessions ` , ` create_session ` , ` kill_server ` , ` get_server_info ` |
46- | ** Session** | ` list_windows ` , ` create_window ` , ` rename_session ` , ` kill_session ` |
47- | ** Window** | ` list_panes ` , ` split_window ` , ` rename_window ` , ` kill_window ` , ` select_layout ` , ` resize_window ` |
48- | ** Pane** | ` send_keys ` , ` capture_pane ` , ` resize_pane ` , ` kill_pane ` , ` set_pane_title ` , ` get_pane_info ` , ` clear_pane ` , ` search_panes ` , ` wait_for_text ` |
49- | ** Options** | ` show_option ` , ` set_option ` |
50- | ** Environment** | ` show_environment ` , ` set_environment ` |
41+ All tools accept an optional ` socket_name ` (string) parameter for multi-server support. It defaults to the ` LIBTMUX_SOCKET ` env var. This parameter is omitted from the listings below.
42+
43+ ### Server tools
44+
45+ - ** ` list_sessions ` ** — List all sessions
46+ - ` filters ` (dict or JSON string): Django-style filters (e.g. ` {"session_name__contains": "dev"} ` )
47+ - ** ` create_session ` ** — Create a new session
48+ - ` session_name ` (string): Name for the session
49+ - ` window_name ` (string): Name for the initial window
50+ - ` start_directory ` (string): Working directory
51+ - ` x ` (integer): Initial width
52+ - ` y ` (integer): Initial height
53+ - ` environment ` (dict): Environment variables to set
54+ - ** ` get_server_info ` ** — Get server status and metadata
55+ - ** ` kill_server ` ** — Kill the tmux server (destructive)
56+
57+ ### Session tools
58+
59+ - ** ` list_windows ` ** — List windows in a session (or all sessions)
60+ - ` session_name ` (string): Session name
61+ - ` session_id ` (string): Session ID (e.g. ` $1 ` )
62+ - ` filters ` (dict or JSON string): Django-style filters
63+ - ** ` create_window ` ** — Create a new window
64+ - ` session_name ` / ` session_id ` (string): Target session
65+ - ` window_name ` (string): Name for the window
66+ - ` start_directory ` (string): Working directory
67+ - ` attach ` (boolean, default: false): Make the window active
68+ - ` direction ` (` "before" ` or ` "after" ` ): Placement relative to current window
69+ - ** ` rename_session ` ** — Rename a session
70+ - ` new_name ` (string, required): New session name
71+ - ` session_name ` / ` session_id ` (string): Target session
72+ - ** ` kill_session ` ** — Kill a session (destructive)
73+ - ` session_name ` / ` session_id ` (string): Target session
74+
75+ ### Window tools
76+
77+ - ** ` list_panes ` ** — List panes in a window (or all windows)
78+ - ` session_name ` / ` session_id ` (string): Target session
79+ - ` window_id ` (string): Window ID (e.g. ` @1 ` )
80+ - ` window_index ` (string): Window index within session
81+ - ` filters ` (dict or JSON string): Django-style filters
82+ - ** ` split_window ` ** — Split a window to create a new pane
83+ - ` pane_id ` (string): Pane to split from
84+ - ` session_name ` / ` session_id ` / ` window_id ` / ` window_index ` (string): Target
85+ - ` direction ` (` "above" ` , ` "below" ` , ` "left" ` , ` "right" ` ): Split direction
86+ - ` size ` (string or integer): Size (e.g. ` "50%" ` or lines/columns)
87+ - ` start_directory ` (string): Working directory
88+ - ` shell ` (string): Shell command to run
89+ - ** ` rename_window ` ** — Rename a window
90+ - ` new_name ` (string, required): New window name
91+ - ` window_id ` / ` window_index ` (string): Target window
92+ - ` session_name ` / ` session_id ` (string): Target session
93+ - ** ` kill_window ` ** — Kill a window (destructive)
94+ - ` window_id ` (string, required): Window ID
95+ - ** ` select_layout ` ** — Set window layout
96+ - ` layout ` (string, required): ` even-horizontal ` , ` even-vertical ` , ` main-horizontal ` , ` main-vertical ` , ` tiled ` , or custom layout string
97+ - ` window_id ` / ` window_index ` (string): Target window
98+ - ` session_name ` / ` session_id ` (string): Target session
99+ - ** ` resize_window ` ** — Resize a window
100+ - ` window_id ` / ` window_index ` (string): Target window
101+ - ` session_name ` / ` session_id ` (string): Target session
102+ - ` height ` (integer): New height in lines
103+ - ` width ` (integer): New width in columns
104+
105+ ### Pane tools
106+
107+ - ** ` send_keys ` ** — Send keys or text to a pane
108+ - ` keys ` (string, required): Keys or text to send
109+ - ` pane_id ` (string): Target pane ID (e.g. ` %1 ` )
110+ - ` session_name ` / ` session_id ` / ` window_id ` (string): Fallback targeting
111+ - ` enter ` (boolean, default: true): Press Enter after sending
112+ - ` literal ` (boolean, default: false): Send literally (no tmux key interpretation)
113+ - ` suppress_history ` (boolean, default: false): Prepend space to suppress shell history
114+ - ** ` capture_pane ` ** — Capture pane content as text
115+ - ` pane_id ` / ` session_name ` / ` session_id ` / ` window_id ` (string): Target
116+ - ` start ` (integer): Start line (negative = scrollback)
117+ - ` end ` (integer): End line
118+ - ** ` get_pane_info ` ** — Get pane metadata (size, title, current command)
119+ - ` pane_id ` / ` session_name ` / ` session_id ` / ` window_id ` (string): Target
120+ - ** ` set_pane_title ` ** — Set a pane's title
121+ - ` title ` (string, required): New title
122+ - ` pane_id ` / ` session_name ` / ` session_id ` / ` window_id ` (string): Target
123+ - ** ` resize_pane ` ** — Resize a pane
124+ - ` pane_id ` / ` session_name ` / ` session_id ` / ` window_id ` (string): Target
125+ - ` height ` (integer): New height in lines
126+ - ` width ` (integer): New width in columns
127+ - ` zoom ` (boolean): Toggle zoom (cannot combine with height/width)
128+ - ** ` clear_pane ` ** — Clear pane content and scrollback
129+ - ` pane_id ` / ` session_name ` / ` session_id ` / ` window_id ` (string): Target
130+ - ** ` search_panes ` ** — Search across all pane contents
131+ - ` pattern ` (string, required): Text or regex to search for
132+ - ` regex ` (boolean, default: false): Interpret pattern as regex
133+ - ` match_case ` (boolean, default: false): Case-sensitive matching
134+ - ` session_name ` / ` session_id ` (string): Limit to a session
135+ - ` content_start ` / ` content_end ` (integer): Line range for capture
136+ - ** ` wait_for_text ` ** — Wait for text to appear in a pane
137+ - ` pattern ` (string, required): Text or regex to wait for
138+ - ` regex ` (boolean, default: false): Interpret pattern as regex
139+ - ` pane_id ` / ` session_name ` / ` session_id ` / ` window_id ` (string): Target
140+ - ` timeout ` (number, default: 8.0): Maximum seconds to wait
141+ - ` interval ` (number, default: 0.05): Seconds between polls
142+ - ` match_case ` (boolean, default: false): Case-sensitive matching
143+ - ` content_start ` / ` content_end ` (integer): Line range for capture
144+ - ** ` kill_pane ` ** — Kill a pane (destructive)
145+ - ` pane_id ` (string, required): Pane ID
146+
147+ ### Option tools
148+
149+ - ** ` show_option ` ** — Query a tmux option value
150+ - ` option ` (string, required): Option name
151+ - ` scope ` (` "server" ` , ` "session" ` , ` "window" ` , ` "pane" ` ): Option scope
152+ - ` target ` (string): Target identifier (session name, window ID, or pane ID)
153+ - ` global_ ` (boolean, default: false): Query the global value
154+ - ** ` set_option ` ** — Set a tmux option
155+ - ` option ` (string, required): Option name
156+ - ` value ` (string, required): Value to set
157+ - ` scope ` / ` target ` / ` global_ ` : Same as ` show_option `
158+
159+ ### Environment tools
160+
161+ - ** ` show_environment ` ** — Show tmux environment variables
162+ - ` session_name ` / ` session_id ` (string): Target session (omit for server-level)
163+ - ** ` set_environment ` ** — Set a tmux environment variable
164+ - ` name ` (string, required): Variable name
165+ - ` value ` (string, required): Variable value
166+ - ` session_name ` / ` session_id ` (string): Target session (omit for server-level)
51167
52168## Resources
53169
0 commit comments