tmux-agents
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TMUX_AGENTS_TMUX | No | Path to the tmux binary. Default is 'tmux'. | tmux |
| TMUX_AGENTS_REDACT | No | Replace token-looking strings in pane text with [redacted]. Default is 'true'. | true |
| TMUX_AGENTS_SOCKET | No | Use with `tmux -L <socket>` to isolate the agents on their own tmux server. Defaults to the default tmux server. | |
| TMUX_AGENTS_MAX_LINES | No | Hard cap for pane_read. Default is '2000'. | 2000 |
| TMUX_AGENTS_ALLOW_KILL | No | Set to 'false' to disable pane_kill / session_kill. Default is 'true'. | true |
| TMUX_AGENTS_OPEN_COMMAND | No | Command run after agents_launch; {session} is substituted with the session name. Leave unset to run detached. Example: 'open -na Ghostty.app --args -e tmux attach -t {session}' | |
| TMUX_AGENTS_SESSION_PREFIX | No | Only sessions whose name starts with this are visible or controllable. Default is empty, meaning all sessions are visible. It is recommended to set this, e.g. 'agents-', so the model cannot read or type into personal tmux sessions. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tmux_statusA | How this server is configured, whether tmux answers, and the visible sessions. |
| panes_listA | List panes (id, title, cwd, running command, size). Titles are what agents_launch set. Omit |
| pane_readA | Read the last
|
| pane_sendA | Type Text is sent literally (no tmux key-name expansion), so multi-line prompts
and special characters are safe. Use |
| pane_keyC | Send a named key to a pane: C-c (interrupt), C-d, Escape, Enter, Up, Tab ... |
| pane_waitA | Wait until a pane stops changing for Returns state (idle | matched | timeout) plus the last |
| agents_launchA | Create a tmux session with one pane per agent and start each agent's command.
|
| session_killB | Kill a session and every agent in it. Disabled when TMUX_AGENTS_ALLOW_KILL=false. |
| pane_killA | Kill one pane (one agent). Disabled when TMUX_AGENTS_ALLOW_KILL=false. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools have clear boundaries: tmux_status is informational, panes_list enumerates, pane_read/send/key/wait operate on a single pane, agents_launch creates sessions, and session_kill/pane_kill destroy them. The only mild overlap is pane_send vs pane_key, but their descriptions clearly separate literal text from named keys.
Tool names follow a consistent noun_verb pattern (tmux_status, panes_list, pane_read, pane_send, pane_key, pane_wait, agents_launch, session_kill, pane_kill). Minor deviation: tmux_status uses a prefix rather than a resource noun, and agents_launch is a compound noun rather than agent_launch, but the pattern is otherwise predictable.
Nine tools is well-scoped for a tmux agent orchestration server: one status, one list, four pane interaction tools, one launch tool, and two kill tools. Each tool serves a distinct operational need without redundancy.
The surface covers the full lifecycle: launch agents, inspect panes, read output, send input, wait for completion, and kill sessions/panes. Minor gaps include no way to rename sessions/panes or resize panes, but these are not essential for the server's stated purpose.