Now in public beta

AI code review that actually fixes your code

Other tools leave comments on your PRs. LGTM creates fix commits. It doesn't just tell you what's wrong — it fixes it.

Free tier included · No credit card required · 2 min setup

Works with any GitHub repo

TSTypeScript
PYPython
GOGo
RSRust
JVJava
RBRuby
C+C++
SWSwift
+ more

How it works

Three steps. Zero config.

From install to your first AI-powered fix commit in under two minutes.

Step 01

Install the GitHub App

One click to add LGTM to your repos. No config files, no YAML, no CI changes.

Step 02

Open a pull request

Push code and open a PR like you normally would. LGTM kicks in automatically.

Step 03

Get review + fix commits

LGTM reviews your code, leaves inline comments, and pushes fix commits directly to your branch.

Features

Everything you need. Nothing you don't.

Built for developers who want their PRs reviewed and fixed, not lectured.

Auto-fix commits

Not just comments — LGTM pushes fix commits directly to your PR branch. Review the diff and merge.

Inline PR comments

Get contextual, line-level feedback explaining what was wrong and why the fix works.

Powered by Claude Opus

Uses the best AI model available for deep code understanding. Not a wrapper around GPT-3.5.

Reviews in minutes

Most reviews complete in under 2 minutes. No waiting hours for CI to finish.

Free tier included

20 reviews per month on the free plan. No credit card required to get started.

Secure by default

Your code is never stored. Reviews happen in real-time and results are posted directly to GitHub.

The difference

Comments vs. commits

Other tools tell you what's wrong. LGTM fixes it.

Other AI review tools
// bot-review-ai commented:

⚠️ Warning: This function doesn't handle null values.

Consider adding a null check on line 42.

Also, the variable name `x` could be more descriptive.

You might want to add error handling here.

💬 4 comments · 0 fixes · You do all the work
LGTM✓ Fix committed
// lgtm-app committed fix:

- function process(x) {

+ function processUserInput(input: string | null) {

+ if (!input) throw new ValidationError(...);

✅ 1 commit · 3 files changed · Ready to merge
Less back-and-forth. Faster merges. Happier devs.

Pricing

Simple pricing. No surprises.

Every plan includes auto-fix commits. Start free, upgrade when you need to.

Free

$0forever

For personal projects and trying things out.

  • 20 reviews per month
  • Auto-fix commits
  • Inline PR comments
  • Public & private repos
  • Community support
Get started free
Most popular

Pro

$12/month

For developers who ship every day.

  • 200 reviews per month
  • Auto-fix commits
  • Inline PR comments
  • Priority review queue
  • Email support
Start Pro trial

Team

$39/month

For teams that want unlimited reviews.

  • Unlimited reviews
  • Auto-fix commits
  • Inline PR comments
  • Priority review queue
  • Org-wide installation
  • Dedicated support
Start Team trial

FAQ

Common questions