Skip to content
DocsPortuguêsInstall

Day to day

Pull requests

Deck reads the pull requests of your projects through the account already signed in to the GitHub CLI. You can review, ask an agent for fixes and merge without opening a browser.

Connect GitHub

Deck asks for no token and opens no login of its own: it uses the account already signed in to the GitHub CLI on your computer. If gh is not installed, the screen offers the link to install it; if it is installed but not signed in, it opens a terminal with the sign-in command ready.

  1. Open the pull requests screen in the sidebar.
  2. Confirm the account shown and use the connect button.
  3. Done. Deck stores no GitHub token.

Disconnecting inside Deck does not sign gh out. And if you switch the GitHub CLI account, the app notices and asks you to reconnect the current one.

The PR list

The list comes from your projects that have a GitHub remote, not from a loose search across your account. Each row shows the state, the title and number, the author, the branch, the check results, the date and how much code went in and out.

  • Filters by state, with open, merged and closed without merge, and by author.
  • Search by title, number or URL. Paste the URL of a PR and press enter to open it directly.
  • A local worktree mark when a folder of yours already exists for that PR, with the state of whatever session is there.

The screen refreshes on its own, and remembers the project, the filter and the search you left behind.

The PR screen

The pull request inside Deck: conversation, checks and the merge menu.

There are two tabs:

  • Summary. The PR description, the local worktrees that exist for it and the conversation, putting loose comments and reviews together, each one marked as approved, changes requested or commented.
  • Code. The tree of changed files, with a unified or side by side diff, loading more files as you scroll down.

Next to it, the checks pane shows how many passed, each one with its result and a link to the detail, and right below it the review state. If the PR gets new commits while you read, the app warns you before letting you act on an old version.

A comment pinned to a diff line does not show up here yet. For those, the link to the full conversation on GitHub stays within reach.

Open with an agent

The open with agent button sets up the session with the request already written. Deck picks between two modes based on the state of the PR:

ModeWhenWhat happens
ReviewA PR from someone else, or any PR with no changes requested from youCreates a separate worktree at the commit of the PR, with no branch, and the agent opens under read only instructions.
AddressThe PR is yours, it is open and the review requested changesThe agent opens in your own folder, already on the branch of the PR, to do real work.

In both cases the request tells the agent to treat the content of the PR as material to evaluate, not as orders to carry out, and forbids posting anything to GitHub unless you ask. Title, description and comments written by other people never reach the prompt.

The review worktree sits at the commit of the PR and has no branch. It is there to read and run, not to edit: a commit made there belongs nowhere.

Review worktrees

Each worktree shows up in the local worktrees block of the PR, with the state spelled out: at the same commit as the PR, with commits that are not on GitHub yet, or set up at an old commit. If a session is alive there, its state appears alongside, with a shortcut to jump to it.

Removing one asks you to end the sessions of that worktree first. If there is work that is not on GitHub, the app warns you and the button starts asking for explicit confirmation.

Those folders are created in the same place configured for worktrees, described in Isolated tasks.

Merging

The merge button shows up on an open PR that is not a draft. The menu has an optional message field and the three methods, each one with an explanation of what it does:

MethodWhat it does
Squash and mergeCombines every commit into one.
Merge commitKeeps the commit history.
Rebase and mergeReplays the commits on the base.

Only the methods that repository allows stay available. Before sending, Deck checks that you have write permission and that the PR is still at the same commit you reviewed. The confirmation says which branch goes to which base and by which method.

After the merge, the PR turns to merged right away and the list reloads. Deck deletes no branch, local or remote, and turns on no auto merge: what is left is your call.