Git SSH is not working in Cursor, but does in a terminal

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

SSH was working with Cursor a few days ago, but I wanted to delete my SSH keys locally so that I could start over with a single one (I had so many and all with different encryption methods so I consolidated). After I deleted my SSH keys and created a new one I added my public key in my Git repository. Once I did I tried pushing my newest commit to the repo and it failed with this error:

$ git pull                                                       
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Here’s the output of ssh -vT [email protected]

$ ssh -vT [email protected]
debug1: OpenSSH_10.0p2, LibreSSL 3.3.6
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to tangled.sh port 22.
debug1: Connection established.
debug1: identity file /Users/ezrah/.ssh/id_rsa type -1
debug1: identity file /Users/ezrah/.ssh/id_rsa-cert type -1
debug1: identity file /Users/ezrah/.ssh/id_ecdsa type -1
debug1: identity file /Users/ezrah/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/ezrah/.ssh/id_ecdsa_sk type -1
debug1: identity file /Users/ezrah/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /Users/ezrah/.ssh/id_ed25519 type -1
debug1: identity file /Users/ezrah/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/ezrah/.ssh/id_ed25519_sk type -1
debug1: identity file /Users/ezrah/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /Users/ezrah/.ssh/id_xmss type -1
debug1: identity file /Users/ezrah/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_10.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_9.6p1 Ubuntu-3ubuntu13.11
debug1: compat_banner: match: OpenSSH_9.6p1 Ubuntu-3ubuntu13.11 pat OpenSSH* compat 0x04000000
debug1: Authenticating to tangled.sh:22 as 'git'
debug1: load_hostkeys: fopen /Users/ezrah/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-ed25519 SHA256:fLyp6ivr5HqmGI8yJiPYstTiJa2AXF/RAa9kF/ur1xo
debug1: load_hostkeys: fopen /Users/ezrah/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host 'tangled.sh' is known and matches the ED25519 host key.
debug1: Found key in /Users/ezrah/.ssh/known_hosts:11
debug1: ssh_packet_send2_wrapped: resetting send seqnr 3
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: Sending SSH2_MSG_EXT_INFO
debug1: expecting SSH2_MSG_NEWKEYS
debug1: ssh_packet_read_poll2: resetting read seqnr 3
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],rsa-sha2-512,rsa-sha2-256>
debug1: kex_ext_info_check_ver: [email protected]=<0>
debug1: kex_ext_info_check_ver: [email protected]=<0>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],rsa-sha2-512,rsa-sha2-256>
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
debug1: Will attempt key: /Users/ezrah/.ssh/id_rsa 
debug1: Will attempt key: /Users/ezrah/.ssh/id_ecdsa 
debug1: Will attempt key: /Users/ezrah/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /Users/ezrah/.ssh/id_ed25519 
debug1: Will attempt key: /Users/ezrah/.ssh/id_ed25519_sk 
debug1: Will attempt key: /Users/ezrah/.ssh/id_xmss 
debug1: Trying private key: /Users/ezrah/.ssh/id_rsa
debug1: Trying private key: /Users/ezrah/.ssh/id_ecdsa
debug1: Trying private key: /Users/ezrah/.ssh/id_ecdsa_sk
debug1: Trying private key: /Users/ezrah/.ssh/id_ed25519
debug1: Trying private key: /Users/ezrah/.ssh/id_ed25519_sk
debug1: Trying private key: /Users/ezrah/.ssh/id_xmss
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey).

My first thought was that this is a problem with Tangled, but then I tried the same thing in the regular MacOS terminal and it worked no problem. I was able to push to the repo. I tried in Cursor again, both in the Git UI and on the command line within Cursor, and both are failing. I made sure to use ssh-add on my new SSH key too before all of this and removed the old public tangled.sh key from my known_hosts file. I also tried killing the terminal within Cursor and reopening it. I even tried restarting Cursor and my computer.

Steps to Reproduce

Here’s what I did:

  1. Delete your SSH keys that you’re using to authenticate with Git (probably a problem with Github as well as Tangled, but idk)
  2. Create a new SSH keypair and use ssh-add to add it to the running server
  3. Add your public key to your Git repo however you do that
  4. Try doing Git operations in Cursor, either through the UI or the CLI. It should fail
  5. Try doing the same Git operations in your terminal outside of Cursor. It should work

Expected Behavior

I am able to use Git over SSH within Cursor

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.43
VSCode Version: 1.99.3
Commit: 8e4da76ad196925accaa169efcae28c45454cce0
Date: 2025-10-30T18:49:27.589Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 25.1.0

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Okay I noticed one thing: running ssh-add -L gives different results in the terminal and within Cursor. In the terminal I see this:

$ ssh-add -L
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOBMcS8X4eY/2Wq345dnQ6COD665f+u5T5grDq20DU5D [email protected]

and in Cursor’s integrated terminal I get this

$ ssh-add -L
The agent has no identities.

Why might SSH within Cursor’s integrated terminal not have my key loaded? I already used ssh-add to add my private key to the agent in the terminal, then deleted and recreated the integrated terminal in Cursor, and even restarted Cursor.