Claude-code-plugins-plus coderabbit-debug-bundle

install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/coderabbit-pack/skills/coderabbit-debug-bundle" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-coderabbit-debug-bundle && rm -rf "$T"
manifest: plugins/saas-packs/coderabbit-pack/skills/coderabbit-debug-bundle/SKILL.md
source content

CodeRabbit Debug Bundle

Overview

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

Step 2: Validate Configuration

set -euo pipefail
echo ""
echo "--- Configuration Validation ---"

# Check if .coderabbit.yaml exists
if [ -f .coderabbit.yaml ]; then
  echo ".coderabbit.yaml: FOUND ($(wc -l < .coderabbit.yaml) lines)"

  # Validate YAML syntax
  python3 -c "
import yaml, sys
try:
    config = yaml.safe_load(open('.coderabbit.yaml'))
    print('YAML syntax: VALID')

    # Check key configuration fields
    reviews = config.get('reviews', {})
    auto_review = reviews.get('auto_review', {})
    print(f'auto_review.enabled: {auto_review.get(\"enabled\", \"not set\")}')
    print(f'auto_review.drafts: {auto_review.get(\"drafts\", \"not set\")}')
    print(f'profile: {reviews.get(\"profile\", \"not set\")}')

    base_branches = auto_review.get('base_branches', [])
    if base_branches:
        print(f'base_branches: {base_branches}')
    else:
        print('base_branches: not set (reviews all branches)')

    path_filters = reviews.get('path_filters', [])
    print(f'path_filters: {len(path_filters)} rules')

    path_instructions = reviews.get('path_instructions', [])
    print(f'path_instructions: {len(path_instructions)} rules')

    chat = config.get('chat', {})
    print(f'chat.auto_reply: {chat.get(\"auto_reply\", \"not set\")}')

except yaml.YAMLError as e:
    print(f'YAML syntax: INVALID')
    print(f'Error: {e}')
    sys.exit(1)
" 2>&1
else
  echo ".coderabbit.yaml: NOT FOUND"
  echo "Fix: Create .coderabbit.yaml in repository root"
fi

Step 3: Check Recent PR Review History

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

Step 6: Compile Support Bundle

set -euo pipefail
OWNER="${1:-your-org}"
REPO="${2:-your-repo}"
BUNDLE="coderabbit-debug-$(date +%Y%m%d-%H%M%S).txt"

{
  echo "=== CodeRabbit Debug Bundle ==="
  echo "Repository: $OWNER/$REPO"
  echo "Generated: $(date -u)"
  echo "Git branch: $(git branch --show-current 2>/dev/null || echo 'N/A')"
  echo "Git remote: $(git remote get-url origin 2>/dev/null || echo 'N/A')"
  echo ""

  echo "--- .coderabbit.yaml ---"
  cat .coderabbit.yaml 2>/dev/null || echo "NOT FOUND"
  echo ""

  echo "--- App Installation ---"
  gh api "repos/$OWNER/$REPO/installation" 2>/dev/null || echo "NOT INSTALLED"
  echo ""

  echo "--- Last 5 PRs ---"
  gh api "repos/$OWNER/$REPO/pulls?state=all&per_page=5" \
    --jq '.[] | "#\(.number) [\(.state)] \(.title) (by \(.user.login))"' 2>/dev/null
  echo ""

  echo "--- GitHub Actions Status ---"
  gh run list --repo "$OWNER/$REPO" --limit 5 2>/dev/null || echo "N/A"
} > "$BUNDLE"

echo "Debug bundle saved: $BUNDLE"
echo "Review for sensitive data before sharing with support."

Output

  • Installation status verified
  • Configuration validated for syntax and completeness
  • PR review history showing CodeRabbit activity
  • Active configuration compared with file on disk
  • Debug bundle file ready for support ticket

Error Handling

IssueCauseSolution
gh api
returns 404
Wrong org/repo or no accessVerify repo name and
gh auth status
No CodeRabbit reviews foundApp not installed on repoInstall from github.com/apps/coderabbitai
YAML validation failsSyntax error in configFix YAML syntax, validate before committing
Webhook deliveries emptyApp was uninstalled/reinstalledCheck webhook exists in repo settings

Resources

Next Steps

For common error patterns and fixes, see

coderabbit-common-errors
.