Skip to content

ci: pin Claude Action model (default model 404s on every PR)#3488

Merged
Yeraze merged 1 commit into
mainfrom
fix/ci-claude-review-model
Jun 15, 2026
Merged

ci: pin Claude Action model (default model 404s on every PR)#3488
Yeraze merged 1 commit into
mainfrom
fix/ci-claude-review-model

Conversation

@Yeraze

@Yeraze Yeraze commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Problem

The Claude Code Review check has been failing on every PR with:

API Error: 404 {"type":"not_found_error","message":"model: claude-sonnet-4-20250514"}

claude-code-review.yml and claude.yml don't set model: (the line was commented out), so they fall back to the action's default model — which has been removed upstream and now 404s. issue-triage.yml hardcoded the same dead model id in three places.

This is why claude-review showed failure on recent PRs (e.g. #3487) despite the code being fine; it's an infra issue, not a review finding. Confirmed via the failed log: CLAUDE_SUCCESS: false + the 404 above. (A secret refresh does not fix it — it's the model id, not auth.)

Fix

Pin a current model (claude-sonnet-4-6) in all three workflows:

  • claude-code-review.yml (uncommented + set)
  • claude.yml (uncommented + set)
  • issue-triage.yml (3 occurrences replaced)

Sonnet 4.6 matches the action's previous Sonnet-tier default; bump to a current Opus if deeper reviews are wanted.

Validation

  • No claude-sonnet-4-20250514 references remain in active config (only in explanatory comments).
  • All three workflow YAMLs parse cleanly.

This PR will itself exercise the fixed claude-code-review.yml, so a green claude-review check here confirms it works.

🤖 Generated with Claude Code

The Claude Code Review check was failing on every PR with
`API Error: 404 not_found_error — model: claude-sonnet-4-20250514`.
claude-code-review.yml and claude.yml did not set `model:` (the line was
commented), so they fell back to the action's default model, which has been
removed upstream and now 404s. issue-triage.yml hardcoded the same dead id
in three places.

Pin all of them to a current model (claude-sonnet-4-6). Bump to a current
Opus if deeper reviews are wanted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

Claude finished @Yeraze's task —— View job


Claude Code Review

  • Gather context and read changed files
  • Review changes and post feedback

Summary

This is a straightforward and correct infrastructure fix. The changes are minimal, well-targeted, and resolve the root cause of CI failures. Here's my assessment:

What's Good

Correct diagnosis and fix. The PR correctly identifies that the action's default model (claude-sonnet-4-20250514) was removed upstream, causing 404s. Explicitly pinning claude-sonnet-4-6 in all three workflow files is the right approach.

Consistent fix. All three affected files (claude-code-review.yml, claude.yml, issue-triage.yml) are updated, including all 3 occurrences in issue-triage.yml.

Explanatory comments. The inline comments in claude-code-review.yml and claude.yml explain why the model is pinned, which helps future maintainers understand the intent.

Minor Observations

Model pinning trade-off. Pinning to a specific model ID like claude-sonnet-4-6 solves the immediate problem but means future model deprecations will cause the same breakage again. This is an acceptable trade-off given that the action's "default" behavior is clearly unreliable, but worth noting in commit history (which this PR does).

claude-code-review.yml uses id-token: write permission (claude-code-review.yml:31) — this was pre-existing and not introduced by this PR, but it grants OIDC token minting capability which is broader than needed for code review. This is a pre-existing concern, not something to block this PR over.

triage-followup job hardcodes github.actor != 'Yeraze' (issue-triage.yml:433) — also pre-existing. If the repo owner ever changes their GitHub username, this condition silently breaks. Not introduced by this PR.

Verdict

LGTM. The fix is correct, minimal, and addresses the stated problem. No new issues are introduced. The self-validating aspect (this PR exercises the fixed workflow) is a nice touch.


@Yeraze Yeraze merged commit 194f8bc into main Jun 15, 2026
15 checks passed
@Yeraze Yeraze deleted the fix/ci-claude-review-model branch June 15, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant