Why does cursor try to unlock my SSH key?

Every time I start cursor I get four popups to unlock my ssh key. What is cursor trying to do? I don’t see any need for it to access my keys.

I still haven’t been able to figure out what cursor is trying to do. I have disabled the git plugin, and the unlock request is for another key than the one I use for the repo where I use cursor. VSCode does not attempt to unlock any keys. I’m starting to wonder if I can trust cursor, with any keys and for now will only use it on a virtual machine with access limited to my project folder.

Hey, thanks for the report. That frustration makes total sense.

What’s likely happening: on startup, Cursor runs background Git and remote checks, and some of those can touch SSH. So even if built-in Git is disabled, other components or extensions can still trigger key prompts.

Please try this:

  • Start Cursor once with extensions disabled:

    cursor --disable-extensions
    

    If the prompts stop, it’s extension-related.

  • Preload your key in ssh-agent before launching Cursor:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/your_key
    
  • Force SSH to use only the intended key:

    # ~/.ssh/config
    Host *
      IdentityFile ~/.ssh/your_key
      IdentitiesOnly yes
    
  • If prompts still appear, temporarily disable SSH or Git-related extensions like Remote - SSH and GitLens to isolate what’s triggering it.

If you can share your OS, Cursor version, and which exact key is being requested, we can narrow it down quickly.

Starting cursor with extensions disabled does not stop this from happening.

As for the other solutions, obviously unlocking the key in advance will stop it from asking to unlock the key. My issue is that cursor shouldn’t even try to access my key or anything it would need the key for.

I already have all git features disabled as I just use git from the terminal. I also don’t have any git or ssh related extensions installed. But, as I said, using cursor --disable-extensions doesn’t solve the issue so I don’t think it’s extension related.

I’m using Linux (OpenSUSE Tumbleweed, kernel 6.19.5-2) and cursor Cursor-2.6.20-x86_64.AppImage

The key it’s trying to unlock is an id_ed25519 key that I use for bitbucket repositories from another company than the repository in which I’m opening cursor.
For that one I also use a different ssh key for git, but I already have the identity file in my ssh config and it’s not trying to unlock that key.

Thanks for the extra details. Linux OpenSUSE Tumbleweed, Cursor 2.6.20, got it.

You’re right, this shouldn’t be happening, especially with Git disabled and no SSH extensions. And you’ve got a fair point. Preloading the key in ssh-agent avoids the popup, but it still doesn’t explain why Cursor is trying to use an unrelated Bitbucket key in the first place.

The most useful next step is to trace which internal process is triggering it:

strace -f -e trace=file cursor 2>&1 | grep -i "id_ed25519"

This should show exactly which child process reads that key file on startup. If you can share a few lines from that output, we can pinpoint the source.

I’ve flagged this with the team. Since VS Code doesn’t reproduce it, and it happens even with extensions disabled and Git off, it looks Cursor-specific.