# Pull requests

**Repository › Create or Open Pull Request…** works on the current branch; the same row is on a branch's and a remote
branch's context menu. With GitLab it is called a **Merge Request**.

## Which hosts

tratto recognizes GitHub, GitLab, Bitbucket, Azure DevOps and Gitea, Forgejo or Codeberg from the remote's URL.

- On **GitHub** and **GitLab** it creates the request from inside the app, through the host's own command line tool
  (`gh` or `glab`), which must be installed and signed in.
- Everywhere else, or without the tool, it opens the host's page for a new request and gives you the text to paste.

When a request for the branch already exists, tratto opens it instead of creating a second one.

## Title and description

The dialog takes a title, a description and whether it is a draft. The AI can write the description from the commits
of the branch: see [Claude Code & Codex](/docs/ai/claude-code-and-codex).
