Forum Discussion

bronze's avatar
bronze
New Contributor
2 months ago

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 object

Environment:

  • 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:

  1. Reinstalled WSL on Windows.
  2. Disabled and Re-enabled SSH Agent on the Windows app
  3. Reinstalled 1password-cli inside WSL through the official page
  4. Restarted WSL and my machine.

Same result: op-ssh-sign-wsl is not created.

Thanks in advance.

8 Replies

  • MrMecha's avatar
    MrMecha
    New 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.

    • MrMecha's avatar
      MrMecha
      New Contributor

      The link isn't attaching like it should but the 1password article is called "Sign Git commits with SSH"

      • zealialize's avatar
        zealialize
        New 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

         

  • zealialize's avatar
    zealialize
    New 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.exe

    However, 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/WindowsApps

    Therefore, we were able to confirm that it works with the following settings as well.

    [gpg "ssh"]
    	program = op-ssh-sign-wsl.exe

    This is just my own guess, so for now I’d like to get by with this simple setup and wait for the official announcement.

  • ukhan's avatar
    ukhan
    New Contributor

    Try this

    [gpg "ssh"]
        program = /mnt/c/Users/bronze/AppData/Local/Microsoft/WindowsApps/op-ssh-sign-wsl.exe

     

    • bronze's avatar
      bronze
      New 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

       

  • ukhan's avatar
    ukhan
    New 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.

    • bronze's avatar
      bronze
      New 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 object

      but 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.