Protect what matters – even after you're gone. Make a plan for your digital legacy today.
Forum Discussion
bronze
2 months agoNew Contributor
Missing op-ssh-sign-wsl on Windows WSL
Hi team.
I am trying to use the 1Password SSH Agent with WSL2, but I keep getting this error when SSH is invoked:
fatal: cannot exec '/mnt/c/Users/bronze/AppData/Local/1Password/app/8/op-ssh-sign-wsl': No such file or directory
error:
fatal: failed to write commit objectEnvironment:
- Windows 10
- 1Password desktop installed and signed in
- SSH Agent enabled in 1Password desktop
- WSL2 (Ubuntu)
- op installed via the official 1Password page
- op --version: 2.32.0
Issue:
- Running SSH inside WSL fails because the binary op-ssh-sign-wsl is missing.
- Running:ls ~/.1password/agent shows no op-ssh-sign-wsl.
- op ssh commands are recognized or partially recognized, but signing still fails due to missing binary.
What I’ve tried:
- Reinstalled WSL on Windows.
- Disabled and Re-enabled SSH Agent on the Windows app
- Reinstalled 1password-cli inside WSL through the official page
- Restarted WSL and my machine.
Same result: op-ssh-sign-wsl is not created.
Thanks in advance.
8 Replies
- MrMechaNew Contributor
I had the same issue when committing changes to a gitlab repo. I found 1Password's documentation for editing this path.
https://developer.1password.com/docs/ssh/git-commit-signing/?utm_medium=organic&utm_source=oph&utm_campaign=windows
It seems the 1password app can make the needed changes automatically.
- MrMechaNew Contributor
The link isn't attaching like it should but the 1password article is called "Sign Git commits with SSH"
- zealializeNew Contributor
Thank you MrMecha-san, for sharing the documentation link. I also looked into it and was able to confirm the correct settings by following the steps in "Configure commit signing in a single repository" described in https://developer.1password.com/docs/ssh/git-commit-signing/#advanced-configuration .
Although some masking has been done, we were able to see the code snippet corresponding to the new path as shown below.
[user] signingkey = ssh-ed25519 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [gpg] format = ssh [gpg "ssh"] program = "/mnt/c/Users/{USERNAME}/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl.exe" [commit] gpgsign = true
- zealializeNew Contributor
I was also able to sign my commits successfully by using the same settings as ukhan-san.
[gpg "ssh"] program = /mnt/c/Users/{USERNAME}/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl.exeHowever, this is only my own speculation, but since PATH is configured as shown below, I believe it could be made into a simpler and smarter setup.
$ echo "${PATH//:/$'\n'}" | sort -u | sed -E 's|(/Users/)[^/]+|\1{USERNAME}|g' | grep /AppData/Local/Microsoft/WindowsApps /mnt/c/Users/{USERNAME}/AppData/Local/Microsoft/WindowsAppsTherefore, we were able to confirm that it works with the following settings as well.
[gpg "ssh"] program = op-ssh-sign-wsl.exeThis is just my own guess, so for now I’d like to get by with this simple setup and wait for the official announcement.
- ukhanNew Contributor
Try this
[gpg "ssh"] program = /mnt/c/Users/bronze/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl.exe- bronzeNew Contributor
This worked on VSCode and Failed on Cursor, for some reason.
error: 1Password: The system cannot find the path specified. (os error 3) fatal: failed to write commit object
- ukhanNew Contributor
Try changing '/mnt/c/Users/bronze/AppData/Local/1Password/app/8/op-ssh-sign-wsl' to '/mnt/c/Users/bronze/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl' in ~/.gitconfig.
The developers overlooked the fact that the file location has changed in the new version.- bronzeNew Contributor
weirdly, that isnt working either
fatal: cannot exec '/mnt/c/Users/bronze/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl': No such file or directory error: fatal: failed to write commit objectbut i opened the folder and the file is there. theres a `op-ssh-sign.exe` and a `op-ssh-sign-wsl.exe`
ive tried op-ssh-sign-wsl with and without .exe in the filename[gpg "ssh"] program = "/mnt/c/Users/bronze/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl"also, ive tried different git folders, and it doesn't throw an error if there are no changes, only when there are changes to commit.