How to Fix “unable to start ssh-agent service, error: 1058” and “‘eval’ is not recognized” on Windows
When working with SSH keys on Windows, you may encounter two common errors:
- “unable to start ssh-agent service, error: 1058”
- “‘eval’ is not recognized as the name of a cmdlet, function, script file, or operable program”
This article explains why these errors occur and provides a clear, step-by-step solution to get your SSH keys working on Windows.
What Causes These Errors?
- Error 1058: This means the SSH agent service (
OpenSSH Authentication Agent
) is installed but disabled or not running on your system. - ‘eval’ is not recognized: The
eval
command is a Unix/Linux shell command, not available in Windows PowerShell or Command Prompt.
Solution: Step-by-Step Guide
1. Enable and Start the SSH Agent Service
The SSH agent must be running to manage your SSH keys. Here’s how to enable it:
- Press Windows + R, type
services.msc
, and press Enter. - Scroll to OpenSSH Authentication Agent.
- Right-click and select Properties.
- Set Startup type to Manual or Automatic (Manual is often recommended for security)
- Click Start to run the service.
- Click OK to save and close.

Alternatively, you can do this via PowerShell (as Administrator):
powershellGet-Service ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
This ensures the agent is enabled and running
2. Add Your SSH Keys Using PowerShell
With the agent running, add your SSH keys:
powershellssh-add C:\Users\YourUsername\.ssh\id_rsa
Replace id_rsa
with your actual key file name if different.
3. Verify Loaded SSH Keys
Check that your keys are loaded:
powershellssh-add -l
This lists the fingerprints of all loaded keys.
4. Why ‘eval’ Doesn’t Work on Windows
- The
eval "$(ssh-agent -s)"
command is for Unix shells like Bash, not PowerShell or Command Prompt26. - On Windows, you do not need
eval
. Just ensure the agent service is running and usessh-add
as shown above.
If you need to evaluate a string as a command in PowerShell, use Invoke-Expression
, but for SSH agent management, this is unnecessary
Summary Table
Task | Action |
---|---|
Enable SSH Agent | Set “OpenSSH Authentication Agent” to Manual/Automatic and Start it |
Add SSH key (personal) | ssh-add C:\Users\YourUsername\.ssh\id_rsa_personal |
Add SSH key (work) | ssh-add C:\Users\YourUsername\.ssh\id_rsa_work |
List loaded keys | ssh-add -l |
Key Takeaways
- Do not use
eval
on Windows; it’s a Unix command not available in PowerShell or CMD. - Enable and start the OpenSSH Authentication Agent via Services or PowerShell.
- Use
ssh-add
to manage your SSH keys once the agent is running.
By following these steps, you will resolve both the “unable to start ssh-agent service, error: 1058” and “‘eval’ is not recognized” errors, enabling smooth SSH key management on Windows.