Fix Claude review steps in ClauDependabot workflow#22
Conversation
In agent mode, claude-code-action does not include default file-reading tools; only the tools listed in claude_args are available. Without Read, Glob, and Grep, Claude spent all turns hitting permission denials and never posted its review comment.
v1.0.65 of claude-code-action changed the display_report default from true to false (PR #992), and v1.0.66 stripped detailed permission_denials from the sanitized output (PR #993). Both changes protect against prompt injection when Claude is triggered by untrusted input (e.g. public issue comments) that could produce malicious markdown in the Step Summary. This workflow only triggers on Dependabot PRs (a trusted actor with controlled input), so the prompt injection threat model does not apply. Re-enabling display_report restores the workflow summary report for reviewing Claude's analysis.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR updates Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment Tip You can validate your CodeRabbit configuration file in your editor.If your editor has YAML language server, you can enable auto-completion and validation by adding |
Dependabot rebases trigger re-runs of the workflow, which would post duplicate reviews. Instruct Claude to check for prior reviews before posting: for minor updates, skip if already approved; for major updates, only post if the analysis has materially changed. PR review bodies are immutable in the GitHub API, so editing a prior review is not an option. Posting a new review when the analysis changed preserves a readable timeline; silently duplicating the same conclusion does not.
PR #22 unconditionally enabled `display_report` on the Claude review steps so the workflow summary would always render Claude's analysis. This is verbose for routine Dependabot runs and, per the upstream warning on the input, should be reserved for trusted-input contexts. The Step Summary is now gated on `runner.debug`, making it available when a workflow is re-run with debug logging enabled but silent otherwise. The workflow header also gains a comment explaining why the prompt injection threat model that motivated upstream's default-off change does not apply here: the review job's actor gate restricts execution to the `dependabot[bot]` actor, a trusted first-party automation source. Relates to #6

The ClauDependabot workflow's Claude review steps were silently failing: Claude ran 13 turns with 11 permission denials and never posted its review comment (run #23004309970).
Two issues, both caused by differences between this workflow and the working one in
go-digitaltwin/go-digitaltwin:Missing file-reading tools. This workflow added
actions/checkoutso Claude could read local files, but in agent modeclaude-code-actiondoes not inject default tools (unlike tag mode which includesRead,Glob,Grep, etc.). TheallowedToolswhitelist only hadBash(gh ...)patterns, so every attempt to read the checkout was denied.No workflow summary report.
claude-code-actionv1.0.65 changeddisplay_reportdefault tofalse, and v1.0.66 stripped detailedpermission_denialsfrom sanitized output (both in PR #992 and PR #993). These changes protect against prompt injection from untrusted input rendered in the Step Summary. Since this workflow only triggers on Dependabot PRs (trusted actor, controlled input), the threat model does not apply;display_reportis re-enabled explicitly.