tmm is a powerfully simple tmux session manager for humans and AI agents.
It exists to remove friction from everyday tmux work: jumping between sessions, creating new ones, renaming, cleaning up old sessions, and quickly seeing where you are (tmm which) when your tmux status bar is hidden.
- Short commands for common session tasks.
- Interactive flows when you want speed without remembering exact names.
- Script-friendly commands for automation and agents.
- Works both inside tmux (switch client) and outside tmux (attach).
Requirements:
bun install
bun linkbunx skills add https://github.com/notnotjake/tmm --skill tmm| Command | Description |
|---|---|
tmm |
Open session interactively with fuzzy search. |
tmm <session> |
Open a session by name. |
tmm new <session> |
Create a new session. |
tmm <session> -p |
Open a session or create it if missing. |
tmm rename |
Rename a session. |
tmm remove <session> |
Remove a session. |
tmm exit |
Exit the current session. |
tmm tail <session> |
Show recent output from a session. |
tmm run <session> -- <command> |
Run a command inside a session. |
tmm keys <session> <key> |
Send key input to a session. |
tmm ls |
List all session names. |
tmm which |
Show the current session name. |
tmm help |
Show help. |
Open session
Description: Open an existing session. With no args, shows an interactive picker.
Syntax:
tmm
tmm <session>
tmm <session> -p
tmm <session> --presentExample:
tmm apiCreate session
Description: Create a new session and open it, or create it in the background.
Syntax:
tmm new <session>
tmm new <session> -b
tmm new <session> --backgroundExample:
tmm new worker --backgroundOpen or create session
Description: Open a session if it exists. If it does not exist, create it and then open it.
Example:
tmm ai-chat -pRename session
Description: Rename interactively, rename current session, or rename by old/new names.
Syntax:
tmm rename
tmm rename <new>
tmm rename <old> <new>Example:
tmm rename api api-v2Remove sessions
Description: Remove one session by name, or select multiple interactively.
Syntax:
tmm remove
tmm remove <session>Example:
tmm remove scratchExit current session
Description: Leave the current session (detach) or close it (kill).
Syntax:
tmm exit
tmm exit --detach
tmm exit --killExample:
tmm exit --detachTail session output
Description: Print recent scrollback from the active pane in a session.
Syntax:
tmm tail <session>
tmm tail <session> -l <lines>
tmm tail <session> --lines <lines>Example:
tmm tail api --lines 100Run command in a session
Description: Send a command to the session's active pane and print newly added output.
Syntax:
tmm run <session> -- <command...>Example:
tmm run api -- npm testSend keys to a session
Description: Send tmux key tokens directly (no Enter is added automatically).
Syntax:
tmm keys <session> <key...>
tmm keys <session> -- <key...>Example:
tmm keys api C-cList sessions
Description: Print all tmux session names (non-interactive).
Syntax:
tmm lsExample:
tmm lsShow current session
Description: Print the current tmux session name (useful when status bar is hidden).
Syntax:
tmm whichExample:
tmm whichShow help
Description: Show global help or command-specific help.
Syntax:
tmm help [command]
tmm <command> --helpExample:
tmm tail --help