From 8994c62d26a5c1b292b87947408411bf62cd6ae2 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Sun, 4 Jan 2026 09:46:29 -0300 Subject: [PATCH] fix: check both stdout and stderr for `--color=auto` --- crates/plotnik-cli/src/cli.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/plotnik-cli/src/cli.rs b/crates/plotnik-cli/src/cli.rs index fbfcabc8..a9362e14 100644 --- a/crates/plotnik-cli/src/cli.rs +++ b/crates/plotnik-cli/src/cli.rs @@ -15,7 +15,13 @@ impl ColorChoice { match self { ColorChoice::Always => true, ColorChoice::Never => false, - ColorChoice::Auto => std::io::IsTerminal::is_terminal(&std::io::stderr()), + // Check both streams: if either is piped, disable colors. + // This handles `exec query.ptk app.js | jq` where stdout is piped + // but stderr (diagnostics) is still a TTY. + ColorChoice::Auto => { + std::io::IsTerminal::is_terminal(&std::io::stdout()) + && std::io::IsTerminal::is_terminal(&std::io::stderr()) + } } } }