[BUG] code-review plugin skips its review agents on Claude Code 2.1.285+ (Sonnet 5.5) but still posts "No issues found. Checked for bugs and CLAUDE.md compliance."
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code (2.1.289, the latest bundled by claude-code-action; the 2.1.290 changelog has no related change)
What's Wrong?
We run the code-review@claude-code-plugins plugin on every pull request through anthropics/claude-code-action. Before Claude Code 2.1.285, the main agent followed the plugin's procedure and launched its agents in order: eligibility, CLAUDE.md finder and summary, then four parallel reviewers, then a validator for each finding. Those reviews regularly found real bugs.
Since the action moved to Claude Code 2.1.285 (claude-code-action v1.0.237), the main agent no longer follows the procedure:
- It launches 0–2 agents and never launches the four parallel reviewers or the validators.
- It often reads only part of the diff.
- It then posts the plugin's exact no-issues text, "No issues found. Checked for bugs and CLAUDE.md compliance."
The PR comment gives no sign that the review was skipped. The model admits it only in its final message, which the action hides by default (show_full_output: false). We found it only because our self-hosted runner keeps the session transcripts.
The main agent's final messages say so directly:
- "I did not run the full four-agent review." (a 132.7 KB diff; the one agent it launched read four slices of it)
- "I did not read the full diff, so the comment's 'checked for bugs' claim is stronger than what I did."
- "I reviewed the diff directly and did not launch the sub-agents the review steps call for."
| | Claude Code 2.1.220 / 2.1.270 | Claude Code 2.1.285 |
|---|---|---|
| Main-agent model | Haiku 4.5 or Sonnet 5 (configured model) | claude-sonnet-5-5 (one run claude-opus-5-5) |
| Posted reviews that ran the multi-agent procedure | 16 of 19 (4–15 Agent calls each) | 0 of 20 (at most 2 Agent calls) |
| Reviews that reported findings | most | none |
| Typical cost and time | $1–$24, several minutes | $0.08–$0.37, 5–40 s |
The change happened at a single point: the first review after the action bump. Across that boundary we checked the following:
- The plugin's command text is identical (we diffed the expanded prompt from transcripts on both sides).
- The workflow prompt changed only in an unrelated documentation paragraph.
- The context injected by user-level hooks and plugins is identical. The only difference in the skill list is the built-in
/code-reviewdescription, which comes from the CLI.
Two things changed together, and we have not separated them:
- the Claude Code version (2.1.270 to 2.1.285);
- the default model, which changed in 2.1.280 according to anthropics/claude-code-action#1853.
What Should Happen?
- When a user runs a plugin command whose steps say "Launch a haiku agent…" and "Launch 4 agents in parallel…", the main agent should launch those agents.
- If it doesn't run the procedure, the result should say so. A clean "No issues found. Checked for bugs and CLAUDE.md compliance." after a partial single pass is worse than no review.
Error Messages/Logs
No errors. Every run exits is_error: false and the check is green. Representative result payload on 2.1.285, for a 132.7 KB diff:
"model": "claude-sonnet-5-5"
"is_error": false, "duration_ms": 36966, "num_turns": 4,
"total_cost_usd": 0.27, "permission_denials_count": 1
That session made one Agent call (general-purpose, no model set). The agent ran gh pr diff … | head -3000, listed the files, grepped for two keywords, read four line ranges of the diff and two short source excerpts, then reported no issues. The main agent then posted the no-issues comment.
Steps to Reproduce
- Use a workflow on
pull_requestwithanthropics/claude-code-action@v1.0.237(or later) and these inputs:
claude_code_oauth_token(Claude subscription)plugin_marketplaces: https://github.com/anthropics/claude-code.gitplugins: code-review@claude-code-pluginsprompt: /code-review:code-review <owner>/<repo>/pull/<n>- no model pinned
- Open a PR with a non-trivial diff.
- Inspect the session transcript (
show_full_output: true, or~/.claude/projects/…on a self-hosted runner). Count theAgenttool calls and read the final assistant message. - Compare with
anthropics/claude-code-action@v1.0.223(Claude Code 2.1.270) on the same PR.
To separate the version from the model, rerun step 1 with ANTHROPIC_MODEL=claude-sonnet-5. We have not done this yet.
Claude Model
Sonnet (default): claude-sonnet-5-5, once claude-opus-5-5
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.270 (via claude-code-action v1.0.223)
Claude Code Version
2.1.285 (claude-code-action v1.0.237) and 2.1.289 (v1.0.241): 10 more reviews on 2.1.289, same result
Platform
Anthropic API (Claude subscription via CLAUDE_CODE_OAUTH_TOKEN)
Operating System
macOS (self-hosted GitHub Actions runner)
Terminal/Shell
Non-interactive (GitHub Actions, Agent SDK)
Additional Information
Possible cause (unconfirmed): the Agent tool description tells the model "Do not spawn agents unless the user asks… it's the expensive path on this plan." That text is in both the 2.1.270 and 2.1.285 binaries, so the newer model may simply weigh it more heavily than the plugin's explicit steps. anthropics/claude-code#75214 asked for a way to pre-authorize delegation, and it was closed as stale.
Related: 2.1.274 changed the built-in /code-review to "use leaner inline review prompts for every model that has no tuned settings of its own, instead of spawning many review subagents", and 2.1.290 names Sonnet 5.5 and Opus 5.5 as such models. If the multi-agent approach is deliberately retired for these models, could you say whether the code-review plugin is still supported? If CI users should move to the built-in /code-review <level> <pr> --comment, the plugin's README could say so. As it stands, the plugin advertises a four-agent review it no longer performs on current default models.
Also, step 1's prescribed gh pr view <PR> --comments fails in every run with the Claude GitHub App token: GraphQL: Resource not accessible by integration (…statusCheckRollup…) (anthropics/claude-code-action#648). The duplicate-review check therefore works only when the model improvises --json comments.