Ralph Loop Harness: iterative Claude runner + stream-json renderer
Project description
claude-ralph-harness
Ralph Loop Harness: iterative Claude runner + stream-json renderer.
Two modes:
- render - Reads JSONL from stdin and renders a human-friendly terminal view of Claude Code's
stream-jsonoutput - loop - Drives Claude iteratively until a completion promise is detected
Stdlib only, no external dependencies.
Install
# from PyPI
uvx claude-ralph-harness
# or install globally
uv tool install claude-ralph-harness
Usage
Render mode
Pipe Claude Code's stream-json output for a readable terminal view:
claude -p --output-format stream-json --verbose "your prompt" | claude-ralph-harness render
Options:
--show-thinking Display thinking block content
--no-color Disable ANSI color codes
--verbose Show raw JSON for unrecognized events
--show-tool-output Show full tool result content
If stdin is piped and no subcommand is given, render mode is the default:
claude -p --output-format stream-json --verbose "prompt" | claude-ralph-harness
Loop mode
Run Claude iteratively until it outputs a <promise>SKILL COMPLETE</promise> tag (or a custom phrase):
claude-ralph-harness loop --prompt PROMPT.md --max-iterations 50
Options:
--prompt FILE Path to the prompt markdown file (required)
--completion-phrase TEXT Phrase inside <promise> tags that signals completion
(default: SKILL COMPLETE)
--max-iterations N Maximum number of iterations (default: 50)
--working-dir DIR Working directory for claude subprocess (default: .)
--show-thinking Display thinking block content
--verbose Show raw JSON for unrecognized events
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_ralph_harness-0.1.0.tar.gz.
File metadata
- Download URL: claude_ralph_harness-0.1.0.tar.gz
- Upload date:
- Size: 32.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66c5e3cd0b4b3351b85ae5c9e5e9eae9b7ad7d7e76d56592137e72c79f75bc9b
|
|
| MD5 |
b3be889229e463c66a504fbe31959b50
|
|
| BLAKE2b-256 |
7e53a67867832ae62865e778179a43b80c3577079763b0c1180c6cc6631c39a5
|
Provenance
The following attestation bundles were made for claude_ralph_harness-0.1.0.tar.gz:
Publisher:
publish.yml on voidfiles/claude-ralph-harness
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_ralph_harness-0.1.0.tar.gz -
Subject digest:
66c5e3cd0b4b3351b85ae5c9e5e9eae9b7ad7d7e76d56592137e72c79f75bc9b - Sigstore transparency entry: 1008267743
- Sigstore integration time:
-
Permalink:
voidfiles/claude-ralph-harness@071047d7c4ac5f61e0d37a8fa5b40e043d57d8ab -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/voidfiles
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@071047d7c4ac5f61e0d37a8fa5b40e043d57d8ab -
Trigger Event:
release
-
Statement type:
File details
Details for the file claude_ralph_harness-0.1.0-py3-none-any.whl.
File metadata
- Download URL: claude_ralph_harness-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2806edfe19fd017291e7c302fd12464bbc8811d82aadb4f84b9e8ec3888c872d
|
|
| MD5 |
0b146953761ab6a1d78ed064aa6bbef8
|
|
| BLAKE2b-256 |
9cf1066c3504d04846a21a82a78a005c585ed1b10e402372c8d2550fe4b94d89
|
Provenance
The following attestation bundles were made for claude_ralph_harness-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on voidfiles/claude-ralph-harness
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_ralph_harness-0.1.0-py3-none-any.whl -
Subject digest:
2806edfe19fd017291e7c302fd12464bbc8811d82aadb4f84b9e8ec3888c872d - Sigstore transparency entry: 1008267747
- Sigstore integration time:
-
Permalink:
voidfiles/claude-ralph-harness@071047d7c4ac5f61e0d37a8fa5b40e043d57d8ab -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/voidfiles
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@071047d7c4ac5f61e0d37a8fa5b40e043d57d8ab -
Trigger Event:
release
-
Statement type: