Is it possible to change the default terminal emulator on Windows (7 and 8 in particular) from Console to, for example, Console2 or ConEmu? In essence, I want all command line tools, whether launched by double clicking, from "Run" or by other processes to use the custom terminal.

This is a trivial matter on Linux, is it even possible on Windows?

It would be especially helpful if this could be done via a script.

  • 5
    s/terminal emulator/shell? (cmd.exe is not a terminal emulator, it is a shell.) – Hennes Nov 23 '12 at 14:06
  • As I understand it, both the the shell and the terminal emulator share the name. If it's not the case, I have no idea how the actual terminal emulator window is called. – Aleksandrs Ulme Nov 23 '12 at 17:13
  • 2
    Hey, it is called "console" ;) Hennes is absolutely right, for example, when you Win+R "powershell" - it will be started in the same terminal as "cm.exe" – Maximus Nov 23 '12 at 17:22

Default terminal

You may set up ConEmu as default terminal for cmd.exe, tcc.exe, powershell.exe or any other console application. In fact, you choose from what application you need to run any console application, even from Visual Studio for debugging your console applications.

ConEmu's Default Terminal set up

Just turn on checkbox, point applications from you like to start console tools (for example explorer.exe|totalcmd.exe|wdexpress.exe) and voila. You may press Win+R type ipconfig /all and press Enter. You may even start your console application in Visual Studio debugger. New console will starts attached to the new ConEmu tab. You may also doubleclick on some executable in the Explorer window.

You may find more information about the feature in the project wiki: DefaultTerminal.


Also, there is an alternative less preferable way to auto run ConEmu on cmd.exe and tcc.exe startup. Just press "Register ConEmu autorun" in Settings -> ComSpec.

  • 5
    Thank you, although I am looking for a more general solution! Also, thank you for your work on ConEmu, it's amazing! – Aleksandrs Ulme Nov 23 '12 at 17:13
  • 7
    "General" solution is impossible in Windows. – Maximus Nov 23 '12 at 17:20
  • Though so, thank you! Too bad I can not mark the comment as the accepted answer. – Aleksandrs Ulme Nov 23 '12 at 17:26
  • 5
    Answer updated, new build arrives. – Maximus Nov 25 '12 at 2:02
  • 4
    This is an amazing program. I was all happy with Consol2. Till I found this. This takes the whole think to a whole new level. Thank you man. It makes me wonder how I never heard of it. – stardust May 7 '13 at 16:29

In order to change the default shell to anything, you have to change the ComSpec environmental variable.

On Windows 7, you Right click My ComputerPropertiesAdvanced system settings (on the left pane). Go down to the bottom and select Environment Variables.... Change the ComSpec to whatever shell application you want.

The default value is %SystemRoot%\system32\cmd.exe.

For PowerShell it is %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe.

System properties window

Environment Variables window

  • This answer is even better, because it doesn't imply dependence on 3rd party apps. – setec Dec 9 '20 at 8:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.