Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Read and request reviews on a pull request changedcode-review-pull-requests

Nearest release: v2.1.305, published under an hour after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 20 Oct 2026 19:19 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 20 Oct 2026 19:37 UTC.

Upstream edited
Recorded here
Lines+14added
Lines−6removed
From line 51 where the diff opens
First seen 15 Oct 2026 this site's first read of the page
Recorded edits5to this page, all time

The whole hunk

from line 51, old and new numbered
/
lines
from line 51
5151 
5252### Read the result from a script
5353 
54To gate a merge or post a summary from your own CI, parse the last line of the Details text with `gh` and jq. That line is a machine-readable comment.
54To gate a merge or post a summary from your own CI, parse the last line of the Details text with `gh` and jq. That line is an HTML comment that holds the severity counts as JSON:
5555 
56```text theme={null}
57<!-- bughunter-severity: {"nit":1,"normal":2,"pre_existing":0} -->
58```
59 
60The lines above it can include file names from the pull request. If you parse the text your own way, take the counts from the last line only, as the command in these steps does.
61 
5662**1. Find the check run ID**
5763 
5864From your shell, list the commit's check runs and take the `id` of the `Claude Code Review` run. Replace `OWNER` and `REPO` with your repository owner and name, and `<commit-sha>` with the pull request's head commit:
from line 69
6369 
6470**2. Read the severity counts**
6571 
66Read the counts from that check run, replacing `CHECK_RUN_ID` with the ID:
72Read the counts from the check run's `output.text` field, which holds the Details text. Replace `CHECK_RUN_ID` with the ID:
6773 
6874```bash theme={null}
69gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \
70 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'
75gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID --jq '
76 (.output.text | split("\n") | last
77 | scan("^<!-- bughunter-severity: (.*) -->$")[0] | fromjson)?
78 // error("no severity line")'
7179```
7280 
7381This prints a JSON object with a count per severity and its keys in alphabetical order, for example `{"nit": 1, "normal": 2, "pre_existing": 0}`. The counts include findings from earlier reviews of the pull request whose threads are still open.
from line 84
7684 
7785Have your script handle these cases:
7886 
79* **`normal` is above zero**: fail the job if you want to gate the merge. The `normal` key holds the count of Important findings, so Claude found at least one bug worth fixing before merge.
80* **The line is missing**: treat it as no verdict rather than as zero findings. A check run for a review that failed, timed out, was canceled, or was superseded by a newer one has no such line, and some completed reviews have none either.
87* **`normal` is above zero**: fail the job if you want to gate the merge. The `normal` key holds the count of Important findings, so Claude found at least one bug worth fixing before merge. To print only that count, add `| .normal` before the closing single quote.
88* **The line is missing**: the command prints an error that contains `no severity line` instead of counts, and exits with a non-zero status. Treat that as no verdict rather than as zero findings. A check run for a review that failed, timed out, was canceled, or was superseded by a newer one has no such line, and some completed reviews have none either.
8189 
8290## Request a review
8391 
Feedback