[Bug] cmder loads very slowly under Windows
Version Information
Cmder version: v1.3.21 (1.3.20.151)
Clink: v1.4.11
git: version 2.39.1.windows.1
ConEmu: 221218 [64] Stable
Operating system: Windows 10 Pro 22H2 (Build 19045.2486)
Cmder Edition
Cmder Full (with Git)
Description of the issue
Since the latest Windows 10 update 22H2, it takes 30 seconds or more for cmder to load. It also takes this long when creating new tab windows in cmder. The problem exists with different Windows 10 computers at different work spaces and locations (private, work and Home Office).
How to reproduce
No response
Additional context
No response
Checklist
- [X] I have read the documentation.
- [X] I have searched for similar issues and found none that describe my issue.
- [X] I have reproduced the issue on the latest version of Cmder.
- [X] I am certain my issues are not related to ConEmu, Clink, or other third-party tools that Cmder uses.
Same here!
Cmder version: v1.3.21 (1.3.20.151)
Clink: v1.4.10.45c041
git: version 2.39.0.windows.1
ConEmu: 221218 [64] Stable
Operating system: Windows 11 Pro 22H2 (Build 22621.1105)
Hi, Same here , it takes 20 or more seconds with /f and close to 60 without /f . Also tried adding variable of git location , this improves startup for few seconds.
Elapsed Time: 0:0:22.87 (22.87s total)
Microsoft Windows [Version 10.0.19045.2251] - Windows 10 Pro 22H2 cmder 1.3.20.151
I am using Cmder 1.3.21 Mini version, with Windows 10 Pro 22H2 19045.2486, and it takes about 2 seconds to start.
I have git for Windows installed, and Cmder finds it successfully.
I can not duplicate this.
I can not duplicate this.
Is there any thing we can do to help you to reproduce this?
Don't know if it helps but starting Cmder I can see rotating cmd.exe and findstr.exe in the lower tab:

Happens on my Windows 10 Pro private PC and my Windows 11 Pro office PC. On the office PC the startup takes significant more time than on the Win 10 machine.
- Win 10: 10 sec
- Win 11: 30 sec
@mpitz 10 seconds is too long. The difference between home and work pc does not surprise me at all. Work PCs are commonly reported as slower with Cmder.
@daxgames maybe, but my work PCs has no extra firewall restrictions, I'am admin user. It's like a private PC.
When I said I can not reproduce this I was in a hurry. The only Windows 10 I have tested on is version 10.0.19044 21H2.2486 and according to Windows Ulpdate is up to date.
I am running Windows 10 on a 8GB Virtualbox VM on an older I5 laptop with slow spindle HDD and even on this older system Cmder starts in 3.68 seconds.
I will try and find another system in my stack of old hardware and see what I have to try and reproduce but if I can't get the version you guys say the issue started at I'm not sure what to do.
@mpitz I'm just telling you historical experience. It comes up a lot.
Version mini and full at Microsoft Windows [Version 10.0.22621.1105] is very slow. It was checked on 128 GB RAM, 13700 CPU so hardware should will not be issue here. Older version on laptop is extremaly fast in comparision.
Here are some ideas to try, to learn more about where the delay is coming from:
- Try using Task Manager or Process Explorer to observe what processes are using CPU during the 10-30 second delay. For example, it might show that some antivirus system is spending a lot of CPU.
- Try
set PATHto check what the system path looks like. For example, if it has UNC paths in the system PATH then that will make network calls when searching to find executables, and that could introduce delays. Or there might be extra unexpected paths in the PATH that might slow things down.
Don't know if it helps but starting Cmder I can see rotating cmd.exe and findstr.exe in the lower tab:
Happens on my Windows 10 Pro private PC and my Windows 11 Pro office PC. On the office PC the startup takes significant more time than on the Win 10 machine.
- Win 10: 10 sec
- Win 11: 30 sec
Absolutely the same here for me on Win 10 with cmder mini. I also tried to observe Task manager, but nothing significant there... Any idea what could cause it?
What does set PATH report? For this, please copy/paste the actual text, not a screenshot (screenshots are images, so the text is not accessible, and trying to transcribe it into actual text is a time-consuming and error-prone process).
I ask because I see multiple findstr calls in the .bat and .cmd scripts that are part of Cmder, and many of them involve trying to analyze the %PATH% variable. It could potentially be possible for certain content in the %PATH% to lead to various problems, so examining the %PATH% can be a constructive diagnostic step.
Same. I extracted cmder.zip on a fresh install of Win10 22H2, and it takes up to 50sec to start.

