Turning legacy console on, then off, sets the defaultforeground to black #4131

Closed
opened 2026-01-30 23:38:58 +00:00 by claunia · 2 comments
Owner

Originally created by @fpqc on GitHub (Sep 29, 2019).

Windows Build: 18990.1 Insiders Fast Ring

I was messing around with the console, and I enabled the legacy console feature to test something with VT sequence processing. Bash wouldn't even launch, so I went to change it back to the modern console. When I did this, I was no longer able to run cmd at all from the Run dialog, producing a completely black window. I tried a logoff, then a reboot, and the problem still persisted. I am no longer able to run cmd from the Run Dialog

Please help!

Edit: I was able to fix this by deleting the regkey
HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe

I suspect that turning the legacy console on and off is writing a bad key that puts the console in a bad state.

Edit 2: I was just able to reproduce it by performing the same sequence of actions again. Turning legacy console on then off creates the following values in the registry:

image

Something here breaks the modern console.

Edit 3: I found the culprit. The default foreground color is being set to black (0) when you disable legacy console.

Originally created by @fpqc on GitHub (Sep 29, 2019). Windows Build: 18990.1 Insiders Fast Ring I was messing around with the console, and I enabled the legacy console feature to test something with VT sequence processing. Bash wouldn't even launch, so I went to change it back to the modern console. When I did this, I was no longer able to run cmd at all from the Run dialog, producing a completely black window. I tried a logoff, then a reboot, and the problem still persisted. I am no longer able to run cmd from the Run Dialog Please help! Edit: I was able to fix this by deleting the regkey ``HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe`` I suspect that turning the legacy console on and off is writing a bad key that puts the console in a bad state. Edit 2: I was just able to reproduce it by performing the same sequence of actions again. Turning legacy console on then off creates the following values in the registry: ![image](https://user-images.githubusercontent.com/6083371/65824841-375f1d80-e267-11e9-8069-c9aa872ae36e.png) Something here breaks the modern console. Edit 3: I found the culprit. The default foreground color is being set to black (0) when you disable legacy console.
claunia added the Needs-TriageNeeds-Tag-Fix labels 2026-01-30 23:38:58 +00:00
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 29, 2019):

Couple fixes going into Windows for this, actually: 😄 #2651 #2855
Sorry for the inconvenience!

@DHowett-MSFT commented on GitHub (Sep 29, 2019): Couple fixes going into Windows for this, actually: :smile: #2651 #2855 Sorry for the inconvenience!
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 29, 2019):

Also, legacy console has practically no VT processing. It’s probably on par with DOS’s ANSI.SYS from a hundred years ago.

Anyway, closing as a dup.

@DHowett-MSFT commented on GitHub (Sep 29, 2019): Also, legacy console has practically no VT processing. It’s probably on par with DOS’s `ANSI.SYS` from a hundred years ago. Anyway, closing as a dup.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4131