O programa ag
(não estou familiarizado com isso), poderia usar a chamada do sistema
stdout_is_tty = isatty(1);
The isatty() function tests whether fd is an open file descriptor referring to a terminal.
Isso permite modificar a saída dependendo de onde ela está gravando.
Eu também acho que encontrei a seção de código fonte relevante
/* If we're not outputting to a terminal. change output to:
* turn off colors
* print filenames on every line
*/
if (!isatty(fileno(stdout))) {
opts.color = 0;
group = 0;
....
Veja também man isatty
.