Pin the review model, and stop hiding the error that explains a failure - #111
Merged
Merged
Conversation
claude-review has failed on every pull request since it was added, in under half a second, with nothing in the log but is_error:true. The init line had the answer: left to default, the CLI resolved to claude-opus-5[1m] -- the 1M-context variant, which this repository's API key cannot use -- so the first API call died. Zero cost, empty modelUsage, one turn, 421 ms. Neither repo pins a model anywhere a workflow reads, so the resolution happened inside the CLI and could change again. It is now explicit: --model claude-opus-5 in claude_args, in both workflows, ahead of the flags they already pass. And show_full_output is on. The default redaction reduced this failure to a single boolean; the actual error message never reached the log, and the diagnosis had to be reconstructed from the cost and the timing. An error that cannot be read is not a security property worth having on a public repository whose prompts are already in the workflow file. The fix proves itself the way the CI-gate fix did: pull_request runs take the workflow from the merge ref, so this PR's own claude-review run executes the pinned model. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
JohnCampionJr
added a commit
to JohnCampionJr/Iciclecreek.Avalonia.Terminal
that referenced
this pull request
Aug 30, 2026
Same fix as tomlm/XTerm.NET#111, same failure: every claude-review run died in under half a second with is_error:true and nothing else. The init line had it -- left to default, the CLI resolved to claude-opus-5[1m], the 1M-context variant this key cannot use, so the first API call failed. Zero cost, empty modelUsage. This repo already had show_full_output switched on "temporarily, for diagnosis" by a parallel investigation; the cause is now known, so the switch stays and the diagnostic comment becomes the explanation. The model is pinned explicitly in both workflows -- the resolution happened inside the CLI, nowhere a workflow reads, and could drift again. Proves itself as the CI-gate fix did: pull_request runs take the workflow from the merge ref, so this PR's own claude-review runs the pinned model. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
JohnCampionJr
added a commit
to JohnCampionJr/Iciclecreek.Avalonia.Terminal
that referenced
this pull request
Aug 30, 2026
Same fix as tomlm/XTerm.NET#111, same failure: every claude-review run died in under half a second with is_error:true and nothing else. The init line had it -- left to default, the CLI resolved to claude-opus-5[1m], the 1M-context variant this key cannot use, so the first API call failed. Zero cost, empty modelUsage. This repo already had show_full_output switched on "temporarily, for diagnosis" by a parallel investigation; the cause is now known, so the switch stays and the diagnostic comment becomes the explanation. The model is pinned explicitly in both workflows -- the resolution happened inside the CLI, nowhere a workflow reads, and could drift again. Proves itself as the CI-gate fix did: pull_request runs take the workflow from the merge ref, so this PR's own claude-review runs the pinned model. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
JohnCampionJr
added a commit
to tomlm/Iciclecreek.Avalonia.Terminal
that referenced
this pull request
Aug 30, 2026
…own (#108) Same fix as tomlm/XTerm.NET#111, same failure: every claude-review run died in under half a second with is_error:true and nothing else. The init line had it -- left to default, the CLI resolved to claude-opus-5[1m], the 1M-context variant this key cannot use, so the first API call failed. Zero cost, empty modelUsage. This repo already had show_full_output switched on "temporarily, for diagnosis" by a parallel investigation; the cause is now known, so the switch stays and the diagnostic comment becomes the explanation. The model is pinned explicitly in both workflows -- the resolution happened inside the CLI, nowhere a workflow reads, and could drift again. Proves itself as the CI-gate fix did: pull_request runs take the workflow from the merge ref, so this PR's own claude-review runs the pinned model. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
claude-review has failed on every PR since it was added — in under half a second, with nothing in the log but
is_error:true.The init line had the answer: left to default, the CLI resolved to
claude-opus-5[1m]— the 1M-context variant, which this repo's API key cannot use — so the first API call died. Zero cost, emptymodelUsage, 421 ms. Neither repo pins a model anywhere a workflow reads, so the resolution happened inside the CLI and could drift again.Two changes, both workflows:
--model claude-opus-5inclaude_args, explicit rather than resolved.show_full_output: true— the default redaction reduced this failure to one boolean, and the diagnosis had to be reconstructed from cost and timing. On a public repo whose prompts are already in the workflow file, an unreadable error is not a security property worth having.This PR proves itself:
pull_requestruns take the workflow from the merge ref, so the claude-review check on this very PR runs the pinned model. Green check here = fixed.Same fix going to Iciclecreek.Avalonia.Terminal, which has the identical pair of workflows and the identical failure.
🤖 Generated with Claude Code