From 1d94b9111c26165ace0479ba0378957542a4a62c Mon Sep 17 00:00:00 2001 From: pakrym-oai Date: Thu, 2 Oct 2025 18:15:03 -0700 Subject: [PATCH] Use supports_color in codex exec (#4633) It knows how to detect github actions --- codex-rs/Cargo.lock | 1 + codex-rs/exec/Cargo.toml | 1 + codex-rs/exec/src/lib.rs | 5 +++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index dfa8b865..7a3ca22c 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -929,6 +929,7 @@ dependencies = [ "serde", "serde_json", "shlex", + "supports-color", "tempfile", "tokio", "tracing", diff --git a/codex-rs/exec/Cargo.toml b/codex-rs/exec/Cargo.toml index a5a54750..78f1738a 100644 --- a/codex-rs/exec/Cargo.toml +++ b/codex-rs/exec/Cargo.toml @@ -31,6 +31,7 @@ owo-colors = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } shlex = { workspace = true } +supports-color = { workspace = true } tokio = { workspace = true, features = [ "io-std", "macros", diff --git a/codex-rs/exec/src/lib.rs b/codex-rs/exec/src/lib.rs index 6888baff..488e0fcf 100644 --- a/codex-rs/exec/src/lib.rs +++ b/codex-rs/exec/src/lib.rs @@ -28,6 +28,7 @@ use serde_json::Value; use std::io::IsTerminal; use std::io::Read; use std::path::PathBuf; +use supports_color::Stream; use tracing::debug; use tracing::error; use tracing::info; @@ -113,8 +114,8 @@ pub async fn run_main(cli: Cli, codex_linux_sandbox_exe: Option) -> any cli::Color::Always => (true, true), cli::Color::Never => (false, false), cli::Color::Auto => ( - std::io::stdout().is_terminal(), - std::io::stderr().is_terminal(), + supports_color::on_cached(Stream::Stdout).is_some(), + supports_color::on_cached(Stream::Stderr).is_some(), ), };