Failed CI run with 500 lines of logs? Don’t scroll through it. Feed it to Claude.
Pipe Logs Directly
gh run view --log-failed | claude -p "Why did this CI run fail? Give me the root cause and a fix."
Specific Workflow Run
# List recent failed runs
gh run list --status failure --limit 5
# Get logs for a specific run
gh run view 12345 --log-failed | claude -p "Diagnose this CI failure."
In-Session Debugging
Run `gh run view --log-failed` and tell me:
1. Which step failed
2. The root cause
3. How to fix it
Claude runs the command, reads the output, and gives you a diagnosis.
Common Patterns Claude Catches
- Dependency version mismatches between local and CI
- Missing environment variables or secrets
- Flaky tests that pass locally but fail in CI
- Docker layer caching issues
- Node/Python version differences
Tip
Add this to your CLAUDE.md so Claude always uses gh for GitHub operations:
Use the `gh` CLI for all GitHub operations (issues, PRs, actions, runs).
Don't try to use the GitHub API directly.