| openrouter_api_key | OpenRouter API key. Store it as a repository secret. | yes | — |
| github_token | Token used to read the pull request diff and post comments. | no | ${{ github.token }} |
| model | OpenRouter model slug, e.g. anthropic/claude-sonnet-4.5, openai/gpt-4.1, google/gemini-2.5-pro, deepseek/deepseek-chat. | no | anthropic/claude-sonnet-4.5 |
| fallback_models | Comma-separated model slugs tried in order if the primary model fails. | no | "" |
| base_url | OpenRouter API base URL. | no | https://openrouter.ai/api/v1 |
| temperature | Sampling temperature for the review model. | no | 0.1 |
| max_tokens | Maximum tokens in each model response. | no | 8000 |
| exclude | Newline- or comma-separated glob patterns for files to omit from the diff sent to the model (lockfiles, vendored code, generated output). | no | **/*.lock
**/*.min.js
**/*.min.css
**/package-lock.json
**/yarn.lock
**/pnpm-lock.yaml
**/poetry.lock
**/Cargo.lock
**/go.sum
**/*.svg
**/*.png
**/*.jpg
**/*.jpeg
**/*.gif
**/*.pdf
**/*.ico
**/vendor/**
**/node_modules/**
**/dist/**
**/build/**
**/__snapshots__/**
**/*.generated.*
**/*_pb2.py
|
| max_diff_chars | Total diff characters sent to the model before chunking kicks in. | no | 180000 |
| chunk_chars | Approximate size of each diff chunk when a PR is too large for one request. | no | 60000 |
| max_chunks | Cap on the number of chunks reviewed for very large PRs. | no | 8 |
| include_file_context | Show the model the real source surrounding each changed hunk, read from the pull request's head commit. Turn this off to review the raw diff alone. | no | true |
| include_repo_overview | Prepend a short map of the repository: description, layout, manifests, README excerpt. | no | true |
| context_lines | Lines of real source shown above and below each changed hunk. | no | 30 |
| max_context_chars | Character budget for surrounding-code context per diff slice. | no | 60000 |
| context_source | Where to read surrounding code from. `api` fetches each file at the head commit and is always correct. `workspace` reads the checked-out tree, which saves API calls but is only safe when the workflow checked out the pull request's head. | no | api |
| skip_labels | Comma-separated labels that suppress the review when present on the PR. | no | no-ai-review,skip-review |
| required_labels | If set, the review only runs when the PR carries one of these comma-separated labels. | no | "" |
| skip_draft | Skip review while the pull request is a draft. | no | true |
| post_comment | Post (and update in place) a summary comment on the pull request. | no | true |
| post_inline_comments | Also attach findings as inline review comments on the changed lines. | no | false |
| comment_tag | Hidden marker used to find and update this action's previous comment. | no | ai-pr-review |
| fail_on_severity | Fail the step when a finding at or above this severity survives review. One of: none, low, medium, high, critical. | no | none |
| min_score | Fail the step when the overall score (0-100) falls below this value. Empty disables the check. | no | "" |
| project_context | Extra repository context handed to the model (conventions, architecture, review priorities). | no | "" |
| language | Natural language for the review prose. | no | English |