Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/claude-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
prompt: "/review-pr REPO: ${{ github.repository }} PR_NUMBER: ${{ github.event.pull_request.number }}"
claude_args: |
--allowedTools "mcp__github_inline_comment__create_inline_comment"
--model "claude-opus-4-6"
--model "claude-opus-4-7"

Check failure on line 28 in .github/workflows/claude-review.yml

View check run for this annotation

Claude / Claude Code Review

Non-existent model ID claude-opus-4-7 will break workflows

The model ID `claude-opus-4-7` does not exist — the latest released Opus model is `claude-opus-4-6`. Passing this via `--model` will cause the Anthropic API to reject every request with a model-not-found error, breaking both the PR review workflow and the @claude mention workflow on every invocation. The same invalid ID is also set in `.github/workflows/claude.yml` line 39; revert both to `claude-opus-4-6`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 The model ID claude-opus-4-7 does not exist — the latest released Opus model is claude-opus-4-6. Passing this via --model will cause the Anthropic API to reject every request with a model-not-found error, breaking both the PR review workflow and the @claude mention workflow on every invocation. The same invalid ID is also set in .github/workflows/claude.yml line 39; revert both to claude-opus-4-6.

Extended reasoning...

What the bug is

This PR changes the --model flag in two workflow files from claude-opus-4-6 to claude-opus-4-7. However, claude-opus-4-7 is not a valid Anthropic model ID. The most recent Claude model family is 4.5/4.6, and the latest released Opus model is Opus 4.6 with ID claude-opus-4-6. No Opus 4.7 model has been announced or released.

Code path that triggers it

The claude_args input is passed verbatim to the Claude Code CLI. In both workflows:

claude_args: |
  --allowedTools "..."
  --model "claude-opus-4-7"

The action forwards --model claude-opus-4-7 directly to the CLI, which sends it as the model parameter in the Messages API request. The Anthropic API validates model IDs strictly and returns a 404 not_found_error ("model: claude-opus-4-7") for unknown IDs.

Why nothing prevents it

Grepping the entire repository for opus-4-7 or 4.7 returns only the two lines this PR introduces — there is no model alias table, no validation layer, no fallback, and no documentation or CHANGELOG entry referencing a 4.7 model. The action does not validate or remap the model string; it is a pass-through.

Impact

  • .github/workflows/claude-review.yml runs on every pull_request: opened event → every newly opened PR will get a failed review job instead of a code review.
  • .github/workflows/claude.yml runs on every @claude mention in issues/comments/reviews → every user invocation will fail with an API error.

Both workflows become 100% non-functional immediately after merge.

Step-by-step proof

  1. PR is merged with --model "claude-opus-4-7".
  2. A contributor opens a new PR → claude-review.yml triggers.
  3. The action invokes claude --allowedTools ... --model claude-opus-4-7.
  4. The CLI sends POST /v1/messages with "model": "claude-opus-4-7".
  5. API responds: {"type":"error","error":{"type":"not_found_error","message":"model: claude-opus-4-7"}}.
  6. The CLI exits non-zero, the workflow step fails, no review is posted.
  7. The same happens for any @claude comment via claude.yml.

Fix

Revert both lines to --model "claude-opus-4-6" (the actual latest Opus). If the intent is to upgrade when 4.7 ships, this PR should be held until that model ID is live in the API.

2 changes: 1 addition & 1 deletion .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ jobs:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: |
--allowedTools "Bash(bun install),Bash(bun test:*),Bash(bun run format),Bash(bun typecheck)"
--model "claude-opus-4-6"
--model "claude-opus-4-7"
Loading