Allow conhost to be replaced with OpenConsole #22391

Open
opened 2026-01-31 08:11:55 +00:00 by claunia · 3 comments
Owner

Originally created by @lhecker on GitHub (Oct 14, 2024).

Description of the new feature/enhancement

conhost can lack behind OpenConsole by several (if not many) years. This brings 2 problems:

  • People preferring conhost's look and feel cannot get updates for many years.
  • We (the maintainers) cannot test new features and changes for many years.

In other words, not being able to replace conhost is a lose-lose situation.

Proposed technical implementation details (optional)

  • Ship a conhost package in the store that replaces the system conhost, just like how notepad does it.
  • Consider doing the same for the Windows Terminal Canary package so that we can get a slightly better usage coverage.
Originally created by @lhecker on GitHub (Oct 14, 2024). # Description of the new feature/enhancement conhost can lack behind OpenConsole by several (if not many) years. This brings 2 problems: * People preferring conhost's look and feel cannot get updates for many years. * We (the maintainers) cannot test new features and changes for many years. In other words, not being able to replace conhost is a lose-lose situation. # Proposed technical implementation details (optional) * Ship a conhost package in the store that replaces the system conhost, just like how notepad does it. * Consider doing the same for the Windows Terminal Canary package so that we can get a slightly better usage coverage.
claunia added the Issue-FeatureProduct-ConhostNeeds-Tag-Fix labels 2026-01-31 08:11:55 +00:00
Author
Owner

@0wwafa commented on GitHub (Oct 17, 2024):

So you are planning to use App Execution Alias for conhost.exe?

I tried that adding a registry entry:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\conhost.exe]
@="I:\OpenConsole.exe"
"Path"="I:\"

but I think there is something else needed to test it properly (without overwriting the original conhost.exe)

@lhecker
any clue so I can test it?

The registry entry works if I call conhost.exe bash.exe from start/run,
But it does not if in start/run I just type: bash.exe

I also tried:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

But I get the same behaviour.

@0wwafa commented on GitHub (Oct 17, 2024): So you are planning to use App Execution Alias for conhost.exe? I tried that adding a registry entry: [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\conhost.exe] @="I:\\OpenConsole.exe" "Path"="I:\\" but I think there is something else needed to test it properly (without overwriting the original conhost.exe) @lhecker any clue so I can test it? The registry entry works if I call conhost.exe bash.exe from start/run, But it does not if in start/run I just type: bash.exe I also tried: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths But I get the same behaviour.
Author
Owner

@zadjii-msft commented on GitHub (Oct 17, 2024):

C O N H O S T
C O A S T
T O
C O A S T

@zadjii-msft commented on GitHub (Oct 17, 2024): C O N H O S T C O A S T T O C O A S T
Author
Owner

@lhecker commented on GitHub (Oct 18, 2024):

So you are planning to use App Execution Alias for conhost.exe?

That was the initial idea, but if it turns out to not work due to some platform limitation, then we'll have to modify the OS or use some other way to deploy it. The fact that it doesn't work for you seems to indicate that. I've also tried it, and it doesn't work for me either.

Edit: The solution is that we need to expose the name from a package. Modifying the registry like that only sets an alias for the shell / ShellExecute, e.g. like the Run dialog.

@lhecker commented on GitHub (Oct 18, 2024): > So you are planning to use App Execution Alias for conhost.exe? That was the initial idea, but if it turns out to not work due to some platform limitation, then we'll have to modify the OS or use some other way to deploy it. The fact that it doesn't work for you seems to indicate that. I've also tried it, and it doesn't work for me either. Edit: The solution is that we need to expose the name from a package. Modifying the registry like that only sets an alias for the shell / `ShellExecute`, e.g. like the Run dialog.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#22391