- Found a system and got Windows 10 22H2 installed.
- Downloaded Cmder Full 1.3.21 from the
cmder.appweb site.- The version file in the archive says it is
1.3.20.151and not1.3.21. See #2818.
- The version file in the archive says it is
- I unziped and ran
cmder.exe.- Launch speed seemed normal to me for a first launch.
- Git for windows did its initial install thing.
- I added
/tto thecmd::Cmdertask, saved and relaunched. Had to do this twice for some reason??? - Cmder started in less than 2 seconds.
- Hardware is an older Intel i7 with 512Gb SSD and 16 GB RAM.
I cannot reproduce this issue.
I would love to see the output of path commands as requested above.
Here's some debug-output:
DEBUG(init.bat): Env Var - CMDER_ROOT=C:\<redacted-path>\Cmder
DEBUG(init.bat): Env Var - debug_output=1
DEBUG(init.bat): Looking for Git install root...
DEBUG(:read_version): Env Var - git_executable=C:\<redacted-path>\Cmder\vendor\git-for-windows\cmd\git.exe
DEBUG(:read_version): Env Var - GIT_VERSION_VENDORED=2.39.0.windows.1
DEBUG(:validate_version): ARGV[1]=VENDORED, ARGV[2]=2.39.0.windows.1
DEBUG(:parse_version): ARGV[1]=VENDORED, ARGV[2]=2.39.0.windows.1
DEBUG(:validate_version): Found Git Version for VENDORED: 2.39.0.windows.1
DEBUG(:read_version): Env Var - git_executable=C:\<redacted-path>\git-2.39.0\cmd\git.exe
DEBUG(:read_version): Env Var - GIT_VERSION_USER=2.39.0.windows.2
DEBUG(:get_user_git_version): get_user_git_version GIT_VERSION_USER: 2.39.0.windows.2
DEBUG(:validate_version): ARGV[1]=USER, ARGV[2]=2.39.0.windows.2
DEBUG(:parse_version): ARGV[1]=USER, ARGV[2]=2.39.0.windows.2
DEBUG(:validate_version): Found Git Version for USER: 2.39.0.windows.2
DEBUG(:compare_versions): Comparing:
DEBUG(:compare_versions): USER: 2.39.0.windows.2
DEBUG(:compare_versions): VENDORED: 2.39.0.windows.1
DEBUG(:compare_git_versions): campare versions_result: 1
DEBUG(init.bat): Using found Git '2.39.0.windows.2' from 'C:\<redacted-path>\git-2.39.0...
DEBUG(init.bat): Using Git from 'C:\<redacted-path>\git-2.39.0...
DEBUG(:enhance_path): Env Var INSIDE PATH C:\\<redacted-path>\\git-2.39.0\\cmd - found=1
DEBUG(:enhance_path): Env Var BEGIN PATH C:\\<redacted-path>\\git-2.39.0\\cmd - found=1
DEBUG(:enhance_path): Env Var INSIDE PATH C:\\<redacted-path>\\git-2.39.0\\mingw64\\bin - found=1
DEBUG(:enhance_path): Env Var END PATH C:\\<redacted-path>\\git-2.39.0\\mingw64\\bin - found=1
DEBUG(:enhance_path): Env Var INSIDE PATH C:\\<redacted-path>\\git-2.39.0\\usr\\bin - found=1
DEBUG(:enhance_path): Env Var END PATH C:\\<redacted-path>\\git-2.39.0\\usr\\bin - found=1
DEBUG(init.bat): Env Var - GIT_INSTALL_ROOT=C:\<redacted-path>\git-2.39.0
DEBUG(init.bat): Found Git in: 'C:\<redacted-path>\git-2.39.0'
DEBUG(:enhance_path): Env Var INSIDE PATH C:\\<redacted-path>\\Cmder\\vendor\\bin - found=0
DEBUG(:enhance_path): Env Var END PATH C:\\<redacted-path>\\Cmder\\vendor\\bin - found=0
DEBUG(:enhance_path): Appending 'C:\<redacted-path>\Cmder\vendor\bin'
DEBUG(:enhance_path): END Env Var - PATH=C:\<redacted-path>\Cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\<redacted-path>\Cmder\vendor\conemu-maximus5;C:\<redacted-path>\Cmder\vendor\conemu-maximus5\ConEmu;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\dotnet\;C:\Program Files\Docker\Docker\resources\bin;;C:\<redacted-path>\git-2.39.0\bin;C:\<redacted-path>\git-2.39.0\cmd;C:\<redacted-path>\git-2.39.0\mingw64\bin;C:\<redacted-path>\git-2.39.0\usr\bin;C:\<redacted-path>\Gradle\gradle-7.6\bin;C:\<redacted-path>\Haskell\ghc-8.10.4\bin;C:\<redacted-path>\Java\jdk-17.0.2\bin;C:\<redacted-path>\JetBrains\scripts;C:\<redacted-path>\Kubernetes\bin;C:\<redacted-path>\Make\bin;C:\<redacted-path>\Maven\apache-maven-3.6.3\bin;C:\<redacted-path>\Node\node-18.13.0;C:\<redacted-path>\PHP\php-8.1.3;C:\<redacted-path>\PHP\composer;C:\<redacted-path>\Python\python-3.8.1;C:\<redacted-path>\Terraform;;C:\Users\<redacted>\AppData\Local\Microsoft\WindowsApps;C:\Users\<redacted>\.dotnet\tools;C:\<redacted-path>\Cmder\vendor\bin
DEBUG(:enhance_path): Env Var C:\\<redacted-path>\\Cmder\\vendor\\bin - found=1
DEBUG(:enhance_path_recursive): Env Var - add_path=
DEBUG(:enhance_path_recursive): Env Var - position=append
DEBUG(:enhance_path_recursive): Env Var - depth=0
DEBUG(:enhance_path_recursive): Env Var - max_depth=1
DEBUG(:enhance_path): Env Var INSIDE PATH C:\\<redacted-path>\\Cmder - found=0
DEBUG(:enhance_path): Env Var END PATH C:\\<redacted-path>\\Cmder - found=0
DEBUG(:enhance_path): Appending 'C:\<redacted-path>\Cmder'
DEBUG(:enhance_path): END Env Var - PATH=C:\<redacted-path>\Cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\<redacted-path>\Cmder\vendor\conemu-maximus5;C:\<redacted-path>\Cmder\vendor\conemu-maximus5\ConEmu;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\dotnet\;C:\Program Files\Docker\Docker\resources\bin;;C:\<redacted-path>\git-2.39.0\bin;C:\<redacted-path>\git-2.39.0\cmd;C:\<redacted-path>\git-2.39.0\mingw64\bin;C:\<redacted-path>\git-2.39.0\usr\bin;C:\<redacted-path>\Gradle\gradle-7.6\bin;C:\<redacted-path>\Haskell\ghc-8.10.4\bin;C:\<redacted-path>\Java\jdk-17.0.2\bin;C:\<redacted-path>\JetBrains\scripts;C:\<redacted-path>\Kubernetes\bin;C:\<redacted-path>\Make\bin;C:\<redacted-path>\Maven\apache-maven-3.6.3\bin;C:\<redacted-path>\Node\node-18.13.0;C:\<redacted-path>\PHP\php-8.1.3;C:\<redacted-path>\PHP\composer;C:\<redacted-path>\Python\python-3.8.1;C:\<redacted-path>\Terraform;;C:\Users\<redacted>\AppData\Local\Microsoft\WindowsApps;C:\Users\<redacted>\.dotnet\tools;C:\<redacted-path>\Cmder\vendor\bin;C:\<redacted-path>\Cmder
DEBUG(:enhance_path): Env Var C:\\<redacted-path>\\Cmder - found=1
DEBUG(init.bat): Env Var - HOME=C:\Users\<redacted>
DEBUG(init.bat): Calling - C:\<redacted-path>\Cmder\config\user_profile.cmd
Elapsed Time: 0:0:45.32 (45.32s total)
Note that this behavior I had first experiened on Windows 10 22H1 when I updated Cmder from an older version. I don't know which version I had before, but with that, the startup-time was 1-2sec.
Same problem here when I started Cmder today after I haven't used it for 2-3 weeks:

