github.com/libtmux/libtmux-go/workspace · Source
Install
Install the workspace package separately from the core library.
$ go install github.com/libtmux/libtmux-go/workspace/cmd/tmux-workspace@latestNeeds Go 1.26 or newer. Puts tmux-workspace in $(go env GOBIN), or in $(go env GOPATH)/bin when GOBIN is unset; rerunning it upgrades.
Command reference
Every command, flag and compatibility target.
Configuration
Workspace fields, normalization and execution.
Install and load
Load a workspace on a private socket, then capture it.
Example gallery
Workspace files to start from, with their prerequisites.
Compatibility
What is implemented, and where it differs from tmuxp.
Internals
The workspace library, for building sessions from code.
Native services provide load/reuse/append, capture, discovery, conversion,
imports, editor execution and search. Loading supports common commands,
directories, environment, options, before scripts and terminal progress.
Native script arguments validate for all inputs before session mutation.
Append authenticates the inherited server and retains one target session across
all inputs. Plugin and custom-builder append use that session through the
checked Python bridge when the document has no before_script key.
Load a workspace from the terminalLink to section
Follow the local installation walkthrough from a
workspace-cli checkout of the
Go repository. It builds
the native command and loads a small workspace on a private socket. After
building, inspect the command without starting tmux:
$ ./tmux-workspace --helpUse detached load for the walkthrough. JSON and NDJSON output are available; choose the mode explicitly when scripting. The command/configuration reference below also documents tmuxp behavior and compatibility targets, so it is not a claim that every referenced feature works in this local implementation.
Current coverageLink to section
Append through the Python workspace bridge with a document before_script
key is unavailable and fails during preflight, including empty or null values.
This prevents Python’s script-failure cleanup from deleting the borrowed
session. Native scripted append remains supported.
load -s changes only the final input’s session name; earlier inputs keep
their configured names. Legacy -8 and --88-colors fail before workspace
lookup or runtime checks. Use -2 to request 256-color mode.
Native Go logging supports --log-level and structured --log-file output
on Unix. Diagnostic filtering preserves mandatory command errors and machine
results. See the logging contract.
Some cleanup and interruption paths, complete configuration coverage, and portable packaging still need work. Capture cannot reconstruct original command arguments, history or workspace extensions.
For the released Python workflow, use tmuxp and its Python workspace guide. It is a separate application and remains useful when a required native feature is incomplete.
Start hereLink to section
The workspace library module remains available for applications that
build sessions through code. Internals documents that API:
- Guides show application setup and builder calls.
- Topics explain supported configuration and behavior.
- Examples exercise the library or source consumer.
- API covers the builder and configuration interfaces.
tmuxp command and configuration referenceLink to section
Use the local CLI’s help and the limits above when applying these compatibility references to native execution.
- Installation walkthrough builds and runs the local native CLI.
- Inspect through MCP connects to the loaded session.
- Command reference lists tmuxp commands, flags and compatibility targets.
- Configuration covers fields, normalization and execution.
- Example gallery includes upstream fixtures and prerequisites.
- Compatibility status records builder/reference gaps.
- JSON, NDJSON, and color describes the shared output design.