| openai_api_key | OpenAI API key (store as a secret) | yes | — |
| model | OpenAI model to use for review | no | gpt-4o-mini |
| focus | Comma-separated list of review focus areas. Options: bugs, security, performance, style, documentation, tests
| no | bugs,security,performance |
| exclude_patterns | Comma-separated glob patterns to exclude from review. Supports micromatch syntax.
| no | **/*.lock,**/*.min.js,**/dist/**,**/*.generated.*,**/node_modules/**,**/*.snap |
| severity_threshold | Minimum severity level to post as a comment. Options: info, warning, error
| no | warning |
| max_files | Maximum number of changed files to review. Skips the review if exceeded. | no | 30 |
| max_tokens_per_chunk | Maximum tokens per OpenAI request chunk | no | 3500 |
| post_summary | Whether to post a summary comment on the PR | no | true |
| auto_approve | Automatically approve the PR if no issues are found above the threshold | no | false |
| auto_request_changes | Automatically request changes if any error-severity issues are found | no | false |
| language_hints | Comma-separated language hints to improve review quality (e.g. "typescript,react,postgres"). PRBot detects language from file extensions automatically; this adds extra context.
| no | "" |
| custom_instructions | Additional instructions appended to the system prompt (e.g. "We use tabs not spaces") | no | "" |
| github_token | GitHub token for posting comments. Defaults to the built-in GITHUB_TOKEN. | no | ${{ github.token }} |