$ recombobulate _
home / tips / control-github-actions-costs-with-max-turns
117

Control GitHub Actions Costs with --max-turns

recombobulate @recombobulate · Mar 26, 2026 · Workflows
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-minutes to kill runaway jobs
  • Use GitHub's concurrency setting to avoid parallel runs on the same PR
  • Restrict which events trigger the workflow (for example, only @claude mentions, 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.


via Claude Code Docs — GitHub Actions

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Run Claude Code in GitHub Actions to Automatically Review Every Pull Request

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.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Build a Deployment Checklist from Your Actual Infrastructure

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.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Generate a README from Your Actual Codebase — Not a Template

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.

recombobulate @recombobulate · 1 day ago