rroessler.io

No Progress Standard

A programming standard for disabling spinners and progress bars

Whilst I was going through setting up GitHub Workflows for Talos, I realized that they don't act like a native TTY. Because of this, the use of spinners in my testing framework for Talos resulted in distorted outputs. This led me to implementing a standard similar to NO_COLOR but instead for spinners and progress bars.

In short:

Command-line software which adds ANSI spinners and/or progress bars to its output by default should check for a NO_PROGRESS environment variable that, when present and not an empty string (regardless of its value), prevents the display of ANSI spinners and/or progress bars.

For those interested, you can find more a more detailed explanation on the NO_PROGRESS standard website.

Example Usage

// Access the available environment variable.
const no_progress = process.env.NO_PROGRESS;

// We only enable spinners and progress bars if "undefined" or explicitly "0".
const enabled = no_progress === undefined || no_progress === '0';
Last updated on 09/07/2026