id = "tmuxp"
name = "tmuxp"
homepage = "https://tmuxp.git-pull.com"
description = "Session manager for tmux: save and load your tmux sessions through declarative workspace files."
icon = "https://tmuxp.git-pull.com/_static/img/tmuxp.svg"
executables = ["tmuxp"]
platforms = ["macos", "linux"]
[dotfiles]
paths = [
"[configHome]/tmuxp/",
"~/.tmuxp/",
]
secret = []
side_effect = false
[commands]
format = 1
label = "Load a tmux workspace"
description = "Load one or more tmuxp workspace files (or project folders) as tmux sessions. Socket, config file, color and progress options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://tmuxp.git-pull.com/cli/load.html"
revision = "2026-10-27"
evidence = """
usage: tmuxp load [-h] [-L socket_name] [-S socket_path] [-f tmux_config_file]
[-s new_session_name] [--yes] [-d] [-a] [-2 | -8]
[--log-file file_path] [--progress-format FORMAT]
[--progress-lines N] [--no-progress]
workspace-file [workspace-file ...]
-s new_session_name
start new session with new session name
--yes, -y
always answer yes
-d
load the session without attaching it
-a, --append
load workspace, appending windows to the current session
--log-file file_path
file to log errors/output to
--no-progress
Disable the animated progress spinner.
"""
[[commands.subcommand]]
path = ["load"]
label = "Load a workspace"
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://tmuxp.git-pull.com/cli/load.html"
revision = "2026-10-27"
evidence = """
usage: tmuxp load [-h] [-L socket_name] [-S socket_path] [-f tmux_config_file]
[-s new_session_name] [--yes] [-d] [-a] [-2 | -8]
[--log-file file_path] [--progress-format FORMAT]
[--progress-lines N] [--no-progress]
workspace-file [workspace-file ...]
-s new_session_name
start new session with new session name
--yes, -y
always answer yes
-d
load the session without attaching it
-a, --append
load workspace, appending windows to the current session
--log-file file_path
file to log errors/output to
--no-progress
Disable the animated progress spinner.
"""
[[commands.subcommand.field]]
id = "workspace"
label = "Workspace file or project"
description = "A workspace file, a folder holding .tmuxp.yaml, or a name in the tmuxp workspace directory."
type = "path"
path = { kind = "any", role = "input" }
position = 0
multiple = true
min = 1
sources = ["help"]
[[commands.subcommand.field]]
id = "session_name"
label = "New session name"
type = "string"
option = ["-s"]
sources = ["help"]
[[commands.subcommand.field]]
id = "detach"
label = "Do not attach"
type = "boolean"
option = ["-d"]
sources = ["help"]
[[commands.subcommand.field]]
id = "append"
label = "Append to current session"
type = "boolean"
option = ["--append", "-a"]
sources = ["help"]
[[commands.subcommand.field]]
id = "yes"
label = "Answer yes to prompts"
type = "boolean"
option = ["--yes", "-y"]
sources = ["help"]
[[commands.subcommand.field]]
id = "log_file"
label = "Log file"
type = "path"
path = { kind = "file", role = "output" }
option = ["--log-file"]
sources = ["help"]
[[commands.subcommand.field]]
id = "no_progress"
label = "No progress spinner"
type = "boolean"
option = ["--no-progress"]
sources = ["help"]
[[commands.subcommand.task]]
id = "load"
label = "Load and attach"
fields = ["workspace"]
required = ["workspace"]
[[commands.subcommand.task]]
id = "load_detached"
label = "Load in the background"
fields = ["workspace", "detach"]
required = ["workspace"]
set = { detach = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["workspace", "session_name", "detach"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["append", "yes", "log_file", "no_progress"]