Signing git commits fails

robertodr
robertodr
Community Member
edited March 2023 in SSH

I have set up 1Password to be my SSH agent. I've followed this guide to also sign my commits with my SSH instead of my GPG key. However, I get:

$ git commit -m "chore: evaluate up to order 32"
error: agent returned an error

fatal: failed to write commit object

Re-running the command with GIT_TRACE=1 gives some more detail:

$ GIT_TRACE=1 git commit -m "chore: evaluate up to order 32"
07:56:10.865206 git.c:460               trace: built-in: git commit -m 'chore: evaluate up to order 32'
07:56:10.866144 run-command.c:1523      run_processes_parallel: preparing to run up to 1 tasks
07:56:10.866160 run-command.c:655       trace: run_command: GIT_EDITOR=: GIT_INDEX_FILE=.git/index .git/hooks/pre-commit
07:56:10.872238 git.c:750               trace: exec: git-annex pre-commit .
07:56:10.872280 run-command.c:655       trace: run_command: git-annex pre-commit .
07:56:10.882417 git.c:460               trace: built-in: git config --null --list
07:56:10.885478 git.c:460               trace: built-in: git symbolic-ref -q HEAD
07:56:10.887756 git.c:460               trace: built-in: git show-ref refs/heads/main
07:56:10.890362 git.c:460               trace: built-in: git diff --cached --name-only -z --diff-filter=ACMRT -- .
07:56:10.893499 git.c:460               trace: built-in: git symbolic-ref -q HEAD
07:56:10.895796 git.c:460               trace: built-in: git show-ref refs/heads/main
07:56:10.900968 run-command.c:1551      run_processes_parallel: done
07:56:10.901897 run-command.c:655       trace: run_command: /nix/store/60nj3ab2lcvw1pfm49dywmr922mk1kxk-1password-8.10.0/share/1password/op-ssh-sign -Y sign -n git -f /tmp/.git_signing_key_tmpMnv6pa /tmp/.git_signing_buffer_tmpiSuthd
error: agent returned an error

fatal: failed to write commit object

I've followed the troubleshooting instructions in the linked article and everything looks like it should, i.e. I don't have local overrides of the signing options. This is how the relevant parts of my Git configuration (stored in .config/git/config) looks like:

[gpg]
    format = "ssh"

[gpg "ssh"]
    program = "/nix/store/60nj3ab2lcvw1pfm49dywmr922mk1kxk-1password-8.10.0/share/1password/op-ssh-sign"

[commit]
    gpgSign = true

[tag]
    gpgSign = true

[user]
    signingkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIODV5S21+jV0900ubPoYvdHol/xfbJjVhxayuMEFuPKo"

I'm running on NixOS and this file is generated by home-manager.


1Password Version: 8.10.0
Extension Version: 2.8.1
OS Version: NixOS 23.05.20230317.b573a7f
Browser:_ Brave

Comments

This discussion has been closed.