Output of set PATH:
Path=E:\Tools\Cmder\vendor\git-for-windows\cmd;E:\Tools\Cmder\vendor\conemu-maximus5\ConEmu\Scripts;E:\Tools\Cmder\vendor\conemu-maximus5;E:\Tools\Cmder\vendor\conemu-maximus5\ConEmu;C:\Program Files\Java\jdk1.8.0_361\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;E:\Tools\Alacritty;E:\Tools\apache-ant-1.10.5\bin;C:\Users\*MyUsername*\AppData\Local\bin\NASM;D:\Program Files\CMake\bin;E:\Programme\Video\Konvertieren\FFmpeg;E:\Programme\Dokumente\AtomPortable\Tools\Node.js;E:\Tools\Cmder\vendor\git-for-windows\usr\bin;E:\Tools\Cmder\vendor\git-for-windows\bin;E:\Tools\Cmder;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Crucial\Crucial Storage Executive;C:\Program Files\dotnet\;C:\Program Files\gs\gs9.56.1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Users\*MyUsername*\.cargo\bin;E:\Program Files\Python\Python37\Scripts\;E:\Program Files\Python\Python37\;C:\Users\*MyUsername*\AppData\Local\Microsoft\WindowsApps;E:\Tools\Cmder\vendor\git-for-windows\mingw64\bin;E:\Tools\Cmder\vendor\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
path_position=append
@d4k0 While this probably isn't responsible for the delay, that PATH variable has several duplicates:
- 3 copies of c:\windows
- 3 copies of c:\windows\system32
- 2 copies of c:\windows\system32\openssh
- 3 copies of c:\windows\system32\wbem
- 3 copies of c:\windows\system32\windowspowershell\v1.0
Repeated directories can slow down launching programs, by searching the directories multiple times. Cleaning up the variable might be generally useful, but the duplicate directories probably aren't causing 40 seconds of slowdown, so the cause is probably something else yet to be discovered.
In the meantime, if you clean that up, make a backup copy of the contents of the PATH variable first, so that it can be restored if something goes wrong while cleaning it up.
Can someone try downgrading to an older version of Cmder or ConEmu, and see if the problem goes away?
If downgrading ConEmu resolves the problem, then the issue is likely something in ConEmu, not Cmder.
If downgrading ConEmu doesn't resolve the problem, but downgrading Cmder resolves the problem, then there would be a possibility that the issue might be due to some recent change in the Cmder scripts.
I'll try it tomorrow. 👍
@DRSDavidSoft @daxgames cmder init debug logging can show elapsed time of the whole init. Is there a way to see times along the way, to help identify where delays occur?
@andrej-dyck is there really something in your path worth redacting?
@andrej-dyck is there really something in your path worth redacting?
Yes. But all paths only use the English letters and some use a space in-between words.
@chrisant996 not currently
@chrisant996 I have an older version of mini that i haven't updated in a while and that used to work fine(1.3.16.1035 with conemu 210912). Problem manifests same as with a freshly downloaded version.
@daxgames I've cleaned my path and that didn't help, so that's not it. I'm also unable to replicate this in a fresh VM with an up to date W10. Tricky. I was going to ask the same as @chrisant996 about a timestamped log file...
Looking at what it would take to add timestamps to the log.can't guarantee anything. My Bengals are playing and I am watching that. GO BENGALS - WOD-DEY!
@Hlsgs Slowness is USUALLY something on the host that is inspecting every API call, usually some Antivirus or Data Loss Prevention security tool. We see this mostly on corporate managed systems.
Has anyone tried using /f on the Conemu task?