review-bot only speaks OpenAI-compatible chat/completions API. The HAI proxy serves Claude models exclusively via the native Anthropic Messages API (/anthropic/v1/messages), not the OpenAI-compatible endpoint.
This means we cannot use Claude (Sonnet, Opus) for reviews — only GPT models work.
Proposed Solution
Add an --llm-provider flag (or auto-detect from base URL) that switches between:
openai (default): POST /chat/completions with OpenAI request format
anthropic: POST /messages with Anthropic request format (x-api-key header, anthropic-version header, different payload structure)
Acceptance Criteria
Can review PRs using Claude Sonnet via Anthropic Messages API
Composite action gains llm-provider input (defaults to openai)
Context
Discovered while integrating review-bot into gargoyle CI (PR grgl/gargoyle#507). Currently using GPT-4.1 + GPT-5 as the two reviewers, but we want Claude + GPT for model diversity.
## Problem
review-bot only speaks OpenAI-compatible chat/completions API. The HAI proxy serves Claude models exclusively via the native Anthropic Messages API (`/anthropic/v1/messages`), not the OpenAI-compatible endpoint.
This means we cannot use Claude (Sonnet, Opus) for reviews — only GPT models work.
## Proposed Solution
Add an `--llm-provider` flag (or auto-detect from base URL) that switches between:
- `openai` (default): `POST /chat/completions` with OpenAI request format
- `anthropic`: `POST /messages` with Anthropic request format (`x-api-key` header, `anthropic-version` header, different payload structure)
## Acceptance Criteria
- [ ] Can review PRs using Claude Sonnet via Anthropic Messages API
- [ ] Existing OpenAI-compatible flow unchanged (backwards compatible)
- [ ] Tests cover both providers
- [ ] Composite action gains `llm-provider` input (defaults to `openai`)
## Context
Discovered while integrating review-bot into gargoyle CI (PR grgl/gargoyle#507). Currently using GPT-4.1 + GPT-5 as the two reviewers, but we want Claude + GPT for model diversity.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
review-bot only speaks OpenAI-compatible chat/completions API. The HAI proxy serves Claude models exclusively via the native Anthropic Messages API (
/anthropic/v1/messages), not the OpenAI-compatible endpoint.This means we cannot use Claude (Sonnet, Opus) for reviews — only GPT models work.
Proposed Solution
Add an
--llm-providerflag (or auto-detect from base URL) that switches between:openai(default):POST /chat/completionswith OpenAI request formatanthropic:POST /messageswith Anthropic request format (x-api-keyheader,anthropic-versionheader, different payload structure)Acceptance Criteria
llm-providerinput (defaults toopenai)Context
Discovered while integrating review-bot into gargoyle CI (PR grgl/gargoyle#507). Currently using GPT-4.1 + GPT-5 as the two reviewers, but we want Claude + GPT for model diversity.