mdelapenya/Claude Ralph Loop
Implements the Ralph loop pattern using Claude Code CLI - iterative work/review/ship cycles on GitHub issues
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 1, 2026
- License
- MIT
Pinned Snippet
uses: mdelapenya/claude-ralph-github-action@2564b12ba00cc46b3ee0b770eb620e856b3697ea # v0.9.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| anthropic_api_key | Anthropic API key for Claude CLI | yes | — |
| github_token | GitHub token for PR and issue operations | no | ${{ github.token }} |
| worker_model | Claude model for the worker phase | no | sonnet |
| reviewer_model | Claude model for the review phase | no | sonnet |
| max_iterations | Maximum number of work/review cycles | no | 5 |
| max_turns_worker | Maximum agentic turns per worker invocation (omit to use the Claude CLI default) | no | "" |
| max_turns_reviewer | Maximum agentic turns per reviewer invocation (omit to use the Claude CLI default) | no | "" |
| trigger_label | Issue label that triggers the Ralph loop | no | ralph |
| base_branch | Branch to create the PR against (auto-detected from repository default branch if not specified) | no | "" |
| worker_allowed_tools | Comma-separated tools the worker can use | no | Bash,Read,Write,Edit,Glob,Grep,Task,WebFetch,WebSearch |
| reviewer_tools | Comma-separated tools the reviewer can use | no | Bash,Read,Write,Edit,Glob,Grep,WebFetch,WebSearch,Task |
| merge_strategy | Merge strategy: "pr" (default, create a pull request) or "squash-merge" (squash and push directly to default branch) | no | pr |
| default_branch | Default branch to merge into when using squash-merge strategy (auto-detected from repo if not specified) | no | "" |
| worker_tone | Personality/tone for the worker agent (e.g., "pirate", "formal", "enthusiastic"). If set, the worker will respond with this personality. | no | "" |
| reviewer_tone | Personality/tone for the reviewer agent (e.g., "pirate", "formal", "enthusiastic"). If set, the reviewer will respond with this personality. | no | "" |
| commit_author_name | Git author name for commits (defaults to "claude-ralph[bot]") | no | claude-ralph[bot] |
| commit_author_email | Git author email for commits (defaults to "claude-ralph[bot]@users.noreply.github.com") | no | claude-ralph[bot]@users.noreply.github.com |
| ralph_review_command | Slash command to trigger a re-review on a Ralph PR (e.g., "/ralph-review focus on tests") | no | /ralph-review |
| security_gate_enabled | Enable the security gate: runs an independent security audit after the reviewer approves. Set to "false" to disable. | no | true |
| security_gate_model | Claude model for the security gate phase | no | sonnet |
| max_turns_security_gate | Maximum agentic turns per security gate invocation (omit to use the Claude CLI default) | no | "" |
| security_gate_tools | Comma-separated tools the security gate can use (read-only by default) | no | Bash,Read,Write,Glob,Grep |
| security_gate_tone | Personality/tone for the security gate agent (e.g., "Agent Smith", "HAL 9000"). If set, the security gate will respond with this personality. | no | "" |
| sbx_enabled | Enable Docker sbx sandboxing for Claude CLI execution. When enabled, all Claude CLI calls run inside a Docker sandbox. Default is true | no | true |
| sbx_version | Pinned version of Docker sbx to install (e.g., "v0.34.0"). Defaults to a known-good version. | no | v0.34.0 |
| sbx_sha256 | Expected SHA-256 of the sbx linux tarball. The docker/sbx-releases project does not publish a .sha256 sidecar, so the checksum for the default version is pinned in the action. Set this when overriding sbx_version to keep tamper-detection. | no | "" |
| sbx_network_policy | Default network policy for the sbx sandbox: "deny-all", "allow-all", or "balanced" | no | balanced |
| docker_hub_user | Docker Hub username for sbx login. Required when sbx_enabled is true. Must be kept as a secret. | no | "" |
| docker_hub_token | Docker Hub token for sbx login. Required when sbx_enabled is true. Must be kept as a secret. | no | "" |
| claude_code_version | Version of the @anthropic-ai/claude-code npm package to install on the runner. Pinned for reproducibility; bump deliberately. | no | 2.1.81 |
Outputs
| name | description |
|---|---|
| pr_url | URL of the created/updated pull request, or the merge commit SHA when using squash-merge strategy |
| iterations | Number of work/review iterations completed |
| final_status | Final status: SHIPPED, MAX_ITERATIONS, or ERROR |