-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Describe the bug
The code-review@claude-code-plugins plugin successfully performs a full code review (spawns parallel review agents, validates findings, outputs a formatted summary), but the session ends with "result": "", so no comment is ever posted to the PR.
The root cause appears to be that the plugin's final turn is a TodoWrite tool call (marking its last checklist item as "completed") rather than a text message. The actual review summary was generated as a text content block in an earlier turn, but the result capture doesn't pick it up.
Post-processing logs confirm nothing was posted:
No buffered inline comments
To Reproduce
- Configure the
code-review@claude-code-pluginsplugin as shown in the workflow below. - Open a PR with non-trivial code changes (mine had ~1000 lines across migrations, API hooks, and components).
- Add a label to trigger the workflow.
- The action runs for ~7 minutes, completes successfully (exit code 0, 24 turns).
- No comment appears on the PR.
Expected behavior
The review summary should be posted as a PR comment. The plugin generates a thorough review (in my case it correctly identified 2 real bugs with file/line references), but the output is lost because the session result is empty.
Workflow yml file
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened, labeled]
jobs:
claude-review:
if: contains(github.event.pull_request.labels.*.name, 'claude-review')
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
plugin_marketplaces: '[https://github.com/anthropics/claude-code.git](https://github.com/anthropics/claude-code.git)'
plugins: 'code-review@claude-code-plugins'
prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
claude_args: "--allowedTools Bash(gh:*)"
show_full_output: trueAdditional context
Key details from the session log with show_full_output:
true:
- Claude Code v2.1.79, models: claude-opus-4-6 (outer),
claude-sonnet-4-6 + claude-opus-4-6 (review agents) - Session completed normally: "stop_reason": "end_turn",
24 turns, ~7 min - The review text was output in message
msg_01A2MbGXySsa12kEoF6QZHZ4 as a text content block, but
that same message also contained a TodoWrite tool call.
The plugin's final message was the TodoWrite response,
leaving "result": "". - The --allowedTools Bash(gh:*) flag was added to grant gh
CLI access, which resolved an earlier permission denial
issue — but the plugin never reaches the point of calling
gh to post comments because it ends on the TodoWrite
instead.