PowerShell.MCP v1.3.6 - Enhanced CLI Tool Color Support
Enhanced CLI Tool Color Support
This release extends automatic color output support to additional CLI tools, improving the visual experience when working with modern development tools like GitHub CLI, .NET tools, and 24-bit color terminals.
✨ What's New
🌈 Extended Color Output Support
Added automatic color output for additional CLI tools commonly used in development workflows:
- GitHub CLI (gh): Now displays colored output via
CLICOLOR_FORCE - .NET Tools: Console applications now support ANSI color redirection
- 24-bit Color Terminals: Modern terminals with truecolor support are automatically detected via
COLORTERM
These additions complement existing color support for Git, npm, yarn, cargo, and pytest, providing a consistent colorful experience across your entire toolchain.
📊 What's Changed Since v1.3.5
Core Enhancements
Environment Variables:
- Added
CLICOLOR_FORCE='1'for GitHub CLI and standard CLI tools - Added
COLORTERM='truecolor'for 24-bit color terminal support - Added
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION='1'for .NET tools
Behavior:
- All color environment variables are set conditionally (only if not already defined)
- Respects user's existing color configuration
- Maintains backward compatibility with v1.3.5
🔧 Technical Details: Color Environment Variables
PowerShell.MCP automatically configures the following environment variables to enable ANSI color output in MCP environments where stdout is redirected (not a TTY):
| Environment Variable | Value | Target Tools | Version Added | Description |
|---|---|---|---|---|
GIT_CONFIG_PARAMETERS |
'color.ui=always' |
Git | v1.3.5 | Forces Git to output colors even when stdout is not a terminal. Preserves existing user configurations. |
FORCE_COLOR |
1 |
Node.js tools (yarn, chalk, etc.) | v1.3.5 | Standard variable for Node.js ecosystem to force color output. |
NPM_CONFIG_COLOR |
always |
npm | v1.3.5 | npm-specific configuration to always show colors. |
CARGO_TERM_COLOR |
always |
Rust cargo | v1.3.5 | Enables colored output for Rust's package manager. |
PY_COLORS |
1 |
pytest, Python tools | v1.3.5 | Standard Python variable to enable ANSI colors. |
CLICOLOR_FORCE |
1 |
GitHub CLI (gh), standard CLI tools | v1.3.6 | Industry-standard variable for forcing color output in POSIX-style tools. |
COLORTERM |
truecolor |
Modern terminals | v1.3.6 | Indicates 24-bit color (16 million colors) support to applications. |
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION |
1 |
.NET console apps | v1.3.6 | Enables ANSI color codes in .NET applications when output is redirected. |
Configuration Behavior
- Non-Destructive: All variables are set conditionally using
if (-not $env:VARIABLE), respecting existing user configurations. - Persistent: Environment variables remain active throughout the PowerShell session.
- Automatic: Configuration happens transparently when the MCP server starts—no user action required.
Why These Variables Are Needed
When PowerShell captures output from external CLI tools (e.g., via pipes or variable assignment), those tools detect that their output is being redirected rather than displayed directly to a terminal. Most CLI tools disable ANSI color codes in this "non-interactive" mode to avoid cluttering logs with escape sequences. These environment variables override that detection, forcing tools to output color codes even when their stdout is redirected, ensuring colorful output is preserved for better readability and user experience.
Full Documentation: https://github.com/yotsuda/PowerShell.MCP
Questions? GitHub Discussions
Report Issues: GitHub Issues
⚠ Security Notice: Provides complete PowerShell access. Use in trusted environments only.