Documentation

Every glaze subcommand has its own --help, so this page is not a list of everything. It covers the two flags that sit in front of a command, where the output goes and what each exit code means. That is the stuff you look up when a script went sideways at 2 am and the log is the only witness.

Help

Console
$ glaze --help
NAME:
   glaze - easily manage tmux sessions, windows and panes

USAGE:
   glaze [global options] [command [command options]]

VERSION:
   dev

AUTHOR:
   Wilhelm Murdoch <wilhelm@devilmayco.de>

COMMANDS:
   up       apply the specified glaze profile
   down     kill the session described by the specified glaze profile
   ls       list the sessions running on the target tmux server
   format   rewrites the target glaze profile file to a canonical format
   save     running this within a tmux session will save its current state to the specified glaze profile
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --log-level string  specify a log level (default: "info")
   --help, -h          show help
   --version, -v       print only the version

COPYRIGHT:
   (c) 2026 Wilhelm Codes ( https://wilhelm.codes )

A release build prints the release tag in the VERSION line. A build from source without a stamp prints dev.

Global flags

FlagDefaultDescription
--log-levelinfoOne of the supported log levels: trace, debug, info, warning, error, critical.
--version, -vPrint the version, the stage, the commit and the build date. Put the flag before a command: glaze up -v is a usage error.

Put a global flag before the command name. glaze --log-level debug up is correct. glaze up --log-level debug is also accepted, because each subcommand lists --log-level in its own help. glaze up -v exits with code 2.

stdout and stderr

Glazier writes log lines and diagnostics to stderr. Only command output goes to stdout: the ls table and the profile from format --stdout and save --stdout. Thus glaze save --stdout > saved.glaze writes a clean profile. Glazier writes colour only when stderr is a terminal. Set NO_COLOR to turn colour off.

Exit codes

Each exit code has one meaning. A script can use the code to find the cause of a failure.

CodeMeaning
0Success. ls with no tmux server and down for a session that does not run also succeed.
1A run failed, for example because tmux rejected an option value or Glazier could not write a profile.
2The command line is not correct, for example an unknown flag or a --var without =.
3The profile has errors, or Glazier cannot find the profile.
4Glazier cannot reach tmux, for example because tmux is not on PATH or the socket does not give access. Glazier does not treat this as “no server”.
130SIGINT, for example Ctrl-C, stopped Glazier.
143SIGTERM stopped Glazier.

The signal codes follow the shell convention of 128 plus the signal number, so a wrapper script that already knows what 130 means does not need to learn anything new. Code 4 exists on its own because “tmux is not installed” and “there is no server yet” are very different problems, and ls would otherwise report both as a quiet success.

Clean-up after a failed up

When up fails or a signal stops it, Glazier removes the session that this run created, so the next up starts again from nothing. Glazier never removes a session that existed before the run. A second signal stops Glazier at once, with no clean-up.

The --keep-on-failure flag of glaze up keeps the partly built session, so that you can examine it.

Profile resolution

glaze reads the --profile-path value, then .glaze in the current directory, then $GLAZE_PATH/.glaze. See Profile resolution.