Skip to main content

LXReview

Independent AI review loops for Claude Code development on LXPLUS.

ChatGPT reviews the actual GitHub PR, Claude evaluates and fixes useful findings, and LXReview sends the updated PR through another independent review. The run continues in the background until no accepted substantial issues remain or the pass limit is reached.

Why LXReview?

  • Independent review — ChatGPT reads the PR on GitHub rather than relying on Claude's description of its work.
  • Automatic fix/review loop — accepted findings can be fixed, checked, committed, pushed and reviewed again.
  • Persistent runs — reviews keep running after you close the Claude chat.
  • Visible decisions — follow findings, accept/reject reasons, edits, checks, commits and subsequent passes.
  • Uses existing subscriptions — sign into ChatGPT normally; no OpenAI API key or API credits are required.

How it works

flowchart LR
    PR[PR on GitHub] --> Review[ChatGPT reviews]
    Review --> Evaluate[Claude evaluates findings]
    Evaluate --> Fix[Accepted fixes + checks + push]
    Fix --> Review

The loop finishes when no accepted substantial issues remain, with at most one extra pass of non-blocking fixes. The final pass reports remaining issues without making edits that would go unreviewed; errors stop the run rather than count as success.

Quick start

Prerequisites

  • An LXPLUS account and a Git checkout of the project you want reviewed.
  • Claude Code installed and authenticated, plus GitHub CLI (gh) authenticated with gh auth login.
  • Git and uv available on the installation host.
  • A ChatGPT account that can access the PR, and a workstation with SSH and a VNC viewer for the initial browser login.

The host also needs the desktop and sandbox tools checked by doctor; see host requirements.

Install and log in

On the LXPLUS host where you will work:

uv tool install --managed-python lxreview
lxreview setup --mode lxplus-browser
lxreview login
lxreview doctor

To install from a checkout instead, use uv tool install --managed-python /path/to/lxreview. uv gives LXReview its own environment on a uv-managed Python and puts the lxreview command in ~/.local/bin; if that directory is not on your PATH, uv tool update-shell adds it. setup installs the pinned Chrome and the Claude Code integration under ~/.lxreview, and login walks you through connecting to the remote desktop and signing into ChatGPT. Installation is private to your account.

To view the browser again later, run lxreview desktop connect on the same LXPLUS host. It prints the SSH tunnel and VNC viewer instructions to follow on your workstation; see reconnecting to the desktop.

Start your first review

Open a new Claude Code conversation in the project you want reviewed, with its PR branch checked out and the working tree clean. Replace the example URL with your PR:

/review-loop https://github.com/owner/repository/pull/123

Or let LXReview find the current branch's PR:

/review-loop

The branch must be pushed to its upstream and have an open, accessible PR because ChatGPT reads the code on GitHub. The command returns a run ID and follows progress in the same chat.

What happens during a review?

  1. ChatGPT independently reviews the current PR in a fresh Temporary Chat.
  2. Claude evaluates substantial findings and eligible non-blocking findings against the code and PR discussion, including decisions already settled there.
  3. Claude runs the project's relevant checks on the unchanged code, implements accepted fixes, then checks again.
  4. Claude commits the fixes; LXReview pushes them and asks ChatGPT to review the updated PR.

New check failures block publication. Pre-existing failures and checks that cannot run are reported. See review decisions and verification for the detailed policy.

Following and controlling a run

Closing the Claude chat does not stop the review run. Watch it again from another conversation on the same LXPLUS host, or use the terminal. Ctrl-C in a terminal watch also stops only the watching.

Replace <run-id> with the ID returned at startup; lxreview runs lists IDs and hosts.

Task Claude Code Terminal
Follow /review-watch <run-id> lxreview watch <run-id>
Check status /review-status <run-id> lxreview status <run-id>
Inspect pass 1 /review-show <run-id> 1 lxreview show <run-id> --pass 1
Stop /review-stop <run-id> lxreview stop <run-id>
Resume /review-resume <run-id> lxreview resume <run-id>

Resume is for failed, cancelled or interrupted runs and requires a clean, pushed checkpoint. Runs survive ordinary disconnection, subject to host policy, but not node reboot or drain.

Choosing models

Defaults work without configuration. Override model and effort for one run:

/review-loop --chatgpt sol:high --claude opus:xhigh

lxreview options lists available choices. See Configuration for persistent defaults, pass limits and custom verification environments.

Browser modes

Use lxplus-browser for normal LXPLUS use and persistent runs.

Mode Best for Main trade-off
lxplus-browser Runs independent of your workstation Browser runs on the LXPLUS host
local-browser Keeping the browser on your workstation Workstation must stay online, awake and connected

For the alternative mode, run lxreview setup --mode local-browser --role host on LXPLUS, then follow the workstation setup and pairing steps.

Common commands

Command Purpose
lxreview doctor Check setup and perform a ChatGPT smoke test
lxreview runs Find runs and their host
lxreview options List model and effort choices
lxreview update Verify/reinstall the current release's pinned runtimes
lxreview uninstall Remove integration and archive the installation

Run controls are listed above. See Operations for application upgrades, reports and recovery.

Troubleshooting

  • Run lxreview doctor; use --no-smoke to avoid consuming a ChatGPT turn.
  • Check gh auth status and ensure your clean, pushed branch matches the PR.
  • On AFS, run and resume require at least two hours of token lifetime; renew with kinit followed by aklog.
  • After setup changes, open a fresh Claude Code conversation to load the integration.

More help: Operations and troubleshooting.

More documentation

Browser automation is not an official OpenAI, Anthropic or CERN integration. UI changes can break it; each user logs in normally, with no CAPTCHA or MFA bypass.

Metadata

Release files for lxreview 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lxreview 0.1.1
File Size Uploaded
lxreview-0.1.1.tar.gz 248.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lxreview 0.1.1
File Interpreter ABI Platform
lxreview-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 340.7 kB

Release files / lxreview-0.1.1.tar.gz

Download URL lxreview-0.1.1.tar.gz
Size 248.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2b37914546ed30e4847d7f7f6e7fedcc9772e71fd64f7cd4e8cc88816ff3d87b
BLAKE2b-256 checksum
How to use checksums
30baba58327b7c2387b0ca9b8aadf3d6df25527888ca0767959780129146781d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / lxreview-0.1.1-py3-none-any.whl

Download URL lxreview-0.1.1-py3-none-any.whl
Size 92.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3e69f28a6ee0f20de5ec297b8f05d3da7b8a2c6bd5748159eb3eba0b355461e
BLAKE2b-256 checksum
How to use checksums
8eed9e2e5b1e3d625d44d6e99efdd7aad6da2823b85144e502bde68d8373bb49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page