Claude PR Reviewer
ActionsTags
(2)A GitHub Action for automated PR reviews using Claude AI. It leverages the pr-review-toolkit plugin to provide comprehensive code reviews.
- Code Quality Check: Review coding style and best practices
- Test Coverage Analysis: Evaluate test completeness and quality
- Error Handling Detection: Identify silent errors and improper error handling
- Type Design Analysis: Assess type definition quality and encapsulation
- Comment Accuracy Verification: Check consistency between code comments and implementation
- Interactive Review: Mention
@claudein PR comments to request additional reviews or ask questions
Before using this action, you need to set up Claude Code GitHub Actions. See the official documentation for details.
Run the following command in Claude Code terminal:
/install-github-app- Install the GitHub App: https://github.com/apps/claude
- Add API key to repository secrets (see Authentication Setup)
name: Claude PR Review
on:
pull_request:
types: [opened, synchronize]
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: drillan/claude-pr-reviewer@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}name: Claude PR Review
on:
pull_request:
types: [opened, synchronize]
permissions:
contents: read
pull-requests: write
issues: write
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: drillan/claude-pr-reviewer@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}name: Claude PR Review
on:
pull_request:
types: [opened, synchronize]
issue_comment:
types: [created]
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
jobs:
review:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' ||
(github.event_name == 'issue_comment' &&
github.event.issue.pull_request &&
contains(github.event.comment.body, '@claude') &&
github.event.comment.user.type != 'Bot')
steps:
- uses: drillan/claude-pr-reviewer@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}| Parameter | Required | Default | Description |
|---|---|---|---|
claude_code_oauth_token |
No* | - | Claude Code OAuth token |
anthropic_api_key |
No* | - | Anthropic API key |
anthropic_model |
No | claude-opus-4-5-20251101 |
Claude model to use |
review_language |
No | English |
Language for review comments |
custom_prompt |
No | - | Additional custom instructions |
allowed_tools |
No | (see below) | Tools allowed for Claude |
* Either claude_code_oauth_token or anthropic_api_key is required. If both are provided, claude_code_oauth_token takes precedence.
| Model | Model ID | Characteristics |
|---|---|---|
| Claude Opus 4.5 | claude-opus-4-5-20251101 |
Highest quality (default) |
| Claude Sonnet 4.5 | claude-sonnet-4-5-20250929 |
Fast and balanced |
| Claude Haiku 4.5 | claude-haiku-4-5-20251001 |
Fastest and lowest cost |
Bash(gh pr comment:*),Bash(gh pr review:*),Bash(gh pr diff:*),Bash(gh pr view:*),Read,Grep,Glob
Two authentication methods are available:
- Visit Claude Code
- Obtain an OAuth token
- Add to GitHub Secrets:
- Go to repository Settings > Secrets and variables > Actions
- Click "New repository secret"
- Name:
CLAUDE_CODE_OAUTH_TOKEN - Value: Your OAuth token
- uses: drillan/claude-pr-reviewer@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}- Visit Anthropic Console
- Obtain an API key
- Add to GitHub Secrets:
- Go to repository Settings > Secrets and variables > Actions
- Click "New repository secret"
- Name:
ANTHROPIC_API_KEY - Value: Your API key
- uses: drillan/claude-pr-reviewer@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}- uses: drillan/claude-pr-reviewer@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
review_language: Japanese- uses: drillan/claude-pr-reviewer@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
anthropic_model: claude-haiku-4-5-20251001- uses: drillan/claude-pr-reviewer@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
custom_prompt: |
Pay special attention to security aspects.
Also evaluate performance implications.By default, reviews are triggered on every push (synchronize event). To review only on PR creation and re-review on demand via @claude mention:
on:
pull_request:
types: [opened] # Remove synchronize
issue_comment:
types: [created]Add the following permissions to your workflow:
permissions:
contents: read # Read repository contents
pull-requests: write # Post comments on PRs
issues: write # Issue comments (for @claude mentions)
id-token: write # OIDC authenticationMIT License
Claude PR Reviewer is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.