Install and load a workspace
LibTmux.Workspace 0.0.0-alpha.14 · Source
Install and run the native .NET tmux-workspace command from its NuGet
prerelease, LibTmux.Workspace.Cli. This is a partial, prerelease
implementation.
Install from NuGetLink to section
Use a Unix environment with tmux 3.2a or newer on PATH for this walkthrough.
Installing needs the .NET SDK 8 or newer. The tool runs on the .NET 8 or
.NET 10 runtime on Unix. For an SDK outside the platform’s default
installation location, set DOTNET_ROOT to that installation directory
before running the tool.
$ dotnet tool install \ --global \ --prerelease \ LibTmux.Workspace.Cli--prerelease is required: every release so far carries an -alpha tag,
and NuGet skips those unless asked. A global tool installs into
~/.dotnet/tools; add that directory to PATH if the SDK reports it
missing.
Inspect the installed command:
$ tmux-workspace --helpCreate the inputLink to section
Keep this shell open for the walkthrough. Create a temporary directory for its configuration and private tmux socket:
$ WORKSPACE_TMP="$(mktemp -d)"Write a minimal configuration with two blank shell panes to
workspace.yaml inside that directory:
$ cat > "$WORKSPACE_TMP/workspace.yaml" <<'YAML'session_name: workspace-guidewindows: - window_name: editor layout: even-horizontal panes: [null, null]YAMLLoad and inspectLink to section
Load detached on the temporary socket. The JSON result describes the load;
-d prevents terminal attachment:
$ tmux-workspace load \ -S "$WORKSPACE_TMP/tmux.sock" \ -d \ --json \ "$WORKSPACE_TMP/workspace.yaml"Inspect the two panes through the same endpoint:
$ tmux \ -S "$WORKSPACE_TMP/tmux.sock" \ list-panes \ -t '=workspace-guide:editor'Attach with tmux when ready:
$ tmux \ -S "$WORKSPACE_TMP/tmux.sock" \ attach-session \ -t '=workspace-guide'Detach with your configured tmux detach binding. Capture the live session without choosing a file destination:
$ tmux-workspace freeze \ -S "$WORKSPACE_TMP/tmux.sock" \ --json \ workspace-guideCapture reports recoverable live state. It cannot reconstruct the original command history, script or plugin definitions. Remove the walkthrough session when finished:
$ tmux \ -S "$WORKSPACE_TMP/tmux.sock" \ kill-session \ -t '=workspace-guide'The configuration remains in the temporary directory until you remove it. Every tmux command above addresses that private socket.
Current limitsLink to section
Native --log-level filters optional diagnostics. On Linux x64, human load
displays progress on terminal stderr and load --log-file appends structured
logs. See the load reference and
output reference for settings, resize and log-failure
limits.
Human prompts and full terminal workflows, plugin and custom-builder validation, contextual completion, and the full configuration and platform corpus remain unfinished.
Python-specific shell behavior requires an interpreter with tmuxp 1.74.0
installed. Select it with TMUX_WORKSPACE_PYTHON. Ordinary native loading of
this example does not require Python.
Python alternativeLink to section
For the separate released tmuxp application, install its isolated Python tool environment with uv:
$ uv tool install tmuxpFollow the Python installation guide for that workflow. Installing tmuxp does not install the native command.
ContinueLink to section
Discovery, configuration and the load reference explain the tmuxp compatibility model. Compare those references with the local command’s help and the limits above. Export and reload explains the capture workflow, and the compatibility reference records builder gaps. Use Internals for the library and consumer APIs.