Why does Windows say ssh is not recognised?
This error occurs before a network connection is attempted. Usually Windows cannot locate ssh.exe in the current command search path, or the OpenSSH Client feature is missing. Confirm the executable and shell environment first.
Instructions
1. Find any installed executable
Use the syntax for your current shell. PowerShell has a where alias, so use where.exe when you need the Windows executable.
Get-Command ssh.exe -All -ErrorAction SilentlyContinue
where.exe sshThe first command shows all discovered SSH applications; the second searches the Windows command path.
2. Test the Windows optional-feature location
If using Microsoft OpenSSH, check its normal Windows location without modifying PATH.
Test-Path "$env:WINDIR\System32\OpenSSH\ssh.exe"
& "$env:WINDIR\System32\OpenSSH\ssh.exe" -VRun the second command only if Test-Path returns True. The call operator executes a quoted executable path.
3. Resolve the specific cause
If the feature is absent, install the approved OpenSSH client. If the absolute path works, reopen the terminal and inspect the machine or user PATH through approved Windows settings. Avoid commands that overwrite PATH wholesale, since that can break unrelated tools.
Check the result
- The trusted absolute executable path returns its version.
- A new terminal resolves ssh.exe to that same installation.
Troubleshooting
- The absolute path does not exist
- Check the OpenSSH Client optional feature or the documentation for your approved alternate installation.
- A different ssh.exe appears first
- Identify which application supplied it. Use a known absolute path while resolving the intended command precedence.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
