Control points

GitHub pull requests

Open a GitHub pull request in a tab, run AI Review on the PR's own diff, and hand findings to an agent only when that branch is checked out.

A GitHub pull request opens as its own tab: the remote diff, comments, commits, checks, and an AI review of that change set. Reviewing the PR does not need a local checkout. Fixing a finding does, because the agent edits the files in this clone.

Vortex talks to GitHub through the gh CLI. There is no GitHub token in app prefs.

Open a pull request

  1. Have gh installed and authenticated (gh auth status).
  2. Open ⌘K → Review Pull Request. That opens the PR for the current branch, or the first open PR if this branch has none.
  3. Source Control also shows the PR for the current branch; click it to open the same tab.

The tab shows the PR's files, conversation, commits, and checks. Checkout runs gh pr checkout in the owning workspace root so the working tree matches the PR's head branch.

A pull request whose repository is not one of this workspace's roots is read-only here. You can still read the remote diff; Checkout, opening files, and Fix with agent stay disabled, because those act on a local clone.

Run AI Review

Run AI Review sends the PR's own diff to a cloud model. It reads gh pr diff for that pull request, so the clone does not have to be on the PR branch. The pass looks for bugs, security smells, regressions, and any Code Review Rules in AGENTS.md.

  • You need a cloud model and key in Settings → Models. A local-only model cannot run this pass.
  • Progress shows Fetching the diff… then Reviewing the diff…, with Cancel. Switching tabs does not stop it.
  • Findings stay on the tab when you leave and come back, labelled with how long ago they landed.
  • Nothing in the working tree is modified. The review is one model call over the diff.

Source Control can run the same kind of pass against base...HEAD in this clone, without a pull request. That path reviews whatever is checked out, not a remote PR.

Open a finding

Click a finding to open that path at the reported line in the owning root. A foreign PR cannot open paths: there is no local tree to join them onto.

Fix with agent

A finding is written against the PR's post-image — the tree after the PR's commits. Handing it to an agent while this clone sits on main would edit a file that does not contain that line.

So Fix with agent (and Fix all) is refused unless the owning root is on the PR's head branch. If the branch cannot be read, the gate fails closed and offers Checkout. After Checkout, the buttons unlock.

When a fix is allowed:

  • Fix with agent starts an Agent-mode run for that finding, or steers an in-flight run instead of starting a second one.
  • Fix all sends up to eight findings, errors first. A longer list is truncated on purpose; the prompt says how many were dropped.
  • Findings are treated as data, not instructions. The run still uses the ordinary tool allowlist.
  • Watch the run in chat. The PR tab's Changes view is the remote diff, not the local edits.

Under Review mode, those edits wait as pending patches in the Changes panel. The toast says so. After a fix is handed off, the findings list is labelled as from before those edits — re-run the review to refresh it.

Headless review

vortex review is the same idea from a terminal or CI job: diff HEAD against a base, send it to a cloud model, honour Code Review Rules. It does not open a PR tab and it does not start a fix. See Headless CLI.

vortex review --json --base main --fail-on error

Next steps

Get an invite

Vortex is in a closed beta on macOS. Add your email to the waitlist to get an invite and a download link.