Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Edit this page on GitHub

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@latest

Needs 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.

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:

Terminal window
$ ./tmux-workspace --help

Use 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.

Esc

Type to search.