code-review plugin silently exits in claude-code-action: eligibility check launches as background agent, run terminates at end-of-turn
Environment
anthropics/claude-code-action@v1onubuntu-latest, triggered bypull_request- Claude Code CLI installed by the action: 2.1.226
- Plugin:
code-review@claude-code-plugins(marketplace:anthropics/claude-code) - Prompt:
/code-review:code-review --comment <owner>/<repo>/pull/<n> - Model: claude-sonnet-5
Symptom
The workflow completes green in ~1 minute, but no review is ever posted to the PR — no PR review, no inline comments, no comment. result JSON shows is_error: false, num_turns: 5, and the action's final step logs No buffered inline comments. There is no error anywhere, so from the user's side reviews just silently never appear.
Root cause (from show_full_output: true transcript)
The code-review skill's first step launches its PR-eligibility check via the Agent tool. On recent CLIs, subagents run in the background by default, and the tool result tells the main agent to end its turn and wait:
"text": "Async agent launched successfully. ... The agent is working in the background.
You will be notified automatically when it completes."
...
"text": "I've launched an agent to check the PR's eligibility for review (not closed,
not draft, needs review, not already commented by Claude). I'll wait for its result
before proceeding."
"text": "No action needed — I'll be notified automatically when the eligibility check
finishes."
…and that is the last message. The main agent ends its turn to wait for the completion notification, the SDK/action treats end-of-turn as run-complete, and the job exits successfully having reviewed nothing. The background-completion notification that would resume the loop in an interactive session never gets delivered in the headless action run.
(The skill also tried ScheduleWakeup and got Error: \prompt\ is required when \stop\ is not true, so it couldn't self-schedule around it either.)
Expected
Either background agent completions should re-invoke the main loop in headless/action runs before the run is considered complete, or skills running under the action should default to synchronous subagents.
Workaround
Appending this to the action prompt fixes it reliably:
CI note: this is a non-interactive run that terminates the moment your turn ends. Never launch background agents — run every agent synchronously (run_in_background: false) and finish the entire review, including posting comments, before ending your turn.
With that note the same PR gets a full review with inline comments posted.
🤖 Diagnosed and reported with Claude Code
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