Claude CodeでGitHub PR自動レビューを設定・運用する
GitHub PR自動レビュー機能(Code Review)と自前のGitHub Actionsのどちらを選ぶか、セットアップ、@claude reviewの条件、指摘が見えないときの探し方、料金の見方をまとめます。
GitHub PR自動レビューには、Anthropic側で動くマネージドのCode Reviewと、自分のGitHub Actionsランナーで動かすclaude-code-actionの2つの経路があります。最初に決めるのは設定画面ではなく、どちらの経路に乗るかです。使えるプラン、GitHub Enterprise Serverの扱い、課金の出方が経路で分かれるためです。
Code Reviewと自前ワークフローのどちらを選ぶか
PR自動レビューの2つの経路
Code Review
Team / Enterpriseプランの組織向けで、リサーチプレビューです。OwnerがGitHub Appを入れれば、リポジトリごとに実行タイミングを選べます。Zero Data Retentionを有効にした組織では使えません。費用は利用クレジットとして別に請求されます。
claude-code-action
GitHub Actionsのワークフローに書いて動かします。実行は自分のGitHubランナー上で、認証にはAPIキー(ANTHROPIC_API_KEY)かサブスクリプションのトークンを使います。Code Reviewの対象外のプランでも組めます。
Code ReviewはGitHub.comだけの機能ではありません。自社運用のGitHub Enterprise Serverについても、Team / Enterpriseプランでは公式のGHES向けページが「Code Review: 対応」としています。一方、GHESでの/install-github-appは使えず、GitHub Actionsは手動でワークフローを用意します。
自前で組む場合の最小形は次のとおりです。公式のGitHub Actionsページにあるコードレビュー用の例で、--commentを外すとレビューはPRに投稿されず、ワークフローのログにしか出ません。
name: Code Review
on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
plugins: "code-review@claude-code-plugins"
prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'claude_argsの行は省略できません。インラインコメントを投稿するMCPサーバーは、--allowedToolsで名前を挙げたときだけ起動するためです。secretの登録とGitHub Appの導入は、ターミナルでclaudeを開いて/install-github-appを実行すると案内されます。前提は、GitHub CLI(gh)を入れてgh auth loginで認証しておくことです。リポジトリの管理者権限も要り、使えるのはgithub.comだけです。
この自前ワークフローには、実行されないPRがあります。公開リポジトリではフォークからのPRで起動せず、理由と経路ごとの違いは「フォークからのPR」の節の表にあります。draftとクローズ済みのPR、自動生成や軽微で不要と判断されたPR、すでにClaudeのコメントが付いているPRもスキップされます。
claude-code-actionのREADMEにはPRレビューの例が他にもあり、promptに自由な指示を書く形です。特定のパスだけをレビューする、外部コントリビューターのPRだけに絞る、といった調整はワークフロー側のon:とpromptで自分で作ります。
Code Reviewのセットアップ
必要なのは、Claude組織のOwnerまたはPrimary Ownerのロールと、GitHub組織にGitHub Appを入れる権限の2つです。管理画面はclaude.ai/admin-settings/claude-codeにあります。
Code Reviewを有効にする手順
- 1
管理画面でSetupを押す
Code Reviewのセクションを開き、SetupをクリックするとGitHub Appのインストールフローに進みます。
- 2
組織とリポジトリを選んで権限を承認する
対象のGitHub組織を選び、アプリにアクセスさせるリポジトリを決めます。リポジトリが一覧に出ないときは、インストール時にアプリへアクセスを許可したかを確認します。
- 3
レビューを有効にするリポジトリを選ぶ
後からの追加もできます。一覧の行メニューで、リポジトリごとにオン・オフや削除ができます。
- 4
Review Behaviorを決める
リポジトリごとに独立して選べます。次の表の3モードです。
- 5
テストPRで確認する
自動トリガーなら、数分以内にClaude Code Reviewというチェック実行が現れます。Manualなら、PRに
@claude reviewとコメントして最初の実行を起こします。
インストール時の権限は、GitHub Actions連携など他のClaude機能と共有する広い権限のセットです。GitHubの仕様上、一部だけを承認することはできません。必要最小限にしたい組織は、Contents・Issues・Pull requestsだけの独自GitHub Appを作れますが、その場合カバーできるのはGitHub Actionsの経路だけで、Code Reviewには公式アプリが要ります。
| モード | いつ走るか | コスト特性 |
|---|---|---|
| PR作成時に1回 | いつ走るかPRを開いたとき、またはready for reviewにしたとき | コスト特性PR 1件につき1回 |
| pushのたびに | いつ走るかPRブランチへのpush全て | コスト特性push数だけ倍になる。修正されたスレッドは自動解消 |
| Manual | いつ走るか@claude reviewが投稿されたときだけ | コスト特性頼まれるまで課金なし |
管理画面のリポジトリ一覧には、直近の実績にもとづくレビュー1回あたりの平均費用が出ます。モードを切り替える前の目安になります。
@claude reviewが動かないときの条件
コメントで起動するコマンドは3種類です。
| コマンド | 動作 |
|---|---|
@claude review | 動作1回だけ実行し、以後のpushは購読しない |
@claude review always | 動作実行し、以後のpushでも自動でレビューが走るよう購読する |
@claude review once | 動作@claude reviewと同じ |
2026年7月の更新より前は、素の@claude reviewがpushの購読も兼ねていました。今は単発だけなので、以前の挙動を前提にしたコメントテンプレートはalwaysを足す必要があります。
レビューが始まるのは、次の条件をすべて満たすときです。
- インライン(diffの行)ではなく、PR本体へのトップレベルのコメントで投稿する
- コマンドをコメントの先頭に置き、
onceやalwaysは同じ行に書く - 対象PRがオープンである
- 投稿者にリポジトリのwrite・maintain・adminのいずれかの権限がある
最後の条件には見落としやすい例外があります。GitHubは組織のメンバーシップを既定で非公開にしており、その場合はClaudeから見てメンバーと判別されません。コメントに👀は付いても、リポジトリに直接コラボレーターとして追加されていない限りレビューは始まりません。チームや組織の基本権限でwrite権限を持っていても同じです。組織のメンバーシップを公開にするか、管理者にコラボレーターとして追加してもらえば通ります。
手動コマンドはdraftのPRでも動きます。自動トリガーと違い、明示的な依頼は今すぐ見てほしいという意思表示として扱われるためです。レビューが進行中のPRへ重ねて投稿した依頼は、実行中のレビューが終わるまでキューに入ります。
フォークからのPR
同じフォークPRでも、経路によって起動の可否が分かれます。
| 経路 | フォークPRでの起動 | 理由・条件 |
|---|---|---|
| Code Review | フォークPRでの起動@claude reviewのコメントだけで起動 | 理由・条件ベースリポジトリのwrite権限を持つ人が投稿する |
| 自前ワークフロー | フォークPRでの起動公開リポジトリでは起動しない | 理由・条件GitHubがフォークPRの実行にシークレットを渡さない。動くのは同じリポジトリ内のブランチからのPRだけ |
Code Reviewのフォークからのレビューは、Review Behaviorがどれでも自動では始まりません。@claude reviewをコメントしたときだけ走り、必要な権限はフォーク側ではなくベースリポジトリのwrite権限です。フォークPRでは、次の2つも起動になりません。
- チェック実行のRe-runをクリックする
- 新しいコミットをpushする(「pushのたびに」モードでも)
@claude review alwaysもコメントとしては受け付けられますが、以後のpushは購読されません。フォークPRのコストがpush数に比例して増えないのはこのためです。
指摘が見えないときはどこを見るか
レビューの指摘は🔴 Important(マージ前に直すべきバグ)、🟡 Nit(軽微)、🟣 Pre-existing(このPRが持ち込んでいない既存の不具合)の3段階で付きます。チェック実行は指摘の有無にかかわらず常に中立(neutral)で完了するので、承認もブロックもしません。
インラインコメントが見当たらないのに「指摘あり」と出るときは、次の3か所を順に見ます。
- チェック実行のDetails: Checksタブの「Claude Code Review」から開くと、file・line・要約つきの重大度別の表が出ます。インラインコメントがGitHubに受け付けられなかった指摘も、ここには載ります
- Files changedタブの注釈: 差分の該当行に、Importantは赤、Nitは黄色の警告、Pre-existingは灰色の通知で出ます。レビューコメントとは別経路です
- レビュー本文の「Additional findings」: 実行中に新しいpushがあると、指摘の行が現在の差分から消えることがあります。その指摘は本文にまとまります
各コメントには👍と👎があらかじめ付いています。マージ後にAnthropicが集計してレビューの調整に使いますが、再レビューは起動せず、PRの状態も変えません。指摘に返信してもClaudeは応答しないため、対応するにはコードを直してpushします。コードを直さずに片づけたいときは、スレッドをresolveします。返信では消えません。
マージのゲートに使う
チェック実行が常に中立なので、Code Reviewの結果で自動的にマージを止める設定はありません。ゲートにしたい場合は、自分のCIでチェック実行の出力を読みます。Detailsテキストの最終行に、重大度別の件数が機械可読な形で入っています。
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}のようなJSONで、Importantの件数はnormalキーに入ります。CHECK_RUN_IDは、コミットのチェック実行をgh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'で一覧して、Claude Code Reviewのidを取ります。
デフォルトで何をチェックするか
既定の検査は、ロジックの誤り・セキュリティ上の欠陥・見落としがちな退行(regression)といった、正しく動くかどうかに絞られています。フォーマットの好みやテストカバレッジの不足は対象外です。範囲を広げるには、リポジトリにCLAUDE.mdとREVIEW.mdを置きます。
CLAUDE.mdはプロジェクトの前提知識として参照され、このPRで新たに持ち込まれた違反はNit扱いで報告されます。チームでのCLAUDE.mdの設計はClaude Codeチーム導入ガイドが詳しい範囲です。REVIEW.mdはレビュー専用で、重大度の再定義やスキップ対象の指定まで踏み込めます。調整項目はREVIEW.mdカスタマイズでClaude Codeの自動レビュー基準を変えるに書きました。
ローカルの/code-reviewや、認証済みクラウドで深く検証するultrareviewとの使い分けは、Claude Codeコードレビュー — 4つの実行経路の使い分けで扱っています。
運用で詰まりやすい2つの場面
もう1つは、失敗やタイムアウトで終わったレビューのやり直しです。チェック実行のタイトルが「Code review failed」や「Code review timed out」になっているときは、サマリーに自動で再キューされた旨がない限り、自分でやり直します。
- 一般のPRなら、PRに
@claude reviewとコメントするか、ChecksタブのClaude Code ReviewでRe-runをクリックします。どちらも新しいレビューを始め、pushの購読は付きません - フォークのPRは、コメントだけが有効です
料金と利用状況の確認
Code Reviewの費用と所要時間
1レビューの平均費用
$15〜25
PRの大きさ・コードベースの複雑さ・検証が要る指摘の数で変わる
平均所要時間
約20分
規模が大きいほど長くなる
この費用はプランに含まれる使用量には数えられず、利用クレジット(usage credits)として別に請求されます。BedrockやGoogle CloudのAgent Platformで他のClaude Code機能を使っている組織でも、Code Reviewの費用はAnthropicの請求書に出ます。
モードの選び方でも総額が動きます。「PR作成時に1回」やManualで@claude review alwaysをコメントすると、そのPRはpushのたびに課金されます。「pushのたびに」モードでは、購読しても単価は変わりません。
月次の支出上限は、claude.ai/admin-settings/usageで「Claude Code Review」のサービス向けに個別設定します。利用状況はclaude.ai/analytics/code-reviewのダッシュボードで見ます。
| セクション | 内容 |
|---|---|
| PRs reviewed | 内容選んだ期間のレビュー実行数(日次) |
| Cost weekly | 内容週次の支出 |
| Feedback | 内容指摘が直されて自動解消されたコメント数 |
| Repository breakdown | 内容リポジトリ別のレビュー数と解消済みコメント数 |
ダッシュボードの金額は監視用の推定値です。請求と一致する金額は請求書で確認します。
まとめ
外部からのPRを受ける公開リポジトリでは、フォークPRの扱いが経路選びの決め手になります。