Summary
The global --no-color option is registered on the root command but is still not consumed by the main CLI. Current command output continues to use picocolors without honoring the flag.
The issue was previously closed as not planned, but the same behavior remains in current main.
Location
src/index.ts — .option('--no-color', 'Disable colored output')
src/commands/completion.ts — the only current consumer checks argv directly for completion and help generation
Steps to Reproduce
- Run
commit-echo --no-color suggest in a color-capable terminal.
- Capture stdout and stderr.
- Inspect the output for ANSI escape sequences.
Expected Behavior
--no-color should disable ANSI styling across all CLI commands.
Actual Behavior
The flag is parsed by Commander but does not change the global picocolors behavior, so commands such as suggest, history, init, and batch can still emit color sequences.
Suggested Fix
After parsing the root options, wire program.opts().noColor into the global color configuration and add end-to-end coverage across representative commands.
Impact
Plain-output users, CI and log consumers, and scripts that explicitly request --no-color still receive terminal escape sequences. The CLI global output-control flag is therefore unreliable.
Reviewed again against current main at 131c914195ec863197197eec024558012c03240d659 on September 25, 2026.
Summary
The global
--no-coloroption is registered on the root command but is still not consumed by the main CLI. Current command output continues to usepicocolorswithout honoring the flag.The issue was previously closed as not planned, but the same behavior remains in current
main.Location
src/index.ts—.option('--no-color', 'Disable colored output')src/commands/completion.ts— the only current consumer checks argv directly for completion and help generationSteps to Reproduce
commit-echo --no-color suggestin a color-capable terminal.Expected Behavior
--no-colorshould disable ANSI styling across all CLI commands.Actual Behavior
The flag is parsed by Commander but does not change the global
picocolorsbehavior, so commands such assuggest,history,init, andbatchcan still emit color sequences.Suggested Fix
After parsing the root options, wire
program.opts().noColorinto the global color configuration and add end-to-end coverage across representative commands.Impact
Plain-output users, CI and log consumers, and scripts that explicitly request
--no-colorstill receive terminal escape sequences. The CLI global output-control flag is therefore unreliable.Reviewed again against current main at 131c914195ec863197197eec024558012c03240d659 on September 25, 2026.