@@ -152,6 +152,7 @@ func (app *App) RunNonInteractive(ctx context.Context, output io.Writer, prompt,
152 stdoutTTY bool
152 stdoutTTY bool
153 stderrTTY bool
153 stderrTTY bool
154 stdinTTY bool
154 stdinTTY bool
157 if f, ok := output.(*os.File); ok {
158 if f, ok := output.(*os.File); ok {
@@ -160,6 +161,8 @@ func (app *App) RunNonInteractive(ctx context.Context, output io.Writer, prompt,
160 stderrTTY = term.IsTerminal(os.Stderr.Fd())
161 stderrTTY = term.IsTerminal(os.Stderr.Fd())
161 stdinTTY = term.IsTerminal(os.Stdin.Fd())
162 stdinTTY = term.IsTerminal(os.Stdin.Fd())
164+ progress = app.config.Options.Progress == nil || *app.config.Options.Progress
163 if !quiet && stderrTTY {
166 if !quiet && stderrTTY {
164 t := styles.CurrentTheme()
167 t := styles.CurrentTheme()
@@ -244,7 +247,7 @@ func (app *App) RunNonInteractive(ctx context.Context, output io.Writer, prompt,
244 messageReadBytes := make(map[string]int)
247 messageReadBytes := make(map[string]int)
246 defer func() {
249 defer func() {
247− if stderrTTY {
250+ if progress && stderrTTY {
248 _, _ = fmt.Fprintf(os.Stderr, ansi.ResetProgressBar)
251 _, _ = fmt.Fprintf(os.Stderr, ansi.ResetProgressBar)
@@ -254,7 +257,7 @@ func (app *App) RunNonInteractive(ctx context.Context, output io.Writer, prompt,
257− if stderrTTY {
260+ if progress && stderrTTY {
258 // HACK: Reinitialize the terminal progress bar on every iteration
261 // HACK: Reinitialize the terminal progress bar on every iteration
259 // so it doesn't get hidden by the terminal due to inactivity.
262 // so it doesn't get hidden by the terminal due to inactivity.
260 _, _ = fmt.Fprintf(os.Stderr, ansi.SetIndeterminateProgressBar)
263 _, _ = fmt.Fprintf(os.Stderr, ansi.SetIndeterminateProgressBar)