Lesstep
Bitbucket Cloud · Git over SSH · Checked November 6, 2026

Bitbucket: "Repository access denied. access via a deployment key is read-only."

Bitbucket Cloud has two places for an SSH key. A key under your account's SSH keys acts as you, with your permissions. A key under a repository's Access keys (the old name was deployment key) gives read-only access to that one repository, as Atlassian's page on access keys says. Clone and fetch work with it; git push stops with this message. So the fix is not a permission on the repository but which key ssh offers, and where that key is registered (the Stack Overflow question on it has been seen over 170,000 times).

While git push is refused: Pull Request Inbox for Bitbucket, a plugin for JetBrains IDEs, talks to Bitbucket's REST API with your Atlassian e-mail and an API token, not over SSH, so the review inbox, diffs and discussions keep working. Get it on JetBrains Marketplace

What it looks like

See which key ssh used

Move the key to your account

Pushing from Bitbucket Pipelines

Pushing from another CI server

Bitbucket pull requests in IntelliJ IDEA

Pull Request Inbox for Bitbucket, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, reads the workspace and repository from your git remote, SSH or HTTPS, ssh.bitbucket.org included, and talks to Bitbucket's REST API with your Atlassian e-mail and an API token, not over SSH. So the review inbox, diffs and discussions keep working while git's SSH is failing. They are free; approving, commenting and merging are Pro (US$1.50 a month, with a 30-day trial).

Get it on JetBrains Marketplace

Bitbucket and Atlassian are trademarks of Atlassian; IntelliJ IDEA is a trademark of JetBrains s.r.o.; Jenkins is a trademark of LF Charities Inc. This page is not affiliated with or endorsed by any of them.

More: "Permission denied (publickey)" · "You may not have access to this repository" · Bitbucket Cloud SSH moves to ssh.bitbucket.org · 日本語