GitHub keeps the score.

Everyone on the team runs their own Limn, on their own machine. There is no server between you. Each Limn reads and writes GitHub as its own person, and reads what the others left there.

No shared account. No sign-in. Nothing to host.

No one in charge

Each Limn decides for itself, from what is on GitHub.

Who is reviewing this commit, which reviews were posted, whose turn it is: your Limn reads all of it from GitHub, and writes its own moves back the same way, as status lines, reviews and comments.

So there is nothing to connect and nothing in the middle to fail. If a teammate’s laptop is closed, yours carries on. A line their review left behind stops holding the commit after 25 minutes.

Claims

On the commita status line any teammate’s Limn can read.

Two people, one commit, one review.

Before an auto review starts, your Limn posts a status line on the pull request’s latest commit. A teammate’s Limn reads that line and skips the commit.

There is one line for each provider: limn/review-claude and limn/review-codex. A teammate reviewing with Claude does not stop yours reviewing the same commit with Codex.

Reviewing

“sam is reviewing with Claude”

Posted again every 8 minutes while the review runs. Not renewed for 25 minutes, it no longer holds the commit.

Reviewed

“sam reviewed · 2 comments”

This commit is done for Claude. A review kept in Limn posts nothing to GitHub, so it holds nothing.

Cleared

“Cleared by sam: review didn’t finish · free to claim”

The review stopped or was skipped. Any Limn can review the commit now.

  • Two claims at the same moment? GitHub’s record of who posted first decides. The other stands down.
  • Claims are per commit. A new push frees the pull request.
  • Only auto reviews claim. A review you start yourself never checks or posts a line.
  • On by default, as “Mark auto reviews on GitHub” in Settings → Auto review. Auto review itself is off until you switch it on.

You can’t approve your own pull request.

GitHub doesn’t allow it, and Limn follows GitHub. On your own pull request, your review is a comment.

It never holds the commit either. A teammate’s Limn still reviews it, follows up on the points yours raised, and can approve.

“Where this PR stands” shows each reviewer’s latest verdict, and what still holds on GitHub.

#612 Partial refundsPosted to GitHub
Open
MajorYou and PriyaRefundPolicy.allows() never reads paid_at.
MinorYouRetried refund sends a second email.
NitYouUnused import in policy.py.

One review, however many reviewers.

A review a teammate’s Limn posted to GitHub joins yours on the AI Review tab. Each finding says who raised it. A closed one says why.

A teammate’s point still open? Post reminder raises it again under your name, with a link to theirs. Their comment is never edited.

A review a teammate kept in their own Limn never reaches GitHub, so you never see it.

Who has it now.

Waiting on others lists your pull requests that are with someone else, and for how many working hours. Past your review target, it says so.

Nudge asks them for their review again, on GitHub.

Pending
With sam · 6h
Over the 4h review target

What it never does

  • Count as CI. Limn’s lines are left out of every check count and merge verdict. Don’t make them required checks.
  • Block a review. Without write access to the repository, Limn reviews without a line.
  • Hold a commit for good. Limn clears a line its own review left behind, and a teammate’s that went stale. The AI Review tab has a Clear button too.
  • Post without asking. A review goes to GitHub when you press Post, or when you switch on auto review.
  • Edit a teammate’s comment. A reminder is a new comment of yours.

Free for up to 3 people. A licence above that.

Limn is free for individuals, and for organisations where no more than 3 people use it. A bigger team needs a licence.

npx limn-review

Ask for a licence →

  • Each person runs npx limn-review on their own machine.
  • Each person signs in to GitHub with gh, and to Claude Code or Codex.
  • Nothing is sent to us. We run no server for the app.
  • More than 3 people? Ask through the contact form.