You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows Powershell is Unreadable in High-Contrast Light Modes (And Any Other Modes) #19433
Set Windows to a light high-contrast theme. (I can't read dark mode, or faint text in light mode; unfortunately Windows lacks really high-contrast themes.)
Open Powershell.
Set any of the light color themes.
Try to use Powershell.
Expected Behavior
In light mode, all colors should be dark, and when using high-contrast themes, black.
In dark mode, all colors should be light.
Actual Behavior
In light mode, most text is white or another light color indistinguishable from it.
Windows Terminal Light/High-Contrast Text Visibility
Windows Terminal version: 1.22.12111.0 Windows build number: 26100.6584 Other Software: N/A
Problem
Using Windows Terminal with PowerShell in a light Windows theme or high-contrast mode can make text unreadable.
Most default color schemes are designed for dark backgrounds, so light text may blend with light backgrounds, making PowerShell difficult or impossible to read.
Steps to Reproduce
Set Windows to a light high-contrast theme.
Note: Dark mode or faint text in light mode is unreadable; Windows lacks truly high-contrast themes.
Open PowerShell in Windows Terminal.
Set any of the light color themes.
Try to use PowerShell.
Expected Behavior
In light mode, all text should be dark (e.g., black).
In dark mode, all text should be light (e.g., white).
High-contrast themes should respect visibility rules.
Actual Behavior
In light mode, most text appears white or very light, making it indistinguishable from the background.
This makes PowerShell unusable in light/high-contrast modes.
Suggested Solutions
1. Use a Light-Friendly Predefined Color Scheme
Go to Settings → Color schemes.
Select a light scheme such as:
Campbell
Tango Light
One Half Light
Apply it to your PowerShell profile.
2. Create a Custom Light/High-Contrast Color Scheme
Set background: #FFFFFF
Set foreground: #000000
Adjust ANSI colors to dark shades for readability.
For what it is worth, these colors are chosen directly by PowerShell and we have limited control over them.
High contrast mode automatically enables1 "adjust indistinguishable colors", which mitigates this effect completely by darkening the yellow and the white.
can you see whether you have that setting disabled in the Appearance section of your PowerShell profile settings?
I'm seeing the same issue. I followed https://superuser.com/a/1861874/618270 to make colorScheme follow the Windows system theme light / dark mode (and not just the Terminal application theme). However, my first test of this revealed the Powershell issue. I then set Automatically adjust lightness of indistinguishable text = Always to attempt rectify that, but see no change.
Here is an excerpt from my settings.json after manual edits to add dark/light mode switching, and then after automatic edit to automatically distinguish colors.
Alright, I took a closer look at this. Here's what I found:
PowerShell uses its own colors (as mentioned earlier in the thread). Looks like you can check them using Get-PSReadLineOption, which shows that "$([char]0x1b)[37m" is used. That evaluates to using the white color in the Terminal's color scheme.
One Half Light is defined in the defaults.json here
I opened two instances of Windows PowerShell using One Half Light: one with "adjust indistinguishable colors" set to always and another disabled. Here's the results:
adjustIndistinguishableColors enabled
adjustIndistinguishableColors disabled
At the end of the day, adjustIndistinguishableColors should result in the text being legible. It's surprising to see that it ended up doing the opposite! I think the move here is to fix that since updating PSReadLine's colors is out of our purview and color schemes in general can result in low contrast text. The adjustIndistinguishableColors setting should fix it and make all text legible.
Activity
kesharwaniayush commentedon Oct 11, 2025
Windows Terminal Light/High-Contrast Text Visibility
Windows Terminal version: 1.22.12111.0
Windows build number: 26100.6584
Other Software: N/A
Problem
Using Windows Terminal with PowerShell in a light Windows theme or high-contrast mode can make text unreadable.
Most default color schemes are designed for dark backgrounds, so light text may blend with light backgrounds, making PowerShell difficult or impossible to read.
Steps to Reproduce
Expected Behavior
Actual Behavior
Suggested Solutions
1. Use a Light-Friendly Predefined Color Scheme
CampbellTango LightOne Half Light2. Create a Custom Light/High-Contrast Color Scheme
#FFFFFF#000000Example JSON scheme:
{ "name": "HighContrastLight", "background": "#FFFFFF", "foreground": "#000000", "black": "#000000", "red": "#800000", "green": "#008000", "yellow": "#808000", "blue": "#000080", "purple": "#800080", "cyan": "#008080", "white": "#C0C0C0", "brightBlack": "#808080", "brightRed": "#FF0000", "brightGreen": "#00FF00", "brightYellow": "#FFFF00", "brightBlue": "#0000FF", "brightPurple": "#FF00FF", "brightCyan": "#00FFFF", "brightWhite": "#FFFFFF" }3. Handle Windows High Contrast Mode
High-contrast themes may override terminal colors.
Options:
4. Enable Legacy Console Colors
Recommended Approach
lhecker commentedon Oct 13, 2025
Can you please post a screenshot of the issue?
MarjaE2 commentedon Oct 13, 2025
The 1st part is yellow and almost unreadable, the last white and completely unreadable.
DHowett commentedon Oct 13, 2025
For what it is worth, these colors are chosen directly by PowerShell and we have limited control over them.
High contrast mode automatically enables1 "adjust indistinguishable colors", which mitigates this effect completely by darkening the yellow and the white.
can you see whether you have that setting disabled in the Appearance section of your PowerShell profile settings?
Footnotes
unless you have disabled this feature. ↩
MarjaE2 commentedon Oct 13, 2025
It was disabled by default. I enabled it. I get:
It doesn't seem to affect white-on-white text.
DHowett commentedon Oct 13, 2025
Interesting. Can you share your settings.json after that? Sorry!
MarjaE2 commentedon Oct 13, 2025
{ "$help": "https://aka.ms/terminal-documentation", "$schema": "https://aka.ms/terminal-profiles-schema", "actions": [], "copyFormatting": "none", "copyOnSelect": false, "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "disableAnimations": true, "keybindings": [ { "id": "Terminal.CopyToClipboard", "keys": "ctrl+c" }, { "id": "Terminal.PasteFromClipboard", "keys": "ctrl+v" }, { "id": "Terminal.DuplicatePaneAuto", "keys": "alt+shift+d" } ], "newTabMenu": [ { "type": "remainingProfiles" } ], "profiles": { "defaults": { "adjustIndistinguishableColors": "always", "colorScheme": "One Half Light" }, "list": [ { "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "hidden": false, "name": "Windows PowerShell" }, { "commandline": "%SystemRoot%\\System32\\cmd.exe", "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", "hidden": false, "name": "Command Prompt" }, { "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "hidden": false, "name": "PowerShell", "source": "Windows.Terminal.PowershellCore" }, { "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", "hidden": false, "name": "Azure Cloud Shell", "source": "Windows.Terminal.Azure" }, { "guid": "{51855cb2-8cce-5362-8f54-464b92b32386}", "hidden": false, "name": "Ubuntu", "source": "CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc" }, { "guid": "{e7ed9e10-6f40-54fe-8f56-127f7e23a1ac}", "hidden": false, "name": "Ubuntu", "source": "Microsoft.WSL" }, { "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": true, "name": "Ubuntu", "source": "Windows.Terminal.Wsl" } ] }, "schemes": [], "theme": "system", "themes": [] }ukanuk commentedon Oct 19, 2025
I'm seeing the same issue. I followed https://superuser.com/a/1861874/618270 to make
colorSchemefollow the Windows system theme light / dark mode (and not just the Terminal application theme). However, my first test of this revealed the Powershell issue. I then setAutomatically adjust lightness of indistinguishable text=Alwaysto attempt rectify that, but see no change.Here is an excerpt from my
settings.jsonafter manual edits to add dark/light mode switching, and then after automatic edit to automatically distinguish colors.carlos-zamora commentedon Oct 22, 2025
Alright, I took a closer look at this. Here's what I found:
Get-PSReadLineOption, which shows that"$([char]0x1b)[37m"is used. That evaluates to using thewhitecolor in the Terminal's color scheme.alwaysand another disabled. Here's the results:adjustIndistinguishableColorsenabledadjustIndistinguishableColorsdisabledAt the end of the day,
adjustIndistinguishableColorsshould result in the text being legible. It's surprising to see that it ended up doing the opposite! I think the move here is to fix that since updating PSReadLine's colors is out of our purview and color schemes in general can result in low contrast text. TheadjustIndistinguishableColorssetting should fix it and make all text legible.zadjii-msft commentedon Oct 29, 2025
Pretty sure this has been discussed previously in #15452 most specifically.
Also relevant to #12999
DHowett commentedon Oct 29, 2025
Specifically this comment and beyond: #15452 (comment)
DHowett commentedon Oct 29, 2025
I'm gonna close this one out as a duplicate of 15452 and move that one into the "frontlog"