Skip to content

Output Modes

Leonard Ramminger edited this page Aug 9, 2026 · 1 revision

Output Modes

Output mode controls what Beez prints to the terminal during a run. Set it in config with ui.output_mode or override it for one invocation with CLI flags.

Modes

Mode Config value CLI flag
Clean (default) clean (none)
Verbose verbose --verbose
Errors errors --error
Silent silent --silent
ui = {
    output_mode = "clean",
}

CLI flags take precedence over config for that run.

Clean

The default for day-to-day use.

  • Shows a progress line for each step (default indicator: step counter such as [1/5]).
  • On a TTY, progress can animate when ui.animation.indicator is a spinner style (minimal, dots, or custom) with a positive spin interval.
  • Hides successful subprocess output.
  • Prints failure output from failed commands.
  • Prints a run summary at the end (style from ui.summary).

Use clean when you want feedback without Ninja-style log spam.

Verbose

Ninja-style output: every line from worker subprocesses is streamed to the console.

  • Progress lines still appear (same as clean).
  • Successful and failed command output is shown.
  • Optional worker prefix (ui.prefix, ui.prefix_format in config) labels each line in verbose mode when ui.prefix is true.
  • Run summary is printed on success and failure.
ui = {
    output_mode = "verbose",
    prefix = true,
    prefix_format = "[Worker {id}]",
}

When prefix is false, verbose lines are indented with | instead of a worker label.

Errors

Minimal console output on success:

  • No progress lines.
  • No run summary when the build succeeds.
  • On failure, failure output and the run summary are still printed.
  • CLI error messages are still shown (unless silent).

Useful in scripts that only care about stderr when something breaks.

Silent

Almost no terminal output:

  • No progress, command output, summaries, or CLI messages on stdout/stderr from the logger.
  • Exit code remains the signal for success or failure.

Run logs and worker log files still follow ui.logging unless disabled separately.

Failure output vs command output

Beez distinguishes two paths:

Path When Shown in clean Shown in verbose
Command output Step runs and streams stdout/stderr only on failure always
Failure output Step fails yes yes

In errors and silent modes, failure output follows the same rules as above (shown except in silent).

Run start banner

In modes that show progress (clean and verbose), Beez prints a short start banner:

Starting Workflow: build
============================================================

RunKind is Task, Workflow, Step, or Phase depending on what you invoked.

This banner is also written to the run log file when ui.logging.run_log is enabled.

Related pages

Clone this wiki locally