AI code review that runs on your provider, not ours.
PR Flow does not sell you a model. It orchestrates the one you already trust — a CLI you are authenticated with, a model running on your own machine, or your company's gateway — and the diff goes exactly there and nowhere else.
Most AI review means uploading your source code to a third party.
The standard shape is a hosted service with a broad install on your repositories, permanently able to read your code and running it through models it chose. For a lot of teams that is not a preference problem, it is a policy problem — so they get no AI review at all.
Standing access, not per-review access
A review bot with repository-wide permissions can read everything, all the time, whether or not a review is happening. The blast radius is your whole codebase, and it persists long after the pull request is merged.
Someone else's model choice
You inherit whichever model the vendor picked and whatever they change it to. If your organization has already done the work of approving a provider — or standing up an internal gateway — a review tool that ignores that is a second procurement problem.
Score theater
A lot of AI review output is volume: a numeric grade, a wall of nitpicks, a comment on every file. It is easy to generate and expensive to read, and it trains reviewers to skim past the two findings that mattered.
Bots that act on their own
Once a tool can post comments and set review status by itself, its false positives become your team's process. The author argues with a bot; the human reviewer stops paying attention.
Four ways to wire it up, all of them yours.
Configure providers under Settings → Integrations → AI providers. Each row carries a plain-English data-flow label saying where its prompts go, and a Test button so you can confirm it before trusting it.
Built-in CLIs
The Claude, Antigravity or Codex command-line tools, authenticated with your own account. These can fetch extra repository context during a review, which makes them the strongest option for deep review.
A local model
Ollama, LM Studio, llama.cpp, vLLM or LocalAI. Prompts sent to a localhostendpoint never leave your machine — the strongest possible answer to “where did my diff go?”
Any OpenAI-compatible endpoint
A hosted provider, Azure OpenAI, or your organization's own gateway. You supply the URL and key; the key is stored encrypted and never written to your settings file.
Any local CLI
Bring your own command-line tool — aider, llm, opencode, whatever you already use — by telling PR Flow its command and how to pass the prompt.
Task routing: mix them
A routing table decides which provider handles which job — deep review, complexity and risk, thread summaries, discuss, and review-summary drafts. A common setup is a fast local model for the frequent, cheap work and a top-tier CLI reserved for deep review. Every result is captioned with the provider and model that produced it, so you always know which one you are reading.
Findings on lines, not a grade out of ten.
Pins you accept or dismiss.
Findings arrive as gutter pins on the exact lines they are about. Accept one and it becomes a staged review comment in your own pending review; dismiss it and it is gone. Nothing the model produced reaches the pull request except through a comment you chose to keep and then submitted.
- Short, honest diff summaries — what changed and where the risk is
- Complexity (easy → extreme) and risk (safe → critical) estimates
- A rough review effort in minutes, marked outdated when new commits land
- Thread summaries: what was asked, clarified, and still open
Ask about a file, a finding, or the whole change.
When a finding is not obviously right, ask. The discussion runs next to the code on your configured provider — your keys, your model — scoped to whatever you point it at, and any answer can be dropped into your review as a staged comment.
- Scope the conversation to a file, a finding, or the whole pull request
- Runs on a CLI, a local model, or your gateway — same routing rules
- Turn any answer into a comment you still have to submit
Every prompt has an explicit context allowlist.
PR Flow's AI is a set of small agents. An agent is a short prompt plus the exact set of context it is permitted to read — nothing more. That list is what you grant, and it is the entire view the model gets of your pull request.
You choose, per agent.
- Diff — the pull request's code diff
- PR details — title, description, changed files, open threads
- Linked ticket — a referenced Jira, Linear or Trello item
- Git history — recent commits on the changed files
- A named file — a specific path at the PR's latest commit
Agents run with no ability to read your wider filesystem, run commands, or reach the network. They produce findings or a note, and that is the whole surface. You can edit the built-ins, write your own from a form or YAML, choose which lifecycle moment each one runs at, and group them into switchable profiles.
Community agents show their full prompt and exact context before anything is saved, and an approved version keeps running until you review an update — browse them in the Agent Gallery.
Logs you own, on your machine.
Privacy claims are worth what you can check. PR Flow keeps two local logs, and neither of them leaves your computer.
- Settings → Logs → AI runs — metadata for every run, exportable as JSON. Storing the prompts themselves is an explicit opt-in.
- Settings → Logs → Write actions — every write PR Flow made for you, with a link to the result
- The desktop app contains no product analytics or telemetry of any kind
The full picture is in the privacy policy and security overview, and the setup detail is in the AI features documentation.
Where the code goes.
Where does my diff actually go?
Can I run code review entirely offline?
What happens if I never turn AI on?
Can the AI approve or merge something?
Can a team force everyone onto one provider?
Where are API keys stored?
Run it against a model you already trust.
Point PR Flow at Ollama, a CLI you are signed in to, or your own gateway, and read the first summary yourself. Free for 14 days.