Pull Request Inbox for GitHub
A free inbox for GitHub pull requests (PRs) in IntelliJ IDEA, PyCharm, WebStorm, Rider and the other JetBrains IDEs: every PR waiting for your review, across repositories and organizations, on github.com, GitHub Enterprise Server and GHE.com, with what changed since you last looked. No AI features, no telemetry.
Get it on JetBrains Marketplace · reading is free, Pro has a 30-day trial
GitHub Actions runs, jobs and logs in the same IDE: our GitHub Actions plugin.
Comparing GitHub pull request plugins for IntelliJ IDEA, PyCharm or Rider? See the options side by side.
This plugin is not affiliated with, sponsored or endorsed by GitHub, Inc. GitHub is a trademark of GitHub, Inc.
Review inbox
- PRs waiting for your review, reviewed by you or opened by you: from the repositories you have open, from their owner (a user or an organization) or from everywhere on GitHub
- Each row shows what is new to you (new, new commits, new activity), approvals and change requests, comments and when it last changed
- A notification when a new review request arrives (the list refreshes every 5 minutes while it is open)
- Multi-repository projects: every GitHub clone in the project is listed, not only the first one
Reviewing
- All changed files in one diff window, fetched from GitHub (nothing to fetch locally); step through them file by file
- Mark files as viewed; a later push that changes a file clears its mark (files it did not touch keep theirs), and files changed since your last visit are flagged
- Line conversations appear in the diff gutter, outdated ones on the commit they were written on; comment on the selected lines straight from the diff (GitHub takes comments on the lines of the diff and the few around them, which the plugin checks before you type)
- Open conversations first, resolved ones folded away, and review summaries with their verdicts; reply, resolve and reopen
- Merge checks in plain words: approvals, changes requested, failing or running checks, branch rules still to meet, conflicts, a base branch that moved on; and every check run and commit status, with its link
- Check out the branch, also from a fork
Finishing
- Approve or request changes (with what to change)
- Merge the ways the repository allows (merge commit, squash, rebase), with your own commit title, deleting the branch, or, while branch rules or checks still hold it back, turn on auto-merge
- Update the branch with the base's new commits, mark as ready for review or as draft, close, or create a pull request (or a draft) from your current branch
Free and paid
Free: the review inbox, diffs, viewed marks, conversations, merge checks, checks and statuses, and checking out the branch. Paid, with a 30-day free trial: approve, request changes, comment, reply, resolve, merge and auto-merge, update the branch, mark as ready or as draft, close and create pull requests. Licenses are sold through JetBrains Marketplace: US$1.50 a month or US$15 a year for individuals, US$3 a month or US$30 a year per user for organizations (Marketplace shows the price in your currency).
Buying for a team: an organization license is managed in JetBrains Account, where an administrator assigns it to developers; the on-premises JetBrains License Server can serve it too. Pay by card or PayPal; for a purchase order or a bank transfer, ask for a quote with Get Quote on the plugin's Marketplace pricing page.
Install
Install it from JetBrains Marketplace, or in your IDE open Settings | Plugins | Marketplace and search for Pull Request Inbox for GitHub. Then open a project whose Git remote is on GitHub and find PR Inbox in the right tool window bar.
Works with
- github.com: HTTPS and SSH remotes (also SSH over port 443)
- GitHub Enterprise Server and GHE.com (GitHub Enterprise Cloud with data residency): set the address in Settings | Tools | Pull Request Inbox for GitHub. A server whose host name has a part beginning with github (such as github.example.com) is recognised from the remote and read without a token until you set it
- The IDE's proxy settings (including proxy authentication) and trusted certificates, for self-signed or company certificates
- Organizations with SAML single sign-on: the plugin says when a token still has to be authorized for the organization
Access token
Public repositories on github.com can be read without a token: pull requests, conversations, checks and diffs (GitHub allows 60 requests an hour without one; the plugin reads unchanged pages with their ETag, which costs nothing against the limit). For private repositories and your review inbox, create a personal access token: a fine-grained one with Pull requests and Contents read and write and Commit statuses read (add Actions read to see GitHub Actions checks) to approve, comment and merge as well (choose them from the start if you want to try Pro), or the same as read only to read; or a classic one with repo (how to create one; the plugin settings have a link to the token page). Enter it in Settings | Tools | Pull Request Inbox for GitHub: one token for github.com and one for your GitHub Enterprise, each kept in the IDE's password safe and sent only to its own host. If GitHub answers "Resource not accessible by personal access token", see which permission to add; if it answers 401 "Bad credentials", see why GitHub stopped accepting the token; if it answers "API rate limit exceeded", see which limit, and when it opens again; if a list answers 422 "Validation Failed", see why GitHub refused the search; if a merge is refused (405 "Pull Request is not mergeable", 409 "Head branch was modified"), see why GitHub refused it; if a review is refused (422 "Can not approve your own pull request", "User can only have one pending review per pull request"), see why GitHub refused the review; if a diff answers 406 "too_large" or files seem to be missing, see GitHub's limits on a pull request's files; if a comment on lines answers 422, see why GitHub refused the comment; if updating the branch answers 422, see why GitHub refused to update the branch; if a new pull request is refused, see why GitHub did not create it; if auto-merge is refused, see why GitHub refused auto-merge; if a draft, ready for review or close is refused, see why GitHub refused it; if a conversation will not resolve, see why GitHub refused to resolve it; if the checks do not show, see why GitHub did not give them; if a side of a diff is empty or will not load, see why GitHub did not give the file; if the files changed since you last looked are not marked, see why GitHub refused the comparison; if a comment or reply will not post, see why GitHub refused it; if a merge method is refused, see which methods the repository and branch allow; if a branch is not found, see why GitHub cannot find it; if GitHub Enterprise Server cannot be reached, see the address, the certificate and the network; if a review request is missing, see which search counts it; if the list is missing pull requests, see the page and search limits; if GitHub says "Not Found" or redirects, see private repositories and renamed ones; if a line comment shows as outdated or is not on the diff, see where GitHub keeps it; if pull requests or review requests show up late, see polling, 304 and the search index; if a suggested change cannot be applied, see GitHub's messages and why the API cannot apply one; if a required check stays "Expected", see why it never reports; if it waits for a code owner, see who the code owner is; if it waits for conversations, see which ones count and who can resolve them; if unsigned commits block it, see which commits count and how to sign them; if the branch merges through a merge queue, see how the queue merges it; if an approval stopped counting after a push, see approval of the most recent push; if code scanning results hold it, see what the ruleset requires; if code quality results hold it, see the severity the ruleset sets; if a code coverage threshold holds it, see the thresholds the ruleset sets; if license compliance holds it, see the license policy the ruleset enforces; if the branch is locked or its updates restricted, see who can still update it; if its branch is still there after merging, see what keeps it; if a ruleset asks a team to approve the files it changes, see whose approval counts; if secret scanning alerts block it, see which alerts to close; if it is part of a stack of pull requests, see what the stack needs; if a push to the repository is refused for its files, see which push rule stops it; if a merge is refused for a commit message or email, see the commit metadata rules; if a force push to the branch is refused, see what blocks force pushes; if merging did not close the issues the description names, see why closing keywords were ignored; if the branch of a pull request cannot be checked out, see where the branch went; if a pull request has merge conflicts, see resolving the conflicts; if a review requesting changes holds a pull request back, see dismissing a review; if a co-author is not credited for a commit, see the Co-authored-by trailer; if the dependency review check fails, see a failed dependency review; if Dependabot stops rebasing its pull request, see the @dependabot rebase command; if a fork does not sync with its upstream repository, see syncing a fork; if the base branch of a pull request does not change, see changing the base branch; if a merged pull request cannot be reverted, see reverting a pull request; if the pull request template does not show, see pull request templates; if a label or an assignee is not added, see labels and assignees; if a pull request will not close or reopen, see closing and reopening; if a push is blocked by push protection, see push protection; if a comment is hidden, see hidden comments; if deployments must succeed before the merge, see required deployments; if a team asked to review was replaced by its members, see team review auto assignment; if a file you marked as Viewed is unmarked again, see viewed files; if a pull request is marked merged although nobody merged it, see indirect merges; if a review by Copilot does not count as an approval, see Copilot reviews; if checks do not run on a pull request a workflow created, see workflow-created pull requests; if the Update branch button does not show, see the Update branch button; if checks fail on a pull request Dependabot opened, see Dependabot pull request checks; if checks fail on a pull request from a fork, see pull requests from forks; if a commit message skipped the checks, see skip instructions in a commit message; if checks are gone from an older pull request, see the retention period for checks; if you can comment but not approve in a public repository, see code review limits; if you cannot open a pull request in a repository, see pull requests turned off or limited; if checks run on every pull request in a stack, see checks in a stack; if the next pull request shows commits already squash merged, see commits already squash merged; if a file diff is not shown, see file diff not shown; if you cannot push to a pull request branch in a fork, see pushing to a fork; if a check on a pull request was cancelled, see a cancelled check; if Rebase and merge is not available, see rebase and merge; if a merge commit message is not what you expected, see the merge commit message; if a pull request shows every line of a file changed, see line endings; if GitHub did not answer in time, see an API timeout; if an image or a document shows no visual diff, see rich diffs; if GitHub refuses to request a reviewer, see a refused review request; if a pull request from Copilot runs no checks or cannot be approved, see pull requests from Copilot; if a push to a protected branch is refused with GH006 or GH013, see a push refused by branch rules; if the merge waits with "At least 1 approving review is required by reviewers with write access", see approvals a merge still needs.
No AI features, no cloud of ours
The plugin talks only to GitHub: github.com's API and the GitHub Enterprise address you set (and, without a token, a server your Git remote points at whose host name has a part beginning with github). Redirects to other hosts are not followed. Your code and comments are not sent to any AI service or to any server of ours, and there is no telemetry.
日本語
IDE の言語が日本語のとき、プラグインの画面は日本語で表示されます(プルリクエストの題やコメントなど、GitHub から来る文はそのまま)。お問い合わせは日本語でも受け付けます。日本語の説明