Collect CodeRabbit debug evidence for support tickets and troubleshooting.
Use when encountering persistent issues, preparing support tickets,
or collecting diagnostic information for CodeRabbit problems.
Trigger with phrases like "coderabbit debug", "coderabbit support bundle",
"collect coderabbit logs", "coderabbit diagnostic".
Collect all diagnostic information needed to troubleshoot CodeRabbit issues or file a support request. Since CodeRabbit is a GitHub/GitLab App (not an SDK), debugging focuses on: App installation status, .coderabbit.yaml configuration validity, PR review history, and GitHub webhook delivery logs.
Prerequisites
GitHub CLI (gh) authenticated
Repository admin access (for webhook logs)
Access to the GitHub repository where CodeRabbit is installed
Instructions
Step 1: Check CodeRabbit Installation Status
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
echo "=== CodeRabbit Debug Bundle ==="
echo "Repository: $OWNER/$REPO"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo ""
# Check if CodeRabbit App is installed
echo "--- Installation Status ---"
INSTALL=$(gh api "repos/$OWNER/$REPO/installation" --jq '.app_slug' 2>/dev/null)
if [ "$INSTALL" = "coderabbitai" ]; then
echo "CodeRabbit App: INSTALLED"
else
echo "CodeRabbit App: NOT INSTALLED"
echo "Fix: Visit https://github.com/apps/coderabbitai to install"
fi
set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
echo ""
echo "--- Recent PR Review History ---"
# Check last 10 closed PRs for CodeRabbit reviews
for PR_NUM in $(gh api "repos/$OWNER/$REPO/pulls?state=all&per_page=10&sort=created&direction=desc" \
--jq '.[].number'); do
PR_TITLE=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM" --jq '.title' 2>/dev/null)
PR_STATE=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM" --jq '.state' 2>/dev/null)
CR_REVIEWS=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM/reviews" \
--jq '[.[] | select(.user.login=="coderabbitai[bot]")] | length' 2>/dev/null || echo "0")
CR_COMMENTS=$(gh api "repos/$OWNER/$REPO/pulls/$PR_NUM/comments" \
--jq '[.[] | select(.user.login=="coderabbitai[bot]")] | length' 2>/dev/null || echo "0")
echo "PR #$PR_NUM ($PR_STATE): $CR_REVIEWS reviews, $CR_COMMENTS comments - $PR_TITLE"
done
Step 4: Check Active Configuration via PR Comment
# On any open PR, post this comment:
@coderabbitai configuration
# CodeRabbit will reply with the active configuration as YAML.
# Compare this with your .coderabbit.yaml to find discrepancies.
# Discrepancies usually mean:
# 1. YAML syntax error causing config to be ignored
# 2. Org-level config overriding repo config
# 3. Config not on the base branch (CodeRabbit reads from base branch)
Step 5: Check GitHub Webhook Deliveries
# In GitHub UI:
1. Go to repo > Settings > Webhooks
2. Find the CodeRabbit webhook (coderabbit.ai endpoint)
3. Click "Recent Deliveries"
4. Look for:
- 200 response codes (success)
- 4xx/5xx codes (errors)
- Missing deliveries for PR events
# Common webhook issues:
# - 401: App credentials expired → reinstall
# - 404: Webhook URL changed → reinstall
# - No deliveries: Webhook was deleted → reinstall App