Control GitHub Actions Costs with --max-turns
By default, Claude Code GitHub Actions will iterate up to 10 turns when handling a request. For complex tasks that's fine, but for quick review jobs you're burning tokens and minutes unnecessarily. Use --max-turns via claude_args to cap it.
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Review this PR for code quality and security issues"
claude_args: "--max-turns 5"
You can also combine multiple CLI arguments on separate lines:
claude_args: |
--max-turns 5
--model claude-sonnet-4-6
To use Opus 4.6 for more thorough reviews (at higher cost), override the model:
claude_args: "--max-turns 3 --model claude-opus-4-6"
Other cost control options worth knowing:
- Set workflow-level
timeout-minutesto kill runaway jobs - Use GitHub's
concurrencysetting to avoid parallel runs on the same PR - Restrict which events trigger the workflow (for example, only
@claudementions, not every push)
concurrency:
group: claude-${{ github.ref }}
cancel-in-progress: true
GitHub Actions costs stack: you're paying both GitHub runner minutes and Claude API tokens per run.
Set --max-turns on every GitHub Actions workflow to prevent runaway Claude sessions eating your budget.
Log in to leave a comment.
Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.
Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.
Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.