Claude Code のコードレビュー機能の使い方

Claude Code エンジニアリング 8分で読めます

Claude Code のコードレビューには、ローカルで差分を見る /code-review コマンドと、GitHub のプルリクエストを自動でレビューする Code Review の2つがあります。使える条件も課金も違うので、この記事では両方を切り分けたうえで、設定・結果の読み方・REVIEW.md による調整・料金を説明します。

2つのコードレビュー

Claude Code のコードレビューには、性格の違う2つの入口があります。混同しやすいので先に切り分けます。

自前の CI で Claude を動かしたい場合は、この管理サービスではなく GitHub Actions や GitLab CI/CD を使います。セルフホストの GitHub なら GitHub Enterprise Server 向けの手順があります。

ローカルで差分をレビューする

作業中のセッションでコマンドを実行するだけです。

/code-review

対象は、現在のブランチが上流より進んでいるコミットと、未コミットの変更です。つまりブランチか作業ツリーに変更が無いと、報告するものがありません。別のものを見たいときは、ファイルパス・PR番号・ブランチ名・main...my-feature のような ref の範囲を引数で渡します。

フラグは2つあります。

レビューは自分のコンテキストウィンドウを持つバックグラウンドのサブエージェントとして走るので、会話が埋まりません。結果は完了時に会話へ届きます。前のレビューがまだ動いているうちにもう一度実行した場合や、-p の非対話モード、CLAUDE_CODE_DISABLE_BACKGROUND_TASKS1 にしている場合は、フォアグラウンドで実行されます。

報告の量は効力(effort)で調整できます。lowmedium では確信度の高い指摘だけが出るので誤検知が減り、high 以上は網を広く張る代わりに確信の薄いものも混じります。指定しなければセッションの現在の効力が使われます。

注意点として、バックグラウンドのレビューが --fix で入れた編集は、セッションのチェックポイントの外側で行われます。/rewind では戻せないので、取り消したいときは git を使ってください。また、ローカルのレビューはセッションと同じように CLAUDE.md に従いますが、後述の REVIEW.md は読みません。

GitHub PR の自動レビュー

組織の Owner が一度だけ有効化し、対象リポジトリを選びます。GitHub App のインストールでは、Contents・Issues・Pull requests の読み書き権限が要求されます。Code Review 自体が使うのは contents の読み取りと pull requests の書き込みで、広めの権限は後から GitHub Actions を有効にする場合に備えたものです。

セットアップ後、リポジトリごとにレビューを走らせるタイミングを選べます。

設定いつ走るか
Once after PR creationPR が開かれた、または ready for review になったときに1回
After every pushPR ブランチへの push のたび。直した指摘のスレッドを自動で解決する
ManualPR に @claude review とコメントしたときだけ

手動のトリガーは、リポジトリの設定に関係なくいつでも使えます。

コメント動作
@claude review1回だけレビューする。以後の push は購読しない
@claude review alwaysレビューし、以後の push でも走るよう購読する
@claude review once@claude review と同じ

ここは 2026年7月の変更で挙動が変わった箇所です。それ以前は @claude review が push を購読していました。従来の動作が欲しい場合は always を付けてください。

コメントを効かせるには、差分の行に対するインラインコメントではなくトップレベルのPRコメントとして投稿し、コマンドを行頭に置き、oncealways を同じ行に書く必要があります。リポジトリへの owner / member / collaborator のアクセス権と、PR が open であることも条件です。自動トリガーと違い、手動トリガーは draft の PR でも走ります。

深刻度と結果の読み方

指摘には3段階の深刻度が付きます。Important はマージ前に直すべきバグ、Nit は直す価値はあるがブロックしない軽微な問題、Pre-existing はこの PR が入れたものではないがコードベースに存在するバグです。それぞれに展開できる推論の説明が付き、なぜ指摘したのか・どう検証したのかを読めます。

既定では、Code Review は正しさに的を絞ります。本番を壊すバグを見つけるためのもので、書式の好みやテストの不足は対象外です。

各レビューコメントには、あらかじめ賛成・反対のリアクションが付いた状態で届きます。役に立ったか、外していたかをワンクリックで評価でき、その集計はレビュアーの調整に使われます。リアクションは再レビューを起こしませんし、PR も変えません。インラインコメントに返信しても Claude は応答しません。指摘に対応するには、コードを直して push します。

インラインコメントとは別に、Claude Code Review というチェックランが CI のチェックと並んで作られます。Details を開くと全指摘が深刻度順の表で見られ、Files changed タブでは該当行にアノテーションとして出ます。チェックランは常に neutral で終わるので、ブランチ保護でマージがブロックされることはありません。

指摘の件数でマージを止めたい場合は、チェックランの出力を自分の CI から読みます。Details の最後の行が機械可読なコメントになっているので、gh と jq で取り出せます。

gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \
  --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'

返ってくるのは {"normal": 2, "nit": 1, "pre_existing": 0} のような深刻度ごとの件数で、normal が Important の数です。ここが 0 でなければ、マージ前に直すべきバグが1件以上あるということになります。

チェックランのタイトルが「問題を見つけた」と言っているのにインラインコメントが見当たらない場合は、チェックランの Details、Files changed のアノテーション、レビュー本文の Additional findings の3か所を見てください。レビュー中に push すると、指摘が現在の差分に存在しない行を指してしまい、インラインで出せなくなることがあります。

REVIEW.md でレビューを調整する

Code Review はリポジトリの2つのファイルを読みます。効き方が違います。

REVIEW.md はそのまま貼り付けられるため、@ によるインポート構文は展開されず、参照したファイルも読み込まれません。守らせたいルールはファイルの中に直接書いてください。

実際に効きやすいのは次の型です。

長さには代償があります。長い REVIEW.md は、一番効かせたいルールを薄めます。レビューの挙動を変える指示だけを置き、一般的なプロジェクトの文脈は CLAUDE.md に残してください。

料金と注意点

GitHub PR の Code Review はトークン使用量に応じた課金で、1回あたり平均 15〜25 ドルです。PR の大きさ、コードベースの複雑さ、検証が要る指摘の数で変わります。この費用は使用クレジットとして別建てで請求され、プランに含まれる使用量は消費しません。1回のレビューは平均20分で完了します。

トリガーの選び方がそのまま総額に効きます。push のたびに走らせれば push の回数だけ倍になり、Manual なら誰かがコメントするまで走りません。月間の上限を設けたい場合は、管理設定の使用量のページで Claude Code Review サービスの上限を設定します。上限に達すると、レビューを飛ばした旨のコメントが PR に1件投稿され、次の請求期間の開始時か、管理者が上限を上げた時点で再開します。

レビューの実行はベストエフォートです。失敗してもマージはブロックされませんが、自動で再試行もされません。内部エラーや時間切れで終わった場合は、PR に @claude review とコメントして走らせ直してください。GitHub の Checks タブの Re-run ボタンでは Code Review は再実行されません。