Review the PR like the author walked you through it.
Diffs tell you what changed. Argus reviews the PR through a skeptic's lens — a why it changed and look out for note on every hunk, and it reports any hunk it couldn't cover, right where you read the diff in VS Code.
one VS Code extension · drives your own gh & Claude CLIs · your code never leaves the laptop
⌘⇧P ARGUS: Review PR… fetched acme/api#482 via your gh CLI · nothing uploaded tree + overview ready · click a file to start reading ⠋ skeptic review streaming — why it changed · look out for “harden secret redaction before any prompt leaves the process” overview ready · notes anchored to each hunk > open the Overview tab, or ask Argus in chat
before argus
A 4,000-line PR and a one-sentence description.
The diff tells you every line that moved and nothing about why. So you open files alphabetically, rebuild the author's reasoning from scratch, and hope you flag the one that matters.
.github/workflows/ci.yml | 12 +- CHANGELOG.md | 8 + internal/agent/claude.go | 14 +-- internal/agent/parse.go | 9 +- internal/agent/redact.go | 22 ++-- internal/agent/redact_test.go | 68 +++++ internal/core/orchestrator.go | 31 ++-- go.sum | 12 + … and 15 more, in whatever order git prints them
how it works · the pipeline
Argus turns that wall of diff into a guided review, all on VS Code's native surfaces. Here's how it works, step by step.
-
point it at a PR
One command, your machine, your subscription.
Run ARGUS: Review PR… from the command palette and paste a PR URL or owner/repo#number. It fetches through your own gh CLI and drives your already-authenticated Claude CLI for the review — no server, no upload, no per-seat SaaS. Or run Open Demo Review to try it with zero setup.
⌘⇧P ARGUS: Review PR… https://github.com/acme/api/pull/482 fetched via your gh CLI · nothing uploaded enter to review ↵
-
state the intent
Reviews against intent, not guesses.
Argus works out what the change is actually for and states it explicitly on the Overview tab — then grounds every note in that intent, so a deliberate choice reads as intentional instead of being mistaken for a slip. Each note is anchored to the first changed line of its hunk, never landing on the wrong one.
“harden secret redaction before any prompt leaves the process — mask hyphen-delimited keys like x-api-key, and stop a `==` comparison losing its operator.” shown explicitly on the Overview tab so every note is grounded in this intent, not a guess
-
files first, review streams in
Start reading before the AI does.
The Changed Files tree and the Overview open instantly — click any file to start reading its diff, no waiting on the model. The skeptic notes stream in behind a status indicator and attach to each hunk as they land, so nothing blocks.
on open
files tree ready overview ready diff click a file notes ⠋ streaming…
moments later
redact.go ▌ why · look out claude.go ▌ why · look out parse.go ▌ why · look out … overview ready
-
the reviewer-skeptic lens
Every hunk: why it changed, and what to watch.
For each hunk Argus asks the two questions a careful reviewer would — why this change, in plain language, and look out for: what could go wrong, what to double-check, what the author may have missed. They render as native comment threads on the diff, tagged by importance — and Argus reports any hunk it couldn't cover, so a gap never passes for a clean bill.
▌ why this change refuses a leading “=”, so “if x == y” no longer masks its second “=” mid-comparison. ▌ look out for widened key class could over-mask a value that merely contains “key”. ← confirm
-
the overview tab
The whole PR, before the first hunk.
One tab frames the change: a plain-language summary, the explicit intent, the critical things to verify before approving, and an understand-the-flow walkthrough end to end. A streaming chat panel you can dock beside your diff handles anything you don't follow, scoped to the file you have open.
summary harden secret redaction before prompts leave the process intent mask hyphen-keys · stop “==” losing its operator critical · confirm the widened key class won't over-mask · redaction runs before any prompt is sent flow 1 orchestrator → 2 redact → 3 claude adapter
-
your call, straight to GitHub
Comments inline, your review to the PR.
Skeptic notes render as comment threads on the diff (marked ▌ so they're never mistaken for a +/− line), the Changed Files tree tracks a reviewed toggle per file that persists across reloads, and you can add your own comments on diff lines — then submit them as one GitHub review: comment, approve, or request changes, without leaving VS Code.
changed files
orchestrator.go claude.go ▸ redact.go redact_test.go parse.go …
diff · ai comment thread
▌ why · the value pattern refuses a leading ▌ “=”, so a “==” comparison's second “=” ▌ isn't swallowed. look out for: the widened ▌ key class could over-mask a value with “key”. @@ internal/agent/redact.go · assignmentRule …secret|api[-_]?key|access[-_]?key… - )("[^"]+"|'[^']+'|[^"'\s,}]+) + )("[^"]+"|'[^']+'|[^"'\s,}=][^"'\s,}]*)
your review
add a comment on this line… submit as one review comment approve request changes
chatask Argus about the open file
needs youThe look out for note puts the one thing worth confirming right in front of you: check that the widened key class won't mask a legitimate value that just happens to contain “key”. Everything else in the file is safe to skim.
Once you know why a change was made, most of the diff is safe to skim.
the trade-off
It runs on your machine. Not in someone else's cloud.
Argus is a single VS Code extension that drives your own gh and Claude CLIs — the opposite trade from cloud review bots like CodeRabbit and Greptile, which read your PR on someone else's servers. It states the intent, flags what to look out for on every hunk, and lets you submit your review to GitHub without your code ever touching an Argus cloud.
no upload
Your code never leaves the machine. No Argus cloud, no third-party service.
your subscription
Drives the Claude CLI you already have. No per-seat SaaS.
degrades gracefully
Diff, files, and GitHub submission work even without Claude — the AI notes just wait, and regenerate later.
stop & resume
Reviewed-state and chat history persist across window reloads, so you pick up where you left off.
install
Install from the Marketplace. Then open a PR.
The diff and files work on their own; the AI review needs the Claude CLI logged in. Install once and it lives in VS Code's activity bar.
In progress VS Code is the first face of the same engine — a terminal TUI, a web app, and a desktop app are on the way.
Or grab the packaged build from the GitHub release and install the .vsix:
- 01VS Code 1.90+ — Argus lives on its native diff, tree, and comment surfaces.
- 02gh CLI, installed and authenticated (gh auth login) — used to fetch PRs and submit your review.
- 03Claude CLI, logged in (optional) — powers the AI review; without it the diff and files still open.
- 04Zero-setup demo — run ARGUS: Open Demo Review (fixture) to try it offline, no gh or Claude needed.
> then run ARGUS: Review PR… and paste a PR URL.